SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
CalaBoard
  Augmented Reality
in video-conferencing
    FRANCESCO MASIA - CALAMEDA
OUTLINE 2/15




Outline

 The project
 Operating environment
 The pipeline
 Communication
 Results
PROJECT 3/15




The CalaBoard project

 A video-conferencing tool
 A shared board
 Interaction among users
 Various widgets for further functionalities
ENVIRONMENT 4/15




Operating environment 1/2

 Light level
  - ambient light
  - luminance variability
  - color variations
ENVIRONMENT 5/15




Operating environment 2/2

 Image quality
  - resolution
  - rumor
PIPELINE 6/15




The pipeline
PIPELINE 7/15




Code pipeline: video sources 1/2

 A model for acquiring data
 Drive the pipeline
 Abstraction from the hardware
PIPELINE 8/15




Code pipeline: video sources 2/2

remoteVideoSource = new SimpleNetworkRemoteVideoSource(
                          new UDPPublisherReader( remoteHost,
                                                  port ) );
...

...
videoSource = new LTIVideoSource();
...


...
videoSource = new ScreenShotVideoSource( 320, 240 );
...
PIPELINE 9/15




Code pipeline:
image processing filters


 Multiple filters are allowed
 Each filter is specialized

...
BufferedImage processedImage =
 scannerInfo.getVideoEngine().getFrameProcessor()
    .process( scannerInfo.getFrame(), "motion" );
...
PIPELINE 10/15




Code pipeline: frame scanners 1/2

 Multiple scanners are allowed
 Each scanner operates on a different feature

for ( FrameScanner frameScanner : frameScanners ) {
  ...
  frameScanner.scan( scannerInfo );
  ...
  if ( scannerInfo.getCellsNumber() > 0 ) {
    frameScanner.callEvents( scannerInfo );
  }
}
PIPELINE 11/15




Code pipeline: frame scanners 2/2

