Tải bản đầy đủ (.docx) (47 trang)

Tổng quan về định dạng file ảnh và phương pháp định dạng file ảnh

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.13 MB, 47 trang )

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA KỸ THUẬT ĐIỆN TỬ I
----------

CÔNG NGHỆ PHÁT THANH TRUYỀN HÌNH SỐ

ĐỀ TÀI
Tổng quan về định dạng file ảnh
và phương pháp chuyển đổi định dạng file ảnh

Giảng viên: Nguyễn Quốc Dinh
Nhóm 12: Nguyễn Trung Kiên
Ngô Tuấn Linh
Lã Hùng Anh

Lớp:

D11XLTH

Hà Nội, 2015
Mục lục


2


Lời mở đầu
Ngày này, với sự phát triển mạnh mẽ của ngành công nghiệp máy tính, các sản phẩm đồ
họa ngày càng nâng cao về chất lượng cũng như giảm dung lương lưu trữ, tiết kiệm bộ nhớ
cho hệ thống nói chung và trong truyền hình nói riêng. Nhưng chất lượng hình ảnh và dung
lượng lưu trữ luôn tỉ lệ nghịch với nhau. Với từng nhu cầu sử dụng mà ta có thể sử dụng các


loại định dạng đồ họa phù hợp. Nếu dùng để lưu trữ thì các định dạng sử dụng nén không
mất thông tin là sự lựa chọn số một, còn nếu muốn truyền tải trên Internet, hay lưu trữ trên
web… thì các định dạng hỗ trợ nén mất thông tin nhưng vẫn giữ được chất lượng tốt như
định dạng JPG là một lựa chọn phù hợp.
Nội dung của đề tài bao gồm 3 chương:
Chương 1: Tổng quan về định dạng file ảnh
Chương 2: Chuyển đổi định dạng file ảnh.
Chương 3: Mô phỏng kết quả trên matlab.
Nhóm sinh viên thực hiện đề tài:

Nguyễn Trung Kiên
Ngô Tuấn Linh
Lã Hùng Anh
Do hạn chế về mặt thời gian cũng như kiến thức nên không thể tránh khỏi những thiếu
sót trong lần biên soạn đầu tiên này, chúng em xin chân thành cảm ơn và mong đợi ý kiến
đóng góp của thầy cô và các bạn.

3


Danh mục hình vẽ
Hình 1. Pixel
Hình 2. Chia khung ảnh thành các ô (Pixel)
Hình 3. Nguyên lý trộn màu
Hình 4. Sự khác nhau giữa ảnh bitmap và ảnh vector1
Hình 5. Cấu trúc ảnh Index
Hình 6. Ánh xạ bản đồ màu trong ảnh Index
Hình 7. Ảnh Grayscale
Hình 8. Ảnh nhị phân
Hình 9. Cấu trúc ảnh RGB

Hình 10. Mô tả 3 thành phần màu trong ảnh RGB
Hình 11. Phương pháp biến đổi Radon
Hình 12. Ảnh định dạng GIF
Hình 13. Sơ đồ thuật toán LZW8
Hình 14. Khả năng nén của định dạng JPEG
Hình 15. Quá trình biến đổi DCT và DCT ngược
Hình 16. Ví dụ biến đổi DCT và DCT ngược khôi phục lại ảnh
Hình 17. Ví dụ về ảnh TIF
Hình 18. Cấu trúc lớp màu trong định dạng PNG
Hình 19. Ánh xạ bản đồ màu và kênh Alpha
Hình 20. Một số loại điểm ảnh trong PNG
Hình 21. Ảnh 24bit màu định dạng PNG
Hình 22. Đọc file JPEG
Hình 23. Xuất file PNG
Hình 24. Tạo khung giao diện trong Guide
Hình 25. Các thuộc tính của đối tượng trong Guide
Hình 26. Ảnh chuyển sang định dạng .tif
Hình 27. Mô hình biến đổi DCT ảnh xám
Hình 28. Giao diện mô phỏng
Hình 29. Ảnh nhập vào
Hình 30. Hiển thị ảnh gốc
Hình 31. Ảnh sau khi biến đổi DCT
Hình 32. Pixel ảnh gốc
Hình 33. Pixel ảnh sau khi biến đổi DCT
4


Danh mục bảng biểu
Bảng 1. Tần suất và sác xuất xuất hiện một số ký tự
Bảng 2. từ mã gán cho các kí tự bởi mã Huffman.............................................................30

Bảng 3: So sánh một số định dạng file ảnh thông thường

Danh mục chữ viết tắt
Tên viết tắt
JPG
PNG
TIFF
BMT
DPI
PPI

Tên đầy đủ
Photographic Experts Group
Portable Network Graphics
Tag Image File Format
Windows bitmap
Dots Per Inch
Pixels Per Inch

5

Dịch nghĩa
Định dạng file JPEG
Định dạng file PNG
Định dạng file TIFF
Định dạng file BMP
Số Dots trên một Inch
Số Pixel trên một Inch



Chương I. Tổng quan về định dạng file ảnh
1.1 Khái niệm ảnh số
Ảnh số được tạo nên từ hàng trăm ngàn cho đến hàng triệu ô vuông rất nhỏ - được coi là
những thành tố của bức ảnh và thường được biết dưới tên gọi là pixels. Máy tính hay máy in
sử dụng những ô vuông nhỏ này để hiển thị hay in ra bức ảnh. Để làm được điều đó máy
tính hay máy in chia màn hình, trang giấy thành một mạng lưới chứa các ô vuông, sau đó sử
dụng các giá trị chứa trong file ảnh để định ra mầu sắc, độ sáng tối của từng pixel trong
mạng lưới đó - ảnh số được hình thành.
1.2 Pixel
Pixel là một điểm vật lý trong một hình ảnh raster hoặc một khối màu rất nhỏ và là đơn
vị cơ bản nhất để tạo nên một bức ảnh kỹ thuật số. Mỗi điểm ảnh là một mẫu của một hình
ảnh ban đầu, nhiều điểm ảnh hơn thường cung cấp đại diện chính xác hơn của bản gốc.
Hình ảnh trong hệ thống màu sắc, màu sắc thường là ba hoặc bốn đại diện trong cường độ
thành phần như màu đỏ, xanh lá cây, và màu xanh, hoặc màu lục lam, đỏ tươi…

Hình 1. Pixel
Hầu hết các chương trình ứng dụng đồ họa đều diễn tả độ phân giải của hình ảnh bằng
pixel dimensions - kích thước pixel. Ví dụ, một hình ảnh có kích thước là “2592x1944” sẽ
chứa 2,592 pixel trên mỗi hàng ngang và 1,944 pixel trên mỗi hàng dọc.

Hình 2. Chia khung ảnh thành các ô (Pixel)

6


1.3 Độ phân giải (dpi,ppi)
Khái niệm resolution - độ phân giải chỉ lượng thông tin được chứa đựng trong một tập
tin ảnh kỹ thuật số được hiển thị trên các thiết bị hoặc được in ra, thông thường được đo
bằng pixel. Nói một cách tổng quát, độ phân giải của bức ảnh càng cao, thì việc hiển thị nó
trên website hoặc trang in càng chi tiết và mượt mà - do đó một vài bức ảnh có độ phân giải

rất cao có thể chứa nhiều pixels hơn mức mà mà mắt người có thể nhìn thấy.
Sự khác biệt giữa Pixels Per Inch và Dots Per Inch. Mặc dù thường được dùng thay thế
cho nhau, tuy nhiên, về mặt kỹ thuật, pixels per inch (PPI) và dots per inch (DPI) không
phải là một. PPI chỉ số lượng pixel có trên 1 inch của một bức ảnh số hoặc màn hình máy
tính. PPI tuy không ảnh hưởng đến chất lượng thực sự của bản thân bức ảnh nhưng nó có
thể ảnh hưởng đến việc hiển thị bức ảnh đó trên trang web hoặc bản in.
DPI, ở một khía cạnh khác, lại chỉ độ phân giải của các bản in mà máy in có thể tạo ra.
Đây là một đặc tính vật lý của máy in. Mỗi dot của máy in đều có kích thước vật lý xác
định. Máy in sử dụng các dot mực để hiển thị hình ảnh; máy in tạo ra càng nhiều dot trên
một inch vuông thì chất lượng bản in càng cao. Các dòng máy in cấp thấp có DPI thấp trong
khi các dòng máy in cấp cap sẽ có DPI cao. Ví dụ, một máy in hỗ trợ 1200DPI có nghĩa là
máy thể in 1200 điểm trên 1 inch (theo cả chiều ngang lẫn chiều dọc).
Khi in ấn, một điểm quan trọng cần chú ý, đó là phải đảm bảo rằng DPI phải lớn hơn
hoặc bằng PPI. Nếu DPI nhỏ hơn PPI, máy in sẽ không thể thể hiện được đầy đủ được độ
phân giải cao của tấm ảnh. Nếu DPI lớn hơn PPI, máy in sẽ sử dụng nhiều dot mực để biểu
diễn một pixel. Trái ngược với PPI, DPI không phụ thuộc vào kích cỡ trang in. DPI là một
chỉ số cố định với một máy in cho trước.
1.4 Lý thuyết màu

Hình 3. Nguyên lý trộn màu
Màu sắc được lưu trong dữ liệu số hóa theo hai chế độ chính: RGB và CMYK.
RGB(Red, Green, Blue) các màu trong hình khối được tạo và lưu theo tỷ lệ của 3 màu cơ
bản: đỏ, xanh da trời và xanh lá cây. Phần lớn các máy tính hiện nay đều sử dụng chế độ
này. Thang màu được chỉ định từ 0 đến 255. Ảnh RGB sử dụng ba màu để tái tạo đến 16.7
triệu màu sắc tự nhiên. RGB là chế độ mặc định cho các ảnh trong Paint.
Màn hình máy tính luôn luôn hiển thị các màu sử dụng mô hình RGB. Một số ưu điểm
khi sử dụng màu RGB:
- Tiết kiệm dung lượng nhớ và cải thiện hiệu suất làm việc trong quá trình tách màu.
7



- Độc lập cao đối với thiết bị, do không gian màu RGB không phụ thuộc vào màn hình
hoặc mực in.
CMYK (Cyan, Magenta, Yellow, Black) là các màu bù với màu cơ bản RGB trong vòng
tròn màu. Các màu này thường được sử dụng trong ngành công nghiệp in ấn và xuất bản.
Màu CMYK là phần màu được sử dụng tạo ra màu sắc cho việc in ảnh trong máy in. Mô
hình CMYK dựa trên chất lượng hấp thụ ánh sáng của mực in trên giấy. Khi ánh sáng trắng
va đập trên mực, một phần của phổ bị hấp thụ và một phần phản xạ trở lại đến mắt con
người. Về lý thuyết, các sắc tố tinh khiết, xanh lơ (C) đỏ thẫm (M) và vàng (Y) phải kết hợp
với nhau để hấp thụ toàn bộ màu và tạo ra màu đen. Trong ảnh CMYK màu trắng thuần tuý
được tạo ra khi cả bốn thành phần đều có giá trị bằng 0. Các màu cơ bản được sử dụng là:
Xanh lơ, Đỏ tươi, Vàng và Đen.
1.5 Độ sâu màu
Là tổng số màu được sử dụng trong một ảnh, điều này tuỳ thuộc vào kích thước, chất
lượng, độ phân giải, cũng như định dạng ảnh. Độ sâu màu được tính bằng số pixel màu hiển
thị. Một bit ảnh thể hiện 2 màu. Đối với ảnh đen trắng độ sâu màu là 1 bit, ảnh đa cấp xám
là 8 bit (256 màu), ảnh đầy đủ màu sắc gồm 256 màu. Mỗi ảnh RGB có 24 bit (16.7 triệu)
màu, với các ảnh chuyên nghiệp độ sâu màu là 30~48 bit (10~16 triệu) màu.
1.6 Định dạng ảnh bitmap
1.5.1. Khái niệm

