Cấu trúc một số định dạng ảnh thông dụng

Một phần của tài liệu Kỹ thuật thủy vân trong ứng dụng bảo vệ bản quyền (Trang 25 - 29)

a.Ảnh bitmap (BMP)

Ảnh bitmap (hay Windows bitmap) được phát triển bởi Microsoft Corporation, được lưu trữ dưới dạng độc lập thiết bị cho phép Windows hiển thị dữ liệu không phụ thuộc vào khung chỉ định màu trên bất kỳ phần cứng nào. Các ảnh bitmap thường được lưu trữ với phần mở rộng phổ biến .bmp (hoặc dạng ít gặp hơn là .dib – device independent bitmap).

19

- Bitmap Header (14 bytes): lưu các thông tin: Kiểu tệp, kích thước tệp, địa chỉ offset của vùng dữ liệu.

- Bitmap Information (40 bytes): lưu một số thông tin chi tiết giúp hiển thị ảnh như kích thước ảnh (chiều rộng, chiều cao), số mặt phẳng màu (thường cố định là 1), số bit trên một điểm ảnh (quyết định chất lượng ảnh), độ phân giải ảnh, số màu sử dụng.

- Bảng Palette màu: định nghĩa các màu sẽ được sử dụng trong ảnh. - Bitmap data: nằm ngay sau phần palette màu, chứa giá trị màu của các điểm ảnh. Các điểm ảnh được lưu theo các dòng từ trái sang phải, các điểm ảnh được lưu từ dưới lên trên. Giá trị mỗi điểm ảnh là một chỉ số trỏ tới phần tử màu tương ứng của bảng màu.

Người ta kí hiệu số bit trên một điểm ảnh (bit per pixel) là n. Một ảnh bitmap n-bit có 2n màu, giá trị n càng lớn thì ảnh càng có nhiều màu và càng rõ nét. Các giá trị thường gặp của n là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh 256 màu), 16 (ảnh high color - 65536 màu) và 24 (ảnh true color – 16 triệu màu). Ảnh 24 bit cho chất lượng ảnh trung thực nhất.

Đặc điểm nổi bật của ảnh bitmap là ảnh không được nén bởi 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).

b.Ảnh IMG

Ảnh IMG là ảnh đen trắng, mỗi điểm ảnh được thể hiện bởi 1 bit. Toàn bộ ảnh được chỉ gồm các điểm sáng và tối tương ứng với các giá trị 1 hoặc 0. Phần đầu của ảnh IMG (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.

+ 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ẽ

20

đượ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 gồm các gói (pack). Các dòng giống nhau sẽ được nén thành một gói.

c. Ảnh GIF (Graphics Interchange Format)

Ảnh GIF là một định dạng tập tin hình ảnh bitmap dùng cho các hình ảnh dùng ít hơn 256 màu sắc khác nhau và cho 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ỏ. Tập tin GIF dùng phương pháp nén không mất mát dữ liệu, làm cho kích thước tập tin giảm đáng kể mà vẫn không làm ảnh hưởng đến chất lượng ảnh.

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 có mất má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.

d.Ảnh JPEG (Joint Photographic Expert Group)

Ảnh JPEG là các ảnh có tỉ lệ nén dữ liệu rất cao, thường dùng cho ảnh chụp. Đây là một định dạng ảnh rất thông dụng hiện nay. Phần mở rộng hay gặp nhất của ảnh JPEG là .jpg, ngoài ra cũng có .jpeg, .jpe. Phương pháp nén ảnh JPEG 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

21

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ệ thống thị giác người.

Quá trình nén ảnh JPEG thường trải qua các giai đoạn:

- Chuyển đổi hệ thống màu RGB sang hệ thống màu YCbCr (Y: intensity, Cb: blue/yellow, Cr: red/green).

- Loại bỏ các thông tin thừa trong ảnh gốc, các thông tin được chọn để loại bỏ thường có đặc điểm ít gây chú ý với mắt người, có mặt chúng hay không con người cũng khó nhận thấy.

- Biến đổi Cosine rời rạc: Ảnh ban đầu được chia thành các khối 8*8, và thực hiện phép biến đổi Cosine rời rạc trên các khối này.

- Lượng tử hóa: Dựa vào ma trận lượng tử và công thức để lượng tử hóa các hệ số DCT (DCT coefficients).

- Sắp xếp theo hình zig-zag: Các hệ số DCT sau khi được lượng tử hóa phần lớn đều mang giá trị 0, ta sắp xếp theo hình zig-zag, sẽ được các hệ số DCT khác 0 nằm phía trên bên trái của ma trận lượng tử.

- Nén không mất dữ liệu: thuật toán Huffman thường được sử dụng để nén, tạo ảnh JPEG. (adsbygoogle = window.adsbygoogle || []).push({});

Với các ưu điểm có được, ảnh JPEG được công nhận là chuẩn để lưu trữ ảnh màu thực tế (theo chuẩn ISO 10918-1).

22

CHƯƠNG 2: CÁC KỸ THUẬT THỦY VÂN

Một phần của tài liệu Kỹ thuật thủy vân trong ứng dụng bảo vệ bản quyền (Trang 25 - 29)