3D stéréoscopique sur mobile A. Bourge, A. Bellon «Journée sur la vidéo 3D», 30 janvier 2012
DISCLAIMER Copyright ST-Ericsson, 2012. All Rights Reserved. The contents of this document are subject to change without prior notice. ST-Ericsson makes no representation or warranty of any nature whatsoever (neither expressed nor implied) with respect to the matters addressed in this document, including but not limited to warranties of merchantability or fitness for a particular purpose, interpretability or interoperability or, against infringement of third party intellectual property rights, and in no event shall ST-Ericsson be liable to any party for any direct, indirect, incidental and or consequential damages and or loss whatsoever (including but not limited to monetary losses or loss of data), that might arise from the use of this document or the information in it. ST-Ericsson and the ST-Ericsson logo are trademarks of the ST-Ericsson group of companies or used under a license from STMicroelectronics NV or Telefonaktiebolaget LM Ericsson. All other names are the property of their respective owners. For more information on ST-Ericsson, visit www.stericsson.com 2
Avant-propos Ces travaux sont menés par ST Ericsson dans le cadre des 2 projets collaboratifs suivants: Moov3D et CALDER. Moov3D CALDER Soutenu et financé par le pôle Minalogic (Grenoble) Soutenu et financé par l Agence Nationale de la Recherche (ANR) 3
Plan Introduction Côté capture: de l acquisition à l encodage Côté affichage: composition, rendu et écrans Utilisation de la profondeur Conclusions et perspectives 4
INTRODUCTION
3D sur mobile: applications et challenges techniques Les principes techniques de base de la 3D sont les mêmes sur le mobile que sur les autres appareils stéréoscopiques. Les spécificités du mobile résident dans: La compacité et le tout-en-un: caméra et écran dans la main. La mobilité: écrans auto-stéréoscopiques. Le partage: codecs et connectivité. Le graphique: interfaces, jeux. Les contenus mixtes: réalité augmentée. Tout en respectant des contraintes de surface, consommation/puissance et temps réel. 6
Qu est-ce qu une plateforme de smartphone? Exemple du U8500 : http://www.stericsson.com/products/u8500-novathor.jsp 7
Côté capture: de l acquisition à l encodage
Stereo capture : le dataflow jusqu au YUV (1/3) Alignement temporel: synchroniser les captures des caméras gauche et droite I2C ctrl broadcaster/splitter: horloge et signaux de contrôle En pratique cela suffit: les 2 caméras sont ainsi synchronisées à la ligne près. Pas besoin d une boucle de rétroaction pour compenser une dérive ou des délais de réception d horloge. Les images droite et gauche sont transmises en parallèle sur leur port CSI respectif Typiquement en RAW BAYER I2c broadcast /splitter I2c Sensor control csi CSI-2 Left sensor csi CSI-2 RAW BAYER YUV Right sensor Stereo camera ISP 9
Stereo capture : le dataflow jusqu au YUV (2/3) Traitement séquentiel d images capturées en parallèle L image gauche est envoyée directement vers l ISP L image droite est stockée dans un buffer, puis envoyée à l ISP une fois l image de gauche traitée Les images YUV L/R sortent séquentiellement de l ISP. L intérêt est de garder un unique ISP sur la plateforme (gain en surface et en coût) I2c broadcast /splitter I2c Sensor control csi CSI-2 Left sensor csi CSI-2 RAW BAYER BMS BML Imaging pipeline YUV Right sensor Stereo camera DMA Raw-bayer buffer ISP 10
Stereo capture : le dataflow jusqu au YUV (3/3) Contrôle de l ISP en capture stereo Mise en commun des statistiques: 1 caméra master, ou bien accumulation des stats des 2 caméras Configuration temps réel unique: white-balance, exposure, focus, Idéalement, prise en compte des variations de production, si les données OTP sont présentes ISP à changement de contexte rapide: configuration individualisée possible (defect pixels, black offset ) I2c broadcast /splitter I2c Sensor control 3A ISP control csi CSI-2 Left sensor csi CSI-2 RAW BAYER BMS BML Imaging pipeline YUV Right sensor Stereo camera DMA Raw-bayer buffer ISP 11
Variations mécaniques sur les caméras pour mobile (1/2) Sensor/lens inside camera module camera module inside support camera module support on mobile mechanics Sxa2152271/3 Variant of camera support moulding with 2 pegs to get fixed position for the camera on the board. 12
Delta-Y Y y1 y2 Variations mécaniques sur les caméras pour mobile (2/2) Roll (rotation around Z axis) Roll X axis intra-axial distance + Delta-X X Conséquences: Désalignement vertical. Roll: accumulation des rotations du capteur et de la caméra sur son support. Yaw & Pitch: cause des distortions de type keystone (perspective). Niveau de gêne occasionné = très subjectif Mais doit être évité pour assurer un bon confort de vision en relief Difficile d assurer cela mécaniquement sur un téléphone. Correction numérique: stereo rectification. 13
Images rectifiées / non rectifiées Unrectified picture Rectified picture 14
Autre imperfection: distortions géométriques (1/2) Les systèmes optiques entraînent plusieurs types de défauts: Lens shading Chromatic aberrations Geometric lens distortions (barrel, pincushion ) Un exemple de distortion géométrique Distortions géométriques: Le plus souvent non corrigées dans les systèmes monoscopiques Mais induisent un désalignement local supplémentaire en stéréo Nécessité de les corriger également 15
Autre imperfection: distortions géométriques (2/2) + Approximation par un maillage triangulaire pour un correction sur GPU (exemple ci-contre) Ou par des quadrilatères pour un correction sur un bloc matériel tile-based. La rectification stéréo et la correction de distortion géométrique sont factorisées et traitées dans la même passe. = 16
Chaîne de traitement pour la capture vidéo stéréo AEC/AWB control for dual-camera control AE/AWB control Statistics from master camera only Statistics collection Alignment of two images required to compensate for manufacturing variations. E.g. performed on graphic engine (GPU). Camera 1 Rx Rx Frame buffer ISP Rectification & distortion correction Encode Camera 2 Simultaneous readout and synchronous operation Time-multiplexing Common ISP setting for both cameras 17
Stereo video codecs Stereo capture Encode flow H264/MVC MVC spatial/temporal Intra and Anchor Period Stereo playback decode flow left camera frame Right camera frame Rectification ------------- Parallax_ctrl at capture -------------- s3d format conversion for codec Left frame.. Right frame H264/SEI Stereo flag Frame-packing arrangement Rescaling ------------- Parallax_ctrl at display -------------- s3d format conversion for display-subsystem Left view Righ t view s3d format depending of 3D-display Left view Righ t view H.264/MVC encode/decode Upgrade of H.264/AVC firmware on top of H.264/AVC legacy HW. HW encode/decode of Left & Right views Left and right views are full resolution Legacy: any H264/HP can decode the bitstream and retrieve base (left) view H.264/AVC encode/decode (with stereo SEI) HW H264 encode/decode of Left+Right views packed together in a single frame frame-packing arrangements are signaled in SEI Frame-packing on encoding: side-by-side(half resolution) Frame-packing on decoding: s3d format conversion to be processed by display sub-system 18
Stereo still picture codecs Stereo capture Encode flow Left camera frame Right camera frame Rectification ------------- Parallax_ctrl at capture -------------- s3d format conversion for codec MPO codec MPO metadata (inc. parallax user choice). Left frame.. Right frame Picture.mpo Stereo-JPEG codec EXIF data Left view Picture.jps Right view Stereo playback decode flow Rescaling ------------- Parallax_ctrl at display -------------- s3d format conversion for display-subsystem Left view Righ t view s3d format depending of 3D-display MPO encode/decode HW JPEG encode/decode of Left & Right MPO metadata write/read Parallax is part of MPO metadata (can be ignored or modified at playback) Stereo-JPEG encode/decode HW JPEG encode/decode of Left+Right viewspacked side-byside (full resolution) EXIF data read/write Parallax is embedded in JPEG picture (cannot be undone) 19
Côté affichage: composition, rendu et écrans
Ecrans 3D pour le mobile Ecran local = Autostéréoscopique Ecran déporté = Avec lunette Lenticulaire ou à barrière de parallaxe 3D TV, cadre photo En pratique aujourd hui: 2 vues Lunettes à micro-écrans Connection standard = MIPI DSI Connection standard = HDMI 1.4a GPU U85xx chipset 3D Video glasses s3d apps / s3d decoder / s3d capture Internal s3d formats signaling B2R2 L/R composition UI MCDE Display i/f i2c DSI AV8100 HDMI i/f HDMI 1.4a info-frames Home 3DTV DSI DPI Autostereoscopic 3D panel 21
Conversions de format 3D à supporter sur la plateforme H264/MVC MIPI 3D 3D panel without glasses Frame-sequential Frame-interleave Moov3D 3D-cam, MVC (DVB phase 2, Blu-ray 3D)) Column-interleaved Line-interleaved Top/Bottom (full) Internet content 3D TV with glasses Side-by-Side (full) 2D->3D ; sjpeg Picture conversions Rotations Rescaling / centered L/R views swapping Parallax control Frame Packing Side-by-Side (half) Internet ; DVB phase 1 Top/Bottom (half) Top/Bottom (half) Internet ;DVB phase 1 Side-by-Side (half) 2D/3D Video glasses 22 H264/SEI MicroOLED-SbS(half) HDMI 1.4
Situation actuelle sur les contenus et écran s3d Le support de la signalisation HDMI1.4a est bien déployé Y compris sur lien physique HDMI1.3 Les récentes extensions 3D de MIPI-DSI devraient être adoptées Plusieurs formats: inévitable car chaque constructeur d écran a sa technologie Transparence pour l utilisateur: synchronisation entre l écran et la plateforme, passage automatique dans le bon mode 2D ou 3D, avec le bon format Cependant, la signalisation du contenu vidéo lui-même (e.g. H.264/AVC SEI) n est pas toujours présente. Détection automatique du format (adressé par NXP Software dans CALDER avec le portage de son player video 3D sur 8500 Android) 23
Contenus graphiques Démonstrateur Open-Source GPAC Player: http://gpac.sf.net Rendu de modèles 3D et 2D (cartes) Services interactifs, Cross-platform (Desktop et Mobile) GPAC et la stéréoscopie Extensions pour la visualisation en relief Extensions pour l interactivité en relief Utilisation de shaders OpenGL Adressé dans CALDER par Telecom ParisTech et Telecom SudParis 24
Utilisation de la profondeur
ESTIMATION DE PROFONDEUR A partir de 2 vues (images ou vidéos) Applications: Adaptation de l amplitude du relief ( depth slider ) Vue gauche Vue droite Par synthèse de vues intermédiaires. Aide au contrôle du parallax + simple: par décalage global d une image par rapport à l autre. Algorithme développé à ST Ericsson Carte de profondeur 26
ESTIMATION DE PROFONDEUR A partir de 2 vues (images ou vidéos) Autres applications: Simulation du motion-parallax Vue gauche Vue droite Couplé à du eye-tracking. Meilleur rendu en réalité augmentée Positionnement et occlusions d objets virtuels sur un contenu naturel 3D. Aide aux interfaces gestuelles Par l analyse des changements de profondeur. Carte de profondeur 27
ESTIMATION DE PROFONDEUR ET SYNTHESE DE VUES Left view Right view Estimated Depth Virtual view 28
SYNTHESE DE VUES A PARTIR DU 2D+Z Changement de point de vue par synthèse de vue 29
Compositeur 3D/2D dédié: Renoir3D Disparity projection Input formatting t+d @ depth (d) (de)-occlusion management 3D renderer @texture View assignment Embedded memory Texture (t) Geometric transform Output formatting Blender Color transform 30
Compositeur 3D/2D dédié: Renoir3D Compositeur 3D/2D dédié Composition d objets 2D, 2D+carte de profondeur, 2D+gradient de profondeur Ajustement des profondeurs par objet et par scène. Transformations affines et perspective Gestion de transparence, formes Génération et entrelacement des vues pour tout types de formats de sortie (2 à 15 vues). 31
Architecture avancée de rendu autostéréoscopique 3D Gfx Décodeur 3D/ Rendu OpenGL Textures 2D & profondeur 2..N Vues entrelacées 2D Gfx Images Rendu 2D Décodeur JPEG/PNG Composition & Rendu Autostéréoscopique Vidéos Décodeur Vidéo Couple Stéréo Couple Stéréo 32
Conclusions et perspectives
CONCLUSIONS ET PERSPERCTIVES La 1ère étape fut l ajout de fonctions 3D sur des plateformes conçues initialement pour la 2D Gestion des caméras stéréo et surtout des traitement associées Upgrade des pilotes de codecs (MVC, MPO ), interface graphiques stéréo Adaptation aux différents formats d écran, signalisation et standards (HMDI, DSI) Pour l instant, cela n a pas suffit à faire émerger significativement la 3D sur mobile. Le marché reste limité à quelques modèles. Prochaines étapes et défis techniques: Architectures directement pensées pour la 3D, performances accrues Nouvelles fonctionnalités, notamment pour la qualité, la profondeur et les interactions avec l utilisateur Importance de l écosystème Dépendance envers le succès de la 3D dans les autres domaines? Cinéma, télévision, consoles Qualité et acceptabilité des écrans autostéréoscopiques, arrivée du multivues, tablets? Contenus et applications: films, jeux, réalité augmentée en 3D 34
Remerciements Collègues à ST Ericsson: Alain Bellon, Antoine Chouly, Antoine Drouot, Victor Macela, Selim Ben Yedder, Olivier Gay-Bellile, Jean-Marc Auger, Eric Auger, Laurent Cuisenier Partenaires du projet CALDER: Telecom ParisTech (Yves Mathieu, Florent Lozach, Jean Lefeuvre), Telecom SudParis (Christian Tulvan, Marius Preda), NXP Software (François Martin) Partenaires du projet MOOV3D: INPG/GIPSA-Lab, CEA-LETI, MicroOLED, VisioGlobe, PointCube 35
THANK YOU