Ả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. Định dạng
ảnh bitmap được thiết kế sử dụng đối với các điểm ảnh hoặc hình đồ hoạ tương tự nhau.
Một bức ảnh được tạo nên từ rất nhiều các điểm pixels. Các ảnh có độ phân giải cao (chất
lượng ảnh tốt) bao gồm nhiều pixels và chiếm nhiều không gian bộ nhớ hơn so với cùng bức
ảnh có độ phân giải thấp. Trong quá trình tạo ảnh cho trang Web, file ảnh được chỉnh sửa và
thường lưu lại với độ phân giải là 72 pixels/inch (1 inch = 2.54 cm). Màn hình máy tính có
độ phân giải là 2-96 pixel trên 1 inch tuỳ thuộc vào hãng sản xuất máy tính. Người ta sử
dụng lớp ảnh bitmap cho đồ hoạ văn bản tạo vì tính năng tiện lợi trong việc chỉnh sửa sau

này cũng như việc lưu mỗi đối tượng tạo ra trên các lớp.
1.5.2 Đặc điểm

Ảnh Bitmap phụ thuộc vào độ phân giải. Độ phân giải được hiểu là tập hợp các điểm
pixel trong 1 ảnh và tính bằng dpi (dots per inch) hoặc ppi (pixels per inch). Ảnh Bitmap
hiển thị trên máy tính có độ phân giải là: 72 hoặc 96 ppi. Tuy nhiên khi in ảnh bitmap đạt
chất lượng cao chúng ta cần đặt độ phân giải khoảng 150-300.
Đối với ảnh Bitmap chúng ta không thể phóng to, thu nhỏ kích thước ảnh mà vẫn giữ
nguyên chất lượng ảnh. Giảm kích thước ảnh Bitmap đồng nghĩa với việc chúng ta xoá đi
một số điểm pixel và không thể khôi phục lại được. Tăng kích thước ảnh Bitmap bằng cách
tạo mới thêm các điểm pixel, chương trình xử lý ảnh sẽ ước lượng giá trị màu dựa trên các
điểm màu gần nó, quá trình đó gọi là Inter polation.
8


Việc thay đổi kích thước ảnh được gọi chính xác là quá trình “điều chỉnh tỷ lệ” (trong đồ
hoạ trình diễn, đây là sự điều chỉnh trục y - trục giá trị được chọn bởi chương trình, sao cho
các cách biệt về dữ liệu được rõ ràng. Mọi chương trình đồ hoạ đều có khả năng chia thang
tỷ lệ trên trục y, nhưng thang đó có thể không thoả mãn. Điều chỉnh thang bằng tay sẽ cho
kết quả tốt hơn). Tuy nhiên khi tăng kích thước ảnh lên chúng ta cần chú ý tới hạn định sự
xuất hiện bề mặt lởm chởm răng cưa. Điều chỉnh tỷ lệ kích thước ảnh Bitmap nhỏ đi sẽ
không tạo bất kỳ hiệu ứng nào. Thực tế khi thu nhỏ ảnh chúng ta đã tăng độ phân giải của
ảnh.
Ảnh Bitmap nói chung không trợ giúp việc tạo nền trong suốt, ngoại trừ hai định dạng
file ảnh GIF và PNG trợ giúp hiệu ứng này. Cần chú ý rằng các phần mềm sửa đổi ảnh đều
trợ giúp việc tạo hiệu ứng trong suốt nhưng chỉ có 2 định dạng file trên mới lưu được hiệu
ứng này. Một quan niệm sai lầm khi cho rằng vùng ảnh được tạo trong suốt sẽ duy trì hiệu
ứng đó khi file ảnh được lưu dưới bất kỳ định dạng ảnh nào hoặc khi ta sao chép và dán
sang một chương trình khác. Thực tế, hiệu ứng đó sẽ không còn, tuy nhiên trong một số
phần mềm xử lý ảnh thông dụng ta có thể giấu, lưu vùng ảnh bitmap được tạo trong suốt.

Một số định dạng ảnh Bitmap thông dụng:
• BMP
• GIF
• JPEG, JPEG2000
• PNG
• TIFF
1.7. Định dạng ảnh vector
1.7.1 Khái niệm

Ảnh Vector được tạo mới từ rất nhiều đối tượng khác nhau. Đối tượng Vector đượ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 vector 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...
1.7.2 Đặc điểm

Người ta hoàn toàn có thể thay đổi các thuộc tính đối tượng ảnh vector mà không ảnh
hưởng tới đối tượng cơ bản đó. Đối với ảnh vector chúng ta không chỉ 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 vector 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.
Một ưu điểm nổi bật khác của ảnh vector là chúng không hạn chế về hình dạng các điểm
như trong ảnh bitmap. Đối tượng vector này có thể thay thế hoàn toàn bởi đối tượng vector
khác.
Bên cạnh những ưu điểm nổi bật, hạn chế cơ bản nhất của ảnh vector là sự không thích
hợp đối với các ảnh tự nhiên, ảnh chụp từ máy kỹ thuật số. Ảnh vector được tạo từ các vùng
màu thuần nhất hoặc vùng màu xám nhưng chúng không thể mô tả các màu sắc tinh tế khác
9



