Videotag
Download
1 / 15

videotag - PowerPoint PPT Presentation


  • 221 Views
  • Uploaded on

VideoTag. Video Display and Recording Aaron Shepler. Motivation. Enable the user to view real-time video from the camera Allow the user to annotate on top of the video image Facilitate simple video recording. Previous / Related Work.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'videotag' - Audrey


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Videotag l.jpg

VideoTag

Video Display and Recording

Aaron Shepler


Motivation l.jpg
Motivation

  • Enable the user to view real-time video from the camera

  • Allow the user to annotate on top of the video image

  • Facilitate simple video recording


Previous related work l.jpg
Previous / Related Work

  • Point Grey Research has written a C++ wrapper for reading/writing to an AVI

  • Microsoft is working on an InkCanvas control (to be released in Vista) that would potentially allow for something similar – inking on multimedia


Challenges l.jpg
Challenges

  • How do I use the camera in C# when the interface is in C?

    • The .NET framework allows for easy integration between different managed types of code: i.e. Managed C++ and Managed C#

    • Integration between unmanaged code and managed code is not very well documented


Challenges5 l.jpg
Challenges

  • How do I place the image on the screen once I have data using C#?

    • Lower level operations, such as direct access to screen are not available


Challenges6 l.jpg
Challenges

  • How do I manage the recording of the video

    • C# does not have built-in AVI recording functionality

    • Function calls from C would also have to be wrapped


Camera approach solution l.jpg
Camera Approach / Solution

  • Two possible approaches that allow for use of camera in C#

    • Link in flycapture camera methods directly

      • Large blocks of unsafe { } code due to use of pointers

    • Link in a library that simplifies the interface

      • Few lines of unsafe { } code


Camera approach solution8 l.jpg
Camera Approach / Solution

  • Mistake…

    • First tried to link in flycapture camera methods directly

      • Unsafe { } blocks of code were everywhere due to the use of pointers

      • Became a C-based program

    • Learned my lesson the hard way


Camera approach solution9 l.jpg
Camera Approach / Solution

  • Encapsulated lower level camera functionality in a library…

    • Created a small library of methods

      • Interface was well defined

      • Less time spent matching compatible types


Camera approach solution10 l.jpg
Camera Approach / Solution

  • CameraLib

    • Library with basic camera functionality

      • void initialize();

        • Initializes the first camera on the FireWire bus, creates context, etc

      • void* grabImage(unsigned char*);

        • Retrieves an image based on the camera context

      • void destroy();

        • Destroys the camera context

    • Pure C library for use in managed code


Video approach solution l.jpg
Video Approach / Solution

  • In order to place the image onto the screen, the InkPicture control was used

    • Allows the background image to be changed while maintaining the ink on top.

    • Create thread in C#

      • continuous capturing / refreshing the image


Recording approach l.jpg
Recording Approach

  • Record to Avi using C# wrapper class

    • Same refresh thread adds the current bitmap to the next frame in the AVI

    • Pro:

      • Easy to access bitmaps out of the AVI later

    • Con:

      • Large file is unhandy

  • Avi wrapper written orginally by René Nyffenegger (modified by John Corinna), located at:

    • http://www.codeproject.com/csharp/steganodotnet4.asp



Discussion l.jpg
Discussion

  • How can we reduce the slight flicker with the video/ink?

    • Double buffering?

    • User Drawn Control?


Discussion15 l.jpg
Discussion

  • What methods of encoding the video data would be faster and more robust than AVI?

    • Various compression models?

    • Existing codecs?


ad