Electronic device and method for managing editing object by using same
By compressing and managing editing-related information into important and non-critical blocks, the electronic device addresses storage challenges and enhances re-editing efficiency and user convenience.
Patent Information
- Application Number
- PCT/KR2024/009803
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-07-20
- Filing Date
- 2024-07-09
- Publication Date
- 2025-01-23
AI Technical Summary
Existing electronic devices face challenges in efficiently managing and storing editing-related information for images and videos, leading to difficulties in re-editing and insufficient storage space due to the storage of all editing information and processes.
The electronic device efficiently compresses and manages editing-related information by separating it into important and non-critical blocks, allowing for efficient storage and quick decompression, enabling effective re-editing and optimizing storage space.
This approach improves user convenience by allowing seamless re-editing and efficient storage of editing information, reducing the time required for compression and decompression operations, and optimizing memory usage.
Smart Images

Figure KR2024009803_23012025_PF_FP_ABST
Abstract
Description
Electronic device and method for managing editing objects using the same
[0001] Embodiments of the present disclosure relate to an electronic device and a method for managing an editing object using the same.
[0002] An electronic device having a camera module can capture an image (e.g., an image, an image frame) and then provide various types of decorative effects (e.g., applying a filter, tone correction, cropping, face correction, auto correction, applying a dual mode filter, entering a sticker, entering text (e.g., pen)). The electronic device can use an editing function to at least partially apply the decorative effects to the captured image.
[0003] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.
[0004] An electronic device with a camera module can capture video (e.g., an image) and perform an editing function to at least partially edit the captured video. The electronic device can perform editing functions on the captured video using various editing application programs. For example, an application that provides an editing function can separately store the original video and editing-related information, but further editing (e.g., modification, addition, deletion, change) of the editing-related information may be difficult. When performing a secondary editing function after performing a primary editing function, further editing following the primary editing may be difficult. Meanwhile, even when a secondary editing function is provided, the issue of insufficient storage space may arise because both the editing information and the editing process related to the primary editing are stored.
[0005] According to one embodiment, an electronic device can separately store and manage original video and editing-related information. 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 an editing process, and manage the compressed information by matching it to the original video. When performing a re-editing function, the electronic device can quickly decompress the stored original video and editing-related information, thereby improving the usability of the re-editing (e.g., subsequent editing) function.
[0006] When re-editing an edited video, the electronic device can individually store the original video and editing-related information from the first editing stage, allowing for modification of any decorative effects applied in a previous editing stage (e.g., the first editing stage). For example, during 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.
[0007] The electronic device can store the original video and editing-related information generated during the editing process, and when re-editing, can provide additional editing for previously applied decorative effects.
[0008] The technical tasks to be achieved in this document are not limited to the technical tasks mentioned above, and other technical tasks not mentioned will be clearly understood by those with ordinary skill in the technical field to which this document pertains from the description below.
[0009] According to one embodiment, an electronic device may include a display, a memory storing 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 individually or collectively executed by the one or more processors, the electronic device may, in response to performing an editing function on a first image, identify an editing object to be added to the first image, determine a size of at least one block based on information about the editing object, segment the editing object based on at least one block of the determined size, extract at least one significant block, in which the editing object is at least partially included, from among the at least one block, and store an integrated block generated based on the at least one significant block.
[0010] According to one embodiment, a method for managing an editable object may include, in response to performing an edit function on a first image, an operation of checking an editable object to be added to a first image, an operation of determining a size of at least one block based on information of the editable object, an operation of segmenting the editable object based on at least one block of the determined size, an operation of extracting at least one important block, in which the editable object is at least partially included, from among the at least one block, and an operation of storing an integrated block generated based on the at least one important block.
[0011] According to one embodiment, a non-transitory computer-readable storage medium (or, a computer program product) storing one or more programs may be described. According to one embodiment, 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, an operation of identifying an editing object to be added to a first image, an operation of determining a size of at least one block based on information about the editing object, an operation of segmenting the editing object based on the at least one block whose size has been determined, an operation of extracting at least one important block, in which the editing object is at least partially included, from among the at least one block, and an operation of generating an integrated block based on the at least one important block.
[0012] According to one embodiment, an electronic device may provide a method for efficiently compressing and decompressing original video and editing-related information while separately storing and managing the original video and editing-related information. For example, the editing-related information may include various types of decorative effects, such as applying effects set based on the original video (e.g., applying a filter, tone correction, color correction), or additionally inputting editing objects (e.g., drawing objects, stickers, text, speech bubbles). When managing the editing objects, the electronic device may separate the editing objects into important blocks and non-important blocks according to the characteristics of the editing objects, and perform a compression operation by extracting only the important blocks.
[0013] According to one embodiment, an electronic device can efficiently determine the size of blocks when dividing an editing object into important blocks and non-important blocks, and perform an operation of compressing blocks classified as important blocks or decompressing blocks classified as important blocks. The electronic device can separately integrate and manage only blocks corresponding to important blocks, 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 in performing editing functions.
[0014] According to one embodiment, the electronic device can perform additional editing functions following the editing sequence of a previous editing step, and can provide "undo" and "redo" functions according to the editing function. By separately managing editing-related information, the electronic device can efficiently utilize memory storage space and perform compression and decompression operations of editing-related information more quickly. The electronic device can improve user convenience when performing editing functions on images.
[0015] The effects that can be obtained from the present disclosure are not limited to the effects mentioned above, and other effects that are not mentioned can be clearly understood by a person having ordinary skill in the art to which the present disclosure belongs from the description below.
[0016] In connection with the description of the drawings, the same or similar reference numerals may be used for the same or similar components.
[0017] FIG. 1 is a block diagram of an electronic device within a network environment according to one embodiment of the present disclosure.
[0018] FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure.
[0019] FIG. 3 is an exemplary diagram illustrating an editing object management process according to one embodiment of the present disclosure.
[0020] FIG. 4 is an exemplary diagram illustrating an editing object application process according to one embodiment of the present disclosure.
[0021] FIG. 5 is a flowchart illustrating a method for managing an editing object according to one embodiment of the present disclosure.
[0022] FIG. 6 is an exemplary diagram illustrating a method for extracting at least one edited object from an image or video according to one embodiment of the present disclosure.
[0023] FIG. 7A is a 1-1 example diagram illustrating a method for determining the size of a block based on an editing object according to one embodiment of the present disclosure.
[0024] FIG. 7b is a first example diagram illustrating a method for integrating and managing extracted important blocks according to one embodiment of the present disclosure.
[0025] FIG. 8A is a second exemplary diagram illustrating a method for determining the size of a block based on an editing object according to one embodiment of the present disclosure.
[0026] FIG. 8b is a second exemplary diagram illustrating a method for integrating and managing extracted important blocks according to one embodiment of the present disclosure.
[0027] FIG. 9A is a 3-1 example diagram illustrating a method for synthesizing a first integrated block based on a first editing object and a second integrated block based on a second editing object into one block and managing the synthesized block according to one embodiment of the present disclosure.
[0028] FIG. 9b is a diagram illustrating a method for managing remaining storage areas according to the size difference of blocks when synthesizing a plurality of integrated blocks into one block according to one embodiment of the present disclosure. FIG.
[0029] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components. Furthermore, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and conciseness.
[0030] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0031] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0032] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, in the electronic device (101) itself where artificial intelligence is performed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0033] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0034] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0035] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0036] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0037] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0038] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0039] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0040] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0041] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0042] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0043] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0044] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
[0045] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0046] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0047] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0048] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas by, for example, the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0049] In one embodiment, the antenna module (197) may form a mmWave antenna module. In one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high-frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high-frequency band.
[0050] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0051] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0052] FIG. 2 is a block diagram of an electronic device according to one embodiment of the present disclosure.
[0053] The electronic device (101) of FIG. 2 (e.g., the electronic device (101) of FIG. 1) may be at least partially similar to the electronic device (101) of FIG. 1, or may further include other embodiments of the electronic device. For example, the electronic device (101) may have installed therein an application program that provides an editing function for a video or an image (e.g., an image frame). The electronic device (101) may apply a specific effect to the image, or may additionally input an editing object (e.g., a decoration object) to a portion of the image.
[0054] According to one embodiment, the electronic device (101) may perform an editing function on at least one of an image (e.g., an original image, an image, an image frame) captured using a camera (e.g., a camera module (180) of FIG. 1) or an image stored in a memory (e.g., a memory (130) of FIG. 1). For example, the editing function may include a function of applying a specific effect (e.g., sepia, black and white, emphasis) set to an image (e.g., an image), or a function of adding an editing object (e.g., a sticker, a cutout image, a speech bubble, text, a drawing input, a pen input) to a portion of an image.
[0055] Referring to FIG. 2, the electronic device (101) may include a processor (e.g., processor (120) of FIG. 1), memory (e.g., memory (130) of FIG. 1), a display (e.g., display module (160) of FIG. 1), and / or communication circuitry (e.g., communication module (190) of FIG. 1). 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 circuitry (190).
[0056] According to one embodiment, the processor (120) may include at least one processor including a processing circuit. According to one embodiment, the memory (130) may store instructions that the processors (120) (e.g., at least one processor) individually or collectively execute.
[0057] According to one embodiment, the processor (120) of the electronic device (101) may execute a program (e.g., program (140) of FIG. 1) stored in the memory (130) to control at least one other component (e.g., hardware or software component) and perform various data processing or operations. For example, the processor (120) may execute an application program that provides an editing function for an image (e.g., a video, an image frame). Based on the application program, the processor (120) may apply a specific effect to the image or additionally input an editing object (e.g., a decoration object) to a portion of the image. For example, the processor (120) may additionally input an editing object to the image by performing the editing function.
[0058] According to one embodiment, the processor (120) may include an edit object management module (201) for managing edit objects, and the edit object management module (201) may perform an edit function related to the edit object. For example, in response to performing the edit function, the edit object management module (201) may perform an operation of creating an edit object, inputting an edit object into an image, or removing an edit object added to an image. The edit object management module (201) may perform an operation of storing an edit object in a memory (130), or an operation of loading an edit object stored in the memory (130). According to one embodiment, the electronic device (101) may perform various functions related to an edit object under the control of the edit object management module (201).
[0059] According to one embodiment, the memory (130) may include an original image storage area (211) for storing an original image (e.g., a first image) based on an image (e.g., an image, an image frame) captured using a camera (e.g., a camera module (180) of FIG. 1). The memory (130) may include an edited object storage area (212) for storing an edited object according to the performance of an editing function. The memory (130) may include a metadata storage area (213) for storing edited meta information related to the edited object according to the performance of the editing function. Referring to FIG. 2, the memory (130) is divided into an original image storage area (211), an edited object storage area (212), and a metadata storage area (213) as storage spaces, but is not limited thereto.
[0060] According to one embodiment, the original image storage area (211), the edited object storage area (212), and the metadata storage area (213) may be physically separated storage spaces of the memory (130) or may be logically separated storage spaces. According to one embodiment, the electronic device (101) may store the original image storage area (211), the edited object storage area (212), and the metadata storage area (213) separately based on a separate additional memory (not shown) rather than the memory (130). According to one embodiment, the electronic device (101) may also distinguish the original image storage area (211), the edited object storage area (212), and the metadata storage area (213) based on a storage space of an external device (e.g., a server (server (108) of FIG. 1), a cloud server) (e.g., a storage space of a cloud server).
[0061] According to one embodiment, when performing an editing function on a first image, the electronic device (101) may distinguish between the first image and editing information based on the editing function, and store each separately. For example, the editing information may include an editing object and editing meta-information (e.g., editing meta-data) related to the editing object. For example, the first image may be stored in an original image storage area (211), the editing object among the editing information may be stored in an editing object storage area (212), and the editing meta-information among the editing information may be stored in a meta-data storage area (213).
[0062] According to one embodiment, the processor (120) may store a first image (e.g., an original image) and a first edited object additionally input to the first image according to the performance of an editing function in the memory (130). For example, the processor (120) may store the first image in the original image storage area (211) and may store the first edited object additionally input to the first image in the edited object storage area (212). The processor (120) may store first edited metadata related to the first edited object in the metadata storage area (213). According to one embodiment, in addition to the memory (130), the processor (120) may distinguish and store the first image, the first edited object, and the first edited metadata based on the storage space of a server (e.g., a cloud server), which is an external device. According to one embodiment, when loading a first image, the processor (120) can check a first edit object and first edit meta information corresponding to the first image.
[0063] According to one embodiment, when the processor (120) performs a re-editing function for a first image, the processor (120) can check a first edit object and first edit meta information corresponding to the first image, and based on the first edit object and the first edit meta information, can additionally input the first edit object to the first image.
[0064] According to one embodiment, when storing an edit object according to an edit function in the edit object storage area (212), the processor (120) may divide the entire display area of the edit object into a plurality of blocks, and may classify the plurality of blocks into important blocks and non-important blocks. For example, the processor (120) may set a first display area in a rectangular shape based on the size of the edit object. When the edit object is completely included in the first display area, the processor (120) may determine the first display area as the entire display area of the edit object. According to one embodiment, the processor (120) may divide the entire display area including the edit object into a plurality of blocks. For example, the processor (120) may divide the entire display area of the edit object into a plurality of blocks having substantially the same size. As another example, the processor (120) may dynamically divide the blocks into blocks whose size (e.g., block size) and shape are changed depending on the size and shape of the edit object. According to one embodiment, the plurality of blocks are not limited to blocks having the same size, and the size and shape may be modified depending on the size and shape of the editable object. For example, a significant block may include a block that includes at least a portion of the editable object. A non-significant block may include a block that does not include the editable object. According to one embodiment, the electronic device (101) may check block coordinate information corresponding to each of the plurality of blocks, and may check editable object coordinate information corresponding to the editable object. For example, if the block coordinate information and the editable object coordinate information at least partially match, the corresponding block may be classified as an important block. If the block coordinate information and the editable object coordinate information do not match, the corresponding block may be classified as a non-significant block.According to one embodiment, among a plurality of blocks included in the entire display area, the remaining blocks excluding the important blocks may be classified as non-important blocks. According to one embodiment, the non-important blocks may include at least three blocks having the same pixel value. According to one embodiment, the non-important blocks may include blocks containing pixel information having a fully transparent value (e.g., ARGB(00000000)).
[0065] According to one embodiment, the processor (120) may extract at least one first important block, which is classified as an important block, based on the first edited object, and may classify the extracted at least one first important block as an important block corresponding to the first edited object. For example, the first edited object may be input based on one layer. The electronic device (101) may arrange at least one first important block, which is classified as an important block, in a side-by-side manner, and may perform an integration operation to integrate the arranged important blocks into one block, thereby generating a first integrated block. According to one embodiment, the processor (120) may perform a compression operation on the first integrated block corresponding to the first edited object. The processor (120) may generate compressed data (e.g., the first integrated block) by the compression operation, and may store the compressed data in the edited object storage area (212).
[0066] According to one embodiment, when a second edit object is input after a first edit object is input in accordance with the performance of an editing function, the processor (120) may generate a first integrated block corresponding to the first edit object and generate 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 a plurality of integrated blocks are identified), the processor (120) may generate a third integrated block based on the first integrated block and the second integrated block, and perform a compression operation on the third integrated block. The processor (120) may generate compressed data (e.g., the third integrated block) by the compression operation, and store the compressed data in the edit object storage area (212).
[0067] According to one embodiment, when a plurality of edit objects (e.g., a first edit object, a second edit object) are added to a first image (e.g., an original image) by performing an editing function, the electronic device (101) can distinguish and recognize the first image and the plurality of edit objects. For example, the electronic device (101) can use a detection technology that separately recognizes the background image and the subject while separating the background image (e.g., the first image) and the subject (e.g., the edit object), and can distinguish and recognize the first image corresponding to the background image and the plurality of edit objects corresponding to the subject.
[0068] According to one embodiment, when a plurality of edit objects (e.g., a first edit object, a second edit object) are added to a first image (e.g., an original image) according to the performance of an editing function, the electronic device (101) can hierarchically distinguish the first edit object and the second edit object. For example, when the first edit object is added first, the electronic device (101) can additionally input the first edit object based on the first layer. After the first edit object is added, when the second edit object is added, the electronic device (101) can additionally input the second edit object based on the second layer. For example, the first layer and the second layer can be set based on the size of the first image and can be divided into a plurality of blocks. According to one embodiment, the plurality of blocks can include pixel information having a fully transparent value (e.g., ARGB(00000000)). In one embodiment, the editing object is not limited to one layer. For example, multiple editing objects may be input based on a single layer.
[0069] According to one embodiment, when a first editable object is input based on a first layer, a block including at least a portion of the first editable object may include pixel information of a specific value and may be classified as an important block. According to one embodiment, when a first editable object is input based on a first layer, a block not including the first editable object may include pixel information of a fully transparent value (e.g., ARGB(00000000)) and may be classified as a non-important block. The non-important block may include the remaining blocks from which the important block is excluded. For example, the electronic device (101) may extract a first important block corresponding to the first editable object based on the first layer, and may extract a second important block corresponding to the second editable object based on the second layer. The electronic device (101) can input each editing object for each layer, and can distinguish and recognize the first editing object for the first layer and the second editing object for the second layer even if the editing objects are visually displayed overlapping each other.
[0070] According to one embodiment, the processor (120) may obtain coordinate information corresponding to important blocks and non-important blocks, and generate index information for each block based on the obtained coordinate information. For example, the processor (120) may extract important blocks and non-important blocks based on the index information, and may confirm the location of each block based on the index information. In response to the performance of the re-editing function, the processor (120) may confirm the location of the edited object based on the index information of the important blocks constituting the edited object when adding the edited object to the first image (e.g., the original image). The processor (120) may additionally input the edited object to the first image, and display a user interface according to the re-editing function through a display (e.g., the display module (160) of FIG. 1).
[0071] According to one embodiment, the processor (120) may extract an important block corresponding to the edited object when storing the edited object in the memory (130) and may generate an integrated block based on the extracted important block. The electronic device (101) may compress the generated integrated block and store the compressed information (e.g., compressed data) in the edited object storage area (212). According to one embodiment, information related to the edited object refers to edited meta information, and the edited meta information may be stored in the meta data storage area (213) of the memory (130). The edited meta information may include at least one of size information, position information, coordinate information, inclination information, color information, brightness information, block size information, important block information, non-important block information, input time information, input order information, and index information corresponding to the edited object.
[0072] According to one embodiment, the processor (120) may extract only the important blocks corresponding to the editable object, perform a compression operation in the form of an integrated block, and reduce the amount of data for the editable object. For example, first compressed data in which only the important blocks of the editable object are compressed and stored may have a relatively smaller amount of data than second compressed data in which the entire image including the editable object (e.g., both the important blocks and the non-important blocks) are compressed and stored. According to one embodiment, since the first compressed data has a relatively smaller capacity than the second compressed data, the first time required for the compression operation and the decompression operation for the first compressed data may be relatively reduced compared to the second time required for the compression operation and the decompression operation for the second compressed data. According to one embodiment, since the first compressed data has a relatively smaller capacity than the second compressed data, the storage space of the memory (130) may be efficiently utilized. According to one embodiment, the electronic device (101) performs a compression operation by extracting only important blocks for an editing object, and performs a decompression operation on compressed data composed of only important blocks, so that the loading and processing time for the editing object can be relatively fast. According to one embodiment, the electronic device (101) reduces the number of compressions and decompressions as a plurality of blocks are integrated and created as a single integrated block, and the processing time according to the compression operation and the decompression operation can be reduced. According to one embodiment, the convenience of the user according to the performance of the editing function can be improved.
[0073] According to one embodiment, the electronic device (101) can distinguish and recognize a first image (e.g., an original image), an edited object, and edited meta information related to the edited object, and individually store them in different storage areas. According to one embodiment, when performing a re-editing function on the first image, the processor (120) can individually load the first image, the first edited object input to the first image, and the first edited meta information related to the first edited object. The processor (120) can additionally input the first edited object to the first image based on the first edited meta information. When performing the re-editing function, the processor (120) can display an edited image in which a previous edited function is reflected (e.g., an edited image in which the first edited object is additionally input to the first image) through a display (e.g., a display module (160) of FIG. 1).
[0074] According to one embodiment, the electronic device (101) may perform a second editing function (e.g., a re-editing function) after the first editing function is completed (e.g., after the first editing meta-information is stored), and may update the first editing meta-information according to the performance of the first editing function. For example, when performing the second editing function, the electronic device (101) may load the first editing meta-information, and may add second editing meta-information according to the second editing function based on the first editing meta-information. According to one embodiment, the electronic device (101) may manage and store editing meta-information by version according to the number of editing functions. According to one embodiment, when performing the editing function, the electronic device (101) may load editing meta-information based on a specific version, and display an edited image in which the loaded editing meta-information is reflected.
[0075] According to one embodiment, the processor (120) may display a user interface (UI) of the application program through the display (160) in response to execution of an application program providing an editing function. In response to performing the editing function, the processor (120) may display a first image (e.g., an original image) and additionally input at least one editing object. According to one embodiment, the processor (120) may check coordinate information corresponding to a display area based on the display (160), and when at least one editing object is input, may obtain coordinate information corresponding to a position of the at least one editing object. The processor (120) may store and manage information related to at least one editing object (e.g., at least one of size information, position information, coordinate information, tilt information, color information, brightness information, block size information, important block information, unimportant block information, input time information, input order information, and index information corresponding to the editing object) as editing meta information. According to one embodiment, the processor (120) can distinguish and manage first edit meta information according to the first editing function and second edit meta information according to the second editing function. According to one embodiment, after performing the first editing function, when the second editing function is performed, the processor (120) can reflect the added or changed information based on the first edit meta information and generate the second edit meta information. The processor (120) can distinguish and manage the first edit meta information and the second edit meta information, and can return to the first edited image at the time when the first editing function is completed based on the first edit meta information, or can return to the second edited image at the time when the second editing function is completed based on the second edit meta information.According to one embodiment, the electronic device (101) may support a roll back function according to an editing function.
[0076] According to one embodiment, the processor (120) may perform network communication with an external electronic device (e.g., the electronic device (102, 104) of FIG. 1, the server (108)) through the communication circuit (190). For example, the processor (120) may share data (e.g., data related to an editing function) with the external electronic device through the communication circuit (190). The processor (120) may provide an edited image according to the performance of the first editing function to the external electronic device. For example, the edited image may include a first image (e.g., an original image) stored in an original image storage area (211), an edited object stored in an edited object storage area (212), and edited metadata stored in a metadata storage area (213). The processor (120) may individually transmit the first image, the edited object, and the edited metadata to the external electronic device so as to be distinguished. For example, when performing a re-editing function on an external electronic device, a second editing function may be additionally performed following the editing process performed according to the first editing function.
[0077] According to one embodiment, the processor (120) may obtain editing objects and editing meta-information related to the first image from an external electronic device via the communication circuit (190). For example, when performing an editing function on the first image, the processor (120) may reflect the obtained editing objects and editing meta-information based on the first image. The processor (120) may perform additional editing functions following the editing process performed on the external electronic device.
[0078] According to one embodiment, the electronic device (101) can individually distinguish and manage the original image (e.g., the image before the editing function is performed) and the editing information resulting from the execution of the editing function. The electronic device (101) can store first editing information resulting from the execution of the first editing function for the same original image, and can store second editing information resulting from the execution of the second editing function. For example, the second editing information can include additionally generated editing information based on the first editing information. According to one embodiment, the editing information can include information on an editing object additionally input to the original image and editing meta-information related to the editing object. For example, the editing meta-information (e.g., editing meta-data) can include index information indicating a plurality of editing operations occurring in the editing process resulting from the execution of the editing function and an occurrence order of the plurality of editing operations. According to one embodiment, the electronic device (101) can individually distinguish and store the original image (e.g., the first image), the editing object, and the editing meta-information in the memory (130).
[0079] According to one embodiment, the electronic device (101) can individually store a first image (e.g., an original image), an edited object, and edited meta information. When performing a re-editing function, the processor (120) can check the editing order processed in the previous editing function based on the edited meta information, and can perform an “undo function” and a “redo function.” For example, when a second editing function is performed after the first editing function is performed, the processor (120) can additionally input a second edited object according to the second editing function based on an edited image in which a first edited object is additionally input to the first image based on the first editing function.
[0080] According to one embodiment, the electronic device (101) can individually store or manage edited objects when edited objects are added to the original image according to the execution of an editing function. The electronic device (101) can reduce the time required to store the compressed edited objects in the memory (130) as the amount of data is reduced due to the compression of the edited objects. The electronic device (101) can also reduce the time required to load an edited image to which an editing function has previously been applied according to the execution of a re-editing (e.g., subsequent editing) function. The amount of compressed data for storing edited objects can be reduced, and the time required to store or load edited objects can be reduced. According to one embodiment, user convenience can be improved according to the execution of the editing function.
[0081] According to one embodiment, an electronic device (e.g., the electronic device (101) of FIGS. 1 and 2) may include a display (e.g., a display module (160) of FIG. 1), a memory (e.g., the memory (130) of FIGS. 1 and 2) storing one or more computer programs, and one or more processors (120) operatively connected to the display (160) and the memory (130). According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) may, in response to performing an editing function on a first image, identify an editing object to be added to the first image, determine a size of at least one block based on information of the editing object, segment the editing object based on at least one block of the determined size, extract at least one important block, in which the editing object is at least partially included, from among the at least one block, and store an integrated block generated based on the at least one important block.
[0082] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) may 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).
[0083] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) can, in response to the execution of the re-editing function for the first image, identify at least one compressed data corresponding to the first image, decompress the identified at least one compressed data, 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.
[0084] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) can determine the size of at least one block based on the thickness of the pen, if the editing object is a drawing object created based on pen input.
[0085] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) can determine the size of at least one block based on a preset size corresponding to the sticker object, if the editing object is a preset sticker object.
[0086] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) can determine the size of at least one block based on the size of the text object when the editing object is a text object, and can determine the size of at least one block based on the size of the speech bubble when the editing object is a speech bubble object.
[0087] According to one embodiment, at least one important block may include a block whose pixel information is at least partially changed by the input of the editing object, based on pixel information based on the first image.
[0088] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) can extract the remaining blocks, excluding at least one important block, as at least one non-important block based on an edit object divided into at least one block.
[0089] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) can identify a first integrated block generated based on a first editable object among the editable objects and having first index information. The processor (120) can identify a second integrated block generated based on a second editable object among the editable objects and having second index information. The processor (120) can generate a third integrated block having third index information based on the first integrated block and the second integrated block.
[0090] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) can determine a third size of a 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.
[0091] According to one embodiment, when the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) can, in response to execution of a re-editing function for the first image, identify at least one compressed data corresponding to the first image, decompress the identified at least one compressed data, identify an integrated block included in the at least one compressed data, restore at least one edited object based on at least one important block included in the identified integrated block, and input the restored at least one edited object to the first image.
[0092] FIG. 3 is an exemplary diagram illustrating an editing object management process according to one embodiment of the present disclosure.
[0093] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0094] According to one embodiment, operations 300 to 322 may be understood to be performed in a processor (e.g., processor (120) of FIGS. 1 and 2) of an electronic device (e.g., electronic device (101) of FIGS. 1 and 2).
[0095] The electronic device (101) of FIG. 3 may be at least partially similar to the electronic device (101) of FIGS. 1 and 2, or may further include other embodiments of the electronic device. For example, the electronic device (101) may have an application program installed in a memory (e.g., the memory (130) of FIGS. 1 and 2) that provides an editing function for a first image (e.g., an original image). In response to performing the editing function, the electronic device (101) may identify an editing object additionally input to the first image, and may individually manage the first image and the editing object.
[0096] The editing object management process (300) of FIG. 3 illustrates a storage process for an editing object added to the first image. The electronic device (101) can separate the first image and the editing object and manage them individually.
[0097] In operation 301, the processor (120) of the electronic device (101) may separate at least one editable object input into a first image (e.g., an original image) from the first image. For example, the first image may be implemented as a structure in which a plurality of layers are hierarchically overlapped. When a first editable object is input into the first image, the processor (120) may additionally input the first editable object based on the first layer. When displaying the edited image to which the first editable object is added based on the first image, the processor (120) may implement the edited image in a form in which the first layer is overlapped on top of the first image, and in this case, the first editable object input into the first layer may be displayed in a form in which it at least partially overlaps a portion of the first image. According to one embodiment, the processor (120) may separate and confirm the first editable object input into the first image and the first layer.
[0098] In operation 302, the processor (120) may determine the size of at least one block that divides the first editable object. For example, the first editable object may be divided into a plurality of blocks, each block having a predetermined size. For example, if the first editable object is a drawing object based on pen input, the size of at least one block may be determined based on the thickness of the pen. The size of at least one block may be determined to be smaller by a predetermined length than the reference value, or larger by a predetermined length than the reference value, with the thickness of the pen as a reference value. For example, if the first editable object is a sticker object, the size of at least one block may be determined based on a size (e.g., width, height) of the sticker object. If the size of the sticker object is set to a “720*720” pixel size, the processor (120) may determine the size of at least one block to a “720*720” pixel size. For example, if the first editable object is a text object, the size of at least one block may be determined based on a preset size of the text object. Alternatively, if the first editing object is a speech bubble object, the size of at least one block may be determined as a preset size of the speech bubble object.
[0099] In operation 303, the processor (120) may extract an important block based on at least one block that divides the first editable object. For example, the important block may include at least one block in which the editable object is at least partially included. According to one embodiment, the electronic device (101) may check block coordinate information corresponding to each of a plurality of blocks, and may check first editable object coordinate information corresponding to the first editable object. For example, if the block coordinate information and the first editable object coordinate information at least partially match, the block including the matched coordinate information may be classified as an important block. If the block coordinate information and the editable object coordinate information do not match, the corresponding block may be classified as a non-important block. According to one embodiment, among the plurality of blocks, the remaining blocks excluding the important block may be classified as non-important blocks. According to one embodiment, the important block may include at least one block in which the coordinate information has changed as the first editable object is added. In one embodiment, a critical block may include at least one block whose pixel information is at least partially changed due to the addition of the first edit object. In contrast, a non-critical block may include at least one block whose pixel information is not changed even if the first edit object is added.
[0100] In operation 304, the processor (120) may generate an integrated block based on the extracted important block. For example, the processor (120) may generate an integrated block of a set size based on the extracted important block. The extracted important block may be implemented with a fixed size. The processor (120) may generate the integrated block in a form in which the important blocks are arranged side by side in a vertical direction, or may generate the integrated block in a form in which the important blocks are arranged side by side in a horizontal direction. According to one embodiment, the size and shape of the integrated block are not limited, and the integrated block may be generated according to preset conditions. According to one embodiment, the size and shape of the integrated block may be determined based on a storage area, a storage space, and a storage method.
[0101] In operation 306, the processor (120) may repeat operations 302 to 304 as many times as the number of edit objects added to the first image. For example, if operations 302 to 304 are performed primarily, the processor (120) may generate a first integrated block according to a first cycle. If operations 302 to 304 are performed secondarily, the processor (120) may generate a second integrated block according to a second cycle. The processor (120) may generate a third integrated block by integrating the first integrated block and the second integrated block. According to one embodiment, the processor (120) may store the process of generating the integrated block and the order in which the integrated blocks are generated as edit meta information corresponding to the edit object in the memory (130).
[0102] In operation 305, the processor (120) may perform a compression operation to compress the integrated block and generate compressed data. For example, the processor (120) may extract only important blocks for the first edit object and generate compressed data based on the extracted important blocks.
[0103] According to one embodiment, the processor (120) can perform operations 301 to 306 included in the edit object management process (300), and generate compressed data in which the integrated block is compressed.
[0104] In operation 321, the processor (120) can store the generated compressed data in a memory (130) (e.g., the edit object storage area (212) of FIG. 2).
[0105] According to one embodiment, the processor (120) can extract important blocks for the first edited object and generate an integrated block based on the extracted important blocks. By generating the first compressed data based on the integrated block, the processor (120) can reduce the amount of data for the first compressed data. For example, the first compressed data in which only the important blocks of the first edited 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 edited object is compressed and stored.
[0106] In operation 311, the processor (120) may obtain information related to the edit object (e.g., edit meta information) while the management process according to operations 301 to 304 is in progress. For example, the information related to the edit object may be stored as edit meta information in the memory (130) (e.g., the meta data storage area (213) of FIG. 2). The edit meta information may include at least one of size information, position information, coordinate information, inclination information, color information, brightness information, block size information, important block information, unimportant block information, input time information, input order information, and index information corresponding to the edit object. According to one embodiment, the processor (120) may distinguish the edit object and edit meta information (e.g., information related to the edit object) and store them individually in the memory (130).
[0107] In operation 322, the processor (120) may store editing meta information (e.g., information related to the editing object) in a meta data storage area (213) of the memory (130).
[0108] According to one embodiment, the electronic device (101) can distinguish and recognize a first image (e.g., an original image), a first edited object, and edited meta information related to the first edited object (e.g., information related to the first edited object), and individually store them in different storage areas.
[0109] According to one embodiment, the electronic device (101) can distinguish and identify the integrated block for each edit object management process (300). For example, the electronic device (101) can individually recognize a first integrated block generated based on the progress of the first edit object management process (300) and a second integrated block generated based on the progress of the second edit object management process (300). For another example, the electronic device (101) can generate the 1-1 integrated block based on the progress of the 1-1 edit object management process (300), and can proceed with the 1-2 edit object management process (300) in response to the performance of a re-editing (e.g., subsequent editing) function for the 1-1 integrated block. The electronic device (101) can generate the 1-2 integrated block based on the progress of the 1-2 edit object management process (300). In this case, the electronic device (101) can individually distinguish the 1-1 integrated block and the 1-2 integrated block, and can also distinguish and confirm the 1-3 integrated block in which the 1-1 integrated block and the 1-2 integrated block are integrated.
[0110] According to one embodiment, when generating an integrated block, the electronic device (101) can generate index information corresponding to each integrated block together, and can individually confirm each integrated block based on the index information.
[0111] FIG. 4 is an exemplary diagram illustrating an editing object application process according to one embodiment of the present disclosure.
[0112] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0113] According to one embodiment, operations 400 to 422 may be understood to be performed in a processor (e.g., processor (120) of FIGS. 1 and 2) of an electronic device (e.g., electronic device (101) of FIGS. 1 and 2).
[0114] The electronic device (101) of FIG. 4 may be at least partially similar to the electronic device (101) of FIGS. 1 and 2, or may further include other embodiments of the electronic device. For example, the electronic device (101) may have an application program that provides an editing function for a first image (e.g., an original image) installed in a memory (e.g., the memory (130) of FIGS. 1 and 2). In response to performing a re-editing (e.g., subsequent editing) function, the electronic device (101) may individually check a first editing object additionally input to the first image and editing meta information corresponding to the first editing object. Based on the editing meta information, the electronic device (101) may restore an edited image in which the first editing object is additionally input to the first image, and may display the restored edited image through a display (e.g., the display (160) of FIG. 2).
[0115] The process (400) of applying an edit object of FIG. 4 illustrates a process of applying a first edit object corresponding to compressed data to a first image based on edit meta information in response to the execution of a re-edit function. The electronic device (101) can individually obtain the compressed data and edit meta information for the first edit object, and can additionally apply the first edit object to the first image (e.g., original image) based on the edit meta information.
[0116] In operation 421, the processor (120) may extract compressed data stored in the memory (130) (e.g., the edit object storage area (212)). For example, the compressed data may include data in which an integrated block corresponding to the first edit object is compressed, based on the edit object management processor (300) of FIG. 3.
[0117] In operation 422, the processor (120) may extract edit meta information stored in the memory (130) (e.g., meta data storage area (213)).
[0118] The editing object application process (400) of FIG. 4 illustrates a process of loading an editing image in which a first editing object has been added to a first image. The electronic device (101) can separate the first editing object and editing meta information and manage them individually.
[0119] In operation 401, the processor (120) can decompress compressed data to obtain an integrated block, and extract an important block based on the obtained integrated block.
[0120] In operation 402, the processor (120) may generate an edit object (e.g., a first edit object) using the extracted important block.
[0121] In operation 403, the processor (120) may apply the generated edited object (e.g., the first edited object) to an image (e.g., the original image, the first image). For example, the processor (120) may check coordinate information related to the position and size of the first edited object based on edited meta information, and input the first edited object in the first image according to the checked coordinate information. The processor (120) may input the first edited object in a form that at least partially overlaps the first image. The processor (120) may display an edited image in which the first edited object is additionally input in the first image through the display (160).
[0122] According to one embodiment, the processor (120) can confirm the editing order according to the execution of the editing function based on the editing meta information, and can additionally input the first editing object to the first image according to the confirmed editing order. According to one embodiment, the processor (120) can perform an “undo function” and a “redo function” for the first image based on the confirmed editing order.
[0123] FIG. 5 is a flowchart illustrating a method for managing an editing object according to one embodiment of the present disclosure.
[0124] In the following examples, the operations may be performed sequentially, but are not necessarily sequential. For example, the order of the operations may be changed, and at least two operations may be performed in parallel.
[0125] According to one embodiment, operations 501 to 509 may be understood to be performed in a processor (e.g., processor (120) of FIGS. 1 and 2) of an electronic device (e.g., electronic device (101) of FIGS. 1 and 2).
[0126] The electronic device (101) of FIG. 5 may be at least partially similar to the electronic device (101) of FIGS. 1 and 2, or may further include other embodiments of the electronic device. For example, the electronic device (101) may have an application program that provides an editing function for a first image (e.g., an original image) installed in a memory (e.g., the memory (130) of FIGS. 1 and 2). In response to performing the editing function, the electronic device (101) may identify an editing object additionally input to the first image, and may individually manage the first image, the editing object, and editing meta information related to the editing object.
[0127] In operation 501, the processor (120) of the electronic device (101) may identify an event in which an editing object (e.g., a first editing object) is input based on a first image (e.g., an original image, an image frame). For example, the processor (120) may identify an event in which an editing object is additionally input based on the execution of the editing function based on the first image, while an application program providing an editing function is running. For example, the editing object may include at least one of a drawing object, a sticker object, a cutout image, a speech bubble, and a text object based on a pen input (e.g., a drawing input). The processor (120) may input the editing object based on the first layer so as to be distinguished from the first image, and identify an event in response to the input of the input object. For example, the editing object may be added based on the first layer so as not to change the first image, and may be displayed in a form that at least partially overlaps the first image. The first layer may be displayed in a form that overlaps the first image as a virtual layer hierarchy. According to one embodiment, the electronic device (101) can provide a user with an edited image in which at least one editable object included in a first layer at least partially overlaps a first image.
[0128] In operation 503, the processor (120) may determine the size of a block based on editable object information. For example, the editable object information may include editable meta information related to the editable object. According to one embodiment, the editable object information may include various information related to the editable object to determine whether the editable object is a drawing object, a sticker object, or a text object. For example, if the editable object is a drawing object, the processor (120) may determine the size of a block based on the thickness of an input means (e.g., a pen) through which the drawing object is input. For another example, if the editable object is a sticker object, the processor (120) may determine the size of a block based on the size (e.g., width, height) of the sticker object. For another example, the processor (120) may set a first display area based on the size (e.g., horizontal length, vertical length) and area of the editing object, and may identify a first area occupied by the editing object within the first display area and a second area, which is a remaining area excluding the first area within the first display area. According to one embodiment, the first display area is not limited to a specific shape and may be set in various shapes (e.g., square, circular, polygonal, rectangular, non-square). According to another embodiment, the processor (120) may also determine the size of a block based on the identified second area.
[0129] In operation 505, the processor (120) may distinguish between important blocks and non-important blocks based on at least one block having a determined size. For example, the processor (120) may divide the entire display area of the editable object into at least one block, and determine whether the divided at least one block corresponds to an important block or a non-important block.
[0130] According to one embodiment, the processor (120) can check block coordinate information corresponding to at least one block, and check editable object coordinate information corresponding to an editable object. For example, if a first block in which the block coordinate information and the editable object coordinate information at least partially match is identified, the corresponding first block can be classified as an important block. If a second block in which the block coordinate information and the editable object coordinate information do not match is identified, the corresponding second block can be classified as a non-important block. For example, among a plurality of blocks included in the entire display area, blocks other than an important block can be classified as non-important blocks.
[0131] In one embodiment, a non-critical block may include at least three blocks having the same pixel value. For example, a non-critical block may include a block containing pixel information having a fully transparent value (e.g., ARGB(00000000)).
[0132] According to one embodiment, a significant block may include a block in which pixel information is at least partially changed in response to an event in which an editable object is input. For example, the processor (120) may segment the first layer based on at least one block. The at least one block may be a block including the same pixel information (e.g., ARGB(00000000)). When a pixel object is input based on the first layer, the processor (120) may identify at least one block in which pixel information is at least partially changed, based on the position of the input pixel object. The processor (120) may distinguish at least one block in which the pixel information is changed as a significant block. In this case, at least one block in which the pixel information is not changed may be distinguished as a non-significant block. According to one embodiment, the processor (120) may extract at least one block in which the editable object is at least partially included as a significant block.
[0133] In operation 507, the processor (120) may generate an integrated block based on the critical block. For example, the processor (120) may arrange at least one block, classified as a critical block, in parallel, and perform an integration operation to integrate the arranged critical blocks into one block, thereby generating an integrated block.
[0134] In operation 509, the processor (120) may store the compressed data of the integrated block in a memory (e.g., the memory (130) of FIGS. 1 and 2). For example, the processor (120) may perform a compression operation on the integrated block and store the compressed data resulting from the compression operation in an edit object storage area of the memory (130) (e.g., the edit object storage area (212) of FIG. 2).
[0135] According to one embodiment, the processor (120) may generate compressed data in the PNG format (e.g., a PNG file) to maintain the quality (e.g., image quality, resolution) of the edited object. For example, the processor (120) may use a lossless compression encoder to generate first compressed data (e.g., data from which only the edited object is separated) in the PNG format. In response to the performance of the re-editing function, the processor (120) may decompress the first compressed data and restore at least one edited object. The processor (120) may restore the first edited image by adding the at least one restored edited object to the first image. For example, the first edited image may perform an “undo function” and a “redo function” according to the edit function.
[0136] In another embodiment, when the final editing is completed (e.g., when a re-editing function is not required), the processor (120) may generate second compressed data (e.g., data in a state where an edited object is added to the original image) in a lossy manner (lossy compression) to improve compression efficiency. For example, the lossy manner includes a lossy compression manner, and may be a compression manner in which, when decompressed, the restored data is not exactly the same as the original data, but is restored to be close to the original data. For example, the lossy manner may be a compression manner in which the quality of the data is somewhat degraded, but the efficiency in terms of storage and management is improved. In response to the performance of the re-editing function, the processor (120) may decompress the second compressed data and restore the second edited image in a state where an edited object is added. For example, the second edited image restored based on the lossy manner may not support an “undo function” and a “redo function” according to the editing function. In another embodiment, when generating the second compressed data in a lossy manner, the processor (120) may delete information related to the edited object previously stored in the memory (130). For example, the processor (120) may delete index information (e.g., edit meta information) indicating the edit process and edit order according to the edit function.
[0137] According to one embodiment, the processor (120) may check the average number of times the re-editing function is performed on a specific image based on the usage history of the electronic device (101), and may determine, based on the average number of times, whether to perform a compression operation based on the PNG method (e.g., a lossless compression operation, a compression operation based on the lossless method) or a compression operation based on the lossy method (e.g., a lossy compression operation) based on the average number of times. For example, if the number of times the re-editing function is performed on the first image (e.g., the original image) exceeds the average number of times, the processor (120) may perform a compression operation based on the lossy method. According to one embodiment, the processor (120) may set a reference value for selecting one of the PNG method and the lossy method to an arbitrary value. According to one embodiment, if the number of times the re-editing function is performed exceeds the reference value, the processor (120) may perform a compression operation based on the lossy method when storing an edited image according to the re-editing function.
[0138] According to one embodiment, when performing a compression operation 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 in response to a user input to the notification window, may generate compressed data in the corresponding method.
[0139] According to one embodiment, the electronic device (101) may determine a size of a block corresponding to the editable object in response to an event in which an editable object is input to a first image (e.g., an original image), and segment the editable object based on at least one block having the determined size. The electronic device (101) may distinguish a block in which the editable object is at least partially included as an important block, and may extract only the important block to generate an integrated block. The electronic device (101) may store compressed data in which the integrated block is compressed in the editable object storage area (212).
[0140] According to one embodiment, the electronic device (101) may store the first image in the original image storage area (211), store compressed data corresponding to the edited object in the edited object storage area (212), and store edited metadata related to the edited object in the metadata storage area (213). When storing the edited object, the electronic device (101) may extract only blocks (e.g., important blocks) in which the edited object is at least partially included, and may generate an integrated block using only the extracted blocks (e.g., important blocks). The electronic device (101) may perform a compression operation on the integrated block to generate compressed data. According to one embodiment, the electronic device (101) may extract only important blocks for the edited object, generate an integrated block, and compress the generated integrated block, thereby minimizing the capacity of the compressed data (e.g., data in which the edited object is compressed). As the capacity of compressed data is reduced, the storage space of the memory (130) can be utilized more freely, and the time required for compression operations (e.g., operations for generating compressed data) and decompression operations can be reduced. According to one embodiment, as an integrated block is generated based on only important blocks, the capacity of the edited object can be reduced, and the processing time for compression operations and decompression operations can be reduced. According to one embodiment, as a plurality of blocks are integrated into one integrated block, the number of compressions and decompressions can be reduced, and the processing time for compression operations and decompression operations can be reduced.
[0141] According to one embodiment, when the electronic device (101) performs a re-editing function on the first image, it may load compressed data stored in the edited object storage area (212) and edited metadata stored in the metadata storage area (213). The electronic device (101) may decompress the compressed data to extract important blocks included in the integrated block. The electronic device (101) may restore the edited object based on the extracted important blocks. In response to performing the re-editing function, the electronic device (101) may additionally input the restored edited object to the first image (e.g., the original image) based on the edited metadata. According to one embodiment, as the capacity of the compressed data is reduced, the time required to perform the compression operation and the decompression operation may be reduced. According to one embodiment, as a plurality of blocks are integrated into one integrated block, the number of compressions and decompressions is reduced, and the processing time according to the compression operation and the decompression operation may be reduced.
[0142] According to one embodiment, when multiple editable objects (e.g., a first editable object and a second editable object) are input, the electronic device (101) may hierarchically add the first editable object and the second editable object to the first image. For example, the electronic device (101) may input the first editable object based on the first layer, and may input the second editable object based on the second layer. The electronic device (101) may extract at least one first block in which the first editable object is at least partially included as a first important block. The electronic device (101) may extract at least one second block in which the second editable object is at least partially included as a second important block. The electronic device (101) may individually extract an important block corresponding to each of the multiple editable objects.
[0143] According to one embodiment, in generating an integrated block, the electronic device (101) may generate a first integrated block corresponding to a first edited object and a second integrated block corresponding to a second edited object. The size of the first integrated block may be determined based on the size of the first important block. The size of the second integrated block may be determined based on the size of the second important block. As another example, the electronic device (101) may generate a third integrated block by integrating the first integrated block and the second integrated block. The size of the third integrated block may be determined based on the sizes of the first integrated block and the second integrated block. According to one embodiment, the electronic device (101) may generate first compressed data based on the first integrated block and second compressed data based on the second integrated block. The electronic device (101) may generate third compressed data based on the third integrated block.
[0144] According to one embodiment, the electronic device (101) can individually store at least one edit object and edit meta information in various ways. For example, the electronic device (101) can additionally store it within the first image, store it within a database (DB) of the memory (130), store it in a specific storage area of the memory (130), or store it in an external device (e.g., a server, a cloud server).
[0145] According to one embodiment, the first image (e.g., the original image), at least one edited object, and edited meta information may be individually stored in a state in which they are matched with each other.
[0146] FIG. 6 is an exemplary diagram illustrating a method for extracting at least one edited object from an image or video according to one embodiment of the present disclosure.
[0147] The electronic device (101) of FIG. 6 may be at least partially similar to the electronic device (101) of FIGS. 1 and 2, or may further include other embodiments of the electronic device. For example, the electronic device (101) may have an application program that provides an editing function for a first image (e.g., an original image) installed in a memory (e.g., the memory (130) of FIGS. 1 and 2). In response to performing the editing function, the electronic device (101) may identify an editing object additionally input to the first image, and may individually manage the first image, the editing object, and editing meta information related to the editing object.
[0148] Referring to FIG. 6, a processor (e.g., processor (120) of FIGS. 1 and 2) of an electronic device (101) may display, through a display (e.g., display module (160) of FIG. 1), a first image (600) (e.g., original image, image frame) and at least one editable object (611, 612, 613, 614, 615) arranged to at least partially overlap the first image (600). For example, in response to performing an edit function, the processor (120) may display the first image (600) and identify an event in which at least one editable object (611, 612, 613, 614, 615) is input.
[0149] Referring to FIG. 6, according to one embodiment, the first editing object (611) and the second editing object (612) may include drawing objects using a finger or a pen. For example, the first editing object (611) may be a drawing object having the letter “ㄱ” drawn, and the second editing object (612) may be a drawing object having the letter “ㄴ” drawn. The third editing object (613) and the fourth editing object (614) may be sticker objects. The fifth editing object (615) may be a speech bubble object. At least one editing object (611, 612, 613, 614, 615) may include at least one of a drawing object, a sticker object, a nuki image, a speech bubble, and a text object according to a pen input (e.g., a drawing input).
[0150] According to one embodiment, the electronic device (101) can recognize the order and position in which at least one editing object (611, 612, 613, 614, 615) is input hierarchically. For example, the first editing object (611) can be input based on the first layer, and the second editing object (612) can be input based on the second layer. The electronic device (101) can check index information indicating the order in which the editing objects are input. For example, when the first editing object (611) is input, the electronic device (101) can generate index information (e.g., editing meta information) indicating the input order of the first editing object (611) (e.g., editing order according to editing function). For example, the edit meta information may include at least one of size information, position information, coordinate information, inclination information, color information, brightness information, block size information, important block information, unimportant block information, input time information, input order information, and index information corresponding to the edit object. When the first edit object (611) is stored in a memory (e.g., the memory (130) of FIGS. 1 and 2), the electronic device (101) may store index information (e.g., edit meta information) corresponding to the first edit object (611) together with the first edit object (611).
[0151] FIG. 7a is a first example diagram illustrating a method for determining the size of a block based on an editing object according to one embodiment of the present disclosure. FIG. 7b is a first example diagram illustrating a method for integrating and managing extracted important blocks according to one embodiment of the present disclosure.
[0152] The electronic device (101) of FIGS. 7A and 7B may be at least partially similar to the electronic device (101) of FIGS. 1 and 2, or may further include other embodiments of the electronic device.
[0153] Referring to FIG. 7A, a first display area (710) of the first editing object (611) of FIG. 6 is illustrated. The processor (120) of the electronic device (101) can confirm an event in which the first editing object (611) is input, and can confirm the first display area (710) for the first editing object (611). The first editing object (611) may include a drawing object using a pen (e.g., an “ㄱ” object). For example, the processor (120) can confirm coordinate information corresponding to the first display area (710), and can confirm the horizontal length (721) and the vertical length (722) of the first display area (710). The processor (120) can confirm coordinate information and pixel information of the first editing object (611) based on the first layer. The processor (120) can, based on the first layer, in response to an input in which pixel information is changed, identify a first area (713) corresponding to the first edit object (611) within the first display area (710) and a second area (714) which is the remaining area excluding the first area (713) within the first display area (710).
[0154] Referring to FIG. 7A, the first editing object (611) may include a drawing object generated based on a user's gesture input (e.g., drag input, drawing input, touch input) using an input means (e.g., pen) of a certain thickness. According to one embodiment, the processor (120) may determine the size of at least one block (701, 702, 703) (e.g., block horizontal length (711), block vertical length (712)) based on the thickness of the input means (e.g., pen).
[0155] According to one embodiment, the processor (120) can divide the first display area (710) of the first editable object (611) into at least one block (701, 702, 703, 705, 706, 707). The processor (120) can distinguish a first area (713) and a second area (714) for the first editable object (611) within the at least one block (701, 702, 703, 705, 706, 707). For example, the processor (120) can distinguish a 1-1 area (713-1) in which pixel information is changed and a 2-1 area (714-1) in which pixel information is not changed, based on the first block (701). The processor (120) may determine, among a plurality of blocks dividing the first display area (710), at least one block (701, 702, 703) in which pixel information is at least partially changed by the input of the first editing object (611), as a first important block. The processor (120) may determine, among a plurality of blocks dividing the first display area (710), at least one block in which pixel information is not changed, as a first non-important block (705, 706, 707). For example, each of the plurality of blocks dividing the first display area (710) may include index information (e.g., editing meta information) indicating a location. When re-editing, the processor (120) can restore the first edited object (611) based on the index information for the first edited object (611), and can additionally input the restored first edited object (611) into the first image (e.g., the original image).
[0156] According to one embodiment, the index information may include information about the first important blocks, their respective positions, orders, and coordinate values. According to one embodiment, when restoring the first edited object (611), the electronic device (101) may determine the positions and orders of each important block based on the index information about the first important block. The electronic device (101) may restore an edited image in which the first edited object (611) is at least partially overlapped with the first image, and may display the restored edited image through the display (160).
[0157] Referring to FIG. 7B, the processor (120) may extract at least one first important block from among a plurality of blocks dividing the first display area (710), and may generate a first integrated block (730) based on the extracted at least one first important block. For example, the first important block may include at least one block (701, 702, 703) in which pixel information is at least partially changed by the input of the first edit object (611). The processor (120) may generate a first integrated block (730) composed only of the first important blocks. For example, the first integrated block (730) may be implemented in a structure in which at least one block (701, 702, 703) is coupled in parallel. 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 the sum of the vertical lengths (712) of the first block (701) times the number of important blocks. According to one embodiment, the shape of the first integrated block (730) is not limited to a specific shape, and may be implemented in various shapes depending on the storage space and storage method.
[0158] According to one embodiment, the processor (120) may generate a first integrated block (730) based on the extracted important block, and may also generate first index information corresponding to the first integrated block (730). The processor (120) may perform a compression operation on the first integrated block (730) and generate first compressed data.
[0159] FIG. 8a is a second exemplary diagram illustrating a method for determining the size of a block based on an editing object according to one embodiment of the present disclosure. FIG. 8b is a second exemplary diagram illustrating a method for integrating and managing extracted important blocks according to one embodiment of the present disclosure.
[0160] The electronic device (101) of FIGS. 8A and 8B may be at least partially similar to the electronic device (101) of FIGS. 1 and 2, or may further include other embodiments of the electronic device.
[0161] Referring to FIG. 8A, a second display area (810) of the second editing object (612) of FIG. 6 is illustrated. The processor (120) of the electronic device (101) can confirm an event in which the second editing object (612) is input, and can confirm the second display area (810) for the second editing object (612). The second editing object (612) can include a drawing object using a pen (e.g., an “ㄴ” object). For example, the processor (120) can confirm coordinate information corresponding to the second display area (810), and can confirm the horizontal length (821) and the vertical length (822) of the second display area (810). The processor (120) can confirm coordinate information and pixel information of the second editing object (612) based on the second layer. The processor (120) can, based on the second layer, in response to an input in which pixel information is changed, identify a third area (813) corresponding to the second edit object (612) within the second display area (810) and a fourth area (814) which is the remaining area excluding the third area (813) within the second display area (810).
[0162] Referring to FIG. 8A, the second editing object (612) may include a drawing object generated based on a user's gesture input (e.g., drag input, drawing input, touch input) using an input means (e.g., pen) of a certain thickness. According to one embodiment, the processor (120) may determine the size (e.g., block width (811), block height (812)) of at least one block (801, 802, 803, 804, 805) based on the thickness of the input means (e.g., pen).
[0163] According to one embodiment, the processor (120) may divide the second display area (810) of the second editable object (612) into at least one block (801, 802, 803, 804, 805). The processor (120) may distinguish a third area (813) and a fourth area (814) for the second editable object (612) within the at least one block (801, 802, 803, 804, 805). For example, the processor (120) may distinguish a 3-1 area (813-1) in which pixel information is changed and a 4-1 area (814-1) in which pixel information is not changed, based on the first block (801). The processor (120) may determine, among a plurality of blocks dividing the second display area (810), at least one block (801, 802) in which pixel information is at least partially changed by the input of the second editing object (612), as a second important block. The processor (120) may determine, among a plurality of blocks dividing the second display area (810), at least one block in which the pixel information is not changed, as a second non-important block (803, 804, 805). For example, each of the plurality of blocks dividing the second display area (810) may include index information (e.g., editing meta information) indicating a location. When re-editing, the processor (120) can restore the second edited object (612) based on the index information for the second edited object (612), and can additionally input the restored second edited object (612) into the first image (e.g., the original image).
[0164] According to one embodiment, the index information may include information about the second important blocks, their respective positions, orders, and coordinate values. According to one embodiment, when restoring the second edited object (612), the electronic device (101) may determine the positions and orders of each important block based on the index information about the second important block. The electronic device (101) may restore an edited image in which the second edited object (612) is at least partially overlapped with the first image, and may display the restored edited image through the display (160).
[0165] Referring to FIG. 8B, the processor (120) may extract at least one second important block from among a plurality of blocks dividing the second display area (810), and may generate a second integrated block (830) based on the extracted at least one second important block. For example, the second important block may include at least one block (801, 802, 803) in which pixel information is at least partially changed by the input of the second edit object (612). The processor (120) may generate a second integrated block (830) composed only of the second important blocks. For example, the second integrated block (830) may be implemented in a structure in which at least one block (801, 802) (e.g., important block) is combined 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 the sum of the vertical lengths (812) of the first block (801) times the number of important blocks. According to one embodiment, the shape of the second integrated block (830) is not limited to a specific shape, and may be implemented in various shapes depending on the storage space and storage method.
[0166] According to one embodiment, the processor (120) may generate a second integrated block (830) based on the extracted important block, and may also generate second index information corresponding to the second integrated block (830). The processor (120) may perform a compression operation on the second integrated block (830) and generate second compressed data.
[0167] FIG. 9A is a diagram illustrating a method for synthesizing a first integrated block based on a first edit object and a second integrated block based on a second edit object into a single block and managing the synthesized block according to an embodiment of the present disclosure. FIG. 9B is a diagram illustrating a diagram illustrating a method for managing remaining storage areas according to the size difference of blocks when synthesizing a plurality of integrated blocks into a single block according to an embodiment of the present disclosure.
[0168] The electronic device (101) of FIGS. 9A and 9B may be at least partially similar to the electronic device (101) of FIGS. 1 and 2, or may further include other embodiments of the electronic device.
[0169] Referring to FIG. 9A, the first integrated block (730) of FIG. 7B and the second integrated block (830) of FIG. 8B are illustrated. The processor (120) of the electronic device (101) can combine 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) can be generated based on a first important block corresponding to a first edit object (e.g., the first edit object (611) of FIG. 7A), and the second integrated block (830) can be generated based on a second important block corresponding to a second edit object (e.g., the second edit object (612) of FIG. 8A). The processor (120) can integrate the first integrated block (730) and the second integrated block (830) into one and generate a third integrated block (930).
[0170] According to one embodiment, the processor (120) can integrate the first integrated block (730) and the second integrated block (830) to generate a third integrated block (930). The processor (120) can perform a compression operation on the third integrated block (930) and generate third compressed data.
[0171] Referring to FIG. 9A, according to one embodiment, the horizontal length of the third integrated block (930) may be determined as a relatively longer horizontal length among the horizontal lengths of the first integrated block (730) and the horizontal lengths of the second integrated block (830). The vertical length of the third integrated block (930) may be determined as a length obtained by adding the vertical length (732) of the first integrated block (730) and the vertical length (832) of the second integrated block (830).
[0172] Referring to FIG. 9a, the shape of the first integrated block (730) and the shape of the second integrated block (830) are not the same, and a residual space may be generated when the first integrated block (730) and the second integrated block (830) are combined.
[0173] Referring to FIG. 9B, an enlarged view of a joining area (940) where the first integrated block (730) and the second integrated block (830) are joined in FIG. 9A is illustrated. Referring to FIG. 9B, a structure in which the first block (901) included in the first integrated block (730) and the second block (902) included in the second integrated block (830) are joined is illustrated.
[0174] Referring to FIG. 9B, the 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 a structure where the first block (901) and the second block (902) are combined, a residual space (903) may be generated. For example, the horizontal length (913) of the residual space (903) may be determined as a 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 length as the vertical length of the first block (901). For example, if the size of the remaining space (903) is such that one more first block (901) can be added, the processor (120) of the electronic device (101) can place another block included in the first integrated block (730) in the remaining space (903). The electronic device (101) can change the arrangement structure of at least one block based on the remaining space (903).
[0175] According to one embodiment, the electronic device (101) can check the remaining space based on the first integrated block (730) and the second integrated block (830) when generating the third integrated block (930). The electronic device (101) can change the arrangement structure of at least one of the first integrated block (730) and the second integrated block (830) based on the checked remaining space.
[0176] According to one embodiment, the electronic device (101) can store first index information corresponding to the first integrated block (730) by matching it with the first integrated block (730), and can store second index information corresponding to the second integrated block (830) by matching it with the second integrated block (830). The electronic device (101) can store third index information corresponding to the third integrated block (930) by matching it with the third integrated block (830). For example, the third index information can include the first index information and the second index information. The third index information can include information related to the arrangement positions and integration order of the first integrated block (730) and the second integrated block (830).
[0177] According to one embodiment, the electronic device (101) can perform a compression operation on the third integrated block (930) and generate third compressed data. The electronic device (101) can generate third compressed data including a plurality of editable objects by a single compression operation. For example, in a situation where the electronic device (101) performs a re-editing function on the third compressed data, the electronic device (101) can restore a plurality of editable objects by a single decompression operation. According to one embodiment, the electronic device (101) can reduce the storage capacity for editable objects by compressing important blocks by integrating them, and as the number of compressions is reduced, the time required to store the editable objects can be reduced.
[0178] According to one embodiment, when an edit object is added to an original image by performing an editing function, the electronic device (101) can individually store or manage the edit object. As the amount of data is reduced due to the compression of the edit object, the electronic device (101) can reduce the time required to store the compressed edit object in the memory (130). Even when loading an edited image to which an editing function has been previously applied, the electronic device (101) can reduce the time required for loading by performing a re-editing function. The amount of compressed data required to store the edit object can be reduced, and the time required to store or load the edit object can be reduced. According to one embodiment, user convenience can be improved by performing the editing function.
[0179] A method for managing an editing object according to one embodiment may include, in response to performing an editing function on a first image, an operation of confirming an editing object to be added to the first image, an operation of determining a size of at least one block based on information of the editing object, an operation of segmenting the editing object based on at least one block of the determined size, an operation of extracting at least one important block, in which the editing object is at least partially included, from among the at least one block, and an operation of storing an integrated block generated based on the at least one important block.
[0180] A method according to one embodiment may further include an operation of compressing the generated integrated block to generate at least one compressed data, and an operation of storing the generated at least one compressed data corresponding to the first image.
[0181] In one embodiment, the method may further include, in response to execution of a re-editing function for the first image, an operation of identifying at least one compressed data corresponding to the first image, an operation of decompressing the identified at least one compressed data to identify the integrated block, an operation of identifying at least one editable object included in the integrated block, and an operation of adding the at least one editable object to the first image.
[0182] According to one embodiment, the operation of determining the size of at least one block may include, when the editing object is a drawing object created based on a pen input, an operation of determining the size of the at least one block based on a thickness of the pen, when the editing object is a preset sticker object, an operation of determining the size of the at least one block based on a preset size corresponding to the sticker object, when the editing object is a text object, an operation of determining the size of the at least one block based on a size of the text object, and when the editing object is a speech bubble object, an operation of determining the size of the at least one block based on a size of the speech bubble.
[0183] According to one embodiment, the operation of extracting at least one important block may include an operation of extracting a block, in which the pixel information is at least partially changed by an input of the editing object, as the at least one important block, based on pixel information based on the first image.
[0184] A method according to one embodiment may further include an operation of extracting, based on the edit object divided into at least one block, the remaining blocks, excluding the at least one important block, as at least one non-important block.
[0185] A method according to one embodiment may further include an operation of identifying a first integrated block generated based on a first edit object among the edit objects and having first index information, an operation of identifying a second integrated block generated based on a second edit object among the edit objects and having second index information, and an operation of creating a third integrated block having third index information based on the first integrated block and the second integrated block.
[0186] A method according to one embodiment may further include an operation of determining 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 an operation of generating the third integrated block based on the third size.
[0187] In one embodiment, the method may further include, in response to execution of a re-editing function for the first image, an operation of identifying the at least one compressed data corresponding to the first image, an operation of decompressing the identified at least one compressed data to identify the integrated block included in the at least one compressed data, an operation of restoring the at least one edited object based on the at least one important block included in the identified integrated block, and an operation of inputting the restored at least one edited object into the first image.
[0188] Electronic devices according to the various embodiments disclosed in this document may take various forms. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer devices, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. Electronic devices according to the embodiments of this document are not limited to the aforementioned devices.
[0189] The various embodiments of this document and the terminology used therein are not intended to limit the technical features described in this document to specific embodiments, but should be understood to include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0190] The term "module" used in various embodiments of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0191] Various embodiments of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, 'non-transitory' simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0192] According to one embodiment, the method according to various embodiments disclosed in this document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0193] According to various embodiments, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to various embodiments, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to various embodiments, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
Claims
1. In an electronic device (101), display (160); A memory (130) storing one or more computer programs; and comprising one or more processors (120) operatively connected to the display (160) and the memory (130); When the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) causes, In response to performing an edit function on the first image, an edit object is identified to be added to the first image, Determine the size of at least one block based on the information of the above editing object, Splitting the editing object based on at least one block of the determined size, extracting at least one important block from among the above at least one block, wherein the editing object is at least partially included; An electronic device storing an integrated block generated based on at least one of the above important blocks.
2. In paragraph 1, When the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) causes, Compressing the above generated integrated block to generate at least one compressed data, An electronic device that stores at least one compressed data generated corresponding to the first image in the memory (130).
3. In clauses 1 and 2, When the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) causes, In response to the execution of the re-editing function for the first image, at least one compressed data corresponding to the first image is verified, Decompressing at least one of the compressed data identified above, and verifying the integrated block, Verify that at least one editing object is included in the above integrated block, An electronic device for adding at least one editing object to the first image.
4. In paragraph 1, When the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) causes, If the above editing object is a drawing object created based on pen input, the size of at least one block is determined based on the thickness of the pen, An electronic device that determines the size of at least one block based on a preset size corresponding to the sticker object when the above editing object is a preset sticker object.
5. In paragraph 1, When the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) causes, If the above editing object is a text object, the size of at least one block is determined based on the size of the text object, An electronic device that determines the size of at least one block based on the size of the speech bubble when the above editing object is a speech bubble object.
6. In paragraph 1, An electronic device wherein said at least one important block includes a block in which said pixel information is at least partially changed by an input of said editing object, based on pixel information based on said first image.
7. In paragraph 6, When the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) causes, An electronic device that extracts the remaining blocks, excluding the at least one important block, as at least one non-important block based on the edit object divided into at least one block.
8. In paragraph 1, When the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) causes, A first integrated block is identified that is generated based on a first editing object among the above editing objects and has first index information, A second integrated block is identified that is generated based on the second editing object among the above editing objects and has second index information, Generating a third integrated block having third index information based on the first integrated block and the second integrated block, Based on the first size of the first integrated block and the second size of the second integrated block, the third size of the third integrated block is determined, An electronic device for generating the third integrated block based on the third size.
9. In clauses 2 and 3, When the one or more computer programs are individually or collectively executed by the one or more processors (120), the electronic device (101) causes, In response to the execution of the re-editing function for the first image, at least one compressed data corresponding to the first image is verified, Decompressing at least one of the compressed data identified above, and verifying the integrated block included in the at least one compressed data, Restoring said at least one edited object based on said at least one important block included in said confirmed integrated block, An electronic device for inputting at least one restored editing object into the first image.
10. How to manage editing objects: In response to performing an editing function on a first image, an action of identifying an editing object to be added to the first image; An operation of determining the size of at least one block based on information of the above editing object; An operation of splitting the editing object based on at least one block of the determined size; An operation of extracting at least one important block from among said at least one block, wherein said editing object is at least partially included; and A method comprising: storing an integrated block generated based on at least one critical block; 11. In Article 10, An operation of compressing the generated integrated block to generate at least one compressed data; and A method further comprising: an operation of storing at least one compressed data generated corresponding to the first image; 12. In paragraph 11, In response to execution of a re-editing function for said first image, an operation of verifying at least one compressed data corresponding to said first image; An operation of verifying the integrated block by decompressing at least one of the confirmed compressed data; An action to verify at least one editing object included in the above integrated block; and A method further comprising: adding at least one editable object to the first image; 13. In paragraph 10, The operation of determining the size of at least one block is: An operation of determining the size of at least one block based on the thickness of the pen, when the above editing object is a drawing object created based on pen input; An operation of determining the size of at least one block based on a preset size corresponding to the sticker object when the above editing object is a preset sticker object; If the above editing object is a text object, an operation of determining the size of at least one block based on the size of the text object; and A method comprising: an operation of determining the size of at least one block based on the size of the speech bubble when the above editing object is a speech bubble object; 14. In paragraph 10, An operation of extracting a block in which the pixel information is at least partially changed by the input of the editing object based on pixel information based on the first image as at least one important block; and A method further comprising: an operation of extracting the remaining blocks, excluding the at least one important block, as at least one non-important block based on the edit object divided into at least one block.
15. In clauses 10 to 12, In response to execution of a re-editing function for said first image, an operation of verifying at least one compressed data corresponding to said first image; An operation of decompressing at least one of the confirmed compressed data and confirming the integrated block included in the at least one compressed data; An operation of restoring at least one edit object based on at least one critical block included in the confirmed integrated block; and A method further comprising: an operation of inputting at least one restored editing object into the first image;
Citation Information
Patent Citations
Image compression apparatus, image forming apparatus, image reading device, image compression method, computer program, and recording medium
JP2012231419A
Image processing device and image processing method
JP2016045600A
Editing support apparatus and editing support method
JP2018109845A
Electronic device and method for processing image
KR1020150097987A
Video pre-processing
US20050185045A1