KR20180073778A - Method for processing virtual image and device thereof - Google Patents

Method for processing virtual image and device thereof Download PDF

Info

Publication number
KR20180073778A
KR20180073778A KR1020160176900A KR20160176900A KR20180073778A KR 20180073778 A KR20180073778 A KR 20180073778A KR 1020160176900 A KR1020160176900 A KR 1020160176900A KR 20160176900 A KR20160176900 A KR 20160176900A KR 20180073778 A KR20180073778 A KR 20180073778A
Authority
KR
South Korea
Prior art keywords
image
stitching
module
distorted
modules
Prior art date
Application number
KR1020160176900A
Other languages
Korean (ko)
Other versions
KR101926459B1 (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 KR1020160176900A priority Critical patent/KR101926459B1/en
Publication of KR20180073778A publication Critical patent/KR20180073778A/en
Application granted granted Critical
Publication of KR101926459B1 publication Critical patent/KR101926459B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/016Exploded view
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2004Aligning objects, relative positioning of parts

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Architecture (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Image Processing (AREA)

Abstract

Provided are a device and an operation method for image processing. The virtual reality image processing method according to an embodiment of the present invention includes a process of calling a stitching pipeline having a designated shape; a process of calling an original image with respect to each of at least two stitching modules included in the stitching pipeline; a step of converting the original image called with respect to each of the stitching modules for matching with the designated shape based on each of the stitching modules; and a step of creating an exploded view of one virtual reality image by combining each of the converted images at a designated position with respect to each of the corresponding stitching modules.

Description

가상현실 이미지 처리방법 및 그 장치{METHOD FOR PROCESSING VIRTUAL IMAGE AND DEVICE THEREOF}TECHNICAL FIELD [0001] The present invention relates to a virtual reality image processing method,

본 발명은 가상현실 이미지 처리방법 및 그 장치에 관한 것으로, 상세하게는 가상현실 이미지를 생성, 수정 또는 처리하는 방법 및 그 장치에 관한 것이다.The present invention relates to a virtual reality image processing method and apparatus, and more particularly, to a method and apparatus for generating, modifying, or processing a virtual reality image.

360° 파노라마 이미지는 파노라마 이미지는 파노라믹 가상현실(Panoramic virtual reality)을 구현하는데 사용되는데, 파노라믹 가상현실을 구현하려면 크게 두 단계를 거쳐야 한다. 첫 번째는 360도 파노라마 가상현실 이미지(vr 이미지)를 얻는 단계이고, 두 번째는 파노라믹 vr 뷰어(viewer)를 통해 전시하는 단계이다.A 360 ° panoramic image is used to implement panoramic virtual reality. Panoramic virtual reality requires two steps. The first is to obtain a 360 degree panoramic virtual reality image (vr image), and the second is to display through a panoramic vr viewer.

파노라믹 vr 뷰어는 입력으로 파노라마 이미지를 받고, 사용자가 특정한 시선 방향을 지정해주면, 그 시선 방향으로 보았을 때의 모습을 파노라마 이미지로부터 실시간으로 생성하여 보여준다.The panoramic vr viewer receives the panoramic image as an input, and when the user designates a specific direction of the sight, the view from the panoramic image is generated in real time from the viewpoint in the sight direction.

vr 이미지는 보통 카메라의 위치는 고정시키고, 카메라의 몸체를 회전시켜가면서 연속적으로 얻은 사진들을 적당히 이어 붙이거나, 다수의 카메라를 통해서 촬영된 이미지를 이어 붙여 생성되며, 이때, 촬영된 다수의 이미지를 이용하여 하나로 연결된 vr 이미지를 생성하기 위한 다양한 이미지 처리 방법이 개발되고 있다.The vr image is usually generated by fixing the position of the camera, attaching successively obtained images while appropriately rotating the body of the camera, or attaching images taken through a plurality of cameras to each other. At this time, A variety of image processing methods are being developed for generating vr images linked together.

특허문헌 제10-1077584호는 복수개의 카메라로부터 획득한 영상을 정합하는 영상 처리 장치에 있어서, 인접한 카메라 사이에서 촬영 영역이 일부분 겹치도록 배치되는 적어도 2 이상의 복수개의 카메라; 상기 복수개의 카메라로부터 획득된 적어도 2 이상의 복수개의 입력 영상 신호를 수신하는 영상 신호 수신부; 상기 복수개의 카메라로부터 획득되는 복수개의 입력 영상 신호를 구성하는 각각의 영상 화소들이 합성 영상 신호의 영상 화소에 대응되는 관계에 대한 영상 매핑 데이터를 저장하는 룩업 테이블; 및 상기 영상 신호 수신부로부터 복수개의 입력 영상 신호를 수신하여 상기 룩업 테이블을 참조하여 각각의 입력 영상 신호를 구성하는 각각의 영상 화소들에 대한 합성 영상 신호의 영상 화소를 구성하는 영상 정합부; 및 상기 영상 정합부에서 구성된 합성 영상 신호에 기초하여 출력 영상을 생성하여 출력하는 영상 신호 출력부를 구비하는 영상 처리 장치.을 개시하고 있다.Patent Document 10-1077584 discloses an image processing apparatus for matching images acquired from a plurality of cameras, comprising: at least two or more cameras arranged so that a photographing region partially overlaps between adjacent cameras; A video signal receiving unit for receiving at least two or more input video signals obtained from the plurality of cameras; A lookup table for storing image mapping data of a relation of each image pixel constituting a plurality of input image signals obtained from the plurality of cameras to image pixels of a composite image signal; And an image matching unit for receiving a plurality of input image signals from the image signal receiving unit and constructing image pixels of a composite image signal for each of the image pixels constituting each input image signal with reference to the lookup table; And a video signal output unit for generating and outputting an output video based on the composite video signal formed by the video matching unit.

이러한, 영상 처리 장치는, 복수개의 영상에 대하여 룩업 테이블을 이용하여 화소들을 매핑함으로써 출력 영상을 생성하는 것으로, 영상의 수가 변경되거나, 영상의 수정과 같이 vr 이미지 생성 환경의 변화가 발생되는 경우, vr 이미지의 생성 과정을 처음부터 다시 수행해야 하는 한계가 존재한다.Such an image processing apparatus generates an output image by mapping pixels using a lookup table to a plurality of images. When the number of images changes or a change occurs in the vr image generation environment, such as image correction, there is a limitation that the process of generating the vr image must be performed from the beginning.

10-1077584 (등록특허공보)10-1077584 (registered patent publication)

상술한 문제점을 해결하기 위하여, 본 발명의 다양한 실시 예에 따르면, 다수의 이미지를 이용하여 vr 이미지를 생성하기 위한, 가상현실 이미지 처리장치 및 그 동작 방법을 제공할 수 있다.According to various embodiments of the present invention, a virtual reality image processing apparatus and an operation method thereof for generating a vr image using a plurality of images can be provided.

본 발명의 일 실시 예에 따르면, 다수의 이미지를 이용하여 vr 이미지를 생성함에 있어서, vr 이미지 생성 환경의 변화에 대하여 효과적으로 대응할 수 있는, 가상현실 이미지 처리장치 및 그 동작 방법을 제공할 수 있다.According to an embodiment of the present invention, it is possible to provide a virtual reality image processing apparatus and an operation method thereof capable of effectively coping with a change of a vr image generation environment in generating a vr image using a plurality of images.

본 발명의 일 실시 예에 따르면, 이미지를 이용하여 vr 이미지를 생성함에 있어서, 생성된 vr 이미지의 일부를 수정하기 위한, 가상현실 이미지 처리장치 및 그 동작 방법을 제공할 수 있다.According to an embodiment of the present invention, in generating a vr image using an image, a virtual reality image processing apparatus and an operation method thereof for modifying a part of a generated vr image can be provided.

본 발명의 일 실시 예에 따르면, 지정된 형태의 스티칭 파이프라인을 호출하는 과정; 상기 스티칭 파이프라인에 포함되는 둘 이상의 스티칭 모듈 각각에 대하여 이미지 원본을 호출하는 과정; 상기 둘 이상의 스티칭 모듈 각각에 대하여 호출된 이미지 원본을 상기 둘 이상의 스티칭 모듈 각각에 기반하여 지정된 형태에 매칭되도록 변환하는 단계; 및 상기 변환된 둘 이상의 이미지 각각을 대응되는 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성하는 단계;를 포함하는, 가상현실 이미지 처리방법을 제공한다.According to an embodiment of the present invention, there is provided a method of calling a stitching pipeline of a specified type; Calling an image source for each of the at least two stitching modules included in the stitching pipeline; Converting the called image source for each of the at least two stitching modules to match a specified type based on each of the at least two stitching modules; And merging the converted two or more images at a designated position with respect to each of the two or more corresponding stitching modules to generate a developed view of one virtual reality image.

다양한 실시 예에 따르면, 제1항에 있어서, 상기 둘 이상의 스티칭 모듈 각각에 대하여 호출된 이미지 원본을 상기 둘 이상의 스티칭 모듈 각각에 기반하여 지정된 형태에 매칭되도록 변환하는 단계는, 상기 이미지 원본을 빨강과 초록의 그라데이션에 기반하는 플레이트에서 위치와 형태가 지정된 일부왜곡맵에 적용하여 상기 이미지를 왜곡할 수 있다.The method of claim 1, wherein transforming the called image source for each of the at least two stitching modules to match a specified type based on each of the at least two stitching modules comprises: It is possible to distort the image by applying it to some distorted maps that are positioned and shaped in a plate based on a green gradient.

또한, 상기 둘 이상의 스티칭 모듈 각각에 대하여 호출된 이미지를 상기 둘 이상의 스티칭 모듈 각각에 기반하여 지정된 형태에 매칭되도록 변환하는 단계는, 상기 호출된 이미지 원본을 왜곡하는 단계; 및 상기 왜곡된 이미지의 병합을 위하여 지정된 채널의 전처리를 수행하는 단계;를 포함할 수 있다.The step of transforming the called image for each of the at least two stitching modules to match the designated type based on each of the at least two stitching modules further comprises: distorting the called image source; And performing a preprocessing of a designated channel for merging the distorted image.

또한, 상기 변환된 둘 이상의 이미지 각각을 대응되는 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성하는 단계는, 상기 변환된 이미지의 병합을 위하여 상기 지정된 채널의 곱연산을 처리하는 단계를 포함할 수 있다.The step of merging the converted two or more images at a designated position with respect to each of the two or more corresponding stitching modules to generate a developed view of one virtual reality image may further include the step of merging the transformed images, And processing the multiplication operation.

또한, 상기 지정된 채널은, 상기 가상현실 이미지의 전개도에 배치된 상기 둘 이상의 왜곡된 이미지 중 겹쳐지는 영역에 대응하여 결정될 수 있다.In addition, the designated channel may be determined corresponding to an overlapped area of the at least two distorted images arranged in the developed view of the virtual reality image.

또한, 상기 전처리는, 상기 가상현실 이미지의 전개도에 배치된 상기 둘 이상의 왜곡된 이미지 중 겹쳐지는 영역에 대하여 알파값을 적용할 수 있다.Also, the pre-processing may apply an alpha value to an overlapping area of the at least two distorted images arranged in the developed view of the virtual reality image.

또한, 가상현실 이미지 처리방법은, 상기 스티칭 파이프라인에 적어도 하나의 스티칭 모듈을 추가하는 과정;을 더 포함할 수 있다.The virtual reality image processing method may further include adding at least one stitching module to the stitching pipeline.

또한, 상기 스티칭 파이프라인에 적어도 하나의 스티칭 모듈을 추가하는 과정은, 상기 지정된 형태의 스티칭 파이프라인을 호출하는 과정에서 추가로 수행되거나, 또는 상기 변환된 둘 이상의 이미지 각각을 대응되는 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성하는 단계 이후에 수행될 수 있다.Further, the step of adding at least one stitching module to the stitching pipeline may be further performed in a process of calling the stitching pipeline of the specified type, or the process of adding the at least one stitching module to each of the two or more stitching pipes May be performed after merging at a specified position for each module to generate a developed view of one virtual reality image.

또한, 상기 가상현실 이미지의 전개도에서 특정 위치를 선택하는 단계; 및 상기 특정 위치에 대응되는 왜곡된 이미지 및 이미지 원본 중 적어도 하나를 호출하는 단계;를 더 포함할 수 있다.Selecting a specific location in the developed view of the virtual reality image; And calling at least one of a distorted image and an image source corresponding to the specific location.

한편, 본 발명의 일 실시 예에 따르면, 이미지 원본을 호출하는 이미지 호출 모듈; 상기 이미지 원본을 변환하고, 둘 이상의 왜곡된 이미지를 병합하는 변환 처리모듈; 및 지정된 형태의 스티칭 파이프라인을 호출하고, 상기 이미지 호출 모듈을 통하여 상기 스티칭 파이프라인에 포함되는 둘 이상의 스티칭 모듈 각각에 대하여 상기 이미지 원본을 호출하고, 상기 변환 처리모듈을 통하여 상기 둘 이상의 스티칭 모듈 각각에 대하여 호출된 상기 이미지 원본을 상기 둘 이상의 스티칭 모듈 각각에 기반하여 지정된 형태에 매칭되도록 변환하고, 상기 변환된 둘 이상의 이미지 각각을 대응되는 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성하도록 처리하는 제어모듈;을 포함하는, 가상현실 이미지 처리장치를 제공한다.Meanwhile, according to an embodiment of the present invention, an image calling module for calling an image source; A transformation processing module that transforms the image source and merges two or more distorted images; And calling the image source for each of the at least two stitching modules included in the stitching pipeline through the image calling module, and calling the image source through the conversion processing module for each of the two or more stitching modules The image source is converted to match the designated type based on each of the two or more stitching modules, and each of the two or more converted images is merged at a designated position with respect to each of the corresponding two or more stitching modules, And a control module for processing the generated virtual reality image to generate a developed view of the virtual reality image.

다양한 실시 예에 따르면, 상기 변환 처리모듈은, 상기 이미지 원본을 빨강과 초록의 그라데이션에 기반하는 플레이트에서 위치와 형태가 지정된 일부왜곡맵에 적용하여 상기 이미지를 왜곡할 수 있다.According to various embodiments, the transformation processing module may distort the image by applying the image source to some distorted maps that are positioned and shaped in a plate based on red and green gradients.

또한, 상기 변환 처리모듈은, 상기 호출된 이미지 원본을 왜곡하고, 상기 왜곡된 이미지의 병합을 위하여 지정된 채널의 전처리를 수행할 수 있다.The transformation processing module may also perform a preprocessing of a designated channel for distorting the called image source and merging the distorted image.

또한, 상기 변환 처리모듈은, 상기 변환된 이미지의 병합을 위하여 상기 지정된 채널의 곱연산을 처리할 수 있다.In addition, the conversion processing module may process the multiplication of the designated channel for merging the converted image.

또한, 상기 제어모듈은, 상기 가상현실 이미지의 전개도에 배치된 상기 둘 이상의 왜곡된 이미지 중 겹쳐지는 영역에 대응하여 상기 지정된 채널을 결정할 수 있다.In addition, the control module may determine the designated channel corresponding to an overlapped area of the two or more distorted images arranged in the developed view of the virtual reality image.

또한, 상기 변환 처리모듈은, 상기 가상현실 이미지의 전개도에 배치된 상기 둘 이상의 왜곡된 이미지 중 겹쳐지는 영역에 대하여 알파값을 적용하여 상기 전처리를 수행할 수 있다.In addition, the conversion processing module may perform the pre-processing by applying an alpha value to an overlapped region of the two or more distorted images arranged in the developed view of the virtual reality image.

또한, 상기 제어모듈은, 상기 스티칭 파이프라인에 적어도 하나의 스티칭 모듈을 추가할 수 있다.In addition, the control module may add at least one stitching module to the stitching pipeline.

또한, 상기 제어모듈은, 상기 가상현실 이미지의 전개도에서 특정 위치를 선택하고, 상기 특정 위치에 대응되는 왜곡된 이미지 및 이미지 원본 중 적어도 하나를 호출할 수 있다.In addition, the control module may select a specific position in the developed view of the virtual reality image, and may call at least one of the distorted image and image source corresponding to the specific position.

또한, 상기 둘 이상의 스티칭 모듈 각각은, 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 방향에 대하여 촬영된 이미지 원본을 호출하는 이미지 노드; 상기 이미지 노드에 호출된 상기 이미지 원본을 배치하는 위치 및 왜곡 형태 중 적어도 하나를 결정하는 샘플 노드; 상기 샘플 노드에 기반하여 상기 이미지 원본을 왜곡하는 왜곡 노드; 상기 왜곡된 이미지의 병합을 위하여 지정된 채널의 전처리를 수행하는 채널설정 노드; 및 상기 왜곡된 이미지의 병합을 위하여 상기 지정된 채널의 곱연산을 처리하는 보정 노드; 중 적어도 하나의 하위 노드를 포함할 수 있다.Each of the two or more stitching modules further includes an image node calling an image source photographed with respect to a specified direction for each of the two or more stitching modules; A sample node for determining at least one of a position and a distortion shape placing the image source called in the image node; A distortion node for distorting the image source based on the sample node; A channel setting node for performing preprocessing of a designated channel for merging the distorted image; And a correction node processing a product operation of the designated channel for merging the distorted image; Lt; RTI ID = 0.0 > a < / RTI >

본 발명의 다양한 실시 예에 따르면, 기 생성된 스티칭 파이프라인을 호출하거나, 하나의 방향에 대한 이미지를 처리하는 스티칭 모듈을 둘 이상 포함하는 스티칭 파이프라인을 생성함으로써, 다양한 방향에 대하여 촬영된 이미지를 기반으로 하는 vr 이미지의 생성을 효과적으로 수행할 수 있다.According to various embodiments of the present invention, by creating a stitching pipeline that includes two or more stitching modules that call a pre-created stitching pipeline or process an image for one direction, It is possible to efficiently generate the vr image based on the vr image.

본 발명의 다양한 실시 예에 따르면, 스티칭 파이프라인을 통하여 다양한 방향에 대하여 촬영된 이미지의 합성을 위한 스티칭 모듈을 추가 및/또는 제거 가능하도록 처리함으로써, 생성되는 vr 이미지의 품질을 효과적으로 제어하고, vr 이미지의 수정을 처리할 수 있다.According to various embodiments of the present invention, the quality of the generated vr image is effectively controlled by adding and / or removing stitching modules for the synthesis of images photographed in various directions through the stitching pipeline, and vr You can handle the modification of the image.

본 발명의 다양한 실시 예에 따르면, 스티칭 파이프라인에 기반하여 vr 이미지를 생성하기 위한 다양한 포맷을 제공함으로써, vr 이미지 생성의 다양성을 제공하고, 나아가, vr 이미지의 생성의 자유도를 크게 개선할 수 있다.According to various embodiments of the present invention, by providing various formats for generating vr images based on the stitching pipeline, it is possible to provide a variety of vr image generation and further improve the freedom of creation of vr images .

본 발명의 다양한 실시 예에 따르면, 스티칭 파일프라인 및 스티칭 파이프라인에 포함되는 스티칭 모듈을 통하여 vr 이미지 생성을 처리함으로써, vr 이미지 생성 및 발생되는 문제점의 해결에 대하여 유연성을 향상시키고, 생성되는 vr 이미지의 완성도를 향상시킬 수 있다.According to various embodiments of the present invention, processing of vr image generation through a stitching file link and a stitching module included in a stitching pipeline improves flexibility in the generation of vr images and solves the problems that are generated, The degree of completeness of the image can be improved.

도 1은 본 발명의 일 실시 예에 따른 이미지 처리장치 및 이미지 처리 장치를 포함하는 시스템의 개략적인 구성을 도시한다.
도 2는 본 발명의 일 실시 예에 따른 이미지 처리장치에서 생성된 vr 이미지의 구조를 도시하는 도면이다.
도 3은 본 발명의 일 실시 예에 따른 이미지 처리장치에서 이미지를 처리하기 위한 스티칭 모듈 및 이를 포함하는 스티칭 파이프라인의 구조를 도시하는 도면이다.
도 4는 본 발명의 일 실시 예에 따른 이미지 처리장치에서 vr 이미지의 생성에 처리되는 이미지들을 구분하여 도시한 도면이다.
도 5는 본 발의 일 실시 예에 따른 이미지 처리장치에서 왜곡된 이미지에 기반하여 생성된 vr 이미지 전개도를 도시하는 도면이다.
도 6은 본 발명의 일 실시 예에 따른 이미지 처리 장치에서 스티칭 파이프라인에 생성된 스티칭 모듈을 도시하는 도면이다.
도 7은 본 발명의 일 실시 예에 따른 이미지 처리 장치에서 vr 이미지 전개도의 선택된 영역에 대한 이미지를 처리하는 도면이다.
도 8은 본 발명의 일 실시 예에 따른 이미지 처리장치에서 vr 이미지를 생성하는 동작의 흐름을 도시한다.
1 shows a schematic configuration of a system including an image processing apparatus and an image processing apparatus according to an embodiment of the present invention.
2 is a diagram showing a structure of a vr image generated in an image processing apparatus according to an embodiment of the present invention.
3 is a diagram illustrating a structure of a stitching module for processing an image in an image processing apparatus according to an embodiment of the present invention and a stitching pipeline including the stitching module.
FIG. 4 is a diagram showing images processed in the generation of a vr image in the image processing apparatus according to an exemplary embodiment of the present invention.
5 is a diagram showing a vr image developed view generated based on a distorted image in an image processing apparatus according to an embodiment of the present invention.
6 is a diagram showing a stitching module generated in the stitching pipeline in the image processing apparatus according to the embodiment of the present invention.
7 is a view for processing an image for a selected region of a vr image development plan in an image processing apparatus according to an embodiment of the present invention.
8 shows a flow of an operation of generating a vr image in an image processing apparatus according to an embodiment of the present invention.

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

본 발명의 실시 예는 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예가 도면에 예시되고 관련된 상세한 설명이 기재되어 있다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경 및/또는 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The embodiments of the present invention are capable of various changes and various embodiments, and specific embodiments are illustrated in the drawings and the detailed description is described with reference to the drawings. It is to be understood, however, that the invention is not to be limited to the specific embodiments, but includes all changes and / or equivalents and alternatives falling within the spirit and scope of the invention.

도면의 기재 및 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일한 참조 부호를 사용하거나 또는 생략할 수 있다.The same reference numerals can be used for the same or similar components in connection with the description and the description of the drawings.

본 발명의 다양한 실시 예 가운데 사용될 수 있는“포함한다” 또는 “포함할 수 있다” 등의 표현은 개시된 해당 기능, 동작 또는 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작 또는 구성요소 등을 제한하지 않는다.It should be noted that the terms such as " comprising " or " may include " may be used among the various embodiments of the present invention to indicate the presence of a corresponding function, operation or component, Not limited.

또한, 본 발명의 다양한 실시 예에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Also, in various embodiments of the invention, the terms "comprise" or "having" are intended to specify the presence of stated features, integers, steps, operations, components, parts or combinations thereof, But do not preclude the presence or addition of one or more other features, numbers, steps, operations, components, parts, or combinations thereof.

본 발명의 다양한 실시 예에서 ‘또는’ 등의 표현은 함께 나열된 단어들의 어떠한, 그리고 모든 조합을 포함한다. 예를 들어, ‘A 또는 B’는, A를 포함할 수도, B를 포함할 수도, 또는 A 와 B 모두를 포함할 수도 있다.In various embodiments of the present invention, the term "or" or the like includes any and all combinations of words listed together. For example, 'A or B' may comprise A, include B, or both A and B.

본 발명의 다양한 실시 예에서 ‘제1’, ’제2’, ’첫째’ 또는 ’둘째’등의 표현들이 본 발명의 다양한 구성 요소들을 수식할 수 있지만, 해당 구성요소들의 순서 및/또는 중요도 등을 한정하지 않는다. 또한, 상기 표현들은 한 구성요소를 다른 구성요소와 구분 짓기 위해 사용될 수 있다.In various embodiments of the present invention, expressions such as 'first', 'second', 'first' or 'second' may modify various elements of the present invention, but the order and / . In addition, the representations may be used to distinguish one component from another.

본 발명의 다양한 실시 예에서 어떤 구성요소가 다른 구성요소에 ‘연결되어’ 있다거나 ‘접속되어’ 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 ‘직접 연결되어’ 있다거나 ‘직접 접속되어’ 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해될 수 있어야 할 것이다.In the various embodiments of the present invention, when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, It is to be understood that the components may also be present. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 발명의 다양한 실시 예에서 기재된 ‘...부’, ‘모듈’ 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.The terms "module," "module," and the like, as used in various embodiments of the invention, refer to a unit that processes at least one function or operation and may be implemented in hardware or software, or in a combination of hardware and software .

본 발명의 다양한 실시 예에서 ‘실질적으로’, ‘예를 들어’와 같은 표현에 따라는 설명은 인용된 특성, 변수, 또는 값과 같이 제시한 정보들이 정확하게 일치하지 않을 수 있고, 허용 오차, 측정 오차, 측정 정확도의 한계와 통상적으로 알려진 기타 요인을 비롯한 변형과 같은 효과로 본 발명의 다양한 실시 예에 따른 발명의 실시 형태를 한정하지 않아야 할 것이다.In various embodiments of the present invention, the description may not exactly match the information presented, such as a cited property, a variable, or a value, depending on the expression "substantially", " It should not be limited to embodiments of the invention in accordance with various embodiments of the present invention, such as variations, including limitations of measurement accuracy, and other factors commonly known.

이하 설명에서 사용되는 용어는 본 발명의 다양한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 또한, 용어에 있어서, 단수의 표현은 문맥상 명백하게 특정하여 명시하지 않는 한 복수의 표현을 포함할 수 있다.The terminology used in the following description is used to describe various embodiments of the present invention and is not intended to limit the present invention. Also, in the context of the present invention, the singular expressions may include plural expressions unless the context clearly dictates otherwise.

또한 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일/유사한 의미를 가지는 것으로 해석되어야 하며, 본 발명의 실시 예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석하거나 또는 축소 해석하지 않아야 한다.Also, all terms used herein, including technical or scientific terms, should be interpreted to have the same or similar meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. Unless expressly defined in the examples, they should not be construed or interpreted in an ideal or overly formal sense.

본 발명의 다양한 실시 예에 따르면, 이미지 처리장치는, 본 발명의 다양한 실시 예에 따른 이미지 처리 동작들을 수행하기 위하여 제어부(또는 처리부), 예를 들면, 프로세서(processor) 등으로 제공될 수 있고 또는 오브젝트 처리 동작들과 관련된 데이터를 저장하는 저장부, 예를 들면, 메모리(memory), 서버(sever) 등으로 제공될 수 있다.According to various embodiments of the present invention, the image processing apparatus may be provided with a control unit (or a processing unit), for example, a processor or the like, for performing image processing operations according to various embodiments of the present invention, For example, a memory, a server, or the like that stores data related to object processing operations.

이미지 처리장치는 하나 또는 그 이상의 독립적인 모듈의 형태로 구성될 수 있다. 또한, 이미지 처리장치는, 관련된 적어도 하나의 다른 모듈과 연결되거나 결합되어 구성되거나, 모듈의 일부로 포함되어 구성될 수 있다.The image processing apparatus may be configured in the form of one or more independent modules. Further, the image processing apparatus may be configured to be connected to or combined with at least one other module associated with, or included as a part of, the module.

일 실시 예에 따르면, 이미지 처리장치는, 패키지 방식으로 제공되는 프로그램(또는 소프트웨어), 장치(또는 하드웨어) 및/또는 시스템(이하, 시스템)의 일부로 제공될 수 있고, 또는 플러그인(plug-in)의 형태로 제공될 수 있다.According to one embodiment, the image processing apparatus may be provided as part of a program (or software), a device (or hardware) and / or a system As shown in FIG.

일 실시 예에 따르면, 시스템은 3D 영상 처리 시스템(또는, 3D 에니메이션 시스템)으로, 상세하게는, 마야(maya), 3d 맥스(3d max), 포저(poser), 포즈스튜디오(pose-studio), 뉴크(nuke), 후디니(houdini) 중 적어도 하나의 프로그램을 포함하여 제공될 수 있다. 또한, 시스템은 프로그램에 한정하지 않고, 상술한 프로그램들 중 적어도 하나가 설치된 컴퓨터 장치로 제공될 수 있다.According to one embodiment, the system may be a 3D image processing system (or 3D animation system), in particular a maya, a 3d max, a poser, a pose-studio, Nuke, houdini, and the like. Further, the system is not limited to the program, but may be provided to a computer apparatus in which at least one of the above-mentioned programs is installed.

본 발명의 다양한 실시 예에 따르면, 이미지 처리장치는 두부 장착용 디스플레이(head mounted display) 장치를 위한 가상현실 이미지를 구성하는 다양한 이미지를 처리하기 위한 각각의 작업, 또는 기능을 수행하도록 전/후 처리와 중간 처리, 예를 들면, 작업에 사용되는 데이터의 생성, 검색, 수집, 호출, 로드(또는 로딩), 수정, 저장, 연결과 같은 작업을 수행하거나 및/또는 관련된 정보를 생성, 출력, 수정, 저장, 연결과 같은 작업을 수행할 수 있다.According to various embodiments of the present invention, the image processing apparatus may be configured to perform a pre-processing or a post-processing to perform various tasks or functions for processing various images constituting a virtual reality image for a head- And performing intermediate operations, such as creating, retrieving, collecting, invoking, loading (or loading), modifying, storing, and linking data used in a task and / or generating, outputting, , Storage, connection, and so on.

여기서, 이미지는 하나의 스틸 이미지(still image, 또는 이미지 프레임)로 설명할 수 있고, 또한 둘 이상의 연결(또는 나열)되는 이미지로 구성된 무빙 이미지(moving image)의 의미를 포함할 수 있다.Here, an image can be described as one still image (or image frame), and can also include the meaning of a moving image composed of two or more connected (or arranged) images.

예를 들어, 이미지는 스틸 이미지의 경우 컷(cut 또는, frame), 무빙 이미지의 경우 샷(shot 또는 씬, scene)으로 설명할 수 있고, 이미지에 시간의 흐름을 더하여 영상으로 정의될 수 있다.For example, an image can be described as a cut (or a frame) for a still image, a shot (a shot or a scene) for an moving image, and can be defined as an image by adding a temporal flow to the image.

가상현실 이미지 처리장치(이하, 이미지 처리장치)는, 기 촬영된 다수의 영상(또는 이미지)를 이용하여 가상현실 이미지(또는 파노라마 가상현실 이미지panoramic virtual reality image, 이하, vr 이미지)를 구현하는 장치로 제공될 수 있다.A virtual reality image processing apparatus (hereinafter referred to as an image processing apparatus) is a device that implements a virtual reality image (or a panoramic virtual reality image (hereinafter, referred to as a vr image)) using a plurality of previously captured images Lt; / RTI >

또한, 상술한 바에 따르면, vr 이미지는, 두부 장착용 디스플레이 장치를 통하여 사용되는 이미지로 설명하고 있지만, 이에 한정하지 않고, 다양한 방식의 디스플레이 장치에 사용되는 vr 이미지로 제공될 수 있다.Furthermore, although the vr image has been described as an image used through a head-mounted display device, the present invention is not limited thereto and can be provided as a vr image used in various display devices.

도 1은 본 발명의 일 실시 예에 따른 이미지 처리장치(100) 및 이미지 처리장치(100)를 포함하는 시스템(10)의 개략적인 구성을 도시한다. 도 1을 참조하면, 이미지 처리장치(100)는, 제어모듈(110), 이미지 호출모듈(120), 위치 결정모듈(130), 싱크 처리모듈(140), 변환 처리모듈(150) 및 이상 검출모듈(160) 중 적어도 하나의 구성 요소를 포함한다.1 shows a schematic configuration of a system 10 including an image processing apparatus 100 and an image processing apparatus 100 according to an embodiment of the present invention. 1, an image processing apparatus 100 includes a control module 110, an image calling module 120, a positioning module 130, a sink processing module 140, a conversion processing module 150, Module < RTI ID = 0.0 > 160 < / RTI >

여기서, 이미지 처리장치(100)에 포함되는 각각의 구성은 작업 및 기능으로 구분되는 단위로 설명할 수 있고, 이 때, 모듈은 상술한 바와 같이 소프트웨어 모듈 또는 하드웨어 모듈로 구성될 수 있다.Here, each of the configurations included in the image processing apparatus 100 can be described as a unit that is divided into tasks and functions. In this case, the module may be configured with a software module or a hardware module as described above.

일 실시 예에 따르면, 이미지 처리장치(100)를 포함하는 시스템(10)은, 이미지 처리장치(100)와 연결되는 입력부(201), 출력부(203) 및 데이터베이스(105) 중 적어도 하나의 구성 요소를 포함할 수 있다.According to one embodiment, the system 10 including the image processing apparatus 100 comprises at least one of an input 201, an output 203, and a database 105 connected to the image processing apparatus 100 Element.

제어모듈(110)은, 적어도 하나의 카메라를 이용하여 현실 공간의 오브젝트에 대하여 상호간 오프셋을 가지도록 촬영된 다수의 2차원 이미지에 기반하여 vr 이미지를 생성하기 위한 스티칭 파이프라인을 제공할 수 있다.The control module 110 may provide a stitching pipeline for generating a vr image based on a plurality of two-dimensional images photographed to have mutual offsets for objects in the real space using at least one camera.

일 실시 예에 따르면, vr 이미지는 도 2에 도시된 바와 같이 구체 이미지(Spherical image, 301))로 표현 가능한 2차원 평면상의 이미지로 생성될 수 있다. 이때, vr 이미지는, 다양한 방향에 대하여 촬영된 다수의 이미지를 지정된 형태에 따라서 배열하고 왜곡하여 생성할 수 있다.According to one embodiment, the vr image may be generated as an image on a two-dimensional plane that can be represented as a spherical image 301 as shown in Fig. At this time, the vr image can be generated by arranging and distorting a plurality of images photographed in various directions according to a designated form.

일 실시 예에 따르면, 다양한 방향에 대하여 촬영된 다수의 이미지는, 하나의 카메라를 이용하여 촬영할 수 있지만, 또는 둘 이상의 카메라를 통해서 촬영할 수 있다.According to one embodiment, a plurality of images photographed in various directions can be photographed using one camera, or two or more cameras.

예를 들면, 다양한 방향에 대하여 촬영된 다수의 이미지는, 도 2의 카메라(311)와 같이, 둘 이상의 카메라가 지정된 방향을 향하여 하나의 장치로 결합된 카메라를 통해서 동시에 촬영된 이미지일 수 있다.For example, a plurality of images photographed in various directions may be images taken at the same time by a camera combined with a single device toward two or more cameras in a designated direction, such as the camera 311 in Fig.

일 실시 예에 따르면, vr 이미지는, 둘 이상의 방향에 대한 이미지를 포함하며, 바람직하게는, 앞(front), 뒤(back), 좌(left), 우(right), 위(zenith), 아래(nidar)의 여섯 방향에 대한 이미지에 기반하여 생성할 수 있다.According to one embodiment, the vr image comprises an image for two or more directions and is preferably selected from the group consisting of front, back, left, right, zenith, (nidar) images based on images of six directions.

본 발명의 다양한 실시 예에 따르면, vr 이미지는 상술한 바와 같이 여섯 방향에 대한 이미지를 이용하여 생성하는 것으로 설명하고 이지만, 이에 한정하지 않고, 상술한 여섯 방향보다 적거나 많은 수의 방향에 대한 이미지를 이용하여 vr 이미지를 생성할 수 있음은 자명하다. 제어모듈(110)을 통하여 제공되는 스티칭 파이프라인(40)은, 도 3에 도시된 바와 같이 노드(node) 및 노드를 연결하는 링크(link)를 포함할 수 있다. 일 실시 예에 따르면, 스티칭 파이프라인(40)은, vr 이미지를 생성하기 위하여 적어도 하나의 방향에 대한 이미지(또는 에셋, asset)을 호출하기 위한 노드(이하, 스티칭 모듈)를 포함할 수 있다.According to various embodiments of the present invention, the vr image is described as being generated using images for six directions as described above, but the present invention is not limited thereto. For example, It is obvious that vr image can be generated using The stitching pipeline 40 provided through the control module 110 may include a node and a link connecting the node as shown in FIG. According to one embodiment, the stitching pipeline 40 may include a node (hereinafter, a stitching module) for calling an image (or asset) for at least one direction to generate a vr image.

도 3을 참조하면, 본 발명의 일 실시 예에 따른 제어모듈(110)을 통해서 제공되는 스티칭 파이프라인(40)은, 앞, 뒤, 좌, 우, 위, 아래 각각에 대한 스티칭 모듈(410, 420, 430, 440, 450, 460)을 포함한다.3, the stitching pipeline 40 provided through the control module 110 according to an exemplary embodiment of the present invention includes stitching modules 410, 420, 430, 440, 450, 460).

이때, 각각의 스티칭 모듈은, 다양한 방향에 대한 다수의 이미지를 병합(또는 접합)하여 자연스러운 vr 이미지를 생성하기 위하여 이미지를 호출 및 변환하는 적어도 하나의 하위 노드를 포함할 수 있다.At this time, each stitching module may include at least one child node that invokes and transforms an image to create a natural vr image by merging (or splicing) multiple images for various directions.

예를 들어, 앞 방향에 대한 스티칭 모듈(410)을 참조하면, 스티칭 모듈(410)은, 각 방향에 대하여 촬영된 풋티지 이미지(footage, 이하 이미지 원본)을 호출하는 이미지 노드(511), 이미지 노드(511)에 호출된 이미지 원본을 배치하는 위치 및 왜곡 형태를 결정하는 샘플 노드(513), 이미지 원본을 왜곡하는 왜곡 노드(515), 왜곡된 이미지의 병합을 위하여 지정된 채널의 전처리를 수행하는 채널설정 노드(517) 및 왜곡된 이미지의 병합을 위하여 지정된 채널의 연산을 처리하는 보정 노드(519) 중 적어도 하나의 하위 노드를 포함할 수 있다.For example, referring to the forward stitching module 410, the stitching module 410 may include an image node 511 that calls for footage images (footage images) A sample node 513 that determines the location and distortion type that places the called image source in the node 511, a distortion node 515 that distorts the image source, a pre-processing of the designated channel for merging the distorted image A channel setting node 517, and a correction node 519 that processes the operation of the specified channel for merging the distorted image.

스티칭 파이프라인에 포함되는 둘 이상의 스티칭 모듈은 적어도 하나의 병합(merge) 노드를 통하여 연결될 수 있다.The two or more stitching modules included in the stitching pipeline may be connected through at least one merge node.

일 실시 예에 따르면, 이미지 노드(511)에는, 이미지 호출 모듈(120)을 통하여 호출된 이미지를 출력할 수 있다. 예를 들면, 스티칭 모듈(410)의 경우 지정된 프로젝트에 대한 다양한 방향의 이미지 중에서 호출된 이미지 원본(예: 도 4의 이미지(411)를 출력할 수 있다.According to one embodiment, the image node 511 may output the called image via the image calling module 120. For example, in the case of the stitching module 410, the called image source (e.g., image 411 of FIG. 4) may be output from images in various directions for the designated project.

일 실시 예에 따르면, 각각의 스티칭 모듈은 선택된 프로젝트에 대하여 지정된 방향에 대한 이미지 원본을 자동으로 호출하여 이미지 노드(511)에 출력하도록 설정될 수 있다.According to one embodiment, each stitching module may be configured to automatically invoke an image source for a specified direction for a selected project and output it to the image node 511.

여기서, 스티칭 모듈은, 프로젝트가 선택되는 경우, 선택된 프로젝트에 포함된 다양한 이미지 원본들 중 지정된 문구를 파일명에 포함하는 이미지 원본을 호출하도록 설정될 수 있다.Here, when a project is selected, the stitching module can be set to call an image source including a specified phrase among various image sources included in the selected project in the file name.

예를 들면, 스티칭 모듈(410)은, 이미지 원본을 선택함에 있어서, 파일명에 cam1을 포함하는 이미지 원본(예: 도 4의 이미지(411)을 호출하도록 설정될 수 있다.For example, in selecting an image source, the stitching module 410 may be set to invoke an image source (e.g., image 411 of FIG. 4) that includes cam1 in the filename.

마찬가지로, 스티칭 모듈(420, 430, 440, 450, 및 450) 각각은 cam2, cam3, cam4, cam5 및 cam6을 파일명에 포함하는 이미지 원본, 예를 들면, 도 4의 이미지(421, 431, 441,451, 461)을 호출하도록 설정될 수 있다.Similarly, each of the stitching modules 420, 430, 440, 450, and 450 may include an image source such as cam2, cam3, cam4, cam5, and cam6 in filenames such as images 421, 431, 441, 451, 461 < / RTI >

이미지 노드(511)는, 호출된 이미지 원본의 적어도 일부에 대한 썸네일(thumb nail) 이미지를 표시할 수 있다.The image node 511 may display a thumb nail image for at least a portion of the called image source.

샘플 노드(513)는, vr 이미지를 생성하기 위한 전개도(또는, 생성된 vr 이미지의 전개도, 이하 vr 이미지 전개도)에서 스티칭 모듈(513)에 대하여 호출된 이미지 원본을 변환(예: 왜곡)하기 위한 왜곡 정보를 포함할 수 있다.The sample node 513 is used to transform (e.g., distort) the image source called to the stitching module 513 in the developed view for generating the vr image (or the developed view of the generated vr image, hereafter the vr image developed view) Distortion information.

일 실시 예에 따르면, 왜곡 정보는, 이미지 원본의 형태 변경, 사이즈 변경, 적어도 하나의 다른 이미지와 합성, 결합 등의 변경들 중 적어도 하나를 처리하도록 설정된 정보(예: 명령어)일 수 있다.According to one embodiment, the distortion information may be information (e.g., an instruction word) that is configured to process at least one of a change in shape, resize, and compositing, combining, and combining with at least one other image of the image source.

여기서, 샘플 노드(513)는, 이미지 원본이 배치되는 위치 및 왜곡의 정도에 대한 정보 또는 호출된 이미지 원본이 배치되는 위치 및 왜곡의 정도에 대한 정보에 대한 맵(map)을 포함할 수 있다.Here, the sample node 513 may include information on the position where the image original is placed and the degree of the distortion, or the position where the called image source is placed and information about the degree of distortion.

일 실시 예에 따르면, 호출된 이미지 원본이 배치되는 위치 및 왜곡의 정도에 대한 정보는 맵(map)을 통하여 결정될 수 있다. 예를 들면, 맵은 뉴크 프로그램에 기반하여 제공되며, stmap 형식으로 제공될 수 있다. 일 실시 예에 따르면, stmap 형식의 맵은 화면에 각 위치에 대하여 vector2를 적용하여 x축 및 y축 좌표의 형태로 나타낸 이미지로 제공될 수 있다.According to one embodiment, information about the location and the degree of distortion at which the called image source is placed may be determined via a map. For example, the map is provided based on a newkeep program and can be provided in stmap format. According to one embodiment, a map in stmap format can be provided as an image in the form of x-axis and y-axis coordinates by applying vector2 to each position on the screen.

여기서, stmap 형식의 맵은, 왼쪽 아래의 점(0,0)을 기준으로 하여 각 화면의 끝을 1로 두고 그에 맞추어 1/해상도의 공식으로 좌표를 설정할 수 있다. 일반적으로 화면의 x축, y축은 색으로써 빨강(red, R), 초록(green, G)에 대응하도록 설정할 수 있다. 이때, (0,1)으로 향할수록 초록(0,1,0)의 값을 가지며 (1,0)으로 향할수록 빨강(1,0,0)의 값을 가짐으로써 stmap 형식의 맵은 그라데이션 형태의 플레이트로 표현될 수 이다.Here, the map of the stmap format can be set with the formula of 1 / resolution according to the position of the end of each screen based on the lower left point (0,0). Generally, the x and y axes of the screen can be set to correspond to red (red, R), and green (green, G) as colors. In this case, the value of green (0, 1, 0) increases toward (0,1) and the value of red (1,0,0) increases toward (1,0) Lt; / RTI > plate.

여기서, stmap 형식의 맵은, 이미지 원본을 촬영한 카메라의 기능 및 재원 중 적어도 일부 정보를 이용하여 생성될 수 있다.Here, the map in the stmap format can be generated using at least some of the functions and resources of the camera that photographed the image source.

샘플 노드(513)는, 맵(예: stmap 형식의 맵)의 전체(이하, 전체왜곡맵)에서 스티칭 모듈(410 등)에 지정된 위치(또는 영역) 정보를 적용하여 표시된, 예를 들면, 전체왜곡맵에서 스티칭 모듈에서 지정된 위치(또는 영역) 외의 나머지 영역이 제거된 상태의 맵(이하, 일부왜곡맵)을 결정할 수 있다. 일 실시 예에 따르면, 전체왜곡맵의 사이즈는, vr 이미지 전개도의 사이즈와 동일 또는 유사하게 제공될 수 있다.The sample node 513 applies the position (or area) information designated to the stitching module 410 or the like in the whole of the map (e.g., the map of the stmap format) It is possible to determine a map (hereinafter referred to as a partial distortion map) in a state in which the remaining area outside the position (or area) specified by the stitching module in the distortion map is removed. According to one embodiment, the size of the total distortion map may be provided equal to or similar to the size of the vr image exploded view.

샘플 노드(513)는, 제공된 맵(예: 도 4에 도시된 맵(413))과 같이, 스티칭 모듈(410)을 통하여 호출된 이미지 원본을 배치하기 위한 전체왜곡맵 상의 위치, 왜곡 형태 및/또는 규격이 표시된 맵(이하, 일부왜곡맵)의 썸네일 이미지를 표시할 수 있다.The sample node 513 may include a position, distortion and / or shape on the global distortion map for placing the image source called through the stitching module 410, such as the map provided (e.g., the map 413 shown in FIG. 4) Or a thumbnail image of a map in which a standard is displayed (hereinafter, some distortion map).

왜곡 노드(515)는, 이미지 노드(511)에 호출된 이미지 원본을 샘플 노드(513)에 포함된 정보에 따라서 왜곡하도록 처리하는 명령어를 포함하며, 제어모듈(110)을 통하여 이미지 원본을 지정된 형태 및/또는 규격에 맞추어 왜곡할 수 있다.The distortion node 515 includes instructions to process the image source 511 to cause the image source 511 to distort the image source according to the information contained in the sample node 513, And / or may be distorted in accordance with the standard.

왜곡의 일 실시 예에 따르면, 일부왜곡맵은, 이미지 원본에 대하여 일부왜곡맵의 픽셀 정보(예: 픽셀 좌표정보)를 이용하여 이미지 원본의 위치 정보를 지정된 위치로 왜곡(또는 변환)하도록 처리하는 정보를 포함할 수 있다. 따라서, 왜곡 노드(515)를 통하여 이미지 원본(도 4의 이미지 원본(411)을 일부왜곡맵(413)에 적용하는 경우 왜곡된 이미지(또는, 왜곡된 풋티지 이미지, 이하 왜곡된 이미지)를 생성할 수 있다.According to one embodiment of the distortion, some distortion maps are processed to distort (or translate) the position information of the image source to a specified position using pixel information (e.g., pixel coordinate information) of some distortion map for the image source Information. Thus, if an image source (image source 411 of FIG. 4) is applied to some distortion map 413 via distortion node 515, a distorted image (or distorted footage image, hereinafter referred to as distorted image) can do.

왜곡 노드(515)는, 샘플 노드(513)를 통해서 왜곡 정보 값을 받아 상술한 바와 같이 이미지 원본을 왜곡 및/또는 변환하여 왜곡된 이미지(예: 도 4의 이미지(415)를 생성하도록 처리하는 명령어를 포함할 수 있다.Distortion node 515 receives the distortion information value via sample node 513 and then distorts and / or transforms the image source as described above to generate a distorted image (e.g., to process image 415 of FIG. 4) Command.

일 실시 예에 따르면, 왜곡 노드(515)는, 제어모듈(110)로부터 이미지의 왜곡에 대한 처리를 확인하는 경우, 샘플노드(513) 및/또는 왜곡 노드(515)에 설정된 정보에 기반하여 이미지 원본의 왜곡을 처리할 수 있다.In accordance with one embodiment, the distortion node 515 is configured to determine whether the distortion of the image (e.g., the distortion) of the image based on the information set in the sample node 513 and / You can handle the distortion of the original.

채널설정 노드(517)는, 스티칭 모듈(410)을 통하여 왜곡된 이미지(415)와 다른 스티칭 모듈을 통하여 왜곡된 이미지의 병합에 사용되는 채널들을 처리할 수 있다.The channel setting node 517 can process the channels used for merging the distorted image through the stitching module 410 and the distorted image 415 through the stitching module.

일 실시 예에 따르면, 이미지 원본(411) 및 일부왜곡맵(413)을 이용하여 생성되는 왜곡된 이미지(415)는, 스티칭 모듈(410)을 통하여 왜곡된 이미지(415)가 다른 스티칭 모듈을 통해서 왜곡된 이미지와 합쳐지는 동작에 대하여 결정되는 채널(예: 왜곡된 이미지의 병합 과정에서 겹쳐지는 영역(또는 중복되는 영역))의 투명도와 관련된 값(예: 알파값)을 포함할 수 있다.According to one embodiment, the distorted image 415 generated using the image source 411 and some distortion map 413 may be modified such that the distorted image 415 through the stitching module 410, (E.g., an alpha value) associated with the transparency of the channel (e.g., the overlapping region (or overlapping region) in the merging process of the distorted image) determined for the action to be combined with the distorted image.

이때, 채널설정 노드(517)는, vr 이미지 전개도를 생성함에 있어서, 왜곡된 이미지(415) 및/또는 일부왜곡맵(413)의 겹쳐지는 영역에 대한 알파값을 왜곡된 이미지에 적용함으로써, 왜곡된 이미지(415)를 제외한 나머지 영역의 연산을 처리하지 않도록 제어할 수 있다.The channel setting node 517 then applies the alpha value for the overlapping region of the distorted image 415 and / or some distortion map 413 to the distorted image in generating the vr image developed view, It is possible to perform control so as not to process the calculation of the remaining area except for the image 415.

일 실시 예에 따르면, 채널설정 노드(517)는, 뉴크 프로그램의 셔플카피(shuffle copy)의 적어도 일부 기능으로 제공될 수 있다.According to one embodiment, the channel setting node 517 may be provided with at least some functions of a shuffle copy of the neque program.

보정 노드(519)는, 스티칭 모듈(410)을 통하여 왜곡된 이미지(415)와 다른 스티칭 모듈을 통하여 왜곡된 이미지의 병합에 사용되는 곱연산을 처리하는 명령어를 포함할 수 있다.Correction node 519 may include an instruction to process the multiplication operation used for merging the distorted image through the stitching module 410 and the distorted image 415 through another stitching module.

일 실시 예에 따르면, 보정 노드(519)는 스티칭 모듈(410)을 통하여 왜곡된 이미지(415)가 다른 스티칭 모듈을 통해서 왜곡된 이미지와 합쳐지는 과정에서 알파값을 처리하도록 곱연산 동작을 수행할 수 있다. According to one embodiment, the correction node 519 performs a multiplication operation through the stitching module 410 to process the alpha value in the course of merging the distorted image 415 with the distorted image through another stitching module .

이때, 보정 노드(519)는, 왜곡된 이미지(415) 및/또는 일부왜곡맵(413)에 포함되는 알파값의 정보를 처리하도록 곱연산 동작을 수행함으로써, 불필요한 것으로 지정된 연산을 처리하지 않도록 제어할 수 있다.At this time, the correction node 519 performs a multiplication operation to process the information of the alpha value included in the distorted image 415 and / or some distortion map 413, thereby controlling the processing to be unnecessary can do.

일 실시 예에 따르면, 보정 노드(519)는, 뉴크 프로그램의 선곱셉(premult)의 적어도 일부 기능으로 제공될 수 있다According to one embodiment, the correction node 519 may be provided with at least some of the functionality of the line-of-sight premultiplied

제어모듈(110)은, 상술한 바와 같이, 스티칭 파이프라인(40)에 포함되는 스티칭 모듈 각각에 대하여 이미지 원본을 왜곡하여 왜곡된 이미지를 생성할 수 있다.The control module 110 may generate a distorted image by distorting the image source for each of the stitching modules included in the stitching pipeline 40, as described above.

또한, 제어모듈(110)은, 도 5에 도시된 바와 같이, 생성된 각각의 왜곡된 이미지(415, 425, 435, 445, 455, 465)를 복합적으로 처리하여 한장의 vr 이미지 전개도, 예를 들면, 랫롱(lat-long) 이미지(600)를 생성할 수 있다.5, the control module 110 may also process each generated distorted image 415, 425, 435, 445, 455, 465 in a composite manner to produce a single vr image development view, A lat-long image 600 may be generated.

다시 도 1로 돌아가서, 이미지 호출모듈(120)은, 스티칭 파이프라인(40)의 각각의 스티칭 모듈(410, 420, 430, 440, 450, 460)에서, 스티칭 모듈 각각에 대하여 지정된 방향에 대응되는 이미지 원본을 호출하여 이미지 노드(511)에 출력할 수 있다.1 again, the image calling module 120 determines whether or not each of the stitching modules 410, 420, 430, 440, 450, 460 of the stitching pipeline 40 corresponds to the direction specified for each of the stitching modules It can call the image source and output it to the image node 511.

여기서, 스티칭 모듈 각각에 대하여 지정된 방향에 대응되는 이미지 원본을 호출하는 방법은, 지정된 프로젝트의 위치를 입력하는 경우 스티칭 모듈 및/또는 이미지 노드에 지정된 방향에 대하여 지정된 코드를 포함하는 이미지 원본을 자동으로 선택하여 호출하거나, 또는 입력부(201)를 이용한 드래그 앤 드롭(drag and drop) 또는, 이미지 원본의 경로를 이용하여 호출하는 등 다양한 데이터 호출 방법을 이용할 수 있다.Here, a method of calling an image source corresponding to a specified direction with respect to each of the stitching modules may be such that, when a position of the designated project is input, the image source including the code specified for the stitching module and / Or various data calling methods such as drag and drop using the input unit 201 or calling using a path of an image source can be used.

일 실시 예에 따르면, 이미지 호출모듈(120)은 각각의 스티칭 모듈들에 대하여, 선택된 프로젝트에 포함된 다양한 이미지 원본들 중 파일명에 지정된 문구를 포함하는 이미지 원본을 호출할 수 있다.According to one embodiment, the image calling module 120 may invoke, for each stitching module, an image source comprising a phrase specified in a file name among various image sources included in the selected project.

이미지 호출모듈(120)은, 호출한 이미지 원본을 해당하는 스티칭 모듈의 이미지 노드를 통하여 출력할 수 있다.The image calling module 120 can output the called image source through the image node of the corresponding stitching module.

위치 결정모듈(130)은, 스티칭 모듈 각각의 설정 정보에 기반하여 vr 이미지 상의 위치에 대한 정보를 결정할 수 있다. 위치 결정모듈(130)은, 이미지 노드에 호출된 이미지 원본이 vr 이미지의 전개도에 기반하여 지정된 위치에 배치되도록 처리할 수 있다.The positioning module 130 may determine information about a position on the vr image based on the setting information of each of the stitching modules. The positioning module 130 can process the image source called at the image node to be located at a specified location based on the developed view of the vr image.

일 실시 예에 따르면 위치 결정모듈(130)은, 호출된 이미지 원본을 배치하기 위한 위치를 결정함에 있어서, 맵(예: stmap)을 이용할 수 있다. 예를 들면, 도 4의 맵(413)을 참조하면, 스티칭 모듈(410)은 설정된 위치 정보(예: 샘플 노드(513)에 설정된 위치 정보) 및/또는 일부왜곡맵(413)에 기반하여 호출된 이미지 원본(411)의 위치를 결정할 수 있다.According to one embodiment, the positioning module 130 may use a map (e.g., stmap) in determining the location to place the called image source. For example, referring to the map 413 of FIG. 4, the stitching module 410 may make a call based on the set location information (e.g., location information set in the sample node 513) and / The position of the original image 411 can be determined.

마찬가지로, 스티칭 파이프라인(40)에 포함된 스티칭 모듈(420, 430, 440, 450 및 460)에 설정된 위치 정보 및/또는 일부왜곡맵(423, 433, 443, 453, 463)에 기반하여 호출된 이미지 원본의 위치를 결정할 수 있다.Likewise, based on the location information and / or some distortion maps 423, 433, 443, 453, 463 set in the stitching modules 420, 430, 440, 450 and 460 included in the stitching pipeline 40 The position of the image source can be determined.

제어모듈(110)은, 스티칭 파이프라인(40)을 통하여 호출된 이미지 원본을 이용하여 동기화를 수행할 수 있다. 일 실시 예에 따르면, 호출된 각각의 이미지 원본이, 영상으로 제공되는 경우, 싱크 처리모듈(140)을 통하여, 스티칭 모듈 각각에 호출된 이미지 원본의 재생을 동기화할 수 있다.The control module 110 may perform synchronization using the called image source via the stitching pipeline 40. [ According to one embodiment, through the sink processing module 140, when each called image source is presented as an image, the playback of the called image source can be synchronized to each of the stitching modules.

싱크 처리모듈(140)은, vr 이미지 전개도를 생성하기 위하여 연결되는 이미지 원본 및/또는 왜곡된 이미지들의 싱크(sink)를 동기화할 수 있다. 일 실시 예에 따르면, 싱크 처리모듈(140)은, 각각의 이미지 원본 및/또는 왜곡된 이미지들에 포함된 오디오, 예를 들면, 오디오에 포함된 파열음과 같이 지정된 소리를 이용하여 이미지 원본 및/또는 왜곡된 이미지들의 재생을 동기화 처리할 수 있다.The sink processing module 140 may synchronize a sink of the image source and / or the distorted images that are connected to generate the vr image exploded view. According to one embodiment, the sync processing module 140 may use the audio included in each of the image sources and / or distorted images, for example, the audio source and / Or the playback of the distorted images.

제어모듈(110)은, 변환 처리모듈(150)을 통하여, 이미지 원본을 왜곡하고, 병합하여 vr 이미지 전개도를 생성할 수 있다. 이때, 변환 처리모듈(150)은, 각각의 스티칭 모듈에 기반하여 왜곡된 이미지들을 결합하여 vr 이미지 전개도를 생성할 수 있다.The control module 110 may distort and merge the image source through the conversion processing module 150 to generate the vr image development view. At this time, the conversion processing module 150 may combine distorted images based on each stitching module to generate a vr image development view.

변환 처리모듈(150)은, 각각의 왜곡된 이미지에서 겹쳐지는 영역(또는 화각이 겹쳐지는 영역)에 대하여 레퍼런스를 취득할 수 있다.The conversion processing module 150 can acquire a reference to an overlapping area (or overlapping area of view angle) in each distorted image.

예를 들면, 둘 이상의 왜곡된 이미지를 병합하는 경우, 각각의 왜곡된 이미지에서 이미지 원본이 적용된(예: 이미지 원본이 왜곡되어 배치된) 영역 중 적어도 일부가 다른 왜곡된 이미지에서 이미지 원본이 적용된 영역의 적어도 일부와 겹쳐질 수 있다. 변환 처리모듈(150)은, 병합 동작에서 발생되는 겹쳐지는 영역에 대하여 레퍼런스를 확인할 수 있다.For example, when merging two or more distorted images, at least some of the areas where the image source is applied (e.g., the image source is distorted) in each of the distorted images are different from the area where the image source is applied At least a portion of < / RTI > The conversion processing module 150 can confirm the reference to the overlapping area generated in the merging operation.

일 실시 예에 따르면, 겹쳐지는 영역의 레퍼런스는 그리드 판을 이용하여 획득할 수 있다. According to one embodiment, the reference of the overlapping region can be obtained using a grid plate.

또한, 변환 처리모듈(150)은, 카메라 화각에 기준하여 화각이 겹져치는 영역을 결정할 수 있고, 예를 들면, 10~20도, 더 바람직하게는 15도의 화각을 가지도록 결정할 수 있다.Further, the conversion processing module 150 can determine an overlapping area of the view angle based on the camera view angle, and can determine the view angle to be, for example, 10 to 20 degrees, more preferably 15 degrees.

변환 처리모듈(150)은, 획득한 레퍼런스에 기반하여 완성된 vr 이미지 전개도에 매칭되도록 왜곡된 이미지들의 겹쳐지는 영역에 대하여 라인을 수정할 수 있다.The transformation processing module 150 may modify the line for the overlapping regions of the distorted images to match the completed vr image exploded view based on the acquired reference.

일 실시 예에 따르면, 변환 처리모듈(150)은, 이미지 원본 및/또는 왜곡된 이미지에서, 수평선, 지평선과 같은 선과, 오브젝트를 검출할 수 있다. 이때, 변환 처리모듈(150)은, 검출된 지평선, 수평선, 오브젝트를 구성하는 외곽선 및/또는 경계선 중 적어도 하나의 선들에 기반하여 겹쳐지는 영역에 대한 라인을 수정할 수 있다.According to one embodiment, the transformation processing module 150 may detect lines and objects, such as horizontal lines, horizon lines, in an image source and / or distorted image. At this time, the conversion processing module 150 may modify the line for the overlapping area based on at least one of the detected horizon lines, horizontal lines, outlines forming the object, and / or the boundary lines.

또한, 변환 처리모듈(150)은, 이미지 원본의 촬영 시 발생된 카메라 렌즈의 굴절 및/또는 빛의 노출 차이에 의하여 발생된 차이(예: 비네팅 효과)를 보정할 수 있다.In addition, the conversion processing module 150 can correct a difference (e.g., a vignetting effect) caused by the refraction of the camera lens and / or the exposure difference of light generated upon photographing the image source.

제어모듈(110)은, 스티칭 파이프라인(40)에 포함된 스티칭 모듈을 이용하여 vr 이미지를 생성하는 동작 중에, 이상(예: 에러, 오류)이 발생되는지 여부를 이상 검출모듈(160)을 통하여 확인할 수 있다.The control module 110 determines whether or not abnormalities (e.g., errors, errors) are generated during the operation of generating the vr image using the stitching module included in the stitching pipeline 40, through the anomaly detection module 160 Can be confirmed.

이상 검출모듈(160)은, 제어모듈(110), 이미지 호출모듈(120), 위치 결정모듈(130), 싱크 처리모듈(140) 및 변환 처리모듈(150) 중 적어도 하나를 통하여 처리되는 이미지들의 동일성, 유사성 및/또는 일관성을 판단하여 이상 여부를 확인할 수 있다.The anomaly detection module 160 is configured to detect whether the images processed through at least one of the control module 110, the image calling module 120, the positioning module 130, the sink processing module 140 and the conversion processing module 150 Identity, similarity, and / or consistency of the data.

일 실시 예에 따르면, 이상 검출모듈(160)은 vr 이미지 전개도를 구성하는 각각의 이미지(예: 왜곡된 이미지 또는 이미지 원본)의 겹쳐지는 영역의 적어도 일부 영역을 비교할 수 있다. 이상 검출모듈(160)은, 스티칭 모듈 각각을 통하여 호출된 각각의 이미지 중 겹쳐지는 영역을 비교하여, 싱크가 동기화 여부 및/또는 왜곡된 이미지들의 연결 여부를 확인할 수 있다.According to one embodiment, the anomaly detection module 160 may compare at least some areas of the overlapping areas of each image (e.g., a distorted image or an image source) that make up the vr image exploded view. The abnormality detection module 160 can check overlapping areas among images called through each of the stitching modules to check whether synchronization is synchronized and / or whether distorted images are connected.

또한, 이상 검출모듈(160)은, 스티칭 파이프라인(40)에 포함되는 복수의 스티칭 모듈을 통해서 호출된 이미지 원본을 이용하여 vr 이미지 전개도 또는 vr 이미지의 생성에 문제가 발생된 경우를 확인할 수 있다.Also, the abnormality detection module 160 can check the occurrence of a problem in the generation of the vr image development view or the vr image using the image source called through the plurality of stitching modules included in the stitching pipeline 40 .

예를 들면, 호출 불가, 재생 불가 및/또는 블랙 스크린 등의 오류화면 출력과 같이 이미지 원본들 중 적어도 하나의 재생에 문제가 발생되거나, 이미지 원본을 왜곡 및/또는 왜곡된 이미지를 병합하는 과정에서 발생되는 비네팅(vignetting), 크로매틱 에버레이션(chromeatic aberration) 등의 문제를 검출할 수 있다.For example, in the process of reproducing at least one of the image sources, such as error screen output such as non-callable, non-reproducible and / or black screen, or in the process of merging images distorted and / or distorted Problems such as vignetting and chromatic aberration can be detected.

이상 검출모듈(160)은, 이상이 발생된 스티칭 모듈에 대하여 이미지 왜곡 및/또는 병합 동작을 수행하지 않도록 처리할 수 있다. 일 실시 예에 따르면, 이상 검출모듈(160)은 스티칭 파이프라인(40)에서 좌측 이미지 원본(421)에 이상이 발생된 것으로 확인하는 경우, vr 이미지 전개도에서 일부왜곡맵(413)에 대응되는 영역의 이미지 처리를 수행하지 않고, vr 이미지를 출력하도록 처리할 수 있다.The abnormality detection module 160 can process the image stiction and / or merging operation with respect to the stitching module in which the abnormality has occurred. According to one embodiment, when the abnormality detecting module 160 determines that an abnormality has occurred in the left image source 421 in the stitching pipeline 40, It is possible to process the output of the vr image without performing the image processing of the vr image.

이때, 이상 검출모듈(160)은, vr 이미지 전개도에서, 일부왜곡맵(413, 433, 443, 453, 463) 중 일부왜곡맵(423)과 겹쳐지는 영역 중 적어도 일부 또한, 일부왜곡맵(413)에 기반하여 생성된 왜곡된 이미지와 병합 동작을 위한 이미지 왜곡을 수행하지 않도록 처리할 수 있다.At this time, the anomaly detection module 160 detects at least some of the regions overlapping some of the distortion maps 423 among some of the distortion maps 413, 433, 443, 453, and 463 in the vr image developed view, ) And the image distortion for the merging operation with the distorted image generated.

다시 도 1로 돌아가서, 제어모듈(110)은, 스티칭 파이프라인(40)에 적어도 하나의 스티칭 모듈을 추가할 수 있다. 일 실시 예에 따르면, 제어모듈(110)은, 도 6에 도시된 바와 같이, 스티칭 파이프라인(40)에 스티칭 모듈(470)을 추가할 수 있다.Referring back to FIG. 1, the control module 110 may add at least one stitching module to the stitching pipeline 40. According to one embodiment, the control module 110 may add a stitching module 470 to the stitching pipeline 40, as shown in FIG.

예를 들면, 제어모듈(110)은, 스티칭 파이프라인의 생성 또는 호출 동작에서 적어도 하나의 스티칭 모듈을 추가할 수 있다. 또한, 제어모듈(110)은 기 생성된 vr 이미지 전개도 및/또는 vr 이미지 전개도를 생성하기 위하여 사용되는 전체왜곡맵에서 위치를 지정하고, 지정된 위치에 대하여 스티칭 모듈을 추가할 수 있다.For example, the control module 110 may add at least one stitching module in the creation or paging operation of the stitching pipeline. In addition, the control module 110 may specify a location in the global distortion map used to generate the pre-generated vr image development view and / or the vr image development map, and may add a stitching module to the specified location.

제어모듈(110)은, 생성된 스티칭 모듈에 대하여 이미지 노드, 샘플 노드, 왜곡 노드, 채널설정 노드 및 보정 노드 중 적어도 하나의 하위 노드를 생성할 수 있다.The control module 110 may generate at least one child node among the image node, the sample node, the distortion node, the channel setting node, and the correction node with respect to the generated stitching module.

또한, 제어모듈(110)은, 스티칭 파이프라인(40)에 포함되는 스티칭 모듈 중 생성된 스티칭 모듈(470)과 관련하여 일부왜곡맵 및/또는 왜곡된 이미지의 겹쳐지는 영역에 대하여 스티칭 모듈 중 적어도 하나에 대하여, 샘플 노드(513) 및/또는 왜곡 노드(515)의 이미지 처리 내용을 수정할 수 있다.In addition, the control module 110 determines at least one of the stitching modules for the overlapped area of some distortion maps and / or distorted images with respect to the stitching module 470 generated among the stitching modules included in the stitching pipeline 40 The image processing content of the sample node 513 and / or the distortion node 515 can be modified.

다양한 실시 예에 따르면, 제어모듈(110)은, 생성된 vr 이미지 또는 vr 이미지 전개도를 통하여 생성된 vr 이미지의 적어도 일부를 수정할 수 있다. 제어모듈(110)은, 도 7에 도시된 바와 같이, vr 이미지 전개도의 일부 영역(601)을 선택하고, 선택된 영역에 대한 이미지 처리를 수행할 수 있다.According to various embodiments, the control module 110 may modify at least a portion of the generated vr image or the vr image generated through the vr image development view. The control module 110 can select a partial area 601 of the vr image development view and perform image processing on the selected area as shown in Fig.

제어모듈(110)은, 선택된 영역에 대하여, 왜곡된 이미지(475), 일부왜곡맵(473) 및 선택된 영역에 대한 이미지 원본(471) 중 적어도 하나의 이미지를 생성할 수 있다.The control module 110 may generate an image of at least one of the distorted image 475, some distortion map 473 and the image source 471 for the selected region, for the selected region.

이때, vr 이미지 전개도에서 선택된 영역에 대하여 왜곡된 이미지(475), 일부왜곡맵(473) 및/또는 이미지 원본(471)을 생성함에 있어서, 이미지 원본을 이용하여 왜곡된 이미지 생성 및/또는 vr 이미지 전개도를 생성하는 동작의 적어도 일부의 기능과 관련하여 역처리를 수행할 수 있다.At this time, in generating the distorted image 475, some distortion map 473, and / or the image source 471 for the selected area in the vr image development view, the image source may be used to generate the distorted image and / It is possible to perform inverse processing in relation to the function of at least part of the operation of generating the developed view.

또한, 제어모듈(110)은, 선택된 영역에 대응되는 스티칭 모듈을 생성할 수 있다. 예를 들면, 제어모듈(110)은, vr 이미지 전개도에서 특정 영역(예: 도 7의 영역(601)을 선택하는 경우, 선택된 영역에 기반하여 이미지 노드, 샘플 노드, 왜곡 노드, 채널설정 노드 및 보정 노드 중 적어도 하나를 포함하는 스티칭 모듈을 생성할 수 있다.Also, the control module 110 can generate a stitching module corresponding to the selected area. For example, the control module 110 may determine whether the image region, the sample node, the distortion node, the channel setting node, and / or the image node based on the selected region (e.g., A correction node, and a correction node.

또한, 제어모듈(110)은, 스티칭 파이프라인을 통해서 호출된 이미지 원본 또는 이미지 원본에 기반하여 생성된 왜곡된 이미지 중 적어도 일부를 수정할 수 있다. 일 실시 예에 따르면, 제어모듈(110)은, 출력부(203)를 통해서 출력된 스티칭 파이프라인(40)의 이미지 노드 중 적어도 하나를 선택하여, 해당 스티칭 모듈을 통해서 호출된 이미지 원본을 호출할 수 있다.In addition, the control module 110 may modify at least some of the image source called through the stitching pipeline or the distorted image generated based on the image source. According to one embodiment, the control module 110 may select at least one of the image nodes of the stitching pipeline 40 output through the output 203 to call the image source called through the stitching module .

다양한 실시 예에 따르면 제어모듈(110)은, 출력부(203)를 통해서 출력된 vr 이미지 전개도에 표시된 왜곡된 이미지의 영역들 중 적어도 하나를 선택하여 선택된 위치에 대응되는 왜곡된 이미지를 호출할 수 있다.According to various embodiments, the control module 110 may select at least one of the regions of the distorted image displayed in the vr image developed view output through the output 203 to call the distorted image corresponding to the selected location have.

제어모듈(110)은, 왜곡된 이미지 및/또는 이미지 원본을 수정하도록(예: 필셀 단위로 수정하도록) 제공할 수 있고, 따라서, 싱크의 매칭, 라인의 매칭, 발생되는 고스팅의 제거 등의 수정을 효과적으로 처리할 수 있다.The control module 110 may provide for modifying the distorted image and / or image source (e.g., to modify it on a per-pixel basis) and thus may be used to modify the image, such as matching of the sync, matching of the lines, The correction can be effectively processed.

또한, 제어모듈(110)은, 스티칭 파이프라인(40)의 샘플 노드 중 적어도 하나를 선택하여, 해당 스티칭 모듈의 왜곡 노드 및/또는 채널설정 노드를 호출할 수 있다.The control module 110 may also select at least one of the sample nodes of the stitching pipeline 40 to call the distortion node and / or the channel setting node of the stitching module.

제어모듈(110)은 호출된 이미지 및/또는 왜곡 노드 및/또는 채널설정 노드의 정보가 수정된 경우, 수정된 정보를 해당 이미지 및/또는 해당 노드에 저장할 수 있다.The control module 110 may store the modified information in the image and / or the node if the information in the called image and / or distortion node and / or the channel setting node has been modified.

다양한 실시 예에 따르면, 제어모듈(110)은, 스티칭 파이프라인(40)에서 스티칭 모듈을 추가하는 것에 한정하지 않고, 기 생성된 스티칭 모듈을 제외(삭제 또는 제거)할 수 있음은 자명하다.According to various embodiments, it is apparent that the control module 110 is not limited to adding the stitching module in the stitching pipeline 40, but can exclude (remove or remove) the stitching module.

또한, 제어모듈(110)은, 일부왜곡맵에서 이미지가 표시되는 위치를 변경할 수 있다. 일 실시 예에 따르면, 제어모듈(110)은, 위치 결정모듈(130)을 통하여, 변경된 위치에 대한 정보를 왜곡 노드 및/또는 채널설정 노드에 저장할 수 있다.In addition, the control module 110 may change the location at which the image is displayed in some distortion maps. According to one embodiment, the control module 110 may store, via the positioning module 130, information about the changed position in the distortion node and / or the channel setting node.

다양한 실시 예에 따르면, 제어모듈(110)은, 왜곡된 이미지에 대하여 추가적인 왜곡을 수행할 수 있다. 일 실시 예 따르면, 제어모듈(110)은, 둘 이상의 왜곡된 이미지를 병합하는 동작에서, 겹쳐지는 영역에 대하여 색을 매칭하는 동작을 수행할 수 있다.According to various embodiments, the control module 110 may perform additional distortion on the distorted image. According to one embodiment, the control module 110 may perform an operation of matching colors to the overlapping regions in an operation of merging two or more distorted images.

또한, 다양한 실시 예에 따르면, 제어모듈(110)은, 둘 이상의 왜곡된 이미지를 병합하는 동작에서, 왜곡된 이미지의 싱크에 차이가 있어 완전하게 접합되지 않는 영역에 대하여 접합되도록 왜곡 처리하여 생성된 vr 이미지의 품질을 향상시킬 수 있다.Also, in accordance with various embodiments, the control module 110 may be configured to distort the image so that it is distorted so as to be joined to an area that is not completely joined due to a difference in the sync of the distorted image in the operation of merging two or more distorted images vr image quality can be improved.

다양한 실시 예에 따르면, 제어모듈(110)은, 이미지 호출모듈(120), 위치 결정모듈(130), 싱크 처리모듈(140), 변환 처리모듈(150) 및 이상 검출모듈(160) 중 적어도 하나의 구성 요소를 호출할 수 있다.According to various embodiments, the control module 110 may include at least one of the image calling module 120, the positioning module 130, the sink processing module 140, the conversion processing module 150, Can invoke the components of < / RTI >

또한, 제어모듈(110)은, 외부(또는 외부 장치)로부터 입력되는 데이터 및/또는 데이터베이스(150)에 저장된 데이터를 호출할 수 있고, 다양한 구성 요소를 통하여 호출된 데이터를 처리할 수 있다.In addition, the control module 110 can call data input from the outside (or an external device) and / or data stored in the database 150, and process the called data through various components.

다양한 실시 예에 따르면, 시스템(10)은, 입력부(201), 출력부(203) 및 저장부(205) 중 적어도 하나의 구성 요소를 포함하며, 시스템(10)에 포함된 구성 요소는 이미지 처리장치(100)와 연결될 수 있다.According to various embodiments, the system 10 includes at least one component of an input 201, an output 203, and a storage 205, May be coupled to the device 100.

일 실시 예에 따르면, 입력부(201)는, 컴퓨터와 연결된 키보드, 마우스, 노트패드, 트랙패드, 마이크 중 적어도 하나의 장치로 제공될 수 있고, 출력부(203)는, 컴퓨터와 연결된, 모니터, 스피커 중 적어도 하나의 장치로 제공될 수 있다.According to one embodiment, the input unit 201 may be provided as an apparatus of at least one of a keyboard, a mouse, a note pad, a track pad, and a microphone connected to the computer, and the output unit 203 may include a monitor, Speaker, or the like.

여기서, 이미지 처리장치(100)을 포함하는 시스템(10)은 통신부를 더 포함하거나 또는 통신부와 연결될 수 있다. 이미지 처리장치(100)는, 통신부를 통하여 적어도 하나의 외부 장치 및 외부 프로그램 모듈 간의 통신을 연결할 수 있다. 예를 들면, 통신부는 무선 통신 또는 유선 통신을 통해서 네트워크에 연결되어 장치들과 통신할 수 있다.Here, the system 10 including the image processing apparatus 100 may further include a communication unit or may be connected to a communication unit. The image processing apparatus 100 can connect communication between at least one external device and an external program module through a communication unit. For example, the communication unit may be connected to the network through wireless communication or wired communication to communicate with the devices.

무선 통신의 경우 통신부는, 와이파이(wireless fidelity, Wifi) 통신, 와이맥스(worldwide interoperability formicrowave access, WMax) 통신, 블루투스(Bluetooth, BT) 통신, 지그비(Zigbee) 통신 중 적어도 하나의 무선 통신을 수행하기 위한 통신 모듈을 포함할 수 있다.In the case of wireless communication, the communication unit is configured to perform at least one of wireless communication among wireless fidelity (Wifi) communication, worldwide interoperability formicrowave access (WMax) communication, Bluetooth (BT) communication, and Zigbee communication And a communication module.

또한, 유선 통신의 경우 통신부는, USB(universal serial bus), HDMI(high definition multimedia interface), RS-232(recommended standard 232) 또는 POTS(plain old telephone service) 중 적어도 하나의 유선 통신을 수행하기 위한 통신 모듈을 포함할 수도 있다. 이 때, 통신부는 하나의 integrated chip(IC) 또는 IC 패키지 내에 포함될 수 있다.In the case of wired communication, the communication unit may include at least one of a universal serial bus (USB), a high definition multimedia interface (HDMI), a recommended standard 232 (RS-232), or a plain old telephone service Communication module. At this time, the communication unit can be included in one integrated chip (IC) or an IC package.

저장부(205)는, 적어도 하나의 카메라를 통해서 촬영된 이미지, 예를 들면 이미지 원본이 저장될 수 있다. 또한, 저장부(205)는, 이미지 처리장치(100)을 통해서 처리되는 이미지 및 관련된 정보가 저장될 수 있다.The storage unit 205 may store images photographed through at least one camera, for example, an image source. Further, the storage unit 205 may store images and related information processed through the image processing apparatus 100. [

일 실시 예에 따르면, 저장부(205)는, 스티칭 파이프라인(40)에 포함되는 적어도 하나의 스티칭 모듈에 대한 정보, 예를 들면, 이미지 노드, 샘플 노드, 왜곡 노드, 채널설정 노드 및 보정 노드 중 적어도 하나의 노드에 대한 정보를 포함할 수 있다.According to one embodiment, the storage unit 205 stores information about at least one stitching module included in the stitching pipeline 40, for example, image nodes, sample nodes, distortion nodes, Lt; RTI ID = 0.0 > a < / RTI >

또한 저장부(205)는, 이미지 원본에 기반하여 생성된 왜곡된 이미지, vr 이미지, vr 이미지 전개도, 전체왜곡맵, 일부왜곡맵 중 적어도 하나에 대한 정보를 포함할 수 있다.Also, the storage unit 205 may include information on at least one of a distorted image, a vr image, a vr image developed view, an entire distortion map, and a partial distortion map generated based on the image source.

본 발명의 일 실시 예에 따르면, 상술한 이미지 처리장치(100)의 구성 요소들 및 그 기능에 기반하여, vr 이미지를 생성할 수 있다. 일 실시 예에 따르면, 이미지 처리장치(100)는, 상술한 바와 같이 스티칭 파이프라인에 기반하여 vr 이미지 전개도 및 vr 이미지를 생성할 수 있다.According to one embodiment of the present invention, a vr image can be generated based on the components of the image processing apparatus 100 described above and their functions. According to one embodiment, the image processing apparatus 100 may generate a vr image exploded view and a vr image based on the stitching pipeline as described above.

이하 도 8은, 본 발명의 일 실시 예에 따른 이미지 처리장치(100)에서 vr 이미지를 생성하는 동작의 흐름을 도시한다.8 shows a flow of an operation of generating a vr image in the image processing apparatus 100 according to an embodiment of the present invention.

이미지 처리장치(100)는, 지정된 스티칭 파이프라인을 호출할 수 있다(S801). 일 실시 예에 따르면, 이미지 처리장치(100)는, 저장부(205)에 저장된 스티칭 파이프라인을 호출하거나 및/또는 새로운 스티칭 파이프라인을 생성할 수 있다.The image processing apparatus 100 can call the specified stitching pipeline (S801). According to one embodiment, the image processing apparatus 100 may call the stitching pipeline stored in the storage unit 205 and / or create a new stitching pipeline.

이때, 저장부(205)에 저장된 스티칭 파이프라인(예: 도 3의 스티칭 파이프라인(40))을 호출하는 경우, 스티칭 파이프라인(40)은, 적어도 둘 이상의 스티칭 모듈을 포함할 수 있다.At this time, when calling the stitching pipeline (for example, the stitching pipeline 40 in Fig. 3) stored in the storage unit 205, the stitching pipeline 40 may include at least two stitching modules.

이미지 처리장치(100)는, 호출된 스티칭 파이프라인에 기반하여 vr 이미지를 생성하기 위한 이미지 원본을 호출할 수 있다(S803). 일 실시 예에 따르면, 이미지 처리장치(100)는, 스티칭 파이프라인에 포함된 둘 이상의 스티칭 모듈 각각에 대하여 지정된 방향에 대하여 촬영된 이미지 원본을 호출할 수 있다.The image processing apparatus 100 may call an image source for generating a vr image based on the called stitching pipeline (S803). According to one embodiment, the image processing apparatus 100 may call the photographed image source for a specified direction for each of the two or more stitching modules included in the stitching pipeline.

이미지 처리장치(100)는, 스티칭 모듈 각각에 대하여 호출된 이미지 원본을 변환할 수 있다(S805) 일 실시 예에 따르면, 이미지 처리장치(100)는, 각각의 스티칭 처리모듈에 설정된 이미지 원본을 왜곡 정보 및/또는 일부왜곡맵에 적용하여 변환을 수행할 수 있다.The image processing apparatus 100 may convert the image source set for each stitching module according to one embodiment (S805) Information and / or some distortion maps.

이미지 처리장치(100)는, 변환된 둘 이상의 이미지 각각을, 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성할 수 있다(S807). 이미지 처리장치(100)는, 둘 이상의 변환된 이미지를 병합함에 있어서, 겹쳐지는 영역에 대하여 추가적인 이미지 왜곡을 처리할 수 있다.The image processing apparatus 100 may generate a developed view of one virtual reality image by merging each of the converted two or more images at a designated position (S807). The image processing apparatus 100 may process additional image distortions for overlapping regions in merging two or more transformed images.

일 실시 예에 따르면, 이미지 처리장치(100)는, 변환된 이미지를 병합함에 있어서, 겹쳐지는 영역에 대하여 지정된 알파값을 적용할 수 있다.According to one embodiment, in merging the transformed image, the image processing apparatus 100 may apply a specified alpha value to the overlapping region.

이미지 처리장치(100)는, 생성된 vr 이미지 전개도에 영상 평탄화(stabilization) 작업, vr 이미지에 포함된 수평선, 지평선, 고정물체 등을 이용한 포인트 트래킹 적용, 시점 처리 등의 후처리 동작을 수행할 수 있다.The image processing apparatus 100 can perform a post-processing operation such as an image flattening (stabilization) operation, a horizontal line included in the vr image, a point tracking using a horizon, a fixed object, have.

다양한 실시 예에 따르면, 이미지 처리장치(100)는, 스티칭 파이프라인에 스티칭 모듈을 추가하거나 제어할 수 있다. 일 실시 예에 따르면, 이미지 처리장치(100)는, 생성되는 vr 이미지의 적어도 일부에 대하여 품질을 향상시키거나 및/또는 추가적인 효과를 적용하기 위하여 적어도 하나의 방향에 대하여 촬영된 이미지를 이미지 원본으로 처리하는 스티칭 모듈을 추가할 수 있다.According to various embodiments, the image processing apparatus 100 may add or control a stitching module to the stitching pipeline. According to one embodiment, the image processing apparatus 100 may be configured to provide a captured image to at least a portion of the generated vr image as an image source in order to improve quality and / or apply additional effects. A stitching module for processing can be added.

다양한 실시 예에 따르면, 이미지 처리장치(100)는, 스티칭 파이프라인을 추가함에 있어서, 적어도 하나의 방향에 대하여 촬영된 이미지 원본을 추가하기 위한 스티칭 모듈을 생성하는 것에 한정하지 않고, 기 생성된 vr 이미지 또는 vr 이미지 전개도를 이용하여 선택된 영역에 대한 이미지를 수정하도록 처리할 수 있다.According to various embodiments, in addition to the stitching pipeline, the image processing apparatus 100 is not limited to creating a stitching module for adding a photographed image source to at least one direction, An image or vr image development can be used to modify the image for the selected area.

본 발명의 다양한 실시 예에 따르면, 이미지 처리장치(100)는, 기 생성된 스티칭 파이프라인을 호출하거나, 하나의 방향에 대한 이미지를 처리하는 스티칭 모듈을 둘 이상 포함하는 스티칭 파이프라인을 생성함으로써, 다양한 방향에 대하여 촬영된 이미지를 기반으로 하는 vr 이미지의 생성을 효과적으로 수행할 수 있다.According to various embodiments of the present invention, the image processing apparatus 100 may generate a stitching pipeline that includes two or more stitching modules that call the pre-created stitching pipeline or process an image for one direction, The generation of the vr image based on the photographed image in various directions can be effectively performed.

더하여, 이미징 처리장치(100)는, 스티칭 파이프라인을 통하여 다양한 방향에 대하여 촬영된 이미지의 합성을 위한 스티칭 모듈을 추가 및/또는 제거 가능하도록 처리함으로써, 생성되는 vr 이미지의 품질을 효과적으로 제어하고, vr 이미지의 수정을 처리할 수 있다.In addition, the imaging processing apparatus 100 can effectively control the quality of the generated vr image by processing the stitching module for synthesizing the photographed images in various directions via the stitching pipeline so as to be additionally and / vr can handle the modification of the image.

일 실시 예에 따르면, 이미지의 수정은, 선택된 이미지에 대하여 디지털 처리 예를 들면, 특수 효과(special effect(s)), 시각적 특수효과(visual effects-special effects) 등의 컴퓨터 그래픽스(computer graphics, cg)를 처리하는 것일 수 있다.According to one embodiment, the modification of the image may be performed on a selected image using computer graphics, such as digital processing, e.g., special effect (s), visual effects-special effects ). ≪ / RTI >

상술한 바와 같이, 이미지 처리장치(100)는, 스티칭 파이프라인에 기반하여 vr 이미지를 생성하기 위한 다양한 포맷을 제공함으로써, vr 이미지 생성의 다양성을 제공하고, 나아가, vr 이미지의 생성의 자유도를 크게 개선할 수 있다.As described above, the image processing apparatus 100 can provide various types of vr image generation by providing various formats for generating vr images based on the stitching pipeline, and further, it is possible to greatly increase the freedom of creation of vr images Can be improved.

더하여, vr 이미지의 왜곡 및/또는 병합 과정, 그리고 처리되는 이미지에서 발생하는 이상 상태를 확인하는 경우, 해당 이미지를 제외한 나머지를 왜곡하여 vr 이미지를 생성하게 되면, 생성된 vr 이미지의 공간이 일그러지거나 현실성을 잃어버릴 수 있다.In addition, when the distortion and / or merging process of the vr image and the abnormal state occurring in the processed image are checked, if the vr image is generated by distorting the rest of the image, the space of the generated vr image is distorted It can lose reality.

이미지 처리장치(100)는, 이러한 이상 상태를 감지하는 경우, 해당 이미지에 대응되는 영역에 대하여 이미지 처리(예: 이미지 왜곡, 병합 등)를 수행하지 않거나, 또는 지정된 처리를 수행함으로써, 생성되는 vr 이미지가 현실성을 상실하지 않도록 처리할 수 있다.When detecting the abnormal state, the image processing apparatus 100 does not perform image processing (e.g., image distortion, merging, etc.) on the region corresponding to the image, The image can be processed so as not to lose the reality.

상술한 바와 같이, 이미지 처리장치(100)는, 스티칭 파일프라인 및 스티칭 파이프라인에 포함되는 스티칭 모듈을 통하여 vr 이미지 생성을 처리함으로써, vr 이미지 생성 및 발생되는 문제점의 해결에 대하여 유연성을 향상시키고, 생성되는 vr 이미지의 완성도를 향상시킬 수 있다.As described above, the image processing apparatus 100 improves the flexibility of creating a vr image and solving the problems that are generated by processing vr image generation through a stitching file included in the stitching file profile and the stitching pipeline , The perfection of the generated vr image can be improved.

상술한 본 발명의 다양한 실시 예들은 소프트웨어로 구현될 수 있다. 소프트웨어로 구현되는 경우, 저장부는 하나 이상의 프로그램(또는 프로그래밍 모듈, 어플리케이션)을 저장하는 컴퓨터 판독 가능 저장 매체(또는 컴퓨터로 읽을 수 있는 저장 매체)로 제공될 수 있다. 예를 들어, 저장부는 프로그래밍 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)이며, 소프트웨어는, 저장부에 저장된 명령어로 구현될 수 있다.Various embodiments of the invention described above may be implemented in software. When implemented in software, the storage may be provided as a computer-readable storage medium (or a computer-readable storage medium) that stores one or more programs (or programming modules, applications). For example, the storage unit is a computer-readable storage medium in the form of a programming module, and the software may be embodied as instructions stored in the storage unit.

하나 이상의 프로그램은, 이미지 처리장치(100)으로 하여금, 본 발명의 청구항 및/또는 명세서에 기재된 실시 예에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함할 수 있다. 상기 명령어는, 하나 이상의 제어부에 의해 실행될 경우, 상기 하나 이상의 제어부가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들면, 메모리가 될 수 있다. 이 때, 데이터베이스(150)는 메모리에 포함되어 구성될 수 있다.The one or more programs may include instructions that cause the image processing apparatus 100 to perform the methods according to the embodiments of the invention and / or the claims of the present invention. When executed by one or more control units, the one or more control units may perform a function corresponding to the command. The computer readable storage medium may be, for example, a memory. At this time, the database 150 may be included in the memory.

상기 프로그래밍 모듈의 적어도 일부는, 예를 들면, 제어부에 의해 구현(implement)(예: 실행)될 수 있다. 상기 프로그래밍 모듈 의 적어도 일부는 하나 이상의 기능을 수행하기 위한, 예를 들면, 모듈, 프로그램, 루틴, 명령어 세트 (sets of instructions) 또는 프로세스 등을 포함할 수 있다.At least a portion of the programming module may be implemented (e.g., executed) by, for example, a control unit. At least some of the programming modules may include, for example, modules, programs, routines, sets of instructions or processes, etc. to perform one or more functions.

예를 들어, 본 발명의 일 실시 예에 따르면, 이미지 처리장치(100)은 데이터 오브젝트를 전달하기 위해 개방형표준포맷으로 사용되는 javascript object notation(json) 형태의 포멧, 그리고, json 형태로 저장되는 NoSQL 중 하나인 몽고DB(mongodb)를 이용하여 구현될 수 있다.For example, according to an embodiment of the present invention, the image processing apparatus 100 may include a javascript object notation (json) format used in an open standard format for delivering data objects, a NoSQL (Mongodb), which is one of the MongoDBs.

또한, 본 발명의 일 실시 예에 따르면, 이미지 처리장치(100)은 연결되는 다양한 사용자 장치를 관리하기 위하여 lightweight directory access protocol(LDAP) 프로토콜을 이용하여 구현될 수 있다.Also, according to an embodiment of the present invention, the image processing apparatus 100 can be implemented using a lightweight directory access protocol (LDAP) protocol to manage various user apparatuses to be connected.

상기 컴퓨터로 판독 가능한 기록 매체에는 하드디스크, 플로피디스크 및 자기 테이프와 같은 마그네틱 매체(Magnetic Media)와, CD-ROM(Compact Disc Read Only Memory), DVD(Digital Versatile Disc)와 같은 광기록 매체(Optical Media)와, 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media)와, 그리고 ROM(Read Only Memory), RAM(Random Access Memory), 플래시(flash) 메모리 등과 같은 프로그램 명령(예: 프로그래밍 모듈, 또는 프로그램)을 저장하고 수행하도록 특별히 구성된 하드웨어 장치, 삭제가능 프로그램가능 롬(EEPROM, Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)가 포함될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.The computer-readable recording medium includes a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD (Digital Versatile Disc) A magneto-optical medium such as a floppy disk and a program command such as a ROM (Read Only Memory), a RAM (Random Access Memory), a flash memory, (EEPROM), a magnetic disc storage device, or other form of optical storage (e. G., A computer readable storage medium) Devices, magnetic cassettes, and the like. Or a combination of some or all of these. In addition, a plurality of constituent memories may be included.

더하여, 상기 소프트웨어는, 입력 장치에 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 이미지 처리장치(100)에 접속할 수 있다. 또한, 통신 네트워크상의 별도의 저장장치가 이미지 처리장치(100)에 접속할 수도 있다.In addition, the software may be stored in the input device as a communication network such as the Internet, an Intranet, a LAN (Local Area Network), a WLAN (Wide Area Network), or a SAN (Storage Area Network) May be stored in an attachable storage device that can be accessed through a communication network. Such a storage device can be connected to the image processing apparatus 100 through an external port. Further, a separate storage device on the communication network may be connected to the image processing apparatus 100. [

상술한 하드웨어 장치는 본 발명의 다양한 실시 예에 대한 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.The hardware devices described above may be configured to operate as one or more software modules to perform operations on the various embodiments of the present invention, and vice versa.

본 발명의 다양한 실시 예에 따른 모듈 또는 프로그래밍 모듈은 전술한 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 본 발명의 다양한 실시 예에 따른 모듈, 프로그래밍 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.Modules or programming modules according to various embodiments of the present invention may include at least one or more of the elements described above, some of which may be omitted, or may further include other additional elements. Operations performed by modules, programming modules, or other components in accordance with various embodiments of the invention may be performed in a sequential, parallel, iterative, or heuristic manner. Also, some operations may be performed in a different order, omitted, or other operations may be added.

본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The embodiments of the present invention disclosed in the present specification and drawings are merely illustrative examples of the present invention and are not intended to limit the scope of the present invention in order to facilitate understanding of the present invention. Accordingly, the scope of the present invention should be construed as being included in the scope of the present invention, all changes or modifications derived from the technical idea of the present invention.

100: 이미지 처리장치 110: 제어모듈
120: 이미지 호출모듈 130: 위치 결정모듈
140: 싱크 처리모듈 150: 변환 처리모듈
160: 이상 검출모듈 201: 입력부
203: 출력부 205: 저장부
100: image processing apparatus 110: control module
120: image calling module 130: positioning module
140: sink processing module 150: conversion processing module
160: abnormality detection module 201: input part
203: output unit 205: storage unit

Claims (18)

지정된 형태의 스티칭 파이프라인을 호출하는 과정;
상기 스티칭 파이프라인에 포함되는 둘 이상의 스티칭 모듈 각각에 대하여 이미지 원본을 호출하는 과정;
상기 둘 이상의 스티칭 모듈 각각에 대하여 호출된 이미지 원본을 상기 둘 이상의 스티칭 모듈 각각에 기반하여 지정된 형태에 매칭되도록 변환하는 단계; 및
상기 변환된 둘 이상의 이미지 각각을 대응되는 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성하는 단계;를 포함하는, 가상현실 이미지 처리방법.
Calling the stitching pipeline of the specified type;
Calling an image source for each of the at least two stitching modules included in the stitching pipeline;
Converting the called image source for each of the at least two stitching modules to match a specified type based on each of the at least two stitching modules; And
And merging the converted two or more images at a designated position with respect to each of the two or more corresponding stitching modules to generate a developed view of the one virtual reality image.
제1항에 있어서,
상기 둘 이상의 스티칭 모듈 각각에 대하여 호출된 이미지 원본을 상기 둘 이상의 스티칭 모듈 각각에 기반하여 지정된 형태에 매칭되도록 변환하는 단계는,
상기 이미지 원본을 빨강과 초록의 그라데이션에 기반하는 플레이트에서 위치와 형태가 지정된 일부왜곡맵에 적용하여 상기 이미지를 왜곡하는, 가상현실 이미지 처리방법.
The method according to claim 1,
Wherein the step of transforming the called image source for each of the at least two stitching modules to match the specified shape based on each of the at least two stitching modules,
Wherein the image source is distorted by applying the image source to a partially distorted map positioned and shaped in a plate based on red and green gradients.
제1항에 있어서,
상기 둘 이상의 스티칭 모듈 각각에 대하여 호출된 이미지를 상기 둘 이상의 스티칭 모듈 각각에 기반하여 지정된 형태에 매칭되도록 변환하는 단계는,
상기 호출된 이미지 원본을 왜곡하는 단계; 및
상기 왜곡된 이미지의 병합을 위하여 지정된 채널의 전처리를 수행하는 단계;를 포함하는, 가상현실 이미지 처리방법.
The method according to claim 1,
Wherein converting the invoked image for each of the at least two stitching modules to match a specified type based on each of the at least two stitching modules,
Distorting the called image source; And
And performing pre-processing of a designated channel for merging the distorted image.
제3항에 있어서,
상기 변환된 둘 이상의 이미지 각각을 대응되는 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성하는 단계는,
상기 변환된 이미지의 병합을 위하여 상기 지정된 채널의 곱연산을 처리하는 단계를 포함하는, 가상현실 이미지 처리방법.
The method of claim 3,
The step of merging the converted two or more images at a designated position with respect to each of the two or more corresponding stitching modules to generate a developed view of one virtual reality image,
And processing the product operation of the designated channel for merging the transformed image.
제1항에 있어서,
상기 지정된 채널은, 상기 가상현실 이미지의 전개도에 배치된 상기 둘 이상의 왜곡된 이미지 중 겹쳐지는 영역에 대응하여 결정되는, 가상현실 이미지 처리방법.
The method according to claim 1,
Wherein the designated channel is determined corresponding to an overlapping one of the two or more distorted images disposed in an exploded view of the virtual reality image.
제3항에 있어서,
상기 전처리는, 상기 가상현실 이미지의 전개도에 배치된 상기 둘 이상의 왜곡된 이미지 중 겹쳐지는 영역에 대하여 알파값을 적용하는, 가상현실 이미지 처리방법.
The method of claim 3,
Wherein the preprocessing applies an alpha value to an overlapping region of the at least two distorted images disposed in a developed view of the virtual reality image.
제1항에 있어서,
상기 스티칭 파이프라인에 적어도 하나의 스티칭 모듈을 추가하는 과정;을 더 포함하는, 가상현실 이미지 처리방법.
The method according to claim 1,
And adding at least one stitching module to the stitching pipeline.
제1항에 있어서,
상기 스티칭 파이프라인에 적어도 하나의 스티칭 모듈을 추가하는 과정은,
상기 지정된 형태의 스티칭 파이프라인을 호출하는 과정에서 추가로 수행되거나, 또는 상기 변환된 둘 이상의 이미지 각각을 대응되는 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성하는 단계 이후에 수행되는, 가상현실 이미지 처리방법.
The method according to claim 1,
Wherein the step of adding at least one stitching module to the stitching pipeline comprises:
Or in the process of calling the stitching pipeline of the specified type or merging the converted two or more images at the designated positions for each of the corresponding two or more stitching modules to generate a developed view of one virtual reality image The virtual reality image processing method comprising:
제1항에 있어서,
상기 가상현실 이미지의 전개도에서 특정 위치를 선택하는 단계; 및
상기 특정 위치에 대응되는 왜곡된 이미지 및 이미지 원본 중 적어도 하나를 호출하는 단계;를 더 포함하는, 가상현실 이미지 처리방법.
The method according to claim 1,
Selecting a specific location in the developed view of the virtual reality image; And
And calling at least one of a distorted image and an image source corresponding to the specific location.
이미지 원본을 호출하는 이미지 호출 모듈;
상기 이미지 원본을 변환하고, 둘 이상의 왜곡된 이미지를 병합하는 변환 처리모듈; 및
지정된 형태의 스티칭 파이프라인을 호출하고, 상기 이미지 호출 모듈을 통하여 상기 스티칭 파이프라인에 포함되는 둘 이상의 스티칭 모듈 각각에 대하여 상기 이미지 원본을 호출하고, 상기 변환 처리모듈을 통하여 상기 둘 이상의 스티칭 모듈 각각에 대하여 호출된 상기 이미지 원본을 상기 둘 이상의 스티칭 모듈 각각에 기반하여 지정된 형태에 매칭되도록 변환하고, 상기 변환된 둘 이상의 이미지 각각을 대응되는 상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 위치에서 병합하여 하나의 가상현실 이미지의 전개도를 생성하도록 처리하는 제어모듈;을 포함하는, 가상현실 이미지 처리장치.
An image calling module that calls the image source;
A transformation processing module that transforms the image source and merges two or more distorted images; And
Calling the stitching pipeline of a specified type and invoking the image source for each of the at least two stitching modules included in the stitching pipeline through the image calling module, Wherein the image processing unit converts the called image source to match a specified type based on each of the two or more stitching modules and merges the converted two or more images at a designated position with respect to each of the two or more corresponding stitching modules, And a control module that processes the generated virtual reality image to generate a developed view of the real image.
제10항에 있어서,
상기 변환 처리모듈은, 상기 이미지 원본을 빨강과 초록의 그라데이션에 기반하는 플레이트에서 위치와 형태가 지정된 일부왜곡맵에 적용하여 상기 이미지를 왜곡하는, 가상현실 이미지 처리장치.
11. The method of claim 10,
Wherein the transformation processing module applies the image source to a portion of the distortion map that is positioned and shaped in a plate based on a red and green gradient to distort the image.
제10항에 있어서,
상기 변환 처리모듈은, 상기 호출된 이미지 원본을 왜곡하고, 상기 왜곡된 이미지의 병합을 위하여 지정된 채널의 전처리를 수행하는, 가상현실 이미지 처리장치.
11. The method of claim 10,
Wherein the transformation processing module performs a preprocessing of a designated channel for distorting the called image source and merging the distorted image.
제12항에 있어서,
상기 변환 처리모듈은, 상기 변환된 이미지의 병합을 위하여 상기 지정된 채널의 곱연산을 처리하는, 가상현실 이미지 처리장치.
13. The method of claim 12,
Wherein the conversion processing module processes multiplication of the specified channel for merging the transformed image.
제10항에 있어서,
상기 제어모듈은, 상기 가상현실 이미지의 전개도에 배치된 상기 둘 이상의 왜곡된 이미지 중 겹쳐지는 영역에 대응하여 상기 지정된 채널을 결정하는, 가상현실 이미지 처리장치.
11. The method of claim 10,
Wherein the control module determines the designated channel corresponding to an overlapping area of the at least two distorted images disposed in the developed view of the virtual reality image.
제12항에 있어서,
상기 변환 처리모듈은, 상기 가상현실 이미지의 전개도에 배치된 상기 둘 이상의 왜곡된 이미지 중 겹쳐지는 영역에 대하여 알파값을 적용하여 상기 전처리를 수행하는, 가상현실 이미지 처리장치.
13. The method of claim 12,
Wherein the conversion processing module performs the pre-processing by applying an alpha value to an overlapping area of the two or more distorted images arranged in the developed view of the virtual reality image.
제10항에 있어서,
상기 제어모듈은, 상기 스티칭 파이프라인에 적어도 하나의 스티칭 모듈을 추가하는, 가상현실 이미지 처리장치.
11. The method of claim 10,
Wherein the control module adds at least one stitching module to the stitching pipeline.
제10항에 있어서,
상기 제어모듈은, 상기 가상현실 이미지의 전개도에서 특정 위치를 선택하고, 상기 특정 위치에 대응되는 왜곡된 이미지 및 이미지 원본 중 적어도 하나를 호출하는, 가상현실 이미지 처리장치.
11. The method of claim 10,
Wherein the control module selects a specific location in the developed view of the virtual reality image and calls at least one of the distorted image and the image source corresponding to the specific location.
제10항에 있어서,
상기 둘 이상의 스티칭 모듈 각각은,
상기 둘 이상의 스티칭 모듈 각각에 대하여 지정된 방향에 대하여 촬영된 이미지 원본을 호출하는 이미지 노드;
상기 이미지 노드에 호출된 상기 이미지 원본을 배치하는 위치 및 왜곡 형태 중 적어도 하나를 결정하는 샘플 노드;
상기 샘플 노드에 기반하여 상기 이미지 원본을 왜곡하는 왜곡 노드;
상기 왜곡된 이미지의 병합을 위하여 지정된 채널의 전처리를 수행하는 채널설정 노드; 및
상기 왜곡된 이미지의 병합을 위하여 상기 지정된 채널의 곱연산을 처리하는 보정 노드; 중 적어도 하나의 하위 노드를 포함하는, 가상현실 이미지 처리장치.
11. The method of claim 10,
Wherein each of the two or more stitching modules comprises:
An image node calling an image source photographed for a specified direction for each of the at least two stitching modules;
A sample node for determining at least one of a position and a distortion shape placing the image source called in the image node;
A distortion node for distorting the image source based on the sample node;
A channel setting node for performing preprocessing of a designated channel for merging the distorted image; And
A correction node processing a product operation of the specified channel for merging the distorted image; And at least one child node of the virtual reality image processing apparatus.
KR1020160176900A 2016-12-22 2016-12-22 Method for processing virtual image and device thereof KR101926459B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160176900A KR101926459B1 (en) 2016-12-22 2016-12-22 Method for processing virtual image and device thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160176900A KR101926459B1 (en) 2016-12-22 2016-12-22 Method for processing virtual image and device thereof

Publications (2)

Publication Number Publication Date
KR20180073778A true KR20180073778A (en) 2018-07-03
KR101926459B1 KR101926459B1 (en) 2018-12-10

Family

ID=62918575

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160176900A KR101926459B1 (en) 2016-12-22 2016-12-22 Method for processing virtual image and device thereof

Country Status (1)

Country Link
KR (1) KR101926459B1 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004152047A (en) * 2002-10-31 2004-05-27 National Institute Of Advanced Industrial & Technology Image division/composition method and system, program therefor and recording medium

Also Published As

Publication number Publication date
KR101926459B1 (en) 2018-12-10

Similar Documents

Publication Publication Date Title
US11721071B2 (en) Methods and systems for producing content in multiple reality environments
US10540806B2 (en) Systems and methods for depth-assisted perspective distortion correction
KR100924411B1 (en) Image processing apparatus, image processing method, and storage medium
US9959905B1 (en) Methods and systems for 360-degree video post-production
US10063792B1 (en) Formatting stitched panoramic frames for transmission
JP6882868B2 (en) Image processing equipment, image processing method, system
JP6683307B2 (en) Optimal spherical image acquisition method using multiple cameras
US10692262B2 (en) Apparatus and method for processing information of multiple cameras
US20210295467A1 (en) Method for merging multiple images and post-processing of panorama
US10255664B2 (en) Image processing device and method
US10554948B2 (en) Methods and systems for 360-degree video post-production
US11812154B2 (en) Method, apparatus and system for video processing
US20200286205A1 (en) Precise 360-degree image producing method and apparatus using actual depth information
CN113132708B (en) Method and apparatus for acquiring three-dimensional scene image using fisheye camera, device and medium
See et al. Virtual reality 360 interactive panorama reproduction obstacles and issues
JP2008287588A (en) Image processor and image processing method
KR102218843B1 (en) Multi-camera augmented reality broadcasting system based on overlapping layer using stereo camera and providing method thereof
JP2016114445A (en) Three-dimensional position calculation device, program for the same, and cg composition apparatus
KR101926459B1 (en) Method for processing virtual image and device thereof
US20230103814A1 (en) Image Processing Systems and Methods
JPH10208074A (en) Picture generation method
CN111161148B (en) Panoramic image generation method, device, equipment and storage medium
KR102074072B1 (en) A focus-context display techinique and apparatus using a mobile device with a dual camera
KR20200007732A (en) Method and apparatus for providing additional information for processing media in a remote or cloud environment
US11900635B2 (en) Organic camera-pose mapping

Legal Events

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