KR20220061763A - 화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법 - Google Patents

화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법 Download PDF

Info

Publication number
KR20220061763A
KR20220061763A KR1020200148119A KR20200148119A KR20220061763A KR 20220061763 A KR20220061763 A KR 20220061763A KR 1020200148119 A KR1020200148119 A KR 1020200148119A KR 20200148119 A KR20200148119 A KR 20200148119A KR 20220061763 A KR20220061763 A KR 20220061763A
Authority
KR
South Korea
Prior art keywords
information
content
presenter
image
electronic device
Prior art date
Application number
KR1020200148119A
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 KR1020200148119A priority Critical patent/KR20220061763A/ko
Priority to PCT/KR2021/016065 priority patent/WO2022098168A1/ko
Publication of KR20220061763A publication Critical patent/KR20220061763A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • H04N7/15Conference systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42203Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS] sound input device, e.g. microphone
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • 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/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 문서에 개시된 다양한 실시예들에 따른 화상 회의 서비스를 제공하는 전자 장치는, 통신 모듈, 입력 모듈, 디스플레이, 메모리, 및 상기 통신 모듈, 상기 입력 모듈, 상기 디스플레이 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 실행 중인 컨텐츠 정보를 분석하여 컨텐츠 분석 정보를 생성하고, 수신한 발표자 영상 정보를 분석하여 발표자 영상 분석 정보를 생성하고, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 정보에 대한 컨텐츠 실행 화면을 복수개의 영역으로 구분하고, 상기 컨텐츠 분석 정보 및 상기 발표자 영상 분석 정보에 기초하여 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고, 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 배치하여 합성하도록 설정될 수 있다.

Description

화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법{ELECTRONIC DEVICE PROVIDING VIDEO CONFERENCE AND METHOD FOR PROVIDING VIDEO CONFERENCE THEREOF}
본 문서의 다양한 실시예들은 전자 장치에 관한 것이며, 예를 들어 화상 회의를 제공하는 전자 장치 및 화상 회의 제공 방법에 관한 것이다.
최근 언텍트 업무의 비중 증가와 고속 무선 통신망의 발달로 원격 화상 회의 기술의 사용 범위가 증가하였다. 원격 화상 회의 관련 기술들은 사용자의 영상 및 음성 정보를 선명하고 빠르게 회의 참석자들에게 전달하는 것을 목표로 하고 있으며, 서비스에 따라 수십~수백의 참여자가 참여할 수 있는 시스템을 목표로 한다. 또한 단순히 카메라로 입력되는 영상을 전송하는 것에 그치지 않고 동영상, 자료와 같은 다양한 부가 컨텐츠를 공유하는 기능을 제공하고 있다.
현재의 화상 회의를 제공하는 서비스들은 발표자의 영상화면과 발표자가 공유하는 발표자료(컨텐츠) 화면 혹은 파일에 대한 영상을 독립적으로 제공하며, 이는 사용자의 선택에 따라서 원하는 영상을 선택적으로 시청하도록 하고 있다. 다만 이중 발표자의 영상과 발표자의 컨텐츠를 창 분할하여 한 화면에 보여주는 방식을 취하는 서비스도 존재한다. 이 경우 발표자의 영상이 컨텐츠의 일부를 가리게 될 수 있고, 해당 위치의 부분을 보고자 하는 경우 발표자 영상의 위치를 수시로 변경해야 하는 경우가 발생할 수 있다. 이러한 사용자의 개입은 발표자 또는 시청자의 집중도를 떨어뜨릴 수 있다.
또한 발표자료 및 발표자가 동시에 동일한 영상 내에 등장하여 발표자가 오프라인 상에서 컨텐츠를 배경으로 하여 발표하는 모습을 영상으로 촬영하고, 이를 시청자에게 전송하는 경우도 생각해 볼 수 있다. 이 경우에는 전체 영상에서 컨텐츠 부분 또는 발표자 부분 중 어느 하나가 아웃 포커스 되거나, 발표자가 지목하거나 설명하고 있는 컨텐츠의 부분이 어디인지 파악하는 것이 어려울 수 있다. 이 경우에도 시청자의 집중도를 떨어뜨릴 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 화상 회의 서비스를 제공하는 전자 장치는, 통신 모듈, 입력 모듈, 디스플레이, 메모리, 및 상기 통신 모듈, 상기 입력 모듈, 상기 디스플레이 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 실행 중인 컨텐츠 정보를 분석하여 컨텐츠 분석 정보를 생성하고, 수신한 발표자 영상 정보를 분석하여 발표자 영상 분석 정보를 생성하고, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 정보에 대한 컨텐츠 실행 화면을 복수개의 영역으로 구분하고, 상기 컨텐츠 분석 정보 및 상기 발표자 영상 분석 정보에 기초하여 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고, 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 배치하여 합성하도록 설정될 수 있다.
본 문서에 개시된 다양한 실시예에 따른 화상 회의 서비스를 제공하는 방법은, 실행 중인 컨텐츠 정보를 분석하여 컨텐츠 분석 정보를 생성하는 단계, 수신한 발표자 영상 정보를 분석하여 발표자 영상 분석 정보를 생성하는 단계, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 정보에 대한 컨텐츠 실행 화면을 복수개의 영역으로 구분하는 단계, 상기 컨텐츠 분석 정보 및 상기 발표자 영상 분석 정보에 기초하여 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하는 단계, 및 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하는 단계를 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 서버 장치는, 통신 인터페이스, 메모리, 및 통신 인터페이스 및 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 외부 전자 장치로부터 발표자 영상 정보, 발표자 영상 분석 정보, 컨텐츠 실행 화면 정보 및 컨텐츠 분석 정보를 수신하고, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 실행 화면을 복수개의 영역으로 구분하고, 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고, 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하도록 설정될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는, 통신 모듈, 입력 모듈, 디스플레이, 메모리, 및 상기 통신 모듈, 상기 입력 모듈, 상기 디스플레이 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 영상 정보를 수신하고, 상기 영상 정보를 분석하여 발표자 영상 정보 및 컨텐츠 영상 정보를 추출하고, 상기 추출된 컨텐츠 영상 정보를 분석하여 컨텐츠 분석 정보를 생성하고, 상기 발표자 영상을 분석하여 발표자 영상 분석 정보를 생성하고, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 영상 정보를 복수개의 영역으로 구분하고, 상기 컨텐츠 영상 정보의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고, 상기 발표자 영상 정보를 상기 컨텐츠 영상 정보의 영역 중 선택된 영역에 합성하도록 설정될 수 있다.
다양한 실시예들에 따르면, 화상 회의 참여자 간에 컨텐츠 및 발표자 영상을 동적으로 배치하여 합성한 영상을 제공하여, 참여자에게 발표의 흐름에 따른 최적화된 화면을 제공할 수 있고, 화상 회의에 참여하는 참여자 간의 효율적인 정보 공유 및 의견 교환이 가능하다.
도 1은 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 2는 다양한 실시예들에 따른 화상 회의를 제공하기 위한 다양한 장치들을 도시한 것이다.
도 3은 다양한 실시예들에 따른 전자 장치의 블록도이다.
도 4는 다양한 실시예들에 따라 화상 회의를 제공하는 실시예를 도시한 것이다.
도 5는 다양한 실시예들에 따른 전자 장치의 화상 회의를 제공하기 위한 블록도이다.
도 6은 다양한 실시예들에 따른 전자 장치가 화상 회의를 제공하는 방법의 흐름도이다.
도 7은 다양한 실시예들에 따른 전자 장치 및 서버가 화상회의를 제공하는 방법의 흐름도이다.
도 8은 다양한 실시예들에 따라 발표자 영상을 분석하는 실시예를 도시한 것이다.
도 9는 다양한 실시예들에 따른 전자 장치가 발표자 영상을 분석하는 방법의 흐름도이다.
도 10, 도 11, 도 12 및 도 13은 다양한 실시예들에 따라 컨텐츠를 분석하는 실시예를 도시한 것이다.
도 14는 다양한 실시예들에 따른 전자 장치가 컨텐츠를 분석하는 방법의 흐름도이다.
도 15는 다양한 실시예들에 따라 컨텐츠 화면의 영역을 구분하고, 발표자 영상을 동적으로 배치하는 실시예를 도시한 것이다.
도 16은 다양한 실시예들에 따른 전자 장치가 컨텐츠 화면의 영역을 구분하고, 발표자 영상을 동적으로 배치하는 방법의 흐름도이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
도 2는 다양한 실시예들에 따른 화상 회의를 제공하기 위한 다양한 장치들을 도시한 것이다.
다양한 실시예들에 따르면, 전자 장치(210)(예: 도 1의 전자 장치(101))는, 발표자 영상 정보 및 컨텐츠 정보를 이용하여, 컨텐츠 정보에 발표자 영상을 합성하고, 출력할 수 있다. 전자 장치(210)는 서버 장치(220)로 합성된 영상을 전송할 수 있다. 상기 발표자 영상 정보는 이미지, 동영상 및/또는 음성이 포함될 수 있다. 상기 컨텐츠 정보는 발표를 위한 시각 또는 시청각 자료일 수 있고, 다양한 멀티미디어 데이터를 포함할 수 있다. 예컨대, 컨텐츠 정보는 텍스트, 이미지, 동영상, 전자 장치(210)에서 실행 가능한 어플리케이션으로써 실행되거나 전자 장치(210)의 디스플레이 상에 출력될 수 있는 데이터(예: 파워포인트(Power Point TM) 데이터) 및 이 가운데 적어도 일부의 조합을 포함할 수 있다. 컨텐츠 정보와 발표자 영상 정보가 합성된 정보는 영상 정보일 수 있고, 컨텐츠 화면과 발표자 영상 정보가 합성된 영상일 수 있다.
다양한 실시예들에 따르면, 전자 장치(210)는 발표자 영상 정보를 분석하고, 발표자 영상 분석 정보를 생성할 수 있다. 전자 장치(210)는 발표자 영상 분석 정보를 서버 장치(220)로 전송할 수 있다. 다양한 실시예들에 따르면, 전자 장치(210)는 컨텐츠 정보를 분석하고, 컨텐츠 분석 정보를 생성할 수 있다. 전자 장치(210)는 컨텐츠 분석 정보를 서버 장치(220)로 전송할 수 있다.
도 2를 참조하면, 전자 장치는 스마트 폰, 태블릿 PC(personal computer) 와 같은 전자 장치로 구현될 수 있으나, 이에 한정되지 않고 통신 기능(예: 유선 통신 및/또는 무선 통신)을 구비하는 다양한 종류의 장치들이 본 문서의 다양한 실시예들에 따른 전자 장치(210)에 해당될 수 있다. 다양한 실시예들에 따르면, 전자 장치(210)는 유선 및/또는 무선 네트워크 통신(예: 도 1의 제 2 네트워크(199))을 이용해 서버 장치(220)와 통신할 수 있다. 유선 및/또는 무선 네트워크 통신은 원거리 통신 네트워크(예: 셀룰러 네트워크, LAN)를 이용한 것일 수 있다.
다양한 실시예들에 따르면, 서버 장치(220)는 발표자 영상 정보 및 컨텐츠 정보를 이용하여, 컨텐츠 정보에 발표자 영상을 합성하고, 합성된 영상을 다른 장치(예: 전자 장치(210) 및/또는 외부 전자 장치(230))로 전송할 수 있다. 다양한 실시예들에 따르면, 서버 장치(220)는 전자 장치(210)로부터 수신한 발표자 영상 정보를 분석하고, 발표자 영상 분석 정보를 생성할 수 있다. 다양한 실시예들에 따르면 서버 장치(220)는 전자 장치(210)가 생성한 발표자 영상 분석 정보를 전자 장치(210)로부터 수신할 수 있다. 다양한 실시예들에 따르면, 서버 장치(220)는 컨텐츠 정보를 분석하고, 컨텐츠 분석 정보를 생성할 수 있다. 다양한 실시예들에 따르면 서버 장치(220)는 전자 장치(210)가 생성한 컨텐츠 분석 정보를 전자 장치(210)로부터 수신할 수 있다. 서버 장치(220)는 전자 장치(210)로부터 수신한 발표자 영상, 또는 컨텐츠 정보를, 또한 직접 생성하거나 전자 장치(210)로부터 수신한 발표자 영상 분석 정보 및 컨텐츠 분석 정보를 이용하여 컨텐츠 정보에 발표자 영상을 합성할 수 있다. 컨텐츠 정보와 발표자 영상 정보가 합성된 정보는 영상 정보일 수 있고, 컨텐츠 화면과 발표자 영상 정보가 합성된 영상일 수 있다. 서버 장치(220)는 합성된 영상을 전자 장치(210) 및/또는 외부 전자 장치(230)로 전송할 수 있다. 다양한 실시예들에 따르면 서버 장치(220)는 유선 및/또는 무선 네트워크 통신을 이용해 전자 장치(210) 및/또는 외부 전자 장치(230)와 통신할 수 있다. 유선 및/또는 무선 네트워크 통신은 원거리 통신 네트워크(예: 셀룰러 네트워크, LAN, 인터넷)를 이용한 것일 수 있다.
도 3은 다양한 실시예들에 따른 전자 장치의 블록도이다.
도 3을 참조하면, 다양한 실시예들에 따른 전자 장치(300)는 통신 모듈(310), 입력 모듈(320), 메모리(330), 출력 모듈(340) 및 프로세서(350)를 포함할 수 있고, 도시된 구성 중 적어도 일부가 생략 또는 치환되더라도 본 문서의 다양한 실시예들을 구현함에는 지장이 없을 것이다. 전자 장치(300)는 도 1의 전자 장치(101) 및/또는 도 2의 전자 장치(210)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다.
다양한 실시예들에 따르면, 통신 모듈(310)은 유선 및/또는 무선 네트워크 통신(예: 도 1의 제 2 네트워크(199))을 이용해 서버 장치(220)와 통신할 수 있다. 유선 및/또는 무선 네트워크 통신은 원거리 통신 네트워크(예: 셀룰러 네트워크, LAN)를 이용한 것일 수 있다. 통신 모듈(310)에 의해 지원되는 원거리 통신에는 제한이 없고, 예를 들어, 셀룰러 네트워크(예: 5G, LTE-A), LAN, 인터넷과 같은 다양한 통신 방식을 지원할 수 있다. 다양한 실시예들에 따르면, 통신 모듈(310)은 발표자 영상 정보 및/또는 컨텐츠 정보를 외부 장치(예: 도 2의 서버 장치(220))로부터 수신할 수 있고, 발표자 영상 정보와 컨텐츠 정보를 합성하기 위한 각종 데이터(예: 발표자 영상 분석 정보, 컨텐츠 분석 정보)를 서버 장치(220)로 전송할 수 있다. 다양한 실시예에 따르면, 통신 모듈(310)은 발표자 영상 정보 및/또는 컨텐츠 정보를 외부 장치(예: 도 2의 서버 장치(220))로부터 수신할 수 있고, 발표자 영상 정보 및 컨텐츠 정보에 대한 분석에 기반하여, 발표자 영상 정보와 컨텐츠 정보가 합성된 영상을 서버 장치(220)로 전송할 수도 있다.
다양한 실시예들에 따르면, 입력 모듈(320)은 전자 장치(300)의 구성요소(예: 프로세서(350))에 의해 사용될 명령 또는 데이터를 전자 장치(300)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(320)은, 예를 들면, 카메라, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다. 입력 모듈(320)은 도 1의 입력 모듈(150) 및/또는 도 1의 카메라 모듈(180)의 구성 및/또는 기능의 적어도 일부를 포함할 수 있다. 다양한 실시예들에 따르면, 입력 모듈(320)은 발표자를 촬영하여, 발표자 영상 정보를 전자 장치(300)의 다른 구성요소(예: 프로세서(350))로 전송할 수 있고, 사용자의 컨텐츠에 대한 입력(예: 클릭, 드래깅, 포인팅)을 수신할 수 있다.
다양한 실시예들에 따르면, 메모리(330)는 디지털 데이터들을 일시적 또는 영구적으로 저장하기 위한 것으로서, 도 1의 메모리(130)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 또한, 메모리(330)는 도 1의 프로그램(140) 중 적어도 일부를 저장할 수 있다. 메모리(330)는 프로세서(350)에 의해 수행될 수 있는 다양한 인스트럭션(instruction)들을 저장할 수 있다. 이와 같은 인스트럭션들은 프로세서(350)에 의하여 인식되고 실행될 수 있는 논리 연산, 데이터 입출력과 같은 제어 명령을 포함할 수 있다. 메모리(330)가 저장할 수 있는 데이터의 종류 및/또는 양에 대하여는 한정됨이 없을 것이나, 본 문서에서는 다양한 실시예들에 따른 화상 회의를 제공하는 방법 및 그 방법을 수행하는 프로세서(350)의 동작과 관련된 메모리의 구성 및 기능에 대하여만 설명하기로 한다.
다양한 실시예들에 따르면, 출력 모듈(340)은 전자 장치(300)의 정보를 외부에 제공할 수 있다. 출력 모듈(340)은 발표자 영상 정보, 컨텐츠 정보 및/또는 발표자 영상 정보와 컨텐츠 정보가 합성된 영상을 외부로 출력할 수 있고, 예를 들면, 디스플레이, 및/또는 스피커를 포함할 수 있다. 출력 모듈(340)은 도 1의 디스플레이 모듈(160), 도 1의 음향 출력 모듈(155) 및/또는 오디오 모듈(170)의 구성 및/또는 기능의 적어도 일부를 포함할 수 있다.
다양한 실시예들에 따르면, 프로세서(350)는 전자 장치(300)의 각 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터를 처리할 수 있다. 프로세서(350)는 도 1의 프로세서(120)의 구성 및/또는 기능 중 적어도 일부를 포함할 수 있다. 프로세서(350)는 통신 모듈(310), 입력 모듈(320), 메모리(330) 및 출력 모듈(340)와 같은 전자 장치(300)의 구성요소와 작동적(operatively), 전기적(electrically) 및/또는 기능적(functionally)으로 연결될 수 있다. 다양한 실시예에 따른 프로세서(350)의 각 동작은 실시간으로 이루어질 수 있다. 예를 들면, 전자 장치(300)의 프로세서(350)가 화상 회의를 제공하기 위한 각 동작을 수행하는 시간은 실제 회의 진행과 실질적으로 동시에 또는 일정 시간 범위 내에 이루어질 수 있다.
다양한 실시예들에 따르면, 프로세서(350)는 영상 정보를 분석할 수 있다. 영상 정보는, 예를 들면, 발표자 영상 정보 및/또는 컨텐츠 정보에 해당하는 영상 정보일 수 있다. 영상 정보는 프로세서(350)가 촬영한 데이터 또는 외부 전자 장치로부터 수신한 영상 정보일 수 있다. 예를 들면, 영상 정보는, 프로세서(350)가 통신 모듈(310)을 이용하여 외부 장치(예: 도 2의 서버 장치(220))로부터 수신한 정보일 수 있고, 또는, 입력 모듈(320)을 이용하여 촬영한 데이터일 수 있다. 다양한 실시예들에 따르면, 프로세서(350)는 발표자 영상 분석에 인공지능 알고리즘을 이용할 수 있고, 예를 들면, 신경망 네트워크(예: ANN(artificial neural network), CNN(convolutional neural network))를 이용하여 학습된 알고리즘을 미리 저장하거나, 서버로부터 알고리즘 데이터를 수신할 수도 있다.
다양한 실시예들에 따르면, 프로세서(350)는 영상 정보에서 이미지를 추출하고, 이미지 분석을 수행할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 영상 정보에 포함된 이미지를 분석하여 이미지에 포함된 적어도 하나의 오브젝트를 확인할 수 있다. 영상 정보의 이미지에 포함된 적어도 하나의 오브젝트는, 예를 들면, 사람(예: 발표자) 이미지, 발표 자료로서 지정된 이미지, 텍스트와 같은 시각적으로 식별 가능한 객체를 포함할 수 있다. 프로세서(350)는 이미지에 포함된 적어도 하나의 오브젝트를 카테고리 별로 분류할 수 있고, 해당 분류에 기초하여 각 오브젝트에 대한 분석을 수행하거나 지정된 동작을 실행하기 위한 판단을 수행할 수 있다. 예를 들면, 프로세서(350)는 영상 내에서 인식된 오브젝트를 사람, 이미지, 텍스트, 스크린, 칠판과 같은 오브젝트 속성 별로 분류할 수 있다. 프로세서(350)는 분류된 오브젝트를 선별할 수 있다. 선별하는 동작은, 영상 분석의 복잡도를 낮추기 위한 동작일 수 있다. 예를 들면, 프로세서(350)는 분류된 지정된 오브젝트의 크기, 출현 빈도를 기준으로 분석에 필요한 오브젝트만을 선별할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 영상 정보를 분석하고, 동일 영상 내에 발표자 및 컨텐츠가 동시에 존재하는지 판단할 수 있다. 예를 들면, 동일 영상 내에 발표자와 컨텐츠가 존재하는 경우는 해당 영상 정보가 발표자가 오프라인 상에서 컨텐츠를 배경으로 하여 발표를 진행하는 영상을 촬영한 정보일 수 있다. 프로세서(350)는 수신 또는 촬영 중인 영상 정보의 분석을 통하여 적어도 하나의 오브젝트를 인식하고, 인식한 적어도 하나의 오브젝트를 분류할 수 있고, 오브젝트 분류에 기초하여 영상 정보가 어떤 영상 정보인지 판단할 수 있다. 예를 들면, 영상 정보 상에서 인식된 주된 오브젝트가 사람인 경우, 발표자 영상으로 인식할 수 있고, 사람과 발표 자료(예: 컨텐츠 정보)에 분류될 수 있는 지정된 오브젝트가 함께 인식되는 경우 해당 영상을 발표자를 컨텐츠를 배경으로 하여 촬영한 영상임을 판단할 수 있다.
다양한 실시예들에 따르면, 프로세서(350)는 발표자와 컨텐츠가 동일한 영상 내에 존재한다고 판단하는 경우, 영상 정보 내에서 발표자 영상을 따로 분리하여 추출할 수 있다. 프로세서(350)는 영상 추출 기술을 이용하여 발표자로 인식되는 부분의 이미지 경계를 기준으로 하여 발표자의 영상 정보를 추출할 수 있고, 추출된 발표자 영상 정보를 이용하여 발표자 영상 정보를 분석할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 영상 내에 존재하는 컨텐츠를 분리할 수 있다. 예를 들면, 영상 내에 존재하는 컨텐츠는 스크린, 칠판과 같은 지정된 평면 물체일 수 있고, 프로세서(350)는 영상 정보 분석을 통해 지정된 시각적 오브젝트로 인식할 수 있다. 프로세서(350)는 오브젝트 분류를 통하여 컨텐츠로 인식된 하나 이상의 오브젝트를 분리하여 이미지로 추출하여 하나의 컨텐츠 이미지로서 생성할 수 있다. 프로세서(350)는 영상 정보에서 추출된 컨텐츠 이미지를 컨텐츠 정보로 생성하여 추출할 수 있다.
다양한 실시예들에 따르면, 프로세서(350)는 발표자 영상 정보를 분석할 수 있다. 발표자 영상 정보는, 예를 들면, 프로세서(350)가 촬영 중인 영상 데이터 또는 외부 전자 장치로부터 수신 중인 영상 정보일 수 있다. 예를 들면, 발표자 영상 정보는, 프로세서(350)가 통신 모듈(310)을 이용하여 외부 장치(예: 도 2의 서버 장치(220))로부터 수신하는 정보일 수 있고, 또는, 입력 모듈(320)을 이용하여 촬영하는 데이터일 수 있다. 또는, 발표자 영상 정보는 프로세서(350)가 다른 영상 정보로부터 발표자 영상 정보만을 추출한 데이터일 수 있다. 프로세서(350)는 발표자 영상 정보 내에서 이미지 오브젝트를 인식하고, 분류하고, 선별할 수 있다. 발표자 영상 정보의 분석은, 상기한 영상 정보 분석과 동일 또는 유사한 방법을 통하여 이루어질 수 있다. 프로세서(350)는 발표자 영상 정보 내에서 사람으로 분류될 수 있는 오브젝트가 인식되면, 제스처 정보 및/또는 얼굴의 특징점을 분석할 수 있다. 예를 들면, 프로세서(350)는 인식된 이미지 오브젝트의 변화를 인지하고, 이를 기 저장된 데이터, 서버로부터 수신한 데이터 또는 알고리즘을 이용하여 제스처 정보를 분석할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 발표자 영상 정보 분석을 통해 발표자의 제스처를 분석하고, 제스처 정보를 생성할 수 있다. 다양한 실시예들에 따르면, 프로세서(350)는 영상 내에 포함되는 얼굴의 특징점을 분석할 수 있고, 이를 통하여 발표자의 표정 정보, 발표자의 시선 정보 및/또는 발표자가 발화 중인지 여부를 식별할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 인식한 오브젝트의 이미지 경계를 계산할 수 있다. 프로세서(350)는 이미지 오브젝트의 픽셀 정보를 이용하여 이미지의 경계를 계산하고, 이미지 경계를 기준으로 각 오브젝트의 위치 정보를 추출할 수 있고, 이미지 경계 내의 픽셀 정보만을 영상 정보로서 추출하거나 발표자 영상 정보를 편집할 수 있다. 예를 들면, 발표자로 인식된 이미지 오브젝트가 형성하는 경계를 기준으로, 발표자 영상 내에서 발표자 형상의 이미지 부분만을 잘라내어 발표자 영상 정보를 편집할 수 있다. 다양한 실시예들에 따르면, 프로세서(350)는 발표자 영상 분석을 통해 발표자의 발화 여부 정보, 제스처 정보, 시선 정보, 이미지 경계 정보, 이미지 경계를 기준으로 편집된 발표자 영상 정보를 포함하는 발표자 영상 분석 정보를 생성할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 컨텐츠 정보를 분석할 수 있다. 컨텐츠 정보는, 발표자가 발표 자료로 이용할 수 있는 멀티미디어 데이터일 수 있다. 예를 들어, 컨텐츠 정보는 텍스트, 이미지, 동영상, 전자 장치(210)에서 실행 가능한 어플리케이션으로써 실행되거나 전자 장치(210)의 디스플레이 상에 출력될 수 있는 데이터(예: 파워포인트(Power Point TM) 데이터) 및 이 가운데 적어도 일부의 조합을 포함할 수 있다. 컨텐츠 정보는, 프로세서(350)가 실행하거나 표시하는 데이터, 또는 외부 전자 장치로부터 수신한 멀티미디어 데이터 정보일 수 있다. 컨텐츠 정보는, 프로세서(350)가 통신 모듈(310)을 이용하여 외부 장치(예: 도 2의 서버 장치(220))로부터 수신한 정보일 수 있고, 또는, 프로세서(350)에 의해 실행되거나, 실행되어 출력 모듈(350)에 의하여 출력되는 데이터일 수 있다. 또는, 컨텐츠 정보는 프로세서(350)가 다른 영상 정보로부터 컨텐츠로 식별되는 이미지 영역만을 추출한 이미지 데이터일 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 컨텐츠 정보의 타입을 결정할 수 있다. 예를 들면, 전자 장치(300)에서 컨텐츠 정보를 실행하거나 표시하기 위하여 필요한 어플리케이션의 종류를 확인할 수 있다. 또는 이미 실행 중인 컨텐츠 정보를 표시하기 위한 어플리케이션의 종류를 통해 컨텐츠 정보의 타입을 결정할 수 있다. 컨텐츠 정보의 타입은, 동영상, 이미지, 텍스트 또는 그들의 조합으로 이루어진 경우와 그 외의 어플리케이션으로 나누어질 수 있다. 결정된 컨텐츠 정보의 타입에 기초하여 컨텐츠 분석 방법이 상이할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 컨텐츠 정보가 텍스트, 이미지, 동영상 또는 그들의 조합으로 이루어진 경우, 텍스트, 이미지 및/또는 영상을 분석할 수 있다. 예를 들면, 컨텐츠 정보는 동일한 출력 화면 내에 복수개의 멀티미디어 컨텐츠(예: 이미지, 텍스트)를 포함하는 형태일 수 있다. 이 때 프로세서(350)는 각 컨텐츠 별로 컨텐츠 오브젝트로서 인식할 수 있다. 프로세서(350)는 인식한 컨텐츠 오브젝트를 각각 확인할 수 있고, 확인된 오브젝트를 분류 및 선별할 수 있다. 예를 들어, 확인된 컨텐츠 오브젝트는 각각 이미지, 텍스트, 영상과 같이 컨텐츠의 타입 별로 분류될 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 컨텐츠 정보가 상기한 타입 이외의 어플리케이션으로써 실행 가능한 데이터에 해당하는 경우, 어플리케이션의 실행 데이터 및 해당 어플리케이션에 대한 입력 데이터를 분석할 수 있다. 예를 들어, 프로세서(350)는 어플리케이션의 UI(user interface)를 분석할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 시뮬레이션 기법을 이용하여 해당 어플리케이션의 UI 페이지 이동에 대한 시뮬레이션을 기초로 하여 각 UI 페이지 및/또는 팝업 윈도우와 같은 UI 레이아웃 상 페이지, 윈도우 별 연결 정보를 확인할 수 있고, 또는, 이러한 정보는 전자 장치의 다른 구성요소(예: 메모리(330))에 미리 저장되어 있을 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 해당 어플리케이션의 UI 페이지 및/또는 윈도우 별로 각 이동 가능한 페이지 및/또는 윈도우를 조합하여 UI 페이지 간 매핑 정보를 획득할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 동일한 UI 페이지 내에서 페이지 이동, 팝업 윈도우 생성을 트리거링(triggering)하는 UI 구성요소(예: UI 오브젝트)에 대한 분석을 수행할 수 있다. 이는 동일한 UI 페이지 내의 UI 구성요소 각각이 포함하는 컨트롤 정보를 읽어 들임으로써 가능할 수 있다. 동일한 페이지 내의 모든 UI 컨트롤 정보를 조합하여 현재의 UI 페이지를 확인할 수 있다. 이러한 컨트롤 정보 및 그 조합은 프로세서(350)가 실시간으로 분석하는 것도 가능하고, 전자 장치(300)에 미리 저장되어 있는 정보일 수 있다. 또한 프로세서(350)는 UI 페이지 내에서 식별되는 오브젝트에 대한 정보를 확인할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 각 컨텐츠 오브젝트가 분류된 타입 별로 이미지 분석, 텍스트 분석(예: OCR(optical character recognition)) 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트에 포함될 수 있는 의미 단위를 분석하거나, 연관된 텍스트 정보를 추출할 수 있다. 프로세서(350)는 이미지 분석, 텍스트 분석 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트의 내용 정보를 추출할 수 있다. 또한, 컨텐츠 오브젝트가 화면에 표시되는 위치, 크기를 확인하고 크기 및 위치에 대한 정보를 추출할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 확인된 컨텐츠 오브젝트에서 추출된 의미 단위 정보, 연관된 텍스트 정보 및/또는 위치 정보를 이용하여 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 생성할 수 있다. 논리적 연결 링크란, 예를 들면, 각 컨텐츠 오브젝트 간 컨텍스트(context) 정보를 의미할 수 있고, 논리적으로 예상되는 발표의 내용적 경로를 의미할 수 있다. 다양한 실시예에 따르면, 컨텍스트 정보 또는 논리적 연결 링크 정보는, 각 컨텐츠 오브젝트에서 추출된 정보를 이용하여 각 컨텐츠 오브젝트가 포함하는 정보의 유사도, 거리의 근접도를 이용하여 서로 관련성이 높은 컨텐츠 오브젝트의 순서 및/또는 연결 링크를 의미할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 현재 발표자의 발표가 지정된 오브젝트와 관련이 있다고 판단할 경우, 해당 발표 내용 직후에 진행될 발표의 내용과 가장 관련성 높은 오브젝트는 논리적 연결 링크 정보 상에서 현재 오브젝트와 가장 가까운 링크에 존재하는 오브젝트라고 예상할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 컨텐츠 오브젝트의 위치 정보, 내용 정보, 페이지 정보, 페이지 매핑 정보 중 적어도 하나를 포함하는 컨텐츠 분석 정보를 생성할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 서버 장치(예: 도 2의 220)로 컨텐츠 분석 정보를 전송할 수 있다.
다양한 실시예에 따르면, 프로세서(350)는 컨텐츠 정보 및 발표자 영상 정보를 합성할 수 있다. 프로세서(350)는 컨텐츠 정보 및 발표자 영상 정보를 합성하여 합성된 영상을 생성할 수 있다. 다양한 실시예에 따르면, 합성할 컨텐츠 정보는 컨텐츠 정보가 실행 또는 표시되는 화면을 의미할 수 있다.
프로세서(350)는 컨텐츠 분석 정보에 기초하여 컨텐츠 화면을 하나 이상의 영역으로 구분할 수 있다. 컨텐츠 화면은 컨텐츠 정보를 표시하는 지정된 화면의 전부 또는 일부 영역일 수 있다. 프로세서(350)는 컨텐츠 정보 내에서 인식된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 컨텐츠 화면의 영역을 구분할 수 있다. 다양한 실시예에 따르면 프로세서(350)는 컨텐츠 분석 정보의 레이아웃에 관한 정보를 이용하여 지정된 UI 오브젝트 별로 영역을 구분할 수 도 있다. 다양한 실시예에 따르면, 프로세서(350)는 컨텐츠 오브젝트의 내용 정보에 기초하여, 관련된 컨텐츠 오브젝트를 포함하는 지정된 일부 영역을 하나의 영역으로 구분할 수도 있다. 다양한 실시예에 따르면, 프로세서(350)는 구분된 컨텐츠 화면의 각 영역 중 적어도 하나의 영역을 발표자 영상을 배치할 영역으로서 선택할 수 있다. 다양한 실시예에 따르면, 배치할 영역은 컨텐츠 정보에 대한 사용자(예: 발표자)의 입력 정보, 발표자의 제스처 정보 및/또는 발표자의 음성 정보를 기초로 선택될 수 있다.
다양한 실시예에 따르면, 프로세서(350)는, 발표자의 음성 정보를 수신할 수 있다. 예를 들면, 발표자 영상 정보에 포함된 오디오 데이터를 발표자 음성 정보로서 수신할 수 있다. 또는, 입력 모듈(320)의 마이크를 이용하여 발표자가 입력한 음성 정보를 수신할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 발표자 음성 정보를 분석하여 발표자의 현재 발표 내용을 파악할 수 있다. 예를 들면, 프로세서(350)는 발표자 음성 정보를 인식하고, 형태소 또는 의미 단위 별로 분석할 수 있고, 또는 발표자 음성 정보를 텍스트화 하여 텍스트 정보를 이용하여 내용 분석을 수행할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 발표자 음성 정보를 분석하고, 현재 진행 중인 발표 내용에 관한 정보를 이용하여 발표자 영상 정보를 병합할, 컨텐츠 화면 상에서 구분된 지정된 영역을 선택할 수 있다. 예를 들면, 컨텐츠 정보 내에 포함된 컨텐츠 오브젝트를 분석한 결과인 컨텐츠 분석 정보에는, 컨텐츠 오브젝트의 내용 정보가 포함될 수 있고, 프로세서(350)는 발표자 음성 정보와 컨텐츠 오브젝트 내용 정보를 비교하여 현재 진행 중인 발표 내용과 가장 관련된 컨텐츠 오브젝트를 검출할 수 있다. 이 경우 프로세서(350)는 컨텐츠 화면 중 구분된 복수개의 영역 중, 해당 컨텐츠 오브젝트를 가리지 않는 영역에 발표자 영상을 배치할 수 있고, 및/또는 해당 컨텐츠 오브젝트와 인접한 영역에 발표자 영상을 배치할 수 있다.
다양한 실시예에 따르면, 컨텐츠 정보에 대한 입력 정보는 입력 모듈(320)로부터 수신한 사용자의 입력일 수 있다. 예를 들면, 컨텐츠 입력 정보는 마우스 조작 입력 정보, 키보드 조작 입력 정보와 같이, 컨텐츠 정보에 대한 입력 정보일 수 있다. 컨텐츠 상에 마우스 이동에 대한 조작 결과로, 지정된 위치에 마우스 포인터가 위치하게 되는 경우, 프로세서(350)는 이를 인식하고, 해당 위치의 컨텐츠 오브젝트에 관하여 발표 내용이 진행 중인 것으로 판단할 수 있다. 이 경우, 프로세서(350)는 해당 컨텐츠 오브젝트의 시야를 방해하지 않거나, 해당 오브젝트와 인접한 영역을 발표자 영상 정보를 배치할 영역으로 선택할 수 있다. 다양한 실시예에 따르면, 컨텐츠 입력 정보는 컨텐츠 분석 정보에 포함될 수 있다.
다양한 실시예에 따르면, 발표자의 제스처 정보는, 발표자의 행동을 분석한 결과에 대한 정보일 수 있다. 예를 들어, 발표자 제스처 정보는 발표자 영상 분석 정보에 포함될 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 발표자 영상 분석 정보를 이용하여, 발표자의 제스처 정보를 기초로 현재 진행 중인 발표의 내용과 관련된 컨텐츠 오브젝트를 파악할 수 있다. 제스처 정보에는 발표자의 손짓, 발표자의 시선, 발표자가 지정된 도구를 이용하여 컨텐츠를 가리키는 동작에 관한 정보를 포함할 수 있다. 다양한 실시예에 따르면, 발표자 영상 정보를 배치할 영역은 컨텐츠 분석 정보에 포함된 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 선택될 수 있다. 프로세서(350)는 현재 진행 중인 발표 내용과 관련 있는 컨텐츠 오브젝트에서, 다음 컨텐츠 오브젝트로 발표 내용이 진행되는 경우, 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 추후에 진행될 발표 내용과 가장 관련성 높은 컨텐츠 오브젝트를 예측할 수 있다. 프로세서(350)는 현재 발표자 영상 정보가 지정된 영역에 배치되어 있고, 미리 예측된 컨텐츠 오브젝트로 발표의 내용이 진행될 것으로 예측되는 경우, 앞으로 배치할 영역을 선택할 때 예측된 컨텐츠 오브젝트에 대하여 가장 적합한 영역을 선택할 수 있다.
다양한 실시예들에 따르면, 프로세서(350)는 컨텐츠 화면의 구분된 영역 중 선택된 적어도 하나의 영역에 발표자 영상을 배치하여 발표자 영상을 합성할 수 있다. 프로세서(350)는 선택된 지정된 영역에 발표자 영상이 배치되어 합성된 영상을 생성할 수 있다. 다양한 실시예에 따르면, 프로세서(350)는 서버 장치(예: 도 2의 서버 장치(220))로 합성된 영상을 전송할 수 있고, 프로세서(350)는 출력 모듈(340)을 이용하여 합성된 영상을 출력할 수 있다.
도 4는 다양한 실시예들에 따라 화상 회의를 제공하는 실시예를 도시한 것이다.
도 4를 참조하면, 화상 회의는 발표자 영상 정보(411) 및 컨텐츠 정보(412)가 독립적으로 존재하는 경우(410) 및 발표자와 컨텐츠가 동일한 영상 내에 존재하는 경우(420)가 발생할 수 있다. 발표자와 컨텐츠가 동일한 영상 내에 존재하는 경우(420), 발표자가 발표 자료(예: 컨텐츠)를 이용하여 오프라인 상에서 발표를 진행하는 모습을 촬영한 전체 영상 정보가 발표자 영상 정보에 해당되는 동시에 컨텐츠 정보에 해당할 수 있다. 전자 장치(예: 도 3의 전자 장치(300)) 또는 서버 장치(예: 도 2의 서버 장치(220))는 발표자 영상 정보(411) 및 컨텐츠 정보(412)를 각각 분석하고, 분석 결과 생성된 발표자 영상 분석 정보 및 컨텐츠 분석 정보를 이용하여 발표자 영상과 컨텐츠 화면이 합성된 영상(430)을 생성할 수 있다. 다양한 실시예에 따르면, 전자 장치(예: 도 3의 전자 장치(300)) 또는 서버 장치(예: 도 2의 서버 장치(220))는 발표자와 컨텐츠가 동일한 영상 내에 존재하는 경우(420), 전체 영상 정보 분석을 통해 전체 영상 정보 내에서 발표자 영상 및 컨텐츠 정보를 분리하여 각각 추출하고, 발표자 영상 정보 및 컨텐츠 정보 분석을 수행하고, 분석을 통해 생성된 발표자 영상 분석 정보 및 컨텐츠 분석 정보를 이용하여 발표자 영상과 컨텐츠 정보를 합성한 영상(430)을 생성할 수 있다. 발표자 및 컨텐츠가 합성된 영상(430)은, 발표자 또는 컨텐츠의 각 구성 요소가 실시간으로, 동적으로 배치되는 영상일 수 있다. 전자 장치(예: 도 3의 전자 장치(300)) 또는 서버 장치(예: 도 2의 서버 장치(220))는 합성한 영상(430)을 다른 장치(예: 도 2의 서버 장치(220) 또는 외부 전자 장치(230))로 실시간으로 전송할 수 있다.
도 5는 다양한 실시예들에 따른 전자 장치의 화상 회의를 제공하기 위한 블록도이다.
도 5를 참조하면, 다양한 실시예들에서 화상 회의를 제공하는 것과 관련된 기능을 실행하는 모듈(예: 기능 처리 모듈(500))의 예를 나타낼 수 있다. 다양한 실시예들에 따른 기능 처리 모듈(500)(또는 도 3의 프로세서(350))은 발표자 영상 정보를 분석하여 발표자 영상 분석 정보를 생성하고, 컨텐츠 정보를 분석하여 컨텐츠 분석 정보를 생성하고, 생성된 발표자 영상 분석 정보 및 컨텐츠 분석 정보를 이용하여 컨텐츠 정보 및 발표자 영상 정보가 합성된 영상을 생성하는 화상 회의 서비스를 제공할 수 있다.
다양한 실시예에 따른 기능 처리 모듈(500)은 프로세싱 회로(processing circuitry)를 포함하는 프로세서(예: 도 3의 프로세서(350))에 하드웨어 모듈(hardware module)로 포함되거나, 또는 소프트웨어 모듈(software module)로 포함될 수 있다.
도 5를 참조하면, 기능 처리 모듈(500)은, 영상 분석 모듈(510)(video analyzer module), 컨텐츠 분석 모듈(520)(contents analyzer module), 배치 영역 결정 모듈(530) 및 영상 합성 모듈(540)을 포함할 수 있고, 배치 영역 결정 모듈(530)은 합성 모델 결정 모듈(531)(composition model decision module)(531) 및 배치 엔진 모듈(532)(positioning engine module)을 포함할 수 있다.
다양한 실시예에 따르면, 기능 처리 모듈(500)은, 발표자 영상 정보를 입력 받을 수 있다. 발표자 영상 정보는 발표자의 카메라 비디오 영상(presenter camera video)일 수 있으나, 이에 한정되지 않는다. 발표자 영상 정보가 입력되면, 영상 분석 모듈(510)에 의하여 화상 회의 제공에 사용될 부분을 추출할 수 있다. 예를 들면, 발표자 영상 분석을 통하여 발표자 영상에서 발표자로 인식될 수 있는 이미지 오브젝트가 차지하는 영역만을 추출하여 발표자 영상 정보를 발표자의 이미지만을 출력하는 영상으로 편집할 수 있다. 또한, 영상 분석 모듈(510)은 발표자 영상 정보를 분석하고, 발표자의 제스처 정보, 발표자의 음성 정보, 발표자의 발화 여부 정보를 포함하는 발표자 영상 분석 정보를 생성할 수 있다.
다양한 실시예들에 따르면, 영상 분석 모듈(510)은, 발표자와 컨텐츠가 동시에 존재하는 영상을 분석하고 발표자 영상 및 컨텐츠 정보로 분리하여 추출할 수 있고, 컨텐츠 분석 모듈(520)로 컨텐츠 정보만을 전송할 수 있고, 추출된 발표자 영상을 분석하여 발표자 영상 분석 정보를 추출할 수 있다. 다양한 실시예에 따르면, 영상 분석 모듈(510)은 배치 영역 결정 모듈(530)로 발표 영상 분석 정보를 전송할 수 있다.
다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 컨텐츠 정보를 분석할 수 있다. 예를 들면, 화상 회의 진행 중 백그라운드 영역에서 사용, 출력 또는 실행될 수 있는 컨텐츠 정보의 내용 및 구성을 분석할 수 있다. 컨텐츠 분석 모듈(520)은 백그라운드 컨텐츠(background contents), 발표자 스크립트 데이터(presenter script data), 백그라운드 오브젝트 정보(background object info), 컨텐츠 입력 데이터(contents input data)를 포함하는 컨텐츠 정보(521)를 입력 받을 수 있다. 컨텐츠 분석 모듈(520)은 컨텐츠의 타입을 인식할 수 있다. 예를 들어, 컨텐츠 정보는 파워포인트, 워드, 동영상 플레이어, 사진 뷰어, 웹 브라우저, 터미널과 같이 다양한 속성을 가질 수 있다. 컨텐츠 정보는, 발표자가 발표 자료로 이용할 수 있는 멀티미디어 데이터일 수 있다. 예를 들어, 컨텐츠 정보는 텍스트, 이미지, 동영상, 전자 장치(예: 도 3의 전자 장치(300))에서 실행 가능한 어플리케이션으로써 실행되거나 전자 장치(300)의 디스플레이 상에 출력될 수 있는 데이터(예: 파워포인트(Power Point TM) 데이터) 및 이 가운데 적어도 일부의 조합을 포함할 수 있다. 컨텐츠 정보는, 전자 장치가 실행하거나 표시하는 데이터, 또는 외부 전자 장치로부터 수신한 멀티미디어 데이터 정보일 수 있다. 다양한 실시예들에 따르면, 컨텐츠 정보는 영상 분석 모듈(510)이 발표자와 컨텐츠가 동시에 존재하는 영상을 분석하고 발표자 영상 및 컨텐츠 정보로 분리 및 추출하여 컨텐츠 분석 모듈(520)로 전송한 컨텐츠 정보일 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 컨텐츠가 영상 정보인 경우 영상 분석 모듈(510)로 영상 정보에 해당하는 컨텐츠 정보를 전송할 수 있다.
다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 컨텐츠 정보가 어플리케이션으로써 실행 가능한 데이터에 해당하는 경우, 어플리케이션의 실행 데이터 및 해당 어플리케이션에 대한 입력 데이터를 분석할 수 있다. 예를 들어, 컨텐츠 분석 모듈(520)은 어플리케이션의 UI(user interface)를 분석할 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 시뮬레이션 기법을 이용하여 해당 어플리케이션의 UI 페이지 이동에 대한 시뮬레이션을 기초로 하여 각 UI 페이지 및/또는 팝업 윈도우와 같은 UI 레이아웃 상 페이지, 윈도우 별 연결 정보를 확인할 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 해당 어플리케이션의 UI 페이지 및/또는 윈도우 별로 각 이동 가능한 페이지 및/또는 윈도우를 조합하여 UI 페이지 간 매핑 정보를 획득할 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 동일한 UI 페이지 내에서 페이지 이동, 팝업 윈도우 생성을 트리거링(triggering)하는 UI 구성요소(예: UI 오브젝트)에 대한 분석을 수행할 수 있다. 이는 동일한 UI 페이지 내의 UI 구성요소 각각이 포함하는 컨트롤 정보를 읽어 들임으로써 가능할 수 있다. 동일한 페이지 내의 모든 UI 컨트롤 정보를 조합하여 현재의 UI 페이지를 확인할 수 있다. 이러한 컨트롤 정보 및 그 조합은 컨텐츠 분석 모듈(520)이 실시간으로 분석하는 것도 가능하고, 전자 장치(300)에 미리 저장되어 있는 정보일 수 있다. 또한 컨텐츠 분석 모듈(520)은 UI 페이지 내에서 식별되는 오브젝트에 대한 데이터를 분석하고, 어플리케이션에서 식별된 오브젝트의 관련 정보, 예를 들면, 오브젝트가 위치하는 각 위치 정보, 오브젝트의 속성 정보, 내용 정보를 확인할 수 있다.
다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 각 컨텐츠 오브젝트가 분류된 타입 별로 이미지 분석, 텍스트 분석(예: OCR(optical character recognition)) 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트에 포함될 수 있는 의미 단위를 분석하거나, 연관된 텍스트 정보를 추출할 수 있다. 컨텐츠 분석 모듈(520)은 이미지 분석, 텍스트 분석 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트의 내용 정보를 추출할 수 있다. 또한, 컨텐츠 오브젝트가 화면에 표시되는 위치, 크기를 확인하고 크기 및 위치에 대한 정보를 추출할 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 확인된 컨텐츠 오브젝트에서 추출된 의미 단위 정보, 연관된 텍스트 정보 및/또는 위치 정보를 이용하여 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 생성할 수 있다. 논리적 연결 링크란, 예를 들면, 각 컨텐츠 오브젝트 간 컨텍스트(context) 정보를 의미할 수 있고, 논리적으로 예상되는 발표의 내용적 경로를 의미할 수 있다. 다양한 실시예에 따르면, 컨텍스트 정보 또는 논리적 연결 링크 정보는, 각 컨텐츠 오브젝트에서 추출된 정보를 이용하여 각 컨텐츠 오브젝트가 포함하는 정보의 유사도, 거리의 근접도를 이용하여 서로 관련성이 높은 컨텐츠 오브젝트의 순서 및/또는 연결 링크를 의미할 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 현재 발표자의 발표가 지정된 오브젝트와 관련이 있다고 판단할 경우, 해당 발표 내용 직후에 진행될 발표의 내용과 가장 관련성 높은 오브젝트는 논리적 연결 링크 정보 상에서 현재 오브젝트와 가장 가까운 링크에 존재하는 오브젝트라고 예상할 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 컨텐츠 오브젝트의 위치 정보, 내용 정보, 페이지 정보, 페이지 매핑 정보 중 적어도 하나를 포함하는 컨텐츠 분석 정보를 생성할 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 모듈(520)은 배치 영역 결정 모듈(530)로 컨텐츠 분석 정보를 전송할 수 있다.
다양한 실시예에 따르면, 배치 영역 결정 모듈(530)은 합성 모델 결정 모듈(531)(composition model decision module) 및 배치 엔진 모듈(532)(positioning engine module)을 포함할 수 있다.
다양한 실시예에 따르면, 배치 영역 결정 모듈(530)에 포함된 합성 모델 결정 모듈(531)은, 컨텐츠 정보와 발표자 영상 정보를 병합하여 합성된 영상을 생성하기 위하여 컨텐츠 화면을 적어도 하나의 영역으로 구분할 수 있다. 다양한 실시예에 따르면, 배치 엔진 모듈(532)은 컨텐츠 화면의 구분된 각 영역 상에 발표자 영상 정보가 배치될 영역을 선택할 수 있다.
배치 영역 결정 모듈(530)은 컨텐츠 분석 정보에 기초하여 컨텐츠 화면을 하나 이상의 영역으로 구분할 수 있다. 컨텐츠 화면은 컨텐츠 정보를 표시하는 지정된 화면의 전부 또는 일부 영역일 수 있다. 합성 모델 결정 모듈(531)은 컨텐츠 정보 내에서 인식된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 컨텐츠 화면의 영역을 구분할 수 있다. 다양한 실시예에 따르면 합성 모델 결정 모듈(531)은 컨텐츠 분석 정보의 레이아웃에 관한 정보를 이용하여 지정된 UI 오브젝트 별로 영역을 구분할 수 도 있다. 다양한 실시예에 따르면, 합성 모델 결정 모듈(531)은 컨텐츠 오브젝트의 내용 정보에 기초하여, 관련된 컨텐츠 오브젝트를 포함하는 지정된 일부 영역을 하나의 영역으로 구분할 수도 있다.
다양한 실시예에 따르면, 배치 엔진 모듈(532)은 구분된 컨텐츠 화면의 각 영역 중 적어도 하나의 영역을 발표자 영상을 배치할 영역으로서 선택할 수 있다. 다양한 실시예에 따르면, 배치할 영역은 컨텐츠 정보에 대한 사용자(예: 발표자)의 입력 정보, 발표자의 제스처 정보 및/또는 발표자의 음성 정보를 기초로 선택될 수 있다.
다양한 실시예에 따르면, 배치 엔진 모듈(532)은, 발표자 행동 데이터(presenter behavioral data) 및/또는 발표자 포인터 정보(presenter pointer info)(533)를 입력 받을 수 있다. 발표자 행동 데이터 및/또는 발표자 포인터 정보(533)는, 발표자의 제스처 정보, 발표자의 음성 정보, 발표자의 발화 여부 정보를 포함할 수 있고, 나아가 컨텐츠에 대한 입력 데이터를 포함할 수 있다. 또한 발표자 행동 데이터 및/또는 발표자 포인터 정보(533)는 발표자 영상 분석 정보 및/또는 컨텐츠 분석 정보에 포함된 정보일 수 있다.
다양한 실시예에 따르면, 배치 엔진 모듈(532)은 발표자의 음성 정보를 수신할 수 있다. 예를 들면, 발표자 영상 정보에 포함된 오디오 데이터를 발표자 음성 정보로서 수신할 수 있다. 또는, 입력 모듈(예: 도 3의 입력 모듈(320))의 마이크를 이용하여 발표자가 입력한 음성 정보를 수신할 수 있다. 다양한 실시예에 따르면, 배치 엔진 모듈(532)은 발표자 음성 정보를 분석하여 발표자의 현재 발표 내용을 파악할 수 있다. 예를 들면, 배치 엔진 모듈(532)은 발표자 음성 정보를 인식하고, 형태소 또는 의미 단위 별로 분석할 수 있고, 또는 발표자 음성 정보를 텍스트화 하여 텍스트 정보를 이용하여 내용 분석을 수행할 수 있다. 다양한 실시예에 따르면, 배치 엔진 모듈(532)은 발표자 음성 정보를 분석하고, 현재 진행 중인 발표 내용에 관한 정보를 이용하여 발표자 영상 정보를 병합할, 컨텐츠 화면 상에서 구분된 지정된 영역을 선택할 수 있다. 예를 들면, 컨텐츠 정보 내에 포함된 컨텐츠 오브젝트를 분석한 결과인 컨텐츠 분석 정보에는, 컨텐츠 오브젝트의 내용 정보가 포함될 수 있고, 배치 엔진 모듈(532)은 발표자 음성 정보와 컨텐츠 오브젝트 내용 정보를 비교하여 현재 진행 중인 발표 내용과 가장 관련된 컨텐츠 오브젝트를 검출할 수 있다. 이 경우 배치 엔진 모듈(532)은 컨텐츠 화면 중 구분된 복수개의 영역 중, 해당 컨텐츠 오브젝트를 가리지 않는 영역에 발표자 영상을 배치할 수 있고, 및/또는 해당 컨텐츠 오브젝트와 인접한 영역에 발표자 영상을 배치할 수 있다.
다양한 실시예에 따르면, 컨텐츠 정보에 대한 입력 정보는 입력 모듈(320)로부터 수신한 사용자의 입력일 수 있다. 예를 들면, 컨텐츠 입력 정보는 마우스 조작 입력 정보, 키보드 조작 입력 정보와 같이, 컨텐츠 정보에 대한 입력 정보일 수 있다. 컨텐츠 상에 마우스 이동에 대한 조작 결과로, 지정된 위치에 마우스 포인터가 위치하게 되는 경우, 배치 엔진 모듈(532)은 이를 인식하고, 해당 위치의 컨텐츠 오브젝트에 관한 발표 내용이 진행 중인 것으로 판단할 수 있다. 이 경우, 배치 엔진 모듈(532)은 해당 컨텐츠 오브젝트의 시야를 방해하지 않거나, 해당 오브젝트와 인접한 영역을 선택할 수 있다. 다양한 실시예에 따르면, 컨텐츠 입력 정보는 컨텐츠 분석 정보에 포함될 수 있다.
다양한 실시예에 따르면, 발표자의 제스처 정보는, 발표자의 행동을 분석한 결과에 대한 정보일 수 있다. 예를 들어, 발표자 제스처 정보는 발표자 영상 분석 정보에 포함될 수 있다. 다양한 실시예에 따르면, 배치 엔진 모듈(532)은 발표자 영상 분석 정보를 이용하여, 발표자의 제스처 정보를 기초로 현재 진행 중인 발표의 내용과 관련된 컨텐츠 오브젝트를 파악할 수 있다. 제스처 정보에는 발표자의 손짓, 발표자의 시선, 발표자가 지정된 도구를 이용하여 컨텐츠를 가리키는 동작에 관한 정보를 포함할 수 있다. 다양한 실시예에 따르면, 발표자 영상 정보를 배치할 영역은 컨텐츠 분석 정보에 포함된 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 선택될 수 있다. 배치 엔진 모듈(532)은 현재 진행 중인 발표 내용과 관련 있는 컨텐츠 오브젝트에서, 다음 컨텐츠 오브젝트로 발표 내용이 진행되는 경우, 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 추후에 진행될 발표 내용과 가장 관련성 높은 컨텐츠 오브젝트를 예측할 수 있다. 배치 엔진 모듈(532)은 현재 발표자 영상 정보가 지정된 영역에 배치되어 있고, 미리 예측된 컨텐츠 오브젝트로 발표의 내용이 진행될 것으로 예측되는 경우, 앞으로 배치할 영역을 선택할 때 예측된 컨텐츠 오브젝트에 대하여 가장 적합한 영역을 선택할 수 있다.
다양한 실시예들에 따르면, 영상 합성 모듈(540)은 컨텐츠 화면의 구분된 영역 중 선택된 적어도 하나의 영역에 발표자 영상을 배치하여 발표자 영상을 합성할 수 있다. 영상 합성 모듈(540)은 선택된 지정된 영역에 발표자 영상이 배치되어 합성된 영상을 생성할 수 있다. 다양한 실시예에 따르면, 영상 합성 모듈(540)에서 합성된 영상은 전자 장치(예: 도 3의 전자 장치(300))의 다른 구성 요소(예: 도 3의 통신 모듈(310))를 이용하여 서버 장치(예: 도 2의 서버 장치(220))로 전송될 수 있고, 전자 장치(예: 도 3의 전자 장치(300))는 출력 모듈(예: 도 3의 출력 모듈(340))을 이용하여 합성된 영상을 출력할 수 있다.
도 6은 다양한 실시예들에 따른 전자 장치가 화상 회의를 제공하는 방법의 흐름도이다.
도 6을 참조하면, 도 6의 각 단계에 따른 일련의 동작은 전자 장치(예: 도 3의 전자 장치(300))의 프로세서(350)의 동작으로 구성될 수 있다. 또는, 도 6의 일련의 동작은 서버 장치(예: 도 2의 서버 장치(220))를 통해 수행될 수 있다. 본 문서에서는, 편의상 전자 장치의 프로세서의 동작으로 설명하나, 동작의 주체는 전자 장치에 한정되지 않는다.
다양한 실시예에 따르면, 동작 610에서, 전자 장치(300)는 영상 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 영상 정보를 분석하고, 동일 영상 내에 발표자 및 컨텐츠가 동시에 존재하는지 판단할 수 있다. 예를 들면, 동일 영상 내에 발표자와 컨텐츠가 존재하는 경우는 해당 영상 정보가 발표자가 오프라인 상에서 컨텐츠를 배경으로 하여 발표를 진행하는 영상을 촬영한 정보일 수 있다. 전자 장치(300)는 수신 또는 촬영 중인 영상 정보의 분석을 통하여 오브젝트를 인식하고, 인식한 오브젝트를 분류할 수 있고, 오브젝트 분류에 기초하여 영상 정보가 어떤 영상 정보인지 판단할 수 있다. 예를 들면, 영상 정보 상에서 인식된 주된 오브젝트가 사람인 경우, 발표자 영상으로 인식할 수 있고, 사람과 발표 자료(예: 컨텐츠 정보)에 분류될 수 있는 지정된 오브젝트가 함께 인식되는 경우 해당 영상을 발표자를 컨텐츠를 배경으로 하여 촬영한 영상임을 판단할 수 있다.
동작 620을 참조하면, 전자 장치(300)는 전체 영상 정보를 분석할 수 있다. 전체 영상은, 발표자를, 컨텐츠를 배경으로 하여 촬영한 영상일 수 있다. 전자 장치(300)는 영상 정보의 분석을 통하여 오브젝트를 인식하고, 인식한 오브젝트를 분류할 수 있고, 오브젝트 분류에 기초하여 인식한 오브젝트의 이미지 경계를 계산할 수 있다. 전자 장치(300)는 이미지 오브젝트의 픽셀 정보를 이용하여 이미지의 경계를 계산하고, 이미지 경계를 기준으로 각 오브젝트의 위치 정보를 추출할 수 있고, 이미지 경계 내의 픽셀 정보만을 영상 정보로서 추출하거나 발표자 영상 정보를 편집할 수 있다. 예를 들면, 발표자로 인식된 이미지 오브젝트가 형성하는 경계를 기준으로, 전체 영상 내에서 발표자 형상의 이미지 부분만을 잘라내어 발표자 영상 정보를 편집할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 영상 내에 존재하는 컨텐츠를 분리할 수 있다. 예를 들면, 영상 내에 존재하는 컨텐츠는 스크린, 칠판과 같은 지정된 평면 물체일 수 있고, 전자 장치(300)는 영상 정보 분석을 통해 지정된 시각적 오브젝트로 인식할 수 있다.
동작 630을 참조하면, 전자 장치(300)는 발표자와 컨텐츠가 동일한 영상 내에 존재한다고 판단하는 경우, 영상 정보 내에서 발표자 영상을 따로 분리하여 추출할 수 있다. 전자 장치(300)는 영상 추출 기술을 이용하여 발표자로 인식되는 부분의 이미지 경계를 기준으로 하여 발표자의 영상 정보를 추출할 수 있고, 추출된 발표자 영상 정보를 이용하여 발표자 영상 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 영상 내에 존재하는 컨텐츠를 분리할 수 있다. 예를 들면, 영상 내에 존재하는 컨텐츠는 스크린, 칠판과 같은 지정된 평면 물체일 수 있고, 전자 장치(300)는 영상 정보 분석을 통해 지정된 시각적 오브젝트로 인식할 수 있다. 전자 장치(300)는 오브젝트 분류를 통하여 컨텐츠로 인식된 하나 이상의 오브젝트를 분리하여 이미지로 추출하여 하나의 컨텐츠 이미지로서 생성할 수 있다. 전자 장치(300)는 영상 정보에서 추출된 컨텐츠 이미지를 컨텐츠 정보로 생성하여 추출할 수 있다.
동작 640을 참조하면, 전자 장치(300)는 발표자 영상 정보를 분석할 수 있다. 다양한 실시예들에 따르면, 동작 640 및 동작 650은, 반드시 순차적으로 이루어지지 않을 수 있다. 예를 들면, 동작 640 및 동작 650이 병렬로 동시에 이루어질 수 있고, 또는, 순서가 변경되어 동작 650의 이후 동작 640이 이루어질 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 영상 정보를 분석할 수 있다. 영상 정보는, 전자 장치(300)가 촬영한 데이터 또는 외부 전자 장치로부터 수신한 영상 정보일 수 있다. 예를 들면, 발표자 영상 정보는, 전자 장치(300)가 통신 모듈(310)을 이용하여 외부 장치(예: 도 2의 서버 장치(220))로부터 수신한 정보일 수 있고, 또는, 입력 모듈(320)을 이용하여 촬영한 데이터일 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 발표자 영상 분석에 인공지능 알고리즘을 이용할 수 있고, 예를 들면, 신경망 네트워크(예: ANN, CNN)를 이용하여 학습된 알고리즘을 미리 저장하거나, 서버로부터 알고리즘 데이터를 수신할 수도 있다.
다양한 실시예에 따르면, 동작 610에서 동일 영상 내에 컨텐츠 및 발표자가 동시에 존재하지 않는 것으로 판단되는 경우, 분석되는 전체 영상이 발표자 영상 또는 컨텐츠 화면인가에 따라, 동작 640으로 진행하거나, 또는, 동작 650으로 진행될 수 있다. 다양한 실시예에 따르면, 동작 610에서 동일 영상 내에 컨텐츠 및 발표자가 동시에 존재하지 않는 것으로 판단되는 경우 가운데 컨텐츠만이 존재하는 것으로 판단되는 경우, 발표자 영상 정보 분석은 필요하지 않을 수 있다. 이 경우 전자 장치(300)는 동작 640을 거치지 않고 동작 610에서 곧바로 동작 650을 수행할 수 있다.
다양한 실시예들에 따르면, 전자 장치(300)는 발표자 영상 정보에서 이미지를 추출하고, 이미지 분석을 수행할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 영상 정보에 포함된 이미지를 분석하여 이미지에 포함된 오브젝트를 인식할 수 있다. 영상 정보의 이미지에 포함된 오브젝트는, 예를 들면, 사람(예: 발표자) 이미지 및/또는 발표 자료로서 지정된 이미지와 같은 시각적으로 식별 가능한 객체일 수 있다. 다양한 실시예들에 따르면, 동작 610에서 동일한 영상 내에 컨텐츠 및 발표자가 동시에 존재하지 않는 경우에는 발표자 이미지만이 식별 가능한 객체일 수 있다. 전자 장치(300)는 이미지에 포함된 오브젝트 카테고리 별로 분류할 수 있고, 해당 분류에 기초하여 각 오브젝트에 대한 분석을 수행하거나 지정된 동작을 실행하기 위한 판단을 수행할 수 있다. 예를 들면, 프로세서는 영상 내에서 인식된 오브젝트를 사람, 이미지, 텍스트, 스크린, 칠판의 오브젝트 속성 별로 분류할 수 있다. 전자 장치(300)는 분류된 오브젝트를 선별할 수 있다. 선별하는 동작은, 영상 분석의 복잡도를 낮추기 위한 동작일 수 있다. 예를 들면, 전자 장치(300)는 분류된 지정된 오브젝트의 크기, 출현 빈도를 기준으로 분석에 필요한 오브젝트만을 선별할 수 있다.
전자 장치(300)는 발표자 영상 정보 내에서 사람으로 분류될 수 있는 오브젝트가 인식되면, 제스처 정보 및/또는 얼굴의 특징점을 분석할 수 있다. 예를 들면, 전자 장치(300)는 인식된 이미지 오브젝트의 변화를 인지하고, 이를 기 저장된 데이터, 서버로부터 수신한 데이터 또는 알고리즘을 이용하여 제스처 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 영상 정보 분석을 통해 발표자의 제스처를 분석하고, 제스처 정보를 생성할 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 영상 내에 포함되는 얼굴의 특징점을 분석할 수 있고, 이를 통하여 발표자의 표정 정보, 발표자의 시선 정보 및/또는 발표자가 발화 중인지 여부를 식별할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 인식한 오브젝트의 이미지 경계를 계산할 수 있다. 전자 장치(300)는 이미지 오브젝트의 픽셀 정보를 이용하여 이미지의 경계를 계산하고, 이미지 경계를 기준으로 각 오브젝트의 위치 정보를 추출할 수 있고, 이미지 경계 내의 픽셀 정보만을 영상 정보로서 추출하거나 발표자 영상 정보를 편집할 수 있다. 예를 들면, 발표자로 인식된 이미지 오브젝트가 형성하는 경계를 기준으로, 발표자 영상 내에서 발표자 형상의 이미지 부분만을 잘라내어 발표자 영상 정보를 편집할 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 발표자 영상 분석을 통해 발표자의 발화 여부 정보, 제스처 정보, 시선 정보, 이미지 경계 정보, 이미지 경계를 기준으로 편집된 발표자 영상 정보를 포함하는 발표자 영상 분석 정보를 생성할 수 있다.
동작 650을 참조하면, 전자 장치(300)는 컨텐츠 정보를 분석할 수 있다. 컨텐츠 정보는, 발표자가 발표 자료로 이용할 수 있는 멀티미디어 데이터일 수 있다. 예를 들어, 컨텐츠 정보는 텍스트, 이미지, 동영상, 전자 장치(300)에서 실행 가능한 어플리케이션으로써 실행되거나 전자 장치(300)의 디스플레이 상에 출력될 수 있는 데이터(예: 파워포인트(Power Point TM) 데이터) 및 이 가운데 적어도 일부의 조합을 포함할 수 있다. 컨텐츠 정보는, 전자 장치(300)가 실행하거나 표시하는 데이터, 또는 외부 전자 장치로부터 수신한 멀티미디어 데이터 정보일 수 있다. 컨텐츠 정보는, 전자 장치(300)가 통신 모듈(310)을 이용하여 외부 장치(예: 도 2의 서버 장치(220))로부터 수신한 정보일 수 있고, 또는, 전자 장치(300)에 의해 실행되거나, 실행되어 출력 모듈(350)에 의하여 출력되는 데이터일 수 있다. 또는, 컨텐츠 정보는 전자 장치(300)가 다른 영상 정보로부터 컨텐츠로 식별되는 이미지 영역만을 추출한 이미지 데이터일 수 있다.
다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 정보의 타입을 결정할 수 있다. 예를 들면, 전자 장치(300)에서 컨텐츠 정보를 실행하거나 표시하기 위하여 필요한 어플리케이션의 종류를 확인할 수 있다. 또는 이미 실행 중인 컨텐츠 정보를 표시하기 위한 어플리케이션의 종류를 통해 컨텐츠 정보의 타입을 결정할 수 있다. 컨텐츠 정보의 타입은, 동영상, 이미지, 텍스트 또는 그들의 조합으로 이루어진 경우와 그 외의 어플리케이션으로 나누어질 수 있다. 결정된 컨텐츠 정보의 타입에 기초하여 컨텐츠 분석 방법이 상이할 수 있다.
다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 정보가 텍스트, 이미지, 동영상 또는 그들의 조합으로 이루어진 경우, 텍스트, 이미지 및/또는 영상을 분석할 수 있다. 예를 들면, 컨텐츠 정보는 동일한 출력 화면 내에 복수개의 멀티미디어 컨텐츠(예: 이미지, 텍스트)를 포함하는 형태일 수 있다. 이 때 전자 장치(300)는 각 컨텐츠 별로 컨텐츠 오브젝트로서 인식할 수 있다. 전자 장치(300)는 인식한 컨텐츠 오브젝트를 각각 확인할 수 있고, 확인된 오브젝트를 분류 및 선별할 수 있다. 예를 들어, 확인된 컨텐츠 오브젝트는 각각 이미지, 텍스트, 영상과 같이 컨텐츠의 타입 별로 분류될 수 있다.
다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 정보가 상기한 타입 이외의 어플리케이션으로써 실행 가능한 데이터에 해당하는 경우, 어플리케이션의 실행 데이터 및 해당 어플리케이션에 대한 입력 데이터를 분석할 수 있다. 예를 들어, 전자 장치(300)는 어플리케이션의 UI(user interface)를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 시뮬레이션 기법을 이용하여 해당 어플리케이션의 UI 페이지 이동에 대한 시뮬레이션을 기초로 하여 각 UI 페이지 및/또는 팝업 윈도우와 같은 UI 레이아웃 상 페이지, 윈도우 별 연결 정보를 확인할 수 있고, 또는, 이러한 정보는 전자 장치의 다른 구성요소(예: 메모리(330))에 미리 저장되어 있을 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 해당 어플리케이션의 UI 페이지 및/또는 윈도우 별로 각 이동 가능한 페이지 및/또는 윈도우를 조합하여 UI 페이지 간 매핑 정보를 획득할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 동일한 UI 페이지 내에서 페이지 이동, 팝업 윈도우 생성을 트리거링(triggering)하는 UI 구성요소(예: UI 오브젝트)에 대한 분석을 수행할 수 있다. 이는 동일한 UI 페이지 내의 UI 구성요소 각각이 포함하는 컨트롤 정보를 읽어 들임으로써 가능할 수 있다. 동일한 페이지 내의 모든 UI 컨트롤 정보를 조합하여 현재의 UI 페이지를 확인할 수 있다. 이러한 컨트롤 정보 및 그 조합은 전자 장치(300)가 실시간으로 분석하는 것도 가능하고, 전자 장치(300)에 미리 저장되어 있는 정보일 수 있다. 또한 전자 장치(300)는 UI 페이지 내에서 식별되는 오브젝트에 대한 정보를 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(300)는 각 컨텐츠 오브젝트가 분류된 타입 별로 이미지 분석, 텍스트 분석(예: OCR(optical character recognition)) 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트에 포함될 수 있는 의미 단위를 분석하거나, 연관된 텍스트 정보를 추출할 수 있다. 전자 장치(300)는 이미지 분석, 텍스트 분석 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트의 내용 정보를 추출할 수 있다. 또한, 컨텐츠 오브젝트가 화면에 표시되는 위치, 크기를 확인하고 크기 및 위치에 대한 정보를 추출할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 확인된 컨텐츠 오브젝트에서 추출된 의미 단위 정보, 연관된 텍스트 정보 및/또는 위치 정보를 이용하여 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 생성할 수 있다. 논리적 연결 링크란, 예를 들면, 각 컨텐츠 오브젝트 간 컨텍스트(context) 정보를 의미할 수 있고, 논리적으로 예상되는 발표의 내용적 경로를 의미할 수 있다. 다양한 실시예에 따르면, 컨텍스트 정보 또는 논리적 연결 링크 정보는, 각 컨텐츠 오브젝트에서 추출된 정보를 이용하여 각 컨텐츠 오브젝트가 포함하는 정보의 유사도, 거리의 근접도를 이용하여 서로 관련성이 높은 컨텐츠 오브젝트의 순서 및/또는 연결 링크를 의미할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 현재 발표자의 발표가 지정된 오브젝트와 관련이 있다고 판단할 경우, 해당 발표 내용 직후에 진행될 발표의 내용과 가장 관련성 높은 오브젝트는 논리적 연결 링크 정보 상에서 현재 오브젝트와 가장 가까운 링크에 존재하는 오브젝트라고 예상할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 오브젝트의 위치 정보, 내용 정보, 페이지 정보, 페이지 매핑 정보 중 적어도 하나를 포함하는 컨텐츠 분석 정보를 생성할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 서버 장치(예: 도 2의 220)로 컨텐츠 분석 정보를 통신 모듈(310)을 통해 전송할 수 있다.
동작 660을 참조하면, 전자 장치(300)는 컨텐츠 정보 및 발표자 영상 정보를 합성할 수 있다. 전자 장치(300)는 컨텐츠 정보 및 발표자 영상 정보를 합성하여 합성된 영상을 생성할 수 있다. 다양한 실시예에 따르면, 합성할 컨텐츠 정보는 컨텐츠 정보가 실행 또는 표시되는 화면을 의미할 수 있다.
전자 장치(300)는 컨텐츠 분석 정보에 기초하여 컨텐츠 화면을 하나 이상의 영역으로 구분할 수 있다. 컨텐츠 화면은 컨텐츠 정보를 표시하는 지정된 화면의 전부 또는 일부 영역일 수 있다. 전자 장치(300)는 컨텐츠 정보 내에서 인식된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 컨텐츠 화면의 영역을 구분할 수 있다. 다양한 실시예에 따르면 전자 장치(300)는 컨텐츠 분석 정보의 레이아웃에 관한 정보를 이용하여 지정된 UI 오브젝트 별로 영역을 구분할 수 도 있다. 다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 오브젝트의 내용 정보에 기초하여, 관련된 컨텐츠 오브젝트를 포함하는 지정된 일부 영역을 하나의 영역으로 구분할 수도 있다. 다양한 실시예에 따르면, 전자 장치(300)는 구분된 컨텐츠 화면의 각 영역 중 적어도 하나의 영역을 발표자 영상을 배치할 영역으로서 선택할 수 있다. 다양한 실시예에 따르면, 배치할 영역은 컨텐츠 정보에 대한 사용자(예: 발표자)의 입력 정보, 발표자의 제스처 정보 및/또는 발표자의 음성 정보를 기초로 선택될 수 있다.
다양한 실시예에 따르면, 전자 장치(300)는, 발표자의 음성 정보를 수신할 수 있다. 예를 들면, 발표자 영상 정보에 포함된 오디오 데이터를 발표자 음성 정보로서 수신할 수 있다. 또는, 입력 모듈(320)의 마이크를 이용하여 발표자가 입력한 음성 정보를 수신할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 음성 정보를 분석하여 발표자의 현재 발표 내용을 파악할 수 있다. 예를 들면, 전자 장치(300)는 발표자 음성 정보를 인식하고, 형태소 또는 의미 단위 별로 분석할 수 있고, 또는 발표자 음성 정보를 텍스트화 하여 텍스트 정보를 이용하여 내용 분석을 수행할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 음성 정보를 분석하고, 현재 진행 중인 발표 내용에 관한 정보를 이용하여 발표자 영상 정보를 병합할, 컨텐츠 화면 상에서 구분된 지정된 영역을 선택할 수 있다. 예를 들면, 컨텐츠 정보 내에 포함된 컨텐츠 오브젝트를 분석한 결과인 컨텐츠 분석 정보에는, 컨텐츠 오브젝트의 내용 정보가 포함될 수 있고, 전자 장치(300)는 발표자 음성 정보와 컨텐츠 오브젝트 내용 정보를 비교하여 현재 진행 중인 발표 내용과 가장 관련된 컨텐츠 오브젝트를 검출할 수 있다. 이 경우 전자 장치(300)는 컨텐츠 화면 중 구분된 복수개의 영역 중, 해당 컨텐츠 오브젝트를 가리지 않는 영역에 발표자 영상을 배치할 수 있고, 및/또는 해당 컨텐츠 오브젝트와 인접한 영역에 발표자 영상을 배치할 수 있다.
다양한 실시예에 따르면, 컨텐츠 정보에 대한 입력 정보는 입력 모듈(320)로부터 수신한 사용자의 입력일 수 있다. 예를 들면, 컨텐츠 입력 정보는 마우스 조작 입력 정보, 키보드 조작 입력 정보와 같이, 컨텐츠 정보에 대한 입력 정보일 수 있다. 컨텐츠 상에 마우스 이동에 대한 조작 결과로, 지정된 위치에 마우스 포인터가 위치하게 되는 경우, 전자 장치(300)는 이를 인식하고, 해당 위치의 컨텐츠 오브젝트에 관한 발표 내용이 진행 중인 것으로 판단할 수 있다. 이 경우, 전자 장치(300)는 해당 컨텐츠 오브젝트의 시야를 방해하지 않거나, 해당 오브젝트와 인접한 영역을 선택할 수 있다. 다양한 실시예에 따르면, 컨텐츠 입력 정보는 컨텐츠 분석 정보에 포함될 수 있다.
다양한 실시예에 따르면, 발표자의 제스처 정보는, 발표자의 행동을 분석한 결과에 대한 정보일 수 있다. 예를 들어, 발표자 제스처 정보는 발표자 영상 분석 정보에 포함될 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 영상 분석 정보를 이용하여, 발표자의 제스처 정보를 기초로 현재 진행 중인 발표의 내용과 관련된 컨텐츠 오브젝트를 파악할 수 있다. 제스처 정보에는 발표자의 손짓, 발표자의 시선, 발표자가 지정된 도구를 이용하여 컨텐츠를 가리키는 동작에 관한 정보를 포함할 수 있다. 다양한 실시예에 따르면, 발표자 영상 정보를 배치할 영역은 컨텐츠 분석 정보에 포함된 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 선택될 수 있다. 전자 장치(300)는 현재 진행 중인 발표 내용과 관련 있는 컨텐츠 오브젝트에서, 다음 컨텐츠 오브젝트로 발표 내용이 진행되는 경우, 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 추후에 진행될 발표 내용과 가장 관련성 높은 컨텐츠 오브젝트를 예측할 수 있다. 전자 장치(300)는 현재 발표자 영상 정보가 특정 영역에 배치되어 있고, 미리 예측된 컨텐츠 오브젝트로 발표의 내용이 진행될 것으로 예측되는 경우, 앞으로 배치할 영역을 선택할 때 예측된 컨텐츠 오브젝트에 대하여 가장 적합한 영역을 선택할 수 있다.
다양한 실시예들에 따르면, 전자 장치(300)는 컨텐츠 화면의 구분된 영역 중 선택된 적어도 하나의 영역에 발표자 영상을 배치하여 발표자 영상을 합성할 수 있다. 전자 장치(300)는 선택된 지정된 영역에 발표자 영상이 배치되어 합성된 영상을 생성할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 서버 장치(예: 도 2의 서버 장치(220)로 합성된 영상을 통신 모듈(310)을 통해 전송할 수 있고, 전자 장치(300)는 출력 모듈(340)을 이용하여 합성된 영상을 출력할 수 있다.
도 7은 다양한 실시예들에 따른 전자 장치 및 서버가 화상회의를 제공하는 방법의 흐름도이다.
다양한 실시예에 따르면, 화상 회의 서비스를 제공하는 주체는 전자 장치(710) 및 서버(720)로 구성될 수 있다. 전자 장치(710)(예: 도 3의 전자 장치(300)) 및 서버(720)(예: 도 2의 서버 장치(220))의 일련의 동작을 통해 화상 회의 서비스가 구현될 수 있다. 원격으로 진행되는 화상 회의의 경우 E2EE(end-to-end encryption) 방식을 이용하여 제공될 수 있다. 이 경우 서버(예: 서버(720))는 클라이언트(예: 전자 장치(710)) 및 다른 클라이언트(예: 외부 전자 장치(730)) 간 암호화된 데이터 전송을 중개하는 데에 한정되며, 클라이언트의 영상, 및/또는 음성을 포함하는 송수신 데이터를 복호화할 수 없다. 따라서 E2EE를 통한 보안 연결 유무에 따라 본 발명의 기능의 수행 주체가 변경될 수 있다. 도 7에 도시된 실시예의 경우, E2EE 방식을 이용하지 않는 경우를 중심으로 설명하나, 이에 한정되지 않는다.
도 7을 참조하면, 동작 701 및 동작 703은, 반드시 순차적으로 이루어지지 않을 수 있다. 예를 들면, 동작 701 및 동작 703이 병렬로 동시에 이루어질 수 있고, 또는, 순서가 변경되어 동작 703의 이후 동작 701이 이루어질 수 있다. 동작 701에서, 전자 장치(710)는 발표자 영상 정보를 분석할 수 있다. 다양한 실시예들에 따르면, 전자 장치(710)는 발표자 영상 정보에서 이미지를 추출하고, 이미지 분석을 수행할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 발표자 영상 정보에 포함된 이미지를 분석하여 이미지에 포함된 오브젝트를 인식할 수 있다. 영상 정보의 이미지에 포함된 오브젝트는, 예를 들면, 사람(예: 발표자) 이미지, 발표 자료로서 지정된 이미지와 같은 시각적으로 식별 가능한 객체일 수 있다. 전자 장치(710)는 이미지에 포함된 오브젝트 카테고리 별로 분류할 수 있고, 해당 분류에 기초하여 각 오브젝트에 대한 분석을 수행하거나 지정된 동작을 실행하기 위한 판단을 수행할 수 있다. 예를 들면, 전자 장치(710)는 영상 내에서 인식된 오브젝트를 사람, 이미지, 텍스트, 스크린, 칠판과 같이 오브젝트 속성 별로 분류할 수 있다. 전자 장치(710)는 분류된 오브젝트를 선별할 수 있다. 선별하는 동작은, 영상 분석의 복잡도를 낮추기 위한 동작일 수 있다. 예를 들면, 전자 장치(710)는 분류된 지정된 오브젝트의 크기, 출현 빈도를 기준으로 분석에 필요한 오브젝트만을 선별할 수 있다.
전자 장치(710)는 발표자 영상 정보 내에서 사람으로 분류될 수 있는 오브젝트가 인식되면, 제스처 정보 및/또는 얼굴의 특징점을 분석할 수 있다. 예를 들면, 전자 장치(710)는 인식된 이미지 오브젝트의 변화를 인지하고, 이를 기 저장된 데이터, 서버로부터 수신한 데이터 또는 알고리즘을 이용하여 제스처 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 발표자 영상 정보 분석을 통해 발표자의 제스처를 분석하고, 제스처 정보를 생성할 수 있다. 다양한 실시예들에 따르면, 전자 장치(710)는 영상 내에 포함되는 얼굴의 특징점을 분석할 수 있고, 이를 통하여 발표자의 표정 정보, 발표자의 시선 정보 및/또는 발표자가 발화 중인지 여부를 식별할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 인식한 오브젝트의 이미지 경계를 계산할 수 있다. 전자 장치(710)는 이미지 오브젝트의 픽셀 정보를 이용하여 이미지의 경계를 계산하고, 이미지 경계를 기준으로 각 오브젝트의 위치 정보를 추출할 수 있고, 이미지 경계 내의 픽셀 정보만을 영상 정보로서 추출하거나 발표자 영상 정보를 편집할 수 있다. 예를 들면, 발표자로 인식된 이미지 오브젝트가 형성하는 경계를 기준으로, 발표자 영상 내에서 발표자 형상의 이미지 부분만을 잘라내어 발표자 영상 정보를 편집할 수 있다. 다양한 실시예들에 따르면, 전자 장치(710)는 발표자 영상 분석을 통해 발표자의 발화 여부 정보, 제스처 정보, 시선 정보, 이미지 경계 정보, 이미지 경계를 기준으로 편집된 발표자 영상 정보를 포함하는 발표자 영상 분석 정보를 생성할 수 있다.
동작 703에서, 전자 장치(710)는 컨텐츠 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 컨텐츠 정보의 타입을 결정할 수 있다. 예를 들면, 전자 장치(710)에서 컨텐츠 정보를 실행하거나 표시하기 위하여 필요한 어플리케이션의 종류를 확인할 수 있다. 또는 이미 실행 중인 컨텐츠 정보를 표시하기 위한 어플리케이션의 종류를 통해 컨텐츠 정보의 타입을 결정할 수 있다. 컨텐츠 정보의 타입은, 동영상, 이미지, 텍스트 또는 그들의 조합으로 이루어진 경우와 그 외의 어플리케이션으로 나누어질 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 컨텐츠 정보가 텍스트, 이미지, 동영상 또는 그들의 조합으로 이루어진 경우, 텍스트, 이미지 및/또는 영상을 분석할 수 있다. 예를 들면, 컨텐츠 정보는 동일한 출력 화면 내에 복수개의 멀티미디어 컨텐츠(예: 이미지, 텍스트)를 포함하는 형태일 수 있다. 이 때 전자 장치(710)는 각 컨텐츠 별로 컨텐츠 오브젝트로서 인식할 수 있다. 전자 장치(710)는 인식한 컨텐츠 오브젝트를 각각 확인할 수 있고, 확인된 오브젝트를 분류 및 선별할 수 있다. 예를 들어, 확인된 컨텐츠 오브젝트는 각각 이미지, 텍스트, 영상과 같이 컨텐츠의 타입 별로 분류될 수 있다.
다양한 실시예에 따르면, 전자 장치(710)는 컨텐츠 정보가 상기한 타입 이외의 어플리케이션으로써 실행 가능한 데이터에 해당하는 경우, 어플리케이션의 실행 데이터 및 해당 어플리케이션에 대한 입력 데이터를 분석할 수 있다. 예를 들어, 전자 장치(710)는 어플리케이션의 UI(user interface)를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 시뮬레이션 기법을 이용하여 해당 어플리케이션의 UI 페이지 이동에 대한 시뮬레이션을 기초로 하여 각 UI 페이지 및/또는 팝업 윈도우와 같은 UI 레이아웃 상 페이지, 윈도우 별 연결 정보를 확인할 수 있고, 또는, 이러한 정보는 전자 장치의 다른 구성요소(예: 메모리(330))에 미리 저장되어 있을 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 해당 어플리케이션의 UI 페이지 및/또는 윈도우 별로 각 이동 가능한 페이지 및/또는 윈도우를 조합하여 UI 페이지 간 매핑 정보를 획득할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 동일한 UI 페이지 내에서 페이지 이동, 팝업 윈도우 생성을 트리거링(triggering)하는 UI 구성요소(예: UI 오브젝트)에 대한 분석을 수행할 수 있다. 이는 동일한 UI 페이지 내의 UI 구성요소 각각이 포함하는 컨트롤 정보를 읽어 들임으로써 가능할 수 있다. 동일한 페이지 내의 모든 UI 컨트롤 정보를 조합하여 현재의 UI 페이지를 확인할 수 있다. 이러한 컨트롤 정보 및 그 조합은 전자 장치(710)가 실시간으로 분석하는 것도 가능하고, 전자 장치(710)에 미리 저장되어 있는 정보일 수 있다. 또한 전자 장치(710)는 UI 페이지 내에서 식별되는 오브젝트에 대한 정보를 확인할 수 있다.
다양한 실시예에 따르면, 전자 장치(710)는 각 컨텐츠 오브젝트가 분류된 타입 별로 이미지 분석, 텍스트 분석(예: OCR(optical character recognition)) 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트에 포함될 수 있는 의미 단위를 분석하거나, 연관된 텍스트 정보를 추출할 수 있다. 전자 장치(710)는 이미지 분석, 텍스트 분석 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트의 내용 정보를 추출할 수 있다. 또한, 컨텐츠 오브젝트가 화면에 표시되는 위치, 크기를 확인하고 크기 및 위치에 대한 정보를 추출할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 확인된 컨텐츠 오브젝트에서 추출된 의미 단위 정보, 연관된 텍스트 정보 및/또는 위치 정보를 이용하여 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 생성할 수 있다. 논리적 연결 링크란, 예를 들면, 각 컨텐츠 오브젝트 간 컨텍스트(context) 정보를 의미할 수 있고, 논리적으로 예상되는 발표의 내용적 경로를 의미할 수 있다. 다양한 실시예에 따르면, 컨텍스트 정보 또는 논리적 연결 링크 정보는, 각 컨텐츠 오브젝트에서 추출된 정보를 이용하여 각 컨텐츠 오브젝트가 포함하는 정보의 유사도, 거리의 근접도를 이용하여 서로 관련성이 높은 컨텐츠 오브젝트의 순서 및/또는 연결 링크를 의미할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 현재 발표자의 발표가 지정된 오브젝트와 관련이 있다고 판단할 경우, 해당 발표 내용 직후에 진행될 발표의 내용과 가장 관련성 높은 오브젝트는 논리적 연결 링크 정보 상에서 현재 오브젝트와 가장 가까운 링크에 존재하는 오브젝트라고 예상할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 컨텐츠 오브젝트의 위치 정보, 내용 정보, 페이지 정보, 페이지 매핑 정보 중 적어도 하나를 포함하는 컨텐츠 분석 정보를 생성할 수 있다.
동작 705를 참조하면, 전자 장치(710)는 발표자 영상 및 발표자 영상 분석 정보를 서버(720)로 전송할 수 있다. 다양한 실시예들에 따르면, 동작 705 및 동작 707은, 반드시 순차적으로 이루어지지 않을 수 있다. 예를 들면, 동작 705 및 동작 707이 병렬로 동시에 이루어질 수 있고, 또는, 순서가 변경되어 동작 707의 이후 동작 705가 이루어질 수 있다. 다양한 실시예에 따르면, 발표자 영상 분석 정보는, 발표자 영상 정보와 컨텐츠 정보를 합성하기 위한 각종 데이터일 수 있다. 다양한 실시예에 따른 전자 장치(710)는 영상 분석을 통해 생성된 발표자의 발화 여부 정보, 제스처 정보, 시선 정보, 이미지 경계 정보, 이미지 경계를 기준으로 편집된 발표자 영상 정보를 포함하는 발표자 영상 분석 정보를 생성할 수 있다. 발표자의 제스처 정보는, 발표자의 행동을 분석한 결과에 대한 정보일 수 있다. 예를 들어, 발표자 제스처 정보는 발표자 영상 분석 정보에 포함될 수 있다. 다양한 실시예에 따르면, 서버(720)는 전자 장치(710)로부터 발표자 영상 분석 정보를 수신하고, 발표자의 제스처 정보를 기초로 현재 진행 중인 발표의 내용과 관련된 컨텐츠 오브젝트를 파악할 수 있다. 제스처 정보에는 발표자의 손짓, 발표자의 시선, 또는 발표자가 지정된 도구를 이용하여 컨텐츠를 가리키는 동작에 관한 정보를 포함할 수 있다. 다양한 실시예에 따르면, 서버(720)는 외부 전자 장치(730)(예: 도 2의 외부 전자 장치(230))로부터 발표자 영상 및 발표자 영상 분석 정보를 수신할 수 있다.
동작 707을 참조하면, 전자 장치(710)는 서버(720)로 컨텐츠 정보 및 컨텐츠 분석 정보를 전송할 수 있다. 컨텐츠 분석 정보는, 발표자 영상 정보와 컨텐츠 정보를 합성하기 위한 각종 데이터일 수 있다. 컨텐츠 정보는, 예를 들면, 컨텐츠 오브젝트의 위치 정보, 컨텐츠 내용 정보, 페이지 정보, 페이지 매핑 정보, 스크립트 데이터, 백그라운드 오브젝트 정보 중 적어도 하나를 포함할 수 있다. 또한, 컨텐츠 오브젝트가 화면에 표시되는 위치, 크기에 대한 정보를 포함할 수 있다. 컨텐츠 내용 정보는 확인된 컨텐츠 오브젝트에서 추출된 의미 단위 정보, 연관된 텍스트 정보 및/또는 위치 정보를 이용하여 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 포함할 수 있다. 논리적 연결 링크란, 예를 들면, 각 컨텐츠 오브젝트 간 컨텍스트(context) 정보를 의미할 수 있고, 논리적으로 예상되는 발표의 내용적 경로를 의미할 수 있다. 다양한 실시예에 따르면, 컨텍스트 정보 또는 논리적 연결 링크 정보는, 각 컨텐츠 오브젝트에서 추출된 정보를 이용하여 각 컨텐츠 오브젝트가 포함하는 정보의 유사도, 및/또는 거리의 근접도 를 이용하여 서로 관련성이 높은 컨텐츠 오브젝트의 순서 및/또는 연결 링크를 의미할 수 있다. 다양한 실시예에 따르면, 컨텐츠 분석 정보는, 컨텐츠 입력 정보를 포함할 수 있다. 예를 들면, 컨텐츠 입력 정보는 전자 장치(710)의 마우스 조작 입력 정보, 키보드 조작 입력 정보와 같이, 컨텐츠 정보에 대한 입력 정보일 수 있다. 컨텐츠 상에 마우스 이동에 대한 조작 결과로, 지정된 위치에 마우스 포인터가 위치하게 되는 경우, 전자 장치가 이를 인식한 데이터일 수 있다.
다양한 실시예들에 따르면, 동작 709, 동작 711 및 동작 713은, 반드시 순차적으로 이루어지지 않을 수 있다. 예를 들면, 동작 709, 동작 711 및 동작 713이 병렬로 동시에 이루어질 수 있고, 또는, 동작 709, 동작 711 및 동작 713의 순서가 변경되어 수행될 수 있다. 동작 709를 참조하면, 서버는 컨텐츠 화면을 하나 이상의 영역으로 구분할 수 있다. 서버(720)는 컨텐츠 분석 정보에 기초하여 컨텐츠 화면을 하나 이상의 영역으로 구분할 수 있다. 컨텐츠 화면은 컨텐츠 정보를 표시하는 지정된 화면의 전부 또는 일부 영역일 수 있다. 서버(720)는 컨텐츠 정보 내에서 인식된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 컨텐츠 화면의 영역을 구분할 수 있다. 다양한 실시예에 따르면 서버(720)는 컨텐츠 분석 정보의 레이아웃에 관한 정보를 이용하여 지정된 UI 오브젝트 별로 영역을 구분할 수 도 있다. 다양한 실시예에 따르면, 서버(720)는 컨텐츠 오브젝트의 내용 정보에 기초하여, 관련된 컨텐츠 오브젝트를 포함하는 지정된 일부 영역을 하나의 영역으로 구분할 수도 있다.
동작 711을 참조하면, 서버(720)는 구분된 영역 중 배치할 영역을 선택할 수 있다. 다양한 실시예에 따르면, 서버(720)는 구분된 컨텐츠 화면의 각 영역 중 적어도 하나의 영역을 발표자 영상을 배치할 영역으로서 선택할 수 있다. 다양한 실시예에 따르면, 배치할 영역은 컨텐츠 정보에 대한 사용자(예: 발표자)의 입력 정보, 발표자의 제스처 정보 및/또는 발표자의 음성 정보를 기초로 선택될 수 있다.
다양한 실시예에 따르면, 서버(720)는, 발표자의 음성 정보를 수신할 수 있다. 예를 들면, 발표자 영상 정보에 포함된 오디오 데이터를 발표자 음성 정보로서 수신할 수 있다. 또는, 전자 장치(710)로부터 발표자가 입력한 음성 정보를 수신할 수 있다. 다양한 실시예에 따르면, 서버(720)는 발표자 음성 정보를 분석하여 발표자의 현재 발표 내용을 파악할 수 있다. 예를 들면, 서버(720)는 발표자 음성 정보를 인식하고, 형태소 또는 의미 단위 별로 분석할 수 있고, 또는 발표자 음성 정보를 텍스트화 하여 텍스트 정보를 이용하여 내용 분석을 수행할 수 있다. 다양한 실시예에 따르면, 서버(720)는 발표자 음성 정보를 분석하고, 현재 진행 중인 발표 내용에 관한 정보를 이용하여 발표자 영상 정보를 병합할, 컨텐츠 화면 상에서 구분된 지정된 영역을 선택할 수 있다. 예를 들면, 컨텐츠 정보 내에 포함된 컨텐츠 오브젝트를 분석한 결과인 컨텐츠 분석 정보에는, 컨텐츠 오브젝트의 내용 정보가 포함될 수 있고, 서버(720)는 발표자 음성 정보와 컨텐츠 오브젝트 내용 정보를 비교하여 현재 진행 중인 발표 내용과 가장 관련된 컨텐츠 오브젝트를 검출할 수 있다. 이 경우 서버(720)는 컨텐츠 화면 중 구분된 복수개의 영역 중, 해당 컨텐츠 오브젝트를 가리지 않는 영역에 발표자 영상을 배치할 수 있고, 및/또는 해당 컨텐츠 오브젝트와 인접한 영역에 발표자 영상을 배치할 수 있다.
다양한 실시예에 따르면, 컨텐츠 정보에 대한 입력 정보는 전자 장치(710)로부터 수신한 사용자의 입력일 수 있고, 컨텐츠 분석 정보에 포함된 데이터일 수 있다. 컨텐츠 입력 정보는, 예를 들면, 마우스 조작 입력 정보, 또는 키보드 조작 입력 정보와 같이, 컨텐츠 정보에 대한 입력 정보일 수 있다. 컨텐츠 상에 마우스 이동에 대한 조작 결과로, 지정된 위치에 마우스 포인터가 위치하게 되는 경우, 서버(720)는 이에 대한 정보를 전자 장치(710)로부터 수신하고, 해당 위치의 컨텐츠 오브젝트에 관한 내용의 발표가 진행 중인 것으로 판단할 수 있다. 이 경우, 서버(720)는 해당 컨텐츠 오브젝트의 시야를 방해하지 않거나, 해당 오브젝트와 인접한 영역을 선택할 수 있다. 다양한 실시예에 따르면, 컨텐츠 입력 정보는 컨텐츠 분석 정보에 포함될 수 있다.
다양한 실시예에 따르면, 발표자의 제스처 정보는, 발표자의 행동을 분석한 결과에 대한 정보일 수 있다. 예를 들어, 발표자 제스처 정보는 발표자 영상 분석 정보에 포함될 수 있다. 다양한 실시예에 따르면, 서버(720)는 발표자 영상 분석 정보를 이용하여, 발표자의 제스처 정보를 기초로 현재 진행 중인 발표의 내용과 관련된 컨텐츠 오브젝트를 파악할 수 있다. 제스처 정보에는 발표자의 손짓, 발표자의 시선, 및/또는 발표자가 지정된 도구를 이용하여 컨텐츠를 가리키는 동작에 관한 정보를 포함할 수 있다. 다양한 실시예에 따르면, 발표자 영상 정보를 배치할 영역은 컨텐츠 분석 정보에 포함된 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 선택될 수 있다. 서버(720)는 현재 진행 중인 발표 내용과 관련 있는 컨텐츠 오브젝트에서, 다음 컨텐츠 오브젝트로 발표 내용이 진행되는 경우, 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 추후에 진행될 발표 내용과 가장 관련성 높은 컨텐츠 오브젝트를 예측할 수 있다. 서버(720)는 현재 발표자 영상 정보가 지정된 영역에 배치되어 있고, 미리 예측된 컨텐츠 오브젝트로 발표의 내용이 진행될 것으로 예측되는 경우, 앞으로 배치할 영역을 선택할 때 예측된 컨텐츠 오브젝트에 대하여 가장 적합한 영역을 선택할 수 있다.
동작 713을 참조하면, 서버(720)는 발표자 영상 정보를 편집할 수 있다. 서버(720)는 이미지 오브젝트의 픽셀 정보를 이용하여 이미지의 경계를 계산하고, 이미지 경계를 기준으로 각 오브젝트의 위치 정보를 추출할 수 있고, 이미지 경계 내의 픽셀 정보만을 영상 정보로서 추출하거나 발표자 영상 정보를 편집할 수 있다. 예를 들면, 발표자로 인식된 이미지 오브젝트가 형성하는 경계를 기준으로, 발표자 영상 내에서 발표자 형상의 이미지 부분만을 잘라내어 발표자 영상 정보를 편집할 수 있다. 다양한 실시예들에 따르면, 서버(720)는 발표자 영상 분석을 통해 발표자의 발화 여부 정보, 제스처 정보, 시선 정보, 이미지 경계 정보, 및/또는 이미지 경계를 기준으로 편집된 발표자 영상 정보를 포함하는 발표자 영상 분석 정보를 생성할 수 있다. 다양한 실시예에 따르면, 서버(720)는 전자 장치(710) 및/또는 외부 전자 장치(730)로부터 수신한 발표자 영상 분석 정보를 이용하여 현재 발화 중인 발표자의 발표자 영상 정보가 어떤 장치로부터 전송된 정보인지 판단할 수 있고, 발표자 영상 정보를 발화 중인 발표자의 영상 정보로 대체하거나 변경할 수 있다.
동작 715를 참조하면, 서버(720)는 발표자 영상 및 컨텐츠 화면을 합성할 수 있다.
다양한 실시예에 따르면, 서버(720)는 컨텐츠 정보 및 발표자 영상 정보를 합성할 수 있다. 서버(720)는 컨텐츠 정보 및 발표자 영상 정보를 합성하여 합성된 영상을 생성할 수 있다. 다양한 실시예에 따르면, 합성할 컨텐츠 정보는 컨텐츠 정보가 실행 또는 표시되는 화면을 의미할 수 있다. 다양한 실시예들에 따르면, 서버(720)는 컨텐츠 화면의 구분된 영역 중 선택된 적어도 하나의 영역에 발표자 영상을 배치하여 발표자 영상을 합성할 수 있다. 서버(720)는 선택된 지정된 영역에 발표자 영상이 배치되어 합성된 영상을 생성할 수 있다. 다양한 실시예에 따르면, 발표자 영상은 동작 713에서 편집된 발표자 영상일 수 있다.
동작 717을 참조하면, 서버(720)는 스트리밍 정보를 다른 전자 장치(예: 전자 장치(710) 및/또는 외부 전자 장치(730))로 전송할 수 있다. 스트리밍 정보는, 컨텐츠 정보 및 발표자 영상 정보가 합성된 영상을 포함할 수 있다. 스트리밍 정보를 수신한 전자 장치(710) 및/또는 외부 전자 장치(730)는, 동작 719를 참조하면, 서버(720)로부터 수신한 스트리밍 정보를 출력할 수 있다. 다양한 실시예에 따르면, 전자 장치(710)는 전자 장치의 출력 모듈(예: 도 3의 출력 모듈(340))로 스트리밍 정보에 포함된 합성 영상 정보를 출력할 수 있다.
도 8은 다양한 실시예들에 따라 발표자 영상을 분석하는 실시예를 도시한 것이다.
도 8을 참조하면, 전자 장치(예: 도 3의 전자 장치(300))는 발표자 영상 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 영상을 분석하고 편집할 수 있다. 다양한 실시예에 따르면, 화상 회의 참석자는 복수일 수 있고, 각 참석자에 해당하는 발표자 영상 정보 역시 복수일 수 있다. 발표자 영상 정보가 복수인 경우(810), 전자 장치(예: 도 3의 전자 장치(300))는 복수의 발표자 영상(예: 제1 발표자영상 정보(811), 제2발표자 영상 정보(812), 제3발표자 영상 정보(813) 및 제4발표자 영상 정보(814))을 수신할 수 있다. 전자 장치(300)는 수신한 복수개의 발표자 영상 정보를 각각 분석할 수 있고, 발표자 영상 분석 정보를 각각의 발표자 영상 정보에 대하여 생성할 수 있다. 전자 장치(300)는 발표자 영상 정보 내에서 사람으로 분류될 수 있는 오브젝트가 인식되면, 제스처 정보 및/또는 얼굴의 특징점을 분석할 수 있다. 예를 들면, 전자 장치(300)는 인식된 이미지 오브젝트의 변화를 인지하고, 이를 기 저장된 데이터, 서버로부터 수신한 데이터 또는 알고리즘을 이용하여 제스처 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 영상 정보 분석을 통해 발표자의 제스처를 분석하고, 제스처 정보를 생성할 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 영상 내에 포함되는 얼굴의 특징점을 분석할 수 있고, 이를 통하여 발표자의 표정 정보, 발표자의 시선 정보 및/또는 발표자가 발화 중인지 여부를 식별할 수 있다. 다양한 실시예에 따르면, 복수의 발표자 영상을 분석한 결과, 발화 중인 발표자의 발표자 영상 정보(815)를 선택할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는, 발표자의 음성 정보를 수신할 수 있다. 예를 들면, 발표자 영상 정보에 포함된 오디오 데이터를 발표자 음성 정보로서 수신할 수 있다. 또는, 입력 모듈(320)의 마이크를 이용하여 발표자가 입력한 음성 정보를 수신할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 음성 정보를 분석하여 발표자의 현재 발표 내용을 파악할 수 있다. 예를 들면, 전자 장치(300)는 발표자 음성 정보를 인식하고, 형태소 또는 의미 단위 별로 분석할 수 있고, 또는 발표자 음성 정보를 텍스트화 하여 텍스트 정보를 이용하여 내용 분석을 수행할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 음성 정보를 분석하고, 현재 발화 중인 발표자의 발표자 영상 정보(815)를 선택할 수 있다.
다양한 실시예에 따르면, 발화자로 판단되는 발표자 영상 정보(815) 또는 발표자 영상 정보가 하나(820)인 경우, 전자 장치(300)는 발표자 영상 정보(821) 내에서 사람으로 분류될 수 있는 오브젝트(822)가 인식되면, 제스처 정보 및/또는 얼굴의 특징점을 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 영상 정보 분석을 통해 발표자의 제스처를 분석하고, 제스처 정보를 생성할 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 영상 내에 포함되는 얼굴로 인식되는 오브젝트(822)의 특징점을 분석할 수 있고, 이를 통하여 발표자의 표정 정보, 발표자의 시선 정보 및/또는 발표자가 발화 중인지 여부를 식별할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 인식한 오브젝트의 이미지 경계를 계산할 수 있다. 전자 장치(300)는 이미지 오브젝트의 픽셀 정보를 이용하여 이미지의 경계를 계산하고, 이미지 경계를 기준으로 각 오브젝트의 위치 정보를 추출할 수 있고, 이미지 경계 내의 픽셀 정보만을 영상 정보로서 추출하거나 발표자 영상 정보를 편집할 수 있다. 예를 들면, 발표자로 인식된 이미지 오브젝트가 형성하는 경계를 기준으로, 발표자 영상 내에서 발표자 형상의 이미지 부분(824)만을 잘라내어 발표자 영상 정보를 편집할 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 발표자 영상 분석을 통해 발표자의 발화 여부 정보, 제스처 정보, 시선 정보, 이미지 경계 정보, 및/또는 이미지 경계를 기준으로 편집된 발표자 영상 정보(823)를 포함하는 발표자 영상 분석 정보를 생성할 수 있다.
도 9는 다양한 실시예들에 따른 전자 장치가 발표자 영상을 분석하는 방법의 흐름도이다.
도 9를 참조하면, 발표자 영상 정보를 분석하는 일련의 동작은 전자 장치(예: 도 3의 전자 장치(300) 또는 도 2의 서버 장치(220))에 의하여 수행될 수 있다.
동작 910을 참조하면, 전자 장치는 영상 내의 오브젝트를 확인, 분류 및 선별할 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 영상 정보를 분석할 수 있다. 영상 정보는, 예를 들면, 발표자 영상 정보 및/또는 컨텐츠 정보에 해당하는 영상 정보일 수 있다. 영상 정보는 전자 장치(300)가 촬영한 데이터 또는 외부 전자 장치로부터 수신한 영상 정보일 수 있다. 예를 들면, 영상 정보는, 전자 장치(300)가 통신 모듈(310)을 이용하여 외부 장치(예: 도 2의 서버 장치(220))로부터 수신한 정보일 수 있고, 또는, 입력 모듈(320)을 이용하여 촬영한 데이터일 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 발표자 영상 분석에 인공지능 알고리즘을 이용할 수 있고, 예를 들면, 신경망 네트워크(예: ANN, CNN)를 이용하여 학습된 알고리즘을 미리 저장하거나, 서버로부터 알고리즘 데이터를 수신할 수도 있다.
다양한 실시예들에 따르면, 전자 장치(300)는 영상 정보에서 이미지를 추출하고, 이미지 분석을 수행할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 영상 정보에 포함된 이미지를 분석하여 이미지에 포함된 적어도 하나의 오브젝트를 확인할 수 있다. 영상 정보의 이미지에 포함된 적어도 하나의 오브젝트는, 예를 들면, 사람(예: 발표자) 이미지, 발표 자료로서 지정된 이미지, 및/또는 텍스트와 같은 시각적으로 식별 가능한 객체일 수 있다. 전자 장치(300)는 이미지에 포함된 적어도 하나의 오브젝트를 카테고리 별로 분류할 수 있고, 해당 분류에 기초하여 각 오브젝트에 대한 분석을 수행하거나 지정된 동작을 실행하기 위한 판단을 수행할 수 있다. 예를 들면, 전자 장치(300)는 영상 내에서 인식된 오브젝트를 사람, 이미지, 텍스트, 스크린, 칠판과 같은 오브젝트 속성 별로 분류할 수 있다. 전자 장치(300)는 분류된 오브젝트를 선별할 수 있다. 선별하는 동작은, 영상 분석의 복잡도를 낮추기 위한 동작일 수 있다. 예를 들면, 전자 장치(300)는 분류된 지정된 오브젝트의 크기, 및/또는 출현 빈도를 기준으로 분석에 필요한 오브젝트만을 선별할 수 있다.
동작 920을 참조하면, 전자 장치(300)는 영상 정보를 분석하고, 동일 영상 내에 인간 오브젝트(예: 발표자) 및 컨텐츠 오브젝트가 동시에 존재하는지 판단할 수 있다. 예를 들면, 동일 영상 내에 발표자와 컨텐츠가 존재하는 경우는 해당 영상 정보가 발표자가 오프라인 상에서 컨텐츠를 배경으로 하여 발표를 진행하는 영상을 촬영한 정보일 수 있다. 전자 장치(300)는 수신 또는 촬영 중인 영상 정보의 분석을 통하여 오브젝트를 인식하고, 인식한 오브젝트를 분류할 수 있고, 오브젝트 분류에 기초하여 영상 정보가 어떤 영상 정보인지 판단할 수 있다. 예를 들면, 영상 정보 상에서 인식된 주된 오브젝트가 사람인 경우, 발표자 영상으로 인식할 수 있고, 사람과 발표 자료(예: 컨텐츠 정보)에 분류될 수 있는 지정된 오브젝트(예: 컨텐츠 오브젝트)가 함께 인식되는 경우 해당 영상을 발표자를 컨텐츠를 배경으로 하여 촬영한 영상임을 판단할 수 있다.
동작 930을 참조하면, 전자 장치(300)는 발표자와 컨텐츠가 동일한 영상 내에 존재한다고 판단하는 경우(동작 920 - 예), 영상 정보 내에서 발표자 영상을 따로 분리하여 추출할 수 있다. 전자 장치(300)는 영상 추출 기술을 이용하여 발표자로 인식되는 부분의 이미지 경계를 기준으로 하여 발표자의 영상 정보를 추출할 수 있고, 추출된 발표자 영상 정보를 이용하여 발표자 영상 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 영상 내에 존재하는 컨텐츠 정보를 추출할 수 있다. 예를 들면, 영상 내에 존재하는 컨텐츠는 스크린, 및/또는 칠판과 같은 지정된 평면 물체일 수 있고, 전자 장치(300)는 영상 정보 분석을 통해 지정된 시각적 오브젝트로 인식할 수 있다. 전자 장치(300)는 오브젝트 분류를 통하여 컨텐츠로 인식된 하나 이상의 오브젝트를 분리하여 이미지로 추출하여 하나의 컨텐츠 이미지로서 생성할 수 있다. 전자 장치(300)는 영상 정보에서 추출된 컨텐츠 이미지를 컨텐츠 정보로 생성하여 추출할 수 있다.
동작 940을 참조하면, 전자 장치(300)는 발표자와 컨텐츠가 동일한 영상 내에 존재하지 않는다고 판단하는 경우(동작 920 - 아니오), 전자 장치(300)는 인간 오브젝트가 존재하는지 여부를 판단할 수 있다. 전자 장치(300)는 발표자 영상 정보 내에서 이미지 오브젝트를 인식하고, 분류하고, 선별할 수 있다. 전자 장치(300)는 발표자 영상 정보 내에서 사람으로 분류될 수 있는 오브젝트가 인식되면, 제스처 정보 및/또는 얼굴의 특징점을 분석할 수 있다(동작 950).
동작 950을 참조하면, 전자 장치(300)는 발표자 영상 정보 내에서 사람으로 분류될 수 있는 오브젝트가 인식되면(동작 940 - 예), 전자 장치(300)는 제스처 정보를 분석할 수 있고, 얼굴의 특징점을 분석할 수 있다. 전자 장치(300)는 인식된 이미지 오브젝트의 변화를 인지하고, 이를 기 저장된 데이터, 서버로부터 수신한 데이터 또는 알고리즘을 이용하여 제스처 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 영상 정보 분석을 통해 발표자의 제스처를 분석하고, 제스처 정보를 생성할 수 있다. 다양한 실시예들에 따르면, 전자 장치(300)는 영상 내에 포함되는 얼굴의 특징점을 분석할 수 있고, 이를 통하여 발표자의 표정 정보, 발표자의 시선 정보 및/또는 발표자가 발화 중인지 여부를 식별할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 인식한 오브젝트의 이미지 경계를 계산할 수 있다.
동작 960을 참조하면, 전자 장치(300)는 이미지 오브젝트의 픽셀 정보를 이용하여 이미지의 경계를 계산할 수 있다. 전자 장치(300)는 이미지 경계를 기준으로 각 오브젝트의 위치 정보를 추출할 수 있고, 이미지 경계 내의 픽셀 정보만을 영상 정보로서 추출하거나 발표자 영상 정보를 편집할 수 있다. 예를 들면, 발표자로 인식된 이미지 오브젝트가 형성하는 경계를 기준으로, 발표자 영상 내에서 발표자 형상의 이미지 부분만을 잘라내어 발표자 영상 정보를 편집할 수 있다.
동작 970을 참조하면, 전자 장치(300)는 발표자 영상 분석을 통해 발표자의 발화 여부 정보, 제스처 정보, 시선 정보, 이미지 경계 정보, 및/또는 이미지 경계를 기준으로 편집된 발표자 영상 정보를 포함하는 발표자 영상 분석 정보를 생성할 수 있다. 다양한 실시예에 따르면, 동작 940에서, 인간 오브젝트가 존재하지 않는다고 판단되는 경우, 발표자 영상이 아닌 컨텐츠 영상의 경우일 수 있다. 이 경우, 발표자 영상 분석 정보를 생성하지 않고 컨텐츠 분석 정보를 생성하는 동작을 수행할 수 있고, 도 14에서 후술하기로 한다.
도 10, 도 11, 도 12 및 도 13은 다양한 실시예들에 따라 컨텐츠를 분석하는 실시예를 도시한 것이다.
다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 정보를 분석할 수 있다. 컨텐츠 정보는, 발표자가 발표 자료로 이용할 수 있는 멀티미디어 데이터일 수 있다. 예를 들어, 컨텐츠 정보는 텍스트, 이미지, 동영상, 전자 장치(210)에서 실행 가능한 어플리케이션으로써 실행되거나 전자 장치(210)의 디스플레이 상에 출력될 수 있는 데이터(예: 파워포인트(Power Point TM) 데이터) 및 이 가운데 적어도 일부의 조합을 포함할 수 있다. 컨텐츠 정보는, 전자 장치(300)가 실행하거나 표시하는 데이터, 또는 외부 전자 장치로부터 수신한 멀티미디어 데이터 정보일 수 있다. 컨텐츠 정보는, 전자 장치(300)가 통신 모듈(310)을 이용하여 외부 장치(예: 도 2의 서버 장치(220))로부터 수신한 정보일 수 있고, 또는, 전자 장치(300)에 의해 실행되거나, 실행되어 출력 모듈(340)에 의하여 출력되는 데이터일 수 있다. 또는, 컨텐츠 정보는 전자 장치(300)가 다른 영상 정보로부터 컨텐츠로 식별되는 이미지 영역만을 추출한 이미지 데이터일 수 있다.
도 10을 참조하면, 다양한 실시예에 따른 컨텐츠 정보는 이미지, 및/또는 텍스트가 조합된 화면(1010)으로 표현될 수 있다.
도 10을 참조하면, 전자 장치(300)는 컨텐츠 정보가 텍스트, 이미지, 동영상 또는 그들의 조합으로 이루어진 경우, 텍스트, 이미지 및/또는 영상을 분석할 수 있다. 예를 들면, 컨텐츠 정보는 동일한 출력 화면 내에 복수개의 멀티미디어 컨텐츠(예: 이미지, 텍스트)를 포함하는 형태일 수 있다. 이 때 전자 장치(300)는 각 컨텐츠 별로 컨텐츠 오브젝트로서 인식할 수 있다. 전자 장치(300)는 인식한 컨텐츠 오브젝트를 각각 확인할 수 있고, 확인된 오브젝트를 분류 및 선별할 수 있다. 예를 들어, 확인된 컨텐츠 오브젝트는 각각 이미지, 텍스트, 및/또는 영상과 같이 컨텐츠의 타입 별로 분류될 수 있다. 도 10을 참조하면, 컨텐츠 정보(1010)는 인식된 각 오브젝트를 분류하여 텍스트1(Text1)(1021), 이미지1(Img1)(1022), 이미지2(Img2)(1023), 텍스트2(Text2)(1024), 이미지3(Img3)(1025) 및 텍스트3(Text3)(1026)으로 분류할 수 있다.
도 11을 참조하면, 도 10에서 분류한 컨텐츠 오브젝트 간의 논리적 연결 링크를 구성한 예시도이다. 다양한 실시예에 따르면, 전자 장치(300)는 각 컨텐츠 오브젝트가 분류된 타입 별로 이미지 분석, 텍스트 분석(예: OCR(optical character recognition)) 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트에 포함될 수 있는 의미 단위를 분석하거나, 연관된 텍스트 정보를 추출할 수 있다. 전자 장치(300)는 이미지 분석, 텍스트 분석 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트의 내용 정보를 추출할 수 있다. 또한, 컨텐츠 오브젝트가 화면에 표시되는 위치, 및/또는 크기를 확인하고 크기 및 위치에 대한 정보를 추출할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 확인된 컨텐츠 오브젝트에서 추출된 의미 단위 정보, 연관된 텍스트 정보 및/또는 위치 정보를 이용하여 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 생성할 수 있다. 논리적 연결 링크란, 예를 들면, 각 컨텐츠 오브젝트 간 컨텍스트(context) 정보를 의미할 수 있고, 논리적으로 예상되는 발표의 내용적 경로를 의미할 수 있다. 다양한 실시예에 따르면, 컨텍스트 정보 또는 논리적 연결 링크 정보는, 각 컨텐츠 오브젝트에서 추출된 정보를 이용하여 각 컨텐츠 오브젝트가 포함하는 정보의 유사도, 및/또는 거리의 근접도를 이용하여 서로 관련성이 높은 컨텐츠 오브젝트의 순서 및/또는 연결 링크를 의미할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 현재 발표자의 발표가 지정된 오브젝트와 관련이 있다고 판단할 경우, 해당 발표 내용 직후에 진행될 발표의 내용과 가장 관련성 높은 오브젝트는 논리적 연결 링크 정보 상에서 현재 오브젝트와 가장 가까운 링크에 존재하는 오브젝트라고 예상할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 오브젝트의 위치 정보, 내용 정보, 페이지 정보, 페이지 매핑 정보 중 적어도 하나를 포함하는 컨텐츠 분석 정보를 생성할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 서버 장치(예: 도 2의 220)로 컨텐츠 분석 정보를 통신 모듈(310)을 통해 전송할 수 있다. 도 11을 참조하면, 컨텐츠 오브젝트의 위치 정보를 기준으로 논리적 연결 링크 정보를 구성한 예시를 구성할 수 있다. 예를 들어, 컨텐츠 오브젝트의 위치를 상하 관계로 분류한 경우(1110), 텍스트1(Text1)(1021)에서 시작되는 논리적 연결 링크(1130)는 각각 텍스트1(Text1)(1021), 이미지1(Img1)(1022) 및 텍스트2(Text2)(1024)로 연결되는 링크일 수 있다. 또한, 이미지2(Img2)(1023)에서 시작되는 논리적 연결 링크(1140)는 이미지2(Img2)(1023)에서 이미지3(Img3)(1025) 또는 텍스트3(Text3)(1026)으로 연결되는 링크일 수 있다. 또 다른 예를 들어, 컨텐츠 오브젝트의 위치를 좌우 관계로 분류한 경우(1120), 텍스트1(Text1)(1021)에서 시작되는 논리적 연결 링크(1150)는 이미지2(Img2)(1023)로 연결되는 링크일 수 있다. 또한, 이미지1(Img1)(1022)에서 시작되는 논리적 연결 링크(1160)는 이미지1(Img1)(1022)에서 이미지2(Img2)(1023)로 연결되는 링크일 수 있으며, 텍스트2(Text2)(1024)에서 시작되는 논리적 연결 링크(1170)는 이미지3(Img3)(1025) 및 텍스트3(Text3)(1026)으로 연결되는 링크일 수 있다. 다양한 실시예에 따른 전자 장치(300)는 발표자 영상 정보를 배치할 컨텐츠 화면의 일부 영역을 결정하는 경우 발표자 영상 정보를 배치할 영역은 컨텐츠 분석 정보에 포함된 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 선택될 수 있다. 전자 장치(300)는 현재 진행 중인 발표 내용과 관련 있는 컨텐츠 오브젝트에서, 다음 컨텐츠 오브젝트로 발표 내용이 진행되는 경우, 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 추후에 진행될 발표 내용과 가장 관련성 높은 컨텐츠 오브젝트를 예측할 수 있다. 전자 장치(300)는 현재 발표자 영상 정보가 지정된 영역에 배치되어 있고, 미리 예측된 컨텐츠 오브젝트로 발표의 내용이 진행될 것으로 예측되는 경우, 앞으로 배치할 영역을 선택할 때 예측된 컨텐츠 오브젝트에 대하여 가장 적합한 영역을 선택할 수 있다. 예를 들어, 현재 발표 위치가 이미지1(Img1)(1022)인 것으로 판단되는 경우, 전자 장치(300)는 다음 발표 내용에 대응되는 컨텐츠 오브젝트는 상하 관계를 기초로 텍스트2(Text2)(1024)인 것으로, 또는 좌우 관계에 대한 논리적 연결 링크 정보를 기초로 이미지2(Img2)(1023)를 예측할 수 있다.
도 12를 참조하면, 전자 장치(예: 도 3의 전자 장치(300))는 컨텐츠 정보가 어플리케이션으로써 실행 가능한 데이터에 해당하는 경우, 어플리케이션의 실행 데이터 및 해당 어플리케이션에 대한 입력 데이터를 분석할 수 있다. 예를 들어, 전자 장치(300)는 어플리케이션의 UI(user interface)를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 시뮬레이션 기법을 이용하여 해당 어플리케이션의 UI 페이지 이동에 대한 시뮬레이션을 기초로 하여 각 UI 페이지 및/또는 팝업 윈도우와 같은 UI 레이아웃 상 페이지, 및/또는 윈도우 별 연결 정보를 확인할 수 있다(1210). 다양한 실시예에 따르면, 전자 장치(300)는 해당 어플리케이션의 UI 페이지 및/또는 윈도우 별로 각 이동 가능한 페이지 및/또는 윈도우를 조합하여 UI 페이지 간 매핑 정보를 획득할 수 있다. 도 12를 참조하면, UI 페이지 A(UI Page: A)(1230)에서 시뮬레이션을 수행하여 클릭 가능한 오브젝트(1240)를 클릭하여 진행되는 UI 페이지 B(UI Page: B)(1250)를 확인할 수 있고, UI 페이지 A(1230)와 UI 페이지 B(1250)가 클릭 가능한 오브젝트(1240)로써 연결되는 관계를 확인할 수 있다. 동일한 방법에 따라 다시 복귀한 UI 페이지 A(1260)에서 다른 클릭 가능한 오브젝트(1270)를 클릭하여 시뮬레이션 결과 UI 페이지 C(UI Page C)(1280)와 연결됨을 확인할 수 있다. 이러한 시뮬레이션을 반복하여 UI 페이지 간 연결 정보(1220)를 확인하고, UI 페이지 간 리소스에 대한 연결 정보를 매핑한 결과를 추출할 수 있다. 도 12를 참조하면, 전자 장치(300)는 UI 페이지 간의 연결 정보(1220)를 추출할 수 있다.
도 13을 참조하면, 다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 정보가 상기한 타입 이외의 어플리케이션으로써 실행 가능한 데이터에 해당하는 경우, 어플리케이션의 실행 데이터 및 해당 어플리케이션에 대한 입력 데이터를 분석할 수 있다. 예를 들어, 전자 장치(300)는 어플리케이션의 UI(user interface)를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 시뮬레이션 기법을 이용하여 해당 어플리케이션의 UI 페이지 이동에 대한 시뮬레이션을 기초로 하여 각 UI 페이지 및/또는 팝업 윈도우와 같은 UI 레이아웃 상 페이지, 및/또는 윈도우 별 연결 정보를 확인할 수 있고, 또는, 이러한 정보는 전자 장치(300)의 다른 구성요소(예: 메모리(330))에 미리 저장되어 있을 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 해당 어플리케이션의 UI 페이지 및/또는 윈도우 별로 각 이동 가능한 페이지 및/또는 윈도우를 조합하여 UI 페이지 간 매핑 정보를 획득할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 동일한 UI 페이지 내에서 페이지 이동, 및/또는 팝업 윈도우 생성을 트리거링(triggering)하는 UI 구성요소(예: UI 오브젝트)에 대한 분석을 수행할 수 있다. 이는 동일한 UI 페이지 내의 UI 구성요소 각각이 포함하는 컨트롤 정보를 읽어 들임으로써 가능할 수 있다. 동일한 페이지 내의 모든 UI 컨트롤 정보를 조합하여 현재의 UI 페이지를 확인할 수 있다. 이러한 컨트롤 정보 및 그 조합은 전자 장치(300)가 실시간으로 분석하는 것도 가능하고, 전자 장치(300)에 미리 저장되어 있는 정보일 수 있다. 또한 전자 장치(300)는 UI 페이지 내에서 식별되는 적어도 하나의 오브젝트에 대한 정보를 확인할 수 있다. 도 13을 참조하면, 예를 들어, 지정된 UI 페이지(1300)를 구성하는 각 오브젝트(예: 도 3의 1310, 1320, 1330, 1340)에 대하여 정보를 분석할 수 있다. 예를 들어, 지정된 오브젝트(1310)에 대하여 해당 오브젝트에 대한 리소스 정보(1311)를 추출할 수 있다. 리소스 정보(1311)에는, 해당 오브젝트의 타입(예: 이미지, 레이아웃), 리소스 ID(resource identification) 및 컨트롤 정보(예: isClickable/isLongClickable/isScrollable/isFocusable)(예: 클릭 가능 여부, 긴 클릭 가능 여부, 스크롤 여부, 확대 여부)를 확인하고 해당 정보를 추출하여 컨텐츠 분석 정보에 포함할 수 있다.
도 14는 다양한 실시예들에 따른 전자 장치가 컨텐츠를 분석하는 방법의 흐름도이다.
도 14를 참조하면, 전자 장치(예: 도 3의 전자 장치(300), 도 2의 서버 장치(220))는 컨텐츠 정보를 분석할 수 있다.
동작 1410을 참조하면, 전자 장치(300)는 컨텐츠 정보의 타입을 결정할 수 있다. 예를 들면, 전자 장치(300)에서 컨텐츠 정보를 실행하거나 표시하기 위하여 필요한 어플리케이션의 종류를 확인할 수 있다. 또는 이미 실행 중인 컨텐츠 정보를 표시하기 위한 어플리케이션의 종류를 통해 컨텐츠 정보의 타입을 결정할 수 있다. 컨텐츠 정보의 타입은, 동영상, 이미지, 텍스트 또는 그들의 조합으로 이루어진 경우와 그 외의 어플리케이션으로 나누어질 수 있다. 결정된 컨텐츠 정보의 타입에 기초하여 컨텐츠 분석 방법이 상이할 수 있다.
동작 1420을 참조하면, 전자 장치(300)는 컨텐츠 정보가 텍스트, 이미지, 동영상 또는 그들의 조합으로 이루어진 경우, 텍스트, 이미지 및/또는 영상을 분석할 수 있다. 예를 들면, 컨텐츠 정보는 동일한 출력 화면 내에 복수개의 멀티미디어 컨텐츠(예: 이미지, 텍스트)를 포함하는 형태일 수 있다. 이 때 전자 장치(300)는 각 컨텐츠 별로 컨텐츠 오브젝트로서 인식할 수 있다. 동작 1430을 참조하면, 전자 장치(300)는 인식한 컨텐츠 오브젝트를 각각 확인할 수 있고, 확인된 오브젝트를 분류 및 선별할 수 있다. 예를 들어, 확인된 컨텐츠 오브젝트는 각각 이미지, 텍스트, 및/또는 영상과 같이 컨텐츠의 타입 별로 분류될 수 있다.
동작 1440을 참조하면, 전자 장치(300)는 컨텐츠 정보가 상기한 타입 이외의 어플리케이션으로써 실행 가능한 데이터에 해당하는 경우, 어플리케이션의 실행 데이터 및 해당 어플리케이션에 대한 입력 데이터를 분석할 수 있다. 예를 들어, 전자 장치(300)는 어플리케이션의 UI(user interface)를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 시뮬레이션 기법을 이용하여 해당 어플리케이션의 UI 페이지 이동에 대한 시뮬레이션을 기초로 하여 각 UI 페이지 및/또는 팝업 윈도우와 같은 UI 레이아웃 상 페이지, 및/또는 윈도우 별 연결 정보를 확인할 수 있고, 또는, 이러한 정보는 전자 장치의 다른 구성 요소(예: 메모리(330))에 미리 저장되어 있을 수 있다.
동작 1450을 참조하면, 전자 장치는 컨텐츠 오브젝트를 확인하고, 레이아웃 정보 및/또는 페이지 정보를 분석할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 해당 어플리케이션의 UI 페이지, 윈도우 별로 각 이동 가능한 페이지 및/또는 윈도우를 조합하여 UI 페이지 간 매핑 정보를 획득할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 동일한 UI 페이지 내에서 페이지 이동, 및/또는 팝업 윈도우 생성을 트리거링(triggering)하는 UI 구성요소(예: UI 오브젝트)에 대한 분석을 수행할 수 있다. 이는 동일한 UI 페이지 내의 UI 구성요소 각각이 포함하는 컨트롤 정보를 읽어 들임으로써 가능할 수 있다. 동일한 페이지 내의 모든 UI 컨트롤 정보를 조합하여 현재의 UI 페이지를 확인할 수 있다. 이러한 컨트롤 정보 및 그 조합은 전자 장치(300)가 실시간으로 분석하는 것도 가능하고, 전자 장치(300)에 미리 저장되어 있는 정보일 수 있다. 또한 전자 장치(300)는 UI 페이지 내에서 식별되는 오브젝트에 대한 정보를 확인할 수 있다.
동작 1460을 참조하면 전자 장치(300)는 컨텐츠 오브젝트의 위치 정보 및 컨텐츠 오브젝트 내용 정보를 추출할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 각 컨텐츠 오브젝트가 분류된 타입 별로 이미지 분석, 텍스트 분석(예: OCR(optical character recognition)) 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트에 포함될 수 있는 의미 단위를 분석하거나, 연관된 텍스트 정보를 추출할 수 있다. 전자 장치(300)는 이미지 분석, 텍스트 분석 및/또는 영상 분석을 이용하여 각 컨텐츠 오브젝트의 내용 정보를 추출할 수 있다. 또한, 컨텐츠 오브젝트가 화면에 표시되는 위치, 및/또는 크기를 확인하고 크기 및 위치에 대한 정보를 추출할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 확인된 컨텐츠 오브젝트에서 추출된 의미 단위 정보, 연관된 텍스트 정보 및/또는 위치 정보를 이용하여 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 생성할 수 있다. 논리적 연결 링크란, 예를 들면, 각 컨텐츠 오브젝트 간 컨텍스트(context) 정보를 의미할 수 있고, 논리적으로 예상되는 발표의 내용적 경로를 의미할 수 있다. 다양한 실시예에 따르면, 컨텍스트 정보 또는 논리적 연결 링크 정보는, 각 컨텐츠 오브젝트에서 추출된 정보를 이용하여 각 컨텐츠 오브젝트가 포함하는 정보의 유사도, 및/또는 거리의 근접도를 이용하여 서로 관련성이 높은 컨텐츠 오브젝트의 순서 및/또는 연결 링크를 의미할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 현재 발표자의 발표가 지정된 오브젝트와 관련이 있다고 판단할 경우, 해당 발표 내용 직후에 진행될 발표의 내용과 가장 관련성 높은 오브젝트는 논리적 연결 링크 정보 상에서 현재 오브젝트와 가장 가까운 링크에 존재하는 오브젝트라고 예상할 수 있다. 동작 1470을 참조하면, 전자 장치(300)는 컨텐츠 오브젝트의 위치 정보, 내용 정보, 페이지 정보, 페이지 매핑 정보 중 적어도 하나를 포함하는 컨텐츠 분석 정보를 생성할 수 있다.
도 15는 다양한 실시예들에 따라 컨텐츠 화면의 영역을 구분하고, 발표자 영상을 동적으로 배치하는 실시예를 도시한 것이다.
도 15를 참조하면, 전자 장치(예: 도 3의 전자 장치(300) 또는 도 2의 서버 장치(220))는 컨텐츠 화면을 복수의 영역으로 구분할 수 있다(1510).
다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 분석 정보에 기초하여 컨텐츠 화면을 하나 이상의 영역으로 구분할 수 있다. 컨텐츠 화면은 컨텐츠 정보를 표시하는 지정된 화면의 전부 또는 일부 영역일 수 있다. 전자 장치(300)는 컨텐츠 정보 내에서 인식된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 컨텐츠 화면의 영역을 구분할 수 있다. 다양한 실시예에 따르면 전자 장치(300)는 컨텐츠 분석 정보의 레이아웃에 관한 정보를 이용하여 지정된 UI 오브젝트 별로 영역을 구분할 수 도 있다. 다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 오브젝트의 내용 정보에 기초하여, 관련된 컨텐츠 오브젝트를 포함하는 지정된 일부 영역을 하나의 영역으로 구분할 수도 있다. 예를 들어, 도 15를 참조하면, 전자 장치(300)는 컨텐츠 화면(1510)을 복수의 영역으로 구분할 수 있다. 구분된 복수의 영역 중 제1영역(1511) 및 제2영역(1513)의 예를 참조하면, 제1영역(1511)은 이미지 컨텐츠 오브젝트가 존재하는 어떤 영역일 수 있고, 제2영역(1513)은 다른 이미지 컨텐츠 오브젝트가 존재하는 영역일 수 있다.
다양한 실시예에 따르면, 전자 장치(300)는 구분된 영역 중 발표자 영상을 배치할 영역을 선택할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 구분된 컨텐츠 화면의 각 영역 중 적어도 하나의 영역을 발표자 영상을 배치할 영역으로서 선택할 수 있다. 다양한 실시예에 따르면, 배치할 영역은 컨텐츠 정보에 대한 사용자(예: 발표자)의 입력 정보(컨텐츠 입력 정보), 발표자의 제스처 정보 및/또는 발표자의 음성 정보(1540)를 기초로 선택될 수 있다.
도 15를 참조하면, 전자 장치(300)가 컨텐츠 화면의 구분된 영역 중 발표자 영상 정보를 제1배치결과(1520) 및 제2배치결과(1530)와 같이 동적으로 배치할 수 있다. 예를 들어, 제1배치결과(1520)를 참조하면, 제1영역(1511)의 컨텐츠 오브젝트(1521)에 대하여 컨텐츠 입력 정보, 발표자 제스처 정보 및/또는 발표자 음성 정보가 검출된 경우일 수 있다. 이 경우, 발표자 영상 정보(1522)를 제1영역(1511)의 컨텐츠 오브젝트(1521)와 인접하나, 컨텐츠 오브젝트(1521)의 시야를 방해하지 않는 제1영역(1511)이 아닌 다른 영역 상에 배치할 수 있다. 또 다른 예를 들면, 제2배치결과(1530)를 참조하면, 제2영역(1513)의 컨텐츠 오브젝트(1531)에 대하여 컨텐츠 입력 정보, 발표자 제스처 정보 및/또는 발표자 음성 정보가 검출된 경우일 수 있다. 이 경우 제2영역(1513)의 컨텐츠 오브젝트(1531)와 관련된 위치에 발표자 영상 정보(1532)를 배치할 수 있다. 이 경우, 발표자 영상 정보(1532)를 제2영역(1513)의 컨텐츠 오브젝트(1531)와 인접하나, 컨텐츠 오브젝트(1531)의 시야를 방해하지 않는 제2영역(1513)이 아닌 다른 영역 상에 배치할 수 있다.
도 16은 다양한 실시예들에 따른 전자 장치가 컨텐츠 화면의 영역을 구분하고, 발표자 영상을 동적으로 배치하는 방법의 흐름도이다.
도 16을 참조하면, 컨텐츠 화면의 영역을 구분하고, 발표자 영상을 동적으로 배치하는 일련의 동작은 전자 장치(예: 도 3의 전자 장치(300)) 또는 서버(예: 도 2의 서버 장치(220))의 동작일 수 있다.
동작 1610을 참조하면, 전자 장치(300)는 컨텐츠 분석 정보에 기초하여 컨텐츠 화면을 하나 이상의 영역으로 구분할 수 있다. 컨텐츠 화면은 컨텐츠 정보를 표시하는 지정된 화면의 전부 또는 일부 영역일 수 있다. 전자 장치(300)는 컨텐츠 정보 내에서 인식된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 컨텐츠 화면의 영역을 구분할 수 있다. 다양한 실시예에 따르면 전자 장치(300)는 컨텐츠 분석 정보의 레이아웃에 관한 정보를 이용하여 지정된 UI 오브젝트 별로 영역을 구분할 수 도 있다. 다양한 실시예에 따르면, 전자 장치(300)는 컨텐츠 오브젝트의 내용 정보에 기초하여, 관련된 컨텐츠 오브젝트를 포함하는 지정된 일부 영역을 하나의 영역으로 구분할 수도 있다.
동작 1620을 참조하면, 다양한 실시예에 따르면, 전자 장치(300)는 구분된 컨텐츠 화면의 각 영역 중 적어도 하나의 영역을 발표자 영상을 배치할 영역으로서 선택할 수 있다. 다양한 실시예에 따르면, 배치할 영역은 컨텐츠 정보에 대한 사용자(예: 발표자)의 입력 정보, 발표자의 제스처 정보 및/또는 발표자의 음성 정보를 기초로 선택될 수 있다.
다양한 실시예에 따르면, 전자 장치(300)는, 발표자의 음성 정보를 수신할 수 있다. 예를 들면, 발표자 영상 정보에 포함된 오디오 데이터를 발표자 음성 정보로서 수신할 수 있다. 또는, 입력 모듈(320)의 마이크를 이용하여 발표자가 입력한 음성 정보를 수신할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 음성 정보를 분석하여 발표자의 현재 발표 내용을 파악할 수 있다. 예를 들면, 전자 장치(300)는 발표자 음성 정보를 인식하고, 형태소 또는 의미 단위 별로 분석할 수 있고, 또는 발표자 음성 정보를 텍스트화 하여 텍스트 정보를 이용하여 내용 분석을 수행할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 음성 정보를 분석하고, 현재 진행 중인 발표 내용에 관한 정보를 이용하여 발표자 영상 정보를 병합할, 컨텐츠 화면 상에서 구분된 지정된 영역을 선택할 수 있다. 예를 들면, 컨텐츠 정보 내에 포함된 컨텐츠 오브젝트를 분석한 결과인 컨텐츠 분석 정보에는, 컨텐츠 오브젝트의 내용 정보가 포함될 수 있고, 전자 장치(300)는 발표자 음성 정보와 컨텐츠 오브젝트 내용 정보를 비교하여 현재 진행 중인 발표 내용과 가장 관련된 컨텐츠 오브젝트를 검출할 수 있다. 이 경우 전자 장치(300)는 컨텐츠 화면 중 구분된 복수개의 영역 중, 해당 컨텐츠 오브젝트를 가리지 않는 영역에 발표자 영상을 배치할 수 있고, 및/또는 해당 컨텐츠 오브젝트와 인접한 영역에 발표자 영상을 배치할 수 있다.
다양한 실시예에 따르면, 컨텐츠 정보에 대한 입력 정보는 입력 모듈(320)로부터 수신한 사용자의 입력일 수 있다. 예를 들면, 컨텐츠 입력 정보는 마우스 조작 입력 정보, 및/또는 키보드 조작 입력 정보와 같이, 컨텐츠 정보에 대한 입력 정보일 수 있다. 컨텐츠 상에 마우스 이동에 대한 조작 결과로, 지정된 위치에 마우스 포인터가 위치하게 되는 경우, 전자 장치(300)는 이를 인식하고, 해당 위치의 컨텐츠 오브젝트에 관한 발표 내용이 진행 중인 것으로 판단할 수 있다. 이 경우, 전자 장치(300)는 해당 컨텐츠 오브젝트의 시야를 방해하지 않거나, 해당 오브젝트와 인접한 영역을 선택할 수 있다. 다양한 실시예에 따르면, 컨텐츠 입력 정보는 컨텐츠 분석 정보에 포함될 수 있다.
다양한 실시예에 따르면, 발표자의 제스처 정보는, 발표자의 행동을 분석한 결과에 대한 정보일 수 있다. 예를 들어, 발표자 제스처 정보는 발표자 영상 분석 정보에 포함될 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 발표자 영상 분석 정보를 이용하여, 발표자의 제스처 정보를 기초로 현재 진행 중인 발표의 내용과 관련된 컨텐츠 오브젝트를 파악할 수 있다. 제스처 정보에는 발표자의 손짓, 발표자의 시선, 및/또는 발표자가 지정된 도구를 이용하여 컨텐츠를 가리키는 동작에 관한 정보를 포함할 수 있다. 다양한 실시예에 따르면, 발표자 영상 정보를 배치할 영역은 컨텐츠 분석 정보에 포함된 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 선택될 수 있다. 전자 장치(300)는 현재 진행 중인 발표 내용과 관련 있는 컨텐츠 오브젝트에서, 다음 컨텐츠 오브젝트로 발표 내용이 진행되는 경우, 컨텐츠 오브젝트 간 논리적 연결 링크에 대한 정보를 기초로 추후에 진행될 발표 내용과 가장 관련성 높은 컨텐츠 오브젝트를 예측할 수 있다. 전자 장치(300)는 현재 발표자 영상 정보가 지정된 영역에 배치되어 있고, 미리 예측된 컨텐츠 오브젝트로 발표의 내용이 진행될 것으로 예측되는 경우, 앞으로 배치할 영역을 선택할 때 예측된 컨텐츠 오브젝트에 대하여 가장 적합한 영역을 선택할 수 있다.
동작 1630을 참조하면, 전자 장치(300)는 컨텐츠 화면의 구분된 영역 중 선택된 적어도 하나의 영역에 발표자 영상을 배치하여 컨텐츠 화면 및 발표자 영상을 합성할 수 있다. 전자 장치(300)는 선택된 지정된 영역에 발표자 영상이 배치되어 합성된 영상을 생성할 수 있다. 다양한 실시예에 따르면, 전자 장치(300)는 통신 모듈(310)을 통해, 서버 장치(예: 도 2의 서버 장치(220))로 합성된 영상을 전송할 수 있고, 전자 장치(300)는 출력 모듈(340)을 이용하여 합성된 영상을 출력할 수 있다. 다양한 실시예에 따르면, 도 16에 따른 각 동작(1610, 1620 및 1630)이 서버 장치(220)의 동작으로 이루어지는 경우, 서버 장치(220)는 전자 장치(300) 및/또는 외부 전자 장치(예: 도 2의 외부 전자 장치(230))로 합성된 영상을 스트리밍하기 위하여 스트리밍 정보를 전송할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 화상 회의 서비스를 제공하는 전자 장치는, 통신 모듈, 입력 모듈, 디스플레이, 메모리, 및 상기 통신 모듈, 상기 입력 모듈, 상기 디스플레이 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 실행 중인 컨텐츠 정보를 분석하여 컨텐츠 분석 정보를 생성하고, 수신한 발표자 영상 정보를 분석하여 발표자 영상 분석 정보를 생성하고, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 정보에 대한 컨텐츠 실행 화면을 복수개의 영역으로 구분하고, 상기 컨텐츠 분석 정보 및 상기 발표자 영상 분석 정보에 기초하여 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고, 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 배치하여 합성하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 컨텐츠 정보로부터 적어도 하나의 컨텐츠 오브젝트를 추출하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 컨텐츠 오브젝트의 크기 및 상기 컨텐츠 오브젝트의 위치를 확인하고, 상기 확인된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 상기 복수개의 영역으로 구분하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 컨텐츠 오브젝트의 내용 정보를 추출하고, 상기 컨텐츠의 실행 화면을 복수개의 영역으로 구분하는 동작은, 상기 컨텐츠 오브젝트의 내용 정보에 기초하여 상기 컨텐츠 실행 화면을 복수개의 영역으로 구분하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 컨텐츠 정보에 대한 입력을 수신하고, 상기 컨텐츠에 대한 입력에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 발표자 영상 정보를 분석하여 상기 영상 정보로부터 발표자 제스처 정보를 추출하고, 상기 발표자 제스처 정보에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 발표자 영상 정보와 관련된 음성 정보를 더 수신하고, 상기 음성 정보를 분석하여 상기 음성 정보로부터 발표 내용과 관련된 정보를 추출하고, 상기 발표 내용과 관련된 정보에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 발표자 영상 정보를 분석하여 상기 발표자 영상 정보로부터 발표자 이미지를 추출하고, 상기 추출된 발표자 이미지에 기초하여 상기 발표자 영상 정보를 편집하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 컨텐츠 실행 시 컨텐츠에 대한 입력 및 컨텐츠의 기능 실행에 따른 UI 변화를 확인하고, 상기 UI 변화에 대한 UI 변화 정보를 저장하고, 상기 UI 변화 정보에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하여 생성된 합성 영상 정보를 생성하고, 상기 합성 영상 정보를 외부 전자 장치에 전송하도록 설정될 수 있다.
본 문서에 개시된 다양한 실시예에 따른 화상 회의 서비스를 제공하는 방법은, 실행 중인 컨텐츠 정보를 분석하여 컨텐츠 분석 정보를 생성하는 단계, 수신한 발표자 영상 정보를 분석하여 발표자 영상 분석 정보를 생성하는 단계, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 정보에 대한 컨텐츠 실행 화면을 복수개의 영역으로 구분하는 단계, 상기 컨텐츠 분석 정보 및 상기 발표자 영상 분석 정보에 기초하여 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하는 단계, 및 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하는 단계를 포함할 수 있다.
또한, 상기 컨텐츠 정보를 분석하는 단계는, 상기 컨텐츠 정보로부터 적어도 하나의 컨텐츠 오브젝트를 추출하는 단계, 및 상기 컨텐츠 오브젝트의 크기 및 상기 컨텐츠 오브젝트의 위치를 확인하는 단계를 더 포함하고, 상기 확인된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 상기 복수개의 영역으로 구분하는 단계를 포함할 수 있다.
또한, 상기 컨텐츠 정보를 분석하는 단계는, 상기 컨텐츠 오브젝트의 내용 정보를 추출하는 단계를 더 포함하고, 상기 컨텐츠의 실행 화면을 복수개의 영역으로 구분하는 단계는, 상기 컨텐츠 오브젝트의 내용 정보에 기초하여 상기 컨텐츠의 실행 화면을 복수개의 영역으로 구분하는 단계를 포함할 수 있다.
또한, 상기 컨텐츠 정보에 대한 입력을 수신하는 단계, 상기 컨텐츠 정보에 대한 입력에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하는 단계를 더 포함할 수 있다.
또한, 상기 발표자 영상 정보를 분석하는 단계는, 상기 발표자 영상 정보를 분석하여 발표자 제스처 정보를 추출하는 단계를 더 포함하고, 상기 발표자 제스처 정보에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하는 단계를 더 포함할 수 있다.
또한, 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하여 생성된 합성 영상 정보를 생성하는 단계, 및 상기 합성 영상 정보를 외부 전자 장치에 전송하는 단계를 더 포함할 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 서버 장치는, 통신 인터페이스, 메모리, 및 통신 인터페이스 및 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 외부 전자 장치로부터 발표자 영상 정보, 발표자 영상 분석 정보, 컨텐츠 실행 화면 정보 및 컨텐츠 분석 정보를 수신하고, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 실행 화면을 복수개의 영역으로 구분하고, 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고, 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하도록 설정될 수 있다.
또한, 상기 프로세서는, 복수의 발표자 영상 정보를 수신하고, 상기 복수의 발표자 영상 정보 각각을 분석하여 각 영상에 대응하는 발표자 영상 분석 정보를 생성하고, 상기 발표자 영상 분석 정보에 기초하여 상기 복수의 발표자 영상 정보 중 현재 발화 중인 발표자의 발표자 영상 정보를 선택하도록 설정될 수 있다.
또한, 상기 프로세서는, 상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하여 생성된 합성 영상 정보를 생성하고, 상기 합성 영상 정보를 외부 전자 장치에 전송하도록 설정될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는, 통신 모듈, 입력 모듈, 디스플레이, 메모리, 및 상기 통신 모듈, 상기 입력 모듈, 상기 디스플레이 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고, 상기 프로세서는, 영상 정보를 수신하고, 상기 영상 정보를 분석하여 발표자 영상 정보 및 컨텐츠 영상 정보를 추출하고, 상기 추출된 컨텐츠 영상 정보를 분석하여 컨텐츠 분석 정보를 생성하고, 상기 발표자 영상을 분석하여 발표자 영상 분석 정보를 생성하고, 상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 영상 정보를 복수개의 영역으로 구분하고, 상기 컨텐츠 영상 정보의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고, 상기 발표자 영상 정보를 상기 컨텐츠 영상 정보의 영역 중 선택된 영역에 합성하도록 설정될 수 있다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트 폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.
300: 전자 장치 411: 발표자 영상 정보
412: 컨텐츠 정보 500: 기능 처리 모듈

Claims (20)

  1. 화상 회의 서비스를 제공하는 전자 장치에 있어서,
    통신 모듈;
    입력 모듈;
    디스플레이;
    메모리; 및
    상기 통신 모듈, 상기 입력 모듈, 상기 디스플레이 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고,
    상기 프로세서는,
    실행 중인 컨텐츠 정보를 분석하여 컨텐츠 분석 정보를 생성하고,
    수신한 발표자 영상 정보를 분석하여 발표자 영상 분석 정보를 생성하고,
    상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 정보에 대한 컨텐츠 실행 화면을 복수개의 영역으로 구분하고,
    상기 컨텐츠 분석 정보 및 상기 발표자 영상 분석 정보에 기초하여 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고,
    상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 배치하여 합성하도록 설정된 전자 장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 컨텐츠 정보로부터 적어도 하나의 컨텐츠 오브젝트를 추출하도록 설정된 전자 장치.
  3. 제2항에 있어서,
    상기 프로세서는,
    상기 컨텐츠 오브젝트의 크기 및 상기 컨텐츠 오브젝트의 위치를 확인하고,
    상기 확인된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 상기 복수개의 영역으로 구분하도록 설정된 전자 장치.
  4. 제2항에 있어서,
    상기 프로세서는,
    상기 컨텐츠 오브젝트의 내용 정보를 추출하고,
    상기 컨텐츠의 실행 화면을 복수개의 영역으로 구분하는 동작은,
    상기 컨텐츠 오브젝트의 내용 정보에 기초하여 상기 컨텐츠 실행 화면을 복수개의 영역으로 구분하도록 설정된 전자 장치.
  5. 제1항에 있어서,
    상기 프로세서는,
    상기 컨텐츠 정보에 대한 입력을 수신하고,
    상기 컨텐츠에 대한 입력에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하도록 설정된 전자 장치.
  6. 제1항에 있어서,
    상기 프로세서는,
    상기 발표자 영상 정보를 분석하여 상기 영상 정보로부터 발표자 제스처 정보를 추출하고,
    상기 발표자 제스처 정보에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하도록 설정된 전자 장치.
  7. 제1항에 있어서,
    상기 프로세서는,
    상기 발표자 영상 정보와 관련된 음성 정보를 더 수신하고,
    상기 음성 정보를 분석하여 상기 음성 정보로부터 발표 내용과 관련된 정보를 추출하고,
    상기 발표 내용과 관련된 정보에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하도록 설정된 전자 장치.
  8. 제1항에 있어서,
    상기 프로세서는,
    상기 발표자 영상 정보를 분석하여 상기 발표자 영상 정보로부터 발표자 이미지를 추출하고, 상기 추출된 발표자 이미지에 기초하여 상기 발표자 영상 정보를 편집하도록 설정된 전자 장치.
  9. 제1항에 있어서,
    상기 프로세서는,
    상기 컨텐츠 실행 시 컨텐츠에 대한 입력 및 컨텐츠의 기능 실행에 따른 UI 변화를 확인하고,
    상기 UI 변화에 대한 UI 변화 정보를 저장하고,
    상기 UI 변화 정보에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하도록 설정된 전자 장치.
  10. 제1항에 있어서,
    상기 프로세서는,
    상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하여 생성된 합성 영상 정보를 생성하고,
    상기 합성 영상 정보를 외부 전자 장치에 전송하도록 설정된 전자 장치.
  11. 화상 회의 서비스를 제공하는 방법에 있어서,
    실행 중인 컨텐츠 정보를 분석하여 컨텐츠 분석 정보를 생성하는 단계;
    수신한 발표자 영상 정보를 분석하여 발표자 영상 분석 정보를 생성하는 단계;
    상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 정보에 대한 컨텐츠 실행 화면을 복수개의 영역으로 구분하는 단계;
    상기 컨텐츠 분석 정보 및 상기 발표자 영상 분석 정보에 기초하여 상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하는 단계; 및
    상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하는 단계를 포함하는 방법.
  12. 11항에 있어서,
    상기 컨텐츠 정보를 분석하는 단계는,
    상기 컨텐츠 정보로부터 적어도 하나의 컨텐츠 오브젝트를 추출하는 단계; 및
    상기 컨텐츠 오브젝트의 크기 및 상기 컨텐츠 오브젝트의 위치를 확인하는 단계를 더 포함하고,
    상기 확인된 컨텐츠 오브젝트의 크기 및 위치에 기초하여 상기 복수개의 영역으로 구분하는 단계를 포함하는 방법.
  13. 12항에 있어서,
    상기 컨텐츠 정보를 분석하는 단계는,
    상기 컨텐츠 오브젝트의 내용 정보를 추출하는 단계를 더 포함하고,
    상기 컨텐츠의 실행 화면을 복수개의 영역으로 구분하는 단계는,
    상기 컨텐츠 오브젝트의 내용 정보에 기초하여 상기 컨텐츠의 실행 화면을 복수개의 영역으로 구분하는 단계를 포함하는 방법.
  14. 제11항에 있어서,
    상기 컨텐츠 정보에 대한 입력을 수신하는 단계;
    상기 컨텐츠 정보에 대한 입력에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하는 단계를 더 포함하는 방법.
  15. 제11항에 있어서,
    상기 발표자 영상 정보를 분석하는 단계는,
    상기 발표자 영상 정보를 분석하여 발표자 제스처 정보를 추출하는 단계를 더 포함하고,
    상기 발표자 제스처 정보에 기초하여 상기 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하는 단계를 더 포함하는 방법.
  16. 제11항에 있어서,
    상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하여 생성된 합성 영상 정보를 생성하는 단계; 및
    상기 합성 영상 정보를 외부 전자 장치에 전송하는 단계를 더 포함하는 방법.
  17. 서버 장치에 있어서,
    통신 인터페이스;
    메모리; 및
    통신 인터페이스 및 메모리와 작동적으로 연결되는 프로세서를 포함하고,
    상기 프로세서는,
    외부 전자 장치로부터 발표자 영상 정보, 발표자 영상 분석 정보, 컨텐츠 실행 화면 정보 및 컨텐츠 분석 정보를 수신하고,
    상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 실행 화면을 복수개의 영역으로 구분하고,
    상기 컨텐츠 실행 화면의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고,
    상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하도록 설정된 전자 장치.
  18. 제17항에 있어서,
    상기 프로세서는,
    복수의 발표자 영상 정보를 수신하고,
    상기 복수의 발표자 영상 정보 각각을 분석하여 각 영상에 대응하는 발표자 영상 분석 정보를 생성하고,
    상기 발표자 영상 분석 정보에 기초하여 상기 복수의 발표자 영상 정보 중 현재 발화 중인 발표자의 발표자 영상 정보를 선택하도록 설정된 전자 장치.
  19. 제17항에 있어서,
    상기 프로세서는,
    상기 발표자 영상 정보를 상기 컨텐츠 실행 화면의 영역 중 선택된 영역에 합성하여 생성된 합성 영상 정보를 생성하고,
    상기 합성 영상 정보를 외부 전자 장치에 전송하도록 설정된 전자 장치.
  20. 전자 장치에 있어서,
    통신 모듈;
    입력 모듈;
    디스플레이;
    메모리; 및
    상기 통신 모듈, 상기 입력 모듈, 상기 디스플레이 및 상기 메모리와 작동적으로 연결되는 프로세서를 포함하고,
    상기 프로세서는,
    영상 정보를 수신하고,
    상기 영상 정보를 분석하여 발표자 영상 정보 및 컨텐츠 영상 정보를 추출하고,
    상기 추출된 컨텐츠 영상 정보를 분석하여 컨텐츠 분석 정보를 생성하고,
    상기 발표자 영상을 분석하여 발표자 영상 분석 정보를 생성하고,
    상기 컨텐츠 분석 정보에 기초하여 상기 컨텐츠 영상 정보를 복수개의 영역으로 구분하고,
    상기 컨텐츠 영상 정보의 복수개의 영역 중 상기 발표자 영상 정보를 배치할 적어도 하나의 영역을 선택하고,
    상기 발표자 영상 정보를 상기 컨텐츠 영상 정보의 영역 중 선택된 영역에 합성하도록 설정된 전자 장치.

KR1020200148119A 2020-11-06 2020-11-06 화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법 KR20220061763A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200148119A KR20220061763A (ko) 2020-11-06 2020-11-06 화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법
PCT/KR2021/016065 WO2022098168A1 (ko) 2020-11-06 2021-11-05 화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200148119A KR20220061763A (ko) 2020-11-06 2020-11-06 화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법

Publications (1)

Publication Number Publication Date
KR20220061763A true KR20220061763A (ko) 2022-05-13

Family

ID=81457313

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200148119A KR20220061763A (ko) 2020-11-06 2020-11-06 화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법

Country Status (2)

Country Link
KR (1) KR20220061763A (ko)
WO (1) WO2022098168A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117640861A (zh) * 2022-08-16 2024-03-01 华为技术有限公司 一种导播控制方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8542266B2 (en) * 2007-05-21 2013-09-24 Polycom, Inc. Method and system for adapting a CP layout according to interaction between conferees
KR101920641B1 (ko) * 2012-05-03 2019-02-13 엘지전자 주식회사 화상회의장치, 및 그 동작방법
CN105100677A (zh) * 2014-05-21 2015-11-25 华为技术有限公司 用于视频会议呈现的方法、装置和***
KR20160000848A (ko) * 2014-06-25 2016-01-05 주식회사 액티브디앤씨 원격회의를 위한 파일 관리 장치 및 방법
KR20170029725A (ko) * 2015-09-07 2017-03-16 주식회사 다림비젼 영상 합성을 이용한 강의 영상 생성 방법 및 그 장치

Also Published As

Publication number Publication date
WO2022098168A1 (ko) 2022-05-12

Similar Documents

Publication Publication Date Title
KR20220102522A (ko) 요약 영상 생성 방법 및 그 전자 장치
US20230224573A1 (en) Method and device for photography guidance of flexible display
KR20220061763A (ko) 화상 회의를 제공하는 전자 장치 및 화상 회의를 제공하는 방법
US20220326846A1 (en) Electronic device and method to provide sticker based on content input
CN114996515A (zh) 视频特征提取模型的训练方法、文本生成方法及装置
KR20230026228A (ko) 안무 학습 정보를 제공하기 위한 전자 장치 및 그 전자 장치에서의 동작 방법
KR20220138669A (ko) 개인화 오디오 정보를 제공하기 위한 전자 장치 및 방법
KR20220017308A (ko) 오디오 재생 및 화면 표시 방법 및 그 장치
CN114283422A (zh) 一种手写字体生成方法、装置、电子设备和存储介质
CN113032560A (zh) 语句分类模型训练方法、语句处理方法及设备
KR20220127457A (ko) 전자 장치 및 미디어 콘텐츠의 재생구간 이동 방법
US20240020084A1 (en) Screen sharing method and electronic device therefor
US20230012919A1 (en) Electronic device and method for video call based on reaction service
EP4380170A1 (en) Electronic device and method for automatically generating edited video
US20230328196A1 (en) Electronic device for providing video conference, and method therefor
US20230156317A1 (en) Electronic device for obtaining image at user-intended moment and method for controlling the same
KR20230067443A (ko) 전자 장치 및 편집 영상을 자동으로 생성하는 방법
US20230367459A1 (en) Electronic device for performing screen capture and method for capturing screen by electronic device
KR20230105233A (ko) 이미지 기반의 이미지 효과를 제공하는 전자 장치 및 그 제어 방법
KR20230051021A (ko) 학습을 보조하기 위한 방법 및 장치
KR20240087477A (ko) 화자별 음량 조절을 위한 전자 장치, 그 동작 방법 및 저장 매체
KR20230075318A (ko) 시청자 참여 가능한 컨텐츠 제공 방법 및 이를 위한 전자 장치
KR20220139172A (ko) 다자간 영상 통화를 위한 전자 장치, 방법 및 비 일시적 저장 매체
KR20220135383A (ko) 전자 장치 및 전자 장치의 동작 방법
KR20220074092A (ko) 화상 회의를 제공하는 전자 장치 및 그 방법