Top Banner
VỆ Ô Ệ Ô V UYỀ Ô ẬP LỚ XỬ DỮ LỆU PƠ Ệ ĐỀ TÀI 6: ìm hiểu các loại ảnh JPEG iáo viên hướng dẫn: PGS.TS. Nguyễn Thị Hoàng Lan Sinh viên thực hiện: Nguyễn Văn Hòa 20081020 TTM-K53 Nguyễn Khánh Hưng 20081279 TTM-K53 Lê Bá Huy 20081131 TTM-K53 Nguyễn Lê Hoài Nam 20081819 TTM-K53 Thân Văn Quang 20082082 TTM-K53 Trần Văn Toàn 20082715 TTM-K53 Nguyễn Hoàng Việt 20083139 TTM-K53 Trần Minh Hải 20086357 SPKT-K53 4/2012
43

Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

Jul 31, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

V Ệ Ô Ệ Ô V UYỀ Ô

ẬP LỚ

XỬ LÝ DỮ L ỆU P Ơ Ệ

ĐỀ TÀI 6:

ìm hiểu các loại ảnh JPEG

iáo viên hướng dẫn: PGS.TS. Nguyễn Thị Hoàng Lan

Sinh viên thực hiện:

Nguyễn Văn Hòa 20081020 TTM-K53

Nguyễn Khánh Hưng 20081279 TTM-K53

Lê Bá Huy 20081131 TTM-K53

Nguyễn Lê Hoài Nam 20081819 TTM-K53

Thân Văn Quang 20082082 TTM-K53

Trần Văn Toàn 20082715 TTM-K53

Nguyễn Hoàng Việt 20083139 TTM-K53

Trần Minh Hải 20086357 SPKT-K53

4/2012

Page 2: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

2

A. MỞ ẦU ............................................................................................................ 4

B. DU ........................................................................................................ 5

I. iới thiệu chung về chuẩn JPE ................................................................ 5

1. Giới thiệu chung ......................................................................................... 5

1.1. JPEG là gì ?......................................................................................... 5

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

2. Các loại JPEG ............................................................................................. 7

2.1. JPEG (1992) ........................................................................................ 7

2.2. LS-JPEG (Lossness JPEG) ................................................................. 8

2.3. JPEGSearch ...................................................................................... 10

2.4. JPEGXR ............................................................................................ 11

II. ỹ thuật nén ảnh JPE ............................................................................. 11

1. Giới thiệu chung về kỹ thuật nén ảnh ....................................................... 11

2. Phương pháp nén ảnh JPEG lũy tiến(JPEG progressive) ......................... 15

2.1. Sơ đồ khối ......................................................................................... 15

2.2. Phân tích sơ đồ khối .......................................................................... 16

2.2.1. Biến đổi DCT ............................................................................... 16

2.2.2. Lượng tử hóa ................................................................................ 18

2.2.3. Quét zig-zag ................................................................................. 19

2.2.4. Mã hóa thành phần DC ................................................................ 20

2.2.5. Mã hóa thành phần AC ................................................................ 22

2.2.6. Giải nén ........................................................................................ 23

2.3. Giải thích mục đích ........................................................................... 24

Page 3: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

3

2.4. Đặc điểm của nén JPEG lũy tiến ...................................................... 25

3. Phương pháp nén ảnh JPEG không tổn hao(JPEG Lossless) ................... 26

3.1. Khái niệm .......................................................................................... 26

3.2. Các phương pháp .............................................................................. 26

3.2.1. Phương pháp mã hóa độ dài loạt RLE ......................................... 26

3.2.2. Phương pháp mã hóa Huffman .................................................... 28

3.2.3. Phương pháp mã hóa Lemple – Ziv ............................................. 32

3.2.4. Phương pháp mã dự đoán ............................................................. 33

III. Ứng dụng của các loại JPE ................................................................. 35

IV. hử nghiệm nén ảnh JPE và so sánh ................................................. 36

1. Môi trường công cụ .................................................................................. 36

2. Thử nghiệm kết quả và so sánh ................................................................ 37

C. Ế LUẬ ..................................................................................................... 41

L ỆU M Ả ...................................................................................... 42

P Â Ô V Ệ ................................................................................... 43

Page 4: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

4

A. MỞ ẦU

Cùng với sự phát triển mạnh mẽ của máy tính và sự ra đời của Internet thì việc

tìm một phương pháp nén ảnh để giảm bớt không gian lưu trữ thông tin và truyền

thông tin trên mạng nhanh chóng đang là một yêu cầu cần thiết. Trong những năm

gần đây, có rất nhiều các phương pháp đã và đang được nghiên cứu rộng rãi để thực

hiện việc nén ảnh. Tất cả đều với một mục đích chung là làm thế nào để biểu diễn

một ảnh với dung lượng ít nhất để có thể tối thiểu hoá dung lượng kênh truyền và

không gian lưu trữ trong khi vẫn giữ được tính trung thực của ảnh. Và JPEG là một

trong những phương pháp nén ảnh khá hiệu quả.Trong đề tài này chúng ta nghiên

cứu về : “ Các loại ảnh JPE ”.

Page 5: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

5

B. DU

I. iới thiệu chung về chuẩn JPE

1. iới thiệu chung

1.1. JPEG là gì ?

JPEG viết tắt của Joint Photographic Experts Group là tên của một nhóm

nghiên cứu đã phát minh ra chuẩn này, từ năm 1986 nhóm nghiên cứu đã đưa ra

chuẩn nén ảnh JPEG và đến năm 1994 JPEG được khẳng định với tiêu chuẩn ISO

10918-1. JPEG là định dạng nén ảnh có tổn thất, mặc dù có sự thay đổi của các biến

thể nhưng nó vẫn giữ được nguyên lý của chuẩn nén cơ bản JPEG (các định dạng

mở rộng khác như .jpg, .jpeg, .jpe, .jfif và .jif).

JPEG được sử dụng để lưu trữ ảnh và truyền qua mạng Internet (World Wide

Web). Định dạng nén JPEG được sử dụng trong tất cả máy ảnh kỹ thuật số có kích

thước rất nhỏ nên thường chụp được nhiều ảnh trên một thẻ nhớ, JPEG dễ hiển thị

trên màn hình, ảnh có thể chuyển nhanh qua thư điện tử (dung lượng từ 300KB đến

700KB), ảnh JPEG chất lượng cao có dung lượng khoảng vài MB hay lớn hơn,

khuyết điểm chính của ảnh JPEG là ảnh có chất lượng thấp, ảnh thường bị suy giảm

nếu so với ảnh gốc.

Công nghệ nén ảnh JPEG là một trong những công nghệ nén ảnh hiệu quả,

cho phép làm việc với các ảnh có nhiều màu và kích cỡ lớn. Tỷ lệ nén ảnh đạt mức

so sánh tới vài chục lần. Tuy nhiên được cái này phải mất cái khác, đó là quy luật

bù trừ tự nhiên.

Thông thường các ảnh màu hiện nay dùng 8 bit (1 byte) hay 256 màu thay

cho từng mức cường độ của các màu đỏ, xanh lá cây và xanh da trời. Như thế mỗi

điểm của ảnh cần 3 byte để lưu mã màu, và lượng byte một ảnh màu này chiếm gấp

24 lần ảnh trắng đen cùng cỡ. Với những ảnh này các phương pháp nén ảnh như IFF

(Image File Format) theo phương pháp RLE (Run Length Encoding) không mang

lại hiệu quả vì hệ số nén chỉ đạt tới 2:1 hay 3:1 (tất nhiên là kết quả nén theo

phương pháp RLE phụ thuộc vào cụ thể từng loại ảnh, ví dụ như kết quả rất tốt với

Page 6: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

6

các loại ảnh ít đổi màu). Ưu điểm cao của phương pháp này là ảnh đã nén sau khi

giải nén sẽ trùng khớp với ảnh ban đầu. Một số phương pháp nén khác không để

mất thông tin như của Lempel - Ziv - Welch (LZW) có thể cho hệ số nén tới 6:1.

Nhưng như thế vẫn chưa thật đáp ứng yêu cầu đòi hỏi thực tế.

Phương pháp nén ảnh theo thuẩ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 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.

1.2. u nhược điểm của phương pháp nén ảnh JPE

u điểm

JPEG cho phép nén ảnh với tỉ số nén lên đến 80:1 hoặc cao hơn, hiển thị các

hình ảnh đầy đủ màu hơn (full-colour) 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.

hược điểm

Nhược điểm chính của định dạng 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ố chi

tiế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).

Page 7: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

7

2. ác loại JPE

2.1. JPEG (1992)

Đây là loại JPEG tiêu chuẩn. 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 đổ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 độ í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.

Giai đoạn tiếp theo là biến đổi những vùng thể hiện dùng biến đổi cosin rời rạc

(thông thường là những vùng 8x8 pixel). Khi đó thông tin về 64 pixel ban đầu sẽ

biến đổi thành 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 pixel

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

giải nén ảnh đã nén bạn 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 (mất

nhiều thông tin của U và V hơn). Sau đó thì áp dụng phương pháp mã hóa của

Huffman: 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 giải nén ả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.

Page 8: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

8

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.

2.2. LS-JPEG (Lossness JPEG)

LS-JPEG được phát triển như sự bổ sung muộn màng cho JPEG vào năm

1993, 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 and

upper-left) và entropy mã hóa dựa trên các lỗi dự báo.

Không giống như chế độ mất dự liệu dựa trên DCT, các quá trình mã hóa

không mất mát thông tin dựa trên mô hình tiên đoán mã đơn giản gọi là chuyển mã

xung vi sai (Differential Pulse Code Modulation-DPCM) . Đây là một mô hình dự

đoán các giá trị mẫu từ các mẫu lân cận đã được mã hóa trong hình ảnh .Hầu hết các

dự đoán lấy trung bình của các mẫu ngay lập tức ở bên trên và bên trái của mẫu mục

tiêu. DPCM mã hóa sự khác biệt giữa các mẫu dự đoán thay vì mỗi mẫu mã hóa độc

lập.Sự khác biệt từ một trong những mẫu tiếp theo thường là gần bằng không.

Các bước chính của chế độ hoạt động không giảm chất lượng được mô tả

trong hình 2

Page 9: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

9

Trong quá trình này, dự báo các kết hợp tối đa ba mẫu lân cận tại A, B, và C

được thể hiện trong hình 3 để dự báo giá trị của mẫu tại vị trí dán nhãn của X.

Ba mẫu láng giềng phải được đã được dự đoán mẫu . Bất kỳ một trong những

dự đoán cho thấy trong bảng dưới đây có thể được sử dụng để ước tính mẫu đặt tại .

Bất kỳ một trong tám dự đoán được liệt kê trong bảng có thể được sử dụng. Lưu ý

rằng các lựa chọn 1, 2, và 3 được dự đoán một chiều và lựa chọn 4, 5, 6, và 7 được

dự đoán hai chiều. Giá trị lựa chọn đầu tiên trong bảng, bằng không, chỉ được sử

dụng để mã hóa khác biệt ở chế độ phân cấp hoạt động. Một khi tất cả các mẫu

được dự đoán, sự khác biệt giữa các mẫu có thể được lấy và entropy-mã hóa trong

một thời trang không giảm chất lượng bằng cách sử dụng mã hóa Huffman hoặc mã

số học .

Page 10: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

10

Thuật toán LoCo-I

Cốt lõi của LS-JPEG dựa trên các thuật toán LoCo-I. Trong thuật toán LoCo-

I, cạnh được phát hiện ban đầu của các cạnh theo chiều ngang hoặc chiều dọc bằng

cách kiểm tra các điểm ảnh lân cận của điểm ảnh X hiện thời như trong hình 3.Các

điểm ảnh có nhãn B được sử dụng trong trường hợp của cạnh thẳng đứng trong khi

điểm có nhãn A sử dụng trong trưởng hợp cạnh của cạnh nằm ngang.Điều dự đoán

đơn giản này được gọi là phát hiện cạnh trung vị(Median Edge Dectection-MED)

hay dự đoán LoCo-I(LoCo-I predictor)

Điểm ảnh X được dự đoán bằng LoCo-I predictor theo tiêu chí sau đây:

Ba dự đoán đơn giản được chọn theo các điều kiện:(1) nó có khuynh hướng

nhận B trong trường hợp tồn tại cạnh dọc trái của X,(2) A trong trường hợp cạnh

nằm ngang ở phía trên, hoặc (3) A+B-C nếu không có cạnh nào được phát hiện.

2.3. JPEGSearch

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 JPEGSearch là cung cấp một khả năng tương tác tốt hơn trong tìm 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 JPSearch,

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.

Page 11: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

11

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).

2.4. JPEGXR

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 và 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)

II. ỹ thuật nén ảnh JPE

1. iới thiệu chung về kỹ thuật nén ảnh

Các kỹ thuật nén ảnh hướng tới việc giải quyết bài toán giảm khối lượng

thông tin cần thiết để mô tả ảnh số. Nền tảng của quá trình nén là loại bỏ dư thừa có

trong tín hiệu. Phương pháp nén hiệu quả nhất thường sử dụng các biến đổi toán

học để biến ma trận các điểm ảnh trong không gian hai chiều sang một không gian

hai chiều khác, nơi mức độ tương quan giữa các hệ số biến đổi mới nhỏ hơn. Như

chúng ta biết, độ dư thừa trong tín hiệu ảnh số phụ thuộc vào mức độ tương quan

giữa các điểm ảnh, độ tương quan lớn thì độ dư thừa cũng lớn.

Phân loại các phương pháp nén ảnh:

Phân loại theo nguyên lý nén

- Nén không tổn hao (Lossless data reduction)

- Nén có tổn hao (Loss data reduction)

Phân loại theo cách thực hiện nén

- Phương pháp không gian (Spatial Data Compression): các phương

pháp nén bằng cách tác động trực tiếp lên điểm ảnh.

Page 12: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

12

- Phương pháp sử dụng biến đổi (Transform Coding): phương pháp

nén sử dụng các phép biến đổi không gian, quá trình nén được

thực hiện bằng cách tác động lên ảnh biến đổi.

Dư thừa trong dữ liệu

Độ dư thừa số liệu là vấn đề trung tâm trong nén ảnh số. Độ dư thừa được xác

định như sau: nếu và là lượng số liệu trong hai tập hợp số liệu cùng được

dùng để biễu diễn lượng thông tin cho trước thì độ dư thừa số liệu tương đối của

