KR102402046B1 - 콘텐츠를 제공하기 위한 방법 및 이를 위한 장치 - Google Patents

콘텐츠를 제공하기 위한 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR102402046B1
KR102402046B1 KR1020170157376A KR20170157376A KR102402046B1 KR 102402046 B1 KR102402046 B1 KR 102402046B1 KR 1020170157376 A KR1020170157376 A KR 1020170157376A KR 20170157376 A KR20170157376 A KR 20170157376A KR 102402046 B1 KR102402046 B1 KR 102402046B1
Authority
KR
South Korea
Prior art keywords
location
user
virtual reality
coordinates
content
Prior art date
Application number
KR1020170157376A
Other languages
English (en)
Other versions
KR20180121323A (ko
Inventor
우지환
최병두
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to CN201880027466.7A priority Critical patent/CN110574369B/zh
Priority to PCT/KR2018/004966 priority patent/WO2018199701A1/en
Priority to EP18792095.4A priority patent/EP3616400B1/en
Priority to US15/966,941 priority patent/US10545570B2/en
Publication of KR20180121323A publication Critical patent/KR20180121323A/ko
Application granted granted Critical
Publication of KR102402046B1 publication Critical patent/KR102402046B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

본 개시에 따른 콘텐츠 제공 장치에 의해 가상 현실 콘텐츠를 처리하기 위한 방법은, 상기 가상 현실 콘텐츠 상의 제1 위치의 직교 좌표를 식별하는 과정, 상기 콘텐츠 제공 장치의 사용자의 움직임을 추정하는 과정, 상기 측정된 사용자의 움직임을 나타내는 행렬을 상기 제1 위치의 직교 좌표에 적용하여 제2 위치의 직교 좌표를 식별하는 과정, 상기 제2 위치의 직교 좌표를 상기 제 2 위치의 구형 좌표로 변환하는 과정 및 상기 제2 위치의 구형 좌표에 대응되는 영역을 상기 사용자에게 제공하는 과정을 포함한다.

Description

콘텐츠를 제공하기 위한 방법 및 이를 위한 장치{METHOD FOR PROVIDING CONTENT AND APPARATUS THEREFOR}
본 발명은 콘텐츠를 제공하기 위한 방법 및 이를 위한 장치에 관한 것으로서, 구체적으로 가상 현실(virtual reality, VR) 콘텐츠를 제공할 수 있는 방법 및 장치에 관한 것이다.
가상 현실(virtual reality, VR)은 컴퓨터 등을 사용한 인공적인 기술로 만들어낸 실제와 유사하지만 실제가 아닌 어떤 특정한 환경이나 상황 또는 기술 그 자체를 의미한다. 가상 현실 콘텐츠를 통해 사용자에게 제공되는 환경이나 상황 등은 사용자의 오감을 자극하여 사용자가 실제와 유사한 공간적, 시간적 체험을 하게 할 수 있다. 또한, 사용자는 단순히 가상 현실 콘텐츠에 몰입할 뿐만 아니라, 실재하는 장치를 이용해 조작이나 명령을 수행함으로써, 가상 현실 콘텐츠 속에 구현된 사물들과 상호작용할 수 있다. 가상 현실 콘텐츠는 사용자와의 상호작용이 가능하며, 사용자의 경험을 창출한다는 점에서 일방적으로 구현되는 시뮬레이션과 구분될 수 있다.
가상 현실 콘텐츠는 가상 현실 장치를 통하여 사용자에게 제공될 수 있다. 가상 현실 장치 중 하나로는 사용자의 머리에 장착되고 사용자의 눈 앞에 디스플레이 화면이 위치하며, 이러한 디스플레이 화면을 통해 가상 현실 콘텐츠를 표시하는 헤드 마운티드 디스플레이(Head Mounted Display, HMD)가 있다.
사용자는 가상 현실 장치를 사용하면서 다양한 방향으로 머리를 이동할 수 있으며, 이러한 움직임에 따라 사용자가 바라보는 방향이 변경될 수 있다. 실감을 주는 가상 현실 콘텐츠를 제공하기 위해서 가상 현실 장치는 사용자가 바라보는 방향의 변경을 반영한 가상 현실 콘텐츠를 제공할 수 있어야 한다.
본 개시는 가상 현실 콘텐츠를 시청하는 사용자가 회전하거나 머리를 움직이는 등 바라보는 방향을 변경하는 경우, 이를 반영한 가상 현실 콘텐츠를 제공하는 방법 또는 이를 위한 장치를 제공한다.
본 발명의 일실시예에 따른 콘텐츠 제공 장치에 의해 가상 현실 콘텐츠를 처리하기 위한 방법은, 상기 가상 현실 콘텐츠 상의 제1 위치의 직교 좌표를 식별하는 과정, 상기 콘텐츠 제공 장치의 사용자의 움직임을 추정하는 과정, 상기 측정된 사용자의 움직임을 나타내는 행렬을 상기 제1 위치의 직교 좌표에 적용하여 제2 위치의 직교 좌표를 식별하는 과정, 상기 제2 위치의 직교 좌표를 상기 제 2 위치의 구형 좌표로 변환하는 과정 및 상기 제2 위치의 구형 좌표에 대응되는 영역을 상기 사용자에게 제공하는 과정을 포함한다.
상기 제1 위치의 구형 좌표를 상기 제1 위치의 직교 좌표로 변환하는 과정을 더 포함할 수 있다.
상기 제1 위치 및 상기 제2 위치는 상기 콘텐츠 제공 장치의 뷰 포인트일 수 있다.
상기 사용자의 움직임을 추정하는 과정은 상기 사용자의 움직임의 요(yaw) 각도 성분, 피치(pitch) 각도 성분, 및 롤(roll) 각도 성분을 추정하는 과정을 포함할 수 있다.
본 발명의 일실시예에 따른 가상 현실 콘텐츠를 처리하기 위한 콘텐츠 제공 장치는, 위치 센서 및 제어부를 포함하며, 상기 위치 센서는 상기 콘텐츠 제공 장치의 사용자의 움직임을 추정하고, 상기 제어부는, 상기 가상 현실 콘텐츠 상의 제1 위치의 직교 좌표를 식별하고, 상기 측정된 사용자의 움직임을 나타내는 행렬을 상기 제1 위치의 직교 좌표에 적용하여 제2 위치의 직교 좌표를 식별하고, 상기 제2 위치의 직교 좌표를 상기 제 2 위치의 구형 좌표로 변환하며, 상기 제2 위치의 구형 좌표에 대응되는 영역을 상기 사용자에게 제공하도록 상기 콘텐츠 제공 장치를 제어한다.
상기 제어부는, 상기 제1 위치의 구형 좌표를 상기 제1 위치의 직교 좌표로 변환하는 과정을 수행하도록 상기 콘텐츠 제공 장치를 제어할 수 있다.
상기 제1 위치 및 상기 제2 위치는 상기 콘텐츠 제공 장치의 뷰 포인트일 수 있다.
상기 위치 센서 또는 상기 제어부는, 상기 사용자의 움직임을 요 각도 성분, 피치 각도 성분, 및 롤 각도 성분으로 추정할 수 있다.
본 개시에 따르면 가상 현실 장치는, 가상 현실 콘텐츠를 시청하는 사용자가 회전하거나 머리를 움직이는 등 바라보는 방향을 변경하는 경우, 이를 반영한 가상 현실 콘텐츠를 제공하여 실감을 주는 가상 현실 경험을 제공할 수 있다.
또한, 가상 현실 콘텐츠 중에서 사용자가 바라보는 영역을 식별하여 전송하는 것이 가능하여, 가상 현실 콘텐츠 전송시 전송 효율을 높힐 수 있다.
도 1은 본 개시의 일 실시예에 따른 가상 현실 장치에 적용되는 투영 구조(projection structure)를 나타낸 도면이다.
도 2는 본 개시의 일 실시예에 따른 가상 현실 장치에서 사용자의 시선 방향을 나타낸 도면이다.
도 3은 본 개시의 일 실시예에 따른 가상 현실 장치에서 사용자의 시선 방향의 회전을 나타내는 방법을 좌표축 상에 나타낸 것이다.
도 4는 본 개시의 일 실시예에 따른 가상 현실 장치의 시선 방향을 나타낸 도면이다.
도 5는 본 개시의 일실시예에 따른 가상 현실 장치의 동작 방법을 나타낸 순서도이다.
도 6은 본 개시의 일실시예에 따른 가상 현실 장치에서 구형 좌표(spherical coordinate)와 직교 좌표(cartesian coordinate) 간의 관계를 나타낸 도면이다.
도 7은 본 개시의 일 실시예에 따른 좌표축을 나타낸 도면이다.
도 8은 식별된 사용자의 제2 위치 직교 좌표가 극 값에 있는 경우 주변의 샘플을 사용하여 사용자의 제2 위치 구형 좌표를 구하는 방법을 개략적으로 도시한 도면이다.
도 9는 본 개시의 일 실시예에 따른 가상 현실 장치의 작동 방법을 순서대로 나타낸 순서도이다.
도 10은 본 개시의 일 실시예에 따른 가상 현실 콘텐츠를 제작하는 방법을 개략적으로 나타낸 도면이다.
도 11은 본 개시의 일 실시예에 따른 가상 현실 콘텐츠에 포함된 시각적 콘텐츠를 제작하기 위한 이미지를 캡쳐하기 위한 장치를 나타낸 도면이다.
도 12는 다양한 2D(2-dimensional) 프로젝션(projection) 방법 및 2D(2-dimensional) 프로젝션 이미지(projection picture)의 예시를 나타낸 도면이다.
도 13은 본 개시의 일 실시예에 따른 가상 현실 장치의 구성을 개략적으로 나타낸 도면이다.
도 14는 본 개시의 일 실시예에 따른 서버의 구성을 개략적으로 도시한 도면이다.
이하, 첨부된 도면들을 참조하여 본 개시의 실시예를 상세하게 설명한다. 하기에서 본 개시를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
비록 제1, 제2 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
먼저, 도 1 내지 도 3을 참고하여, 본 개시의 실시예인 가상 현실 장치의 가상 현실 콘텐츠, 투영 구조(projection structure), 사용자의 시선 방향(user's viewing perspective) 및 좌표 시스템(coordinate system)에 대해 설명한다.
도 1은 본 개시의 일 실시예에 따른 가상 현실 장치에 적용되는 투영 구조(projection structure)를 나타낸 도면이다. 도 2는 본 개시의 일 실시예에 따른 가상 현실 장치에서 사용자의 시선 방향을 나타낸 도면이다. 도 3은 본 개시의 일 실시예에 따른 가상 현실 장치에서 사용자의 시선 방향의 회전을 나타내는 방법을 좌표축 상에 나타낸 것이다.
본 개시에서 가상 현실 콘텐츠는 가상 현실 장치를 사용하는 사용자를 중심으로 360도(°) 방향에 매핑되는 전방향(omnidirectional) 콘텐츠임을 가정한다. 그러나 가상 현실 콘텐츠는 반드시 360도 전 영역에 대응되는 콘텐츠를 모두 포함할 필요는 없으며, 일부 영역에 대응되는 콘텐츠만 포함할 수도 있다. 가상 현실 콘텐츠는 오디오, 비디오, 이미지, 자막, 냄새, 바람 등의 콘텐츠 요소 중 적어도 하나를 포함하며, 시각적 콘텐츠, 청각적 콘텐츠, 후각적 콘텐츠, 촉각적 콘텐츠 등으로 분류될 수 있다. 가상 현실 콘텐츠의 각 요소들의 적어도 일부는 제작될 때 360도 방향에서 대응되는 방향과 정렬되어 제작될 수 있다.
도 1을 참고하여 투영 구조(projection structure)에 대하여 설명한다.
시각적 콘텐츠는 360도 방향으로 제작되어 가상의 구형 공간(101)을 구현할 수 있다. 가상 현실 장치(102)를 착용한 사용자(103)는 가상의 구형 공간(101)의 중심에 위치하여 가상의 구형 공간(101)의 안쪽 표면을 관찰한다고 가정할 수 있다. 즉, 제작된 가상 현실 콘텐츠는 가상의 구형 공간(101)에 투영될 수 있으며, 이를 투영 구조(projection structure)라 하고, 본 개시에서는 투영 구조가 반지름(r)이 1인 단위 구(unit sphere)임을 가정한다.
가상 현실 콘텐츠는 가상 현실 장치를 통하여 사용자에게 제공되며, 본 개시에서 가상 현실 장치는 사용자의 머리에 장착되고 사용자의 눈 앞에 디스플레이 화면이 위치하며, 이러한 디스플레이 화면을 통해 가상 현실 콘텐츠를 표시하는 헤드 마운티드 디스플레이(Head Mounted Display, HMD)임을 가정한다.
이하, 도 1 및 도 2를 참고하여 가상 현실 장치의 시선 방향(viewing perspective) 및 사용자의 시선 방향(user's viewing perspective)에 대하여 설명한다.
가상 현실 장치(102)를 착용한 사용자(103)는 가상 현실 장치(102)를 사용하면서 다양한 방향으로 머리를 이동할 수 있으며, 이러한 움직임에 따라 사용자(103)가 바라보는 방향이 변경될 수 있다. 이 때, 사용자(103)가 바라보는 방향을 가상 현실 장치의 시선 방향(viewing perspective)(104)으로 정의한다. 가상 현실 장치의 시선 방향(104)은 현재 사용자(103)에게 제공되고 있는 가상 현실 콘텐츠의 일 영역인 뷰포트(viewport)의 중심점인 뷰포인트(viewpoint)를 의미할 수 있다.
구체적으로 가상 현실 장치의 시선 방향(viewing perspective)(104)이란, 가상 현실 장치에 포함된 디스플레이 화면의 표면의 정 중앙을 지나면서 상기 표시 영역의 표면에 수직인 직선이, 가상 현실 장치를 착용한 사용자를 중심으로 바깥방향으로 향하는 방향이라고 가정한다.
보다 구체적으로, 가상 현실 장치(102)를 착용한 사용자(103)가 가상의 구형의 공간(101)의 중심에 있다고 가정할 때, 사용자(103)가 가상의 구(101)의 중심에서 구의 안쪽 표면을 향하여 바깥방향으로 바라보는 방향이 가상 현실 장치의 시선 방향(104)이라고 가정할 수 있다. 나아가 가상의 구형의 공간(101)이 일정한 반지름(r)을 갖는다고 가정하는 경우 사용자(103)가 가상의 구(101)의 중심에서 바깥방향으로 바라보아 가상 현실 장치(102)에 포함된 디스플레이 화면의 표면의 정 중앙을 지나면서 상기 표시 영역의 표면에 수직인 직선이 가상의 구(101)의 안쪽 표면과 만나는 점을 가상 현실 장치의 시선 방향(104)으로 정의할 수 있다. 여기서 가상의 구형의 공간(101)은 가상 현실 콘텐츠가 구현하는 가상의 공간에 대응될 수 있다.
이러한 가상 현실 장치의 시선 방향(104)은 가상 현실 장치를 착용한 사용자의 시선 방향(user's viewing perspective)(105)과 동일할 수 있다. 이 때 사용자(103)는 가상 현실 장치(102)의 디스플레이 화면을 응시하고 있음을 가정한다. 사용자의 시선 방향(105)은 사용자의 양쪽 눈을 연결한 직선의 정 가운데를 지나는 직선이, 사용자를 중심으로 바깥방향으로 향하는 방향이라고 정의할 수 있다.
상기와 같이 가상 현실 장치의 시선 방향(104) 및 사용자의 시선 방향(105)을 가정하였으나, 가상 현실 장치의 시선 방향 및 사용자의 시선 방향은 실시예에 따라 다양한 방법으로 정의될 수 있다.
나아가, 사용자의 안구의 움직임을 추적하는 센서가 가상 현실 장치에 탑재되는 경우, 사용자의 안구가 움직이는 방향이 사용자의 시선 방향으로 정의될 수도 있으며, 이 경우 사용자의 시선 방향과 가상 현실 장치의 시선 방향과 동일하지 않을 수 있다.
이하, 도 3을 참고하여 본 개시에서 적용되는 좌표 시스템(coordinate system)에 대하여 설명한다.
본 개시에서 가상 현실 장치의 시선 방향, 사용자의 시선 방향, 사용자의 움직임 및 가상 현실 콘텐츠 등은 동일한 좌표축(coordinate axes)에서 움직인다고 가정한다. 가상 현실 장치의 시선 방향, 사용자의 시선 방향, 사용자의 움직임 및 가상 현실 콘텐츠 등은 동일한 좌표축(coordinate axes)에서 구형 좌표(spherical coordinate) 또는 직교 좌표(cartesian coordinate) 등으로 표현될 수 있다.
또한, 도 3과 같이 가상 현실 장치(102)의 중심점 또는 사용자(103)의 머리의 중심점이 본 개시에서 사용되는 좌표축의 중심에 위치한다고 가정한다. 또한, 가상 현실 콘텐츠가 구현하는 가상 현실 공간의 중심이 좌표축의 중심에 위치한다고 할 수 있으며, 시각적 가상 현실 콘텐츠가 획득된 위치가 좌표축의 중심에 위치할 수도 있다.
사용자의 시선 방향의 이동은 요(yaw) 각도, 피치(pitch) 각도 및 롤(roll) 각도로 표현될 수 있다. 요 각도(α)는 y축을 중심으로 회전한 각도를 의미할 수 있다. 요 각도(α)는 -180도(°)이상 180도(°)이하의 범위에서 정의될 수 있다. 요 각도(α)는 y축 위에서 좌표축의 중심을 바라볼 때, 반 시계 방향 회전으로 정의될 수 있다. 피치 각도(β)는 x축을 중심으로 회전한 각도를 의미할 수 있다. 피치 각도(β)는 -90도(°)이상 90도(°)이하 의 범위에서 정의될 수 있다. 피치 각도(β)는 x축 위에서 좌표축의 중심을 바라볼 때, 반 시계 방향 회전으로 정의될 수 있다. 롤 각도(γ)는 z축을 중심으로 회전한 각도를 의미할 수 있다. 롤 각도(γ)는 -180도(°)이상 180도(°)이하의 범위에서 정의될 수 있다. 롤 각도(γ)는 z축 위에서 좌표축의 중심을 바라볼 때, 반 시계 방향 회전으로 정의될 수 있다.
그러나, 이는 일 예시일 뿐이며, 실시예에 따라, 요 각도는 z축을 중심으로 회전한 각도를, 피치 각도는 y축을 중심으로 회전한 각도를, 롤 각도는 x축을 중심으로 회전한 각도를 의미할 수 있다.
또는 실시예에 따라, 요 각도는 x축을 중심으로 회전한 각도를, 피치 각도는 z축을 중심으로 회전한 각도를, 롤 각도는 z축을 중심으로 회전한 각도를 의미할 수 있다.
즉, 실시예에 따라 요 각도, 피치 각도, 롤 각도의 회전 축의 기준을 다르게 잡을 수 있으며, 하나의 가상 현실 장치의 내부 시스템에서 동일한 하나의 기준이 사용되면 족하다.
가상 현실 장치(102)는 위치 센서를 포함한다. 위치 센서가 가상 현실 장치(102)의 시선 방향의 변화를 감지하면, 위치 센서는 가상 현실 장치(102)의 시선 방향의 이동에 대한 정보를 측정하여 가상 현실 장치(102)에게 제공한다. 위치 센서는 가상 현실 장치(102)의 시선 방향의 이동에 대하여 요 각도(α), 피치 각도(β) 및 롤 각도(γ)로 제공할 수 있다. 이 때, 가상 현실 장치(102)의 시선 방향의 이동에 대하여 요, 피치, 롤 성분의 각도를 어떤 순서대로 측정 또는 획득할 것인지 미리 정해져 있을 수 있다. 즉, 가상 현실 장치(102)의 시선 방향의 이동의 측정 또는 획득 순서가 위치 센서 또는 가상 현실 장치에 미리 설정되어 있을 수 있다. 예를 들어, 위치 센서는 가상 현실 장치(102)의 시선 방향의 이동을 요 각도(α), 피치 각도(β), 롤 각도(γ) 순서로 측정 또는 획득할 수 있다.
위치 센서는 가속도를 측정하는 가속도 센서(Accelerometer), 각속도를 측정하는 자이로스코프(Gyroscope), 지자기 센서인 마그네토미터(Magnetometer) 등의 다양한 센서 중 적어도 한 개 이상을 포함할 수 있다. 가상 현실 장치의 시선 방향의 이동 측정의 일 예로, 가속도 센서 또는 자이로스코프를 통하여 롤 각도 또는 피치 각도를 측정할 수 있으며, 자이로스코프 또는 마그네토미터를 통하여 요 각도를 측정할 수 있다. 그러나 이는 가상 현실 장치의 시선 방향의 이동 정보를 얻는 방법의 일 예를 개시한 것이며, 가상 현실 장치의 이동을 측정할 수 있는 방법이라면, 위치 센서의 종류 또는 측정 방법은 이에 한정되지 않는다.
이하, 도 1 및 도 3 내지 도 6을 참고하여 본 개시의 일 실시예에 따른 가상 현실 장치의 동작 방법을 설명한다.
도 4는 본 개시의 일 실시예에 따른 가상 현실 장치의 시선 방향을 나타낸 도면이다. 도 5는 본 개시의 일실시예에 따른 가상 현실 장치의 동작 방법을 나타낸 순서도이다. 도 6은 본 개시의 일실시예에 따른 가상 현실 장치에서 구형 좌표(spherical coordinate)와 직교 좌표(cartesian coordinate) 간의 관계를 나타낸 도면이다.
도 1 및 도 2를 참고하면, 가상의 구형 공간(101)에서 제1의 사용자의 시선 방향(105)(first user's viewing perspective)을 기준점으로 가정한다. 이러한 제1의 사용자의 시선 방향(105)은 구형 좌표(spherical coordinate) (r1, Φ1, θ1)로 표현될 수 있다. 여기서 가상의 구형 공간(101)의 반지름은 1로 가정하였으므로 r1=1이라고 가정한다. 제1의 사용자의 시선 방향(105)은 현재 사용자(103)에게 제공되고 있는 가상 현실 콘텐츠의 일 영역인 제1 뷰포트의 중심점인 제1 뷰포인트를 의미할 수 있다.
가상 현실 장치(102)를 착용한 사용자(103)는 가상 현실 장치(102)를 사용하면서 다양한 방향으로 머리를 이동할 수 있으며, 이러한 움직임에 따라 사용자의 시선 방향이 제1의 사용자의 시선 방향(105)에서 제2의 사용자의 시선 방향(105')(second user's viewing perspective)로 변경될 수 있다. 가상 현실 장치(102)는 이러한 사용자의 시선 방향의 변경을 반영한 가상 현실 콘텐츠를 제공할 수 있다. 이때, 사용자(103)에게 제공하는 가상 현실 콘텐츠에 사용자의 시선 방향의 움직임을 반영해야 한다. 제2의 사용자의 시선 방향(105')은 사용자가 움직인 후 사용자(103)에게 제공되는 가상 현실 콘텐츠의 일 영역인 제2 뷰포트의 중심점인 제2 뷰포인트를 의미할 수 있다.
도 1 내지 도 3 및 도 5를 참고하면, 먼저, 사용자의 제1 위치를 식별한다(501). 여기서 사용자의 제1 위치는 제1의 사용자의 시선 방향(105)을 의미한다. 사용자의 제1 위치는 기준점이자 가상 현실 콘텐츠의 시작점으로써 미리 정해져서 가상 현실 장치에 저장되어있을 수 있다. 또는 사용자의 제1 위치는 위치 센서에 의해 측정되어 얻어질 수도 있다. 또는 사용자의 제1 위치는 제1 위치의 이전 위치에다가 위치 센서가 측정한 사용자 움직임 값을 반영하여 얻어질 수도 있다. 본 개시에서 사용자의 제1 위치는 구형 좌표인 (1, Φ1, θ1)로 식별되는 것으로 가정한다. 그러나 이에 한정되지 않으며, 직교 좌표인 (x1, x2, x3)로 식별될 수도 있다. 이 경우 이하 설명할 503 단계를 생략할 수 있다.
다음으로 사용자의 움직임을 측정한다(502). 여기서 사용자의 움직임을 측정하는 것은 사용자가 사용자의 제1 위치에서 사용자의 제2 위치로 이동한 것을 측정한 것이다. 즉, 사용자의 움직임을 측정하는 것은 사용자의 시선 방향이 제1 사용자의 시선 방향(105)에서 제2 사용자의 시선 방향(105')로 이동한 것을 측정한 것이다. 사용자의 시선 방향의 움직임은 가상 현실 장치에 포함된 위치 센서에 의해 측정될 수 있으며, 위치 센서가 사용자의 시선 방향의 움직임을 측정하는 방법은 전술하였으므로 생략한다. 사용자의 제1 위치에서 사용자의 제2 위치로 이동은 위치 센서로부터 요 각도(α), 피치 각도(β) 및 롤 각도(γ)로 제공될 수 있다.
다음으로, 이러한 요 각도(α), 피치 각도(β) 및 롤 각도(γ)를 사용자의 제1 위치에 적용하기 위해, 구형 좌표로 표현된 사용자의 제1 위치를 직교 좌표로 변환할 수 있다(503).
도 6을 참고하면, 사용자의 제1 위치(r1, Φ1, θ1)을 직교 좌표로 변환한 좌표인 (x1. y1. z1)는 [수학식 1] 내지 [수학식 3]을 사용하여 구할 수 있다.
Figure 112017116944434-pat00001
Figure 112017116944434-pat00002
Figure 112017116944434-pat00003
여기서 r=1로 가정할 수 있다.
앞서 설명한 501 내지 503 단계는 도 5의 순서도나 상기 설명과 작동 순서가 동일할 필요는 없으며 작동 순서가 달라질 수 있고, 또는 일부 동작이 동시에 수행될 수도 있다.
다시 도 1 내지 도 3 및 도 5를 참고하면, 다음으로 사용자의 제1 위치 직교 좌표
Figure 112017116944434-pat00004
=(x1. y1. z1)를 회전 변환하여 사용자의 제2 위치를 식별한다(504). 여기서 사용자의 제2 위치는 제2의 사용자의 시선 방향(105')을 의미한다. 사용자의 제1 위치에서 사용자의 제2 위치로의 변환은 회전 행렬을 사용하여 구할 수 있다. 요 각도(α) 회전 행렬(
Figure 112017116944434-pat00005
)로 [수학식 4]가 사용될 수 있으며, [수학식 5]과 같이 사용자의 제1 위치 직교 좌표(
Figure 112017116944434-pat00006
)에 곱하여 요 각도 회전 위치(
Figure 112017116944434-pat00007
)를 구할 수 있다.
Figure 112017116944434-pat00008
Figure 112017116944434-pat00009
피치 각도(β) 회전 행렬(
Figure 112017116944434-pat00010
)로 [수학식 6]이 사용될 수 있으며, [수학식 7]과 같이 사용자의 요 각도 회전 위치(
Figure 112017116944434-pat00011
)에 곱하여 피치 각도 회전 위치(
Figure 112017116944434-pat00012
)를 구할 수 있다.
Figure 112017116944434-pat00013
Figure 112017116944434-pat00014
Figure 112017116944434-pat00015
도 3과 같은 경우에는 롤 각도(γ)가 0이고 요 각도(α) 및 피치 각도(β)만으로도 사용자의 움직임을 표현할 수 있다. 이 경우 사용자의 제2 위치 직교 좌표는
Figure 112017116944434-pat00016
=(x2, y2, z2)=
Figure 112017116944434-pat00017
로 구해질 수 있다.
경우에 따라 롤 각도(γ) 변환이 필요한 경우, 요 각도(α) 회전 행렬(
Figure 112017116944434-pat00018
) 및 피치 각도(β) 회전 행렬(
Figure 112017116944434-pat00019
)을 적절히 곱하여 롤 각도(γ) 회전 행렬(
Figure 112017116944434-pat00020
)을 구할 수 있다.
롤 각도(γ) 회전 행렬(
Figure 112017116944434-pat00021
)은 [수학식 8]과 같으며, [수학식 9]와 같이 사용자의 피치 각도 회전 위치(
Figure 112017116944434-pat00022
)에 곱하여 롤 각도 회전 위치(
Figure 112017116944434-pat00023
)를 구할 수 있다.
Figure 112017116944434-pat00024
Figure 112017116944434-pat00025
Figure 112017116944434-pat00026
Figure 112017116944434-pat00027
Figure 112017116944434-pat00028
Figure 112017116944434-pat00029
Figure 112017116944434-pat00030
Figure 112017116944434-pat00031
이 경우 사용자의 제2 위치 직교 좌표는
Figure 112017116944434-pat00032
=
Figure 112017116944434-pat00033
Figure 112017116944434-pat00034
Figure 112017116944434-pat00035
로 구해질 수 있다.
상기 회전 행렬을 곱하는 순서의 일 예를 들었으나, 회전 행렬을 곱하는 순서는 이에 한정되지 않으며, 하나의 가상 현실 장치의 내부 시스템에서 사용되는 요 각도, 피치 각도, 롤 각도의 회전 축 기준에 대하여 요 각도 회전 행렬, 피치 각도 회전 행렬, 롤 각도 회전 행렬을 곱하는 순서도 하나로 정해져 있으면 족하다.
앞서 설명한 요 각도 회전 행렬, 피치 각도 회전 행렬, 롤 각도 회전 행렬은 일 실시예일 뿐이며, 앞에서 설명한 바와 같이 실시예에 따라, 요 각도는 z축을 중심으로 회전한 각도를, 피치 각도는 y축을 중심으로 회전한 각도를, 롤 각도는 x축을 중심으로 회전한 각도를 의미하는 실시예도 가능하다.
이 경우, [수학식 10]가 z축을 중심으로 p만큼 회전한 요 각도 회전 행렬(
Figure 112017116944434-pat00036
Figure 112017116944434-pat00037
)로 사용될 수 있다.
Figure 112017116944434-pat00038
y축을 중심으로 q만큼 회전한 피치 각도 회전 행렬(
Figure 112017116944434-pat00039
)로는 [수학식 11]이 사용될 수 있다.
Figure 112017116944434-pat00040
x축을 중심으로 v만큼 회전한 롤 각도 회전 행렬(
Figure 112017116944434-pat00041
)로는 [수학식 12]가 사용될 수 있다.
Figure 112017116944434-pat00042
이 경우 사용자의 제2 위치 직교 좌표는
Figure 112017116944434-pat00043
=(x2, y2, z2)는 [수학식 13]과 같이 구해질 수 있다.
Figure 112017116944434-pat00044
Figure 112017116944434-pat00045
Figure 112017116944434-pat00046
앞서, 사용자의 제1 위치 직교 좌표
Figure 112017116944434-pat00047
=(x1. y1. z1)에다가 요 각도 회전 행렬(
Figure 112017116944434-pat00048
), 피치 각도 회전 행렬(
Figure 112017116944434-pat00049
), 롤 각도 회전 행렬(
Figure 112017116944434-pat00050
) 순으로 곱하여 사용자의 제2 위치 직교 좌표
Figure 112017116944434-pat00051
=(x2, y2, z2)를 구하는 실시예를 예로 들었으나, 앞서 설명한 바와 같이 회전 행렬을 곱하는 순서는 이에 한정되지 않으며, 하나의 가상 현실 장치의 내부 시스템에서 사용되는 요 각도, 피치 각도, 롤 각도의 회전 축 기준에 대하여 요 각도 회전 행렬, 피치 각도 회전 행렬, 롤 각도 회전 행렬을 곱하는 순서도 하나로 정해져 있으면 족하다.
특히, 가상 현실 장치의 내부 시스템에서 요 각도가 z축을 중심으로 회전한 각도를, 피치 각도가 y축을 중심으로 회전한 각도를, 롤 각도가 x축을 중심으로 회전한 각도를 의미하는 기준을 적용하는 실시예에서, 위치 센서가 사용자의 움직임을 요 각도(p), 피치 각도(q), 롤 각도(v) 순서로 측정 또는 획득하기로 설정되어 있는 경우, 사용자의 제1 위치 직교 좌표(
Figure 112017116944434-pat00052
)에, 요 각도 회전 행렬(
Figure 112017116944434-pat00053
), 피치 각도 회전 행렬(
Figure 112017116944434-pat00054
), 롤 각도 회전 행렬(
Figure 112017116944434-pat00055
) 순으로 곱하여 사용자의 제2 위치 직교 좌표
Figure 112017116944434-pat00056
=(x2, y2, z2)를 구할 수 있다.
다음으로 식별된 사용자의 제2 위치 직교 좌표(
Figure 112017116944434-pat00057
)를 구형 좌표 (r2, Φ2, θ2)로 변환한다(505).
사용자의 제2 위치 직교 좌표
Figure 112017116944434-pat00058
=(x2, y2, z2)는 [수학식 14] 내지 [수학식 16]을 사용하여 사용자의 제2 위치 구형 좌표 (r2, Φ2, θ2)로 변환할 수 있다. 여기서 r2=1로 가정할 수 있다.
Figure 112017116944434-pat00059
Figure 112017116944434-pat00060
Figure 112017116944434-pat00061
여기서 [수학식 15] 및 [수학식 16]에
Figure 112017116944434-pat00062
를 곱해준 것은 라디안(radian) 값을 디그리(degree)값으로 일치시키기 위해서이다.
[수학식 15]에서, z2값이 0인 경우 z2에 임의의 값을 넣어서 계산할 수 있다.
또는 [수학식 17] 및 [수학식 18]과 같이, z2 값인 경우와 같이 계산이 불가능한 경우나,
Figure 112017116944434-pat00063
의 발산하는 형태의 그래프를 고려하여 결과 값의 특정이 모호한 경우에 대하여 특정한 값을 넣는 것으로 규칙을 정할 수 있다.
Figure 112017116944434-pat00064
Figure 112017116944434-pat00065
이하, 도 7을 참고하여, 좌표 축에 따른 상기 [수학식 16] 내지 [수학식 18]의 변경에 대하여 설명한다.
도 7은 본 개시의 일 실시예에 따른 좌표축을 나타낸 도면이다.
도 7과 같은 좌표 축에서의 경우 상기 [수학식 16] 내지 [수학식 18]은 [수학식 19] 내지 [수학식 21]과 같이 표현될 수 있다.
Figure 112017116944434-pat00066
Figure 112017116944434-pat00067
Figure 112017116944434-pat00068
사용자의 제2 위치 구형 좌표 (r2, Φ2, θ2)를 획득하면, 가상 현실 장치는 가상 현실 콘텐츠 중 사용자의 제2 위치 구형 좌표 (r2, Φ2, θ2)에 대응하는 영역을 사용자에게 제공할 수 있다.
사용자의 제2 위치 구형 좌표 (r2, Φ2, θ2)에 대응하는 영역이란, 가상 현실 콘텐츠의 투영 구조 상에서 특정되는 사용자의 제2 위치 구형 좌표 (r2, Φ2, θ2)에 해당하는 점을 중심으로 하는 가상 현실 장치의 시야각(field of view, FOV)에 해당하는 영역일 수 있다. 또는, 투영 구조 상의 사용자의 제2 위치에 해당하는 점 중심으로 하는 가상 현실 장치의 뷰포트 넓이에 해당하는 영역일 수 있다. 또는, 투영 구조 상의 사용자의 제2 위치에 해당하는 점의 상하 좌우로 미리 정해진 넓이만큼에 해당하는 영역일 수 있다. 또는 사용자의 시선 방향을 중심으로 하는 N개의 샘플 점에 대해 상기 사용자의 시선 방향에 적용한 방법과 같이 회전 행렬을 적용하여 N개의 샘플의 제2 위치를 구하고, 이렇게 구해진 N개의 샘플들의 제2 위치에 의해 특정되는 영역일 수 있다.
이는 일 예시들을 들어 설명한 것이며, 가상 현실 콘텐츠 중 사용자의 제2 위치 구형 좌표 (r2, Φ2, θ2)에 대응하는 영역을 특정하는 방법은 이에 한정되지 않고, 가상 현실 콘텐츠에서 사용자의 제2 위치 구형 좌표 (r2, Φ2, θ2)에 해당하는 점이 제2 사용자의 시선 방향을 응시하고 있는 사용자의 시야각(FOV)의 중앙 부근에 오도록 가상 현실 콘텐츠를 제공하면 족하다.
또한, 가상 현실 콘텐츠가 가상 현실 장치의 메모리부 등에 저장되어 있고, 저장되어 있는 가상 현실 콘텐츠 중 사용자의 제2 위치 구형 좌표에 대응하는 영역을 사용자에게 제공하는 실시예도 가능하고, 가상 현실 콘텐츠가 서버에 저장되어 있고 가상 현실 장치가 사용자의 제1 위치 구형 좌표 정보 및 사용자의 움직임 정보를 서버에게 전송해주면, 서버가 제2 위치 직교 좌표를 계산하여 제2 위치 직교 좌표에 대응하는 영역의 가상 현실 콘텐츠를 가상 현실 장치에게 전송해주는 실시예도 가능하다. 또한, 가상 현실 콘텐츠가 제2 위치 직교 좌표 정보를 서버에게 전송해주면, 서버가 이에 대응하는 영역의 가상 현실 콘텐츠를 가상 현실 장치에게 전송해주는 실시예도 가능하다.
이하, 도 8 및 도 9를 참고하여, 식별된 사용자의 제2 위치 직교 좌표가 극 값에 있는 경우, 본 개시의 일 실시예에 따라 사용자의 제2 위치 구형 좌표를 구하는 방법을 설명한다.
도 8은 식별된 사용자의 제2 위치 직교 좌표가 극 값에 있는 경우 주변의 샘플을 사용하여 사용자의 제2 위치 구형 좌표를 구하는 방법을 개략적으로 도시한 도면이다. 도 9는 본 개시의 일 실시예에 따른 가상 현실 장치의 작동 방법을 순서대로 나타낸 순서도이다.
본 개시에서 극 값이란, 사용자의 머리 위쪽 방향을 의미하며, 도 8을 참고하면 가상 현실 장치(102)를 착용한 사용자(103)의 머리 위쪽 방향 축인 y축 상에 위치한 값이라고 할 수 있다. 즉, 사용자의 제2 위치 직교 좌표가 y축 상에 있는 (0, 0, y2)인 경우 극 값에 위치한다고 할 수 있다. 그러나, 극 값은 y축 상에 위치한 값으로 한정되는 것은 아니며, 좌표 축에 따라, 또한 사용자가 어느 평면에 있는 지에 따라 다르게 결정될 수 있다. 예를 들어 사용자가 xy평면 상에 있고 사용자의 머리 위쪽 방향으로 z축이 뻗어 있는 경우 z축 상에 있는 점이 극 값에 해당될 수 있다.
이하, 사용자의 제2 위치 직교 좌표가 y축 상에 위치한 (0, 0, y2)인 경우 사용자의 제2 위치 구형 좌표(r2, Φ2, θ2)를 구하는 일 실시예를 설명한다. r2는 1이라고 가정할 수 있다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.
사용자의 제1 위치를 식별하고(901), 사용자의 움직임을 측정하고(902), 구형 좌표로 표현된 사용자의 제1 위치를 직교 좌표로 변환하고(903), 사용자의 제1 위치 직교 좌표를 회전 변환하여 사용자의 제2 위치를 식별하고(904)하는 단계가 앞서 설명한 실시예와 동일하게 수행될 수 있다.
다음으로 식별된 사용자의 제2 위치가 극 값인지를 판단한다(705). 사용자의 제2 위치 직교 좌표가 극 값이 아닌 경우 단순히 식별된 사용자의 제2 위치 직교 좌표를 구형 좌표로 변환한다(905).
그러나, 사용자의 제2 위치 직교 좌표가 P'=(0, 0, y2)인 경우, 사용자의 제1 위치 직교 좌표(P)의 주변의 N개의 점들의 제1 위치들을 식별할 수 있다(707). 도 8에서는 사용자의 제1 위치 직교 좌표(P)의 주변의 4개의 점들(s1, s2, s3, s4)을 선택하는 것을 가정하였다.
다음으로, 사용자의 제1 위치 직교 좌표(P)의 주변의 4개의 점들(s1, s2, s3, s4) 각각에 대하여 앞서 설명한 회전 행렬을 적용하여 4개의 점들의 제2 위치(s1', s2', s3', s4')들을 식별할 수 있다(708).
다음으로, 적용하여 4개의 점들의 제2 위치(s1', s2', s3', s4')들을 구형 좌표로 변환할 수 있다(709). 앞서 설명한 직교 좌표에서 구형 좌표로의 변환 방법을 적용하여 4개의 점들의 제2 위치(s1', s2', s3', s4')들을 구형 좌표로 변환할 수 있다.
4개의 점들의 제2 위치들의 구형 좌표로부터 4개의 제2 위치 Φ값(Φs1', Φs2', Φs3', Φs4')를 구할 수 있다. 이 4개의 제2 위치 Φ값의 평균 값을 계산할 수 있다(710). 4개의 제2 위치 Φ값의 평균 값은 [수학식 22] 내지 [수학식 25]를 사용하여 구할 수 있다.
Figure 112017116944434-pat00069
Figure 112017116944434-pat00070
Figure 112017116944434-pat00071
Figure 112017116944434-pat00072
여기서
Figure 112017116944434-pat00073
는 가중치를 나타내며, 사용자의 제1 위치 직교 좌표(P)로부터 거리에 반비례 하도록
Figure 112017116944434-pat00074
를 설정할 수 있다.
이렇게 구한
Figure 112017116944434-pat00075
를 사용자의 제2 위치(P')의 구형 좌표(1, Φ2, θ2)의 Φ2에 대응된다고 하고, θ2는 상기 [수학식 16]을 사용하여 구함으로써 사용자의 제2 위치(P')의 구형 좌표(1, Φ2, θ2)를 획득할 수 있다.
이하, 도 10 내지 도 12를 참고하여 본 개시의 일 실시예에 따른 가상 현실 콘텐츠를 제작하는 방법에 대하여 설명한다. 앞서 설명한 실시예와 동일한 부분의 설명은 생략한다.
도 10은 본 개시의 일 실시예에 따른 가상 현실 콘텐츠를 제작하는 방법을 개략적으로 나타낸 도면이다. 도 11은 본 개시의 일 실시예에 따른 가상 현실 콘텐츠에 포함된 시각적 콘텐츠를 제작하기 위한 이미지를 캡쳐하기 위한 장치를 나타낸 도면이다. 도 12는 다양한 2D(2-dimensional) 프로젝션(projection) 방법 및 2D(2-dimensional) 프로젝션 이미지(projection picture)의 예시를 나타낸 도면이다.
먼저 도 10의 (a)와 같은 가상의 구형의 투영 구조에 캡쳐한 이미지를 스티치(stitch) 할 수 있다. 스티치란, 투영 구조의 표면을 덮도록 캡쳐한 이미지를 배열하는 것을 의미할 수 있다. 도 10의 (a)와 같은 구형의 투영 구조에 투영하기 위해서 이미지는 다방향에서 캡쳐될 수 있다.
도 11을 참고하면, 도 11의 (a)와 같이 사면체(tetrahedron)의 각 면에 카메라가 위치하는 사면체 카메라로 이미지를 캡쳐할 수 있다. 또는 도 11의 (b)와 같이 육면체(cube)의 각 면에 카메라가 위치하는 육면체 카메라로 이미지를 캡쳐할 수 있다. 또는 도 11의 (c)와 같이 12면체(dodecahedron)의 각 면에 카메라가 위치하는 12면체 카메라로 이미지를 캡쳐할 수 있다. 그러나 이미지를 캡쳐하는 장치 및 방법은 이에 한정되지 않으며, 다방향의 이미지를 캡쳐하는 장치 및 방법이라면 적용이 가능하다.
다시 도 10의 (b)를 참고하면, 복수의 캡쳐된 다방향 이미지가 도 10의 (a)의 가상의 구형의 투영 구조 표면에 스티치(stitch)되면, 도 10의 (b)와 같이 가상의 구형 투형 구조의 좌표축을 회전할 수 있다. 이러한 구형 투형 구조의 좌표축의 회전은 사용자의 뷰 포인트가 이동한 경우 수행될 수 있다. 이 때, 가상의 구형 투영 구조의 좌표축을 회전하는 방법으로는 앞서 도 1 내지 도 7을 참고하여 설명한 회전 행렬을 이용한 실시예의 방법이 적용될 수 있다.
이미지가 스티치된 가상의 구형의 투영 구조의 좌표축을 회전한 후, 도 10의 (c)와 같이 가상의 구형의 투영 구조 상에 스티치된 이미지를 2D(2-dimensional) 프로젝션 이미지(projection picture)로 변환한다.
이하 도 12를 참고하여, 본 개시의 일 실시예에 따른 2D 프로젝션 이미지로의 변환 방법을 설명한다.
도 12의 (a)를 보면, 가상의 구형의 투영 구조 상에 스티치된 이미지를 2D평면 상에서 이어 붙여 사면체 2D 프로젝션 이미지(1201)를 제작할 수 있다. 이 때, 가상의 구형의 투영 구조 상에 스티치된 이미지는 사면체 카메라로 캡쳐되었던 것일 수 있다.
또한, 가상의 구형의 투영 구조 상에 스티치된 이미지를 2D평면 상에서 이어 붙여 육면체 2D 프로젝션 이미지(1202)를 제작할 수 있다. 이 때, 가상의 구형의 투영 구조 상에 스티치된 이미지는 육면체 카메라로 캡쳐되었던 것일 수 있다. 도 12의 (b)는 육면체 2D 프로젝션 이미지(1202)의 예시를 나타낸 도면이다.
또한, 가상의 구형의 투영 구조 상에 스티치된 이미지를 2D평면 상에서 이어 붙여 팔면체(octahedron) 2D 프로젝션 이미지(1203)를 제작할 수 있다. 이 때, 가상의 구형의 투영 구조 상에 스티치된 이미지는 팔면체 카메라로 캡쳐되었던 것일 수 있다.
또한, 가상의 구형의 투영 구조 상에 스티치된 이미지를 2D평면 상에서 이어 붙여 12면체 2D 프로젝션 이미지(1204)를 제작할 수 있다. 이 때, 가상의 구형의 투영 구조 상에 스티치된 이미지는 12면체 카메라로 캡쳐되었던 것일 수 있다.
또한, 가상의 구형의 투영 구조 상에 스티치된 이미지를 2D평면 상에서 이어 붙여 20면체(icosahedron) 2D 프로젝션 이미지(1205)를 제작할 수 있다. 이 때, 가상의 구형의 투영 구조 상에 스티치된 이미지는 20면체 카메라로 캡쳐되었던 것일 수 있다.
그러나, 2D 프로젝션 이미지를 제작하는 방법은 이에 한정되지 않으며, 도 12에 개시되어 있지 않더라도 다 방향으로 이미지를 캡쳐하여 2D 평면 상에 투영하는 방법이라면 사용이 가능하다.
구형의 투영 구조 상에 스티치된 이미지를 2D 프로젝션 이미지로 변환하는 시스템의 일 예시는 [표 1]과 같을 수 있다. 다만, 이는 일 예시에 불과하며 이에 한정되지 않는다.
Figure 112017116944434-pat00076
다시 도 10의 (d)를 참고하면, 2D 프로젝션 이미지를 패킹(packing)하여 패킹된 이미지(packed picture)를 제작할 수 있다. 패킹이란, 2D 프로젝션 이미지의 구역(region)을 나눠서 재 맵핑(remap)하는 방법으로, 변형(transformation), 리사이징(resizing), 재배치(relocating) 등을 포함한다. 패킹은 가상 현실 콘텐츠를 MMT(MPEG Media Transport) 방법 또는 DASH(MPEG Dynamic Adaptive Streaming over HTTP) 방법으로 전송하기 위해 수행될 수 있다.
또한, 2D 프로젝션 이미지를 패킹할 때, 도 10의 (d)와 같이 위치 별로 가중치를 부여할 수 있으며, 도 10의 (d)은 1영역, 3영역 보다 2영역에 가중치가 부여되어 패킹이 수행된 것일 수 있다. 이 때, 2영역에 사용자의 뷰포인트가 위치할 수 있다. 2D 프로젝션 이미지 또는 패킹된 이미지에서 가운데 부분이 모서리 부분보다 렌더링을 위한 복원시 손실이 적을 수 있다.
또한, 패킹 방법은 이에 한정되지 않으며, 다양한 패킹 방법의 적용이 가능하다. 일 예로 2D 프로젝션 이미지의 전체를 패킹할 수도 있고, 사용자의 이동된 뷰 포인트의 위치를 중심으로 뷰포트 또는 시야갹(FOV) 영역만큼만 패킹할 수도 있다. 또한, 청각적 콘텐츠 등의 다른 콘텐츠 정보도 같이 패킹될 수 있다.
이렇게 패킹된 데이터가 가상 현실 콘텐츠일 수 있고, 이러한 패킹된 테이터는 서버로부터 MMT 방법 또는 DASH 방법으로 가상 현실 장치에게 전송될 수 있다.
패킹된 데이터를 수신한 가상 현실 장치는 가상 현실 콘텐츠를 렌더링(rendering)하기 위해 패킹된 데이터를 제작한 방법을 역 순서로 수행할 수 있다.
가상 현실 장치는 패킹된 데이터를 언 패킹(unpacking)할 수 있다. 패킹된 데이터를 언 패킹하는 시스템의 일 예시는 [표 2] 또는 [표 3] 내지 [표 4]와 같을 수 있다. 다만, 이는 일 예시에 불과하며 이에 한정되지 않는다.
Figure 112017116944434-pat00077
Figure 112017116944434-pat00078
Figure 112017116944434-pat00079
가상 현실 장치는 패킹된 데이터를 언 패킹하기 위한 정보를 서버로부터 수신할 수 있다. 언 패킹하기 위한 정보의 일 예시는 [표 5]과 같을 수 있다. 다만, 이는 일 예시에 불과하며 이에 한정되지 않는다.
Figure 112017116944434-pat00080
[표 5]의 시멘틱(semantic)은 [표 6] 내지 [표 8]과 같을 수 있다.
Figure 112017116944434-pat00081
Figure 112017116944434-pat00082
Figure 112017116944434-pat00083
가상 현실 장치는 언 패킹된 2D 프로젝션 이미지를 가상의 구형 투영 구조에 매핑할 수 있다. 2D 프로젝션 이미지를 가상의 구형 투영 구조에 매핑하는 시스템의 일 예시는 [표 9]과 같을 수 있다. 다만, 이는 일 예시에 불과하며 이에 한정되지 않는다.
Figure 112017116944434-pat00084
가상 현실 장치는 2D 프로젝션 이미지를 투영 구조에 매핑하기 위한 정보를 서버로부터 수신할 수 있다. 2D 프로젝션 이미지에 대한 정보의 일 예시는 [표 10] 내지 [표 12]와 같을 수 있다. 다만, 이는 일 예시에 불과하며 이에 한정되지 않는다.
Figure 112017116944434-pat00085
Figure 112017116944434-pat00086
Figure 112017116944434-pat00087
가상 현실 장치는 2D 프로젝션 이미지를 가상의 구형 투영 구조에 매핑한 가상 현실 콘텐츠를 사용자에게 제공할 수 있다.
앞서 도 10 내지 도 12를 참고하여 본 개시의 일 실시예에 따른 가상 현실 콘텐츠를 제작하는 방법 및 이의 전송 방법에 대하여 설명하였으나, 이는 일 예시에 불과하며 다양한 변경이 가능하다. 예를 들어, 가상 현실 콘텐츠를 서버로부터 수신할 필요 없이 가상 현실 장치의 메모리부가 포함하는 경우, 가상 현실 콘텐츠를 2D 프로젝션하고 패킹하여 전송하는 과정은 생략될 수 있다. 또한, 상술한 실시예에서는 캡쳐된 이미지를 구형 투영 구조에 스티치 한뒤 좌표를 회전하고 2D 프로젝션 이미지를 제작하여 패킹하고 전송하였으나, 캡쳐된 이미지로 2D 프로젝션 이미지를 제작하여 2D 프로젝션 이미지 상에서 제1 뷰포인트 및 이동 후의 제2 뷰포인트의 위치를 특정하여 2D 프로젝션 이미지를 패킹하여 전송할 수도 있다.
이하, 도 13을 참조하여 본 개시의 일 실시예에 따른 가상 현실 장치의 구성을 설명한다.
도 13은 본 개시의 일 실시예에 따른 가상 현실 장치의 구성을 개략적으로 나타낸 도면이다.
가상 현실 장치(1300)는 가상 현실 장치(1300)의 움직임을 측정하는 위치 센서(1301), 가상 현실 콘텐츠를 저장하는 메모리부(1302), 가상 현실 장치(1300)의 모든 동작을 제어하는 제어부(1303), 사용자에게 제공되는 가상 현실 콘텐츠가 표시되는 디스플레이 화면을 포함하는 표시부(1304) 및 서버 등과 신호 송수신을 수행하는 송수신부(1305)를 포함할 수 있다.
본 개시에서 상술된 가상 현실 장치(1300)에서 수행되는 모든 기법 또는 방법들은 상기 제어부(1303)의 제어에 의해 수행되는 것으로 이해될 수 있다.
본 개시에서 상술된 가상 현실 콘텐츠는 상기 메모리부(1302)에 일시적 또는 반영구적으로 전체 또는 일부가 저장되어 있을 수 있다. 또한, 본 개시에서 상술된 가상 현실 장치(1300)에서 수행되는 모든 기법 또는 방법들에 대한 알고리즘이 상기 메모리부(1302)에 일시적 또는 반영구적으로 전체 또는 일부가 저장되어 있을 수 있다.
그러나, 상기 위치 센서(1301), 상기 메모리부(1302), 상기 제어부(1303), 상기 표시부(1304) 및 상기 송수신부(1305)은 반드시 별도의 장치로 구현되어야 하는 것은 아니고, 단일 칩과 같은 형태로써 하나의 구성부로 구현될 수 있음은 물론이다. 나아가, 상기 위치 센서(1301), 상기 메모리부(1302), 상기 제어부(1303), 상기 표시부(1304) 및 상기 송수신부(1305)은 반드시 모두 포함되어야 하는 것은 아니고 일부는 생략될 수 있다.
도 14는 본 개시의 일 실시예에 따른 서버의 구성을 개략적으로 도시한 도면이다.
서버(1400)는 가상 현싱 장치와 신호 송수신을 수행하는 송수신부(1401)와, 가상 현실 콘텐츠를 저장하는 메모리부(1402), 서버(1400)의 모든 동작을 제어하는 제어부(1403)을 포함할 수 있다. 본 개시에서 상술된 서버에서 수행되는 모든 기법 또는 방법들은 상기 제어부(1403)의 제어에 의해 수행되는 것으로 이해될 수 있다.
본 개시에서 상술된 가상 현실 콘텐츠는 상기 메모리부(1402)에 일시적 또는 반영구적으로 전체 또는 일부가 저장되어 있을 수 있다. 또한, 본 개시에서 상술된 서버에서 수행되는 모든 기법 또는 방법들에 대한 알고리즘이 상기 메모리부(1402)에 일시적 또는 반영구적으로 전체 또는 일부가 저장되어 있을 수 있다.
그러나, 상기 제어부(1403), 상기 메모리부(1402) 및 상기 송수신부(1401)는 반드시 별도의 장치로 구현되어야 하는 것은 아니고, 단일 칩과 같은 형태로써 하나의 구성부로 구현될 수 있음은 물론이다.
상기 도 1 내지 도 14가 예시하는 방법 예시도, 시스템의 구성도, 장치 구성도 등은 본 개시의 권리범위를 한정하기 위한 의도가 없음을 유의하여야 한다. 즉, 상기 도 1 내지 도 14에 기재된 모든 구성 또는 동작이 본 개시의 실시를 위한 필수 구성요소인 것으로 해석되어서는 안되며, 일부 구성요소 만을 포함하여도 본 개시의 본질을 해치지 않는 범위 내에서 구현될 수 있다.
앞서 설명한 동작들은 해당 프로그램 코드를 저장한 메모리 장치를 서버 또는 가상 현실 장치 내의 임의의 구성부에 구비함으로써 실현될 수 있다. 즉, 서버 또는 가상 현실 장치의 제어부는 메모리 장치 내에 저장된 프로그램 코드를 프로세서 혹은 CPU(Central Processing Unit)에 의해 읽어내어 실행함으로써 앞서 설명한 동작들을 실행할 수 있다.
본 명세서에서 설명되는 서버 또는 가상 현실 장치의 다양한 구성부들과, 모듈(module)등은 하드웨어(hardware) 회로, 일 예로 상보성 금속 산화막 반도체(complementary metal oxide semiconductor) 기반 논리 회로와, 펌웨어(firmware)와, 소프트웨어(software) 및/혹은 하드웨어와 펌웨어 및/혹은 머신 판독 가능 매체에 삽입된 소프트웨어의 조합과 같은 하드웨어 회로를 사용하여 동작될 수도 있다. 일 예로, 다양한 전기 구조 및 방법들은 트랜지스터(transistor)들과, 논리 게이트(logic gate)들과, 주문형 반도체와 같은 전기 회로들을 사용하여 실시될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
1300: 가상 현실 장치
1301: 위치 센서
1302: 메모리부
1303:제어부
1304: 표시부
1305: 송수신부
1400: 서버
1401: 송수신부
1402: 메모리부
1403: 제어부

Claims (20)

  1. 전자 장치에 의해 가상 현실(VR) 콘텐츠를 처리하기 위한 방법에 있어서,
    상기 VR 콘텐츠 상에서 제1 구형 좌표를 갖는 제1 위치의 제1 직교 좌표를 식별하는 단계;
    z 축 주변의 회전을 나타내는 요우(yaw) 회전컴포넌트, y 축 주변의 회전을 나타내는 피치(pitch) 회전 컴포넌트, 및 x 축 주변의 회전을 나타내는 롤(roll) 회전 컴포넌트를 포함하는 회전 정보를 식별하는 단계;
    상기 제1 직교 좌표 및 상기 회전 정보에 기초하여 제2 위치의 제2 직교 좌표를 식별하는 단계;
    상기 제2 위치의 상기 제2 직교 좌표를 상기 제 2 위치의 제2 구형 좌표로 변환하는 단계; 및
    상기 제2 위치의 상기 제2 구형 좌표에 기초하여 상기 VR 콘텐츠의 영역을 렌더링하는 단계를 포함하고,
    상기 제2 위치의 상기 제2 직교 좌표는 상기 제1 직교 좌표에 아래에 의해 정의되는 매트릭스를 곱하는 것에 의해 식별되고,
    Figure 112021151246387-pat00110

    p는 상기 롤 회전 컴포넌트에 대응하는 각도이고, q는 상기 피치 회전 컴포넌트에 대응하는 각도이고, 그리고 v는 상기 요우 회전 컴포넌트에 대응하는 각도인,
    방법.
  2. 제1 항에 있어서,
    상기 제1 위치의 상기 제1 구형 좌표를 상기 제1 위치의 상기 제1 직교 좌표로 변환하는 단계를 더 포함하는,
    방법.
  3. 제1 항에 있어서,
    상기 제1 위치 및 상기 제2 위치는 상기 VR 콘텐츠와 관련된 뷰 포인트들인,
    방법.
  4. 제1 항에 있어서,
    상기 회전 정보는 상기 제1 위치에 대한 상기 전자 장치의 사용자의 상대적인 움직임을 추정하는 것에 의해 식별되는,
    방법.
  5. 제1 항에 있어서,
    상기 전자 장치는 상기 VR 콘텐츠를 사용자에게 제공하는 디스플레이를 포함하며,
    상기 영역은 상기 디스플레이를 통하여 상기 사용자에게 제공되는,
    방법.
  6. 제1 항에 있어서,
    상기 제2 위치의 상기 제2 구형 좌표에 대한 정보를 서버에 전송하는 단계; 및
    상기 가상 현실 콘텐츠에서 상기 제2 위치의 상기 제2 구형 좌표에 대응되는 영역에 대한 정보를 상기 서버로부터 수신하는 단계를 더 포함하는,
    방법
  7. 가상 현실(VR) 콘텐츠를 처리하기 위한 전자 장치에 있어서,
    디스플레이; 및
    상기 디스플레이에 연결된 프로세서를 포함하고, ,
    상기 프로세서는,
    상기 VR 콘텐츠 상에서 제1 구형 좌표를 갖는 제1 위치의 제1 직교 좌표를 식별하고;
    z 축 주변의 회전을 나타내는 요우(yaw) 회전컴포넌트, y 축 주변의 회전을 나타내는 피치(pitch) 회전 컴포넌트, 및 x 축 주변의 회전을 나타내는 롤(roll) 회전 컴포넌트를 포함하는 회전 정보를 식별하고;
    상기 제1 직교 좌표 및 상기 회전 정보에 기초하여 제2 위치의 제2 직교 좌표를 식별하고;
    상기 제2 위치의 상기 제2 직교 좌표를 상기 제 2 위치의 제2 구형 좌표로 변환하고; 그리고
    상기 제2 위치의 상기 제2 구형 좌표에 기초하여 상기 VR 콘텐츠의 영역을 렌더링하도록 구성되고,
    상기 제2 위치의 상기 제2 직교 좌표는 상기 제1 직교 좌표에 아래에 의해 정의되는 매트릭스를 곱하는 것에 의해 식별되고,
    Figure 112021151246387-pat00111

    p는 상기 롤 회전 컴포넌트에 대응하는 각도이고, q는 상기 피치 회전 컴포넌트에 대응하는 각도이고, 그리고 v는 상기 요우 회전 컴포넌트에 대응하는 각도인,
    전자 장치.
  8. 제7 항에 있어서,
    상기 프로세서는, 상기 제1 위치의 상기 제1 구형 좌표를 상기 제1 위치의 상기 제1 직교 좌표로 변환하도록 추가로 구성되는,
    전자 장치.
  9. 제7 항에 있어서,
    상기 제1 위치 및 상기 제2 위치는 상기 VR 콘텐츠와 관련된 뷰 포인트들인,
    전자 장치.
  10. 제7 항에 있어서,
    상기 회전 정보는 상기 제1 위치에 대한 상기 전자 장치의 사용자의 상대적인 움직임을 추정하는 것에 의해 식별되는,
    전자 장치.
  11. 제7 항에 있어서,
    상기 디스플레이는 상기 영역을 사용자에게 제공하는 구성되는,
    전자 장치.
  12. 제7 항에 있어서,
    상기 전자 장치는 송수신기를 더 포함하며,
    상기 송수신기는, 상기 제2 위치의 상기 제2 구형 좌표에 대한 정보를 서버에 전송하고, 그리고 상기 VR 콘텐츠에서 상기 제2 위치의 상기 제2 구형 좌표에 대응되는 영역에 대한 정보를 상기 서버로부터 수신하도록 구성되는,
    전자 장치.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020170157376A 2017-04-28 2017-11-23 콘텐츠를 제공하기 위한 방법 및 이를 위한 장치 KR102402046B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201880027466.7A CN110574369B (zh) 2017-04-28 2018-04-27 提供内容的方法及其装置
PCT/KR2018/004966 WO2018199701A1 (en) 2017-04-28 2018-04-27 Method for providing content and apparatus therefor
EP18792095.4A EP3616400B1 (en) 2017-04-28 2018-04-27 Method for providing content and apparatus therefor
US15/966,941 US10545570B2 (en) 2017-04-28 2018-04-30 Method for providing content and apparatus therefor

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR1020170055773 2017-04-28
KR20170055773 2017-04-28
US201762529851P 2017-07-07 2017-07-07
US62/529,851 2017-07-07

Publications (2)

Publication Number Publication Date
KR20180121323A KR20180121323A (ko) 2018-11-07
KR102402046B1 true KR102402046B1 (ko) 2022-05-26

Family

ID=64363179

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170157376A KR102402046B1 (ko) 2017-04-28 2017-11-23 콘텐츠를 제공하기 위한 방법 및 이를 위한 장치

Country Status (1)

Country Link
KR (1) KR102402046B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015155406A1 (en) * 2014-04-07 2015-10-15 Nokia Technologies Oy Stereo viewing

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5430806A (en) * 1993-09-07 1995-07-04 Loral Vought Systems Corporation System for changing perspective of 3-D images obtained from reflected energy signals

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015155406A1 (en) * 2014-04-07 2015-10-15 Nokia Technologies Oy Stereo viewing

Also Published As

Publication number Publication date
KR20180121323A (ko) 2018-11-07

Similar Documents

Publication Publication Date Title
US11928838B2 (en) Calibration system and method to align a 3D virtual scene and a 3D real world for a stereoscopic head-mounted display
US10545570B2 (en) Method for providing content and apparatus therefor
EP3619599B1 (en) Virtual content displayed with shared anchor
CA2888943C (en) Augmented reality system and method for positioning and mapping
JP6643357B2 (ja) 全球状取込方法
US10127725B2 (en) Augmented-reality imaging
US8933931B2 (en) Distributed asynchronous localization and mapping for augmented reality
US10007349B2 (en) Multiple sensor gesture recognition
US11282264B2 (en) Virtual reality content display method and apparatus
CN109668545B (zh) 用于头戴式显示装置的定位方法、定位器以及定位系统
US9805509B2 (en) Method and system for constructing a virtual image anchored onto a real-world object
US10755472B2 (en) Method and apparatus for displaying image based on user motion information
WO2016095057A1 (en) Peripheral tracking for an augmented reality head mounted device
JP6609640B2 (ja) 電子デバイス上における環境マッピング用のフィーチャ・データの管理
US20190199992A1 (en) Information processing apparatus, method for controlling the same, and recording medium
WO2017113729A1 (zh) 360度图像加载方法、加载模块及移动终端
US20220375110A1 (en) Augmented reality guided depth estimation
KR102475188B1 (ko) 하나의 가상 콘텐츠의 콘텐츠 포즈 결정 방법
US11758100B2 (en) Portable projection mapping device and projection mapping system
CN112308981A (zh) 图像处理方法、装置、电子设备及存储介质
KR102402046B1 (ko) 콘텐츠를 제공하기 위한 방법 및 이를 위한 장치
EP3616400B1 (en) Method for providing content and apparatus therefor
KR101741149B1 (ko) 가상 카메라의 시점 제어 방법 및 장치
JP7465133B2 (ja) 情報処理装置、情報処理方法
Bingham An Interest Point Based Illumination Condition Matching Approach to Photometric Registration Within Augmented Reality Worlds

Legal Events

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