public int doScan( ScannerInfo si ) throws RecognitionException {
  ...
  for ( int i = 0; i < numAreas; i++ ) {
    Rectangle cell = grid.getArea( i );
    if ( detectionBounds.contains( cell ) ) {
       if ( testCell( testImage, cell, 0.15f ) ) {
         detectionCells[foundCells++] = i;
       }
    }
  }
  ...
PIPELINE 12/15




Code pipeline: video rendering

 The same VideoEngine can use multiple
 VideoRenderers
 Video output adapts the results of the pipeline

...
VideoEngine engine = new VideoEngine( source, grid, false );
VideoRenderer renderer = new VideoRenderer();
renderer.addFrameRenderer( this );
engine.addVideoRenderer( renderer );
...
COMMUNICATION 13/15




Communication

 Calameda video-codec technology 100% Java
 Transmission issues
  - video stream encoding: slow process
  - NAT traversal
RESULTS 14/15




The augmented reality

 The pipeline enriches the output
 Augmented videos integrate data sources
INFO 15/15




More info

Francesco Masia - Calameda
 Email: augmented@calameda.com
 Web: www.calameda.com
 Twitter: @calameda

Más contenido relacionado

Destacado

Gotong
GotongGotong
Gotongsmktta
 
Audit akademik-spm
Audit akademik-spmAudit akademik-spm
Audit akademik-spmsmktta
 
Introduction about analytics with sas+r programming.
Introduction about analytics with sas+r programming.Introduction about analytics with sas+r programming.
Introduction about analytics with sas+r programming.Ravi Mandal, MBA
 
pulipt steel structure
pulipt  steel structurepulipt  steel structure
pulipt steel structurealtomsa7
 
Povzbuzení z Bible
Povzbuzení z BiblePovzbuzení z Bible
Povzbuzení z BibleRadio 7
 
Understanding sas data step processing.
Understanding sas data step processing.Understanding sas data step processing.
Understanding sas data step processing.Ravi Mandal, MBA
 
1 journ pr ad italy 07
1 journ pr ad italy 071 journ pr ad italy 07
1 journ pr ad italy 07dpgavra
 

Destacado (11)

Gotong
GotongGotong
Gotong
 
2 unit ie& v
2 unit  ie& v2 unit  ie& v
2 unit ie& v
 
Audit akademik-spm
Audit akademik-spmAudit akademik-spm
Audit akademik-spm
 
Introduction about analytics with sas+r programming.
Introduction about analytics with sas+r programming.Introduction about analytics with sas+r programming.
Introduction about analytics with sas+r programming.
 
pulipt steel structure
pulipt  steel structurepulipt  steel structure
pulipt steel structure
 
Sas array statement
Sas array statementSas array statement
Sas array statement
 
Povzbuzení z Bible
Povzbuzení z BiblePovzbuzení z Bible
Povzbuzení z Bible
 
Cluster analysis
Cluster analysisCluster analysis
Cluster analysis
 
Understanding sas data step processing.
Understanding sas data step processing.Understanding sas data step processing.
Understanding sas data step processing.
 
1 journ pr ad italy 07
1 journ pr ad italy 071 journ pr ad italy 07
1 journ pr ad italy 07
 
INDIAN ETHOS 1
INDIAN ETHOS 1INDIAN ETHOS 1
INDIAN ETHOS 1
 

Similar a CalaBoard - Augmented Reality in video conferencing

IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...Christopher Diamantopoulos
 
OV7670 Camera interfacing-with-arduino-microcontroller
OV7670 Camera interfacing-with-arduino-microcontrollerOV7670 Camera interfacing-with-arduino-microcontroller
OV7670 Camera interfacing-with-arduino-microcontrollerSomnath Sharma
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Jorisimec.archive
 
1 Vampir Overview
1 Vampir Overview1 Vampir Overview
1 Vampir OverviewPTIHPA
 
Shape12 6
Shape12 6Shape12 6
Shape12 6pslulli
 
Changyun Wang Under the Supervision of Dr.Turner
Changyun Wang Under the Supervision of Dr.TurnerChangyun Wang Under the Supervision of Dr.Turner
Changyun Wang Under the Supervision of Dr.TurnerVideoguy
 
Introducing the Sun SPOTs
Introducing the Sun SPOTsIntroducing the Sun SPOTs
Introducing the Sun SPOTsStefano Sanna
 
An Instantaneous Introduction to the Alliance Access Grid
An Instantaneous Introduction to the Alliance Access GridAn Instantaneous Introduction to the Alliance Access Grid
An Instantaneous Introduction to the Alliance Access GridVideoguy
 
REMOTE TRIGGERED SOFTWARE DEFINED RADIO
REMOTE TRIGGERED SOFTWARE DEFINED RADIOREMOTE TRIGGERED SOFTWARE DEFINED RADIO
REMOTE TRIGGERED SOFTWARE DEFINED RADIOKunal Bidkar
 
/Home/nvlogic/desktop/spraaf3
/Home/nvlogic/desktop/spraaf3/Home/nvlogic/desktop/spraaf3
/Home/nvlogic/desktop/spraaf3kesava ram
 
Dipak_Desai_Resume
Dipak_Desai_ResumeDipak_Desai_Resume
Dipak_Desai_Resumenotoha
 
DvClub 2102 tlm based software control of uvcs for vertical verification re...
DvClub 2102   tlm based software control of uvcs for vertical verification re...DvClub 2102   tlm based software control of uvcs for vertical verification re...
DvClub 2102 tlm based software control of uvcs for vertical verification re...Amit Bhandu
 
Securescape Introduction
Securescape IntroductionSecurescape Introduction
Securescape IntroductionDaden Limited
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Codemotion
 

Similar a CalaBoard - Augmented Reality in video conferencing (20)

UDP Report
UDP ReportUDP Report
UDP Report
 
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
IMAGE CAPTURE, PROCESSING AND TRANSFER VIA ETHERNET UNDER CONTROL OF MATLAB G...
 
Arduino programming part1
Arduino programming part1Arduino programming part1
Arduino programming part1
 
Media SDK Webinar 2014
Media SDK Webinar 2014Media SDK Webinar 2014
Media SDK Webinar 2014
 
OV7670 Camera interfacing-with-arduino-microcontroller
OV7670 Camera interfacing-with-arduino-microcontrollerOV7670 Camera interfacing-with-arduino-microcontroller
OV7670 Camera interfacing-with-arduino-microcontroller
 
20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris20081114 Friday Food iLabt Bart Joris
20081114 Friday Food iLabt Bart Joris
 
1 Vampir Overview
1 Vampir Overview1 Vampir Overview
1 Vampir Overview
 
Shape12 6
Shape12 6Shape12 6
Shape12 6
 
Changyun Wang Under the Supervision of Dr.Turner
Changyun Wang Under the Supervision of Dr.TurnerChangyun Wang Under the Supervision of Dr.Turner
Changyun Wang Under the Supervision of Dr.Turner
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Introducing the Sun SPOTs
Introducing the Sun SPOTsIntroducing the Sun SPOTs
Introducing the Sun SPOTs
 
EMC2 Xilinx SDSoC presentation
EMC2 Xilinx SDSoC presentationEMC2 Xilinx SDSoC presentation
EMC2 Xilinx SDSoC presentation
 
An Instantaneous Introduction to the Alliance Access Grid
An Instantaneous Introduction to the Alliance Access GridAn Instantaneous Introduction to the Alliance Access Grid
An Instantaneous Introduction to the Alliance Access Grid
 
REMOTE TRIGGERED SOFTWARE DEFINED RADIO
REMOTE TRIGGERED SOFTWARE DEFINED RADIOREMOTE TRIGGERED SOFTWARE DEFINED RADIO
REMOTE TRIGGERED SOFTWARE DEFINED RADIO
 
/Home/nvlogic/desktop/spraaf3
/Home/nvlogic/desktop/spraaf3/Home/nvlogic/desktop/spraaf3
/Home/nvlogic/desktop/spraaf3
 
Dipak_Desai_Resume
Dipak_Desai_ResumeDipak_Desai_Resume
Dipak_Desai_Resume
 
DvClub 2102 tlm based software control of uvcs for vertical verification re...
DvClub 2102   tlm based software control of uvcs for vertical verification re...DvClub 2102   tlm based software control of uvcs for vertical verification re...
DvClub 2102 tlm based software control of uvcs for vertical verification re...
 
Securescape Introduction
Securescape IntroductionSecurescape Introduction
Securescape Introduction
 
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
Trash Robotic Router Platform - David Melendez - Codemotion Rome 2015
 

CalaBoard - Augmented Reality in video conferencing

  • 1. CalaBoard Augmented Reality in video-conferencing FRANCESCO MASIA - CALAMEDA
  • 2. OUTLINE 2/15 Outline The project Operating environment The pipeline Communication Results
  • 3. PROJECT 3/15 The CalaBoard project A video-conferencing tool A shared board Interaction among users Various widgets for further functionalities
  • 4. ENVIRONMENT 4/15 Operating environment 1/2 Light level - ambient light - luminance variability - color variations
  • 5. ENVIRONMENT 5/15 Operating environment 2/2 Image quality - resolution - rumor
  • 7. PIPELINE 7/15 Code pipeline: video sources 1/2 A model for acquiring data Drive the pipeline Abstraction from the hardware
  • 8. PIPELINE 8/15 Code pipeline: video sources 2/2 remoteVideoSource = new SimpleNetworkRemoteVideoSource( new UDPPublisherReader( remoteHost, port ) ); ... ... videoSource = new LTIVideoSource(); ... ... videoSource = new ScreenShotVideoSource( 320, 240 ); ...
  • 9. PIPELINE 9/15 Code pipeline: image processing filters Multiple filters are allowed Each filter is specialized ... BufferedImage processedImage = scannerInfo.getVideoEngine().getFrameProcessor() .process( scannerInfo.getFrame(), "motion" ); ...
  • 10. PIPELINE 10/15 Code pipeline: frame scanners 1/2 Multiple scanners are allowed Each scanner operates on a different feature for ( FrameScanner frameScanner : frameScanners ) { ... frameScanner.scan( scannerInfo ); ... if ( scannerInfo.getCellsNumber() > 0 ) { frameScanner.callEvents( scannerInfo ); } }
  • 11. PIPELINE 11/15 Code pipeline: frame scanners 2/2 public int doScan( ScannerInfo si ) throws RecognitionException { ... for ( int i = 0; i < numAreas; i++ ) { Rectangle cell = grid.getArea( i ); if ( detectionBounds.contains( cell ) ) { if ( testCell( testImage, cell, 0.15f ) ) { detectionCells[foundCells++] = i; } } } ...
  • 12. PIPELINE 12/15 Code pipeline: video rendering The same VideoEngine can use multiple VideoRenderers Video output adapts the results of the pipeline ... VideoEngine engine = new VideoEngine( source, grid, false ); VideoRenderer renderer = new VideoRenderer(); renderer.addFrameRenderer( this ); engine.addVideoRenderer( renderer ); ...
  • 13. COMMUNICATION 13/15 Communication Calameda video-codec technology 100% Java Transmission issues - video stream encoding: slow process - NAT traversal
  • 14. RESULTS 14/15 The augmented reality The pipeline enriches the output Augmented videos integrate data sources
  • 15. INFO 15/15 More info Francesco Masia - Calameda Email: augmented@calameda.com Web: www.calameda.com Twitter: @calameda