tập số liệu thứ nhất so với tập số liệu thứ hai có thể được định nghĩa như sau:

với

Trong trường hợp = thì = 0, điều này có nghĩa là so với tập số liệu thứ

hai thì tập số liệu thứ nhất không chứa số liệu dư thừa. Khi << thì tiến tới

vô cùng và tiến tới một, có nghĩa là độ dư thừa số liệu tương đối của tập số liệu

thứ nhất là khá lớn so với tập số liệu thứ hai.

Chất lượng ảnh nén có thể thay đổi tùy theo đặc điểm của hình ảnh nguồn và

nội dung ảnh. Có thể đánh giá chất lượng ảnh nén theo số bit cho một điểm trong

ảnh nén ( ). được xác định bằng tổng số bit dùng để mô tả ảnh nén chia cho

tổng số điểm ảnh:

= Số bit nén/Số điểm

Trong lý thuyết nén ảnh số có thể phân biệt ba loại dư thừa số liệu khác nhau

- Dư thừa mã (Coding Redundancy)

- Dư thừa trong pixel (Interpixel Redundancy)

- Dư thừa tâm sinh lý

Page 13: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

13

iêu chí đánh giá chất lượng hình ảnh

Quá trình nén ảnh thường đi đôi với việc ảnh nén bị biến dạng so với ảnh gốc.

Vì vậy, cần xác định tiêu chí và phương pháp đánh giá một cách khách quan lượng

thông tin về ảnh đã bị mất đi sau khi nén. Có thể đánh giá mức độ sai số giữa hai

ảnh thông qua mức sai lệch trung bình bình phương – RMS (Root Mean Square).

Cho là ảnh gốc, là ảnh khôi phục sau khi nén. Khác biệt tuyệt đối

giữa hai ảnh là:

Sai số trung bình nình phương được tính theo công thức:

Thông thường, khi giá trị RMS thấp, chất lượng ảnh nén sẽ tốt. Tuy nhiên,

trong một số trường hợp chất lượng hình ảnh nén không nhất thiết phải tỷ lệ thuận

với giá trị RMS. Một phương pháp đánh giá chất lượng ảnh nén khác dựa trên tỷ lệ

tín hiệu/nhiễu được tính theo công thức sau:

SNR (Signal to Noise Ratio) - tỷ lệ tín hiệu/ nhiễu

Mô hình hệ thống nén dữ liệu

Hình 5: Sơ đồ hệ thống nén tín h ệu

Page 14: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

14

Hệ thống truyền dẫn sử dụng các phương pháp nén tín hiệu khác nhau có thể

được mô tả bằng sơ đồ khối như hình trên. Các thành phần quan trọng nhất trong hệ

thống là bộ mã hóa và giải mã.

ộ mã hóa nguồn và giải mã nguồn

Bộ mã hóa nguồn thực hiện quá trình loại bỏ các thành phần dư thừa trong ảnh

gốc. Thông thường, bộ mã hóa nguồn có cấu trúc như trên hình sau:

Hình 6: Sơ đồ b mã hóa nguồn

Bộ chuyển đổi

Thường dùng các phép biến đổi không gian để chuyển ảnh trong không

gian thực sang một không gian khác, nơi các hệ số chuyển đổi có mức độ

tương quan thấp hơn. Kết quả nhận được là ma trận các hệ số biến đổi.

Bộ lượng tử hóa

Sử dụng phương pháp lượng tử không đồng đều nhằm triệt tiêu các hệ số

biến đổi có năng lượng thấp hoặc đóng vai trò không quan trọng khi khôi

phục ảnh. Quá trình lượng tử không có tính thuận nghịch: ảnh khôi phục

sẽ bị biến dạng so với ảnh gốc.

Bộ mã hóa

Gán một từ mã (một dòng bit nhị phân) cho một mức lượng tử

Cấu trúc bộ giải mã nguồn

Hình 7: Sơ đồ b g ả mã nguồn

Bộ giải mã: Thực hiện giải mã tín hiệu nhận được để cho ra ma trận các

hệ số của ảnh biến đổi.

Page 15: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

15

Bộ chuyển đổi: Thực hiện biến đổi nghịch (so với quá trình biến đổi ở

bộ mã hóa) để khôi phục lại ảnh số ban đầu.

ộ mã hóa và giải mã kênh

Khi truyền tín hiệu qua kênh truyền có nhiễu, để làm giảm ảnh hưởng của

nhiễu tới tín hiệu người ta thường sử dụng các phương pháp mã bằng cách thêm

một số thông tin dư thừa vào chuỗi tín hiệu cần truyền đi. Tùy thuộc vào phương

pháp mã hóa, tại phía thu, sau khi giải mã kênh, chúng ta có thể phát hiện được lỗi

trong chuỗi tín hiệu vừa nhận được (do nhiễu kênh gây ra) hoặc có thể đồng thời

thực hiện sửa các lỗi đó.

2. Phương pháp nén ảnh JPE lũy tiến(JPEG progressive)

Khai triển DCT là kỹ thuật then chốt trong JPEG vì nó cho phép nén ảnh với

chất lượng tốt nhất tại tốc độ bit thấp, giải thuật chuyển đổi nhanh và dễ dàng thực

hiện bằng phần cứng.

2.1. Sơ đồ khối

Hình 8: Sơ đồ khố b mã hóa ảnh theo JPEG

Trước khi đưa tới bộ chuyển đối DCT, ảnh màu gốc phải được phân tích

thành các ảnh đơn sắc và được số hóa theo một trong những tiêu chuẩn hiện hành.

Page 16: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

16

Ảnh chói (Y) và hai màu đơn sắc UV (chuẩn PL) hoặc IQ (chuẩn NTSC) được chia

thành các block 8*8 và đưa tới bộ chuyển đổi DCT. Kích thước các block là 8*8

được chọn bởi 2 lý do: (1) các công trình nghiên cứu cho thấy hàm tương quan giữa

các điểm ảnh suy giảm rất nhanh khi khoảng cách giữa các pixel vượt quá 8; (2)

kích thước 8*8 tiện lợi cho việc tính toán và thiết kế phần cứng.

Bộ chuyển đổi DCT biến đổi ma trận ảnh 8*8 thành ma trận hệ số

cùng kích thước. Ma trận được đưa tới bộ lượng tử hóa. Các hệ số

DCT sẽ được lượng tử hóa dựa trên các bảng lượng tử. Tín hiệu chói và tín hiệu

màu sẽ được lượng tử theo các bảng lượng tử khác nhau. Ma trận hệ số DCT nhận

được sau bộ lượng tử . Hệ số là thành phần trung bình (thành phần

DC) của mỗi block được đưa tới bộ mã hóa vi sai (DPCM). Các hệ số khác (thành

phần AC) trong từng block được đọc ra theo trình tự zigzag và đưa tới bộ mã hóa

loạt dài (RLC). Cuối cùng chuỗi dữ liệu từ hai bộ mã hóa DPCM và RLC được mã

hóa một lần nữa bằng mã Entropy. Dữ liệu nén cùng các bảng mã và bảng lượng tử

được kết hợp lại thành file ảnh nén theo chuẩn JPEG.

Sau đây, chúng ta sẽ phân tích từng khâu trong quá trình nén ảnh JPEG lũy

tiến.

2.2. Phân tích sơ đồ khối

