Bài giảng Xử lý và truyền thông đa phương tiện

pdf 125 trang phuongnguyen 2490
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Xử lý và truyền thông đa phương tiện", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_xu_ly_va_truyen_thong_da_phuong_tien.pdf

Nội dung text: Bài giảng Xử lý và truyền thông đa phương tiện

  1. HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG KHOA THIẾT KẾ VÀ SÁNG TẠO ĐA PHƯƠNG TIỆN GIÁO TRÌNH BÀI GIẢNG (Phương pháp đào tạo theo tín chỉ) TÊN HỌC PHẦN: XỬ LÝ VÀ TRUYỀN THÔNG ĐA PHƯƠNG TIỆN Mã học phần: CDT1307 (02 tín chỉ) Biên soạn PTITThS. HÀ ĐÌNH DŨNG TS. VŨ HỮU TIẾN LƯU HÀNH NỘI BỘ Hà Nội, 11/2014
  2. MỤC LỤC MỤC LỤC 2 DANH SÁCH HÌNH VẼ 8 CHƯƠNG 1. TỔNG QUAN VỀ XỬ LÝ VÀ TRUYỀN THÔNG ĐA PHƯƠNG TIỆN 11 1.1. Định nghĩa về đa phương tiện 11 1.2. Dữ liệu đa phương tiện 11 1.2.1. Phân loại dữ liệu đa phương tiện 11 1.2.2. Ứng dụng của của dữ liệu trong truyền thông Đa phương tiện 12 1.3. Xử lý dữ liệu đa phương tiện 14 1.4. Truyền thông đa phương tiện 14 1.4.1. Khái niệm về truyền thông 14 1.4.2. Mô hình truyền thông tổng quát 15 1.4.3. Sự hình thành các mạng viễn thông 16 CHƯƠNG 2. XỬ LÝ ĐA PHƯƠNG TIỆN 18 2.1. Xử lý văn bản 18 2.1.1. Giới thiệu về dữ liệu văn bản 18 2.1.2. Quá trình xử lý văn bản 20 2.1.3. Định dạng văn bản 21 a. Định dạng văn bản text 21 b. Định dạng văn bản rich text 22 c. Định dạng văn bản doc (.doc, .docx) 22 2.1.4. Nén văn bản 22 2.1.4.1. Mã hóa Run-length 23 2.1.4.2. Mã hóa thống kêPTIT Huffman 23 a. Tổng quan về mã thống kê 23 b. Nguyên lý mã hóa Huffman 24 c. Ưu nhược điểm 25 2.1.4.3. Mã hóa Lempel –Zive Welch 26 a. Tổng quan về mã LZW 26 b. Nguyên lý mã hóa LZW 26 c. Giải mã LZW 27 2.2. Xử lý âm thanh 28 2.2.1. Đặc trưng của âm thanh 28 2.2.1.1. Tần số 29 2
  3. 2.2.1.2. Hiệu ứng Doppler 29 2.2.1.3. Băng thông 30 2.2.1.4. Hài âm 30 2.2.1.5. Vận tốc âm 31 2.2.2. Mã hóa âm thanh 31 2.2.2.1. Kỹ thuật PCM 31 a. Lấy mẫu 31 b. Lượng tử hóa 33 c. Mã hóa 34 2.2.2.2. Kỹ thuật điều chế xung mã sai phân (DPCM) 34 Nguyên lý : 34 Sơ đồ khối bộ thu phát: 35 2.2.2.3. Điều chế xung mã sai phân thích ứng (ADPCM) 36 2.2.3. Nén âm thanh 37 2.2.4. Một số khái niệm cơ bản 37 2.2.5. Nguyên lý cơ bản của kỹ thuật nén âm thanh [6] 38 2.2.6. Chuẩn mã hóa audio Mp3 39 2.2.7. Một số định dạng file âm thanh 40 2.2.7.1. Định dạng wave (*.wav) 40 2.2.7.2. Định dạng mp3 (*.mp3) 40 2.2.7.3. Định dạng flac (*.flac) 42 2.3. Xử lý hình ảnh 42 2.3.1. Tổng quan về xử lý ảnh 42 2.3.2. Thu nhận ảnh PTIT 43 2.3.3. Không gian màu. 44 2.3.3.1. RGB 44 2.3.3.2. YUV 44 2.3.4. Kỹ thuật nén ảnh JPEG 45 2.3.5. Nén không tổn hao 45 2.3.6. Nén tổn hao 46 2.3.6.1. Chế độ nén cơ bản 46 a. Biến đổi Cosin rời rạc (Discrete Cosin Tranform) 47 b. Lượng tử hóa 48 c. Quét zigzag 49 3
  4. d. Mã hóa có chiều dài thay đổi (Variable Length Coding – VCL) 49 Mã hóa hệ số DC 49 Mã hóa hệ số AC 50 Ví dụ: 50 Giải: 51 Mã hóa hệ số DC: 51 Mã hóa các hệ số AC: 51 2.3.6.2. Chế độ nén lũy tiến 52 2.3.6.3. Chế độ nén phân cấp 52 2.3.6.4. Một số định dạng ảnh 54 2.4. Xử lý tín hiệu video 55 2.5. Tổng quan về xử lý tín hiệu video 55 2.6. Thu nhận hình ảnh video trong tự nhiên 56 2.6.1. Lấy mẫu theo không gian 56 2.6.2. Lấy mẫu theo thời gian 58 2.6.3. Frame và Field 58 2.7. Nguyên lý nén video 58 2.7.1. Kỹ thuật giảm dư thừa thông tin trong miền không gian 59 a. Mã hóa bằng phương pháp dự đoán 59 b. Mã hóa bằng phương pháp biến đổi 60 2.7.2. Kỹ thuật giảm dư thừa thông tin trong miền thời gian 61 a. Ước lượng chuyển động 62 b. Bù chuyển động 63 c. Mã hóa có chiều dài thayPTIT đổi (VLC) 63 2.7.3. Sơ đồ tổng quát của mã hóa video 63 a. Intraframe/Interframe loop 64 b. Ước lượng chuyển động 64 c. Inter/Intra switch 64 d. DCT 65 e. Lượng tử hóa 65 f. Variable Length Coding 65 g. Giải lượng tử (Inverse Quantization) và biến đổi DCT ngược (Inverse DCT) 65 h. Bộ đệm 65 2.7.4. Giải nén 65 4
  5. 2.7.5. Định dạng hình ảnh video 66 a. Định dạng SIF 66 b. Định dạng CIF 67 c. Sub-QCIF, QSIF, QCIF 67 d. HDTV 67 e. Ultra HDTV 68 2.7.6. Một số chuẩn mã hóa 68 2.7.7. Một số định dạng file video 70 CHƯƠNG 3. TRUYỀN THÔNG ĐA PHƯƠNG TIỆN 71 3.1 Các đặc trưng và yêu cầu của truyền thông đa phương tiện 71 3.1.1 Các đặc trưng của sản phẩm đa phương tiện 71 3.1.2 Các yêu cầu đối với hạ tầng truyền thông đa phương tiện 71 3.2 Mô hình phân lớp mạng 72 3.2.1 Ý nghĩa của việc phân tầng 72 3.2.2 Các tiêu chí để xây dựng mô hình các tầng chức năng trong mạng trao đổi thông tin 72 3.2.3 Khái niệm về giao thức, giao diện và chồng giao thức truyền thông 73 3.2.3.1 Khái niệm về giao thức và giao diện: 73 3.2.3.2 Khái niệm về chồng giao thức truyền thông 73 3.2.4 Mô hình kết nối các hệ thống mở OSI 74 3.2.4.1 Tầng vật lý 76 3.2.4.2 Tầng liên kết dữ liệu 76 3.2.4.3 Tầng mạng 77 3.2.4.4 Tầng giao vận PTIT 78 3.2.4.5 Tầng phiên 78 3.2.4.6 Tầng trình diễn 79 3.2.4.7 Tầng ứng dụng 79 3.3 Hạ tầng truyền thông cố định 80 3.3.1 Mạng PSTN 80 3.3.1.1 Mạch vòng nội hạt 81 3.3.1.2 Trạm chuyển mạch trung tâm 82 3.3.1.3 Trung kế 82 3.3.1.4 Mạng tổng đài nội hạt 83 3.3.2 Mạng truyền số liệu 84 5
  6. 3.3.2.1 Mạng số liệu công cộng chuyển mạch kênh - CSPDN (Circuited Switched Public Data Network) 84 3.3.2.2 Mạng số liệu công cộng chuyển mạch gói - PSPDN (Packet Switched Public Data Network) 85 3.3.2.3 Mạng điện thoại công cộng - PSTN (Public Switched Telephone Network) 85 3.3.2.4 Mạng truyền số liệu X25 85 3.3.2.5 Mạng Frame Relay (FR) 85 3.3.2.6 Mạng ADSL 85 3.3.2.7 Mạng FTTx 87 3.3.3 Mạng máy tính 88 3.3.3.1 Kiến trúc mạng (Network Architecture) 89 3.3.3.2 Cấu hình mạng (Topology) 90 3.3.3.3 Giao thức mạng máy tính 91 3.3.3.4 Phân loại mạng máy tính 91 3.3.4 Mạng thế hệ mới (NGN –Next General Network) 93 3.3.4.1 Cấu trúc mạng 93 3.3.4.2 Các dịch vụ trên mạng NGN 94 a. Dịch vụ Internet băng rộng (HSI) 94 b. Dịch vụ VoIP 94 c. Dịch vụ IPTV 96 d. Dịch vụ VPN 97 3.4 Hạ tầng truyền thông di động 97 3.4.1 Tổng quan về mạng di động 97 3.4.1.1 Lịch sử phát triển cPTITủa di động 98 3.4.1.2 Phân loại 98 3.4.2 Một số cấu trúc mạng di động điển hình 101 3.4.2.1 Mạng di động 2G 101 3.4.2.2 Mạng di động 3G 102 3.4.2.3 Mạng di động 4G 102 3.4.3 Các dịch vụ mạng di động 104 3.4.3.1 Dịch vụ SMS 104 3.4.3.2 Dịch vụ MMS 105 3.4.3.3 Dịch vụ Mobile Internet 105 3.5 Hạ tầng truyền thông truyền hình 106 3.5.1 Tổng quan về truyền hình 106 6
  7. 3.5.1.1 Lịch sử phát triển truyền hình 106 3.5.1.2 Phân loại: 107 3.5.2 Cấu trúc mạng truyền hình cáp 107 3.5.2.1 Truyền hình cáp hữu tuyến 107 3.5.3 Truyền hình số mặt đất (Digital Video Broadcasting-Terrestrial) 112 3.5.3.1 Tổng quan về truyền hình số mặt đất 112 3.5.3.2 Các dịch vụ gia tăng trên mạng truyền hình 114 Dịch vụ quảng cáo truyền hình 114 Dịch vụ truy nhập Internet 114 3.6 Truyền thông Internet 115 3.6.1 Lịch sử phát triển 115 3.6.2 Giao thức TCP/IP 116 3.6.3 Các dịch vụ trên Internet 117 3.6.3.1 Dịch vụ thư điện tử (Email) 117 3.6.3.2 Dịch vụ mạng thông tin toàn cầu 117 3.6.3.3 Dịch vụ truyền tập tin – FTP (File Transfer Protocol) 118 3.6.3.4 Dịch vụ hội thoại trên Internet 118 3.6.3.5 Dịch vụ Voip 119 3.6.3.6 Dịch vụ mạng xã hội 119 3.6.3.7 Điện toán đám mây 120 PHỤ LỤC A 122 BẢNG MÃ HUFFMAN CHO HỆ SỐ DC VÀ HỆ SỐ AC 122 TÀI LIỆU THAM KHẢO 125 PTIT 7
  8. DANH SÁCH HÌNH VẼ Hình 1. 1: Mô hình về sản xuất đa phương tiện 11 Hình 1. 2: Sự gắn kết của đa phương tiện với một số lĩnh vực 11 Hình 1. 3: Quá trình xử lý dữ liệu 14 Hình 1. 4: Mô tả việc truyền tin 15 Hình 1. 5: Truyền thông một chiều 15 Hình 1. 6: Truyền thông hai chiều 16 Hình 1. 7: Các loại hình mạng viễn thông 17 Hình 2. 1: Bảng mã ASCII 19 Hình 2. 2: Ví dụ về văn bản có định dạng 20 Hình 2. 3 Ví dụ về siêu văn bản 20 Hình 2. 4: Quá trình xử lý văn bản 21 Hình 2. 5: Nguyên tắc hoạt động của bàn phím máy tính 21 Hình 2. 6: Cây mã Huffman 25 Hình 2. 7: Các bước để mã hóa bằng LZW 26 Hình 2. 8: Từ điển và chuỗi mã đầu ra của bộ mã hóa 27 Hình 2. 9: Từ điển và chuỗi ký tự sau khi được giải mã 28 Hình 2. 10: Ví dụ về sóng âm 29 Hình 2. 11: Ví dụ về hiệu ứng Doppler 30 Hình 2. 12: Ví dụ về hài âm 30 Hình 2. 13: Bảng tốc độ âm thanhPTIT của một số môi trường 31 Hình 2. 14: Quá trình lấy mẫu, lượng tử và mã hóa 32 Hình 2. 15: Biểu diễn lấy mẫu và lượng tử tín hiệu sau lấy mẫu. 33 Hình 2. 16: Biểu diễn ngưỡng nghe của tai thay đổi theo tần số âm thanh 37 Hình 2. 17: Hiệu ứng mặt nạ tần số 38 Hình 2. 18: Hiệu ứng mặt nạ thời gian 38 Hình 2. 19: Sơ đồ khối bộ nén tín hiệu âm thanh theo chuẩn MPEG-1 Layer 3 39 Hình 2. 20: Tổ chức các chunk trong tập tin wav 40 Hình 2. 21: Cấu trúc tập tin mp3 41 Hình 2. 22: Sơ đồ khối xử lý hình ảnh 42 Hình 2. 23: Quá trình thu nhận hình ảnh 43 8
  9. Hình 2. 24: Sự kết hợp của ba màu cơ bản RGB 44 Hình 2. 25: Sơ đồ nén không tổn hao 46 Hình 2. 26: Pixel x được dự đoán từ pixel a, b, c 46 Hình 2. 27: Thuật toán nén trong chế độ nén cơ bản 47 Hình 2. 28: Bảng lượng tử cho kênh chói và hai kênh màu Q(u,v) 48 Hình 2. 29 Mã hóa các hệ số DCT lần lượt theo đường zigzag 49 Hình 2. 30: Biểu diễn các thời điểm giải nén trong chế độ nén cơ bản 52 Hình 2. 31: Cấu trúc nén ảnh phân cấp theo hình kim tự tháp 53 Hình 2. 32: Sơ đồ mã hóa trong chế độ phân cấp 53 Hình 2. 33: Sơ đồ khối xử lý tín hiệu video 56 Hình 2. 34: Lưới lấy mẫu ảnh 57 Hình 2. 35: Hình ảnh lấy mẫu thưa 57 Hình 2. 36: Hình ảnh lấy mẫu dày 57 Hình 2. 37: Sơ đồ khối của bộ CODEC DPCM trong xử lý video 60 Hình 2. 38: Biểu diễn bộ lượng tử UTQ (a) và UTQ-DZ (b) 61 Hình 2. 39(a) Sự khác biệt giữa khung hình hiện thời và trước đó; (b) Ảnh sau khi được bù chuyển động 62 Hình 2. 40 Vùng tìm vector chuyển động của macroblock hiện thời 62 Hình 2. 41: Sơ đồ nguyên lý tổng quát của bộ mã hóa video 64 Hình 2. 42: Sơ đồ giải nén tín hiệu video 66 Hình 2. 43: Tỷ lệ lấy mẫu của các kênh màu trong định dạng SIF 67 Hình 2. 44: So sánh tương quanPTIT về kích thước hình ảnh giữa các chuẩn video 68 Hình 2. 45: Một số tiêu chuẩn mã hóa Video 70 Hình 3. 1: Phân cấp giao thức 74 Hình 3. 2: Mô hình tham chiếu OSI 76 Hình 3. 3: Các thành phần cơ bản của mạng điện thoại chuyển mạch kênh 81 Hình 3. 4: Mạng tổng đài nội hạt 84 Hình 3. 5: Sơ đồ cung cấp dịch vụ ADSL 86 Hình 3. 6: Sơ đồ cung cấp dịch vụ FTTx 87 Hình 3. 7: Mạng máy tính 90 Hình 3. 8: Cấu trúc mạng máy tính điển hình 93 9
  10. Hình 3. 9: Mô hình chức năng mạng NGN 94 Hình 3. 10: Cấu trúc mạng VoIP 95 Hình 3. 11: Cấu trúc mạng cung cấp dịch vụ IPTV 96 Hình 3. 12: Lịch sử phát triển mạng di động 98 Hình 3. 13: Mạng thông tin di động tế bào 101 Hình 3. 14: Cấu trúc mạng di động 3G 102 Hình 3. 15: Cấu trúc mạng di động 4G LTE 103 Hình 3. 16: Các thực thể liên quan đến dịch vụ SMS 104 Hình 3. 17: Đóng gói bản tin MMS 105 Hình 3. 18: Sơ đồ khối tổng quát mạng truyền hình cáp 108 Hình 3. 19: Mạng phân phối tín hiệu truyền hình cáp đồng trục 109 Hình 3. 20: Sơ đồ mạng cáp quang kết hợp cáp đồng trục 111 Hình 3. 21: Sơ đồ khối hệ thống truyền hình DVB-T 113 Hình 3. 22: Mô hình OSI và TCP/IP 116 Hình 3. 23: Mô hình phân lớp giao thức TCP/IP 117 PTIT 10
  11. CHƯƠNG 1. TỔNG QUAN VỀ XỬ LÝ VÀ TRUYỀN THÔNG ĐA PHƯƠNG TIỆN 1.1. Định nghĩa về đa phương tiện Đa phương tiện là tích hợp của văn bản, âm thanh, các loại hình ảnh và công cụ trong mội môi trường thông tin số. Các công cụ này bao gồm các phần mềm và thiết bị cho phép người dùng điều chỉnh và cài đặt để sử dụng và tích hợp với nhau để tạo ra các sản phẩm đa phương tiện. Hình 1. 1: Mô hình về sản xuất đa phương tiện Đa phương tiện là thuật ngữ gắn liền với quảng cáo công nghiệp, với TV, radio, phương tiện in ấn PTIT Hình 1. 2: Sự gắn kết của đa phương tiện với một số lĩnh vực 1.2. Dữ liệu đa phương tiện 1.2.1. Phân loại dữ liệu đa phương tiện Chúng ta đã thấy thành phần dữ liệu của hệ thống đa phương tiện bao gồm các dữ liệu như văn bản, âm thanh, hình ảnh, video. Thành phần dữ liệu đầu tiên của đa phương tiện là các văn bản- ký tự văn bản. nếu không có văn bản ta không thể lưu giữ các thông tin từ xa xưa, các thông tin về pháp luật, văn hóa, chính trị, kỹ thuật, các thông tin không thể dùng lời nói, Các văn bản thể hiện ngôn ngữ của một quốc gia, của một dân tộc mang đặc trưng văn hóa của dân tộc, quốc gia đó. Dữ liệu văn bản là thành phần cơ bản nhất của đa phương tiện trong những thời kỳ ban đầu. 11
  12. Thành phần dữ liệu thứ hai là âm thanh (audio). Từ âm thanh (audio) có sự khác biệt một chút so với sound (âm phát ra) . Audio bao gồm tất cả các sound mà chúng ta nghe thấy. Điều này dường như mâu thuẫn nhưng như đã biết con người không thể nghe tất cả các âm (sound). Ví dụ: âm thanh sound phát ra bởi con dơi chỉ con dơi mới nhận ra còn con người thì không. Audio là một trong những thành phần hấp dẫn của bất kỳ hệ thống trình diễn đa phương tiện nào. Ảnh hưởng của âm thanh tạo tâm trạng và không khí của buổi trình diễn. Nó có thể được dùng trong nhiều ứng dụng đa phương tiện và là một phần của nội dung audio trong hệ thống đa phương tiện, chúng ta có thể dùng âm nhạc, hiệu ứng âm thanh, tiếng nói cho mục đích trình diễn của chúng ta. Audio có được hoặc là do máy tính tạo ra, hoặc là do chúng ta ghi lại và chuyển đổi sang dạng số. Có lẽ thành phần quan trọng nhất của đa phương tiện tiếp theo là thành phần hình ảnh. Các trình diễn đa phương tiện phần lớn dựa trên hình ảnh. Thông tin được truyền thông qua các bức tranh rất dễ hiểu và nhớ. Các thành phần hình ảnh trong hệ thống đa phương tiện có thể vẫn là các bức ảnh được chuyển sang dạng số bởi các máy quét hoặc được tạo ra trên máy tính. Chúng có thể là ảnh 2 chiều như ảnh và tranh vẽ hay có thể là 3 chiều như điêu khắc, trạm trổ, Chúng có thể là ảnh tĩnh và ảnh động. Xa hơn là các hoạt họa ảnh 2 chiều như film hoạt hình hoặc 3 chiều, Thành phần cuối cùng trong nhóm dữ liệu đa phương tiện là dữ liệu video. Bản chất của video là một chuỗi các hình ảnh được trình chiếu với một tốc độ nhất định tạo cho người xem cảm giác các đối tượng trong hình ảnh đang chuyển động. Do vậy, video giúp cho sản phẩm đa phương tiện truyền tải các thông tin tới người xem một cách sinh động, giúp người xem cảm nhận các thông tin trong sản phẩm đa phương tiện gần gũi với đời sống thật. 1.2.2. Ứng dụng của của dữ liệu trong truyền thông Đa phương tiện a. Ứng dụng của văn bản Văn bản được sử dụng để củng cố hoặc hỗ trợ các phương tiện truyền thông khác ví dụ chú thích, tiêu đề, giải thích những hình ảnh minh họa. Những hình ảnh này đã được kết hợp một cách rất tinh tế với văn bản để nhấn mạnh nội dung của bức hình và làm tăng lên sự cảm nhận cho người xem trong mỗPTITi bức hình. Văn bản còn được sử dụng như một sự kết nối giữa các nguồn tài liệu và thông tin giúp cho sự trao đổi thông tin được một cách thuần tiện và dễ dàng hơn. Các loại hình văn bản có thể làm tăng thêm hiệu quả hình ảnh cũng như nội dung của sản phẩm với người sử dụng. Trong xã hội ngày nay quảng bá hình ảnh sản phẩm đóng một vai trò rất quan trọng trong chiến lược kinh doanh của các công ty, trong trường hợp này các loại hình chữ viết và văn bản cũng được sử dụng và đóng một vai trò rất quan trọng, các loại hình chữ viết và văn bản đã được thiết kế và sắp đặt một cách rất tài tình để tạo ra hiệu ứng và cảm xúc đến người xem một cách ấn tượng và sâu sắc nhất. b. Ứng dụng của âm thanh Âm thanh đóng vai trò quan trọng trong các ứng dụng truyền thông đa phương tiện. Các hiệu ứng đặc biệt của những âm thanh và tiếng nói có thể được đưa vào các ứng dụng, đặc 12
  13. biệt là các ứng dụng trong hệ thống đào tạo và bán hàng tự động hoặc hệ thống điểm thông tin. Một lời chú thích bằng tiếng nói có thể được dùng để diễn tả những gì đang diễn ra trên màn hình hoặc để làm nổi bật và nhấn mạnh những khái niệm then chốt. Âm thanh có thể được sử dụng kết hợp với hình ảnh tĩnh hoặc động để giải thích cho người sử dụng một ý tưởng hay một quy trình hiệu quả hơn theo cách giải thích đơn giản bằng văn bản hay đồ họa. Âm nhạc có thể được sử dụng để thu hút sự chú ý của khách hàng hoặc để tạo ra được một phong cách riêng biệt. Trong một số lĩnh vực chuyên dụng về âm thanh có thể hình thành nên được cái lõi của một ứng dụng truyền thông đa phương tiện, chẳng hạn như các hệ thống giúp cho người tàn tật nhìn thấy được. Một dự án mới đây đã đưa đến việc chuyển tải nhật báo đến một thiết bị máy tính đặt tại nhà người sử dụng. Chỉ cần ngồi nhà, người sử dụng có thể chọn nghe hệ thống xử lý tiếng nói đọc lớn các bài báo đã được chọn lọc hoặc cho các bài báo đó hiện thị trên màn hình với kiểu chữ lớn. Một khi chi phí giảm và công nghệ được cải tiến thì mối quan tâm của người dùng đến việc sử dụng hệ thống xử lý và nhận dạng tiếng nói trong các ứng dụng kinh doanh nói chung sẽ tăng lên. c. Ứng dụng của hình ảnh tĩnh Trong lĩnh vực đa phương tiện, hình ảnh tĩnh được sử dụng trong việc vẽ biểu đồ kỹ thuật, lược đồ và hoạt hình. Đồ thị và biểu đồ - chính xác có thể truyển tải thông tin nếu được thiết kế tốt Các biểu tượng là những biểu tượng đặc biệt được sử dụng để xác định các nơi, mọi thứ hoặc các thuộc tính. Chúng phải được thiết kế cẩn thận để phục vụ cho sự hiểu biết giữa các nền văn hóa. Hình ảnh có thể gợi lên những phản ứng cảm xúc mạnh mẽ, chú thích có thể giúp người dùng tập trung vào chi tiết. Đồ họa được sử dụng để giải thích, tác động, tìm và cảm nhận của sản phẩm. d. Ứng dụng của hình ảnh động Hình ảnh động được sử dụng trong các mô phỏng thế giới ảo để thể hiện những ý tưởng cũng như sự thử nghiệm của conPTIT người. Ngoài ra, hình ảnh động cũng được sử dụng trong lĩnh vực giải trí: làm phim hoạt hình 2D &3D, làm các clip ngắn vui nhộn cũng như trong các TVC (quảng cáo truyền hình), e. Ứng dụng của video Nhúng các video trong các ứng dụng đa phương tiện là một cách hữu hiệu để chuyển tải thông tin mà có thể kết hợp một thành phần khác mà các phương tiện truyền thông khác còn thiếu. Video là một phương tiện quan trọng để truyền đạt các thông điệp cho kênh MTV một kênh ca nhạc lớn trên thế giới. Nhưng cũng cần chú ý, video clip kỹ thuật số chất lượng tốt yêu cầu phần cứng rất tinh vi và cấu hình phần mềm hỗ trợ. Lợi thế của việc tích hợp video vào một bài trình bày đa phương tiện là khả năng truyền tải hiểu quả rất nhiều thông tin trong thời gian ít nhất. Hãy nhớ rằng chuyển động tích hợp với âm thanh là một chìa khóa cho sự nhận biết và tiếp thu của người xem trở nên thu hút và hiểu quả. Nó cũng làm tăng việc lưu giữ các thông tin được trình bày (kiến thức). 13
  14. Khả năng kết hợp video được số hóa trong một sản phẩm đa phương tiện đánh dấu một thành tựu quan trọng trong sự phát triển của ngành công nghiệp đa phương tiện. Video mang một ý nghĩa của chủ nghĩa hiện thực tới các sản phẩm đa phương tiện và hữu ích trong việc tham gia kết nối với người sử dụng. 1.3. Xử lý dữ liệu đa phương tiện Sơ đồ gồm các khối chức năng trong quá trình xử lý dữ liệu đa phương tiện được mô tả trong hình1.3. Dữ liệu Truyền hoặc Giải Dữ liệu Số hóa Mã Giải số hóa lưu trữ mã hóa Hình 1. 3: Quá trình xử lý dữ liệu Số hóa: Biến đổi dữ liệu vật lý sang dữ liệu số (digital) Mã hóa: Thực hiện nén, chuyển đổi kích thước, định dạng dữ liệu theo yêu cầu Truyền hoặc lưu trữ: Lưu thông tin hoặc đưa thông tin từ nơi sản xuất đến người dùng Giải mã: Biến đổi ngược lại của khối mã Giải số hóa: Chuyển đổi sang các dữ liệu vật lý như ban đầu. Ghi chú: Trong một số trường hợp người ta có thể kết hợp 2 khối số hóa và mã hóa trong cùng một khối gọi là mã hóa. Tương tự với 2 khối còn lại là giải mã. 1.4. Truyền thông đa phương tiện 1.4.1. Khái niệm về truyền thông Từ xa xưa, con người đã có nhiều hình thức để trao đổi thông tin với nhau, việc trao đổi thông tin có thể thông qua cácPTIT dạng khác nhau như dùng âm thanh (tiếng chuông, tiếng tù và, ), dùng hình ảnh (khói, lửa, các ký hiệu, ) để báo hiệu cho nhau, dùng các con vật (chim bồ câu, ngựa, ) để truyền tin. Như vậy, có thể thấy để việc trao đổi thông tin xẩy ra khi có đủ các yếu tố: - Nhu cầu trao đổi thông tin giữa các đối tượng - Các thông tin cần truyền đạt - Môi trường hay phương tiện truyền tin 14
  15. Hình 1. 4: Mô tả việc truyền tin Các thông tin cần truyền đạt cơ bản bao gồm: âm thanh (tiếng nói, âm nhạc, ), hình ảnh (hình ảnh tĩnh, hình ảnh động), dữ liệu (ký tự, đồ thị). Những thông tin này có thuộc tính chung là đều chứa đựng ý tưởng trong hoạt động tư duy của con người. Thông tin được thể hiện ở một dạng thức nhất định được gọi là bản tin. Dạng thể hiện có thể là văn bản, bản nhạc, hình vẽ, đoạn thoại. Một bản tin chứa đựng một lượng thông tin cụ thể, có nguồn và đích xác định cần được chuyển một cách chính xác, đúng đích và kịp thời. Nguồn phát tin là nguồn sinh ra bản tin hay chứa các bản tin cần truyền , nguồn tin có thể là con người hay các thiết bị thu phát âm thanh, hình ảnh, các thiết bị lưu trữ và thu nhận thông tin để phát đi nguồn nhận là nguồn tiếp nhận thông tin. Như vậy, truyền thông tin hay truyền thông có thể hiểu là sự trao đổi tin tức giữa các đối tượng có nhu cầu bằng một công cụ nào đó. Ngày nay, do sự phát triển của khoa học kỹ thuật, con người đã biết sử dụng các tín hiệu điện để truyền thông ở một khoảng cách xa và cụm từ truyền thông có tên gọi là viễn thông tức là truyền thông ở khoảng cách xa. Mặt khác, trước đây chỉ có 2 người có nhu cầu thông tin trao đổi với nhau thì bây giờ nhu cầu để nhiều người ở khoảng cách xa có thể cùng trao đổi thông tin. Và do vậy, viễn thông đã được xây dựng và phátPTIT triển thành mạng lưới viễn thông hay mạng viễn thông để giúp nhiều người cùng trao đổi thông tin. 1.4.2. Mô hình truyền thông tổng quát Mô hình truyền thông tổng quát có thể là một chiều hoặc hai chiều như hình vẽ dưới đây: Hình 1. 5: Truyền thông một chiều 15
  16. Hình 1. 6: Truyền thông hai chiều Hình vẽ cho ta sơ đồ khối của mô hình truyền thông, thông tin truyền có thể là một chiều – truyền đơn hướng (Hình 1.5 ) hoặc trao đổi hai chiều – truyền hai hướng (Hình 1.6). Thông tin từ nguồn tin đi tới thiết bị đầu cuối (TBĐC) phát để chuyển thành tín hiệu. Tín hiệu này được truyền qua môi trường truyền dẫn (kênh truyền thông) tới TBĐC thu. Tại đây, tín hiệu được biến đổi ngược lại thành thông tin và đưa tới nơi nhận tin. Tùy thuộc vào tin tức, thiết bị đầu cuối trong mô hình truyền thông có thể có các cấu tạo khác nhau, sử dụng các phương pháp biến đổi tin tức –tín hiệu khác nhau (ví dụ: TBĐC là micro để chuyển tiếng nói thành tín hiệu thoại, là loa để chuyển tín hiệu thoại thành tiếng nói) Môi trường truyền dẫn có hai loại là hữu tuyến (có dây) và vô tuyến (không dây). Môi trường truyền dẫn hữu tuyến bao gồm các loại đường dây thông tin như cáp đồng nhiều đôi, cáp đồng trục, sợi quang Môi trường truyền dẫn vô tuyến là khoảng không bao quanh trái đất, chính là các tầng khí quyển, tầng điện ly và khoảng không vũ trụ khác (không phải chân không). 1.4.3. Sự hình thành các mạng viễn thông Viễn thông bao gồm những vấn đề liên quan đến việc truyền thông tin (trao đổi hay quảng bá thông tin) giữa các đối tượng qua một khoảng cách, nghĩa là bao gồm bất kỳ hoạt động liên quan tới việc phát/nhận tin tức (âm thanh, hình ảnh, chữ viết, dữ liệu, ) qua các phương tiện truyền thông (hữu tuyến như đường dây kim loại, cáp quang hoặc vô tuyến hoặc các hệ thống điện từ khác). Hình 1.7 là lược đồ phân loại mạng viễn thông. Viễn thông chiếm phần chủ đạo trong truyền thông. Truyền thông là việc truyền thông tin từ một điểm tới một điểm khác, gồm có truyền thông cơ học (bưu chính) và truyền thông điện (viễn thông) bởi vì nó phát triển từ dạng cơ học (máy móc) sang dạng PTITđiện/quang và ngày càng sử dụng những hệ thống điện/quang phức tạp hơn. 16
  17. Viễn thông Đơn hướng Song hướng Truyền Truyền Điện Telex Điện Điện Truyền Thư Truyền Truyền thanh hinh báo thoại thoại dữ liệu điện hình hình cố di tử hội theo định động nghị yêu cầu Truyền Truyền hình vô hình tuyến cáp Hình 1. 7: Các loại hình mạng viễn thông Tỷ phần truyền thông cơ học (thư từ, báo chí) đang có xu hướng giảm trong khi tỷ phần truyền thông điện/quang, đặc biệt là truyền song hướng, lại gia tăng và sẽ chiếm thị phần chủ đạo trong tương lai. Vì vậy, ngày nay những tập đoàn báo chí cũng đang tập trung và hướng tới truyền thông điện/quang, coi đó là cơ hội kinh doanh tương lai của mình. Mạng viễn thông lâu đời nhất có thể nhắc tới là mạng điện thoại cố định, sau đó là mạng điện thoại vô tuyến, mạng đa dịch vụ, mạng Internet Chúng ta có thể thấy là mỗi mạng viễn thông có thể cung cấp nhiều dịch vụ cơ bản như là dịch vụ thoại cố định, di động hay số liệu. Các mạng này có thể liên kết với nhau để cung cấp dịch vụ liên mạng cho nhiều đối tượng thuê bao. PTIT 17
  18. CHƯƠNG 2. XỬ LÝ ĐA PHƯƠNG TIỆN Như trình bày ở chương trước, sơ đồ khối chung vể xử lý dữ liệu đa phương tiện gồm các khối là: Số hóa, mã hóa, truyền hoặc lưu trữ, giải mã và giải số hóa. Trong các khối trên thì công nghệ xử lý tập trung ở các khối: Số hóa, mã hóa, giải mã và giải số hóa. Còn khối truyền và lưu trữ liên quan nhiều đến kỹ thuật lưu trữ và truyền thông tin. Hiện nay việc lưu trữ không quá phức tạp, do vậy, khối này thường tập trung chủ yêu vào các công nghệ truyền thông. Ở chương này sẽ tập trung đi vào các công nghệ xử lý dữ liệu đa phương tiện, còn chương cuối sẽ tập trung vào phần truyền thông đa phương tiện. Tùy thuộc vào mỗi loại dữ liệu đa phương tiện mà ta có các thuật toán và công nghệ xử lý khác nhau. Số lượng các khối liên quan đến việc xử lý cho từng loại dữ liệu là không giống nhau. Sau đây ta sẽ đi lần lượt việc xử lý cho từng loại dữ liệu khác nhau. 2.1. Xử lý văn bản 2.1.1. Giới thiệu về dữ liệu văn bản Chủ yếu có 3 loại văn bản được dùng để tạo các trang văn bản: - Văn bản chưa định dạng (unformatted text): là văn bản đơn giản dùng các ký tự có kích thước cố định với số lượng ký tự giới hạn. Ví dụ bảng mã ASCII, các ký tự mosaic. - Văn bản theo định dạng mẫu (formatted text): là các văn bản đa dạng có nhiều các ký tự với các kiểu chữ, kích thước chữ, hình dáng, màu sắc chữ và có thể chèn được các ảnh, đồ họa bên trong văn bản. - Siêu văn bản (hyper text): là các văn bản có các liên kết bên trong các câu văn giúp người đọc không nhất thiết phải đọc từ đầu đến cuối mà có thể nhảy tới bất kỳ vị trí nào của văn bản này hoặc nhảy sang văn bản khác. a. Văn bản chưa định dạng Là văn bản không có cácPTIT định dạng mẫu khác nhau, chỉ duy nhất dùng các ký tự có kích thước cố định với số lượng ký tự giới hạn. Ví dụ trong bảng mã ASCII dưới đây. 18
  19. Hình 2. 1: Bảng mã ASCII Bảng mã này dùng để hiển thị và lưu giữ các ký tự trong máy tính. Bảng mã này dùng 7 bít để biểu diễn thông tin ký tự. Cơ bản sẽ có 128 giá trị (27). Để biểu diễn một ký tự, ta phải kết hợp các bít cột và bít hàng theo thứ tự bít cột trước + bít hàng. Ví dụ ký tự A sẽ là 100 0001. Ngoài các ký tự ra, bảng này còn chứa các ký tự điều khiển, ký tự số. cụ thể: - Các ký tự điều khiển định dạng: BS (Backspace), LF(line feed), CR (carriage return),SP (space),DEL (Delete),ESC (escape), and FF(form feed). - Các bộ chia thông tin: FS (file separator), RS(record separator). - Các ký tự điều khiển truyền tin: SOH (start of heading), STX (start of text), ETX (end of text), ACK (acknowledge), NAK(negative acknowledge), SYN (synchronous idle) vàPTIT DLE (data link escape). Văn bản dạng này thường đơn điệu, không đa dạng, vì không có các kiểu chữ, cỡ chữ, phông chữ, mầu chữ khác nhau. Việc trình bày văn bản cũng không linh hoạt, không có các tiêu đề, không có header, footer, các ghi chú trong văn bản. b. Văn bản được định dạng (formated text) Là văn bản sử dụng các kiểu ký tự khác nhau, với các kích thước, mầu sắc khác nhau thậm chí là cả hình ảnh. Việc bố cục trang văn bản cũng đa dạng có thể theo dạng báo, sách, tạp chí, ấn phẩm, Các chữ có thể dạng thẳng, nghiêng, béo. Nội dung văn bản có thể tổ chức thành các chương, phần, đoạn với các tiêu đề khác nhau, với bảng biểu, đồ họa, hình ảnh được chèn vào vị trí bất kỳ. 19
  20. Formated Text This is an example of formated text, it includes: Italics Bold and Underlining Formated Text This is an example of formated text, it includes: Italics, Bold and Underlining Hình 2. 2: Ví dụ về văn bản có định dạng c. Siêu văn bản (Hypertext) Siêu văn bản là một dạng văn bản theo định dạng mẫu và có các liên kết với các văn bản khác thông qua các đường liên kết trong văn bản. Ví dụ văn bản tổ chức thành dạng sách thì người đọc có thể nhảy đến trang cần đọc thông qua mục lục hoặc có thể tham khảo sách khác thông qua đường liên kết. PTIT Hình 2. 3 Ví dụ về siêu văn bản 2.1.2. Quá trình xử lý văn bản Quá trình xử lý văn bản trên máy tính được mô tả trong hình 2.4. Ban đầu, các ký tự trong văn bản được nhập vào từ bàn phím. Phần mềm xử lý trong máy tính sẽ lưu các ký tự này, hiển thị và cho phép người dùng có thể định dạng các ký tự một cách trực quan. Ngoài ra, phần mềm xử lý có chức năng mã hóa văn bản và ghi ra file để tiện cho việc lưu trữ và trao đổi. 20
  21. Thiết bị hiển thị Thiết bị đầu vào Phần mềm xử lý văn bản (màn hình, máy (bàn phím, ) (notepad, MS word, ) chiếu, ) Hình 2. 4: Quá trình xử lý văn bản a. Bàn phím Hình 2. 5: Nguyên tắc hoạt động của bàn phím máy tính Về nguyên lý hoạt động, bàn phím máy tính bao gồm một ma trận các công tắc trong đó mỗi vị trí công tắc là một ký tự. Khi người dùng gõ một ký tự, công tắc sẽ được đóng lại và một tín hiệu điện sẽ được đưa đến bộ vi xử lý trong máy tính để xử lý. Dựa trên các mức điện áp tại các hàng và cột của ma trận, vi xử lý có thể xác định được vị trí phím bấm và giải mã được ký tự được bấm. b. Phần mềm xử lý văn bản Phần mềm xử lý văn bản có hai chức năng chính là định dạng văn bản và nén văn bản. Định dạng văn bản có nhiệm vụ tiếp nhận các tín hiệu từ bàn phím và hiển thị các ký tự này trên màn hình với các định dạng khác nhau. Chức năng nén văn bản có nhiệm vụ mã hóa các tệp văn bản theo một thuật toán nào đó để làm giảm dung lượng của tệp văn bản, phục vụ cho việc truyền thông và lưu trữ. c. Thiết bị hiển thị PTIT Các thiết bị hiển thị có chức năng hình ảnh hóa các ký tự được người dùng nhập vào từ bàn phím. Thiết bị hiển thị có thể bao gồm màn hình, máy in, máy chiếu, 2.1.3. Định dạng văn bản a. Định dạng văn bản text Tập tin văn bản dạng text là một tập tin văn bản thường dùng trong máy tính. Đây là dạng tập tin văn bản đơn giản nhất trong các loại tập tin văn bản thường có đuôi mở rộng là *.txt . Đơn giản vì nó là một dạng văn bản “formated text” nhưng không có nhiều tính năng phong phú như các định dạng khác như các tập tin *.rtf, *.doc, *.html, Về cơ bản tập tin văn bản dạng text chỉ bao gồm các mã ký tự xây dựng sẵn, tuy nhiên không nhiều, nó cũng cho phép thay đổi phông chữ, kích thước chữ, nhưng không thay đổi mầu chữ, không chèn được hình ảnh vào trong file. Tóm lại chỉ đơn thuần là ký tự thôi. 21
  22. Tập tin text không có nhiều ký tự điều khiển do vậy nó không cho phép trình bày văn bản theo nhiều bố cục định dạng như các tập tin khác. Nó cũng không bao gồm các chức năng ghi chú cho đoạn văn, không có tiêu đề, không có footer, header. Các tập tin Text sử dụng tập ký tự ASCII chủ yếu cho các ký tự ngôn ngữ tiếng Anh. Với những ký tự ngôn ngữ có dấu khác thì phải sử dụng việc mã hóa ký tự như ISO 8859-1 cho các ký tự ngôn ngữ Châu Âu. Ngoài ra, các tập tin text hiện nay sử dụng tập ký tự mã hóa Unicode như UTF-8. Đây là bộ mã được sử dụng rộng rãi bởi nó có ưu điểm là tương thích ngược với ASCII. b. Định dạng văn bản rich text Đây là định dạng văn bản mở rộng của văn bản text. Các tập tin văn bản dạng này đã được bổ sung các tính năng mới góp phần đáp ứng nhu cầu người dùng. Các đặc trưng của văn bản này gồm: - Hỗ trợ các loại phông chữ khác nhau gồm: mầu chữ, kiểu chữ (thường, nghiêng, đậm, gạch chân), mầu chữ. - Chèn hình ảnh với một số định dạng nhất định và các biểu đồ. - Hỗ trợ người dùng trình bày tốt hơn như: Căn lề trái, phải, giữa. - Là sản phẩm của Hãng Microsoft. Các file RTF thường dùng ký tự đơn giản 7 bít. RTF bao gồm các từ điều khiển, các ký tự điều khiển và các nhóm. Các file RTF có thể dễ dàng truyền giữa các máy tính PC bởi vì chúng được mã hóa như là một file text với các ký tự đồ họa 7 bít ASCII. Việc chuyển đổi để có thể trao đổi từ Word trên Windows sang Word trên Macintosh sẽ là các ký tự 8 bít và các dữ liệu có giá trị 8 bít. c. Định dạng văn bản doc (.doc, .docx) Định dạng văn bản *.doc hay *.docx là một dạng văn bản siêu văn bản. Các tính năng hỗ trợ người dùng phong phú và mở rộng hơn nhiều so với định dạng *.rtf. Và ngày nay, các văn bản chủ yếu được sử dụng là dạng này. Một số đặc trưng: PTIT - Cho phép tùy biến thay đổi các loại chữ, phông chữ, kiểu chữ, mầu sắc - Cho phép chèn các loại hình ảnh, biểu đồ, các hình vẽ tay vào văn bản - Cho phép trình bày các trang văn bản theo các mục, chương, phần và có thể tổ chức thành các dạng khác nhau từ dạng báo, tạp chí, sách, ấn phẩm khác, - Cho phép tạo các header, footer, background khác nhau - Cho phép thêm các ghi chú, chú thích vào văn bản - Cho phép tạo các mục lục, các liên kết trong và ngoài văn bản, 2.1.4. Nén văn bản Như chúng ta đã xem ở phần trước, có 3 loại văn bản: loại chưa được định dạng, loại đã định dạng theo chuẩn, và siêu văn bản. Tất cả các văn bản đều biểu diễn các chuỗi ký tự từ một tập ký tự xác định. Đi kèm với các chuỗi ký tự alpha có thêm các ký tự điều khiển khác 22
  23. và 3 loại văn bản trên sẽ trình bày các ký tự theo các cách khác nhau. Các thuật toán liên quan đến xử lý văn bản thường là các thuật toán mã hóa (nén). Tuy nhiên, đây là các thuật toán nén không mất dữ liệu, vì nếu mất dữ liệu dù chỉ một ký tự đơn cũng có thể làm thay đổi ý nghĩa của một chuỗi các ký tự. Do đó, nhìn chung, chúng ta hạn chế dùng phương pháp mã hóa entropy và trong thực tế thường dùng phương pháp mã hóa thống kê. Về cơ bản, có 2 phương pháp mã hóa thống kê cho văn bản. Một dùng các ký tự đơn mà cơ sở là lấy từ một tập từ mã tốt nhất và phương pháp còn lại dùng các chuỗi có chiều dài thay đổi theo các ký tự. Tương ứng với phương pháp đầu có các thuật toán là mã hóa Huffman, mã hóa số học và phương pháp còn lại là thuật toán Lempel-Zive. 2.1.4.1. Mã hóa Run-length Mã hóa này ứng dụng nén văn bản dựa trên các đặc trưng của các chữ được dùng trong mỗi từ và tần suất xuất hiện của chúng. Ví dụ với chuỗi ký tự: AAAABBBAABBBBBBCCCCC Chuỗi này có thể được mã hóa một cách đơn giản băng cách thay thế chuỗi ký tự lặp lại bằng một thể hiện duy nhất của ký tự lặp lại cùng với một biến đếm số lần ký tự đó được lặp lại. Ta chỉ ra rằng chuỗi này gồm 4 chữ A theo sau bởi 3 chữ B, Việc nén một chuỗi theo phương pháp này gọi là mã hóa độ dài cụm. Khi có những cụm dài, có thể tiết kiệm được đáng kể. Có nhiều cách để thể hiện ý tưởng này, tùy thuộc vào các đặc trưng của ứng dụng. Chuỗi trên được mã hóa thành 4A3B2A6B5C. Chú ý các cụm có độ dài 1 hoặc 2 thì không cần mã hóa vì cần đến 2 ký tự để mã hóa. 2.1.4.2. Mã hóa thống kê Huffman a. Tổng quan về mã thống kê Các tập tin của máy tính được lưu dưới dạng các kí tự có chiều dài không đổi là 8 bits. Trong nhiều tập tin, xác suất xuất hiện các kí tự này là nhiều hơn các kí tự khác, từ đó ta thấy ngay rằng nếu chỉ dùng một vài bit để biểu diễn cho các kí tự có xác suất xuất hiện lớn và dùng nhiều bit hơn để biểu diPTITễn cho các kí tự có xác suất xuất hiện nhỏ thì có thể tiết kiệm được độ dài tập tin một cách đáng kể. Ví dụ, để mã hoá một chuỗi như sau: "ABRACADABRA". Nếu mã hoá chuỗi trên trong dạng mã nhị phân 5 bit ta sẽ có dãy bit sau: 0000100010100100000100011000010010000001000101001000001 Ðể giải mã thông điệp này, chỉ đơn giản là đọc ra 5 bits ở từng thời điểm và chuyển đổi nó tương ứng với việc mã hoá nhị phân đã được định nghĩa ở trên. Trong mã chuẩn này, chữ D xuất hiện chỉ một lần sẽ cần số lượng bit giống chữ A xuất hiện nhiều lần. Ta có thể gán các chuỗi bit ngắn nhất cho các kí tự được dùng phổ biến nhất, giả sử ta gán A là 0, B là 1, R là 01, C là 10 và D là 11 thì chuỗi trên được biễu diễn như sau: 0 1 01 0 10 0 11 0 1 01 0. 23
  24. Ví dụ này chỉ dùng 15 bits so với 55 bits như ở trên, nhưng nó không thực sự là một mã vì phải lệ thuộc vào khoảng trống để phân cách các kí tự. Nếu không có dấu phân cách thì ta không thể giải mã được thông điệp này. Ta cũng có thể chọn các từ mã sao cho thông điệp có thể được giải mã mà không cần dấu phân cách, ví dụ như: A là 11, B là 00, C là 010, D là 10 và R là 011, các từ mã này gọi là các từ mã có tính prefix (Không có từ mã nào là tiền tố của từ mã khác). Với các từ mã này ta có thể mã hoá thông điệp trên như sau: 1100011110101110110001111. Với chuỗi đã mã hoá này ta hoàn toàn có thể giải mã được mà không cần dấu phân cách. Nhưng bằng cách nào để tìm ra bảng mã một cách tốt nhất ? Vào năm 1952, D.Huffman đã phát minh ra một cách tổng quát để tìm ra bảng mã này một cách tốt nhất: - Bước đầu tiên trong việc xây dựng mã Huffman là đếm số lần xuất hiện của mỗi kí tự trong tập tin sẽ được mã hoá. - Bước tiếp theo là xây dựng một cây nhị phân với các tần số được chứa trong các nút. Hai nút có tấn số bé nhất được tìm thấy và một nút mới được tạo ra với hai nút con là các nút đó với giá trị tần số của nút mới bằng tổng tần suất của hai nút con. Tiếp theo hai nút mới với tần số nhỏ nhất lại được tìm thấy và một nút mới nữa lại được tao ra theo cách trên. Lặp lại như vậy cho đến khi tất cả các nút được tổ hợp thành một cây duy nhất. - Sau khi có cây nhị phân, bảng mã Huffman được phát sinh bằng cách thay thế các tần số ở nút đáy bằng các kí tự tương ứng. Ưu điểm của phương pháp mã hoá Huffman là đạt được hệ số nén cao (Hệ số nén tuỳ thuộc vào cấu trúc của các tập tin), phương pháp thực hiện đơn giản, đòi hỏi ít bộ nhớ, có thể xây dựng trên các mảng nhớ bé hơn 64K. Nhược điểm của phương pháp này là bên nhận muốn giải mã được thông điệp thì phải có một bảng mã giống như bảng mã ở bên gửi, do đó khi nén các tập tin bé hệ số nén không được cao. b. Nguyên lý mã hóa Huffman Phương pháp mã hóa Huffman là mã hóa các byte trong têp dữ liệu nguồn bằng biến nhị phân. Nó tạo ra mã độ dài biếnPTIT thiên là một tập hợp các bít. Đây thuộc dạng phương pháp nén kiểu thống kê và những ký tự xuất hiện nhiều hơn sẽ có mã ngắn hơn. Thuật toán nén: - Bước 1: Tìm hai ký tự có trọng số nhỏ nhất ghép lại thành một, trọng số của ký tự mới bằng tổng trọng số của hai ký tự đem ghép - Bước 2: Trong khi số lượng ký tự trong danh sách còn lớn hơn một thì thực hiện bước 1, nếu không thì thực hiện bước 3. - Bước 3: Tách ký tự cuối cùng và tạo cây nhị phân với quy ước bên trái mã 0 và bên phải mã 1. Ví dụ: Mã hóa một chuỗi ký tự gồm các ký hiệu và số lần xuất hiện các ký tự trong chuỗi cho ở bảng sau: Ký hiệu A B C D E 24
  25. 15 7 6 5 6 Số lần xuất hiện Giải: Ký hiệu A B C D E Trọng số 15/39 7/39 6/39 5/39 6/39 15/39 13/39 11/39 15/39 24/39 Mã 0 101 100 110 111 Số bit 1 3 3 3 3 39 0 1 15 24 A 0 1 13 11 0 1 0 1 6 7 5 6 C B D E PTITHình 2. 6: Cây mã Huffman Thuật toán giải: - Bước 1: Đọc lần lượt từng bít trong tập tin nén và duyệt cây nhị phân đã được xác định cho đến khi hết một lá. lấy ký tự ở lá đó ghi ra tệp giải nén. - Bước 2: trong khi chưa hết tập tin nén thì thực hiện bước 1, ngược lại thì thực hiện bước 3 - Bước 3: Kết thúc thuật toán c. Ưu nhược điểm Ưu điểm: - Mã Huffman chỉ thực hiện được khi biết được tần suất xuất hiện của các ký tự - Mã Huffman chỉ giải quyết được độ dư thừa phân bố ký tự - Huffman tĩnh đòi hỏi phải xây dựng cây nhị phân sẵn chứa các khả năng. Điều này đòi hỏi thời gian không ít do không biết trước kiểu dữ liệu sẽ thực hiện nén. 25
  26. - Quá trình giải nén phức tạp do chiều dài mã không biết trước cho đến khi ký tự đầu tiên được tìm ra. Nhược điểm: - Phải gửi cả bảng mã vào tập tin nén cho phía nhận thì mới giải mã được, do đó hiệu xuất nén bị ảnh hưởng. Chỉ có hiệu suất cao với tập tin có kích thước lớn. 2.1.4.3. Mã hóa Lempel –Zive Welch a. Tổng quan về mã LZW LZW xây dựng một từ điển lưu các mẫu có tần số xuất hiện cao trong dữ liệu. Từ điển là tập hợp những cặp từ vựng và nghĩa của nó. Trong đó, từ vựng sẽ là các từ mã được sắp xếp theo thứ tự. Từ điển được xây dựng đồng thời với quá trình đọc dữ liệu. Thuật toán liên tục kiểm tra và cập nhận từ điển sau mỗi lần đọc một ký tự đầu vào. Để đảm bảo tốc độ tìm kiếm thường từ điển chỉ giới hạn một số lượng phần tử nhất định thường là 4096, tức là khả năng lưu lớn nhất là 4096 giá trị của các từ mã, tương ứng với số lượng bít sử dụng là 12 bít. 256 từ mã đầu tiên theo thứ tự từ 0 đến 255 là các ký tự cơ bản trong mã ASCII. Các từ mã đánh số từ 256 trở đi được cập nhật trong quá trình mã hóa. b. Nguyên lý mã hóa LZW LZW bắt đầu bằng một từ điển 256 ký tự của bảng mã ASCII (trường hợp sử dụng mã 8bit) và sử dụng chúng như tập ký tự chuẩn. Sau mỗi lần đọc, thuật toán đọc 8 bít (ví dụ các ký tự ‘a’, ‘b’ ) và mã hóa thành số tương ứng theo số thứ tự của ký tự đó trong từ điển. Khi LZW đọc một chuỗi con mới (ví dụ: “ab”, ) chưa có trong từ điển, thì nó thêm chuỗi con đó vào từ điển. Mỗi khi nó đọc một chuỗi con mà nó đã thấy trước đó, nó chỉ đọc thêm 1 ký tự mới nữa và cộng với chuỗi con đã biết để tạo ra một chuỗi con mới. Lần tiếp theo, LZW đọc một chuỗi con đã có, nó chỉ việc sử dụng PTITsố thứ tự tương ứng trong từ điển. Việc nén LZW không tiêu tốn hết toàn bộ bộ nhớ vì số bit của mã sẽ lớn hơn số bit của ký tự, trong ví dụ này là 12 bit (lớn hơn 8 bit). Việc nén được thực hiện bởi nhiều chuỗi con lặp lại sẽ được thay thế bởi một mã duy nhất. Ví dụ: Sử dụng LZW để mã hóa dãy ký tự sau: BABAABAAA Giải: Hình 2. 7: Các bước để mã hóa bằng LZW 26
  27. 1. Khi mã hóa, bộ mã hóa đọc chuỗi ký tự từ trái sang phải. Với quy tắc này, ký tự “B” sẽ được đọc đầu tiên. Tuy nhiên ký tự “B” đã có trong từ điển (bảng mã ASCII) nên bộ mã hóa đọc tiếp đến ký tự A. Chuỗi “BA” chưa có trong từ điển nên bộ mã hóa thực hiện các việc sau: a. Chèn thêm chuỗi này vào trong từ điển và gán cho chuỗi này mã là 256 (255 là giới hạn của bảng mã ASCII). b. Gửi đi từ mã đầu tiên là 66 (mã của ký tự “B” trong từ điển). 2. Sau khi gửi đi mã của ký tự “B”, ký tự tiếp theo được đọc là “A”. Vì “A” đã có trong từ điển nên bộ mã hóa đọc ký tự tiếp theo là “B”. Chuỗi “AB” chưa có trong từ điển nên bộ mã hóa thực hiện: a. Chèn thêm chuỗi “AB” vào từ điển và gán mã là 257. b. Gửi đi từ mã mã hóa ký tự “A” là 65. 3. Chuỗi “BA” trong từ điển Chuỗi “BAA” không có trong từ điển nên bộ mã hóa chèn “BAA” vào trong từ điển và gán mã là 258. Từ mã mã hóa chuỗi “BA” đã có trong từ điển là 256. 4. Chuỗi “AB” có trong từ điển. Chuỗi “ABA” không có trong từ điển. Bộ mã hóa chèn “ABA” vào từ điển và gán mã là 259. Từ mã mã hóa chuỗi “AB” đã có trong từ điển là 257. 5. Chuỗi “AA” không có trong từ điển nên bộ mã hóa chèn chuỗi “AA” vào từ điển và gán mã là 260. Từ mã được gửi đi là 65 (ký tự “A”). 6. Chuỗi “AA” đã có trong từ điển nên mã được gửi đi là 260. Như vậy, sau 6 bước mã hóa, chuỗi mã ban đầu được mã hóa bằng các từ mã: 66, 65, 256, 257, 65, 260. Quá trình trên được minhPTIT họa bằng bảng dưới đây: Hình 2. 8: Từ điển và chuỗi mã đầu ra của bộ mã hóa c. Giải mã LZW Quá trình giải nén LZW không phức tạp và không cần một từ điển mới. Một từ điển mới đồng nhất với từ điển gốc đã tạo trong khi nén được tái tạo lại trong quá trình giải nén này. 27
  28. Quá trình mã hóa và giải mã cần phải sử dụng cùng một từ điển khởi đầu, trong trường hợp này là 256 ký tự của bảng mã ASCII. Sau đây là cơ chế hoạt động. Bộ giải mã trước hết đọc một số thứ tự (là một số nguyên), tìm số thứ tự đó trong từ điển và đưa ra chuỗi con gắn với số thứ tự đó. Ký tự đầu tiên của chuỗi con này được cộng thêm vào chuỗi đang thực hiện. Chuỗi mới tạo ra được thêm vào từ điển (hoàn toàn giống với quá trình nén). Chuỗi đã giải mã lại trở thành chuỗi đang làm việc và cứ thế quá trình này được tiếp tục. Ví dụ: Giải mã chuỗi mã nhận được: Giải: Hình 2. 9: Từ điển và chuỗi ký tự sau khi được giải mã Các bước giải mã: 1. 66 có trong từ điển. Từ mã được giải mã là “B” 2. 65 có trong từ điển. Từ mã được giải mã là “A”. Bộ giải mã chèn chuỗi “BA” vào từ điển và gán mã là 256. 3. 256 có trong từ điển. Từ mã được giải mã là “BA”. Bộ giải mã chèn chuỗi “AB” vào từ điển và gán mãPTIT là 257. 4. 257 có trong từ điển. Từ mã được giải mà là “AB”. Bộ giải mã chèn chuỗi “BAA” vào từ điển và gán mã là 258. 5. 65 có trong từ điển. Từ mã được giải mã là “A”. Bộ giải mã chèn chuỗi “ABA” vào từ điển và gán mã là 259. 6. 260 không có trong từ điển. Đầu ra của bộ giải mã là: chuỗi ký tự được giải mã trước + ký tự đầu tiên của chuỗi ký tự đó. Như vậy, đầu ra của bộ giải mã là “AA”. Đồng thời, bộ giải mã chèn “AA” vào trong từ điển và gán mã là 260. 2.2. Xử lý âm thanh 2.2.1. Đặc trưng của âm thanh Âm thanh được nghe thấy trong não là do tín hiệu được truyền đến tai trong thông qua hệ thống thần kinh. Có một số âm mà tai người không thể nhận được, chúng là các tần số hoặc là rất cao, hoặc là rất thấp. 28
  29. Hình 2. 10: Ví dụ về sóng âm Sóng âm bao gồm thành phần không khí nén và giãn tạo các sóng dọc. Việc nén có thể ánh xạ theo các vùng lõm giữa các đỉnh thấp (Trough) và cao (Crest). Biên độ (Amplitude) sóng liên quan đến mức độ to của âm là khoảng cách giữa đáy và đỉnh của sóng như hình vẽ. Biên độ sóng xác định âm lượng của âm. Đơn vị đo của âm lượng là decibel. Một số tham số đặc trưng của âm thanh bao gồm tần số, hiệu ứng Doppler, băng thông, hài âm, vận tốc âm. 2.2.1.1. Tần số Khoảng cách giữa 2 đỉnh sóng gọi là chu kỳ (Period). Nó được tính bằng giây. Có số lượng nhất định các đỉnh sóng trong 1 giây gọi là tần số. Một cách gọi khác liên quan đến tần số gọi là pitch. Nếu một đỉnh dao động nhanh, nó tạo một “high pitch” của âm. Ngược lại, một âm thanh tần số thấp được tạo bởi đối tượng rung chậm như dây đàn dày của piano hoặc ghi ta. Tần số được đo bởi số lượng chu kỳ trong 1 giây và đơn vị của tần số là Hertz (Hz). Tần số cũng có thể được xác định là số sóng đi qua một điểm trong thời gian 1 giây. Tai người có thể tiếp nhận dải tần số từ 20 – 20000Hz (hay 20KHz). Tuy nhiên, phần lớn chỉ có thể nghe được âm từ 2 – 4KHz. 2.2.1.2. Hiệu ứng Doppler Là hiệu ứng vật lý trong PTITđó tần số và bước sóng âm bị thay đổi khi mà nguồn âm chuyển động tương đối với người nghe. Khi một nguồn âm di chuyển về phía bạn, tần số sóng âm nhiều lên làm cho các pitch cao lên (chói). Ngược lại, khi đối tượng di chuyển xa bạn các pitch giảm đi. Tại sao còi của ô tô gần bạn có âm thanh to (chói hơn) khi nó càng đến gần bạn và bé hơn khi nó đi xa bạn? Vì ô tô và còi của nó đi về phía bạn, âm thanh bị dồn càng nhiều làm cho âm bị chói, 29
  30. Hình 2. 11: Ví dụ về hiệu ứng Doppler 2.2.1.3. Băng thông Băng thông xác định sự khác biệt giữa tần số cao nhất và thấp nhất của một tín hiệu. Một tín hiệu trải rộng từ 200 – 3200Hz có băng thông là: BW = 3200- 200 = 3000 Hz. 2.2.1.4. Hài âm Một vài đối tượng tạo ra âm thanh với tần số duy nhất. Hầu hết các nhạc cụ âm nhạc tạo ra nhiều tần số tại một nốt nhạc. Đó là cách mà mỗi nhạc cụ trình diễn khác nhau. Tổ hợp các tần số tạo bởi nhạc cụ gọi là âm sắc. Âm sắc bao gồm một tần số cơ bản hay tần số chính và các tần số thứ. PTIT Hình 2. 12: Ví dụ về hài âm Harmonic của một sóng âm là một tần số thành phần của tín hiệu. Nó được tạo thành từ tần số cơ bản của sóng âm được nhân với một số nguyên. Ví dụ, sóng có tần số là f (Hình 2.12a) thì các harmonic của sóng âm có các tần số 2f (Hình 2.12b), 3f (Hình 2.12c), 4f (Hình 2.12d), 30
  31. Âm thanh mà chúng ta có thể nghe từ các đối tượng rung là tổ hợp trong giác quan gồm nhiều tần số khác nhau. 2.2.1.5. Vận tốc âm Vận tốc của âm có thể đo được theo thời gian khi cho sóng âm đi qua một khoảng cách cụ thể. Tốc độ thay đổi lớn theo môi trường truyền mà âm thanh truyền qua. Tốc độ của âm tăng khi nhiệt độ tăng và giảm khi nhiệt độ giảm. Bảng dưới đây cung cấp tốc độ của âm tại 00C qua của một vài môi trường: Hình 2. 13: Bảng tốc độ âm thanh của một số môi trường 2.2.2. Mã hóa âm thanh Như chúng ta biết, âm thanh sử dụng trong đa phương tiện gồm có tiếng nói và âm nhạc. Với mỗi loại âm thanh này đều có tính chất và đặc điểm là khác nhau. Cụ thể tín hiệu tiếng nói thường trong khoảng tần số từ 50Hz đến 10kHz. Còn tín hiệu âm nhạc, các âm có tần số trong khoảng từ 15Hz đến 20kHz. Để xử lý các âm này thường sử dụng các thuật toán mã hóa như là kỹ thuật điều chế xung mã PCM (Pulse Code Modulation), kỹ thuật điều chế xung mã vi sai DPCM (Differential Pulse Code Modulation), kỹ thuật điều chế xung mã vi sai thích ứng ADPCM (Adaptive Differential Pulse Code Modulation). 2.2.2.1. Kỹ thuật PCM PCM là phương pháp sốPTIT hóa tín hiệu tương tự khá phổ biến, có thể áp dụng cho cả tín hiệu thoại và tín hiệu video. Phương pháp PCM được thực hiện qua 3 bước: Lấy mẫu, lượng tử, mã hóa. a. Lấy mẫu Lấy mẫu là rời rạc hoá tín hiệu tương tự về mặt thời gian theo một qui luật nhất định. Về ý nghĩa vật lý thì lấy mẫu là lấy ra những giá trị tức thời của tín hiệu tương tự vào những thời điểm cách đều nhau. Tín hiệu sau khi lấy mẫu là một dãy xung có biên độ được điều chế theo tín hiệu gốc, dãy xung đó gọi là dãy xung PAM (Pulse Amplitude Modulation). Hình 2.15 mô tả quá trình lấy mẫu tín hiệu. Một tín hiệu liên tục theo thời gian X(t) có phổ hữu hạn từ fminđến fmax hoàn toàn khôi phục được từ các mẫu với tần số lấy mẫu fs bằng hoặc lớn hơn hai lần tần số lớn nhất của tín hiệu liên tục: 푠 ≥ 2 31
  32. Nghĩa là tín hiệu X(t) chỉ có thể khôi phục một cách chính xác từ các mẫu nếu khoảng cách giữa hai mẫu này thoả mãn: 1 푠 ≤ , Ts gọi là chu kỳ mẫu. (1) 2 PTIT Hình 2. 14: Quá trình lấy mẫu, lượng tử và mã hóa Nếu điều kiện trên không thỏa mãn, tín hiệu sau khi khôi phục sẽ bị méo hoặc sai lệch so với tín hiệu gốc ban đầu. Trong thực tế, để đáp ứng yêu cầu chặt chẽ về băng tần hạn chế của tín hiệu lấy mẫu, thông thường tín hiệu tương tự được cho qua bộ lọc thông thấp trước khi đưa vào lấy mẫu nhằm gạt bỏ các thành phần tần số có thể gây biến dạng. Lưu ý: Trong định lý Shannon, trong trường hợp dấu bằng xảy ra thì người ta gọi là tốc độ lấy mẫu Nyquit. Ví dụ, đối với tín hiệu thoại hoạt động ở băng tần 0,3 ÷ 3,4 kHz thì tần số lấy mẫu sử dụng là 8 kHz. 32
  33. Hình 2. 15: Biểu diễn lấy mẫu và lượng tử tín hiệu sau lấy mẫu. b. Lượng tử hóa Lượng tử hoá nghĩa là chia biên độ của tín hiệu thành các khoảng đều, mỗi khoảng là một bước lượng tử, biên độ tín hiệu ứng với đầu hoặc cuối mỗi bước lượng tử gọi là một mức lượng tử. Sau khi có các mức lượng tử thì biên độ của các xung mẫu được làm tròn đến mức gần nhất. Thực chất lượng tử hóa là quá trình làm tròn giá trị biên độ xung PAM. Biên độ tín hiệu được chia thành những khoảng đều nhau, sau đó lấy tròn giá trị các xung mẫu đến mức lượng tử gần nhất. Quá trình lượng tử hoá đều thể hiện như hình vẽ dưới đây: PTIT Hình vẽ 0-1: Biểu diễn lượng tử hóa đều tín hiệu Bước lượng tử đều bằng Δ. Như vậy, biên độ của tín hiệu gồm có 6 bước lượng tử và 7 mức (đánh số từ -3 ÷ +3). Mối quan hệ giữa số mức lượng tử và số bước lượng tử như sau:Tổng số mức lượng tử = Tổng số bước lượng tử + 1. Do phải lấy tròn đến mức lượng tử gần nhất, độ chênh lệch giữa biên độ xung lượng tử và giá trị tức thời của xung lấy mẫu sẽ gây ra nhiễu lượng tử Qd. 33
  34. Hình vẽ 0-2: Độ chênh biên độ xung lượng tử Biên độ xung nhiễu lượng tử luôn thoả mãn điều kiện sau: ∆ ∆ − ≤ 푄 ≤ + (2) 2 2 c. Mã hóa Quá trình mã hoá tín hiệu trong kỹ thuật PCM thực hiện việc chuyển đổi các mẫu tín hiệu đã lượng tử hoá thành các mã nhị phân 8 bit. Khuôn dạng của một từ mã PCM như sau: X = P ABC DEGH X thể hiện từ mã, P là bít dấu, ABC là bit chỉ thị phân đoạn, DEGH là bit chỉ thị các mức lượng tử trong đoạn. 2.2.2.2. Kỹ thuật điều chế xung mã sai phân (DPCM) Nguyên lý : Tín hiệu đã được lấy mẫu cho thấy mức độ tương quan cao giữa các mẫu kế cận. Hay nói cách khác, hai mẫu gần nhauPTIT là khá tương tự như nhau. Nghĩa là sẽ có nhiều lợi ích nếu mã hoá sự khác nhau giữa các mẫu kế cận thay cho mã hoá giá trị tuyệt đối của mỗi mẫu. Hình 2. 16: Biểu diễn sự sai khác giữa các mẫu 34
  35. Hình 2. 17: Mã hóa 4 bit thay cho 8 bit Hình vẽ trên cho thấy 4 bit có thể được sử dụng thay cho 8 bit. Đây là ý tưởng ẩn trong PCM sai phân (DPCM), ở đây độ chính xác vẫn được giữ lại mặc dù không cần băng tần rộng. PCM sai phân có nhược điểm là nếu tín hiệu đầu vào tương tự mà thay đổi quá lớn giữa các mẫu, thì nó không thể được biểu diễn bằng 4 bit mà sẽ bị cắt Sơ đồ khối bộ thu phát: PTIT Hình 2. 18: Sơ đồ khối bộ thu phát theo DPCM - Phần phát: Tín hiệu tương tự sau khi qua bộ lọc thông thấp để hạn chế băng tần từ 3,4KHz trở xuống, sau đó qua bộ lọc lấy mẫu là 8KHz. Xung lấy mẫu ở thời điểm t0 được đưa vào đầu vào thứ nhất của bộ trừ. Đầu vào kia của bộ trừ là xung bậc thang của thời điểm lấy mẫu, 35
  36. trước t0 một quãng thời gian là 125휇푠 (một chu kỳ lấy mẫu). Nghĩa là xung lấy mẫu tại thời điểm t0 và xung hàm bậc thang tại thời điểm (t0 - 125)휇푠 được đưa vào bộ trừ. Đầu ra bộ trừ được hiệu số gọi là số gia ∆푈 dương hoặc âm. Nếu: o Xung lấy mẫu lớn hơn xung bậc thang thì ∆푈 ≥ 0 và được mã hoá có bít bằng 1. o Xung lấy mẫu nhỏ hơn xung bậc thang thì ∆푈 < 0 và được mã hóa có bít bằng 0. Số gia ∆푈 này được đưa vào khối lượng tử để lấy tròn thành số nguyên gần nhất. Ví dụ: ∆푈 = 1.6∆ sẽ được lấy tròn thành 2∆. Sau khi lượng tử sẽ mã hóa thành từ mã tương ứng. Trong PCM mã hóa giá trị tuyệt đối của xung lượng tử có nén bằng từ mã 7 bít, còn trong DPCM giá trị lượng tử của số gia thường bé hơn giá trị tuyệt đối của các xung bậc thang và xung lấy mẫu tạo ra số gia ấy. Chính vì vậy mà từ mã trong DPCM đã giảm đi 2 lần (nghĩa là chỉ còn 4 bít), vì vậy tốc độ truyền cũng giảm đi 2 lần. Phần phát có khối giải mã để chuyển từ mã DPCM thành số ∆푈 tương ứng. Trị số lượng tử của ∆푈 ở mỗi thời điểm lấy mẫu trước đó được tích phân thành hàm bậc thang. Khi giá trị lượng tử +∆푈 xuất hiện ở đầu vào bộ tích phân thì hàm bậc thang đi lên, ứng với −∆푈 thì hàm bậc thang đi xuống. - Phần thu: Tín hiệu DPCM từ đường dây đưa tới bộ giải mã để chuyển các từ mã thành số gia +∆푈 tương ứng. Số gia này được đưa vào bộ tích phân để lặp lại hàm bậc thang có dạng gần như đường cong tín hiệu tương tự. Bộ lọc nhánh thu tách đường bao của hàm bậc thang để khôi phục lại tín hiệu tương tự. 2.2.2.3. Điều chế xung mã sai phân thích ứng (ADPCM) PCM sai phân thích ứng (ADPCM) là tổ hợp phương pháp DPCM và PCM thích ứng. ADPCM có nghĩa là các mức lượng tử hoá được thích ứng với dạng của tín hiệu đầu vào. Kích cỡ của các bước lượPTITng tử tăng lên khi có liên tiếp dốc đứng trong tín hiệu kéo đủ dài. Trong hình vẽ, số mẫu là 6 có thể được mô tả bằng 5 bước lượng tử lớn thay cho 10 mẫu nhỏ. Phương pháp này có tên từ khả năng thích ứng ấy, tức là nó tạo ra khả năng giảm các bước lượng tử. Trong mã hoá ADPCM, sau khi tín hiệu vào tương tự đã đi qua mã hoá PCM thông thường, thì luồng các mẫu 8 bit được gửi tiếp tới bộ mã hoá ADPCM. Trong bộ mã hoá này, một thuật toán chỉ với 15 mức lượng tử được sử dụng để giảm độ dài từ 8 bit xuống 4 bit. 4 bit này không biểu diễn biên độ của mẫu nữa, nhưng nhờ có mã hoá sai phân mà 4 bit vẫn chứa đủ thông tin để cho phép tín hiệu gốc sẽ được tái tạo ở bộ thu. 36
  37. Hình 2. 19: Biểu diễn thuật toán ADPCM Mức của một mẫu được dự đoán dựa trên mức của mẫu đứng trước. Sự khác nhau giữa mẫu dự đoán và thực tế là rất nhỏ và vì vậy có thể mã hoá bằng 4 bit. Nếu có vài mẫu tiếp theo thay đổi lớn, thì các bước lượng tử được thích ứng như mô tả ở trên 2.2.3. Nén âm thanh 2.2.4. Một số khái niệm cơ bản Mã hóa cảm quan (perceptual encoding) là một kỹ thuật lợi dụng những đặc điểm cảm quan của tai người để đạt được tỷ lệ nén cao với chất lượng nén tốt. Các nghiên cứu cho thấy độ nhạy của tai người là khác nhau đối với các thành phần tần số khác nhau. Do vậy, có thể lợi dụng điều này để lượng tử hóa tín hiệu âm thanh với số bit khác nhau cho mỗi băng con, dẫn đến số bit trung bình giảm xuống. PTIT Hình 2. 20: Biểu diễn ngưỡng nghe của tai thay đổi theo tần số âm thanh Hình 2.16 biểu diễn ngưỡng nghe của tai thay đổi theo tần số. Với cùng một biên độ, nếu âm thanh có tần số nằm ở vùng có ngưỡng nghe cao hơn thì tai người không cảm nhận được (bị che). 37
  38. Khi nghe hai âm thanh mạnh yếu khác nhau với tần số khác nhau xảy ra cùng lúc, âm mạnh hơn có thể “che khuất” khiến tai không nghe được âm yếu hơn. Hiệu ứng này gọi là mặt nạ tần số (frequency masking). Hình 2. 21: Hiệu ứng mặt nạ tần số Tương tự như trên, nếu âm yếu hơn được phát ra ngay trước hoặc ngay sau âm mạnh hơn thì cũng bị “che khuất”. Hiệu ứng này gọi là mặt nạ thời gian (temporal masking). Hình 2. 22: Hiệu ứng mặt nạ thời gian 2.2.5. Nguyên lý cơ bản của kỹ thuật nén âm thanh [6] Quá trình nén âm thanh được chia thành các bước sau: Bước 1: Dùng bộ lọc thông dải để chia tín hiệu âm thanh thành các băng con (sub-band) theo tần số, tương ứng với 32 băngPTIT giới hạn lọc sub-band. Bước 2: Xác định số lượng che của mỗi band gây bởi các band lân cận bằng các kết qủa bước 1 mô hình âm - tâm lý. Bước 3: Nếu mức to của một băng mà nhỏ hơn ngưỡng che thì không mã hóa nó. Bước 4: Ngược lại, xác định số bit cần thiết để mã hóa sao cho nhiễu sinh ra bởi việc lượng tử hóa này thấp hơn đường cong che. Bước 5: Định dạng dòng dữ liệu bit Ví dụ: Sau khi phân tích, 16 band đầu tiên trong số 32 band như sau: ___ Band 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Level(dB) 0 8 12 10 6 2 10 60 35 20 15 2 3 5 3 1 38
  39. ___ Nếu mức to của âm thứ 8 là 60dB, nó sẽ che band thứ 7 ở mức 12dB và band thứ 9 ở mức 15dB. Mức to ở band 7 là 10dB ( 15dB) nên được tiếp tục xử lý. 2.2.6. Chuẩn mã hóa audio Mp3 MPEG là nhóm các chuẩn mã hóa audio cảm quan chất lượng cao. MPEG-1 hoạt động ở ba chế độ khác nhau gọi là lớp (layer), với mức độ phức tạp và hiệu quả tăng dần từ lớp 1 đến lớp 3. MPEG-1 lớp 3 (hay còn gọi là MP3) là nhóm MPEG-1 phức tạp nhất. Hình 2.19 là sơ đồ khối của một bộ mã hóa MP3 điển hình. Hình 2. 23: Sơ đồ khối bộ nén tín hiệu âm thanh theo chuẩn MPEG-1 Layer 3 - Dải bộ lọc (filterbank): Phân tích tín hiệu vào thành 32 băng con, đầu ra của cá bộ lọc băng con được nối với bộ biến đổi Cosin rời rạc MDCT (Modified Discrete Cosine Transform). MDCT chia tiếp các đầu ra của dải bộ lọc thành 576 băng con nhằm đạt được độ phân giải tốt hơn trong miền tần số. Việc phân chia băng con là nhằm lợi dụng đặc điểm độ nhạyPTIT của tai thay đổi đối với các thành phần tần số khác nhau. - Lập mô hình cảm quan (Psychoacoustic model): khâu này quyết định chất lượng của tín hiệu MP3. Bộ mã hóa MP3 tiến hành ánh xạ từ miền thời gian sang miền tần số bằng phép biến đổi Fourier nhanh FFT (Fast Fourier Trasform) 1024 điểm, để giúp phân giải tần số tốt hơn nhằm ước lượng ngưỡng mặt nạ chính xác hơn. - Lượng tử hóa và mã hóa (Quantization and Coding): thực hiện lượng tử hóa và mã hóa các thành phần phổ với yêu cầu nhiễu lượng tử hóa thấp hơn ngưỡng mặt nạ. Các giá trị lượng tử hóa được mã hóa Huffman với bảng mã thay đổi đối với những dải tần số khác nhau, để thích nghi tốt hơn với tín hiệu. Vì mã Huffman là mã có độ dài từ mã thay đổi và cần giữ cho nhiễu thấp hơn ngưỡng mặt nạ nên phải tính độ lợi và các hệ số tỷ lệ trước khi lượng tử hóa. Để tìm được độ lợi và các hệ số tỷ lệ tối ưu đối với một khối cho trước, MP3 dùng hai vòng lặp lồng vào nhau. - Vòng lặp trong hay vòng lặp điều khiển tốc độ (rate control loop): hiệu chỉnh độ lợi để tăng dần kích thước bước lượng tử hóa, giảm dần số mức lượng tử hóa cho đến khi số 39
  40. bit yêu cầu cho mã hóa Huffman đủ nhỏ, dẫn đến bit tốc độ bit của tín hiệu MP3 đủ nhỏ. - Vòng lặp ngoài hay vòng lặp điều khiển nhiễu (distortion control loop): hiệu chỉnh hệ số tỷ lệ để giảm dần nhiễu lượng tử hóa, lúc đó số mức lượng tử hóa tăng dần lên, làm tốc độ bit tăng dần lên, dẫn đến vòng lặp trong phải hiệu chỉnh độ lợi. Nếu không đồng thời thỏa mãn được yêu cầu về tốc độ bit và chất lượng audio thì hai vòng lặp sẽ không có điểm hội tụ. Để tránh trường hợp này, phải hiệu chỉnh các thông số mã hóa khi bộ mã hóa hoạt động ở các tốc độ bit khác nhau. - Định dạng dòng bit (bitstream formatting): dòng bit MP3 được định dạng theo từng khung, gồm các hệ số phổ đã được mã hóa, đầu khung là header gồm: từ mã đồng bộ, tốc độ bit, tần số lấy mẫu, lớp, mode mã hóa. Do các thông tin trên được lặp lại trong tất cả các khung nên ta có thể giải mã vào bất cứ lúc nào. 2.2.7. Một số định dạng file âm thanh 2.2.7.1. Định dạng wave (*.wav) Định dạng tập tin âm thanh wave hay *.wav là chuẩn định dạng tập tin âm thanh của IBM và Microsoft. Đây là chuẩn cho việc lưu trữ bít âm thanh trên máy tính. Nó là một ứng dụng của định dạng RIFF (Resource Interchange File Format) phương thức định dạng luồng bít theo các “chunk”. Thuật toán mã hóa dùng cho tập tin wave là PCM tuyến tính (LPCM – Linear Pulse Code Modulation). Định dạng tập tin âm thanh cho CD cũng là mã hóa LPCM với 2 kênh, tần số lấy mẫu là 44,100 mẫu /s 16 bít mã hóa. Tập tin âm thanh wav có thể dễ dàng được chỉnh sửa bằng phần mềm. Định dạng wav hỗ trợ việc nén âm thanh dùng các phần mềm trên Windows. PTIT Hình 2. 24: Tổ chức các chunk trong tập tin wav 2.2.7.2. Định dạng mp3 (*.mp3) MP3 là một định dạng âm thanh đặc biệt được thiết kế bởi MPEG là một phần của chuẩn MPEG1 và sau này được mở rộng trong chuẩn MPEG2. Nhóm MPEG đầu tiên – nhóm 40
  41. âm thanh được hình thành từ một vài nhóm kỹ sư của Fraunhofer IIS, University of Hannover, AT&T-Bell Labs, Thomson-Brandt, CCETT và các đơn vị khác. Kỹ thuật dùng trong MP3 là kỹ thuật nén mất dữ liệu được thiết kế để giảm khối lượng lớn dữ liệu âm thanh mà vẫn gần giống âm thanh chưa nén ban đầu. Một file MP3 với tốc độc 128kbit/s sẽ chỉ bằng 1/11 của file âm thanh CD nguồn. Một file MP3 có thể được tạo ở các tỷ lệ bít cao hoặc thấp hơn để có chất lượng tốt hơn hoặc kém hơn. Có một vài phiên bản của MPEG: định nghĩa nén âm thanh ở tốc độ lấy mẫu 32 kHz, 44.1kHz và 48kHz. Với các chế độ đơn kênh (mono) và đa kênh (stereo). Các tốc độ bit đưa ra trong MP3 là 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 và 320 kbit/s. Tốc độ lấy mẫu vẫn là 32 kHz, 44.1kHz và 48kHz. Hình 2. 25: Cấu trúc tập tin mp3 Một tập tin MP3 được tạo ra từ nhiều khung MP3, mỗi khung bao gồm khối header và khối dữ liệu. Chuỗi các khung này gọi là luồng cơ sở. Các khung không là các thành phần độc lập và thường không thể tách các khung một cách tùy tiện. Các khối dữ liệu MP3 chứa các thông tin âm thanh về biên độ và tần số. Sơ đồ trên cho thấy Header MP3 bao gồm phần đồng bộ từ (sync word) dùng để xác định điểm đầu của một khung. Tiếp theo là một bít hiển thị chuẩn MPEG và 2 bít hiển thị PTITlớp 3, do vậy nó có tên là chuẩn âm thanh MPEG-1 lớp 3 hoặc là MP3. Sau này, giá trị sẽ khác phụ thuộc vào file MP3. Chuẩn ISO/IEC 11172-3 xác định phạm vi giá trị mỗi phần chiều dài của header cho các header đặc biệt. Phần lớn các file MP3 ngày nay chứa thông tin ID3 metadata trước hoặc sau các khung MP3 như hình vẽ. ID3 metadata là Một nhãn “tag” trong file âm thanh là một phần của file chứa các thông tin metadata như tiêu đề ,nhạc sỹ, album, số bài hoặc các thông tin khác về file. Các chuẩn MP3 không định nghĩa các tag cho các file MP3, do vậy không có một định dạng chuẩn hỗ trợ cho metadata và xóa bỏ tính cần thiết của các tag Tuy nhiên, một vài chuẩn trong thực tế có tồn tại các tag. Như năm 2010, phổ biến là các tag ID3v1 và ID3v2 và gần đây hơn là APEv2. Những nhãn này thường được nhúng trong phần đầu hay cuối của file MP3, phân chia các khung dữ liệu MP3. Các bộ giải mã MP3 thường hoặc là đọc thông tin từ các tag hoặc là bỏ qua. 41
  42. 2.2.7.3. Định dạng flac (*.flac) Flac (Free Lossless Audio Codec) là một bộ mã cho phép nén không mất dữ liệu âm thanh bằng việc giảm kích thước tập tin mà không mất bất kỳ thông tin nào. Thuật toán của FLAC dùng nén tập tin âm thanh giảm khoảng 50 -60% so với kích thước tập tin ban đầu và việc giải nén tạo đúng như tập tin ban đầu. FLAC dùng phương pháp mã hóa tiên đoán tuyến tính (Linear prediction) để chuyển đổi mẫu âm thanh sang các chuỗi nhỏ, là các số không tương quan được lưu trữ rất hiệu quả theo mã hóa Golomb-Rice. Nó cũng dùng mã hóa Run Length (như giới thiệu ở chương trước) cho các khối mẫu như đoạn khoảng lặng. 2.3. Xử lý hình ảnh 2.3.1. Tổng quan về xử lý ảnh Quá trình xử lý ảnh được xem là quá trình thao tác ảnh đầu vào nhằm cho ra kết quả mong muốn. Kết quả đầu ra của một quá trình xử lý ảnh có thể là một ảnh chất lượng tốt hơn, các đặc tính của ảnh hoặc dữ liệu mã hóa của ảnh. Quá trình xử lý ảnh có thể bao gồm những công đoạn được mô tả trong hình sau: Phân Biểu diễn đoạn ảnh Tiền xử lý Nén ảnh Ảnh nguồn Cở sở dữ Thu nhận liệu ảnh Nhận dạng ảnh ảnh HìnhPTIT 2. 26: Sơ đồ khối xử lý hình ảnh - Thu nhận ảnh: Đây là giai đoạn đầu tiên và quan trọng nhất trong toàn bộ quá trình xử lý ảnh. Ảnh nhận được tại đây chính là ảnh gốc để đưa vào xử lý tại các giai đoạn tiếp theo. Trường hợp ảnh gốc có chất lượng kém sẽ dẫn đến kém hiệu quả ở các bước tiếp theo. Thiết bị thu nhận có thể là các ống ghi hình chân không (vidicon, plumbicon, v.v.) hoặc thiết bị cảm biến quan điện bán dẫn CCD (Charge-Coupled Device). - Tiền xử lý ảnh: Giai đoạn này ảnh được xử lý đơn giản nhằm nâng cao chất lượng để trợ giúp cho các quá trình xử lý nâng cao tiếp theo, ví dụ: tăng độ tương phản, làm nổi biên, khử nhiễu v.v. - Phân đoạn ảnh: là quá trình tách hình ảnh thành các phần hoặc vật thể riêng biệt. Đây là một trong những vấn đề khó giải quyết nhất trong lĩnh vực xử lý ảnh. Nếu thực hiện tách quá chi tiết thì bài toán nhận dạng các thành phần được tách trở nên 42
  43. phức tạp. Ngược lại, nếu quá trình phân đoạn được thực hiện sơ sài thì kết quả nhận được cuối cùng sẽ không chính xác. - Biểu diễn và mô tả: Là quá trình xử lý tiếp sau khâu phân đoạn ảnh. Các đối tượng sau phân đoạn có thể được mô tả dưới dạng chuỗi các điểm ảnh tạo nên ranh rới một vùng hoặc tập hợp tất cả các điểm ảnh nằm trong vùng đó. Biểu diễn vùng thường được sử dụng khi chúng ta quan tâm tới đặc tính bên trong của vùng như bề mặt (texture) hay hình dạng (skeletal). - Nén ảnh: Bao gồm các biện pháp giảm thiểu dung lượng bộ nhớ cần thiết để lưu trữ hình ảnh, hay giảm băng thông trong truyền thông đa phương tiện. Do đây là một kỹ thuật của xử lý ảnh thường xuyên được sử dụng trong truyền thông đa phương tiện nên các thuật toán nén ảnh sẽ được giới thiệu kỹ trong bài giảng này. - Nhận dạng ảnh: là quá trình phân loại vật thể dựa trên cơ sở các chi tiết mô tả vật thể đó (ví dụ phân loại các họ thực vật dựa trên hình dạng, kích thước của lá trong bức ảnh). 2.3.2. Thu nhận ảnh Ánh sáng từ vật cần chụp đi tới hệ thống thu nhận ảnh Ánh sáng được cho đi qua một tấm lọc hồng ngoại Cảm biến Tấm lọc đơn sắc PTITCảm biến biến đổi ánh sáng thành tín hiệu điện Hình 2. 27: Quá trình thu nhận hình ảnh Thu nhận ảnh là bước đầu tiên trong quá trình xử lý ảnh. Hệ thống thu nhận ảnh bao gồm các thấu kính một cách hợp lý để đón nhận ánh sáng từ vật cần chụp đi tới và hội tụ chùm ánh sáng này trên một cảm biến. Trước khi tới cảm biến, ánh sáng được đi qua tấm lọc ánh sáng hồng ngoại vì ánh sáng này mắt người không cảm nhận được. Tiếp theo, ánh sáng đi qua tấm lọc đơn sắc chỉ cho ánh sáng đỏ (R) hoặc xanh lá cây (G) hoặc xanh dương (B) đi qua. Trên mặt phẳng cảm biến là một ma trận các điểm ảnh. Mỗi điểm ảnh bao gồm 3 cảm biến của 2 màu R, G, B đặt cạnh nhau. Sở dĩ mỗi điểm cảm biến gồm 3 cảm biến R, G, B là vì màu sắc trong tự nhiên được tạo nên bởi 3 màu cơ bản R, G và B. Khi ánh sáng đơn sắc đi tới 43
  44. mỗi điểm, cảm biến mỗi màu sẽ biến đổi ánh sáng màu đó ra tín hiệu điện. Tín hiệu điện này sẽ được số hóa và đưa vào hệ thống xử lý tín hiệu ảnh. 2.3.3. Không gian màu. Hiện nay, hầu hết khi đề cập đến hình ảnh chúng ta mặc định hiểu rằng đó là những hình ảnh có màu ngoại trừ những video được xây dựng từ những năm 60 trở về trước. Để biểu thị hình ảnh đen trắng, chúng ta chỉ cần thông tin về cường độ sáng của mỗi pixel. Tuy nhiên, đối với hình ảnh màu, chúng ta phải cần thêm ít nhất ba thông tin khác nữa để biểu thị màu trên mỗi pixel. Các tham số để biểu thị hình ảnh màu bao gồm độ sáng và các thông tin về màu được gọi là không gian màu. 2.3.3.1. RGB Trong không gian màu RGB, một phần tử ảnh được biểu diễn với ba tham số mô tả cường độ của ba màu đỏ (Red), xanh lá cây (Green) và xanh nước biển (Blue). Đây là 3 màu cơ bản để tạo nên tất cả các màu trong tự nhiên. Bất kỳ màu sắc nào trong tự nhiên cũng có thể được tạo ra bằng cách kết hợp màu đỏ, xanh lá cây và màu xanh theo tỷ lệ khác nhau. Hình 2.24 biểu diễn sự kết hợp của 3 màu cơ bản để tạo nên các màu khác trong tự nhiên. Vàng Đỏ Xanh lá cây Xanh Tím dương Xanh nước biển Hình 2. 28: Sự kết hợp của ba màu cơ bản RGB Để thu nhận ba màu RGB,PTIT máy thu sử dụng 3 mảng cảm biến riêng biệt. Mỗi cảm biến chỉ nhạy với một thành phần màu. Tại mỗi vị trí lấy mẫu sẽ có 3 phần tử màu tương ứng đặt rất gần nhau. Từ một khoảng cách xem bình thường, người xem sẽ không thấy được sự tách biệt 3 màu này mà chỉ có cảm giác các thành phần màu riêng biệt này được “trộn” lại thành màu thật của đối tượng trong tự nhiên. 2.3.3.2. YUV Hệ màu YUV ra đời khi truyền hình màu được xây dựng trên chính cơ sở hạ tầng của hệ thống truyền hình màu đen và trắng. Yêu cầu đặt ra đối với phương pháp truyền tín hiệu màu là phải tương thích với phương pháp truyền tín hiệu đen trắng đã có trước đây để những chiếc Tivi màu có thể thu được cả hai tín hiệu. Giải pháp được đưa ra là hai tín hiệu màu U và V được thêm vào bên cạnh tín hiệu Y đã tồn tại trong hệ thống truyền hình đen trắng. Tín hiệu Y là tín hiệu biểu diễn độ sáng (độ chói) được tách riêng từ các thành phần màu R,G và B: 44
  45. 푌 = 0.299푅 + 0.587 + 0.114 (2.1) Hai thành phần màu U và V cũng được tách ra từ các thành phần R, G, B như sau: 푈 = −1.47퐹 − 0.289 + 0.436 = 0.492 − 푌 (2.2) = 0.615푅 − 0.515 − 0.100 = 0.877(푅 − 푌) (2.3) Thay vì sử dụng hệ màu YUV giống như truyền hình tương tự, trong hệ thống thu phát video số, hệ màu YCbCr được sử dụng vì mục đích xử lý và lưu trữ. Thực chất hệ màu YCbCr cũng gần giống như hệ màu YUV ngoại trừ việc người ta thêm vào một vài hằng số: 푌 = 0.257푅 + 0.505 + 0.098 + 16 = −0.148푅 − 0.291 + 0.439 + 128 (2.4) = 0.439푅 − 0.368 − 0.071 + 128 Do thành phần Y được lấy mẫu và lượng tử trong khoảng từ 16 đến 235 nên 16 được cộng thêm vào thành phần này. Tương tự, trong video số, hai thành phần màu U và V được lượng tử hóa trong khoảng từ 16 đến 240 với giá trị trung bình là 128. Vì vậy, như ta thấy trong công thức, 128 được cộng thêm vào để tạo ra hai thành phần màu mới là Cb và Cr. 2.3.4. Kỹ thuật nén ảnh JPEG Tiêu chuẩn nén ảnh JPEG (Nhóm chuyên gia đồ họa – Joint Photogrphic Experts Group) là sản phẩm của sự kết hợp giữa hai tổ chức Liên minh viễn thông quốc tế (ITU-T) và tổ chức các tiêu chuẩn quốc tế (ISO – International Standards Organization). Tiêu chuẩn được đưa ra nhằm hỗ trợ rất nhiều các ứng dụng sử dụng kỹ thuật nén ảnh tĩnh. Tiêu chuẩn được thiết kế một cách linh hoạt trong việc đáp ứng các yêu cầu từ nhiều loại ứng dụng khác nhau. Ví dụ, bộ mã hóa JPEG có thể lượng hóa chất lượng đầu ra để các ứng dụng có thể điều chỉnh tỷ lệ nén và chất lượng của ảnh đầu ra. Ngoài ra, JPEG cóthể hỗ trợ ngôn ngữ PostScript của Adobe trong việc in ấn, hỗ trợ các thiết bị hiển thị ở các chế độ quét liên tục hoặc quét xen kẽ. JPEG cũng được sử dụng để mã hóa video vì ta có thể coi video là một chuỗi các ảnh tĩnh. Trong trường hợp này, tiêu chuẩn được gọi là Motion JPEG. Hiện nay, Motion JPEG được sử dụng trong rất nhiềuPTIT các ứng dụng, đặc biệt là ứng dụng truyền video qua mạng Internet với tốc độ bit liên tục thay đổi. 2.3.5. Nén không tổn hao Chuẩn JPEG hỗ trợ hai kỹ thuật nén: không tổn hao (lossless) và tổn hao (lossy). Nén không tổn hao được dựa trên kỹ thuật DPCM dự đoán giá trị của pixel hiện thời bằng việc sử dụng giá trị của các pixel liền kề. Hình 2.25 mô tả sơ đồ nguyên lý của nén không tổn hao. 45
  46. Ảnh Dữ liệu sau gốc Bộ dự Mã hóa khi nén đoán entropy Bảng mã entropy Hình 2. 29: Sơ đồ nén không tổn hao Bức ảnh nguồn ở dạng RGB hoặc YCbCr được đưa vào bộ dự đoán. Bộ dự đoán DPCM tính toán sự khác biệt cho tất cả các pixel của các thành phần màu. Giá trị dự đoán của pixel x được tạo ra từ 3 pixel tại các vị trí a, b, c trong cùng một ảnh và cùng một thành phần màu như mô tả trên hình 2.26 c b a x Hình 2. 30: Pixel x được dự đoán từ pixel a, b, c Giá trị dự đoán được trừ đi giá trị thật của pixel x. Giá trị khác biệt này được mã hóa entropy không tổn hao bởi mã Huffman hoặc mã số học. 2.3.6. Nén tổn hao Ngoài chế độ nén không tổn hao, tiêu chuẩn JPEG đưa ra ba chế độ nén có tổn hao: chế độ nén cơ bản (baseline sequential mode), chế độ nén lũy tiến (progressive mode) và chế độ nén phân cấp (hierarchical mode). Ba chế độ này khác nhau chủ yếu trong cách mã hóa các hệ số DCT. Trong chế độ nén cơ bản, các hệ số DCT được mã hóa đơn giản nhất. Chế độ này được sử dụng trong hầu hết các ứng dụng yêu cầu tỷ lệ nén không cao. Khi các ứng dụng yêu cầu tỷ lệ nén cao hơn, chế độ nénPTIT lũy tiến và nén phân cấp được sử dụng. 2.3.6.1. Chế độ nén cơ bản Trong chế độ này, ảnh được chia thành các khối pixel 8x8 từ trái sang phải, từ trên xuống dưới. 64 hệ số DCT sau biến đổi được lượng tử hóa với mức chất lượng mong muốn. Cuối cùng các giá trị sau lượng tử được mã hóa entropy để thu được dữ liệu nén. Hình 2.27 mô tả thuật toán nén trong chế độ cơ bản. 46
  47. Bảng mã entropy Bảng lượng tử AC Zigzag scan VCL Ảnh gốc Dự liệu sau khi nén - DCT Q Zigzag scan VCL DC 128 Bảng mã entropy Hình 2. 31: Thuật toán nén trong chế độ nén cơ bản a. Biến đổi Cosin rời rạc (Discrete Cosin Tranform) Mục đích của việc sử dụng phép biến đổi DCT là nhằm loại bỏ dư thừa thông tin theo không gian. Quá trình được thực hiện bằng cách biến đổi giá trị của các pixel sang miền không gian khác trước khi loại bỏ những dữ liệu không cần thiết. Ý tưởng chính trong việc áp dụng DCT vào việc nén ảnh là năng lượng của hầu hết các bức ảnh tập trung chủ yếu tại miền tần số thấp và được biểu diễn bởi các hệ số sau biến đổi. Quá trình lượng tử hóa được sử dụng với mục đích giữ lại các hệ số trong miền tần số thấp và loại bỏ các hệ số trong miền tần số cao. Quá trình này sẽ không làm ảnh hưởng nhiều tới chất lượng của ảnh vì các hệ số trong miền tần số cao lưu giữ ít thông tin của ảnh hơn. Tuy nhiên quá trình này ít nhiều vẫn làm mất thông tin của ảnh gốc. Với một khối ảnh có kích thước N x N pixel, phép biến đổi DCT được triển khai như sau: Bước 1: Tính ma trận T: 1 ế 푖 = 0 = (2.5) 푖,푗 2 2푗 +1 푖 cos ế 푖 > 0 2 PTIT Bước 2: Tính ma trận DCT: = ∗ ∗ ′ (2.6) Trong đó: DCT: Ma trận sau biến đổi I: Ma trận khối ảnh kích thước NxN T’: Ma trận chuyển vị của ma trận T 1 0 Ví dụ: Cho khối ảnh = . Tìm các hệ số DCT sau phép biến đổi DCT khối ảnh 0 1 I. Giải: Bước 1: Tìm ma trận T 47
  48. 1 = = (do i = 0) 0,0 0,1 2 2 1 = ⁡ cos = 1,0 2 4 2 2 3 1 = cos = − 1,1 2 4 2 0 0 1 1 Vậy = − 2 2 Bước 2: Tìm ma trận hệ số DCT 1 1 1 1 2 2 1 0 2 2 1 0 = 1 1 ∗ ∗ 1 1 = − 0 1 − 0 1 2 2 2 2 b. Lượng tử hóa Các hệ số DCT được lượng tử với giá trị của bảng lượng tử được thay đổi tùy theo từng ứng dụng cụ thể. Hai ví dụ về bảng lượng tử được cho trong bảng dưới đây ứng với kích thước các khối ảnh biến đổi DCT là 8x8. Giá trị các bảng này được rút ra từ thực nghiệm và được sử dụng riêng cho kênh chói và kênh màu. Có thể các giá trị này không phù hợp với một số ứng dụng thực tế nhưng nói chung, với các bức ảnh 8 bit thì chất lượng đạt được sau khi giải nén ở mức độ chấp nhận được. 16 11 10 16 24 40 51 61 17 18 24 47 99 99 99 99 12 12 14 19 26 58 60 55 18 21 26 66 99 99 99 99 14 13 16 24 40 57 69 56 24 26 56 99 99 99 99 99 14 17 22 29 51 87 80 62 47 66 99 99 99 99 99 99 18 22 37 56 68 PTIT109 103 77 99 99 99 99 99 99 99 99 24 35 55 64 81 104 113 92 99 99 99 99 99 99 99 99 49 64 78 87 103 121 120 101 99 99 99 99 99 99 99 99 72 92 95 98 112 100 103 99 99 99 99 99 99 99 99 99 Hình 2. 32: Bảng lượng tử cho kênh chói và hai kênh màu Q(u,v) Nếu các giá trị của bảng lượng tử cho kênh chói và kênh màu là Q(u,v), hệ số DCT theo chiều ngang và chiều dọc trong bảng lượng tử, Fq(u,v), được tính bởi công thức: 퐹( ,푣) 퐹푞 , 푣 = (2.6) 푄( ,푣) Trong đó F(u,v) là hệ số DCT trước lượng tử, toán tử . lấy giá trị nguyên gần nhất sau phép chia. Tại phía giải mã, các hệ số được giải lượng tử bởi công thức: 퐹푄 , 푣 = 퐹푞 , 푣 . 푄( , 푣) (2.7) 48
  49. c. Quét zigzag Sau lượng tử, hệ số 1 chiều DC và 63 hệ số xoay chiều AC được mã hóa theo cách riêng như chỉ ra trên hình 2.15. Trước khi mã hóa entropy, giá trị DC trong khối pixel trước đó được sử dụng làm giá trị dự đoán của hệ số DC trong khối pixel hiện thời. Giá trị chênh lệch giữa hai hệ số DC này được tính và mã hóa entropy: 퐹퐹 = 푖 − 푖−1 (2.8) Đối với 63 hệ số AC, thứ tự mã hóa được bắt đầu từ vị trí AC(1,0) và lần lượt theo đường zigzag, các hệ số được mã hóa bằng mã VCL như trong hình 2.15. Lý do các hệ số AC được mã hóa lần lượt theo đường zigzag là bởi vì theo đường này, các hệ số khác 0 ở vùng tần số thấp sẽ được mã hóa trước. Như đã đề cập ở phần trên, năng lượng ảnh tập trung chủ yếu ở vùng tần số thấp. AC(0,1) AC(7,0) DC(0,0) DCi-1 DC i AC(0,7) AC(7,7) Hình 2. 33 Mã hóa các hệ số DCT lần lượt theo đường zigzag d. Mã hóa có chiều dài thay đổi (Variable Length Coding – VCL) Trong chuẩn nén JPEG, mỗi chuỗi mã gồm hai phần: Phần 1 (symbol1) là mã có độ dài thay đổi và phần 2 (symbol2) là chuỗi nhị phân biểu diễn độ lớn. Mã hóa hệ số DC Thay vì việc gán một từPTIT mã trực tiếp cho mỗi giá trị DIFF, trước tiên, các giá trị này được phân loại và được gán giá trị CAT (category) dựa vào độ lớn. Sau đó, giá trị CAT mới được mã hóa entropy. Bảng 2.1 chỉ ra giá trị CAT cho các nhóm giá trị DIFF. Các hệ số DCT có giá trị từ -2047 đến +2047 được chia làm 11 nhóm và được gán giá trị CAT từ 1 đến 11. Giá trị CAT = 0 được sử dụng để đánh dấu kết thúc khối. Giá trị CAT sau khi được mã hóa entropy (symbol1) sẽ được gắn thêm một chuỗi nhị phân biểu diễn giá trị của CAT (symbol2). CAT Khoảng giá trị của DIFF 0 - 1 -1,1 2 -3,-2,2,3 3 -7, ,-4,4, ,7 4 -15, ,-8,8, ,15 5 -31, ,-16,16, ,31 49
  50. 6 -63, ,-32,32, ,63 7 -127, ,-64,64, ,127 8 -255, ,-128,128, ,255 9 -511, ,-256,256,511 10 -1023, ,-512,512, ,1023 11 -2047, ,-1024,1024, ,2047 Bảng 2. 1: Bảng giá trị CAT Trong trường hợp DIFF mang giá trị dương, symbol-2 là chuỗi có trọng số thấp nhất của DIFF. Phần trọng số thấp nhất này được bắt đầu từ bit có trọng số cao nhất của symbol-2 và có giá trị bằng 1. Tuy nhiên, nếu DIFF mang giá trị âm, symbol-2 là chuỗi có trọng số thấp nhất của (DIFF - 1). Phần trọng số thấp nhất này được bắt đầu từ bit có trọng số cao nhất của symbol-2 và có giá trị bằng 0. Ví dụ: Với DIFF = 6 = 00 00110, symbol-2 bắt đầu từ 1 và có giá trị là 110. Theo bảng 2.1, vì 6 nằm trong khoảng từ 4 đến 7 nên CAT = 3. Từ bảng DC trong phụ lục A1, từ mã của CAT = 3 là 100. Do vậy, từ mã biểu diễn DIFF = 6 sẽ là 100110, trong đó symbol1 = 100, symbol2 = 110. Với DIFF mang giá trị âm, ví dụ DIFF = -3, theo bảng 2.1, CAT =2. Theo bảng DC trong phụ lục A1, với CAT = 2 thì symbol1 = 011. DIFF – 1 = -4 = 11 100, do đó symbol-2 = 00. Do vậy, từ mã của DIFF = -3 sẽ là 01100. Mã hóa hệ số AC Với mỗi hệ số AC trên đường zigzag, symbol1 được biểu diễn bởi một cặp (RUN,CAT) trong đó CAT là category của hệ số AC, RUN là số số 0 đứng trước hệ số AC đó trong bảng hệ số DCT tính theo đường zigzag. Độ dài lớn nhất của RUN là 15. Trong trường hợp số lượng số 0 lớn hơn 15, hệ số AC = 0 thứ 16 được biểu diễn là (15,0). Nói cách khác, ta hiểu rằng cặp (15,0) biểu diễn chuỗi 16 số 0. Ví dụ cặp (RUN=34, CAT=5) được hiểu sẽ bao gồm 3 cặp (15,0) và 1 cặp (2,5). Dấu hiệu kết thúc khối (EOB) được đưa vào để chỉ ra rằng các hệ số DCT còn lại của đường zigzag sẽ được lượng tửPTIT hóa bằng 0. EOB được biểu diễn bởi cặp (RUN=0, CAT=0). Ví dụ: Các hệ số DCT của kênh chói trong một khối ảnh được cho trong bảng 2.2. Nếu hệ số DC của khối trước đó là 29, tìm từ mã mã hóa các hệ số DC và AC. 50
  51. 31 18 0 0 0 0 0 0 -21 -13 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Bảng 2. 2: Các hệ số DCT của kênh chói trong một khối ảnh 8x8 Giải: Mã hóa hệ số DC: DIFF = 31 – 29 = 2. Từ bảng 2.1 ta có CAT = 2. Theo bảng trong phụ lục A1, mã Huffman của giá trị CAT = 2 là 011. Như vậy, symbol1 = 011. Do DIFF = 2 = 000 0010. Vì vậy, symbol2 = 10. Vậy từ mã của hệ số DC trong trường hợp này là 01110. Mã hóa các hệ số AC: - Mã hóa hệ số AC khác 0 thứ nhất: Các hệ số AC được mã hóa lần lượt theo đường zig-zag theo bảng 2.2. Hệ số AC khác 0 đầu tiên có giá trị 18. Theo bảng 2.1, giá trị CAT = 5. Vì không có hệ số AC = 0 đứng trước nên từ mã RUN = 0. Vì vậy, symbol1 = (0,5). Từ bảng mã Huffman trong phụ lục A2, từ mã của (0,5) là 11010. Độ lớn của hệ số AC = 18 = 10010. Vậy symbol2 = 10010. Vậy từ mã của hệ sPTITố AC thứ nhất là 11010 10010. - Mã hóa hệ số AC khác 0 thứ hai: Theo đường zig-zag, hệ số AC thứ hai có giá trị khác 0 là -21. Vì trước hệ số này không có giá trị AC = 0. Ngoài ra, theo bảng 2.1, giá trị này nằm trong khoảng từ -31 đến -16 nên RUN = 0, CAT = 5. Vì vậy, symbol1 của hệ số này là (0,5) và được mã hóa Huffman là 11010. Độ lớn của hệ số AC = -21 < 0. Với giá trị âm ta phải trừ 1 trước khi mã hóa. Mã nhị phân của -22 = 111 1101010. Vì vậy, symbol2 = 01010. Vậy từ mã của hệ số AC thứ hai là 11010 01010. - Mã hóa hệ số AC khác 0 thứ 3: Hệ số AC khác 0 thứ 3 là -13. Đứng trước hệ số này có một số 0. Vì vậy, RUN = 1 và CAT = 4. Từ bảng phụ lục A2, ta có symbol1 = (1,4) = 111110110. 51
  52. Độ lớn của hệ số AC = -13<0 nên symbol2 = 0010. (Vì -14 = 111 110010). Vậy từ mã của hệ số AC thứ ba là 1111101100010 - Tương tự như trên, hệ số AC khác 0 thứ tư là 5 và có từ mã là 111111110101 101. - Vì hệ số AC = 5 là hệ số khác 0 cuối cùng nên dấu hiệu EOB sẽ được thêm vào cuối dãy từ mã. Theo bảng phụ lục A2, dấu hiệu EOB = (0,0) có từ mã là 1010. 2.3.6.2. Chế độ nén lũy tiến 25% 50% 75% 100% Hình 2. 34: Biểu diễn các thời điểm giải nén trong chế độ nén cơ bản Trong chế độ nén cơ bản, bộ giải mã thu nhận các khối pixel 8x8 của ảnh và giải nén lần lượt từ trái sang phải, từ trên xuống dưới. Tùy theo tốc độ của kênh truyền, bên thu cần một khoảng thời gian nhất định để tái tạo lại toàn bộ bức ảnh. Hình 2.34 mô tả quá trình tái tạo lại bức ảnh tại các thời điểm 25%, 50%, 75% và 100% bức ảnh. Trong trường hợp dữ liệu bị mất trong khi truyền thì bức ảnh sẽ không được tái tạo lại nguyên vẹn mà chỉ có một phần của ảnh được tái tạo. Khi đó, người xemPTIT có thể sẽ không hiểu hết nội dung của ảnh. Trong chế độ nén lũy tiến, sau khi biến đổi DCT các hệ số được lưu trong bộ đệm trước khi được truyền đi. Bộ mã hóa chia các hệ số DCT làm nhiều băng và mỗi băng được mã hóa độc lập. Trên Error! Reference source not found. mô tả chất lượng ảnh sau khi giải mã. Bức ảnh thứ nhất được khôi phục từ băng chỉ bao gồm các hệ số DC. Bức ảnh thứ hai bao gồm các hệ số DC và hệ số AC ở vị trí 1 và 8 trên đường zigzag. Sau khi nhận được hai giá trị AC 1 và 8, bên thu tái tạo ảnh và cộng với bức ảnh thứ nhất để ra được bước ảnh thứ hai. Tương tự như vậy, bức ảnh thứ ba được tái tạo từ các hệ số 0, 1, 8, 16, 9, 2, 3, 10,17 và 24. Và cuối cùng khi nhận được toàn bộ các hệ số DCT, bức ảnh với chất lượng cao nhất được tái tạo. 2.3.6.3. Chế độ nén phân cấp Trong chế độ nén phân cấp, bức ảnh được nén theo các lớp có cấu trúc hình kim tự tháp. Các lớp có độ phân giải thấp được sử dụng để dự đoán cho lớp cao hơn. Tại bên phát, bức ảnh 52
  53. được cho qua các bộ lọc giảm (downsampling) hoặc tăng (upsampling) độ phân giải để tạo ra các ảnh với độ phân giải khác nhau trong cấu trúc hình kim tự tháp (hình 2.35). Hình 2.36 mô tả cấu trúc của bộ mã hóa phía phát. Tại cấp cao nhất, bức ảnh gốc được giảm độ phân giải với tỷ lệ 4:1 theo cả hai hướng. Đầu ra sẽ là bức ảnh có độ phân giải bằng 1/16 lần bức ảnh ban đầu. Sau đó, bức ảnh này sẽ được nén theo chế độ cơ bản. Bên thu thực hiện nội suy với tỷ lệ 1:4 để khôi phục lại bức ảnh có độ phân giải như bức ảnh gốc. Tại cấp thứ hai của phía phát, bức ảnh được giảm độ phân giải với tỷ lệ 2:1 và được trừ đi bức ảnh dự đoán được lấy ra từ cấp 1. Bức ảnh khác biệt này cũng được nén ở chế độ cơ bản và được phát đi. Bằng cách lặp lại các quá trình này, bức ảnh được nén ở các mức phân giải khác nhau và phía thu cũng không phục ảnh ở các mức phân giải tương ứng. Do độ phân giải khác nhau nên tốc độ bit ở các cấp cũng khác nhau phụ thuộc vào mức lượng tử ở mỗi cấp. Hình 2. 35: Cấu trúc nén ảnh phân cấp theo hình kim tự tháp Ảnh đầu vào Dữ liệu mã hóa cấp 1 1/4 DCT IDCT 2 Dữ liệu mã hóa cấp 2 1/2 - DCT PTITIDCT + 2 Dữ liệu mã hóa mức cơ bản - DCT IDCT + Dữ liệu được mã hóa không tổn hao - Hình 2. 36: Sơ đồ mã hóa trong chế độ phân cấp 53
  54. 2.3.6.4. Một số định dạng ảnh JPEG, TIFF, GIF và PNG là 4 định dạng file dữ liệu chính trong lưu trữ ảnh. Các loại máy ảnh số và phần mềm xử lý ảnh hỗ trợ tương thích với loại định dạng file ảnh nào đều có liệt kê rõ trong phần thông số kỹ thuật đi kèm sản phẩm. Tùy vào từng trường hợp sử dụng mà mỗi định dạng file ảnh có ưu thế riêng hay bộc lộ hạn chế. Lựa chọn sai định dạng cho mục đích sử dụng có thể dẫn đến việc làm mất dữ liệu, sai lệch thông tin lưu trữ Ví dụ khi chọn đính kèm ảnh có định dạng dung lượng quá lớn có thể khiến chúng ta mất nhiều thời gian chờ. Vì vậy, việc hiểu rõ về các định dạng file ảnh sẽ giúp việc lưu trữ và sử dụng dữ liệu thêm linh hoạt và tránh được những sự cố như giảm chất lượng ảnh, tốn dung lượng ổ đĩa, v.v. a. Định dạng JPEG Đây là định dạng tập tin hầu hết các loại máy ảnh số và phần mềm xử lý ảnh đều hỗ trợ tương thích. File JPEG cũng là định dạng file ảnh phổ biến nhất trên Internet. Ưu điểm của file JPEG chính là dung lượng nhỏ, nhẹ. Việc đính kèm file ảnh cho email hay upload /download file JPEG trên các website luôn thuận tiện và nhanh chóng với định dạng file này. Sở dĩ file JPEG nhỏ gọn hơn hầu hết các định dạng file khác bởi vì cơ chế lưu trữ hình ảnh của dạng file này là nén dữ liệu theo tỉ lệ nhất định. File JPEG thông thường có thể chiếm dung lượng chỉ 1/10 so với tập tin dữ liệu gốc. Khi gửi email hay thao tác trên Internet, dung lượng tập tin là yếu tố quan trọng hàng đầu, cho nên các file dữ liệu JPEG là lựa chọn tối ưu nhằm giúp thao tác được nhanh chóng, tránh các lỗi treo máy hay timeout. Tuy nhiên, như đã trình bày ở bên trên, hiệu suất nén cao đồng nghĩa với việc phải loại bỏ nhiều hệ số DCT. Như vậy chất lượng ảnh JPEG sẽ bị giảm rất nhiều so với ảnh gốc. b. TIFF Tag Image File Format là tên đầy đủ của định dạng file TIFF. Đây là định dạng tập tin “không làm mất dữ liệu” của hình ảnh trong quá trình nén dữ liệu. Ưu điểm lớn nhất của TIFF là chất lượng ảnh sau khi nén PTITđược đảm bảo. Nhược điểm của file TIFF chính là dung lượng cồng kềnh. Do định dạng tập tin này lưu trữ toàn bộ thông tin của các pixel trong của bức ảnh gốc nên dung lượng của nó luôn lớn hơn rất nhiều nếu so với file JPEG. Điều này khiến việc lưu trữ file TIFF luôn tốn nhiều dung lượng bộ nhớ. c. PNG PNG (Portable Network Graphics) cũng là định dạng file bảo lưu dữ liệu, không làm mất chất lượng ảnh trong lưu trữ và nén file. Tương tự như file TIFF, hình ảnh định dạng PNG thích hợp để lưu trữ tư liệu lâu dài. Có thể người dùng thường không để ý thấy sự khác biệt nhỏ về file PNG: Định dạng file này thậm chí bảo lưu chất lượng dữ liệu nén còn vượt trội hơn file TIFF (file PNG nén cho ra dữ liệu với chất lượng cao hơn). PNG cũng là định dạng file được nhiều chương trình phần mềm xử lý ảnh hỗ trợ. d. GIF 54
  55. File GIF (Graphic Interface Format) là định dạng dữ liệu sử dụng rộng rãi trong đồ họa và thế giới ảnh số nhưng dạng file này không phù hợp để lưu trữ hình ảnh. Tập tin định dạng GIF bị giới hạn ở bảng màu 256 màu nên không thể cho ra hình ảnh chân thực của file dữ liệu gốc. Các gia thiết kế đồ họa thường dùng định dạng GIF để lưu logo hoặc các hình ảnh có ít màu sắc. Tương tự file JPEG, dung lượng nhỏ gọn khiến định dạng GIF là lựa chọn lý tưởng cho các ứng dụng web. Việc chọn định dạng file nào trong số nhiều định dạng tùy thuộc vào mục đích lưu trữ và sử dụng ảnh. Nếu lưu trữ tư liệu lâu dài, TIFF và PNG là lựa chọn số 1. Ngược lại, không ai muốn nhận một email đính kèm tập tin kềnh càng có thể gây treo máy hay làm tràn hộp thư với các định dạng này. Cho nên khi sử dụng online, các file nhỏ gọn hơn như định dạng JPEG lại là lựa chọn tốt hơn hẳn mặc dù JPEG không đảm bảo được chất lượng hình ảnh. Cách tốt nhất trong việc chọn lựa định dạng file ảnh chính là sử dụng linh hoạt các định dạng này bằng cách: - Lưu trữ bản chính của file ảnh bằng định dạng TIFF hoặc PNG trong một thư mục gốc. - Khi cần sử dụng cho các mục đích online như email, tải lên website các thao tác đòi hỏi tính chất nén nhỏ gọn của file ảnh, hãy copy từ tập tin ảnh gốc và lưu chuyển đổi thành định dạng JPEG rồi thao tác trên bản copy này. Việc kết hợp các định dạng file ảnh linh hoạt thế này sẽ giúp việc chia sẻ hay ứng dụng ảnh trên Internet nhanh gọn mà lại lưu trữ tư liệu ảnh an toàn đảm toàn chất lượng cao cho kho ảnh gốc. 2.4. Xử lý tín hiệu video 2.5. Tổng quan về xử lý tín hiệu video Quá trình xử lý video bắt đầu từ việc thu nhận các hình ảnh trong tự nhiên và lưu lại dưới dạng số để phục vụ cho việc xử lý tiếp theo. Trong thời đại công nghệ số như hiện nay, có rất nhiều thiết bị điện tử hPTITỗ trợ việc thu nhận hình ảnh video như máy ảnh, máy điện thoại, Đầu ra của quá trình thu nhận ảnh là dòng bit nhị phân biểu diễn chuỗi ảnh. Giả sử, hình ảnh video có kích thước 177 pixel x144 pixel, tốc độ ghi hình là 30 hình/giây. Để có thể lưu được một bộ phim dài 2 giờ với chất lượng hình ảnh là 24 bit/pixel (8 bit/1 kênh màu) thì ta cần tới bộ nhớ có dung lượng 120 Gb, tức là cần tới 180 đĩa CD-ROM dung lượng 750MB hoặc 26 đĩa DVD dung lượng 4,7GB. Việc cần tới nhiều dung lượng bộ nhớ như vậy gây ra sự bất tiện và chi phí lớn trong việc lưu trữ. Để hiệu quả hơn, tín hiệu sau thu nhận được đưa vào bộ mã hóa (encoder) để mã hóa và nén tín hiệu. Hiện nay có nhiều tiêu chuẩn mã hóa tín hiệu video được đưa ra tùy theo yêu cầu chất lượng của mỗi ứng dụng. Ví dụ, trong truyền hình hội nghị, việc truyền hình ảnh với chất lượng vừa phải nhưng dữ liệu truyền đi phải gọn nhẹ để đảm bảo tính thời gian thực thì tiêu chuẩn H.263 được lựa chọn. Trong khi đó, các ứng dụng truyền hình qua mạng internet yêu cầu chất lượng cao hơn và khả năng hỗ trợ cơ chế sửa lỗi thì tiêu chuẩn MPEG-2, MPEG-4 lại là sự lựa chọn hiệu quả. Tại phía thu, tín hiệu được giải nén và đưa vào các thiết bị phát hình để thực hiện trình chiếu. 55
  56. Thu nhận Mã hóa video hình ảnh Network Thu nhận Giải mã video hình ảnh Hình 2. 37: Sơ đồ khối xử lý tín hiệu video 2.6. Thu nhận hình ảnh video trong tự nhiên Hình ảnh video trong tự nhiên được tạo thành từ nhiều đối tượng với những đặc tính riêng biệt như hình dạng, màu sắc, bố cục (texture) v.v . Các đặc tính này được phân thành hai loại: (1) Đặc tính trong miền không gian bao gồm sự thay đổi về bố cục trong cùng một cảnh, số lượng, hình dạng và màu sắc của đối tượng, (2) Đặc tính trong miền tần số bao gồm sự chuyển động của đối tượng, sự thay đổi về độ sáng, chuyển động của máy quay, . Về bản chất, hình ảnh video trong tự nhiên được tạo nên từ sự thay đặc tính của các đối tượng trong ảnh một cách liên tục theo không gian và thời gian. Vì vậy, khi biểu diễn tín hiệu video dưới dạng số, hình ảnh sẽ được lấy mẫu theo không gian và theo thời gian. Video số chính là sự biểu diễn các mẫu tín hiệu đó dưới dạng số. Mỗi mẫu tín hiệu đó được đặc trưng bởi hai tham số: độ sáng và màu sắc. Để thu được một bức ảnh hai chiều, máy quay điều chỉnh tiêu cự của ống kính ngắm sao cho ảnh của đối tượng rơi đúng tiêu điểm của kính. Tại tiêu điểm của thấu kính người ta đặt một một mảng các phần tử bán dẫn có tác chuyển đổi tín hiệu quang thành tín hiệu điện (Charge Coupled Devices – CCD). Trong trường hợp ta muốn thu nhận ảnh màu, mỗi thành phần màu sẽ được lọc lấy và thuPTIT nhận trên một mảng CCD riêng. 2.6.1. Lấy mẫu theo không gian Tín hiệu ra của mảng CCD là các tín hiệu điện được biến đổi liên tục tỷ lệ thuận với sự biến đổi cường độ ánh sáng của hình ảnh ngoài tự nhiên. Khi chúng ta lấy mẫu các tín hiệu điện đó tại một thời điểm đồng nghĩa với việc ta tạo ra một bức ảnh (image) hay môt khung hình (frame). Tuy nhiên, thay vì việc chúng ta mô tả bức ảnh đó bằng màu sắc, cường độ sáng, thì giờ đây chúng ta mô tả bằng các mức tín hiệu điện. Nếu chúng ta giới hạn hình ảnh tự nhiên bên ngoài bởi một khung hình chữ nhật và dùng các đường song song chia hình chữ nhật đó theo chiều dọc và chiều ngang thì vì trí lấy mẫu là các điểm giao nhau của các đường đó. Ảnh sau lấy mẫu là tập hợp của giao điểm đó và được gọi là các phần tử ảnh (pixel). Như vậy nếu lấy mẫu càng nhiều điểm trên khung hình tự nhiên thì bức ảnh lấy mẫu càng giống với khung hình thật. Ngược lại, nếu các điểm lấy mẫu càng thưa thì bức ảnh lấy 56
  57. mẫu sẽ không giống với bức ảnh gốc vì bị mất nhiều thông tin. Hình 2.38 là ví dụ một bức ảnh với 2 lưới lấy mẫu khác nhau. Hình 2. 38: Lưới lấy mẫu ảnh HìnhPTIT 2. 39: Hình ảnh lấy mẫu thưa Hình 2. 40: Hình ảnh lấy mẫu dày 57
  58. Lưới lấy mẫu màu đen có các điểm lấy mẫu thưa sẽ cho ta bức ảnh có độ phân giải thấp (Hình 2.39). Lưới lấy mẫu màu trắng có các điểm lấy mẫu dày hơn cho ta bức ảnh có độ phân giải cao hơn (Hình 2.40). 2.6.2. Lấy mẫu theo thời gian Khung hình được lấy mẫu trong trường hợp trên là khung hình tĩnh và như vậy chúng ta sẽ không thấy được sự chuyển động của các đối tượng trong ảnh. Trong trường hợp muốn mô tả chuyển động của đối tượng, chúng ta phải phải lấy mẫu liên tục các khung hình tự nhiên tại các khoảng thời gian đều nhau. Sử dụng chuỗi khung hình sau lấy mẫu đó để trình chiếu ta sẽ tái tạo lại được sự chuyển động của các đối tượng trong ảnh. Việc lấy mẫu theo cách này được gọi là lấy mẫu theo thời gian. Số lần lấy mẫu trong một khoảng thời gian (frame rate) càng cao sẽ tạo cho người xem cảm nhận sự chuyển động của đối tượng trong video càng liên tục (smooth motion). Frame rate thấp (dưới 10 frame/giây) thường được sử dụng trong truyền thông có băng thông hạn chế vì khi đó dữ liệu video ít. Tuy nhiên chất lượng hình ảnh kém vì frame rate thấp tạo ra hiện tượng chuyển động của các đối tượng bị giật và hiện tượng răng cưa (jerky). Hiện tượng răng cưa là hiện tượng đường viền của các đối tượng trong ảnh có hình răng cưa. Frame rate trong khoảng từ 10 đến 20 frame/giây thường được sử dụng nhiều hơn trong truyền tín hiệu video tốc độ thấp. Khi đó, chuyển động của các đối tượng trong video sẽ liên tục hơn nhưng hiện tượng jerky vẫn xảy ra đối với các đối tượng chuyển động nhanh. Frame rate trong khoảng 25 đến 30 frame/giây là tiêu chuẩn trong truyền hình. Nếu frame rate trong khoảng 50 đến 60 frame/giây sẽ cho hình ảnh chất lượng cao. Tuy nhiên lúc này chi phí sẽ cao vì đòi hỏi đường truyền tốc độ cao để truyền hình ảnh video này. 2.6.3. Frame và Field Mỗi khung hình trong chuỗi hình ảnh video có thể được lấy mẫu theo một trong hai chế độ: toàn bộ (progressive) hoặc xen kẽ (interlace). Trong chế độ progressive, toàn bộ khung hình được lấy mẫu lần lượt từ trên xuống dưới và từ trái qua phải. Khi đó, toàn bộ các điểm lấy mẫu được gọi là một frame. Trong chế độ interlace, một frame được chia là 2 phần (field). Mỗi field bao gồm toàn bộ các dòng chẵn hoặc lẻ của frame. Ưu điểm của chế độ interlace là tốc độ field sẽ cao gấp hai lần so với tốc độ frame trong chế độ progressive và nó tạo cho người xem cảm giác chuyển độPTITng của đối tượng trong ảnh trở lên liên tục hơn. 2.7. Nguyên lý nén video Các nghiên cứu trước đây đã chỉ ra rằng giữa các frame trong chuỗi video và giữa các pixel trong cùng một frame có một mối tương quan nhất định. Dựa vào các mối tương quan này chúng ta có thể thực hiện việc nén tín hiệu video mà không làm ảnh hưởng tới độ phân giải của ảnh. Ngoài ra, khai thác đặc điểm của mắt người là kém nhạy cảm với một số thông tin hình ảnh theo không gian và thời gian nên có thể loại bỏ thông tin này trong quá trình nén. Đây chính là kỹ thuật nén tổn hao để tiết kiệm băng thông trong khi vẫn đảm bảo chất lượng video ở mức có thể chấp nhận được. Trong quá trình nén ảnh tĩnh, kỹ thuật nén sử dụng mối tương quan theo không gian giữa các pixel trong ảnh. Kỹ thuật này gọi là nén “trong ảnh” (Intraframe). Thuật ngữ này có hàm ý rằng trong quá trình nén ảnh, thông tin được sử dụng chỉ trong phạm vi nội tại bức ảnh 58
  59. đó. Đây là kỹ thuật cơ bản của chuẩn nén JPEG sẽ được giới thiệu trong phần sau. Trường hợp nếu mối tương quan theo thời gian được khai thác thì kỹ thuật nén được gọi là nén “ngoài ảnh” (Interframe). Khi đó thông tin được sử dụng để nén ảnh có thể nằm trên một bức ảnh trước hoặc sau trong chuỗi video. Đây là kỹ thuật được sử dụng trong các chuẩn nén video như H.261, H.263, MPEG -1, 2 và 4. Nguyên lý của việc nén video dựa trên các kỹ thuật giảm các dư thừa thông tin sau: - Dư thừa thông tin trong miền không gian (Spatial redundancy): Dư thừa thông tin trong miền không gian xuất hiện giữa các pixel trong cùng một khung hình (ví dụ sự tương đồng giữa các pixel). Thông tin dư thừa được loại bỏ bằng kỹ thuật mã hóa biến đổi (transform coding). - Dư thừa thông tin trong miền thời gian (Temporal redundancy): Loại thông tin dư thừa này xuất hiện khi giữa các khung ảnh liên tiếp có những thông tin tương đồng. Để giảm dư thừa này người ta dùng kỹ thuật mã hóa sự khác biệt giữa các frame. - Dư thừa thông tin trong dữ liệu ảnh sau khi nén: Để loại bỏ dư thừa này người ta dùng mã entropy, cụ thể là mã có độ dài thay đổi (Variable Lenth Coding). Chi tiết về các kỹ thuật nén ở trên sẽ được đề cập chi tiết ở các mục sau đây. 2.7.1. Kỹ thuật giảm dư thừa thông tin trong miền không gian a. Mã hóa bằng phương pháp dự đoán Tại thời điểm ban đầu, phương pháp giảm dư thông không gian được đưa ra dựa trên việc dự báo giá trị của các pixel hiện tại dựa vào giá trị của pixel đã được mã hóa trước đó. Phương pháp này được gọi là “Điều chế xung mã sai phân” (Differential Pulse Code Modulation – DPCM). Hình 2.41 mô tả sơ đồ khối của bộ mã hóa này. Theo sơ đồ, sự sai khác giữa giá trị của pixel hiện tại và giá trị dự đoán từ bộ dự đoán được lượng tử và mã hóa trước khi truyền đi. Tại phía giải mã, sự sai khác này được cộng với giá trị dự đoán từ bộ dự đoán để khôi phục lại giá trị đúng của pixel hiện tại. Trong trường hợp bộ lượng tử không được sử dụng thì kỹ thuật này được gọi là mã hóa không tổn hao (loss-less coding). Ảnh đầu Mã nhị vào Mã hóa phân PTITBộ lượng tử entropy + - + + Bộ dự đoán 59
  60. Mã nhị Ảnh được phân Giải mã + giải nén entropy + Bộ dự đoán Hình 2. 41: Sơ đồ khối của bộ CODEC DPCM trong xử lý video Bộ dự đoán cho kết quả tốt nhất nếu quá trình dự báo được dựa trên những giá trị của các pixel liền kề đã được mã hóa trước đó. Các pixel liền kề có thể nằm trong cùng frame (mã hóa nội ảnh) hoặc có thể nằm trong frame trước (mã hóa liên ảnh). Nếu bộ dự đoán sử dụng cả hai kỹ thuật trên thì được gọi là “mã hóa dự đoán lai” (Hybrid predictive coding). b. Mã hóa bằng phương pháp biến đổi Tương tự như trong mã hóa hình ảnh tĩnh, trong mã hóa tín hiệu video, biến đổi DCT cũng được sử dụng. Tuy nhiên, chúng ta lưu ý rằng phép biến đổi các giá trị từ miền không gian pixel sang miền không gian khác chưa phải là nén tín hiệu. Một khối 64 pixel qua phép biến đổi DCT ta thu được 64 hệ số DCT. Do tính trực giao của phép biến đổi, năng lượng trên cả hai miền pixel và miền không gian sau biến đổi đều bằng nhau. Tuy nhiên, phép biến đổi làm cho năng lượng của ảnh được tập trung chủ yếu trong vùng của các hệ số DCT gần với hệ số 1 chiều (vùng tần số thấp) trong khi phần lớn các hệ số khác mang năng lượng ít hơn. Hệ số DC có giá trị cao nhất. Các hệ số AC càng xa hệ số DC thì giá trị càng bé. Dựa vào đặc điểm của mắt người là ít nhạy cảm với các hình ảnh bị méo ở tần số cao nên bộ lượng tử được sử dụng nhằm loại bỏ đi các hệ số AC tại vùng tần số này. Hình 2.42 biểu diễn các giá trị đầu vào và đầu ra của bộ lượng tử. Như ta thấy, với các hệ số có giá trị nhỏ sau khi qua bộ lượng tử sẽ bị nén về mức 0. Đây chính là quá trình loại bỏ những hệ số DCT ở vùng tần số cao. Người ta chia bộ lượng tử ra làm hai loại: bộ lượng tử đồng nhất (Uniform quantiser – UTQ) và bộ lượng tử đồng nhất có dead zone (UTQ-DZ). Các hệ số DC của chế độ nén nội ảnh được lượng tử bởi UTQ trong khi các hệ số AC và hệ số DC của chế độ nén liên ảnh được lượng tử bởi UTQ-DZ. Lý do PTITlà UTQ-DZ làm cho nhiều hệ số AC trở thành giá trị 0 nên hệ số nén sẽ cao hơn. Giá trị sau lượng tử 3 2 1 Giá trị trước -3q -2q q lượng tử q 2q 3q -1 -2 -3 (a) 60