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

Báo cáo Truyền thông Đa phương tiện Tìm hiểu sơ đồ nén ảnh JPEG

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 (567.05 KB, 21 trang )

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────

BÁO CÁO
Môn học: Truyền thông đa phương tiện
Đề tài 3
Tìm hiểu sơ đồ nén ảnh JPEG, khảo sát và đánh
giá thực nghiệm chất lượng ảnh JPEG trong các
trường hợp ứng dụng
Giảng viên hướng dẫn: PGS.TS. Nguyễn Thị
Hoàng Lan
Sinh viên thực hiện:
Nguyễn Xuân Thạo
20122461
Đoàn Anh Tuấn
20122668
Nguyễn Mạnh Cường
20121365
Lê Thị Hải Yến
20122839


Nguyễn Đình Phúc
20122233

Hà Nội, tháng 12 năm 2015

Mục Lục



I.
1.

TÌM HIỂU CHUNG VỀ CHUẨN JPEG VÀ CÁC LOẠI JPEG
Tổng quan về JPEG

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 “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 (Joint Photographic
Experts Group). Tiêu chuẩn JPEG – Định dạng ảnh JPEG là một
tiêu chuẩn nén ảnh được phát triển bởi Nhóm chuyên gia xử
lý ảnh JPEG thành lập năm 1986 với sự hợp tác của các tổ
chức ITU (International Telecommunication Union – Liên minh
Viễn thông quốc tế), ISO (International Organization for
Standardization – Tổ chức tiêu chuẩn quốc tế) và IEC
(International Electrotechnical Commission - Ủy ban Kỹ thuật
điện tử quốc tế), và do đó tiêu chuẩn được đặt tên của nhóm
JPEG.
Kỹ thuật này có thể đạt được hệ số nén hơn tám mươi lần
so với ảnh gốc. Tuy nhiên, hệ số nén càng cao thì hình ảnh
sau khi giải nén sẽ càng bị sai lệch nhiều hơn, nó chỉ gần
giống như ban đầu chứ không đạt hoàn toàn như hình ảnh
gốc. Dù sao thì với mắt thường rất khó nhận ra điều khác
biệt. Nguyên lý của phương pháp nén JPEG là: Cắt hình ảnh
thành từng khối nhỏ, phân tích tất cả các dữ liệu về màu sắc,
độ sáng mà các khối đó chứa bằng các phương trình ma trận.
Ảnh màu trong không gian RGB (Red, Green, Blue) được
chuyển đổi qua hệ YUV. Trong khi thị giác của con người lại

rất nhạy cảm với hệ Y, ít nhạy cảm hơn nhiều với hệ U, V. Hệ
thống sẽ nén thành phần Y của ảnh ở mức độ ít hơn nhiều so
với U và V. Kế tiếp là dùng biến đổi Cosin rời rạc, sau nữa là
mã hóa theo phương pháp Hoffman. Khi giải nén ảnh, các
bước thực thi sẽ làm ngược lại quá trình nói trên.
Tiêu chuẩn này có hai phương pháp nén ảnh cơ bản là:
phương pháp dựa trên biến đổi cosin rời rạc (Discrete Cosine
Transformation - DCT) được đặc tả dành cho nén ảnh có tổn
thất (lossy) và phương pháp tiên đoán (predictive) được đặc
tả dành cho nén ảnh không tổn thất (lossless).

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
3


Các loại JPEG được phân loại theo phương thức thực hiện
mã hóa:
-

JPEG
JPEG
JPEG
JPEG

tuần tự (Sequential DCT) hay Baseline JPEG
lũy tiến (Progressive DCT)
không mất mát thông tin (Sequential lossness)
phân cấp (Hierarchial progressive)

Chuẩn JPEG ban đầu đã nhận được sự đón nhận rộng rãi và

