Electronic device and method for storing an image
By identifying and storing the area of interest slices of ultra-high resolution images, the storage and decoding complexity problem in the prior art is solved, and an efficient method of quickly extracting and storing selected areas is realized.
Patent Information
- Application Number
- CN202180013194.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-02-07
- Filing Date
- 2021-01-14
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2041-01-14
AI Technical Summary
The prior art requires a lot of storage space and computing resources to store and decode the region of interest when processing ultra-high resolution images, especially when the region of interest is large, the encoding and decoding process is complex and time-consuming.
By identifying slices corresponding to areas of interest of the image, and storing these slices without encoding and decoding operations, the selected areas are extracted and stored using memory at high speed.
It enables rapid extraction and storage of selected areas of ultra-high resolution images without increasing memory usage, reducing the computational burden.
Smart Images

Figure CN115053516B_ABST
Abstract
Description
Technical Field
[0001] One or more embodiments of the present disclosure generally relate to an electronic device and method for storing images. Background Art
[0002] Recently, cameras and related technologies have advanced. As the number of pixels available in cameras has increased rapidly, various applications and services that utilize high-resolution images or videos (e.g., 4K or 8K HEVC videos and HEIC images) are being developed. For example, there may be an application in the art that can capture high-quality images or videos using a camera mounted on an electronic device and display them on a large screen. Summary of the Invention
[0003] Technical Problem
[0004] As described above, in recent years, electronic devices capable of capturing ultra-high-resolution images have been developed. To extract a region of interest from an ultra-high-resolution image, a storage space for storing decoded data and the extracted data is required, and additional image encoding is needed, so a large amount of memory and computation may be required. In particular, even if an image is encoded into several slices, if the size of the region of interest is very large, a large amount of storage space may still be required even for partial decoding. In addition, a large amount of computation may be required during the re-encoding process.
[0005] Solution to the Problem
[0006] According to an embodiment of the present disclosure, an electronic device is provided. The electronic device may include: a display; a processor operably connected to the display; and a memory operably connected to the processor, wherein the memory stores instructions that, when executed, cause the processor to: display an image on the display; identify slices corresponding to at least one region selected as a region of interest of the image; select the identified slices from a file storing the image; and store at least one piece of information about the region of interest and the selected slices, wherein the file storing the image is a file in which the image is compressed and stored as a plurality of slices.
[0007] According to an embodiment of the present disclosure, an electronic device is provided. The electronic device may include: a display; and a processor operably connected to the display, wherein the processor is configured to: display an image on the display; identify a slice corresponding to at least one region of the image selected as a region of interest; identify the size of the region of interest based on the identified slice; determine whether the size of the region of interest is greater than a preset threshold; and store the region of interest by using a decoded image corresponding to the region of interest in a case where the size of the region of interest is less than the preset threshold.
[0008] According to an embodiment of the present disclosure, a method for storing a region of interest of an image in an electronic device is provided. The method may include: displaying an image on a display; identifying a slice corresponding to at least one region of the image selected as a region of interest; selecting the identified slice from a file storing the image; and storing at least one piece of information about the region of interest and the selected slice, wherein the file storing the image is a file in which the image is compressed and stored as a plurality of slices.
[0009] Advantageous effects of the invention
[0010] According to an embodiment of the present disclosure, an electronic device can extract and store a selected region of an image at high speed without performing encoding and decoding operations.
[0011] According to an embodiment of the present disclosure, the electronic device can extract and store a selected region of an ultra-high resolution image by using only a small amount of memory. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] From the following detailed description in conjunction with the accompanying drawings, the above and other aspects, features, and advantages of certain embodiments of the present disclosure will become more apparent. In the drawings, the same or similar reference numerals may be used to refer to the same or similar parts, wherein:
[0013] Figure 1 is a block diagram of an electronic device in a network environment according to various embodiments;
[0014] Figure 2 is a block diagram showing an image file structure according to an embodiment;
[0015] Figure 3 is a diagram showing a configuration of a main image according to an embodiment;
[0016] Figure 4 is a functional block diagram of an electronic device according to an embodiment of the present disclosure;
[0017] Figure 5A is a flowchart showing an operation of an electronic device according to an embodiment of the present disclosure;
[0018] Figure 5B is a flowchart showing the operation of an electronic device according to another embodiment of the present disclosure;
[0019] Figures 6A to 6C shows an example in which an electronic device according to an embodiment of the present disclosure extracts and stores a region of interest of an image;
[0020] Figure 7 is a flowchart showing the operation of an electronic device according to another embodiment of the present disclosure;
[0021] Figure 8 shows an example in which an electronic device according to an embodiment of the present disclosure edits an image;
[0022] Figure 9 shows a user interface and corresponding functions of an electronic device according to an embodiment of the present disclosure. Detailed Description of Specific Embodiments
[0023] Hereinafter, certain embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
[0024] Certain embodiments of the present disclosure may provide an electronic device and method for extracting and storing a selected area, that is, extracting and storing a region of interest from a high-resolution and / or high-capacity image.
[0025] According to an embodiment of the present disclosure, the electronic device may extract and store a selected area of an image at high speed without performing encoding and decoding operations.
[0026] According to an embodiment of the present disclosure, the electronic device may extract and store a selected area of an ultra-high-resolution image by using only a small amount of memory.
[0027] Figure 1 is a block diagram of an electronic device in a network environment according to an embodiment of the present disclosure. Refer to Figure 1, in a network environment 100, the electronic device 101 can communicate with the electronic device 102 via the first network 198 (e.g., a short-range wireless communication network), or communicate with the electronic device 104 or the server 108 via the second network 199 (e.g., a long-range wireless communication network). The electronic device 101 can communicate with the electronic device 104 via the server 108. The electronic device 101 may include a processor 120, a memory 130, an input device 150, a sound output device 155, a display device 160, an audio module 170, a sensor module 176, an interface 177, a haptic module 179, a camera module 180, a power management module 188, a battery 189, a communication module 190, a subscriber identity module (SIM) 196, or an antenna module 197. At least one of the components may be omitted from the electronic device 101 (e.g., the display device 160 or the camera module 180), or one or more other components may be added to the electronic device 101. Some of the components may be implemented as a single integrated circuit. For example, the sensor module 176 (e.g., a fingerprint sensor, an iris sensor, or an illuminance sensor) may be implemented as being embedded in the display device 160 (e.g., a display).
[0028] The processor 120 may run software (e.g., the program 140) to control at least one other component (e.g., a hardware component or a software component) connected to the processor 120 of the electronic device 101, and may perform various data processing or calculations. As at least part of the data processing or calculation, the processor 120 may load a command or data received from another component (e.g., the sensor module 176 or the communication module 190) into the volatile memory 132, process the command or data stored in the volatile memory 132, and store the resulting data in the non-volatile memory 134. The processor 120 may include a main processor 121 (e.g., a central processing unit (CPU) or an application processor (AP)) and an auxiliary processor 123 (e.g., a graphics processing unit (GPU), an image signal processor (ISP), a sensor hub processor, or a communication processor (CP)) that is operationally independent of or combined with the main processor 121. Additionally or alternatively, the auxiliary processor 123 may be adapted to consume less power than the main processor 121, or be adapted for a specific function. The auxiliary processor 123 may be implemented as being separate from the main processor 121, or as part of the main processor 121.
[0029] When the main processor 121 is in an inactive (e.g., sleep) state, the auxiliary processor 123 (instead of the main processor 121) may control at least some of the functions or states related to at least one of the components of the electronic device 101 (e.g., the display device 160, the sensor module 176, or the communication module 190), or when the main processor 121 is in an active state (e.g., running an application), the auxiliary processor 123 may control at least some of the functions or states related to at least one of the components of the electronic device 101 (e.g., the display device 160, the sensor module 176, or the communication module 190) together with the main processor 121. The auxiliary processor 123 (e.g., an image signal processor or a communication processor) may be implemented as part of another component (e.g., the camera module 180 or the communication module 190) that is functionally related to the auxiliary processor 123.
[0030] The memory 130 may store various data used by at least one component of the electronic device 101 (e.g., the processor 120 or the sensor module 176). The various data may include, for example, software (e.g., the program 140) and input data or output data for commands related thereto. The memory 130 may include a volatile memory 132 or a non-volatile memory 134.
[0031] The program 140 may be stored as software in the memory 130, and the program 140 may include, for example, an operating system (OS) 142, middleware 144, or an application 146.
[0032] The input device 150 may receive commands or data to be used by other components of the electronic device 101 (e.g., the processor 120) from the outside of the electronic device 101 (e.g., a user). The input device 150 may include, for example, a microphone, a mouse, a keyboard, or a digital pen (e.g., a stylus).
[0033] The sound output device 155 may output a sound signal to the outside of the electronic device 101. The sound output device 155 may include, for example, a speaker or a receiver. The speaker may be used for general purposes such as playing multimedia or playing a record, and the receiver may be used for incoming calls. According to an embodiment, the receiver may be implemented separately from the speaker or as part of the speaker.
[0034] The display device 160 may visually provide information to the outside of the electronic device 101 (e.g., a user). The display device 160 may include, for example, a display, a holographic device, or a projector, and a control circuit for controlling a corresponding one of the display, the holographic device, and the projector. The display device 160 may include a touch circuit adapted to detect a touch or a sensor circuit (e.g., a pressure sensor) adapted to measure the intensity of a force caused by the touch.
[0035] The audio module 170 can convert sound into an electrical signal and vice versa. The audio module 170 can obtain sound via the input device 150, or output sound via the sound output device 155 or headphones of an external electronic device (e.g., electronic device 102) directly (e.g., wired) or wirelessly connected to the electronic device 101.
[0036] The sensor module 176 can detect the operating state of the electronic device 101 (e.g., power or temperature) or the environmental state outside the electronic device 101 (e.g., the state of the user), and then generate an electrical signal or data value corresponding to the detected state. The sensor module 176 can include, for example, a gesture sensor, a gyro sensor, an atmospheric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an infrared (IR) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0037] The interface 177 can support one or more specific protocols used to directly (e.g., wired) or wirelessly connect the electronic device 101 to an external electronic device (e.g., electronic device 102). The interface 177 can include, for example, a high-definition multimedia interface (HDMI), a universal serial bus (USB) interface, a secure digital (SD) card interface, or an audio interface.
[0038] The connection terminal 178 can include a connector through which the electronic device 101 can be physically connected to an external electronic device (e.g., electronic device 102). The connection terminal 178 can include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0039] The haptic module 179 can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that can be recognized by the user through his sense of touch or kinesthesia. The haptic module 179 can include, for example, a motor, a piezoelectric element, or an electrical stimulator.
[0040] The camera module 180 can capture still images or moving images. The camera module 180 can 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. The power management module 188 can be implemented as at least part of, for example, a power management integrated circuit (PMIC).
[0042] The battery 189 can supply power to at least one component of the electronic device 101. The battery 189 can include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0043] The communication module 190 may support establishing a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device 101 and an external electronic device (e.g., the electronic device 102, the electronic device 104, or the server 108), and perform communication via the established communication channel. The communication module 190 may include one or more communication processors capable of operating independently from the processor 120 (e.g., an application processor (AP)), and support direct (e.g., wired) communication or wireless communication. The communication module 190 may include a wireless communication module 192 (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module 194 (e.g., a local area network (LAN) communication module or a power line communication (PLC) module). Each corresponding one of these communication modules may communicate with an external electronic device via a first network 198 (e.g., a short-range communication network such as BluetoothTM, Wi-Fi Direct, or Infrared Data Association (IrDA)) or a second network 199 (e.g., a long-range communication network such as a cellular network, the Internet, or a computer network (e.g., a LAN or a wide area network (WAN))). These various types of communication modules may be implemented as a single component (e.g., a single chip), or these various types of communication modules may be implemented as multiple separate components (e.g., multiple chips). The wireless communication module 192 may identify and authenticate the electronic device 101 in a communication network (such as the first network 198 or the second network 199) using user information (e.g., an international mobile subscriber identity (IMSI)) stored in the user identification module 196.
[0044] The antenna module 197 may transmit a signal or power to the outside of the electronic device 101 (e.g., an external electronic device) or receive a signal or power from the outside of the electronic device 101 (e.g., an external electronic device). The antenna module 197 may include an antenna, and the antenna includes a radiating element formed of a conductive material or a conductive pattern formed in a substrate (e.g., a PCB) or formed on the substrate. The antenna module 197 may include a plurality of antennas. In this case, at least one antenna suitable for a communication scheme used in a communication network (such as the first network 198 or the second network 199) may be selected from the plurality of antennas by, for example, the communication module 190 (e.g., the wireless communication module 192). Subsequently, a signal or power may be transmitted or received between the communication module 190 and an external electronic device via the selected at least one antenna. Additional components (e.g., a radio frequency integrated circuit (RFIC)) other than the radiating element may be additionally formed as part of the antenna module 197.
[0045] At least some of the above components may be interconnected via an inter-peripheral communication scheme (e.g., a bus, General-Purpose Input / Output (GPIO), Serial Peripheral Interface (SPI), or Mobile Industry Processor Interface (MIPI)) and communicatively transmit signals (e.g., commands or data) therebetween.
[0046] Commands or data may be sent or received between the electronic device 101 and the external electronic device 104 via the server 108 connected to the second network 199. Each of the electronic devices 102 and 104 may be a device of the same type as the electronic device 101 or a device of a different type from the electronic device 101. All or some of the operations to be run on the electronic device 101 may be run on one or more of the external electronic device 102, the external electronic device 104, or the server 108. For example, if the electronic device 101 is to automatically execute a function or service or is to execute a function or service in response to a request from a user or another device, the electronic device 101 may request one or more of the external electronic devices to execute at least part of the function or service instead of running the function or service, or in addition to running the function or service, the electronic device 101 may also request one or more of the external electronic devices to execute at least part of the function or service. The one or more external electronic devices that receive the request may execute the requested at least part of the function or service or execute an additional function or additional service related to the request and transmit the result of the execution to the electronic device 101. The electronic device 101 may provide the result as at least part of a reply to the request with or without further processing of the result. For this purpose, for example, cloud computing technology, distributed computing technology, or client-server computing technology may be used.
[0047] An electronic device according to various embodiments may be one of various types of electronic devices. The electronic device may include, for example, a portable communication device (e.g., a smart phone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. According to an embodiment of the present disclosure, the electronic device is not limited to those described above.
[0048] Figure 2 is a block diagram showing an image file structure according to an embodiment.
[0049] Refer to Figure 2, the image file 200 may include data fields, such as a file type (ftyp) 210, metadata 220, and mdat data 240. The image file 200 may include a compressed image, and for example, may use HEIF (High Efficiency Image Format) image compression technology based on HEVC (High Efficiency Video Coding) video compression. The HEVC encoder may divide the image into multiple slices, and each slice may be a rectangular area of the image with a specific size. The multiple slices may be searched and / or decoded independently without referring to each other. The HEIF image may include image data encoded in units of slices and information about the slices.
[0050] The file type (ftyp) 210 may include the brand name of the image file format. For example, if the file type 210 is High Efficiency Image Container (HEIC), this indicates that the encoding format of the image file is High Efficiency Video Coding (HEVC), and the image file 200 contains an image that is not in sequence.
[0051] The metadata 220 may include the header data of the image. For example, the size of the main image, the size of the slices, and the number of slices may be included in the header data. Here, the main image is the image of the image file and may be an image for display on a display component such as a screen. In addition to the main image, the image file may also include a thumbnail described below.
[0052] The mdat data 240 may include an Exchangeable Image File Format (EXIF) 250, a thumbnail 260, and a main image 270.
[0053] The EXIF 250 may include supplementary information about the image (for example, the camera manufacturer that took the image, the date when the image was taken, etc.).
[0054] The thumbnail 260 may be an image representing the image file 200. The thumbnail 260 may be a smaller and simplified version of the main image. The thumbnail 260 may be stored in a compressed format. Information about the offset representing the position of the thumbnail 260 may be included in the metadata 220.
[0055] The main image 270 is the image to be displayed using the image file and may be stored in a compressed format like the thumbnail 260. The main image may include multiple slices. The main image may include data 280 corresponding to each slice. The data 280 corresponding to the slice may be encoded data. Information about the offset of each slice may be included in the metadata 220. When the information about the offset of the slice included in the metadata 220 is used, an electronic device (for example, Figure 1 the electronic device 101 in) may randomly access a specific slice.
[0056] Figure 3This is a diagram showing the configuration of a main image according to an embodiment.
[0057] In an embodiment, the main image 300 included in an image file may be represented using a plurality of slices including a specific slice 310. In various embodiments of the present disclosure, the specific slice 310 may be referred to as a block, a grid, or a coding unit. A slice 310 may be a unit that can be independently processed by an electronic device (e.g., Figure 1 the electronic device 101 in ) without referring to another slice. Since there is no dependency between slices, a slice 310 may be independently compressed and stored. A plurality of slices included in one image file may all have the same size. When slices of different sizes are included in one image file, information about the size of the slices may also be included in the header data. For different image files, the size and resolution of the slices may be different. A slice 310 may be addressed or represented by an index (e.g., 0, 1, 2), or may also be addressed or represented by coordinates (e.g., (0,0), (0,1), (1,0)).
[0058] For example, Figure 3 shows a main image composed of a total of 48 slices. In Figure 3 , the slice with an index of 20 may also be represented by the coordinate value of (4, 2).
[0059] Figure 4 This is a functional block diagram of an electronic device according to an embodiment of the present disclosure.
[0060] In an embodiment of the present disclosure, the electronic device 400 may include an input part 410, a display part 420, a region of interest setter 430, a slice selector 440, a header information setter 450, and a storage part 460.
[0061] In an embodiment of the present disclosure, the input part 410 may receive an input from a user for selecting an image. For example, a user may select a single image from an application. Alternatively, a user may search for an image on the Internet and select and download a specific image. Hereinafter, the image input by the user through the input part 410 may be referred to as a "raw image" or a "raw image file" to distinguish it from the image selected as the region of interest.
[0062] In an embodiment of the present disclosure, the display part 420 may correspond to Figure 1 the display device 160 in. The display part 420 may display the raw image and / or the image selected as the region of interest. In various different embodiments of the present disclosure, the input part 410 and the display part 420 may be integrally implemented, and in this case, it may be referred to as a touch screen display.
[0063] In an embodiment of the present disclosure, a region of interest setter 430, which may be implemented as software executed by a processor of the electronic device 400, may select an image (e.g., a part of an original image) displayed on the display part 420 as the region of interest. The electronic device 400 may select the region of interest when recognizing a specific action of the user. For example, when the image displayed on the display part 420 is enlarged or reduced, the electronic device 400 may determine that the region of interest is selected. The region of interest may be selected by using, for example, an editing application or a viewer application. Selecting the region of interest using an application may be described in detail with reference to the following Figure 9 The processor of the electronic device may include a microprocessor or any suitable type of processing circuit, such as one or more general-purpose processors (e.g., ARM-based processors), digital signal processors (DSPs), programmable logic devices (PLDs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), graphics processing units (GPUs), video card controllers, etc. In addition, it will be recognized that when a general-purpose computer accesses the code for implementing the processing shown herein, the execution of the code transforms the general-purpose computer into a special-purpose computer for performing the processing shown herein. Certain functions and steps provided in the drawings may be implemented by hardware, software, or a combination of both, and may be executed in whole or in part in the programming instructions of a computer. No element of any claim herein shall be construed under the provisions of 35 U.S.C. § 112(f) unless the element expressly recites the term "means". In addition, those skilled in the art will understand and appreciate that a "processor" or "microprocessor" may be hardware in the claims disclosure. Under the broadest reasonable interpretation, the appended claims are statutory subject matter in compliance with 35 U.S.C. § 101.
[0064] In an embodiment of the present disclosure, the slice selector 440, which may be implemented as software executed by a processor of the electronic device 400, may select the slice 310 corresponding to the region of interest. The slice selector 440 may select the slice 310 identified by the region of interest setter 430 from the original image file (e.g., Figure 3 the main image 270 in
[0065] ). The slice selector 440 may determine the index and / or coordinate values of the corresponding slice (e.g., Figure 2 slice 310 in
[0066] In an embodiment of the present disclosure, a header information setter 450, which may be implemented as software executed by a processor of an electronic device 400, may store information about a region of interest (e.g., the size of the region of interest) as header data. For example, the information about the region of interest may include information about the total number of slices, the size of the slices, and / or the resolution of the slices. Since the resolution of the slices identified as corresponding to the region of interest may be higher than the resolution of the selected region of interest, the resolution of the identified slices may also be included in the information about the region of interest. The header information setter 450 may also store information related to the region of interest in the information about the original image as header data. For example, the information about the original image may include information about the generation time of the original image and the device used to generate the original image.
[0067] In an embodiment of the present disclosure, a storage part 460 may store the header data saved by the header information setter 450 and the slices 310 selected by a slice selector 440 as separate image files. The storage part 460 may be directly accessed to select an original image file and extract the slices 310 corresponding to the region of interest. The storage part 460 may be accessed to extract the region of interest from the original image file without decoding or encoding the original image file. The extracted region of interest may be stored as a separate image file together with the header data saved by the header information setter 450. For example, a processor of the electronic device 400 may access the storage part 460 to modify the index of the slices corresponding to the region of interest and store it as a separate image file.
[0068] In an embodiment of the present disclosure, the storage part 460 may be accessed to add or update the header data saved by the header information setter 450 to the original image file. The storage part 460 may also be accessed to update the thumbnail.
[0069] In an embodiment of the present disclosure, the image file storing the region of interest may have the same resolution as the original image file.
[0070] Figure 5A is a flowchart showing the operation of an electronic device according to an embodiment of the present disclosure.
[0071] In an embodiment of the present disclosure, at operation 510, an electronic device (e.g., Figure 4 the electronic device 400 therein) may display an image on a display part (or display) (e.g., Figure 4 the display part 420 therein). The image file containing the image may be a compressed file. The electronic device 400 may additionally perform a decoding operation to display the image file.
[0072] In an embodiment of the present disclosure, a region of an image may be selected as a region of interest by an electronic device 400 or a user. In the following description, an image before the region of interest is selected may be referred to as an "original image" or an "original image file" to distinguish it from the image selected as the region of interest. In various different embodiments of the present disclosure, the region of interest may be selected by a user using a viewer application (e.g., an album) or an editing application (e.g., an image editor).
[0073] In an embodiment of the present disclosure, the viewer application or the editing application may be different applications or a single application having various functions (e.g., a viewer function and an editing function).
[0074] In an embodiment of the present disclosure, at operation 520, the electronic device 400 may identify a slice corresponding to a region of the image selected as the region of interest. The electronic device 400 may identify the corresponding slice by checking the coordinate values of the pixels corresponding to the region of interest against the coordinate values of the slice. The electronic device 400 may determine whether the slice is partially or entirely included in the region of interest. If the slice is partially or entirely included in the region of interest, the electronic device 400 may determine that the slice is a slice included in the region of interest.
[0075] In an embodiment of the present disclosure, the electronic device 400 may also identify additional data, such as an index of a slice corresponding to the region of interest, a total number of slices, coordinate values of the slices, a size of the region of interest, or a total size of the slices corresponding to the region of interest. For example, the electronic device may identify indices of slices corresponding to the upper left and lower right of the region of interest, respectively.
[0076] In an embodiment of the present disclosure, at operation 530, the electronic device 400 may select the identified slice from a file storing the image. The electronic device 400 may select the slice from the file storing the image (i.e., the original image file) by using the index or coordinate values of the slice corresponding to the region of interest. The electronic device 400 may use the information about the index or coordinate values and an offset of the slice from the original image file to select the identified slice. Information about the slice offset may be included in metadata of the original image file (e.g., Figure 2 metadata 220 in).
[0077] In an embodiment of the present disclosure, at operation 540, the electronic device 400 may store at least one piece of information about the region of interest and the selected slice. The electronic device 400 may include at least one piece of information about the region of interest in the header data and store it together with the selected slice. In an embodiment of the present disclosure, the electronic device 400 may change some information (e.g., the size of the region of interest) of the header data of the original image file and store it together with the selected slice.
[0078] Figure 5B FIG. is a flowchart showing operations of an electronic device according to another embodiment of the present disclosure.
[0079] In an embodiment of the present disclosure, Figure 5B Examples for supporting compatibility of an image file when sharing the image file is needed or when there are performance problems in the electronic device may be shown.
[0080] In an embodiment of the present disclosure, operations 510 to 530 may be the same as those of Figure 5A and a description thereof is omitted herein.
[0081] In an embodiment of the present disclosure, at operation 550, the electronic device 400 may add or update metadata. The electronic device 400 may add or update at least one piece of information about the identified region of interest and / or at least one piece of information about the slice corresponding to the identified region of interest to the metadata of the original image file. For example, information such as related to the size of the region of interest, the date of selecting the region of interest, the index of the slice corresponding to the region of interest, and / or the number of slices may be added or updated to the metadata.
[0082] In an embodiment of the present disclosure, when there is added metadata, the electronic device 400 may display an image corresponding to the information included in the added metadata on the display.
[0083] In an embodiment of the present disclosure, at operation 560, the electronic device 400 may update the thumbnail. The electronic device 400 may update the thumbnail of the original image file to correspond to the selected region of interest.
[0084] Figures 6A to 6C FIG. shows an example in which an electronic device according to an embodiment of the present disclosure extracts and stores a region of interest of an image.
[0085] Figure 6A FIG. shows an example according to an embodiment of the present disclosure by using an electronic device 600 (e.g., Figure 1The electronic device 101) selects the image 610. The user can select the image 610 by using an editing application and a viewer application, and the electronic device 600 can display the selected image 610. In an embodiment of the present disclosure, a region of the image 610 can be selected as a region of interest by a specific action (e.g., zooming in, or selecting a region by dragging).
[0086] Figure 6B FIG. shows an image 610 selected as a region of interest 620 by an electronic device 600 according to an embodiment of the present disclosure. In an embodiment of the present disclosure, when the region of interest 620 is selected by a specific action, a button 630 for storing the selected region of interest 620 can be enabled. When the button 630 is selected, the region of interest 620 can be stored as an image file different from the original image file. Alternatively, when the button 630 is selected, the region of interest and information about the region of interest can replace the corresponding part of the original image file. Alternatively, when the button 630 is selected, information about the region of interest can be added to the original image file.
[0087] Figure 6C FIG. shows a region of interest 620 selected from the image 610 and a slice 640 corresponding to the selected region of interest.
[0088] Referring to Figure 6C , the image 610 can be represented, for example, by a total of 210 (10×21) slices 650. In an embodiment of the present disclosure, the region of interest 620 can be selected in any size, and all of the slices can be included in the region of interest 620, or only a part of the slices can be included in the region of interest 620.
[0089] In an embodiment of the present disclosure, the electronic device 600 can identify the slice corresponding to the region of interest 620. When at least a part of the slice is included in the region of interest 620, the slice can be identified as a slice 640 corresponding to the region of interest 620. In Figure 6C , a total of 144 (9×16) slices 640 can be identified as corresponding to the region of interest.
[0090] In an embodiment of the present disclosure, when the electronic device 600 selects from the original image file in units of slices, even if a part of the slice is included in the region of interest 620, the slice can still be stored as the region of interest 620. In Figure 6CIn the example, since the total number of slices identified as corresponding to the region of interest 620 is 144 (9×16), these 144 slices can be stored as separate image files. In an embodiment of the present disclosure, when a portion of a slice is included in the region of interest, the entire slice can be stored in the image file storing the region of interest, but the portion of the slice in the region of interest can be stored separately. For example, information about the pixels of the region of interest can also be stored.
[0091] In an embodiment of the present disclosure, the electronic device 600 may add or update, to metadata of the original image file, information about the slice identified as corresponding to the region of interest 620. The electronic device 600 may also update the thumbnail by generating a thumbnail corresponding to the region of interest.
[0092] Figure 7 is a flowchart illustrating an operation of an electronic device according to another embodiment of the present disclosure.
[0093] In an embodiment of the present disclosure, at operation 710, an electronic device (eg, Figure 4 The electronic device 400 in FIG. 4 may be configured to display the electronic device 400 in a display portion (or display) (e.g., Figure 4 The display portion 420 in the electronic device 400 displays the image. The image file containing the image may be a compressed file. The electronic device 400 may additionally perform a decoding operation to display the image file.
[0094] In an embodiment of the present disclosure, an area of an image may be selected as a region of interest by the electronic device 400 or a user. In the following description, an image before the region of interest is selected may be referred to as an "original image" or "original image file" to distinguish it from an image selected as a region of interest.
[0095] In an embodiment of the present disclosure, at operation 720, the electronic device 400 may identify one or more slices corresponding to a region of the image selected as a region of interest. The electronic device 400 may identify the corresponding slice by checking the coordinate values of the pixels corresponding to the region of interest relative to the coordinate values of the slice. The electronic device 400 may determine whether the slice is partially or entirely included in the region of interest. If the slice is partially or entirely included in the region of interest, the electronic device 400 may determine that the slice is a slice belonging to the region of interest.
[0096] In an embodiment of the present disclosure, the electronic device 400 may also identify information such as an index of a slice corresponding to the region of interest, a total number of slices, coordinate values of a slice, a size of the region of interest, or a total size of slices corresponding to the region of interest.
[0097] In an embodiment of the present disclosure, at operation 730, the electronic device 400 may check whether the size of the selected region of interest is greater than a threshold. According to an embodiment of the present disclosure, storing the region of interest in units of slices may be effective only when the region of interest meets a specific condition (e.g., the size of the region of interest). For example, when the size of the slices constituting the image is large and the region of interest includes only a small number of slices, storing the region of interest as multiple slices may be inefficient compared to storing the region of interest as a separate whole image.
[0098] In an embodiment of the present disclosure, as a specific condition, the size of the region of interest may be compared with a threshold, and the threshold may depend on the size of the slices. Table 1 below shows an example of the threshold according to the slice size.
[0099]
Table 1
[0100]
[0101] For example, when the size of the slice is 64×64, there may be no corresponding threshold. When the size of the slice is 64×64, the electronic device 400 may store the region of interest as multiple slices regardless of the size of the region of interest. As another example, when the size of the slice is 128×128, the threshold may be 8M. If the size of the slice is 128×128, the electronic device 400 may check whether the size of the region of interest is greater than 8M. In addition, the size of the image that is not compressed in slices may be further considered as a criterion for the threshold.
[0102] In an embodiment of the present disclosure, the electronic device 400 may further consider the available memory of the electronic device or the performance of the processor as a specific condition. For example, when the available memory is small, the threshold may be smaller than when the available memory is large. In addition, when the processor has high performance, the threshold may be larger than when the processor has low performance.
[0103] In an embodiment of the present disclosure, if the size of the selected region of interest is smaller than the threshold, at operation 740, the electronic device 400 may encode (compress with an image codec) the decoded image corresponding to the region of interest and store it as the region of interest.
[0104] In an embodiment of the present disclosure, if the size of the selected region of interest is greater than a threshold, at operation 750, the electronic device 400 may select the identified slice from the file storing the image. The electronic device 400 may select the identified slice from the file storing the image (i.e., the original image file) by using the index or coordinate value of the slice corresponding to the region of interest. The electronic device 400 may use the information on the index or coordinate value of the slice and the slice offset from the original image file to select the identified slice. The information on the offset of the slice may be included in the metadata of the original image file (e.g., Figure 2 the metadata 220 in
[0105] In an embodiment of the present disclosure, at operation 760, the electronic device 400 may store both at least one piece of information on the region of interest and the selected slice. The electronic device 400 may include at least one piece of information on the region of interest in the header data and store it together with the selected slice. In an embodiment of the present disclosure, the electronic device 400 may change some information of the header data of the original image file and store it together with the selected slice. In another embodiment of the present disclosure, the electronic device 400 may add or update at least one piece of information on the identified region of interest and / or at least one piece of information on the slice corresponding to the identified region of interest to the metadata of the original image file. When at least one piece of information on the region of interest is added or updated to the metadata, the electronic device 400 may also update the thumbnail in the original image file. In an embodiment of the present disclosure, the electronic device 400 may use the information on the region of interest included in the metadata of the original image file as it is. In an embodiment of the present disclosure, the electronic device 400 may inherit the information on the region of interest from the information included in the metadata of the original image file.
[0106] Figure 8 An example of an electronic device editing an image according to an embodiment of the present disclosure is shown.
[0107] Figure 8 An example of editing an image 800 according to an embodiment of the present disclosure is shown. In an embodiment of the present disclosure, the slices identified as regions of interest may be transmitted to an editing application so that the regions of interest 810 and 820 included in the image 800 can be edited. The edited regions of interest may replace the corresponding regions in the original image with replacement slices. For example, the electronic device (e.g., Figure 4The electronic device 400) can display the image 800 by using an editing application. The electronic device 400 can select and edit the regions of interest 810 and 820 by using an editing application or an editing function. The electronic device 400 can extract and edit only the slices corresponding to the regions of interest 810 and 820, and can replace the slices corresponding to the regions of interest 810 and 820 in the original image file.
[0108] In an embodiment of the present disclosure, the electronic device 400 can perform an editing operation after loading only the regions of interest, which are part of the original image, into the memory without loading the entire original image into the memory.
[0109] Figure 9 A user interface and corresponding functions of an electronic device according to an embodiment of the present disclosure are shown.
[0110] Figure 9 Parts (a) to (c) of show a user interface of an electronic device according to an embodiment of the present disclosure, Figure 9 Part (d) of represents image data loaded into the memory according to the use of the user interface.
[0111] Referring to Figure 9 Part (a) of, in an embodiment of the present disclosure, the electronic device 900 can display the image 910 by using a viewer application. The image 910 can be encoded and stored in the image file 930. The electronic device 900 can decode the selected image file 930 to display the image 910 by using the viewer application (935). The electronic device 900 can store the first image data 940 in a memory (e.g., Figure 1 the memory 130 in ) for display by the viewer application. The image stored in the image file 930 can have a high resolution, but when the electronic device 900 is small (e.g., a mobile handheld device), the viewer application can display the image at a lower resolution than the original resolution of the stored image. The first image data 940 for displaying the low-resolution image can be loaded into the memory 130. In an embodiment of the present disclosure, the viewer application can include an edit button 912 linked to an editing application.
[0112] In an embodiment of the present disclosure, the viewer application and the editing application can be different applications or a single application that supports various functions (e.g., a viewer function and an editing function).
[0113] In an embodiment of the present disclosure, as [[ID=As shown in part (b), the electronic device 900 may select a region of interest by recognizing a specific action in a viewer application (e.g., by zooming in or dragging to select a region of interest). When a specific action is recognized to select a region of interest, the viewer application may enable the save button 914. When the save button 914 is selected, the region of interest may be saved, as referred to , 5B or 7.
[0114] In an embodiment of the present disclosure, when the edit button 912 is selected in the electronic device 900, an edit application as shown in part (c) of may be executed. The edit application may, for example, display an image at a higher resolution than the viewer application. To display an image by using the edit application, the electronic device 900 may encode and decode first image data 940 stored in the memory 130 and convert it into second image data 960 (945). Alternatively, the electronic device 900 may decode an image file 930 into second image data 960 (950). In an embodiment of the present disclosure, the second image data 960 may have a higher resolution than the first image data. When the edit application is executed, the electronic device 900 may load the second image data 960 into the memory 130. When the select button 924 is selected in the edit application, a user interface for selecting a region of interest (e.g., a graph for selecting a region) may be added. When a region of interest 925 is selected by using the added user interface, the region of interest 925 may be saved by using the save button 922. When the save button 922 is selected, the region of interest may be stored, as described with reference to , 5B or 7.
[0115] In the above description, an image file is used as an example, but the content of the present disclosure may also be applicable to a dynamic image file (i.e., a video). For example, a region of interest may be selected from a dynamic image file, and slices and slice information corresponding to the region of interest may be extracted and edited, and the edited result may be saved as a separate file.
[0116] According to an embodiment of the present disclosure, an electronic device may include: a display; a processor operably connected to the display; and a memory operably connected to the processor, where the memory may store instructions that, when executed, may cause the processor to: display an image on the display; identify slices corresponding to at least one region of an image selected as a region of interest; select the identified slices from a file storing the image; and store at least one piece of information about the region of interest and the selected slices, where the file storing the image may be a file in which the image is compressed and stored as a plurality of slices.
[0117] In an electronic device according to an embodiment of the present disclosure, a memory may store instructions that further cause a processor to: identify a slice as a slice corresponding to a region of interest if at least a portion of the slice is included in the region of interest.
[0118] In an electronic device according to an embodiment of the present disclosure, a memory may store instructions that further cause a processor to: identify indices of slices respectively corresponding to the upper left and lower right of a region of interest.
[0119] In an electronic device according to an embodiment of the present disclosure, a memory may store instructions that further cause a processor to add at least one piece of information about a region of interest and a selected slice to metadata of a file storing an image.
[0120] In an electronic device according to an embodiment of the present disclosure, at least one piece of information about a region of interest may include information about the number of slices, indices of the slices, and / or coordinate values of pixels corresponding to the region of interest.
[0121] In an electronic device according to an embodiment of the present disclosure, a memory may store instructions that further cause a processor to: store at least one piece of information about a region of interest and a selected slice in another image file different from the file storing the image; and add at least some information included in the metadata of the file storing the image to the other image file.
[0122] In an electronic device according to an embodiment of the present disclosure, a memory may store instructions that further cause a processor to: update a slice corresponding to a region of interest in a file storing an image when editing the region of interest.
[0123] According to an embodiment of the present disclosure, an electronic device may include a display; and a processor operably connected to the display, wherein the processor may be configured to: display an image on the display; identify slices corresponding to at least one region selected as a region of interest of the image; identify a size of the region of interest based on the identified slices; determine whether the size of the region of interest is greater than a preset threshold; and if the size of the region of interest is less than the preset threshold, store the region of interest by using a decoded image corresponding to the region of interest.
[0124] In an electronic device according to an embodiment of the present disclosure, the processor may further be configured to: if the size of the region of interest is greater than the preset threshold, select the identified slices from the file storing the image; and store at least one piece of information about the region of interest and the selected slices, wherein the file storing the image may be a file in which the image is compressed and stored as a plurality of slices.
[0125] In an electronic device according to an embodiment of the present disclosure, a threshold may be determined based on the size of a slice, the size of available memory, and / or the performance of a processor.
[0126] In an electronic device according to an embodiment of the present disclosure, the processor may also be configured to: identify a slice as a slice corresponding to a region of interest if at least a part of the slice is included in the region of interest.
[0127] In an electronic device according to an embodiment of the present disclosure, the processor may also be configured to identify indexes of slices respectively corresponding to the upper left and lower right of the region of interest.
[0128] In an electronic device according to an embodiment of the present disclosure, the processor may also be configured to add at least one piece of information about the region of interest to a file storing an image.
[0129] According to an embodiment of the present disclosure, a method for an electronic device to store a region of interest of an image may include: displaying an image on a display; identifying a slice corresponding to at least one region selected as the region of interest of the image; selecting the identified slice from a file storing the image; and storing at least one piece of information about the region of interest and the selected slice, wherein the file storing the image may be a file in which the image is compressed and stored as a plurality of slices.
[0130] In the method for an electronic device to store a region of interest according to an embodiment of the present disclosure, identifying a slice corresponding to the region of interest may include: identifying a slice as a slice corresponding to the region of interest if at least a part of the slice is included in the region of interest.
[0131] In the method for an electronic device to store a region of interest according to an embodiment of the present disclosure, identifying a slice corresponding to the region of interest may include: identifying indexes of slices respectively corresponding to the upper left and lower right of the region of interest.
[0132] In the method for an electronic device to store a region of interest according to an embodiment of the present disclosure, the method may further include adding at least one piece of information about the region of interest and the selected slice to metadata of a file storing the image.
[0133] In the method for an electronic device to store a region of interest according to an embodiment of the present disclosure, at least one piece of information about the region of interest may include information about the number of slices, indexes of slices, and / or coordinate values of pixels corresponding to the region of interest.
[0134] In a method of an electronic device for storing a region of interest according to an embodiment of the present disclosure, storing at least one piece of information and a selected slice may include: storing at least one piece of information about the region of interest and the selected slice in another image file different from a file storing an image; and adding at least some information included in metadata of the file storing the image to the other image file.
[0135] A method of an electronic device storing a region of interest according to an embodiment of the present disclosure may further include: editing the region of interest; and updating a slice corresponding to the region of interest in the file storing the image.
[0136] It is possible to provide various other embodiments.
[0137] It should be understood that various embodiments of the present disclosure and the terms used therein are not intended to limit the technical features described herein to specific embodiments, but include various changes, equivalent forms, or alternative forms for the corresponding embodiments. For the description of the drawings, similar reference numerals may be used to refer to similar or related elements. It will be understood that a singular form of a noun corresponding to a term 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 all possible combinations of the items listed together in the corresponding one of the plurality of phrases. As used herein, terms such as "first" and "second" or "1st" and "2nd" may be used to simply distinguish a corresponding component from another component, and do not limit the component in other respects (e.g., importance or order). It will be understood that if an element (e.g., a first element) is referred to as "coupled with", "coupled to", "connected with", or "connected to" another element (e.g., a second element) in the case where the term "operably" or "communicatively" is used or in the case where the term "operably" or "communicatively" is not used, it means that the one element may be directly (e.g., wired) connected to the other element, wirelessly connected to the other element, or connected to the other element via a third element.
[0138] As used herein, the term "module" may include units implemented in hardware, software, or firmware, and may be used interchangeably with other terms (e.g., "logic", "logic block", "portion", or "circuit"). A module may be a single integrated component adapted to perform one or more functions or the smallest unit or portion of the single integrated component. For example, according to an embodiment, a module may be implemented in the form of an application specific integrated circuit (ASIC).
[0139] Various embodiments described herein may be implemented as software (e.g., a program 140) including one or more instructions readable by a machine (e.g., an electronic device 101) stored in a storage medium (e.g., an internal memory 136 or an external memory 138). For example, under the control of a processor, a processor (e.g., a processor 120) of the machine (e.g., an electronic device 101) may invoke at least one of the one or more instructions stored in the storage medium with or without using one or more other components and run the at least one instruction. This enables the machine to operate to perform at least one function according to the at least one instruction invoked. The one or more instructions may include code generated by a compiler or code that can be run by an interpreter. A machine-readable storage medium may be provided in the form of a non-transitory storage medium. Herein, the term "non-transitory" only 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 stored temporarily in the storage medium.
[0140] According to an embodiment, a method according to various embodiments of the present disclosure may be included and provided in a computer program product. The computer program product may be traded between a seller and a purchaser as a product. The computer program product may be distributed in the form of a machine-readable storage medium (e.g., a compact disc read-only memory (CD-ROM)), or the computer program product may be distributed online (e.g., downloaded or uploaded) via an application store (e.g., Play Store TM ), or the computer program product may be directly distributed (e.g., downloaded or uploaded) between two user devices (e.g., a smart phone). If it is distributed online, at least part of the computer program product may be generated temporarily, or at least part of the computer program product may be stored at least temporarily in a machine-readable storage medium (such as the memory of a manufacturer's server, an application store's server, or a forwarding server).
[0141] According to various embodiments, each of the above components (e.g., a module or a program) may include a single entity or multiple entities. According to various embodiments, one or more of the above 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 such a case, according to various embodiments, the integrated component may still perform the one or more functions of each of the multiple components in the same or similar manner as the corresponding one of the multiple components performed one or more functions before integration. According to various embodiments, the operations performed by a module, a program, or another component may be performed sequentially, in parallel, repeatedly, or in a heuristic manner, or one or more of the operations may be run in a different order or omitted, or one or more other operations may be added.
[0142] Certain embodiments of the present disclosure may be implemented by hardware, firmware, or by executing software or computer code that may be stored in a recording medium such as a CD ROM, a digital versatile disc (DVD), a magnetic tape, a RAM, a floppy disk, a hard disk, or an optical magnetic disk, or computer code initially stored on a remote recording medium or a non-transitory machine-readable medium and downloaded and stored on a local recording medium through a network. In this way, the methods described herein may be implemented by such software stored on the recording medium, using a general-purpose computer, or a dedicated processor, or on programmable or dedicated hardware such as an ASIC or an FPGA. As understood in the art, a computer, a processor, a microprocessor controller, or programmable hardware includes memory components such as RAM, ROM, flash memory, etc., which may store or receive software or computer code that, when accessed and executed by the computer, the processor, or the hardware, implements the processing methods described herein.
[0143] Although the present disclosure has been shown and described with reference to its various embodiments, those skilled in the art will understand that various changes in form and detail may be made therein without departing from the disclosure as defined by the appended claims and their equivalents.
Claims
1. An electronic device, the electronic device comprising: A display; A processor operably connected to the display; And A memory operably connected to the processor, Wherein the memory stores instructions that, when executed, cause the processor to: Display an image on the display; Identify a slice, at least a portion of which is included in a region of the image selected as a region of interest; If the size of the region of interest is greater than a preset threshold, select the identified slice from the original image file storing the image; Add at least one piece of information about the region of interest and at least one piece of information about the selected slice to the metadata of the original image file, wherein the original image file is a file in which the image is compressed and stored in units of slices; Update the thumbnail of the original image file; and If the size of the region of interest is less than or equal to the preset threshold, store the region of interest by encoding the decoded image corresponding to the region of interest.
2. The electronic device according to claim 1, wherein, The memory stores instructions that further cause the processor to: identify the slice as a slice corresponding to the region of interest when at least a portion of the slice is included in the region of interest.
3. The electronic device according to claim 2, wherein, The memory stores instructions that further cause the processor to: identify slice indices corresponding to the upper left and lower right corners of the region of interest, respectively.
4. The electronic device according to claim 1, wherein, The at least one piece of information about the region of interest includes information about the number of slices, the indices of the slices, and / or the coordinate values of the pixels corresponding to the region of interest.
5. The electronic device according to claim 1, wherein, The memory stores instructions that further cause the processor to: Store the at least one piece of information about the region of interest and the at least one piece of information about the selected slice in another image file different from the original image file; And Add at least some of the information included in the metadata of the original image file to the another image file.
6. The electronic device according to claim 1, wherein, The memory stores instructions that further cause the processor to: update the slice corresponding to the region of interest in the original image file when editing the region of interest.
7. A method for storing a region of interest of an image, the method comprising: Displaying the image on a display; Identifying a slice, at least a portion of which is included in a region of the image selected as a region of interest; If the size of the region of interest is greater than a preset threshold, selecting the identified slice from the original image file storing the image; Adding at least one piece of information about the region of interest and at least one piece of information about the selected slice to the metadata of the original image file, wherein the original image file is a file in which the image is compressed and stored in units of slices; Updating the thumbnail of the original image file; and If the size of the region of interest is less than or equal to the preset threshold, storing the region of interest by encoding the decoded image corresponding to the region of interest.
8. The method according to claim 7, wherein Identifying a slice includes: identifying the slice as corresponding to the region of interest in the case where at least a part of the slice is included in the region of interest.
9. The method according to claim 8, wherein, Identifying the slice corresponding to the region of interest further includes: identifying slice indices corresponding to the upper left and lower right of the region of interest respectively.
10. The method according to claim 7, wherein The at least one piece of information about the region of interest includes information about the number of slices, the indices of the slices, and / or the coordinate values of the pixels corresponding to the region of interest.
11. The method according to claim 7, wherein The method further includes: storing the at least one piece of information about the region of interest and the at least one piece of information about the selected slice in another image file different from the original image file; and adding at least some of the information included in the metadata of the original image file to the another image file.
12. The method according to claim 7, the method further includes: editing the region of interest; and updating the slice corresponding to the region of interest in the original image file.
Citation Information
Patent Citations
Determining A Region Of Interest On The Basis Of A HEVC-Tiled Video Stream
US20170118540A1
Method, device, and computer program for encapsulating partitioned timed media data using sub-track feature
US20190124419A1
Method of generating media file and storage medium storing media file generation program
US20190364289A1