Tải bản đầy đủ (.pptx) (50 trang)

image compression C3

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 (4.29 MB, 50 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG


KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN : MẠNG VÀ TRUYỀN THÔNG


BÀI BÁO CÁO : MULTIMEDIA


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Image Compression



 3.4.1 Graphics Interchange format(GIF)
 3.4.2 Tagged image file format(TIFF)
 3.4.3 Digitized documents


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Image Compression



 <sub>Hình ảnh có 2 loại :</sub>


 Do máy tính tạo ra (Graphical)
 Hình ảnh đã được số hóa


 Hình ảnh được biểu diễn bởi ma trận 2 chiều bao gồm các thành phần


được gọi là các điểm ảnh(pixel)


 Hình ảnh do chương trình(phần mềm) tạo ra tốn ít bộ nhớ hơn so với hình


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

Image Compression(cont.)



 <sub>Khi truyền các hình ảnh do trương trình tạo ra thì sẽ được biểu diễn theo </sub>


định dạng của chương trình đó và sử dụng thuật tốn nén tương ứng


ví dụ : .jpeg <sub></sub> thuật tốn nén ảnh jpeg


 Có nhiều thuật tốn nén khác nhau nhưng chủ yếu sử dụng 2 phương án
 + Dựa trên sự kết hợp của mã hóa vi sai và mã hóa thống kê


 + Dựa trên sự biến đổi ,phép tính vi phân và mã hóa vi sai và được phát


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

3.4.1 Graphics Interchange format(GIF)



 Định dạng ảnh GIF thì được sử dụng rộng dãi trên Internet cho việc biểu


diễn và nén các ảnh Graphical


 Màu sắc của ảnh bao gồm 24 bit 8 bit Red, 8 bit Green, 8 bit Blue


 GIF giảm số lượng màu có thể mà được biểu diễn bằng việc lựa chọn 256


màu từ 224<sub> màu gốc</sub>


 Bảng màu chứa 256 mục,mỗi mục chứa giá trị của 24 bit màu


 Do đó thay vì truyền đi mỗi điểm ảnh là giá trị của 24 bit màu thì truyền 8


bit chỉ số của bảng màu phù hợp nhất với màu gốc (co gọn 224<sub>màu lại còn </sub>


256 màu; với các màu a,b gần giống nhau thì thay vì truyền cả 2 màu có
thể thay thế bằng chỉ số của 1 màu)


 Tỷ lệ nén 3:1



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6></div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

3.4.1 Graphics Interchange format(GIF) cont.



 Dữ liệu nén được chia làm 4 nhóm (Figure 3.10) ,đầu tiên là 1/8 tổng số


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

3.4.1 Graphics Interchange format(GIF) cont.



 Bảng màu liên quan tới toàn bộ ảnh gọi là  Golbal color table


 Bảng màu được gửi qua mạng cùng với dữ liệu nén và một số thông tin


khác <sub></sub> Local color table


</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

3.4.1 Graphics Interchange format(GIF) cont.



 Nếu chúng ta giới hạn mỗi mục trong bảng là 24bit  biểu diễn 1 chuỗi 3


giá trị điểm ảnh trong bảng mở rộng


 Thông thường bảng màu chứa 256 mục ban đầu là 512 mục


 GIF cho phép 1 hình ảnh được lưu trữ và truyền trên mạng trong chế độ


xen kẽ


 Điều này có lợi khi truyền hình ảnh qua 2 kênh có tốc độ thấp
 GIF sử dụng mã hóa : LZW coding


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

3.4.1 Graphics Interchange format(GIF) cont.



</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

3.4.2

Tagged image file format(TIFF)

.




 Sử dụng rộng rãi ,sử dụng 48 bít để biểu diễn 16 bits Red, 16 bits Green,


16 bits Blue


 Dự định để truyền cả hình ảnh và tài liệu đã được số hóa


 Do đó dữ liệu được lưu trữ và truyền theo 1 số định dạng khác nhau
 Mỗi định dạng sử dụng code number khác nhau


</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

3.4.3 Digitized documents



 Trong 2.4.3 đã thảo luận về máy quét trong máy fax để số hóa các ảnh


bitonal


 Nguyên tắc quét của máy quét là:từ trái qua phải ,từ trên xuống dưới
 Chỉ sử dụng 1 bít để biểu diễn 1 điểm ảnh


 + 0  trắng
 + 1  đen


 Với độ phân giải xấp xỉ 8 điểm ảnh /mm luồng bits không bị nén


 Trong hầu hết các trường hợp dữ liệu được truyền qua moden và PSTN tốc


độ thấp <sub></sub>tốn thời gian


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

3.4.3 Digitized documents (cont.)




 Tổ chức ITU-T đưa ra 4 chuẩn


 + T2(Group 1) hiện nay ít được sử dụng
 + T3(Group 2)


 + T4(Group 3) PSTN
 + T6(Group 4) ISDN


 Các chuẩn sd thuật toán nén là huffman
 Tỷ lệ nén 10:1


 Sau khi phân tích tần số xuất hiện của các bits trắng và đen liền kề nhau 


đưa ra được 2 bản codeword


 + termination-codes table : biểu diễn mã vi sai của màu trắng hoặc màu


đen từ 0<sub></sub>63 điểm ảnh trong các bước của 1 điểm ảnh


 + make-up codes table : biểu diễn mã vi sai của màu trắng hoặc màu đen là


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14></div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

Quét ảnh từ trên xuống, từ trái sang phải xem có bn bit bd



cho màu trắng, bn bit bd cho màu đen



Ở bảng a sd codeword để thay cho while run-lengh và



black run-lengh



Ở bảng b, độ dài của các bit trắng liền nhau là bội của 64,




muốn bd 1 độ dài nào đó mà ko nằm trong bảng a và b thì


lấy số tg ứng của 2 bảng a+b để tạo thành



Vd: để bd cho đoạn có độ dài 140 lấy codeword của 128+



</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

3.4.3 Digitized documents (cont.)



 Kỹ thuật overscaning được sử dụng nghĩa là tất cả các dịng bắt đầu với ít


nhất 1 bit trắng <sub></sub>Bên nhận biết rằng codeword đầu tiên luôn luôn liên quan
tới màu trắng rồi thì nó sẽ thay thế giữa màu trắng or màu đen sử dụng 2
bảng termination-codes table và make-up codes table <sub></sub>gọi là : modified
Huffman codes


 Nếu khơng có giao thức check lỗi trong PSTN ,khi sảy ra lỗi trên đường


truyền bên nhận sẽ bắt đầu dịch các codeword trong ranh giới các bit bị lỗi




bên nhận sẽ bất đồng bộ <sub></sub>không thể giải mã


 Để cho phép đồng bộ lại kết thúc mỗi dòng chèn thêm mã EOL(end of


line)


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

3.4.3 Digitized documents (cont.)



 Mỗi dòng quét được mã hóa 1 độc lập  One-dimensinal coding



 One-dimensinal coding làm việc tốt nếu tài liệu chỉ chứa ký tự và bản vẽ
 negative compression ratio : số bít được gửi đi khi nén lớn hơn số bits khi


khơng nén


 Vì nhưng lý do trên mã hóa T6(Group 4) được định nghĩa.Nó là tùy chọn


trong Group 3(máy fax) nhưng lại là bắt buộc trong Group4


 Khi hỗ trợ các máy trong Group 3 ,EOL code thêm vào cuối của mỗi dòng
 + Nếu là bít 1 dịng tiếp theo Group 3


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

3.4.3 Digitized documents (cont.)



 Ký tự 0 và 1 đó được gọi là modified – modified READ(MMR) coding


hoặc two-dimensional coding (2D)


 Mã hóa MMR liên quan tới mã hóa vi sai với 1 dịng đã được xác định


bằng việc so sánh nội dung của 1 dòng gọi là : coding Line(CL)


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

3.4.3 Digitized documents (cont.)



 Có 3 chế độ của mã hóa vi sai :
 + Pass mode


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20></div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

3.4.4 Digitized pictures




 Hình ảnh bao gồm 2 dạng :
 + Đơn sắc


 + Ảnh màu


 Dung lượng vào khoảng 307kb đến 2.4Mb  Ảnh hưởng đến ứng dụng


tương tác


 Dùng nén two-deminsional để giảm thời gian truyền


 Hầu hết các phương pháp nén và số hóa hình ảnh đều dựa trên tiêu chuẩn


</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

3.4.5 JPEG



 Phương pháp nén ảnh JPEG (Joint Photographic Experts Group


ISO/ITU/IEC) là một trong những phương pháp nén ảnh hiệu quả, có tỷ lệ
nén ảnh tới vài chục lần. Tuy nhiên ảnh sau khi giải nén sẽ khác với ảnh
ban đầu và nó được định nghĩa trong tiêu chuẩn IS 10918


 Nén mất mát thông tin


 Baseline mode :dùng trong việc nén các hình ảnh đơn sắc và số hóa các


ảnh màu, sử dụng trong các ứng dụng truyền thông đa phương tiện


 Các giai đoạn nén ảnh : 5 giai đoạn


 1. Image/Block Preparation (chuẩn bị hình ảnh, khối)


 2. Forward DCT (Chuyển tiếp DTC)


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

3.4.5 JPEG(cont.)



</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

3.4.5 JPEG(cont.)



 Dùng ma trận 2 chiều để biểu diễn hình ảnh


 Trong trường hợp ảnh đơn sắc chỉ sử dụng 1 ma trận 2 chiều để thiết lập 8


</div>
<span class='text_page_counter'>(25)</span><div class='page_container' data-page=25>

3.4.5 JPEG(cont.)



 Ảnh màu : nếu CLUT được sử dụng chỉ là duy nhất và được đại diện


bởi R,G,B ta có thể thay bằng: Y ,Cb,Cr


</div>
<span class='text_page_counter'>(26)</span><div class='page_container' data-page=26>

3.4.5 JPEG(cont.)



 Một khi file hình ảnh gốc được lựa chọn và chuẩn bị tập hợp các giá trị


được nén riêng biệt bằng cách sử dụng DCT.Nó thì tốn thời gian vì vậy
mỗi ma trận đầu tiên được chia 1 tập các ma trận nhỏ hơn (8x8) gọi là ma
trận phụ


</div>
<span class='text_page_counter'>(27)</span><div class='page_container' data-page=27>

3.4.5 JPEG(cont.)



 2.Forward DCT


 DCT : Chuyển đổi ma trận hai chiều của giá trị điểm ảnh vào một ma trận



tương đương của các thành phần tần số


 Mỗi giá trị điểm ảnh sử dụng 8 bít . Từ 0 đến 255 cho các giá trị mức xám


</div>
<span class='text_page_counter'>(28)</span><div class='page_container' data-page=28></div>
<span class='text_page_counter'>(29)</span><div class='page_container' data-page=29>

3.4.5 JPEG(cont.)



 Trong DCT


 Tất cả 64 mục giá trị trong ma trận input P [x, y] đóng góp cho mỗi mục


trong ma trận chuyển đổi F [i, j].


 Đối với i = j = 0, vì cos (0) = 1. giá trị ở vị trí F [0,0] là giá trị trung


bình của tất cả 64 giá trị trong ma trận và được biết đến như hệ số DC


 Tất cả giá trị khác của ma trận chuyển đổi có tần số hệ số liên quan với


chúng - hoặc ngang (x = 1<sub></sub>7 y = 0), theo chiều dọc (x = 0 y = 1<sub></sub>7) hoặc cả
hai (x = 1<sub></sub>7 cho y = l<sub></sub>7) gọi là hệ số AC .


 Đối với j = 0 chỉ có hệ số tần số quét ngang có mặt gia tăng tần số cho i


= 1<sub></sub>7.


</div>
<span class='text_page_counter'>(30)</span><div class='page_container' data-page=30></div>
<span class='text_page_counter'>(31)</span><div class='page_container' data-page=31>

3.4.5 JPEG(cont.)



3. Quantization: lượng tử hóa



 Mắt phản ứng chủ yếu để các DC và các thành phần tần số thấp hơn và



thay đổi theo tần số không gian. do ngưỡng giá trị sử dụng khác nhau cho
mỗi tổng số 64 hệ số DCT.


 Lượng tử hố là q trình làm giảm tầm quan trọng của quá trình DC.
 Lượng tử hoá làm giảm tầm quan trọng của DC và các hệ số AC để


giảm băng thơng .


 Các tính toán của các hệ số lượng liên quan đến việc phân chia các hệ


</div>
<span class='text_page_counter'>(32)</span><div class='page_container' data-page=32>

3.4.5 JPEG(cont.)



 Chúng ta có thể suy từ những con số quantization error tối đa là cộng


</div>
<span class='text_page_counter'>(33)</span><div class='page_container' data-page=33>

3.4.5 JPEG(cont.)



</div>
<span class='text_page_counter'>(34)</span><div class='page_container' data-page=34>

3.4.5 JPEG(cont.)



 4. Entropy Coding :


 Giai đoạn mã hóa dữ liệu ngẫu nhiên bao gồm 4 bước sau:


1. Vectoring


</div>
<span class='text_page_counter'>(35)</span><div class='page_container' data-page=35>

3.4.5 JPEG(cont.)



 Các thuật toán mã hóa dữ liệu Entropy hoạt động trên ma trận 1


chiều <sub></sub>một véc tơ .Tuy nhiên, sản lượng của lượng tử là 2-D.Vì vậy, các giá


trị được đại diện trong các hình thức của một đơn kích thước véc tơ.


 Ngoài ra, tất các hệ số tần số cao trong một trình tự để làm cho hình thức


đại diện thích hợp cho nén.


</div>
<span class='text_page_counter'>(36)</span><div class='page_container' data-page=36>

3.4.5 JPEG(cont.)



</div>
<span class='text_page_counter'>(37)</span><div class='page_container' data-page=37>

3.4.5 JPEG(cont.)



 Differential encoding :


 Các giá trị đầu tiên luôn luôn liên quan tới 0


 Các giá trị khác sau đó được mã hóa ttheo định dạng (SSS, giá trị) .
 + Trường SSS cho biết số bit cần thiết để mã hóa các giá trị.


 + Trường giá trị các bit thực tế đại diện cho các giá trị.


</div>
<span class='text_page_counter'>(38)</span><div class='page_container' data-page=38></div>
<span class='text_page_counter'>(39)</span><div class='page_container' data-page=39>

3.4.5 JPEG(cont.)



 Như chúng ta có thể thấy:


 Số lượng bit cần thiết để mã hóa mỗi giá trị thì được xác định bởi độ lớn


của nó.


 Các giá trị âm bản thì được mã hóa bằng các bít nhị phân khơng dấu.
 Các giá trị dương bản thì bằng chính giá trị của chúng



 lưu ý rằng một giá trị khơng được mã hóa bằng cách sử dụng bit 0 duy


</div>
<span class='text_page_counter'>(40)</span><div class='page_container' data-page=40></div>
<span class='text_page_counter'>(41)</span><div class='page_container' data-page=41>

3.4.5 JPEG(cont.)



 Huffman encoding :


 Nén có thể được thu được bằng cách thay thế chuỗi dài chữ số nhị phân


của một chuỗi của codewords ngắn hơn nhiều, (liên quan tới tần số xuất
hiện).


 Huffman là thuật tốn mã hóa.Giống mã hóa Differential và mã hóa vi sai




bằng cách thay thế các codeword ngắn hơn


 Đối với hệ số DC của mã hóa Differential các bít trong trường SSS không


</div>
<span class='text_page_counter'>(42)</span><div class='page_container' data-page=42></div>
<span class='text_page_counter'>(43)</span><div class='page_container' data-page=43>

3.4.5 JPEG(cont.)



</div>
<span class='text_page_counter'>(44)</span><div class='page_container' data-page=44></div>
<span class='text_page_counter'>(45)</span><div class='page_container' data-page=45>

3.4.5 JPEG(cont.)



 Giải thích ví dụ 3.8 sau.


 Để giải mã luồng bít nhận được thì bên nhận sẽ tìm bit trái nhất cho 1


codeword hợp lệ


 Trường SSS dùng để xác định số bit trong trường giá trị của mã hóa vi sai



sau đó nó sẽ đọc và giải mã và quá trình này lặp đi lặp lại tới bit cuối
cùng nhận được (EOB)


 Bởi vì việc sử dụng các codewords có chiều dài thay đổi trong các giai


</div>
<span class='text_page_counter'>(46)</span><div class='page_container' data-page=46></div>
<span class='text_page_counter'>(47)</span><div class='page_container' data-page=47>

3.4.5 JPEG(cont.)



 5. Frame Building :
 Frame Header :


 + Nói chung chiều rộng và chiều cao của hình ảnh bằng pixel.


 + Số lượng và loại của các thành phần được sử dụng để biểu diễn cho


hình ảnh (CLUB, RGB, YCbCr).


 + Số hóa dữ liệu định dạng được sử dụng: (4:2:2,4; 2, 0, vv)
 Scan Header :


 + Xác định các thành phần (RGB vv)


 + Số lượng bit được sử dụng để số hóa mỗi thành phần.


</div>
<span class='text_page_counter'>(48)</span><div class='page_container' data-page=48></div>
<span class='text_page_counter'>(49)</span><div class='page_container' data-page=49></div>
<span class='text_page_counter'>(50)</span><div class='page_container' data-page=50></div>

<!--links-->

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×