KR102514580B1 - 영상 전환 방법, 장치 및 컴퓨터 프로그램 - Google Patents

영상 전환 방법, 장치 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102514580B1
KR102514580B1 KR1020210132687A KR20210132687A KR102514580B1 KR 102514580 B1 KR102514580 B1 KR 102514580B1 KR 1020210132687 A KR1020210132687 A KR 1020210132687A KR 20210132687 A KR20210132687 A KR 20210132687A KR 102514580 B1 KR102514580 B1 KR 102514580B1
Authority
KR
South Korea
Prior art keywords
image
frame
lip
server
present
Prior art date
Application number
KR1020210132687A
Other languages
English (en)
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 주식회사 마인즈랩
Priority to KR1020210132687A priority Critical patent/KR102514580B1/ko
Priority to PCT/KR2021/016162 priority patent/WO2023058812A1/ko
Application granted granted Critical
Publication of KR102514580B1 publication Critical patent/KR102514580B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • 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/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4662Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms
    • H04N21/4666Learning process for intelligent management, e.g. learning user preferences for recommending movies characterized by learning algorithms using neural networks, e.g. processing the feedback provided by the user
    • 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
    • G10L2021/105Synthesis of the lips movements from speech, e.g. for talking heads

Abstract

본 발명의 일 실시예에 따른 제1 영상에서 제2 영상으로 영상을 전환하는 방법은, 제1 영상을 구성하는 적어도 하나의 프레임과 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하는 단계; 상기 유사도를 참조하여 상기 제1 영상의 적어도 하나의 프레임 중 상기 제1 영상에서 상기 제2 영상으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정하는 단계; 및 상기 유사도를 참조하여 상기 복수의 제2 영상 중 전환에 사용할 제2 영상 및 상기 전환에 사용할 제2 영상의 적어도 하나의 프레임 중 상기 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정하는 단계;를 포함할 수 있다.

Description

영상 전환 방법, 장치 및 컴퓨터 프로그램{VIDEO TRANSITION METHOD, APPARATUS AND COMPUTER PROGRAM}
본 발명은 음성과 입술 모양이 동기화된 영상을 제공함에 있어서 자연스러운 영상 전환을 제공하는 영상 전환 방법, 장치 및 컴퓨터 프로그램에 관한것이다.
정보통신 기술의 발달로 많은 애플리케이션에 인공 지능 기술의 도입이 이루어지고 있다. 종래에는 특정 인물이 특정 주제에 대해 이야기하는 영상을 생성하기 위해서는 해당 인물이 실제로 해당 주제의 이야기를 하는 영상을 카메라 등으로 획득하는 방법만이 유일하였다.
또한 일부 종래기술에 있어서 영상 합성 기술 등을 이용하여 특정 인물의 이미지나 영상에 기반하여 합성된 영상을 생성하기도 하였으나, 이와 같은 영상은 여전히 영상의 전환이 매끄럽지 않거나 인물의 입모양 등이 부자연스러운 문제점이 있었다.
본 발명은 상술한 문제점을 해결하기 위한 것으로, 보다 자연스러운 영상을 생성하고자 한다.
특히 본 발명은 아바타의 대기 영상과 아바타의 발화 영상 간의 전환이 자연스럽게 이루어지도록 하고자 한다.
또한 본 발명은 실제 인물에 의한 촬영 없이도, 입모양이 자연스러운 아바타 영상을 생성하고자 한다.
또한 본 발명은 인공 신경망의 사용에도 불구하고 영상의 생성에 있어서 사용되는 서버의 리소스와 네트워크 리소스의 사용을 최소화하고자 한다.
본 발명의 일 실시예에 따른 제1 영상에서 제2 영상으로 영상을 전환하는 방법은, 제1 영상을 구성하는 적어도 하나의 프레임과 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하는 단계; 상기 유사도를 참조하여 상기 제1 영상의 적어도 하나의 프레임 중 상기 제1 영상에서 상기 제2 영상으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정하는 단계; 및 상기 유사도를 참조하여 상기 복수의 제2 영상 중 전환에 사용할 제2 영상 및 상기 전환에 사용할 제2 영상의 적어도 하나의 프레임 중 상기 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정하는 단계;를 포함할 수 있다.
상기 영상 전환 방법은 상기 유사도를 산출하는 단계 이전에, 상기 제1 영상을 구성하는 적어도 하나의 프레임 중 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임과 유사도 비교 대상인 적어도 하나의 후보 프레임을 결정하는 단계;를 더 포함하고, 상기 유사도를 산출하는 단계는 상기 적어도 하나의 후보 프레임과 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출할 수 있다.
상기 적어도 하나의 후보 프레임을 결정하는 단계는 영상의 전환 필요성이 발생된 제1 시점으로부터 소정의 시구간 내에 해당하는 상기 제1 영상의 적어도 하나의 프레임을 상기 적어도 하나의 후보 프레임으로 결정하는 단계;를 포함할 수 있다.
상기 적어도 하나의 후보 프레임을 결정하는 단계는 상기 제1 영상의 첫 프레임과 상기 제1 영상의 마지막 프레임을 상기 적어도 하나의 후보 프레임으로 결정하는 단계;를 포함할 수 있다.
상기 영상 전환 방법은 상기 제1 영상의 적어도 일부 프레임을 포함하는 제3 영상과 상기 전환에 사용할 제2 영상의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성하는 단계;를 더 포함할 수 있다. 이때 상기 제3 영상은 상기 제1 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제1 연결 프레임을 마지막 프레임으로 하는 영상이고, 상기 제4 영상은 상기 전환에 사용할 제2 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제2 연결 프레임을 첫 프레임으로 하는 영상일 수 있다.
상기 제1 영상은 아바타의 대기 모습이 촬영된 영상이고, 상기 제2 영상은 상기 아바타의 발화 모습이 촬영된 영상이고, 상기 영상 전환 방법은 전환 영상을 생성하는 단계 이후에, 입력 된 음성으로부터 상기 제4 영상과 함께 제공되는 입술 이미지를 생성하는 단계;를 더 포함할 수 있다.
상기 입술 이미지를 생성하는 단계는 상기 아바타의 목소리로 사용할 대상 음성을 획득하는 단계; 학습된 제1 인공 신경망을 이용하여, 상기 제4 영상의 프레임 별로 상기 음성에 대응되는 입술 이미지를 생성하는 단계; 및 상기 제4 영상의 식별 정보, 상기 입술 이미지, 상기 제4 영상의 프레임에서 상기 입술 이미지의 위치정보를 포함하는 립싱크 데이터를 생성하는 단계;를 포함할 수 있다.
상기 제1 인공 신경망은 음성 및 제1 입술 이미지의 입력에 따라 상기 제1 입술 이미지가 상기 음성에 따라 변형된 이미지인 제2 입술 이미지를 출력하도록 학습 된 신경망일 수 있다.
상기 전환 영상을 생성하는 단계는 상기 제3 영상 및 상기 제4 영상 각각에 포함되는 프레임의 식별 정보를 포함하는 전환 영상의 구성 정보를 생성하여 외부 장치로 전송하는 단계;를 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 영상에서 제2 영상으로 영상을 전환하는 영상 전환 장치는, 제1 영상을 구성하는 적어도 하나의 프레임과 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하고, 상기 유사도를 참조하여 상기 제1 영상의 적어도 하나의 프레임 중 상기 제1 영상에서 상기 제2 영상으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정하고, 상기 유사도를 참조하여 상기 복수의 제2 영상 중 전환에 사용할 제2 영상 및 상기 전환에 사용할 제2 영상의 적어도 하나의 프레임 중 상기 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정할 수 있다.
상기 영상 전환 장치는 상기 제1 영상을 구성하는 적어도 하나의 프레임 중 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임과 유사도 비교 대상인 적어도 하나의 후보 프레임을 결정하고, 상기 적어도 하나의 후보 프레임과 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출할 수 있다.
상기 영상 전환 장치는 영상의 전환 필요성이 발생된 제1 시점으로부터 소정의 시구간 내에 해당하는 상기 제1 영상의 적어도 하나의 프레임을 상기 적어도 하나의 후보 프레임으로 결정할 수 있다.
상기 영상 전환 장치는 상기 제1 영상의 첫 프레임과 상기 제1 영상의 마지막 프레임을 상기 적어도 하나의 후보 프레임으로 결정할 수 있다.
상기 영상 전환 장치는 상기 제1 영상의 적어도 일부 프레임을 포함하는 제3 영상과 상기 전환에 사용할 제2 영상의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성하고, 상기 제3 영상은 상기 제1 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제1 연결 프레임을 마지막 프레임으로 하는 영상이고, 상기 제4 영상은 상기 전환에 사용할 제2 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제2 연결 프레임을 첫 프레임으로 하는 영상일 수 있다.
상기 제1 영상은 아바타의 대기 모습이 촬영된 영상이고, 상기 제2 영상은 상기 아바타의 발화 모습이 촬영된 영상이고, 상기 영상 전환 장치는 입력된 음성으로부터 상기 제4 영상과 함께 제공되는 입술 이미지를 생성할 수 있다.
상기 영상 전환 장치는 상기 아바타의 목소리로 사용할 대상 음성을 획득하고, 학습된 제1 인공 신경망을 이용하여, 상기 제4 영상의 프레임 별로 상기 음성에 대응되는 입술 이미지를 생성하고, 상기 제4 영상의 식별 정보, 상기 입술 이미지, 상기 제4 영상의 프레임에서 상기 입술 이미지의 위치정보를 포함하는 립싱크 데이터를 생성할 수 있다.
상기 제1 인공 신경망은 음성 및 제1 입술 이미지의 입력에 따라 상기 제1 입술 이미지가 상기 음성에 따라 변형된 이미지인 제2 입술 이미지를 출력하도록 학습된 신경망일 수 있다.
상기 영상 전환 장치는 상기 제3 영상 및 상기 제4 영상 각각에 포함되는 프레임의 식별 정보를 포함하는 전환 영상의 구성 정보를 생성하여 외부 장치로 전송할 수 있다.
본 발명에 따르면 보다 자연스러운 인물 영상을 생성할 수 있다.
특히 본 발명에 따르면 아바타의 대기 영상과 아바타의 발화 영상 간의 전환이 자연스럽게 이루어지도록 할 수 있다.
또한 본 발명은 실제 인물에 의한 촬영 없이도, 입모양이 자연스러운 아바타 영상을 생성할 수 있다.
아울러 본 발명에 따르면 인공 신경망의 사용에도 불구하고 영상의 생성에 있어서 사용되는 서버의 리소스와 네트워크 리소스의 사용을 최소화 할 수 있다.
도 1은 본 발명의 일 실시예에 따른 영상 생성 시스템의 구성을 개략적으로 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 서비스 서버(300)의 구성을 개략적으로 도시한 도면이다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 서버(100)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 서버(100)의 메모리(130)에 저장되는 복수의 제1 영상(IG1) 및 복수의 제2 영상(IG2)을 도시한 도면이다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 서버(100)가 적어도 하나의 후보 프레임(411 또는 412, 413)을 결정하는 과정을 설명하기 위한 도면이다.
도 9는 제1 영상(410)을 구성하는 프레임(414)과 제2 영상의 프레임(421)의 유사도가 큰 경우의 유사도 산출 결과(431)를 도시한 도면이다.
도 10은 제1 영상(410)을 구성하는 프레임(415)과 제2 영상의 프레임(422)의 유사도가 작은 경우의 유사도 산출 결과(432)를 도시한 도면이다.
도 11은 본 발명의 일 실시예에 따른 서버(100)가 생성한 전환 영상(440)의 구성을 도시한 도면이다.
도 12는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(510)를 이용하여 제1 인공 신경망(520)을 학습하는 방법을 설명하기 위한 도면이다.
도 13은 제1 인공 신경망(520)의 입력 데이터와 출력 데이터를 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른 사용자 단말(200)이 출력 프레임으로 구성되는 출력 영상(740)을 생성하는 방법을 설명하기 위한 도면이다.
도 15, 도 16 및 도 17은 본 발명의 일 실시예에 따른 서버(100)에 의해 수행되는 영상 전환 방법을 설명하기 위한 흐름도이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 본 발명의 효과 및 특징, 그리고 그것들을 달성하는 방법은 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 다양한 형태로 구현될 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시예들을 상세히 설명하기로 하며, 도면을 참조하여 설명할 때 동일하거나 대응하는 구성 요소는 동일한 도면부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
이하의 실시예에서, 제1, 제2 등의 용어는 한정적인 의미가 아니라 하나의 구성 요소를 다른 구성 요소와 구별하는 목적으로 사용되었다. 이하의 실시예에서, 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 이하의 실시예에서, 포함하다 또는 가지다 등의 용어는 명세서상에 기재된 특징, 또는 구성요소가 존재함을 의미하는 것이고, 하나 이상의 다른 특징들 또는 구성요소가 부가될 가능성을 미리 배제하는 것은 아니다. 도면에서는 설명의 편의를 위하여 구성 요소들이 그 크기가 과장 또는 축소될 수 있다. 예컨대, 도면에서 나타난 각 구성의 크기 및 형태는 설명의 편의를 위해 임의로 나타내었으므로, 본 발명이 반드시 도시된 바에 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 영상 생성 시스템의 구성을 개략적으로 도시한 도면이다.
본 발명의 일 실시예에 따른 영상 생성 시스템은 입술 이미지(서버에 의해 생성된)와 얼굴을 포함하는 제2 영상(영상 수신 장치의 메모리에 저장된, 본 명세서에서 때때로 '전환에 사용할 제2 영상'으로 기술됨)이 영상 수신 장치(예를 들어 사용자 단말)에서 오버랩 되어 표시되도록 할 수 있다.
이때 영상 생성 시스템의 서버는 대상 객체의 목소리로 사용할 음성으로부터 순차적인 입술 이미지를 생성할 수 있고, 영상 수신 장치는 순차적인 입술 이미지와 제2 영상을 오버랩 하여 표시함으로써 입모양과 음성이 일치되는 영상을 표시할 수 있다.
이와 같이 본 발명은 립싱크 영상을 생성함에 있어서, 일부 작업이 영상 수신 장치에서 수행되도록 하여, 서버의 리소스를 보다 효율적으로 사용할 수 있도록 하며 관련된 리소스 또한 보다 효율적으로 사용할 수 있도록 한다.
한편 본 발명의 일 실시예에 따른 영상 생성 시스템은 제1 영상(예를 들어 대상 객체의 대기 모습이 촬영된 영상)에서 제2 영상(예를 들어 대상 객체의 발화 모습이 촬영된 영상)으로 전환되는 영상을 생성함에 있어서 두 영상을 구성하는 프레임 간의 유사도 비교를 통해 유사도가 높은 제2 영상을 선택함으로써 보다 자연스러운 영상을 생성할 수 있다.
본 발명에서 제1 인공 신경망 및 제2 인공 신경망과 같은 '인공 신경망'은 용도에 따른 학습 데이터로 학습된 신경망으로, 머신 러닝(Machine Learning) 또는 딥러닝(Deep Learning) 기법에 의해 학습된 인공 신경망을 의미할 수 있다. 이와 같은 신경망의 구조에 대해서는 도 4 내지 도 5를 참조하여 후술한다.
본 발명에서 제1 영상은 가령 대상 객체(이하에서는 '아바타'로 명명한다)의 대기 모습이 촬영된 영상 및 아바타의 발화 모습이 촬영된 영상 중 어느 하나이고, 제2 영상은 나머지 하나에 해당할 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니며, 동작하는 대상 객체(또는 아바타)의 영상을 포함하는 영상이라면 본 발명의 제1 영상 및 제2 영상에 해당할 수 있다. 제1 영상 및 제2 영상에 대한 상세한 설명은 도 6을 참조하여 후술한다.
본 발명의 일 실시예에 따른 영상 생성 시스템은 도 1에 도시된 바와 같이 서버(100), 사용자 단말(200), 서비스 서버(300) 및 통신망(400)을 포함할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상에서 제2 영상으로 전환되는 영상인 전환 영상의 생성 및/또는 전송에 필요한 작업을 수행할 수 있다. 가령 서버(100)는 전환 영상에 포함되는 하나 이상의 영상의 식별 정보 및 하나 이상의 영상 각각의 프레임의 식별 정보를 사용자 단말(200) 및/또는 서비스 서버(300)에 제공할 수 있다.
한편 본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 대상 음성으로부터 입술 이미지를 생성하고, 생성된 입술 이미지를 사용자 단말(200) 및/또는 서비스 서버(300)에 제공할 수 있다.
이때 서버(100)는 전환 영상의 프레임 별로 음성에 대응되는 입술 이미지를 생성하고, 프레임의 식별 정보, 생성된 입술 이미지, 입술 이미지의 프레임 내에서의 위치 정보를 포함하는 립싱크 데이터를 생성할 수 있다. 또한 서버(100)는 생성된 립싱크 데이터를 사용자 단말(200) 및/또는 서비스 서버(300)에 제공할 수 있다. 본 발명에서 이와 같은 서버(100)는 때때로 '영상 전환 장치'로 명명되어 설명될 수 있다.
도 2는 본 발명의 일 실시예에 따른 서버(100)의 구성을 개략적으로 도시한 도면이다. 도 2를 참조하면, 본 발명의 일 실시예에 따른 서버(100)는 통신부(110), 제1 프로세서(120), 메모리(130) 및 제2 프로세서(140)를 포함할 수 있다. 또한 도면에는 도시되지 않았으나, 본 발명의 일 실시예에 따른 서버(100)는 입/출력부, 프로그램 저장부 등을 더 포함할 수 있다.
통신부(110)는 서버(100)가 사용자 단말(200) 및/또는 서비스 서버(300)와 같은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.
제1 프로세서(120)는 학습된 인공 신경망들을 이용하여 입력 데이터로부터 출력 데이터를 생성하는 일련의 과정을 제어하는 장치일 수 있다. 가령 제1 프로세서(120)는 학습된 제1 인공 신경망을 이용하여 획득된 음성에 대응되는 입술 이미지를 생성하는 과정을 제어하는 장치일 수 있다.
이때 프로세서(Processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(130)는 서버(100)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(130)는 학습된 인공 신경망을 구성하는 데이터들(가령 계수들)을 일시적 및/또는 영구적으로 저장할 수 있다. 물론 메모리(130)는 인공 신경망을 학습하기 위한 학습 데이터 또는 서비스 서버(300)로부터 수신된 데이터를 저장할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
제2 프로세서(140)는 전술한 제1 프로세서(120)의 제어에 따라 연산을 수행하는 장치를 의미할 수 있다. 이때 제2 프로세서(140)는 전술한 제1 프로세서(120)보다 높은 연산 능력을 갖는 장치일 수 있다. 가령 제2 프로세서(140)는 GPU(Graphics Processing Unit)로 구성될 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 본 발명의 일 실시예에서, 제2 프로세서(140)는 복수일 수도 있고, 단수일 수도 있다.
본 발명의 일 실시예에서 서비스 서버(300)는 서버(100)로부터 생성된 입술 이미지를 포함하는 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 수신하고 이를 이용하여 출력 프레임을 생성한 뒤 다른 장치(예를 들어 사용자 단말(200))에 제공하는 장치일 수 있다.
본 발명의 다른 실시예에서, 서비스 서버(300)는 서버(100)에 의해 학습된 인공 신경망을 수신하여, 다른 장치(예를 들어 사용자 단말(200))의 요청에 따라 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 제공하는 장치일 수도 있다.
도 3은 본 발명의 일 실시예에 따른 서비스 서버(300)의 구성을 개략적으로 도시한 도면이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 서비스 서버(300)는 통신부(310), 제3 프로세서(320), 메모리(330) 및 제4 프로세서(340)를 포함할 수 있다. 또한 도면에는 도시되지 않았으나, 본 발명의 일 실시예에 따른 서비스 서버(300)는 입/출력부, 프로그램 저장부 등을 더 포함할 수 있다.
본 발명의 일 실시예에서 제3 프로세서(320)는 서버(100)로부터 생성된 입술 이미지를 포함하는 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 수신하고, 이를 이용하여 출력 프레임을 생성한 뒤 다른 장치(예를 들어 사용자 단말(200))에 제공하는 과정을 제어하는 장치일 수 있다.
한편 본 발명의 다른 실시예에서 제3 프로세서(320)는 학습된 인공 신경망(서버(100)로부터 수신된)을 이용하여 다른 장치(예를 들어 사용자 단말(200))의 요청에 따라 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 제공하는 장치일 수도 있다.
이때 프로세서(Processor)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(Microprocessor), 중앙처리장치(Central Processing Unit: CPU), 프로세서 코어(Processor Core), 멀티프로세서(Multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
메모리(330)는 서비스 서버(300)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 메모리는 자기 저장 매체(Magnetic Storage Media) 또는 플래시 저장 매체(Flash Storage Media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 가령 메모리(330)는 학습된 인공 신경망을 구성하는 데이터들(가령 계수들)을 일시적 및/또는 영구적으로 저장할 수 있다. 물론 메모리(330)는 인공 신경망을 학습하기 위한 학습 데이터 또는 서비스 서버(300)로부터 수신된 데이터를 저장할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
제4 프로세서(340)는 전술한 제3 프로세서(320)의 제어에 따라 연산을 수행하는 장치를 의미할 수 있다. 이때 제4 프로세서(340)는 전술한 제3 프로세서(320)보다 높은 연산 능력을 갖는 장치일 수 있다. 가령 제4 프로세서(340)는 GPU(Graphics Processing Unit)로 구성될 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 본 발명의 일 실시예에서, 제4 프로세서(340)는 복수일 수도 있고, 단수일 수도 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 사용자가 서버(100)에 의해 제공되는 다양한 서비스를 이용할 수 있도록 사용자와 서버(100)를 매개하는 다양한 형태의 장치를 의미할 수 있다. 바꾸어 말하면, 본 발명의 일 실시예에 따른 사용자 단말(200)은 서버(100)와 데이터를 송수신 하는 다양한 장치를 의미할 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 서버(100)에 의해 제공되는 립싱크 데이터 및 전환 영상과 관련된 데이터(예를 들어 전환 영상에 포함되는 프레임의 식별 정보)를 수신하고, 이를 이용하여 출력 프레임을 생성할 수 있다. 이와 같은 사용자 단말(200)은 도 1에 도시된 바와 같이, 휴대용 단말(201, 202, 203)을 의미할 수도 있고, 컴퓨터(204)를 의미할 수도 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 상술한 기능을 수행하기 위해 콘텐츠 등을 표시하기 위한 표시수단, 이러한 콘텐츠에 대한 사용자의 입력을 획득하기 위한 입력수단을 구비할 수 있다. 이 때 입력수단 및 표시수단은 다양하게 구성될 수 있다. 가령 입력수단은 키보드, 마우스, 트랙볼, 마이크, 버튼, 터치패널 등을 포함할 수 있으나 이에 한정되지 않는다.
본 발명에서 이와 같은 사용자 단말(200)은 때때로 '영상 표시 장치'로 명명되어 설명될 수 있다.
본 발명의 일 실시예에 따른 통신망(400)은 영상 생성 시스템의 각 구성 간의 데이터 송수신을 매개하는 통신망을 의미할 수 있다. 가령 통신망(400)은 LANs(Local Area Networks), WANs(Wide Area Networks), MANs(Metropolitan Area Networks), ISDNs(Integrated Service Digital Networks) 등의 유선 네트워크나, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 4 및 도 5는 본 발명의 일 실시예에 따른 서버(100)에 의해 학습된 인공 신경망의 예시적인 구조를 설명하기 위한 도면이다. 이하에서는 설명의 편의를 위하여 제1 인공 신경망 및 제2 인공 신경망을 '인공 신경망'으로 통칭하여 설명한다.
본 발명의 일 실시예에 따른 인공 신경망은 도 4에 도시된 바와 같은 합성 곱 신경망(CNN: Convolutional Neural Network) 모델에 따른 인공 신경망일 수 있다. 이때 CNN 모델은 복수의 연산 레이어(Convolutional Layer, Pooling Layer)를 번갈아 수행하여 최종적으로는 입력 데이터의 특징을 추출하는 데 사용되는 계층 모델일 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 학습 데이터를 지도학습(Supervised Learning) 기법에 따라 처리하여 인공 신경망 모델을 구축하거나 학습시킬 수 있다. 서버(100)가 인공 신경망을 학습시키는 방법에 대한 상세한 설명은 후술한다.
본 발명의 일 실시예에 따른 서버(100)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 각 레이어 및/또는 각 노드의 가중치를 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다.
이때 본 발명의 일 실시예에 따른 서버(100)는 역전파(Back Propagation) 알고리즘에 따라 각 레이어 및/또는 각 노드의 가중치(또는 계수)를 갱신할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 입력 데이터의 특징 값을 추출하기 위한 컨볼루션 레이어(Convolution layer), 추출된 특징 값을 결합하여 특징 맵을 구성하는 풀링 레이어(pooling layer)를 생성할 수 있다.
또한 본 발명의 일 실시예에 따른 서버(100)는 생성된 특징 맵을 결합하여, 입력 데이터가 복수의 항목 각각에 해당할 확률을 결정할 준비를 하는 풀리 커넥티드 레이어(Fully Conected Layer)를 생성할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 입력 데이터에 대응되는 출력을 포함하는 아웃풋 레이어(Output Layer)를 산출할 수 있다.
도 4에 도시된 예시에서는, 입력 데이터가 5X7 형태의 블록으로 나누어지며, 컨볼루션 레이어의 생성에 5X3 형태의 단위 블록이 사용되고, 풀링 레이어의 생성에 1X4 또는 1X2 형태의 단위 블록이 사용되는 것으로 도시되었지만, 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 입력 데이터의 종류 및/또는 각 블록의 크기는 다양하게 구성될 수 있다.
한편 이와 같은 인공 신경망은 전술한 메모리(130)에 인공 신경망의 모델의 종류, 인공 신경망을 구성하는 적어도 하나의 노드의 계수, 노드의 가중치 및 인공 신경망을 구성하는 복수의 레이어 간의 관계를 정의하는 함수의 계수들의 형태로 저장될 수 있다. 물론 인공 신경망의 구조 또한 메모리(130)에 소스코드 및/또는 프로그램의 형태로 저장될 수 있다.
본 발명의 일 실시예에 따른 인공 신경망은 도 5에 도시된 바와 같은 순환 신경망(Recurrent Neural Network, RNN) 모델에 따른 인공 신경망일 수 있다.
도 5를 참조하면, 이와 같은 순환 신경망(RNN) 모델에 따른 인공 신경망은 적어도 하나의 입력 노드(N1)를 포함하는 입력 레이어(L1), 복수의 히든 노드(N2)를 포함하는 히든 레이어(L2) 및 적어도 하나의 출력 노드(N3)를 포함하는 출력 레이어(L3)를 포함할 수 있다.
히든 레이어(L2)는 도시된 바와 같이 전체적으로 연결된(Fully Connected) 하나 이상의 레이어를 포함할 수 있다. 히든 레이어(L2)가 복수의 레이어를 포함하는 경우, 인공 신경망은 각각의 히든 레이어 사이의 관계를 정의하는 함수(미도시)를 포함할 수 있다.
출력 레이어(L3)의 적어도 하나의 출력 노드(N3)는 서버(100)의 제어에 따라 인공 신경망이 입력 레이어(L1)의 입력 값으로부터 생성한 출력 값을 포함할 수 있다.
한편 각 레이어의 각 노드에 포함되는 값은 벡터일 수 있다. 또한 각 노드는 해당 노드의 중요도에 대응되는 가중치를 포함할 수도 있다.
한편 인공 신경망은 입력 레이어(L1)와 히든 레이어(L2)의 관계를 정의하는 제1 함수(F1) 및 히든 레이어(L2)와 출력 레이어(L3)의 관계를 정의하는 제2 함수(F2)를 포함할 수 있다.
제1 함수(F1)는 입력 레이어(L1)에 포함되는 입력 노드(N1)와 히든 레이어(L2)에 포함되는 히든 노드(N2)간의 연결관계를 정의할 수 있다. 이와 유사하게, 제2 함수(F2)는 히든 레이어(L2)에 포함되는 히든 노드(N2)와 출력 레이어(L3)에 포함되는 출력 노드(N3)간의 연결관계를 정의할 수 있다.
이와 같은 제1 함수(F1), 제2 함수(F2) 및 히든 레이어 사이의 함수들은 이전 노드의 입력에 기초하여 결과물을 출력하는 순환 신경망 모델을 포함할 수 있다.
서버(100)에 의해 인공 신경망이 학습되는 과정에서, 복수의 학습 데이터에 기초하여 제1 함수(F1) 및 제2 함수(F2)가 학습될 수 있다. 물론 인공 신경망이 학습되는 과정에서 전술한 제1 함수(F1) 및 제2 함수(F2) 외에 복수의 히든 레이어 사이의 함수들 또한 학습될 수 있다.
본 발명의 일 실시예에 따른 인공 신경망은 표지(Labeled)된 학습 데이터를 기반으로 지도학습(Supervised Learning) 방식으로 학습될 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 복수의 학습 데이터를 이용하여, 어느 하나의 입력 데이터를 인공 신경망에 입력하여 생성된 출력 값이 해당 학습 데이터에 표지된 값에 근접하도록 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신하는 과정을 반복하여 수행함으로써 인공 신경망을 학습시킬 수 있다.
이때 본 발명의 일 실시예에 따른 서버(100)는 역전파(Back Propagation) 알고리즘에 따라 전술한 함수들(F1, F2, 히든 레이어 사이의 함수들 등)을 갱신할 수 있다. 다만 이는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
도 4 및 도 5에서 설명한 인공 신경망의 종류 및/또는 구조는 예시적인 것으로 본 발명의 사상이 이에 한정되는 것은 아니다. 따라서 다양한 종류의 모델의 인공 신경망이 명세서를 통하여 설명하는 '인공 신경망'에 해당할 수 있다.
이하에서는 서버(100)에 의해 수행되는 전환 영상 생성 과정과 립싱크 영상 제공 과정 그리고 사용자 단말(200)에 의해 수행되는 립싱크 영상 표시 과정을 중심으로 설명한다.
전환 영상 과정
본 발명에서 '전환 영상'은 서버(100)에 의해 생성된 입술 이미지와 함께 표시되는 배경 이미지로, 아바타의 상태가 전환되는 과정이나 모습이 담긴 영상일 수 있다. 가령 전환 영상은 아바타의 대기 모습이 촬영된 영상과 아바타의 발화 모습이 촬영된 영상이 연결된 영상일 수 있다. 물론 전환 영상은 아바타의 발화 모습이 촬영된 첫 번째 영상과 아바타의 발화 모습이 촬영된 두 번째 영상이 연결된 영상일 수도 있고, 아바타의 발화 모습이 촬영된 영상과 아바타의 대기 모습이 촬영된 영상이 연결된 영상일 수도 있다.
한편 서버(100)에 의해 생성된 입술 이미지는 전환 영상 중 아바타의 발화 모습이 촬영된 영상 부분에 오버랩 되어 표시될 수 있다.
일반적으로 아바타의 발화 내용과 아바타의 발화 제스쳐(예를 들어 몸동작 등)가 반드시 관련성이 있을 것을 요하지는 않기에, 단지 아바타가 발화 제스쳐를 취하는 영상 상에 어떠한 입모양을 오버랩 하여 표시하여도 부자연스러움이 크지 않다. 따라서 본 발명의 일 실시예에 따른 서버(100)는 아바타의 발화가 필요한 시점에서 아바타의 대기 모습이 촬영된 영상에서 아바타의 발화 모습이 촬영된 영상으로 전환되는 전환 영상을 생성하고, 아바타의 발화 모습이 촬영된 부분에 대한 입술 이미지를 오버랩하여 표시되도록 함으로써 자연스러우면서도 의도된 발화 영상을 제공할 수 있다.
도 6은 본 발명의 일 실시예에 따른 서버(100)의 메모리(130)에 저장되는 복수의 제1 영상(IG1) 및 복수의 제2 영상(IG2)을 도시한 도면이다. 본 발명의 일 실시예에 따른 서버(100)는 주어진 상황에 따라 복수의 제1 영상(IG1) 및 복수의 제2 영상(IG2)중 어느 하나를 선택하여 사용자 단말(200) 및/또는 서비스 서버(300)에 제공할 수 있다. 가령 서버(100)는 사용자 단말(200)에 대한 사용자의 조작이 없는 상황에서 복수의 제1 영상(IG1) 중 어느 하나를 선택하여 사용자 단말(200)에 제공할 수 있다. 이때 사용자 단말(200)은 서버(100)에 의해 제공된 제1 영상을 표시함으로써 보다 자연스러운 대기 화면을 제공할 수 있다.
본 발명에서 '자연스러운 대기 화면'과 같은 자연스러운 영상은 아바타가 시간의 흐름에 따라 자연스럽게 동작하는 영상으로, 가령 아바타가 사람인 경우 사람이 눈을 깜박이거나 호흡에 따라 신체가 미세하게 움직이는 영상일 수 있다. 따라서 단일 프레임이나 단일 이미지로 구성된 영상은 본 발명에서 설명하는 자연스러운 영상에 해당하지 않을 수 있다.
한편 서버(100)는 사용자 단말(200)에 대한 사용자의 조작에 따라 아바타의 발화가 필요한 상황이 발생된 경우, 복수의 제2 영상(IG2)중 현재 사용자 단말(200)에 표시되고 있는 제1 영상과 자연스러운 연결이 가능한 제2 영상을 선택하여(즉 전환 영상을 생성하여) 사용자 단말(200)에 제공할 수 있다. 이때 서버(100)는 전술한 바와 같이 제2 영상 상에 표시될 입술 이미지를 생성하여 사용자 단말(200)에 제공할 수 있으며 이에 대한 상세한 설명은 후술한다.
이하에서는 설명의 편의를 위해 현재 사용자 단말(200)에 제1 영상(410)이 표시되고 있으며, 후술하는 과정에 따라 복수의 제2 영상(IG2)중 전환에 사용할 제2 영상(420)이 선택됨을 전제로 설명한다.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)을 구성하는 적어도 하나의 프레임 중 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임과 유사도를 비교할 대상인 적어도 하나의 후보 프레임을 결정할 수 있다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 서버(100)가 적어도 하나의 후보 프레임(411 또는 412, 413)을 결정하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 서버(100)는 사용자 단말(200)에 표시되는 영상의 전환 필요성이 발생된 제1 시점(t1)으로부터 소정의 시구간(예를 들어 제1 시점(t1)으로부터 T초 이후인 제2 시점(t2)까지의 구간) 내에 해당하는 제1 영상(410)의 적어도 하나의 프레임(411)을 적어도 하나의 후보 프레임으로 결정할 수 있다. 예를 들어 제1 시점에 사용자 단말(200)에 대한 사용자의 조작이 수행되었고 이에 따라 아바타의 발화가 필요한 상황이 발행된 경우, 서버(100)는 제1 시점으로부터 제2 시점(t2) 이내에 해당하는 적어도 하나의 프레임(411)을 적어도 하나의 후보 프레임으로 결정할 수 있다. 이러한 경우 서버(100)는 늦어도 제2 시점(t2)에는 아바타의 발화가 이루어지는 영상을 제공할 수 있다.
한편 본 발명의 다른 실시예에 따른 서버(100)는 제1 영상(410)의 첫 프레임(412)과 제1 영상(410)의 마지막 프레임(413)을 적어도 하나의 후보 프레임으로 결정할 수도 있다. 가령 복수의 제1 영상(IG1) 각각이 상대적으로 짧은 시간 길이로 구성되고, 영상의 시작과 끝 부분에서 아바타의 포즈가 정적인 경우 이와 같이 첫 프레임(412)과 마지막 프레임(413)을 적어도 하나의 후보 프레임으로 결정하는 것이 보다 바람직할 수 있다.
한편 도 7 및 도 8에 도시된 후보 프레임 결정 방식은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)을 구성하는 적어도 하나의 프레임과 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출할 수 있다. 가령 서버(100)는 전술한 과정에 따라 결정된 적어도 하나의 후보 프레임(411 또는 412, 413)을 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임과 비교하여 유사도를 산출할 수 있다.
도 9는 제1 영상(410)을 구성하는 프레임(414)과 제2 영상의 프레임(421)의 유사도가 큰 경우의 유사도 산출 결과(431)를 도시한 도면이다.
본 발명의 일 실시예에 따른 서버(100)는 도 9에 도시된 바와 같이 두 프레임(414, 421)의 픽셀 간의 차이값을 유사도 산출 결과(431)로써 산출할 수 있다. 산출 결과(431)에는 두 프레임(414, 421) 간의 픽셀 값이 차이가 있는 부분이 차이 정도에 대응되도록 표시될 수 있다.
도 10은 제1 영상(410)을 구성하는 프레임(415)과 제2 영상의 프레임(422)의 유사도가 작은 경우의 유사도 산출 결과(432)를 도시한 도면이다.
전술한 바와 같이 본 발명의 일 실시예에 따른 서버(100)는 두 프레임(415, 422)의 픽셀 간의 차이값을 유사도 산출 결과(432)로써 산출할 수 있다. 산출 결과(432)에는 두 프레임(415, 422) 간의 픽셀 값이 차이가 있는 부분이 차이 정도에 대응되도록 표시될 수 있다.
도 9의 산출 결과(431)와 도 10의 산출 결과(432)를 비교해 보면, 도 10의 산출 결과(432)에 보다 많은 픽셀들이 차이가 있는 것으로 나타난 것을 확인할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 상술한 과정에 따라 산출된 유사도를 참조하여 제1 영상(410)의 적어도 하나의 프레임 중 제1 영상(410)에서 제2 영상(420)으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정할 수 있다. 이와 유사하게, 본 발명의 일 실시예에 따른 서버(100)는 유사도를 참조하여 복수의 제2 영상(IG2) 중 전환에 사용할 제2 영상(420) 및 전환에 사용할 제2 영상(420)의 적어도 하나의 프레임 중 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정할 수 있다.
이때 서버(100)는 다양한 기준에 따라 제1 연결 프레임 및 제2 연결 프레임을 결정할 수 있다.
가령 서버(100)는 유사도가 가장 높은 프레임 조합, 즉 유사도가 가장 높은 제1 영상(410)의 프레임과 제2 영상(420)의 프레임 조합(또는 세트)을 선택하고, 이 때의 제1 영상(410)의 프레임을 제1 연결 프레임으로, 제2 영상(420)의 프레임을 제2 연결 프레임으로 결정할 수 있다. 이와 같은 방식에 따를 경우 가장 자연스러운 영상 전환이 가능하다.
또한 서버(100)는 유사도가 임계 유사도를 초과하는 프레임 조합들 중 가장 이른(또는 빠른) 시점의 제1 영상(410)의 프레임을 포함하는 조합을 선택하고, 이 때의 제1 영상(410)의 프레임을 제1 연결 프레임으로, 제2 영상(420)의 프레임을 제2 연결 프레임으로 결정할 수도 있다. 이와 같은 방식에 따를 경우 빠른 응답 속도를 제공할 수 있다.
다만 상술한 2 가지 방식은 모두 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니며, 유사도에 기반하여 프레임 조합을 결정하는 방식은 본 발명에 해당할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)의 적어도 일부 프레임을 포함하는 제3 영상과 전환에 사용할 제2 영상(420)의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성할 수 있다.
도 11은 본 발명의 일 실시예에 따른 서버(100)가 생성한 전환 영상(440)의 구성을 도시한 도면이다.
전술한 바와 같이 전환 영상(440)은 제1 영상(410)의 적어도 일부 프레임을 포함하는 제3 영상(416)과 전환에 사용할 제2 영상(420)의 적어도 일부 프레임을 포함하는 제4 영상(423)을 연결한 영상일 수 있다.
이때 제3 영상(416)은 제1 영상(410)의 적어도 일부 프레임으로 구성된 영상으로 상술한 과정에 따라 결정된 제1 연결 프레임(417)을 마지막 프레임으로 하는 영상일 수 있다. 또한 제4 영상(423)은 전환에 사용할 제2 영상(420)의 적어도 일부 프레임으로 구성된 영상으로 제2 연결 프레임(424)을 첫 프레임으로 하는 영상일 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 상술한 과정에 따라 생성된 전환 영상의 구성 정보를 사용자 단말(200) 및/또는 서비스 서버(300)에 전송할 수 있다. 가령 서버(100)는 제3 영상(416) 및 상기 제4 영상(423) 각각에 포함되는 프레임의 식별 정보가 포함되도록 전환 영상의 구성 정보를 생성하여 사용자 단말(200) 및/또는 서비스 서버(300)에 전송할 수 있다. 사용자 단말(200) 및/또는 서비스 서버(300)는 수신된 전환 영상의 구성 정보를 이용하여 후술하는 과정에 따라 생성되는 입술 이미지의 배경 영상을 생성할 수 있다.
립싱크 영상 제공 및 표시 과정
본 발명의 일 실시예에 따른 서버(100)는 입력된 음성으로부터 제4 영상(423)과 함께 제공되는 입술 이미지를 생성할 수 있다. 이를 위해 본 발명의 일 실시예에 따른 서버(100)는 각각의 학습 데이터를 이용하여 제1 인공 신경망을 학습시킬 수 있다.
도 12는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(510)를 이용하여 제1 인공 신경망(520)을 학습하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 복수의 학습 데이터(510) 각각에 포함되는 제1 입술 이미지, 음성 및 제2 입술 이미지 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다.
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 도 13에 도시된 바와 같이 음성(531)과 제1 입술 이미지(542)의 입력에 따라, 제1 입술 이미지(542)가 음성(531)에 따라 변형된 이미지인 제2 입술 이미지(543)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다. 이때 제1 입술 이미지(542)는 샘플 이미지로써, 음성에 따른 입술 이미지 생성에 기반이 되는 입술의 모양을 포함하는 이미지 일 수 있다.
본 발명의 일 실시예에 따른 복수의 학습 데이터(510) 각각은 제1 입술 이미지, 음성 및 제2 입술 이미지를 포함할 수 있다.
가령 첫 번째 학습 데이터(511)의 경우 제1 입술 이미지(511B), 음성(511A) 및 제2 입술 이미지(511C)를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(512) 및 세 번째 학습 데이터(513)도 각각 제1 입술 이미지, 음성 및 제2 입술 이미지를 포함할 수 있다.
한편 본 발명의 일 실시예에서, 복수의 학습 데이터(510) 각각에 포함되는 제2 입술 이미지는 복수일 수도 있고 단수일 수도 있다. 가령 서버(100)가 음성을 소정의 규칙에 따라 분할하여 분할 된 음성 구간으로부터 입술 이미지를 생성하는 예시에서, 제2 입술 이미지는 단수일 수 있다. 이때 복수의 학습 데이터(510) 각각에 포함되는 음성 또한 전체 음성에서 분할된 일부 구간일 수 있다.
한편 서버(100)가 음성 전체로부터 일련의 입술 이미지들을 생성하는 예시에서, 제2 입술 이미지는 도 12에 도시된 바와 같이 복수일 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에서 이와 같은 복수의 학습 데이터(510)는 립리딩 과정을 통하여 획득된것일 수 있다. 예를 들어 서버(100)는 립리딩 과정을 통하여 입모양 영상과 해당 입모양 영상과 관련된 음성 데이터를 수집할 수 있다. 이때 복수의 학습 데이터(510)는 음성 및 입모양에 대응되는 텍스트를 더 포함할 수도 있다.
본 발명의 선택적 실시예에서, 서버(100)는 립리딩 과정을 통하여 학습된 모델을 제1 인공 신경망(520)으로써 사용할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
이하에서는 도 12 내지 도 13에서 설명한 과정에 따라 제1 인공 신경망(520)이 학습되었음을 전제로 설명한다.
본 발명의 일 실시예에 따른 서버(100)는 아바타의 목소리로 사용할 대상 음성을 획득할 수 있다.
본 발명에서 '대상 음성'은 전환 영상(또는 제4 영상(423))의 음향 신호로써 사용되는 것으로, 전환 영상(또는 제4 영상(423))에서의 아바타의 입술 모양과 대응되는 음성을 의미할 수 있다.
본 발명의 일 실시예에서 서버(100)는 학습된 제2 인공 신경망을 이용하여 텍스트로부터부터 대상 음성을 생성할 수 있다. 이때 제2 인공 신경망은 텍스트의 입력에 따라, 텍스트의 독음에 해당하는 대상 음성을 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
한편 '텍스트'는 서버(100)가 소정의 규칙이나 방식에 따라 생성한 것 일 수 있다. 가령 서버(100)가 사용자 단말(200)로부터 수신된 요청에 따른 응답을 제공하는 예시에서, 서버(100)는 제3 인공 신경망(미도시)을 이용하여 사용자 단말(200)로부터 수신된 요청에 대한 응답이 되는 텍스트를 생성할 수 있다.
한편 서버(100)가 미리 설정된 시나리오에 따른 응답(또는 영상)을 제공하는 예시에서, 서버(100)는 메모리로부터 텍스트를 독출할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 대상 음성을 사용자 단말(200)에 전송할 수 있다. 이때 본 발명의 일 실시예에 따른 사용자 단말(200)은 대상 음성을 저장할 수 있다. 한편 사용자 단말(200)에 대상 음성은 이후 출력 영상(또는 출력 프레임)을 생성 및/또는 출력하는데 사용될 수 있으며, 이에 대한 상세한 설명은 후술한다.
본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 제4 영상(423)의 프레임 별로 대상 음성에 대응되는 입술 이미지를 생성할 수 있다.
본 발명에서 '제4 영상의 프레임 별로'와 같은 표현은 제4 영상(423)의 개별 프레임 마다 입술 이미지를 생성하는 것을 의미할 수 있다. 가령 본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 제4 영상(423)의 제1 프레임에 대응되는 입술 이미지를 생성할 수 있다. 이때 제1 인공 신경망은 도 13에서 설명한 바와 같이 음성(531)과 제1 입술 이미지(542)의 입력에 따라, 제1 입술 이미지(542)가 음성에 따라 변형된 이미지인 제2 입술 이미지(543)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
본 발명의 일 실시예에서 서버(100)는 제4 영상(423)의 제1 프레임으로부터 획득된 제1 입술 이미지와 대상 음성을 제1 인공 신경망에 입력하고, 그에 대한 출력 결과로써 제1 번째 프레임에 대한 입술 이미지를 생성할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 립싱크 데이터를 생성할 수 있다. 이때 제1 립싱크 데이터는 입술 이미지에 사용된 제4 영상(423)의 제1 프레임의 식별 정보, 생성된 입술 이미지, 입술 이미지에 사용된 제4 영상(423)의 제1 프레임에서 입술 이미지의 위치정보를 포함할 수 있다. 이와 같은 제1 립싱크 데이터의 생성을 위해 본 발명의 일 실시예에 따른 서버(100)는 제1 프레임에서 입술의 위치를 확인하고, 확인된 위치에 기반하여 입술 이미지의 위치정보를 생성할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 생성된 제1 립싱크 데이터를 사용자 단말(200)에 전송할 수 있다. 이때 제1 립싱크 데이터는 전술한 바와 같이 입술 이미지에 사용된 제4 영상(423)의 식별 정보, 생성된 입술 이미지, 입술 이미지에 사용된 제4 영상(423)의 프레임(즉 제1 프레임)에서 입술 이미지의 위치정보를 포함할 수 있다.
이와 같은 제1 립싱크 데이터를 수신한 사용자 단말(200)은 제1 립싱크 데이터에 포함된 제1 프레임의 식별 정보를 참조하여, 메모리로부터 프레임 식별 정보에 상응하는 프레임을 리드할 수 있다. 이때 사용자 단말(200)은 미리 저장된 복수의 제1 영상(IG1) 및/또는 복수의 제2 영상(IG2)으로부터 프레임 식별 정보에 상응하는 프레임을 검색하여 리드할 수 있다. 가령 사용자 단말(200)은 복수의 제2 영상(IG2) 중 제4 영상(423)을 포함하는 영상을 검색하고, 해당 영상에서 특정 프레임을 리드할 수 있다.
또한 사용자 단말(200)은 제1 립싱크 데이터에 포함된 입술 이미지의 위치정보에 기반하여, 리드 된 프레임 상에 제1 립싱크 데이터에 포함된 입술 이미지를 오버랩 시켜 출력 프레임을 생성하고, 이를 표시할 수 있다.
상술한 과정은 하나의 프레임인 제1 프레임에 대한 서버(100) 및 사용자 단말(200)의 처리 과정을 설명하기 위한 단계들이다.
본 발명의 일 실시예에 따른 서버(100)는 제4 영상(423)의 복수의 프레임에 대해서, 프레임 단위로 상기 립싱크 데이터를 생성할 수 있다. 이때 사용자 단말(200)은 프레임 단위로 생성된 립싱크 데이터를 수신하고, 립싱크 데이터 별로 출력 프레임을 생성할 수 있다.
가령 서버(100) 및 사용자 단말(200)은 제2 프레임을 상술한 제1 프레임과 마찬가지 방식으로 처리할 수 있다. 이때 제2 프레임은 제4 영상(423)에서 제1 프레임에 후행하는 프레임일 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 상술한 과정에 따라 생성된 출력 프레임들을 표시함과 동시에 대상 음성을 재생함으로써 객체가 해당 음성으로 말하는 것과 같은 출력 결과를 사용자에게 제공할 수 있다.
즉 사용자 단말(200)은 아바타의 영상은 기 저장된 아바타 영상에서 입모양이 서버(100)로부터 수신된 입모양으로 변경된 영상으로, 아바타의 음성은 서버(100)로부터 수신된 대상 음성으로써 제공하여 자연스러운 립싱크 영상을 제공할 수 있다.
도 14는 본 발명의 일 실시예에 따른 사용자 단말(200)이 출력 프레임으로 구성되는 출력 영상(740)을 생성하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 제4 영상(423)의 특정 프레임(590) 상에 서버(100)에 의해 생성된 입술 이미지(544)를 오버랩 하여 출력 프레임(711)을 생성할 수 있다. 이때 사용자 단말(200)은 서버(100)로부터 수신된 입술 이미지의 위치 정보(591)를 이용하여 특정 프레임(590) 상에서의 입술 이미지(544)의 오버랩 위치를 결정할 수 있다. 물론 사용자 단말(200)은 제4 영상(423)의 나머지 프레임에 대해서도 마찬가지 방식으로 출력 프레임을 생성할 수 있다.
도 15, 도 16 및 도 17은 본 발명의 일 실시예에 따른 서버(100)에 의해 수행되는 영상 전환 방법을 설명하기 위한 흐름도이다. 이하에서는 도 1 내지 도 14를 함께 참조하여 설명하되, 중복되는 내용의 설명은 생략한다.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)을 구성하는 적어도 하나의 프레임 중 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임과 유사도를 비교할 대상인 적어도 하나의 후보 프레임을 결정할 수 있다.(S1210)
도 7 및 도 8은 본 발명의 일 실시예에 따른 서버(100)가 적어도 하나의 후보 프레임(411 또는 412, 413)을 결정하는 과정을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 서버(100)는 사용자 단말(200)에 표시되는 영상의 전환 필요성이 발생된 제1 시점(t1)으로부터 소정의 시구간(예를 들어 제1 시점(t1)으로부터 T초 이후인 제2 시점(t2)까지의 구간) 내에 해당하는 제1 영상(410)의 적어도 하나의 프레임(411)을 적어도 하나의 후보 프레임으로 결정할 수 있다. 예를 들어 제1 시점에 사용자 단말(200)에 대한 사용자의 조작이 수행되었고 이에 따라 아바타의 발화가 필요한 상황이 발행된 경우, 서버(100)는 제1 시점으로부터 제2 시점(t2) 이내에 해당하는 적어도 하나의 프레임(411)을 적어도 하나의 후보 프레임으로 결정할 수 있다. 이러한 경우 서버(100)는 늦어도 제2 시점(t2)에는 아바타의 발화가 이루어지는 영상을 제공할 수 있다.
한편 본 발명의 다른 실시예에 따른 서버(100)는 제1 영상(410)의 첫 프레임(412)과 제1 영상(410)의 마지막 프레임(413)을 적어도 하나의 후보 프레임으로 결정할 수도 있다. 가령 복수의 제1 영상(IG1) 각각이 상대적으로 짧은 시간 길이로 구성되고, 영상의 시작과 끝 부분에서 아바타의 포즈가 정적인 경우 이와 같이 첫 프레임(412)과 마지막 프레임(413)을 적어도 하나의 후보 프레임으로 결정하는 것이 보다 바람직할 수 있다.
한편 도 7 및 도 8에 도시된 후보 프레임 결정 방식은 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)을 구성하는 적어도 하나의 프레임과 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출할 수 있다. (S1220) 가령 서버(100)는 전술한 과정에 따라 결정된 적어도 하나의 후보 프레임(411 또는 412, 413)을 복수의 제2 영상(IG2) 각각을 구성하는 적어도 하나의 프레임과 비교하여 유사도를 산출할 수 있다.
도 9는 제1 영상(410)을 구성하는 프레임(414)과 제2 영상의 프레임(421)의 유사도가 큰 경우의 유사도 산출 결과(431)를 도시한 도면이다.
본 발명의 일 실시예에 따른 서버(100)는 도 9에 도시된 바와 같이 두 프레임(414, 421)의 픽셀 간의 차이값을 유사도 산출 결과(431)로써 산출할 수 있다. 산출 결과(431)에는 두 프레임(414, 421) 간의 픽셀 값이 차이가 있는 부분이 차이 정도에 대응되도록 표시될 수 있다.
도 10은 제1 영상(410)을 구성하는 프레임(415)과 제2 영상의 프레임(422)의 유사도가 작은 경우의 유사도 산출 결과(432)를 도시한 도면이다.
전술한 바와 같이 본 발명의 일 실시예에 따른 서버(100)는 두 프레임(415, 422)의 픽셀 간의 차이값을 유사도 산출 결과(432)로써 산출할 수 있다. 산출 결과(432)에는 두 프레임(415, 422) 간의 픽셀 값이 차이가 있는 부분이 차이 정도에 대응되도록 표시될 수 있다.
도 9의 산출 결과(431)와 도 10의 산출 결과(432)를 비교해 보면, 도 10의 산출 결과(432)에 보다 많은 픽셀들이 차이가 있는 것으로 나타난 것을 확인할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 상술한 과정에 따라 산출된 유사도를 참조하여 제1 영상(410)의 적어도 하나의 프레임 중 제1 영상(410)에서 제2 영상(420)으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정할 수 있다. (S1230) 이와 유사하게, 본 발명의 일 실시예에 따른 서버(100)는 유사도를 참조하여 복수의 제2 영상(IG2) 중 전환에 사용할 제2 영상(420) 및 전환에 사용할 제2 영상(420)의 적어도 하나의 프레임 중 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정할 수 있다. (S1240)
이때 서버(100)는 다양한 기준에 따라 제1 연결 프레임 및 제2 연결 프레임을 결정할 수 있다.
가령 서버(100)는 유사도가 가장 높은 프레임 조합, 즉 유사도가 가장 높은 제1 영상(410)의 프레임과 제2 영상(420)의 프레임 조합(또는 세트)을 선택하고, 이 때의 제1 영상(410)의 프레임을 제1 연결 프레임으로, 제2 영상(420)의 프레임을 제2 연결 프레임으로 결정할 수 있다. 이와 같은 방식에 따를 경우 가장 자연스러운 영상 전환이 가능하다.
또한 서버(100)는 유사도가 임계 유사도를 초과하는 프레임 조합들 중 가장 이른(또는 빠른) 시점의 제1 영상(410)의 프레임을 포함하는 조합을 선택하고, 이 때의 제1 영상(410)의 프레임을 제1 연결 프레임으로, 제2 영상(420)의 프레임을 제2 연결 프레임으로 결정할 수도 있다. 이와 같은 방식에 따를 경우 빠른 응답 속도를 제공할 수 있다.
다만 상술한 2 가지 방식은 모두 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니며, 유사도에 기반하여 프레임 조합을 결정하는 방식은 본 발명에 해당할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 영상(410)의 적어도 일부 프레임을 포함하는 제3 영상과 전환에 사용할 제2 영상(420)의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성할 수 있다. (S1250)
도 11은 본 발명의 일 실시예에 따른 서버(100)가 생성한 전환 영상(440)의 구성을 도시한 도면이다.
전술한 바와 같이 전환 영상(440)은 제1 영상(410)의 적어도 일부 프레임을 포함하는 제3 영상(416)과 전환에 사용할 제2 영상(420)의 적어도 일부 프레임을 포함하는 제4 영상(423)을 연결한 영상일 수 있다.
이때 제3 영상(416)은 제1 영상(410)의 적어도 일부 프레임으로 구성된 영상으로 상술한 과정에 따라 결정된 제1 연결 프레임(417)을 마지막 프레임으로 하는 영상일 수 있다. 또한 제4 영상(423)은 전환에 사용할 제2 영상(420)의 적어도 일부 프레임으로 구성된 영상으로 제2 연결 프레임(424)을 첫 프레임으로 하는 영상일 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 상술한 과정에 따라 생성된 전환 영상의 구성 정보를 사용자 단말(200) 및/또는 서비스 서버(300)에 전송할 수 있다. 가령 서버(100)는 제3 영상(416) 및 상기 제4 영상(423) 각각에 포함되는 프레임의 식별 정보가 포함되도록 전환 영상의 구성 정보를 생성하여 사용자 단말(200) 및/또는 서비스 서버(300)에 전송할 수 있다. 사용자 단말(200) 및/또는 서비스 서버(300)는 수신된 전환 영상의 구성 정보를 이용하여 후술하는 과정에 따라 생성되는 입술 이미지의 배경 영상을 생성할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 입력된 음성으로부터 제4 영상(423)과 함께 제공되는 입술 이미지를 생성할 수 있다. (S1260) 이를 위해 본 발명의 일 실시예에 따른 서버(100)는 각각의 학습 데이터를 이용하여 제1 인공 신경망을 학습시킬 수 있다.
도 12는 본 발명의 일 실시예에 따른 서버(100)가 복수의 학습 데이터(510)를 이용하여 제1 인공 신경망(520)을 학습하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 복수의 학습 데이터(510) 각각에 포함되는 제1 입술 이미지, 음성 및 제2 입술 이미지 간의 상관관계를 학습한(또는 학습하는) 신경망을 의미할 수 있다.
따라서 본 발명의 일 실시예에 따른 제1 인공 신경망(520)은 도 13에 도시된 바와 같이 음성(531)과 제1 입술 이미지(542)의 입력에 따라, 제1 입술 이미지(542)가 음성(531)에 따라 변형된 이미지인 제2 입술 이미지(543)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다. 이때 제1 입술 이미지(542)는 샘플 이미지로써, 음성에 따른 입술 이미지 생성에 기반이 되는 입술의 모양을 포함하는 이미지 일 수 있다.
본 발명의 일 실시예에 따른 복수의 학습 데이터(510) 각각은 제1 입술 이미지, 음성 및 제2 입술 이미지를 포함할 수 있다.
가령 첫 번째 학습 데이터(511)의 경우 제1 입술 이미지(511B), 음성(511A) 및 제2 입술 이미지(511C)를 포함할 수 있다. 이와 유사하게 두 번째 학습 데이터(512) 및 세 번째 학습 데이터(513)도 각각 제1 입술 이미지, 음성 및 제2 입술 이미지를 포함할 수 있다.
한편 본 발명의 일 실시예에서, 복수의 학습 데이터(510) 각각에 포함되는 제2 입술 이미지는 복수일 수도 있고 단수일 수도 있다. 가령 서버(100)가 음성을 소정의 규칙에 따라 분할하여 분할 된 음성 구간으로부터 입술 이미지를 생성하는 예시에서, 제2 입술 이미지는 단수일 수 있다. 이때 복수의 학습 데이터(510) 각각에 포함되는 음성 또한 전체 음성에서 분할된 일부 구간일 수 있다.
한편 서버(100)가 음성 전체로부터 일련의 입술 이미지들을 생성하는 예시에서, 제2 입술 이미지는 도 12에 도시된 바와 같이 복수일 수 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
이하에서는 도 12 내지 도 13에서 설명한 과정에 따라 제1 인공 신경망(520)이 학습되었음을 전제로 설명한다.
본 발명의 일 실시예에 따른 서버(100)는 단계 S1220 내지 단계 S1250을 통하여 제4 영상(423)을 결정할 수 있다.(S1261) 이때 제4 영상(423)은 전환 영상 중 립싱크의 대상이 되는 부분에 해당하는 영상을 의미할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 아바타의 목소리로 사용할 대상 음성을 획득할 수 있다.(S1262)
본 발명에서 '대상 음성'은 전환 영상(또는 제4 영상(423))의 음향 신호로써 사용되는 것으로, 전환 영상(또는 제4 영상(423))에서의 아바타의 입술 모양과 대응되는 음성을 의미할 수 있다.
본 발명의 일 실시예에서 서버(100)는 학습된 제2 인공 신경망을 이용하여 텍스트로부터부터 대상 음성을 생성할 수 있다. 이때 제2 인공 신경망은 텍스트의 입력에 따라, 텍스트의 독음에 해당하는 대상 음성을 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
한편 '텍스트'는 서버(100)가 소정의 규칙이나 방식에 따라 생성한 것 일 수 있다. 가령 서버(100)가 사용자 단말(200)로부터 수신된 요청에 따른 응답을 제공하는 예시에서, 서버(100)는 제3 인공 신경망(미도시)을 이용하여 사용자 단말(200)로부터 수신된 요청에 대한 응답이 되는 텍스트를 생성할 수 있다.
한편 서버(100)가 미리 설정된 시나리오에 따른 응답(또는 영상)을 제공하는 예시에서, 서버(100)는 메모리로부터 텍스트를 독출할 수도 있다. 다만 이는 예시적인것으로 본 발명의 사상이 이에 한정되는 것은 아니다.
본 발명의 일 실시예에 따른 서버(100)는 대상 음성을 사용자 단말(200)에 전송할 수 있다. (S1263) 이때 본 발명의 일 실시예에 따른 사용자 단말(200)은 대상 음성을 저장할 수 있다. (S1264) 한편 사용자 단말(200)에 대상 음성은 이후 출력 영상(또는 출력 프레임)을 생성 및/또는 출력하는데 사용될 수 있으며, 이에 대한 상세한 설명은 후술한다.
본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 제4 영상(423)의 프레임 별로 대상 음성에 대응되는 입술 이미지를 생성할 수 있다. (S1265)
본 발명에서 '제4 영상의 프레임 별로'와 같은 표현은 제4 영상(423)의 개별 프레임 마다 입술 이미지를 생성하는 것을 의미할 수 있다. 가령 본 발명의 일 실시예에 따른 서버(100)는 학습된 제1 인공 신경망을 이용하여 제4 영상(423)의 제1 프레임에 대응되는 입술 이미지를 생성할 수 있다. 이때 제1 인공 신경망은 도 13에서 설명한 바와 같이 음성(531)과 제1 입술 이미지(542)의 입력에 따라, 제1 입술 이미지(542)가 음성에 따라 변형된 이미지인 제2 입술 이미지(543)를 출력하도록 학습된(또는 학습되는) 신경망을 의미할 수 있다.
본 발명의 일 실시예에서 서버(100)는 제4 영상(423)의 제1 프레임으로부터 획득된 제1 입술 이미지와 대상 음성을 제1 인공 신경망에 입력하고, 그에 대한 출력 결과로써 제1 번째 프레임에 대한 입술 이미지를 생성할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 제1 립싱크 데이터를 생성할 수 있다. (S1266) 이때 제1 립싱크 데이터는 입술 이미지에 사용된 제4 영상(423)의 제1 프레임의 식별 정보, 생성된 입술 이미지, 입술 이미지에 사용된 제4 영상(423)의 제1 프레임에서 입술 이미지의 위치정보를 포함할 수 있다. 이와 같은 제1 립싱크 데이터의 생성을 위해 본 발명의 일 실시예에 따른 서버(100)는 제1 프레임에서 입술의 위치를 확인하고, 확인된 위치에 기반하여 입술 이미지의 위치정보를 생성할 수 있다.
본 발명의 일 실시예에 따른 서버(100)는 생성된 제1 립싱크 데이터를 사용자 단말(200)에 전송할 수 있다. (S1267) 이때 제1 립싱크 데이터는 전술한 바와 같이 입술 이미지에 사용된 제4 영상(423)의 식별 정보, 생성된 입술 이미지, 입술 이미지에 사용된 제4 영상(423)의 프레임(즉 제1 프레임)에서 입술 이미지의 위치정보를 포함할 수 있다.
이와 같은 제1 립싱크 데이터를 수신한 사용자 단말(200)은 제1 립싱크 데이터에 포함된 제1 프레임의 식별 정보를 참조하여, 메모리로부터 프레임 식별 정보에 상응하는 프레임을 리드할 수 있다. (S1268) 이때 사용자 단말(200)은 미리 저장된 복수의 제1 영상(IG1) 및/또는 복수의 제2 영상(IG2)으로부터 프레임 식별 정보에 상응하는 프레임을 검색하여 리드할 수 있다. 가령 사용자 단말(200)은 복수의 제2 영상(IG2) 중 제4 영상(423)을 포함하는 영상을 검색하고, 해당 영상에서 특정 프레임을 리드할 수 있다.
또한 사용자 단말(200)은 제1 립싱크 데이터에 포함된 입술 이미지의 위치정보에 기반하여, 리드 된 프레임 상에 제1 립싱크 데이터에 포함된 입술 이미지를 오버랩 시켜 출력 프레임을 생성하고(S1269), 이를 표시할 수 있다. (S1270)
상술한 과정은 하나의 프레임인 제1 프레임에 대한 서버(100) 및 사용자 단말(200)의 처리 과정을 설명하기 위한 단계들이다.
본 발명의 일 실시예에 따른 서버(100)는 제4 영상(423)의 복수의 프레임에 대해서, 프레임 단위로 립싱크 데이터를 생성할 수 있다. 이때 사용자 단말(200)은 프레임 단위로 생성된 립싱크 데이터를 수신하고, 립싱크 데이터 별로 출력 프레임을 생성할 수 있다.
가령 서버(100) 및 사용자 단말(200)은 도 17의 S1277 내지 S1282 단계들(FR2)에 도시된 바와 같이 제2 프레임을 상술한 제1 프레임과 마찬가지 방식(S1271 내지 S1276 단계들(FR1)에 따르는 방식)으로 처리할 수 있다. 이때 제2 프레임은 제4 영상(423)에서 제1 프레임에 후행하는 프레임일 수 있다.
본 발명의 일 실시예에 따른 사용자 단말(200)은 상술한 과정에 따라 생성된 출력 프레임들을 표시함과 동시에 대상 음성을 재생함으로써 객체가 해당 음성으로 말하는 것과 같은 출력 결과를 사용자에게 제공할 수 있다.
즉 사용자 단말(200)은 아바타의 영상은 기 저장된 아바타 영상에서 입모양이 서버(100)로부터 수신된 입모양으로 변경된 영상으로, 아바타의 음성은 서버(100)로부터 수신된 대상 음성으로써 제공하여 자연스러운 립싱크 영상을 제공할 수 있다.
이상 설명된 본 발명에 따른 실시예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 저장하는 것일 수 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다.
한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.
본 발명에서 설명하는 특정 실행들은 일 실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, "필수적인", "중요하게" 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 서버
110: 통신부
120: 제1 프로세서
130: 메모리
140: 제2 프로세서
200: 사용자 단말
300: 서비스 서버
310: 통신부
320: 제3 프로세서
330: 메모리
340: 제4 프로세서
400: 통신망

