際際滷

際際滷Share a Scribd company logo
LIVE VIDEO IN WORLD WIND Developed by Jovan Stevovic Principles Of Computer Graphics 2008 / 2009
The project: The goal of the project is to show videos from different sources like webcams or local videos on the Nasa World Wind. The actual Java SDK provides a lot of features for drawing and managing objects, images, icons, annotations, etc. But, there are not features for displaying videos or images that can changes their aspect during the time.
Architecture The WWJ architecture: Layer Renderable Data source Proposed architecture: VideoLayer DynamicSurfaceImage VideoSource
Class diagram
Efficiency trade-off VideoLayer performs these tasks: Init all objects Start updating Thread At each cycle Get the current frame from the source Update the Renderable with the obtained image Get the new time to sleep  Sleep PROBLEMS: Managing Video Sources expensive (Threads, images transform) Updating Renderables texture expensive
Quality of images The quality of  images can be very high. During the navigation we can  view them from a very close  point to a very far one. We dont need the same quality. Reducing quality improve efficiency.
Time to render As we can see, decreasing  image dimensions the rendering time decrease proportionally.
Images not in the View Managing videos is expensive. Reducing at maximum the number of simultaneously played videos increase performances. Checking which images are in the view permits to pause videos that are not visible.
Sloped images During the navigation user has some videos in the view but is not interested in them. How we can check this? If images are so sloped in respect to the view eye, we can suppose that the user is not interested in that image so we can pause the execution.
Images not visible In cities or mountains landscapes images can be hidden behind some objects. Using RayCasting functions we can detect if there is something in the middle that hides the image and then pause the playing.
GUI List of webcam types. Clicking on them will be shown the list of available cams. Add country and add webcam buttons Search form Results list
GUI cont. Insertion of a new webcam. Pick Webcam Angles button permits to capture the webcam position (yellow rectangle in the figure). The form on the left contains other meta-information.
Webcam menu Info button shows the annotation containing meta-information Settings button shows the setting menu (next slide) Play/Pause button pause or restart the video Cancel button permits to delete the webcam temporally or from memory. Zoom in/ Zoom out buttons permits to increase or decrease the image quality
Webcam manager Angle buttons permits to drag and drop a corner of an image Middle buttons permits to drag and drop a side of the image Save button save the changes on memory Discard button restore the previous position There is activated also the BasicDragger that permits to move the image.
Webcam structure A  webcam is represented by the XML structure in the figure. There are information about position and URL and meta-information.
Directories Webcams are divided into folders  representing continents and countries.
Supported webcams Supported webcams: Axis205  Axis206M Axis207  Axis207M Axis207MW Axis2100 Axis2120 Axis2130 Google provides a way to search pages with some substring of theURL, so  we can search for example: inurl: axis-cgi/mjpg/video.cgi intitle:Live view - / - AXIS inurl:axis-cgi/jpg inurl:view/indexFrame.shtml inurl:view/view.shtml inurl:view/index.shtml Websites that provides lists and webcam categories:  http://www.camhacker.com/ http://www.123cam.com/category-webcam-Axis.html http://www.ttrix.com/ipvisionpubcameras.html http://www.snow-cams.com/
Conclusions Managing Players expensive Reloading texture expensive No possibility for reloading at each frame Statistics class updates dynamically the time to sleep CPU time spent for managing images. No possibility for  GPU processing. WWJ images quality low. Need more quality (at least like Google Earth) for better results.
Future Works Automatic geocoding of webcams Capture other  video sources of other types of webcams (the majority of webcams are represented by some URL of some image that is reloaded periodically server side) Some Web Service can be added to the application to improve the adding process. IP to location service (sometimes we have only the IP of the webcam) Place name to LatLon  position (faster finding of the location on WWJ)
Some examples Seebruke Selling, Germany A bridge in Newcastle, UK
Some examples Stutgart City airport
油
油

More Related Content

Live Video in World Wind

  • 1. LIVE VIDEO IN WORLD WIND Developed by Jovan Stevovic Principles Of Computer Graphics 2008 / 2009
  • 2. The project: The goal of the project is to show videos from different sources like webcams or local videos on the Nasa World Wind. The actual Java SDK provides a lot of features for drawing and managing objects, images, icons, annotations, etc. But, there are not features for displaying videos or images that can changes their aspect during the time.
  • 3. Architecture The WWJ architecture: Layer Renderable Data source Proposed architecture: VideoLayer DynamicSurfaceImage VideoSource
  • 5. Efficiency trade-off VideoLayer performs these tasks: Init all objects Start updating Thread At each cycle Get the current frame from the source Update the Renderable with the obtained image Get the new time to sleep Sleep PROBLEMS: Managing Video Sources expensive (Threads, images transform) Updating Renderables texture expensive
  • 6. Quality of images The quality of images can be very high. During the navigation we can view them from a very close point to a very far one. We dont need the same quality. Reducing quality improve efficiency.
  • 7. Time to render As we can see, decreasing image dimensions the rendering time decrease proportionally.
  • 8. Images not in the View Managing videos is expensive. Reducing at maximum the number of simultaneously played videos increase performances. Checking which images are in the view permits to pause videos that are not visible.
  • 9. Sloped images During the navigation user has some videos in the view but is not interested in them. How we can check this? If images are so sloped in respect to the view eye, we can suppose that the user is not interested in that image so we can pause the execution.
  • 10. Images not visible In cities or mountains landscapes images can be hidden behind some objects. Using RayCasting functions we can detect if there is something in the middle that hides the image and then pause the playing.
  • 11. GUI List of webcam types. Clicking on them will be shown the list of available cams. Add country and add webcam buttons Search form Results list
  • 12. GUI cont. Insertion of a new webcam. Pick Webcam Angles button permits to capture the webcam position (yellow rectangle in the figure). The form on the left contains other meta-information.
  • 13. Webcam menu Info button shows the annotation containing meta-information Settings button shows the setting menu (next slide) Play/Pause button pause or restart the video Cancel button permits to delete the webcam temporally or from memory. Zoom in/ Zoom out buttons permits to increase or decrease the image quality
  • 14. Webcam manager Angle buttons permits to drag and drop a corner of an image Middle buttons permits to drag and drop a side of the image Save button save the changes on memory Discard button restore the previous position There is activated also the BasicDragger that permits to move the image.
  • 15. Webcam structure A webcam is represented by the XML structure in the figure. There are information about position and URL and meta-information.
  • 16. Directories Webcams are divided into folders representing continents and countries.
  • 17. Supported webcams Supported webcams: Axis205 Axis206M Axis207 Axis207M Axis207MW Axis2100 Axis2120 Axis2130 Google provides a way to search pages with some substring of theURL, so we can search for example: inurl: axis-cgi/mjpg/video.cgi intitle:Live view - / - AXIS inurl:axis-cgi/jpg inurl:view/indexFrame.shtml inurl:view/view.shtml inurl:view/index.shtml Websites that provides lists and webcam categories: http://www.camhacker.com/ http://www.123cam.com/category-webcam-Axis.html http://www.ttrix.com/ipvisionpubcameras.html http://www.snow-cams.com/
  • 18. Conclusions Managing Players expensive Reloading texture expensive No possibility for reloading at each frame Statistics class updates dynamically the time to sleep CPU time spent for managing images. No possibility for GPU processing. WWJ images quality low. Need more quality (at least like Google Earth) for better results.
  • 19. Future Works Automatic geocoding of webcams Capture other video sources of other types of webcams (the majority of webcams are represented by some URL of some image that is reloaded periodically server side) Some Web Service can be added to the application to improve the adding process. IP to location service (sometimes we have only the IP of the webcam) Place name to LatLon position (faster finding of the location on WWJ)
  • 20. Some examples Seebruke Selling, Germany A bridge in Newcastle, UK
  • 21. Some examples Stutgart City airport
  • 22.
  • 23.