KR20200116224A - 360 degree image storing method and rendering method using viewpoint transformation - Google Patents

360 degree image storing method and rendering method using viewpoint transformation Download PDF

Info

Publication number
KR20200116224A
KR20200116224A KR1020190037679A KR20190037679A KR20200116224A KR 20200116224 A KR20200116224 A KR 20200116224A KR 1020190037679 A KR1020190037679 A KR 1020190037679A KR 20190037679 A KR20190037679 A KR 20190037679A KR 20200116224 A KR20200116224 A KR 20200116224A
Authority
KR
South Korea
Prior art keywords
images
viewpoint
degree
converted
retreat
Prior art date
Application number
KR1020190037679A
Other languages
Korean (ko)
Other versions
KR102209907B1 (en
Inventor
박기영
Original Assignee
재단법인 다차원 스마트 아이티 융합시스템 연구단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 재단법인 다차원 스마트 아이티 융합시스템 연구단 filed Critical 재단법인 다차원 스마트 아이티 융합시스템 연구단
Priority to KR1020190037679A priority Critical patent/KR102209907B1/en
Publication of KR20200116224A publication Critical patent/KR20200116224A/en
Application granted granted Critical
Publication of KR102209907B1 publication Critical patent/KR102209907B1/en

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/189Recording image signals; Reproducing recorded image signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

Disclosed are a 360-degree image storage method and rendering method using a viewpoint change for removing holes generated in an occlusion area in the rendering process of an existing volumetric VR technique. The 360-degree image storage method according to an embodiment is characterized in performing a backward viewpoint change on images each photographed from a plurality of cameras included in a 360-degree camera system, and filling holes of each of the images on which the backward viewpoint change is performed to store the same. The 360-degree image rendering method according to an embodiment is characterized in loading the images each photographed from the plurality of cameras included in the 360-degree camera system and on which the backward viewpoint change is performed, and performing a forward viewpoint change on each of the images on which the backward viewpoint change is performed.

Description

시점 변환을 이용하는 360도 영상 저장 방법 및 렌더링 방법{360 DEGREE IMAGE STORING METHOD AND RENDERING METHOD USING VIEWPOINT TRANSFORMATION}360-degree image storage method and rendering method using viewpoint transformation {360 DEGREE IMAGE STORING METHOD AND RENDERING METHOD USING VIEWPOINT TRANSFORMATION}

아래의 설명은 360도 영상 저장 방법 및 렌더링 방법에 관한 것으로, 보다 상세하게는 360도 카메라 시스템에서 시점 변환(Viewpoint transformation)을 이용하여 360도 영상을 저장하고 렌더링하는 기술에 대한 것이다.The following description relates to a 360-degree image storage method and a rendering method, and more particularly, a technology for storing and rendering a 360-degree image using a viewpoint transformation in a 360-degree camera system.

360도 카메라 시스템은 가상현실을 체험할 수 있는 가로 360도 및 세로 180도 화각의 전방위 영상을 촬영 및 제공한다. 이를 위해, 360도 카메라 시스템은 원형 또는 구형으로 배치되는 복수의 카메라들로 구성되며, 복수의 카메라들 각각이 촬영한 영상들을 광학흐름(optical flow)을 이용하는 방식 또는 특징점들을 검출하여 정렬(alignment)하는 방식을 통해 스티칭(Stitching)함으로써 단안 또는 양안 전방위 영상을 형성한다.The 360-degree camera system captures and provides 360-degree horizontal and 180-degree vertical angle of view images that allow you to experience virtual reality. To this end, the 360-degree camera system is composed of a plurality of cameras arranged in a circular or spherical shape, and the images captured by each of the plurality of cameras are aligned by using an optical flow or by detecting feature points. A monocular or binocular omnidirectional image is formed by stitching through the method.

이러한 360도 카메라 시스템에 의해 제공되는 전방위 영상은, 주로 스테레오 디스플레이 장치인 HMD(Head-mounted display)를 사용하여 감상할 수 있다. HMD는 사용자의 머리의 움직임을 3방향의 이동 및 3축의 회전으로 측정하여 사용자의 시선 방향을 결정하고, 전방위 영상 중 사용자의 시선 방향에 해당하는 부분 영상을 사용자에게 디스플레이한다.An omnidirectional image provided by such a 360-degree camera system can be viewed mainly using a head-mounted display (HMD), which is a stereo display device. The HMD determines the user's gaze direction by measuring the movement of the user's head in 3 directions and rotation in 3 axes, and displays a partial image corresponding to the user's gaze direction among all-round images to the user.

그러나 전방위 영상은 촬영이 이루어졌던 카메라의 시점(viewpoint)에서의 영상만 제공하므로 사용자의 머리 움직임 중 3축의 회전에 대한 경험만을 제공할 수 있고 3방향의 움직임에 대한 경험을 제공하지 못하는 문제점이 있다.However, since the omnidirectional image provides only the image from the viewpoint of the camera where the shooting was taken, there is a problem in that it can only provide the experience for the rotation of three axes among the movement of the user's head, and the experience for the movement in the three directions cannot be provided. .

이에, 6자유도(3방향의 이동 및 3축의 회전)의 움직임에 대한 경험을 제공하는 Volumetric VR 기술이 제안되었다. Volumetric VR 기술은 좌우 영상을 포함하는 전방위 영상을 미리 생성하여 저장해두는 대신에, 360도 카메라 시스템에 의해 촬영된 컬러 영상과 함께 이에 대응되는 깊이 맵(Depth map)을 저장해두고, DIBR(Depth image-based rendering) 기법을 이용하여 실시간으로 좌우 영상을 렌더링하여 제공하는 기술이다.Accordingly, a Volumetric VR technology has been proposed that provides an experience for movement of 6 degrees of freedom (movement in three directions and rotation in three axes). Volumetric VR technology saves a color image captured by a 360-degree camera system and a corresponding depth map, instead of pre-creating and storing omnidirectional images including left and right images, and storing the corresponding depth map (DIBR). It is a technology that renders and provides left and right images in real time using the based rendering) technique.

다만, DIBR 기법으로 새로운 시점의 영상을 렌더링하는 방법은 시점 변화에 따라 전경에 의해 가려졌던 오클루전(Occlusion) 영역에서 홀이 발생하는 문제를 가지며, 이를 해결하기 위해서 홀이 발생된 영역의 주변 영역의 정보를 이용하여 홀을 채우는 방식이 제안되었다. 그러나 해당 방식만이 이용되어 홀이 채워지는 경우, 영상에서 눈에 띄는 결함(artifacts)으로 나타날 수 있는 바, 오클루전 영역에서 홀이 발생되는 문제(Disocclusion problem)를 해결하기 위한 새로운 방식이 제안될 필요가 있다.However, the method of rendering an image of a new viewpoint using the DIBR technique has a problem that a hole occurs in the occlusion area that was covered by the foreground according to the change of view, and to solve this problem, A method of filling the hole using the information of the area has been proposed. However, if only the corresponding method is used and the hole is filled, it can appear as noticeable artifacts in the image, so a new method is proposed to solve the disocclusion problem in the occlusion area. Need to be.

따라서, 아래의 실시예들은 렌더링 과정에서 오클루전 영역에서 발생되는 홀을 제거할 수 있는 기술을 제안하고자 한다.Accordingly, the following embodiments are intended to propose a technique capable of removing a hole generated in an occlusion area during a rendering process.

일 실시예들은 종래의 Volumetric VR 기술의 렌더링 과정에서 오클루전 영역에서 발생되는 홀을 제거할 수 있는 기술을 제안한다.Embodiments propose a technique capable of removing a hole generated in an occlusion area in a rendering process of a conventional Volumetric VR technique.

보다 상세하게, 일 실시예들은 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들을 원래 시점보다 후퇴된 시점으로 변환하는 후퇴 시점 변환을 수행한 뒤, 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채워 저장하는 360도 영상 저장 방법과 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들을 로드한 뒤, 영상들의 깊이 맵을 이용하여 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 360도 영상 렌더링 방법을 통해, 오클루전 영역에서 발생되는 홀을 최소화하고 제거하는 기술을 제안하고자 한다.In more detail, in one embodiment, after performing a retreat view conversion in which images captured by a plurality of cameras included in the 360 degree camera system are converted into a view retracted from the original view, each of the converted images A 360-degree image storage method that fills and stores a hole, and images captured by a plurality of cameras included in the 360-degree camera system are retracted by loading the converted images, and then retreating using the depth map of the images. A technique for minimizing and removing holes occurring in the occlusion region is proposed through a 360-degree image rendering method that performs a forward viewpoint transformation on each of the viewpoint-transformed images.

일 실시예에 따르면, 360도 카메라 시스템에 구비되는 컴퓨터에 의해 실행되는 360도 영상 저장 방법은, 상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들과 깊이 맵(Depth map)을 획득하는 단계; 상기 깊이 맵을 이용하여 상기 영상들 각각에 대한 후퇴 시점 변환을 수행하는 단계; 상기 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채우는 단계; 및 상기 홀이 채워진 영상들과 상기 깊이 맵을 저장하는 단계를 포함한다.According to an embodiment, a 360-degree image storage method executed by a computer included in a 360-degree camera system includes images taken by a plurality of cameras included in the 360-degree camera system and a depth map. Obtaining a; Performing a retraction point conversion for each of the images using the depth map; Filling a hole of each of the converted images at the retreat point; And storing the images filled with the hole and the depth map.

일 측면에 따르면, 상기 후퇴 시점 변환된 영상들 각각의 홀을 채우는 단계는, 상기 후퇴 시점 변환된 영상들 각각을 촬영한 카메라와 인접한 카메라에서 촬영된 영상을 이용하여, 상기 후퇴 시점 변환된 영상들 각각의 홀을 채우는 단계를 포함할 수 있다.According to an aspect, the filling of the holes of each of the images converted at the retreat point may include images that have been converted at the retreat point by using an image captured by a camera and an adjacent camera for each of the converted images at the retreat point. It may include filling each hole.

다른 측면에 따르면, 상기 후퇴 시점 변환된 영상들 각각의 홀을 채우는 단계는, 상기 후퇴 시점 변환된 영상들 각각에서 상기 후퇴 시점 변환된 영상들 각각의 홀과 인접한 배경 영역의 정보를 이용하여, 상기 후퇴 시점 변환된 영상들 각각의 홀을 채우는 단계를 포함할 수 있다.According to another aspect, the filling of the holes of each of the images converted at the retreat point may include using information on a background region adjacent to the hole of each of the converted images at the retreat point, It may include filling a hole of each of the converted images at the retreat point.

또 다른 측면에 따르면, 상기 영상들 각각에 대한 후퇴 시점 변환을 수행하는 단계는, 상기 깊이 맵에 기초하여 상기 복수의 카메라들 각각의 초점 거리, 상기 복수의 카메라들 사이의 베이스라인의 길이 및 상기 복수의 카메라들 사이의 시차에 기초한 시점 변환 수식을 설정하는 단계; 상기 시점 변환 수식에서 이동 파라미터-상기 이동 파라미터는 상기 영상들 각각이 촬영된 위치가 가상의 특정 위치로 이동될 때의 이동할 거리와 관련된 값임-를 결정하는 단계; 및 상기 시점 변환 수식을 이용하여, 상기 영상들 각각의 시점을 상기 영상들 각각이 촬영된 위치로부터 후퇴된 위치에서 촬영된 영상의 시점으로 일치하도록 변환하는 단계를 포함할 수 있다.According to another aspect, the performing of the retraction point conversion for each of the images includes a focal length of each of the plurality of cameras, a length of a baseline between the plurality of cameras, and the Setting a viewpoint conversion equation based on a parallax between a plurality of cameras; Determining a movement parameter in the viewpoint conversion equation, wherein the movement parameter is a value related to a moving distance when a position where each of the images is photographed is moved to a virtual specific position; And converting the viewpoint of each of the images to match the viewpoint of the image captured at a position retracted from the position where each of the images was photographed, using the viewpoint conversion equation.

또 다른 측면에 따르면, 상기 시점 변환 수식에서 이동 파라미터를 결정하는 단계는, 상기 복수의 카메라들 각각의 광학 중심이 상기 360도 카메라 시스템 상 상기 복수의 카메라들이 배치되는 원 또는 구의 중심 위치로 이동될 때의 이동할 거리에 기초하여 상기 이동 파라미터를 결정하는 단계일 수 있다.According to another aspect, in the determining of the movement parameter in the viewpoint conversion equation, the optical center of each of the plurality of cameras may be moved to a center position of a circle or sphere in which the plurality of cameras are arranged on the 360 degree camera system. It may be a step of determining the movement parameter based on the distance to be moved at the time.

또 다른 측면에 따르면, 상기 영상들 각각의 시점을 상기 영상들 각각이 촬영된 위치로부터 후퇴된 위치에서 촬영된 영상의 시점으로 일치하도록 변환하는 단계는, 상기 영상들 각각의 시점을 상기 360도 카메라 시스템 상 상기 복수의 카메라들이 배치되는 원 또는 구의 중심 위치에서 촬영된 영상의 시점으로 변환하는 단계일 수 있다.According to another aspect, the step of converting the viewpoints of each of the images to coincide with the viewpoints of the images photographed at the positions retracted from the positions at which each of the images was photographed, comprises: It may be a step of converting a viewpoint of an image captured from a center position of a circle or sphere in which the plurality of cameras are arranged on the system.

또 다른 측면에 따르면, 상기 360도 영상 저장 방법은, 상기 깊이 맵에 대한 후퇴 시점 변환을 수행하는 단계를 더 포함할 수 있다.According to another aspect, the method of storing the 360-degree image may further include performing a retraction point conversion for the depth map.

또 다른 측면에 따르면, 상기 360도 영상 저장 방법은, 상기 홀이 채워진 영상들에 기초하여 상기 깊이 맵의 홀을 채우는 단계를 더 포함할 수 있다.According to another aspect, the method of storing a 360-degree image may further include filling a hole of the depth map based on images filled with the hole.

또 다른 측면에 따르면, 상기 깊이 맵은, 상기 복수의 카메라들에서 각각 촬영된 영상들에 대응하여 복수 개로 획득되고, 상기 깊이 맵의 홀을 채우는 단계는, 상기 복수의 깊이 맵들 각각의 홀을 채우는 단계이며, 상기 360도 영상 저장 방법은, 상기 홀이 채워진 깊이 맵들을 스티칭하여 360도 전방위 깊이 맵을 생성하는 단계를 더 포함할 수 있다.According to another aspect, a plurality of depth maps are obtained corresponding to images respectively photographed by the plurality of cameras, and the step of filling the holes of the depth map includes filling holes of each of the plurality of depth maps. The 360-degree image storage method may further include generating a 360-degree omnidirectional depth map by stitching the depth maps filled with the holes.

또 다른 측면에 따르면, 상기 360도 영상 저장 방법은, 상기 홀이 채워진 영상들을 스티칭하여 360도 전방위 영상을 생성하는 단계를 더 포함할 수 있다.According to another aspect, the method for storing a 360-degree image may further include generating a 360-degree omnidirectional image by stitching the images filled with the hole.

일 실시예에 따르면, 컴퓨터와 결합되어 360도 영상 저장 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 360도 영상 저장 방법은, 상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들과 깊이 맵(Depth map)을 획득하는 단계; 상기 깊이 맵을 이용하여 상기 영상들 각각에 대한 후퇴 시점 변환을 수행하는 단계; 상기 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채우는 단계; 및 상기 홀이 채워진 영상들과 상기 깊이 맵을 저장하는 단계를 포함한다.According to an embodiment, in a computer program recorded in a computer-readable recording medium to execute a 360-degree image storage method by being combined with a computer, the 360-degree image storage method comprises: Obtaining images and depth maps respectively photographed by the cameras; Performing a retraction point conversion for each of the images using the depth map; Filling a hole of each of the converted images at the retreat point; And storing the images filled with the hole and the depth map.

일 실시예에 따르면, 카메라 시스템에 구비되는 컴퓨터로 구현되는 360도 영상 저장 시스템은, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들과 깊이 맵(Depth map)을 획득하는 획득부; 상기 깊이 맵을 이용하여 상기 영상들 각각에 대한 후퇴 시점 변환을 수행하고, 상기 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채우는 시점 변환 수행부; 및 상기 홀이 채워진 영상들과 상기 깊이 맵을 저장하는 저장부를 포함한다.According to an embodiment, a 360-degree image storage system implemented by a computer included in a camera system includes at least one processor implemented to execute a command readable by a computer, and the at least one processor includes the 360-degree image storage system. An acquisition unit that acquires images captured by a plurality of cameras included in the camera system and a depth map, respectively; A viewpoint conversion performing unit for performing a retreat viewpoint conversion for each of the images using the depth map and filling a hole of each of the retracted viewpoint converted images; And a storage unit for storing images filled with the hole and the depth map.

일 실시예에 따르면, 360도 카메라 시스템에 구비되는 컴퓨터에 의해 실행되는 360도 영상 렌더링 방법은, 상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들과 깊이 맵을 로드하는 단계; 및 상기 깊이 맵을 이용하여 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계를 포함한다.According to an embodiment, a 360-degree image rendering method executed by a computer included in a 360-degree camera system includes images each captured by a plurality of cameras included in the 360-degree camera system are converted images at a retreat point. Loading a depth map; And performing a forward viewpoint conversion on each of the images converted from the retreat viewpoint using the depth map.

일 측면에 따르면, 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계는, 상기 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환되는 과정에서 발생된 홀을 제거하는 단계일 수 있다.According to an aspect, the performing of the forward viewpoint conversion for each of the images converted at the retreat point is a step of removing a hole generated in the process of converting each of the images captured by the plurality of cameras at the retreat time point. I can.

다른 측면에 따르면, 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계는, 렌더링 과정에서 오클루전(Occlusion) 영역에서 발생되는 홀을 상기 전진 시점 변환에 의해 생성되는 오클루전 영역으로 감추는 단계일 수 있다.According to another aspect, the step of performing the forward viewpoint conversion for each of the images converted at the retreat viewpoint includes a hole generated in an occlusion area during a rendering process, and an occlusion generated by the forward viewpoint conversion. It may be a step of hiding it into an area.

또 다른 측면에 따르면, 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계는, 상기 전진 시점 변환된 영상들 각각에서 상기 전진 시점 변환된 영상들 각각의 홀과 인접한 배경 영역의 정보를 이용하여, 상기 전진 시점 변환된 영상들 각각의 홀을 채우는 단계를 더 포함할 수 있다.According to another aspect, the performing of the forward viewpoint conversion for each of the images converted at the retreat viewpoint includes information on a background region adjacent to a hole of each of the images converted at the advance viewpoint in each of the images converted at the forward viewpoint The method may further include filling a hole of each of the images converted at the forward point of view.

일 실시예에 따르면, 컴퓨터와 결합되어 360도 영상 렌더링 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서, 상기 360도 영상 렌더링 방법은, 상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들과 깊이 맵을 로드하는 단계; 및 상기 깊이 맵을 이용하여 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계를 포함한다.According to an embodiment, in a computer program recorded in a computer-readable recording medium to execute a 360-degree image rendering method by being combined with a computer, the 360-degree image rendering method includes: Loading images and depth maps, each of which images captured by the cameras are converted at retreat points; And performing a forward viewpoint conversion on each of the images converted from the retreat viewpoint using the depth map.

일 실시예에 따르면, 카메라 시스템에 구비되는 컴퓨터로 구현되는 360도 영상 렌더링 시스템은, 컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서는, 상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들과 깊이 맵을 로드하는 로드부; 및 상기 깊이 맵을 이용하여 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 시점 변환 수행부를 포함한다.According to an embodiment, a 360-degree image rendering system implemented by a computer included in a camera system includes at least one processor implemented to execute a command readable by a computer, and the at least one processor includes the 360-degree image rendering system. A loading unit for loading images and depth maps, each of which images captured by a plurality of cameras included in the camera system are converted at retreat points; And a viewpoint conversion performing unit for performing a forward viewpoint conversion on each of the images converted from the retreat viewpoint using the depth map.

일 일 실시예들은 종래의 Volumetric VR 기술의 렌더링 과정에서 오클루전 영역에서 발생되는 홀을 제거할 수 있는 기술을 제안할 수 있다.One embodiment may propose a technique capable of removing a hole generated in an occlusion area in a rendering process of a conventional Volumetric VR technique.

보다 상세하게, 일 실시예들은 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들에 대해 후퇴 시점 변환을 수행한 뒤, 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채워 저장하는 360도 영상 저장 방법과 360도 영상 저장 방법에 의해 미리 저장된 후퇴 시점 변환된 영상들을 로드한 뒤, 영상들의 깊이 맵을 이용하여 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 360도 영상 렌더링 방법을 통해, 오클루전 영역에서 발생되는 홀을 최소화하고 제거하는 기술을 제안할 수 있다.In more detail, in one embodiment, after performing a retreat point conversion for images captured by a plurality of cameras included in the 360-degree camera system, each hole of the converted images at the retraction point is filled and stored. After loading the pre-stored retreat view-transformed images by the 360-degree image storage method and the 360-degree image storage method, a 360-degree conversion is performed on each of the images converted at the retreat point by using the depth map of the images. Through the image rendering method, it is possible to propose a technique for minimizing and removing holes generated in the occlusion region.

도 1은 일 실시예에 따른 360도 카메라 시스템을 나타낸 블록도이다.
도 2 내지 3은 일 실시예에 따른 360도 카메라 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 나타낸 블록도이다.
도 4 내지 9는 일 실시예에 따른 360도 영상 저장 방법 및 360도 영상 렌더링 방법을 설명하기 위한 도면이다.
도 10은 일 실시예에 따른 360도 영상 저장 방법을 나타낸 플로우 차트이다.
도 11은 일 실시예에 따른 360도 영상 렌더링 방법을 나타낸 플로우 차트이다.
1 is a block diagram showing a 360 degree camera system according to an embodiment.
2 to 3 are block diagrams illustrating examples of components that may be included in a processor of a 360 degree camera system according to an exemplary embodiment.
4 to 9 are diagrams for explaining a method for storing a 360 degree image and a method for rendering a 360 degree image according to an exemplary embodiment.
10 is a flowchart illustrating a method of storing a 360 degree image according to an exemplary embodiment.
11 is a flowchart illustrating a method of rendering a 360 degree image according to an exemplary embodiment.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 일 실시예에 따른 360도 카메라 시스템을 나타낸 블록도이다.1 is a block diagram showing a 360 degree camera system according to an embodiment.

도 1을 참조하면, 일 실시예에 따른 360도 카메라 시스템(100)은 복수의 카메라들(110), 메모리(120), 프로세서(130) 및 입출력 인터페이스(140)를 포함할 수 있다. 이하, 360도 카메라 시스템(100)이 원을 따라 배치되는 복수의 카메라들(110)(예컨대, 6대 이상의 카메라들)을 포함하는 것으로 설명되나, 이제 제한되거나 한정되지 않고, Volumetric VR을 구현하기 위해 동일한 피사체를 동시에 촬영하도록 배치되는 복수의 카메라들(110)을 포함하는 다양한 카메라 시스템일 수 있다.Referring to FIG. 1, a 360-degree camera system 100 according to an embodiment may include a plurality of cameras 110, a memory 120, a processor 130, and an input/output interface 140. Hereinafter, the 360-degree camera system 100 is described as including a plurality of cameras 110 (eg, six or more cameras) arranged along a circle, but is now limited or not limited, and implementing Volumetric VR For this purpose, it may be a variety of camera systems including a plurality of cameras 110 arranged to simultaneously photograph the same subject.

메모리(120)는 컴퓨터에서 판독 가능한 기록 매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치non-volatile mass storage device)를 포함할 수 있다. 또한, 메모리(120)에는 운영체제, 복수의 카메라들(110) 각각에서 촬영된 영상, 적어도 하나의 프로그램 코드(일례로 후술되는 360도 영상 저장 방법 및/또는 360도 영상 렌더링 방법을 수행하는 코드)가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(120)와는 별도의 컴퓨터에서 판독 가능한 기록 매체로부터 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록 매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록 매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록 매체가 아닌 통신 모듈(도면에는 도시되지 않음)을 통해 메모리(120)에 로딩될 수도 있다.The memory 120 is a computer-readable recording medium, and may include a non-volatile mass storage device such as a random access memory (RAM), read only memory (ROM), and a disk drive). In addition, the memory 120 includes an operating system, an image captured by each of the plurality of cameras 110, and at least one program code (for example, a 360-degree image storage method and/or a 360-degree image rendering method to be described later). Can be saved. These software components may be loaded from a computer-readable recording medium separate from the memory 120. Such a separate computer-readable recording medium may include a computer-readable recording medium such as a floppy drive, a disk, a tape, a DVD/CD-ROM drive, and a memory card. In another embodiment, software components may be loaded into the memory 120 through a communication module (not shown in the drawing) other than a computer-readable recording medium.

프로세서(130)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(120) 또는 통신 모듈에 의해 프로세서(130)로 제공될 수 있다. 예를 들어, 프로세서(130)는 메모리(120)와 같은 기록 장치에 저장된 프로그램 코드(일례로 후술되는 360도 영상 저장 방법 및/또는 360도 영상 렌더링 방법을 수행하는 코드)에 따라 수신되는 명령을 실행하도록 구성될 수 있다.The processor 130 may be configured to process instructions of a computer program by performing basic arithmetic, logic, and input/output operations. Instructions may be provided to the processor 130 by the memory 120 or the communication module. For example, the processor 130 may execute a command received according to a program code stored in a recording device such as the memory 120 (for example, a code for performing a 360-degree image storage method and/or a 360-degree image rendering method described later). It can be configured to run.

입출력 인터페이스(140)는 입출력 장치(도면에는 도시되지 않음)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 360도 카메라 시스템(100)에 구비되는 터치 스크린, 버튼 등의 장치를, 그리고 출력 장치는 촬영된 영상들을 표시하는 디스플레이와 같은 장치를 포함할 수 있다. 다른 예를 들면, 입출력 인터페이스(140)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다.The input/output interface 140 may be a means for interfacing with an input/output device (not shown in the drawing). For example, the input device may include a device such as a touch screen and a button provided in the 360-degree camera system 100, and the output device may include a device such as a display displaying captured images. For another example, the input/output interface 140 may be a means for an interface with a device in which input and output functions are integrated into one, such as a touch screen.

다른 실시예들에서 360도 카메라 시스템(100)은 도 1의 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 360도 카메라 시스템(100)는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.In other embodiments, the 360 degree camera system 100 may include more components than the components of FIG. 1. However, there is no need to clearly show most of the prior art components. For example, the 360-degree camera system 100 may further include other components such as a transceiver, a Global Positioning System (GPS) module, various sensors, and a database.

이하에서는 상술한 360도 카메라 시스템(100)에 구비되는 프로세서(130)에 의해 실행되는 360도 영상 저장 방법 및 360도 영상 렌더링 방법의 구체적인 실시예를 설명하기로 한다.Hereinafter, specific embodiments of a 360-degree image storage method and a 360-degree image rendering method executed by the processor 130 included in the 360-degree camera system 100 will be described.

이하 설명되는 360도 영상 저장 방법은 Volumetric VR 기술에서 360도 영상 렌더링 방법이 오클루전 영역에서 발생되는 홀을 제거하기 위해 사전에 수행하는 것이므로, 360도 영상 저장 방법과 360도 영상 렌더링 방법은 하나의 프로세서(130)에 의해 수행되는 것으로 설명한다. 또한, 이하 하나의 프로세서(130)가 360도 영상 저장 방법의 각 단계들을 수행하는 구성요소들 및 360도 영상 렌더링 방법의 각 단계들을 수행하는 구성요소들로 구성됨에 따라 상이한 구성요소들을 포함하는 것으로 설명되나, 각 구성요소들은 각 단계들을 수행하는 주체를 설명하기 위해 편의상 구분한 것에 지나지 않는다. 즉, 360도 영상 저장 방법과 360도 영상 렌더링 방법 모두 프로세서(130)에 의해 수행됨을 전제로 한다.The 360-degree image storage method described below is that the 360-degree image rendering method in Volumetric VR technology is performed in advance in order to remove the hole generated in the occlusion area, so the 360-degree image storage method and the 360-degree image rendering method are one. It will be described as being performed by the processor 130 of. In addition, since one processor 130 is composed of components that perform each step of the 360-degree image storage method and components that perform each step of the 360-degree image rendering method, it is assumed that different components are included. Although described, each component is only classified for convenience in order to describe the subject performing each step. That is, it is assumed that both the 360-degree image storage method and the 360-degree image rendering method are performed by the processor 130.

도 2 내지 3은 일 실시예에 따른 360도 카메라 시스템의 프로세서가 포함할 수 있는 구성요소의 예를 나타낸 블록도이다. 보다 상세하게, 도 2는 프로세서가 360도 영상 저장 방법을 수행하는 경우의 구성요소들을 나타낸 블록도이며, 도 3은 프로세서가 360도 영상 렌더링 방법을 수행하는 경우의 구성요소들을 나타낸 블록도이다.2 to 3 are block diagrams illustrating examples of components that may be included in a processor of a 360 degree camera system according to an exemplary embodiment. In more detail, FIG. 2 is a block diagram illustrating components when a processor performs a 360-degree image storage method, and FIG. 3 is a block diagram illustrating components when a processor performs a 360-degree image rendering method.

도 2를 참조하면, 일 실시예에 따른 360도 영상 저장 시스템은 도 1을 참조하여 상술된 360도 카메라 시스템(100)의 프로세서(130)를 포함하도록 구성될 수 있다. 구체적으로, 360도 영상 저장 시스템은 도면에 도시된 바와 같이 프로세서(130)의 구성요소들인 획득부(210), 시점 변환 수행부(220) 및 저장부(230)를 포함할 수 있다. 실시예에 따라 프로세서(130)의 구성요소들은 선택적으로 프로세서(130)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(130)의 구성요소들은 프로세서(130)의 기능의 표현을 위해 분리 또는 병합될 수도 있다. 예컨대, 프로세서(130)의 구성요소들 중 적어도 일부는 360도 카메라 시스템(100)과 통신으로 연결되는 별도의 서버에 포함되는 프로세서에 구현될 수 있다.Referring to FIG. 2, a 360-degree image storage system according to an embodiment may be configured to include the processor 130 of the 360-degree camera system 100 described above with reference to FIG. 1. Specifically, the 360-degree image storage system may include an acquisition unit 210, a viewpoint conversion performing unit 220, and a storage unit 230, which are components of the processor 130, as shown in the drawing. Depending on the embodiment, components of the processor 130 may be selectively included or excluded from the processor 130. In addition, according to embodiments, components of the processor 130 may be separated or merged to express the function of the processor 130. For example, at least some of the components of the processor 130 may be implemented in a processor included in a separate server that is connected to the 360-degree camera system 100 through communication.

이러한 프로세서(130)의 구성요소들은 도 10의 360도 영상 저장 방법이 포함하는 단계들(S1010 내지 S1030)을 수행하도록 메모리(120)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램(예컨대, 360도 영상 저장 방법을 실행하는 코드로 구성된 프로그램)의 명령(instruction)을 실행하도록 구현될 수 있다.Components of the processor 130 are code of an operating system included in the memory 120 and at least one program (e.g., 360-degree image storage method) to perform the steps (S1010 to S1030) included in the 360-degree image storage method of FIG. It may be implemented to execute an instruction of (a program composed of code that executes an image storage method).

여기서, 프로세서(130)의 구성요소들은 메모리(120)에 저장된 프로그램 코드가 제공하는 명령에 따른 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 360도 카메라 시스템(100)에 포함되는 복수의 카메라들(110)에서 각각 촬영된 영상들을 획득하는 동작에 대한 기능적 표현으로서 획득부(210)가 이용될 수 있다.Here, the components of the processor 130 may be expressions of different functions according to instructions provided by the program code stored in the memory 120. For example, the acquisition unit 210 may be used as a functional expression for an operation of acquiring images respectively captured by a plurality of cameras 110 included in the 360 degree camera system 100.

이에, 프로세서(130)의 각 구성요소들은 다음과 같이 동작함으로써, 360도 영상 저장 방법을 수행할 수 있다. 예를 들어, 획득부(210)가 360도 카메라 시스템(100)에 포함되는 복수의 카메라들(110)에서 각각 촬영된 영상들(이하, 복수의 카메라들(110)에서 각각 촬영된 영상들은 복수의 카메라들(110) 각각에서 동시에 촬영한 영상들을 의미함)과 깊이 맵(Depth map)을 획득하고, 시점 변환 수행부(220)가 깊이 맵을 이용하여 영상들 각각에 대한 후퇴 시점 변환을 수행하며, 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채우고, 저장부(230)가 홀이 채워진 영상들을 스티칭하고 저장함으로써, 후술되는 360도 영상 렌더링 방법에서 사용될 영상(후퇴 시점 변환된 뒤 홀이 채워진 영상들 또는 후퇴 시점 변환된 뒤 홀이 채워진 영상들이 스티칭되어 저장된 영상)이 미리 생성 및 저장되어 유지될 수 있다. 각 구성요소들의 동작에 대한 상세한 설명은 도 10을 참조하여 기재하기로 하며, 시점 변환 수행부(220)의 동작 원리에 대한 상세한 설명은 도 4 내지 9를 참조하여 기재하기로 한다.Accordingly, each component of the processor 130 may perform a 360-degree image storage method by operating as follows. For example, images captured by the plurality of cameras 110 included in the 360 degree camera system 100 by the acquisition unit 210 (hereinafter, images respectively captured by the plurality of cameras 110 are (Meaning images captured simultaneously by each of the cameras 110) and a depth map, and the viewpoint conversion performing unit 220 performs a retreat viewpoint conversion for each of the images using the depth map. And, by filling the holes of each of the converted images at the retreat point, and by stitching and storing the images filled with the holes by the storage unit 230, the image to be used in the 360-degree image rendering method described later (after the retraction point is converted, the hole The filled images or images stored by stitching and storing the filled images after the retraction point is converted may be generated and stored in advance. A detailed description of the operation of each component will be described with reference to FIG. 10, and a detailed description of the operating principle of the viewpoint conversion performing unit 220 will be described with reference to FIGS. 4 to 9.

도 3을 참조하면, 일 실시예에 따른 360도 영상 렌더링 시스템은 도 1을 참조하여 상술된 360도 카메라 시스템(100)의 프로세서(130)를 포함하도록 구성될 수 있다. 구체적으로, 360도 영상 렌더링 시스템은 도면에 도시된 바와 같이 프로세서(130)의 구성요소들인 로드부(310) 및 시점 변환 수행부(320)를 포함할 수 있다. 실시예에 따라 프로세서(130)의 구성요소들은 선택적으로 프로세서(130)에 포함되거나 제외될 수도 있다. 또한, 실시예에 따라 프로세서(130)의 구성요소들은 프로세서(130)의 기능의 표현을 위해 분리 또는 병합될 수도 있다. 예컨대, 프로세서(130)의 구성요소들 중 적어도 일부는 360도 카메라 시스템(100)과 통신으로 연결되는 별도의 서버에 포함되는 프로세서에 구현될 수 있다.Referring to FIG. 3, the 360-degree image rendering system according to an embodiment may be configured to include the processor 130 of the 360-degree camera system 100 described above with reference to FIG. 1. Specifically, the 360-degree image rendering system may include a load unit 310 and a viewpoint conversion performing unit 320, which are components of the processor 130, as shown in the drawing. Depending on the embodiment, components of the processor 130 may be selectively included or excluded from the processor 130. In addition, according to embodiments, components of the processor 130 may be separated or merged to express the function of the processor 130. For example, at least some of the components of the processor 130 may be implemented in a processor included in a separate server that is connected to the 360-degree camera system 100 through communication.

이러한 프로세서(130)의 구성요소들은 도 11의 360도 영상 렌더링 방법이 포함하는 단계들(S1110 내지 S1120)을 수행하도록 메모리(120)가 포함하는 운영체제의 코드와 적어도 하나의 프로그램(예컨대, 360도 영상 렌더링 방법을 실행하는 코드로 구성된 프로그램)의 명령(instruction)을 실행하도록 구현될 수 있다.Components of the processor 130 are code of an operating system included in the memory 120 and at least one program (e.g., 360-degree image rendering method) to perform the steps (S1110 to S1120) included in the 360-degree image rendering method of FIG. It may be implemented to execute an instruction of a program composed of code that executes the image rendering method).

여기서, 프로세서(130)의 구성요소들은 메모리(120)에 저장된 프로그램 코드가 제공하는 명령에 따른 서로 다른 기능들(different functions)의 표현들일 수 있다. 예를 들어, 360도 카메라 시스템(100)에 포함되는 복수의 카메라들(110)에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들(도 2를 참조하여 전술된 360도 영상 저장 시스템에서 저장부(230)에 저장된 홀이 채워진 영상들) 또는 후퇴 시점 변환된 뒤 홀이 채워진 영상들이 스티칭되어 저장된 영상을 로드하는 동작에 대한 기능적 표현으로서 로드부(310)가 이용될 수 있다.Here, the components of the processor 130 may be expressions of different functions according to instructions provided by the program code stored in the memory 120. For example, images captured by a plurality of cameras 110 included in the 360-degree camera system 100 are respectively converted to retreat points (a storage unit in the 360-degree image storage system described above with reference to FIG. 2) The loading unit 310 may be used as a functional expression for an operation of loading images stored in the hole 230) or images filled with the hole are stitched after the retraction time is converted.

이에, 프로세서(130)의 각 구성요소들은 다음과 같이 동작함으로써, 360도 영상 렌더링 방법을 수행할 수 있다. 예를 들어, 로드부(310)가 360도 카메라 시스템(100)에 포함되는 복수의 카메라들(110)에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들(전술된 360도 영상 저장 방법에서 저장된, 후퇴 시점 변환되어 각각의 홀이 채워진 영상들)과 깊이 맵을 로드하고(또는 후퇴 시점 변환된 뒤 홀이 채워진 영상들이 스티칭되어 저장된 영상과 깊이 맵을 로드하고), 시점 변환 수행부(320)가 깊이 맵을 이용하여 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행함으로써(또는 후퇴 시점 변환된 뒤 홀이 채워진 영상들이 스티칭되어 저장된 영상을 깊이 맵을 이용하여 전진 시점 변환을 수행함으로써), 영상 렌더링이 수행될 수 있다. 각 구성요소들의 동작에 대한 상세한 설명은 도 11을 참조하여 기재하기로 하며, 시점 변환 수행부(320)의 동작 원리에 대한 상세한 설명은 도 4 내지 9를 참조하여 기재하기로 한다.Accordingly, each component of the processor 130 may perform a 360-degree image rendering method by operating as follows. For example, images captured by the plurality of cameras 110 included in the 360-degree camera system 100 by the load unit 310 are respectively converted to retreat points (stored in the 360-degree image storage method described above). , The retreat point is converted and images filled with each hole) and a depth map are loaded (or images and the depth map is stored by stitching the images filled with the hole after the retreat point is transformed), and the viewpoint conversion performing unit 320 By performing a forward viewpoint conversion for each of the images converted at the retreat point using a depth map (or by performing a forward viewpoint conversion using a depth map for the image stored by stitching the images filled with holes after the retraction point conversion) , Image rendering may be performed. A detailed description of the operation of each component will be described with reference to FIG. 11, and a detailed description of the operating principle of the viewpoint conversion performing unit 320 will be described with reference to FIGS. 4 to 9.

도 4 내지 9는 일 실시예에 따른 360도 영상 저장 방법 및 360도 영상 렌더링 방법을 설명하기 위한 도면이다.4 to 9 are diagrams for explaining a method for storing a 360 degree image and a method for rendering a 360 degree image according to an exemplary embodiment.

도 4를 참조하면, 일 실시예에 따른 360도 영상 저장 시스템은 360도 카메라 시스템(100)을 구성하는 복수의 카메라들(110) 각각의 광학 중심을 가상의 특정 위치(410)로 일치시킴으로써 복수의 카메라들(110) 각각에서 촬영된 영상이 동일한 위치(410)에서 촬영된 것처럼 변환할 수 있다. 가상의 특정 위치(410)는 복수의 카메라들(110)의 배치를 고려하여 복수의 카메라들(110)의 후방으로 일정 거리 이상 후퇴된 임의의 지점일 수 있으며, 360도 카메라 시스템(100) 상 복수의 카메라들(110)이 배치되는 원의 중심 위치를 의미할 수 있다.Referring to FIG. 4, in the 360-degree image storage system according to an embodiment, the optical center of each of a plurality of cameras 110 constituting the 360-degree camera system 100 is matched to a specific virtual position 410, The image captured by each of the cameras 110 of may be converted as if it was captured at the same location 410. The virtual specific location 410 may be an arbitrary point retracted by a predetermined distance or more to the rear of the plurality of cameras 110 in consideration of the arrangement of the plurality of cameras 110, and the 360 degree camera system 100 It may mean a center position of a circle in which the plurality of cameras 110 are arranged.

이 때, 복수의 카메라들(110) 각각의 광학 중심을 일치시키게 되면, 복수의 카메라들(110)에서 촬영된 영상들의 시점 역시 일치하게 된다.At this time, when the optical centers of each of the plurality of cameras 110 are matched, the viewpoints of images captured by the plurality of cameras 110 are also matched.

즉, 360도 영상 저장 시스템은 복수의 카메라들(110) 각각을 실제로 이동시키는 것이 아닌, 복수의 카메라들(110)에서 동시에 촬영된 영상들의 시점을 가상의 특정 위치(410)에서 촬영된 영상의 시점인 것처럼 변환(후퇴 시점 변환)함으로써, 360도 영상 저장 방법을 수행한다.In other words, the 360-degree image storage system does not actually move each of the plurality of cameras 110, but the viewpoint of the images captured at the same time by the plurality of cameras 110 of the image captured at the virtual specific location 410. By converting it as if it were a viewpoint (converting a retreat viewpoint), a 360-degree image storage method is performed.

이러한 후퇴 시점 변환과 유사하게, 일 실시예에 따른 360도 영상 렌더링 시스템은 후퇴 시점 변환의 역변환인 전진 시점 변환을 수행할 수 있다. 이와 관련하여 도 5를 참조하면, 360도 영상 렌더링 시스템은 360도 영상 결합 시스템에 의해 저장된 후퇴 시점 변환된 영상들(또는 360도 영상 결합 시스템에 의해 후퇴 시점 변환된 영상들이 스티칭되어 저장된 360도 전방위 영상-이하 스티칭 영상으로 기재함-)을 가상의 특정 위치(410)로부터 전경에 좀 더 근접하도록 일정 거리 이상 전진된 임의의 지점(510)에서 촬영된 것처럼 변환할 수 있다.Similar to the retraction viewpoint transformation, the 360-degree image rendering system according to an embodiment may perform a forward viewpoint transformation that is an inverse transformation of the retraction viewpoint transformation. In this regard, referring to FIG. 5, the 360-degree image rendering system includes images that have been converted from the retraction point stored by the 360-degree image combining system (or images converted from the retreat point by the 360-degree image combining system are stitched and stored). The image-hereinafter referred to as a stitched image -) may be converted as if it was photographed at an arbitrary point 510 advanced by a predetermined distance or more so as to be closer to the foreground from a virtual specific location 410.

이와 같이 360도 영상 렌더링 시스템은 360도 영상 결합 시스템에 의해 저장된 후퇴 시점 변환된 영상들(또는 스티칭 영상)의 시점을 전진된 임의의 지점(510)에서 촬영된 영상들의 시점인 것처럼 변환(전진 시점 변환)함으로써, 360도 영상 렌더링 방법을 수행한다.In this way, the 360-degree image rendering system converts the viewpoints of the converted images (or stitching images) to the retracted viewpoint stored by the 360-degree image combining system as if they were the viewpoints of images photographed at an advanced point 510 (advancing viewpoint). Conversion) to perform a 360-degree image rendering method.

전진 시점 변환 및 후퇴 시점 변환을 설명하는 원리로서, 도 6을 참조하면, 특정 위치(610)에 있는 카메라로부터 df 거리에 있는 w라는 점은 db 거리에 있는 배경에서 광축(Optical axis)(620)에서 X 만큼 떨어진 위치에 나타난다. 이 위치는 카메라가 특정 위치(610)에서 후방으로 r 만큼 후퇴한 위치(630)에 배치될 때 X' 위치로 변경되고, 카메라가 특정 위치(610)에서 s 만큼 옆으로 이동된 위치(640)에 배치될 때 광축(650)에서 X" 만큼 떨어진 위치로 변경된다. 이러한 X, X', X"들이 영상에서 영상 중심으로부터 x, x', x" 만큼 떨어진 위치에 나타난다고 하면, 이 위치들은 도 7 내지 9와 같은 핀홀(pinhole) 카메라 모델을 사용해 계산될 수 있다.As a principle explaining the transformation of the forward and retreat viewpoints, referring to FIG. 6, the point w at a distance d f from the camera at a specific position 610 is an optical axis in the background at a distance d b ( 620) at a distance of X. This position is when the camera is placed in the rearward at a particular location 610 r a position 630 retracts by the changes to the X 'position, the position 640, the camera is moved to the side by s at a particular location 610 When placed in the optical axis 650, it is changed to a position separated by X " . Assuming that these X, X ' , X " appear at a position that is x, x ' , x " away from the center of the image in the image, these positions are It can be calculated using a pinhole camera model as shown in FIGS. 7 to 9.

예를 들어, 카메라가 특정 위치(610)에서 r 만큼 후퇴한 위치(630)로 이동하는 경우는 도 6으로부터 아래 식 1과 같이 X'이 계산될 수 있다.For example, when the camera moves from a specific position 610 to a position 630 retracted by r, X may be calculated as shown in Equation 1 below from FIG. 6.

<식 1><Equation 1>

Figure pat00001
Figure pat00001

또한, 식 1과 같이 계산되는 X'은 도 7 내지 8의 핀홀 카메라 모델을 이용하면 영상에서는 아래 식 2와 같이 표현될 수 있다.In addition, by using a pinhole camera model X 'is 7 to 8, which is calculated as in equation 1, the image can be expressed by the following expression (2).

<식 2><Equation 2>

Figure pat00002
Figure pat00002

한편, 깊이 맵에서 깊이 d와 시차 D는

Figure pat00003
의 관계를 가지므로(여기서, f는 초점 거리를 의미하고, B는 360도 카메라 시스템(100)에 포함되는 복수의 카메라들(110) 사이의 베이스라인의 길이, D는 시차를 의미함), 식 2는 아래 식 3과 같이 표현될 수 있다.Meanwhile, in the depth map, the depth d and the parallax D are
Figure pat00003
(Here, f denotes the focal length, B denotes the length of the baseline between the plurality of cameras 110 included in the 360-degree camera system 100, and D denotes the parallax), Equation 2 can be expressed as Equation 3 below.

<식 3><Equation 3>

Figure pat00004
Figure pat00004

다른 예를 들면, 카메라가 특정 위치(610)에서 측방으로 s 만큼 떨어진 위치(640)에 이동하는 경우는 도 6으로부터 아래 식 4와 같이 X"이 계산될 수 있다.For another example, when the camera moves from the specific position 610 to the position 640 that is s apart from the specific position 610, X " may be calculated as shown in Equation 4 below from FIG. 6.

<식 4><Equation 4>

Figure pat00005
Figure pat00005

또한, 식 4와 같이 계산되는 X"은 도 7 내지 9의 핀홀 카메라 모델을 이용하면 영상에서는 아래 식 5와 같이 표현될 수 있으며, 깊이 d와 시차 D의 관계에 따라 아래 식 6과 같이 표현될 수 있다.In addition, X " calculated as in Equation 4 can be expressed as Equation 5 below in the image by using the pinhole camera model of FIGS. 7 to 9, and can be expressed as Equation 6 below according to the relationship between the depth d and the parallax D. I can.

<식 5><Equation 5>

Figure pat00006
Figure pat00006

<식 6><Equation 6>

Figure pat00007
Figure pat00007

따라서, 카메라가 특정 위치(610)에서 후방으로 r 만큼 후퇴하고 측방으로 s 만큼 떨어진 위치로 이동하는 경우

Figure pat00008
는 도 7 내지 9의 핀홀 카메라 모델을 이용하여 영상에서 아래 식 7과 같이 계산될 수 있다.Therefore, when the camera retreats r from a specific position 610 backward and moves to a position s away from the specific position 610
Figure pat00008
Can be calculated as in Equation 7 below in the image using the pinhole camera model of FIGS. 7 to 9.

<식 7><Equation 7>

Figure pat00009
Figure pat00009

또한, 식 7은 깊이 d와 시차 D의 관계에 따라 아래 식 8과 같이 표현될 수 있다.In addition, Equation 7 can be expressed as Equation 8 below according to the relationship between the depth d and the parallax D.

<식 8><Equation 8>

Figure pat00010
Figure pat00010

식 8로부터 카메라가 특정 위치(610)에서 촬영한 영상을 카메라가 특정 위치(610)로부터 x, y, z 방향으로 각각 mx, my, mz 만큼 이동했을 때 촬영한 영상으로 변환하는 시점 변환 수식이 획득될 수 있다. 카메라가 특정 위치(610)에서 촬영한 원래의 영상 I(x, y)와 카메라가 특정 위치(410)로부터 mx, my, mz 만큼 이동했을 때 촬영한 영상인 변환된 영상 I'(x', y')에 대해 x, y, x', y'는 각각의 영상에서의 픽셀 위치라 하면 포워드 와핑(forward warping)은 아래 식 9와 같이 표현될 수 있고, 백워드 와핑(backward warping)은 식 10과 같이 표현될 수 있다.From Equation 8, the time point at which the camera converts an image captured at a specific location 610 into a captured image when the camera moves from the specific location 610 in the x, y, and z directions by m x , m y and m z respectively A transformation equation can be obtained. The original image I (x, y) captured by the camera at a specific position 610 and the converted image I ' (which is an image captured when the camera moves from a specific position 410 by m x , m y , m z ) For x ' , y ' ), if x, y, x ' , y ' are the pixel positions in each image, forward warping can be expressed as Equation 9 below, and backward warping ) Can be expressed as Equation 10.

<식 9><Equation 9>

Figure pat00011
Figure pat00011

<식 10><Equation 10>

Figure pat00012
Figure pat00012

식 9 및 10에서

Figure pat00013
Figure pat00014
는 광축(420, 450)이 지나는 영상 중심의 좌표를 의미한다.In equations 9 and 10
Figure pat00013
And
Figure pat00014
Denotes the coordinates of the image center through which the optical axes 420 and 450 pass.

일 실시예에 따른 360도 영상 저장 시스템 및 360도 영상 렌더링 시스템은 이와 같이 유도되는 식 9 및 10을 이용하여 영상에 대한 후퇴 시점 변환 또는 전진 시점 변환을 수행할 수 있다. 이에 대한 상세한 설명은 도 10 내지 11을 참조하여 기재하기로 한다.The 360-degree image storage system and the 360-degree image rendering system according to an embodiment may perform conversion of a retreat viewpoint or a forward viewpoint of an image by using Equations 9 and 10 derived as described above. A detailed description thereof will be described with reference to FIGS. 10 to 11.

도 10은 일 실시예에 따른 360도 영상 저장 방법을 나타낸 플로우 차트이다. 이하, 360도 영상 저장 방법은 360도 카메라 시스템(100)에 포함되는 프로세서(130)의 구성요소들에 의해 수행되는 것으로 설명되며, 프로세서(130)의 구성요소들은 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램의 형태로 구현될 수 있다.10 is a flowchart illustrating a method of storing a 360 degree image according to an exemplary embodiment. Hereinafter, the 360-degree image storage method is described as being performed by components of the processor 130 included in the 360-degree camera system 100, and the components of the processor 130 are recorded in a computer-readable recording medium. It can be implemented in the form of a computer program.

도 10을 참조하면, 단계(S1010)에서 일 실시예에 따른 360도 영상 저장 시스템에 포함되는 획득부(210)는, 360도 카메라 시스템(100)에 포함되는 복수의 카메라들(110)에서 각각 촬영된 영상들과 깊이 맵을 획득한다. 여기서, 복수의 카메라들(110)에서 각각 촬영된 영상은 복수의 카메라들(110)이 동시에 동작하여 동시에 촬영된 영상들일 수 있다. 이 때, 복수의 카메라들(110)은 원 또는 구를 따라 배치되며 360도 카메라 시스템(100)을 구성하기 때문에, 영상들(복수의 카메라들(110) 각각에서 촬영된 영상) 사이에는 시차가 발생될 수 있다.Referring to FIG. 10, in step S1010, the acquisition unit 210 included in the 360-degree image storage system according to the embodiment is, respectively, a plurality of cameras 110 included in the 360-degree camera system 100 Acquire the captured images and a depth map. Here, the images respectively captured by the plurality of cameras 110 may be images captured simultaneously by the plurality of cameras 110 operating simultaneously. At this time, since the plurality of cameras 110 are arranged along a circle or sphere and constitute the 360 degree camera system 100, there is a parallax between the images (images taken by each of the plurality of cameras 110). Can occur.

이하, 영상들에 대한 깊이 맵은 영상들이 촬영되는 동시에, 종래 깊이 맵을 획득하는 알고리즘을 통해 영상 전체 픽셀에 걸쳐 시차와 깊이와의 관계를 정의하는 영상으로 획득될 수 있다.Hereinafter, the depth map for the images may be acquired as an image defining a relationship between a parallax and a depth over all pixels of an image through an algorithm for obtaining a conventional depth map while the images are captured.

단계(S1020)에서 360도 영상 저장 시스템에 포함되는 시점 변환 수행부(220)는, 깊이 맵을 이용하여 영상들 각각에 대한 후퇴 시점 변환을 수행한다. 구체적으로, 시점 변환 수행부(220)는 깊이 맵에 기초하여 복수의 카메라들(110) 각각의 초점 거리, 복수의 카메라들(110) 사이의 베이스라인의 길이 및 복수의 카메라들(110) 사이의 시차에 기초한 시점 변환 수식(전술된 식 9 또는 10)을 설정하고, 시점 변환 수식에서 이동 파라미터를 결정함으로써, 시점 변환 수식을 이용하여 영상들 각각의 시점을 일치하도록 변환할 수 있다. 이하, 영상들 각각의 시점을 일치하도록 변환한다는 것은 영상들을 정합한다는 것을 의미할 수 있다.In step S1020, the viewpoint conversion performing unit 220 included in the 360-degree image storage system performs a retraction viewpoint conversion for each of the images using the depth map. Specifically, the viewpoint conversion performing unit 220 is based on the depth map, the focal length of each of the plurality of cameras 110, the length of the baseline between the plurality of cameras 110, and between the plurality of cameras 110 By setting a viewpoint conversion equation (Equation 9 or 10 described above) based on the parallax of, and determining a movement parameter in the viewpoint conversion equation, each viewpoint of the images may be converted to match the viewpoint using the viewpoint conversion equation. Hereinafter, converting the viewpoints of the images to match may mean matching the images.

여기서, 이동 파라미터는 영상들 각각이 촬영된 위치가 가상의 특정 위치로 이동될 때의 이동할 거리와 관련된 값으로서, 식 9 및 10에서 mx, my, mz에 해당된다. 따라서, 시점 변환 수행부(220)가 이동 파라미터를 결정한다는 것은, 복수의 카메라들(110) 각각의 광학 중심이 360도 카메라 시스템(100) 상 복수의 카메라들(110)이 배치되는 원의 중심 위치로 이동될 때의 이동할 거리를 이동 파라미터로 결정한다는 것을 의미한다. 예를 들어, 시점 변환 수행부(220)는 식 9 또는 10에서 mz의 값만을 이동 파라미터로 결정할 수 있으며, 360도 카메라 시스템(100)이 두 대의 카메라들이 세트로 배치되는 스테레오 360도 카메라 시스템인 경우, 베이스라인 크기의 절반으로 mx 또는 my를 결정할 수 있다.Here, the movement parameter is a value related to the moving distance when the position where each of the images is captured is moved to a virtual specific position, and corresponds to m x , m y , and m z in Equations 9 and 10. Therefore, the fact that the viewpoint conversion performing unit 220 determines the movement parameter means that the optical center of each of the plurality of cameras 110 is the center of the circle on which the plurality of cameras 110 are disposed on the 360 degree camera system 100. It means that the moving distance when moving to the position is determined as a moving parameter. For example, the viewpoint conversion performing unit 220 may determine only the value of m z as a movement parameter in Equation 9 or 10, and the 360 degree camera system 100 is a stereo 360 degree camera system in which two cameras are arranged as a set. In the case of, m x or m y may be determined as half of the baseline size.

이처럼 복수의 카메라들(110) 각각의 광학 중심이 카메라 시스템(100)의 가상의 특정 위치로 이동될 때의 이동할 거리를 이동 파라미터로 결정하기 위해서는, 복수의 카메라들(110) 각각의 광학 중심을 확인하는 단계가 필수적이다. 이러한 단계는 도면에는 도시되지 않았지만 단계(S1020) 이전 임의의 시점에 적응적으로 수행될 수 있으며, 복수의 카메라들(110) 각각의 회전축을 앞뒤로 이동시키며 좌우로 회전시켰을 때 시차가 발생하지 않는 회전축의 위치를 실험적으로 탐색함으로써 수행될 수 있다.In this way, in order to determine the moving distance when the optical center of each of the plurality of cameras 110 is moved to a virtual specific position of the camera system 100 as a movement parameter, the optical center of each of the plurality of cameras 110 The step to confirm is essential. Although this step is not shown in the drawing, it may be adaptively performed at any time before step (S1020), and a rotation axis in which parallax does not occur when the rotation axis of each of the plurality of cameras 110 is moved back and forth. This can be done by experimentally exploring the location of.

이 때, 복수의 카메라들(110) 각각의 광학 중심을 일치시키게 되면, 복수의 카메라들(110)에서 촬영된 영상들의 시점 역시 일치하게 된다. 따라서, 단계(S1020)에서 시점 변환 수행부(220)는, 영상들 각각의 시점을 360도 카메라 시스템(100)의 중심 위치에서 촬영된 영상의 시점으로 후퇴 시점 변환하여 일치시킴으로써, 영상들을 정합할 수 있다.At this time, when the optical centers of each of the plurality of cameras 110 are matched, the viewpoints of images captured by the plurality of cameras 110 are also matched. Accordingly, in step S1020, the viewpoint conversion performing unit 220 converts and matches each viewpoint of the images to the viewpoint of the image captured at the center position of the 360-degree camera system 100, thereby matching the images. I can.

즉, 시점 변환 수행부(220)는 복수의 카메라들(110) 각각의 위치가 후방으로 후퇴된 지점(복수의 카메라들(110)이 배치되는 원의 중심점)으로 이동되는 가상의 변환을 수행할 수 있다. 이러한 후퇴 시점 변환은, 오클루전(Occlusion)이 발생하는 것을 최소화하기 위함이다.That is, the viewpoint conversion performing unit 220 performs a virtual transformation in which the position of each of the plurality of cameras 110 is moved to a point where the position of each of the plurality of cameras 110 is retracted to the rear (the center point of the circle where the plurality of cameras 110 are placed). I can. This retreat point conversion is to minimize the occurrence of occlusion.

영상들에 대한 후퇴 시점 변환이 수행되고 나면, 단계(S1030)에서 시점 변환 수행부(220)는 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채운다. 예를 들어, 시점 변환 수행부(220)는 후퇴 시점 변환된 영상들 각각을 촬영한 카메라와 인접한 카메라에서 촬영된 영상을 이용하여, 후퇴 시점 변환된 영상들 각각의 홀을 채울 수 있다. 보다 구체적인 예를 들면, 제1 영상(제1 카메라에서 촬영된 영상이 단계(S1020)에서 후퇴 후퇴 시점 변환된 영상) 내 홀이 존재한다면, 시점 변환 수행부(220)는 제1 카메라에 인접한 제2 카메라에서 촬영된 영상(또는 제2 카메라에서 촬영된 영상이 후퇴 시점 변환된 영상)의 영역들 중 제1 영상의 홀에 대응하는 영역의 픽셀값으로 제1 영상의 홀을 채울 수 있다.After the retreat viewpoint conversion is performed on the images, the viewpoint conversion performing unit 220 fills a hole in each of the images converted at the retreat viewpoint in step S1030. For example, the viewpoint conversion performing unit 220 may fill a hole of each of the converted images at the retreat by using an image photographed by a camera that is adjacent to a camera photographing each of the converted images at the retreat viewpoint. For a more specific example, if there is a hole in the first image (the image captured by the first camera is converted at the retreat and retreat point in step S1020), the view conversion performing unit 220 2 The hole of the first image may be filled with a pixel value of an area corresponding to the hole of the first image among areas of the image captured by the camera (or the image captured by the second camera is converted at a retreat point).

다른 예를 들면, 시점 변환 수행부(220)는 후퇴 시점 변환된 영상들 각각의 홀과 인접한 배경 영역의 정보를 이용하여, 후퇴 시점 변환된 영상들 각각의 홀을 채울 수 있다. 더 구체적인 예를 들면, 제1 영상(제1 카메라에서 촬영된 영상이 단계(S1020)에서 후퇴 후퇴 시점 변환된 영상) 내 홀이 존재한다면, 시점 변환 수행부(220)는 제1 영상의 영역들 중 홀에 인접한 배경 영역의 픽셀값으로 제1 영상의 홀을 채울 수 있다.For another example, the view conversion performing unit 220 may fill a hole of each of the converted images at the retreat view by using information on a background region adjacent to each hole of the converted images at the retreat view. For a more specific example, if there is a hole in the first image (the image captured by the first camera is converted at the retreat and retreat time point in step S1020), the view conversion performing unit 220 includes regions of the first image. The hole of the first image may be filled with pixel values of the background area adjacent to the middle hole.

또한, 별도의 단계로 도시되지는 않았으나, 시점 변환 수행부(220)는 단계(S1030)를 수행한 뒤, 깊이 맵에 대한 후퇴 시점 변환을 수행할 수도 있다. 깊이 맵에 대한 후퇴 시점 변환 역시 단계(S1020)와 동일하게 수행되므로 이에 대한 상세한 설명은 생략하기로 한다.Further, although not shown as a separate step, the viewpoint conversion performing unit 220 may perform the step S1030 and then perform the retreat viewpoint conversion on the depth map. Since the conversion of the retreat point of the depth map is also performed in the same manner as in step S1020, a detailed description thereof will be omitted.

또한, 시점 변환 수행부(220)는 홀이 채워진 영상들(후퇴 시점 변환된 뒤 홀이 채워진 영상들)을 참조하여 깊이 맵의 홀을 채울 수 있다. 이러한 과정은 단계(S1030)에서 홀을 채우는 방식과 유사하게 진행되므로 이에 대한 상세한 설명은 생략하기로 한다.In addition, the viewpoint conversion performing unit 220 may fill the hole of the depth map by referring to images filled with the hole (images filled with the hole after the retraction viewpoint is converted). Since this process is similar to the method of filling the hole in step S1030, a detailed description thereof will be omitted.

그 후, 단계(S1040)에서 저장부(230)는 홀이 채워진 영상들과 깊이 맵을 저장한다. 이처럼 저장부(230)에 의해 저장된 홀이 채워진 영상들(후퇴 시점 변환된 뒤 홀이 채워진 영상들)과 깊이 맵은 후술되는 360도 영상 렌더링 방법의 단계(S1110)에서 이용되게 된다.Then, in step S1040, the storage unit 230 stores the images filled with the hole and the depth map. As described above, the hole-filled images stored by the storage unit 230 (images filled with the hole after the retraction point is converted) and the depth map are used in step S1110 of the 360-degree image rendering method to be described later.

또한, 단계(S1040)에서 저장부(230)는 홀이 채워진 영상들을 스티칭하여 360도 전방위 영상을 생성함으로써, 스티칭 영상과 깊이 맵을 저장하여 후술되는 360도 영상 렌더링 방법의 단계(S1110)에서 이용되도록 할 수 있다.In addition, in step S1040, the storage unit 230 creates a 360-degree omnidirectional image by stitching the images filled with holes, and stores the stitched image and a depth map to be used in step S1110 of the 360-degree image rendering method described later. You can do it.

이 때, 저장되는 깊이 맵이 복수의 카메라들(110)에서 각각 촬영된 영상들에 대응하여 복수 개로 획득되는 경우, 시점 변환 수행부(220)는 복수의 깊이 맵들 각각의 홀을 채울 수 있으며, 저장부(230)는 홀이 채워진 깊이 맵들을 스티칭하여 360도 전방위 깊이 맵을 생성하여 저장할 수 있다.In this case, when a plurality of stored depth maps are acquired corresponding to images respectively captured by the plurality of cameras 110, the viewpoint conversion performing unit 220 may fill a hole of each of the plurality of depth maps, The storage unit 230 may stitch depth maps filled with holes to generate and store a 360-degree all-round depth map.

도 11은 일 실시예에 따른 360도 영상 렌더링 방법을 나타낸 플로우 차트이다. 이하, 설명되는 360도 영상 렌더링 방법은 도 10을 참조하여 설명된 360도 영상 저장 방법이 사전에 수행된 이후에 수행됨을 전제로 한다. 그러나 이에 제한되거나 한정되지 않고, 360도 카메라 시스템(100)에 포함되는 복수의 카메라들(110)에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들이 저장되는 다양한 영상 저장 방법이 수행된 이후에 수행될 수 있다. 또한, 이하, 360도 영상 렌더링 방법은 360도 카메라 시스템(100)에 포함되는 프로세서(130)의 구성요소들에 의해 수행되는 것으로 설명되며, 프로세서(130)의 구성요소들은 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램의 형태로 구현될 수 있다.11 is a flowchart illustrating a method of rendering a 360 degree image according to an exemplary embodiment. Hereinafter, it is assumed that the 360-degree image rendering method described is performed after the 360-degree image storage method described with reference to FIG. 10 is previously performed. However, the present invention is not limited or limited thereto, and the images captured by the plurality of cameras 110 included in the 360-degree camera system 100 are performed after various image storage methods in which the converted images are stored at the retreat point. Can be. In addition, hereinafter, the 360-degree image rendering method is described as being performed by components of the processor 130 included in the 360-degree camera system 100, and the components of the processor 130 are stored in a computer-readable recording medium. It can be implemented in the form of a recorded computer program.

도 11을 참조하면, 단계(S1110)에서 일 실시예에 따른 360도 영상 렌더링 시스템에 포함되는 로드부(310)는, 360도 카메라 시스템(100)에 포함되는 복수의 카메라들(110)에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들과 깊이 맵을 로드한다. 여기서, 후퇴 시점 변환된 영상들은 도 10을 참조하여 설명된 360도 영상 저장 방법 중 단계(S1040)에서 저장된 후퇴 시점 변환된 뒤 홀이 채워진 영상들일 수 있다.Referring to FIG. 11, in step S1110, the load unit 310 included in the 360-degree image rendering system according to an embodiment is, respectively, in a plurality of cameras 110 included in the 360-degree camera system 100. Each of the captured images loads the converted images and the depth map at the retreat point. Here, the images converted from the retreat point may be images in which the hole is filled after the retreat point is converted in step S1040 of the 360-degree image storage method described with reference to FIG. 10.

영상들에 대한 깊이 맵 역시 마찬가지로 도 10을 참조하여 설명된 360도 영상 저장 방법에서 획득된 깊이 맵으로, 특히, 홀이 채워진 상태의 깊이 맵일 수 있다.Likewise, the depth map for the images is a depth map obtained in the 360-degree image storage method described with reference to FIG. 10, and in particular, may be a depth map in a state where a hole is filled.

이 때, 단계(S1110)에서 로드부(310)는 스티칭 영상과 깊이 맵을 로드할 수 있다. 이러한 경우, 로드되는 깊이 맵 역시, 깊이 맵들이 스티칭된 360도 전방위 깊이 맵일 수 있으며, 후술되는 단계(S1120)에서 시점 변환 수행부(320)는 360도 전방위 영상인 스티칭 영상에 대한 전진 시점 변환을 수행할 수 있다.At this time, in step S1110, the load unit 310 may load the stitching image and the depth map. In this case, the loaded depth map may also be a 360-degree omni-directional depth map in which depth maps are stitched, and in step S1120 to be described later, the viewpoint conversion performing unit 320 performs a forward viewpoint transformation for a stitched image that is a 360-degree omni-directional image. Can be done.

그 후, 단계(S1120)에서 360도 영상 렌더링 시스템에 포함되는 시점 변환 수행부(320)는, 깊이 맵을 이용하여 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행한다. 구체적으로, 시점 변환 수행부(320)는 깊이 맵에 기초하여 복수의 카메라들(110) 각각의 초점 거리, 복수의 카메라들(110) 사이의 베이스라인의 길이 및 복수의 카메라들(110) 사이의 시차에 기초한 시점 변환 수식(전술된 식 9 또는 10)을 설정하고, 시점 변환 수식에서 이동 파라미터를 결정함으로써, 시점 변환 수식을 이용하여 영상들 각각의 시점이 전진 위치에서 촬영된 영상의 시점으로 일치하도록 변환할 수 있다. 예를 들어, 시점 변환 수행부(320)는 복수의 카메라들(110) 각각의 광학 중심이 360도 카메라 시스템(100) 상 복수의 카메라들(110)이 배치되는 원 또는 구의 중심 위치로부터 전진된 위치에 배치되도록 전진 시점 변환을 수행할 수 있다.Thereafter, in step S1120, the viewpoint conversion performing unit 320 included in the 360-degree image rendering system performs a forward viewpoint conversion for each of the images converted from the retreat viewpoint using the depth map. Specifically, the viewpoint conversion performing unit 320 is based on the depth map, the focal length of each of the plurality of cameras 110, the length of the baseline between the plurality of cameras 110, and between the plurality of cameras 110 By setting a viewpoint conversion equation (Equation 9 or 10 described above) based on the parallax of, and determining a movement parameter in the viewpoint conversion equation, each viewpoint of the images is converted to the viewpoint of the image photographed from the forward position using the viewpoint conversion equation. You can convert it to match. For example, the viewpoint conversion performing unit 320 has the optical center of each of the plurality of cameras 110 advanced from the center position of a circle or sphere on which the plurality of cameras 110 are placed on the 360 degree camera system 100. It is possible to perform a forward point conversion to be placed in a position.

이러한 전진 시점 변환은 도 10을 참조하여 전술된 360도 영상 저장 방법 중 단계(S1020)에서 수행된 후퇴 시점 변환의 역변환일 수 있다.The forward viewpoint transformation may be an inverse transformation of the retraction viewpoint transformation performed in step S1020 of the 360-degree image storage method described above with reference to FIG. 10.

이러한 전진 시점 변환을 통해, 복수의 카메라들(110)에서 각각 촬영된 영상들이 각각 후퇴 시점 변환되는 과정에서 발생된 홀(도 10을 참조하여 전술된 360도 영상 저장 방법 중 단계(S1020)에서 수행된 후퇴 시점 변환에서 발생될 수 있는 홀)이 제거될 수 있다.Through this forward point conversion, a hole generated in the process of converting each of the images captured by the plurality of cameras 110 to the retreat point (performed in step S1020 of the 360-degree image storage method described above with reference to FIG. 10) Holes that may occur in the transition of the retracted point) can be eliminated.

또한, 렌더링 과정에서 오클루전 영역에서 발생되는 홀 역시 전진 시점 변환에 의해 생성되는 오클루전 영역으로 감춰질 수 있다.In addition, a hole generated in the occlusion area during the rendering process may also be hidden as an occlusion area generated by a forward viewpoint transformation.

단계(S1120)를 통해서도 제거되거나 감춰지지 않은 홀은, 전진 시점 변환된 영상들 각각에서 전진 시점 변환된 영상들 각각의 홀과 인접한 배경 영역의 정보를 이용하여 채워질 수 있다. 예를 들어, 단계(S1120) 이후, 시점 변환 수행부(320)는 전진 시점 변환된 영상들 각각의 홀과 인접한 배경 영역의 정보를 이용하여, 전진 시점 변환된 영상들 각각의 홀을 채울 수 있다. 더 구체적인 예를 들면, 전진 시점 변환된 영상 내 홀이 존재한다면, 시점 변환 수행부(320)는 영상의 영역들 중 홀에 인접한 배경 영역의 픽셀값으로 영상의 홀을 채울 수 있다.Holes that are not removed or hidden even through the step S1120 may be filled using information on a background region adjacent to the hole of each of the images converted from the forward viewpoint in each of the images converted from the forward viewpoint. For example, after step S1120, the viewpoint conversion performing unit 320 may fill a hole of each of the forward viewpoint converted images by using information on a background region adjacent to each hole of the forward viewpoint converted images. . For a more specific example, if there is a hole in the image converted from the forward view, the view conversion performing unit 320 may fill the hole of the image with pixel values of a background area adjacent to the hole among the areas of the image.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable gate array (PLU). It may be implemented using one or more general purpose computers or special purpose computers, such as a logic unit), a microprocessor, or any other device capable of executing and responding to instructions. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. In addition, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to behave as desired or processed independently or collectively. You can command the device. Software and/or data may be embodyed in any type of machine, component, physical device, computer storage medium or device to be interpreted by the processing device or to provide instructions or data to the processing device. have. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. In this case, the medium may be one that continuously stores a program executable by a computer, or temporarily stores a program for execution or download. In addition, the medium may be a variety of recording means or storage means in a form in which a single or several pieces of hardware are combined, but is not limited to a medium directly connected to a computer system, but may be distributed on a network. Examples of media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, magnetic-optical media such as floptical disks, and And a ROM, RAM, flash memory, and the like, and may be configured to store program instructions. In addition, examples of other media include an app store that distributes applications, a site that supplies or distributes various software, and a recording medium or a storage medium managed by a server.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description by those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as a system, structure, device, circuit, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and claims and equivalents fall within the scope of the claims to be described later.

Claims (18)

