Nén dữ liệu Ảnh part 3 pot

11 270 0
Nén dữ liệu Ảnh part 3 pot

Đ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

Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 249 nó sau đó đem nhân với 2C N n . Ta lặp lại quá trình chia đôi đối với các dãy con, dãy con của dãy con và cứ tiếp tục chia nh thế. Giống nh biến đổi Fourier, mỗi bớc lặp cũng đợc coi là một tầng phân chia. Với N = 2 M thì số tầng phân chia là M. Để dễ hình dung, đầu ra của mỗi tầng đợc kí hiệu là X m (n) với m là tầng hiện thời. Ta xem x'(n) là biến đổi Cosin 0 tầng của x'(n): )(')( 0 nxnX X M (n) là biến đổi Cosin tầng M của x(n), nó không phải là X(k). Bởi vì cứ sau mỗi tầng, không chỉ thứ tự các phần tử trong X(k) bị xáo trộn mà các X(2k+1) còn đợc cộng với X(2k-1). Đầu ra của một tầng là đầu vào của tầng tiếp theo. )()( 1 ngnX với 1 2 , ,1,0 N n )() 2 (1 nh N nX với 1 2 , ,1,0 N n Từ công thức tính g(n) và h(n) ta có: với 1, ,1,0 Nn Cứ sau mỗi tầng, số dãy con lại đợc nhân đôi. Xét phép biến đổi tại tầng thứ m , chúng ta phải lặp lại công việc biến đổi cho 2 m-1 dãy con. Mỗi dãy con đóng vai trò nh dãy x'(n) trong tầng thứ nhất. Số phần tử trong một dãy là: 1 2 m N .Công đoạn biến đổi trên một dãy con gọi là một khối biến đổi. Mỗi dãy con sẽ tiếp tục đợc phân làm hai dãy nhỏ hơn. Công thức tổng quát tại mỗi khối là: Với mmm NN k N ki 2 2 , , 2 11 , trong đó k = 0,1, ,2 m -1 ) 2 ()()( 001 N iXiXiX i N C N iXiX N iX 2) 2 ()() 2 ( 00 1 1 2/2)] 2 (1)(1)[ 2 ( m N i C M N iXiX m N iX mmm ) 2 ()()( 11 m N iXiXiX mmm (8.17) (8.16) Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 250 Phần xây dựng công thức tổng quát trong phép biến đổi nhanh Fourier đợc trình bày khá chi tiết ở trên chúng ta có thể xem lại phần này để hiểu hơn về công thức tổng quát cho một khối biến đổi nhanh Cosin. Thuật toán biến đổi nhanh Cosin có thể mô tả bằng các bớc sau: Bớc 1: Tính dãy hệ số C j i . Xác định số tầng M = log 2 N. Tầng hiện thời m=1. Bớc 2: Nếu m M thực hiện bớc 3. Nếu không kết thúc. (Cha hết các tầng) Bớc 3: Khối hiện thời k = 0. Bớc 4: Nếu k < 2 m-1 Thực hiện bớc 5. Nếu không thực hiện bớc 6. (Cha hết các khối trong một tầng) Bớc 5: Tính toán X m (i) trong khối theo công thức tổng quát (8.16), (8.17). Tăng k lên 1. Quay về bớc 4. (Chuyển đến khối tiếp theo) Bớc 6: Tăng m lên 1. Quay về bớc 2 (Chuyển đến tầng tiếp theo) Một số vấn đề lu ý khi cài đặt thuật toán biến đổi Cosin nhanh Khác với biến đổi Fourier nhanh, trong biến đổi Cosin, x(n) không phải đầu vào trực tiếp và X(k) không phải là đầu ra trực tiếp. ở đầu vào, x'(n) chỉ là cách sắp xếp lại x(n). Chúng ta biết rằng tại mỗi tầng, đối với mỗi khối: )12()12()12( i X i X i X Nên ở đầu ra, sau khi tính đợc X M (n) chúng ta phải thực hiện việc trừ truy hồi từ tầng M về tầng 1 sau đó hoán vị lại theo thứ tự đảo bit mới thu đợc hệ số biến đổi X(k) cần tính. Bài toán sắp xếp lại theo thứ tự đảo bit đã đề cập trong phần biến đổi Fourier. Bài toán trừ truy hồi cài đặt khá đơn giản. Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 251 Dãy hệ số C j i đợc tính trớc một lần. Trong các ứng dụng mà số điểm tính FCT không đổi hoặc chỉ nhận một số giá trị cụ thể, ngời ta thờng tính trớc C j i và ghi ra file. Khi thực hiện biến đổi thì đọc từ file để lấy thông tin này. Trong ứng dụng của chúng ta, ta tính trơc C j i và lu vào một mảng. Phép biến đổi sẽ truy cập bảng này để lấy hệ số cần thiết. Phép biến đổi Cosin ngợc Phép biến đổi Cosin ngợc đợc định nghĩa bằng công thức: (8.18) Với 00 0 2 1 kkhi kkhi k Phép biến đổi Cosin ngợc sẽ đợc thực hiện theo chiều ngợc lại với quy trình đã iến hành trong phép biến đổi nhanh. Tuy nhiên, công việc này không đợc thuận lợi nh phép biến đổi FFT ngợc. Từ X(k) chúng ta phải khôi phục lại X M (n) bằng cách thực hiện các phép cộng truy hồi và phép hoán vị theo thứ tự đảo bit. Công thức tổng quát cho mỗi khối biến đổi ngợc đợc xây dựng dựa trên công thức tổng quát trong biến đổi xuôi: Với mmm NN k N ki 2 2 , , 2 11 , trong đó k = 0,1, ,2 m -1 Phép biến đổi ngợc phải cài đặt riêng. Tuy vậy, t tởng chính của hai bài toán xuôi và ngợc về cơ bản giống nhau. Đầu ra của phép biến đổi ngợc sẽ là x'(n). Muốn thu đợc x(n) ta phải đảo lại vị trí. i m N C m N iXiX m N iX mmm 1 2/ 2 1 ) 2 ()( 2 1 ) 2 ( 1 i m N C m N iXiXiX mmm 1 2/ 2 1 ) 2 ()( 2 1 )( 1 (8.19) (8.20) 1 0 2 )12( )()( N k N nk Cos k kXnx Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 252 8.3.3.2 Phép biến đổi Cosin rời rạc hai chiều Phép biến đổi Cosin rời rạc hai chiều đợc định nghĩa bởi: (8.21) Trong đó, 0 1 k khi k 1 = 0 và 2 1 1 k khi k 1 = 1,2, ,N 1 -1 0 2 k khi k 2 = 0 và 2 1 2 k khi k 2 = 1,2, ,N 2 -1 Phép biến đổi ngợc đợc định nghĩa bởi công thức: (8.22) 21 , kk nhận các giá trị nh trong công thức biến đổi xuôi. Để nâng cao tốc độ biến đổi ngời ta đã phát triển các giải thuật biến đổi nhanh Cosin hai chiều. Cách làm phổ biến nhất là tận dụng phép biến đổi nhanh Cosin một chiều. Ta biến đổi công thức (2.21) về dạng: Đặt: (8.23) Công thức (8.23) trở thành: (8.25) Công thức (8.24) là phép biến đổi Cosin rời rạc một chiều của x(n 1 ,n 2 ), trong đó n 2 là biến số, còn n 1 đóng vai trò là tham số thu đợc kết quả trung gian X'(n 1 ,k 2 ). Công thức (8.25) là phép biến đổi Cosin rời rạc của X'(n 1 ,k 2 ) với n 1 là biến số còn k 2 là tham số. Đến đây t tởng của thuật toán đã rõ ràng. Khi biến đổi nhanh Cosin hai 1 0 1 0 2 )12( 2 )12( ),( 4 ),( 1 1 2 2 22 1 11 21 21 21 21 2 N n N n N kn Cos N kn Cosnnx NN kkX kk 2 22 1 11 1 1 2 2 221 2 )12( 2 )12( 21 1 0 1 0 ), 1 (),( N kn Cos N kn Cos kk N k N k kkXnnx 1 11 1 1 2 2 22 21 2 2 1 1 21 2 )12( 1 0 1 0 2 )12( ),( 2 2 ),( 2 N kn Cos N n N n N kn Cosnnx NN k kkX 1 11 1 1 21 1 1 21 2 )12( . 1 0 ),(' 2 ),( N kn Cos n knX N kkX N k 12 02 2 22 21 2 2 21 2 )12( ),( 2 ),(' N n N kn Cosnnx N knX (8.24) Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 253 chiều của một ma trận ảnh, ta sẽ tiến hành biến đổi nhanh một chiều trên các điểm ảnh theo hàng, sau đó đem biến đổi nhanh một chiều theo cột của kết quả vừa thu đợc. Biến đổi nhanh Cosin ngợc hai chiều cũng đợc xây dựng dựa trên kết quả phép biến đổi nhanh Cosin ngợc một chiều. Từ công thức (8.22) ta biểu diễn lại nh sau: (8.26) Đặt: (8.27) Khi đó công thức (8.26) sẽ trở thành: (8.28) Công thức (8.27) là phép biến đổi Cosin ngợc rời rạc một chiều của X(k 1 ,k 2 ), trong đó k 2 là biến số, còn k 1 đóng vai trò là tham số thu đợc kết quả trung gian x'(k 1 ,n 2 ). Công thức (8.28) là phép biến đổi Cosin ngợc rời rạc của x'(k 1 ,n 2 ) với k 1 là biến số còn n 2 là tham số. Nh vậy, muốn khôi phục lại ảnh ban đầu từ ma trận hệ số biến đổi chúng ta sẽ biến đổi nhanh Cosin ngợc rời rạc một chiều các hệ số theo hàng, sau đó đem biến đổi nhanh Cosin rời rạc một chiều theo cột các kết quả trung gian vừa tính đợc. 8.3.3.3 Biến đổi Cosin và chuẩn nén JPEG JPEG là viết tắt của Joint Photographic Expert Group ( nhóm các chuyên gia phát triển chuẩn ảnh này). Chuẩn JPEG đợc công nhận là chuẩn ảnh quốc tế năm 1 11 1 1 1 2 22 2 2 212 2 )12( 1 0 2 )12( 1 0 ),(),( 21 N kn Cos N k N kn Cos N k kkXnnx kk 2 22 12 02 22121 2 )12( ),(),(' N kn CoskkXnkx N k k 1 1 1 1 2 )12( .),('),( 11 1 0 2121 N kn Cosnkxnnx k N k Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 254 1990 phục vụ các ứng dụng truyền ảnh cho các lĩnh vực nh y học, khoa học kĩ thuât, ảnh nghệ thuật Chuẩn JPEG đợc sử dụng để mã hoá ảnh đa mức xám, ảnh màu. Nó không cho kết quả ổn định lắm với ảnh đen trắng. Chuẩn JPEG cung cấp giải thuật cho cả hai loại nén là nén không mất mát thông tin và nén mất mát thông tin. Trong phần dới đây, chúng tôi trình bày chi tiết về một trong các dạng nén biến đổi chấp nhận mất mát Hình 8.5 Biến đổi Cosin của ảnh (trái) và biến đổi ngợc (ảnh gốc - phải) thông tin dùng biến đổi Cosin của chuẩn JPEG: Biến đổi Cosin tuần tự (Sequential DTC-Based). Biến đổi Cosin tuần tự là kĩ thuật đơn giản nhất nhng đợc dùng phổ biến nhất và nó đáp ứng đợc hầu hết các đặc tính cần thiết cho phần lớn các ứng dụng. Mã hoá JPEG bao gồm nhiều công đoạn nh đã nêu trong 8.3.3.1. Sơ đồ thuật toán nén và Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 255 giải nén đợc mô tả nh dới đây. Quá trình giải nén sẽ đợc làm ngợc lại, ngời ta giải mã từng phần ảnh nén tơng ứng với phơng pháp nén đã sử dụng trong phần nén nhờ các thông tin liên quan ghi trong phần header của file nén. Kết quả thu đợc là hệ số đã lợng tử. Các hệ số này đợc khôi phục về giá trị trớc khi lợng tử hoá bằng bộ tơng tự hoá. Tiếp đó đem biến đổi Cosin ngợc ta đợc ảnh ban đầu với độ trung thực nhất định. Bảng mã và bảng lợng tử trong sơ đồ giải nén đợc dựng lên nhờ những thông tin ghi trong phần cấu trúc đầu tệp (Header) của tệp ảnh nén. Quá trình nén chịu trách ảnh gốc P h â n k h ố i 8x8 8x8 8x8 Lợng tử hoá Bảng lợng tử Mã hoá Bảng mã ảnh nén DCT ảnh Giải nén Tơng tự hoá Bảng lợng tử Giải mã Bảng mã ảnh nén DCT ngợc Khối 8x8 Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 256 nhiệm tạo ra và ghi lại những thông tin này. Phần tiếp theo sẽ phân tích tác dụng của từng khối trong sơ đồ. A. Phân khối Chuẩn nén JPEG phân ảnh ra các khối 8x8. Công đoạn biến đổi nhanh Cosin hai chiều cho các khối 8x8 tỏ ra hiệu quả hơn. Biến đổi Cosin 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án chung nh việc tính hệ số C j i . Khi n=8 chúng ta chỉ cần tính hệ số C j i cho 3 tầng(8= 2 3 ), số các hệ số là: 4 + 2 + 1 = 7 Nếu với một ảnh 1024 x 1024, phép biến đổi nhanh Cosin một chiều theo hàng ngang hoặc hàng dọc ta phải qua 10 tầng (1024 = 2 10 ). Số các hệ số C j i là : 512 + 256 + 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 1021. Thời gian tính các hệ số C j i với toàn bộ ảnh 1024x1024 lớn gấp 150 lần so với thời gian tính toán các hệ số này cho các khối. Biến đổi Cosin đố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 sinh ra. Do các điểm ảnh hàng xóm có độ tơng quan cao hơn, do đó phép biến đổi Cosin cho từng khối nhỏ sẽ tập trung năng lợng hơn vào một số ít các hệ số biến đổi. Việc loại bớt một số hệ số năng lợng thấp trong các khối chỉ tạo ra mất mát thông tin cục bộ giúp nâng cao chất lợng ảnh. ảnh sẽ đợc chia làm B khối với: B N B M l N k M B '' Các khối đợc xác định bởi bộ số (m,n) với m = [0 M B -1] và n = [0 N B -1], ở đây m chỉ thứ tự của khối theo chiều rộng, n chỉ thứ tự của khối theo chiều dài. Phân khối thực chất là xác định tơng quan giữa toạ độ riêng trong khối với toạ độ thực của điểm ảnh trong ảnh ban đầu. Nếu ảnh ban đầu ký hiệu Image[i,j] thì ma trận biểu diễn khối (m,n) là x[u,v]đợc tính: vnlumkagevux ,Im],[ Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 257 B - Biến đổi 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 là: (8.29) Trong đó )80( 0 0 2 1 1 1 1 k k khi khi k )80( 0 0 2 1 2 2 2 k k khi khi k Thuật toán biến đổi nhanh Cosin 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 hình sau: 16 )12( 16 )12( ), 7 0 7 0 ( 4 ),( 2211 21 1 2 21 21 kn Cos kn Cosnn n n xkkX kk Đ ả o b í t x'(0) x'(1) x'(2) x'(3) x'(4) x'(5) x'(6) x'(7) X(0) X(1) X(2) X(3) X(4) X(5) X(6) X(7) 0. 5 0. 5 0. 5 - 1 - 1 - 1 - 1 - 1 4 C 4 C 4 C 4 C 0 8 2C 1 8 2C 0 8 2C 1 8 2C 0 16 2C 1 16 2C 2 16 2C 3 16 2C - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 258 Trong sơ đồ giải nén ta phải dùng phép biến đổi Cosin ngợc. Công thức biến đổi ngợc cho khối 8x8: (8.30) Trong đó )80( 0 0 2 1 1 1 1 k k khi khi k )80( 0 0 2 1 2 2 2 k k khi khi k Sơ đồ biến đổi ngợc nhanh đợc biểu diễn nh sau: 16 )12( 16 )12( ), 7 0 7 0 ( 4 ),( 2211 21 1 2 21 21 kn Cos kn Coskn k k kXnnx Đ ả o b í t x'(1) x'(2) x'(3) x'(4) x'(5) x'(6) x'(7) X(0) X(1) X(2) X(4) X(5) X(6) X(7) 0.5 0.5 0.5 0.5 0.5 0.5 0.5 X(3) x'(0) 0.5 0.5 0.5 0.5 0 4 2 1 C 0 4 2 1 C 0 4 2 1 C 0 4 2 1 C 0 8 4 1 C 1 8 4 1 C 1 8 4 1 C 0 8 4 1 C 0.5 0 16 1 C 1 16 1 C 2 16 1 C 3 16 1 C - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 - 1 [...]...Chương Tám: nén dữ liệu ảnh Có thể dễ dàng quan sát được độ nhạt rất nhanh của ảnh từ góc trên bên trái xuống góc dưới bên phải Năng lượng tập trung nhất vào điểm (0,0) của ma trận hệ số biến đổi Hình 8.6 Biến đổi FFT xuôi(trái) và ngược phải C- Lượng tử hoá Khối lượng tử hoá 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 Đầu vào của khối lượng... các khối điểm ảnh Nguyên tắc lượng hoá đã trình bày trong 2.2.2 Để giảm số bộ lượng tử, người ta tìm cách quy các hệ số ở các khối về cùng một khoảng phân bố Chuẩn nén JPEG chỉ sử dụng một bộ lượng tử hoá Giả sử rằng các hệ số đều có hàm tính xác suất xuất hiện như nhau Chúng ta sẽ căn chỉnh lại hệ số yj bằng phép gán : yj Với yj j j j là trung bình cộng của hệ số thứ j Nhập môn xử lý ảnh số - ĐHBK . trong 8 .3. 3.1. Sơ đồ thuật toán nén và Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 255 giải nén đợc mô tả nh dới đây. Quá trình giải nén sẽ. 1 11 1 1 21 1 1 21 2 )12( . 1 0 ),(' 2 ),( N kn Cos n knX N kkX N k 12 02 2 22 21 2 2 21 2 )12( ),( 2 ),(' N n N kn Cosnnx N knX (8.24) Chơng Tám: nén dữ liệu ảnh Nhập môn xử lý ảnh số - ĐHBK Hà nội 2 53 chiều của một ma trận ảnh, ta sẽ tiến hành biến đổi nhanh một chiều trên các điểm ảnh theo hàng, sau. của tệp ảnh nén. Quá trình nén chịu trách ảnh gốc P h â n k h ố i 8x8 8x8 8x8 Lợng tử hoá Bảng lợng tử Mã hoá Bảng mã ảnh nén DCT ảnh Giải nén Tơng

Ngày đăng: 29/07/2014, 04:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan