Direct access to wake state device functionality from low power state

By utilizing coprocessors to manage display and processor operations, the system enables direct access to device functions from low-power states, addressing power consumption and user experience issues in devices like smartwatches and smartphones.

JP7848161B2Active Publication Date: 2026-04-20APPLE INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
APPLE INC
Filing Date
2023-06-12
Publication Date
2026-04-20

AI Technical Summary

Technical Problem

Existing devices face challenges in providing direct access to wake-state functionality from a low-power state without requiring additional activation inputs, leading to counterintuitive user experiences and increased power consumption.

Method used

The system employs coprocessors to manage display and processor operations in low-power states, enabling direct access to device functions through user inputs like gestures or swipes, without additional activation steps, by pre-storing image frames and scheduled display times, and using coprocessors to manage power and user interactions.

Benefits of technology

This approach reduces power consumption and provides seamless, intuitive access to device functions from low-power states, enhancing user experience by eliminating the need for intermediate activation steps and maintaining display activity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007848161000001
    Figure 0007848161000001
  • Figure 0007848161000002
    Figure 0007848161000002
  • Figure 0007848161000003
    Figure 0007848161000003
Patent Text Reader

Abstract

To provide a device power management method, device, and non-transitory computer-readable medium, the method comprising providing direct access to wake state device functionality from a low power state.SOLUTION: A method disclosed herein comprises: displaying, during operation of a display in a low power mode, an image frame from a series of image frames generated by a processor prior to operation of the display in the low power mode; receiving a user input corresponding to a specific function; activating the specific function of an electronic device by providing an instruction to the processor of the electronic device without further user input; and replacing the image frame on the display with a user interface associated with the specific function.SELECTED DRAWING: Figure 7
Need to check novelty before this filing date? Find Prior Art

Description

Cross - reference to related applications

[0001] This application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 039,916, filed on June 16, 2020, entitled "Direct Access To Wake State Device Functionality From A Low Power State", the disclosure of which is hereby incorporated by reference in its entirety.

Technical Field

[0002] This specification generally relates to power management for a device, including providing direct access from a low - power state to wake - state device functionality.

Background Art

[0003] Devices such as smartwatches, smartphones, laptops, or wearable devices can have a wake state in which the device's display and processor are active to receive user input and provide output. To conserve power, a device can enter a sleep state when it is not used for a period of time.

Brief Description of the Drawings

[0004] Certain features of the technology of this application are shown in the appended claims. However, for purposes of explanation, some embodiments of the technology of this application are shown in the following figures.

[0005] [Figure 1] An exemplary network environment for providing direct access from an inactive state of a display and / or other low - power state of a display to device functionality according to one or more implementations is shown.

[0006] [Figure 2]This document describes exemplary devices that can implement a system for providing direct access to device functions from a low-power state of the device and / or the device's display, in one or more implementation configurations.

[0007] [Figure 3] This shows an example of a data structure for displaying an image, using one or more implementations.

[0008] [Figure 4] This describes direct access to applications associated with complications displayed within an image frame during a low-power state of the display, through one or more implementations.

[0009] [Figure 5] This demonstrates direct access to applications associated with swipe input to the display in a low-power state, through one or more implementations.

[0010] [Figure 6] This describes one or more implementations that allow direct access to the functions of a smartwatch's buttons or crown from a low-power state of the device.

[0011] [Figure 7] This diagram shows an exemplary process flow chart for direct access to device functionality from a low-power state, using one or more implementation configurations.

[0012] [Figure 8] This diagram shows an exemplary process for light sensing in a low-power device using one or more implementation configurations.

[0013] [Figure 9] This diagram shows an exemplary process flow chart for the boot process for a device, based on one or more implementations.

[0014] [Figure 10]This document shows exemplary electronic systems in which aspects of the present invention may be implemented in one or more implementation forms. [Modes for carrying out the invention]

[0015] The detailed description below is intended to describe various configurations of the present technology and is not intended to represent only one configuration in which the present technology can be carried out. The accompanying drawings are incorporated herein and constitute part of the detailed description. The detailed description includes certain details to provide a complete understanding of the present technology. However, the present technology is not limited to the certain details shown herein and can be carried out using one or more other implementations. In one or more implementations, the structure and components are shown in block diagram form to avoid obscuring the concepts of the present technology.

[0016] Devices such as smartwatches, smartphones, laptops, or wearable devices can display images, such as sequences or sets of images. For example, a clock application running on a smartwatch can display a sequence of images that reflect the movement of the clock hands to show the time. The clock application may be further configured to display one or more complications, which may be graphic user interface elements that provide specific content / information, such as weather complications (e.g., temperature), date complications (e.g., day of the week and / or date), and / or third-party data complications (e.g., notifications).

[0017] For example, a device may display the hands and / or complications in connection with an upward movement (e.g., a smartphone lift or a smartwatch wrist-raising gesture indicating the user's intention to view content on the device's screen). In response to downward movements (e.g., placing a smartphone down or moving the display away from the user's face, and / or a smartwatch wrist-raising gesture indicating the user's intention not to view content), and / or periods of inactivity (e.g., periods of no device movement and / or no user input to the device), some systems may conserve power by transitioning the device's display and / or the device's processor into a low-power state.

[0018] In one or more implementations, information being displayed can be pre-stored by using a data structure generated in advance during the device's normal power state (e.g., wake state), thereby providing continuous (or long-term) display of information while reducing power consumption during low-power states of the display and / or processor. The data structure may include an image frame and an associated scheduled (e.g., future) display time for displaying the image frame. In this way, a low-power state of the display corresponds to a low-power state of the device in which the display appears to be active. The display can operate in a low-power state while the main processor is active (for example, to reduce power consumption by the display while the main processor is running a media player application that plays music or other non-video media that does not require the use of the display), and / or in the device's sleep mode when the device's main processor is inactive.

[0019] Image frames displayed while the display is in a low power state (and, for example, while the device's main processor is in a low power state or an inactive state) may include complex images. In some devices, when the display is in an inactive state, user input to activate the display (e.g., a lift gesture, a touch input to the display, a button press, or a rotation of the watch crown), and / or user input to activate the device's main processor may be required for the user to interact (e.g., select) with the complication. In such devices, user input to activate the display and / or the main processor may also be required for subsequent user input (e.g., a touch, a swipe, a press on the display or other input, a button press, or a rotation of the watch crown) to be received to control the device.

[0020] However, even if the display is in a low power mode, displaying an image and appearing active, a separate activation input (and / or associated delay) to activate the device for subsequent access to device features may be counterintuitive or otherwise undesirable. In one or more implementations, the system of the present application provides direct access to device functions through the display or other input components even when the display is in a low power state (e.g., without an intervening activation input to the device and / or without causing any additional delay).

[0021] In one or more implementations, direct access may include direct access to an application corresponding to a complication represented within an image frame via a low-power display. In one or more implementations, direct access may include direct access to an application that is also accessible via a swipe input to the display while the device is awake, via a low-power display. Direct access may be provided when the display is in a low-power state and the device's main processor is inactive (e.g., sleep) or in a media-only low-power mode. In one or more implementations, direct access may include direct access to the wake-state function of a button on the device from an inactive state of the main processor (e.g., from the device's sleep state). In one or more implementations, direct access may include direct access to the wake-state function of a smartwatch's watch crown from an inactive state of the main processor (e.g., from the device's sleep state).

[0022] In one or more implementations, the device may include one or more coprocessors in addition to the main processor corresponding to user space (e.g., an application processor configured to run applications for the device). Such coprocessors can facilitate direct access to device functions. For example, the device may include a first coprocessor configured to receive input signals from one or more device sensors and / or components, and a second coprocessor (e.g., a display coprocessor) configured to operate the display. In one or more implementations, the display coprocessor may perform power management operations for the display in the low-power state of the display, and / or display driver operations for the display in the low-power and full-power states of the display. In one or more implementations, the display coprocessor can facilitate additional device features, such as performing display operations during the boot operation and before the device's operating system becomes operational.

[0023] In one or more implementations, the first coprocessor and / or the second coprocessor can detect user input while the device is in a low power state or a sleep state (e.g., the application processor is powered off or inactive and the first and / or second coprocessor is provided with an operating voltage reduced relative to the normal operating voltage), and / or while the display is in a low power state (e.g., displaying a series of pre-saved and / or pre-rendered image frames according to a predefined schedule determined during a previous wake state of the device). The user input can be, for example, a gesture corresponding to an operation of the device or an operation associated with viewing the device display, a touch, tap, press, or swipe of the display, a button press, or a rotation of the crown of a smartwatch. In response to the user input, the first coprocessor and / or the second coprocessor can cause the main processor to return to a full power (wake) state (including waking up the user space if the application processor is in a sleep state), and while displaying at least a portion of the image frame last displayed in the low power state, cause the main processor to (i) execute a device function corresponding to the received input and (ii) refresh at least another portion of the image data displayed on the display to correspond to the device function. In this way, the device can provide direct access to device functions from the low power state of the display and / or from the low power state of the device (e.g., using a display coprocessor and / or another coprocessor provided for controlling the low power state of the display and / or the device).

[0024] Figure 1 shows an exemplary network environment 100 for providing direct access to device functions from the inactive state and / or other low-power states of the display, in one or more implementations. However, not all of the depicted components are to be used in all implementations, and one or more implementations may include additional or different components than those shown in the figure. Variations in the configuration and type of components can be made without departing from the spirit or scope of the claims set forth herein. Additional, different, or fewer components may be provided.

[0025] The network environment 100 includes electronic devices 102, 103, and 104 (hereinafter referred to as 102-104), a network 106, and a server 108. The network 106 may, for example, connect any two or more of the electronic devices 102-104 and the server 108 in a communicative manner (directly or indirectly). In one or more implementations, the network 106 may be an interconnected network of devices that includes and / or can be communicatively connected to the Internet. For illustrative purposes, the network environment 100 is shown in Figure 1 as including electronic devices 102-104 and a single server 108. However, the network environment 100 may include any number of electronic devices and any number of servers.

[0026] One or more of the electronic devices 102-104 may be portable computing devices such as laptop computers, smartphones, smart speakers, peripheral devices (e.g., digital cameras, headphones), tablet devices, smartwatches, wearable devices such as bands, or any other suitable device including one or more wireless interfaces such as WLAN wireless communication, cellular wireless communication, Bluetooth wireless communication, Zigbee wireless communication, near-field communication (NFC) wireless communication, and / or other wireless communication. In Figure 1, for example, electronic device 102 is shown as a smartwatch, electronic device 103 is shown as a laptop computer, and electronic device 104 is shown as a smartphone. In the embodiment of Figure 1, electronic device 102 includes a button 120 and a crown 121.

[0027] Each of the electronic devices 102-104 may be configured to operate in various different power states, each power state associated with its own power consumption level. In addition, an application (e.g., a clock application) may run on the electronic devices 102-104. Furthermore, each of the electronic devices 102-104 may be configured to update / refresh the displayed information provided by the application (e.g., a clock application) and to switch between power states. In one or more implementations, switching between power states can provide periodically and / or continuously displayed images (e.g., periodic and / or continuous display of time and / or complications) and reduce power consumption (e.g., compared to running continuously in a high-power state where the user space is active for a long time). Each of the electronic devices 102-104 may be the devices described below with respect to Figure 2 and / or the electronic systems described below with respect to Figure 10, and / or include all or part thereof.

[0028] Server 108 may be the electronic system described below with respect to Figure 10, and / or may include all or part thereof. Server 108 may include one or more servers, such as a server cloud. For illustrative purposes, a single server 108 is illustrated and discussed in relation to various operations. However, these and other operations described herein may be performed by one or more servers, and each different operation may be performed by the same server or different servers. In one or more implementations, one or more of the electronic devices 102-104 may implement the system of the present invention, which is independent of the network 106 and / or independent of server 108.

[0029] Figure 2 shows an exemplary device that can implement a system for providing direct access to device functions from a low-power state of the device and / or the device's display in one or more implementation configurations. For illustrative purposes, Figure 2 will be described herein primarily with reference to electronic device 102. However, Figure 2 may correspond to any of the electronic devices 102-104 in Figure 1. However, not all of the depicted components are to be used in all implementation configurations, and one or more implementation configurations may include additional or different components than those shown in the figure. Variations in the configuration and type of components can be made without departing from the spirit or scope of the claims set forth herein. Additional, different, or fewer components may be provided.

[0030] The electronic device 102 may include a communication interface 202, a processor 204 (having an optional memory management unit (MMU) 206 shown in dashed lines), memory 208 (having an optional random access memory (RAM) 210 and / or an optional non-volatile random access memory (NVRAM) 212), one or more sensors 214 (e.g., motion sensors such as accelerometers, gyroscopes or inertial measurement units (IMUs), global positioning system (GPS) sensors, near-field communication (NFC) sensors, optical sensors such as ambient light sensors, and / or other sensors), a coprocessor 240 (having an optional memory management unit (MMU) 242 shown in dashed lines), a display circuit 218, and / or a display 216.

