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 Xây dựng driver hỗ trợ cho player file MPEG T-Engine Phụ lục B: KHƠNG GIAN MÀU Khơng gian màu biểu diễn tốn học tập hợp màu Có không gian màu phổ biến sau RGB sử dụng đồ họa máy tính; YIQ, YUV YCbCr sử dụng hệ thống video; CMYK sử dụng màu in Tất khơng gian màu tính tốn từ không gian màu RGB B.1 Không gian màu RGB Trong ba màu hệ thống màu RGB mắt người có độ nhạy cảm màu green màu red sau màu blue (độ hấp thụ màu green red khoảng 5%, 30 lần so với màu blue) Lý thuyết ba màu định màu C tổ hợp ba màu red, green, blue: C= r R + g G + b B Trong đó: r, g b hệ số màu, ba đặc trưng màu Nếu hai màu C1 C2 riêng biệt trộn lại với lúc màu tổng hợp là: C1= r1 R + g1 G + b1 B C2= r2 R + g2 G + b2 B C1 + C2 = (r1+ r2) + (g1+g2)R + (b1+b2)B Không gian màu RGB lựa chọn phổ biến cho đồ họa máy tính màu sắc hiển thị sử dụng ba màu red, green, blue để tạo màu mong muốn Vì lựa chọn khơng gian màu RGB làm đơn giản hóa kiến trúc thiết kế hệ thống Tương tự, hệ thống thiết kế mà sử dụng khơng gian màu RGB thừa kế số lượng lớn phần mềm có, khơng gian màu sử dụng nhiều năm Tuy nhiên, không gian màu RGB khơng hiệu biểu diễn hình ảnh giới thực Tất ba thành phần RGB phải băng thông để tổng hợp màu hình lập phương màu RGB[4] Vì địi hỏi đệm chứa 133 Xây dựng driver hỗ trợ cho player file MPEG T-Engine khung hình có chiều dài điểm ảnh độ phân giải để hiển thị cho thành phần màu RGB Cũng tương tự vậy, trình xử lý màu khơng gian màu RGB thường phương pháp khơng hiệu Ví dụ để thay đổi cường độ màu sắc điểm ảnh, ba giá trị RGB phải đọc từ đệm chứa khung hình, cường độ màu sắc tính tốn, sửa đổi mong muốn thực hiện, giá trị RGB tính tốn ghi ngược trở lại đệm khung hình Nếu hệ thống truy cập hình ảnh lưu trữ trực tiếp cường độ màu sắc số bước tiến hành thực nhanh Vì lý nhiều chuẩn video sử dụng tín hiệu cường độ sáng (luma) màu sắc (chroma) khác đời Phổ biến không gian màu YUV, YIQ, YCbCr Mặc dù tất chúng liên quan đến nhau, có vài nét khác biệt đặc trưng B.2 Luminance chrominance Luminance có mối liên hệ gần gũi với độ cảm nhận độ sáng người, cịn chrominance có mối liên hệ gần gũi với độ cảm nhận màu Luminance tỷ lệ với lượng nguồn phát B.3 Sự cảm nhận độ sáng Sự cảm nhận độ sáng điều khiển số hệ số Theo luật Weber[4] cho độ rộng luminance Nếu vùng nguồn sáng luminance Y vùng lân cận luminance Y + ΔY, khác biệt tìm ΔY/Y gần 0.02 Luật Weber dùng để giải thích kết visual system vùng cảm nhận độ sáng số vật tĩnh độc lập với chiếu sáng Theo Cornsweet cảm nhận vùng sáng độc lập tỷ lệ với LogY Điều dẫn đến việc cảm nhận khác hai vùng sáng Y1 Y2 Log Y1-logY2 = logY1/Y2 cảm nhận độ sáng thay đổi xác định tỷ số hai độ sáng 134 Xây dựng driver hỗ trợ cho player file MPEG T-Engine Trong vùng hiển thị, cảm nhận độ sáng vùng thị phụ thuộc vào số thông số độ phản xạ ánh sáng phát sáng xung quanh vùng quan tâm Theo nghiên cứu Commission Internationale de I’Echlairage (CIE) thu nhận cảm nhận luminance gọi độ sáng (L*) liên quan đến luminance Y theo công thức thống kê sau: L* = 166 (Y/Yn)1/3 – 16 Y/Yn> 0.008856 L* = 903.3 (Y/Yn)1/3 trường hợp lại Trong : Yn màu trắng luminance B.4 Hiệu chỉnh gama Đặc điểm hệ thống nén hình B.1 gồm bốn phần tử bản: video camera, đơn vị hiệu chỉnh gama, đơn vị nén giải nén CRT Cùng với tác động qua lại phần tử với quan sát mắt quan sát não Như nói phần trước, quan sát visual system cảm nhận ánh sáng phát từ vùng biểu diễn khơng tuyến tính CRT tín hiệu nhập khơng tuyến tính tính hiệu suất luminance hàm số mũ Y ≈ Vγ Trong V tín hiệu nhập liên hệ hiệu điện γ số scene video camera gamma correction MPEG com/dec CRT eye brain Hình B.1 Sơ đồ hệ thống nén giải nén 135 Xây dựng driver hỗ trợ cho player file MPEG T-Engine B.5 Luma luminance hiệu chỉnh gamma Trong hệ thống video, hiệu chỉnh gamma cho màu red, green, blue (R', G' B') hệ số tỷ lệ nằm khoảng từ đến 1, bóng độ xám R' = G' = B' Khi R' = G' = B' =1 màu trắng, R' = G' = B' =0 màu đen Màu trắng thật đại lượng chuẩn vật phát sáng R', G' B' phân bố cho cảm nhận độ sáng, cần phải có trọng số tùy theo cảm nhận mắt cho màu Y= 0.299 R' + 0.587 G' +0.114 B' Trong Y luma, số mà có liên hệ gần với hiệu chỉnh gamma luminance B.6 Hệ thống màu YUV YCbCr Chroma Bây miêu tả độ màu màu ảnh Theo quan điểm định nghĩa hệ màu YUV màu có mối quan hệ sau: U’ = B’ – Y’ V’ = R’ – Y’ Để hiểu hệ màu YUV liên hệ với RGB nào, biểu diễn màu RGB giá trị ba R', G', B' ba tọa độ độc lập lập thành hình khối Ba mặt phẳng Y'=0.3, U'=0, V'=0 phát họa hình Grayscale giá trị xảy đường thẳng giao hai mặt phẳng U'=0 V'=0 điều xảy R'= G' = B' = Y' Các giá trị U' V' lớn nhỏ zero để miêu tả độ màu màu Những giá trị chrominance tính từ hiệu chỉnh gamma RGB gọi chroma Luminance giống cho hai hệ thống màu YUV YCbCr mối liên hệ Cb, Cr với U' V' sau: Cb = (U'/2) + 0.5 Cr = (V'/1.6) + 0.5 Nếu dùng bit để thể màu giá R', G' B' nằm khoảng từ đến 255 136 Xây dựng driver hỗ trợ cho player file MPEG T-Engine Một hệ màu khác dùng công nghiệp TV YIQ Luminance tính theo phần luma luminanece hiệu chỉnh I, Q tính sau: Q' = 0.41 (B'-Y') + 0.48 (R' -Y') I' = -0.27 (B'-Y') + 0.74 (R' -Y') 137 Xây dựng driver hỗ trợ cho player file MPEG T-Engine Phụ lục C: NGUYÊN LÝ MÃ HĨA FILE MPEG C.1 Ngun lý mã hóa Huffman Mã hóa bước cuối hệ thống nén ảnh dựa biến đổi DCT Phương pháp mã hóa Huffman phép mã hóa khơng làm thơng tin Phương pháp dựa mơ hình thống kê Dựa vào liệu gốc, người ta tính tần xuất hệ số Việc tính tần suất thực cách duyệt từ đầu khối đến cuối khối, sau đó, hệ số có tần suất cao gắn cho từ mã ngắn, hệ số có tần suất thấp gán từ mã dài Với cách thức chiều dài trung bình từ mã giảm xuống Các hệ số thu sau lượng tử hóa xếp thành chuỗi ký hiệu theo kiểu zigzag để đặt hệ số có tần số thấp lên trước hệ số tần số cao Các hệ số mã hóa dựa bảng mã Huffman cho chiều dài trung bình từ mã nhỏ Bảng mã đặt phần miêu tả ảnh để thực giải nén ảnh C.2 Mã hóa Hệ số DC I-Pictures Trong cơng thức C.1, mã hóa giá trị DC block liền kề, P dự đoán cho giá trị DC block tại, vi phân ΔDC thường gần không ΔDC = DC - P (C.1) Block cung cấp dùng dự đoán xác định thứ tự mã hóa block macroblock Hình C.1 cung cấp khung cho chuỗi mã hóa dự đốn Mã hóa vi phân ΔDC thực lớp kích thước bit thêm vào để xác định dấu độ xác khuyếch đại Lớp kích thước phụ thuộc vào từ mã luma chroma cho bảng C.1 138 Xây dựng driver hỗ trợ cho player file MPEG T-Engine DC … prediction Y1 Y2 Y1 Y2 Y3 Y4 Y3 Y4 DC … prediction Cb Cb DC … prediction Cr Cr … … … Hình C.1 Thứ tự mã hóa macroblock chuỗi dự đoán DC Y Code C Code size magnitude range 100 00 0 00 01 -1,1 01 10 -3…-2,2…3 101 110 -7…-4,4…7 110 1110 -15…-8,8…15 1110 11110 -31…-16,16…31 11110 111110 -63…-32,32…63 111110 1111110 -127…-64,64…127 1111110 11111110 -255…-128,128…255 Bảmg C.1 mã hóa DC cho luminance chrominance Lớp kích thước xác định số bit thêm vào cần thiết đủ để xác định vi phân DC Nếu kích thước bảng C.1 zero, vi phân DC zero ngược lại số bit thêm vào đến dịng liệu mã hóa cho kích thước Những bit cung cấp thêm thông tin để xác định đầy đủ dấu độ phóng đại 139 Xây dựng driver hỗ trợ cho player file MPEG T-Engine diference decimal size binary addition bits +5 …00101 101 +4 …00100 100 +3 …00011 11 +2 …00010 10 +1 …00001 1 …00000 - -1 …11111 -2 …11110 01 -3 …11101 00 -4 …11100 011 -5 …11011 010 Bảng C.2 Các ví dụ mã hóa vi phân DC Sự mã hóa giá trị vi phân làm giống JPEG Để mã hóa vi phân này, trước hết lớp kích thước xác định mã hóa Nếu giá trị vi phân âm, trừ một, sau thứ tự kích thước giảm vi phân thêm vào dòng liệu Bảng C.2 cho ta vài ví dụ C.3 Mã hóa Hệ số AC I-Pictures Mặc dù mã hóa hệ số độc lập với hệ số khác Vị trí hệ số mãn quan trọng Các hệ số đại diện cho tần số cao không gian gần không Trong hệ số tần số thấp thường khác khơng Để giải thích cho vấn đề hệ số xếp từ thấp đến cao theo tần số không gian theo xếp hình zigzag hình C.2 Mặc dù thứ tự zigzag có nhiều hệ số zero block 8x8, điều quan trọng để mã hóa hệ khối không kết hợp với hệ số không vào ký hiệu phức hợp 140 Xây dựng driver hỗ trợ cho player file MPEG T-Engine μ ν 10 20 21 35 11 19 22 34 36 12 18 23 33 37 48 13 17 24 32 38 47 49 14 16 25 31 39 46 50 57 15 26 30 40 45 51 56 58 27 29 41 44 52 55 59 62 28 42 43 53 54 60 61 63 Hình C.2 Thứ tự Zigzag hệ số DCT Một số ví dụ quan trọng ký hiệu phức hợp ký hiệu kết thúc khối (EOB) Ký hiệu EOB mã hóa tất hệ số có zero thứ tự DCT zigzag với từ mã đơn giản Đặc điểm EOB xảy trước điểm mãng gán bit mã Nếu hệ số mã hóa độc lập có khoảng 60 bit cần để mã hóa thông tin giống 132 0 0 132 0 -1 0 EOB 0 0 0 0 -1 0 0 0 ( b) 0 0 0 0 0 0 0 0 (132-P 2: -1 1:2 3:1 EOB 0 0 0 0 0 0 0 0 ( c) 0 0 0 0 (a) Hình C.3 Mã hóa kết thức khối MPEG Mã hóa EOB minh họa hình C.3 mã hóa bắt đầu với hệ số tần số thấp tiếp tục khơng cịn hệ số khác khơng giữ lại chuỗi zigzag Mã hóa khối kết thúc với mã kết thúc khối Mã kết thúc khối ngắn bit thuận lợi 141 Xây dựng driver hỗ trợ cho player file MPEG T-Engine Mỗi hệ số AC khác khơng mã hóa dùng cấu trúc ký hiệu run-level Run tham khảo đến hệ số không trước hệ số khác không Level tham khảo đến độ khuyếch đại hệ số khác khơng Hình C.3 minh họa cho vấn đề Phần đuôi mã hóa run-level bit s Chỉ mã dấu hệ số khác khơng Nếu s khơng hệ số dương ngược lại hệ số âm Mã AC MPEG miêu tả bảng C.3 có nhiều từ mã runlevel kết hợp với mối liên hệ run-level Ký hiệu kết thúc khối EOB bit Sự kết hợp chiều dài run level bảng mã mã escape theo sau bit mã cho chiều dài run 16 bit mã cho level Hai mã bảng run 0/ level bảng C.3 giống bit puzzling, thứ dùng mã này? Thứ hai mã nhị phân '1s' (trong s bit dấu hệ số khác không) không tranh chấp với mã kết thúc khối '01'? Điều làm tăng gấp đơi mục đích sử dụng bảng mã lên Nó thật bảng nhập vào Trong phần lớn trường hợp kết thúc khối xảy "next" dùng Tuy nhiên mã hóa khơng độc lập khối DCT zero mã hóa mức cao mã kết thúc không xảy trước mã "first run level" trường hợp nhãn "first" dùng Mã hóa nhãn "first" dùng mã hóa khơng độc lập Trường hợp mã hóa độc lập DC mã hóa riêng biệt mã kết thúc khối xảy trực tiếp khơng cần hệ số AC khác khơng giá trị đầu bảng '1s' không dùng tranh chấp với mã kết thúc khối EOB run/level 0/1 0/1 0/2 0/3 0/4 0/5 0/6 0/7 0/8 0/9 0/10 VLC 1s (first) 11s (next) 0100 s 0010 s 0010 110s 0010 0110 s 0010 0001 s 0000 0010 10s 0000 0001 1101 s 0000 0001 1000 s 0000 0001 0011 s 142 bits 9 11 13 13 13 Xây dựng driver hỗ trợ cho player file MPEG T-Engine 0/11 0/12 0/13 0/14 0/15 0/16 0/17 0/18 0/19 0/20 0/21 0/22 0/23 0/24 0/25 0/26 0/27 0/28 0/29 0/30 0/31 0/32 0/33 0/34 0/35 0/36 0/37 0/38 0/39 0/40 run/level 1/1 1/2 1/3 1/4 1/5 1/6 1/7 1/8 1/9 1/10 1/11 1/12 1/13 1/14 1/15 1/16 1/17 0000 0001 0000 s 0000 0000 1101 0s 0000 0000 1100 1s 0000 0000 1100 0s 0000 0000 1011 1s 0000 0000 0111 11s 0000 0000 0111 10s 0000 0000 0111 01s 0000 0000 0111 00s 0000 0000 0110 11s 0000 0000 0110 10s 0000 0000 0110 01s 0000 0000 0110 00s 0000 0000 0101 11s 0000 0000 0101 10s 0000 0000 0101 01s 0000 0000 0101 00s 0000 0000 0100 11s 0000 0000 0100 10s 0000 0000 0100 01s 0000 0000 0100 00s 0000 0000 0011 000s 0000 0000 0010 111s 0000 0000 0010 110s 0000 0000 0010 101s 0000 0000 0010 100s 0000 0000 0010 011s 0000 0000 0010 010s 0000 0000 0010 001s 0000 0000 0010 000s VLC 011s 0001 10s 0010 0101 s 0000 0011 00s 0000 0001 1011 s 0000 0000 1011 0s 0000 0000 1010 1s 0000 0000 0011 111s 0000 0000 0011 110s 0000 0000 0011 101s 0000 0000 0011 100s 0000 0000 0011 011s 0000 0000 0011 010s 0000 0000 0011 001s 0000 0000 0001 0011 s 0000 0000 0001 0010 s 0000 0000 0001 0001 s 143 13 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 Bits 11 13 14 14 16 16 16 16 16 16 16 17 17 17 Xây dựng driver hỗ trợ cho player file MPEG T-Engine 1/18 2/1 2/2 2/3 2/4 2/5 3/1 3/2 3/3 3/4 4/1 4/2 4/3 5/1 5/2 5/3 6/1 6/2 6/3 7/1 7/2 8/1 8/2 0000 0000 0001 0000 s 0101 s 0000 100s 0000 0010 11s 0000 0001 0100 s 0000 0000 1010 0s 0011 1s 0010 0100 s 0000 0001 1100 s 0000 0000 1001 1s 0011 0s 0000 0011 11s 0000 0001 0010 s 0001 11s 0000 0010 01s 0000 0000 1001 0s 0001 01s 0000 0001 1110 s 0000 0000 0001 0100 s 0001 00s 0000 0001 0101 s 0000 111s 0000 0001 0001 s run/level 9/1 9/2 10/1 10/2 11/1 11/2 12/1 12/2 13/1 13/2 14/1 14/2 15/1 15/2 16/1 16/2 17/1 18/1 19/1 20/1 21/1 22/1 23/1 24/1 VLC 0000 101s 0000 0000 1000 1s 0010 0111 s 0000 0000 1000 0s 0010 0011 s 0000 0000 0001 1010 s 0010 0010 s 0000 0000 0001 1001 s 0010 0000 s 0000 0000 0001 1000 s 0000 0011 10s 0000 0000 0001 0111 s 0000 0011 01s 0000 0000 0001 0110 s 0000 0010 00s 0000 0000 0001 0101 s 0000 0001 1111s 0000 0001 1010 s 0000 0001 1001 s 0000 0001 0111 s 0000 0001 0110 s 0000 0000 1111 1s 0000 0000 1111 0s 0000 0000 1110 1s 144 17 11 13 14 13 14 11 13 11 14 13 17 13 13 Bits 14 17 17 17 17 11 17 11 17 11 17 13 13 13 13 13 14 14 14 Xây dựng driver hỗ trợ cho player file MPEG T-Engine 25/1 26/1 27/1 28/1 29/1 30/1 31/1 end_of_block Escape 0000 0000 1110 0s 0000 0000 1101 1s 0000 0000 0001 1111 s 0000 0000 0001 1110 s 0000 0000 0001 1101 s 0000 0000 0001 1100 s 0000 0000 0001 1011 s 10 0000 01 14 14 17 17 17 17 17 Bảng C.3 Sự kết hợp mã hóa độ dài biến cho run-level C.4 Mã hóa P B-Pictures Thuộc tính độc DCT thực áp dụng cho mã hóa ảnh độc lập Ảnh khơng độc lập mã hóa từ dự đốn ảnh khác q trình dự đốn sử dụng nhiều liệu độc lập Một lý thật việc dùng DCT lượng tử hóa hệ số DC mã hóa P B-picture nhỏ Do giống mặt toán học với hệ số AC Dẫn đến việc mã hóa AC DC tích hợp thành tác vụ Mã hóa hệ số DCT P B picture tính từ chuỗi phân cấp macroblock zero mã hóa tăng địa macroblock Block zero macroblock khác zero mã hóa dùng mẫu bảng mã (cbp) Một biến bit mà bit phụ thuộc vào DCT trạng thái tích cực hồn tồn khơng Chiều dài biến mã hóa cho cbp có khả mã hóa cho block zero macroblock Khi cbp khơng điều khiển tăng địa macroblock macroblock bỏ qua Cuối block khác không mã hóa bảng mã C.3 dùng Trong bảng mã dòng cho run 0/level bỏ qua, áp dụng cho mã hóa hệ số AC mã hóa độc lập P B picture sử dụng hết bảng 145 Xây dựng driver hỗ trợ cho player file MPEG T-Engine Khi mã hóa first run-level, dòng đầu bảng run 0/level dùng Trong trường hợp mã kết thúc khối không xảy trước hệ số khác khơng mã hóa điều kiện block zero mã hóa mã cbp Sau mã kết thúc dòng thứ run /level dùng 146 Lý lịch trích ngang Họ tên: Trần Quốc Tuấn Sinh ngày 26 tháng 02 năm 1973 Cà Mau Địa liên lạc: Khóm 1, phường 1, Tp Cà Mau Email: t0918251825@yahoo.com QUÁ TRÌNH ĐÀO TẠO Tháng 09 năm 1992 học đại học trường đại học Tổng Hợp TP Hồ Chí Minh (nay đại học Khoa Học Tự Nhiên TP Hồ Chí Minh) Tháng năm 1996 tốt nghiệp Cử nhân khoa học vật lý chuyên ngành vật lý hạt nhân Tháng 09 năm 1996 học kỹ sư II ngành công nghệ thông tin trường đại học Bách Khoa TP Hồ Chí Minh Tháng 09 năm 1999 tốt nghiệp Kỹ sư Máy tính Tháng 09 năm 2005 học cao học ngành khoa học máy tính trường đại học Bách Khoa Tp Hồ Chí Minh Q TRÌNH CƠNG TÁC Tháng 11 năm 1999: Là nhân viên tin học công ty Cấp nước cơng trình thị Cà Mau ... 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