1. Trang chủ
  2. » Công Nghệ Thông Tin

Chuẩn JPEG - Công nghệ nén ảnh JPEG potx

24 705 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 1,11 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tuy nhiên nhiều ảnh JPEG chất lượng cao không áp dụng trườnghợp này và thay vì giữ chúng trong không gian màu RGB, mỗi vùng màu được nén vàlượng tử hóa tách biệt với những giới hạn cùng

Trang 1

TRƯỜNG ĐH CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

- -BÀI TẬP LỚN XỬ LÝ ẢNH

Đề tài:”Tìm hiểu công nghệ nén ảnh JPEG, chuẩn JPEG

và các loại JPEG Thử nghiệm trên ứng dụng cụ thể”

Giáo viên hướng dẫn: Lê Thị Thủy

Sinh viên thực hiện:

1 Hoàng Văn Cường

2 Phạm Xuân Đạo

3 Nguyễn Tiến Đạt

Hà Nội,12/2011

Trang 2

Lời mở đầu

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

ra một phương pháp nén ảnh để giảm bớt không gian lưu trữ và chia sẻ một cách dễ dàngtrên mạng nhưng vẫn giữ được tính trung thực của ảnh đang là một yêu cầu cần thiết Và

đã có rất nhiều phương pháp nén ảnh ra đời đã và đang được ứng dụng như: mã loạt dàiRLE, HUFFMAN, LZW, JPEG và phương pháp nén ảnh JPEG2000 Tất cả đều với mộtmụ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ốithiểu hoá dung lượng kênh truyền và không gian lưu trữ trong khi vẫn giữ được tínhtrung thực của ảnh Và JPEG là một công nghệ ra đời từ lâu nhưng cho đến hiện nay cácứng dụng của JPEG vẫn được sử dụng trong đời sống Ta thường gặp các ảnh JPEG khiduyệt web hay khi tải ảnh, bất cứ trang điện tử nào hầu như cũng đều có sự xuất hiện củaJPEG Có thể nói JPEG đóng một vai trò quan trọng trong các ứng dụng điện tử ngàynay

Với đề tài: “Tìm hiểu công nghệ nén ảnh JPEG, chuẩn JPEG và các loại JPEG Thử nghiệm trên ứng dụng cụ thể” dưới sự hướng dẫn của cô Lê Thị Thủy phụ trách bộ môn

xử lý ảnh chúng em đã tìm hiểu và đã hoàn thành đề tài này

Trong bài làm còn nhiều thiếu sót mong cô giáo và các bạn góp ý để đề tài hoàn thiện hơn

Nhóm chúng em xin chân thành cảm ơn

2

Trang 3

MỤC LỤC

LỜI MỞ ĐẦU

A CÔNG NGHỆ NÉN ẢNH JPEG………4

I Chuẩn JPEG……… 4

II Công nghệ nén ảnh JPEG……….5

1 Mã hóa JPEG……… 6

1.1 Phân khối……… 6

1.2 Mã hóa biến đổi DCT……… 8

1.3 Lượng tử hóa……….11

1.4 Mã hóa……… 13

2 Giải mã JPEG……….16

III JPEG……… 19

1 JPEG……… 19

2 JPEG 2000……… 19

3 JPEG – LS……… 19

4 JPEG – XR……….19

5 JPEG – HDR……… 20

B THỬ NGHIỆM ỨNG DỤNG CỤ THỂ……… 20

C KẾT LUẬN………24

Trang 4

A.CÔNG NGHỆ NÉN ẢNH JPEG

I CHUẨN JPEG

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íchtấ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ệ YCbCr Trong khi thị giác 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ệ Cb,Cr Dẫn đến hệ thống sẽ nén thành phần Y của ảnh ở mức độ ít hơn nhiều so với Cb

và Cr kế tiếp là dụng biến đổi Cosin rời rạc, sau nữa là quá trình lượng tử hóa và mã hóa.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