360도 카메라 시스템에 구비되는 컴퓨터에 의해 실행되는 360도 영상 저장 방법에 있어서,
상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들과 깊이 맵(Depth map)을 획득하는 단계;
상기 깊이 맵을 이용하여 상기 영상들 각각에 대한 후퇴 시점 변환을 수행하는 단계;
상기 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채우는 단계; 및
상기 홀이 채워진 영상들과 상기 깊이 맵을 저장하는 단계
를 포함하는 360도 영상 저장 방법.
In the 360-degree image storage method executed by a computer provided in a 360-degree camera system,
Acquiring images and depth maps respectively captured by a plurality of cameras included in the 360 degree camera system;
Performing a retraction point conversion for each of the images using the depth map;
Filling a hole of each of the converted images at the retreat point; And
Storing the images filled with the hole and the depth map
360-degree image storage method comprising a.
제1항에 있어서,
상기 후퇴 시점 변환된 영상들 각각의 홀을 채우는 단계는,
상기 후퇴 시점 변환된 영상들 각각을 촬영한 카메라와 인접한 카메라에서 촬영된 영상을 이용하여, 상기 후퇴 시점 변환된 영상들 각각의 홀을 채우는 단계
를 포함하는 360도 영상 저장 방법.
The method of claim 1,
Filling the holes of each of the converted images at the retreat point,
Filling a hole of each of the converted images at the retreat time using an image photographed by a camera and an adjacent camera photographing each of the converted images at the retreat time point
360-degree image storage method comprising a.
제1항에 있어서,
상기 후퇴 시점 변환된 영상들 각각의 홀을 채우는 단계는,
상기 후퇴 시점 변환된 영상들 각각에서 상기 후퇴 시점 변환된 영상들 각각의 홀과 인접한 배경 영역의 정보를 이용하여, 상기 후퇴 시점 변환된 영상들 각각의 홀을 채우는 단계
를 포함하는 360도 영상 저장 방법.
The method of claim 1,
Filling the holes of each of the converted images at the retreat point,
Filling a hole of each of the converted images at the retreat time using information on a background region adjacent to each hole of the converted images at the retreat time point
360-degree image storage method comprising a.
제1항에 있어서,
상기 영상들 각각에 대한 후퇴 시점 변환을 수행하는 단계는,
상기 깊이 맵에 기초하여 상기 복수의 카메라들 각각의 초점 거리, 상기 복수의 카메라들 사이의 베이스라인의 길이 및 상기 복수의 카메라들 사이의 시차에 기초한 시점 변환 수식을 설정하는 단계;
상기 시점 변환 수식에서 이동 파라미터-상기 이동 파라미터는 상기 영상들 각각이 촬영된 위치가 가상의 특정 위치로 이동될 때의 이동할 거리와 관련된 값임-를 결정하는 단계; 및
상기 시점 변환 수식을 이용하여, 상기 영상들 각각의 시점을 상기 영상들 각각이 촬영된 위치로부터 후퇴된 위치에서 촬영된 영상의 시점으로 일치하도록 변환하는 단계
를 포함하는 360도 영상 저장 방법.
The method of claim 1,
The step of performing a retraction point conversion for each of the images,
Setting a viewpoint conversion equation based on a focal length of each of the plurality of cameras, a length of a baseline between the plurality of cameras, and a parallax between the plurality of cameras based on the depth map;
Determining a movement parameter in the viewpoint conversion equation, wherein the movement parameter is a value related to a moving distance when a position where each of the images is photographed is moved to a virtual specific position; And
Converting a viewpoint of each of the images to match a viewpoint of an image photographed at a position retracted from a position where each of the images was photographed using the viewpoint conversion equation
360-degree image storage method comprising a.
제4항에 있어서,
상기 시점 변환 수식에서 이동 파라미터를 결정하는 단계는,
상기 복수의 카메라들 각각의 광학 중심이 상기 360도 카메라 시스템 상 상기 복수의 카메라들이 배치되는 원 또는 구의 중심 위치로 이동될 때의 이동할 거리에 기초하여 상기 이동 파라미터를 결정하는 단계인, 360도 영상 저장 방법.
The method of claim 4,
The step of determining a movement parameter in the viewpoint conversion equation,
A step of determining the movement parameter based on a moving distance when the optical center of each of the plurality of cameras is moved to the center position of a circle or sphere in which the plurality of cameras are arranged on the 360° camera system. How to save.
제4항에 있어서,
상기 영상들 각각의 시점을 상기 영상들 각각이 촬영된 위치로부터 후퇴된 위치에서 촬영된 영상의 시점으로 일치하도록 변환하는 단계는,
상기 영상들 각각의 시점을 상기 360도 카메라 시스템 상 상기 복수의 카메라들이 배치되는 원 또는 구의 중심 위치에서 촬영된 영상의 시점으로 변환하는 단계인, 360도 영상 저장 방법.
The method of claim 4,
The step of converting the viewpoint of each of the images to match the viewpoint of the image photographed at a position retracted from the position where each of the images was photographed,
Converting a viewpoint of each of the images into a viewpoint of an image photographed at a center position of a circle or a sphere in which the plurality of cameras are arranged on the 360 degree camera system.
제1항에 있어서,
상기 깊이 맵에 대한 후퇴 시점 변환을 수행하는 단계
를 더 포함하는 360도 영상 저장 방법.
The method of claim 1,
Performing a retraction point conversion for the depth map
360-degree image storage method further comprising a.
제1항에 있어서,
상기 홀이 채워진 영상들에 기초하여 상기 깊이 맵의 홀을 채우는 단계
를 더 포함하는 360도 영상 저장 방법.
The method of claim 1,
Filling a hole of the depth map based on images filled with the hole
360-degree image storage method further comprising a.
제8항에 있어서,
상기 깊이 맵은,
상기 복수의 카메라들에서 각각 촬영된 영상들에 대응하여 복수 개로 획득되고,
상기 깊이 맵의 홀을 채우는 단계는,
상기 복수의 깊이 맵들 각각의 홀을 채우는 단계이며,
상기 360도 영상 저장 방법은,
상기 홀이 채워진 깊이 맵들을 스티칭하여 360도 전방위 깊이 맵을 생성하는 단계
를 더 포함하는 360도 영상 저장 방법.
The method of claim 8,
The depth map,
A plurality of images are acquired corresponding to images respectively captured by the plurality of cameras,
Filling the hole of the depth map,
Filling a hole of each of the plurality of depth maps,
The 360-degree image storage method,
Creating a 360 degree omnidirectional depth map by stitching the depth maps filled with the holes
360-degree image storage method further comprising a.
제1항에 있어서,
상기 홀이 채워진 영상들을 스티칭하여 360도 전방위 영상을 생성하는 단계
를 더 포함하는 360도 영상 저장 방법.
The method of claim 1,
Creating a 360 degree omnidirectional image by stitching the images filled with the hole
360-degree image storage method further comprising a.
컴퓨터와 결합되어 360도 영상 저장 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
상기 360도 영상 저장 방법은,
상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들과 깊이 맵(Depth map)을 획득하는 단계;
상기 깊이 맵을 이용하여 상기 영상들 각각에 대한 후퇴 시점 변환을 수행하는 단계;
상기 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채우는 단계; 및
상기 홀이 채워진 영상들과 상기 깊이 맵을 저장하는 단계
를 포함하는 기록 매체에 기록된 컴퓨터 프로그램.
In a computer program recorded in a computer-readable recording medium to execute a 360-degree image storage method combined with a computer,
The 360-degree image storage method,
Acquiring images and depth maps respectively captured by a plurality of cameras included in the 360 degree camera system;
Performing a retraction point conversion for each of the images using the depth map;
Filling a hole of each of the converted images at the retreat point; And
Storing the images filled with the hole and the depth map
A computer program recorded on a recording medium including a.
카메라 시스템에 구비되는 컴퓨터로 구현되는 360도 영상 저장 시스템에 있어서,
컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들과 깊이 맵(Depth map)을 획득하는 획득부;
상기 깊이 맵을 이용하여 상기 영상들 각각에 대한 후퇴 시점 변환을 수행하고, 상기 후퇴 시점 변환된 영상들 각각의 홀(Hole)을 채우는 시점 변환 수행부; 및
상기 홀이 채워진 영상들과 상기 깊이 맵을 저장하는 저장부
를 포함하는 360도 영상 저장 시스템.
In the 360-degree image storage system implemented by a computer provided in the camera system,
At least one processor implemented to cause a computer to execute readable instructions
Including,
The at least one processor,
An acquisition unit for acquiring images and depth maps respectively captured by a plurality of cameras included in the 360 degree camera system;
A viewpoint conversion performing unit for performing a retreat viewpoint conversion for each of the images using the depth map and filling a hole of each of the retracted viewpoint converted images; And
A storage unit that stores images filled with the hole and the depth map
360-degree image storage system comprising a.
360도 카메라 시스템에 구비되는 컴퓨터에 의해 실행되는 360도 영상 렌더링 방법에 있어서,
상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들과 깊이 맵을 로드하는 단계; 및
상기 깊이 맵을 이용하여 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계
를 포함하는 360도 영상 렌더링 방법.
In the 360-degree image rendering method executed by a computer provided in a 360-degree camera system,
Loading images and depth maps, respectively, in which images captured by a plurality of cameras included in the 360-degree camera system are converted at retreat points; And
Performing a forward viewpoint conversion for each of the images converted at the retreat viewpoint using the depth map
360 degree image rendering method comprising a.
제13항에 있어서,
상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계는,
상기 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환되는 과정에서 발생된 홀을 제거하는 단계인, 360도 영상 렌더링 방법.
The method of claim 13,
The step of performing the forward viewpoint conversion for each of the images converted at the retreat viewpoint,
A method for rendering a 360-degree image, which is a step of removing a hole generated in a process in which images respectively photographed by the plurality of cameras are converted to retreat points.
제13항에 있어서,
상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계는,
렌더링 과정에서 오클루전(Occlusion) 영역에서 발생되는 홀을 상기 전진 시점 변환에 의해 생성되는 오클루전 영역으로 감추는 단계인, 360도 영상 렌더링 방법.
The method of claim 13,
The step of performing the forward viewpoint conversion for each of the images converted at the retreat viewpoint,
A method for rendering a 360-degree image, which is a step of hiding a hole generated in an occlusion area during a rendering process as an occlusion area generated by the forward viewpoint transformation.
제13항에 있어서,
상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계는,
상기 전진 시점 변환된 영상들 각각에서 상기 전진 시점 변환된 영상들 각각의 홀과 인접한 배경 영역의 정보를 이용하여, 상기 전진 시점 변환된 영상들 각각의 홀을 채우는 단계
를 더 포함하는 360도 영상 렌더링 방법.
The method of claim 13,
The step of performing the forward viewpoint conversion for each of the images converted at the retreat viewpoint,
Filling a hole of each of the forward-time-converted images by using information on a background area adjacent to the hole of each of the forward-time-transformed images
A 360-degree image rendering method further comprising a.
컴퓨터와 결합되어 360도 영상 렌더링 방법을 실행시키기 위해 컴퓨터 판독 가능한 기록 매체에 기록된 컴퓨터 프로그램에 있어서,
상기 360도 영상 렌더링 방법은,
상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들과 깊이 맵을 로드하는 단계; 및
상기 깊이 맵을 이용하여 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 단계
를 포함하는 기록 매체에 기록된 컴퓨터 프로그램.
In a computer program recorded in a computer-readable recording medium to execute a 360-degree image rendering method in combination with a computer,
The 360-degree image rendering method,
Loading images and depth maps, respectively, in which images captured by a plurality of cameras included in the 360-degree camera system are converted at retreat points; And
Performing a forward viewpoint conversion for each of the images converted at the retreat viewpoint using the depth map
A computer program recorded on a recording medium including a.
카메라 시스템에 구비되는 컴퓨터로 구현되는 360도 영상 렌더링 시스템에 있어서,
컴퓨터가 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
를 포함하고,
상기 적어도 하나의 프로세서는,
상기 360도 카메라 시스템에 포함되는 복수의 카메라들에서 각각 촬영된 영상들이 각각 후퇴 시점 변환된 영상들과 깊이 맵을 로드하는 로드부; 및
상기 깊이 맵을 이용하여 상기 후퇴 시점 변환된 영상들 각각에 대한 전진 시점 변환을 수행하는 시점 변환 수행부
를 포함하는 360도 영상 렌더링 시스템.
In the 360-degree image rendering system implemented by a computer provided in the camera system,
At least one processor implemented to cause a computer to execute readable instructions
Including,
The at least one processor,
A loading unit that loads images and depth maps, each of which images captured by a plurality of cameras included in the 360-degree camera system are converted into retreat points; And
A viewpoint conversion performing unit that performs a forward viewpoint conversion for each of the images converted at the retreat viewpoint using the depth map
360 degree image rendering system comprising a.
KR1020190037679A 2019-04-01 2019-04-01 360 degree image storing method and rendering method using viewpoint transformation KR102209907B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190037679A KR102209907B1 (en) 2019-04-01 2019-04-01 360 degree image storing method and rendering method using viewpoint transformation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190037679A KR102209907B1 (en) 2019-04-01 2019-04-01 360 degree image storing method and rendering method using viewpoint transformation

Publications (2)

Publication Number Publication Date
KR20200116224A true KR20200116224A (en) 2020-10-12
KR102209907B1 KR102209907B1 (en) 2021-01-29

Family

ID=72886479

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190037679A KR102209907B1 (en) 2019-04-01 2019-04-01 360 degree image storing method and rendering method using viewpoint transformation

Country Status (1)

Country Link
KR (1) KR102209907B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102373571B1 (en) * 2020-11-16 2022-03-10 주식회사 펀진 Surround view monitoring system and method thereof
WO2022102795A1 (en) * 2020-11-10 2022-05-19 주식회사 피제이팩토리 Method for connecting 360° images

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140021765A (en) * 2012-08-10 2014-02-20 광운대학교 산학협력단 A hologram generating method using virtual view-point depth image synthesis
KR20170059902A (en) * 2015-11-23 2017-05-31 한국전자통신연구원 Method and apparatus for encoding/dicoding a multi-perspective video
KR101933037B1 (en) * 2017-03-24 2018-12-27 주식회사 씨오티커넥티드 Apparatus for reproducing 360 degrees video images for virtual reality

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140021765A (en) * 2012-08-10 2014-02-20 광운대학교 산학협력단 A hologram generating method using virtual view-point depth image synthesis
KR20170059902A (en) * 2015-11-23 2017-05-31 한국전자통신연구원 Method and apparatus for encoding/dicoding a multi-perspective video
KR101933037B1 (en) * 2017-03-24 2018-12-27 주식회사 씨오티커넥티드 Apparatus for reproducing 360 degrees video images for virtual reality

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022102795A1 (en) * 2020-11-10 2022-05-19 주식회사 피제이팩토리 Method for connecting 360° images
KR102373571B1 (en) * 2020-11-16 2022-03-10 주식회사 펀진 Surround view monitoring system and method thereof

Also Published As

Publication number Publication date
KR102209907B1 (en) 2021-01-29

Similar Documents

Publication Publication Date Title
US11632533B2 (en) System and method for generating combined embedded multi-view interactive digital media representations
US10728527B2 (en) Tilts as a measure of user engagement for multiview interactive digital media representations
US10382739B1 (en) Visual annotation using tagging sessions
US10818029B2 (en) Multi-directional structured image array capture on a 2D graph
CN110622494B (en) Image capture using an articulated device with multiple cameras
US10068316B1 (en) Tilts as a measure of user engagement for multiview digital media representations
JP6643357B2 (en) Full spherical capture method
CN106547092B (en) Method and apparatus for compensating for movement of head mounted display
EP2992508B1 (en) Diminished and mediated reality effects from reconstruction
US8611642B2 (en) Forming a steroscopic image using range map
KR101997991B1 (en) Image merging method and system using viewpoint transformation
US11044398B2 (en) Panoramic light field capture, processing, and display
WO2013074561A1 (en) Modifying the viewpoint of a digital image
CN104618704A (en) Method and apparatus for processing a light field image
KR102209907B1 (en) 360 degree image storing method and rendering method using viewpoint transformation
TWI669683B (en) Three dimensional reconstruction method, apparatus and non-transitory computer readable storage medium
WO2019213392A1 (en) System and method for generating combined embedded multi-view interactive digital media representations
US11176678B2 (en) Method and apparatus for applying dynamic effect to image
JP6152888B2 (en) Information processing apparatus, control method and program thereof, and information processing system, control method and program thereof
JP2019144958A (en) Image processing device, image processing method, and program
KR101986433B1 (en) Image stitching method and system using viewpoint transformation
US20230217001A1 (en) System and method for generating combined embedded multi-view interactive digital media representations
US20240078743A1 (en) Stereo Depth Markers
US20230196658A1 (en) Enclosed multi-view visual media representation
KR102608466B1 (en) Method and apparatus for processing image

Legal Events

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