Method for providing video, and electronic device for supporting same
The electronic device addresses choppy playback and high-spec limitations by performing frame rate conversion on user demand, enabling smooth and efficient slow motion video playback.
Patent Information
- Application Number
- PCT/KR2024/019165
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-10
- Filing Date
- 2024-11-28
- Publication Date
- 2025-07-10
AI Technical Summary
Existing methods for providing slow motion video either result in choppy playback or require high-spec configurations and significant storage, limiting the duration and user control over playback.
An electronic device performs frame rate conversion (FRC) based on user input during video playback to generate interpolated frames, allowing smooth slow motion playback without the need for high-spec hardware or extensive storage.
Enables seamless and controlled slow motion playback of video segments as desired by the user, improving user experience and reducing hardware and storage requirements.
Smart Images

Figure KR2024019165_10072025_PF_FP_ABST
Abstract
Description
Method for providing video and electronic devices supporting the same
[0001] The present disclosure relates to a method for providing a video and an electronic device supporting the same.
[0002] Electronic devices can provide slow motion video in two ways, for example.
[0003] A first way to provide slow motion video may be to play back video that was created (e.g., recorded) at a standard speed (e.g., 1.0x rate) at a slower playback speed (e.g., 2x or 4x rate).
[0004] A second way to provide slow motion video may be to play back video generated at a higher frame rate at a lower frame rate. For example, an electronic device may use a camera to generate frames at a frame rate of 240 frames per second (FPS). The electronic device may perform a frame rate conversion (FRC) operation (also referred to as "FRC processing" or "frame rate up conversion") on the frames generated at a frame rate of 240 FPS to generate interpolated frames. By combining the frames generated at a rate of 240 FPS and the generated interpolated frames, the electronic device may obtain a video having a frame rate of 960 FPS (hereinafter referred to as a "super slow motion video"). The electronic device may play back the obtained video at a frame rate lower than the frame rate of 960 FPS.
[0005] The above information may be provided as background art to aid in understanding the present disclosure. No claim or determination is made as to whether any of the above is applicable as prior art related to the present disclosure.
[0006] The first method of providing slow motion video only adjusts the playback speed of the video to a slower speed, which may cause the frames of the video to appear choppy to the user.
[0007] The second method for providing slow motion video requires a high-spec configuration (e.g., a high-spec camera) and storage space (e.g., memory storage space) to generate a super slow motion video, and may take more processing time. Accordingly, the second method may have a limitation on the time for which a super slow motion video can be generated (e.g., the length of time for which a super slow motion video can be recorded). In addition, since the second method plays a super slow motion video over the entire time period for playing a video, it may be difficult for a user to play a super slow motion video corresponding to a desired time period.
[0008] The present disclosure relates to a method for providing a video and an electronic device supporting the same, which can provide a slow motion video by performing an FRC operation based on a user input while the video is being played.
[0009] The technical problems to be solved by the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned can be clearly understood by a person having ordinary skill in the technical field related to this document from the description below.
[0010] An electronic device according to one embodiment may include a touch display, at least one processor including a processing circuit, and a memory storing instructions. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to play a video stored in the memory in a normal mode through the touch display on a user interface. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to obtain a second user input for playing the video in a slow motion mode while playing the video in the normal mode through the touch display. The second user input may correspond to a touch input to the touch display. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to generate interpolated frames by performing a frame rate conversion operation on corresponding frames included in the video while the second user input is maintained on the touch display. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to play the video in the slow motion mode by displaying the corresponding frames together with the generated interpolated frames through the touch display while the second user input is maintained on the touch display. The instructions, when individually or collectively executed by the at least one processor, may cause the electronic device to resume playing the video in the normal mode through the touch display based on the second user input being released from the touch display.
[0011] According to one embodiment, a method may include an operation of playing a video stored in a memory of an electronic device in a normal mode through a touch display of the electronic device on a user interface. The method may include an operation of obtaining a second user input for playing the video in a slow motion mode through the touch display of the electronic device while the video is being played in the normal mode. The second user input may correspond to a touch input to the touch display. The method may include an operation of generating interpolated frames by performing a frame rate conversion operation on corresponding frames included in the video while the second user input is maintained on the touch display. The method may include an operation of playing the video in the slow motion mode by displaying the corresponding frames together with the generated frame rates through the touch display while the second user input is maintained on the touch display. The method may include an operation of resuming the playing of the video in the normal mode through the touch display based on the second user input being released from the touch display.
[0012] In one embodiment, a non-transitory computer-readable storage medium having recorded thereon computer-executable instructions, wherein the computer-executable instructions, when individually or collectively executed by at least one processor, cause an electronic device to play a video stored in a memory of the electronic device in a normal mode through a touch display of the electronic device based on a first user input for playing the video. The computer-executable instructions, when individually or collectively executed by at least one processor, cause the electronic device to obtain a second user input for playing the video in a slow motion mode while playing the video in the normal mode through the touch display. The second user input may correspond to a touch input to the touch display. The computer-executable instructions, when individually or collectively executed by at least one processor, cause the electronic device to generate interpolated frames by performing a frame transformation operation on corresponding frames included in the video while the second user input is maintained on the touch display. The computer-executable instructions, when executed individually or collectively by at least one processor, may cause the electronic device to play the video in the slow motion mode by displaying the corresponding frames together with the generated health frames through the touch display while the second user input is maintained on the touch display. The computer-executable instructions, when executed individually or collectively by at least one processor, may cause the electronic device to resume playing the video in the normal mode through the touch display based on the second user input being released from the touch display.
[0013] The method for providing a video of the present disclosure and the electronic device supporting the same can provide slow-motion video by performing FRC operations based on user input while the video is being played. This allows the electronic device to smoothly and slowly play impressive parts of the video that the user desires to watch slowly.
[0014] FIG. 1 is a block diagram of an electronic device within a network environment, according to one embodiment.
[0015] FIG. 2 is a block diagram of an electronic device according to one embodiment.
[0016] FIG. 3 is a flowchart illustrating a method for providing a video according to one embodiment.
[0017] FIG. 4 is a diagram illustrating a method for providing a video according to one embodiment.
[0018] FIG. 5 is a diagram for explaining a method for providing a video according to one embodiment.
[0019] FIG. 6 is a flowchart illustrating a method for providing a video based on a location where a user input is obtained, according to one embodiment.
[0020] FIG. 7 is a diagram illustrating a method for providing a video based on a location where a user input is obtained, according to one embodiment.
[0021] FIG. 8 is a flowchart illustrating a method for providing a video based on the intensity of pressure generated by a touch, according to one embodiment.
[0022] FIG. 9 is a diagram for explaining a method for providing a video based on the intensity of pressure generated by a touch, according to one embodiment.
[0023] FIG. 10 is a flowchart illustrating a method for providing a video based on drag according to one embodiment.
[0024] FIG. 11 is a diagram illustrating a method for providing a video based on drag according to one embodiment.
[0025] FIG. 12 is a flowchart illustrating a method for storing a video of a time interval in which time zooming has been performed, according to one embodiment.
[0026] FIG. 13 is a diagram illustrating a method for storing a video of a time section in which time zooming is performed, according to one embodiment.
[0027] FIG. 14 is a diagram illustrating a method for storing a video of a time section in which time zooming is performed, according to one embodiment.
[0028] FIG. 15 is a flowchart illustrating a method for sharing a video of a time interval in which time zooming has been performed, according to one embodiment.
[0029] FIG. 16 is a diagram illustrating a method for sharing a video of a time section in which time zooming is performed, according to one embodiment.
[0030] FIG. 17 is a flowchart illustrating a method for storing a video in which an original video and interpolated frames of a time interval in which time zooming has been performed are combined, according to one embodiment.
[0031] FIG. 18 is a diagram illustrating a method for storing a video in which an original video and interpolated frames of a time section in which time zooming has been performed are combined, according to one embodiment.
[0032] FIG. 19 is a diagram illustrating a method for storing a video in which an original video and interpolated frames of a time section in which time zooming has been performed are combined, according to one embodiment.
[0033] FIG. 20 is a drawing for explaining a method for providing a video according to one embodiment.
[0034] FIG. 21 is a diagram for explaining a method for providing a video according to one embodiment.
[0035] FIG. 22 is a drawing for explaining a method for providing a video according to one embodiment.
[0036] FIG. 23 is a drawing for explaining a method for providing a video according to one embodiment.
[0037] FIG. 24 is a drawing for explaining a method for providing a video according to one embodiment.
[0038] FIG. 25 is a drawing for explaining a method for providing a video according to one embodiment.
[0039] FIG. 26 is a flowchart illustrating a method for providing a video according to one embodiment.
[0040] FIG. 27 is a drawing for explaining a method for providing a video according to one embodiment.
[0041] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the drawings so that those skilled in the art can easily implement the present disclosure. However, the present disclosure may be implemented in various different forms and is not limited to the embodiments described herein. In connection with the description of the drawings, the same or similar reference numerals may be used for identical or similar components. Furthermore, in the drawings and related descriptions, descriptions of well-known functions and configurations may be omitted for clarity and conciseness.
[0042] FIG. 1 is a block diagram of an electronic device (101) within a network environment (100), according to one embodiment.
[0043] Referring to FIG. 1, in a network environment (100), an electronic device (101) may communicate with an electronic device (102) via a first network (198) (e.g., a short-range wireless communication network), or may communicate with at least one of an electronic device (104) or a server (108) via a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) via the server (108). According to one embodiment, the electronic device (101) may include a processor (120), a memory (130), an input module (150), an audio output module (155), a display module (160), an audio module (170), a sensor module (176), an interface (177), a connection terminal (178), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197). In some embodiments, the electronic device (101) may omit at least one of these components (e.g., the connection terminal (178)), or may have one or more other components added. In some embodiments, some of these components (e.g., the sensor module (176), the camera module (180), or the antenna module (197)) may be integrated into one component (e.g., the display module (160)).
[0044] The processor (120) may, for example, execute software (e.g., a program (140)) to control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) and perform various data processing or calculations. According to one embodiment, as at least a part of the data processing or calculations, the processor (120) may store commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) in a volatile memory (132), process the commands or data stored in the volatile memory (132), and store result data in a non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) or a secondary processor (123) (e.g., a graphics processing unit, a neural processing unit (NPU), an image signal processor, a sensor hub processor, or a communication processor)) that can operate independently or together therewith. For example, if the electronic device (101) includes a main processor (121) and a secondary processor (123), the secondary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a specified function. The secondary processor (123) may be implemented separately from the main processor (121) or as a part thereof.
[0045] The auxiliary processor (123) may control at least a portion of functions or states associated with at least one component (e.g., a display module (160), a sensor module (176), or a communication module (190)) of the electronic device (101), for example, on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. In one embodiment, the auxiliary processor (123) (e.g., an image signal processor or a communication processor) may be implemented as a part of another functionally related component (e.g., a camera module (180) or a communication module (190)). In one embodiment, the auxiliary processor (123) (e.g., a neural network processing unit) may include a hardware structure specialized for processing artificial intelligence models. The artificial intelligence models may be generated through machine learning. This learning can be performed, for example, on the electronic device (101) itself where the artificial intelligence model is executed, or can be performed through a separate server (e.g., server (108)). The learning algorithm can include, for example, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning, but is not limited to the examples described above. The artificial intelligence model can include multiple artificial neural network layers.The artificial neural network may be one of a deep neural network (DNN), a convolutional neural network (CNN), a recurrent neural network (RNN), a restricted Boltzmann machine (RBM), a deep belief network (DBN), a bidirectional recurrent deep neural network (BRDNN), a deep Q-network, or a combination of two or more of the above, but is not limited to the examples described above. In addition to, or alternatively to, a hardware structure, an artificial intelligence model may include a software structure.
[0046] The memory (130) can store various data used by at least one component (e.g., processor (120) or sensor module (176)) of the electronic device (101). The data can include, for example, software (e.g., program (140)) and input data or output data for commands related thereto. The memory (130) can include volatile memory (132) or non-volatile memory (134).
[0047] The program (140) may be stored as software in the memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0048] The input module (150) can receive commands or data to be used in a component of the electronic device (101) (e.g., a processor (120)) from an external source (e.g., a user) of the electronic device (101). The input module (150) can include, for example, a microphone, a mouse, a keyboard, a key (e.g., a button), or a digital pen (e.g., a stylus pen).
[0049] The audio output module (155) can output audio signals to the outside of the electronic device (101). The audio output module (155) can include, for example, a speaker or a receiver. The speaker can be used for general purposes, such as multimedia playback or recording playback. The receiver can be used to receive incoming calls. In one embodiment, the receiver can be implemented separately from the speaker or as part of the speaker.
[0050] The display module (160) can visually provide information to an external party (e.g., a user) of the electronic device (101). The display module (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling the device. In one embodiment, the display module (160) may include a touch sensor configured to detect a touch, or a pressure sensor configured to measure the intensity of a force generated by the touch.
[0051] The audio module (170) can convert sound into an electrical signal, or vice versa, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through the input module (150), output sound through the sound output module (155), or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphone) directly or wirelessly connected to the electronic device (101).
[0052] The sensor module (176) can detect the operating status (e.g., power or temperature) of the electronic device (101) or the external environmental status (e.g., user status) and generate an electrical signal or data value corresponding to the detected status. According to one embodiment, the sensor module (176) can include, for example, a gesture sensor, a gyro sensor, a barometric pressure sensor, a magnetic sensor, an acceleration sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biometric sensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0053] The interface (177) may support one or more designated protocols that may be used to directly or wirelessly connect the electronic device (101) with an external electronic device (e.g., the electronic device (102)). In one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0054] The connection terminal (178) may include a connector through which the electronic device (101) may be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0055] A haptic module (179) can convert electrical signals into mechanical stimuli (e.g., vibration or movement) or electrical stimuli that a user can perceive through tactile or kinesthetic sensations. In one embodiment, the haptic module (179) can include, for example, a motor, a piezoelectric element, or an electrical stimulation device.
[0056] The camera module (180) can capture still images and videos. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0057] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (188) can be implemented, for example, as at least a part of a power management integrated circuit (PMIC).
[0058] A battery (189) may power at least one component of the electronic device (101). In one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0059] The communication module (190) may support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between the electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may operate independently from the processor (120) (e.g., application processor) and may include one or more communication processors that support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., a cellular communication module, a short-range wireless communication module, or a global navigation satellite system (GNSS) communication module) or a wired communication module (194) (e.g., a local area network (LAN) communication module, or a power line communication module). Among these communication modules, the corresponding communication module can communicate with an external electronic device (104) via a first network (198) (e.g., a short-range communication network such as Bluetooth, wireless fidelity (WiFi) direct, or infrared data association (IrDA)) or a second network (199) (e.g., a long-range communication network such as a legacy cellular network, a 5G network, a next-generation communication network, the Internet, or a computer network (e.g., a LAN or WAN)). These various types of communication modules can be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can verify or authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) by using subscriber information (e.g., an international mobile subscriber identity (IMSI)) stored in the subscriber identification module (196).
[0060] The wireless communication module (192) can support 5G networks and next-generation communication technologies following the 4G network, such as NR access technology (new radio access technology). The NR access technology can support high-speed transmission of high-capacity data (eMBB (enhanced mobile broadband)), minimization of terminal power and connection of multiple terminals (mMTC (massive machine type communications)), or high reliability and low latency (URLLC (ultra-reliable and low-latency communications)). The wireless communication module (192) can support, for example, a high-frequency band (e.g., mmWave band) to achieve a high data transmission rate. The wireless communication module (192) can support various technologies for securing performance in a high-frequency band, such as beamforming, massive multiple-input and multiple-output (MIMO), full dimensional MIMO (FD-MIMO), array antenna, analog beam-forming, or large scale antenna. The wireless communication module (192) can support various requirements specified in the electronic device (101), an external electronic device (e.g., the electronic device (104)), or a network system (e.g., the second network (199)). According to one embodiment, the wireless communication module (192) can support a peak data rate (e.g., 20 Gbps or more) for eMBB realization, a loss coverage (e.g., 164 dB or less) for mMTC realization, or a U-plane latency (e.g., 0.5 ms or less for downlink (DL) and uplink (UL), or 1 ms or less for round trip) for URLLC realization.
[0061] The antenna module (197) can transmit or receive signals or power to or from an external device (e.g., an external electronic device). In one embodiment, the antenna module (197) may include an antenna including a radiator formed of a conductor or a conductive pattern formed on a substrate (e.g., a PCB). In one embodiment, the antenna module (197) may include a plurality of antennas (e.g., an array antenna). In this case, at least one antenna suitable for a communication method used in a communication network, such as the first network (198) or the second network (199), may be selected from the plurality of antennas by, for example, the communication module (190). A signal or power may be transmitted or received between the communication module (190) and an external electronic device through the selected at least one antenna. In some embodiments, in addition to the radiator, another component (e.g., a radio frequency integrated circuit (RFIC)) may be additionally formed as a part of the antenna module (197).
[0062] According to various embodiments, the antenna module (197) may form a mmWave antenna module. According to one embodiment, the mmWave antenna module may include a printed circuit board, an RFIC disposed on or adjacent a first side (e.g., a bottom side) of the printed circuit board and capable of supporting a designated high frequency band (e.g., a mmWave band), and a plurality of antennas (e.g., an array antenna) disposed on or adjacent a second side (e.g., a top side or a side side) of the printed circuit board and capable of transmitting or receiving signals in the designated high frequency band.
[0063] At least some of the above components can be interconnected and exchange signals (e.g., commands or data) with each other via a communication method between peripheral devices (e.g., a bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)).
[0064] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) via a server (108) connected to a second network (199). Each of the external electronic devices (102 or 104) may be the same or a different type of device as the electronic device (101). According to one embodiment, all or part of the operations executed in the electronic device (101) may be executed in one or more of the external electronic devices (102, 104, or 108). For example, when the electronic device (101) is to perform a certain function or service automatically or in response to a request from a user or another device, the electronic device (101) may, instead of or in addition to executing the function or service itself, request one or more external electronic devices to perform the function or at least a part of the service. One or more external electronic devices that receive the request may execute at least a portion of the requested function or service, or an additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may process the result as is or additionally and provide it as at least a portion of a response to the request. For this purpose, cloud computing, distributed computing, mobile edge computing (MEC), or client-server computing technology may be used, for example. The electronic device (101) may provide an ultra-low latency service by using distributed computing or mobile edge computing, for example. In another embodiment, the external electronic device (104) may include an Internet of Things (IoT) device. The server (108) may be an intelligent server utilizing machine learning and / or a neural network. According to one embodiment, the external electronic device (104) or the server (108) may be included in the second network (199).The electronic device (101) can be applied to intelligent services (e.g., smart home, smart city, smart car, or healthcare) based on 5G communication technology and IoT-related technology.
[0065] An electronic device according to an embodiment disclosed in this document may take various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a home appliance. The electronic device according to an embodiment of this document is not limited to the aforementioned devices.
[0066] It should be understood that the embodiments of this document and the terminology used herein are not intended to limit the technical features described in this document to specific embodiments, but include various modifications, equivalents, or substitutes of the embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of the items, unless the context clearly indicates otherwise. In this document, each of the phrases "A or B", "at least one of A and B", "at least one of A or B", "A, B, or C", "at least one of A, B, and C", and "at least one of A, B, or C" can include any one of the items listed together in the corresponding phrase among those phrases, or all possible combinations thereof. Terms such as "first," "second," or "first" or "second" may be used merely to distinguish one component from another, and do not limit the components in any other respect (e.g., importance or order). When a component (e.g., a first component) is referred to as "coupled" or "connected" to another (e.g., a second component), with or without the terms "functionally" or "communicatively," it means that the component can be connected to the other component directly (e.g., wired), wirelessly, or through a third component.
[0067] The term "module" used in one embodiment of this document may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be an integral component, or a minimum unit or part of such a component that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0068] An embodiment of the present document may be implemented as software (e.g., a program (140)) including one or more instructions stored in a storage medium (e.g., an internal memory (136) or an external memory (138)) readable by a machine (e.g., an electronic device (101)). For example, a processor (e.g., a processor (120)) of the machine (e.g., an electronic device (101)) may call at least one instruction among the one or more instructions stored from the storage medium and execute it. This enables the machine to operate to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code executable by an interpreter. The machine-readable storage medium may be provided in the form of a non-transitory storage medium. Here, "non-transitory" simply means that the storage medium is a tangible device and does not contain signals (e.g., electromagnetic waves), and the term does not distinguish between cases where data is stored semi-permanently or temporarily on the storage medium.
[0069] According to one embodiment, the method according to one embodiment disclosed in the present document may be provided as a computer program product. The computer program product may be traded between sellers and buyers as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)) or may be provided through an application store (e.g., Play Store). TM ) or directly between two user devices (e.g., smart phones), online distribution (e.g., downloading or uploading). In the case of online distribution, at least a portion of the computer program product may be at least temporarily stored or temporarily created in a machine-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or an intermediary server.
[0070] According to one embodiment, each component (e.g., a module or a program) of the above-described components may include one or more entities, and some of the entities may be separated and placed in other components. According to one embodiment, one or more components or operations of the aforementioned components may be omitted, or one or more other components or operations may be added. Alternatively or additionally, a plurality of components (e.g., a module or a program) may be integrated into a single component. In such a case, the integrated component may perform one or more functions of each of the plurality of components identically or similarly to those performed by the corresponding component among the plurality of components prior to the integration. According to one embodiment, the operations performed by a module, program, or other component may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0071] FIG. 2 is a block diagram of an electronic device (201) according to one embodiment.
[0072] Referring to FIG. 2, in one embodiment, the electronic device (201) may be the electronic device (101) of FIG. 1.
[0073] In one embodiment, the electronic device (201) may include a touch display (210), memory (220), and / or a processor (230).
[0074] In one embodiment, a touch display (210) may be included in the display module (160) of FIG. 1. For example, the touch display (210) may be a display (also referred to as a “touch screen”) that includes a touch sensor configured to detect a touch.
[0075] In one embodiment, the touch display (210) can play (e.g., display) a video stored in the memory (220). For example, the touch display (210) can play a video stored in the memory (220) while a gallery application or a video application is running under the control of the processor (230).
[0076] In one embodiment, the memory (220) may be included in the memory (130) of FIG. 1.
[0077] In one embodiment, the memory (220) may store information for performing an operation of providing a video. The information stored by the memory (220) for performing an operation of providing a video will be described in detail below.
[0078] In one embodiment, the processor (230) may be included in the processor (120) of FIG. 1. The processor (230) may include processing circuitry.
[0079] In one embodiment, the processor (230) may control the overall operation of providing a video. The processor (230) may include one or more processors for performing the operation of providing a video. The operation of providing a video performed by the processor (230) will be described in detail with reference to FIGS. 3 to 22.
[0080] In one embodiment, the processor (230) may include a neural processing unit (NPU) for performing a frame rate conversion (FRC) operation. For example, the processor (230) may include an NPU that can perform an FRC operation (e.g., an operation of calculating a motion vector (e.g., a magnitude and / or direction of a motion vector) between frames) using an artificial intelligence model when the FRC operation is performed using an artificial intelligence model.
[0081] In one embodiment, the processor (230) may include a graphic processing unit (GPU) that generates interpolated frames based on the calculated motion vectors when the motion vectors between the frames are calculated.
[0082] In one embodiment, the processor (230) may include an application processor (AP) that controls the overall operation for providing a video, in addition to the operation of calculating motion vectors (e.g., magnitude and / or direction of motion vectors) between frames performed by the NPU and the operation of generating interpolated frames based on the calculated motion vectors performed by the GPU. However, the present invention is not limited thereto, and the AP may perform the operation of calculating motion vectors between frames using an artificial intelligence model and / or the operation of generating interpolated frames based on the calculated motion vectors.
[0083] In one embodiment, the operation of providing a video may be performed based on a user interface. For example, the processor (230) may perform the operation of providing a video based on a touch input to an area of the user interface where the video is played and / or one or more objects (e.g., icons, images) included in the user interface via the touch display (210).
[0084] Although the electronic device (201) in FIG. 2 is illustrated as including a touch display (210), a memory (220), and / or a processor (230), it is not limited thereto. In one embodiment, the electronic device (201) may further include at least one of the components included in the electronic device (101) of FIG. 1. For example, the electronic device (201) may further include at least one of an input module (150) (e.g., a stylus pen), an audio output module (155) (e.g., a speaker), a camera module (180), or a communication module (190).
[0085] FIG. 3 is a flowchart (300) for explaining a method of providing a video according to one embodiment.
[0086] FIG. 4 is a diagram illustrating a method for providing a video according to one embodiment.
[0087] FIG. 5 is a diagram for explaining a method for providing a video according to one embodiment.
[0088] Referring to FIGS. 3 to 5, in operation 301, in one embodiment, the processor (230) may play (e.g., display) a video in a normal mode on a user interface through the touch display (210) based on a user input for playing a video stored in the memory (220) (hereinafter also referred to as a “first user input”).
[0089] In one embodiment, the processor (230) may display one or more videos stored in the memory (220) through the touch display (210) based on the execution of an application capable of executing videos (e.g., a gallery application, a video application). The processor (230) may play (e.g., display) a video selected by a user input from among the one or more videos through the touch display (210).
[0090] In one embodiment, the normal mode (hereinafter referred to as “normal mode” or “first mode”) may include a mode in which a video is played back at the same frame per second (FPS) as the FPS used when generating the video. For example, the normal mode may be a mode in which a video generated at 30 FPS is played back at 30 FPS. However, the present invention is not limited thereto. For example, the normal mode may be a mode in which only frames of a video are played back continuously without performing an FRC operation on the frames of the video while playing the video back through the touch display (210).
[0091] In one embodiment, a video played back based on user input (hereinafter also referred to as “original video”) may include a plurality of frames (e.g., a plurality of images) that are set to be played back sequentially (or continuously) (hereinafter, all frames included in the original video are also referred to as “a plurality of first frames”).
[0092] In one embodiment, the original video that is played back based on user input may be a video that may or may not include interpolated frames (also referred to as "intermediate frames") generated by FRC operations performed based on user input during video playback, as described below.
[0093] In one embodiment, a plurality of first frames included in an original video may be respectively associated with (e.g., mapped to) a plurality of time points. For example, if the original video is a video generated at a frame rate of 30 FPS, a plurality of time points corresponding to each of the plurality of first frames and set at 1 / 30 (second) intervals may be stored in the memory (220).
[0094] In operation 303, in one embodiment, the processor (230) may obtain a user input for slow motion mode playback (hereinafter also referred to as “second user input”) while the video is being played through the touch display (210).
[0095] In one embodiment, the slow motion mode (hereinafter referred to as "slow motion mode" or "first mode") may include a mode in which a video having a higher FPS than an FPS of an original video is generated by performing an FRC operation on an original video, and the generated video is played back at the FPS of the original video. However, the present invention is not limited thereto. In one embodiment, in the slow motion mode, the generated video (a video having a higher FPS than an FPS of the original video by performing an FRC operation on the original video) is played back at the FPS of the original video, thereby providing a user with an effect similar to that of the original video being played back slowly.
[0096] In one embodiment, the second user input may include an input for performing a FRC operation.
[0097] In one embodiment, the second user input may be an input input obtained by touching a screen displayed through the touch display (210) while the video is being played and maintaining the touch on the screen. For example, the second user input may include a long press input on the screen, but is not limited thereto. For example, the second user input may include a touch on the screen and a drag input to move the touch. For example, the second user input may include a user input for starting an FRC operation and a user input for ending the FRC operation. More diverse examples of the second user input will be described later.
[0098] In operation 305, in one embodiment, the processor (230) may generate a plurality of interpolated frames by performing an FRC (e.g., frame rate up conversion) operation on a plurality of second frames among a plurality of first frames included in the video while the second user input is maintained on the touch display (210).
[0099] In one embodiment, a frame rate conversion (FRC) operation may be an operation that generates frames having a higher frame rate than the frame rate of frames that are the target of the FRC operation. For example, an FRC operation on a video may include an operation that converts the video into a video having a frame rate higher than the frame rate of the video. For example, an FRC operation on a video may include an operation that generates interpolation frames to be interpolated between frames included in the video, and obtains a video having a frame rate higher than the frame rate of the video by combining the frames included in the video and the generated interpolation frames.
[0100] In one embodiment, the processor (230) may perform an FRC operation on frames from a frame being played back through the touch display (210) when a second user input is received among a plurality of first frames (hereinafter also referred to as a “first frame” or “current frame”) to a frame being played back through the touch display (210) when a second user input is terminated among a plurality of first frames (hereinafter also referred to as a “last frame”). Hereinafter, among the plurality of first frames, the frames that are targets of the FRC operation while the second user input is maintained, from the first frame to the last frame, will be referred to as “a plurality of second frames” or “corresponding frames included in a video.”
[0101] In one embodiment, the first frame may be a frame corresponding to a point in time of the video being played when the second user input is acquired (e.g., a playback time of the video when the second user input is first acquired) among a plurality of first frames.
[0102] In one embodiment, the last frame may be a frame corresponding to a point in time of the video being played when the second user input ends (e.g., a playback time of the video when the second user input acquisition ends) among the plurality of first frames.
[0103] In one embodiment, when the second user input is a long press input to the touch display (210), the plurality of second frames may be frames displayed on the touch display (210) during a time period from the time the long press input is acquired to the time the long press input is released within the video.
[0104] In one embodiment, the processor (230) may generate a plurality of interpolated frames (hereinafter referred to as “the plurality of interpolated frames”) by performing an FRC operation on a plurality of second frames while the second user input is maintained (e.g., during at least a portion of the time the second user input is being made).
[0105] In operation 307, in one embodiment, the processor (230) may play the video in slow motion mode by displaying a plurality of second frames and a plurality of interpolated frames through the touch display (210) while the second user input is maintained.
[0106] In operation 309, in one embodiment, the processor (230) may resume the operation of playing the video in normal mode through the touch display (210) based on the second user input being released.
[0107] Hereinafter, operations 301 to 309 will be described in more detail using FIGS. 4 and 5.
[0108] In one embodiment, at reference numeral 401 of FIG. 4, the processor (230) may display an object (415) for controlling a video and playback of the video through a first area (411) of a screen (410) of a touch display (210), based on a first user input for playing a video while a gallery application is running, and may display thumbnail images (412, 412-1, 412-2) of videos stored in a memory (220) through a second area (421) of the screen (410).
[0109] In one embodiment, at reference numeral 401, the object (415) may include an indication (415-1) indicating that the video is paused or playing, the current playing time (415-2) of the video, and the total playing time (415-3) of the video. The processor (230) may pause the playing video or resume playing the paused video based on a user input to the object (415) through the touch display (210).
[0110] In one embodiment, in reference numeral 401, a thumbnail image (412) displayed in a second area (421) (also referred to as a “film strip”) may be a thumbnail image representing a video being played (or paused) through a first area (411). An indication (413) (also referred to as a “seek bar”) displayed within the thumbnail image (412) may be an object for representing a frame corresponding to the current playback time (or the current playback time) with respect to the video being played through the first area (411). Thumbnail images (412-1, 412-2) displayed in the second area (421) may be thumbnail images of videos preceding or following the video being played through the first area (411).
[0111] In one embodiment, at reference numerals 401 and 402, the processor (230) can obtain a second user input by a long press (441) of touching the screen (410) and maintaining the touch for a preset period of time while displaying the screen (410) on which a video is played through the first region (411). While the second user input is maintained, the processor (230) can play back a plurality of second frames and a plurality of interpolated frames through the touch display (210).
[0112] In one embodiment, at reference numeral 403, when the second user input is released, the processor (230) can play, in normal mode, frames following the last frame of the plurality of second frames (e.g., corresponding to points in time after the point in time corresponding to the last frame) among the plurality of first frames of the video without performing the FRC operation.
[0113] In one embodiment, the processor (230) can generate a plurality of interpolated frames by performing an FRC operation on each of the plurality of second frames.
[0114] In one embodiment, in FIG. 5, it is assumed that a plurality of first frames included in the video are frames generated at a frame rate of 30 FPS, and the plurality of first frames are played back at a frame rate of 30 FPS. In FIG. 5, an axis (t) may represent a time including points in time at which the video is played back. In FIG. 5, a frame (511) may be a frame played back at a point in time (0 ms), and a frame (512) may be a frame immediately following the frame (511) among the plurality of first frames (e.g., a frame corresponding to a point in time (about 33 ms) immediately following the point in time (0 ms) of the frame (511)).
[0115] In one embodiment, the processor (230) may generate one or more interpolated frames (511-1, 511-2, 511-3) by performing an FRC operation on the frames (511) and (512). For example, the processor (230) may generate one or more interpolated frames (511-1, 511-2, 511-3) to be interpolated between the frames (511) and (512) based on the degree of change (e.g., magnitude and / or direction of a motion vector) between the frames (511) and (512) using an artificial intelligence model for performing the FRC operation. For example, the processor (230) (e.g., the NPU and / or the AP) may calculate a motion vector (e.g., a direction of movement and / or a position of movement of an object (521) (e.g., a vehicle)) between the frames (511) and (512) using an artificial intelligence model for performing the FRC operation. The processor (230) (e.g., GPU and / or AP) may generate one or more interpolated frames (511-1, 511-2, 511-3) based on the calculated motion vector, which may cause the object (521) to appear to move more continuously (more seamlessly) between frames (511) and (512).
[0116] In one embodiment, in FIG. 5, the processor (230) may sequentially display, through the touch display (210), one or more interpolation frames (511-1, 511-2, 511-3) generated after the frame (511) is displayed. After sequentially displaying the one or more interpolation frames (511-1, 511-2, 511-3) through the touch display (210), the processor (230) may display, through the touch display (210), the frame (512) immediately following the frame (511).
[0117] In one embodiment, in FIG. 5, the processor (230) may repeatedly perform the aforementioned operation based on the second user input being maintained during display of at least one frame subsequent to frame (511). For example, the processor (230) may perform, based on the second user input being maintained during display of frame (512), substantially the same operations as the operation of performing the FRC operation based on the aforementioned frame (511) and frame (512) and displaying one or more interpolated frames obtained by the FRC operation for the frame (512) and the frame immediately subsequent to the frame (512) among the plurality of first frames.
[0118] In one embodiment, the processor (230) may set, for each of the plurality of second frames, the number of one or more interpolation frames to be interpolated between the frame and the frame immediately following (or immediately preceding) the frame (hereinafter referred to as “the number of one or more interpolation frames between frames”).
[0119] In one embodiment, the processor (230) may set a fixed number of one or more interpolation frames between frames based on user input (or a developer of an application that performs the operation of providing a video, or a policy associated with the application). For example, the processor (230) may set a fixed number of one or more interpolation frames between frames to 1, 3, or 7 based on user input.
[0120] In one embodiment, the processor (230) may variably set (or determine) the number of one or more interpolation frames between frames. For example, the processor (230) may variably set the number of one or more interpolation frames between frames based on the degree of change (e.g., the magnitude and / or direction of a motion vector) between frames. The processor (230) may set the number of one or more interpolation frames between frames such that the number of one or more interpolation frames increases as the magnitude of a motion vector between frames increases, and the number of one or more interpolation frames decreases as the magnitude of a motion vector between frames decreases. The processor (230) may not generate an interpolation frame between frames if the magnitude of a motion vector between frames is less than or equal to a threshold (e.g., if there is no change between frames). However, the operation of variably setting the number of one or more interpolation frames between frames is not limited to the examples described above. For example, the processor (230) may variably set the number of one or more interpolation frames between frames based on a user interaction corresponding to a second user input (e.g., a drag input, a strength of pressure by a touch). An operation of variably setting the number of one or more interpolation frames between frames based on a user interaction corresponding to a second user input will be described in detail below.
[0121] Hereinafter, while a video is being played, an operation of playing a plurality of second frames and a plurality of generated interpolated frames (e.g., a plurality of interpolated frames generated by performing an FRC operation on a plurality of second frames while a second user input is maintained) will be referred to as “temporal zoom” (or “temporal zoom operation” or “temporal zoom function”). In one embodiment, the temporal zoom may be an operation for playing a video being played (e.g., an original video) in slow motion mode.
[0122] In one embodiment, the processor (230) may not store the generated plurality of interpolated frames (and the plurality of second frames) in the memory (220) after reproducing the generated plurality of interpolated frames. For example, the processor (230) may store the plurality of interpolated frames in a buffer when acquiring the plurality of interpolated frames. After the plurality of interpolated frames are reproducible, the processor (230) may delete the plurality of interpolated frames from the buffer.
[0123] In one embodiment, the processor (230) may store, in the memory (220), a time point corresponding to the first frame being played back through the touch display (210) when a second user input (e.g., in the case of a long press, when a touch input is made for the first time) among the plurality of first frames (e.g., a time point corresponding to the first frame among the plurality of time points corresponding to the plurality of first frames of the video) and a time point corresponding to the last frame being played back through the touch display (210) when the second user input ends among the plurality of first frames (e.g., a time point corresponding to the last frame among the plurality of time points corresponding to the plurality of first frames of the video). Hereinafter, a time section including a time point corresponding to the first frame, a time point corresponding to the last frame, and time points between the time point corresponding to the first frame and the time point corresponding to the last frame will be referred to as a "time section in which time zooming is performed."
[0124] In one embodiment, the act of storing a time interval over which time zooming is performed may include the act of storing a time point corresponding to the first frame and a time point corresponding to the last frame.
[0125] In the examples described above, after a plurality of interpolated frames are played back, the plurality of interpolated frames are deleted from the buffer, and the time interval in which time zoom is performed is stored in the memory (220), but the present invention is not limited thereto. For example, when a plurality of interpolated frames are acquired (e.g., generated), the processor (230) may store the generated plurality of interpolated frames in the memory (220) independently from a video (e.g., a video including a plurality of first frames) (e.g., as a separate file). For example, when a plurality of interpolated frames are acquired, the processor (230) may store a video in which the generated plurality of interpolated frames and the video (e.g., a video including a plurality of first frames) are combined in the memory (220).
[0126] In the examples described above, the time zoom is performed while the second user input is maintained, but is not limited thereto. For example, if the second user input includes a user input for initiating an FRC operation and a user input for terminating the FRC operation, the processor (230) may perform the time zoom from the time the user input for initiating the FRC operation is acquired to the time the user input for terminating the FRC operation is acquired.
[0127] FIG. 6 is a flowchart (600) illustrating a method for providing a video based on a location where a user input is obtained, according to one embodiment.
[0128] FIG. 7 is a diagram illustrating a method for providing a video based on a location where a user input is obtained, according to one embodiment.
[0129] Referring to FIGS. 6 and 7, in one embodiment, the operations described through FIGS. 6 and 7 may be operations included in operations 303 to 307 of FIG. 3.
[0130] In operation 301, in one embodiment, the processor (230) may determine where a user input (e.g., a second user input) was obtained.
[0131] In one embodiment, the processor (230) may set a first region for performing forward time zoom while a second user inputs a first region for a screen displayed while a video is played, and a second region for performing backward time zoom while a second user inputs a second region.
[0132] In one embodiment, the forward time zoom may be an operation of performing a time zoom on a first frame being played back through the touch display (210) when a second user input is received among a plurality of first frames, from the first frame to the frames following the first frame (e.g., the first frame and frames following the first frame that are consecutive to the first frame). For example, the forward time zoom may be an operation of performing a time zoom on a plurality of second frames including frames corresponding to time points following the time point of the first frame, from the first frame, while the second user input is maintained.
[0133] In one embodiment, the reverse time zoom may be an operation of performing a time zoom from a first frame being played back through the touch display (210) when a second user input is received among a plurality of first frames to frames preceding the first frame (e.g., the first frame and frames preceding the first frame that are consecutive to the first frame). For example, the reverse time zoom may be an operation of performing a time zoom from the first frame to a plurality of second frames including frames corresponding to time points preceding the time point of the first frame while the second user input is maintained.
[0134] In one embodiment, at reference numeral 701 of FIG. 7, the processor (230) may set a right area based on a vertical axis (711) passing through the center of a screen displayed through a touch display (210) as a first area (713) for forward time zoom while the electronic device (201) is in portrait mode, and may set a left area based on the vertical axis (711) as a second area (712) for reverse time zoom.
[0135] In one embodiment, at reference numeral 702 of FIG. 7, the processor (230) may set a right area based on a vertical axis (721) passing through the center of a screen displayed through a touch display (210) as a first area (723) for forward time zoom while the electronic device (201) is in landscape mode, and may set a left area based on the vertical axis (721) as a second area (722) for reverse time zoom.
[0136] However, the method of setting the area for forward time zoom and the area for reverse time zoom is not limited to the examples described above.
[0137] In operation 603, in one embodiment, the processor (230) may perform forward time zoom or reverse time zoom based on a location at which a user input (e.g., a second user input) was obtained.
[0138] In one embodiment, the processor (230) may perform forward time zoom if the location where the second user input was acquired (and maintained) is included in the area for forward time zoom. For example, at reference numeral 701, the processor (230) may perform forward time zoom if the location (713-1) where the second user input was acquired is included in the first area (713) for forward time zoom. The processor (230) may perform reverse time zoom if the location (712-1) where the second user input was acquired is included in the second area (712) for backward time zoom. For example, at reference numeral 702, the processor (230) may perform forward time zoom if the location (723-1) where the second user input was acquired is included in the first area (723) for forward time zoom. The processor (230) can perform reverse time zoom when the location (722-1) where the second user input is acquired is included in the second area (722) for reverse time zoom.
[0139] In one embodiment, in reference numeral 703, frame (732) may be the frame immediately following the first frame (730) being played back through the touch display (210) upon second user input among the plurality of first frames, and frame (734) may be the frame immediately preceding the first frame (730) among the plurality of first frames.
[0140] In one embodiment, the processor (230) may perform an FRC operation based on the initial frame (730) and the frame (732) when performing forward time zoom, thereby generating an interpolated frame (731), and sequentially play back the interpolated frame (731) and the frame (732) after playing back the initial frame (730) through the touch display (210).
[0141] In one embodiment, the processor (230) may perform an FRC operation based on the initial frame (730) and the frame (734) when performing reverse time zoom, thereby generating an interpolated frame (733), and sequentially play back the interpolated frame (733) and the frame (734) after playing back the initial frame (730) through the touch display (210).
[0142] In one embodiment, in reference numeral 703, reference numeral 741 may indicate an order (or direction) of playing back a plurality of second frames and a plurality of interpolated frames when performing forward time zoom. In reference numeral 703, reference numeral 742 may indicate an order (or direction) of playing back a plurality of second frames and a plurality of interpolated frames when performing backward time zoom.
[0143] FIG. 8 is a flowchart (800) for explaining a method of providing a video based on the intensity of pressure generated by a touch, according to one embodiment.
[0144] FIG. 9 is a diagram for explaining a method for providing a video based on the intensity of pressure generated by a touch, according to one embodiment.
[0145] Referring to FIGS. 8 and 9, in one embodiment, the operations described through FIGS. 8 and 9 may be operations included in operations 303 to 307 of FIG. 3.
[0146] In operation 801, in one embodiment, the processor (230) may obtain the intensity of pressure generated by the touch when the second user input includes an input entered by a touch on the touch display (210).
[0147] In one embodiment, the processor (230) may acquire (e.g., measure) the intensity of pressure generated by a touch on the touch display (210) (e.g., a touch on the touch display (210) for inputting a second user input) through a sensor (e.g., a capacitive touch sensor or a pressure sensor) while the video is being played. However, the method of acquiring the intensity of pressure generated by the touch is not limited to the capacitive touch sensor or pressure sensor described above.
[0148] In one embodiment, reference numeral 901 of FIG. 9 may represent a screen (910) displayed through a touch display (210) while a video is being played. In reference numeral 901, the processor (230) may obtain (e.g., measure) the intensity of pressure generated by a touch (911-1) (e.g., a touch for inputting a second user input) on an area (911) in which a video is played within the screen (910).
[0149] In operation 803, in one embodiment, the processor (230) may determine the number of one or more interpolation frames to be interpolated between frames based on the intensity of the pressure.
[0150] In one embodiment, the processor (230) may determine the number of one or more frames such that the intensity of the pressure generated by the touch corresponds to the number of one or more interpolation frames to be interpolated between the frames. For example, the processor (230) may determine the number of one or more interpolation frames such that the greater the intensity of the pressure generated by the touch, the greater the number of one or more interpolation frames to be interpolated between the frame immediately following (or immediately preceding) the frame by performing an FRC operation between a frame and the frame immediately following (or immediately preceding) the frame for the plurality of second frames. For example, the processor (230) may determine the number of one or more interpolation frames such that the less the intensity of the pressure generated by the touch, the smaller the number of one or more interpolation frames to be interpolated between the frame immediately following (or immediately preceding) the frame by performing an FRC operation between a frame and the frame immediately following (or immediately preceding) the frame for the plurality of second frames.
[0151] In operation 805, in one embodiment, the processor (230) may perform time zoom based on the number of one or more interpolated frames determined above.
[0152] In one embodiment, at reference numeral 902 of FIG. 9, the processor (230) generates one interpolation frame (921-1) between the first frame (921) being played back through the touch display (210) and the frame (922) immediately following the first frame (921) based on the intensity of the pressure generated by the touch being the first intensity among the plurality of first frames, and after the first frame (921) is played back, the interpolation frame (921-1) and the frame (922) immediately following the first frame (921) can be played back sequentially through the touch display (210).
[0153] In one embodiment, at reference numeral 903 of FIG. 9, the processor (230) generates three interpolated frames (921-2, 921-3, 921-4) between the first frame (921) being played back through the touch display (210) and the frame (922) immediately following the first frame (921) based on the second intensity of the pressure generated by the touch being greater than the first intensity among the plurality of first frames, and after the first frame (921) is played back, the three interpolated frames (921-2, 921-3, 921-4) and the frame (922) can be played back sequentially through the touch display (210).
[0154] FIG. 10 is a flowchart (1000) for explaining a method of providing a video based on drag according to one embodiment.
[0155] FIG. 11 is a diagram illustrating a method for providing a video based on drag according to one embodiment.
[0156] Referring to FIGS. 10 and 11, in one embodiment, the operations described through FIGS. 10 and 11 may be operations included in operations 303 to 307 of FIG. 3.
[0157] In operation 1001, in one embodiment, the processor (230) may obtain the direction and length of the drag based on the second user input being input by drag.
[0158] In one embodiment, at reference numeral 1101 of FIG. 11, the processor (230) may obtain a second user input input by a drag (e.g., a user interaction of moving (1111-2) the touch while maintaining the touch (1111-1) after touching (1111-1)) on the first area (1111) of the screen (1110) while the video is being played.
[0159] In one embodiment, the processor (230) can obtain the direction and length of the drag (e.g., the distance the touch moves) based on data sensed through the touch sensor.
[0160] In operation 1003, in one embodiment, the processor (230) may perform time zoom based on the drag direction and length.
[0161] In one embodiment, the processor (230) may determine to perform forward time zoom or backward time zoom based on the drag direction. For example, in reference numeral 1102 of FIG. 11, the interpolated frame (1121-1) may be an interpolated frame generated by performing an FRC operation on the current frame (1121) and the frame (1122) immediately following the current frame (1121) among a plurality of first frames. The interpolated frame (1121-2) may be an interpolated frame generated by performing an FRC operation on the current frame (1121) and the frame (1123) immediately preceding the current frame (1121) among a plurality of first frames. The processor (230) may determine to perform forward time zoom to play the current frame (1121), the interpolated frame (1121-1), and the frame (1122) after generating the interpolated frame (1121-1) based on the dragging direction being a first direction (e.g., a direction toward the top of the screen (1110)). The processor (230) may determine to perform backward time zoom to play the current frame (1121), the interpolated frame (1121-2), and the frame (1123) after generating the interpolated frame (1121-2) based on the dragging direction being a second direction different from the first direction (e.g., a direction toward the bottom of the screen (1110)).
[0162] In one embodiment, in reference numeral 1102, reference numeral 1131 may indicate an order (or direction) of playing back a plurality of second frames and a plurality of interpolated frames when performing forward time zoom. In reference numeral 1102, reference numeral 1132 may indicate an order (or direction) of playing back a plurality of second frames and a plurality of interpolated frames when performing backward time zoom.
[0163] In one embodiment, the processor (230) may determine, for each of the plurality of second frames, based on the drag length, the number of one or more interpolation frames to be interpolated between the frame and the frame immediately following or preceding the frame. For example, the processor (230) may determine the number of one or more interpolation frames between frames such that the number of one or more interpolation frames between frames corresponds to the drag length. The processor (230) may determine the number of one or more interpolation frames between frames such that the number of one or more interpolation frames between frames increases as the drag length increases. The processor (230) may determine the number of one or more interpolation frames between frames such that the number of one or more interpolation frames between frames decreases as the drag length decreases.
[0164] Although the examples described above illustrate determining the number of one or more interpolated frames between frames based on the drag length, the present invention is not limited thereto. In one embodiment, the processor (230) may determine the number of one or more interpolated frames between frames based on the drag speed (e.g., the length of the drag per unit time). For example, the processor (230) may determine the number of one or more interpolated frames between frames such that the number of one or more interpolated frames between frames corresponds to the drag speed. The processor (230) may determine the number of one or more interpolated frames between frames such that the number of one or more interpolated frames between frames increases as the drag speed increases (e.g., the drag speed increases). The processor (230) may determine the number of one or more interpolated frames between frames such that the number of one or more interpolated frames between frames decreases as the drag speed decreases (e.g., the drag speed decreases).
[0165] In one embodiment, the processor (230) can perform a forward time zoom or a backward time zoom determined by a direction based on a number of one or more interpolation frames between frames determined by a drag length.
[0166] FIG. 12 is a flowchart (1200) for explaining a method of storing a video of a time interval in which time zooming has been performed, according to one embodiment.
[0167] Referring to FIG. 12, in one embodiment, FIG. 12 may include operations performed after time zooming is performed through the operations of FIG. 3.
[0168] In operation 1201, in one embodiment, the processor (230) may determine, based on user input, a time interval during which time zooming was performed.
[0169] In one embodiment, as described through FIG. 3, the processor (230) may store, in the memory (220), a time section in which time zooming is performed after time zooming is performed. For example, the processor (230) may store, in the memory (220), a time point corresponding to a first frame being played through the touch display (210) when a second user inputs among a plurality of first frames (e.g., a time point corresponding to the first frame among a plurality of time points corresponding to a plurality of first frames of a video) (hereinafter referred to as a “first time point”) and a time point corresponding to a last frame being played through the touch display (210) when a second user inputs ends among a plurality of first frames (e.g., a time point corresponding to the last frame among a plurality of time points corresponding to a plurality of first frames of a video) (hereinafter referred to as a “second time point”).
[0170] In one embodiment, the processor (230) may obtain a user input for storing a video of the time interval during which time zooming was performed (e.g., a video including frames of the time interval during which time zooming was performed) after time zooming was performed. Based on the obtained user input, the processor (230) may identify the time interval during which time zooming was performed. For example, the processor (230) may identify the first time point and the second time point within the time interval during which time zooming was performed.
[0171] In operation 1203, in one embodiment, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation from a first frame (a frame corresponding to the first time point) to a last frame (a frame corresponding to the second time point) based on a first time point and a second time point. For example, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation on each of a plurality of second frames from a frame corresponding to the first time point to a frame corresponding to the second time point, based on the first time point and the second time point.
[0172] In operation 1205, in one embodiment, the processor (230) may store a video including a plurality of second frames and the plurality of interpolated frames in the memory (220).
[0173] In one embodiment, the processor (230) may generate a video by combining a plurality of second frames and the plurality of interpolated frames based on generating a plurality of interpolated frames in operation 1203. For example, the processor (230) may generate a video of a time period in which time zooming was performed by interpolating the plurality of interpolated frames between the plurality of second frames. The processor (230) may store the generated video in the memory (220).
[0174] Hereinafter, with reference to FIGS. 13 and 14, a method for storing a video of a time section in which time zooming has been performed will be described.
[0175] FIG. 13 is a diagram illustrating a method for storing a video of a time section in which time zooming is performed, according to one embodiment.
[0176] Referring to FIG. 13, in one embodiment, the processor (230) may display a screen (1310) including a video to be played based on a first user input through the touch display (210). While displaying the screen (1310), the processor (230) may obtain a second user input (or an input input upon a touch (1312) to start time zooming) for a first area (1311) in which the video is played. Reference numeral 1320 may indicate a screen in which time zooming is being performed while the second user input is maintained. Reference numeral 1330 may indicate a screen upon termination of the second user input (or upon termination of the touch (1331) to end the time zooming).
[0177] In one embodiment, the processor (230) may display a screen (1340) through the touch display (210) after the time zoom is terminated, in which frames corresponding to a time section after the time zoom among a plurality of first frames are played. While the screen (1340) is displayed, the processor (230) may obtain a user input (1341) for displaying detailed information of the video being played. Based on the obtained user input (1341), the processor (230) may display a screen (1350) through the touch display (210) that includes detailed information (1352) of the video being played and an object (1351) for storing (or recommending) the video of the time section in which the time zoom was performed. The processor (230) can store only a video (e.g., a video including a plurality of second frames and the plurality of interpolated frames) of a time section in which time zooming was performed in the memory (220) by performing the operations described through operations 1201 to 1205 based on a user input for the object (1351).
[0178] FIG. 14 is a diagram illustrating a method for storing a video of a time section in which time zooming is performed, according to one embodiment.
[0179] Referring to FIG. 14, in one embodiment, the processor (230) may display a screen (1410) including a video to be played based on a first user input through the touch display (210). While displaying the screen (1410), the processor (230) may obtain a second user input (or an input input upon a touch (1412) to start time zooming) for a first area (1411) in which the video is played. Reference numeral 1420 may indicate a screen in which time zooming is being performed while the second user input is maintained. Reference numeral 1430 may indicate a screen upon termination of the second user input (or upon termination of the touch (1431) to end time zooming).
[0180] In one embodiment, the processor (230) may display a screen (1440) including information (1441) inquiring whether to save a video of a time section during which time zooming was performed, through the touch display (210), after time zooming is terminated. The processor (230) may store only a video of a time section during which time zooming was performed (e.g., a video including a plurality of second frames and the plurality of interpolated frames) in the memory (220) by performing the operations described through operations 1201 to 1205 based on a user input for an object (1442) included in the information (1441). The processor (230) may not store a video of a time section during which time zooming was performed based on a user input for an object (1443) included in the information (1441).
[0181] FIG. 15 is a flowchart (1500) for explaining a method of sharing a video of a time interval in which time zooming has been performed, according to one embodiment.
[0182] Referring to FIG. 15, in one embodiment, FIG. 15 may include operations performed after time zooming is performed through the operations of FIG. 3.
[0183] In operation 1501, in one embodiment, the processor (230) may determine, based on user input, a time interval during which time zooming was performed.
[0184] In one embodiment, as described through FIG. 3, after time zooming is performed, the processor (230) may store the time interval during which time zooming was performed in the memory (220).
[0185] In one embodiment, as described through FIG. 3, the processor (230) may store the time section in which the time zoom is performed in the memory (220) after the time zoom is performed. For example, the processor (230) may store in the memory (220) a first point in time corresponding to the first frame being played through the touch display (210) when the second user input is performed among the plurality of first frames, and a second point in time corresponding to the last frame being played through the touch display (210) when the second user input is terminated among the plurality of first frames.
[0186] In one embodiment, the processor (230) may obtain a user input for sharing a video of the time period during which time zooming was performed with an external electronic device and / or another application stored in the electronic device (201) after time zooming has been performed. Based on the obtained user input, the processor (230) may identify the time period during which time zooming was performed. For example, the processor (230) may identify a first time point and a second time point within the time period during which time zooming was performed.
[0187] In operation 1503, in one embodiment, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation from a first frame (a frame corresponding to the first time point) to a last frame (a frame corresponding to the second time point) based on a first time point and a second time point. For example, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation on each of a plurality of second frames from a frame corresponding to the first time point to a frame corresponding to the second time point, based on the first time point and the second time point.
[0188] In operation 1505, in one embodiment, the processor (230) can share a video including a plurality of second frames and the plurality of interpolated frames.
[0189] In one embodiment, the processor (230) may generate a video by combining a plurality of second frames and the plurality of interpolated frames based on generating the plurality of interpolated frames in operation 1503. For example, the processor (230) may generate a video of a time interval in which time zooming was performed by interpolating the plurality of interpolated frames between the plurality of second frames. The processor (230) may share the generated video.
[0190] Hereinafter, with reference to FIG. 16, a method for sharing a video of a time section in which time zooming has been performed will be described.
[0191] FIG. 16 is a diagram illustrating a method for sharing a video of a time section in which time zooming is performed, according to one embodiment.
[0192] Referring to FIG. 16, in one embodiment, the processor (230) may perform time zoom while a video is being played, and then store the time section where the time zoom was performed in the memory (220). After storing the time section where the time zoom was performed, the processor (230) may display a screen (1610) on which the video (1611) is played through the touch display (210).
[0193] In one embodiment, the processor (230) may display a screen (1620) including objects (1622-1, 1622-2, 1622-3) (e.g., icons) corresponding to applications to be shared and an object (1621) suggesting sharing of a video of a time section during which time zooming was performed, based on a user input for an object (1612) for sharing (e.g., an object to which a sharing function is mapped) within the screen (1610), through the touch display (210). The processor (230) may display a screen (1630) including an object (1631) for sharing a video of a time section during which time zooming was performed, based on a user input for the object (1621). The processor (230) may generate a video of a time section in which time zooming was performed by performing operations 1501 and 1503 based on a user input of selecting an object (1631) and then selecting an object (1622-1) corresponding to an application that is a target of sharing (e.g., an application that the user wants to share). The processor (230) may display a screen (1640) including information (1641) indicating that operations 1501 and 1503 are being performed through the touch display (210). Based on the generation of the video of the time section in which time zooming was performed, the processor (230) may transmit the generated video to the application that is a target of sharing. The processor (230) may execute the application that is a target of sharing and display a video (1651) of the time section in which time zooming was performed through the screen (1650) of the executed application through the touch display (210).
[0194] FIG. 17 is a flowchart (1700) illustrating a method for storing a video in which an original video and interpolated frames of a time interval in which time zooming has been performed are combined, according to one embodiment.
[0195] Referring to FIG. 17, in one embodiment, FIG. 17 may include operations performed after time zooming is performed through the operations of FIG. 3.
[0196] In operation 1701, in one embodiment, the processor (230) may determine, based on user input, a time interval over which time zooming was performed.
[0197] In one embodiment, as described through FIG. 3, after time zooming is performed, the processor (230) may store the time interval during which time zooming was performed in the memory (220).
[0198] In one embodiment, as described through FIG. 3, the processor (230) may store the time section in which the time zoom is performed in the memory (220) after the time zoom is performed. For example, the processor (230) may store in the memory (220) a first point in time corresponding to the first frame being played through the touch display (210) when the second user input is performed among the plurality of first frames, and a second point in time corresponding to the last frame being played through the touch display (210) when the second user input is terminated among the plurality of first frames.
[0199] In one embodiment, the processor (230) may obtain user input for storing a video in which the original video and interpolated frames of the time interval during which time zooming was performed are combined after time zooming has been performed. Based on the obtained user input, the processor (230) may identify the time interval during which time zooming was performed. For example, the processor (230) may identify a first time point and a second time point within the time interval during which time zooming was performed.
[0200] In operation 1703, in one embodiment, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation from a first frame (a frame corresponding to the first time point) to a last frame (a frame corresponding to the second time point) based on a first time point and a second time point. For example, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation on each of a plurality of second frames from a frame corresponding to the first time point to a frame corresponding to the second time point, based on the first time point and the second time point.
[0201] In operation 1705, in one embodiment, the processor (230) may store a video including an original video and a plurality of interpolated frames in the memory (220). For example, the processor (230) may store a video in which the original video and interpolated frames of a time section in which time zooming is performed are combined in the memory (220).
[0202] Hereinafter, with reference to FIGS. 18 and 19, a method for storing a video in which the original video and interpolated frames of the time section in which time zooming is performed are combined will be described.
[0203] FIG. 18 is a diagram illustrating a method for storing a video in which an original video and interpolated frames of a time section in which time zooming has been performed are combined, according to one embodiment.
[0204] Referring to FIG. 18, in one embodiment, the processor (230) may perform time zoom while a video is being played, and then store the time section where the time zoom was performed in the memory (220). After storing the time section where the time zoom was performed, the processor (230) may display a screen (1810) on which the video (1811) is played through the touch display (210).
[0205] In one embodiment, the processor (230) may pause playback of the video (1811) based on a user input for an object (1812) for editing the video (1811) within the screen (1810). The processor (230) may display, through the touch display (210), a screen (1820) including an object (1824) for controlling (e.g., adjusting) the playback speed of the video and thumbnail images (1822) of some of the frames of the video (1811) based on the user input. The processor (230) may display, within the thumbnail images (1822), an indication (1823) (also referred to as a “seek bar”) for indicating a frame corresponding to a current playback time point (or current playback time point) for the video (1811).
[0206] In one embodiment, the processor (230) may display a screen (1830) including a first object (1831), a second object (1832), a third object (1833), and a fourth object (1834) through the touch display (210) based on a user input for an object (1824) for controlling the playback speed of a video.
[0207] In one embodiment, the first object (1831) may be an object for indicating a time interval of a time zoom that was most recently performed before a user input for the object (1812). The processor (230) may display the first object (1831) through the touch display (210) so that the shape (e.g., color, shade) of the first object (1831) and the shapes of the second object (1832) and the third object (1833) are distinguished. The processor (230) may display information (1835) (e.g., "This is the slow-mo speed you just previewed") through the touch display (210) indicating that the first object (1831) is an object for indicating a time interval of a time zoom that was most recently performed before a user input for the object (1812).
[0208] In one embodiment, the processor (230) may display, through the touch display (210), a screen (1840) including an indication (1842) indicating a time interval of a time zoom most recently performed before the user input for the object (1812) on an indication (1841) (e.g., a bar) indicating a time interval of a video (1811) based on a user input for the first object (1831). The indication (1842) displayed on the indication (1841) may indicate a time interval during which a time zoom was performed relative to the current playback time indicated by the indication (1823).
[0209] In one embodiment, "1 / 4" contained within the first object (1831) may indicate that the number of one or more interpolation frames interpolated between frames is 3. In one embodiment, "1 / 4" contained within the first object (1831) may indicate that the speed at which the video (1811) is played is changed from 1x speed (1.0x) to 1 / 4x speed (0.25x) (e.g., changed from 1x to 1 / 4x speed to play more slowly).
[0210] In one embodiment, the second object (1832) may be an object for performing time zoom, wherein the number of one or more interpolation frames interpolated between frames is set to 1. For example, the processor (230) may perform time zoom by playing the video (1811) from a current frame of the video (1811) (e.g., a frame at a pause point) based on a user input for the second object (1832), while simultaneously generating one interpolation frame between the frames of the video (1811) for a specified period of time (e.g., about 2 seconds, about 3 seconds, or about 4 seconds) (e.g., by repeating an operation of generating one interpolation frame between a frame and the immediately following frame for the specified period of time) and playing the frames of the video (1811) and the generated interpolation frame.
[0211] In one embodiment, the third object (1833) may be an object for performing time zoom, wherein the number of one or more interpolation frames interpolated between frames is set to 7. For example, the processor (230) may perform time zoom by simultaneously playing the video (1811) from the current frame of the video (1811) (e.g., the frame at the time of pause) based on a user input for the third object (1833), generating 7 interpolation frames between the frames of the video (1811) for a specified time, and playing the frames of the video (1811) and the generated interpolation frames.
[0212] In one embodiment, the fourth object (1834) may be an object indicating that the current playback speed of the video is 1.0x.
[0213] In the examples described above, based on the user input for the first object (1831), an indication (1842) indicating a time interval of the time zoom most recently performed before the user input for the object (1812) is displayed, but this is not limited thereto. For example, the processor (230) may also display, through the touch display (210), indications indicating the time intervals of all time zooms performed before the user input for the object (1812) (e.g., when a plurality of time zooms are performed discontinuously, time intervals corresponding to each of the plurality of time zooms that were performed discontinuously) based on the user input for the first object (1831).
[0214] In one embodiment, the processor (230) may perform operations 1701 to 1705 based on a user input for an object (1851) displayed on the screen (1840) after the screen (1840) displays the object. For example, the processor (230) may identify a time interval indicated by an indication (1842) based on the user input for the object (1851). The processor (230) may generate a plurality of interpolated frames by performing an FRC operation on frames in the identified time interval. The processor (230) may generate a video in which an original video (e.g., a plurality of first frames) and the generated plurality of interpolated frames are combined, and store the generated video in the memory (220).
[0215] In one embodiment, after displaying the screen (1840), the screen (1830) may be displayed through the touch display (210) based on user input for an object (1852) displayed on the screen (1840).
[0216] In one embodiment, the processor (230) may perform operations 1701 to 1705 on frames corresponding to time sections of all time zooms performed prior to the user input for the object (1812) based on a user input for the object (1851) displayed on the screen (1840) (e.g., time sections corresponding to each of the time zooms that were performed discontinuously when a plurality of time zooms were performed discontinuously). The processor (230) may combine the original video and the plurality of interpolated frames generated by performing operations 1701 to 1705 on the frames corresponding to the time sections of all the time zooms to generate a video, and store the generated video in the memory (220).
[0217] FIG. 19 is a diagram illustrating a method for storing a video in which an original video and interpolated frames of a time section in which time zooming has been performed are combined, according to one embodiment.
[0218] Referring to FIG. 19, in one embodiment, the processor (230) may display a screen (1910) for editing the original video through the touch display (210).
[0219] In one embodiment, the screen (1910) may include the original video (1920) that is paused during playback, time segments (1951, 1952, 1953, 1954) of the original video including an indication (1941) to indicate the current playback point in time and time segments (1931, 1932) during which time zooms were performed, and time segments of the original video during which editing was performed (and information indicating tools (e.g., text, sticker, draw, audio) that were used for editing). For example, in FIG. 19, each of the information (1961-1) indicated by "sticker" may represent a time section in which a sticker (e.g., an object, or an image, or an icon) is inserted (e.g., added) based on user input in a time section of an edited video including an original video and a video obtained by performing time zooms (e.g., time sections (1951, 1952, 1953, 1954) of the original video and time sections (1931, 1932) in which time zooms were performed). For example, in FIG. 19, each of the information (1961-2) indicated by "text" may represent a time section in which text is inserted based on user input in the time section of the edited video. For example, in FIG. 19, information (1961-3) indicated by "draw" may represent a time interval in which a drawn object (e.g., a line) is inserted based on user input in the time interval of the edited video. For example, in FIG. 19, each of information (1961-4) indicated by "audio" may represent a time interval in which an audio file is inserted based on user input in the time interval of the edited video. However, a method of editing an edited video including an original video and / or a video obtained by performing time zooms is not limited to the examples described above.
[0220] In one embodiment, the processor (230) may perform operations 1701 to 1705 on frames corresponding to time intervals (1931, 1932) during which time zooms were performed based on user input obtained while displaying the screen (1910). The processor (230) may generate a video by combining a plurality of interpolated frames generated by performing operations 1701 to 1705 and an original video, and store the generated video in the memory (220).
[0221] FIG. 20 is a drawing for explaining a method for providing a video according to one embodiment.
[0222] Referring to FIG. 20, in one embodiment, the operations of FIG. 20 may be operations included in operations 303 to 307 of FIG. 3.
[0223] In one embodiment, the processor (230) can display a screen (2010) including a video being played (2011) and a thumbnail image (2012) representing the video (2011) through the touch display (210).
[0224] In one embodiment, the processor (230) may, based on a user input (2011-1) for the thumbnail image (2012) (e.g., a user input input by tapping the thumbnail image (2012), display a screen (2020) including thumbnail images (2013-1, 2013-2, 2013-3) (e.g., reduced images of the frames) corresponding to some of the plurality of first frames of the video (2011) by replacing the thumbnail image (2012) through the touch display (210). An indication (2014) within the screen (2020) may be an object indicating a current playback time. The thumbnail images (2013-1, 2013-2, 2013-3) may be thumbnail images of frames corresponding to a previous time point and a subsequent time point based on the current playback time point indicated by the indication (2014). In one embodiment, although not illustrated in FIG. 20, the processor (230) may, based on a user input (2021-1) for the frame (2013-2) including the indication (2014), enlarge an area where thumbnail images (e.g., thumbnail images (2013-1, 2013-2, 2013-3)) corresponding to some of the plurality of first frames of the video (2011) are displayed and display the enlarged area through the touch display (210).
[0225] In one embodiment, the processor (230) may obtain a second user input for the thumbnail images (e.g., thumbnail images (2013-1, 2013-2, 2013-3)) (or the area where the thumbnail images are displayed (also referred to as a “film strip area”)) while the screen (2030) including the video being played (2011) is displayed. For example, the processor (230) may obtain a second user input input by a long press for the thumbnail images (or the film strip area). For example, the processor (230) may obtain a second user input input by a pinch motion (2031-1) for the thumbnail images (or the film strip area) (e.g., an action of moving at least one of two fingers so that the distance between the two fingers touching the touch display (210) increases).
[0226] In one embodiment, the processor (230) may perform time zoom based on the second user input (e.g., the second user input input by the pinch gesture (2031-1)). For example, the processor (230) may play a video (2041) including a plurality of interpolated frames and a plurality of second frames generated by performing an FRC operation on a plurality of second frames based on the second user input.
[0227] In one embodiment, the processor (230) may, while playing a video (2041) including a plurality of interpolated frames and a plurality of second frames, display a screen (2040) including the video (2041) and thumbnail images (2031-1, 2031-2, 2031-3) of at least a portion of the video (2041) displayed in a film strip area (e.g., thumbnail images of interpolated frames) through the touch display (210).
[0228] In one embodiment, the processor (230) may display a screen (2050) including frames corresponding to time periods after a time interval of the time zoom (e.g., frame (2051)) and thumbnail images of some of the frames (e.g., thumbnail image (2052) of frame (2051)) through the touch display (210) based on the release of the second user input.
[0229] FIG. 21 is a diagram for explaining a method for providing a video according to one embodiment.
[0230] Referring to FIG. 21, in one embodiment, the operations of FIG. 21 may be operations included in operations 303 to 307 of FIG. 3.
[0231] In one embodiment, the processor (230) may display a screen (2110) including a video (2111) being played through the touch display (210). While displaying the screen (2110), the processor (230) may obtain a user input (2112) (e.g., a user input for zooming in on the video (2111)) for enlarging the video (2111) (e.g., for enlarging and displaying the video (2111)).
[0232] In one embodiment, the processor (230) may display a screen (2120) including an enlarged video (2121) through the touch display (210) based on the user input (2112).
[0233] In one embodiment, the processor (230) may perform time zoom on a plurality of enlarged second frames of the video (2121) based on a second user input while the enlarged video (2121) is being played. For example, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation on a plurality of second frames from a frame corresponding to a first time point at which a user input (2132) for starting time zooming is obtained to a frame corresponding to a second time point at which a user input (2162) for ending time zooming is obtained. The processor (230) may display, through the touch display (210), the enlarged frames of the plurality of second frames and the enlarged frames of the plurality of interpolated frames from the first time point to the second time point, as shown in screens (2130), (2140), (2150), and (2160) that are sequentially displayed.
[0234] Although the examples described above describe performing time zoom on the enlarged video after enlarging it, this is not a limitation. For example, the processor (230) may perform time zoom on the reduced video by performing at least some operations identical or similar to those described above after reducing the video.
[0235] FIG. 22 is a drawing for explaining a method for providing a video according to one embodiment.
[0236] Referring to FIG. 22, in one embodiment, the operations of FIG. 22 may be operations included in operations 303 to 307 of FIG. 3.
[0237] In one embodiment, the processor (230) can display a screen (2210) including a video (2211) being played through the touch display (210).
[0238] In one embodiment, the processor (230) may set an area to be displayed through the touch display (210) within the video (2211) based on a second user input maintained while displaying the screen (2210), and perform time zoom on frames in which the set area is enlarged.
[0239] In one embodiment, the processor (230) can identify points (2212-1, 2212-2) input by touch using at least two fingers (e.g., touch for inputting a second user input) while displaying the screen (2210). The processor (230) can set an area (2213) to be displayed through the touch display (210) within the video (2211) based on the points (2212-1, 2212-).
[0240] In one embodiment, the processor (230) may perform time zoom based on a plurality of second frames in which the set region (2213) within the video (2211) is enlarged and displayed. For example, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation on the plurality of second frames while the touch is maintained after touching the points (2212-1, 2212-2). The processor (230) may enlarge and reproduce the region (2213) set by the points (2212-1, 2212-2) in each of the plurality of second frames and the generated plurality of interpolated frames, such as screens (2220), (2230), and (2240) that are sequentially displayed while the touch is maintained after touching the points (2212-1, 2212-2).
[0241] In one embodiment, the processor (230) may reset an area (e.g., area (2213)) to be displayed through the touch display (210) within the video based on the positions of the changed points (e.g., points (2212-1, 2212-2)) input by a touch using at least two fingers (e.g., a touch for inputting a second user input). When playing back a plurality of interpolated frames and a plurality of second frames generated by performing an FRC operation based on a plurality of second frames, the processor (230) may play back the reset area by enlarging or reducing it in each of the plurality of second frames and the plurality of interpolated frames.
[0242] In one embodiment, the processor (230) can perform the aforementioned time zoom not only for 2D (dimensional) video but also for 3D video. For example, the processor (230) can display the 3D video through the touch display (210).
[0243] In one embodiment, the processor (230) may change the screen of the 3D video (e.g., the view in which the 3D video is displayed) based on a user input (e.g., a second user input) while the 3D video is being played. For example, the processor (230) may display a second view of the video, which is different from the first view, based on a user interaction (e.g., an action of rotating the electronic device (201) (or the face of a user wearing the electronic device (201) when the electronic device (201) is a VR (virtual reality) glass) while a first view of the video being played (e.g., a front view of the 3D video) is being displayed.
[0244] In one embodiment, the processor (230) may perform time zooming, as described with reference to FIGS. 2 to 22, on a 3D video based on the user input (e.g., a second user input) (or while the user input is being input).
[0245] FIG. 23 is a drawing for explaining a method for providing a video according to one embodiment.
[0246] Referring to FIG. 23, in one embodiment, at reference numeral 2301, the processor (230) can play a video stored in the memory (220) in normal mode through the touch display (210) of the electronic device (201) (e.g., a smart phone).
[0247] In one embodiment, the processor (230) may display a screen (2310) including a video (2311) being played and an object (2312) for performing a function of playing the video (2311) in slow motion mode through the touch display (210).
[0248] In one embodiment, at reference numerals 2301 and 2302, the processor (230) may display a screen (2320) including an object (2330) for playing the video (2311) in slow motion mode, together with the video (2311), through the touch display (210), based on a user input for the object (2312).
[0249] In one embodiment, the object (2330) may include a first object (2321), a second object (2322), a third object (2323), and a fourth object (2324).
[0250] In one embodiment, the first object (2321) may be an object for performing time zoom, wherein the number of one or more interpolation frames interpolated between frames of the video (2311) is set to 7. For example, the processor (230) may perform time zoom by generating an interpolation frame of the video (2311) based on a user input (e.g., a long press input) for the first object (2321) (e.g., by repeating an operation of generating 7 interpolation frames between a frame in the video (2311) and the immediately following frame while the long press input is maintained) and playing back the frames of the video (2311) and the generated interpolation frame. In this case, the speed at which the video (2311) is played back in slow motion mode may be approximately 1 / 8 of the speed at which the video (2311) is played back in normal mode.
[0251] In one embodiment, the second object (2322) may be an object for performing time zooming, with the number of one or more interpolation frames interpolated between frames of the video (2311) set to three.
[0252] In one embodiment, the third object (2323) may be an object for performing time zooming, with the number of one or more interpolation frames interpolated between frames of the video (2311) set to 1.
[0253] In one embodiment, the fourth object (2324) may be an object indicating that the current playback speed of the video (2411) is 1.0x.
[0254] In one embodiment, the processor (230) can play the video (2311) in slow motion mode at a playback speed corresponding to the selected object by selecting one of the first object (2321) to the third object (2323).
[0255] FIG. 24 is a drawing for explaining a method for providing a video according to one embodiment.
[0256] In one embodiment, FIG. 24 may be a drawing for explaining operations performed by an electronic device (201) to provide a video when the electronic device (201) is a PC.
[0257] Referring to FIG. 24, in one embodiment, at reference numeral 2401, the processor (230) can play a video stored in the memory (220) in normal mode through a display (e.g., display module (160)) of the electronic device (201).
[0258] In one embodiment, the processor (230) may obtain an input for playing a video (2411) using an input module (e.g., a keyboard or mouse included in the input module (150)). Based on the input, the processor (230) may display a screen (2410) (e.g., a running screen of a video player) including a video (2411) being played and an object (2412) for performing a function of playing the video (2411) in slow motion mode through the display.
[0259] In one embodiment, at reference numerals 2401 and 2402, the processor (230) may display a screen (2420) including an object (2430) for playing the video (2411) in slow motion mode, together with the video (2411), based on a user input for the object (2412).
[0260] In one embodiment, the object (2430) may include a first object (2421), a second object (2422), a third object (2343), and a fourth object (2424).
[0261] In one embodiment, the first object (2421) may be an object for performing time zoom, wherein the number of one or more interpolation frames interpolated between frames of the video (2411) is set to 7. For example, the processor (230) may perform time zoom by generating an interpolation frame of the video (2411) based on an input to the first object (2421) (e.g., an input of maintaining a press on a mouse button) and playing back the frames of the video (2411) and the generated interpolation frame. In this case, the speed at which the video (2411) is played back in slow motion mode may be approximately 1 / 8 of the speed at which the video (2411) is played back in normal mode.
[0262] In one embodiment, the second object (2422) may be an object for performing time zooming, with the number of one or more interpolation frames interpolated between frames of the video (2411) set to three.
[0263] In one embodiment, the third object (2423) may be an object for performing time zooming, with the number of one or more interpolation frames interpolated between frames of the video (2411) set to 1.
[0264] In one embodiment, the fourth object (2424) may be an object indicating that the current playback speed of the video (2411) is 1.0x.
[0265] In one embodiment, the processor (230) can play the video (2411) in slow motion mode at a playback speed corresponding to the selected object by selecting one of the first object (2421) to the third object (2423).
[0266] FIG. 25 is a drawing for explaining a method for providing a video according to one embodiment.
[0267] In one embodiment, FIG. 25 may be a drawing for explaining operations performed by an electronic device (201) to provide a video when the electronic device (201) is a head mounted display (HMD) device (e.g., augmented reality (AR) glasses, virtual reality (VR) glasses).
[0268] Referring to FIG. 25, in one embodiment, at reference numeral 2501, the processor (230) may play a video stored in the memory (220) in a normal mode in a virtual space (or real space) through the display of the electronic device (201). For example, the processor (230) may display a screen (2510) in which a video (2514) is played in a normal mode on a window (2511) among windows (2511, 1512, 2513) arranged in a virtual space (or real space) through the display of the electronic device (201).
[0269] In one embodiment, the processor (230) may obtain a user input (e.g., input using a hand gesture, input using the user's gaze, input using a controller capable of controlling the electronic device (201)) for an object (2515) to be displayed in an area where a video (2514) being played is displayed and to perform a function of playing the video (2514) in slow motion mode. For example, the processor (230) may display a virtual image (2530) representing the user's hand in a virtual space by tracking the user's hand gesture. The processor (230) may select an object (2515) indicated by a virtual ray (2531) displayed from the virtual image (2530).
[0270] In one embodiment, at reference numerals 2501 and 2502, the processor (230) may display a screen (2520) including a window (2511) including a video (2514) and an object (2521) for playing the video (2514) in slow motion mode, based on a user input for the object (2515).
[0271] In one embodiment, the object (2521) may include a first object (2522), a second object (2523), a third object (2524), and a fourth object (2525).
[0272] In one embodiment, the first object (2522) may be an object for performing time zoom, wherein the number of one or more interpolation frames interpolated between frames of the video (2514) is set to 7. For example, the processor (230) may perform time zoom by generating an interpolation frame of the video (2514) based on an input for the first object (2522) and playing back the frames of the video (2514) and the generated interpolation frame. In this case, the speed at which the video (2514) is played back in slow motion mode may be approximately 1 / 8 of the speed at which the video (2514) is played back in normal mode.
[0273] In one embodiment, the second object (2523) may be an object for performing time zooming, with the number of one or more interpolation frames interpolated between frames of the video (2514) set to three.
[0274] In one embodiment, the third object (2524) may be an object for performing time zooming, with the number of one or more interpolation frames interpolated between frames of the video (2514) set to 1.
[0275] In one embodiment, the fourth object (2525) may be an object indicating that the current playback speed of the video (2514) is 1.0x.
[0276] In one embodiment, the processor (230) can play the video (2514) in slow motion mode at a playback speed corresponding to the selected object by selecting one of the first object (2522) to the third object (2524).
[0277] FIG. 26 is a flowchart (2600) for explaining a method of providing a video according to one embodiment.
[0278] Referring to FIG. 26, in one embodiment, examples of playing a video in slow motion mode by performing an FRC operation on the video have been described through FIGS. 2 through 25, but are not limited thereto. In FIG. 26, an embodiment of maintaining the playback speed of a video even after performing an FRC operation on the video will be described.
[0279] In operation 2601, in one embodiment, the processor (230) may play (e.g., display) the video based on a first FPS through the touch display (210) based on a user input for playing the video stored in the memory (220). For example, the processor (230) may play the original video generated at the first FPS through the touch display (210) at the first FPS.
[0280] In operation 2603, in one embodiment, the processor (230) may obtain a user input for an FRC operation on a video. For example, the processor (230) may obtain a long press input on a video being played.
[0281] In operation 2605, in one embodiment, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation on the video while user input for the FRC operation is maintained.
[0282] In operation 2607, in one embodiment, the processor (230) may play back a video (e.g., frames of the original video and the generated plurality of interpolated frames) based on the second FPS while the user input for the FRC operation is maintained.
[0283] In one embodiment, the speed at which the frames of the original video and the generated plurality of interpolated frames are played back based on the second FPS in operation 2607 may be the same as the speed at which the original video is played back based on the first FPS in operation 2601. For example, when the number of interpolated frames to be interpolated for each of the frames of the original video is 3, the number of the frames of the original video and the generated plurality of interpolated frames may be about 4 times the number of frames of the original video. In this case, the processor (230) may play the frames of the original video and the generated plurality of interpolated frames at the second FPS, which is about 4 times higher than the first FPS, so that the speed at which the frames of the original video and the generated plurality of interpolated frames are played back based on the second FPS in operation 2607 is the same as the speed at which the original video is played back based on the first FPS in operation 2601.
[0284] FIG. 27 is a drawing for explaining a method for providing a video according to one embodiment.
[0285] Referring to FIG. 27, in one embodiment, the processor (230) may generate a video by performing an FRC operation on a plurality of frames (e.g., a plurality of images) sequentially captured within a specified time.
[0286] In one embodiment, the processor (230) may display a screen (2710) including one frame (2711) among a plurality of frames acquired in a continuous shooting mode (or burst shot mode) through the touch display (210). An image (2721) on the screen (2710) may include information indicating that the number of frames acquired in the continuous shooting mode is 23.
[0287] In one embodiment, the processor (230) may generate a plurality of interpolated frames by performing an FRC operation on a plurality of frames acquired in a continuous shooting mode based on a user input. The processor (230) may generate a GIF (graphics interchange format) file or a video (e.g., a video playable in slow motion mode) by combining the plurality of frames acquired in the continuous shooting mode and the generated plurality of interpolated frames.
[0288] An electronic device (201) according to one embodiment may include a touch display (230), at least one processor (230) including a processing circuit, and a memory (220) storing instructions. The instructions, when individually or collectively executed by the at least one processor (230), may cause the electronic device (201) to play a video stored in the memory (220) in a normal mode on a user interface through the touch display (230) based on a first user input for playing the video. The instructions, when individually or collectively executed by the at least one processor (230), may cause the electronic device (201) to obtain a second user input for playing the video in a slow motion mode while playing the video in the normal mode through the touch display (230). The second user input may correspond to a touch input to the touch display (230). The instructions, when individually or collectively executed by the at least one processor (230), may cause the electronic device (201) to generate interpolated frames by performing the frame rate conversion operation on corresponding frames included in the video while the second user input is maintained on the touch display (230). The instructions, when individually or collectively executed by the at least one processor (230), may cause the electronic device (201) to display the corresponding frames together with the generated interpolated frames through the touch display (230) while the second user input is maintained on the touch display (230), thereby playing the video in the slow motion mode.The above instructions, when executed individually or collectively by the at least one processor (230), may cause the electronic device (201) to resume playing the video in the normal mode through the touch display (230) based on the second user input being released from the touch display (230).
[0289] In one embodiment, the second user input may include a long press input to the touch display (210). The corresponding frames may be frames displayed on the touch display (210) during a time period from a time when the long press input is acquired to a time when the long press input is released within the video. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to reproduce, in the normal mode, frames subsequent to the last frame among the frames included in the video and displayed on the touch display (210) during the time period, based on the release of the long press input.
[0290] In one embodiment, the instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to perform the FRC operation based on a first frame being played back through the touch display (210) and a second frame following the first frame when the second user input is acquired, thereby generating one or more interpolated frames interpolated between the first frame and the second frame. The first frame and the second frame may be included in the corresponding frames, and the one or more interpolated frames may be included in the interpolated frames. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to sequentially play back the one or more interpolated frames and the second frame through the touch display (210) after the first frame is played back.
[0291] In one embodiment, the instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to obtain a magnitude of pressure generated by the touch input. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to determine, for each of the corresponding frames, a number of one or more interpolation frames to be interpolated between a frame and a frame following the frame. The number of the one or more interpolation frames may correspond to the magnitude of the pressure generated by the touch input. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to generate, for each of the corresponding frames, the determined number of one or more interpolation frames by performing the FRC operation.
[0292] In one embodiment, the instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to determine a location within the touch display (210) where the second user input was acquired. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to perform the FRC operation on a third frame being played back through the touch display (210) and frames prior to the third frame when the second user input was acquired, based on the location being a first location, thereby generating interpolated frames. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to perform the FRC operation on the third frame and frames subsequent to the third frame, based on the location being a second location different from the first location, thereby generating interpolated frames.
[0293] In one embodiment, the second user input may include an input input by a drag on the touch display (210). The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to obtain a direction and a length of the drag. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to generate interpolated frames by performing the FRC operation on a fourth frame being played back through the touch display (210) and frames subsequent to the fourth frame upon obtaining the second user input, based on the direction of the drag being in the first direction. For each of the fourth frame and the frames subsequent to the fourth frame, the number of one or more interpolated frames to be interpolated between the frame and the frame subsequent to the frame may correspond to the length of the drag. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to generate interpolated frames by performing the FRC operation on the fourth frame and frames preceding the fourth frame based on the direction of the drag being in a second direction different from the first direction. For each of the fourth frame and the frames preceding the fourth frame, the number of one or more interpolated frames to be interpolated between the frame and the frame following the frame may correspond to the length of the drag.
[0294] In one embodiment, the instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to store, in the memory (220), a first point in time of the video corresponding to a first frame among the corresponding frames and a second point in time of the video corresponding to a last frame among the corresponding frames, based on generating the interpolated frames. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to identify the first point in time and the second point in time based on a third user input for storing a video combining the corresponding frames and the interpolated frames. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to generate the interpolated frames by performing the FRC operation from the first frame corresponding to the first point in time to the last frame corresponding to the second point in time. The above instructions, when executed individually or collectively by the processor (230), may cause the electronic device (201) to store the video combining the generated plurality of interpolated frames and the corresponding frames.
[0295] In one embodiment, the instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to store, in the memory (220), a fifth point of time of the video corresponding to a first frame among the corresponding frames and a sixth point of time of the video corresponding to a last frame among the corresponding frames, based on obtaining the interpolated frames. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to identify the fifth point of time and the sixth point of time based on a fifth user input for storing a video combining the frames of the video stored in the memory (220) and the interpolated frames. The above instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to generate the interpolated frames by performing the FRC operation from the first frame corresponding to the fifth time point to the last frame corresponding to the sixth time point. The above instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to store the generated interpolated frames and the video that combines the frames.
[0296] In one embodiment, the instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to reproduce the video in a first area through the touch display (210) based on the first user input, and to display thumbnail images corresponding to some frames of the video, determined based on a point in time during which the video is being reproduced, among the frames of the video in a second area. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to generate the interpolated frames by performing the FRC operation on the corresponding frames based on the second user input for the second area. The above instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to reproduce the corresponding frames and the interpolated frames in the first area through the touch display (210) and to display thumbnail images of at least some of the corresponding frames and thumbnail images of at least some of the interpolated frames in the second area.
[0297] In one embodiment, the second user input may include a user input for enlarging or reducing a video being played through the touch display (210). The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to generate the enlarged or reduced interpolated frames by performing the FRC operation on the corresponding frames enlarged or reduced based on the second user input. The instructions, when individually or collectively executed by the processor (230), may cause the electronic device (201) to display the enlarged or reduced corresponding frames and the enlarged or reduced interpolated frames through the touch display (210) while the second user input is being acquired.
[0298] According to one embodiment, a method may include an operation of playing a video stored in a memory (220) of an electronic device (201) in a normal mode through a touch display (210) of the electronic device (201) based on a first user input for playing the video. The method may include an operation of obtaining a second user input for playing the video in a slow motion mode while playing the video in the normal mode on a user interface through the touch display (210) of the electronic device (201). The second user input may correspond to a touch input to the touch display (210). The method may include an operation of generating interpolated frames by performing a frame rate conversion operation on corresponding frames included in the video while the second user input is maintained on the touch display (210). The method may include an operation of playing back the video in the slow motion mode by displaying the corresponding frames together with the generated health frames through the touch display (210) while the second user input is maintained on the touch display (210). The method may include an operation of resuming the operation of playing back the video in the normal mode through the touch display (210) based on the second user input being released from the touch display (210).
[0299] In one embodiment, the second user input may include a long press input to the touch display (210). The corresponding frames may be frames displayed on the touch display (210) during a time period from a time when the long press input is acquired to a time when the long press input is released within the video. The operation of resuming the operation of playing the video in the normal mode may include an operation of playing, in the normal mode, frames following the last frame among the frames included in the video and displayed on the touch display (210) during the time period, based on the release of the long press input.
[0300] In one embodiment, the operation of generating the interpolated frames may include an operation of generating one or more interpolated frames interpolated between the first frame and the second frame by performing the FRC operation based on a first frame being played back through the touch display (210) when the second user input is acquired and a second frame following the first frame. The first frame and the second frame may be included in the corresponding frames, and the one or more interpolated frames may be included in the interpolated frames. The operation of playing the video in the slow motion mode may include an operation of sequentially playing the one or more interpolated frames and the second frame through the touch display (210) after the first frame is played back.
[0301] In one embodiment, the operation of generating the interpolated frames may include an operation of obtaining a magnitude of pressure generated by the touch input. The operation of generating the interpolated frames may include an operation of determining, for each of the corresponding frames, a number of one or more interpolated frames to be interpolated between the frame and a frame following the frame. The number of the one or more interpolated frames may correspond to the magnitude of the pressure generated by the touch input. The operation of generating the interpolated frames may include an operation of generating, for each of the corresponding frames, the one or more interpolated frames in the determined number by performing the FRC operation.
[0302] In one embodiment, the operation of generating the interpolated frames may include an operation of confirming a location within the touch display (210) where the second user input is acquired. The operation of generating the interpolated frames may include an operation of generating the interpolated frames by performing the FRC operation on a third frame being played back through the touch display (210) and frames prior to the third frame when the second user input is acquired, based on the location being a first location. The operation of generating the interpolated frames may include an operation of generating the interpolated frames by performing the FRC operation on the third frame and frames subsequent to the third frame, based on the location being a second location different from the first location.
[0303] In one embodiment, the second user input may include an input input by dragging on the touch display (210). The operation of generating the interpolated frames may include an operation of obtaining a direction and a length of the drag. The operation of generating the interpolated frames may include an operation of generating interpolated frames by performing the FRC operation on a fourth frame being played back through the touch display (210) and frames subsequent to the fourth frame upon obtaining the second user input, based on the direction of the drag being a first direction. For each of the fourth frame and the frames subsequent to the fourth frame, the number of one or more interpolated frames to be interpolated between the frame and the frame subsequent to the fourth frame may correspond to the length of the drag. The operation of generating the interpolated frames may include an operation of generating interpolated frames by performing the FRC operation on the fourth frame and frames prior to the fourth frame, based on the direction of the drag being a second direction different from the first direction. For each of the fourth frame and the frames preceding the fourth frame, the number of one or more interpolation frames to be interpolated between the frame and the frame following the frame may correspond to the length of the drag.
[0304] In one embodiment, the method may further include an operation of storing, in the memory (220), a first point of the video corresponding to a first frame among the corresponding frames and a second point of the video corresponding to a last frame among the corresponding frames, based on generating the interpolated frames. The method may further include an operation of confirming the first point of time and the second point of time based on a third user input for storing a video combining the corresponding frames and the interpolated frames. The method may further include an operation of generating the interpolated frames by performing the FRC operation from the first frame corresponding to the first point of time to the last frame corresponding to the second point of time. The method may further include an operation of storing the video combining the generated interpolated frames and the corresponding frames.
[0305] In one embodiment, the method may further include an operation of storing a fifth point of the video corresponding to a first frame among the corresponding frames and a sixth point of the video corresponding to a last frame among the corresponding frames in the memory (220) based on generating the plurality of interpolated frames. The method may further include an operation of confirming the fifth point of view and the sixth point of view based on a fifth user input for storing a video combining the frames of the video stored in the memory (220) and the interpolated frames. The method may further include an operation of generating the interpolated frames by performing the FRC operation from the first frame corresponding to the fifth point of view to the last frame corresponding to the sixth point of view. The method may further include an operation of storing the generated interpolated frames and the video combining the frames in the memory (220).
[0306] In one embodiment, the operation of playing the video in the normal mode may include an operation of playing the video in a first area through the touch display (210) based on the first user input, and displaying thumbnail images corresponding to some frames of the video, determined based on a point in time during which the video is being played, among frames of the video, in a second area. The operation of generating the interpolated frames may include an operation of generating the interpolated frames by performing the FRC operation on the corresponding frames based on the second user input for the second area. The operation of playing the video in the slow motion mode may include an operation of playing the corresponding frames and the interpolated frames in the first area through the touch display (210), and displaying thumbnail images of at least some of the corresponding frames and thumbnail images of at least some of the interpolated frames in the second area.
[0307] In one embodiment, a non-transitory computer-readable storage medium having recorded thereon computer-executable instructions, wherein the computer-executable instructions, when individually or collectively executed by at least one processor (230), may cause an electronic device (201) to play a video stored in a memory (220) of the electronic device (201) in a normal mode on a user interface through a touch display (210) of the electronic device (201) based on a first user input for playing the video. The computer-executable instructions, when individually or collectively executed by at least one processor (230), may cause the electronic device (201) to obtain a second user input for playing the video in a slow motion mode while playing the video in the normal mode through the touch display (210). The second user input may correspond to a touch input to the touch display (210). The computer-executable instructions, when executed individually or collectively by at least one processor (230), may cause the electronic device (201) to generate interpolated frames by performing a frame conversion operation on corresponding frames included in the video while the second user input is maintained on the touch display (210). The computer-executable instructions, when executed individually or collectively by at least one processor (230), may cause the electronic device (201) to play the video in the slow motion mode by displaying the corresponding frames together with the generated interpolated frames through the touch display (210) while the second user input is maintained on the touch display (210).The computer-executable instructions, when executed individually or collectively by at least one processor (230), may cause the electronic device (201) to resume playing the video in the normal mode through the touch display (210) based on the second user input being released from the touch display (210).
[0308] Additionally, the structure of the data used in the embodiments of the present document described above can be recorded on a computer-readable recording medium through various means. The computer-readable recording medium includes storage media such as magnetic storage media (e.g., ROM, floppy disk, hard disk, etc.) and optical reading media (e.g., CD-ROM, DVD, etc.).
Claims
1. In an electronic device (201), Touch display (210); At least one processor (230) comprising processing circuitry; and Instructions (instructions) including memory (220), The above instructions, when individually or collectively executed by the at least one processor (230), cause the electronic device (201) to: Based on a first user input for playing a video stored in the above memory (220), the video is played in normal mode on the user interface through the touch display (210), While playing the video in the normal mode through the touch display (210), a second user input for playing in the slow motion mode is obtained, wherein the second user input corresponds to a touch input to the touch display (210). While the second user input is maintained on the touch display (210), interpolation frames are generated by performing the frame rate conversion (FRC) operation on the corresponding frames included in the video, and While the second user input is maintained on the touch display (210), the corresponding frames are displayed together with the generated interpolated frames through the touch display (210), thereby playing the video in the slow motion mode, and An electronic device (201) that resumes the operation of playing the video in the normal mode through the touch display (210) based on the release of the second user input from the touch display (210).
2. In paragraph 1, The second user input includes a long press input to the touch display (210), The corresponding frames are frames displayed on the touch display (210) during the time period from the time the long press input is acquired to the time the long press input is released within the video, and The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: An electronic device (201) that causes the frames following the last frame among the frames included in the video and displayed on the touch display (210) during the time period to be played in the normal mode based on the release of the long press input.
3. In paragraph 1 or 2, The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: By performing the FRC operation based on the first frame being played back and the second frame following the first frame through the touch display (210) when the second user input is acquired, one or more interpolation frames interpolated between the first frame and the second frame are generated, wherein the first frame and the second frame are included in the corresponding frames, and the one or more interpolation frames are included in the interpolation frames, and An electronic device (201) that sequentially plays back one or more interpolated frames and the second frame through the touch display (210) after the first frame is played back.
4. In any one of paragraphs 1 to 3, The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: Obtain the intensity of the pressure generated by the above touch input, For each of the corresponding frames, determining the number of one or more interpolation frames to be interpolated between the frame and the frame following the frame, wherein the number of the one or more interpolation frames corresponds to the intensity of the pressure generated by the touch input, and An electronic device (201) that generates one or more interpolated frames of the determined number for each of the corresponding frames by performing the FRC operation.
5. In any one of paragraphs 1 to 4, The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: Check the location where the second user input is obtained within the above touch display (210), Based on the above location being the first location, by performing the FRC operation on the third frame being played back and the frames prior to the third frame through the touch display (210) when the second user input is acquired, interpolation frames are generated, and An electronic device (201) that generates interpolated frames by performing the FRC operation on the third frame and frames subsequent to the third frame based on the fact that the above position is a second position different from the above first position.
6. In any one of paragraphs 1 to 5, The second user input includes input entered by dragging on the touch display (210), The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: Obtain the direction and length of the above drag, Based on the direction of the drag being the first direction, when the second user input is acquired, the FRC operation is performed on the fourth frame being played back through the touch display (210) and the frames following the fourth frame to generate interpolated frames, and - for each of the fourth frame and the frames following the fourth frame, the number of interpolated frames to be interpolated between the frame and the frame following the frame corresponds to the length of the drag -, and Based on the direction of the drag being a second direction different from the first direction, interpolation frames are generated by performing the FRC operation on the fourth frame and frames prior to the fourth frame, For each of the fourth frame and the frames prior to the fourth frame, the number of interpolated frames to be interpolated between the frame and the frame following the frame corresponds to the length of the drag, the electronic device (201).
7. In any one of paragraphs 1 to 6, The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: Based on generating the interpolated frames, the first point of the video corresponding to the first frame among the corresponding frames and the second point of the video corresponding to the last frame among the corresponding frames are stored in the memory (220). Based on a third user input for storing a video combining the corresponding frames and the interpolated frames, the first point in time and the second point in time are identified, By performing the FRC operation from the first frame corresponding to the first time point to the last frame corresponding to the second time point, the interpolated frames are generated, and An electronic device (201) that stores the video combining the generated interpolated frames and the corresponding frames in the memory (220).
8. In any one of paragraphs 1 to 7, The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: Based on generating the interpolated frames, the fifth point of the video corresponding to the first frame among the corresponding frames and the sixth point of the video corresponding to the last frame among the corresponding frames are stored in the memory (220). Based on the fifth user input for storing a video combining the frames of the video stored in the memory (220) and the interpolated frames, the fifth time point and the sixth time point are confirmed, By performing the FRC operation from the first frame corresponding to the fifth time point to the last frame corresponding to the sixth time point, the interpolated frames are generated, and An electronic device (201) that stores the generated interpolated frames and the video combined with the frames in a memory (220).
9. In any one of paragraphs 1 to 8, The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: Based on the first user input, the video is played in the first area through the touch display (210), and thumbnail images corresponding to some frames of the video, which are determined based on the time at which the video is being played, are displayed in the second area. generating the interpolated frames by performing the FRC operation on the corresponding frames based on the second user input for the second region, and An electronic device (201) that reproduces the corresponding frames and the interpolated frames in the first area through the touch display (210), and displays thumbnail images of at least some of the corresponding frames and thumbnail images of at least some of the interpolated frames in the second area.
10. In any one of paragraphs 1 to 9, The second user input includes a user input for enlarging or reducing the video being played through the touch display (210). The above instructions, when individually or collectively executed by the processor (230), cause the electronic device (201) to: By performing the FRC operation on the corresponding enlarged or reduced frames based on the second user input, enlarged or reduced interpolated frames are generated, and An electronic device (201) that displays the corresponding enlarged or reduced frames and the enlarged or reduced interpolated frames through the touch display (210) while the second user input is maintained.
11. In the method, An operation of playing the video stored in the memory (220) of the electronic device (201) in a normal mode on a user interface through a touch display (210) of the electronic device (201) based on a first user input for playing the video; An operation of acquiring a second user input for playing back the video in the normal mode through the touch display (210) of the electronic device (201), wherein the second user input corresponds to a touch input to the touch display (210); An operation of generating interpolated frames by performing a frame rate conversion (FRC) operation on corresponding frames included in the video while the second user input is maintained on the touch display (210); An operation of playing the video in the slow motion mode by displaying the corresponding frames together with the generated health frames through the touch display (210) while the second user input is maintained on the touch display (210); and A method comprising: resuming the operation of playing the video in the normal mode through the touch display (210) based on the second user input being released from the touch display (210).
12. In paragraph 11, The second user input includes a long press input to the touch display (210), The corresponding frames are frames displayed on the touch display (210) during the time period from the time the long press input is acquired to the time the long press input is released within the video, and A method wherein the operation of resuming the operation of playing the video in the normal mode comprises an operation of playing frames subsequent to the last frame among the frames included in the video and displayed on the touch display (210) during the time period in the normal mode based on the release of the long press input.
13. In clause 11 or 12, The operation of generating the above interpolated frames is: An operation of generating one or more interpolation frames interpolated between the first frame and the second frame by performing the FRC operation based on the first frame being played back and the second frame following the first frame through the touch display (210) when the second user input is acquired, wherein the first frame and the second frame are included in the corresponding frames, and the one or more interpolation frames are included in the interpolation frames, and The action of playing the above video in slow motion mode is as follows: A method including an operation of sequentially playing the one or more interpolated frames and the second frame through the touch display (210) after the first frame is played.
14. In any one of paragraphs 11 to 13, The operation of generating the above interpolated frames is: An action of obtaining the intensity of pressure generated by the above touch; For each of the corresponding frames, an operation of determining a number of one or more interpolation frames to be interpolated between the frame and the frame following the frame, wherein the number of the one or more interpolation frames corresponds to the intensity of the pressure generated by the touch input; and A method comprising: performing the FRC operation, thereby generating, for each of the corresponding frames, one or more interpolated frames in the determined number.
15. In any one of paragraphs 11 to 14, The operation of generating the above interpolated frames is: An action of confirming the location where the second user input is acquired within the touch display (210); An operation of generating interpolated frames by performing the FRC operation on the third frame being played and the frames prior to the third frame through the touch display (210) based on the above position being the first position when the second user input is acquired; and A method comprising: generating interpolated frames by performing the FRC operation on the third frame and frames subsequent to the third frame based on the fact that the position is a second position different from the first position.
Citation Information
Patent Citations
Apparatus and methdo for making contents
KR101981955B1
Method for providing image, electronic apparatus and storage medium
KR102390809B1
Video recording method and electronic device
KR102488747B1
Electronic device displaying a interface for editing video data and method for controlling thereof
KR102512298B1
KR20230055506A