2.2.1. iến đổi D

Công đoạn đầu tiên của quá trình nén theo JPEG là biến đổi cosin rời rạc DCT

(Discrete Cosine Transform). DCT biến đổi dữ liệu từ miền không gian sang miền

tần số. DCT được sử dụng tương đối rộng rãi vì nó có đặc tính "gói" năng lượng tốt,

biến đổi DCT cho kết quả là các số thực, ngoài ra có các thuật toán nhanh để thực

hiện biến đổi này.

Biến đổi DCT được thực hiện trong phạm vi các khối 8×8 mẫu tín hiệu chói Y

và các khối tương ứng của tín hiệu hiệu màu (UV hoặc IQ).

Page 17: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

17

Biến đổi DCT hai chiều (2-D) được dùng cho các khối ảnh có kích thước 8×8.

Quá trình biến đổi thuận DCT (Forward DCT) dùng trong tiêu chuẩn JPEG được

định nghĩa như sau:

(3.1)

Trong đó:

– các mẫu của ảnh gốc trong block 8*8 pixel

- các hệ số của khối DCT 8*8

Phương trình trên là kết quả của hai phương trình DCT một chiều, một cho

tần số ngang và một cho tần số dọc. Trong ma trận hệ số DCT hai chiều, hệ số thứ

nhất F(0,0) bằng giá trị trung bình của các điểm ảnh trong block 8*8.

(3.2)

Các hệ số nằm ở các dòng dưới thành phần một chiều, đặc trưng cho các tần

số cao hơn của tín hiệu theo chiều dọc. Các hệ số nằm ở các cột bên phải của thành

phần một chiều đặc trưng cho các tần số cao hơn theo chiều ngang. Hệ số F(0,7) là

thành phần có tần số cao nhất theo chiều ngang của block ảnh 8×8, và hệ số F(7,0)

đặc trưng cho thành phần có tần số cao nhất theo chiều dọc. Còn các hệ 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.

Phép biến đổi DCT hai chiều là biến đổi đối xứng và biến đổi nghịch cho

phép tái tạo lại các giá trị mẫu f(j,k) trên cơ sở các hệ số F(u,v) theo công thức sau:

(3.2)

Page 18: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

18

Bản thân phép biến đổi DCT không nén được dữ liệu, từ 64 mẫu ta nhận

được 64 hệ số. Trong các hệ số DCT, thành phần DC thường có giá trị lớn nhất, các

hệ số nằm kề nó ứng với tần số thấp có giá trị nhỏ hơn, các hệ số còn lại ứng với tần

số cao thường có giá trị rất nhỏ.

Trên hình vẽ 9 là một ví dụ minh họa quá trình biến đổi DCT hai chiều cho

một block 8×8 điểm ảnh (chói) được trích ra từ một ảnh thực. Thành phần chói Y

sau khi số hóa sẽ có biên độ các mẫu nằm trong khoảng 0-255, các mẫu của thành

phần màu CR,CB có biên độ cực đại là ±128. Để có thể sử dụng một bộ mã hóa

DCT cho cả tín hiệu chói và màu, tín hiệu Y được dịch mức xuống dưới bằng cách

trừ 128 từ mỗi giá trị pixel trong block 8x8. Ở bộ giải mã DCT, giá trị này sẽ được

cộng thêm vào các giá trị chói sau khi giải nén. Giá trị hệ số DC của khối DCT dao

động trong khoảng từ đến .

Hình 9: Kết quả các bước nén ảnh theo JPEG v bảng lượng tử Q(u, v)

2.2.2. Lượng tử hóa

Bước tiếp theo của quá trình nén ảnh là bước lượng tử hóa các hệ số DCT

F(u,v) với mục đích làm giảm số lượng bit cần thiết dùng để mô tả những hệ số đó.

Các hệ số tương ứng với tần số thấp thường có giá trị lớn, những hệ số này chứa

phần lớn năng lượng của tín hiệu, do đó chúng phải được lượng tử hóa với độ chính

xác cao. Riêng hệ số DC cần mã hóa với độ chính xác cao nhất, bởi lẽ hệ số này là

Page 19: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

19

giá trị độ chói trung bình của từng block ảnh. Sự thay đổi độ chói trung bình của các

block sẽ ảnh hưởng rất nhiều tới chất lượng của ảnh nén.

Để thực hiện quá trình nén dữ liệu, ma trận các hệ số khai triển sau DCT phải

được chia cho bảng trọng số Q(u,v) để loại bỏ một phần các hệ số DCT có biên độ

nhỏ (thường là các thành phần cao tần).

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ố ứng với tần số cao đượ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):

Trên hình 9 mô tả quá trình biến đổi DCT: ảnh gốc (a), ma trận hệ số DCT trước (b)

và sau khi lượng tử hóa (d) bằng cách chia cho bảng lượng tử Q(u,v) (c).

2.2.3. Quét zig-zag

Để mã hóa entropy các hế số , trước hết, cần biến đổi ma trận hệ số

thành chuỗi số một chiều. Trong kỹ thuật JPEG sử dụng phương pháp đọc

theo đường zig-zag. Việc đọc 64 hệ số của khối 8*8 pixel theo đường zig-zag (hình

3.1.3) làm tăng tối đa độ dài của chuỗi các giá trị 0 liên tiếp. Như vậy hiệu quả nén

khi dùng mã RLC sẽ tăng.

Hình 10: Quét zig-zag các hệ số lượng tử hóa DCT

Page 20: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

20

2.2.4. Mã hóa thành phần D

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. Trên lý thuyết, dải động của các

giá trị nhận được sau khi mã hóa DPCM lớn gấp đôi dải động của các hệ số DCT,

có nghĩa là thành phần này sẽ có giá trị nằm trong khoảng đến . Số

lượng bít cần thiết để mã hóa thành phần DC có thể lên tới 11.

Sơ đồ khối bộ mã hóa thành phần DC

Hình 11: Sơ đồ b mã hóa th nh phần DC

Hệ số DC của các block DCT được lần lượt đưa tới bộ DPCM. Thành phần sai

số giữa hai hệ số DC lien tiếp sẽ được mã hóa trong bộ mã Huffman. Quá trình mã

hóa Huffman được thực hiện cho thành phần DC như sau: 1- Dò tìm trong bảng

phân loại để tìm “loại” của giá trị ∆DC. ( “loại” chính là chiều dài từ mã dùng để

mã hóa thành phần ∆DC); 2 – Dùng bảng mã Huffman cho thành phần DC để tìm ra

từ mã cho “loại” ∆DC tìm được ở bước 1; 3 – Mã hóa nhị phân giá trị ∆DC; 4 –

Ghép các từ mã Huffman và giá trị nhị phân của ∆DC để có được từ mã cho thành

phần DC.

Trên hình 12 và 13 là các bảng tra cần thiết để thực hiện mã hóa thành phần

DC.

Page 21: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

21

ình 12: Bảng phân loạ các hệ số AC v DC

ình 13:Bảng mã uffman cho th nh phần DC

ình 14: Block hệ số DCT cần được mã hóa

Ví dụ: Thành phần DC trong block trên hình 14 có giá trị =15. Giả sử thành

phần DC của block trước đó là . Như vậy kết quả mã hóa DPCM sẽ là giá

trị ∆DC= . Trên bảng 12, ta có ∆DC=3 thuộc “loại” 2.

Page 22: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

22

Dựa vào bảng mã Huffman ta có từ mã tương ứng với “loại” 2 là (01) 2

chính là độ dài từ mã. Giá trị ∆DC=3 được biểu diễn bằng chuối nhị phân “11”.

Như vậy từ mã DC sẽ là 0111.

2.2.5. Mã hóa thành phần

Sơ đồ khối của bộ mã hóa thành phần AC được biểu diễn trên hình 15

ình 15:B mã hóa th nh phần AC

Chuỗi các hệ số AC được lần lượt đưa vào bộ mã hóa RLC. Ở đầu ra ta nhận

được các từ mã bao gồm hai thành phần: 1) Giá trị chạy – là số lượng bit "0" đứng

trước hệ số khác "0" đang được mã hóa; 2) biên độ của hệ số khác "0" nói trên. Từ

mã Huffman ứng với cặp giá trị trên được tìm ra trong bảng phân loại 12 và bảng

mã Huffman cho thành phần AC (hình 16). Từ mã AC sẽ bao gồm từ mã Huffman

và giá trị biên độ (nhị phân) của hệ số AC.

Ví dụ: Sau quá trình quét zig-zag, từ block hệ số DCT trên hình 14 ta nhận

được chuỗi hệ số AC sau:

0, -2, -1, -1, -1, 0 , 0,-1, 0 , 0……

Chuỗi bít nhận được sau bộ mã RLC là:

(1,-2) (0, -1) (0, -1) (0, -1) (2,-1) (EOB)

Sau hệ số khác "0" cuối cùng, chúng ta đặt từ mã đặc biệt để báo hiệu kết thúc

khối, từ mã này có tên là EOB – End Of Block.

Sử dụng bảng phân loại (hình 12) chúng ta tìm được loại của biên độ các hệ

số. Tín hiệu được đưa vào mã hóa Huffman có cấu trúc sau:

(1,2)(-2), (0,1)(-1), (0,1)(-1), (0,1)(-1) (2,1)(-1), (0,0)

Page 23: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

23

Ý nghĩa của các giá trị trong chuỗi trên được giải thích trong hình sau:

ình 16:Bảng mã uffman cho th nh phần AC

Từ mã Hufman cho từng cặp giá trị chạy và loại có thể được tìm ra sau khi tra bảng

trên hình 16. Kết quả mã hóa các thành phần AC và DC được tập hợp lại thành

chuỗi bít có dạng như sau:

Có thể thấy rằng chỉ cần 35 bits để truyền đi block 64 điểm ảnh, như vậy hiệu quả

nén của phương pháp JPEG trong trường hợp này là 0.5 bit/điểm ảnh.

2.2.6. iải nén

Sơ đồ khối bộ giải nén ảnh JPEG biểu diễn trên hình 17. Quá trình giải nén

JPEG được thực hiện với trình tự ngược với quá trình mã hóa. Đầu tiên, bộ giải mã

tách thông tin ghi trong phần Header của ảnh nén: đó là bảng mã và bảng lượng tử.

Page 24: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

24

ình 17: Sơ đồ khố b g ả mã tín h ệu JPEG

Các bảng này được đưa tới khối giải mã entropy và khối lượng tử ngược. Dữ

liệu mang tin tức về ảnh được lần lượt đưa qua bộ giải mã entropy, giải mã DPCM

và RLC. Các hệ số DC và AC sau khi giải mã sau đó sẽ được sắp xếp theo thứ tự để

tạo ra block hệ số DCT giống như ở phía coder. Quá trình lượng tử ngược được

thực hiện theo công thức:

(3.1.6)

– là bảng lượng tử giống như bảng lượng tử dùng ở coder.

Tập hệ số DCT F(u,v) được đưa vào khối biến đổi DCT nghịch theo công thức

3.1.6 để tạo ra block ảnh giải nén.

2.3. iải thích mục đích

Nén JPEG thông thường các block ảnh được khôi phục theo trình tự từ trái

sang phải, từ trên xuống dưới. Ảnh chỉ được hiển thị khi nhận được tất cả các gói

tin phía phát. Vì vậy khi truyền ảnh số chất lượng cao qua mạng băng thông hẹp,

thời gian truyền ảnh có thể tương đối lâu, người xem phải chờ một thời gian dài.

Phương pháp nén JPEG lũy tiến thực hiện ghi dữ liệu theo cách đặc biệt (đọc các

Page 25: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

25

block vào khối DCT) để decoder có thể giải mã toàn bộ ảnh ở “mức thô” ngay mà

không cần chờ đến khi quá trình truyền ảnh kết thúc.

2.4. ặc điểm của nén JPE lũy tiến

Có 3 giải thuật ghi dữ liệu:

Giải thuật lựa chọn phổ:

Các hệ số DCT ứng với tần số thấp của các block 8*8 được truyền đi

trước, ví dụ, tất cả các hệ số F(0,0) của các block được truyền lần lượt

theo thứ tự từ trái sang phải, từ trên xuống dưới. Kế tiếp là chuỗi các

hệ số F(0,1), F(1,0) v.v. Phía thus au khi nhận được các hệ số F(0,0),

decoder đã có thể nhanh chóng khôi phục được ảnh thô, với độ phân

giải thấp hơn 64 lần ảnh gốc, vì các điểm ảnh trong khối 8*8 điểm đều

có giá trị bằng F(0,0) ( tức giá trị tring bình của block).

Giải thuật xấp xỉ

Tất cả các hệ số DCT được gửi đi trước có độ chính xác thấp hơn, thí

dụ bước 1 truyền 4 bits, bước 2 truyền thêm 4 bits, bước 3 truyền nốt

2 bits còn lại của số nhị phân biểu diễn biên độ hệ số AC

Giải thuật kết hợp

Dựa trên nguyên tắc kết hợp cả 2 giải thuật chia phổ và xấp xỉ.

Minh họa cho phương pháp nén JPEG lũy tiến

ình gốc

Page 26: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

26

Hình 18: Các pha g ả mã ảnh nén theo JPEG lũy t ến

Với phương pháp nén và giải nén theo JPEG lũy tiến, người quan sát sẽ không

thấy khó chịu khi phải ngồi chờ trước màn hình trống trong một thời gian dài. Hơn

nữa khi quan sát được nội dung chính của ảnh, người nhận có thể nhanh chóng

quyết định tải tiếp hay ngừng quá trình tải ảnh. Với cơ chế như vậy, bộ mã hóa và

giải mã JPEG lũy tiến cần có bộ nhớ đếm, kích thước bộ nhớ đệm phải đủ lớn để

chứa tất cả các hệ số DCT của ảnh.

Hệ thống JPEG lũy tiến hiệu quả trong việc truyền các ảnh có kích thước lớn.

Hệ thống này hướng đến những ứng dụng yêu cầu truyền nhanh các ảnh có độ phân

giải cao qua mạng có băng thông giới hạn: ví dụ truyền ảnh y học, ảnh chụp từ vệ

tinh cũng như truyền hình ảnh qua mạng Internet.

3. Phương pháp nén ảnh JPE không tổn hao(JPEG Lossless)

3.1. hái niệm

Nén không tổn hao (Compressed but lossless) là các phương pháp nén mà sau