Claims (10)

  1. 표시 수단에 표시되는 제1 영상을 제2 영상으로 전환하는 방법에 있어서,
    제1 영상을 구성하는 적어도 하나의 프레임과 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하는 단계;
    상기 유사도를 참조하여 상기 제1 영상의 적어도 하나의 프레임 중 상기 제1 영상에서 상기 제2 영상으로 전환되는 전환 시점에 사용하는 프레임인 제1 연결 프레임을 결정하는 단계; 및
    상기 유사도를 참조하여 상기 복수의 제2 영상 중 전환에 사용할 제2 영상 및 상기 전환에 사용할 제2 영상의 적어도 하나의 프레임 중 상기 전환 시점에 사용하는 프레임인 제2 연결 프레임을 결정하는 단계;를 포함하는, 영상 전환 방법.
  2. 청구항 1에 있어서
    상기 영상 전환 방법은
    상기 유사도를 산출하는 단계 이전에,
    상기 제1 영상을 구성하는 적어도 하나의 프레임 중 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임과 유사도 비교 대상인 적어도 하나의 후보 프레임을 결정하는 단계;를 더 포함하고,
    상기 유사도를 산출하는 단계는
    상기 적어도 하나의 후보 프레임과 상기 복수의 제2 영상 각각을 구성하는 적어도 하나의 프레임 간의 유사도를 산출하는, 영상 전환 방법.
  3. 청구항 2에 있어서
    상기 적어도 하나의 후보 프레임을 결정하는 단계는
    영상의 전환 필요성이 발생된 제1 시점으로부터 소정의 시구간 내에 해당하는 상기 제1 영상의 적어도 하나의 프레임을 상기 적어도 하나의 후보 프레임으로 결정하는 단계;를 포함하는, 영상 전환 방법.
  4. 청구항 2에 있어서
    상기 적어도 하나의 후보 프레임을 결정하는 단계는
    상기 제1 영상의 첫 프레임과 상기 제1 영상의 마지막 프레임을 상기 적어도 하나의 후보 프레임으로 결정하는 단계;를 포함하는, 영상 전환 방법.
  5. 청구항 1에 있어서
    상기 영상 전환 방법은
    상기 제1 영상의 적어도 일부 프레임을 포함하는 제3 영상과 상기 전환에 사용할 제2 영상의 적어도 일부 프레임을 포함하는 제4 영상을 연결한 전환 영상을 생성하는 단계;를 더 포함하고,
    상기 제3 영상은 상기 제1 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제1 연결 프레임을 마지막 프레임으로 하는 영상이고,
    상기 제4 영상은 상기 전환에 사용할 제2 영상의 적어도 일부 프레임으로 구성 된 영상으로 상기 제2 연결 프레임을 첫 프레임으로 하는 영상인, 영상 전환 방법.
  6. 청구항 5에 있어서
    상기 제1 영상은 아바타의 대기 모습이 촬영된 영상이고,
    상기 제2 영상은 상기 아바타의 발화 모습이 촬영된 영상이고,
    상기 영상 전환 방법은 전환 영상을 생성하는 단계 이후에,
    입력 된 음성으로부터 상기 제4 영상과 함께 제공되는 입술 이미지를 생성하는 단계;를 더 포함하는, 영상 전환 방법.
  7. 청구항 6에 있어서
    상기 입술 이미지를 생성하는 단계는
    상기 아바타의 목소리로 사용할 대상 음성을 획득하는 단계;
    학습된 제1 인공 신경망을 이용하여, 상기 제4 영상의 프레임 별로 상기 음성에 대응되는 입술 이미지를 생성하는 단계; 및
    상기 제4 영상의 식별 정보, 상기 입술 이미지, 상기 제4 영상의 프레임에서 상기 입술 이미지의 위치정보를 포함하는 립싱크 데이터를 생성하는 단계;를 포함하는, 영상 전환 방법.
  8. 청구항 7에 있어서
    상기 제1 인공 신경망은
    음성 및 제1 입술 이미지의 입력에 따라 상기 제1 입술 이미지가 상기 음성에 따라 변형된 이미지인 제2 입술 이미지를 출력하도록 학습 된 신경망인, 영상 전환 방법.
  9. 청구항 5에 있어서
    상기 전환 영상을 생성하는 단계는
    상기 제3 영상 및 상기 제4 영상 각각에 포함되는 프레임의 식별 정보를 포함하는 전환 영상의 구성 정보를 생성하여 외부 장치로 전송하는 단계;를 포함하는, 영상 전환 방법.
  10. 컴퓨터를 이용하여
    청구항 1 내지 청구항 9 중 어느 한 항의 방법을 실행하기 위해 기록매체에 저장된 컴퓨터 프로그램.
KR1020210132687A 2021-10-06 2021-10-06 영상 전환 방법, 장치 및 컴퓨터 프로그램 KR102514580B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020210132687A KR102514580B1 (ko) 2021-10-06 2021-10-06 영상 전환 방법, 장치 및 컴퓨터 프로그램
PCT/KR2021/016162 WO2023058812A1 (ko) 2021-10-06 2021-11-08 영상 전환 방법, 장치 및 컴퓨터 프로그램

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210132687A KR102514580B1 (ko) 2021-10-06 2021-10-06 영상 전환 방법, 장치 및 컴퓨터 프로그램

Publications (1)

Publication Number Publication Date
KR102514580B1 true KR102514580B1 (ko) 2023-03-29

Family

ID=85800102

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210132687A KR102514580B1 (ko) 2021-10-06 2021-10-06 영상 전환 방법, 장치 및 컴퓨터 프로그램

Country Status (2)

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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102129126B1 (ko) * 2017-04-04 2020-07-01 한국전자통신연구원 복수의 영상 동기화 방법 및 그 장치
KR102183473B1 (ko) * 2020-07-22 2020-11-27 (주)대교씨엔에스 영상 모니터링 방법 및 장치
KR102251781B1 (ko) * 2020-12-30 2021-05-14 (주)라이언로켓 인공신경망을 이용한 입모양 합성 장치 및 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101887400B1 (ko) * 2017-12-27 2018-08-10 이명섭 동기화를 이용한 방송촬영원본 영상 편집 서비스 제공 방법
KR20210089038A (ko) * 2020-01-07 2021-07-15 삼성전자주식회사 전자 장치 및 그 제어 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102129126B1 (ko) * 2017-04-04 2020-07-01 한국전자통신연구원 복수의 영상 동기화 방법 및 그 장치
KR102183473B1 (ko) * 2020-07-22 2020-11-27 (주)대교씨엔에스 영상 모니터링 방법 및 장치
KR102251781B1 (ko) * 2020-12-30 2021-05-14 (주)라이언로켓 인공신경망을 이용한 입모양 합성 장치 및 방법