nhau trong một bức ảnh. Đó cũng chính là lý do tại sao chúng ta không thấy ảnh vector xuất
hiện nhiều trong các bức tranh nghệ thuật, tranh truyện cũng như hình biếm họa. Tuy nhiên
ngày nay công cụ tạo ảnh vector trợ giúp chúng ta ứng dụng đối tượng bề mặt ảnh bitmap
giống như cảnh tự nhiên và trên đó ta hoàn toàn có thể tạo hiệu ứng, tạo cảnh nền trong
suốt, tạo bóng cho từng đối tượng để có các cảnh khác nhau tuỳ theo mục đích sử dụng.
Các đối tượng Vector cơ bản được xây dựng sẵn trong phần mềm, chúng ta không thể
quét một ảnh vào và lưu dưới dạng ảnh vector mà không sử dụng phần mềm chuyển đổi đặc
biệt. Ảnh vector dễ dàng chuyển đổi sang ảnh bitmap. Khi chuyển đổi ta có thể xác định bất
kỳ kích thước nào cho ảnh bitmap mà không ảnh hưởng tới chất lượng ảnh. Tuy vậy, điều
cần nhớ trước khi chuyển ảnh là phải lưu lại ảnh vector gốc bởi lẽ ảnh bitmap đã mất đi toàn
bộ chất lượng và trạng thái vector của các đối tượng trong ảnh. Chú ý rằng khi ta mở ảnh
vector trong phần mềm chỉ trợ giúp ảnh bitmap thì tất cả các thuộc tính, chất lượng ảnh
vector sẽ bị chuyển đổi thành dữ liệu ảnh bitmap.
Lý do quan trọng nhất khi ta quyết định chuyển đổi ảnh vector sang ảnh bitmap là khi
chúng được sử dụng trên trang Web. Tại thời điểm hiện nay, các trang Web đều chưa hỗ trợ
định dạng ảnh vector một cách hiệu quả. Chúng ta có thể sử dụng ảnh vector trên
Macromedia Flash nhưng định dạng file này yêu cầu phải hỗ trợ Plug-in. Định dạng SVG
được coi là định dạng chuẩn ảnh vector trên Web.
Ảnh gốc Ảnh bitmap (400%) Ảnh vector (400%) Ảnh vector có chế độ phân giải không
phụ thuộc vào kích thước ảnh, chúng không biến đổi khi ta phóng to, thu nhỏ ảnh như đối
với ảnh bitmap. Do đối tượng vector được xây dựng từ các phương trình toán học khác với
đối tượng bitmap được tạo thành từ các điểm ảnh, kích thước file ảnh vector nhỏ hơn nhiều
so với kích thước cùng ảnh bitmap.
Metafiles là ảnh đồ họa chứa cả dữ liệu ảnh bitmap và ảnh vector. Ví dụ một ảnh vector
có thể chứa đối tượng mẫu được tạo thành từ các điểm pixel như là tô màu vùng. Lúc đó file
này chứa ảnh vector nhưng thuộc tính tô màu được ghi dưới dữ liệu ảnh bitmap.
Một số định dạng ảnh Vector thông dụng:
• AI (Adobe Illustrator)
• CDR (CorelDRAW)
• CMX (Corel Exchange)

• CGM Computer Graphics Metafile
• DRW (Micrografx Draw)
• DXF AutoCAD
• WMF Windows Metafile
1.7.3 So sánh ảnh bitmap với ảnh vector

a. Ảnh bitmap
• Tập hợp các điểm màu pixels
• Phụ thuộc vào chế độ phân giải
• Chất lượng giảm khi thay đổi lại kích thước ảnh
• Dễ dàng chuyển đổi giữa các định dạng ảnh
• Hạn chế là hình dạng, kích thước ảnh luôn luôn là hình chữ nhật
10


Chỉ có một số (rất ít) định dạng ảnh trợ giúp tạo hiệu ứng trong suốt
b. Ảnh vector
• Được xác định bằng các đường toàn học, dễ dàng thay đổi, điều chỉnh tỷ lệ,
hình dạng và tạo các hiệu ứng trên ảnh
• Chất lượng ảnh không phụ thuộc vào độ phân giải, phóng to, thu nhỏ ảnh
• Không tạo nền, luôn có mặc định hỗ trợ hiệu ứng trong suốt
• Thường tạo các cảnh khung, xương sống ảnh có sẵn qua các hình dạng, đối
tượng toán học cơ bản Không thích hợp đối với các ảnh nghệ thuật cao, ảnh tự
nhiên, hay ảnh chụp kỹ thuật số.


Hình 4. Sự khác nhau giữa ảnh bitmap và ảnh vector

11



Chương II. Chuyển đổi định dạng file ảnh
2.1 Các kiểu ảnh trong matlab
2.1.1 Ảnh Index

Ảnh được biểu diễn bởi hai ma trận, một ma trận dữ liệu ảnh X và một ma trận màu (còn
gọi là bản đồ màu) map. Ma trận dữ liệu có thể thuộc kiểu uint8, uint16 hoặc double.

Hình 5. Cấu trúc ảnh Index
Ma trận màu là một ma trận kich thước m x 3 gồm các thành phần thuộc kiểu double có
giá trị trong khoảng [0 1]. Mỗi hàng của ma trận xác định thành phần red, green, blue của
một màu trong tổng số m màu được sử dụng trong ảnh. Giá trị của một phần tử trong ma
trận dữ liệu ảnh cho biết màu của điểm ảnh đó nằm ở hàng nào trong ma trận màu.

Hình 6. Ánh xạ bản đồ màu trong ảnh Index
12


2.1.2 Ảnh Grayscale