hiện tại có mặt ở khắp nơi thông qua các ứng dụng của máy
tính: nó là khuôn dạng chính cho các ảnh chụp trong web
toàn cầu và được sử dụng rộng rãi trong lưu trữ hình ảnh.
Hơn nữa, ảnh số hóa ngày càng phổ biến với người dùng và
yêu cầu chất lượng ngày tăng lên, vì vậy các vấn đề xử lý
hình ảnh cũng tăng theo. Tuy nhiên, việc nén hình ảnh không
chỉ làm giảm dung lượng lưu trữ và các yêu cầu băng thông,
mà còn cho để nguyên ghép tách, ghép để sắp xếp xử lý và
đáp ứng các mục tiêu trên các ứng dụng và thiết bị cụ thể.
Ngoài ra, yêu cầu về hiệu suất nén tốt hơn với tỷ số nén cao
đã dẫn tới sự phát triển của tiêu chuẩn JPEG 2000. Tháng 12
năm 2000, Nhóm ban hành tiêu chuẩn JPEG 2000 Phần 1 với
tên chính thức là tiêu chuẩn ISO/IEC 15444-1 | ITU-T T.800.
Tiêu chuẩn JPEG 2000 sử dụng mã hóa co giãn độ phân giải
(scalable) ảnh tĩnh liên tục (từ có tổn thất đến không tổn
thất) dựa trên biến đổi wavelet. Tiêu chuẩn không chỉ cung
cấp khả năng nén ảnh với chất lượng và hiệu quả cao hơn hệ
thống JPEG cơ bản mà nó còn có khả năng biểu diễn một ảnh
với nhiều tính năng hơn, hỗ trợ trong cùng luồng bit đáp ứng
được rất nhiều ứng dụng hiện có và ứng dụng mới.
2.

Ưu nhược điểm của phương pháp nén ảnh JPEG

2.1. Ưu điểm
Phương pháp nén ảnh theo chuẩn JPEG có thể đạt hệ số
nén tới 80:1 hay lớn hơn, nhưng phải chịu mất thông tin
(ảnh sau khi giải nén khác với ảnh ban đầu), lượng thông tin
mất mát tăng dần theo hệ số nén. Tuy nhiên sự mất mát
thông tin này không bị làm một cách cẩu thả. JPEG tiến hành

sửa đổi thông tin ảnh khi nén sao cho ảnh mới gần giống như
ảnh cũ, khiến phần đông mọi người không nhận thấy sự khác
biệt. Và bạn hoàn toàn có thể quản lý sự mất mát này bằng
--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
4


cách hạn chế hệ số nén. Như thế người dùng có thể cân nhắc
giữa cái lợi của việc tiết kiệm bộ nhớ và mức độ mất thông
tin của ảnh, để chọn phương án thích hợp.
JPEG cho phép hiển thị các hình ảnh đầy đủ màu hơn (fullcolour) cho định dạng di động mà kích thước file lại nhỏ hơn.
JPEG cũng được sử dụng rất nhiều trên Web. Lợi ích chính của
chúng là chúng có thể hiển thị các hình ảnh với màu chính
xác true-colour (chúng có thể lên đến 16 triệu màu), điều đó
cho phép chúng được sử dụng tốt nhất cho các hình ảnh
chụp và hình ảnh minh họa có số lượng màu lớn.
2.2. Nhược điểm
Nhược điểm chính của JPEG là chúng được nén bằng thuật
toán lossy (mất dữ liệu). Điều này có nghĩa rằng hình ảnh
của bạn sẽ bị mất một số chitiết khi chuyển sang định dạng
JPEG. Đường bao giữa các khối màu có thể xuất hiện nhiều
điểm mờ, và các vùng sẽ mất sự rõ nét, tỉ số nén càng cao
thì sự mất mát thông tin trên ảnh JPEG càng lớn. Nói một
cách khác định dạng JPEG thực hiện bảo quản tất cả thông
tin màu trong hình ảnh đó, tuy nhiên với các hình ảnh chất
lượng màu cao high-colour như hình ảnh chụp thì điều này
sẽ không hề hấn gì. Các ảnh JPEG không thể làm trong suốt
hoặc chuyển động-trong trường hợp này bạn sẽ sử dụng định
dạng GIF (hoặc định dạng PNG để tạo trong suốt).
3.


Các loại JPEG

3.1. JPEG 1992
Tiêu chuẩn JPEG sử dụng mã hóa ảnh tĩnh liên tục có tổn
thất (lossy) dựa trên biến đổi cosin rời rạc DCT, đã được ITU
công bố là một tiêu chuẩn viễn thông ITU-T Recommendation
T.81 và được công nhận là tiêu chuẩn quốc tế với tên chính
thức là ISO/IEC 10918-1:1994. Mục tiêu của tiêu chuẩn JPEG
năm 1992 là hỗ trợ nén ảnh với nhiều kích cỡ/không gian
màu sắc, với tỉ lệ nén theo yêu cầu người dùng, hỗ trợ tái tạo
lại ảnh với chất lượng cao và hỗ trợ quản lý mức độ phức tạp
tính toán khi nén ảnh.
Phương pháp nén ảnh dựa trên nguyên lý sau: Ảnh màu
trong không gian của 3 màu RGB (Red Green Blue) được biến
--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
5


đổi về hệ YUV (hay YCBCr) (điều này không phải là nhất thiết,
nhưng nếu thực hiện thì cho kết quả nén cao hơn). Hệ YUV là
kết quả nghiên cứu của các nhà sản xuất vô tuyến truyền
hình hệ Pal, Secam và NTSC, nhận thấy tín hiệu video có thể
phân ra 3 thành phần Y, U, V (cũng như phân theo màu
chuẩn đỏ, xanh lá cây và xanh da trời).Và một điều thú vị là
thị giác 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 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 độ íthơ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.

Vì phương pháp này thực hiện với các vùng ảnh (thông
thường là 8 x 8 pixel) nên hay xuất hiện sự mất mát thông tin
trên vùng biên của các vùng (block) này. Hiện nay người ta
đã giải quyết vấn đề này bằng cách làm trơn ảnh sau khi
bung nén để che lấp sự khác biệt của biên giới giữa các
block. Một hệ nén ảnh theo chuẩn JPEG cùng algorithm làm
trơn ảnh đã được công ty ASDG đưa ra trong hệ Art
Department Professional.
3.2. JPEG-LS
LS-JPEG được phát triển như sự bổ sung muộn màng cho
JPEG vào năm1993, bằng cách sử dụng một kỹ thuật khác
nhau từ tiêu chuẩn JPEG cũ. Nó sử dụng 1 hệ thống dự báo
được sắp xếp dựa trên ba điểm lân cận (upper, left andupperleft) và entropy mã hóa dựa trên các lỗi dự báo.
Tiêu chuẩn JPEG-LS sử dụng mã hóa ảnh tĩnh liên tục không
tổn thất (lossless) và tổn thất ít (nearlossless) dựa trên mã
hóa tiên đoán và mã hóa ngẫu nhiên, đã được công bố là tiêu
chuẩn quốc tế ISO/IEC IS 14495-1|ITU-T Recommendation
T.87.
3.3. JPEG Search
Ngày nay, nhiều định dạng siêu dữ liệu khác nhau tồn tại đ
ể mô tả hình ảnh nhưng vẫn còn nhiều vấn đề trong khả
năng tương tác.Trong bối cảnh đó, trọng tâm chính của JPEG
Search là cung cấp một khả năng tương tác tốt hơn trong tìm
--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
6


kiếm hình ảnh. Phiên bản hiện tại của dự án JPSearch được
chia thành 5 phần chính:
-


-

-

-

Phần 1 đã được đã được hoàn thành: Nó mô tả cấu
trúc tổng thể của JP Search, một tập hợp lớn các
trường hợp và phác thảo một kho phục hồi hình ảnh
và các thành phần của nó.
Phần 2: Đăng ký, nhận dạng, và quản lý các siêu dữ
liệu
lược
đồ(Registration,
Identification,
and
Management of Metadata Schema): cố gắng vượt qua
những rắc rối trong mô hình siêu dữ liệu.
Phần 3:Định dạng Truy vấn JPSearch(JPSearch Query
Format): cung cấp một giao thức thông báo chuẩn để
khôi phục hình ảnh.
Phần 4: Tập tin định dạng cho các siêu dữ liệu nhúng
vào dữ liệu hình ảnh (JPEG và JPEG 2000).
Phần 5: Định dạng trao đổi dữ liệu giữa Kho Hình ảnh
(Data
Interchange
Format
between
Image

Repositories)

3.4. JPEG XR
Là 1 định dạng hình ảnh cung cấp 1 số cải tiến so với JPEG:
-

-

Khả năng nén tốt hơn: JPEG XR định dạng tập tin hỗ
trợ tỷ lệ nén cao hơn so với JPEG để mã hóa một hình
ảnh với chất lượng tương đương.
Nén không mất mát.
Hỗ trợ cấu trúc lát (Tile structure support) .
Chất lượng màu tốt hơn. Hỗ trợ High Dynamic Range
(HDR) imaging.
Hỗ trợ bản đồ trong suốt (Transparency map
support).
Giảm bớt vùng nén ảnh (Compressed-domain image
modification).
Hỗ trợ siêu dữ liệu (Metadata support).

3.5. JPEG 2000
Kỹ thuật nén JPEG sẽ làm mất thông tin lúc giải nén, càng
nén với hệ số cao thì thông tin càng mất nhiều khi giải nèn.
--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
7


Công nghệ JPEG 2000 sẽ giải quyết vấn đề này. Với JPEG
2000 kỹ thuật xử lý hình ảnh sẽ đạt được những kết quả rất

khả quan 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. JPEG 2000sử
dụng mã hóa co giãn (scalable) ảnh tĩnh liên tục (từ có tổn
thất đến không tổn thất) dựa trên biến đổi wavelet (một công
cụ xử lý tín hiệu rất thành công, đặc biệt là xử lý ảnh). Là
một tiện ích toán học cho phép mô tả bằng một công thức
đơn giản những gì xảy ra tại một thời điểm chính xác của tín
hiệu. Với một chuỗi sóng ngắn, chỉ cần biểu diễn bằng vài
công thức, đường biểu diễn không đều mà không cần phải
mô tả đặc tính của từng điểm một. Và lẽ dĩ nhiên sẽ rất đắc
lực khi phân tích tỉ mỉ một file ảnh kỹ thuật số.
Thuật toán trong kỹ thuật JPEG 2000 là chọn một số nhỏ
các sóng ngắn, các sóng này được lập lại ở những nơi khác
nhau, tỷ lệ khác nhau đã mô tả chính xác tín hiệu của hình
ảnh. File ảnh nén không chứa nhiều hơn số lượng chỉ vị trí và
giãn nở của từng sóng ngắn. Và kỹ thuật mã hóa theo từng
khối, theo từng khu vực ưu tiên của hình ảnh (ROI -Regional
Of Interest) được áp dụng cũng là một tiến bộ đáng kể trong
thuật toán mã hóa JPEG 2000.
Tiêu chuẩn JPEG 2000 không chỉ cung cấp khả năng nén
ảnh với chất lượng và hiệu quả cao hơn hệ thống cơ bản JPEG
mà nó còn có khả năng biểu diễn một ảnh với nhiều tính
năng hơn, hỗ trợ trong cùng bit-stream (chuỗi bit được mã
hóa hoặc giải mã một phần chứa đoạn mã hóa dữ liệu ngẫu

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
8


nhiên) đáp ứng được rất nhiều ứng dụng hiện có và ứng dụng

mới.
Các đặc điểm nén ảnh JPEG-2000

II.
1.

-

Tốc độ dòng bit thấp, hiệu quả tỷ số nén tăng 30% so

-

với ảnh JPEG nén dựa trên DCT.
JPEG-2000 gồm cả nén không tổn hao và có tổn hao.
Phù hợp nén lũy tiến với kỹ thuật truyền dòng bit.
Có xử lý vùng và mã hóa các vùng quan tâm khác

-

nhau.
Cho phép xử lý và truy nhập ngẫu nhiên vào vùng

-

quan trọng trong ảnh.
Tồn tại các sai số nội tại.
Kiến trúc mở.
Cho phép các đặc tả nội dung.
Có khả năng bảo vệ an toàn an ninh thông tin ảnh bởi


phương pháp nén.
SƠ ĐỒ NÉN ẢNH JPEG CƠ BẢN (BASELINE JPEG), SỰ
KHÁC NHAU GIỮA SƠ ĐỒ JPEG VÀ SƠ ĐỒ NÉN JP-LS
Quá trình mã hóa và giải mã JPEG tuần tự
Các bước chủ yếu thực hiện nén ảnh:
- Xử lí màu chuyển về không gian màu YCbCr
- Ảnh đầu vào được phân chia thành các khối 8*8 để xử lí
- Thực hiện biến đổi Cosin (DCT) đối với mỗi khối và xử lí tuần tự
các khối
- Lượng tử hóa : Dùng bảng lượng tử
- Quá trình mã hóa :
+ Thành phần DC: mã hóa dự đoán DPCM
+ Thành phần AC sắp xếp lại theo zig-zag và mã hóa RLC,
mã hóa Huffman
- Ghép các khối tạo thành các dòng dữ liệu, dòng bit

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
9


Hình: Sơ đồ nén ảnh JPEG
1.1.

