WO2023058812A1 - Method, apparatus, and computer program for switching image - Google Patents

Method, apparatus, and computer program for switching image Download PDF

Info

Publication number
WO2023058812A1
WO2023058812A1 PCT/KR2021/016162 KR2021016162W WO2023058812A1 WO 2023058812 A1 WO2023058812 A1 WO 2023058812A1 KR 2021016162 W KR2021016162 W KR 2021016162W WO 2023058812 A1 WO2023058812 A1 WO 2023058812A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
frame
lip
server
present
Prior art date
Application number
PCT/KR2021/016162
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 WO2023058812A1 publication Critical patent/WO2023058812A1/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/04Architecture, e.g. interconnection topology
    • 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
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/06Transformation of speech into a non-audible representation, e.g. speech visualisation or speech processing for tactile aids
    • G10L21/10Transforming into visible information
    • 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
    • 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

Definitions

  • the present invention relates to an image conversion method, apparatus, and computer program for providing natural image conversion in providing an image in which voice and lip shape are synchronized.
  • the present invention is to solve the above problems, and to create a more natural image.
  • the present invention is intended to allow a natural transition between an avatar's standby video and an avatar's utterance video.
  • the present invention intends to generate an avatar image with a natural mouth shape without taking a picture by a real person.
  • the present invention is intended to minimize the use of server resources and network resources used in image generation despite the use of an artificial neural network.
  • a method for converting an image from a first image to a second image measures a similarity between at least one frame constituting a first image and at least one frame constituting a plurality of second images, respectively. calculating; determining a first connected frame, which is a frame used at a time of transition from the first image to the second image, among at least one frame of the first image, by referring to the degree of similarity; and determining a second video to be used for switching among the plurality of second images and a second connected frame that is a frame used at the switching time point among at least one frame of the second video to be used for switching by referring to the degree of similarity.
  • the image conversion method prior to the step of calculating the similarity, selects at least one frame constituting each of the plurality of second images among at least one frame constituting the first image and at least one candidate frame to be compared for similarity.
  • the method may further include determining a similarity, and the calculating of the degree of similarity may include calculating a degree of similarity between the at least one candidate frame and at least one frame constituting each of the plurality of second images.
  • the determining of the at least one candidate frame may include determining, as the at least one candidate frame, at least one frame of the first image corresponding to a predetermined time period from a first point in time when a need to switch an image occurs; can include
  • the determining of the at least one candidate frame may include determining a first frame of the first image and a last frame of the first image as the at least one candidate frame.
  • the image switching method further includes generating a transition image by connecting a third image including at least some frames of the first image and a fourth image including at least some frames of the second image to be used for the transition. can do.
  • the third image is an image composed of at least some frames of the first image, and has the first connected frame as the last frame
  • the fourth image is composed of at least some frames of the second image to be used for the transition. It may be an image having the second connected frame as a first frame.
  • the first image is a captured image of the avatar's waiting state
  • the second image is a captured image of the avatar's utterance. It may further include generating a lip image provided with the fourth image.
  • the generating of the lip image may include acquiring a target voice to be used as the voice of the avatar; generating a lip image corresponding to the voice for each frame of the fourth image using the learned first artificial neural network; and generating lip sync data including identification information of the fourth image, the lip image, and location information of the lip image in a frame of the fourth image.
  • the first artificial neural network may be a neural network trained to output a second lip image, which is an image in which the first lip image is transformed according to the voice, according to input of the voice and the first lip image.
  • the generating of the transition image may include generating configuration information of a transition image including identification information of frames included in each of the third and fourth images and transmitting the generated transition image configuration information to an external device.
  • An image switching device for switching an image from a first image to a second image includes a gap between at least one frame constituting a first image and at least one frame constituting a plurality of second images, respectively.
  • a similarity is calculated, and a first connection frame, which is a frame used at a transition time when the first image is switched to the second image, among at least one frame of the first image is determined by referring to the similarity, and the similarity is determined.
  • a second connected frame that is a frame used at the switching time point may be determined.
  • the image conversion device determines at least one candidate frame to be compared with at least one frame constituting each of the plurality of second images among at least one frame constituting the first image, and the at least one candidate frame A similarity between the image and at least one frame constituting each of the plurality of second images may be calculated.
  • the image switching device may determine, as the at least one candidate frame, at least one frame of the first image corresponding to a predetermined time period from a first point in time when the need for image switching occurs.
  • the image conversion device may determine a first frame of the first image and a last frame of the first image as the at least one candidate frame.
  • the image switching device generates a transition image by connecting a third image including at least some frames of the first image and a fourth image including at least some frames of the second image to be used for the transition, and is an image composed of at least some frames of the first image and has the first connected frame as the last frame, and the fourth image is an image composed of at least some frames of the second image to be used for the transition. It may be an image having 2 connected frames as the first frame.
  • the first image is a captured image of the avatar's waiting state
  • the second image is a captured image of the avatar's utterance
  • the image conversion device is a lip image provided together with the fourth image from the input voice.
  • the image switching device acquires a target voice to be used as the voice of the avatar, uses the learned first artificial neural network, and generates a lip image corresponding to the voice for each frame of the fourth image, Lip sync data including identification information, the lip image, and location information of the lip image in the frame of the fourth image may be generated.
  • the first artificial neural network may be a neural network trained to output a second lip image, which is an image in which the first lip image is transformed according to the voice, according to input of the voice and the first lip image.
  • the image conversion device may generate configuration information of a conversion image including identification information of frames included in each of the third image and the fourth image and transmit it to an external device.
  • a more natural person image can be created.
  • switching between an avatar's standby video and an avatar's utterance video can be made naturally.
  • an avatar image having a natural mouth shape can be generated without taking a picture of a real person.
  • FIG. 1 is a diagram schematically showing the configuration of an image generating system according to an embodiment of the present invention.
  • Figure 2 is a diagram schematically showing the configuration of the server 100 according to an embodiment of the present invention.
  • FIG. 3 is a diagram schematically illustrating the configuration of a service server 300 according to an embodiment of the present invention.
  • 4 and 5 are diagrams for explaining an exemplary structure of an artificial neural network learned by the server 100 according to an embodiment of the present invention.
  • FIG. 6 is a diagram illustrating a plurality of first images IG1 and a plurality of second images IG2 stored in the memory 130 of the server 100 according to an embodiment of the present invention.
  • 7 and 8 are diagrams for explaining a process in which the server 100 determines at least one candidate frame 411, 412, or 413 according to an embodiment of the present invention.
  • FIG. 9 is a diagram illustrating a similarity calculation result 431 when the similarity between the frame 414 constituting the first image 410 and the frame 421 of the second image is high.
  • FIG. 10 is a diagram illustrating a similarity calculation result 432 when the similarity between the frame 415 constituting the first image 410 and the frame 422 of the second image is small.
  • FIG. 11 is a diagram showing the configuration of a transition image 440 generated by the server 100 according to an embodiment of the present invention.
  • FIG. 12 is a diagram for explaining a method in which the server 100 learns the first artificial neural network 520 using a plurality of learning data 510 according to an embodiment of the present invention.
  • 13 is a diagram for explaining input data and output data of the first artificial neural network 520 .
  • FIG. 14 is a diagram for explaining a method of generating an output image 740 composed of output frames by the user terminal 200 according to an embodiment of the present invention.
  • a method for converting an image from a first image to a second image measures a similarity between at least one frame constituting a first image and at least one frame constituting a plurality of second images, respectively. calculating; determining a first connected frame, which is a frame used at a time of transition from the first image to the second image, among at least one frame of the first image, by referring to the degree of similarity; and determining a second video to be used for switching among the plurality of second images and a second connected frame that is a frame used at the switching time point among at least one frame of the second video to be used for switching by referring to the degree of similarity.
  • FIG. 1 is a diagram schematically showing the configuration of an image generating system according to an embodiment of the present invention.
  • An image generating system includes a lip image (generated by a server) and a second image including a face (stored in a memory of an image receiving device, sometimes referred to as 'second image to be used for conversion' in this specification). ) may be overlapped and displayed in the image receiving device (eg, user terminal).
  • the server of the image generating system may generate sequential lip images from the voice to be used as the voice of the target object, and the image receiving device overlaps and displays the sequential lip images and the second image, thereby matching the mouth shape and the voice. can be displayed.
  • the present invention allows some operations to be performed by an image receiving device so that server resources can be used more efficiently and related resources can also be used more efficiently.
  • the image generating system converts a first image (for example, an image in which a waiting state of a target object is photographed) to a second image (eg, an image in which a state of speaking of a target object is photographed).
  • a more natural image may be generated by selecting a second image having a high degree of similarity through a similarity comparison between frames constituting the two images.
  • 'artificial neural networks' such as the first artificial neural network and the second artificial neural network are neural networks learned with learning data according to use, and artificial neural networks learned by machine learning or deep learning techniques can mean The structure of such a neural network will be described later with reference to FIGS. 4 and 5 .
  • the first image may be, for example, one of an image in which a waiting state of a target object (hereinafter referred to as 'avatar') is photographed and an image in which an avatar utterance is photographed, and the second video corresponds to the other one.
  • 'avatar' a waiting state of a target object
  • the second video corresponds to the other one.
  • any image including an image of an operating target object (or avatar) may correspond to the first image and the second image of the present invention.
  • a detailed description of the first image and the second image will be described later with reference to FIG. 6 .
  • an image generating system may include a server 100 , a user terminal 200 , a service server 300 and a communication network 400 .
  • the server 100 may perform operations necessary for generating and/or transmitting a transition image, which is an image that is converted from a first image to a second image.
  • the server 100 may provide identification information of one or more images included in the transition image and identification information of each frame of the one or more images to the user terminal 200 and/or the service server 300 .
  • the server 100 generates a lip image from the target voice using the learned first artificial neural network, and transmits the generated lip image to the user terminal 200 and/or the service server 300.
  • the server 100 generates a lip image from the target voice using the learned first artificial neural network, and transmits the generated lip image to the user terminal 200 and/or the service server 300.
  • the server 100 may generate a lip image corresponding to the voice for each frame of the transition image, and may generate lip sync data including identification information of the frame, the generated lip image, and location information of the lip image within the frame. .
  • the server 100 may provide the generated lip sync data to the user terminal 200 and/or the service server 300 .
  • a server 100 may be sometimes named and described as a 'video conversion device'.
  • FIG. 2 is a diagram schematically showing the configuration of the server 100 according to an embodiment of the present invention.
  • a server 100 may include a communication unit 110 , a first processor 120 , a memory 130 and a second processor 140 .
  • the server 100 may further include an input/output unit, a program storage unit, and the like.
  • the communication unit 110 includes hardware and software necessary for the server 100 to transmit/receive signals such as control signals or data signals with other network devices such as the user terminal 200 and/or the service server 300 through wired or wireless connections. It may be a device that includes
  • the first processor 120 may be a device that controls a series of processes of generating output data from input data using learned artificial neural networks.
  • the first processor 120 may be a device that controls a process of generating a lip image corresponding to the acquired voice using the learned first artificial neural network.
  • the processor may mean, for example, a data processing device embedded in hardware having a physically structured circuit to perform functions expressed by codes or instructions included in a program.
  • a data processing device built into the hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) Circuit) and FPGA (Field Programmable Gate Array), but the scope of the present invention is not limited thereto.
  • the memory 130 performs a function of temporarily or permanently storing data processed by the server 100 .
  • the memory may include magnetic storage media or flash storage media, but the scope of the present invention is not limited thereto.
  • the memory 130 may temporarily and/or permanently store data constituting the learned artificial neural network (eg, coefficients).
  • the memory 130 may store learning data for learning an artificial neural network or data received from the service server 300 .
  • this is illustrative and the spirit of the present invention is not limited thereto.
  • the second processor 140 may refer to a device that performs calculations under the control of the first processor 120 described above.
  • the second processor 140 may be a device having higher computational power than the above-described first processor 120 .
  • the second processor 140 may be configured as a graphics processing unit (GPU).
  • GPU graphics processing unit
  • the number of second processors 140 may be plural or singular.
  • the service server 300 receives lip sync data including a lip image generated by the server 100 and data related to a transition image (eg, identification information of a frame included in the transition image), It may be a device that generates an output frame using this and provides it to another device (eg, the user terminal 200).
  • the service server 300 receives the artificial neural network learned by the server 100, and according to a request from another device (eg, the user terminal 200), lip sync data and a transition image and It may be a device that provides related data (eg, identification information of a frame included in a transition image).
  • a service server 300 may include a communication unit 310 , a third processor 320 , a memory 330 and a fourth processor 340 . Also, although not shown in the drawing, the service server 300 according to an embodiment of the present invention may further include an input/output unit, a program storage unit, and the like.
  • the third processor 320 receives lip sync data including a lip image generated from the server 100 and data related to a transition image (eg, identification information of a frame included in the transition image) It may be a device that controls the process of generating an output frame and providing it to another device (for example, the user terminal 200).
  • the third processor 320 uses the learned artificial neural network (received from the server 100) to obtain lip sync data and lip sync data according to a request from another device (eg, the user terminal 200). It may be a device that provides data related to a transition image (eg, identification information of a frame included in the transition image).
  • the processor may mean, for example, a data processing device embedded in hardware having a physically structured circuit to perform functions expressed by codes or instructions included in a program.
  • a data processing device built into the hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) Circuit) and FPGA (Field Programmable Gate Array), but the scope of the present invention is not limited thereto.
  • the memory 330 performs a function of temporarily or permanently storing data processed by the service server 300 .
  • the memory may include magnetic storage media or flash storage media, but the scope of the present invention is not limited thereto.
  • the memory 330 may temporarily and/or permanently store data constituting the learned artificial neural network (eg, coefficients).
  • the memory 330 may store learning data for learning an artificial neural network or data received from the service server 300 .
  • this is illustrative and the spirit of the present invention is not limited thereto.
  • the fourth processor 340 may mean a device that performs calculations under the control of the aforementioned third processor 320 .
  • the fourth processor 340 may be a device having higher computational power than the aforementioned third processor 320 .
  • the fourth processor 340 may be configured as a graphics processing unit (GPU).
  • GPU graphics processing unit
  • the fourth processor 340 may be plural or singular.
  • the user terminal 200 may refer to various types of devices that mediate the user and the server 100 so that the user can use various services provided by the server 100 .
  • the user terminal 200 may refer to various devices that transmit and receive data to and from the server 100 .
  • the user terminal 200 receives lip sync data and transition image-related data (eg, frame identification information included in the transition image) provided by the server 100, and uses them to generate an output frame.
  • a user terminal 200 may mean portable terminals 201 , 202 , and 203 or may mean a computer 204 .
  • the user terminal 200 may include a display means for displaying content and an input means for acquiring a user's input for such content in order to perform the above-described functions.
  • the input means and the display means may be configured in various ways.
  • the input means may include, but is not limited to, a keyboard, a mouse, a trackball, a microphone, a button, a touch panel, and the like.
  • such a user terminal 200 may be sometimes named and described as a 'video display device'.
  • the communication network 400 may refer to a communication network that mediates data transmission and reception between components of an image generating system.
  • the communication network 400 may be a wired network such as LANs (Local Area Networks), WANs (Wide Area Networks), MANs (Metropolitan Area Networks), ISDNs (Integrated Service Digital Networks), wireless LANs, CDMA, Bluetooth, satellite communication, etc.
  • LANs Local Area Networks
  • WANs Wide Area Networks
  • MANs Metropolitan Area Networks
  • ISDNs Integrated Service Digital Networks
  • wireless LANs Code Division Multiple Access
  • CDMA Code Division Multiple Access
  • Bluetooth satellite communication
  • FIGS. 4 and 5 are diagrams for explaining an exemplary structure of an artificial neural network learned by the server 100 according to an embodiment of the present invention.
  • the first artificial neural network and the second artificial neural network will be collectively referred to as 'artificial neural networks'.
  • An artificial neural network may be an artificial neural network based on a Convolutional Neural Network (CNN) model as shown in FIG. 4 .
  • the CNN model may be a hierarchical model used to finally extract features of input data by alternately performing a plurality of operation layers (Convolutional Layer, Pooling Layer).
  • the server 100 may build or train an artificial neural network model by processing learning data according to a supervised learning technique. A detailed description of how the server 100 trains the artificial neural network will be described later.
  • the server 100 uses a plurality of learning data to input any one input data to the artificial neural network so that the generated output value approaches the value marked in the corresponding learning data.
  • the artificial neural network may be trained by repeatedly performing a process of updating the weight of each node.
  • the server 100 may update weights (or coefficients) of each layer and/or each node according to a back propagation algorithm.
  • the server 100 generates a convolution layer for extracting feature values of input data and a pooling layer constituting a feature map by combining the extracted feature values. can do.
  • the server 100 combines the generated feature maps to generate a fully connected layer preparing to determine a probability that input data corresponds to each of a plurality of items.
  • the server 100 may calculate an output layer including output corresponding to input data.
  • input data is divided into 5X7 blocks, 5X3 unit blocks are used to create a convolution layer, and 1X4 or 1X2 unit blocks are used to create a pooling layer.
  • 5X7 blocks 5X3 unit blocks are used to create a convolution layer
  • 1X4 or 1X2 unit blocks are used to create a pooling layer.
  • this is an example and the spirit of the present invention is not limited thereto. Accordingly, the type of input data and/or the size of each block may be configured in various ways.
  • such an artificial neural network is a function defining the type of model of the artificial neural network, the coefficient of at least one node constituting the artificial neural network, the weight of the node, and the relationship between a plurality of layers constituting the artificial neural network in the memory 130 described above.
  • the structure of the artificial neural network may also be stored in the memory 130 in the form of source codes and/or programs.
  • An artificial neural network according to an embodiment of the present invention may be an artificial neural network based on a Recurrent Neural Network (RNN) model as shown in FIG. 5 .
  • RNN Recurrent Neural Network
  • an artificial neural network according to such a recurrent neural network (RNN) model includes an input layer L1 including at least one input node N1 and a hidden layer L2 including a plurality of hidden nodes N2. ) and an output layer L3 including at least one output node N3.
  • RNN recurrent neural network
  • the hidden layer L2 may include one or more fully connected layers.
  • the artificial neural network may include a function (not shown) defining a relationship between each hidden layer.
  • At least one output node N3 of the output layer L3 may include an output value generated by the artificial neural network from an input value of the input layer L1 under the control of the server 100 .
  • a value included in each node of each layer may be a vector.
  • each node may include a weight corresponding to the importance of the corresponding node.
  • the artificial neural network includes a first function F1 defining the relationship between the input layer L1 and the hidden layer L2 and a second function F2 defining the relationship between the hidden layer L2 and the output layer L3.
  • a first function F1 defining the relationship between the input layer L1 and the hidden layer L2
  • a second function F2 defining the relationship between the hidden layer L2 and the output layer L3.
  • the first function F1 may define a connection relationship between the input node N1 included in the input layer L1 and the hidden node N2 included in the hidden layer L2.
  • the second function F2 may define a connection relationship between the hidden node N2 included in the hidden layer L2 and the output node N3 included in the output layer L3.
  • Functions between the first function F1, the second function F2, and the hidden layer may include a recurrent neural network model that outputs a result based on an input of a previous node.
  • the first function F1 and the second function F2 may be learned based on a plurality of learning data.
  • functions between the plurality of hidden layers may also be learned in addition to the first function F1 and the second function F2 described above.
  • An artificial neural network according to an embodiment of the present invention may be learned in a supervised learning method based on labeled learning data.
  • the server 100 uses a plurality of learning data and inputs any one of the input data to the artificial neural network so that the generated output value approaches the value marked in the corresponding training data.
  • the artificial neural network can be trained by repeatedly performing a process of updating F1, F2, functions between hidden layers, etc.
  • the server 100 may update the aforementioned functions (F1, F2, functions between hidden layers, etc.) according to a back propagation algorithm.
  • F1, F2, functions between hidden layers, etc. a back propagation algorithm
  • FIGS. 4 and 5 The type and/or structure of the artificial neural network described in FIGS. 4 and 5 is exemplary, and the spirit of the present invention is not limited thereto. Accordingly, artificial neural networks of various types of models may correspond to 'artificial neural networks' described throughout the specification.
  • a 'transition image' is a background image displayed together with a lip image generated by the server 100, and may be an image containing a process or appearance of an avatar transitioning.
  • the transition image may be an image in which an image of an avatar's waiting state is photographed and an image of an avatar's speaking state is photographed.
  • the transition video may be a video in which the first video in which the avatar's speech is filmed and the second video in which the avatar's speech is filmed are connected. It may be a linked video.
  • the lip image generated by the server 100 may be displayed overlapping an image portion in which the speech of the avatar is photographed among the transition images.
  • the server 100 In general, it is not required that the content of the avatar's speech and the avatar's speech gesture (for example, body movements) are necessarily related, so it is unnatural to display any mouth shape overlapping on the image in which the avatar makes the speech gesture. This is not big Therefore, the server 100 according to an embodiment of the present invention generates a transition image in which the avatar's speaking state is switched from a photographed image of the avatar's standby state at a time when the avatar's speech is required, and the avatar's speech It is possible to provide a natural and intended speech image by overlapping and displaying the lip image for the part where the figure is photographed.
  • FIG. 6 is a diagram illustrating a plurality of first images IG1 and a plurality of second images IG2 stored in the memory 130 of the server 100 according to an embodiment of the present invention.
  • the server 100 selects any one of the plurality of first images IG1 and the plurality of second images IG2 according to a given situation to display the user terminal 200 and/or the service server. (300).
  • the server 100 may select and provide one of the plurality of first images IG1 to the user terminal 200 in a situation where there is no user manipulation of the user terminal 200 .
  • the user terminal 200 may provide a more natural idle screen by displaying the first image provided by the server 100 .
  • a natural image such as a 'natural idle screen' is an image in which an avatar moves naturally over time.
  • the avatar when it is a person, it may be an image in which a person blinks his eyes or moves his body minutely according to breathing. Accordingly, an image composed of a single frame or a single image may not correspond to a natural image described in the present invention.
  • the server 100 when a situation in which the avatar needs to be uttered occurs according to the user's manipulation of the user terminal 200, the server 100 displays the first one currently displayed on the user terminal 200 among the plurality of second images IG2.
  • a second image capable of being naturally connected to the image may be selected (that is, a transition image may be generated) and provided to the user terminal 200 .
  • the server 100 may generate a lip image to be displayed on the second image and provide it to the user terminal 200, which will be described in detail later.
  • the first image 410 is currently displayed on the user terminal 200, and the second image 420 to be used for conversion is selected from among the plurality of second images IG2 according to a process described later. It is explained on the premise that
  • the server 100 includes at least one frame that is a target for comparing similarity with at least one frame constituting each of a plurality of second images IG2 among at least one frame constituting the first image 410 .
  • a candidate frame of can be determined.
  • 7 and 8 are diagrams for explaining a process in which the server 100 determines at least one candidate frame 411, 412, or 413 according to an embodiment of the present invention.
  • the server 100 is configured for a predetermined time period (eg, from the first time point t1 when the need to switch the image displayed on the user terminal 200 occurs).
  • At least one frame 411 of the first image 410 corresponding to the interval up to the second time point t2 that is after T seconds may be determined as at least one candidate frame.
  • the server 100 responds within a second time point t2 from the first time point. It is possible to determine at least one frame 411 as at least one candidate frame. In this case, the server 100 may provide a video in which the avatar speaks at the latest at the second time point t2.
  • the server 100 may determine the first frame 412 of the first image 410 and the last frame 413 of the first image 410 as at least one candidate frame. For example, if each of the plurality of first images IG1 is composed of a relatively short time length and the avatar's pose is static at the beginning and end of the image, at least one of the first frame 412 and the last frame 413 It may be more preferable to determine as a candidate frame of .
  • the candidate frame determination schemes shown in FIGS. 7 and 8 are exemplary, and the spirit of the present invention is not limited thereto.
  • the server 100 may calculate a similarity between at least one frame constituting the first image 410 and at least one frame constituting each of the plurality of second images IG2. .
  • the server 100 may calculate a similarity by comparing at least one candidate frame 411, 412, or 413 determined according to the above-described process with at least one frame constituting each of the plurality of second images IG2. .
  • FIG. 9 is a diagram illustrating a similarity calculation result 431 when the similarity between the frame 414 constituting the first image 410 and the frame 421 of the second image is high.
  • the server 100 may calculate a difference value between pixels of the two frames 414 and 421 as a similarity calculation result 431 .
  • a portion having a difference in pixel values between the two frames 414 and 421 may be displayed to correspond to the degree of difference.
  • FIG. 10 is a diagram illustrating a similarity calculation result 432 when the similarity between the frame 415 constituting the first image 410 and the frame 422 of the second image is small.
  • the server 100 may calculate a difference between pixels of the two frames 415 and 422 as the similarity calculation result 432 .
  • a portion having a difference in pixel values between the two frames 415 and 422 may be displayed to correspond to the degree of difference.
  • the server 100 converts the first image 410 to the second image 420 among at least one frame of the first image 410 by referring to the degree of similarity calculated according to the above-described process. It is possible to determine a first concatenated frame, which is a frame used at a time of switching. Similarly, the server 100 according to an embodiment of the present invention determines the second image 420 to be used for conversion and the second image 420 to be used for conversion among the plurality of second images IG2 by referring to the degree of similarity. A second concatenated frame, which is a frame used at a transition time, among at least one frame may be determined.
  • the server 100 may determine the first connection frame and the second connection frame according to various criteria.
  • the server 100 selects a frame combination having the highest similarity, that is, a combination (or set) of a frame of the first image 410 and a frame of the second image 420 having the highest similarity.
  • the frame of 410 may be determined as the first connected frame
  • the frame of the second image 420 may be determined as the second connected frame. According to this method, the most natural video conversion is possible.
  • the server 100 selects a combination including a frame of the first image 410 at the earliest (or earliest) time point among frame combinations whose similarity exceeds the threshold similarity, and the first image 410 at this time It is also possible to determine the frame of the first linking frame and the frame of the second image 420 as the second linking frame. According to this method, a fast response speed can be provided.
  • the server 100 converts a third image including at least some frames of the first image 410 and a fourth image including at least some frames of the second image 420 to be used for conversion. You can create a linked transition video.
  • FIG. 11 is a diagram showing the configuration of a transition image 440 generated by the server 100 according to an embodiment of the present invention.
  • the transition image 440 includes a third image 416 including at least some frames of the first image 410 and a fourth image including at least some frames of the second image 420 to be used for transition ( 423) may be connected.
  • the third image 416 is an image composed of at least some frames of the first image 410, and may be an image having the first connected frame 417 determined according to the above process as the last frame.
  • the fourth image 423 is an image composed of at least some frames of the second image 420 to be used for conversion, and may be an image having the second connection frame 424 as a first frame.
  • the server 100 may transmit configuration information of the transition image generated according to the above process to the user terminal 200 and/or the service server 300 .
  • the server 100 generates configuration information of transition images so that identification information of frames included in each of the third image 416 and the fourth image 423 is included, and the user terminal 200 and/or the service server ( 300).
  • the user terminal 200 and/or the service server 300 may use the received configuration information of the transition image to create a background image of the lip image generated according to a process described later.
  • the server 100 may generate a lip image provided together with the fourth image 423 from the input voice. To this end, the server 100 according to an embodiment of the present invention may train the first artificial neural network using each learning data.
  • FIG. 12 is a diagram for explaining a method in which the server 100 learns the first artificial neural network 520 using a plurality of learning data 510 according to an embodiment of the present invention.
  • the first artificial neural network 520 is a neural network that learns (or learns) a correlation between a first lip image, a voice, and a second lip image included in each of a plurality of training data 510. can mean
  • the first artificial neural network 520 generates the first lip image 542 according to the input of the voice 531 and the first lip image 542 as shown in FIG. 13 .
  • This may refer to a neural network trained (or learned) to output the second lip image 543 , which is an image transformed according to 531 .
  • the first lip image 542 is a sample image and may be an image including a shape of the lips that is a basis for generating a lip image according to the voice.
  • Each of the plurality of learning data 510 may include a first lip image, a voice, and a second lip image.
  • the first training data 511 may include a first lip image 511B, a voice 511A, and a second lip image 511C.
  • the second training data 512 and the third training data 513 may each include a first lip image, a voice, and a second lip image.
  • the number of second lip images included in each of the plurality of learning data 510 may be plural or singular.
  • the server 100 divides voice according to a predetermined rule and generates a lip image from the divided voice section
  • the second lip image may be singular.
  • the voice included in each of the plurality of learning data 510 may also be a partial section divided from the entire voice.
  • a plurality of second lip images may be provided as shown in FIG. 12 .
  • the plurality of learning data 510 may be acquired through a lip reading process.
  • the server 100 may collect a mouth shape image and audio data related to the mouth shape image through a lip reading process.
  • the plurality of learning data 510 may further include text corresponding to voice and mouth shape.
  • the server 100 may use the model learned through the lip reading process as the first artificial neural network 520 .
  • this is illustrative and the spirit of the present invention is not limited thereto.
  • the server 100 may obtain a target voice to be used as the voice of the avatar.
  • 'target voice' is used as a sound signal of a transition image (or fourth image 423), and means a voice corresponding to the avatar's lip shape in the transition image (or fourth image 423). can do.
  • the server 100 may generate a target voice from text using the learned second artificial neural network.
  • the second artificial neural network may refer to a neural network learned (or learned) to output a target voice corresponding to the reading of the text according to the input of the text.
  • 'text' may be created by the server 100 according to a predetermined rule or method. For example, in an example in which the server 100 provides a response according to a request received from the user terminal 200, the server 100 responds to the request received from the user terminal 200 using a third artificial neural network (not shown). You can generate text that responds to
  • the server 100 may read text from memory.
  • this is illustrative and the spirit of the present invention is not limited thereto.
  • the server 100 may transmit the target voice to the user terminal 200 .
  • the user terminal 200 may store the target voice.
  • the target voice to the user terminal 200 may be used to generate and/or output an output video (or output frame), which will be described in detail later.
  • the server 100 may generate a lip image corresponding to the target voice for each frame of the fourth image 423 using the learned first artificial neural network.
  • an expression such as 'for each frame of the fourth image' may mean generating a lip image for each individual frame of the fourth image 423 .
  • the server 100 may generate a lip image corresponding to the first frame of the fourth image 423 using the learned first artificial neural network.
  • the first artificial neural network receives the input of the voice 531 and the first lip image 542, and the second lip image 543 is an image that is transformed from the first lip image 542 according to the voice.
  • the server 100 inputs the first lip image obtained from the first frame of the fourth image 423 and the target voice to the first artificial neural network, and outputs the first frame as an output result. It is possible to generate a lip image for .
  • the server 100 may generate first lip sync data.
  • the first lip sync data includes the identification information of the first frame of the fourth image 423 used for the lip image, the generated lip image, and the location of the lip image in the first frame of the fourth image 423 used for the lip image. information may be included.
  • the server 100 may check the position of the lips in the first frame and generate position information of the lip image based on the checked position. .
  • the server 100 may transmit the generated first lip sync data to the user terminal 200 .
  • the first lip sync data is the identification information of the fourth image 423 used for the lip image, the generated lip image, and the frame (ie, the first frame) of the fourth image 423 used for the lip image.
  • Location information of the lip image may be included.
  • the user terminal 200 may read a frame corresponding to the frame identification information from memory by referring to identification information of the first frame included in the first lip sync data. At this time, the user terminal 200 may retrieve and read a frame corresponding to the frame identification information from the plurality of first images IG1 and/or the plurality of second images IG2 stored in advance. For example, the user terminal 200 may search for an image including the fourth image 423 among the plurality of second images IG2 and read a specific frame from the corresponding image.
  • the user terminal 200 overlaps the lip image included in the first lip sync data on the lead frame based on the location information of the lip image included in the first lip sync data to generate an output frame and display it. there is.
  • the above-described process is a step for explaining the process of the server 100 and the user terminal 200 for the first frame, which is one frame.
  • the server 100 may generate the lip sync data frame by frame for a plurality of frames of the fourth image 423 .
  • the user terminal 200 may receive lip sync data generated in units of frames and generate output frames for each lip sync data.
  • the server 100 and the user terminal 200 may process the second frame in the same way as the first frame described above.
  • the second frame may be a frame following the first frame in the fourth image 423 .
  • the user terminal 200 displays the output frames generated according to the above-described process and simultaneously reproduces the target voice, thereby providing the user with an output result as if the object speaks with the corresponding voice. .
  • the user terminal 200 provides the avatar's image as an image in which the mouth shape is changed from the pre-stored avatar image to the mouth shape received from the server 100, and the avatar's voice as the target voice received from the server 100 to provide natural A lip sync image may be provided.
  • FIG. 14 is a diagram for explaining a method of generating an output image 740 composed of output frames by the user terminal 200 according to an embodiment of the present invention.
  • the user terminal 200 overlaps the lip image 544 generated by the server 100 on the specific frame 590 of the fourth image 423 to generate an output frame 711. can create At this time, the user terminal 200 may determine the overlap position of the lip image 544 on the specific frame 590 by using the location information 591 of the lip image received from the server 100 . Of course, the user terminal 200 may generate output frames in the same way for the remaining frames of the fourth image 423 .
  • the server 100 includes at least one frame that is a target for comparing similarity with at least one frame constituting each of a plurality of second images IG2 among at least one frame constituting the first image 410 .
  • a candidate frame of may be determined.
  • 7 and 8 are diagrams for explaining a process in which the server 100 determines at least one candidate frame 411, 412, or 413 according to an embodiment of the present invention.
  • the server 100 is configured for a predetermined time period (eg, from the first time point t1 when the need to switch the image displayed on the user terminal 200 occurs).
  • At least one frame 411 of the first image 410 corresponding to the interval up to the second time point t2 that is after T seconds may be determined as at least one candidate frame.
  • the server 100 responds within a second time point t2 from the first time point. It is possible to determine at least one frame 411 as at least one candidate frame. In this case, the server 100 may provide a video in which the avatar speaks at the latest at the second time point t2.
  • the server 100 may determine the first frame 412 of the first image 410 and the last frame 413 of the first image 410 as at least one candidate frame. For example, if each of the plurality of first images IG1 is composed of a relatively short time length and the avatar's pose is static at the beginning and end of the image, at least one of the first frame 412 and the last frame 413 It may be more preferable to determine as a candidate frame of .
  • the candidate frame determination schemes shown in FIGS. 7 and 8 are exemplary, and the spirit of the present invention is not limited thereto.
  • the server 100 may calculate a similarity between at least one frame constituting the first image 410 and at least one frame constituting each of the plurality of second images IG2. .
  • the server 100 compares at least one candidate frame 411, 412, or 413 determined according to the above process with at least one frame constituting each of the plurality of second images IG2 to calculate a similarity can do.
  • FIG. 9 is a diagram illustrating a similarity calculation result 431 when the similarity between the frame 414 constituting the first image 410 and the frame 421 of the second image is high.
  • the server 100 may calculate a difference value between pixels of the two frames 414 and 421 as a similarity calculation result 431 .
  • a portion having a difference in pixel values between the two frames 414 and 421 may be displayed to correspond to the degree of difference.
  • FIG. 10 is a diagram illustrating a similarity calculation result 432 when the similarity between the frame 415 constituting the first image 410 and the frame 422 of the second image is small.
  • the server 100 may calculate a difference between pixels of the two frames 415 and 422 as the similarity calculation result 432 .
  • a portion having a difference in pixel values between the two frames 415 and 422 may be displayed to correspond to the degree of difference.
  • the server 100 converts the first image 410 to the second image 420 among at least one frame of the first image 410 by referring to the degree of similarity calculated according to the above-described process.
  • a first concatenated frame which is a frame used at a time of switching, may be determined.
  • the server 100 according to an embodiment of the present invention refers to the degree of similarity to determine the second image 420 to be used for conversion among the plurality of second images IG2 and the second image to be used for conversion (S1230).
  • a second concatenated frame which is a frame used at a transition time, may be determined from among the at least one frame.
  • the server 100 may determine the first connection frame and the second connection frame according to various criteria.
  • the server 100 selects a frame combination having the highest similarity, that is, a combination (or set) of a frame of the first image 410 and a frame of the second image 420 having the highest similarity.
  • the frame of 410 may be determined as the first connected frame
  • the frame of the second image 420 may be determined as the second connected frame. According to this method, the most natural video conversion is possible.
  • the server 100 selects a combination including a frame of the first image 410 at the earliest (or earliest) time point among frame combinations whose similarity exceeds the threshold similarity, and the first image 410 at this time It is also possible to determine the frame of the first linking frame and the frame of the second image 420 as the second linking frame. According to this method, a fast response speed can be provided.
  • the server 100 converts a third image including at least some frames of the first image 410 and a fourth image including at least some frames of the second image 420 to be used for conversion. You can create a linked transition video. (S1250)
  • FIG. 11 is a diagram showing the configuration of a transition image 440 generated by the server 100 according to an embodiment of the present invention.
  • the transition image 440 includes a third image 416 including at least some frames of the first image 410 and a fourth image including at least some frames of the second image 420 to be used for transition ( 423) may be connected.
  • the third image 416 is an image composed of at least some frames of the first image 410, and may be an image having the first connected frame 417 determined according to the above process as the last frame.
  • the fourth image 423 is an image composed of at least some frames of the second image 420 to be used for conversion, and may be an image having the second connection frame 424 as a first frame.
  • the server 100 may transmit configuration information of the transition image generated according to the above process to the user terminal 200 and/or the service server 300 .
  • the server 100 generates configuration information of transition images so that identification information of frames included in each of the third image 416 and the fourth image 423 is included, and the user terminal 200 and/or the service server ( 300).
  • the user terminal 200 and/or the service server 300 may use the received configuration information of the transition image to create a background image of the lip image generated according to a process described later.
  • the server 100 may generate a lip image provided together with the fourth image 423 from the input voice. (S1260) To this end, the server 100 according to an embodiment of the present invention may train the first artificial neural network using each learning data.
  • FIG. 12 is a diagram for explaining a method in which the server 100 learns the first artificial neural network 520 using a plurality of learning data 510 according to an embodiment of the present invention.
  • the first artificial neural network 520 is a neural network that learns (or learns) a correlation between a first lip image, a voice, and a second lip image included in each of a plurality of training data 510. can mean
  • the first artificial neural network 520 generates the first lip image 542 according to the input of the voice 531 and the first lip image 542 as shown in FIG. 13 .
  • This may refer to a neural network trained (or learned) to output the second lip image 543 , which is an image transformed according to 531 .
  • the first lip image 542 is a sample image and may be an image including a shape of the lips that is a basis for generating a lip image according to the voice.
  • Each of the plurality of learning data 510 may include a first lip image, a voice, and a second lip image.
  • the first training data 511 may include a first lip image 511B, a voice 511A, and a second lip image 511C.
  • the second training data 512 and the third training data 513 may each include a first lip image, a voice, and a second lip image.
  • the number of second lip images included in each of the plurality of learning data 510 may be plural or singular.
  • the server 100 divides voice according to a predetermined rule and generates a lip image from the divided voice section
  • the second lip image may be singular.
  • the voice included in each of the plurality of learning data 510 may also be a partial section divided from the entire voice.
  • a plurality of second lip images may be provided as shown in FIG. 12 .
  • the server 100 may determine a fourth image 423 through steps S1220 to S1250 (S1261).
  • the fourth image 423 is a target of lip sync among transition images. It may mean an image corresponding to the part.
  • the server 100 may obtain a target voice to be used as the voice of the avatar (S1262).
  • 'target voice' is used as a sound signal of a transition image (or fourth image 423), and means a voice corresponding to the avatar's lip shape in the transition image (or fourth image 423). can do.
  • the server 100 may generate a target voice from text using the learned second artificial neural network.
  • the second artificial neural network may refer to a neural network learned (or learned) to output a target voice corresponding to the reading of the text according to the input of the text.
  • 'text' may be created by the server 100 according to a predetermined rule or method. For example, in an example in which the server 100 provides a response according to a request received from the user terminal 200, the server 100 responds to the request received from the user terminal 200 using a third artificial neural network (not shown). You can generate text that responds to
  • the server 100 may read text from memory.
  • this is illustrative and the spirit of the present invention is not limited thereto.
  • the server 100 may transmit the target voice to the user terminal 200 .
  • the user terminal 200 may store the target voice.
  • the target voice of the user terminal 200 may be used to generate and/or output an output image (or output frame) thereafter, which will be described in detail later.
  • the server 100 may generate a lip image corresponding to the target voice for each frame of the fourth image 423 using the learned first artificial neural network. (S1265)
  • an expression such as 'for each frame of the fourth image' may mean generating a lip image for each individual frame of the fourth image 423 .
  • the server 100 may generate a lip image corresponding to the first frame of the fourth image 423 using the learned first artificial neural network.
  • the first artificial neural network receives the input of the voice 531 and the first lip image 542, and the second lip image 543 is an image that is transformed from the first lip image 542 according to the voice.
  • the server 100 inputs the first lip image obtained from the first frame of the fourth image 423 and the target voice to the first artificial neural network, and outputs the first frame as an output result. It is possible to generate a lip image for .
  • the server 100 may generate first lip sync data.
  • the first lip sync data includes the identification information of the first frame of the fourth image 423 used for the lip image, the generated lip image, and the lips in the first frame of the fourth image 423 used for the lip image. Location information of the image may be included.
  • the server 100 may check the position of the lips in the first frame and generate position information of the lip image based on the checked position. .
  • the server 100 may transmit the generated first lip sync data to the user terminal 200 .
  • the first lip sync data includes the identification information of the fourth image 423 used for the lip image, the generated lip image, and the frame of the fourth image 423 used for the lip image (ie, the first lip sync data). frame) may include location information of the lip image.
  • the user terminal 200 may read a frame corresponding to the frame identification information from memory by referring to identification information of the first frame included in the first lip sync data. (S1268) At this time, the user terminal 200 may search for and read a frame corresponding to the frame identification information from the plurality of first images IG1 and/or the plurality of second images IG2 stored in advance. For example, the user terminal 200 may search for an image including the fourth image 423 among the plurality of second images IG2 and read a specific frame from the corresponding image.
  • the user terminal 200 generates an output frame by overlapping the lip image included in the first lip sync data on the lead frame based on the location information of the lip image included in the first lip sync data (S1269), can be displayed (S1270)
  • the above-described process is a step for explaining the process of the server 100 and the user terminal 200 for the first frame, which is one frame.
  • the server 100 may generate lip sync data frame by frame for a plurality of frames of the fourth image 423 .
  • the user terminal 200 may receive lip sync data generated in units of frames and generate output frames for each lip sync data.
  • the server 100 and the user terminal 200 transmit the second frame in the same manner as the above-described first frame (steps S1271 to S1276 (FR1)). method) can be dealt with.
  • the second frame may be a frame following the first frame in the fourth image 423 .
  • the user terminal 200 displays the output frames generated according to the above-described process and simultaneously reproduces the target voice, thereby providing the user with an output result as if the object speaks with the corresponding voice. .
  • the user terminal 200 provides the avatar's image as an image in which the mouth shape is changed from the pre-stored avatar image to the mouth shape received from the server 100, and the avatar's voice as the target voice received from the server 100 to provide natural A lip sync image may be provided.
  • Embodiments according to the present invention described above may be implemented in the form of a computer program that can be executed on a computer through various components, and such a computer program may be recorded on a computer-readable medium.
  • the medium may store a program executable by a computer.
  • the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions.
  • the computer program may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software.
  • An example of a computer program may include not only machine language code generated by a compiler but also high-level language code that can be executed by a computer using an interpreter or the like.

Abstract

A method for switching an image from a first image to a second image, according to one embodiment of the present invention, may comprise the steps of: calculating a degree of similarity between at least one frame constituting the first image and at least one frame constituting each of a plurality of second images; determining a first connection frame, which is a frame used at a time of switching from the first image to the second image, from among the at least one frame of the first image, by referring to the degree of similarity; and determining a second image to be used for switching from among the plurality of second images, and a second connection frame, which is a frame used at the time of switching, from among at least one frame of the second image to be used for switching, by referring to the degree of similarity.

Description

영상 전환 방법, 장치 및 컴퓨터 프로그램Image conversion method, device and computer program
본 발명은 음성과 입술 모양이 동기화된 영상을 제공함에 있어서 자연스러운 영상 전환을 제공하는 영상 전환 방법, 장치 및 컴퓨터 프로그램에 관한것이다.The present invention relates to an image conversion method, apparatus, and computer program for providing natural image conversion in providing an image in which voice and lip shape are synchronized.
정보통신 기술의 발달로 많은 애플리케이션에 인공 지능 기술의 도입이 이루어지고 있다. 종래에는 특정 인물이 특정 주제에 대해 이야기하는 영상을 생성하기 위해서는 해당 인물이 실제로 해당 주제의 이야기를 하는 영상을 카메라 등으로 획득하는 방법만이 유일하였다.With the development of information and communication technology, artificial intelligence technology is being introduced into many applications. Conventionally, in order to generate an image in which a specific person talks about a specific topic, the only method is to acquire an image in which the corresponding person actually talks about the corresponding topic using a camera or the like.
또한 일부 종래기술에 있어서 영상 합성 기술 등을 이용하여 특정 인물의 이미지나 영상에 기반하여 합성된 영상을 생성하기도 하였으나, 이와 같은 영상은 여전히 영상의 전환이 매끄럽지 않거나 인물의 입모양 등이 부자연스러운 문제점이 있었다.In addition, in some prior art, a synthesized image based on an image or video of a specific person has been created using video synthesis technology, but such an image still has problems in that the transition of the image is not smooth or the shape of the mouth of the person is unnatural there was
본 발명은 상술한 문제점을 해결하기 위한 것으로, 보다 자연스러운 영상을 생성하고자 한다.The present invention is to solve the above problems, and to create a more natural image.
특히 본 발명은 아바타의 대기 영상과 아바타의 발화 영상 간의 전환이 자연스럽게 이루어지도록 하고자 한다.In particular, the present invention is intended to allow a natural transition between an avatar's standby video and an avatar's utterance video.
또한 본 발명은 실제 인물에 의한 촬영 없이도, 입모양이 자연스러운 아바타 영상을 생성하고자 한다.In addition, the present invention intends to generate an avatar image with a natural mouth shape without taking a picture by a real person.
또한 본 발명은 인공 신경망의 사용에도 불구하고 영상의 생성에 있어서 사용되는 서버의 리소스와 네트워크 리소스의 사용을 최소화하고자 한다.In addition, the present invention is intended to minimize the use of server resources and network resources used in image generation despite the use of an artificial neural network.
본 발명의 일 실시예에 따른 제1 영상에서 제2 영상으로 영상을 전환하는 방법은, 제1 영상을 구성하는 적어도 하나의 프레임과 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하는 단계; 상기 유사도를 참조하여 상기 제1 영상의 적어도 하나의 프레임 중 상기 제1 영상에서 상기 제2 영상으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정하는 단계; 및 상기 유사도를 참조하여 상기 복수의 제2 영상 중 전환에 사용할 제2 영상 및 상기 전환에 사용할 제2 영상의 적어도 하나의 프레임 중 상기 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정하는 단계;를 포함할 수 있다.A method for converting an image from a first image to a second image according to an embodiment of the present invention measures a similarity between at least one frame constituting a first image and at least one frame constituting a plurality of second images, respectively. calculating; determining a first connected frame, which is a frame used at a time of transition from the first image to the second image, among at least one frame of the first image, by referring to the degree of similarity; and determining a second video to be used for switching among the plurality of second images and a second connected frame that is a frame used at the switching time point among at least one frame of the second video to be used for switching by referring to the degree of similarity. can include
상기 영상 전환 방법은 상기 유사도를 산출하는 단계 이전에, 상기 제1 영상을 구성하는 적어도 하나의 프레임 중 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임과 유사도 비교 대상인 적어도 하나의 후보 프레임을 결정하는 단계;를 더 포함하고, 상기 유사도를 산출하는 단계는 상기 적어도 하나의 후보 프레임과 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출할 수 있다.The image conversion method, prior to the step of calculating the similarity, selects at least one frame constituting each of the plurality of second images among at least one frame constituting the first image and at least one candidate frame to be compared for similarity. The method may further include determining a similarity, and the calculating of the degree of similarity may include calculating a degree of similarity between the at least one candidate frame and at least one frame constituting each of the plurality of second images.
상기 적어도 하나의 후보 프레임을 결정하는 단계는 영상의 전환 필요성이 발생된 제1 시점으로부터 소정의 시구간 내에 해당하는 상기 제1 영상의 적어도 하나의 프레임을 상기 적어도 하나의 후보 프레임으로 결정하는 단계;를 포함할 수 있다.The determining of the at least one candidate frame may include determining, as the at least one candidate frame, at least one frame of the first image corresponding to a predetermined time period from a first point in time when a need to switch an image occurs; can include
상기 적어도 하나의 후보 프레임을 결정하는 단계는 상기 제1 영상의 첫 프레임과 상기 제1 영상의 마지막 프레임을 상기 적어도 하나의 후보 프레임으로 결정하는 단계;를 포함할 수 있다.The determining of the at least one candidate frame may include determining a first frame of the first image and a last frame of the first image as the at least one candidate frame.
상기 영상 전환 방법은 상기 제1 영상의 적어도 일부 프레임을 포함하는 제3 영상과 상기 전환에 사용할 제2 영상의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성하는 단계;를 더 포함할 수 있다. 이때 상기 제3 영상은 상기 제1 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제1 연결 프레임을 마지막 프레임으로 하는 영상이고, 상기 제4 영상은 상기 전환에 사용할 제2 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제2 연결 프레임을 첫 프레임으로 하는 영상일 수 있다.The image switching method further includes generating a transition image by connecting a third image including at least some frames of the first image and a fourth image including at least some frames of the second image to be used for the transition. can do. At this time, the third image is an image composed of at least some frames of the first image, and has the first connected frame as the last frame, and the fourth image is composed of at least some frames of the second image to be used for the transition. It may be an image having the second connected frame as a first frame.
상기 제1 영상은 아바타의 대기 모습이 촬영된 영상이고, 상기 제2 영상은 상기 아바타의 발화 모습이 촬영된 영상이고, 상기 영상 전환 방법은 전환 영상을 생성하는 단계 이후에, 입력 된 음성으로부터 상기 제4 영상과 함께 제공되는 입술 이미지를 생성하는 단계;를 더 포함할 수 있다.The first image is a captured image of the avatar's waiting state, and the second image is a captured image of the avatar's utterance. It may further include generating a lip image provided with the fourth image.
상기 입술 이미지를 생성하는 단계는 상기 아바타의 목소리로 사용할 대상 음성을 획득하는 단계; 학습된 제1 인공 신경망을 이용하여, 상기 제4 영상의 프레임 별로 상기 음성에 대응되는 입술 이미지를 생성하는 단계; 및 상기 제4 영상의 식별 정보, 상기 입술 이미지, 상기 제4 영상의 프레임에서 상기 입술 이미지의 위치정보를 포함하는 립싱크 데이터를 생성하는 단계;를 포함할 수 있다.The generating of the lip image may include acquiring a target voice to be used as the voice of the avatar; generating a lip image corresponding to the voice for each frame of the fourth image using the learned first artificial neural network; and generating lip sync data including identification information of the fourth image, the lip image, and location information of the lip image in a frame of the fourth image.
상기 제1 인공 신경망은 음성 및 제1 입술 이미지의 입력에 따라 상기 제1 입술 이미지가 상기 음성에 따라 변형된 이미지인 제2 입술 이미지를 출력하도록 학습 된 신경망일 수 있다.The first artificial neural network may be a neural network trained to output a second lip image, which is an image in which the first lip image is transformed according to the voice, according to input of the voice and the first lip image.
상기 전환 영상을 생성하는 단계는 상기 제3 영상 및 상기 제4 영상 각각에 포함되는 프레임의 식별 정보를 포함하는 전환 영상의 구성 정보를 생성하여 외부 장치로 전송하는 단계;를 포함할 수 있다.The generating of the transition image may include generating configuration information of a transition image including identification information of frames included in each of the third and fourth images and transmitting the generated transition image configuration information to an external device.
본 발명의 일 실시예에 따른 제1 영상에서 제2 영상으로 영상을 전환하는 영상 전환 장치는, 제1 영상을 구성하는 적어도 하나의 프레임과 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하고, 상기 유사도를 참조하여 상기 제1 영상의 적어도 하나의 프레임 중 상기 제1 영상에서 상기 제2 영상으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정하고, 상기 유사도를 참조하여 상기 복수의 제2 영상 중 전환에 사용할 제2 영상 및 상기 전환에 사용할 제2 영상의 적어도 하나의 프레임 중 상기 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정할 수 있다.An image switching device for switching an image from a first image to a second image according to an embodiment of the present invention includes a gap between at least one frame constituting a first image and at least one frame constituting a plurality of second images, respectively. A similarity is calculated, and a first connection frame, which is a frame used at a transition time when the first image is switched to the second image, among at least one frame of the first image is determined by referring to the similarity, and the similarity is determined. With reference to the second image to be used for switching among the plurality of second images, and at least one frame of the second image to be used for switching, a second connected frame that is a frame used at the switching time point may be determined.
상기 영상 전환 장치는 상기 제1 영상을 구성하는 적어도 하나의 프레임 중 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임과 유사도 비교 대상인 적어도 하나의 후보 프레임을 결정하고, 상기 적어도 하나의 후보 프레임과 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출할 수 있다.The image conversion device determines at least one candidate frame to be compared with at least one frame constituting each of the plurality of second images among at least one frame constituting the first image, and the at least one candidate frame A similarity between the image and at least one frame constituting each of the plurality of second images may be calculated.
상기 영상 전환 장치는 영상의 전환 필요성이 발생된 제1 시점으로부터 소정의 시구간 내에 해당하는 상기 제1 영상의 적어도 하나의 프레임을 상기 적어도 하나의 후보 프레임으로 결정할 수 있다.The image switching device may determine, as the at least one candidate frame, at least one frame of the first image corresponding to a predetermined time period from a first point in time when the need for image switching occurs.
상기 영상 전환 장치는 상기 제1 영상의 첫 프레임과 상기 제1 영상의 마지막 프레임을 상기 적어도 하나의 후보 프레임으로 결정할 수 있다.The image conversion device may determine a first frame of the first image and a last frame of the first image as the at least one candidate frame.
상기 영상 전환 장치는 상기 제1 영상의 적어도 일부 프레임을 포함하는 제3 영상과 상기 전환에 사용할 제2 영상의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성하고, 상기 제3 영상은 상기 제1 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제1 연결 프레임을 마지막 프레임으로 하는 영상이고, 상기 제4 영상은 상기 전환에 사용할 제2 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제2 연결 프레임을 첫 프레임으로 하는 영상일 수 있다.The image switching device generates a transition image by connecting a third image including at least some frames of the first image and a fourth image including at least some frames of the second image to be used for the transition, and is an image composed of at least some frames of the first image and has the first connected frame as the last frame, and the fourth image is an image composed of at least some frames of the second image to be used for the transition. It may be an image having 2 connected frames as the first frame.
상기 제1 영상은 아바타의 대기 모습이 촬영된 영상이고, 상기 제2 영상은 상기 아바타의 발화 모습이 촬영된 영상이고, 상기 영상 전환 장치는 입력된 음성으로부터 상기 제4 영상과 함께 제공되는 입술 이미지를 생성할 수 있다.The first image is a captured image of the avatar's waiting state, the second image is a captured image of the avatar's utterance, and the image conversion device is a lip image provided together with the fourth image from the input voice. can create
상기 영상 전환 장치는 상기 아바타의 목소리로 사용할 대상 음성을 획득하고, 학습된 제1 인공 신경망을 이용하여, 상기 제4 영상의 프레임 별로 상기 음성에 대응되는 입술 이미지를 생성하고, 상기 제4 영상의 식별 정보, 상기 입술 이미지, 상기 제4 영상의 프레임에서 상기 입술 이미지의 위치정보를 포함하는 립싱크 데이터를 생성할 수 있다.The image switching device acquires a target voice to be used as the voice of the avatar, uses the learned first artificial neural network, and generates a lip image corresponding to the voice for each frame of the fourth image, Lip sync data including identification information, the lip image, and location information of the lip image in the frame of the fourth image may be generated.
상기 제1 인공 신경망은 음성 및 제1 입술 이미지의 입력에 따라 상기 제1 입술 이미지가 상기 음성에 따라 변형된 이미지인 제2 입술 이미지를 출력하도록 학습된 신경망일 수 있다.The first artificial neural network may be a neural network trained to output a second lip image, which is an image in which the first lip image is transformed according to the voice, according to input of the voice and the first lip image.
상기 영상 전환 장치는 상기 제3 영상 및 상기 제4 영상 각각에 포함되는 프레임의 식별 정보를 포함하는 전환 영상의 구성 정보를 생성하여 외부 장치로 전송할 수 있다.The image conversion device may generate configuration information of a conversion image including identification information of frames included in each of the third image and the fourth image and transmit it to an external device.
본 발명에 따르면 보다 자연스러운 인물 영상을 생성할 수 있다.According to the present invention, a more natural person image can be created.
특히 본 발명에 따르면 아바타의 대기 영상과 아바타의 발화 영상 간의 전환이 자연스럽게 이루어지도록 할 수 있다.In particular, according to the present invention, switching between an avatar's standby video and an avatar's utterance video can be made naturally.
또한 본 발명은 실제 인물에 의한 촬영 없이도, 입모양이 자연스러운 아바타 영상을 생성할 수 있다.In addition, according to the present invention, an avatar image having a natural mouth shape can be generated without taking a picture of a real person.
아울러 본 발명에 따르면 인공 신경망의 사용에도 불구하고 영상의 생성에 있어서 사용되는 서버의 리소스와 네트워크 리소스의 사용을 최소화 할 수 있다.In addition, according to the present invention, despite the use of an artificial neural network, it is possible to minimize the use of server resources and network resources used in image generation.
도 1 본 발명의 일 실시예에 따른 영상 생성 시스템의 구성을 개략적으로 도시한 도면이다.1 is a diagram schematically showing the configuration of an image generating system according to an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다.Figure 2 is a diagram schematically showing the configuration of the server 100 according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 서비스 서버(300)의 구성을 개략적으로 도시한 도면이다.3 is a diagram schematically illustrating the configuration of a service server 300 according to an embodiment of the present invention.
도 4 및 도 5는 본 발명의 일 실시예에 따른 서버(100)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다.4 and 5 are diagrams for explaining an exemplary structure of an artificial neural network learned by the server 100 according to an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따른 서버(100)의 메모리(130)에 저장되는 복수의 제1 영상(IG1) 및 복수의 제2 영상(IG2)을 도시한 도면이다.6 is a diagram illustrating a plurality of first images IG1 and a plurality of second images IG2 stored in the memory 130 of the server 100 according to an embodiment of the present invention.
도 7 및 도 8은 본 발명의 일 실시예에 따른 서버(100)가 적어도 하나의 후보 프레임(411 또는 412, 413)을 결정하는 과정을 설명하기 위한 도면이다.7 and 8 are diagrams for explaining a process in which the server 100 determines at least one candidate frame 411, 412, or 413 according to an embodiment of the present invention.
도 9는 제1 영상(410)을 구성하는 프레임(414)과 제2 영상의 프레임(421)의 유사도가 큰 경우의 유사도 산출 결과(431)를 도시한 도면이다.9 is a diagram illustrating a similarity calculation result 431 when the similarity between the frame 414 constituting the first image 410 and the frame 421 of the second image is high.
도 10은 제1 영상(410)을 구성하는 프레임(415)과 제2 영상의 프레임(422)의 유사도가 작은 경우의 유사도 산출 결과(432)를 도시한 도면이다.10 is a diagram illustrating a similarity calculation result 432 when the similarity between the frame 415 constituting the first image 410 and the frame 422 of the second image is small.
도 11은 본 발명의 일 실시예에 따른 서버(100)가 생성한 전환 영상(440)의 구성을 도시한 도면이다.11 is a diagram showing the configuration of a transition image 440 generated by the server 100 according to an embodiment of the present invention.
도 12는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(510)를 이용하여 제1 인공 신경망(520)을 학습하는 방법을 설명하기 위한 도면이다.FIG. 12 is a diagram for explaining a method in which the server 100 learns the first artificial neural network 520 using a plurality of learning data 510 according to an embodiment of the present invention.
도 13은 제1 인공 신경망(520)의 입력 데이터와 출력 데이터를 설명하기 위한 도면이다.13 is a diagram for explaining input data and output data of the first artificial neural network 520 .
도 14는 본 발명의 일 실시예에 따른 사용자 단말(200)이 출력 프레임으로 구성되는 출력 영상(740)을 생성하는 방법을 설명하기 위한 도면이다. 14 is a diagram for explaining a method of generating an output image 740 composed of output frames by the user terminal 200 according to an embodiment of the present invention.
도 15, 도 16 및 도 17은 본 발명의 일 실시예에 따른 서버(100)에 의해 수행되는 영상 전환 방법을 설명하기 위한 흐름도이다.15, 16 and 17 are flowcharts for explaining an image conversion method performed by the server 100 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 제1 영상에서 제2 영상으로 영상을 전환하는 방법은, 제1 영상을 구성하는 적어도 하나의 프레임과 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하는 단계; 상기 유사도를 참조하여 상기 제1 영상의 적어도 하나의 프레임 중 상기 제1 영상에서 상기 제2 영상으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정하는 단계; 및 상기 유사도를 참조하여 상기 복수의 제2 영상 중 전환에 사용할 제2 영상 및 상기 전환에 사용할 제2 영상의 적어도 하나의 프레임 중 상기 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정하는 단계;를 포함할 수 있다.A method for converting an image from a first image to a second image according to an embodiment of the present invention measures a similarity between at least one frame constituting a first image and at least one frame constituting a plurality of second images, respectively. calculating; determining a first connected frame, which is a frame used at a time of transition from the first image to the second image, among at least one frame of the first image, by referring to the degree of similarity; and determining a second video to be used for switching among the plurality of second images and a second connected frame that is a frame used at the switching time point among at least one frame of the second video to be used for switching by referring to the degree of similarity. can include
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다. Since the present invention can apply various transformations and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. Effects and features of the present invention, and methods for achieving them will become clear with reference to the embodiments described later in detail together with the drawings. However, the present invention is not limited to the embodiments disclosed below and may be implemented in various forms.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, and when describing with reference to the drawings, the same or corresponding components are assigned the same reference numerals, and overlapping descriptions thereof will be omitted. .
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 형태는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다. In the following embodiments, terms such as first and second are used for the purpose of distinguishing one component from another component without limiting meaning. In the following examples, expressions in the singular number include plural expressions unless the context clearly dictates otherwise. In the following embodiments, terms such as include or have mean that features or components described in the specification exist, and do not preclude the possibility that one or more other features or components may be added. In the drawings, the size of components may be exaggerated or reduced for convenience of description. For example, since the size and shape of each component shown in the drawings are arbitrarily shown for convenience of description, the present invention is not necessarily limited to those shown.
도 1은 본 발명의 일 실시예에 따른 영상 생성 시스템의 구성을 개략적으로 도시한 도면이다.1 is a diagram schematically showing the configuration of an image generating system according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 영상 생성 시스템은 입술 이미지(서버에 의해 생성된)와 얼굴을 포함하는 제2 영상(영상 수신 장치의 메모리에 저장된, 본 명세서에서 때때로 '전환에 사용할 제2 영상'으로 기술됨)이 영상 수신 장치(예를 들어 사용자 단말)에서 오버랩 되어 표시되도록 할 수 있다. An image generating system according to an embodiment of the present invention includes a lip image (generated by a server) and a second image including a face (stored in a memory of an image receiving device, sometimes referred to as 'second image to be used for conversion' in this specification). ) may be overlapped and displayed in the image receiving device (eg, user terminal).
이때 영상 생성 시스템의 서버는 대상 객체의 목소리로 사용할 음성으로부터 순차적인 입술 이미지를 생성할 수 있고, 영상 수신 장치는 순차적인 입술 이미지와 제2 영상을 오버랩 하여 표시함으로써 입모양과 음성이 일치되는 영상을 표시할 수 있다.At this time, the server of the image generating system may generate sequential lip images from the voice to be used as the voice of the target object, and the image receiving device overlaps and displays the sequential lip images and the second image, thereby matching the mouth shape and the voice. can be displayed.
이와 같이 본 발명은 립싱크 영상을 생성함에 있어서, 일부 작업이 영상 수신 장치에서 수행되도록 하여, 서버의 리소스를 보다 효율적으로 사용할 수 있도록 하며 관련된 리소스 또한 보다 효율적으로 사용할 수 있도록 한다.As described above, in generating a lip sync image, the present invention allows some operations to be performed by an image receiving device so that server resources can be used more efficiently and related resources can also be used more efficiently.
한편 본 발명의 일 실시예에 따른 영상 생성 시스템은 제1 영상(예를 들어 대상 객체의 대기 모습이 촬영된 영상)에서 제2 영상(예를 들어 대상 객체의 발화 모습이 촬영된 영상)으로 전환되는 영상을 생성함에 있어서 두 영상을 구성하는 프레임 간의 유사도 비교를 통해 유사도가 높은 제2 영상을 선택함으로써 보다 자연스러운 영상을 생성할 수 있다.Meanwhile, the image generating system according to an embodiment of the present invention converts a first image (for example, an image in which a waiting state of a target object is photographed) to a second image (eg, an image in which a state of speaking of a target object is photographed). In generating the image, a more natural image may be generated by selecting a second image having a high degree of similarity through a similarity comparison between frames constituting the two images.
본 발명에서 제1 인공 신경망 및 제2 인공 신경망과 같은 '인공 신경망'은 용도에 따른 학습 데이터로 학습된 신경망으로, 머신 러닝(Machine Learning) 또는 딥러닝(Deep Learning) 기법에 의해 학습된 인공 신경망을 의미할 수 있다. 이와 같은 신경망의 구조에 대해서는 도 4 내지 도 5를 참조하여 후술한다.In the present invention, 'artificial neural networks' such as the first artificial neural network and the second artificial neural network are neural networks learned with learning data according to use, and artificial neural networks learned by machine learning or deep learning techniques can mean The structure of such a neural network will be described later with reference to FIGS. 4 and 5 .
본 발명에서 제1 영상은 가령 대상 객체(이하에서는 '아바타'로 명명한다)의 대기 모습이 촬영된 영상 및 아바타의 발화 모습이 촬영된 영상 중 어느 하나이고, 제2 영상은 나머지 하나에 해당할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니며, 동작하는 대상 객체(또는 아바타)의 영상을 포함하는 영상이라면 본 발명의 제1 영상 및 제2 영상에 해당할 수 있다. 제1 영상 및 제2 영상에 대한 상세한 설명은 도 6을 참조하여 후술한다.In the present invention, the first image may be, for example, one of an image in which a waiting state of a target object (hereinafter referred to as 'avatar') is photographed and an image in which an avatar utterance is photographed, and the second video corresponds to the other one. can However, this is an example and the spirit of the present invention is not limited thereto, and any image including an image of an operating target object (or avatar) may correspond to the first image and the second image of the present invention. A detailed description of the first image and the second image will be described later with reference to FIG. 6 .
본 발명의 일 실시예에 따른 영상 생성 시스템은 도 1에 도시된 바와 같이 서버(100), 사용자 단말(200), 서비스 서버(300) 및 통신망(400)을 포함할 수 있다.As shown in FIG. 1 , an image generating system according to an embodiment of the present invention may include a server 100 , a user terminal 200 , a service server 300 and a communication network 400 .
본 발명의 일 실시예에 따른 서버(100)는 제1 영상에서 제2 영상으로 전환되는 영상인 전환 영상의 생성 및/또는 전송에 필요한 작업을 수행할 수 있다. 가령 서버(100)는 전환 영상에 포함되는 하나 이상의 영상의 식별 정보 및 하나 이상의 영상 각각의 프레임의 식별 정보를 사용자 단말(200) 및/또는 서비스 서버(300)에 제공할 수 있다.The server 100 according to an embodiment of the present invention may perform operations necessary for generating and/or transmitting a transition image, which is an image that is converted from a first image to a second image. For example, the server 100 may provide identification information of one or more images included in the transition image and identification information of each frame of the one or more images to the user terminal 200 and/or the service server 300 .
한편 본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 대상 음성으로부터 입술 이미지를 생성하고, 생성된 입술 이미지를 사용자 단말(200) 및/또는 서비스 서버(300)에 제공할 수 있다. Meanwhile, the server 100 according to an embodiment of the present invention generates a lip image from the target voice using the learned first artificial neural network, and transmits the generated lip image to the user terminal 200 and/or the service server 300. can be provided to
이때 서버(100)는 전환 영상의 프레임 별로 음성에 대응되는 입술 이미지를 생성하고, 프레임의 식별 정보, 생성된 입술 이미지, 입술 이미지의 프레임 내에서의 위치 정보를 포함하는 립싱크 데이터를 생성할 수 있다. 또한 서버(100)는 생성된 립싱크 데이터를 사용자 단말(200) 및/또는 서비스 서버(300)에 제공할 수 있다. 본 발명에서 이와 같은 서버(100)는 때때로 '영상 전환 장치'로 명명되어 설명될 수 있다.At this time, the server 100 may generate a lip image corresponding to the voice for each frame of the transition image, and may generate lip sync data including identification information of the frame, the generated lip image, and location information of the lip image within the frame. . In addition, the server 100 may provide the generated lip sync data to the user terminal 200 and/or the service server 300 . In the present invention, such a server 100 may be sometimes named and described as a 'video conversion device'.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 서버(100)는 통신부(110), 제1 프로세서(120), 메모리(130) 및 제2 프로세서(140)를 포함할 수 있다. 또한 도면에는 도시되지 않았으나, 본 발명의 일 실시예에 따른 서버(100)는 입/출력부, 프로그램 저장부 등을 더 포함할 수 있다. Figure 2 is a diagram schematically showing the configuration of the server 100 according to an embodiment of the present invention. Referring to FIG. 2 , a server 100 according to an embodiment of the present invention may include a communication unit 110 , a first processor 120 , a memory 130 and a second processor 140 . Also, although not shown in the drawings, the server 100 according to an embodiment of the present invention may further include an input/output unit, a program storage unit, and the like.
통신부(110)는 서버(100)가 사용자 단말(200) 및/또는 서비스 서버(300)와 같은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다. The communication unit 110 includes hardware and software necessary for the server 100 to transmit/receive signals such as control signals or data signals with other network devices such as the user terminal 200 and/or the service server 300 through wired or wireless connections. It may be a device that includes
제1 프로세서(120)는 학습된 인공 신경망들을 이용하여 입력 데이터로부터 출력 데이터를 생성하는 일련의 과정을 제어하는 장치일 수 있다. 가령 제1 프로세서(120)는 학습된 제1 인공 신경망을 이용하여 획득된 음성에 대응되는 입술 이미지를 생성하는 과정을 제어하는 장치일 수 있다. The first processor 120 may be a device that controls a series of processes of generating output data from input data using learned artificial neural networks. For example, the first processor 120 may be a device that controls a process of generating a lip image corresponding to the acquired voice using the learned first artificial neural network.
이때 프로세서(Processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In this case, the processor may mean, for example, a data processing device embedded in hardware having a physically structured circuit to perform functions expressed by codes or instructions included in a program. As an example of such a data processing device built into the hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) Circuit) and FPGA (Field Programmable Gate Array), but the scope of the present invention is not limited thereto.
메모리(130)는 서버(100)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(130)는 학습된 인공 신경망을 구성하는 데이터들(가령 계수들)을 일시적 및/또는 영구적으로 저장할 수 있다. 물론 메모리(130)는 인공 신경망을 학습하기 위한 학습 데이터 또는 서비스 서버(300)로부터 수신된 데이터를 저장할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.The memory 130 performs a function of temporarily or permanently storing data processed by the server 100 . The memory may include magnetic storage media or flash storage media, but the scope of the present invention is not limited thereto. For example, the memory 130 may temporarily and/or permanently store data constituting the learned artificial neural network (eg, coefficients). Of course, the memory 130 may store learning data for learning an artificial neural network or data received from the service server 300 . However, this is illustrative and the spirit of the present invention is not limited thereto.
제2 프로세서(140)는 전술한 제1 프로세서(120)의 제어에 따라 연산을 수행하는 장치를 의미할 수 있다. 이때 제2 프로세서(140)는 전술한 제1 프로세서(120)보다 높은 연산 능력을 갖는 장치일 수 있다. 가령 제2 프로세서(140)는 GPU(Graphics Processing Unit)로 구성될 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 본 발명의 일 실시예에서, 제2 프로세서(140)는 복수일 수도 있고, 단수일 수도 있다.The second processor 140 may refer to a device that performs calculations under the control of the first processor 120 described above. In this case, the second processor 140 may be a device having higher computational power than the above-described first processor 120 . For example, the second processor 140 may be configured as a graphics processing unit (GPU). However, this is an example and the spirit of the present invention is not limited thereto. In one embodiment of the present invention, the number of second processors 140 may be plural or singular.
본 발명의 일 실시예에서 서비스 서버(300)는 서버(100)로부터 생성된 입술 이미지를 포함하는 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 수신하고 이를 이용하여 출력 프레임을 생성한 뒤 다른 장치(예를 들어 사용자 단말(200))에 제공하는 장치일 수 있다. In one embodiment of the present invention, the service server 300 receives lip sync data including a lip image generated by the server 100 and data related to a transition image (eg, identification information of a frame included in the transition image), It may be a device that generates an output frame using this and provides it to another device (eg, the user terminal 200).
본 발명의 다른 실시예에서, 서비스 서버(300)는 서버(100)에 의해 학습된 인공 신경망을 수신하여, 다른 장치(예를 들어 사용자 단말(200))의 요청에 따라 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 제공하는 장치일 수도 있다.In another embodiment of the present invention, the service server 300 receives the artificial neural network learned by the server 100, and according to a request from another device (eg, the user terminal 200), lip sync data and a transition image and It may be a device that provides related data (eg, identification information of a frame included in a transition image).
도 3은 본 발명의 일 실시예에 따른 서비스 서버(300)의 구성을 개략적으로 도시한 도면이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 서비스 서버(300)는 통신부(310), 제3 프로세서(320), 메모리(330) 및 제4 프로세서(340)를 포함할 수 있다. 또한 도면에는 도시되지 않았으나, 본 발명의 일 실시예에 따른 서비스 서버(300)는 입/출력부, 프로그램 저장부 등을 더 포함할 수 있다. 3 is a diagram schematically illustrating the configuration of a service server 300 according to an embodiment of the present invention. Referring to FIG. 3 , a service server 300 according to an embodiment of the present invention may include a communication unit 310 , a third processor 320 , a memory 330 and a fourth processor 340 . Also, although not shown in the drawing, the service server 300 according to an embodiment of the present invention may further include an input/output unit, a program storage unit, and the like.
본 발명의 일 실시예에서 제3 프로세서(320)는 서버(100)로부터 생성된 입술 이미지를 포함하는 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 수신하고, 이를 이용하여 출력 프레임을 생성한 뒤 다른 장치(예를 들어 사용자 단말(200))에 제공하는 과정을 제어하는 장치일 수 있다. In one embodiment of the present invention, the third processor 320 receives lip sync data including a lip image generated from the server 100 and data related to a transition image (eg, identification information of a frame included in the transition image) It may be a device that controls the process of generating an output frame and providing it to another device (for example, the user terminal 200).
한편 본 발명의 다른 실시예에서 제3 프로세서(320)는 학습된 인공 신경망(서버(100)로부터 수신된)을 이용하여 다른 장치(예를 들어 사용자 단말(200))의 요청에 따라 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 제공하는 장치일 수도 있다.Meanwhile, in another embodiment of the present invention, the third processor 320 uses the learned artificial neural network (received from the server 100) to obtain lip sync data and lip sync data according to a request from another device (eg, the user terminal 200). It may be a device that provides data related to a transition image (eg, identification information of a frame included in the transition image).
이때 프로세서(Processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In this case, the processor may mean, for example, a data processing device embedded in hardware having a physically structured circuit to perform functions expressed by codes or instructions included in a program. As an example of such a data processing device built into the hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) Circuit) and FPGA (Field Programmable Gate Array), but the scope of the present invention is not limited thereto.
메모리(330)는 서비스 서버(300)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(330)는 학습된 인공 신경망을 구성하는 데이터들(가령 계수들)을 일시적 및/또는 영구적으로 저장할 수 있다. 물론 메모리(330)는 인공 신경망을 학습하기 위한 학습 데이터 또는 서비스 서버(300)로부터 수신된 데이터를 저장할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.The memory 330 performs a function of temporarily or permanently storing data processed by the service server 300 . The memory may include magnetic storage media or flash storage media, but the scope of the present invention is not limited thereto. For example, the memory 330 may temporarily and/or permanently store data constituting the learned artificial neural network (eg, coefficients). Of course, the memory 330 may store learning data for learning an artificial neural network or data received from the service server 300 . However, this is illustrative and the spirit of the present invention is not limited thereto.
제4 프로세서(340)는 전술한 제3 프로세서(320)의 제어에 따라 연산을 수행하는 장치를 의미할 수 있다. 이때 제4 프로세서(340)는 전술한 제3 프로세서(320)보다 높은 연산 능력을 갖는 장치일 수 있다. 가령 제4 프로세서(340)는 GPU(Graphics Processing Unit)로 구성될 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 본 발명의 일 실시예에서, 제4 프로세서(340)는 복수일 수도 있고, 단수일 수도 있다.The fourth processor 340 may mean a device that performs calculations under the control of the aforementioned third processor 320 . In this case, the fourth processor 340 may be a device having higher computational power than the aforementioned third processor 320 . For example, the fourth processor 340 may be configured as a graphics processing unit (GPU). However, this is an example and the spirit of the present invention is not limited thereto. In one embodiment of the present invention, the fourth processor 340 may be plural or singular.
본 발명의 일 실시예에 따른 사용자 단말(200)은 사용자가 서버(100)에 의해 제공되는 다양한 서비스를 이용할 수 있도록 사용자와 서버(100)를 매개하는 다양한 형태의 장치를 의미할 수 있다. 바꾸어 말하면, 본 발명의 일 실시예에 따른 사용자 단말(200)은 서버(100)와 데이터를 송수신 하는 다양한 장치를 의미할 수 있다. The user terminal 200 according to an embodiment of the present invention may refer to various types of devices that mediate the user and the server 100 so that the user can use various services provided by the server 100 . In other words, the user terminal 200 according to an embodiment of the present invention may refer to various devices that transmit and receive data to and from the server 100 .
본 발명의 일 실시예에 따른 사용자 단말(200)은 서버(100)에 의해 제공되는 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 수신하고, 이를 이용하여 출력 프레임을 생성할 수 있다. 이와 같은 사용자 단말(200)은 도 1에 도시된 바와 같이, 휴대용 단말(201, 202, 203)을 의미할 수도 있고, 컴퓨터(204)를 의미할 수도 있다. The user terminal 200 according to an embodiment of the present invention receives lip sync data and transition image-related data (eg, frame identification information included in the transition image) provided by the server 100, and uses them to generate an output frame. As shown in FIG. 1 , such a user terminal 200 may mean portable terminals 201 , 202 , and 203 or may mean a computer 204 .
본 발명의 일 실시예에 따른 사용자 단말(200)은 상술한 기능을 수행하기 위해 콘텐츠 등을 표시하기 위한 표시수단, 이러한 콘텐츠에 대한 사용자의 입력을 획득하기 위한 입력수단을 구비할 수 있다. 이 때 입력수단 및 표시수단은 다양하게 구성될 수 있다. 가령 입력수단은 키보드, 마우스, 트랙볼, 마이크, 버튼, 터치패널 등을 포함할 수 있으나 이에 한정되지 않는다. The user terminal 200 according to an embodiment of the present invention may include a display means for displaying content and an input means for acquiring a user's input for such content in order to perform the above-described functions. At this time, the input means and the display means may be configured in various ways. For example, the input means may include, but is not limited to, a keyboard, a mouse, a trackball, a microphone, a button, a touch panel, and the like.
본 발명에서 이와 같은 사용자 단말(200)은 때때로 '영상 표시 장치'로 명명되어 설명될 수 있다.In the present invention, such a user terminal 200 may be sometimes named and described as a 'video display device'.
본 발명의 일 실시예에 따른 통신망(400)은 영상 생성 시스템의 각 구성 간의 데이터 송수신을 매개하는 통신망을 의미할 수 있다. 가령 통신망(400)은 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The communication network 400 according to an embodiment of the present invention may refer to a communication network that mediates data transmission and reception between components of an image generating system. For example, the communication network 400 may be a wired network such as LANs (Local Area Networks), WANs (Wide Area Networks), MANs (Metropolitan Area Networks), ISDNs (Integrated Service Digital Networks), wireless LANs, CDMA, Bluetooth, satellite communication, etc. However, the scope of the present invention is not limited thereto.
도 4 및 도 5는 본 발명의 일 실시예에 따른 서버(100)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위하여 제1 인공 신경망 및 제2 인공 신경망을 '인공 신경망'으로 통칭하여 설명한다.4 and 5 are diagrams for explaining an exemplary structure of an artificial neural network learned by the server 100 according to an embodiment of the present invention. Hereinafter, for convenience of explanation, the first artificial neural network and the second artificial neural network will be collectively referred to as 'artificial neural networks'.
본 발명의 일 실시예에 따른 인공 신경망은 도 4에 도시된 바와 같은 합성 곱 신경망(CNN: Convolutional Neural Network) 모델에 따른 인공 신경망일 수 있다. 이때 CNN 모델은 복수의 연산 레이어(Convolutional Layer, Pooling Layer)를 번갈아 수행하여 최종적으로는 입력 데이터의 특징을 추출하는 데 사용되는 계층 모델일 수 있다.An artificial neural network according to an embodiment of the present invention may be an artificial neural network based on a Convolutional Neural Network (CNN) model as shown in FIG. 4 . In this case, the CNN model may be a hierarchical model used to finally extract features of input data by alternately performing a plurality of operation layers (Convolutional Layer, Pooling Layer).
본 발명의 일 실시예에 따른 서버(100)는 학습 데이터를 지도학습(Supervised Learning) 기법에 따라 처리하여 인공 신경망 모델을 구축하거나 학습시킬 수 있다. 서버(100)가 인공 신경망을 학습시키는 방법에 대한 상세한 설명은 후술한다.The server 100 according to an embodiment of the present invention may build or train an artificial neural network model by processing learning data according to a supervised learning technique. A detailed description of how the server 100 trains the artificial neural network will be described later.
본 발명의 일 실시예에 따른 서버(100)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 각 레이어 및/또는 각 노드의 가중치를 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다. The server 100 according to an embodiment of the present invention uses a plurality of learning data to input any one input data to the artificial neural network so that the generated output value approaches the value marked in the corresponding learning data. / Alternatively, the artificial neural network may be trained by repeatedly performing a process of updating the weight of each node.
이때 본 발명의 일 실시예에 따른 서버(100)는 역전파(Back Propagation) 알고리즘에 따라 각 레이어 및/또는 각 노드의 가중치(또는 계수)를 갱신할 수 있다.At this time, the server 100 according to an embodiment of the present invention may update weights (or coefficients) of each layer and/or each node according to a back propagation algorithm.
본 발명의 일 실시예에 따른 서버(100)는 입력 데이터의 특징 값을 추출하기 위한 컨볼루션 레이어(Convolution layer), 추출된 특징 값을 결합하여 특징 맵을 구성하는 풀링 레이어(pooling layer)를 생성할 수 있다. The server 100 according to an embodiment of the present invention generates a convolution layer for extracting feature values of input data and a pooling layer constituting a feature map by combining the extracted feature values. can do.
또한 본 발명의 일 실시예에 따른 서버(100)는 생성된 특징 맵을 결합하여, 입력 데이터가 복수의 항목 각각에 해당할 확률을 결정할 준비를 하는 풀리 커넥티드 레이어(Fully Conected Layer)를 생성할 수 있다. In addition, the server 100 according to an embodiment of the present invention combines the generated feature maps to generate a fully connected layer preparing to determine a probability that input data corresponds to each of a plurality of items. can
본 발명의 일 실시예에 따른 서버(100)는 입력 데이터에 대응되는 출력을 포함하는 아웃풋 레이어(Output Layer)를 산출할 수 있다.The server 100 according to an embodiment of the present invention may calculate an output layer including output corresponding to input data.
도 4에 도시된 예시에서는, 입력 데이터가 5X7 형태의 블록으로 나누어지며, 컨볼루션 레이어의 생성에 5X3 형태의 단위 블록이 사용되고, 풀링 레이어의 생성에 1X4 또는 1X2 형태의 단위 블록이 사용되는 것으로 도시되었지만, 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 입력 데이터의 종류 및/또는 각 블록의 크기는 다양하게 구성될 수 있다.In the example shown in FIG. 4, it is shown that input data is divided into 5X7 blocks, 5X3 unit blocks are used to create a convolution layer, and 1X4 or 1X2 unit blocks are used to create a pooling layer. However, this is an example and the spirit of the present invention is not limited thereto. Accordingly, the type of input data and/or the size of each block may be configured in various ways.
한편 이와 같은 인공 신경망은 전술한 메모리(130)에 인공 신경망의 모델의 종류, 인공 신경망을 구성하는 적어도 하나의 노드의 계수, 노드의 가중치 및 인공 신경망을 구성하는 복수의 레이어 간의 관계를 정의하는 함수의 계수들의 형태로 저장될 수 있다. 물론 인공 신경망의 구조 또한 메모리(130)에 소스코드 및/또는 프로그램의 형태로 저장될 수 있다.On the other hand, such an artificial neural network is a function defining the type of model of the artificial neural network, the coefficient of at least one node constituting the artificial neural network, the weight of the node, and the relationship between a plurality of layers constituting the artificial neural network in the memory 130 described above. can be stored in the form of coefficients of Of course, the structure of the artificial neural network may also be stored in the memory 130 in the form of source codes and/or programs.
본 발명의 일 실시예에 따른 인공 신경망은 도 5에 도시된 바와 같은 순환 신경망(Recurrent Neural Network, RNN) 모델에 따른 인공 신경망일 수 있다.An artificial neural network according to an embodiment of the present invention may be an artificial neural network based on a Recurrent Neural Network (RNN) model as shown in FIG. 5 .
도 5를 참조하면, 이와 같은 순환 신경망(RNN) 모델에 따른 인공 신경망은 적어도 하나의 입력 노드(N1)를 포함하는 입력 레이어(L1), 복수의 히든 노드(N2)를 포함하는 히든 레이어(L2) 및 적어도 하나의 출력 노드(N3)를 포함하는 출력 레이어(L3)를 포함할 수 있다.Referring to FIG. 5 , an artificial neural network according to such a recurrent neural network (RNN) model includes an input layer L1 including at least one input node N1 and a hidden layer L2 including a plurality of hidden nodes N2. ) and an output layer L3 including at least one output node N3.
히든 레이어(L2)는 도시된 바와 같이 전체적으로 연결된(Fully Connected) 하나 이상의 레이어를 포함할 수 있다. 히든 레이어(L2)가 복수의 레이어를 포함하는 경우, 인공 신경망은 각각의 히든 레이어 사이의 관계를 정의하는 함수(미도시)를 포함할 수 있다.As shown, the hidden layer L2 may include one or more fully connected layers. When the hidden layer L2 includes a plurality of layers, the artificial neural network may include a function (not shown) defining a relationship between each hidden layer.
출력 레이어(L3)의 적어도 하나의 출력 노드(N3)는 서버(100)의 제어에 따라 인공 신경망이 입력 레이어(L1)의 입력 값으로부터 생성한 출력 값을 포함할 수 있다.At least one output node N3 of the output layer L3 may include an output value generated by the artificial neural network from an input value of the input layer L1 under the control of the server 100 .
한편 각 레이어의 각 노드에 포함되는 값은 벡터일 수 있다. 또한 각 노드는 해당 노드의 중요도에 대응되는 가중치를 포함할 수도 있다.Meanwhile, a value included in each node of each layer may be a vector. In addition, each node may include a weight corresponding to the importance of the corresponding node.
한편 인공 신경망은 입력 레이어(L1)와 히든 레이어(L2)의 관계를 정의하는 제1 함수(F1) 및 히든 레이어(L2)와 출력 레이어(L3)의 관계를 정의하는 제2 함수(F2)를 포함할 수 있다. Meanwhile, the artificial neural network includes a first function F1 defining the relationship between the input layer L1 and the hidden layer L2 and a second function F2 defining the relationship between the hidden layer L2 and the output layer L3. can include
제1 함수(F1)는 입력 레이어(L1)에 포함되는 입력 노드(N1)와 히든 레이어(L2)에 포함되는 히든 노드(N2)간의 연결관계를 정의할 수 있다. 이와 유사하게, 제2 함수(F2)는 히든 레이어(L2)에 포함되는 히든 노드(N2)와 출력 레이어(L3)에 포함되는 출력 노드(N3)간의 연결관계를 정의할 수 있다.The first function F1 may define a connection relationship between the input node N1 included in the input layer L1 and the hidden node N2 included in the hidden layer L2. Similarly, the second function F2 may define a connection relationship between the hidden node N2 included in the hidden layer L2 and the output node N3 included in the output layer L3.
이와 같은 제1 함수(F1), 제2 함수(F2) 및 히든 레이어 사이의 함수들은 이전 노드의 입력에 기초하여 결과물을 출력하는 순환 신경망 모델을 포함할 수 있다.Functions between the first function F1, the second function F2, and the hidden layer may include a recurrent neural network model that outputs a result based on an input of a previous node.
서버(100)에 의해 인공 신경망이 학습되는 과정에서, 복수의 학습 데이터에 기초하여 제1 함수(F1) 및 제2 함수(F2)가 학습될 수 있다. 물론 인공 신경망이 학습되는 과정에서 전술한 제1 함수(F1) 및 제2 함수(F2) 외에 복수의 히든 레이어 사이의 함수들 또한 학습될 수 있다.In the course of learning the artificial neural network by the server 100, the first function F1 and the second function F2 may be learned based on a plurality of learning data. Of course, in the process of learning the artificial neural network, functions between the plurality of hidden layers may also be learned in addition to the first function F1 and the second function F2 described above.
본 발명의 일 실시예에 따른 인공 신경망은 표지(Labeled)된 학습 데이터를 기반으로 지도학습(Supervised Learning) 방식으로 학습될 수 있다. An artificial neural network according to an embodiment of the present invention may be learned in a supervised learning method based on labeled learning data.
본 발명의 일 실시예에 따른 서버(100)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다. The server 100 according to an embodiment of the present invention uses a plurality of learning data and inputs any one of the input data to the artificial neural network so that the generated output value approaches the value marked in the corresponding training data. The artificial neural network can be trained by repeatedly performing a process of updating F1, F2, functions between hidden layers, etc.
이때 본 발명의 일 실시예에 따른 서버(100)는 역전파(Back Propagation) 알고리즘에 따라 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신할 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.At this time, the server 100 according to an embodiment of the present invention may update the aforementioned functions (F1, F2, functions between hidden layers, etc.) according to a back propagation algorithm. However, this is an example and the spirit of the present invention is not limited thereto.
도 4 및 도 5에서 설명한 인공 신경망의 종류 및/또는 구조는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 다양한 종류의 모델의 인공 신경망이 명세서를 통하여 설명하는 '인공 신경망'에 해당할 수 있다. The type and/or structure of the artificial neural network described in FIGS. 4 and 5 is exemplary, and the spirit of the present invention is not limited thereto. Accordingly, artificial neural networks of various types of models may correspond to 'artificial neural networks' described throughout the specification.
이하에서는 서버(100)에 의해 수행되는 전환 영상 생성 과정과 립싱크 영상 제공 과정 그리고 사용자 단말(200)에 의해 수행되는 립싱크 영상 표시 과정을 중심으로 설명한다.Hereinafter, a transition image generation process performed by the server 100, a process of providing a lip sync video, and a process of displaying a lip sync video performed by the user terminal 200 will be mainly described.
전환 영상 과정transition video course
본 발명에서 '전환 영상'은 서버(100)에 의해 생성된 입술 이미지와 함께 표시되는 배경 이미지로, 아바타의 상태가 전환되는 과정이나 모습이 담긴 영상일 수 있다. 가령 전환 영상은 아바타의 대기 모습이 촬영된 영상과 아바타의 발화 모습이 촬영된 영상이 연결된 영상일 수 있다. 물론 전환 영상은 아바타의 발화 모습이 촬영된 첫 번째 영상과 아바타의 발화 모습이 촬영된 두 번째 영상이 연결된 영상일 수도 있고, 아바타의 발화 모습이 촬영된 영상과 아바타의 대기 모습이 촬영된 영상이 연결된 영상일 수도 있다.In the present invention, a 'transition image' is a background image displayed together with a lip image generated by the server 100, and may be an image containing a process or appearance of an avatar transitioning. For example, the transition image may be an image in which an image of an avatar's waiting state is photographed and an image of an avatar's speaking state is photographed. Of course, the transition video may be a video in which the first video in which the avatar's speech is filmed and the second video in which the avatar's speech is filmed are connected. It may be a linked video.
한편 서버(100)에 의해 생성된 입술 이미지는 전환 영상 중 아바타의 발화 모습이 촬영된 영상 부분에 오버랩 되어 표시될 수 있다. On the other hand, the lip image generated by the server 100 may be displayed overlapping an image portion in which the speech of the avatar is photographed among the transition images.
일반적으로 아바타의 발화 내용과 아바타의 발화 제스쳐(예를 들어 몸동작 등)가 반드시 관련성이 있을 것을 요하지는 않기에, 단지 아바타가 발화 제스쳐를 취하는 영상 상에 어떠한 입모양을 오버랩 하여 표시하여도 부자연스러움이 크지 않다. 따라서 본 발명의 일 실시예에 따른 서버(100)는 아바타의 발화가 필요한 시점에서 아바타의 대기 모습이 촬영된 영상에서 아바타의 발화 모습이 촬영된 영상으로 전환되는 전환 영상을 생성하고, 아바타의 발화 모습이 촬영된 부분에 대한 입술 이미지를 오버랩하여 표시되도록 함으로써 자연스러우면서도 의도된 발화 영상을 제공할 수 있다.In general, it is not required that the content of the avatar's speech and the avatar's speech gesture (for example, body movements) are necessarily related, so it is unnatural to display any mouth shape overlapping on the image in which the avatar makes the speech gesture. this is not big Therefore, the server 100 according to an embodiment of the present invention generates a transition image in which the avatar's speaking state is switched from a photographed image of the avatar's standby state at a time when the avatar's speech is required, and the avatar's speech It is possible to provide a natural and intended speech image by overlapping and displaying the lip image for the part where the figure is photographed.
도 6은 본 발명의 일 실시예에 따른 서버(100)의 메모리(130)에 저장되는 복수의 제1 영상(IG1) 및 복수의 제2 영상(IG2)을 도시한 도면이다. 본 발명의 일 실시예에 따른 서버(100)는 주어진 상황에 따라 복수의 제1 영상(IG1) 및 복수의 제2 영상(IG2)중 어느 하나를 선택하여 사용자 단말(200) 및/또는 서비스 서버(300)에 제공할 수 있다. 가령 서버(100)는 사용자 단말(200)에 대한 사용자의 조작이 없는 상황에서 복수의 제1 영상(IG1) 중 어느 하나를 선택하여 사용자 단말(200)에 제공할 수 있다. 이때 사용자 단말(200)은 서버(100)에 의해 제공된 제1 영상을 표시함으로써 보다 자연스러운 대기 화면을 제공할 수 있다. 6 is a diagram illustrating a plurality of first images IG1 and a plurality of second images IG2 stored in the memory 130 of the server 100 according to an embodiment of the present invention. The server 100 according to an embodiment of the present invention selects any one of the plurality of first images IG1 and the plurality of second images IG2 according to a given situation to display the user terminal 200 and/or the service server. (300). For example, the server 100 may select and provide one of the plurality of first images IG1 to the user terminal 200 in a situation where there is no user manipulation of the user terminal 200 . At this time, the user terminal 200 may provide a more natural idle screen by displaying the first image provided by the server 100 .
본 발명에서 '자연스러운 대기 화면'과 같은 자연스러운 영상은 아바타가 시간의 흐름에 따라 자연스럽게 동작하는 영상으로, 가령 아바타가 사람인 경우 사람이 눈을 깜박이거나 호흡에 따라 신체가 미세하게 움직이는 영상일 수 있다. 따라서 단일 프레임이나 단일 이미지로 구성된 영상은 본 발명에서 설명하는 자연스러운 영상에 해당하지 않을 수 있다.In the present invention, a natural image such as a 'natural idle screen' is an image in which an avatar moves naturally over time. For example, when the avatar is a person, it may be an image in which a person blinks his eyes or moves his body minutely according to breathing. Accordingly, an image composed of a single frame or a single image may not correspond to a natural image described in the present invention.
한편 서버(100)는 사용자 단말(200)에 대한 사용자의 조작에 따라 아바타의 발화가 필요한 상황이 발생된 경우, 복수의 제2 영상(IG2)중 현재 사용자 단말(200)에 표시되고 있는 제1 영상과 자연스러운 연결이 가능한 제2 영상을 선택하여(즉 전환 영상을 생성하여) 사용자 단말(200)에 제공할 수 있다. 이때 서버(100)는 전술한 바와 같이 제2 영상 상에 표시될 입술 이미지를 생성하여 사용자 단말(200)에 제공할 수 있으며 이에 대한 상세한 설명은 후술한다.On the other hand, the server 100, when a situation in which the avatar needs to be uttered occurs according to the user's manipulation of the user terminal 200, the server 100 displays the first one currently displayed on the user terminal 200 among the plurality of second images IG2. A second image capable of being naturally connected to the image may be selected (that is, a transition image may be generated) and provided to the user terminal 200 . At this time, as described above, the server 100 may generate a lip image to be displayed on the second image and provide it to the user terminal 200, which will be described in detail later.
이하에서는 설명의 편의를 위해 현재 사용자 단말(200)에 제1 영상(410)이 표시되고 있으며, 후술하는 과정에 따라 복수의 제2 영상(IG2)중 전환에 사용할 제2 영상(420)이 선택됨을 전제로 설명한다.Hereinafter, for convenience of explanation, the first image 410 is currently displayed on the user terminal 200, and the second image 420 to be used for conversion is selected from among the plurality of second images IG2 according to a process described later. It is explained on the premise that
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)을 구성하는 적어도 하나의 프레임 중 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임과 유사도를 비교할 대상인 적어도 하나의 후보 프레임을 결정할 수 있다.The server 100 according to an embodiment of the present invention includes at least one frame that is a target for comparing similarity with at least one frame constituting each of a plurality of second images IG2 among at least one frame constituting the first image 410 . A candidate frame of can be determined.
도 7 및 도 8은 본 발명의 일 실시예에 따른 서버(100)가 적어도 하나의 후보 프레임(411 또는 412, 413)을 결정하는 과정을 설명하기 위한 도면이다.7 and 8 are diagrams for explaining a process in which the server 100 determines at least one candidate frame 411, 412, or 413 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 서버(100)는 사용자 단말(200)에 표시되는 영상의 전환 필요성이 발생된 제1 시점(t1)으로부터 소정의 시구간(예를 들어 제1 시점(t1)으로부터 T초 이후인 제2 시점(t2)까지의 구간) 내에 해당하는 제1 영상(410)의 적어도 하나의 프레임(411)을 적어도 하나의 후보 프레임으로 결정할 수 있다. 예를 들어 제1 시점에 사용자 단말(200)에 대한 사용자의 조작이 수행되었고 이에 따라 아바타의 발화가 필요한 상황이 발행된 경우, 서버(100)는 제1 시점으로부터 제2 시점(t2) 이내에 해당하는 적어도 하나의 프레임(411)을 적어도 하나의 후보 프레임으로 결정할 수 있다. 이러한 경우 서버(100)는 늦어도 제2 시점(t2)에는 아바타의 발화가 이루어지는 영상을 제공할 수 있다.The server 100 according to an embodiment of the present invention is configured for a predetermined time period (eg, from the first time point t1 when the need to switch the image displayed on the user terminal 200 occurs). At least one frame 411 of the first image 410 corresponding to the interval up to the second time point t2 that is after T seconds may be determined as at least one candidate frame. For example, when a user's manipulation of the user terminal 200 is performed at a first time point and a situation requiring the avatar to be uttered is issued accordingly, the server 100 responds within a second time point t2 from the first time point. It is possible to determine at least one frame 411 as at least one candidate frame. In this case, the server 100 may provide a video in which the avatar speaks at the latest at the second time point t2.
한편 본 발명의 다른 실시예에 따른 서버(100)는 제1 영상(410)의 첫 프레임(412)과 제1 영상(410)의 마지막 프레임(413)을 적어도 하나의 후보 프레임으로 결정할 수도 있다. 가령 복수의 제1 영상(IG1) 각각이 상대적으로 짧은 시간 길이로 구성되고, 영상의 시작과 끝 부분에서 아바타의 포즈가 정적인 경우 이와 같이 첫 프레임(412)과 마지막 프레임(413)을 적어도 하나의 후보 프레임으로 결정하는 것이 보다 바람직할 수 있다.Meanwhile, the server 100 according to another embodiment of the present invention may determine the first frame 412 of the first image 410 and the last frame 413 of the first image 410 as at least one candidate frame. For example, if each of the plurality of first images IG1 is composed of a relatively short time length and the avatar's pose is static at the beginning and end of the image, at least one of the first frame 412 and the last frame 413 It may be more preferable to determine as a candidate frame of .
한편 도 7 및 도 8에 도시된 후보 프레임 결정 방식은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.Meanwhile, the candidate frame determination schemes shown in FIGS. 7 and 8 are exemplary, and the spirit of the present invention is not limited thereto.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)을 구성하는 적어도 하나의 프레임과 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출할 수 있다. 가령 서버(100)는 전술한 과정에 따라 결정된 적어도 하나의 후보 프레임(411 또는 412, 413)을 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임과 비교하여 유사도를 산출할 수 있다.The server 100 according to an embodiment of the present invention may calculate a similarity between at least one frame constituting the first image 410 and at least one frame constituting each of the plurality of second images IG2. . For example, the server 100 may calculate a similarity by comparing at least one candidate frame 411, 412, or 413 determined according to the above-described process with at least one frame constituting each of the plurality of second images IG2. .
도 9는 제1 영상(410)을 구성하는 프레임(414)과 제2 영상의 프레임(421)의 유사도가 큰 경우의 유사도 산출 결과(431)를 도시한 도면이다.9 is a diagram illustrating a similarity calculation result 431 when the similarity between the frame 414 constituting the first image 410 and the frame 421 of the second image is high.
본 발명의 일 실시예에 따른 서버(100)는 도 9에 도시된 바와 같이 두 프레임(414, 421)의 픽셀 간의 차이값을 유사도 산출 결과(431)로써 산출할 수 있다. 산출 결과(431)에는 두 프레임(414, 421) 간의 픽셀 값이 차이가 있는 부분이 차이 정도에 대응되도록 표시될 수 있다.As shown in FIG. 9 , the server 100 according to an embodiment of the present invention may calculate a difference value between pixels of the two frames 414 and 421 as a similarity calculation result 431 . In the calculation result 431, a portion having a difference in pixel values between the two frames 414 and 421 may be displayed to correspond to the degree of difference.
도 10은 제1 영상(410)을 구성하는 프레임(415)과 제2 영상의 프레임(422)의 유사도가 작은 경우의 유사도 산출 결과(432)를 도시한 도면이다.10 is a diagram illustrating a similarity calculation result 432 when the similarity between the frame 415 constituting the first image 410 and the frame 422 of the second image is small.
전술한 바와 같이 본 발명의 일 실시예에 따른 서버(100)는 두 프레임(415, 422)의 픽셀 간의 차이값을 유사도 산출 결과(432)로써 산출할 수 있다. 산출 결과(432)에는 두 프레임(415, 422) 간의 픽셀 값이 차이가 있는 부분이 차이 정도에 대응되도록 표시될 수 있다. As described above, the server 100 according to an embodiment of the present invention may calculate a difference between pixels of the two frames 415 and 422 as the similarity calculation result 432 . In the calculation result 432, a portion having a difference in pixel values between the two frames 415 and 422 may be displayed to correspond to the degree of difference.
도 9의 산출 결과(431)와 도 10의 산출 결과(432)를 비교해 보면, 도 10의 산출 결과(432)에 보다 많은 픽셀들이 차이가 있는 것으로 나타난 것을 확인할 수 있다. Comparing the calculation result 431 of FIG. 9 with the calculation result 432 of FIG. 10 , it can be seen that more pixels appear to have differences in the calculation result 432 of FIG. 10 .
본 발명의 일 실시예에 따른 서버(100)는 상술한 과정에 따라 산출된 유사도를 참조하여 제1 영상(410)의 적어도 하나의 프레임 중 제1 영상(410)에서 제2 영상(420)으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정할 수 있다. 이와 유사하게, 본 발명의 일 실시예에 따른 서버(100)는 유사도를 참조하여 복수의 제2 영상(IG2) 중 전환에 사용할 제2 영상(420) 및 전환에 사용할 제2 영상(420)의 적어도 하나의 프레임 중 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정할 수 있다.The server 100 according to an embodiment of the present invention converts the first image 410 to the second image 420 among at least one frame of the first image 410 by referring to the degree of similarity calculated according to the above-described process. It is possible to determine a first concatenated frame, which is a frame used at a time of switching. Similarly, the server 100 according to an embodiment of the present invention determines the second image 420 to be used for conversion and the second image 420 to be used for conversion among the plurality of second images IG2 by referring to the degree of similarity. A second concatenated frame, which is a frame used at a transition time, among at least one frame may be determined.
이때 서버(100)는 다양한 기준에 따라 제1 연결 프레임 및 제2 연결 프레임을 결정할 수 있다.At this time, the server 100 may determine the first connection frame and the second connection frame according to various criteria.
가령 서버(100)는 유사도가 가장 높은 프레임 조합, 즉 유사도가 가장 높은 제1 영상(410)의 프레임과 제2 영상(420)의 프레임 조합(또는 세트)을 선택하고, 이 때의 제1 영상(410)의 프레임을 제1 연결 프레임으로, 제2 영상(420)의 프레임을 제2 연결 프레임으로 결정할 수 있다. 이와 같은 방식에 따를 경우 가장 자연스러운 영상 전환이 가능하다.For example, the server 100 selects a frame combination having the highest similarity, that is, a combination (or set) of a frame of the first image 410 and a frame of the second image 420 having the highest similarity. The frame of 410 may be determined as the first connected frame, and the frame of the second image 420 may be determined as the second connected frame. According to this method, the most natural video conversion is possible.
또한 서버(100)는 유사도가 임계 유사도를 초과하는 프레임 조합들 중 가장 이른(또는 빠른) 시점의 제1 영상(410)의 프레임을 포함하는 조합을 선택하고, 이 때의 제1 영상(410)의 프레임을 제1 연결 프레임으로, 제2 영상(420)의 프레임을 제2 연결 프레임으로 결정할 수도 있다. 이와 같은 방식에 따를 경우 빠른 응답 속도를 제공할 수 있다.In addition, the server 100 selects a combination including a frame of the first image 410 at the earliest (or earliest) time point among frame combinations whose similarity exceeds the threshold similarity, and the first image 410 at this time It is also possible to determine the frame of the first linking frame and the frame of the second image 420 as the second linking frame. According to this method, a fast response speed can be provided.
다만 상술한 2 가지 방식은 모두 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니며, 유사도에 기반하여 프레임 조합을 결정하는 방식은 본 발명에 해당할 수 있다.However, both of the above-described two methods are illustrative, and the spirit of the present invention is not limited thereto, and a method of determining a frame combination based on similarity may correspond to the present invention.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)의 적어도 일부 프레임을 포함하는 제3 영상과 전환에 사용할 제2 영상(420)의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성할 수 있다.The server 100 according to an embodiment of the present invention converts a third image including at least some frames of the first image 410 and a fourth image including at least some frames of the second image 420 to be used for conversion. You can create a linked transition video.
도 11은 본 발명의 일 실시예에 따른 서버(100)가 생성한 전환 영상(440)의 구성을 도시한 도면이다.11 is a diagram showing the configuration of a transition image 440 generated by the server 100 according to an embodiment of the present invention.
전술한 바와 같이 전환 영상(440)은 제1 영상(410)의 적어도 일부 프레임을 포함하는 제3 영상(416)과 전환에 사용할 제2 영상(420)의 적어도 일부 프레임을 포함하는 제4 영상(423)을 연결한 영상일 수 있다.As described above, the transition image 440 includes a third image 416 including at least some frames of the first image 410 and a fourth image including at least some frames of the second image 420 to be used for transition ( 423) may be connected.
이때 제3 영상(416)은 제1 영상(410)의 적어도 일부 프레임으로 구성된 영상으로 상술한 과정에 따라 결정된 제1 연결 프레임(417)을 마지막 프레임으로 하는 영상일 수 있다. 또한 제4 영상(423)은 전환에 사용할 제2 영상(420)의 적어도 일부 프레임으로 구성된 영상으로 제2 연결 프레임(424)을 첫 프레임으로 하는 영상일 수 있다.In this case, the third image 416 is an image composed of at least some frames of the first image 410, and may be an image having the first connected frame 417 determined according to the above process as the last frame. Also, the fourth image 423 is an image composed of at least some frames of the second image 420 to be used for conversion, and may be an image having the second connection frame 424 as a first frame.
본 발명의 일 실시예에 따른 서버(100)는 상술한 과정에 따라 생성된 전환 영상의 구성 정보를 사용자 단말(200) 및/또는 서비스 서버(300)에 전송할 수 있다. 가령 서버(100)는 제3 영상(416) 및 상기 제4 영상(423) 각각에 포함되는 프레임의 식별 정보가 포함되도록 전환 영상의 구성 정보를 생성하여 사용자 단말(200) 및/또는 서비스 서버(300)에 전송할 수 있다. 사용자 단말(200) 및/또는 서비스 서버(300)는 수신된 전환 영상의 구성 정보를 이용하여 후술하는 과정에 따라 생성되는 입술 이미지의 배경 영상을 생성할 수 있다.The server 100 according to an embodiment of the present invention may transmit configuration information of the transition image generated according to the above process to the user terminal 200 and/or the service server 300 . For example, the server 100 generates configuration information of transition images so that identification information of frames included in each of the third image 416 and the fourth image 423 is included, and the user terminal 200 and/or the service server ( 300). The user terminal 200 and/or the service server 300 may use the received configuration information of the transition image to create a background image of the lip image generated according to a process described later.
립싱크 영상 제공 및 표시 과정Lip sync video provision and display process
본 발명의 일 실시예에 따른 서버(100)는 입력된 음성으로부터 제4 영상(423)과 함께 제공되는 입술 이미지를 생성할 수 있다. 이를 위해 본 발명의 일 실시예에 따른 서버(100)는 각각의 학습 데이터를 이용하여 제1 인공 신경망을 학습시킬 수 있다.The server 100 according to an embodiment of the present invention may generate a lip image provided together with the fourth image 423 from the input voice. To this end, the server 100 according to an embodiment of the present invention may train the first artificial neural network using each learning data.
도 12는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(510)를 이용하여 제1 인공 신경망(520)을 학습하는 방법을 설명하기 위한 도면이다.FIG. 12 is a diagram for explaining a method in which the server 100 learns the first artificial neural network 520 using a plurality of learning data 510 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 복수의 학습 데이터(510) 각각에 포함되는 제1 입술 이미지, 음성 및 제2 입술 이미지 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다.The first artificial neural network 520 according to an embodiment of the present invention is a neural network that learns (or learns) a correlation between a first lip image, a voice, and a second lip image included in each of a plurality of training data 510. can mean
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 도 13에 도시된 바와 같이 음성(531)과 제1 입술 이미지(542)의 입력에 따라, 제1 입술 이미지(542)가 음성(531)에 따라 변형된 이미지인 제2 입술 이미지(543)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다. 이때 제1 입술 이미지(542)는 샘플 이미지로써, 음성에 따른 입술 이미지 생성에 기반이 되는 입술의 모양을 포함하는 이미지 일 수 있다.Accordingly, the first artificial neural network 520 according to an embodiment of the present invention generates the first lip image 542 according to the input of the voice 531 and the first lip image 542 as shown in FIG. 13 . This may refer to a neural network trained (or learned) to output the second lip image 543 , which is an image transformed according to 531 . In this case, the first lip image 542 is a sample image and may be an image including a shape of the lips that is a basis for generating a lip image according to the voice.
본 발명의 일 실시예에 따른 복수의 학습 데이터(510) 각각은 제1 입술 이미지, 음성 및 제2 입술 이미지를 포함할 수 있다.Each of the plurality of learning data 510 according to an embodiment of the present invention may include a first lip image, a voice, and a second lip image.
가령 첫 번째 학습 데이터(511)의 경우 제1 입술 이미지(511B), 음성(511A) 및 제2 입술 이미지(511C)를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(512) 및 세 번째 학습 데이터(513)도 각각 제1 입술 이미지, 음성 및 제2 입술 이미지를 포함할 수 있다.For example, the first training data 511 may include a first lip image 511B, a voice 511A, and a second lip image 511C. Similarly, the second training data 512 and the third training data 513 may each include a first lip image, a voice, and a second lip image.
한편 본 발명의 일 실시예에서, 복수의 학습 데이터(510) 각각에 포함되는 제2 입술 이미지는 복수일 수도 있고 단수일 수도 있다. 가령 서버(100)가 음성을 소정의 규칙에 따라 분할하여 분할 된 음성 구간으로부터 입술 이미지를 생성하는 예시에서, 제2 입술 이미지는 단수일 수 있다. 이때 복수의 학습 데이터(510) 각각에 포함되는 음성 또한 전체 음성에서 분할된 일부 구간일 수 있다. Meanwhile, in one embodiment of the present invention, the number of second lip images included in each of the plurality of learning data 510 may be plural or singular. For example, in an example in which the server 100 divides voice according to a predetermined rule and generates a lip image from the divided voice section, the second lip image may be singular. At this time, the voice included in each of the plurality of learning data 510 may also be a partial section divided from the entire voice.
한편 서버(100)가 음성 전체로부터 일련의 입술 이미지들을 생성하는 예시에서, 제2 입술 이미지는 도 12에 도시된 바와 같이 복수일 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.Meanwhile, in an example in which the server 100 generates a series of lip images from the entire voice, a plurality of second lip images may be provided as shown in FIG. 12 . However, this is illustrative and the spirit of the present invention is not limited thereto.
본 발명의 일 실시예에서 이와 같은 복수의 학습 데이터(510)는 립리딩 과정을 통하여 획득된것일 수 있다. 예를 들어 서버(100)는 립리딩 과정을 통하여 입모양 영상과 해당 입모양 영상과 관련된 음성 데이터를 수집할 수 있다. 이때 복수의 학습 데이터(510)는 음성 및 입모양에 대응되는 텍스트를 더 포함할 수도 있다.In an embodiment of the present invention, the plurality of learning data 510 may be acquired through a lip reading process. For example, the server 100 may collect a mouth shape image and audio data related to the mouth shape image through a lip reading process. In this case, the plurality of learning data 510 may further include text corresponding to voice and mouth shape.
본 발명의 선택적 실시예에서, 서버(100)는 립리딩 과정을 통하여 학습된 모델을 제1 인공 신경망(520)으로써 사용할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.In an optional embodiment of the present invention, the server 100 may use the model learned through the lip reading process as the first artificial neural network 520 . However, this is illustrative and the spirit of the present invention is not limited thereto.
이하에서는 도 12 내지 도 13에서 설명한 과정에 따라 제1 인공 신경망(520)이 학습되었음을 전제로 설명한다.Hereinafter, it will be described on the premise that the first artificial neural network 520 has been learned according to the process described in FIGS. 12 and 13 .
본 발명의 일 실시예에 따른 서버(100)는 아바타의 목소리로 사용할 대상 음성을 획득할 수 있다.The server 100 according to an embodiment of the present invention may obtain a target voice to be used as the voice of the avatar.
본 발명에서 '대상 음성'은 전환 영상(또는 제4 영상(423))의 음향 신호로써 사용되는 것으로, 전환 영상(또는 제4 영상(423))에서의 아바타의 입술 모양과 대응되는 음성을 의미할 수 있다.In the present invention, 'target voice' is used as a sound signal of a transition image (or fourth image 423), and means a voice corresponding to the avatar's lip shape in the transition image (or fourth image 423). can do.
본 발명의 일 실시예에서 서버(100)는 학습된 제2 인공 신경망을 이용하여 텍스트로부터부터 대상 음성을 생성할 수 있다. 이때 제2 인공 신경망은 텍스트의 입력에 따라, 텍스트의 독음에 해당하는 대상 음성을 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.In one embodiment of the present invention, the server 100 may generate a target voice from text using the learned second artificial neural network. In this case, the second artificial neural network may refer to a neural network learned (or learned) to output a target voice corresponding to the reading of the text according to the input of the text.
한편 '텍스트'는 서버(100)가 소정의 규칙이나 방식에 따라 생성한 것 일 수 있다. 가령 서버(100)가 사용자 단말(200)로부터 수신된 요청에 따른 응답을 제공하는 예시에서, 서버(100)는 제3 인공 신경망(미도시)을 이용하여 사용자 단말(200)로부터 수신된 요청에 대한 응답이 되는 텍스트를 생성할 수 있다.Meanwhile, 'text' may be created by the server 100 according to a predetermined rule or method. For example, in an example in which the server 100 provides a response according to a request received from the user terminal 200, the server 100 responds to the request received from the user terminal 200 using a third artificial neural network (not shown). You can generate text that responds to
한편 서버(100)가 미리 설정된 시나리오에 따른 응답(또는 영상)을 제공하는 예시에서, 서버(100)는 메모리로부터 텍스트를 독출할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.Meanwhile, in an example in which the server 100 provides a response (or image) according to a preset scenario, the server 100 may read text from memory. However, this is illustrative and the spirit of the present invention is not limited thereto.
본 발명의 일 실시예에 따른 서버(100)는 대상 음성을 사용자 단말(200)에 전송할 수 있다. 이때 본 발명의 일 실시예에 따른 사용자 단말(200)은 대상 음성을 저장할 수 있다. 한편 사용자 단말(200)에 대상 음성은 이후 출력 영상(또는 출력 프레임)을 생성 및/또는 출력하는데 사용될 수 있으며, 이에 대한 상세한 설명은 후술한다.The server 100 according to an embodiment of the present invention may transmit the target voice to the user terminal 200 . At this time, the user terminal 200 according to an embodiment of the present invention may store the target voice. Meanwhile, the target voice to the user terminal 200 may be used to generate and/or output an output video (or output frame), which will be described in detail later.
본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 제4 영상(423)의 프레임 별로 대상 음성에 대응되는 입술 이미지를 생성할 수 있다.The server 100 according to an embodiment of the present invention may generate a lip image corresponding to the target voice for each frame of the fourth image 423 using the learned first artificial neural network.
본 발명에서 '제4 영상의 프레임 별로'와 같은 표현은 제4 영상(423)의 개별 프레임 마다 입술 이미지를 생성하는 것을 의미할 수 있다. 가령 본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 제4 영상(423)의 제1 프레임에 대응되는 입술 이미지를 생성할 수 있다. 이때 제1 인공 신경망은 도 13에서 설명한 바와 같이 음성(531)과 제1 입술 이미지(542)의 입력에 따라, 제1 입술 이미지(542)가 음성에 따라 변형된 이미지인 제2 입술 이미지(543)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.In the present invention, an expression such as 'for each frame of the fourth image' may mean generating a lip image for each individual frame of the fourth image 423 . For example, the server 100 according to an embodiment of the present invention may generate a lip image corresponding to the first frame of the fourth image 423 using the learned first artificial neural network. At this time, as described with reference to FIG. 13, the first artificial neural network receives the input of the voice 531 and the first lip image 542, and the second lip image 543 is an image that is transformed from the first lip image 542 according to the voice. ) may mean a neural network learned (or learned) to output.
본 발명의 일 실시예에서 서버(100)는 제4 영상(423)의 제1 프레임으로부터 획득된 제1 입술 이미지와 대상 음성을 제1 인공 신경망에 입력하고, 그에 대한 출력 결과로써 제1 번째 프레임에 대한 입술 이미지를 생성할 수 있다.In an embodiment of the present invention, the server 100 inputs the first lip image obtained from the first frame of the fourth image 423 and the target voice to the first artificial neural network, and outputs the first frame as an output result. It is possible to generate a lip image for .
본 발명의 일 실시예에 따른 서버(100)는 제1 립싱크 데이터를 생성할 수 있다. 이때 제1 립싱크 데이터는 입술 이미지에 사용된 제4 영상(423)의 제1 프레임의 식별 정보, 생성된 입술 이미지, 입술 이미지에 사용된 제4 영상(423)의 제1 프레임에서 입술 이미지의 위치정보를 포함할 수 있다. 이와 같은 제1 립싱크 데이터의 생성을 위해 본 발명의 일 실시예에 따른 서버(100)는 제1 프레임에서 입술의 위치를 확인하고, 확인된 위치에 기반하여 입술 이미지의 위치정보를 생성할 수 있다.The server 100 according to an embodiment of the present invention may generate first lip sync data. At this time, the first lip sync data includes the identification information of the first frame of the fourth image 423 used for the lip image, the generated lip image, and the location of the lip image in the first frame of the fourth image 423 used for the lip image. information may be included. To generate such first lip sync data, the server 100 according to an embodiment of the present invention may check the position of the lips in the first frame and generate position information of the lip image based on the checked position. .
본 발명의 일 실시예에 따른 서버(100)는 생성된 제1 립싱크 데이터를 사용자 단말(200)에 전송할 수 있다. 이때 제1 립싱크 데이터는 전술한 바와 같이 입술 이미지에 사용된 제4 영상(423)의 식별 정보, 생성된 입술 이미지, 입술 이미지에 사용된 제4 영상(423)의 프레임(즉 제1 프레임)에서 입술 이미지의 위치정보를 포함할 수 있다.The server 100 according to an embodiment of the present invention may transmit the generated first lip sync data to the user terminal 200 . At this time, as described above, the first lip sync data is the identification information of the fourth image 423 used for the lip image, the generated lip image, and the frame (ie, the first frame) of the fourth image 423 used for the lip image. Location information of the lip image may be included.
이와 같은 제1 립싱크 데이터를 수신한 사용자 단말(200)은 제1 립싱크 데이터에 포함된 제1 프레임의 식별 정보를 참조하여, 메모리로부터 프레임 식별 정보에 상응하는 프레임을 리드할 수 있다. 이때 사용자 단말(200)은 미리 저장된 복수의 제1 영상(IG1) 및/또는 복수의 제2 영상(IG2)으로부터 프레임 식별 정보에 상응하는 프레임을 검색하여 리드할 수 있다. 가령 사용자 단말(200)은 복수의 제2 영상(IG2) 중 제4 영상(423)을 포함하는 영상을 검색하고, 해당 영상에서 특정 프레임을 리드할 수 있다.Upon receiving such first lip sync data, the user terminal 200 may read a frame corresponding to the frame identification information from memory by referring to identification information of the first frame included in the first lip sync data. At this time, the user terminal 200 may retrieve and read a frame corresponding to the frame identification information from the plurality of first images IG1 and/or the plurality of second images IG2 stored in advance. For example, the user terminal 200 may search for an image including the fourth image 423 among the plurality of second images IG2 and read a specific frame from the corresponding image.
또한 사용자 단말(200)은 제1 립싱크 데이터에 포함된 입술 이미지의 위치정보에 기반하여, 리드 된 프레임 상에 제1 립싱크 데이터에 포함된 입술 이미지를 오버랩 시켜 출력 프레임을 생성하고, 이를 표시할 수 있다. In addition, the user terminal 200 overlaps the lip image included in the first lip sync data on the lead frame based on the location information of the lip image included in the first lip sync data to generate an output frame and display it. there is.
상술한 과정은 하나의 프레임인 제1 프레임에 대한 서버(100) 및 사용자 단말(200)의 처리 과정을 설명하기 위한 단계들이다.The above-described process is a step for explaining the process of the server 100 and the user terminal 200 for the first frame, which is one frame.
본 발명의 일 실시예에 따른 서버(100)는 제4 영상(423)의 복수의 프레임에 대해서, 프레임 단위로 상기 립싱크 데이터를 생성할 수 있다. 이때 사용자 단말(200)은 프레임 단위로 생성된 립싱크 데이터를 수신하고, 립싱크 데이터 별로 출력 프레임을 생성할 수 있다.The server 100 according to an embodiment of the present invention may generate the lip sync data frame by frame for a plurality of frames of the fourth image 423 . At this time, the user terminal 200 may receive lip sync data generated in units of frames and generate output frames for each lip sync data.
가령 서버(100) 및 사용자 단말(200)은 제2 프레임을 상술한 제1 프레임과 마찬가지 방식으로 처리할 수 있다. 이때 제2 프레임은 제4 영상(423)에서 제1 프레임에 후행하는 프레임일 수 있다.For example, the server 100 and the user terminal 200 may process the second frame in the same way as the first frame described above. In this case, the second frame may be a frame following the first frame in the fourth image 423 .
본 발명의 일 실시예에 따른 사용자 단말(200)은 상술한 과정에 따라 생성된 출력 프레임들을 표시함과 동시에 대상 음성을 재생함으로써 객체가 해당 음성으로 말하는 것과 같은 출력 결과를 사용자에게 제공할 수 있다. The user terminal 200 according to an embodiment of the present invention displays the output frames generated according to the above-described process and simultaneously reproduces the target voice, thereby providing the user with an output result as if the object speaks with the corresponding voice. .
즉 사용자 단말(200)은 아바타의 영상은 기 저장된 아바타 영상에서 입모양이 서버(100)로부터 수신된 입모양으로 변경된 영상으로, 아바타의 음성은 서버(100)로부터 수신된 대상 음성으로써 제공하여 자연스러운 립싱크 영상을 제공할 수 있다.That is, the user terminal 200 provides the avatar's image as an image in which the mouth shape is changed from the pre-stored avatar image to the mouth shape received from the server 100, and the avatar's voice as the target voice received from the server 100 to provide natural A lip sync image may be provided.
도 14는 본 발명의 일 실시예에 따른 사용자 단말(200)이 출력 프레임으로 구성되는 출력 영상(740)을 생성하는 방법을 설명하기 위한 도면이다. 14 is a diagram for explaining a method of generating an output image 740 composed of output frames by the user terminal 200 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 사용자 단말(200)은 제4 영상(423)의 특정 프레임(590) 상에 서버(100)에 의해 생성된 입술 이미지(544)를 오버랩 하여 출력 프레임(711)을 생성할 수 있다. 이때 사용자 단말(200)은 서버(100)로부터 수신된 입술 이미지의 위치 정보(591)를 이용하여 특정 프레임(590) 상에서의 입술 이미지(544)의 오버랩 위치를 결정할 수 있다. 물론 사용자 단말(200)은 제4 영상(423)의 나머지 프레임에 대해서도 마찬가지 방식으로 출력 프레임을 생성할 수 있다.The user terminal 200 according to an embodiment of the present invention overlaps the lip image 544 generated by the server 100 on the specific frame 590 of the fourth image 423 to generate an output frame 711. can create At this time, the user terminal 200 may determine the overlap position of the lip image 544 on the specific frame 590 by using the location information 591 of the lip image received from the server 100 . Of course, the user terminal 200 may generate output frames in the same way for the remaining frames of the fourth image 423 .
도 15, 도 16 및 도 17은 본 발명의 일 실시예에 따른 서버(100)에 의해 수행되는 영상 전환 방법을 설명하기 위한 흐름도이다. 이하에서는 도 1 내지 도 14를 함께 참조하여 설명하되, 중복되는 내용의 설명은 생략한다.15, 16 and 17 are flowcharts for explaining an image conversion method performed by the server 100 according to an embodiment of the present invention. Hereinafter, a description will be made with reference to FIGS. 1 to 14, but descriptions of overlapping contents will be omitted.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)을 구성하는 적어도 하나의 프레임 중 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임과 유사도를 비교할 대상인 적어도 하나의 후보 프레임을 결정할 수 있다.(S1210)The server 100 according to an embodiment of the present invention includes at least one frame that is a target for comparing similarity with at least one frame constituting each of a plurality of second images IG2 among at least one frame constituting the first image 410 . A candidate frame of may be determined. (S1210)
도 7 및 도 8은 본 발명의 일 실시예에 따른 서버(100)가 적어도 하나의 후보 프레임(411 또는 412, 413)을 결정하는 과정을 설명하기 위한 도면이다.7 and 8 are diagrams for explaining a process in which the server 100 determines at least one candidate frame 411, 412, or 413 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 서버(100)는 사용자 단말(200)에 표시되는 영상의 전환 필요성이 발생된 제1 시점(t1)으로부터 소정의 시구간(예를 들어 제1 시점(t1)으로부터 T초 이후인 제2 시점(t2)까지의 구간) 내에 해당하는 제1 영상(410)의 적어도 하나의 프레임(411)을 적어도 하나의 후보 프레임으로 결정할 수 있다. 예를 들어 제1 시점에 사용자 단말(200)에 대한 사용자의 조작이 수행되었고 이에 따라 아바타의 발화가 필요한 상황이 발행된 경우, 서버(100)는 제1 시점으로부터 제2 시점(t2) 이내에 해당하는 적어도 하나의 프레임(411)을 적어도 하나의 후보 프레임으로 결정할 수 있다. 이러한 경우 서버(100)는 늦어도 제2 시점(t2)에는 아바타의 발화가 이루어지는 영상을 제공할 수 있다.The server 100 according to an embodiment of the present invention is configured for a predetermined time period (eg, from the first time point t1 when the need to switch the image displayed on the user terminal 200 occurs). At least one frame 411 of the first image 410 corresponding to the interval up to the second time point t2 that is after T seconds may be determined as at least one candidate frame. For example, when a user's manipulation of the user terminal 200 is performed at a first time point and a situation requiring the avatar to be uttered is issued accordingly, the server 100 responds within a second time point t2 from the first time point. It is possible to determine at least one frame 411 as at least one candidate frame. In this case, the server 100 may provide a video in which the avatar speaks at the latest at the second time point t2.
한편 본 발명의 다른 실시예에 따른 서버(100)는 제1 영상(410)의 첫 프레임(412)과 제1 영상(410)의 마지막 프레임(413)을 적어도 하나의 후보 프레임으로 결정할 수도 있다. 가령 복수의 제1 영상(IG1) 각각이 상대적으로 짧은 시간 길이로 구성되고, 영상의 시작과 끝 부분에서 아바타의 포즈가 정적인 경우 이와 같이 첫 프레임(412)과 마지막 프레임(413)을 적어도 하나의 후보 프레임으로 결정하는 것이 보다 바람직할 수 있다.Meanwhile, the server 100 according to another embodiment of the present invention may determine the first frame 412 of the first image 410 and the last frame 413 of the first image 410 as at least one candidate frame. For example, if each of the plurality of first images IG1 is composed of a relatively short time length and the avatar's pose is static at the beginning and end of the image, at least one of the first frame 412 and the last frame 413 It may be more preferable to determine as a candidate frame of .
한편 도 7 및 도 8에 도시된 후보 프레임 결정 방식은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.Meanwhile, the candidate frame determination schemes shown in FIGS. 7 and 8 are exemplary, and the spirit of the present invention is not limited thereto.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)을 구성하는 적어도 하나의 프레임과 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출할 수 있다. (S1220) 가령 서버(100)는 전술한 과정에 따라 결정된 적어도 하나의 후보 프레임(411 또는 412, 413)을 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임과 비교하여 유사도를 산출할 수 있다.The server 100 according to an embodiment of the present invention may calculate a similarity between at least one frame constituting the first image 410 and at least one frame constituting each of the plurality of second images IG2. . (S1220) For example, the server 100 compares at least one candidate frame 411, 412, or 413 determined according to the above process with at least one frame constituting each of the plurality of second images IG2 to calculate a similarity can do.
도 9는 제1 영상(410)을 구성하는 프레임(414)과 제2 영상의 프레임(421)의 유사도가 큰 경우의 유사도 산출 결과(431)를 도시한 도면이다.9 is a diagram illustrating a similarity calculation result 431 when the similarity between the frame 414 constituting the first image 410 and the frame 421 of the second image is high.
본 발명의 일 실시예에 따른 서버(100)는 도 9에 도시된 바와 같이 두 프레임(414, 421)의 픽셀 간의 차이값을 유사도 산출 결과(431)로써 산출할 수 있다. 산출 결과(431)에는 두 프레임(414, 421) 간의 픽셀 값이 차이가 있는 부분이 차이 정도에 대응되도록 표시될 수 있다.As shown in FIG. 9 , the server 100 according to an embodiment of the present invention may calculate a difference value between pixels of the two frames 414 and 421 as a similarity calculation result 431 . In the calculation result 431, a portion having a difference in pixel values between the two frames 414 and 421 may be displayed to correspond to the degree of difference.
도 10은 제1 영상(410)을 구성하는 프레임(415)과 제2 영상의 프레임(422)의 유사도가 작은 경우의 유사도 산출 결과(432)를 도시한 도면이다.10 is a diagram illustrating a similarity calculation result 432 when the similarity between the frame 415 constituting the first image 410 and the frame 422 of the second image is small.
전술한 바와 같이 본 발명의 일 실시예에 따른 서버(100)는 두 프레임(415, 422)의 픽셀 간의 차이값을 유사도 산출 결과(432)로써 산출할 수 있다. 산출 결과(432)에는 두 프레임(415, 422) 간의 픽셀 값이 차이가 있는 부분이 차이 정도에 대응되도록 표시될 수 있다. As described above, the server 100 according to an embodiment of the present invention may calculate a difference between pixels of the two frames 415 and 422 as the similarity calculation result 432 . In the calculation result 432, a portion having a difference in pixel values between the two frames 415 and 422 may be displayed to correspond to the degree of difference.
도 9의 산출 결과(431)와 도 10의 산출 결과(432)를 비교해 보면, 도 10의 산출 결과(432)에 보다 많은 픽셀들이 차이가 있는 것으로 나타난 것을 확인할 수 있다. Comparing the calculation result 431 of FIG. 9 with the calculation result 432 of FIG. 10 , it can be seen that more pixels appear to have differences in the calculation result 432 of FIG. 10 .
본 발명의 일 실시예에 따른 서버(100)는 상술한 과정에 따라 산출된 유사도를 참조하여 제1 영상(410)의 적어도 하나의 프레임 중 제1 영상(410)에서 제2 영상(420)으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정할 수 있다. (S1230) 이와 유사하게, 본 발명의 일 실시예에 따른 서버(100)는 유사도를 참조하여 복수의 제2 영상(IG2) 중 전환에 사용할 제2 영상(420) 및 전환에 사용할 제2 영상(420)의 적어도 하나의 프레임 중 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정할 수 있다. (S1240)The server 100 according to an embodiment of the present invention converts the first image 410 to the second image 420 among at least one frame of the first image 410 by referring to the degree of similarity calculated according to the above-described process. A first concatenated frame, which is a frame used at a time of switching, may be determined. (S1230) Similarly, the server 100 according to an embodiment of the present invention refers to the degree of similarity to determine the second image 420 to be used for conversion among the plurality of second images IG2 and the second image to be used for conversion (S1230). 420), a second concatenated frame, which is a frame used at a transition time, may be determined from among the at least one frame. (S1240)
이때 서버(100)는 다양한 기준에 따라 제1 연결 프레임 및 제2 연결 프레임을 결정할 수 있다.At this time, the server 100 may determine the first connection frame and the second connection frame according to various criteria.
가령 서버(100)는 유사도가 가장 높은 프레임 조합, 즉 유사도가 가장 높은 제1 영상(410)의 프레임과 제2 영상(420)의 프레임 조합(또는 세트)을 선택하고, 이 때의 제1 영상(410)의 프레임을 제1 연결 프레임으로, 제2 영상(420)의 프레임을 제2 연결 프레임으로 결정할 수 있다. 이와 같은 방식에 따를 경우 가장 자연스러운 영상 전환이 가능하다.For example, the server 100 selects a frame combination having the highest similarity, that is, a combination (or set) of a frame of the first image 410 and a frame of the second image 420 having the highest similarity. The frame of 410 may be determined as the first connected frame, and the frame of the second image 420 may be determined as the second connected frame. According to this method, the most natural video conversion is possible.
또한 서버(100)는 유사도가 임계 유사도를 초과하는 프레임 조합들 중 가장 이른(또는 빠른) 시점의 제1 영상(410)의 프레임을 포함하는 조합을 선택하고, 이 때의 제1 영상(410)의 프레임을 제1 연결 프레임으로, 제2 영상(420)의 프레임을 제2 연결 프레임으로 결정할 수도 있다. 이와 같은 방식에 따를 경우 빠른 응답 속도를 제공할 수 있다.In addition, the server 100 selects a combination including a frame of the first image 410 at the earliest (or earliest) time point among frame combinations whose similarity exceeds the threshold similarity, and the first image 410 at this time It is also possible to determine the frame of the first linking frame and the frame of the second image 420 as the second linking frame. According to this method, a fast response speed can be provided.
다만 상술한 2 가지 방식은 모두 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니며, 유사도에 기반하여 프레임 조합을 결정하는 방식은 본 발명에 해당할 수 있다.However, both of the above-described two methods are illustrative, and the spirit of the present invention is not limited thereto, and a method of determining a frame combination based on similarity may correspond to the present invention.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)의 적어도 일부 프레임을 포함하는 제3 영상과 전환에 사용할 제2 영상(420)의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성할 수 있다. (S1250)The server 100 according to an embodiment of the present invention converts a third image including at least some frames of the first image 410 and a fourth image including at least some frames of the second image 420 to be used for conversion. You can create a linked transition video. (S1250)
도 11은 본 발명의 일 실시예에 따른 서버(100)가 생성한 전환 영상(440)의 구성을 도시한 도면이다.11 is a diagram showing the configuration of a transition image 440 generated by the server 100 according to an embodiment of the present invention.
전술한 바와 같이 전환 영상(440)은 제1 영상(410)의 적어도 일부 프레임을 포함하는 제3 영상(416)과 전환에 사용할 제2 영상(420)의 적어도 일부 프레임을 포함하는 제4 영상(423)을 연결한 영상일 수 있다.As described above, the transition image 440 includes a third image 416 including at least some frames of the first image 410 and a fourth image including at least some frames of the second image 420 to be used for transition ( 423) may be connected.
이때 제3 영상(416)은 제1 영상(410)의 적어도 일부 프레임으로 구성된 영상으로 상술한 과정에 따라 결정된 제1 연결 프레임(417)을 마지막 프레임으로 하는 영상일 수 있다. 또한 제4 영상(423)은 전환에 사용할 제2 영상(420)의 적어도 일부 프레임으로 구성된 영상으로 제2 연결 프레임(424)을 첫 프레임으로 하는 영상일 수 있다.In this case, the third image 416 is an image composed of at least some frames of the first image 410, and may be an image having the first connected frame 417 determined according to the above process as the last frame. Also, the fourth image 423 is an image composed of at least some frames of the second image 420 to be used for conversion, and may be an image having the second connection frame 424 as a first frame.
본 발명의 일 실시예에 따른 서버(100)는 상술한 과정에 따라 생성된 전환 영상의 구성 정보를 사용자 단말(200) 및/또는 서비스 서버(300)에 전송할 수 있다. 가령 서버(100)는 제3 영상(416) 및 상기 제4 영상(423) 각각에 포함되는 프레임의 식별 정보가 포함되도록 전환 영상의 구성 정보를 생성하여 사용자 단말(200) 및/또는 서비스 서버(300)에 전송할 수 있다. 사용자 단말(200) 및/또는 서비스 서버(300)는 수신된 전환 영상의 구성 정보를 이용하여 후술하는 과정에 따라 생성되는 입술 이미지의 배경 영상을 생성할 수 있다.The server 100 according to an embodiment of the present invention may transmit configuration information of the transition image generated according to the above process to the user terminal 200 and/or the service server 300 . For example, the server 100 generates configuration information of transition images so that identification information of frames included in each of the third image 416 and the fourth image 423 is included, and the user terminal 200 and/or the service server ( 300). The user terminal 200 and/or the service server 300 may use the received configuration information of the transition image to create a background image of the lip image generated according to a process described later.
본 발명의 일 실시예에 따른 서버(100)는 입력된 음성으로부터 제4 영상(423)과 함께 제공되는 입술 이미지를 생성할 수 있다. (S1260) 이를 위해 본 발명의 일 실시예에 따른 서버(100)는 각각의 학습 데이터를 이용하여 제1 인공 신경망을 학습시킬 수 있다.The server 100 according to an embodiment of the present invention may generate a lip image provided together with the fourth image 423 from the input voice. (S1260) To this end, the server 100 according to an embodiment of the present invention may train the first artificial neural network using each learning data.
도 12는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(510)를 이용하여 제1 인공 신경망(520)을 학습하는 방법을 설명하기 위한 도면이다.FIG. 12 is a diagram for explaining a method in which the server 100 learns the first artificial neural network 520 using a plurality of learning data 510 according to an embodiment of the present invention.
본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 복수의 학습 데이터(510) 각각에 포함되는 제1 입술 이미지, 음성 및 제2 입술 이미지 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다.The first artificial neural network 520 according to an embodiment of the present invention is a neural network that learns (or learns) a correlation between a first lip image, a voice, and a second lip image included in each of a plurality of training data 510. can mean
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 도 13에 도시된 바와 같이 음성(531)과 제1 입술 이미지(542)의 입력에 따라, 제1 입술 이미지(542)가 음성(531)에 따라 변형된 이미지인 제2 입술 이미지(543)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다. 이때 제1 입술 이미지(542)는 샘플 이미지로써, 음성에 따른 입술 이미지 생성에 기반이 되는 입술의 모양을 포함하는 이미지 일 수 있다.Accordingly, the first artificial neural network 520 according to an embodiment of the present invention generates the first lip image 542 according to the input of the voice 531 and the first lip image 542 as shown in FIG. 13 . This may refer to a neural network trained (or learned) to output the second lip image 543 , which is an image transformed according to 531 . In this case, the first lip image 542 is a sample image and may be an image including a shape of the lips that is a basis for generating a lip image according to the voice.
본 발명의 일 실시예에 따른 복수의 학습 데이터(510) 각각은 제1 입술 이미지, 음성 및 제2 입술 이미지를 포함할 수 있다.Each of the plurality of learning data 510 according to an embodiment of the present invention may include a first lip image, a voice, and a second lip image.
가령 첫 번째 학습 데이터(511)의 경우 제1 입술 이미지(511B), 음성(511A) 및 제2 입술 이미지(511C)를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(512) 및 세 번째 학습 데이터(513)도 각각 제1 입술 이미지, 음성 및 제2 입술 이미지를 포함할 수 있다.For example, the first training data 511 may include a first lip image 511B, a voice 511A, and a second lip image 511C. Similarly, the second training data 512 and the third training data 513 may each include a first lip image, a voice, and a second lip image.
한편 본 발명의 일 실시예에서, 복수의 학습 데이터(510) 각각에 포함되는 제2 입술 이미지는 복수일 수도 있고 단수일 수도 있다. 가령 서버(100)가 음성을 소정의 규칙에 따라 분할하여 분할 된 음성 구간으로부터 입술 이미지를 생성하는 예시에서, 제2 입술 이미지는 단수일 수 있다. 이때 복수의 학습 데이터(510) 각각에 포함되는 음성 또한 전체 음성에서 분할된 일부 구간일 수 있다. Meanwhile, in one embodiment of the present invention, the number of second lip images included in each of the plurality of learning data 510 may be plural or singular. For example, in an example in which the server 100 divides voice according to a predetermined rule and generates a lip image from the divided voice section, the second lip image may be singular. At this time, the voice included in each of the plurality of learning data 510 may also be a partial section divided from the entire voice.
한편 서버(100)가 음성 전체로부터 일련의 입술 이미지들을 생성하는 예시에서, 제2 입술 이미지는 도 12에 도시된 바와 같이 복수일 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.Meanwhile, in an example in which the server 100 generates a series of lip images from the entire voice, a plurality of second lip images may be provided as shown in FIG. 12 . However, this is illustrative and the spirit of the present invention is not limited thereto.
이하에서는 도 12 내지 도 13에서 설명한 과정에 따라 제1 인공 신경망(520)이 학습되었음을 전제로 설명한다.Hereinafter, it will be described on the premise that the first artificial neural network 520 has been learned according to the process described in FIGS. 12 and 13 .
본 발명의 일 실시예에 따른 서버(100)는 단계 S1220 내지 단계 S1250을 통하여 제4 영상(423)을 결정할 수 있다.(S1261) 이때 제4 영상(423)은 전환 영상 중 립싱크의 대상이 되는 부분에 해당하는 영상을 의미할 수 있다.The server 100 according to an embodiment of the present invention may determine a fourth image 423 through steps S1220 to S1250 (S1261). At this time, the fourth image 423 is a target of lip sync among transition images. It may mean an image corresponding to the part.
본 발명의 일 실시예에 따른 서버(100)는 아바타의 목소리로 사용할 대상 음성을 획득할 수 있다.(S1262)The server 100 according to an embodiment of the present invention may obtain a target voice to be used as the voice of the avatar (S1262).
본 발명에서 '대상 음성'은 전환 영상(또는 제4 영상(423))의 음향 신호로써 사용되는 것으로, 전환 영상(또는 제4 영상(423))에서의 아바타의 입술 모양과 대응되는 음성을 의미할 수 있다.In the present invention, 'target voice' is used as a sound signal of a transition image (or fourth image 423), and means a voice corresponding to the avatar's lip shape in the transition image (or fourth image 423). can do.
본 발명의 일 실시예에서 서버(100)는 학습된 제2 인공 신경망을 이용하여 텍스트로부터부터 대상 음성을 생성할 수 있다. 이때 제2 인공 신경망은 텍스트의 입력에 따라, 텍스트의 독음에 해당하는 대상 음성을 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.In one embodiment of the present invention, the server 100 may generate a target voice from text using the learned second artificial neural network. In this case, the second artificial neural network may refer to a neural network learned (or learned) to output a target voice corresponding to the reading of the text according to the input of the text.
한편 '텍스트'는 서버(100)가 소정의 규칙이나 방식에 따라 생성한 것 일 수 있다. 가령 서버(100)가 사용자 단말(200)로부터 수신된 요청에 따른 응답을 제공하는 예시에서, 서버(100)는 제3 인공 신경망(미도시)을 이용하여 사용자 단말(200)로부터 수신된 요청에 대한 응답이 되는 텍스트를 생성할 수 있다.Meanwhile, 'text' may be created by the server 100 according to a predetermined rule or method. For example, in an example in which the server 100 provides a response according to a request received from the user terminal 200, the server 100 responds to the request received from the user terminal 200 using a third artificial neural network (not shown). You can generate text that responds to
한편 서버(100)가 미리 설정된 시나리오에 따른 응답(또는 영상)을 제공하는 예시에서, 서버(100)는 메모리로부터 텍스트를 독출할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.Meanwhile, in an example in which the server 100 provides a response (or image) according to a preset scenario, the server 100 may read text from memory. However, this is illustrative and the spirit of the present invention is not limited thereto.
본 발명의 일 실시예에 따른 서버(100)는 대상 음성을 사용자 단말(200)에 전송할 수 있다. (S1263) 이때 본 발명의 일 실시예에 따른 사용자 단말(200)은 대상 음성을 저장할 수 있다. (S1264) 한편 사용자 단말(200)에 대상 음성은 이후 출력 영상(또는 출력 프레임)을 생성 및/또는 출력하는데 사용될 수 있으며, 이에 대한 상세한 설명은 후술한다.The server 100 according to an embodiment of the present invention may transmit the target voice to the user terminal 200 . (S1263) At this time, the user terminal 200 according to an embodiment of the present invention may store the target voice. (S1264) Meanwhile, the target voice of the user terminal 200 may be used to generate and/or output an output image (or output frame) thereafter, which will be described in detail later.
본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 제4 영상(423)의 프레임 별로 대상 음성에 대응되는 입술 이미지를 생성할 수 있다. (S1265)The server 100 according to an embodiment of the present invention may generate a lip image corresponding to the target voice for each frame of the fourth image 423 using the learned first artificial neural network. (S1265)
본 발명에서 '제4 영상의 프레임 별로'와 같은 표현은 제4 영상(423)의 개별 프레임 마다 입술 이미지를 생성하는 것을 의미할 수 있다. 가령 본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 제4 영상(423)의 제1 프레임에 대응되는 입술 이미지를 생성할 수 있다. 이때 제1 인공 신경망은 도 13에서 설명한 바와 같이 음성(531)과 제1 입술 이미지(542)의 입력에 따라, 제1 입술 이미지(542)가 음성에 따라 변형된 이미지인 제2 입술 이미지(543)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.In the present invention, an expression such as 'for each frame of the fourth image' may mean generating a lip image for each individual frame of the fourth image 423 . For example, the server 100 according to an embodiment of the present invention may generate a lip image corresponding to the first frame of the fourth image 423 using the learned first artificial neural network. At this time, as described with reference to FIG. 13, the first artificial neural network receives the input of the voice 531 and the first lip image 542, and the second lip image 543 is an image that is transformed from the first lip image 542 according to the voice. ) may mean a neural network learned (or learned) to output.
본 발명의 일 실시예에서 서버(100)는 제4 영상(423)의 제1 프레임으로부터 획득된 제1 입술 이미지와 대상 음성을 제1 인공 신경망에 입력하고, 그에 대한 출력 결과로써 제1 번째 프레임에 대한 입술 이미지를 생성할 수 있다.In an embodiment of the present invention, the server 100 inputs the first lip image obtained from the first frame of the fourth image 423 and the target voice to the first artificial neural network, and outputs the first frame as an output result. It is possible to generate a lip image for .
본 발명의 일 실시예에 따른 서버(100)는 제1 립싱크 데이터를 생성할 수 있다. (S1266) 이때 제1 립싱크 데이터는 입술 이미지에 사용된 제4 영상(423)의 제1 프레임의 식별 정보, 생성된 입술 이미지, 입술 이미지에 사용된 제4 영상(423)의 제1 프레임에서 입술 이미지의 위치정보를 포함할 수 있다. 이와 같은 제1 립싱크 데이터의 생성을 위해 본 발명의 일 실시예에 따른 서버(100)는 제1 프레임에서 입술의 위치를 확인하고, 확인된 위치에 기반하여 입술 이미지의 위치정보를 생성할 수 있다.The server 100 according to an embodiment of the present invention may generate first lip sync data. (S1266) At this time, the first lip sync data includes the identification information of the first frame of the fourth image 423 used for the lip image, the generated lip image, and the lips in the first frame of the fourth image 423 used for the lip image. Location information of the image may be included. To generate such first lip sync data, the server 100 according to an embodiment of the present invention may check the position of the lips in the first frame and generate position information of the lip image based on the checked position. .
본 발명의 일 실시예에 따른 서버(100)는 생성된 제1 립싱크 데이터를 사용자 단말(200)에 전송할 수 있다. (S1267) 이때 제1 립싱크 데이터는 전술한 바와 같이 입술 이미지에 사용된 제4 영상(423)의 식별 정보, 생성된 입술 이미지, 입술 이미지에 사용된 제4 영상(423)의 프레임(즉 제1 프레임)에서 입술 이미지의 위치정보를 포함할 수 있다.The server 100 according to an embodiment of the present invention may transmit the generated first lip sync data to the user terminal 200 . (S1267) At this time, as described above, the first lip sync data includes the identification information of the fourth image 423 used for the lip image, the generated lip image, and the frame of the fourth image 423 used for the lip image (ie, the first lip sync data). frame) may include location information of the lip image.
이와 같은 제1 립싱크 데이터를 수신한 사용자 단말(200)은 제1 립싱크 데이터에 포함된 제1 프레임의 식별 정보를 참조하여, 메모리로부터 프레임 식별 정보에 상응하는 프레임을 리드할 수 있다. (S1268) 이때 사용자 단말(200)은 미리 저장된 복수의 제1 영상(IG1) 및/또는 복수의 제2 영상(IG2)으로부터 프레임 식별 정보에 상응하는 프레임을 검색하여 리드할 수 있다. 가령 사용자 단말(200)은 복수의 제2 영상(IG2) 중 제4 영상(423)을 포함하는 영상을 검색하고, 해당 영상에서 특정 프레임을 리드할 수 있다.Upon receiving such first lip sync data, the user terminal 200 may read a frame corresponding to the frame identification information from memory by referring to identification information of the first frame included in the first lip sync data. (S1268) At this time, the user terminal 200 may search for and read a frame corresponding to the frame identification information from the plurality of first images IG1 and/or the plurality of second images IG2 stored in advance. For example, the user terminal 200 may search for an image including the fourth image 423 among the plurality of second images IG2 and read a specific frame from the corresponding image.
또한 사용자 단말(200)은 제1 립싱크 데이터에 포함된 입술 이미지의 위치정보에 기반하여, 리드 된 프레임 상에 제1 립싱크 데이터에 포함된 입술 이미지를 오버랩 시켜 출력 프레임을 생성하고(S1269), 이를 표시할 수 있다. (S1270) In addition, the user terminal 200 generates an output frame by overlapping the lip image included in the first lip sync data on the lead frame based on the location information of the lip image included in the first lip sync data (S1269), can be displayed (S1270)
상술한 과정은 하나의 프레임인 제1 프레임에 대한 서버(100) 및 사용자 단말(200)의 처리 과정을 설명하기 위한 단계들이다.The above-described process is a step for explaining the process of the server 100 and the user terminal 200 for the first frame, which is one frame.
본 발명의 일 실시예에 따른 서버(100)는 제4 영상(423)의 복수의 프레임에 대해서, 프레임 단위로 립싱크 데이터를 생성할 수 있다. 이때 사용자 단말(200)은 프레임 단위로 생성된 립싱크 데이터를 수신하고, 립싱크 데이터 별로 출력 프레임을 생성할 수 있다.The server 100 according to an embodiment of the present invention may generate lip sync data frame by frame for a plurality of frames of the fourth image 423 . At this time, the user terminal 200 may receive lip sync data generated in units of frames and generate output frames for each lip sync data.
가령 서버(100) 및 사용자 단말(200)은 도 17의 S1277 내지 S1282 단계들(FR2)에 도시된 바와 같이 제2 프레임을 상술한 제1 프레임과 마찬가지 방식(S1271 내지 S1276 단계들(FR1)에 따르는 방식)으로 처리할 수 있다. 이때 제2 프레임은 제4 영상(423)에서 제1 프레임에 후행하는 프레임일 수 있다.For example, the server 100 and the user terminal 200, as shown in steps S1277 to S1282 (FR2) of FIG. 17, transmit the second frame in the same manner as the above-described first frame (steps S1271 to S1276 (FR1)). method) can be dealt with. In this case, the second frame may be a frame following the first frame in the fourth image 423 .
본 발명의 일 실시예에 따른 사용자 단말(200)은 상술한 과정에 따라 생성된 출력 프레임들을 표시함과 동시에 대상 음성을 재생함으로써 객체가 해당 음성으로 말하는 것과 같은 출력 결과를 사용자에게 제공할 수 있다. The user terminal 200 according to an embodiment of the present invention displays the output frames generated according to the above-described process and simultaneously reproduces the target voice, thereby providing the user with an output result as if the object speaks with the corresponding voice. .
즉 사용자 단말(200)은 아바타의 영상은 기 저장된 아바타 영상에서 입모양이 서버(100)로부터 수신된 입모양으로 변경된 영상으로, 아바타의 음성은 서버(100)로부터 수신된 대상 음성으로써 제공하여 자연스러운 립싱크 영상을 제공할 수 있다.That is, the user terminal 200 provides the avatar's image as an image in which the mouth shape is changed from the pre-stored avatar image to the mouth shape received from the server 100, and the avatar's voice as the target voice received from the server 100 to provide natural A lip sync image may be provided.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 저장하는 것일 수 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. Embodiments according to the present invention described above may be implemented in the form of a computer program that can be executed on a computer through various components, and such a computer program may be recorded on a computer-readable medium. In this case, the medium may store a program executable by a computer. Examples of the medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical recording media such as CD-ROM and DVD, magneto-optical media such as floptical disks, and ROM, RAM, flash memory, etc. configured to store program instructions.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be specially designed and configured for the present invention, or may be known and usable to those skilled in the art of computer software. An example of a computer program may include not only machine language code generated by a compiler but also high-level language code that can be executed by a computer using an interpreter or the like.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.Specific implementations described in the present invention are examples and do not limit the scope of the present invention in any way. For brevity of the specification, description of conventional electronic components, control systems, software, and other functional aspects of the systems may be omitted. In addition, the connection of lines or connecting members between the components shown in the drawings are examples of functional connections and / or physical or circuit connections, which can be replaced in actual devices or additional various functional connections, physical connection, or circuit connections. In addition, if there is no specific reference such as "essential" or "important", it may not necessarily be a component necessary for the application of the present invention.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments and should not be determined, and all scopes equivalent to or equivalently changed from the claims as well as the claims described below are within the scope of the spirit of the present invention. will be said to belong to

Claims (10)

  1. 제1 영상에서 제2 영상으로 영상을 전환하는 방법에 있어서,A method for switching an image from a first image to a second image,
    제1 영상을 구성하는 적어도 하나의 프레임과 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하는 단계;calculating a similarity between at least one frame constituting a first image and at least one frame constituting a plurality of second images;
    상기 유사도를 참조하여 상기 제1 영상의 적어도 하나의 프레임 중 상기 제1 영상에서 상기 제2 영상으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정하는 단계; 및determining a first connected frame, which is a frame used at a time of transition from the first image to the second image, among at least one frame of the first image, by referring to the degree of similarity; and
    상기 유사도를 참조하여 상기 복수의 제2 영상 중 전환에 사용할 제2 영상 및 상기 전환에 사용할 제2 영상의 적어도 하나의 프레임 중 상기 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정하는 단계;를 포함하는, 영상 전환 방법.Determining a second image to be used for switching among the plurality of second images with reference to the degree of similarity and a second connected frame that is a frame used at the switching time point among at least one frame of the second image to be used for switching; Including, video conversion method.
  2. 청구항 1에 있어서in claim 1
    상기 영상 전환 방법은The video conversion method
    상기 유사도를 산출하는 단계 이전에,Prior to the step of calculating the degree of similarity,
    상기 제1 영상을 구성하는 적어도 하나의 프레임 중 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임과 유사도 비교 대상인 적어도 하나의 후보 프레임을 결정하는 단계;를 더 포함하고,Determining at least one candidate frame to be compared with at least one frame constituting each of the plurality of second images among at least one frame constituting the first image;
    상기 유사도를 산출하는 단계는The step of calculating the similarity is
    상기 적어도 하나의 후보 프레임과 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하는, 영상 전환 방법.The image switching method of calculating a similarity between the at least one candidate frame and at least one frame constituting each of the plurality of second images.
  3. 청구항 2에 있어서in claim 2
    상기 적어도 하나의 후보 프레임을 결정하는 단계는Determining the at least one candidate frame
    영상의 전환 필요성이 발생된 제1 시점으로부터 소정의 시구간 내에 해당하는 상기 제1 영상의 적어도 하나의 프레임을 상기 적어도 하나의 후보 프레임으로 결정하는 단계;를 포함하는, 영상 전환 방법.and determining, as the at least one candidate frame, at least one frame of the first image corresponding to a predetermined time period from a first point in time when a need for image switching occurs.
  4. 청구항 2에 있어서in claim 2
    상기 적어도 하나의 후보 프레임을 결정하는 단계는Determining the at least one candidate frame
    상기 제1 영상의 첫 프레임과 상기 제1 영상의 마지막 프레임을 상기 적어도 하나의 후보 프레임으로 결정하는 단계;를 포함하는, 영상 전환 방법.and determining a first frame of the first image and a last frame of the first image as the at least one candidate frame.
  5. 청구항 1에 있어서in claim 1
    상기 영상 전환 방법은The video conversion method
    상기 제1 영상의 적어도 일부 프레임을 포함하는 제3 영상과 상기 전환에 사용할 제2 영상의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성하는 단계;를 더 포함하고,Generating a transition image by connecting a third image including at least some frames of the first image and a fourth image including at least some frames of the second image to be used for the transition,
    상기 제3 영상은 상기 제1 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제1 연결 프레임을 마지막 프레임으로 하는 영상이고,The third image is an image composed of at least some frames of the first image and has the first connected frame as the last frame,
    상기 제4 영상은 상기 전환에 사용할 제2 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제2 연결 프레임을 첫 프레임으로 하는 영상인, 영상 전환 방법.The fourth image is an image composed of at least some frames of the second image to be used for the transition, and is an image having the second connection frame as a first frame.
  6. 청구항 5에 있어서in claim 5
    상기 제1 영상은 아바타의 대기 모습이 촬영된 영상이고,The first image is an image in which the waiting state of the avatar is photographed,
    상기 제2 영상은 상기 아바타의 발화 모습이 촬영된 영상이고,The second image is an image in which the speech of the avatar is photographed,
    상기 영상 전환 방법은 전환 영상을 생성하는 단계 이후에,In the image conversion method, after generating a conversion image,
    입력 된 음성으로부터 상기 제4 영상과 함께 제공되는 입술 이미지를 생성하는 단계;를 더 포함하는, 영상 전환 방법.Generating a lip image provided with the fourth image from the input voice; further comprising, the image switching method.
  7. 청구항 6에 있어서in claim 6
    상기 입술 이미지를 생성하는 단계는The step of generating the lip image is
    상기 아바타의 목소리로 사용할 대상 음성을 획득하는 단계;obtaining a target voice to be used as the voice of the avatar;
    학습된 제1 인공 신경망을 이용하여, 상기 제4 영상의 프레임 별로 상기 음성에 대응되는 입술 이미지를 생성하는 단계; 및generating a lip image corresponding to the voice for each frame of the fourth image using the learned first artificial neural network; and
    상기 제4 영상의 식별 정보, 상기 입술 이미지, 상기 제4 영상의 프레임에서 상기 입술 이미지의 위치정보를 포함하는 립싱크 데이터를 생성하는 단계;를 포함하는, 영상 전환 방법.and generating lip sync data including identification information of the fourth image, the lip image, and location information of the lip image in a frame of the fourth image.
  8. 청구항 7에 있어서in claim 7
    상기 제1 인공 신경망은The first artificial neural network
    음성 및 제1 입술 이미지의 입력에 따라 상기 제1 입술 이미지가 상기 음성에 따라 변형된 이미지인 제2 입술 이미지를 출력하도록 학습 된 신경망인, 립싱크 영상 제공 방법.A method of providing a lip sync image, wherein the neural network is trained to output a second lip image in which the first lip image is transformed according to the voice according to input of the voice and the first lip image.
  9. 청구항 5에 있어서in claim 5
    상기 전환 영상을 생성하는 단계는The step of generating the transition image is
    상기 제3 영상 및 상기 제4 영상 각각에 포함되는 프레임의 식별 정보를 포함하는 전환 영상의 구성 정보를 생성하여 외부 장치로 전송하는 단계;를 포함하는, 영상 전환 방법.And generating configuration information of a transition image including identification information of a frame included in each of the third image and the fourth image and transmitting the configuration information to an external device.
  10. 컴퓨터를 이용하여using a computer
    청구항 1 내지 청구항 9의 방법을 실행하기 위해 기록매체에 저장된 컴퓨터 프로그램.A computer program stored in a recording medium to execute the methods of claims 1 to 9.
PCT/KR2021/016162 2021-10-06 2021-11-08 Method, apparatus, and computer program for switching image WO2023058812A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2021-0132687 2021-10-06
KR1020210132687A KR102514580B1 (en) 2021-10-06 2021-10-06 Video transition method, apparatus and computer program

Publications (1)

Publication Number Publication Date
WO2023058812A1 true WO2023058812A1 (en) 2023-04-13

Family

ID=85800102

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2021/016162 WO2023058812A1 (en) 2021-10-06 2021-11-08 Method, apparatus, and computer program for switching image

Country Status (2)

Country Link
KR (1) KR102514580B1 (en)
WO (1) WO2023058812A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101887400B1 (en) * 2017-12-27 2018-08-10 이명섭 Method for providing c0ntents editing service using synchronization in media production enviroment
KR102129126B1 (en) * 2017-04-04 2020-07-01 한국전자통신연구원 Method and apparatus for syncronizing a plurality of videos
KR102183473B1 (en) * 2020-07-22 2020-11-27 (주)대교씨엔에스 Method for monitoring images and apparatus for the same
KR102251781B1 (en) * 2020-12-30 2021-05-14 (주)라이언로켓 Mouth shape synthesis device and method using artificial neural network
KR20210089038A (en) * 2020-01-07 2021-07-15 삼성전자주식회사 Electronic apparatus and method for controlling thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102129126B1 (en) * 2017-04-04 2020-07-01 한국전자통신연구원 Method and apparatus for syncronizing a plurality of videos
KR101887400B1 (en) * 2017-12-27 2018-08-10 이명섭 Method for providing c0ntents editing service using synchronization in media production enviroment
KR20210089038A (en) * 2020-01-07 2021-07-15 삼성전자주식회사 Electronic apparatus and method for controlling thereof
KR102183473B1 (en) * 2020-07-22 2020-11-27 (주)대교씨엔에스 Method for monitoring images and apparatus for the same
KR102251781B1 (en) * 2020-12-30 2021-05-14 (주)라이언로켓 Mouth shape synthesis device and method using artificial neural network

Also Published As

Publication number Publication date
KR102514580B1 (en) 2023-03-29

Similar Documents

Publication Publication Date Title
WO2018128362A1 (en) Electronic apparatus and method of operating the same
WO2019132518A1 (en) Image acquisition device and method of controlling the same
WO2016060397A1 (en) Method and apparatus for processing screen using device
WO2020214011A1 (en) Information processing method, apparatus, electronic device and computer readable storage medium
WO2016117836A1 (en) Apparatus and method for editing content
EP3545436A1 (en) Electronic apparatus and method of operating the same
WO2017191978A1 (en) Method, apparatus, and recording medium for processing image
WO2021045447A1 (en) Apparatus and method for providing voice assistant service
WO2015170832A1 (en) Display device and video call performing method therefor
WO2020130447A1 (en) Method for providing sentences on basis of persona, and electronic device supporting same
WO2019240562A1 (en) Electronic device and operating method thereof for outputting response to user input, by using application
WO2022255529A1 (en) Learning method for generating lip-sync video on basis of machine learning and lip-sync video generating device for executing same
WO2023171981A1 (en) Surveillance camera management device
WO2020251074A1 (en) Artificial intelligence robot for providing voice recognition function and operation method thereof
WO2022010122A1 (en) Method for providing image and electronic device supporting same
WO2022031041A1 (en) Edge data network for providing 3d character image to terminal and operation method therefor
WO2022124607A1 (en) Depth estimation method, device, electronic equipment and computer readable storage medium
WO2019190142A1 (en) Method and device for processing image
EP3707678A1 (en) Method and device for processing image
WO2021075705A1 (en) Electronic device and control method therefor
WO2023058812A1 (en) Method, apparatus, and computer program for switching image
WO2020262721A1 (en) Control system for controlling plurality of robots by using artificial intelligence
WO2022225375A1 (en) Method and device for multi-dnn-based face recognition using parallel-processing pipelines
WO2023058813A1 (en) Method, device, and computer program for providing video filming guide
WO2022080517A1 (en) Artificial intelligence device and method for generating training data

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: 21960023

Country of ref document: EP

Kind code of ref document: A1