Mỗi ảnh được biểu diễn bởi một ma trận hai chiều, trong đó giá trị của mỗi phần tử cho
biết độ sáng (hay mức xám) của điểm ảnh đó. Ma trận này có thể một trong các kiểu uint8,
uint16 hoặc double. Ảnh biểu diễn theo kiểu này còn gọi là ảnh “trắng đen”.

Hình 7. Ảnh Grayscale
2.1.3 Ảnh nhị phân

Ảnh được biểu diễn bởi một ma trận hai chiều thuộc kiểu logical. Mỗi điểm ảnh chỉ có
thể nhận một trong hai giá trị là 0 (đen) hoặc 1 (trắng)


Hình 8. Ảnh nhị phân

13


2.1.4 Ảnh RGB

Còn gọi là ảnh “truecolor” do tính trung thực của nó. Ảnh này được biểu diễn bởi một ma
trận ba chiều kích thước m x n x 3, với m x n là kích thước ảnh theo pixels. Ma trận này
định nghĩa các thành phần màu red, green, blue cho mỗi điểm ảnh, các phần tử của nó có thể
thuộc kiểu uint8, uint16 hoặc double.

Hình 9. Cấu trúc ảnh RGB

Hình 10. Mô tả 3 thành phần màu trong ảnh RGB

14


2.2 Các phép biến đổi ảnh số
2.2.1 Phép biển đổi Fourier

Phép biến đổi Fourier biểu diễn ảnh dưới dạng tổng của các lũy thừa phức của các thành
phần biên độ, tần số, pha khác nhau của ảnh. Nếu f(m,n) là một hàm của hai biến không
gian rời rạc m và n, thì biến đổi Fourier hai chiều của f(m,n) được định nghĩa:

Nếu f(m,n) biểu diễn độ sáng của ảnh X ở vị trí pixel (m,n) thì F(w1,w2) chính là biến
đổi
Fourier của ảnh X. Do các dữ liệu trên máy tính được lưu trữ dưới dạng rời rạc, cụ thể là
dữ liệu ảnh được tổ chức theo đơn vị pixel nên phép biến đổi Fourier cũng được rời rạc hóa

thành biến đổi Fourier rời rạc (DFT). Các phép biến đổi DFT thuận và nghịch kích thước M
x N được định nghĩa như sau:

F(p,q) gọi là các hệ số của biến đổi DFT.
Với các ứng dụng trong xử lý ảnh, chúng ta chỉ quan tâm đến các hàm fft2 và ifft2.
Cú pháp:
F=fft2(X,Mrows,Ncols)
f=ifft2(F,mrows,ncols)
Nếu ảnh ban đầu có kích thước nhỏ hơn thì Matlab tự động thêm vào các zero pixel
trước khi biến đổi. Sau khi thực hiện biến đổi DFT bằng fft2, thành phần DC sẽ nằm ở góc
trên bên trái của ảnh. Ta có thể dùng hàm fftshift để dịch thành phần DC này về trung tâm
của ảnh.
2.2.2. Biến đổi DCT

Biến đổi cosine rời rạc (DCT) biểu diễn ảnh dưới dạng tổng của các cosine của các thành
phần biên độ và tần số khác nhau của ảnh. Hàm dct2 tính DCT hai chiều của một ảnh. DCT
có tính chất mà với các ảnh điển hình, hầu hết các thông tin về ảnh chỉ tập trung trong một
vài hệ số của DCT, trong khi các hệ số còn lại chỉ chứa rất ít thông tin. Vì lý do này, DCT
thường được sử dụng trong các ứng dụng nén ảnh khác nhau nhờ hiệu suất gần như tối ưu
của nó đối với các ảnh có độ tương quan cao giữa các điểm ảnh lân cận. Chẳng hạn, DCT là
trung tâm của giải thuật nén ảnh theo chuẩn quốc tế thường được biết với tên JPEG (tên này
do nhóm phát triển đặt ra: Joint Photographic Experts Group)
DCT hai chiều của ma trận A có kích thước MxN được định nghĩa như sau :
M −1 N −1

B pq = α pα q ∑ ∑ Amn cos
m=0 n = 0

0 ≤ p ≤ M −1


π (2m + 1) p
π (2n + 1)q
cos
2M
2N

0 ≤ q ≤ N −1
với

15


1/ M
p=0
αp = 
 (2 / M ) 0 ≤ p ≤ M − 1

1/ N
q=0
αq = 
 (2 / N ) 0 ≤ q ≤ N − 1

1/ M
p=0
αp = 
 (2 / M ) 0 ≤ p ≤ M − 1

1/ N
q=0
αq = 

 (2 / N ) 0 ≤ q ≤ N − 1

Trong đó:

Các giá trị Bpq được gọi là các hệ số của biến đổi DCT. DCT có thể biến đổi ngược được và
biến đổi ngược của nó cho bởi công thức :
M −1 N −1
0 ≤ m ≤ M −1
π (2m + 1) p
π (2n + 1)q
Amn = ∑ ∑ α pα q B pq cos
cos
2M
2N
p=0 q =0
0 ≤ n ≤ N −1
với

Trong đó:

Biểu thức DCT ngược có thể được xem xét khi coi rằng mọi ma trận A kích thước MxN như
là tổng của MN hàm có dạng :
π (2m + 1) p
π (2n + 1) q
α pα q B pq cos
cos
2M

2N


Những hàm này đựơc gọi là những hàm cơ sở của DCT. Hệ số DCT B pq có thể được
xem như trọng số cho mỗi hàm cơ sở.
2.2.3 Biến đổi Radon

Phép biến đổi Radon được thực hiện bởi hàm radon trong Matlab, biểu diễn ảnh dưới
dạng các hình chiếu của nó dọc theo các hướng xác định. Hình chiếu của một hàm hai biến
f(x,y) là tập hợp các tích phân đường. Hàm radon tính các tích phân đường từ nhiều điểm
nguồn dọc theo các đường dẫn song song, gọi là các tia chiếu, theo một hướng xác định nào
đó. Các tia chiếu này nằm cách nhau 1 pixel. Để biểu diễn toàn bộ ảnh, hàm radon sẽ lấy
nhiều hình chiếu song song của ảnh từ các góc quay khác nhau bằng cách xoay các điểm
nguồn quanh tâm của ảnh.
Biến đổi Radon của f(x,y) tương ứng với góc quay Ѳ là tích phân đường của f dọc theo trục
y’:

RѲ (x’)
Khi: =

16


Hình 11. Phương pháp biến đổi Radon
Trong Matlab, biến đổi Radon được tính bằng hàm Radon có cú pháp như sau:
[R,Xp] = radon(I,theta)
2.3 Một số định dạng ảnh bitmap thông dụng
Ảnh thu được sau quá trình số hóa thường được lưu lại cho các quá trình xử lý ảnh tiếp
theo hoặc truyền đi. Trong quá trình phát triền của kỹ thuật xử lý ảnh, tồn tại nhiều định
dạng ảnh khác nhau từ đên trắng tới ảnh màu (BMP, JPEG, GIF,…). Tuy các định dạng này
khác nhau nhưng chúng đều tuân theo một cấu trúc chung nhất. Nhìn chung, một tệp ảnh bất
kỳ gồm 3 phần:
- Phần đầu tệp (Header)

- Phần dữ liệu nén (Data compression)
- Bảng màu (Palette Color)
Trong đó Phần đầu tệp là phần chưa thông tin về kiểu ảnh, kích thước, độ phân giải, số
bít dùng cho 1 pixel, cách mã hóa và vị trí bảng màu.
Phần dữ liệu nén: Lưu dữ liệu được nén bởi thuật toán khai bảo ở phần Header.
Phần cuối Bảng màu. Phần này không nhất thiết phải có ví dụ như ảnh đen trắng. Nếu có,
bảng màu cho biết số màu dùng trong ảnh và bảng màu được sử dụng để hiển thị màu của
ảnh. Một số các đinh dạng khác nhau, cấu hình khác nhau, đặc trưng khác nhau mà các
tham số này có thể khác nhau.
2.3.1 Định dạng ảnh GIF

GIF (từ viết tắt của Graphics Interchange Format) là một kiểu định dạng ảnh bitmap ra
đời năm 1987 bởi hãng CompuServe, sử dụng thuật toán nén không mất dữ liệu(thông tin)
LZW. Ảnh GIF có tối đa 256 màu (8 bits), được đánh chỉ số index trong bảng màu, cho
phép tạo màu nền trong suốt.

17


Hình 12. Ảnh định dạng GIF
2.3.1.1 Phương pháp nén LZW trong ảnh GIF

Giải thuật nén LZW xây dựng một từ điển lưu các mẫu có tần suất xuất hiện cao trong
ảnh. Từ điển là tập hợp những cặp từ vựng và nghĩa của nó. Trong đó, từ vựng sẽ là các từ
mã được sắp xếp theo thứ tự nhất định. Nghĩa là một chuỗi con trong dữ liệu ảnh. Từ điển
được xây dựng đồng thời với quá trình đọc dữ liệu. Sự có mặt của một chuỗi con trong từ
điển khẳng định rằng chuỗi đó đã từng xuất hiện trong phần dữ liệu đã đọc. Thuật toán liên
tục “tra cứu” và cập nhật từ điển sau mỗi lần đọc một ký tự ở dữ liệu đầu vào. Do kích
thước bộ nhớ không phải vô hạn và để đảm bảo tốc độ tìm kiếm, từ điển chỉ giới hạn 4096 ở
phần tử dùng để lưu lớn nhất là 4096 giá trị của các từ mã. Như vậy độ dài lớn nhất của từ

mã là 12 bits (4096 = 2^12).

Hình 13. Sơ đồ thuật toán LZW

18


+ 256 từ mã đầu tiên theo thứ tự từ 0…255 chữa các số nguyên từ 0…255. Đây là mã
của
256 kí tự cơ bản trong bảng mã ASCII.
+ Từ mã thứ 256 chứa một mã đặc biệt là “mã xóa”. Mục đích việc dùng mã xóa nhằm
khắc phục tình trạng số mẫu lặp trong ảnh lớn hơn 4096. Khi đó một ảnh được quan niệm là
nhiều mảnh ảnh, và từ điển là một bộ từ điển gồm nhiều từ điển con. Cứ hết một mảnh ảnh
người ta lại gửi một mã xóa để báo hiệu kết thúc mảnh ảnh cũ, bắt đầu mảnh ảnh mới đồng
thời khởi tạo lại từ điển cho mảnh ảnh mới. Mã xóa có giá trị là 256.
+ Từ mã thứ 257 chứa mã kết thúc thông tin. Mã này có giá trị là 257. Như chúng ta đã
biết, một file ảnh GIF có thể chứa nhiểu ảnh. Mỗi một ảnh sẽ được mã hóa riêng. Chương
trình giải mã sẽ lặp đi lặp lại thao tác giải mã từng ảnh cho đến khi gặp mã kết thúc thông
tin thì dừng lại.
+ Các từ mã còn lại (từ 258 đến 4095) chứa các mẫu thương lặp lại trong ảnh. 512 phần
tử đầu tiên của từ điển biểu diễn bằng 9 bit. Các từ mã từ 512 đến 1023 biểu diễn bởi 10 bit,
từ 1024 đến 2047 biểu diễn bởi 11 bit và từ 2048 đến 4095 biểu diễn bởi 12 bit.
2.3.1.2 Đánh giá định dạng ảnh GIF

GIF là một tập tin màu 8-bit, có nghĩa là hình ảnh mà tập tin cho ra bị giới hạn bởi 1
bảng gồm 256 màu sắc. Có 2 điều đặc biệt về định dạng GIF đó là tập tin có khả năng lưu
lại màu trong suốt và hỗ trợ hình ảnh động.
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 chất lượng hình ảnh kém đi (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.
So với định dạng JPEG là dạng 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.
Ưu điểm:






Được phổ biến rộng rãi nhất
Hỗ trợ tạo mức hiệu ứng nền trong suốt transparency
Có khả năng tạo chỉ số trong bảng màu
Nén không mất dữ liệu (thông tin)
Thích hợp cho các ảnh có số màu hiển thị không quá nhiều như ảnh đen
trắng, ảnh có từng vùng màu đơn như truyện tranh, đường kẻ nghệ thuật.

Nhược điểm:



Số màu tối đa sử dụng là 256 màu
Không thể thay đổi, điều khiển được tỷ lệ nén
19





Vì số màu được dùng hạn chế như thế nên không phù hợp với ảnh chất
lượng cao, ảnh nhiều màu đa dạng trong tự nhiên

2.3.2 Định dạng ảnh BMP

Định nghĩa: BMP là một định dạng ảnh chuẩn bitmap trong môi trường Microsoft
Windows. Ảnh được lưu có chỉ số hay không chỉ số các dữ liệu điểm ảnh RGB (tính theo
pixel) với độ lớn (kích thước 1, 4, 8, hay 24 bit) một cách có hiệu quả. Dữ liệu lưu có thể
không nén hay nén theo thuật toán nén dữ liệu 4-8 bit RLE. BMP là sự lựa chọn tốt nhất đối
với các định dạng ảnh bitmap đơn giản có hỗ trợ phạm vi dữ liệu điểm ảnh RGB rộng.
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). Các thuộc tính tiêu
biểu của một tập tin ảnh BMP (cũng như file ảnh nói chung) là
• 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 nbit 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.
• Chiều cao của ảnh (height), cho bởi điểm ảnh (pixel).
• Chiều rộng của ảnh (width), cho bởi điểm ảnh.
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.
Đặ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).
Quá trình nén trong BMP
Bitmap là một chuỗi đơn giản của các điểm ảnh xếp chồng lên nhau. Tuy nhiên, cùng
một hình ảnh được lưu trong định dạng GIF hoặc JPEG sử dụng ít byte để lưu trữ cho các
tập tin.
Bitmap có thể được nén đến một điểm. Quá trình này được gọi là mã hóa Run Length
Encoding. RLE mã hóa tất cả các điểm cùng một màu sắc được kết hợp thành một điểm
ảnh. Một sự khác biệt là Bitmap thông thường có thể chấp nhận 16 triệu màu sắc khác nhau
cho mỗi điểm ảnh. Tiết kiệm cùng một hình ảnh trong mã hóa loạt dài giảm các bit-perpixel xuống 8. Giảm mức độ của màu sắc trong không nhiều hơn 256.
20


2.3.3 Định dạng ảnh JPEG

Định nghĩa: 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.
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 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.
Phần mở rộng của các file JPEG thường có dạng .jpeg, .jfif, .jpg, .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
ĐTDD cũng như những trang thiết bị lưu giữ có dung lượng nhỏ.
Mức độ nhạy cảm của mắt người:
Trong không gian màu YUV, nhãn thị của con người rất nhạy cảm với thành phần Y và
kém nhạy cảm với hai loại U và V. Phương pháp nén JPEG đã nắm bắt phát hiện này để

tách những thông tin thừa của ảnh. Hệ thống nén thành phần Y của ảnh với mức độ suy
giảm ít hơn so với U, V, bởi người ta ít nhận thấy sự thay đổi của U và V so với Y.
Sự khác biệt giữa nén 1% và 50% không phải là quá xấu, nhưng sự sụt giảm byte là ấn
tượng. Các con số tôi cho thấy một số lượng lưu trữ, số lượng không gian ổ đĩa cứng hình
ảnh chiếm.
Có lẽ ta đã phỏng đoán rằng 50% có nghĩa là 50% của hình ảnh được bao gồm trong
thuật toán nén. Nếu không đặt một hình ảnh nén 50% bên cạnh một hình ảnh trùng lặp chính
xác ở nén 1%, thì có vẻ khá tốt. Nhưng những gì về hình ảnh đó nén 99%? Có vẻ khủng
khiếp. Nhìn vào nó một lần nữa. Xem làm thế nào nó được thực hiện của các khối? Đó là
những gì có nghĩa là bởi lossy. Bytes bị mất tại các chi phí của các chi tiết. Ta có thể thấy
nơi mà các thuật toán nén được tìm thấy nhiều nhóm pixel rằng tất cả các xuất hiện để được
gần gũi trong màu sắc và chỉ cần nhóm lại tất cả chúng với nhau như một.

21


Hình 14. Khả năng nén của định dạng JPEG
Mã hóa
Công đoạn chính là chia nhỏ bức ảnh thành nhiều vùng nhỏ (thông thường là những
vùng 8x8 pixel) rồi sử dụng biến đổi cosin rời rạc để biến đổi những vùng thể hiện này
thành dạng ma trận có 64 hệ số thể hiện "thực trạng" các pixel. Điều quan trọng là ở đây hệ
số đầu tiên có khả năng thể hiện "thực trạng" cao nhất, khả năng đó giảm rất nhanh với các
hệ số khác. Nói cách khác thì lượng thông tin của 64 pixels tập trung chủ yếu ở một số hệ số
ma trận theo biến đổi trên.
Trong giai đoạn này có sự mất mát thông tin, bởi không có biến đổi ngược chính xác.
Nhưng lượng thông tin bị mất này chưa đáng kể so với giai đoạn tiếp theo. Ma trận nhận
được sau biến đổi cosin rời rạc được lược bớt sự khác nhau giữa các hệ số. Đây chính là lúc
mất nhiều thông tin vì người ta sẽ vứt bỏ những thay đổi nhỏ của các hệ số. Như thế khi
bung ảnh đã nén ta sẽ có được những tham số khác của các pixel. Các biến đổi trên áp dụng
cho thành phần U và V của ảnh với mức độ cao hơn so với Y. Sau đó thì áp dụng phương

