KR102360172B1 - Method and apparatus for controlling interaction between user and 3d object - Google Patents
Method and apparatus for controlling interaction between user and 3d object Download PDFInfo
- Publication number
- KR102360172B1 KR102360172B1 KR1020210083057A KR20210083057A KR102360172B1 KR 102360172 B1 KR102360172 B1 KR 102360172B1 KR 1020210083057 A KR1020210083057 A KR 1020210083057A KR 20210083057 A KR20210083057 A KR 20210083057A KR 102360172 B1 KR102360172 B1 KR 102360172B1
- Authority
- KR
- South Korea
- Prior art keywords
- user
- user terminal
- video
- trigger event
- initial
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04815—Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/16—Sound input; Sound output
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
Abstract
Description
본 발명은 사용자와 3D 객체 간 인터랙션을 제어하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 재생되는 동영상에 3D 객체를 중첩하여 표시하고, 표시된 3D 객체를 제어하는 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for controlling an interaction between a user and a 3D object, and more particularly, to a method and apparatus for superimposing and displaying a 3D object on a reproduced video, and controlling the displayed 3D object.
그래픽 사용자 인터페이스(GUI; Graphical User Interface)는 사용자가 컴퓨터, 이동 단말, TV 등의 전자 장치와 정보를 교환할 때, 그래픽을 통해 정보를 교환하는 작업 환경을 말한다. 예를 들면, 사용자가 전자 장치를 조작하고자 할 때 터치 방식을 이용하여 전자 장치의 디스플레이에 있는 아이콘을 선택하여 작업을 수행하도록 하는 환경이나, 사용자가 TV와 정보를 교환할 때 리모컨 등을 이용하여 화면에 있는 메뉴를 선택하여 작업을 수행하도록 하는 환경을 말한다.A graphic user interface (GUI) refers to a work environment in which a user exchanges information through a graphic when exchanging information with an electronic device such as a computer, a mobile terminal, or a TV. For example, when a user wants to operate an electronic device, the user selects an icon on the display of the electronic device using a touch method to perform a task, or when the user exchanges information with a TV, using a remote control, etc. It refers to an environment that allows you to perform a task by selecting a menu on the screen.
디지털 기술 발전으로 VRML과 같이 가상의 그래픽 형상을 만드는 여러 가지의 방법이 존재한다. OpenGL처럼 오픈 소스를 통하여 그래픽 형상을 만드는 가장 기초적인 방법들로부터 분화되어 상업적으로 개발된 DirectX 규격에서 더욱 현실 세계와 같은 논리 연산으로 시각화 성능을 개선한 다양한 엔진들이 존재한다. 또한 근래에는 모바일과 웹에서 입체를 구현하는 다양한 WebGL, Web3D 알고리즘 등이 오픈 소스 및 유료 코드로 개발되고 있으며 전통적인 CPU 기술과 함께 근래에 더욱 발전하는 GPU 기술로 성능이 개선되어 대량의 3D 객체를 가상의 공간에 구현할 수 있다.With the development of digital technology, there are several methods of creating virtual graphic shapes such as VRML. There are various engines that have improved visualization performance with logical operations more like the real world in the commercially developed DirectX standard, which is differentiated from the most basic methods of creating graphic shapes through open sources like OpenGL. In addition, in recent years, various WebGL and Web3D algorithms that implement stereoscopic images on mobile and web are being developed as open source and paid codes. can be implemented in the space of
2D 객체는 평면적이고 정적인데 비해 3D 객체는 2D 객체에 비해 입체적이고 동적이기 때문에 정보의 전달에 있어서 보다 시각적이고 직관적임으로 사용자 감성을 만족시킬 수 있다는 장점이 있다. 그로 인해 현재 많은 전자 장치에서 GUI 환경이 2D GUI에서 3D GUI로 점차 대체되어 가고 있는 추세일 뿐 아니라, 많은 기술 분야, 마케팅 분야 등 여러 분야에서 시각적 효과를 극대화하기 위하여 3D 객체를 활용하고 있다. While 2D objects are flat and static, 3D objects are three-dimensional and dynamic compared to 2D objects, so they have the advantage of being able to satisfy user sensibility through visual and intuitive information delivery. Therefore, in many electronic devices, the GUI environment is gradually being replaced from the 2D GUI to the 3D GUI, and 3D objects are used to maximize the visual effect in many fields such as technology and marketing.
다만, 위와 같은 기술 개발로 인해 3D 공간에서 3D 객체를 구현하는 것은 일반적이나, 사용자가 실행하고 있는 특정 2D 환경에서 3D 객체를 구현하는 것은 제한적이다. 또한, 사용자와 3D 객체 간 인터랙션은 기본적으로 사용자의 터치 입력이나 마우스 입력에 따라 크기 조절, 회전 등의 기능만을 제공하였다. 그러나, 사용자는 사용자 단말을 통해 3D 객체를 제어하므로, 사용자 단말의 상태나 사용자와 사용자 단말 간 관계에 기초하여 3D 객체를 제어할 필요성이 대두된다.However, due to the development of the above technology, it is common to implement 3D objects in 3D space, but it is limited to implement 3D objects in a specific 2D environment that the user is running. In addition, the interaction between the user and the 3D object basically provided only functions such as size adjustment and rotation according to the user's touch input or mouse input. However, since the user controls the 3D object through the user terminal, there is a need to control the 3D object based on the state of the user terminal or the relationship between the user and the user terminal.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 특정 트리거 이벤트에 따라 특정 2D 환경(예: 2D 동영상)에 3D 객체를 표시하는 방법 및 장치를 제공하는데 있다.An object of the present invention for solving the above problems is to provide a method and apparatus for displaying a 3D object in a specific 2D environment (eg, a 2D video) according to a specific trigger event.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 사용자 단말의 상태나 사용자 단말을 통해 판단한 사용자의 상태에 기초하여 3D 객체를 표시하고 제어하는 방법 및 장치를 제공하는데 있다.Another object of the present invention to solve the above problems is to provide a method and apparatus for displaying and controlling a 3D object based on the state of the user terminal or the state of the user determined through the user terminal.
다양한 실시 예에 따르면, 사용자 단말을 사용하는 사용자와 3D 객체 간 인터랙션을 제어하는 3D 모델링 제공 서버는, 상기 3D 객체를 표시하는 일종의 명령인 트리거 이벤트를 생성하는 트리거 이벤트 생성부; 상기 트리거 이벤트에 응답하여 상기 3D 객체로 표현할 대상 객체를 결정하는 대상 객체 결정부; 상기 대상 객체에 대응되는 상기 3D 객체를 생성하는 3D 객체 획득부; 생성된 상기 3D 객체를 상기 사용자 단말을 통해 상기 사용자에게 제공하는 3D 객체 제공부; 및 상기 사용자의 입력에 기초하여 상기 사용자와 상기 3D 객체 간 인터랙션을 제어하는 인터랙션 제어부를 포함할 수 있다. 상기 트리거 이벤트 생성부는, 영상 제공 서버를 통해 획득된 동영상이 재생되는 동안 출력되는 음성 및 영상 프레임 중 적어도 하나에 기초하여 트리거 이벤트를 생성하고, 상기 대상 객체 결정부는, 상기 동영상이 상기 사용자 단말의 디스플레이를 통해 재생되는 동안 생성된 상기 트리거 이벤트를 감지하고, 상기 감지에 응답하여 상기 트리거 이벤트가 발생한 시점부터 상기 동영상에서 출력되는 음성을 분석하고, 상기 분석에 기초하여 3D 객체로 표현할 대상 객체를 결정하고, 상기 3D 객체 획득부는, 적어도 하나의 3D 엔진을 통해 결정된 상기 대상 객체에 대응되는 3D 객체를 획득하고, 상기 3D 객체 제공부는, 상기 동영상과 상기 3D 객체를 중첩시켜 상기 사용자 단말로 제공하고, 상기 인터랙션 제어부는, 상기 사용자의 입력을 상기 사용자 단말을 통해 획득하고, 상기 사용자의 입력에 따라 상기 3D 객체의 확대, 축소, 이동 및 회전의 기능을 수행할 수 있다.According to various embodiments of the present disclosure, a 3D modeling providing server for controlling an interaction between a user using a user terminal and a 3D object includes: a trigger event generator for generating a trigger event, which is a kind of command for displaying the 3D object; a target object determiner configured to determine a target object to be expressed as the 3D object in response to the trigger event; a 3D object acquisition unit generating the 3D object corresponding to the target object; a 3D object providing unit providing the generated 3D object to the user through the user terminal; and an interaction controller configured to control an interaction between the user and the 3D object based on the user's input. The trigger event generation unit generates a trigger event based on at least one of an audio and an image frame output while the video obtained through the video providing server is being played, and the target object determiner is configured to display the video on the display of the user terminal. Detects the trigger event generated while being played through, analyzes the voice output from the video from the time the trigger event occurs in response to the detection, and determines a target object to be expressed as a 3D object based on the analysis, , the 3D object obtaining unit obtains a 3D object corresponding to the target object determined through at least one 3D engine, and the 3D object providing unit provides the video and the 3D object by overlapping the 3D object to the user terminal, and the The interaction control unit may obtain the user's input through the user terminal, and perform functions of enlarging, reducing, moving, and rotating the 3D object according to the user's input.
다양한 실시 예에 따르면, 상기 대상 객체 결정부는, 상기 영상 제공 서버로부터 획득한 동영상에서 출력하는 음성, 상기 사용자의 음성 및 상기 사용자의 제스쳐 중 적어도 하나를 감지할 수 있다.According to various embodiments, the target object determiner may detect at least one of a voice output from the video acquired from the image providing server, the user's voice, and the user's gesture.
다양한 실시 예에 따르면, 상기 3D 객체 제공부는, 재생 중인 상기 동영상의 컬러를 흑백 처리하고, 상기 3D 객체의 컬러를 색표현 할 수 있다.According to various embodiments, the 3D object providing unit may perform black-and-white processing on the color of the video being reproduced, and color express the color of the 3D object.
다양한 실시 예에 따르면, 상기 3D 모델링 제공 서버는 초기 표시 특성 결정부는 더 포함하고, 상기 초기 표시 특성 결정부는, 상기 3D 객체가 상기 사용자 단말을 통해 처음 표시될 때의 3D 객체의 초기 특성인 객체의 초기 크기, 초기 깊이, 초기 위치, 초기 방향 및 기본 동작을 결정하고, 상기 3D 객체 제공부는, 상기 초기 특성이 적용된 상기 3D 객체를 제공할 수 있다. According to various embodiments, the 3D modeling providing server further includes an initial display characteristic determining unit, wherein the initial display characteristic determining unit is an object that is an initial characteristic of a 3D object when the 3D object is first displayed through the user terminal. An initial size, an initial depth, an initial position, an initial direction, and a basic motion are determined, and the 3D object providing unit may provide the 3D object to which the initial characteristics are applied.
다양한 실시 예에 따르면, 상기 초기 표시 특성 결정부는, 상기 동영상이 표시되고 상기 사용자 단말의 디스플레이의 표면을 제1 면(plane)으로 설정하고, 상기 제1 면이 바라보는 제1 방향과 반대 방향인 제2 방향으로 상기 제1 면의 중앙에서 수직으로 이어지는 가상의 점을 설정하고, 상기 제1 면과 상기 가상의 점 사이에 상기 3D 객체의 초기 깊이를 결정할 수 있으며, 상기 사용자와 상기 사용자 단말 간 거리가 가까울수록 상기 3D 객체의 초기 깊이는 깊어질 수 있다.According to various embodiments of the present disclosure, the initial display characteristic determining unit is configured to display the moving image and set the surface of the display of the user terminal as a first plane, in a direction opposite to a first direction viewed by the first plane. A virtual point extending vertically from the center of the first surface may be set in a second direction, and an initial depth of the 3D object may be determined between the first surface and the virtual point, and between the user and the user terminal As the distance increases, the initial depth of the 3D object may increase.
다양한 실시 예에 따르면, 상기 트리거 이벤트 생성부는, 상기 동영상을 구성하는 영상 프레임(image frame)들 중에서, 서로 시간적으로 인접한 2개의 영상 프레임들을 대상으로, 서로 위치가 대응하는 화소값끼리 차분하여 차분 영상 프레임을 생성하고, 셍상된 상기 차분 영상 프레임을 구성하는 화소값들의 합산값이 미리 설정된 임계값 이하인 경우, 해당하는 2개의 영상 프레임들 사이에 장면 전환이 있는 것으로 판단하고, 상기 장면 전환이 있는 시점을 트리거 이벤트로 결정할 수 있다.According to various embodiments, the trigger event generating unit is configured to differentiate between pixel values corresponding to each other in positions of two image frames temporally adjacent to each other among the image frames constituting the moving picture to obtain a difference image. When the sum of pixel values constituting the difference image frame generated by generating a frame is equal to or less than a preset threshold, it is determined that there is a scene change between the two corresponding image frames, and the time point at which the scene change occurs can be determined as a trigger event.
다양한 실시 예에 따르면, 상기 트리거 이벤트 생성부는, 상기 동영상 속 적어도 하나의 사람을 검출하고, 상기 동영상에서 음성이 출력되는 동안 검출된 사람의 입 모양이 변화되는지 판단하고, 음성이 출력되는 동안 입 모양이 변하는 사람을 발화자로 결정하고, 지정된 시간 동안의 상기 동영상에서 출력되는 음성의 평균 세기 또는 음성의 평균 주파수가 제1 변화량만큼 변화되고, 상기 음성이 출력되는 동안 입 모양이 변하는 다른 사람을 검출한 경우, 발화자가 바뀌는 것으로 판단하고, 상기 발화자가 바뀌는 시점을 트리거 이벤트로 결정할 수 있다.According to various embodiments of the present disclosure, the trigger event generator may detect at least one person in the video, determine whether the detected person's mouth shape changes while a voice is output from the video, and determine a mouth shape while a voice is output This changing person is determined as the talker, the average intensity or average frequency of the voice output from the moving picture for a specified time is changed by the first amount of change, and another person whose mouth shape changes while the voice is output is detected. In this case, it may be determined that the speaker changes, and a time point at which the speaker changes may be determined as a trigger event.
다양한 실시 예에 따르면, 상기 대상 객체 결정부는, 자연어 처리(NLP)를 이용하여 상기 동영상에서 출력되는 음성에서 다수의 단어들을 인식하고, 인식된 상기 단어들을 통해 상기 대상 객체를 결정하기 위한 토픽을 결정하고, 상기 사용자 단말을 통해 획득된 상기 사용자의 검색 기록 및 영상 시청 기록에 기초하여 사용자의 관심 분야를 결정하고, 결정된 상기 토픽 및 결정된 상기 사용자의 관심 분야에 기초하여 대상 객체를 결정할 수 있다.According to various embodiments, the target object determiner recognizes a plurality of words from the voice output from the video using natural language processing (NLP), and determines a topic for determining the target object through the recognized words and determine the user's field of interest based on the user's search record and video viewing record obtained through the user terminal, and determine the target object based on the determined topic and the determined user's field of interest.
다양한 실시 예에 따르면, 상기 3D 객체 획득부는, 상기 동영상의 해상도를 판단하고, 판단된 동영상의 해상도에 따라 상기 3D 객체를 생성하는데 필요한 버텍스(vertex)의 수를 조절하여 상기 3D 객체를 생성하며, 상기 동영상의 해상도가 미리 설정된 기준 해상도인 경우, 기준 개수의 버텍스 수를 가진 상기 3D 객체를 생성하고, 상기 동영상의 해상도가 상기 기준 해상도보다 낮은 제1 해상도인 경우, 상기 기준 개수보다 적은 제1 개수의 버텍스 수를 가진 상기 3D 객체를 생성할 수 있다.According to various embodiments, the 3D object obtaining unit determines the resolution of the video, and adjusts the number of vertices required to generate the 3D object according to the determined resolution of the video to generate the 3D object, When the resolution of the video is a preset reference resolution, the 3D object having a reference number of vertices is generated, and when the resolution of the video is a first resolution lower than the reference resolution, the first number less than the reference number It is possible to create the 3D object with the number of vertices of .
다양한 실시 예에 따르면, 상기 초기 표시 특성 결정부는, 상기 초기 위치를 결정하기 위하여 상기 동영상의 표시 영역을 복수 개의 영역들로 분할하고, 분할된 상기 복수 개의 영역들 각각에서 직선 성분 및 곡선 성분을 추출하고, 분할된 상기 복수 개의 영역들 각각에 포함된 픽셀들의 컬러 값들을 획득하고, 획득된 상기 컬러 값들의 편차 값을 계산하고, 상기 복수 개의 영역들 각각에 포함된 직선 성분 및 곡선 성분을 이루고 있는 픽셀들의 비중이 제1 비중 이하이고, 계산된 상기 편차 값이 제1 임계 편차 값 이하인 영역을 상기 3D 객체를 표시할 상기 초기 위치로 결정할 수 있다.According to various embodiments, the initial display characteristic determining unit divides the display area of the moving picture into a plurality of areas to determine the initial position, and extracts a linear component and a curved component from each of the divided areas. and obtaining color values of pixels included in each of the divided plurality of areas, calculating a deviation value of the obtained color values, and forming a linear component and a curved component included in each of the plurality of areas A region in which the proportion of pixels is equal to or less than the first proportion and the calculated deviation value is equal to or less than the first threshold deviation value may be determined as the initial position for displaying the 3D object.
다양한 실시 예에 따르면, 상기 초기 표시 특성 결정부는, 상기 사용자 단말의 가속도 센서, 자이로 센서 및 지자계 센서를 포함하는 9축 센서를 통해 사용자 단말의 요(yaw), 피치(pitch) 및 롤(roll) 방향의 각도를 획득하고, 상기 3D 객체의 기준 방향을 결정하고, 상기 3D 객체의 기준 방향으로부터의 요, 피치 및 롤 방향의 각도와 상기 사용자 단말의 요, 피치 및 롤 방향의 각도가 대응되도록 상기 초기 방향을 결정하되, 상기 사용자 단말의 요, 피치 및 롤 방향의 각도 중 적어도 하나 방향의 각도가 제1 임계 각도를 초과하는 경우, 상기 3D 객체의 상기 초기 방향 중 상기 적어도 하나의 방향의 각도를 제1 임계 각도로 결정할 수 있다.According to various embodiments, the initial display characteristic determining unit may include a yaw, a pitch and a roll of the user terminal through a 9-axis sensor including an acceleration sensor, a gyro sensor, and a geomagnetic sensor of the user terminal. ) direction angle, determine the reference direction of the 3D object, so that the angle of the yaw, pitch and roll direction from the reference direction of the 3D object and the angle of the yaw, pitch and roll direction of the user terminal correspond The initial direction is determined, but when the angle of at least one of the angles of the yaw, pitch, and roll direction of the user terminal exceeds a first critical angle, the angle of the at least one direction among the initial directions of the 3D object may be determined as the first critical angle.
다양한 실시 예에 따르면, 상기 초기 표시 특성 결정부는, 상기 3D 객체의 상기 기본 동작을 결정하기 위하여 상기 대상 객체가 포함된 동영상들을 크롤링하고, 크롤링된 상기 동영상들에서 상기 대상 객체의 모션들 중 가장 많이 포착되는 모션을 기본 동작으로 결정할 수 있다.According to various embodiments, the initial display characteristic determining unit crawls videos including the target object in order to determine the basic operation of the 3D object, and in the crawled videos, the highest number of motions of the target object The captured motion can be determined as the default motion.
다양한 실시 예에 따르면, 상기 인터랙션 제어부는, 상기 동영상에 서로 다른 깊이 값을 가진 복수 개의 3D 객체들이 표시된 경우, 상기 사용자 단말의 상기 디스플레이의 사이즈에 기초하여 사용자와 상기 사용자 단말 간 기준 거리를 설정하고, 상기 복수 개의 3D 객체들 중 상기 기준 거리에 대응되는 하나의 기준 3D 객체를 결정하고, 상기 사용자와 상기 사용자 단말 간 거리가 상기 기준 거리인 경우, 상기 기준 3D 객체에 식별 표시를 하고, 상기 사용자와 상기 사용자 단말 간 거리가 상기 기준 거리보다 가까운 경우, 상기 기준 3D 객체의 깊이 값보다 깊은 3D 객체에 식별 표시를 하고, 상기 사용자와 상기 사용자 단말 간 거리가 상기 기준 거리보다 먼 경우, 상기 기준 3D 객체의 깊이 값보다 얕은 3D 객체에 식별 표시를 하고, 상기 식별 표시가 된 경우, 상기 식별 표시가 된 이후부터 지정된 시간 내에 상기 사용자의 핸드 모션의 변화를 감지한 경우 상기 식별 표시가 된 3D 객체를 모션을 제어할 3D 객체로 결정할 수 있다.According to various embodiments, when a plurality of 3D objects having different depth values are displayed in the video, the interaction control unit sets a reference distance between the user and the user terminal based on the size of the display of the user terminal, , determine one
다양한 실시 예에 따르면, 상기 인터랙션 제어부는, 상기 디스플레이의 사이즈가 커질수록 상기 기준 거리가 멀어지도록 설정하고, 상기 사용자 단말의 카메라를 통해 감지한 상기 사용자의 지문의 개수에 기초하여 상기 핸드 모션의 변화를 감지할 수 있다.According to various embodiments of the present disclosure, the interaction control unit sets the reference distance to increase as the size of the display increases, and changes the hand motion based on the number of fingerprints of the user detected through the camera of the user terminal. can detect
본 문서에 개시되는 다양한 실시 예들에 따르면, 2D 환경과 같은 다양한 환경에서 적시에 3D 객체를 나타냄으로써 사용자의 감성을 만족시킬 수 있다.According to various embodiments disclosed in this document, it is possible to satisfy a user's emotion by displaying a 3D object in a timely manner in various environments such as a 2D environment.
또한, 다양한 실시 예들에 따르면, 사용자와 3D 객체 간 다양한 인터랙션을 통해 3D 객체를 용이하게 제어할 수 있다.Also, according to various embodiments, it is possible to easily control the 3D object through various interactions between the user and the 3D object.
이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.In addition, various effects directly or indirectly identified through this document may be provided.
도 1은 일 실시 예에 따른 3D 모델링 제공 시스템을 도시한 도면이다.
도 2는 도 1에 따른 3D 모델링 제공 서버의 구성들을 도시한 도면이다.
도 3a은 도 2의 초기 표시 특성 결정부를 통해 3D 객체의 초기 표시 특성(예: 초기 깊이)을 결정하는 예시를 나타낸 도면이다.
도 3b는 도 2의 초기 표시 특성 결정부를 통해 3D 객체의 초기 표시 특성(예: 초기 위치)을 결정하는 예시를 나타낸 도면이다.
도 4는 도 2의 인터랙션 제어부를 통해 3D 객체와 사용자가 인터랙션을 하는 예시를 나타낸 도면이다.
도 5는 도 2의 인터랙션 제어부를 통해 복수 개의3D 객체들과 사용자가 인터랙션을 하는 예시를 나타낸 도면이다.
도 6은 도 1에 따른 3D 모델링 제공 서버의 하드웨어 구성을 나타낸 도면이다.1 is a diagram illustrating a 3D modeling providing system according to an embodiment.
FIG. 2 is a diagram illustrating configurations of a 3D modeling providing server according to FIG. 1 .
3A is a diagram illustrating an example of determining an initial display characteristic (eg, an initial depth) of a 3D object through the initial display characteristic determiner of FIG. 2 .
3B is a diagram illustrating an example of determining an initial display characteristic (eg, an initial position) of a 3D object through the initial display characteristic determiner of FIG. 2 .
4 is a diagram illustrating an example in which a user interacts with a 3D object through the interaction control unit of FIG. 2 .
FIG. 5 is a diagram illustrating an example in which a user interacts with a plurality of 3D objects through the interaction control unit of FIG. 2 .
6 is a diagram illustrating a hardware configuration of the 3D modeling providing server according to FIG. 1 .
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can have various changes and can 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, and it should be understood to include all modifications, equivalents and substitutes included in the spirit and scope of the present invention. In describing each figure, like reference numerals have been used for like elements.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, a first component may be referred to as a second component, and similarly, a second component may also be referred to as a first component. and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When an element is referred to as being “connected” or “connected” to another element, it is understood that it may be directly connected or connected to the other element, but other elements may exist in between. it should be On the other hand, when it is said that a certain element is "directly connected" or "directly connected" to another element, it should be understood that the other element does not exist in the middle.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related art, and should not be interpreted in an ideal or excessively formal meaning unless explicitly defined in the present application. does not
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 일 실시 예에 따른 3D 모델링 제공 시스템(10)을 도시한 도면이다. 도 1을 참조하면, 3D 모델링 제공 시스템(10)은 3D 모델링 제공 서버(100), 사용자 단말(200), 영상 제공 서버(300) 등을 포함할 수 있다.1 is a diagram illustrating a 3D
3D 모델링 제공 서버(100)는 적어도 하나의 3D 엔진을 통해 3D 객체를 생성 내지 획득할 수 있다. 상기 적어도 하나의 3D 엔진은 웹(web) 기반의 3D 엔진을 포함할 수 있다. 3D 객체는 기하 특성(x, y, z), 표시 특성(크기, 깊이, 위치, 방향), 광원 특성(광원의 위치, 유형세기 등), 기타 특성(색상, 표면의 반사계수, 투명도, 광택도 등)을 포함할 수 있다.The 3D
3D 모델링 제공 서버(100)는 사용자의 입력에 따라 3D 객체를 생성 및 제공하기 위한 리소스(resource)가 필요한 경우 그래픽 라이브러리를 이용하여 필요한 리소스를 획득할 수 있다. 예를 들어, 3D 모델링 제공 서버(100)는 외부 또는 내부 저장부에서 3D 객체를 생성하는데 필요한 3D 모델을 가져오거나, 그밖에 필요한 리소스를 획득할 수 있다. 3D 모델링 제공 서버(100)는 3D 모델을 이용하여 3D 객체를 생성하는데 필요한 미리 정해진 스크립트 파일을 불러와 실행시킬 수 있다.When a resource for generating and providing a 3D object is required according to a user's input, the 3D
3D 모델링 제공 서버(100)는 3D로 표현할 대상 객체를 결정하고, 결정된 대상 객체에 대응되는 3D 객체를 생성 또는 획득하고, 영상 제공 서버(300)를 통해 획득된 동영상에 상기 3D 객체를 중첩하여 사용자에게 제공할 수 있다.The 3D
사용자 단말(200)은 3D모델링 제공 서버(100)에서 제공하는 3D 객체와 상기 3D 객체가 중첩된 동영상을 적어도 하나의 표시 장치(예: 디스플레이)를 통해 사용자에게 시각적으로 제공할 수 있다. 사용자 단말(200)은 사용자와 3D 객체 간 인터랙션(interaction, 상호작용)에 기초하여, 다시 말해서, 사용자 단말(200)은 사용자의 입력에 따라 3D 객체의 크기, 위치, 회전 등을 제어할 수 있다.The
사용자 단말(200)은 적어도 일 면에 디스플레이를 포함할 수 있으며, 카메라(예: 이미지 센서) 및 거리 감지 센서 등을 포함할 수 있다. The
사용자 단말(200)은 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), 및 PDA(Personal Digital Assistant) 등 일 수 있다.The
영상 제공 서버(300)는 동영상을 제공하는 특정 웹 서버를 포함할 수 있다. 영상 제공 서버(300)는 이에 한정되지 않으며, 동영상을 제공하는 플랫폼 서버를 포함할 수 있다. 예를 들어, 유튜브(Youtube) 서버, 페이스북(Facebook) 서버, 틱톡(Tiktok) 서버, 인스타그램(Instagram) 서버 등을 포함할 수 있다. 영상 제공 서버(300)는 서버에 저장된 동영상, 스트리밍 되는 동영상 및 실시간으로 촬영되고 있는 동영상을 제공할 수 있으며, 상기 동영상은 .avi, .mp4, .mkv, .wmv, .flv 등 다양한 확장자 형태로 구성될 수 있다. 또는, 영상 제공 서버(300)는 동영상에 접근 가능한 외부 접속 주소인 URL(Uniform Resource Locator)을 제공할 수 있다.The image providing server 300 may include a specific web server that provides a video. The image providing server 300 is not limited thereto, and may include a platform server that provides a video. For example, it may include a YouTube server, a Facebook server, a Tiktok server, an Instagram server, and the like. The video providing server 300 may provide video stored in the server, streaming video, and video being recorded in real time, and the video is in the form of various extensions such as .avi, .mp4, .mkv, .wmv, .flv, etc. can be configured. Alternatively, the image providing server 300 may provide a Uniform Resource Locator (URL) that is an external access address accessible to the video.
도 2는 도 1에 따른 3D 모델링 제공 서버(100)의 구성들을 도시한 도면이다.FIG. 2 is a diagram illustrating the configurations of the 3D
도 2를 참조하면, 3D 모델링 제공 서버(100)는 트리거 이벤트 생성부(101), 대상 객체 결정부(102), 3D 객체 획득부(103), 초기 표시 특성 결정부(104), 3D 객체 제공부(105) 및 인터랙션 제어부(106)를 포함할 수 있다.Referring to FIG. 2 , the 3D
트리거 이벤트 생성부(101)는 3D 객체를 표시하는 일종의 명령인 트리거 이벤트를 생성할 수 있다. 트리거 이벤트 생성부(101)는, 사용자 단말(200)의 사용자의 음성 및 제스처, 사용자 단말(200)에서 재생 중인 동영상에서 출력되는 음성에 기초하여 트리거 이벤트를 생성할 수 있다. 이하, 3D 모델링 제공 서버(100) 중 하나의 구성이3D 객체를 표시한다는 의미는 3D 모델링 제공 서버(100)가 사용자 단말(200)을 통해 3D 객체를 표시하는 것을 의미할 수 있다.The
트리거 이벤트 생성부(101)는 사용자 단말(200)에서 재생되는 동영상에서 출력되는 음성, 동영상이 재생 중에 사용자 단말(200)을 통해 입력되는 사용자의 음성이나 제스쳐에 기초하여 트리거 이벤트를 생성할 수 있다. The
예를 들어, 트리거 이벤트 생성부(101)는, 동영상에서 장면 전환이 있는 것으로 판단되는 시점에 트리거 이벤트를 생성할 수 있다. 구체적으로, 트리거 이벤트 생성부(101)는, 동영상을 구성하는 영상 프레임(image frame)들 중에서, 서로 시간적으로 인접한 2개의 영상 프레임들을 대상으로, 서로 위치가 대응하는 화소값끼리 차분하여 차분 영상 프레임을 생성하고, 차분 영상 프레임을 구성하는 화소값들의 합산값이 미리 설정된 임계값 이하인 경우, 해당하는 2개의 영상 프레임들 사이에 장면 전환이 있는 것으로 판단하고, 트리거 이벤트를 생성할 수 있다.For example, the
다른 예를 들어, 트리거 이벤트 생성부(101)는 재생되는 동영상 속 발화자가 바뀌는 것으로 판단되는 시점에 트리거 이벤트를 생성할 수 있다. 구체적으로, 트리거 이벤트 생성부(101)는, 재생되는 동영상 속 적어도 하나의 객체(예: 사람)를 검출하고, 동영상에서 음성이 출력되는 동안 검출된 객체(예: 사람)의 입 모양이 변화되는지 판단할 수 있다. 트리거 이벤트 생성부(101)는 음성이 출력되는 동안 입 모양이 변하는 객체(예: 사람)를 발화자로 결정할 수 있다. 트리거 이벤트 생성부(101)는 지정된 시간 동안의 동영상에서 출력되는 음성의 평균 세기 또는 음성의 평균 주파수가 제1 변화량(예: 15%) 만큼 변화되고, 음성이 출력되는 동안 입 모양이 변하는 다른 객체(예: 사람)를 검출한 경우, 발화자가 바뀌는 것으로 판단하고, 트리거 이벤트를 생성할 수 있다.As another example, the
트리거 이벤트 생성부(101)는 동영상이 중지된 상태에서는 트리거 이벤트를 생성하지 않는다.The
대상 객체 결정부(102)는, 트리거 이벤트 생성부(101)에 의해 생성된 트리거 이벤트를 감지하고, 감지된 트리거 이벤트에 대응하는 3D 객체로 표현할 대상인 대상 객체를 결정할 수 있다. 예를 들어, 대상 객체 결정부(102)는 자동차를 대상 객체로 결정할 수 있다.The
대상 객체 결정부(102)는 트리거 이벤트가 발생된 시점을 기준으로 미리 설정된 시간 범위 이내에 동영상에서 출력된 음성을 통해 다수의 단어들을 인식할 수 있다. 예를 들어, 대상 객체 결정부(102)는 장면 전환이 있는 것으로 판단되는 시점 및/또는 발화자가 변경되는 것으로 판단되는 시점으로부터 미리 설정된 시간 범위 이내에서 동영상에서 다수의 단어들을 인식할 수 있다. 대상 객체 결정부(102)는 자연어 처리(NLP, natural language processing)를 이용하여 출력되는 음성에서 다수의 단어들을 인식할 수 있다. 자연어 처리(NLP)에는 자연어 분석, 자연어 이해, 자연어 생성 등의 기술이 사용된다. 자연어 분석은 그 정도에 따라 형태소 분석(morphological analysis), 통사 분석(syntactic analysis), 의미 분석(semantic analysis) 및 화용(話用) 분석(pragmatic analysis)의 4가지로 나눌 수 있으며, 이외에도 다양한 방식이 이용될 수 있다.The
대상 객체 결정부(102)는 인식된 다수의 단어들을 통해 대상 객체를 결정하기 위한 토픽(topic, 주제)을 결정할 수 있다. 또는, 대상 객체 결정부(102)는 재생 중인 동영상의 카테고리 내지 제목에 기초하여 대상 객체를 결정하기 위한 토픽을 결정할 수 있다. The
대상 객체 결정부(102)는 결정된 토픽과 대응하는 대상 객체를 결정할 수 있다. 대상 객체 결정부(102)는 결정된 토픽과 사용자의 관심 분야를 함께 고려하여 대상 객체를 결정할 수 있다. 사용자의 관심 분야는 사용자 단말(200)을 통한 사용자의 검색 기록, 영상 시청 기록 등에 의하여 결정될 수 있다. 예를 들어, 재생 중인 동영상의 토픽이 영국을 소개하는 내용이고, 사용자의 관심 분야가 스포츠인 경우, 축구공을 대상 객체로 결정할 수 있다. 또 다른 예시로, 재생 중인 동영상의 토픽이 영국을 소개하는 내용이고, 사용자의 관심 분야가 음식인 경우, 피시앤칩스(fish and chips)를 대상 객체로 결정할 수 있다.The
대상 객체 결정부(102)는 재생되는 동영상 속 검출된 객체를 터치 내지 클릭하는 사용자의 입력에 응답하여 터치 내지 클릭된 객체를 대상 객체로 결정할 수 있다.The
3D 객체 획득부(103)는 미리 지정된 웹(web) 기반 3D 엔진을 통해 대상 객체에 대한 3D 객체를 획득할 수 있다. 3D 객체 획득부(103)는 초기 표시 특성 결정부(104)를 통해 결정된 초기 표시 특성이 적용된 3D 객체를 획득할 수 있다.The 3D
3D 객체 획득부(103)는 재생 중인 동영상에 3D 객체가 중첩되어 표시될 때 이질감을 최소화하기 위하여, 재생 중인 동영상의 해상도에 기초하여 3D 객체를 획득할 수 있다.The 3D
일 실시 예에서, 3D 객체 획득부(103)는 동영상의 해상도가 미리 설정된 기준 해상도에서는 대상 객체에 대해 미리 설정된 기준 픽셀 밀도의 이미지들을 획득하여 3D 객체를 생성할 수 있다. 예를 들어, 3D 객체 획득부(103)는 상기 기준 해상도보다 높은 제1 해상도에서는 대상 객체에 대해 상기 기준 픽셀 밀도보다 높은 제1 픽셀 밀도의 이미지들을 획득하여 3D 객체를 생성할 수 있다. 3D 객체 획득부(103)는 상기 기준 해상도보다 낮은 제2 해상도에서는 대상 객체에 대해 상기 기준 픽셀 밀도보다 낮은 제2 픽셀 밀도의 이미지들을 획득하여 3D 객체를 생성할 수 있다. In an embodiment, the 3D
일 실시 예에서, 3D 객체 획득부(103)는 동영상의 해상도에 따라 3D 객체에 포함된 버텍스의 수 내지 폴리곤의 수를 조절하여 3D 객체를 생성할 수 있다. 3D 객체 획득부(103)는 동영상의 미리 설정된 기준 해상도에서 기준 개수의 버텍스 수를 가진 3D 객체를 획득할 수 있다. 3D 객체 획득부(103)는 상기 기준 해상도보다 낮은 제1 해상도에서는 상기 기준 개수보다 적은 제1 개수의 버텍스 수를 가진 3D 객체를 획득하고, 상기 기준 해상도보다 높은 제2 해상도에서는 상기 기준 개수보다 많은 제2 개수의 버텍스 수를 가진 3D 객체를 획득할 수 있다.In an embodiment, the
초기 표시 특성 결정부(104)는 획득된 3D 객체의 초기 표시 특성을 결정할 수 있다. 초기 표시 특성은 사용자 단말(200)의 표시 장치(예: 디스플레이)를 통해 3D 객체가 처음 표시될 때의 초기 크기, 초기 깊이, 초기 위치, 초기 방향 및 기본 동작을 포함할 수 있다. 상기 기본 동작은 해당 3D 객체의 동작 중 가장 많은 비중을 차지하는 모션을 의미할 수 있다. The initial display
3D 객체 제공부(105)는 재생 중인 동영상과 획득된 3D 객체를 중첩시켜서 표시할 수 있다. 3D 객체 제공부(105)는 초기 표시 특성 결정부(104)에서 결정된 초기 표시 특성에 기초하여 3D 객체를 표시하도록 제어할 수 있다.The 3D
3D 객체 제공부(105)는 3D 객체가 표시될 때, 재생 중인 동영상의 컬러를 흑백 처리하고 3D 객체의 컬러는 색표현을 하여 3D 객체를 부각시킬 수 있다. When the 3D object is displayed, the 3D
인터랙션 제어부(106)는 3D 객체와 인터랙션하는 사용자의 입력을 획득하고, 획득된 사용자의 입력의 종류를 식별할 수 있다. 인터랙션 제어부(106)는 식별된 사용자의 입력에 따라 각 입력에 대응되는 기능을 수행할 수 있다. 예를 들어, 인터랙션 제어부(106)는 사용자 단말(200)의 일 영역에 표시된 3D 객체를 이동 및 회전시킬 수 있다.The
도 3a은 도 2의 초기 표시 특성 결정부를 통해 3D 객체의 초기 표시 특성(예: 초기 깊이)을 결정하는 예시를 나타낸 도면이다. 도 3b는 도 2의 초기 표시 특성 결정부를 통해 3D 객체의 초기 표시 특성(예: 초기 위치)을 결정하는 예시를 나타낸 도면이다.FIG. 3A is a diagram illustrating an example of determining an initial display characteristic (eg, an initial depth) of a 3D object through the initial display characteristic determiner of FIG. 2 . 3B is a diagram illustrating an example of determining an initial display characteristic (eg, an initial position) of a 3D object through the initial display characteristic determiner of FIG. 2 .
도 3a를 참조하면, 초기 표시 특성 결정부(104)는 동영상이 표시되고 있는 디스플레이의 표면을 제1 면(plane)(401)으로 설정하고, 상기 제1 면(401)이 바라보는 제1 방향(411)과 반대 방향인 제2 방향으로 상기 제1 면의 중앙(403)에서 수직으로 이어지는 가상의 점(405)을 설정할 수 있다. 초기 표시 특성 결정부(104)는 사용자와 사용자 단말(200) 간 거리에 기초하여, 상기 면과 상기 가상의 점 사이의 거리 중 3D 객체의 초기 깊이를 결정할 수 있다. 사용자와 사용자 단말(200) 간 거리가 가까울수록 3D 객체의 초기 깊이는 깊어지고, 사용자와 사용자 단말(200) 간 거리가 멀어질수록 3D 객체의 초기 깊이는 얕아질 수 있다.Referring to FIG. 3A , the initial display
일 실시 예에서, 초기 표시 특성 결정부(104)는 사용자 단말(200)로부터 사용자의 시력 정보을 획득할 수 있다. 초기 표시 특성 결정부(104)는 사용자 단말(200)을 통해 사용자로부터 직접 시력 정보를 입력 받거나, 외부 서버로부터 테스트한 사용자의 시력 정보를 전달받을 수 있다. 초기 표시 특성 결정부(104)는 획득된 사용자의 시력 정보에 기초하여 3D 객체의 초기 크기를 결정할 수 있다. 시력 정보는 안경을 착용한 상태에서의 시력 및 라식 수술(lasik operation), 라섹 수술(lasek operation) 등 수술 후의 시력을 포함할 수 있다. 초기 표시 특성 결정부(104)는 획득된 시력 정보에 기초하여 사용자의 시력이 좋을수록 3D 객체의 초기 크기를 확대시킬 수 있다.In an embodiment, the initial display
일 실시 예에서, 초기 표시 특성 결정부(104)는 3D 객체의 초기 위치를 결정할 수 있다. 초기 표시 특성 결정부(104)는 3D 객체의 초기 위치를 결정하기 위하여, 동영상 표시 영역에서 여백 영역을 식별할 수 있다. 초기 표시 특성 결정부(104)는 여백 영역을 식별하기 위하여, 동영상 표시 영역을 복수 개의 영역들로 분할할 수 있다. 초기 표시 특성 결정부(104)는 미리 설정된 시간 동안의 동영상을 구성하는 영상 프레임들을 이미지 처리(예: 엣지 검출)하여 상기 복수 개의 영역들 각각에서 직선 성분, 곡선 성분 등을 추출할 수 있다. 또한, 초기 표시 특성 결정부(104)는 분할된 복수 개의 영역들 각각에 포함된 픽셀들의 컬러 값들을 획득하고, 분할된 영역들 각각에 포함된 픽셀들의 컬러 값들의 편차 값을 계산할 수 있다.In an embodiment, the initial display
초기 표시 특성 결정부(104)는 복수 개의 영역들 중 각각에 포함된 직선 성분 또는 곡선 성분을 이루고 있는 픽셀들의 비중이 제1 비중 이하이고, 계산된 편차 값이 제1 임계 편차 값 이하인 영역을 여백으로 판단하여 3D 객체를 표시할 위치로 결정할 수 있다. 편차가 낮은 영역은 다양한 객체들로 인하여 복잡한 영역으로 아니라고 판단되어, 3D 객체를 표시시키기에 적절한 위치로 결정될 수 있다. The initial display
일 실시 예에서, 도 3b를 참조하면, 초기 표시 특성 결정부(104)는 3D 객체의 초기 방향을 결정할 수 있다. 초기 표시 특성 결정부(104)는 사용자 단말(200)의 적어도 하나의 센서를 이용해서 사용자 단말(200)의 각도를 판단하고, 판단된 사용자 단말(200)의 각도에 기초하여 3D 객체가 표시되는 초기 방향을 결정할 수 있다. 구체적으로, 표시 특성 결정부(104)는 사용자 단말(200)의 가속도 센서, 자이로 센서 및 지자계 센서를 포함하는 9축 센서를 통해 사용자 단말(200)의 요(yaw), 피치(pitch) 및 롤(roll) 방향의 각도를 획득할 수 있다. 표시 특성 결정부(104)는 사용자 단말(200)로부터 획득한 사용자 단말(200)의 요, 피치 및롤 방향의 각도에 기초하여 3D 객체의 초기 방향으로 결정할 수 있다.In an embodiment, referring to FIG. 3B , the initial display
도 3b를 참조하면, 요 방향은 z축을 기준으로 회전하는 방향으로 이해될 수 있다. 롤 방향은 x축을 기준으로 회전하는 방향으로 이해될 수 있다. 피치 방향은 y축을 기준으로 회전하는 방향으로 이해될 수 있다. 여기서, x축은 사용자 단말(200) 또는 3D 객체의 길이 방향의 축, y축은 사용자 단말(200) 또는 3D 객체의 너비 방향의 축, z축은 중력 방향의 축으로 이해될 수 있다. x, y 및 z 축은 각 축에 대하여 수직할 수 있다.Referring to FIG. 3B , the yaw direction may be understood as a direction of rotation about the z-axis. The roll direction may be understood as a direction of rotation about the x-axis. The pitch direction may be understood as a direction of rotation about the y-axis. Here, the x-axis may be understood as an axis in the longitudinal direction of the
초기 표시 특성 결정부(104)는 획득된 3D 객체의 기준 방향을 결정할 수 있다. 3D 객체의 기준 방향은 3D 객체의 요, 피치 및 롤 방향의 각도가 0도인 경우의 3D 객체의 방향을 의미할 수 있다. 다시 말해서, 초기 표시 특성 결정부(104)는 3D 객체의 전면 방향, 후면 방향, 측면 방향에 대한 기준 방향을 결정할 수 있다. 초기 표시 특성 결정부(104)는 3D 객체의 기준 방향으로부터의 요, 피치 및 롤 방향의 각도와 상기 사용자 단말의 요, 피치 및 롤 방향의 각도가 대응되도록 상기 초기 방향을 결정할 수 있다. 예를 들어, 사용자가 사용자 단말(200)을 롤 방향으로 +20˚만큼, 요 방향으로 +40˚ 만큼 회전시킨 상태에서 동영상을 시청하는 경우, 3D 객체 획득부(103)는 기준 방향에서 롤 방향으로 +20˚만큼, 요 방향으로 +40˚만큼 회전된 3D 객체를 획득하고, 3D 객체 제공부(105)는 획득된 상기 3D 객체를 사용자 단말(200)을 통해 표시할 수 있다.The initial display
초기 표시 특성 결정부(104)는 사용자 단말(200)의 요, 피치 및 롤 방향의 각도 중 적어도 하나의 방향의 각도가 제1 임계 각도를 초과하는 경우, 상기 3D 객체의 초기 방향 중 상기 적어도 하나의 방향의 각도를 제1 임계 각도로 결정할 수 있다. 예를 들어, 상기 제1 임계 각도가 +50˚인 경우, 사용자가 사용자 단말(200)을 롤 방향으로 +130˚만큼, 요 방향으로 +10˚ 회전시킨 상태에서 동영상을 시청하는 경우, 3D 객체 획득부(103)는 기준 방향에서 롤 방향으로 +50˚만큼, 요 방향으로 +10˚만큼 회전된 3D 객체를 획득하고, 3D 객체 제공부(105)는 획득된 상기 3D 객체를 사용자 단말(200)을 통해 표시할 수 있다.When the angle of at least one of the angles of the yaw, pitch, and roll direction of the
일 실시 예에서, 초기 표시 특성 결정부(104)는 3D 객체의 기본 동작을 결정할 수 있다. 초기 표시 특성 결정부(104)는 3D 객체의 기본 동작을 결정하기 위하여, 상기 3D 객체에 대응되는 대상 객체가 포함된 동영상들을 크롤링할 수 있다. In an embodiment, the initial display
초기 표시 특성 결정부(104)는 크롤링된 동영상들에서 대상 객체의 모션들을 분석하고, 분석된 대상 객체의 모션들 중 가장 많이 포착되는 모션을 기본 동작으로 결정할 수 있다. 예를 들어, 초기 표시 특성 결정부(104)는 3D 객체가 자동차인 경우, 3D 객체인 자동차의 바퀴가 돌아가는 모습을 기본 동작으로 결정할 수 있다. 예를 들어, 초기 표시 특성 결정부(104)는 3D 객체가 헬리콥터인 경우, 3D 객체인 헬리콥터의 날개가 돌아가는 모습을 기본 동작으로 결정할 수 있다.The initial display
3D 객체 제공부(105)는 초기 표시 특성 결정부(104)를 통해 결정된 기본 동작이 적용된 3D 객체를 사용자 단말(200)에 제공할 수 있다. The 3D
도 4는 도 2의 인터랙션 제어부(106)를 통해 3D 객체와 사용자가 인터랙션을 하는 예시를 나타낸 도면이다. 도 4에서 설명되는 동작들은 도 5의 복수 개의 3D 객체 중 하나의 3D 객체를 제어하는 동작에 동일 내지 유사하게 적용될 수 있다.FIG. 4 is a diagram illustrating an example in which a user interacts with a 3D object through the
일 실시 예에서, 3D 객체 제공부(105)는 트리거 이벤트를 감지하는 것에 응답하여, 초기 표시 특성이 적용된 3D 객체를 사용자 단말(200)을 통해 표시할 수 있다. 인터랙션 제어부(106)는 사용자의 입력에 응답하여 3D 객체의 확대, 3D 객체의 축소, 3D 객체의 이동 및 3D 객체의 회전 등을 포함하는 3D 객체의 모션을 제어할 수 있다. 3D 객체 제공부(105)는 인터랙션 제어부(106)를 통해 확대, 축소, 이동 및/또는 회전된 3D 객체를 사용자 단말(200)에 제공하고, 제공한 3D 객체를 사용자 단말(200)의 디스플레이를 통해 표시할 수 있다.In an embodiment, the 3D
인터랙션 제어부(106)가 3D 객체의 이동 내지 회전을 제어하는 동안, 동영상은 일시적으로 정지될 수 있다.While the
인터랙션 제어부(106)는 3D 객체를 터치 내지 클릭한 채 제1 방향으로 드래그하는 사용자의 입력에 응답하여 3D 객체를 상기 제1 방향으로 이동시킬 수 있다.The
인터랙션 제어부(106)는 사용자의 스크롤 업 또는 스크롤 다운 입력에 의하여 3D 객체의 크기를 키우거나 줄일 수 있으며, 사용자의 두 개 손가락이 디스플레이에 터치된 상태로 서로 멀어지거나 가까워지는 입력에 따라 3D 객체의 크기를 키우거나 줄일 수 있다.The
인터랙션 제어부(106)는 사용자의 두 개의 손가락 중 첫 번째로 입력된 터치 입력을 피벗 포인트로 설정하고, 두 번째로 입력된 터치 입력이 드래그 입력으로서 상기 피벗 포인트로부터 일정 각도만큼 회전한 경우, 상기 회전한 각도만큼 3D 객체를 회전시킬 수 있다.The
인터랙션 제어부(106)는 용이한 인터랙션을 위하여, 제어할 모션을 선택할 수 있는 옵션 메뉴를 사용자 단말(200)을 통해 사용자에게 제공할 수 있다. 예를 들어, 인터랙션 제어부(106)는 사용자 단말(200)의 일 면에 3D 객체를 이동시키기 위한 이동 버튼, 3D 객체를 회전시키기 위한 회전 버튼 등을 표시할 수 있다.The
인터랙션 제어부(106)는 사용자의 터치 내지 클릭 횟수에 따른 다양한 효과를 설정할 수 있다. 인터랙션 제어부(106)는 사용자가 3D 객체를 한 번 터치하면 해당 3D 객체를 회전시킬 수 있는 회전 모드로 변경할 수 있다. 인터랙션 제어부(106)는 사용자가 3D 객체를 두 번 터치하면 해당 3D 객체를 이동시킬 수 있는 이동 모드로 변경할 수 있다. The
인터랙션 제어부(106)는 3D 객체을 회전시킬 때, 사용자의 입력이 아닌 사용자 단말(200)의 각도에 기초하여 3D 객체를 회전시킬 수 있다. 다시 말해서, 인터랙션 제어부(106)는 상기 도 3b에서 초기 방향을 결정하는 동작을 3D 객체의 회전 제어에 그대로 적용하여 3D 객체를 회전시킬 수 있다. When rotating the 3D object, the
인터랙션 제어부(106)는 사용자가 3D 객체를 세 번 터치하거나 세 번 클릭하면 해당 3D 객체를 저장할 수 있다. 인터랙션 제어부(106)는 저장된 3D 객체는 해당 동영상의 다른 구간 또는 다른 동영상에서 불러들일 수 있다.The
도 5는 도 2의 인터랙션 제어부(106)를 통해 복수 개의3D 객체들과 사용자가 인터랙션을 하는 예시를 나타낸 도면이다.FIG. 5 is a diagram illustrating an example in which a user interacts with a plurality of 3D objects through the
3D 객체 제공부(105)는 사용자 단말(200)의 디스플레이의 일 영역에 복수 개의 3D 객체들을 표시할 수 있다. 복수 개의 3D 객체들이 표시되는 경우, 인터랙션 제어부(106)는 복수 개의 3D 객체들 중 하나의 3D 객체를 모션을 제어할 3D 객체로 결정하고, 결정된 3D 객체와 사용자의 인터랙션을 수행할 수 있다.The 3D
인터랙션 제어부(106)는 사용자의 3D 객체를 터치하는 입력 또는 사용자의 음성 명령에 응답하여 복수 개의 3D 객체들 중 하나의 3D 객체를 모션을 제어할 3D 객체로 결정할 수 있다.The
인터랙션 제어부(106)는 사용자와 사용자 단말(200) 간 거리 및 사용자의 핸드 모션의 변화에 기초하여 복수 개의 3D 객체들 중 하나의 3D 객체를 모션을 제어할 3D 객체로 결정할 수 있다. 인터랙션 제어부(106)는 사용자 단말(200)의 거리 감지 센서를 통해 사용자와 사용자 단말(200) 간 거리를 확인할 수 있고, 사용자 단말(200)의 카메라(예: 이미지 센서)를 통해 획득된 이미지 데이터에 기초하여 사용자의 핸드 모션을 식별할 수 있다. 상기 사용자와 사용자 단말(200) 간 거리는 사용자의 특정 부위(예: 손)와 사용자 단말(200)의 거리 감지 센서까지의 거리일 수 있다. The
인터랙션 제어부(106)는 사용자와 사용자 단말(200) 간 기준 거리를 설정할 수 있다. 디스플레이 사이즈에 따라 사용자가 사용자 단말(200)의 디스플레이를 보는 적정 시청 거리가 달라지므로, 인터랙션 제어부(106)는 사용자 단말(200)의 디스플레이 사이즈에 기초하여 상기 기준 거리를 결정할 수 있다. 예를 들어, 인터랙션 제어부(106)는, 사용자 단말(200)의 디스플레이가 제1 사이즈인 경우, 기준 거리를 제1 기준 거리로 설정하고, 사용자 단말(200)의 디스플레이의 사이즈가 제1 사이즈보다 큰 제2 사이즈인 경우, 기준 거리를 제1 기준 거리보다 먼 제2 기준 거리로 설정할 수 있다.The
인터랙션 제어부(106)는 서로 다른 깊이 값을 가진 3D 객체들 중 설정된 기준 거리에 대응되는 기준 3D 객체를 결정할 수 있다. 인터랙션 제어부(106)는 3D 객체들 각각의 무게 중심에 대응되는 픽셀의 깊이 값을 기준으로 3D 객체들 각각의 깊이 값을 판단할 수 있다.The
인터랙션 제어부(106)는 사용자와 사용자 단말(200)간 거리에 따라 상기 거리에 대응되는 3D 객체에 식별 표시(예: 점선 박스 표시)를 할 수 있다. 예를 들어, 인터랙션 제어부(106)는 사용자와 사용자 단말 간 거리가 기준 거리(11)인 경우, 제1 3D 객체(01)에 식별 표시(21)를 하고, 사용자와 사용자 단말(200) 간 거리가 제2 거리(13)인 경우, 제2 3D 객체(03)에 식별 표시를 하고, 사용자와 사용자 단말 간 거리가 제3 거리(15)인 경우, 제3 3D 객체(05)에 식별 표시를 할 수 있다.According to the distance between the user and the
인터랙션 제어부(106)는 3D 객체들 중 하나의 3D 객체(예: 제1 3D 객체(01))에 식별 표시(21)가 된 경우에, 상기 식별 표시가 된 이후부터 지정된 시간 내에 사용자의 핸드 모션의 변화를 감지한 경우 식별 표시된 3D 객체를 모션을 제어할 객체로 결정할 수 있다. 예를 들어, 인터랙션 제어부(106)는 사용자 단말(200)을 통해 사용자의 손을 완전히 펼친 상태의 핸드 모션에서 적어도 하나의 손가락을 접은 핸드 모션으로 변경된 것을 감지한 경우, 선택된 3D 객체를 제어할 3D 객체로 결정할 수 있다. 다른 예를 들어, 인터랙션 제어부(106)는 사용자 단말(200)을 통해 사용자의 손바닥이 사용자 단말(200)을 향하는 핸드 모션에서 사용자의 손등이 사용자 단말(200)을 향하는 핸드 모션으로 변경된 것을 감지한 경우, 선택된 3D 객체를 제어할 3D 객체로 결정할 수 있다.When an identification mark 21 is made on one of the 3D objects (eg, the first 3D object 01 ), the
인터랙션 제어부(106)는 사용자 단말(200)의 카메라(예: 이미지 센서)를 통해 감지한 지문의 개수에 기초하여 핸드 모션을 식별할 수 있다. 예를 들어, 인터랙션 제어부(106)는 다섯 손가락의 지문이 감지된 경우, 손이 펼쳐진 상태로 인지하고, 네 손가락의 지문이 감지된 경우, 하나의 손가락이 접힌 상태로 인지할 수 있다. 인터랙션 제어부(106)는 상기 감지한 지문의 개수가 상기 지정된 시간 내에 제1 개에서 제1 개수보다 적은 제2 개수로 변한 경우, 상기 사용자의 핸드 모션의 변화를 감지한 것으로 판단할 수 있다.The
도 6은 도 1에 따른 3D 모델링 제공 서버(100)의 하드웨어 구성을 나타낸 도면이다.6 is a diagram illustrating a hardware configuration of the 3D
도 6을 참조하면, 3D 모델링 제공 서버(100)는 적어도 하나의 프로세서(110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 동작(operation)을 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.Referring to FIG. 6 , the 3D
상기 적어도 하나의 동작은, 전술한 3D 모델링 제공 서버(100)의 동작이나 기능 중 적어도 일부를 포함하고 명령어들 형태로 구현되어 프로세서(110)에 의하여 수행될 수 있다.The at least one operation may include at least some of the operations or functions of the above-described 3D
여기서 적어도 하나의 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중 하나일 수 있고, 저장 장치(160)는, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD), 솔리드 스테이트 드라이브(SSD), 또는 각종 메모리 카드(예를 들어, micro SD 카드) 등일 수 있다.Here, the at least one
또한, 3D 모델링 제공 서버(100)는 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver)(130)를 포함할 수 있다. 또한, 3D 모델링 제공 서버(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 3D 모델링 제공 서버(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다. In addition, the 3D
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.The methods according to the present invention may be implemented in the form of program instructions that can be executed by various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Examples of computer-readable media may include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as at least one software module to perform the operations of the present invention, and vice versa.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다. In addition, the above-described method or apparatus may be implemented by combining all or part of its configuration or function, or may be implemented separately.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다. Although the above has been described with reference to preferred embodiments of the present invention, those skilled in the art can variously modify and change the present invention within the scope without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it can be done.
100: 3D 모델링 제공 서버 200: 사용자 단말
300: 영상 제공 서버100: 3D modeling providing server 200: user terminal
300: video providing server
Claims (5)
상기 3D 객체를 표시하는 일종의 명령인 트리거 이벤트를 생성하는 트리거 이벤트 생성부;
상기 트리거 이벤트에 응답하여 상기 3D 객체로 표현할 대상 객체를 결정하는 대상 객체 결정부;
상기 대상 객체에 대응되는 상기 3D 객체를 생성하는 3D 객체 획득부;
생성된 상기 3D 객체를 상기 사용자 단말을 통해 상기 사용자에게 제공하는 3D 객체 제공부;
상기 사용자의 입력에 기초하여 상기 사용자와 상기 3D 객체 간 인터랙션을 제어하는 인터랙션 제어부; 및
상기 3D 객체의 초기 표시 특성을 결정하는 초기 표시 특성 결정부를 포함하고,
상기 트리거 이벤트 생성부는, 영상 제공 서버를 통해 획득된 동영상이 재생되는 동안 출력되는 음성 및 영상 프레임 중 적어도 하나에 기초하여 트리거 이벤트를 생성하되,
상기 동영상을 구성하는 영상 프레임(image frame)들 중에서, 서로 시간적으로 인접한 2개의 영상 프레임들을 대상으로, 서로 위치가 대응하는 화소값끼리 차분하여 차분 영상 프레임을 생성하고,
생성된 상기 차분 영상 프레임을 구성하는 화소값들의 합산값이 미리 설정된 임계값 이하인 경우, 상기 2개의 영상 프레임들 사이에 장면 전환이 있는 것으로 판단하고,
상기 장면 전환이 있는 시점을 상기 트리거 이벤트로 결정하고,
상기 대상 객체 결정부는, 상기 동영상이 상기 사용자 단말의 디스플레이를 통해 재생되는 동안 생성된 상기 트리거 이벤트를 감지하고,
상기 감지에 응답하여 상기 트리거 이벤트가 발생한 시점부터 상기 동영상에서 출력되는 음성을 분석하고, 상기 분석에 기초하여 3D 객체로 표현할 대상 객체를 결정하고,
상기 3D 객체 획득부는, 적어도 하나의 3D 엔진을 통해 결정된 상기 대상 객체에 대응되는 3D 객체를 획득하고,
상기 3D 객체 제공부는, 상기 동영상과 상기 3D 객체를 중첩시켜 상기 사용자 단말로 제공하고,
상기 인터랙션 제어부는, 상기 사용자의 입력을 상기 사용자 단말을 통해 획득하고, 상기 사용자의 입력에 따라 상기 3D 객체의 확대, 축소, 이동 및 회전의 기능을 수행하고,
상기 초기 표시 특성 결정부는,
상기 3D 객체가 상기 사용자 단말을 통해 처음 표시될 때의 3D 객체의 초기 특성인 객체의 초기 크기, 초기 깊이, 초기 위치, 초기 방향 및 기본 동작을 결정하고,
상기 동영상의 표시 영역을 복수 개의 영역들로 분할하고, 분할된 상기 복수 개의 영역들 각각에서 직선 성분 및 곡선 성분을 추출하고,
분할된 상기 복수 개의 영역들 각각에 포함된 픽셀들의 컬러 값들을 획득하고, 획득된 상기 컬러 값들의 편차 값을 계산하고,
상기 복수 개의 영역들 각각에 포함된 직선 성분 및 곡선 성분을 이루고 있는 픽셀들의 비중이 제1 비중 이하이고, 계산된 상기 편차 값이 제1 임계 편차 값 이하인 영역을 상기 3D 객체를 표시할 상기 초기 위치로 결정하는, 3D 모델링 제공 서버.A 3D modeling providing server that controls the interaction between a user using a user terminal and a 3D object,
a trigger event generator for generating a trigger event that is a kind of command for displaying the 3D object;
a target object determiner configured to determine a target object to be expressed as the 3D object in response to the trigger event;
a 3D object acquisition unit generating the 3D object corresponding to the target object;
a 3D object providing unit providing the generated 3D object to the user through the user terminal;
an interaction control unit for controlling an interaction between the user and the 3D object based on the user's input; and
and an initial display characteristic determining unit that determines initial display characteristics of the 3D object,
The trigger event generating unit generates a trigger event based on at least one of an audio and an image frame output while the video acquired through the video providing server is being played,
generating a difference image frame by differentiating pixel values corresponding to each other in positions of two image frames temporally adjacent to each other among image frames constituting the moving picture;
When the sum of the pixel values constituting the generated difference image frame is equal to or less than a preset threshold, it is determined that there is a scene change between the two image frames,
Determining the timing of the scene change as the trigger event,
The target object determination unit detects the trigger event generated while the video is played through the display of the user terminal,
Analyzes the voice output from the video from the time the trigger event occurs in response to the detection, and determines a target object to be expressed as a 3D object based on the analysis,
The 3D object acquisition unit acquires a 3D object corresponding to the target object determined through at least one 3D engine,
The 3D object providing unit overlaps the video and the 3D object and provides it to the user terminal,
The interaction control unit obtains the user's input through the user terminal, and performs functions of enlarging, reducing, moving and rotating the 3D object according to the user's input,
The initial display characteristic determining unit,
determining the initial size, initial depth, initial position, initial direction and basic motion of the 3D object, which are initial characteristics of the 3D object when the 3D object is first displayed through the user terminal,
dividing the display area of the video into a plurality of areas, extracting a linear component and a curved component from each of the divided areas,
obtaining color values of pixels included in each of the plurality of divided regions, calculating a deviation value of the obtained color values,
The initial position at which the 3D object is to be displayed in an area in which the proportion of pixels constituting the linear component and the curved component included in each of the plurality of regions is equal to or less than the first proportion, and the calculated deviation value is equal to or less than the first threshold deviation value As determined by the 3D modeling server.
상기 대상 객체 결정부는,
상기 영상 제공 서버로부터 획득한 동영상에서 출력하는 음성, 상기 사용자의 음성 및 상기 사용자의 제스쳐 중 적어도 하나를 감지하는, 3D 모델링 제공 서버.In claim 1,
The target object determination unit,
A 3D modeling providing server for detecting at least one of a voice output from the video acquired from the image providing server, the user's voice, and the user's gesture.
상기 3D 객체 제공부는,
재생 중인 상기 동영상의 컬러를 흑백 처리하고, 상기 3D 객체의 컬러를 색표현 하는, 3D 모델링 제공 서버.In claim 2,
The 3D object providing unit,
A 3D modeling providing server that processes the color of the moving picture being reproduced in black and white and expresses the color of the 3D object.
상기 3D 객체 제공부는, 상기 초기 특성이 적용된 상기 3D 객체를 제공하는, 3D 모델링 제공 서버.In claim 3,
The 3D object providing unit, a 3D modeling providing server that provides the 3D object to which the initial characteristic is applied.
상기 초기 표시 특성 결정부는,
상기 동영상이 표시되고 상기 사용자 단말의 디스플레이의 표면을 제1 면(plane)으로 설정하고,
상기 제1 면이 바라보는 제1 방향과 반대 방향인 제2 방향으로 상기 제1 면의 중앙에서 수직으로 이어지는 가상의 점을 설정하고,
상기 제1 면과 상기 가상의 점 사이에 상기 3D 객체의 초기 깊이를 결정하며,
상기 사용자와 상기 사용자 단말 간 거리가 가까울수록 상기 3D 객체의 초기 깊이는 깊어지는, 3D 모델링 제공 서버.
In claim 4,
The initial display characteristic determining unit,
The video is displayed and the surface of the display of the user terminal is set as a first plane,
setting an imaginary point that extends vertically from the center of the first surface in a second direction opposite to the first direction viewed by the first surface,
determining an initial depth of the 3D object between the first surface and the virtual point,
The closer the distance between the user and the user terminal, the deeper the initial depth of the 3D object, 3D modeling providing server.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210083057A KR102360172B1 (en) | 2021-06-25 | 2021-06-25 | Method and apparatus for controlling interaction between user and 3d object |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210083057A KR102360172B1 (en) | 2021-06-25 | 2021-06-25 | Method and apparatus for controlling interaction between user and 3d object |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102360172B1 true KR102360172B1 (en) | 2022-02-08 |
Family
ID=80252848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210083057A KR102360172B1 (en) | 2021-06-25 | 2021-06-25 | Method and apparatus for controlling interaction between user and 3d object |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102360172B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230121261A (en) * | 2022-02-11 | 2023-08-18 | 주식회사 유룸 | System, method and program for providing 3d website making platform with event build function |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140042544A (en) * | 2012-09-28 | 2014-04-07 | 삼성전자주식회사 | User interface controlling device and method for selecting object in image and image input device |
KR101503803B1 (en) * | 2014-11-07 | 2015-03-18 | (주)넛지 | Apparatus and Method for Generating User Customized 3D Object |
KR20160049191A (en) * | 2014-10-27 | 2016-05-09 | 조민권 | Wearable device |
KR20210051469A (en) * | 2019-10-30 | 2021-05-10 | 엘지전자 주식회사 | Xr device and method for controlling the same |
-
2021
- 2021-06-25 KR KR1020210083057A patent/KR102360172B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140042544A (en) * | 2012-09-28 | 2014-04-07 | 삼성전자주식회사 | User interface controlling device and method for selecting object in image and image input device |
KR20160049191A (en) * | 2014-10-27 | 2016-05-09 | 조민권 | Wearable device |
KR101503803B1 (en) * | 2014-11-07 | 2015-03-18 | (주)넛지 | Apparatus and Method for Generating User Customized 3D Object |
KR20210051469A (en) * | 2019-10-30 | 2021-05-10 | 엘지전자 주식회사 | Xr device and method for controlling the same |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20230121261A (en) * | 2022-02-11 | 2023-08-18 | 주식회사 유룸 | System, method and program for providing 3d website making platform with event build function |
KR102605698B1 (en) | 2022-02-11 | 2023-11-24 | 주식회사 유룸 | System, method and program for providing 3d website making platform with event build function |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10587871B2 (en) | 3D User Interface—360-degree visualization of 2D webpage content | |
US11262835B2 (en) | Human-body-gesture-based region and volume selection for HMD | |
US9224237B2 (en) | Simulating three-dimensional views using planes of content | |
US9704285B2 (en) | Detection of partially obscured objects in three dimensional stereoscopic scenes | |
US9437038B1 (en) | Simulating three-dimensional views using depth relationships among planes of content | |
US9619104B2 (en) | Interactive input system having a 3D input space | |
US9591295B2 (en) | Approaches for simulating three-dimensional views | |
US9886102B2 (en) | Three dimensional display system and use | |
KR101784328B1 (en) | Augmented reality surface displaying | |
Francone et al. | Using the user's point of view for interaction on mobile devices | |
US9367951B1 (en) | Creating realistic three-dimensional effects | |
US11003305B2 (en) | 3D user interface | |
US20150033157A1 (en) | 3d displaying apparatus and the method thereof | |
CN108369486B (en) | Universal inking support | |
KR102360172B1 (en) | Method and apparatus for controlling interaction between user and 3d object | |
US10623713B2 (en) | 3D user interface—non-native stereoscopic image conversion | |
US9122346B2 (en) | Methods for input-output calibration and image rendering | |
US20240094886A1 (en) | Applying visual modifiers to objects of interest selected by a pointer from a video feed in a frame buffer via processing circuitry | |
Faaborg et al. | METHODS AND APPARATUS TO SCALE ANNOTATIONS FOR DESIRABLE VIEWING IN AUGMENTED REALITY ENVIRONMENTS | |
Wojdziak et al. | Guest Login–Visitor-Centred Information Design |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |