Electronic device for acquiring image on basis of touch input, method therefor, and non-transitory computer-readable storage medium
The electronic device processes touch inputs to control image capture and storage, addressing inefficiencies in existing devices by enabling flexible shooting techniques and efficient image management through touch events.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2025-10-30
- Publication Date
- 2026-06-18
Smart Images

Figure KR2025017540_18062026_PF_FP_ABST
Abstract
Description
Electronic device, method, and non-transient computer-readable storage medium for image acquisition based on touch input
[0001] The following descriptions relate to an electronic device, a method, and a non-transient computer-readable storage medium for acquiring an image based on touch input.
[0002] With the recent development of digital technology, various types of electronic devices such as mobile communication terminals, smartphones, tablet PCs, personal digital assistants (PDAs), electronic notebooks, notebooks, or wearable devices are widely used.
[0003] The electronic device may include a camera module. For example, the electronic device may output a preview image acquired from the camera module to a display and take a photograph in response to a touch input on the shutter button. The electronic device may perform shooting according to different shooting techniques depending on various touch inputs on the shutter button. Examples of different shooting techniques include normal still photography, continuous still photography, and video recording.
[0004] An electronic device is disclosed. The electronic device may include a camera, a display including a touch-sensitive circuit, at least one processor including a processing circuit, and a memory including one or more storage media for storing instructions. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to display a screen of a camera application through the display. The screen may include a visual object representing a shutter button. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to identify a touch-down event on the visual object through the touch-sensitive circuit. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to control the camera to acquire an image in response to identifying the touch-down event on the visual object. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the device to identify another touch event following the touch-down event through the touch-sensitive circuit. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the image to be stored in the non-volatile memory of the memory if the other touch event is a touch-up event. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the image to be discarded without storing the image in the non-volatile memory of the memory and to perform a function corresponding to the other touch event if the other touch event is a touch-movement event.
[0005] A method is disclosed. The method may be performed in an electronic device comprising a camera and a display comprising a touch-sensitive circuit. The method may include an operation of displaying a screen of a camera application through the display. The screen may include a visual object representing a shutter button. The method may include an operation of identifying a touch-down event on the visual object through the touch-sensitive circuit. The method may include an operation of controlling the camera to acquire an image in response to identifying the touch-down event on the visual object. The method may include an operation of identifying another touch event following the touch-down event through the touch-sensitive circuit. The method may include an operation of storing the image in the non-volatile memory of the memory if the other touch event is a touch-up event. The method may include an operation of discarding the image without storing the image in the non-volatile memory of the memory and performing a function according to the other touch event if the other touch event is a touch-movement event.
[0006] A non-transitory computer-readable storage medium is disclosed. The non-transitory computer-readable storage medium may store a program comprising instructions. When the instructions are executed individually or collectively by at least one processor of an electronic device comprising a camera and a display comprising a touch-sensitive circuit, the electronic device may cause the electronic device to display a screen of a camera application through the display. The screen may include a visual object representing a shutter button. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to identify a touch-down event on the visual object through the touch-sensitive circuit. When the instructions are executed individually or collectively by the at least one processor, the electronic device may cause the electronic device to control the camera to acquire an image in response to identifying the touch-down event on the visual object. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the device to identify another touch event following the touch-down event through the touch-sensitive circuit. When the above instructions are executed individually or collectively by the at least one processor, the electronic device may cause the image to be stored in the non-volatile memory of the memory if the other touch event is a touch-up event.When the above instructions are executed individually or collectively by the at least one processor, the electronic device may be caused to discard the image without storing the image in the non-volatile memory of the memory and perform a function according to the other touch event when the other touch event is a touch movement event.
[0007] FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments.
[0008] FIG. 2 is a block diagram of an electronic device according to one embodiment.
[0009] FIG. 3 is a drawing illustrating a screen of a camera application of an electronic device according to one embodiment.
[0010] FIG. 4 is a diagram illustrating the operation of an electronic device capturing an image based on a touch event according to one embodiment.
[0011] FIG. 5 is a diagram illustrating the operation of an electronic device performing functions according to a touch-down event and a touch-up event, according to one embodiment.
[0012] FIG. 6 is a diagram illustrating the operation of an electronic device performing a function in response to a touch movement event according to one embodiment.
[0013] FIG. 7 is a diagram illustrating the operation of an electronic device performing a function in response to a touch-up event according to one embodiment.
[0014] FIG. 8 is a diagram illustrating the operation of an electronic device performing a function in response to a touchdown event, according to one embodiment.
[0015] FIG. 9 is a diagram illustrating tasks pending in the request queue of an electronic device according to one embodiment.
[0016] FIG. 10 is a drawing illustrating the operation according to the shooting sequence of an electronic device according to one embodiment.
[0017] FIG. 11 is a drawing illustrating the operation according to the shooting sequence of an electronic device according to one embodiment.
[0018] FIG. 12 is a drawing illustrating the operation according to the shooting sequence of an electronic device according to one embodiment.
[0019] FIG. 13 is a drawing illustrating the operation according to the shooting sequence of an electronic device according to one embodiment.
[0020] FIG. 14 is a drawing illustrating the operation of a camera frame of an electronic device according to one embodiment.
[0021] FIG. 15 is a flowchart illustrating the operation of a camera frame of an electronic device according to one embodiment.
[0022] FIGS. 16a and FIGS. 16b are drawings illustrating an example in which an electronic device updates the screen of a camera application according to a touch input, according to one embodiment.
[0023] FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments.
[0024] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or with at least one of an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through a server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input module (150), sound output module (155), display module (160), audio module (170), 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 antenna module (197). In some embodiments, at least one of these components (e.g., connection terminal (178)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components (e.g., sensor module (176), camera module (180), or antenna module (197)) may be integrated into a single component (e.g., display module (160)).
[0025] The processor (120) can control at least one other component (e.g., hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., program (140)), for example, and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can store commands or data received from other components (e.g., sensor module (176) or communication module (190)) in volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., central processing unit or application processor) or an auxiliary processor (123) that can operate independently or together with it (e.g., graphics processing unit, neural processing unit (NPU), image signal processor, sensor hub processor, or communication processor). For example, if the electronic device (101) includes a main processor (121) and an auxiliary processor (123), the auxiliary processor (123) may be configured to use lower power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.
[0026] The auxiliary processor (123) may control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display module (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary 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)). According to one embodiment, the auxiliary processor (123) (e.g., neural network processing unit) may include a hardware structure specialized for processing an artificial intelligence model. The artificial intelligence model may be generated through machine learning. Such learning may be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or through a separate server (e.g., server (108)). The learning algorithm may include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model may include a plurality of artificial neural network layers.An artificial neural network may be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to the hardware structure, the artificial intelligence model may include a software structure, either additionally or substantially.
[0027] The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).
[0028] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0029] The input module (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). The input module (150) may include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0030] The sound output module (155) can output a sound signal to the outside of the electronic device (101). The sound output module (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes, such as multimedia playback or recording playback. The receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.
[0031] The display module (160) can visually provide information to an external (e.g., user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of the force generated by said touch.
[0032] 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) can acquire sound through the input module (150) or output sound through the sound output module (155) or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphones) connected directly or wirelessly to the electronic device (101).
[0033] The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0034] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one embodiment, 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.
[0035] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0036] The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.
[0037] The camera module (180) can capture still images and video. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0038] The power management module (188) can manage the power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).
[0039] The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0040] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device (104) through a first network (198) (e.g., a short-range communication network such as Bluetooth, WiFi (wireless fidelity) direct, or IrDA (infrared data association)) or a second network (199) (e.g., a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).
[0041] The wireless communication module (192) can support 5G networks and next-generation communication technologies following 4G networks, for example, new radio access technology. NR access technology can support high-speed transmission of high-capacity data (enhanced mobile broadband (eMBB)), minimization of terminal power and connection of multiple terminals (massive machine type communications (mMTC)), or high reliability and low latency (ultra-reliable and low-latency communications (URLLC)). The wireless communication module (192) can support a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate, for example. The wireless communication module (192) can support various technologies for securing performance in the high-frequency band, such as beamforming, massive MIMO (multiple-input and multiple-output), full-dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large-scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), external electronic device (e.g., electronic device (104)), or network system (e.g., second network (199)). According to one embodiment, the wireless communication module (192) can support a Peak data rate (e.g., 20 Gbps or more) for realizing eMBB, loss coverage (e.g., 664 dB or less) for realizing mMTC, or U-plane latency (e.g., downlink (DL) and uplink (UL) each 0.5 ms or less, or round trip 6 ms or less) for realizing URLLC.
[0042] An antenna module (197) can transmit a signal or power to or from an external source (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include an antenna comprising a radiator made of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). According to one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as a first network (198) or a second network (199), may be selected from the plurality of antennas, for example, by a communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. According to some embodiments, in addition to the radiator, other components (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as part of the antenna module (197).
[0043] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent to a first surface (e.g., bottom surface) of the printed circuit board and capable of supporting a specified high frequency band (e.g., mmWave band), and a plurality of antennas (e.g., array antennas) disposed on or adjacent to a second surface (e.g., top surface or side surface) of the printed circuit board and capable of transmitting or receiving a signal of the specified high frequency band.
[0044] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.
[0045] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the external electronic devices (102, or 104) may be the same or different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or 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 provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used. The electronic device (101) may provide ultra-low latency services using, for example, distributed computing or mobile edge computing. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server using machine learning and / or neural networks. According to one embodiment, the external electronic device (104) or the server (108) may be included within the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0046] FIG. 2 is a block diagram of an electronic device according to one embodiment. FIG. 3 is a diagram illustrating a screen of a camera application of an electronic device according to one embodiment. FIG. 4 is a diagram illustrating an operation of an electronic device capturing an image based on a touch event according to one embodiment.
[0047] FIGS. 2 to 4 can be explained with reference to FIG. 1.
[0048] Referring to FIG. 2, the electronic device (101) may include a processor (120), memory (130), a display (260), and a camera (280). In one embodiment, the display (260) may correspond to the display module (160) of FIG. 1. In one embodiment, the camera (280) may correspond to the camera module (180) of FIG. 1. In one embodiment, the display (260) may include a touch-sensitive circuit for obtaining touch input.
[0049] In one embodiment, the memory (130) may include a camera application (210). In one embodiment, the camera application (210) may initiate taking a photo based on a touch-down event for the shutter button. In one embodiment, the camera application (210) may initiate taking a photo based on a touch-down event for the shutter button using a shooting technique set for the current photo shooting mode. In one embodiment, the camera application (210) may process taking a photo based on a next touch event following the touch-down event for the shutter button. For example, the camera application (210) may store the captured photo in response to the next touch event being a touch event (e.g., a touch-up event) for acknowledging the previous touch event (or touch-down event). For example, the camera application (210) may discard the previously taken photo and start taking a photo using a different shooting technique in response to the next touch event being a touch event (e.g., touch move event) that discards the previous touch event (or touch down event) and requests taking a photo using a different shooting technique.
[0050] Below, the operation of the camera application (210) can be described by referring to the components of the camera application (210).
[0051] In one embodiment, the memory (130) may include a shooting manager (211), a capture manager (213), a capture controller (215), a sequence controller (217), a shutter sound manager (219), a shooting controller (221), a thumbnail process (223), a photo process (225), a camera framework (227), a sequence approval manager (229), an input manager (240), or a combination thereof as a camera application (210).
[0052] In one embodiment, an electronic device (101) (or a processor (120)) may execute a camera application (210). In one embodiment, referring to FIG. 3, the electronic device (101) may display a screen (310) of the camera application (210) through a display (260). In one embodiment, the screen (310) may include visual objects (331, 333, 335, 340) for one or more functions related to the camera application (210). In one embodiment, a visual object (331) may represent a selected (or selectable) shooting mode of the camera application (210) (e.g., normal shooting (“PHOTO”), portrait shooting (“PORTRAIT”), video shooting (“VIDEO”)). In one embodiment, a visual object (333) may represent a thumbnail of a captured image. In one embodiment, the visual object (335) may be associated with a change function of the camera (280). In one embodiment, the visual object (340) may be a shutter button requesting a shot of the camera (280).
[0053] In one embodiment, the input manager (240) can identify an input. In one embodiment, the input manager (240) can identify a touch input through a touch-sensitive circuit within the display (260). In one embodiment, the input manager (240) can identify a touch input within the screen (310) of the camera application (210). In one embodiment, the touch input may include a touch-down event, a touch-up event, a palm detect event, and / or a touch-movement event. In one embodiment, the touch input may be a touch input to a visual object (340).
[0054] In one embodiment, the input manager (240) may notify the shooting manager (211) that a touch input has been received. In one embodiment, the input manager (240) may notify the shooting manager (211) that a button press, button release, button long press, button swipe down, button swipe down end, or button cancel has been received for a visual object (340). For example, the input manager (240) may notify the shooting manager (211) that a button press input has been received based on a touch down event for the visual object (340). For example, the input manager (240) may notify the shooting manager (211) that a button long press input has been received based on the touch down event for the visual object (340) lasting for a specified amount of time. For example, the input manager (240) may notify the shooting manager (211) that a button release input is received based on a touch-up event for the visual object (340). For example, the input manager (240) may notify the shooting manager (211) that a button swipe-down input is received based on a touch-moving event for the visual object (340). For example, the input manager (240) may notify the shooting manager (211) that a button swipe-down end input is received based on a touch-up event following a touch-moving event for the visual object (340).
[0055] In one embodiment, the shooting manager (211) can receive input. In one embodiment, the shooting manager (211) can receive input through the input manager (240). In one embodiment, the shooting manager (211) can identify input based on a notification from the input manager (240). In one embodiment, referring to FIG. 4, the shooting manager (211) can identify an input type (430) based on a touch input (410) for a visual object (340). In one embodiment, the shooting manager (211) can identify an input type (430) of one of a set of input types (420) including a button press, a button release, a button long press, a button swipe down, a button swipe down end, or a button cancel, based on a touch input (410) for a visual object (340).
[0056] In one embodiment, the shooting manager (211) may sequentially receive two or more inputs (or input types (430) of each of the two or more inputs). For example, the shooting manager (211) may receive an input type corresponding to a touchdown event (e.g., button press) as the first input. For example, the shooting manager (211) may receive an input type corresponding to a subsequent touch event of the touchdown event (e.g., button release) as the second input. In one embodiment, the first input may be the initial input. In one embodiment, the second input may be a subsequent input.
[0057] In one embodiment, the shooting manager (211) can identify a capture type (440) and / or a capture command (450) corresponding to a touch input (or, input type (430)).
[0058] In one embodiment, the capture command (450) may include a capture request (e.g., RequestCapture). In one embodiment, the capture request (e.g., RequestCapture) may be a capture command requesting a photo taken through the camera (280).
[0059] In one embodiment, the capture command (450) may include a capture approval (e.g., ConfirmCapture). In one embodiment, the capture approval (e.g., ConfirmCapture) may be a command indicating approval (or storage) of a photo taken through the camera (280).
[0060] In one embodiment, the capture command (450) may include a capture cancellation (e.g., CancelCapture). In one embodiment, the capture cancellation (e.g., CancelCapture) may be a command indicating the disposal (or deletion) of a photo taken through the camera (280).
[0061] In one embodiment, the capture type (440) may represent one of a plurality of capturing techniques. For example, the plurality of capturing techniques may include single capture (SINGLE_CAPTURE), stitching capture (STITCHING_CAPTURE), burst capture (BURST_CAPTURE), animated capture (AGIF_CAPTURE) (e.g., capture of an image according to AGIF (animated graphics interchange format)), document scan (SMART_SCAN_CAPTURE), and / or video snapshot (VIDEO_SNAPSHOT).
[0062] In one embodiment, the shooting manager (211) can identify a capture type (440) and / or a capture command (450) set for the initial input. In one embodiment, the shooting manager (211) can identify a capture type (440) and / or a capture command (450) set for the input type of the initial input. In one embodiment, the shooting manager (211) can identify a capture type (440) and / or a capture command (450) set for the initial input (or input type) according to the shooting mode set in the camera application (210).
[0063] For example, if the input type (430) of the initial input is a button press on a visual object (340), the shooting manager (211) may identify RequestCapture as the capture command and SINGLE_CAPTURE as the capture type. For example, if the shooting mode of the camera application (210) is normal shooting (“PHOTO”), the capture type (440) set for the button press on the visual object (340) may be SINGLE_CAPTURE. For example, if the shooting mode of the camera application (210) is video shooting (“VIDEO”), the capture type (440) set for the button press on the visual object (340) may be VIDEO_SNAPSHOT. In one embodiment, the capture command (450) according to the initial input may be the initial capture command.
[0064] In one embodiment, the shooting manager (211) can identify a capture type (440) and / or a capture command (450) set for a subsequent input of the initial input. In one embodiment, the shooting manager (211) can identify a capture type (440) and / or a capture command (450) set for an input type of the subsequent input.
[0065] For example, if the input type of the subsequent input is a button release for a visual object (340), the capture manager (211) can identify ConfirmCapture as the capture command and SINGLE_CAPTURE as the capture type.
[0066] In one embodiment, the shooting manager (211) may identify two or more capture types (440) and / or two or more capture commands (450) based on subsequent input. In one embodiment, the shooting manager (211) may identify two or more capture types (440) and / or two or more capture commands (450) if the input type of the subsequent input is not related to a capture command based on the input type of the initial input. For example, one of the two or more capture commands (450) based on the subsequent input may be a capture command to cancel the capture command based on the input type of the initial input. For example, another of the two or more capture commands (450) based on the subsequent input may be a capture request using a shooting technique set for the input type of the subsequent input. For example, the capture type set for a button long press on a visual object (340) may be a video snapshot (VIDEO_SNAPSHOT). For example, the capture type set for a button swipe down on a visual object (340) may be a burst capture (BURST_CAPTURE), but is not limited thereto. In one embodiment, the shooting manager (211) may identify other commands other than the capture command based on subsequent input. In one embodiment, the shooting manager (211) may identify other commands set for a button swipe down on a visual object (340). For example, other commands set for a button swipe down on a visual object (340) may include a request to create a visual object (340).
[0067] In one embodiment, the shooting manager (211) may identify CancelCapture as the first capture command and RequestCapture as the second capture command based on subsequent input. For example, the shooting manager (211) may identify CancelCapture to command the cancellation of a captured photo based on RequestCapture according to the initial input based on subsequent input.
[0068] In one embodiment, the capture manager (211) can send a capture command (450) (e.g., RequestCapture(ButtonPressed, SINGLE_CAPTURE)) including an input type (430) and a capture type (440) to the capture manager (213).
[0069] In one embodiment, the capture manager (213) can execute the capture controller (215) based on the capture command (450). For example, the capture manager (213) can identify the capture controller (215) corresponding to the capture command. For example, the capture manager (213) can identify the capture controller corresponding to the capture type among the single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239). For example, the capture manager (213) can execute the identified capture controller.
[0070] In one embodiment, the capture controller (215) (or, single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239)) can perform a function based on a capture command received from the capture manager (213).
[0071] For example, the capture controller (215) may request the camera framework (227) to take a photo through the shooting controller (221) based on a capture command indicating a capture request (hereinafter, capture request (e.g., RequestCapture)). In one embodiment, the shooting controller (221) may request the camera framework (227) to take a photo based on a capture request (e.g., RequestCapture) from the capture controller (215). For example, the photo taking may be a photo taking according to the function of the capture controller (215) (e.g., single capture, burst capture, animated capture, document scan, stitching capture, video snapshot, or video capture).
[0072] For example, the capture controller (215) may request the camera framework (227) to take a photo based on a capture request (e.g., RequestCapture) and then receive sequence identification information from the camera framework (227). In one embodiment, the sequence identification information may be identification information generated by the sequence approval manager (229) according to the initial capture command (or capture request). In one embodiment, the sequence identification information may represent information for managing the shooting sequence (or shooting pipeline) of the photo. In one embodiment, the sequence controller (217) may manage the sequence identification information for managing the shooting sequence. For example, the sequence identification information may be different from identification information representing the shooting order within the camera application (210). For example, the sequence identification information may be stored to manage the relationship between shooting sequences based on a data structure (e.g., map, list) for changing the state of the shooting sequence.
[0073] For example, the capture controller (215) may request the camera framework (227) to store a captured photo through the shooting controller (221) based on a capture command indicating capture confirmation (hereinafter, capture confirmation (e.g., ConfirmCapture)). In one embodiment, the shooting controller (221) may request the camera framework (227) to store a captured photo based on a capture confirmation (e.g., ConfirmCapture) from the capture controller (215). For example, the capture controller (215) may request the storage of a photo indicated by sequence identification information through the shooting controller (221) based on a capture confirmation (e.g., ConfirmCapture). For example, the capture controller (215) may request the camera framework (227) to store the captured photo in a non-volatile memory (e.g., non-volatile memory (134) of FIG. 1) of the memory (130) based on a capture confirmation (e.g., ConfirmCapture).
[0074] For example, the capture controller (215) may request the camera framework (227) to discard a captured photo through the shooting controller (221) based on a capture command indicating a capture cancellation (hereinafter, capture cancellation (e.g., CancelCapture)). For example, the shooting controller (221) may request the camera framework (227) to discard (or delete) a captured photo indicated by sequence identification information based on a capture cancellation (e.g., CancelCapture) from the capture controller (215). In one embodiment, a captured photo stored in the volatile memory (132) allocated to the camera framework (227) according to the capture cancellation (e.g., CancelCapture) may be deleted without being stored in the non-volatile memory (134).
[0075] For example, the capture controller (215) may output a sound signal (or shutter sound) indicating that a photo is being taken through a speaker (e.g., the acoustic output module (155) of FIG. 1) based on a response (or callback (e.g., onShutter)) to a capture request (e.g., RequestCapture) from the camera framework (227). For example, the capture controller (215) may output a sound signal based on a response (or callback (e.g., onShutter)) to an initial capture command and a subsequent capture command. For example, the capture controller (215) may output a sound signal based on a response (e.g., RequestCapture) to a capture request and a subsequent capture command. A response (or callback (e.g., onShutter)) to a capture command may be a response indicating that the camera framework (227) is taking a photo in accordance with the capture command.
[0076] For example, the capture controller (215) may output a sound signal (or a shutter sound) based on the time when a touch-up event occurs from a touch-down event. For example, if a touch-up event occurs before a photo is taken following a capture request (e.g., RequestCapture) from a touch-down event, the capture controller (215) may output a sound signal after the photo is taken (or after a response (or a callback (e.g., onShutter)). For example, if a touch-up event occurs after a photo is taken following a capture request (e.g., RequestCapture) from a touch-down event, the capture controller (215) may output a sound signal even before the touch-up event occurs. For example, the capture controller (215) may output a sound signal if no other touch event is identified within a specified time after a photo is taken following a capture request (e.g., RequestCapture) from a touch-down event.
[0077] In one embodiment, the shooting controller (221) may generate a thumbnail (or thumbnail image) of a captured photo through a thumbnail process (223) based on a capture request (e.g., RequestCapture) from the capture controller (215). In one embodiment, the shooting controller (221) may display the thumbnail of a captured photo on the screen (310) (or a visual object (333)) of the camera application (210) through a thumbnail process (223) based on a capture confirmation (e.g., ConfirmCapture) from the capture controller (215). In one embodiment, the shooting controller (221) may delete the thumbnail generated through the thumbnail process (223) without displaying it on the screen (310) (or the visual object (333) within the screen (310)) based on a capture cancellation (e.g., CancelCapture) from the capture controller (215). However, it is not limited thereto. For example, the shooting controller (221) may generate a thumbnail (or thumbnail image) of a captured photo through the thumbnail process (223) based on a capture approval (e.g., ConfirmCapture) from the capture controller (215). For example, the shooting controller (221) may perform image processing on a captured photo through the photo process (225) based on a capture approval (e.g., ConfirmCapture) from the capture controller (215). In one embodiment, the shooting controller (221) may be referred to as a capture action controller in that it controls the camera framework (227) according to a capture command (e.g., capture request, capture approval, or capture cancellation) from the capture controller (215).
[0078] In one embodiment, the shooting controller (221) may transmit a command to the camera framework (227) to control the camera framework (227) in accordance with a capture command from the capture controller (215). In one embodiment, the shooting controller (221) may transmit a command including sequence identification information to the camera framework (227). Accordingly, since the command must be transmitted to the camera framework (227) based on the request, capture approval and / or capture cancellation may be transmitted from the shooting controller (221) to the capture controller (215) after a response (or, callback (e.g., onShutter)) to a capture request (e.g., RequestCapture) from the camera framework (227).
[0079] For example, the output of a sound signal (or shutter sound) indicating that a photo is being taken may occur when a specified condition is met. For example, when a response (or a callback (e.g., onShutter)) and a capture confirmation (e.g., ConfirmCapture) occur, the capture controller (215) may output a sound signal (or shutter sound) indicating that a photo is being taken.
[0080] For example, the time of updating the thumbnail (or thumbnail image) of the captured photo may occur when a specified condition is met. For example, when a response (or a callback (e.g., onShutter)) and a capture confirmation (e.g., ConfirmCapture) occur, the shooting controller (221) may update the thumbnail (or thumbnail image) of the captured photo through the thumbnail process (223).
[0081] In one embodiment, the camera framework (227) can control the camera (280) based on a capture command representing a capture request. For example, the camera framework (227) can take (or acquire) a photograph based on a capture technique (e.g., single capture, burst capture, animated capture, document scan, stitching capture, video snapshot, or video capture) represented by the capture request.
[0082] In one embodiment, the camera framework (227) may manage a sequence of photos (or a shooting pipeline) through the camera (280) based on a capture command from the capture controller (215). In one embodiment, the camera framework (227) may control a callback for the photo shooting sequence. For example, the callback may indicate a state related to the camera (280). For example, the callback may be onShutter, indicating that a photo is being taken, and / or OnCaptureAvailable, indicating that a photo is available.
[0083] In one embodiment, the camera framework (227) may manage a shooting sequence (or the state of the shooting sequence) through a sequence approval manager (229). In one embodiment, the camera framework (227) may manage a shooting sequence (or the state of the shooting sequence) indicated by sequence identification information. For example, the sequence identification information may differ from identification information indicating the shooting order within the camera application (210). For example, the sequence identification information may be stored to manage relationships between shooting sequences based on a data structure (e.g., a map, a list) for changing the state of the shooting sequence. There may be one or more images managed in the shooting sequence (or the state of the shooting sequence).
[0084] For example, in one embodiment, the camera framework (227) may manage a shooting sequence (or the state of the shooting sequence) by requesting approval and / or discarding of an image from the sequence approval manager (229). For example, the state of the shooting sequence may have any one of approval, pending, discard, or completed. For example, the approval state may be a state for delivering resources (or captured photos) to a sequence stack managed by the camera framework (227). For example, the approval state may transition to the completed state when the delivery of resources is completed. For example, the pending state may be a state that transitions to the approval state or the discard state depending on the request for approval or discard. For example, in the pending state, the shooting sequence may wait until the collection of photos is completed. For example, the discard state may be a state in which resources associated with photos taken in the pending state are released. For example, the completed state may indicate a state in which the shooting sequence is completed. According to one embodiment, the approval state may transfer resources delivered to the sequence stack and transition to the completion state upon completion. According to one embodiment, the pending state may change to a different state depending on each of the states, such as approval or discard request, to a state that holds the next action pending. For example, while in the pending state during image processing. If parallelization is not supported, the camera framework (227) may wait while checking whether the collection of images (or frames) is complete. According to one embodiment, the approval action or discard action may change the sequence to the corresponding approval state or discard state so that the sequence is processed. The discard state may release all resources of the sequence. The completion state may indicate a state where all shooting sequences are completed.
[0085] Hereinafter, with reference to FIGS. 5 to 8, an operation in which an electronic device (101) controls a photo taking operation according to an input type can be described.
[0086] FIG. 5 is a diagram illustrating the operation of an electronic device performing functions according to a touch-down event and a touch-up event, according to one embodiment.
[0087] FIG. 5 can be explained with reference to FIGS. 1 to 4.
[0088] Referring to FIG. 5, in operation 510, the shooting manager (211) can receive a touchdown event. For example, the shooting manager (211) can receive a touchdown event through an input manager (e.g., 240 in FIG. 2). For example, the shooting manager (211) can receive a notification indicating a touchdown event through the input manager (240). For example, the shooting manager (211) can receive a notification indicating an input type based on the touchdown event through the input manager (240). In one embodiment, the shooting manager (211) can receive a notification indicating that a button press on a visual object (e.g., 340 in FIG. 3) has been received.
[0089] In operation 520, the shooting manager (211) can send a capture request.
[0090] In one embodiment, the capture manager (211) can identify a capture request (e.g., RequestCapture) corresponding to a touchdown event. For example, based on a touchdown event for a visual object (340), the capture manager (211) can identify a capture request (e.g., RequestCapture).
[0091] In one embodiment, the shooting manager (211) can identify a single capture (SINGLE_CAPTURE) as a capture type. For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”), the shooting manager (211) can identify a single capture (SINGLE_CAPTURE) as a capture type based on a touchdown event for a visual object (340).
[0092] In one embodiment, the capture manager (211) can send a capture request (e.g., RequestCapture(ButtonPressed, SINGLE_CAPTURE)) to the capture manager (213) which includes an input type (e.g., ButtonPressed) and a capture type (e.g., SINGLE_CAPTURE) corresponding to a touchdown event.
[0093] In operation 530, the capture manager (213) may transmit a capture request. In one embodiment, the capture manager (213) may transmit a capture request (e.g., RequestCapture) to the capture controller (215). In one embodiment, the capture manager (213) may transmit a capture request (e.g., RequestCapture) to the single capture controller (231) corresponding to the capture type (e.g., SINGLE_CAPTURE) among the single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239).
[0094] In operation 540, the capture controller (215) may command the single capture controller (231) to take a picture. In operation 541, the single capture controller (231) commands the single capture controller (231) to take a picture with the photo capture request (500), and in operation 543, the photo capture request (500) may command the camera framework (227) to take a picture.
[0095] In operation 545, the camera framework (227) can take a picture. For example, the camera framework (227) can take a picture based on a shooting technique (e.g., single capture) indicated in a command. In one embodiment, the camera framework (227) can generate a callback (e.g., onShutter) as a picture is taken.
[0096] In operation 550, the shooting manager (211) can receive a touch-up event. For example, the shooting manager (211) can receive a touch-up event through an input manager (e.g., 240 in FIG. 2). For example, the shooting manager (211) can receive a notification indicating a touch-up event through the input manager (240). For example, the shooting manager (211) can receive a notification indicating an input type based on the touch-up event through the input manager (240). In one embodiment, the shooting manager (211) can receive a notification indicating that a button release for a visual object (e.g., 340 in FIG. 3) has been received.
[0097] In one embodiment, the shooting manager (211) may receive a touch-up event within a specified reference time from a touch-down event according to operation 510. In one embodiment, the specified reference time may be a time to distinguish between a press and a long press. For example, if a touch-up event occurs within the specified reference time from a touch-down event, the touch input may be a press input. For example, if a touch-up event occurs after exceeding the specified reference time from a touch-down event, the touch input may be a long press input.
[0098] In operation 560, the capture manager (211) may transmit a capture approval. In one embodiment, the capture manager (211) may identify a capture approval (e.g., ConfirmCapture) corresponding to a touch-up event. For example, based on a touch-up event for a visual object (340), the capture manager (211) may identify a capture approval (e.g., ConfirmCapture). For example, based on a touch-up event for a visual object (340), the capture manager (211) may identify a capture approval (e.g., ConfirmCapture) to approve a capture request (e.g., RequestCapture) following a previous touch-down event.
[0099] In one embodiment, the shooting manager (211) can identify a single capture (SINGLE_CAPTURE) as a capture type. For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”), the shooting manager (211) can identify a single capture (SINGLE_CAPTURE) as a capture type based on a touch-up event for a visual object (340).
[0100] In one embodiment, the capture manager (211) may send a capture request (e.g., ConfirmCapture(ButtonReleased, SINGLE_CAPTURE)) to the capture manager (213), which includes an input type (e.g., ButtonReleased) and a capture type (e.g., SINGLE_CAPTURE) corresponding to a touch-up event.
[0101] In operation 570, the capture manager (213) may transmit a capture approval. In one embodiment, the capture manager (213) may transmit a capture approval (e.g., ConfirmCapture) to the capture controller (215). In one embodiment, the capture manager (213) may transmit a capture approval (e.g., ConfirmCapture) to the single capture controller (231) corresponding to the capture type (e.g., SINGLE_CAPTURE) among the single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239).
[0102] In operation 580, the capture controller (215) may transmit a photo capture approval to the single capture controller (231). In operation 581, the single capture controller (231) may command a photo capture approval with a photo capture request (500), and in operation 583, the photo capture request (500) may command a photo capture approval to the camera framework (227).
[0103] In operation 585, the camera framework (227) can store the captured photos. For example, the camera framework (227) can store the captured photos stored in the volatile memory (132) allocated to the camera framework (227) in the non-volatile memory (134) based on the photo capture approval.
[0104] In one embodiment, the camera framework (227) may generate a callback indicating that the photo is saved as the photo is saved to non-volatile memory (134). In one embodiment, the shooting controller (221) may generate a thumbnail of the captured photo through a thumbnail process (223) based on a callback from the camera framework (227) and / or a capture confirmation (e.g., ConfirmCapture). In one embodiment, the shooting controller (221) may display the thumbnail of the captured photo on the screen (310) of the camera application (210) (or a visual object (333) within the screen (310)) through a thumbnail process (223) based on a callback from the camera framework (227) and / or a capture confirmation (e.g., ConfirmCapture).
[0105] As described above, the electronic device (101) can provide the user with fast responsiveness to touch input by taking a photo according to the current shooting mode upon the first touch-down event that occurs during touch input.
[0106] FIG. 6 is a diagram illustrating the operation of an electronic device performing a function in response to a touch movement event according to one embodiment.
[0107] FIG. 6 can be described with reference to FIG. 1 through 5. In one embodiment, the operations of FIG. 6 may be performed after operation 510 of FIG. 5.
[0108] Referring to FIG. 6, in operation 610, the shooting manager (211) can receive a touch movement event. For example, the shooting manager (211) can receive the touch movement event through an input manager (e.g., 240 in FIG. 2). For example, the shooting manager (211) can receive a notification indicating a touch movement event through the input manager (240). For example, the shooting manager (211) can receive a notification indicating an input type based on the touch movement event through the input manager (240). In one embodiment, the shooting manager (211) can receive a notification indicating that a button swipe down on a visual object (e.g., 340 in FIG. 3) has been received.
[0109] In operation 620, the shooting manager (211) may request a capture cancellation.
[0110] In one embodiment, the capture manager (211) can identify a capture cancellation (e.g., CancelCapture) corresponding to a touch movement event. For example, based on a touch movement event for a visual object (340), the capture manager (211) can identify a capture cancellation (e.g., CancelCapture). For example, based on a touch movement event for a visual object (340), the capture manager (211) can identify a capture cancellation (e.g., CancelCapture) to cancel a capture request (e.g., RequestCapture) following a previous touchdown event.
[0111] In one embodiment, the shooting manager (211) can identify a single capture (SINGLE_CAPTURE) as a capture type. For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”), the shooting manager (211) can identify a single capture (SINGLE_CAPTURE) as a capture type based on a touch movement event for a visual object (340).
[0112] In one embodiment, the capture manager (211) can transmit a capture cancellation (e.g., CancelCapture(ButtonSwipeDown, SINGLE_CAPTURE)) to the capture manager (213), which includes an input type (e.g., ButtonSwipeDown) and a capture type (e.g., SINGLE_CAPTURE) corresponding to a touch movement event.
[0113] In operation 630, the capture manager (213) may request a capture cancellation. In one embodiment, the capture manager (213) may send a capture cancellation (e.g., CancelCapture) to the capture controller (215). In one embodiment, the capture manager (213) may send a capture cancellation (e.g., CancelCapture) to the single capture controller (231) corresponding to the capture type (e.g., SINGLE_CAPTURE) among the single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239).
[0114] In operation 640, the capture controller (215) may request the single capture controller (231) to discard the captured photo. In operation 641, the single capture controller (231) orders the photo to be discarded by the photo discard request (600), and in operation 643, the photo discard request (600) may order the camera framework (227) to discard the photo.
[0115] In operation 645, the camera framework (227) can discard a captured photo. For example, the camera framework (227) can delete a captured photo stored in the volatile memory (132) allocated to the camera framework (227) from the volatile memory (132) without storing it in the non-volatile memory (134), based on a request to discard a captured photo.
[0116] In operation 650, the shooting manager (211) can send a capture request.
[0117] In one embodiment, the capture manager (211) can identify a capture request (e.g., RequestCapture) corresponding to a touch movement event. For example, based on a touch movement event for a visual object (340), the capture manager (211) can identify a capture request (e.g., RequestCapture). For example, based on a touch movement event for a visual object (340), the capture manager (211) can identify a capture request (e.g., RequestCapture) that is distinct from a capture request (e.g., RequestCapture) corresponding to a previous touchdown event.
[0118] In one embodiment, the shooting manager (211) can identify a burst capture (BURST_CAPTURE) as a capture type. For example, if the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and there is a touch movement event in a specified direction (e.g., downward direction), the shooting manager (211) can identify a burst capture (BURST_CAPTURE) as a capture type. However, it is not limited thereto. For example, if the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and there is a touch movement event in a specified direction (e.g., upward direction), the shooting manager (211) can identify a request to create a visual object (340).
[0119] In one embodiment, the capture manager (211) can send a capture request (e.g., RequestCapture(ButtonSwipeDown, BURST_CAPTURE)) to the capture manager (213), which includes an input type (e.g., ButtonSwipeDown) and a capture type (e.g., BURST_CAPTURE) corresponding to a touch movement event.
[0120] In operation 660, the capture manager (213) may send a capture request. In one embodiment, the capture manager (213) may send a capture request (e.g., RequestCapture) to the capture controller (215). In one embodiment, the capture manager (213) may send a capture request (e.g., RequestCapture) to the burst capture controller (233) corresponding to the capture type (e.g., BURST_CAPTURE) among the single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239).
[0121] In operation 670, the capture controller (215) may command the burst capture controller (233) to take a photo. In operation 671, the burst capture controller (233) may command burst capture with a photo burst capture request (601), and in operation 673, the burst capture request (601) may command the camera framework (227) to perform burst capture.
[0122] In operation 675, the camera framework (227) can take a photograph. For example, the camera framework (227) can take one or more photographs within a specified time interval based on a shooting technique (e.g., burst capture) indicated in the command. In one embodiment, the camera framework (227) can generate a callback (e.g., onShutter) as a photograph is taken.
[0123] FIG. 7 is a diagram illustrating the operation of an electronic device performing a function in response to a touch-up event according to one embodiment.
[0124] FIG. 7 can be described with reference to FIG. 1 through 6. In one embodiment, the operations of FIG. 7 may be performed after operation 610 of FIG. 6.
[0125] Referring to FIG. 7, in operation 710, the shooting manager (211) can receive a touch movement end event. For example, the shooting manager (211) can receive the touch movement end event through an input manager (e.g., 240 in FIG. 2). For example, the shooting manager (211) can receive a notification indicating the touch movement end event through the input manager (240). For example, the shooting manager (211) can receive a notification indicating an input type based on the touch movement end event through the input manager (240). In one embodiment, the shooting manager (211) can receive a notification indicating that a button release for a visual object (e.g., 340 in FIG. 3) has been received. In one embodiment, the touch movement end event may include a touch-up event.
[0126] In operation 720, the capture manager (211) may transmit a capture approval. In one embodiment, the capture manager (211) may identify a capture approval (e.g., ConfirmCapture) corresponding to a touch-up event. For example, based on a touch-up event for a visual object (340), the capture manager (211) may identify a capture approval (e.g., ConfirmCapture). For example, based on a touch-up event for a visual object (340), the capture manager (211) may identify a capture approval (e.g., ConfirmCapture) to approve a capture request (e.g., RequestCapture) following a previous touch-movement event.
[0127] In one embodiment, the shooting manager (211) can identify a burst capture (BURST_CAPTURE) as a capture type. For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”), the shooting manager (211) can identify a burst capture (BURST_CAPTURE) as a capture type based on a touch-up event following a touch-movement event for a visual object (340).
[0128] In one embodiment, the capture manager (211) may send a capture request (e.g., ConfirmCapture(ButtonReleased, BURST_CAPTURE)) to the capture manager (213), which includes an input type (e.g., ButtonReleased) and a capture type (e.g., BURST_CAPTURE) corresponding to a touch-up event.
[0129] In operation 730, the capture manager (213) may transmit a capture approval. In one embodiment, the capture manager (213) may transmit a capture approval (e.g., ConfirmCapture) to the capture controller (215). In one embodiment, the capture manager (213) may transmit a capture approval (e.g., ConfirmCapture) to the burst capture controller (233) corresponding to the capture type (e.g., BURST_CAPTURE) among the single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239).
[0130] In operation 740, the capture controller (215) may transmit a photo capture approval to the burst capture controller (233). In operation 741, the burst capture controller (233) may command the burst capture stop request (603) to stop burst capture. In operation 743, the burst capture stop request (603) may command the camera framework (227) to stop burst capture.
[0131] In operation 745, the camera framework (227) can store the captured photos. For example, the camera framework (227) can store the captured photos stored in the volatile memory (132) allocated to the camera framework (227) in the non-volatile memory (134) based on the photo capture approval.
[0132] In one embodiment, the camera framework (227) may generate a callback indicating that the photo is saved as the photo is saved to non-volatile memory (134). In one embodiment, the shooting controller (221) may generate a thumbnail of the captured photo through a thumbnail process (223) based on a callback from the camera framework (227) and / or a capture confirmation (e.g., ConfirmCapture). In one embodiment, the shooting controller (221) may display the thumbnail of the captured photo on the screen (310) of the camera application (210) (or a visual object (333) within the screen (310)) through a thumbnail process (223) based on a callback from the camera framework (227) and / or a capture confirmation (e.g., ConfirmCapture).
[0133] FIG. 8 is a diagram illustrating the operation of an electronic device performing a function in response to a touchdown event, according to one embodiment.
[0134] FIG. 8 may be described with reference to FIG. 1 through 5. In one embodiment, operation 510 of FIG. 8 may correspond to operation 510 of FIG. 5. In one embodiment, the description of operations 520 through 545 of FIG. 5 may be omitted in FIG. 8. However, operations 520 through 545 of FIG. 5 may be performed after operation 510 of FIG. 8 and before operation 810.
[0135] Referring to FIG. 8, in operation 510, the shooting manager (211) can receive a touchdown event. In response to the touchdown event, the shooting manager (211) can perform operations 520 to 545 of FIG. 5.
[0136] In one embodiment, the shooting manager (211) can identify that a specified reference time has elapsed from a touchdown event according to operation 510. In one embodiment, the shooting manager (211) can identify that a specified reference time has elapsed from a touchdown state according to operation 510. In one embodiment, the specified reference time may be a time for distinguishing between a press and a long press.
[0137] In operation 810, the shooting manager (211) may request a capture cancellation. In one embodiment, the shooting manager (211) may request a capture cancellation based on the elapsed time specified from the touchdown event according to operation 510.
[0138] In one embodiment, the capture manager (211) can identify a capture cancellation (e.g., CancelCapture) corresponding to a touchdown event that has been present for a specified reference time or longer. For example, based on a touchdown event that has been present for a visual object (340) for a specified reference time or longer, the capture manager (211) can identify a capture cancellation (e.g., CancelCapture). For example, based on a touchdown event for a visual object (340), the capture manager (211) can identify a capture cancellation (e.g., CancelCapture) to cancel a capture request (e.g., RequestCapture) following a previous touchdown event.
[0139] In operation 820, the capture manager (213) may request a capture cancellation. In one embodiment, the capture manager (213) may send a capture cancellation (e.g., CancelCapture) to the capture controller (215). In one embodiment, the capture manager (213) may send a capture cancellation (e.g., CancelCapture) to the single capture controller (231) corresponding to the capture type (e.g., SINGLE_CAPTURE) among the single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239).
[0140] In operation 830, the capture controller (215) may request the single capture controller (231) to discard the captured photo. In operation 831, the single capture controller (231) may order the photo capture discard request (600) to discard the captured photo. In operation 835, the photo capture discard request (600) may order the camera framework (227) to discard the captured photo.
[0141] In operation 840, the camera framework (227) can discard a captured photograph. For example, the camera framework (227) can delete a captured photograph stored in the volatile memory (132) allocated to the camera framework (227) from the volatile memory (132) without storing it in the non-volatile memory (134), based on a request to discard a captured photograph.
[0142] In operation 850, the shooting manager (211) can transmit a capture request. In one embodiment, the shooting manager (211) can identify a capture request (e.g., RequestCapture) corresponding to a touchdown event that is longer than a specified reference time.
[0143] In one embodiment, the shooting manager (211) can identify a video snapshot (VIDEO_SNAPSHOT) as a capture type. For example, if the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and there is a touch movement event of longer than a specified reference time, the shooting manager (211) can identify a video snapshot (VIDEO_SNAPSHOT) as a capture type.
[0144] In one embodiment, the shooting manager (211) can send a capture request (e.g., RequestCapture(ButtonLongPressed, VIDEO_SNAPSHOT)) to the capture manager (213), which includes an input type (e.g., ButtonLongPressed) and a capture type (e.g., VIDEO_SNAPSHOT) corresponding to a touch movement event of longer than a specified reference time.
[0145] In operation 860, the capture manager (213) may send a capture request. In one embodiment, the capture manager (213) may send a capture request (e.g., RequestCapture) to the capture controller (215). In one embodiment, the capture manager (213) may send a capture request (e.g., RequestCapture) to the video capture controller (239) corresponding to the capture type (e.g., VIDEO_SNAPSHOT) among the single capture controller (231), burst capture controller (233), animated capture controller (235), document scan controller (236), stitching capture controller (237), video snapshot controller (238), or video capture controller (239).
[0146] In operation 870, the capture controller (215) may command the video capture controller (239) to take a picture. In operation 871, the video capture controller (239) may command the video capture request (801) to capture a video. In operation 873, the video capture request (801) may command the camera framework (227) to capture a video.
[0147] In operation 880, the camera framework (227) can take a picture. For example, the camera framework (227) can take a video up to the touch-up event based on a shooting technique (e.g., video snapshot) indicated in the command. In one embodiment, the camera framework (227) can generate a callback (e.g., onShutter) as video shooting begins.
[0148] In operation 550, the shooting manager (211) can receive a touch-up event.
[0149] In operation 891, the shooting manager (211) can transmit a capture approval. In one embodiment, the shooting manager (211) can identify a capture approval (e.g., ConfirmCapture) corresponding to a touch-up event.
[0150] In operation 893, the capture manager (213) may transmit a capture approval. In one embodiment, the capture manager (213) may transmit a capture approval (e.g., ConfirmCapture) to a video capture controller (239) corresponding to a capture type (e.g., VIDEO_SNAPSHOT) among a single capture controller (231), a burst capture controller (233), an animated capture controller (235), a document scan controller (236), a stitching capture controller (237), a video snapshot controller (238), or a video capture controller (239).
[0151] In operation 895, the capture controller (215) may transmit a photo capture approval to the video capture controller (239). In operation 896, the video capture controller (239) may command the video capture request (801) to stop video capture. In operation 897, the video capture request (801) may command the camera framework (227) to stop video capture.
[0152] In operation 898, the camera framework (227) can store the captured video. For example, the camera framework (227) can store the captured video stored in the volatile memory (132) allocated to the camera framework (227) in the non-volatile memory (134) based on the photo capture approval.
[0153] FIG. 9 is a diagram illustrating tasks pending in the request queue of an electronic device according to one embodiment.
[0154] FIG. 9 can be described with reference to FIGS. 1 through 8. FIG. 9 may show the operation sequence of the shooting controller (221).
[0155] Referring to FIG. 9, the shooting controller (221) can input (or enqueue) a task (910) requesting the camera framework (227) to prepare for taking a photo into the request queue (901). For example, the shooting controller (221) can input (or enqueue) a task (910) requesting the camera framework (227) to prepare for taking a photo into the request queue (901) based on a touchdown event (981).
[0156] For example, during task (910) (or while the capture state (903) is changed from IDLE to PREPARING), a capture approval (e.g., ConfirmCapture) based on a touch-up event (983) may not be processed. For example, if the touch-up event (983) is identified before the time interval (Tint) during which capture approval or capture cancellation can be requested, the shooting controller (221) may not be able to generate a capture approval (e.g., ConfirmCapture) for a photo taken by a capture request identified by the identification information, because the identification information of the shooting sequence is not identified. In one embodiment, during task (910), a capture approval (e.g., ConfirmCapture) for a photo taken cannot be issued because there is no identification information (e.g., Sequence id) of the shooting sequence. For example, if a touch-up event (983) is identified before a time interval (Tint) in which capture approval or capture cancellation can be requested, a capture approval based on the touch-up event (e.g., ConfirmCapture) can be processed within the time interval (Tint). In one embodiment, the shooting controller (221) can receive sequence identification information from the camera framework (227) as the task (910) is processed.
[0157] In one embodiment, the shooting controller (221) may input (or enqueue) a task (920) requesting the camera framework (227) to take a picture into the request queue (901) as the task (910) is processed. For example, the task (920) may be a task based on a capture request (e.g., RequestCapture).
[0158] For example, as the task (920) is initiated, the lifecycle of the shooting sequence may be initiated. For example, the shooting sequence may include taking a photo, waiting for capture, and waiting for a callback. For example, after the lifecycle of the shooting sequence, the captured photo may be saved based on a capture confirmation (e.g., ConfirmCapture).
[0159] In one embodiment, during a task (920) (or while the capture state (903) is changed from PREPARING to CAPTURING), the camera framework (227) may take a picture through the camera (280). The camera framework (227) may generate a callback (e.g., onShutter) in response to the completion of taking the picture.
[0160] In one embodiment, if a touch-up event (985) is received during a task (920), the shooting controller (221) may not immediately process a capture approval (e.g., ConfirmCapture) based on the touch-up event (985). For example, if a touch-up event (985) is received during a task (920), the shooting controller (221) may encue a task (930) based on the capture approval (e.g., ConfirmCapture) after the task (920).
[0161] In one embodiment, if a touch-up event (987) is received during a task (940) for waiting to be captured after a task (920) (or while the capture state (903) is CAPTURING), the shooting controller (221) may not immediately process a capture approval (e.g., ConfirmCapture) based on the touch-up event (987). For example, if a touch-up event (987) is received during a task (940), the shooting controller (221) may enqueue a task (950) based on the capture approval (e.g., ConfirmCapture) after the task (940).
[0162] In one embodiment, when a touch-up event (989) is received during a task for waiting for a callback (e.g., Wait Picture Callback) after task (940) (or while the capture state (903) is IDLE), the shooting controller (221) may immediately process a capture acknowledgment (e.g., ConfirmCapture) based on the touch-up event (989). For example, in response to the receipt of the touch-up event (989), the shooting controller (221) may process a task (960) based on the capture acknowledgment (e.g., ConfirmCapture) during task (950).
[0163] In one embodiment, after a task for waiting for a callback (e.g., Wait Picture Callback), the shooting controller (221) may enqueue a task (970) for saving a picture to the camera framework (227) based on a callback indicating FCC (FrameCollectionCompleted) (or a callback indicating completion of taking a picture). After the task (970) is completed, capture approval (e.g., ConfirmCapture) and / or capture cancellation (e.g., CancelCapture) for a capture request (e.g., RequestCapture) may not be possible.
[0164] FIG. 10 is a drawing illustrating the operation according to the shooting sequence of an electronic device according to one embodiment.
[0165] FIG. 10 can be described with reference to FIGS. 1 through 9. FIG. 10 may indicate the timing of a shutter sound when a capture acknowledgment (e.g., ConfirmCapture) for a capture request (e.g., RequestCapture) occurs during photo shooting. For example, if a capture acknowledgment (e.g., ConfirmCapture) occurs before photo shooting is completed, the shooting controller (221) may output a sound signal (or shutter sound) indicating that photo shooting is performed through a speaker (e.g., the sound output module (155) of FIG. 1) after the capture acknowledgment (e.g., ConfirmCapture) is completed and a callback (e.g., onShutter) is received.
[0166] Referring to FIG. 10, the capture manager (213) may receive a touchdown event (1010). Upon receiving the touchdown event (1010), the capture manager (213) may send a command corresponding to the touchdown event (1010) (e.g., a capture request (e.g., RequestCapture), capture wait, and / or shutter wait) to the shooting controller (221). In one embodiment, the shooting controller (221) may enqueue a task (PREPARE_TAKE_PICTURE) for preparing to take a picture corresponding to the command corresponding to the touchdown event (1010) into the request queue (901). In one embodiment, the shooting controller (221) may process a capture wait (1015) and a shutter wait (1035) according to the touchdown event (1010). For example, the capture wait (1015) may be a wait for a capture acknowledgment (e.g., ConfirmCapture) corresponding to a touch-up event (1020). For example, the shutter wait (1035) may be a wait for a callback (e.g., onShutter).
[0167] In one embodiment, the shooting controller (221) may receive a signal indicating that the task (PREPARE_TAKE_PICTURE) for preparing to take a picture is completed. In one embodiment, the shooting controller (221) may initiate a capture wait (1015) and a shutter wait (1035).
[0168] In one embodiment, the shooting controller (221) can enqueue a task for taking a picture (TAKE_PROCESSING_PICTURE) into a request queue (901).
[0169] In one embodiment, the capture manager (213) may receive a touch-up event (1020). Upon receiving the touch-up event (1020), the capture manager (213) may send a capture approval (e.g., ConfirmCapture) corresponding to the touch-up event (1020) to the shooting controller (221). In one embodiment, the shooting controller (221) may enqueue (1065) a task (APPROVE) corresponding to the touch-up capture approval (e.g., ConfirmCapture) (1025) in the request queue (901) after the task for taking a picture (TAKE_PROCESSING_PICTURE).
[0170] In one embodiment, the shooting controller (221) may receive (1045) a callback (e.g., onShutter) indicating that the photo capture is complete from the camera framework (227) after the capture approval (e.g., ConfirmCapture). In one embodiment, the shooting controller (221) may output a sound signal (or shutter sound) indicating that the photo capture is performed through a speaker (e.g., the sound output module (155) of FIG. 1) during the task (APPROVE). In one embodiment, the shooting controller (221) may enqueue (1085) the task to output a sound signal (or shutter sound) indicating that the photo capture is performed into the request queue (901).
[0171] FIG. 11 is a drawing illustrating the operation according to the shooting sequence of an electronic device according to one embodiment.
[0172] FIG. 11 may be described with reference to FIGS. 1 through 9. FIG. 11 may indicate the timing of a shutter sound when a capture approval (e.g., ConfirmCapture) for a capture request (e.g., RequestCapture) occurs during preparation for taking a photo. For example, when a capture approval (e.g., ConfirmCapture) occurs during preparation for taking a photo, the shooting controller (221) may output a sound signal (or shutter sound) indicating that a photo is being taken through a speaker (e.g., the sound output module (155) of FIG. 1) after the capture approval (e.g., ConfirmCapture) is completed and a callback (e.g., onShutter) is received.
[0173] Referring to FIG. 11, the capture manager (213) may receive a touchdown event (1110). Upon receiving the touchdown event (1110), the capture manager (213) may send a command corresponding to the touchdown event (1110) (e.g., a capture request (e.g., RequestCapture), capture wait, and / or shutter wait) to the shooting controller (221). In one embodiment, the shooting controller (221) may enqueue a task (PREPARE_TAKE_PICTURE) for preparing to take a picture corresponding to the command corresponding to the touchdown event (1110) into the request queue (901). In one embodiment, the shooting controller (221) may process a capture wait (1115) and a shutter wait (1135) according to the touchdown event (1010). For example, the capture wait (1115) may be a wait for a capture acknowledgment (e.g., ConfirmCapture) corresponding to a touch-up event (1120). For example, the shutter wait (1135) may be a wait for a callback (e.g., onShutter). In one embodiment, since the capture wait (1115) is reduced compared to FIG. 10, a capture acknowledgment may be granted without a wait for a capture acknowledgment (e.g., ConfirmCapture).
[0174] In one embodiment, the shooting controller (221) may receive a touch-up event (1120) during a task (PREPARE_TAKE_PICTURE) for preparing to take a picture. Upon receiving the touch-up event (1120), the capture manager (213) may send a capture approval (e.g., ConfirmCapture) corresponding to the touch-up event (1120) to the shooting controller (221). In one embodiment, the shooting controller (221) may enqueue a task (APPROVE) corresponding to the touch-up capture approval (e.g., ConfirmCapture) into the request queue (901) after receiving a notification from the request queue (901) indicating that a task (TAKE_PROCESSING_PICTURE) has been initiated. In one embodiment, the shooting controller (221) can enqueue a task (APPROVE) corresponding to a touch capture approval (e.g., ConfirmCapture) (1125) into a request queue (901) after a task for taking a picture (TAKE_PROCESSING_PICTURE).
[0175] In one embodiment, the shooting controller (221) may receive (1145) a callback (e.g., onShutter) indicating that the photo capture is completed from the camera framework (227) after the capture approval (e.g., ConfirmCapture). In one embodiment, the shooting controller (221) may output a sound signal (or shutter sound) indicating that the photo capture is performed through a speaker (e.g., the sound output module (155) of FIG. 1) during the task (APPROVE).
[0176] FIG. 12 is a drawing illustrating the operation according to the shooting sequence of an electronic device according to one embodiment.
[0177] FIG. 12 may be described with reference to FIGS. 1 through 9. FIG. 12 may indicate the timing of a shutter sound when a capture approval (e.g., ConfirmCapture) for a capture request (e.g., RequestCapture) occurs during the capture waiting period. For example, if a capture approval (e.g., ConfirmCapture) occurs after a photo has been taken, the shooting controller (221) may output a sound signal (or shutter sound) indicating that a photo has been taken through a speaker (e.g., the sound output module (155) of FIG. 1) before the task following the capture approval (e.g., ConfirmCapture) is processed.
[0178] Referring to FIG. 12, the capture manager (213) may receive a touchdown event (1210). Upon receiving the touchdown event (1210), the capture manager (213) may send a command corresponding to the touchdown event (1210) (e.g., a capture request (e.g., RequestCapture), a capture wait, and / or a shutter wait) to the shooting controller (221). In one embodiment, the shooting controller (221) may enqueue a task (PREPARE_TAKE_PICTURE) for preparing to take a picture corresponding to the command corresponding to the touchdown event (1210) into the request queue (901). In one embodiment, the shooting controller (221) may process a capture wait (1215) following the touchdown event (1010). For example, the capture wait (1215) may be a wait for a capture confirmation (e.g., ConfirmCapture) corresponding to a touchup event (1220).
[0179] In one embodiment, the shooting controller (221) may receive a signal indicating that the task (PREPARE_TAKE_PICTURE) for preparing to take a picture is completed. In one embodiment, the shooting controller (221) may initiate a capture wait (1215).
[0180] In one embodiment, the shooting controller (221) can enqueue a task for taking a picture (TAKE_PROCESSING_PICTURE) and a task for waiting to be captured (WAIT_CAPTURE_AVAILABLE) into a request queue (901).
[0181] In one embodiment, the capture manager (213) may receive a touch-up event (1220) after the task for taking a picture (TAKE_PROCESSING_PICTURE) is completed. In one embodiment, the capture manager (213) may receive a touch-up event (1220) while the task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE) is being processed. Upon receiving the touch-up event (1220), the capture manager (213) may send a capture approval (e.g., ConfirmCapture) corresponding to the touch-up event (1220) to the shooting controller (221). In one embodiment, the shooting controller (221) may enqueue a task (APPROVE) corresponding to the touch-capture approval (e.g., ConfirmCapture) (1225) into the request queue (901) after the task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE).
[0182] In one embodiment, the shooting controller (221) may receive (1235) a callback (e.g., onShutter) indicating that a photo has been taken from the camera framework (227) before a touch-up event for a capture acknowledgment (e.g., ConfirmCapture). In one embodiment, the shooting controller (221) may receive a capture acknowledgment (e.g., ConfirmCapture) during a task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE). In one embodiment, the shooting controller (221) may output a sound signal (or shutter sound) indicating that a photo has been taken through a speaker (e.g., the sound output module (155) of FIG. 1) during a task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE). In one embodiment, the shooting controller (221) may output a sound signal (or shutter sound) indicating that a photo is being taken through a speaker (e.g., the sound output module (155) of FIG. 1) after the start of the task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE) and before the task (APPROVE).
[0183] FIG. 13 is a drawing illustrating the operation according to the shooting sequence of an electronic device according to one embodiment.
[0184] FIG. 13 can be described with reference to FIGS. 1 through 9. FIG. 13 may indicate the timing of thumbnail generation. For example, if a capture confirmation (e.g., ConfirmCapture) occurs after a photo is taken, the shooting controller (221) may generate a thumbnail before the task following the capture confirmation (e.g., ConfirmCapture) is processed, and update the thumbnail after the shutter sound is generated.
[0185] Referring to FIG. 13, the capture manager (213) may receive a touchdown event (1310). Upon receiving the touchdown event (1310), the capture manager (213) may send a command corresponding to the touchdown event (1310) (e.g., a capture request (e.g., RequestCapture), a capture wait, and / or a shutter wait) to the shooting controller (221). In one embodiment, the shooting controller (221) may enqueue a task (PREPARE_TAKE_PICTURE) for preparing to take a picture corresponding to the command corresponding to the touchdown event (1310) into the request queue (901). In one embodiment, the shooting controller (221) may process a capture wait (1315) following the touchdown event (1010). For example, the capture wait (1315) may be a wait for a capture confirmation (e.g., ConfirmCapture) corresponding to the touchup event (1320).
[0186] In one embodiment, the shooting controller (221) may receive a signal indicating that the task (PREPARE_TAKE_PICTURE) for preparing to take a picture is completed. In one embodiment, the shooting controller (221) may initiate a capture wait (1315).
[0187] In one embodiment, the capture manager (213) may receive a touch-up event (1320) while a task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE) is being processed. Upon receiving the touch-up event (1320), the capture manager (213) may send a capture approval (e.g., ConfirmCapture) corresponding to the touch-up event (1320) to the shooting controller (221). In one embodiment, the shooting controller (221) may enqueue a task (APPROVE) corresponding to the touch capture approval (e.g., ConfirmCapture) (1325) into the request queue (901) after the task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE).
[0188] In one embodiment, the shooting controller (221) may receive (1335) a callback (e.g., onShutter) indicating that a photo has been taken from the camera framework (227) before a touch-up event for capture approval (e.g., ConfirmCapture). In one embodiment, the shooting controller (221) may output a sound signal (or shutter sound) indicating that a photo has been taken through a speaker (e.g., the sound output module (155) of FIG. 1) after the start of the task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE) and before the task (APPROVE).
[0189] In one embodiment, the shooting controller (221) may receive a callback (e.g., onDraftThumbnail) indicating that a thumbnail image has been generated. In one embodiment, the shooting controller (221) may receive the callback (e.g., onDraftThumbnail) before a touch-up event for capture approval (e.g., ConfirmCapture) (1335). In one embodiment, the shooting controller (221) may update (or display on the screen (310) of the camera application (210) (or a visual object (333) within the screen (310)) the thumbnail of the captured photo during a task for waiting for capture availability (WAIT_CAPTURE_AVAILABLE) via a thumbnail process (223).
[0190] FIG. 14 is a drawing illustrating the operation of a camera frame of an electronic device according to one embodiment.
[0191] FIG. 14 can be explained with reference to FIGS. 1 to 13.
[0192] Referring to FIG. 14, the camera framework (227) can receive a photo capture command (1410) (e.g., a capture request (e.g., RequestCapture)).
[0193] In one embodiment, the camera framework (227) can acquire an image through the camera (280) based on a photo capture command (1410). In one embodiment, the camera framework (227) can temporarily store the image resources (1420) acquired based on the photo capture command (1410) in memory allocated to the camera framework (227). In one embodiment, the camera framework (227) can temporarily store image resources (1431, 1433, 1435) according to the shooting technique indicated by the photo capture command (1410) in memory allocated for the image sequence (1430) (or shooting sequence) of the camera framework (227).
[0194] In one embodiment, the camera framework (227) may obtain resources (e.g., resources of a processor (120) and / or memory (130)) for the operation of the post-processor (1401) from the hardware abstraction layer (HAL) based on a photo capture command (1410). In one embodiment, the camera framework (227) may wait for the next command according to the shooting sequence after taking a photo. For example, the camera framework (227) may wait for a capture confirmation (e.g., ConfirmCapture) and / or a capture cancellation (e.g., CancelCapture) according to the shooting sequence after taking a photo.
[0195] In one embodiment, the camera framework (227) may discard image resources (1431, 1433, 1435) based on receiving a capture cancellation (e.g., CancelCapture) after taking a picture. In one embodiment, the camera framework (227) may discard image resources (1431, 1433, 1435) managed through the image sequence (1430) in response to receiving a capture cancellation (e.g., CancelCapture) containing identification information representing the image sequence (1430) after taking a picture. In one embodiment, image resources (1431, 1433, 1435) stored in the volatile memory (132) allocated to the camera framework (227) according to the capture cancellation (e.g., CancelCapture) may be deleted without being stored in the non-volatile memory (134).
[0196] In one embodiment, the camera framework (227) may store image resources (1431, 1433, 1435) based on receiving a capture confirmation (e.g., ConfirmCapture) after taking a photo. In one embodiment, the camera framework (227) may transfer image resources (1431, 1433, 1435) managed through the image sequence (1430) to the image stack (1440) in response to receiving a capture confirmation (e.g., ConfirmCapture) containing identification information representing the image sequence (1430) after taking a photo. In one embodiment, the camera framework (227) may process (1450) the image resources (1441, 1443, 1445) through the image stack (1440) managed by the post-processor (1401). For example, the post-processor (1401) can generate a callback (1460) for image resources (1441, 1443, 1445). For example, the post-processor (1401) can perform post-processing on the image resources (1441, 1443, 1445) through a post-processing algorithm (1470). For example, the post-processor (1401) can deliver the callback (1460) to the application after processing (1450) the image resources (1441, 1443, 1445) upon capture approval.
[0197] FIG. 15 is a flowchart illustrating the operation of a camera frame of an electronic device according to one embodiment.
[0198] FIG. 15 can be explained with reference to FIGS. 1 to 14.
[0199] Referring to FIG. 15, in operation 1510, the electronic device (101) can receive an initial input. For example, the electronic device (101) can identify a touchdown event for a visual object (340) within the screen (310) of the camera application (210) as the initial input.
[0200] In operation 1520, the electronic device (101) can perform a function set for the initial input. For example, the electronic device (101) can take a picture according to the shooting technique set for the initial input among a plurality of shooting techniques. For example, if the shooting mode of the camera application (210) is general shooting (“PHOTO”), the function set for the touchdown event on the visual object (340) may be SINGLE_CAPTURE. For example, if the shooting mode of the camera application (210) is video shooting (“VIDEO”), the function set for the touchdown event on the visual object (340) may be VIDEO_SNAPSHOT.
[0201] In operation 1530, the electronic device (101) can receive a subsequent input. For example, the electronic device (101) can identify a touch event after a touch-down event for a visual object (340) within the screen (310) of the camera application (210) as a subsequent input.
[0202] In operation 1540, the electronic device (101) can determine whether the subsequent input is an input for acknowledging a function set for the previous input. For example, the electronic device (101) can determine that the subsequent input is an input for acknowledging a function set for the previous input if the previous input is a touch-down event for the visual object (340) and the subsequent input is a touch-up event. For example, the electronic device (101) can determine that the subsequent input is an input for discarding a function set for the previous input if the previous input is a touch-down event for the visual object (340) and the subsequent input is a touch-movement event.
[0203] For example, the electronic device (101) can determine that if the previous input is a touch movement event for a visual object (340) and the subsequent input is a touch-up event, the subsequent input is an input for acknowledging a function set for the previous input. For example, the electronic device (101) can determine that if the previous input is a touch movement event for a visual object (340) and the subsequent input is a touch cancel event, the subsequent input is an input for canceling a function set for the previous input.
[0204] In operation 1540, based on the determination that the subsequent input is an input for acknowledging the function set for the previous input, the electronic device (101) may perform operation 1550. In operation 1540, based on the determination that the subsequent input is not an input for acknowledging the function set for the previous input, the electronic device (101) may perform operation 1560.
[0205] In operation 1550, the electronic device (101) may approve the result of executing a function. For example, the electronic device (101) may approve the result of executing a function executed according to a previous input. For example, if the function executed according to the previous input is taking a photo, the electronic device (101) may save the photo obtained according to the photo taking. For example, if the function executed according to the previous input is taking a photo, the electronic device (101) may update a thumbnail representing the photo obtained according to the photo taking. For example, if the function executed according to the previous input is taking a photo, the electronic device (101) may output a sound indicating that a photo has been obtained according to the photo taking.
[0206] In operation 1560, the electronic device (101) may discard the result of executing a function according to a previous input. For example, the electronic device (101) may discard the result of executing a function executed according to a previous input. For example, if the function executed according to a previous input is taking a photo, the electronic device (101) may delete the photo obtained according to the photo taking without storing it in non-volatile memory (e.g., non-volatile memory (134) of FIG. 1). For example, if the function executed according to a previous input is taking a photo, the electronic device (101) may delete the thumbnail representing the photo obtained according to the photo taking without updating it. For example, if the function executed according to a previous input is taking a photo, the electronic device (101) may not output a sound indicating that a photo is obtained according to the photo taking.
[0207] In operation 1570, the electronic device (101) may perform a function different from the function based on the previous input. For example, the electronic device (101) may take a picture according to a shooting technique set for the subsequent input among a plurality of shooting techniques. For example, if the shooting mode of the camera application (210) is general shooting (“PHOTO”), the function set for the touch movement event for the visual object (340) may be AGIF_CAPTURE. However, it is not limited thereto. For example, the electronic device (101) may create a new shutter button within the screen (310) based on the subsequent input.
[0208] After operation 1570, the electronic device (101) can perform operation 1530 again.
[0209] FIGS. 16a and FIGS. 16b are drawings illustrating an example in which an electronic device updates the screen of a camera application according to a touch input, according to one embodiment.
[0210] FIGS. 16a and FIGS. 16b can be explained with reference to FIGS. 1 through 15.
[0211] Referring to the state (1601) of FIG. 16a, the camera application (210) can receive user input (1610). In one embodiment, the user input (1610) of FIG. 16a may be a press input. In one embodiment, the user input (1610) of FIG. 16a may be an input resulting from a button release that occurred prior to a reference time determined to be a button press and a long press.
[0212] For example, if the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and the user input (1610) indicates single capture (SINGLE_CAPTURE), the camera application (210) can maintain a display of a visual object (340) within the screen (310).
[0213] Referring to the state (1603) of FIG. 16a, the camera application (210) can receive user input (1611). In one embodiment, the user input (1611) of FIG. 16a may be a long press input. In one embodiment, the user input (1611) of FIG. 16a may be an input resulting from a button release occurring after a reference time determined to be a button press and a long press.
[0214] For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and the user input (1611) indicates a video snapshot (VIDEO_SNAPSHOT), the camera application (210) can change the display of a visual object (340) within the screen (310). For example, the camera application (210) can change to a visual object (1620) indicating that shooting according to the video snapshot (VIDEO_SNAPSHOT) is being performed. In one embodiment, the visual object (1620) may be a shutter button with a red color compared to the visual object (340).
[0215] Referring to the state (1603) of FIG. 16b, the camera application (210) can receive user input (1612). In one embodiment, the user input (1612) of FIG. 16b may be an upward swipe input. In one embodiment, the user input (1612) of FIG. 16b may be an input corresponding to a button press, a button swipe up, and a button release.
[0216] For example, if the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and user input (1612) indicates a request to create a shutter button, the camera application (210) may display a new shutter button (1630) at a location moved by button swipe down. For example, if the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and user input (1612) indicates a request to create a shutter button, the camera application (210) may fix a new shutter button (1630) at a location corresponding to button release. According to an embodiment, the camera application (210) may stop displaying the new shutter button (1630) in response to the location corresponding to button release being within a specified distance from a visual object (340). In one embodiment, the camera application (210) can maintain a new shutter button (1630) display in response to the position following the button release moving away from a specified distance from the visual object (340).
[0217] Referring to the state (1604) of FIG. 16b, the camera application (210) can receive user input (1613). In one embodiment, the user input (1613) of FIG. 16b may be a downward swipe input. In one embodiment, the user input (1613) of FIG. 16b may be an input corresponding to a button press, a button swipe up, and a button release.
[0218] For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and the user input (1613) indicates burst capture (“BURST_CAPTURE”), the camera application (210) may display a new visual object (1640) indicating that shooting according to burst capture (“BURST_CAPTURE”) is performed on the screen (310). For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and burst capture (“BURST_CAPTURE”) is set for a downward swipe input, the camera application (210) may display a new visual object (1640) indicating that shooting according to burst capture (“BURST_CAPTURE”) is performed on the screen (310).
[0219] Referring to the state (1605) of FIG. 16b, the camera application (210) can receive user input (1614). In one embodiment, the user input (1614) of FIG. 16b may be a downward swipe input. In one embodiment, the user input (1614) of FIG. 16b may be an input corresponding to a button press, a button swipe up, and a button release.
[0220] For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and the user input (1614) indicates animated capture (AGIF_CAPTURE), the camera application (210) may display a new visual object (1640) indicating that shooting according to the animated capture (AGIF_CAPTURE) is performed on the screen (310). For example, when the shooting mode of the camera application (210) is normal shooting (“PHOTO”) and animated capture (AGIF_CAPTURE) is set for a downward swipe input, the camera application (210) may display a new visual object (1650) indicating that shooting according to the animated capture (AGIF_CAPTURE) is performed on the screen (310).
[0221] The technical problems to be solved in this disclosure are not limited to those mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art to which this disclosure pertains.
[0222] As described above, the electronic device (101) may include a camera (280), a display (260) including a touch-sensitive circuit, at least one processor (120) including a processing circuit, and a memory (130) including one or more storage media for storing instructions. When the instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the display (310) of a camera application (210) to be displayed through the display (260). The display (310) may include a visual object (340) representing a shutter button. When the instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the touch-down event on the visual object (340) to be identified through the touch-sensitive circuit. When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to control the camera (280) to acquire an image in response to identifying the touch-down event on the visual object (340). When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to identify another touch event following the touch-down event through the touch-sensitive circuit. When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to store the image in the non-volatile memory of the memory (130) if the other touch event is a touch-up event.When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may be caused to discard the image without storing the image in the non-volatile memory of the memory (130) and perform a function according to the other touch event when the other touch event is a touch movement event.
[0223] When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the image to be stored in the non-volatile memory in response to the identification of the touch-down event on the visual object (340), if the other touch event, which is the touch-up event, is identified within a specified time from the touch-down event. When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the image to be discarded without storing the image in the non-volatile memory of the memory (130) and to perform other functions according to the long press input if the other touch event, which is the touch-up event, is identified after the specified time from the touch-down event.
[0224] When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may be caused to perform video recording as the other function according to the long press input.
[0225] When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to identify the touch location indicated by the other touch event. When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to display another visual object (1630) indicating the shutter button at the touch location through the display (260).
[0226] When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to identify a touch-up event following the other touch event. When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to stop displaying the other visual object (1630) in response to the touch location following the touch-up event following the other touch event being located within a specified distance from the visual object (340). When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to maintain displaying the other visual object (1630) in response to the touch location following the touch-up event following the other touch event being out of the specified distance from the visual object (340).
[0227] When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may be caused to output a sound signal through the speaker indicating that a shot for acquiring the image is performed when the other touch event is the touch-up event. When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may be caused to stop the output of the sound signal when the other touch event is the touch-movement event.
[0228] When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may be caused to output a sound signal through the speaker after the image acquisition is completed, in response to the identification of the other touch event, which is the touch-up event, before the image acquisition is completed. When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may be caused to output the sound signal through the speaker after the specified time in response to the identification of the other touch event, which is the touch-up event, within the specified time after the image acquisition is completed.
[0229] When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the generated thumbnail image for the acquired image. When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the generated thumbnail image to be displayed on the screen (310) of the camera application (210) when the other touch event is the touch-up event. When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the thumbnail image to be deleted without displaying the thumbnail image on the screen (310) of the camera application (210) when the other touch event is the touch-movement event.
[0230] When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the acquired image to be stored in the volatile memory of the memory (130) allocated to the camera application (210) in response to identifying the touch-down event on the visual object (340). When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the image stored in the volatile memory to be stored in the non-volatile memory if the other touch event is a touch-up event. When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the image stored in the volatile memory to be discarded from the volatile memory if the other touch event is a touch-movement event.
[0231] The other function mentioned above may be a function of continuously capturing two or more images through the camera (280).
[0232] A method as described above may be performed in an electronic device (101) comprising a camera (280) and a display (260) including a touch-sensitive circuit. The method may include an operation of displaying a screen (310) of a camera application (210) through the display (260). The screen (310) may include a visual object (340) representing a shutter button. The method may include an operation of identifying a touch-down event on the visual object (340) through the touch-sensitive circuit. The method may include an operation of controlling the camera (280) to acquire an image in response to identifying the touch-down event on the visual object (340). The method may include an operation of identifying another touch event following the touch-down event through the touch-sensitive circuit. The method may include an operation of storing the image in a non-volatile memory of the memory (130) if the other touch event is a touch-up event. The above method may include, when the other touch event is a touch movement event, discarding the image without storing the image in the non-volatile memory of the memory (130) and performing a function according to the other touch event.
[0233] The above method may include the operation of storing the image in the non-volatile memory when, in response to identifying the touch-down event on the visual object (340), the other touch event, which is the touch-up event, is identified within a specified time from the touch-down event. The above method may include the operation of discarding the image without storing the image in the non-volatile memory of the memory (130) and performing other functions according to the long press input when the other touch event, which is the touch-up event, is identified after the specified time from the touch-down event.
[0234] The above method may include an operation of performing video recording as another function according to the long press input.
[0235] The above method may include an operation of identifying a touch location indicated by the other touch event. The above method may include an operation of displaying another visual object (340) indicating the shutter button at the touch location through the display (260).
[0236] The above method may include an operation of identifying a touch-up event that follows the other touch event. The above method may include an operation of stopping the display of the other visual object (340) in response to the touch location corresponding to the touch-up event following the other touch event being located within a specified distance from the visual object (340). The above method may include an operation of maintaining the display of the other visual object (340) in response to the touch location corresponding to the touch-up event following the other touch event being out of the specified distance from the visual object (340).
[0237] The above method may include an operation of controlling the camera (280) to acquire an image in response to identifying the touch-down event on the visual object (340). The above method may include an operation of outputting a sound signal through a speaker indicating that shooting to acquire the image is performed when the other touch event is the touch-up event. The above method may include an operation of stopping the output of the sound signal when the other touch event is the touch-movement event.
[0238] The above method may include an operation to generate a thumbnail image for the acquired image. The above method may include an operation to display the generated thumbnail image on the screen (310) of the camera application (210) when the other touch event is the touch-up event. The above method may include an operation to delete the thumbnail image without displaying the thumbnail image on the screen (310) of the camera application (210) when the other touch event is the touch-movement event.
[0239] The above method may include the operation of storing the acquired image in the volatile memory of the memory (130) allocated to the camera application (210) in response to identifying the touch-down event on the visual object (340). The above method may include the operation of storing the image stored in the volatile memory in the non-volatile memory when the other touch event is a touch-up event. The above method may include the operation of discarding the image stored in the volatile memory from the volatile memory when the other touch event is a touch-movement event.
[0240] The other function mentioned above may be a function of continuously capturing two or more images through the camera (280).
[0241] A non-transitory computer-readable storage medium as described above may store a program containing instructions. When the instructions are executed individually or collectively by at least one processor (120) of an electronic device (101) comprising a camera (280) and a display (260) comprising a touch-sensitive circuit, the electronic device (101) may cause the electronic device (101) to display a screen (310) of a camera application (210) through the display (260). The screen (310) may include a visual object (340) representing a shutter button. When the instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may cause the electronic device (101) to identify a touch-down event on the visual object (340) through the touch-sensitive circuit. When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to control the camera (280) to acquire an image in response to identifying the touch-down event on the visual object (340). When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to identify another touch event following the touch-down event through the touch-sensitive circuit. When the above instructions are executed individually or collectively by the at least one processor (120), they may cause the electronic device (101) to store the image in the non-volatile memory of the memory (130) if the other touch event is a touch-up event.When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101) may be caused to discard the image without storing the image in the non-volatile memory of the memory (130) and perform the function according to the other touch event when the other touch event is a touch movement event.
[0242] The effects obtainable from the present disclosure are not limited to those mentioned above, and other unmentioned effects will be clearly understood by those skilled in the art to which the present disclosure belongs.
[0243] The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.
[0244] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of said embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any one of the items listed together in the corresponding phrase, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish said components from other said components and do not limit said components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as "coupled" or "connected" to another (e.g., 2nd) component, with or without the terms "functionally" or "communicationly," it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.
[0245] The term “module” as used in the various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit, for example. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0246] Various embodiments of the present document may be implemented as software (e.g., program (140)) comprising one or more instructions stored in a storage medium (e.g., internal memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' simply means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.
[0247] According to one embodiment, the method according to the various embodiments disclosed herein may be provided as included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., CD-ROM (compact disc read-only memory)), or distributed online (e.g., download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
[0248] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities, and some of the multiple entities may be separated and placed in other components. According to various embodiments, one or more of the components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Claims
1. In an electronic device (101), Camera (280), A display (260) including a touch-sensitive circuit, At least one processor (120) including a processing circuit; and The electronic device (101) includes a memory (130) that stores instructions and includes one or more storage media, and when the instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), Through the above display (260), a screen (310) of a camera application (210) is displayed, and the screen (310) includes a visual object (340) representing a shutter button, and Through the touch-sensitive circuit above, a touch-down event on the visual object (340) is identified, and In response to identifying the touchdown event on the visual object (340), Control the above camera (280) to acquire an image, and Through the touch-sensitive circuit above, another touch event following the touch-down event is identified, and If the other touch event is a touch-up event, the image is stored in the non-volatile memory of the memory (130), and If the other touch event is a touch movement event, the image is discarded without storing the image in the non-volatile memory of the memory (130), and the function according to the other touch event is performed. Electronic device.
2. In Claim 1, When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), In response to identifying the touchdown event on the visual object (340), If the other touch event, which is the touch-up event, is identified within a specified time from the touch-down event, the image is stored in the non-volatile memory, and If the other touch event, which is the touch-up event, is identified after the specified time from the touch-down event, the image is discarded without storing the image in the non-volatile memory of the memory (130), and causes another function to be performed according to the long press input. Electronic device.
3. In Claim 2, When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), Causing video recording to be performed as another function according to the above long press input, Electronic device.
4. In any one of claims 1 to 3, When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), Identifying the touch location indicated by the other touch event mentioned above, and Causing another visual object (1630) representing the shutter button at the touch location to be displayed through the above display (260), Electronic device.
5. In Claim 4, When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), Identify a touch-up event that follows the other touch event mentioned above, and In response to the touch location according to the touch-up event following the other touch event being located within a specified distance from the visual object (340), the display of the other visual object (1630) is stopped, and In response to the touch location according to the touch-up event following the other touch event moving away from the specified distance from the visual object (340), causing the display of the other visual object (1630) to be maintained. Electronic device.
6. In any one of claims 1 to 5, Includes speakers, When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), If the other touch event is the touch-up event, a sound signal indicating that shooting to acquire the image is performed is output through the speaker, and If the above other touch event is the above touch movement event, causing the output of the sound signal to stop, Electronic device.
7. In any one of claims 1 to 6, Includes speakers, When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), In response to the identification of the other touch event, which is the touch-up event, before the acquisition of the above image is completed, a sound signal indicating that shooting for acquiring the above image is performed through the speaker is output after the acquisition of the above image is completed. In response to the fact that the other touch event, which is the touch-up event, is not identified within a specified time after the completion of the acquisition of the above image, causing the sound signal to be output through the speaker after the specified time, Electronic device.
8. In any one of claims 1 to 7, When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), Generate a thumbnail image for the above-mentioned acquired image, and If the other touch event is the touch-up event, the generated thumbnail image is displayed on the screen (310) of the camera application (210), and If the other touch event is the touch movement event, it causes the thumbnail image to be deleted without displaying the thumbnail image within the screen (310) of the camera application (210). Electronic device.
9. In any one of claims 1 to 8, When the above instructions are executed individually or collectively by the at least one processor (120), the electronic device (101), In response to identifying the touchdown event on the visual object (340), the acquired image is stored in the volatile memory of the memory (130) allocated to the camera application (210), and If the above other touch event is a touch-up event, the image stored in the above volatile memory is stored in the above non-volatile memory, and If the above other touch event is a touch movement event, causing the image stored in the above volatile memory to be discarded from the above volatile memory, Electronic device.
10. In any one of claims 1 to 9, The above other function is a function of continuously capturing two or more images through the camera (280). Electronic device.
11. A method of an electronic device (101) comprising a camera (280) and a display (260) including a touch-sensitive circuit, The operation of displaying a screen (310) of a camera application (210) through the above display (260), wherein the screen (310) includes a visual object (340) representing a shutter button, and The operation of identifying a touchdown event on the visual object (340) through the touch-sensitive circuit, and In response to identifying the touchdown event on the visual object (340), The operation of controlling the above camera (280) to acquire an image, An operation of identifying another touch event following the touch-down event through the above-mentioned touch-sensitive circuit, If the other touch event is a touch-up event, the operation of storing the image in the non-volatile memory of the memory (130), and If the other touch event is a touch movement event, the operation includes discarding the image without storing the image in the non-volatile memory of the memory (130) and performing a function according to the other touch event. method.
12. In Claim 11, In response to identifying the touchdown event on the visual object (340), When the other touch event, which is the touch-up event, is identified within a specified time from the touch-down event, the operation of storing the image in the non-volatile memory, and If the other touch event, which is the touch-up event, is identified after the specified time from the touch-down event, the operation includes discarding the image without storing the image in the non-volatile memory of the memory (130) and performing other functions according to the long press input. method.
13. In Claim 12, Includes an operation of performing video recording as another function according to the above long press input. method.
14. In any one of claims 11 to 13, An action for identifying a touch location indicated by the other touch event mentioned above, and The operation of displaying another visual object (340) representing the shutter button at the touch location through the display (260) method.
15. In a non-transitory computer-readable storage medium, When a program including instructions is stored, and said instructions are executed individually or collectively by at least one processor (120) of an electronic device (101) including a camera (280) and a display (260) including a touch-sensitive circuit, said electronic device (101), Through the above display (260), a screen (310) of a camera application (210) is displayed, and the screen (310) includes a visual object (340) representing a shutter button, and Through the touch-sensitive circuit above, a touch-down event on the visual object (340) is identified, and In response to identifying the touchdown event on the visual object (340), Control the above camera (280) to acquire an image, and Through the touch-sensitive circuit above, another touch event following the touch-down event is identified, and If the other touch event is a touch-up event, the image is stored in the non-volatile memory of the memory (130), and If the other touch event is a touch movement event, the image is discarded without storing the image in the non-volatile memory of the memory (130), and the function according to the other touch event is performed. Non-transient computer-readable storage media.