开发面向对象的视频数据库系统:CCM/ST与CAROL/ST的创新应用
1. 背景与现状
在数据库管理领域,面向对象数据库(OODB)管理系统成为当前的发展趋势。在OODB中,每个现实世界的实体都被建模为一个对象,每个对象都有一组属性和方法。其重要特性包括继承机制以及复杂/复合对象建模。由于视频数据比文本、语音和图像等其他类型的数据复杂得多,因此使用OODB系统来建模和管理视频数据更为合适。
现有的面向对象视频数据库管理系统架构包含两个基本组件:视频分类组件(VCC)和概念聚类机制(CCM)。VCC用于生成构建视频数据所需的有效索引,CCM则具有扩展的面向对象特性和技术。通过结合CCM的概念和技术,以及VCC生成的分类特征和索引,系统允许用户根据语义特征/索引术语从现有视频对象动态形成视频节目。
为了检索存储在视频数据库中的视频数据,设计并实现了一种声明式视频查询语言(CAROL)。尽管CCM和CAROL提供了丰富的功能,但在时空推理方面存在一些不足,因此需要对模型和语言进行扩展。
2. 系统架构扩展
为了使视频数据库管理系统(Video DBMS)更有效、功能更丰富,对其架构进行了扩展和增强。具体来说,CCM和查询语言处理组件都得到了增强,以支持视频数据的空间和时间语义,CCM变为CCM/ST,CAROL变为CAROL/ST。此外,还添加了一个规范语言处理组件,供专家用户注释一些概念特征,如事件、动作和对象的移动等,作为视频数据的额外索引供CAROL/ST使用。这个规范语言还将作为与未来计算机视觉和图像处理算法的接口,这些算法可以自动提取此类信息。
以下是系统组件之间的关系流程:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A1(Raw video files):::process --> A2(Segmented video & Domain knowledge Data):::process
A2 --> A3(Segmented video tree):::process
B1(Scene order & Features):::process --> B2(Scene tree & Feature tree):::process
C1(Event/Action):::process --> C2(Features):::process
D1(CAROL/ST Query):::process --> D2(Target scene indices):::process
D2 --> D3(View of video scenes):::process
E(Event/Action query):::process <--> D1
3. CCM/ST:支持时空语义的扩展机制
3.1 支持场景排序
在原始的CCM模型中,簇是一个概念性的视频场景集合,由属性、方法和数据库中视频对象的动态分组组成,每个视频对象组与一个角色相关联。角色是视频场景的一个特征/索引,也由属性和方法组成。一个场景S可以表示为:
[S =
]
其中,A是场景属性集,M是场景方法集,X是特征 - 视频关联集:
[X = {
| 1 \leq i \leq n}]
特征(F_i)可以描述为:
[F_i =
]
对于视频应用,支持目录(ToC)是一个重要概念。为了支持ToC,场景的概念被扩展为定义一个时间场景(S_t):
[S_t =
]
其中,T是显示场景(S_t)中视频对象时间顺序的模板。
以下是一个视频节目通过场景顺序和特征索引树描述的示例:
| 场景节点 | 包含特征 |
| ---- | ---- |
| S1 | F3, F5 |
| S2 | 无 |
| S3 | F2 |
| S4 | 无 |
| S5 | F4 |
| S6 | F2 |
3.2 支持空间和时间操作
CCM/ST选择支持一系列与空间和时间语义相关的运算符和函数。有五个基本的空间函数适用于比较包含空间信息的两个特征。此外,还有六个一维和九个二维空间运算符用于识别低级别格式的图像对象的位置。
在时间方面,有几种类型的时间运算符和函数,如区间规范函数、区间排序函数、区间排序运算符和区间比较运算符。两种时间维度(有效时间和用户定义时间)适用于“对象级别”和“属性级别”,因此CCM/ST可以存储场景和特征的过去历史和未来计划,从而提供视频节目的不同版本。
4. CAROL/ST:支持空间和时间原语的查询语言
CAROL是基于CCM特性设计的查询语言,其结构类似于标准的结构化查询语言(SQL),支持五种基本的视频检索功能:
- 通过属性限制选择场景/特征/视频
- 通过场景限制选择视频播放器(视频对象)
- 通过特征限制选择场景
- 通过场景限制选择特征
- 通过视频播放器限制选择场景
为了支持空间和时间语义,CAROL/ST进行了扩展,以提供更具表达性和灵活性的查询语言。以下是一些查询示例:
4.1 关于有效时间的选择
- 查询体育新闻历史 :
SELECT x FROM SCENE y
WHERE y HAS FEATURE SportsNews
AND VT_INTERVAL(y) BEFORE CURRENT_DATE;
- 查询MTV收藏中最早的特征视频对象 :
SELECT x FROM FEATURE y
WHERE y HAS SCENE MTVCollection AND y = FIRST(y);
4.2 关于空间/时间语义的选择
- 查询晚间新闻中位于左上角至少60帧的足球特征 :
SELECT x FROM FEATURE y
WHERE y HAS SCENE EveningNews
AND y.name = “Football” AND y AT TOP_LEFT FOR >= 60;
- 查询克林顿和莱温斯基在一起不少于4秒的视频片段 :
SELECT x FROM SCENE y
WHERE y HAS FEATURE Clinton AND y HAS FEATURE Lewinsky
AND F_INTERVAL(Clinton) EQUAL F_INTERVAL(Lewinsky)
AND DURATION(F_INTERVAL(Clinton)) >120;
- 查询包含太阳和大海特征,且太阳在大海上方的场景 :
SELECT x FROM SCENE y
WHERE y HAS FEATURE Sun AND y HAS FEATURE Sea
AND F_INTERVAL(Sun) OVERLAP F_INTERVAL(Sea)
AND Sun = TOP(Sun, Sea);
5. 规范语言
规范语言(或内容/语义描述定义语言)供专家用户将感兴趣的事件/动作语义注释到CCM/ST中。它基于嵌入在特征索引层次结构中的时空推理。由于目前从图像中提取特征的技术仍有限且在发展中,因此引入了一种新的数据结构ST - Feature到CCM/ST中,其结构如下:
[ST - Feature = <{Position - array, Start - frame, End - frame}>]
其中,Position - array是图像特征的空间表示,Start - frame和End - frame存储ST - Feature所表示特征的持续时间。
活动模型由四个层次组成:活动、事件、运动和对象。用户可以输入活动查询,如“playing sports”、“playing football”等。查询语言处理器会根据输入的术语从运动层开始分析,匹配关键字后向上搜索事件层,最终根据对象层的对象从数据库中检索视频场景。
6. 实现问题 - 查询索引机制
随着系统中添加了时空语义,用户可能会提出一些常见查询,如询问特征的空间位置、大小,以及比较两个或多个特征的位置和方向。具体的用户查询类型包括:
-
指定空间位置
:
1. “What feature is at left?”
2. “What feature is at top and left?”
3. “Is the feature at right?”
4. “Is the feature at bottom and right?”
5. “What is the position of the feature?”
-
指定特征大小
:
1. “Does the feature have the size of three cells?”
2. “Does the feature have the size of more than three cells?”
3. “What features have the size of four cells?”
4. “What features have two or less number of cells?”
-
比较两个或多个特征
:
1. “Which feature is on top of the other, ST1 or ST2?”
2. “What feature is on top of ST3?”
3. “For the feature ST1, what else features are at the same video frame?”
为了便于处理这些查询,引入了查询索引机制。根据特征的空间表示,将特征分类并排序到六个链表中:HL(水平左)、HM(水平中)、HR(水平右)、VT(垂直顶)、VM(垂直中)和VB(垂直底)。
以下是一个查询示例,用于检索包含位于左侧的足球特征的场景:
SELECT x FROM SCENE y
WHERE y HAS FEATURE Football AND Football AT LEFT;
查询处理有两种方式:
- 从特征树中搜索足球特征,找到后检查特征 - 视频关联,获取ST - Feature的ID,进入索引机制的访问点一,获取访问点二的指针,若有HL指针则表示特征在左侧。
- 先从索引机制的访问点二搜索,从HL列表中获取ST - Feature的ID,然后从特征树中选择足球特征,检查其是否包含具有相同ID的时空语义。
为了让用户更精确地指定特征之间的空间关系,对访问点二的索引结构进行了扩展,引入了表示相对位置的指针,如L(相对左)、R(相对右)、T(相对顶)、B(相对底)和O(重叠)。例如,查询太阳和月亮特征重叠且太阳在月亮上方的场景:
SELECT x FROM SCENE y
WHERE y HAS FEATURE Sun AND y HAS FEATURE Moon
AND F_INTERVAL(Sun) OVERLAP F_INTERVAL(Moon)
AND Sun = TOP(Sun, Moon);
通过上述的架构扩展、查询语言增强和索引机制的引入,系统能够更好地支持视频数据的时空语义查询和管理,为用户提供更灵活、精确的视频检索体验。
开发面向对象的视频数据库系统:CCM/ST与CAROL/ST的创新应用
7. 索引机制的数据结构与查询处理
为了更高效地处理查询,索引机制采用了特定的数据结构。以下是相关数据结构的详细介绍:
-
基本索引结构
:根据特征的空间位置,将其分类到六个链表(HL、HM、HR、VT、VM、VB)中,每个链表只存储ST - Feature的ID,这样可以减少磁盘空间的使用。
-
扩展索引结构
:为了支持更复杂的空间关系查询,对访问点二的索引结构进行扩展,增加了表示相对位置的指针(L、R、T、B、O)。
以下是一个数据结构示例,展示了不同特征在不同视频帧区间的位置:
| 视频帧区间 | 特征 | 位置表示 |
| ---- | ---- | ---- |
| 1 | ST2(1) | 322 |
| 1 | ST3(1) | 331 |
| 2 | ST1(1) | 311 |
| 2 | ST3(2) | 322 |
| 3 | ST4(1) | 323, 333 |
| 4 | ST5(1) | 311 |
| 4 | ST6(1) | 313, 323 |
| 5 | ST7(1) | 311 |
| 5 | ST8(1) | 313, 323 |
| 5 | ST9(1) | 323, 333 |
查询处理流程如下:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A(用户查询):::process --> B{查询类型}:::process
B -->|指定空间位置| C1(从特征树或访问点二搜索):::process
B -->|指定特征大小| C2(检查特征时空语义):::process
B -->|比较特征| C3(使用扩展索引结构):::process
C1 --> D1(获取ST - Feature ID):::process
C2 --> D2(检查特征大小信息):::process
C3 --> D3(根据相对位置指针查询):::process
D1 --> E(筛选符合条件的场景):::process
D2 --> E
D3 --> E
E --> F(返回查询结果):::process
8. 活动模型的应用与查询推理
活动模型在系统中起着重要作用,它帮助查询语言处理器理解用户的查询意图。活动模型由四个层次组成:活动、事件、运动和对象。以下是活动模型的详细介绍:
| 层次 | 描述 |
| ---- | ---- |
| 活动 | 如“playing sports”等宏观描述 |
| 事件 | 如“playing football”等具体事件 |
| 运动 | 如“kicking”等具体动作 |
| 对象 | 如“Leg, Football”等具体特征 |
用户输入活动查询时,查询语言处理器的推理流程如下:
1.
从运动层开始分析
:处理器首先从运动层搜索输入术语中的动词,如“kicking”。
2.
搜索事件层
:如果在运动层找到匹配的关键字,处理器使用输入术语中的名词(如“football”)从事件层进行搜索。
3.
处理无匹配情况
:如果在运动层没有找到匹配的动词,处理器会尝试推理该词的同义词,然后再次搜索。如果仍然没有匹配,处理器会跳过动词,直接从事件层到活动层搜索名词。
4.
定位对象层
:当满足搜索阈值后,处理器会定位到对象层,将对象作为具有时空语义的特征输入到特征索引树中,并要求用户输入相关的时空语义(ST - Feature)。
以下是一个活动查询示例:用户输入“kicking football”,处理器先从运动层搜索“kicking”,然后从事件层搜索“football”,找到匹配后定位到对象层(“Leg, Football”),将这些对象作为特征输入到特征索引树中,最后根据这些特征从数据库中检索视频场景。
9. 系统的优势与应用场景
通过对系统架构、查询语言和索引机制的改进,该视频数据库管理系统具有以下优势:
-
丰富的时空语义支持
:CCM/ST和CAROL/ST支持空间和时间语义的查询,能够处理复杂的时空关系,如特征的位置、大小、时间顺序等。
-
灵活的查询处理
:提供多种查询方式和处理方法,用户可以根据需求选择合适的查询策略,提高查询效率。
-
可扩展性
:系统的架构和数据结构具有良好的可扩展性,能够适应不断变化的用户需求和技术发展。
该系统适用于多种应用场景,包括:
-
视频检索
:用户可以根据时空语义进行精确的视频检索,如查找特定时间、特定位置出现的视频片段。
-
视频分析
:通过对视频数据的时空语义分析,挖掘视频中的事件、动作等信息,为视频内容分析提供支持。
-
视频创作
:用户可以根据语义特征和时空关系动态组合视频对象,创作个性化的视频节目。
10. 总结与展望
本文介绍了一种面向对象的视频数据库管理系统,通过对CCM和CAROL的扩展,实现了对视频数据时空语义的支持。具体包括:
- 扩展系统架构,引入CCM/ST和CAROL/ST,支持空间和时间操作。
- 设计规范语言和活动模型,帮助用户注释和查询具有时空语义的视频数据。
- 引入查询索引机制,提高查询处理的效率和准确性。
未来,该系统可以进一步发展和完善:
-
结合计算机视觉技术
:利用计算机视觉算法自动提取视频中的时空语义信息,减少人工注释的工作量。
-
支持更多的时空运算符和函数
:扩展系统的时空语义表达能力,满足更复杂的查询需求。
-
优化系统性能
:通过改进数据结构和算法,提高系统的查询处理速度和存储效率。
通过不断的改进和创新,该视频数据库管理系统将能够更好地满足用户对视频数据管理和查询的需求,为视频领域的应用提供更强大的支持。

1050

被折叠的 条评论
为什么被折叠?



