Building Lenses for the Windows Phone 8 Camera

  • View
    128

  • Download
    0

Embed Size (px)

DESCRIPTION

Building Lenses for the Windows Phone 8 Camera. Eric P. Bennett Senior Lead Program Manager Windows Phone Camera 2-018. Agenda. The Windows Phone 8 Camera Building a Lens New Camera APIs Sharing and Editing. Camera and Lenses Demo. Camera App and Photosynth Lens. - PowerPoint PPT Presentation

Text of Building Lenses for the Windows Phone 8 Camera

Building Lenses for the Windows Phone 8 Camera

Building Lenses for the Windows Phone 8 CameraEric P. BennettSenior Lead Program ManagerWindows Phone Camera2-01811/2/2012Windows Azure1 2011 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.The Windows Phone 8 Camera

Building a Lens

New Camera APIs

Sharing and EditingAgenda

Build 2012 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/2/20122Camera App and Photosynth LensCamera and Lenses DemoBuild 2012 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/2/20123The Windows Phone 8 CameraThe everyday camera solutionFast pocket-to-picture timesDedicated camera button for a point-and-shoot experienceNew UI elements Pinch-to-zoom UI Lens Picker button

Build 2012 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/2/20124Windows Phone LensesViewfinder-driven experiencesAppear inside Camera & Photo appsCreate, view, & edit photos + rich mediaAccess new camera APIs and extensibility points Purchased through the Store

Lets cut to the chase:

Your new camera app should be a Lens on Windows Phone 8 Inside LensesLens Workflow

//Build Demo Lens//Build Demo LensBuild 2012 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/2/20128Viewfinder entry pointLens-specific UX flowRich mediaCustom tile iconographyBuilt with XAML with C# for UI Access to C++ Lenses start with an but also feature Key Lens ComponentsLens RequirementsIn WMAppManifest.xml add Camera_Capture_App Extension

DeepLink URI contains ViewfinderLaunch

For Lens Icons:ResolutionIcon sizeFolderFile nameWVGA173 173 px/Assets/Lens.Screen-WVGA.png720p259 259 px/Assets/Lens.Screen-720p.pngWXGA277 277 px/Assets/Lens.Screen-WXGA.pngRich MediaLenses can capture more than JPEGs Interactive panorama capture Non-destructive editors

Link camera roll JPEGs to a lens and content stored in the Local Folder

Photos_Rich_Media_Edit Launches with a DeepLink URI containing RichMediaEdit and a file token for identification

Consistent capture experience Controls, Gestures, & Animations

In-lens camera roll With Rich Media and without

App flow / back buttons View/Edit-Only ModeGuidelines to make your Lens intuitive and fun.

The full UX guidelines are on MSDN

Making Great LensesRegistering as a Lens, Lens Tile Icons, Lens Capabilities, Lens DeepLink URIsCoding a Lens: Part ILens InfrastructureBuild 2012 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/2/201213New Camera APIsWindows Phone 8 Imaging PlatformWindows Runtime Camera APIs (Dont worry, 7.5s managed APIs are still there too)

Deeper sensor control across devicesCaptureSequence image capture modelPreview and video stream access

all on a new MediaFoundation core and with C++ for existing image processing code

Windows.Phone.Media.CaptureNative InterfacesCameraCaptureFrameICameraCaptureDeviceIAudioVideoCaptureDeviceICameraCaptureNativeDeviceICameraCapturePreviewSinkICameraCaptureSampleSinkPhotoCaptureDeviceAudioVideoCaptureDeviceCameraCaptureSequenceKnownCameraAudioVideoPropertiesKnownCameraPhotoPropertiesKnownCameraGeneralPropertiesCamera Sensor PropertiesImmediate sensor changes with PhotoCaptureDevice

SetProperty( property, value)

GetSupportedPropertyRange( sensorLocation, property)GetSupportedPropertyValues( sensorLocation, property)

Consistent Control Across DevicesPropertyUnitsExposureCompensation1/6 EVExposureTimeMicrosecondsISOISO SensitivityWhiteBalanceDegrees KelvinWhiteBalancePresetEnumSceneModeEnumFlashModeEnumFlashPowerRangeCommon Photographic PropertiesCapture SequencesHigh-performance imaging

Specify frame properties to be applied at time of capture

Optimizes for fast capture on shutter button press and asynchronous UX

Other considerations Reset pipeline with SetProperty() Half-press focus/touch focus

OpenPhotoCaptureDevice.OpenAsync()SpecifyCameraCaptureFrame.DesiredProperties[]PreparePhotoCaptureDevice.PrepareCaptureSequenceAsync()CaptureCameraCaptureSequence.StartCaptureAsync()ProcessCameraCaptureFrame.CaptureStreamUser Presses ShutterCreate PhotoCaptureDevice.CreateCaptureSequence()FrameAcquired EventSaveMediaLibrary.SavePictureToCameraRoll()Initialize the camera with Windows Runtime APIs, Configure the sensor, Take a pictureCoding a Lens: Part IICaptureBuild 2012 2012 Microsoft Corporation. All rights reserved. Microsoft, Windows, and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.11/2/201219Preview and Audio/Video APIsLive Preview Pixels from Photo/AudioVideoCaptureDevice GetPreviewBufferArgb(), GetPreviewBufferY(), GetPreviewBufferYCbCr() Formatted as NV12 Data Notification through PreviewFrameAvailable Event Native preview access through COM APIs

AudioVideoCaptureDevice Capture/Streaming H.264 Video with AAC Audio in an .MP4 Container Configurable with KnownCameraAudioVideoProperties Access to VideoTorch properties Native stream and frame pixel access through COM APIsSharing and EditingMore Photo Gallery PointsShare MenuRich MediaEdit MenuLegacy-only

Plus, you can now launch a ShareMediaTask from your LensAuto-Upload Background AgentsUpload photos to your cloud servicein the background over Wi-Fi

Implemented as a ResourceIntensiveTask

Device settings menu for configuration

Photos_Auto_Upload DeepURI Link Contains ConfigurePhotosUploadSettings

Additional Res