WO2022250439A1 - Streaming data-based method, server, and computer program for recommending image edit point - Google Patents

Streaming data-based method, server, and computer program for recommending image edit point Download PDF

Info

Publication number
WO2022250439A1
WO2022250439A1 PCT/KR2022/007394 KR2022007394W WO2022250439A1 WO 2022250439 A1 WO2022250439 A1 WO 2022250439A1 KR 2022007394 W KR2022007394 W KR 2022007394W WO 2022250439 A1 WO2022250439 A1 WO 2022250439A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
data
video
edit
streaming
Prior art date
Application number
PCT/KR2022/007394
Other languages
French (fr)
Korean (ko)
Inventor
이현우
추성훈
홍기용
최우진
Original Assignee
주식회사 잘라컴퍼니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 잘라컴퍼니 filed Critical 주식회사 잘라컴퍼니
Publication of WO2022250439A1 publication Critical patent/WO2022250439A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • H04N21/4394Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8545Content authoring for generating interactive applications

Definitions

  • Various embodiments of the present invention relate to a method for recommending video edit points based on streaming data, a server, and a computer program.
  • a single creator creates and exposes a highlight video by collecting, editing, and summarizing only interesting parts (highlight parts) from the original video in order to attract viewers' attention.
  • the basics of video editing are to explore and edit interesting parts that viewers who watch edited videos can enjoy, that is, the video editing method is still time-consuming, and the original video (or streaming video) that has been in progress for a long time. It is very difficult to monitor all and find edit points.
  • editing points are selected based on an editor's personal judgment, which increases monitoring time and judgment cost. That is, there is a concern that the subjective criterion of the editor is applied to the criterion for selecting the highlight section from the original video, and objectivity may be lacking, and the quality of the generated highlight video may vary depending on the editor's competency.
  • the problem to be solved by the present invention has been devised in response to the above background art, and is to provide recommendation information related to an image editing point based on streaming data.
  • the method may include obtaining streaming content information, obtaining edit frame information based on the streaming content information, and generating edit point recommendation information based on the edit frame information.
  • the streaming content information includes basic content information including information related to the user's broadcast content, streaming image data related to the broadcast content, and viewers related to reactions of a plurality of viewers watching the streaming image data. and streaming data including response data, wherein the edit frame information, which is information based on generating the edit point recommendation information, is applied to at least some of the plurality of video sub-data of the plurality of video sub-data constituting the streaming video data.
  • Related main video sub-data identification information and recommendation strength information corresponding to the main video sub-data identification information may be included.
  • the obtaining of the edit frame information may include obtaining first edit frame information through image analysis of the streaming image data, and second edit frame information through response analysis of the viewer response data.
  • the method may include acquiring information and obtaining the edited frame information by integrating the first edited frame information and the second edited frame information.
  • the obtaining of the edit frame information may include generating weight application information related to at least one of the first edit frame information and the second edit frame information based on the content basic information; and
  • the method may include acquiring the edit frame information by integrating the first edit frame information and the second edit frame information based on the weight application information.
  • the viewer response data includes information about the number of viewers watching the streaming video data, information about a chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and the streaming video data. At least one of donation information related to video data may be included, and the reaction analysis may be an analysis of a real-time variation of the viewer reaction data corresponding to the streaming video data.
  • the obtaining of the edit frame information may include one or more first main video sub-data corresponding to the first edit frame information and one or more second main video sub-data corresponding to the second edit frame information. It may be characterized in that a weight is assigned to the recommendation strength information based on the similarity of each viewpoint of data.
  • the edit point recommendation information is information on one or more recommended edit points related to the streaming video data, and includes one or more edit point recommendation sub information corresponding to each of the one or more recommended edit points
  • the generating of the edit point recommendation information may include: searching for one or more related sub-data identification information based on the one or more main video sub-data identification information included in the edit frame information; and identifying the one or more main video sub-data. and generating the one or more edit point recommendation sub information based on information and the one or more related sub data identification information, wherein each of the one or more related sub data identification information is at the beginning of each edit point recommended sub information. It may include related start frame information and end frame information related to the end of each edit point recommendation sub information.
  • the method further comprises generating and providing a video editing user interface based on the edit point recommendation information, wherein the video editing user interface includes the edit point recommendation information corresponding to the streaming video data. and a video editing screen that allows a user's adjustment input to the video editing screen, wherein the video editing screen is based on the recommendation strength information corresponding to each of the one or more edit point recommendation sub information.
  • each edit point may be characterized in that it is displayed through different visual expressions.
  • a computing device for performing a video edit point recommendation method based on streaming data.
  • the computing device includes a storage unit that stores one or more instructions and a processor that executes one or more instructions stored in the memory, and the processor executes the one or more instructions, thereby editing the video based on the streaming data.
  • a point recommendation method can be performed.
  • a computer program stored in a computer-readable recording medium is disclosed.
  • the computer program may be combined with a computer, which is hardware, to perform a video editing point recommendation method based on streaming data.
  • FIG. 1 is a conceptual diagram illustrating a system in which various aspects of a streaming data-based video edit point recommendation server related to an embodiment of the present invention can be implemented.
  • FIG. 2 shows a block diagram of a streaming data-based video edit point recommendation server related to an embodiment of the present invention.
  • FIG. 3 is an exemplary view illustrating a process of generating edit point recommendation information based on streaming content information related to an embodiment of the present invention.
  • FIG. 4 is an exemplary diagram illustrating an image editing user interface related to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram showing a method for training a classification model related to an embodiment of the present invention.
  • FIG. 6 is an exemplary diagram illustrating edit types classified into a plurality according to each user's style related to an embodiment of the present invention.
  • FIG. 7 is an exemplary view illustrating edit point recommendation information and edit point correction information related to an embodiment of the present invention.
  • FIG. 8 is a flowchart illustrating an exemplary embodiment of the present invention and a method for recommending video edit points based on streaming data.
  • FIG. 9 is a schematic diagram illustrating one or more network functions related to an embodiment of the present invention.
  • a component may be, but is not limited to, a procedure, processor, object, thread of execution, program, and/or computer running on a processor.
  • an application running on a computing device and a computing device may be components.
  • One or more components may reside within a processor and/or thread of execution.
  • a component can be localized within a single computer.
  • a component may be distributed between two or more computers. Also, these components can execute from various computer readable media having various data structures stored thereon.
  • Components may be connected, for example, via signals with one or more packets of data (e.g., data and/or signals from one component interacting with another component in a local system, distributed system) to other systems and over a network such as the Internet. data being transmitted) may communicate via local and/or remote processes.
  • packets of data e.g., data and/or signals from one component interacting with another component in a local system, distributed system
  • a network such as the Internet. data being transmitted
  • the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless otherwise specified or clear from the context, “X employs A or B” is intended to mean one of the natural inclusive substitutions. That is, X uses A; X uses B; Or, if X uses both A and B, "X uses either A or B" may apply to either of these cases. Also, the term “and/or” as used herein should be understood to refer to and include all possible combinations of one or more of the listed related items.
  • a computer means any kind of hardware device including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to an embodiment.
  • a computer may be understood as including a smartphone, a tablet PC, a desktop computer, a laptop computer, and user clients and applications running on each device, but is not limited thereto.
  • each step described in this specification is described as being performed by a computer, the subject of each step is not limited thereto, and at least a part of each step may be performed in different devices according to embodiments.
  • FIG. 1 is a conceptual diagram illustrating a system in which a streaming data-based video edit point recommendation server related to an embodiment of the present invention can be implemented.
  • a system may include a server 100, a user terminal 10, an external server 20, and a network.
  • Components shown in FIG. 1 are exemplary, and additional components may exist or some of the components shown in FIG. 1 may be omitted.
  • the server 100 according to embodiments of the present invention, the user terminal 10, and the external server 20 may mutually transmit and receive data for the system according to embodiments of the present invention through a network.
  • Networks include a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and Very High Speed DSL (VDSL). ), UADSL (Universal Asymmetric DSL), HDSL (High Bit Rate DSL), and various wired communication systems such as a local area network (LAN) may be used.
  • PSTN Public Switched Telephone Network
  • xDSL Digital Subscriber Line
  • RADSL Rate Adaptive DSL
  • MDSL Multi Rate DSL
  • VDSL Very High Speed DSL
  • UADSL Universal Asymmetric DSL
  • HDSL High Bit Rate DSL
  • LAN local area network
  • CDMA Code Division Multi Access
  • TDMA Time Division Multi Access
  • FDMA Frequency Division Multi Access
  • OFDMA Orthogonal Frequency Division Multi Access
  • SC-FDMA Single Carrier-FDMA
  • Various wireless communication systems may be used, such as different systems.
  • the network according to the embodiments of the present invention may be configured regardless of its communication mode, such as wired and wireless, and is composed of various communication networks such as a personal area network (PAN) and a wide area network (WAN). It can be.
  • the network may be the known World Wide Web (WWW), or may use a wireless transmission technology used for short-range communication, such as Infrared Data Association (IrDA) or Bluetooth.
  • IrDA Infrared Data Association
  • Bluetooth Bluetooth
  • user terminal 10 may refer to any type of node(s) in a system having a mechanism for communication with server 100 .
  • the user terminal 10 is a terminal that can receive edit point recommendation information for streaming content information (eg, streaming video) through information exchange with the server 100, and may refer to a terminal possessed by a user.
  • the user terminal 10 may be a terminal related to a streamer transmitting real-time video content or an editor in charge of editing a specific streamer.
  • the user terminal 10 may transmit various real-time contents, such as video and audio contents, for example, through a streaming server, and a plurality of viewers connect to the corresponding streaming server and transmit the real-time contents through the user terminal 10. can watch.
  • User terminal 10 may refer to any type of entity(s) in a system having a mechanism for communication with server 100 .
  • the user terminal 10 includes a personal computer (PC), a note book, a mobile terminal, a smart phone, a tablet PC, and a wearable device. and the like, and may include all types of terminals capable of accessing wired/wireless networks.
  • the user terminal 10 may include an arbitrary server implemented by at least one of an agent, an application programming interface (API), and a plug-in.
  • the user terminal 10 may include an application source and/or a client application.
  • the external server 20 may be a server that stores information related to a plurality of learning data for neural network learning.
  • the external server 20 may store information about editing styles of a plurality of streamers or information about content transmitted by each streamer.
  • the external server 20 may store information about a plurality of entire content videos corresponding to a plurality of streamers or a plurality of streamer terminals and an edited video (or highlight video) corresponding to each content video.
  • Information stored in the external server 20 can be used as learning data, verification data, and test data for training the neural network in the present invention.
  • the server 100 of the present invention may build a learning data set based on data received from the external server 20, and by learning a neural network model including one or more network functions through the training data set, An inventive editing style classification model, a style editing store recommendation model, or a custom editing store recommendation model may be created.
  • the external server 20 is a digital device, and may be a digital device equipped with a processor, memory, and arithmetic capability, such as a laptop computer, a notebook computer, a desktop computer, a web pad, and a mobile phone.
  • the external server 20 may be a web server that processes services.
  • the types of servers described above are only examples and the present disclosure is not limited thereto.
  • the external server 20 may be a streaming server.
  • Streaming server is a server that transmits real-time content through the Internet and provides viewing service by interconnecting real-time content related to each of a plurality of user (eg, streamer) terminals to each of a plurality of user (eg, viewer) terminals related to viewers can be
  • the streaming server may acquire viewer response data related to real-time content from each viewer terminal in relation to real-time content watched by each of a plurality of viewer terminals and transmit the obtained viewer response data to the server 100 .
  • a streaming server may be included in the server 100, and functions of transmitting content and providing information recommending edit points may be performed in one integrated server.
  • the server 100 may obtain viewer response data for real-time streaming content from a plurality of viewer terminals.
  • the server 100 may provide edit point recommendation information for the streaming content information 210 .
  • the streaming content information 210 includes streaming image data 220 related to broadcast content transmitted by a user (eg, a streamer) and viewer response data 230 related to a reaction of a plurality of viewers watching the corresponding image data.
  • the edit point recommendation information 610 is recommendation information related to a highlight section in which the fun factor appears most prominently among all frames of the corresponding video data, for example, sections in which viewers are most interested in the corresponding video data. It may be information about. That is, the server 100 may recommend and provide one or more edit points related to video data based on the real-time streaming content information 210 related to the user (ie, the streamer). Accordingly, after real-time streaming broadcasting, when producing an editing video related to the broadcast data, various editing points can be recommended and information related to understanding the flow of the video can be recommended, reducing editing time and improving the editor's editing efficiency. It can be.
  • the server 100 may generate an image editing user interface 300 according to embodiments of the present invention.
  • the server may be a computing system that provides information to clients (eg, user terminals) over a network.
  • the server 100 may transmit the generated video editing user interface 300 to the user terminal 10 .
  • the user terminal 10 may be any type of computing device capable of accessing the server 100 .
  • the processor 130 of the server 100 may transmit the video editing user interface 300 to the user terminal 10 through the network unit 110 .
  • the server 100 may be composed of a plurality of computing devices. In other words, a set of a plurality of nodes may constitute the server 100 .
  • the server 100 may be a server providing cloud computing services. More specifically, the server 100 is a kind of Internet-based computing and may be a server that provides a cloud computing service that processes information with another computer connected to the Internet rather than a user's computer.
  • the cloud computing service may be a service that stores data on the Internet and allows users to use the data stored on the Internet anytime and anywhere through Internet access without installing necessary data or programs on their computers. Easy to share and forward with just a click.
  • the cloud computing service not only simply stores data in a server on the Internet, but also allows users to perform desired tasks by using the functions of application programs provided on the web without installing a separate program. It may be a service that allows you to work while sharing.
  • the cloud computing service may be implemented in the form of at least one of Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), virtual machine-based cloud server, and container-based cloud server.
  • IaaS Infrastructure as a Service
  • PaaS Platform as a Service
  • SaaS Software as a Service
  • virtual machine-based cloud server virtual machine-based cloud server
  • container-based cloud server container-based cloud server.
  • the server 100 of the present invention may be implemented in the form of at least one of the aforementioned cloud computing services.
  • the specific description of the cloud computing service described above is just an example, and may include any platform for constructing the cloud computing environment of the present invention.
  • FIGS. 2 to 6 A detailed description of a learning method for a neural network in the present invention, a learning process, a method of constructing an editing style database, and a method of providing recommendation information for editing points based on streaming content information is provided with reference to FIGS. 2 to 6 below. Let me tell you later.
  • FIG. 2 shows a block diagram of a streaming data-based video edit point recommendation server related to an embodiment of the present invention.
  • the server 100 may include a network unit 110 , a memory 120 and a processor 130 .
  • the components included in the above-described server 100 are examples, and the scope of the present invention is not limited to the above-mentioned components. That is, additional components may be included or some of the above components may be omitted according to implementation aspects of the embodiments of the present invention.
  • the server 100 may include an external server 20 and a network unit 110 that transmits and receives data to and from the user terminal 10 .
  • the network unit 110 may transmit/receive streaming content information and edit point recommendation information corresponding to the streaming content information according to an embodiment of the present invention with at least one of the user terminal 10 and the external server 20 .
  • the server 100 may receive streaming content information 210 from the user terminal 10 through the network unit 110 .
  • the server 100 may transmit edit point recommendation information generated corresponding to the streaming content information to the user terminal 10 through the network unit 110 .
  • the server 100 may receive a training data set for learning a neural network from the external server 20 through the network unit 110 .
  • the network unit 110 may permit information transmission between the server 100, the external server 20, and the user terminal 10 by calling a procedure to the server 100.
  • the network unit 110 includes a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and VDSL ( Various wired communication systems such as Very High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and Local Area Network (LAN) may be used.
  • PSTN Public Switched Telephone Network
  • xDSL Digital Subscriber Line
  • RADSL Rate Adaptive DSL
  • MDSL Multi Rate DSL
  • VDSL Various wired communication systems such as Very High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and Local Area Network (LAN) may be used.
  • LAN Local Area Network
  • the network unit 110 presented in this specification includes Code Division Multi Access (CDMA), Time Division Multi Access (TDMA), Frequency Division Multi Access (FDMA), Orthogonal Frequency Division Multi Access (OFDMA), SC-FDMA ( Single Carrier-FDMA) and other systems.
  • CDMA Code Division Multi Access
  • TDMA Time Division Multi Access
  • FDMA Frequency Division Multi Access
  • OFDMA Orthogonal Frequency Division Multi Access
  • SC-FDMA Single Carrier-FDMA
  • the network unit 110 may be configured regardless of its communication mode, such as wired and wireless, and may be configured with various communication networks such as a personal area network (PAN) and a wide area network (WAN).
  • PAN personal area network
  • WAN wide area network
  • the network may be the known World Wide Web (WWW), or may use a wireless transmission technology used for short-range communication, such as Infrared Data Association (IrDA) or Bluetooth.
  • IrDA Infrared Data Association
  • Bluetooth Bluetooth
  • the memory 120 may store a computer program for performing a streaming data-based image editing point recommendation method, and the stored computer program may be read and driven by the processor 130 .
  • the memory 120 may store any type of information generated or determined by the processor 130 and any type of information received by the network unit 110 .
  • the memory 120 may store streaming content information or edit point recommendation information corresponding to the streaming content information.
  • the memory 120 stores input/output data (eg, edit frame information corresponding to streaming data, edit point recommendation information corresponding to the edit frame information, and user generated based on edit point recommendation information). interfaces, etc.) can be stored temporarily or permanently.
  • the memory 120 may store application programs for identifying edit frame information based on video data and viewer response data related to the video data.
  • the memory 120 may store a pretrained neural network model for providing a recommended editing point based on a personalized editing style corresponding to each streamer.
  • a specific description of the information stored in the aforementioned memory is only an example, and the present invention is not limited thereto.
  • the memory 120 is a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (eg, SD or XD memory, etc.), RAM (Random Access Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) -Only Memory), a magnetic memory, a magnetic disk, and an optical disk may include at least one type of storage medium.
  • the server 100 may operate in relation to a web storage performing a storage function of the memory 120 on the Internet.
  • the above description of the memory is only an example, and the present disclosure is not limited thereto.
  • the processor 130 may be composed of one or more cores, a central processing unit (CPU), and a general purpose graphics processing unit (GPGPU) of a computing device.
  • a processor for data analysis and deep learning such as a tensor processing unit (TPU).
  • the processor 130 may read a computer program stored in the memory 120 and perform data processing for deep learning according to an embodiment of the present invention. According to an embodiment of the present invention, the processor 130 may perform an operation for learning a neural network.
  • the processor 130 is used for neural network learning, such as processing input data for learning in deep learning (DL), extracting features from input data, calculating errors, and updating neural network weights using backpropagation. calculations can be performed.
  • At least one of CPU, GPGPU, and TPU may process learning of a network function.
  • the CPU and GPGPU can process learning of network functions and data classification using network functions.
  • the learning of a network function and data classification using a network function may be processed by using processors of a plurality of computing devices together.
  • a computer program executed in a computing device according to an embodiment of the present invention may be a CPU, GPGPU or TPU executable program.
  • network functions may be used interchangeably with artificial neural networks and neuron networks.
  • a network function may include one or more neural networks, and in this case, an output of the network function may be an ensemble of outputs of one or more neural networks.
  • the processor 130 may read the computer program stored in the memory 120 and provide an editing style classification model and a custom edit point recommendation model according to an embodiment of the present invention. According to an embodiment of the present invention, the processor 130 may generate edit point recommendation information corresponding to the user's streaming data information. According to an embodiment of the present invention, the processor 130 may perform calculations for training an editing style classification model and a custom edit point recommendation model.
  • the processor 130 may normally process the overall operation of the server 100 .
  • the processor 130 provides or processes appropriate information or functions to a user or user terminal by processing signals, data, information, etc. input or output through the components described above or by driving an application program stored in the memory 120. can do.
  • the processor 130 may obtain streaming content information 210 .
  • the streaming content information 210 may include basic content information and streaming data.
  • the basic content information may include information related to broadcast content of a user (ie, a streamer).
  • the basic content information may include information indicating that the streaming image data of the first user is related to at least one of game broadcasting content, outdoor broadcasting content, and communication broadcasting content.
  • the basic content information may further include information related to the name, age, and gender of a user (or streamer) transmitting streaming video data.
  • the detailed description of the above-described basic content information is only an example, and the present invention is not limited thereto.
  • Streaming data may include streaming image data 220 related to broadcast content and viewer response data 230 related to reactions of a plurality of viewers watching the corresponding image data.
  • the streaming image data 220 may be data related to an image comprising a plurality of image sub-data as a plurality of frames.
  • the viewer reaction data 230 may be data related to reactions of one or more viewers who watch streaming video data transmitted in real time.
  • the viewer response data 230 includes information on the number of viewers watching the streaming video data, information on chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and donation information related to the streaming video data. may include at least one of them.
  • the viewer reaction data 230 is a chat input received through a chat window from a first viewer terminal in relation to a first point in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal) It may be information about.
  • the viewer response data 230 is information about a donation input received from a second viewer terminal in relation to a second point in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal) can The detailed description of the above-described viewer response data is only an example, and the present invention is not limited thereto.
  • the processor 130 may obtain the edit frame information 240 based on the streaming content information 210 .
  • the edit frame information 240 may be information based on generating edit point recommendation information.
  • the edit frame information 240 may include main video sub-data identification information related to at least some video sub-data among a plurality of video sub-data constituting the video data and recommendation strength information corresponding to the main video sub-data identification information. have. That is, the edited frame information 240 may include identification information related to some frames (ie, main video sub-data) determined to be important among a plurality of frames constituting the video data and information about the degree of recommendation of the corresponding frame. can A detailed description of a process of obtaining the editing frame information 240 based on the streaming content information 210 will be described later with reference to FIG. 3 .
  • FIG. 3 illustrates an example diagram illustrating a process of generating edit point recommendation information 610 based on streaming content information 210 related to an embodiment of the present invention.
  • the streaming content information 210 may include streaming image data 220 and viewer response data 230, and the processor 130 may generate an image for the streaming image data 220.
  • Edit frame information 240 may be obtained based on the analysis 221 and the reaction analysis 231 for the viewer reaction data 230 .
  • the processor 130 may obtain the first edit frame information 222 through image analysis 221 of the streaming image data 220 .
  • the video analysis 221 of the streaming video data 220 may include voice analysis and video analysis of the streaming video data 220 .
  • a video analysis model and a sound analysis model may be used to detect or identify a specific frame in the streaming image data 220 .
  • the video analysis model may be a neural network model trained to detect a specific event (eg, a specific image frame) within a video.
  • the video analysis model may identify a frame related to a specific event within a game screen.
  • the video analysis model may identify frames related to a scene in which a player (eg, a streamer) kills another player or is killed by another player in relation to a first game.
  • the video analysis model may identify a frame related to a screen corresponding to a point in time when a player clears a specific stage during the first game play.
  • the detailed description of the specific frame identified through the above-described video analysis model is only an example, and the present disclosure is not limited thereto.
  • the acoustic analysis model may be a model that identifies a specific frame in the streaming image data 220 based on at least one of a change in the size of sound related to the streaming image data 220 or whether a specific keyword is detected.
  • the sound analysis model may identify a video frame related to a point in time when the sound of a game play or the sound of a user (ie, a streamer) rapidly increases in the audio data of the streaming video data 220.
  • the sound analysis model may identify a video frame related to a point in time when a specific game-related keyword is recognized in the audio data of the streaming video data 220 or when it detects that the user's speech is a specific keyword. .
  • the acoustic analysis model may identify a specific frame by detecting a moment when the first streamer screams (ie, a sound volume rapidly increases) in the streaming image data.
  • the sound analysis model may identify a specific frame by detecting a moment when a specific keyword (eg, pentakill) is recognized in relation to a game in streaming video data.
  • a specific keyword eg, pentakill
  • the acoustic analysis model may be a keyword recognition model constructed through one or more network functions and trained to implement a keyword spotting technique.
  • the keyword recognition model takes one or more features corresponding to audio data of streaming video data as an input and calculates a matching score between the audio data and a predetermined keyword, so that the audio data is a keyword for identifying a specific frame.
  • the keyword recognition model may be a deep neural network model that calculates a score corresponding to voice data based on one or more features related to a spectrogram corresponding to the voice data.
  • the processor 130 may obtain recommendation strength information corresponding to each main image sub-data included in the first edit frame information 222 .
  • the processor 130 may pre-map different recommendation strength information for each event. Accordingly, the processor 130 may obtain recommendation strength information corresponding to '8' in relation to the frame in which another player is killed (eg, the first video sub data), and in relation to the frame in which the player clears a specific stage. Accordingly, recommendation strength information corresponding to '3' may be obtained.
  • the processor 130 may obtain high recommendation strength information in response to a frame in which viewers are expected to be more interested in a video analysis process (eg, a frame related to an event affecting winning or losing a game).
  • the processor 130 may obtain different recommendation strength information for each frame in a sound analysis process. For example, in a sound analysis process, the processor 130 may obtain different recommendation strength information according to the size of sound corresponding to each frame (ie, image sub-data). For example, among the first video sub-data and the second video sub-data included in the first edit frame information 222, the volume of sound related to the first image sub-data is greater than the volume of sound related to the second image sub-data. In this case, the processor 130 may assign higher recommendation strength information to the first image sub-data than to the second image sub-data. For another example, the processor 130 may pre-map different recommendation strength information according to each recognized keyword, and correspondingly match and store different recommendation strength information for each frame.
  • the processor 130 executes the second video sub-data Recommendation intensity information higher than that of the first image sub data may be assigned to .
  • the detailed description of the aforementioned recommendation strength information is only an example to help understanding of the present invention, and the present invention is not limited thereto.
  • the processor 130 may obtain different recommendation strength information for each video sub-data included in the first edit frame information 222, match the obtained recommendation strength information with each video sub-data, and store the same.
  • the processor 130 may obtain the first edit frame information 222 through video analysis and voice analysis of the streaming image data 220 .
  • the first edit frame information 222 obtained by the processor 130 is a main video sub predicted to be of interest to viewers through video or audio analysis among a plurality of video sub data constituting the streaming video data 220. It may contain information about data.
  • the processor 130 may obtain the second edit frame information 232 through reaction analysis 231 for the viewer reaction data 230 .
  • the reaction analysis 231 may be an analysis related to a real-time variation of the viewer reaction data 230 corresponding to the video data.
  • the processor 130 may obtain the second edit frame information 232 through quantitative analysis related to the viewer response data 230 .
  • the processor 130 identifies frames related to points in time at which the viewer response data 230 is acquired above a predetermined threshold (ie, when chatting input is obtained at or above a set value) in the streaming video data, and second Edit frame information 232 may be obtained.
  • the predetermined threshold may be determined based on the number of viewers watching the streaming image data 220 .
  • a predetermined threshold may be set to 70, and at a second point in time when the number of viewers is 50, a predetermined threshold may be set to 35. . That is, when chatting is input from 70 or more viewers at a first time point, the processor 130 may identify video sub data corresponding to the corresponding time point as main video sub data.
  • the threshold serving as a criterion for identifying the second edit frame information 232 through quantitative analysis based on the number of viewer response data may be variably adjusted based on the number of viewers watching real-time content at each point in time.
  • the processor 130 may obtain second edit frame information based on frames related to a section in which the number of viewer response data is high compared to viewers in each section.
  • the processor 130 may obtain recommendation strength information corresponding to each main image sub-data included in the second edit frame information 232 .
  • the processor 130 may obtain recommendation strength information corresponding to each image sub-data based on a difference between each main image sub-data and a predetermined threshold. For example, when the difference between the video sub data and the predetermined threshold is large, the processor 130 may obtain high recommendation strength information corresponding to the corresponding video sub data. Conversely, when the difference between the video sub-data and the predetermined threshold is small, the processor 130 may obtain low recommendation strength information corresponding to the corresponding video sub-data.
  • the processor 130 may acquire recommendation strength information corresponding to the corresponding video sub-data as the difference between the video sub-data and the predetermined threshold increases.
  • the detailed description of the aforementioned recommendation strength information is only an example to help understanding of the present invention, and the present invention is not limited thereto.
  • the processor 130 may obtain the second edit frame information 232 through reaction analysis on the viewer reaction data 230 .
  • the second edit frame information 232 obtained by the processor 130 includes information about main video sub-data related to a section in which viewers responded a lot among a plurality of video sub-data constituting the streaming video data 220. can include
  • the processor 130 may obtain the edited frame information 240 by integrating the first edited frame information 222 and the second edited frame information 232 .
  • the first edit frame information 222 may include information about main video sub-data predicted to be of interest to viewers through video or audio analysis among a plurality of video sub-data constituting the streaming video data 220.
  • the second edit frame information 232 may include information about main video sub-data related to a section in which viewers responded a lot among a plurality of video sub-data constituting the streaming video data.
  • the streaming image data 220 may be composed of 60 frames (ie, 60 image sub-data).
  • the first edit frame information 222 obtained through the video analysis 221 of the streaming video data 220 includes the 5th video sub-data, the 11th video sub-data, the 17th video sub-data, and the 56th video sub-data. Information on image sub data may be included.
  • first edit frame information 222 indicating that main video sub data identification information that is predicted to attract viewers in the future is the same as above can be obtained. have.
  • the second edit frame information 232 obtained through the reaction analysis 231 for the viewer response data 230 includes information on the 11th video sub-data, the 27th video sub-data, and the 57th video sub-data.
  • can include through response analysis (ie, quantitative analysis of viewer response data), second edit frame information 232 indicating that the main video sub data identification information predicted in the section with the most viewer response is as described above is obtained.
  • the processor 130 may obtain the edited frame information 240 by integrating the first edited frame information 222 and the second edited frame information 232 .
  • the integrated and generated edit frame information 240 includes the fifth sub-data, the 11th sub-data, the 17th sub-data, the 27th sub-data, the 56th sub-data, and the 57th sub-data.
  • the edit frame information 240 may be obtained based on main image sub data identification information included in each of the first edit frame information 222 and the second edit frame information 232 .
  • the edit frame information 240 may be generated by including all or at least some of the image sub-data included in each edit frame information.
  • the processor 130 may obtain the edit frame information 240 based on some of a plurality of image sub-data through recommendation strength information corresponding to each image sub-data.
  • the detailed description of the image sub-data included in the above-described edit frame information is only an example to help understanding of the present invention, and the present invention is not limited thereto.
  • the processor 130 may generate weight application information related to at least one of the first edit frame information 222 and the second edit frame information 232 based on the basic content information.
  • the weight application information may be information related to applying a weight to video sub data (or main video sub data identification information) related to specific edit frame information. Applying a weight to the specific edit frame information may mean improving the probability that the edit frame information 240 is formed through image sub-data included in the specific edit frame information. In other words, as the probability of being included in the edit frame information 240 increases, the probability of being recommended to the user may increase. That is, the weighted edit frame information may affect recommendation strength (ie, recommendation strength information) corresponding to each image sub-data.
  • the processor 130 identifies basic content information corresponding to the streaming content information, and relates to at least one of the first edit frame information 222 and the second edit frame information 232 corresponding to the corresponding content basic information.
  • Weight application information can be created.
  • the processor 130 when basic content information of 'game broadcasting' is included in the streaming content information, the processor 130 provides weight application information for assigning a weight to the first edit frame information 222 based on the basic content information. can create For another example, when basic content information of 'communication broadcasting' is included in the streaming content information, the weight application information indicating that the processor 130 assigns a weight to the second edit frame information 232 based on the basic content information. can create In other words, when it is expected that main frames can be identified through image analysis of the streaming image data 220 (eg, when basic content information is a game broadcast), the processor 130 performs a first step related to the image analysis result. Weight application information for applying a weight to the edit frame information 222 may be generated.
  • Weight application information for applying a weight to the 2 edit frame information 232 may be generated. That is, the processor 130 identifies the basic content information and analyzes the frames identified through video analysis corresponding to specific streaming content information (ie, video sub-data included in the first edit frame information) and response (ie, Weight application information for assigning a weight to at least one of the frames identified through the image sub-data included in the first edit frame information may be generated.
  • the processor 130 may obtain the edited frame information 240 by integrating the first edited frame information 222 and the second edited frame information 232 based on the weight application information.
  • the probability that data included in the corresponding frame information is included in main image sub-data may be improved.
  • a weight may be assigned to each of one or more image sub-data included in the first edit frame information 222 based on weight application information indicating that a weight is applied to the first edit frame information 222 .
  • the probability that the one or more image sub-data to which a weight is assigned is obtained as the main image sub-data is greater than the one or more image sub-data to which a weight is not applied (ie, the one or more image sub-data included in the second edit frame information) this can be high
  • video sub-data included in specific frame information to which weights are applied increases the probability of being selected as main video sub-data, and video sub-data included in frame information to which weight is not applied. may lower the probability of being selected as main image sub-data.
  • the detailed description of the weight application described above is only an example, and the present invention is not limited thereto.
  • the processor 130 may determine which of image analysis and reaction analysis to obtain main image data by applying a weight according to the type of streaming content to be transmitted. In other words, by identifying basic content information and assigning weights to video sub-data that are expected to be reliable in analysis among the video analysis results and reaction analysis results, it is possible to ensure improvement in the reliability of recommended editing points.
  • the processor 130 assigns a weight to the recommendation strength information based on a viewpoint similarity between one or more image sub-data included in the first edit frame information 222 and the second edit frame information 232. can do. Specifically, the processor 130 generates one or more first main video sub-data corresponding to the first edit frame information 222 and one or more second main video sub-data corresponding to the second edit frame information 232, respectively. Based on the viewpoint similarity, a weight may be assigned to recommendation strength information. For example, assigning a weight to recommendation strength information increases the degree of recommendation for specific video sub-data, and may be to recognize that the specific video sub-data is related to a high interest factor.
  • the corresponding first video sub-data has a higher recommendation level than other video sub-data in the video editing process, and thus other video sub-data It can be displayed on the video editing user interface through a different color distinguished from .
  • the streaming image data 220 may be composed of 60 frames (ie, 60 image sub-data).
  • the first edit frame information 222 obtained through the video analysis 221 of the streaming video data 220 includes the 5th video sub-data, the 11th video sub-data, the 17th video sub-data, and the 56th video sub-data.
  • the second edit frame information 232 obtained through the reaction analysis 231 for the viewer response data 230 includes information on the 11th video sub-data, the 27th video sub-data, and the 57th video sub-data. can include
  • the processor 130 applies a large weight related to '10' to the recommendation strength information of the 11th image sub-data equally included in each of the first edit frame information 222 and the second edit frame information 232. can do.
  • recommendation intensity information related to the frame is identified by identifying similarities between the 56th video sub-data of the first edit frame information 222 and the 57th video sub-data of the second edit frame information 232 (ie, similar time points).
  • a weight related to '8' can be assigned to .
  • the processor 130 assigns a weight to recommendation strength information of each video sub-data. can do.
  • each video sub-data when the video sub-data perfectly matches each edit frame information, a large weight can be assigned to the corresponding video sub-data, and when the viewpoint difference between video sub-data is relatively close to each edit frame information, each video sub-data A weight may be assigned, and when similarity in view between video sub-data is not identified in each edit frame information, no weight may be assigned.
  • the detailed description of the above-described streaming video data, video sub-data, and video sub-data included in each frame information is only an example, and the present disclosure is not limited thereto.
  • the processor 130 may assign a weight to the recommendation strength information so that the recommendation strength related to the corresponding frame is improved.
  • recommendation strength information may be weighted with respect to the corresponding image sub-data.
  • edit point recommendation information 610 may be generated based on edit frame information.
  • the edit point recommendation information 610 may be information about one or more recommended edit points related to streaming video data.
  • the edit point recommendation information 610 may include one or more edit point recommendation sub information corresponding to each of one or more recommended edit points.
  • the edit point recommendation information 610 may be visualization information related to an edit point of streaming video data.
  • the edit point recommendation information 610 may be characterized in that different visualization expressions are assigned to each section according to the importance of each section.
  • the processor 130 may search for one or more pieces of related sub-data identification information based on one or more pieces of main image sub-data identification information included in the edit frame information 240 . Also, the processor 130 may generate one or more pieces of edit point recommendation sub information based on one or more main image sub data identification information and one or more related sub data identification information. In this case, each of the one or more pieces of related sub-data identification information may include start frame information related to the start of each edit point recommendation sub information and end frame information related to the end of each edit point recommendation sub information.
  • the processor 130 searches for one or more related sub-data identification information based on the one or more main video sub-data identification information included in the edit frame information 240, thereby editing point recommendation information including one or more edit points.
  • the editing point recommendation information includes first editing point recommendation information related to 1 minute and 30 seconds, second editing point recommendation information related to 5 minutes and 10 seconds, and 8 minutes. It may include recommendation information for a third editing point related to an invitation of 20 minutes.
  • the numerical description of the number of one or more pieces of edit point recommendation information included in the aforementioned edit point recommendation information and the time period of each edit point recommendation information is only an example, and the present invention is not limited thereto.
  • the 34th image sub-data and the 75th image sub-data may be selected to form main image sub-data.
  • one or more related sub-data related to each of the 34th image sub-data and the 75th image sub-data may be identified.
  • the 31st image sub-data to the 35th image sub-data may be identified.
  • the start frame may be the 31st image sub data
  • the end frame may be the 35th image sub data.
  • the 70th image sub-data and the 80th image sub-data may be identified.
  • the start frame may be the 70th image sub-data
  • the end frame may be the 80th image sub-data.
  • the processor 130 processes frames related to 31st to 35th (ie, 31st to 35th video sub-data) and 70 to 80 (ie, 70th to 70th video sub-data) among 100 total image sub-data.
  • Edit point recommendation information 610 may be generated based on a frame related to 80 image sub data).
  • the specific numerical description related to the image sub data described above is only an example, and the present invention is not limited thereto.
  • the processor 130 may generate edit point recommendation information 610 including different visual expressions for each section based on recommendation strength information corresponding to each of a plurality of image sub-data included in the edit frame information 240. have.
  • the recommendation intensity information corresponding to the first image sub-data is 'high'
  • the recommendation intensity information corresponding to the second video sub-data is 'medium'
  • the recommendation intensity information corresponding to the third video sub-data is 'high'.
  • the processor 130 displays the section corresponding to the first image sub-data in red
  • the corresponding section to the third image sub-data Edit point recommendation information can be created by expressing the section in yellow.
  • the description of the color expression corresponding to each section described above is only an example, and the edit point recommendation information of the present invention can be generated by including more diverse visual expressions.
  • the processor 130 may generate edit point recommendation information through different visual expressions according to recommendation strength information of each recommended edit point. Accordingly, when a user (ie, an editor) is provided with edit point recommendation information, a section that is strongly recommended (eg, a section marked in red) and a section that is weakly recommended (eg, a section marked in yellow) in the streaming video data ) can be visually easily recognized, so editing efficiency can be improved.
  • a section that is strongly recommended eg, a section marked in red
  • a section that is weakly recommended eg, a section marked in yellow
  • the processor 130 may generate and provide the video editing user interface 300 based on the edit point recommendation information 610 .
  • the video editing user interface 300 may include a video editing screen 340 including edit point recommendation information corresponding to streaming video data.
  • the video editing user interface 300 may allow a user's adjustment input to the video editing screen 340 .
  • the adjustment input may include at least one of a length adjustment input related to each edit point recommendation sub information, a removal input related to each edit point recommendation sub information, and an additional frame generation input.
  • the video editing screen 340 may display each edit point through different visual expressions based on recommendation strength information corresponding to one or more pieces of edit point recommendation sub information.
  • edit point recommendation information may be displayed on the video editing screen 340 .
  • each of one or more edit points included in the edit point recommendation information may be displayed on the image editing screen 340 through different visual expressions according to the recommendation strength information. Accordingly, the user can intuitively recognize information (eg, recommendation strength information) on main editing sections through edit point recommendation information (ie, visualization information), so that editing efficiency can be improved.
  • information eg, recommendation strength information
  • edit point recommendation information ie, visualization information
  • the video editing screen 340 may display at least one of chatting data change amount, video change amount, and audio data change amount corresponding to each edit point.
  • the video editing screen 340 may display information related to the number of occurrences or size of voice data of the streamer for each viewpoint corresponding to each recommended editing point (ie, one or more recommended sub-information of the editing point).
  • the video editing screen 340 may display information related to whether a specific video event related to the streamer's play for each viewpoint has occurred in correspondence to each recommended editing point.
  • information related to the amount of change in the number of chatting inputs of viewers for each viewpoint may be displayed on the video editing screen 340 in correspondence with each recommended editing point.
  • the detailed description of the information displayed on the above-described video editing screen is only an example, and the present invention is not limited thereto.
  • the video editing user interface 300 may include a video data playback screen 310 .
  • the video data playback screen 310 may be a screen for reproducing at least a portion of streaming video data.
  • the video data playback screen 310 may reproduce a section of streaming video data in response to a user's manipulation on the video editing screen 340 .
  • the video data playback screen 310 may display a video frame corresponding to a user's input to increase or decrease a specific recommended editing section on the video editing screen 340 .
  • the user may be provided with a video related to the recommended editing point through the video data reproduction screen 310 . Accordingly, since images related to each recommended editing point can be easily recognized, editing efficiency can be improved. Additionally, in the process of finely editing a specific editing section, the user's video editing efficiency can be further improved by displaying an image frame corresponding to the user's adjustment input on the image data reproduction screen 310 .
  • the video editing user interface 300 may include an event display screen 320 .
  • the event display screen 320 may display information about a start frame and an end frame of each of a plurality of edit point recommendation sub information included in the edit point recommendation information.
  • the event display screen 320 may display information about an event type corresponding to each edit point recommendation sub information.
  • the event type may be identified through video analysis related to video analysis and audio analysis. For example, as shown in FIG. 4 , on the event display screen 320, event type information indicating that a specific edit point recommendation (ie, specific edit point recommendation sub information) corresponds to 'engagement' in the game and that the corresponding event is 01 It can be displayed that it progressed from :05:55 to 01:06:10.
  • the specific description related to the information displayed on the above-described event display screen is only an example, and the present invention is not limited thereto. That is, through the information displayed on the event display screen 320, the user can easily grasp the type of event related to each section in the editing process. In other words, based on the information provided through the event display screen 320, the user can easily identify only the necessary section, so editing efficiency can be improved, such as reducing editing time.
  • the video editing user interface 300 may include a reference information display screen 330 .
  • the reference information display screen 330 may display information related to a confidence level for each section and frequently exposed keywords for each section.
  • the frequently exposed keyword for each section may be related to a keyword most exposed as a result of sound analysis related to a streamer or a voice related to a game.
  • frequently exposed keywords for each section may be related to keywords exposed the most as a result of viewer response analysis (ie, keywords exposed in chatting windows). That is, the reference information display screen 330 may display information related to keywords frequently used by streamers for each section during broadcasting or keywords frequently mentioned by viewers for each section during broadcasting. This can improve convenience in the process of searching for a specific section by providing information on keywords for each section in the editing process of streaming video data.
  • the video editing user interface 300 including edit point recommendation information, it is possible to improve the user's editing efficiency. Additionally, through various screens included in the video editing user interface 300, it is possible to recognize the reaction of each section of the viewer terminals who watched real-time content, and based on this, it is possible to provide an effect of improving the efficiency of editing video production. . In other words, it is possible to present a direction of individuality for content by making it easier to recognize viewers' reactions through section-by-section reactions, and overall editing efficiency can be improved by reducing the editor's editing time.
  • the processor 130 may acquire a plurality of streaming content information and a plurality of editing history information corresponding to each of a plurality of users to build an editing style database.
  • a plurality of users may mean a plurality of streamers each transmitting various real-time contents such as video and audio contents through a streaming server.
  • Streaming content information may include basic content information and streaming data.
  • Basic content information may include information related to broadcast content of a user (ie, a streamer).
  • the basic content information may include information indicating that the streaming image data of the first user is related to at least one of game broadcasting content, outdoor broadcasting content, and communication broadcasting content.
  • the basic content information may further include information related to the name, age, and gender of a user (or streamer) transmitting streaming video data.
  • the detailed description of the above-described basic content information is only an example, and the present invention is not limited thereto.
  • Streaming data may include streaming image data related to broadcast content and viewer response data related to reactions of a plurality of viewers watching the corresponding image data.
  • the streaming image data may be data related to an image comprising a plurality of image sub-data as a plurality of frames.
  • Viewer reaction data may be data related to reactions of one or more viewers who watch streaming video data transmitted in real time.
  • the viewer response data may include at least one of information on the number of viewers watching the streaming video data, information on chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and donation information related to the streaming video data.
  • the viewer response data is information about a chat input received through a chat window from a first viewer terminal in relation to a first point in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal) can be
  • the viewer response data may be information about a donation input received from a second viewer terminal in relation to a second viewpoint in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal).
  • the detailed description of the above-described viewer response data is only an example, and the present invention is not limited thereto.
  • each of the pieces of edit history information may include edit point recommendation information 610 and edit point correction information corresponding to the edit point recommendation information 610 .
  • the editing history information may include edit point recommendation information 610 provided from the server 100 of the present invention and edit point correction information in which the user actually decides to edit based on the corresponding edit point recommendation information 610. .
  • Such editing history information may be meaningful information for understanding each user's editing style.
  • the edit point recommendation information 610 may be visualization information obtained through video analysis and reaction analysis on streaming content information.
  • the edit point recommendation information 610 may be visualization information in which each of one or more edit points is expressed through different visual expressions according to recommendation strength information.
  • the edit point recommendation information 610 may be visualization information displayed in different colors according to the strength of recommendation for each section corresponding to all streaming video data.
  • the edit point recommendation information 610 is recommendation information related to a highlight section in which the fun factor appears most prominently among all frames of the streaming video data. It may be visualization information expressed differently from other sections.
  • the edit point correction information 620 may be generated through correction (or modification) of the edit point recommendation information 610 .
  • the edit point recommendation information 610 may be included in the video editing user interface 300 and provided to the user, and may be changed according to various adjustment inputs of the user (eg, deletion, section length adjustment, addition, etc.) have.
  • the user may delete a section from the recommended edit point recommendation information 610 corresponding to the streaming video data through an adjustment input through the video editing user interface 300 .
  • the user may adjust the length of one section or change the recommendation strength in the recommended editing point recommendation information 610 in response to the streaming video data through an adjustment input through the video editing user interface 300.
  • the user may add a new frame as a main section in the recommended editing point recommendation information 610 corresponding to the streaming video data through the video editing user interface 300 . That is, as various user adjustment inputs are applied to the edit point recommendation information 610 through the video editing user interface 300 , the edit point correction information 620 may be generated. In other words, the edit point correction information 620 may be related to information on which the user has actually decided to edit, corresponding to the recommended edit point recommendation information 610 . For a more specific example, the edit point correction information 620 acquired in correspondence with the edit point recommendation information 610 may be as shown in FIG. 7 .
  • the processor 130 may perform clustering on the editing style database.
  • the processor 130 may classify each of a plurality of pieces of streaming content information and a plurality of pieces of editing history information into one or more clusters, respectively.
  • each of one or more clusters may be a criterion for classifying the editing style of each of a plurality of users.
  • the processor 130 may perform pre-processing on data included in the editing style database.
  • the editing style database may include a plurality of streaming content data and a plurality of editing history information corresponding to each of a plurality of users.
  • the processor 130 determines various elements constituting the plurality of streaming content data and the plurality of editing history information (eg, broadcast type, streamer's gender, age, viewer information, number of edit point marker manipulations, difference between editing history information, etc. ), data corresponding to each user (ie, streaming content data and editing history information) may be vectorized.
  • the processor 130 may vectorize and display data corresponding to each user in n*m dimensions through a dimension reduction network function (eg, an encoder).
  • the dimensionality reduction network function may extract features (ie, embeddings on a vector space) by taking each user's data as an input.
  • the processor 130 may determine an optimal feature through principle component analysis (PCA).
  • PCA principle component analysis
  • the processor 130 may perform clustering by classifying features embedded in the vector space into one or more clusters based on a k-means algorithm. For example, the processor 130 may set k centroids based on initial clusters formed by vectorized features corresponding to a plurality of elements constituting streaming content data and editing history information. After setting k centroids, the processor 130 may allocate centroids based on distances between clusters formed by each element. In other words, each centroid can be assigned to a position close to each element. Thereafter, the processor 130 may update each centroid by moving each centroid to the center of the cluster corresponding to each cluster.
  • the processor 130 may optimize the algorithm by repeating the process of assigning and updating centroids until the cluster assignment does not change or until a predetermined tolerance or maximum number of iterations is reached. For example, the processor 130 may perform optimization by identifying that the allowable error value for the amount of change returns to within a certain level while repeatedly calculating the sum of squared errors whenever the centroid changes.
  • the processor 130 may classify a plurality of streaming content data and a plurality of editing history information into one or more clusters, respectively.
  • the processor performs clustering based on the k-means algorithm, but this is only an example and the present invention is not limited thereto.
  • the clustering of the present invention may be performed through DBSCAN or Gaussian Mixture Model, which allocates clusters based on density.
  • the processor 130 may classify a plurality of streaming content data and a plurality of editing history information into one or more clusters, respectively, by utilizing a classification model.
  • a method of performing clustering using a classification model will be described below with reference to FIG. 5 .
  • the classification model of the present invention can be learned by the processor 130 to form a cluster between similar data on the sea space 400 . More specifically, in the classification model, target data 401 and target similar data 402 are included in one cluster 410, and target dissimilar data 403 is different from target data 401 and target similar data 402. It can be learned to be included in different clusters. In the sea space of the learned classification model, each cluster may be positioned to have a certain distance margin 420 .
  • the classification model receives a subset of learning data including target data 401, target similar data 402, and target dissimilar data 403, maps each data to the sea space, and obtains labeled cluster information in the sea space
  • the weights of one or more network functions included in the classification model can be updated so that they can be clustered according to . That is, in the classification model, the target data 401, the target similar data 402, and the target dissimilar data 403 such that the distances of the target data 401 and the target similar data 402 in the sea space become close to each other. ) can be trained so that the distances in the solution space between them become farther apart from each other.
  • Classification models can be trained using, for example, triplet-based cost functions.
  • the triplet-based cost function aims to separate pairs of input data of the same class from third input data of different classes, and determines the first distance between pairs of input data of the same class (i.e., the size of the cluster 410); A difference value between a second distance (ie, 401 or the distance between 402 and 403) between one of the pairs of input data of the same classification and the third input data is at least a distance margin 420, and the classification model is learned. A method of doing this includes reducing the first distance below a certain percentage of the distance margin.
  • the distance margin 420 can always be a positive number.
  • Weights of one or more network functions included in the classification model may be updated to reach the distance margin 420, and the weight update may be performed per iteration or per epoch.
  • the classification model can be learned as a magnet loss-based model that can consider not only cluster classification of dissimilar data, but also a semantic relationship between individual data in one cluster or another cluster.
  • the initial distance between the center points of each cluster on the solution space of the classification model may be modified in the learning process.
  • the classification model may adjust the location of each data on the sea space based on the cluster to which each data belongs and the similarity with the data inside and outside the cluster.
  • the processor 130 may train a classification model to classify a plurality of streaming content data and a plurality of editing history information into one or more clusters, respectively.
  • the sea space 400 shown in FIG. 5 is only an example, and the classification model may include an arbitrary number of clusters and an arbitrary number of data for each cluster.
  • the shape of the data (431, 433, 441, 443, etc.) included in the cluster shown in FIG. 5 is only an example to indicate similar data.
  • the sea space is composed of one or more dimensional space and includes one or more clusters, and each cluster is configured based on the location of feature data based on each target data and feature data based on target similar data in the sea space. It can be.
  • the first cluster 430 and the second cluster 440 may be clusters for dissimilar data.
  • the third cluster 450 may be a cluster for data dissimilar to the first and second clusters.
  • the distances 445 and 435 between clusters may be measures representing differences in data belonging to each cluster.
  • the twelfth distance 445 between the first cluster 430 and the second cluster 440 may be a measure representing a difference between data belonging to the first cluster 430 and data belonging to the second cluster 440 .
  • the thirteenth distance 435 between the first cluster 430 and the second cluster 440 may be a measure representing a difference between data belonging to the first cluster 430 and data belonging to the third cluster 450. have.
  • data belonging to the first cluster 430 may be more similar to data belonging to the second cluster 440 than data belonging to the third cluster 450 . That is, when the distance between clusters is long, data belonging to each cluster may be more dissimilar, and when the distance between clusters is short, data belonging to each cluster may be less dissimilar.
  • the distances 435 and 445 between the clusters may be greater than a predetermined ratio or greater than the radius of the clusters.
  • the processor 130 calculates input data (ie, a plurality of streaming content information and a plurality of editing history information corresponding to each user) using a classification model, whereby the feature data of the input data is mapped to the sea space of the classification model. Based on the input data can be classified.
  • the processor 130 may process input data using a pre-learned classification model, thereby mapping feature data of the input data to the solution space of the pre-learned classification model.
  • the processor 130 may classify the input data based on which cluster among one or more clusters in the sea space the input data belongs to based on the location of the input data in the sea space.
  • the processor 130 may generate one or more clusters by clustering a plurality of streaming content data and a plurality of editing history information through the learned classification model.
  • Each of one or more clusters may be a criterion for classifying editing styles of each of a plurality of users. That is, each cluster may be associated with each of various editing styles.
  • one or more clusters generated according to classification through a classification model may be as shown in FIG. 6 .
  • One or more clusters may include edit type A (511), edit type B (512), and edit type C (513).
  • a plurality of streaming content data and a plurality of edit history information may be classified into edit type A 511 , edit type B 512 , and edit type C 513 through a classification model.
  • the editing type A 511 may include data related to a broadcasting type of 'League of Legends', an hourly chatting frequency of 10000 to 20000, and an editing operation degree of 'low'.
  • editing type B 512 may include data related to a broadcasting type of 'battleground', a chatting frequency per hour of 2000 to 4000, and an editing manipulation degree of 'medium'.
  • editing type C (513) may include data related to a broadcasting type of 'communication', a chatting frequency per hour of 300 to 500, and an editing operation degree of 'high'.
  • the processor 130 may perform clustering by classifying each of the plurality of streaming content information and the plurality of editing history information into one or more clusters.
  • the processor 130 may generate an editing style classification model based on a clustering result.
  • the processor 130 generates a plurality of learning input data based on a plurality of streaming content information and a plurality of editing history information, and based on each of one or more clusters corresponding to each streaming content information and a plurality of editing history information.
  • a plurality of learning output data can be generated.
  • the processor may build a learning data set by matching and labeling each learning output data set corresponding to each learning input data.
  • the processor 130 may generate an editing style classification model by performing learning on one or more network functions through a training data set. Accordingly, the generated editing style classification model may derive a specific cluster (ie, editing style information) by taking streaming content information and editing history information of a specific user as inputs.
  • the processor 130 may generate one or more style edit point recommendation models corresponding to each cluster based on a plurality of edit history information included in each cluster. More specifically, the editing history information may include edit point recommendation information 610 and edit point correction information 620 corresponding to the edit point recommendation information 610 .
  • the editing history information includes edit point recommendation information 610 provided from the server 100 of the present invention and edit point correction information 620 in which the user actually confirmed editing based on the corresponding edit point recommendation information 610. can do.
  • Such editing history information may be meaningful information for understanding each user's editing style.
  • the processor 130 may construct a plurality of learning input data based on a plurality of edit point recommendation information included in each cluster, and may construct a plurality of learning output data based on a plurality of edit point correction information.
  • the processor 130 may construct a learning data set corresponding to each cluster by matching and labeling a plurality of learning output data corresponding to a plurality of learning input data. That is, a learning data set related to edit point recommendation information and edit point correction information can be constructed for each cluster.
  • the processor 130 may generate one or more style edit point recommendation models by performing learning on the neural network through each of one or more training data sets corresponding to each cluster.
  • the processor 130 may generate one or more style edit point recommendation models corresponding to each cluster (or each edit type) as shown in FIG. 6 .
  • the processor 130 generates a first style edit point recommendation model 521 corresponding to a cluster related to edit type A 511, and a second style edit point recommendation model corresponding to a cluster related to edit type B 512. 522 may be generated, and a third style edit point recommendation model 523 may be generated corresponding to the cluster related to the edit type C 513 .
  • each style edit point recommendation model may be a neural network model generated by learning using data included in each cluster as training data. That is, each style edit point recommendation model can perform a more appropriate prediction with respect to each cluster (ie, each edit type). That is, each of the one or more style edit point recommendation models generated corresponding to each cluster may recommend different edit frames corresponding to one piece of streaming content information.
  • the specific description of the above-described editing type is only an example, and the present invention is not limited thereto.
  • the processor 130 may obtain first streaming content information of a first user.
  • the first streaming content information may include first content basic information and first streaming data related to the first user.
  • the first streaming data may include first streaming image data and first viewer response data.
  • the processor 130 may generate first edit point recommendation information based on the first streaming content information.
  • the processor 130 obtains first editing frame information related to a recommended editing point in the video through video analysis (including video analysis and sound analysis) related to the first streaming video data and reaction analysis on the first viewer response data. and first edit point recommendation information may be generated based on the corresponding first edit frame information.
  • the first edit point recommendation information may be visualization information displayed in different colors according to the recommendation intensity for each section corresponding to the entire streaming video data.
  • the processor 130 may identify a first cluster corresponding to the first streaming content information by utilizing an editing style classification model.
  • the editing style classification model may be a neural network model trained to derive a first cluster (ie, first editing style information) corresponding to streaming content information of a specific user as an input.
  • the processor 130 may perform correction on the first edit point recommendation information by utilizing the first style edit point recommendation model corresponding to the first cluster.
  • the first style edit point recommendation model may be a neural network model learned through the training data set included in the first cluster. That is, the first-style edit point recommendation model may perform a more appropriate prediction with respect to the first cluster.
  • the processor 130 may obtain corrected first edit point recommendation information by inputting the first edit point recommendation information to the first style edit point recommendation model corresponding to the first cluster. That is, corrected first edit point recommendation information corresponding to first edit point recommendation information, which is visualization information recommended through image analysis and reaction analysis, may be derived. That is, first, through video analysis and response analysis, first edit point recommendation information related to editing point recommendation is generated, and then, a neural network model corresponding to a cluster having a similar editing style to the corresponding user (i.e., style editing Corrected first edit point recommendation information may be generated by secondarily correcting the first edit point recommendation information through the point recommendation model).
  • the corrected first edit point recommendation information is derived through a neural network model that has completed learning through learning data included in the first cluster, and may reflect an editing style corresponding to the first cluster. Also, the processor 130 may generate and provide an image editing user interface based on the corrected first edit point recommendation information.
  • the video editing user interface 300 may include a video editing screen 340 including edit point recommendation information, and allow a user's adjustment input to the video editing screen 340. That is, through video analysis and reaction analysis, a recommended editing point is derived from the video data, and the recommended editing point is corrected and provided based on information of other users who have a similar editing style to the user. can do. Accordingly, since the user can be provided with more sophisticated recommended editing points, editing efficiency can be maximized.
  • the processor 130 obtains first edit point correction information corresponding to the corrected first edit point recommendation information based on a user's adjustment input to the video editing user interface 300.
  • the adjustment input may include, for example, at least one of a frame length adjustment input, a frame removal input, and an additional frame generation input.
  • the first edit point correction information may be visualization information about edit contents actually determined by the first user in correspondence to the recommended edit points (ie, corrected first edit point recommendation information).
  • the first edit point correction information may include visualization information different from the edit point recommendation information corrected as existing recommended edit points are adjusted or deleted or new edit points are inserted.
  • the processor 130 may obtain first editing history information related to the first user based on the corrected first edit point recommendation information and the first edit point correction information. Also, the processor 130 may build a first user database through the first editing history information. In addition, the processor 130 may generate a customized edit point recommendation model by performing an update on the first style edit point recommendation model by utilizing the first user database.
  • the custom edit point recommendation model may be a neural network model additionally learned based on continuously accumulated editing history information related to the first user (ie, an additionally learned style edit point recommendation model). That is, each user's editing history content is continuously accumulated in each user's database, and as the editing history content of the corresponding user is continuously reflected in the learning of the neural network model, the edit point recommendation model can be advanced over time.
  • each of a plurality of users may be provided with a recommended editing point optimized for them. This can provide an effect of improving editing efficiency by causing a significant reduction in editing time.
  • a detailed description of a method for providing an advanced neural network through accumulated information corresponding to each user will be described later.
  • the processor 130 may acquire a plurality of streaming content information and a plurality of editing history information corresponding to each of a plurality of users to build an editing style database.
  • Streaming content information may include basic content information and streaming data.
  • Basic content information may include information related to broadcast content of a user (ie, a streamer).
  • the basic content information may include information indicating that the streaming image data of the first user is related to at least one of game broadcasting content, outdoor broadcasting content, and communication broadcasting content.
  • the basic content information may further include information related to the name, age, and gender of a user (or streamer) transmitting streaming video data.
  • the detailed description of the above-described basic content information is only an example, and the present invention is not limited thereto.
  • Streaming data may include streaming image data related to broadcast content and viewer response data related to reactions of a plurality of viewers watching the corresponding image data.
  • the streaming image data may be data related to an image comprising a plurality of image sub-data as a plurality of frames.
  • Viewer reaction data may be data related to reactions of one or more viewers who watch streaming video data transmitted in real time.
  • the viewer response data may include at least one of information on the number of viewers watching the streaming video data, information on chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and donation information related to the streaming video data.
  • the viewer response data is information about a chat input received through a chat window from a first viewer terminal in relation to a first point in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal) can be
  • the viewer response data may be information about a donation input received from a second viewer terminal in relation to a second viewpoint in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal).
  • the detailed description of the above-described viewer response data is only an example, and the present invention is not limited thereto.
  • each of the plurality of pieces of edit history information may include edit point recommendation information 610 and edit point correction information 620 corresponding to the edit point recommendation information 610 .
  • the editing history information includes edit point recommendation information 610 provided from the server 100 of the present invention and edit point correction information 620 in which the user actually confirmed editing based on the corresponding edit point recommendation information 610. can do.
  • Such editing history information may be meaningful information for understanding each user's editing style.
  • the edit point recommendation information 610 may be visualization information obtained through video analysis and reaction analysis on streaming content information.
  • the edit point recommendation information 610 may be visualization information in which each of one or more edit points is expressed through different visual expressions according to recommendation strength information.
  • the edit point recommendation information 610 may be visualization information displayed in different colors according to the strength of recommendation for each section corresponding to all streaming video data.
  • the edit point recommendation information 610 is recommendation information related to a highlight section in which the fun factor appears most prominently among all frames of the streaming video data. It may be visualization information expressed differently from other sections.
  • the edit point correction information 620 may be generated through correction (or correction) of the edit point recommendation information 610 .
  • the edit point recommendation information 610 may be included in the video editing user interface 300 and provided to the user, and may be changed according to various adjustment inputs of the user (eg, deletion, section length adjustment, addition, etc.) have.
  • the user may delete a section from the recommended edit point recommendation information 610 corresponding to the streaming video data through an adjustment input through the video editing user interface 300 .
  • the user may adjust the length of a section or change the recommendation strength in the recommended edit point recommendation information 610 in response to the streaming video data through an adjustment input through the video editing user interface 300.
  • the user may add a new frame as a main section in the recommended editing point recommendation information 610 corresponding to the streaming video data through the video editing user interface 300 .
  • edit point correction information 620 may be generated as a user's various adjustment inputs are applied to the edit point recommendation information 610 through the video editing user interface 300 .
  • the edit point correction information 620 may be related to information on which the user has actually decided to edit, corresponding to the recommended edit point recommendation information 610 .
  • the edit point correction information 620 acquired in correspondence with the edit point recommendation information 610 may be as shown in FIG. 7 .
  • the processor 130 may obtain a training data set through an editing style database.
  • the processor 130 may generate a plurality of learning input data based on a plurality of edit point recommendation information corresponding to each user.
  • the processor 130 may generate a plurality of learning output data based on a plurality of edit point correction information corresponding to each user.
  • the processor 130 may build one or more subsets of learning data for each user by matching each learning output data corresponding to each learning input data.
  • the processor 130 may match learning input data and learning output data corresponding to each user.
  • the learning input data may be characterized as a feature corresponding to a pixel value of the edit point recommendation information
  • the learning output data may be characterized as a feature corresponding to a pixel value of the edit point correction information.
  • each of the plurality of learning input data may be a plurality of features (n*m) corresponding to pixel values of each of the plurality of edit point recommendation information
  • each of the plurality of learning output data may be each of the plurality of edit point correction information. It may be a plurality of features (n*m) corresponding to pixel values of .
  • the processor 130 may obtain a plurality of pieces of editing style information corresponding to each of a plurality of users.
  • a plurality of pieces of editing style information corresponding to each of a plurality of users may be obtained through an editing style classification model.
  • the editing style classification model may derive a specific cluster (ie, editing style information) by taking streaming content information and editing history information of a specific user as inputs.
  • the editing style classification model may classify the corresponding first user as editing type A based on the first user's streaming content information. That is, editing style information of the first user called editing type A may be obtained.
  • the specific description of the above-described editing style information is only an example, and the present invention is not limited thereto.
  • the processor 130 may generate learning input data based on a plurality of edit point recommendation information and a plurality of editing style information corresponding to each user.
  • the processor 130 may generate a plurality of learning output data based on a plurality of edit point correction information corresponding to each user.
  • the processor 130 may build one or more subsets of learning data for each user by matching each learning output data corresponding to each learning input data.
  • the learning input data is a feature corresponding to the pixel value of the edit point recommendation information and the feature value of the editing style information
  • the learning output data is a feature corresponding to the pixel value of the edit point correction information.
  • each of the plurality of learning input data may be a plurality of features (n*m+1) corresponding to a pixel value of each of a plurality of edit point recommendation information and a feature value of each of a plurality of editing style information.
  • Each of the output data may be a plurality of features (n*m) corresponding to a pixel value of each of a plurality of edit point correction information.
  • Data related to input may be n*m+1 as editing style information is additionally considered, and data related to output may be n*m corresponding to image pixels.
  • One or more subsets of learning data for each user may be generated by the processor 130 .
  • the first training data subset may be a set of data related to the first user (eg, first edit point recommendation information and first edit point correction information related to the first user)
  • the second training data subset may be a set of data related to the second user (eg, second edit point recommendation information and second edit point correction information related to the second user).
  • the processor 130 may generate a plurality of customized edit point recommendation models corresponding to each of a plurality of users. Specifically, the processor 130 may generate a plurality of customized edit point recommendation models corresponding to each of a plurality of users by performing learning on one or more network functions through a training data set. In detail, by performing learning on each neural network through each training data subset corresponding to each user, a plurality of customized edit point recommendation models may be generated in correspondence with each user. For example, the processor 130 may generate a first customized edit point recommendation model by performing learning on a neural network through a first training data subset related to a first user.
  • each of the plurality of custom edit point recommendation models may be a neural network model that derives corrected edit point recommendation information corresponding to the edit point recommendation information by performing image analysis on the edit point recommendation information corresponding to each of the plurality of users. have.
  • each custom edit point recommendation model is learned through different training data sub-data, and even if the same edit point recommendation information is used as an input, different outputs (ie, edit point corrections) can be derived.
  • the processor 130 may provide a custom editing point recommendation model that provides more appropriate editing point recommendations to each individual as it is learned through data related to each user.
  • the processor 130 may obtain first streaming content information and first editing style information of a first user.
  • the first streaming content information may include first content basic information and first streaming data related to the first user.
  • the first streaming data may include first streaming image data and first viewer response data.
  • the processor 130 may obtain first edit point recommendation information based on the first streaming content information. Specifically, the processor 130 may generate first edit point recommendation information based on the first streaming content information. The processor 130 obtains first editing frame information related to a recommended editing point in the video through video analysis (including video analysis and sound analysis) related to the first streaming video data and reaction analysis on the first viewer response data. and first edit point recommendation information may be generated based on the corresponding first edit frame information. In this case, the first edit point recommendation information may be visualization information displayed in different colors according to the recommendation intensity for each section corresponding to the entire streaming video data.
  • the processor 130 may generate corrected first edit point recommendation information by using the first edit point recommendation information as an input of a first customized edit point recommendation model corresponding to the first user.
  • the corrected first edit point recommendation information is derived through the first customized edit point recommendation model corresponding to the first user, the first edit point recommendation is based on the accumulated editing style related to the first user. Correction of information may be performed. That is, the processor 130 may provide each user with a neural network model that corrects an optimal edit point for each user through learning based on accumulated data. Accordingly, since the user can receive edit point recommendation information reflecting the user's existing editing style, editing efficiency can be improved.
  • the processor 130 may obtain first streaming content information and first editing style information of a first user. Also, the processor 130 may obtain first edit point recommendation information based on the first streaming content information.
  • the processor 130 may obtain corrected first edit point recommendation information by using the first streaming content information and the first editing style information as inputs of a first customized edit point recommendation model corresponding to the first user.
  • the first customized edit point recommendation model may be a neural network model learned through learning input data related to n*m+1 and learning output data related to n*m as additionally considered editing style information.
  • the corrected first edit point recommendation information may be generated based on information on editing styles of other users similar to the first user and accumulated editing styles related to the first user.
  • the processor 130 may perform correction on the edit point recommendation information based on each variable.
  • This correction is performed by a neural network model (ie, a custom edit point recommendation model) trained in response to each user, and as editing style information is also considered as a variable in learning the neural network, a more suitable edit point is recommended for each user. can do.
  • the corrected edit points may be generated by considering information on the editing styles of other users similar to each user and the accumulated editing styles related to each user.
  • custom edit point recommendation model customized to the individual may cause optimization of the recommended edit point.
  • the processor 130 may continuously refine recommended edit points through accumulated data. Accordingly, the quality of service may increase, which may cause expansion of the scale of users. As the amount of data accumulated through the expansion of the user scale increases, it becomes possible to build big data, which can form a virtuous cycle system in which the quality of service is improved by further elaborating the recommended edit points.
  • FIG. 8 is a flowchart exemplarily illustrating a method for recommending video edit points based on streaming data related to an embodiment of the present invention.
  • the method may include obtaining streaming content information (S110).
  • the method may include obtaining edit frame information based on streaming content information (S120).
  • the method may include generating edit point recommendation information based on edit frame information (S130).
  • FIG. 9 is a schematic diagram illustrating one or more network functions related to an embodiment of the present invention.
  • a neural network may consist of a set of interconnected computational units, which may be generally referred to as “nodes”. These “nodes” may also be referred to as “neurons”.
  • a neural network includes one or more nodes. Nodes (or neurons) constituting neural networks may be interconnected by one or more “links”.
  • one or more nodes connected through a link may form a relative relationship of an input node and an output node.
  • the concept of an input node and an output node is relative, and any node in an output node relationship with one node may have an input node relationship with another node, and vice versa.
  • an input node to output node relationship may be created around a link. More than one output node can be connected to one input node through a link, and vice versa.
  • the value of the output node may be determined based on data input to the input node.
  • a node interconnecting an input node and an output node may have a weight.
  • the weight may be variable, and may be changed by a user or an algorithm in order to perform a function desired by the neural network. For example, when one or more input nodes are interconnected by respective links to one output node, the output node is set to a link corresponding to values input to input nodes connected to the output node and respective input nodes.
  • An output node value may be determined based on the weight.
  • one or more nodes are interconnected through one or more links to form an input node and output node relationship in the neural network.
  • Characteristics of the neural network may be determined according to the number of nodes and links in the neural network, an association between the nodes and links, and a weight value assigned to each link. For example, when there are two neural networks having the same number of nodes and links and different weight values between the links, the two neural networks may be recognized as different from each other.
  • a neural network may include one or more nodes. Some of the nodes constituting the neural network may configure one layer based on distances from the first input node, for example, a set of nodes having a distance n from the first input node, n layers can be configured.
  • the distance from the first input node may be defined by the minimum number of links that must be passed through to reach the corresponding node from the first input node.
  • the definition of such a layer is arbitrary for explanation, and the order of a layer in a neural network may be defined in a method different from the above. For example, a layer of nodes may be defined by a distance from a final output node.
  • An initial input node may refer to one or more nodes to which data is directly input without going through a link in relation to other nodes among nodes in the neural network.
  • it may mean nodes that do not have other input nodes connected by links.
  • the final output node may refer to one or more nodes that do not have an output node in relation to other nodes among nodes in the neural network.
  • the hidden node may refer to nodes constituting the neural network other than the first input node and the last output node.
  • the number of nodes in the input layer may be the same as the number of nodes in the output layer, and the number of nodes decreases and then increases again as the number of nodes progresses from the input layer to the hidden layer.
  • the neural network according to another embodiment of the present invention may be a neural network in which the number of nodes of the input layer may be less than the number of nodes of the output layer, and the number of nodes decreases as the number of nodes increases from the input layer to the hidden layer. have.
  • the neural network according to another embodiment of the present invention is a type of neural network in which the number of nodes in the input layer may be greater than the number of nodes in the output layer, and the number of nodes increases as the number of nodes progresses from the input layer to the hidden layer.
  • a neural network according to another embodiment of the present invention may be a neural network in the form of a combination of the aforementioned neural networks.
  • a deep neural network may refer to a neural network including a plurality of hidden layers in addition to an input layer and an output layer.
  • Deep neural networks can reveal latent structures in data. In other words, it can identify the latent structure of a photo, text, video, sound, or music (e.g., what objects are in the photo, what the content and emotion of the text are, what the content and emotion of the audio are, etc.).
  • Deep neural networks include convolutional neural networks (CNNs), recurrent neural networks (RNNs), auto encoders, generative adversarial networks (GANs), and restricted boltzmann machines (RBMs). machine), deep belief network (DBN), Q network, U network, Siamese network, and the like.
  • CNNs convolutional neural networks
  • RNNs recurrent neural networks
  • GANs generative adversarial networks
  • RBMs restricted boltzmann machines
  • machine deep belief network
  • DNN deep belief network
  • Q network Q network
  • U network Siamese network
  • the neural network may be trained using at least one of supervised learning, unsupervised learning, and semi-supervised learning.
  • the learning of neural networks is to minimize errors in the output.
  • the learning data is repeatedly input into the neural network, the output of the neural network for the training data and the error of the target are calculated, and the error of the neural network is transferred from the output layer of the neural network to the input layer in the direction of reducing the error. It is a process of updating the weight of each node of the neural network by backpropagating in the same direction.
  • the learning data in which the correct answer is labeled is used for each learning data (ie, the labeled learning data), and in the case of comparative teacher learning, the correct answer may not be labeled in each learning data. That is, for example, learning data in the case of teacher learning regarding data classification may be data in which each learning data is labeled with a category. Labeled training data is input to the neural network, and an error may be calculated by comparing an output (category) of the neural network and a label of the training data. As another example, in the case of comparative history learning for data classification, an error may be calculated by comparing input learning data with a neural network output.
  • the calculated error is back-propagated in a reverse direction (ie, from the output layer to the input layer) in the neural network, and the connection weight of each node of each layer of the neural network may be updated according to the back-propagation.
  • the amount of change in the connection weight of each updated node may be determined according to a learning rate.
  • the neural network's computation of input data and backpropagation of errors can constitute a learning cycle (epoch).
  • the learning rate may be applied differently according to the number of iterations of the learning cycle of the neural network. For example, a high learning rate may be used in the early stage of neural network training to increase efficiency by allowing the neural network to quickly obtain a certain level of performance, and a low learning rate may be used in the late stage to increase accuracy.
  • training data can be a subset of real data (ie, data to be processed using the trained neural network), and therefore, errors for training data are reduced, but errors for real data are reduced. There may be incremental learning cycles.
  • Overfitting is a phenomenon in which errors for actual data increase due to excessive learning on training data. For example, a phenomenon in which a neural network that has learned a cat by showing a yellow cat does not recognize that it is a cat when it sees a cat other than yellow may be a type of overfitting. Overfitting can act as a cause of increasing the error of machine learning algorithms.
  • Various optimization methods can be used to prevent such overfitting. In order to prevent overfitting, methods such as increasing training data, regularization, and omitting some nodes of a network in the process of learning may be applied.
  • the data structure may include a neural network.
  • the data structure including the neural network may be stored in a computer readable medium.
  • the data structure including the neural network may also include data input to the neural network, weights of the neural network, hyperparameters of the neural network, data acquired from the neural network, an activation function associated with each node or layer of the neural network, and a loss function for learning the neural network.
  • a data structure including a neural network may include any of the components described above.
  • the data structure including the neural network includes data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation function associated with each node or layer of the neural network, and loss function for training the neural network. It may be configured to include any combination of.
  • the data structure comprising the neural network may include any other information that determines the characteristics of the neural network.
  • the data structure may include all types of data used or generated in the computational process of the neural network, but is not limited to the above.
  • a computer readable medium may include a computer readable recording medium and/or a computer readable transmission medium.
  • a neural network may consist of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons.
  • a neural network includes one or more nodes.
  • the data structure may include data input to the neural network.
  • a data structure including data input to the neural network may be stored in a computer readable medium.
  • Data input to the neural network may include training data input during a neural network learning process and/or input data input to a neural network that has been trained.
  • Data input to the neural network may include pre-processed data and/or data subject to pre-processing.
  • Pre-processing may include a data processing process for inputting data to a neural network.
  • the data structure may include data subject to pre-processing and data generated by pre-processing.
  • the above data structure is only an example and the present invention is not limited thereto.
  • the data structure may include the weights of the neural network.
  • weights and parameters may be used in the same meaning.
  • a data structure including weights of a neural network may be stored in a computer readable medium.
  • a neural network may include a plurality of weights.
  • the weight may be variable, and may be changed by a user or an algorithm in order to perform a function desired by the neural network. For example, when one or more input nodes are interconnected by respective links to one output node, the output node is set to a link corresponding to values input to input nodes connected to the output node and respective input nodes. An output node value can be determined based on the parameter.
  • the above data structure is only an example and the present invention is not limited thereto.
  • the weights may include weights that are varied during neural network training and/or weights for which neural network training has been completed.
  • the variable weight in the neural network learning process may include a weight at the time the learning cycle starts and/or a variable weight during the learning cycle.
  • the weights for which neural network learning has been completed may include weights for which learning cycles have been completed.
  • the data structure including the weights of the neural network may include a data structure including weights that are variable during the neural network learning process and/or weights for which neural network learning is completed. Therefore, it is assumed that the above-described weights and/or combinations of weights are included in the data structure including the weights of the neural network.
  • the above data structure is only an example and the present invention is not limited thereto.
  • the data structure including the weights of the neural network may be stored in a computer readable storage medium (eg, a memory or a hard disk) after going through a serialization process.
  • Serialization can be the process of converting a data structure into a form that can be stored on the same or another computing device and later reconstructed and used.
  • a computing device may serialize data structures to transmit and receive data over a network.
  • the data structure including the weights of the serialized neural network may be reconstructed on the same computing device or another computing device through deserialization.
  • the data structure including the weights of the neural network is not limited to serialization.
  • the data structure including the weights of the neural network is a data structure for increasing the efficiency of operation while minimizing the resource of the computing device (for example, B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree).
  • the resource of the computing device for example, B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree.
  • the data structure may include hyper-parameters of the neural network.
  • the data structure including the hyperparameters of the neural network may be stored in a computer readable medium.
  • a hyperparameter may be a variable variable by a user. Hyperparameters include, for example, learning rate, cost function, number of learning cycle iterations, weight initialization (eg, setting the range of weight values to be targeted for weight initialization), hidden unit number (eg, the number of hidden layers and the number of nodes in the hidden layer).
  • weight initialization eg, setting the range of weight values to be targeted for weight initialization
  • hidden unit number eg, the number of hidden layers and the number of nodes in the hidden layer.
  • Steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented in a software module executed by hardware, or implemented by a combination thereof.
  • a software module may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any form of computer readable recording medium well known in the art to which the present invention pertains.
  • Components of the present invention may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a medium.
  • Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, such as C, C++ , Java (Java), can be implemented in a programming or scripting language such as assembler (assembler). Functional aspects may be implemented in an algorithm running on one or more processors.
  • Various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques.
  • article of manufacture includes a computer program, carrier, or media accessible from any computer-readable device.
  • computer-readable media include magnetic storage devices (eg, hard disks, floppy disks, magnetic strips, etc.), optical disks (eg, CDs, DVDs, etc.), smart cards, and flash memory. device (eg, EEPROM, card, stick, key drive, etc.), but is not limited thereto.
  • various storage media presented herein include one or more devices and/or other machine-readable media for storing information.
  • the term “machine-readable medium” includes, but is not limited to, wireless channels and various other media that can store, hold, and/or convey instruction(s) and/or data.
  • the present invention can be utilized in the field of providing edited images by editing image data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Provided are a streaming data-based method, server, and computer program for recommending an image edit point. The streaming data-based method for recommending an image edit point, the method performed by a computing apparatus, according to various embodiments of the present invention, may comprise the steps of: obtaining streaming content information; obtaining edit frame information on the basis of streaming content information; and generating edit point recommendation information on the basis of the edit frame information.

Description

스트리밍 데이터 기반 영상 편집점 추천 방법, 서버 및 컴퓨터프로그램Video editing point recommendation method based on streaming data, server and computer program
본 발명의 다양한 실시예는 스트리밍 데이터 기반 영상 편집점 추천 방법, 서버 및 컴퓨터프로그램에 관한 것이다.Various embodiments of the present invention relate to a method for recommending video edit points based on streaming data, a server, and a computer program.
오늘날, 정보통신 기술의 발달과 함께 인터넷이 대중화되면서 사용자들은 인터넷 환경을 통해 다른 사용자들에게 다양한 정보들을 공유할 수 있게 되었다. 이러한 환경에서 스마트폰의 등장으로 다양한 컨텐츠를 손쉽게 소비할 수 있는 환경이 마련됨에 따라 1인 미디어 기반의 플랫폼이 확산되어 가고 있다.Today, as the Internet becomes popular with the development of information and communication technology, users can share various information with other users through the Internet environment. In this environment, with the advent of smartphones, platforms based on one-person media are spreading as an environment in which various contents can be easily consumed is prepared.
미디어 플랫폼의 성장에 따라, 인터넷을 통해 개인 방송을 송출하는 1인 크리에이터(또는, 스트리머) 또한 점차 증가하는 추세이다. 이러한 미디어 플랫폼의 성장과 1인 크리에이터의 증가로 인해, 비디오 컨텐츠의 양이 폭발적으로 증가하였다.Along with the growth of media platforms, the number of one-person creators (or streamers) who transmit personal broadcasting through the Internet is gradually increasing. Due to the growth of media platforms and the increase of one-person creators, the amount of video content has exploded.
비디오 컨텐츠의 양의 폭발적인 증가와 함께, 해당 다량의 비디오 컨텐츠들을 노출시키기 위한 매체들 또한 증가됨에 따라, 시청자들은 자신이 선호하는 컨텐츠를 탐색 또는 선택하여 시청하려는 경향이 강해지고 있다.Along with the explosive increase in the amount of video content, as media for exposing a large amount of video content also increase, viewers tend to search for or select their preferred content to view it.
한편, 최근에는 공급자가 일방적으로 프로그램을 선정 방송하는 종래의 방송 형태를 벗어나 시청자가 원하는 프로그램을 스스로 선택할 수 있고 그 시간과 장소도 마음대로 선택하는 수요자 맞춤형 동영상 서비스에 대한 기술이 특히 주목받고 있다. 특히 시청자 맞춤형 동영상 서비스 중 시청자가 원하는 정보만을 요약하여 보고자 하는 하이라이트 동영상 추출에 대한 수요가 증가하고 있는 추세이다.On the other hand, in recent years, a technology for a consumer-customized video service in which a viewer can select a desired program by himself and freely selects the time and place, away from the conventional broadcasting form in which a provider unilaterally selects and broadcasts a program, is receiving particular attention. In particular, among viewer-customized video services, demand for highlight video extraction to summarize and view only the information desired by viewers is increasing.
이에 따라, 1인 크리에이터는 시청자들의 이목을 끌기 위해 원본 영상에서 흥미있는 부분(하이라이트 부분)만을 모아서 편집하여 요약함으로써 하이라이트 영상을 제작하여 노출시킨다. 다만, 영상 편집의 기본은 편집된 동영상을 시청하는 시청자들이 즐거움을 느낄 수 있는, 즉 재미있는 부분들을 탐색하고 편집하는 것이므로, 영상 편집 방식은 여전히 시간 소모적이며, 장기간 진행된 원본 영상(또는, 스트리밍 영상)을 모두 모니터링하고 편집점을 찾아야 하기에 많은 어려움이 있다.Accordingly, a single creator creates and exposes a highlight video by collecting, editing, and summarizing only interesting parts (highlight parts) from the original video in order to attract viewers' attention. However, since the basics of video editing are to explore and edit interesting parts that viewers who watch edited videos can enjoy, that is, the video editing method is still time-consuming, and the original video (or streaming video) that has been in progress for a long time. It is very difficult to monitor all and find edit points.
구체적인 예를 들어, 하이라이트 영상 제작 시, 편집자의 개인적 판단 하에 편집점을 선정하기 때문에, 모니터링 시간 및 판단 비용이 증가하는 문제점이 있다. 즉, 원본 영상에서 하이라이트 구간을 선별하는 기준은 편집자의 주관적인 기준이 적용되어 객관성이 결여될 우려가 있으며, 편집자의 역량에 따라 생성되는 하이라이트 영상의 품질이 달라질 우려가 있다.For example, when producing a highlight video, editing points are selected based on an editor's personal judgment, which increases monitoring time and judgment cost. That is, there is a concern that the subjective criterion of the editor is applied to the criterion for selecting the highlight section from the original video, and objectivity may be lacking, and the quality of the generated highlight video may vary depending on the editor's competency.
따라서, 당 업계에는 스트리머의 원본 영상에 대한 하이라이트 영상 생성 과정에서 객관성 또는 신뢰성을 담보하는 정보들에 기반하여 영상의 흐름 파악은 물론, 다양한 편집점 추천을 통해 편집자의 편집 효율을 극대화시키기 위한 서버에 대한 수요가 존재할 수 있다.Therefore, in the industry, there is a server for maximizing the editor's editing efficiency through the recommendation of various editing points as well as understanding the flow of the video based on information that guarantees objectivity or reliability in the process of creating a highlight video for the streamer's original video. There may be a demand for
[선행기술문헌][Prior art literature]
[특허문헌][Patent Literature]
대한민국 등록특허 2010-0085720Korean registered patent 2010-0085720
본 발명이 해결하고자 하는 과제는 전술한 배경기술에 대응하여 안출된 것으로, 스트리밍 데이터에 기반하여 영상 편집점에 관련한 추천 정보를 제공하기 위함이다.The problem to be solved by the present invention has been devised in response to the above background art, and is to provide recommendation information related to an image editing point based on streaming data.
본 발명이 해결하고자 하는 과제들은 이상에서 언급된 과제로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The problems to be solved by the present invention are not limited to the problems mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the description below.
상술한 과제를 해결하기 위한 본 발명의 일 실시예에 따른 스트리밍 데이터 기반 영상 편집점 추천 방법이 개시된다. 상기 방법은, 스트리밍 컨텐츠 정보를 획득하는 단계, 상기 스트리밍 컨텐츠 정보에 기초하여 편집 프레임 정보를 획득하는 단계 및 상기 편집 프레임 정보에 기초하여 편집점 추천 정보를 생성하는 단계를 포함할 수 있다. A method for recommending video edit points based on streaming data according to an embodiment of the present invention for solving the above problems is disclosed. The method may include obtaining streaming content information, obtaining edit frame information based on the streaming content information, and generating edit point recommendation information based on the edit frame information.
대안적인 실시예에서, 상기 스트리밍 컨텐츠 정보는, 사용자의 방송 컨텐츠에 관련한 정보를 포함하는 컨텐츠 기본 정보 및 상기 방송 컨텐츠에 관련한 스트리밍 영상 데이터와 상기 스트리밍 영상 데이터를 시청하는 복수의 시청자들의 반응에 관련한 시청자 반응 데이터를 포함하는 스트리밍 데이터를 포함하며, 상기 편집 프레임 정보는, 상기 편집점 추천 정보 생성에 기반이 되는 정보로, 상기 스트리밍 영상 데이터를 구성하는 복수의 영상 서브 데이터 중 적어도 일부의 영상 서브 데이터에 관련한 주요 영상 서브 데이터 식별 정보 및 상기 주요 영상 서브 데이터 식별 정보에 대응하는 추천 강도 정보를 포함할 수 있다. In an alternative embodiment, the streaming content information includes basic content information including information related to the user's broadcast content, streaming image data related to the broadcast content, and viewers related to reactions of a plurality of viewers watching the streaming image data. and streaming data including response data, wherein the edit frame information, which is information based on generating the edit point recommendation information, is applied to at least some of the plurality of video sub-data of the plurality of video sub-data constituting the streaming video data. Related main video sub-data identification information and recommendation strength information corresponding to the main video sub-data identification information may be included.
대안적인 실시예에서, 상기 편집 프레임 정보를 획득하는 단계는, 상기 스트리밍 영상 데이터에 대한 영상 분석을 통해 제1편집 프레임 정보를 획득하는 단계, 상기 시청자 반응 데이터에 대한 반응 분석을 통해 제2편집 프레임 정보를 획득하는 단계 및 상기 제1편집 프레임 정보 및 제2편집 프레임 정보를 통합하여 상기 편집 프레임 정보를 획득하는 단계를 포함할 수 있다. In an alternative embodiment, the obtaining of the edit frame information may include obtaining first edit frame information through image analysis of the streaming image data, and second edit frame information through response analysis of the viewer response data. The method may include acquiring information and obtaining the edited frame information by integrating the first edited frame information and the second edited frame information.
대안적인 실시예에서, 상기 편집 프레임 정보를 획득하는 단계는, 상기 컨텐츠 기본 정보에 기반하여 상기 제1편집 프레임 정보 및 상기 제2편집 프레임 정보 중 적어도 하나에 관련한 가중치 적용 정보를 생성하는 단계 및 상기 가중치 적용 정보에 기반하여 상기 제1편집 프레임 정보 및 상기 제2편집 프레임 정보를 통합하여 상기 편집 프레임 정보를 획득하는 단계를 포함할 수 있다. In an alternative embodiment, the obtaining of the edit frame information may include generating weight application information related to at least one of the first edit frame information and the second edit frame information based on the content basic information; and The method may include acquiring the edit frame information by integrating the first edit frame information and the second edit frame information based on the weight application information.
대안적인 실시예에서, 상기 시청자 반응 데이터는, 상기 스트리밍 영상 데이터를 시청하는 시청자의 수에 관한 정보, 상기 스트리밍 영상 데이터에 관련한 채팅 빈도에 관한 정보, 상기 스트리밍 영상 데이터에 관련한 채팅 키워드 정보 및 상기 스트리밍 영상 데이터에 관련한 도네이션 정보 중 적어도 하나를 포함하며, 상기 반응 분석은, 상기 스트리밍 영상 데이터에 대응하는 상기 시청자 반응 데이터의 실시간 변화량에 관한 분석인 것을 특징으로 할 수 있다. In an alternative embodiment, the viewer response data includes information about the number of viewers watching the streaming video data, information about a chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and the streaming video data. At least one of donation information related to video data may be included, and the reaction analysis may be an analysis of a real-time variation of the viewer reaction data corresponding to the streaming video data.
대안적인 실시예에서, 상기 편집 프레임 정보를 획득하는 단계는, 상기 제1편집 프레임 정보에 대응하는 하나 이상의 제1주요 영상 서브 데이터 및 상기 제2편집 프레임 정보에 대응하는 하나 이상의 제2주요 영상 서브 데이터 각각의 시점 유사도에 기초하여 상기 추천 강도 정보에 대한 가중치를 부여하는 것을 특징으로 할 수 있다. In an alternative embodiment, the obtaining of the edit frame information may include one or more first main video sub-data corresponding to the first edit frame information and one or more second main video sub-data corresponding to the second edit frame information. It may be characterized in that a weight is assigned to the recommendation strength information based on the similarity of each viewpoint of data.
대안적인 실시예에서, 상기 편집점 추천 정보는, 상기 스트리밍 영상 데이터에 관련한 하나 이상의 추천 편집점에 관한 정보로, 상기 하나 이상의 추천 편집점 각각에 대응하는 하나 이상의 편집점 추천 서브 정보를 포함하며, 상기 편집점 추천 정보를 생성하는 단계는, 상기 편집 프레임 정보에 포함된 하나 이상의 주요 영상 서브 데이터 식별 정보 각각에 기초하여 하나 이상의 연관 서브 데이터 식별 정보를 탐색하는 단계 및 상기 하나 이상의 주요 영상 서브 데이터 식별 정보 및 상기 하나 이상의 연관 서브 데이터 식별 정보에 기초하여 상기 하나 이상의 편집점 추천 서브 정보를 생성하는 단계를 포함하며, 상기 하나 이상의 연관 서브 데이터 식별 정보 각각은, 상기 각 편집점 추천 서브 정보의 시작에 관련한 시작 프레임 정보 및 상기 각 편집점 추천 서브 정보의 종료에 관련한 종료 프레임 정보를 포함할 수 있다. In an alternative embodiment, the edit point recommendation information is information on one or more recommended edit points related to the streaming video data, and includes one or more edit point recommendation sub information corresponding to each of the one or more recommended edit points, The generating of the edit point recommendation information may include: searching for one or more related sub-data identification information based on the one or more main video sub-data identification information included in the edit frame information; and identifying the one or more main video sub-data. and generating the one or more edit point recommendation sub information based on information and the one or more related sub data identification information, wherein each of the one or more related sub data identification information is at the beginning of each edit point recommended sub information. It may include related start frame information and end frame information related to the end of each edit point recommendation sub information.
대안적인 실시예에서, 상기 편집점 추천 정보에 기초하여 영상 편집 사용자 인터페이스를 생성하여 제공하는 단계를 더 포함하며, 상기 영상 편집 사용자 인터페이스는, 상기 스트리밍 영상 데이터에 대응하는 상기 편집점 추천 정보를 포함하는 영상 편집 화면을 포함하며, 상기 영상 편집 화면에 대한 사용자의 조정 입력을 허용하는 것을 특징으로 하며, 상기 영상 편집 화면은, 상기 하나 이상의 편집점 추천 서브 정보 각각에 대응하는 상기 추천 강도 정보에 기반하여 각 편집점을 서로 상이한 시각적 표현을 통해 표시하는 것을 특징으로 할 수 있다. In an alternative embodiment, the method further comprises generating and providing a video editing user interface based on the edit point recommendation information, wherein the video editing user interface includes the edit point recommendation information corresponding to the streaming video data. and a video editing screen that allows a user's adjustment input to the video editing screen, wherein the video editing screen is based on the recommendation strength information corresponding to each of the one or more edit point recommendation sub information. Thus, each edit point may be characterized in that it is displayed through different visual expressions.
본 개시의 다른 실시예에 따르면, 스트리밍 데이터 기반 영상 편집점 추천 방법을 수행하는 컴퓨팅 장치가 개시된다. 상기 컴퓨팅 장치는 하나 이상의 인스트럭션을 저장하는 저장부 및 상기 메모리에 저장된 하나 이상의 인스터럭션을 실행하는 프로세서를 포함하고, 상기 프로세서는 상기 하나 이상의 인스터럭션을 실행함으로써, 전술한 스트리밍 데이터 기반 영상 편집점 추천 방법을 수행할 수 있다.According to another embodiment of the present disclosure, a computing device for performing a video edit point recommendation method based on streaming data is disclosed. The computing device includes a storage unit that stores one or more instructions and a processor that executes one or more instructions stored in the memory, and the processor executes the one or more instructions, thereby editing the video based on the streaming data. A point recommendation method can be performed.
본 발명의 또 다른 실시예에 따르면, 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 하드웨어인 컴퓨터와 결합되어, 스트리밍 데이터 기반 영상 편집점 추천 방법을 수행할 수 있다.According to another embodiment of the present invention, a computer program stored in a computer-readable recording medium is disclosed. The computer program may be combined with a computer, which is hardware, to perform a video editing point recommendation method based on streaming data.
본 발명의 기타 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.Other specific details of the invention are included in the detailed description and drawings.
본 발명의 다양한 실시예에 따르면, 영상에 대한 요약본 편집 과정에서 영상 편집점에 관련한 추천 정보를 제공함으로써, 편집자의 영상 편집 효율을 향상시킬 수 있다.According to various embodiments of the present invention, in the process of editing a summary of a video, it is possible to improve the editor's video editing efficiency by providing recommended information related to video editing points.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The effects of the present invention are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below.
도 1은 본 발명의 일 실시예와 관련된 스트리밍 데이터 기반 영상 편집점 추천 서버의 다양한 양태가 구현될 수 있는 시스템을 나타낸 개념도를 도시한다.1 is a conceptual diagram illustrating a system in which various aspects of a streaming data-based video edit point recommendation server related to an embodiment of the present invention can be implemented.
도 2는 본 발명의 일 실시예와 관련된 스트리밍 데이터 기반 영상 편집점 추천 서버의 블록 구성도를 도시한다.2 shows a block diagram of a streaming data-based video edit point recommendation server related to an embodiment of the present invention.
도 3는 본 발명의 일 실시예와 관련된 스트리밍 컨텐츠 정보에 기반하여 편집점 추천 정보를 생성하는 과정을 예시적으로 나타낸 예시도를 도시한다.3 is an exemplary view illustrating a process of generating edit point recommendation information based on streaming content information related to an embodiment of the present invention.
도 4는 본 발명의 일 실시예와 관련된 영상 편집 사용자 인터페이스를 예시적으로 나타낸 예시도이다.4 is an exemplary diagram illustrating an image editing user interface related to an embodiment of the present invention.
도 5는 본 발명의 일 실시예와 관련된 분류 모델을 훈련시키는 방법을 나타낸 개략도이다.5 is a schematic diagram showing a method for training a classification model related to an embodiment of the present invention.
도 6은 본 발명의 일 실시예와 관련된 각 사용자의 스타일에 따라 복수 개로 분류된 편집 타입들을 예시적으로 나타낸 예시도이다.FIG. 6 is an exemplary diagram illustrating edit types classified into a plurality according to each user's style related to an embodiment of the present invention.
도 7은 본 발명의 일 실시예와 관련된 편집점 추천 정보 및 편집점 보정 정보를 예시적으로 나타낸 예시도이다. 7 is an exemplary view illustrating edit point recommendation information and edit point correction information related to an embodiment of the present invention.
도 8은 본 발명의 일 실시예와 스트리밍 데이터 기반 영상 편집점 추천 방법을 예시적으로 나타낸 순서도를 도시한다.8 is a flowchart illustrating an exemplary embodiment of the present invention and a method for recommending video edit points based on streaming data.
도 9는 본 발명의 일 실시예와 관련된 하나 이상의 네트워크 함수를 나타낸 개략도이다.9 is a schematic diagram illustrating one or more network functions related to an embodiment of the present invention.
다양한 실시예들이 이제 도면을 참조하여 설명된다. 본 명세서에서, 다양한 설명들이 본 개시의 이해를 제공하기 위해서 제시된다. 그러나, 이러한 실시예들은 이러한 구체적인 설명 없이도 실행될 수 있음이 명백하다.Various embodiments are now described with reference to the drawings. In this specification, various descriptions are presented to provide an understanding of the present disclosure. However, it is apparent that these embodiments may be practiced without these specific details.
본 명세서에서 사용되는 용어 "컴포넌트", "모듈", "시스템" 등은 컴퓨터-관련 엔티티, 하드웨어, 펌웨어, 소프트웨어, 소프트웨어 및 하드웨어의 조합, 또는 소프트웨어의 실행을 지칭한다. 예를 들어, 컴포넌트는 프로세서상에서 실행되는 처리과정(procedure), 프로세서, 객체, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이들로 제한되는 것은 아니다. 예를 들어, 컴퓨팅 장치에서 실행되는 애플리케이션 및 컴퓨팅 장치 모두 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세서 및/또는 실행 스레드 내에 상주할 수 있다. 일 컴포넌트는 하나의 컴퓨터 내에 로컬화 될 수 있다. 일 컴포넌트는 2개 이상의 컴퓨터들 사이에 분배될 수 있다. 또한, 이러한 컴포넌트들은 그 내부에 저장된 다양한 데이터 구조들을 갖는 다양한 컴퓨터 판독가능한 매체로부터 실행할 수 있다. 컴포넌트들은 예를 들어 하나 이상의 데이터 패킷들을 갖는 신호(예를 들면, 로컬 시스템, 분산 시스템에서 다른 컴포넌트와 상호작용하는 하나의 컴포넌트로부터의 데이터 및/또는 신호를 통해 다른 시스템과 인터넷과 같은 네트워크를 통해 전송되는 데이터)에 따라 로컬 및/또는 원격 처리들을 통해 통신할 수 있다.The terms “component,” “module,” “system,” and the like, as used herein, refer to a computer-related entity, hardware, firmware, software, a combination of software and hardware, or an execution of software. For example, a component may be, but is not limited to, a procedure, processor, object, thread of execution, program, and/or computer running on a processor. For example, both an application running on a computing device and a computing device may be components. One or more components may reside within a processor and/or thread of execution. A component can be localized within a single computer. A component may be distributed between two or more computers. Also, these components can execute from various computer readable media having various data structures stored thereon. Components may be connected, for example, via signals with one or more packets of data (e.g., data and/or signals from one component interacting with another component in a local system, distributed system) to other systems and over a network such as the Internet. data being transmitted) may communicate via local and/or remote processes.
더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다.In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless otherwise specified or clear from the context, “X employs A or B” is intended to mean one of the natural inclusive substitutions. That is, X uses A; X uses B; Or, if X uses both A and B, "X uses either A or B" may apply to either of these cases. Also, the term "and/or" as used herein should be understood to refer to and include all possible combinations of one or more of the listed related items.
또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하는 것으로 이해되어야 한다. 다만, "포함한다" 및/또는 "포함하는"이라는 용어는, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.Also, the terms "comprises" and/or "comprising" should be understood to mean that the features and/or components are present. However, it should be understood that the terms "comprises" and/or "comprising" do not exclude the presence or addition of one or more other features, elements, and/or groups thereof. Also, unless otherwise specified or where the context clearly indicates that a singular form is indicated, the singular in this specification and claims should generally be construed to mean "one or more".
당업자들은 추가적으로 여기서 개시된 실시예들과 관련되어 설명된 다양한 예시적 논리적 블록들, 구성들, 모듈들, 회로들, 수단들, 로직들, 및 알고리즘 단계들이 전자 하드웨어, 컴퓨터 소프트웨어, 또는 양쪽 모두의 조합들로 구현될 수 있음을 인식해야 한다. 하드웨어 및 소프트웨어의 상호교환성을 명백하게 예시하기 위해, 다양한 예시 적 컴포넌트들, 블록들, 구성들, 수단들, 로직들, 모듈들, 회로들, 및 단계들은 그들의 기능성 측면에서 일반적으로 위에서 설명되었다. 그러한 기능성이 하드웨어로 또는 소프트웨어로서 구현되는지 여부는 전반적인 시스템에 부과된 특정 어플리케이션(application) 및 설계 제한들에 달려 있다. 숙련된 기술자들은 각각의 특정 어플리케이션들을 위해 다양한 방법들로 설명된 기능성을 구현할 수 있다. 다만, 그러한 구현의 결정들이 본 개시내용의 영역을 벗어나게 하는 것으로 해석되어서는 안된다.Those skilled in the art will further understand that the various illustrative logical blocks, components, modules, circuits, means, logics, and algorithm steps described in connection with the embodiments disclosed herein may be implemented using electronic hardware, computer software, or combinations of both. It should be recognized that it can be implemented as To clearly illustrate the interchangeability of hardware and software, various illustrative components, blocks, configurations, means, logics, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented in hardware or as software depends on the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application. However, such implementation decisions should not be interpreted as causing a departure from the scope of this disclosure.
제시된 실시예들에 대한 설명은 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이다. 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니다. 본 개시는 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art of this disclosure. The general principles defined herein may be applied to other embodiments without departing from the scope of this disclosure. Thus, the present disclosure is not limited to the embodiments presented herein. This disclosure is to be interpreted in the widest light consistent with the principles and novel features presented herein.
본 명세서에서, 컴퓨터는 적어도 하나의 프로세서를 포함하는 모든 종류의 하드웨어 장치를 의미하는 것이고, 실시 예에 따라 해당 하드웨어 장치에서 동작하는 소프트웨어적 구성도 포괄하는 의미로서 이해될 수 있다. 예를 들어, 컴퓨터는 스마트폰, 태블릿 PC, 데스크톱, 노트북 및 각 장치에서 구동되는 사용자 클라이언트 및 애플리케이션을 모두 포함하는 의미로서 이해될 수 있으며, 또한 이에 제한되는 것은 아니다.In this specification, a computer means any kind of hardware device including at least one processor, and may be understood as encompassing a software configuration operating in a corresponding hardware device according to an embodiment. For example, a computer may be understood as including a smartphone, a tablet PC, a desktop computer, a laptop computer, and user clients and applications running on each device, but is not limited thereto.
이하, 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명한다.Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.
본 명세서에서 설명되는 각 단계들은 컴퓨터에 의하여 수행되는 것으로 설명되나, 각 단계의 주체는 이에 제한되는 것은 아니며, 실시 예에 따라 각 단계들의 적어도 일부가 서로 다른 장치에서 수행될 수도 있다.Although each step described in this specification is described as being performed by a computer, the subject of each step is not limited thereto, and at least a part of each step may be performed in different devices according to embodiments.
도 1은 본 발명의 일 실시예와 관련된 스트리밍 데이터 기반 영상 편집점 추천 서버가 구현될 수 있는 시스템을 나타낸 개념도를 도시한다.1 is a conceptual diagram illustrating a system in which a streaming data-based video edit point recommendation server related to an embodiment of the present invention can be implemented.
도 1에 도시된 바와 같이, 본 발명의 실시예들에 따른 시스템은, 서버(100), 사용자 단말(10), 외부 서버(20) 및 네트워크를 포함할 수 있다. 도 1에서 도시되는 컴포넌트들은 예시적인 것으로서, 추가적인 컴포넌트들이 존재하거나 또는 도 1에서 도시되는 컴포넌트들 중 일부는 생략될 수 있다. 본 발명의 실시예들에 따른 서버(100), 사용자 단말(10) 및 외부 서버(20)는 네트워크를 통해, 본 발명의 일 실시예들에 따른 시스템을 위한 데이터를 상호 송수신할 수 있다.As shown in FIG. 1 , a system according to embodiments of the present invention may include a server 100, a user terminal 10, an external server 20, and a network. Components shown in FIG. 1 are exemplary, and additional components may exist or some of the components shown in FIG. 1 may be omitted. The server 100 according to embodiments of the present invention, the user terminal 10, and the external server 20 may mutually transmit and receive data for the system according to embodiments of the present invention through a network.
본 발명의 실시예들에 따른 네트워크는 공중전화 교환망(PSTN: Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.Networks according to embodiments of the present invention include a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and Very High Speed DSL (VDSL). ), UADSL (Universal Asymmetric DSL), HDSL (High Bit Rate DSL), and various wired communication systems such as a local area network (LAN) may be used.
또한, 여기서 제시되는 네트워크는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.In addition, the network presented here is CDMA (Code Division Multi Access), TDMA (Time Division Multi Access), FDMA (Frequency Division Multi Access), OFDMA (Orthogonal Frequency Division Multi Access), SC-FDMA (Single Carrier-FDMA) and Various wireless communication systems may be used, such as different systems.
본 발명의 실시예들에 따른 네트워크는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW: World Wide Web)일 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다. 본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.The network according to the embodiments of the present invention may be configured regardless of its communication mode, such as wired and wireless, and is composed of various communication networks such as a personal area network (PAN) and a wide area network (WAN). It can be. In addition, the network may be the known World Wide Web (WWW), or may use a wireless transmission technology used for short-range communication, such as Infrared Data Association (IrDA) or Bluetooth. The techniques described herein may be used in the networks mentioned above as well as other networks.
본 발명의 실시예에 따르면, 사용자 단말(10)은 서버(100)와 통신을 위한 메커니즘을 갖는 시스템에서의 임의의 형태의 노드(들)를 의미할 수 있다. 사용자 단말(10)은 서버(100)와의 정보 교환을 통해 스트리밍 컨텐츠 정보(예컨대, 스트리밍 영상)에 대한 편집점 추천 정보를 제공받을 수 있는 단말로, 사용자가 소지한 단말을 의미할 수 있다. 예컨대, 사용자 단말(10)은 실시간 영상 컨텐츠를 송출하는 스트리머 또는 특정 스트리머의 편집을 담당하는 편집자에 관련한 단말일 수 있다. 사용자 단말(10)은 예를 들어, 스트리밍 서버를 통해 비디오 및 오디오 컨텐츠 등 다양한 실시간 컨텐츠를 송출할 수 있으며, 복수의 시청자들은 해당 스트리밍 서버에 접속하여, 사용자 단말(10)을 통해 송출된 실시간 컨텐츠를 시청할 수 있다.According to an embodiment of the present invention, user terminal 10 may refer to any type of node(s) in a system having a mechanism for communication with server 100 . The user terminal 10 is a terminal that can receive edit point recommendation information for streaming content information (eg, streaming video) through information exchange with the server 100, and may refer to a terminal possessed by a user. For example, the user terminal 10 may be a terminal related to a streamer transmitting real-time video content or an editor in charge of editing a specific streamer. The user terminal 10 may transmit various real-time contents, such as video and audio contents, for example, through a streaming server, and a plurality of viewers connect to the corresponding streaming server and transmit the real-time contents through the user terminal 10. can watch.
사용자 단말(10)은 서버(100)와 통신을 위한 메커니즘을 갖는 시스템에서의 임의의 형태의 엔티티(들)를 의미할 수 있다. 예를 들어, 이러한 사용자 단말(10)은 PC(personal computer), 노트북(note book), 모바일 단말기(mobile terminal), 스마트 폰(smart phone), 태블릿 PC(tablet pc) 및 웨어러블 디바이스(wearable device) 등을 포함할 수 있으며, 유/무선 네트워크에 접속할 수 있는 모든 종류의 단말을 포함할 수 있다. 또한, 사용자 단말(10)은 에이전트, API(Application Programming Interface) 및 플러그-인(Plug-in) 중 적어도 하나에 의해 구현되는 임의의 서버를 포함할 수도 있다. 또한, 사용자 단말(10)은 애플리케이션 소스 및/또는 클라이언트 애플리케이션을 포함할 수 있다. User terminal 10 may refer to any type of entity(s) in a system having a mechanism for communication with server 100 . For example, the user terminal 10 includes a personal computer (PC), a note book, a mobile terminal, a smart phone, a tablet PC, and a wearable device. and the like, and may include all types of terminals capable of accessing wired/wireless networks. In addition, the user terminal 10 may include an arbitrary server implemented by at least one of an agent, an application programming interface (API), and a plug-in. In addition, the user terminal 10 may include an application source and/or a client application.
본 발명의 실시예에 따르면, 외부 서버(20)는 신경망의 학습을 위한 복수의 학습 데이터에 관련한 정보들을 저장하는 서버일 수 있다. 예를 들어, 외부 서버(20)는 복수의 스트리머들의 편집 스타일에 관한 정보 또는 각 스트리머들이 송출하는 컨텐츠에 관련한 정보들을 저장할 수 있다. 다른 예를 들어, 외부 서버(20)는 복수의 스트리머 또는 복수의 스트리머 단말에 대응하는 복수의 전체 컨텐츠 영상 및 각 컨텐츠 영상에 대응하는 편집 영상(또는 하이라이트 영상) 등에 관한 정보를 저장할 수 있다. 외부 서버(20)에 저장된 정보들은 본 발명에서의 신경망을 학습시키기 위한 학습 데이터, 검증 데이터, 및 테스트 데이터로 활용될 수 있다. 본 발명의 서버(100)는, 외부 서버(20)로부터 수신한 데이터들에 기반하여 학습 데이터 세트를 구축할 수 있으며, 학습 데이터 세트를 통해 하나 이상의 네트워크 함수를 포함하는 신경망 모델을 학습시킴으로써, 본 발명의 편집 스타일 분류 모델, 스타일 편집점 추천 모델 또는 맞춤 편집점 추천 모델 등을 생성할 수 있다. According to an embodiment of the present invention, the external server 20 may be a server that stores information related to a plurality of learning data for neural network learning. For example, the external server 20 may store information about editing styles of a plurality of streamers or information about content transmitted by each streamer. For another example, the external server 20 may store information about a plurality of entire content videos corresponding to a plurality of streamers or a plurality of streamer terminals and an edited video (or highlight video) corresponding to each content video. . Information stored in the external server 20 can be used as learning data, verification data, and test data for training the neural network in the present invention. The server 100 of the present invention may build a learning data set based on data received from the external server 20, and by learning a neural network model including one or more network functions through the training data set, An inventive editing style classification model, a style editing store recommendation model, or a custom editing store recommendation model may be created.
외부 서버(20)는 디지털 기기로서, 랩탑 컴퓨터, 노트북 컴퓨터, 데스크톱 컴퓨터, 웹 패드, 이동 전화기와 같이 프로세서를 탑재하고 메모리를 구비한 연산 능력을 갖춘 디지털 기기일 수 있다. 외부 서버(20)는 서비스를 처리하는 웹 서버일 수 있다. 전술한 서버의 종류는 예시일 뿐이며 본 개시는 이에 제한되지 않는다.The external server 20 is a digital device, and may be a digital device equipped with a processor, memory, and arithmetic capability, such as a laptop computer, a notebook computer, a desktop computer, a web pad, and a mobile phone. The external server 20 may be a web server that processes services. The types of servers described above are only examples and the present disclosure is not limited thereto.
추가적인 실시예에서, 외부 서버(20)는 스트리밍 서버일 수 있다. 스트리밍 서버는 복수의 사용자(예컨대, 스트리머) 단말 각각에 관련한 실시간 컨텐츠를 시청자에 관련한 복수의 사용자(예컨대, 시청자) 단말 각각에 상호 연계하는 인터넷을 통해 실시간 컨텐츠를 송출 및 시청 서비스를 제공하는 서버일 수 있다. 스트리밍 서버는 복수의 시청자 단말 각각이 시청하는 실시간 컨텐츠에 관련하여 각 시청자 단말들로부터 해당 실시간 컨텐츠에 연관된 시청자 반응 데이터를 획득하여 서버(100)로 전송할 수 있다. In a further embodiment, the external server 20 may be a streaming server. Streaming server is a server that transmits real-time content through the Internet and provides viewing service by interconnecting real-time content related to each of a plurality of user (eg, streamer) terminals to each of a plurality of user (eg, viewer) terminals related to viewers can be The streaming server may acquire viewer response data related to real-time content from each viewer terminal in relation to real-time content watched by each of a plurality of viewer terminals and transmit the obtained viewer response data to the server 100 .
본 발명의 실시예에 따라, 스트리밍 서버가 서버(100) 내에 포함되어, 컨텐츠 송출 및 편집점 추천 정보 제공 기능이 하나의 통합 서버에서 수행될 수도 있다. 이러한 예시에서, 스트리밍 서버 및 서버(100)가 하나의 통합 서버로 구현되는 경우, 서버(100)는 복수의 시청자 단말들로부터 실시간 스트리밍 컨텐츠에 대한 시청자 반응 데이터를 획득할 수 있다. According to an embodiment of the present invention, a streaming server may be included in the server 100, and functions of transmitting content and providing information recommending edit points may be performed in one integrated server. In this example, when the streaming server and the server 100 are implemented as one integrated server, the server 100 may obtain viewer response data for real-time streaming content from a plurality of viewer terminals.
본 발명의 일 실시예에 따르면, 서버(100)는 스트리밍 컨텐츠 정보(210)에 대한 편집점 추천 정보를 제공할 수 있다. 여기서 스트리밍 컨텐츠 정보(210)는, 사용자(예컨대, 스트리머)가 송출한 방송 컨텐츠에 관련한 스트리밍 영상 데이터(220)와 해당 영상 데이터를 시청하는 복수의 시청자들의 반응에 관련한 시청자 반응 데이터(230)를 포함할 수 있으며, 편집점 추천 정보(610)는, 해당 영상 데이터의 전체 프레임 중 재미 요소가 가장 두드러지게 나타나는 하이라이트 구간에 관련한 추천 정보로, 예컨대, 해당 영상 데이터에서 시청자들이 가장 흥미를 가진 구간들에 관한 정보일 수 있다. 즉, 서버(100)는 사용자(즉, 스트리머)에 관련한 실시간 스트리밍 컨텐츠 정보(210)에 기초하여 영상 데이터에 관련하여 하나 이상의 편집점을 추천하여 제공할 수 있다. 이에 따라, 실시간 스트리밍 방송 송출 이후, 해당 방송 데이터에 관련한 편집 영상 제작 시, 다양한 편집점 추천과 함께, 영상의 흐름 파악에 관련한 정보들을 추천 받을 수 있어 편집 시간이 단축되는 등 편집자의 편집 효율이 향상될 수 있다.According to an embodiment of the present invention, the server 100 may provide edit point recommendation information for the streaming content information 210 . Here, the streaming content information 210 includes streaming image data 220 related to broadcast content transmitted by a user (eg, a streamer) and viewer response data 230 related to a reaction of a plurality of viewers watching the corresponding image data. The edit point recommendation information 610 is recommendation information related to a highlight section in which the fun factor appears most prominently among all frames of the corresponding video data, for example, sections in which viewers are most interested in the corresponding video data. It may be information about. That is, the server 100 may recommend and provide one or more edit points related to video data based on the real-time streaming content information 210 related to the user (ie, the streamer). Accordingly, after real-time streaming broadcasting, when producing an editing video related to the broadcast data, various editing points can be recommended and information related to understanding the flow of the video can be recommended, reducing editing time and improving the editor's editing efficiency. It can be.
서버(100)는 본 발명의 실시예들에 따른 영상 편집 사용자 인터페이스(300)를 생성할 수 있다. 서버는 클라이언트(예를 들어, 사용자 단말)에게 네트워크를 통해 정보를 제공하는 컴퓨팅 시스템일 수 있다. 서버(100)는 생성한 영상 편집 사용자 인터페이스(300)를 사용자 단말(10)로 전송할 수 있다. 이러한 경우, 사용자 단말(10)은 서버(100)에 액세스할 수 있는 임의의 형태의 컴퓨팅 장치일 수 있다. 서버(100)의 프로세서(130)는 네트워크부(110)를 통해 사용자 단말(10)로 영상 편집 사용자 인터페이스(300)를 전송할 수 있다.The server 100 may generate an image editing user interface 300 according to embodiments of the present invention. The server may be a computing system that provides information to clients (eg, user terminals) over a network. The server 100 may transmit the generated video editing user interface 300 to the user terminal 10 . In this case, the user terminal 10 may be any type of computing device capable of accessing the server 100 . The processor 130 of the server 100 may transmit the video editing user interface 300 to the user terminal 10 through the network unit 110 .
도 1에서의 1개의 서버(100)만을 도시하고 있으나, 이보다 많은 서버들 또한 본 발명의 범위에 포함될 수 있다는 점 그리고 서버(100)가 추가적인 컴포넌트들을 포함할 수 있다는 점은 당해 출원분야에 있어서 통상의 지식을 가진 자에게 명백할 것이다. 즉, 서버(100)는 복수 개의 컴퓨팅 장치로 구성될 수도 있다. 다시 말해, 복수의 노드의 집합이 서버(100)를 구성할 수 있다.Although only one server 100 is shown in FIG. 1, it is common in the present application that more servers may also be included in the scope of the present invention and that the server 100 may include additional components. will be clear to those who have knowledge of That is, the server 100 may be composed of a plurality of computing devices. In other words, a set of a plurality of nodes may constitute the server 100 .
본 발명의 일 실시예에 따르면, 서버(100)는 클라우드 컴퓨팅 서비스를 제공하는 서버일 수 있다. 보다 구체적으로, 서버(100)는 인터넷 기반 컴퓨팅의 일종으로 정보를 사용자의 컴퓨터가 아닌 인터넷에 연결된 다른 컴퓨터로 처리하는 클라우드 컴퓨팅 서비스를 제공하는 서버일 수 있다. 상기 클라우드 컴퓨팅 서비스는 인터넷 상에 자료를 저장해 두고, 사용자가 필요한 자료나 프로그램을 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제 어디서나 이용할 수 있는 서비스일 수 있으며, 인터넷 상에 저장된 자료들을 간단한 조작 및 클릭으로 쉽게 공유하고 전달할 수 있다. 또한, 클라우드 컴퓨팅 서비스는 인터넷 상의 서버에 단순히 자료를 저장하는 것뿐만 아니라, 별도로 프로그램을 설치하지 않아도 웹에서 제공하는 응용프로그램의 기능을 이용하여 원하는 작업을 수행할 수 있으며, 여러 사람이 동시에 문서를 공유하면서 작업을 진행할 수 있는 서비스일 수 있다. 또한, 클라우드 컴퓨팅 서비스는 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service), 가상 머신 기반 클라우드 서버 및 컨테이너 기반 클라우드 서버 중 적어도 하나의 형태로 구현될 수 있다. 즉, 본 발명의 서버(100)는 상술한 클라우드 컴퓨팅 서비스 중 적어도 하나의 형태로 구현될 수 있다. 전술한 클라우드 컴퓨팅 서비스의 구체적인 기재는 예시일 뿐, 본 발명의 클라우드 컴퓨팅 환경을 구축하는 임의의 플랫폼을 포함할 수도 있다.According to an embodiment of the present invention, the server 100 may be a server providing cloud computing services. More specifically, the server 100 is a kind of Internet-based computing and may be a server that provides a cloud computing service that processes information with another computer connected to the Internet rather than a user's computer. The cloud computing service may be a service that stores data on the Internet and allows users to use the data stored on the Internet anytime and anywhere through Internet access without installing necessary data or programs on their computers. Easy to share and forward with just a click. In addition, the cloud computing service not only simply stores data in a server on the Internet, but also allows users to perform desired tasks by using the functions of application programs provided on the web without installing a separate program. It may be a service that allows you to work while sharing. In addition, the cloud computing service may be implemented in the form of at least one of Infrastructure as a Service (IaaS), Platform as a Service (PaaS), Software as a Service (SaaS), virtual machine-based cloud server, and container-based cloud server. . That is, the server 100 of the present invention may be implemented in the form of at least one of the aforementioned cloud computing services. The specific description of the cloud computing service described above is just an example, and may include any platform for constructing the cloud computing environment of the present invention.
본 발명에서의 신경망에 대한 학습 방법, 학습 과정, 편집 스타일 데이터베이스를 구축하는 방법 및 스트리밍 컨텐츠 정보에 기반하여 편집점 추천 정보를 제공하는 방법 등에 관한 구체적인 설명은 이하의 도 2 내지 도 6을 참조하여 후술하도록 한다. A detailed description of a learning method for a neural network in the present invention, a learning process, a method of constructing an editing style database, and a method of providing recommendation information for editing points based on streaming content information is provided with reference to FIGS. 2 to 6 below. Let me tell you later.
도 2는 본 발명의 일 실시예와 관련된 스트리밍 데이터 기반 영상 편집점 추천 서버의 블록 구성도를 도시한다.2 shows a block diagram of a streaming data-based video edit point recommendation server related to an embodiment of the present invention.
도 2에 도시된 바와 같이, 서버(100)는 네트워크부(110), 메모리(120) 및 프로세서(130)를 포함할 수 있다. 전술한 서버(100)에 포함된 컴포넌트들은 예시적인 것으로 본 발명내용의 권리범위가 전술한 컴포넌트들로 제한되지 않는다. 즉, 본 발명내용의 실시예들에 대한 구현 양태에 따라서 추가적인 컴포넌트들이 포함되거나 전술한 컴포넌트들 중 일부가 생략될 수 있다.As shown in FIG. 2 , the server 100 may include a network unit 110 , a memory 120 and a processor 130 . The components included in the above-described server 100 are examples, and the scope of the present invention is not limited to the above-mentioned components. That is, additional components may be included or some of the above components may be omitted according to implementation aspects of the embodiments of the present invention.
본 발명의 일 실시예에 따르면, 서버(100)는 외부 서버(20) 및 사용자 단말(10)과 데이터를 송수신하는 네트워크부(110)를 포함할 수 있다. 네트워크부(110)는 본 발명의 실시예에 따른 스트리밍 컨텐츠 정보 및 해당 스트리밍 컨텐츠 정보에 대응하는 편집점 추천 정보를 사용자 단말(10) 및 외부 서버(20) 중 적어도 하나와 송수신할 수 있다. 예를 들어, 서버(100)는 네트워크부(110)를 통해 사용자 단말(10)로부터 스트리밍 컨텐츠 정보(210)를 수신할 수 있다. 다른 예를 들어, 서버(100)는 네트워크부(110)를 통해 스트리밍 컨텐츠 정보에 대응하여 생성된 편집점 추천 정보를 사용자 단말(10)로 전송할 수 있다. 또 다른 예를 들어, 서버(100)는 네트워크부(110)를 통해 외부 서버(20)로부터 신경망을 학습시키기 위한 학습 데이터 세트를 수신할 수 있다. 전술한 네트워크부가 송수신하는 정보에 대한 구체적인 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다. 추가적으로, 네트워크부(110)는 서버(100)로 프로시저를 호출하는 방식으로 서버(100)와 외부 서버(20) 및 사용자 단말(10) 간의 정보 전달을 허용할 수 있다.According to an embodiment of the present invention, the server 100 may include an external server 20 and a network unit 110 that transmits and receives data to and from the user terminal 10 . The network unit 110 may transmit/receive streaming content information and edit point recommendation information corresponding to the streaming content information according to an embodiment of the present invention with at least one of the user terminal 10 and the external server 20 . For example, the server 100 may receive streaming content information 210 from the user terminal 10 through the network unit 110 . For another example, the server 100 may transmit edit point recommendation information generated corresponding to the streaming content information to the user terminal 10 through the network unit 110 . As another example, the server 100 may receive a training data set for learning a neural network from the external server 20 through the network unit 110 . The detailed description of information transmitted and received by the above-described network unit is only an example, and the present disclosure is not limited thereto. Additionally, the network unit 110 may permit information transmission between the server 100, the external server 20, and the user terminal 10 by calling a procedure to the server 100.
본 발명의 일 실시예에 따른 네트워크부(110)는 공중전화 교환망(PSTN: Public Switched Telephone Network), xDSL(x Digital Subscriber Line), RADSL(Rate Adaptive DSL), MDSL(Multi Rate DSL), VDSL(Very High Speed DSL), UADSL(Universal Asymmetric DSL), HDSL(High Bit Rate DSL) 및 근거리 통신망(LAN) 등과 같은 다양한 유선 통신 시스템들을 사용할 수 있다.The network unit 110 according to an embodiment of the present invention includes a Public Switched Telephone Network (PSTN), x Digital Subscriber Line (xDSL), Rate Adaptive DSL (RADSL), Multi Rate DSL (MDSL), and VDSL ( Various wired communication systems such as Very High Speed DSL), Universal Asymmetric DSL (UADSL), High Bit Rate DSL (HDSL), and Local Area Network (LAN) may be used.
또한, 본 명세서에서 제시되는 네트워크부(110)는 CDMA(Code Division Multi Access), TDMA(Time Division Multi Access), FDMA(Frequency Division Multi Access), OFDMA(Orthogonal Frequency Division Multi Access), SC-FDMA(Single Carrier-FDMA) 및 다른 시스템들과 같은 다양한 무선 통신 시스템들을 사용할 수 있다.In addition, the network unit 110 presented in this specification includes Code Division Multi Access (CDMA), Time Division Multi Access (TDMA), Frequency Division Multi Access (FDMA), Orthogonal Frequency Division Multi Access (OFDMA), SC-FDMA ( Single Carrier-FDMA) and other systems.
본 발명에서 네트워크부(110)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(PAN: Personal Area Network), 근거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 또한, 상기 네트워크는 공지의 월드와이드웹(WWW: World Wide Web)일 수 있으며, 적외선(IrDA: Infrared Data Association) 또는 블루투스(Bluetooth)와 같이 단거리 통신에 이용되는 무선 전송 기술을 이용할 수도 있다. 본 명세서에서 설명된 기술들은 위에서 언급된 네트워크들뿐만 아니라, 다른 네트워크들에서도 사용될 수 있다.In the present invention, the network unit 110 may be configured regardless of its communication mode, such as wired and wireless, and may be configured with various communication networks such as a personal area network (PAN) and a wide area network (WAN). can In addition, the network may be the known World Wide Web (WWW), or may use a wireless transmission technology used for short-range communication, such as Infrared Data Association (IrDA) or Bluetooth. The techniques described herein may be used in the networks mentioned above as well as other networks.
본 발명의 일 실시예에 따르면, 메모리(120)는 스트리밍 데이터 기반 영상 편집점 추천방법을 수행하기 위한 컴퓨터 프로그램을 저장할 수 있으며, 저장된 컴퓨터 프로그램은 프로세서(130)에 의하여 판독되어 구동될 수 있다. 또한, 메모리(120)는 프로세서(130)가 생성하거나 결정한 임의의 형태의 정보 및 네트워크부(110)가 수신한 임의의 형태의 정보를 저장할 수 있다. 또한, 메모리(120)는 스트리밍 컨텐츠 정보 또는 스트리밍 컨텐츠 정보에 대응하는 편집점 추천 정보를 저장할 수 있다. 예를 들어, 메모리(120)는 입/출력되는 데이터들(예를 들어, 스트리밍 데이터에 대응하는 편집 프레임 정보, 편집 프레임 정보에 대응하는 편집점 추천 정보 및 편집점 추천 정보에 기반하여 생성된 사용자 인터페이스 등)을 임시 또는 영구 저장할 수 있다. 구체적인 예를 들어, 메모리(120)는 영상 데이터 및 영상 데이터에 연관된 시청자 반응 데이터에 기초하여 편집 프레임 정보를 식별하기 위한 응용 프로그램들을 저장할 수 있다. 다른 예를 들어, 메모리(120)는 각 스트리머에 대응하여 개인화된 편집 스타일에 기반한 추천 편집점을 제공하기 위한 사전 학습된 신경망 모델을 저장할 수 있다. 전술한 메모리가 저장하는 정보들에 대한 구체적인 기재는 일 예시일 뿐, 본 발명은 이에 제한되지 않는다.According to an embodiment of the present invention, the memory 120 may store a computer program for performing a streaming data-based image editing point recommendation method, and the stored computer program may be read and driven by the processor 130 . In addition, the memory 120 may store any type of information generated or determined by the processor 130 and any type of information received by the network unit 110 . Also, the memory 120 may store streaming content information or edit point recommendation information corresponding to the streaming content information. For example, the memory 120 stores input/output data (eg, edit frame information corresponding to streaming data, edit point recommendation information corresponding to the edit frame information, and user generated based on edit point recommendation information). interfaces, etc.) can be stored temporarily or permanently. For example, the memory 120 may store application programs for identifying edit frame information based on video data and viewer response data related to the video data. For another example, the memory 120 may store a pretrained neural network model for providing a recommended editing point based on a personalized editing style corresponding to each streamer. A specific description of the information stored in the aforementioned memory is only an example, and the present invention is not limited thereto.
본 개시의 일 실시예에 따르면, 메모리(120)는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다. 서버(100)는 인터넷(internet) 상에서 상기 메모리(120)의 저장 기능을 수행하는 웹 스토리지(web storage)와 관련되어 동작할 수도 있다. 전술한 메모리에 대한 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to an embodiment of the present disclosure, the memory 120 is a flash memory type, a hard disk type, a multimedia card micro type, or a card type memory (eg, SD or XD memory, etc.), RAM (Random Access Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory) -Only Memory), a magnetic memory, a magnetic disk, and an optical disk may include at least one type of storage medium. The server 100 may operate in relation to a web storage performing a storage function of the memory 120 on the Internet. The above description of the memory is only an example, and the present disclosure is not limited thereto.
본 발명의 일 실시예에 따르면, 프로세서(130)는 하나 이상의 코어로 구성될 수 있으며, 컴퓨팅 장치의 중앙 처리 장치(CPU: central processing unit), 범용 그래픽 처리 장치(GPGPU: general purpose graphics processing unit), 텐서 처리 장치(TPU: tensor processing unit) 등의 데이터 분석, 딥러닝을 위한 프로세서를 포함할 수 있다.According to an embodiment of the present invention, the processor 130 may be composed of one or more cores, a central processing unit (CPU), and a general purpose graphics processing unit (GPGPU) of a computing device. , a processor for data analysis and deep learning, such as a tensor processing unit (TPU).
프로세서(130)는 메모리(120)에 저장된 컴퓨터 프로그램을 판독하여 본 발명의 일 실시예에 따른 딥러닝을 위한 데이터 처리를 수행할 수 있다. 본 발명의 일 실시예에 따라 프로세서(130)는 신경망의 학습을 위한 연산을 수행할 수 있다. 프로세서(130)는 딥러닝(DL: deep learning)에서 학습을 위한 입력 데이터의 처리, 입력 데이터에서의 피처 추출, 오차 계산, 역전파(backpropagation)를 이용한 신경망의 가중치 업데이트 등의 신경망의 학습을 위한 계산을 수행할 수 있다.The processor 130 may read a computer program stored in the memory 120 and perform data processing for deep learning according to an embodiment of the present invention. According to an embodiment of the present invention, the processor 130 may perform an operation for learning a neural network. The processor 130 is used for neural network learning, such as processing input data for learning in deep learning (DL), extracting features from input data, calculating errors, and updating neural network weights using backpropagation. calculations can be performed.
또한, 프로세서(130)는 CPU, GPGPU, 및 TPU 중 적어도 하나가 네트워크 함수의 학습을 처리할 수 있다. 예를 들어, CPU 와 GPGPU가 함께 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 발명의 일 실시예에서 복수의 컴퓨팅 장치의 프로세서를 함께 사용하여 네트워크 함수의 학습, 네트워크 함수를 이용한 데이터 분류를 처리할 수 있다. 또한, 본 발명의 일 실시예에 따른 컴퓨팅 장치에서 수행되는 컴퓨터 프로그램은 CPU, GPGPU 또는 TPU 실행가능 프로그램일 수 있다.Also, in the processor 130, at least one of CPU, GPGPU, and TPU may process learning of a network function. For example, the CPU and GPGPU can process learning of network functions and data classification using network functions. In addition, in one embodiment of the present invention, the learning of a network function and data classification using a network function may be processed by using processors of a plurality of computing devices together. In addition, a computer program executed in a computing device according to an embodiment of the present invention may be a CPU, GPGPU or TPU executable program.
본 명세서에서 네트워크 함수는 인공 신경망, 뉴런 네트워크와 상호 교환 가능하게 사용될 수 있다. 본 명세서에서 네트워크 함수는 하나 이상의 뉴럴 네트워크를 포함할 수도 있으며, 이 경우 네트워크 함수의 출력은 하나 이상의 뉴럴 네트워크의 출력의 앙상블(ensemble)일 수 있다.In this specification, network functions may be used interchangeably with artificial neural networks and neuron networks. In this specification, a network function may include one or more neural networks, and in this case, an output of the network function may be an ensemble of outputs of one or more neural networks.
프로세서(130)는 메모리(120)에 저장된 컴퓨터 프로그램을 판독하여 본 발명의 일 실시예에 따른 편집 스타일 분류 모델 및 맞춤 편집점 추천 모델을 제공할 수 있다. 본 발명의 일 실시예에 따르면, 프로세서(130)는 사용자의 스트리밍 데이터 정보에 대응하는 편집점 추천 정보를 생성할 수 있다. 본 발명의 일 실시예에 따라, 프로세서(130)는 편집 스타일 분류 모델 및 맞춤 편집점 추천 모델을 학습시키기 위한 계산을 수행할 수 있다.The processor 130 may read the computer program stored in the memory 120 and provide an editing style classification model and a custom edit point recommendation model according to an embodiment of the present invention. According to an embodiment of the present invention, the processor 130 may generate edit point recommendation information corresponding to the user's streaming data information. According to an embodiment of the present invention, the processor 130 may perform calculations for training an editing style classification model and a custom edit point recommendation model.
본 발명의 일 실시예에 따르면, 프로세서(130)는 통상적으로 서버(100)의 전반적인 동작을 처리할 수 있다. 프로세서(130)는 위에서 살펴본 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 메모리(120)에 저장된 응용 프로그램을 구동함으로써, 사용자 또는 사용자 단말에게 적정한 정보 또는, 기능을 제공하거나 처리할 수 있다.According to one embodiment of the present invention, the processor 130 may normally process the overall operation of the server 100 . The processor 130 provides or processes appropriate information or functions to a user or user terminal by processing signals, data, information, etc. input or output through the components described above or by driving an application program stored in the memory 120. can do.
본 발명의 일 실시예에 따르면, 프로세서(130)는 스트리밍 컨텐츠 정보(210)를 획득할 수 있다. 스트리밍 컨텐츠 정보(210)는, 컨텐츠 기본 정보 및 스트리밍 데이터를 포함할 수 있다. 여기서 컨텐츠 기본 정보는 사용자(즉, 스트리머)의 방송 컨텐츠에 관련한 정보를 포함할 수 있다. 예를 들어, 컨텐츠 기본 정보는, 제1사용자의 스트리밍 영상 데이터가 게임 방송 컨텐츠, 야외 방송 컨텐츠 및 소통 방송 컨텐츠 중 적어도 하나에 관련한다는 정보를 포함할 수 있다. 또한 예를 들어, 컨텐츠 기본 정보는 스트리밍 영상 데이터를 송출하는 사용자(또는 스트리머)의 이름, 나이, 성별에 관련한 정보 등을 더 포함할 수 있다. 전술한 컨텐츠 기본 정보에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.According to an embodiment of the present invention, the processor 130 may obtain streaming content information 210 . The streaming content information 210 may include basic content information and streaming data. Here, the basic content information may include information related to broadcast content of a user (ie, a streamer). For example, the basic content information may include information indicating that the streaming image data of the first user is related to at least one of game broadcasting content, outdoor broadcasting content, and communication broadcasting content. Also, for example, the basic content information may further include information related to the name, age, and gender of a user (or streamer) transmitting streaming video data. The detailed description of the above-described basic content information is only an example, and the present invention is not limited thereto.
스트리밍 데이터는, 방송 컨텐츠에 관련한 스트리밍 영상 데이터(220) 및 해당 영상 데이터를 시청하는 복수의 시청자들의 반응에 관련한 시청자 반응 데이터(230)를 포함할 수 있다. 스트리밍 영상 데이터(220)는, 복수의 영상 서브 데이터를 복수의 프레임으로써 구성하는 영상에 관련한 데이터일 수 있다. 시청자 반응 데이터(230)는, 실시간으로 송출되는 스트리밍 영상 데이터를 시청한 하나 이상의 시청자들의 반응에 관련한 데이터일 수 있다. 예컨대, 시청자 반응 데이터(230)는, 스트리밍 영상 데이터를 시청하는 시청자의 수에 관한 정보, 스트리밍 영상 데이터에 관련한 채팅 빈도에 관한 정보, 스트리밍 영상 데이터에 관련한 채팅 키워드 정보 및 스트리밍 영상 데이터에 관련한 도네이션 정보 중 적어도 하나를 포함할 수 있다. 구체적인 예를 들어, 시청자 반응 데이터(230)는, 사용자 단말(즉, 스트리머 단말)이 실시간 송출하는 스트리밍 영상 데이터에서의 제1시점에 관련하여 제1시청자 단말로부터 채팅창을 통해 수신되는 채팅 입력에 관한 정보일 수 있다. 다른 예를 들어, 시청자 반응 데이터(230)는, 사용자 단말(즉, 스트리머 단말)이 실시간 송출하는 스트리밍 영상 데이터에서의 제2시점에 관련하여 제2시청자 단말로부터 수신되는 도네이션 입력에 관한 정보일 수 있다. 전술한 시청자 반응 데이터에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다. Streaming data may include streaming image data 220 related to broadcast content and viewer response data 230 related to reactions of a plurality of viewers watching the corresponding image data. The streaming image data 220 may be data related to an image comprising a plurality of image sub-data as a plurality of frames. The viewer reaction data 230 may be data related to reactions of one or more viewers who watch streaming video data transmitted in real time. For example, the viewer response data 230 includes information on the number of viewers watching the streaming video data, information on chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and donation information related to the streaming video data. may include at least one of them. As a specific example, the viewer reaction data 230 is a chat input received through a chat window from a first viewer terminal in relation to a first point in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal) It may be information about. For another example, the viewer response data 230 is information about a donation input received from a second viewer terminal in relation to a second point in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal) can The detailed description of the above-described viewer response data is only an example, and the present invention is not limited thereto.
본 발명의 일 실시예에 따르면, 프로세서(130)는 스트리밍 컨텐츠 정보(210)에 기초하여 편집 프레임 정보(240)를 획득할 수 있다. 편집 프레임 정보(240)는, 편집점 추천 정보 생성에 기반이 되는 정보일 수 있다. 편집 프레임 정보(240)는, 영상 데이터를 구성하는 복수의 영상 서브 데이터 중 적어도 일부의 영상 서브 데이터에 관련한 주요 영상 서브 데이터 식별 정보 및 주요 영상 서브 데이터 식별 정보에 대응하는 추천 강도 정보를 포함할 수 있다. 즉, 편집 프레임 정보(240)는, 영상 데이터를 구성하는 복수의 프레임들 중 주요하다고 판별되는 일부 프레임(즉, 주요 영상 서브 데이터)에 관련한 식별 정보와 해당 프레임의 추천 정도에 대한 정보를 포함할 수 있다. 스트리밍 컨텐츠 정보(210)에 기초하여 편집 프레임 정보(240)를 획득하는 과정에 대한 구체적인 기재는 이하에서 도 3을 참조하여 후술하도록 한다.According to an embodiment of the present invention, the processor 130 may obtain the edit frame information 240 based on the streaming content information 210 . The edit frame information 240 may be information based on generating edit point recommendation information. The edit frame information 240 may include main video sub-data identification information related to at least some video sub-data among a plurality of video sub-data constituting the video data and recommendation strength information corresponding to the main video sub-data identification information. have. That is, the edited frame information 240 may include identification information related to some frames (ie, main video sub-data) determined to be important among a plurality of frames constituting the video data and information about the degree of recommendation of the corresponding frame. can A detailed description of a process of obtaining the editing frame information 240 based on the streaming content information 210 will be described later with reference to FIG. 3 .
도 3는 본 발명의 일 실시예와 관련된 스트리밍 컨텐츠 정보(210)에 기반하여 편집점 추천 정보(610)를 생성하는 과정을 예시적으로 나타낸 예시도를 도시한다.FIG. 3 illustrates an example diagram illustrating a process of generating edit point recommendation information 610 based on streaming content information 210 related to an embodiment of the present invention.
도 3을 참조하여 보다 자세히 설명하면, 스트리밍 컨텐츠 정보(210)는 스트리밍 영상 데이터(220) 및 시청자 반응 데이터(230)를 포함할 수 있으며, 프로세서(130)는 스트리밍 영상 데이터(220)에 대한 영상 분석(221) 및 시청자 반응 데이터(230)에 대한 반응 분석(231)에 기초하여 편집 프레임 정보(240)를 획득할 수 있다.Referring to FIG. 3 , the streaming content information 210 may include streaming image data 220 and viewer response data 230, and the processor 130 may generate an image for the streaming image data 220. Edit frame information 240 may be obtained based on the analysis 221 and the reaction analysis 231 for the viewer reaction data 230 .
구체적으로, 프로세서(130)는 스트리밍 영상 데이터(220)에 대한 영상 분석(221)을 통해 제1편집 프레임 정보(222)를 획득할 수 있다. 이 경우, 스트리밍 영상 데이터(220)에 대한 영상 분석(221)은, 스트리밍 영상 데이터(220)의 음성 분석 및 비디오 분석을 포함할 수 있다. 실시예에서, 스트리밍 영상 데이터(220)에서 특정 프레임을 감지 또는 식별을 위하여 비디오 분석 모델 및 음향 분석 모델이 활용될 수 있다. 비디오 분석 모델은, 영상 내에서 특정 이벤트(예컨대, 특정 이미지 프레임)를 감지하도록 학습된 신경망 모델일 수 있다. 예컨대, 비디오 분석 모델은, 게임 화면 내에서 특정 이벤트에 관련한 프레임을 식별할 수 있다. 예를 들어, 비디오 분석 모델은, 제1게임에 관련하여 플레이어(예컨대, 스트리머)가 다른 플레이어를 죽이는 화면 또는 다른 플레이어로부터 죽임을 당하는 화면에 관련한 프레임을 식별할 수 있다. 다른 예를 들어, 비디오 분석 모델은 제1게임 플레이 중 플레이어가 특정 스테이지를 클리어하는 시점에 대응하는 화면에 관련한 프레임을 식별할 수 있다. 전술한 비디오 분석 모델을 통해 식별되는 특정 프레임에 관한 구체적인 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.Specifically, the processor 130 may obtain the first edit frame information 222 through image analysis 221 of the streaming image data 220 . In this case, the video analysis 221 of the streaming video data 220 may include voice analysis and video analysis of the streaming video data 220 . In an embodiment, a video analysis model and a sound analysis model may be used to detect or identify a specific frame in the streaming image data 220 . The video analysis model may be a neural network model trained to detect a specific event (eg, a specific image frame) within a video. For example, the video analysis model may identify a frame related to a specific event within a game screen. For example, the video analysis model may identify frames related to a scene in which a player (eg, a streamer) kills another player or is killed by another player in relation to a first game. As another example, the video analysis model may identify a frame related to a screen corresponding to a point in time when a player clears a specific stage during the first game play. The detailed description of the specific frame identified through the above-described video analysis model is only an example, and the present disclosure is not limited thereto.
실시예에 따르면 음향 분석 모델은, 스트리밍 영상 데이터(220)에 관련한 음향의 크기 변화 또는 특정 키워드 감지 여부 중 적어도 하나에 기초하여 스트리밍 영상 데이터(220)에서 특정 프레임을 식별하는 모델일 수 있다. 예를 들어, 음향 분석 모델은, 스트리밍 영상 데이터(220)의 음성 데이터에서 게임의 플레이 소리나, 또는 사용자(즉, 스트리머)의 음향의 크기가 급격히 커지는 시점에 관련한 영상 프레임을 식별할 수 있다. 다른 예를 들어, 음향 분석 모델은 스트리밍 영상 데이터(220)의 음성 데이터에서 게임 관련 특정 키워드가 인식되거나 또는, 사용자의 발화에 관련한 음성이 특정 키워드임을 감지하는 시점에 관련한 영상 프레임을 식별할 수 있다. 구체적인 예를 들어, 음향 분석 모델은, 스트리밍 영상 데이터에서 제1스트리머가 소리를 지르는 순간(즉, 음향의 크기가 급격히 증가)을 감지하여 특정 프레임을 식별할 수 있다. 다른 예를 들어, 음향 분석 모델은, 스트리밍 영상 데이터에서 게임에 관련하여 특정 키워드(예컨대, 펜타킬)가 인식되는 순간을 감지하여 특정 프레임을 식별할 수 있다. 전술한 음향 분석 모델을 통해 식별되는 특정 프레임에 관한 구체적인 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다.According to the embodiment, the acoustic analysis model may be a model that identifies a specific frame in the streaming image data 220 based on at least one of a change in the size of sound related to the streaming image data 220 or whether a specific keyword is detected. For example, the sound analysis model may identify a video frame related to a point in time when the sound of a game play or the sound of a user (ie, a streamer) rapidly increases in the audio data of the streaming video data 220. . For another example, the sound analysis model may identify a video frame related to a point in time when a specific game-related keyword is recognized in the audio data of the streaming video data 220 or when it detects that the user's speech is a specific keyword. . As a specific example, the acoustic analysis model may identify a specific frame by detecting a moment when the first streamer screams (ie, a sound volume rapidly increases) in the streaming image data. For another example, the sound analysis model may identify a specific frame by detecting a moment when a specific keyword (eg, pentakill) is recognized in relation to a game in streaming video data. The detailed description of the specific frame identified through the above-described acoustic analysis model is only an example, and the present disclosure is not limited thereto.
실시예에서, 음향 분석 모델은, 하나 이상의 네트워크 함수를 통해 구성되며 키워드 스팟팅 기술(keyword spotting technique)을 구현하도록 학습되는 키워드 인식 모델일 수 있다. 구체적인 예를 들어, 키워드 인식 모델은 스트리밍 영상 데이터의 음성 데이터에 대응하는 하나 이상의 피처를 입력으로 하여, 음성 데이터와 사전 결정된 키워드 간의 매칭 스코어를 산출함으로써, 해당 음성 데이터가 특정 프레임을 식별하기 위한 키워드로써 적정한지 여부를 판별하는 모델일 수 있다. 실시예에 따르면, 키워드 인식 모델은, 음성 데이터에 대응하는 스펙트로그램에 관련한 하나 이상의 피처에 기초하여 음성 데이터에 대응하는 스코어를 산출하는 심층 신경망 모델일 수 있다.In an embodiment, the acoustic analysis model may be a keyword recognition model constructed through one or more network functions and trained to implement a keyword spotting technique. For example, the keyword recognition model takes one or more features corresponding to audio data of streaming video data as an input and calculates a matching score between the audio data and a predetermined keyword, so that the audio data is a keyword for identifying a specific frame. As a result, it may be a model that determines whether or not it is appropriate. According to an embodiment, the keyword recognition model may be a deep neural network model that calculates a score corresponding to voice data based on one or more features related to a spectrogram corresponding to the voice data.
추가적인 실시예에 따르면, 프로세서(130)는 제1편집 프레임 정보(222)에 포함된 주요 영상 서브 데이터 각각에 대응하는 추천 강도 정보를 획득할 수 있다. 예컨대, 프로세서(130)는 각 이벤트 별 상이한 추천 강도 정보를 사전 맵핑할 수 있다. 이에 따라, 프로세서(130)는 타 플레이어를 죽이는 프레임(예컨대, 제1영상 서브 데이터)에 관련하여 '8'에 대응하는 추천 강도 정보를 획득할 수 있으며, 플레이어가 특정 스테이지를 클리어하는 프레임에 관련하여 '3'에 대응하는 추천 강도 정보를 획득할 수 있다. 프로세서(130)는 비디오 분석 과정에서 시청자들이 보다 흥미 가질 것으로 예상되는 프레임(예컨대, 게임의 승, 패에 영향을 미치는 이벤트에 관련한 프레임)에 대응하여 높은 추천 강도 정보를 획득할 수 있다. According to an additional embodiment, the processor 130 may obtain recommendation strength information corresponding to each main image sub-data included in the first edit frame information 222 . For example, the processor 130 may pre-map different recommendation strength information for each event. Accordingly, the processor 130 may obtain recommendation strength information corresponding to '8' in relation to the frame in which another player is killed (eg, the first video sub data), and in relation to the frame in which the player clears a specific stage. Accordingly, recommendation strength information corresponding to '3' may be obtained. The processor 130 may obtain high recommendation strength information in response to a frame in which viewers are expected to be more interested in a video analysis process (eg, a frame related to an event affecting winning or losing a game).
또한, 프로세서(130)는 음향 분석 과정에서 각 프레임 별 상이한 추천 강도 정보를 획득할 수 있다. 예컨대, 프로세서(130)는 음향 분석 과정에서, 각 프레임(즉, 영상 서브 데이터)에 대응하는 음향의 크기에 따라 상이한 추천 강도 정보를 획득할 수 있다. 예를 들어, 제1편집 프레임 정보(222)에 포함된 제1영상 서브 데이터 및 제2영상 서브 데이터 중 제1영상 서브 데이터에 관련한 음향의 크기가 제2영상 서브 데이터에 관련한 음향의 크기 보다 큰 경우, 프로세서(130)는 제1영상 서브 데이터에 제2영상 서브 데이터 보다 높은 추천 강도 정보를 부여할 수 있다. 다른 예를 들어, 프로세서(130)는 인식되는 키워드 각각에 따라 상이한 추천 강도 정보를 사전 맵핑할 수 있으며, 이에 대응하여 각 프레임 별 상이한 추천 강도 정보를 매칭하여 저장할 수 있다. 구체적인 예를 들어, 제1영상 서브 데이터에 관련하여 인식되는 키워드가 '더블킬'이며, 제2영상 서브 데이터에 관련하여 인식되는 '펜타킬'인 경우, 프로세서(130)는 제2영상 서브 데이터에 제1영상 서브 데이터 보다 높은 추천 강도 정보를 부여할 수 있다. 전술한 추천 강도 정보에 대한 구체적인 기재는 본 발명의 이해를 돕기 위한 일 예시일 뿐, 본 발명은 이에 제한되지 않는다. Also, the processor 130 may obtain different recommendation strength information for each frame in a sound analysis process. For example, in a sound analysis process, the processor 130 may obtain different recommendation strength information according to the size of sound corresponding to each frame (ie, image sub-data). For example, among the first video sub-data and the second video sub-data included in the first edit frame information 222, the volume of sound related to the first image sub-data is greater than the volume of sound related to the second image sub-data. In this case, the processor 130 may assign higher recommendation strength information to the first image sub-data than to the second image sub-data. For another example, the processor 130 may pre-map different recommendation strength information according to each recognized keyword, and correspondingly match and store different recommendation strength information for each frame. For example, when the keyword recognized in relation to the first video sub-data is 'double kill' and the keyword recognized in relation to the second video sub-data is 'pentakill', the processor 130 executes the second video sub-data Recommendation intensity information higher than that of the first image sub data may be assigned to . The detailed description of the aforementioned recommendation strength information is only an example to help understanding of the present invention, and the present invention is not limited thereto.
즉, 프로세서(130)는 제1편집 프레임 정보(222)에 포함된 각 영상 서브 데이터 별로 상이한 추천 강도 정보를 획득할 수 있으며, 획득한 추천 강도 정보를 각 영상 서브 데이터와 매칭하여 저장할 수 있다.That is, the processor 130 may obtain different recommendation strength information for each video sub-data included in the first edit frame information 222, match the obtained recommendation strength information with each video sub-data, and store the same.
다시 말해, 프로세서(130)는 스트리밍 영상 데이터(220)에 대한 비디오 분석과 음성 분석을 통해 제1편집 프레임 정보(222)를 획득할 수 있다. 프로세서(130)에 의해 획득된 제1편집 프레임 정보(222)는, 스트리밍 영상 데이터(220)를 구성하는 복수의 영상 서브 데이터 중 비디오 또는 음성 분석을 통해 시청자의 흥미를 끌 것으로 예측되는 주요 영상 서브 데이터들에 관한 정보를 포함할 수 있다.In other words, the processor 130 may obtain the first edit frame information 222 through video analysis and voice analysis of the streaming image data 220 . The first edit frame information 222 obtained by the processor 130 is a main video sub predicted to be of interest to viewers through video or audio analysis among a plurality of video sub data constituting the streaming video data 220. It may contain information about data.
또한, 프로세서(130)는 시청자 반응 데이터(230)에 대한 반응 분석(231)을 통해 제2편집 프레임 정보(232)를 획득할 수 있다. 이 경우, 반응 분석(231)은, 영상 데이터에 대응하는 시청자 반응 데이터(230)의 실시간 변화량에 관련한 분석일 수 있다. 예컨대, 프로세서(130)는 시청자 반응 데이터(230)에 관련한 정량 분석을 통해 제2편집 프레임 정보(232)를 획득할 수 있다. 예를 들어, 프로세서(130)는 스트리밍 영상 데이터에서 시청자 반응 데이터(230)가 미리 정해진 임계치 이상으로 획득되는 시점(즉, 채팅 입력이 설정치 이상으로 획득되는 시점)들에 관련한 프레임들을 식별하여 제2편집 프레임 정보(232)를 획득할 수 있다. 일 실시예에서, 미리 정해진 임계치는, 스트리밍 영상 데이터(220)를 시청하는 시청자 수에 기초하여 결정될 수 있다. 예컨대, 스트리밍 영상 데이터(220)의 시청자 수가 100명인 제1시점에서는, 미리 정해진 임계치가 70명으로 설정될 수 있으며, 시청자 수가 50명인 제2시점에 관련하여 미리 정해진 임계치가 35명로 설정될 수 있다. 즉, 프로세서(130)는 제1시점에 70명 이상의 시청자로부터 채팅이 입력되는 경우, 해당 시점에 대응하는 영상 서브 데이터를 주요 영상 서브 데이터로 식별할 수 있다.Also, the processor 130 may obtain the second edit frame information 232 through reaction analysis 231 for the viewer reaction data 230 . In this case, the reaction analysis 231 may be an analysis related to a real-time variation of the viewer reaction data 230 corresponding to the video data. For example, the processor 130 may obtain the second edit frame information 232 through quantitative analysis related to the viewer response data 230 . For example, the processor 130 identifies frames related to points in time at which the viewer response data 230 is acquired above a predetermined threshold (ie, when chatting input is obtained at or above a set value) in the streaming video data, and second Edit frame information 232 may be obtained. In one embodiment, the predetermined threshold may be determined based on the number of viewers watching the streaming image data 220 . For example, at a first point in time when the number of viewers of the streaming image data 220 is 100, a predetermined threshold may be set to 70, and at a second point in time when the number of viewers is 50, a predetermined threshold may be set to 35. . That is, when chatting is input from 70 or more viewers at a first time point, the processor 130 may identify video sub data corresponding to the corresponding time point as main video sub data.
다시 말해, 시청자 반응 데이터의 수에 기초한 정량 분석을 통해 제2편집 프레임 정보(232)를 식별하기 위한 기준이 되는 임계치는, 각 시점에 실시간 컨텐츠를 시청하는 시청자 수에 기초하여 가변적으로 조정될 수 있다. 이에 따라, 프로세서(130)는 각 구간에서 시청자 대비 시청자 반응 데이터의 수가 높은 구간에 관련한 프레임들에 기초하여 제2편집 프레임 정보를 획득할 수 있다.In other words, the threshold serving as a criterion for identifying the second edit frame information 232 through quantitative analysis based on the number of viewer response data may be variably adjusted based on the number of viewers watching real-time content at each point in time. . Accordingly, the processor 130 may obtain second edit frame information based on frames related to a section in which the number of viewer response data is high compared to viewers in each section.
추가적인 실시예에 따르면, 프로세서(130)는 제2편집 프레임 정보(232)에 포함된 주요 영상 서브 데이터 각각에 대응하는 추천 강도 정보를 획득할 수 있다. 예컨대, 프로세서(130)는 주요 영상 서브 데이터 각각과 미리 정해진 임계치의 차이에 기초하여 각 영상 서브 데이터에 대응하는 추천 강도 정보를 획득할 수 있다. 예를 들어, 영상 서브 데이터와 미리 정해진 임계치의 차이가 큰 경우, 프로세서(130)는 해당 영상 서브 데이터에 대응하여 높은 추천 강도 정보를 획득할 수 있다. 이와 반대로, 영상 서브 데이터와 미리 정해진 임계치 간의 차이가 적은 경우, 프로세서(130)는 해당 영상 서브 데이터에 대응하여 낮은 추천 강도 정보를 획득할 수 있다. 프로세서(130)는 영상 서브 데이터와 미리 정해진 임계치의 차이가 클수록, 해당 영상 서브 데이터에 대응하여 높은 추천 강도 정보를 획득할 수 있다. 전술한 추천 강도 정보에 대한 구체적인 기재는 본 발명의 이해를 돕기 위한 일 예시일 뿐, 본 발명은 이에 제한되지 않는다.According to an additional embodiment, the processor 130 may obtain recommendation strength information corresponding to each main image sub-data included in the second edit frame information 232 . For example, the processor 130 may obtain recommendation strength information corresponding to each image sub-data based on a difference between each main image sub-data and a predetermined threshold. For example, when the difference between the video sub data and the predetermined threshold is large, the processor 130 may obtain high recommendation strength information corresponding to the corresponding video sub data. Conversely, when the difference between the video sub-data and the predetermined threshold is small, the processor 130 may obtain low recommendation strength information corresponding to the corresponding video sub-data. The processor 130 may acquire recommendation strength information corresponding to the corresponding video sub-data as the difference between the video sub-data and the predetermined threshold increases. The detailed description of the aforementioned recommendation strength information is only an example to help understanding of the present invention, and the present invention is not limited thereto.
즉, 프로세서(130)는 시청자 반응 데이터(230)에 대한 반응 분석을 통해 제2편집 프레임 정보(232)를 획득할 수 있다. 프로세서(130)에 의해 획득되는 제2편집 프레임 정보(232)는, 스트리밍 영상 데이터(220)를 구성하는 복수의 영상 서브 데이터 중 시청자들의 반응이 많았던 구간에 관련한 주요 영상 서브 데이터들에 관한 정보들을 포함할 수 있다.That is, the processor 130 may obtain the second edit frame information 232 through reaction analysis on the viewer reaction data 230 . The second edit frame information 232 obtained by the processor 130 includes information about main video sub-data related to a section in which viewers responded a lot among a plurality of video sub-data constituting the streaming video data 220. can include
일 실시예에 따르면, 프로세서(130)는 제1편집 프레임 정보(222) 및 제2편집 프레임 정보(232)를 통합하여 편집 프레임 정보(240)를 획득할 수 있다. 제1편집 프레임 정보(222)는 스트리밍 영상 데이터(220)를 구성하는 복수의 영상 서브 데이터 중 영상 또는 음성 분석을 통해 시청자의 흥미를 끌 것으로 예측되는 주요 영상 서브 데이터들에 관한 정보를 포함할 수 있으며, 제2편집 프레임 정보(232)는 스트리밍 영상 데이터를 구성하는 복수의 영상 서브 데이터 중 시청자들의 반응이 많았던 구간에 관련한 주요 영상 서브 데이터들에 관한 정보를 포함할 수 있다.According to an embodiment, the processor 130 may obtain the edited frame information 240 by integrating the first edited frame information 222 and the second edited frame information 232 . The first edit frame information 222 may include information about main video sub-data predicted to be of interest to viewers through video or audio analysis among a plurality of video sub-data constituting the streaming video data 220. And, the second edit frame information 232 may include information about main video sub-data related to a section in which viewers responded a lot among a plurality of video sub-data constituting the streaming video data.
구체적인 예를 들어, 스트리밍 영상 데이터(220)는 60개의 프레임(즉, 60개의 영상 서브 데이터)를 통해 구성될 수 있다. 이 경우, 스트리밍 영상 데이터(220)에 대한 영상 분석(221)을 통해 획득되는 제1편집 프레임 정보(222)는, 제5영상 서브 데이터, 제11영상 서브 데이터, 제17영상 서브 데이터 및 제56영상 서브 데이터에 대한 정보를 포함할 수 있다. 다시 말해, 영상 분석(즉, 스트리밍 영상 데이터에 대한 영상 또는 음성)을 통해 향후 시청자의 흥미를 끌 것으로 예측되는 주요 영상 서브 데이터 식별 정보들이 상기와 같다는 제1편집 프레임 정보(222)가 획득될 수 있다.For a specific example, the streaming image data 220 may be composed of 60 frames (ie, 60 image sub-data). In this case, the first edit frame information 222 obtained through the video analysis 221 of the streaming video data 220 includes the 5th video sub-data, the 11th video sub-data, the 17th video sub-data, and the 56th video sub-data. Information on image sub data may be included. In other words, through video analysis (ie, video or audio of streaming video data), first edit frame information 222 indicating that main video sub data identification information that is predicted to attract viewers in the future is the same as above can be obtained. have.
또한, 시청자 반응 데이터(230)에 대한 반응 분석(231)을 통해 획득되는 제2편집 프레임 정보(232)는, 제11영상 서브 데이터, 제27영상 서브 데이터 및 제57영상 서브 데이터에 대한 정보를 포함할 수 있다. 다시 말해, 반응 분석(즉, 시청자 반응 데이터에 대한 정량적인 분석)을 통해 시청자의 반응이 가장 많았던 구간으로 예측되는 주요 영상 서브 데이터 식별 정보들이 상기와 같다는 제2편집 프레임 정보(232)가 획득될 수 있다. In addition, the second edit frame information 232 obtained through the reaction analysis 231 for the viewer response data 230 includes information on the 11th video sub-data, the 27th video sub-data, and the 57th video sub-data. can include In other words, through response analysis (ie, quantitative analysis of viewer response data), second edit frame information 232 indicating that the main video sub data identification information predicted in the section with the most viewer response is as described above is obtained. can
이 경우, 프로세서(130)는 제1편집 프레임 정보(222) 및 제2편집 프레임 정보(232)를 통합하여 편집 프레임 정보(240)를 획득할 수 있다. 예컨대, 통합되어 생성된 편집 프레임 정보(240)는, 제5영상 서브 데이터, 제11영상 서브 데이터, 제17영상 서브 데이터, 제27영상 서브 데이터, 제56영상 서브 데이터 및 제57영상 서브 데이터를 포함할 수 있다. 즉, 편집 프레임 정보(240)는 제1편집 프레임 정보(222) 및 제2편집 프레임 정보(232) 각각에 포함된 주요 영상 서브 데이터 식별 정보들에 기초하여 획득될 수 있다. 예컨대, 편집 프레임 정보(240)는 각 편집 프레임 정보에 포함된 모두 영상 서브 데이터들을 포함하거나 또는 적어도 일부를 포함하여 생성될 수 있다. 프로세서(130)는 각 영상 서브 데이터에 대응하는 추천 강도 정보를 통해 복수의 영상 서브 데이터 중 일부에 기초하여 편집 프레임 정보(240)를 획득할 수 있다. 전술한 편집 프레임 정보에 포함된 영상 서브 데이터에 대한 구체적인 기재는 본 발명의 이해를 돕기 위한 예시일 뿐, 본 발명은 이에 제한되지 않는다. In this case, the processor 130 may obtain the edited frame information 240 by integrating the first edited frame information 222 and the second edited frame information 232 . For example, the integrated and generated edit frame information 240 includes the fifth sub-data, the 11th sub-data, the 17th sub-data, the 27th sub-data, the 56th sub-data, and the 57th sub-data. can include That is, the edit frame information 240 may be obtained based on main image sub data identification information included in each of the first edit frame information 222 and the second edit frame information 232 . For example, the edit frame information 240 may be generated by including all or at least some of the image sub-data included in each edit frame information. The processor 130 may obtain the edit frame information 240 based on some of a plurality of image sub-data through recommendation strength information corresponding to each image sub-data. The detailed description of the image sub-data included in the above-described edit frame information is only an example to help understanding of the present invention, and the present invention is not limited thereto.
추가적인 실시예에서, 프로세서(130)는 컨텐츠 기본 정보에 기반하여 제1편집 프레임 정보(222) 및 제2편집 프레임 정보(232) 중 적어도 하나에 관련한 가중치 적용 정보를 생성할 수 있다. 가중치 적용 정보는, 특정 편집 프레임 정보에 관련한 영상 서브 데이터(또는 주요 영상 서브 데이터 식별 정보)에 가중치를 적용하는 것에 관련한 정보일 수 있다. 특정 편집 프레임 정보에 가중치를 적용하는 것은, 특정 편집 프레임 정보에 포함된 영상 서브 데이터들을 통해 편집 프레임 정보(240)가 구성될 확률을 향상시키는 것을 의미할 수 있다. 다시 말해, 가중치가 적용된 편집 프레임 정보에 포함된 영상 서브 데이터들은, 편집 프레임 정보(240)에 포함될 확률이 높아짐에 따라 사용자에게 추천될 확률이 높아질 수 있다. 즉, 가중치가 적용된 편집 프레임 정보는, 각 영상 서브 데이터에 대응하는 추천 강도(즉, 추천 강도 정보)에 영향을 미칠 수 있다.In an additional embodiment, the processor 130 may generate weight application information related to at least one of the first edit frame information 222 and the second edit frame information 232 based on the basic content information. The weight application information may be information related to applying a weight to video sub data (or main video sub data identification information) related to specific edit frame information. Applying a weight to the specific edit frame information may mean improving the probability that the edit frame information 240 is formed through image sub-data included in the specific edit frame information. In other words, as the probability of being included in the edit frame information 240 increases, the probability of being recommended to the user may increase. That is, the weighted edit frame information may affect recommendation strength (ie, recommendation strength information) corresponding to each image sub-data.
구체적으로, 프로세서(130)는 스트리밍 컨텐츠 정보에 대응하는 컨텐츠 기본 정보를 식별하고, 해당 컨텐츠 기본 정보에 대응하여 제1편집 프레임 정보(222) 및 제2편집 프레임 정보(232) 중 적어도 하나에 관련한 가중치 적용 정보를 생성할 수 있다.Specifically, the processor 130 identifies basic content information corresponding to the streaming content information, and relates to at least one of the first edit frame information 222 and the second edit frame information 232 corresponding to the corresponding content basic information. Weight application information can be created.
예를 들어, 스트리밍 컨텐츠 정보에 '게임 방송'이라는 컨텐츠 기본 정보가 포함된 경우, 프로세서(130)는 해당 컨텐츠 기본 정보에 기초하여 제1편집 프레임 정보(222)에 가중치를 부여한다는 가중치 적용 정보를 생성할 수 있다. 다른 예를 들어, 스트리밍 컨텐츠 정보에 '소통 방송'이라는 컨텐츠 기본 정보가 포함된 경우, 프로세서(130)는 해당 컨텐츠 기본 정보에 기초하여 제2편집 프레임 정보(232)에 가중치를 부여한다는 가중치 적용 정보를 생성할 수 있다. 다시 말해, 프로세서(130)는, 스트리밍 영상 데이터(220)의 영상 분석을 통해 주요한 프레임들을 식별할 수 있을 것으로 예상되는 경우(예컨대, 컨텐츠 기본 정보가 게임 방송인 경우), 영상 분석 결과에 관련한 제1편집 프레임 정보(222)에 가중치가 적용되도록 하는 가중치 적용 정보를 생성할 수 있다. 이와 반대로, 프로세서(130)는 스트리밍 영상 데이터의 영상 분석 보다 시청자들의 반응 분석을 통해 주요한 프레임들을 식별할 수 있을 것으로 예상되는 경우(예컨대, 컨텐츠 기본 정보가 소통 방송인 경우), 반응 분석 결과에 관련한 제2편집 프레임 정보(232)에 가중치가 적용되도록 하는 가중치 적용 정보를 생성할 수 있다. 즉, 프로세서(130)는 컨텐츠 기본 정보를 식별하여 특정 스트리밍 컨텐츠 정보에 대응하여 영상 분석을 통해 식별된 프레임들(즉, 제1편집 프레임 정보에 포함된 영상 서브 데이터들)과 반응 분석(즉, 제1편집 프레임 정보에 포함된 영상 서브 데이터들)을 통해 식별된 프레임들 중 적어도 하나에 가중치를 부여하는 가중치 적용 정보를 생성할 수 있다.For example, when basic content information of 'game broadcasting' is included in the streaming content information, the processor 130 provides weight application information for assigning a weight to the first edit frame information 222 based on the basic content information. can create For another example, when basic content information of 'communication broadcasting' is included in the streaming content information, the weight application information indicating that the processor 130 assigns a weight to the second edit frame information 232 based on the basic content information. can create In other words, when it is expected that main frames can be identified through image analysis of the streaming image data 220 (eg, when basic content information is a game broadcast), the processor 130 performs a first step related to the image analysis result. Weight application information for applying a weight to the edit frame information 222 may be generated. Conversely, when it is expected that the processor 130 will be able to identify important frames through analysis of viewers' reactions rather than video analysis of streaming video data (eg, when basic content information is communication broadcasting), control related to the results of reaction analysis is expected. Weight application information for applying a weight to the 2 edit frame information 232 may be generated. That is, the processor 130 identifies the basic content information and analyzes the frames identified through video analysis corresponding to specific streaming content information (ie, video sub-data included in the first edit frame information) and response (ie, Weight application information for assigning a weight to at least one of the frames identified through the image sub-data included in the first edit frame information may be generated.
일 실시예에 따르면, 프로세서(130)는 가중치 적용 정보에 기반하여 제1편집 프레임 정보(222) 및 제2편집 프레임 정보(232)를 통합하여 편집 프레임 정보(240)를 획득할 수 있다. 가중치 적용 정보에 기초하여 특정 프레임 정보에 가중치가 적용되는 경우, 해당 프레임 정보에 포함된 데이터들은 주요 영상 서브 데이터에 포함될 확률이 향상될 수 있다.According to an embodiment, the processor 130 may obtain the edited frame information 240 by integrating the first edited frame information 222 and the second edited frame information 232 based on the weight application information. When a weight is applied to specific frame information based on the weight application information, the probability that data included in the corresponding frame information is included in main image sub-data may be improved.
예를 들어, 제1편집 프레임 정보(222)에 가중치가 적용된다는 가중치 적용 정보에 기초하여 해당 제1편집 프레임 정보(222)에 포함된 하나 이상의 영상 서브 데이터 각각에 가중치가 부여될 수 있다. 이 경우, 가중치가 부여된 하나 이상의 영상 서브 데이터는, 가중치가 부여되지 않은 하나 이상의 영상 서브 데이터(즉, 제2편집 프레임 정보에 포함된 하나 이상의 영상 서브 데이터) 보다 주요 영상 서브 데이터로써 획득될 확률이 높을 수 있다. 구체적인 예를 들어, 가중치가 적용된 제1편집 프레임 정보(222)에 포함된 하나 이상의 영상 서브 데이터들 모두가 주요 영상 서브 데이터로써 선별될 수 있으며, 가중치가 적용되지 않은 제2편집 프레임 정보(232)에 포함된 하나 이상의 영상 서브 데이터들 중 일부(즉, 전부가 아닌 일부)만이 주요 영상 서브 데이터로 선별될 수 있다. 다시 말해, 주요 영상 서브 데이터의 선별 과정에서, 가중치가 적용된 특정 프레임 정보에 포함된 영상 서브 데이터들은 주요 영상 서브 데이터로 선별될 확률을 높게 하며, 가중치가 적용되지 않은 프레임 정보에 포함된 영상 서브 데이터들은 주요 영상 서브 데이터로 선별될 확률을 낮게 할 수 있다. 전술한 가중치 적용에 관한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다. For example, a weight may be assigned to each of one or more image sub-data included in the first edit frame information 222 based on weight application information indicating that a weight is applied to the first edit frame information 222 . In this case, the probability that the one or more image sub-data to which a weight is assigned is obtained as the main image sub-data is greater than the one or more image sub-data to which a weight is not applied (ie, the one or more image sub-data included in the second edit frame information) this can be high For example, all of the one or more image sub-data included in the weighted first edit frame information 222 may be selected as main image sub-data, and the second edit frame information 232 to which weight is not applied Only some (that is, some but not all) of the one or more image sub-data included in may be selected as main image sub-data. In other words, in the process of selecting main video sub-data, video sub-data included in specific frame information to which weights are applied increases the probability of being selected as main video sub-data, and video sub-data included in frame information to which weight is not applied. may lower the probability of being selected as main image sub-data. The detailed description of the weight application described above is only an example, and the present invention is not limited thereto.
즉, 프로세서(130)는 송출되는 스트리밍 컨텐츠의 종류에 따라 영상 분석 및 반응 분석 중 어디에 가중치를 적용하여 주요 영상 데이터를 획득할지를 결정할 수 있다. 다시 말해, 컨텐츠 기본 정보를 식별하여 영상 분석 결과와 반응 분석 결과 중 분석에 신뢰가 있을 것으로 예상되는 영상 서브 데이터들에 가중치를 부여함으로써 추천되는 편집점의 신뢰도 향상을 담보할 수 있다. That is, the processor 130 may determine which of image analysis and reaction analysis to obtain main image data by applying a weight according to the type of streaming content to be transmitted. In other words, by identifying basic content information and assigning weights to video sub-data that are expected to be reliable in analysis among the video analysis results and reaction analysis results, it is possible to ensure improvement in the reliability of recommended editing points.
일 실시예에 따르면, 프로세서(130)는 제1편집 프레임 정보(222) 및 제2편집 프레임 정보(232)에 포함된 하나 이상의 영상 서브 데이터 간의 시점 유사도에 기초하여 추천 강도 정보에 대한 가중치를 부여할 수 있다. 구체적으로, 프로세서(130)는, 제1편집 프레임 정보(222)에 대응하는 하나 이상의 제1주요 영상 서브 데이터 및 제2편집 프레임 정보(232)에 대응하는 하나 이상의 제2주요 영상 서브 데이터 각각의 시점 유사도에 기초하여 추천 강도 정보에 대한 가중치를 부여할 수 있다. 예컨대, 추천 강도 정보에 가중치를 부여하는 것은, 특정 영상 서브 데이터에 대한 추천 정도를 높이는 것으로, 특정 영상 서브 데이터가 높은 흥미 요소에 관련함을 인지시키기 위한 것일 수 있다. 예를 들어, 제1영상 서브 데이터에 관련한 추천 강도 정보에 가중치가 부여되는 경우, 해당 제1영상 서브 데이터는, 영상 편집 과정에서 다른 영상 서브 데이터 보다 높은 추천 정도를 가짐에 따라, 다른 영상 서브 데이터와 구분되는 상이한 색상을 통해 영상 편집 사용자 인터페이스에 표시될 수 있다. According to an embodiment, the processor 130 assigns a weight to the recommendation strength information based on a viewpoint similarity between one or more image sub-data included in the first edit frame information 222 and the second edit frame information 232. can do. Specifically, the processor 130 generates one or more first main video sub-data corresponding to the first edit frame information 222 and one or more second main video sub-data corresponding to the second edit frame information 232, respectively. Based on the viewpoint similarity, a weight may be assigned to recommendation strength information. For example, assigning a weight to recommendation strength information increases the degree of recommendation for specific video sub-data, and may be to recognize that the specific video sub-data is related to a high interest factor. For example, when a weight is given to recommendation strength information related to first video sub-data, the corresponding first video sub-data has a higher recommendation level than other video sub-data in the video editing process, and thus other video sub-data It can be displayed on the video editing user interface through a different color distinguished from .
구체적인 예를 들어, 스트리밍 영상 데이터(220)는 60개의 프레임(즉, 60개의 영상 서브 데이터)를 통해 구성될 수 있다. 스트리밍 영상 데이터(220)에 대한 영상 분석(221)을 통해 획득되는 제1편집 프레임 정보(222)는, 제5영상 서브 데이터, 제11영상 서브 데이터, 제17영상 서브 데이터 및 제56영상 서브 데이터에 대한 정보를 포함할 수 있다. 또한, 시청자 반응 데이터(230)에 대한 반응 분석(231)을 통해 획득되는 제2편집 프레임 정보(232)는, 제11영상 서브 데이터, 제27영상 서브 데이터 및 제57영상 서브 데이터에 대한 정보를 포함할 수 있다.For a specific example, the streaming image data 220 may be composed of 60 frames (ie, 60 image sub-data). The first edit frame information 222 obtained through the video analysis 221 of the streaming video data 220 includes the 5th video sub-data, the 11th video sub-data, the 17th video sub-data, and the 56th video sub-data. may contain information about In addition, the second edit frame information 232 obtained through the reaction analysis 231 for the viewer response data 230 includes information on the 11th video sub-data, the 27th video sub-data, and the 57th video sub-data. can include
이 경우, 프로세서(130)는 제1편집 프레임 정보(222)와 제2편집 프레임 정보(232) 각각에 동일하게 포함된 제11영상 서브 데이터의 추천 강도 정보에 '10'에 관련한 큰 가중치를 적용할 수 있다. 또한, 제1편집 프레임 정보(222)의 제56영상 서브 데이터와 제2편집 프레임 정보(232)의 제57영상 서브 데이터가 유사한 것(즉, 비슷한 시점)을 식별하여 해당 프레임에 관련한 추천 강도 정보에 '8'에 관련한 가중치를 부여할 수 있다. 실시예에서, 각 편집 프레임 정보에 포함된 영상 서브 데이터 간의 시점 차이가 미리 정해진 임계치(예컨대, 3개의 영상 서브 데이터) 이하인 경우, 프로세서(130)는 각 영상 서브 데이터의 추천 강도 정보에 가중치를 부여할 수 있다. 즉, 각 편집 프레임 정보에 영상 서브 데이터가 완벽히 일치하는 경우에는 해당 영상 서브 데이터에 큰 가중치가 부여될 수 있으며, 각 편집 프레임 정보에 영상 서브 데이터 간의 시점 차이가 비교적 가까운 경우, 각 영상 서브 데이터에 가중치가 부여될 수 있고, 그리고 각 편집 프레임 정보에 영상 서브 데이터 간의 시점 상 유사성이 식별되지 않는 경우, 가중치가 부여되지 않을 수 있다. 전술한 스트리밍 영상 데이터, 영상 서브 데이터 및 각 프레임 정보에 포함된 영상 서브 데이터에 대한 구체적인 기재는 예시일 뿐, 본 개시는 이에 제한되지 않는다. In this case, the processor 130 applies a large weight related to '10' to the recommendation strength information of the 11th image sub-data equally included in each of the first edit frame information 222 and the second edit frame information 232. can do. In addition, recommendation intensity information related to the frame is identified by identifying similarities between the 56th video sub-data of the first edit frame information 222 and the 57th video sub-data of the second edit frame information 232 (ie, similar time points). A weight related to '8' can be assigned to . In an embodiment, when the difference in views between video sub-data included in each edit frame information is less than or equal to a predetermined threshold (eg, 3 video sub-data), the processor 130 assigns a weight to recommendation strength information of each video sub-data. can do. That is, when the video sub-data perfectly matches each edit frame information, a large weight can be assigned to the corresponding video sub-data, and when the viewpoint difference between video sub-data is relatively close to each edit frame information, each video sub-data A weight may be assigned, and when similarity in view between video sub-data is not identified in each edit frame information, no weight may be assigned. The detailed description of the above-described streaming video data, video sub-data, and video sub-data included in each frame information is only an example, and the present disclosure is not limited thereto.
즉, 프로세서(130)는 영상 분석 결과와 반응 분석 결과가 동일하거나 또는 유사한 시점에 관련한 프레임을 동시에 지시하는 경우, 해당 프레임에 관련한 추천 강도가 향상되도록, 추천 강도 정보에 대한 가중치를 부여할 수 있다. 다시 말해, 영상 분석의 결과와 반응 분석의 결과 각각이 비슷하거나 또는 동일한 시점을 지시하는 경우, 해당 영상 서브 데이터에 관련하여 추천 강도 정보를 가중할 수 있다.That is, when the image analysis result and the reaction analysis result indicate frames related to the same or similar time points at the same time, the processor 130 may assign a weight to the recommendation strength information so that the recommendation strength related to the corresponding frame is improved. . In other words, when the result of the video analysis and the result of the reaction analysis indicate a similar or identical time point, recommendation strength information may be weighted with respect to the corresponding image sub-data.
본 발명의 일 실시예에 따르면, 편집 프레임 정보에 기초하여 편집점 추천 정보(610)를 생성할 수 있다. 편집점 추천 정보(610)는 스트리밍 영상 데이터에 관련한 하나 이상의 추천 편집점에 관한 정보일 수 있다. 편집점 추천 정보(610)는 하나 이상의 추천 편집점 각각에 대응하는 하나 이상의 편집점 추천 서브 정보를 포함할 수 있다. 이러한 편집점 추천 정보(610)는, 스트리밍 영상 데이터의 편집점에 관련한 시각화 정보일 수 있다. 편집점 추천 정보(610)는 구간 별 중요도에 따라 각 구간 별 상이한 시각화 표현이 부여된 것을 특징으로 할 수 있다. According to an embodiment of the present invention, edit point recommendation information 610 may be generated based on edit frame information. The edit point recommendation information 610 may be information about one or more recommended edit points related to streaming video data. The edit point recommendation information 610 may include one or more edit point recommendation sub information corresponding to each of one or more recommended edit points. The edit point recommendation information 610 may be visualization information related to an edit point of streaming video data. The edit point recommendation information 610 may be characterized in that different visualization expressions are assigned to each section according to the importance of each section.
프로세서(130)는 편집 프레임 정보(240)에 포함된 하나 이상의 주요 영상 서브 데이터 식별 정보 각각에 기초하여 하나 이상의 연관 서브 데이터 식별 정보를 탐색할 수 있다. 또한, 프로세서(130)는 하나 이상의 주요 영상 서브 데이터 식별 정보 및 하나 이상의 연관 서브 데이터 식별 정보에 기초하여 하나 이상의 편집점 추천 서브 정보를 생성할 수 있다. 이 경우, 하나 이상의 연관 서브 데이터 식별 정보 각각은, 각 편집점 추천 서브 정보의 시작에 관련한 시작 프레임 정보 및 각 편집점 추천 서브 정보의 종료에 관련한 종료 프레임 정보를 포함할 수 있다.The processor 130 may search for one or more pieces of related sub-data identification information based on one or more pieces of main image sub-data identification information included in the edit frame information 240 . Also, the processor 130 may generate one or more pieces of edit point recommendation sub information based on one or more main image sub data identification information and one or more related sub data identification information. In this case, each of the one or more pieces of related sub-data identification information may include start frame information related to the start of each edit point recommendation sub information and end frame information related to the end of each edit point recommendation sub information.
즉, 프로세서(130)는 편집 프레임 정보(240)에 포함된 하나 이상의 주요 영상 서브 데이터 식별 정보 각각을 기준으로 하나 이상의 연관 서브 데이터 식별 정보를 탐색함으로써, 하나 이상의 편집점을 포함하는 편집점 추천 정보를 생성할 수 있다. 예를 들어, 스트리밍 영상 데이터가 10분에 대응하는 영상인 경우, 편집점 추천 정보는, 1분 30초대에 관련한 제1편집점 추천 정보, 5분 10초대에 관련한 제2편집점 추천 정보 및 8분 20초대에 관련한 제3편집점 추천 정보를 포함할 수 있다. 전술한 편집점 추천 정보에 포함된 하나 이상의 편집점 추천 정보의 개수 및 각 편집점 추천 정보의 시간대에 관련한 수치적 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.That is, the processor 130 searches for one or more related sub-data identification information based on the one or more main video sub-data identification information included in the edit frame information 240, thereby editing point recommendation information including one or more edit points. can create For example, if the streaming video data is a video corresponding to 10 minutes, the editing point recommendation information includes first editing point recommendation information related to 1 minute and 30 seconds, second editing point recommendation information related to 5 minutes and 10 seconds, and 8 minutes. It may include recommendation information for a third editing point related to an invitation of 20 minutes. The numerical description of the number of one or more pieces of edit point recommendation information included in the aforementioned edit point recommendation information and the time period of each edit point recommendation information is only an example, and the present invention is not limited thereto.
보다 구체적인 예를 들어, 전체 영상 데이터에 대응하는 프레임이 100개인 경우(즉, 전체 영상 데이터를 구성하는 복수의 영상 서브 데이터의 개수가 100개), 그 중 시청자의 반응이 급상승한 프레임(즉, 영상 서브 데이터로)으로써 제34영상 서브 데이터 및 제75영상 서브 데이터 등이 선별되어 주요 영상 서브 데이터를 구성할 수 있다.As a more specific example, when there are 100 frames corresponding to the entire image data (ie, the number of a plurality of image sub-data constituting the entire image data is 100), among them, the frame in which the viewer's response has risen sharply (ie, As the image sub-data), the 34th image sub-data and the 75th image sub-data may be selected to form main image sub-data.
이 경우, 제34영상 서브 데이터 및 제75영상 서브 데이터 각각에 관련한 하나 이상의 연관 서브 데이터들이 식별될 수 있다. 제34영상 서브 데이터의 하나 이상의 연관 서브 데이터로, 제31영상 서브 데이터 내지 제35영상 서브 데이터가 식별될 수 있다. 이 경우, 시작 프레임이 제31영상 서브 데이터이며, 종료 프레임이 제35영상 서브 데이터가 될 수 있다.In this case, one or more related sub-data related to each of the 34th image sub-data and the 75th image sub-data may be identified. As one or more related sub-data of the 34th image sub-data, the 31st image sub-data to the 35th image sub-data may be identified. In this case, the start frame may be the 31st image sub data, and the end frame may be the 35th image sub data.
또한, 제75영상 서브 데이터의 하나 이상의 연관 서브 데이터로, 제70영상 서브 데이터 및 제80영상 서브 데이터가 식별될 수 있다. 이 경우, 시작 프레임이 제70영상 서브 데이터이며, 종료 프레임이 제80영상 서브 데이터가 될 수 있다.In addition, as one or more related sub-data of the 75th image sub-data, the 70th image sub-data and the 80th image sub-data may be identified. In this case, the start frame may be the 70th image sub-data, and the end frame may be the 80th image sub-data.
이에 따라, 프로세서(130)는 100개의 전체 영상 서브 데이터 중 31 내지 35에 관련한 프레임(즉, 제31영상 서브 데이터 내지 제35영상 서브 데이터) 및 70 내지 80(즉, 제70영상 서브 데이터 내지 제80영상 서브 데이터)에 관련한 프레임에 기반하여 편집점 추천 정보(610)를 생성할 수 있다. 전술한 영상 서브 데이터에 관련한 구체적인 수치적 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.Accordingly, the processor 130 processes frames related to 31st to 35th (ie, 31st to 35th video sub-data) and 70 to 80 (ie, 70th to 70th video sub-data) among 100 total image sub-data. Edit point recommendation information 610 may be generated based on a frame related to 80 image sub data). The specific numerical description related to the image sub data described above is only an example, and the present invention is not limited thereto.
또한, 프로세서(130)는 편집 프레임 정보(240)에 포함된 복수의 영상 서브 데이터 각각에 대응하는 추천 강도 정보에 기초하여 구간 별로 상이한 시각적 표현을 포함하는 편집점 추천 정보(610)를 생성할 수 있다. 예를 들어, 제1영상 서브 데이터에 대응하는 추천 강도 정보가 '상'이며, 제2영상 서브 데이터에 대응하는 추천 강도 정보가 '중'이고, 제3영상 서브 데이터에 대응하는 추천 강도 정보가 '하'인 경우, 프로세서(130)는 제1영상 서브 데이터에 대응하는 구간을 붉은색으로 표현하고, 제2영상 서브 데이터에 대응하는 구간을 주황색으로 표현하고, 그리고 제3영상 서브 데이터에 대응하는 구간을 노란색으로 표현하여 편집점 추천 정보를 생성할 수 있다. 전술한 각 구간에 대응하는 색상 표현에 대한 기재는 예시일 뿐, 본 발명의 편집점 추천 정보는 보다 다양한 시각적 표현을 포함하여 생성될 수 있다.In addition, the processor 130 may generate edit point recommendation information 610 including different visual expressions for each section based on recommendation strength information corresponding to each of a plurality of image sub-data included in the edit frame information 240. have. For example, the recommendation intensity information corresponding to the first image sub-data is 'high', the recommendation intensity information corresponding to the second video sub-data is 'medium', and the recommendation intensity information corresponding to the third video sub-data is 'high'. In the case of 'low', the processor 130 displays the section corresponding to the first image sub-data in red, the section corresponding to the second image sub-data in orange, and the corresponding section to the third image sub-data. Edit point recommendation information can be created by expressing the section in yellow. The description of the color expression corresponding to each section described above is only an example, and the edit point recommendation information of the present invention can be generated by including more diverse visual expressions.
즉, 프로세서(130)는 각 추천 편집점의 추천 강도 정보에 따라 상이한 시각적 표현을 통해 편집점 추천 정보를 생성할 수 있다. 이에 따라, 사용자(즉, 편집자)가 편집점 추천 정보를 제공받는 경우, 스트리밍 영상 데이터에서 강하게 추천되는 구간(예컨대, 붉은색을 통해 표시된 구간)과 약하게 추천되는 구간(예컨대, 노란색을 통해 표시된 구간)을 시각적으로 용이하게 인지할 수 있으므로 편집 효율이 향상될 수 있다.That is, the processor 130 may generate edit point recommendation information through different visual expressions according to recommendation strength information of each recommended edit point. Accordingly, when a user (ie, an editor) is provided with edit point recommendation information, a section that is strongly recommended (eg, a section marked in red) and a section that is weakly recommended (eg, a section marked in yellow) in the streaming video data ) can be visually easily recognized, so editing efficiency can be improved.
본 발명의 일 실시예에 따르면, 프로세서(130)는 편집점 추천 정보(610)에 기초하여 영상 편집 사용자 인터페이스(300)를 생성하여 제공할 수 있다. According to an embodiment of the present invention, the processor 130 may generate and provide the video editing user interface 300 based on the edit point recommendation information 610 .
구체적으로, 도 4에 도시된 바와 같이, 영상 편집 사용자 인터페이스(300)는 스트리밍 영상 데이터에 대응하는 편집점 추천 정보를 포함하는 영상 편집 화면(340)을 포함할 수 있다. 일 실시예에 따르면, 영상 편집 사용자 인터페이스(300)는 영상 편집 화면(340)에 대한 사용자의 조정 입력을 허용하는 것을 특징으로 할 수 있다. 조정 입력은 각 편집점 추천 서브 정보에 관련한 길이 조정 입력, 각 편집점 추천 서브 정보에 관련한 제거 입력, 추가 프레임 생성 입력 중 적어도 하나를 포함할 수 있다. 영상 편집 화면(340)은 하나 이상의 편집점 추천 서브 정보 각각에 대응하는 추천 강도 정보에 기초하여 각 편집점을 서로 상이한 시각적 표현을 통해 표시하는 것을 특징으로 할 수 있다. 도 4에 도시된 바와 같이, 영상 편집 화면(340)에는 편집점 추천 정보가 표시될 수 있다. 즉, 편집점 추천 정보에 포함된 하나 이상의 편집점 각각이 추천 강도 정보에 따라 상이한 시각적 표현을 통해 영상 편집 화면(340)에 표시될 수 있다. 이에 따라, 사용자는 편집점 추천 정보(즉, 시각화 정보)를 통해 주요 편집 구간들에 관한 정보(예컨대, 추천 강도에 대한 정보)를 직관적으로 인지할 수 있어, 편집 효율이 향상될 수 있다.Specifically, as shown in FIG. 4 , the video editing user interface 300 may include a video editing screen 340 including edit point recommendation information corresponding to streaming video data. According to an embodiment, the video editing user interface 300 may allow a user's adjustment input to the video editing screen 340 . The adjustment input may include at least one of a length adjustment input related to each edit point recommendation sub information, a removal input related to each edit point recommendation sub information, and an additional frame generation input. The video editing screen 340 may display each edit point through different visual expressions based on recommendation strength information corresponding to one or more pieces of edit point recommendation sub information. As shown in FIG. 4 , edit point recommendation information may be displayed on the video editing screen 340 . That is, each of one or more edit points included in the edit point recommendation information may be displayed on the image editing screen 340 through different visual expressions according to the recommendation strength information. Accordingly, the user can intuitively recognize information (eg, recommendation strength information) on main editing sections through edit point recommendation information (ie, visualization information), so that editing efficiency can be improved.
실시예에 따라, 영상 편집 화면(340)은, 도 4에 도시된 바와 같이, 각 편집점에 대응하여 채팅 데이터의 변화량, 비디오 변화량 및 음성 데이터의 변화량 중 적어도 하나가 표시될 수 있다. 예를 들어, 영상 편집 화면(340)에는 각 추천 편집점(즉, 하나 이상의 편집점 추천 서브 정보)에 대응하여 시점 별 스트리머의 음성 데이터의 발생 횟수 또는 크기에 관련한 정보가 표시될 수 있다. 다른 예를 들어, 영상 편집 화면(340)에는 각 추천 편집점에 대응하여 시점 별 스트리머의 플레이에 관련한 특정 비디오 이벤트의 발생 여부에 관련한 정보가 표시될 수 있다. 또 다른 예를 들어, 영상 편집 화면(340)에는 각 추천 편집점에 대응하여 시점 별 시청자들의 채팅 입력 수의 변화량에 관련한 정보가 표시될 수 있다. 전술한 영상 편집 화면에 표시되는 정보들에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다. Depending on the embodiment, as shown in FIG. 4 , the video editing screen 340 may display at least one of chatting data change amount, video change amount, and audio data change amount corresponding to each edit point. For example, the video editing screen 340 may display information related to the number of occurrences or size of voice data of the streamer for each viewpoint corresponding to each recommended editing point (ie, one or more recommended sub-information of the editing point). For another example, the video editing screen 340 may display information related to whether a specific video event related to the streamer's play for each viewpoint has occurred in correspondence to each recommended editing point. For another example, information related to the amount of change in the number of chatting inputs of viewers for each viewpoint may be displayed on the video editing screen 340 in correspondence with each recommended editing point. The detailed description of the information displayed on the above-described video editing screen is only an example, and the present invention is not limited thereto.
또한, 영상 편집 사용자 인터페이스(300)는 영상 데이터 재생 화면(310)을 포함할 수 있다. 영상 데이터 재생 화면(310)은 스트리밍 영상 데이터의 적어도 일부를 재생시키기 위한 화면일 수 있다. 영상 데이터 재생 화면(310)은 영상 편집 화면(340)에서의 사용자의 조작에 대응하여 스트리밍 영상 데이터의 일부 구간을 재생시킬 수 있다. 예컨대, 사용자가 영상 편집 화면(340)에서 높은 추천 강도를 통해 표시된 제1구간에 대응하는 편집점 추천 서브 정보를 선택하는 경우, 영상 데이터 재생 화면(310)에는 스트리밍 영상 데이터의 제1구간이 재생되어 표시될 수 있다. 실시예에 따르면, 영상 데이터 재생 화면(310)은, 영상 편집 화면(340)에서 특정 추천 편집 구간을 늘리거나 또는 줄이는 사용자의 입력에 대응하는 영상 프레임을 표시할 수 있다. 즉, 사용자는 추천된 편집점에 관련한 영상을 영상 데이터 재생 화면(310)을 통해 제공받을 수 있다. 이에 따라, 각 추천 편집점에 관련한 영상들을 용이하게 인지할 수 있으므로, 편집의 효율이 향상될 수 있다. 추가적으로, 특정 편집 구간을 미세하게 편집하는 과정에서, 사용자의 조정 입력에 대응하는 영상 프레임을 영상 데이터 재생 화면(310)에 표시함으로써, 사용자의 영상 편집 효율이 더욱 향상될 수 있다.Also, the video editing user interface 300 may include a video data playback screen 310 . The video data playback screen 310 may be a screen for reproducing at least a portion of streaming video data. The video data playback screen 310 may reproduce a section of streaming video data in response to a user's manipulation on the video editing screen 340 . For example, when the user selects edit point recommendation sub information corresponding to the first section displayed through high recommendation strength on the video editing screen 340, the first section of streaming video data is reproduced on the video data playback screen 310. can be displayed. According to the embodiment, the video data playback screen 310 may display a video frame corresponding to a user's input to increase or decrease a specific recommended editing section on the video editing screen 340 . That is, the user may be provided with a video related to the recommended editing point through the video data reproduction screen 310 . Accordingly, since images related to each recommended editing point can be easily recognized, editing efficiency can be improved. Additionally, in the process of finely editing a specific editing section, the user's video editing efficiency can be further improved by displaying an image frame corresponding to the user's adjustment input on the image data reproduction screen 310 .
또한, 영상 편집 사용자 인터페이스(300)는 이벤트 표시 화면(320)을 포함할 수 있다. 이벤트 표시 화면(320)은 편집점 추천 정보에 포함된 복수의 편집점 추천 서브 정보 각각의 시작 프레임에 관한 정보와 종료 프레임에 관한 정보가 표시될 수 있다. 또한, 이벤트 표시 화면(320)은 각 편집점 추천 서브 정보에 대응하는 이벤트 타입에 관한 정보가 표시될 수 있다. 이 경우, 이벤트 타입은, 비디오 분석 및 음향 분석에 관련한 영상 분석을 통해 식별될 수 있다. 예컨대, 도 4에 도시된 바와 같이, 이벤트 표시 화면(320)에는, 특정 편집점 추천(즉, 특정 편집점 추천 서브 정보)이, 게임 내 '교전'에 해당한다는 이벤트 타입 정보와 해당 이벤트가 01:05:55 부터 01:06:10까지 진행되었음이 표시될 수 있다. 전술한 이벤트 표시 화면에 표시되는 정보에 관련한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다. 즉, 이벤트 표시 화면(320)에 표시된 정보들을 통해 사용자는 편집 과정에서 각 구간에 관련한 이벤트 타입을 용이하게 파악할 수 있다. 다시 말해, 이벤트 표시 화면(320)을 통해 제공되는 정보들에 기초하여 사용자는 필요한 구간만 용이하게 식별이 가능하므로 편집 시간이 단축되는 등 편집효율이 향상될 수 있다.Also, the video editing user interface 300 may include an event display screen 320 . The event display screen 320 may display information about a start frame and an end frame of each of a plurality of edit point recommendation sub information included in the edit point recommendation information. Also, the event display screen 320 may display information about an event type corresponding to each edit point recommendation sub information. In this case, the event type may be identified through video analysis related to video analysis and audio analysis. For example, as shown in FIG. 4 , on the event display screen 320, event type information indicating that a specific edit point recommendation (ie, specific edit point recommendation sub information) corresponds to 'engagement' in the game and that the corresponding event is 01 It can be displayed that it progressed from :05:55 to 01:06:10. The specific description related to the information displayed on the above-described event display screen is only an example, and the present invention is not limited thereto. That is, through the information displayed on the event display screen 320, the user can easily grasp the type of event related to each section in the editing process. In other words, based on the information provided through the event display screen 320, the user can easily identify only the necessary section, so editing efficiency can be improved, such as reducing editing time.
또한, 영상 편집 사용자 인터페이스(300)는 참고 정보 표시 화면(330)을 포함할 수 있다. 참고 정보 표시 화면(330)은 도 4에 도시된 바와 같이, 각 구간 별 신뢰 정도 및 각 구간 별 자주 노출되는 키워드에 관련한 정보가 표시될 수 있다. 여기서 각 구간 별 자주 노출되는 키워드란, 스트리머 또는 게임에 관련한 음성에 관련한 음향 분석 결과 가장 많이 노출된 키워드에 관련한 것일 수 있다. 또한, 각 구간 별 자주 노출되는 키워드는, 시청자 반응 분석(즉, 채팅창에 노출된 키워드) 결과 가장 많이 노출된 키워드에 관련한 것일 수 있다. 즉, 참고 정보 표시 화면(330)에는 스트리머가 방송 중 각 구간 별로 자주 사용한 키워드나 또는, 시청자들이 방송 중 각 구간 별로 자주 언급한 키워드에 관련한 정보를 표시할 수 있다. 이는, 스트리밍 영상 데이터의 편집 과정에서 각 구간 별 키워드에 관한 정보를 제공함으로써, 특정 구간 탐색 과정에서 편의성을 향상시킬 수 있다. Also, the video editing user interface 300 may include a reference information display screen 330 . As shown in FIG. 4 , the reference information display screen 330 may display information related to a confidence level for each section and frequently exposed keywords for each section. Here, the frequently exposed keyword for each section may be related to a keyword most exposed as a result of sound analysis related to a streamer or a voice related to a game. In addition, frequently exposed keywords for each section may be related to keywords exposed the most as a result of viewer response analysis (ie, keywords exposed in chatting windows). That is, the reference information display screen 330 may display information related to keywords frequently used by streamers for each section during broadcasting or keywords frequently mentioned by viewers for each section during broadcasting. This can improve convenience in the process of searching for a specific section by providing information on keywords for each section in the editing process of streaming video data.
전술한 바와 같이, 편집점 추천 정보를 포함하는 영상 편집 사용자 인터페이스(300)를 제공함으로써, 사용자의 편집 효율 향상을 도모할 수 있다. 추가적으로, 영상 편집 사용자 인터페이스(300)에 포함된 다양한 화면들을 통해 실시간 컨텐츠를 시청한 시청자 단말들의 구간 별 반응을 인지할 수 있으며, 이를 기반으로 편집 영상 제작의 효율이 향상되는 효과를 제공할 수 있다. 다시 말해, 구간 별 반응을 통해 시청자들의 반응을 보다 용이하게 인지하도록 하여 컨텐츠에 대한 개성의 방향성을 제시할 수 있을 뿐 아니라, 편집자의 편집 시간을 단축시키는 등 전반적인 편집 효율을 향상시킬 수 있다. As described above, by providing the video editing user interface 300 including edit point recommendation information, it is possible to improve the user's editing efficiency. Additionally, through various screens included in the video editing user interface 300, it is possible to recognize the reaction of each section of the viewer terminals who watched real-time content, and based on this, it is possible to provide an effect of improving the efficiency of editing video production. . In other words, it is possible to present a direction of individuality for content by making it easier to recognize viewers' reactions through section-by-section reactions, and overall editing efficiency can be improved by reducing the editor's editing time.
본 발명의 일 실시예에 따르면, 프로세서(130)는 복수의 사용자 각각에 대응하는 복수의 스트리밍 컨텐츠 정보 및 복수의 편집 이력 정보를 획득하여 편집 스타일 데이터베이스를 구축할 수 있다. 여기서 복수의 사용자는, 스트리밍 서버를 통해 비디오 및 오디오 컨텐츠 등 다양한 실시간 컨텐츠를 송출하는 복수의 스트리머 각각을 의미할 수 있다. 스트리밍 컨텐츠 정보는 컨텐츠 기본 정보 및 스트리밍 데이터를 포함할 수 있다. 컨텐츠 기본 정보는 사용자(즉, 스트리머)의 방송 컨텐츠에 관련한 정보를 포함할 수 있다. 예를 들어, 컨텐츠 기본 정보는, 제1사용자의 스트리밍 영상 데이터가 게임 방송 컨텐츠, 야외 방송 컨텐츠 및 소통 방송 컨텐츠 중 적어도 하나에 관련한다는 정보를 포함할 수 있다. 또한 예를 들어, 컨텐츠 기본 정보는 스트리밍 영상 데이터를 송출하는 사용자(또는 스트리머)의 이름, 나이, 성별에 관련한 정보 등을 더 포함할 수 있다. 전술한 컨텐츠 기본 정보에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.According to an embodiment of the present invention, the processor 130 may acquire a plurality of streaming content information and a plurality of editing history information corresponding to each of a plurality of users to build an editing style database. Here, a plurality of users may mean a plurality of streamers each transmitting various real-time contents such as video and audio contents through a streaming server. Streaming content information may include basic content information and streaming data. Basic content information may include information related to broadcast content of a user (ie, a streamer). For example, the basic content information may include information indicating that the streaming image data of the first user is related to at least one of game broadcasting content, outdoor broadcasting content, and communication broadcasting content. Also, for example, the basic content information may further include information related to the name, age, and gender of a user (or streamer) transmitting streaming video data. The detailed description of the above-described basic content information is only an example, and the present invention is not limited thereto.
스트리밍 데이터는, 방송 컨텐츠에 관련한 스트리밍 영상 데이터 및 해당 영상 데이터를 시청하는 복수의 시청자들의 반응에 관련한 시청자 반응 데이터를 포함할 수 있다. 스트리밍 영상 데이터는, 복수의 영상 서브 데이터를 복수의 프레임으로써 구성하는 영상에 관련한 데이터일 수 있다. 시청자 반응 데이터는, 실시간으로 송출되는 스트리밍 영상 데이터를 시청한 하나 이상의 시청자들의 반응에 관련한 데이터일 수 있다. 예컨대, 시청자 반응 데이터는, 스트리밍 영상 데이터를 시청하는 시청자의 수에 관한 정보, 스트리밍 영상 데이터에 관련한 채팅 빈도에 관한 정보, 스트리밍 영상 데이터에 관련한 채팅 키워드 정보 및 스트리밍 영상 데이터에 관련한 도네이션 정보 중 적어도 하나를 포함할 수 있다. 구체적인 예를 들어, 시청자 반응 데이터는, 사용자 단말(즉, 스트리머 단말)이 실시간 송출하는 스트리밍 영상 데이터에서의 제1시점에 관련하여 제1시청자 단말로부터 채팅창을 통해 수신되는 채팅 입력에 관한 정보일 수 있다. 다른 예를 들어, 시청자 반응 데이터는, 사용자 단말(즉, 스트리머 단말)이 실시간 송출하는 스트리밍 영상 데이터에서의 제2시점에 관련하여 제2시청자 단말로부터 수신되는 도네이션 입력에 관한 정보일 수 있다. 전술한 시청자 반응 데이터에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.Streaming data may include streaming image data related to broadcast content and viewer response data related to reactions of a plurality of viewers watching the corresponding image data. The streaming image data may be data related to an image comprising a plurality of image sub-data as a plurality of frames. Viewer reaction data may be data related to reactions of one or more viewers who watch streaming video data transmitted in real time. For example, the viewer response data may include at least one of information on the number of viewers watching the streaming video data, information on chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and donation information related to the streaming video data. can include For example, the viewer response data is information about a chat input received through a chat window from a first viewer terminal in relation to a first point in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal) can be For another example, the viewer response data may be information about a donation input received from a second viewer terminal in relation to a second viewpoint in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal). The detailed description of the above-described viewer response data is only an example, and the present invention is not limited thereto.
일 실시예에서, 복수의 편집 이력 정보 각각은, 편집점 추천 정보(610) 및 편집점 추천 정보(610)에 대응하는 편집점 보정 정보를 포함할 수 있다. 편집 이력 정보는, 본 발명의 서버(100)로부터 제공받은 편집점 추천 정보(610)와 해당 편집점 추천 정보(610)에 기초하여 사용자가 실제로 편집을 확정한 편집점 보정 정보를 포함할 수 있다. 이러한 편집 이력 정보는, 각 사용자의 편집 스타일을 파악하는데 유의미한 정보일 수 있다.In an embodiment, each of the pieces of edit history information may include edit point recommendation information 610 and edit point correction information corresponding to the edit point recommendation information 610 . The editing history information may include edit point recommendation information 610 provided from the server 100 of the present invention and edit point correction information in which the user actually decides to edit based on the corresponding edit point recommendation information 610. . Such editing history information may be meaningful information for understanding each user's editing style.
실시예에 따르면, 편집점 추천 정보(610)는, 스트리밍 컨텐츠 정보에 대한 영상 분석 및 반응 분석을 통해 획득되는 시각화 정보일 수 있다. 편집점 추천 정보(610)는 하나 이상의 편집점 각각이 추천 강도 정보에 따라 상이한 시각적 표현을 통해 표현된 시각화 정보일 수 있다. 구체적인 예를 들어, 편집점 추천 정보(610)는, 도 7에 도시된 바와 같이, 전체 스트리밍 영상 데이터에 대응하여 각 구간별 추천 강도에 따라 상이한 색상을 통해 표시되는 시각화 정보일 수 있다. According to an embodiment, the edit point recommendation information 610 may be visualization information obtained through video analysis and reaction analysis on streaming content information. The edit point recommendation information 610 may be visualization information in which each of one or more edit points is expressed through different visual expressions according to recommendation strength information. As a specific example, as shown in FIG. 7 , the edit point recommendation information 610 may be visualization information displayed in different colors according to the strength of recommendation for each section corresponding to all streaming video data.
즉, 편집점 추천 정보(610)는, 스트리밍 영상 데이터의 전체 프레임 중 재미 요소가 가장 두드러지게 나타나는 하이라이트 구간에 관련한 추천 정보로, 예컨대, 해당 영상 데이터에서 시청자들이 가장 흥미를 가질 것으로 예측되는 구간들을 다른 구간들과 상이하게 표현한 시각화 정보일 수 있다.That is, the edit point recommendation information 610 is recommendation information related to a highlight section in which the fun factor appears most prominently among all frames of the streaming video data. It may be visualization information expressed differently from other sections.
편집점 보정 정보(620)는, 편집점 추천 정보(610)에 대한 보정(또는 수정)을 통해 생성되는 것일 수 있다. 구체적으로, 편집점 추천 정보(610)는 영상 편집 사용자 인터페이스(300)에 포함되어 사용자에게 제공될 수 있으며, 사용자의 다양한 조정 입력(예컨대, 삭제, 구간 길이 조정, 추가 등)에 따라 변경될 수 있다. 예를 들어, 사용자는 영상 편집 사용자 인터페이스(300)를 통한 조정 입력을 통해 스트리밍 영상 데이터에 대응하여 추천된 편집점 추천 정보(610)에서 일 구간을 삭제할 수 있다. 다른 예를 들어, 사용자는 영상 편집 사용자 인터페이스(300)를 통한 조정 입력을 통해 스트리밍 영상 데이터에 대응하여 추천된 편집점 추천 정보(610)에서 일 구간의 길이를 조정하거나, 추천 강도를 변경할 수 있다. 또 다른 예를 들어, 사용자는 영상 편집 사용자 인터페이스(300)를 통해 스트리밍 영상 데이터에 대응하여 추천된 편집점 추천 정보(610)에서 새로운 프레임을 주요 구간으로 추가할 수 있다. 즉, 영상 편집 사용자 인터페이스(300)를 통해 편집점 추천 정보(610)에 사용자의 다양한 조정 입력이 인가됨에 따라 편집점 보정 정보(620)가 생성될 수 있다. 다시 말해, 편집점 보정 정보(620)는 추천된 편집점 추천 정보(610)에 대응하여 사용자가 실제로 편집을 확정한 정보에 관련한 것일 수 있다. 보다 구체적인 예를 들어, 편집점 추천 정보(610)에 대응하여 획득된 편집점 보정 정보(620)는 도 7에 도시된 바와 같을 수 있다.The edit point correction information 620 may be generated through correction (or modification) of the edit point recommendation information 610 . Specifically, the edit point recommendation information 610 may be included in the video editing user interface 300 and provided to the user, and may be changed according to various adjustment inputs of the user (eg, deletion, section length adjustment, addition, etc.) have. For example, the user may delete a section from the recommended edit point recommendation information 610 corresponding to the streaming video data through an adjustment input through the video editing user interface 300 . For another example, the user may adjust the length of one section or change the recommendation strength in the recommended editing point recommendation information 610 in response to the streaming video data through an adjustment input through the video editing user interface 300. . For another example, the user may add a new frame as a main section in the recommended editing point recommendation information 610 corresponding to the streaming video data through the video editing user interface 300 . That is, as various user adjustment inputs are applied to the edit point recommendation information 610 through the video editing user interface 300 , the edit point correction information 620 may be generated. In other words, the edit point correction information 620 may be related to information on which the user has actually decided to edit, corresponding to the recommended edit point recommendation information 610 . For a more specific example, the edit point correction information 620 acquired in correspondence with the edit point recommendation information 610 may be as shown in FIG. 7 .
본 발명의 일 실시예에 따르면, 프로세서(130)는 편집 스타일 데이터베이스에 대한 클러스터링을 수행할 수 있다. 프로세서(130)는 복수의 스트리밍 컨텐츠 정보 및 복수의 편집 이력 정보 각각을 하나 이상의 클러스터 각각으로 분류할 수 있다. 여기서, 하나 이상의 클러스터 각각은, 복수의 사용자 각각의 편집 스타일을 분류하기 위한 기준이 될 수 있다.According to an embodiment of the present invention, the processor 130 may perform clustering on the editing style database. The processor 130 may classify each of a plurality of pieces of streaming content information and a plurality of pieces of editing history information into one or more clusters, respectively. Here, each of one or more clusters may be a criterion for classifying the editing style of each of a plurality of users.
보다 구체적으로, 프로세서(130)는 편집 스타일 데이터베이스에 포함된 데이터들에 대한 전처리를 수행할 수 있다. 편집 스타일 데이터베이스는 복수의 사용자들 각각에 대응하는 복수의 스트리밍 컨텐츠 데이터 및 복수의 편집 이력 정보를 포함할 수 있다. 프로세서(130)는 복수의 스트리밍 컨텐츠 데이터 및 복수의 편집 이력 정보를 구성하는 다양한 요소들(예컨대, 방송 종류, 스트리머의 성별, 나이, 시청자 정보, 편집점 마커 조작 횟수, 편집 이력 정보 간의 차이 등)을 기준으로 각 사용자에 대응하는 데이터(즉, 스트리밍 컨텐츠 데이터 및 편집 이력 정보)를 벡터화할 수 있다. 예를 들어, 프로세서(130)는 차원 감소 네트워크 함수(예컨대, 인코더)를 통해 각 사용자에 대응하는 데이터를 n*m차원에 벡터화하여 표시할 수 있다. 차원 감소 네트워크 함수는 각 사용자의 데이터를 입력으로 하여 피처(즉, 벡터 공간 상의 임베딩)을 추출할 수 있다. 또한, 프로세서(130)는 주성분분석(PCA, Principle Component Analysis)을 통해 최적 피처를 결정할 수 있다. More specifically, the processor 130 may perform pre-processing on data included in the editing style database. The editing style database may include a plurality of streaming content data and a plurality of editing history information corresponding to each of a plurality of users. The processor 130 determines various elements constituting the plurality of streaming content data and the plurality of editing history information (eg, broadcast type, streamer's gender, age, viewer information, number of edit point marker manipulations, difference between editing history information, etc. ), data corresponding to each user (ie, streaming content data and editing history information) may be vectorized. For example, the processor 130 may vectorize and display data corresponding to each user in n*m dimensions through a dimension reduction network function (eg, an encoder). The dimensionality reduction network function may extract features (ie, embeddings on a vector space) by taking each user's data as an input. Also, the processor 130 may determine an optimal feature through principle component analysis (PCA).
또한, 프로세서(130)는 벡터 공간 상에 임베딩된 피처들을 k-means 알고리즘에 기반하여 하나 이상의 클러스터로 분류함으로써, 클러스터링을 수행할 수 있다. 예컨대, 프로세서(130)는 스트리밍 컨텐츠 데이터 및 편집 이력 정보를 구성하는 복수의 요소들에 대응하여 벡터화된 피처들이 형성하는 초기 클러스터에 기반하여 k개의 센트로이드(centroid)를 설정할 수 있다. 프로세서(130)는, k개의 센트로이드를 설정한 후, 각 요소들이 형성하는 클러스터 간의 거리에 기반하여 센트로이드를 할당할 수 있다. 다시 말해, 각 요소들과 가까운 위치에 각 센트로이드가 할당될 수 있다. 이후, 프로세서(130)는 각 클러스터에 대응하여 각 센트로이드를 클러스터의 중심부로 이동시켜 각 센트로이드를 갱신할 수 있다. 프로세서(130)는 클러스터의 할당이 변하지 않거나, 미리 지정된 허용오차나 최대 반복 횟수에 도달할 때까지 센트로이드 할당과 갱신 과정을 반복함으로써, 알고리즘의 최적화를 수행할 수 있다. 예컨대, 프로세서(130)는 센트로이드가 변화할 때 마다 오차 제곱합을 반복적으로 계산하면서, 변화량에 대한 허용 오차값이 일정 수준 내로 돌아오는 것을 식별하여 최적화를 수행할 수 있다. 전술한 과정을 통해 프로세서(130)는 복수의 스트리밍 컨텐츠 데이터 및 복수의 편집 이력 정보를 하나 이상의 클러스터 각각으로 분류할 수 있다. 전술한 설명에서는 프로세서가 k-means 알고리즘에 기반하여 클러스터링을 수행함을 기재하나, 이는 예시일 뿐, 본 발명은 이에 제한되지 않는다. 예컨대, 본 발명의 클러스터링은, 밀도에 기반하여 군집을 할당하는 DBSCAN 또는 Gaussian Mixture Model을 통해 수행될 수도 있다. Also, the processor 130 may perform clustering by classifying features embedded in the vector space into one or more clusters based on a k-means algorithm. For example, the processor 130 may set k centroids based on initial clusters formed by vectorized features corresponding to a plurality of elements constituting streaming content data and editing history information. After setting k centroids, the processor 130 may allocate centroids based on distances between clusters formed by each element. In other words, each centroid can be assigned to a position close to each element. Thereafter, the processor 130 may update each centroid by moving each centroid to the center of the cluster corresponding to each cluster. The processor 130 may optimize the algorithm by repeating the process of assigning and updating centroids until the cluster assignment does not change or until a predetermined tolerance or maximum number of iterations is reached. For example, the processor 130 may perform optimization by identifying that the allowable error value for the amount of change returns to within a certain level while repeatedly calculating the sum of squared errors whenever the centroid changes. Through the above process, the processor 130 may classify a plurality of streaming content data and a plurality of editing history information into one or more clusters, respectively. In the above description, it is described that the processor performs clustering based on the k-means algorithm, but this is only an example and the present invention is not limited thereto. For example, the clustering of the present invention may be performed through DBSCAN or Gaussian Mixture Model, which allocates clusters based on density.
다른 실시예에 따르면, 프로세서(130)는 분류 모델을 활용하여 복수의 스트리밍 컨텐츠 데이터 및 복수의 편집 이력 정보를 하나 이상의 클러스터 각각으로 분류할 수 있다. 분류 모델을 활용하여 클러스터링을 수행하는 방법은 도 5를 참조하여 이하에서 후술하도록 한다.According to another embodiment, the processor 130 may classify a plurality of streaming content data and a plurality of editing history information into one or more clusters, respectively, by utilizing a classification model. A method of performing clustering using a classification model will be described below with reference to FIG. 5 .
본 발명의 분류 모델은 프로세서(130)에 의해 해공간(400)상에서 유사한 데이터들끼리 클러스터를 형성하도록 학습될 수 있다. 보다 구체적으로 분류 모델은 타겟 데이터(401)와 타겟 유사 데이터(402)가 하나의 클러스터(410)에 포함되고, 타겟 비유사 데이터(403)는 타겟 데이터(401)와 타겟 유사 데이터(402)와는 상이한 클러스터에 포함되도록 학습될 수 있다. 학습된 분류모델의 해공간 상에서 각각의 클러스터는 일정 거리 마진(420)을 가지도록 위치할 수 있다.The classification model of the present invention can be learned by the processor 130 to form a cluster between similar data on the sea space 400 . More specifically, in the classification model, target data 401 and target similar data 402 are included in one cluster 410, and target dissimilar data 403 is different from target data 401 and target similar data 402. It can be learned to be included in different clusters. In the sea space of the learned classification model, each cluster may be positioned to have a certain distance margin 420 .
분류 모델은 타겟 데이터(401), 타겟 시밀러 데이터(402), 타겟 디스시밀러 데이터(403)를 포함하는 학습 데이터 서브 세트를 입력 받아 각각의 데이터들을 해공간에 매핑하고 해공간 상에서 라벨링 된 클러스터 정보에 따라 클러스터링 될 수 있도록 분류 모델이 포함한 하나 이상의 네트워크 함수의 가중치를 업데이트 할 수 있다. 즉, 분류 모델은 타겟 데이터(401)와 타겟 시밀러 데이터(402)의 해공간 상에서의 거리가 서로 가까워지도록, 타겟 데이터(401) 및 타겟 시밀러 데이터(402)와 타겟 디스시밀러 데이터(403) 사이의 해공간 상에서의 거리가 서로 멀어지도록 학습시킬 수 있다. 분류 모델은 예를 들어 트리플렛(triplet) 기반 비용 함수를 사용하여 학습될 수 있다. 트리플렛 기반 비용 함수는 동일한 분류인 입력 데이터들의 쌍을 다른 분류의 제 3 입력 데이터로부터 분리하는 것을 목표로 하며, 동일한 분류인 입력 데이터들의 쌍 사이의 제 1 거리(즉, 클러스터 410의 크기)와, 동일한 분류인 입력 데이터들의 쌍 중 하나와 제 3 의 입력 데이터 사이의 제 2 거리(즉, 401 또는 402와 403 사이의 거리) 사이의 차이 값이 적어도 거리 마진(420)로 하며, 분류 모델을 학습시키는 방법은 제 1 거리를 거리 마진의 일정 비율 이하로 감소시키는 단계를 포함한다. 여기서 거리 마진(420)은 항상 양수일 수 있다. 거리 마진(420)에 도달하도록 하기 위하여 분류 모델에 포함된 하나 이상의 네트워크 함수의 가중치가 업데이트 될 수 있으며, 가중치 업데이트는 반복(iteration) 마다 또는 1 에포크 마다 수행될 수 있다.The classification model receives a subset of learning data including target data 401, target similar data 402, and target dissimilar data 403, maps each data to the sea space, and obtains labeled cluster information in the sea space The weights of one or more network functions included in the classification model can be updated so that they can be clustered according to . That is, in the classification model, the target data 401, the target similar data 402, and the target dissimilar data 403 such that the distances of the target data 401 and the target similar data 402 in the sea space become close to each other. ) can be trained so that the distances in the solution space between them become farther apart from each other. Classification models can be trained using, for example, triplet-based cost functions. The triplet-based cost function aims to separate pairs of input data of the same class from third input data of different classes, and determines the first distance between pairs of input data of the same class (i.e., the size of the cluster 410); A difference value between a second distance (ie, 401 or the distance between 402 and 403) between one of the pairs of input data of the same classification and the third input data is at least a distance margin 420, and the classification model is learned. A method of doing this includes reducing the first distance below a certain percentage of the distance margin. Here, the distance margin 420 can always be a positive number. Weights of one or more network functions included in the classification model may be updated to reach the distance margin 420, and the weight update may be performed per iteration or per epoch.
또한, 분류 모델은 비유사한 데이터의 클러스터 분류뿐 아니라, 하나의 클러스터 또는 다른 클러스터 사이에도 각각의 데이터들 사이의 시멘틱(semantic) 한 관계를 고려할 수 있는 마그넷 로스(magnet loss) 기반의 모델로 학습될 수도 있다. 분류 모델의 해공간 상에서 각각의 클러스터의 중심점 사이의 초기 거리가 학습 과정에서 수정될 수 있다. 분류 모델은 해공간 상에 데이터들을 매핑한 후, 각각의 데이터의 해공간 상에서의 위치를 각각의 데이터가 속하는 클러스터 및 클러스터 내부 및 클러스터 외부의 데이터와 유사성에 기초하여 조정할 수 있다. In addition, the classification model can be learned as a magnet loss-based model that can consider not only cluster classification of dissimilar data, but also a semantic relationship between individual data in one cluster or another cluster. may be The initial distance between the center points of each cluster on the solution space of the classification model may be modified in the learning process. After mapping the data on the sea space, the classification model may adjust the location of each data on the sea space based on the cluster to which each data belongs and the similarity with the data inside and outside the cluster.
즉, 프로세서(130)는 복수의 스트리밍 컨텐츠 데이터 및 복수의 편집 이력 정보를 하나 이상의 클러스터 각각으로 분류하도록 분류 모델을 학습시킬 수 있다.That is, the processor 130 may train a classification model to classify a plurality of streaming content data and a plurality of editing history information into one or more clusters, respectively.
도 5에 도시된 해공간(400)은 예시일 뿐이며, 분류 모델은 임의의 개수의 클러스터 및 각 클러스터 당 임의의 개수의 데이터를 포함할 수 있다. 도 5에 도시된 클러스터에 포함된 데이터들(431, 433, 441, 443 등)의 모양은 유사한 데이터임을 나타내기 위한 예시일 뿐이다.The sea space 400 shown in FIG. 5 is only an example, and the classification model may include an arbitrary number of clusters and an arbitrary number of data for each cluster. The shape of the data (431, 433, 441, 443, etc.) included in the cluster shown in FIG. 5 is only an example to indicate similar data.
본 개시에서 해공간은 1차원 이상의 공간으로 구성되며 하나 이상의 클러스터를 포함하고, 각각의 클러스터는 각각의 타겟 데이터에 기초한 특징 데이터 및 타겟 유사 데이터에 기초한 특징 데이터의 해공간 상에서의 위치에 기초하여 구성될 수 있다.In the present disclosure, the sea space is composed of one or more dimensional space and includes one or more clusters, and each cluster is configured based on the location of feature data based on each target data and feature data based on target similar data in the sea space. It can be.
해공간에서 제 1 클러스터(430)와 제 2 클러스터(440)는 비유사한 데이터에 대한 클러스터 일 수 있다. 또한, 제 3 클러스터(450)는 제 1 및 제 2 클러스터와 비유사한 데이터에 대한 클러스터 일 수 있다. 클러스터 사이의 거리(445, 435)는 각각의 클러스터에 속하는 데이터들의 차이를 나타내는 척도일 수 있다. In the sea space, the first cluster 430 and the second cluster 440 may be clusters for dissimilar data. Also, the third cluster 450 may be a cluster for data dissimilar to the first and second clusters. The distances 445 and 435 between clusters may be measures representing differences in data belonging to each cluster.
제 1 클러스터(430)와 제 2 클러스터(440) 사이의 제 12 거리(445)는 제 1 클러스터(430)에 속하는 데이터와 제 2 클러스터(440)에 속하는 데이터의 차이를 나타내는 척도일 수 있다. 또한, 제 1 클러스터(430)와 제 2 클러스터(440)사이의 제 13 거리(435)는 제 1 클러스터(430)에 속하는 데이터와 제 3 클러스터(450)에 속하는 데이터의 차이를 나타내는 척도일 수 있다. 도 5에 도시된 예시에서, 제 1 클러스터(430)에 속하는 데이터는 제 3 클러스터(450)에 속하는 데이터 보다 제 2 클러스터(440)에 속하는 데이터에 더 비유사 할 수 있다. 즉, 클러스터 사이의 거리가 먼 경우 각각의 클러스터에 속하는 데이터는 보다 많이 비유사한 것이며, 클러스터 사이의 거리가 가까운 경우 각각의 클러스터에 속하는 데이터는 보다 적게 비유사한 것일 수 있다. 클러스터 사이의 거리(435, 445)는 클러스터의 반경 보다 사전 결정된 비율 이상 클 수 있다. 프로세서(130)는 입력 데이터(즉, 각 사용자에 대응하는 복수의 스트리밍 컨텐츠 정보 및 복수의 편집 이력 정보)를 분류 모델을 이용하여 연산함으로써, 분류 모델의 해공간에 입력 데이터의 특징 데이터가 매핑되는 위치에 기초하여 입력 데이터를 분류할 수 있다. The twelfth distance 445 between the first cluster 430 and the second cluster 440 may be a measure representing a difference between data belonging to the first cluster 430 and data belonging to the second cluster 440 . Also, the thirteenth distance 435 between the first cluster 430 and the second cluster 440 may be a measure representing a difference between data belonging to the first cluster 430 and data belonging to the third cluster 450. have. In the example shown in FIG. 5 , data belonging to the first cluster 430 may be more similar to data belonging to the second cluster 440 than data belonging to the third cluster 450 . That is, when the distance between clusters is long, data belonging to each cluster may be more dissimilar, and when the distance between clusters is short, data belonging to each cluster may be less dissimilar. The distances 435 and 445 between the clusters may be greater than a predetermined ratio or greater than the radius of the clusters. The processor 130 calculates input data (ie, a plurality of streaming content information and a plurality of editing history information corresponding to each user) using a classification model, whereby the feature data of the input data is mapped to the sea space of the classification model. Based on the input data can be classified.
프로세서(130)는 입력 데이터를 사전 학습된 분류 모델을 이용하여 처리함으로써, 입력 데이터의 특징 데이터를 사전 학습된 분류 모델의 해공간에 매핑할 수 있다. 프로세서(130)는 입력 데이터의 해공간 상에서의 위치에 기초하여 상기 입력 데이터가 해공간 상의 하나 이상의 클러스터 중 어느 클러스터에 속하는지 여부에 기초하여 입력 데이터를 분류할 수 있다. The processor 130 may process input data using a pre-learned classification model, thereby mapping feature data of the input data to the solution space of the pre-learned classification model. The processor 130 may classify the input data based on which cluster among one or more clusters in the sea space the input data belongs to based on the location of the input data in the sea space.
다시 말해, 프로세서(130)는 학습된 분류 모델을 통해 복수의 스트리밍 컨텐츠 데이터 및 복수의 편집 이력 정보들을 클러스터링하여 하나 이상의 클러스터를 생성할 수 있다. 하나 이상의 클러스터 각각은, 복수의 사용자 각각의 편집 스타일을 분류하기 위한 기준이 될 수 있다. 즉, 각 클러스터는 다양한 편집 스타일 각각과 연관될 수 있다. In other words, the processor 130 may generate one or more clusters by clustering a plurality of streaming content data and a plurality of editing history information through the learned classification model. Each of one or more clusters may be a criterion for classifying editing styles of each of a plurality of users. That is, each cluster may be associated with each of various editing styles.
구체적인 예를 들어, 분류 모델을 통한 분류에 따라 생성된 하나 이상의 클러스터는 도 6에 도시된 바와 같을 수 있다. 하나 이상의 클러스터는, 편집 타입 A(511), 편집 타입 B(512) 및 편집 타입 C(513)를 포함할 수 있다. 복수의 스트리밍 컨텐츠 데이터 및 복수의 편집 이력 정보들은 분류 모델을 통해 편집 타입 A(511), 편집 타입 B(512) 및 편집 타입 C(513) 각각으로 분류될 수 있다. 이 경우, 편집 타입 A(511)는 방송 종류가 '리그오브레전드'이며, 시간당 채팅빈도가 10000~20000이고, 편집 조작 정도가 '낮음'에 관련한 데이터들을 포함할 수 있다. 또한, 편집 타입 B(512)는 방송 종류가 '배틀그라운드'이며, 시간당 채팅빈도가 2000~4000이고, 편집 조작 정도가 '중간'에 관련한 데이터들을 포함할 수 있다. 또한, 편집 타입 C(513) 방송 종류가 '소통'이며, 시간당 채팅빈도가 300~500이고, 편집 조작 정도가 '높음'에 관련한 데이터들을 포함할 수 있다. 전술한 각 클러스터(또는 각 편집 타입)에 관련한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다. For example, one or more clusters generated according to classification through a classification model may be as shown in FIG. 6 . One or more clusters may include edit type A (511), edit type B (512), and edit type C (513). A plurality of streaming content data and a plurality of edit history information may be classified into edit type A 511 , edit type B 512 , and edit type C 513 through a classification model. In this case, the editing type A 511 may include data related to a broadcasting type of 'League of Legends', an hourly chatting frequency of 10000 to 20000, and an editing operation degree of 'low'. In addition, the editing type B 512 may include data related to a broadcasting type of 'battleground', a chatting frequency per hour of 2000 to 4000, and an editing manipulation degree of 'medium'. In addition, editing type C (513) may include data related to a broadcasting type of 'communication', a chatting frequency per hour of 300 to 500, and an editing operation degree of 'high'. The detailed description related to each cluster (or each editing type) described above is only an example, and the present invention is not limited thereto.
즉, 프로세서(130)는 복수의 스트리밍 컨텐츠 정보 및 복수의 편집 이력 정보 각각을 하나 이상의 클러스터 각각으로 분류하여 클러스터링을 수행할 수 있다.That is, the processor 130 may perform clustering by classifying each of the plurality of streaming content information and the plurality of editing history information into one or more clusters.
본 발명의 일 실시예에 따르면, 프로세서(130)는 클러스터링 수행 결과에 기초하여 편집 스타일 분류 모델을 생성할 수 있다.According to an embodiment of the present invention, the processor 130 may generate an editing style classification model based on a clustering result.
구체적으로, 프로세서(130)는 복수의 스트리밍 컨텐츠 정보 및 복수의 편집 이력 정보에 기초하여 복수의 학습 입력 데이터를 생성하고, 각 스트리밍 컨텐츠 정보 및 복수의 편집 이력 정보에 대응하는 하나 이상의 클러스터 각각에 기초하여 복수의 학습 출력 데이터를 생성할 수 있다. 또한, 프로세서는 학습 입력 데이터 각각에 대응하는 학습 출력 데이터 세트 각각을 매칭하여 라벨링함으로써 학습 데이터 세트를 구축할 수 있다. 프로세서(130)는 학습 데이터 세트를 통해 하나 이상의 네트워크 함수에 대한 학습을 수행하여 편집 스타일 분류 모델을 생성할 수 있다. 이에 따라, 생성된 편집 스타일 분류 모델은, 특정 사용자의 스트리밍 컨텐츠 정보 및 편집 이력 정보를 입력으로 하여 특정 클러스터(즉, 편집 스타일 정보)를 도출할 수 있다.Specifically, the processor 130 generates a plurality of learning input data based on a plurality of streaming content information and a plurality of editing history information, and based on each of one or more clusters corresponding to each streaming content information and a plurality of editing history information. Thus, a plurality of learning output data can be generated. In addition, the processor may build a learning data set by matching and labeling each learning output data set corresponding to each learning input data. The processor 130 may generate an editing style classification model by performing learning on one or more network functions through a training data set. Accordingly, the generated editing style classification model may derive a specific cluster (ie, editing style information) by taking streaming content information and editing history information of a specific user as inputs.
본 발명의 일 실시예에 따르면, 프로세서(130)는 각 클러스터에 포함된 복수의 편집 이력 정보에 기초하여 상기 각 클러스터에 대응하는 하나 이상의 스타일 편집점 추천 모델을 생성할 수 있다. 보다 구체적으로, 편집 이력 정보는, 편집점 추천 정보(610) 및 편집점 추천 정보(610)에 대응하는 편집점 보정 정보(620)를 포함할 수 있다. 편집 이력 정보는, 본 발명의 서버(100)로부터 제공받은 편집점 추천 정보(610)와 해당 편집점 추천 정보(610)에 기초하여 사용자가 실제로 편집을 확정한 편집점 보정 정보(620)를 포함할 수 있다. 이러한 편집 이력 정보는, 각 사용자의 편집 스타일을 파악하는데 유의미한 정보일 수 있다. According to an embodiment of the present invention, the processor 130 may generate one or more style edit point recommendation models corresponding to each cluster based on a plurality of edit history information included in each cluster. More specifically, the editing history information may include edit point recommendation information 610 and edit point correction information 620 corresponding to the edit point recommendation information 610 . The editing history information includes edit point recommendation information 610 provided from the server 100 of the present invention and edit point correction information 620 in which the user actually confirmed editing based on the corresponding edit point recommendation information 610. can do. Such editing history information may be meaningful information for understanding each user's editing style.
프로세서(130)는 각 클러스터에 포함된 복수의 편집점 추천 정보에 기초하여 복수의 학습 입력 데이터를 구축하고, 복수의 편집점 보정 정보에 기초하여 복수의 학습 출력 데이터를 구축할 수 있다. 또한, 프로세서(130)는 복수의 학습 입력 데이터에 대응하는 복수의 학습 출력 데이터를 매칭하여 라벨링함으로써, 각 클러스터에 대응하는 학습 데이터 세트를 구축할 수 있다. 즉, 각 클러스터 별로 편집점 추천 정보와 편집점 보정 정보에 관련한 학습 데이터 세트가 구축될 수 있다. 프로세서(130)는 각 클러스터에 대응하는 하나 이상의 학습 데이터 세트 각각을 통해 신경망에 대한 학습을 수행함으로써, 하나 이상의 스타일 편집점 추천 모델을 생성할 수 있다. The processor 130 may construct a plurality of learning input data based on a plurality of edit point recommendation information included in each cluster, and may construct a plurality of learning output data based on a plurality of edit point correction information. In addition, the processor 130 may construct a learning data set corresponding to each cluster by matching and labeling a plurality of learning output data corresponding to a plurality of learning input data. That is, a learning data set related to edit point recommendation information and edit point correction information can be constructed for each cluster. The processor 130 may generate one or more style edit point recommendation models by performing learning on the neural network through each of one or more training data sets corresponding to each cluster.
구체적인 예를 들어, 프로세서(130)는 도 6에 도시된 바와 같은 각 클러스터(또는 각 편집 타입)에 대응하여 하나 이상의 스타일 편집점 추천 모델을 생성할 수 있다. 프로세서(130)는 편집 타입A(511)에 관련한 클러스터에 대응하여 제1스타일 편집점 추천 모델(521)을 생성하고, 편집 타입B(512)에 관련한 클러스터에 대응하여 제2스타일 편집점 추천 모델(522)을 생성하고, 그리고 편집 타입C(513)에 관련한 클러스터에 대응하여 제3스타일 편집점 추천 모델(523)을 생성할 수 있다. 이 경우, 각 스타일 편집점 추천 모델은 각 클러스터에 포함된 데이터를 학습 데이터로 하여 학습됨에 따라 생성된 신경망 모델일 수 있다. 즉, 각 스타일 편집점 추천 모델은 각 클러스터(즉, 각 편집 타입)에 관련하여 보다 적절한 예측을 수행할 수 있다. 즉, 각 클러스터에 대응하여 생성된 하나 이상의 스타일 편집점 추천 모델 각각은, 하나의 스트리밍 컨텐츠 정보에 대응하여 서로 상이한 편집 프레임을 추천하는 것을 특징으로 할 수 있다. 전술한 편집 타입에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.For example, the processor 130 may generate one or more style edit point recommendation models corresponding to each cluster (or each edit type) as shown in FIG. 6 . The processor 130 generates a first style edit point recommendation model 521 corresponding to a cluster related to edit type A 511, and a second style edit point recommendation model corresponding to a cluster related to edit type B 512. 522 may be generated, and a third style edit point recommendation model 523 may be generated corresponding to the cluster related to the edit type C 513 . In this case, each style edit point recommendation model may be a neural network model generated by learning using data included in each cluster as training data. That is, each style edit point recommendation model can perform a more appropriate prediction with respect to each cluster (ie, each edit type). That is, each of the one or more style edit point recommendation models generated corresponding to each cluster may recommend different edit frames corresponding to one piece of streaming content information. The specific description of the above-described editing type is only an example, and the present invention is not limited thereto.
본 발명의 일 실시예에 따르면, 프로세서(130)는 제1사용자의 제1스트리밍 컨텐츠 정보를 획득할 수 있다. 제1스트리밍 컨텐츠 정보는, 제1사용자에 관련한 제1컨텐츠 기본 정보 및 제1스트리밍 데이터를 포함할 수 있다. 제1스트리밍 데이터는 제1스트리밍 영상 데이터 및 제1시청자 반응 데이터를 포함할 수 있다. According to an embodiment of the present invention, the processor 130 may obtain first streaming content information of a first user. The first streaming content information may include first content basic information and first streaming data related to the first user. The first streaming data may include first streaming image data and first viewer response data.
프로세서(130)는 제1스트리밍 컨텐츠 정보에 기초하여 제1편집점 추천 정보를 생성할 수 있다. 프로세서(130)는 제1스트리밍 영상 데이터에 관련한 영상 분석(비디오 분석 및 음향 분석을 포함) 및 제1시청자 반응 데이터에 대한 반응 분석을 통해 영상 내에서 추천 편집점에 관련한 제1편집 프레임 정보를 획득할 수 있으며, 해당 제1편집 프레임 정보에 기초하여 제1편집점 추천 정보를 생성할 수 있다. 이 경우, 제1편집점 추천 정보는, 전체 스트리밍 영상 데이터에 대응하여 각 구간별 추천 강도에 따라 상이한 색상을 통해 표시되는 시각화 정보일 수 있다.The processor 130 may generate first edit point recommendation information based on the first streaming content information. The processor 130 obtains first editing frame information related to a recommended editing point in the video through video analysis (including video analysis and sound analysis) related to the first streaming video data and reaction analysis on the first viewer response data. and first edit point recommendation information may be generated based on the corresponding first edit frame information. In this case, the first edit point recommendation information may be visualization information displayed in different colors according to the recommendation intensity for each section corresponding to the entire streaming video data.
또한, 프로세서(130)는 편집 스타일 분류 모델을 활용하여 제1스트리밍 컨텐츠 정보에 대응하는 제1클러스터를 식별할 수 있다. 편집 스타일 분류 모델은, 특정 사용자의 스트리밍 컨텐츠 정보를 입력으로 하여 해당 스트리밍 컨텐츠 정보에 대응하는 제1클러스터(즉, 제1편집 스타일 정보)를 도출하도록 학습된 신경망 모델일 수 있다.In addition, the processor 130 may identify a first cluster corresponding to the first streaming content information by utilizing an editing style classification model. The editing style classification model may be a neural network model trained to derive a first cluster (ie, first editing style information) corresponding to streaming content information of a specific user as an input.
프로세서(130)는 제1클러스터에 대응하는 제1스타일 편집점 추천 모델을 활용하여 제1편집점 추천 정보에 대한 보정을 수행할 수 있다. 제1스타일 편집점 추천 모델은 제1클러스터에 포함된 학습 데이터 세트를 통해 학습된 신경망 모델일 수 있다. 즉, 제1스타일 편집점 추천 모델은 제1클러스터에 관련하여 보다 적절한 예측을 수행할 수 있다. The processor 130 may perform correction on the first edit point recommendation information by utilizing the first style edit point recommendation model corresponding to the first cluster. The first style edit point recommendation model may be a neural network model learned through the training data set included in the first cluster. That is, the first-style edit point recommendation model may perform a more appropriate prediction with respect to the first cluster.
프로세서(130)는 제1클러스터에 대응하는 제1스타일 편집점 추천 모델에 제1편집점 추천 정보를 입력으로 하여 보정된 제1편집점 추천 정보를 획득할 수 있다. 즉, 영상 분석 및 반응 분석을 통해 추천된 시각화 정보인 제1편집점 추천 정보에 대응하여 보정된 제1편집점 추천 정보가 도출될 수 있다. 즉, 1차적으로, 영상 분석 및 반응 분석을 통해 편집점을 추천에 관련한 제1편집점 추천 정보를 생성하고, 이후, 해당 사용자와 유사한 편집 스타일을 가진 클러스터에 대응하는 신경망 모델(즉, 스타일 편집점 추천 모델)을 통해 2차적으로 제1편집점 추천 정보에 대한 보정을 수행하여 보정된 제1편집점 추천 정보를 생성할 수 있다. 이 경우, 보정된 제1편집점 추천 정보는, 제1클러스터에 포함된 학습 데이터를 통한 학습이 완료된 신경망 모델을 통해 도출되는 것으로, 제1클러스터에 대응하는 편집 스타일이 반영된 것일 수 있다. 또한, 프로세서(130)는 보정된 제1편집점 추천 정보에 기초하여 영상 편집 사용자 인터페이스를 생성하여 제공할 수 있다.The processor 130 may obtain corrected first edit point recommendation information by inputting the first edit point recommendation information to the first style edit point recommendation model corresponding to the first cluster. That is, corrected first edit point recommendation information corresponding to first edit point recommendation information, which is visualization information recommended through image analysis and reaction analysis, may be derived. That is, first, through video analysis and response analysis, first edit point recommendation information related to editing point recommendation is generated, and then, a neural network model corresponding to a cluster having a similar editing style to the corresponding user (i.e., style editing Corrected first edit point recommendation information may be generated by secondarily correcting the first edit point recommendation information through the point recommendation model). In this case, the corrected first edit point recommendation information is derived through a neural network model that has completed learning through learning data included in the first cluster, and may reflect an editing style corresponding to the first cluster. Also, the processor 130 may generate and provide an image editing user interface based on the corrected first edit point recommendation information.
영상 편집 사용자 인터페이스(300)는, 편집점 추천 정보를 포함하는 영상 편집 화면(340)을 포함하며, 영상 편집 화면(340)에 대한 사용자의 조정 입력을 허용하는 것을 특징으로 할 수 있다. 즉, 영상 분석 및 반응 분석을 통해 영상 데이터 내에서 추천 편집점을 도출하고, 그리고 도출된 추천 편집점을 해당 사용자와 유사한 편집 스타일을 가진 타 사용자들의 정보들에 기반하여 추천 편집점을 보정하여 제공할 수 있다. 이에 따라, 사용자는 보다 정교화된 추천 편집점을 제공받을 수 있으므로, 편집의 효율이 극대화될 수 있다.The video editing user interface 300 may include a video editing screen 340 including edit point recommendation information, and allow a user's adjustment input to the video editing screen 340. That is, through video analysis and reaction analysis, a recommended editing point is derived from the video data, and the recommended editing point is corrected and provided based on information of other users who have a similar editing style to the user. can do. Accordingly, since the user can be provided with more sophisticated recommended editing points, editing efficiency can be maximized.
본 발명의 일 실시예에 따르면, 프로세서(130)는 영상 편집 사용자 인터페이스(300)에 대한 사용자의 조정 입력에 기초하여 보정된 제1편집점 추천 정보에 대응하는 제1편집점 보정 정보를 획득할 수 있다. 조정 입력은, 예컨대, 프레임 길이 조정 입력, 프레임 제거 입력 및 추가 프레임 생성 입력 중 적어도 하나를 포함할 수 있다. 즉, 제1편집점 보정 정보는, 추천된 편집점(즉, 보정된 제1편집점 추천 정보)에 대응하여 제1사용자가 실제로 확정한 편집 내용에 관한 시각화 정보일 수 있다. 이러한 제1편짐점 보정 정보는, 기존 추천 편집점이 조정 또는 삭제되거나, 새로운 편집점이 삽입됨에 따라 보정된 편집점 추천 정보와 상이한 시각화 정보를 포함할 수 있다.According to an embodiment of the present invention, the processor 130 obtains first edit point correction information corresponding to the corrected first edit point recommendation information based on a user's adjustment input to the video editing user interface 300. can The adjustment input may include, for example, at least one of a frame length adjustment input, a frame removal input, and an additional frame generation input. That is, the first edit point correction information may be visualization information about edit contents actually determined by the first user in correspondence to the recommended edit points (ie, corrected first edit point recommendation information). The first edit point correction information may include visualization information different from the edit point recommendation information corrected as existing recommended edit points are adjusted or deleted or new edit points are inserted.
프로세서(130)는 보정된 제1편집점 추천 정보 및 제1편집점 보정 정보에 기초하여 제1사용자에 관련한 제1편집 이력 정보를 획득할 수 있다. 또한, 프로세서(130)는 제1편집 이력 정보를 통해 제1사용자 데이터베이스를 구축할 수 있다. 또한, 프로세서(130)는 제1사용자 데이터베이스를 활용하여 제1스타일 편집점 추천 모델에 대한 업데이트를 수행하여 맞춤 편집점 추천 모델을 생성할 수 있다. 이 경우, 맞춤 편집점 추천 모델은, 제1사용자에 관련하여 지속적으로 축적되는 편집 이력 정보를 기반으로 추가적으로 학습된 신경망 모델(즉, 추가 학습된 스타일 편집점 추천 모델)일 수 있다. 즉, 각 사용자의 편집 이력 내용은 지속적으로 각 사용자의 데이터베이스에 축적되며, 해당 사용자의 편집 이력 내용이 신경망 모델의 학습에 지속적으로 반영됨에 따라 편집점 추천 모델이 시간이 지날수록 고도화될 수 있다. 신경망의 고도화에 따라 복수의 사용자 각각은 자신에게 최적화된 추천 편집점을 제공받을 수 있다. 이는 편집 시간의 획기적인 단축을 야기하여 편집 효율의 향상을 도모하는 효과를 제공할 수 있다. 각 사용자에 대응하여 누적된 정보들을 통해 고도화된 신경망을 제공하는 방법에 대한 구체적인 설명은 이하에서 후술하도록 한다. The processor 130 may obtain first editing history information related to the first user based on the corrected first edit point recommendation information and the first edit point correction information. Also, the processor 130 may build a first user database through the first editing history information. In addition, the processor 130 may generate a customized edit point recommendation model by performing an update on the first style edit point recommendation model by utilizing the first user database. In this case, the custom edit point recommendation model may be a neural network model additionally learned based on continuously accumulated editing history information related to the first user (ie, an additionally learned style edit point recommendation model). That is, each user's editing history content is continuously accumulated in each user's database, and as the editing history content of the corresponding user is continuously reflected in the learning of the neural network model, the edit point recommendation model can be advanced over time. As the neural network is advanced, each of a plurality of users may be provided with a recommended editing point optimized for them. This can provide an effect of improving editing efficiency by causing a significant reduction in editing time. A detailed description of a method for providing an advanced neural network through accumulated information corresponding to each user will be described later.
본 발명의 일 실시예에 따르면, 프로세서(130)는 복수의 사용자 각각에 대응하는 복수의 스트리밍 컨텐츠 정보 및 복수의 편집 이력 정보를 획득하여 편집 스타일 데이터베이스를 구축할 수 있다. 스트리밍 컨텐츠 정보는 컨텐츠 기본 정보 및 스트리밍 데이터를 포함할 수 있다. 컨텐츠 기본 정보는 사용자(즉, 스트리머)의 방송 컨텐츠에 관련한 정보를 포함할 수 있다. 예를 들어, 컨텐츠 기본 정보는, 제1사용자의 스트리밍 영상 데이터가 게임 방송 컨텐츠, 야외 방송 컨텐츠 및 소통 방송 컨텐츠 중 적어도 하나에 관련한다는 정보를 포함할 수 있다. 또한 예를 들어, 컨텐츠 기본 정보는 스트리밍 영상 데이터를 송출하는 사용자(또는 스트리머)의 이름, 나이, 성별에 관련한 정보 등을 더 포함할 수 있다. 전술한 컨텐츠 기본 정보에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.According to an embodiment of the present invention, the processor 130 may acquire a plurality of streaming content information and a plurality of editing history information corresponding to each of a plurality of users to build an editing style database. Streaming content information may include basic content information and streaming data. Basic content information may include information related to broadcast content of a user (ie, a streamer). For example, the basic content information may include information indicating that the streaming image data of the first user is related to at least one of game broadcasting content, outdoor broadcasting content, and communication broadcasting content. Also, for example, the basic content information may further include information related to the name, age, and gender of a user (or streamer) transmitting streaming video data. The detailed description of the above-described basic content information is only an example, and the present invention is not limited thereto.
스트리밍 데이터는, 방송 컨텐츠에 관련한 스트리밍 영상 데이터 및 해당 영상 데이터를 시청하는 복수의 시청자들의 반응에 관련한 시청자 반응 데이터를 포함할 수 있다. 스트리밍 영상 데이터는, 복수의 영상 서브 데이터를 복수의 프레임으로써 구성하는 영상에 관련한 데이터일 수 있다. 시청자 반응 데이터는, 실시간으로 송출되는 스트리밍 영상 데이터를 시청한 하나 이상의 시청자들의 반응에 관련한 데이터일 수 있다. 예컨대, 시청자 반응 데이터는, 스트리밍 영상 데이터를 시청하는 시청자의 수에 관한 정보, 스트리밍 영상 데이터에 관련한 채팅 빈도에 관한 정보, 스트리밍 영상 데이터에 관련한 채팅 키워드 정보 및 스트리밍 영상 데이터에 관련한 도네이션 정보 중 적어도 하나를 포함할 수 있다. 구체적인 예를 들어, 시청자 반응 데이터는, 사용자 단말(즉, 스트리머 단말)이 실시간 송출하는 스트리밍 영상 데이터에서의 제1시점에 관련하여 제1시청자 단말로부터 채팅창을 통해 수신되는 채팅 입력에 관한 정보일 수 있다. 다른 예를 들어, 시청자 반응 데이터는, 사용자 단말(즉, 스트리머 단말)이 실시간 송출하는 스트리밍 영상 데이터에서의 제2시점에 관련하여 제2시청자 단말로부터 수신되는 도네이션 입력에 관한 정보일 수 있다. 전술한 시청자 반응 데이터에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.Streaming data may include streaming image data related to broadcast content and viewer response data related to reactions of a plurality of viewers watching the corresponding image data. The streaming image data may be data related to an image comprising a plurality of image sub-data as a plurality of frames. Viewer reaction data may be data related to reactions of one or more viewers who watch streaming video data transmitted in real time. For example, the viewer response data may include at least one of information on the number of viewers watching the streaming video data, information on chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and donation information related to the streaming video data. can include For example, the viewer response data is information about a chat input received through a chat window from a first viewer terminal in relation to a first point in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal) can be For another example, the viewer response data may be information about a donation input received from a second viewer terminal in relation to a second viewpoint in streaming video data transmitted in real time by a user terminal (ie, a streamer terminal). The detailed description of the above-described viewer response data is only an example, and the present invention is not limited thereto.
일 실시예에서, 복수의 편집 이력 정보 각각은, 편집점 추천 정보(610) 및 편집점 추천 정보(610)에 대응하는 편집점 보정 정보(620)를 포함할 수 있다. 편집 이력 정보는, 본 발명의 서버(100)로부터 제공받은 편집점 추천 정보(610)와 해당 편집점 추천 정보(610)에 기초하여 사용자가 실제로 편집을 확정한 편집점 보정 정보(620)를 포함할 수 있다. 이러한 편집 이력 정보는, 각 사용자의 편집 스타일을 파악하는데 유의미한 정보일 수 있다.In one embodiment, each of the plurality of pieces of edit history information may include edit point recommendation information 610 and edit point correction information 620 corresponding to the edit point recommendation information 610 . The editing history information includes edit point recommendation information 610 provided from the server 100 of the present invention and edit point correction information 620 in which the user actually confirmed editing based on the corresponding edit point recommendation information 610. can do. Such editing history information may be meaningful information for understanding each user's editing style.
실시예에 따르면, 편집점 추천 정보(610)는, 스트리밍 컨텐츠 정보에 대한 영상 분석 및 반응 분석을 통해 획득되는 시각화 정보일 수 있다. 편집점 추천 정보(610)는 하나 이상의 편집점 각각이 추천 강도 정보에 따라 상이한 시각적 표현을 통해 표현된 시각화 정보일 수 있다. 구체적인 예를 들어, 편집점 추천 정보(610)는, 도 7에 도시된 바와 같이, 전체 스트리밍 영상 데이터에 대응하여 각 구간별 추천 강도에 따라 상이한 색상을 통해 표시되는 시각화 정보일 수 있다. According to an embodiment, the edit point recommendation information 610 may be visualization information obtained through video analysis and reaction analysis on streaming content information. The edit point recommendation information 610 may be visualization information in which each of one or more edit points is expressed through different visual expressions according to recommendation strength information. As a specific example, as shown in FIG. 7 , the edit point recommendation information 610 may be visualization information displayed in different colors according to the strength of recommendation for each section corresponding to all streaming video data.
즉, 편집점 추천 정보(610)는, 스트리밍 영상 데이터의 전체 프레임 중 재미 요소가 가장 두드러지게 나타나는 하이라이트 구간에 관련한 추천 정보로, 예컨대, 해당 영상 데이터에서 시청자들이 가장 흥미를 가질 것으로 예측되는 구간들을 다른 구간들과 상이하게 표현한 시각화 정보일 수 있다.That is, the edit point recommendation information 610 is recommendation information related to a highlight section in which the fun factor appears most prominently among all frames of the streaming video data. It may be visualization information expressed differently from other sections.
편집점 보정 정보(620)는, 편집점 추천 정보(610)에 대한 보정(또는 수정)을 통해 생성되는 것일 수 있다. 구체적으로, 편집점 추천 정보(610)는 영상 편집 사용자 인터페이스(300)에 포함되어 사용자에게 제공될 수 있으며, 사용자의 다양한 조정 입력(예컨대, 삭제, 구간 길이 조정, 추가 등)에 따라 변경될 수 있다. 예를 들어, 사용자는 영상 편집 사용자 인터페이스(300)를 통한 조정 입력을 통해 스트리밍 영상 데이터에 대응하여 추천된 편집점 추천 정보(610)에서 일 구간을 삭제할 수 있다. 다른 예를 들어, 사용자는 영상 편집 사용자 인터페이스(300)를 통한 조정 입력을 통해 스트리밍 영상 데이터에 대응하여 추천된 편집점 추천 정보(610)에서 일 구간의 길이를 조정하거나, 추천 강도를 변경할 수 있다. 또 다른 예를 들어, 사용자는 영상 편집 사용자 인터페이스(300)를 통해 스트리밍 영상 데이터에 대응하여 추천된 편집점 추천 정보(610)에서 새로운 프레임을 주요 구간으로 추가할 수 있다. 즉, 영상 편집 사용자 인터페이스(300)를 통해 편집점 추천 정보(610)에 사용자의 다양한 조정 입력이 인가됨에 따라 편집점 보정 정보(620)가 생성될 수 있다. 다시 말해, 편집점 보정 정보(620)는 추천된 편집점 추천 정보(610)에 대응하여 사용자가 실제로 편집을 확정한 정보에 관련한 것일 수 있다. 보다 구체적인 예를 들어, 편집점 추천 정보(610)에 대응하여 획득된 편집점 보정 정보(620)는 도 7에 도시된 바와 같을 수 있다. The edit point correction information 620 may be generated through correction (or correction) of the edit point recommendation information 610 . Specifically, the edit point recommendation information 610 may be included in the video editing user interface 300 and provided to the user, and may be changed according to various adjustment inputs of the user (eg, deletion, section length adjustment, addition, etc.) have. For example, the user may delete a section from the recommended edit point recommendation information 610 corresponding to the streaming video data through an adjustment input through the video editing user interface 300 . For another example, the user may adjust the length of a section or change the recommendation strength in the recommended edit point recommendation information 610 in response to the streaming video data through an adjustment input through the video editing user interface 300. . For another example, the user may add a new frame as a main section in the recommended editing point recommendation information 610 corresponding to the streaming video data through the video editing user interface 300 . That is, edit point correction information 620 may be generated as a user's various adjustment inputs are applied to the edit point recommendation information 610 through the video editing user interface 300 . In other words, the edit point correction information 620 may be related to information on which the user has actually decided to edit, corresponding to the recommended edit point recommendation information 610 . For a more specific example, the edit point correction information 620 acquired in correspondence with the edit point recommendation information 610 may be as shown in FIG. 7 .
본 발명의 일 실시예에 따르면, 프로세서(130)는 편집 스타일 데이터베이스를 통해 학습 데이터 세트를 획득할 수 있다.According to an embodiment of the present invention, the processor 130 may obtain a training data set through an editing style database.
일 실시예에 따르면, 프로세서(130)는 각 사용자에 대응하는 복수의 편집점 추천 정보에 기초하여 복수의 학습 입력 데이터를 생성할 수 있다. 프로세서(130)는 각 사용자에 대응하는 복수의 편집점 보정 정보에 기초하여 복수의 학습 출력 데이터를 생성할 수 있다.According to an embodiment, the processor 130 may generate a plurality of learning input data based on a plurality of edit point recommendation information corresponding to each user. The processor 130 may generate a plurality of learning output data based on a plurality of edit point correction information corresponding to each user.
또한, 프로세서(130)는 학습 입력 데이터 각각에 대응하는 학습 출력 데이터 각각을 매칭하여 각 사용자 별 하나 이상의 학습 데이터 서브 세트를 구축할 수 있다. 프로세서(130)는 각 사용자 별로 대응하는 학습 입력 데이터와 학습 출력 데이터를 매칭할 수 있다.In addition, the processor 130 may build one or more subsets of learning data for each user by matching each learning output data corresponding to each learning input data. The processor 130 may match learning input data and learning output data corresponding to each user.
이 경우, 학습 입력 데이터는, 편집점 추천 정보의 픽셀값에 대응하는 피처인 것을 특징으로 하며, 학습 출력 데이터는, 편집점 보정 정보의 픽셀값에 대응하는 피처인 것을 특징으로 할 수 있다. 예컨대, 복수의 학습 입력 데이터 각각은, 복수의 편집점 추천 정보 각각의 픽셀값에 대응하는 복수 개의 피처(n*m)일 수 있으며, 복수의 학습 출력 데이터 각각은, 복수의 편집점 보정 정보 각각의 픽셀값에 대응하는 복수 개의 피처(n*m)일 수 있다.In this case, the learning input data may be characterized as a feature corresponding to a pixel value of the edit point recommendation information, and the learning output data may be characterized as a feature corresponding to a pixel value of the edit point correction information. For example, each of the plurality of learning input data may be a plurality of features (n*m) corresponding to pixel values of each of the plurality of edit point recommendation information, and each of the plurality of learning output data may be each of the plurality of edit point correction information. It may be a plurality of features (n*m) corresponding to pixel values of .
추가적으로, 프로세서(130)는 복수의 사용자 각각에 대응하는 복수의 편집 스타일 정보를 획득할 수 있다. 복수의 사용자 각각에 대응하는 복수의 편집 스타일 정보는, 편집 스타일 분류 모델을 통해 획득될 수 있다. 편집 스타일 분류 모델은 편집 스타일 분류 모델은, 특정 사용자의 스트리밍 컨텐츠 정보 및 편집 이력 정보를 입력으로 하여 특정 클러스터(즉, 편집 스타일 정보)를 도출할 수 있다. 예를 들어, 편집 스타일 분류 모델은 제1사용자의 스트리밍 컨텐츠 정보에 기반하여 해당 제1사용자를 편집 타입A로 분류할 수 있다. 즉, 편집 타입A라는 제1사용자의 편집 스타일 정보가 획득될 수 있다. 전술한 편집 스타일 정보에 대한 구체적인 기재는 예시일 뿐, 본 발명은 이에 제한되지 않는다.Additionally, the processor 130 may obtain a plurality of pieces of editing style information corresponding to each of a plurality of users. A plurality of pieces of editing style information corresponding to each of a plurality of users may be obtained through an editing style classification model. The editing style classification model may derive a specific cluster (ie, editing style information) by taking streaming content information and editing history information of a specific user as inputs. For example, the editing style classification model may classify the corresponding first user as editing type A based on the first user's streaming content information. That is, editing style information of the first user called editing type A may be obtained. The specific description of the above-described editing style information is only an example, and the present invention is not limited thereto.
다른 실시예에 따르면, 프로세서(130)는 각 사용자에 대응하는 복수의 편집점 추천 정보 및 복수의 편집 스타일 정보에 기초하여 학습 입력 데이터를 생성할 수 있다. 프로세서(130)는 각 사용자에 대응하는 복수의 편집점 보정 정보에 기초하여 복수의 학습 출력 데이터를 생성할 수 있다.According to another embodiment, the processor 130 may generate learning input data based on a plurality of edit point recommendation information and a plurality of editing style information corresponding to each user. The processor 130 may generate a plurality of learning output data based on a plurality of edit point correction information corresponding to each user.
또한, 프로세서(130)는 학습 입력 데이터 각각에 대응하는 학습 출력 데이터 각각을 매칭하여 각 사용자 별 하나 이상의 학습 데이터 서브 세트를 구축할 수 있다.In addition, the processor 130 may build one or more subsets of learning data for each user by matching each learning output data corresponding to each learning input data.
이 경우, 학습 입력 데이터는, 편집점 추천 정보의 픽셀값과 편집 스타일 정보의 특징값에 대응하는 피처인 것을 특징으로 하며, 학습 출력 데이터는, 편집점 보정 정보의 픽셀값에 대응하는 피처인 것을 특징으로 할 수 있다. 예컨대, 복수의 학습 입력 데이터 각각은, 복수의 편집점 추천 정보 각각의 픽셀값과 복수의 편집 스타일 정보 각각의 특징값에 대응하는 복수 개의 피처(n*m+1)일 수 있으며, 복수의 학습 출력 데이터 각각은, 복수의 편집점 보정 정보 각각의 픽셀값에 대응하는 복수 개의 피처(n*m)일 수 있다. 입력에 관련한 데이터들은 편집 스타일 정보를 추가적으로 고려함에 따라 n*m+1일 수 있으며, 출력에 관련한 데이터들은 이미지 픽셀에 대응하는 n*m일 수 있다. In this case, the learning input data is a feature corresponding to the pixel value of the edit point recommendation information and the feature value of the editing style information, and the learning output data is a feature corresponding to the pixel value of the edit point correction information. can be characterized. For example, each of the plurality of learning input data may be a plurality of features (n*m+1) corresponding to a pixel value of each of a plurality of edit point recommendation information and a feature value of each of a plurality of editing style information. Each of the output data may be a plurality of features (n*m) corresponding to a pixel value of each of a plurality of edit point correction information. Data related to input may be n*m+1 as editing style information is additionally considered, and data related to output may be n*m corresponding to image pixels.
프로세서(130)에 의해 각 사용자 별 하나 이상의 학습 데이터 서브 세트가 생성될 수 있다. 예컨대, 제1학습 데이터 서브 세트는 제1사용자에 관련한 데이터들(예컨대, 제1사용자에 관련한 제1편집점 추천 정보 및 제1편집점 보정 정보)의 집합일 수 있으며, 제2학습 데이터 서브 세트는 제2사용자에 관련한 데이터들(예컨대, 제2사용자에 관련한 제2편집점 추천 정보 및 제2편집점 보정 정보)의 집합 것일 수 있다.One or more subsets of learning data for each user may be generated by the processor 130 . For example, the first training data subset may be a set of data related to the first user (eg, first edit point recommendation information and first edit point correction information related to the first user), and the second training data subset may be a set of data related to the second user (eg, second edit point recommendation information and second edit point correction information related to the second user).
본 발명의 일 실시예에 따르면, 프로세서(130)는 복수의 사용자 각각에 대응하여 복수의 맞춤 편집점 추천 모델을 생성할 수 있다. 구체적으로, 프로세서(130)는 학습 데이터 세트를 통해 하나 이상의 네트워크 함수에 대한 학습을 수행하여 복수의 사용자 각각에 대응하는 복수의 맞춤 편집점 추천 모델을 생성할 수 있다. 자세히 설명하면, 각 사용자에 대응하는 각 학습 데이터 서브 세트를 통해 각 신경망에 대한 학습을 수행함으로써, 각 사용자에 대응하여 복수의 맞춤 편집점 추천 모델을 생성할 수 있다. 예컨대, 프로세서(130)는 제1사용자에 관련한 제1학습 데이터 서브 세트를 통해 신경망에 대한 학습을 수행함으로써, 제1맞춤 편집점 추천 모델을 생성할 수 있다.According to an embodiment of the present invention, the processor 130 may generate a plurality of customized edit point recommendation models corresponding to each of a plurality of users. Specifically, the processor 130 may generate a plurality of customized edit point recommendation models corresponding to each of a plurality of users by performing learning on one or more network functions through a training data set. In detail, by performing learning on each neural network through each training data subset corresponding to each user, a plurality of customized edit point recommendation models may be generated in correspondence with each user. For example, the processor 130 may generate a first customized edit point recommendation model by performing learning on a neural network through a first training data subset related to a first user.
즉, 복수의 맞춤 편집점 추천 모델 각각은, 복수의 사용자 각각에 대응하는 편집점 추천 정보에 대한 이미지 분석을 수행하여 편집점 추천 정보에 대응하는 보정된 편집점 추천 정보를 도출하는 신경망 모델일 수 있다. That is, each of the plurality of custom edit point recommendation models may be a neural network model that derives corrected edit point recommendation information corresponding to the edit point recommendation information by performing image analysis on the edit point recommendation information corresponding to each of the plurality of users. have.
이 경우, 각 맞춤 편집점 추천 모델은 서로 상이한 학습 데이터 서브 데이터를 통해 학습된 것으로, 동일한 편집점 추천 정보를 입력으로 하여도 상이한 출력(즉, 편집점에 대한 보정)을 도출할 수 있다. 다시 말해, 프로세서(130)는 각 사용자에 관련한 데이터를 통해 학습됨에 따라, 개개인에게 보다 적절한 편집 추천점을 제공하는 맞춤 편집점 추천 모델을 제공할 수 있다.In this case, each custom edit point recommendation model is learned through different training data sub-data, and even if the same edit point recommendation information is used as an input, different outputs (ie, edit point corrections) can be derived. In other words, the processor 130 may provide a custom editing point recommendation model that provides more appropriate editing point recommendations to each individual as it is learned through data related to each user.
일 실시예에 따르면, 프로세서(130)는 제1사용자의 제1스트리밍 컨텐츠 정보 및 제1편집 스타일 정보를 획득할 수 있다. 제1스트리밍 컨텐츠 정보는, 제1사용자에 관련한 제1컨텐츠 기본 정보 및 제1스트리밍 데이터를 포함할 수 있다. 제1스트리밍 데이터는 제1스트리밍 영상 데이터 및 제1시청자 반응 데이터를 포함할 수 있다.According to an embodiment, the processor 130 may obtain first streaming content information and first editing style information of a first user. The first streaming content information may include first content basic information and first streaming data related to the first user. The first streaming data may include first streaming image data and first viewer response data.
프로세서(130)는 제1스트리밍 컨텐츠 정보에 기초하여 제1편집점 추천 정보를 획득할 수 있다. 구체적으로, 프로세서(130)는 제1스트리밍 컨텐츠 정보에 기초하여 제1편집점 추천 정보를 생성할 수 있다. 프로세서(130)는 제1스트리밍 영상 데이터에 관련한 영상 분석(비디오 분석 및 음향 분석을 포함) 및 제1시청자 반응 데이터에 대한 반응 분석을 통해 영상 내에서 추천 편집점에 관련한 제1편집 프레임 정보를 획득할 수 있으며, 해당 제1편집 프레임 정보에 기초하여 제1편집점 추천 정보를 생성할 수 있다. 이 경우, 제1편집점 추천 정보는, 전체 스트리밍 영상 데이터에 대응하여 각 구간별 추천 강도에 따라 상이한 색상을 통해 표시되는 시각화 정보일 수 있다.The processor 130 may obtain first edit point recommendation information based on the first streaming content information. Specifically, the processor 130 may generate first edit point recommendation information based on the first streaming content information. The processor 130 obtains first editing frame information related to a recommended editing point in the video through video analysis (including video analysis and sound analysis) related to the first streaming video data and reaction analysis on the first viewer response data. and first edit point recommendation information may be generated based on the corresponding first edit frame information. In this case, the first edit point recommendation information may be visualization information displayed in different colors according to the recommendation intensity for each section corresponding to the entire streaming video data.
프로세서(130)는 제1편집점 추천 정보를 제1사용자에 대응하는 제1맞춤 편집점 추천 모델의 입력으로 하여 보정된 제1편집점 추천 정보를 생성할 수 있다. 이 경우, 보정된 제1편집점 추천 정보는, 제1사용자에 대응하는 제1맞춤 편집점 추천 모델을 통해 도출된 것이므로, 제1사용자에 관련하여 누적된 편집 스타일에 기반하여 제1편집점 추천 정보에 대한 보정이 수행된 것일 수 있다. 즉, 프로세서(130)는 각 사용자에 누적 데이터에 기반한 학습을 통해 개개인 별 최적의 편집점을 보정해주는 신경망 모델을 제공할 수 있다. 이에 따라, 사용자는 자신의 기존 편집 스타일이 반영된 편집점 추천 정보를 제공받을 수 있으므로, 편집의 효율이 향상될 수 있다. The processor 130 may generate corrected first edit point recommendation information by using the first edit point recommendation information as an input of a first customized edit point recommendation model corresponding to the first user. In this case, since the corrected first edit point recommendation information is derived through the first customized edit point recommendation model corresponding to the first user, the first edit point recommendation is based on the accumulated editing style related to the first user. Correction of information may be performed. That is, the processor 130 may provide each user with a neural network model that corrects an optimal edit point for each user through learning based on accumulated data. Accordingly, since the user can receive edit point recommendation information reflecting the user's existing editing style, editing efficiency can be improved.
다른 실시예에 따르면, 프로세서(130)는 제1사용자의 제1스트리밍 컨텐츠 정보 및 제1편집 스타일 정보를 획득할 수 있다. 또한, 프로세서(130)는 제1스트리밍 컨텐츠 정보에 기초하여 제1편집점 추천 정보를 획득할 수 있다. According to another embodiment, the processor 130 may obtain first streaming content information and first editing style information of a first user. Also, the processor 130 may obtain first edit point recommendation information based on the first streaming content information.
프로세서(130)는 제1스트리밍 컨텐츠 정보 및 제1편집 스타일 정보를 제1사용자에 대응하는 제1맞춤 편집점 추천 모델의 입력으로 하여 보정된 제1편집점 추천 정보를 획득할 수 있다. 이 경우, 제1맞춤 편집점 추천 모델은, 편집 스타일 정보에 추가적으로 고려함에 따라 n*m+1에 관련한 학습 입력 데이터 및 n*m에 관련한 학습 출력 데이터를 통해 학습된 신경망 모델일 수 있다. 이 경우, 보정된 제1편집점 추천 정보는, 제1사용자와 유사한 타 사용자들의 편집 스타일에 대한 정보 및 제1사용자에 관련하여 누적된 편집 스타일에 기반하여 생성되는 것을 특징으로 할 수 있다.The processor 130 may obtain corrected first edit point recommendation information by using the first streaming content information and the first editing style information as inputs of a first customized edit point recommendation model corresponding to the first user. In this case, the first customized edit point recommendation model may be a neural network model learned through learning input data related to n*m+1 and learning output data related to n*m as additionally considered editing style information. In this case, the corrected first edit point recommendation information may be generated based on information on editing styles of other users similar to the first user and accumulated editing styles related to the first user.
즉, 프로세서(130)는 특정 사용자의 편집점 추천 정보 및 편집 스타일 정보를 획득하는 경우, 각 변수를 기반으로 편집점 추천 정보에 대한 보정을 수행할 수 있다. 이러한 보정은 각 사용자에 대응하여 학습된 신경망 모델(즉, 맞춤 편집점 추천 모델)수행되는 것이며, 해당 신경망의 학습에는 편집 스타일 정보 또한 변수로써 고려됨에 따라, 각 사용자에 대하여 보다 적합한 편집점을 추천할 수 있다. 다시 말해, 보정된 편집점은 각 사용자와 유사한 타 사용자들의 편집 스타일에 대한 정보 및 각 사용자에 관련하여 누적된 편집 스타일이 고려되어 생성된 것일 수 있다. That is, when acquiring edit point recommendation information and editing style information of a specific user, the processor 130 may perform correction on the edit point recommendation information based on each variable. This correction is performed by a neural network model (ie, a custom edit point recommendation model) trained in response to each user, and as editing style information is also considered as a variable in learning the neural network, a more suitable edit point is recommended for each user. can do. In other words, the corrected edit points may be generated by considering information on the editing styles of other users similar to each user and the accumulated editing styles related to each user.
추가적으로, 개개인에게 맞춤화된 맞춤 편집점 추천 모델은, 시간이 지날수록 고도화됨에 따라 추천 편집점의 최적화를 야기시킬 수 있다.Additionally, as the custom edit point recommendation model customized to the individual is advanced over time, it may cause optimization of the recommended edit point.
전술한 바와 같이, 프로세서(130)는 누적되는 데이터를 통한 추천 편집점을 지속적으로 정교화할 수 있다. 이에 따라, 서비스의 퀄리티가 상승할 수 있으며, 이는 사용자 규모의 확대를 야기시킬 수 있다. 사용자 규모의 확대를 통해 누적되는 데이터의 양이 방대해짐에 따라 빅데이터 구축이 가능해지며, 이는 추천 편집점을 더욱 정교화함으로써, 서비스의 질이 향상되는 선순환 시스템을 형성할 수 있다.As described above, the processor 130 may continuously refine recommended edit points through accumulated data. Accordingly, the quality of service may increase, which may cause expansion of the scale of users. As the amount of data accumulated through the expansion of the user scale increases, it becomes possible to build big data, which can form a virtuous cycle system in which the quality of service is improved by further elaborating the recommended edit points.
도 8은 본 발명의 일 실시예와 관련된 스트리밍 데이터 기반 영상 편집점 추천방법을 예시적으로 도시한 순서도이다.8 is a flowchart exemplarily illustrating a method for recommending video edit points based on streaming data related to an embodiment of the present invention.
본 발명의 일 실시예에 따르면, 상기 방법은, 스트리밍 컨텐츠 정보를 획득하는 단계(S110)를 포함할 수 있다. According to an embodiment of the present invention, the method may include obtaining streaming content information (S110).
본 발명의 일 실시예에 따르면, 상기 방법은, 스트리밍 컨텐츠 정보에 기초하여 편집 프레임 정보를 획득하는 단계(S120)를 포함할 수 있다.According to an embodiment of the present invention, the method may include obtaining edit frame information based on streaming content information (S120).
본 발명의 일 실시예에 따르면, 상기 방법은, 편집 프레임 정보에 기초하여 편집점 추천 정보를 생성하는 단계(S130)를 포함할 수 있다.According to an embodiment of the present invention, the method may include generating edit point recommendation information based on edit frame information (S130).
전술한 도 8에 도시된 단계들은 필요에 의해 순서가 변경될 수 있으며, 적어도 하나 이상의 단계가 생략 또는 추가될 수 있다. 즉, 전술한 단계는 본 발명의 일 실시예에 불과할 뿐, 본 발명의 권리 범위는 이에 제한되지 않는다.The order of the steps shown in FIG. 8 described above may be changed as needed, and at least one or more steps may be omitted or added. That is, the above steps are only one embodiment of the present invention, and the scope of the present invention is not limited thereto.
도 9는 본 발명의 일 실시예와 관련된 하나 이상의 네트워크 함수를 나타낸 개략도이다.9 is a schematic diagram illustrating one or more network functions related to an embodiment of the present invention.
본 명세서에 걸쳐, 연산 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. 신경망은 일반적으로 “노드”라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 “노드”들은 “뉴런(neuron)”들로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다. 신경망들을 구성하는 노드(또는 뉴런)들은 하나 이상의“링크”에 의해 상호 연결될 수 있다.Throughout this specification, computational model, neural network, network function, and neural network may be used interchangeably. A neural network may consist of a set of interconnected computational units, which may be generally referred to as “nodes”. These “nodes” may also be referred to as “neurons”. A neural network includes one or more nodes. Nodes (or neurons) constituting neural networks may be interconnected by one or more “links”.
신경망 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 상술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.In a neural network, one or more nodes connected through a link may form a relative relationship of an input node and an output node. The concept of an input node and an output node is relative, and any node in an output node relationship with one node may have an input node relationship with another node, and vice versa. As described above, an input node to output node relationship may be created around a link. More than one output node can be connected to one input node through a link, and vice versa.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.In a relationship between an input node and an output node connected through one link, the value of the output node may be determined based on data input to the input node. Here, a node interconnecting an input node and an output node may have a weight. The weight may be variable, and may be changed by a user or an algorithm in order to perform a function desired by the neural network. For example, when one or more input nodes are interconnected by respective links to one output node, the output node is set to a link corresponding to values input to input nodes connected to the output node and respective input nodes. An output node value may be determined based on the weight.
상술한 바와 같이, 신경망은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호 연결되어 신경망 내에서 입력 노드 및 출력 노드 관계를 형성한다. 신경망 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 신경망이 존재하는 경우, 두 개의 신경망들은 서로 상이한 것으로 인식될 수 있다.As described above, in the neural network, one or more nodes are interconnected through one or more links to form an input node and output node relationship in the neural network. Characteristics of the neural network may be determined according to the number of nodes and links in the neural network, an association between the nodes and links, and a weight value assigned to each link. For example, when there are two neural networks having the same number of nodes and links and different weight values between the links, the two neural networks may be recognized as different from each other.
신경망은 하나 이상의 노드들을 포함하여 구성될 수 있다. 신경망을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다, 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 신경망 내에서 레이어의 차수는 상술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.A neural network may include one or more nodes. Some of the nodes constituting the neural network may configure one layer based on distances from the first input node, for example, a set of nodes having a distance n from the first input node, n layers can be configured. The distance from the first input node may be defined by the minimum number of links that must be passed through to reach the corresponding node from the first input node. However, the definition of such a layer is arbitrary for explanation, and the order of a layer in a neural network may be defined in a method different from the above. For example, a layer of nodes may be defined by a distance from a final output node.
최초 입력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 신경망 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드를 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 신경망을 구성하는 노드들을 의미할 수 있다. 본 발명의 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수와 동일할 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하다가 다시 증가하는 형태의 신경망일 수 있다. 또한, 본 발명의 다른 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수 보다 적을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 신경망일 수 있다. 또한, 본 발명의 또 다른 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 증가하는 형태의 신경망일 수 있다. 본 발명의 또 다른 일 실시예에 따른 신경망은 상술한 신경망들의 조합된 형태의 신경망일 수 있다.An initial input node may refer to one or more nodes to which data is directly input without going through a link in relation to other nodes among nodes in the neural network. Alternatively, in a relationship between nodes based on a link in a neural network, it may mean nodes that do not have other input nodes connected by links. Similarly, the final output node may refer to one or more nodes that do not have an output node in relation to other nodes among nodes in the neural network. Also, the hidden node may refer to nodes constituting the neural network other than the first input node and the last output node. In the neural network according to an embodiment of the present invention, the number of nodes in the input layer may be the same as the number of nodes in the output layer, and the number of nodes decreases and then increases again as the number of nodes progresses from the input layer to the hidden layer. can In addition, the neural network according to another embodiment of the present invention may be a neural network in which the number of nodes of the input layer may be less than the number of nodes of the output layer, and the number of nodes decreases as the number of nodes increases from the input layer to the hidden layer. have. In addition, the neural network according to another embodiment of the present invention is a type of neural network in which the number of nodes in the input layer may be greater than the number of nodes in the output layer, and the number of nodes increases as the number of nodes progresses from the input layer to the hidden layer. can A neural network according to another embodiment of the present invention may be a neural network in the form of a combination of the aforementioned neural networks.
딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다. 딥 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크 등을 포함할 수 있다. 전술한 딥 뉴럴 네트워크의 기재는 예시일 뿐이며 본 발명은 이에 제한되지 않는다.A deep neural network (DNN) may refer to a neural network including a plurality of hidden layers in addition to an input layer and an output layer. Deep neural networks can reveal latent structures in data. In other words, it can identify the latent structure of a photo, text, video, sound, or music (e.g., what objects are in the photo, what the content and emotion of the text are, what the content and emotion of the audio are, etc.). . Deep neural networks include convolutional neural networks (CNNs), recurrent neural networks (RNNs), auto encoders, generative adversarial networks (GANs), and restricted boltzmann machines (RBMs). machine), deep belief network (DBN), Q network, U network, Siamese network, and the like. The description of the deep neural network described above is only an example, and the present invention is not limited thereto.
뉴럴 네트워크는 교사 학습(supervised learning), 비교사 학습(unsupervised learning) 및 반교사학습(semi supervised learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 출력의 오류를 최소화하기 위한 것이다. 뉴럴 네트워크의 학습에서 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다. 교사 학습의 경우 각각의 학습 데이터에 정답이 라벨링되어있는 학습 데이터를 사용하며(즉, 라벨링된 학습 데이터), 비교사 학습의 경우는 각각의 학습 데이터에 정답이 라벨링되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 교사 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 라벨링 된 데이터 일 수 있다. 라벨링된 학습 데이터가 뉴럴 네트워크에 입력되고, 뉴럴 네트워크의 출력(카테고리)과 학습 데이터의 라벨이 비교함으로써 오류(error)가 계산될 수 있다. 다른 예로, 데이터 분류에 관한 비교사 학습의 경우 입력인 학습 데이터가 뉴럴 네트워크 출력과 비교됨으로써 오류가 계산될 수 있다. 계산된 오류는 뉴럴 네트워크에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 뉴럴 네트워크의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 뉴럴 네트워크의 학습 초기에는 높은 학습률을 사용하여 뉴럴 네트워크가 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.The neural network may be trained using at least one of supervised learning, unsupervised learning, and semi-supervised learning. The learning of neural networks is to minimize errors in the output. In the learning of the neural network, the learning data is repeatedly input into the neural network, the output of the neural network for the training data and the error of the target are calculated, and the error of the neural network is transferred from the output layer of the neural network to the input layer in the direction of reducing the error. It is a process of updating the weight of each node of the neural network by backpropagating in the same direction. In the case of teacher learning, the learning data in which the correct answer is labeled is used for each learning data (ie, the labeled learning data), and in the case of comparative teacher learning, the correct answer may not be labeled in each learning data. That is, for example, learning data in the case of teacher learning regarding data classification may be data in which each learning data is labeled with a category. Labeled training data is input to the neural network, and an error may be calculated by comparing an output (category) of the neural network and a label of the training data. As another example, in the case of comparative history learning for data classification, an error may be calculated by comparing input learning data with a neural network output. The calculated error is back-propagated in a reverse direction (ie, from the output layer to the input layer) in the neural network, and the connection weight of each node of each layer of the neural network may be updated according to the back-propagation. The amount of change in the connection weight of each updated node may be determined according to a learning rate. The neural network's computation of input data and backpropagation of errors can constitute a learning cycle (epoch). The learning rate may be applied differently according to the number of iterations of the learning cycle of the neural network. For example, a high learning rate may be used in the early stage of neural network training to increase efficiency by allowing the neural network to quickly obtain a certain level of performance, and a low learning rate may be used in the late stage to increase accuracy.
뉴럴 네트워크의 학습에서 일반적으로 학습 데이터는 실제 데이터(즉, 학습된 뉴럴 네트워크를 이용하여 처리하고자 하는 데이터)의 부분집합일 수 있으며, 따라서, 학습 데이터에 대한 오류는 감소하나 실제 데이터에 대해서는 오류가 증가하는 학습 사이클이 존재할 수 있다. 과적합(overfitting)은 이와 같이 학습 데이터에 과하게 학습하여 실제 데이터에 대한 오류가 증가하는 현상이다. 예를 들어, 노란색 고양이를 보여 고양이를 학습한 뉴럴 네트워크가 노란색 이외의 고양이를 보고는 고양이임을 인식하지 못하는 현상이 과적합의 일종일 수 있다. 과적합은 머신러닝 알고리즘의 오류를 증가시키는 원인으로 작용할 수 있다. 이러한 과적합을 막기 위하여 다양한 최적화 방법이 사용될 수 있다. 과적합을 막기 위해서는 학습 데이터를 증가시키거나, 레귤라이제이션(regularization), 학습의 과정에서 네트워크의 노드 일부를 생략하는 드롭아웃(dropout) 등의 방법이 적용될 수 있다.In neural network learning, generally, training data can be a subset of real data (ie, data to be processed using the trained neural network), and therefore, errors for training data are reduced, but errors for real data are reduced. There may be incremental learning cycles. Overfitting is a phenomenon in which errors for actual data increase due to excessive learning on training data. For example, a phenomenon in which a neural network that has learned a cat by showing a yellow cat does not recognize that it is a cat when it sees a cat other than yellow may be a type of overfitting. Overfitting can act as a cause of increasing the error of machine learning algorithms. Various optimization methods can be used to prevent such overfitting. In order to prevent overfitting, methods such as increasing training data, regularization, and omitting some nodes of a network in the process of learning may be applied.
본 명세서에 걸쳐, 연산 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. (이하에서는 신경망으로 통일하여 기술한다.) 데이터 구조는 신경망을 포함할 수 있다. 그리고 신경망을 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망을 포함한 데이터 구조는 또한 신경망에 입력되는 데이터, 신경망의 가중치, 신경망의 하이퍼 파라미터, 신경망으로부터 획득한 데이터, 신경망의 각 노드 또는 레이어와 연관된 활성 함수, 신경망의 학습을 위한 손실 함수를 포함할 수 있다. 신경망을 포함한 데이터 구조는 상기 개시된 구성들 중 임의의 구성 요소들을 포함할 수 있다. 즉 신경망을 포함한 데이터 구조는 신경망에 입력되는 데이터, 신경망의 가중치, 신경망의 하이퍼 파라미터, 신경망으로부터 획득한 데이터, 신경망의 각 노드 또는 레이어와 연관된 활성 함수, 신경망의 트레이닝을 위한 손실 함수 등 전부 또는 이들의 임의의 조합을 포함하여 구성될 수 있다. 전술한 구성들 이외에도, 신경망을 포함한 데이터 구조는 신경망의 특성을 결정하는 임의의 다른 정보를 포함할 수 있다. 또한, 데이터 구조는 신경망의 연산 과정에 사용되거나 발생되는 모든 형태의 데이터를 포함할 수 있으며 전술한 사항에 제한되는 것은 아니다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 기록 매체 및/또는 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 신경망은 일반적으로 노드라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 노드들은 뉴런(neuron)들로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다.Throughout this specification, computational model, neural network, network function, and neural network may be used interchangeably. (Hereinafter, it is unified and described as a neural network.) The data structure may include a neural network. And the data structure including the neural network may be stored in a computer readable medium. The data structure including the neural network may also include data input to the neural network, weights of the neural network, hyperparameters of the neural network, data acquired from the neural network, an activation function associated with each node or layer of the neural network, and a loss function for learning the neural network. have. A data structure including a neural network may include any of the components described above. In other words, the data structure including the neural network includes data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation function associated with each node or layer of the neural network, and loss function for training the neural network. It may be configured to include any combination of. In addition to the foregoing configurations, the data structure comprising the neural network may include any other information that determines the characteristics of the neural network. In addition, the data structure may include all types of data used or generated in the computational process of the neural network, but is not limited to the above. A computer readable medium may include a computer readable recording medium and/or a computer readable transmission medium. A neural network may consist of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network includes one or more nodes.
데이터 구조는 신경망에 입력되는 데이터를 포함할 수 있다. 신경망에 입력되는 데이터를 포함하는 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망에 입력되는 데이터는 신경망 학습 과정에서 입력되는 학습 데이터 및/또는 학습이 완료된 신경망에 입력되는 입력 데이터를 포함할 수 있다. 신경망에 입력되는 데이터는 전처리(pre-processing)를 거친 데이터 및/또는 전처리 대상이 되는 데이터를 포함할 수 있다. 전처리는 데이터를 신경망에 입력시키기 위한 데이터 처리 과정을 포함할 수 있다. 따라서 데이터 구조는 전처리 대상이 되는 데이터 및 전처리로 발생되는 데이터를 포함할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 발명은 이에 제한되지 않는다.The data structure may include data input to the neural network. A data structure including data input to the neural network may be stored in a computer readable medium. Data input to the neural network may include training data input during a neural network learning process and/or input data input to a neural network that has been trained. Data input to the neural network may include pre-processed data and/or data subject to pre-processing. Pre-processing may include a data processing process for inputting data to a neural network. Accordingly, the data structure may include data subject to pre-processing and data generated by pre-processing. The above data structure is only an example and the present invention is not limited thereto.
데이터 구조는 신경망의 가중치를 포함할 수 있다. (본 명세서에서 가중치, 파라미터는 동일한 의미로 사용될 수 있다.) 그리고 신경망의 가중치를 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망은 복수개의 가중치를 포함할 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변 될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 파라미터에 기초하여 출력 노드 값을 결정할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 발명은 이에 제한되지 않는다.The data structure may include the weights of the neural network. (In this specification, weights and parameters may be used in the same meaning.) Also, a data structure including weights of a neural network may be stored in a computer readable medium. A neural network may include a plurality of weights. The weight may be variable, and may be changed by a user or an algorithm in order to perform a function desired by the neural network. For example, when one or more input nodes are interconnected by respective links to one output node, the output node is set to a link corresponding to values input to input nodes connected to the output node and respective input nodes. An output node value can be determined based on the parameter. The above data structure is only an example and the present invention is not limited thereto.
제한이 아닌 예로서, 가중치는 신경망 학습 과정에서 가변되는 가중치 및/또는 신경망 학습이 완료된 가중치를 포함할 수 있다. 신경망 학습 과정에서 가변되는 가중치는 학습 사이클이 시작되는 시점의 가중치 및/또는 학습 사이클 동안 가변되는 가중치를 포함할 수 있다. 신경망 학습이 완료된 가중치는 학습 사이클이 완료된 가중치를 포함할 수 있다. 따라서 신경망의 가중치를 포함한 데이터 구조는 신경망 학습 과정에서 가변되는 가중치 및/또는 신경망 학습이 완료된 가중치를 포함한 데이터 구조를 포함할 수 있다. 그러므로 상술한 가중치 및/또는 각 가중치의 조합은 신경망의 가중치를 포함한 데이터 구조에 포함되는 것으로 한다. 전술한 데이터 구조는 예시일 뿐 본 발명은 이에 제한되지 않는다.As a non-limiting example, the weights may include weights that are varied during neural network training and/or weights for which neural network training has been completed. The variable weight in the neural network learning process may include a weight at the time the learning cycle starts and/or a variable weight during the learning cycle. The weights for which neural network learning has been completed may include weights for which learning cycles have been completed. Accordingly, the data structure including the weights of the neural network may include a data structure including weights that are variable during the neural network learning process and/or weights for which neural network learning is completed. Therefore, it is assumed that the above-described weights and/or combinations of weights are included in the data structure including the weights of the neural network. The above data structure is only an example and the present invention is not limited thereto.
신경망의 가중치를 포함한 데이터 구조는 직렬화(serialization) 과정을 거친 후 컴퓨터 판독가능 저장 매체(예를 들어, 메모리, 하드 디스크)에 저장될 수 있다. 직렬화는 데이터 구조를 동일하거나 다른 컴퓨팅 장치에 저장하고 나중에 다시 재구성하여 사용할 수 있는 형태로 변환하는 과정일 수 있다. 컴퓨팅 장치는 데이터 구조를 직렬화하여 네트워크를 통해 데이터를 송수신할 수 있다. 직렬화된 신경망의 가중치를 포함한 데이터 구조는 역직렬화(deserialization)를 통해 동일한 컴퓨팅 장치 또는 다른 컴퓨팅 장치에서 재구성될 수 있다. 신경망의 가중치를 포함한 데이터 구조는 직렬화에 한정되는 것은 아니다. 나아가 신경망의 가중치를 포함한 데이터 구조는 컴퓨팅 장치의 자원을 최소한으로 사용하면서 연산의 효율을 높이기 위한 데이터 구조(예를 들어, 비선형 데이터 구조에서 B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree)를 포함할 수 있다. 전술한 사항은 예시일 뿐 본 발명은 이에 제한되지 않는다.The data structure including the weights of the neural network may be stored in a computer readable storage medium (eg, a memory or a hard disk) after going through a serialization process. Serialization can be the process of converting a data structure into a form that can be stored on the same or another computing device and later reconstructed and used. A computing device may serialize data structures to transmit and receive data over a network. The data structure including the weights of the serialized neural network may be reconstructed on the same computing device or another computing device through deserialization. The data structure including the weights of the neural network is not limited to serialization. Furthermore, the data structure including the weights of the neural network is a data structure for increasing the efficiency of operation while minimizing the resource of the computing device (for example, B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree). The foregoing is only an example and the present invention is not limited thereto.
데이터 구조는 신경망의 하이퍼 파라미터(Hyper-parameter)를 포함할 수 있다. 그리고 신경망의 하이퍼 파라미터를 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 하이퍼 파라미터는 사용자에 의해 가변되는 변수일 수 있다. 하이퍼 파라미터는 예를 들어, 학습률(learning rate), 비용 함수(cost function), 학습 사이클 반복 횟수, 가중치 초기화(Weight initialization)(예를 들어, 가중치 초기화 대상이 되는 가중치 값의 범위 설정), Hidden Unit 개수(예를 들어, 히든 레이어의 개수, 히든 레이어의 노드 수)를 포함할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 발명은 이에 제한되지 않는다.The data structure may include hyper-parameters of the neural network. Also, the data structure including the hyperparameters of the neural network may be stored in a computer readable medium. A hyperparameter may be a variable variable by a user. Hyperparameters include, for example, learning rate, cost function, number of learning cycle iterations, weight initialization (eg, setting the range of weight values to be targeted for weight initialization), hidden unit number (eg, the number of hidden layers and the number of nodes in the hidden layer). The above data structure is only an example and the present invention is not limited thereto.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.Steps of a method or algorithm described in connection with an embodiment of the present invention may be implemented directly in hardware, implemented in a software module executed by hardware, or implemented by a combination thereof. A software module may include random access memory (RAM), read only memory (ROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, hard disk, removable disk, CD-ROM, or It may reside in any form of computer readable recording medium well known in the art to which the present invention pertains.
본 발명의 구성 요소들은 하드웨어인 컴퓨터와 결합되어 실행되기 위해 프로그램(또는 애플리케이션)으로 구현되어 매체에 저장될 수 있다. 본 발명의 구성 요소들은 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있으며, 이와 유사하게, 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다.Components of the present invention may be implemented as a program (or application) to be executed in combination with a computer, which is hardware, and stored in a medium. Components of the present invention may be implemented as software programming or software elements, and similarly, embodiments may include various algorithms implemented as data structures, processes, routines, or combinations of other programming constructs, such as C, C++ , Java (Java), can be implemented in a programming or scripting language such as assembler (assembler). Functional aspects may be implemented in an algorithm running on one or more processors.
본 발명의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 "소프트웨어"로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 발명의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 발명의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will understand that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein are electronic hardware, (for convenience) , may be implemented by various forms of program or design code (referred to herein as “software”) or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and the design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 "제조 물품"은 임의의 컴퓨터-판독가능 장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다. 용어 "기계-판독가능 매체"는 명령(들) 및/또는 데이터를 저장, 보유, 및/또는 전달할 수 있는 무선 채널 및 다양한 다른 매체를 포함하지만, 이들로 제한되는 것은 아니다.Various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term "article of manufacture" includes a computer program, carrier, or media accessible from any computer-readable device. For example, computer-readable media include magnetic storage devices (eg, hard disks, floppy disks, magnetic strips, etc.), optical disks (eg, CDs, DVDs, etc.), smart cards, and flash memory. device (eg, EEPROM, card, stick, key drive, etc.), but is not limited thereto. Additionally, various storage media presented herein include one or more devices and/or other machine-readable media for storing information. The term “machine-readable medium” includes, but is not limited to, wireless channels and various other media that can store, hold, and/or convey instruction(s) and/or data.
제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 발명의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that the specific order or hierarchy of steps in the processes presented is an example of example approaches. Based upon design priorities, it is to be understood that the specific order or hierarchy of steps in the processes may be rearranged while remaining within the scope of the present invention. The accompanying method claims present elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.
제시된 실시예들에 대한 설명은 임의의 본 발명의 기술 분야에서 통상의 지식을 가진 자가 본 발명을 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 발명의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 발명의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 발명은 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to use or practice the present invention. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments without departing from the scope of the present invention. Thus, the present invention is not to be limited to the embodiments presented herein, but is to be construed in the widest scope consistent with the principles and novel features presented herein.
상기와 같은 발명의 실시를 위한 최선의 형태에서 관련 내용을 기술하였다.The related contents have been described in the best mode for carrying out the invention as described above.
본 발명은 영상 데이터를 편집하여 편집 영상을 제공하는 분야에서 활용될 수 있다.INDUSTRIAL APPLICABILITY The present invention can be utilized in the field of providing edited images by editing image data.

Claims (10)

  1. 컴퓨팅 장치의 하나 이상의 프로세서에서 수행되는 방법에 있어서,A method performed on one or more processors of a computing device, comprising:
    스트리밍 컨텐츠 정보를 획득하는 단계;Obtaining streaming content information;
    상기 스트리밍 컨텐츠 정보에 기초하여 편집 프레임 정보를 획득하는 단계; 및obtaining edit frame information based on the streaming content information; and
    상기 편집 프레임 정보에 기초하여 편집점 추천 정보를 생성하는 단계;generating edit point recommendation information based on the edit frame information;
    를 포함하는,including,
    스트리밍 데이터 기반 영상 편집점 추천방법.Streaming data-based video editing store recommendation method.
  2. 제1항에 있어서, According to claim 1,
    상기 스트리밍 컨텐츠 정보는 , The streaming content information,
    사용자의 방송 컨텐츠에 관련한 정보를 포함하는 컨텐츠 기본 정보 및 상기 방송 컨텐츠에 관련한 스트리밍 영상 데이터와 상기 스트리밍 영상 데이터를 시청하는 복수의 시청자들의 반응에 관련한 시청자 반응 데이터를 포함하는 스트리밍 데이터를 포함하며,Streaming data including basic content information including information related to a user's broadcast content, streaming image data related to the broadcast content, and viewer reaction data related to a reaction of a plurality of viewers watching the streaming image data,
    상기 편집 프레임 정보는,The edit frame information,
    상기 편집점 추천 정보 생성에 기반이 되는 정보로, 상기 스트리밍 영상 데이터를 구성하는 복수의 영상 서브 데이터 중 적어도 일부의 영상 서브 데이터에 관련한 주요 영상 서브 데이터 식별 정보 및 상기 주요 영상 서브 데이터 식별 정보에 대응하는 추천 강도 정보를 포함하는,Corresponds to main video sub data identification information related to at least some video sub data among a plurality of video sub data constituting the streaming video data and main video sub data identification information, as information based on generating the edit point recommendation information. Including recommended strength information to do,
    스트리밍 데이터 기반 영상 편집점 추천방법.Streaming data-based video editing store recommendation method.
  3. 제2항에 있어서,According to claim 2,
    상기 편집 프레임 정보를 획득하는 단계는,Obtaining the edit frame information,
    상기 스트리밍 영상 데이터에 대한 영상 분석을 통해 제1편집 프레임 정보를 획득하는 단계;obtaining first edit frame information through image analysis of the streaming image data;
    상기 시청자 반응 데이터에 대한 반응 분석을 통해 제2편집 프레임 정보를 획득하는 단계; 및obtaining second edit frame information through response analysis on the viewer response data; and
    상기 제1편집 프레임 정보 및 제2편집 프레임 정보를 통합하여 상기 편집 프레임 정보를 획득하는 단계;obtaining the edited frame information by integrating the first edited frame information and the second edited frame information;
    를 포함하는,including,
    스트리밍 데이터 기반 영상 편집점 추천방법.Streaming data-based video editing store recommendation method.
  4. 제3항에 있어서,According to claim 3,
    상기 편집 프레임 정보를 획득하는 단계는,Obtaining the edit frame information,
    상기 컨텐츠 기본 정보에 기반하여 상기 제1편집 프레임 정보 및 상기 제2편집 프레임 정보 중 적어도 하나에 관련한 가중치 적용 정보를 생성하는 단계; 및 generating weight application information related to at least one of the first edit frame information and the second edit frame information based on the content basic information; and
    상기 가중치 적용 정보에 기반하여 상기 제1편집 프레임 정보 및 상기 제2편집 프레임 정보를 통합하여 상기 편집 프레임 정보를 획득하는 단계;obtaining the edited frame information by integrating the first edited frame information and the second edited frame information based on the weight application information;
    를 포함하는,including,
    스트리밍 데이터 기반 영상 편집점 추천방법.Streaming data-based video editing store recommendation method.
  5. 제3항에 있어서,According to claim 3,
    상기 시청자 반응 데이터는,The viewer reaction data,
    상기 스트리밍 영상 데이터를 시청하는 시청자의 수에 관한 정보, 상기 스트리밍 영상 데이터에 관련한 채팅 빈도에 관한 정보, 상기 스트리밍 영상 데이터에 관련한 채팅 키워드 정보 및 상기 스트리밍 영상 데이터에 관련한 도네이션 정보 중 적어도 하나를 포함하며,At least one of information on the number of viewers watching the streaming video data, information on chatting frequency related to the streaming video data, chatting keyword information related to the streaming video data, and donation information related to the streaming video data; ,
    상기 반응 분석은,The reaction analysis,
    상기 스트리밍 영상 데이터에 대응하는 상기 시청자 반응 데이터의 실시간 변화량에 관한 분석인 것을 특징으로 하는,Characterized in that the analysis of the real-time variation of the viewer response data corresponding to the streaming video data,
    스트리밍 데이터 기반 영상 편집점 추천방법.Streaming data-based video editing store recommendation method.
  6. 제3항에 있어서,According to claim 3,
    상기 편집 프레임 정보를 획득하는 단계는,Obtaining the edit frame information,
    상기 제1편집 프레임 정보에 대응하는 하나 이상의 제1주요 영상 서브 데이터 및 상기 제2편집 프레임 정보에 대응하는 하나 이상의 제2주요 영상 서브 데이터 각각의 시점 유사도에 기초하여 상기 추천 강도 정보에 대한 가중치를 부여하는 것을 특징으로 하는,A weighting factor for the recommendation strength information is determined based on a viewpoint similarity between one or more first main video sub-data corresponding to the first edit frame information and one or more second main video sub-data corresponding to the second edit frame information. characterized by giving
    스트리밍 데이터 기반 영상 편집점 추천방법.Streaming data-based video editing store recommendation method.
  7. 제2항에 있어서,According to claim 2,
    상기 편집점 추천 정보는,The editing point recommendation information,
    상기 스트리밍 영상 데이터에 관련한 하나 이상의 추천 편집점에 관한 정보로, 상기 하나 이상의 추천 편집점 각각에 대응하는 하나 이상의 편집점 추천 서브 정보를 포함하며,information on one or more recommended editing points related to the streaming video data, including one or more recommended sub information corresponding to the one or more recommended editing points;
    상기 편집점 추천 정보를 생성하는 단계는,In the step of generating the edit point recommendation information,
    상기 편집 프레임 정보에 포함된 하나 이상의 주요 영상 서브 데이터 식별 정보 각각에 기초하여 하나 이상의 연관 서브 데이터 식별 정보를 탐색하는 단계; 및searching for one or more pieces of related sub-data identification information based on one or more pieces of main video sub-data identification information included in the edit frame information; and
    상기 하나 이상의 주요 영상 서브 데이터 식별 정보 및 상기 하나 이상의 연관 서브 데이터 식별 정보에 기초하여 상기 하나 이상의 편집점 추천 서브 정보를 생성하는 단계;generating the one or more edit point recommendation sub information based on the one or more main video sub data identification information and the one or more related sub data identification information;
    를 포함하며,Including,
    상기 하나 이상의 연관 서브 데이터 식별 정보 각각은,Each of the one or more related sub-data identification information,
    상기 각 편집점 추천 서브 정보의 시작에 관련한 시작 프레임 정보 및 상기 각 편집점 추천 서브 정보의 종료에 관련한 종료 프레임 정보를 포함하는,Including start frame information related to the start of each edit point recommendation sub information and end frame information related to the end of each edit point recommendation sub information,
    스트리밍 데이터 기반 영상 편집점 추천방법.Streaming data-based video editing store recommendation method.
  8. 제2항에 있어서,According to claim 2,
    상기 편집점 추천 정보에 기초하여 영상 편집 사용자 인터페이스를 생성하여 제공하는 단계;generating and providing an image editing user interface based on the edit point recommendation information;
    를 더 포함하며,Including more,
    상기 영상 편집 사용자 인터페이스는,The video editing user interface,
    상기 스트리밍 영상 데이터에 대응하는 상기 편집점 추천 정보를 포함하는 영상 편집 화면을 포함하며, 상기 영상 편집 화면에 대한 사용자의 조정 입력을 허용하는 것을 특징으로 하며,A video editing screen including the edit point recommendation information corresponding to the streaming video data, and allowing a user's adjustment input to the video editing screen,
    상기 영상 편집 화면은,The video editing screen,
    상기 하나 이상의 편집점 추천 서브 정보 각각에 대응하는 상기 추천 강도 정보에 기반하여 각 편집점을 서로 상이한 시각적 표현을 통해 표시하는 것을 특징으로 하는,Characterized in that each edit point is displayed through different visual expressions based on the recommendation strength information corresponding to each of the one or more edit point recommendation sub information.
    스트리밍 데이터 기반 영상 편집점 추천방법.Streaming data-based video editing store recommendation method.
  9. 하나 이상의 인스트럭션을 저장하는 메모리; 및a memory that stores one or more instructions; and
    상기 메모리에 저장된 상기 하나 이상의 인스트럭션을 실행하는 프로세서를 포함하고,a processor to execute the one or more instructions stored in the memory;
    상기 프로세서는 상기 하나 이상의 인스트럭션을 실행함으로써,By executing the one or more instructions, the processor:
    제1 항의 방법을 수행하는, 장치.An apparatus that performs the method of claim 1 .
  10. 하드웨어인 컴퓨터와 결합되어, 제1 항의 방법을 수행할 수 있도록 컴퓨터에서 독출가능한 기록매체에 저장된 컴퓨터프로그램A computer program stored in a computer-readable recording medium to be combined with a computer, which is hardware, to perform the method of claim 1
PCT/KR2022/007394 2021-05-28 2022-05-25 Streaming data-based method, server, and computer program for recommending image edit point WO2022250439A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2021-0069555 2021-05-28
KR20210069555 2021-05-28
KR1020210106496A KR102354592B1 (en) 2021-05-28 2021-08-12 Method, server and computer program for recommending video editing point based on streaming data
KR10-2021-0106496 2021-08-12

Publications (1)

Publication Number Publication Date
WO2022250439A1 true WO2022250439A1 (en) 2022-12-01

Family

ID=80049716

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/007394 WO2022250439A1 (en) 2021-05-28 2022-05-25 Streaming data-based method, server, and computer program for recommending image edit point

Country Status (2)

Country Link
KR (2) KR102354592B1 (en)
WO (1) WO2022250439A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102354592B1 (en) * 2021-05-28 2022-01-24 주식회사 잘라컴퍼니 Method, server and computer program for recommending video editing point based on streaming data
KR102652750B1 (en) * 2022-06-23 2024-04-04 박승현 Method for providing multi-view chat service and server therefor
KR102459775B1 (en) * 2022-06-24 2022-10-27 주식회사 에이치앤케이스튜디오 Automatic editing method, apparatus and system for artificial intelligence-based vidieo content production
KR102600960B1 (en) * 2022-10-19 2023-11-10 주식회사 뷰이 Method, computing device and computer program for providing video content sharing service
KR102674099B1 (en) * 2024-03-11 2024-06-12 주식회사 씨제이더블유글로벌 Method, device, and system for automating content planning and a/b testing based on classification of video content and analysis of viewing-related data

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010046881A (en) * 1999-11-16 2001-06-15 박권상 Video screen editor
JP2004357119A (en) * 2003-05-30 2004-12-16 Casio Comput Co Ltd Moving image editing device, moving image editing method, and program
JP2006211191A (en) * 2005-01-27 2006-08-10 Matsushita Electric Ind Co Ltd Editing operation auxiliary method, device, program, and medium
KR20160068486A (en) * 2014-12-05 2016-06-15 한국방송공사 Method and apparatus for frame encoding based on edit point
US20190289271A1 (en) * 2013-05-31 2019-09-19 Microsoft Technology Licensing, Llc Touch optimized design for video editing
KR102354592B1 (en) * 2021-05-28 2022-01-24 주식회사 잘라컴퍼니 Method, server and computer program for recommending video editing point based on streaming data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101628237B1 (en) 2009-01-21 2016-06-22 삼성전자주식회사 Method and apparatus for forming highlight image

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010046881A (en) * 1999-11-16 2001-06-15 박권상 Video screen editor
JP2004357119A (en) * 2003-05-30 2004-12-16 Casio Comput Co Ltd Moving image editing device, moving image editing method, and program
JP2006211191A (en) * 2005-01-27 2006-08-10 Matsushita Electric Ind Co Ltd Editing operation auxiliary method, device, program, and medium
US20190289271A1 (en) * 2013-05-31 2019-09-19 Microsoft Technology Licensing, Llc Touch optimized design for video editing
KR20160068486A (en) * 2014-12-05 2016-06-15 한국방송공사 Method and apparatus for frame encoding based on edit point
KR102354592B1 (en) * 2021-05-28 2022-01-24 주식회사 잘라컴퍼니 Method, server and computer program for recommending video editing point based on streaming data

Also Published As

Publication number Publication date
KR20230024825A (en) 2023-02-21
KR102354592B1 (en) 2022-01-24

Similar Documents

Publication Publication Date Title
WO2022250439A1 (en) Streaming data-based method, server, and computer program for recommending image edit point
WO2020067633A1 (en) Electronic device and method of obtaining emotion information
WO2019098449A1 (en) Apparatus related to metric-learning-based data classification and method thereof
CN111209440B (en) Video playing method, device and storage medium
CN109862393B (en) Method, system, equipment and storage medium for dubbing music of video file
WO2019182346A1 (en) Electronic device for modulating user voice using artificial intelligence model and control method thereof
WO2020080834A1 (en) Electronic device and method for controlling the electronic device
JP7283496B2 (en) Information processing method, information processing device and program
US20230274187A1 (en) Systems and methods for automated content curation using signature analysis
WO2019177344A1 (en) Electronic apparatus and controlling method thereof
WO2019203488A1 (en) Electronic device and method for controlling the electronic device thereof
EP3820369A1 (en) Electronic device and method of obtaining emotion information
WO2018174397A1 (en) Electronic device and control method
EP3545487A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2018174443A1 (en) Electronic apparatus, controlling method of thereof and non-transitory computer readable recording medium
WO2021075658A1 (en) System and method for prediction and recommendation using collaborative filtering
WO2019093599A1 (en) Apparatus for generating user interest information and method therefor
WO2022102937A1 (en) Methods and systems for predicting non-default actions against unstructured utterances
JP7140221B2 (en) Information processing method, information processing device and program
EP3685279A1 (en) Method for content search and electronic device therefor
EP3698258A1 (en) Electronic apparatus and controlling method thereof
KR102354593B1 (en) Method, server and computer program for classifying video editing types and advancing edit point recommendation algorithm through user database construction and machine learning
WO2021118050A1 (en) Computer program for automatically editing highlights video
US20220327402A1 (en) Automated Compositing of Content Compilations
KR102492774B1 (en) Method for providing music contents licensing platform service based on artificial intelligence

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22811632

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22811632

Country of ref document: EP

Kind code of ref document: A1