Trong luận văn này, tác giả trình bày mô hình cơ sở dữ liệu video là sự kết hợp giữa mô hình cơ sở dữ liệu phân cấp và việc sử dụng các chú thích annotations với các mở rộng sau đây: ¾ M
Trang 1Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA
-
TRẦN NGUYỄN ANH THY
ĐIỀU KHIỂN TRUY XUẤT DỰA THEO NỘI DUNG
TRONG CÁC CƠ SỞ DỮ LIỆU VIDEO
Chuyên ngành : Công Nghệ Thông Tin
Mã số ngành : 01.02.10
LUẬN VĂN THẠC SĨ
TP HỒ CHÍ MINH, tháng 8 năm 2007
Trang 2LỜI CẢM ƠN
Trước tiên tôi xin bày tỏ lòng biết ơn sâu sắc đến TS Đặng Trần Khánh, người đã cho tôi một cơ hội đến với lĩnh vực bảo mật cơ sở dữ liệu (database security) Thầy cũng là người hướng dẫn tôi trong suốt quá trình thực hiện luận văn Luận văn này được hoàn thành với sự hướng dẫn tận tình của Thầy cùng các tài liệu được thầy cung cấp
Tôi xin chân thành cảm ơn quý Thầy Cô trong khoa Công Nghệ Thông Tin, trường Đại Học Bách Khoa đã truyền đạt những kiến thức quý báu trong suốt khoá học
Tôi xin cảm ơn các đồng nghiệp ở công ty FCGV đã chia sẽ công việc và hỗ trợ về mặt kỹ thuật để tôi có thể hoàn thành luận văn này
Tôi xin cảm ơn các bạn học viên cao học CNTT K15, K2005, K2006 đã giúp đỡ và đóng góp ý kiến trong việc hoàn thành đề tài
Cuối cùng, tôi xin cảm ơn gia đình đã hỗ trợ về mặt tinh thần cho tôi trong suốt thời gian khoá học, đặc biệt là trong giai đoạn thực hiện luận văn
Trang 3TÓM TẮT NỘI DUNG
Trong thế giới thông tin, số lượng dữ liệu multimedia ngày càng lớn do đó cần phải có các phương thức để lưu trữ, đánh chỉ số và tìm kiếm một cách hiệu quả Đã có nhiều nghiên cứu liên quan đến lĩnh vực này trong những thập niên gần đây và nhiều báo cáo về các mô hình cơ sở dữ liệu video đã được trình bày Hầu hết các cơ sở dữ liệu video hiện đại đều sắp xếp các video theo cấu trúc cây phân cấp nhằm tăng hiệu quả tổ chức khối lượng lớn dữ liệu này
Bên cạnh đó, lĩnh vực quản lý truy xuất cơ sở dữ liệu cũng là một đề tài được quan tâm và nghiên cứu nhiều trong thời gian gần đây Các nghiên cứu thường tập trung vào mức độ hiệu quả và linh động của các mô hình quản lý truy xuất Điều này có nghĩa là
dữ liệu chỉ được truy xuất bởi những người đã được xác nhận quyền và công việc gán quyền có thể được thực hiện một cách dễ dàng và chính xác
Trong luận văn này, tác giả trình bày mô hình cơ sở dữ liệu video là sự kết hợp giữa mô hình cơ sở dữ liệu phân cấp và việc sử dụng các chú thích (annotations) với các mở rộng sau đây:
¾ Mở rộng cơ chế đánh chỉ số phân cấp video cổ điển bằng cách thêm frame và đối tượng đặc biệt (salient object) vào cây phân cấp nhằm tăng mức độ “nhuyễn” của
dữ liệu trong việc phân quyền và quản lý truy xuất dữ liệu
¾ Bên cạnh đó, với việc sử dụng các chú thích, tác giả cung cấp nhiều giải pháp để người sử dụng truy vấn các video mà họ quan tâm dựa theo nội dung của video (content-based retrieval)
¾ Ngoài ra, tác giả cũng mở rộng mô hình quản lý truy xuất cơ sở dữ liệu nguyên thuỷ để đáp ứng các đặc trưng của cơ sở dữ liệu video Mô hình được đề nghị hỗ trợ cơ chế quản lý truy xuất đa luật - nghĩa là một người sử dụng có thể chịu ảnh
Trang 4hưởng bởi nhiều xác nhận quyền, và quản lý truy xuất đa cấp - nghĩa là mỗi xác nhận quyền có thể chỉ định ở bất kỳ cấp độ video nào
Keywords: video database models, content-based video retrieval, video database
access control
Trang 5ABSTRACT
The growing amounts of multimedia data available to the average user has reached
a critical phase where methods for indexing, searching, and efficient retrieval are expressly needed to manage the information load Many researches related to this field have been conducted over some last decades and consequently, some video database models have been proposed Most of modern video database models make use hierarchical structure to organize huge amount of videos to support video retrieval efficiently Database access control is another interesting research area with many models reported
In this thesis, we present a hybrid video database model which is a combination of hierarchical video database model and annotations using In particular, we extend the original hierarchical indexing mechanism to add frames and salient objects as the lowest granularity level in the video tree with the aim to support multi-level access control Beside that, with the use of annotations, we give users more solutions to query for their interesting videos based on the video contents (content-based retrieval) In addition, we also tailor the original database access control model to fit the characteristics of video data Our updated model supports both multiple access control policies, means a user may be affected by multiple polices, and multilevel access control, means an authorization may be specified at any video levels
Keywords: video database models, content-based video retrieval, video database
access control
Trang 6MỤC LỤC
Chương 1 PHÁT BIỂU VẤN ĐỀ 1
1.1 Giới thiệu 1
1.2 Đề tài nghiên cứu 2
1.3 Những kết quả nghiên cứu liên quan 3
1.4 Kết quả đạt được và những đóng góp 5
Chương 2 PHÂN TÍCH VÀ LƯU TRỮ DỮ LIỆU VIDEO 6
2.1 Định dạng và lưu trữ dữ liệu video 6
2.1.1 Các khái niệm cơ bản về video 6
2.1.2 Các phương pháp nén (compress) dữ liệu video 8
2.1.3 Định dạng video MPEG-4 8
2.2 Phân đoạn video bằng cách nhận dạng biên (shot boundary detection) 13
2.2.1 Một số phương pháp nhận dạng biên trên dữ liệu chưa nén 14
2.2.2 Phương pháp nhận dạng biên trên dữ liệu nén 15
2.2.3 Phương pháp xác định biên video shot dựa vào vector di chuyển 16
2.3 Rút trích key frame 20
2.4 Gom nhóm các video shot 20
2.5 Tổ chức cơ sở dữ liệu video 21
2.5.1 Mô hình cơ sở dữ liệu video phân cấp 21
2.5.2 Mô hình cơ sở dữ liệu video tổng quát 23
Chương 3 TRUY VẤN CƠ SỞ DỮ LIỆU VIDEO 25
3.1 Quản lý truy xuất (Access control) 25
3.2 Các cơ chế truy xuất 30
3.2.1 Truy xuất theo truy vấn 30
3.2.2 Truy xuất lựa chọn 32
Chương 4 MỞ RỘNG MÔ HÌNH CƠ SỞ DỮ LIỆU VIDEO 34
4.1 Mô hình cơ sở dữ liệu 34
4.2 Kiến trúc hệ thống cơ sở dữ liệu video 36
Trang 74.3 Mô hình quản lý xác nhận quyền 38
4.4 Quản lý truy vấn cơ sở dữ liệu video 43
4.5 Quản lý phân quyền 48
Chương 5 HIỆN THỰC VÀ ĐÁNH GIÁ 54
5.1Hiện thực cơ sở dữ liệu 54
5.2Quản lý truy xuất 55
5.3 Quản lý phân quyền 59
5.4 Kết quả và đánh giá 60
Chương 6 TỔNG KẾT VÀ HƯỚNG PHÁT TRIỂN 62
6.1 Tổng kết 62
6.3 Hướng phát triển đề tài 63
PHỤ LỤC A 64
TÀI LIỆU THAM KHẢO 70
Trang 8DANH MỤC HÌNH
Hình 1.1: Sơ đồ hiện thực một cơ sở dữ liệu video 3
Hình 2.1: Việc lấy mẫu theo thời gian và không gian của một video 6
Hình 2.2 Encoder/Decoder 8
Hình 2.3 Frame 1 10
Hình 2.4 Frame 2 10
Hình 2.5 Sự khác biệt 10
Hình 2.6 Tính toán độ dịch chuyển 12
Hình 2.6 Chuỗi các I-frame, B-frame và P-frame 17
Hình 2.7 Frame DC với MC có trọng số 17
Hình 2.7 Mô hình cơ sở dữ liệu video phân cấp 22
Hình 2.8 Mô hình cơ sở dữ liệu video tổng quát 24
Hình 3.1 Mô hình truy xuất theo truy vấn 25
Hình 3.2 Mô hình truy xuất lựa chọn 26
Hình 3.3 Sơ đồ giải thuật quản lý truy xuất theo truy vấn 32
Hình 4.1 Mô hình cơ sở dữ liệu video 35
Hình 4.2 Kiến trúc hệ thống cơ sở dữ liệu video 37
Hình 4.3 Đồ thị quan hệ các nhóm người sử dụng 39
Hình 4.4 Đồ thị quan hệ các nhóm đối tượng video 39
Hình 4.5 Mô tả giải thuật 4.1 46
Hình 4.6 Một cơ sở dữ liệu video với tập hợp các quyền 50
Hình 5.1 Màn hình chọn lựa video 55
Hình 5.2 Màn hình tìm kiếm video 56
Hình 5.3 Màn hình quản lý phân quyền 60
Trang 10Chương 1
PHÁT BIỂU VẤN ĐỀ 1.1 Giới thiệu
Ngày nay dữ liệu video (video data) trở thành một thành phần quan trọng trong thế giới thông tin Với khối lượng dữ liệu video khổng lồ, cần phải có các cơ chế lưu trữ
và truy xuất các cơ sở dữ liệu video (video database - CSDL video) hiệu quả Bên cạnh
đó, cần phải có các cơ chế bảo mật đối với các cơ sở dữ liệu này, đặc biệt là các kho
dữ liệu có tính chất đặc biệt quan trọng
Vấn đề thứ nhất là việc tổ chức dữ liệu video thô (raw video data) một cách hiệu quả Dữ liệu có được từ nhiều nguồn khác nhau cần được chuẩn hoá theo một định dạng nhất định Điều này giúp truy xuất dữ liệu sẽ nhanh hơn Sau đó cần phải có cơ chế nén (compress) các dữ liệu thô để giảm không gian lưu trữ bởi vì khối lượng dữ liệu này thường rất lớn Ngoài ra, các đặc trưng (feature) quan trọng của dữ liệu video cũng cần được rút trích (extract) để sử dụng cho công việc truy xuất sau này
Vấn đề thứ hai là xây dựng cơ chế truy xuất linh hoạt và hiệu quả Để đạt được tính hiệu quả, cần phải nghiên cứu các kỹ thuật đánh chỉ số (indexing) Các kỹ thuật đánh chỉ số cổ điển thường dựa trên text (ví dụ như tên video) Các phương pháp này gặp nhiều hạn chế do cùng một video nhưng nhiều người xem khác nhau có thể sẽ phân tích theo các góc độ khác nhau Các cơ chế truy xuất CSDL video gần đây thường dựa trên nội dung của các video (content-based retrieval) Khuynh hướng này vẫn còn được nghiên cứu và phát triển cho tới ngày nay nhằm tìm cách khắc phục hạn chế về khả năng nhận dạng, phân loại của máy tính
Vấn đề thứ ba là tính linh hoạt và hiệu quả của cơ chế truyền dữ liệu qua mạng Đây
là yêu cầu rất quan trọng vì hầu hết các ứng dụng đều hiện thực trên các mạng máy tính Một đặc trưng khác của dữ liệu video là nó phải thoả mãn yêu cầu thời gian thực
Trang 11(real-time data) Do đó dữ liệu cần phải được đồng bộ giữa nguồn dữ liệu (video database server) và dữ liệu trên máy người sử dụng (client)
Vấn đề thứ tư là bảo mật dữ liệu Dữ liệu có thể bị truy xuất trái phép từ CSDL video hoặc trong quá trình truyền dữ liệu trên mạng Điều này có ý nghĩa rất lớn đối với các kho dữ liệu mang tính chất đặc biệt quan trọng (ví dụ như kho dữ liệu quốc gia) Mặc dù đã có rất nhiều các cơ chế bảo mật dữ liệu, cần phải nghiên cứu các cơ chế bảo mật cho dữ liệu video bởi vì loại dữ liệu này có rất nhiều đặc trưng riêng so với các loại dữ liệu khác
1.2 Đề tài nghiên cứu
Trong nội dung luận văn, tác giả tập trung nghiên cứu cơ chế lưu trữ, truy xuất và bảo mật CSDL video Hình vẽ 1.1 mô tả kiến trúc của một hệ thống CSDL video Nguồn dữ liệu của CSDL video là một tập các dữ liệu video với nhiều định dạng khác nhau như: MPEG, JPEG, WMV, … (offline video data) Ngoài ra dữ liệu video cũng có thể là các dòng video (video stream – online video data) Các nguồn dữ liệu thường được chuyển về một định dạng thống nhất nhằm tăng hiệu quả truy xuất dữ liệu Thông thường, định dạng MPEG thường được sử dụng do khả năng nén khá tốt
và chất lượng của video cao Trong giới hạn luận văn, tác giả chỉ tập trung vào các file video (offline data) và đồng thời giả định các nguồn video được dùng đều đã ở định dạng MPEG-4
Các video sau đó sẽ được phân tích (analyze) trước khi lưu trữ vào CSDL video Các thao tác trong bước này gồm có:
¾ Phân đoạn video thành các video shot, chọn các key frame cho từng video shot (shot boundary detection and segmentation), trích các đối tượng quan trọng trong các video shot (salient object extration)
¾ Phân loại (classifying) và gom nhóm (clustering) các video shot
Trang 12¾ Đánh chỉ số (indexing) các cluster này
Một thành phần khác của hệ thống là query processor với chức năng quản lý việc truy xuất dữ liệu Thành phần này có chức năng nhận yêu cầu từ người sử dụng, truy xuất dữ liệu thoả mãn yêu cầu và trả kết quả cho người sử dụng Để thoả mãn tính linh hoạt của việc truy vấn, các hệ thống thường dùng cơ chế truy vấn dựa theo nội dung (content-based query) Query processor cũng thực hiện nhiệm vụ bảo mật thông tin
Hệ thống chỉ cho phép người sử dụng được phép truy xuất những video được gán quyền thích hợp mà thôi
Hình 1.1: Sơ đồ hiện thực một cơ sở dữ liệu video
1.3 Những kết quả nghiên cứu liên quan
Quản lý truy xuất và bảo mật CSDL video là một lĩnh vực đã và đang được nghiên cứu phổ biến trên thế giới Các nghiên cứu này có thể được chia thành ba nhóm chính: tiền xử lý dữ liệu, tổ chức dữ liệu và quản lý truy xuất
Result
Request MPEG format
End user
Video Database
Trang 13Đối với vấn đề tiền xử lý dữ liệu, các nghiên cứu tập trung vào việc phân đoạn tự động video và rút trích các thuộc tính chính Sau đây là một số phương pháp phân đoạn biên video phổ biến Trong phương pháp so trùng mẫu (template-matching) (Hampapur, Jain, & Weymouth,1994; Zhang, Kankanhalli, Smoliar, & Tan, 1993), từng pixel trên các frame liền kề sẽ được so sánh để tìm ra điểm phân đoạn Phương pháp dựa trên histogram (Tonomura, 1991) sử dụng sự thay đổi histogram của các frame để nhận dạng biên Bên cạnh đó, Zhang, Kankanhalli, Smoliar, và Tan (1993) đã
đề nghị phương pháp so sánh kép (twin comparation) để tăng độ chính xác của việc phân đoạn bằng cách sử dụng hai hệ số để tính toán điểm cắt và điểm cắt tiềm năng
Ưu điểm của các phương pháp này là đơn giản và nhược điểm là chỉ làm việc được trên các dạng video chưa nén mà thôi Đối với dạng dữ liệu video đã được nén, Chen, Taskiran, Albiol, Delp, & Bouman (1999); Lee, Kim, & Choi (2000); Yeo & Liu (1995) đề nghị các phương pháp dựa trên các hệ số DCT để tìm điểm phân đoạn Không những sử dụng các hệ số DCT, Zhang (1993) đề nghị phương pháp dựa trên vector di chuyển để xác định biên
Đối với việc tổ chức lưu trữ dữ liệu video, các nghiên cứu tập trung vào việc xây dựng mô hình dữ liệu nhằm tăng hiệu suất truy vấn và quản lý truy xuất hiệu quả Hjelsvold (1999) đề nghị mô hình cơ sở dữ liệu video tổng quát với ý tưởng là mô hình được xây dựng có thể hỗ trợ nhiều ứng dụng khác nhau Một CSDL video lý tưởng phải hỗ trợ cho nhiều mục đích như sản xuất video, quản lý video, phân tích khoa học, … CSDL video cũng cần phải cung cấp khả năng sử dụng lại các thành phần video Một nghiên cứu khác của Bertino (2003) đề nghị mô hình cơ sở dữ liệu phân cấp với ý tưởng là phân loại tập hợp video vào các nhóm ngữ nghĩa như subregion, subcluster và cluster Mô hình phân cấp này rất thích hợp để quản lý phân quyền và truy vấn theo lựa chọn (browsing) Tuy nhiên mô hình này cần được mở rộng hơn nữa
để giúp truy vấn theo nội dung hiệu quả hơn
Trang 14Cùng với mô hình CSDL video phân cấp, Bertino cũng đề nghị các cơ chế quản lý truy xuất hiệu quả và linh động Người quản trị có thể cho phép và không cho phép người sử dụng truy xuất các video, nhóm video ở các cấp khác nhau Bertino cũng đề nghị các cơ chế giải quyết đụng độ trong trường hợp một người sử dụng vừa được quyền truy xuất một video bởi một quyền và bị cấm truy xuất bởi một quyền khác
1.4 Kết quả đạt được và những đóng góp
Trong giới hạn luận văn, tác giả đã đạt được những mục tiêu như sau:
¾ Nghiên cứu các cơ chế lấy mẫu và nén dữ liệu video cũng như các giải thuật phân đoạn biên video
¾ Nghiên cứu các mô hình cơ sở dữ liệu video có sẵn như mô hình cơ sở dữ liệu video tổng quát, mô hình phân cấp và các cơ chế quản lý truy xuất, bảo mật cơ sở
dữ liệu nói chung và cơ sở dữ liệu video nói riêng
¾ Thiết kế mở rộng các mô hình cơ sở dữ liệu video nhằm đáp ứng yêu cầu truy vấn dựa theo nội dung và quản lý truy xuất một cách hiệu quả Tác giả đã kết hợp hai
mô hình cơ sở dữ liệu video tổng quát và mô hình phân cấp giúp cho người sử dụng có thể truy vấn một cách linh động hơn Đồng thời, tác giả đã thêm vào khái niệm video segment giúp cho việc phân quyền được “nhuyễn” hơn, có nghĩa là người sử dụng có thể gán quyền đến mức frame hay đối tượng
¾ Xây dựng các giải thuật để quản lý truy xuất đa luật (multiple access control policies) trên mô hình cơ sở dữ liệu phân cấp trong đó bao gồm các giải thuật để xác nhận quyền, tìm kiếm dữ liệu và giải quyết đụng độ
¾ Hiện thực chương trình demo cho một cơ sở dữ liệu video nhằm mô phỏng các lý thuyết đã đề ra
Trang 15Chương 2
PHÂN TÍCH VÀ LƯU TRỮ DỮ LIỆU VIDEO 2.1 Định dạng và lưu trữ dữ liệu video
2.1.1 Các khái niệm cơ bản về video
Digital video là một chuỗi các cảnh (scene) được lấy mẫu (sample) theo thời gian (temporally) và không gian (spartially) [1] Các cảnh được lấy mẫu ở mỗi thời điểm hình thành một frame
Hình 2.1: Việc lấy mẫu theo thời gian và không gian của một video
2.1.1.1 Frame
Các đoạn video (video sequence) là một chuỗi các frame kế tiếp nhau Tần xuất lấy mẫu các frame được tính bằng số frame trong một giây Tần xuất này càng lớn thì chất lượng của video càng cao thể hiện thông qua sự liền lạc (smooth) giữa các hình ảnh Tuy nhiên, số lượng frame càng lớn, kích thước của đoạn video sẽ càng tăng Do đó cần phải cân bằng giữa thông số này và kích thước lưu trữ
Trang 16Trong mỗi frame, chỉ một số điểm được lưu trữ lại (spatial sample) gọi là các pixel
Thông thường các pixel được lấy mẫu thông qua một lưới 2D Các pixel nằm trên các
nút của lưới sẽ được lấy mẫu Thông tin cần lưu trữ ở mỗi nút là màu sắc của điểm đó
Số lượng pixel được lấy mẫu trên mỗi frame thể hiện độ mịn của hình ảnh
2.1.1.2 Màu sắc
Màu sắc của mỗi pixel có thể lưu theo dạng RGB (Red, Green and Black) hoặc theo
phương pháp YcbCr [1]
Phương pháp RGB
Phương pháp RGB dựa theo nguyên tắc mọi màu sắc đều có thể được biểu diễn
thông qua sự kết hợp của ba màu cơ bản là đỏ, xanh và đen Do đó, mỗi pixel chỉ lưu
trữ giá trị của ba thành phần màu trên (thường giá trị từ 0 đến 255) Việc thu thập các
cảnh (scene) theo phương pháp này khá đơn giản Hệ thống sẽ dùng ba bộ cảm biến
tương ứng với ba màu để thu thập hình ảnh một cách độc lập Khi hiển thị hình ảnh,
các màu này sẽ được trộn (merge) lại với nhau đem lại hình ảnh màu sắc thực
Phương pháp YCbCr
Phương pháp YCbCr không chỉ quan tâm đến màu sắc của từng pixel mà còn chú
trọng đến độ chói của chúng Bên cạnh ba giá trị màu sắc R, G và B, phương pháp này
bổ sung thêm thông số về độ chói (luminance) Y Giá trị Y được tính theo công thức:
B k G k R k
trong đó k là các giá trị trọng số của các màu
Thông tin màu sắc được biểu diễn bởi các thành phần sai lệch giữa giá trị màu sắc
và giá trị trung bình Y
Y G C
Y R C
Y B C
g r b
Trang 17Trong trường hợp này, tại mỗi pixel, ta phải lưu 4 giá trị là Y, Cb, Cr, Cg Tuy nhiên, tổng Cb + Cr + Cg là một giá trị không đổi nên trong thực tế ta chỉ cần lưu 3 giá trị là Y (luma), Cb (blue chroma) và Cr (red chroma) YCbCr có ưu điểm so với phương pháp RGB là các hệ thống nhận dạng hình ảnh của con người (Human Visual System - HVS) nhạy cảm với độ chói hơn là màu sắc
2.1.2 Các phương pháp nén (compress) dữ liệu video
Vì kích thước các video rất lớn nên chúng cần phải được nén lại Các giải thuật nén
và giải nén vẫn còn được nghiên cứu và phát triển cho tới ngày nay với mục đính là tăng độ chính xác và hiệu suất Để nén dữ liệu video, dữ liệu này được mã hoá (encoding) sau đó sẽ được giải mã (decoding) Các hệ thống này được gọi chung là CODEC (enCOding/DECoding)
Hình 2.2 Encoder/Decoder
Việc nén dữ liệu được thực hiện thông qua loại bỏ các thành phần thừa (redundant components) Các thành phần này không ảnh hưởng đến quá trình tái tạo lại hình ảnh Hầu hết các kỹ thuật nén đều tận dụng khả năng nén theo không gian và thời gian Những frame được lấy mẫu liên tục thường liên quan với nhau, đặc biệt khi tần xuất lấy mẫu cao Các pixel nằm liền kề trong cùng một frame thường cũng liên quan mật thiết với nhau
Trang 18(International Standards Organization) Nhóm này đã xây dựng các chuẩn như
MPEG-1, MPEG-2, MPEG-3 và gần đây là MPEG-4 và MPEG-7
Đặc trưng nổi bật của MPEG-4 so với các dạng chuẩn trước đó là:
¾ Nén các video một cách hiệu quả
¾ Mã hoá các đối tượng trong video Các đối tượng này là các vùng có hình dạng được quan tâm trong các cảnh video
¾ Hỗ trợ truyền tải dữ liệu video hiệu quả thông qua mạng
¾ Mã hoá các hình ảnh tĩnh Điều này cho phép các hình ảnh có thể lồng giữa các frame của video
¾ Mã hoá các đối tượng di chuyển
¾ Mã hoá các ứng dụng chất lượng cao Trong dạng ứng dụng này độ nén không quan trọng bằng chất lượng của video
Thành phần cốt lõi của chuẩn MPEG là một CODEC với mục tiêu nén và giải nén
dữ liệu video MPEG sử dụng kỹ thuật nén theo thời gian (temporal) và biến đổi (transform) dữ liệu Dữ liệu được nén này sau đó sẽ được mã hoá bằng bộ mã hoá Entropy (Entropy encoder)
2.3.1.1 Nén dữ liệu
Mục tiêu của việc nén theo thời gian là giảm dữ liệu dư thừa bằng cách loại bỏ những chi tiết trùng lặp giữa frame hiện tại và frame được dùng để tiên đoán (predicted frame) Kết quả của quá trình này là frame thặng dư (residual frame) được tính bằng cách “trừ” frame hiện tại và frame tiên đoán Hình 2.3 và 2.4 thể hiện hai frame kế tiếp nhau Hình 2.5 hiển thị sự khác biệt giữa 2 frame trên
Trang 20không cần lưu trữ toàn bộ các đối tượng mà chỉ cần lưu các vector di chuyển (motion vectors) mà thôi
Việc tiên đoán các vector di chuyển của từng pixel hoàn toàn có khả năng thực hiện được Tuy nhiên, với cách tiếp cận này, thời gian tính toán và kích thước lưu trữ
sẽ rất lớn Do đó, các hệ thống thường sử dụng cách tiếp cận theo khối (block-based motion estimation) Thay vì tính toán sự duy chuyển của từng pixel, cách tiếp cận này
xử lý cho từng khối kích thước MxN Ý tưởng của phương pháp này như sau:
¾ Tìm các vùng trong frame tham khảo (frame trước hoặc sau frame hiện tại) một vùng tương thích (match) nhất với vùng mẫu MxN Độ tương thích thể hiện thông qua năng lượng của phần dư khi lấy hiệu giữa vùng mẫu và vùng hiện tại Năng lượng của một vùng thể hiện thông qua kích thước dữ liệu cần phải lưu trữ Hệ thống phải quét tất cả các vùng lân cận (tính từ trung tâm vùng hiện tại)
và chọn vùng có năng lượng thặng dư nhỏ nhất Hình 2.6 thể hiện quá trình tính toán hướng di chuyển
¾ Vùng được chọn sẽ được “nén” bằng cách trừ đi vùng vừa chọn được Phần này được gọi là phần bù di chuyển (motion compensation)
¾ Phần dư sẽ được mã hoá và truyền đi cùng với độ dời (offset) giữa khối hiện tại
và vị trí của khối tìm được Thông số này được gọi là vector di chuyển (motion vector)
Kích thước khối được sử dụng khác nhau tuỳ theo giải thuật Kích thước càng nhỏ thì năng lượng của phần dư càng giảm Tuy nhiên, số lượng vector di chuyển sẽ tăng lên Do đó các giải thuật thường chọn khích thước khối là 16x16 hoặc 8x8
Trang 21Hình 2.6 Tính toán độ dịch chuyển
2.3.1.2 Biến đổi dữ liệu
Mục tiêu của việc biến đổi dữ liệu là chuyển hình ảnh từ miền giá trị này sang miền
khác (thường chuẩn hơn, dễ mã hoá hơn) Các kỹ thuật biến đổi dữ liệu được lựa chọn
dựa theo các tiêu chí sau:
¾ Miền dữ liệu cần biến đổi phải độc lập và đã được nén
¾ Phép biến đổi có thể biến đổi ngược lại
¾ Số phép toán tính toán phải chấp nhận được
MPEG dùng phép biến đổi DCT (Discrete Cosine Transform) để biến đổi các frame
thặng dư Kết quả sau khi biến đổi DCT của một ma trận X (N x N) là một ma trận Y
(N x N) như sau:
T AXA
Vùng tìm kiếm Vùng tương thích
Trang 22và phép biến đổi ngược DCT như sau:
YA A
2C
0), i(
1C
,2
)12(
=
N N
N
i j C
A ij i π
2.3.1.3 Mã hoá entropy
Dữ liệu sau khi biến đổi sẽ được mã hoá trước khi truyền tải/lưu trữ Mục tiêu của
việc mã hoá là nhằm giảm số lượng bit cần dùng cho cùng một đơn vị thông tin
MPEG sử dụng phương pháp mã hoá Huffman Phương pháp này sử dụng tần xuất
xuất hiện của các mẫu để mã hoá Các mẫu có tần xuất xuất hiện càng cao sẽ được mã
hoá bằng chuỗi bit với kích thước càng ngắn
2.2 Phân đoạn video bằng cách nhận dạng biên (shot boundary
detection - SBD)
Vì các CSDL video chứa một số lượng lớn các video nên cần phải có cơ chế truy
xuất thông tin hiệu quả Có ba cách tiếp cận để đánh chỉ số các video là: dựa theo chủ
đề (text-based), dựa theo đặc trưng (feature-based) và dựa theo ngữ nghĩa (senmantic
based) Dữ liệu video chứa một khối lượng thông tin rất lớn nên rất khó để biểu diễn
thông qua chủ đề hoặc dữ liệu thô (màu sắc, âm thanh, …) Do đó hầu hết các CSDL
video đều dùng cách đánh chỉ số dựa theo ngữ nghĩa của video
Phân đoạn biên là bước đầu tiên trong việc đánh chỉ số và truy xuất video Mục tiêu
của phân đoạn biên là chia một đoạn video thành một tập các đoạn video có ý nghĩa
Mỗi đoạn video sẽ được biểu diễn bằng một frame đặc trưng mang ý nghĩa cho từng
Trang 23đoạn Người sử dụng sẽ chọn lựa video dựa theo các hình ảnh đặc trưng của từng đoạn thay vì phải xem qua một phần hoặc toàn bộ video
Kỹ thuật chính được sử dụng trong SBD là so sánh sự thay đổi giữa hai frame liên tục Nếu mức độ thay đổi lớn hơn giá trị ngưỡng thì điểm cắt giữa hai frame này được xem như biên của hai đoạn video Các giải thuật SBD có thể hoạt động được trên dữ liệu đã được nén hoặc dữ liệu chưa nén Tuy nhiên các giải thuật phân đoạn trực tiếp trên dữ liệu nén có hiệu suất cao hơn do giảm được thời gian giải nén và nén dữ liệu
2.2.1 Một số phương pháp nhận dạng biên trên dữ liệu chưa nén
Các phương pháp trên dữ liệu chưa nén có thể được phân thành năm loại [2]: so trùng mẫu (template-matching), dựa theo biểu đồ (histogram-based), so sánh kép (twin-comparison), dựa theo khối (block-based), và dựa theo mô hình (model-based) Trong phương pháp so trùng mẫu, từng pixel trong frame fm sẽ được so sánh với pixel ở cùng toạ độ của frame kế tiếp fm+1 Vị trí biên giữa hai đoạn video là điểm mà hàm sai biệt D(fm, fm+1) lớn hơn một giá trị ngưỡng đã định trước
Một ví dụ cho kỹ thuật dựa trên histogram được giới thiệu bởi Tonomura (1991) [2] Trong đó hàm sai biệt (S) về histogram giữa hai frame fm và fm+1 được tính Nếu S lớn hơn một giá trị ngưỡng thì đây được coi là một điểm cắt Công thức tính S như sau:
Trang 24dựa trên biểu đồ ít nhạy hơn đối với các thao tác của camera và sự di chuyển của các đối tượng so với kỹ thuật so trùng mẫu
Một phương pháp khác là so sánh kép được giới thiệu bởi Zhang, Kankanhalli, Smoliar và Tan vào năm 1993 [2] Kỹ thuật này sử dụng hai ngưỡng, một để xét điểm cắt và một ngưỡng để xác định frame bắt đầu cho một điểm chuyển tiếp Phương pháp dựa theo khối không so sánh từng pixel giữa hai frame mà làm việc trên từng khối trong frame Với khuynh hướng này, mỗi frame được chia thành r khối Sau đó mỗi khối con trong frame fm sẽ được so sánh với khối tương ứng trong frame fm+1 Phương pháp cuối cùng trong nhóm này là dựa theo mô hình Trong đó mọi sự biến đổi đều được mô hình hoá thành các công thức toán học Phương pháp này không chỉ tính toán điểm cắt mà còn xác định các điểm biến chuyển (transition point) khác (cắt, xoá, …)
2.2.2 Phương pháp nhận dạng biên trên dữ liệu nén
Các phương pháp nhận dạng biên trên dữ liệu nén thường có hiệu suất cao hơn do
nó loại trừ được công đoạn giãn nén và nén dữ liệu Tuy nhiên, cách tiếp cận này có một nhược điểm là độ chính xác thường thấp hơn so với các phương pháp hoạt động trên dữ liệu chưa nén Các phương pháp trong cách tiếp cận này được chia thành ba nhóm: dùng các hệ số DCT, dùng các vector di chuyển (motion vector), kết hợp cả hai phương pháp trên
Trong nhóm thứ nhất, các hệ số DCT được dùng để nhận dạng sự thay đổi cảnh Trong phương pháp do Chen đề nghị [5], nhận dạng biên được thực hiện bằng cách trích các đặc trưng (feature) từ các DC frame Các đặc trưng được tổ chức trong các vector đặc trưng đa chiều (high-dimension feature vector) Các vector này được dùng trong cây nhị phân hồi qui (binary regression tree) để xác định xác suất một frame là điểm biên Phương pháp của Yeo và Liu [6] sử dụng sự khác biệt về độ chói (luminance) của các pixel trong các DC frame để nhận dạng biên
Trang 25Nhóm thứ hai sử dụng ý tưởng là các vector di chuyển sẽ thay đổi một cách liên tục giữa các frame trong một đoạn Trong khi đó, các vector này sẽ đứt quãng tại các điểm biên giữa các đoạn Zhang [7] đề nghị một phương pháp dựa trên số lượng vector di chuyển để xác định điểm cắt Điểm cắt xảy ra giữa hai frame fm và fm+1 nếu M < T với
M là số lượng vector di chuyển trong fm+ 1 và T là một giá trị ngưỡng cho trước
Nhóm thứ ba sử dụng kết hợp cả hai cách tiếp cận trên (hybrid Motion/DCT) Các phương pháp trong nhóm này sử dụng cả các thông số DCT và thành phần chói để xác định điểm biên
2.2.3 Phương pháp xác định biên video shot dựa vào vector di chuyển và biểu đồ màu sắc
Trong phần này tác giả giới thiệu một kỹ thuật phân đoạn video shot trên video nén theo định dạng MPEG Kỹ thuật này được giới thiệu bởi nhóm KDDI với ý tưởng
là phân đoạn video tại các điểm cắt liên tục (gradual shot transitions) hoặc rời rạc (abrupt shot transitions) sao cho kích thước dữ liệu cần được giải mã ít nhất [16]
2.2.3.1 Giải mã MPEG bán phần
Các hệ số DC (DC coefficients) trong phép biến đổi DCT cung cấp các thành phần
ít xuất hiện nhất của hình ảnh và đồng thời biểu diễn các hình ảnh về mặt không gian Trong khi đó, thành phần DC (DC component) là một khối các giá trị trung bình Các frame được phân biệt thành 3 nhóm là I-frame, P-frame và B-frame Mỗi I-frame được
mã hoá thành các hệ số DC Trong khi đó, P-frame được mã hoá thành các vector di chuyển và giá trị thặng dư B-frame được mã hoá thành giá trị thặng dư và các vector dùng để tiên đoán tới và lùi
Đối với frame I, các hệ số DC có thể tính toán được thông quá trình giải mã VLD (Variable Length Decoding) mà không phải trải qua các quá trình tính toán khác như biến đổi ngược DCT Trong P- và B-frame, hầu hết các khối được mã hoá liên kết
Trang 26(inter coded) trong đó chỉ những tiên đoán lỗi sau khi thực hiện bù trừ di chuyển (motion compensation - MC) mới được mã hoá DCT mà thôi Bên cạnh đó, còn có những khối được bỏ qua (skip blocks) và những khối không được mã hóa
Hình 2.6 Chuỗi các I-frame, B-frame và P-frame
Kích thước các frame DC sau khi mã hoá DCT giảm đi còn 1/8 theo cả chiều ngang và chiều dọc Vì vậy các thành phần DC của P- và B-frame có thể tính toán được bằng cách bù trừ di chuyển trên miền dữ liệu đã được nén Có hai cách để tính toán hình ảnh DCT DC cho P-/B-frame Cách thứ nhất là áp dụng bù trừ di chuyển lên các vector di chuyển đã được thu giảm Cách thứ hai là áp dụng bù trừ di chuyển có trọng số thể hiện sự đóng góp của các khối cho việc tính toán bù trừ Hình 2.7 biểu diễn sơ đồ khối của mô hình thứ hai – mô hình được xem là tốt hơn nhờ giảm thiểu được nhiễu do việc bù trừ di chuyển bị sai
Hình 2.7 Frame DC với MC có trọng số
Forward
I B B P B B P B B P B B Bi-directional prediction
Weighted
MC
Frame memory
Trang 272.2.3.2 Xác định biên video shot
Bằng cách sử dụng phương pháp bù trừ di chuyển được đề cập ở phần trên, P- và
B-frame được tái tạo tương đối hoàn chỉnh Các kỹ thuật chính được dùng để phân
đoạn video như so sánh pixel, so sánh biểu đồ, so sánh sự khác biệt ở biên có được độ
chính xác khá cao Tuy nhiên, mỗi kỹ thuật này đều có những nhược điểm riêng Do
đó, tác giả đề nghị phương pháp sử dụng cả hai kỹ thuật so sánh pixel và so sánh biểu
đồ màu sắc để khắc phục các vấn đề của hai phương pháp trên nếu chúng được dùng
riêng lẻ
Tiền xử lý (pre-processing)
Nhằm loại trừ những nhận dạng biên sai do sự di chuyển của máy quay phim hoặc
đối tượng, chỉ những frame có thay đổi lớn so với các frame liền kề mới được chọn để
xác định điểm phân cắt Sự khác biệt này được tính theo công thức sau:
n n
D
0 0
1(, )|)
,(
trong đó M và N là tổng số khối 8 x 8 trong một frame tương ứng theo chiều dọc
và theo chiều ngang và Yn(i,j) là độ chói trung bình (average luminance) của khối Khi
đó, chỉ những frame nào thoả điều kiện sau mới được xem xét:
th_pre
Xác định biên video shot dựa vào sự thay đổi độ chói và màu sắc
Thông thường độ chói và màu sắc thay đổi một cách đáng kể tại các điểm biên Do
đó, các biên được xác định tại các điểm có độ chói và sắc tố thay đổi nhiều Một frame
được xem như biên khi:
1 1 1
Trang 28trong đó, α là hệ số dùng để phân đoạn và ρn là mức độ tương quan biểu màu sắc
ρn được tính toán theo công thức:
k
l k n n
H H
H H
, ,
2 , , 1
2 , ,
, , 1 ,
, ,
trong đó, H n,k,l là ma trận biểu đồ màu sắc Tuy nhiên khi điểm biên xuất hiện
trong đoạn video chứa nhiều di chuyển, rất khó xác định frame thay đổi nhiều nhất do
đó biểu thức 2.9 có thể không nhận dạng được điểm cắt Khi đó, chỉ có sự thay đổi của
biểu đồ sắc tố được sử dụng để nhận dạng biên dựa trên biểu thức sau:
th_ac
n >
với th_ac là giá trị ngưỡng để xác định điểm cực đại của ρn
Ngoài ra, khi hai video shot liên tiếp chỉ khác nhau góc quay, biểu đồ màu sắc sẽ
không thay đổi đáng kể dẫn đến việc xác định điểm cắt bằng công thức (2.9) và (2.11)
rất khó khăn Để khắc phục vấn đề này, giải thuật sẽ tìm kiếm điểm cắt thông qua sự
khác biệt về độ chói Một frame không thoã biểu thức (2.9) và (2.11) được xem là
điểm cắt nếu nó thoã mãn biểu thức sau đây:
với β và Th_ad là một vector trọng số và giá trị ngưỡng để tìm kiếm điểm cực đại
Biểu thức (2.12) sẽ tìm kiếm biên của các video shot tương tự nhau Trong khi đó, biểu
thức (2.13) được dùng khi giải thuật tìm kiếm biên theo vector di chuyển nhưng tỉ lệ
giữa D n và D n-1 , D n+1 không đủ lớn đế xác định biên theo biểu thức (2.12)
Trang 292.3 Rút trích key frame
Sau khi video được phân chia thành các video shot, các frame đặc trưng của mỗi
shot sẽ được rút trích giúp người sử dụng có thể hiểu được sơ lược đoạn video đó mà
không cần phải xem qua chi tiết
Rất khó có thể xác định được một frame là đặc trưng của mỗi đoạn hay không do
mỗi người xem có một góc độ phân tích khác nhau Tuy nhiên, hầu hết các tác giả đều
chọn key frame là frame ít thay đổi so với các frame liền trước và sau nhất Ý tưởng
của các giải thuật cũng tương tự như khi phân đoạn các video Điểm khác biệt duy
nhất là khi tìm điểm cắt giữa các đoạn, giải thuật chọn lựa frame có sự thay đổi nhiều
nhất so với frame trước đó Trong khi đó, để chọn key frame, các giải thuật chọn lựa
frame có ít thay đổi nhất (dựa vào vector di chuyển, màu sắc, …)
2.4 Gom nhóm các video shot
Để gom nhóm các video shot vào các nhóm ngữ nghĩa (semantic cluster), các video
shot trước tiên sẽ được phân loại (classification) Có hai mức độ xác định độ giống
nhau giữa các mẫu: (a) tương tự trực quan thực hiện thông qua so sánh các thuộc tính
cấp thấp (low-level visual feature), (b) tương tự ngữ nghĩa thông qua so sánh các thuộc
tính ngữ nghĩa cấp cao (high-level semantic feature)
Khoảng cách dựa theo các thuộc tính D F (Tδ,Tγ) giữa hai video shot Tδ, Tγđược định
nghĩa như sau:
F
l
l T T D
T T D
1
1
1),,(
1)
,(
F là khoảng cách giữa hai video shot tính theo thuộc tính F l còn
αl là trọng số của thuộc tính đó Các thuộc tính cấp thấp này có thể là màu sắc, độ
sáng, âm thanh, phụ đề, … Với số lượng thuộc tính cấp thấp rất lớn, các hệ thống
Trang 30thường dùng những giải thuật như Neural Network, SVM, … để phân loại các video
shot
Trong khi đó, công thức đo khoảng cách ngữ nghĩa giữa hai video shot Tδ, Tγ được
định nghĩa như sau:
T
D S
,1
,0),
với Lδ và Lγ là nhãn của hai video shot trên
Để phân loại các video shot, cần có những video shot đã được phân loại sẵn vào các
nhóm ngữ nghĩa được gọi là các mẫu (sample) Sau khi gán nhãn cho từng video shot,
việc gom nhóm sẽ được thực hiện thông qua các thuộc tính cấp cao (nhãn của đoạn,
…)
2.5 Tổ chức cơ sở dữ liệu video
2.5.1 Mô hình cơ sở dữ liệu video phân cấp
Nhằm đáp ứng nhu cầu điều khiển truy cập nhiều cấp một cách hiệu quả, các
CSDL video thường được đánh chỉ số theo phân cấp [1] Trước tiên các thành phần
video (video content) được phân chia vào các nhóm ngữ nghĩa (semantic cluster) Mỗi
nhóm ngữ nghĩa này sau đó được chia thành các nhóm con (subcluster) và mỗi nhóm
con sau đó được chia thành các vùng con (subregion)
Các nút trong mô hình CSDL phân cấp được tổ chức theo các bảng hash (hash
table) Nút gốc được biểu diễn bằng một bảng hash lưu trữ thông tin về tất cả các
cluster trong CSDL Mỗi nhóm ngữ nghĩa được tổ chức thành một bảng hash lá (leaf
hash table) lưu trữ thông tin của tất cả các nhóm con thuộc vào nhóm đó Các bảng
hash lá cấp hai (second - leaf hash table) được dùng cho mỗi nhóm con để lưu trữ
thông tin của các vùng con (subregion) Mỗi vùng con sẽ là một bảng ánh xạ giữa từng
Trang 31đối tượng video và địa chỉ vật lý của các đối tượng Bên cạnh đó, mỗi nút trong CSDL còn lưu trữ giá trị của các thuộc tính đặc trưng và hệ số của các thuộc tính này
Hình 2.7 Mô hình cơ sở dữ liệu video phân cấp
Video Contents in Database
Subcluster 11 Subcluster 1k Subcluster n1 Subcluster nl
Subregion n11 Subregion 11m
Trang 32Để tăng hiệu suất truy xuất dữ liệu (I/O cost), các video trong cùng một nhóm ngữ nghĩa thường được lưu trữ trên một ổ đĩa độc lập Ngoài ra, người sử dụng thường xuyên truy vấn theo các thuộc tính như tên video, ngày sản xuất, … Do đó cần phải xây dựng các index trên các thuộc tính này Vì giá trị các thuộc tính của video thường
là duy nhất nên các hệ thống CSDL video thường xây dựng index theo dạng B-tree
2.5.2 Mô hình cơ sở dữ liệu video tổng quát
Mô hình CSDL video tổng quát được giới thiệu bởi Hjelsvold [9] với ý tưởng là CSDL video được xây dựng có thể hỗ trợ nhiều ứng dụng khác nhau Một CSDL video
lý tưởng phải hỗ trợ cho nhiều mục đích như sản xuất video, quản lý video, phân tích khoa học, … CSDL video cũng cần phải cung cấp khả năng sử dụng lại các thành phần video
Trong hình 2.8, đối tượng ở mức cao nhất trong mô hình này là video document Mỗi video document tương ứng với một hoặc nhiều stuctural component Một struture component là đối tượng tổng quát hóa của compound unit , sequence, scene và shot Mỗi structrure component là một chuỗi frame liên tục (frame sequence), được đại diện bằng frame bắt đầu và frame kết thúc Mỗi video document được xem như một dòng video (video stream) liên tục Một video stream được lưu thành nhiều đoạn video (stored video segment) Mô hình CSDL video tổng quát được thiết kế sao cho các thành phần video được tái sử dụng nhiều nhất Do đó, quan hệ giữa dòng video và đoạn video là quan hệ nhiều nhiều
Để hỗ trợ cho việc tìm kiếm, mô hình này hỗ trợ các chú thích (annotation) trên các đối tượng video Các loại chú thích phải được định nghĩa trước bởi các chuyên gia lĩnh vực Một số loại chú thích thường được sử dụng là chú thích về người (person annotation), nơi chốn (location annotation), đối tượng (object annotation), sự kiện (event annotation) Các chú thích được áp dụng lên các chuỗi frame theo quan hệ nhiều – một (nghĩa là một chuỗi frame có thể có nhiều chú thích)
Trang 33Hình 2.8 Mô hình cơ sở dữ liệu video tổng quát
Trang 34Chương 3
TRUY VẤN CƠ SỞ DỮ LIỆU VIDEO
Thành phần quản lý truy vấn CSDL video phải đảm bảo tính đúng đắn và tính hiệu quả Điều này có nghĩa là hệ thống chỉ cho phép người sử dụng truy xuất những đoạn video được cho phép mà thôi
3.1 Quản lý truy xuất (Access control)
Việc quản lý truy xuất dữ liệu được thực hiện bằng các luật lọc (filtering rules) [1]
Các luật này mô tả ai (who) được truy xuất những gì (what) trong CSDL video và dưới chế độ (mode) nào (which)
Hình 3.1 Mô hình truy xuất theo truy vấn
disks
read filtering
Authorized query results
Access control
Trang 35Hình 3.2 Mô hình truy xuất lựa chọn
Người sử dụng có thể truy xuất các thành phần video theo hai phương thức khác nhau: truy vấn (querying) và chọn lựa (browse) Trong phương thức truy vấn, người sử dụng sẽ nhập vào một câu truy vấn để truy xuất các thành phần video (ví dụ, truy vấn phim thuộc chủ đề bóng đá có cầu thủ Beckham) Trong phương thức lựa chọn, người
sử dụng sẽ duyệt qua các thành phần video và truy xuất trực tiếp những thành phần video mà họ lựa chọn Hai phương thức truy vấn này được thể hiện trong hình 3.1 và 3.2 Quá trình truy vấn CSDL video được tổ chức thành hai giai đoạn Trong giai đoạn thứ nhất, các thành phần video liên quan được truy xuất Giai đoạn thứ hai áp dụng các luật lọc để lựa chọn các thành phần mà người sử dụng được quyền truy xuất
Mô hình quản lý truy xuất hỗ trợ việc lựa chọn các đối tượng để áp dụng các luật lọc một cách linh động [1] Mô hình hỗ trợ nhiều cấp độ bảo mật CSDL Các cấp độ này có thể là một nhóm ngữ nghĩa, một nhóm con, một dòng video (video stream), một
read filtering
Authorized query results
Access control
Trang 36video shot, một frame hoặc ngay cả một đối tượng đặc biệt (salient object) Một luật lọc có thể áp dụng trên một tập các đối tượng video hoặc một biểu thức đối tượng (content expression) Một biểu thức đối tượng là một biểu thức xây dựng từ các thuộc tính của các thành phần video Ngoài ra mô hình này cũng hỗ trợ các ngoại lệ (exception) Một ngoại lệ định nghĩa một hoặc một ít thành phần video mà người sử dụng không được truy xuất trong một tập các thành phần mà người sử dụng đó có thể truy xuất Ví dụ, một người sử dụng được quyền truy xuất nhóm “thể thao” ngoại trừ nhóm con “bóng đá” Sau đây là định nghĩa chi tiết các khái niệm trên
Các định nghĩa cơ sở:
Ta ký hiệu VD là CSDL video, U là tập các người sử dụng được quyền truy cập vào VD Các thành phần video trong VD được tổ chức theo dạng phân cấp bởi một quan hệ thứ tự bán phần < VD Cho hai thành phần video ve 1 , ve 2 ∈ VD, ve 1 < VD ve 2 nếu
và chỉ nếu ve 1 là một thành phần con của ve 2 , có nghĩa ve 1 là một nút trong cây con có
gốc là ve 2
Ta cũng ký hiệu N là tập số tự nhiên và Q là môt quan hệ thứ tự bán phần thể hiện các mức độ chất lượng của các thành phần video Giả sử rằng trong tập Q lúc nào cũng tồn tại một thành phần T sao cho ∀x ∈ Q, x ≤ T Điều này có nghĩa T là mức độ chất
lượng cao nhất của CSDL video
Định nghĩa 3.1: Đặc tả chế độ (mode specification)
Một đặc tả chế độ là một cặp (d,q) với d ∈ N thể hiệu khoảng thời gian và q ∈ Q
biểu diễn cho mức độ chất lượng Cả hai giá trị d và q đều có thể thiếu, khi đó hệ
thống sẽ sử dụng giá trị mặc định d = thời gian của toàn bộ đoạn video và q = T Ví dụ,
đặc tả chế độ (60, low) thể hiện quyền truy cập trong 60 giây với chất lượng thấp
Định nghĩa 3.2: Biểu thức đối tượng (content expression)
Trang 37Gọi FT là tên các thuộc tính của các đối tượng video trong CSDL video, V là tập các giá trị của các thuộc tính trong FT và OP là tập các toán tử trên V (nghĩa là >, <, =,
…) Khi đó biểu thức đối tượng CE được định nghĩa như sau:
¾ Mỗi thành phần trong FT là một biểu thức đối tượng
¾ Nếu ft ∈FT, v ∈V, và op ∈OP thì fp op v cũng là một biểu thức đối tượng
¾ Nếu ce1 và ce 2 là hai biểu thức đối tượng thì ce ∨ ce 2 và ce 1 ∧ ce2 cũng là hai biểu thức đối tượng
Ví dụ:
¾ Soccer ∧ date > 11/11/2006 biểu diễn tất cả các thành phần video liên quan đến bóng đá và được sản xuất từ ngày 11/11/2006
¾ {c1, c2, c3, c4, f1} biểu diễn các nhóm ngữ nghĩa c1, c2, c3, c4 và frame f1.
Định nghĩa 3.3: Đặc tả thành phần video (video element specification)
Một đặc tả thành phần video có thể ở một trong các dạng sau:
¾ một tập {id1 , …, id n } chứa các chỉ số của các thành phần video trong VD, hoặc
¾ các từ khoá all clusters, all subclusters, all regions, all subregions, all scenes,
all shots, all frames, all salient objects, ký hiệu tất cả các nhóm, nhóm con,
vùng (region), vùng con (subregion), cảnh (scene), đoạn (shot), frame, đối
tượng đặc biệt (salient object) trong VD, hoặc
¾ một biểu thức đối tượng trong CE, biểu diễn ngầm một tập các thành phần video trong VD
Định nghĩa 3.4: Luật lọc (filtering rule)
Một luật lọc là một bộ <user, target_elements, cencored_elements, mode_specs>
Trong đó:
Trang 38¾ user ∈ U là người sử dụng mà luật lọc đang xét
¾ target_elements ∈ VD là tập các đối tượng video mà luật đang xét
¾ cencored_elements ∈ target_elements là tập các đối tượng mà người sử dụng không được quyền truy xuất
¾ mode_spec là đặc tả chế độ truy xuất các đối tượng video
Ví dụ, luật <u, te, ce, (d, q)> xác nhận quyền cho người sử dụng u xem trong thời gian d với mức độ chất lượng q các thành phần video te không chứa các thành phần video ce
Giải quyết mâu thuẫn giữa các luật lọc
Các luật lọc có thể mâu thuẫn lẫn nhau dẫn đến sự cần thiết của các luật dùng để
giải quyết các mâu thuẫn này Ví dụ, xét hai luật lọc F 1 và F 2 cùng áp dụng lên người
sử dụng u, giả sử rằng F 1 cho phép u truy xuất toàn bộ nhóm c 1 ngoại trừ nhóm con
sc 1 Trong khi đó F 2 cho phép u truy xuất sc 1 Như vậy đã có sự mẫu thuẫn giữa luật F 1
và F 2 ở nhóm con sc 1
Để giải quyết các mâu thuẫn này, tác giả Bernito [1] qui định luật lọc chi tiết hơn
sẽ có quyền ưu tiên cao hơn Ý tưởng của qui định này là luật áp dụng ở cấp thấp hơn
sẽ được áp dụng nếu có mâu thuẫn xảy ra Theo ý tưởng này, người sử dụng u trong ví
dụ trên sẽ được quyền truy xuất nhóm con sc 1
Định nghĩa 3.5: Phép chiếu trên CSDL video (video database projection)
Gọi ve ∈ VD là một thành phần video Phép chiếu theo VD trên ve, ký hiệu là
Πve (VD), chỉ chứa các thành phần ve’ ∈ VD sao cho ve’ < VD ve hoặc ve < VD ve’
Định nghĩa 3.6: Lọc dựa theo phép chiếu (filtering base projection)
Trang 39Gọi ve ∈ VD là một thành phần video Phép chiếu theo FB trên ve, ký hiệu là
Πve (FB), là tập con của FB sao cho: ∀F ∈ FB, F ∈ Π ve (FB) nếu và chỉ nếu target_elements(F) ∩ Π ve (VD) ≠ φ
Định nghĩa 3.7: Luật lọc chi tiết hơn (more specific filtering rule)
Gọi u ∈ U là một người sử dụng, ve ∈ VD là một thành phần video Gọi F 1 , F 2 ∈
FB sao cho user(F 1 ) = user(F 2 ) = u và F 1 , F 2 ∈ Πve(FB) Luật F1 được gọi là chi tiết hơn luật F2, ký hiệu là F 1 >ve F2, nếu và chỉ nếu chúng thoả một trong hai điều kiện: (1) ∃ve’∈ (target_elements(F 1)∩Πve (VD)) sao cho !∃ve’’ ∈ (target_elements (F 2) ∩
Πve (VD)), ve’’ < VD ve’
(2) luật 1 không thoả và ∃ve’ ∈ (cencored_elements(F1) ∩ Πve (VD)) sao cho
!∃ve’’ ∈ (target_elements(F2) ∩ Πve (VD)), ve’’ < VD ve’
3.2 Các cơ chế truy xuất
3.2.1 Truy xuất theo truy vấn
Trong cơ chế này, người sử dụng truy xuất các video shot dựa theo các câu truy
vấn Mỗi video shot được đặc trưng bằng một mẫu đặc trưng n chiều vs = {x 1 , x 2 , …,
x n} Quá trình truy xuất gổm ba bước chính:
(1) Trước tiên, “khoảng cách” giữa video shot mẫu và các nhóm ngữ nghĩa được
tính toán Bộ quản lý truy vấn (query processor) sẽ trả về nhóm A k là nhóm có “khoảng
cách” nhỏ nhất hoặc nhóm có vector khoảng cách d F (vs, A k ) không lớn hơn bán kính
ρk của A k Nếu tồn tại một nhóm A k thỏa mãn yêu cầu trên, bộ quản lý truy vấn sẽ tìm
nhóm con liên quan nhiều nhất với video shot vs và sau đó tìm vùng con liên quan
nhiều nhất
Trang 40(2) Sau đó khoảng cách giữa video shot vs và tất cả các đối tượng trong các vùng
con đã được chọn sẽ được tính toán Máy tìm kiếm (search engine) sẽ trả về một tập các thành phần video được sắp xếp theo độ tương tự so với video mẫu
(3) Thứ ba, các luật lọc được sử dụng để chọn các video thích hợp ở version thích hợp từ kết quả của phép truy vấn
Chi tiết giải thuật truy vấn được biểu diễn trong hình vẽ 3.3
INPUT: 1) An access request (u, vs), where u is a user and vs is a video shot
2) The Filtering Base FB
OUTPUT: 1) Authorized elements, i.e., the set of vs components u is authorized to access,
if Authorized elements ≠ φ,
2) ACCESS DENIED, otherwise
METHOD:
(1) Authorized elements is initialized to be empty
(2) Interesting elements = Solve Query(vs)
(3) if Interesting elements = φ: return ACCESS DENIED
else
for each ie ∈ Interesting elements:
Let Target Rules = {F | F ∈ Πie (FB), and user(F) = u}
Let Πie (VD)|| ie = {ie} ∪ {ve | ve ∈ Π ie (VD) and (ve < VD ie or ve = ie)}
while Target Rules ≠ φ and ∃ ve in Π ie (VD)|| ie which is not marked:
Let Strongest Target Rules = {F | F ∈ Target Rules and
!∃ F’ ∈ Target Rules with F‘>ie F}
for each R ∈ Strongest Target Rules:
Let UM be the set of unmarked video elements in Π ie (VD)|| ie
for each ve ∈ UM which is denoted by censored elements(R):
Mark ve and each ve’ ∈ UM such that ve’ < VD ve with NA
Remove the marked elements fromUM
endfor
for each ve ∈ UM which is denoted by target elements(R):
Mark ve and each ve’ ∈ UM such that ve’ < VD ve with
(A,mode _spec(R))
Remove the marked elements from UM