pháp mã hóa của Gernot Hoffman: phân tích dãy số, các phần tử lặp lại nhiều được mã hóa
bằng ký hiệu ngắn (marker). Khi bung ảnh người ta chỉ việc làm lại các bước trên theo quá
trình ngược lại cùng với các biến đổi ngược.
Nhược điểm lớn nhất là chất lượng ảnh đã bị nén mất đi (lossy), một số đường bao giữa
các khối màu sẽ xuất hiện điểm mờ, và các vùng sẽ mất đi sự rõ nét. Và giống như dạng
mp3, JPEG sẽ không thể phục hồi giống như hình ảnh ban đầu dù dung lượng được tăng lên
giống dung lượng ảnh thật.
Các ảnh JPEG không thể làm trong suốt hoặc chuyển động.
2.3.3.1 Quá trình biến đổi DCT trong định dạng JPEG

Ta có quá trình biến đổi DCT và mã hóa dữ liều theo sơ đồ sau:
22


Hình 15. Quá trình biến đổi DCT và DCT ngược
Ví dụ
Dưới đây là ví dụ về quá trình biến đổi DCT và quá trình biến đổi DCT ngược, khôi phục lại
ảnh gốc của một bức ảnh 8x8 như hình dưới:

23


Hình 16. Ví dụ biến đổi DCT và DCT ngược khôi phục lại ảnh
Code mô phỏng DCT trong matlab
T = dctmtx(8);
dct = @(block_struct) T * block_struct.data * T';
B = blockproc(I,[8 8],dct);
mask = [1 1 1 1 0 0 0 0
11100000
11000000

10000000
00000000
00000000
00000000
0 0 0 0 0 0 0 0];
B2 = blockproc(B,[8 8],@(block_struct) mask .* block_struct.data);
invdct = @(block_struct) T' * block_struct.data * T;
I2 = blockproc(B2,[8 8],invdct);
imshow(I), figure, imshow(I2)
2.3.3.2 Đánh giá ảnh nén bằng chuẩn JPEG

Ưu điểm:







Có nhiều tỷ lệ nén mất dữ liệu khác nhau
Có thể nén với tỷ lệ nén rất cao
Cung cấp 24-bit màu (16 triệu màu)
Định dạng tốt nhất đối với các ảnh cần nhiều màu sắc tự nhiên (màu liên
tiếp nhau trong bảng màu) như ảnh chụp phong cảnh, ảnh và các minh
hoạ trên sách báo, ảnh 3 chiều.
Có thể tải từng phần ảnh trên mạng vào từng thời điểm khác nhau (quá
trình "progressive JPEGs")

Nhược điểm:




Không thể đánh chỉ số màu trong bảng màu
Không hỗ trợ tạo ảnh nền trong suốt
24





Nén mất dữ liệu
Không phải mọi máy tính đề hiển thị tốt, cố định 24-bit màu

2.3.4 Định dạng ảnh TIF, TIFF

Định nghĩa: Tiff (Tag Image File Format) Loại file ảnh bitmap này sử dụng thuật toán
nén không mất dữ liệu và chúng ta có thể ghi lại dưới các định dạng file khác nhau, TIF và
TIFF được sử dụng rộng rãi. Photoshop cho phép chuyển đổi TIF sang định dạng ảnh vector
và có thể lưu tới 4 kênh màu. Với ảnh đồ hoạ trên web, chúng ta không thể thực hiện được 3
kênh màu sử dụng trong chế độ màu RGB (độ sâu màu là 24 bit).

Hình 17. Ví dụ về ảnh TIF
Đặc điểm:
 Không sử dụng nén: 8bit, 12bit, 14bit, 16bit, 24bit…
 Nếu nén có thể dùng: Lossless = LZW; Lossy JPEG, JBIG & JPEG2000
 Độ phân dải: (khoảng 100-10,000 ppi) , rất lớn
 Giới hạn cỡ ảnh: 4G
 Giới hạn kiến trúc: 32bit
 Hỗ trợ thuộc tính ICC
 Hỗ trợ Metadata (EXIF)

2.3.4.1 Đánh giá ảnh lưu định dạng TIF,TIFF

Ưu điểm: Đây là định dạng tập tin “không làm mất dữ liệu” của hình ảnh trong quá trình lưu trữ
hay nén file. Uy tín trong việc bảo lưu chất lượng hình ảnh giúp TIFF là định dạng mẫu mực trong
việc lưu trữ tư liệu hình ảnh.
Nhược điểm:
Khuyết điểm duy nhất của file TIFF chính là dung lượng cồng kềnh. Do định dạng tập tin này
lưu trữ toàn bộ thông tin của các pixel trong dữ liệu nén chung của bức ảnh nên dung lượng của nó
luôn lớn hơn rất nhiều nếu so với file JPEG. Điều này khiến việc lưu trữ file TIFF luôn tốn nhiều
dung lượng bộ nhớ.
Với những ai quan tâm đến chất lượng hình ảnh và sợ file bị hỏng, TIFF luôn là lựa chọn hàng
đầu về độ tin cậy. Nhưng luôn nhớ rằng file TIFF nén cũng không giảm dung lượng bao nhiêu so
với file TIFF không nén.
25


×