Xử lý màu chuyền về không gian màu YcBCr
Bước tiền xử lý: Level Offset
- Để đơn giản việc thiết kế bộ mã hóa DCT
- Nếu dùng quá trình DCT cho các tín hiệu số thành phần Y, Cr,Cb
thì các tín hiệu Cr,Cb có biên độ cực đại ±128 ( giá trị nhị phân trong hệ
thống lấy mẫu 8 bit), còn tín hiệu Y có một khoảng cực đại từ 0 đến 255
giá trị nhị phân. Để đơn giản việc thiết kế bộ mã hóa DCT, tín hiệu Y

được dịch mức xuống dưới bằng cách trừ 128 từ từng giá trị pixel trong
khối để có khoảng cực đại của tín hiệu giống như đối với các tín hiệu CR
và CB. Ở phần giải mã DCT, giá trị này (128) được cộng vào các giá trị
pixel chói. Giá trị hệ số DC của khối DCT có một khoảng từ –1024 đến
1016. Đối với hệ số AC ( với u,v=1,2,...,7), C(u) và C(v)=1 và các giá trị
cực đại của nó nằm trong khoảng ±1020 theo phương trình FDCT. Khối
8×8 các giá trị của hệ số DCT đưa ra 1 giá trị DC lớn (ví dụ =591), biểu
diễn độ sáng trung bình của khối 8×8 và các giá trị rất nhỏ của các thành
phần tần số cao theo chiều ngang và chiều đứng.
Bước tiên xử lý: Chuyển đổi không gian màu
- Biến đổi ảnh từ không gian màu RGB sang YCbCr : tăng thành
phần độ chói, giảm các thành phần màu sắc (mắt người nhạy cảm với độ
sáng hơn màu sắc ), sử dụng các công thức biến đổi :
Y‘ = 0.299*R' + 0.587*G' + 0.114*B‘
U‘ = -0.147*R' - 0.289*G' + 0.436*B'
= 0.492*(B'- Y')
V‘ = 0.615*R' - 0.515*G' - 0.100*B'
= 0.877*(R'- Y')
R' = Y' + 1.140*V'
G' = Y' - 0.394*U' - 0.581*V'
B' = Y' + 2.032*U'

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
10


1.2.

Ảnh đầu vào được phân thành các khối 8x8 để xử lý
Mục đích : Giảm thời gian tính toán cũng như làm tăng


khả năng chính xác khi tính toán. Do các điểm ảnh lân cân có
độ tương quan cao, do đó phép biến đổi DCT cho từng khối
nhỏ sẽ tập trung năng lượng vào một số ít các hệ biến đổi.
Việc loại bỏ một số năng lượng thấp trong các khối chỉ tạo ra
mất mát thông tin cục bộ giúp nâng cao chất lượng ảnh.
1.3.

Biến đổi DCT
Vai trò : DCT (Discrete Cosine Transform) là phép biến đổi Cosin
rời rạc để chuyển tín hiệu từ miền không gian sang miền tần số.
Đặc điểm của phép biến đổi này là tín hiệu ảnh trong miền không gian
chuyển sang miền tần số thì các thành phần DC và thành phần AC mang
hầu hết các thông tin chứa trong ảnh gốc. Trong đó DC là thành phần
quan trọng nhất mang độ chói trung bình của ảnh, các thành phần AC
chứa các thông tin chi tiết của ảnh. Sau đó khi đi qua tầng lượng tử hóa,
các hệ số ít quan trọng sẽ bị loại bỏ và chỉ giữ lại một số hệ số đầu tiên
gọi là hệ số DCT. Vai trò chủ yếu của phương pháp DCT là giảm độ dư
thừa dữ liệu trong pixcel ở miền tần số cao ( bởi vì bất kì một giá trị
pixcel nào đó cũng có thể dự đoán từ các giá trị pixcel lân cân của nó nên
thông tin từ các pixcel tương đối nhỏ). Không những vậy, sau khi biến
đổi DCT thì hàm giải tương quan giảm đi một các đáng kể. Chính vì vậy
mà hiệu suất nén đạt được tỉ số nén cao.
Mục đích:
- Chuyển từ miền không gian sang miền tần số=> tín hiệu sẽ tập trung
sang miền tần số thấp.
- DCT làm giảm độ tương quan không gian block. Điều đó cho phép
biểu diễn thích hợp ở miền DCT do các hệ số DCT có xu hướng có phần
dư thừa ít hơn. Điều này có nghĩa là DCT gói một phần lớn năng lượng
tín hiệu vào các thành phần có thành phần tần số tương ứng để lưu trữa

