- Nghiên cứu thực hiện mô hình hóa kích thước khung frame size cùa các khung I/P/B sử dụng phương pháp phân nhóm clustering và tìm hiểu giải thuật phân nhóm mờ c-means fuzzy c-c-means cl
Trang 1KHOA ĐIỆN – ĐIỆN TỬ
ĐẶNG QUANG VINH
MÔ HÌNH HÓA VÀ PHÂN LOẠI LƯU LƯỢNG VIDEO VBR MPEG BẰNG PHƯƠNG PHÁP MỜ
Chuyên ngành: KỸ THUẬT VÔ TUYẾN-ĐIỆN TỬ Mã số ngành: 2.07.01
LUẬN VĂN THẠC SĨ
Thành phố Hồ Chí Minh, 07/2006
Trang 2Cán bộ hướng dẫn khoa học: PGS.TS LÊ TIẾN THƯỜNG
Trang 3Tp HCM, ngày 06 tháng 02 năm 2006
NHIỆM VỤ LUẬN VĂN THẠC SĨ
Họ tên học viên: ĐẶNG QUANG VINH Phái: Nam
Ngày, tháng, năm sinh: 28/06/1981 Nơi sinh: Long An
Chuyên ngành: Kỹ thuật Vô tuyến – Điện tử MSHV: 01403340
I- TÊN ĐỀ TÀI:
Mô hình hóa và phân loại lưu lượng video VBR MPEG bằng phương pháp mờ
II- NHIỆM VỤ VÀ NỘI DUNG:
- Tìm hiểu về chuẩn nén MPEG và lưu lượng video MPEG tốc độ thay đổi
- Tìm hiểu về tập mờ loại 2 (loại 2 fuzzy set) và hệ thống logic mờ loại 2 (loại 2 fuzzy
logic system)
- Nghiên cứu thực hiện mô hình hóa kích thước khung (frame size) cùa các khung I/P/B
sử dụng phương pháp phân nhóm (clustering) và tìm hiểu giải thuật phân nhóm mờ
c-means (fuzzy c-c-means clustering)
- Nghiên cứu bộ phân loại thống kê và bộ phân loại mờ, áp dụng cho lưu lượng video
MPEG
- Nghiên cứu dùng Matlab để mô hình lưu lượng video và mô phỏng các bộ phân loại
- Nghiên cứu về quá trình thiết kế phần cứng, ngôn ngữ VHDL, phần mềm Xilinx ISE,
board lập trình XUP Development System (FPGA Virtex-II Pro)
- Nghiên cứu hiện thực hóa bộ phân loại mờ loại 1 và loại 2 trên công nghệ FPGA
(Virtex – II Pro)
III- NGÀY GIAO NHIỆM VỤ : 06/02/2006
IV- NGÀY HOÀN THÀNH NHIỆM VỤ: 30/06/2006
V- CÁN BỘ HƯỚNG DẪN : PGS-TS LÊ TIẾN THƯỜNG
Trang 4LỜI CẢM ƠN
Tôi xin chân thành bày tỏ lòng biết ơn và kính trọng sâu sắc đến Thầy
PGS-TS Lê Tiến Thường và TS Hoàng Đình Chiến Thầy đã tận tình
hướng dẫn, tạo mọi điều kiện thuận lợi về tài liệu cũng như thiết bị để tôi hoàn thành luận văn thạc sĩ này
Tôi cũng xin chân thành cảm ơn quý thầy cô ở khoa Điện-Điện tử trường Đại học Bách khoa, là những người đã truyền đạt kiến thức, định hướng cho tôi trong suốt quá trình học tập và nghiên cứu sau đại học
Con xin cảm ơn ba, mẹ và gia đình đã tạo mọi điều kiện, ủng hộ và động viên con trong suốt quá trình học tập
Cuối cùng tôi xin cảm ơn tất cả bạn bè đã giúp đỡ trong suốt khóa học và trong quá trình thực hiện luận văn
Xin trân trọng ghi nhớ
Đặng Quang Vinh
Trang 5ABSTRACT
Multimedia services, among which are video services, are becoming the major
traffic sources in future broadband networks Video applications such as video on
demand, video teleconferencing, etc., involve storage and processing of massive
amounts of compressed video data So, to classify the compressed (such as MPEG)
video traffic directly without decompressing it will be an essential step for ensuring
the effectiveness of these systems
Researches exist for MPEG video traffic characteristic modeling and predicting
than for classification Most of previous researches on modeling and classifying
compressed video traffic mainly belonged to statistical model-based approaches
However, real variable bit rate (VBR) video traffic is highly bursty, and no
statistical model can really illustrate the uncertain nature of the I/P/B frames
Therefore, a method based on the fuzzy logic ( fuzzy logic systems are model free
and their membership functions are not based on statistical distributions) is
presented to model and classify MPEG (Moving Pictures Experts Group) VBR
video traffic A type-1 and type-2 fuzzy membership functions from the approach
are used to model I/P/B frame sizes in MPEG video stream It is shown that a type-2
membership function is the most suitable due to uncertain property of video traffic
The fuzzy c-means algorithm is utilized to achieve the means and the standard
deviations of I/P/B frame sizes in the case of unkown frame categories Five fuzzy
classifiers (type-1 singleton, tpe-1 nonsingleton, type-2 singleton, type-2
nonsingleton 1, type-2 nonsingleton 2) and Bayesian classifier are designed for
video product classification Then, obtained results from MATLAB simulation are
compared to determine the classifier with the best performance
Based on these results, the thesis also designs two of all classifers (type-1 singleton
classifier and type-2 singleton classifier) on XUP Virtex II Pro Development
System board of Xilinx (FPGA Virtex-II ProTM XC2VP30-FF896) for verifying the
output results in comparison with MATLAB based-simulation results
Keywords: Fuzzy classifier, Bayes classifier, fuzzy c-means, MPEG VBR video,
type-2 fuzzy logic system, FPGA, VHDL, floating point exponential function,…
Trang 6TÓM TẮT NỘI DUNG
Các dịch vụ đa phương tiện mà trong đó là video đang dần dần trở thành nguồn lưu lượng chính của mạng băng rộng trong tương lai Các ứng dụng như video theo yêu cầu, hội nghị video từ xa,… đòi hỏi lưu trữ và xử lý một lượng lớn dữ liệu video số nén Vì vậy, để phân loại lưu lượng video nén (ví dụ như MPEG) trực tiếp mà không cần giải nén là một bước quan trọng để đảm bảo hoat động hiệu quả cho các
hệ thống trên
Các công trình nghiên cứu trực tiếp đặc tính lưu lượng video nén MPEG chủ yếu về
mô hình hóa và dự đoán hơn là về phân loại Tất cả các phương pháp trước đây đều tiếp cận theo cách xử lý tín hiệu theo mô hình phân phối thống kê Tuy nhiên, lưu lượng video tốc độ bit biến đổi (variable bit rate - VBR) có tính đột biến cao và không có mô hình thống kê nào có thể thể hiện được bản chất không xác định của các khung I/P/B
Do đó, luận văn đưa ra một phương pháp mới dựa trên logic mờ (các hệ thống logic
mờ không phụ thuộc vào mô hình và các hàm thuộc của chúng không dựa vào các phân bố thống kê) để thực hiện mô hình hóa và phân loại lưu lượng video có tốc độ thay đổi nén theo chuẩn MPEG Luận văn sẽ chứng minh rằng hàm thuộc mờ loại 1
và loại 2 có thể dùng để mô hình hóa các kích thước khung I/P/B trong dòng video nén MPEG Trong đó, do tính chất bất định của dòng lưu lượng video nên hàm thuộc loại 2 là thích hợp nhất Giải thuật phân nhóm mờ c-means (fuzzy c-means) được sử dụng để nhận được giá trị trung bình và độ lệch chuẩn của các khung I/P/B khi loại của khung không được biết trước Năm bộ phân loại mờ (vạch-đơn loại 1, không-vạch-đơn loại 1, vạch-đơn loại 2, không-vạch-đơn-1 loại 2, không-vạch-đơn-
2 loại 2 ) và bộ phân loại kiểu Bayes được thiết kế để sử dụng cho việc phân loại Các kết quả mô phỏng MATLAB của các bộ phân loại sẽ được so sánh với nhau để tìm ra bộ phân loại cho chất lượng tốt nhất, thích hợp với bản chất bất định của lưu lượng video VBR MPEG
Dựa trên các kết quả này, luận văn cũng thực hiện thiết kế bộ phân loại mờ đơn loại 1 và bộ phân loại mờ vạch-đơn loại 2 trên board XUP Virtex II Pro Development System của hãng Xilinx (dùng chip FPGA Virtex-II ProTM XC2VP30-FF896) để kiểm chứng với kết quả mô phỏng trên môi trường MATLAB
vạch-Từ khóa: Fuzzy classifier, Bayes classifier, fuzzy c-means, MPEG VBR video,
type-2 fuzzy logic system, FPGA, VHDL, floating point exponential function,…
Trang 7MỤC LỤC
ABSTRACT i
TÓM TẮT NỘI DUNG ii
DANH SÁCH CÁC BẢNG vii
DANH SÁCH CÁC HÌNH viii
CÁC TỪ VIẾT TẮT xi
CHƯƠNG 1: GIỚI THIỆU 1
1.1 Đặt vấn đề 1
1.2 Tổng quan tình hình nghiên cứu 2
1.3 Mục tiêu, đối tượng và phạm vi nghiên cứu 3
1.3.1 Mục tiêu của đề tài 3
1.3.2 Đối tượng và phạm vi nghiên cứu 3
1.4 Nội dung nghiên cứu 3
1.5 Bố cục luận văn 4
1.6 Ý nghĩa đề tài 5
1.6.1 Ý nghĩa khoa học 5
1.6.2 Ý nghĩa kinh tế xã hội 6
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 7
2.1 Lưu lượng video MPEG 7
2.1.1 Tiêu chuẩn nén video MPEG 7
2.1.2 Các đặc tính thống kê của dòng MPEG 13
2.2 Logic mờ 20
2.2.1 Tập mờ và hàm thuộc 20
2.2.2 Các phép toán trên tập mờ 23
2.2.3 Luật hợp thành IF-THEN 24
2.2.4 Hệ thống logic mờ 26
2.2.5 Giải thuật phân nhóm fuzzy c-means 29
2.3 Logic mờ loại 2 30
Trang 82.3.1 Giới thiệu 30
2.3.2 Hệ thống logic mờ loại 2 31
2.3.3 Meet (giao) và join (hội) các tập mờ interval 32
2.3.4 Các hàm thuộc trên và dưới của hệ thống logic mờ loại 2 33
2.3.5 Hệ thống logic mờ loại 2 dạng khoảng 33
2.3.6 Giảm loại (type reduction) và giải mờ 35
2.3.7 Thiết kế hệ thống logic mờ loại 2 dạng khoảng bằng cách điều chỉnh 37
2.4 FPGA 39
2.4.1 Giới thiệu 39
2.4.2 Kiến trúc FPGA 40
2.4.3 Phát triển ứng dụng trên FPGA 43
2.4.4 Quá trình thực thi FPGA 44
CHƯƠNG 3: MÔ HÌNH HÓA CÁC KHUNG I/P/B TRONG LƯU LƯỢNG MPEG VBR 45
3.1 Mô hình hóa bằng phân nhóm có giám sát (supervised clustering) 45
3.2 Mô hình hóa bằng phân nhóm không giám sát (unsupervised clustering) 48
CHƯƠNG 4: CÁC BỘ PHÂN LOẠI CHO LƯU LƯỢNG VIDEO 53
4.1 Bộ phân loại mờ 53
4.1.1 Hệ thống logic mờ loại 1 vạch-đơn và không-vạch-đơn 53
4.1.2 Hệ thống logic mờ loại 2 vạch-đơn và không-vạch-đơn 54
4.2 Bộ phân loại kiểu Bayes 59
CHƯƠNG 5: MÔ PHỎNG BẲNG MATLAB 61
5.1 Thiết kế sáu bộ phân loại 61
5.1.1 Thiết kế bộ phân loại mờ loại 1 61
5.1.2 Thiết kế bộ phân loại mờ loại 2 63
5.1.3 Thiết kế bộ phân loại Bayes 64
5.2 Chương trình mô phỏng mô hình hóa và phân loại 65
5.2.1 Giao diện chương trình 65
5.2.2 Kết quả mô phỏng và đánh giá 68
Trang 9CHƯƠNG 6: THỰC HIỆN BỘ PHÂN LOẠI TRÊN PHẦN CỨNG FPGA 72
6.1 Tổng quát 72
6.2 Ngôn ngữ mô tả phần cứng (HDL) 72
6.2.1 Giới thiệu 72
6.2.2 Sơ đồ luồng thiết kế tổng quát với ngôn ngữ HDL 73
6.2.3 Thiết kế số với VHDL 77
6.3 Board XUP Virtex II Pro Development System 78
6.3.1 Các cores RocketIO/RocketIO X MGT 81
6.3.2 Khối xử lý PowerPC 405 81
6.3.3 Các khối Vào/Ra IOBs (Input/Output Blocks) 82
6.3.4 Các khối CLB (Configurable Logic Blocks) 82
6.3.5 Block SelectRAM+ tài nguyên 83
6.3.6 Các bộ nhân 18 x 18 bit 83
6.3.7 Bộ đệm ghép xung clock toàn cục 84
6.4 Phần mềm Xilinx ISE 85
6.4.1 Giới thiệu 85
6.4.2 Module tạo CORE 87
6.5 Thiết kế phần cứng cho bộ phân loại mờ 88
6.5.1 Mô hình tổng quát 89
6.5.2 Khối UART1 90
6.5.3 Khối UART2 91
6.5.4 Khối CENTRAL_UNIT 92
6.5.5 Khối Training_block 94
6.5.6 Khối Classifying_block 96
6.5.7 Khối RAM_BLOCK 106
6.5.8 Tổng hợp thiết kế 106
6.5.9 Đánh giá kết quả thực thi phần cứng 108
CHƯƠNG 7: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 113
7.1 Kết quả của đề tài 113
Trang 107.2 Đánh giá kết quả và hướng phát triển của đề tài 114
TÀI LIỆU THAM KHẢO 115
PHỤ LỤC I
A Số thực dấu chấm động (dạng 32 bit) I
7.2.1 A.1 Biểu diễn theo chuẩn IEEE 754 I
7.2.2 A.2 Phép cộng hai số thực cùng dấu II
A.3 Phép cộng hai số thực trái dấu IV
7.2.3 A.4 Phép nhân hai số thực V
7.2.4 A.5 Phép chia hai số thực VI
B Tính toán hàm mũ dùng số thực dấu chấm động VII
7.2.5 B.1 Giới thiệu VII
7.2.6 B.2 Mô tả giải thuật VII
LÝ LỊCH TRÍCH NGANG X
Trang 11DANH SÁCH CÁC BẢNG
Bảng 2.1 Các lớp của cấu trúc dòng bit video MPEG 11 Bảng 3.1 Giá trị trung bình và độ lệch chuẩn cho 8 đoạn và toàn bộ lưu lượng video
lambs, và độ lệch chuẩn chuẩn hóa của chúng 45
Bảng 3.2 Giá trị trung bình và độ lệch chuẩn cho 8 đoạn và toàn bộ lưu lượng video
atp, và độ lệch chuẩn chuẩn hóa của chúng 46
Bảng 3.3 Giá trị trung bình và độ lệch chuẩn cho 8 đoạn và toàn bộ lưu lượng video
talk2, và độ lệch chuẩn chuẩn hóa của chúng 47
Bảng 3.4 Giá trị trung bình và độ lệch chuẩn cho 8 đoạn và toàn bộ lưu lượng video
mtv2, và độ lệch chuẩn chuẩn hóa của chúng 47
Bảng 5.1 FAR của sáu bộ phân loại trong thí nghiệm 1 (in-product testing) 69
Bảng 5.2 FAR của sáu bộ phân loại trong thí nghiệm 2 (out-of-product testing) 70
Bảng 6.1 Các thông số cho họ Virtex-II Pro XC2VP30-FF896 81
Trang 12DANH SÁCH CÁC HÌNH
Hình 2.1 Mã hóa trong ảnh 8
Hình 2.2 Mẫu Group of Pictures (GOP) 10
Hình 2.3 Kiến trúc dòng video MPEG 12
Hình 2.4 Cấu trúc số liệu nén ảnh MPEG 12
Hình 2.5 dino (2.5a, 2.5b, 2.5c) và starwars (2.5d, 2.5e, 2.5f) 15
Hình 2.6 atp (2.6a, 2.6b,2.6c) và race (2.6d, 2.6e,2.6f) 16
Hình 2.7 talk2 (2.7a, 2.7b, 2.7c) and news2 (2.7d, 2.7e, 2.7f) 17
Hình 2.8 mtv1 (2.8a, 2.8b, 2.8c) and mtv2 (2.8d, 2.8e, 2.8f) 18
Hình 2.9 Khung I 19
Hình 2.10 Khung P 19
Hình 2.11 Khung B 20
Hình 2.12 Hàm thuộc của 3 tập mờ âm,zero, dương 21
Hình 2.13 Sơ đồ khối hệ thống logic mờ 26
Hình 2.14 Mô hình hệ suy diễn mờ Mamdani 28
Hình 2.15 Kiến trúc tổng quát của một FPGA 41
Hình 2.16 Cấu trúc một khối CLB của hãng Xilinx 42
Hình 2.17 Kiến trúc khối I/O trên FPGA của hãng Xilinx 42
Hình 2.18 Quá trình thực thi FPGA 44
Hình 3.1 Hàm thuộc loại 2 dạng Gauss 49
Hình 3.2 Phân nhóm giám sát và FCM cho 6000 frame đầu tiên của 16 sản phẩm video: (a) (b) (c) là giá trị trung bình của các kích thước frame I, P, và B (log (bits/frame)) tương ứng .50
Hình 3.3 Phân nhóm giám sát và FCM cho 6000 frame đầu tiên của 16 sản phẩm video: (a) (b) (c) là độ lệch chuẩn của các kích thước frame I, P, và B (log(bits/frame)) tương ứng 52
Hình 4.1 Hàm thuộc loại 2 Gauss của tập mờ ngõ vào và mệnh đề điều kiện 57
Hình 5.1 Giao diện chính của chương trình mô phỏng 65
Trang 13Hình 5.2 Giao diện thực hiện khảo sát mô hình hóa lưu lượng video MPEG 66
Hình 5.3 Giao diện đánh giá kết quả các bộ phân loại 67
Hình 5.4 Giao diện so sánh kết quả giữa mô phỏng và thực thi phần cứng 68
Hình 6.1 Sơ đồ luồng thiết kế phần cứng tổng quát 74
Hình 6.2 Quá trình tổng hợp trong thiết kế phần cứng bằng VHDL 75
Hình 6.3 Mô tả mức chuyển thanh ghi 76
Hình 6.4 Các bước tổng hợp mô tả VHDL RTL 77
Hình 6.5 Board XUP Virtex II Pro Development System 79
Hình 6.6 Sơ đồ khối board XUP Virtex II Pro Development System 80
Hình 6.7 Kiến trúc tổng quát của Virtex-II Pro 80
Hình 6.8 Kiến trúc khối xử lý 81
Hình 6.9 Sơ đồ I/O Virtex-II Pro 82
Hình 6.10 Phần tử CLB của Virtex-II Pro 82
Hình 6.11 Cấu hình slice Virtex-II Pro 83
Hình 6.12 Khối nhân của Virtex-II Pro 83
Hình 6.13 Khối nhân và khối BSR+Memory 84
Hình 6.14 Phân phối clock của Virtex-II Pro 84
Hình 6.15 Các công cụ trong CAD FPGA của Xilinx 86
Hình 6.16 Giao diện Project Navigator 87
Hình 6.17 Chương trình tạo core bộ nhớ ROM 88
Hình 6.18 Mô hình thực hiện phần cứng 89
Hình 6.19 Sơ đồ khối của hệ thống phân loại 89
Hình 6.20 Sơ đồ máy trạng thái của khối UART1 91
Hình 6.21 Khối giao tiếp UART1 và UART2 91
Hình 6.22 Sơ đồ máy trạng thái của khối UART2 92
Hình 6.23 Khối điều khiển CENTRAL_UNIT 92
Hình 6.24 Sơ đồ máy trạng thái của khối CENTRAL_UNIT 93
Hình 6.25 Sơ đồ máy trạng thái của khối Training_block (type-1 SFC) 95
Hình 6.26 Sơ đồ máy trạng thái của khối Training_block (type-2 SFC) 95
Trang 14Hình 6.27 Khối Training_block và khối Classifying_block 96
Hình 6.28 Kiến trúc thiết kế của khối classifying_block 96
Hình 6.29 Sơ đồ máy trạng thái của khối cpu (type-1 SFC) 97
Hình 6.30 Mô hình hoạt động quá trình mờ hóa 98
Hình 6.31 Lưu đồ giải thuật của khối fuzzification (type-1 SFC và type-2 SFC) 98
Hình 6.32 Mô hình hoạt động của quá trình suy diễn và giải mờ 99
Hình 6.33 Lưu đồ giải thuật cho khối defuzzification (type-1 SFC) 99
Hình 6.34 Lưu đồ giải thuật cho khối defuzzification (type-2 SFC) 100
Hình 6.35 Khối input_3 101
Hình 6.36 Sơ đồ máy trạng thái của khối input_3 101
Hình 6.37 Khối mux_in 102
Hình 6.38 Khối demux_out (type-1 SFC) 103
Hình 6.39 Khối demux_out (type-2 SFC) 103
Hình 6.40 Khối output_32bit 103
Hình 6.41 Sơ đồ máy trạng thái của khối output_32bit 104
Hình 6.42 Khối comp_block 105
Hình 6.43 Khối exponential_func 105
Hình 6.44 Sơ đồ mạch của khối exponential_func 105
Hình 6.45 Khối mạch chốt latch 106
Hình 6.46 Khối RAM_BLOCK 106
Hình 6.47 Sơ đồ mạch thiết kế hoàn chỉnh 110
Hình 6.48 Sơ đồ mạch của khối classifying_block bộ phân loại mờ loại 1 vạch-đơn .111
Hình 6.49 Sơ đồ mạch của khối classifying_block bộ phân loại mờ loại 2 vạch-đơn .112
Trang 15CÁC TỪ VIẾT TẮT
ACE Advanced Configuration Environment
ARMA Process Autoregressive Moving-Average Process
ASIC Application Specific Integrated Circuit
ATM Asynchronous Transfer Mode
B frame khung B (Bi-directional)
BSR Block Select RAM
CAD Computer Aided Design
CCITT Comité Consultatif International
Téléphonique et Télégraphique CD-ROM Compact Disc-Read-Only Memory
CF Compact Flash
CLB Configurable Logic Block
CM Confusion Matrix
DCI Digitally Controlled Impedance
DCM Digital Clock Manager
DCT Discrete Cosine Transform
DDR Double Data Rate
DIMM Dual In-line Memory Module
FAR False Alarm Rate
FBF Fuzzy Basis Function
FCM Fuzzy c-means
FLS Fuzzy Logic System
FPGA Field Programmable Gate Array
Trang 16GOP Group of Pictures
HDL Hardware Description Language
I frame Khung Intra
IC Integrated Circuit
I/O Input/Output
IOB Input/Output Block
ISE Integrated Software Environment
JPEG Joint Photographic Experts Group
LC logic cell
LUT Look Up Table
MF membership function
MGT Multi-Gigabit
MLE Maximum Likelihood Estimator
MPEG Moving Picture Experts Group
MPGA Mask Programmable Gate Array
NTSC National Television System(s) Committee
P frame khung Predictive
PLA Programmable Logic Array
PLD Programmable Logic Device
PROM Programmable Read-Only Memory
RAM Random Access Memory
RISC Reduced Instruction Set Computer
ROM Read-Only Memory
RTL Register Transfer Level
SATA Serial Advanced Technology Attachment
SoC Systems On Chip
Trang 17SRAM Static Random Access Memory
UNI User Network Interface
USB Universal Serial Bus
VBR Variable Bit Rate
VHDL VHSIC Hardware Description Language
VHSIC Very High Speed Integrated Circuits
VLSI Very Lage Scale Integration
XUP Xilinx University Program
Trang 18CHƯƠNG 1: GIỚI THIỆU
1.1 Đặt vấn đề
Công nghệ multimedia đã tạo ra nhiều thay đổi về cách truy cập thông tin, quản lý
kinh doanh, trao đổi thông tin, giáo dục, học tập và cả giải trí Trong số nhiều loại
dịch vụ multimedia, dịch vụ video đang trở thành một thành phần quan trọng Các
dịch vụ video được mong chờ trở thành nguồn lưu lượng chính của mạng băng rộng
trong tương lai [26] Các ứng dụng video như video theo yêu cầu (video on
demand), hệ thống giám sát tự động, cơ sở dữ liệu video, hội nghị video từ xa,…
đòi hỏi lưu trữ và xử lý dữ liệu video Đa số các ứng dụng này hoạt động dựa vào
việc khôi phục dữ liệu video theo nội dung, nhưng tổng quát, bất kỳ mô hình khôi
phục nội dung nào cũng phải có khả năng xử lý một lượng lớn dữ liệu [5] Ví dụ,
làm thế nào để một người tìm ra đọan clip “Chung kết World Cup 1994” từ một
trung tâm lưu trữ video chứa một lượng khổng lồ các sản phẩm video đủ thể loại
Video số thường được nén bằng cách sử dụng bản chất dư thừa vốn có trong các
ảnh động Vì vậy, để phân loại lưu lượng video nén (ví dụ MPEG) trực tiếp mà
không cần giải nén là một bước quan trọng để đảm bảo tính hiệu quả của các hệ
thống trên
Hầu hết các công trình nghiên cứu về phân loại video đều thuộc về các phương
pháp dựa trên nội dung, tức là sử dụng những thông tin không gian sau khi giải nén
chuỗi video [5] Những nghiên cứu về phân loại lưu lượng video thời gian thực còn
rất ít, bởi vì:
• Lưu lượng video là mã nén và có rất ít thông tin có sẵn cho việc phân loại
(thông tin duy nhất có thể sử dụng là thông tin về thời gian của lưu lượng
video); và
• Lưu lượng video có độ biến động cao và thể hiện tính không xác định
Các công trình nghiên cứu trực tiếp trên đặc tính lưu lượng video nén MPEG chủ
yếu thiên về mô hình hóa và dự đoán hơn là về phân loại (như sẽ trình bày ở phần
2) Tất cả các phương pháp đều tiếp cận theo cách xử lý tín hiệu thống kê, cố gắng
làm giá trị trung bình và phương sai phù hợp với một phân phối thống kê đã biết
Những công trình này giúp chúng ta có sự hiểu biết về đặc tính của các lưu lượng
video khác nhau để những đặc tính này có thể được sử dụng cho việc phân loại
Tuy nhiên, xử lý thống kê tín hiệu theo mô hình có khuyết điểm là mô hình xác suất
giả định của phương pháp này sẽ có giá trị nếu dữ liệu phù hợp với mô hình, nhưng
Trang 19có thể không tốt nếu dữ liệu không phù hợp Trong khi đó, lưu lượng video tốc độ
bit biến đổi (variable bit rate - VBR) có tính đột biến cao và không có mô hình
thống kê nào có thể thể hiện được bản chất không xác định của các khung I/P/B
Các hệ thống logic mờ không phụ thuộc vào mô hình và các hàm thuộc của chúng
không dựa vào các phân bố thống kê Vì vậy, trong luận văn này tôi sẽ áp dụng
logic mờ cho việc mô hình và phân loại lưu lượng video MPEG
1.2 Tổng quan tình hình nghiên cứu
Patel và Sethi [20] đã đưa ra bộ phân loại cây quyết định (decision tree classifier)
để phát hiện và đặc tính hóa đoạn video bằng cách khảo sát trực tiếp video nén Để
phát hiện đoạn video, họ dùng phương pháp so sánh histogram cường độ, cột và
dòng của các khung I liên tiếp của video MPEG sử dụng kiểm tra χ-bình phương
Để đặc tính hóa các đoạn video, họ phân các chuyển động vào các loại khác nhau sử
dụng một tập hợp các đặc tính rút ra từ các vector chuyển động của khung P và B
trong video MPEG
Các công trình nghiên cứu tập trung vào mô hình và dự đoán đặc tính lưu lượng
video tương đối nhiều hơn là vào việc phân loại:
Dawood và Ghanbari [3], [4] sử dụng nhãn ngôn ngữ để mô hình lưu lượng video
MPEG và phân chúng thành chín nhóm dựa vào tính phức tạp của kết cấu và
chuyển động Họ sử dụng các giá trị rõ nhận từ giá trị trung bình của các chuỗi
video mẫu huấn luyện để xác định kết cấu và chuyển động thấp, trung bình và cao
Chang và Hu [2] nghiên cứu ứng dụng mạng nơron lan truyền hồi quy (pipelined
recurrent) để dự đoán và mô hình lưu lượng video MPEG Các ảnh I, P, B được đặc
tính hóa bởi quá trình ARMA phi tuyến tổng quát
Pancha và những người khác [21] nhận xét rằng phân bố γ phù hợp với phân bố
thống kê của số lượng bit/frame trong lưu lượng video tốc độ thấp
Heyman và những người khác [10] đã chứng minh rằng số bit/frame của khung I
phân bố theo luật logairt tự nhiên và hàm tự tương quan của nó có dạng hình học, và
họ cũng kết luận rằng không có phân bố cụ thể phù hợp với các khung P và B
Tuy nhiên, Krunz và cộng sự [13] thấy rằng phân bố logairt tự nhiên là phân bố
thích hợp nhất cho cả 3 loại khung
Gần đây, Krunz và Makowski [14] nhận xét rằng mô hình ngõ vào vào M/G/∞ là
một ứng viên thích hợp để mô hình nhiều loại lưu lượng tương quan (trong đó có
lưu lượng video) trong các mạng máy tính
Trang 20Một khảo sát những tiến bộ gần đây trong logic mờ áp dụng vào mạng viễn thông
[9] cho thấy rằng logic mờ có nhiều triển vọng cho nhiều lĩnh vực của mạng thông
tin Tsang, Bensaou, và Lam [26] đã đưa ra cơ chế điều khiển tốc độ video MPEG
dựa trên kỹ thuật mờ để tránh trì hoãn và mất gói tại giao diện UNI (User-Network
Interface) trong mạng ATM (Asynchronous Transfer Mode) Gần đây, các bộ phân
loại dùng logic mờ theo luật hợp thành được báo cáo trong [15], nhưng đều là các
thiết kế mờ loại 1 (loại 1) Bởi vì tính không xác định trong mô hình và phân loại
lưu lượng video nên tôi sẽ sử dụng logic mờ loại 2 (loại 2 fuzzy logic) và so sánh
các kết quả phân loại nhận được từ cả hai bộ phân loại loại 1 và loại 2
Trong phần tiếp theo của luận văn, tôi sẽ giới thiệu về lưu lượng video MPEG; tập
mờ loại 2; mô hình kích thước khung I/P/B sử dụng phân nhóm giám sát và không
giám sát, tiếp theo là các bộ phân loại mờ cùng với bộ phân loại Bayes Cuối cùng
là phần đánh giá chất lượng của các bộ phân loại bằng mô phỏng trên Matlab và
thực hiện trên FPGA
1.3 Mục tiêu, đối tượng và phạm vi nghiên cứu
1.3.1 Mục tiêu của đề tài
Mục tiêu của đề tài là nghiên cứu hệ thống logic mờ để phục vụ cho việc mô hình
hóa và phân loại lưu lượng video MPEG Từ đó thực hiện mô phỏng trên nền
Matlab và kiểm chứng lại kết quả mô phỏng trên phần cứng FPGA
1.3.2 Đối tượng và phạm vi nghiên cứu
Đề tài chỉ giới hạn trong phạm vi nghiên cứu và mô phỏng hệ thống logic mờ loại 2
khoảng cách (interval), nghĩa là hàm thuộc phụ của tập mờ là tập khoảng cách Đề
tài không sử dụng hệ thống logic mờ loại 2 tổng quát vì tập mờ loại 2 tổng quát có
rất phức tạp trong tính toán và tập mờ loại 2 khoảng cách gần gũi với tính chất bất
định của các sự kiện trong thực tế [16]
Mô hình phần cứng trên FPGA chỉ tập trung vào thiết kế hai bộ phân loại mờ loại 1
vạch-đơn và loại 2 vạch-đơn Phần mô hình hóa lưu lượng video được thực hiện
trên Matlab Hệ thống không khảo sát trực tiếp trên dòng video MPEG thực mà chỉ
chỉ khảo sát trên các đoạn video trace (chứa các thông tin số bits/khung của mỗi
khung trong dòng video MPEG, những thông tin này có thể lấy được từ phần mềm
mã hóa MPEG-1 của Đại học Berkeley)
1.4 Nội dung nghiên cứu
• Tìm hiểu về chuẩn nén MPEG và lưu lượng video MPEG tốc độ thay đổi
Trang 21• Tìm hiểu về tập mờ loại 2 (type-2 fuzzy set) và hệ thống logic mờ loại 2
(type-2 fuzzy logic system)
• Nghiên cứu thực hiện mô hình hóa kích thước khung (frame size) của các
khung I/P/B sử dụng phương pháp phân nhóm (clustering) và tìm hiểu giải
thuật phân nhóm mờ c-means (fuzzy c-means clustering)
• Bộ phân loại thống kê Bayes và bộ phân loại mờ; áp dụng cho lưu lượng
video MPEG
• Nghiên cứu dùng Matlab để mô hình lưu lượng video và mô phỏng các bộ
phân loại
• Nghiên cứu về quá trình thiết kế phần cứng: ngôn ngữ VHDL, phần mềm
Xilinx ISE, board lập trình XUP Development System (FPGA Virtex-II Pro)
• Hiện thực hóa bộ phân loại mờ loại 1 và loại 2 trên chip FPGA Virtex - II
Pro
1.5 Bố cục luận văn
Nội dung của luận văn được chia thành 7 chương như sau:
Chương 1: Giới thiệu
Chương này trình bày lí do thực hiện đề tài, mục tiêu, đối tượng và phạm vi nghiên
cứu; giới thiệu tổng quan tình hình nghiên cứu liên quan đến đề tài, nội dung nghiên
cứu cũng như ý nghĩa khoa học và ý nghĩa thực tiễn của đề tài
Chương 2: Cơ sở lý thuyết
Chương 2 trình bày các lý thuyết cơ sở liên quan đến việc thực hiện đề tài bao gồm
các lý thuyết về lưu lượng video MPEG, lý thuyết cơ bản của logic mờ loại 1, logic
mờ loại 2 (hệ thống logic mờ loại 2 tổng quát và hệ thống logic mờ loại 2 interval),
về giải thuật phân nhóm mờ fuzzy c-means Tiếp theo là các khái niệm cơ bản về
công nghệ FPGA gồm kiến trúc, quá trình phát triển các ứng dụng trên FPGA và
quá trình thực thi FPGA
Chương 3: Mô hình hóa các khung I/P/B
Chưong này trình bày hai phương pháp phân nhóm có giám sát (supervised
clustering) và phương pháp phân nhóm không giám sát (unsupervised clustering) để
mô hình các khung I/P/B trong dòng video MPEG Cả hai phương pháp đểu bỏ qua
thứ thự thời gian của mỗi khung và biểu diễn histogram của các kích thước khung
Trang 22I/P/B sử dụng ba tập mờ Đề tài sẽ chứng minh một hàm thuộc mờ loại 2 rất thích
hợp để mô hình cho số bit/khung trong lưu lượng video tốc độ bit biến đổi MPEG
Chương 4: Các bộ phân loại mờ cho lưu lương video
Nội dung của chương 4 tập trung vào trình bày năm hệ thống logic mờ bao gồm: hệ
thống logic mờ loại 1 vạch-đơn, hệ thống logic mờ loại 1 không-vạch-đơn, hệ thống
logic mờ loại 2 vạch-đơn, hệ thống logic mờ loại 2 không-vạch-đơn (tín hiệu vào
được mờ hóa thành tập mờ loại 1 và loại 2) Năm hệ thống này sẽ được sử dụng như
năm hệ thống phân loại mờ ở các chương sau Chương này cũng trình bày bộ phân
loại kiểu Bayes để so sánh với bộ phân loại mờ
Chương 5: Mô phỏng bằng Matlab
Trình bày phần thiết kế chi tiết các bộ phân loại mờ và Bayes dùng trong luận văn
gồm tín hiệu vào, tập cơ sở luật hợp thành Tiếp theo là phần chưong trình thực hiện
mô phỏng trên Matlab, mô phỏng mô hình hóa và phân loại lưu lượng video MPEG
Chương 6: Thực hiện phần cứng
Nội dung chương 6 bao gồm các phần liên quan đến việc thực hiện một mô hình
phần cứng cụ thể cho hệ thống phân loại trên nền FPGA Giới thiệu tổng quát về
ngôn ngữ mô tả phần cứng VHDL, về board XUP Virtex-II Pro Development
System, về chương trình Xilinx ISE Trình bày mô hình tổng quát của hệ thống, chi
tiết thiết kế của các khối trong hệ thống, và kết quả tổng hợp các thiết kế thành hệ
thống hoàn chỉnh
Chương 7: Kết luận
Chương 7 trình bày tóm tắt các kết quả đạt được của luận văn cũng như đánh giá
những kết quả đạt được và đề xuất hướng phát triển tiếp theo cho hệ thống phân loại
mờ cho lưu lượng video MPEG
1.6 Ý nghĩa đề tài
1.6.1 Ý nghĩa khoa học
Đề tài đã nghiên cứu các lý thuyết về hệ thống logic mờ (loại 1 và loại 2), lý thuyết
về mô hình hóa bằng phương pháp phân nhóm để xây dựng các bộ phân loại mờ
cho lưu lượng video nén MPEG tốc độ bit thay đổi (VBR)
Ý nghĩa tiếp theo của luận văn là hướng đến việc hiện thực hóa bộ phân loại mờ
trên phần cứng sử dụng công nghệ SoC (System On Chip) mà cụ thể là trên công
nghệ FPGA, góp phần làm phát triển việc nghiên cứu phát tirển công nghệ thiết kế
chip tại trường Đại học
Trang 231.6.2 Ý nghĩa kinh tế xã hội
Hiện nay các dịch vụ liên quan đến multimedia (video theo yêu cầu, hệ thống giám
sát tự động, cơ sở dữ liệu video, giám sát công nghiệp, hội nghị video từ xa,…)
đang ngày càng gia tăng trên mạng băng rộng mà trong đó video là một thành phần
quan trọng Những nghiên cứu của đề tài theo hướng dùng logic mờ để phân loại
lưu lượng video là một đóng góp vào việc nâng cao tính hiệu quả trong hoạt động
của các hệ thống liên quan đến video này
Tài nguyên mạng Internet là tài nguyên dùng chung, do đó việc quản lý, cấp phát
băng thông phù hợp tương ứng cho từng người sử dụng là một yêu cầu rất cần thiết
cho sự đảm bảo chất lượng của các dịch vụ mạng nói chung và dịch vụ video nói
riêng Những kết quả nghiên cứu của luận văn về mô hình và phân loại video nén có
thể được ứng dụng trong việc quản lý băng thông đường truyền Internet cung cấp
cho người sử dụng các dịch vụ video qua mạng
Hệ thống phân loại mờ trong luận văn được hiện thực trên công nghệ thiết kế chip
tiên tiến Với thiết kế này, kết quả của đề tài có thể dễ dàng được thương mại hóa
Hiện tại đang có một số dự án của các cộng ty nước ngoài đầu tư vào thiết kế chip ở
Việt Nam, nổi bật trong đó là của Intel vào khu Công nghệ cao Thành phố Hồ Chí
Minh Do đó đề tài sẽ góp phần vào việc tiếp cận công nghệ thiết kế chip tại Việt
Nam
Trang 24CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Lưu lượng video MPEG
2.1.1 Tiêu chuẩn nén video MPEG
Hiện tại có nhiều tiêu chuẩn cho nén video số hóa Tuy nhiên, chỉ có chuẩn MPEG
hiện được xem là hiệu quả nhất và sẽ được dùng nhiều trong tương lai MPEG là
một tiêu chuẩn quốc tế dùng cho nén video và âm thanh số để lưu trữ hoặc truyền
trên nhiều môi trường số khác nhau, bao gồm đĩa compact, cơ sở dữ liệu video từ
xa, phim theo yêu cầu, truyền hình cáp, … Ban đầu, MPEG là tên gọi của nhóm
chuyên gia làm việc với chuẩn này (Moving Pictures Expert Group) nhưng sau đó
đã trở thành tên của chuẩn Có nhiều giai đoạn của chuẩn MPEG Chúng ta chỉ tập
trung trên MPEG-1 và MPEG-2, hiện đang được xem xét cho các dịch vụ video
băng rộng [23]
2.1.1.1 MPEG-1
Chuẩn nén MPEG-1 chủ yếu tập trung vào mã hóa video cho các phương tiện lưu
trữ số ở tốc độ 1 đến 1.5 Mbps thích hợp cho nhiều loại dịch vụ ở các tốc độ bit
khác nhau Tiêu chuẩn cung cấp giải mã thời gian thực và hỗ trợ các đặc tính thuận
tiện cho việc tương tác với dòng bit lưu trữ Tiêu chuẩn chỉ định nghĩa cấu trúc
dòng bit và quá trình giải mã Mặc dù dự định ban đầu là thiết kế một chuẩn cho
môi trường lưu trữ số, như CD-ROM, tuy nhiên mục tiêu của nhóm hướng đến phát
triển một tiêu chuẩn chung mà có thể sử dụng được trong các ứng dụng video số
khác, như trong viễn thông Chuẩn MPEG có ba phần:
• Phần 1: mô tả sự đồng bộ và ghép video và âm thanh,
• Phần 2: mô tả cho video
• Phần 3: mô tả cho âm thanh
Trong phần sau, chúng ta sẽ chỉ tập trung vào phần video của chuẩn MPEG Video
số không nén đòi hỏi một băng thông truyền dẫn rất cao Ví dụ, video số hóa NTSC
có tốc độ bit vào khoảng 100 Mbps Với video số, cần thiết có quá trình nén để
giảm tốc độ bit cho phù hợp với hầu hết các ứng dụng Mức độ nén yêu cầu nhận
được bằng cách sử dụng độ dư thừa về không gian và thời gian hiện diện trong tín
hiệu video Tuy nhiên, quá trình nén này là có tổn hao, và tín hiệu được tái tạo lại từ
dòng bit nén không giống hệt như tín hiệu video đầu vào
Trang 25Yêu cầu chủ yếu của chuẩn MPEG là nó phải đạt được chất lượng cao nhất có thể
được của chuỗi video giải mã ở một tốc độ nào đó Hơn nữa, hầu hết các ứng dụng
đòi hỏi phải có khả năng khôi phục lỗi Và, chuẩn phải hỗ trợ được nhiều định dạng
video
a Tổng quan về giải thuật nén
Giải pháp nén của video MPEG kết hợp tiêu chuẩn nén ảnh tĩnh JPEG và chuẩn hội
nghị video H.261 của CCITT Vì video là một chuỗi của các ảnh tĩnh, do đó có thể
nén hay mã hóa tín hiệu video sử dụng các kỹ thuật tương tự như JPEG Các
phương pháp nén như thế được gọi là kỹ thuật mã hóa trong ảnh (intraframe), khi
mà mỗi frame của video được nén hay mã hóa riêng lẻ và độc lập Mã hóa trong ảnh
sử dụng các dư thừa về không gian tồn tại giữa các pixel lân cận của một frame
Như trong JPEG và H.261, giải thuật mã hóa video MPEG sử dụng biến đổi cosin
rời rạc (Discrete Cosine Transform – DCT) hai chiều theo từng khối Trước tiên,
một frame được chia thành các khối pixel 8x8, và biến đổi DCT hai chiều sau đó
được áp dụng độc lập cho từng khối Quá trình này tạo ra một block 8x8 của các hệ
số DCT mà hầu hết năng lượng trong khối ban đầu chủ yếu tập trung trong một số
hệ số tần số thấp Sau đó, một bộ lượng tử hóa tác động vào vào mỗi hệ số DCT
này Quá trình lượng tử hóa tạo nên bản chất tổn thất của giải thuât nén Quá trình
nén nhận được bằng cách truyền đi chỉ những hệ số còn lại sau khi lượng tử hóa, và
bằng cách mã hóa entropy (mã Huffman) chiều dài và độ lớn của chúng Hình 1.1
cho thấy quá trình tạo ra dòng bit của một khối trong một ảnh tĩnh như thế nào
Hình 2.1 Mã hóa trong ảnh
Trang 26Tuy nhiên, chất lượng nhận được chỉ bằng kỹ thuật nén trong ảnh thì không đủ cho
tín hiệu video ở tốc độ bit khoảng 1.5 Mbps Vì thế, kỹ thuật nén liên ảnh được sử
dụng để giảm dư thừa về thời gian do độ tương quan lớn giữa các khung kế cận
nhau Giải thuật H.261 tận dụng các dư thừa này bằng việc tính toán tín hiệu sai
lệch giữa các khung gọi là lỗi dự đoán Khi tính toán lỗi dự đoán, một kỹ thuật được
sử dụng để sửa các chuyển động đó là kỹ thuât bù chuyển động (motion
compensation) Một giải pháp dựa trên khối được chấp nhận cho việc bù chuyển
động Một khối các pixel (gọi là khối đích) trong khung mã hóa phù hợp với một
tập hợp các khối cùng kích thước trong khung trước ( gọi là khung tham chiếu)
Khối trong khung tham chiếu mà phù hợp nhất với khối đích được sử dụng như là
dự báo cho các khối sau đó, nghĩa là, lỗi dự đoán được tính toán như là sai lệch giữa
khối đích và khối phù hợp nhất Khối phù hợp nhất được kết hợp với một vector
chuyển động mà mô tả sự chuyển động giữa khối phù hợp nhất và khối đích Thông
tin của vector chuyển động cũng được mã hóa và truyền đi cùng với lỗi dự đoán
Lỗi dự đoán cũng được truyền sử dụng kỹ thuật nén trong ảnh đựa trên DCT Trong
video MPEG, kích thước khối cho quá trình bù chuyển động được chọn là 16x16
pixel, thể hiện một sự thoả hiệp hợp lý giữa quá trình nén cung cấp bởi sự bù
chuyển động và chi phí truyền vector chuyển động
Dự đoán thời gian theo hai hướng, còn được gọi là nội suy bù chuyển động, là một
đặc tính chủ yếu của video MPEG Trong dự đoán hai hướng, một số khung video
được mã hóa sử dụng hai khung tham chiếu, một ở quá khứ và một trong tương lai
Một khối trong khung có thể được dự đoán bằng một khối khác từ khung tham
chiếu quá khứ (dự đoán trước – forward prediction), hoặc từ khung tham chiếu
tương lai (dự đoán sau – backward prediction), hoặc bằng trung bình của hai khối,
một từ mỗi khối tham chiếu (nội suy) Trong trường hợp nào, khối từ khung tham
chiếu cũng được kết hợp với một vector chuyển động, để hai vector chuyển động
được sử dụng với quá trình nội suy Những khung đã được dự đoán hai chiều không
bao giờ được dùng như là khung tham chiếu
Dự đoán hai chiều cho nhiều thuận lợi Chủ yếu là khả năng nén nhận được đặc biệt
cao hơn khi chỉ sử dụng dự đoán trước Để nhận được cùng chất lượng ảnh, các
khung được dự đoán hai chiều có thể được mã hóa với ít bit hơn các khung chỉ sử
dụng dự đoán trước Tuy nhiên, dự đoán hai chiều tạo ra thêm trễ trong quá trình mã
hóa vì các khung phải được mã hóa không theo thứ tự Hơn nữa, nó đòi hỏi thêm
tính phức tạp của quá trình mã hóa vì quá trình phù hợp khối phải được thực hiện
hai lần cho mỗi khối đích [23]
b Các cấu trúc ảnh (khung)
Trang 27MPEG định nghĩa các loại khung khác nhau cho phép sự linh hoạt để cân nhắc giữa
hiệu quả mã hóa và truy cập ngẫu nhiên Các loại khung đó như sau:
Khung I (Intra-frame hay Intra-picture):
Là khung (ảnh) được mã hóa riêng dùng giải thuật nén trong ảnh Khung I được tạo
thành bằng thông tin của chỉ một ảnh Khung I cho phép truy cập ngẫu nhiên nhưng
đạt tỉ lệ nén thấp nhất
Khung P (Predicted-frame hay Predicted-picture):
Là khung được mã hóa có bù chuyển động từ khung I hoặc P phía trước (khung dự
đoán trước) Khung P cho hệ số nén cao hơn khung I và có thể sử dụng làm một
khung tham chiếu cho các khung P hoặc B khác
Khung B (Bidirectional predicted frame hay picture):
Là khung được mã hóa sử dụng bù chuyển động từ các khung I hoặc P ở phía trước
và ở phía sau (dự đoán hai chiều) Khung B cho tỉ lệ nén cao nhất [8]
c Các lớp của cấu trúc dòng bit MPEG
Cấu trúc dòng bit nên linh động để hỗ trợ nhiều loại ứng dụng Cấu trúc tổng thể
được xây dựng trên nhiều lớp, mỗi một lớp thực hiện một chức năng logic khác
nhau Lớp ngoài cùng được gọi là lớp đoạn (chưong trình) video, chứa các thông số
cơ bản như: kích thước của khung video, tốc độ khung, tốc độ bit, và các thông số
tổng quát khác Một dãy các giá trị được hỗ trợ cho tất cả các tham số này
Bên trong lớp chuỗi video là lớp nhóm ảnh (Group of Pictures – GOP), cho phép
truy xuất ngẫu nhiên, tìm kiếm nhanh, và biên tập Một đoạn video được chia thành
một dãy các GOP, mỗi GOP gồm một khung mã hóa trong ảnh (khung-I) theo sau là
một tổ hợp các khung mã hóa dự đoán trước (khung-P) và các khung mã hóa dự
đoán hai chiều (khung-B) Hình 1.2 là một mẫu GOP (IBBPBBPBBPBB) được sử
dụng trong các đoạn video dùng để thí nghiệm trong luận văn Tiêu chuẩn video
MPEG cho phép GOP có cấu trúc và chiều dài tùy ý
Hình 2.2 Mẫu Group of Pictures (GOP)
Trang 28Các bit được tạo ra khi mã hóa một khung trong GOP tạo thành lớp ảnh (picture
layer) Lớp ảnh trước tiên chứa thông tin về kiểu khung (I, P hay B), và vị trí của
khung trong trật tự hiển thị
Các bit tương ứng với các vector chuyển động và các hệ số DCT được gói trong lớp
mảng (slice), lớp tổ hợp khối (macroblock) và lớp khối Ở đây, khối là đơn vị DCT
8x8, tổ hợp khối là đơn vị bù chuyển động 16x16, và mảng là một chuỗi có chiều
dài tùy ý các tổ hợp khối theo chiều từ trái sang phải và từ trên xuống dưới của
khung Lớp mảng được sử dụng cho việc tái đồng bộ trong khi giải mã một khung
khi xảy ra lỗi bit Các thanh ghi dự đoán dùng trong mã hóa vi sai của các vector
chuyển động được reset khi bắt đầu một mảng Bộ mã hóa sẽ chọn chiều dài thích
hợp cho mỗi mảng Trong lớp tổ hợp khối, các bit vector chuyển động cho một tổ
hợp khối được theo sau bởi lớp khối, mà trong đó chứa các bit của các hệ số DCT
của các khối 8x8 trong tổ hợp khối Bảng 2.1 cho ta thấy các lớp khác nhau và chức
năng của chúng
Bảng 2.1 Các lớp của cấu trúc dòng bit video MPEG
Lớp Chức năng Chuỗi (Sequence) Dòng video
GOP (Group of Pictures) Truy xuất ngẫu nhiên; mã hóa video
Ảnh (Picture) Mã hóa cơ bản
Trang 29Hình 2.3 Kiến trúc dòng video MPEG
Hình 2.4 Cấu trúc số liệu nén ảnh MPEG
Trang 302.1.1.2 MPEG-2
MPEG-1 tập trung vào mã hóa video tiếp diễn (không liên kết) từng lớp (không mở
rộng) Tiêu chuẩn MPEG-2 hướng đến các vấn đề ứng dụng phát triển bằng việc sử
dụng mã hóa video mở rộng Điều này có nghĩa là video nén được chia làm dòng bit
lớp cơ bản chứa thông tin ảnh quan trọng nhất và một hoặc nhiều lớp nâng cao chứa
các thông tin để phát triển chất lượng ảnh lớp cơ bản Sự mở rộng chất lượng ảnh có
thể đạt được trong miền không gian hay tần số Cũng có thể thực hiện sự mở rộng
đối với các độ phân giải hoặc tốc độ bit khác nhau Thêm nữa, chuẩn MPEG-2
thuận lợi cho video liên kết và cung cấp nhiều loại dự đoán bù chuyển động cũng
như các kỹ thuật mã hóa DCT và lượng tử hóa cải tiến
2.1.2 Các đặc tính thống kê của dòng MPEG
2.1.2.1 Khảo sát các kích thước frame (frame size)
16 đoạn thống kê video (video trace) MPEG-1, được tạo bởi Oliver Rose - Đại học
Wuerzburg [22], được sử dụng trong các thí nghiệm dưới đây 16 đoạn video này
được chia thành 4 loại: phim điện ảnh (movies), thể thao (sports), tin tức/bài nói
chuyện (news/talk) và ca nhạc (MTV)
• Phim điện ảnh:
1)bond “James Bond: Goldfinger”
2)dino “Jurassic Park”
3)lambs “The Silence of the Lambs”
4)starwars “Star Wars”
5)terminator “Terminator II”
6)movie movie preview 1994
• Thể thao:
7)atp Chung kết quần vợt ATP 1994: Becker - Sampras
8)race Đua xe thể thức 1: GP Hockenheim 1994
9)sbowl Chung kết Super Bowl 1995: San Diego - San Francisco
10)soccer_1 Chung kết World Cup 1994: Brazil - Italy
11)soccer_2 Một trận bóng World Cup 1994: Germany - Belgium
Trang 31• News/Talk Show:
12)talk_1 German Talk Show
13)talk_2 German Talk Show
14)news_2 German TV news
• MTV:
15)mtv_1 MTV video clip
16)mtv_2 MTV video clip
Các đoạn video được Rose nén sử dụng chương trình mã hoá MPEG-1 (Đại học
Berkeley) Kích thuớc GOP là 12, IBBPBBPBBPBB Mỗi dòng video MPEG gồm
40000 frame, khoảng 30 phút với tốc độ 25 frame/giây
Kích thước (số bit/frame) frame của 3000 frame I/P/B đầu tiên của 8 sản phẩm
video (mỗi loại 2 sản phẩm video) được thể hiện ở hình 2.5-2.8
Movies
(a) Frame I (d) Frame I
(b) Frame P (e) Frame P
Trang 32Hình 2.5 dino (2.5a, 2.5b, 2.5c) và starwars (2.5d, 2.5e, 2.5f)
Sports
(a) Frame I (d) Frame I
(b) Frame P (e) Frame P
Trang 33Hình 2.6 atp (2.6a, 2.6b,2.6c) và race (2.6d, 2.6e,2.6f)
New/Talk show
(a) Frame I (d) Frame I
(b) Frame P (e) Frame P
Trang 34Hình 2.7 talk2 (2.7a, 2.7b, 2.7c) and news2 (2.7d, 2.7e, 2.7f)
MTV
(a) Frame I (d) Frame I
(b) Frame P (e) Frame P
Trang 35
Hình 2.8 mtv1 (2.8a, 2.8b, 2.8c) and mtv2 (2.8d, 2.8e, 2.8f)
Nhận xét:
• Các frame I có kích thước (số bit/frame) frame lớn nhất, tiếp theo là frame P
và nhỏ nhất là frame B Điều này là do kỹ thuật mã hóa MPEG cho từng loại
frame I/P/B
• Tùy theo loại sản phẩm video mà ta có dạng đồ thị của các kích thước frame
khác nhau Ví dụ như của phim điện ảnh (movies) sẽ trơn hơn so với của thể
thao (sports), do thể thao có nhiều chuyển động nên dạng đồ thị của thể thao
thể hiện nhiều thay đổi lớn trong kích thước frame của mỗi loại frame
• Và đối với những chuỗi video có nhiều chuyển động, các frame P, và B
thường có kích thước lớn, vì cần có nhiều dữ liệu để bù chuyển động trong
quá trình mã hóa MPEG
2.1.2.2 Phân bố kích thước khung
Hình 2.9, 2.10, 2.11 là histogram của các kích thước khung của 3 khung I, P và B
trong đoạn phim dino Và hàm mất độ phân bố xác suất lognormal phù hợp nhất với
phân bố histogram của 3 loại khung Giải thuật đánh giá có khả năng xảy ra cao
nhất (maximum likelihood estimator – MLE) được sử dụng để xác định các tham số
của hàm mật độ phân bố xác suất để nhận được phân bố phù hợp nhất với thực tế
như thấy ở hình 2.9, 2.10, 2.11.[13][23]
Trang 36Hình 2.9 Khung I
Hình 2.10 Khung P
Trang 37Hình 2.11 Khung B
2.2 Logic mờ
2.2.1 Tập mờ và hàm thuộc
2.2.1.1 Các khái niệm cơ bản
Tập cổ điển hay tập rõ là một tập có biên Tập rõ thích hợp với nhiều ứng dụng khác
nhau và là một công cụ quan trọng của toán học và các khoa học khác Tuy nhiên,
tập rõ không phù hợp với các bản chất và suy nghĩ của con người vốn trừu tượng và
thiếu chính xác [30]
Ngược lại, tập mờ là một tập không có biên rõ ràng Sự chuyển tiếp giữa mức thuộc
về và không thuộc về một tập không xảy ra đột ngột Sự chuyển tiếp này được biểu
thị bằng các hàm thuộc có khả năng mô hình những biểu đạt bằng ngôn ngữ của con
người một cách uyển chuyển
Cho X là một không gian nền chứa tất cả các phần tử x trong một ứng dụng cụ thể
Tập mờ S trong không gian nền X được định nghĩa như sau:
{ , S( ) | }
S = x μ x x S∈ ⊂ X (2.1) Trong đó, μS( )x được gọi là hàm thuộc của tập mờ S
Thông thường, một hàm thuộc chuẩn hoá μS( )x ánh xạ mỗi phần tử x thuộc S thành
một độ liên thuộc trong khoảng đơn vị [0,1]
Trang 38: [0,1]
S x S
μ ∈ →
Hình 2.12 mô tả các hàm thuộc μpos( )x , μzero( )x , μneg( )x của ba tập mờ tương ứng:
dương, zero, và âm Trong trường hợp này không gian nền là tập các số thực
Tập mờ S hay hàm thuộc µS tương ứng là bình thường nếu tồn tại x U∈ sao cho
( ) 1
S x
μ = Trong trường hợp ngược lại , S (hay µS) là bất thường Trong phần này
giả thiết tất cả các tập mờ là bình thường
Hình 2.12 Hàm thuộc của 3 tập mờ âm,zero, dương 2.2.1.2 Các loại hàm thuộc
Các loại hàm thuộc thường được sử dụng nhiều nhất trong thực tế là: hàm thuộc tam
giác, hàm thuộc hình thang, hàm thuộc Gauss và hàm thuộc hình chuông tổng quát
Trang 39Trong thực tế, hai dạng hàm thuộc hình tam giác và hình thang được dùng phổ biến
hơn do việc tính toán chúng khá đơn giản Tuy nhiên, các dạng hàm thuộc này được
hình thành từ các đoạn thẳng nên chúng không trơn tại các điểm ghép p1, p2, p3, p4
Do vậy, các hàm thuộc phi tuyến và phức tạp hơn như Gauss, hình chuông tổng
quát hóa, hình sigmoid cũng được sử dụng để có được sự chuyển biến trơn
- Hàm thuộc Gauss
2 2 ( ) 2 ( ; , )
x c
μ σ = − − (2.4)
Các tham số [c, σ] xác định trọng tâm và độ rộng của hàm thuộc
- Hàm thuộc hình chuông tổng quát hóa
2
1( ; , , )
1
b
x a b c
x c a
−+
(2.5)
Các tham số [a, b, c] điều khiển độ rộng, độ dốc và tâm của hàm thuộc Hàm thuộc
này là một dạng tổng quát hóa trực tiếp của phân bố Cauchy được dùng trong lý
thuyết xác suất
- Hàm thuộc hình Sigmoid
( )
1( ; , )
Các tham số [a, c] điều khiển độ dốc và tọa độ x tại điểm giao x = c Hàm thuộc
sigmoid khác với các hàm thuộc được đề cập phía trên vì đây là một hàm đơn điệu
Phụ thuộc vào dấu của a, hàm sigmoid mở trái hoặc phải và do vậy, nó tương ứng
với việc mô tả các khái niệm như rất lớn hay rất nhỏ
Trang 402.2.2 Các phép toán trên tập mờ
Các phép toán phổ biến trên tập mờ bao gồm phép lấy bù, phép giao và phép hội
Tất cả các phép toán này đều có nhiều cách biểu diễn toán học khác nhau[18]
( )
c
S x
μ không chỉ được dùng để thể hiện cho độ phụ thuộc của x vào Sc mà còn
được dùng để thể hiện độ không phụ thuộc của x vào S Tương tự, hàm thuộc μS( )x
cũng có thể được dùng để thể hiện cho độ không phụ thuộc của x vào Sc
Độ mờ trong tập S được xác định dựa trên hàm thuộc µS Khái niệm phần bù dẫn
đến một cách đo chính xác về độ mờ Một tập S là mờ nếu và chỉ nếu giao của tập S
với phần bù của nó là không rỗng Xét trên khía cạnh hàm thuộc, tập S là mờ nếu
min của μS( )x và μS C( )x khác 0 với mọi x hay nói cách khác nếu S là tập mờ thi
min của μS( )x và 1-μS( )x phải khác 0 với mọi x
2.2.2.2 Phép giao của các tập mờ
Phép giao giữa các tập mờ có thể được biểu diễn theo nhiều công thức toán học
khác nhau Phép toán MIN là phép toán kinh điển trong việc thực hiện phép giao
giữa các tập mờ Phép giao S=∩n i=1S i của các tập mờ Si, i=1, , n, là một tập mờ có
hàm thuộc được cho bởi công thức sau:
1
μ = μ μ (2.8) Trong đó: μ là hàm thuộc của tập mờ SS i i, i=1, , n Phép MIN cũng là phép toán
giao giữa các tập cổ điển Giao của hai tập mờ S1 và S2 có hàm thuộc được xác định
theo phép toán MIN như sau:
S ∩S ↔μ ∩ = μ x μ x ∀ ∈x R (2.9) Phép toán giao này không cho kết quả trơn Do vậy, thỉnh thoảng nó được thay thế
bởi phép kết hợp tích (PROD) Hàm thuộc của tập mờ giao giữa các tập mờ Si được
định nghĩa theo phép kết hợp tích như sau:
1 i
n
S S i
μ μ
=
=∏ (2.10)