1 / 42

Multimedia Information Retrieval Systems

Multimedia Information Retrieval Systems. MIRS Architecture. Should be flexible and extensible to support diverse applications, query types and contents (features). MIRSs consist functional modules - added to extend, deleted or replaced.

feinstein
Download Presentation

Multimedia Information Retrieval Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multimedia Information Retrieval Systems MMDB--MIRS

  2. MIRS Architecture • Should be flexible and extensible • to support diverse applications, query types and contents (features). • MIRSs consist • functional modules -added to extend, deleted or replaced. • Another characteristic of MIRSs is that they are normally distributed • consisting of servers and clients • results from the large size of multimedia data MMDB--MIRS

  3. User Interface Feature Extractor Communication Manager Indexing and Search Engine Storage Manager MIRS Architecture Figure MMDB--MIRS

  4. MIRS architecture • user interface • insertion of new multimedia items and retrieval. • These items can be stored files or input from variant devices • feature extractor • The contents or features of multimedia items are extracted either automatically or semi-automatically • communication managers • These features and the original items are sent to the server or servers • indexing and retrieval engine • At the server(s), the features are organized according to a certain indexing scheme for efficient retrieval • storage manager • The indexing information and the original items are stored appropriately. MMDB--MIRS

  5. Multimedia Databases MMDB

  6. MMDB Architectures • The Principle of Autonomy: each media type (e.g. image, video, etc.) is organized in a media-specific manner suitable for that media type. • The Principle of Uniformity: we represent the content of all the different media objects within a single data structure (“unified index”). • The Principle of Hybrid Organization: certain media types use their own indexes, while others use the “unified” index. MMDB

  7. Autonomy MMDB

  8. Uniformity MMDB

  9. Hybrid Organization MMDB

  10. Specialized Indexing Structures MMDB--Indexing

  11. Multidimensional Data Structures • A geographic information system (GIS) stores information about some physical region of the world. • A map is just viewed as a 2-d image, and certain “points” on the map are considered to be interest. • Specialized data structures: • k-d Trees • Point Quadtrees • MX-Quadtrees • R-Trees MMDB--Indexing

  12. k-D Trees • Used to store k dimensional point data. • A 2-d tree stores 2-dimensional point data; a 3-d tree stores 3-dimensional point data, and so on. • Node structure: nodetype = record INFO: infotype; // any user-defined type XVAL: real; // coordinate YVAL: real; // coordinate LLINK: nodetype; RLINK: nodetype; end MMDB--Indexing

  13. 2-d Tree Def: A 2-d tree is a binary tree satisfying the following condition. (with root a level 0) • For node N with level(N) is even, then every node M under N.LLINK has the property that M.XVAL < N.XVAL, and every node P under N.RLINK has the property that P.XVAL  N.XVAL. • For node N with level(N) is odd, then every node M under N.LLINK has the property that M.YVAL < N.YVAL, and every node P under N.RLINK has the property that P.YVAL  N.YVAL. MMDB--Indexing

  14. B (40, 50) A (19, 45) D (54, 40) C (38, 38) E (4, 4) Example: a map MMDB--Indexing

  15. A(19, 45) Level 0 LLINK RLINK E(4, 4) B(40, 50) Level 1 C(38, 38) Level 2 D(54, 40) Level 3 Example 2-d Tree INFO (XVAL, YVAL) A (19, 45) B (40, 50) C (38, 38) D (54, 40) E (4, 4) MMDB--Indexing

  16. B (40, 50) A (19, 45) D (54, 40) C (38, 38) E (4, 4) Split Regions MMDB--Indexing

  17. Deletion in 2-d Trees Suppose T is a 2-d tree, and we wish to delete N(x, y). • If N is a leaf node, then set link to NIL and delete N. • Otherwise, Step 1: Find a “candidate replacement” node R that occurs either in Ti for i {, r}. (Ti under N) Step 2: Replace all of N’s non-link fields by those of R. Step 3: Recursively delete R from Ti. MMDB--Indexing

  18. Candidate Replacement Node • If we find a replacement node from left subtree, it might be violated the definition of 2-d tree. (Two nodes have equal maximal values.) • Find the replacement node R from right subtree (Tr). • Every node M in Tr is such that M.XVAL  R.XVAL if level(N) is even, and M.YVAL  R.YVAL if level(N) is odd. • If Tr is not empty, and level(N) is even (odd), then any node in Tr that has the smallest possible XVAL (YVAL) field in Tr is a candidate replacement node. MMDB--Indexing

  19. Candidate Replacement Node • If Tr is empty – • Find the node R’ in left subtree T with the smallest XVAL if level(N) is even, or the smallest YVAL if level(N) is odd. • Replace all of N’s nonlink fields by those of R’. • Set N.RLINK = N.LLINK and set N.LLINK = NIL. • Recursively delete R’. MMDB--Indexing

  20. Range Queries in 2-d Trees • Find all the points within distance r of point (xc, yc). • Each node N in a 2-d tree implicitly represents a region RN. • If the circle specified in a query has no intersection with RN, then there is no point searching the subtree rooted at node N. MMDB--Indexing

  21. B (40, 50) A (19, 45) (51, 43) r=5 D (54, 40) C (38, 38) E (4, 4) Example of Range Query Query: point (51, 43) r = 5 MMDB--Indexing

  22. k-d Tree for k 2 For each node N • Suppose level(N)mod k = i. • For each node M in N’s left subtree, M.VAL[i] < N.VAL[i]. • For each node P in N’s right subtree, P.VAL[i]  N.VAL[i]. Note: when k=1, we get a standard binary search tree. MMDB--Indexing

  23. Point Quadtrees • Point quardtrees split regions into four parts. • These four parts are called the NW (northwest), SW (southwest), NE (northeast), and SE (southeast) quadrants determined by node N. • Node structure in a point quadtree: qtnodetype = record INFO: infotype; XVAL: real; YVAL: real; XLB, XUB, YLB, YUB: real  {+, - } NW, SW, NE, SE: qtnodetype; end MMDB--Indexing

  24. Point Quadtrees • XLB, XUB, YLB, and YUB are upper bounds and lower bounds of X and Y, respectively. • Suppose N is a root node of a tree or subtree of quadtree: • Every node P1 in N.NW is such that P1.XVAL < N.XVAL and P1.YVAL  N.YVAL. • Every node P2 in N.SW is such that P2.XVAL < N.XVAL and P2.YVAL < N.YVAL. • Every node P3 in N.NE is such that P3.XVAL  N.XVAL and P3.YVAL  N.YVAL. • Every node P4 in N.SE is such that P4.XVAL  N.XVAL and P4.YVAL < N.YVAL. MMDB--Indexing

  25. Nodes in a Point Quadtree MMDB--Indexing

  26. A (19, 45) NW SW NE SE E (4, 4) NW SW NE SE B (40, 50) NW SW NE SE C (38, 38) NW SW NE SE D (54, 40) NW SW NE SE Example of Point Quadtree INFO (XVAL, YVAL) A (19, 45) B (40, 50) C (38, 38) D (54, 40) E (4, 4) MMDB--Indexing

  27. B (40, 50) A (19, 45) D (54, 40) C (38, 38) E (4, 4) Split Regions MMDB--Indexing

  28. Deletion in Point Quadtrees A node N to be deleted -- • If N is a leaf node, the link from parent to N is set to NIL then releases node N. • Otherwise, try to find a replacement node R from subtrees such that: • Every other node R’ in N.NW (N.SW / N.NE / N.SE) is to the north west (south west / north east / south east) of R. MMDB--Indexing

  29. Can’t Find Replacement Node • Unfortunately, replacement node may not be found. (i.e. deleting A) • Thus, in the worst case, deletion of an interior node N may require reinsertion of some nodes in the subtrees pointed to by N.NE, N.SE, N.NW, and N.SW. MMDB--Indexing

  30. Range queries in Point Quadtrees • Do not search regions that do not intersect the circle defined by the query. • Search procedure: ProcRangeQueryPQtree(T:newqtnodetype, C:circle) if region(T)  C = Ø then Halt else if (T.XVAL, T.YVAL)  C then print (T.XVAL, T.YVAL); ProcRangeQueryPQtree(T.NW, C); ProcRangeQueryPQtree(T.SW, C); ProcRangeQueryPQtree(T.NE, C); ProcRangeQueryPQtree(T.SE, C); end proc MMDB--Indexing

  31. MX-Quadtree • MX-quadtrees attempt to: ensure that the shape of the tree are independent of the number of nodes present in the tree, as well as the order of insertion of these nodes. • MX-quadtrees also attempt to provide efficient deletion and search algorithms. • The map being represented is “split up” into a grid of size (2k2k) for some k. • All physical data are performed at leaf nodes. • Node Structure: Exactly the same as for point quadtrees. MMDB--Indexing

  32. NW SW NE SE NW SW NE SE NW SW NE SE NW SW NE SE A NW SW NE SE B NW SW NE SE C NW SW NE SE D NW SW NE SE Example of MX-quadtree A B C D INFO (XVAL, YVAL) A (1, 3) B (3, 3) C (3, 1) D (3, 0) MMDB--Indexing

  33. Deletion in MX-Quadtrees • Deletion in an MX-quadtree is a fairly simple operation, because all points are represented at the leaf level. • When a node is deleted, we have to keep trace its parent node to see whether it contains no child node? If so, continue to delete the parent nodes recursively. MMDB--Indexing

  34. Range Queries in MX-Quadtrees Handled in exactly the same way as for point quardtrees. But there are two differences: • The content of XLB, XUB, YLB, YUB, fields is different from that in the case of point quadtrees. • As points are stored at the leaf level, checking to see if a point is in the circle defined by the range query needs to be performed only at the leaf level. MMDB--Indexing

  35. R-Trees • Used to store rectangular regions of an image or a map. • R-trees are particularly useful in storing very large amounts of data on disk. • They provide a convenient way of minimizing the number of disk accesses. • Each R-tree has an associated order, integer k. • Each nonleaf R-tree node contains a set of at most k rectangles and at least k/2 rectangles. • Each disk access brings back a page containing at least k/2 rectangles. MMDB--Indexing

  36. Example: a map G1 G2 R5 R1 R6 R7 R4 R2 R3 G3 R8 R9 MMDB--Indexing

  37. G1 G2 G3 R1 R2 R3 R4 R5 R6 R7 R8 R9 Example R-Tree R-Tree of order 4 Structure of R-tree node: rtnodetype = record Rec1, …, Reck: rectangle; P1, …, Pk: rtnodetype; end MMDB--Indexing

  38. Insertion into a R-Tree G1 G2 R5 R1 R6 R7 R4 R2 R3 R10 G3 R11 R8 R9 MMDB--Indexing

  39. Option 1 G1 G2 R5 R1 R6 R7 R4 R2 R3 R10 G3 R11 R8 R9 MMDB--Indexing

  40. Option 2 : Preferred G1 G2 R5 R1 R6 R7 R4 R2 R3 R10 G3 R11 R8 G4 *** Total area of the group rectangles is smallest. R9 MMDB--Indexing

  41. Option 3 : Incorrect G1 G2 R5 R1 R6 R7 R4 R2 R3 R10 G3 R11 R8 G4 *** G4 is underflow. R9 MMDB--Indexing

  42. G1 G2 G3 R1 R2 R3 R4 R6 R7 R5 R8 Deletion in R-Trees • Deletion of objects from R-trees may cause a node in the R-tree to “underflow” in which contains less than k/2 rectangles. Such as delete R9 from our example. • If delete R9, we must create a new logical grouping. One possibility is as follows: MMDB--Indexing

More Related