khi giải nén sẽ thu được chính xác dữ liệu gốc. Tuy nhiên nén không tổn hao chỉ đạt

hiệu quả nhỏ so với nén có tổn hao.

3.2. ác phương pháp

3.2.1. Phương pháp mã hóa độ dài loạt LE

Mã hóa theo độ dài loạt RLE (Run Length Encoding) là một phương pháp nén

ảnh dựa trên sự cắt bớt các dư thừa về không gian ( một vài hình ảnh có vùng màu

lớn không đổi, đặc biệt với ảnh nhị phân ). Loạt được định nghĩa là dãy các phần tử

điểm ảnh (pixel) liên tiếp có cùng chung một giá trị.

Page 27: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

27

Nguyên tắc: Nguyên tắc của phương pháp này là phát hiện một loạt các điểm

ảnh lặp lại liên tiếp, ví dụ: 11001000000000000011. Ta thấy điểm ảnh có giá trị 0

xuất hiện nhiều lần liên tiếp. Thay vì phải lưu trữ toàn bộ các điểm ảnh có giá trị 0,

ta chỉ cần lưu trữ chúng bằng cách sử dụng các cặp (độ dài loạt, giá trị).

Ví dụ: cho một chuỗi nguồn d:

d = 5 5 5 5 5 5 5 5 5 5 19 19 19 19 19 0 0 0 0 0 0 0 23 23 23 23 23 23 23 23

ta sẽ có chuỗi mới (10 5) (5 19) (7 0) (8 23)

tỷ số nén = 20/8 = 2.5

Đối với ảnh đen trắng chỉ sử dụng 1 bit để biểu diễn 1 điểm ảnh thì phương

pháp này tỏ ra rất hiệu quả. Ta thấy điều đó qua ví dụ sau : với chuỗi nguồn d

000000000000000111111111100000000001111111111000000000000000

Ta có chuỗi mới (15, 10, 10, 10, 15)

Tỷ số nén = 60 bit/(5*4bit) = 3 ( chỉ sử dụng 4 bit để thể hiện độ dài loạt và

không thể hiện giá trị loạt vì ảnh đen trắng chỉ có 2 giá trị 0 và 1 )

Chú ý : Đối với ảnh chiều dài của một dãy lặp có thể lớn hơn 255, nếu ta dùng

1 byte để lưu trữ chiều dài thì sẽ không đủ. Giải pháp được dùng là tách chuỗi đó

thành 2 chuỗi : một chuỗi có chiều dài 255, chuỗi kia có chiều dài còn lại.

Phương pháp nén RLE chỉ đạt hiệu quả khi gặp chuỗi lặp lớn hơn 1 ngưỡng

nhất định nào đó hay nói cách khác, trong ảnh cần nén phải có nhiều điểm ảnh kề

nhau có cùng giá trị màu. Do đó phương pháp này không đem lại một kết quả ổn

định vì nó phụ thuộc hoàn toàn vào ảnh nén. Chỉ thích hợp cho những ảnh đen trắng

hay ảnh đa cấp xám.

Ví dụ : chuỗi nguồn d

5 7 9 11 13 18 28 38 48 58 30 35 40 45

Ta có chuỗi mới

1 5 1 7 1 9 1 11 1 13 1 18 1 28 1 38 1 48 1 58 1 30 1 35 1 40 1 45

Tỷ số nén = 14/28 = 0.2

Page 28: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

28

Như vậy chuối sau khi mã hóa đã lớn hơn nhiều chuỗi nguồn ban đầu. Do đó

cần phải cải tiến để xử lý những trường hợp trên, tránh làm mở rộng chuỗi dữ liệu

nguồn, nghĩa là chỉ mã hóa độ dài loạt dữ liệu lặp lại. Người ta đã đưa ra cách :

thêm ký tự tiền tố vào trước độ dài loạt, việc giải mã được thực hiện nếu gặp ký tự

tiền tố với độ dài loạt và giá trị điểm ảnh theo sau :

Ví dụ : chuỗi nguồn d

5 8 4 8 8 8 8 8 8 8 10 10 10 10 10 10 10 10 10

Giả sử ký tự tiền tố là « + », ta có : 5 8 4 +7 8 +9 10

Tỷ số nén = 19/9 = 2.1

Tuy nhiên trong một số trường hợp, các điểm ảnh có độ tương quan với nhau

về giá trị mức xám. Trong ví dụ sau đây, ta có thể tiến hành xử lý như sau :

Ví dụ : chuỗi nguồn d

5 7 9 11 13 18 28 38 48 58 55 60 65 70 75 80 85 90 95 100

Ta có thể dựa vào độ tương quan này để có được hiệu quả nén cao, bằng việc

áp dụng e(i) = d(i) – d(i-1) sẽ thu được :

5 2 2 2 2 5 10 10 10 10 -3 5 5 5 5 5 5 5 5 5

Ap dụng phương pháp nén loạt dài ta sẽ thu được :

(5 1) (2 4) (5 1) (10 5) (-3 1) (5 9)

3.2.2. Phương pháp mã hóa uffman

Phương pháp mã hóa Huffman là phương pháp dựa vào mô hình thống kê.

Người ta tính ra tần suất xuất hiện của các ký tự bằng cách duyệt tuần tự từ đầu tệp

gốc đến cuối tệp. Việc xử lý ở đây tính theo bit. Trong phương pháp này, các ký tự

có tần suất cao một từ mã ngắn, các lý tự có tần suất thấp một từ mã dài. Như vậy

với cách thức này, chúng ta đã làm giảm chiều dài trung bình của từ mã hóa bằng

cách dùng chiều dài biến đổi. Tuy nhiên, cũng có trường hợp bị thiệt 1 ít bit khi tần

suất là rất thấp.

Page 29: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

29

guyên tắc :

Bước 1 : tính tần suất xuất hiện của các ký tự trong dữ liệu gốc bằng cách

duyệt tệp gốc một cách tuần tự từ đầu đến cuối để xây dựng bảng mã và tính toán

tần suất. Tiếp theo là sắp xếp lại bảng mã theo thứ tự tần suất giảm dần.

Bước 2 : Duyệt bảng tần suất từ cuối lên đầu để thực hiện ghép hai phần tử có

tần suất thấp thành một phần tử duy nhất có tần suất bằng tổng hai tần suất thành

phần. Cập nhật phần tử mới này vào vị trí phù hợp trong bảng và loại bỏ hai phần tử

đã xét. Thực hiện lặp lại như trên cho đến khi trong bảng chỉ còn một phần tử duy

nhất. Đây là quá trình tạo cây nhị phân Huffman, phần tử có tần suất thấp ở bên

phải, phần tử kia ở bên trái. Sau khi cây đã tạo xong, ngưới ta tiến hành gán mã cho

các nút lá. Việc mã hóa thực hiện theo quy định : Mỗi lần xuống bên phải ta thêm 1

bit « 1 » vào từ mã, mỗi lần xuống bên trái, ta thêm một bit « 0 » vào từ mã.

Quá trình giải nén cũng khá đơn giản, được tiến hành theo chiều ngược lại.

Người ta cũng phải dựa vào bảng mã tạo ra trong giai đoạn nén (bảng này được lưu

trữ trong cấu trúc đầu của tệp nén cùng với dữ liệu nén). Ví dụ : Một tệp bất kỳ có

tần suất xuất hiện của các ký tự số như bảng sau..