Also Published As

Publication number Publication date
WO2023058812A1 (ko) 2023-04-13

Similar Documents

Publication Publication Date Title
JP7408048B2 (ja) 人工知能に基づくアニメキャラクター駆動方法及び関連装置
CN107423398B (zh) 交互方法、装置、存储介质和计算机设备
EP3665676B1 (en) Speaking classification using audio-visual data
TWI766499B (zh) 互動物件的驅動方法、裝置、設備以及儲存媒體
KR102360839B1 (ko) 머신 러닝 기반의 발화 동영상 생성 방법 및 장치
US11514634B2 (en) Personalized speech-to-video with three-dimensional (3D) skeleton regularization and expressive body poses
WO2021196646A1 (zh) 交互对象的驱动方法、装置、设备以及存储介质
US11847726B2 (en) Method for outputting blend shape value, storage medium, and electronic device
CN111459452B (zh) 交互对象的驱动方法、装置、设备以及存储介质
WO2021196644A1 (zh) 交互对象的驱动方法、装置、设备以及存储介质
JP6567609B2 (ja) 音声と仮想動作を同期させる方法、システムとロボット本体
WO2023284435A1 (zh) 生成动画的方法及装置
CN113744286A (zh) 虚拟头发生成方法及装置、计算机可读介质和电子设备
KR20230025824A (ko) 랜드마크를 함께 생성하는 발화 동영상 생성 장치 및 방법
CN114610158A (zh) 数据处理方法及装置、电子设备、存储介质
CN113314104A (zh) 交互对象驱动和音素处理方法、装置、设备以及存储介质
KR102514580B1 (ko) 영상 전환 방법, 장치 및 컴퓨터 프로그램
US20230023102A1 (en) Apparatus, method, and computer program for providing lip-sync video and apparatus, method, and computer program for displaying lip-sync video
CN115578494A (zh) 中间帧的生成方法、装置、设备及存储介质
KR102563348B1 (ko) 립싱크 영상 제공 장치, 방법 및 컴퓨터 프로그램과 립싱크 영상 표시 장치, 방법 및 컴퓨터 프로그램
KR102558530B1 (ko) 립싱크 영상 생성을 위한 인공 신경망 학습 방법 및 컴퓨터 프로그램
JP2023120130A (ja) 抽出質問応答を利用する会話型aiプラットフォーム
CN116863042A (zh) 虚拟对象的动作生成方法及动作生成模型的训练方法
CN113379879A (zh) 交互方法、装置、设备、存储介质以及计算机程序产品
KR102604672B1 (ko) 영상 촬영 가이드 제공 방법, 장치 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant