videotag : information organization

12
VideoTAG : Information Organization John Ruble

Upload: creighton-johan

Post on 31-Dec-2015

22 views

Category:

Documents


0 download

DESCRIPTION

VideoTAG : Information Organization. John Ruble. Motivation / Goal. To create a standardized data structure that is: Easily used by the rest of the program Easily transferred to/from disk Efficient (fast, small). What must it do?. Store Metadata: Title Date - PowerPoint PPT Presentation

TRANSCRIPT

VideoTAG : Information Organization

John Ruble

Motivation / GoalTo create a standardized data structure that is:•Easily used by the rest of the program•Easily transferred to/from disk•Efficient (fast, small)

What must it do?Store Metadata:• Title • Date• Filename, length of associated video• Number of “Annotation Events”

What must it do?Store “AnnotationEvents”• Start, end times• Title, Notes (text)• Annotation (Microsoft.Ink)• Selected Tags

What must it do?Operations on this data:• Add/Set• Retrieve

–Example: “the next event after time 0:32.07”

• Delete

What must it do?File I/O:• Save the whole structure to disk• Read from disk, reconstruct structure in memory

Previous/ Related WorkCustom-designed file format (80 byte header followed by…):• +Small, efficient on disk• -Complex, difficult to maintain• -Difficult to convert to/from data structure

Previous/ Related WorkDatabase (SQL, …):• +Very Powerful Queries• -Complicated/Costly Implementation (run server with program?)• -Portable file?

Challenges:•Maintainable (simple) file format•Speed at runtime

Approach:Microsoft’s Object Serialization•Intended for web RPC stuff (SOAP,..)•Very easy to convert to/from file•Maintenance-Free

Approach:Data Structure:

VideoTagFile AnnotationEvent

AnnotationEvent

AnnotationEvent

Metadata:• Title • Date• Filename• length of associated video• Number of AnnotationEvents

AnnotationEvent

• Start time• End time• Title• Notes• Annotation (Ink)• Selected Tags

Questions:•Runtime Speed

– Is O(n) good enough? (how many AnnotationEvents to expect?)–If not, how to quickly grab first event >= time t?

•Remember last request, start there

•Other Questions?