KR102419290B1 - Method and Apparatus for synthesizing 3-dimensional virtual object to video data - Google Patents

Method and Apparatus for synthesizing 3-dimensional virtual object to video data Download PDF

Info

Publication number
KR102419290B1
KR102419290B1 KR1020200101361A KR20200101361A KR102419290B1 KR 102419290 B1 KR102419290 B1 KR 102419290B1 KR 1020200101361 A KR1020200101361 A KR 1020200101361A KR 20200101361 A KR20200101361 A KR 20200101361A KR 102419290 B1 KR102419290 B1 KR 102419290B1
Authority
KR
South Korea
Prior art keywords
virtual object
virtual
synthesis
plane
video
Prior art date
Application number
KR1020200101361A
Other languages
Korean (ko)
Other versions
KR20220021076A (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 KR1020200101361A priority Critical patent/KR102419290B1/en
Publication of KR20220021076A publication Critical patent/KR20220021076A/en
Application granted granted Critical
Publication of KR102419290B1 publication Critical patent/KR102419290B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20221Image fusion; Image merging

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Processing Or Creating Images (AREA)

Abstract

동영상 데이터에 3차원 가상객체를 합성하는 방법에 관한 것으로, 사용자로부터 가상객체를 합성할 동영상에 대한 선택을 포함하는 합성대상 동영상 선택을 수신하고, 합성대상 동영상 선택에 기초하여 합성대상 동영상 데이터를 획득하고, 사용자로부터 동영상에 합성을 원하는 가상객체의 합성객체정보, 합성위치 및 합성방향(orientation)을 포함하는 가상객체 합성 요청을 수신하고, 가상객체 합성 요청에 기초하여 합성대상 동영상 데이터에서 기준가상평면을 결정하고, 가상객체 합성 요청 및 기준가상평면에 기초하여 합성대상 동영상 데이터에 합성할 가상객체를 렌더링하고, 렌더링된 가상객체를 동영상 프레임에 합성함으로써, 사용자로 하여금 간단한 조작만으로 현실세계를 나타내는 동영상에 이질감 없는 3차원 가상객체를 합성할 수 있다. A method of synthesizing a 3D virtual object with moving picture data, receiving a synthesis target video selection including a selection of a video to synthesize a virtual object from a user, and obtaining synthesis target video data based on the synthesis target video selection and receives a virtual object composition request including synthetic object information, composition location, and orientation (orientation) of a virtual object desired to be synthesized in a video from the user, and based on the virtual object composition request, a reference virtual plane in the video data to be synthesized is determined, a virtual object to be synthesized on the video data to be synthesized is rendered based on the virtual object synthesis request and the reference virtual plane, and the rendered virtual object is synthesized into a video frame, thereby allowing the user to display the real world with a simple operation. It is possible to synthesize 3D virtual objects without heterogeneity.

Description

동영상 데이터에 3차원 가상객체를 합성하는 방법 및 장치 {Method and Apparatus for synthesizing 3-dimensional virtual object to video data}{Method and Apparatus for synthesizing 3-dimensional virtual object to video data}

동영상 데이터에 3차원 가상객체를 합성하는 방법에 관한 것으로, 보다 구체적으로 동영상 데이터에 사용자가 입력한 3차원 가상객체를 합성하는 방법에 관한 것이다. To a method of synthesizing a 3D virtual object with moving picture data, and more particularly, to a method of synthesizing a 3D virtual object input by a user into moving picture data.

가상현실(VR: Virtual Reality) 기술은 현실 세계의 객체 및 배경 등을 컴퓨터로 시뮬레이션하고 시뮬레이션된 가상객체 및 가상 배경을 사용자에 제공하고, 증강현실(AR: Augmented Reality) 기술은 현실 세계의 영상 상에 가상으로 만들어진 가상객체를 함께 제공하고, 혼합현실(MR: Mixed Reality) 기술은 현실세계에 가상현실이 접목되어 현실의 물리적 객체와 가상객체가 상호작용하는 환경을 제공한다. Virtual Reality (VR) technology simulates objects and backgrounds in the real world with a computer and provides simulated virtual objects and virtual backgrounds to users, and Augmented Reality (AR) technology provides images of the real world. In addition to providing virtual objects created in the virtual world, Mixed Reality (MR) technology provides an environment in which real physical objects and virtual objects interact by combining virtual reality with the real world.

가상현실(VR) 기술은 현실 세계의 객체 및 배경을 모두 가상객체로 변환하고 가상객체만으로 구성된 영상을 제공하기 때문에 객체 및 배경 모두를 렌더링한다. 이에 반하여, 증강현실(AR) 기술은 대상 객체만이 렌더링되고 그외의 객체 및 배경은 렌더링 되지 않은 영상을 제공하기 때문에 대상 객체만을 렌더링하고 그외에는 렌더링하지 않는다. 다시 말해, 가상현실(VR) 화면은 객체 및 배경이 모두 3D 렌더링에 의해 생성된 가상객체를 나타내는 데에 반하여, 증강현실(AR) 화면은 일부 객체만이 3D 렌더링에 의해 생성된 가상객체이고 그 외에는 카메라 모듈에 의해 촬영된 현실세계의 실제 객체 및 실제 공간을 나타낸다. Virtual reality (VR) technology renders both objects and backgrounds because it converts all objects and backgrounds in the real world into virtual objects and provides images composed of only virtual objects. In contrast, augmented reality (AR) technology renders only the target object and does not render anything else because only the target object is rendered and the other objects and backgrounds are not rendered. In other words, while a virtual reality (VR) screen represents a virtual object in which both an object and a background are created by 3D rendering, in an augmented reality (AR) screen, only some objects are virtual objects created by 3D rendering, and the Otherwise, it represents the real object and real space of the real world photographed by the camera module.

상술한 바와 같이, 증강현실(AR)은 현실세계의 이미지나 배경에 3차원 가상객체를 겹쳐서 하나의 영상으로 보여주는 기술이다. 예를 들어, 현실세계를 나타내는 데이터는 카메라에 의해 촬영된 이미지 또는 영상 데이터일 수 있고, 가상현실을 나타내는 데이터, 즉 가상객체는 현실세계와 관련되는 정보 예컨대 현실세계의 가상객체를 설명하는 텍스트 설명일 수 있다. 구체적인 예를 들어, 사용자가 카메라를 포함하는 스마트폰으로 남대문을 촬영하는 경우, 스마트폰은 디스플레이부에 남대문을 나타내는 이미지 데이터 상에 남대문에 대한 설명이 기재된 텍스트를 함께 표시하여 사용자에게 제공한다. 이처럼, 증강현실(AR)은 현실세계의 현실객체와 가상현실의 가상객체가 동시에 디스플레이되기 때문에 가상객체가 현실세계를 나타내느 이미지 데이터 상에 현실성있게 통합되어야 한다. As described above, augmented reality (AR) is a technology that shows a 3D virtual object as a single image by superimposing it on an image or background of the real world. For example, the data representing the real world may be image or video data captured by a camera, and the data representing the virtual reality, that is, the virtual object, is information related to the real world, for example, a text description describing the virtual object in the real world. can be As a specific example, when a user takes a picture of Namdaemun with a smartphone including a camera, the smartphone displays the text describing Namdaemun on the image data representing Namdaemun on the display unit together and provides it to the user. As such, in augmented reality (AR), since real objects in the real world and virtual objects in virtual reality are displayed at the same time, the virtual objects must be realistically integrated on image data representing the real world.

가상객체를 현실세계 이미지 상에 현실성있게 통합하기 위하여, 현실세계를 나타내는 현실공간의 평면과 가상객체를 나타내는 가상공간의 평면이 서로 통합되야 한다. 가상객체의 가상공간좌표와 현실세계의 현실공간좌표가 통합되지 않는 경우 증강현실에서 현실세계의 현실객체와 가상세계의 가상객체가 서로 개별적이고 정렬되지 않은 것처럼 보여 증강현실의 현실성이 떨어지게 된다. In order to realistically integrate the virtual object onto the image of the real world, the plane of the real space representing the real world and the plane of the virtual space representing the virtual object should be integrated with each other. If the virtual space coordinates of the virtual object and the real space coordinates of the real world are not integrated, the real object of the real world and the virtual object of the virtual world appear to be separate and not aligned with each other in augmented reality, thereby reducing the reality of augmented reality.

이와 관련하여, 대한민국등록특허 제10-1546654호 “웨어러블 증강현실 환경에서 증강현실 서비스 제공 방법 및 장치”는 카메라를 통해 획득된 깊이 정보를 포함하는 3차원 영상을 기본으로 로컬 레퍼런스 좌표계(Local Reference Coordinates)를 생성하고, 로컬 레퍼런스 좌표계를 실제 공간이 복제된 가상 공간인 미러 월드(Mirror World)의 월드 좌표계를 통합하고, 월드 좌표계로 통합된 3차원 좌표 공간에서 3D 객체의 사용자 인터럽트 발생 타입별 화전 및 깊이 정보를 기설정된 오브젝트별 운동 범위(Range of Motion: RoM) 기반 하에서 인식하여 3D객체를 제어하는 기술에 대하여 개시하고 있다. 이 종래 기술은 좌표계 통합의 정확도를 높이기 위한 계산 과정이 복잡하여 스마트 폰과 같은 모바일 디바이스에 적용하기 어려운 문제점이 있었다. 또한, 카메라의 낮은 해상도, 실제공간의 너무 높은 명도 또는 너무 낮은 명도로 인하여 카메라로 들어오는 정보가 정확하지 않은 경우 오차가 많이 발생하는 문제점이 있었다. In this regard, Republic of Korea Patent No. 10-1546654 “Method and Apparatus for Providing Augmented Reality Service in Wearable Augmented Reality Environment” is based on a 3D image including depth information acquired through a camera as a local reference coordinate system (Local Reference Coordinates) ), integrates the local reference coordinate system with the world coordinate system of the Mirror World, a virtual space where the real space is replicated, and uses the 3D object's user interrupt by type Disclosed is a technology for controlling a 3D object by recognizing depth information based on a preset range of motion (RoM) for each object. This prior art has a problem in that it is difficult to apply to a mobile device such as a smart phone because the calculation process for increasing the accuracy of the coordinate system integration is complicated. In addition, there is a problem in that a lot of errors occur when the information coming into the camera is not accurate due to the low resolution of the camera, too high or too low brightness in the real space.

대한민국공개특허공보 제10-2019-0095334호 “검출된 특징들을 사용한 3D 객체 렌더링”은 광원으로부터 비가시 광을 방출하여 객체의 일부분을 조명하고, 광 센서를 이용하여 비가시 광에 의해 조명된 객체의 부분을 이미징하고, 비가시 광의 반사된 부분을 사용하여 형성된 이미지의 특성들을 이용하여 객체의 위치 및 배향을 결정하는 기술에 대하여 개시하고 있다. 이 종래 기술은 증강 현실 디스플레이로부터 객체 사이의 실제적인 거리를 측정하기 위하여 센서를 반드시 사용해야 하기 때문에 광원 및 반사된 광을 수신하는 광 수신기를 모두 가진 장비에서만 사용해야 하는 문제점이 있었다.Republic of Korea Patent Publication No. 10-2019-0095334 "3D object rendering using detected features" emits invisible light from a light source to illuminate a part of an object, and an object illuminated by invisible light using a light sensor Disclosed is a technique for imaging a portion of a , and determining the position and orientation of an object using properties of an image formed using a reflected portion of invisible light. This prior art has a problem in that it must be used only in equipment having both a light source and a light receiver for receiving reflected light because a sensor must be used to measure the actual distance between objects from the augmented reality display.

대한민국공개특허공보 제10-2016-0148252호 “시선 위치에 기초한 안정 평면 결정”은 렌더링된 이미지를 생성하고, 유저의 시선 위치(gaze location)를 결정하고, 결정된 시선 위치에 기초하여 호모그래픽 변환(homographic transformation)과 관련된 안정 평면(stabilization plane)을 결정하고, 안정 평면을 결정할 때 시선 위치에 기초하여 안정 평면을 정의하는 호모그래픽 변환의 변수를 결정하는 기술에 대하여 개시하고 있다. 이 종래 기술은 사용자의 시선에 기초하여 안정 평면을 결정하기 때문에 사용자의 시선을 결정하기 위한 센서가 반드시 필요한 문제점이 있었다. Korean Patent Application Laid-Open No. 10-2016-0148252 “Determination of a stable plane based on the gaze position” generates a rendered image, determines the gaze location of the user, and converts the homographic based on the determined gaze position ( Disclosed is a technique for determining a stabilization plane related to homographic transformation and determining a variable of homographic transformation that defines a stabilization plane based on a gaze position when determining the stabilization plane. Since this prior art determines a stable plane based on the user's gaze, there is a problem that a sensor for determining the user's gaze is absolutely necessary.

상술한 바와 같이, 종래의 가상현실 기술들은 실제현실 및 가상현실의 좌표계를 통합하기 위하여 복잡한 계산이 필요하고 별개의 센서를 반드시 필요로 하기 때문에 스마트 폰과 같이 소형화된 장비에 적합하지 않은 문제점이 있었다. As described above, conventional virtual reality technologies have a problem in that they are not suitable for miniaturized equipment such as smart phones because complex calculations are required to integrate the coordinate systems of real and virtual reality and separate sensors are necessarily required. .

대한민국 등록특허공보 제10-1546654호Republic of Korea Patent Publication No. 10-1546654 대한민국 공개특허공보 제10-2019-0095334호Republic of Korea Patent Publication No. 10-2019-0095334 대한민국 공개특허공보 제10-2016-0148252호Republic of Korea Patent Publication No. 10-2016-0148252

동영상 데이터에 3차원 가상객체를 합성하는 방법 및 장치를 제공하는 데에 있다. 또한, 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 설명으로부터 또 다른 기술적 과제가 도출될 수도 있다.An object of the present invention is to provide a method and apparatus for synthesizing a 3D virtual object with video data. In addition, it is not limited to the technical problems as described above, and another technical problem may be derived from the following description.

본 발명의 일 실시예에 따른 동영상 데이터에 3차원 가상객체를 합성하는 방법은 사용자로부터 가상객체를 합성할 동영상에 대한 선택을 포함하는 합성대상 동영상 선택을 수신하는 단계; 상기 합성대상 동영상 선택에 기초하여 합성대상 동영상 데이터를 획득하는 단계; 상기 사용자로부터 동영상에 합성을 원하는 가상객체의 합성객체정보, 합성위치 및 합성방향(orientation)을 포함하는 가상객체 합성 요청을 수신하는 단계; 상기 가상객체 합성 요청에 기초하여 상기 합성대상 동영상 데이터에서 기준가상평면을 결정하는 단계; 및 상기 가상객체 합성 요청 및 상기 기준가상평면에 기초하여 상기 합성대상 동영상 데이터에 합성할 가상객체를 렌더링하고, 상기 렌더링된 가상객체를 동영상 프레임에 합성하는 단계를 포함한다. A method for synthesizing a 3D virtual object with moving image data according to an embodiment of the present invention comprises: receiving a selection of a synthesis target moving image including a selection of a moving image to synthesize a virtual object from a user; obtaining synthesis target moving picture data based on the selection of the synthesis target moving picture; receiving, from the user, a virtual object composition request including synthetic object information, a composition position, and an orientation of a virtual object desired to be synthesized into a video; determining a reference virtual plane from the synthesis target video data based on the virtual object synthesis request; and rendering a virtual object to be synthesized into the synthesis target video data based on the virtual object synthesis request and the reference virtual plane, and synthesizing the rendered virtual object into a video frame.

상기 가상객체 합성 요청은 상기 가상객체의 합성을 원하는 동영상 프레임의 범위를 포함하고, 상기 합성대상 동영상 데이터에서 기준가상평면을 결정하는 단계는 상기 가상객체 합성 요청에 기초하여 상기 동영상 프레임의 범위 중 최초 동영상 프레임을 추출하는 단계; 상기 최초 동영상 프레임에서 적어도 하나의 후보가상평면을 추출하는 단계; 및 상기 가상객체 합성 요청에 기초하여 상기 추출된 적어도 하나의 후보가상평면 중 기준가상평면을 결정하는 단계를 포함한다. The virtual object synthesis request includes a range of a video frame for which the virtual object is to be synthesized, and the step of determining a reference virtual plane from the synthesis target video data is the first among the range of the video frame based on the virtual object synthesis request. extracting video frames; extracting at least one candidate virtual plane from the first video frame; and determining a reference virtual plane from among the extracted at least one candidate virtual plane based on the virtual object synthesis request.

상기 추출된 적어도 하나의 후보가상평면 중 기준가상평면을 결정하는 단계는 상기 추출된 적어도 하나의 후보가상평면의 위치와 상기 가상객체의 합성위치를 비교하고, 상기 추출된 적어도 하나의 후보가상평면의 법석벡터와 상기 가상객체의 합성방향을 비교하고, 비교 결과에 기초하여 상기 기준가상평면을 결정한다. The determining of the reference virtual plane among the extracted at least one candidate virtual plane may include comparing the extracted position of the at least one candidate virtual plane with the synthesis position of the virtual object, and comparing the extracted at least one candidate virtual plane position. The synthesizing direction of the imaginary vector and the virtual object is compared, and the reference virtual plane is determined based on the comparison result.

상기 가상객체를 렌더링하고 상기 렌더링된 가상객체를 동영상 프레임에 합성하는 단계는 상기 기준가상평면 상에 상기 가상객체의 합성객체정보, 합성위치 및 합성방향으로 상기 가상객체를 렌더링하고, 상기 렌더링된 가상객체를 상기 동영상 프레임에 합성한다. The step of rendering the virtual object and synthesizing the rendered virtual object into a moving picture frame includes rendering the virtual object in the composite object information of the virtual object on the reference virtual plane, the composition position and the composition direction, and the rendered virtual object. The object is synthesized into the video frame.

상기 최초 동영상 프레임에서 적어도 하나의 후보가상평면을 추출하는 단계는 상기 최초 동영상 프레임이 나타내는 이미지에서 복수 개의 특징점(feature point)을 추출하고, 상기 추출된 복수 개의 특징점을 포함하는 적어도 하나의 평면을 상기 적어도 하나의 후보가상평면으로 추출한다. In the step of extracting at least one candidate virtual plane from the first video frame, extracting a plurality of feature points from the image represented by the first video frame, and extracting at least one plane including the extracted plurality of feature points, the At least one candidate virtual plane is extracted.

상기 초기 동영상 프레임에서 기준가상평면을 결정하는 단계는 상기 가상객체 합성 요청에 포함된 상기 가상객체의 합성위치 및 합성방향에 기초하여, 상기 결정된 기준가상평면의 방향 및 위치를 수정하는 단계를 더 포함한다. The step of determining the reference virtual plane in the initial video frame further includes the step of modifying the direction and position of the determined reference virtual plane based on the composition position and the composition direction of the virtual object included in the virtual object composition request. do.

본 발명의 다른 실시예에 따른 동영상 데이터에 3차원 가상객체를 합성하는 3차원 가상객체 합성 장치는 사용자로부터 가상객체를 합성할 동영상에 대한 선택을 포함하는 합성대상 동영상 선택을 수신하고, 상기 사용자로부터 동영상에 합성을 원하는 가상객체의 텍스트, 이미지, 합성위치 및 합성방향(orientation)을 포함하는 가상객체 합성 요청을 수신하는 입력모듈; 상기 합성대상 동영상 선택에 기초하여 합성대상 동영상 데이터를 획득하는 프로세서; 상기 가상객체 합성 요청에 기초하여 상기 합성대상 동영상 데이터에 포함된 초기 동영상 프레임에서 기준가상평면을 결정하는 가상평면 결정모듈; 및 상기 가상객체 합성 요청 및 상기 기준가상평면에 기초하여 상기 합성대상 동영상 데이터에 합성할 가상객체를 렌더링하고, 상기 렌더링된 가상객체를 동영상 프레임에 합성하는 3차원 가상객체 합성모듈을 포함한다. A three-dimensional virtual object synthesizing apparatus for synthesizing a three-dimensional virtual object with video data according to another embodiment of the present invention receives a selection of a video for synthesis including a selection of a video for synthesizing a virtual object from a user, and from the user an input module for receiving a virtual object composition request including text, an image, a composition position, and orientation of a virtual object desired to be synthesized in a video; a processor for obtaining synthesis target moving picture data based on the selection of the synthesis target moving picture; On the basis of the virtual object synthesis request, included in the synthesis target video data a virtual plane determining module for determining a reference virtual plane from an initial video frame; and a 3D virtual object synthesizing module for rendering a virtual object to be synthesized into the synthesis target video data based on the virtual object synthesis request and the reference virtual plane, and synthesizing the rendered virtual object into a video frame.

본 발명의 또 다른 실시예에 따른 컴퓨터 판독 가능한 기록매체는 본 발명의 일 실시žŸ 따른 방법을 수행하는 프로그램이 기록된다.In a computer-readable recording medium according to another embodiment of the present invention, a program for performing a method according to an embodiment of the present invention is recorded.

3차원 가상객체 합성 방법은 사용자로 하여금 간단한 조작으로 현실세계를 나타내는 동영상에 실제와 같은 3차원의 가상객체를 용이하게 합성할 수 있다. 본 발명은 사용자가 동영상에 3차원의 가상객체를 합성할 때, 가상객체를 합성하려는 동영상 프레임을 선택하고, 선택된 동영상 프레임에서 합성하고자 하는 가상객체의 텍스트, 모양, 색깔, 위치 및 방향을 입력하면, 3차원 가상객체 합성 장치는 입력된 가상객체를 렌더링하고 동영상의 지정된 위치에 합성한다. 이처럼, 본 발명에 따른 3차원 가상객체 합성 방법은 사용자로 하여금 간단한 조작만으로 현실세계를 나타내는 동영상에 실제와 같은 3차원의 가상객체를 합성할 수 있게 한다. The three-dimensional virtual object synthesis method allows a user to easily synthesize a real three-dimensional virtual object into a moving picture representing the real world with a simple operation. In the present invention, when a user selects a video frame to synthesize a virtual object when synthesizing a 3D virtual object into a video, and inputs text, shape, color, position and direction of the virtual object to be synthesized in the selected video frame, , the 3D virtual object synthesizing device renders the input virtual object and synthesizes it at a designated location in the video. As such, the three-dimensional virtual object synthesis method according to the present invention enables a user to synthesize a real three-dimensional virtual object with a moving picture representing the real world with a simple operation.

또한, 본 발명의 3차원 가상객체 합성 방법은 3차원의 가상객체를 동영상에 합성할 때, 가상객체를 합성하는 위치 및 방향에 기초하여 기준가상평면을 결정하고, 기준가상평면을 이용하여 가상객체를 렌더링하고 동영상에 합성한다. 이에 따라, 동영상에 3차원의 가상객체를 이질감이 느껴지지 않고 자연스럽게 합성할 수 있다. 보다 구체적으로, 기준가상평면을 결정할 때 현실세계를 나타내는 이미지 상에서의 평면과 대응되는 후보가상평면들을 추출하고, 추출된 후보가상평면들 중 가상객체의 합성위치 및 합성방향과 연관성이 가장 높은 후보가상평면을 기준가상평면으로 결정하고, 결정된 기준가상평면에 기초하여 가상객체를 렌더링하고 합성함으로써, 현실세계와 이질감 없는 가상객체를 동영상에 합성할 수 있다. In addition, the 3D virtual object synthesis method of the present invention determines a reference virtual plane based on the position and direction of synthesizing a virtual object when synthesizing a 3D virtual object into a moving image, and uses the reference virtual plane to create a virtual object Render and composite into the video. Accordingly, a three-dimensional virtual object can be naturally synthesized without a sense of heterogeneity in the video. More specifically, when determining the reference virtual plane, candidate virtual planes corresponding to the plane on the image representing the real world are extracted, and among the extracted candidate virtual planes, the candidate virtual plane with the highest correlation with the composition location and composition direction of the virtual object. By determining a plane as a reference virtual plane and rendering and synthesizing a virtual object based on the determined reference virtual plane, a virtual object having no sense of alienation with the real world can be synthesized into a moving picture.

추가적으로, 기준가상평면을 결정할 때 입력된 가상객체의 위치 및 방향을 고려하여 기준가상평면의 위치 및 방향을 수정함으로써, 보다 현실감 있고 생동감 있는 3차원의 가상객체를 동영상 데이터에 합성할 수 있다. Additionally, by modifying the position and direction of the reference virtual plane in consideration of the position and direction of the input virtual object when determining the reference virtual plane, a more realistic and lively three-dimensional virtual object can be synthesized into the moving picture data.

이에 더하여, 현실세계를 반영하는 3차원의 가상공간을 생성하고, 3차원의 가상공간 상에서 기준가상평면을 기준으로 가상객체를 렌더링하고 합성함으로써, 동영상에서 동영상의 촬영시점(viewpoint)이 변하더라도 가상객체 또한 촬영시점의 변화에 따라 같이 움직이는 것처럼 보인다. 이에 따라, 사용자는 동영상에 합성된 가상객체에 대한 이질감을 느끼지 않게 할 수 있다. 현실세계를 나타내는 동영상에 가상객체를 자연스럽게 합성할 수 있다. In addition, by creating a three-dimensional virtual space that reflects the real world, and rendering and synthesizing virtual objects based on the reference virtual plane in the three-dimensional virtual space, virtual Objects also appear to move with the change of the shooting point. Accordingly, the user may not feel a sense of heterogeneity with respect to the virtual object synthesized in the video. Virtual objects can be naturally synthesized with videos representing the real world.

도 1은 본 발명의 일 실시예에 따른 3차원 가상객체 합성 시스템을 도시한 도면이다.
도 2는 도 1에 도시된 3차원 가상객체 합성 장치의 구성도이다.
도 3은 본 발명의 3차원 가상객체 합성 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 3차원 가상객체 합성 방법에 의하여 3차원 가상객체가 합성된 동영상을 도시한 예시이다.
도 5는 도 3에 도시된 가상객체 합성 방법에서 기준가상평면을 결정하는 단계의 상세흐름도이다.
도 6은 기준가상평면을 결정하는 과정을 표시한 예시화면을 도시한 도면이다.
1 is a diagram illustrating a three-dimensional virtual object synthesis system according to an embodiment of the present invention.
FIG. 2 is a block diagram of the 3D virtual object synthesizing apparatus shown in FIG. 1 .
3 is a flowchart of a three-dimensional virtual object synthesis method of the present invention.
4 is an example illustrating a video in which a 3D virtual object is synthesized by the 3D virtual object synthesis method according to an embodiment of the present invention.
5 is a detailed flowchart of a step of determining a reference virtual plane in the virtual object synthesis method shown in FIG. 3 .
6 is a diagram illustrating an example screen displaying a process of determining a reference virtual plane.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 할 것이다.Since the present invention is capable of various changes and may have various embodiments, specific embodiments are illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention.

또한, 본 실시예들을 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성요소를 다른 구성요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Also, in describing the present embodiments, terms such as first, second, A, B, (a), (b), etc. may be used. These terms are only for distinguishing the elements from other elements, and the essence, order, or order of the elements are not limited by the terms. Throughout the specification, when a part 'includes' or 'includes' a certain component, this means that other components may be further included, rather than excluding other components, unless otherwise stated. .

이하의 본 발명의 실시예들에 대한 상세한 설명에서 기재된 용어는 다음과 같은 의미를 갖는다. “실제현실(real world)”은 물리적인 현실 공간을 의미하고, “가상현실”은 실제현실의 공간의 일부 또는 전체를 반영하는(mirroring) 3차원의 가상의 공간을 의미한다.“실제객체”는 물리적인 현실 공간에 존재하는 물리적인 객체를 의미하고, “가상객체”는 물리적인 객체가 복제되어 가상 공간에 존재하는 비물리적인 객체를 의미한다. “증강현실(AR: Augmented Reality)”은 실제현실과 가상현실이 혼합된 공간으로, 실제현실의 이미지 또는 배경에 3차원의 가상객체가 겹쳐져 하나의 이미지를 사용자에게 제공한다. 본 발명의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자라면, 상술한 용어에 대하여 용이하게 이해할 수 있다. The terms described in the detailed description of the embodiments of the present invention below have the following meanings. “Real world” means a physical real space, and “virtual reality” means a three-dimensional virtual space that reflects part or all of the space of real reality. “Real object” denotes a physical object existing in the physical real space, and “virtual object” refers to a non-physical object that exists in the virtual space by replicating a physical object. “Augmented Reality (AR)” is a space where real and virtual reality are mixed, and a three-dimensional virtual object is superimposed on a real image or background to provide a single image to the user. Those of ordinary skill in the art to which the embodiments of the present invention pertain can easily understand the above-mentioned terms.

도 1은 본 발명의 일 실시예에 따른 3차원 가상객체 합성 시스템의 일 실시예를 도시한 도면이다. 도 1을 참고하면, 본 발명의 일 실시예에 따른 3차원 가상객체 합성 시스템은 3차원 가상객체 합성 서버 및 3차원 가상객체 합성 장치로 구성된다. 3차원 가상객체 합성 서버(2)는 3차원 가상객체 합성 장치로 3차원 가상객체 합성 방법을 수행하는 어플리케이션을 제공한다. 3차원 가상객체 합성 장치(1)는 3차원 가상객체 합성 방법을 수행하는 어플리케이션을 실행하고, 어플리케이션을 통해 사용자에게 3차원 가상객체가 합성된 동영상을 제공한다. 3차원 가상객체 합성 서버(2) 및 3차원 가상객체 합성 장치(1)는 인터넷 등과 같은 네트워크를 통하여 서로 통신할 수 있다. 3차원 가상객체 합성 장치(1)는 통신 기능을 가지고 다양한 어플리케이션을 실행할 수 있는 컴퓨팅 디바이스로서, 그 예로는 이동통신 단말기, 개인 정보 단말기(PDA: personal digital assistants), 스마트 폰(smart phone), 태블릿 PC, 노트북 등을 들 수 있다. 1 is a diagram illustrating an embodiment of a 3D virtual object synthesis system according to an embodiment of the present invention. Referring to FIG. 1 , a 3D virtual object synthesizing system according to an embodiment of the present invention includes a 3D virtual object synthesizing server and a 3D virtual object synthesizing apparatus. The 3D virtual object synthesizing server 2 provides an application for performing a 3D virtual object synthesizing method with a 3D virtual object synthesizing apparatus. The 3D virtual object synthesizing apparatus 1 executes an application for performing a 3D virtual object synthesizing method, and provides a video in which the 3D virtual object is synthesized to the user through the application. The 3D virtual object synthesis server 2 and the 3D virtual object synthesis apparatus 1 may communicate with each other through a network such as the Internet. The 3D virtual object synthesizing apparatus 1 is a computing device that has a communication function and can execute various applications, for example, a mobile communication terminal, personal digital assistants (PDA), smart phone, and tablet. PC, laptop, etc. are mentioned.

본 발명의 일 실시예에 따른 3차원 가상객체 합성 방법을 구성하는 단계들은 3차원 가상객체 합성 장치(1) 및 3차원 가상객체 합성 서버(2)에서 수행될 수 있다. 예를 들어 이러한 실시예에서, 3차원 가상객체 합성 장치(1)는 사용자로부터 입력을 수신하고, 수신된 입력을 네트워크를 통하여 3차원 가상객체 합성 서버(2)로 송신한다. 3차원 가상객체 합성 서버(1)는 3차원 가상객체 합성 장치(1)로부터 송신된 사용자의 입력에 기초하여 동영상에 3차원 가상객체를 합성하고, 3차원 가상객체가 합성된 동영상 데이터를 3차원 가상객체 합성 장치(1)로 송신한다. 3차원 가상객체 합성 장치(1)는 송신된 동영상 데이터를 디스플레이 모듈(106)를 통하여 사용자에게 제공한다. The steps of configuring the 3D virtual object synthesizing method according to an embodiment of the present invention may be performed by the 3D virtual object synthesizing apparatus 1 and the 3D virtual object synthesizing server 2 . For example, in this embodiment, the 3D virtual object synthesizing apparatus 1 receives an input from a user, and transmits the received input to the 3D virtual object synthesizing server 2 through a network. The 3D virtual object synthesis server 1 synthesizes a 3D virtual object into a video based on a user input transmitted from the 3D virtual object synthesis device 1, and synthesizes the 3D virtual object synthesized video data in 3D. It is transmitted to the virtual object synthesizing device (1). The 3D virtual object synthesizing apparatus 1 provides the transmitted video data to the user through the display module 106 .

본 발명의 다른 실시예에 따른 3차원 가상객체 합성 방법을 구성하는 단계들은 3차원 가상객체 합성 장치(1)에 의하여 수행될 수 있다. 3차원 가상객체 합성 장치(1)는 3차원 가상객체 합성 서버(2)로부터 3차원 가상객체 합성 방법을 수행하는 어플리케이션에 대한 데이터를 수신하고, 3차원 가상객체 합성 방법을 수행하는 어플리케이션을 설치하여 실행할 수 있다. 3차원 가상객체 합성 장치(1)는 3차원 가상객체 합성 방법을 수행하는 어플리케이션을 통하여 동영상에 3차원 가상객체를 합성하고, 합성된 동영상 데이터를 디스플레이 모듈(106)을 통하여 사용자에게 제공한다. 이하에서는 3차원 가상객체 합성 장치(1)에서 수행되는 3차원 가상객체 합성 방법을 도시한 실시예에 대하여 설명하기로 한다. The steps of configuring the 3D virtual object synthesizing method according to another embodiment of the present invention may be performed by the 3D virtual object synthesizing apparatus 1 . The 3D virtual object synthesizing apparatus 1 receives data about an application performing the 3D virtual object synthesis method from the 3D virtual object synthesis server 2, and installs an application that performs the 3D virtual object synthesis method. can run The 3D virtual object synthesizing apparatus 1 synthesizes a 3D virtual object into a video through an application that performs a 3D virtual object synthesis method, and provides the synthesized video data to the user through the display module 106 . Hereinafter, an embodiment illustrating a 3D virtual object synthesizing method performed by the 3D virtual object synthesizing apparatus 1 will be described.

도 2는 도 1에 도시된 3차원 가상객체 합성 장치의 구성도이다. 도 2를 참고하면, 3차원 가상객체 합성 장치(1)는 프로세서(101), 입력모듈(102), 통신모듈(103), 가상평면 결정모듈(104), 3차원 가상객체 합성모듈(105), 디스플레이 모듈(106) 및 스토리지(107)를 포함한다. 3차원 가상객체 합성 장치(1)의 프로세서(101)는 3차원 가상객체 합성 방법을 수행하기 위한 테스크 및 3차원 가상객체 합성장치(1)의 일반적인 테스크를 처리한다. FIG. 2 is a block diagram of the 3D virtual object synthesizing apparatus shown in FIG. 1 . Referring to FIG. 2 , the 3D virtual object synthesis apparatus 1 includes a processor 101 , an input module 102 , a communication module 103 , a virtual plane determination module 104 , and a 3D virtual object synthesis module 105 . , a display module 106 and a storage 107 . The processor 101 of the 3D virtual object synthesizing apparatus 1 processes a task for performing a 3D virtual object synthesizing method and a general task of the 3D virtual object synthesizing apparatus 1 .

3차원 가상객체 합성 장치(1)의 입력모듈(102)은 사용자로부터 동영상에 합성하고자 하는 가상객체의 합성객체정보, 이미지, 가상객체합성 요청을 수신한다. 입력모듈(102)의 예로는 키보드, 마우스, 터치스크린 패널, 모션 컨트롤러 등을 들 수 있다. 통신모듈(103)은 기지국 또는 와이파이 중계기에 접속하여 인터넷 등과 같은 광역 네트워크를 통하여 3차원 가상객체 합성 서버(2) 또는 다른 3차원 가상객체 합성 장치(1)와 통신할 수 있는 통신기능을 지원한다. The input module 102 of the 3D virtual object synthesizing apparatus 1 receives synthetic object information of a virtual object to be synthesized into a video, an image, and a virtual object synthesizing request from the user. Examples of the input module 102 may include a keyboard, a mouse, a touch screen panel, a motion controller, and the like. The communication module 103 supports a communication function capable of communicating with the 3D virtual object synthesis server 2 or other 3D virtual object synthesis device 1 through a wide area network such as the Internet by connecting to a base station or a Wi-Fi repeater. .

3차원 가상객체 합성 장치(1)의 가상평면 결정모듈(104)은 동영상에 가상객체를 합성하기 위하여 기준이 되는 평면인 기준가상평면을 결정한다. 보다 구체적으로 가상평면 결정모듈(104)은 현실세계를 반영하는(mirroring)하는 3차원의 가상공간을 생성하고, 생성된 가상공간 상에서 적어도 하나의 후보가상평면을 추출하고, 추출된 적어도 하나의 후보가상평면 중 어느 하나를 기준가상평면으로 결정한다. 가상평면 결정모듈(104)은 사용자로부터 입력된 가상객체 합성요청에 기초하여 가상공간 상에서 기준가상평면을 결정한다. 기준가상평면을 결정하는 구체적인 방식에 대하여는 이하에서 상세하게 설명하기로 한다. The virtual plane determination module 104 of the 3D virtual object synthesizing apparatus 1 determines a reference virtual plane that is a reference plane for synthesizing a virtual object in a moving picture. More specifically, the virtual plane determination module 104 generates a three-dimensional virtual space that reflects the real world, extracts at least one candidate virtual plane from the generated virtual space, and extracts at least one candidate Any one of the virtual planes is determined as the reference virtual plane. The virtual plane determination module 104 determines a reference virtual plane in the virtual space based on the virtual object synthesis request input from the user. A specific method of determining the reference virtual plane will be described in detail below.

3차원 가상객체 합성 장치(1)의 3차원 가상객체 합성모듈(105)은 동영상에 삽입된 가상객체를 렌더링하고, 렌더링된 가상객체를 동영상에 합성한다. 보다 구체적으로 3차원 가상객체 합성모듈(105)은 사용자로부터 입력된 가상객체 합성요청에 기초하여 가상객체를 렌더링하고, 가상객체 합성요청 및 기준가상평면에 기초하여 가상공간 상에서 가상객체의 합성위치 및 합성방향을 결정하고, 렌더링된 가상객체를 결정된 합성위치 및 합성방향으로 합성한다. 3차원 가상객체를 합성하는 구체적인 방석이 대하여는 이하에서 상사하게 설명하기로 한다. The 3D virtual object synthesizing module 105 of the 3D virtual object synthesizing apparatus 1 renders the virtual object inserted into the moving picture, and synthesizes the rendered virtual object into the moving picture. More specifically, the 3D virtual object synthesis module 105 renders a virtual object based on a virtual object synthesis request input from the user, and based on the virtual object synthesis request and the reference virtual plane, the virtual object synthesis position and The composition direction is determined, and the rendered virtual object is synthesized at the determined composition position and composition direction. A specific cushion for synthesizing a 3D virtual object will be similarly described below.

3차원 가상객체 합성 장치(1)의 디스플레이 모듈(106)은 동영상 데이터를 출력하여 사용자에게 동영상을 표시한다. 디스플레이 모듈(106)의 예로는 터치스크린 패널, LCD 패널 등을 포한한다. 3차원 가상객체 합성 장치(1)의 스토리지(107)는 3차원 가상객체 합성 방법을 위한 어플리케이션 및 이러한 어플리케이션에 의해 사용되는 데이터를 저장한다. 또한, 스토리지(107)는 다수의 동영상 데이터를 저장한다. The display module 106 of the 3D virtual object synthesizing apparatus 1 outputs video data to display the video to the user. Examples of the display module 106 include a touch screen panel, an LCD panel, and the like. The storage 107 of the 3D virtual object synthesis apparatus 1 stores an application for a 3D virtual object synthesis method and data used by the application. In addition, the storage 107 stores a plurality of video data.

본 발명의 실시예들에 따른 3차원 가상객체 합성 장치(1)에서, 가상평면 결정모듈(104) 및 3차원 가상객체 합성모듈(105)은 프로세서(101)와 다른 별개의 전용 프로세서에 의해 구현될 수 있으며, 프로세서(101)에 의해 수행되는 컴퓨터 프로그램의 실행에 의하여 구현될 수도 있다. In the 3D virtual object synthesizing apparatus 1 according to embodiments of the present invention, the virtual plane determining module 104 and the 3D virtual object synthesizing module 105 are implemented by a dedicated processor different from the processor 101 . may be, and may be implemented by the execution of a computer program executed by the processor 101 .

3차원 가상객체 합성 장치(1)는 이상에서 설명된 구성요소들 외에 추가적인 구성요소를 더 포함할 수 있다. 예를 들어, 3차원 가상객체 합성 장치(1)는 도 2에 도시된 바와 같이, 구성요소들 간에 데이터를 전송하기 위한 버스를 포함하고, 도 2에는 생략되어 있으나 각 구성요소에 구동전원을 공급하는 전력모듈을 더 포함한다. 또한, 3차원 가상객체 합성 장치(1)는 동영상 데이터를 생성할 수 있는 카메라 모듈(미도시)을 포함한다. 이와 같이, 본 실시예가 속하는 기술분야에서 통상의 지식을 가진 자에게 자명한 구성요소에 대한 설명은 본 실시예의 특징을 흐려지게 함에 따라 생략하기로 한다. 이하에서는 본 발명의 일 실시예에 따른 3차원 가상객체 합성방법을 설명하는 과정에서 3차원 가상객체 합성 장치(1)의 각 구성요소에 대해 상세하게 설명하기로 한다.The 3D virtual object synthesizing apparatus 1 may further include additional components in addition to the components described above. For example, as shown in FIG. 2 , the 3D virtual object synthesizing apparatus 1 includes a bus for transmitting data between components, and although omitted in FIG. 2 , driving power is supplied to each component. It further includes a power module. In addition, the 3D virtual object synthesizing apparatus 1 includes a camera module (not shown) capable of generating moving image data. As such, descriptions of components that are obvious to those of ordinary skill in the art to which the present embodiment pertains will be omitted as they obscure the features of the present embodiment. Hereinafter, each component of the 3D virtual object synthesizing apparatus 1 will be described in detail in the process of describing the 3D virtual object synthesizing method according to an embodiment of the present invention.

도 3은 본 발명의 동영상 데이터에 3차원 가상객체를 합성하는 3차원 가상객체 합성 방법의 흐름도이다. 도 3을 참고하면, 301 단계에서, 3차원 가상객체 합성 장치(1)의 입력모듈(102)은 사용자로부터 3차원 가상객체를 합성할 대상인 동영상에 대한 선택을 포함하는 합성대상 동영상 선택을 수신한다. 입력모듈(102)은 사용자로부터 3차원 가상객체를 합성하려는 동영상에 대한 선택을 입력받는다. 예를 들어, 사용자가 바다를 촬영한 동영상에 3차원 가상객체를 합성하려는 경우, 사용자는 바다를 촬영한 동영상을 선택하는 방식으로 합성대상 동영상 선택을 입력할 수 있다. 입력모듈(102)은 수신된 합성대상 동영상 선택을 프로세서(101)로 입력한다. 3 is a flowchart of a 3D virtual object synthesis method for synthesizing a 3D virtual object with moving picture data according to the present invention. Referring to FIG. 3 , in step 301 , the input module 102 of the 3D virtual object synthesizing apparatus 1 receives a synthesis target video selection including a selection of a video to be synthesized with a 3D virtual object from the user. . The input module 102 receives a selection of a video for synthesizing a 3D virtual object from a user. For example, when a user intends to synthesize a 3D virtual object with a moving picture of the sea, the user may input a selection of a video to be synthesized by selecting a moving picture of the sea. The input module 102 inputs the received selection of a synthesis target video to the processor 101 .

302 단계에서, 3차원 가상객체 합성 장치(1)의 프로세서(101)는 합성대상 동영상 선택에 기초하여 3차원 가상객체를 합성하려는 합성대상 동영상 데이터를 획득한다. 보다 구체적으로, 프로세서(101)는 사용자로부터 입력된 합성대상 동영상 선택에 기초하여 스토리지(107)에 미리 저장된 동영상 데이터 중 합성대상 동영상 데이터를 획득하거나, 카메라 모듈(미도시)을 통하여 생성된 동영상 데이터를 획득할 수 있다. 프로세서(101)는 입력모듈(102)을 통하여 입력된 사용자의 합성대상 동영상 선택에 기초하여 합성대상 동영상 데이터를 스토리지(107) 또는 카메라 모듈로부터 획득한다. 프로세서(101)는 획득한 합성대상 동영상 데이터를 가상평면 결정모듈(104) 및 3차원 가상객체 합성모듈(105)로 입력한다. In step 302, the processor 101 of the 3D virtual object synthesizing apparatus 1 acquires synthesis target video data for synthesizing the 3D virtual object based on the selection of the synthesis target moving picture. More specifically, the processor 101 acquires the synthesis target video data from among the video data previously stored in the storage 107 based on the selection of the synthesis target video input by the user, or the video data generated through the camera module (not shown). can be obtained. The processor 101 acquires the synthesis target video data from the storage 107 or the camera module based on the user's selection of the synthesis target video input through the input module 102 . The processor 101 inputs the obtained video data to be synthesized into the virtual plane determination module 104 and the 3D virtual object synthesis module 105 .

303 단계에서, 3차원 가상객체 합성 장치(1)의 입력모듈(102)은 사용자로부터 합성대상 동영상에 합성하려는 3차원 가상객체에 대한 가상객체 합성 요청을 수신한다. 보다 구체적으로, 입력모듈(102)은 사용자로부터 합성대상 동영상에 합성하려는 3차원 가상객체의 합성객체정보, 합성위치 및 합성방향(orientation) 중 적어도 하나를 포함하는 가상객체 합성 요청을 수신한다. 합성객체정보는 동영상에 합성하고자 하는 가상객체의 텍스트, 이미지, 애니메이션에 대한 정보를 포함한다. 사용자는 동영상에 합성을 원하는 가상객체에 대한 요청을 입력모듈(102)을 통하여 입력할 수 있다. 사용자는 동영상의 특정 프레임에서 사용자에 의해 지정된 위치 및 방향으로 3차원의 가상객체를 삽입하기 위한 가상객체 합성 요청을 입력할 수 있다. In step 303, the input module 102 of the 3D virtual object synthesizing apparatus 1 receives a virtual object synthesis request for a 3D virtual object to be synthesized into a synthesis target video from a user. More specifically, the input module 102 receives a virtual object synthesis request including at least one of synthesis object information, a synthesis position, and an orientation of a 3D virtual object to be synthesized into a synthesis target video from a user. Composite object information includes information on text, image, and animation of a virtual object to be synthesized in a moving picture. The user may input a request for a virtual object to be synthesized in the video through the input module 102 . The user may input a virtual object synthesis request for inserting a three-dimensional virtual object in a specific frame of a video in a position and direction specified by the user.

예를 들어, 입력모듈(102)이 터치스크린인 경우, 사용자는 입력하고자 하는 가상객체를 합성시키고자 하는 동영상 프레임을 터치스크린 상에 디스플레이하고, 해당 동영상 프레임을 디스플레이하는 터치스크린 상에서 가상객체를 합성하고자 하는 위치 및 방향으로 배열할 수 있다. 입력모듈(102)인 터치스크린은 터치스크린 상에 입력된 가상객체의 위치 및 방향 정보를 획득한다. For example, when the input module 102 is a touch screen, the user displays a video frame on which a virtual object to be input is to be synthesized on the touch screen, and the virtual object is synthesized on the touch screen displaying the video frame. It can be arranged in the desired position and direction. The touch screen, which is the input module 102, acquires location and direction information of the virtual object input on the touch screen.

또한, 가상객체 합성 요청은 가상객체의 합성을 원하는 동영상 프레임의 범위를 포함한다. 3차원 가상객체 합성 장치(1)는 합성대상 동영상 데이터에서 가상객체 합성 요청에 포함된 동영상 프레임 범위에 속하는 동영상 프레임에 한하여 가상객체를 합성한다. 예를 들어, 10초 분량의 동영상 중 사용자가 2초 내지 4초 사이의 동영상에 한하여 가상객체를 합성하고자 하는 경우, 가상객체 합성 방법은 2초 내지 4초 사이에 존재하는 동영상 프레임에 한하여 가상객체를 합성한다. In addition, the virtual object synthesis request includes a range of video frames for which virtual objects are to be synthesized. The three-dimensional virtual object synthesizing apparatus 1 synthesizes virtual objects in the video data to be synthesized only for video frames belonging to the video frame range included in the virtual object synthesis request. For example, if the user wants to synthesize a virtual object only for a video between 2 and 4 seconds out of a 10-second video, the virtual object synthesis method applies only to a video frame existing between 2 and 4 seconds. to synthesize

이와 관련하여, 도 4는 본 발명의 일 실시예에 따른 3차원 가상객체 합성 방법에 의하여 3차원 가상객체가 합성된 동영상을 도시한 예시이다. 도 4에 도시된 동영상 화면의 예시에 따르면, 바다를 나타내는 동영상에 “흐린바다”란 텍스트의 3차원 가상객체가 합성되어 있다. 사용자는 입력모듈(102)을 통하여 바다를 나타내는 동영상을 합성대상 동영상으로 선택하고, 동영상에 “흐린바다”텍스트 및 위치를 포함하는 가상객체 합성 요청을 입력한다.In this regard, FIG. 4 is an example illustrating a video in which a 3D virtual object is synthesized by the 3D virtual object synthesis method according to an embodiment of the present invention. According to the example of the video screen shown in FIG. 4 , a three-dimensional virtual object of the text “cloudy sea” is synthesized in a video representing the sea. The user selects a video representing the sea as a synthesis target video through the input module 102, and inputs a virtual object synthesis request including the text “cloudy sea” and a location in the video.

입력모듈(102)은 입력된 가상객체 합성요청을 가상평면 결정모듈(104) 및 3차원 가상객체 합성모듈(105)로 입력한다. The input module 102 inputs the input virtual object synthesis request to the virtual plane determination module 104 and the 3D virtual object synthesis module 105 .

304 단계에서, 3차원 가상객체 합성 장치(1)의 가상평면 결정모듈(104)은 가상객체 합성요청에 기초하여 합성대상 동영상 데이터에서 기준가상평면을 결정한다. 여기에서, 기준가상평면은 동영상 프레임에 가상객체를 합성하기 위하여 기준이 되는 평면이다. 가상평면 결정모듈(104)은 가상객체 합성 요청에 포함된 가상객체의 합성위치 및 합성방향에 기초하여 기준가상평면을 결정한다. 기준가상평면을 결정하는 구체적인 과정에 대하여는 이하에서 도 5 및 도 6을 참조하여 설명하기로 한다. In step 304, the virtual plane determination module 104 of the 3D virtual object synthesizing apparatus 1 determines a reference virtual plane from the video data to be synthesized based on the virtual object synthesis request. Here, the reference virtual plane is a reference plane for synthesizing a virtual object in a video frame. The virtual plane determination module 104 determines a reference virtual plane based on the composition position and composition direction of the virtual objects included in the virtual object composition request. A detailed process of determining the reference virtual plane will be described below with reference to FIGS. 5 and 6 .

도 5는 도 3에 도시된 가상객체 합성 방법에서 기준가상평면을 결정하는 단계의 상세흐름도이고, 도 6은 기준가상평면을 결정하는 과정을 표시한 예시화면을 도시한 도면이다. 도 5 및 도 6을 참고하면, 3041 단계에서 가상평면 결정모듈(104)은 가상객체 합성요청에 기초하여 가상객체를 합성할 동영상 프레임 중 최초 동영상 프레임을 추출한다. 가상객체 합성요청에 포함된 동영상 프레임 범위 중 최초 동영상 프레임을 추출한다. 도 6의 (a)는 최초 동영상 프레임이 나타내는 화면을 도시한 도면이다. FIG. 5 is a detailed flowchart of a step of determining a reference virtual plane in the virtual object synthesis method shown in FIG. 3 , and FIG. 6 is a diagram illustrating an example screen showing a process of determining a reference virtual plane. 5 and 6 , in step 3041 , the virtual plane determination module 104 extracts a first video frame from among video frames to be synthesized virtual objects based on the virtual object synthesis request. Extracts the first video frame from the video frame range included in the virtual object synthesis request. 6A is a diagram illustrating a screen displayed by the first video frame.

3042 단계에서, 가상평면 결정모듈(104)은 3041 단계에서 추출된 최초 동영상 프레임에 기초하여 적어도 하나의 후보가상평면을 추출한다. 가상평면 결정모듈(104)은 최초 동영상 프레임 내에 포함된 평면을 검출하고, 검출된 평면을 적어도 하나의 후보가상평면으로 추출한다. 보다 구체적으로, 가상평면 결정모듈(104)은 최초 동영상 프레임이 나타내는 이미지를 반영하는(mirroring) 3차원의 가상공간을 생성한다. 가상평면 결정모듈(104)은 최초 동영상 프레임의 이미지에서 복수 개의 특징점(feature point)을 추출하고, 추출된 복수 개의 특징점으로 구성되는 적어도 하나의 평면을 추출한다. 가상평면 결정모듈(104)은 추출된 평면과 대응되는 가상평면을 3차원의 가상공간 상에 생성한다. 가상평면 결정모듈(104)은 가상공간 상에서 추출된 평면과 대응되는 위치에 가상평면을 생성한다. 가상평면 결정모듈(104)은 생성된 적어도 하나의 가상평면을 후보가상평면으로 결정한다. 도 6의 (b)는 최초 동영상 프레임이 나타내는 이미지에서 추출된 적어도 하나의 후보가상평면을 도시한 도면이다. 도 6의 (b)의 도면에서 음영된 평면이 추출된 복수 개의 후보 평면이다. In step 3042 , the virtual plane determination module 104 extracts at least one candidate virtual plane based on the first video frame extracted in step 3041 . The virtual plane determination module 104 detects a plane included in the first video frame, and extracts the detected plane as at least one candidate virtual plane. More specifically, the virtual plane determination module 104 creates a three-dimensional virtual space that reflects the image represented by the first video frame. The virtual plane determination module 104 extracts a plurality of feature points from the image of the first video frame, and extracts at least one plane composed of the plurality of extracted feature points. The virtual plane determination module 104 generates a virtual plane corresponding to the extracted plane in a three-dimensional virtual space. The virtual plane determination module 104 creates a virtual plane at a position corresponding to the extracted plane in the virtual space. The virtual plane determination module 104 determines the generated at least one virtual plane as a candidate virtual plane. FIG. 6B is a diagram illustrating at least one candidate virtual plane extracted from an image indicated by an initial video frame. In the drawing of FIG. 6B , the shaded plane is a plurality of extracted candidate planes.

본 발명의 다른 실시예에 따른 3차원 가상객체 합성 방법에서, 가상평면 결정모듈(104)은 3041 단계에서 추출된 최초 동영상 프레임을 포함하는 복수 개의 동영상 프레임에 기초하여 적어도 하나의 후보가상평면을 추출한다. 여기에서, 복수 개의 동영상 프레임은 최초 동영상 프레임, 최초 동영상 프레임 이전의 동영상 프레임, 최초 동영상 프레임 이후의 동영상 프레임을 포함한다. 가상평면 결정모듈(104)은 복수 개의 동영상 프레임 각각이 나타내는 이미지에서 복수 개의 특징점을 추출한다. 가상평면 결정모듈(104)은 각 동영상 프레임의 이미지에서 추출된 복수 개의 특징점의 변화에 기초하여 적어도 하나의 후보가상평면을 추출한다. 예를 들어, 가상평면 결정모듈(104)은 각 동영상 프레임의 이미지에서 추출된 복수 개의 특징점의 변화가 임계변화값 이하인 특징점을 포함하는 평면을 후보가상평면으로 추출한다.In the 3D virtual object synthesis method according to another embodiment of the present invention, the virtual plane determination module 104 extracts at least one candidate virtual plane based on a plurality of video frames including the first video frame extracted in step 3041 . do. Here, the plurality of video frames includes a first video frame, a video frame before the first video frame, and a video frame after the first video frame. The virtual plane determination module 104 extracts a plurality of feature points from an image represented by each of a plurality of video frames. The virtual plane determination module 104 extracts at least one candidate virtual plane based on changes in a plurality of feature points extracted from the image of each video frame. For example, the virtual plane determination module 104 extracts, as a candidate virtual plane, a plane including a feature point in which a change of a plurality of feature points extracted from an image of each video frame is equal to or less than a threshold change value.

3043 단계에서, 가상평면 결정모듈(104)은 가상객체 합성 요청에 기초하여 3042 단계에서 추출된 적어도 하나의 후보가상평면 중 어느 하나의 후보가상평면을 기준가상평면으로 결정한다. 가상평면 결정모듈(104)은 가상객체 합성 요청에 포함된 가상객체의 합성위치 및 합성방향에 기초하여 적어도 하나의 후보가상평면 중에서 어느 하나를 기준가상평면을 결정한다. 보다 구체적으로, 가상평면 결정모듈(104)은 추출된 후보가상평면의 법선벡터와 가상객체의 합성방향을 비교하고, 후보가상평면의 위치 좌표와 가상객체의 합성위치를 비교하고, 이러한 비교 결과에 기초하여 기준가상평면을 결정한다. 가상평면 결정모듈(104)은 후보가상평면의 법선벡터와 가상객체의 합성방향을 비교할 때 후보가상평면의 법선벡터와 가상객체를 둘러싼 바운딩 박스(bounding box)의 상면, 하면, 정면, 배면 각각에 대한 법선벡터와 후보가상평면의 법선벡터를 비교한다. 가상평면 결정모듈(104)은 가상객체의 합성위치와 가까운 소정의 개수의 후보가상평면들을 결정하고, 결정된 후보가상평면들 중 가상객체의 합성방향과 각도차이가 가장 적은 법선벡터를 갖는 후보가상평면을 기준가상평면으로 결정한다. 도 6의 (c)는 최초 동영상 프레임이 나타내는 이미지 상에서 가상객체 합성 요청에 기초한 가상객체“TEXT”의 위치 및 방향을 나타내는 예시화면이고, 도 6의 (d)는 최초 동영상 프레임이 나타내는 이미지 상에서 결정된 기준가상평면을 나타내는 예시화면이다. 도 6의 (c)에서 가상객체 “TEXT”는 동영상에서 우측 하단에 화면으로 들어가는 방향으로 배치된다. 도 6의 (d)에서 가상객체 “TEXT”의 하단에 위치한 음영된 평면이 결정된 기준가상평면이다. In operation 3043 , the virtual plane determination module 104 determines any one candidate virtual plane among the at least one candidate virtual plane extracted in operation 3042 as a reference virtual plane based on the virtual object synthesis request. The virtual plane determination module 104 determines a reference virtual plane from among at least one candidate virtual plane based on the composition position and composition direction of virtual objects included in the virtual object composition request. More specifically, the virtual plane determination module 104 compares the extracted normal vector of the candidate virtual plane with the synthesis direction of the virtual object, compares the position coordinates of the candidate virtual plane with the synthesis position of the virtual object, and receives the result of this comparison. Based on this, a reference virtual plane is determined. When comparing the normal vector of the candidate virtual plane and the synthesis direction of the virtual object, the virtual plane determination module 104 places the normal vector of the candidate virtual plane and the top, bottom, front, and back surfaces of the bounding box surrounding the virtual object. Compare the normal vector to the normal vector of the candidate virtual plane. The virtual plane determination module 104 determines a predetermined number of candidate virtual planes close to the synthesis position of the virtual object, and among the determined candidate virtual planes, the candidate virtual plane having a normal vector having the smallest angular difference from the synthesis direction of the virtual object. is determined as the reference virtual plane. Figure 6 (c) is an example screen showing the location and direction of the virtual object “TEXT” based on the virtual object synthesis request on the image indicated by the first video frame, and Figure 6 (d) is the image determined on the image indicated by the first video frame. This is an example screen showing the reference virtual plane. In (c) of FIG. 6 , the virtual object “TEXT” is arranged in the direction entering the screen at the lower right corner of the video. The shaded plane located at the bottom of the virtual object “TEXT” in (d) of FIG. 6 is the determined reference virtual plane.

본 발명의 또 다른 실시예에 따른 가상평면 결정모듈(104)은 가상객체 합성 요청에 기초하여 결정된 기준가상평면을 수정한다. 가상평면 결정모듈(104)은 가상객체 합성 요청에 포함된 가상객체의 합성위치 및 합성방향에 기초하여 결정된 기준가상평면의 방향 및 위치를 수정한다. 가상평면 결정모듈(104)은 기준가상평면의 위치 및 방향을 가상객체 합성 요청에 포함된 가상객체의 합성위치와 합성방향에 부합하도록 기준가상평면으로 결정된 후보가상평면의 위치 및 방향을 수정한다. The virtual plane determination module 104 according to another embodiment of the present invention modifies the determined reference virtual plane based on the virtual object synthesis request. The virtual plane determination module 104 corrects the direction and position of the reference virtual plane determined based on the composition position and composition direction of the virtual object included in the virtual object composition request. The virtual plane determination module 104 corrects the position and direction of the candidate virtual plane determined as the reference virtual plane so that the position and direction of the reference virtual plane match the composition position and composition direction of the virtual object included in the virtual object composition request.

304 단계에서, 가상평면 결정모듈(104)은 결정된 기준가상평면을 3차원 가상객체 합성모듈(105)로 입력한다.In step 304 , the virtual plane determination module 104 inputs the determined reference virtual plane to the 3D virtual object synthesis module 105 .

305 단계에서, 3차원 가상객체 합성 장치(1)의 3차원 가상객체 합성모듈(105)은 가상객체 합성 요청 및 기준가상평면에 기초하여 동영상에 삽입될 가상객체를 렌더링하고, 렌더링된 가상객체를 동영상 프레임에 합성한다. 3차원 가상객체 합성모듈(105)은 가상객체 합성 요청에 포함된 가상객체의 합성객체정보, 이미지, 합성위치 및 합성방향에 따라 기준가상평면 상에서 가상객체를 렌더링한다. 3차원 가상객체 합성모듈(105)은 사용자가 입력한 합성객체정보와 대응되는 가상객체를 초기 동영상 프레임에서 기준가상평면 상에 사용자가 입력한 합성위치에 합성방향으로 생성한다. 보다 구체적으로, 3차원 가상객체 합성모듈(105)은 304 단계에서 결정된 기준가상평면의 위치좌표 및 방향에 기초하여 가상공간 상에서의 가상객체의 합성위치 좌표 및 합성방향을 산출한다. In step 305, the 3D virtual object synthesizing module 105 of the 3D virtual object synthesizing apparatus 1 renders a virtual object to be inserted into the video based on the virtual object synthesis request and the reference virtual plane, and generates the rendered virtual object. Composite into a video frame. The 3D virtual object synthesis module 105 renders the virtual object on the reference virtual plane according to the composite object information, image, composition position, and composition direction of the virtual object included in the virtual object composition request. The 3D virtual object synthesizing module 105 creates a virtual object corresponding to the composite object information input by the user in the synthesis direction at the compositing position input by the user on the reference virtual plane in the initial video frame. More specifically, the 3D virtual object synthesis module 105 calculates the synthesis position coordinates and the synthesis direction of the virtual object in the virtual space based on the position coordinates and the direction of the reference virtual plane determined in step 304 .

3차원 가상객체 합성모듈(105)은 기준가상평면을 기준으로 가상객체의 위치 및 방향을 나타내는 상대적 객체 매트릭스를 산출하고, 가상공간 상에서 기준가상평면의 위치 및 방향을 나타내는 베이스 매트릭스를 산출한다. 3차원 가상객체 합성모듈은 가상객체의 상대적 객체 매트릭스 및 베이스 매트릭스를 이용하여 가상공간 상에서 가상객체의 합성위치 및 합성방향을 나타내는 절대적 객체 매트릭스를 산출한다. 가상객체의 절대적 객체 매트릭스는 다음의 수학식 1로 표현될 수 있다. The 3D virtual object synthesis module 105 calculates a relative object matrix indicating the position and direction of the virtual object based on the reference virtual plane, and calculates a base matrix indicating the position and direction of the reference virtual plane in the virtual space. The 3D virtual object composition module calculates an absolute object matrix indicating the composition position and composition direction of virtual objects in virtual space by using the relative object matrix and base matrix of virtual objects. The absolute object matrix of the virtual object can be expressed by Equation 1 below.

Figure 112020085002618-pat00001
Figure 112020085002618-pat00001

여기에서, absolute object matrix는 가상공간 상에서 가상객체의 합성위치 및 합성방향을 나타내는 절대적 객체 매트릭스이고, relative object matrix는 기준가상평면을 기준으로 가상객체의 위치 및 방향을 나타내는 상대적 객체 매트릭스이고, base matrix는 가상공간 상에서 기준가상평면의 위치 및 방향을 나타내는 베이스 매트릭스이다. Here, the absolute object matrix is an absolute object matrix indicating the composition position and composition direction of virtual objects in virtual space, the relative object matrix is a relative object matrix indicating the position and direction of virtual objects with respect to the reference virtual plane, and the base matrix is a base matrix indicating the position and direction of the reference virtual plane in the virtual space.

3차원 가상객체 합성모듈(105)은 산출된 가상객체의 합성위치 좌표 및 합성방향에 따라 가상객체를 렌더링한다. 3차원 가상객체 합성모듈(105)은 렌더링된 가상객체를 초기 동영상 프레임에 합성한다. 3차원 가상객체 합성모듈(105)은 가상객체 합성 요청에 포함된 가상객체의 합성을 원하는 동영상 프레임의 범위 내에 속하는 동영상 프레임에 가상객체를 합성한다. The three-dimensional virtual object synthesis module 105 renders the virtual object according to the calculated composition position coordinates and the composition direction of the virtual object. The 3D virtual object synthesis module 105 synthesizes the rendered virtual object into an initial video frame. The 3D virtual object synthesizing module 105 synthesizes a virtual object into a video frame belonging to a range of a video frame for which the virtual object included in the virtual object synthesis request is to be synthesized.

본 발명의 3차원 가상객체 합성 방법은 기준가상평면을 결정하는 단계(304 단계) 및 가상객체를 렌더링하고 렌더링된 가상객체를 동영상 프레임에 합성하는 단계(305 단계)를 가상객체의 합성을 원하는 동영상 프레임의 범위 동안 주기적으로 반복한다. 3차원 가상객체 합성 방법은 기준가상평면을 결정하는 단계 및 가상객체를 렌더링하고 렌더링된 가상객체를 동영상 프레임에 합성하는 단계를 주기적으로 반복함으로써 기준가상평면을 계속 업데이트하고, 업데이트된 기준가상평면을 이용하여 가상객체를 동영상 프레임에 합성한다. 여기에서, 반복 주기는 사용자에 의하여 미리 설정될 수 있다. The three-dimensional virtual object synthesis method of the present invention comprises the steps of determining a reference virtual plane (step 304), rendering the virtual object, and synthesizing the rendered virtual object into a video frame (step 305). It repeats periodically over the span of a frame. The 3D virtual object synthesis method continuously updates the reference virtual plane by periodically repeating the steps of determining the reference virtual plane, rendering the virtual object, and compositing the rendered virtual object to the video frame, and Combining virtual objects into video frames using Here, the repetition period may be preset by the user.

본 발명의 3차원 가상객체 합성 방법은 가상객체의 합성을 원하는 동영상 프레임의 범위 동안 기준가상평면 재설정 조건을 만족하는 경우 기준가상평면을 결정하는 단계(304 단계) 및 가상객체를 렌더링하고 렌더링된 가상객체를 동영상 프레임에 합성하는 단계(305 단계)를 반복한다. 여기에서, 기준가상평면 재설정 조건은 기준가상평면을 다시 설정할 필요가 있음을 나타내는 조건으로, 예를 들어 동영상 프레임이 나타내는 이미지가 크게 변한 경우 기준가상평면을 다시 설정한다. 기준가상평면 재설정 조건은 사용자에 의하여 미리 설정될 수 있다. 이처럼, 본 발명의 3차원 가상객체 합성 방법은 동영상프레임이 나타내는 현실세계의 이미지가 크게 변하는 것을 반영하여 다시 기준가상평면을 재설정한다. The three-dimensional virtual object synthesizing method of the present invention includes the steps of determining a reference virtual plane (step 304) when a reference virtual plane reset condition is satisfied during the range of a video frame for which the virtual object is to be synthesized, and rendering the virtual object and rendered virtual object. The step of synthesizing the object into the video frame (step 305) is repeated. Here, the reference virtual plane reset condition is a condition indicating that the reference virtual plane needs to be reset. For example, when the image represented by the moving picture frame is greatly changed, the reference virtual plane is reset. The reference virtual plane reset condition may be preset by a user. In this way, the 3D virtual object synthesis method of the present invention resets the reference virtual plane again by reflecting the large change in the image of the real world represented by the moving picture frame.

3차원 가상객체 합성모듈(105)은 가상객체가 합성된 동영상 프레임을 포함하는 동영상 데이터를 디스플레이 모듈(106)로 입력한다. The 3D virtual object synthesis module 105 inputs video data including video frames in which virtual objects are synthesized to the display module 106 .

여기에서, 가상객체가 합성된 동영상 데이터는 초기 동영상 프레임에서 현실세계를 나타내는 이미지를 반영하는 3차원 가상공간을 생성하고, 생성된 3차원 가상공간 상에서 기준가상평면을 결정하고, 기준가상평면에 기초하여 3차원 가상공간 상에서 합성위치 및 합성방향을 산출한다. 이에 따라, 가상객체가 합성된 동영상에서 동영상을 촬영한 카메라의 촬영지점 및 촬영방향이 가변하더라도, 즉 동영상의 시점(viewpoint)가 가변하더라도 현실세계를 반영한 3차원 가상공간 상에서 가상객체의 합성위치 및 합성방향이 고정됨에 따라, 사용자에게는 동영상에 합성된 가상객체도 동영상의 시점 변화와 동일하게 움직이는 것처럼 보인다. 예를 들어, 동영상이 자동차의 정면으로부터 측면을 보여주는 동영상인 경우, 이러한 동영상에 삽입된 가상객체 또한 동영상에서 카메라가 움직이는 것과 마찬가지로 동영상의 처음엔 가상객체의 정면이 보이다가 점차 가상객체의 측면이 보이게 된다. 다시 말해서, 동영상의 시청자는 가상객체가 마치 자동차 옆에 놓인 것처럼 느낄 수 있다. 즉, 동영상의 시청자는 동영상에 합성된 가상객체에 대하여 이질감을 느끼지 않을 수 있다. Here, the video data in which the virtual object is synthesized creates a three-dimensional virtual space that reflects an image representing the real world in the initial video frame, determines a reference virtual plane in the generated three-dimensional virtual space, and based on the reference virtual plane Thus, a synthesis position and a synthesis direction are calculated in a three-dimensional virtual space. Accordingly, even if the shooting point and the shooting direction of the camera that captured the moving picture in the video in which the virtual object is synthesized are variable, that is, even if the viewpoint of the video is changed, the synthetic position of the virtual object in the 3D virtual space reflecting the real world and As the composition direction is fixed, the virtual object synthesized in the video appears to the user to move in the same way as the viewpoint change of the video. For example, if the video is a video showing the side of a car from the front, the virtual object inserted into the video also shows the front of the virtual object at the beginning of the video, and then the side of the virtual object gradually becomes visible, just as the camera moves in the video. do. In other words, the viewer of the video can feel as if the virtual object is placed next to the car. That is, the viewer of the video may not feel a sense of heterogeneity with respect to the virtual object synthesized in the video.

306 단계에서, 3차원 가상객체 합성 장치(1)의 디스플레이 모듈(106)은 가상객체가 합성된 동영상 프레임을 포함하는 동영상 데이터를 출력한다. 디스플레이 모듈(106)은 가상객체가 포함된 동영상 데이터를 출력하여 사용자에게 제공한다.In step 306, the display module 106 of the 3D virtual object synthesizing apparatus 1 outputs video data including video frames in which virtual objects are synthesized. The display module 106 outputs video data including virtual objects and provides them to the user.

상술한 본 발명의 일 실시예에 따른 3차원 가상객체 합성 방법은 상술한 예시와 같이, 3차원 가상객체 합성 장치(2)에서 수행될 수 있다. 또 다른 실시예에 따르면, 3차원 가상객체 합성 장치(2)는 사용자로부터 합성대상 동영상 선택 및 가상객체 합성 요청을 수신하고, 수신된 합성대상 동영상 선택 및 가상객체 합성 요청을 3차원 가상객체 합성 서버(1)로 송신하고, 3차원 가상객체 합성 서버(1)에서 가상객체를 렌더링하고, 동영상 데이터에 렌더링된 가상객체를 합성하고, 가상객체가 합성된 동영상 데이터를 다시 3차원 가상객체 합성 장치(2)로 송신한다. 3차원 가상객체 합성 장치(2)는 3차원 가상객체 합성 서버(1)로부터 송신된 동영상 데이터를 디스플레이 모듈(106)을 통하여 사용자에게 제공한다. The 3D virtual object synthesizing method according to an embodiment of the present invention described above may be performed by the 3D virtual object synthesizing apparatus 2 as in the above-described example. According to another embodiment, the 3D virtual object synthesizing apparatus 2 receives a synthesis target video selection and virtual object synthesis request from a user, and transmits the received synthesis target video selection and virtual object synthesis request to the 3D virtual object synthesis server (1), the 3D virtual object synthesis server 1 renders the virtual object, synthesizes the rendered virtual object in the video data, and the video data in which the virtual object is synthesized is again converted into a 3D virtual object synthesis device ( 2) is sent. The 3D virtual object synthesizing apparatus 2 provides the video data transmitted from the 3D virtual object synthesizing server 1 to the user through the display module 106 .

상술한 본 발명의 실시예들에 따르면, 3차원 가상객체 합성 방법은 사용자로 하여금 간단한 조작만으로 현실세계를 나타내는 동영상 데이터에 3차원의 가상객체를 용이하게 합성할 수 있다. 본 발명은 사용자가 동영상에 3차원의 가상객체를 합성할 때, 가상객체를 합성하려는 동영상 프레임을 선택하고, 선택된 동영상 프레임에서 합성하고자 하는 가상객체의 위치 및 방향을 입력하면, 3차원 가상객체 합성 장치는 사용자의 가상객체 합성 요청에 따라 가상객체를 렌더링하고 동영상에 합성한다. 이처럼, 본 발명에 따른 3차원 가상객체 합성 방법은 사용자로 하여금 간단한 조작만으로 현실세계를 나타내는 동영상에 3차원의 가상객체를 합성할 수 있게 한다. According to the above-described embodiments of the present invention, the 3D virtual object synthesizing method enables a user to easily synthesize a 3D virtual object with moving picture data representing the real world with a simple operation. In the present invention, when a user selects a video frame to synthesize a virtual object when synthesizing a 3D virtual object in a moving picture, and inputs the location and direction of the virtual object to be synthesized in the selected video frame, 3D virtual object synthesis The device renders the virtual object according to the user's request to synthesize the virtual object and synthesizes the virtual object into the video. As such, the 3D virtual object synthesis method according to the present invention allows a user to synthesize a 3D virtual object into a moving picture representing the real world with a simple operation.

또한, 본 발명의 3차원 가상객체 합성 방법은 3차원의 가상객체를 동영상에 합성할 때, 가상객체를 합성하는 위치 및 방향에 기초하여 기준가상평면을 결정하고, 기준가상평면을 이용하여 가상객체를 렌더링하고 합성함으로써, 현실세계를 나타내는 동영상에 가상객체를 자연스럽게 합성할 수 있다. 보다 구체적으로, 기준가상평면을 결정할 때 현실세계를 나타내는 이미지 상에서의 평면과 대응되는 후보가상평면들을 추출하고, 추출된 후보가상평면들 중 가상객체의 합성위치 및 합성방향과 연관성이 가장 높은 후보가상평면을 기준가상평면으로 결정하고, 결정된 기준가상평면에 기초하여 가상객체를 렌더링하고 합성함으로써, 현실세계와 이질감 없는 가상객체를 동영상에 합성할 수 있다. In addition, the 3D virtual object synthesis method of the present invention determines a reference virtual plane based on the position and direction of synthesizing a virtual object when synthesizing a 3D virtual object into a moving image, and uses the reference virtual plane to create a virtual object By rendering and synthesizing , virtual objects can be naturally synthesized into moving images representing the real world. More specifically, when determining the reference virtual plane, candidate virtual planes corresponding to the plane on the image representing the real world are extracted, and among the extracted candidate virtual planes, the candidate virtual plane with the highest correlation with the composition location and composition direction of the virtual object. By determining a plane as a reference virtual plane and rendering and synthesizing a virtual object based on the determined reference virtual plane, a virtual object having no sense of alienation with the real world can be synthesized into a moving picture.

추가적으로, 본 발명의 3차원 가상객체 합성 방법은 주기적 또는 비주기적으로 기준가상평면을 재설정함으로써, 동영상에 더욱 현실감 있는 가상객체를 합성할 수 있다. 동영상이 나타내는 현실세계의 이미지가 크게 변한 경우, 다시 기준가상평면을 설정함으로써 동영상이 나타내는 현실세계에 적합한 가상객체를 합성한다. Additionally, the 3D virtual object synthesis method of the present invention can synthesize a more realistic virtual object in a moving picture by periodically or aperiodically resetting the reference virtual plane. When the image of the real world represented by the video changes significantly, a virtual object suitable for the real world represented by the video is synthesized by setting a reference virtual plane again.

이에 더하여, 현실세계를 반영하는 3차원의 가상공간을 생성하고, 3차원의 가상공간 상에서 기준가상평면을 기준으로 가상객체를 렌더링하고 합성함으로써, 동영상에서 동영상의 촬영시점(viewpoint)이 변하더라도 가상객체 또한 촬영시점의 변화에 따라 같이 움직이는 것처럼 보인다. 이에 따라, 사용자는 동영상에 합성된 가상객체에 대한 이질감을 느끼지 않게 할 수 있다. 현실세계를 나타내는 동영상에 가상객체를 자연스럽게 합성할 수 있다. In addition, by creating a three-dimensional virtual space that reflects the real world, and rendering and synthesizing virtual objects based on the reference virtual plane in the three-dimensional virtual space, virtual Objects also appear to move with the change of the shooting point. Accordingly, the user may not feel a sense of heterogeneity with respect to the virtual object synthesized in the video. Virtual objects can be naturally synthesized with videos representing the real world.

한편 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 본 발명의 실시예에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체 (예를 들면 롬 플로피 디스크 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)같은 저장매체를 포함한다. 컴퓨터 판독 가능한 기록매체에는 본 발명의 실시예들에 따른 3차원 실내지도 구축 방법을 수행하는 프로그램을 기록된다.Meanwhile, the above-described embodiments of the present invention can be written as a program that can be executed on a computer, and can be implemented in a general-purpose digital computer that operates the program using a computer-readable recording medium. In addition, the structure of the data used in the above-described embodiment of the present invention may be recorded in a computer-readable recording medium through various means. The computer-readable recording medium includes a magnetic storage medium (eg, a ROM floppy disk hard disk, etc.) and a storage medium such as an optically readable medium (eg, CD-ROM, DVD, etc.). A program for performing a three-dimensional indoor map construction method according to embodiments of the present invention is recorded in a computer-readable recording medium.

이제까지 본 발명에 대하여 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.So far, preferred embodiments of the present invention have been mainly looked at. Those of ordinary skill in the art to which the present invention pertains will understand that the present invention may be implemented in a modified form without departing from the essential characteristics of the present invention. Therefore, the disclosed embodiments are to be considered in an illustrative rather than a restrictive sense. The scope of the present invention is indicated in the claims rather than the foregoing description, and all differences within the scope equivalent thereto should be construed as being included in the present invention.

1: 3차원 가상객체 합성 장치
2: 3차원 가상객체 합성 서버
101: 프로세서 102: 입력모듈
103: 통신모듈 104: 가상평면 결정모듈
105: 3차원 가상객체 합성모듈 106: 디스플레이 모듈
107: 스토리지
1: 3D virtual object synthesis device
2: 3D virtual object synthesis server
101: processor 102: input module
103: communication module 104: virtual plane determination module
105: 3D virtual object synthesis module 106: display module
107: storage

Claims (8)

동영상 데이터에 3차원 가상객체를 합성하는 방법에 있어서,
사용자로부터 가상객체를 합성할 동영상에 대한 선택을 포함하는 합성대상 동영상 선택을 수신하는 단계;
상기 합성대상 동영상 선택에 기초하여 합성대상 동영상 데이터를 획득하는 단계;
상기 사용자로부터 동영상에 합성을 원하는 가상객체의 합성객체정보, 합성위치 및 합성방향(orientation)을 포함하는 가상객체 합성 요청을 수신하는 단계;
상기 가상객체 합성 요청에 기초하여 상기 합성대상 동영상 데이터에서 기준가상평면을 결정하는 단계; 및
상기 가상객체 합성 요청 및 상기 기준가상평면에 기초하여 상기 합성대상 동영상 데이터에 합성할 가상객체를 렌더링하고, 상기 렌더링된 가상객체를 동영상 프레임에 합성하는 단계를 포함하고,
상기 가상객체 합성 요청은 상기 가상객체의 합성을 원하는 동영상 프레임의 범위를 포함하고,
상기 합성대상 동영상 데이터에서 기준가상평면을 결정하는 단계는
상기 가상객체 합성 요청에 기초하여 상기 동영상 프레임의 범위 중 최초 동영상 프레임을 추출하는 단계;
상기 최초 동영상 프레임에서 적어도 하나의 후보가상평면을 추출하는 단계; 및
상기 가상객체 합성 요청에 기초하여 상기 추출된 적어도 하나의 후보가상평면 중 기준가상평면을 결정하는 단계를 포함하고,
상기 추출된 적어도 하나의 후보가상평면 중 기준가상평면을 결정하는 단계는
상기 추출된 적어도 하나의 후보가상평면의 위치와 상기 가상객체의 합성위치를 비교하고, 상기 추출된 적어도 하나의 후보가상평면의 법선벡터와 상기 가상객체의 합성방향을 비교하고, 비교 결과에 기초하여 상기 기준가상평면을 결정하는 것을 특징으로 하는 3차원 가상객체 합성방법.
In the method of synthesizing a 3D virtual object with video data,
receiving, from a user, a selection of a video to be synthesized including selection of a video to be synthesized with a virtual object;
obtaining synthesis target moving picture data based on the selection of the synthesis target moving picture;
receiving, from the user, a virtual object composition request including synthetic object information, a composition position, and an orientation of a virtual object desired to be synthesized into a video;
determining a reference virtual plane from the synthesis target video data based on the virtual object synthesis request; and
Rendering a virtual object to be synthesized into the synthesis target video data based on the virtual object synthesis request and the reference virtual plane, and synthesizing the rendered virtual object into a video frame;
The virtual object synthesis request includes a range of video frames for which the virtual object is to be synthesized,
The step of determining a reference virtual plane from the video data to be synthesized is
extracting a first video frame from a range of the video frame based on the virtual object synthesis request;
extracting at least one candidate virtual plane from the first video frame; and
determining a reference virtual plane among the extracted at least one candidate virtual plane based on the virtual object synthesis request;
The step of determining a reference virtual plane among the extracted at least one candidate virtual plane includes:
Comparing the extracted position of the at least one candidate virtual plane with the synthesis position of the virtual object, comparing the extracted normal vector of the at least one candidate virtual plane with the synthesis direction of the virtual object, and based on the comparison result 3D virtual object synthesis method, characterized in that determining the reference virtual plane.
삭제delete 삭제delete 제 1 항에 있어서,
상기 가상객체를 렌더링하고 상기 렌더링된 가상객체를 동영상 프레임에 합성하는 단계는
상기 기준가상평면 상에 상기 가상객체의 합성객체정보, 합성위치 및 합성방향으로 상기 가상객체를 렌더링하고, 상기 렌더링된 가상객체를 상기 동영상 프레임에 합성하는 것을 특징으로 하는 3차원 가상객체 합성방법.
The method of claim 1,
The step of rendering the virtual object and synthesizing the rendered virtual object into a video frame includes:
3D virtual object synthesizing method, characterized in that the virtual object is rendered on the reference virtual plane in the composition object information, composition position, and composition direction of the virtual object, and the rendered virtual object is synthesized into the video frame.
제 1 항에 있어서,
상기 최초 동영상 프레임에서 적어도 하나의 후보가상평면을 추출하는 단계는
상기 최초 동영상 프레임이 나타내는 이미지에서 복수 개의 특징점(feature point)을 추출하고, 상기 추출된 복수 개의 특징점을 포함하는 적어도 하나의 평면을 상기 적어도 하나의 후보가상평면으로 추출하는 것을 특징으로 하는 3차원 가상객체 합성 방법.
The method of claim 1,
The step of extracting at least one candidate virtual plane from the first video frame comprises:
Extracting a plurality of feature points from the image represented by the first video frame, and extracting at least one plane including the extracted plurality of feature points as the at least one candidate virtual plane How to synthesize objects.
제 1 항에 있어서,
상기 합성대상 동영상 데이터에서 기준가상평면을 결정하는 단계는
상기 가상객체 합성 요청에 포함된 상기 가상객체의 합성위치 및 합성방향에 기초하여, 상기 결정된 기준가상평면의 방향 및 위치를 수정하는 단계를 더 포함하는 것을 특징으로 하는 3차원 가상객체 합성 방법
The method of claim 1,
The step of determining a reference virtual plane from the video data to be synthesized is
3D virtual object synthesis method, further comprising the step of correcting the determined direction and position of the reference virtual plane based on the synthesis position and the synthesis direction of the virtual object included in the virtual object synthesis request
동영상 데이터에 3차원 가상객체를 합성하는 3차원 가상객체 합성 장치에 있어서,
사용자로부터 가상객체를 합성할 동영상에 대한 선택을 포함하는 합성대상 동영상 선택을 수신하고, 상기 사용자로부터 동영상에 합성을 원하는 가상객체의 합성객체정보, 합성위치 및 합성방향(orientation)을 포함하는 가상객체 합성 요청을 수신하는 입력모듈(102);
상기 합성대상 동영상 선택에 기초하여 합성대상 동영상 데이터를 획득하는 프로세서(101);
상기 가상객체 합성 요청에 기초하여 상기 합성대상 동영상 데이터에 포함된 초기 동영상 프레임에서 기준가상평면을 결정하는 가상평면 결정모듈(104); 및
상기 가상객체 합성 요청 및 상기 기준가상평면에 기초하여 상기 합성대상 동영상 데이터에 합성할 가상객체를 렌더링하고, 상기 렌더링된 가상객체를 동영상 프레임에 합성하는 3차원 가상객체 합성모듈(105)을 포함하고,
상기 가상객체 합성 요청은 상기 가상객체의 합성을 원하는 동영상 프레임의 범위를 포함하고,
상기 가상평면 결정모듈(104)은
상기 가상객체 합성 요청에 기초하여 상기 동영상 프레임의 범위 중 최초 동영상 프레임을 추출하고,
상기 최초 동영상 프레임에서 적어도 하나의 후보가상평면을 추출하고,
상기 가상객체 합성 요청에 기초하여 상기 추출된 적어도 하나의 후보가상평면 중 기준가상평면을 결정하고, 그리고
상기 추출된 적어도 하나의 후보가상평면의 위치와 상기 가상객체의 합성위치를 비교하고, 상기 추출된 적어도 하나의 후보가상평면의 법선벡터와 상기 가상객체의 합성방향을 비교하고, 비교 결과에 기초하여 상기 기준가상평면을 결정하는 것을 특징으로 하는 3차원 가상객체 합성 장치.
A three-dimensional virtual object synthesizing apparatus for synthesizing a three-dimensional virtual object with video data, the apparatus comprising:
Receives a selection of a video to be synthesized including a selection of a video to synthesize a virtual object from a user, and a virtual object including synthetic object information, a composition position, and an orientation of a virtual object desired to be synthesized in the video from the user. an input module 102 for receiving a synthesis request;
a processor 101 for obtaining synthesis target moving picture data based on the selection of the synthesis target moving picture;
On the basis of the virtual object synthesis request, included in the synthesis target video data a virtual plane determination module 104 for determining a reference virtual plane from the initial video frame; and
A three-dimensional virtual object synthesizing module 105 for rendering a virtual object to be synthesized into the compositing target video data based on the virtual object synthesizing request and the reference virtual plane, and synthesizing the rendered virtual object into a video frame, and ,
The virtual object synthesis request includes a range of video frames for which the virtual object is to be synthesized,
The virtual plane determination module 104 is
extracting the first video frame from the range of the video frame based on the virtual object synthesis request;
extracting at least one candidate virtual plane from the first video frame,
determining a reference virtual plane from among the extracted at least one candidate virtual plane based on the virtual object synthesis request, and
Comparing the extracted position of the at least one candidate virtual plane with the synthesis position of the virtual object, comparing the extracted normal vector of the at least one candidate virtual plane with the synthesis direction of the virtual object, and based on the comparison result 3D virtual object synthesizing apparatus, characterized in that determining the reference virtual plane.
제 1 항, 제 4 항 내지 제 6 항 중 어느 한 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium in which a program for performing the method according to any one of claims 1 to 6 is recorded.
KR1020200101361A 2020-08-12 2020-08-12 Method and Apparatus for synthesizing 3-dimensional virtual object to video data KR102419290B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200101361A KR102419290B1 (en) 2020-08-12 2020-08-12 Method and Apparatus for synthesizing 3-dimensional virtual object to video data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200101361A KR102419290B1 (en) 2020-08-12 2020-08-12 Method and Apparatus for synthesizing 3-dimensional virtual object to video data

Publications (2)

Publication Number Publication Date
KR20220021076A KR20220021076A (en) 2022-02-22
KR102419290B1 true KR102419290B1 (en) 2022-07-12

Family

ID=80494390

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200101361A KR102419290B1 (en) 2020-08-12 2020-08-12 Method and Apparatus for synthesizing 3-dimensional virtual object to video data

Country Status (1)

Country Link
KR (1) KR102419290B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214158A (en) * 2012-03-30 2013-10-17 Ntt Comware Corp Display image retrieval device, display control system, display control method, and program
KR101746648B1 (en) * 2016-02-23 2017-06-14 주식회사 언리얼파크 Apparatus and method of markerless augmented reality for 3d object representation

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101546654B1 (en) 2012-06-26 2015-08-25 한국과학기술원 Method and apparatus for providing augmented reality service in wearable computing environment
KR101872070B1 (en) 2015-06-16 2018-06-27 코오롱인더스트리 주식회사 Apparatus for distributing goods based on production rate, method thereof, and computer recordable medium storing the method
CN116778120A (en) 2016-12-13 2023-09-19 奇跃公司 Augmented reality display system
KR102138536B1 (en) * 2018-06-08 2020-07-28 엘지전자 주식회사 Method for processing overlay in 360-degree video system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013214158A (en) * 2012-03-30 2013-10-17 Ntt Comware Corp Display image retrieval device, display control system, display control method, and program
KR101746648B1 (en) * 2016-02-23 2017-06-14 주식회사 언리얼파크 Apparatus and method of markerless augmented reality for 3d object representation

Also Published As

Publication number Publication date
KR20220021076A (en) 2022-02-22

Similar Documents

Publication Publication Date Title
US9613463B2 (en) Augmented reality extrapolation techniques
US11978175B2 (en) Mixed reality system with color virtual content warping and method of generating virtual content using same
US6633304B2 (en) Mixed reality presentation apparatus and control method thereof
CN111656407A (en) Fusing, texturing, and rendering views of a dynamic three-dimensional model
CN109615703A (en) Image presentation method, device and the equipment of augmented reality
CN111164971B (en) Parallax viewer system for 3D content
EP2175636A1 (en) Method and system for integrating virtual entities within live video
KR20140082610A (en) Method and apaaratus for augmented exhibition contents in portable terminal
US20170374256A1 (en) Method and apparatus for rolling shutter compensation
KR101691034B1 (en) Apparatus and method for synthesizing additional information during rendering object in 3d graphic terminal
US20190051052A1 (en) Photorealistic Augmented Reality System
US20110149042A1 (en) Method and apparatus for generating a stereoscopic image
US20190164323A1 (en) Method and program for generating virtual reality contents
US11941729B2 (en) Image processing apparatus, method for controlling image processing apparatus, and storage medium
US11341716B1 (en) Augmented-reality system and method
KR102013917B1 (en) Appartus and method for displaying hierarchical depth image in virtual realilty
CN110313021B (en) Augmented reality providing method, apparatus, and computer-readable recording medium
US11961190B2 (en) Content distribution system, content distribution method, and content distribution program
JP5252703B2 (en) 3D image display device, 3D image display method, and 3D image display program
KR102419290B1 (en) Method and Apparatus for synthesizing 3-dimensional virtual object to video data
EP3716217A1 (en) Techniques for detection of real-time occlusion
KR102622709B1 (en) Method and Apparatus for generating 360 degree image including 3-dimensional virtual object based on 2-dimensional image
US20200106727A1 (en) Information service system and method thereof
CN117768599A (en) Method, device, system, electronic equipment and storage medium for processing image
JP2022051977A (en) Information processing device, information processing method, and program

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant