a stereoscopic movie player with real-time...

1
PRIMA Team, Inria Grenoble, France Computer Graphics and Multimedia Systems Group, University of Siegen, Germany Mail: [email protected] Inria Grenoble - Rhˆ one Alpes 655 Av de l’Europe 38330 Montbonnot-Saint-Martin A stereoscopic movie player with real-time content adaptation to the display geometry Sylvain Duchˆ ene - Martin Lambers - Fr´ ed´ eric Devernay Abstract 3D shape perception in a stereoscopic movie depends on several depth cues, including stereopsis. For a given content, the depth perceived from stereopsis highly depends on the camera setup as well as on the display size and distance. This can lead to disturbing depth distortions such as the cardboard effect or the puppet theater effect. As more and more stereoscopic 3D content is produced in 3D (feature movies, documentaries, sports broadcasts), a key point is to get the same 3D experience on any display. For this purpose, perceived depth distortions can be resolved by performing view synthesis. We propose a real time implementation of a stereoscopic player based on the open-source software Bino [Lam12], which is able to adapt a stereoscopic movie to any display, based on user-provided camera and display parameters. Content adaptation Content adaptation is solved by disparity mapping [LHW + 10]. A linear transform (scale+shift) is not enough in most cases, and may result in cardboard effect, divergence, or puppet theatre ef- fect [DRP10, DDRP11]. Shooting and viewing geometries can be described using the same small set of parameters: b P C C M M W H Z Wd l r r l Symbol Camera Display C l , C r camera optical center eye optical center P physical scene point perceived 3-D point M l , M r image points of P screen points b camera interocular eye interocular H convergence distance screen distance W width of convergence plane screen size Z real depth perceived depth d left-to-right disparity (as a fraction of W ) The scene depth (in the camera geometry) and the perceived depth (in the display geometry) are related by: Z 0 = H 0 1 - W 0 b 0 ( b W Z -H Z ) or Z = H 1 - W b ( b 0 W 0 Z 0 -H 0 Z 0 ) (1) A small object of dimensions δX × δZ in the width and depth directions, placed at depth Z , is per- ceived as an object of dimensions δX 0 × δZ 0 at depth Z 0 , and the roundness factor ρ measures how much the object proportions are affected: ρ = ∂Z 0 ∂Z / ∂X 0 ∂X = ∂Z 0 ∂Z / W 0 /s 0 W/s = σ 0 W W 0 ∂Z 0 ∂Z (2) In the screen plane (Z = H and Z 0 = H 0 ), the roundness factor simplifies to: ρ screen = W W 0 ∂Z 0 ∂Z (Z =H ) = b H H 0 b 0 (3) From these equations, we compute a disparity mapping function that: has a roundness factor of 1 in the screen plane preserves depth proportions (and thus avoids divergence) However, any disparity mapping function could be used in our implementation [LHW + 10]. Algorithm Outline Left view Left-to-right disparity Right-to-left disparity Right view Forward maps and blending factors computation Left-to- interpolated disparity Right-to- interpolated disparity Display parameters Video streams Forward mapping Forward mapping Alpha blending left-to- interpolated view + alpha Artifacts detection Right alpha map Raw interpolated view Confidence map Artifacts removal Left alpha map right-to- interpolated view + alpha Stereoscopic display Interpolated view Left view Forward mapping Forward mapping uses OpenGL Shading Language (GLSL) to distort a trivial 3D mesh (each pixel center is a mesh vertex). The mesh (which is a quad strip) is built only once, and both images are forward-mapped in the same vertex shader. OpenGL’s Z-buffering is used to deal with self-occlusions. Vertices belonging to quads that are highly distorted are assigned an alpha value of 0, meaning that the quad is transparent. This removes large elongated quads (usually at depth discontinuities) that produce highly visible artifacts. texture 2D mesh Build 3D mesh (done once for all) Map original disparity to Z (for Z-buffering) Displace vertices in X direction with disparity to interpolated view Project in the Z direction (with Z-buffering) texture 2D mesh x y x y y x d y x d x y Conclusion Uses a state-of-the-art open-source stereoscopic player, Bino, with multithreaded decoding and sup- porting many stereoscopic displays. Reasonable performance (1080p25 in real-time) on a quad-core 2.8GHz Xeon with a GeForce GTX480, without artifact removal (most time is spent decoding the four H.264 HD video streams). Real-time artifact detection and removal is being worked on. References [DD10] Fr´ ed´ eric Devernay and Sylvain Duchˆ ene. New view synthesis for stereo cinema by hybrid disparity remapping. In International Conference on Image Processing (ICIP), pages 5 –8, Hong Kong, September 2010. [DDRP11] Fr´ ed´ eric Devernay, Sylvain Duchˆ ene, and Adrian Ramos-Peon. Adapting stereoscopic movies to the viewing conditions using depth- preserving and artifact-free novel view synthesis. In Andrew J. Woods, Nicolas S. Holliman, and Neil A. Dodgson, editors, Stereoscopic Displays and Applications XXII, volume 7863, page 786302, San Francisco, California, United States, January 2011. SPIE. [DRP10] Fr´ ed´ eric Devernay and Adrian Ramos-Peon. Novel view synthesis for stereoscopic cinema: detecting and removing artifacts. In Pro- ceedings of the 1st international workshop on 3D video processing, 3DVP ’10, pages 25–30, New York, NY, USA, 2010. ACM. [Gd07] Larry Gritz and Eugene d’Eon. The importance of being linear. In Hubert Nguyen, editor, GPU Gems 3, chapter 24. Addison-Wesley, 2007. [Lam12] Martin Lambers. Bino: free 3D video player, January 2012. [LHW + 10]Manuel Lang, Alexander Hornung, Oliver Wang, Steven Poulakos, Aljoscha Smolic, and Markus Gross. Nonlinear disparity mapping for stereoscopic 3D. In ACM SIGGRAPH 2010 papers, SIGGRAPH ’10, pages 75:1–75:10, New York, NY, USA, 2010. ACM, ACM. [RLBL09] Sammy Rogmans, Jiangbo Lu, Philippe Bekaert, and Gauthier Lafruit. Real-time stereo-based view synthesis algorithms: A unified framework and evaluation on commodity GPUs. Signal Processing: Image Communication, 24(1-2):49–64, 2009. Special issue on advances in three-dimensional television and video. [SKS + 10] M. Sizintsev, S. Kuthirummaly, S. Samarasekeray, R. Kumary, H. S. Sawhneyy, and A. Chaudhryy. GPU accellerated realtime stereo for augmented reality. In Proc. Intl. Symp. 3D Data Processing, Visualization and Transmission (3DPVT), 2010. This work was done within the 3DLive project supported by the French Ministry of Industry http://3dlive-project.com/

Upload: others

Post on 15-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A stereoscopic movie player with real-time contentdevernay.free.fr/publis/duchene-sda2012-poster.pdf · [DDRP11]Fr ed eric Devernay, Sylvain Duch^ene, and Adrian Ramos-Peon. Adapting

† PRIMA Team, Inria Grenoble, France

‡ Computer Graphics and Multimedia Systems Group,University of Siegen, Germany

Mail: [email protected] Grenoble - Rhone Alpes655 Av de l’Europe 38330 Montbonnot-Saint-Martin

A stereoscopic movie player with real-time contentadaptation to the display geometry

Sylvain Duchene† - Martin Lambers‡ - Frederic Devernay†

Abstract

3D shape perception in a stereoscopic movie depends on several depth cues, including stereopsis. Fora given content, the depth perceived from stereopsis highly depends on the camera setup as well as onthe display size and distance. This can lead to disturbing depth distortions such as the cardboard effector the puppet theater effect. As more and more stereoscopic 3D content is produced in 3D (featuremovies, documentaries, sports broadcasts), a key point is to get the same 3D experience on any display.For this purpose, perceived depth distortions can be resolved by performing view synthesis. We proposea real time implementation of a stereoscopic player based on the open-source software Bino [Lam12],which is able to adapt a stereoscopic movie to any display, based on user-provided camera and displayparameters.

Content adaptation

Content adaptation is solved by disparity mapping [LHW+10]. A linear transform (scale+shift) isnot enough in most cases, and may result in cardboard effect, divergence, or puppet theatre ef-fect [DRP10, DDRP11]. Shooting and viewing geometries can be described using the same smallset of parameters:

b

P

C C

M MW

H Z

Wd

l r

rl

Symbol Camera Display

Cl, Cr camera optical center eye optical centerP physical scene point perceived 3-D point

Ml, Mr image points of P screen pointsb camera interocular eye interocularH convergence distance screen distanceW width of convergence plane screen sizeZ real depth perceived depthd left-to-right disparity (as a fraction of W )

The scene depth (in the camera geometry) and the perceived depth (in the display geometry) arerelated by:

Z ′ =H ′

1− W ′

b′ ( bWZ−HZ )

or Z =H

1− Wb ( b

W ′Z ′−H ′Z ′ )

(1)

A small object of dimensions δX × δZ in the width and depth directions, placed at depth Z, is per-ceived as an object of dimensions δX ′ × δZ ′ at depth Z ′, and the roundness factor ρ measures howmuch the object proportions are affected:

ρ =∂Z ′

∂Z/∂X ′

∂X=∂Z ′

∂Z/W ′/s′

W/s= σ′

W

W ′∂Z ′

∂Z(2)

In the screen plane (Z=H and Z ′=H ′), the roundness factor simplifies to:

ρscreen =W

W ′∂Z ′

∂Z (Z=H)=

b

H

H ′

b′(3)

From these equations, we compute a disparity mapping function that:

• has a roundness factor of 1 in the screen plane

• preserves depth proportions (and thus avoids divergence)

However, any disparity mapping function could be used in our implementation [LHW+10].

Algorithm Outline

Left view Left-to-right disparity

Right-to-left disparity Right view

Forward maps and blending factors

computation

Left-to-interpolated

disparity

Right-to-interpolated

disparity

Display parameters

Video streams

Forward mapping Forward mapping

Alpha blending

left-to-interpolated view + alpha

Artifacts detection

Right alpha map

Raw interpolated

view

Confidence map

Artifacts removal

Left alpha map

right-to-interpolated view + alpha

Stereoscopic display

Interpolated viewLeft view

Forward mapping

Forward mapping uses OpenGL Shading Language (GLSL) to distort a trivial 3D mesh (each pixelcenter is a mesh vertex). The mesh (which is a quad strip) is built only once, and both images areforward-mapped in the same vertex shader.OpenGL’s Z-buffering is used to deal with self-occlusions.Vertices belonging to quads that are highly distorted are assigned an alpha value of 0, meaning thatthe quad is transparent. This removes large elongated quads (usually at depth discontinuities) thatproduce highly visible artifacts.

texture 2D mesh

Build 3D mesh(done once for all)

Map originaldisparity to Z(for Z-buffering)

Displace vertices in Xdirection with disparity tointerpolated view

Project in the Zdirection(with Z-buffering)

texture 2D mesh

x

y

x

y

y

xd

y

xd

x

y

Conclusion

•Uses a state-of-the-art open-source stereoscopic player, Bino, with multithreaded decoding and sup-porting many stereoscopic displays.

•Reasonable performance (1080p25 in real-time) on a quad-core 2.8GHz Xeon with a GeForceGTX480, without artifact removal (most time is spent decoding the four H.264 HD video streams).

•Real-time artifact detection and removal is being worked on.

References[DD10] Frederic Devernay and Sylvain Duchene. New view synthesis for stereo cinema by hybrid disparity remapping. In International Conference

on Image Processing (ICIP), pages 5 –8, Hong Kong, September 2010.

[DDRP11] Frederic Devernay, Sylvain Duchene, and Adrian Ramos-Peon. Adapting stereoscopic movies to the viewing conditions using depth-

preserving and artifact-free novel view synthesis. In Andrew J. Woods, Nicolas S. Holliman, and Neil A. Dodgson, editors, Stereoscopic

Displays and Applications XXII, volume 7863, page 786302, San Francisco, California, United States, January 2011. SPIE.

[DRP10] Frederic Devernay and Adrian Ramos-Peon. Novel view synthesis for stereoscopic cinema: detecting and removing artifacts. In Pro-

ceedings of the 1st international workshop on 3D video processing, 3DVP ’10, pages 25–30, New York, NY, USA, 2010. ACM.

[Gd07] Larry Gritz and Eugene d’Eon. The importance of being linear. In Hubert Nguyen, editor, GPU Gems 3, chapter 24. Addison-Wesley,

2007.

[Lam12] Martin Lambers. Bino: free 3D video player, January 2012.

[LHW+10] Manuel Lang, Alexander Hornung, Oliver Wang, Steven Poulakos, Aljoscha Smolic, and Markus Gross. Nonlinear disparity mapping

for stereoscopic 3D. In ACM SIGGRAPH 2010 papers, SIGGRAPH ’10, pages 75:1–75:10, New York, NY, USA, 2010. ACM, ACM.

[RLBL09] Sammy Rogmans, Jiangbo Lu, Philippe Bekaert, and Gauthier Lafruit. Real-time stereo-based view synthesis algorithms: A unified

framework and evaluation on commodity GPUs. Signal Processing: Image Communication, 24(1-2):49–64, 2009. Special issue on

advances in three-dimensional television and video.

[SKS+10] M. Sizintsev, S. Kuthirummaly, S. Samarasekeray, R. Kumary, H. S. Sawhneyy, and A. Chaudhryy. GPU accellerated realtime stereo

for augmented reality. In Proc. Intl. Symp. 3D Data Processing, Visualization and Transmission (3DPVT), 2010.

This work was done within the 3DLive project

supported by the French Ministry of Industry

http://3dlive-project.com/