You are on page 1of 34

Bài 

tập lớn 
Truyền thông đa phương tiện
Mã hóa - nén ảnh JPEG và ứng dụng  

GVHD: PGS.TS. Nguyễn Thị Hoàng Lan


Sinh viên MSSV
Phạm Thanh Bình 20183693
Phạm Đức Đạt 20183704
Phạm Văn Hưởng 20183763
Phần I: Tìm hiểu về mã hóa-nén dùng phép
biến đổi TC (Transform Coding)

Phần II: Tìm hiểu thuật toán của


sơ đồ công nghệ nén JPEG cơ bản (baseline
JPEG)
• Sơ đồ nén ảnh gồm 3 bước: 
Mục lục • Tiền xử lí:
• Mã hóa xử lí-nén:
• Hậu xử lí:
• Tính độ đo hiệu năng của sơ đồ nén:
• Tỉ số nén. 
• Độ tổn hao. 

Phần III: Tìm hiểu về một số công cụ, phần


mềm nén ảnh đang có hiện nay và các ứng
dụng của công nghệ nén ảnh JPEG.

2
Phần I: Tìm hiểu về mã hóa-nén dùng phép biến
đổi TC
Sơ đồ TC (Transform Coding)

3
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
Sơ đồ mã hóa Baseline JPEG

4
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
I. Tiền xử lí

1. Xử lý màu
      Chuyển từ không gian màu RGB sang YCBCR .
Mục đích: tăng thành phần độ chói, giảm các thành phần màu sắc.
Công thức biến đổi từ RGB sang YCbCr:

5
Hình ảnh minh họa:

6
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
I. Tiền xử lí

2. Thực hiện bù mức (level offset) các giá trị điểm ảnh
    Lúc mã hóa -128 với mỗi điểm ảnh
    Lúc giải mã +128 với mỗi điểm ảnh
Mục đích của điều này để đảm bảo tất cả các hệ số DCT sẽ là các đại
lượng có dấu với dải rộng động tương tự.

7
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
I. Tiền xử lí

3. Chia khối ảnh đầu vào thành các khối 8x8 pixels để xử lý khối
Mục đích: Tính toán DCT cho từng vùng dư thừa dữ liệu khác nhau
Tất cả các block có cùng kích thước và mỗi block là một ma trận điểm ảnh
8×8 pixel được lấy từ một ảnh màn hình theo chiều từ trái sang phải, từ trên
xuống dưới. Kích thước block là 8×8 được chọn bởi hai lý do sau:
- Kích thước block lớn làm tăng độ phức tạp thuật toán
- Khoảng cách giữa các pixel vượt quá 8 sẽ làm cho hàm tương quan suy
giảm nhanh

8
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
II. Mã hóa xử lí nén

1.Biến đổi Cosin (DCT) đối với mỗi khối


    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ố.
    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 màu (Cb, Cr) 
    Biến đổi DCT hai chiều (2-D) được dùng cho các khối ảnh có kích thước 8x8.
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:

9
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
II. Mã hóa xử lí nén

 Chú ý: F(0, 0) là giá trị trung bình của tất cả các điểm ảnh trong block.

10
Ví dụ minh họa

11
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
II. Mã hóa xử lí nén

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 chuyển các giá trị hệ số sang số nguyên để chuẩn bị cho
mã hóa huffman.
Mã hóa huffman là một thuật toán mã hóa dùng để nén dữ liệu. Nó dựa trên
bảng tần số xuất hiện các ký tự cần mã hóa để xây dựng một bộ mã nhị phân
cho các ký tự đó sao cho dung lượng (số bit) sau khi mã hóa là nhỏ nhất.
    Đối với hầu hết các hình ảnh, phần lớn năng lượng tín hiệu nằm ở tần số
thấp; chúng xuất hiện ở góc trên bên trái DCT
    Nén được thể hiện do các giá trị bên phải thấp hơn biểu thị tần số cao hơn và
thường nhỏ-đủ nhỏ để bị loại bỏ qua với ít biến dạng có thể nhìn thấy

12
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
II. Mã hóa xử lí nén

Để thực hiện việc nén dữ liệu ta thực hiện chia các hệ số


DCT cho bảng trọng số Q(u, v).

13
Ví dụ minh họa

14
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
II. Mã hóa xử lí nén

3. Quét zig-zag
    Để mã hóa entropy các hệ số
Fq (u, v ), trước hết cần biến đổi
ma trận hệ số Fq (u, v ) 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.

15
Ví dụ
minh họa

16
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
II. Mã hóa xử lí nén

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


    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 Huffman.
    Sơ đồ mã hóa thành phần DC:

17
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
II. Mã hóa xử lí nén

 
    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ố liên 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:  
- 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).  
- Dùng bảng mã Huffman cho thành phần DC để tìm ra từ mã cho “loại” ∆DC
tìm được ở trên  
- Mã hóa nhị phân giá trị ∆DC 
- 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.

18
    Bảng phân loại hệ số AC và DC:

19
    Bảng mã Huffman cho thành phần DC

20
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
II. Mã hóa xử lí nén

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


    Sơ đồ khối của 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: 
- Giá trị chạy – là số lượng bit "0" đứng trước hệ số khác "0" đang được mã hóa. 
- 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 và bảng mã Huffman cho thành phần AC. Từ mã AC sẽ bao gồm
từ mã Huffman và giá trị biên độ (nhị phân) của hệ số AC.

21
Bảng mã
huffman
cho thành
phần AC:

22
 Ví dụ:
Sau quá trình quét zig-zag, 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, đặ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 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)
   Trong đó:

23
Phần II: Tìm hiểu thuật toán của
sơ đồ công nghệ nén JPEG cơ bản (baseline JPEG)
III. Hậu xử lí

Từ mã Hufman cho từng cặp giá trị chạy và loại. 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:

Như vậy ta 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.
   Sắp xếp, ghép các khối tạo thành dòng bit dữ liệu các từ mã và lưu file theo
định dạng file .jpg chuẩn JPEG quy định.

24
Độ đo hiệu năng nén của sơ đồ

Tỷ số nén
    CR = (Dung lượng - Kích thước dữ liệu ban đầu) / Kích thước dữ liệu sau nén
(ví dụ 35:1).
     - Tỷ số bit/ pixel đối với ảnh Nb = Số bit sau khi nén/ Tổng số điểm ảnh (bpp).
     - Tỷ số nén tốc độ dòng bit video (bit/s) , ví dụ 30:1.
Độ tổn hao 
    - Nén không mất mát thông tin (lossless): không tổn hao. 
    - Nén có mất mát thông tin (lossy) : Các độ đo sai số MSE, SNR (db). 
Độ phức tạp
    - Độ phức tạp về thời gian : Nén thời gian thực/ nén không yêu cầu thời gian
thực. 
    - Độ phức tạp về không gian, bộ nhớ.

25
Phần III: Tìm hiểu về một số công cụ, phần mềm nén ảnh đang
có hiện nay và các ứng dụng của công nghệ nén ảnh JPEG.

I. Các phần mềm hỗ trợ nén ảnh JPEG

JPEG Optimizer
Dựa trên kỹ thuật MagiCompress ™,
JPEG Optimizer có thể nén tới 100 hình
ảnh trong một lần mà không làm giảm chất
lượng. Điều này không chỉ tiết kiệm thời
gian mà còn hạn chế sử dụng băng phông
Đặc trưng:
- Cho phép nén và thay đổi kích thước
ảnh
- Hỗ trợ nén và thay đổi kích thước nhiều
hình ảnh cùng một lúc
- Có thể điều chỉnh chất lượng của ảnh
nén
- Thuật toán tối ưu hóa nhiễu ISO độc đáo

26
Phần III: Tìm hiểu về một số công cụ, phần mềm nén ảnh đang
có hiện nay và các ứng dụng của công nghệ nén ảnh JPEG.

I. Các phần mềm hỗ trợ nén ảnh JPEG

FileOptimizer
Đặc trưng:
- Ứng dụng miễn phí để nén và tối
ưu hóa hình ảnh
- Giao diện thân thiện với người
dùng
- Nhiều mức độ nén khác nhau

27
Phần III: Tìm hiểu về một số công cụ, phần mềm nén ảnh đang
có hiện nay và các ứng dụng của công nghệ nén ảnh JPEG.

I. Các phần mềm hỗ trợ nén ảnh JPEG

Radical Image Optimaize Tool 


RIOT giúp xử lý, tối ưu hóa làm
giảm dung lượng hình ảnh nhanh
chóng. Bên cạnh đó cũng hỗ trợ thay
đổi kích thước hình ảnh tối ưu gần
tương đương như file ban đầu. Đây là
phần mềm hoàn toàn miễn phí

28
Phần III: Tìm hiểu về một số công cụ, phần mềm nén ảnh đang
có hiện nay và các ứng dụng của công nghệ nén ảnh JPEG.

I. Các phần mềm hỗ trợ nén ảnh JPEG

OptimiZilla
Các hình ảnh được thu nhỏ tới kích
thước tối ưu nhất có thể nhưng giữ
nguyên mức chất lượng yêu cầu. Cũng
như có thể tùy chọn xem trước để so
sánh mức chất lượng của hình ảnh cho
trước và sau khi nén

29
Phần III: Tìm hiểu về một số công cụ, phần mềm nén ảnh đang
có hiện nay và các ứng dụng của công nghệ nén ảnh JPEG.

I. Các phần mềm hỗ trợ nén ảnh JPEG

CompressJPEG
CompressJPEG sử dụng thuật toán
gần giống như Optimizilla. Nó hỗ trợ số
lượng ảnh lớn lên tới 20 bức ảnh JPEG

30
Phần III: Tìm hiểu về một số công cụ, phần mềm nén ảnh đang
có hiện nay và các ứng dụng của công nghệ nén ảnh JPEG.
II. Các ứng dụng thực tế ảnh JPEG

Thị trường phát thanh truyền hình


JPEG được sử dụng trong ngành truyền hình dưới dạng
nén lớp giữa cho quy trình làm việc thời gian thực. Nó
cung cấp những lợi thế độc đáo cho sản xuất video nén và
có thể thay thế video không nén. Hiện tại, nó được sử
dụng trong các ứng dụng video IP chất lượng cao, độ trễ
thấp. Ví dụ: liên kết (sự kiện trực tiếp đến trường quay) và
cơ sở hạ tầng phòng thu phát sóng IP mới nhất

31
Phần III: Tìm hiểu về một số công cụ, phần mềm nén ảnh đang
có hiện nay và các ứng dụng của công nghệ nén ảnh JPEG.
II. Các ứng dụng thực tế ảnh JPEG

Kho lưu trữ hình ảnh và cơ sở dữ liệu


Với ưu điểm có thể nén dung lượng, điều này
giúp lưu trữ được nhiều hình ảnh hơn tạo tiền đề
cho việc tìm kiếm và phân loại

32
Phần III: Tìm hiểu về một số công cụ, phần mềm nén ảnh đang
có hiện nay và các ứng dụng của công nghệ nén ảnh JPEG.
II. Các ứng dụng thực tế ảnh JPEG

Hình ảnh dùng trong y tế


Trong nhiều trường hợp, các chuyên gia chăm sóc
sức khỏe cần đảm bảo hình ảnh có thể được phân
phối mà không bị mất và quá trình nén không gây ra
biến dạng, điều này có thể dẫn đến chẩn đoán sai

33
THANK YOU !

34

You might also like