Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
OVID: Design and Implementation of Video-Object Database System E. Oomoto and K. Tanaka IEEE Transactions on Knolwedge and Data Engineering, 5(4), August 1993. Modified from a presentation by Fahd Al-Qaddaa Outline Video-Object Data Model Introduction Motivating Problems Basic Ideas Video Object Data Model OVID: A Video-Object Database System 2 Introduction OO concept is considered suitable for describing the structure and semantic of multimedia data Major features provided by OODB systems: Representation and management of complex type Handling object identity Encapsulation of data and procedures Inheritance of attribute structure and methods based on class hierarchy 3 Introduction Is the modeling power offered by OODB features enough for MM data, especially video? New data modeling for video database management is needed because Video itself is raw data and independent from the content and the database structure Meaningful scenes in video are identified and described incrementally Meaningful scenes may be overlapped or included by others and may share some descriptional data. 4 Introduction The authors introduced a new data model called Video Object Data Model They introduce video objects The model is schemaless The inheritance is based on interval inclusion relationships A collection of composition operations for video objects are also provided 5 Motivating Problems Difficulties in defining attributes: To describe a video in conventional OODBMS’s We should decide what basic objects are Each frame (still image) could be a single object However, semantically a scene is a sequence of frames Objects could be defined as semantically meaningful sequences of frame (Can be done using OODBMS’s) Each object is defined by the tuple: (starting frame#, ending frame#, and other attributes to describe the scene) 6 Motivating Problems The attributes are difficult to be defined in advance: Different catalogers/taggers may give the same scene different descriptions The whole content of a video is difficult to describe as a whole. It should be done incrementally A scene may contain another scene as its subinterval, so descriptional data may be shared among scenes based on time interval inclusion relationship. 7 Motivating Problems Difficulties in querying In a conventional DBMS query, a database schema (tables, or class hierarchy) must be known Users must know the attribute structures of class hierarchy in order to retrieve desired objects When each object has a different attribute structure, the following problem appears: Users should inspect each object to know its attributes When there is no schema, users must describe all definitions of attributes and their values 8 Motivating Problems Treatment of composed objects Video data stored may be used for several editorial works Video data are often cut and/or concatenated for multimedia presentation In order to do this, the system should allow: Retrieving Video data and composing the result into a new video objects Different editorial operations 9 Basic Ideas Consider any portion of a video frame sequence as an independent entity A video objects corresponds to a certain set of video frame sequence An object has its own attributes and their values to represent the content (meaning) of the corresponding video scene 10 Basic Ideas The features of the video object model: Schemaless description of database It does not assume a specific database schema such as class hierarchy, so users can specify any attribute structure for video object For example, broadcast stations have many varieties of video libraries such as news, movies, documentaries, and so on It is very difficult to offer common attribute structure for all of them Users may have different viewpoint to describe and/or retrieve video scenes 11 Basic Ideas Schemaless description … It is difficult to decide rigidly the attribute structures They should be extensible freely and incrementally As new object are defined, new attributes may be needed Interval Inclusion inheritance Descriptional data can be inherited to other video objects For example Consider a night scene A and another object B is defined over some portion of A. B is also a night scene. If A has an attribute situation with value night, then B must have the same attribute and value by interval inclusion inheritance 12 Basic Ideas Composition of video objects based on is-a hierarchy For example, in broadcast stations: In order to do this, new operations is defined video scene are edited from source video They are chopped in order to remove redundant scenes They are concatenated with each other to make TV programs Interval projection Merge Overlap These operations produce new video objects and based on is-a hierarchy inherit attributes and their values to the new one. 13 Video Object Data Model Video Object A video-object is a descriptional data of meaningful scene (motion picture) It consists of: Its object identifier An interval A collection of attribute/value pairs Each video object corresponds to a video-frame sequence 14 Video Object Data Model Video Object … An interval is represented by a pair of Starting frame number Ending frame number Assume the following mutually disjoint sets D: a set of atomic values (numbers, strings, symbols Τ and ) ID: a set of object identifiers I: a set of intervals A: a set of attribute names 15 Video Object Data Model Video Object … Definition. A video-object is a triple (oid,I,v), where: oid is an object identifier and oid ID I is a finite subset of I v is an n-tupe [a1 : v1, ….., an : vn], where each ai (1 i n) is an attribute name in A and vi is a value defined in the following manner: Each element x D is a value Each interval i I is a vlaue For v1, … , vn (0 n), {v1, … , vn} is a value called a set value Each video-object is also a value 16 Video Object Data Model Video Object … 17 Video Object Data Model Generalization Hierarchy for Values and Objects A generalization (is-a) hierarchy for atomic values is assumed to be G = (A, , Τ, ), where: A is a set of atomic values is an is-a relationship among values Τ denotes unknown denotes undefined The binary relation denotes more informative 18 Video Object Data Model Generalization Hierarchy … This is-a relationship can be extended to general values and also to video-objects Suppose we have two video-objects o1 = (oid1, I1, v1) and o2 = (oid2, I2, v2) If v1 and v2 are set-type values, then v1 is-a v2 if for each element y in v2, there exists an element x in v1 such that x is-a y If v1 and v2 are tuple-type values, then v1 is-a v2 if v1.a is-a v2.a for each attribute a in v2 For video object o1 and o2 if v1 is-a v2 then o1 is-a o2 19 Video Object Data Model Generalization Hierarchy … Definition. Least Upper Bound of Values For two values v1 and v2, v = v1 v2 is the least upper bound of v1 and v2, if the following conditions hold: v1 is-a v, v2 is-a v , and There does not exists v’ such that v v’, v’ is-a v, v1 is-a v’, and v2 is-a v’ v1 v2 represents the maximum information that is common to both of values v1 and v2 20 Video Object Data Model Generalization Hierarchy … Definition. Greatest Lower Bound of Values For two values v1 and v2, v = v1 v2 is the greatest lower bound of v1 and v2, if the following conditions hold: v is-a v1, v is-a v2, There does not exists v’ such that v v’, v is-a v’, v’ is-a v1, and v’ is-a v2 v1 v2 represents the minimum information that contains both of values v1 and v2 21 Video Object Data Model Inheritance Based on Interval Inclusion Relationship For a given two intervals I1 and I2, the inclusion relationship between them is defined as: For each i I1, there exists i’ I2, such that i i’, then I1 is said to be included by the set interval I2, denoted by I1 I2 Consider the two objects o1 = (oid1, I1, v1) and o2 = (oid2, I2, v2), such that I1 I2 holds, then some attribute/value pairs of v2 are inherited by the object o1 22 Video Object Data Model Inheritance … Definition. Evaluation of Interval Inclusion Inheritance by a Single Object Suppose we have video-objects o1 = (oid1, I1, v1) and o2 = (oid2, I2, v2), such that I1 I2 holds, and a set A of inheritable attributes The result of applying the interval inclusion inheritance is called evaluation 23 Video Object Data Model Inheritance … The evaluation of o1 by o2 and A, denoted by eval(o1, o2, A) is a video object o’ = (oid1, I1, v’1) such that attr(v’) = attr(v1) (attr(v2) A) v’1.a = v1.a , if a is in attr(v1), and v’1.a = v2.a , if a is in (attr(v2) A), but not in attr(v1) Note that identifier of o1 and o’ are the same, which means the evaluation is not physically stored in the database and is calculated dynamically 24 Video Object Data Model Inheritance … Definition. Evaluation of Interval Inclusion Inheritance by a Multiple Objects Suppose we have video-objects o1 = (oid1, I1, v1). Let O = {o21,…, o2m} be the set of all video-objects in the database, such that I1 I2 holds for each o2i = (oid2i, I2i, v2i) The evaluation of o1 by O – {o1}and a set A of inheritable attributes, denoted by eval(o1, O, A), is a video-object o’1 = (oid1, I1, v’1) such that: attr(v’1) = attr(v1) (attr(v21) A) … (attr(v2m) A) v’1.a = v1.a , if a is in attr(v1), For each a in A, let Va = {v’2i.a | a attr(v2i), a attr(v1), and 1 i m} For each nonempty set Va , v’1.a = glb(Va ), where glb(Va ) denotes the greatest lower bound of all elements in Va 25 Video Object Data Model Composition Operations for Video-Objects Interval Projection Operation Definition. Interval Projection Operation Let o = (oid, I, v), and I’ I holds, and let A be a set of inheritable attributes. The interval projection on o onto I’ is a video-object o’ = (oid’, I’, v’) such that oid’ is a new identifier, and v’ satisfies the following: attr(v’) = attr(v) A, and v’.a = v.a for each attribute a in attr(v’) This operation is useful when defining a new videoobject for a certain portion of an already existing one 26 Video Object Data Model Composition Operations … Merge and Overlap of Interval Sets Definition. Merge and Overlap. For two intervals I1 and I2 the merge and overlap if I1 and I2, denoted by I1 I2 and I1 I2, respectively, are defined as: I1 I2 is the minimal set of intervals such that: For each interval i in I1 there exists an interval i’ in I1 I2 such that i’ i For each interval i in I2 there exists an interval i’ in I1 I2 such that i’ i For every interval i1 and i2 in I1 I2 such that i1 i2, i1 i2 and i2 i1 27 Video Object Data Model Composition Operations … I1 I2 is the maximal subset of {i1 i2 | i1 I1 and i2 I2 } such that i’1 i’2 and i’2 i’1 for arbitrary intervals i’1 and i’2 in I1 I2 The merge operation creates a new video-objects o form existing objects o1 and o2 such that some descriptional data common to both is inherited by o The overlap extracts the scene described by both of two existing video objects as new video-objet. 28 Video Object Data Model Composition Operations … Merge of Video-objects The merge of two objects o1 = (oid1, I1, v1) and o2 = (oid2, I2, v2) denoted by o1 o2, is the video object o = (oid, I1 I2, v) such that v = [a1 : v1, … ai : vi ..., an : vn] where each ai (1 i n) is in attr(v1) attr(v2), and for each ai: If both o1.ai and o2.ai are values, then vi = o1.ai o2.ai If both o1.ai and o2.ai are video-objects, then vi = o1.ai o2.ai 29 Video Object Data Model Composition Operations … Overlap of Video-objects For two video objects o1 = (oid1, I1, v1) and o2 = (oid2, I2, v2) such that I1 I2 is nonempty, the overlap of o1 and o2, denoted by o1 o2, in a new video object o = (oid, I1 I2, v) such that oid is a new identifier and v = [a1 : v1, … ai : vi ..., an : vn] where Each ai is in attr(v1) attr(v2), If both v1.ai and v2.ai are values, then v.ai = v1.ai v2.ai If both v1.ai and v2.ai are video-objects, then vi = v1.ai v2.ai 30 OVID OVID is a video-object database system which developed based on the video object data model The features of OVID: Video Object as Central Units: The video-objects are the central units of OVID system. Each video-object consists of: The oid of the video-object a set of pairs of starting video frame# and an ending frame# of the video scene a set of attribute/value pairs which describe the content of the corresponding video frame sequence Basic methods such as Play, Inspect, and Disaggregate operations. 31 OVID Features of OVID … Dynamic and Incremental Object Identification and Definition: Users can identify a meaningful scene at any time and define this scene with its descriptional data as a videoobject Users can add necessary attributes as well as use attributes of predefined video-objects 32 OVID Features of OVID … Video Object Composition: OVID allows definition of a video-object which corresponds to more than one consecutive sequence of video frames. This operation corresponds to the merge operation described. It also supports creation of a video-object by applying the overlap operation to predefined video-objects. 33 OVID Features of OVID … Browsing by Video Object Disaggregation: In order to browse a large video-object, OVID provides a decomposition of a video-object into smaller videoobjects. This decomposition corresponds to the interval projection operation described. In OVID, this operation is called Disaggregation. Disaggregation can be repeatedly applied. This operation is useful to find a necessary scene contained by a large video-object in a navigational manner. 34 OVID Features of OVID … Generalization Hierarchy for Atomic Values: OVID supports the usage of a generalization is-a hierarchy, which consists of atomic values that are used as attribute values of video-objects, in both cases: creation and retrieval of video-objects. 35 OVID Features of OVID … Video Objects as Attribute Values: OVID allows a video-object to be an attribute value of another video-object. This is very useful when it is difficult to describe a meaningful scene by text. 36 OVID Features of OVID … Ad hoc Query Facility for Video Objects: OVID has an ad hoc query facility, called VideoSQL. It facilitates retrieval of a collection of video-objects that satisfy a given condition. 37 OVID Component of OVD The OVID system consists of the following Components VideoChart: A bar-chart type, visual interface for manipulating video-object. VideoSQL: An ad hoc query facility to retrieve video-objects. Video Object Definition Tool: A facility for object definition. 38 OVID VideoChart VideoChart has the following facilities: Browsing video-objects in a bar-chart form Playing video-object as live video Inspecting and updating video-objects Composing (merge and overlap) video-objects Decomposing (disaggregating) of video-objects Moving to the video object definition tool and VideoSQL. 39 OVID Browsing of a Video Database by VideoChar: VideoChart can view the content of a video database in a visual form. A collection of video-objects appearing in a specified range are displayed in bar-chart form. Each line denotes a single video-object. The figure shows the currently displayed range is from frame# 26 830 to frame# 31 140. 40 OVID Features of OVID … 41 OVID Several operations can be applied on the selected video-object. Copy: copies the selected object into a buffer for later use in VideoSQL Play: replays the selected video-object on the monitor screen as a live video Inspect: first it evaluates the specified video-object based on the interval inclusion inheritance, and displays the attributes and their values including the inherited ones. 42 OVID Merge and Overlap Operations in VideoChart: After the user selects two arbitrary video-objects, he can apply the operations merge and overlap to those video-objects. Disaggregate of a Video-Object When the operation disaggregate is applied on a videoobject, it is automatically divided into ten sub-videoobjects. The figure shows that Video Disaggregation System as just launched: 43 OVID Features of OVID … 44 OVID VideoSQL VideoSQL is a query language of OVID for retrieving video-objects. Users can formulate VideoSQL query in the fill-inthe-blank manner The result of VideoSQL is a collection of videoobjects that satisfy the specified condition. The figure shows an example query formulated by VideoSQL. 45 OVID Features of OVID … 46 OVID A VideoSQL query consists of the following clauses: SELECT clause: This is different from ordinary SQL. It specifies only the category of the resulting video-object as: Continuous: objects consisting of a single continuous video frame sequence. Incontinuous: objects consisting of more than one continuous video frame sequence. AnyObject: all types of objects whether they are continuous or not. FROM clause: This clause is used to specify the name of the video database 47 OVID WHERE clause: This clause is used to specify the condition, consisting of attribute/value pairs and comparison operators. The user can select necessary attribute names by means of pop-up menu. The user can specify the following condition: [attribute] is [value | video object] [attribute] contains [value | video object], this is concerned with set-type attributes. definedOver [video sequence | video frame], this returns video-objects that are defined over the specified video frame sequence of frame. 48 OVID Video Object Definition Tool The object definition tool is used to define and update video-objects. The object definition is accomplished by filling-inthe-blanks manner Attribute names are selected by a pull-down menu Atomic values can be specified by selecting an appropriate value from the scroll windows of the generalization browser 49 OVID 50 Conclusion A video object data model and several operations for video-objects The major characteristics of the video object model: The notion of video-object Interval inclusion inheritance A collection of operations: interval projection, merge, and overlap 51