Quy trình nén:

 Chuẩn nén JPEG ban đầu phân ảnh ra các khối 8 x 8 Việc xử lý trên các khối dữliệu nhỏ này sẽ làm tăng độ chính xác trong tính toán cũng như giảm thiểu đượcmột phần của tính toán

 Tiếp đến các khối này qua giai đoạn biến đổi Cosin( DCT ) phép biến đổi Cosinerời rạc biến đổi thông tin ảnh từ miền không gian sang miền tần số để có thể biểudiễn dưới dạng gọn hơn

 Tiếp sau quá trình biến đổi Cosine rời rạc là quá trình lượng tử hóa: quá trình nàylàm giảm số lượng bít cần để lưu trữ các hệ số biến đổi bằng việc giảm độ chínhxác của hệ số ( quá trình mất mát thông tin)

 Tiếp đến là quá trình mã hóa, quá trình này sẽ tách biệt việc xử lý hai thành phầnđặc trưng: thành phần các hệ số một chiều DC đặc trưng cho phần lớn tín hiệu củaảnh và thành phần các hệ số xoay chiều đặc trưng cho các thông tin chi tiết củaảnh

4

Trang 5

Sau quá trình mã hóa ta sẽ có được dữ liệu ảnh như sau:

Ví dụ dữ liệu ảnh sau nén JPEG:

Trang 6

 Sự chuyển đổi không gian màu:

Trước tiên ảnh được chuyển đổi từ RGB tới một không gian màu khác gọi làYCbCr Nó có 3 thành phần Y, Cb,Cr, 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 xanh lá cây vàđỏ) Sự chuyển đổi không gian màu YcbCr cho phép nén ảnh lớn nhất và cho ra cùngmột chất lượng ảnh Tuy nhiên nhiều ảnh JPEG chất lượng cao không áp dụng trườnghợp này và thay vì giữ chúng trong không gian màu RGB, mỗi vùng màu được nén vàlượng tử hóa tách biệt với những giới hạn cùng chất lượng

 Downsampling:

Mắt người có thể nhìn thấy nhiều chi tiết trong thành phần Y(ánh sáng) hơntrong Cb(xanh lá cây) và Cr(xanh dương) Từ đó quá trình nén sẽ làm giảm thànhphần Cb và Cr (được gọi là: downsampling” hay “Chroma subsampling”) Tỉ số màtại việc lấy mẫu xuống có thể được thực hiên trên LPE 4:4:4( không lấy mẫu xuống),4:2:2(giảm bớt chia 2 theo hướng nằm ngang), và thường sử dụng I là 4:2:0(giảm bớtchia theo hướng nằm ngang và đứng) ngưng quá trình lấy mẫu Y, Cb, Cr được sử lýtách biệt và trong cùng 1 loại Lấy mẫu xuống thành phần Chroma lưu giữ 33% hoặc50% không gian được lấy bởi ảnh

1.1 Phân khối

6

Trang 7

Sau khi “ subsampling” mỗi kênh phải bị tách ra đặt trong khối 8x8( củapixel) Nếu như dữ liệu cho mỗi kênh không mô tả được số nguyên của các khốithì việc giải mã phải làm đầy những vùng còn lại của những khối không đầy đủvới một số hình thức của dữ liệu giả: làm đầy nền của pixel với màu quy định(màu đen) tạo ra vùng tối dọc phần nhìn thấy rõ của khung Cách tốt nhất là làmđầy pixel bởi sử dụng màu sắc mà nó qui định hệ số DCT của pixel nhìn thấy rõtại tần số thấp.

Miêu tả hàm truyền cosine

8x8 ảnh nhỏ trình bầy trong mặt xám 8bitViệc phân ảnh ra các khối 8x8 đem lại nhiều thuận lợi trong quy trình Nógiúp cho công đoạn biến đổi nhanh hai chiều cho các khối 8x8 hiệu quả hơn, biếnđổi Cosine cho các khối có cùng kích cỡ có thể giảm được một phần các tính toánchung Ngoài ra biến đổi Cosine đối với các khối có kích thước nhỏ sẽ làm tăng

