WO2024035037A1 - 초기화 동작을 위한 전자 장치 및 방법 - Google Patents
초기화 동작을 위한 전자 장치 및 방법 Download PDFInfo
- Publication number
- WO2024035037A1 WO2024035037A1 PCT/KR2023/011588 KR2023011588W WO2024035037A1 WO 2024035037 A1 WO2024035037 A1 WO 2024035037A1 KR 2023011588 W KR2023011588 W KR 2023011588W WO 2024035037 A1 WO2024035037 A1 WO 2024035037A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- screen
- initialization
- value
- frames per
- display
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 66
- 230000008569 process Effects 0.000 claims description 26
- 230000008859 change Effects 0.000 claims description 13
- 230000007704 transition Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 49
- 230000006870 function Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 230000004044 response Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000000638 stimulation Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G04—HOROLOGY
- G04G—ELECTRONIC TIME-PIECES
- G04G9/00—Visual time or date indication means
-
- G—PHYSICS
- G04—HOROLOGY
- G04G—ELECTRONIC TIME-PIECES
- G04G99/00—Subject matter not provided for in other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/16—Constructional details or arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Definitions
- Electronic devices are being provided in various forms such as smart phones, tablet personal computers (PCs), or personal digital assistants (PDAs). Electronic devices are also being developed in a form that can be worn by the user to improve portability and user accessibility.
- PCs tablet personal computers
- PDAs personal digital assistants
- the electronic device is a low-performance wearable device, and when performing initialization to drive the electronic device, initialization may be completed by sequentially executing services or applications necessary for the watch face operation at the time the watch face is displayed on the display. Accordingly, the watch face of the electronic device may be displayed on the screen but may not operate normally for as long as necessary services or applications are normally initialized, so the time when the electronic device can actually be used may be delayed.
- an electronic device may include a memory, a display, and at least one processor electrically connected to the memory and the display.
- the processor may be set to execute an application related to a system user interface (UI) in a locked state.
- UI system user interface
- the processor may be set to control the display to display a first screen indicating initialization through the application.
- the processor may be set to generate an image related to a watch face while performing the initialization and control the display to display the first screen and a second screen including the image.
- the processor may be set to convert the locked state to an unlocked state while performing the initialization.
- the processor may be set to control the display to remove the first screen and display the second screen based on the completion of the initialization.
- a method of operating an electronic device may include executing an application related to a system user interface (UI) in a locked state.
- UI system user interface
- the method may include displaying a first screen indicating initialization through the application.
- the method may include generating an image related to a watch face while performing the initialization, and displaying the first screen and a second screen including the image on the display of the electronic device. there is.
- the method may include converting the locked state to an unlocked state while performing the initialization.
- the method may include removing the first screen and displaying the second screen on the display based on the completion of the initialization.
- FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments.
- FIG. 2 is a diagram illustrating an example of the configuration of a software module of an electronic device according to an embodiment.
- 3A and 3B are diagrams showing initialization of an electronic device according to an embodiment.
- Figure 4 is a graph showing initialization of an electronic device according to an embodiment.
- FIG. 5 is a diagram illustrating an example of an operation method in an electronic device according to an embodiment.
- FIG. 6 is a diagram illustrating an example of an operation method in an electronic device according to an embodiment.
- the term user used in various embodiments may refer to a person using an electronic device or a device (eg, an artificial intelligence electronic device) using the electronic device.
- a device eg, an artificial intelligence electronic device
- FIG. 1 is a block diagram of an electronic device 101 in a network environment 100, according to various embodiments.
- the electronic device 101 communicates with the electronic device 102 through a first network 198 (e.g., a short-range wireless communication network) or a second network 199. It is possible to communicate with at least one of the electronic device 104 or the server 108 through (e.g., a long-distance wireless communication network). According to one embodiment, the electronic device 101 may communicate with the electronic device 104 through the server 108.
- a first network 198 e.g., a short-range wireless communication network
- a second network 199 e.g., a second network 199.
- the electronic device 101 may communicate with the electronic device 104 through the server 108.
- the electronic device 101 includes a processor 120, a memory 130, an input module 150, an audio output module 155, a display module 160, an audio module 170, and a sensor module ( 176), interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module 196 , or may include an antenna module 197.
- at least one of these components eg, the connection terminal 178) may be omitted or one or more other components may be added to the electronic device 101.
- some of these components e.g., sensor module 176, camera module 180, or antenna module 197) are integrated into one component (e.g., display module 160). It can be.
- the processor 120 for example, executes software (e.g., program 140) to operate at least one other component (e.g., hardware or software component) of the electronic device 101 connected to the processor 120. It can be controlled and various data processing or calculations can be performed. According to one embodiment, as at least part of data processing or computation, the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132. The commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
- software e.g., program 140
- the processor 120 stores commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132.
- the commands or data stored in the volatile memory 132 can be processed, and the resulting data can be stored in the non-volatile memory 134.
- the processor 120 includes a main processor 121 (e.g., a central processing unit or an application processor) or an auxiliary processor 123 that can operate independently or together (e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor).
- a main processor 121 e.g., a central processing unit or an application processor
- auxiliary processor 123 e.g., a graphics processing unit, a neural network processing unit ( It may include a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor.
- the electronic device 101 includes a main processor 121 and a secondary processor 123
- the secondary processor 123 may be set to use lower power than the main processor 121 or be specialized for a designated function. You can.
- the auxiliary processor 123 may be implemented separately from the main processor 121 or as part of it.
- the auxiliary processor 123 may, for example, act on behalf of the main processor 121 while the main processor 121 is in an inactive (e.g., sleep) state, or while the main processor 121 is in an active (e.g., application execution) state. ), together with the main processor 121, at least one of the components of the electronic device 101 (e.g., the display module 160, the sensor module 176, or the communication module 190) At least some of the functions or states related to can be controlled.
- co-processor 123 e.g., image signal processor or communication processor
- may be implemented as part of another functionally related component e.g., camera module 180 or communication module 190. there is.
- the auxiliary processor 123 may include a hardware structure specialized for processing artificial intelligence models.
- Artificial intelligence models can be created through machine learning. For example, such learning may be performed in the electronic device 101 itself on which the artificial intelligence model is performed, or may be performed through a separate server (e.g., server 108).
- Learning algorithms may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but It is not limited.
- An artificial intelligence model may include multiple artificial neural network layers.
- Artificial neural networks include deep neural network (DNN), convolutional neural network (CNN), recurrent neural network (RNN), restricted boltzmann machine (RBM), belief deep network (DBN), bidirectional recurrent deep neural network (BRDNN), It may be one of deep Q-networks or a combination of two or more of the above, but is not limited to the examples described above.
- artificial intelligence models may additionally or alternatively include software structures.
- the memory 130 may store various data used by at least one component (eg, the processor 120 or the sensor module 176) of the electronic device 101. Data may include, for example, input data or output data for software (e.g., program 140) and instructions related thereto.
- Memory 130 may include volatile memory 132 or non-volatile memory 134.
- the program 140 may be stored as software in the memory 130 and may include, for example, an operating system 142, middleware 144, or application 146.
- the input module 150 may receive commands or data to be used in a component of the electronic device 101 (e.g., the processor 120) from outside the electronic device 101 (e.g., a user).
- the input module 150 may include, for example, a microphone, mouse, keyboard, keys (eg, buttons), or digital pen (eg, stylus pen).
- the sound output module 155 may output sound signals to the outside of the electronic device 101.
- the sound output module 155 may include, for example, a speaker or a receiver. Speakers can be used for general purposes such as multimedia playback or recording playback.
- the receiver can be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part of it.
- the display module 160 can visually provide information to the outside of the electronic device 101 (eg, a user).
- the display module 160 may include, for example, a display, a hologram device, or a projector, and a control circuit for controlling the device.
- the display module 160 may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of force generated by the touch.
- the audio module 170 can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module 170 acquires sound through the input module 150, the sound output module 155, or an external electronic device (e.g., directly or wirelessly connected to the electronic device 101). Sound may be output through the electronic device 102 (e.g., speaker or headphone).
- the electronic device 102 e.g., speaker or headphone
- the sensor module 176 detects the operating state (e.g., power or temperature) of the electronic device 101 or the external environmental state (e.g., user state) and generates an electrical signal or data value corresponding to the detected state. can do.
- the sensor module 176 includes, for example, a gesture sensor, a gyro sensor, an air pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, It may include a temperature sensor, humidity sensor, or light sensor.
- the interface 177 may support one or more designated protocols that can be used to connect the electronic device 101 directly or wirelessly with an external electronic device (eg, the electronic device 102).
- the interface 177 may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
- HDMI high definition multimedia interface
- USB universal serial bus
- SD card interface Secure Digital Card interface
- audio interface audio interface
- connection terminal 178 may include a connector through which the electronic device 101 can be physically connected to an external electronic device (eg, the electronic device 102).
- the connection terminal 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (eg, a headphone connector).
- the haptic module 179 can convert electrical signals into mechanical stimulation (e.g., vibration or movement) or electrical stimulation that the user can perceive through tactile or kinesthetic senses.
- the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
- the camera module 180 can capture still images and moving images.
- the camera module 180 may include one or more lenses, image sensors, image signal processors, or flashes.
- the power management module 188 can manage power supplied to the electronic device 101.
- the power management module 188 may be implemented as at least a part of, for example, a power management integrated circuit (PMIC).
- PMIC power management integrated circuit
- the battery 189 may supply power to at least one component of the electronic device 101.
- the battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
- Communication module 190 is configured to provide a direct (e.g., wired) communication channel or wireless communication channel between electronic device 101 and an external electronic device (e.g., electronic device 102, electronic device 104, or server 108). It can support establishment and communication through established communication channels. Communication module 190 operates independently of processor 120 (e.g., an application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication.
- processor 120 e.g., an application processor
- the communication module 190 is a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., : LAN (local area network) communication module, or power line communication module) may be included.
- a wireless communication module 192 e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module
- GNSS global navigation satellite system
- wired communication module 194 e.g., : LAN (local area network) communication module, or power line communication module
- the corresponding communication module is a first network 198 (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network 199 (e.g., legacy It may communicate with an external electronic device 104 through a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., LAN or WAN).
- a telecommunication network such as a cellular network, a 5G network, a next-generation communication network
- the wireless communication module 192 uses subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module 196 within a communication network such as the first network 198 or the second network 199.
- subscriber information e.g., International Mobile Subscriber Identifier (IMSI)
- IMSI International Mobile Subscriber Identifier
- the wireless communication module 192 may support 5G networks after 4G networks and next-generation communication technologies, for example, NR access technology (new radio access technology).
- NR access technology provides high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and access to multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low latency). -latency communications)) can be supported.
- the wireless communication module 192 may support high frequency bands (eg, mmWave bands), for example, to achieve high data rates.
- the wireless communication module 192 uses various technologies to secure performance in high frequency bands, for example, beamforming, massive array multiple-input and multiple-output (MIMO), and full-dimensional multiplexing. It can support technologies such as input/output (FD-MIMO: full dimensional MIMO), array antenna, analog beam-forming, or large scale antenna.
- the wireless communication module 192 may support various requirements specified in the electronic device 101, an external electronic device (e.g., electronic device 104), or a network system (e.g., second network 199).
- the wireless communication module 192 supports Peak data rate (e.g., 20 Gbps or more) for realizing 1eMBB, loss coverage (e.g., 164 dB or less) for realizing mmTC, or U-plane latency (e.g., 164 dB or less) for realizing URLLC.
- Peak data rate e.g., 20 Gbps or more
- loss coverage e.g., 164 dB or less
- U-plane latency e.g., 164 dB or less
- the antenna module 197 may transmit or receive signals or power to or from the outside (eg, an external electronic device).
- the antenna module 197 may include an antenna including a radiator made of a conductor or a conductive pattern formed on a substrate (eg, PCB).
- the antenna module 197 may include a plurality of antennas (eg, an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network such as the first network 198 or the second network 199 is connected to the plurality of antennas by, for example, the communication module 190. can be selected. Signals or power may be transmitted or received between the communication module 190 and an external electronic device through the at least one selected antenna.
- other components eg, radio frequency integrated circuit (RFIC) may be additionally formed as part of the antenna module 197.
- RFIC radio frequency integrated circuit
- a mmWave antenna module includes: a printed circuit board, an RFIC disposed on or adjacent to a first side (e.g., bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., mmWave band); And a plurality of antennas (e.g., array antennas) disposed on or adjacent to the second side (e.g., top or side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band. can do.
- a first side e.g., bottom side
- a designated high frequency band e.g., mmWave band
- a plurality of antennas e.g., array antennas
- peripheral devices e.g., bus, general purpose input and output (GPIO), serial peripheral interface (SPI), or mobile industry processor interface (MIPI)
- signal e.g. commands or data
- commands or data may be transmitted or received between the electronic device 101 and the external electronic device 104 through the server 108 connected to the second network 199.
- Each of the external electronic devices 102 or 104 may be of the same or different type as the electronic device 101.
- all or part of the operations performed in the electronic device 101 may be executed in one or more of the external electronic devices 102, 104, or 108.
- the electronic device 101 may perform the function or service instead of executing the function or service on its own.
- one or more external electronic devices may be requested to perform at least part of the function or service.
- One or more external electronic devices that have received the request may execute at least part of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device 101.
- the electronic device 101 may process the result as is or additionally and provide it as at least part of a response to the request.
- cloud computing distributed computing, mobile edge computing (MEC), or client-server computing technology can be used.
- the electronic device 101 may provide an ultra-low latency service using, for example, distributed computing or mobile edge computing.
- the external electronic device 104 may include an Internet of Things (IoT) device.
- Server 108 may be an intelligent server using machine learning and/or neural networks.
- the external electronic device 104 or server 108 may be included in the second network 199.
- the electronic device 101 may be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
- FIG. 2 is a diagram illustrating an example of the configuration of a software module of an electronic device according to an embodiment.
- the electronic device 101 includes a software module 201 (e.g., program 140 of FIG. 1 ) for executing operations to improve the booting speed of the electronic device.
- the memory 130 of the electronic device 101 may store instructions (eg, instructions) to implement the software module 201 shown in FIG. 2 .
- At least one processor 120 may execute instructions stored in the memory 130 to implement the software module 201 shown in FIG. 2, and may execute hardware associated with the function of the software module 201 (e.g., FIG. 1
- the display module 160, sensor module 176, power management module 188, or communication module 190 can be controlled.
- the software module 201 of the electronic device 101 includes a kernel (or HAL) 210, a framework (e.g., middleware 144 in FIG. 1) 220, and an application. It may be set to include (230) (e.g., application 146 of FIG. 1). At least a portion of the software module 201 may be preloaded on the electronic device 101 or may be downloaded from a server (eg, server 108).
- a kernel or HAL
- framework e.g., middleware 144 in FIG. 1
- an application It may be set to include (230) (e.g., application 146 of FIG. 1).
- At least a portion of the software module 201 may be preloaded on the electronic device 101 or may be downloaded from a server (eg, server 108).
- the kernel 210 may include, for example, a system resource manager or a device driver 211, but is not limited to this and may be configured to further include other modules.
- the system resource manager may perform at least one of controlling, allocating, or reclaiming system resources.
- the device driver 211 may include, for example, a display driver, a camera driver, a Bluetooth driver, a shared memory driver, a USB driver, a keypad driver, a WIFI driver, an audio driver, or an inter-process communication (IPC) driver. .
- the framework 220 may be set to include, for example, an initialization module 221 and a service module 223, but is not limited to this and may further include other modules. It can be set to include.
- the framework 220 provides functions commonly required by the application 230 or provides an application programming interface (API) (as shown) so that the application 230 can efficiently use limited system resources inside the electronic device 101. (not available) can provide various functions as an application 230.
- the initialization module 221 responds to an initialization request of the electronic device 101, performs initialization (e.g., booting) to run the operating system, and provides modules necessary for driving the electronic device 101 included in the application 230. initialization can be performed.
- Framework 220 may include modules that form various functional combinations of the components described above.
- the initialization module 221 may start initialization in the locked state of the electronic device 101 and then switch the electronic device 101 to the unlocked state while initialization is being performed.
- the locked state may mean a state in which access to the credential encryption storage is not obtained
- the unlocked state may mean a state in which access to the credential encryption storage is obtained.
- Credential encryption storage is the primary storage of the electronic device 101 and can store data that must be encrypted with a key associated with user authentication information, such as a personal identification number (PIN) or password.
- PIN personal identification number
- the initialization module 221 may process a request to change the application process and the number of frames per second (fps) of the watch face, and may transmit a request to display the watch face to the second application 232.
- the service module 223 may perform operations to process processes of applications or modules that are executed after initialization is completed.
- the framework 220 may provide specialized modules for each type of operating system to provide differentiated functions.
- the framework 220 may dynamically delete some existing components or add new components.
- the framework 220 may be configured to further include a module (or service) (not shown) for wireless communication with an external electronic device (e.g., the electronic devices 102, 104 or the server 108 of FIG. 1). there is.
- the application 230 may be set to include an initialization-related application (eg, a module, manager, or program) to improve booting speed.
- an initialization-related application eg, a module, manager, or program
- it may include a first application (sysui application) 231 related to the system user interface and a second application 232 related to the watch face.
- the first application 231 may set or variably change initialization-related processes and the number of frames per second of the watch face until initialization is completed, and process processes related to display and deletion of the first screen indicating initialization.
- the application 230 may include an application received from an external electronic device (eg, the server 108 or the electronic devices 102 and 104).
- the application 230 may include a preloaded application or a third party application that can be downloaded from a server.
- the components and names of the components of the software module 201 may vary depending on the type of operating system. According to one embodiment, at least a portion of the software module 201 may be implemented as software, firmware, hardware, or a combination of at least two or more thereof. At least a portion of the software module 201 may be implemented (eg, executed) by, for example, a processor (eg, AP). At least a portion of the software module 201 may include, for example, at least one of a module, program, routine, set of instructions, or process for performing at least one function.
- FIGS. 3A and 3B are diagrams showing initialization of an electronic device according to an embodiment
- FIG. 4 is a graph showing initialization of an electronic device according to an embodiment.
- the electronic device 101 (e.g., the electronic device 101 of FIG. 1) according to an embodiment is a wearable device (e.g., a watch-type wearable device). ) can be.
- the electronic device 101 may include a display module 160 including a processor 120, a memory 130, and a display 161.
- the electronic device 101 may further include other components (eg, other components shown in FIG. 1) necessary to improve booting speed.
- the processor 120 of the electronic device 101 may be electrically connected to the memory 130 and the display module 160, and the electronic device 101
- the software module 201 may be controlled to perform an initialization (eg, booting) operation to start the operating system (eg, the operating system 142 of FIG. 1 or the software module 201 of FIG. 2).
- the processor 120 improves the booting performance of the electronic device 101 and controls modules related to the system UI and the watch face when it is switched to an unlocked state and a screen related to the watch face (e.g., a second screen) is displayed to be visible to the user.
- Initialization operations can be performed so that modules related to can be used immediately.
- the watch face is an execution screen (e.g., background screen) that is first displayed on the display when the electronic device 101 is switched to the unlocked state and initialization is completed, and displays at least one application (e.g., a function, service, or program). It may be a screen that displays a user interface (e.g., an image or graphic element) set based on information related to the execution of ).
- the execution screen displayed in relation to the watch face through the initialization operation according to one embodiment will be referred to as the second screen.
- the processor 120 starts an initialization operation in a locked state, for example, in response to an input of a power button, and executes an application related to the system user interface (UI) in the locked state. You can (create sysui application). According to one embodiment, the processor 120 performs activation of the system user interface (create sysui activity) and initiates activation of the system user interface (UI) through an application related to the system user interface (UI). It can be done. The processor 120 may control the display 161 to display the first screen 310 indicating initialization at the time of application execution.
- the processor 120 controls the display 161 to display an initialization screen 310 including images (e.g., visual effects or graphic elements) 311 and 312 related to the initialization operation in a locked state.
- the initialization screen 310 may refer to a screen displayed on the display 161 when initialization (eg, booting) begins.
- the initialization screen 310 includes an image 311 containing information (e.g., a logo) related to the manufacturer of the electronic device 101 and an image for notifying initialization (e.g., “starting”) 312. It can be included.
- the processor 120 generates an image related to the watch face while performing initialization and displays a second screen 320 including the image generated using the display 161.
- the display 161 can be controlled to be displayed simultaneously with the first screen 310.
- the processor 120 may display the second screen 320 so that it is overlapped and obscured by the first screen 310 or overlapped with the first screen 310 . While the second screen 320 and the first screen 310 are displayed, the second screen 320 may not be visually visible to the user.
- the processor 120 starts an initialization operation in a locked state in response to a power button input (press power button), as shown in FIG. 3B, and runs an application related to the system user interface (UI) in the locked state.
- the display 161 may be controlled to execute the application and display the first screen 310 indicating start initialization and initialization at the time of application execution.
- the processor 120 may control the display 161 to display an initialization screen 310 containing images (e.g., visual effects or graphic elements) 311, 312 related to initialization while performing initialization in a locked state. there is.
- the processor 120 displays the second screen 320 by setting the transparency of the second screen 320 to 100% while the second screen 320 is obscured by the first screen 310 and displayed in an overlapping manner (initialization).
- the transparency of the second screen 320 is changed to 0%, and the first screen 310 is removed to display the second screen 320.
- the display 161 can be controlled to display only ).
- the processor 120 gradually reduces the transparency value of the second screen 320 as the fps value of the second screen 320 sequentially changes within the transparency range of 0 to 100%.
- the second screen 320 is displayed in the background, and when initialization is completed, the display 161 can be controlled to remove the first screen 310 and display only the second screen 320.
- the processor 120 changes the locked state to the unlocked state while performing initialization, and displays the first screen 310 based on the initialization being completed (finish sysui initialization).
- the display 161 can be controlled to remove the screen and display the second screen 230 to be visible to the user.
- the watch face can run in the background while performing initialization in a locked state.
- a watch face is processed by one or more modules (e.g., applications, functions, or programs) that run ahead of time during initialization and provide information through the watch face so that it is immediately visible to the user after initialization is complete. It can mean a screen that is displayed.
- the watch face may be, for example, an application related to health or a watch.
- the application may be an application that integrates and provides various functions in conjunction with applications related to health and/or clocks. It is not limited to this, and various applications may be applied depending on the user's settings and system implementation as applications running during initialization.
- the processor 120 is hidden by the first screen 310, which is an initialization screen, so that it is not visually visible to the user, or the transparency of the second screen 320 is gradually adjusted to make it visible to the user.
- the first screen 310 and the second screen 320 may be displayed in an overlapping manner.
- the second screen 320 may be displayed and updated as a background screen while being displayed overlapping with the first screen 310.
- the processor 120 may control the display 161 to display the first screen 310 in the top layout and the second screen 320 in the bottom layout.
- the processor 120 may control the display 161 to make the second screen 320 transparent so that it is not visible to the user.
- the processor 120 sets the number of frames per second of the application and the number of frames per second of the watch face to first values (e.g., 1fps) during a first time period (t1-t2) while performing initialization.
- the display 161 can be controlled to display the first screen 310 and the second screen 320 at the number of frames per second of the first value.
- the number of frames per second may mean the update frequency of the display.
- the first time section (e.g., the t1-t2 time section in FIG. 4) includes modules (e.g., watchface engine module, watchface picker module, notification module, tile) required to configure the second screen 320 related to the watch face. It may be a time interval for performing initialization of at least one of a module or a tutorial module.
- the processor 120 sets the first value (e.g. : 1fps) to a second value (e.g., 15fps), and the display 161 can be controlled to display the second screen 320 related to the watch face at the number of frames per second of the changed second value.
- the processor 120 may set the number of frames per second of the watch face to maintain the second value during the second time interval (t2-t3) from the second time point (t2) to the third time point (t3).
- the second time section e.g., the t2-t3 time section in FIG.
- modules other than the modules necessary for configuring the second screen 320 related to the watch face e.g., at least one of the noti module or the batterystate module. It may be a time section in which initialization is performed.
- the processor 120 performs the initialization operation at the third time point t3.
- the second value can be changed to a third value (e.g., 30fps), and the display 161 can be controlled to display the second screen 320 related to the watch face at the number of frames per second of the changed third value.
- the processor 120 may set the number of frames per second of the watch face to maintain the third value from the third time t3 to the fourth time t4. It is not limited thereto, and according to one embodiment, when the initialization operation of modules other than those necessary for configuring the second screen 320 related to the watch face is completed at the third time point t3, the processor 120 Maintain the first value (e.g., 1fps) from the first time point (t1) to the second time point (t2), change the first value to the third value (e.g., 30fps) at the third time point (t3), and change the The display 161 may be controlled to display the second screen 320 related to the watch face at a third value of frames per second. The processor 120 may set the number of frames per second of the watch face to maintain the third value from the third time t3 to the fourth time t4.
- the processor 120 may set the number of frames per second of the watch face to maintain the third value from the third time t3 to the fourth time t4.
- the processor 120 maintains the first value (e.g., 1fps) from the first time point (t2) to the fourth time point (t4) and then performs a process according to the execution of the application at the fourth time point (t4).
- the number of frames per second can be changed from a first value (e.g. 1fps) to a fourth value (e.g. 60fps).
- the second screen 320 related to the watch face which was hidden by the first screen 310 and was not visible, is displayed at the fourth time point (t4).
- the first screen 310 can be removed so that it is immediately visible to the user at t4).
- the main components of the electronic device have been described through the electronic device 101 of FIGS. 1 and 2.
- the electronic device 101 may be implemented with more components than the components shown, or fewer components.
- the electronic device 101 may be implemented by .
- the positions of major components of the electronic device 101 described above with reference to FIGS. 1 and 2 may be changed according to various embodiments.
- an electronic device e.g., the electronic device 101 of FIGS. 1 and 2 includes a memory (e.g., the memory 130 of FIG. 1) and a display (e.g., the display module 160 of FIG. 1). It may include an included display (or display 161 of FIG. 3) and at least one processor (eg, processor 120 of FIG. 1) electrically connected to the memory and the display.
- a memory e.g., the memory 130 of FIG. 1
- a display e.g., the display module 160 of FIG.
- It may include an included display (or display 161 of FIG. 3) and at least one processor (eg, processor 120 of FIG. 1) electrically connected to the memory and the display.
- the processor may be set to execute an application (eg, the first application 231 of FIG. 2) related to the system user interface (UI) in a locked state.
- an application eg, the first application 231 of FIG. 2 related to the system user interface (UI) in a locked state.
- the processor may be set to control the display to display a first screen (eg, first screen 310 in FIG. 3) indicating initialization through the application.
- a first screen eg, first screen 310 in FIG. 3
- the processor generates an image related to the watch face while performing the initialization, and displays a second screen (e.g., the second screen 320 in FIG. 3) including the first screen and the image. It can be set to control the display to display.
- the processor may be set to convert the locked state to an unlocked state while performing the initialization.
- the processor may be set to control the display to remove the first screen and display the second screen based on the completion of the initialization.
- the processor may set the number of frames per second of the application and the number of frames per second of the watch face to first values, respectively.
- the processor may be set to control the display to display the first screen and the second screen at the number of frames per second of the first value during a first time period after starting the initialization.
- the processor is switched to the unlock state and, based on completion of initial execution of at least one module related to the watch face, changes the number of frames per second of the watch face from the first value to the second value. It can be set to change to .
- the processor displays the second screen at a number of frames per second of the second value for a second time period after initial execution of at least one module related to the watch face is completed, and displays the second screen at a number of frames per second of the first value.
- the display may be set to control to display the first screen at a number of frames per second.
- the processor may be set to change the number of frames per second of the watch face to a third value after a specified time (10 seconds) has elapsed after changing to the second value and before the initialization is completed. there is.
- the processor may be set to control the display to display the second screen at the number of frames per second of the third value from the time the screen is changed to the third value.
- the first value may be lower than the second value
- the third value may be higher than the second value.
- the processor changes the frames per second of the application related to the system user interface before removing the first screen after a specified time has elapsed from the time the number of frames per second of the watch face is changed to the third value.
- the number may be set to change from the first value to the fourth value.
- the image included in the second screen may include objects representing information related to execution of modules related to the watch face.
- the processor may be set to control a first application module included in the software module stored in the memory to process processes for executing the application, performing the initialization, and displaying the first screen. .
- the processor may be set to control a second application module included in the software module to process a process for displaying the second screen.
- the second application module processes processes related to execution of the watch face and may include at least one module related to the watch face.
- 5 and 6 are diagrams illustrating an example of an operation method in an electronic device according to an embodiment.
- an electronic device e.g., the electronic device 101 of FIGS. 1 and 2 may begin initialization (e.g., booting) in a locked state in operation 601. .
- the electronic device may transmit an application execution request (create) from the framework 220 of the software module 201 to the first application (sysui application) 231 (501).
- the electronic device may execute an application related to the system user interface (eg, the first application 231 of FIG. 2) in a locked state.
- the first application 231 of the electronic device may start initialization (starting initializer) 502 in a locked state.
- the electronic device may change the number of frames per second of the application and the number of frames per second of the watch face to a low value, respectively, and then change them to a high value (designated value).
- the electronic device may set or change the frame rate per second of the application and the number of frames per second of the watch face to a low first value (e.g., 1 fps).
- the electronic device displays a first screen (e.g., the first screen 310 of FIG. 3), which is an initialization screen indicating initialization, through an executed application (e.g., the display module 160 of FIG. 1 and FIG. 2). It can be displayed on the display 161).
- the first application 231 of the electronic device may display 503 a first screen indicating initialization through an internal module (eg, a starting view module).
- the electronic device may generate an image related to the watch face and display the first screen and the second screen including the generated image on the display.
- the electronic device may display a second screen (e.g., the second screen 320 of FIG. 3) including an image related to the watch face on the display so that it is covered by or overlaps with the first screen.
- the first application 231 of the electronic device activates the system user interface (sysui) through an internal module (e.g., system UI activation (sysui activity) module) (504), and the first application (231) ) may request (505) the framework (220) to display the watch face.
- the framework 220 may request (507) the second application 232 of the watch face to display a second screen related to the watch face.
- the first application 231 may initialize modules related to the watch face necessary for configuring the second screen through an internal module (eg, an initializer module) (506).
- the electronic device may display the second screen on the display by overlapping it with the first screen so that the second screen is obscured by the first screen and is not visually visible.
- the electronic device displays the second screen 320 with the transparency of the second screen 320 set to 100% while the second screen 320 is obscured by the first screen 310 and displayed in an overlapping manner.
- the second screen may be hidden by the first screen and be visually invisible to the user, or may be displayed and updated as a background screen to gradually become visible by adjusting transparency.
- the electronic device may display the first screen in the top layout and the second screen in the bottom layout.
- the electronic device may process the second screen as transparent and display it on the display so that it is not visible to the user.
- the electronic device displays the first screen and the second screen on the display at a first value of the number of frames per second, respectively, during a first time period (e.g., the t1-t2 time period in FIG. 4).
- a first time period e.g., the t1-t2 time period in FIG. 4
- the first time section includes modules (e.g., watchface engine module, watchface picker module, notification module, tile module, or tutorial) required to configure the second screen related to the watch face. It may be a time section in which initialization of (at least one of the modules) is performed.
- the electronic device when initialization of modules related to the watch face is completed in the first time period, changes the number of frames per second of the watch face from a first value (e.g., 1fps) to a second value (e.g., 15fps). You can change it.
- the electronic device can display the second screen with the number of frames per second changed to the second value, thereby providing as natural an operation as possible when an animation effect occurs during initialization.
- the electronic device changes the number of frames per second of the watch face from the second value to the third value. By changing or reverting to (e.g.
- the second screen can be displayed naturally as soon as it is visible to the user.
- the point at which the initialization of modules not required for the second screen configuration is completed is when a certain period of time (e.g., the time period t2-t3 in FIG. 4) elapses after changing to the second value (t2) before initialization is completed. It may be at one point in time (t3).
- the electronic device displays the first screen after a specified time (e.g., 10 seconds) has elapsed from the time when the number of frames per second of the watch face is changed to the third value (e.g., time t3 in FIG. 4).
- the number of frames per second of the application may be changed from the first value to the fourth value.
- the electronic device may maintain a first value (eg, 1fps) for the number of frames per second of the process according to the execution of the application from time t1 to time t4 in FIG. 4.
- the electronic device may change the locked state to the unlocked state while performing initialization.
- the first application 231 of the electronic device receives a request (or command) 508 for switching the electronic device to the unlocked state from the framework 220, and executes an internal function (or module) ( Example: Locked state can be converted to unlocked state through system UI activation (sysui activity).
- the electronic device may switch to the unlocked state when initializing or performing initialization of modules required to configure the second screen related to the watch face.
- the electronic device can check whether initialization has been completed. As a result of confirmation, if initialization is completed, the electronic device may perform operation 613, and if initialization is not completed, the electronic device may perform operation 611 again.
- the electronic device may remove the first screen and display the second screen on the display.
- the first application 231 of the electronic device activates another module (e.g., start view) through an internal function (or module) (e.g., system UI activation (sysui activity)).
- a request (510) may be made to hide the first screen with a module (starting view module).
- the electronic device executes the creation and initialization of an application (e.g., a home application) related to the system user interface in a locked state of the electronic device, and executes a module related to the watch face before initialization is completed. It can be initialized, and a second screen related to the watch face can be displayed by overlapping the first screen of the application. Accordingly, when the initialization operation is completed, the electronic device removes the first screen so that the second screen can be immediately displayed to the user, and the watch face can be immediately used, thereby improving booting speed and preventing unnecessary operations. You can get rid of the black screen.
- an application e.g., a home application
- the electronic device sets the number of frames per second of the process of the system user interface application and the watch face to a low value until initialization is completed, and then changes them to a high value sequentially or all at once, so that the actual screen operates. You can prevent unnecessary CPU usage due to display updates in sections that are not being used.
- a method directly boot method to improve booting speed in a low-specification wearable electronic device is used to quickly create another screen when booting, blocking user input, slowing down booting speed, and running after booting. This uneven phenomenon can be prevented.
- various effects that can be directly or indirectly identified through this document may be provided.
- a method of operating an electronic device may include executing an application related to a system user interface (UI) in a locked state. .
- UI system user interface
- the method may include displaying a first screen (eg, first screen 310 of FIG. 3) indicating initialization through the application.
- a first screen eg, first screen 310 of FIG. 3
- the method generates an image related to the watch face while performing the initialization, and displays the first screen and a second screen (e.g., the second screen 320 in FIG. 3) including the image. It may include an operation of displaying information on a display of the electronic device (e.g., the display module 160 of FIG. 1 and the display 161 of FIG. 2).
- the method may include converting the locked state to an unlocked state while performing the initialization.
- the method may include removing the first screen and displaying the second screen on the display based on the completion of the initialization.
- the method may further include changing the number of frames per second of the application and the number of frames per second of the watch face, respectively, while performing the initialization.
- the operation of changing the frames per second of the application and the frames per second of the watch face while performing the initialization changes the frames per second of the application and the frames per second of the watch face after starting the initialization.
- the operation of changing the number of frames per second of the application and the number of frames per second of the watch face while performing the initialization is an initial operation of at least one module related to the watch face after switching to the unlock state.
- changing the number of frames per second of the watch face from the first value to a second value and performing the first time period during a second time interval after initial execution of at least one module related to the watch face is completed.
- the method may further include displaying the second screen at a number of frames per second equal to 2 and displaying the first screen at a number of frames per second equal to the first value.
- the operation of changing the number of frames per second of the application and the number of frames per second of the watch face during the initialization is performed when a specified time (10 seconds) elapses after changing the number of frames per second of the watch face to the second value, changing the number of frames per second of the watch face to a third value before the initialization is completed; and an operation of displaying the second screen at the number of frames per second of the third value from the time the screen is changed to the third value.
- the first value may be lower than the second value, and the third value may be higher than the second value.
- the operation of changing the number of frames per second of the application and the number of frames per second of the watch face during the initialization is performed at a specified time from the time the number of frames per second of the watch face is changed to the third value. After this has elapsed, the operation of changing the number of frames per second of the application from the first value to the fourth value may be further included before removing the first screen.
- the image included in the second screen may include objects representing information related to execution of modules related to the watch face.
- the program is stored in a processor (e.g., processor 120 of FIG. 1) of an electronic device (e.g., electronic device 101 of FIGS. 1 and 2). ), when the electronic device executes an application (e.g., the first application 231 of FIG. 2) related to the system user interface (UI) in a locked state, a first operation indicating initialization through the application.
- an application e.g., the first application 231 of FIG. 2
- An operation of displaying a screen e.g., the first screen 310 in FIG. 3
- a second screen e.g., FIG. 3 including the first screen and the image.
- An operation of displaying the second screen 320 of 3) on the display of the electronic device e.g., the display module 160 of FIG. 1 and the display 161 of FIG. 2), and unlocking the lock state while performing the initialization.
- the electronic device e.g., the display module 160 of FIG. 1 and the display 161 of FIG. 2
- it may include an executable command to execute an operation of removing the first screen and displaying the second screen on the display.
- a non-transitory storage medium storing a program may include an executable command to further execute an operation of changing the frames per second of the application and the number of frames per second of the watch face, respectively, while performing the initialization. there is.
- the operation of changing the frames per second of the application and the frames per second of the watch face while performing the initialization changes the frames per second of the application and the frames per second of the watch face after starting the initialization.
- the operation of changing the number of frames per second of the application and the number of frames per second of the watch face while performing the initialization is the initialization of at least one module related to the watch face after being converted to the unlock state.
- changing the number of frames per second of the watch face from the first value to a second value and performing the first time period during a second time interval after initial execution of at least one module related to the watch face is completed. It may include an executable command to further perform an operation of displaying the second screen at a number of frames per second of a value of 2 and displaying the first screen at a number of frames per second of the first value.
- the operation of changing the number of frames per second of the application and the number of frames per second of the watch face while performing the initialization is performed when a specified time (10 seconds) elapses after changing the number of frames per second of the watch face to the second value, An operation of changing the number of frames per second of the watch face to a third value before the initialization is completed, an operation of displaying the second screen at the number of frames per second of the third value from the time when the number of frames per second of the watch face is changed to the third value, and the watch face To further execute an operation of changing the number of frames per second of the application from the first value to the fourth value before removing the first screen after a specified time has elapsed from the time the number of frames per second is changed to the third value.
- the first value may be lower than the second value
- the third value may be higher than the second value.
- Electronic devices may be of various types.
- Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances.
- Electronic devices according to embodiments of this document are not limited to the above-described devices.
- first, second, or first or second may be used simply to distinguish one component from another, and to refer to that component in other respects (e.g., importance or order) is not limited.
- One (e.g., first) component is said to be “coupled” or “connected” to another (e.g., second) component, with or without the terms “functionally” or “communicatively.”
- any of the components can be connected to the other components directly (e.g. wired), wirelessly, or through a third component.
- module used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and is interchangeable with terms such as logic, logic block, component, or circuit, for example. It can be used as A module may be an integrated part or a minimum unit of the parts or a part thereof that performs one or more functions. For example, according to one embodiment, the module may be implemented in the form of an application-specific integrated circuit (ASIC).
- ASIC application-specific integrated circuit
- Various embodiments of the present document are one or more instructions stored in a storage medium (e.g., built-in memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). It may be implemented as software (e.g., program 140) including these.
- a processor e.g., processor 120
- the one or more instructions may include code generated by a compiler or code that can be executed by an interpreter.
- a storage medium that can be read by a device may be provided in the form of a non-transitory storage medium.
- 'non-transitory' only means that the storage medium is a tangible device and does not contain signals (e.g. electromagnetic waves), and this term refers to cases where data is semi-permanently stored in the storage medium. There is no distinction between temporary storage cases.
- Computer program products are commodities and can be traded between sellers and buyers.
- the computer program product may be distributed in the form of a machine-readable storage medium (e.g. compact disc read only memory (CD-ROM)), or through an application store (e.g. Play Store TM ) or on two user devices (e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
- a machine-readable storage medium e.g. compact disc read only memory (CD-ROM)
- an application store e.g. Play Store TM
- two user devices e.g. It can be distributed (e.g. downloaded or uploaded) directly between smart phones) or online.
- at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
- each component (e.g., module or program) of the above-described components may include a single or plural entity, and some of the plurality of entities may be separately placed in other components. there is.
- one or more of the components or operations described above may be omitted, or one or more other components or operations may be added.
- multiple components eg, modules or programs
- the integrated component may perform one or more functions of each component of the plurality of components in the same or similar manner as those performed by the corresponding component of the plurality of components prior to the integration. .
- operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, or omitted. Alternatively, one or more other operations may be added.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 문서는 초기화를 위한 전자 장치 및 방법에 관한 것으로서, 일 실시예에 따르면, 전자 장치의 프로세서는 락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션을 실행하도록 설정될 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 어플리케이션을 통해 초기화를 나타내는 제1 화면을 표시하도록 디스플레이를 제어하도록 설정될 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하도록 설정될 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다. 다른 실시예도 가능하다.
Description
본 문서에 개시된 다양한 실시예들은 초기화 동작을 위한 전자 장치 및 방법에 관한 것이다.
전자 장치는 디지털 기술의 발달과 함께 스마트폰(smart phone), 태블릿 PC(tablet personal computer), 또는 PDA(personal digital assistant)와 같은 다양한 형태로 제공되고 있다. 전자 장치는 이동성(portability) 및 사용자의 접근성(accessibility)을 향상시킬 수 있도록 사용자에 착용할 수 있는 형태로도 개발되고 있다.
기술 발전에 따라, 웨어러블 장치 및 이와 관련된 액세서리들이 개발되고 있다. 특히, 웨어러블 장치 중 스마트 워치(smart watch) 및 그 액세서리(예: 스트랩)에 관한 분야의 시장이 부상(emerge)하고 있다.
전자 장치는 저 성능의 웨어러블 장치로서, 전자 장치의 구동을 위한 초기화를 수행 시 워치 페이스가 디스플레이에서 보이는 시점에 워치 페이스 동작에 필요한 서비스 또는 어플리케이션들이 순차적으로 실행되면서 초기화가 완료될 수 있다. 이에 따라 전자 장치는 필요한 서비스 또는 어플리케이션들이 정상적으로 초기화되는 시간만큼 워치 페이스가 화면에는 보이지만 정상 동작하지 못할 수 있으므로 전자 장치를 실제 사용 가능한 시점이 늦어지게 될 수 있다.
본 문서의 일 실시예에 따르면, 전자 장치는, 메모리, 디스플레이 및 상기 메모리 및 상기 디스플레이와 전기적으로 연결된 적어도 하나의 프로세서를 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서는 락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션을 실행하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 어플리케이션을 통해 초기화를 나타내는 제1 화면을 표시하도록 디스플레이를 제어하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
일 실시 예에 따르면, 전자 장치에서의 동작 방법은, 락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션을 실행하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 어플리케이션을 통해 초기화를 나타내는 제1 화면을 표시하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면을 상기 전자 장치의 디스플레이에 표시하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 상기 디스플레이에 표시하는 동작을 포함할 수 있다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 일 실시예에 따른 전자 장치의 소프트웨어 모듈의 구성 예를 나타내는 도면이다.
도 3a 및 도 3b는 일 실시예에 따른 전자 장치의 초기화를 나타내는 도면이다.
도 4는 일 실시예에 따른 전자 장치의 초기화를 나타내는 그래프이다.
도 5는 일 실시예에 따른 전자 장치에서의 동작 방법의 예를 나타내는 도면이다.
도 6은 일 실시예에 따른 전자 장치에서의 동작 방법의 예를 나타내는 도면이다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
이하, 첨부된 도면들을 참조하여 다양한 실시예에 따른 전자 장치에 대해서 살펴본다. 다양한 실시예에서 이용되는 사용자라는 용어는 전자 장치를 사용하는 사람 또는 전자 장치를 사용하는 장치(예를 들어, 인공지능 전자 장치)를 지칭할 수 있다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일 실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 1eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 일 실시예에 따른 전자 장치의 소프트웨어 모듈의 구성 예를 나타내는 도면이다.
도 1 및 도 2를 참조하면, 일 실시 예에 따른 전자 장치(101)는 전자 장치의 부팅 속도를 향상시키기 위한 동작들을 실행하기 위한 소프트웨어 모듈(201)(예: 도 1의 프로그램(140))을 구현할 수 있다. 전자 장치(101)의 메모리(130)는 도 2에 도시된 소프트웨어 모듈(201)을 구현하기 위해 명령어들(예: 인스트럭션들(instructions))을 저장할 수 있다. 적어도 하나의 프로세서(120)는 도 2에 도시된 소프트웨어 모듈(201)을 구현하기 위해 메모리(130)에 저장된 명령어들을 실행시킬 수 있고, 소프트웨어 모듈(201)의 기능과 연관된 하드웨어(예: 도 1의 디스플레이 모듈(160), 센서 모듈(176), 전력 관리 모듈(188) 또는 통신 모듈(190))를 제어할 수 있다.
도 2를 참조하면, 일 실시 예에 따른 전자 장치(101)의 소프트웨어 모듈(201)은 커널(또는 HAL)(210), 프레임워크(예: 도 1의 미들웨어(144))(220) 및 어플리케이션(230)(예: 도 1의 어플리케이션(146))을 포함하여 설정될 수 있다. 소프트웨어 모듈(201)의 적어도 일부는 전자 장치(101) 상에 프리로드(preload) 되거나, 서버(예: 서버(108))로부터 다운로드(download) 가능할 수 있다.
일 실시 예에 따르면, 커널(210)은 예를 들어, 시스템 리소스 매니저 또는 디바이스 드라이버(211)를 포함할 수 있으며, 이에 한정되지 않고 다른 모듈을 더 포함하여 설정될 수 있다. 시스템 리소스 매니저는 시스템 리소스의 제어, 할당, 또는 회수 중 적어도 하나를 수행할 수 있다. 디바이스 드라이버(211)는, 예를 들어, 디스플레이 드라이버, 카메라 드라이버, 블루투스 드라이버, 공유 메모리 드라이버, USB 드라이버, 키패드 드라이버, WIFI 드라이버, 오디오 드라이버, 또는 IPC(inter-process communication) 드라이버를 포함할 수 있다.
일 실시 예에 따르면, 프레임워크(framework)(220)는 예를 들어, 초기화 모듈(221) 및 서비스 모듈(service module)(223)을 포함하여 설정될 수 있으며, 이에 한정되지 않고 다른 모듈을 더 포함하여 설정될 수 있다. 프레임워크(220)는 어플리케이션(230)이 공통적으로 필요로 하는 기능을 제공하거나, 어플리케이션(230)이 전자 장치(101) 내부의 제한된 시스템 자원을 효율적으로 사용할 수 있도록 API(application programming interface)(도시되지 않음)를 통해 다양한 기능들을 어플리케이션(230)으로 제공할 수 있다. 초기화 모듈(221)은 전자 장치(101)의 초기화 요청에 응답하여, 운영체제를 실행하기 위한 초기화(예: 부팅)를 수행하고, 어플리케이션(230)에 포함된 전자 장치(101)의 구동에 필요한 모듈들의 초기화를 실행할 수 있다. 프레임워크(220)는 전술한 구성요소들의 다양한 기능의 조합을 형성하는 모듈을 포함할 수 있다. 초기화 모듈(221)은 전자 장치(101)의 락(lock) 상태에서 초기화를 시작한 후 초기화 수행 중 전자 장치(101)는 언락(unlock) 상태로 전환할 수 있다. 여기서, 락 상태는 자격증명 암호화 저장소의 접근 권한이 획득되지 않은 상태를 의미할 수 있으며, 언락 상태는 자격증명 암호화 저장소의 접근 권한이 획득된 상태를 의미할 수 있다. 자격증명 암호화 저장소는 전자 장치(101)의 기본 저장소로서, 개인 식별 번호(PIN: personal identification number)이나 비밀번호와 같이 사용자 인증 정보와 연관된 키로 암호화되어야 하는 데이터를 저장할 수 있다. 초기화 모듈(221)은 어플리케이션의 프로세스 및 워치 페이스의 초당 프레임 수(fps, frames per second)의 변경 요청을 처리하고, 워치 페이스의 표시 요청을 제2 어플리케이션(232)으로 전달할 수 있다. 서비스 모듈(223)은 초기화 완료 후 실행되는 어플리케이션 또는 모듈의 프로세스들을 처리하기 위한 동작을 수행할 수 있다. 프레임워크(220)는 차별화된 기능을 제공하기 위해 운영 체제의 종류별로 특화된 모듈을 제공할 수 있다. 프레임워크(220)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 프레임워크(220)는 외부 전자 장치(예, 도 1의 전자 장치(102, 104) 또는 서버(108))와의 무선 통신을 위한 모듈(또는 서비스)(도시되지 않음)을 더 포함하여 설정될 수 있다.
일 실시 예에 따르면, 어플리케이션(230)은 부팅 속도를 향상시키기 위해 초기화 관련 어플리케이션(예: 모듈, 매니저 또는 프로그램)을 포함하여 설정될 수 있다. 예를 들어, 시스템 사용자 인터페이스에 관련된 제1 어플리케이션(sysui application)(231) 및 워치 페이스와 관련된 제2 어플리케이션(232)을 포함할 수 있다. 제1 어플리케이션(231)은 초기화가 완료될 때까지 초기화 관련 프로세스 및 워치 페이스의 초당 프레임 수를 설정 또는 가변적으로 변경하고, 초기화를 나타내는 제1 화면의 표시 및 삭제와 관련된 프로세스를 처리할 수 있다. 어플리케이션(230)은 외부 전자 장치(예: 서버(108) 또는 전자 장치(102, 104))로부터 수신된 어플리케이션을 포함할 수 있다. 일 실시 예에 따르면, 어플리케이션(230)은 프리로드 어플리케이션(preloaded application) 또는 서버로부터 다운로드 가능한 제3자 어플리케이션(third party application)을 포함할 수 있다. 도시된 실시 예에 따른 소프트웨어 모듈(201)의 구성요소들 및 구성요소들의 명칭은 운영 체제의 종류에 따라서 달라질 수 있다. 일 실시 예에 따르면, 소프트웨어 모듈(201)의 적어도 일부는 소프트웨어, 펌웨어, 하드웨어, 또는 이들 중 적어도 둘 이상의 조합으로 구현될 수 있다. 소프트웨어 모듈(201)의 적어도 일부는, 예를 들면, 프로세서(예: AP)에 의해 구현(implement)(예: 실행)될 수 있다. 소프트웨어 모듈(201)의 적어도 일부는 적어도 하나의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트(sets of instructions) 또는 프로세스 중 적어도 하나를 포함할 수 있다.
도 3a 및 도 3b는 일 실시예에 따른 전자 장치의 초기화를 나타내는 도면들이고, 도 4는 일 실시예에 따른 전자 장치의 초기화를 나타내는 그래프이다.
도 1, 도 2, 도 3a, 도 3b 및 도 4를 참조하면, 일 실시예에 따른 전자 장치(101)(예: 도 1의 전자 장치(101))는 웨어러블 장치(예: 시계형 웨어러블 장치)일 수 있다. 전자 장치(101)는 프로세서(120), 메모리(130) 및 디스플레이(161)를 포함하는 디스플레이 모듈(160)을 포함할 수 있다. 이외에도 전자 장치(101)는 부팅 속도를 향상시키 위해 필요한 다른 구성 요소들(예: 도 1에 도시된 다른 구성 요소들)을 더 포함할 수 있다.
일 실시예에 따르면, 전자 장치(101)의 프로세서(120)(예: 도 1의 프로세서(120))는 메모리(130) 및 디스플레이 모듈(160)과 전기적으로 연결될 수 있으며, 전자 장치(101)의 운영체제(예: 도 1의 운영 체제(142) 또는 도 2의 소프트웨어 모듈(201))를 시작하기 위한 초기화(예: 부팅) 동작을 수행하도록 소프트웨어 모듈(201)을 제어할 수 있다. 프로세서(120)는 전자 장치(101)의 부팅 성능을 향상시키고, 언락 상태로 전환되어 워치 페이스에 관련된 화면(예: 제2 화면)이 사용자에게 보이도록 표시될 때 시스템 UI에 관련된 모듈 및 워치 페이스에 관련된 모듈을 즉시 사용할 수 있도록 초기화 동작을 수행할 수 있다. 여기서, 워치 페이스는 전자 장치(101)의 언락 상태로 전환된 후 초기화가 완료될 때, 디스플레이에 처음 표시되는 실행 화면(예: 배경 화면)으로서, 적어도 하나의 어플리케이션(예: 기능, 서비스 또는 프로그램)의 실행에 관련된 정보를 기반하여 설정된 사용자 인터페이스(예: 이미지 또는 그래픽 요소)를 표시하는 화면일 수 있다. 이하에서는 설명의 편의를 위해 일 실시예에 따른 초기화 동작을 통해 워치 페이스에 관련되어 표시되는 실행 화면을 제2 화면이라 칭한다.
일 실시예에 따르면, 프로세서(120)는 예를 들어, 전원 버튼(power button)의 입력에 응답하여, 락 상태에서 초기화 동작을 시작하고, 락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션을 실행(create sysui application)할 수 있다. 일 실시예에 따르면, 프로세서(120)는 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션을 통해 시스템 사용자 인터페이스의 활성화 실행(create sysui activity)을 수행하고, 시스템 사용자 인터페이스의 활성화의 시작(initialize sysui activity)을 수행할 수 있다. 프로세서(120)는 어플리케이션 실행 시점에 초기화를 나타내는 제1 화면(310)을 표시하도록 디스플레이(161)를 제어할 수 있다. 일 실시예에 따르면, 프로세서(120)는 락 상태에서 초기화 동작에 관련된 이미지(예: 시각적 효과 또는 그래픽 요소)(311, 312)를 포함하는 초기화 화면(310)을 표시하도록 디스플레이(161)를 제어할 수 있다. 여기서, 초기화 화면(310)은 초기화(예: 부팅) 시작 시 디스플레이(161)에 표시되는 화면을 의미할 수 있다. 예를 들어, 초기화 화면(310)은 전자 장치(101)의 제조사에 관련된 정보(예: 로고)를 포함하는 이미지(311) 및 초기화를 알리기 위한 이미지(예: "시작중")(312)를 포함할 수 있다.
일 실시예에 따르면, 도 3a와 같이, 프로세서(120)는 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 디스플레이(161)를 이용하여 생성된 이미지를 포함하는 제2 화면(320)을 제1 화면(310)과 동시에 표시하도록 디스플레이(161)를 제어할 수 있다. 예를 들어, 프로세서(120)는 제2 화면(320)을 제1 화면(310)에 의해 오버랩되어 가려지도록 또는 중첩되도록 표시할 수 있다. 제2 화면(320) 및 제1 화면(310)을 표시되는 동안, 제2 화면(320)은 사용자에게 시각적으로 보이지 않을 수 있다.
일 실시예에 따르면, 프로세서(120)는 도 3b와 같이, 파워 버튼 입력(press power button)에 응답하여, 락 상태에서 초기화 동작을 시작하고, 락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션을 실행하고, 어플리케이션 실행 시점에 초기화 시작(start initialization) 및 초기화 수행 중(initialization)인 것을 나타내는 제1 화면(310)을 표시하도록 디스플레이(161)를 제어할 수 있다. 프로세서(120)는 락 상태에서 초기화를 수행하는 동안 초기화에 관련된 이미지(예: 시각적 효과 또는 그래픽 요소)(311, 312)를 포함하는 초기화 화면(310)을 표시하도록 디스플레이(161)를 제어할 수 있다. 프로세서(120)는 제2 화면(320)이 제1 화면(310)에 의해 가려져서 중첩되어 표시되는 동안(initialization), 제2 화면(320)의 투명도를 100%로 하여 제2 화면(320)을 제1 화면(310)과 중첩하여 표시한 이후 초기화가 완료(finish initialization)되면, 제2 화면(320)의 투명도를 0%로 변경하고, 제1 화면(310)이 제거하여 제2 화면(320)만을 표시하도록 디스플레이(161)를 제어할 수 있다. 일 실시예에 따르면, 프로세서(120)는 제2 화면(320)이 투명도 0~100% 범위 내에서 제2 화면(320)의 fps값이 순차적으로 변경됨에 따라 점차적으로(gradually) 투명도 값을 줄이면서 제2 화면(320)을 백그라운드로 표시하고, 초기화가 완료(finish initialization)되면, 제1 화면(310)이 제거하여 제2 화면(320)만을 표시하도록 디스플레이(161)를 제어할 수 있다.
일 실시예에 따르면, 프로세서(120)는 초기화를 수행 중 락(lock) 상태를 언락(unlock) 상태로 전환하고, 초기화가 완료(finish sysui initialization)된 것에 기반하여, 제1 화면(310)을 제거하고, 사용자에게 보이도록 제2 화면(230)을 표시하도록 디스플레이(161)를 제어할 수 있다. 여기서, 워치 페이스는 락 상태에서 초기화를 수행하는 동안 백그라운드로 실행될 수 있다. 예를 들어, 워치 페이스는 초기화를 수행하는 동안 미리 실행되고, 초기화가 완료된 후 사용자에게 즉시 보이도록 워치 페이스를 통해 정보를 제공하는 하나 또는 복수의 모듈(예: 어플리케이션, 기능 또는 프로그램)에 의해 처리되는 화면을 의미할 수 있다. 일 실시예에 따르면, 워치 페이스는 예를 들어, 헬스 또는 시계와 관련된 어플리케이션일 수 있다. 일 실시예에 따르면, 어플리케이션은 헬스 및/또는 시계와 관련된 어플리케이션에 연동하여 다양한 기능을 통합하여 제공하는 어플리케이션일 수 있다. 이에 한정되지 않고, 초기화를 수행하는 동안 실행되는 어플리케이션은 사용자의 설정 및 시스템 구현에 따라 다양한 어플리케이션이 적용될 수 있다.
일 실시예에 따르면, 프로세서(120)는 초기화 화면인 제1 화면(310)에 가려져서 사용자에게 시각적으로 보이지 않도록 하거나, 제2 화면(320)의 투명도를 점차적으로(gradually) 조절하여 시각적으로 보이도록 제2 화면(320)을 표시할 때, 제1 화면(310) 및 제2 화면(320)을 중첩하여 표시할 수 있다. 여기서, 제2 화면(320)은 제1 화면(310)과 중첩되어 표시되는 동안, 백그라운드 화면으로 표시 및 갱신될 수 있다. 예를 들어, 프로세서(120)는 제1 화면(310)을 최상단의 레이아웃에 표시하고, 제2 화면(320)을 하단의 레이아웃에 표시하도록 디스플레이(161)를 제어할 수 있다. 예를 들어, 프로세서(120)는 제2 화면(320)을 투명하게 처리하여 사용자에게 보이지 않도록 디스플레이(161)를 제어할 수 있다.
일 실시예에 따르면, 프로세서(120)는 초기화를 수행 중 제1 시간 구간(t1-t2)동안 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 제1 값(예: 1fps)으로 설정하고, 제1 화면(310) 및 상기 제2 화면(320)을 각각 제1 값의 초당 프레임 수로 표시하도록 디스플레이(161)를 제어할 수 있다. 여기서, 초당 프레임 수는 디스플레이의 갱신 빈도를 의미할 수 있다. 여기서, 제1 시간 구간(예: 도 4의 t1-t2 시간 구간)은 워치 페이스에 관련된 제2 화면(320)을 구성하는데 필요한 모듈들(예: watchface engine module, watchface picker module, notification module, tile module 또는 tutorial module 중 적어도 하나)의 초기화를 수행하는 시간 구간일 수 있다.
일 실시예에 따르면, 워치 페이스에 관련된 제2 화면(320)을 구성하는데 필요한 모듈들의 초기화 동작이 완료되면, 도 4와 같이, 프로세서(120)는 제2 시점(t2)에서 제1 값(예: 1fps)을 제2 값(예: 15fps)으로 변경하고, 변경된 제2 값의 초당 프레임 수로 워치 페이스에 관련된 제2 화면(320)을 표시하도록 디스플레이(161)를 제어할 수 있다. 프로세서(120)는 제2 시점(t2)에서 제 3 시점(t3)까지 제2 시간 구간(t2-t3)동안 제2 값을 유지하도록 워치 페이스의 초당 프레임 수를 설정할 수 있다. 여기서, 제2 시간 구간(예: 도 4의 t2-t3 시간 구간)은 워치 페이스에 관련된 제2 화면(320)을 구성하기 위한 필요한 모듈들 이외의 모듈들(예: noti module 또는 batterystate module 중 적어도 하나)의 초기화를 수행하는 시간 구간일 수 있다. 일 실시예에 따르면, 제3 시점(t3)에 워치 페이스에 관련된 제2 화면(320)을 구성하기 위한 필요한 모듈들 이외의 모듈들의 초기화 동작이 완료되면, 프로세서(120)는 제3 시점(t3)에서 제2 값을 제3 값(예: 30fps)으로 변경하고, 변경된 제3 값의 초당 프레임 수로 워치 페이스에 관련된 제2 화면(320)을 표시하도록 디스플레이(161)를 제어할 수 있다. 프로세서(120)는 제3 시점(t3)에서 제4 시점(t4)까지 제3 값을 유지하도록 워치 페이스의 초당 프레임 수를 설정할 수 있다. 이에 한정되지 않고, 일 실시예에 따르면, 제3 시점(t3)에 워치 페이스에 관련된 제2 화면(320)을 구성하기 위한 필요한 모듈들 이외의 모듈들의 초기화 동작이 완료되면, 프로세서(120)는 제1 시점(t1)에서 제2 시점(t2)까지 제1 값(예: 1fps)을 유지하고, 제3 시점(t3)에서 제1 값을 제3 값(예: 30fps)으로 변경하고, 변경된 제3 값의 초당 프레임 수로 워치 페이스에 관련된 제2 화면(320)을 표시하도록 디스플레이(161)를 제어할 수 있다. 프로세서(120)는 제3 시점(t3)에서 제4 시점(t4)까지 제3 값을 유지하도록 워치 페이스의 초당 프레임 수를 설정할 수 있다.
일 실시예에 따르면, 프로세서(120)는 제1 시점(t2)에서 제4 시점(t4)까지 제1 값(예: 1fps)을 유지한 후 제4 시점(t4)에서 어플리케이션의 실행에 따른 프로세스의 초당 프레임 수를 제1 값(예: 1fps)에서 제4 값(예: 60fps)으로 변경할 수 있다.
일 실시예에 따르면, 프로세서(120)는 제4 시점(t4)에 초기화 동작이 완료되면, 제1 화면(310)에 의해 가려져서 보이지 않던 워치 페이스에 관련된 제2 화면(320)이 제4 시점(t4)에 바로 사용자에게 보이도록 제1 화면(310)을 제거할 수 있다.
이와 같이, 일 실시 예에서는 도 1 및 2의 전자 장치(101)를 통해 전자 장치의 주요 구성 요소에 대해 설명하였다. 그러나 다양한 실시 예에서는 도 1 및 2를 통해 도시된 구성 요소가 모두 필수 구성 요소인 것은 아니며, 도시된 구성 요소보다 많은 구성 요소에 의해 전자 장치(101)가 구현될 수도 있고, 그 보다 적은 구성 요소에 의해 전자 장치(101)가 구현될 수도 있다. 또한, 도 1 및 2를 통해 상술한 전자 장치(101)의 주요 구성 요소의 위치는 다양한 실시 예에 따라 변경 가능할 수 있다.
일 실시예에 따르면, 전자 장치(예, 도 1 및 도 2의 전자 장치(101))는 메모리(예: 도 1의 메모리(130)), 디스플레이(예: 도 1의 디스플레이 모듈(160)에 포함된 디스플레이 또는 도 3의 디스플레이(161)) 및 상기 메모리 및 상기 디스플레이와 전기적으로 연결된 적어도 하나의 프로세서(예: 도 1의 프로세서(120))를 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서는 락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션(예: 도 2의 제1 어플리케이션(231))을 실행하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 어플리케이션을 통해 초기화를 나타내는 제1 화면(예: 도 3의 제1 화면(310))을 표시하도록 디스플레이를 제어하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면(예: 도 3의 제2 화면(320))을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 초기화를 시작 후 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 제1 값으로 설정할 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 초기화를 시작 후 제1 시간 구간동안 상기 제1 화면 및 상기 제2 화면을 각각 상기 제1 값의 초당 프레임 수로 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 언락 상태로 전환되고, 상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 것에 기반하여, 상기 워치 페이스의 초당 프레임 수를 상기 제1 값에서 제2 값으로 변경하도록 설정될 수 있다. 일 실시예에 따르면, 상기 프로세서는 상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 후 제2 시간 구간 동안 상기 제2 값의 초당 프레임 수로 상기 제2 화면을 표시하고, 상기 제1 값의 초당 프레임 수로 상기 제1 화면을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 제2 값으로 변경한 후 지정된 시간(10초)이 경과하고, 상기 초기화가 완료되기 전에 상기 워치 페이스의 초당 프레임 수를 제3 값으로 변경하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 제3 값으로 변경된 시점부터 상기 제3 값의 초당 프레임 수로 상기 제2 화면을 표시하도록 상기 디스플레이를 제어하도록 설정될 수 있다. 일 실시예에 따르면, 상기 제1 값은 상기 제2 값보다 낮은 값이며, 상기 제3 값은 상기 제2 값보다 높은 값일 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 워치 페이스의 초당 프레임 수를 상기 제3 값으로 변경된 시점에서 지정된 시간이 경과한 후 상기 제1 화면을 제거하기 전에 상기 시스템 사용자 인터페이스에 관련된 상기 어플리케이션의 초당 프레임 수를 상기 제1 값에서 제4 값으로 변경하도록 설정될 수 있다.
일 실시예에 따르면, 상기 제2 화면에 포함된 상기 이미지는 상기 워치 페이스에 관련된 모듈들의 실행에 관련된 정보를 나타내는 객체들을 포함할 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 어플리케이션의 실행, 상기 초기화 수행 및 상기 제1 화면을 표시하기 위한 프로세스를 처리하도록 상기 메모리에 저장된 소프트웨어 모듈에 포함된 제1 어플리케이션 모듈을 제어하도록 설정될 수 있다.
일 실시예에 따르면, 상기 프로세서는 상기 제2 화면을 표시하기 위한 프로세스를 처리하도록 상기 소프트웨어 모듈에 포함된 제2 어플리케이션 모듈을 제어하도록 설정될 수 있다. 일 실시예에 따르면, 상기 제2 어플리케이션 모듈은 상기 워치 페이스의 실행에 관련된 프로세스를 처리하며, 상기 워치 페이스에 관련된 적어도 하나의 모듈을 포함할 수 있다.
도 5 및 도 6은 일 실시 예에 따른 전자 장치에서의 동작 방법의 예를 나타내는 도면이다.
도 5 및 도 6을 참조하면, 일 실시 예에 따른 전자 장치(예: 도 1 및 도 2의 전자 장치(101))는, 601 동작에서, 락 상태에서 초기화(예: 부팅)를 시작할 수 있다. 전자 장치는 전원 버튼의 입력에 응답하여, 소프트웨어 모듈(201)의 프레임워크(220)에서 제1 어플리케이션(sysui application)(231)으로 어플리케이션 실행 요청(create)을 전달(501)할 수 있다.
603 동작에서, 전자 장치는 락 상태에서 시스템 사용자 인터페이스와 관련된 어플리케이션(예: 도 2의 제1 어플리케이션(231))을 실행할 수 있다. 전자 장치의 제1 어플리케이션(231)은 락 상태에서 초기화를 시작(starting initializer)(502)할 수 있다. 일 실시예에 따르면, 전자 장치는 초기화를 수행 중 어플리케이션의 초당 프레임 수 및 워치 페이스의 초당 프레임 수를 각각 낮은 값으로 변경한 후 높은 값(지정된 값)으로 변경할 수 있다. 전자 장치는 초기화를 시작 후 어플리케이션의 초당 프레임 수 및 워치 페이스의 초당 프레임 수를 각각 낮은 제1 값(예: 1fps)으로 설정 또는 변경할 수 있다.
605 동작에서, 전자 장치는 실행된 어플리케이션을 통해 초기화를 나타내는 초기화 화면인 제1 화면(예: 도 3의 제1 화면(310))을 디스플레이(예: 도 1의 디스플레이 모듈(160) 및 도 2의 디스플레이(161))에 표시할 수 있다. 전자 장치의 제1 어플리케이션(231)은 내부 모듈(예: 시작 보기 모듈(starting view module))을 통해 초기화를 나타내는 제1 화면을 표시(503)할 수 있다.
607 동작에서, 전자 장치는 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 제1 화면 및 생성된 이미지를 포함하는 제2 화면을 디스플레이에 표시할 수 있다. 전자 장치는 예를 들어, 제1 화면에 의해 가려지도록 또는 중첩되도록 워치 페이스에 관련된 이미지를 포함하는 제2 화면(예: 도 3의 제2 화면(320))을 디스플레이에 표시할 수 있다. 일 실시예에 따르면, 전자 장치의 제1 어플리케이션(231)은 내부 모듈(예: 시스템 UI 활성화(sysui activity) 모듈)을 통해 시스템 사용자 인터페이스(sysui)를 활성화하고(504), 제1 어플리케이션(231)은 프레임워크(220)로 워치 페이스를 표시하도록 요청(505)할 수 있다. 프레임워크(220)는 워치 페이스 표시 요청에 응답하여, 워치 페이스의 제2 어플리케이션(232)으로 워치 페이스에 관련된 제2 화면을 표시하도록 요청(507)할 수 있다. 제 1 어플리케이션(231)은 내부 모듈(예: 초기화 모듈(initializer module))을 통해 제2 화면의 구성을 위해 필요한 워치 페이스에 관련된 모듈들의 초기화를 수행(506)할 수 있다. 일 실시예에 따르면, 전자 장치는 제2 화면을 제1 화면에 가려져서 시각적으로 보이지 않도록 제1 화면과 중첩하여 디스플레이에 표시할 수 있다. 일 실시예에 따르면, 전자 장치는 제2 화면(320)이 제1 화면(310)에 의해 가려져서 중첩되어 표시되는 동안, 제2 화면(320)의 투명도를 100%로 하여 제2 화면(320)을 제1 화면(310)에 중첩하여 표시하다가 초기화가 완료되면, 제2 화면(320)의 투명도를 0%로 변경하고, 제1 화면(310)이 제거하여 제2 화면(320)만 표시할 수 있다. 여기서, 제2 화면은 제1 화면에 가려져서 사용자에게 시각적으로 보이지 않거나 투명도를 조절하여 점차적으로 보이도록 백그라운드 화면으로 표시 및 갱신될 수 있다. 예를 들어, 전자 장치는 제1 화면을 최상단의 레이아웃에 표시하고, 제2 화면을 하단의 레이아웃에 표시할 수 있다. 예를 들어, 전자 장치는 제2 화면을 투명하게 처리하여 사용자에게 보이지 않도록 디스플레이에 표시할 수 있다. 일 실시예에 따르면, 전자 장치는 초기화를 시작 후 제1 시간 구간(예: 도 4의 t1-t2 시간 구간)동안 상기 제1 화면 및 제2 화면을 각각 제1 값의 초당 프레임 수로 디스플레이에 표시할 수 있다. 여기서, 제1 시간 구간(예: 도 4의 t1-t2 시간 구간)은 워치 페이스에 관련된 제2 화면을 구성하는데 필요한 모듈들(예: watchface engine module, watchface picker module, notification module, tile module 또는 tutorial module 중 적어도 하나)의 초기화를 수행하는 시간 구간일 수 있다. 일 실시예에 따르면, 전자 장치는 제1 시간 구간에서 워치 페이스에 관련된 모듈들의 초기화가 완료되면, 워치 페이스의 초당 프레임 수를 제1 값(예: 1fps)에서 제2 값(예: 15fps)으로 변경할 수 있다. 전자 장치는 제2 값으로 변경된 초당 프레임 수로 제2 화면을 표시함으로써, 초기화 수행 중 애니메이션(animation) 효과가 발생할 경우 최대한 자연스러운 동작을 제공할 수 있다. 일 실시예에 따르면, 전자 장치는 제2 화면 구성에 필요하지 않은 모듈들(예: noti module 및/또는 batterystate module)의 초기화가 완료되면, 워치 페이스의 초당 프레임 수를 제2 값에서 제3 값(예: 30fps)으로 변경 또는 원복하여 제3 값으로 워치 페이스에 관련된 제2 화면을 표시함으로써 제2 화면이 사용자에게 보일 때 바로 자연스럽게 표시할 수 있다. 여기서, 제2 화면 구성에 필요하지 않은 모듈들의 초기화 실행이 완료되는 시점은 초기화가 완료되기 전에 제2 값으로 변경한(t2) 후 일정 시간(예: 도 4의 t2-t3 시간 구간)이 경과한 시점(t3)일 수 있다. 일 실시예에 따르면, 전자 장치는 상기 워치 페이스의 초당 프레임 수를 상기 제3 값으로 변경된 시점(예: 도 4의 t3 시점)에서 지정된 시간(예: 10초)이 경과한 후 제1 화면을 제거하기 전(예: 도 4의 t4 시점)에 상기 어플리케이션(또는 어플리케이션의 실행에 따른 프로세스)의 초당 프레임 수를 상기 제1 값에서 제4 값으로 변경할 수 있다. 전자 장치는 도 4의 t1 시점에서 t4 시점까지 어플리케이션의 실행에 따른 프로세스의 초당 프레임 수를 제1 값(예: 1fps)을 유지할 수 있다.
609 동작에서, 전자 장치는 초기화를 수행 중 락 상태를 언락 상태로 전환할 수 있다. 일 실시예에 따르면, 전자 장치의 제1 어플리케이션(231)은 프레임워크(220)로부터 전자 장치를 언락 상태로 전환하기 위한 요청(또는 명령)(508)을 수신하고, 내부 기능(또는 모듈)(예: 시스템 UI 활성화(sysui activity))을 통해 락 상태를 언락 상태로 전환할 수 있다. 예를 들어, 전자 장치는 워치 페이스에 관련된 제2 화면을 구성하는데 필요한 모듈들의 초기화를 시작할 때 또는 수행 중에 언락 상태로 전환할 수 있다.
611 동작에서, 전자 장치는 초기화가 완료되었는지를 확인할 수 있다. 확인 결과, 초기화가 완료되면, 전자 장치는 613 동작을 수행하고, 초기화가 완료되지 않으면, 전자 장치는 다시 611 동작을 수행할 수 있다.
613 동작에서, 전자 장치는 초기화가 완료된 것에 응답하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 디스플레이에 표시할 수 있다. 일 실시예에 따르면, 전자 장치의 제1 어플리케이션(231)은 초기화가 완료되면(509), 내부 기능 (또는 모듈)(예: 시스템 UI 활성화(sysui activity))을 통해 다른 모듈(예: 시작 보기 모듈(starting view module))로 제1 화면을 숨기도록 요청(510)할 수 있다.
본 문서의 일 실시예에 따르면, 전자 장치는 시스템 사용자 인터페이스에 관련된 어플리케이션(예: 홈 어플리케이션)의 생성 및 초기화 동작을 전자 장치의 락 상태에서 실행하고, 초기화가 완료되기 전에 워치 페이스에 관련된 모듈을 초기화하고, 어플리케이션의 제1 화면과 중첩하여 워치 페이스에 관련된 제2 화면을 표시할 수 있다. 이에 따라 전자 장치는 초기화 동작이 완료될 때, 제1 화면을 제거하여 제2 화면이 즉시 사용자에게 보일 수 있으며, 워치 페이스를 즉시 사용 가능할 수 있으므로 부팅 속도를 향상시킬 수 있으며, 불필요한 동작에 의해 발생하는 검정 화면을 제거할 수 있다.
또한, 일 실시예에 따르면, 전자 장치는 초기화가 완료될 때까지 시스템 사용자 인터페이스 어플리케이션의 프로세스 및 워치 페이스의 초당 프레임 수를 낮은 값으로 설정한 후 순차적으로 또는 한번에 높은 값으로 변경함으로써 실제 화면이 동작하지 않는 구간에서 디스플레이 업데이트로 인한 불필요한 CPU 사용량의 발생을 방지할 수 있다. 일 실시예에 따르면, 저 사양의 웨어러블 장치인 전자 장치에서 부팅 속도를 향상시키기 위한 방법(direct boot 방식)을 활용하여 부팅 시 빠르게 다른 화면을 생성하여 사용자의 입력을 막고 부팅속도 저하 및 부팅 후 실행이 원활하지 못하는 현상을 방지할 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
일 실시예에 따르면, 전자 장치(예: 도 1 및 도 2의 전자 장치(101))에서의 동작 방법은, 락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션을 실행하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 어플리케이션을 통해 초기화를 나타내는 제1 화면(예: 도 3의 제1 화면(310))을 표시하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면(예: 도 3의 제2 화면(320))을 상기 전자 장치의 디스플레이(예: 도 1의 디스플레이 모듈(160) 및 도 2의 디스플레이(161))에 표시하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 상기 디스플레이에 표시하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 방법은 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은, 상기 초기화를 시작 후 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 제1 값으로 설정하는 동작 및 상기 초기화를 시작 후 제1 시간 구간동안 상기 제1 화면 및 상기 제2 화면을 각각 상기 제1 값의 초당 프레임 수로 상기 디스플레이에 표시하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은, 상기 언락 상태로 전환된 후 상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 것에 기반하여, 상기 워치 페이스의 초당 프레임 수를 상기 제1 값에서 제2 값으로 변경하는 동작 및 상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 후 제2 시간 구간 동안 상기 제2 값의 초당 프레임 수로 상기 제2 화면을 표시하고, 상기 제1 값의 초당 프레임 수로 상기 제1 화면을 표시하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은, 상기 제2 값으로 변경한 후 지정된 시간(10초)이 경과하고, 상기 초기화가 완료되기 전에 상기 워치 페이스의 초당 프레임 수를 제3 값으로 변경하는 동작; 및 상기 제3 값으로 변경된 시점부터 상기 제3 값의 초당 프레임 수로 상기 제2 화면을 표시하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 제1 값은 상기 제2 값보다 낮은 값이며, 상기 제3 값은 상기 제2 값보다 높은 값일 수 있다.
일 실시예에 따르면, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은, 상기 워치 페이스의 초당 프레임 수를 상기 제3 값으로 변경된 시점에서 지정된 시간이 경과한 후 상기 제1 화면을 제거하기 전에 상기 어플리케이션의 초당 프레임 수를 상기 제1 값에서 제4 값으로 변경하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 제2 화면에 포함된 상기 이미지는 상기 워치 페이스에 관련된 모듈들의 실행에 관련된 정보를 나타내는 객체들을 포함할 수 있다.
일 실시 예에 따르면, 프로그램을 저장하는 비일시적 저장 매체에 있어서, 상기 프로그램은, 전자 장치(예: 도 1 및 도 2의 전자 장치(101))의 프로세서(예: 도 1의 프로세서(120))에 의한 실행 시, 상기 전자 장치가, 락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션(예: 도 2의 제1 어플리케이션(231))을 실행하는 동작, 상기 어플리케이션을 통해 초기화를 나타내는 제1 화면(예: 도 3의 제1 화면(310))을 표시하는 동작, 상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면(예: 도 3의 제2 화면(320))을 상기 전자 장치의 디스플레이(예: 도 1의 디스플레이 모듈(160) 및 도 2의 디스플레이(161))에 표시하는 동작, 상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하는 동작 및 상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 상기 디스플레이에 표시하는 동작을 실행하도록 실행 가능한 명령을 포함할 수 있다.
일 실시 예에 따르면, 프로그램을 저장하는 비일시적 저장 매체는 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작을 더 실행하도록 실행 가능한 명령을 포함할 수 있다.
일 실시 예에 따르면, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은, 상기 초기화를 시작 후 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 제1 값으로 설정하는 동작 및 상기 초기화를 시작 후 제1 시간 구간동안 상기 제1 화면 및 상기 제2 화면을 각각 상기 제1 값의 초당 프레임 수로 상기 디스플레이에 표시하는 동작을 실행하도록 실행 가능한 명령을 포함할 수 있다.
일 실시 예에 따르면, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은, 상기 언락 상태로 전환된 후 상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 것에 기반하여, 상기 워치 페이스의 초당 프레임 수를 상기 제1 값에서 제2 값으로 변경하는 동작 및 상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 후 제2 시간 구간 동안 상기 제2 값의 초당 프레임 수로 상기 제2 화면을 표시하고, 상기 제1 값의 초당 프레임 수로 상기 제1 화면을 표시하는 동작을 더 실행하도록 실행 가능한 명령을 포함할 수 있다.
일 실시 예에 따르면, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은, 상기 제2 값으로 변경한 후 지정된 시간(10초)이 경과하고, 상기 초기화가 완료되기 전에 상기 워치 페이스의 초당 프레임 수를 제3 값으로 변경하는 동작, 상기 제3 값으로 변경된 시점부터 상기 제3 값의 초당 프레임 수로 상기 제2 화면을 표시하는 동작 및 상기 워치 페이스의 초당 프레임 수를 상기 제3 값으로 변경된 시점에서 지정된 시간이 경과한 후 상기 제1 화면을 제거하기 전에 상기 어플리케이션의 초당 프레임 수를 상기 제1 값에서 제4 값으로 변경하는 동작을 더 실행하도록 실행 가능한 명령을 포함할 수 있다. 일 실시예에 따르면, 상기 제1 값은 상기 제2 값보다 낮은 값이며, 상기 제3 값은 상기 제2 값보다 높은 값일 수 있다.
그리고 본 문서에 개시된 실시예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 문서에서 기재된 기술의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 문서의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시예를 포함하는 것으로 해석되어야 한다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, '비일시적'은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
Claims (15)
- 전자 장치(101)에 있어서,메모리(130);디스플레이(161); 및상기 메모리 및 상기 디스플레이와 전기적으로 연결된 적어도 하나의 프로세서(120)를 포함하며,상기 프로세서는,락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션(231)을 실행하고,상기 어플리케이션을 통해 초기화를 나타내는 제1 화면(310)을 표시하도록 상기 디스플레이를 제어하고,상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면(320)을 표시하도록 상기 디스플레이를 제어하고,상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하고,상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 표시하도록 상기 디스플레이를 제어하도록 설정된, 전자 장치.
- 제1항에 있어서, 상기 프로세서는,상기 초기화를 시작 후 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 제1 값으로 설정하고,상기 초기화를 시작 후 제1 시간 구간동안 상기 제1 화면 및 상기 제2 화면을 각각 상기 제1 값의 초당 프레임 수로 표시하도록 상기 디스플레이를 제어하도록 설정되며,상기 제2 화면에 포함된 상기 이미지는 상기 워치 페이스에 관련된 모듈들의 실행에 관련된 정보를 나타내는 객체들을 포함하는, 전자 장치.
- 제1항 또는 제2항에 있어서, 상기 프로세서는,상기 언락 상태로 전환되고, 상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 것에 기반하여, 상기 워치 페이스의 초당 프레임 수를 상기 제1 값에서 제2 값으로 변경하고,상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 후 제2 시간 구간 동안 상기 제2 값의 초당 프레임 수로 상기 제2 화면을 표시하고, 상기 제1 값의 초당 프레임 수로 상기 제1 화면을 표시하도록 상기 디스플레이를 제어하도록 설정된, 전자 장치.
- 제1항 내지 제3항 중 어느 한 항에 있어서, 상기 프로세서는,상기 제2 값으로 변경한 후 지정된 시간(10초)이 경과하고, 상기 초기화가 완료되기 전에 상기 워치 페이스의 초당 프레임 수를 제3 값으로 변경하고,상기 제3 값으로 변경된 시점부터 상기 제3 값의 초당 프레임 수로 상기 제2 화면을 표시하도록 상기 디스플레이를 제어하도록 설정되며,상기 제1 값은 상기 제2 값보다 낮은 값이며,상기 제3 값은 상기 제2 값보다 높은 값인, 전자 장치.
- 제1항 내지 제4항 중 어느 한 항에 있어서, 상기 프로세서는,상기 워치 페이스의 초당 프레임 수를 상기 제3 값으로 변경된 시점에서 지정된 시간이 경과한 후 상기 제1 화면을 제거하기 전에 상기 시스템 사용자 인터페이스에 관련된 상기 어플리케이션의 초당 프레임 수를 상기 제1 값에서 제4 값으로 변경하도록 설정된, 전자 장치.
- 제1항 내지 제5항 중 어느 한 항에 있어서, 상기 프로세서는,상기 어플리케이션의 실행, 상기 초기화 수행 및 상기 제1 화면을 표시하기 위한 프로세스를 처리하도록 상기 메모리에 저장된 소프트웨어 모듈에 포함된 제1 어플리케이션 모듈을 제어하도록 설정된, 전자 장치.
- 제1항 내지 제6항 중 어느 한 항에 있어서, 상기 프로세서는,상기 제2 화면을 표시하기 위한 프로세스를 처리하도록 상기 소프트웨어 모듈에 포함된 제2 어플리케이션 모듈을 제어하도록 설정되며,상기 제2 어플리케이션 모듈은 상기 워치 페이스의 실행에 관련된 프로세스를 처리하며, 상기 워치 페이스에 관련된 적어도 하나의 모듈을 포함하는, 전자 장치.
- 전자 장치(101)에서의 동작 방법에 있어서,락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션(231)을 실행하는 동작;상기 어플리케이션을 통해 초기화를 나타내는 제1 화면(310)을 표시하는 동작;상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면(320)을 상기 전자 장치의 디스플레이(161)에 표시하는 동작;상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하는 동작; 및상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 상기 디스플레이에 표시하는 동작을 포함하는, 방법.
- 제8항에 있어서,상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작을 더 포함하는, 방법.
- 제8항 또는 제9항에 있어서, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은,상기 초기화를 시작 후 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 제1 값으로 설정하는 동작; 및상기 초기화를 시작 후 제1 시간 구간동안 상기 제1 화면 및 상기 제2 화면을 각각 상기 제1 값의 초당 프레임 수로 상기 디스플레이에 표시하는 동작을 포함하며,상기 제2 화면에 포함된 상기 이미지는 상기 워치 페이스에 관련된 모듈들의 실행에 관련된 정보를 나타내는 객체들을 포함하는, 방법.
- 제8항 내지 제10항 중 어느 한 항에 있어서, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은,상기 언락 상태로 전환된 후 상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 것에 기반하여, 상기 워치 페이스의 초당 프레임 수를 상기 제1 값에서 제2 값으로 변경하는 동작; 및상기 워치 페이스에 관련된 적어도 하나의 모듈의 초기 실행이 완료된 후 제2 시간 구간 동안 상기 제2 값의 초당 프레임 수로 상기 제2 화면을 표시하고, 상기 제1 값의 초당 프레임 수로 상기 제1 화면을 표시하는 동작을 더 포함하는, 방법.
- 제8항 내지 제11항 중 어느 한 항에 있어서, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은,상기 제2 값으로 변경한 후 지정된 시간이 경과하고, 상기 초기화가 완료되기 전에 상기 워치 페이스의 초당 프레임 수를 제3 값으로 변경하는 동작;상기 제3 값으로 변경된 시점부터 상기 제3 값의 초당 프레임 수로 상기 제2 화면을 표시하는 동작을 더 포함하며,상기 제1 값은 상기 제2 값보다 낮은 값이며,상기 제3 값은 상기 제2 값보다 높은 값인, 방법.
- 제8항 내지 제12항 중 어느 한 항에 있어서, 상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작은,상기 워치 페이스의 초당 프레임 수를 상기 제3 값으로 변경된 시점에서 지정된 시간이 경과한 후 상기 제1 화면을 제거하기 전에 상기 어플리케이션의 초당 프레임 수를 상기 제1 값에서 제4 값으로 변경하는 동작을 더 포함하는, 방법.
- 프로그램을 저장하는 비일시적 저장 매체에 있어서, 상기 프로그램은, 전자 장치(101)의 프로세서(120)에 의한 실행 시, 상기 전자 장치가,락 상태에서 시스템 사용자 인터페이스(UI)와 관련된 어플리케이션(231)을 실행하는 동작;상기 어플리케이션을 통해 초기화를 나타내는 제1 화면(320)을 표시하는 동작;상기 초기화를 수행 중 워치 페이스에 관련된 이미지를 생성하고, 상기 제1 화면 및 상기 이미지를 포함하는 제2 화면(320)을 상기 전자 장치의 디스플레이(161)에 표시하는 동작;상기 초기화를 수행 중 상기 락 상태를 언락 상태로 전환하는 동작; 및상기 초기화가 완료된 것에 기반하여, 상기 제1 화면을 제거하고, 상기 제2 화면을 상기 디스플레이에 표시하는 동작을 실행하도록 실행 가능한 명령을 포함하는, 비 일시적 저장 매체.
- 제14항에 있어서,상기 초기화를 수행 중 상기 어플리케이션의 초당 프레임 수 및 상기 워치 페이스의 초당 프레임 수를 각각 변경하는 동작을 더 실행하도록 실행 가능한 명령을 포함하는, 비 일시적 저장 매체.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2022-0098564 | 2022-08-08 | ||
KR20220098564 | 2022-08-08 | ||
KR1020220114055A KR20240020622A (ko) | 2022-08-08 | 2022-09-08 | 초기화 동작을 위한 전자 장치 및 방법 |
KR10-2022-0114055 | 2022-09-08 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024035037A1 true WO2024035037A1 (ko) | 2024-02-15 |
Family
ID=89852048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2023/011588 WO2024035037A1 (ko) | 2022-08-08 | 2023-08-07 | 초기화 동작을 위한 전자 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2024035037A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170033062A (ko) * | 2015-09-16 | 2017-03-24 | 엘지전자 주식회사 | 이동 단말기 및 그 제어 방법 |
KR20170084979A (ko) * | 2016-01-13 | 2017-07-21 | 삼성전자주식회사 | 이미지 출력 방법 및 이를 수행하는 전자 장치 |
US11068088B2 (en) * | 2012-04-03 | 2021-07-20 | Apple Inc. | Electronic devices with adaptive frame rate displays |
JP2021197163A (ja) * | 2020-06-16 | 2021-12-27 | アップル インコーポレイテッドApple Inc. | 低電力状態からウェイク状態デバイス機能への直接アクセス |
KR20220101693A (ko) * | 2019-11-28 | 2022-07-19 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 에너지 효율적인 디스플레이 처리 방법 및 디바이스 |
-
2023
- 2023-08-07 WO PCT/KR2023/011588 patent/WO2024035037A1/ko unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11068088B2 (en) * | 2012-04-03 | 2021-07-20 | Apple Inc. | Electronic devices with adaptive frame rate displays |
KR20170033062A (ko) * | 2015-09-16 | 2017-03-24 | 엘지전자 주식회사 | 이동 단말기 및 그 제어 방법 |
KR20170084979A (ko) * | 2016-01-13 | 2017-07-21 | 삼성전자주식회사 | 이미지 출력 방법 및 이를 수행하는 전자 장치 |
KR20220101693A (ko) * | 2019-11-28 | 2022-07-19 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 에너지 효율적인 디스플레이 처리 방법 및 디바이스 |
JP2021197163A (ja) * | 2020-06-16 | 2021-12-27 | アップル インコーポレイテッドApple Inc. | 低電力状態からウェイク状態デバイス機能への直接アクセス |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021075786A1 (en) | Electronic device and method of processing pop-up window using multi-window thereof | |
WO2022030890A1 (ko) | 다중 윈도우 이미지 캡쳐 방법 및 이를 위한 전자 장치 | |
WO2023058860A1 (ko) | 멀티 서명된 apk 파일을 처리하는 전자 장치 및 그 동작 방법 | |
WO2024035037A1 (ko) | 초기화 동작을 위한 전자 장치 및 방법 | |
WO2022169241A2 (ko) | 래치를 포함하는 트레이 및 이를 포함하는 이동 통신 장치 | |
WO2022177299A1 (ko) | 통화 기능의 제어 방법 및 이를 지원하는 전자 장치 | |
WO2022065845A1 (ko) | 입력 데이터 처리 방법 및 이를 지원하는 전자 장치 | |
WO2022169163A1 (ko) | 음향 부품 및 이를 포함하는 전자 장치 | |
WO2022030910A1 (ko) | 폴딩 각도에 따라 입력 모드를 제어하는 전자 장치 및 그의 방법 | |
WO2024063342A1 (ko) | 잠금 화면을 표시하는 전자 장치 및 그 동작 방법 | |
WO2024058415A1 (ko) | 화면 제공 시간을 저감하는 전자 장치 및 이의 제어 방법 | |
WO2024043530A1 (ko) | 폴더블 전자 장치 및 폴더블 전자 장치의 디스플레이 활용 방법 | |
WO2021177640A1 (ko) | 외부 전자 장치의 어플리케이션을 제어하는 방법 및 이를 지원하는 전자 장치 | |
KR20240020622A (ko) | 초기화 동작을 위한 전자 장치 및 방법 | |
WO2022197155A1 (ko) | 플렉서블 회로기판를 포함하는 전자장치 | |
WO2023018086A1 (ko) | 외부 장치의 자동 완성 텍스트를 동기화하는 전자 장치 및 방법 | |
WO2022103047A1 (ko) | 결합 가능한 홈을 구비하는 전자 장치 | |
WO2024072117A1 (ko) | 전자 장치 및 어플리케이션 간의 통신 방법 | |
WO2024085665A1 (ko) | 디스플레이의 동기화를 위한 전자 장치 및 방법 | |
WO2024071861A1 (ko) | 업데이트 방법 및 이를 위한 전자 장치 | |
WO2022131806A1 (ko) | 무선 충전 회로 및 디스플레이를 포함하는 전자 장치 | |
WO2022154281A1 (ko) | 카메라를 포함하는 전자 장치 및 이의 동작 방법 | |
WO2024049170A1 (ko) | 전력 모드를 관리하는 전자 장치 및 방법 | |
WO2023171914A1 (ko) | 체결 부재를 포함하는 전자 장치 | |
WO2023146095A1 (ko) | 멀티 윈도우 화면을 제어하는 방법 및 이를 지원하는 전자 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23852916 Country of ref document: EP Kind code of ref document: A1 |