hoặc truyền dẫn tạo ) hoặc các giá trị thấp đối với các thành phần tần số
cao, nhờ đặc tính của mắt người, các hệ số DCT có thể mã hóa phù hợp.
Chỉ các hệ số DCT quan trọng nhất mới được mã hóa và truyền đi. DCT
thuận kết hợp với video đầu vào được mãi hóa bằng các mẫu dài 8 bit.
Nếu hệ số được lượng tử hóa bằng 11 bit thì nén sẽ tổn hao. Sau khi thực
hiện DCT năng lượng thấp sẽ tập trung chủ yếu ở miền tần số thấp.

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
11


Biến đổi DCT một chiều
- Thuận:
- Ngược:
Trong đó :
+ X(k) là chuỗi kết quả
+ x(m) là giá trị của mẫu m
+ k là chỉ số của hệ số khai triển
+ m chỉ số của mẫu
+ N- số mẫu có trong tín hiệu

Biến đổi DCT 2 chiều
- Để tách tương quan nội dung ảnh cao hơn, mã hóa DCT 2 chiều
được dùng cho các khối 8*8 giá trị điểm chói. Quá trình biến đổi DCT
tiến FDCT (forward DCT) dùng trong tiêu chuẩn JPEG được định nghĩa
như sau:
- Biến đổi DCT là một trong những công đoạn quan trọng trong
JPEG. Nhiệm vụ của nó là tập trung năng lượng vào một số các giá trị để
giải tương quan tất nhất nhằm nâng cao tỉ số nén.
Trong đó :

+ f(i, k): các mẫu gốc trong khối 8*8
+ F(u,v) : các hệ số của khối DCT 8*8
- Phương trình trên là 1 liên kết của 2 phương trình DCT 1 chiều,
một cho tần số ngang và một cho tần số đứng. Giá trị trung bình của
block 8*8 chính là hệ số thứ nhất ( khi u,v =0)

- Phương trình này cộng tất cả các giá trị pixcel trong khối 8*8 và
chia kết quả cho 8. Kết quả phép tính bằng 8 lần giá trị pixcel trung bình
trong khối. Do đó hệ số thứ nhất được gọi là hệ số DC. Các hệ số khác,
dưới giá trị thành phần một chiều biểu diễn các tần số cao hơn theo chiều
dọc.
--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
12


- Các hệ số ở về phía bên phải của thành phần một chiều biểu thị
các tần số cao hơn theo chiều ngang. Hệ số trên cùng ở cận phải (0,7) sẽ
đặc trưng cho tín hiệu có tần số cao nhất theo phương nằm ngang của ma
trận 8×8, và hệ số hàng cuối bên trái (7,0) sẽ đặc trưng cho tín hiệu có tần
số cao nhất theo phương thẳng đứng. Còn các tần số khác ứng với những
phối hợp khác nhau của các tần số theo chiều dọc và chiều ngang.

Hình: Các bước của quá trình biến đổi DCT với 1 khối:

1.4.

Lượng tử hóa: Dùng bảng lượng tử
Mục đích:
- Làm giảm số lượng bit cần thiết để lưu trữ các hệ số => quá trình
xử lí có mất mát thông tin.

- JPEG sử dụng phương pháp lượng tử không đồng đều, các hệ số
có tần số thấp được chia cho các giá trị nhỏ, các hệ số tương ứng với tần
số cáo được chia cho các giá trị lớn hơn, kết quả sẽ được làm tròn ( bỏ đi
các phần thập phân).
- Bảng lượng tử Q(u,v) thông dụng:

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
13


Ví dụ:
- Kết quả DCT(đầu vào):

- Kết quả thu được sau quá trình lượng tử hóa:

1.5.

Quá trình mã hóa
Quét zig-zag: tạo ra đầu vào gồm nhiều số giống nhau. Thông thường các
hệ số tương ứng tần số cao phần lớn giá trị bằng 0 dẫn đến tạo nhiều dãy
hệ số 0 liên tiếp.
Ví dụ:

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
14


Hình: Quét zig-zag
Mã hóa : Đầu vào của khối nén gồm 2 thành phần là thành phần hệ số
một chiều (DC) và thành phần hệ số xoay chiều (AC).

- Thành phần DC:
+ Sau quá trình lượng tứ hóa, hệ số DC được xem như tách riêng ra
khỏi 63 hệ số AC.
+ hệ số DC là thước đo giá trị trung bình của 64 mẫu (image
sample) => vì có sự tương quan mạnh giữa các hệ số DC của các khối
8x8 liền kề, hệ số DC được mã hóa dựa trên sự khác nhau giữa hệ số DC
của khối liền trước theo thứ tự mã hóa
+ Các hệ số DC là giá trị trung bình của các khối ảnh 8x8. Độ chói
trung bình của các block ảnh gần nhau thường ít biến đổi, do đó trong
chuẩn nén JPEG, các hệ số DC được mã hóa theo phương pháp DPCM.
Để tăng hiệu suất nén, kết quả nhận được sau đó được mã hóa tiếp bằng
mã Huffman

Hình : Quét zig-zag

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
15


Hình: Mã hóa thành phần DC
- Thành phần AC: sắp xếp lại theo zig-zag và mã hóa RLC, mã hóa
Huffman.

Hình: Mã hóa thành phần AC
Ghép các khối tạo thành các dòng dữ liệu, dòng bit

1.6.

Sau khi mã hóa, ghép các khối tạo thành dòng bit, dòng
dữ liệu. Sau đó chuyển các dữ liệu đã mã hóa ra tệp để lưu

trữ.
2. Sự khác nhau giữa sơ đồ JPEG và
2.1.
Mối quan hệ giữa JPEG-LS và JPEG

sơ đồ nén JPEG-LS

File JPEG-LS có cấu trúc tương tự như file JPEG đến mức
người ta coi JPEG-LS là một loại JPEG, hay phần mở rộng
của JPEG.
Tuy nhiên do một số sự khác nhau, và trong thực tế rất
ít ứng dụng hỗ trợ JPEG mà hỗ trợ JPEG-LS, nên JPEG và

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
16


JPEG-LS nên được coi là các định dạng khác nhau và không
tương thích.
Sơ đồ nén ánh JPEG-LS
Thuật toán LOCO-I
JPEG-LS áp dụng lý thuyết nén ảnh không tổn hao theo
DPCM, trong đó mẫu dự đoán ᾶ được tính toán dựa trên 3
lân cận như hình sau:

2.2.
2.2.1.

Trong hình vẽ, mẫu tại vị trí X là mẫu cần dự đoán. Các vị
trí A, B, C là các mẫu lân cận là cơ sở cho bộ dự đoán dự

đoán ra mẫu ở vị trí X.
Giả sử giá trị điểm ảnh tại A, B, C lần lượt là a, b, c là các
số nguyên đã biết.
Giá trị mẫu dự đoán tại X theo thuật toán LOCO-I là:
ᾶ=
Mẫu dự đoán ᾶ sau đó được so sánh sai khác với giá trị
mẫu thực tế α, sự sai khác này sẽ là thông tin được mã
hóa.
2.2.2.

Sơ đồ nén ảnh JPEG-LS

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
17


Sơ đồ nén ảnh JPEG-LS về cơ bản giống với sơ đồ nguyên lý
nén ảnh không tổn hao áp dụng DPCM.
Trong hình vẽ, tín hiệu đầu vào là các mẫu ( các giá trị điểm
ảnh ) cũng được so sánh sai khác với mẫu dự đoán chính nó ở
đầu ra của khối dự đoán ( khối Predict ). Khối dự đoán này
thực hiện tính toán mẫu dự đoán theo thuật toán LOCO-I đã
nói ở trên.
Sự sai khác này là thông tin dùng để mã hóa. Nó là đầu ra
của khối Modeler. Sau đó nó được đưa đến khối Coder, là khối
mã hóa. Từ đây thông tin sai khác sẽ được mã hóa thành các
từ mã. Mã hóa sử dụng là mã hóa Golomb. Sản phẩm cuối
cùng của quá trình nén là các từ mã sắp xếp liên tiếp tạo
thành dòng bit.
Giải thích tính chất không mất mát thông tin và nén của sơ

đồ:
• Không mất mát thông tin: từ thuật toán LOCO-I ở trên,
ta nhận thấy giá trị của mẫu dự đoán là giá trị của một
trong các điểm ảnh lân cận ( a, b ) hoặc sự sai khác tính
toán giữa giá trị các điểm ảnh ( a+b-c ). Dù là trường hợp
nào thì giá trị nhận được của mẫu dự đoán luôn là số
nguyên ( bởi a, b là số nguyên, hiệu giữa a, b, c cũng là số
nguyên ). Khi giải nén khôi phục ảnh thì giá trị điểm ảnh
được tính dựa trên sự sai khác cộng với giá trị nguyên, kết
--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
18


quả cho ra đúng giá trị điểm ảnh mà không sai lệch so với
ban đầu ( chỉ là sự cộng trừ giữa các số nguyên ). Vì vậy sơ
đồ này không có sự mất mát thông tin.
Nén ảnh: thông thường giá trị của điểm ảnh sẽ được biểu
diễn bằng số nguyên 8 bit. Nếu mã hóa các điểm ảnh thì sẽ
phải dùng tất cả từ mã 8 bit. Tuy nhiên, sự sai khác của các
điểm ảnh là rất nhỏ so với giá trị ( thường là giá trị 1 chữ số
trong hệ 10 ), vì vậy lượng bit dùng để mã hóa chỉ cần dùng
là 3, 4 bit. Mã hóa sự sai khác cho phép tính toán giá trị điểm
ảnh từ sự sai khác và giá trị điểm ảnh lân cận nên vẫn có thể
bảo toàn giá trị điểm ảnh, hay bảo toàn thông tin. Vậy thay
vì mã hóa các điểm ảnh ta chỉ cần mã hóa sự sai khác, dùng
số bit cho từ mã ít hơn. Điều này tạo ra tính chất nén của sơ
đồ.
2.3.

So sánh sơ đồ nén ảnh JPEG-LS và sơ đồ JPEG cơ bản


Sơ đồ nén ảnh JPEG cơ bản
Trong sơ đồ nén ảnh JPEG cơ bản, dữ liệu ảnh gồm các
điểm ảnh được chia thành các khối 8x8, sau đó các khối
được biến đổi DCT, lượng tử hóa và mã hóa.

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
19


Sơ đồ nén ảnh JPEG-LS
Trong sơ đồ nén ảnh JPEG-LS, các điểm ảnh được đưa lần
lượt vào để tính sự sai khác giữa mẫu thực và mẫu dự
đoán. Sau đó được mã hóa.
Sự khác nhau giữa 2 sơ đồ:


2.4.

JPEG
Xử lí từng khối điểm
ảnh



JPEG-LS
Xử lí từng điểm ảnh




Giá trị điểm ảnh sau khi
biến đổi DCT sẽ trở
thành số thực, qua
quá trình lượng tử hóa
sẽ làm tròn thành số
nguyên.



Mọi quá trình xử lí
đều cho kết quả là số
nguyên



Phần giá trị làm tròn là
lượng thông tin mất
mát không thể phục hồi
=> mất mát thông
tin.



Không
mất
không tin

mát

Khả năng ứng dụng của JPEG-LS

Sử dụng thông tin sự sai khác giữa các điểm ảnh tạo nên
tính chất nén của JPEG-LS. Vì vậy hiệu năng nén của JPEG-

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG
20


LS cũng phụ thuộc vào sự sai khác ấy. Nếu sự sai khác
giữa các điểm ảnh là nhỏ, tức là các giá trị sai khác chỉ tập
trung một số giá trị nhất định đồng nghĩa với việc số lượng
bit sử dụng mã hóa càng nhỏ. Ngược lại nếu giá trị các
điểm ảnh quá khác biệt, khi ấy số lượng giá trị sai khác sẽ
lớn, số lượng bit sử dụng cho từ mã sẽ nhiều. Khi ấy
phương pháp sẽ không mấy hiệu quả.
Trong thực tế các giá trị điểm ảnh cách biệt khá lớn làm sự
sai khác có nhiều giá trị. Điều này làm cho phương pháp
nén không có tỉ số nén cao dẫn đến chuẩn nén JPEG-LS
không được sử dụng rộng rãi. Thực tế là rất ít ứng dụng hỗ
trợ chuẩn JPEG-LS.
JPEG-LS được dùng chủ yếu trong các lĩnh vực coi trọng sự
chính xác hàng đầu như quốc phòng, y tế, vệ tinh. Còn các
ứng dụng truyền thông chủ yếu vẫn dùng JPEG do hiệu
quả về tỉ số nén.

III.

CÀI ĐẶT THỬ NGHIỆM ỨNG DỤNG NÉN ẢNH JPEG CƠ
BẢN

--------------------------------------------------------------------------------------------------------------------------Nhóm 3 Tìm hiểu sơ đồ nén ảnh JPEG

21



×