độ chính xác khi tính toán với số dấu phẩy tĩnh, giảm thiểu sai số do làm tròn sinhra

Trang 8

Mặt khác, do các điểm ảnh hàng xóm có độ tương quan cao hơn do đó phép biếnđổi Cosine cho từng khối nhỏ sẽ tập trung năng lượng thấp trong các khối nên 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.2 Mã hóa biến đổi DCT

Mã hóa sử dụng biến đổi có 2 cách thường được sử dụng là biến đổi fourier vàbiến đổi Cosin Ở đây chuẩn JPEG sử dụng biến đổi Cosin mà không dùng biến đổi fourier là do: phép biến đổi Cosin tạo ra khối dữ liệu dễ nén hơn:

 Các hệ số là các hệ số thực dẫn đến khối lượng chỉ bằng 1/2 so với số phức

 Phép biến đổi Cosin tập trung năng lượng của khối ảnh vào 1 hệ số tương ứng với vùng tần số thấp Dẫn đến có thể cho các hệ số vùng tần số cao vềgần 0 và bằng 0 mà ảnh hưởng không đáng kể đến chất lượng ảnh

Mỗi thành phần (Y,Cb,Cr) 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 2-D(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 này

có tương quan giữa các điểm ảnh gần nhau nhỏ hơn

Phép biến đổi Cosin rời rạc một chiều được định nghĩa bởi:

phép biến đổi cosin hai chiều:

Biến đổi là một công đoạn lớn trong các phương pháp nén sử dụng phép biến đổi Nhiệm vụ của công đoạn biến đổi là tập trung năng lượng vào một số ít các hệ số biến đổi công thức biến đổi cho mỗi khối:

8

Trang 9

DC tập trung phần lớn năng lượng của ảnh.

8x8 bit ảnh nhỏ

Sau khi trừ mỗi phần tử cho 128

Trang 10

Sau khi lấy DCT và nhóm các số nguyên gần nhất

Giá trị lớn nhất ở đầu gốc trái gọi là hệ số DC, 63 giá trị còn lại gọi là hệ

số AC Biến đổi Cosine rời rạc làm tăng kích cỡ ảnh

Thuật toán biến đổi nhanh Cosine hai chiều cho mỗi khối trong trường hợp này sẽ bao gồm 16 phép biến đổi nhanh Cosin một chiều đầu tiên người ta biến đổi nhanh Cosin một chiều cho các dãy điểm ảnh trên mỗi hàng Lần lượt thực hiện cho 8 hàng Sau đó đem biến đổi nhanh Cosin một chiều theo từng cột của ma trận vừa thu được sau 8 phép biến đổi trên Cũng lẩn lượt thực hiện cho 8 cột ma trận cuối cùng sẽ là ma trận hệ số biến đổi của khối tượng ứng giải thuật biến đổi nhanh được mô tả như sau:

Trên thực tế nếu cài đặt thuật toán nhanh tổng quoát thì chúng ta phải sử dụng nhiều vòng lặp, nhiều phép so sánh và số lượng phép toán mà máy cần thực hiện thực tế nhiều hơn thuật toán thông thường Qua thử nghiệm cài đặt cả 2 thuậttoán trên và cho chạy trên cùng một ảnh thì thuật toán thông thường thường nhanhhơn so với thuật toán FCT Vì vậy người ta vẫn thường sử dụng thuật toán thông thường Một nguyên nhân nữa là vì phép biến đổi chỉ thực hiện trên các khối ảnh 8x8 nên độ phức tạp của thuật toán không phải là điều quyết định trong tốc độ tính toán

10

16

2C

2 1 2 1 2 1

-1-1-1-1

-1-1

-1-1

-1-1-1-1

-1

-1-1-1-1

X(7)

X(3)X(4)X(5)X(6)8

2C

9 16

2C

13

2C

Trang 11

1.3 Lượng tử hóa

Khối lượng tử hóa trong sơ đồ nén đóng vai trò quan trọng và quyết định

tỷ lệ nén của chuẩn nén JPEG, nhiệm vụ chính của công đoạn này là mã hóa ma trận đầu vào sau biến đổi DCT thành các giá trị mức xám đặc trưng cho các cường độ sáng của ảnh Đầu vào của khối lượng tử hóa là các ma trận hệ số biến đổi Cosin của các khối điểm ảnh

Sau khi thực hiện biến đối DCT, 64 hệ số sẽ được lượng tử hoá dựa trên

một bảng lượng tử gồm 64 phần tử Q(u,v) với 0≤u, v≤7 Bảng này được định

nghĩa bởi từng ứng dụng cụ thể Các phần tử trong bảng lượng tử có giá trị từ 1 đến 255 được gọi là các bước nhảy cho các hệ số DCT Quá trình lượng tử được coi như là việc chia các hệ số DCT cho bước nhảy lượng tử tương ứng, kết quả này sau đó sẽ được làm tròn xuống số nguyên gần nhất Công thức (3) thể hiện

việc lượng tử với F(u,v) là các hệ số DCT, F Q (u,v) là các hệ số sau lượng tử, các

hệ số này sẽ được đưa vào bộ mã hoá Entropy

Ở giai đoạn này người ta sử dụng một bảng lượng tử hóa Q(u,v) tùy thuộc vào từng mục đích hay từng ứng dụng cụ thể người ta có thể sử dụng các bảng lượng tử khá nhau

Giả sử ở đây ta dùng bảng lượng tử Q(u,v) được định nghĩa như sau:

Sử dụng bảng lượng tử Q(u,v) này ta thực hiện với ma trận DCT ở trên:

Ta được kết quả:

Trang 12

Kết thúc quá trình lượng tử hóa ta được ma trận hệ số, ma trận hệ số này chính là đầu vào của bước mã hóa.

Nhận xét: với phương pháp lượng tử hóa ta có thể sử dụng lượng tử hóa đều, khi đó tất cả các hệ số sau quá trình DCT đều được chia chung cho một hệ

số Song với ảnh, phần tần số thấp chứa nhiều thông tin hơn phần tần số cao vì vậy để đạt độ nén cao ta có thể dùng nhiều bit để lưu giữ các giá trị thành phần tần số thấp và dùng ít bit hơn để lưu trữ hệ số tần số cao Điều này dẫn tới việc thiết kế một bảng lượng tử với các hệ số khác nhau

Một bảng lượng tử hóa tốt cần phải có các tính chất sau:

 Giá trị Q(m,n) có thể nhỏ nhất bằng 2 Khi đó các hệ số X(m,n) saukhi được làm tròn tới số nguyên gần nhất có thể chứa trong 1 byte

 Hệ số X(0,0) là trung bình của ô ảnh vì thế không được để sai lệch quá nhiều

Khi ảnh là ảnh đồ họa thì có các vùng lớn giá trị điểm ảnh như nhau nên các hệ số AC=0 Còn những ô chứa biên thì giá trị AC khá lớn Q(m,n) nên lấy nhỏ để độ nén vẫn cao và đường biên không bị nhòe

1.4 Mã hóa

Đầu vào của quá trình mã hóa người ta chia tách biệt ra hai thành phần để xử

lý Với thành phần các hệ số 1 chiều DC người ta mã hóa hệ số theo phương pháp biến đổi xung mã ( DPCM) Còn với thành phần xoay chiều AC người ta sẽ sắp xếp lại theo phương pháp Zigzag và nén theo mã loạt dài

Thành phần các hệ số xoay chiều chứa các thông tin chi tiết của ảnh Để nâng cao hiệu quả nén cho mỗi hệ số trong một khối người ta xếp lại chúng theo thứ tự Zigzag Có thể hình dung hình Zigzag như bảng sau:

12

Trang 13

Tác dụng của sắp xếp lại theo thứ tự Zigzag là tạo ra nhiều loạt hệ số giống nhau Chúng ta biết rằng năng lượng của khối hệ số giảm dần từ góc trên bên trái xuống góc dưới bên phải nên việc sắp xếp lại các hệ số theo thứ tự Zigzag

sẽ tạo điều kiện cho các hệ số xấp xỉ nhau( cùng mức lượng tử) nẳm trên một dòng Thông thường các hệ số tương ứng với tần số cao phần lớn có giá trị bằng

0, dẫn đến khi chuyển theo phương pháp Zigzag ta sẽ có nhiều dãy hệ số 0 liên tiếp nhau.Mỗi khối Zigzag này được mã hóa theo phương pháp RLE Cuối mỗi khối đầu ra của RLE ta đặt dấu kết thúc khối EOB( End Of Block)

Sau bước lượng tử hóa ta đã có ma trận:

Chuỗi Zigzag cho các hệ số lượng tử hóa này:

-26 -3 0 -3 -2 -6 2 -4 1 -4 1 1 5 1 2 -1 1 -1 2 0 0 0 0 0 -1 -1 EOBTiếp đến là mã hóa AC theo mã loạt dài:

(0,-3);(1,-3);(0,-2);(0,-6);(0,2);(0,-4);(0,1);(0,-4);(0,1);(0,1);(0,5);(0,1);(0,2);(0,-1)

(0,1);(0,-1);(0,2);(5,-1);(0,-1);EOBThành phần AC này được xử lý theo quy trình:

Trang 14

Bước chạy của mã được xác định là số chữ số 0 đứng trước mã:

(0,3): bước chạy 0; (1,3): bước chạy 1…vv

Loại được xác định theo bảng hệ số DC ( dùng chung):

Sau đó các thành phần AC được phân loại theo bảng mã để tìm mã Huffman tương ứng

Bảng phân loại có thể sử dụng chung với DC:

Ví dụ:

(0,-3): -3 thuộc loại 2

Từ bước chạy và loại ta sử dụng bảng sau để tìm mã huffman tương ứng:

14

Trang 15

hệ số DC của khối đầu tiên, còn hệ số DC của các khối tiếp theo thì chỉ mã hóa độ lệch so với hệ số khối trước nó.

Sơ đồ mã hóa DC:

Trang 16

Giả sử DC1=40; DC2=25; delta=15 So với bảng phân loại đã đề cập ta có delta ứng loại 4: 110 Giá trị delta= 1111 Dẫn đến mã của DC2: 110 1111

Tương tự với các giá trị DC khác

Chuyển các giá trị đã mã hóa ra tệp:

Khi mã hóa các hệ số của biến đổi Cosin ta cần đến 2 bản mã Huffman, một cho

hệ số AC một cho DC Các bảng này phải lưu vào phần thông tin của tệp Còn phần dữ liệu của tệp sẽ lần lượt lưu các dãy bit của các khối 64 hệ số theo nguyên tắc:

 Lưu dãy bit của hệ số DC

 Tiếp theo lưu dãy bit của các hệ số AC ( bao gồm cả dấu hiệu kết thúc khối)

2 Giải mã JPEG

Thực chất quá trình giải mã hiển thị ảnh là quá trình ngược của mã hóaJPEG

Sơ đồ mã hóa và giải mã JPEG

Để có thể giải nén được, chúng ta phải ghi lại thông tin như: kích thước ảnh, kích thước khối, ma trận T, độ lệch tiêu chuẩn, các mức tạo lại, hai bảng mã

16

Trang 17

Huffman, kích thước khối nén một chiều, kích thước khối nén xoay chiều… và ghi nối tiếp vào hai file nén của hai thành phần hệ số.

Quá trình được bắt đầu với công đoạn giải mã Entropy, sau quá trình này

ta được ma trận 8x8 Lấy ma trận hệ số DCT ( sau khi cộng hệ số DC khác):

Quá trình giải lượng tử ở phía bộ giải mã được thực hiên ngược lại Các hệ

số sau bộ giải mã entropy sẽ nhân với các bước nhảy trong bảng lượng tử (bảng lượng tử được đặt trong phần header của ảnh JPEG) Kết quả này sau đó sẽ được đưa vào biến đổi DCT ngược

Kết quả sau giải mã lượng tử

Nó gần giống với ma trận hệ số DCT nguyên thủy cho nửa trên phía trái

Tiếp đến là quá trình biến đổi ngược DCT, áp dụng công thức biến đổi ngược chokhối 8x 8:

Trang 18

Cho ta kết quả:

Cộng 128 tới mỗi “ entry”:

Đây là những ảnh nhỏ không bị nén và có thể so sánh với ảnh nhỏ nguyên thủy, ảnh giải nén có sự khác nhau rất ít :

ảnh gốc

18

Trang 19

sự mất mát thông tin này là có thể chấp nhận được và việc loại bỏ những thông tin không cần thiết được dựa trên những nghiên cứu về hệ nhãn thị của mắt người.

2 JPEG 2000

JPEG 2000 là một tiêu chuẩn nén hình ảnh và hệ thống mã hóa Nóđược tạo bởi ủy ban Joint Photographic Experts Group vào năm 2000 với mục đích thay thế cho biến đổi cosin rời rạc ban đầu – nền tảng của tiêu chuẩn JPEG ( được tạo ra năm 1992) với một phương pháp thiết kế mới dựa trên phương pháp wavelet Tiêu chuẩn có phần mở rộng là jp2 ( ISO/IEC 15444-1) và jpx ( ISO/IEC 15444-2)

3 JPEG - LS

JPEG LS (Lossless JPEG) được bổ sung năm 1993 vào tiêu chuẩn JPEG của Joint Photographic Experts Group cho phép nén ảnh dạng lossless Bằng cách sử dụng một kĩ thuật hoàn toàn khác tiêu chuẩn nén JPEG tổn hao, nó sử dụng một chương trình dự đoán dựa trên 3 điểm gần nhất ( phía trên, bên trái và phía trên bên trái), mã hóa dữ liệu nhẫu nhiên được sử dụng trên các lỗi dự đoán Nó trở nên phổ biến trong các hình ảnh

y tế và được sử dụng trong DNG (Digital Negative – là một đinh dạng của Adobe sử dụng trong ảnh kĩ thuật số) và một số máy ảnh kĩ thuật số để nén ảnh thô nếu không thì nó không được phổ biến như hiện nay

4 JPEG - XR

JPEG XR ( một đinh dạng mở rộng của JPEG) là tiêu chuẩn nén hình ảnh và định dạng cho tệp tin hình ảnh được chụp liên tục, dựa trên công nghệ ban đầu được phát triển và cấp bằng sáng chế cho Microsoft

HD Photo (trước là Windows Media Photo) Nó hỗ trợ cả nén lossy và lossless, và là định dạng phổ biến cho các tài liệu Ecma-388 Open XML Paper Specification ( OpenXPS) Nó hỗ trợ các định dạng có sẵn trong Adobe Flash Player 11.0, Adobe AIR 3.0, Windows Imaging

Ngày đăng: 18/06/2014, 10:44

HÌNH ẢNH LIÊN QUAN

Bảng phân loại có thể sử dụng chung với DC: - Chuẩn JPEG - Công nghệ nén ảnh JPEG potx
Bảng ph ân loại có thể sử dụng chung với DC: (Trang 14)
Sơ đồ mã hóa DC: - Chuẩn JPEG - Công nghệ nén ảnh JPEG potx
Sơ đồ m ã hóa DC: (Trang 15)
Sơ đồ mã hóa và giải mã JPEG - Chuẩn JPEG - Công nghệ nén ảnh JPEG potx
Sơ đồ m ã hóa và giải mã JPEG (Trang 16)

TỪ KHÓA LIÊN QUAN

w