Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 164 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
164
Dung lượng
1,06 MB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA - TRẦN QUỐC TUẤN XÂY DỰNG DRIVER HỖ TR CHO PLAYER CÁC FILE MPEG TRÊN T-ENGINE Chuyên ngành: Khoa Học Máy Tính LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 11 năm 2007 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH Cán hướng dẫn khoa học: TS PHẠM TƯỜNG HẢI Cán chấm nhận xét 1: TS LÊ NGỌC MINH Cán chấm nhận xét 2: PGS-TS LÊ TIẾN THƯỜNG Luận văn thạc sĩ bảo vệ HỘI ĐỒNG CHẤM BẢO VỆ LUẬN VĂN THẠC SĨ TRƯỜNG ĐẠI HỌC BÁCH KHOA, ngày 22 tháng 02 năm 2008 ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc Tp HCM, ngày 05 tháng 11 năm 2007 NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Trần Quốc Tuấn .Giới tính: Nam ;/ Nữ Ngày, tháng, năm sinh: 26/02/1973 Nơi sinh: Cà Mau Chuyên ngành: Khoa học Máy tính Khóa: 2005 1- TÊN ĐỀ TÀI: Xây dựng driver hỗ trợ cho player file MPEG T-Engine 2- NHIỆM VỤ LUẬN VĂN: - Nghiên cứu tổng quan hệ thống nhúng cách lập trình hệ thống nhúng cụ thể kit SH7760 - Nghiên cứu cấu trúc file MPEG-2 phần video cách giải mã máy PC - Từ hai kết tìm cách xây dựng chương trình giải mã file MPEG cho hệ thống nhúng - Xây dựng demo giải mã file MPEG-2 phần video kit SH7760 3- NGÀY GIAO NHIỆM VỤ: 4- NGÀY HOÀN THÀNH NHIỆM VỤ: 5- HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS PHẠM TƯỜNG HẢI CÁN BỘ HƯỚNG DẪN (Họ tên chữ ký) CHỦ NHIỆM BỘ MÔN QUẢN LÝ CHUYÊN NGÀNH (Họ tên chữ ký) Nội dung đề cương Luận văn thạc sĩ Hội Đồng Chuyên Ngành thông qua TRƯỞNG PHÒNG ĐT-SĐH Ngày tháng năm 2008 TRƯỞNG KHOA QL NGÀNH Xây dựng driver hỗ trợ cho player file MPEG T-Engine TÓM TẮT Luận văn giới thiệu cách tổng quan hệ thống nhúng T-Engine, hệ thống có tính mở chuẩn hóa Hiện tảng cho việc phát triển hệ thống nhúng thời gian thực T-Engine giáo sư Ken Sakamura trường đại học Tokyo đưa với mục đích chuẩn hóa hệ thống nhúng Cùng với việc giới thiệu hệ thống nhúng luận văn giới thiệu cấu trúc file MPEG-2 file nén video chuẩn hóa, nguyên lý mã hóa giải mã file MPEG-2 Từ xây dựng driver hỗ trợ cho player file MPEG T-Engine xây dựng chương trình demo để playback file MPEG-2 phần video kit SH7760 công ty Renesas, làm tăng thêm chương trình ứng dụng hệ thống nhúng i Xây dựng driver hỗ trợ cho player file MPEG T-Engine ABSTRACT This theme introduces the general of T-Engine system, this system has the openness and standard And now it is the foundation for developing the real time embeded system The T-Engine has been given by professor Ken Sakamura in the Tokyo university for purposing the standard of embeded system And this theme introduces the structure of file MPEG-2 that files are compressed standard video and the principles of encodes and decodes that file About the result of embeded system and file MPEG-2, we has researched We constructed driver for player files MPEG on T-Engine and write a demo program to play file MPEG-2 video on the suit of the kit SH7760 of Renesas company We write that program to increase applications on embeded system ii Xây dựng driver hỗ trợ cho player file MPEG T-Engine MỤC LỤC trang Chương 1: GIỚI THIỆU Chương 2: CÁC CƠNG TRÌNH LIÊN QUAN Chương 3: T-ENGINE/SH7760 3.1 Tổng quan T-Engine 3.2 Kiến trúc phần cứng T-Engine SH7760 3.3 Kiến trúc phần mềm T-Engine SH7760 3.4 Tổng quan T-Kernel 3.5 Các hàm system call 3.5.1 Các hàm quản lý task 10 3.5.2 Đồng task-dependent 11 3.5.3 Xử lý ngoại lệ task 11 3.5.4 Đồng giao tiếp 12 3.5.4.1 Semaphore 12 3.5.4.2 Event flag 12 3.5.4.3 Mailbox 12 3.5.5 Đồng giao tiếp mở rộng 13 3.5.5.1 Mutex 13 3.5.5.2 Message buffer 13 3.5.5.3 Rendezvous port 13 3.5.6 Quản lý Memory Pool 14 3.5.6.1 Fixed size Memory pool 14 3.5.6.2 Variable-size Memory pool 14 3.5.7 Quản lý thời gian 15 3.5.7.1 Quản lý thời gian hệ thống 15 3.5.7.2 Trình xử lý Cyclic 15 3.5.7.3 Trình xử lý Alarm 15 3.5.8 Quản lý hệ thống 15 iii Xây dựng driver hỗ trợ cho player file MPEG T-Engine trang 3.5.9 Quản lý nhớ hệ thống 16 3.6 Tổng quan LCD T-Engine 16 3.7 Nguyên tắc hiển thị hình LCD 17 3.7.1 Bộ điều khiển hình LCD (LCDC) 17 3.7.2 Thông số f_addr (real RAM logical address) 17 3.7.3 Thông số v_addr (logical address for virtual RAM) 18 3.7.4 Cấu trúc v_addr f_addr 19 3.8 Cách vẽ liệu lên LCD 20 3.9 Một số kết vẽ ảnh lên hình LCD 21 3.9.1 Vẽ điểm ảnh dùng bảng màu chuẩn 24 bit kit SH7760 21 3.9.2 Vẽ điểm ảnh dùng bảng màu chuẩn 16 bit kit SH7760 22 Chương 4: CẤU TRÚC FILE MPEG VÀ CÁC GIẢI MÃ TRÊN MÁY PC 23 4.1 Giới thiệu file MPEG 23 4.2 Lớp hệ thống file MPEG 24 4.3 Một số thuật ngữ MPEG video 26 4.4 Cấu trúc file MPEG video cách giải mã 28 4.4.1 Lớp Video sequence 30 4.4.1.1 Hàm video_sequence() 30 4.4.1.2 Hàm sequence_header() 32 4.4.1.3 Hàm sequence_extension() 35 4.4.1.4 Hàm chọn lựa liệu mở rộng cho đoạn sequence 36 4.4.1.5 Hàm sequence_display_extension() 37 4.4.1.6 Hàm quant_matrix_extension() 40 4.4.1.7 Hàm picture_display_extension() 42 4.4.1.8 Hàm copyright_extension() 42 4.4.2 Lớp nhóm khung hình 43 4.4.2.1 Hàm group_of_pictures_header() 43 4.4.2.2 Hàm picture_data() 44 iv Xây dựng driver hỗ trợ cho player file MPEG T-Engine trang 4.4.3 Lớp khung hình 44 4.4.3.1 Hàm picture_header() 44 4.4.3.2 Hàm picture_coding_extension() 45 4.4.3.3 Hàm extension_and_user_data() 54 4.4.3.4 Hàm user_data() 55 4.4.4 Lớp slice 55 4.4.5 Lớp macroblock 56 4.4.5.1 Hàm macroblock() 56 4.4.5.2 Hàm macroblock_mode() 59 4.4.5.3 Hàm motion_vectors() 62 4.4.5.4 Hàm coded_block_pattern() 64 4.4.6 Mã hóa Block 64 4.5 Bù chuyển động 66 4.5.1 Dự đoán bù chuyển động P-picture 66 4.5.2 Dự đoán bù chuyển động B-picture 68 4.5.3 Sự phát sinh dịch chuyển chuyển động 69 4.5.4 Thành phần thành phần dư thừa độ dịch chuyển 71 4.5.5 Làm tròn số cho độ dịch chuyển chuyển động 72 4.5.6 Mã hóa giải mã vector chuyển động 72 4.5.6.1 Giải mã dịch chuyển chuyển động 73 4.5.6.2 Các vector chuyển động hướng tới 74 4.5.6.3 Các vector chuyển động hướng lui 75 4.5.6.4 P-picture B-picture vector chuyển động 75 4.5.6.5 Tính dịch chuyển cho Y C 76 4.5.7 Bù chuyển động MPEG-2 77 4.5.7.1 Các vector chuyển động MPEG-2 77 4.5.7.2 Dự đoán dual-prime MPEG-2 80 4.5.7.3 Dự đoán bù chuyển động 82 v Xây dựng driver hỗ trợ cho player file MPEG T-Engine trang 4.6 Xây dựng lại phần tử ảnh 82 4.6.1 Giải mã lượng tử hóa cho block độc lập 82 4.6.2 DC dự đoán macroblock độc lập 83 4.6.3 Giải mã lượng tử hóa cho block khơng độc lập 85 4.6.4 Sai lệnh IDCT đặc điểm IDCT theo chuẩn IEEE 86 4.6.5 Giới hạn việc gây lỗi 89 4.6.6 Xây dựng lại phần tử ảnh MPEG-2 89 4.6.6.1 Xây dựng lại block độc lập MPEG-2 90 4.6.6.2 Xây dựng lại block không độc lập MPEG-2 91 4.7 Tóm tắt q trình giải mã hiển thị hình ảnh video hình PC 92 4.8 Kết đạt máy PC 93 Chương 5: CHUYỂN CHƯƠNG TRÌNH GIẢI MÃ FILE MPEG TỪ MÁY PC SANG BỘ KIT SH7760 97 5.1 Cách chuyển đổi chương trình giải mã từ chương trình chạy máy PC sang kit SH7760 97 5.1.1 Task_main 98 5.1.2 Task_read MPEG 100 5.1.3 Task_show 100 5.1.4 Task_play audio 100 5.2 Những lỗi gặp phải chuyển đổi chương trình giải mã từ chương trình chạy máy PC sang kit SH7760 100 5.2.1 Sự không trùng khớp hai bảng màu hai thiết bị phần cứng 101 5.2.2 Lỗi tốc độ đọc nhớ lưu trữ liệu chậm 107 5.2.3 Lỗi chất lượng nén không phù hợp 108 5.2.4 Lỗi thu nhỏ ảnh 109 5.3 Những hiệu chỉnh để chương trình thực hiệu kit SH7760111 5.3.1 Xây dựng bảng màu sử dụng 16 bit 111 5.3.2 Chép điểm ảnh giải mã vào trực tiếp địa cần giải mã 114 vi Xây dựng driver hỗ trợ cho player file MPEG T-Engine 5.3.3 Playback file nén có kích thước, độ phân giải độ nén hợp lý116 5.4 Các kết đạt thực chương trình giải mã file MPEG kit SH7760 117 5.4.1 Chương trình thực theo chế vừa đọc vừa giải mã 117 5.4.2 Đọc tất liệu vào vùng đệm, sau vừa đọc vùng đệm vừa giải mã… 119 5.4.3 Đọc liệu từ file sau tách thành phần video audio riêng biệt vào file, sau giải mã hai file 120 5.4.4 Đọc liệu từ file sau tách thành phần video audio riêng biệt vào đệm, sau giải mã hai đệm 122 5.4.5 Đọc liệu từ file sau tách thành phần video audio riêng biệt vào đệm vòng, sau giải mã hai đệm Kết hợp với thời gian dư để đọc tiếp liệu vào hai đệm 123 KẾT LUẬN 126 TÀI LIỆU THAM KHẢO 127 Phục Lục A: BIẾN ĐỔI RỜI RẠC COSIN 128 A.1 Biến đổi thuận nghịch 128 A.2 Lượng tử hóa 129 A.2.1 Quy ước làm tròn số lượng tử hóa 130 A.2.2 Tỷ lệ bảng lượng tử hóa 130 A.2.3 Lượng tử hóa FDCT 131 A.2.4 Giải mã lượng tử IDCT 131 A.3 Sự sai lệch IDCT 132 Phụ lục B: KHÔNG GIAN MÀU 133 B.1 Không gian màu RGB 133 B.2 Luminance chrominance 134 B.3 Sự cảm nhận độ sáng 134 B.4 Hiệu chỉnh gama 135 B.5 Luma luminance hiệu chỉnh gamma 136 vii ... m? ?t thường khó thấy thay đổi Mục đích luận văn xây dựng driver hỗ trợ cho player file MPEG T- Engine Xây dựng demo ph? ?t lại file MPEG- 2 phần video kit SH7760 Xây dựng driver hỗ trợ cho player file. .. để t? ??o task (tk_cre_tsk), xóa task (tk_del_tsk), khởi động task (tk_sta_tsk), thay đổi độ ưu tiên task 10 Xây dựng driver hỗ trợ cho player file MPEG T- Engine (tk_chg_tsk), tham khảo trạng thái... trợ cho player file MPEG T- Engine Cụ thể thực demo playback file MPEG- 2 kit SH7760 Xây dựng driver hỗ trợ cho player file MPEG T- Engine Chương 3: T- ENGINE/ SH7760 3.1 T? ??ng quan T- Engine T- Engine