Electronic device for processing image, and method therefor
The electronic device's ability to suspend and resume image processing based on resource availability and user requests optimizes resource utilization and processing time, addressing inefficiencies in high-level image processing.
Patent Information
- Application Number
- PCT/KR2025/005320
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-10-10
- Filing Date
- 2025-04-18
- Publication Date
- 2026-02-05
AI Technical Summary
High-level image processing on electronic devices consumes excessive resources and increases processing time, leading to inefficiencies and resource insufficiencies.
An electronic device is equipped with the capability to identify requests to stop image processing, determine if such a stop is supported, and store state information and intermediate images when necessary, allowing for the suspension and resumption of image processing based on an image processing set.
This approach optimizes resource utilization by allowing for efficient management of image processing operations, reducing time consumption and maintaining performance during resource constraints.
Smart Images

Figure KR2025005320_05022026_PF_FP_ABST
Abstract
Description
Electronic device and method for processing images
[0001] Various embodiments according to the present disclosure relate to an electronic device, a method for processing an image, and an electronic device thereof.
[0002] Electronic devices such as smartphones offer a variety of functions. One of the most frequently used functions by users is the camera. Consequently, the importance of cameras is increasingly emphasized, with camera performance, image quality, and usability emerging as top concerns for users. To improve image quality, post-capture image processing techniques can be used to modify the image. This processing technique can consume significant resources on electronic devices.
[0003] In particular, as high-level image processing to improve image quality has become more prevalent in recent years, excessive use of electronic device resources has occurred during high-level image processing, and image processing time has increased due to high-level image processing.
[0004] An operating method of an electronic device according to one embodiment of the present disclosure may include an operation of acquiring an input image, and performing image processing on the input image based on an image processing set set for the input image, wherein the image processing set may include a plurality of image processing operations to be sequentially executed, and may include an operation of identifying a request for stopping the image processing on the input image while performing the image processing on the input image, and may include an operation of determining whether stopping the image processing on the input image is supported when the stop request is identified, and may include an operation of determining whether to stop the image processing based on a remaining image processing time required to complete the image processing based on the image processing set when the stop of the image processing is supported, and may include an operation of storing state information indicating a state of stopping the image processing and an intermediate image acquired by the stopped image processing when the stop of the image processing is determined.
[0005] An electronic device according to one embodiment of the present disclosure may include a camera, a memory storing commands, and one or more processors. The one or more processors may acquire an input image when the commands are executed. The one or more processors may perform image processing on the input image based on an image processing set set for the input image when the commands are executed, wherein the image processing set may include a plurality of image processing operations to be sequentially executed. The one or more processors can identify a request to stop the image processing for the input image while performing the image processing for the input image when the instructions are executed, and when the stop request is identified, determine whether the stop of the image processing for the input image is supported, and when the stop of the image processing is supported, determine whether to stop the image processing based on the remaining image processing time required to complete the image processing based on the image processing set, and when the stop of the image processing is determined, store status information indicating a stop status of the image processing and an intermediate image obtained by the stopped image processing.
[0006] A computer-readable recording medium according to one embodiment may store a computer program that causes an electronic device to execute the above-described method.
[0007] FIG. 1 is a diagram illustrating an example of an electronic device suspending and resuming image processing according to one embodiment.
[0008] FIG. 2A is a flowchart of a method for processing an image by an electronic device according to one embodiment.
[0009] FIG. 2b is a flowchart of a method for processing an image by an electronic device according to one embodiment.
[0010] FIG. 3 is a diagram illustrating an example of an image processing set including a plurality of image processing operations according to one embodiment.
[0011] FIG. 4 is a drawing for explaining whether or not image processing interruption is supported according to one embodiment.
[0012] FIG. 5A is a diagram for explaining a threshold time of an image processing operation and a remaining time of an image processing operation in an electronic device according to one embodiment.
[0013] FIG. 5b is a diagram for explaining a threshold time of an image processing set and a remaining image processing time in an electronic device according to one embodiment.
[0014] FIG. 5c is a diagram for explaining a threshold time of an image processing set and a remaining image processing time in an electronic device according to one embodiment.
[0015] FIG. 5D is a diagram for explaining an example of a case where there is a request for interruption between image processing operations in an electronic device according to one embodiment.
[0016] FIG. 6 is a flowchart of a method for an electronic device to stop image processing for an image processing set according to one embodiment.
[0017] FIG. 7A is a diagram illustrating an example of information stored by an electronic device when image processing based on an image processing set according to one embodiment is stopped.
[0018] FIG. 7B is a diagram illustrating an example of information stored by an electronic device when image processing based on an image processing set according to one embodiment is stopped.
[0019] FIG. 8 is a diagram illustrating an example of an electronic device according to one embodiment determining whether to complete performance of an image processing operation within an image processing set.
[0020] FIG. 9 is a flowchart illustrating the operation of an electronic device depending on whether resumption of image processing is supported according to one embodiment.
[0021] FIG. 10 is a flowchart of a method for an electronic device to resume image processing according to one embodiment.
[0022] FIG. 11 is a flowchart of a method for an electronic device to process an input image based on an interruption history of image processing for the input image, according to one embodiment of the present invention.
[0023] FIG. 12A is a diagram illustrating an example of an electronic device indicating a stop in image processing according to one embodiment.
[0024] FIG. 12b is a diagram illustrating an example of an electronic device indicating the suspension and resumption of image processing according to one embodiment.
[0025] FIG. 12c is a diagram illustrating an example of an electronic device indicating the suspension and resumption of image processing according to one embodiment.
[0026] FIG. 12d is a diagram illustrating an example of an electronic device indicating the suspension and resumption of image processing according to one embodiment.
[0027] FIG. 13 is a block diagram of an electronic device within a network environment according to various embodiments.
[0028] FIG. 14 is a block diagram of a camera module according to various embodiments.
[0029] In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components.
[0030] The technical problems to be achieved in this document are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by a person having ordinary skill in the technical field to which the present invention belongs from the description below.
[0031] Hereinafter, embodiments of the present invention will be described in detail with reference to the attached drawings so that those skilled in the art can easily implement the present invention. However, the disclosed embodiments may be implemented in various different forms and are not limited to the embodiments described herein.
[0032] The terms used in this disclosure are described as currently common terms, taking into account the functions mentioned herein. However, these terms may mean various other terms depending on the intentions of those skilled in the art, precedents, the emergence of new technologies, etc. Therefore, the terms used in this disclosure should not be interpreted solely based on their names, but rather based on the meanings of the terms and the overall content of this disclosure.
[0033] Additionally, while terms such as first, second, etc. may be used to describe various components, the components should not be limited by these terms. These terms are used to distinguish one component from another.
[0034] Throughout the specification, when a part is said to be "connected" to another part, this includes not only the cases where the parts are "directly connected" but also the cases where the parts are "electrically connected" with other elements intervening. Furthermore, when a part is said to "include" a component, this does not exclude other components, but rather includes other components, unless otherwise stated.
[0035] An embodiment of the present disclosure may be represented by functional block configurations and various processing steps. Some or all of these functional blocks may be implemented by various hardware and / or software configurations that perform specific functions. For example, the functional blocks of the present disclosure may be implemented by one or more microprocessors or by circuit configurations for a given function. Furthermore, for example, the functional blocks of the present disclosure may be implemented in various programming or scripting languages. The functional blocks may be implemented by algorithms that execute on one or more processors. Furthermore, the present disclosure may employ conventional techniques for electronic configuration, signal processing, and / or data processing. Terms such as "mechanism," "element," "means," and "configuration" may be used broadly and are not limited to mechanical and physical configurations.
[0036] In this disclosure, the connection lines or connecting members between components depicted in the drawings are merely exemplary representations of functional connections and / or physical or circuit connections. In an actual device, connections between components may be represented by various functional connections, physical connections, or circuit connections that may be replaced or added.
[0037] The phrases “in one embodiment” and the like appearing in various places throughout this disclosure do not necessarily all refer to the same embodiment.
[0038] The present disclosure will be described in detail with reference to the attached drawings below.
[0039] FIG. 1 is a diagram illustrating an example of an electronic device (100) according to one embodiment of the present invention suspending and resuming image processing.
[0040] As illustrated in FIG. 1, according to one embodiment, the electronic device (100) may acquire an input image (101) and initiate image processing on the input image (101) based on an image processing set (104) including a plurality of image processing operations. If a request to stop image processing is identified while the electronic device (100) according to one embodiment is performing a plurality of image processing operations on the input image (101), the electronic device (100) may stop image processing on the input image (101). Additionally, the electronic device (100) may resume the stopped image processing on the input image (101).
[0041] According to one embodiment, the electronic device (100) may use an image acquired using a camera as an input image (101) for an image processing operation. For example, as illustrated in identification number 110, the electronic device (100) may perform an operation according to the present disclosure using an image acquired by photographing a subject using a camera as an input image (101).
[0042] According to one embodiment, the electronic device (100) can use an image received from an external electronic device (106) as an input image (101) of an image processing operation. For example, as illustrated in identification number 120, the electronic device (100) can receive an image from the external electronic device (106) via wireless or wired communication. The electronic device (100) can perform an operation according to the present disclosure using the received image as an input image (101). The input image (101) according to the present disclosure is not limited to the input image (101) received as illustrated.
[0043] According to one embodiment, the electronic device (100) may acquire an input image (101) and perform image processing on the input image (101) based on an image processing set (104). For example, as illustrated in identification number 130, the electronic device (100) may perform image processing on the input image (101) based on an image processing set (104) set for the input image (101). For example, the image processing set (104) may include a plurality of image processing operations to be performed sequentially. For example, as illustrated in identification number 130, the image processing set (104) may include four image processing operations to be performed sequentially. For example, as illustrated in identification number 130, the electronic device (100) may perform image processing on the input image (101) by sequentially executing image processing operations A to D according to the image processing set (104) for the acquired input image (101). However, the image processing operations included in the image processing set (104) are not limited to four as in the example illustrated in FIG. 1, and the image processing set may include a greater or lesser number of image processing operations.
[0044] According to one embodiment, the electronic device (100) can set an image processing set (104) for an input image (101) received from an external electronic device (106). For example, the electronic device (100) can set an image processing set (104) for an input image (101) received from an external electronic device (106) by considering the performance of the external electronic device (106), the performance of the electronic device (100), the resources of the external electronic device (106), the transmission time of the input image (101), and / or the resources of the electronic device (100).
[0045] According to one embodiment, the electronic device (100) can individually perform image processing on an input image (101) through image processing operations included in an image processing set (104). For example, the image processing operations can include at least one of multi-frame noise reduction (MFNR) processing, high dynamic range (HDR) processing, local tone mapping (LTM) processing, skin tone enhancement processing, distortion removal processing, watermark processing, gain map extraction processing, and / or JPEG encoding processing.
[0046] According to one embodiment, the electronic device (100) may identify a request to stop (105) image processing for the input image (101) while performing image processing for the input image (101). For example, as illustrated in identification number 130, the electronic device (100) may identify a request to stop (105) image processing for the input image (101) while performing image processing operation B based on the image processing set (104) for the input image (101). For example, as illustrated in identification number 130, the electronic device (100) may identify a request to stop (105) image processing for the input image (101) while performing image processing operation A and image processing operation B.
[0047] According to one embodiment, the electronic device (100) may determine whether to stop image processing for the input image (101) upon identifying a request (105) to stop image processing for the input image (101). The operation of determining whether to stop image processing will be described later.
[0048] According to one embodiment, the electronic device (100) may determine not to suspend image processing for the input image (101) upon identifying a request (105) to suspend image processing for the input image (101). For example, as illustrated in identification number 130, the electronic device (100) may determine not to suspend image processing upon identifying the request (105). If the electronic device (100) determines not to suspend image processing, the electronic device (100) may perform image processing operation B and then sequentially perform image processing operation C. For example, as illustrated in identification number 130, the electronic device (100) may perform image processing operation A and then sequentially perform image processing operation B, image processing operation C, and image processing operation D to obtain a result image (103).
[0049] According to one embodiment, the electronic device (100) may determine to stop image processing for the input image (101) upon identifying a stop request (105) for image processing for the input image (101). For example, as illustrated in identification number 130, the electronic device (100) may identify the stop request (105) while performing image processing operation B and determine to stop image processing for the input image (101).
[0050] According to one embodiment, when the electronic device (100) determines to stop image processing for the input image (101), it may store state information indicating a state of stopping image processing and an intermediate image obtained by the stopped image processing. For example, as illustrated in identification number 130, when the electronic device (100) determines to stop image processing for the input image (101) in response to a stop request (105), the electronic device (100) may store state information indicating that image processing for the input image (101) was stopped after performing image processing operation B. The electronic device (100) may store state information indicating that the stop request (105) was identified while performing image processing operation B. For example, as illustrated in identification number 130, when the electronic device (100) decides to stop image processing for the input image (101) in response to a stop request (105), the electronic device (100) may store the intermediate image (102) obtained by the image processing operation A and the image processing operation B for the input image (101) in a memory (e.g., the memory (1330) of FIG. 13) as illustrated in identification number 140.
[0051] According to one embodiment, the electronic device (100) may resume image processing based on the intermediate image (102). For example, as illustrated in identification number 140, the electronic device (100) may resume image processing for the intermediate image (102) where image processing for the input image (101) was stopped, according to the image processing set (104). For example, as illustrated in identification number 140, the electronic device (100) may sequentially perform image processing operations C and D for the intermediate image (102) on which image processing operations B were performed. For example, as illustrated in identification number 140, the electronic device (100) may resume image processing operations for the intermediate image (102) according to the image processing set (104) to obtain a result image (103) in which the input image (101) is image-processed.
[0052] In one embodiment, the electronic device (100) may resume image processing based on the intermediate image (102) and status information. For example, as illustrated in identification number 140, the electronic device (100) may perform image processing operation C on the intermediate image (102) based on the intermediate image (102) and status information indicating that image processing operation B was performed and then stopped.
[0053] FIG. 2A is a flowchart (200) of a method for processing an image by an electronic device (100) according to one embodiment. The operating entity of the flowchart (200) illustrated in FIG. 2A may be understood as the electronic device (100) or a component of the electronic device (100) (e.g., a processor (1320), an image signal processor (1460)). Referring to FIG. 2A, in operation 210, the electronic device (100) may acquire an input image (101).
[0054] According to one embodiment, the electronic device (100) can acquire an image acquired using a camera (e.g., a camera module (1380) of FIG. 13, a camera module (1480) of FIG. 14) as an input image (101). According to one embodiment, the electronic device (100) can acquire an image received from an external electronic device (e.g., an external electronic device (106) of FIG. 1, an electronic device (1302) of FIG. 13) as an input image (101).
[0055] According to one embodiment, the input image (101) may be composed of multiple images. For example, the electronic device (100) may obtain the input image (101) composed of multiple images and perform image processing operations to synthesize the input image (101). For example, the electronic device (100) may perform a multi-frame noise reduction (MFNR) operation on the input image (101) composed of multiple images.
[0056] According to one embodiment, the input image (101) may be an image processed by an image signal processor (e.g., the image signal processor (1460) of FIG. 14). For example, the input image (101) may be an image on which at least one image preprocessing process has been performed by the image signal processor (e.g., the image signal processor (1460) of FIG. 14). For example, the image preprocessing process may refer to a process of receiving data (raw) output from an image sensor and outputting image data on which image signal processing has been performed, but is not limited thereto. For example, the input image may be an image obtained by performing at least one preprocessing process on a Bayer image obtained using an image sensor of a camera module. The preprocessing performed on the Bayer image may include, but is not limited to, at least one of remosaic, demosaic, tone mapping, color correction, gamma correction, or spatial filter application, for example.
[0057] Referring to FIG. 2A, in operation 220, the electronic device (100) may perform image processing on an input image based on an image processing set.
[0058] According to one embodiment, the electronic device (100) can perform image processing on the input image based on an image processing set (104) set for the input image (101). For example, the image processing set can be set based on at least one of a shooting mode in which the input image (101) was captured, an image format of the input image (101), and / or image information of the input image (101). For example, the image processing set (104) can be configured differently depending on the input image (101).
[0059] According to one embodiment, the electronic device (100) may perform image processing on an input image (101) based on image processing operations included in the image processing set (104). For example, the electronic device (100) may perform image processing based on the image processing set (104) including a plurality of image processing operations to be sequentially executed. For example, the plurality of image processing operations included in the image processing set (104) may be image processing operations to be performed after at least one preprocessing operation performed in operation 210. An example of the image processing set (104) and the image processing operations will be described later with reference to FIG. 3.
[0060] Referring to FIG. 2A, in operation 230, the electronic device (100) may determine whether a request to stop image processing for the input image (101) is identified while performing image processing for the input image (101).
[0061] According to one embodiment, a request to stop image processing for an input image (101) may occur when the resources of the electronic device (100) are insufficient. For example, a request to stop image processing for an input image (101) may occur when the resources available to the electronic device (100) are less than a threshold. For example, if a high-definition camera is used to take a picture while the electronic device (100) is processing an image, the resources of the electronic device (100) may be insufficient, and a request to stop image processing for the electronic device (100) may be generated. For example, if an 8K video image is taken while the electronic device (100) is performing image processing, the resources of the electronic device (100) may be insufficient, and a request to stop image processing for the electronic device (100) may be generated. For example, when an electronic device (100) is performing image processing on an input image (101) which is a continuous image, and a camera application and / or an image playback application is executed on the electronic device (100), a request to stop image processing on the input image (101) may be generated for the electronic device (100) due to insufficient resources or overlapping memory capacity of the electronic device (100). For example, when an image is generated using a generative AI (artificial intelligence) model in the electronic device (100) while performing image processing on the input image (101), a request to stop image processing on the input image (101) may be generated due to insufficient resources of the electronic device (100).
[0062] According to one embodiment, a request to stop image processing for an input image (101) may be generated in response to a user request. For example, while the electronic device (100) is performing image processing for the input image (101), a user request requesting image processing of another image within the electronic device (100) may be input to the electronic device (100), thereby generating a stop request. For example, while the electronic device (100) is performing image processing for the input image (101), the electronic device (100) may display an object indicating that image processing is being performed, and a user input for the object indicating that image processing is being performed may generate a stop request. Examples related to objects displayed on the electronic device (100) will be described later.
[0063] According to one embodiment, the electronic device (100) may perform operation 201 of FIG. 2A when a request to stop image processing for the input image (101) is identified. According to one embodiment, the electronic device (100) may perform operation 260 of FIG. 2A when a request to stop image processing for the input image (101) is not identified.
[0064] Referring to FIG. 2A, in operation 201, the electronic device (100) may determine whether the remaining image processing time is greater than the threshold time of the image processing set.
[0065] According to one embodiment, the threshold time of the image processing set may be a time corresponding to a stop request (105), and the threshold time of the image processing set may be preset in response to the stop request (105). For example, depending on the type of the stop request (105), the threshold time of the image processing set of the electronic device (100) may be preset. For example, when a stop request (105) occurs due to the operation of a high-definition camera application of the electronic device (100) during image processing, the time taken for the electronic device (100) to operate the high-definition camera application may be set as the threshold time of the image processing set, but is not limited thereto.
[0066] According to one embodiment, the threshold time of the image processing set corresponding to the interrupt request (105) may be a time estimated based on the available resources of the electronic device (100). For example, if there are no available resources in the electronic device (100) at the time of the interrupt request (105), the threshold time of the image processing set may not exist.
[0067] According to one embodiment, the image processing remaining time may refer to the time taken by the electronic device (100) to perform all of the plurality of image processing operations based on the image processing set (104) from the time of the stop request (105). For example, the image processing remaining time may be the time taken to perform the entire image processing set (104) minus the time taken from the time of starting image processing for the input image (101) to the time of the stop request (105).
[0068] According to one embodiment, the electronic device (100) may perform operation 202 of FIG. 2A when the remaining image processing time is greater than the threshold time of the image processing set. According to one embodiment, the electronic device (100) may perform operation 260 of FIG. 2A when the remaining image processing time is not greater than the threshold time of the image processing set.
[0069] Referring to FIG. 2A, at operation 202, the electronic device (100) can determine whether an image processing operation is in progress.
[0070] According to one embodiment, the electronic device (100) can determine whether at least one of the image processing operations sequentially performed in the image processing set (104) is in progress at the time of the interrupt request. For example, if the electronic device (100) is performing at least one of a plurality of image processing operations included in the image processing set (104) at the time of the interrupt request, the electronic device (100) can determine that the image processing operation is in progress. Referring to FIG. 5B, since the image processing operation B is in progress at the time of the interrupt request (105), the electronic device (100) can determine that the image processing operation is in progress. For example, if the electronic device (100) is performing image processing on an input image (101) based on the image processing set (104) including one image processing operation, if the image processing operation was in progress at the time of the interrupt request, the electronic device (100) can determine that the image processing operation is in progress.
[0071] For example, if no image processing operation among the plurality of image processing operations included in the image processing set (104) is in progress at the time of the interrupt request, the electronic device (100) may determine that the image processing operation is not in progress. Referring to FIG. 5D, since image processing operation B has been completed and image processing operation C is not in progress at the time of the interrupt request (105), the electronic device (100) may determine that the image processing operation is not in progress. For example, if the electronic device (100) performs image processing on an input image (101) based on the image processing set (104) including one image processing operation, if the image processing operation is not in progress at the time of the interrupt request, the electronic device (100) may determine that the image processing operation is not in progress.
[0072] According to one embodiment, the electronic device (100) may perform operation 203 of FIG. 2A when an image processing operation is in progress. According to one embodiment, the electronic device (100) may perform operation 270 of FIG. 2A when an image processing operation is not in progress.
[0073] Referring to FIG. 2A, in operation 203, the electronic device (100) can determine whether interruption of image processing for an input image is supported.
[0074] According to one embodiment, the electronic device (100) may determine whether the interruption of image processing is supported based on whether each of the image processing operations included in the image processing set (104) supports interruption. For example, if all of the image processing operations included in the image processing set (104) support interruption, the electronic device (100) may determine that the interruption of image processing is supported. For example, if at least some of the image processing operations included in the image processing set (104) support interruption, the electronic device (100) may determine that the interruption of image processing is supported. For example, if all of the image processing operations included in the image processing set (104) do not support interruption, the electronic device (100) may determine that the interruption of image processing is not supported. For example, even if not all of the image processing operations included in the image processing set (104) support interruption, the electronic device (100) may determine that interruption of image processing is supported if state information and intermediate images can be stored after each image processing operation is completed. However, whether interruption of image processing for an input image is supported is not limited to the examples described above. An example of determining whether interruption of image processing is supported will be described later in FIG. 4.
[0075] According to one embodiment, whether or not interruption is supported for each of the plurality of image processing operations included in the image processing set (104) may be preset. For example, whether or not interruption of image processing is supported may be preset depending on the type of image processing operation.
[0076] According to one embodiment, the electronic device (100) may perform operation 204 if the interruption of image processing for the input image (101) is supported. According to one embodiment, the electronic device (100) may perform operation 206 if the interruption of image processing for the input image (101) is not supported.
[0077] Referring to FIG. 2A, in operation 204, the electronic device (100) may determine whether the remaining time of the image processing operation is greater than the threshold time of the image processing operation. The electronic device (100) may compare the threshold time of the currently performed image processing operation among the image processing operations included in the image processing set with the remaining time of the currently performed image processing operation.
[0078] According to one embodiment, the threshold time of the image processing operation may be a time corresponding to a stop request (105), and the threshold time of the image processing operation may be preset in response to the stop request (105). For example, depending on the type of the stop request (105), the threshold time of the image processing operation of the electronic device (100) may be preset. For example, when a stop request (105) occurs due to the operation of a high-definition camera application of the electronic device (100) during image processing, the time taken for the electronic device (100) to operate the high-definition camera application may be set as the threshold time of the image processing operation, but is not limited thereto.
[0079] In one embodiment, the threshold time of an image processing operation may be different from the threshold time of an image processing set. For example, the threshold time of an image processing operation may be the time at which an individual image processing operation must be performed in response to a stop request (105). For example, the threshold time of an image processing operation may be less than the threshold time of an image processing set comprising multiple image processing operations.
[0080] According to one embodiment, the threshold time of an image processing operation corresponding to a stop request (105) may be a time estimated based on available resources of the electronic device (100). For example, if there are no available resources in the electronic device (100) at the time of the stop request (105), there may be no threshold time of the image processing operation.
[0081] According to one embodiment, the remaining time of the image processing operation may refer to the time taken by the electronic device (100) to perform the image processing operation from the time of the stop request (105). For example, the remaining time of the image processing operation may be the time taken to perform the image processing operation, excluding the time taken from the time of starting the image processing operation to the time of the stop request (105). A description of the remaining time of the image processing operation and the critical time of the image processing operation is discussed in FIG. 5A.
[0082] According to one embodiment, the electronic device (100) may perform operation 205 of FIG. 2A when the remaining time of the image processing operation is greater than the threshold time of the image processing operation. According to one embodiment, the electronic device (100) may perform operation 260 of FIG. 2A when the remaining time of the image processing operation is not greater than the threshold time of the image processing operation.
[0083] Referring to FIG. 2A, at operation 205, the electronic device (100) may stop image processing.
[0084] Referring to FIG. 2A, at operation 206, the electronic device (100) may continue to perform image processing.
[0085] According to one embodiment, the electronic device (100) may continue performing an image processing operation that was being performed on the input image (101). For example, if the interruption of image processing on the input image (101) is not supported, the electronic device (100) may continue performing image processing on the input image based on the image processing set without interrupting the image processing. For example, if the remaining time of the image processing operation is not greater than the threshold time of the image processing operation, the electronic device (100) may continue performing the image processing operation.
[0086] Referring to FIG. 2A, at operation 207, the electronic device (100) can determine whether the entire image processing operation for the input image (101) has been completed.
[0087] According to one embodiment, the electronic device (100) may determine whether the entire image processing operation is completed based on whether all image processing operations included in the image processing set (104) have been performed. For example, if all image processing operations included in the image processing set (104) have been performed, the electronic device (100) may determine that the entire image processing operation for the input image (101) is completed. For example, if at least some image processing operations included in the image processing set (104) have not been completed, the electronic device (100) may determine that the entire image processing operation for the input image (101) has not been completed. For example, in an image processing set including image processing operation A, image processing operation B, image processing operation C, and image processing operation D, if the performance of image processing operation C and image processing operation D is stopped after image processing operation A and image processing operation B have been completed, the electronic device (100) may determine that the entire image processing operation has not been completed.
[0088] Referring to FIG. 2A, at operation 270, the electronic device (100) may store status information regarding the interruption of image processing and an intermediate image (102).
[0089] According to one embodiment, the electronic device (100) may store status information indicating a suspended state of image processing and an intermediate image (102) acquired by the suspended image processing. For example, the status information stored by the electronic device (100) may include information regarding an image processing operation being performed at the time of the suspension request (105). For example, the status information stored by the electronic device (100) may include information regarding an image processing operation that has been completed in response to the suspension request (105). For example, the status information stored by the electronic device (100) may include information regarding an image processing operation to be performed first when image processing is resumed. For example, the electronic device (100) may store the intermediate image (102) acquired by the suspended image processing as a separate file.
[0090] According to one embodiment, the electronic device (100) can display an intermediate image (102) obtained by interrupted image processing as an image being processed for the input image (101). For example, the electronic device (100) can display an intermediate image (102) saved as a separate file as an image being processed for the input image (101) on the display of the electronic device (100). For example, the electronic device (100) can update a thumbnail image on the display of the electronic device (100) using the intermediate image (102) saved as a separate file.
[0091] Referring to FIG. 2A, at operation 260, the electronic device (100) may continue to perform full image processing on the input image (101). For example, the electronic device (100) may continue to perform full image processing on the input image (101) based on an image processing set. For example, the electronic device (100) may perform all image processing operations included in the image processing set on the input image (101).
[0092] FIG. 2B is a flowchart (200) of a method for processing an image by an electronic device (100) according to one embodiment. The operating entity of the flowchart (200) illustrated in FIG. 2B may be understood as the electronic device (100) or a component of the electronic device (100) (e.g., processor (1320), image signal processor (1460)).
[0093] Referring to FIG. 2B, in operation 210, the electronic device (100) may obtain an input image (101). Operation 210 of FIG. 2B may correspond to operation 210 of FIG. 2A.
[0094] Referring to FIG. 2B, in operation 220, the electronic device (100) may perform image processing on an input image based on an image processing set. Operation 220 of FIG. 2B may correspond to operation 220 of FIG. 2A.
[0095] Referring to FIG. 2B, in operation 230, the electronic device (100) may determine whether a request to stop image processing for the input image (101) has been identified while performing image processing for the input image (101). Operation 230 of FIG. 2B may correspond to operation 230 of FIG. 2A.
[0096] According to one embodiment, the electronic device (100) may perform operation 240 of FIG. 2B if a request to stop image processing for the input image (101) is identified. According to one embodiment, the electronic device (100) may perform operation 260 of FIG. 2B if a request to stop image processing for the input image (101) is not identified.
[0097] Referring to FIG. 2b, at operation 240, the electronic device (100) can determine whether interruption of image processing for the input image (101) is supported.
[0098] According to one embodiment, the electronic device (100) may determine whether the interruption of image processing is supported based on whether each of the image processing operations included in the image processing set (104) supports interruption. For example, if all of the image processing operations included in the image processing set (104) support interruption, the electronic device (100) may determine that the interruption of image processing is supported. For example, if at least some of the image processing operations included in the image processing set (104) support interruption, the electronic device (100) may determine that the interruption of image processing is supported. For example, if all of the image processing operations included in the image processing set (104) do not support interruption, the electronic device (100) may determine that the interruption of image processing is not supported. An example of determining whether the interruption of image processing is supported will be described later with reference to FIG. 4.
[0099] According to one embodiment, whether or not interruption is supported for each of the plurality of image processing operations included in the image processing set (104) may be preset. For example, whether or not interruption of image processing is supported may be preset depending on the type of image processing operation.
[0100] According to one embodiment, the electronic device (100) may perform operation 250 if the interruption of image processing for the input image (101) is supported. According to one embodiment, the electronic device (100) may perform operation 260 if the interruption of image processing for the input image (101) is not supported.
[0101] Referring to FIG. 2b, at operation 250, the electronic device (100) may determine whether to stop image processing for the input image (101).
[0102] According to one embodiment, the electronic device (100) may determine whether to stop image processing based on the remaining image processing time required to complete image processing based on the image processing set (104). For example, the remaining image processing time may refer to the time required for the electronic device (100) to perform all of the plurality of image processing operations based on the image processing set (104) from the time of the stop request (105). For example, the remaining image processing time may be the time required to perform the entire image processing set (104) minus the time required from the time of starting image processing for the input image (101) to the time of the stop request (105). For example, the electronic device (100) may determine to stop image processing when the remaining image processing time is equal to or greater than a threshold. The electronic device (100) may determine not to stop image processing when the remaining image processing time is equal to or less than the threshold.
[0103] According to one embodiment, the electronic device (100) may determine whether to stop image processing based on the remaining image processing time required to complete image processing based on the image processing set (104) and the threshold time of the image processing set corresponding to the stop request (105).
[0104] According to one embodiment, the threshold time of the image processing set corresponding to the interrupt request (105) may be preset in response to the interrupt request (105). For example, depending on the type of interrupt request (105), the threshold time of the image processing set of the electronic device (100) may be preset. For example, when an interrupt request (105) occurs due to the operation of the high-definition camera application of the electronic device (100) during image processing, the time taken for the electronic device (100) to operate the high-definition camera application may be set as the threshold time of the image processing set, but is not limited thereto.
[0105] According to one embodiment, the threshold time of the image processing set corresponding to the interrupt request (105) may be a time estimated based on the available resources of the electronic device (100). For example, if there are no available resources in the electronic device (100) at the time of the interrupt request (105), the threshold time of the image processing set may not exist.
[0106] According to one embodiment, the electronic device (100) may determine to stop image processing for the input image (101) if the remaining image processing time is greater than the threshold time of the image processing set. The electronic device (100) may determine not to stop image processing for the input image (101) if the remaining image processing time is less than the threshold time of the image processing set. An operation of comparing the remaining image processing time with the threshold time of the image processing set to determine whether to stop image processing will be described later with reference to FIG. 5.
[0107] According to one embodiment, the electronic device (100) may determine whether to stop image processing based on information about the electronic device (100) if the threshold time of the image processing set corresponding to the stop request (105) is not determined. For example, if the threshold time of the image processing set is not determined, the electronic device (100) may determine whether to stop image processing based on whether the HW resources and / or SW resources of the electronic device (100) are greater than or equal to a threshold.
[0108] According to one embodiment, if the electronic device (100) determines to stop image processing for the input image, it may perform operation 270. According to one embodiment, if the electronic device (100) determines not to stop image processing for the input image, it may perform operation 260.
[0109] Referring to FIG. 2b, at operation 260, the electronic device (100) may continue to perform image processing on the input image (101).
[0110] According to one embodiment, the electronic device (100) may continue performing image processing if a request to stop image processing for the input image is not identified in operation 230. For example, if a request to stop image processing is not identified, the electronic device (100) may identify remaining image processing operations that have not been performed and perform the remaining image processing operations to continue performing image processing for the input image (101). The electronic device (100) may continue performing image processing to perform all image processing operations of the image processing set (104) to obtain a result image (103).
[0111] According to one embodiment, the electronic device (100) may continue to perform image processing on the input image (101) if the interruption of image processing on the input image (101) is not supported in operation 240. For example, if all image processing operations included in the image processing set (104) do not support the interruption of image processing, the electronic device (100) may continue to perform image processing on the input image (101). The electronic device (100) may continue to perform image processing on the input image (101) to obtain a result image (103).
[0112] According to one embodiment, if the electronic device (100) determines not to stop image processing for the input image in operation 250, the electronic device (100) may continue to perform image processing for the input image (101). For example, if the electronic device (100) determines not to stop image processing based on the remaining image processing time, the electronic device (100) may continue to perform image processing. The electronic device (100) may continue to perform image processing for the input image (101) to obtain a result image (103).
[0113] Referring to FIG. 2b, at operation 270, the electronic device (100) may store status information regarding the interruption of image processing and an intermediate image (102).
[0114] According to one embodiment, the electronic device (100) may store status information indicating a suspended state of image processing and an intermediate image (102) acquired by the suspended image processing. For example, the status information stored by the electronic device (100) may include information regarding an image processing operation being performed at the time of the suspension request (105). For example, the status information stored by the electronic device (100) may include information regarding an image processing operation that has been completed in response to the suspension request (105). For example, the status information stored by the electronic device (100) may include information regarding an image processing operation to be performed first when image processing is resumed. For example, the electronic device (100) may store the intermediate image (102) acquired by the suspended image processing as a separate file.
[0115] According to one embodiment, the electronic device (100) can display an intermediate image (102) obtained by interrupted image processing as an image being processed for the input image (101). For example, the electronic device (100) can display an intermediate image (102) saved as a separate file as an image being processed for the input image (101) on the display of the electronic device (100). For example, the electronic device (100) can update a thumbnail image on the display of the electronic device (100) using the intermediate image (102) saved as a separate file.
[0116] FIG. 3 is a diagram illustrating an example of an image processing set (104) including a plurality of image processing operations according to one embodiment.
[0117] According to one embodiment, the image processing set (104) of the electronic device (100) may include a plurality of image processing operations. For example, as illustrated in FIG. 3, the image processing set of the electronic device (100) may mean a set including eight image processing operations.
[0118] According to one embodiment, each of the image processing operations of the electronic device (100) may include post-processing operations for the image. For example, as illustrated in FIG. 3, each of the image processing operations may include at least one of MFNR processing, HDR processing, LTM processing, skin tone enhancement processing (beauty processing), face distortion removal processing (distortion processing), watermark processing, gain map extraction processing, and / or JPEG encoding processing. For example, each of the image processing operations may include the same image processing operations. For example, the image processing operations of FIG. 3 may be performed sequentially.
[0119] FIG. 4 is a drawing for explaining whether or not image processing interruption is supported according to one embodiment.
[0120] According to one embodiment, the electronic device (100) may determine that the image processing for the input image (101) is supported for stopping if at least one of the image processing operations included in the image processing set (104) supports stopping the image processing. For example, as shown in identification number 410, even if the image processing operation D does not support stopping the image processing, since image processing operations A, B, and C support stopping the image processing, the electronic device (100) may determine that the image processing is supported at identification number 410. For example, as shown in identification number 420, even if the image processing operations A and C do not support stopping the image processing, since image processing operations B and D support stopping the image processing, the electronic device (100) may determine that the image processing is supported at identification number 420.
[0121] According to one embodiment, the electronic device (100) may determine that the image processing for the input image (101) is not supported if all of the image processing operations included in the image processing set (104) do not support the suspension of image processing. For example, as illustrated in identification number 430, since image processing operation A, image processing operation B, image processing operation C, and image processing operation D do not support the suspension of image processing operations, the electronic device (100) may determine that the image processing is not supported at identification number 430.
[0122] According to one embodiment, the electronic device (100) may determine that the interruption of image processing for the input image (101) is supported between image processing operations even if all of the image processing operations included in the image processing set (104) do not support the interruption of image processing. For example, in identification number 430, if image processing operations A, B, C, and D do not support the interruption of image processing operations, but image processing can be interrupted before performing the next image processing operation after performing each image processing operation, the electronic device (100) may determine that the interruption of image processing for the input image (101) is supported. For example, in identification number 430, if the electronic device (100) can interrupt image processing for the input image (101) between image processing operations B and C, the electronic device may determine that the interruption of image processing is supported. When the electronic device resumes image processing for the input image (101) after the interruption of image processing, the electronic device may resume from image processing operation C.
[0123] FIG. 5A is a diagram for explaining a threshold time of an image processing operation and a remaining time of an image processing operation in an electronic device according to one embodiment.
[0124] According to one embodiment, the remaining time (503) of the image processing operation is a time corresponding to the time of the interruption request, and may be the remaining time of the image processing operation being performed by the electronic device (100) at the time of the interruption request. For example, referring to FIG. 5A, when a interruption request (105) is made while the electronic device (100) is performing the image processing operation B included in the image processing set (104), the remaining time (503) of the image processing operation may be the time required from the time of the interruption request (105) until the image processing operation B is completed. For example, referring to FIG. 5A, the remaining time (503) of the image processing operation may be the time required for the image processing operation B minus the time from the start time of the image processing operation B to the time of the interruption request (105).
[0125] According to one embodiment, the threshold time (504) of the image processing operation may be a time during which an individual image processing operation must be performed in response to a stop request. For example, referring to FIG. 5A, the threshold time (504) of the image processing operation may be a time during which the image processing operation B must be performed in response to a stop request (105) while the electronic device (100) is performing the image processing operation B. Although FIG. 5A illustrates that the threshold time (504) of the image processing operation is greater than the remaining time (503) of the image processing operation, the present invention is not limited thereto, and the remaining time (503) of the image processing operation may be greater than the threshold time (504) of the image processing operation.
[0126] According to one embodiment, the electronic device (100) may perform an operation of comparing a threshold time (504) of an image processing operation with a remaining time (503) of the image processing operation. For example, in operation 204 of FIG. 2A, the electronic device (100) may perform an operation of comparing a threshold time (504) of an image processing operation with a remaining time (503) of the image processing operation.
[0127] According to one embodiment, the electronic device (100) may stop image processing when the remaining time (503) of the image processing operation is greater than the threshold time (504) of the image processing operation (not shown). For example, when the electronic device determines to stop image processing while performing image processing operation B, it may store status information indicating that image processing operation B was stopped while performing it and an intermediate image on which image processing operation A was performed on the input image.
[0128] According to one embodiment, the electronic device (100) may continue to perform image processing when the threshold time (504) of the image processing operation is greater than the remaining time (503) of the image processing operation. For example, referring to FIG. 5A, since the threshold time (504) of the image processing operation is greater than the remaining time (503) of the image processing operation, the electronic device (100) may continue to perform image processing operation B and then stop image processing without performing image processing operation C. The electronic device (100) may store state information indicating that it has performed up to image processing operation B and an intermediate image on which image processing operation A and image processing operation B have been performed for the input image. When the electronic device (100) resumes image processing, it may resume from image processing operation C based on the state information and the intermediate image.
[0129] According to one embodiment, the electronic device (100) may stop image processing when the remaining time (503) of the image processing operation is greater than the threshold time (504) of the image processing operation. For example, although not illustrated, when the remaining time (503) of the image processing operation is greater than the threshold time (504) of the image processing operation, the electronic device (100) may stop performing the image processing operation B that was being performed at the time of the stop request (105). The electronic device (100) may store state information indicating that the image processing operation A has been completed, state information indicating that the image processing operation B has been stopped while being performed, and an intermediate image on which the image processing operation A has been performed on the input image. When the electronic device (100) resumes image processing, it may restart from the image processing operation B based on the state information and the intermediate image. The electronic device (!00) may also restart performing the image processing operation from the point in time at which the image processing operation B was stopped based on the state information and the intermediate image.
[0130] FIG. 5b is a diagram for explaining a threshold time of an image processing set and a remaining image processing time in an electronic device according to one embodiment.
[0131] According to one embodiment, the electronic device (100) may determine to stop image processing for the input image (101) when the remaining image processing time (501) required to complete image processing based on the image processing set (104) is greater than the threshold time (502) of the image processing set corresponding to the stop request (105). For example, as illustrated in FIG. 5B, when a request to stop image processing (105) occurs while performing image processing operation B included in the image processing set (104), the remaining image processing time (501) may include the time required to perform the image processing set (104) minus the time required from the start of image processing for the input image (101) to the stop request (105). For example, as illustrated in FIG. 5b, since the remaining image processing time (501) is greater than the threshold time (502) of the image processing set corresponding to the stop request (105), the electronic device (100) may decide to stop image processing for the input image (101).
[0132] According to one embodiment, the electronic device (100) may determine whether an image processing operation is in progress if the remaining image processing time (501) required to complete image processing based on the image processing set (104) is greater than the threshold time (502) of the image processing set corresponding to the stop request (105). For example, the electronic device (100) may perform operation 202 of FIG. 2A.
[0133] FIG. 5c is a diagram for explaining a critical time of an image processing set in an electronic device according to one embodiment.
[0134] According to one embodiment, the electronic device (100) may determine not to suspend image processing for the input image (101) if the remaining image processing time (501) required to complete image processing based on the image processing set (104) is less than the threshold time (502) of the image processing set corresponding to the stop request (105). For example, as illustrated in FIG. 5C, if a request to suspend image processing (105) occurs while performing image processing operation C included in the image processing set (104), the remaining image processing time (501) may include a time excluding the time required from the start of image processing for the input image (101) to the stop request (105) in the time required to perform the image processing set (104). For example, as illustrated in FIG. 5c, since the remaining image processing time (501) is less than the threshold time (502) of the image processing set corresponding to the stop request (105), the electronic device (100) may determine not to stop image processing for the input image (101).
[0135] According to one embodiment, the electronic device (100) may continue to perform the entire image processing if the remaining image processing time (501) required to complete the image processing based on the image processing set (104) is less than the threshold time (502) of the image processing set corresponding to the stop request (105). For example, the electronic device (100) may perform operation 260 of FIG. 2A.
[0136] According to one embodiment, if the electronic device (100) determines not to stop image processing for the input image (101), the electronic device (100) may continue performing image processing for the input image (101) to obtain a result image (103). For example, as illustrated in FIG. 5b, the electronic device (100) may stop image processing without continuing to perform image processing for the input image (101) to obtain a result image (103) because the remaining image processing time (501) is greater than the threshold time (502) of the image processing set. For example, as illustrated in FIG. 5c, the electronic device (100) may continue performing image processing for the input image (101) to obtain a result image (103) because the remaining image processing time (501) is less than the threshold time (502) of the image processing set.
[0137] FIG. 5D is a diagram for explaining an example of a case where there is a request for interruption between image processing operations in an electronic device according to one embodiment.
[0138] According to one embodiment, if there is a request to interrupt between image processing operations, the electronic device (100) may determine that the image processing operation is not in progress. For example, referring to FIG. 5d, if there is a request to interrupt (105) at a time when image processing operation A included in the image processing set (104) is performed and before image processing operation B, which is performed sequentially, is performed, the electronic device (100) may determine that the image processing operation is not in progress. For example, referring to FIG. 5d, the electronic device (100) may determine that the image processing operation is not in progress and may perform operation 270 of FIG. 2a. For example, referring to FIG. 5d, the electronic device (100) may determine that the image processing operation is not in progress and may store status information indicating that up to image processing operation A has been performed and an intermediate image on which image processing operation A has been performed for the input image (101).
[0139] FIG. 6 is a flowchart (270) of a method for an electronic device (100) to stop image processing for an image processing set (104) according to one embodiment. The flowchart of FIG. 6 may be a part of operation 270 of FIG. 2. FIGS. 7A and 7B are diagrams illustrating examples of information stored by an electronic device (100) when stopping image processing based on an image processing set (104) according to one embodiment. FIG. 8 is a diagram illustrating an example of an electronic device (100) determining whether to complete performance of an image processing operation within an image processing set (104) according to one embodiment.
[0140] Referring to FIGS. 6 and 7a, in operation 610, the electronic device (100) can identify an image processing operation B, which is a first image processing operation in which image processing is being performed on an input image (101), among the operations of the image processing set.
[0141] According to one embodiment, when it is determined that image processing is to be stopped, the electronic device (100) may identify a first image processing operation being performed by image processing among a plurality of image processing operations included in the image processing set (104). For example, the first image processing operation may include an image processing operation being performed by the electronic device (100) at the time of the stop request. For example, referring to FIG. 7A, the electronic device (100) may identify an image processing operation B (701) being performed by image processing among image processing operations A, image processing operation B, image processing operation C, and image processing operation D included in the image processing set (104). Referring to FIG. 7A, the first image processing operation (701) may include image processing operation B. For example, referring to FIG. 7B, the electronic device (100) can identify an image processing operation C (705) being performed by image processing among a plurality of image processing operations included in the image processing set (104). Referring to FIG. 7B, the first image processing operation can include the image processing operation C (705). For example, referring to FIG. 8, the electronic device (100) can identify an image processing operation C (707) being performed by image processing among a plurality of image processing operations included in the image processing set (104). Referring to FIG. 8, the first image processing operation can include the image processing operation C (707).
[0142] Referring to FIG. 6, at operation 620, the electronic device (100) may determine whether to complete the first image processing operation.
[0143] According to one embodiment, the electronic device (100) may determine whether to complete the performance of the first image processing operation based on the first remaining time required to complete the first image processing operation and the threshold time (502) of the image processing set corresponding to the stop request (105). For example, referring to FIG. 8, the electronic device (100) may determine to complete the performance of the image processing operation C (707), which is the first image processing operation, if the first remaining time (801) is less than the threshold time (502) of the image processing set. For example, the electronic device (100) may determine not to complete the performance of the first image processing operation (701) if the first remaining time (801) is greater than the threshold time (502) of the image processing set.
[0144] According to one embodiment, the electronic device (100) may perform operation 630 if it determines to complete the performance of the first image processing operation. According to one embodiment, the electronic device (100) may perform operation 650 if it determines not to complete the performance of the first image processing operation (701).
[0145] Referring to FIG. 6, in operation 630, the electronic device (100) may stop image processing after completing the performance of the first image processing operation.
[0146] According to one embodiment, the electronic device (100) may stop image processing after completing the first image processing operation. For example, referring to FIG. 8, if the electronic device (100) determines to complete the first image processing operation, image processing operation C (707), according to operation 620, the electronic device (100) may stop image processing after completing the first image processing operation (707) during the first remaining time (801). For example, referring to FIG. 8, in operation 630, the electronic device (100) may stop image processing after completing image processing operation A, image processing operation B2, and image processing operation C for the input image (101).
[0147] Referring to FIG. 6, in operation 640, the electronic device (100) can store first state information and a first intermediate image.
[0148] According to one embodiment, the electronic device (100) may store first status information indicating that image processing has been performed up to the first image processing operation and a first intermediate image obtained according to the first image processing operation. For example, the first status information may include information indicating that image processing has been performed on the input image (101) up to the first image processing operation. For example, referring to FIG. 7A, the first status information may include information indicating that image processing has been completed up to image processing operation B after image processing operation A has been performed. For example, referring to FIG. 8, information indicating that the electronic device (100) has performed image processing operation A, image processing operation B, and / or image processing operation C may be included in the first status information. For example, referring to FIG. 7A, the first intermediate image (702) may include an image (702) obtained when image processing operation B, which is the first image processing operation (701), is performed by the electronic device (100). For example, referring to FIG. 7B, the first intermediate image (702) may include an image (702) obtained as the image processing operation C, which is the first image processing operation (705), is performed by the electronic device (100). For example, referring to FIG. 8, the first intermediate image (702) may include an image (702) obtained as the image processing is performed according to the first image processing operation (707) for the first remaining time (801) on the image (704) that was being image-processed by the electronic device (100) based on the first image processing operation (707) at the time of the stop request (105).
[0149] According to one embodiment, the electronic device (100) may, in operation 640, save the first intermediate image as a separate file and display the first intermediate image as an image undergoing image processing. For example, referring to FIG. 7A, the electronic device (100) may save the first intermediate image (702) as a separate file. For example, referring to FIG. 7A, the electronic device (100) may display the first intermediate image (702) as an image undergoing image processing for the input image (101) on the electronic device (100). For example, referring to FIG. 8, the electronic device (100) may save the first intermediate image (702) as a separate file and display the first image as an image undergoing image processing up to image processing operation C (707), which is a first image processing operation, for the input image (101).
[0150] Referring to FIG. 6, in operation 650, the electronic device (100) may stop image processing without completing the first image processing operation. For example, referring to FIG. 8, if the electronic device (100) determines not to complete the first image processing operation (707) according to operation 620, the electronic device (100) may stop image processing without performing image processing operation C, which is the first image processing operation (707), during the first remaining time (801). For example, referring to FIG. 8, in operation 650, the electronic device (100) may stop image processing without completing image processing operation C after completing image processing operations A and B for the input image (101).
[0151] Referring to FIG. 6, at operation 660, the electronic device (100) may store second state information and a second intermediate image (703).
[0152] According to one embodiment, the electronic device (100) may store second state information indicating that image processing has been performed on the input image (101) up to the second image processing operation (704) that has already been performed before performing the first image processing operation (701) and a second intermediate image (703) obtained according to the second image processing operation (704). For example, the second state information may include information indicating that image processing has been performed on the input image (101) up to the second image processing operation. For example, referring to FIG. 7A, the second state information may include information indicating that image processing operation A has been completed. For example, referring to FIG. 8, information indicating that the electronic device (100) has performed image processing operation A and image processing operation B may be included in the second state information. For example, referring to FIG. 7A, the second intermediate image (703) may include an image (703) obtained as the image processing operation A, which is the second image processing operation (704), is performed by the electronic device (100). For example, referring to FIG. 8, the second intermediate image (703) may include an image (703) obtained by the electronic device (100) through the second image processing operation (708) before the time point of the stop request (105).
[0153] According to one embodiment, in operation 660, the second image processing operation may include an image processing operation that supports interruption of image processing among the image processing operations that have already been performed before performing the first image processing operation. For example, referring to FIG. 7B, for image processing operation A that supports interruption of image processing of the electronic device (100) and image processing operation B that does not support interruption of image processing of the electronic device (100), image processing operation A that supports interruption of image processing among the image processing operations that have already been performed before image processing operation C, which is the first image processing operation (705), is performed may be included in the second image processing operation (706). For example, referring to FIG. 7B, the second intermediate image (703) may include an image acquired by the electronic device according to image processing operation A, which is the second image processing operation (706) that supports interruption of image processing.
[0154] According to one embodiment, the electronic device (100) may, at operation 660, store the second intermediate image as a separate file and display the first intermediate image as an image undergoing image processing. For example, referring to FIG. 7A, the electronic device (100) may store the second intermediate image (703) as a separate file. For example, referring to FIG. 7A, the electronic device (100) may display the second intermediate image (703) as an image undergoing image processing for the input image (101) on the electronic device (100). For example, referring to FIG. 8, the electronic device (100) may store the second intermediate image (703) as a separate file and display the image as an image processed up to the second image processing operation (708), which is the image processing operation B, for the input image (101).
[0155] FIG. 9 is a flowchart (900) illustrating the operation of an electronic device (100) depending on whether resumption of image processing is supported according to one embodiment.
[0156] Referring to FIG. 9, according to one embodiment, when the electronic device (100) determines to stop image processing for the input image in operation 250 of FIG. 2b, the electronic device (100) may perform operation 910.
[0157] Referring to FIG. 9, at operation 910, the electronic device (100) may determine whether it supports resumption of image processing for the input image (101).
[0158] According to one embodiment, the electronic device (100) may determine whether to support resumption of image processing for the interrupted image after interruption of image processing for the input image (101). For example, the electronic device (100) may determine not to support resumption of image processing when image processing operations included in the image processing set (104) must be performed at once to proceed with image processing. For example, the electronic device (100) may determine not to support resumption of image processing when it supports interruption of at least one of the image processing operations but does not support remaining image processing operations for the interrupted image. For example, the electronic device (100) may determine not to support resumption of image processing when a plurality of image processing operations must be executed as one unit due to dependencies between image processing operations included in the image processing set (104). For example, due to insufficient resources of the electronic device (100), it may determine that interruption of image processing is supported but resumption of image processing is not supported.
[0159] According to one embodiment, the electronic device (100) may determine whether at least one of the plurality of image processing operations included in the image processing set (104) supports resumption of image processing. For example, if at least one of the plurality of image processing operations supports resumption of image processing, the electronic device (100) may determine that the electronic device (100) supports resumption of image processing. For example, if not all of the plurality of image processing operations support resumption of image processing, the electronic device (100) may determine that the electronic device (100) does not support resumption of image processing.
[0160] According to one embodiment, if the electronic device (100) determines that at least one of the plurality of image processing operations included in the image processing set (104) supports resumption of image processing for the input image (101), it may perform operation 270 of FIG. 2B. According to one embodiment, if the electronic device (100) determines that at least one of the plurality of image processing operations included in the image processing set (104) does not support resumption of image processing for the input image (101), it may perform operation 920.
[0161] According to one embodiment, when the electronic device (100) determines that at least one of the plurality of image processing operations included in the image processing set (104) supports resumption of image processing for the input image (101), the electronic device (100) may store status information regarding the suspension of image processing and an intermediate image. For example, when only one image processing operation that has already been performed among the plurality of image processing operations included in the image processing set (104) supports resumption of image processing, the electronic device (100) may store an intermediate image acquired according to the image processing operation that supports resumption of image processing, information regarding the image processing operation that supports resumption of image processing, and status information indicating that the image processing operation that supports resumption of image processing has been performed.
[0162] Referring to FIG. 9, in operation 920, the electronic device (100) can store status information regarding the interruption of image processing and the input image (101).
[0163] According to one embodiment, if a plurality of image processing operations included in the image processing set (104) do not support resumption of image processing, the electronic device (100) may store the input image (101). For example, the electronic device (100) may remove an intermediate image acquired according to an image processing operation being performed at the time of the stop request (105) and store the input image (101) on which the image processing operation has not been performed. For example, the electronic device (100) may remove an intermediate image acquired according to an image processing operation already performed before the time of the stop request (105) and store the input image (101). For example, the electronic device (100) may store the stored input image (101) as a separate file.
[0164] According to one embodiment, if a plurality of image processing operations included in the image processing set (104) do not support resumption of image processing, the electronic device (100) may store state information regarding the interruption of image processing. For example, the state information according to operation 920 may include information related to an image processing operation to be started to be resumed in the image processing set (104). For example, the state information according to operation 920 may include information indicating that the image processing operation must be started from the beginning because the image processing operation in the image processing set (104) does not support resumption.
[0165] FIG. 10 is a flowchart (1000) of a method for an electronic device (100) to resume image processing according to one embodiment.
[0166] Referring to FIG. 10, the electronic device (100) can perform operation 1010 following operation 270 of FIG. 2b.
[0167] Referring to FIG. 10, in operation 1010, the electronic device (100) can identify a remaining image processing operation based on state information.
[0168] According to one embodiment, the electronic device (100) may identify at least one remaining image processing operation among a plurality of image processing operations within the image processing set (104) based on the state information. For example, the remaining image processing operation may include an operation among the plurality of image processing operations within the image processing set (104) in which the performance of the image processing operation is not yet completed. For example, as illustrated in FIG. 7A, when the electronic device (100) stores the first state information and the first intermediate image (702) according to operation 640, the electronic device (100) may identify image processing operation C and image processing operation D as the remaining image processing operations based on the first state information. For example, as illustrated in FIG. 7a, when the electronic device (100) stores the second state information and the second intermediate image (703) according to operation 660, the electronic device (100) can identify the image processing operation B, the image processing operation C, and the image processing operation D as the remaining image processing operations based on the second state information.
[0169] Referring to FIG. 10, in operation 1020, the electronic device (100) may perform a residual image processing operation on the intermediate image.
[0170] According to one embodiment, the electronic device (100) may sequentially perform the remaining image processing operations among the image processing set (104) based on the intermediate image. For example, as illustrated in FIG. 7A, if the electronic device (100) stores the first state information and the first intermediate image according to operation 640, the electronic device (100) may sequentially perform the image processing operation C and the image processing operation D on the first intermediate image (702) to obtain the result image (103). For example, as illustrated in FIG. 7A, if the electronic device (100) stores the second state information and the second intermediate image (703) according to operation 660, the electronic device (100) may sequentially perform the image processing operation B, the image processing operation C, and the image processing operation D on the second intermediate image (703) to obtain the result image (103).
[0171] FIG. 11 is a flowchart (1100) of a method for an electronic device (100) to process an input image (101) based on an interruption history of image processing for the input image, according to one embodiment.
[0172] Referring to FIG. 11, the electronic device (100) can perform operation 1110 after operation 210 of FIG. 2b.
[0173] Referring to FIG. 11, in operation 1110, the electronic device (100) can determine whether there is an interruption history in the input image (101).
[0174] According to one embodiment, the electronic device (100) can determine whether there is an interruption history based on the status information of the input image (101). The electronic device (100) can determine whether the input image (101) is an intermediate image (102) generated by an interruption in the middle of image processing. For example, the electronic device (100) can determine that at least one of a plurality of image processing operations included in the image processing set (104) has been interrupted through the status information of the input image (101) and determine that there is an interruption history. For example, if there is no status information of the input image (101), the electronic device (100) can determine that the input image (101) does not have an interruption history.
[0175] According to one embodiment, the input image (101) may be an image received by the electronic device (100) from an external electronic device (106). For example, the input image (101) may be an image received by the electronic device (100) from the external electronic device (106) via wireless communication. For example, the input image (101) may include an image in which image processing is stopped while the external electronic device (106) is performing image processing. For example, the input image (101) received from the external electronic device (106) may include status information indicating a stopped state of image processing.
[0176] According to one embodiment, the electronic device (100) may perform operation 1120 if there is an interruption history in the input image (101). According to one embodiment, the electronic device (100) may perform operation 1130 if there is no interruption history in the input image (101).
[0177] Referring to FIG. 11, the electronic device (100) can determine an image processing set (104) based on the interruption state of the input image (101) and the input image (101) in operation 1120.
[0178] According to one embodiment, when the input image (101) has a history of interruption, the electronic device (100) may determine the image processing set (104) by considering the interruption status. For example, the electronic device (100) may determine an image processing operation that has already been performed on the input image (101) through the interruption status of the input image (101). For example, the electronic device (100) may determine the image processing set (104) by excluding an image processing operation that has already been performed by considering the interruption status of the input image (101). For example, the electronic device (100) may include an image processing operation that has not been performed through the interruption status of the input image (101) in the image processing set (104). According to one embodiment, the electronic device (100) may determine the image processing set (104) based on the interruption status of the input image (101) and the input image (101). For example, the electronic device (100) can determine the image processing stop state of the input image (101) and the remaining image processing operation based on the input image (101), and determine the image processing set (104).
[0179] According to one embodiment, if the input image (101) has an interruption history, the electronic device (100) may determine an image processing set (104) that includes an image processing operation that has been performed by considering the interruption status and / or the input image (101). For example, even if there is an image processing operation performed on the input image (101), the electronic device (100) may determine an image processing set (104) that includes an image processing operation that has already been performed. For example, the electronic device (100) may determine an image processing set to perform image processing from the beginning based on an image processing set that has been previously performed on the input image, regardless of the image processing operation that has been performed.
[0180] Referring to FIG. 11, the electronic device (100) can determine an image processing set (104) based on an input image (101) in operation 1130.
[0181] According to one embodiment, the electronic device (100) may determine an image processing set (104) based on the input image (101) if the input image (101) has no interruption history. For example, the electronic device (100) may determine an image processing set (104) without considering the interruption status of the input image (101) if the input image (101) has no interruption history. For example, the electronic device (100) may determine an image processing set (104) including a plurality of image processing operations based on the input image (101) if the input image (101) has no interruption history.
[0182] Referring to FIG. 11, the electronic device (100) can perform image processing on an input image based on the image processing set (104) in operation 1140.
[0183] According to one embodiment, the electronic device (100) may perform image processing on an input image (101) having an interruption history based on an interruption state of the input image (101) and an image processing set (104) determined based on the input image (101). According to one embodiment, the electronic device (100) may perform image processing on an input image (101) having no interruption history based on an image processing set (104) determined based on the input image (101). According to one embodiment, operation 1140 may be the same operation as operation 220 of FIGS. 2A and 2B.
[0184] FIG. 12A is a diagram illustrating an example of an electronic device (100) indicating the suspension and resumption of image processing according to one embodiment.
[0185] Referring to FIG. 12A, according to one embodiment, the electronic device (100) may display that image processing is being performed on the input image (101). For example, as illustrated in the example of identification number 1201 of FIG. 12A, the electronic device (100) may display a user interface (UI) indicating that image processing is being performed on the input image (101) based on the image processing set (104). For example, as illustrated in the example of identification number 1201 of FIG. 12A, the electronic device (100) may display a remaining time until image processing is completed, an object indicating that image processing is being performed, and / or an intermediate image (102) indicating that image processing is in progress on the input image (101).
[0186] Referring to FIG. 12A, according to one embodiment, a request (105) to stop image processing identified by the electronic device (100) may include a user input. For example, referring to identification number 1201 of FIG. 12A, the request (105) to stop image processing may include a user input for an object (1211) indicating that image processing is in progress. The electronic device (100) may identify a user input for the object (1211) that may stop image processing and may stop image processing for the input image (101). For example, referring to FIG. 12A, the electronic device (100) may identify a user input for the object (1211) that may stop image processing and display a user interface (UI) indicating that image processing has been stopped, as illustrated in the example of identification number 1202.
[0187] Referring to FIG. 12A, according to one embodiment, the electronic device (100) may display that image processing for the input image (101) has been stopped. For example, referring to identification number 1202 of FIG. 12A, the electronic device (100) may display a user interface (UI) indicating that image processing for the input image (101) is being stopped. For example, referring to identification number 1202 of FIG. 12A, the electronic device (100) may display a phrase indicating that image processing has been stopped, an intermediate image (102), the time at which image processing was performed, and / or the remaining time of the remaining image processing operation.
[0188] Referring to FIG. 12A, according to one embodiment, a request to resume a paused image may include a user input. For example, referring to identification number 1202 of FIG. 12A, a request to resume image processing may include a user input for an object (1212) indicating that image processing is paused. The electronic device (100) may identify a user input for an object (1212) capable of resuming image processing to resume image processing of an intermediate image (102) whose image processing was paused. For example, referring to FIG. 12A, the electronic device (100) may identify a user input for an object (121) capable of resuming image processing and display a UI indicating that image processing is being resumed, as illustrated in the example of identification number 1201.
[0189] FIG. 12b is a diagram illustrating an example of an electronic device (100) indicating the suspension and resumption of image processing according to one embodiment.
[0190] Referring to FIG. 12B, according to one embodiment, the electronic device (100) may display that image processing is being performed on the input image (101). For example, referring to identification number 1203 of FIG. 12B, the electronic device (100) may display an object (1221) indicating that image processing is being performed on a previously captured image while the camera application is running and a preview image is being displayed. For example, referring to identification number 1203 of FIG. 12B, the electronic device (100) may display an intermediate image (102) obtained according to the image processing operation as a thumbnail image (1223). For example, referring to identification number 1203 of FIG. 12B, the electronic device (100) may save the intermediate image (102) as a separate file and display it as a thumbnail image (1223). For example, referring to identification number 1203 of FIG. 12B, the electronic device (100) may display an object (1222) indicating that image processing is in progress along with an intermediate image (1223) as image processing progresses.
[0191] Referring to FIG. 12B, according to one embodiment, the electronic device (100) may display information indicating that image processing for the input image (101) is being stopped. For example, referring to identification number 1204 of FIG. 12B, the electronic device (100) may display an object (1222) indicating that image processing for a previously captured image has been stopped while the camera application is running and a preview image is being displayed. For example, referring to identification number 1204 of FIG. 12B, the electronic device (100) may display an intermediate image (102) obtained according to an image processing operation as a thumbnail image (1224). For example, referring to identification number 1204 of FIG. 12B, the electronic device (100) may save the intermediate image (102) as a separate file and display it as a thumbnail image (1224). For example, referring to identification number 1204 of FIG. 12B, the electronic device (100) may display an object (1222) indicating that image processing has been stopped along with an intermediate image (1224) as image processing is stopped.
[0192] FIG. 12c is a diagram illustrating an example of an electronic device (100) indicating the suspension and resumption of image processing according to one embodiment.
[0193] Referring to FIG. 12C, according to one embodiment, the electronic device (100) may display that image processing is being performed on the input image (101). For example, referring to identification number 1205 of FIG. 12C, the electronic device (100) may display an object (1231) indicating that image processing is being performed on a previously captured image while a photo application is running and a preview image is being displayed. For example, referring to identification number 1205 of FIG. 12C, the electronic device (100) may display an intermediate image (102) obtained according to the image processing operation as a thumbnail image (1231). The electronic device (100) may save the intermediate image (102) as a separate file and display it as a thumbnail image (1232). For example, referring to identification number 1205 of FIG. 12C, the electronic device (100) can identify a user input for an object (1231) that can stop image processing and can stop image processing for an input image (101). For example, referring to FIG. 12C, the electronic device (100) can identify a user input for an object (1231) that can stop image processing and can display a UI indicating that image processing has been stopped, as in the example illustrated in identification number 1206.
[0194] Referring to FIG. 12C, according to one embodiment, the electronic device (100) may display that image processing for the input image (101) has been stopped. For example, referring to identification number 1206 of FIG. 12C, the electronic device (100) may display an object (1232) indicating that image processing for a previously captured image has been stopped while a photo application is running and a preview image is being displayed. For example, referring to identification number 1206 of FIG. 12C, the electronic device (100) may display an intermediate image (102) obtained as a result of the image processing operation being stopped as a thumbnail image (1232). The electronic device (100) may save the intermediate image (102) as a separate file and display it as a thumbnail image (1232). For example, referring to identification number 1206 of FIG. 12C, the electronic device (100) can identify a user input for an object (1232) that can resume image processing to resume image processing for an intermediate image (102) where image processing for an input image (101) was paused. For example, referring to FIG. 12C, the electronic device (100) can identify a user input for an object (1232) that resumes image processing and display a UI indicating that image processing has been resumed, as in the example illustrated in identification number 1205.
[0195] FIG. 12d is a diagram illustrating an example of an electronic device (100) indicating the suspension and resumption of image processing according to one embodiment.
[0196] Referring to FIG. 12D , according to one embodiment, the electronic device (100) may display that image processing is being performed on the input image (101). For example, referring to FIG. 12D , the electronic device (100) may display an object (1241) indicating that image processing is being performed on an image displayed on the execution screen of the gallery application while executing the gallery application and the camera application together. For example, referring to FIG. 12D , the electronic device (100) may identify a user input for the object (1241) that may stop the image processing operation and stop the image processing on the input image (101).
[0197] Referring to FIG. 12D , according to one embodiment, the electronic device (100) may display that image processing for the input image (101) has been stopped. For example, referring to FIG. 12D , the electronic device (100) may display an object (1242) indicating that image processing for an image displayed on the execution screen of the gallery application has been stopped while executing the gallery application and the camera application together. For example, referring to FIG. 12D , the electronic device (100) may identify a user input for the object (1242) that can resume the image processing operation and may resume image processing for the intermediate image (102).
[0198] FIG. 13 is a block diagram of an electronic device (1301) within a network environment (1300) according to various embodiments. Referring to FIG. 13 , in the network environment (1300), the electronic device (1301) may communicate with the electronic device (1302) via a first network (1398) (e.g., a short-range wireless communication network), or may communicate with at least one of the electronic device (1304) or the server (1308) via a second network (1399) (e.g., a long-range wireless communication network). In one embodiment, the electronic device (1301) may communicate with the electronic device (1304) via the server (1308). According to one embodiment, the electronic device (1301) may include a processor (1320), a memory (1330), an input module (1350), an audio output module (1355), a display module (1360), an audio module (1370), a sensor module (1376), an interface (1377), a connection terminal (1378), a haptic module (1379), a camera module (1380), a power management module (1388), a battery (1389), a communication module (1390), a subscriber identification module (1396), or an antenna module (1397). In some embodiments, the electronic device (1301) may omit at least one of these components (e.g., the connection terminal (1378)), or may have one or more other components added. In some embodiments, some of these components (e.g., sensor module (1376), camera module (1380), or antenna module (1397)) may be integrated into a single component (e.g., display module (1360)).
[0199] The processor (1320) may, for example, execute software (e.g., a program (1340)) to control at least one other component (e.g., a hardware or software component) of the electronic device (1301) connected to the processor (1320) and perform various data processing or operations. According to one embodiment, as at least a part of the data processing or operations, the processor (1320) may store commands or data received from other components (e.g., a sensor module (1376) or a communication module (1390)) in a volatile memory (1332), process the commands or data stored in the volatile memory (1332), and store result data in a non-volatile memory (1334). According to one embodiment, the processor (1320) may include a main processor (1321) (e.g., a central processing unit or an application processor) or an auxiliary processor (1323) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (1321). For example, when the electronic device (1301) includes the main processor (1321) and the auxiliary processor (1323), the auxiliary processor (1323) may be configured to use less power than the main processor (1321) or to be specialized for a given function. The auxiliary processor (1323) may be implemented separately from the main processor (1321) or as a part thereof.
[0200] The auxiliary processor (1323) may control at least a portion of functions or states associated with at least one component (e.g., the display module (1360), the sensor module (1376), or the communication module (1390)) of the electronic device (1301), for example, on behalf of the main processor (1321) while the main processor (1321) is in an inactive (e.g., sleep) state, or together with the main processor (1321) while the main processor (1321) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (1323) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (1380) or a communication module (1390)). In one embodiment, the auxiliary processor (1323) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (1301) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (1308)). The learning algorithm can 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 can include multiple artificial neural network layers.The artificial neural network may be one of 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, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0201] The memory (1330) can store various data used by at least one component (e.g., the processor (1320) or the sensor module (1376)) of the electronic device (1301). The data can include, for example, software (e.g., the program (1340)) and input data or output data for commands related thereto. The memory (1330) can include volatile memory (1332) or non-volatile memory (1334).
[0202] The program (1340) may be stored as software in memory (1330) and may include, for example, an operating system (1342), middleware (1344), or an application (1346).
[0203] The input module (1350) can receive commands or data to be used in a component of the electronic device (1301) (e.g., a processor (1320)) from an external source (e.g., a user) of the electronic device (1301). The input module (1350) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0204] The audio output module (1355) can output audio signals to the outside of the electronic device (1301). The audio output module (1355) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0205] The display module (1360) can visually provide information to an external party (e.g., a user) of the electronic device (1301). The display module (1360) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (1360) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0206] The audio module (1370) can convert sound into an electrical signal, or vice versa. According to one embodiment, the audio module (1370) can acquire sound through the input module (1350), output sound through the sound output module (1355), or an external electronic device (e.g., electronic device (1302)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (1301).
[0207] The sensor module (1376) can detect the operating status (e.g., power or temperature) of the electronic device (1301) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (1376) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0208] The interface (1377) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (1301) with an external electronic device (e.g., the electronic device (1302)). In one embodiment, the interface (1377) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0209] The connection terminal (1378) may include a connector through which the electronic device (1301) may be physically connected to an external electronic device (e.g., the electronic device (1302)). In one embodiment, the connection terminal (1378) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0210] The haptic module (1379) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (1379) may include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0211] The camera module (1380) can capture still images and videos. In one embodiment, the camera module (1380) may include one or more lenses, image sensors, image signal processors, or flashes.
[0212] The power management module (1388) can manage the power supplied to the electronic device (1301). According to one embodiment, the power management module (1388) can be implemented as, for example, at least a part of a power management integrated circuit (PMIC).
[0213] A battery (1389) may power at least one component of the electronic device (1301). In one embodiment, the battery (1389) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0214] The communication module (1390) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (1301) and an external electronic device (e.g., electronic device (1302), electronic device (1304), or server (1308)), and the performance of communication through the established communication channel. The communication module (1390) may operate independently from the processor (1320) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (1390) may include a wireless communication module (1392) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (1394) (e.g., a local area network (LAN) communication module, or a power line communication module). Any of these communication modules may communicate with an external electronic device (1304) via a first network (1398) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (1399) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a local area network or a wide area network)). 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 (1392) may use subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (1396) to verify or authenticate the electronic device (1301) within a communication network such as the first network (1398) or the second network (1399).
[0215] The wireless communication module (1392) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency communications (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (1392) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (1392) may support various technologies for securing performance in high-frequency bands, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (1392) may support various requirements specified in the electronic device (1301), an external electronic device (e.g., the electronic device (1304)), or a network system (e.g., the second network (1399)). According to one embodiment, the wireless communication module (1392) may support a peak data rate (e.g., 20 Gbps or more) for eMBB implementation, a loss coverage (e.g., 164 dB or less) for mMTC implementation, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC implementation.
[0216] The antenna module (1397) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (1397) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (1397) 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 the first network (1398) or the second network (1399), may be selected from the plurality of antennas by, for example, the communication module (1390). A signal or power may be transmitted or received between the communication module (1390) and an external electronic device via the at least one selected antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (1397).
[0217] According to various embodiments, the antenna module (1397) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band.
[0218] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0219] According to one embodiment, commands or data may be transmitted or received between the electronic device (1301) and an external electronic device (1304) via a server (1308) connected to a second network (1399). Each of the external electronic devices (1302 or 1304) may be the same or a different type of device as the electronic device (1301). According to one embodiment, all or part of the operations executed in the electronic device (1301) may be executed in one or more of the external electronic devices (1302, 1304, or 1308). For example, when the electronic device (1301) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (1301) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (1301). The electronic device (1301) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (1301) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (1304) may include an Internet of Things (IoT) device. The server (1308) may be an intelligent server utilizing machine learning and / or a neural network.According to one embodiment, an external electronic device (1304) or server (1308) may be included within the second network (1399). The electronic device (1301) may be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology and IoT-related technology.
[0220] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0221] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the 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 the items, unless the context clearly indicates otherwise. In this document, each of the phrases "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" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0222] The term "module" used in 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. A module may be an integral component, or a minimum unit or part of such a component 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).
[0223] Various embodiments of the present document may be implemented as software (e.g., a program (1340)) including one or more instructions stored in a storage medium (e.g., an internal memory (1336) or an external memory (1338)) readable by a machine (e.g., an electronic device (1301)). For example, a processor (e.g., a processor (1320)) of the machine (e.g., an electronic device (1301)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate 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 executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0224] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0225] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0226] FIG. 14 is a block diagram (1400) illustrating a camera module (1380) according to various embodiments. Referring to FIG. 14, the camera module (1380) may include a lens assembly (1410), a flash (1420), an image sensor (1430), an image stabilizer (1440), a memory (1450) (e.g., a buffer memory), or an image signal processor (1460). The lens assembly (1410) may collect light emitted from a subject that is a target of image capturing. The lens assembly (1410) may include one or more lenses. According to one embodiment, the camera module (1380) may include a plurality of lens assemblies (1410). In this case, the camera module (1380) may form, for example, a dual camera, a 360-degree camera, or a spherical camera. Some of the plurality of lens assemblies (1410) may have the same lens properties (e.g., angle of view, focal length, autofocus, f-number, or optical zoom), or at least one lens assembly may have one or more lens properties that are different from the lens properties of the other lens assemblies. A lens assembly (1410) may include, for example, a wide-angle lens or a telephoto lens.
[0227] The flash (1420) can emit light used to enhance light emitted or reflected from a subject. According to one embodiment, the flash (1420) can include one or more light-emitting diodes (e.g., red-green-blue (RGB) LED, white LED, infrared LED, or ultraviolet LED) or a xenon lamp. The image sensor (1430) can acquire an image corresponding to the subject by converting light emitted or reflected from the subject and transmitted through the lens assembly (1410) into an electrical signal. According to one embodiment, the image sensor (1430) can include one image sensor selected from among image sensors having different properties, such as an RGB sensor, a black and white (BW) sensor, an IR sensor, or a UV sensor, a plurality of image sensors having the same property, or a plurality of image sensors having different properties. Each image sensor included in the image sensor (1430) may be implemented using, for example, a CCD (charged coupled device) sensor or a CMOS (complementary metal oxide semiconductor) sensor.
[0228] The image stabilizer (1440) can move at least one lens or image sensor (1430) included in the lens assembly (1410) in a specific direction or control the operating characteristics of the image sensor (1430) (e.g., adjusting the read-out timing, etc.) in response to the movement of the camera module (1380) or the electronic device (1301) including the same. This allows compensating for at least some of the negative effects of the movement on the captured image. In one embodiment, the image stabilizer (1440) can detect such movement of the camera module (1380) or the electronic device (1301) by using a gyro sensor (not shown) or an acceleration sensor (not shown) disposed inside or outside the camera module (1380). According to one embodiment, the image stabilizer (1440) may be implemented as, for example, an optical image stabilizer. The memory (1450) may temporarily store at least a portion of the image acquired through the image sensor (1430) for the next image processing task. For example, when image acquisition is delayed due to a shutter or a plurality of images are acquired at high speed, the acquired original image (e.g., a Bayer-patterned image or a high-resolution image) may be stored in the memory (1450), and a corresponding copy image (e.g., a low-resolution image) may be previewed through the display module (1360). Thereafter, when a specified condition is satisfied (e.g., a user input or a system command), at least a portion of the original image stored in the memory (1450) may be acquired and processed by, for example, the image signal processor (1460). According to one embodiment, the memory (1450) may be configured as at least a portion of the memory (1330), or as a separate memory that operates independently therefrom.
[0229] The image signal processor (1460) can perform one or more image processing operations on an image acquired through an image sensor (1430) or an image stored in a memory (1450). The one or more image processing operations may include, for example, depth map generation, 3D modeling, panorama generation, feature extraction, image synthesis, or image compensation (e.g., noise reduction, resolution adjustment, brightness adjustment, blurring, sharpening, or softening). Additionally or alternatively, the image signal processor (1460) may perform control (e.g., exposure time control, read-out timing control, etc.) on at least one of the components included in the camera module (1380) (e.g., image sensor (1430)). An image processed by the image signal processor (1460) may be stored back in the memory (1450) for further processing or provided to an external component of the camera module (1380) (e.g., memory (1330), display module (1360), electronic device (1302), electronic device (1304), or server (1308). According to one embodiment, the image signal The processor (1460) may be configured as at least a part of the processor (1320) or may be configured as a separate processor that operates independently of the processor (1320). If the image signal processor (1460) is configured as a separate processor from the processor (1320), at least one image processed by the image signal processor (1460) may be displayed through the display module (1360) as is or after undergoing additional image processing by the processor (1320). According to one embodiment, the electronic device (1301) may include a plurality of camera modules (1380), each having different properties or functions. In this case, for example, at least one of the plurality of camera modules (1380) may be a wide-angle camera, and at least another may be a telephoto camera.Similarly, at least one of the plurality of camera modules (1380) may be a front camera, and at least another may be a rear camera.
[0230] According to one embodiment, the electronic device (1301) of FIG. 13 may correspond to the electronic device (100) of FIG. 1 and may perform the operations of the electronic device (100) of FIGS. 1 to 12.
[0231] An operating method of an electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13) according to the present disclosure may include an operation of acquiring an input image, and performing image processing on the input image based on an image processing set set for the input image, wherein the image processing set includes a plurality of image processing operations to be sequentially executed, and may include an operation of identifying a request to stop the image processing on the input image while performing the image processing on the input image, and when the request to stop is identified, determining whether stopping the image processing on the input image is supported, and when stopping the image processing is supported, determining whether to stop the image processing based on a remaining image processing time required to complete the image processing, and when stopping the image processing is determined, storing state information indicating a state of stopping the image processing and an intermediate image acquired by the stopped image processing.
[0232] The method may include an operation of determining whether the interruption of image processing is supported, and an operation of determining whether at least one of the plurality of image processing operations included in the image processing set supports the interruption, and whether the interruption is supported for each of the plurality of image processing operations included in the image processing set may be preset.
[0233] The method may include an operation of determining whether to stop the image processing for the input image, and the operation of determining whether to stop the image processing for the input image may include an operation of determining whether to stop the image processing for the input image when the remaining time for the image processing is greater than a threshold time of an image processing set corresponding to the stop request, and an operation of determining not to stop the image processing for the input image when the remaining time for the image processing is less than the threshold time of the image processing set.
[0234] The method may include an operation of identifying a first image processing operation being performed by the image processing among the plurality of image processing operations included in the image processing set, as the interruption of the image processing is determined, and an operation of determining whether to complete the performance of the first image processing operation.
[0235] The method may further include an operation of stopping the image processing for the input image after completing the performance of the first image processing operation when it is determined to complete the performance of the first image processing operation, and an operation of stopping the image processing for the input image without completing the performance of the first image processing operation when it is determined not to complete the performance of the first image processing operation.
[0236] The method may further include an operation of storing first state information indicating that image processing has been performed on the input image up to the first image processing operation and a first intermediate image obtained according to the first image processing operation when it is determined to complete the performance of the first image processing operation, and an operation of storing second state information indicating that image processing has been performed on the input image up to the second image processing operation that has already been performed before performing the first image processing operation and a second intermediate image obtained according to the second image processing operation when it is determined not to complete the performance of the first image processing operation.
[0237] In the method, the operation of determining whether to complete the performance of the first image processing operation may be an operation of determining whether to complete the performance of the first image processing operation based on a first remaining time required to complete the first image processing operation and a threshold time of the image processing set corresponding to the stop request.
[0238] The operation of saving the intermediate image may include an operation of saving the intermediate image as a separate file, and the method may further include an operation of displaying the intermediate image as an image being processed with respect to the input image.
[0239] In the above method, the threshold time of the image processing set can be estimated based on the available resources of the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), and the threshold time of the image processing set can be preset in response to the stop request.
[0240] In the above method, a request to stop the image processing for the input image may occur when the available resources in the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13) are less than a threshold.
[0241] The method may include an operation of determining whether at least one of the plurality of image processing operations included in the image processing set supports resumption of the image processing for the input image, and may further include an operation of storing the input image if resumption of the image processing is not supported, and the operation of storing the state information and the intermediate image may be to store the state information and the intermediate image if resumption of the image processing is supported.
[0242] The method may further include an operation of resuming the image processing based on the state information and the intermediate image, wherein the operation of resuming the image processing may include an operation of identifying, based on the state information, at least one remaining image processing operation among the plurality of image processing operations in the image processing set, and an operation of performing the at least one remaining image processing operation on the intermediate image.
[0243] The method may include an action of displaying the input image on which the image processing is being performed, and may include an action of displaying an object indicating that the image processing is being performed together with the input image.
[0244] The method may include an action of displaying an object indicating that the image processing has been stopped, together with the intermediate image, as the image processing is stopped.
[0245] An electronic device according to the present disclosure (e.g., electronic device (100) of FIG. 1, electronic device (1301) of FIG. 13) may include a camera, a memory for storing commands (e.g., memory (1330) of FIG. 13, memory (1450) of FIG. 14), and one or more processors (e.g., processor (1320) of FIG. 13). In the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), when the instructions are executed, the one or more processors (e.g., the processor (1320) of FIG. 13) may acquire an input image, and perform image processing on the input image based on an image processing set set for the input image, wherein the image processing set includes a plurality of image processing operations to be sequentially executed, and while performing the image processing on the input image, identify a request to stop the image processing on the input image, and when the stop request is identified, determine whether the stop of the image processing on the input image is supported, and when the stop of the image processing is supported, determine whether to stop the image processing based on a remaining image processing time required to complete the image processing, and when the stop of the image processing is determined, store state information indicating a stop status of the image processing and an intermediate image obtained by the stopped image processing.
[0246] In the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), when the instructions are executed, the one or more processors (e.g., the processor (1320) of FIG. 13) determine whether at least one of the plurality of image processing operations included in the image processing set supports interruption, and if the remaining time of the image processing is greater than a threshold time of the image processing set corresponding to the interruption request, determine to interrupt image processing for the input image, and if the remaining time of the image processing is less than the threshold time of the image processing set, determine not to interrupt image processing for the input image, save the intermediate image as a separate file, and display the intermediate image as an image being processed for the input image, and whether interruption is supported for each of the plurality of image processing operations included in the image processing set may be preset.
[0247] In the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), the threshold time of the image processing set is estimated based on available resources of the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), the threshold time of the image processing set is preset in response to the interruption request, and the interruption request for the image processing for the input image may occur when the available resources of the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13) are less than the threshold.
[0248] In the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), when the instructions are executed, the one or more processors (e.g., the processor (1320) of FIG. 13) may identify a first image processing operation being performed by the image processing among the plurality of image processing operations included in the image processing set, as the interruption of the image processing is determined, and determine whether to complete the performance of the first image processing operation based on a first remaining time required to complete the first image processing operation and a threshold time of the image processing set corresponding to the interruption request.
[0249] In the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), when the instructions are executed, if it is determined to complete the performance of the first image processing operation, the one or more processors (e.g., the processor (1320) of FIG. 13) may stop the image processing for the input image after completing the performance of the first image processing operation, and store first status information indicating that image processing for the input image has been performed up to the first image processing operation, and a first intermediate image obtained according to the first image processing operation.
[0250] In the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), when the instructions are executed, the one or more processors (e.g., the processor (1320) of FIG. 13) may stop the image processing for the input image without completing the first image processing operation if it is determined not to complete the performance of the first image processing operation, and store second status information indicating that image processing for the input image has been performed up to a second image processing operation that has already been performed before performing the first image processing operation, and a second intermediate image obtained according to the second image processing operation.
[0251] In the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), when the instructions are executed, the one or more processors (e.g., the processor (1320) of FIG. 13) may determine whether at least one of the plurality of image processing operations included in the image processing set supports resumption of the image processing for the input image, and if the resumption of the image processing is not supported, store the input image, and, based on the state information, identify at least one remaining image processing operation among the plurality of image processing operations in the image processing set, and perform the at least one remaining image processing operation on the intermediate image to resume the image processing, and the operation of storing the state information and the intermediate image may be storing the state information and the intermediate image if the resumption of the image processing is supported.
[0252] In the electronic device (e.g., the electronic device (100) of FIG. 1, the electronic device (1301) of FIG. 13), the one or more processors (e.g., the processor (1320) of FIG. 13), when the instructions are executed, can display the input image on which the image processing is being performed, display an object indicating that the image processing is being performed together with the input image, and when the image processing is stopped, display an object indicating that the image processing has stopped together with the intermediate image.
[0253] An electronic device (100) according to various embodiments of the present disclosure enables efficient image processing within a range that does not impair user usability when processing images in an electronic device (100) with limited resources.
[0254] An electronic device (100) according to various embodiments of the present disclosure can be controlled to enable efficient use of the electronic device (100) by promptly stopping the processing of high-level, high-load images according to a user's request and / or a request of the electronic device (100).
[0255] An electronic device (100) according to various embodiments of the present disclosure can control to preserve data for a portion on which image processing has already been performed, and can enable resumption of accurate image processing for an image that has been interrupted during image processing, thereby efficiently controlling the electronic device (100) without data loss and enabling accurate image processing.
[0256] An electronic device (100) according to various embodiments of the present disclosure can separately store data in the form of a file when image processing is interrupted and / or for an intermediate image (102) generated during image processing, thereby presenting an image processing process to a user and enabling efficient image processing.
[0257] The methods according to the embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software.
[0258] When implemented in software, a computer-readable storage medium storing one or more programs (software modules) may be provided. The one or more programs stored in the computer-readable storage medium are configured for execution by one or more processors (e.g., processor 1320 of FIG. 13) within an electronic device. The one or more programs include instructions that cause the electronic device to execute methods according to embodiments described in the claims or specification of the present disclosure.
[0259] In the present disclosure, the functions or operations performed by the electronic device may be performed by one or more processors executing one or more instructions stored in a memory. The functions or operations of the electronic device mentioned in the present disclosure may be performed by one processor executing one or more instructions, or may be performed by a combination of multiple processors executing one or more instructions. The processor mentioned in the present disclosure may be understood to include circuitry for performing calculations or controlling other components of the electronic device. For example, the one or more processors may include a central processing unit (CPU), a microprocessor unit (MPU), an application processor (AP), a communication processor (CP), a neural processing unit (NPU), a system on a chip (SoC), or an integrated circuit (IC) configured to execute one or more instructions. The one or more processors may be configured to perform the operations of the electronic device described above.
[0260] In the present disclosure, a program (software module, software) may be stored in a non-volatile memory including a random access memory (RAM), a flash memory, a read only memory (ROM), an electrically erasable programmable read only memory (EEPROM), a magnetic disc storage device, a compact disc ROM (CD-ROM), digital versatile discs (DVDs) or other forms of optical storage devices, a magnetic cassette. Or, it may be stored in a memory formed by a combination of some or all of these. The memory may be formed by a single storage medium, or may be formed by a combination of a plurality of storage media. The one or more commands may be stored in a single storage medium, or may be distributed and stored in a plurality of storage media.
[0261] Additionally, the program may be stored on an attachable storage device that is accessible via a communication network such as the Internet, an intranet, a local area network (LAN), a wide LAN (WLAN), or a storage area network (SAN), or a combination thereof. Such a storage device may be connected to a device performing an embodiment of the present disclosure via an external port. Additionally, a separate storage device on the communication network may be connected to a device performing an embodiment of the present disclosure.
[0262] In the specific embodiments of the present disclosure described above, components included in the disclosure are expressed in the singular or plural form, depending on the specific embodiment presented. However, the singular or plural expressions are selected to suit the presented situation for convenience of explanation, and the present disclosure is not limited to singular or plural components. Components expressed in the plural form may be composed of singular elements, or components expressed in the singular form may be composed of plural elements.
[0263] Additionally, in the present disclosure, terms such as “part”, “module”, etc. may refer to a hardware component such as a processor or circuit, and / or a software component executed by a hardware component such as a processor.
[0264] A "component" or "module" may be implemented by a program stored in an addressable storage medium and executed by a processor. For example, a "component" or "module" may be implemented by components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
[0265] The specific implementations described in this disclosure are merely exemplary and do not limit the scope of the present disclosure in any way. For the sake of brevity, descriptions of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted.
[0266] Additionally, in the present disclosure, “comprising at least one of a, b, or c” may mean “comprising only a, including only b, including only c, or including a combination of two or more (including a and b, including b and c, including a and c, or including all of a, b, and c).
[0267] While the detailed description of this disclosure has described specific embodiments, it should be understood that various modifications are possible without departing from the scope of this disclosure. Therefore, the scope of this disclosure should not be limited to the described embodiments, but should be defined not only by the scope of the claims described below, but also by equivalents thereof.
Claims
1. In the method of operating an electronic device, The action of obtaining an input image; An operation of performing image processing on the input image based on an image processing set set for the input image, wherein the image processing set includes a plurality of image processing operations to be sequentially executed; An action of identifying a request to stop image processing for the input image while performing the image processing for the input image; An action of determining whether stopping the image processing for the input image is supported upon identifying the above interruption request; In a case where the interruption of the image processing is supported, an operation of determining whether to interrupt the image processing based on the remaining image processing time required to complete the image processing; and When the interruption of the image processing is determined, the operation of storing state information indicating the interruption status of the image processing and the intermediate image obtained by the interrupted image processing is included. method.
2. In paragraph 1, The operation of determining whether the interruption of the image processing is supported includes the operation of determining whether at least one of the plurality of image processing operations included in the image processing set supports the interruption, Whether or not to support interruption for each of the plurality of image processing operations included in the image processing set is preset. method.
3. In paragraph 1, The operation of determining whether to stop the image processing for the input image is as follows: An operation for determining to stop image processing for the input image when the remaining image processing time is greater than the threshold time of the image processing set corresponding to the stop request; and An operation for determining not to stop image processing for the input image when the remaining image processing time is less than the threshold time of the image processing set, The critical time of the image processing set is estimated based on the available resources of the electronic device, The threshold time of the above image processing set is preset in response to the above stop request, method.
4. In paragraph 1, As the above-mentioned interruption of the above-mentioned image processing is determined, an operation of identifying a first image processing operation being performed by the image processing among the plurality of image processing operations included in the image processing set; and Including an operation for determining whether to complete the performance of the first image processing operation, method.
5. In paragraph 4, When it is determined to complete the performance of the first image processing operation, an operation of stopping the image processing for the input image after completing the performance of the first image processing operation; and If it is determined not to complete the execution of the first image processing operation, further comprising an operation of stopping the image processing for the input image without completing the execution of the first image processing operation. method.
6. In paragraph 5, When it is decided to complete the execution of the first image processing operation, an operation of storing first status information indicating that image processing has been performed on the input image up to the first image processing operation and a first intermediate image obtained according to the first image processing operation; and If it is decided not to complete the execution of the first image processing operation, the method further includes storing second state information indicating that image processing has been performed on the input image up to the second image processing operation that has already been performed before performing the first image processing operation, and a second intermediate image obtained according to the second image processing operation. method.
7. In paragraph 5, The operation for determining whether to complete the above first image processing operation is: An operation for determining whether to complete the performance of the first image processing operation based on a first remaining time required to complete the first image processing operation and a threshold time of the image processing set corresponding to the stop request. method.
8. In paragraph 1, The action of saving the above intermediate image is: Includes an action of saving the above intermediate image as a separate file, The above method, Further comprising an action of displaying the intermediate image as an image being processed with respect to the input image. method.
9. In paragraph 3, The critical time of the image processing set is estimated based on the available resources of the electronic device, The threshold time of the above image processing set is preset in response to the above stop request, method 10. In paragraph 1, A request to stop the image processing for the input image occurs when the available resources in the electronic device are less than a threshold. method.
11. In paragraph 1, An operation of determining whether at least one of the plurality of image processing operations included in the image processing set supports resumption of the image processing for the input image; and If the resumption of the above image processing is not supported, further comprising an operation of saving the input image, The operation of storing the state information and the intermediate image is to store the state information and the intermediate image when the resumption of the image processing is supported. method.
12. In paragraph 1, Further comprising an operation of resuming the image processing based on the above state information and the intermediate image, The action of resuming the above image processing is: An operation of identifying at least one remaining image processing operation among the plurality of image processing operations in the image processing set based on the state information; and Comprising an operation of performing at least one residual image processing operation on the intermediate image; method.
13. In paragraph 1, An action of displaying the input image on which the image processing is being performed; An action of displaying an object indicating that the image processing is being performed together with the input image; and As the image processing is stopped, an action is included to display an object indicating that the image processing has been stopped together with the intermediate image. method.
14. In electronic devices, camera; memory that stores commands; and comprising one or more processors, The above instructions are executed by the one or more processors, so that the electronic device: Obtain the input image, Perform image processing on the input image based on an image processing set set for the input image, wherein the image processing set includes a plurality of image processing operations to be sequentially executed, While performing the image processing for the input image, identify a request to stop the image processing for the input image, Upon identifying the above interruption request, determine whether interruption of the image processing for the input image is supported, If the interruption of the image processing is supported, it is determined whether to interrupt the image processing based on the remaining image processing time required to complete the image processing, When the suspension of the image processing is determined, status information indicating the suspension status of the image processing and an intermediate image obtained by the suspended image processing are stored. Electronic devices.
15. In a computer-readable recording medium, The action of obtaining an input image; An operation of performing image processing on the input image based on an image processing set set for the input image, wherein the image processing set includes a plurality of image processing operations to be sequentially executed; An action of identifying a request to stop image processing for the input image while performing the image processing for the input image; An action of determining whether stopping the image processing for the input image is supported upon identifying the above interruption request; In a case where the interruption of the image processing is supported, an operation of determining whether to interrupt the image processing based on the remaining image processing time required to complete the image processing based on the image processing set; and A computer-readable recording medium having recorded thereon a program for executing a method including an operation of storing state information indicating a state of interruption of the image processing and an intermediate image obtained by the interrupted image processing, when the interruption of the image processing is determined.
Citation Information
Patent Citations
Electronic device and method for managing resource
KR1020150083713A
Interconnect structure and electronic device including the same
KR1020230115145A
Electronic appartus for providing callendar UI with image and thereof method
KR1020240084192A
Image forming apparatus, control method and computer-readable medium
US20120092686A1
Handling interrupts in data processing
US20130067133A1