User interface camera effects
By providing a faster and more efficient method and interface on electronic devices, managing camera effects is solved, and more efficient user input and battery power management is achieved.
Patent Information
- Application Number
- CN202510030280.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2017-10-09
- Filing Date
- 2018-01-26
- Publication Date
- 2025-04-01
AI Technical Summary
The prior art is inefficient when using electronic devices to manage camera effects, requires a large amount of user input and is inaccurate, resulting in wasting time and equipment energy.
Provides a faster and more efficient method and interface for managing camera effects, including simultaneously displaying the digital viewfinder and filter selector user interface on the display and detecting user input through the input device to apply the corresponding filter preview.
Reduces the number of user inputs, improves the efficiency of the human-computer interface, and saves battery power, especially in battery-powered devices.
Smart Images

Figure CN119739312A_ABST
Abstract
Description
[0001] This application is a divisional application of the Chinese invention patent application with the application date of January 26, 2018, the national application number of 201880036400.4, and the invention name of “User Interface Camera Effect”.
[0002] This patent application claims priority to U.S. Patent Application No. 15 / 728,147, filed on October 9, 2017, entitled “USER INTERFACE CAMERA EFFECTS,” which claims priority to U.S. Provisional Patent Application No. 62 / 556,414, filed on September 9, 2017, entitled “USER INTERFACE CAMERA EFFECTS,” and U.S. Provisional Patent Application No. 62 / 514,947, filed on June 4, 2017, entitled “USER INTERFACE CAMERA EFFECTS.” This patent application also claims priority to Danish Patent Application No. PA201770563, filed on July 10, 2017, entitled “USER INTERFACE CAMERA EFFECTS,” and Danish Patent Application No. PA201770719, filed on September 22, 2017, entitled “USER INTERFACE CAMERA EFFECTS.” The contents of these patent applications are hereby incorporated by reference in their entirety for all purposes. Technical Field
[0003] The present disclosure relates generally to computer user interfaces for electronic devices, and more particularly to computer user interfaces for devices having built-in cameras. Background Art
[0004] In recent years, the use of electronic devices for recording videos and taking photos has increased significantly. Exemplary electronic devices for recording videos and taking photos include smart phones and handheld cameras. Such devices typically include a viewfinder that a user can use to preview before taking a photo or recording a video. Summary of the invention
[0005] However, some techniques for managing camera effects using electronic devices are often cumbersome and inefficient. For example, modifying a visual effect in a viewfinder so that captured images and recorded videos exhibit the visual effect often requires extensive user input and is imprecise. Existing techniques require more time than necessary, which results in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.
[0006] Therefore, the present technology provides a faster and more efficient method and interface for electronic devices to manage camera effects. Such methods and interfaces optionally supplement or replace other methods for managing camera effects. Such methods and interfaces reduce the cognitive burden on users and produce more efficient man-machine interfaces. For battery-driven computing devices, such methods and interfaces save power and increase the time interval between battery charges. In some examples, these technologies provide simulated visual effects in camera viewfinders and captured images without the need for additional hardware components. In some examples, these technologies provide the ability to quickly transition between user interfaces with limited user input. In some examples, these technologies effectively provide enhanced image editing capabilities, which enables the displayed digital viewfinder and captured video to obtain visually pleasing results. In some examples, these technologies effectively provide a user interface for transitioning between different option sets with minimal input. In some examples, these technologies effectively provide a user interface for providing additional functions without any direct input. Such technologies reduce the number of user inputs required and save battery power.
[0007] An exemplary method includes, at an electronic device having one or more cameras, one or more input devices, and a display: simultaneously displaying a camera application user interface on the display, wherein the camera application user interface includes: a digital viewfinder including a real-time preview of a field of view of one or more cameras; and a representation of a filter selector user interface overlaid on the digital viewfinder; while simultaneously displaying the digital viewfinder and the representation of the filter selector user interface, detecting, via the one or more input devices, a first input beginning at a location corresponding to a corresponding portion of the real-time preview; and in response to detecting the first input: based on determining that a first criterion is satisfied, applying a preview of a first filter to the real-time preview of the field of view of the cameras that was not applied prior to detecting the first input, wherein the first criterion includes requiring that the filter selector user interface be overlaid on a corresponding portion of the real-time preview when the first input is detected; and based on determining that the filter selector user interface is not overlaid on a corresponding portion of the real-time preview when the first input is detected, performing a corresponding operation in the camera application without applying the preview of the first filter to the real-time preview.
[0008] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more cameras, one or more input devices, and a display. The one or more programs include instructions for the following operations: displaying a camera application user interface on the display simultaneously, wherein the camera application user interface includes: a digital viewfinder including a live preview of a field of view of one or more cameras; and a representation of a filter selector user interface overlaid on the digital viewfinder; while the digital viewfinder and the representation of the filter selector user interface are displayed simultaneously, detecting a first input starting at a position corresponding to a corresponding portion of the live preview via the one or more input devices; and in response to detecting the first input: applying a preview of a first filter to the live preview of the field of view of the camera that was not applied before the first input was detected based on determining that a first criterion is satisfied, wherein the first criterion includes requiring that the filter selector user interface be overlaid on the corresponding portion of the live preview when the first input is detected; and performing a corresponding operation in the camera application without applying the preview of the first filter to the live preview based on determining that the filter selector user interface is not overlaid on the corresponding portion of the live preview when the first input is detected.
[0009] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more cameras, one or more input devices, and a display. The one or more programs include instructions for the following operations: displaying a camera application user interface on the display simultaneously, wherein the camera application user interface includes: a digital viewfinder including a live preview of a field of view of one or more cameras; and a representation of a filter selector user interface overlaid on the digital viewfinder; while the digital viewfinder and the representation of the filter selector user interface are displayed simultaneously, detecting a first input starting at a position corresponding to a corresponding portion of the live preview via the one or more input devices; and in response to detecting the first input: applying a preview of a first filter to the live preview of the field of view of the camera that was not applied before the first input was detected based on determining that a first criterion is satisfied, wherein the first criterion includes requiring that the filter selector user interface be overlaid on the corresponding portion of the live preview when the first input is detected; and performing a corresponding operation in the camera application without applying the preview of the first filter to the live preview based on determining that the filter selector user interface is not overlaid on the corresponding portion of the live preview when the first input is detected.
[0010] An exemplary electronic device includes one or more cameras, one or more input devices, a display, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for the following operations: displaying a camera application user interface on the display simultaneously, wherein the camera application user interface includes: a digital viewfinder, the digital viewfinder including a live preview of a field of view of one or more cameras; and a representation of a filter selector user interface overlaid on the digital viewfinder; while the digital viewfinder and the representation of the filter selector user interface are displayed simultaneously, detecting a first input starting at a position corresponding to a corresponding portion of the live preview via the one or more input devices; and in response to detecting the first input: applying a preview of a first filter to the live preview of the field of view of the camera that was not applied before the first input was detected based on determining that a first criterion is satisfied, wherein the first criterion includes requiring that the filter selector user interface be overlaid on the corresponding portion of the live preview when the first input is detected; and performing a corresponding operation in the camera application without applying the preview of the first filter to the live preview based on determining that the filter selector user interface is not overlaid on the corresponding portion of the live preview when the first input is detected.
[0011] An exemplary electronic device includes: one or more cameras; one or more input devices; a display; a device for simultaneously displaying a camera application user interface on the display, wherein the camera application user interface includes: a digital viewfinder, the digital viewfinder including a real-time preview of the field of view of the one or more cameras; and a representation of a filter selector user interface overlaid on the digital viewfinder; a device for detecting a first input starting at a position corresponding to a corresponding portion of the real-time preview via the one or more input devices while simultaneously displaying the digital viewfinder and the representation of the filter selector user interface; and a device for the following operations: in response to detecting the first input: based on determining that a first criterion is satisfied, applying a preview of a first filter to the real-time preview of the camera field of view that was not applied before the first input was detected, wherein the first criterion includes requiring that the filter selector user interface be overlaid on the corresponding portion of the real-time preview when the first input is detected; and based on determining that the filter selector user interface is not overlaid on the corresponding portion of the real-time preview when the first input is detected, performing a corresponding operation in the camera application without applying the preview of the first filter to the real-time preview.
[0012] An exemplary method includes, at an electronic device having one or more input devices and a display: displaying, on the display, a representation of image data associated with depth map information; while displaying the representation of the image data on the display: detecting a first input via the one or more input devices; based on detecting the first input, applying a first lighting effect to the representation of the image data, wherein the first lighting effect is based on the depth map information; detecting a second input via the one or more input devices; and based on detecting the second input, applying a second lighting effect different from the first lighting effect to the representation of the image data, wherein the second lighting effect is based on the depth map information.
[0013] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices and a display. The one or more programs include instructions for performing the following operations: displaying a representation of image data associated with depth map information on the display; while displaying the representation of image data on the display: detecting a first input via the one or more input devices; based on detecting the first input, applying a first lighting effect to the representation of image data, wherein the first lighting effect is based on the depth map information; detecting a second input via the one or more input devices; and based on detecting the second input, applying a second lighting effect different from the first lighting effect to the representation of image data, wherein the second lighting effect is based on the depth map information.
[0014] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices and a display. The one or more programs include instructions for performing the following operations: displaying a representation of image data associated with depth map information on the display; while displaying the representation of image data on the display: detecting a first input via the one or more input devices; based on detecting the first input, applying a first lighting effect to the representation of image data, wherein the first lighting effect is based on the depth map information; detecting a second input via the one or more input devices; and based on detecting the second input, applying a second lighting effect different from the first lighting effect to the representation of image data, wherein the second lighting effect is based on the depth map information.
[0015] An exemplary electronic device includes: one or more input devices; a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a representation of image data associated with depth map information on the display; while displaying the representation of the image data on the display: detecting a first input via the one or more input devices; based on detecting the first input, applying a first lighting effect to the representation of the image data, wherein the first lighting effect is based on the depth map information; detecting a second input via the one or more input devices; and based on detecting the second input, applying a second lighting effect different from the first lighting effect to the representation of the image data, wherein the second lighting effect is based on the depth map information.
[0016] An exemplary electronic device includes: one or more cameras; one or more input devices; a display; a device for displaying a representation of image data associated with depth map information on the display; a device for performing the following operations: when displaying the representation of the image data on the display, detecting a first input via the one or more input devices; based on detecting the first input, applying a first lighting effect to the representation of the image data, wherein the first lighting effect is based on the depth map information; detecting a second input via the one or more input devices; and based on detecting the second input, applying a second lighting effect different from the first lighting effect to the representation of the image data, wherein the second lighting effect is based on the depth map information.
[0017] An exemplary method includes, at an electronic device having one or more input devices and a display: detecting, via the one or more input devices, a first input corresponding to a selection of a first image filter for a representation of image data having a first appearance; and in response to detecting the first input, applying the first image filter to the representation of the image data, comprising: based on determining that the image data has been associated with depth information, wherein the depth information enables a foreground area of the representation of the image data to be distinguished from a background area of the representation of the image data: applying the first image filter to the foreground area of the representation of the image data, making a first level adjustment to change the appearance of the foreground area of the representation of the image data, wherein the first level adjustment indicates a first degree to which the first image filter changes the appearance of the representation of the image data; applying the first image filter to the background area of the representation of the image data, making a second level adjustment to change the appearance of the background area of the representation of the image data, wherein the second level adjustment indicates a second degree to which the first image filter changes the appearance of the representation of the image data, wherein the first level adjustment and the second level adjustment are different; and after applying the first image filter to the representation of the image data, displaying a representation of the corresponding image on the display, wherein the first filter was applied to the representation of the image data.
[0018] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices and a display. The one or more programs include instructions for performing the following operations: detecting a first input corresponding to a selection of a first image filter for a representation of image data having a first appearance via the one or more input devices; and in response to detecting the first input, applying the first image filter to the representation of the image data, including: based on determining that the image data has been associated with depth information, wherein the depth information enables a foreground area of the representation of the image data to be distinguished from a background area of the representation of the image data: applying the first image filter to the foreground area of the representation of the image data, making a first level adjustment to change the appearance of the foreground area of the representation of the image data, wherein the first level adjustment indicates a first degree to which the first image filter changes the appearance of the representation of the image data; applying the first image filter to the background area of the representation of the image data, making a second level adjustment to change the appearance of the background area of the representation of the image data, wherein the second level adjustment indicates a second degree to which the first image filter changes the appearance of the representation of the image data, wherein the first level adjustment and the second level adjustment are different; and after applying the first image filter to the representation of the image data, displaying a representation of the corresponding image on the display, wherein the first filter is applied to the representation of the image data.
[0019] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices and a display. The one or more programs include instructions for performing the following operations: detecting a first input corresponding to a selection of a first image filter for a representation of image data having a first appearance via the one or more input devices; and in response to detecting the first input, applying the first image filter to the representation of the image data, including: based on determining that the image data has been associated with depth information, wherein the depth information enables a foreground area of the representation of the image data to be distinguished from a background area of the representation of the image data: applying the first image filter to the foreground area of the representation of the image data, making a first level adjustment to change the appearance of the foreground area of the representation of the image data, wherein the first level adjustment indicates a first degree to which the first image filter changes the appearance of the representation of the image data; applying the first image filter to the background area of the representation of the image data, making a second level adjustment to change the appearance of the background area of the representation of the image data, wherein the second level adjustment indicates a second degree to which the first image filter changes the appearance of the representation of the image data, wherein the first level adjustment and the second level adjustment are different; and after applying the first image filter to the representation of the image data, displaying a representation of the corresponding image on the display, wherein the first filter is applied to the representation of the image data.
[0020] An exemplary electronic device includes: one or more input devices; a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: detecting, via the one or more input devices, a first input corresponding to a selection of a first image filter for a representation of image data having a first appearance; and in response to detecting the first input, applying the first image filter to the representation of the image data, including: based on determining that the image data has been associated with depth information, wherein the depth information enables a foreground area of the representation of the image data to be distinguished from a background area of the representation of the image data: applying the first image filter to the foreground area of the representation of the image data, performing a first level adjustment to change the appearance of the foreground area of the representation of the image data, wherein the first level adjustment indicates a first degree to which the first image filter changes the appearance of the representation of the image data; applying the first image filter to the background area of the representation of the image data, performing a second level adjustment to change the appearance of the background area of the representation of the image data, wherein the second level adjustment indicates a second degree to which the first image filter changes the appearance of the representation of the image data, wherein the first level adjustment and the second level adjustment are different; and after applying the first image filter to the representation of the image data, displaying a representation of the corresponding image on the display, wherein the first filter is applied to the representation of the image data.
[0021] An exemplary electronic device includes: one or more input devices; a display; a device for detecting, via the one or more input devices, a first input corresponding to a selection of a first image filter for a representation of image data having a first appearance; and a device for applying the first image filter to the representation of the image data in response to detecting the first input, the device further comprising a device for: based on determining that the image data has been associated with depth information, wherein the depth information enables a foreground area of the representation of the image data to be distinguished from a background area of the representation of the image data: applying the first image filter to the foreground area of the representation of the image data, making a first level adjustment to change the appearance of the foreground area of the representation of the image data, wherein the first level adjustment indicates a first degree to which the first image filter changes the appearance of the representation of the image data; applying the first image filter to the background area of the representation of the image data, making a second level adjustment to change the appearance of the background area of the representation of the image data, wherein the second level adjustment indicates a second degree to which the first image filter changes the appearance of the representation of the image data, wherein the first level adjustment and the second level adjustment are different; and after applying the first image filter to the representation of the image data, displaying a representation of the corresponding image on the display, wherein the first filter is applied to the representation of the image data.
[0022] An exemplary method includes, at an electronic device having one or more input devices and a display: displaying a filter selection interface on the display, the filter selection interface including representations of multiple filters in a set of filters; while simultaneously displaying a representation of image data and the filter selection interface on the display, detecting a first input via the one or more input devices at a position corresponding to the filter selection interface, while a first filter in the set of filters satisfies a selection criterion; and in response to detecting the first input: stopping displaying a first subset of representations of filters in the set of filters, wherein the first subset of representations of filters in the set of filters includes one or more filters in a first direction relative to the representation of the first filter in the filter selection user interface and one or more filters in a second direction relative to the representation of the first filter; and maintaining display of a second subset of representations of filters in the set of filters, the second subset of representations of filters including at least a representation of the first filter.
[0023] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices and a display. The one or more programs include instructions for performing the following operations: displaying a filter selection interface including representations of multiple filters in a set of filters on the display; while simultaneously displaying a representation of image data and the filter selection interface on the display, detecting a first input via the one or more input devices at a position corresponding to the filter selection interface, while a first filter in the set of filters meets a selection criterion; and in response to detecting the first input: stopping displaying a first subset of representations of filters in the set of filters, wherein the first subset of representations of filters in the set of filters includes one or more filters in a first direction relative to the representation of the first filter in the filter selection user interface and one or more filters in a second direction relative to the representation of the first filter; and maintaining displaying a second subset of representations of filters in the set of filters, the second subset of representations of the filters including at least a representation of the first filter.
[0024] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices and a display. The one or more programs include instructions for performing the following operations: displaying a filter selection interface including representations of multiple filters in a set of filters on the display; while simultaneously displaying a representation of image data and the filter selection interface on the display, detecting a first input via the one or more input devices at a position corresponding to the filter selection interface, while a first filter in the set of filters meets a selection criterion; and in response to detecting the first input: stopping displaying a first subset of representations of filters in the set of filters, wherein the first subset of representations of filters in the set of filters includes one or more filters in a first direction relative to the representation of the first filter in the filter selection user interface and one or more filters in a second direction relative to the representation of the first filter; and maintaining displaying a second subset of representations of filters in the set of filters, the second subset of representations of the filters including at least a representation of the first filter.
[0025] An exemplary electronic device includes: one or more input devices; a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a filter selection interface including representations of multiple filters in a set of filters on the display; detecting a first input at a position corresponding to the filter selection interface via the one or more input devices while simultaneously displaying a representation of image data and the filter selection interface on the display, while a first filter in the set of filters meets a selection criterion; and in response to detecting the first input: stopping displaying a first subset of representations of filters in the set of filters, wherein the first subset of representations of filters in the set of filters includes one or more filters in a first direction relative to the representation of the first filter in the filter selection user interface and one or more filters in a second direction relative to the representation of the first filter; and keeping displaying a second subset of representations of filters in the set of filters, the second subset of representations of these filters including at least a representation of the first filter.
[0026] An exemplary electronic device includes: one or more input devices; a display; a device for displaying a filter selection interface including representations of multiple filters in a set of filters on the display; a device for performing the following operations: when a representation of image data and the filter selection interface are simultaneously displayed on the display, detecting a first input at a position corresponding to the filter selection interface via the one or more input devices, and a first filter in the set of filters meets a selection criterion; and a device for performing the following operations: in response to detecting the first input: stopping displaying a first subset of representations of filters in the set of filters, wherein the first subset of representations of filters in the set of filters includes one or more filters in a first direction relative to the representation of the first filter in the filter selection user interface and one or more filters in a second direction relative to the representation of the first filter; and maintaining display of a second subset of representations of filters in the set of filters, wherein the second subset of representations of filters includes at least a representation of the first filter.
[0027] An exemplary method includes, at an electronic device having a camera, a sensor, one or more input devices, and a display: displaying a camera viewfinder on the display for capturing media; and while displaying the camera viewfinder: based on determining that the device satisfies alignment guide display criteria based on data from the sensor, displaying an alignment guide in the camera viewfinder on the display, wherein the alignment guide display criteria includes requiring a relative difference between an orientation of a focal plane of the camera and a predetermined orientation to be within a corresponding alignment threshold so that the alignment guide display criteria is met, wherein an appearance of the alignment guide changes as the orientation of the focal plane of the camera changes relative to the predetermined orientation; and based on determining that the alignment guide display criteria is not met based on data from the sensor, abandoning displaying the alignment guide in the camera viewfinder.
[0028] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a camera, a sensor, one or more input devices, and a display. The one or more programs include instructions for the following operations: displaying a camera viewfinder for capturing media on a display; and while displaying the camera viewfinder: displaying an alignment guide in the camera viewfinder on the display based on a determination based on data from the sensor that the device meets alignment guide display criteria, wherein the alignment guide display criteria include requiring a relative difference between an orientation of a focal plane of the camera and a predetermined orientation to be within a corresponding alignment threshold so that the alignment guide display criteria are met, wherein the appearance of the alignment guide changes as the orientation of the focal plane of the camera changes relative to the predetermined orientation; and abandoning displaying the alignment guide in the camera viewfinder based on a determination based on data from the sensor that the alignment guide display criteria are not met.
[0029] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a camera, a sensor, one or more input devices, and a display. The one or more programs include instructions for the following operations: displaying a camera viewfinder for capturing media on a display; and while displaying the camera viewfinder: displaying an alignment guide in the camera viewfinder on the display based on a determination based on data from the sensor that the device meets alignment guide display criteria, wherein the alignment guide display criteria include requiring a relative difference between an orientation of a focal plane of the camera and a predetermined orientation to be within a corresponding alignment threshold so that the alignment guide display criteria are met, wherein the appearance of the alignment guide changes as the orientation of the focal plane of the camera changes relative to the predetermined orientation; and abandoning displaying the alignment guide in the camera viewfinder based on a determination based on data from the sensor that the alignment guide display criteria are not met.
[0030] An exemplary electronic device includes: a camera; a sensor; one or more input devices; a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a camera viewfinder for capturing media on a display; and while displaying the camera viewfinder: displaying an alignment guide in the camera viewfinder on the display based on a determination based on data from the sensor that the device satisfies alignment guide display criteria, wherein the alignment guide display criteria includes requiring a relative difference between an orientation of a focal plane of the camera and a predetermined orientation to be within a corresponding alignment threshold so that the alignment guide display criteria is met, wherein an appearance of the alignment guide changes as the orientation of the focal plane of the camera changes relative to the predetermined orientation; and abandoning displaying the alignment guide in the camera viewfinder based on a determination based on data from the sensor that the alignment guide display criteria is not met.
[0031] An exemplary electronic device includes: a camera; a sensor; one or more input devices; a display; a device for displaying a camera viewfinder for capturing media on the display; and a device for the following operations: when displaying the camera viewfinder: based on determining that the device meets alignment guide display criteria based on data from the sensor, displaying an alignment guide in the camera viewfinder on the display, wherein the alignment guide display criteria include requiring that the relative difference between the orientation of the camera's focal plane and a predetermined orientation be within a corresponding alignment threshold so that the alignment guide display criteria are met, wherein the appearance of the alignment guide changes as the orientation of the camera's focal plane changes relative to the predetermined orientation; and based on determining that the alignment guide display criteria are not met based on data from the sensor, abandoning displaying the alignment guide in the camera viewfinder.
[0032] An exemplary method includes, at an electronic device having one or more input devices, one or more cameras, and a display: displaying, on the display, a representation of image data associated with depth map information; while displaying the representation of the image data on the display: detecting, via the one or more input devices, a first input that selects corresponding filters for a plurality of lighting effects based on the depth map information; after detecting the first input, detecting a second input corresponding to a request to capture image data corresponding to a field of view of the one or more cameras; and in response to detecting the second input, capturing image data corresponding to the field of view of the one or more cameras, including: based on determining that the corresponding lighting effect selected based on the first input is a first lighting effect, capturing image data corresponding to the field of view of the one or more cameras, and associating the first lighting effect with the representation of the image data, wherein the first lighting effect is based on the depth map information; and based on determining that the corresponding lighting effect selected based on the first input is a second lighting effect different from the first lighting effect, capturing image data corresponding to the field of view of the one or more cameras, and associating the second lighting effect with the representation of the image data, wherein the second lighting effect is based on the depth map information.
[0033] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices, one or more cameras, and a display. The one or more programs include instructions for performing the following operations: displaying a representation of image data associated with depth map information on a display; while displaying the representation of the image data on the display: detecting a first input via the one or more input devices, the first input selecting a corresponding filter of a plurality of lighting effects based on the depth map information; after detecting the first input, detecting a second input corresponding to a request to capture image data corresponding to a field of view of the one or more cameras; and in response to detecting the second input, capturing image data corresponding to the field of view of the one or more cameras, including: based on determining that the corresponding lighting effect selected based on the first input is a first lighting effect, capturing image data corresponding to the field of view of the one or more cameras, and associating the first lighting effect with the representation of the image data, wherein the first lighting effect is based on the depth map information; and based on determining that the corresponding lighting effect selected based on the first input is a second lighting effect different from the first lighting effect, capturing image data corresponding to the field of view of the one or more cameras, and associating the second lighting effect with the representation of the image data, wherein the second lighting effect is based on the depth map information.
[0034] An exemplary transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices, one or more cameras, and a display. The one or more programs include instructions for performing the following operations: displaying a representation of image data associated with depth map information on a display; while displaying the representation of the image data on the display: detecting a first input via the one or more input devices, the first input selecting a corresponding filter of a plurality of lighting effects based on the depth map information; after detecting the first input, detecting a second input corresponding to a request to capture image data corresponding to a field of view of the one or more cameras; and in response to detecting the second input, capturing image data corresponding to the field of view of the one or more cameras, including: based on determining that the corresponding lighting effect selected based on the first input is a first lighting effect, capturing image data corresponding to the field of view of the one or more cameras, and associating the first lighting effect with the representation of the image data, wherein the first lighting effect is based on the depth map information; and based on determining that the corresponding lighting effect selected based on the first input is a second lighting effect different from the first lighting effect, capturing image data corresponding to the field of view of the one or more cameras, and associating the second lighting effect with the representation of the image data, wherein the second lighting effect is based on the depth map information.
[0035] An exemplary electronic device includes: one or more input devices; one or more cameras; a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a representation of image data associated with depth map information on the display; while displaying the representation of the image data on the display: detecting a first input via the one or more input devices, the first input selecting a corresponding filter for a plurality of lighting effects based on the depth map information; after detecting the first input, detecting a second input corresponding to a request to capture image data corresponding to a field of view of the one or more cameras; and in response to detecting the second input, capturing image data corresponding to the field of view of the one or more cameras, including: based on determining that the corresponding lighting effect selected based on the first input is a first lighting effect, capturing image data corresponding to the field of view of the one or more cameras and associating the first lighting effect with the representation of the image data, wherein the first lighting effect is based on the depth map information; and based on determining that the corresponding lighting effect selected based on the first input is a second lighting effect different from the first lighting effect, capturing image data corresponding to the field of view of the one or more cameras and associating the second lighting effect with the representation of the image data, wherein the second lighting effect is based on the depth map information.
[0036] An exemplary electronic device includes: one or more input devices; one or more cameras; a display; a device for displaying a representation of image data associated with depth map information on the display; a device for performing the following operations: when displaying the representation of the image data on the display, displaying the representation of the image data associated with the depth map information on the display; when displaying the representation of the image data on the display: detecting a first input via the one or more input devices, the first input selecting a corresponding filter for a plurality of lighting effects based on the depth map information; after detecting the first input, detecting a second input corresponding to a request to capture image data corresponding to a field of view of the one or more cameras; and in response to detecting the second input, capturing image data corresponding to the field of view of the one or more cameras, including: based on determining that the corresponding lighting effect selected based on the first input is a first lighting effect, capturing image data corresponding to the field of view of the one or more cameras and associating the first lighting effect with the representation of the image data, wherein the first lighting effect is based on the depth map information; and based on determining that the corresponding lighting effect selected based on the first input is a second lighting effect different from the first lighting effect, capturing image data corresponding to the field of view of the one or more cameras and associating the second lighting effect with the representation of the image data, wherein the second lighting effect is based on the depth map information.
[0037] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are optionally included in a transient computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0038] Thus, a faster and more efficient method and interface for managing camera effects is provided for devices, thereby improving the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may supplement or replace other methods for managing camera effects. BRIEF DESCRIPTION OF THE DRAWINGS
[0039] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.
[0040] Figure 1A is a block diagram showing a portable multifunction device with a touch-sensitive display according to some embodiments.
[0041] Figure 1B is a block diagram illustrating example components for event processing according to some embodiments.
[0042] Figure 2A portable multifunction device with a touch screen according to some embodiments is shown.
[0043] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.
[0044] Figure 4A An exemplary user interface for a menu of applications on a portable multifunction device is shown according to some embodiments.
[0045] Figure 4B An exemplary user interface is shown for a multifunction device having a touch-sensitive surface that is separate from the display according to some embodiments.
[0046] Figure 5A A personal electronic device according to some embodiments is shown.
[0047] Figure 5B is a block diagram illustrating a personal electronic device according to some embodiments.
[0048] FIG. 5C to FIG. 5D Example components of a personal electronic device with a touch-sensitive display and an intensity sensor are shown according to some embodiments.
[0049] FIG. 5E to FIG. 5H Exemplary components and user interfaces of a personal electronic device according to some embodiments are shown.
[0050] FIG. 6A to FIG. 6N An exemplary device and user interface for managing camera lighting effects are shown according to some embodiments.
[0051] 7A to 7F is a flow chart illustrating a method for managing camera lighting effects according to some embodiments.
[0052] FIG. 8A to FIG. 8J An exemplary device and user interface for applying camera lighting effects are shown according to some embodiments.
[0053] 9A to 9D is a flow chart illustrating a method for applying camera lighting effects according to some embodiments.
[0054] FIG. 10A to FIG. 10N An exemplary device and user interface for managing filter effects are shown according to some embodiments.
[0055] FIG. 11A to FIG. 11C is a flow chart illustrating a method for managing filter effects according to some embodiments.
[0056] FIG. 12A to FIG. 12PAn exemplary device and user interface for managing a filter user interface according to some embodiments are shown.
[0057] FIG. 13A to FIG. 13F is a flow chart illustrating a method for managing a filter user interface according to some embodiments.
[0058] FIG. 14A to FIG. 14K An exemplary device and user interface for capturing images according to some embodiments are shown.
[0059] FIG. 15A to FIG. 15E is a flow chart illustrating a method for capturing an image according to some embodiments.
[0060] FIG. 16A to FIG. 16J An exemplary device and user interface for capturing images according to some embodiments are shown.
[0061] FIG. 17A to FIG. 17G is a flow chart illustrating a method for capturing an image according to some embodiments. DETAILED DESCRIPTION
[0062] The following description sets forth exemplary methods, parameters, etc. However, it should be appreciated that such description is not intended to limit the scope of the present disclosure, but is provided as a description of exemplary embodiments.
[0063] Electronic devices are being designed and manufactured with more advanced camera features and sensors. However, some electronic devices, by the nature of their design, cannot achieve the richness of point light photography without additional hardware. Many point light photography techniques require multiple expensive light sources to be positioned around the subject and require a separate background. However, many electronic devices only have a single flash that emits light in one direction. Therefore, many point light photography techniques cannot be simply achieved with traditional electronic devices.
[0064] Embodiments described herein include electronic devices that utilize depth map information to provide improved camera functions. In some embodiments, the depth map information is used when applying filters to an image. In some embodiments, a visual aid is provided to help a user capture a perfect image. The embodiments also include a supplemental user interface that enables these improved camera functions.
[0065] Together the embodiments allow for efficient packaging and production of thin and light devices while improving the performance of the device's camera functionality.Using fixed focus cameras is beneficial because these cameras are thinner and smaller.
[0066] under Figures 1A to 1B , Figure 2 , Figure 3 , FIG. 4A to FIG. 4B and FIG. 5A to FIG. 5HA description of an exemplary device for performing techniques for management event notifications is provided. FIG. 6A to FIG. 6N An exemplary user interface for managing a user interface is shown. Figure 7 is a flow chart illustrating a method for managing a user interface according to some embodiments. FIG. 6A to FIG. 6G The user interface in is used to illustrate the processes described below, including the process in Figure 7.
[0067] FIG. 8A to FIG. 8J An exemplary user interface for applying a simulated lighting effect is shown. Figure 9 is a flow chart illustrating a method of simulating a lighting effect according to some embodiments. FIG. 8A to FIG. 8D The user interface in is used to illustrate the processes described below including the process in Figure 9.
[0068] FIG. 10A to FIG. 10N An exemplary user interface for applying a filter to an image is shown. Figure 11 is a flow chart illustrating a method of applying a filter to an image according to some embodiments. FIG. 10A to FIG. 10D The user interface in is used to illustrate the processes described below including the process in Figure 11.
[0069] FIG. 12A to FIG. 12P An exemplary user interface for displaying a reduced filter user interface is shown. Figure 13 is a flow chart illustrating a method of displaying a reduced filter user interface according to some embodiments. FIG. 12A to FIG. 12D The user interface in is used to illustrate the processes described below including the process in Figure 13.
[0070] FIG. 14A to FIG. 14K An exemplary user interface for providing visual assistance is shown. Figure 15 is a flow chart illustrating a method of providing visual assistance according to some embodiments. FIG. 14A to FIG. 14D The user interface in is used to illustrate the processes described below including the process in Figure 15.
[0071] FIG. 16A to FIG. 16J An exemplary user interface for providing visual assistance when applying a simulated optical effect is shown. Figure 17 is a flow chart illustrating a method of providing visual assistance when applying a simulated optical effect according to some embodiments. FIG. 16A to FIG. 16J The user interface in is used to illustrate the processes described below including the process in Figure 17.
[0072] Although the following description uses the terms "first", "second", etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another element. For example, a first touch can be named a second touch and similarly a second touch can be named a first touch without departing from the scope of the various described embodiments. Both the first touch and the second touch are touches, but they are not the same touch.
[0073] The terms used in the description of various described embodiments herein are only for the purpose of describing specific embodiments, and are not intended to be limited. As used in the description of various described embodiments and in the appended claims, the singular forms "one" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more items in the associated listed items. It will also be understood that the term "includes", "including", "comprises" and / or "comprising" when used in this specification specifies the presence of stated features, integers, steps, operations, elements and / or parts, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or their grouping.
[0074] The term "if" is optionally interpreted to mean "when," "upon," or "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that ..." or "if [a stated condition or event] is detected" are optionally interpreted to mean "upon determining that ..." or "in response to determining that ..." or "upon detecting [a stated condition or event]," or "in response to detecting [a stated condition or event]," depending on the context.
[0075] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple iPod from Apple Inc. (Cupertino, California). Devices, iPod Equipment, and Device. Other portable electronic devices, such as laptops or tablets with touch-sensitive surfaces (e.g., touch screen displays and / or trackpads) are optionally used. It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or trackpads).
[0076] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse and / or joystick.
[0077] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0078] Various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or varied for different applications, and / or adjusted and / or varied within the respective applications. In this way, the common physical architecture of the device (such as a touch-sensitive surface) optionally supports a variety of applications with a user interface that is intuitive and clear to the user.
[0079] Attention is now turned to embodiments of portable devices having touch-sensitive displays. Figure 1A is a block diagram showing a portable multifunction device 100 with a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes referred to as or referred to as a "touch-sensitive display system." The device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more contact force sensors 165 for detecting the intensity of contact on the device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of the device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0080] As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (surrogate) of the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values that includes at least four different values and more typically includes hundreds of different values (e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the substitute measurement of the contact force or pressure is used directly to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some embodiments, the substitute measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input allows the user to access additional device functions that would otherwise be inaccessible to the user on a smaller device with limited real estate, which is used to display an enable indication (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or a physical control / mechanical control, such as a knob or button).
[0081] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, which will be detected by a user using the user's sense of touch. For example, in the case where a device or a component of the device is in contact with a user's touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in a physical characteristic of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "press click" or "release click" to a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click", even when the physical actuation button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when there is no change in the smoothness of the touch-sensitive surface, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. Although such a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "press click," "release click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or a component thereof that would generate that sensory perception for a typical (or average) user.
[0082] It should be understood that device 100 is merely one example of a portable multifunction device, and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. Figure 1A The various components shown in the EMBODIMENTS 2000 are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.
[0083] Memory 102 optionally includes high-speed random access memory, and optionally also includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls other components of device 100 to access memory 102.
[0084] The peripheral device interface 118 can be used to couple the input peripheral devices and output peripheral devices of the device to the CPU 120 and the memory 102. The one or more processors 120 run or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions of the device 100 and process data. In some embodiments, the peripheral device interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0085] RF (radio frequency) circuit 108 receives and sends RF signals, also referred to as electromagnetic signals. RF circuit 108 converts electrical signals into / converts electromagnetic signals into electrical signals, and communicates with a communication network and other communication devices via electromagnetic signals. RF circuit 108 optionally includes well-known circuits for performing these functions, including but not limited to antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codec chipsets, user identity modules (SIM) cards, memory, and the like. RF circuit 108 optionally communicates with networks and other devices via wireless communications, such as the Internet (also referred to as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuit 108 optionally includes well-known circuits for detecting near field communication (NFC) fields, such as by detecting through a short-range communication radio component. Wireless communication optionally uses any of a variety of communication standards, protocols and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Utilizing Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communications protocol including communications protocols that have not been developed as of the filing date of this document.
[0086] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., Figure 2 The headset jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset having both output (e.g., a single-ear headset or a dual-ear headset) and input (e.g., a microphone).
[0087] The I / O subsystem 106 couples input / output peripherals on the device 100, such as a touch screen 112 and other input control devices 116, to a peripheral device interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a tactile feedback controller 161, a depth camera controller 169, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive / send electrical signals from other input control devices 116. Other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some alternative embodiments, the input controller 160 is optionally coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. One or more buttons (e.g., Figure 2 208) optionally includes an increase / decrease button for volume control of the speaker 111 and / or the microphone 113. One or more buttons optionally include a push button (e.g., Figure 2 206).
[0088] A quick press of the push button optionally disengages the lock of the touch screen 112 or optionally begins the process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application 11 / 322,549, filed on December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image" (i.e., U.S. Patent No. 7,657,849), which is hereby incorporated by reference in its entirety. A long press of the push button (e.g., 206) optionally turns the device 100 on or off. The functions of one or more buttons are optionally user-customizable. The touch screen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.
[0089] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch screen 112 and / or sends electrical signals to the touch screen 112. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0090] The touch screen 112 has a touch-sensitive surface, sensor, or sensor group that accepts input from a user based on tactile and / or haptic contact. The touch screen 112 and display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact (and any movement or interruption of the contact) on the touch screen 112 and convert the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.
[0091] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. The touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112 to detect contact and any movement or interruption thereof. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as in the Apple ® from Apple Inc. (Cupertino, California). and iPod The technology used in.
[0092] The touch-sensitive display in some embodiments of the touch screen 112 is optionally similar to the multi-touch-sensitive trackpad described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.), and / or U.S. Patent Publication 2002 / 0015024A1, each of which is hereby incorporated by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, while the touch-sensitive trackpad does not provide visual output.
[0093] In some embodiments, the touch-sensitive display of the touch screen 112 is as described in the following patent applications: (1) U.S. patent application No. 11 / 381,313, entitled “Multipoint Touch Surface Controller,” filed on May 2, 2006; (2) U.S. patent application No. 10 / 840,862, entitled “Multipoint Touchscreen,” filed on May 6, 2004; (3) U.S. patent application No. 10 / 903,964, entitled “Gestures For Touch Sensitive Input Devices,” filed on July 30, 2004; (4) U.S. patent application No. 11 / 048,264, entitled “Gestures For Touch Sensitive Input Devices,” filed on January 31, 2005; (5) U.S. patent application No. 11 / 086,874, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices,” filed on January 18, 2005 and (9) U.S. patent application No. 11 / 367,749, filed on March 3, 2006, entitled “Multi-Functional Hand-Held Device.” All of these applications are hereby incorporated by reference in their entirety.
[0094] The touch screen 112 optionally has a video resolution of more than 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or attachment such as a stylus, finger, etc. to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily through finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of the finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positions or commands for performing the actions desired by the user.
[0095] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad (not shown) for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface that is separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0096] The device 100 also includes a power system 162 for powering the various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.
[0097] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures a static image or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite to the touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for static images and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device so that the user's image is optionally obtained for video conferencing while the user views other video conference participants on the touch screen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) so that a single optical sensor 164 is used with the touch screen display for both video conferencing and static image and / or video image acquisition.
[0098] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1A A contact force sensor is shown coupled to a force sensor controller 159 in the I / O subsystem 106. Contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100, opposite to touch screen display 112 located on the front of device 100.
[0099] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1AA proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 is optionally implemented as described in the following U.S. patent applications: No. 11 / 241,839, entitled "Proximity Detector In Handheld Device"; No. 11 / 240,788, entitled "Proximity Detector In Handheld Device"; No. 11 / 620,702, entitled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; No. 11 / 586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices"; and No. 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", which are hereby incorporated by reference in their entirety. In some embodiments, when the multifunction device is placed near the user's ear (e.g., when the user is on a phone call), the proximity sensor turns off and disables the touch screen 112.
[0100] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1AA tactile output generator is shown coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes one or more electroacoustic devices, such as a speaker or other audio component; and / or an electromechanical device that converts energy into linear motion, such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component that converts an electrical signal into a tactile output on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates a tactile output on the device 100 that can be felt by a user of the device 100. In some embodiments, at least one tactile output generator is arranged in parallel or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates tactile output by moving the touch-sensitive surface vertically (e.g., inward / outward of the surface of the device 100) or laterally (e.g., backward and forward in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100, opposite the touch screen display 112 located on the front of the device 100.
[0101] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally implements as described in the following U.S. Patent Publication No. 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication No. 20060017692, entitled "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer", both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. Device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) in addition to one or more accelerometers 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of device 100.
[0102] Device 100 optionally also includes one or more depth camera sensors 175 . Figure 1AA depth camera sensor coupled to a depth camera controller 169 in the I / O subsystem 106 is shown. The depth camera sensor 175 receives data projected by the sensor from the environment. In conjunction with the imaging module 143 (also referred to as a camera module), the depth camera sensor 175 camera is optionally used to determine a depth map of different portions of the image captured by the imaging module 143. In some embodiments, the depth camera sensor is located at the front of the device 100, so that the user's image with depth information is optionally obtained for video conferencing while the user views other video conference participants on the touch screen display, and a selfie with depth map data is captured. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) so that the depth camera sensor 175 is used with the touch screen display for both video conferencing and still image and / or video image acquisition.
[0103] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, in some embodiments, memory 102 ( Figure 1A ) or 370( Figure 3 ) storage device / global internal state 157, such as Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: an active application state, which indicates which applications (if any) are currently active; a display state, which indicates what applications, views, or other information occupy various areas of the touch screen display 112; a sensor state, including information obtained from the device's various sensors and input control devices 116; and position information about the device's position and / or posture.
[0104] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.), and facilitating communication between various hardware components and software components.
[0105] The communication module 128 facilitates communication with other devices through one or more external ports 124, and also includes various software components for processing data received by the RF circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) is suitable for coupling directly to other devices, or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is connected to (trademark of Apple Inc.) devices.
[0106] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger press event), determining the contact strength (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact disconnection). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of a contact point optionally includes determining a rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of which is represented by a series of contact data. These operations are optionally applied to a single point of contact (e.g., a single finger contact) or multiple points of simultaneous contact (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on a touch pad.
[0107] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are determined based on software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of specific physical actuators and can be adjusted without changing the physical hardware of the device 100). For example, without changing the touchpad or touchscreen display hardware, the mouse "click" threshold of a touchpad or touchscreen can be set to any one of a large range of predefined thresholds. In addition, in some specific implementations, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).
[0108] The contact / motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of the detected contacts). Therefore, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event, and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift-off) event.
[0109] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual characteristics) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.
[0110] In some embodiments, the graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes for specifying the graphics to be displayed from an application program, etc., and also receives coordinate data and other graphic attribute data together if necessary, and then generates screen image data to be output to the display controller 156.
[0111] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .
[0112] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0113] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for use in location-based dialing; to the camera 143 as picture / video metadata; and to applications that provide location-based services, such as the Weather widget, the Local Pages widget, and the Maps / Navigation widget).
[0114] The application 136 optionally includes the following modules (or instruction sets) or a subset or superset thereof:
[0115] Contacts module 137 (sometimes called address book or contact list);
[0116] Telephone module 138;
[0117] Video conferencing module 139;
[0118] Email client module 140;
[0119] Instant messaging (IM) module 141;
[0120] Fitness support module 142;
[0121] A camera module 143 for still images and / or video images;
[0122] Image management module 144;
[0123] Video player module;
[0124] Music player module;
[0125] Browser module 147;
[0126] Calendar module 148;
[0127] A widget module 149, which optionally includes one or more of the following: a weather widget 149-1, a stock widget 149-2, a calculator widget 149-3, an alarm widget 149-4, a dictionary widget 149-5, and other widgets acquired by the user, and a user-created widget 149-6;
[0128] A widget creator module 150 for forming a user-created widget 149-6;
[0129] Search module 151;
[0130] Video and music player module 152, which merges the video player module and the music player module;
[0131] Notepad module 153;
[0132] Map module 154; and / or
[0133] Online video module 155.
[0134] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
[0135] In conjunction with the touch screen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the contact module 137 is optionally used to manage an address book or contact list (e.g., stored in the application internal state 192 of the contact module 137 in memory 102 or memory 370), including: adding one or more names to the address book; deleting names from the address book; associating telephone numbers, email addresses, physical addresses, or other information with names; associating images with names; categorizing and classifying names; providing telephone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing module 139, email 140, or IM 141; and the like.
[0136] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a sequence of characters corresponding to a phone number, access one or more phone numbers in contact module 137, modify an entered phone number, dial a corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0137] In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, the text input module 134, the contact module 137 and the telephone module 138, the video conferencing module 139 includes executable instructions for initiating, conducting and terminating a video conference between a user and one or more other participants in accordance with user instructions.
[0138] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.
[0139] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for the following operations: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting a corresponding instant message (e.g., using a short message service (SMS) or multimedia message service (MMS) protocol for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or enhanced messaging services (EMS). As used herein, "instant messaging" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0140] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154 and the music player module, the fitness support module 142 includes executable instructions for creating a fitness (e.g., with time, distance and / or calorie burn goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for fitness; and displaying, storing and transmitting fitness data.
[0141] In conjunction with the touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132 and image management module 144, the camera module 143 includes executable instructions for the following operations: capturing still images or videos (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or videos, or deleting the still images or videos from the memory 102.
[0142] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0143] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet in accordance with user instructions, including searching, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0144] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing calendars and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.
[0145] In conjunction with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the desktop widget module 149 is a mini-application that is optionally downloaded and used by the user (e.g., the weather desktop widget 149-1, the stock desktop widget 149-2, the calculator desktop widget 149-3, the alarm desktop widget 149-4, and the dictionary desktop widget 149-5) or a mini-application created by the user (e.g., the user-created desktop widget 149-6). In some embodiments, the desktop widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the desktop widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., the Yahoo! desktop widget).
[0146] In combination with the RF circuit 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134 and browser module 147, the desktop widget creator module 150 is optionally used by a user to create a desktop widget (e.g., converting a user-specified portion of a web page into a desktop widget).
[0147] In combination with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0148] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, and executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).
[0149] In conjunction with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the notepad module 153 includes executable instructions for creating and managing notes, to-do lists, etc. according to user instructions.
[0150] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the GPS module 135 and the browser module 147, the map module 154 is optionally used to receive, display, modify and store maps and data associated with the maps (e.g., driving directions, data relating to stores and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.
[0151] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for performing the following operations: allowing a user to access, browse, receive (e.g., by streaming and / or downloading), playback (e.g., on the touch screen or on an external display connected via external port 124), send an email with a link to a specific online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send a link to a specific online video. Additional descriptions of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed on June 20, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed on December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are hereby incorporated by reference in their entirety.
[0152] Each of the modules and applications described above corresponds to an executable instruction set for performing one or more of the functions described above and the methods described in this patent application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not have to be implemented as independent software programs, processes, or modules, so various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. For example, a video player module is optionally combined with a music player module into a single module (e.g., Figure 1A In some embodiments, the memory 102 optionally stores a subset of the above modules and data structures. In addition, the memory 102 optionally stores additional modules and data structures not described above.
[0153] In some embodiments, the device 100 is a device on which operation of a predefined set of functions is performed exclusively through a touch screen and / or a touch pad. By using a touch screen and / or a touch pad as the primary input control device for operating the device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on the device 100 is optionally reduced.
[0154] A predefined set of functions that are performed exclusively through the touch screen and / or trackpad optionally includes navigation between user interfaces. In some embodiments, the trackpad, when touched by the user, navigates the device 100 to a main menu, a home menu, or a root menu from any user interface displayed on the device 100. In such embodiments, a "menu button" is implemented using a trackpad. In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a trackpad.
[0155] Figure 1B 1 is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370( Figure 3 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).
[0156] Event classifier 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to which the event information is to be delivered. Event classifier 170 includes event monitor 171 and event distributor module 174. In some embodiments, application 136-1 includes application internal state 192, which indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information is to be delivered.
[0157] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resumption information to be used when the application 136-1 resumes execution, user interface state information indicating that information is being displayed or is ready to be displayed by the application 136-1, a state queue for enabling a user to return to a previous state or view of the application 136-1, and a repeat / undo queue of previous actions taken by the user.
[0158] Event monitor 171 receives event information from peripherals interface 118. Event information includes information about sub-events (e.g., user touches on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (through audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0159] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).
[0160] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.
[0161] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred. A view consists of controls and other elements that a user can see on the display.
[0162] Another aspect of the user interface associated with an application is a set of views, sometimes also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of the respective application) in which a touch is detected optionally correspond to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events recognized as correct input is optionally determined at least in part based on the hit view of the initial touch that started the touch-based gesture.
[0163] Hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy where the sub-events should be processed. In most cases, the hit view is the lowest level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
[0164] Active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely confined to an area associated with one particular view, higher views in the hierarchy will still remain as actively participating views.
[0165] Event distributor module 174 distributes event information to event recognizers (e.g., event recognizers 180). In embodiments including active event recognizer determination module 173, event distributor module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event distributor module 174 stores the event information in an event queue, which is retrieved by corresponding event receivers 182.
[0166] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet another embodiment, event classifier 170 is a standalone module or is part of another module stored in memory 102, such as contact / motion module 130.
[0167] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring in a corresponding view of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, the corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more event recognizers in event recognizers 180 are part of an independent module, which is a higher-level object such as a user interface toolkit (not shown) or application 136-1 from which methods and other properties are inherited. In some embodiments, the corresponding event handler 190 includes one or more of the following: data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177 or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views in the application views 191 include one or more corresponding event handlers 190. In addition, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in the corresponding application view 191.
[0168] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event from the event information. Event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0169] Event receiver 182 receives event information from event classifier 170. Event information includes information about sub-events such as touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves the movement of the touch, the event information optionally also includes the speed and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another orientation (e.g., from a longitudinal orientation to a transverse orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).
[0170] Event comparator 184 compares event information with predefined event or sub-event definitions, and determines an event or sub-event based on the comparison, or determines or updates the state of an event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 includes the definition of an event (e.g., a predefined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in event (187) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, the definition of event 1 (187-1) is a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on a displayed object, a first lift-off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on a displayed object, and a second lift-off (touch end) of a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0171] In some embodiments, event definition 187 includes definitions of events for corresponding user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view displaying three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler associated with a sub-event and the object that triggered the hit test.
[0172] In some embodiments, the definition of the corresponding event (187) also includes a delay action that delays the delivery of the event information until it has been determined that the sub-event sequence does or does not correspond to the event type of the event identifier.
[0173] When a corresponding event recognizer 180 determines that a sequence of sub-events does not match any event in event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0174] In some embodiments, the corresponding event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0175] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates an event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferred sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a tag associated with the identified event, and the event handler 190 associated with the tag obtains the tag and performs a predefined process.
[0176] In some embodiments, the event delivery instructions 188 include a sub-event delivery instruction that delivers event information about a sub-event without activating an event handler. Instead, the sub-event delivery instruction delivers the event information to an event handler associated with a sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or with an actively participating view receives the event information and performs a predetermined process.
[0177] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the position of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on a touch-sensitive display.
[0178] In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0179] It should be understood that the above discussion of event processing of user touches on a touch-sensitive display also applies to other forms of user input that utilize input devices to operate the multifunction device 100, and not all user input is initiated on the touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or hold; contact movement on a touch pad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; verbal commands; detected eye movement; biometric input; and / or any combination thereof are optionally used as input corresponding to sub-events defining the event to be recognized.
[0180] Figure 2A portable multifunction device 100 with a touch screen 112 according to some embodiments is shown. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and other embodiments described below, a user can select one or more of these graphics by, for example, making gestures on the graphics using one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of one or more graphics will occur when the user interrupts contact with the one or more graphics. In some embodiments, gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, up and / or down) and / or rolling of fingers that have been in contact with the device 100 (from right to left, from left to right, up and / or down). In some specific implementations or in some cases, inadvertent contact with a graphic will not select the graphic. For example, when the gesture corresponding to the selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.
[0181] The device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.
[0182] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on / off and for locking the device, one or more volume adjustment buttons 208, a user identity module (SIM) card slot 210, an earphone jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device on / off by pressing the button and keeping the button in a pressed state for a predefined time interval; lock the device by pressing the button and releasing the button before the predefined time interval passes; and / or unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts voice input for activating or deactivating certain functions through a microphone 113. The device 100 also optionally includes one or more contact strength sensors 165 for detecting the strength of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for a user of the device 100.
[0183] Figure 3300 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. Device 300 does not have to be portable. In some embodiments, device 300 is a laptop, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a game system, or a control device (e.g., a home controller or an industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuits (sometimes referred to as a chipset) that interconnect system components and control communications between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or a mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on the device 300 (e.g., similar to the above reference). Figure 1A The one or more tactile output generators 167 described above), sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch sensors, and / or contact intensity sensors (similar to the above referenced Figure 1A The memory 370 may include one or more storage devices located away from the CPU 310. In some embodiments, the memory 370 stores information related to the portable multifunction device 100 ( Figure 1A ) or a subset thereof. In addition, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while portable multifunction device 100 ( Figure 1A )'s memory 102 optionally does not store these modules.
[0184] Figure 3Each element in the above-mentioned elements in is optionally stored in one or more memory devices of the previously mentioned memory device.Each module in the above-mentioned module corresponds to the instruction set for performing the above-mentioned functions.The above-mentioned modules or programs (for example, instruction sets) need not be implemented as independent software programs, processes or modules, and therefore the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments.In some embodiments, memory 370 optionally stores the subset of the above-mentioned modules and data structures.In addition, memory 370 optionally stores other modules and data structures not described above.
[0185] Attention is now turned to an embodiment of a user interface that is optionally implemented on, for example, portable multifunction device 100.
[0186] Figure 4A An exemplary user interface of an application menu on portable multifunction device 100 according to some embodiments is shown. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:
[0187] One or more signal strength indicators 402 of one or more wireless communications such as cellular signals and Wi-Fi signals;
[0188] Time 404;
[0189] Bluetooth indicator 405;
[0190] Battery status indicator 406;
[0191] A tray 408 with icons for commonly used applications, such as:
[0192] o an icon 416 of the phone module 138 labeled “Phone”, the icon 416 optionally including an indicator 414 of the number of missed calls or voice messages;
[0193] o an icon 418 of the email client module 140 labeled “Mail”, the icon 418 optionally including an indicator 410 of the number of unread emails;
[0194] o an icon 420 labeled "Browser" of the browser module 147; and
[0195] o Video and music player module 152 (also known as iPod (trademark of Apple Inc.)
[0196] module 152) and an icon 422 labeled "iPod"; and
[0197] Icons for other apps, such as:
[0198] o Icon 424 labeled “Messages” of IM module 141;
[0199] o Icon 426 labeled “Calendar” of calendar module 148;
[0200] o Icon 428 labeled “Photos” of the image management module 144;
[0201] o Icon 430 labeled “Camera” of camera module 143;
[0202] o Icon 432 labeled “Online Video” of the online video module 155;
[0203] o Icon 434 labeled “Stock Market” of the Stock Market widget 149-2;
[0204] o an icon 436 labeled “MAP” of the map module 154;
[0205] o Icon 438 labeled “Weather” of the Weather widget 149-1;
[0206] o Icon 440 labeled “Clock” of the alarm clock widget 149-4;
[0207] o an icon 442 labeled “Fitness Support” of the fitness support module 142;
[0208] o Icon 444 labeled "Notepad" of the Notepad module 153; and
[0209] o An icon 446 of a settings application or module labeled “Settings” that provides access to settings for the device 100 and its various applications 136 .
[0210] It should be noted that Figure 4A The icon labels shown in are exemplary only. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player". Other labels are optionally used for various application icons. In some embodiments, the label of a corresponding application icon includes the name of the application corresponding to the corresponding application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.
[0211] Figure 4B A touch-sensitive surface 451 (eg, touch screen display 112) is shown having a touch-sensitive surface 451 (eg, Figure 3 A device (e.g., a tablet or touchpad 355) Figure 3Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting intensity of contacts on touch-sensitive surface 451 and / or one or more tactile output generators 357 for generating tactile output for a user of device 300.
[0212] Although some of the examples below are given with reference to input on a touch screen display 112 (where a touch-sensitive surface and a display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, such as Figure 4B In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a main axis (e.g., Figure 4B 453) corresponding to the principal axis (for example, Figure 4B According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 4B 460 corresponds to 468 and 462 corresponds to 470) in contact with touch-sensitive surface 451 (e.g., Figure 4B 460 and 462 in FIG. 4 ). Thus, on a touch-sensitive surface (eg, Figure 4B 451) and the display of a multi-function device ( Figure 4B When the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is separated, the device is used to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.
[0213] In addition, although the following examples are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). As another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detecting contact, followed by ceasing to detect contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or a mouse and finger contact are optionally used simultaneously.
[0214] Figure 5AAn exemplary personal electronic device 500 is shown. Device 500 includes a body 502. In some embodiments, device 500 may include a body 502 relative to devices 100 and 300 (e.g., Figures 1A to 4B ) some or all of the features described in the foregoing. In some embodiments, device 500 has a touch-sensitive display screen 504, referred to hereinafter as touch screen 504. As an alternative or in addition to touch screen 504, device 500 has a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more strength sensors for detecting the intensity of contact (e.g., touch) applied. One or more strength sensors of touch screen 504 (or touch-sensitive surface) can provide output data representing the intensity of touch. The user interface of device 500 can respond to touch based on the intensity of the touch, which means that touches of different intensities can invoke different user interface operations on device 500.
[0215] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: International Patent Application Serial No. PCT / US2013 / 040061, filed on May 8, 2013, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” published as WIPO Patent Publication No. WO / 2013 / 169849; and International Patent Application Serial No. PCT / US2013 / 069483, filed on November 11, 2013, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” published as WIPO Patent Publication No. WO / 2014 / 105276, each of which is hereby incorporated by reference in its entirety.
[0216] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. The input mechanisms 506 and 508 (if included) can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. Such attachment mechanisms (if included) can allow the device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.
[0217] Figure 5B An exemplary personal electronic device 500 is shown. In some embodiments, the device 500 may include a reference Figure 1A , Figure 1B and Figure 3 Some or all of the components described. Device 500 has a bus 512 that operatively couples an I / O portion 514 to one or more computer processors 516 and a memory 518. I / O portion 514 may be connected to a display 504, which may have a touch-sensitive component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, I / O portion 514 may be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, input mechanism 506 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, input mechanism 508 is optionally a button.
[0218] In some examples, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as GPS sensor 532, accelerometer 534, orientation sensor 540 (e.g., compass), gyroscope 536, motion sensor 538, and / or combinations thereof, all of which are operably connected to I / O portion 514.
[0219] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions, which when executed by one or more computer processors 516 may, for example, cause the computer processors to perform the techniques described below, including processes 700, 900, 1100, 1300, 1500, and 1700 (Figures 7, 9, 11, 13, 15, and 17). A computer-readable storage medium may be any medium that can tangibly contain or store computer-executable instructions for use by or in conjunction with an instruction execution system, apparatus, and device. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memory such as flash memory, solid-state drives, and the like. The personal electronic device 500 is not limited to Figure 5B components and configurations, but may include other components or additional components in a variety of configurations.
[0220] As used herein, the term "indicative representation" refers to an optional feature of the apparatus 100, 300, and / or 500 ( Figure 1A , Figure 3 and FIG. 5A to FIG. 5B ) is a user-interactive graphical user interface object displayed on a display screen of a computer. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) optionally each constitute an affordance.
[0221] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), a focus selector is displayed on a touch-sensitive surface (e.g., Figure 3 Touchpad 355 or Figure 4B In the event that an input (e.g., a press input) is detected on the touch-sensitive surface 451 in the display, the particular user interface element is adjusted according to the detected input. In the case that a touch-screen display (e.g., Figure 1A A touch-sensitive display system 112 or Figure 4AIn some implementations of the touch screen 112 in FIG. 1 , a contact detected on the touch screen acts as a “focus selector” such that when an input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted in accordance with the detected input. In some implementations, the focus moves from one area of the user interface to another area of the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by using a tab key or arrow keys to move the focus from one button to another); in these implementations, the focus selector moves in accordance with the movement of the focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user interface element (or contact on the touch screen display) that is controlled by the user to deliver the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a trackpad or touch screen), the position of a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user intends to activate the corresponding button (rather than other user interface elements shown on the device display).
[0222] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of a contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after contact is detected, before contact is detected to be lifted off, before or after contact starts to move, before contact ends, before or after contact intensity is detected to increase, and / or before or after contact intensity is detected to decrease). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the intensity of the contact over time). In some embodiments, the feature strength is compared to a set of one or more strength thresholds to determine whether the user has performed an operation. For example, the set of one or more strength thresholds optionally includes a first strength threshold and a second strength threshold. In this example, a contact whose feature strength does not exceed the first threshold results in a first operation, a contact whose feature strength exceeds the first strength threshold but does not exceed the second strength threshold results in a second operation, and a contact whose feature strength exceeds the second threshold results in a third operation. In some embodiments, a comparison between the feature strength and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or to abandon the corresponding operation) rather than to determine whether to perform the first operation or the second operation.
[0223] Figure 5C Detecting multiple contacts 552A-552E on touch-sensitive display screen 504 using multiple intensity sensors 524A-524D is shown. Figure 5C Also included is an intensity graph that shows the current intensity measurements of intensity sensors 524A-524D relative to intensity units. In this example, the intensity measurements of intensity sensors 524A and 524D are each 9 intensity units, and the intensity measurements of intensity sensors 524B and 524C are each 7 intensity units. In some implementations, the cumulative intensity is the sum of the intensity measurements of multiple intensity sensors 524A-524D, which is 32 intensity units in this example. In some embodiments, each contact is assigned a corresponding intensity, which is a portion of the cumulative intensity. Figure 5DThe cumulative strength assigned to contacts 552A-552E based on their distance from the center of force 554 is shown. In this example, each of contacts 552A, 552B, and 552E is assigned a contact strength of 8 strength units of the cumulative strength, and each of contacts 552C and 552D is assigned a contact strength of 4 strength units of the cumulative strength. More generally, in some embodiments, each contact j is assigned a corresponding strength Ij, which is a portion of the cumulative strength A, according to a predefined mathematical function Ij=A·(Dj / ΣDi), where Dj is the distance of the corresponding contact j from the center of force, and ΣDi is the sum of the distances of all corresponding contacts (e.g., i=1 to the last) from the center of force. The reference may be performed using an electronic device similar to or equivalent to device 100, 300, or 500. FIG. 5C to FIG. 5D In some embodiments, the characteristic intensity of the contact is based on one or more intensities of the contact. In some embodiments, the intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). It should be noted that the intensity map is not part of the displayed user interface, but is included in the FIG. 5C to FIG. 5D To assist the readers.
[0224] In some embodiments, a portion of a gesture is identified for determining characteristic strength. For example, the touch-sensitive surface optionally receives a continuous swipe contact that transitions from a starting position and reaches an end position, where the contact strength increases. In this example, the characteristic strength of the contact at the end position is optionally based only on a portion of the continuous swipe contact, rather than the entire swipe contact (e.g., only the portion of the swipe contact at the end position). In some embodiments, a smoothing algorithm is optionally applied to the strength of the swipe contact before determining the characteristic strength of the contact. For example, a smoothing algorithm optionally includes one or more of the following: an unweighted sliding average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow peaks or depressions in the strength of the swipe contact to achieve the purpose of determining the characteristic strength.
[0225] The intensity of contact on the touch-sensitive surface is optionally characterized relative to one or more intensity thresholds such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device will perform an operation typically associated with clicking a button of a physical mouse or trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device will perform an operation different from the operation typically associated with clicking a button of a physical mouse or trackpad. In some embodiments, when a contact having a characteristic intensity lower than the light press intensity threshold (e.g., and higher than a nominal contact detection intensity threshold, contacts lower than the nominal contact detection intensity threshold are no longer detected) is detected, the device will move the focus selector according to the movement of the contact on the touch-sensitive surface without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. Generally speaking, unless otherwise stated, these intensity thresholds are consistent between different groups of user interface illustrations.
[0226] An increase in contact feature intensity from an intensity below a light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in contact feature intensity from an intensity below a deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in contact feature intensity from an intensity below a contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting contact on the touch surface. A decrease in contact feature intensity from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting contact lifted from the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.
[0227] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or multiple contacts), wherein the corresponding press input is detected at least in part based on detecting that the strength of the contact (or multiple contacts) increases to above a press input strength threshold. In some embodiments, the corresponding operation is performed in response to detecting that the strength of the corresponding contact increases to above the press input strength threshold (e.g., a "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the strength of the corresponding contact to above the press input strength threshold and the strength of the contact subsequently decreases to below the press input strength threshold, and the corresponding operation is performed in response to detecting that the strength of the corresponding contact subsequently decreases to below the press input threshold (e.g., an "up stroke" of the corresponding press input).
[0228] FIG. 5E to FIG. 5HDetection of a gesture is shown, the gesture comprising contact 562 with an intensity from below Figure 5E The light press intensity threshold in L ”) increases to a strength higher than Figure 5H The deep compression intensity threshold in D ”). On the displayed user interface 570 including application icons 572A-572D displayed in the predefined area 574, when the cursor 576 is displayed above the application icon 572B corresponding to application 2, a gesture performed using contact 562 is detected on the touch-sensitive surface 560. In some embodiments, the gesture is detected on the touch-sensitive display 504. The intensity sensor detects the intensity of the contact on the touch-sensitive surface 560. The device determines whether the intensity of the contact 562 is within the deep press intensity threshold (for example, “IT D ”) reaches a peak above. Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture, and according to the intensity increasing to a deep press intensity threshold (e.g., “IT D ”) above contact 562, displays scaled representations 578A-578C (e.g., thumbnails) of documents recently opened for application 2, such as FIG. 5F to FIG. 5H In some embodiments, the intensity is a characteristic intensity of the contact compared to one or more intensity thresholds. It should be noted that the intensity map for contact 562 is not part of the displayed user interface, but is included in the FIG. 5E to FIG. 5H To assist the readers.
[0229] In some embodiments, the display of representations 578A-578C includes animation. For example, representation 578A is initially displayed near application icon 572B, such as Fig. 5F As the animation progresses, representation 578A moves upward and representation 578B is displayed near application icon 572B, as shown. Figure 5G Then, representation 578A moves upward, 578B moves upward toward representation 578A, and representation 578C is displayed near application icon 572B, as shown in FIG. Figure 5H 578A-578C form an array above icon 572B. In some embodiments, the animation progresses according to the intensity of contact 562, such as Figure 5F to Figure 5G , where representations 578A-578C appear and increase as the strength of contact 562 approaches a deep press strength threshold (eg, “IT D ”) increases and moves upward. In some embodiments, the intensity according to which the animation progresses is the characteristic intensity of the contact. The reference may be performed using an electronic device similar to or equivalent to device 100, 300, or 500. FIG. 5E to FIG. 5H The operation described.
[0230] In some embodiments, the device employs intensity hysteresis to avoid unexpected inputs sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold that has a predefined relationship to a press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable proportion of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below the hysteresis intensity threshold corresponding to the press input intensity threshold, and a corresponding operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases to below the hysteresis intensity threshold (e.g., an "upward stroke" of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects that the contact intensity increases from an intensity equal to or below the hysteresis intensity threshold to an intensity equal to or above the press input intensity threshold and, optionally, that the contact intensity subsequently decreases to an intensity equal to or below the hysteresis intensity, and a corresponding operation is performed in response to detecting the press input (e.g., an increase in contact intensity or a decrease in contact intensity, depending on the circumstances).
[0231] For ease of explanation, optionally, a description of an operation performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a press input is triggered in response to detecting any of the following: contact intensity increasing to above the press input intensity threshold, contact intensity increasing from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, contact intensity decreasing to below the press input intensity threshold, and / or contact intensity decreasing to below a hysteresis intensity threshold corresponding to the press input intensity threshold. Additionally, in examples where an operation is described as being performed in response to detecting that the intensity of the contact decreases below the press input intensity threshold, the operation is optionally performed in response to detecting that the intensity of the contact decreases below a hysteresis intensity threshold that corresponds to and is less than the press input intensity threshold.
[0232] Attention is now turned to embodiments of a user interface ("UI") and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0233] FIG. 6A to FIG. 6N An exemplary user interface for managing camera effects according to some embodiments is shown. The user interfaces in these figures are used to illustrate processes described below, including the process in FIG. 7 .
[0234] Fig. 6AAn electronic device 600 having multiple cameras 602 and 603 (e.g., on the rear of the electronic device 600) is shown. In some embodiments, the device 600 includes one or more features of devices 100, 300, and / or 500. In some examples, the electronic device (e.g., 600) has multiple cameras with fixed but different focal lengths. In some examples, the multiple cameras are on the front, back, or both sides of the electronic device (e.g., 600). In some embodiments, in addition to having different fixed focal lengths, the multiple cameras also have different fixed fields of view and different fixed optical magnification characteristics. In some embodiments, a camera (e.g., 602) captures image data using multiple focal lengths. In some embodiments, a camera (e.g., 602) captures multiple focal lengths, thereby producing the same results as multiple cameras with fixed but different focal lengths. In some examples, the electronic device includes a depth camera, such as an infrared camera, a thermal imaging camera, or a combination thereof. In some examples, the device also includes a light emitting device (e.g., a light projector), such as an IR floodlight, a structured light projector, or a combination thereof. Optionally, a light emitting device is used to illuminate an object during image capture by a visible light camera and a depth camera (e.g., an IR camera), and information from the depth camera and the visible light camera is used to determine a depth map of different portions of the object captured by the visible light camera. In some embodiments, the lighting effects described herein are displayed using disparity information from two cameras (e.g., two visible light cameras) for backward images, and depth information from the depth camera is used in combination with image data from the visible light camera for forward images (e.g., selfie images). In some embodiments, the same user interface is used when depth information is determined using two visible light cameras and when depth information is determined using a depth camera, thereby providing a consistent experience for the user even when information used to produce the lighting effect is determined using distinctly different techniques. In some embodiments, while displaying a camera user interface with one of the lighting effects applied, the device detects selection of a camera switching indicator and switches from a front-facing camera (e.g., a depth camera and a visible light camera) to a rearward-facing camera (e.g., two visible light cameras spaced apart from each other) (or vice versa) while maintaining display of user interface controls for applying the lighting effect and replacing the field of view display of the front-facing camera with the field of view of the rearward-facing camera (or vice versa).
[0235] like Figure 6B As shown, electronic device 600 includes a touch-sensitive display 604 (e.g., a touch screen), and the display displays image data received from camera 602. In some embodiments, the display is distinct from the touch-sensitive surface.
[0236] Figure 6BThe electronic device 600 is further shown displaying a camera application user interface 606 on the display 604 for capturing images using the camera 602 and / or 603. The camera application user interface 606 also includes a digital viewfinder 608 that includes a real-time preview of the field of view of the camera 602. Figure 6B As shown, the camera's field of view includes a subject in the foreground (eg, a person) and a subject in the background (eg, a fence).
[0237] In addition, Figure 6B , the camera application user interface includes a filter container 610 represented as a hexagon overlaid on the digital viewfinder 608. In some examples, the filter container (e.g., 610) is represented as a circle, a triangle, or any other geometric shape. In some examples, the filter container (e.g., 610) is an image, icon, or text representation that provides an indication to the user about the current filter. Figure 6B In some embodiments, the filter container (e.g., 610) is a transparent representation of an object (e.g., a hexagon) that allows the various filter representations to appear as if they are moving through the transparent object. In some embodiments, the filter container can be displayed above, below, to the left, or to the right of the digital viewfinder (e.g., 608) (e.g., without overlapping the viewfinder).
[0238] Figure 6B The user interface also shows a filter selector user interface 612 in a collapsed (e.g., minimized) state. The collapsed filter selector user interface 612 is positioned along the edge of the digital viewfinder 608. In some examples, the collapsed filter selector user interface is optionally displayed above, below, on the left, or on the right of the digital viewfinder (e.g., 608). In some examples, the collapsed filter selector user interface (e.g., 612) includes one or more icons corresponding to multiple filter representations arranged in one or more rows and columns or icons positioned in a circular orientation. In some examples, the collapsed filter selector user interface (e.g., 612) is displayed at any position corresponding to the digital viewfinder. In some examples, the collapsed filter selector user interface (e.g., 612) is depicted with an outline (e.g., a border) to distinguish the filter selector user interface from the digital viewfinder (e.g., 608). In some embodiments, the collapsed filter selector user interface (e.g., 612) is translucent (or partially translucent) and has no visible border. Thus, in some examples, the border of the collapsed filter selector user interface blends with (eg, is indistinguishable from) the digital viewfinder (eg, 608).
[0239] like Figure 6BAs shown, collapsed filter selector user interface 612 includes one or more filter representations (e.g., 614A, 614B, 614C, 614D, 614E) displayed on display 604. In some examples, the collapsed filter selector user interface (e.g., 612) optionally includes filter representations that are not displayed on the display (e.g., they are off-screen). Filter representations that are not displayed within the collapsed filter selector user interface (e.g., 612) are optionally displayed on a device that detects an input (e.g., a swipe gesture) that will cause the filter representations to scroll through the filter container (e.g., 610).
[0240] like Figure 6B As further shown, the electronic device 600 displays a filter representation (e.g., 614A) within a filter container (e.g., 610) to indicate the filter applied to the live preview displayed within the digital viewfinder 608. In some embodiments, the filter representation 614A corresponds to a "natural light" lighting (e.g., filter) option. Thus, the subject (e.g., person) within the digital viewfinder 608 is displayed without applying any additional lighting effects to the image. In some examples, the filter representation (e.g., 614A) corresponds to a "studio light" lighting effects filter, a "contour light" lighting effects filter, a "stage light" lighting effects filter, or a "monochromatic stage light" lighting effects filter. Each of the aforementioned lighting effects filters affects the visual characteristics of the image displayed within the digital viewfinder 608 (e.g., by simulating the effect of illuminating the face of the subject within the digital viewfinder with different light sources based on a depth map of the subject's face). In some embodiments, the "natural light" lighting option includes modifying the image based on the depth information, but without applying additional lighting effects, for example, blurring the background of the image, but not blurring at least a portion of the foreground of the image.
[0241] like Figure 6B As further shown, when the filter selector is in the collapsed state, the filter representations not displayed in the filter container (e.g., 614B, 614C, 614D, 614E) are displayed using different visual characteristics (e.g., shading) than the filter representations displayed in the filter container (e.g., 614A). In some examples, the different visual characteristics include color, shape, and size. Figure 6BAs further shown, based on the position of the filter representations (e.g., 614B, 614C, 614D, 614E) not displayed in the filter container in the list of filter representations in the collapsed filter selector user interface (e.g., 612), the filter representations are displayed as varying distances from each other (e.g., gradually shorter, gradually longer). Therefore, in some examples, the farther the filter representation (e.g., 614E) is from the filter container (e.g., 610) in the list, the closer the filter representation is positioned to the adjacent filter representation (e.g., 614D) on the display.
[0242] In some examples, in response to receiving an input (e.g., a tap) at a location corresponding to one of the filter representations (e.g., 614B, 614C, 614D, 614E) within the collapsed filter selector user interface (e.g., 612), the electronic device (e.g., 600) applies the filter corresponding to the filter representation corresponding to the input location. Thus, a user tapping one of the filters that is not in the filter container will cause the tapped filter representation to scroll to the filter container, and the electronic device 600 will apply the filter corresponding to the filter representation in the filter container (e.g., 610). In some examples, a swipe input will result in a scroll input, and the filter representation will scroll through the filter container. Thus, if the filter in the filter container has been changed, the electronic device will apply the filter currently in the filter container (e.g., 610).
[0243] FIG. 6C to FIG. 6E An activated user interface showing an expanded filter selector user interface is shown. Figure 6C As shown, electronic device 600 receives tap input 616 at the location of filter container 610. In some examples, the tap input is over any area along the edge of digital viewfinder 608. In some examples, the tap input is over any area corresponding to collapsed filter selector user interface 612. In some examples, the input corresponds to a swipe gesture, a tap and hold (e.g., a tap and hold for a predetermined period of time) gesture, or an input having a characteristic intensity above a corresponding intensity threshold.
[0244] like Fig.6D As shown, in response to receiving the tap input 616, the electronic device 600 displays Figure 6B 612 to an expanded filter selector user interface 613. In some embodiments, Figure 6B The collapsed filter selector UI in the Fig.6DIn some examples, when the expanded filter selector user interface (e.g., 613) is expanded onto the display (e.g., covering more of the digital viewfinder), the expanded filter selector user interface transforms into the shape of a wheel or rectangle. In some examples, the expanded filter selector user interface (e.g., 613) expands from the edge of the digital viewfinder (e.g., 608) toward the center of the display 604, so that the filter selector user interface (e.g., 612) overlaps the digital viewfinder 608. In some examples, the expanded filter selector user interface (e.g., 613) is translucent, partially translucent, transparent, or partially transparent. In some examples, the expanded filter selector user interface (e.g., 613) is displayed as opaque or partially opaque. Fig.6D , when the expanded filter selector user interface (eg, 613) begins to expand, the filter container 610 shifts upward to correspond to the expanding filter selector user interface (eg, 613).
[0245] like Fig. 6E As shown, when the expanded filter selector user interface (e.g., 613) is fully expanded, the filter container 610 has been shifted upward to the top of the expanded filter selector user interface 613. In some embodiments, additional information (e.g., 618) about the filter corresponding to the filter representation (e.g., 614A) is displayed in the filter container (e.g., 610). In some examples, the additional information is displayed in the expanded filter selector user interface. In some examples, the additional information (e.g., 618) is displayed at a position near the filter selector user interface (e.g., above, below). In some examples, the additional information is represented as an icon, text, or graphic.
[0246] like Fig. 6F As shown, the electronic device 600 receives an input (e.g., a tap 620) at a position corresponding to a representation of one of the filters (e.g., 614B) that is not within the filter container. In response to the tap input, in some embodiments, the electronic device applies a filter corresponding to the filter representation (e.g., 614B) corresponding to the position of the tap input on the display 604. In some examples, the input is optionally a swipe, a press and hold, or an input with a characteristic intensity above a corresponding intensity threshold. In some examples, an input with a characteristic intensity above a corresponding intensity threshold on a representation of one of the filters (614A to 614F) optionally causes display of additional functionality for the corresponding filter representation associated with the position of the input with a characteristic intensity above the corresponding intensity threshold.
[0247] FIG. 6G to FIG. 6H The electronic device 600 receives Fig. 6F The filter container 610 is transitioned due to an input in (e.g., a tap 620). Figure 6G As shown, filter container 610 is shown to appear to rotate as filter representations (e.g., 614A to 614E) are scrolled through the filter container. Figure 6G As shown, filter container 610 appears as a three-dimensional object (e.g., a cube) during rotation. In some embodiments, when the filter container (e.g., 610) is stationary, it is represented as a two-dimensional image (e.g., a hexagon). In some examples, the three-dimensional representation of the filter container is optionally a sphere or a cone. In some examples, when the filter representation passes through the filter container, the filter container appears to be two-dimensional. Figure 6G As further shown, as the filter representations are scrolled through the filter container, the electronic device 600 progressively applies the filters corresponding to the filter representations 614B to the live preview displayed in the digital viewfinder.
[0248] like Figure 6H As further shown, when a new representation of a filter (e.g., 614B) is displayed in the container, the filter container changes visually. In some embodiments, the visual change of the filter container 610 is based on the type of filter in the filter container (e.g., the type of visual / lighting effect applied to the real-time preview in the digital viewfinder). In some examples, different sides (e.g., faces) of the filter container (e.g., 610) will reflect the visual (e.g., lighting) effect of the filter corresponding to the filter representation 614B. In some examples, the volume (e.g., interior portion) of the filter container (e.g., 610) will reflect the visual effect of the filter corresponding to the filter representation 614B.
[0249] In some examples, the filter representation (e.g., icons 614A to 614E) corresponds to the filter that the electronic device 600 simulates by applying various lighting effects corresponding to the point light source. Therefore, the visual characteristics of the filter container (e.g., 610) will change to simulate the point light source of the corresponding filter. In some examples, the filter displayed in the filter container (e.g., 610) corresponds to the simulated studio light visual effect (e.g., 614B) that simulates multiple point light sources. Therefore, the filter container is visually modified to simulate multiple point light sources corresponding to the studio lighting filter effect. In some examples, during the filter selection transition, multiple point light sources are simulated and displayed on the three-dimensional object surface. In some examples, when the corresponding filter is displayed in the filter container (e.g., 610), the point light source is displayed on the face of a two-dimensional object (e.g., a hexagon). In some examples, when the filter representation 614E is outside the boundary of the filter container (e.g., 610), the filter representation is visually different (e.g., a different representation) when it is within the boundary of the filter container.
[0250] like FIG. 6F to FIG. 6H As further shown, in some embodiments, the electronic device 600 gradually applies the filter corresponding to the newly selected filter representation 614B to the digital viewfinder during the transition period. Figure 6G As shown, electronic device 600 initially applies a filter corresponding to filter representation 614B to the digital viewfinder at a strength of 50%. Figure 6H , the electronic device fully applies (e.g., 100% strength) the filter corresponding to filter representation 614B. In some examples, the electronic device applies the filter in strength increments (e.g., 10%, 25%, 50%, 75%) during the filter transition until the transition is complete.
[0251] like FIG. 6I to FIG. 6J As shown, an input received at the electronic device (e.g., swipe 622) will cause the representation of the filter (614A to 614E) to scroll through the filter container (e.g., 610). In some embodiments, in response to the swipe gesture (e.g., 622), the displayed representation of the filter will scroll to the left across the top of the filter selector user interface. In some examples, a single swipe gesture will cause a gradual scrolling of the filter representation (e.g., the filters move one by one). In some embodiments, the number of filter representations that are scrolled will depend on the magnitude of the swipe gesture. Therefore, in some examples, a longer swipe causes a longer scrolling than a shorter swipe. Figure 6J Shows Fig.6IThe result of a swipe gesture in which a “monochromatic stage light” lighting filter is applied to a live preview in a digital viewfinder (e.g., by simulating shining a set of lights corresponding to “monochromatic stage light” on the face of a subject in the camera's field of view based on a depth map of the subject's face).
[0252] In some examples, the electronic device 600 must continuously detect contact with the filter selector user interface (e.g., 613) to keep the filter selector user interface (e.g., 613) in the expanded mode. In some examples, if the electronic device detects the lifting of the contact, the expanded filter selector user interface (e.g., 613) will begin to collapse until the collapsed filter selector user interface state (e.g., 612) is reached (e.g., minimized). In some examples, the expanded filter selector user interface (e.g., 613) will remain displayed in the expanded mode until a predetermined time period has been reached without the need for additional contact. When the electronic device 600 detects that a predetermined time period has been reached, the expanded filter selector user interface will be displayed as shrinking until it reaches the collapsed filter selector user interface state (e.g., 612) (e.g., minimized).
[0253] exist Figure 6K , the filter selector user interface is again in a collapsed state (e.g., 612). Figure 6K As shown, the electronic device receives input (e.g., tap 624) at a location corresponding to the location where the expanded filter selector user interface (e.g., 613) is located when the expanded filter selector user interface is overlaid on the digital viewfinder. Figure 6L As shown, the electronic device interprets the input as a focus command and displays a bounding box (e.g., 626) at a location corresponding to the location of the tap input (e.g., 624). Figure 6L As shown, processing of the focus command occurs without any changes to the filter application or rendering of the filter representation.
[0254] like Figure 6M As shown, the electronic device receives a swipe input 628 at a position corresponding to the position where the expanded filter selector user interface (e.g., 613) is located when the expanded filter selector user interface is overlaid on the digital viewfinder. Figure 6NAs shown, the electronic device interprets the swipe gesture 628 as a mode change command, and the electronic device (e.g., 600) changes the camera selection user interface (e.g., 606) to a different camera mode (e.g., "square" camera mode 630, photographic camera mode, non-portrait camera mode, slow-motion camera mode, time-lapse camera mode, or panoramic camera mode).
[0255] 7A to 7F 900 is a flowchart illustrating a method for changing a simulated lighting effect into a representation of image data using an electronic device according to some embodiments. Method 900 is performed at a device (e.g., 100, 300, 500, 600) having one or more input devices (e.g., a touch-sensitive surface, a keyboard, a mouse) and a display. In some embodiments, the display is a touch-sensitive display. In some embodiments, the display is not a touch-sensitive display. In some embodiments, the electronic device includes multiple cameras. In some embodiments, the electronic device has only one camera. Some operations in method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0256] As described below, method 700 provides an intuitive way to change simulated lighting effects into representations of image data. The method reduces the cognitive burden on a user to provide input corresponding to a function, thereby creating a more efficient human-machine interface. For battery-powered electronic devices, enabling users to initiate various functions more quickly and efficiently saves power and increases the time interval between battery charges.
[0257] At blocks 702 to 706, the electronic device (e.g., 600) simultaneously displays a camera application user interface (e.g., 606) on a display (e.g., 604), wherein the camera application user interface (e.g., 606) includes: a digital viewfinder (e.g., 608) (e.g., including a real-time or near real-time preview image), the digital viewfinder including a real-time preview of the field of view of one or more cameras (e.g., 602 and 603); and a representation (e.g., an image, icon, text representation indicating a corresponding filter currently applied to the real-time preview) of a filter selector user interface (e.g., 610, 612) (at a first position) overlaid on the digital viewfinder (e.g., 608). In some embodiments, the representation of the filter selector user interface (e.g., 610) is at a first position. In some embodiments, the representation of the filter selector user interface (e.g., 610) initially starts at the first position and transitions to the second position. In some embodiments, a filter selector user interface (e.g., 610) is used to select filters from filters that apply different lighting effects to an image based on depth map information (e.g., as described in more detail below with reference to method 900). Simultaneously displaying a digital viewfinder (e.g., 608) and a filter selector user interface (e.g., 613) provides the user with visual feedback about objects in the field of view of the camera (e.g., 602, 603) and filters that can be applied to the preview. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the desired result (by providing feedback indicating output that will cause the device to generate the desired result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0258] In some embodiments, at boxes 708 to 710, the representation of the filter selector user interface (e.g., 612) includes a representation of a first filter (e.g., 614A), a representation of a second filter (e.g., 614B), and a representation of a third filter (e.g., 614C), and the value of the visual characteristic (e.g., size, shading, color) of the representation of the first filter is different from the value of the visual characteristic of the representation of the second filter and the value of the visual characteristic of the representation of the third filter. In some embodiments, the filter representations are displayed within the filter selector user interface (e.g., 612), and these filter representations are displayed using different visual characteristics than the representation of the first filter displayed within the filter selector user interface (e.g., 612) (e.g., they are smaller, have different shading, have different colors). In some embodiments, the second filter and the third filter have the same visual characteristic value. Visually distinguishing the various representations of the filters provides feedback to the user about which filter is currently selected, or additionally or alternatively, provides feedback to the user about the type of filter effect provided by the corresponding filter. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0259] In some embodiments, at box 712, the representation of the filter selector user interface (e.g., 610) is a representation of a first three-dimensional object (e.g., 610) having multiple faces.
[0260] At blocks 714 to 716, while simultaneously displaying a representation of a digital viewfinder (e.g., 608) and a filter selector user interface (e.g., 612), the electronic device (e.g., 600) detects, via the one or more input devices, a first input (e.g., 616) (e.g., a swipe, a tap and hold, a tap, a button press) that begins at a location corresponding to a corresponding portion of the live preview (e.g., on or near a filter indicator icon). In some embodiments, the input can be at any location along the entire edge of the digital viewfinder (e.g., 608). In some embodiments, at block 718, the first input (e.g., 616) is a tap gesture.
[0261] At boxes 720 to 724, in response to detecting a first input (e.g., 616), based on determining that a first criterion (e.g., a filter application criterion) is satisfied, the electronic device (e.g., 600) applies a preview of a first filter to the live preview of the field of view of the camera (e.g., 602, 603) that was not applied prior to detecting the first input (e.g., to indicate that the first filter will be applied to captured media when the first filter is the currently selected filter), wherein the first criterion includes requiring that a filter selector user interface be overlaid on a corresponding portion of the live preview when the first input is detected (e.g., the filter selector user interface (e.g., 613) is in an expanded operating mode, in which the filter selector user interface extends further into the live preview than when it is in a collapsed operating mode).
[0262] At box 720 and boxes 726 to 728, in response to detecting the first input (e.g., 616), based on determining that the filter selector user interface (e.g., 613) is not overlaid on the corresponding portion of the live preview when the first input is detected (e.g., the filter selector user interface (e.g., 613) is in a collapsed operating mode, in which the filter selector user interface does not extend into the live preview compared to an expanded state), the electronic device (e.g., 600) performs a corresponding operation in the camera application without applying the preview of the first filter to the live preview. Performing the operation (applying the filter to the preview, or performing the corresponding operation without applying the filter) based on the first criterion being satisfied provides visual feedback to the user (in the form of an update in the viewfinder) about whether initiating image capture and / or video recording will include the filter. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the intended result (by providing feedback indicating output that will cause the device to generate the intended result) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently. Collapsing and expanding the filter user interface when fewer or more filters need to be accessed removes obstructions in the viewfinder, which enables the user to perform camera operations (e.g., focus, brightness adjustment, camera mode switching) on more viewfinder elements captured in the camera's field of view, while providing an interface that allows easy switching between filters. Expanding the filter user interface when the user is using it makes it easier for the user to manipulate the filters; collapsing the filter user interface when the user is not using it makes it easier for the user to perform camera operations (e.g., focus, brightness adjustment, camera mode switching). Providing additional controls while limiting obstructions of the associated user interface enhances the operability of the device and makes the user-device interface more effective (e.g., by helping users achieve intended results and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0263] In some embodiments, at box 730, performing the corresponding operation includes: selecting a focus for media capture at an object located in the field of view of the camera (e.g., 602, 603) at the corresponding portion of the live preview where the input is detected (e.g., and optionally updating the display of the digital viewfinder (e.g., 608) to focus (e.g., as represented by box 626) on a representation of a corresponding object in the field of view of one or more cameras (e.g., 602, 603)). Receiving a tap gesture targeting an object to be focused provides the user with a precise targeting mechanism for selecting an object to be focused, and does not require providing multiple or extended inputs to change the focus until the desired object is placed in focus, thereby reducing the number of inputs required to select the focus. Reducing the number of inputs required to select the focus enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the expected result (by providing feedback indicating the input that will cause the device to generate the expected result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0264] In some embodiments, at boxes 732 to 734, when the filter selector user interface (e.g., 613) is displayed and overlaid on a corresponding portion of the live preview (e.g., when the filter selector user interface (e.g., 613) is displayed as being in an expanded state), and when the first filter is applied to the live preview of the field of view of the camera (e.g., 602, 603), the electronic device (e.g., 600) detects a third input (e.g., 620) (e.g., a swipe or tap) that begins at a location corresponding to the filter selector user interface (e.g., 613).
[0265] In some embodiments, at boxes 736 to 740, in response to detecting a third input (e.g., 620), the electronic device (e.g., 600) moves a second filter representation (e.g., 614B) among the representations of multiple filters to a position on the display (e.g., 604) corresponding to the currently selected filter (e.g., a different filter representation is displayed within the representation of the filter selector UI), and the electronic device (e.g., 600) applies a preview of the second filter (e.g., 614B) to the live preview of the field of view (e.g., to indicate that the second filter will be applied to the captured media when the second filter is the currently selected filter). Moving the representation of the selected filter to the position corresponding to the currently selected filter provides the user with visual feedback about the device state, which includes the filter applied (or to be applied) to the live preview. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0266] In some embodiments, at box 742, the electronic device (e.g., 600) provides a tactile output (e.g., providing a tactile output when switching a currently selected filter from one filter to another filter).
[0267] In some embodiments, at blocks 744 to 746, when the filter selector user interface (e.g., 613) is displayed and not overlaid on a corresponding portion of the live preview (e.g., when the filter selector is displayed in a collapsed state), the electronic device (e.g., 600) detects a second input (e.g., 616) that begins at a location corresponding to the filter selector user interface (e.g., 612). In some examples, an input corresponding to any displayed portion of the collapsed filter selector user interface causes the interface to expand.
[0268] At box 748, in response to detecting the second input, the electronic device (e.g., 600) causes the filter selector user interface (e.g., 613) to expand to cover the corresponding portion of the real-time preview. Causing the filter selector user interface (e.g., 613) to expand enables the user to more accurately target the desired filter by, for example, expanding a single representation of the filter so that a less precise input can be used to accurately select the desired target. Providing more accurate targeting control enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the desired result (by providing feedback indicating the input that will cause the device to generate the expected result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0269] In some embodiments, at boxes 750 to 752, when the representation of the filter selector user interface (e.g., 610) is associated with a sixth representation of the plurality of filters, and when the representation of the filter selector user interface (e.g., 610) presents a first facet of the plurality of faces, a sixth input (e.g., 620) (e.g., a swipe or tap) is detected that begins at a location corresponding to the filter selector user interface (e.g., 613).
[0270] In some embodiments, at boxes 754 to 760, in response to detecting a sixth input (e.g., 620), the electronic device (e.g., 600) rotates the container object to present a second face of the plurality of faces that was not displayed before the sixth input was detected, switches from a state in which the first filter is the currently selected filter to a state in which a second filter different from the first filter is the currently selected filter, and applies a preview of the second filter to a real-time preview of the field of view. In some examples, a three-dimensional object (e.g., 610) appears to be a two-dimensional object until it begins to be displayed in an animated manner (e.g., rotated). In some embodiments, if the amount of filters is greater than the amount of faces available on the three-dimensional object (e.g., 610), a single face may be used to display two or more different filters. As an example, a first face of a cube (e.g., 610) displays a first filter, and after the cube is rotated four times, the first face displays a fifth filter of the plurality of filters. Rotating the container object to present the currently selected filter provides the user with visual feedback about the device state, including that the applied filter is changing. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0271] In some embodiments, the filter selector user interface (e.g., 613) includes a representation of the filter selector user interface (e.g., 610) and a representation of a plurality of filters. In some embodiments, the filter selector user interface (e.g., 613) overlaps with the digital viewfinder (e.g., 608). In some embodiments, the filter selector user interface (e.g., 613) is displayed as a dial, a dial, a half dial, a portion of a dial, or a slider. In some embodiments, the filter selector user interface (e.g., 613) is rectangular.
[0272] In some embodiments, without applying a preview of the filter to the live preview of the field of view of the camera (e.g., 602, 603) that was not applied before the second input was detected, causing the filter selector user interface (e.g., 613) to expand to cover the corresponding portion of the live preview.
[0273] In some embodiments, the representation of the filter selector user interface (e.g., 610) when in a first state (e.g., in motion, expanded) is a representation of a container object (e.g., 610) having a plurality of faces enclosing an interior volume containing a representation of a second three-dimensional object. In some embodiments, the representation of the filter selector user interface (e.g., 610) looks like a 2D object when not in motion (e.g., the representation is a simulated cube positioned so that it looks like a hexagon). Representing the container object in the first state as having an interior volume that contains a three-dimensional object provides the user with feedback about the positioning of a source (e.g., a light source) within a virtual three-dimensional environment corresponding to the environment being previewed. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the expected result (by providing feedback indicating inputs that will cause the device to generate the expected result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0274] In some embodiments, the representation of the filter selector user interface (e.g., 610) is in a second state different from the first state (e.g., static, minimized), and the representation of the container object is changed to remove shadows and / or lighting effects (e.g., so that the representation of the container object appears flattened into a 2D object such as a hexagon). Changing the representation of the container object to remove shadows and / or lighting effects reduces visual distraction to the user and helps avoid drawing the user's attention away from the camera's viewfinder. In addition, removing such effects when they are not needed reduces the amount of computational processing required. Reducing visual distraction and reducing computational processing enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve desired results and reducing user errors when operating / interacting with the device), and additionally reduces power usage and extends the battery life of the device.
[0275] In some embodiments, the representation of the filter selector user interface (e.g., 610) is in a first state (e.g., in motion, expanded), and one or more of the plurality of faces or internal volumes have a visual appearance based on a currently selected filter representing the plurality of filters. (e.g., lighting is displayed on the sides of a cube to indicate a change in lighting) In some embodiments, different filter representations are displayed within the representation of the filter selector UI as the cube rotates. Having the visual appearance of the plurality of faces or internal volumes of the container object representation in the first state based on the currently selected filters provides the user with feedback regarding the positioning of sources (such as light sources) within a virtual three-dimensional environment corresponding to the environment being previewed, and provides the user with feedback regarding the state of the light sources (enabled, disabled, brightness level). Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the desired result (by providing feedback indicating inputs that will cause the device to generate the desired result) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0276] According to some embodiments, the representation of the filter selector user interface (e.g., 610) is in a second state different from the first state (e.g., static, minimized), and the visual appearance of the representation of the filter selector user interface (e.g., 610) is not based on the currently selected filter among the plurality of filters displayed within the interior volume. In some embodiments, when the representation of the filter selector UI is minimized or static, the effects of the filters are not displayed, but when the filter selector UI is expanded and displayed as a 3D representation, the effects of the filters are displayed.
[0277] In some embodiments, when the filter selector user interface (e.g., 613) is displayed and not overlaid on a corresponding portion of the live preview (e.g., when the filter selector is displayed in a collapsed state), the representation of the filter selector user interface (e.g., 610) and the representation of the plurality of filters are positioned along a line substantially parallel to an edge of the display (e.g., 604). Positioning the representation of the filter selector user interface (e.g., 610) and the representation of the plurality of filters along a line substantially parallel to an edge of the display (e.g., 604) increases visibility of the subject in the live preview while providing a reminder to the user of available lighting effects and enabling the user to more easily perform camera operations (e.g., focusing, brightness adjustment, camera mode switching) on viewfinder elements. Providing additional controls while maintaining visibility of relevant viewfinder elements enhances the operability of the device and makes the user-viewfinder more effective (e.g., by helping the user achieve desired results and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently. In some embodiments, the additional filter options are positioned along an edge of the display (e.g., 604) that extends in two directions away from the representation of the filter selector user interface (e.g., 610), and in some embodiments, the additional filter options are positioned along an edge of the display (e.g., 604) that extends in one direction relative to the representation of the filter selector user interface (e.g., 610). In some embodiments, the representation of the filter selector user interface (e.g., 610) is displayed near an edge of the live preview.
[0278] In some embodiments, when the filter selector user interface (e.g., 613) is overlaid on a corresponding portion of the live preview (e.g., when the filter selector user interface (e.g., 613) is displayed as being in a collapsed state), the representation of the filter selector user interface (e.g., 610) and the representation of the plurality of filters are positioned along a curve (e.g., a line that is not parallel to an edge of the display (e.g., 604)). In some embodiments, the displaced position will appear to be an arc or wheel shape. In some embodiments, the interaction includes using a gesture (swipe or tap) along any portion of the bottom edge of the display (e.g., 604). Making the displaced position appear to be an arc or wheel shape and using a gesture (swipe or tap) along the bottom edge of the display (e.g., 604) to interact with the arc or wheel shape provides continuity in the user interface to reduce user confusion, which results in the user providing less input to perform the desired operation. Reducing the number of inputs required to perform an operation enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping users achieve intended results and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0279] In some embodiments, the first input is a tap gesture, and wherein the position corresponding to the corresponding portion of the real-time preview is a position corresponding to the representation of the first filter in the representations of the plurality of filters. In some embodiments, the expanded filter selector UI will be displayed in an expanded state. In some embodiments, the filter selector user interface (e.g., 613) will be displayed in a collapsed state.
[0280] In some embodiments, the representation of the second filter is in a first direction relative to the representation of the first filter, the representation of the third filter is in a first direction relative to the representation of the second filter, and the visual characteristic values gradually change (e.g., monotonically increase or monotonically decrease) in the first direction from the representation of the first filter to the representation of the second filter to the representation of the third filter (e.g., the representations of the filters gradually become smaller and / or their opacity decreases as the filter representations become farther and farther away from the representation of the currently selected filter). The visual characteristic values gradually change in the first direction from the representation of the first filter to the representation of the second filter to the representation of the third filter, which reduces user distraction, improves visibility of real-time previews, and provides a structured system that makes it easier to identify and access filters. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the desired results and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently. In some embodiments, the filter representations are displayed within a filter selector user interface (e.g., 613), and the filter representations are displayed using different visual characteristics based on the distance between each corresponding filter representation and the representation of the filter selector user interface (e.g., 610).
[0281] In some embodiments, the filter selector user interface (e.g., 613) is overlaid on a corresponding portion of the live preview (e.g., when the filter selector user interface (e.g., 613) is displayed as being in an expanded state), and the filter selector user interface (e.g., 613) includes additional information about the first filter displayed in association with a representation of the first filter (e.g., displaying the name of the filter).
[0282] In some embodiments, the first input is a swipe gesture (e.g., 628), and performing a corresponding operation includes changing a camera capture mode (e.g., 600) of the electronic device (e.g., the mode is changed to any one of video mode, photo mode, portrait mode, square mode, panoramic mode, slow motion mode, and time-lapse mode).
[0283] In some embodiments, the preview of the second filter is applied includes a gradual transition between the preview of the first filter and the preview of the second filter. In some embodiments, the gradual transition includes at a first time, 100% at the beginning and 0% thereafter; at a second time, 90% at the beginning and 10% thereafter; and so on.
[0284] Note that the process described above with respect to method 700 (eg, 7A to 7F) may also be applied in a similar manner to the methods described below. For example, methods 900, 1100, 1300, 1500, and 1700 optionally include one or more features of the various methods described above with reference to method 700. For example, elements of filter user interfaces, affordances, and controls from the various methods may be combined. For another example, the viewfinder in method 700 is similar to the viewfinder in methods 900, 1100, 1300, 1500, and 1700. For simplicity, these details are not repeated below.
[0285] In some embodiments, electronic device 800 includes some or all of the components of device 600, such as Fig. 6AAs shown. In some embodiments, device 800 includes multiple cameras 602 and 603 (e.g., on the rear of electronic device 800). In some embodiments, device 800 includes one or more features of devices 100, 300 and / or 500. In some examples, the electronic device (e.g., 800) has multiple cameras with fixed but different focal lengths. In some examples, the multiple cameras are on the front, back or both sides of the electronic device (e.g., 800). In some embodiments, in addition to having different fixed focal lengths, the multiple cameras also have different fixed fields of view and different fixed optical magnification characteristics. In some embodiments, a camera (e.g., 602) captures image data using multiple focal lengths. In some embodiments, a camera (e.g., 602) captures multiple focal lengths, thereby producing the same results as multiple cameras with fixed but different focal lengths. In some examples, the electronic device (e.g., 800) includes a depth camera, such as an infrared camera, a thermal imaging camera, or a combination thereof. In some examples, the device also includes a light emitting device (e.g., a light projector), such as an IR floodlight, a structured light projector, or a combination thereof. Optionally, a light emitting device is used to illuminate an object during image capture by a visible light camera and a depth camera (e.g., an IR camera), and information from the depth camera and the visible light camera is used to determine a depth map of different portions of the object captured by the visible light camera. In some embodiments, the lighting effects described herein are displayed using disparity information from two cameras (e.g., two visible light cameras) for backward images, and depth information from the depth camera is used in combination with image data from the visible light camera for forward images (e.g., selfie images). In some embodiments, the same user interface is used when depth information is determined using two visible light cameras and when depth information is determined using a depth camera, thereby providing a consistent experience for the user even when information used to produce the lighting effect is determined using distinctly different techniques. In some embodiments, while displaying a camera user interface with one of the lighting effects applied, the device detects selection of a camera switching indicator and switches from a front-facing camera (e.g., a depth camera and a visible light camera) to a rearward-facing camera (e.g., two visible light cameras spaced apart from each other) (or vice versa) while maintaining display of user interface controls for applying the lighting effect and replacing the field of view display of the front-facing camera with the field of view of the rearward-facing camera (or vice versa).
[0286] like Fig. 8A As shown, the electronic device 800 includes a touch-sensitive display 804 (e.g., a touch screen), and the display displays image data received from a camera (e.g., 602). In some embodiments, the display is different from the touch-sensitive surface. In some examples, multiple cameras (e.g., 602 and 603) are positioned on the front, back, or both sides of the electronic device (e.g., 800).
[0287] Fig. 8A Further shown is an electronic device 800 displaying a camera application user interface 805 for capturing an image using a camera (e.g., 602) on a display 804. The camera application user interface 805 also includes a digital viewfinder 810 that includes a real-time preview of the field of view of the camera (e.g., 602 or 603). In some embodiments, the camera captures depth information associated with the image data in real time. Fig. 8A Further shown is a camera capturing different depth levels in the field of view; these depth levels include a subject (e.g., a woman) in the foreground area (e.g., 808) and a fence (e.g., 811) in the background area. In some examples, the camera (e.g., 602) captures 3, 4, 5, 10, 20, or more depth levels in the field of view. The electronic device 800 utilizes the multiple depth levels when applying a filter to a representation (e.g., 806) of image data displayed within a digital viewfinder (e.g., 810), as discussed in more detail below.
[0288] also, Fig. 8A The electronic device 800 is shown displaying a filter selector user interface 813 in an expanded state. The filter selector user interface 813 is positioned along an edge of the digital viewfinder 810. In some examples, the filter selector user interface (e.g., 813) is optionally displayed above, below, to the left, or to the right of the digital viewfinder (e.g., 810). In some examples, the filter selector user interface (e.g., 813) includes one or more representations (e.g., representations of visual effects) of filters arranged in one or more rows and columns or positioned in a circular orientation.
[0289] In some examples, the expanded filter selector user interface (e.g., 813) is displayed at any position corresponding to the digital viewfinder. In some examples, the filter selector user interface (e.g., 813) is depicted with an outline (e.g., a border) to distinguish the filter selector user interface from the digital viewfinder. In some embodiments, the filter selector user interface (e.g., 813) is translucent (or partially translucent) when in a collapsed state and has no visible border. Therefore, in some examples, the filter selector user interface (e.g., 813) appears to be mixed with the digital viewfinder (e.g., cannot be distinguished).
[0290] like Fig. 8AAs shown, the electronic device 800 displays a filter selector user interface 813 including one or more filter representations (e.g., 814A, 814B, 814C, 814D, 814E) corresponding to the visual effect. In some examples, the filter selector user interface (e.g., 813) optionally includes filter representations that are not displayed on the display (e.g., they are off-screen). In some examples, when the electronic device receives an input (e.g., a swipe gesture) that will cause the filter representation to scroll through the filter container (e.g., 816), the undisplayed filter representation is displayed.
[0291] like Fig. 8A As further shown, in some embodiments, the electronic device 800 displays a filter representation (e.g., 814A) within the expanded filter selector user interface (e.g., 813) to indicate the currently selected visual effect. In some embodiments, the filter representation 814A corresponds to a "natural light" lighting effect filter. Thus, the foreground area 808 and the background area 809 are displayed using the "natural light" lighting effect filter (e.g., using natural lighting from the scene). Since the foreground area 808 and the background area 809 are depicted without using any synthetic light, the foreground area 808 and the background area 809 are displayed using the "natural light" lighting effect filter. Fig. 8A , natural light from the scene can create varying shadows on the subject (e.g., face, neck, and clothing). In some examples, possible filter representations (e.g., 814A to 814E) corresponding to lighting effects include a "studio light" lighting effect, a "rim light" lighting effect, a "stage light" lighting effect, and a "monochromatic stage light" lighting effect. Each of the aforementioned lighting effects, when applied to a representation of image data (e.g., 806), affects the visual characteristics of the representation of image data displayed on display 804.
[0292] In some embodiments, when the electronic device 800 applies a natural lighting effect, no synthetic lighting is added to the image (e.g., the original image is displayed). In contrast, a studio lighting effect includes modeling a plurality of discrete point light sources (e.g., lights in the studio) uniformly positioned around the subject (e.g., forming a bright fill lighting effect). A contour lighting effect includes modeling a plurality of discrete point light sources positioned along the perimeter of the subject (e.g., forming a slimming effect, forming a shadow on one side of the subject's face and / or above the subject's chin). A stage light lighting effect includes modeling a single discrete point light source positioned above the subject (e.g., forming a spotlight effect). A monochrome stage light lighting effect includes modeling a single discrete point light source positioned above the subject in black and white (e.g., forming a black and white spotlight effect).
[0293] In some examples, an electronic device (e.g., 800) detects a face of a subject in a representation of image data. Therefore, the electronic device uses depth map information of the image data and corresponding facial features when applying lighting effects. Therefore, the lighting effect is applied around the face of the subject in a more precise manner, and certain facial features may be illuminated differently based on the selected lighting effect (e.g., increasing or decreasing shadows around the chin and / or cheekbones of the subject). In some examples, the image data includes depth map information that includes a depth profile of the object. Therefore, the electronic device uses the profile data to more accurately apply the lighting effect around the subject.
[0294] like Figure 8B As shown, the electronic device 800 receives input (e.g., swipe 818) at a location corresponding to the expanded filter selector user interface (e.g., 813). Figure 8C As shown, an input (e.g., swipe 818) causes the filter representations (814A to 814E) to scroll through the filter container (e.g., 816). In some embodiments, in response to the input (e.g., swipe 818), the filter representations will scroll to the left across the top border of the filter selector user interface (e.g., 813). In some examples, a single swipe gesture will result in a gradual scrolling of the filter representations. In some embodiments, the number of filter representations that are scrolled will depend on the magnitude of the swipe gesture. Therefore, in some examples, a longer swipe causes a longer scroll than a shorter swipe.
[0295] In response to an input (e.g., 818 swipe), in some embodiments, the electronic device 800 applies a lighting effect corresponding to a filter representation (e.g., 814B) corresponding to the location of the tap input on the display 804. In some examples, the input is a swipe, a press and hold, or an input having a characteristic intensity above a corresponding intensity threshold. In some examples, an input detected on a representation (814A to 814F) of one of the filters having a characteristic intensity above a corresponding intensity threshold optionally causes display of additional functionality for the corresponding filter representation associated with the location of the input having a characteristic intensity above the corresponding intensity threshold.
[0296] In some embodiments, prior to applying the lighting effect corresponding to the filter representation (e.g., 814B), additional visual effects may be applied to the entire representation of the image data (e.g., 806). For example, prior to applying the stage lighting filter, a slight gradient fill may be applied to the representation of the image data (e.g., 806) to more smoothly transition from no filter to the lighting effects filter.
[0297] FIG. 8C to FIG. 8D Shows the electronic device receiving Figure 8B800 that gradually applies a lighting effect in response to an input in the foreground region 808 (e.g., a swipe 818). In some embodiments, a lighting effect corresponding to the newly selected filter representation 814B is gradually applied to the representation of the image data in the real-time preview (e.g., 806). Since the selected lighting effect is "studio lights", the corresponding visual effect simulates multiple point light sources affecting the subject in the foreground region 808. Therefore, during the transition phase ( Figure 8C ), the lighting effect corresponding to filter representation 814B is applied to the live preview at 50% intensity. Fig.8D , the filter corresponding to filter representation 814B is fully applied (e.g., 100%). In some examples, the filter is applied in increments (10%, 25%, 50%, 75%) while the electronic device 800 applies the lighting effect until the transition is complete. In some examples, when the electronic device 800 applies the "studio lights" lighting effect to the representation of the image data, the background area (e.g., 809) is completely darkened. In some embodiments, when the electronic device 800 applies the "studio lights" lighting effect to the representation of the image data, the background area (e.g., 809) is partially darkened.
[0298] like FIG. 8C to FIG. 8D As shown, since the image data captured by the camera (e.g., 602) includes depth map information associated with the image data, the electronic device can use the available depth map information and can simulate the effects of various point light sources on the image data representation 806. In some embodiments, the same lighting effect is applied in the background area in a different manner than the foreground area based on the depth map information associated with the image data. As a result, the subject in the foreground may appear more prominent, and the subject in the background may become less prominent via a darkening effect. In addition, as shown in FIG. Fig.8D As shown, due to the lighting effect simulating a point light source, the depth map information is used to cast varying shadows onto the subject's face in the foreground area (e.g., 808). Fig.8D As shown, since the "studio light" lighting effect simulates multiple point light sources, the electronic device 800 uses the depth map information to reduce shadows on the subject's face relative to the "natural light" lighting effect.
[0299] like FIG. 8E to FIG. 8F As shown, the electronic device 800 receives input (e.g., tap 820) and will cause the representations of the filters (814A to 814E) to scroll through the filter container (e.g., 816). In some embodiments, in response to a tap gesture (e.g., 820) corresponding to the filter representation (e.g., 814E), the representation of the filter will scroll to the left across the top perimeter of the expanded filter selector user interface (e.g., 813). Figure 8F Shows Fig. 8EThe result of a tap gesture (e.g., 820) is shown, in which the electronic device 800 applies a "monochromatic stage light" filter to the digital viewfinder. The "monochromatic stage light" lighting effect simulates a single point light source, and is therefore similar to a spotlight effect. Using the depth map information, the electronic device 800 applies the "monochromatic stage light" effect from above the subject in the foreground area (e.g., 808). In some examples, the point light sources may be simulated as originating from any direction. In some examples, the "monochromatic stage light" effect is simulated as originating from the front, and therefore, a specific focal point (e.g., a face) is highlighted, but the rest of the representation of the image data is darkened. As Figure 8F As shown, because the simulation of the point light source originates from above the subject, the electronic device can use the depth map information of the image data to cast darker shadows onto the subject (e.g., the face and neck). In some embodiments, the background of the image is removed and replaced with a solid color (such as black or white) or a user-selected color to further draw attention to the subject in the foreground and simulate a studio setting in which a user can be photographed against a solid background.
[0300] like Figure 8G As shown, the electronic device may not be in a suitable state for capturing depth information. Figure 8G Shows the user in operation Figure 8F A user who is operating electronic device 800 steps back from the position at which the electronic device was when the user stepped back. As a result of the user stepping back, the electronic device is no longer able to capture depth information (e.g., conditions for the camera to capture depth information are no longer detected). In some embodiments, when the conditions for capturing a depth effect are no longer met, the previously applied lighting effect gradually fades out. In some examples, when the conditions for capturing a depth effect are no longer met, the previously applied lighting effect suddenly disappears (e.g., the device reverts to not applying a lighting filter without a transition). In some embodiments, when the filter suddenly disappears, a temporary filter (e.g., a gradient) that is optionally part of the lighting effect filter is applied to the image representation. When the lighting effect is reapplied, the temporary filter helps to smooth the transition (e.g., reduce vibration).
[0301] In some embodiments, when the electronic device does not detect the necessary conditions for capturing depth map data, the electronic device 800 displays a graphical indication (e.g., 822) to guide the user on what actions to take to enable the electronic device (e.g., 800) to capture depth map information. In some examples, the electronic device detects a subject but the subject is too far away (e.g., the focal length is between 2.5m and 10m), and the electronic device guides the user (e.g., using a graphical indication) to move closer to the camera (e.g., move to within 8 feet). In some examples, the electronic device determines that the amount of light is too low (e.g., 400 lux or less), and therefore guides the user (e.g., using a graphical indication) to provide more light. In some examples, an enabling indication is displayed in the viewfinder to allow the user to disable or enable such instructions. In some examples, when the conditions for capturing a depth effect map are met, the electronic device 800 abandons displaying a graphical indication to guide the user. Therefore, in some examples, when the user action is not helpful for applying the lighting effect, the electronic device 800 does not guide the user.
[0302] like Figure 8H As shown, when the user takes a few steps forward and the electronic device again detects the necessary conditions for capturing depth map information, the lighting effect appears suddenly (e.g., without a transition). In some examples, when the conditions for capturing depth map information are again met, the electronic device 800 gradually applies the lighting effect to the image data representation.
[0303] like Figure 8I As shown, the electronic device detects input (e.g., tap 824) at a location corresponding to the photo viewer application (e.g., 826). In response to receiving the input (e.g., 826), the electronic device 800 switches to the Figure 8J An image viewing mode is shown (eg, a mode for viewing a previously captured image rather than a live preview of the camera data).
[0304] Figure 8J A user interface for a photo viewer application is shown. The photo viewer application includes thumbnails of previously captured images (e.g., 828A to 828D), where 828D is the last captured image. In some examples, the previously captured images are captured using a camera corresponding to an electronic device (e.g., 800). In some examples, the electronic device (e.g., 800) receives the previously captured images (e.g., 828A to 828D) from a remote source (e.g., a server), and optionally, the previously captured images are captured by a different electronic device (e.g., not 800).
[0305] Figure 8JIt is further shown that the last captured image (e.g., 828D) is captured using a combination of visual effects (e.g., a simulated depth effect (bokeh) 830 in which the background is blurred and a portion of the foreground is not blurred to simulate taking a photo with a shallow depth of field in which the foreground is in the focus plane; and a lighting effect 832). In some embodiments, the electronic device displays a "portrait" visual indicator (e.g., 834) at the top of the display to indicate to the user that the previously captured image data includes depth map information. In some examples, the electronic device (e.g., 800) receives input at a location corresponding to the visual indicator to switch the simulated depth effect (e.g., bokeh) on and off. In some embodiments, if the simulated depth effect is switched to off, the lighting effect will remain. In some examples, the visual indicator switches the simulated depth effect and the lighting effect together when activated. In some examples, the electronic device optionally receives input for changing the lighting effect within the photo viewer application to a different lighting effect using a filter selector user interface (described above). In some examples, if the previously captured image data does not have depth map information; the electronic device (e.g., 800) will not provide an option for applying a simulated depth effect or lighting effect. In some examples, if the previously captured image data does not have depth map information associated with the image data, the electronic device will not display a visual indicator (e.g., 834).
[0306] In some examples, the electronic device (e.g., 800) stores the depth map information in a file with the image data. In some examples, the electronic device (e.g., 800) stores the depth map information separately from the image data. In some embodiments, once the electronic device stores the image with the depth map information as a flat image (e.g., without the depth map information), the electronic device (e.g., 800) will no longer be able to apply lighting effects to the representation of the image data.
[0307] 9A to 9D Flowchart showing a method for applying simulated visual effects to image data representation using an electronic device according to some embodiments. Method 900 is performed at a device (e.g., 100, 300, 500, 800) having one or more input devices (e.g., touch-sensitive surface, keyboard, mouse) and a display. In some embodiments, the display is a touch-sensitive display. In some embodiments, the display is not a touch-sensitive display. In some embodiments, the electronic device includes multiple cameras. In some embodiments, the electronic device has only one camera. Some operations in method 900 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0308] As described below, method 900 provides an intuitive way to apply simulated lighting effects to image data representations. The method reduces the cognitive burden on users to provide input corresponding to functions, thereby creating a more efficient human-computer interface. For battery-powered electronic devices, enabling users to initiate various functions faster and more efficiently saves power and increases the time interval between battery charges.
[0309] In some embodiments, at box 902, before displaying the image data representation (e.g., 806), the electronic device (e.g., 800) receives (e.g., from a camera, from a memory, from a server) image data and depth map information associated with the image data at the device. In some embodiments, the image data includes RGB and depth map values. In some embodiments, the image data and the depth map are received from a source external to the electronic device (e.g., 800) (e.g., data is received from a server). In some embodiments, the image is saved in a file format that allows the depth information (e.g., depth map) and RGB data to be separated in a single file. In some embodiments, the image data includes depth map information. In some embodiments, the depth map information and the depth map information are separate. Receiving the image data and the depth map information corresponding to the image data before displaying the image data representation (e.g., 806) enables the device to provide visual feedback to the user via the image data representation (e.g., 806) related to the content of the depth map information, for example, whether the item is in the background (e.g., 809) of the scene or in the foreground (e.g., 808) of the scene. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0310] At box 904, the electronic device (e.g., 800) displays a representation of the image data associated with the depth map information on a display (e.g., 804). In some embodiments, the image or photo is displayed on the display (e.g., 804) of the device. In some embodiments, a real-time preview of the image data is displayed in a digital viewfinder (e.g., 810). Displaying a real-time preview of the image data in a digital viewfinder (e.g., 810) enables the user to quickly and efficiently take photos without having to repeatedly capture photos, thereby reducing the number of inputs required to capture the desired photo, reducing the memory requirements for storing photos, and making the user interface more efficient. Reducing the number of inputs required to capture the desired image and reducing memory requirements enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the desired result and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0311] In some embodiments, at block 906, the electronic device (e.g., 800) further includes one or more cameras (e.g., 602 and / or 603), and wherein the image data representation (e.g., 806) is a real-time preview of image data captured within a field of view of the one or more cameras (e.g., 602 and / or 603) displayed in a digital viewfinder (e.g., 810). In some embodiments, the device includes multiple cameras (e.g., 602 and / or 603) with varying focal lengths.
[0312] In some embodiments, at box 908, the depth map information associated with the image data includes information corresponding to at least three different depth levels. For example, the image data includes information corresponding to at least a background depth level, a foreground depth level, and an intermediate depth level. The depth map information including three or more different depth levels provides a framework for applying depth-specific filters to the user and provides the user with more accurate feedback on the depth positioning of the object in the field of view of the camera (e.g., 602 and / or 603). Providing improved visual feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the expected result (by providing feedback indicating the input that will cause the device to generate the expected result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0313] In some embodiments, at box 910, the depth map information associated with the image data includes information identifying the depth contours of objects in the representation of the image data (e.g., 806).
[0314] At block 912, while displaying the image data representation (e.g., 806) on the display (e.g., 804), the electronic device (e.g., 800) optionally performs the techniques of blocks 914 to 936. At block 914, the electronic device (e.g., 800) detects a first input (e.g., 818) via the one or more input devices (e.g., a swipe, tap and hold, tap, button press; the gesture may be on top of an icon representing a lighting filter or another user interface system for selecting a filter).
[0315] In some embodiments, at box 916, the first input (e.g., 818) is input received when a first criterion (e.g., a set of lighting effect application criteria) is met, wherein the first criterion includes a requirement that a subject is detected in a field of view within a predetermined distance from the electronic device (e.g., 800) (other conditions in the set include: the focal length of the first camera (e.g., 602 or 603) exceeds a minimum distance threshold, the focal length of the first camera (e.g., 602 or 603) does not exceed a maximum distance threshold, the subject is detected outside a predetermined minimum distance from the device, the amount of light detected exceeds a minimum light threshold, and the amount of light detected does not exceed a maximum light threshold). In some embodiments, if the first criterion is not met, the application of the first lighting effect or the second lighting effect is abandoned. Applying the lighting effect when it is determined that the subject is within a predetermined distance when the first input (e.g., 818) is received provides the user with visual feedback that the object has been correctly positioned so that the filter can be used to achieve an optimal (or near-optimal) effect. Similarly, not applying the lighting effect when the subject is not within a predetermined distance provides feedback to the user that the subject is not correctly positioned and indicates to the user that corrective action is required. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the intended result (by providing feedback indicating inputs that will cause the device to generate the intended result) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0316] In some embodiments, at box 918, the first input (e.g., 818) is input received when a first criterion (e.g., a set of lighting effect application criteria) is not met, wherein the first criterion includes a requirement that is met when a subject is detected in a field of view within a predetermined distance from the electronic device (e.g., 800) (other conditions / criteria in the set include: the focal length of the first camera (e.g., 602 or 603) exceeds a minimum distance threshold, the focal length of the first camera (e.g., 602 or 603) does not exceed a maximum distance threshold, the subject is detected outside a predetermined minimum distance from the device, the amount of detected light exceeds a minimum light threshold, and the amount of detected light does not exceed a maximum light threshold). In some embodiments, if the first criterion is not met, the electronic device (e.g., 800) abandons applying the first lighting effect or the second lighting effect.
[0317] In some embodiments, at box 920, in response to the first input (e.g., 818), the electronic device (e.g., 800) applies a placeholder filter to the live preview (e.g., dims or desaturates the background (e.g., 809)) without applying the first lighting effect to the live preview. In some embodiments, in response to detecting that the first criterion has been met, the electronic device (e.g., 800) applies the first lighting effect to the live preview while continuing to apply the placeholder filter to the live preview (e.g., the placeholder filter is a portion of the first lighting effect that does not take into account depth map information and is therefore displayed without regard to whether the first criterion has been met). Applying the placeholder filter without regard to whether the first criterion has been met provides visual feedback to the user about the depth map corresponding to the content of the viewfinder (e.g., 810), for example, which portions of the image correspond to portions of the depth map in the background (e.g., 809) compared to the foreground (e.g., 808). Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0318] In some embodiments, at box 922, after displaying the live preview without applying the first lighting effect to the live preview, the electronic device (e.g., 800) detects that the first criterion has been met. In response to detecting that the first criterion has been met, the electronic device (e.g., 800) applies the first lighting effect to the live preview. Applying the lighting effect when the first criterion is met provides the user with visual feedback that the first criterion has been met (e.g., the subject is correctly positioned) and the filter can be used to achieve the best (or near-optimal) effect. Similarly, not applying the lighting effect when the first criterion is not met provides the user with feedback that the first criterion is not met, and indicates to the user that corrective action is required. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the expected result (by providing feedback indicating the input that will cause the device to generate the expected result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0319] At box 924, based on detecting the first input (e.g., 818), the electronic device (e.g., 800) applies a first lighting effect (e.g., natural light, studio light, contour light, stage light, monochrome stage light) to the image data representation (e.g., 806), wherein the first lighting effect is based on depth map information (e.g., based on measurements of a depth sensor, or based on a parallax map between two images taken simultaneously from different positions). Displaying the lighting effect based on the depth map information provides visual feedback to the user about the depth map information. For example, placing (or enhancing) and removing (or lightening) shadows provides feedback to the user about a particular orientation of an object corresponding to the depth map information. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the expected result (by providing feedback indicating an output that will cause the device to generate the expected result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0320] In some embodiments, at box 926, applying the first lighting effect includes applying a placeholder filter (e.g., dimming or desaturating the background (e.g., 809)) to the image data representation (e.g., 806) displayed in the digital viewfinder (e.g., 810), wherein the placeholder filter is based on the first lighting effect (e.g., selected) and is applied without regard to whether the first criterion is met. Applying the placeholder filter enables a smoother / pleasant transition to the lighting filter. Applying the placeholder filter without regard to whether the first criterion is met provides visual feedback to the user about the depth map corresponding to the content of the viewfinder (e.g., 810), for example, which portions of the image correspond to portions of the depth map in the background (e.g., 809) compared to the foreground (e.g., 808). Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0321] In some embodiments, at box 928, applying a first lighting effect includes: applying a simulation of one or more point light sources in space to an image data representation (e.g., 806) displayed in a viewfinder (e.g., 810) based on depth map information associated with the image data. The lighting options include natural light, studio light, contour light, stage light, and monochromatic stage light. Each lighting effect models (e.g., simulates) the results of one or more point light sources in space based on a depth map of the image data. The natural lighting option does not apply synthetic lighting to the image (e.g., displaying the original image or a portion of the original image and applying blur to different parts of the original effect to simulate a bokeh effect). The studio lighting effect includes modeling multiple discrete point light sources positioned around the subject (e.g., forming a bright fill light effect). The contour lighting effect includes modeling multiple discrete point light sources positioned at fewer points around the subject to form shadows on the subject's face (e.g., forming a slimming effect, forming shadows on one side of the subject's face and / or above the subject's chin). The stage light lighting effect includes modeling a single discrete point light source positioned above the subject (e.g., forming a spotlight effect). The monochromatic stage light lighting effect includes modeling a single discrete point light source positioned around the subject in black and white (e.g., forming a spotlight effect in black and white). In some embodiments, the lighting filter simulates the point light source. In some embodiments, when the first criterion (e.g., the lighting effect application criterion) is met, the lighting effect suddenly appears, as described in more detail above. In some embodiments, if the system detects a face, facial features are taken into account when applying the lighting effect. Therefore, the lighting effect changes the appearance of the image data representation (e.g., 806) based on the specific facial features and facial shape of the subject. The simulation of applying the point light source provides a user with a visual representation of the content of the depth map information and enables the device to provide the user with visual feedback about the shape and depth position of the object in the field of view of the camera (e.g., 602 and / or 603). Providing improved visual feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the intended result (by providing feedback indicating input that will cause the device to generate the intended result) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently. In addition, applying simulation of point light sources without the need for actual physical studio lights makes electronic devices cheaper and smaller than when actual studio lights and backgrounds are required, thereby improving the portability of the device and reducing manufacturing costs.
[0322] At box 930, the electronic device (e.g., 800) detects a second input (e.g., a swipe, tap and hold, a tap; a button press, the gesture may be on top of an icon representing a lighting filter (e.g., 814A) or another user interface system for selecting a filter) via the one or more input devices.
[0323] At box 932, based on detecting the second input, the electronic device (e.g., 800) applies a second lighting effect (e.g., natural light, studio light, contour light, stage light, monochrome stage light) different from the first lighting effect to the image data representation (e.g., 806), wherein the second lighting effect is based on the depth map information (e.g., based on the measurement results of the depth sensor, or based on the parallax mapping between two images taken simultaneously from different positions). Displaying the second lighting effect based on the depth map information provides the user with additional visual feedback about the depth map information. For example, the second lighting effect may include one or more light sources at different locations, with different intensities, or of different types (directional, ambient, point), which provide the user with feedback about the special orientation of the object corresponding to the depth map information. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the expected result (by providing feedback indicating the output that will cause the device to generate the expected result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0324] In some embodiments, at box 934, applying a second lighting effect includes: applying a simulation of one or more point light sources in space to an image data representation (e.g., 806) displayed in a digital viewfinder (e.g., 810) based on depth map information associated with the image data. The lighting options include natural light, studio light, contour light, stage light, and monochromatic stage light. Each lighting effect models (e.g., simulates) the results of one or more point light sources in space based on a depth map of the image data. The natural lighting option does not apply synthetic lighting to the image (e.g., displaying the original image or a portion of the original image, and applying blur to different parts of the original effect to simulate a bokeh effect). The studio lighting effect includes modeling multiple discrete point light sources positioned around the subject (e.g., forming a bright fill light effect). The contour lighting effect includes modeling multiple discrete point light sources positioned at fewer points around the subject to form shadows on the subject's face (e.g., forming a slimming effect, forming shadows on one side of the subject's face and / or above the subject's chin). The stage light lighting effect includes modeling a single discrete point light source positioned above the subject (e.g., forming a spotlight effect). The monochromatic stage light lighting effect includes modeling a single discrete point light source positioned around the subject in black and white (e.g., forming a spotlight effect in black and white). In some embodiments, the lighting filter simulates the point light source. In some embodiments, when the first criterion is met, the lighting effect suddenly appears, as described in more detail above. In some embodiments, if the system detects a face, facial features are taken into account when applying the lighting effect. Thus, the lighting effect changes the appearance of the image data representation (e.g., 806) based on the specific facial features and facial shape of the subject. The simulation of applying a point light source provides a user with a visual representation of the content of the depth map information and enables the device to provide the user with visual feedback about the shape and depth position of objects in the field of view of the camera (e.g., 602 and / or 603). Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0325] In some embodiments, at box 936, the lighting effect changes the appearance of the image data representation (e.g., 806) based on the position and curvature of the outline of the object. Including the depth outline of the object in the depth map information enables the device to provide more accurate visual feedback to the user about the shape and depth positioning of the object in the field of view of the camera (e.g., 602 or 603). Providing improved visual feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve the expected result (by providing feedback indicating the input that will cause the device to generate the expected result) and reducing user errors when operating the device / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently. In addition, including the depth outline of the object in the depth map information enables previewing and applying simulations of light sources without the need for actual physical studio lights, which makes electronic devices cheaper and smaller than when actual studio lights and backgrounds are required, thereby improving the portability of the device and reducing manufacturing costs.
[0326] In some embodiments, when applying the first lighting effect (or the second filter), the electronic device (e.g., 800): determines that the first criterion is not met, and in response to determining that the first criterion is not met (e.g., no subject is detected in the field of view within a predetermined distance from the electronic device (e.g., 800)): stops applying the first (or second) lighting effect to the image data representation (e.g., 806) (in some embodiments, reduces the visual effect of the filter, but still applies the filter), displays the image data representation without the first lighting effect applied on the display (e.g., 804) (e.g., an unchanged image with the filter not applied or partially applied), and displays a graphical indication (e.g., 822) (e.g., text, icon, image) of the first criterion (e.g., lighting condition application criterion) that is not met on the display (e.g., 804). In some embodiments, when the condition is met again, the filter is reapplied again.
[0327] In some embodiments, the image data representation is previously captured image data. (e.g., an image retrieved from a memory / storage device, not a live preview of image data captured by one or more cameras (e.g., 602 and / or 603)). In some embodiments, depth map information is saved for the stored image so that lighting effects applied to the image can be changed and / or removed after the image has been captured. Saving depth map information for the stored image enables the lighting to be modified after the image has been captured, thereby reducing the number of photos that the user must take to achieve a desired effect, reducing the number of inputs required to capture a desired photo, reducing memory requirements for storing photos, and making the user interface more efficient. Reducing the number of inputs required to capture a desired image and reducing memory requirements enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the desired result and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0328] In some embodiments, when displaying an image data representation (e.g., 806), an electronic device (e.g., 800) displays on a display (e.g., 804) a visual indication (e.g., 834) that the image data includes depth map information (e.g., optionally displaying a “portrait mode” badge to indicate the availability of depth map information).
[0329] In some embodiments, when applying the first lighting effect, the electronic device (e.g., 800) maintains at least one value of the previously applied visual effect (e.g., bokeh, lighting). Thus, light effects and bokeh effects can be implemented in one representation of image data.
[0330] In some embodiments, the previously applied visual effect is a color filter.
[0331] In some embodiments, the second input is an input received while applying the first lighting effect to the image data representation (e.g., 806), and applying the second lighting effect includes gradually transitioning between the first lighting effect and applying the second lighting effect (in some embodiments, the gradual transition includes: at the first time, initially 100% and thereafter 0%; at the second time, initially 90% and thereafter 10%; and so on). The gradual transition between lighting effects reduces distraction to the user due to filters flashing on / off, thereby allowing the user to focus on taking the desired photo, reducing the number of inputs required to capture the desired photo, and reducing memory requirements for storing photos. Reducing the number of inputs required to capture the desired image and reducing memory requirements enhance the operability of the device and make the user-device interface more efficient (e.g., by helping the user achieve the desired result and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0332] Note that the process described above with respect to method 900 (eg, 9A to 9D ) may also be applied in a similar manner to the methods described below and above. For example, methods 700, 1100, 1300, 1500, and 1700 optionally include one or more features of the various methods described above with reference to method 900. For example, elements of filter user interfaces, affordances, and controls from the various methods may be combined. For another example, the viewfinder in method 900 is similar to the viewfinder in methods 900, 1100, 1300, 1500, and 1700. For simplicity, these details are not repeated below.
[0333] In some embodiments, electronic device 1000 includes some or all of the components of device 600, such as Fig. 6AAs shown. In some embodiments, device 1000 includes multiple cameras 602 and 603 (e.g., on the rear of electronic device 1000). In some embodiments, device 1000 includes one or more features of devices 100, 300 and / or 500. In some examples, the electronic device (e.g., 1000) has multiple cameras 602 and 603 with fixed but different focal lengths. In some examples, the multiple cameras are on the front, back, or both sides of the electronic device (e.g., 1000). In some embodiments, in addition to having different fixed focal lengths, the multiple cameras also have different fixed fields of view and different fixed optical magnification characteristics. In some embodiments, a camera (e.g., 602) captures image data using multiple focal lengths. In some embodiments, a camera (e.g., 602) captures multiple focal lengths, thereby producing the same result as multiple (e.g., more than one) cameras with fixed but different focal lengths. In some examples, the electronic device (e.g., 1000) includes a depth camera, such as an infrared camera, a thermal imaging camera, or a combination thereof. In some examples, the device also includes a light emitting device (e.g., a light projector) such as an IR floodlight, a structured light projector, or a combination thereof. Optionally, the light emitting device is used to illuminate the object during image capture by the visible light camera and the depth camera (e.g., an IR camera), and information from the depth camera and the visible light camera is used to determine a depth map of different parts of the object captured by the visible light camera. In some embodiments, the lighting effects described herein are displayed using parallax information from two cameras (e.g., two visible light cameras) for backward images, and depth information from the depth camera is used in combination with image data from the visible light camera for forward images (e.g., selfie images). In some embodiments, the same user interface is used when the depth information is determined using two visible light cameras and when the depth information is determined using the depth camera, thereby providing a consistent experience for the user even when the information used to produce the lighting effect is determined using completely different technologies. In some embodiments, while displaying a camera user interface with one of the filters applied, the device detects selection of a camera switch indicator and switches from a front-facing camera (e.g., a depth camera and a visible light camera) to a rearward-facing camera (e.g., two visible light cameras spaced apart from each other) (or vice versa) while maintaining display of a user interface control to apply the filter and replacing display of the field of view of the front-facing camera with display of the field of view of the rearward-facing camera (or vice versa).
[0334] like Fig. 10A As shown, the electronic device 1000 includes a touch-sensitive display 1004 (e.g., a touch screen), and the display displays information received from a camera (e.g., 602). In some embodiments, the display is different from the touch-sensitive surface. In some examples, the camera (e.g., 602) is positioned on the front, back, or both sides of the electronic device (e.g., 1000).
[0335] like Fig. 10A As shown, electronic device 1000 displays a camera application user interface for capturing an image using a camera (e.g., 602) on display 1004. The camera application user interface also includes an image data representation (e.g., 1006) that includes a real-time preview of the field of view of the camera (e.g., 602). In some embodiments, the camera application user interface includes a camera data representation (e.g., 1006) that includes a real-time preview of the field of view of the camera (e.g., 602). Fig. 10A In an embodiment, the camera's field of view captures depth information associated with the image data in real time. Fig. 10A Further shown is a camera capturing depth levels in the field of view; these depth levels include a subject (e.g., a woman) in a foreground region (e.g., 1008) and a subject (e.g., a woman) in a background region (e.g., 1010) and trees surrounding the subject (e.g., a woman). In some embodiments, image data representation 1006 is composed of background regions (e.g., 1008 and 1006) and a foreground region. Fig. 10A As can be seen, since the image data includes depth map information, the electronic device 1000 applies a simulated depth effect (eg, bokeh) (taking the representation of the subject and the tree as an example) to the image data representation (eg, 1006) before applying any other filters.
[0336] In addition, Fig. 10A , electronic device 1000 displays filter selection interface 1012 below image data representation 1006. In some embodiments, filter selection interface overlaps with image data representation. In some embodiments, filter selection interface 1012 is positioned along an edge of image data representation 1006. In some examples, filter selection interface is displayed by electronic device 1000 above, below (e.g., 1006) image data representation. Fig. 10A as seen), left or right. Fig. 10A As seen, the filter selection interface (eg, 1012) includes one or more filter representations (eg, 1014A to 1014C) arranged in one or more rows and columns or positioned in a circular orientation (eg, a visual effect).
[0337] In some examples, the filter selection interface is depicted with an outline (e.g., a border) to distinguish the filter selection interface from the image data representation. In some embodiments, the filter selection interface (e.g., 1012) is displayed as semi-transparent, partially semi-transparent, transparent, or partially transparent, and as having no visible border. Thus, in some examples, the filter selection interface (e.g., 1012) appears to be blended (e.g., indistinguishable) with the image data representation (e.g., 1006) on the display 1004.
[0338] like Fig. 10AAs shown, filter selection interface 1012 includes one or more filter representations (e.g., 1014A, 1014B, 1014C, 1014D) corresponding to the visual effect displayed on display 1004. In some examples, the filter selection interface (e.g., 1012) optionally includes filter representations that are not displayed (e.g., they are off-screen). Filter representations that are not displayed filter representations are optionally displayed when an input (e.g., a swipe gesture) is made that would cause the filter representations to scroll through the filter selection position of the filter selection interface (e.g., 1012).
[0339] like Fig. 10B As shown, electronic device 1000 receives input (e.g., tap 1016) corresponding to the position of one of the filter representations within filter selection interface 1012. Fig. 10B In the example, the filter corresponding to the location of the tap input is “bright and warm.” In response to receiving the input, as shown in FIG. 10 , the electronic device 1000 applies the corresponding filter (eg, “bright and warm”) to the image data representation (eg, 1006 ).
[0340] like Fig. 10C As shown, using the depth map information, the electronic device 1000 applies the selected filter (e.g., 1014C) to the background area (e.g., 1010) in a different manner than the foreground area (e.g., 1008). The foreground area 1008 (including the woman in the front) is modified using a different filter value than the background area 1010 (e.g., the woman and the tree). Fig. 10C As can be seen, the electronic device 1000 displays the background area using a warmer (depicted as darker) shade than the foreground area.
[0341] like Fig. 10C As further shown, the selected filter (e.g., "Vintage and Warm") includes a hue protection algorithm. When applying the filter, the electronic device 1000 uses depth map information associated with the image to minimize color differences from a predetermined color (or a predetermined range of hues). For example, after applying the "Vintage and Warm" filter, without the hue protection algorithm, the skin hue of the subject in the foreground area (1008) would potentially deviate significantly from the original hue. To address the issue of undesired hue deviation, the electronic device 1000 applies the filter to the image representation, but limits the changes to a predetermined hue (or a predetermined range of hues). Therefore, in some examples, hues corresponding to skin tones can be maintained within a predetermined range. In contrast, hues that are not associated with the skin (e.g., blue or green) can be modified to a greater extent by the selected filter.
[0342] Fig. 10CIt is further shown that the hue protection algorithm applies the algorithm differently to hues in background areas and foreground areas. For example, a subject in a background area (e.g., 1010) appears to have similar skin tones as a subject in the foreground, and applying a "warm and vivid" filter without any color correction will potentially deviate significantly from the original skin tones (e.g., cause the image to appear distorted). To correct for the hue deviation, the electronic device 1000 applies the filter to the image representation, but limits the variation to a predetermined hue. Thus, in some examples, the hue corresponding to the skin tone may be maintained within some predetermined range. However, the acceptable range for hue protection in the background is different than the acceptable range for color protection in the foreground (e.g., less or no hue protection for hues in the background because it is not in focus). Thus, as Fig. 10C As shown, the skin color for subjects in the background area 1010 will change to a warmer tone than the skin color for subjects in the foreground area 1008.
[0343] like Fig. 10D As shown, the electronic device detects a tap 1018 at a location 1020 corresponding to the photo viewer application. In response to receiving the tap 1018, the electronic device switches to Fig.10E Image viewing mode shown.
[0344] Fig.10E A user interface displayed for a photo viewer application is shown. The photo viewer application includes thumbnails of representations of previously captured images (e.g., 1020A to 1020D), where 1020D is the last captured. An image data representation (e.g., 1006) corresponding to the last captured image (1020D) is displayed on display 1004. In some examples, the previously captured images are captured using a camera corresponding to an electronic device (e.g., 1000). In some examples, the electronic device receives the previously captured images (e.g., 1020A to 1020D) from a remote source (e.g., a server). In some examples, the previously captured images are captured using a different electronic device (e.g., not 1000). Fig.10E It is further shown that the last captured image does not have any depth map information associated with it (eg, there is no visual indicator indicating the depth map, no visual bokeh effect).
[0345] like Fig.10F As shown, the electronic device detects a tap 1022 at a position 1024 corresponding to a photo viewer editing mode (eg, 1024). In response to receiving the tap 1022, the electronic device switches to the Figure 10G Image viewing mode shown.
[0346] Figure 10G As shown above, Fig. 10A As depicted, a filter selection interface 1012 is displayed below the image data representation 1006. In some examples, the filter selection interface (e.g., 1012) includes one or more filter representations (e.g., 1014A-1014C) arranged in one or more rows and columns or positioned in a circular orientation (e.g., a visual effect).
[0347] like Fig. 10H As shown, device 1000 detects tap 1026 at the location of "bright warm color" filter representation 1014C. In response to receiving tap 1026, the electronic device applies the bright warm color filter corresponding to filter representation 1014C to the image representation and Fig.10I The results are displayed in .
[0348] like Fig.10I As shown, because the image data does not have depth information associated with it, the electronic device applies the "bright warm color" filter uniformly to the background area 1010 and the foreground area 1008. In addition, even if the image data does not have depth information associated with the image, the color tone protection algorithm still applies the algorithm to the color tones in the image (e.g., it applies the color protection algorithm uniformly to the entire image). For example, the electronic device 1000 applies the color protection algorithm to the skin tone of two subjects (e.g., in the foreground and background) using the same value. Therefore, as Fig. 10C As shown, after the electronic device applies a filter to the image data, in some embodiments, the skin tone of the subjects (e.g., foreground and background) is displayed using the same filter value, which is a different filter value from the filter value applied to the rest of the image.
[0349] like Fig.10J As shown, the electronic device 1000 displays a color wheel indicator representation 1028 overlaid on the image data representation 1006.
[0350] like Figure 10K As shown, device 1000 detects tap 1030 at the location of color wheel indicator indication 1028. In response to detecting tap 1030, as shown Fig.10L As shown, the electronic device displays an expanded color wheel above the image data representation. The color wheel allows the user to swipe to rotate the wheel and tap on any color represented in the wheel to apply the selected color filter to the image data representation.
[0351] like Figure 10M As shown, device 1000 detects a tap 1034 at a location corresponding to a representation of a color within a color wheel. In response to receiving tap 1032, electronic device 1000 applies the selected color filter to the color wheel. Fig.10NThe image data shown represents 1006. Fig.10N As shown, a visual indicator 1034 is displayed above the selected color filter to indicate the currently selected filter.
[0352] FIG. 11A to FIG. 11C 1100 is a flowchart illustrating a method for applying simulated visual effects to image data representations using an electronic device according to some embodiments. Method 1100 is performed at a device (e.g., 100, 300, 500, 1000) having one or more input devices (e.g., a touch-sensitive surface, a mouse, a keyboard) and a display (e.g., 1004) (in some embodiments, the device has a camera. In some embodiments, the device has multiple cameras, each of which has a different focal length). Some operations in method 1100 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0353] As described below, method 1100 provides an intuitive way to apply simulated visual effects to image data representations. The method reduces the cognitive burden on users to provide input corresponding to functions, thereby creating a more efficient human-computer interface. For battery-powered electronic devices, enabling users to initiate various functions faster and more efficiently saves power and increases the time interval between battery charges.
[0354] In some embodiments, at box 1102, an electronic device (e.g., 1000) simultaneously displays on a display (e.g., 1104): an image data representation (e.g., 1006) (e.g., displaying an image or photo on the device's display (e.g., 1104)) and a filter selection interface (e.g., 1012).
[0355] At box 1104, the electronic device (e.g., 1000) detects a first input (e.g., 1016) corresponding to a selection of a first image filter (e.g., 1014C) via the one or more input devices (e.g., a swipe, a tap and hold, a tap, a button press at a location corresponding to (e.g., at or near the location) the first image filter (e.g., 1014C) (e.g., a lighting filter, a vivid filter, a vivid warm filter, a vivid cool filter, a contrast filter, a contrast warm filter, a contrast cool filter, a monochrome filter, a silver tone filter, a black and white filter) of the image data representation (e.g., 1006) having a first appearance.
[0356] In some embodiments, at box 1106, the electronic device (e.g., 1000) also includes one or more cameras (e.g., 602 and / or 603), and the image data representation (e.g., 1006) is a real-time preview of the image data captured within the field of view of the one or more cameras. In some embodiments, the device includes multiple cameras with varying focal lengths. In some embodiments, the one or more cameras are used to capture image data and depth information at the electronic device (e.g., 1000). In some embodiments, the device includes multiple cameras with varying focal lengths.
[0357] In some embodiments, at box 1108, the first input is detected while the filter selection user interface (e.g., 1012) is displayed.
[0358] In some embodiments, at box 1110, the filter selection user interface (e.g., 1012) includes a plurality of filter representations (e.g., 1014A to 1014D), the plurality of filter representations including a representation of a first image filter (e.g., 1014C), wherein the first input corresponds to the selection of the representation of the first image filter (e.g., 1014C). The first filter is displayed as part of a set of one or more filter representations positioned in a row along an edge of a display (e.g., 1004). In some embodiments, the set of one or more filter representations (e.g., 1014A to 1014D) is directly adjacent to an edge of a display (e.g., 1004). In some embodiments, the filter representations (e.g., 1014A to 1014D) are adjacent to but not adjacent to an edge of a display (e.g., 1004). In some embodiments, the row is positioned along a short edge of a display (e.g., 1004). In some embodiments, the row is positioned along a long edge of a display (e.g., 1004). Displaying multiple filter representations provides visual feedback to the user that different selectable filters may be applied to the image data representation (e.g., 1006) and optionally the different filters provide different techniques for visualizing depth map information corresponding to the image data representation (e.g., 1006), thereby providing the user with additional information about the shape and positioning of objects in the image data representation (e.g., 1006). Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the intended result (by providing feedback indicating inputs that will cause the device to generate the intended result) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0359] At box 1112, in response to detecting the first input, the electronic device (e.g., 1000) applies a first image filter (e.g., 1014C) to the image data representation (e.g., 1006), which optionally includes the techniques of boxes 1114 to 1126.
[0360] At block 1114, based on determining that the image data has been associated with depth information, wherein the depth information enables foreground areas (e.g., 1008) of the image data representation (e.g., 1006) to be distinguished from background areas (e.g., 1010) of the image data representation (e.g., 1006) (e.g., a depth map), the techniques of blocks 1116 to 1120 are optionally performed. In some embodiments, the depth information is stored as a separate track of the image file. In some embodiments, the depth information is calculated using image data received from at least two cameras having different focal lengths.
[0361] At block 1116, the electronic device (e.g., 1000) applies a first image filter (e.g., 1014C) to a foreground region of the image data representation (e.g., 1006), performs a first level of adjustment to change the appearance of the foreground region (e.g., 1008) of the image data representation (e.g., 1006), wherein the first level of adjustment indicates a first degree to which the first image filter (e.g., 1014C) changes the appearance of the image data representation (e.g., 1006). In some embodiments, the filter changes one or more of: color warmth, desaturation, color gradient, light intensity, contrast, hue shift, brightness.
[0362] In some embodiments, at block 1118, applying the first image filter (e.g., 1014C) to the foreground area (e.g., 1008) further includes: based on determining that the image data corresponding to the foreground area (e.g., 1008) includes a first color value (e.g., a hue value, a tone value, one or more colors associated with skin color) and the image data corresponding to the background includes a first color value, transforming (e.g., changing, modifying, replacing) the first color value of the background area (e.g., 1010) using a first-level color value adjustment, and transforming (e.g., changing, modifying, replacing) the first color value of the foreground area (e.g., 1008) using a second-level color value adjustment different from the first-level color value adjustment. In some embodiments, the color of the skin in the background is different from the color of the skin in the foreground. In some examples, the skin color is modified to avoid significantly changing the appearance of the skin color. In some examples, the skin color is not modified at all. In some embodiments, the filter is uniformly applied to the background even if the area in the background has a hue corresponding to the skin color. Different applications of the filter include: removing constraints on the filter from the foreground or the background (e.g., removing skin protection requirements for the background). Applying different levels of color adjustment to an object of similar (or same) color based on whether the object is in the foreground or in the background provides visual feedback to the user regarding depth information corresponding to the image data (e.g., indicating that a particular object is in the foreground and objects different therefrom are in the background), and provides visual feedback to the user for distinguishing objects in the foreground from similar objects in the background. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more effective (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0363] At block 1120, the electronic device (e.g., 1000) applies the first image filter (e.g., 1014C) to the background region (e.g., 1010) of the image data representation (e.g., 1006), performs a second level of adjustment to change the appearance of the background region (e.g., 1010) of the image data representation (e.g., 1006). The second level of adjustment indicates a second degree to which the first image filter (e.g., 1014C) changes the appearance of the image data representation (e.g., 1006), wherein the first level of adjustment and the second level of adjustment are different.
[0364] At box 1122, after applying the first image filter (e.g., 1014C) to the image data representation (e.g., 1006), the electronic device (e.g., 1000) displays the corresponding image representation on the display (e.g., 1004), where the first filter is applied to the image data representation (e.g., 1006). In some embodiments, the result is displayed on the display (e.g., 1004). In some embodiments, the electronic device (e.g., 1000) displays the result in response to receiving a request to apply the first image filter (e.g., 1014C) to the corresponding image. Applying the image filter to the foreground and background for different levels of adjustment and displaying the updated representation of the image data (e.g., 1006) provides the user with visual feedback about depth information and, in particular, which objects are identified as being in the foreground and which objects are identified as being in the background. Providing improved visual feedback to the user enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the intended result (by providing feedback indicating an output that will cause the device to generate the intended result) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently. In addition, applying image filters to the foreground and background to make different levels of adjustment and displaying an updated representation of the image data (e.g., 1006) enables the electronic device to automatically apply the filter to create a more dramatic effect without distorting the skin color of the subject in the viewfinder, which the user would otherwise have to manually correct after applying the filter. Applying the filter to the relevant portions of the image and automatically avoiding distorting the skin color of the subject without requiring additional user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the intended result and reducing the amount of user input), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0365] In some embodiments, at box 1124, applying the first image filter (e.g., 1014C) to the image data representation (e.g., 1006) also includes: based on determining that the image data includes a third color value (e.g., a hue value, a tone value, one or more colors associated with skin color), transforming (e.g., changing, modifying, replacing) the third color value using a third-level color value adjustment (e.g., certain color grading for skin color protection). In some examples, the color of the skin is different from the color of the rest of the image. In some examples, the skin color is modified to avoid significantly changing the appearance of the skin color. In some examples, the skin color is not modified at all. In some examples, different applications of the filter include removing constraints on the filter from the image (e.g., removing the skin protection requirement for the background). For example, when depth information is not available, the device optionally applies a skin protection algorithm when adjusting the image color for the entire image rather than just the foreground of the image. As a result, certain features in the background of the image that are close to the skin color protected by the skin protection algorithm will not be color shifted. Transforming the color of portions of the image data using different (e.g., tertiary color adjustment) techniques provides visual feedback to the user regarding which portions of the image do not correspond to (or, alternatively, correspond to) a particular color, for example, making it easier to distinguish a person with a particular skin color compared to other objects by transforming the skin color differently than the background. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve intended results (by providing feedback indicating inputs that will cause the device to generate intended results) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently. In addition, transforming the color of portions of the image data using different (e.g., tertiary color adjustment) techniques enables more dramatic effects for filters when depth information is available, while avoiding distorting the skin color of the subject regardless of whether depth information is available, thereby avoiding the need for the user to subsequently manually correct the skin color. Applying filters to relevant portions of an image and automatically avoiding distorting the subject's skin color without additional user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve desired results and reducing the amount of user input), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0366] In some embodiments, at box 1126, in response to detecting the first input, a first image filter (e.g., 1014C) is applied to the image data representation (e.g., 1006): based on determining that the image data is not associated with its depth information, the electronic device (e.g., 1000) uniformly applies the first image filter (e.g., 1014C) to the image data representation (e.g., 1006), making a first level of adjustment (e.g., for uniformly changing the appearance of a foreground region (e.g., 1008) of the image data representation (e.g., 1006) and a background region (e.g., 1010) of the image data representation (e.g., 1006)). Uniformly applying the image filter to the image data representation (e.g., 1006) provides visual feedback to the user about the device status and, in particular, about the unavailability of depth information for the image data. Providing improved visual feedback enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the intended result (by providing feedback indicating input that will cause the device to generate the intended result) and reducing user errors when operating / interacting with the device), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently. In addition, uniformly applying the image filter to the image data representation (e.g., 1006) enables more dramatic effects for the filter when depth information is available, while avoiding distorting the skin color of the subject regardless of whether depth information is available, thereby avoiding the need for the user to subsequently manually correct the skin color. Applying the filter to the relevant portions of the image and automatically avoiding distorting the skin color of the subject without additional user input enhances the operability of the device and makes the user-device interface more efficient (e.g., by helping the user achieve the intended result and reducing the number of user inputs), which in turn reduces power usage and extends the battery life of the device by enabling the user to use the device more quickly and efficiently.
[0367] In some embodiments, before detecting the first input, the electronic device (e.g., 1000) receives (e.g., from a camera, from a memory, from a server) image data represented by an image data representation (e.g., 1006) at the electronic device (e.g., 1000). In some embodiments, the image data includes RGB and depth map values. In some embodiments, the image data and depth information are received from a source external to the electronic device (e.g., 1000) (e.g., receiving data from a server).
[0368] In some embodiments, while applying the first image filter (e.g., 1014C), the electronic device (e.g., 1000) maintains at least one value of a previously applied visual effect (e.g., bokeh, lighting). Thus, light effects and bokeh effects can be achieved in one representation (e.g., 1006) of the image data. Maintaining at least one value of a previously applied visual effect (e.g., bokeh, lighting) while applying the first image filter (e.g., 1014C) alleviates the need for bulky lenses and equipment for forming bokeh effects.
[0369] In some embodiments, an electronic device (e.g., 1000) displays a camera application user interface on a display (e.g., 1004), wherein the camera application user interface includes: a digital viewfinder (which includes a real-time or near real-time preview image), the digital viewfinder including a real-time preview of the field of view of one or more cameras; and a representation (e.g., an image, icon, text representation indicating a filter) of a color wheel user interface (e.g., 1028) at a first position overlaid on the digital viewfinder. In some embodiments, the representation of the color wheel interface is displayed in response to user input (e.g., a tap on the color wheel enable representation, or a touch and hold gesture detected on the color wheel enable representation).
[0370] In some embodiments, in response to detecting a second user input corresponding to the representation of the color wheel user interface (e.g., 1030), the electronic device (e.g., 1000) stops displaying (e.g., 1004) the representation of the color wheel user interface (e.g., 1030) and displays a color wheel user interface (e.g., 1031) on the display (e.g., 1004), wherein the color wheel user interface (e.g., 1031) displays multiple color filter representations. In some embodiments, the color wheel is displayed as an arc, a wheel, a partial ellipse / full ellipse, or a circle.
[0371] In some embodiments, in response to detecting a third user input corresponding to an area corresponding to at least one of the representations of color filters displayed within the color wheel user interface, the electronic device (e.g., 1000) applies the corresponding color filter to the image data to modify the color appearance of the image data representation (e.g., 1006) (background, foreground, or both background and foreground).
[0372] For example, methods 700, 900, 1300, 1500, and 1700 optionally include one or more features of the various methods described above with reference to method 1100. For example, elements of filter user interfaces, affordances, and controls from the various methods may be combined. For another example, the viewfinder in method 1100 is similar to the viewfinder in methods 700, 900, 1300, 1500, and 1700. For the sake of brevity, these details are not repeated below.
[0373] like Fig. 12A As shown, in some embodiments, electronic device 1200 includes a touch-sensitive display 1204 (e.g., a touch screen), and the display displays information received from a camera (e.g., 1202). In some embodiments, device 1200 includes one or more features of devices 100, 300, and / or 500. In some embodiments, the display is different from the touch-sensitive surface. In some examples, the camera (e.g., 1202) is positioned on the front, back, or both sides of the electronic device (e.g., 1200). In some embodiments, electronic device 1200 includes some or all of the components of device 600, such as Fig. 6A In some embodiments, device 1200 includes multiple cameras 602 and 603 (eg, on the back of electronic device 1200).
[0374] In some examples, an electronic device (e.g., 1200) has multiple cameras with fixed but different focal lengths. In some examples, the multiple cameras are on the front, back, or both sides of the electronic device (e.g., 1200). In some embodiments, in addition to having different fixed focal lengths, the multiple cameras also have different fixed fields of view and different fixed optical magnification characteristics. In some embodiments, a camera (e.g., 1202) captures image data using multiple focal lengths. In some embodiments, a camera (e.g., 1202) captures multiple focal lengths at a single time, thereby producing the same result as two or more cameras with fixed but different focal lengths.
[0375] Fig. 12A Further shown is an electronic device 1200 displaying a camera application user interface for capturing an image using a camera (e.g., 1202). The camera application user interface also includes an image data representation 1210 that includes a real-time preview of the camera's field of view. In some embodiments, the camera's field of view captures depth information associated with the image data in real time. Fig. 12A It is further shown that the electronic device has applied a "contrast" filter to the image data representation.
[0376] Fig. 12AFurther shown, electronic device 1200 displays filter selection interface 1206 below image representation (e.g., 1210). In some embodiments, filter selection interface (e.g., 1206) overlaps image data representation (e.g., 1210). In some embodiments, filter selection interface (e.g., 1206) is displayed along the edge of image data representation (e.g., 1210). In some examples, filter selection interface is displayed above, below (e.g., 1210) image data representation (e.g., 1210). Fig. 12A In some examples, the filter selection interface (e.g., 1206) includes one or more filter representations (e.g., 1208A to 1208G) arranged in one or more rows and columns or positioned in a circular orientation (e.g., visual effect).
[0377] like Fig. 12A As shown, a filter selection interface (e.g., 1206) is displayed and depicted with an outline (e.g., a border) to distinguish the filter selection interface (e.g., 1206) from the image data representation (e.g., 1210). In some embodiments, the filter selection interface (e.g., 1206) is displayed as semi-transparent, partially semi-transparent, transparent, or partially transparent, and in some embodiments, the filter selection interface has no visible border. Therefore, in some examples, the filter selection interface (e.g., 1206) appears to be blended with the digital viewfinder (e.g., cannot be distinguished).
[0378] like Fig. 12A As shown, the electronic device 1202 displays a filter selection interface 1206 including filter representations 1208A to 1208G corresponding to the visual effect. In some examples, the filter selection interface (e.g., 1206) optionally includes filter representations that are not displayed on the display (e.g., they are off-screen). In some embodiments, when the electronic device detects an input (e.g., a swipe gesture) that will cause the filter representation to scroll through the filter selection position (e.g., 1212) of the filter selection interface (e.g., 1006), the filter representation that is not displayed on the display is displayed.
[0379] like Fig. 12AAs further shown, the electronic device displays filter representations 1208A to 1208G as icons (e.g., thumbnails) that depict image data representation 1210 in iconic (e.g., smaller) form. For example, the image data representation (e.g., 1210) displayed in the main portion of the display is depicted within each filter representation. In addition, in some embodiments, the filter representation includes filters associated with each corresponding filter representation applied by the electronic device 1200 to each corresponding thumbnail image. Therefore, the user is able to preview the corresponding filter effect on the corresponding thumbnail image before activating the corresponding filter. In some embodiments, the name of the filter associated with the filter representation within the filter selection position (e.g., 1212) is displayed above the filter selection interface (e.g., 1212) (e.g., 1212). Fig. 10A In some embodiments, the names of the filters associated with the filter representations are displayed within the filter representations (e.g., 1208A to 1208G) that overlay the image representation. In some embodiments, the icons associated with the filter representations (e.g., 1208A to 1208G) include the corresponding names of the filters associated with the corresponding filter representations within the filter representations without the image representation.
[0380] like Fig. 12AAs further shown, the electronic device 1200 displays a filter mark 1214 (e.g., a visual indicator) above at least one filter representation (e.g., 1208B) in a plurality of filter representations to specify a recent filter. In some embodiments, the recent filter is at least one filter pre-selected by the electronic device 1200 based on the last filter used in the current selection mode (e.g., capture mode or post-capture editing mode). In some examples, the recently used filter is a filter pre-determined by the electronic device 1200 based on the last filter used without considering a specific mode (e.g., capture mode or editing mode). In some embodiments, a visual indicator may be displayed in association with the filter most frequently used by the user (e.g., the number of times used within a predetermined time period). In some embodiments, a visual indicator is displayed in association with a user-specified filter (e.g., a favorite filter). In some examples, multiple filters are designated as favorite filters, and multiple visual indicators are displayed above the corresponding filter representations. In some examples, the visual indicator is displayed by the electronic device above, below, around, or inside the filter representation. In some embodiments, for a real-time preview, the filter representation includes a real-time preview of a scaled-down camera field of view, wherein the corresponding filter is applied to the real-time preview. In some embodiments, for a previously captured image, the filter representation comprises a scaled-down copy of the image, wherein the corresponding filter is applied to the image. In some embodiments, the visual indicator is an image, text, or affordance. In some examples, the color and / or shape of the plurality of visual indicators vary based on predetermined criteria.
[0381] Fig. 12A Further shown is a representation 1216 of the characteristic intensity of the contact (e.g., touch input) detected by the device 1200. The representation 1216 includes indicators corresponding to the initial intensity thresho...
Claims
1. A method comprising: At an electronic device having a camera, one or more sensors, and a display: Displayed via the display: camera viewfinder for capturing media; and an alignment guide in the camera viewfinder, wherein the alignment guide comprises a first visual indicator and a second visual indicator; while the alignment guide is displayed and while the orientation of the focal plane of the camera is a first orientation, detecting a change in the orientation of the focal plane of the camera from the first orientation to a second orientation based on data from the one or more sensors; as well as In response to detecting the change in orientation of the focal plane of the camera from the first orientation to the second orientation: displaying the first visual indicator and the second visual indicator in an aligned arrangement based on determining that a relative difference between the second orientation of the focal plane of the camera and a predetermined orientation is within a first visual indicator alignment threshold and the relative difference is a first relative difference; displaying the first visual indicator and the second visual indicator in the aligned arrangement based on determining that the relative difference between the second orientation of the focal plane of the camera and the predetermined orientation is within the first visual indicator alignment threshold and the relative difference is a second relative difference different from the first relative difference; as well as Based on determining that the relative difference between the second orientation of the focal plane of the camera and the predetermined orientation is outside the first visual indicator alignment threshold, not displaying the first visual indicator and the second visual indicator in the aligned arrangement. 2 . The method of claim 1 , wherein the first visual indicator and the second visual indicator are displayed in an aligned arrangement proximate a center of the camera viewfinder.
3. The method of any one of claims 1 to 2, wherein the first visual indicator and the second visual indication arranged in alignment appear to be one graphical object.
4. The method according to any one of claims 1 to 2, further comprising: detecting, via the one or more sensors, a change in the orientation of the focal plane of the camera from a third orientation to a fourth orientation when the first visual indicator and the second visual indication are displayed in the aligned arrangement, wherein a relative difference between the third orientation and the predetermined orientation is within the first visual indicator alignment threshold; as well as In response to detecting the change in orientation of the focal plane of the camera from the third orientation to the fourth orientation: maintaining display of the first visual indicator and the second visual indicator in the aligned arrangement based on determining that the relative difference between the fourth orientation of the focal plane of the camera and the predetermined orientation is within a second visual indicator alignment threshold that is different than the first visual indicator alignment threshold; as well as Based on determining that the relative difference between the fourth orientation of the focal plane of the camera and the predetermined orientation is outside the second visual indicator alignment threshold, not displaying the first visual indicator and the second visual indicator in the aligned arrangement.
5. The method of any one of claims 1 to 2, wherein displaying the first visual indicator and the second visual indicator in the aligned arrangement comprises displaying corresponding animations at positions of the aligned arrangement.
6. The method of any one of claims 1 to 2, wherein the distance between the first visual indicator and the second visual indicator is dynamically based on a relative difference between the respective orientations of the focal plane and the predetermined orientation.
7. The method of any one of claims 1 to 2, wherein not displaying the first visual indicator and the second visual indicator in the aligned arrangement comprises: A display position of the first visual indicator is changed based on a relative difference between the first orientation and the second orientation.
8. The method of any one of claims 1 to 2, wherein not displaying the first visual indicator and the second visual indicator in the aligned arrangement comprises: When the orientation of the focal plane of the camera changes from the first orientation to the second orientation, a displayed position of the second visual indicator is maintained.
9. The method according to any one of claims 1 to 2, further comprising: when the orientation of the focal plane of the camera is in a fifth orientation and when the first visual indicator is displayed using a first value of a visual characteristic, detecting a change in the orientation of the focal plane of the camera from the fifth orientation to a sixth orientation; as well as In response to detecting the change in orientation of the focal plane of the camera from the fifth orientation to the sixth orientation, displaying the first visual indicator using a second value of the visual characteristic different from the first value.
10. The method of any one of claims 1 to 2, wherein the predetermined orientation is a horizontal orientation.
11. The method according to any one of claims 1 to 2, wherein the predetermined orientation is a vertical orientation.
12. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a camera, one or more sensors and a display, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 11.
13. An electronic device comprising: camera; one or more sensors; monitor; one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 11.
14. An electronic device, comprising: camera; one or more sensors; monitor; and Device for carrying out the method according to any one of claims 1 to 11.
15. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device having a camera, one or more sensors and a display, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 11.
16. A method comprising: At an electronic device having one or more input devices and a display: displaying a representation of the image data on the display, wherein the representation of the image data is a real-time preview of image data captured within a field of view of one or more cameras displayed in a digital viewfinder; detecting a first input while displaying the representation of the image data on the display; In response to detecting the first input: applying a first image filter to the representation of image data based on determining that a set of criteria is satisfied, wherein the first input was received when the set of criteria was satisfied; as well as performing, in response to determining that one or more criteria in the set of criteria are not met, the first input being received when the one or more criteria in the set of criteria were not met: displaying a first graphical indication corresponding to the one or more criteria in the set of criteria without applying the first image filter to the representation of the image data, wherein the set of criteria is required in order to apply the first image filter to the representation of the image data; detecting a change in the field of view of the one or more cameras while displaying the representation of the image data with the first image filter applied on the display; as well as In response to detecting the change in the field of view of the one or more cameras and in accordance with determining that one or more corresponding criteria in the set of criteria are not satisfied: displaying the representation of the image data without applying the first image filter to the representation of the image data; as well as A second graphical indication corresponding to the one or more respective criteria in the set of criteria is displayed.
17. The method according to claim 16, further comprising: Based on determining that the set of criteria are met, displaying the first graphical indication corresponding to the criteria is foregone.
18. A method according to any one of claims 16 to 17, wherein the set of criteria comprises criteria which are satisfied when a subject is detected within the field of view of the one or more cameras.
19. A method according to any one of claims 16 to 17, wherein the set of criteria comprises criteria which are satisfied when a subject is detected within a predetermined distance from the one or more cameras.
20. The method of any one of claims 16 to 17, wherein the set of criteria includes a criterion that is satisfied when the amount of light detected by the one or more cameras is above a threshold.
21. The method of any one of claims 16 to 17, wherein the first graphical indication corresponding to the one or more criteria in the set of criteria includes instructions for one or more actions to be taken to satisfy the one or more criteria.
22. A method according to any one of claims 16 to 17, wherein the first graphical indication corresponding to one or more criteria of the set of criteria is overlaid on the representation of image data.
23. The method according to any one of claims 16 to 17, further comprising: Based on determining that the set of criteria are satisfied, a second graphical indication is displayed indicating that the set of criteria have been satisfied.
24. The method according to any one of claims 16 to 17, further comprising: Based on determining that the one or more criteria in the set of criteria are not met, applying a temporary filter different from the first image filter to the representation of the image data.
25. The method of any one of claims 16 to 17, wherein applying the first image filter to the representation of image data comprises: applying the first image filter to a first portion of the representation of image data; as well as Applying the first image filter to a second portion of the representation of the image data is abandoned, wherein the second portion of the representation of the image data is different from the first portion of the representation of image data.
26. The method of any one of claims 16 to 17, wherein the one or more criteria in the set of criteria include a first criterion that is not met and a second criterion that is not met, and wherein the first graphical indication corresponds to the first criterion, the method further comprising: After detecting that the first criterion in the set of criteria has been met and in accordance with determining that the second criterion in the set of criteria has not been met: A second graphical indication different from the first graphical indication is displayed corresponding to the second criterion.
27. The method according to any one of claims 16 to 17, further comprising: In response to detecting the first input: applying a first visual modification to a first region of the representation of the image data based on determining that the set of criteria is satisfied; as well as Based on determining that one or more criteria in the set of criteria are not met, A second visual modification, different from the first visual modification, is applied to the first region of the representation of the image data.
28. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices and a display, the one or more programs comprising instructions for executing the method according to any one of claims 16 to 27.
29. An electronic device comprising: one or more input devices; monitor; one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 16 to 27.
30. An electronic device comprising: one or more input devices; monitor; and Device for carrying out the method according to any one of claims 16 to 27.
31. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device having one or more input devices and a display, the one or more programs comprising instructions for executing the method according to any one of claims 16 to 27.
32. A method comprising: At an electronic device having one or more cameras and a touch-sensitive display: displaying, via the touch-sensitive display, a camera application user interface of a camera application, wherein displaying the camera application user interface comprises simultaneously displaying: a digital viewfinder including a real-time preview of the field of view of the one or more cameras; and a representation of a filter selector user interface overlaid on the digital viewfinder, wherein when the filter selector user interface corresponding to the representation of the filter selector user interface is displayed, the filter selector user interface is overlaid on a corresponding portion of the camera application user interface; while simultaneously displaying the digital viewfinder and the representation of the filter selector user interface, detecting, via the touch-sensitive display, a first input beginning at a location corresponding to the respective portion of the camera application user interface; as well as In response to detecting the first input beginning at the location corresponding to the respective portion of the camera application user interface: applying a preview of a first filter to the live preview of the field of view of the one or more cameras that was not applied before the first input was detected based on determining that a first criterion is satisfied, wherein the first criterion includes requiring the filter selector user interface to be overlaid on the corresponding portion of the live preview when the first input is detected; and performing a corresponding operation in the camera application without applying the preview of the first filter to the live preview based on determining that the filter selector user interface is not overlaid on the corresponding portion of the live preview when the first input is detected, wherein the corresponding operation is an operation to change a media capture setting of the camera application; while the representation of the filter selector user interface is displayed and not overlaid on the corresponding portion of the live preview, detecting a second input beginning at a corresponding location on the touch-sensitive display corresponding to the representation of the filter selector user interface; as well as in response to detecting the second input, and when the second input is detected at the corresponding position on the touch-sensitive display that was occupied by one or more representations of filters when the representation of the filter selector user interface was displayed, causing the representation of the filter selector user interface to expand to display the filter selector user interface overlaying the corresponding portion of the live preview, wherein: The filter selector user interface includes a representation of the first filter, the representation of the first filter being displayed simultaneously with a representation of a second filter; and The representation of the first filter and the representation of the second filter are displayed outside of the respective locations on the touch-sensitive display where the second input was detected.
33. A method according to claim 32, wherein causing the filter selector user interface to expand to cover the corresponding portion of the real-time preview occurs without applying a preview of the filter to the real-time preview of the field of view of the one or more cameras that was not applied before the second input was detected.
34. A method according to any one of claims 32 to 33, wherein the representation of the filter selector user interface when in a first state is a representation of a container object, the container object having a plurality of faces enclosing an internal volume that accommodates a representation of a first three-dimensional object.
35. The method of claim 34, wherein: When the representation of the filter selector user interface is in a second state different from the first state, the representation of the container object is altered to remove shadows and / or lighting effects.
36. The method of claim 34, wherein: When the representation of the filter selector user interface is in the first state, one or more of the plurality of faces or the interior volume has a visual appearance based on a currently selected filter representative of a plurality of filters.
37. The method of claim 34, wherein: When the representation of the filter selector user interface is in a second state different from the first state, the visual appearance of the representation of the filter selector user interface is not based on a currently selected filter among a plurality of filters displayed within the interior volume.
38. A method according to any one of claims 32 to 33, wherein: When the filter selector user interface is displayed and not overlaid on the corresponding portion of the live preview, the representation of the filter selector user interface and the representations of multiple filters are positioned along a line substantially parallel to an edge of the touch-sensitive display.
39. A method according to any one of claims 32 to 33, wherein: The representation of the filter selector user interface and the representations of the plurality of filters are positioned along a curved line when the filter selector user interface is overlaid on the corresponding portion of the live preview.
40. The method of any one of claims 32 to 33, wherein the first input is a tap gesture.
41. A method according to any one of claims 32 to 33, wherein: said representation of said filter selector user interface further comprising a representation of a third filter; and The value of the visual characteristic of the representation of the first filter is different from the value of the visual characteristic of the representation of the second filter and the value of the visual characteristic of the representation of the third filter.
42. The method of claim 41, wherein: the representation of the second filter is in a first direction relative to the representation of the first filter; the representation of the third filter is in the first direction relative to the representation of the second filter; and The value of the visual characteristic gradually changes in a first direction from the representation of the first filter to the representation of the second filter and then to the representation of the third filter.
43. A method according to claim 42, wherein when the filter selector user interface is overlaid on the corresponding portion of the real-time preview, the filter selector user interface includes additional information about the first filter displayed in association with the representation of the first filter.
44. The method of any one of claims 32 to 33, wherein the first input is a tap gesture, and wherein performing the corresponding operation comprises: At the corresponding portion of the live preview where the first input is detected, a focus is selected for media capture at an object located in the field of view of the one or more cameras.
45. The method of any one of claims 32 to 33, wherein the first input is a swipe gesture, and wherein performing the corresponding operation comprises changing a camera capture mode of the electronic device.
46. The method according to any one of claims 32 to 33, further comprising: while the filter selector user interface is displayed and overlaid on the corresponding portion of the live preview, and while the first filter is being applied to the live preview of the field of view of the one or more cameras, detecting a third input beginning at a location corresponding to the filter selector user interface; and In response to detecting the third input: moving a representation of a second filter in the plurality of representations of filters to a position on the touch-sensitive display corresponding to the currently selected filter; and A preview of the second filter is applied to the real-time preview of the field of view.
47. The method of claim 46, wherein the representation of the filter selector user interface is a representation of a second three-dimensional object having a plurality of faces, the method further comprising: when the representation of the filter selector user interface is associated with a sixth representation of the representations of the plurality of filters, and when the representation of the filter selector user interface presents a first facet of the plurality of facets, detecting a sixth input beginning at a location corresponding to the filter selector user interface; and In response to detecting the sixth input: rotating the container object to present a second face of the plurality of faces that was not displayed before the sixth input was detected; switching from a state in which the first filter is the currently selected filter to a state in which a second filter different from the first filter is the currently selected filter; as well as A preview of the second filter is applied to the real-time preview of the field of view.
48. The method of claim 46, wherein applying the preview of the second filter comprises: Gradually transition between the preview with the first filter applied and the preview with the second filter applied.
49. The method of claim 46, wherein: Further in response to detecting the third input, providing a tactile output.
50. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having one or more cameras and a touch-sensitive display, the one or more programs comprising instructions for performing the method of any one of claims 32 to 49.
51. An electronic device comprising: one or more cameras; Touch-sensitive display; one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 32 to 49.
52. An electronic device comprising: one or more cameras; Touch-sensitive display; and Apparatus for carrying out the method according to any one of claims 32 to 49.
53. A computer program product comprising one or more programs configured to be executed by one or more processors of an electronic device having one or more cameras and a touch-sensitive display, the one or more programs comprising instructions for performing the method of any one of claims 32 to 49.
54. A method comprising: At an electronic device having one or more input devices and a display: displaying a representation of the image data on the display, wherein the representation of the image data is a real-time preview of image data captured within a field of view of one or more cameras displayed in a digital viewfinder; and When displaying the representation of the image data on the display: Determine based on a set of criteria being met: applying a first image filter to said representation of image data; as well as applying a first visual modification to a first region of the representation of the image data; as well as Upon determining that one or more criteria in the set of criteria are not met: abandoning applying said first image filter to said representation of image data; applying a second visual modification different from the first visual modification to the first region of the representation of the image data; as well as A first graphical indication corresponding to the one or more criteria in the set of criteria required to apply the first image filter to the representation of image data is displayed.
55. A method comprising: At an electronic device having one or more input devices and a display: displaying on the display a filter selection interface including representations of a plurality of filters in a set of filters; while simultaneously displaying a representation of the image data and the filter selection interface on the display, detecting a first input via the one or more input devices at a location corresponding to the filter selection interface while a first filter in the set of filters satisfies a selection criterion; and In response to detecting the first input: ceasing to display a first subset of representations of filters in the set of filters, wherein the first subset of representations of filters in the set of filters comprises one or more filters in a first direction relative to the representation of the first filter in the filter selection user interface and one or more filters in a second direction relative to the representation of the first filter; as well as A second subset of representations of filters in the set of filters is maintained displayed, the second subset of representations of filters comprising at least the representation of the first filter.
Citation Information
Patent Citations
Method and apparatus for integrating manual input
US20020015024A1
Acceleration-based theft detection system for portable electronic devices
US20050190059A1
Methods and apparatuses for operating a portable device based on an accelerometer
US20060017692A1
Gestures for touch sensitive input devices
US20060026521A1
Gestures for touch sensitive input devices
US20060026536A1