Method and apparatus for managing non-destructive editing content
By partitioning the storage space for original and edited content and managing it with a hash key, the problems of wasted storage space and content security are solved, enabling non-destructive editing and cross-device content recovery.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SAMSUNG ELECTRONICS CO LTD
- Filing Date
- 2021-08-24
- Publication Date
- 2026-05-19
AI Technical Summary
Traditional electronic devices waste storage space and are prone to leakage or damage when storing original and modified content, making non-destructive editing impossible.
The original content is stored in a secure area of the storage, while the edited content and its associated metadata are stored in a common area, with access and recovery managed through a hash key.
Optimizes storage space utilization, protects original content from leakage or damage, and supports non-destructive editing and cross-device content recovery.
Smart Images

Figure CN116195259B_ABST
Abstract
Description
Technical Field
[0001] Various embodiments disclose a method and apparatus for managing content, wherein original content and edited content are stored separately, enabling non-destructive editing. Background Technology
[0002] Electronic devices can capture images (or pictures) using a camera module and modify the captured images (or images to be captured) using filters or stickers. When re-editing edited content that has already had modifications (or edits) applied, it may be possible to add new effects to the edited content, but not remove the already applied edits. Electronic devices provide a feature that allows the original content (not yet edited) to be stored separately and can be re-edited based on the original content (“non-destructive editing functionality”). Summary of the Invention
[0003] Technical issues
[0004] Traditional electronic devices store both original and modified content to achieve a 1:1 match. However, if the edited content based on the original is newly generated, the corresponding original content can also be newly generated. The original content increases proportionally with the edited content, potentially unnecessarily consuming a large proportion of the electronic device's storage space. Furthermore, traditional electronic devices allow users to access the original content, which may be leaked externally or corrupted.
[0005] Various embodiments may disclose a method and an apparatus in which original content is stored in a secure area of the memory, and edited content, including metadata as an edited version of the original content and access information of the original content, is stored in a general area of the memory.
[0006] Solution to the problem
[0007] An electronic device according to various embodiments may include: a camera module; a communication module; a memory; and a processor operatively coupled to the camera module, the communication module, and the memory, wherein the processor is configured to: acquire first content via the camera module or the communication module; generate second content based on user input by editing the first content; store the acquired first content in a secure area of the memory; and store the second content, including metadata corresponding to the second content and first content access information corresponding to the first content, in a general area of the memory, wherein the first content access information associates the first content with the second content.
[0008] Operating methods of an electronic device according to various embodiments may include: acquiring first content through a camera module or a communication module of the electronic device; generating second content by editing the first content based on user input; storing the acquired first content in a secure area of a memory in the electronic device, and storing the second content, including metadata corresponding to the second content and first content access information corresponding to the first content, in a general area of the memory, wherein the first content access information associates the first content with the second content.
[0009] Beneficial effects of the invention
[0010] According to various embodiments, one or more edited contents generated with reference to a single original content can be stored to match the single original content, thereby minimizing the storage space occupied by the image.
[0011] According to various embodiments, the original content can be stored in a secure area of the memory and managed so that users cannot access the original content or can only access the original content with specific permissions, thereby managing the original content so that it is not exposed to the outside, deleted, distorted or damaged.
[0012] According to various embodiments, edited content can be stored as associated with the original content, so that if the original content is lost or corrupted, the edited content can be used to recover (generate) the original content.
[0013] According to various embodiments, the original content can be stored on the server according to the user's choice, so that if the original content is necessary, it can be downloaded from the server and used.
[0014] According to various embodiments, original content and edited content can be sent together to another electronic device according to the user's choice, so that the other electronic device can generate new edited content by using the original content, thereby facilitating non-destructive editing between different electronic devices.
[0015] According to various embodiments, metadata of the edited version of the original content can be encrypted and stored, thereby protecting information about the edited content. Attached Figure Description
[0016] Figure 1 It is a block diagram of an electronic device in a network environment according to various embodiments;
[0017] Figure 2 The diagram illustrates components included in an electronic device according to various embodiments;
[0018] Figure 3 This is a flowchart illustrating a method of operating an electronic device according to various embodiments;
[0019] Figure 4 Examples of comparisons between disclosures and comparative examples according to various embodiments are shown;
[0020] Figure 5 This is a flowchart illustrating a method for re-editing content by an electronic device according to various embodiments;
[0021] Figures 6a to 6d Examples of managing non-destructive edits of content are shown according to various embodiments; and
[0022] Figure 7 This is a flowchart illustrating a method for managing non-destructive edited content by an electronic device, according to various embodiments. Detailed Implementation
[0023] The electronic device according to various embodiments can be one of a variety of types of electronic devices. Electronic devices may include, for example, portable communication devices (e.g., smartphones), computer equipment, portable multimedia devices, portable medical devices, cameras, wearable devices, or home appliances. According to embodiments of this disclosure, the electronic device is not limited to those described above.
[0024] It should be understood that the various embodiments of this disclosure and the terminology used therein are not intended to limit the technical features set forth herein to the specific embodiments, but rather to include various changes, equivalents, or substitutions to the respective embodiments. In the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that nouns in the singular form corresponding to terms may include one or more things unless the relevant context clearly indicates otherwise. As used herein, each of the phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B, or C,” “at least one of A, B, and C,” and “at least one of A, B, or C” may include any one or all possible combinations of items enumerated together with the corresponding phrase in a plurality of phrases. As used herein, terms such as “first” and “second” or “first” and “second” may be used to simply distinguish one component from another and do not limit the components in other respects (e.g., importance or order). It will be understood that, whether the terms “operably” or “communically” are used or not, if an element (e.g., a first element) is referred to as “combined with another element (e.g., a second element),” “combined to another element (e.g., a second element),” “connected to another element (e.g., a second element),” or “attached to another element (e.g., a second element)”, it means that the element can be directly (e.g., wiredly) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.
[0025] As used in connection with various embodiments of this disclosure, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic," "logic block," "part," or "circuit"). A module may be a single integrated component adapted to perform one or more functions, or the smallest unit or part of such a single integrated component. For example, according to embodiments, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0026] Figure 1 This is a block diagram illustrating an electronic device 101 in a network environment 100 according to various embodiments.
[0027] Reference Figure 1In network environment 100, electronic device 101 can communicate with electronic device 102 via a first network 198 (e.g., a short-range wireless communication network), or with at least one of electronic device 104 or server 108 via a second network 199 (e.g., a long-range wireless communication network). According to an embodiment, electronic device 101 can communicate with electronic device 104 via server 108. According to an embodiment, electronic device 101 may include a processor 120, memory 130, input module 150, sound output module 155, display module 160, audio module 170, sensor module 176, interface 177, connection terminal 178, haptic module 179, camera module 180, power management module 188, battery 189, communication module 190, subscriber identification module (SIM) 196, or antenna module 197. In some embodiments, at least one of the above components (e.g., connection terminal 178) may be omitted from electronic device 101, or one or more other components may be added to electronic device 101. In some embodiments, some of the components described above (e.g., sensor module 176, camera module 180, or antenna module 197) may be implemented as a single integrated component (e.g., display module 160) 11.
[0028] Processor 120 can run software (e.g., program 140) to control at least one other component (e.g., hardware or software component) of electronic device 101 connected to processor 120, and can perform various data processing or calculations. According to one embodiment, as at least part of the data processing or calculation, processor 120 can store commands or data received from another component (e.g., sensor module 176 or communication module 190) in volatile memory 132, process the commands or data stored in volatile memory 132, and store the result data in non-volatile memory 134. According to embodiments, processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or application processor (AP)) or an auxiliary processor 123 (e.g., a graphics processing unit (GPU), neural processing unit (NPU), image signal processor (ISP), sensor central processor, or communication processor (CP)) that is operationally independent of or combined with the main processor 121. For example, when electronic device 101 includes a main processor 121 and an auxiliary processor 123, the auxiliary processor 123 may be adapted to consume less power than the main processor 121 or to be dedicated to a specific function. The auxiliary processor 123 may be implemented separately from the main processor 121 or as part of the main processor 121.
[0029] When the main processor 121 is inactive (e.g., in sleep) state, the auxiliary processor 123 (rather than the main processor 121) can control at least some of the functions or states associated with at least one component of the electronic device 1011 (e.g., display module 160, sensor module 176, or communication module 190), or when the main processor 121 is active (e.g., running an application), the auxiliary processor 123 can work with the main processor 121 to control at least some of the functions or states associated with at least one component of the electronic device 101 (e.g., display module 160, sensor module 176, or communication module 190). According to embodiments, the auxiliary processor 123 (e.g., an image signal processor or a communication processor) can be implemented as part of another component (e.g., camera module 180 or communication module 190) functionally associated with the auxiliary processor 123. According to embodiments, the auxiliary processor 123 (e.g., a neural processing unit) can include hardware architectures dedicated to artificial intelligence model processing. Artificial intelligence models can be generated through machine learning. For example, such learning can be performed by electronic device 101 where artificial intelligence is performed or via a separate server (e.g., server 108). The learning algorithm can include, but is not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The artificial intelligence model can include multiple layers of artificial neural networks. The artificial neural network can be a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), or a deep Q-network, or a combination of two or more thereof, but is not limited thereto. Additionally or optionally, the artificial intelligence model can include software structures in addition to hardware structures.
[0030] Memory 130 may store various data used by at least one component of electronic device 101 (e.g., processor 120 or sensor module 176). The various data may include, for example, software (e.g., program 140) and input or output data for commands associated with it. Memory 130 may include volatile memory 132 or non-volatile memory 134.
[0031] The program 140 can be stored as software in the memory 130, and the program 140 may include, for example, an operating system (OS) 142, middleware 144, or application 146.
[0032] Input module 150 can receive commands or data from outside electronic device 101 (e.g., a user) that will be used by other components of electronic device 101 (e.g., processor 120). Input module 150 may include, for example, a microphone, mouse, keyboard, keys (e.g., buttons), or digital pen (e.g., stylus).
[0033] The audio output module 155 can output audio signals to the outside of the electronic device 101. The audio output module 155 may include, for example, a speaker or a receiver. The speaker can be used for general purposes such as playing multimedia or playing records. The receiver can be used to receive incoming calls. According to embodiments, the receiver can be implemented separately from the speaker or as part of the speaker.
[0034] Display module 160 can visually provide information to the outside of electronic device 101 (e.g., to a user). Display device 160 may include, for example, a display, a holographic device, or a projector, and control circuitry for controlling a respective one of the display, holographic device, and projector. According to an embodiment, display module 160 may include a touch sensor adapted to detect touch or a pressure sensor adapted to measure the intensity of the force caused by touch.
[0035] The audio module 170 can convert sound into electrical signals and vice versa. According to an embodiment, the audio module 170 can obtain sound via the input module 150, or output sound via the sound output module 155 or headphones of an external electronic device (e.g., electronic device 102) that is directly (e.g., wired) or wirelessly connected to the electronic device 101.
[0036] Sensor module 176 can detect the operating state of electronic device 101 (e.g., power or temperature) or the environmental state outside electronic device 101 (e.g., user state), and then generate an electrical signal or data value corresponding to the detected state. According to embodiments, sensor module 176 may include, for example, a gesture sensor, gyroscope sensor, atmospheric pressure sensor, magnetic sensor, accelerometer, grip sensor, proximity sensor, color sensor, infrared (IR) sensor, biometric sensor, temperature sensor, humidity sensor, or illuminance sensor.
[0037] Interface 177 may support one or more specific protocols used to enable electronic device 101 to connect directly (e.g., wired) or wirelessly to external electronic devices (e.g., electronic device 102). According to embodiments, interface 177 may include, for example, a High Definition Multimedia Interface (HDMI), a Universal Serial Bus (USB) interface, a Secure Digital Card (SD) interface, or an audio interface.
[0038] Connection terminal 178 may include a connector, through which electronic device 101 can be physically connected to an external electronic device (e.g., electronic device 102). According to embodiments, connection terminal 178 may include, for example, an HDMI interface connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0039] The haptic module 179 can convert electrical signals into mechanical stimuli (e.g., vibration or motion) or electrical stimuli that can be recognized by a user through his touch or kinesthesia. According to embodiments, the haptic module 179 may include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0040] Camera module 180 can capture still or moving images. According to an embodiment, camera module 180 may include one or more lenses, an image sensor, an image signal processor, or a flash.
[0041] The power management module 188 can manage the power supply to the electronic device 101. According to an embodiment, the power management module 188 can be implemented as at least part of, for example, a power management integrated circuit (PMIC).
[0042] Battery 189 can power at least one component of electronic device 101. According to embodiments, battery 189 may include, for example, a non-rechargeable primary battery, a rechargeable rechargeable battery, or a fuel cell.
[0043] Communication module 190 can support the establishment of a direct (e.g., wired) or wireless communication channel between electronic device 101 and external electronic devices (e.g., electronic device 102, electronic device 104, or server 108), and perform communication via the established communication channel. Communication module 190 may include one or more communication processors capable of operating independently of processor 120 (e.g., application processor (AP)) and supporting direct (e.g., wired) or wireless communication. According to embodiments, communication module 190 may include wireless communication module 192 (e.g., cellular communication module, short-range wireless communication module, or Global Navigation Satellite System (GNSS) communication module) or wired communication module 194 (e.g., local area network (LAN) communication module or power line communication (PLC) module). One of these communication modules can communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as Bluetooth, Wi-Fi Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a traditional cellular network, 5G network, next-generation communication network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules can be implemented as a single component (e.g., a single chip) or as multiple components (e.g., multiple chips) that are separate from each other. The wireless communication module 192 can identify and verify the electronic device 101 in the communication network (such as the first network 198 or the second network 199) using user information (e.g., the International Mobile Subscriber Identity (IMSI)) stored in the subscriber identification module 196.
[0044] Wireless communication module 192 can support 5G networks following 4G networks and next-generation communication technologies (such as new radio (NR) access technologies). NR access technologies can support enhanced mobile broadband (eMBB), massive machine-type communication (mMTC), or ultra-reliable low-latency communication (URLLC). Wireless communication module 192 can support high-frequency bands (e.g., millimeter-wave bands) to achieve, for example, high data transmission rates. Wireless communication module 192 can support various technologies used to ensure performance in high-frequency bands, such as, for example, beamforming, massive MIMO, full-dimensional MIMO (FD-MIMO) array antennas, analog beamforming, or massive antennas. Wireless communication module 192 can support various requirements specified in electronic device 101, external electronic device (e.g., electronic device 104), or network system (e.g., second network 199). According to an embodiment, the wireless communication module 192 may support peak data rates (e.g., 20 Gbps or greater) for implementing eMBB, lost coverage (e.g., 164 dB or less) for implementing mMTC, or U-plane latency (e.g., 0.5 ms or less for each of the downlink (DL) and uplink (UL), or 1 ms or less round trip) for implementing URLLC.
[0045] Antenna module 197 can transmit or receive signals or power to or from the outside of electronic device 101 (e.g., external electronic device). According to an embodiment, antenna module 197 may include an antenna comprising a radiating element formed of conductive material or conductive pattern formed in or on a substrate (e.g., a printed circuit board (PCB)). According to an embodiment, antenna module 197 may include multiple antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication scheme used in a communication network (such as a first network 198 or a second network 199) can be selected from the multiple antennas by, for example, communication module 190 (e.g., wireless communication module 192). Signals or power can then be transmitted or received between communication module 190 and external electronic device via the selected at least one antenna. According to an embodiment, additional components besides the radiating element (e.g., a radio frequency integrated circuit (RFIC)) may be additionally incorporated into antenna module 197.
[0046] According to various embodiments, antenna module 197 can form a millimeter-wave antenna module. According to embodiments, the millimeter-wave antenna module may include a printed circuit board, a radio frequency integrated circuit (RFIC), and multiple antennas (e.g., an array antenna), wherein the RFIC is disposed on or adjacent to a first surface (e.g., a bottom surface) of the printed circuit board and is capable of supporting a specified high-frequency band (e.g., a millimeter-wave band), and the multiple antennas are disposed on or adjacent to a second surface (e.g., a top surface or a side surface) of the printed circuit board and are capable of transmitting or receiving signals in the specified high-frequency band.
[0047] At least some of the aforementioned components can be interconnected and communicate signals (e.g., commands or data) between them via an inter-peripheral communication scheme (e.g., bus, general purpose input / output (GPIO) serial peripheral interface (SPI) or mobile industrial processor interface (MIPI)).
[0048] According to an embodiment, commands or data can be sent or received between electronic device 101 and external electronic device 104 via server 108 connected to a second network 199. Each of electronic device 102 or electronic device 104 can be a device of the same type as electronic device 101, or a device of a different type. According to an embodiment, all or some operations to be performed on electronic device 101 can be performed on one or more of external electronic devices 102, external electronic device 104, or server 108. For example, if electronic device 101 is required to automatically perform a function or service, or is required to perform a function or service in response to a request from a user or another device, electronic device 101 may request one or more external electronic devices to perform at least a portion of the function or service, instead of running the function or service, or electronic device 101 may request one or more external electronic devices to perform at least a portion of the function or service in addition to running the function or service. Upon receiving the request, one or more external electronic devices may perform at least a portion of the requested function or service, or perform additional functions or services related to the request, and transmit the result of the execution to electronic device 101. Electronic device 101 may provide the result as at least a partial response to the request, with or without further processing of the result. For this purpose, technologies such as cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing can be used. Electronic device 101 may use, for example, distributed computing or mobile edge computing to provide ultra-low latency services. In another embodiment, external electronic device 104 may include Internet of Things (IoT) devices. Server 108 may be an intelligent server using machine learning and / or neural networks. According to embodiments, external electronic device 104 or server 108 may be included in a second network 199. Electronic device 101 can be applied to intelligent services (e.g., smart homes, smart cities, smart cars, or healthcare) based on 5G communication technology or IoT-related technologies.
[0049] The various embodiments set forth herein can be implemented as software (e.g., program 140) including one or more instructions stored in a storage medium (e.g., internal memory 136 or external memory 138) that can be read by a machine (e.g., electronic device 101). For example, under the control of a processor, the processor (e.g., processor 120) of the machine (e.g., electronic device 101) can invoke and execute at least one instruction of one or more instructions stored in the storage medium, with or without the use of one or more other components. This enables the machine to operate to perform at least one function according to the invoked at least one instruction. The one or more instructions may include code generated by a compiler or code that can be run by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. The term "non-transitory" simply means that the storage medium is a tangible device and does not include signals (e.g., electromagnetic waves), but this term does not distinguish between data being stored semi-permanently in the storage medium and data being temporarily stored in the storage medium.
[0050] According to embodiments, methods according to various embodiments of this disclosure may be included and provided in a computer program product. The computer program product can be traded as a product between a seller and a buyer. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disk read-only memory (CD-ROM)) or via an app store (e.g., the Play Store). TM The computer program product may be published online (e.g., downloaded or uploaded), or may be distributed directly between two user devices (e.g., smartphones) (e.g., downloaded or uploaded). If published online, at least a portion of the computer program product may be temporarily generated, or at least a portion of the computer program product may be temporarily stored in a machine-readable storage medium (such as the memory of a manufacturer's server, an app store's server, or a forwarding server).
[0051] According to various embodiments, each of the above-described components (e.g., a module or program) may include a single entity or multiple entities, and some of the multiple entities may be separately disposed in different components. According to various embodiments, one or more of the above-described components may be omitted, or one or more other components may be added. Optionally or additionally, multiple components (e.g., modules or programs) may be integrated into a single component. In this case, according to various embodiments, the integrated component may still perform one or more functions of each of the multiple components in the same or similar manner as a corresponding component of the multiple components performed one or more functions before integration. According to various embodiments, the operations performed by a module, program, or other component may be performed sequentially, in parallel, repeatedly, or heuristically, or one or more of these operations may be run in a different order or omitted, or one or more other operations may be added.
[0052] Figure 2 The present disclosure illustrates components included in an electronic device according to an embodiment of the present disclosure.
[0053] Reference Figure 2 Electronic devices according to various embodiments (e.g., Figure 1 Electronic device 101) may include a processor (e.g., Figure 1 The processor 120), camera module (e.g., Figure 1 The camera module 180) and memory (e.g., Figure 1 The memory 130 can be divided into a secure area 210 and a general area 220. The secure area 210 can correspond to a separate, hidden storage space. The secure area 210 can be a storage space that is physically or logically separated from the general area 220.
[0054] The processor 120 can store the original content in the secure area 210 of the memory 130, and store the edited content, including access information to the original content and metadata about the original content, in the general area 220 of the memory 130. The original content can be content captured by the camera module 180 or from an external device (e.g., Figure 1The content received by the server 108 or electronic device 102. Content (or multimedia content) may include at least one of text (or words), images, audio, or video. Edited content is content obtained by applying editing effects to the original content. For example, editing effects may refer to text insertion, brightness, color, filters, or decorative effects such as stickers. The processor 120 may encode the original content to store it in a secure area 210 and encode the edited content to store it in a general area 220. The processor 120 may store the edited content by including an editable flag (e.g., true) within the edited content.
[0055] According to various embodiments, processor 120 can control access to the original content stored in secure area 210 to prevent users from accessing it, or to allow access only through specific authorization. This allows the processor to manage the original content to prevent it from being exposed to the outside or corrupted due to deletion or alteration. For example, access can be restricted only by a fingerprint sensor (e.g., Figure 1 The processor 120 may selectively allow access to the original content only when user authentication is successful via the sensor module 176. Alternatively, the processor 120 may disallow any user access to the original content.
[0056] The original content access information may include at least one of the following: the access path of the original content (e.g., storage location), the resolution of the original content, its size, and its generation date or capacity. The processor 120 may generate a first hash key based on the original content access information, associate the generated first hash key with the original content to store the first hash key in a secure area 210, and associate the same first hash key with edited content to store the first hash key in a general area 220. The first hash key can be used to associate the original content with the edited content.
[0057] According to various embodiments, processor 120 can identify whether the original content is stored in secure area 210 by using a first hash key stored along with the edited content, and if the original content is not stored, it can recover (or generate) the original content by using metadata included in the edited content. If the original content is not stored, processor 120 can decode the edited content stored in general area 220 to extract metadata, and apply the extracted metadata inversely to the decoded edited content (e.g., an inverse function) to recover (or generate) the original content. If the original content is recovered, processor 120 can store the original content in secure area 210 and generate original content access information (e.g., the access path of the original content) to update the original content access information stored along with the edited content in general area 220. When the original content access information is updated, processor 120 can generate a new first hash key based on the original content access information, store the newly generated first hash key along with the original content in secure area 210, and store the same first hash key along with the edited content in general area 220.
[0058] According to various embodiments, processor 120 may match and store one or more edited contents generated with reference to an original content, rather than matching and storing the original content and the edited content one-to-one. Processor 120 may store the edited content in association with the original content so as to restore (generate) the original content using the edited content, or to restore (generate) the edited content using the original content.
[0059] For example, when there are first edited content obtained by applying a first editing effect to the original content and second edited content obtained by applying a second editing effect to the original content, processor 120 can store the first edited content, which includes original content access information and first metadata about the original content (e.g., the first editing effect), and the second edited content, which includes original content access information and second metadata about the original content (e.g., the second editing effect), in general area 220. According to various embodiments, even when there are multiple edited contents corresponding to one original content, only one original content exists, thus minimizing the storage space of memory 130.
[0060] According to various embodiments, processor 120 may allow multiple edited contents to correspond to one original content (e.g., 1:n), such that even when one edited content is deleted, the processor does not delete the original content, and the processor deletes the original content when configured conditions are met (e.g., all edited contents are deleted), so as to efficiently manage the original content.
[0061] Metadata may include at least one of the following: editing engine information of the edited content (e.g., editing effect), resolution, size, generation date, or capacity of the edited content. Editing engine information may include at least one of the following: editing engine name, editing engine type (e.g., general (public) or personal), or editing engine configuration information (e.g., editing information). Editing engine information may be stored in general area 220. The editing engine information included in the metadata may be stored in general area 220. Processor 120 may generate a second hash key based on the editing engine information and include the generated second hash key in the metadata. Metadata may include at least one of the second hash key corresponding to the editing engine information, resolution, size, generation date, or capacity of the edited content. Alternatively, processor 120 may generate a second hash key based on the editing engine configuration information in the editing engine information and include the generated second hash key in the metadata. Metadata may include at least one of the following: editing engine name, editing engine type, second hash key corresponding to the editing engine configuration information, resolution, size, generation date, or capacity of the edited content.
[0062] For example, processor 120 may store editing engine information or the hash key corresponding to the editing engine information separately in a different storage space than the edited content. Processor 120 may disallow content editing when the second hash key included in the metadata of the content received from electronic device 102 differs from the hash key of the editing engine information stored in general area 220.
[0063] Processor 120 can receive editing engine information from the user or obtain it by analyzing content edited by the user. The user can generate, delete, or modify the name or editing effect of the editing engine information. For example, processor 120 can receive first editing engine information from the user named "My Filter 1," including 80%d brightness and warm tones. Alternatively, processor 120 can receive second editing engine information from the user named "My Photo Editor," including a first filter and a first style. Editing engine information generated, deleted, or modified by the user can have a "personal type" editing engine type, and editing engine information not generated by the user can have a "general (or public) type" editing engine type.
[0064] Processor 120 can store metadata along with the original content in secure area 210. Processor 120 can encrypt the metadata and store it in secure area 210. When the edited content is corrupted, processor 120 can generate (or recover) the edited content using the metadata and the original content. For example, processor 120 can generate the edited content by applying the metadata to the original content.
[0065] According to various embodiments, processor 120 can send or share the original content externally (e.g., to server 108, electronic device 102, or electronic device 104) based on user selection. When the original content is stored in server 108, processor 120 can include the access path of server 108 where the original content is stored in the original content access information and store it in secure area 210, or encrypt the access path of server 108 using a first hash key and store it together with the edited content in general area 220.
[0066] When the original content is stored in server 108, the access path to server 108 can be included in the original content access information. Because processor 120 generates a first hash key based on the original content access information, when the first hash key is decoded, the processor can identify whether the original content is stored in secure area 210 or in server 108. When the original content or edited content is needed, processor 120 can download the original content from server 108 and generate the edited content by applying metadata to the downloaded original content.
[0067] Electronic device 102 can receive original content and edited content from electronic device 101, and generate new edited content using the original content. For example, the edited content received from electronic device 101 could be a first edited content obtained by applying a first editing effect to the original content. Electronic device 102 can generate a second edited content obtained by applying a second editing effect to the original content based on a user's selection. Instead of applying a second editing effect to the first edited content, electronic device 102 can retain the first edited content as is and generate a second edited content obtained by applying a second editing effect to the original content.
[0068] Electronic devices according to various embodiments (e.g., Figure 1 The electronic device 101 may include a camera module (e.g., Figure 1 Camera module 180), communication module (e.g., Figure 1 Communication module 190), memory (e.g., Figure 1 The memory 130) and a processor operatively coupled to the camera module, communication module and memory (e.g., Figure 1 The processor 120 acquires first content via a camera module or a communication module, generates second content based on user input by editing the first content, and stores the acquired first content in a secure area of the memory (e.g., ...). Figure 2In the secure area 210), and the second content, including metadata corresponding to the second content and access information of the first content corresponding to the first content, is stored in the general area (e.g., Figure 2 In the general area 220), the first content access information associates the first content with the second content.
[0069] The processor can be configured to generate a first hash key based on first content access information, associate the generated first hash key with first content to store the first hash key in a secure area, and associate the generated first hash key with second content to store the first hash key in a general area.
[0070] The processor can be configured to identify whether the first content is stored in the secure area by using a first hash key stored in the general area, and to recover the first content by using metadata included in the second content when the first content is not stored in the secure area.
[0071] The processor can be configured to store the first content in a secure area when the first content is recovered, and generate first content access information corresponding to the first content to update the first content access information included in the second content stored in the general area.
[0072] The processor can be configured to, when the first content access information is updated, generate a new first hash key based on the updated first content access information, associate the generated new first hash key with the first content to store the first hash key in a secure area, and associate the new first hash key with the second content to store the first hash key in a general area.
[0073] The processor can be configured to decode a first hash key stored in a secure area to obtain the access path to the server, and to download first content from the server.
[0074] The processor can be configured to associate metadata with first content to store the metadata in a secure area, and to recover the second content by using the metadata and the first content when the second content is not present in the general area or is corrupted.
[0075] The processor can be configured to display at least one second content, determine whether the displayed second content can be edited, search for first content corresponding to the displayed second content when the displayed second content can be edited, and display the second content obtained by applying first metadata to the first content.
[0076] The processor can be configured to edit first content based on user input, generate third content obtained by applying second metadata corresponding to the editing, and further store the third content, including access information of the first content and the second metadata corresponding to the third content, in a general area.
[0077] The processor can generate a second hash key by using the editing engine information included in the metadata, include the second hash key in the metadata to store the second hash key, and store the editing engine information in the general area.
[0078] The processor can be configured to disallow the edit request when the second hash key included in the metadata of the second content to be edited is different from the hash key of the edit engine information stored in the general area.
[0079] The processor can be configured to, upon receiving a content sending request, determine whether there is first content corresponding to the second content to be sent, and if there is first content, send at least one of the second content or the first content to be sent, according to the user's selection.
[0080] The processor can be configured to determine whether there is a first content corresponding to the second content to be sent, based on whether the first hash key is included in the second content to be sent.
[0081] Figure 3 This is a flowchart 300 illustrating an operation method of an electronic device according to an embodiment of the present disclosure.
[0082] Reference Figure 3 In operation 301, the electronic device according to various embodiments (e.g., Figure 1 The processor of electronic device 101 (e.g., Figure 1 The processor 120 can acquire the first content. The first content can be content captured by the camera module 180 or from an external device (e.g., Figure 1 The content received by the server 108 or electronic device 102. The content (or multimedia content) may include at least one of text (or words), images, audio, or video. The first content may be the original content, and in the following text, the original content may be referred to as the first content, and the edited content may be referred to as the second content.
[0083] According to various embodiments, when storing the first content captured by the camera module 180 without editing, the processor 120 may store the first content in a general area of the memory 130 (e.g., Figure 2The processor 120 may store the first content in the general area 220. Alternatively, when the first content received from the server 108 or electronic device 102 is not edited content but raw content (e.g., when the metadata of the first content does not include the hash key of the editing engine information), the processor 120 may store the first content in the general area 220. When the first content stored in the general area 220 is later edited by the user, the processor 120 may store the first content stored in the general area 220 in a secure area of the memory 130 (e.g., ...). Figure 2 The edited second content is stored in the secure area 210 and stored in the general area 220.
[0084] In operation 303, processor 120 can detect user input. User input can be input for editing first content. Editing the first content can be adjusting the brightness or color of the first content, or applying filters or stickers to the first content.
[0085] In operation 305, processor 120 can generate second content based on user input by editing first content. The second content can be edited content and can be obtained by applying editing effects to the first content. The editing effects can be generated as metadata for the second content.
[0086] In operation 307, processor 120 may store the first content in memory (e.g., Figure 1 The secure area of the memory 130) (e.g., Figure 2 The first content is stored in a secure area 210. According to various embodiments, the processor 120 can control access to the first content to prevent a user from accessing it, or to allow access only through specific authorization. According to various embodiments, the processor 120 can store the first content along with access information about the first content in the secure area 210. The first content access information (or original content access information) may include at least one of the following: access path of the first content (e.g., storage location), resolution of the first content, size, generation date, or capacity. The processor 120 can generate a first hash key based on the first content access information and store the generated first hash key along with the first content in the secure area 210.
[0087] Processor 120 can identify the existence of first content by using the first hash key. For example, when the first hash key is stored in secure area 210 or general area 220, processor 120 can determine that the first content exists, and when the first hash key is not stored, processor 120 can determine that the first content does not exist. When only the first hash key is stored and the first content is not stored in memory 130, processor 120 can download or recover the first content by using the first hash key. Alternatively, when the first hash key is not stored and the first content is stored in memory 130, processor 120 can generate the first hash key using the first content and store the generated first hash key in memory 130.
[0088] In the accompanying drawings, although operation 307 is described as being performed after operations 303 and 305, operation 307 may be performed simultaneously with operations 303 and 305 or simultaneously with operation 309. This is only relevant to implementation issues, and this disclosure is not limited to this description.
[0089] In operation 309, processor 120 may associate second content with first content and store the second content in general area 220. Processor 120 may store the second content, including first content access information and metadata about the first content, in general area 220. Processor 120 may store a first hash key generated based on the first content access information and store the generated first hash key together with the second content in general area 220. Processor 120 may associate the first hash key, stored in association with the first content in secure area 210, with the second content and store the first hash key in general area 220. For example, processor 120 may insert at least one of metadata, first content access information, or the first hash key into the second content. The first hash key may associate (or link) the first content stored in secure area 210 with the second content stored in general area 220. Processor 120 may store the second content by including an editable flag (e.g., true) in the second content.
[0090] According to various embodiments, processor 120 can identify the presence of first content by using a first hash key. For example, when the second content selected by the user includes the first hash key, the processor can identify whether the same first hash key is stored in secure area 210 to determine whether the first content exists.
[0091] The metadata may include at least one of the following: editing engine information of the second content, resolution, size, generation date, or capacity of the edited content. The editing engine information included in the metadata may be stored in the general area 220. The processor 120 may generate a second hash key based on the editing engine information and include the generated second hash key in the metadata. The metadata may include at least one of the following: a second hash key corresponding to the editing engine information, resolution, size, generation date, or capacity of the edited content. Alternatively, the processor 120 may generate a second hash key based on the editing engine configuration information in the editing engine information and include the generated second hash key in the metadata. The metadata may include at least one of the following: editing engine name, editing engine type, a second hash key corresponding to the editing engine configuration information, resolution, size, generation date, or capacity of the edited content.
[0092] Figure 4 A comparison example between the disclosure and a comparative example according to embodiments of this disclosure is shown.
[0093] Reference Figure 4 According to Comparative Example 410, conventionally, when storing a second content 401 (e.g., edited content) obtained by editing a first content 403 (e.g., original content), the first content 403 is included and stored in the second content 401. The second content 401 may also include first content access information 405 about the first content 403 and metadata 407 (e.g., first metadata) corresponding to the second content 401. According to Comparative Example 410, when generating a newly edited third content (not shown) about the first content 403, the new third content (e.g., second edited content) may include the first content 403, the first content access information 405, and metadata (e.g., second metadata) corresponding to the new third content. That is, according to Comparative Example 410, because the size of the first content 403 increases proportionally whenever a new third content (not shown) about the first content 403 is generated, it may unnecessarily occupy a large amount of storage space in the electronic device.
[0094] According to disclosure 430, when storing the second content 401 obtained by editing the first content 403, the first content 403 can be stored in a memory (e.g., Figure 1 The secure area of the memory 130) (e.g., Figure 2 The second content 401 can be stored in the general area of the memory 130 (e.g., secure area 210), and the second content 401 can be stored together with the first content access information 405 and metadata 407. Figure 2In the general area 220. According to disclosure 430, when generating a newly edited third content (not shown) about the first content 403, the new third content (e.g., the second edited content) may include first content access information 405 and metadata (e.g., second metadata) corresponding to the new third content. According to disclosure 430, there may be one first content 403 and multiple edited contents, and each edited content may be linked to the first content 403. Furthermore, according to disclosure 430, a first hash key may be generated based on the first content access information 405, the generated first hash key may be associated with the first content 403 and stored in the secure area 210, and the same first hash key may be associated with the second content 401 and stored in the general area 220.
[0095] Figure 5 This is a flowchart 500 illustrating a method for re-editing content by an electronic device according to an embodiment of the present disclosure.
[0096] Reference Figure 5 In operation 501, the electronic device according to various embodiments (e.g., Figure 1 The processor of electronic device 101 (e.g., Figure 1 The processor 120 can display second content. The processor 120 can display content via a camera module (e.g., Figure 1 The second content, edited after being captured by the camera module 180, is displayed on the running screen of the gallery app (or photo viewing app) as selected by the user, or displayed from an external device (e.g., Figure 1 The second content is received by the server 108 or electronic device 102. In the following description, the second content may be described as edited content. The second content may include metadata corresponding to the second content (e.g., edited content) and first content access information corresponding to the first content.
[0097] In operation 503, processor 120 may determine whether the displayed second content can be edited. Alternatively, processor 120 may determine that the second content can be edited when the displayed second content includes the first hash key. Alternatively, processor 120 may determine that the second content can be edited when a flag indicating editability (e.g., true) or non-editability (e.g., false) in the displayed second content is marked as editable. When the displayed second content can be edited, processor 120 may perform operation 505, and when the displayed second content cannot be edited, processor 120 may perform operation 504.
[0098] According to various embodiments, the metadata included in the second content may include at least one of the following: editing engine information of the second content, resolution of the second content, size, generation date, or capacity. The editing engine information may include at least one of the following: editing engine name, editing engine type (e.g., general or personal), or editing engine configuration information (e.g., editing information). The metadata may include a second hash key generated based on the editing engine information or a second hash key generated based on the editing engine configuration information within the editing engine information. When the second content is received from electronic device 102, if the second hash key included in the metadata of the second content is different from the hash key of the editing engine information stored in the general area 220, the processor 120 may not allow content editing.
[0099] For example, editing engine information included in the metadata, or a second hash key corresponding to the editing engine information, can be stored in the general area 220. Because the second hash key included in the second content is generated based on the editing engine information, the second hash key can be generated differently if at least one of the editing engine name, editing engine type, or editing engine configuration information is different. For example, even if the editing engine name or editing engine type is the same, the second hash key may be different if the editing engine configuration information is different. Alternatively, even if the editing engine configuration information is the same, the second hash key may be different if the editing engine name or editing engine type is different. When the hash key of the editing engine information stored in the general area 220 is different from the second hash key included in the metadata of the second content, an error may occur during content editing, and therefore the processor 120 may not allow content editing.
[0100] According to various embodiments, even if the editing engine name or editing engine type in the metadata included in the second content is the same as the editing engine name or editing engine type stored in the general area 220, the processor 120 does not allow content editing when the second hash key of the editing engine configuration information included in the metadata is different from the hash key of the editing engine configuration information stored in the general area 220.
[0101] According to various embodiments, the processor 120 can selectively compare the hash key of the editing engine configuration information stored in the general area 220 with the second hash key of the editing engine configuration information included in the metadata of the second content, based on the editing engine type. For example, if the editing engine type is a general type, the user cannot edit the editing engine configuration information, while if the editing engine type is a personal type, the user can edit the editing engine configuration information. The editing engine type can be determined when the editing engine information is generated. If the editing engine type is a personal type, the processor 120 can compare the hash key of the editing engine configuration information stored in the general area 220 with the second hash key of the editing engine configuration information included in the metadata of the second content, and selectively allow content editing only if the hash keys are the same. If the editing engine type is a personal type, the processor 120 may disallow content editing if the hash key of the editing engine configuration information stored in the general area 220 is different from the second hash key of the editing engine configuration information included in the metadata of the second content.
[0102] If the displayed content cannot be edited, then in operation 504, processor 120 may edit the displayed second content based on user input. If the first content (e.g., the original content) is not stored relative to the displayed second content, or the first content regarding the displayed second content cannot be recovered, then processor 120 may edit the displayed second content based on user input. Processor 120 may also apply editing effects to the second content based on user input.
[0103] If the displayed second content is editable, then in operation 505, processor 120 can search for first content corresponding to the displayed second content. If the second content is the first content, operations 505 to 509 can be omitted. Processor 120 can extract the first hash key included in the displayed second content and identify whether the same first hash key is stored in memory (e.g., ...). Figure 1 The secure area of the memory 130) (e.g., Figure 2 Within the secure area 210, the processor 120 can search for the first content that corresponds to the displayed second content.
[0104] In operation 507, processor 120 can determine whether the first content corresponding to the displayed second content is stored. Although the first hash key included in the displayed second content is stored in secure area 210, the first content may not be stored in secure area 210. For example, for the security of the first content, the user may store the first content in a cloud server (e.g., server 108). When the first content is stored in server 108, processor 120 can generate first content access information including the access path of server 108 where the first content is stored. Because processor 120 generates the first hash key based on the first content access information, the processor can identify that the first content is stored in server 108 by decoding the first hash key. Alternatively, due to the format of electronic device 101, only the first hash key can be stored in secure area 210. When the first content is stored, processor 120 can perform operation 509, and when the first content is not stored, processor 120 can perform operation 508.
[0105] According to various embodiments, when the first hash key included in the second content is not stored in the secure area 210, the processor 120 can decode the first hash key to extract the storage location of the first content, and generate the first hash key by using the first content stored in the storage location of the first content and store the first hash key in the secure area 210.
[0106] If the first content is not stored, in operation 508, processor 120 can retrieve the first content corresponding to the displayed second content. Retrieval of the first content can be done by downloading it from server 108 or by recovering (or generating) the first content using the second content. For example, processor 120 can decode a first hash key stored in secure area 210 to obtain an access path to server 108 and download the first content from server 108. Server 108 can encode and store the first content and decode and send it according to a download request from electronic device 101. Processor 120 can receive the decoded first content from server 108 via a communication module (e.g., communication module 190). When processor 120 downloads the first content, it can store the first content in secure area 210, generate first content access information about the first content (e.g., the access path of the original content), and thus update the first content access information included in the second content.
[0107] According to various embodiments, processor 120 can recover first content by using metadata included in the displayed second content. The displayed second content is edited content, and the edited content may include first content access information and metadata about the first content. Processor 120 can recover the first content by applying the metadata in reverse to the displayed second content. When the first content is recovered, processor 120 may store the first content in secure area 210, generate first content access information about the first content (e.g., access path of the original content), and thus update the first content access information included in the second content.
[0108] When the first content access information is updated, the processor 120 can generate a new first hash key based on the updated first content access information, associate the generated first hash key with the first content to store the first hash key in the secure area 210, and associate the same first hash key with the second content to store the first hash key in the general area 220. When the first content access information is updated, the processor 120 can update the first hash key included in the second content. When the first content is obtained, the processor 120 can perform operation 509.
[0109] In operation 509, processor 120 can display second content obtained by applying metadata to first content. Operation 509 refers to the display of content for content editing, and because the user can re-edit the edited content, metadata can be applied to the first content and displayed so that the new editing effects are applied to the first content during re-editing. When a "restore" is requested according to the user's request, processor 120 can unapply the metadata and display the first content.
[0110] In operation 511, processor 120 can detect user input for editing content. The user input can be input for applying editing effects to the displayed second content. Processor 120 can edit the second content by applying editing effects to the displayed second content based on the user input.
[0111] In operation 513, processor 120 may receive a content storage request from the user. The storage request may be to overwrite (e.g., save) the effect of a new edit on edited content, or to store (e.g., save as a different name) the content with the new edit effect applied. When the application of metadata is canceled and content storage is requested while displaying the first content, processor 120 may update the first content to a third content and store the third content.
[0112] In operation 515, processor 120 can associate the edited third content with the first content and store the third content in the general area 220 of memory 130. For example, when the second content displayed in operation 501 is the first edited content and a new editing effect (e.g., a second editing effect) is applied to the first content in operation 511, processor 120 can update the first edited content or generate the second edited content according to the user's selection. For example, when the user applies the second editing effect and selects "save", processor 120 can store the second content by applying the second editing effect to the first content. For example, in operation 501, the first edited content (e.g., the second content) can have the first editing effect applied, and in operation 515, the first edited content (e.g., the second content) can have the second editing effect applied. Processor 120 can store the first edited content by including first content access information and second metadata as the second editing effect in the first edited content. In this case, because the first edited content is updated, only the first edited content can be stored in the general area 220.
[0113] According to various embodiments, processor 120 can generate second editing engine information corresponding to second metadata. Processor 120 can generate first editing engine information corresponding to first metadata and store the first editing engine information in a general area 220, and generate second editing engine information corresponding to the second metadata and store the second editing engine information in the general area 220. Alternatively, processor 120 can update the first editing engine information corresponding to the first metadata to correspond to the second metadata, and store the updated first editing engine information in the general area 220.
[0114] When a user applies a second editing effect and selects "Save as a different name," processor 120 can store the second edited content (e.g., third content) obtained by applying the second editing effect to the first content. Processor 120 can store the second edited content by including first content access information and second metadata within the second edited content. In this case, because the second edited content was generated, both the first edited content (e.g., the second content) and the second edited content (e.g., the third content) can be stored in the general area 220. The second content may include first metadata and first content access information, and the third content may include second metadata and first content access information.
[0115] According to various embodiments, processor 120 can generate second editing engine information corresponding to second metadata. Processor 120 can generate first editing engine information corresponding to first metadata and store the first editing engine information in a general area 220, and generate second editing engine information corresponding to second metadata and store the second editing engine information in the general area 220. Processor 120 can generate a second hash key based on the second editing engine information and include the generated second hash key in the second metadata. The second metadata may include at least one of the second hash key corresponding to the second editing engine information, the resolution, size, generation date, or capacity of the third content. Alternatively, processor 120 can generate a second hash key based on second editing engine configuration information in the second editing engine information and include the generated second hash key in the second metadata. The second metadata may include at least one of the second editing engine name, second editing engine type, the second hash key corresponding to the second editing engine configuration information, the resolution, size, generation date, or capacity of the third content.
[0116] Figures 6a to 6d Examples of managing non-destructive edits of content are shown according to various embodiments of this disclosure.
[0117] Figure 6a A first example of managing non-destructive edited content is shown according to embodiments of this disclosure.
[0118] Reference Figure 6a Electronic devices according to various embodiments (e.g., Figure 1 The processor of electronic device 101 (e.g., Figure 1 The processor 120 can send signals to the display (e.g., Figure 1 The display module 160 provides (or displays) a first user interface 610 including first content. The first content may be raw content acquired from the camera module 180 or from an external device (e.g., Figure 1 The processor 120 receives the original content from the server 108 or electronic device 102. The processor 120 can apply editing effects to the first content based on user input. For example, the processor 120 can receive the selection of a first filter 612 as an editing effect in the first user interface 610. The processor 120 can provide a second user interface 611 obtained by applying the first editing effect to the first content.
[0119] The second user interface 611 may include second content obtained by applying a first editing effect to the first content. The processor 120 may receive a selection of "restore" or "save" from the user in the second user interface 611. When "save" is selected, the processor 120 may store the first content in memory (e.g., ...). Figure 1The secure area of the memory 130) (e.g., Figure 2 The second content, including first content access information (e.g., the access path of the original content) and first metadata corresponding to the second content, is stored in the general area of the memory 130 (e.g., in the secure area 210), and the second content, including first content access information (e.g., the access path of the original content) and first metadata corresponding to the second content, is stored in the general area of the memory 130 (e.g., in the secure area 210). Figure 2 In the general area 220).
[0120] Alternatively, the user can cancel the first editing effect and apply a second editing effect (e.g., a second filter) to the first content. Processor 120 can provide a third user interface 613 obtained by applying the second editing effect to the first content. The third user interface 613 may include third content (e.g., second edited content) obtained by applying the second editing effect to the first content. Processor 120 may receive a selection from the user for "restore" or "save" 614 in the third user interface 613. When "save" 614 is selected, processor 120 may store the third content, including access information for the first content and second metadata corresponding to the third content, in a general area 220 of memory 130.
[0121] Figure 6b A second example of managing non-destructive edited content according to embodiments of this disclosure is shown.
[0122] Reference Figure 6bThe processor 120 can provide a first user interface 630 including first content. The processor 120 can apply editing effects to the first content based on user input. A second user interface 631 can include second content obtained by applying a first editing effect (e.g., a first filter or first editing engine information) to the first content. A third user interface 633 can include third content (e.g., second edited content) obtained by applying a second editing effect (e.g., a second filter or second editing engine information) to the first content. A fourth user interface 635 can include fourth content (e.g., third edited content) obtained by applying a third editing effect (e.g., cropping or third editing engine information) to the first content. For example, the processor 120 can store all second content to fourth content according to user selection. The processor 120 can store the first content in a secure area 210 of the memory 130, and store in a general area 220 of the memory 130 the second content including first content access information and first metadata corresponding to the second content, the third content including first content access information and second metadata corresponding to the third content, and the fourth content including first content access information and third metadata corresponding to the fourth content. When generating three edited contents from a single original content, the processor 120 can store only one original content and store three edited contents by associating each of the three edited contents with the original content.
[0123] Figure 6c A third example of managing non-destructive edited content according to embodiments of this disclosure is shown.
[0124] Reference Figure 6c The processor 120 can provide a first user interface 650 including first content. The processor 120 can apply editing effects to the first content based on user input. The second user interface 651 can include second content (e.g., the first edited content) obtained by applying the first editing effect (e.g., first editing engine information) to the first content. When the processor 120 receives a "save" 652 selection in the second user interface 651, the processor 120 can store the first content in a secure area 210 of the memory 130 and store the second content, including first metadata and first content access information, in a general area 220 of the memory 130.
[0125] The user can select (or load) second content by running a gallery application. Processor 120 can provide a third user interface 653, including the second content stored in general area 220, based on user input. Processor 120 can determine whether the second content is editable, and if so, when the user selects the edit button 654 in the third user interface 653, processor 120 can provide a fourth user interface 655 obtained by applying a first editing effect to the first content stored in secure area 210. When the user selects "Restore" 657 in the fourth user interface 655, processor 120 can provide a first user interface 650 including the first content. Alternatively, when processor 120 detects user input for content editing in the fourth user interface 655, processor 120 can edit the second content based on the user input. When a request to save the edited content exists, processor 120 can store the edited second content in association with the first content in general area 220 of memory 130.
[0126] Figure 6d A fourth example of managing non-destructive edited content according to embodiments of this disclosure is shown.
[0127] Reference Figure 6d Processor 120 can provide a first user interface 670 including the original content. Processor 120 can apply editing effects to the first content based on user input. Second user interface 671 can include second content (e.g., the first edited content) obtained by applying the first editing effect (e.g., first editing engine information) to the first content. Processor 120 can cancel the first editing effect in the second content and apply a second editing effect (e.g., second editing engine information) based on user input. Third user interface 673 can include third content (e.g., the second edited content) obtained by applying the second editing effect to the first content. When processor 120 receives a selection for "Save Copy" 672 in the third user interface 673, processor 120 can store the third content, including second metadata as the second editing effect and access information of the original content, in a general area 220 of memory 130. Fourth user interface 675 can be the running screen of a gallery application and includes the second content 681 and the third content 683. When two edited contents are generated from a single original content, the processor 120 may store only one original content and store two edited contents by associating each of the two edited contents with the original content.
[0128] Figure 7 This is a flowchart 700 illustrating a method for managing non-destructively edited content by an electronic device according to an embodiment of the present disclosure.
[0129] Reference Figure 7 In operation 701, the electronic device according to various embodiments (e.g., Figure 1 The processor of electronic device 101 (e.g., Figure 1 The processor 120 can select second content. Second content selection can be performed when content is displayed, sent, or shared. For example, the processor 120 can receive at least one second piece of content selected by the user on the running screen of a gallery application. Alternatively, the processor 120 can receive at least one second piece of content selected by the user when a messenger application or content-sharing application sends (or uploads) a file. The processor 120 can also receive at least one second piece of content selected by the user on a display (e.g., a monitor). Figure 1 The selected second content is displayed on the display module 160.
[0130] In operation 703, processor 120 may receive a request to send selected second content. The user requests to send (or share) second content selected via the gallery application's runtime screen, to send second content selected via a messenger application, or to upload second content selected via a content sharing application.
[0131] In operation 705, processor 120 may determine whether there is first content (e.g., original content) corresponding to the selected second content. For example, processor 120 may determine whether a first hash key is included in the selected second content. When the first hash key is included in the selected second content, processor 120 may determine that first content exists, and when the first hash key is not included, processor 120 may determine that first content does not exist. When first content exists, processor 120 may perform operation 707, and when first content does not exist, processor 120 may perform operation 710.
[0132] In the absence of first content, during operation 710, processor 120 can send selected second content based on a content sending request. Alternatively, when there is no request to send first content, processor 120 can send only the selected second content. Processor 120 can upload the selected second content on a webpage or send the selected second content to another user's selected electronic device (e.g., Figure 1 Electronic devices 102).
[0133] In the presence of the first content, during operation 707, the processor 120 can identify the first content corresponding to the selected second content. The processor 120 can do this by retrieving the content from memory (e.g., ...). Figure 1 The secure area of the memory 130) (e.g., Figure 2The processor 120 searches the selected second content within the secure zone 210 for the first hash key included in the first content to identify the first content. When the first content is not stored in the secure zone 210, the processor 120 may be prepared to download the first content from the server 108, or to recover the first content by using the selected second content.
[0134] In operation 709, processor 120 can determine whether to request the transmission of first content. When first content corresponding to second content exists, processor 120 can do so via a display (e.g., ...). Figure 1 The display module 160 provides a user interface including first content and a control menu (e.g., send or not send) for receiving selections on whether to send the first content. The user can identify the first content displayed through the user interface and select whether to send the first content along with second content. The processor 120 can receive from the user a request to send the first content corresponding to the selected second content (e.g., selection of the send button). When the processor 120 does not receive a request from the user to send the first content corresponding to the selected second content (e.g., selection of the "do not send" button), the processor 120 can perform operation 710. When a request to send the first content is made, the processor 120 can perform operation 711, and when no request to send the first content is made, the processor 120 can perform operation 710.
[0135] In the event of a request to send first content, in operation 711, processor 120 may send selected second content and identified first content. When the first content corresponding to the selected second content is stored in secure area 210, processor 120 may send the first content stored in secure area 210 together with the selected second content. Alternatively, when first content corresponding to the selected second content exists but the access path to server 108 is stored in secure area 210, processor 120 may download the first content from server 108 to send the first content together with the selected second content. Alternatively, when first content corresponding to the selected second content exists but the first content is corrupted or not stored in secure area 210, processor 120 may recover the first content using the selected second content and send the first content together with the selected second content.
[0136] For example, processor 120 can recover the first content by applying metadata in reverse to selected second content. When the first content is recovered, processor 120 can generate a new first hash key based on the first content access information, store the generated first hash key together with the first content in secure area 210, and store the same first hash key together with the second content in general area 220. Alternatively, when the first hash key is not stored and the first content is stored in memory 130, processor 120 can generate the first hash key using the first content and store the generated first hash key in memory 130.
[0137] Electronic devices according to various embodiments (e.g., Figure 1 The operation method of the electronic device 101 may include the following operations: via the camera module of the electronic device (e.g., Figure 1 The camera module 180) or the communication module of the electronic device (e.g., Figure 1 The communication module 190) acquires first content; generates second content by editing the first content based on user input; and stores the acquired first content in a secure area of the electronic device's memory (e.g., Figure 2 The second content, including metadata corresponding to the second content and access information of the first content corresponding to the first content, is stored in a general area of the memory (e.g., in the secure area 210), and the second content, including metadata corresponding to the second content and access information of the first content corresponding to the first content, is stored in the general area of the memory (e.g., in the secure area 210). Figure 2 In the general area 220), the first content access information associates the first content with the second content.
[0138] The storage operation may include the following operations: generating a first hash key based on first content access information; associating the generated first hash key with first content to store the first hash key in a secure area, and associating the generated first hash key with second content to store the first hash key in a general area.
[0139] The method may also include the following operations: identifying whether the first content is stored in the secure area by using a first hash key stored in the general area; and recovering the first content by using metadata included in the second content when the first content is not stored in the secure area.
[0140] The method may include the following operations: when the first content is recovered, storing the first content in a secure area; generating first content access information corresponding to the first content to update the first content access information included in the second content stored in a general area; when the first content access information is updated, generating a new first hash key based on the updated first content access information; associating the generated new first hash key with the first content to store the first hash key in the secure area; and associating the new first hash key with the second content to store the first hash key in the general area.
[0141] The method may further include the following operations: decoding a first hash key stored in a secure area to obtain the access path of the server; downloading first content from the server and storing the first content in the secure area; and generating first content access information corresponding to the first content and updating the first content access information included in second content stored in a general area.
[0142] The method may further include the following operations: displaying at least one second content; determining whether the displayed second content can be edited; when the displayed second content can be edited, searching for first content corresponding to the displayed second content; and displaying the second content obtained by applying first metadata to the first content.
[0143] The method may also include the following operations: editing first content based on user input; generating third content obtained by applying second metadata corresponding to the editing; and storing the third content, including access information of the first content and the second metadata corresponding to the third content, in a general area.
[0144] The various embodiments of this disclosure disclosed in the specification and drawings are merely illustrative examples to readily describe the technical content of this disclosure and to aid in understanding it, and are not intended to limit the scope of this disclosure. Therefore, in addition to the embodiments described herein, the scope of this disclosure should be interpreted to include all variations or modifications derived within the technical spirit of this disclosure.
Claims
1. An electronic device, comprising: Camera module; Communication module; Memory; as well as The processor is operatively coupled to the camera module, the communication module, and the memory. The processor is configured as follows: The first content is obtained through the camera module or the communication module. Detect the first user input used to edit the first content. Based on the first user input, the second content is generated by editing the first content, and Based on the fact that the first content has been edited, the first content is stored in the secure area of the memory, and the second content, including metadata corresponding to the second content and access information of the first content corresponding to the first content, is stored in the general area of the memory. Wherein, the first content access information associates the first content with the second content, and The secure area is configured to either disallow access to the first content or selectively allow access to the first content only when user authentication is obtained via a fingerprint sensor.
2. The electronic device according to claim 1, wherein, The processor is configured to A first hash key is generated based on the first content access information. The generated first hash key is associated with the first content to store the first hash key in the secure area, and The first hash key is associated with the second content to store the first hash key in the general area.
3. The electronic device according to claim 2, in, The processor is configured to Whether the first content is stored in the secure area is identified by using a first hash key stored in the general area, and When the first content is not stored in the secure area, the first content is recovered by using the metadata included in the second content.
4. The electronic device according to claim 3, wherein, The processor is configured to When the first content is restored, the first content is stored in the secure area, and Generate first content access information corresponding to the first content to update the first content access information included in the second content stored in the general area.
5. The electronic device according to claim 4, wherein, The processor is configured to When the first content access information is updated, a new first hash key is generated based on the updated first content access information. The generated new first hash key is associated with the first content to store the first hash key in the secure area, and The new first hash key is associated with the second content to store the first hash key in the general area.
6. The electronic device according to claim 3, wherein, The processor is configured to Decode the first hash key stored in the secure area to obtain the server's access path, and Download the first content from the server.
7. The electronic device according to claim 1, wherein, The processor is configured to Associating the metadata with the first content to store the metadata in the secure area, and When the second content is not present in the general area or the second content is corrupted, the second content is recovered by using the metadata and the first content.
8. The electronic device according to claim 1, wherein, The processor is also configured to: Display at least one second piece of content. Determine whether at least one of the displayed secondary contents can be edited. When at least one of the displayed second contents can be edited, search for the first content corresponding to the at least one of the displayed second contents, and Display the second content obtained by applying the first metadata to the first content.
9. The electronic device according to claim 8, wherein, The processor is configured to The first content is edited based on user input. Generate third content obtained by applying second metadata corresponding to the edit, and The third content, including the first content access information and the second metadata corresponding to the third content, is further stored in the general area.
10. The electronic device according to claim 1, wherein, The processor is configured to A second hash key is generated by using the editing engine information included in the metadata. The second hash key is included in the metadata to store the second hash key, and The editing engine information is stored in the general area.
11. The electronic device according to claim 10, wherein, The processor is configured to, The editing request is not allowed when the second hash key included in the metadata of the second content to be edited is different from the hash key of the editing engine information stored in the general area.
12. The electronic device according to claim 1, wherein, The processor is configured to When a content sending request is received, it is determined whether there is first content corresponding to the requested second content, and When the first content exists, send at least one of the requested second content or the first content, depending on the user's selection.
13. The electronic device according to claim 12, wherein, The processor is configured to determine whether there is first content corresponding to the second content to be sent, based on whether the first hash key is included in the second content to be sent.
14. A method of operating an electronic device, the method comprising: The first content is obtained through the camera module or the communication module of the electronic device; Detect the first user input used to edit the first content; Based on the first user input, the second content is generated by editing the first content; as well as Based on the fact that the first content has been edited, the first content is stored in a secure area of the memory in the electronic device, and the second content, including metadata corresponding to the second content and access information of the first content corresponding to the first content, is stored in a general area of the memory. Wherein, the first content access information associates the first content with the second content, and The secure area is configured to either disallow access to the first content or selectively allow access to the first content only when user authentication is obtained via a fingerprint sensor.
15. The method according to claim 14, wherein, The storage includes: Generate a first hash key based on the first content access information; and The generated first hash key is associated with the first content to store the first hash key in the secure area, and the first hash key is associated with the second content to store the first hash key in the general area.