NGHIÊN CỨU THUẬT TOÁN NÉN ẢNH
JPEG VÀ JPEG 2000
1
DANH MỤC CÁC HÌNH VE
2
DANH MỤC CÁC BẢNG BIỂU
3
DANH MỤC CÁC TỪ VIẾT TẮT
AC
Alternating Current
Cb
Chrominance Blue
Cr
Chrominance Red
CWT
Continuous Wavelet Transform
DC
Direct Current
DCT
Discrete cosine Transform
DWT
Discrete Wavelet Transform
ICT
Irreversible Color Transform
IDCT
Inverse Discrete Cosine Transform
IDWT
Inverse Discrete Wavelet Transform
JPEG
Joint Photographic Experts Group
RCT
Reversible Color Transform
RGB
Red Green Blue
4
Trang 5/19
CHƯƠNG 1: TỔNG QUAN VỀ NÉN ẢNH
1.1
Giới thiệu đề tài
Có rất nhiều định dạng khác nhau để mô tả việc lưu trữ một file hình ảnh như: .png;
.tif; .gif; .jpg... Trong số đó .jpg (hay .jpeg) được sử dụng rộng rãi nhất do khả năng
nén ảnh tốt của nó.
Có nhiều phương pháp nén ảnh, nhưng đều dựa trên nguyên tắc tìm ra các thông tin
phần tử thừa trong dữ liệu và mã hóa chúng theo nhiều mức độ khác nhau. Một
công nghệ nén ảnh tương đối hiệu quả có thể làm việc với các ảnh kích cỡ lớn,
nhiều màu đó là công nghệ JPEG - viết tắt của Joint Photographic Experts Group
(Hiệp hội các chuyên gia hình ảnh).
Nén ảnh JPEG2000 sinh ra để khắc phục các nhược điểm của nén JPEG, sự mất mát dữ
liệu ở JPEG2000 sẽ ít hơn nhưng hệ số nén vẫn như JPEG. Với JPEG2000 kỹ thuật xử
lý hình ảnh sẽ đạt được những kết quả rất ngoạn mục vì có thể nén nhỏ từ 100-200
lần mà hình ảnh không sai sót bao nhiêu so với hình ảnh gốc.
1.1.1 Mục đích nghiên cứu đề tài
Hiểu về ảnh số và nén ảnh.
Tìm và hiểu được thuật toán DCT và DWT dùng để nén ảnh JPEG và JPEG2000 trong
ứng dụng MATLAB.
Mô phỏng ứng dụng nén ảnh bằng ứng dụng lập trình GUI trong MATLAB
1.1.2 Hướng phát triển của đề tài
Trong những năm trở lại đây nén ảnh đã trở thành công nghệ chủ yếu cho các máy tính
cá nhân,.v.v… Do sự phát triển mạnh mẽ của Internet đối với các dữ liệu đa phương
tiện cần đặt ra yêu cầu nén ảnh tốt hơn nhằm giảm bớt không gian lưu trữ thông tin và
truyền thông mà vẫn đảm bảo về mặt hiệu suất và chất lượng.
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 6/19
1.2
Giới thiệu về ảnh số
Ảnh số gồm các điểm ảnh với mức xám phù hợp dùng để mô tả ảnh gần với ảnh thật.
Số điểm ảnh xác định độ phân giải của ảnh. Ảnh có độ phân giải càng cao thì càng thể
hiện rõ nét các đặt điểm của tấm hình càng làm cho tấm ảnh trở nên thực và sắc nét
hơn.
Điểm ảnh (Pixel) là điểm vật lý hoặc một khối màu rất nhỏ tại toạ độ (x, y) với độ xám
hoặc màu nhất định. Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thích
hợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu)
của ảnh số gần như ảnh thật. Một pixel không có kích thước cố định.
Hình 1.1: Điểm ảnh (pixel).
Độ phân giải của ảnh (Resolution) là mật độ điểm ảnh được ấn định trên một ảnh số
được hiển thị. Việc lựa chọn khoảng cách của các điểm ảnh sao cho mắt người vẫn thấy
được sự liên tục của một bức ảnh tạo nên mật độ phân bổ. Đó chính là độ phân giải và
được phân bố theo trục x và y trong không gian hai chiều.
Ảnh grayscale: Hay còn gọi là ảnh đen trắng. 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ể là một trong các kiểu uint8, uint16 hoặc double. Ảnh nếu
dùng 8 bit (1 byte) để biểu diễn mức xám, thì số các mức xám có thể biểu diễn được là
28 hay 256. Mỗi mức xám được biểu diễn dưới dạng là một số nguyên nằm trong
khoảng từ 0 đến 255, với mức 0 biểu diễn cho mức cường độ đen nhất và 255 biểu diễn
cho mức cường độ sáng nhất.
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 7/19
Hình 1.2: Ảnh grayscale
Ảnh màu (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. Để biểu diễn cho
một điểm ảnh màu cần 24 bit, 24 bit này được chia thành ba khoảng 8 bit. Mỗi khoảng
này biểu diễn cho cường độ sáng của một trong các màu chính.
Hình 1.3: Ảnh màu (RGB)
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 8/19
Ảnh nhị phân: ảnh này đượ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 1.4: Ảnh nhị phân
Ảnh Index: đượ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. 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.
Để có thể xử lý ảnh bằng máy tính cần thiết phải tiến hành số hoá ảnh. Như vậy
một ảnh là một tập hợp các pixel. Mỗi pixel là gồm một cặp toạ độ x, y và màu.
Cặp toạ độ x,y tạo nên độ phân giải (resolution).
VD: 320 x 200, 640x350, 800x600,
1024x768,…
1.3
Giới thiệu về nén ảnh
Ngày nay, việc truyền tải và lưu giữ ảnh số hóa có nhiều ứng dụng trong thực tế như:
truyền các văn bản qua đường điện thoại (Fax), nén ảnh trong y tế, truyền ảnh và nhận
ảnh qua các mạng xã hội, .v.v…
Nén ảnh là một kĩ thuật mã hóa các ảnh số hóa mục đích dùng để giảm số lượng các bit
dữ liệu, giảm đi những chi phí trong việc lưu trữ ảnh và thời gian để truyền ảnh đi xa
trong truyền thông những vẫn đảm bảo được chất lượng ảnh.
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 9/19
Nén ảnh thực hiện được là do thông tin trong bức ảnh không phải là ngẫu nhiên mà có
trật tự, cấu trúc.Vì thế nếu bóc tách được tính trật tự, cấu trúc đó thì sẽ biết phần thông
tin nào quan trọng nhất trong bức ảnh để biểu diễn và truyền đi với số lượng ít bit hơn
so với ảnh gốc mà vẫn đảm bảo tính đầy đủ của thông tin. Ở bên nhận quá trình giải mã
sẽ tổ chức, sắp xếp lại được bức ảnh xấp xỉ gần chính xác so với ảnh gốc nhưng vẫn
thỏa mãn chất lượng yêu cầu.
Nén ảnh đạt được bằng cách loại bỏ các phần dư thừa trong ảnh đã được số hoá. Dư
thừa có thể là dư thừa thông tin về không gian, dư thừa về cấp xám hay dư thừa về thời
gian.
Trong nén ảnh có nén tổn hao (lossy) và nén không tổn hao (lossless). Nén ảnh tổn hao
hoạt động bằng cách loại bỏ thông tin từ file ảnh gốc, làm giảm dung lượng file ảnh.
Ngược lại nến ảnh không tổn hao vẫn giữ toàn bộ dữ liệu gốc, nhưng lại khiến cho kích
cỡ file lớn hơn đáng kể.
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 10/19
CHƯƠNG 2: NÉN ẢNH JPEG VÀ JPEG 2000 SỬ DỤNG THUẬT TOÁN
BIẾN ĐỔI DCT VÀ WAVELET
2.1
Nén ảnh JPEG
2.1.1 Phương pháp biến đổi DCT (Discrete Cosine Transform)
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 tần số và biên độ khác nhau của ả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 và các hệ số còn lại chỉ chứa rất ít thông tin. Vì lý
do trên, 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.
DCT hai chiều của ma trận Amn 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
với
π (2m + 1) p
π (2n + 1)q
cos
2M
2N
0 ≤ p ≤ M −1
0 ≤ q ≤ N −1
Trong đó:
1/ M
p=0
αp =
(2 / M ) 0 ≤ p ≤ M − 1
1/ N
q=0
αq =
(2 / N ) 0 ≤ q ≤ N − 1
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 :
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 11/19
M −1 N −1
Amn = ∑ ∑ α pα q B pq cos
p =0 q =0
với
π (2m + 1) p
π (2n + 1)q
cos
2M
2N
0 ≤ m ≤ M −1
0 ≤ n ≤ N −1
Trong đó:
1/ M
p=0
αp =
(2 / M ) 0 ≤ p ≤ M − 1
1/ N
q=0
αq =
(2 / N ) 0 ≤ q ≤ N − 1
2.1.2 Nén JPEG bằng biến đổi Cosine (DCT)
Giải thuật nén dùng DCT được cho là giải thuật được biết đến nhiều nhất vì DCT là
giải thuật được chuẩn hóa với tên JPEG. Chuẩn JPEG được sử dụng để mã hóa ảnh
màu (RGB) và ảnh đa mức xám (grayscale). Nó không cho kết quả ổn định lắm với ảnh
grayscale hay được gọi là ảnh đen trắng.
2.1.2.1 Mã hóa JPEG
Ảnh gốc
Dữ liệu ảnh
Chuyển ảnh gốc
sang các khối 8x8
Mã hóa
Entropy
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Biến đổi
DCT
Quét và định
dạng zigzag
Lượng
tử hóa
Trang 12/19
Hình 2.1: Sơ đồ mã hóa
Đối với ảnh màu RGB, để áp dụng kĩ thuật nén này, trước hết phải chuyển sang chế độ
không gian màu YCbCr, thành phần Y miêu tả ánh sáng của điểm ảnh, thành phần Cb
và Cr miêu tả “ chrominance” (phân loại thành phần màu xanh dương (Cb) và đỏ (Cr)).
Việc mã hóa và giải mã ở ảnh JPEG được thực hiện ở thành phần Y độ chói rồi tới
thành phần màu.
Hình 2.2: Ảnh RGB chuyển sang không gian màu YCbCr
Mỗi thành phần (YCbCr) của mỗi khối 8x8 được chuyển đến vùng tần số sử dụng biến
đổi cosine rời rạc 2D-DCT. Nguyên tắc chính của phương pháp mã hóa này là biến đổi
tập các giá trị pixel của ảnh trong miền không gian sang một tập các giá trị khác trong
miền tần số sao cho các hệ số trong tập giá trị mới có sự tương quan giữa các điềm ảnh
gần nhau.
Mỗi khối 8x8 gồm 64 điểm ảnh sau khi biến đổi DCT thuận sẽ nhận tạo ra mảng 2
chiều có 64 hệ số thực. Hệ số thứ nhất được gọi là hệ số DC (một chiều) có giá trị lớn
nhất tương ứng với vùng tần số thấp. Các hệ số còn lại được gọi là hệ số AC (hai chiều)
có giá trị rất nhỏ.
Tiếp đến mảng 2 chiều được lượng tử hóa sao cho làm giảm được số bit cần thiết. Các
hệ số tương ứng với vùng tần số thấp có giá trị lớn. Do đó phải lượng tử hóa với độ
chính xác cao, vì nó biểu thị cho giá trị độ chói trung bình của từng khối phần tử ảnh.
Chức năng cơ bản của bộ lượng tử hóa là loại bỏ các thông tin dư thừa trong ảnh. Việc
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 13/19
lượng tử hóa sẽ tạo ra rất nhiều các giá trị 0 đặc biệt là ở vùng tần số cao. Quá trình
làm tròn trong lượng tử hóa chính là nguyên nhân chính gây ra sự tổn hao nhưng lại là
nhân tố chính đem lại hiệu suất nén.
Sau khi được lượng tử hóa mảng 2 chiều sẽ được sắp xếp theo hình zigzag tạo thành
mảng một chiều các sắp xếp này cho phép giảm thiểu năng lượng tổn hao trung bình và
tạo dãy các giá trị bằng 0 liên tiếp.
Bước cuối cùng của bộ mã hóa sử dụng mã hóa entropy nhằm tăng thêm hiệu quả nén
và giảm thiễu lỗi. Được thực hiện bằng cách thay thế những chuỗi kí tự dài bằng những
từ mã ngắn. Tạo ra chuỗi dữ liệu để truyền đi hoặc lưu trữ.
Hình 2.3: Quét và sắp xếp zigzag các hệ số DCT
2.1.2.2 Giải mã JPEG
Dữ liệu ảnh
Ảnh khôi phục
Giải mã
Entropy
Giải quét
zigzag
Chuyển ảnh gốc
sang các khối 8x8
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Giải lượng
tử hóa
Biến đổi
IDCT
Trang 14/19
Hình 2.4: Sơ đồ giải mã DCT
Quá trình giải nén dựa trên cơ sở thực hiện thuật toán ngược với quá trình nén. Ở phần
giải mã luồng bit dữ liệu ảnh được giải mã entropy, sau đó các hệ số được giải ma trận
zigzag tạo thành mảng 2 chiều và giải lượng tử. Mảng chiều được sau đó được biến đổi
DCT ngược tạo thành các khối ảnh con có kích thước 8x8. Sắp xếp các khối ảnh ta
được ảnh khôi phục sau khi nén.
2.2
Nén ảnh JPEG 2000
2.2.1 Biến đổi wavelet liên tục (CWT – Continuous Wavelet Transform)
Biến đổi wavelet liên tục của một hàm f(t) được bắt đầu từ một hàm wavelet mẹ
(mother wavelet) ψ(t). Hàm wavelet mẹ ψ(t) có thể là bất kì một hàm số thực hoặc
phức liên tục nào thõa mãn các tính chất sau:
-Tích phân suy rộng trên toàn bộ trục t của hàm ψ(t) là bằng 0.
-Tích phân năng lượng của hàm trên toàn bộ trục t là một số hữu hạn tức là:
Có nghĩa là hàm ψ(t) phải làm một hàm bình phương khả tích.
Sau khi hàm wavelet được lựa chọn, biến đổi wavelet liên tục của một hàm bình
phương khả tích f(t) được tính theo công thức:
Khi a >1 thì hàm wavelet sẽ được trải rộng còn khi 0 < a < 1 thì hàm sẽ được co
lại.
Chúng ta có thể xem biến đổi CWT như là một ma trận 2 chiều các hàng của ma
trận tương ứng với các giá trị của a và các cột tương ứng với giá trị của b.
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 15/19
2.2.2 Biến đổi wavelet rời rạc (DWT- Discrete Wavelet Transform)
2.2.2.1 Wavelet rời rạc một chiều (1D- DWT)
Wavelet là phép biến đổi được sử dụng để phân tích các tín hiệu không ổn định, là
những tín hiệu có đáp ứng tần số thay đổi theo thời gian. Có thể hiểu phép biến đổi
DWT là áp dụng một tập các bộ lọc thông cao và thông thấp để phân tích một tín hiệu
thành hai thành phần: thành phần xấp xỉ A (Approximation) tương ứng với tần số thấp
và thành phần chi tiết D (Detail) tương ứng với tần số cao. Bộ lọc thông cao sử dụng
hàm wavelet mẹ và bộ lọc thông thấp sử dụng hàm tỉ lệ .
Mối quan hệ giữa hàm tỉ lệ và wavelet mẹ được cho bởi:
Các bộ lọc này được thiết kế phải đáp ứng phổ phẳng, trơn và trực giao. Việc tính toán
DWT thực chất là sự rời rạc hóa biến đổi wavelet liên tục (CWT). Việc rời rạc hóa thực
hiện với sự lựa chọn các hệ số a và b như sau:
a = 2m ; b = 2 n n
với
m, n ∈
Z
Tham số b cho biết khoảng dịch của hàm wavelet mẹ và độ phân giải các tần số khác
nhau của f(t) được minh họa bởi hệ số tỉ lệ chính là a. Xử lý tín hiệu ảnh số là xử lý tín
hiệu hai chiều và do đặc điểm của ảnh số bao giờ cũng có tính định hướng và tính định
vị. Tính định hướng của một ảnh nghĩa là trong ảnh bao giờ cũng có một số ít các thành
phần tần số nhưng các thành phần tần số này trải rộng trên toàn bộ không gian ảnh còn
tính định vị của ảnh chính là tính chất biểu thị rằng tại một vùng của ảnh có thể có rất
nhiều thành phần tần số. Ảnh biểu thị tính định vị rõ nhất chính là ảnh có nhiều biên
vùng phân tách rõ rệt, tại các đường biên bao giờ cũng có nhiều thành phần tần số khác
nhau, còn hầu hết các ảnh có tông liên tục đều là những ảnh có tính định hướng.
2.2.2.2 wavelet rời rạc hai chiều (2D-DWT)
Để xử lý ảnh hoặc các dữ liệu hai chiều cần sử dụng phép biến đổi wavelet 2 chiều.
Gọi x và y là hai trục tọa độ của tín hiệu 2D, Tín hiệu hai chiều S(x,y) được tách thành
nhiều tín hiệu một chiều rồi lấy biến đôi wavelet một chiều. Ta gọi L là phép lọc thông
thấp, H là phép lọc thông cao phép biến đổi 2D được tính cụ thể như sau:
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 16/19
2.2.3 Nén ảnh JPEG 2000 bằng biến đổi wavelet (DWT)
Sự ra đời của JPEG mang lại nhiều lợi ích to lớn về nhiều mặt. JPEG có thể giảm nhỏ
kích thước, giảm thời gian truyền và làm giảm chi phí xử lý ảnh trong khi chất lượng
ảnh sau khi nén khá tốt. Tuy nhiên, cho đến nay người ta chỉ ứng dụng dạng nén tổn
thất thông tin của JPEG vì mã hóa không tổn thất của JPEG khá phức tạp. Đó là lý do
để JPEG2000 ra đời.
JPEG2000 sử dụng biến đổi wavelet và các phương pháp mã hóa đặc biệt để có được
ảnh nén ưu việt hơn JPEG.
-Các tính năng của JPEG2000:
• Cho chất lượng ảnh tốt nhất khi áp dụng nén ảnh tĩnh có tổn hao, sử dụng được
với truyền dẫn và hiển thị, độ phân giải, các thành phần màu có tính định vị
không gian.
• Nó sử dụng cùng một cơ chế nén ảnh cho cả 2 dạng thức nén.
• Truy nhập và giải nén tại mọi thời điểm trong khi nhận dữ liệu.
• Giải nén từng vùng trong ảnh mà không cần giải nén toàn ảnh bộ ảnh.
• Có khả năng mã hóa ảnh với tỉ lệ nén theo từng vùng khác nhau.
• Nén một lần nhưng có thể giải nén với nhiều cấp chất lượng tùy theo yêu cầu
của người sử dụng.
Ảnh gốc
Dữ liệu
ảnh nén
Xử lý trước
biến đổi
Giải mã
Biến đổi
wavelet thuận
Giải
lượng tử
Lượng tử
hóa
Biến đổi
wavelet ngược
Mã hóa
Dữ liệu
ảnh nén
(a)
Xử lý sau
biến đổi
Ảnh được
khôi phục
(b)
Hình 2.5: Sơ đồ quá trình mã hóa (a) và giải mã (b) JPEG2000
Xử lý trước biến đổi là do sử dụng biến đổi Wavelet, JPEG2000 cần có dữ liệu ảnh đầu
vào ở dạng đối xứng qua 0. Xử lý trước biến đổi chính là giai đoạn đảm bảo dữ liệu
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 17/19
đưa vào nén ảnh có dạng trên. Ở phía giải mã, giai đoạn xử lý sau biến đổi sẽ trả lại giá
trị gốc ban đầu cho dữ liệu ảnh.
JPEG2000 sử dụng biến đổi màu thuận nghịch (Reversible Color Transform - RCT) và
biến đổi màu không thuận nghịch (Irreversible Color Transform - ICT) trong đó biến
đổi thuận nghịch làm việc với các giá trị nguyên, còn biến đổi không thuận nghịch làm
việc với các giá trị thực. ICT và RCT chuyển dữ liệu ảnh từ không gian màu RGB sang
YCrCb.
Original
Image
LLL1
L1
LL1
LH1
H1
HL1
HH1
LL2
LH2
HL2
HH2
LH1
HLL1
HL1
HH1
LH1
HL1
HH1
Hình 2.6: Quá trình phân ly băng con
Ở quá trình biến đổi wavelet sử dụng biến đổi wavelet rời rạc DWT. Do phép biến đổi
wavelet không phải là một phép biến đổi trực giao như biến đổi DCT mà là một phép
biến đổi băng con nên các thành phần sẽ được phân chia thành các băng tần số khác
nhau và mỗi băng sẽ được mã hóa riêng lẽ. JPEG2000 áp dụng biến đổi wavelet
nguyên thuận nghịch 5/3 và biến đổi thực không thuận nghịch Daubechies 9/7. Việc
tính toán biến đổi wavelet 2D suy ra từ biến đổi wavelet 1D theo các phương pháp
phân giải ảnh tùy chọn. Do biến đổi wavelet 5/3 là biến đổi thuận nghịch nên có thể áp
dụng cho nén ảnh theo cả 2 phương pháp, không tổn thất và có tổn thất. trong khi biến
đổi 9/7 chỉ áp dụng cho nén ảnh theo phương pháp có tổn thất thông tin. Ở phía thu
chúng ta sử dụng biến đổi ngược của wavelet rời rạc (IDWT) để biến đổi ảnh đưa dữ
liệu đến bộ giải lượng tử hóa.
Các hệ số của phép biến đổi sẽ được tiến hành lượng tử hóa. Quá trình lượng tử hóa
cho phép đạt tỷ lệ nén cao hơn bằng cách thể hiện các giá trị biến đổi với độ chính xác
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 18/19
tương ứng cần thiết với mức chi tiết của ảnh cần nén. Các hệ số biến đổi sẽ được lượng
tử hóa theo phép lượng tử hóa vô hướng. Các hàm lượng tử hóa khác nhau sẽ được áp
dụng cho các băng con khác nhau. Bước lượng tử hóa của mỗi băng con sẽ được truyền
đi theo dòng bit để phía thu có thể giải lượng tử cho ảnh.
JPEG2000 có thể sử dụng nhiều phương pháp mã hóa khác nhau cũng như nhiều cách
biến đổi wavelet khác nhau để có thể thu được chất lượng ảnh tương ứng với ứng dụng
cần xử lý. Việc áp dụng được các phương pháp mã hóa khác nhau cũng được mở rộng
sang lĩnh vực nén ảnh động bằng biến đổi wavelet.
2.3
So sánh JPEG và JPEG2000
Một trong những tính năng quan trọng và cũng là ưu điểm rõ nhất của JPEG2000 là
đưa ra cả hai kỹ thuật nén có tổn hao và không tổn hao theo cùng một cơ chế mã hóa.
Nghĩa là JPEG2000 thực hiện tất cả các dạng thức của JPEG chỉ bằng một cơ chế mã
hóa.
Khi ảnh JPEG và JPEG2000 cùng nén với một tỉ lệ nén thì ảnh JPEG2000 hầu như
luôn cho một chất lượng ảnh tốt hơn so với JPEG.
Bảng 2.1: Bảng so sánh dung lượng sau khi nén của JPEG và JPEG2000
Dung lượng ảnh
gốc
(KB)
Dung lượng sau khi nén JPEG
(KB)
Dung lượng sau khi nén
JPEG2000 (KB)
Tỉ lệ nén %
Tỉ lệ nén%
20%
40%
60%
80%
20%
40%
60%
80%
ảnh PNG
106
7.31
9.05
9.56
9.38
7.72
8.07
8.46
8.99
ảnh TIFF
132
7.61
9.05
9.56
9.68
7.75
8.07
8.46
8.99
ảnh
JPEG
16.
8
7.6
9.12
9.4
9.28
7.7
8.05
8.49
9.05
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 19/19
Hình 2.7: So sánh chất lượng ảnh nén JPEG và JPEG2000
2.3.1 Ưu điểm của JPEG và JPEG2000
JPEG là định dạng thường được sử dụng trong lưu và truyền ảnh. JPEG nén được
trên cả ảnh màu và đen trắng.Tỷ lệ nén 1:10 nhưng không ảnh hưởng nhiều đến
cảm nhận của mắt người.
Sự mất mát dữ liệu ở JPEG2000 sẽ ít hơn nhưng hệ số nén vẫn như JPEG. Với
JPEG2000 kỹ thuật xử lý hình ảnh sẽ đạt được những kết quả rất ngoạn mục vì có
thể nén nhỏ lên đến 200 lần mà hình ảnh không sai sót bao nhiêu so với hình ảnh
gốc.
2.3.2 Khuyết điểm
JPEG được tối ưu hóa cho ảnh tự nhiên những không phù hợp với ảnh đồ họa.
JPEG không áp dụng được cho nén ảnh nhị phân. Chất lượng của ảnh giảm đi rõ rệt
nếu xuất hiện lỗi trong quá trình truyền ảnh.
Đối với nén ảnh JPEG 2000 thiết bị mã hóa và giải mã phức tạp, thời gian tính toán
lâu. Khi tỷ lệ nén khoảng 1:25, JPEG2000 so với JPEG có thể tạo ra ảnh nén ít bị chia
ô nhưng giảm đang kể các chi tiết ảnh.
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 20/19
CHƯƠNG 3: KẾT QUẢ MÔ PHỎNG
3.1
Các bước thực hiện hoàn thành mạch
Tìm hiểu ảnh số.
Tìm hiểu thuật toán DCT và Wavelet.
Xây dựng thuật toán nén ảnh bằng biến đổi DCT và wavelet.
Kiểm tra, chỉnh sửa và hoàn thiện.
Mô phỏng.
3.2
Kết quả mô phỏng
Thực hiện mô phỏng bằng công cụ GUI của ứng dụng MATLAB
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 21/19
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 22/19
CHƯƠNG 4: NHẬN XÉT VÀ KẾT LUẬN
4.1
Nhận xét
Đồ án trên đã đưa ra được các lý thuyết tổng quan về ảnh số và nén ảnh, các phép biến
đổi DCT và wavelet (DWT). Đồ án cũng đưa ra được chương trình mô phỏng nén ảnh
có thể ứng dụng trong các công việc lưu trữ và truyền ảnh, .v.v…
4.2
Kết luận
Trong thời gian làm đề tài với sự hạn chế về thời gian và tài liệu cũng như hạn chế về
kiến thức em đã cố gắng tìm tòi và nghiên cứu đề tài. Dưới sự hướng dẫn tận tình của
giáo viên hướng dẫn đã hoàn thành đúng tiến độ yêu cầu.
Với đề tài này em có thể kiểm tra được kiến thức đã học của mình, vừa thu được một
số kiến thức về phần mềm Matlab một trong những phẩn mềm toán học hay và thông
dụng nhất hiện nay.
Tuy nhiên trong quá trình làm việc và nghiên cứu em không thể tránh khỏi sai sót.
Mong sự chỉ bảo của thầy để đề tài ngày một hoàn thiện hơn.
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000
Trang 23/19
TÀI LIỆU THAM KHẢO
Tiếng Việt
[1]
Xử lý ảnh, PGS.TS Nguyễn Quang Hoan, 2006
[2]
Tạp chí phát triển KH&CN, Tập 11, số 2008
[3]
Xử lý âm thanh hình ảnh, học viện công nghệ bưu chính viễn thông, 2007
[4]
Tài liệu hướng dẫn học matlab dành cho môn xử lý ảnh, Bùi Minh Thành
Tiếng Anh
[5]
The Discrete Cosine Transform (DCT) Theory and Application, Department of
Electrical & Computer Engineering, Michigan State University, 2003.
[6]
/>
[7]
/>
[8]
Wavelet ToolboxTM User’s Guide
NGHIÊN CỨU THUẬT TOÁN
NÉN ẢNH JPEG VÀ JPEG 2000