Electronic device and method of managing editing object by using the same
By identifying and storing valid blocks of editable objects in electronic devices, the problem of insufficient storage space is solved, enabling efficient management of editing information and a simplified re-editing process.
Patent Information
- Application Number
- CN202480047767.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-07-20
- Filing Date
- 2024-07-09
- Publication Date
- 2026-02-17
AI Technical Summary
Existing electronic devices struggle to efficiently manage and store editing-related information after performing video editing functions, resulting in insufficient storage space and difficulties in re-editing.
By identifying the editing object, dividing it into valid and invalid blocks, and storing only the valid blocks, efficient compression and decompression of editing-related information can be achieved, optimizing storage space utilization.
It improves user convenience and storage space utilization when electronic devices perform editing functions, and simplifies the re-editing process.
Smart Images

Figure CN121548842A_ABST
Abstract
Description
Technical Field
[0001] Embodiments of this disclosure relate to an electronic device and a method for managing editing objects using the electronic device. Background Technology
[0002] Electronic devices with a camera module can provide various types of decorative effects (e.g., applying filters, tone correction, cropping, face correction, automatic correction, applying dual-mode filters, adding stickers, adding text (e.g., handwriting)) after capturing video (e.g., images, image frames). The electronic device can use editing functions to apply decorative effects, at least partially, to the captured video.
[0003] The information described above may be provided as relevant technology for the purpose of aiding understanding of this disclosure. No assertion or determination is made as to whether any of the above descriptions can be used as prior art in relation to this disclosure. Summary of the Invention
[0004] Technical issues
[0005] Electronic devices with camera modules can capture video (e.g., images) and perform editing functions for at least partially editing the captured video. The electronic device can perform editing functions on the captured video using various editing applications. For example, an application providing editing functions can store the original video and editing-related information separately, but additional editing of the editing-related information (e.g., correction, addition, deletion, alteration) can be difficult. When a secondary editing function is performed after the primary editing function, additional editing after the primary editing can be difficult. Even when secondary editing functions are provided, insufficient storage space may occur because both the editing information and the editing process associated with the primary editing are stored.
[0006] According to embodiments, the electronic device can store and manage the original video and editing-related information separately. The electronic device can provide a method for efficiently storing editing-related information in memory. The electronic device can efficiently compress editing-related information, including editing information and the editing process, and manage the compressed information by matching the compressed information with the original video. When a re-editing function is performed, the electronic device can quickly decompress the stored original video and editing-related information, improving the availability of re-editing (e.g., subsequent editing) functions.
[0007] In the case of re-editing an edited video, the electronic device can separately store the original video and editing-related information from the first editing stage, allowing modification of decorative effects applied during a previous editing stage (e.g., the first editing stage). For example, when re-editing, the electronic device can restore an edited video that reflects the editing-related information from the first editing stage based on the stored original video.
[0008] The electronic device can store each of the original video and editing-related information during the editing process, and can provide further editing of previously applied decorative effects when re-editing.
[0009] The technical problems to be solved in this disclosure are not limited to those described above, and other technical problems not described can be clearly understood by those skilled in the art based on the following description.
[0010] Solution to the problem
[0011] According to an embodiment, an electronic device may include a display, a memory configured to store one or more computer programs, and one or more processors operatively connected to the display and the memory. When the one or more computer programs are executed individually or jointly by the one or more processors, the programs may cause the electronic device to perform editing functions in response to a first image, identify editing objects added to the first image; determine the size of at least one block based on information about the editing objects; divide the editing objects based on the determined size of the at least one block; extract at least one significant block from the at least one block that at least partially comprises the editing objects; and store an integrated block generated based on the at least one significant block.
[0012] According to an embodiment, a method for managing editable objects may include: in response to performing an editing function on a first image, identifying editable objects added to the first image; determining the size of at least one block based on information about the editable objects; dividing the editable objects based on the determined size of at least one block; extracting at least one valid block from the at least one block that at least partially includes the editable objects; and storing an integrated block generated based on the at least one valid block.
[0013] According to embodiments, a non-transitory computer-readable storage medium (or computer program product) storing one or more programs may be described. According to embodiments, the one or more programs may include instructions that, when executed by a processor of an electronic device, perform: in response to performing an editing function on a first image, identify an editing object added to the first image; determine the size of at least one block based on information about the editing object; divide the editing object based on the at least one block having the determined size; extract at least one valid block from the at least one block that at least partially comprises the editing object; and generate an integrated block based on the at least one valid block.
[0014] Beneficial effects of the invention
[0015] According to embodiments, an electronic device can provide a method for efficiently compressing and decompressing original video and editing-related information while separately storing and managing them. For example, editing-related information may include various types of decorative effects, such as applying effects based on the original video configuration (e.g., filter application, tone correction, color correction), or additionally input editing objects (e.g., drawing objects, stickers, text, speech bubbles). When managing editing objects, the electronic device can divide the editing objects into valid blocks and insignificant blocks based on their characteristics, and extract only the valid blocks for compression.
[0016] According to embodiments, the electronic device can efficiently determine the size of blocks when classifying editable objects into valid and invalid blocks, and perform operations such as compressing or decompressing blocks classified as valid. The electronic device can integrate and manage only the blocks corresponding to valid blocks separately, and efficiently utilize storage space. The electronic device can determine the block size and memory storage space in an optimized manner, and improve user convenience when performing editing functions.
[0017] According to embodiments, the electronic device can perform additional editing functions following the editing sequence of previous editing steps, and provides "undo" and "redo" functions based on the editing functions. By managing editing-related information separately, the electronic device can efficiently utilize memory storage space and perform compression and decompression operations on editing-related information more quickly. The electronic device can improve user convenience when performing video editing functions.
[0018] The effects that can be obtained from this disclosure are not limited to those described above, and other effects not described will be clearly understood by those skilled in the art to which this disclosure pertains based on the following description. Attached Figure Description
[0019] In conjunction with the description of the accompanying drawings, the same or similar reference numerals may be used for the same or similar parts.
[0020] Figure 1 This is a block diagram illustrating an electronic device in a network environment according to an embodiment of the present disclosure.
[0021] Figure 2 This is a block diagram illustrating an electronic device according to an embodiment of the present disclosure.
[0022] Figure 3 This is an exemplary diagram illustrating an edit object management process according to an embodiment of the present disclosure.
[0023] Figure 4 This is an exemplary diagram illustrating an editing object application process according to an embodiment of the present disclosure.
[0024] Figure 5 This is a flowchart illustrating a method for managing and editing objects according to an embodiment of the present disclosure.
[0025] Figure 6 This is an exemplary diagram illustrating a method for extracting at least one editable object from an image or video according to an embodiment of the present disclosure.
[0026] Figure 7a This is a figure illustrating Example 1-1 of a method for determining the size of a block based on an editable object according to an embodiment of the present disclosure.
[0027] Figure 7b The figures are examples 1-2 illustrating a method for integrating and managing extracted valid blocks according to embodiments of the present disclosure.
[0028] Figure 8a This is a figure illustrating Example 2-1 of a method for determining the size of a block based on an editable object according to an embodiment of the present disclosure.
[0029] Figure 8b This is a figure illustrating Example 2-2 of a method for integrating and managing extracted valid blocks according to embodiments of the present disclosure.
[0030] Figure 9a This is a figure 3-1 illustrating an example of a method for combining a first integration block based on a first editing object and a second integration block based on a second editing object into a single block and managing the composite block according to an embodiment of the present disclosure.
[0031] Figure 9b This is a figure 3-2 illustrating an example of a method for managing remaining storage areas based on the size difference of blocks when merging multiple integrated blocks into a single block, according to an embodiment of the present disclosure. Detailed Implementation
[0032] Embodiments of this disclosure will be described in detail below with reference to the accompanying drawings to enable those skilled in the art to easily implement this disclosure. However, this disclosure can be implemented in many different forms and is not limited to the embodiments described herein. In the description taken in conjunction with the accompanying drawings, the same or similar reference numerals may be used for the same or similar elements. Furthermore, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and brevity.
[0033] Figure 1 This is a block diagram illustrating an electronic device 101 in a network environment 100 according to various embodiments. Reference Figure 1In network environment 100, electronic device 101 can communicate with electronic device 102 via a first network 198 (e.g., a short-range wireless communication network), or with at least one of electronic device 104 or server 108 via a second network 199 (e.g., a long-range wireless communication network). According to an embodiment, electronic device 101 can communicate with electronic device 104 via server 108. According to an embodiment, electronic device 101 may include a processor 120, memory 130, input module 150, sound output module 155, display module 160, audio module 170, sensor module 176, interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, user identification module (SIM) 196, or antenna module 197. In some embodiments, at least one of the above components (e.g., connection terminal 178) may be omitted from electronic device 101, or one or more other components may be added to electronic device 101. In some embodiments, some of the components described above (e.g., sensor module 176, camera module 180, or antenna module 197) may be implemented as a single integrated component (e.g., display module 160) 11.
[0034] Processor 120 can execute, for example, software (e.g., program 140) to control at least one other component (e.g., hardware or software component) of electronic device 101 connected to processor 120, and can perform various data processing or calculations. According to embodiments, as at least part of the data processing or calculations, processor 120 can store commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132, process the commands or data stored in volatile memory 132, and store the result data in non-volatile memory 134. According to embodiments, processor 120 may include a main processor 121 (e.g., central processing unit (CPU) or application processor (AP)) or an auxiliary processor 123 (e.g., graphics processing unit (GPU), neural processing unit (NPU), image signal processor (ISP), sensor central processor, or communication processor (CP)) that is operationally independent of or combined with the main processor 121. For example, when electronic device 101 includes a main processor 121 and an auxiliary processor 123, the auxiliary processor 123 can be adapted to consume less power than the main processor 121, or adapted to be dedicated to a specific function. The auxiliary processor 123 can be implemented separately from the main processor 121, or as part of the main processor 121.
[0035] When the main processor 121 is inactive (e.g., in sleep) state, the auxiliary processor 123 (rather than the main processor 121) can control at least some of the functions or states associated with at least one component of the electronic device 1011 (e.g., display module 160, sensor module 176, or communication module 190), or when the main processor 121 is active (e.g., executing an application), the auxiliary processor 123 can work with the main processor 121 to control at least some of the functions or states associated with at least one component of the electronic device 101 (e.g., display module 160, sensor module 176, or communication module 190). According to embodiments, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) can be implemented as part of another component (e.g., camera module 180 or communication module 190) functionally associated with the auxiliary processor 123. According to embodiments, the auxiliary processor 123 (e.g., a neural processing unit) can include hardware architectures dedicated to artificial intelligence model processing. Artificial intelligence models can be generated through machine learning. For example, such learning can be performed via electronic device 101 where artificial intelligence is performed or via a separate server (e.g., server 108). The learning algorithm can include, but is not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The artificial intelligence model can include multiple layers of artificial neural networks. The artificial neural network can be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), or a deep Q-network, or a combination of two or more thereof, but is not limited thereto. Additionally or optionally, the artificial intelligence model can include software structures in addition to hardware structures.
[0036] Memory 130 may store various data used by at least one component of electronic device 101 (e.g., processor 120 or sensor module 176). The various data may include, for example, software (e.g., program 140) and input or output data for commands associated with it. Memory 130 may include volatile memory 132 or non-volatile memory 134.
[0037] The program 140 can be stored as software in the memory 130, and the program 140 may include, for example, an operating system (OS) 142, middleware 144, or application 146.
[0038] Input module 150 can receive commands or data from outside electronic device 101 (e.g., a user) that will be used by other components of electronic device 101 (e.g., processor 120). Input module 150 may include, for example, a microphone, mouse, keyboard, keys (e.g., buttons), or digital pen (e.g., stylus).
[0039] The audio output module 155 can output audio signals to the outside of the electronic device 101. The audio output module 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as playing multimedia or playing records. The receiver can be used to receive incoming calls. According to embodiments, the receiver can be implemented separately from the speaker, or as part of the speaker.
[0040] Display module 160 can visually provide information to the outside of electronic device 101 (e.g., to a user). Display device 160 may include, for example, a display, a holographic device, or a projector, and control circuitry for controlling a respective one of the display, holographic device, and projector. According to an embodiment, display module 160 may include a touch sensor adapted to detect touch or a pressure sensor adapted to measure the intensity of the force caused by touch.
[0041] The audio module 170 can convert sound into electrical signals and vice versa. According to an embodiment, the audio module 170 can obtain sound via the input module 150, or output sound via the sound output module 155 or headphones of an external electronic device (e.g., electronic device 102) that is directly (e.g., wired) or wirelessly connected to the electronic device 101.
[0042] Sensor module 176 can detect the operating state of electronic device 101 (e.g., power or temperature) or the environmental state outside electronic device 101 (e.g., user state), and then generate an electrical signal or data value corresponding to the detected state. According to embodiments, sensor module 176 may include, for example, a gesture sensor, gyroscope sensor, atmospheric pressure sensor, magnetic sensor, accelerometer, grip sensor, proximity sensor, color sensor, infrared (IR) sensor, biometric sensor, temperature sensor, humidity sensor, or illuminance sensor.
[0043] Interface 177 may support one or more specific protocols used to enable electronic device 101 to connect directly (e.g., wired) or wirelessly to external electronic devices (e.g., electronic device 102). According to embodiments, interface 177 may include, for example, a High Definition Multimedia Interface (HDMI), a Universal Serial Bus (USB) interface, a Secure Digital Card (SD) interface, or an audio interface.
[0044] Connection end 178 may include a connector, through which electronic device 101 can be physically connected to an external electronic device (e.g., electronic device 102). According to embodiments, connection end 178 may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0045] The haptic module 179 can convert electrical signals into mechanical stimuli (e.g., vibration or motion) or electrical stimuli that can be recognized by a user through his touch or kinesthesia. According to embodiments, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0046] Camera module 180 can capture still or moving images. According to an embodiment, camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
[0047] The power management module 188 manages the power supply to the electronic device 101. According to an embodiment, the power management module 188 may be implemented as at least part of, for example, a power management integrated circuit (PMIC).
[0048] Battery 189 can power at least one component of electronic device 101. According to an embodiment, battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable rechargeable battery, or a fuel cell.
[0049] Communication module 190 can support the establishment of a direct (e.g., wired) or wireless communication channel between electronic device 101 and external electronic devices (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. Communication module 190 may include one or more communication processors capable of operating independently of processor 120 (e.g., application processor (AP)) and supporting direct (e.g., wired) or wireless communication. According to embodiments, communication module 190 may include wireless communication module 192 (e.g., cellular communication module, short-range wireless communication module, or Global Navigation Satellite System (GNSS) communication module) or wired communication module 194 (e.g., local area network (LAN) communication module or power line communication (PLC) module). One of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Bluetooth, Wi-Fi Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a traditional cellular network, 5G network, next-generation communication network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip) or as multiple components separate from each other (e.g., multiple chips). The wireless communication module 192 can identify and verify the electronic device 101 in the communication network (such as the first network 198 or the second network 199) using user information (e.g., the International Mobile Subscriber Identity (IMSI)) stored in the user identification module 196.
[0050] Wireless communication module 192 can support 5G networks following 4G networks and next-generation communication technologies (such as new radio (NR) access technologies). NR access technologies can support enhanced mobile broadband (eMBB), massive machine-type communication (mMTC), or ultra-reliable low-latency communication (URLLC). Wireless communication module 192 can support high-frequency bands (e.g., millimeter-wave bands) to achieve, for example, high data transmission rates. Wireless communication module 192 can support various technologies used to ensure performance in high-frequency bands, such as, for example, beamforming, massive MIMO, full-dimensional MIMO (FD-MIMO), array antennas, analog beamforming, or massive antennas. Wireless communication module 192 can support various requirements specified in electronic device 101, external electronic devices (e.g., electronic device 104), or network systems (e.g., second network 199). According to an embodiment, the wireless communication module 192 may support peak data rates (e.g., 20 Gbps or greater) for implementing eMBB, lost coverage (e.g., 164 dB or less) for implementing mMTC, or U-plane latency (e.g., 0.5 ms or less for each of the downlink (DL) and uplink (UL), or 1 ms or less round trip) for implementing URLLC.
[0051] Antenna module 197 can transmit or receive signals or power to or from the outside of electronic device 101 (e.g., external electronic device). According to an embodiment, antenna module 197 may include an antenna comprising a radiating element formed of a conductive material or conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, antenna module 197 may include multiple antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication scheme used in a communication network (such as a first network 198 or a second network 199) can be selected from the multiple antennas by, for example, communication module 190 (e.g., wireless communication module 192). Signals or power can then be transmitted or received between communication module 190 and the external electronic device via the selected at least one antenna. According to an embodiment, additional components besides the radiating element (e.g., a radio frequency integrated circuit (RFIC)) may be additionally incorporated into antenna module 197.
[0052] According to various embodiments, antenna module 197 can form a millimeter-wave antenna module. According to embodiments, the millimeter-wave antenna module may include a printed circuit board, a radio frequency integrated circuit (RFIC), and multiple antennas (e.g., an array antenna), wherein the RFIC is disposed on or adjacent to a first surface (e.g., a bottom surface) of the printed circuit board and is capable of supporting a specified high-frequency band (e.g., a millimeter-wave band), and the multiple antennas are disposed on or adjacent to a second surface (e.g., a top or side surface) of the printed circuit board and are capable of transmitting or receiving signals in the specified high-frequency band.
[0053] At least some of the aforementioned components can be interconnected and communicate signals (e.g., commands or data) between them via an inter-peripheral communication scheme (e.g., bus, general purpose input / output (GPIO), serial peripheral interface (SPI), or mobile industrial processor interface (MIPI)).
[0054] According to an embodiment, commands or data can be sent or received between electronic device 101 and external electronic device 104 via server 108 connected to a second network 199. Each of electronic device 102 or electronic device 104 can be a device of the same type as electronic device 101, or a device of a different type. According to an embodiment, all or some operations to be performed on electronic device 101 can be performed on one or more of external electronic devices 102, external electronic devices 104, or server 108. For example, if electronic device 101 is required to automatically perform a function or service, or is required to perform a function or service in response to a request from a user or another device, electronic device 101 may request the one or more external electronic devices to perform at least a portion of the function or service, instead of performing the function or service itself, or electronic device 101 may request the one or more external electronic devices to perform at least a portion of the function or service in addition to performing the function or service. Upon receiving the request, the one or more external electronic devices may perform the requested at least portion of the function or service, or perform additional functions or services related to the request, and transmit the result of the execution to electronic device 101. Electronic device 101 may provide the result as at least a partial response to the request, with or without further processing of the result. For this purpose, technologies such as cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing may be used. Electronic device 101 may use, for example, distributed computing or mobile edge computing to provide ultra-low latency services. In another embodiment, external electronic device 104 may include an Internet of Things (IoT) device. Server 108 may be an intelligent server using machine learning and / or neural networks. According to embodiments, external electronic device 104 or server 108 may be included in a second network 199. Electronic device 101 can be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology or IoT-related technologies.
[0055] Figure 2 This is a block diagram illustrating an electronic device according to an embodiment of the present disclosure.
[0056] Figure 2 Electronic device 101 (e.g., Figure 1 The electronic device 101 may be at least partially similar to Figure 1The electronic device 101 may include other components of the electronic device. For example, the electronic device 101 may have an application installed to provide editing functions for video or images (e.g., image frames). The electronic device 101 may apply specific effects to an image, or may additionally input an editable object (e.g., a decorative object) into a portion of the image.
[0057] According to an embodiment, the electronic device 101 can use a camera (e.g., Figure 1 The video captured by the camera module 180 (e.g., raw images, pictures, image frames) or stored in memory (e.g., Figure 1 At least one of the images in the memory (130) is used to perform an editing function. For example, the editing function may include the ability to apply a specific effect (e.g., sepia, black and white, emphasis) to a video (e.g., an image), or the ability to add an editable object (e.g., a sticker, a cutout image, a speech bubble, text, drawing input, pen input) to a portion of the video.
[0058] refer to Figure 2 Electronic device 101 may include a processor (e.g., Figure 1 The processor 120), memory (e.g., Figure 1 The memory 130), the display (e.g., Figure 1 The display module 160) and / or communication circuitry (e.g., Figure 1 (Communication module 190). For example, the processor 120 of the electronic device 101 may be operatively or electrically connected to the memory 130, the display 160, and the communication circuit 190.
[0059] According to an embodiment, processor 120 may include at least one processor containing processing circuitry. According to an embodiment, memory 130 may store instructions that can be executed individually or jointly by processor 120 (e.g., at least one processor).
[0060] According to an embodiment, the processor 120 of the electronic device 101 can execute a program stored in the memory 130 (e.g., Figure 1 The processor 120 (program 140) controls at least one other component (e.g., hardware or software component) and performs various data processing or operations. For example, the processor 120 can execute an application that provides editing functions for images (e.g., video, image frames). Based on the application, the processor 120 can apply specific effects to the image, or can additionally input an editable object (e.g., a decorative object) into a portion of the image. For example, the processor 120 can additionally input an editable object into the image by executing editing functions.
[0061] According to an embodiment, the processor 120 may include an edit object management module 201 for managing editable objects, and the edit object management module 201 may perform editing functions related to the editable objects. For example, in response to performing editing functions, the edit object management module 201 may perform operations such as generating an editable object, inputting an editable object into an image, or removing an editable object added to an image. The edit object management module 201 may perform operations such as storing an editable object in a memory 130, or loading an editable object stored in a memory 130. According to an embodiment, the electronic device 101 may perform various functions related to the editable objects under the control of the edit object management module 201.
[0062] According to an embodiment, memory 130 may include storage for data based on the use of a camera (e.g., Figure 1 The memory 130 may include an original image storage area 211 for storing the original images (e.g., a first image) of the video (e.g., images, image frames) captured by the camera module 180. The memory 130 may include an edit object storage area 212 for storing edit objects performed according to the editing function. The memory 130 may include a metadata storage area 213 for storing editing metadata related to the edit objects performed according to the editing function. (See reference) Figure 2 The memory 130 can be divided into a raw image storage area 211, an editable object storage area 212, and a metadata storage area 213, but is not limited thereto.
[0063] According to embodiments, the original image storage area 211, the edit object storage area 212, and the metadata storage area 213 can be physically separate storage spaces of the memory 130, or they can be logically separate storage spaces. According to embodiments, the electronic device 101 can differentiate and store the original image storage area 211, the edit object storage area 212, and the metadata storage area 213 based on a separate additional memory (not shown) instead of the memory 130. According to embodiments, the electronic device 101 can be based on an external device (e.g., a server). Figure 1 The storage space of a server (108) or a cloud server (e.g., the storage space of a cloud server) is used to distinguish the original image storage area 211, the edit object storage area 212, and the metadata storage area 213.
[0064] According to an embodiment, when an editing function is performed on a first image, the electronic device 101 can distinguish between the first image and editing information based on the editing function, and store the first image and the editing information separately. For example, the editing information may include an editing object and editing metadata (e.g., editing metadata) associated with the editing object. For example, the first image may be stored in the original image storage area 211, the editing object in the editing information may be stored in the editing object storage area 212, and the editing metadata in the editing information may be stored in the metadata storage area 213.
[0065] According to an embodiment, the processor 120 may store a first image (e.g., an original image) executed according to the editing function and a first editing object additionally input to the first image in the memory 130. For example, the processor 120 may store the first image in the original image storage area 211 and store the first editing object additionally input to the first image in the editing object storage area 212. The processor 120 may store first editing metadata associated with the first editing object in the metadata storage area 213. According to an embodiment, in addition to the memory 130, the processor 120 may distinguish and store the first image, the first editing object, and the first editing metadata based on the storage space of a server (e.g., a cloud server) as an external device. According to an embodiment, when loading the first image, the processor 120 may identify the first editing object and the first editing metadata corresponding to the first image.
[0066] According to an embodiment, when a re-editing function is performed on a first image, the processor 120 can identify a first editing object and first editing metadata corresponding to the first image, and input the first editing object into the first image based on the first editing object and the first editing metadata.
[0067] According to an embodiment, when an editable object based on an editing function is stored in the editable object storage area 212, the processor 120 can divide the entire display area of the editable object into multiple blocks and classify the multiple blocks into valid blocks and invalid blocks. For example, the processor 120 can configure the first display area in a rectangular shape based on the size of the editable object. When the editable object is completely included in the first display area, the processor 120 can determine the first display area as the entire display area of the editable object. According to an embodiment, the processor 120 can divide the entire display area including the editable object into multiple blocks. For example, the processor 120 can divide the entire display area of the editable object into multiple blocks having substantially the same size. As another example, the processor 120 can dynamically divide the entire display area of the editable object into blocks whose size (e.g., block size) and shape are adjusted according to the size and shape of the editable object. According to an embodiment, the multiple blocks are not limited to blocks having the same size, and the size and shape of the multiple blocks can be adjusted according to the size and shape of the editable object. For example, a valid block may include a block that contains at least a portion of the editable object. An invalid block may include a block that does not contain the editable object. According to an embodiment, the electronic device 101 can identify block coordinate information corresponding to each of a plurality of blocks, and identify edit object coordinate information corresponding to an edit object. For example, if the block coordinate information and the edit object coordinate information at least partially match, the corresponding block can be classified as a valid block. If the block coordinate information and the edit object coordinate information do not match, the corresponding block can be classified as an invalid block. According to an embodiment, among a plurality of blocks included in the entire display area, the remaining blocks excluding valid blocks can be classified as invalid blocks. According to an embodiment, an invalid block can include at least three blocks having the same pixel value. According to an embodiment, an invalid block can include a block containing pixel information with a fully transparent value (e.g., ARGB (00000000)).
[0068] According to an embodiment, processor 120 can extract at least one first valid block classified as a valid block based on a first edit object, and classify the at least one extracted first valid block as a valid block corresponding to the first edit object. For example, the first edit object can be input based on a layer. Electronic device 101 can arrange at least one first valid block classified as a valid block side by side and perform an integration operation to integrate the arranged valid blocks into a single block, thereby generating a first integrated block. According to an embodiment, processor 120 can perform a compression operation on the first integrated block corresponding to the first edit object. Processor 120 can generate compressed data (e.g., the first integrated block) through the compression operation and store the compressed data in the edit object storage area 212.
[0069] According to an embodiment, when a first edit object is input and a second edit object is input after the execution of the editing function, the processor 120 can generate a first integrated block corresponding to the first edit object and a second integrated block corresponding to the second edit object. For example, when a first integrated block corresponding to the first edit object and a second integrated block corresponding to the second edit object are identified (e.g., when multiple integrated blocks are identified), the processor 120 can generate a third integrated block based on the first and second integrated blocks and perform a compression operation on the third integrated block. The processor 120 can generate compressed data (e.g., the third integrated block) through the compression operation and store the compressed data in the edit object storage area 212.
[0070] According to an embodiment, when multiple editing objects (e.g., a first editing object, a second editing object) are added to a first image (e.g., the original image) according to the execution of an editing function, the electronic device 101 can distinguish and identify the first image and the multiple editing objects. For example, the electronic device 101 can use a detection technique that identifies the background image and the subject (e.g., the first image) separately when separating the background image (e.g., the first image) and the subject (e.g., the editing objects), and distinguish and identify the first image corresponding to the background image and the multiple editing objects corresponding to the subject.
[0071] According to an embodiment, when multiple editable objects (e.g., a first editable object, a second editable object) are added to a first image (e.g., the original image) according to the execution of an editing function, the electronic device 101 can hierarchically distinguish between the first editable object and the second editable object. For example, when the first editable object is added first, the electronic device 101 can input the first editable object based on the first layer. After the first editable object is added, when the second editable object is added, the electronic device 101 can input the second editable object based on the second layer. For example, the first and second layers can be configured based on the size of the first image and divided into multiple blocks. According to an embodiment, the multiple blocks may include pixel information with fully transparent values (e.g., ARGB (00000000)). According to an embodiment, it is not limited to each layer including one editable object. For example, multiple editable objects may be input based on one layer.
[0072] According to an embodiment, when a first edit object is input based on a first layer, blocks including at least a portion of the first edit object may include pixel information of specific values and are classified as valid blocks. According to an embodiment, when a first edit object is input based on a first layer, blocks excluding the first edit object may include pixel information of fully transparent values (e.g., ARGB (00000000)) and are classified as invalid blocks. Invalid blocks may include remaining blocks excluding valid blocks. For example, electronic device 101 may extract a first valid block corresponding to the first edit object based on a first layer, and extract a second valid block corresponding to a second edit object based on a second layer. Electronic device 101 may allow input of each edit object for each layer, and distinguish and identify the first edit object for the first layer and the second edit object for the second layer, even if the edit objects visually overlap each other.
[0073] According to an embodiment, processor 120 can acquire coordinate information corresponding to valid and invalid blocks, and generate index information for each block based on the acquired coordinate information. For example, processor 120 can extract valid and invalid blocks based on the index information, and identify the position of each block based on the index information. In response to performing a re-editing function, processor 120 can identify the position of the edited object based on the index information of the valid blocks constituting the edited object when adding the edited object to a first image (e.g., the original image). Processor 120 can also input the edited object into the first image and display it via a display (e.g., [image display]). Figure 1 The display module 160 displays the user interface based on the re-editing function.
[0074] According to an embodiment, processor 120 can extract valid blocks corresponding to the edit object when storing the edit object in memory 130, and generate an integrated block based on the extracted valid blocks. Electronic device 101 can compress the generated integrated block and store the compressed information (e.g., compressed data) in edit object storage area 212. According to an embodiment, information related to the edit object refers to editing metadata, and the editing metadata can be stored in metadata storage area 213 of memory 130. Editing metadata may include at least one of the following: size information, position information, coordinate information, tilt information, color information, brightness information, block size information, valid block information, invalid block information, input time information, input order information, or index information corresponding to the edit object.
[0075] According to an embodiment, processor 120 can extract only the valid blocks corresponding to the edited object, perform compression operations in the form of integrated blocks, and reduce the data volume of the edited object. For example, a first compressed data in which only the valid blocks of the edited object are compressed and stored may have a relatively smaller data volume than a second compressed data in which the entire image including the edited object (e.g., both valid and invalid blocks) is compressed and stored. According to an embodiment, because the first compressed data has a relatively smaller capacity than the second compressed data, the first time required for the compression and decompression operations of the first compressed data can be relatively reduced compared to the second time required for the compression and decompression operations of the second compressed data. According to an embodiment, because the first compressed data has a relatively smaller capacity than the second compressed data, the storage space of memory 130 can be utilized efficiently. According to an embodiment, because electronic device 101 performs compression operations by extracting only the valid blocks of the edited object and performs decompression operations on the compressed data consisting only of valid blocks, the loading and processing time of the edited object may be relatively fast. According to an embodiment, in electronic device 101, since multiple blocks are integrated and generated into a single integrated block, the number of compression and decompression operations can be reduced, and the processing time for compression and decompression operations can be reduced. According to an embodiment, user convenience in executing editing functions can be improved.
[0076] According to an embodiment, electronic device 101 can distinguish and identify a first image (e.g., an original image), an editable object, and editing metadata associated with the editable object, and store them separately in different storage areas. According to an embodiment, when a re-editing function is performed on the first image, processor 120 can separately load the first image, the first editable object input to the first image, and the first editing metadata associated with the first editable object. Processor 120 can further input the first editable object into the first image based on the first editing metadata. When the re-editing function is performed, processor 120 can display the object on a screen (e.g., a monitor). Figure 1 The display module 160 displays an edited image that reflects the previously edited function (e.g., an edited image into which the first edit object was input).
[0077] According to an embodiment, the electronic device 101 can execute a second editing function (e.g., a re-editing function) after the first editing function is completed (e.g., after storing the first editing metadata), and update the first editing metadata based on the execution of the first editing function. For example, the electronic device 101 can load the first editing metadata when executing the second editing function, and add second editing metadata based on the first editing metadata according to the second editing function. According to an embodiment, the electronic device 101 can manage and store the editing metadata for each version according to the number of editing functions. According to an embodiment, the electronic device 101 can load editing metadata based on a specific version when executing an editing function, and display an edited image reflecting the loaded editing metadata.
[0078] According to an embodiment, processor 120 can display the user interface (UI) of an application providing editing functions via display 160 in response to executing the application. Processor 120 can display a first image (e.g., an original image) in response to executing the editing function, and additionally input at least one editable object. According to an embodiment, processor 120 can identify coordinate information corresponding to a display area based on display 160, and when at least one editable object is input, processor 120 can obtain coordinate information corresponding to the position of the at least one editable object. Processor 120 can store and manage information related to at least one editable object (e.g., at least one of size information, position information, coordinate information, tilt information, color information, brightness information, block size information, valid block information, invalid block information, input time information, input order information, or index information corresponding to the editable object) as editing metadata. According to an embodiment, processor 120 can distinguish and manage first editing metadata based on a first editing function and second editing metadata based on a second editing function. According to an embodiment, after executing the first editing function, when executing the second editing function, processor 120 can reflect added or changed information based on the first editing metadata and generate second editing metadata. The processor 120 can distinguish and manage first editing metadata and second editing metadata, and return to the first edited image when completing a first editing function based on the first editing metadata, or return to the second edited image when completing a second editing function based on the second editing metadata. According to an embodiment, the electronic device 101 can support a rollback function based on the editing function.
[0079] According to an embodiment, the processor 120 can perform communication with external electronic devices (e.g., via the communication circuit 190) Figure 1The processor 120 communicates with the external electronic devices 102 and 104 and the server 108 via network communication. For example, the processor 120 can share data (e.g., data related to editing functions) with the external electronic device via communication circuit 190. The processor 120 can provide the external electronic device with the edited image executed according to the first editing function. For example, the edited image may include a first image (e.g., the original image) stored in the original image storage area 211, an edited object stored in the edited object storage area 212, and edited metadata stored in the metadata storage area 213. The processor 120 can send the first image, the edited object, and the edited metadata separately to the external electronic device so that they are distinguishable. For example, in the case where the external electronic device performs a re-editing function, a second editing function can be executed after the editing process executed according to the first editing function.
[0080] According to an embodiment, processor 120 can acquire editing objects and editing metadata related to the first image from an external electronic device via communication circuit 190. For example, when performing editing functions on the first image, processor 120 can reflect the acquired editing objects and editing metadata based on the first image. Processor 120 can perform additional editing functions after the editing process performed on the external electronic device.
[0081] According to an embodiment, electronic device 101 can distinguish and manage the original image (e.g., the image before the execution of the editing function) and the editing information generated by the execution of the editing function. For the same original image, electronic device 101 can store first editing information executed according to a first editing function and second editing information executed according to a second editing function. For example, the second editing information may include additional editing information generated based on the first editing information. According to an embodiment, the editing information may include information about an editing object additionally input into the original image and editing metadata associated with that editing object. For example, the editing metadata (e.g., editing metadata) may include index information indicating multiple editing operations that occur during the editing process according to the execution of the editing function and the order in which the multiple editing operations occur. According to an embodiment, electronic device 101 can separately distinguish the original image (e.g., the first image), the editing object, and the editing metadata and store them in memory 130.
[0082] According to an embodiment, the electronic device 101 can separately store a first image (e.g., an original image), the editable object, and editing metadata. When a re-editing function is performed, the processor 120 can identify the editing order processed in the previous editing function based on the editing metadata and perform an "undo" and a "redo" function. For example, if a second editing function is performed after a first editing function, the processor 120 can, based on the edited image in which the first editing object was additionally input into the first image according to the second editing function, additionally input a second editing object according to the second editing function.
[0083] According to an embodiment, when adding editable objects to the original image based on the execution of an editing function, the electronic device 101 can store or manage the editable objects separately. Since the amount of data is reduced by compressing the editable objects, the electronic device 101 can reduce the time required to store the compressed editable objects in the memory 130. Even when loading an edited image to which editing functions have been previously applied, the electronic device 101 can reduce the loading time based on the execution of a re-editing (e.g., subsequent editing) function. The amount of compressed data used to store the editable objects can be reduced, and the time required to store or load the editable objects can be reduced. According to an embodiment, user convenience based on the execution of editing functions can be improved.
[0084] According to an embodiment, electronic devices (e.g., Figure 1 and Figure 2 The electronic device 101 may include a display (e.g., Figure 1 The display module 160), and the memory for storing one or more computer programs (e.g., Figure 1 and Figure 2 The display 160 and the memory 130 are connected to one or more processors 120. According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs can cause the electronic device 101 to perform editing functions in response to an image, identify editing objects added to the image, determine the size of at least one block based on information about the editing objects, divide the editing objects based on the determined size of at least one block, extract at least one valid block from the at least one block that at least partially includes the editing objects, and store an integrated block generated based on the at least one valid block.
[0085] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs may cause the electronic device 101 to compress the generated integrated block to generate at least one compressed data, and store the generated at least one compressed data corresponding to the first image in the memory 130.
[0086] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs can cause the electronic device 101 to perform a re-editing function in response to a first image, identify at least one compressed data corresponding to the first image, decompress the identified at least one compressed data to identify an integrated block, identify at least one editable object included in the integrated block, and add at least one editable object to the first image.
[0087] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs can cause the electronic device 101 to determine the size of at least one block based on the thickness of the pen when the object being edited is a drawing object generated based on pen input.
[0088] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs can cause the electronic device 101 to determine the size of at least one block based on the pre-configured size corresponding to the sticker object when the object being edited is a pre-configured sticker object.
[0089] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs can cause the electronic device 101 to determine the size of at least one block based on the size of the text object when the object being edited is a text object, and to determine the size of at least one block based on the size of the speech bubble when the object being edited is a speech bubble object.
[0090] According to an embodiment, at least one valid block may include a block whose pixel information is at least partially changed by inputting an edit object based on pixel information from a first image.
[0091] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs may cause the electronic device 101 to extract, based on an edit object divided into at least one block, the remaining blocks excluding at least one valid block as at least one invalid block.
[0092] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs can cause electronic device 101 to identify a first integrated block generated based on a first edit object in the edit objects and having first index information. Processor 120 can identify a second integrated block generated based on a second edit object in the edit objects and having second index information. Processor 120 can generate a third integrated block with third index information based on the first and second integrated blocks.
[0093] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs can cause electronic device 101 to determine a third size of a third integrated block based on a first size of a first integrated block and a second size of a second integrated block, and generate a third integrated block based on the third size.
[0094] According to an embodiment, when one or more computer programs are executed individually or jointly by one or more processors 120, the programs can cause the electronic device 101 to perform a re-editing function in response to a first image, identify at least one compressed data corresponding to the first image, decompress the identified at least one compressed data to identify an integrated block included in the at least one compressed data, recover at least one editable object based on at least one valid block included in the identified integrated block, and input the recovered at least one editable object into the first image.
[0095] Figure 3 This is an exemplary diagram illustrating an edit object management process according to an embodiment of the present disclosure.
[0096] In the following embodiments, each operation may be performed sequentially, but not necessarily sequentially. For example, the order of each operation can be changed, and at least two operations can be performed in parallel.
[0097] According to the embodiments, operations 300 to 322 can be understood as operating in an electronic device (e.g., Figure 1 and Figure 2 The processor of the electronic device 101 (e.g., Figure 1 and Figure 2 It is executed in the processor 120.
[0098] Figure 3 The electronic device 101 may be at least partially similar to Figure 1 and Figure 2 The electronic device 101 may include other components of the electronic device. For example, the electronic device 101 may have a memory (e.g., a storage device) installed in the storage device. Figure 1 and Figure 2 The electronic device 101 contains an application program that provides editing functions for the first image (e.g., the original image) in its memory 130. In response to executing the editing functions, the electronic device 101 can recognize additional editing objects input into the first image and manage the first image and the editing objects separately.
[0099] Figure 3 The editing object management process 300 illustrates the storage process for editing objects that are additionally input into the first image. The electronic device 101 can separate the first image and the editing objects and manage them separately.
[0100] In operation 301, the processor 120 of the electronic device 101 can separate at least one editable object input to a first image (e.g., an original image) from the first image. For example, the first image can be implemented in a structure with multiple layers overlapping. When a first editable object is input to the first image, the processor 120 can input the first editable object again based on the first layer. When an edited image with the first editable object added is displayed based on the first image, the processor 120 can implement the edited image in a form where the first layer is overlaid on the first image, and in this case, the first editable object input to the first layer can be displayed in a form where it at least partially overlaps with a portion of the first image. According to an embodiment, the processor 120 can separate and identify the first image and the first editable object input to the first layer.
[0101] In operation 302, processor 120 can determine the size of at least one block used to divide the first edit object. For example, the first edit object can be divided into multiple blocks, each configured with a constant size. For example, if the first edit object is a drawing object based on pen input, the size of at least one block can be determined based on the pen thickness. Using the pen thickness as a reference value, the size of at least one block can be determined to be a configured length smaller or larger than the reference value. For example, if the first edit object is a sticker object, the size of at least one block can be determined based on the size of the sticker object (e.g., horizontal length, vertical length). If the sticker object's size is configured as a "720*720" pixel size, processor 120 can determine the size of at least one block to be a "720*720" pixel size. For example, if the first edit object is a text object, the size of at least one block can be determined to be a pre-configured size of the text object. Optionally, if the first edit object is a speech bubble object, the size of at least one block can be determined to be a pre-configured size of the speech bubble object.
[0102] In operation 303, processor 120 may extract valid blocks based on dividing the first edit object into at least one block. For example, a valid block may include at least one block in which at least partially includes the edit object. According to an embodiment, electronic device 101 may identify block coordinate information corresponding to each of a plurality of blocks and identify first edit object coordinate information corresponding to the first edit object. For example, if the block coordinate information and the first edit object coordinate information at least partially match, the block including the matching coordinate information may be classified as a valid block. If the block coordinate information and the edit object coordinate information do not match, the corresponding block may be classified as an invalid block. According to an embodiment, among a plurality of blocks, the remaining blocks excluding valid blocks may be classified as invalid blocks. According to an embodiment, a valid block may include at least one block in which the coordinate information changes as the first edit object is added. According to an embodiment, a valid block may include at least one block whose pixel information changes at least partially due to the addition of the first edit object. Conversely, an invalid block may include at least one block whose pixel information does not change even if the first edit object is added.
[0103] In operation 304, processor 120 can generate an integrated block based on the extracted valid blocks. For example, processor 120 can generate an integrated block of a configured size based on the extracted valid blocks. The extracted valid blocks can be implemented with a constant size. Processor 120 can generate the integrated block in a configuration where the valid blocks are arranged side-by-side in a vertical direction, or in a configuration where the valid blocks are arranged side-by-side in a horizontal direction. According to embodiments, the size and shape of the integrated block are not limited, and the integrated block can be generated according to pre-configured conditions. According to embodiments, the size and shape of the integrated block can be determined based on storage regions, storage spaces, and storage methods.
[0104] In operation 306, processor 120 may repeat operations 302 to 304 as many times as the number of editable objects added to the first image. For example, if operations 302 to 304 are executed for the first time, processor 120 may generate a first integrated block based on the first loop. If operations 302 to 304 are executed a second time, processor 120 may generate a second integrated block based on the second loop. Processor 120 may integrate the first and second integrated blocks to generate a third integrated block. According to an embodiment, processor 120 may store the process and order of generating integrated blocks as editing metadata corresponding to the editable objects in memory 130.
[0105] In operation 305, processor 120 may perform a compression operation on the compressed integrated block and generate compressed data. For example, processor 120 may extract only the valid blocks of the first edit object and generate compressed data based on the extracted valid blocks.
[0106] According to an embodiment, processor 120 can execute operations 301 to 306 included in the edit object management process 300 and generate compressed data in which integrated blocks are compressed.
[0107] In operation 321, processor 120 may store the generated compressed data in memory 130 (e.g., Figure 2 In the editing object storage area 212).
[0108] According to an embodiment, processor 120 can extract valid blocks of a first editable object and generate an integrated block based on the extracted valid blocks. By generating first compressed data based on the integrated block, processor 120 can reduce the amount of data in the first compressed data. For example, the first compressed data, in which only valid blocks of the first editable object are compressed and stored, may have a relatively smaller amount of data than the second compressed data, in which the entire edited image including the first editable object is compressed and stored.
[0109] In operation 311, processor 120 may acquire information related to the edit object (e.g., editing metadata) while executing the management process according to operations 301 to 304. For example, the information related to the edit object may be stored as editing metadata in memory 130 (e.g., Figure 2 The metadata storage area 213) is used for editing. The editing metadata may include at least one of the following: size information, position information, coordinate information, tilt information, color information, brightness information, block size information, valid block information, invalid block information, input time information, input order information, or index information corresponding to the editing object. According to an embodiment, the processor 120 can distinguish between the editing object and the editing metadata (e.g., information related to the editing object) and store them separately in the memory 130.
[0110] In operation 322, processor 120 may store editing metadata (e.g., information related to the object being edited) in metadata storage area 213 of memory 130.
[0111] According to an embodiment, the electronic device 101 can distinguish and identify a first image (e.g., an original image), a first edit object, and editing metadata related to the first edit object (e.g., information related to the first edit object), and store them in different storage areas respectively.
[0112] According to an embodiment, electronic device 101 can distinguish and identify each integrated block of an edit object management process 300. For example, electronic device 101 can separately identify a first integrated block generated based on the progress of a first edit object management process 300 and a second integrated block generated based on the progress of a second edit object management process 300. For another example, electronic device 101 can generate integrated block 1-1 based on the progress of edit object management process 1-1 300, and execute edit object management process 1-2 300 in response to performing a re-editing (e.g., subsequent editing) function on integrated block 1-1. Electronic device 101 can generate integrated block 1-2 based on the progress of edit object management process 1-2 300. In this case, electronic device 101 can separately distinguish integrated block 1-1 and integrated block 1-2, and also distinguish and identify integrated block 1-3, in which integrated blocks 1-1 and integrated block 1-2 are integrated.
[0113] According to an embodiment, when generating integrated blocks, the electronic device 101 can generate index information corresponding to each integrated block together, and identify each integrated block individually based on the index information.
[0114] Figure 4 This is an exemplary diagram illustrating an editing object application process according to an embodiment of the present disclosure.
[0115] In the following embodiments, each operation may be performed sequentially, but not necessarily sequentially. For example, the order of each operation can be changed, and at least two operations can be performed in parallel.
[0116] According to the embodiments, operations 400 to 422 can be understood as operating in an electronic device (e.g., Figure 1 and Figure 2 The processor of the electronic device 101 (e.g., Figure 1 and Figure 2 It is executed in the processor 120.
[0117] Figure 4 The electronic device 101 may be at least partially similar to Figure 1 and Figure 2 The electronic device 101 may include other components of the electronic device. For example, the electronic device 101 may have a memory (e.g., a storage device) installed in the storage device. Figure 1 and Figure 2The electronic device 101 provides an application in memory 130 that provides editing functions for a first image (e.g., the original image). In response to performing a re-editing (e.g., subsequent editing) function, the electronic device 101 can individually identify a first edit object that has been additionally input into the first image and the editing metadata corresponding to the first edit object. Based on the editing metadata, the electronic device 101 can recover the edited image in which the first edit object was additionally input into the first image, and display it on a display (e.g., a screen). Figure 2 The 160-inch monitor displays the restored edited image.
[0118] Figure 4 The edit object application process 400 illustrates the process of applying a first edit object corresponding to compressed data to a first image based on edit meta-information in response to performing a re-editing function. The electronic device 101 can separately acquire the compressed data and edit meta-information of the first edit object, and further apply the first edit object to the first image (e.g., the original image) based on the edit meta-information.
[0119] In operation 421, processor 120 may retrieve compressed data stored in memory 130 (e.g., edit object storage area 212). For example, based on Figure 3 The edit object management process 300, the compressed data may include the compressed data of the integration block corresponding to the first edit object.
[0120] In operation 422, processor 120 may retrieve edit metadata stored in memory 130 (e.g., metadata storage area 213).
[0121] Figure 4 The edit object application process 400 illustrates the process of loading an edited image in which a first edit object is additionally input into a first image. The electronic device 101 can separate the first edit object and the edit metadata and manage them separately.
[0122] In operation 401, processor 120 can decompress compressed data to obtain integrated blocks, and extract valid blocks based on the obtained integrated blocks.
[0123] In operation 402, processor 120 may use the extracted valid blocks to generate an edit object (e.g., a first edit object).
[0124] In operation 403, processor 120 may apply the generated edit object (e.g., a first edit object) to an image (e.g., the original image, the first image). For example, processor 120 may identify coordinate information related to the position and size of the first edit object based on editing metadata, and input the first edit object into the first image according to the identified coordinate information. Processor 120 may input the first edit object in a form that at least partially overlaps with the first image. Processor 120 may display the edited image in which the first edit object has been additionally input into the first image via display 160.
[0125] According to an embodiment, the processor 120 can identify the editing order based on the execution of editing functions based on editing metadata, and input the first editing object into the first image according to the identified editing order. According to an embodiment, the processor 120 can perform "undo" and "redo" functions on the first image based on the identified editing order.
[0126] Figure 5 This is a flowchart illustrating a method for managing and editing objects according to an embodiment of the present disclosure.
[0127] In the following embodiments, each operation may be performed sequentially, but not necessarily sequentially. For example, the order of each operation can be changed, and at least two operations can be performed in parallel.
[0128] According to the embodiments, operations 501 to 509 can be understood as being performed in an electronic device (e.g., Figure 1 and Figure 2 The processor of the electronic device 101 (e.g., Figure 1 and Figure 2 It is executed in the processor 120.
[0129] Figure 5 The electronic device 101 may be at least partially similar to Figure 1 and Figure 2 The electronic device 101 may include other components of the electronic device. For example, the electronic device 101 may have a memory (e.g., a storage device) installed in the storage device. Figure 1 and Figure 2 The electronic device 101 contains an application program that provides editing functions for the first image (e.g., the original image) in its memory 130. In response to executing the editing function, the electronic device 101 can identify additional editing objects input into the first image and manage the first image, the editing objects, and the editing metadata associated with the editing objects separately.
[0130] In operation 501, the processor 120 of the electronic device 101 can recognize an event in which an editable object (e.g., a first editable object) has been input based on a first image (e.g., an original image, an image frame). For example, when an application providing editing functionality is running, the processor 120 can recognize an event in which an additional editable object is input based on the first image according to the execution of the editing functionality. For example, the editable object may include at least one of a drawing object, a sticker object, a cutout image, a speech bubble, or a text object based on pen input (e.g., drawing input). The processor 120 can input the editable object based on a first layer to distinguish it from the first image and recognize the event based on the input of the editable object. For example, the editable object may be added based on the first layer so as not to change the first image and is displayed in a form that at least partially overlaps with the first image. The first layer may be displayed in the form of a virtual layer overlaid on the first image. According to an embodiment, the electronic device 101 can provide a user with an edited image in which at least one editable object included in the first layer is at least partially overlapped with the first image.
[0131] In operation 503, processor 120 may determine the size of the block based on edit object information. For example, the edit object information may include editing metadata associated with the edit object. According to an embodiment, the edit object information may include various types of information associated with the edit object to determine whether the edit object is a drawing object, a sticker object, or a text object. For example, if the edit object is a drawing object, processor 120 may determine the size of the block based on the thickness of an input device (e.g., a pen) used to input the drawing object. For another example, if the edit object is a sticker object, processor 120 may determine the size of the block based on the dimensions of the sticker object (e.g., horizontal length, vertical length). For another example, processor 120 may configure a first display area based on the dimensions (e.g., horizontal length, vertical length) and region of the edit object, and identify a first region within the first display area occupied by the edit object and a second region within the first display area excluding the first region. According to an embodiment, the first display area is not limited to a specific shape and may be configured as various shapes (e.g., square, circle, polygon, rectangle, non-square). According to another embodiment, processor 120 may also determine the size of the block based on the identified second region.
[0132] In operation 505, processor 120 can distinguish between valid and invalid blocks based on at least one block having a defined size. For example, processor 120 can divide the entire display area of the edited object into at least one block and determine whether the at least one divided block corresponds to a valid or invalid block.
[0133] According to an embodiment, the processor 120 can identify block coordinate information corresponding to each of at least one block, and identify edit object coordinate information corresponding to an edit object. For example, if a first block is identified whose block coordinate information and edit object coordinate information at least partially match, the corresponding first block can be classified as a valid block. If a second block is identified whose block coordinate information and edit object coordinate information do not match, the corresponding second block can be classified as an invalid block. For example, among multiple blocks included in the entire display area, the remaining blocks excluding valid blocks can be classified as invalid blocks.
[0134] According to an embodiment, an invalid block may include at least three blocks having the same pixel value. For example, an invalid block may include a block containing pixel information with a fully transparent value (e.g., ARGB (00000000)).
[0135] According to an embodiment, a valid block may include a block in which pixel information changes at least partially in response to an event where an editable object is input. For example, the processor 120 may divide the first layer based on at least one block. This at least one block may be a block comprising the same pixel information (e.g., ARGB (00000000)). In the case of inputting pixel objects based on the first layer, the processor 120 may identify at least one block in which pixel information has changed at least partially based on the position of the input pixel object. The processor 120 may classify at least one block in which pixel information has changed as a valid block. In this case, at least one block in which pixel information has not changed may be classified as an invalid block. According to an embodiment, the processor 120 may extract at least one block that at least partially comprises an editable object as a valid block.
[0136] In operation 507, processor 120 may generate an integrated block based on valid blocks. For example, processor 120 may arrange at least one block classified as valid blocks side by side and perform an integration operation to combine the arranged valid blocks into a single block to generate the integrated block.
[0137] In operation 509, processor 120 can store the compressed data of the integrated circuit in memory (e.g., ...). Figure 1 and Figure 2 The processor 120 may perform a compression operation on the integrated block and store the compressed data in the edit object storage area of the memory 130 (e.g., memory 130). Figure 2 In the editing object storage area 212).
[0138] According to an embodiment, in order to maintain the quality of the edited object (e.g., image quality, resolution), processor 120 can generate compressed data in PNG format (e.g., a PNG file). For example, processor 120 can use a lossless compression encoder to generate first compressed data in PNG format (e.g., extracting only the data of the edited object from it). In response to performing a re-editing function, processor 120 can decompress the first compressed data and restore at least one edited object. Processor 120 can add the restored at least one edited object to a first image to restore a first edited image. For example, the first edited image can perform "undo" and "redo" functions according to the editing functions.
[0139] According to another embodiment, upon completion of the final edit (e.g., when a re-editing function is not required), to improve compression efficiency, the processor 120 may generate second compressed data (e.g., data in the state where the edited object is added to the original image) in a lossy manner (lossy compression). For example, the lossy manner includes lossy compression and may be a compression method in which the data recovered during decompression is not exactly the same as the original data, but is restored to a state close to the original data. For example, the lossy manner may be a compression method in which the data quality is slightly reduced, but the efficiency of storage and management is improved. The processor 120 may decompress the second compressed data in response to performing a re-editing function and restore the second edited image in the state where the edited object was added. For example, the second edited image restored based on the lossy method may not support the "undo" and "redo" functions according to the editing function. According to another embodiment, when generating the second compressed data in a lossy manner, the processor 120 may delete information previously stored in the memory 130 related to the edited object. For example, the processor 120 may delete index information (e.g., editing metadata) indicating the editing process and editing order according to the editing function.
[0140] According to an embodiment, the processor 120 can identify the average number of times a re-editing function is performed on a specific image based on the usage history of the electronic device 101, and use the average number of times as a reference value to determine whether to perform a PNG-based compression operation (e.g., lossless compression, lossless compression) or a lossy compression operation (e.g., lossy compression). For example, if the number of times a re-editing function is performed on a first image (e.g., the original image) exceeds the average number of times, the processor 120 can perform a lossy compression operation. According to an embodiment, the processor 120 can configure the reference value for selecting one of the PNG and lossy methods to an arbitrary value. According to an embodiment, if the number of times a re-editing function is performed exceeds the reference value, the processor 120 can perform a lossy compression operation when storing the edited image based on the re-editing function.
[0141] According to an embodiment, when a compression operation is performed on an edited image, the processor 120 may display a notification window (e.g., a pop-up notification window) for selecting one of a PNG method (e.g., a lossless compression method) and a lossy method (e.g., a lossy compression method), and generate compressed data in a corresponding manner in response to user input to the notification window.
[0142] According to an embodiment, electronic device 101 can determine the size of a block corresponding to the edit object in response to an event in which an edit object is input to a first image (e.g., an original image), and divide the edit object based on at least one block having the determined size. Electronic device 101 can classify blocks that at least partially comprise the edit object into valid blocks, and extract only the valid blocks to generate an integrated block. Electronic device 101 can store compressed data in the edit object storage area 212 where the integrated block is compressed.
[0143] According to an embodiment, electronic device 101 may store a first image in an original image storage area 211, store compressed data corresponding to the edited object in an edited object storage area 212, and store editing metadata related to the edited object in a metadata storage area 213. When storing the edited object, electronic device 101 may extract only blocks that at least partially include the edited object (e.g., valid blocks) and use only the extracted blocks (e.g., valid blocks) to generate an integrated block. Electronic device 101 may perform a compression operation on the integrated block to generate compressed data. According to an embodiment, electronic device 101 may extract only the valid blocks of the edited object to generate an integrated block and compress the generated integrated block, thereby minimizing the size of the compressed data (e.g., data in which the edited object is compressed). As the size of the compressed data decreases, the storage space of memory 130 can be utilized more freely, and the time required for compression operations (e.g., the operation of generating compressed data) and decompression operations can be reduced. According to an embodiment, since the integrated block is generated only based on valid blocks, the size of the edited object can be reduced, and the processing time for compression and decompression operations can be reduced. According to the embodiments, since multiple blocks are integrated into one integrated block, the number of compression and decompression operations can be reduced, and the processing time of compression and decompression operations can be reduced.
[0144] According to an embodiment, when performing a re-editing function on a first image, the electronic device 101 can load compressed data stored in the edit object storage area 212 and edit metadata stored in the metadata storage area 213. The electronic device 101 can decompress the compressed data to extract valid blocks included in the integrated block. The electronic device 101 can restore the edit object based on the extracted valid blocks. In response to performing the re-editing function, the electronic device 101 can further input the restored edit object into the first image (e.g., the original image) based on the edit metadata. According to an embodiment, as the capacity of the compressed data decreases, the time required to perform compression and decompression operations can be reduced. According to an embodiment, since multiple blocks are integrated into one integrated block, the number of compressions and decompressions can be reduced, and the processing time for compression and decompression operations can be reduced.
[0145] According to an embodiment, when multiple editing objects (e.g., a first editing object, a second editing object) are input, the electronic device 101 can add the first editing object and the second editing object to a first image in a layered manner. For example, the electronic device 101 can input the first editing object based on a first layer and input the second editing object based on a second layer. The electronic device 101 can extract at least one first block that at least partially includes the first editing object as a first valid block. The electronic device 101 can extract at least one second block that at least partially includes the second editing object as a second valid block. The electronic device 101 can extract a valid block corresponding to each of the multiple editing objects individually.
[0146] According to an embodiment, when generating integrated blocks, electronic device 101 can generate a first integrated block corresponding to a first edit object and a second integrated block corresponding to a second edit object. The size of the first integrated block can be determined based on the size of the first effective block. The size of the second integrated block can be determined based on the size of the second effective block. As another example, electronic device 101 can integrate the first and second integrated blocks to generate a third integrated block. The size of the third integrated block can be determined based on the sizes of the first and second integrated blocks. According to an embodiment, electronic device 101 can generate first compressed data based on the first integrated block and generate second compressed data based on the second integrated block. Electronic device 101 can generate third compressed data based on the third integrated block.
[0147] According to embodiments, electronic device 101 can store at least one editing object and editing metadata separately in various ways. For example, electronic device 101 can store at least one editing object and editing metadata within a first image, in a database (DB) of memory 130, in a specific storage area of memory 130, or in an external device (e.g., a server, a cloud server).
[0148] According to an embodiment, the first image (e.g., the original image), at least one editable object, and editable metadata can be stored separately in a state where they match each other.
[0149] Figure 6 This is an exemplary diagram illustrating a method for extracting at least one editable object from an image or video according to an embodiment of the present disclosure.
[0150] Figure 6 The electronic device 101 may be at least partially similar to Figure 1 and Figure 2 The electronic device 101 may include other components of the electronic device. For example, the electronic device 101 may have a memory (e.g., a storage device) installed in the storage device. Figure 1 and Figure 2 The electronic device 101 contains an application program that provides editing functions for the first image (e.g., the original image) in its memory 130. In response to executing the editing function, the electronic device 101 can identify additional editing objects input into the first image and manage the first image, the editing objects, and the editing metadata associated with the editing objects separately.
[0151] refer to Figure 6 The processor of electronic device 101 (e.g., Figure 1 and Figure 2 The processor 120 can be accessed via a display (e.g., Figure 1 The display module 160 displays a first image 600 (e.g., an original image, an image frame) and at least one of editable objects 611, 612, 613, 614, and 615 arranged to at least partially overlap with the first image 600. For example, in response to performing an editing function, the processor 120 may display the first image 600 and recognize an event in which at least one of editable objects 611, 612, 613, 614, and 615 has been entered.
[0152] refer to Figure 6According to an embodiment, the first edit object 611 and the second edit object 612 may include drawing objects drawn using a finger or pen. For example, the first edit object 611 may be a drawing object with the letter "ㄱ" drawn on it, and the second edit object 612 may be a drawing object with the letter "ㄴ" drawn on it. The third edit object 613 and the fourth edit object 614 may be sticker objects. The fifth edit object 615 may be a speech bubble object. At least one of the edit objects 611, 612, 613, 614 and 615 may include at least one of a drawing object, a sticker object, a cutout image, a speech bubble or a text object based on pen input (e.g., drawing input).
[0153] According to an embodiment, electronic device 101 can identify the order and position of at least one of editable objects 611, 612, 613, 614, and 615 input in a layered manner. For example, the first editable object 611 can be input based on a first layer, and the second editable object 612 can be input based on a second layer. Electronic device 101 can identify index information indicating the order in which the editable objects are input. For example, when the first editable object 611 is input, electronic device 101 can generate index information (e.g., editing metadata) indicating the input order of the first editable object 611 (e.g., the editing order according to the editing function). For example, the editing metadata may include at least one of size information, position information, coordinate information, tilt information, color information, brightness information, block size information, valid block information, invalid block information, input time information, input order information, or index information corresponding to the editable object. When the first editable object 611 is stored in memory (e.g., Figure 1 and Figure 2 When stored in the memory 130, the electronic device 101 can store together the index information (e.g., editing metadata) corresponding to the first editing object 611 and the first editing object 611.
[0154] Figure 7a This is a figure illustrating Example 1-1 of a method for determining the size of a block based on an editable object according to an embodiment of the present disclosure. Figure 7b The figures are examples 1-2 illustrating a method for integrating and managing extracted valid blocks according to embodiments of the present disclosure.
[0155] Figure 7a and Figure 7b The electronic device 101 may be at least partially similar to Figure 1 and Figure 2 The electronic device 101 may also include other components of the electronic device.
[0156] refer to Figure 7a , showed Figure 6The first display area 710 of the first editable object 611. The processor 120 of the electronic device 101 can recognize an event in which the first editable object 611 is input, and recognize the first display area 710 of the first editable object 611. The first editable object 611 may include a drawing object (e.g., a "ㄱ" object) drawn with a pen. For example, the processor 120 can recognize coordinate information corresponding to the first display area 710, and recognize the horizontal length 721 and vertical length 722 of the first display area 710. The processor 120 can recognize the coordinate information and pixel information of the first editable object 611 based on a first layer. Based on the first layer and in response to an input in which the pixel information changes, the processor 120 can recognize a first region 713 within the first display area 710 corresponding to the first editable object 611 and a second region 714 as the remaining region within the first display area 710 excluding the first region 713.
[0157] refer to Figure 7a The first editable object 611 may include a drawing object generated based on gesture input (e.g., drag input, drawing input, touch input) by a user using an input device (e.g., a pen) of a certain thickness. According to an embodiment, the processor 120 may determine the size of at least one of blocks 701, 702, and 703 (e.g., the horizontal length 711 of the block, the vertical length 712 of the block) based on the thickness of the input device (e.g., a pen).
[0158] According to an embodiment, the processor 120 can divide the first display area 710 of the first editable object 611 into at least one of blocks 701, 702, 703, 705, 706, and 707. The processor 120 can distinguish a first region 713 and a second region 714 of the first editable object 611 within at least one of blocks 701, 702, 703, 705, 706, and 707. For example, the processor 120 can distinguish regions 1-1 (713-1) where pixel information changes and regions 2-1 (714-1) where pixel information remains unchanged based on the first block 701. The processor 120 can determine at least one of blocks 701, 702, and 703, in which the pixel information of the plurality of blocks dividing the first display area 710 is at least partially changed by the input of the first editable object 611, as a first valid block. The processor 120 can determine at least one block in the plurality of blocks dividing the first display area 710, in which the pixel information remains unchanged, as first invalid blocks 705, 706, and 707. For example, each of the multiple blocks that divide the first display area 710 may include index information indicating the location (e.g., editing metadata). When re-editing, the processor 120 may restore the first edit object 611 based on the index information of the first edit object 611, and input the restored first edit object 611 into the first image (e.g., the original image).
[0159] According to an embodiment, the index information may include information about the first valid blocks, their respective positions, orders, and coordinate values. According to an embodiment, when restoring the first edit object 611, the electronic device 101 may determine the position and order of each valid block based on the index information about the first valid blocks. The electronic device 101 may restore the edited image in which the first edit object 611 at least partially overlaps with the first image, and display the restored edited image on the display 160.
[0160] refer to Figure 7b The processor 120 can extract at least one first valid block from a plurality of blocks dividing the first display area 710, and generate a first integrated block 730 based on at least one extracted first valid block. For example, the first valid block may include at least one of blocks 701, 702, and 703 in which pixel information is at least partially changed by input from the first edit object 611. The processor 120 can generate a first integrated block 730 consisting only of the first valid blocks. For example, the first integrated block 730 may be implemented in a structure where at least one of blocks 701, 702, and 703 is coupled side-by-side. The horizontal length 711 of the first integrated block 730 may be substantially the same as the horizontal length 711 of the first block 701. The vertical length 732 of the first integrated block 730 may be a length obtained by summing the vertical length 712 of the first block 701 as many times as the number of valid blocks. According to embodiments, the shape of the first integrated block 730 is not limited to a specific shape and can be implemented in various shapes depending on the storage space and storage method.
[0161] According to an embodiment, the processor 120 can generate a first integrated block 730 based on the extracted valid blocks, and also generate first index information corresponding to the first integrated block 730. The processor 120 can perform a compression operation on the first integrated block 730 and generate first compressed data.
[0162] Figure 8a This is a figure illustrating Example 2-1 of a method for determining the size of a block based on an editable object according to an embodiment of the present disclosure. Figure 8b This is a figure illustrating Example 2-2 of a method for integrating and managing extracted valid blocks according to embodiments of the present disclosure.
[0163] Figure 8a and Figure 8b The electronic device 101 may be at least partially similar to Figure 1 and Figure 2 The electronic device 101 may also include other components of the electronic device.
[0164] refer to Figure 8a , showed Figure 6The second display area 810 of the second editable object 612. The processor 120 of the electronic device 101 can recognize an event in which the second editable object 612 is input, and recognize the second display area 810 of the second editable object 612. The second editable object 612 may include a drawing object (e.g., a "ㄴ" object) drawn with a pen. For example, the processor 120 can recognize coordinate information corresponding to the second display area 810, and recognize the horizontal length 821 and vertical length 822 of the second display area 810. The processor 120 can recognize the coordinate information and pixel information of the second editable object 612 based on a second layer. Based on the second layer and in response to an input in which the pixel information changes, the processor 120 can recognize a third region 813 within the second display area 810 corresponding to the second editable object 612 and a fourth region 814 as the remaining region within the second display area 810 excluding the third region 813.
[0165] refer to Figure 8a The second editing object 612 may include a drawing object generated based on gesture input (e.g., drag input, drawing input, touch input) by a user using an input device (e.g., a pen) with a certain thickness. According to an embodiment, the processor 120 may determine the size of at least one of blocks 801, 802, 803, 804, and 805 (e.g., the horizontal length 811 of the block, the vertical length 812 of the block) based on the thickness of the input device (e.g., the pen).
[0166] According to an embodiment, the processor 120 can divide the second display area 810 of the second editable object 612 into at least one of blocks 801, 802, 803, 804, and 805. The processor 120 can distinguish a third region 813 and a fourth region 814 of the second editable object 612 within at least one of blocks 801, 802, 803, 804, and 805. For example, the processor 120 can distinguish a region 3-1 (813-1) where pixel information changes and a region 4-1 (814-1) where pixel information remains unchanged, based on the first block 801. The processor 120 can determine at least one of blocks 801 and 802, in which the pixel information of the plurality of blocks dividing the second display area 810 is at least partially changed by the input of the second editable object 612, as a second valid block. The processor 120 can determine at least one block in the plurality of blocks dividing the second display area 810, in which the pixel information remains unchanged, as a second invalid block 803, 804, and 805. For example, each of the multiple blocks that divide the second display area 810 may include index information indicating the location (e.g., editing metadata). When re-editing, the processor 120 may restore the second edit object 612 based on the index information about the second edit object 612, and additionally input the restored second edit object 612 into the first image (e.g., the original image).
[0167] According to an embodiment, the index information may include information about the second valid blocks, their respective positions, orders, and coordinate values. According to an embodiment, when restoring the second edit object 612, the electronic device 101 may determine the position and order of each valid block based on the index information about the second valid blocks. The electronic device 101 may restore the edited image in which the second edit object 612 at least partially overlaps with the first image, and display the restored edited image on the display 160.
[0168] refer to Figure 8b The processor 120 can extract at least one second valid block from a plurality of blocks dividing the second display area 810, and generate a second integrated block 830 based on at least one extracted second valid block. For example, the second valid block may include at least one of blocks 801, 802, and 803 in which pixel information is at least partially changed by input from the second edit object 612. The processor 120 can generate a second integrated block 830 consisting only of the second valid blocks. For example, the second integrated block 830 may be implemented in a structure where at least one of blocks 801 and 802 (e.g., the valid block) is coupled side-by-side. The horizontal length 811 of the second integrated block 830 may be substantially the same as the horizontal length 811 of the first block 801. The vertical length 832 of the second integrated block 830 may be a length obtained by summing the vertical length 812 of the first block 801 as many times as the number of valid blocks. According to embodiments, the shape of the second integrated block 830 is not limited to a particular shape and can be implemented in various shapes depending on the storage space and storage method.
[0169] According to an embodiment, the processor 120 can generate a second integrated block 830 based on the extracted valid blocks, and also generate second index information corresponding to the second integrated block 830. The processor 120 can perform a compression operation on the second integrated block 830 and generate second compressed data.
[0170] Figure 9a This is a figure 3-1 illustrating an example of a method for composing a first integration block based on a first editing object and a second integration block based on a second editing object into a single block and managing the composite block according to an embodiment of the present disclosure. Figure 9b This is a figure 3-2 illustrating an example of a method for managing the remaining storage area based on the difference in block size when merging multiple integrated blocks into a single block, according to an embodiment of the present disclosure.
[0171] Figure 9a and Figure 9b The electronic device 101 may be at least partially similar to Figure 1 and Figure 2 The electronic device 101 may also include other components of the electronic device.
[0172] refer to Figure 9a , showed Figure 7b The first integrated circuit 730 and Figure 8b The second integrated block 830. The processor 120 of the electronic device 101 may couple or integrate the first integrated block 730 and the second integrated block 830 to generate a third integrated block 930. For example, the first integrated block 730 may be based on the first edit object (e.g., Figure 7a The first valid block (corresponding to the first edit object 611) is generated, and the second integrated block 830 can be based on the second edit object (e.g., Figure 8a The processor 120 generates the second valid block corresponding to the second edit object 612. The processor 120 can integrate the first integrated block 730 and the second integrated block 830 into one block, and generate the third integrated block 930.
[0173] According to an embodiment, processor 120 may integrate first integrated block 730 and second integrated block 830 to generate third integrated block 930. Processor 120 may perform a compression operation on third integrated block 930 and generate third compressed data.
[0174] refer to Figure 9a According to an embodiment, the horizontal length of the third integrated block 930 can be determined as the longer of the horizontal lengths of the first integrated block 730 and the second integrated block 830. The vertical length of the third integrated block 930 can be determined as the length obtained by summing the vertical lengths 732 of the first integrated block 730 and the vertical lengths 832 of the second integrated block 830.
[0175] refer to Figure 9a The shapes of the first integrated block 730 and the second integrated block 830 are different, and residual space may occur when the first integrated block 730 and the second integrated block 830 are coupled.
[0176] refer to Figure 9b Enlarged and shown Figure 9a The coupling region 940 is where the first integrated circuit 730 and the second integrated circuit 830 are coupled. (Reference) Figure 9b The diagram shows the structure of the first block 901 included in the first integrated block 730 coupled with the second block 902 included in the second integrated block 830.
[0177] refer to Figure 9bThe first horizontal length 911 of the first block 901 may be relatively shorter than the second horizontal length 921 of the second block 902. In the coupled structure of the first block 901 and the second block 902, a residual space 903 may be created. For example, the horizontal length 913 of the residual space 903 may be determined as the difference between the first horizontal length 911 and the second horizontal length 921, and the vertical length 912 of the residual space 903 may be determined to be substantially the same as the vertical length of the first block 901. For example, if the residual space 903 has a size that allows for the addition of another first block 901, the processor 120 of the electronic device 101 may place another block included in the first integrated block 730 within the residual space 903. The electronic device 101 may modify the arrangement of at least one block based on the residual space 903.
[0178] According to an embodiment, when the third integrated block 930 is generated, the electronic device 101 can identify residual space based on the first integrated block 730 and the second integrated block 830. The electronic device 101 can modify the arrangement of at least one of the first integrated block 730 or the second integrated block 830 based on the identified residual space.
[0179] According to an embodiment, the electronic device 101 can store first index information corresponding to the first integrated block 730 by matching first index information corresponding to the first integrated block 730 with the first integrated block 730, and store second index information corresponding to the second integrated block 830 by matching second index information corresponding to the second integrated block 830 with the second integrated block 830. The electronic device 101 can store third index information by matching third index information corresponding to the third integrated block 930 with the third integrated block 830. For example, the third index information may include first index information and second index information. The third index information may include information related to the arrangement position and integration order of the first integrated block 730 and the second integrated block 830.
[0180] According to an embodiment, electronic device 101 can perform a compression operation on third integrated block 930 and generate third compressed data. Electronic device 101 can generate third compressed data including multiple editable objects through a single compression operation. For example, when electronic device 101 performs a re-editing function on the third compressed data, electronic device 101 can restore multiple editable objects through a single decompression operation. According to an embodiment, electronic device 101 can compress effective blocks by integrating effective blocks, thereby reducing the storage capacity used for editable objects, and as the number of compressions decreases, the time required to store editable objects can be reduced.
[0181] According to an embodiment, when adding editable objects to the original video based on the execution of an editing function, the electronic device 101 can store or manage the editable objects separately. Since the amount of data is reduced by compressing the editable objects, the electronic device 101 can reduce the time required to store the compressed editable objects in the memory 130. Even when loading an edited image to which editing functions have been previously applied, the electronic device 101 can reduce the loading time based on the execution of a re-editing function. The amount of compressed data used to store the editable objects can be reduced, and the time required to store or load the editable objects can be reduced. According to an embodiment, user convenience based on the execution of editing functions can be improved.
[0182] The method for managing editable objects according to an embodiment may include: in response to performing an editing function on a first image, identifying editable objects added to the first image; determining the size of at least one block based on information about the editable objects; dividing the editable objects based on the determined size of at least one block; extracting at least one valid block from the at least one block that at least partially includes the editable objects; and storing an integrated block generated based on the at least one valid block.
[0183] The method according to the embodiment may further include: generating at least one compressed data by compressing the generated integrated block; and storing the generated at least one compressed data corresponding to the first image.
[0184] The method according to the embodiment may further include: in response to performing a re-editing function on a first image, identifying at least one compressed data corresponding to the first image, identifying an integration block by decompressing the identified at least one compressed data, identifying at least one editable object included in the integration block, and adding at least one editable object to the first image.
[0185] According to an embodiment, determining the size of at least one block may include: determining the size of at least one block based on the thickness of the pen when the edit object is a drawing object generated based on pen input; determining the size of at least one block based on the pre-configured size corresponding to the sticker object when the edit object is a pre-configured sticker object; determining the size of at least one block based on the size of the text object when the edit object is a text object; and determining the size of at least one block based on the size of the speech bubble when the edit object is a speech bubble object.
[0186] According to an embodiment, extracting at least one valid block may include: based on pixel information of a first image, extracting a block in which the pixel information is at least partially changed by input of an editing object as at least one valid block.
[0187] The method according to the embodiment may further include: extracting the remaining blocks, excluding at least one valid block, as at least one invalid block based on the edit object which is divided into at least one block.
[0188] The method according to the embodiment may further include: identifying a first integration block generated based on a first editing object in the editing object and having first index information; identifying a second integration block generated based on a second editing object in the editing object and having second index information; and generating a third integration block having third index information based on the first integration block and the second integration block.
[0189] The method according to the embodiment may further include: determining a third dimension of a third integrated block based on a first dimension of a first integrated block and a second dimension of a second integrated block; and generating a third integrated block based on the third dimension.
[0190] The method according to the embodiment may further include: in response to performing a re-editing function on a first image, identifying at least one compressed data corresponding to the first image, identifying an integrated block included in the at least one compressed data by decompressing the identified at least one compressed data, recovering at least one editable object based on at least one valid block included in the identified integrated block, and inputting the recovered at least one editable object into the first image.
[0191] The electronic device according to various embodiments can be one of a variety of types of electronic devices. 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. According to embodiments of this disclosure, the electronic device is not limited to those described above.
[0192] It should be understood that the various embodiments of this disclosure and the terminology used therein are not intended to limit the technical features set forth herein to the specific embodiments, but rather to include various changes, equivalents, or substitutions to the respective embodiments. In the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that nouns in the singular form corresponding to terms may include one or more things unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C” may include any one or all possible combinations of the items enumerated together with the corresponding phrase among the plurality of phrases. As used herein, terms such as “first” and “second” or “first” and “second” may be used to simply distinguish the respective component from another component and do not limit the component in other respects (e.g., importance or order). It will be understood that, whether the terms “operably” or “communically” are used or not, if an element (e.g., a first element) is referred to as “combined with another element (e.g., a second element),” “combined to another element (e.g., a second element),” “connected to another element (e.g., a second element),” or “connected to another element (e.g., a second element)”, it means that the element can be directly (e.g., wiredly) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.
[0193] As used in connection with various embodiments of this disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms such as "logic," "logic block," "part," or "circuit." A module may be a single integrated component adapted to perform one or more functions, or the smallest unit or part of such a single integrated component. For example, according to embodiments, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0194] The various embodiments set forth herein can be implemented as software (e.g., program 140) including one or more instructions readable by a machine (e.g., electronic device 101) stored in a storage medium (e.g., internal memory 136 or external memory 138). For example, under the control of a processor, the processor (e.g., processor 120) of the machine (e.g., electronic device 101) can invoke and execute at least one of the one or more instructions stored in the storage medium, with or without the use of one or more other components. This enables the machine to operate to perform at least one function according to the invoked at least one instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. Machine-readable storage media may be provided in the form of non-transitory storage media. The term "non-transitory" simply means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but this term does not distinguish between data being stored semi-permanently in the storage medium and data being temporarily stored in the storage medium.
[0195] According to embodiments, methods according to various embodiments of this disclosure may be included and provided in a computer program product. The computer program product can be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)) or via an app store (e.g., the Play Store). TM The computer program product may be published online (e.g., downloaded or uploaded), or may be distributed directly between two user devices (e.g., smartphones) (e.g., downloaded or uploaded). If published online, at least a portion of the computer program product may be temporarily generated, or at least a portion of the computer program product may be temporarily stored in a machine-readable storage medium (such as the memory of a manufacturer's server, an app store's server, or a forwarding server).
[0196] According to various embodiments, each of the above-described components (e.g., a module or program) may include a single entity or multiple entities, and some of the multiple entities may be separately disposed in different components. According to various embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Optionally or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform the one or more functions of each of the multiple components in the same or similar manner as a corresponding component of the multiple components performed one or more functions prior to integration. According to various embodiments, the operations performed by a module, program, or other component may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more of the operations may be performed in a different order or omitted, or one or more other operations may be added.
Claims
1.An electronic device (101) comprising: a display (160); a memory (130) configured to store one or more computer programs; and one or more processors (120) operatively connected to the display (160) and the memory (130), when the one or more computer programs are executed by the one or more processors (120) individually or collectively, the programs cause the electronic device (101) to: in response to performing an editing function on a first image, identify an editing object added to the first image, based on information of the editing object, determine a size of at least one block, based on the determined size of at least one block, divide the editing object, extract at least one valid block at least partially including the editing object from the at least one block, and store an integrated block generated based on the at least one valid block. when the one or more computer programs are executed by the one or more processors (120) individually or collectively, the programs cause the electronic device (101) to: 2.The electronic device of claim 1, wherein, compress the generated integrated block to generate at least one compressed data, and in response to the first image, store the generated at least one compressed data in the memory (130). when the one or more computer programs are executed by the one or more processors (120) individually or collectively, the programs cause the electronic device (101) to: 3.The electronic device of claim 1 or 2, wherein, in response to performing a re-editing function on the first image, identify the at least one compressed data corresponding to the first image, decompress the identified at least one compressed data to identify the integrated block, identify at least one editing object included in the integrated block, and add the at least one editing object to the first image. when the one or more computer programs are executed by the one or more processors (120) individually or collectively, the programs cause the electronic device (101) to: 4.The electronic device of claim 1, wherein in a case where the editing object is a drawing object generated based on a pen input, determine the size of the at least one block based on a thickness of the pen, and in a case where the editing object is a pre-configured sticker object, determine the size of the at least one block based on a pre-configured size corresponding to the sticker object. when the one or more computer programs are executed by the one or more processors (120) individually or collectively, the programs cause the electronic device (101) to: 5.The electronic device of claim 1, wherein in a case where the editing object is a text object, determine the size of the at least one block based on a size of the text object, and in a case where the editing object is a conversation bubble object, determine the size of the at least one block based on a size of the conversation bubble. The at least one valid block includes a block in which pixel information is at least partially changed by inputting the editing object based on pixel information of the first image. 6.The electronic device of claim 1, wherein when the one or more computer programs are executed by the one or more processors (120) individually or collectively, the programs cause the electronic device (101) to extract, as at least one invalid block, a remaining block excluding the at least one valid block based on the editing object divided into the at least one block. 7.The electronic device of claim 6, wherein 8.The electronic device of claim 1, wherein When the one or more computer programs are executed by the one or more processors (120) individually or collectively, the programs cause the electronic device (101) to: identify a first integrated block generated based on a first one of the edit objects and having first index information, identify a second integrated block generated based on a second one of the edit objects and having second index information, generate a third integrated block having third index information based on the first integrated block and the second integrated block, determine a third size of the third integrated block based on a first size of the first integrated block and a second size of the second integrated block, and generate the third integrated block based on the third size. 9.The electronic device of claim 2 or 3, wherein, When the one or more computer programs are executed by the one or more processors (120) individually or collectively, the programs cause the electronic device (101) to: identify the at least one compressed data corresponding to the first image in response to performing a re-edit function on the first image, decompress the identified at least one compressed data to identify the integrated block included in the at least one compressed data, restore the at least one edit object based on the at least one valid block included in the identified integrated block, and input the restored at least one edit object into the first image. 10.A method of managing edit objects, the method comprising: identifying an edit object added to a first image in response to performing an edit function on the first image; determining a size of at least one block based on information of the edit object; dividing the edit object based on the determined size of the at least one block; extracting at least one valid block including at least part of the edit object from the at least one block; and storing an integrated block generated based on the at least one valid block. 11.The method of claim 10, further comprising: generating at least one compressed data by compressing the generated integrated block; and storing the generated at least one compressed data corresponding to the first image. 12.The method of claim 11, further comprising: identifying the at least one compressed data corresponding to the first image in response to performing a re-edit function on the first image; identifying the integrated block by decompressing the identified at least one compressed data; identifying at least one edit object included in the integrated block; and adding the at least one edit object to the first image. Determining the size of the at least one block further comprises: in case that the edit object is a drawing object generated based on a pen input, determining the size of the at least one block based on a thickness of the pen; 13. The method of claim 10, wherein, in case that the edit object is a pre-configured sticker object, determining the size of the at least one block based on a pre-configured size corresponding to the sticker object; in case that the edit object is a text object, determining the size of the at least one block based on a size of the text object; and in case that the edit object is a conversation bubble object, determining the size of the at least one block based on a size of the conversation bubble. 14.The method of claim 10, further comprising: extracting, as the at least one valid block, a block whose pixel information is changed at least partially based on input of the edit object based on pixel information of the first image; and extracting, as at least one invalid block, a remaining block excluding the at least one valid block based on the edit object divided into the at least one block. 15.The method of any one of claims 10 to 12, further comprising: in response to performing a re-edit function on the first image, identifying the at least one compressed data corresponding to the first image; identifying the integrated block included in the at least one compressed data by decompressing the identified at least one compressed data; restoring the at least one edit object based on the at least one valid block included in the identified integrated block; and inputting the restored at least one edit object into the first image.