[0031] As illustrated, the display circuit 218 may include circuits such as a graphics processing unit (GPU) 247 for processing graphic data generated by the processor 204 (e.g., a main processor or an application processor), and circuits such as a timing controller 246 for operating the pixels of the display 216 based on information provided by the processor 204 and / or the GPU 247, and / or other display circuits not explicitly shown. As illustrated, the display circuit 218 may also include a coprocessor 241 (having an optional memory management unit (MMU) 244, indicated by a dashed line). The display 216 may be a touch-sensitive display including an array of touch-sensitive electrodes and / or pressure sensors configured to generate touch input signals based on the position, movement, pressure, direction, and / or other characteristics of touch input to the display 216 (e.g., using a touch input device such as a user's finger or a stylus device).

[0032] In one or more implementations, the processor 204 can generate or receive data to be displayed on the display 216. This display data may be provided to a display circuit 218 (e.g., a coprocessor 241). The coprocessor 241 can process, scale, modify, and / or otherwise adjust the data for the display (e.g., using a timing controller 246 and / or other display circuits such as column drivers and row drivers located on the display 216 (e.g., on a display panel having display pixels that generate display light for the display)) to generate an image frame for the display. In one or more implementations, the coprocessor 241 can provide the processed, scaled, modified, and / or adjusted data to the GPU 247 to generate an image frame for the display.

[0033] The processor 204 may include suitable logic, circuitry, and / or code that enables data processing and / or control of the operation of the electronic device 102. In this regard, the processor 204 may be capable of providing control signals to various other components of the electronic device 102. The processor 204 may also control data transfer between various parts of the electronic device 102. In addition, the processor 204 may enable the implementation of an operating system or otherwise execute code to manage the operation of the electronic device 102. For example, the processor 204 may be configured to handle operations associated with the operating system of the electronic device 102, as well as for applications running on the electronic device 102, including handling user interaction with applications (e.g., user input to and / or user output from applications).

[0034] Memory 208 may include appropriate logic, circuitry, and / or code that enables the storage of various types of information, such as received data, generated data, code, and / or configuration information. Memory 208 may include, for example, RAM 210, NVRAM 212, read-only memory (ROM), flash, and / or magnetic storage devices.

[0035] In one or more implementations, memory 208 may store code corresponding to one or more applications that can be executed by processor 204 (e.g., a clock application, a calendar application, a control center application, a media player application, a messaging application, or any application installed on the device). For example, one or more applications may be implemented as part of the operating system of the electronic device 102. In addition, one or more applications may store content (e.g., image data) in memory 208 (e.g., in a data structure such as a queue), and this content may be accessed and displayed on the display of the electronic device 102.

[0036] RAM210 may correspond to volatile memory, such as memory that loses its information when the power to the electronic device 102 is turned off. Figure 2 shows the use of RAM as volatile memory, but the electronic device 102 may use other types of volatile memory, including but not limited to DRAM, SRAM, T-RAM, Z-RAM, and TTRAM, instead of or as a complement to RAM210.

[0037] Furthermore, NVRAM212 may correspond to non-volatile memory, such as memory configured to retain its information when the power to the electronic device 102 is turned off. While Figure 1 shows the use of NVRAM as non-volatile memory, the electronic device 102 may use other types of non-volatile memory, including but not limited to flash, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, racetrack memory, FJG, and millipede memory, instead of or to complement NVRAM212.

[0038] For example, the processor 204 can provide a mapping of content (e.g., image data) between virtual memory and physical memory (e.g., RAM 210 and / or NVRAM 212). Therefore, the MMU 206 of the processor 204 may include suitable logic, circuitry, and / or code that enables mapping logical addresses (e.g., in virtual memory) to physical addresses (e.g., in RAM 210 and / or NVRAM 212).

[0039] Processor 204, coprocessor 240, and coprocessor 241 may share access to common memory such as memory 208 (including, for example, RAM 210). In one or more implementations, MMUs 206, 242, and 244 each provide processor 204, coprocessor 240, and coprocessor 241 with a memory map between the logical addresses used by each processor / coprocessor and the physical addresses (for example, in RAM 210 and / or NVRAM 212).

[0040] For example, memory 208 may store image data such as a logo image corresponding to the manufacturer of the electronic device 102, or a series of images to be displayed during the low-power state of the display 216. The MMU 244 can be positioned (e.g., by the processor 204 and / or the device's boot loader) to map the logical addresses of the image data to physical addresses (e.g., in RAM 210 and / or NVRAM 212). In one or more implementations, when the electronic device 102 is started up, the coprocessor 241 can operate the display 216 to display the logo image while the processor 204 is launching the operating system for the electronic device 102. In this way, the electronic device 102 can immediately display the logo image (e.g., to provide graphic data to indicate to the user that the device is powered on) before the operating system of the electronic device 102 becomes operational.

[0041] Processor 204 may be the main processor for electronic device 102, managing the memory map corresponding to MMU 206 for its own use, and also managing the memory maps corresponding to MMU 242 and / or 244. In one or more implementations, coprocessors 240 and 241 have read access to the memory maps corresponding to MMU 242 and MMU 244, respectively, but do not have write access to the memory maps corresponding to MMU 242 or MMU 244.

[0042] The sensor(s) 214 may include one or more motion sensors(s), such as accelerometers, gyroscopes, and optical sensors. These sensors(s) 214 may be used, for example, to detect the movement, direction, and orientation of the electronic device 102, or to facilitate functions related to the movement and orientation of the electronic device 102. In one or more implementations, the outputs from the motion sensors(s) may be used to determine different operating states associated with the operation of the electronic device 102 (e.g., lifting gestures such as a wrist-raising gesture, and / or lowering gestures such as a wrist-lowering gesture).

[0043] In one or more implementations, the sensor(s) 214 may include an ambient light sensor. For example, the ambient light sensor may include a photodetector configured to detect the amount and / or color of ambient light. While the electronic device 102 is awake, the processor 204 and / or coprocessor 241 may adjust the display brightness and / or color of the display image for the display 216 based on the detected amount and / or color of ambient light. While the display 216 is in a low-power state (for example, a series of pre-generated images indicating the time are displayed by the display 216 to reduce the power consumed by the display) and / or while the processor 204 is inactive, the coprocessor 240 may receive ambient light signals from the sensor(s) 214.

[0044] In one or more implementations, while processor 204 is inactive, coprocessor 240 can determine whether the ambient light signal exceeds an upper threshold or falls below a lower threshold in order to cause a change in the brightness and / or color of the image displayed by display 216 in a low-power state of the display. Depending on the determination that the ambient light signal exceeds an upper threshold or falls below a lower threshold in order to cause a change in the brightness and / or color of the image displayed by display 216, coprocessor 240 can transfer the ambient light signal and / or ambient light information based on the ambient light signal to coprocessor 241 of display circuit 218.

[0045] In response to receiving an ambient light signal from the coprocessor 240 during the low-power state of the display, the coprocessor 241 can generate and / or apply one or more brightness and / or color changes to the display image in the low-power state.

[0046] In one or more implementations, display pixels(s) may be positioned above the ambient light sensor. These pixels may generate light that could interfere with the ambient light sensor's ability to detect ambient light. Therefore, processor 204 and / or coprocessor 241 may be configured to determine which pixels are in positions that could interfere with the ambient light sensor, and / or adjust the output of the ambient light sensor accordingly. For example, the adjustment of the ambient light sensor output may be based on weighted values ​​assigned to the pixels(s) based on their respective positions and / or optical characteristics (e.g., brightness, color, etc.).

[0047] In one or more implementations, the processor 204 may notify the coprocessor 240 and / or coprocessor 241 when the electronic device 102 is about to enter a low-power state (for example, when the processor 204 is about to be deactivated). In one or more implementations, the processor 204 of the electronic device 102 may enter a low-power or inactive state without notifying the coprocessor 240 and / or coprocessor 241. In these implementations, the coprocessor 240 and / or coprocessor 241 can determine that the device has entered a low-power state (for example, that the device is in sleep mode) (for example, by detecting the reduced operating voltage provided to them). In response to the notification or determination that the device has entered a low-power state, the coprocessor 241 can operate the display 216 according to the low-power state. For example, in a reduced power state of the electronic device 102 (corresponding to a low-power state of the display 216 and / or an inactive state of the processor 204), the coprocessor 241 may operate the display 216 to display a pre-generated series of images corresponding to a future time, while preventing the display 216 from operating at a certain brightness, or to display images that may violate the power constraints corresponding to the low-power mode. Operating the display according to the low-power state may include limiting the average pixel luminance, turning off the scaling circuit, and / or pinning the display refresh rate to a rate lower than the normal refresh rate (e.g., 60Hz).

[0048] The communication interface 202 may include suitable logic, circuitry, and / or code that enables wired or wireless communication between any of the electronic devices 102-104 and the server 108 via the network 106. The communication interface 202 may include, for example, one or more of the following communication interfaces: a Bluetooth communication interface, a cellular interface, an NFC interface, a Zigbee communication interface, a WLAN communication interface, a USB communication interface, or any other communication interface in general.

[0049] In one or more implementations, one or more of the communication interface 202, processor 204, MMU 206, memory 208, RAM 210, NVRAM 212, sensor(s) 214, coprocessor 240, MMU 242, display 216, display circuit 218, and / or one or more parts thereof may be implemented in software (e.g., subroutines and code), in hardware (e.g., application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, or any other suitable devices), and / or in combination of both.

[0050] Figure 3 shows an example of a data structure 302 for displaying an image in one or more implementations. However, not all of the depicted components are used in all implementations, and one or more implementations may include additional or different components than those shown in the figure. Variations in the configuration and type of components can be made without departing from the spirit or scope of the claims set forth herein. Additional, different, or fewer components may be provided.

[0051] In one or more implementations, the data structure 302 may store pairs of image frames (one or more) and scheduled display times. An electronic device 102 (e.g., a coprocessor 241) may be configured to access the data structure 302 to display the image frames (one or more) at their respective scheduled display times. In one or more implementations, the data structure 302 is implemented as a queue.

[0052] In one or more implementations, the data structure 302 may be generated during the wake state of the electronic device 102 (for example, while the processor 204 is active). During a subsequent low-power state (for example, while the processor 204 is in a low-power or inactive state), the coprocessor 241 may retrieve an image frame from the data structure 302 based on a scheduled display time. To update the display 216 during the low-power state of the display and / or the low-power or inactive state of the processor 204, the coprocessor 241 may retrieve the updated image from the frame buffer and display the retrieved image data on the display 216.

[0053] In the embodiment of Figure 3, the data structure 302 includes a first queue 304 and a second queue 306. The second queue 306 may be an optional queue, as indicated by the dashed line. The first queue 304 includes image frames (identified, for example, as 0-4, 5-9, 10-14) and scheduled display times (for example, 9:00, 9:01, 9:02). In one or more implementations, the first queue 304 (for example, and / or the second queue 306) stores identifiers (for example, memory addresses) corresponding to the image frames. In the embodiment of Figure 3, the image frames include first image frames 0-4 scheduled to be displayed at time 9:00, second image frames 5-9 scheduled to be displayed at time 9:01, third image frames 10-14 scheduled to be displayed at time 9:02, and so on. The embodiment of Figure 3 shows five image frames per display time. However, the number of image frames per time may be a value other than 5 (for example, one or more image frames per display time). In the embodiment of Figure 3, a first image frame 308 is shown (for example, as displayed by the display 216 in Figure 2), corresponding to frame 0 of the first queue 304 (for example, corresponding to an image displaying the time 9:00). For example, image frame 308 may correspond to an image frame for display on a smartphone or smartwatch that includes a graphic element for displaying the current time (for example, as indicated by the clock hands in the example of Figure 3). In addition, image frame 308 may include one or more complications (for example, functions other than displaying the time), including but not limited to weather (e.g., a temperature of "77°"), date (e.g., the day of the week of "Wednesday 27"), third-party data (e.g., "XYZ update"), etc.

[0054] In one or more implementations, the electronic device 102 may be configured to receive data for complications corresponding to a third-party application while the device is awake. For example, a third-party application may provide data / image frames and / or display times to add to the data structure 302. The electronic device 102 may be configured to receive such data from a corresponding third-party service (e.g., data is retrieved locally from memory 208 and / or remotely from server 108) via an appropriate protocol and / or interface, and to update the data structure 302 as appropriate while the device is awake (e.g., via a first queue 304 and / or a second queue 306).

[0055] In one or more implementations, the scheduled display times (e.g., 9:00, 9:01, 9:02, etc.) may coincide with updates to one or more display fields during a low-power state of the display. For example, data structure 302 may include image frames 0-4 for time 9:00 and image frames 5-9 for updating the clock hands (e.g., minute hand) at time 9:01. The image frames may further indicate any future updates to one or more complications (e.g., weather, date, and / or third-party data). However, image frames 5-9 may be generated for time 9:01, for example, before the current time reaches 9:01.

[0056] When the time transitions from 9:00 to 9:01 during a low-power state of the display, image frames 5-9 can provide an animation effect for the updated image. For example, when the time transitions from 9:00 to 9:01 during a low-power state of the display, image frames 5-9 can provide a more smoothly perceived movement of the clock hands (e.g., minute hands).

[0057] In one or more implementations, the electronic device 102 can reduce the amount of redundant image data stored in physical memory. For example, the data structure 302 can store differences between image frames (e.g., corresponding to updates) in physical memory, and can use virtual memory to store image data that does not change between image frames.

[0058] As described above with respect to Figure 2, the electronic device 102 can implement virtual memory and physical memory. In one or more implementations, virtual memory may be a logical component accessible by the kernel of the operating system running on the electronic device 102. Generally, virtual memory can simulate main memory (e.g., RAM 210) by using non-volatile memory (e.g., NVRAM 212) as temporary storage. MMU 206, MMU 242, and / or MMU 244 can map logical addresses (e.g., in virtual memory) to physical addresses (e.g., in RAM 210 and / or NVRAM 212).

[0059] In one or more implementations, the electronic device 102 (e.g., the operating system kernel) can remap virtual memory multiple times to the same portion of physical memory. For example, if a portion of an image frame does not change over multiple time intervals (e.g., display times 9:00, 9:01, 9:02), then the same portion(s) of physical memory where the portion of the image frame is stored may be referenced by multiple different logical addresses. In other words, different logical addresses can be mapped to the same physical address for the unchanging portion of the image frame (e.g., using MMU206, MMU242, and / or MMU244). Therefore, the electronic device 102 can use remapping to virtual memory to reduce the amount of image data stored in physical memory at any given time.

[0060] Furthermore, in one or more implementations, the electronic device 102 may use an image composition tool (e.g., a glyph-based tool) which may be executed by the coprocessor 241 to reduce the amount of image data stored in the data structure 302. The image composition tool may be configured to generate an image (e.g., a clock face, a watch complication) based on one or more parameters that describe the image. For example, with respect to an image frame 308, the parameters may represent the time (e.g., the position of the clock hands), a temperature value, a day of the week / day value, a third-party update value, and / or other parameters relating to display characteristics (e.g., color, position, size, etc.).

[0061] The image composition tool may use these parameters to generate images at each time (e.g., 9:00, 9:01, 9:02, etc.). Image frames in the first queue 304 (e.g., 0-4, 5-9, 10-14) may store these parameters in place of, or as a complement to, actual image data (e.g., pixels). In one or more implementations, the kernel of the operating system and / or hardware component of the electronic device 102 (e.g., the display circuit 218) can generate images (e.g., including image frames 308) based on the image composition tool. In one or more implementations, the coprocessor 241 may be configured to generate images during a low-power state of the display based on the image composition tool, for example, without requiring the processor 204 to be powered on and / or to be in high-power mode.

[0062] With respect to a second queue 306 (e.g., an optional queue), the electronic device 102 may be configured to construct an image using two or more image layers. Each image layer can be displayed based on its respective memory buffer (e.g., using an image frame and display time). For example, the electronic device 102 (e.g., a processor 204) may be configured to generate a first image layer of image data based on a first memory buffer (e.g., a first queue 304) and generate a second image layer of image data based on a second memory buffer (e.g., a second queue 306) during the device's wake state. In one or more implementations, the electronic device 102 (e.g., a coprocessor 241) may be configured to merge the first and second image layers of image data into a single image for the display (e.g., corresponding to an image frame 308) during a low-power state of the display. Thus, the combined result does not have to be stored in memory 208 and may simply be provided for display on the display 216. For example, the first queue 304 may include image data of the overall appearance of the watch (excluding, for example, the hands), as well as various complications (e.g., weather, day of the week / day, and third-party updates). The second queue 306 may include image data limited to the hands of the watch. For example, based on different environmental settings and / or signals (e.g., based on ambient light signals provided from coprocessor 240 to coprocessor 241 during a low-power state of the display), the brightness of the hands of the watch against the background (e.g., the background corresponds to the parts of the watch and watch complications other than the hands) can be changed without waking processor 204 (e.g., using coprocessor 241) (e.g., the hands of the watch become brighter in a well-lit environment, and the background becomes brighter in a poorly lit environment).

[0063] In one or more implementations, one or more components of the data structure 302, the first queue 304 and / or the second queue 306 are implemented as software instructions stored in memory 208, and when the instructions are executed by the processor 204, they cause the coprocessor 241 to perform a specific function (one or more).

[0064] In one or more implementations, one or more components of the data structure 302, the first queue 304 and / or the second queue 306 may be implemented in software (e.g., subroutines and code), hardware (e.g., application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), controllers, state machines, gate logic, discrete hardware components, or any other suitable devices), and / or a combination of both. In one or more implementations, some or all of the illustrated components may share hardware and / or circuitry, and / or one or more of the illustrated components may utilize dedicated hardware and / or circuitry. Further features and functions of these modules in various aspects of the present technology are described in this disclosure.

[0065] In one or more implementations, during low-power states of the electronic device 102 (for example, while an image frame 308 is being displayed using the coprocessor 241, and / or while the processor 204 is in a low-power or inactive state), the coprocessor 240 and / or coprocessor 241 may be configured to detect user interaction with the electronic device 102. When user input is detected by the coprocessor 240 and / or coprocessor 241 while the processor 204 is in a low-power or inactive state, the coprocessor 240 and / or coprocessor 241 can provide direct access to the function corresponding to that user input (without requiring, for example, a wake-up input and subsequent, separate function selection inputs).

[0066] For example, in Figure 4, while the electronic device 102 is in a low-power state (e.g., while the processor 204 is inactive and / or while the coprocessor 241 operates the display 216 to display an image from a pre-generated data structure as described above), the coprocessor 240 and / or coprocessor 241 detect a tap input (e.g., by the user's finger 402, or a stylus or other input device) at the position 400 of the displayed calendar complication. Even without the ability to determine the position of the tap input (e.g., provided by the coprocessor 240 and / or coprocessor 241), a sleeping device or a device with a low-power display can respond to any user input as a command to wake up the processor 204 by brightening the display of the image frame 308 to indicate that the device has woken up and prepare to detect and receive subsequent input for controlling the device. However, the coprocessor 240 and / or coprocessor 241 can facilitate direct access to the device's functions corresponding to the watch complication's position 400 without further input from the user (for example, without subsequent input following the unlock event associated with the first tap during a low-power or sleep state).

[0067] For example, as shown in Figure 4, in response to detection of a user tap at position 400 (e.g., by coprocessor 240 and / or coprocessor 241), coprocessor 240 and / or coprocessor 241 can generate and provide a message to processor 204 (e.g., without further user input associated with the calendar complication, without intervening touch release detection between the user tapping the user input and making further user input, and without intervening a brightness increase for image frame 308 to indicate wake-up) to wake up and immediately activate the calendar application 404. In this way, the electronic device 102 can provide a "snappier" response to user input received during a low-power state because it does not appear that the device has woken up and is responding to the user, but instead appears to respond directly as if it had been awake all along. In this way, direct access from the low-power state of the display and / or the inactive state of processor 204 can be provided to the application corresponding to the complication represented by the image frame displayed during the low-power / inactive state. In contrast, during a low-power state of the display, a tap at another location on the display of the electronic device 102 (for example, away from any displayed complications or other functional locations) (for example, detected by coprocessor 240 and / or coprocessor 241) can cause the processor 204 to wake up without activating any other functions of the device (for example, until subsequent user input is received during the resulting wake state).

[0068] The electronic device 102 also provides direct access to applications from the low-power state of the display and / or the inactive state of the processor 204, and can be accessed by making a swipe gesture input to the display while the device is awake. For example, in one or more implementations, a new function or application may be accessible by swiping across the surface of the electronic device's display, depending on the direction of the swipe. For example, in some implementations, swiping up from the bottom of the display or swiping down from the top of the display can activate a control center application, a notification center application, or an unlock application, and the corresponding new user interface appears to slide across the image frame 308 in the direction of the swipe. In another embodiment, swiping from the left edge to the right of the display or swiping from the right edge to the left of the display can display a new user interface in the clock application. Without the ability (e.g., provided by coprocessors 240 and / or 241) to determine the position, direction, and / or type of a swipe input, a sleeping device can respond to any user input (e.g., including a swipe) as a common instruction to wake up processor 204 by illuminating the display of image frame 308 to indicate the device has woken up and prepare to detect and receive subsequent inputs for controlling the device (e.g., subsequent inputs following a release event associated with an initial swipe during sleep). However, coprocessors 240 and / or 241 can facilitate direct access to device functions corresponding to the position and direction of a received swipe during a low-power state of the device (e.g., while processor 204 is disabled and image frame 308 is displayed).

[0069] Figure 5 shows an embodiment in which a swipe input to the left (indicated by arrow 502) (e.g., by a finger 402 or another input device) is received to bring up a new user interface 500 for the clock application across the displayed image frame 308. In one or more implementations, coprocessors 240 and / or 241 can provide a message to processor 204 (e.g., in response to a swipe input received in a low-power or inactive state) to wake up the clock application and immediately activate it (e.g., without further user input associated with the clock application, without intervening touch release detection between the user swipe and further user input, and without intervening a brightness increase for image frame 308 to indicate wake-up).

[0070] For example, image frame 308 may remain unchanged while the new user interface 500 is displayed across image frame 308 and while the processor 204 is powered on and activating the clock application. In this way, the electronic device 102 can provide the new user interface 500 to be active for the user to interact with the active clock application, by the time the new user interface 500 is fully displayed. In the embodiment of Figure 5, the new user interface 500 includes a digital time display without any other complications. However, this is merely illustrative, and the new user interface may include complications and / or other features as described herein. Although the embodiment of Figure 5 is described in relation to end-to-end swiping and the clock application, it should be understood that direct access can be provided from a low-power state of the device to a control center application, a notification application, an unlock application, and / or any other application or function associated with swipe input during the device's wake state.

[0071] Figure 6 shows an embodiment in which the electronic device 102 includes a button 120 and a crown 121. While the electronic device 102 is awake, pressing the button 120 (for example, indicated by arrow 604) can display the user interface of the Contacts application, the Recent Activities user interface, or another user interface. Without the ability to identify a button press (for example, provided by coprocessor 240 and / or coprocessor 241), a sleeping device (for example, a low-power electronic device 102 in which the processor 204 and display 216 are in a low-power state) can respond to a button press as a common command to wake up the processor 204 by brightening the display of image frame 308 to indicate that the device has woken up and prepare to detect and receive subsequent input for controlling the device (for example, subsequent button presses or other subsequent user input). However, coprocessors 240 and / or 241 can facilitate direct access to the function of button 120 in response to button presses received during low-power states of the device (for example, while processor 204 is inactive and / or image frame 308 is displayed).

[0072] In one or more implementations, the coprocessor 240 and / or coprocessor 241 can provide a message to the processor 204 (for example, without further pressing of button 120 and without intervening with an increase in brightness of image frame 308 to indicate wake-up) to wake up and immediately activate the application and / or other functions associated with button 120. For example, image frame 308 may remain unchanged until a user interface corresponding to the button press is provided (for example by the processor 204) and replaces image frame 308. In this way, in one or more implementations, the wake-up function of the button on the device can also be accessed directly from the inactive state of the device.

[0073] In one or more implementations, a sleep device (e.g., an electronic device 102 in a low-power state where processor 204 is inactive) can respond to the rotation of a crown, such as the crown 121, by brightening or dimming the displayed image frame 308. In one or more implementations, coprocessors 240 and / or 241 can determine whether the rotation of the crown 121 (e.g., indicated by arrow 606) during the low-power state of the device (e.g., a threshold for rotations of 15, 30, 60, or 90 degrees) exceeds a threshold (e.g., a threshold for rotations of 15, 30, 60, or 90 degrees) while processor 204 is inactive and the image frame 308 is displayed. In response to determining that the rotation exceeds a threshold, coprocessor 240 and / or coprocessor 241 provide a message to processor 204 that a function corresponding to the crown (e.g., control of a part of the displayed user interface, or control of another application aspect, such as control of the playback volume of a media player application) can be executed without additionally rotating the crown 121 separately during and after wake-up, and without intervening in an increase in the brightness of image frame 308 to indicate wake-up. In this way, in one or more implementations, direct access may include direct access to the smartwatch's watch crown wake-up function from an inactive state.

[0074] Figure 7 shows a flowchart illustrating an exemplary process for direct access to device functions for a device where the display is in a low-power state, in one or more implementation configurations. For illustrative purposes, process 700 will be described herein primarily with reference to electronic device 102 in Figure 1. However, process 700 is not limited to electronic device 102 in Figure 1, and one or more blocks (or operations) of process 700 may be performed by one or more other components and other suitable devices (e.g., any of electronic devices 102-104). Furthermore, for illustrative purposes, blocks of process 700 are described herein as occurring sequentially or linearly. However, multiple blocks of process 700 may occur in parallel. In addition, blocks of process 700 do not need to be executed in the illustrated order, and / or one or more blocks of process 700 may not be executed and / or may be replaced by other operations.

[0075] In block 702, the display (e.g., display 216) of an electronic device (e.g., electronic device 102) displays an image frame (e.g., image frame 308) from a series of image frames generated before the operation of the display in low-power mode, while the display is operating in low-power mode. Here, the image frame includes an image of a clock displaying the time corresponding to the current time, and the image frame was generated and stored before the current time. For example, as described above in relation to Figure 3, image frame 308 displays the time 9:00, but it was generated at a time before 9:00 (e.g., by processor 204) for future display when the current time becomes 9:00.

[0076] In one or more implementations, displaying an image frame may involve displaying the image frame using a coprocessor of the electronic device (e.g., coprocessor 241) separate from the processor of the electronic device (e.g., processor 204). The processor may generate a set of image frames before the coprocessor operates the display in low-power mode. The processor may also store the set of image frames in the memory of the electronic device (e.g., memory 208). The processor and coprocessor may be configured to share access to memory. While the display is operating in low-power mode, the coprocessor can access the set of image frames using a memory map for the coprocessor (e.g., MMU 244) prepared or located by the processor.

[0077] In one or more implementations, the coprocessor may detect a low-power state of the processor before displaying an image frame using the coprocessor. The coprocessor may also manage the power consumption of the display during the processor's low-power state. Managing power consumption by the display may include controlling the display's frame rate, voltage, and / or luminance while displaying an image frame, based on the power budget for the display operating in the display's low-power mode. For example, managing display power consumption may include using the coprocessor to deactivate the display's self-refresh function and pinning the refresh rate to a low-power refresh rate lower than the normal refresh rate. For example, a low-power refresh rate may be less than 60Hz, less than 30Hz, less than 10Hz, less than 2Hz, or less than 1Hz.

[0078] In block 704, the electronic device receives user input corresponding to a specific function of the electronic device while displaying an image frame during operation of the display in low-power mode.

[0079] In block 706, a specific function of the electronic device is activated in response to and without further user input. In one or more implementations, the image frame includes an indicator of the current time and a complication (e.g., a calendar complication, a weather complication, a third-party complication, or another complication associated with the device's application or function), the specific function includes the application associated with the complication, and the user input includes a touch input at the location of the complication in the image frame (e.g., a tap on the touch-sensitive portion of the display on which the complication is displayed). Activating a specific function of the electronic device may include providing a command to the electronic device's processor (e.g., a main processor or application processor such as processor 204) to activate the application (e.g., wake it up) while the image frame is being displayed. Providing a command to the electronic device's processor to activate the application while the image frame is being displayed may include continuing to display the image frame without adjusting the brightness of the display during application activation.

[0080] In one or more implementations, user input may include swiping on the display, and certain functions may include applications associated with swiping (for example, as described above in relation to Figure 5). Activating a particular function of an electronic device may include providing instructions to the electronic device's processor to activate an application (for example, by waking it up) while displaying an image frame.

[0081] In one or more implementations, displaying an image frame during display operation in low-power mode may include displaying an image frame while the processor of an electronic device (e.g., processor 204) is in low-power mode, running a media player application (e.g., media player application only) in low-power mode. In one or more implementations, displaying an image frame during display operation in low-power mode may include displaying it while the processor of the electronic device is inactive (e.g., while the electronic device is in sleep mode), and the processor is configured to run an application for the electronic device (e.g., when the processor is active in the device's wake state). In one or more implementations, user input may include pressing a button on the electronic device (e.g., button 120), and activating a particular function may include waking up the electronic device and (e.g., without any further subsequent button presses) providing instructions to the processor of the electronic device to execute the function corresponding to the button (e.g., as described above in relation to Figure 6). In one or more implementations, user input may include the rotation of the smartwatch's crown (e.g., crown 121), and activating a particular function may include providing instructions to the electronic device's processor to wake up and (e.g., as described above in relation to Figure 6) perform a function corresponding to the rotation of the crown, without further user input to the electronic device.

[0082] In block 708, an image frame on the display is replaced with a user interface associated with a particular function when that function is activated. A particular function may be activated when the device's main processor is active and performing that function. In one or more implementations, replacing an image frame with a user interface may include using the electronic device's processor to display the application's user interface (for example, as shown in the embodiment of Figure 4). In one or more implementations, replacing an image frame on the display with a user interface associated with a particular function when that function is activated may include progressively displaying an increasing portion of the user interface in the direction of a swipe (for example, as shown in the embodiment of Figure 5) while displaying a portion of the image frame without correcting the brightness of that portion of the image frame.

[0083] Figure 8 shows a flowchart illustrating an exemplary process for light sensing by a low-power device in one or more implementation configurations. For illustrative purposes, process 800 is described herein primarily with reference to electronic device 102 in Figure 1. However, process 800 is not limited to electronic device 102 in Figure 1, and one or more blocks (or operations) of process 800 may be performed by one or more other components and other suitable devices (e.g., any of electronic devices 102-104). Furthermore, for illustrative purposes, the blocks of process 800 are described herein as occurring sequentially or linearly. However, multiple blocks of process 800 may occur in parallel. In addition, the blocks of process 800 do not need to be executed in the illustrated order, and / or one or more blocks of process 800 may not be executed and / or may be replaced by other operations.

[0084] In block 802, the first coprocessor (e.g., coprocessor 240) of the device (e.g., electronic device 102) may receive signals from the device's optical sensors (e.g., the ambient light sensor of sensor(s) 214).

[0085] In block 804, a second coprocessor (e.g., coprocessor 241) can display an image frame (e.g., image frame 308) from a series of image frames generated by the device's processor (e.g., processor 204) before operating the display in low-power mode and before the current time, during low-power mode for the device's display (e.g., display 216). The image frame may include an image of a clock displaying the time corresponding to the current time (e.g., as described above in relation to Figures 3 to 6). The processor may be configured to run an application for the device.

[0086] In block 806, the second coprocessor may receive optical information corresponding to a signal from the first coprocessor. The first coprocessor compares the signal from the optical sensor with a threshold and, if the signal exceeds the threshold (for example, if the signal indicates ambient light above an upper threshold or below a lower threshold), it may provide the second coprocessor with optical information corresponding to the signal.

[0087] In block 808, the second coprocessor may adjust the brightness or color of the image frame in response to light information from the first coprocessor. The second coprocessor can receive light information from the first coprocessor and adjust the brightness or color of the image frame while the processor is inactive. In one or more implementations, the device includes memory (e.g., memory 208) and a processor, with the first and second coprocessors each having access to memory. The device may also include a first memory map for the processor (e.g., MMU 206), a second memory map for the first coprocessor (e.g., MMU 242), and a third memory map for the second coprocessor (e.g., MMU 244). The first, second, and third memory maps each map logical addresses to physical addresses in memory. In one or more implementations, the processor is configured to manage a first memory map, a second memory map, and a third memory map (for example, without management by first and second coprocessors for consistency of memory maps used by all processors / coprocessors).

[0088] Figure 9 shows an exemplary process flow chart for a device boot operation in one or more implementation configurations. For illustrative purposes, process 900 is described herein primarily with reference to the electronic device 102 in Figure 1. However, process 900 is not limited to the electronic device 102 in Figure 1, and one or more blocks (or operations) of process 900 may be executed by one or more other components and other suitable devices (e.g., any of electronic devices 102-104). Furthermore, for illustrative purposes, blocks of process 900 are described herein as occurring sequentially or linearly. However, multiple blocks of process 900 may occur in parallel. In addition, blocks of process 900 do not need to be executed in the illustrated order, and / or one or more blocks of process 900 may not be executed and / or may be replaced by other operations.

[0089] In block 902, when the electronic device is started, the operating system is provided to the electronic device's processor (e.g., processor 204) (e.g., by a boot loader). Providing the operating system to the processor may include, for example, copying at least a portion of the operating system from NVRAM 212 or other non-volatile memory of memory 208 to RAM 210 for access by the processor.

[0090] In block 904, when the electronic device is started up, an image (for example, a logo image, such as a logo image containing a logo associated with the manufacturer of the electronic device) is provided to the electronic device's coprocessor (for example, coprocessor 241) (for example, by the boot loader). Firmware stored in the electronic device may also be provided to the coprocessor by the boot loader, and the firmware includes instructions for displaying the image.

[0091] In block 906, the coprocessor may display an image on the electronic device's display (e.g., display 216) while the processor is loading the operating system. In this way, an image such as a logo can be displayed by the device's display even before the device's operating system becomes operational.

[0092] After the operating system is loaded by the processor, additional image information for display in place of images may be received from the processor by the coprocessor. This additional image information may include the operating system's user interface or graphic information about other applications running on the device. In one or more implementations, once the operating system is running on the processor, the processor can generate a data structure (e.g., data structure 302 in Figure 3) containing a set of image frames. The processor can then be deactivated for the electronic device to sleep. The set of image frames pre-generated by the processor can then be displayed using the coprocessor while the electronic device is asleep (e.g., while the processor is in a low-power state running only a media player application).

[0093] This disclosure acknowledges that the use of personal data in this technology may be for the benefit of the user. For example, personal data may be used to display image data. Thus, such use of personal data can facilitate transactions (e.g., online transactions). Furthermore, other uses of personal data that benefit the user are also conceived by this disclosure. For example, health and fitness data, when used according to the user's preferences, can be used to provide general wellness insights or as positive feedback to individuals using the technology to pursue wellness goals.

[0094] This disclosure assumes that the entities involved in the collection, analysis, disclosure, transfer, storage, or other use of such personal data will adhere to a robust privacy policy and / or privacy practice. Specifically, such entities are expected to implement and consistently apply privacy practices that are generally recognized as meeting or exceeding industry or government requirements for maintaining user privacy. Such information regarding the use of personal data should be conspicuously and readily accessible to users and should be updated as data collection and / or use changes. Personal data from users should be collected only for legitimate use. Furthermore, such collection / sharing should be done after obtaining user consent or on other legitimate grounds specified in applicable law. Furthermore, such entities should consider taking all necessary steps to protect and secure access to such personal data and to ensure that others who have access to that personal data comply with those privacy policies and procedures. Furthermore, such entities may undergo third-party assessments to demonstrate their compliance with widely accepted privacy policies and practices. In addition, policies and practices should be tailored to the specific types of personal data being collected and / or accessed, and should conform to applicable laws and standards, including jurisdiction-specific considerations that may play a role in imposing higher standards. For example, in the United States, the collection or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA), while health data in other countries may be subject to and should be addressed in accordance with other regulations and policies.

[0095] Notwithstanding the foregoing, the Disclosure also conceives of embodiments that allow a user to selectively prevent the use of or access to personal data. Specifically, the Disclosure conceives that hardware and / or software elements can be provided to prevent or prevent access to such personal data. For example, when displaying image data, the Technology can be configured to allow a user to choose to “opt in” or “opt out” of participating in the collection of personal data during or at any time thereafter when registering for the Service. In addition to providing “opt-in” and “opt-out” options, the Disclosure conceives that it may provide notices regarding access to or use of personal data. For example, a user may be notified when downloading an app that will access their personal data, and then again immediately before the app accesses their personal data.

[0096] Furthermore, the intent of this disclosure is that personal data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. This risk can be minimized by limiting data collection and deleting data when it is no longer needed. Furthermore, where applicable, data de-identification can be used to protect user privacy, such as in certain health-related applications. De-identification may be facilitated, where appropriate, by removing identifiers, controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data across all users), and / or by other means such as differential privacy.

[0097] Therefore, although this disclosure extensively covers the use of personal data to implement one or more different disclosed embodiments, the disclosure also envisions that it may be possible to implement those different embodiments without requiring access to such personal data. In other words, the different embodiments of the Technology are not rendered inoperable by the absence of all or part of such personal data.

[0098] Figure 10 shows an electronic system 1000 that can implement one or more implementations of the technology of the present application. The electronic system 1000 may be one or more of the electronic devices 102-104 shown in Figure 1, and / or one of them, or a server 108, and / or a part thereof. The electronic system 1000 may include various types of computer-readable media and interfaces for various other types of computer-readable media. The electronic system 1000 includes a bus 1008, one or more processing units 1012, system memory 1004 (and / or buffers), ROM 1010, permanent storage device 1002, input device interface 1014, output device interface 1006, and one or more network interfaces 1016, or subsets and variations thereof.

[0099] Bus 1008 collectively represents all system, peripheral, and chipset buses that communicate with a large number of internal devices of the electronic system 1000. In one or more implementations, bus 1008 communicates with one or more processing units 1012 to the ROM 1010, system memory 1004, and permanent storage device 1002. One or more processing units 1012 obtain instructions to be executed and data to be processed from these various memory units in order to perform the processes disclosed herein. One or more processing units 1012 may be a single processor or a multi-core processor in different implementations.

[0100] ROM 1010 stores static data and instructions required by one or more processing units 1012 and other modules of the electronic system 1000. On the other hand, the permanent storage device 1002 may be a read and write memory device. The permanent storage device 1002 may be a non-volatile memory unit that stores instructions and data even when the electronic system 1000 is turned off. In one or more implementations, a mass storage device (such as a magnetic disk or optical disk and its corresponding disk drive) can be used as the permanent storage device 1002.

[0101] In one or more implementations, a removable storage device (such as a floppy disk, flash drive, and corresponding disk drive) can be used as the permanent storage device 1002. Similar to the permanent storage device 1002, the system memory 1004 may be a read-and-write memory device. However, unlike the permanent storage device 1002, the system memory 1004 may be a volatile read-and-write memory, such as random-access memory. The system memory 1004 may store any instructions and data that one or more processing units 1012 may need at runtime. In one or more implementations, the process disclosed herein is stored in the system memory 1004, the permanent storage device 1002, and / or the ROM 1010. One or more processing units 1012 retrieve instructions to be executed and data to be processed from these various memory units in order to execute the process in one or more implementations.

[0102] Bus 1008 also connects to an input device interface 1014 and an output device interface 1006. The input device interface 1014 allows a user to transmit information and select commands to the electronic system 1000. Input devices that may be used with the input device interface 1014 may include, for example, an alphanumeric keyboard and a pointing device (also called a "cursor control device"). The output device interface 1006 may display, for example, an image generated by the electronic system 1000. Output devices that may be used with the output device interface 1006 may include, for example, a printer and a display device such as a liquid crystal display (LCD), a light-emitting diode (LED) display, an organic light-emitting diode (OLED) display, a flexible display, a flat panel display, a solid-state display, a projector, or any other device for outputting information. One or more implementations may include a device that functions as both an input and an output device, such as a touchscreen. In these implementations, the feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback, and user input can be received in any form, including acoustic input, voice input, or tactile input.

[0103] Finally, as shown in Figure 10, the bus 1008 also connects the electronic system 1000 to one or more networks and / or one or more network nodes, such as the server 108 shown in Figure 1, via one or more network interfaces 1016. In this way, the electronic system 1000 can be part of a network in multiple networks, such as a computer network (LAN, wide area network ("WAN"), intranet, or the Internet. Any or all components of the electronic system 1000 can be used in conjunction with the disclosures of this application.

[0104] Implementations within the scope of this disclosure can be partially or completely realized using tangible computer-readable storage media (or multiple tangible computer-readable storage media of one or more types) that encode one or more instructions. The tangible computer-readable storage media may also be, in fact, non-transient.

[0105] A computer-readable storage medium can be any storage medium that can be read, written to, or otherwise accessed by a general-purpose or dedicated computing device, including any processing electronic equipment and / or processing circuitry capable of executing instructions. For example, but not limited to, a computer-readable medium can include any volatile semiconductor memory such as RAM, DRAM, SRAM, T-RAM, Z-RAM, and TTRAM. A computer-readable medium can also include any non-volatile semiconductor memory such as ROM, PROM, EPROM, EEPROM, NVRAM, flash, nvSRAM, FeRAM, FeTRAM, MRAM, PRAM, CBRAM, SONOS, RRAM, NRAM, Racetrack memory, FJG, and Millipede memory.

[0106] Furthermore, the computer-readable storage medium may include any non-semiconductor memory, such as optical disk storage devices, magnetic disk storage devices, magnetic tapes, other magnetic storage devices, or any other medium capable of storing one or more instructions. In one or more implementations, the tangible computer-readable storage medium may be directly coupled to a computing device, while in other implementations, the tangible computer-readable storage medium may be indirectly coupled to a computing device, for example, via one or more wired connections, one or more wireless connections, or any combination thereof.

[0107] Instructions can be made directly executable or used to develop executable instructions. For example, instructions can be implemented as executable or non-executable machine code, or as instructions in a high-level language that can be compiled to produce executable or non-executable machine code. Furthermore, instructions can also be implemented as data or contain data. Computer executable instructions can also be structured in any format, including routines, subroutines, programs, data structures, objects, modules, applications, applets, functions, etc. As will be recognized by those skilled in the art, details including, but not limited to, the number, structure, order, and structuring of instructions can be changed considerably without altering the basic logic, function, processing, and output.

[0108] The above discussion primarily refers to microprocessors or multicore processors that run software, but one or more implementations are performed by one or more integrated circuits, such as ASICs or FPGAs (one or more). In one or more implementations, such integrated circuits execute instructions stored within the circuit itself.

[0109] A part of the present disclosure provides a method for using a display of an electronic device to display an image frame from a series of image frames generated before the operation of the display in low power mode, during operation of the display in low power mode, wherein the image frame includes an image of a clock displaying a time corresponding to the current time, and the image frame was generated and stored before the current time; and using the electronic device to receive user input corresponding to a particular function of the electronic device while displaying the image frame during operation of the display in low power mode; activating the particular function of the electronic device in response to the receipt of the user input and without further user input; and replacing the image frame on the display with a user interface associated with the particular function when the particular function is activated.

[0110] According to aspects of the present disclosure, a non-temporary computer-readable medium is provided which, when executed by one or more processors, causes one or more processors to perform an operation which includes, using the display of an electronic device, displaying an image frame from a series of image frames generated before the operation of the display in low power mode, during the operation of the display in low power mode, wherein the image frame includes an image of a clock displaying a time corresponding to the current time, and the image frame was generated and stored before the current time; using the electronic device, receiving user input corresponding to a particular function of the electronic device while the image frame is displayed during the operation of the display in low power mode; activating the particular function of the electronic device in response to the receipt of the user input and without further user input; and replacing the image frame on the display with a user interface associated with the particular function when the particular function is activated.

[0111] According to aspects of the present disclosure, a device is provided comprising a display, a processor, a first coprocessor, a second coprocessor, and a light sensor. The first coprocessor is configured to receive signals from the light sensor. The second coprocessor is configured to display, during a low-power mode of the display, an image frame from a series of image frames generated by the processor before the display was operated in low-power mode and before the current time, the image frame including an image of a clock displaying the time corresponding to the current time, receive light information corresponding to signals from the first coprocessor, and adjust the brightness or color of the image frame in accordance with the light information from the first coprocessor.

[0112] A part of the present disclosure provides a method comprising: using a first coprocessor of the device to receive a signal from a light sensor of the device; using a second coprocessor to display an image frame from a series of image frames generated by the device's processor before the operation of the display in low power mode and before the current time, wherein the image frame includes an image of a clock displaying the time corresponding to the current time; and in the second coprocessor, receiving light information corresponding to the signal from the first coprocessor; and using the second coprocessor to adjust the brightness or color of the image frame in accordance with the light information from the first coprocessor.

[0113] According to aspects of this disclosure, a method is provided which includes providing an operating system to the processor of an electronic device when the electronic device is started up, providing an image to the coprocessor of the electronic device when the electronic device is started up, and using the coprocessor to display the image on the display of the electronic device while the processor is loading the operating system.

[0114] Those skilled in the art will understand that the various exemplary blocks, modules, elements, components, methods, and algorithms described herein can be implemented as electronic hardware, computer software, or a combination of both. Above, to demonstrate this hardware- and software compatibility, the various exemplary blocks, modules, elements, components, methods, and algorithms have been generally described in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the design constraints imposed on the overall system and the specific application. Those skilled in the art will be able to implement the described functionality in various ways for each specific application. The various components and blocks may be arranged differently (for example, in a different order or divided in a different way) without departing entirely from the scope of the art of this application.

[0115] Any particular order or hierarchy of blocks in the disclosed process should be understood as an example of an exemplary approach. Based on design preferences, any particular order or hierarchy of blocks in the process may be rearranged, or all of the exemplary blocks may be executed. Any of the blocks may be executed simultaneously. Multitasking and parallel processing may be advantageous in one or more implementations. Furthermore, the separation of various system components in the implementation described above should not be understood as requiring such separation in all implementations. The described program components and systems may be integrated into a single software product or packaged into multiple software products.

[0116] As used herein and in the claims, the terms “base station,” “receiver,” “computer,” “server,” “processor,” and “memory” all refer to electronic or other technical devices. These terms exclude persons or groups of persons. For the purposes of this specification, the terms “display” or “displaying” mean displaying on an electronic device.

[0117] When used herein, the phrase “at least one” preceding a set of items, along with the terms “and” or “or” separating any of the items, qualifies the list as a whole, rather than each element of the list (i.e., each item). The phrase “at least one” does not require the selection of at least one of each item listed; rather, it allows for meanings including at least one of any one of the items, and / or at least one of any combination of the items, and / or at least one of each of the items. For example, the phrases “at least one of A, B, and C” or “at least one of A, B, or C” refer, respectively, to A only, B only, or C only, any combination of A, B, and C, and / or at least one of each of A, B, and C.

[0118] The predicates “configured to,” “operable to,” and “programmed to” are not intended to imply any specific tangible or intangible modification of the object, but rather to be interchangeable. In one or more implementations, a processor configured to monitor and control operations or components may also mean that the processor is programmed to monitor and control operations, or that the processor is operable to monitor and control operations. Similarly, a processor configured to execute code may be interpreted as a processor that is programmed to execute code, or operable to execute code.

[0119] The phrases "one aspect," "that aspect," "another aspect," "several aspects," "one or more aspects," "one implementation," "that implementation," "another implementation," "several implementations," "one or more implementations," "one embodiment," "that embodiment," "another embodiment," "several embodiments," "one or more embodiments," "one configuration," "that configuration," "another configuration," "several configurations," "one or more configurations," "the technology of the Application," "disclosure," "this disclosure," "other variations thereof," and similar phrases are for convenience only and do not imply that disclosures relating to such phrases (singular or plural) are essential to the technology of the Application or that such disclosures apply to all configurations of the technology of the Application. Disclosures relating to such phrases (singular or plural) may apply to all configurations or one or more configurations. Disclosures relating to such phrases (singular or plural) may provide one or more examples. Phrases such as "aspect" or "several aspects" may refer to one or more aspects, and vice versa, as with the other aforementioned phrases.

[0120] The word “exemplary” is used herein to mean “to serve as an example, case, or illustration.” Any embodiment described herein as “exemplary” or “example” should not necessarily be construed as being preferable or advantageous over other embodiments. Furthermore, to the extent that terms such as “include” and “have” are used in the specification or claims, such terms are intended to be comprehensive in the same manner as the term “comprise,” as “comprise” is construed as when “comprise” is used as a transitional term in the claims.

[0121] All structural and functional equivalents of the elements of various aspects described herein, whether known to those skilled in the art or to become known thereafter, are expressly incorporated herein by reference and are intended to be included in the claims. Furthermore, nothing disclosed herein is to be made public, whether such disclosure is expressly enumerated in the claims. No element of any claim should be construed under Section 112(f) of the United States Patent Act unless the element is expressly enumerated using the phrase “means for” or, in the case of a method claim, the element is enumerated using the phrase “step for”.

[0122] The foregoing description is provided to enable those skilled in the art to implement the various embodiments described herein. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein can also be applied to other embodiments. Therefore, the claims are not intended to limit themselves to the embodiments shown herein, but rather to encompass the entire scope consistent with the literal claims, and references to elements in the singular are not intended to mean "one and only one" unless otherwise noted, but rather "one or more." Unless otherwise noted, the term "some" refers to one or more things. Masculine pronouns (e.g., he) include feminine and neuter genders (e.g., she and her), and vice versa. Headings and subheadings, if any, are used for convenience only and do not limit the disclosure of this application.

Claims

1. Using a coprocessor of the electronic device, which is separate from the processor of the electronic device, to display image frames from a series of image frames generated by the processor before the operation of the display in low-power mode on the display of the electronic device while the display is operating in low-power mode, Using the aforementioned electronic device, while displaying the image frame during the operation of the display in the low-power mode, to receive user input corresponding to a specific function of the electronic device, In response to receiving the user input and without further user input, the electronic device's processor is given a command to activate the specific function of the electronic device, In response to receiving the user input and without further user input, when the specific function is activated, the image frame on the display is replaced with the user interface associated with the specific function. Methods that include...

2. The method according to claim 1, wherein the image frame includes the current time and an indicator of the complication, the specific function includes an application associated with the complication, and the user input includes touch input at the location of the complication within the image frame.

3. The method of claim 2, wherein activating the specific function of the electronic device includes providing the instruction to the processor of the electronic device while displaying the image frame to activate the application.

4. The method according to claim 3, wherein providing the instruction to the processor of the electronic device to activate the application while the image frame is being displayed includes continuing to display the image frame without modifying the brightness of the display during the activation of the application.

5. The method according to claim 4, wherein replacing the image frame with the user interface includes displaying the user interface of the application using the processor of the electronic device.

6. Before operating the display in the low-power mode, the processor is used to generate the series of image frames, The process involves storing the series of image frames in the memory of the electronic device, wherein the processor and the coprocessor are configured to share access to the memory. The method according to claim 1, further comprising:

7. The method according to claim 6, further comprising using the coprocessor to access the series of image frames while the display is operating in the low-power mode, using a memory map for the coprocessor arranged by the processor.

8. The method according to claim 1, further comprising using the coprocessor to detect a low-power state of the processor before displaying the image frame using the coprocessor.

9. The method according to claim 8, further comprising using the coprocessor to manage the power consumption of the display during the low-power state of the processor.

10. The method according to claim 9, wherein managing the power consumption by the display includes controlling the frame rate of the display during the display of an image frame based on the power budget for the display during operation in the low-power mode for the display.

11. The method according to claim 1, wherein the user input includes a swipe on the display, and the specific function includes an application associated with the swipe.

12. The method according to claim 11, wherein activating the specific function of the electronic device includes providing instructions to the processor of the electronic device to activate the application while the image frame is being displayed.

13. The method according to claim 12, wherein when the particular function is activated, replacing the image frame on the display with the user interface associated with the particular function includes progressively displaying an increasing portion of the user interface in the direction of the swipe while displaying the portion of the image frame without correcting the brightness of the portion of the image frame.

14. The method according to claim 1, wherein displaying the image frame during the operation of the display in the low-power mode is equivalent to displaying the image frame during the low-power mode of the processor of the electronic device, wherein the processor runs a media player application in the low-power mode.

15. The method according to claim 1, wherein displaying the image frame during the operation of the display in the low-power mode means displaying the image frame while the processor of the electronic device is inactive, and the processor is configured to run an application for the electronic device.

16. The method according to claim 15, wherein the user input includes pressing a button on the electronic device, and activating the particular function includes providing a command to the processor of the electronic device to wake up and perform the function corresponding to the button, without further user input to the electronic device.

17. The method according to claim 15, wherein the electronic device includes a smartwatch, the user input includes rotating the crown of the smartwatch, and activating the particular function includes providing instructions to the processor of the electronic device to wake up and perform the function corresponding to the rotation of the crown, without further user input to the electronic device.

18. A non-temporary computer-readable medium containing instructions, wherein, when the instructions are executed by one or more processors, the instructions are sent to the one or more processors. Using a coprocessor of the electronic device, which is separate from the processor of the electronic device, to display image frames from a series of image frames generated by the processor before the operation of the display in low-power mode on the display of the electronic device while the display is operating in low-power mode, During the operation of the display in the low-power mode, while displaying the image frame, the electronic device receives user input corresponding to a specific function, In response to receiving the user input and without further user input, the electronic device's processor is given a command to activate the specific function of the electronic device, In response to receiving the user input and without further user input, when the specific function is activated, the image frame on the display is replaced with the user interface associated with the specific function. A non-temporary computer-readable medium that performs an action, including [the specified action].

19. The non-temporary computer-readable medium according to claim 18, wherein the image frame includes an indicator of the current time and a complication, the particular function includes an application associated with the complication, and the user input includes touch input at the location of the complication within the image frame.

20. The non-temporary computer-readable medium according to claim 18, wherein the user input includes a swipe on the display, and the particular function includes an application associated with the swipe.

21. The non-temporary computer-readable medium according to claim 20, wherein when the particular function is activated, replacing the image frame on the display with the user interface associated with the particular function includes progressively displaying an enlarged portion of the user interface in the direction of the swipe while displaying the portion of the image frame without changing the brightness of the portion of the image frame.

22. The non-temporary computer-readable medium according to claim 21, wherein the image frame includes an image of a clock displaying a time corresponding to the current time, and the image frame was generated and stored before the current time.

Citation Information

Patent Citations

  • Information display device, operation mode change method therefor, and program

    JP2013114452A

  • Information processing apparatus

    JP2015135611A

  • Apparatus and Method for Managing Graphics Buffers for a Processor in Sleep Mode

    US20150185811A1