Bảng tần suất sắp xếp g ảm dần

Page 30: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

30

Mô tả : Ta tiến hành hợp nhất hay cộng hai tần suất nhỉ nhất ở cuối bảng để

thu được giá trị tần suất mới, sau đó đưa giá trị tần suất này trở lại bảng tần suất ban

đầu nhưng đã bỏ đi hai thành phần tạo nên nó. Sau khi đưa giá trị mới vào bảng, ta

phải tiến hành sắp xếp lại toàn bộ bảng, lúc này số lượng tần suất chỉ còn là n-1, nếu

ban đầu số lượng tần suất là n. Tiếp tục thực hiện lần lượt theo thứ tự như trên cho

đến khi số lượng tần suất chỉ còn lại duy nhất 1 giá trị.

Việc tạo cây nhị phân có thể được thực hiện theo một thuật toán sau :

a. Tất cả những ký tự ban đầu được xem là những ký tự giao điểm tụ do.

b. Hai nút tự do với tần số xuất hiện thấp nhất được phân công tới một nút

gốc với giá trị bằng với tổng hai nút con tự do.

c. Hai nút con được chuyển khỏi danh sách nút tự do. Chuyển nút gốc mới

tạo thành công vào danh sách.

d. Lặp bước 2 sang bước 3 đến khi chỉ có một nút tự do về phía trái. Nút tự

do này là gốc của cây.

Quá trình xây dựng cây nhị phân Huffman được thể hiện chi tiết nhất như

trong hình sau :

Page 31: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

31

Ta có cây mã Huffman tương ứng sau Bảng từ mã gán cho các ký tự số như sau

Như vậy với ví dụ sau đây, ta có thể tiến hành mã hóa như sau :

Chuỗi nguồn : 00000000006666693333 → kích thước = 20*8 = 160 bit

Sử dụng mã Huffman theo bảng → kích thước = 10*1+5*3+1*6+4*3 = 43

bit. Vì giá trị 0 xuất hiện 10 lần nhưng chỉ dùng 1 bit để thể hiện, giá trị 6 xuất hiện

Page 32: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

32

5 lần và dùng 3 bit để thể hiện. Giá trị 9 dùng 6 bit và giá trị 3 xuất hiện 4 lần dùng

3 bit để thể hiện.

→ Tỷ số nén : 160/43 = 3.7

Trong phương pháp mã hóa Huffman, mã của ký tự là duy nhất và không mã

nào là phần bắt đầu của mã trước. Vì vậy, khi đọc theo từng bit đầu đến bit cuối tệp

nén, ta có thể duyệt cây mã cho đến một lá, tức là ký tự đã được giải mã. Việc giải

mã chắc chắn phải sử dụng cây nhị phân giống như trong mã hóa. Để đọc, giải mã

được thì yêu cầu phải sử dụng cho đúng tiêu chuẩn nhất đinh.

3.2.3. Phương pháp mã hóa Lemple – Ziv

Giải thuật nén Lemple-ziv 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 từ vựng).

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 song song với quá trình đọc dữ

liệu. Sự xuất hiện của 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 đọc qua. Thuật toán liên tục tra cứu và sau mỗi

lần đọc một ký tự ở dữ liệu đầu vào thì tiến hành cập nhật lại từ điển.

Do giới hạn của bộ nhớ và để đảm bảo tốc độ tìm kiếm nhanh, từ điển chỉ

giới hạn 4096 phần tử dùng để lưu trữ giá trị của các từ mã. Như vậy độ dài lớn nhất

của từ mã là 12 bit (4096 = 2 12). Cấu trúc từ điển như sau:

Page 33: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

33

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 (CC – Clear Code). Khi số

mẫu lặp lớn hơn 4096 thì người ta sẽ coi ảnh gồm nhiều mảnh ảnh và từ điển sẽ

gồm nhiều từ điển con. Khi hết một mảnh ảnh sẽ gửi một mã xóa CC để báo hiệu

kết thúc mảnh ảnh cũ và bắt đầu mảnh ảnh mới đồng thời sẽ khởi tạo lại từ điển.

Từ mã thứ 257 chứa mã kết thúc thông tin (EOI – End of Information).

Thông thường một file ảnh có thể chứa nhiều mảnh ảnh, mỗi mảnh ảnh này 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 11 bit và từ 2048 đến 4095 biểu diễn bởi 12 bit.

3.2.4. Phương pháp mã dự đoán

Phương pháp mã hóa này dựa trên tính tương quan giữa hai điểm ảnh nằm kề

nhau và kỹ thuật tách và truyền thông tin "mới" chứa trong mỗi pixel ảnh. Theo

những nghiên cứu thống kê về phân bố biên độ tín hiệu video, mức độ tương quan

giữa các điểm ảnh nằm gần nhau trong miền không gian là khá cao, điều này có

nghĩa là sự khác biệt giữa hai điểm ảnh kế bên rất nhỏ hoặc bằng 0, vì thế khi mã

hóa độ chênh lệch này cần số lượng bit ít hơn so với khi mã hóa toàn bộ biên độ các

mẫu.

Thông tin "mới" trong điểm ảnh được xác định bằng hiệu giữa điểm ảnh thực

và điểm ảnh dự đoán. Phương pháp mã dự đoán còn gọi là điều xung mã vi sai

(DPCM – Differential Pulse Code Modulation). Trong bộ mã hóa DPCM cũng sử

dụng thêm các kỹ thuật lượng tử hóa thích nghi và mã hóa entropy để tăng hệ số

nén. Các thành phần chính của hệ thống DPCM được mô tả trên hình sau:

Page 34: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

34

Hệ thống DPCM bao gồm bộ mã hóa và bộ giải mã:

B mã hóa

B g ả mã

Trong thành phần bộ mã hóa và giải mã đều có khối dự đoán. Khi một mẫu

fn của ảnh được đưa tới bộ mã hóa, khối dự đoán sẽ thực hiện xấp xỉ giá trị mẫu

ảnh đó dựa trên thông tin đã có về các điểm ảnh trước. Sau đó giá trị xấp xỉ được

làm tròn n và đưa tới mạch trừ để tìm ra sai số giữa điểm ảnh thực và điểm ảnh

dự đoán:

en = fn - n

Giá trị sai số (thường là nhỏ) được mã hóa bằng mã có độ dài thay đổi (mã Entropy)

trước khi đưa vào đường truyền. Ở phía thu, sau khi dữ liệu nén được giải mã

Entropy, giá trị sai số en được đưa tới bộ dự đoán để khôi phục giá trị điểm ảnh fn

fn = n + en

Page 35: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

35

Để có được giá trị n dựa trên các mẫu tới trước, có thể sử dụng các phương pháp

xấp xỉ cục bộ, toàn cục hoặc phương pháp thích nghi. Thông thường, n được xác

định dựa trên giá trị của m mẫu đến trước như sau:

n = round

- hệ số dự đoán với i = 1, 2, …, m;

round(.) – toán tử làm tròn tới số nguyên gần nhất.

III. Ứng dụng của các loại JPE

Số lượng các ứng dụng của JPEG là rất lớn hứa hẹn ngày càng tăng, cũng

giống như các hình ảnh kĩ thuật số đã được dùng ngày càng nhiều. Internet chắc

chắn là khu vực chính mà JPEG được sử dụng. Ngoài ra chúng ta còn có thể kể đến

các ứng dụng của nó trong Y tế, nhiếp ảnh kĩ thuật số, hệ thống GIS, Digital

Cinema…Trong phần này chúng ta sẽ trình bày về các ứng dụng của JPEG một

chuẩn công nghệ đã làm thay đổi rất nhiều vấn đề vướng mắc trong lĩnh vực truyền

thông.

Ứng dụng của JPE

Thuật toán sử dụng trong JPEG thể hiện sự ưu việt của nó trên các bức tranh,

ảnh chụp lại cảnh vật thực tế nhờ sự biến đổi khá mịn màng các mức độ khác nhau

của màu sắc. Khi sử dụng trên Web, hoặc những trường hợp cần quan tâm đến dung

lượng sử dụng, JPEG đặc biệt thể hiện tính ưu viêt.

Tuy nhiên trên thực tế JPEG không được sử dụng trong các trường hợp yêu

cầu sự tương phản rõ rệt giữa các pixel cạnh nhau.Những bức ảnh như vậy cần được

lưu trữ bằng những định dạng đồ họa không mất mát dữ liệu TIFF, GIF, PNG hay

định dạng ảnh RAW. Chuẩn JPEG có cách nén không mất mát dữ liệu nhưng cách

này hầu như không được hỗ trợ trên các thiết bị thực tế.

Page 36: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

36

JPEG thường được sử dụng ở dạng nén có tổn hao nên thông tin, dạng suy

giảm chất lượng ảnh, chúng ta không nên sử dụng ảnh trong các trường hợp cần

tổng hợp lại chính xác ảnh gốc.

JPEG cũng không nên sử dụng trong các trường hợp cần phải xử lý sửa chữa

ảnh gốc nhiều lần vì mỗi lần chỉnh sửa như vậy thông tin mất càng lớn, để tránh sự

mất mát này chúng ta nên sử dụng những định dạng ảnh ở dạng không mất mát, và

sử dụng JPEG cho những minh họa ở mỗi lần sửa chữa chứ không phải sửa chữa

trực tiếp từ JPEG.

Ứng dụng của JPE lũy tiến

JPEG lũy tiến dùng cho những ứng dụng yêu cầu truyền nhanh các ảnh có độ

phân giải cao qua mạng có băng thông giới hạn. Ví dụ: truyền ảnh y học, ảnh chụp

từ vệ tinh cũng như truyền hình ảnh qua Internet

Ứng dụng của JPE không tổn hao

JPEG không tổn hao được dùng phổ biến trong hình ảnh y tế, âm bản kỹ thuật

số(DNG), một số máy ảnh kỹ thuật số để nén ảnh thô. Nhưng JPEG không tổn hao

không được sử dụng rộng rãi.

IV. hử nghiệm nén ảnh JPE và so sánh

Ở phần này em sẽ sử dụng công cụ để nén ảnh theo các phương pháp khác

nhau và đưa ra các so sánh.

1. Môi trường công cụ

Phần mềm được ứng dụng ở đây là IrfranView Version 4.33, download tại địa

chỉ http://www.irfanview.com/. Là một một phần mềm miễn phí nhanh, nhỏ gon và

sáng tạo trong việc hiển thị đồ họa dùng trong môi trường Window.một số tính năng

của IrfranView:

- Hỗ trợ nhiều định dạng tập tin.

- Đa ngôn ngữ

- Chụp màn hình

- Hỗ trợ Unicode

- Luân chuyển giữa các JPG lossless

- Chỉnh sửa file TIF

- Hỗ trợ tìm kiếm file

Page 37: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

37

- ………..

G ao d ện chính của phần mềm

2. hử nghiệm kết quả và so sánh

Ở đây em sử dụng file ảnh .NEF (một file ảnh RAW được chụp từ máy ảnh

của hãng NIKON), file chưa qua chế độ chỉnh sửa. Ảnh ban đầu có dung lượng 5.01

MB kích thước ban đầu là 3008 x 2000 Pixel.

Page 38: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

38

én tuần tự

Từ giao diện của chương trình chọn Save as và đặt các thông số theo hình sau:

Ta thu được bức ảnh có có các thông số như sau:

- Dung lượng ảnh là 473kb ở đây ta lựa chọn chất lượng là 80% dung lượng có

thể cao hơn nếu ta lựa chọn chất lượng cao hơn.

Page 39: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

39

én lũy tiến

Làm tương tự như trên,tùy chọn các thông số như hình dưới đây.

Ta thu được bức ảnh có thông số như sau

- Dung lượng của ảnh là 464kb thấp hơn so với nén ảnh bằng phương pháp mã

hóa tuần tự

Page 40: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

40

- Ưu điểm của phương pháp này là người xem có thể tùy chọn load toàn bộ bức

ảnh về hay không.

Mã hóa không mất mát thông tin

Chọn định dạng Save cho ảnh là JPEG Losless(JLS)

Ta được bức ảnh với các thông số như sau:

+ Độ lớn của bức ảnh là 4.77Mb gần bằng với file ảnh gốc

Cách nén này chủ yếu dung trong việc lưu trữ lại ảnh gốc, vì độ mất mát thông

tin của nó là rất thấp.

Page 41: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

41

C. Ế LUẬ

Công nghệ nén ảnh JPEG là một phương pháp nén ảnh vô cùng hiệu quả.

Trong sự phát triển của công nghệ thông tin và Internet thì JPEG là một công cụ rất

hữu hiệu trong việc truyền thông tin và lưu trữ thông tin. Trong quá trình phát triển,

JPEG ngày càng được cải tiến để khắc phục những nhược điểm của mình để trở

thành định dạng ảnh phổ biến nhất trên thế giới. Tuy nhiên, vì JPEG là chuẩn không

bảo toàn bởi thông tin về ảnh sẽ bị thay đổi khi nó bị mã hóa nhiều lần. Vì vậy mà

các chuyên gia trên thế giới đã bắt đầu nghiên cứu các định dạng ảnh thừa kế những

ưu điểm của JPEG mà hạn chế được sự mất mát thông tin. Có thẻ kể đến định dạng

Webp do google phát triển. Và chúng ta cùng chờ đợi nhiều định dạng ảnh khác

hiệu quả hơn ra đời trong tương lai gần.

Page 42: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

42

L ỆU M Ả

- Bài giảng Xử lý dữ liệu đa phương tiện - PGS.TS Nguyễn Thị Hoàng Lan

- http://en.wikipedia.org/wiki/JPEG

- Digital Image Processing - 4th Edition - PrattWiley Intersc.

- http://jpeg.org

- Sử dụng phần mềm IrfranView 4.33.

Page 43: Cac Loai Anh JPEG-JPEG Luy Tien-JPEG Khong Ton Hao

43

P Â Ô V Ệ

Giới thiệu chung về chuẩn JPEG và các loại JPEG.

- Thân Văn Quang

- Trần Minh Hải

Phương pháp nén ảnh JPEG lũy tiến

- Nguyễn Khánh Hưng

- Lê Bá Huy

Phương pháp nén ảnh JPEG không tổn hao

- Nguyễn Văn Hòa

- Nguyễn Hoàng Việt

Ứng dụng của các loại JPEG và thử nghiệm

- Nguyễn Lê Hoài Nam

- Trần Văn Toàn