KR20210115281A - 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치 - Google Patents
가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치 Download PDFInfo
- Publication number
- KR20210115281A KR20210115281A KR1020200030816A KR20200030816A KR20210115281A KR 20210115281 A KR20210115281 A KR 20210115281A KR 1020200030816 A KR1020200030816 A KR 1020200030816A KR 20200030816 A KR20200030816 A KR 20200030816A KR 20210115281 A KR20210115281 A KR 20210115281A
- Authority
- KR
- South Korea
- Prior art keywords
- camera
- view
- input image
- virtual viewpoint
- selecting
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/282—Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/698—Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/156—Mixing image signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/20—Image signal generators
- H04N13/204—Image signal generators using stereoscopic image cameras
- H04N13/243—Image signal generators using stereoscopic image cameras using three or more 2D image sensors
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Studio Devices (AREA)
Abstract
본 발명은 전방위 라이트 필드 입력 영상을 제공하는 카메라를 선별하는 방법 및 장치에 대한 것이다. 보다 상세하게는, 가상시점 영상을 합성하기 위해 입력 영상을 제공하는 카메라를 선별하는 방법에 있어서, 입력 영상을 제공하는 카메라에 대하여, 가상시점 위치에서의 화각 안으로 상기 카메라가 포함되는지 판단하는 단계 및 상기 카메라가 포함된다고 판단되면, 상기 카메라를 선택하는 단계를 포함하고, 상기 판단하는 단계는, 상기 가상시점 위치로부터 상기 카메라의 위치로 향하는 방향과 상기 가상시점 위치에서의 화각을 비교함으로써 판단하는 것을 특징으로 할 수 있다. 본 발명의 일 실시예에 따르면, 카메라 파라미터를 이용하여 가상시점 영상을 합성하기 위한 입력 영상을 선별할 수 있으며, 합성에 필요한 라이트 필드 입력 영상만을 효율적으로 선별하여 계산 복잡도를 낮추고 메모리 사용량을 줄일 수 있다.
Description
본 발명은 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치에 대한 것으로서 입력 영상으로부터 가상시점 영상을 효율적으로 합성 및 재현하기 위해 최적의 입력 영상을 제공하는 카메라를 선별하기 위한 것이다.
다양한 영상처리 및 방송통신 기술의 발전으로, 컴퓨터 그래픽(CG) 영상이나 실사 기반의 다시점 영상을 이용하여 현실세계를 재창조하고 이를 경험할 수 있게 하는 기술이 개발되었다. 대표적으로는, 다양한 시점의 영상을 이용하여 깊이 및 공간에 대한 형상 정보를 동시에 제공하는 3차원 영상, 즉 입체 영상을 구성하여, 사용자에게 제공하는 가상현실(Virtual Reality, VR) 기술이 있다.
가상현실과 같은 이머시브 미디어(immersive media)에서, 사용자에게 높은 몰입감을 제공하기 위해서는 6 자유도(Degrees of Freedom: DoF)를 지원하는 영상 콘텐츠를 제공하는 것이 중요하다. 6 자유도를 지원하는 영상을 제공한다는 것은 사용자에게 롤(roll) (좌-우 기울기), 요(yaw) (좌-우 회전), 피치(pitch) (앞-뒤 기울기) 방향 회전운동의 3 자유도와, 전-후, 상-하, 좌-우 방향 병진운동의 3자유도에 따른 운동시차를 지원하는 것을 의미한다. 6자유도 시점의 제공을 위해서는 사용자 움직임에 따라 운동시차가 지원되는 적합한 가상시점 영상이 제공될 때 사용자는 높은 몰입감과 현실감을 느낄 수 있다.
그러나 CG 영상이 아닌 실사 기반의 영상을 기반으로 가상시점 영상을 합성하려 하는 경우, 모든 가능한 시점에서 6자유도를 제공하는 영상을 모두 획득하여 제공하는 것이 매우 어려우므로, 제한된 수로 획득된 입력 영상으로부터 가상 위치의 사용자의 가상시점 영상을 만드는 가상시점 영상 합성, 즉 가상시점 합성이 필수적이다.
가상시점 합성을 위해서는 3차원 워핑(warping)을 이용하는 DIBR(Depth Image Based Rendering, DIBR) 기술과 라이트 필드 렌더링(Light Field Rendering LFR) 기술이 대표적이다. 라이트 필드 렌더링 기술의 라이트 필드(Light Field, LF)란 공간 상의 모든 빛을 표현하기 위한 장(Field)을 의미하는데, 공간상의 빛을 2차원 평면상의 하나의 점인 픽셀(Pixel)로 표현하여 가상시점 영상을 합성하는 DIBR과는 달리 LFR은 공간 상의 빛을 방향성을 가지는 레이(Ray)로 표현하여 보다 현실과 가까운(Photo-Realistic) 가상 시점 영상 제공이 가능하다.
특히 2018년에 발표된 논문 『R. Overbeck, et al, “Systems for Acquiring, Processing, and Rendering Panoramic Light Field Stills for Virtual Reality”, ACM Trans. Graph, Nov. 2018.』에서는 전방위 라이트 필드 영상의 획득 및 렌더링 기법을 소개한 바 있다. 전방위에 대해 매우 조밀하게(Dense) 획득된 라이트 필드 영상으로부터 사용자 가상 시점 영역에 해당하는 영상 내의 레이들을 효율적으로 샘플링하고 혼합하여 가상 시점 영상을 구성하는 방식을 개시하고 있다.
전방위 라이트 필드 영상을 선별하여 가상 시점 영상을 합성하는 데 있어서, 상기 전방위 라이트 필드 영상에 대해 기하 정보가 있을 경우, 가상 시점 영상의 화각(FoV) 내의 객체들에 대해, 대응되는 입력 레이들과 이에 따라 필요로 하는 입력 시점 영상들을 계산하여 선별하는 방법이 개시되었다.
다만 이러한 방법은 필요한 입력 레이들을 알아내기 위한 계산량이 매우 커 비효율적이며, 전방위 라이트 필드 입력 영상 전체에 대해 기하정보를 읽어 들이는 과정에서 이미 메모리 사용량이 크게 높아질 수 있다.
본 발명의 목적은, 전술한 종래 기술의 문제점을 해결하기 위해, 가상시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라를 선별하는 장치, 방법 및 프로그램을 제공하는 데 있다.
또한, 본 발명의 목적은, 기하 정보 대신 카메라 파라미터만을 이용하여 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라를 선별하는 장치, 방법 및 프로그램을 제공하는 데 있다.
본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허청구범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.
상기 목적을 달성하기 위한, 본 발명의 일 실시예에 따른 가상 시점 영상을 합성하기 위해 입력 영상을 제공하는 카메라를 선별하는 방법은 입력 영상을 제공하는 카메라에 대하여, 가상시점 위치에서의 화각 안으로 상기 카메라가 포함되는지 판단하는 단계 및 상기 카메라가 포함된다고 판단되면, 상기 카메라를 선택하는 단계를 포함하고, 상기 판단하는 단계는, 상기 가상시점 위치로부터 상기 카메라의 위치로 향하는 방향과 상기 가상시점 위치에서의 화각을 비교함으로써 판단하는 것을 특징으로 할 수 있다.
또한, 상기 판단하는 단계 이전에 반지름이 확장된 가상의 구 위에서 카메라의 위치를 결정하는 단계를 포함할 수 있다.
또한, 상기 카메라가 포함되지 않는다고 판단되면 상기 카메라의 화각과 상기 가상 시점 위치에서의 화각에 중첩되는 부분이 있는지 판단하는 단계를 더 포함할 수 있다.
또한, 상기 중첩되는 부분이 있다고 판단되면, 상기 카메라를 포함하도록 상기 가상시점 위치에서의 화각을 확장하는 단계를 더 포함할 수 있다.
또한, 상기 가상시점 위치에서의 화각을 확장하는 단계는 상기 가상시점 위치에서의 화각을 상기 카메라의 화각만큼 확장하거나 미리 설정된 임의 크기의 화각만큼 확장하는 것을 포함할 수 있다.
한편, 상기 가상의 구 위의 카메라의 위치는 실제 카메라 위치에서 카메라가 바라보는 방향으로 이동시켜 가상의 구와 만나는 점으로 결정되는 것을 특징으로 할 수 있다.
또한, 카메라 리그가 구(Sphere)형인 경우, 상기 가상의 구 위의 카메라의 위치는 상기 카메라가 바라보는 방향으로 상기 가상의 구와 상기 카메라 리그의 반지름 차이만큼 이동시켜 결정되는 것을 특징으로 할 수 있다.
한편, 상기 가상 시점 위치가 상기 카메라 리그의 외부에 있는 것을 특징으로 할 수 있다.
한편, 카메라 리그가 전방위에 균등한 방사형인 경우, 상기 카메라가 바라보는 방향이 상기 카메라 리그의 중심으로부터 상기 카메라 중심으로 향하는 방향과 일치하는 것을 특징으로 할 수 있다.
또한, 상기 판단하는 단계는 상기 화각을 네 꼭지점을 갖는 영역으로 정의하는 단계, 상기 가상시점 위치로부터 상기 네 꼭지점을 이은 직선을 정의하는 단계, 상기 네 꼭지점과 상기 카메라 리그의 구면의 교점을 구하는 단계 및 상기 교점들로 이루어진 도형 안에 위치한 카메라를 선택하는 단계를 포함할 수 있다.
상기 목적을 달성하기 위한, 본 발명의 일 실시예에 따른 가상 시점 영상을 합성하기 위해 입력 영상을 제공하는 카메라를 선별하는 장치는, 입력 영상을 제공하는 카메라에 대한 정보를 수신하는 수신부, 상기 입력 영상을 제공하는 카메라에 대한 정보를 이용하고, 상기 카메라에 대하여 가상시점 위치에서의 화각 안으로 상기 카메라가 포함되는지 판단하고 상기 카메라가 포함된다고 판단되면 상기 카메라를 선택하는 프로세서를 포함하되, 상기 프로세서는, 상기 카메라가 포함되는지 여부를 상기 가상시점 위치로부터 상기 카메라의 위치로 향하는 방향과 상기 가상시점 위치에서의 화각을 비교함으로써 판단하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는 상기 카메라가 포함되는지 여부를 판단할 때 반지름이 확장된 가상의 구를 정의하고, 상기 가상의 구 위에서 상기 카메라의 위치를 구하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는 상기 카메라가 포함되지 않는다고 판단되면 상기 카메라의 화각과 상기 가상시점 위치에서의 화각에 중첩되는 부분이 있는지 판단하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는 상기 중첩되는 부분이 있다고 판단되면, 상기 카메라를 포함하도록 상기 가상시점 위치에서의 화각을 확장하는 것을 특징으로 할 수 있다.
또한, 상기 화각을 확장하는 경우 상기 가상시점 위치에서의 화각을 상기 카메라의 화각만큼 확장하거나 미리 설정된 임의의 크기의 화각만큼 확장하는 것을 포함할 수 있다.
한편, 상기 프로세서는 상기 가상의 구 위의 카메라의 위치를 결정할 때 실제 카메라 위치에서 카메라가 바라보는 방향으로 이동시켜 상기 가상의 구와 만나는 점으로 결정하는 것을 특징으로 할 수 있다.
한편, 상기 가상시점 위치가 상기 카메라 리그의 외부에 있는 것을 특징으로 할 수 있다.
한편, 상기 입력 영상을 제공하는 카메라에 대한 정보에 대한 정보는 카메라 리그가 전방위에 균등한 방사형이고, 상기 카메라가 바라보는 방향이 상기 카메라 리그의 중심으로부터 상기 카메라 중심으로 향하는 방향과 일치한다는 내용을 포함하는 것을 특징으로 할 수 있다.
또한, 상기 프로세서는 상기 카메라가 포함되는지 여부를 판단할 때 상기 화각을 네 꼭지점으로 갖는 영역으로 정의하고, 상기 네 꼭지점과 상기 카메라 리그의 구면과의 교점을 구한 뒤 상기 교점으로 이루어진 도형 안에 위치한 카메라를 선택하는 것을 특징으로 할 수 있다.
상기 목적을 달성하기 위해, 본 발명의 일 실시예에 따른 컴퓨터에서 실행되는 가상시점 영상을 합성하기 위해 입력 영상을 제공하는 카메라를 선별하는 프로그램은, 입력 영상을 제공하는 카메라에 대하여, 가상시점 위치에서의 화각 안으로 상기 카메라가 포함되는지 판단하는 단계, 여기서 상기 카메라가 포함되는지 여부는 상기 가상시점 위치로부터 상기 카메라의 위치로 향하는 방향과 상기 가상시점 위치에서의 화각을 비교함으로써 판단하고, 상기 카메라가 포함된다고 판단되면, 상기 카메라를 선택하는 단계를 실행시키기 위하여 매체에 저장된 것일 수 있다.
본 발명의 실시예에 따르면, 가상 시점 합성에 적절한 카메라를 선별하여, 상기 카메라로부터 수집된 영상을 이용하여 사용자에게 보다 현실감 있는 가상시점 영상을 제공할 수 있다.
본 발명의 실시예에 따르면, 사용자에게 가상시점 영상을 제공할 때 영상 합성에 필요한 카메라만을 효율적으로 선별하여 계산 복잡도를 낮추고 메모리 사용량을 감소시킬 수 있다.
본 발명의 일 실시예에서는 카메라 영상에 대한 기하정보 사용없이, 카메라 파라미터(Parameter)만을 이용하여 카메라를 효율적으로 선별하여, 선별된 카메라의 입력 영상을 이용하여 효과적으로 가상 시점 영상을 합성하는 방법을 제안할 수 있다.
본 발명의 실시예에 따르면, 입력 영상을 제공할 카메라를 효율적으로 선별하면서 렌더링 복잡도를 낮추고 GPU 메모리 사용량을 줄임으로써 하드웨어 요구성능을 크게 낮출 수 있다.
도 1은 본 발명에 적용 가능한 가상시점 영상 합성을 위한 입력 영상을 획득하기 위한 카메라 리그의 일 형태를 나타낸 것이다.
도 2은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라를 선별하는 장치를 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라를 선별하는 방법을 도시한 것이다.
도 4는 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 영상 획득을 위한 카메라를 도시한 것이다.
도 5은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 획득하기 위한 카메라 선별 방식을 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상 포함 범위를 넓히기 위한 카메라 선별 방식을 나타낸 것이다.
도 7은 본 발명의 일 실시예에 따른 비-구조화된 전방위 카메라 리그에 포함된 적절한 카메라를 선별하는 방식을 나타낸 것이다.
도 8, 9, 10은 본 발명의 다른 실시예에 따른 균등한 방사형 카메라 리그에 포함된 카메라를 선별하는 방식을 설명하기 위한 것이다.
도 11은 본 발명의 다른 실시예에 따른 카메라 리그 외부에 가상시점이 위치할 경우 입력 영상을 제공하는 카메라를 선별하는 방식을 나타낸 것이다.
도 12는 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라 선별 장치 및 방법이 구현될 수 있는 환경을 도시한 것이다.
도 2은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라를 선별하는 장치를 도시한 것이다.
도 3은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라를 선별하는 방법을 도시한 것이다.
도 4는 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 영상 획득을 위한 카메라를 도시한 것이다.
도 5은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 획득하기 위한 카메라 선별 방식을 나타낸 것이다.
도 6은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상 포함 범위를 넓히기 위한 카메라 선별 방식을 나타낸 것이다.
도 7은 본 발명의 일 실시예에 따른 비-구조화된 전방위 카메라 리그에 포함된 적절한 카메라를 선별하는 방식을 나타낸 것이다.
도 8, 9, 10은 본 발명의 다른 실시예에 따른 균등한 방사형 카메라 리그에 포함된 카메라를 선별하는 방식을 설명하기 위한 것이다.
도 11은 본 발명의 다른 실시예에 따른 카메라 리그 외부에 가상시점이 위치할 경우 입력 영상을 제공하는 카메라를 선별하는 방식을 나타낸 것이다.
도 12는 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라 선별 장치 및 방법이 구현될 수 있는 환경을 도시한 것이다.
이하에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다.
본 발명의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 발명에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 발명에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 발명의 범위에 포함된다.
본 발명에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들을 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 발명의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 발명의 범위에 포함된다.
본 발명에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들 간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시예에서의 제2 구성요소를 다른 실시예에서 제1 구성요소라고 칭할 수도 있다.
본 발명의 어떤 구성요소가 다른 구성요소에 “연결되어” 있다거나 “접속되어” 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있으나, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 “직접 연결되어” 있다거나, “직접 접속되어” 있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.
또한, 본 발명에 있어서 시점은 가상 시점 및 자유시점을 포함하는 의미를 가질 수 있다.
또한, 본 발명에 있어서 카메라와 입력 카메라는 동일한 의미로 사용될 수 있다.
또한, 본 발명에 있어서 입력 영상은 전방위 라이트 필드 입력 영상을 포함하는 의미로 사용될 수 있으며, 카메라로부터 수집된 영상일 수 있다.
또한, 본 발명에 있어서 가상시점 위치와 가상시점 영상의 투영 중심은 동일한 의미로 사용될 수 있다.
또한 본 발명에 있어서 가상시점의 화각이나 가상시점 위치의 화각이나 가상시점 영상의 화각은 모두 동일한 의미로 사용될 수 있다.
또한 본 발명에 있어서 가상시점의 방향 벡터는 가상시점에서 장면(scene)을 바라보는 방향벡터와 동일한 의미로 사용될 수 있다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예들에 대해서 설명할 것이다.
본 발명에서는 기하정보의 이용 없이 카메라 파라미터만을 이용하여 가상시점 합성을 위해 입력 영상을 제공하는 카메라를 선별하는 방법 및 장치를 포함한 여러 실시예를 하기에서 개시하고자 한다. 전술한 바와 같이, 본 발명에 의해 전방위 라이트 필드 영상을 획득하는 카메라를 선별하는 경우에는 현저한 효과를 기대할 수 있으나, 본 발명이 전방위 라이트 필드 영상을 선별하는 데에만 사용될 수 있다고 하는 것은 아니며, 가상시점 영상 합성이 필요한 경우에 입력 영상을 제공하는 카메라를 선별해야 할 필요성이 있는 경우라면 모두에 적용될 수 있다고 할 것이다.
도 1은 본 발명에 적용 가능한 가상 시점 영상 합성을 위한 입력 영상을 획득하기 위한 카메라 리그의 일 형태를 나타낸 것이다. 보다 상세하게는, 본 발명의 일 실시예에 따른 6자유도를 지원하는 가상 시점 영상을 합성하기 위해 실사 기반의 영상을 수집하기 위한 구(Sphere) 형태의 카메라 리그를 나타낸 것이다.
다만 본 발명의 일 실시 예에 따른 전방위 라이트 필드 입력 영상을 획득하는 카메라 리그의 구조는 도 1의 구 형태의 카메라 리그에 한정되는 것은 아니며, 예를 들어, 사각형, 오각형과 같은 다각형 형태나 다각형 형태의 카메라를 수직 방향으로 확장하여 적층으로 쌓은 카메라 리그 구조도 이용할 수 있다. 또한 여러 카메라를 카메라 리그로 연결하여 고정한 구조도 가능하며, 상술한 바에 한정되지 않는다. 카메라 리그에 포함되는 카메라의 수, 위치, 방향 또한 목적에 따라 매우 다양할 수 있으며, 이에 제한을 두지 않는다.
상기 설명한 바와 같은 다양한 구조의 카메라 리그를 이용할 수 있음은 자명하나, 하기에서 본 발명의 여러 실시예들을 설명하는 데 있어서는, 다른 설명이 없는 한 도 1과 같은 형태의 카메라 리그를 기반으로 한다고 가정한다. 입력 영상을 획득하는 카메라 리그는 3차원 공간에서 원점을 중심으로 하고 위치하며, 반지름이 R이라고 가정한다. 구의 표면에 카메라들의 중심이 위치하고 있으며 그러한 한 개 이상의 카메라를 포함하는 카메라 리그라고 가정한다.
가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라 선별 장치는 다양한 구조로 구성될 수 있다. 상기 장치는 입력 영상을 선별하기 위한 프로세서 및 카메라 리그를 포함하는 구조로 설계될 수도 있으며 이 경우 카메라 리그에 포함된 하나 이상의 카메라의 위치, 카메라 리그의 반지름, 각각의 카메라가 바라보는 방향 등은 예를 들어 프로세서가 상기 카메라 리그로부터 확인하는 것일 수 있다. 다만 도 2로서 설명하는 장치는 외부의 카메라 리그와 연동되어 카메라 리그에 대한 정보를 수신하는 것으로 가정하나, 이에 한정되지 않는다 할 것이다.
도 2은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라를 선별하는 장치를 도시한 것이다.
보다 상세하게는, 일 예시로서, 상기 입력 영상을 제공하는 카메라를 선별 장치(202)는 입력 영상을 제공하는 카메라에 대한 정보를 수신하는 수신부(204), 상기 입력 영상을 제공하는 카메라에 대한 정보(201)를 이용하여 가상 시점 위치에서의 화각 안으로 카메라가 포함되는지 판단하고 상기 카메라가 포함된다고 판단되면 상기 카메라를 선택하는 프로세서(205)를 포함하되, 상기 프로세서는, 상기 카메라가 포함되는지 여부를 상기 가상 시점 위치로부터 상기 카메라의 위치로 향하는 방향과 상기 가상 시점 위치에서의 화각을 비교함으로써 판단하는 것을 특징으로 할 수 있다.
상기 입력 영상을 제공하는 카메라에 대한 정보(201)란, 예를 들어 상기 입력 영상을 제공하는 카메라를 선별하는 장치(202)의 입력 값이 될 수 있으며, 상기 장치(202)의 수신부(204)가 수신하는 값이 될 수 있다. 입력 영상을 제공하는 카메라에 대한 정보란 카메라 리그에 포함된 하나 이상의 카메라 각각의 위치와 각각의 카메라에 대한 정보 및 카메라 리그의 형태나 구조에 대한 정보를 포함할 수 있다. 이때 카메라 리그의 형태는 상기 프로세서(205)를 통해 상기 카메라 리그에 포함된 카메라의 위치를 이용하여 추정될 수도 있으나 형태 정보 자체로 수신부(204)를 통해 수신될 수도 있는 것이며 이에 한정되는 것은 아니다. 또한 상기 정보에는 상기 카메라 리그에 포함된 상기 하나 이상의 카메라가 바라보는 방향을 모두 포함할 수 있으나 카메라 리그가 전방위에 균등한 방사형일 경우에는 카메라 중심과 카메라가 바라보는 방향이 같을 수도 있어서 이를 생략할 수도 있을 것이다.
일 예로서, 상기 하나 이상의 카메라 각각의 위치는 위치벡터(Position Vector)로 나타날 수 있으며, 상기 카메라가 바라보는 각각의 방향은 회전행렬 혹은 방향 벡터(Direction Vector)로 주어질 수 있다고 할 것이나, 이에 한정되는 것은 아니다.
수신부(204)로부터 상기 카메라 리그에 대한 정보를 전달받은 프로세서(205)는, 일 실시예로서, 가상 시점 영상을 합성하고자 하는 가상 시점 위치를 결정하거나 기 설정된 가상 시점 위치에 따라, 상기 가상 시점 위치에서의 화각을 파악한 뒤, 상기 화각 안으로 카메라가 포함되는지를 판단할 수 있다. 이때, 상기 프로세서는, 예를 들어, 반지름이 매우 크게 확장된 가상의 구를 정의한 뒤, 이 확장된 구 위에 카메라 리그에 포함된 카메라의 위치를 각각 결정할 수 있다. 이렇게 결정된 카메라의 위치와 가상시점 위치를 잇는 벡터가 상기 화각 내에 포함되는지 각각의 카메라 별로 판단하고, 포함된다고 판단되면, 해당 카메라를 선별할 수 있으며, 선별된 카메라 정보(203)를 결과로 도출할 수 있다. 상기 선별된 카메라로부터 수집된 영상, 즉 입력 영상이 가상 시점 영상을 합성하는데 이용될 수 있다. 이는 도 4, 5에서 더욱 상세하게 설명할 것이다. 다만, 카메라 리그가 전방위에 균등한 방사형이라면, 더욱 간단한 선별이 가능할 수 있다. 이와 관련한 실시예는 도 8, 도 9 및 도 10에서 더욱 상세하게 설명할 것이다.
또한, 카메라가 상기 화각 내에 포함되지 않는다고 판단되더라도 상기 카메라로부터 수집된 영상, 즉 카메라 영상이 실질적으로 가상 시점 영상을 합성하는 데 이용될 수 있다고 판단되는 경우인지를 추가적으로 판단하여야 한다. 이에 대하여는 도 6에서 더욱 상세하게 설명할 것이다.
도 3은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라를 선별하는 방법을 도시한 것이다.
일 실시예로서, 상기 선별 방법은 가상 시점 위치에서의 화각 안으로 카메라가 포함되는지 판단하는 단계(S301), 상기 카메라가 포함된다고 판단되면, 상기 카메라를 선택하는 단계(S302)를 포함한다. 이때, 상기 판단하는 단계는, 상기 가상 시점 위치로부터 상기 카메라의 위치로 향하는 방향과 상기 가상 시점 위치에서의 화각을 비교함으로써 판단하는 것을 포함할 수 있다.
예를 들어, 가상 시점 위치에서의 화각 안으로 카메라가 포함되는지 판단하는 단계(S301)는, 보다 상세하게는, 카메라 리그에 포함된 모든 카메라에 대하여, 가상 시점 위치에서의 화각 안으로 상기 카메라가 포함되는지 판단하는 단계라고 할 수 있다. 또한 이 단계는 반지름이 매우 크게 확장된 가상의 구를 정의하여 이 확장된 구 위에 카메라의 위치를 각각 결정하는 단계를 거친 이후에 행해지는 것일 수 있다. 상기 단계(S301)에서는 상기 가상의 구 위에 결정된 카메라의 위치가 상기 화각 내에 포함되는지를 각각의 카메라 별로 판단하는 것을 포함할 수 있다.
일 예로서, 상기 하나 이상의 카메라 각각의 위치는 위치벡터(Position Vector)로 나타날 수 있으며, 상기 카메라가 바라보는 각각의 방향은 회전행렬 혹은 방향 벡터(Direction Vector)로 주어질 수 있다고 할 것이다. 또한, 가상 시점 위치에서 상기 하나 이상의 카메라 각각의 위치로 향하는 벡터로 나타내어 상기 가상 시점 위치에서의 화각 내에 상기 벡터가 포함되는 지 판단하는 것이 상기 화각 내에 상기 카메라가 포함되는 것인지 판단하는 단계일 수 있는데, 이에 한정되는 것은 아니며, 이에 대하여는 도 4 내지 6에서 더욱 상세하게 설명할 것이다.
다만, 카메라 리그가 전방위에 균등한 방사형이라면, 더욱 간단한 선별이 가능하다. 이와 관련한 실시예는 도 8, 도 9 및 도 10에서 더욱 상세하게 설명할 것이다.
상기 카메라가 포함된다고 판단되면, 상기 카메라를 선택하는 단계(S302)에 의해 선택된 상기 카메라의 영상, 즉 입력 영상은 가상 시점 영상을 합성하는데 이용될 수 있다.
도 4는 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상 획득을 위한 카메라 리그를 도시한 것이다. 일 실시예로서, 전술한 바와 같이 카메라 리그는 반지름 R을 가질 수 있으며, 그 중심이 x, y, z축으로 나타낸 좌표계의 원점(0,0,0)에 존재한다고 가정하고, 가상시점 영상을 합성해야 하는 상기 가상시점의 위치(401)는 로 나타낼 수 있으며, 상기 가상시점의 위치(401)로부터의 화각(404)을 갖는다고 가정한다. 일 실시예로서, 상기 카메라 리그에는 편의상 하나의 카메라만을 도시한 것이고 하나 이상의 카메라가 포함되어 있을 수 있다. 카메라 리그에 포함된 카메라의 수, 위치, 방향은 목적에 따라 매우 다양할 수 있음은 전술한 바와 같다. 상기 카메라 리그에 포함된 n개의 카메라(n은 자연수, n>=1) 중 하나인 i번째(n>=i) 카메라의 위치(402)는 로 나타낼 수 있으며, 상기 i번째 카메라가 바라보는 방향(403)은 로 나타낼 수 있다.
예를 들어, 전술한 바와 같이, 상기 카메라 리그에 포함된 카메라의 위치는 위치벡터(Position Vector)인 로, 바라보는 방향은 회전행렬인 또는 방향벡터(Direction Vector)로 주어질 수 있으나, 이에 한정되는 것은 아니며, 극좌표 등으로 나타내는 방법도 생각해 볼 수 있다. 가상 시점 위치는 카메라 내부에 존재할 수도 있으며, 외부에 존재할 수도 있다.
도 5은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 획득하기 위한 카메라 선별 방식을 나타낸 것이다. 일 실시예로서, 상기 카메라 리그는 n(n은 자연수, n>=1)개의 카메라를 포함하고 있고, 원점 O(0,0,0)을 중심으로 한다고 가정한다.
일 실시예로서, 상기 선별 방식은 먼저 반지름이 매우 크게 확장된 가상의 구(502)를 정의할 수 있다. 상기 가상의 구(502) 위에 카메라 리그에 포함된 i번째 카메라()의 위치를 (503)로서 표현할 수 있다. 이를 모든 카메라 리그에 포함된 카메라에 대하여 수행할 수 있다. 모든 가 결정되면, 가상시점 위치(505)로부터 (503)으로 향하는 방향을 구할 수 있다. 이때, 상기 방향과 위치는 상술한 바와 같이 회전행렬, 방향 벡터 및 위치 벡터로서 나타낼 수 있으며, 이에 한정되는 것은 아니다. 가상시점 위치(505) V에서 장면(scene)을 바라보는 방향도 방향 벡터(501)로서 나타낼 수 있으며, 나타내는 방법에는 제한이 없다고 할 것이다. 상기 가상시점 위치에서 바라보는 방향을 나타내는 방향 벡터(501)와 화각(504)을 고려하여 (506)가 화각(504) 안으로 들어오는 지의 여부를 판단할 수 있으며, 화각(504) 안으로 들어온다고 판단되면, 상기 에 해당하는 카메라 를 선택할 수 있다. 상기 선택된 카메라 로부터 수집된 카메라 영상은 상기 가상시점 위치에서의 영상을 합성하는데 사용될 수 있다.
보다 상세하게는, 상기 가상의 구(503)는 반지름이 매우 크게 확장된 가상의 구로서 정의될 수 있다. 이 확장된 구의 반지름은 장면(Scene)의 기하(Geometry) 정보가 갖는 최대 범위에 따라 정해지거나 또는 카메라 리그의 크기에 비해 매우 큰 임의 길이의 반지름으로 설정될 수 있으며, 다른 방법에 의하여 정해질 수도 있어서 상기의 방식에 한정되는 것은 아니다.
[식 1]
즉, 식 1은 가상의 구 위의 카메라 위치 (503)는 카메라 위치()에서 카메라 리그의 반지름(R)과 가상의 구의 반지름(R') 차이만큼, 카메라가 바라보는 방향을 나타낸 방향벡터(상기 식의 DirectionVector)를 이용하여 이동한 것임을 나타내고 있다. 또한 R은 카메라 리그의 반지름일 수 있으며, R'는 상기 가상의 구의 반지름일 수 있다.
가상 시점의 방향 벡터(가상시점 위치에서 바라보는 방향 벡터)와 모든 (506)가 이루는 각을 구하여 화각(540) 안으로 들어오는 지의 여부를 아래의 식 2와 같이 판단할 수 있다.
[식 2]
일 예시로서, 위의 비교 식 (2)를 만족하는 카메라의 인덱스, i를 찾아 카메라를 선택할 수 있다. 이 방법은 카메라가 장면(Scene)을 바라보는 방향이 가상시점 영상의 화각 안으로 들어오는 지를 판단하는 방법으로, 각각의 카메라 상에서의 카메라의 중심 위치가 아니라 바라보는 방향을 기준으로 입력 영상을 제공하는 카메라를 선택할 수 있다.
도 6은 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상 포함 범위를 넓히기 위한 카메라 선별 방식을 나타낸 것이다.
보다 상세하게는, 상기와 같이 가상시점 영상을 합성하기 위해 카메라를 선별하는 과정이 수행될 때 상기 화각 안으로 포함되지 않는다고 판단된 카메라의 경우에도 가상시점 영상을 합성하는데 실질적으로는 사용될 수 있는 경우가 존재할 수 있으므로, 해당 카메라를 추가적으로 선별하는 방식에 대한 것이다.
상기 가상시점 영상을 합성하기 위해 카메라를 선별하는 과정에는 도 5에 나타난 방식이 포함될 수 있으며, 가상의 구(601), 가상시점 위치 V 및 가상시점 위치에서 바라보는 방향벡터(602), 및 카메라 리그는 모두 상기 도 5와 동일한 것을 사용한다고 가정한다. 하기에서 도 6을 통해 설명할 본 발명의 일 실시예는 상기 도 5을 통해 설명한 본 발명의 일 실시 방식을 이용한 것을 가정하나, 이에 한정되는 것은 아니다.
가상시점 위치에서의 화각 안으로 가상시점 위치에서 가상의 구 위에 결정된 카메라 위치를 잇는 벡터(도 5, 506)가 포함되지 않더라도, 가상시점 위치에서의 화각과 카메라 화각이 겹치는, 즉 가상시점 합성에 사용될 수 있는 입력 영상을 수집하는 카메라가 존재할 수 있다.
이러한 경우에 대해 보완을 하기 위해, 실제의 화각보다 확장된 가상의 화각을 고려하여 입력 영상을 제공하는 카메라가 포함되는 범위를 넓히는 방안을 적용할 수 있다.
예를 들어, 도 5의 방식에 따르면 가상 시점 영상을 합성하기 위해서는 까지만 포함되고, 는 포함되지 않을 수 있다. 가상시점 위치 V로부터 가 가상의 구로 이동한 점인 (603)를 향하는 벡터()는 화각 내에 포함되나 V로부터 (604)를 향하는 벡터는 포함되지 않기 때문이다.
i+1번째 카메라의 가상의 구 위의 위치를 나타내는 은 상기 식 2의 조건을 만족하지 않지만 가상시점 위치 V에서의 화각과 상기 의 화각이 겹치는(중첩되는) 부분(605)이 있으므로 또한 가상시점 영상 합성에 사용될 수 있다고 판단하여 에 해당하는 카메라도 가상시점 영상 합성을 위하여 선택하는 것이 바람직하다고 할 수 있다.
화각끼리 중첩되는 부분(605)이 존재하는지를 판단하는 데에 있어서는 예를 들어 가상 시점 화각과 의 화각의 코사인 값을 비교하는 등의 방식도 이용될 수 있을 것이며 가상시점 영상의 화각을 구성하는 두 개의 선(606, 608)과 카메라 위치에서의 화각을 구성하는 두 개의 선(609, 610)을 비교하여 의 영상도 가상시점 합성에 사용될 수 있는지 판단할 수 있다. 보다 상세하게는, 예를 들어, 가 가상시점 위치에서의 화각을 구성하는 선(606)의 우측 외부에 존재하면 606 선과 609 선이 닿는 지점이 있는지 여부를 판단하고, 가 가상시점 화각을 구성하는 선 중 가상시점 방향벡터(602)를 기준으로 좌측에 있는 선의 좌측 외부에 존재한다면 상기 좌측에 있는 선과 화각의 우측 선이 닿는지 여부를 판단함으로써 상기 카메라가 포함될 수 있는지 여부를 판단할 수 있다고 할 것이다. 상기 화각을 구성하는 선(606, 607, 608, 609, 610)은 벡터일 수 있고, 화각끼리 중첩되는 부분을 판단함에 있어서는 상기의 방식에 한정되는 것은 아니다.
일 실시예로서는, 식 2에서 비교를 위해 사용되는 가상시점에서의 화각을 확장시켜 로부터 수집되는 영상 역시 포함시키는 것을 고려할 수 있다. 예를 들어, 화각의 확장에 따라 606 선이 607 선으로 이동할 수 있다. 이때 확장시키는 크기는 하기 식 3과 같이 이 제공하는 입력 영상의 화각 만큼 확장시킬 수도 있고, 미리 설정된 임의 크기의 화각 만큼 확장시키는 것도 가능할 수 있으며, 이에 한정되는 것은 아니다.
[식 3]
또한 화각 자체를 확장시키는 방법을 고려하지 않더라도 상기 카메라의 인덱스 만을 기억하는 방식도 이용될 수 있다고 할 것이며, 이에 한정되는 것은 아니다.
도 7은 본 발명의 일 실시예에 따른 가상시점 합성을 위한 입력 영상을 선별하기 위하여, 비-구조화된 전방위 카메라 리그에 포함된 적절한 카메라를 선별하는 방식을 나타낸 것이다.
본 발명의 일 실시예에 따른 가상 시점 영상 합성을 위한 입력 영상을 제공하는 카메라를 선별하는 방식에서 사용될 수 있는 카메라 리그는 전술한 바와 같이 구형의 형태로 제한되는 것은 아니므로, 카메라 리그가 전방위에 대해 비구조화(Unstructured) 된 경우에도 동일하게 적용이 가능함을 도 7을 통해 상세하게 설명할 것이다.
이 때에도 도 5에서 전술한 바와 같이 반지름이 확장된 임의의 가상의 구(703)를 동일하게 이용할 수 있으며, 도 5의 방식을 대부분 적용할 수 있다. 다만 상기 도 5에서 설명한 식 1의 반지름간 차이 기반의 단순이동이 아니라 입력카메라의 카메라 위치벡터와 방향벡터를 이용하여 상기 가상의 구에서의 위치를 찾는 과정이 추가될 수 있다. 이 때에도 가상시점 영상에서의 방향벡터와 각도 차이를 구하여 화각 내에 포함되는 카메라를 판단하는 방식은 도 5 내지 6과 동일한 방법을 사용할 수 있으나, 이에 한정된다는 의미는 아니다. 가상의 구 위의 카메라 위치(701, 702)에 해당하는 카메라는 현재 가상시점 합성에 사용되지 않는 것으로 판단되었으나 카메라 화각의 크기에 따라서는 도 6의 방식에 따라, 가상시점 합성에 사용되는 카메라로 포함될 수 있는 여지도 있다.
도 8, 9 및 10은 본 발명의 다른 실시예에 따른 균등한 방사형 카메라 리그를 이용하여 카메라를 선별하는 방식을 설명하기 위한 것이다. 보다 상세하게는, 도 8는 일 실시예로서 전방위에 균등한 방사형 카메라 리그를 도시한 것이고, 도 9는 일 실시예로서 가상시점 영상의 투영 중심, 즉 가상시점 위치와 화각의 네 꼭지점을 지나는 벡터를 도시한 것이다. 또한 도 10은 일 실시예로서 카메라 리그가 균등한 방사형인 경우 카메라를 선별하는 방식을 설명하기 위해 도시한 것이다.
상기에서 설명한 입력 영상을 제공하는 카메라 선별 방식은 어떤 구조의 카메라 리그가 사용되든 적용될 수 있는 것이어서, 카메라 리그가 구형의 전방위 균등한 방사형인 경우에도 상기 도 5 및 도 6에서 표현한 방식을 적용할 수 있음은 자명하다. 다만 이 경우 보다 단순하게 카메라를 선별하는 방식이 적용될 여지가 있으므로, 하기에서 설명하고자 한다.
일 실시예로서, 전방위에 대해 균등한 방사형 카메라 리그 중 도 8과 같이 원점을 카메라 리그의 중심으로 하고, 반지름이 R인 구(803)의 표면에 카메라들이 위치하고, 각 카메라들이 바라보는 방향(801)이 원점으로부터 바깥방향으로 나가는 방향, 즉 원점과 카메라 중심을 지나는 벡터의 방향(802)과 일치할 경우, 상기 방식에서 판별을 위해 계산되는 벡터 들을 모두 구하지 않고도 카메라를 선별할 수 있다.
우선, 가상 시점 영상의 투영 포맷(Projection Format)은 원근(Perspective) 투영, 등장방형 투영(Equirectangular, ERP) 등 다양할 수 있으나 투영 포맷 간에는 상호 변환이 가능하므로 하기 본 발명의 실시예를 설명하면서는 원근 투영 방식을 가정하고 설명한다.
일 실시예로서, 가상시점위치에서의 화각을 편의상 사각형의 닫힌 도형, 즉 화각면(Focal plane, 906)으로 표현할 수 있다. 이때, 가상시점 위치(가상시점 영상의 투영 중심, 905)와 가상시점 위치에서의 화각면(906)의 네 꼭지점을 지나는 네 개의 벡터 를 정의할 수 있다. 상기 벡터들이 카메라 리그의 카메라 중심들이 위치한 구면과 만나는 점인 를 아래와 같이 구할 수 있다.
먼저, 구 형태의 카메라 리그는 하기와 같이 표현될 수 있다.
[식 4]
상기 식은 카메라 리그의 중심을 로 가정한 수식이지만, 계산의 편의를 위해 카메라 리그의 중심이 원점(0,0,0)이 되도록 좌표계를 이동하여 구할 수도 있으며, 상기에서는 카메라 리그의 중심이 원점임을 가정한 바 있다. 그리고 를 구하기 위한, 직선의 방정식은 하기와 같이 표현될 수 있다.
[식 5]
상기 식 5로서 나타난 직선은 와 구면이 만나는 각각의 점 을 구하기 위한 것이므로, 상기 각각의 점은 각각의 직선의 기울기 a, b, c 및 절편을 별도로 가질 수 있다. 여기서 기울기인 a, b, c와 절편 은 도 10에서와 같이 두 점(가상시점 영상의 투영 중심과 화각면을 이루는 네 꼭지점)을 잇는 방식으로 구할 수 있고, 매개변수 d에 따라 직선 위의 점의 위치를 결정할 수 있다. 는 상기 카메라 리그의 구면에 있고 동시에 상기 직선 위에 존재할 수 있으므로, 상기 직선의 방정식을 구의 방정식에 대입하면 하기의 식과 같을 수 있다.
[식 6]
상기 식 6은 정리하면 하기와 같을 수 있다.
[식 7]
상기 식 7을, d에 대한 2차 방정식으로 두면 하기의 근의 공식을 이용할 수 있다.
[식 8]
그런데 상기 직선의 방정식과 구의 교점은, 도 10의 a와 같이 가상시점 위치(1000)가 구 내에 있을 경우 두 개(1002, 1003)가 존재할 수 있으므로, 화각 방향으로의 교점을 찾아야 함에 주의하여야 한다. 이를 위해서는 가상시점의 방향벡터(1001)와 일치하는 방향으로의 교점을 찾는다. 예를 들어, 네 벡터 와 가상시점의 방향 벡터(1001)의 내적으로부터 내각을 구하고, 이를 이용하여 화각방향으로의 교점을 찾는 방법을 이용할 수 있는데, 이에 한정되는 것은 아니다.
일 실시예로서 상기와 같은 방식으로 네 교점 을 모두 찾고 나면 상기 교점들로 구성된, 네 꼭지점을 갖는 닫힌 도형 안에 위치한 카메라를 가상시점 합성을 위한 카메라로 선별할 수 있다.
이때, 카메라가 상기 닫힌 도형 내에 위치하는지 판단함에 있어서는 도 10의 b에 따를 수 있다. 예를 들어, 카메라의 위치를 나타내기 위해서는 카메라 리그의 반지름과 카메라의 중심이 이루는 각도를 이용할 수 있다. 카메라 리그가 전방위에 대해 균등한 방사형이라고 가정하였으므로, 주어진 카메라 파라미터로부터 각각의 카메라의 위치를 카메라 리그의 반지름 값과 카메라가 이루는 각도(θ, 1004)를 이용하여 나타내는 극좌표로 정의할 수 있다.
이때, 일 실시예로서, 네 교점 역시 카메라 리그의 중심(여기서는 원점)으로부터의 극좌표로 구할 수 있으므로, 카메라 리그에 포함된 각 카메라의 좌표가 상기에서 구한 교점들의 극좌표가 이루는 구간 사이에 있다면 해당 카메라로 선택하는 방식에 의할 수 있다. 각각의 카메라들이 바라보는 방향이 해당 카메라의 각 좌표와 일치하므로, 이러한 방식을 통해 모든 가상시점 위치로부터 카메라 위치로의 벡터를 구하지 않고도 간단히 입력 영상을 제공하는 카메라를 선별할 수 있다.
또한 도 10의 c에서와 같이 가상시점의 화각을 일부 확장하여 입력 영상 포함 범위를 넓힐 수 있다. 예를 들어, 상기 도 6을 참조하여 설명한 방식에 의할 수 있다. 즉, 특정 카메라(예를 들어, 1006)가 네 교점이 이루는 영역 내에 카메라 중심이 포함되지 않더라도 카메라(1006)의 화각과 상기 닫힌 도형에 중첩되는 부분(1005)이 있다면, 가상시점 영상 합성에 필요할 수 있는 카메라로 상기 카메라(1006)를 추가로 포함시킬 수 있으며, 가상시점의 화각을 일부 확장(1007)할 수 있다.
상기 방식을 거쳐 선별된 카메라로부터 수집된 입력 영상은 그 자체로 선별된 것으로 표현될 수 있는 것이며 가상 시점 영상을 합성하는데 이용될 수 있다.
도 11은 본 발명의 다른 실시예에 따른 카메라 리그 외부에 가상시점이 위치할 경우 입력 영상을 제공하는 카메라를 선별하는 방식을 나타낸 것이다. 가상 시점의 위치에는 제한이 없으므로 카메라 리그 내부뿐 아니라 외부에 위치하는 것도 가능하다고 할 것이다. 다만, 가상시점 위치(1102)가 카메라 리그의 외부로 크게 벗어날 경우, 가상시점과 입력 영상에 대해 확장된 가상의 구에 투영되는 화각의 상대적인 크기가 달라질 수 있다. 따라서 이러한 경우에는 카메라 리그의 크기에 비해 매우 큰 반지름 R'(1101)을 설정하는 것을 고려할 수 있다.
도 12는 본 발명의 일 실시예에 따른 가상시점 영상 합성을 위한 입력 영상을 제공하는 카메라 선별 장치 및 방법이 구현될 수 있는 환경을 도시한 것이다. 상기 선별 장치 및 방법은 상기에서 설명한 바와 같을 수 있으며, 서버(1201)와 단말(1202, 1203, 1204)들은 유/무선 인터넷을 통해 직접 또는 인터넷 상의 P2P(peer-to-peer) 네트워크를 통해 서로 연결될 수 있다. 상기 선별 장치의 구성요소와 상기 선별 방법의 단계는 서버와 단말로 나누어 구현될 수 있다. 즉, 모든 구성요소 혹은 모든 단계가 서버 혹은 단말에 구현될 수도 있으며, 일부 구성요소 혹은 단계는 서버에서, 나머지 일부 구성요소 혹은 단계는 단말에서 수행하는 방식으로 구현될 수 있다. 즉, 서버와 단말간 통신만 가능하다면 구현 방식에는 제한이 없다.
또한, 서버는 전통적인 방식의 중앙 집권형 서버이든, 클라우드 서버이든 어떤 서버의 형태도 가능하며, 단말 또한 스마트폰, 데스크탑, 노트북, 패드 등 통신이 가능한 전자기기이면 제한이 없다고 할 것이다.
일 예시로서, 가상시점 영상 합성을 위한 카메라는 별개의 단말(1202, 1203, 1204)에 포함된 것일 수 있으며 입력 영상은 상기 단말에 포함된 카메라로부터 수집된 영상일 수 있다.
예를 들어, 서버가 적절한 카메라를 선별한다고 가정하면, 도 5, 6과 같은 과정은 서버에서 이루어 질 수 있을 것이다. 이를 위해 서버는 각각의 단말(1202, 1203, 1204)로부터 입력 영상을 수신할 수 있다. 단 이때 각각의 단말의 카메라는 서로에 대해 상대위치로 표현될 수 있어야 한다. 즉, 각 단말의 각 카메라라고 하더라도 하나의 x, y, z 좌표계에 나타낼 수 있어야 하며 결론적으로는 하나의 카메라 리그처럼 취급될 수 있어야 한다. 또한, 반대로, 단말이 적절한 카메라를 선별하는 형태로 수행될 수도 있고, 상기의 실시예로서 한정된다고 볼 수 있는 것도 아니다.
본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.
또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다.
본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행 가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로, 본 발명의 범위는 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
201: 입력 영상을 제공하는 카메라에 대한 정보
202: 입력 영상을 제공하는 카메라를 선별하는 장치
203: 선별된 카메라 정보
204: 수신부
205: 프로세서
202: 입력 영상을 제공하는 카메라를 선별하는 장치
203: 선별된 카메라 정보
204: 수신부
205: 프로세서
Claims (20)
- 가상시점 영상을 합성하기 위해 입력 영상을 제공하는 카메라를 선별하는 방법에 있어서,
입력 영상을 제공하는 카메라에 대하여, 가상시점 위치에서의 화각 안으로 상기 카메라가 포함되는지 판단하는 단계; 및
상기 카메라가 포함된다고 판단되면, 상기 카메라를 선택하는 단계; 를 포함하고,
상기 판단하는 단계는,
상기 가상시점 위치로부터 상기 카메라의 위치로 향하는 방향이 상기 가상시점 위치에서의 화각 내인지 비교함으로써 판단하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제1 항에 있어서,
상기 판단하는 단계 이전에
반지름이 확장된 가상의 구 위에서 카메라의 위치를 결정하는 단계; 를 포함하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제2 항에 있어서,
상기 카메라가 포함되지 않는다고 판단되면
상기 카메라의 화각과 상기 가상 시점 위치에서의 화각에 중첩되는 부분이 있는지 판단하는 단계를 더 포함하는, 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제3 항에 있어서,
상기 중첩되는 부분이 있다고 판단되면,
상기 카메라를 포함하도록 상기 가상시점 위치에서의 화각을 확장하는 단계를 더 포함하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제4 항에 있어서,
상기 가상시점 위치에서의 화각을 확장하는 단계는
상기 가상시점 위치에서의 화각을 상기 카메라의 화각만큼 확장하거나 미리 설정된 임의 크기의 화각만큼 확장하는 것을 포함하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제2 항에 있어서,
상기 가상의 구 위의 카메라의 위치는
실제 카메라 위치에서 카메라가 바라보는 방향으로 이동시켜 가상의 구와 만나는 점으로 결정되는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제6 항에 있어서,
카메라 리그가 구(Sphere)형인 경우,
상기 가상의 구 위의 카메라의 위치는 상기 카메라가 바라보는 방향으로 상기 가상의 구와 상기 카메라 리그의 반지름 차이만큼 이동시켜 결정되는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제1 항에 있어서,
상기 가상 시점 위치가 상기 카메라 리그의 외부에 있는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제1 항에 있어서,
카메라 리그가 전방위에 균등한 방사형인 경우,
상기 카메라가 바라보는 방향이 상기 카메라 리그의 중심으로부터 상기 카메라의 중심으로 향하는 방향과 일치하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 제9 항에 있어서,
상기 판단하는 단계는
상기 화각을 네 꼭지점을 갖는 영역으로 정의하는 단계;
상기 가상시점 위치로부터 상기 네 꼭지점을 이은 직선을 정의하는 단계;
상기 네 꼭지점과 상기 카메라의 리그의 구면의 교점을 구하는 단계; 및
상기 교점들로 이루어진 도형 안에 위치한 카메라를 선택하는 단계;를 포함하는 입력 영상을 제공하는 카메라를 선별하는 방법.
- 가상시점 영상을 합성하기 위해 입력 영상을 제공하는 카메라를 선별하는 장치에 있어서,
입력 영상을 제공하는 카메라에 대한 정보를 수신하는 수신부;
상기 입력 영상을 제공하는 카메라에 대한 정보를 이용하고, 상기 카메라에 대하여 가상시점 위치에서의 화각 안으로 상기 카메라가 포함되는지 판단하고 상기 카메라가 포함된다고 판단되면 상기 카메라를 선택하는 프로세서; 를 포함하되,
상기 프로세서는,
상기 카메라가 포함되는지 여부를 상기 가상시점 위치로부터 상기 카메라의 위치로 향하는 방향과 상기 가상시점 위치에서의 화각을 비교함으로써 판단하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 제11 항에 있어서,
상기 프로세서는
상기 카메라가 포함되는지 여부를 판단할 때
반지름이 확장된 가상의 구를 정의하고, 상기 가상의 구 위에서 상기 카메라의 위치를 구하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 제12 항에 있어서,
상기 프로세서는
상기 카메라가 포함되지 않는다고 판단되면 상기 카메라의 화각과 상기 가상시점 위치에서의 화각에 중첩되는 부분이 있는지 판단하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 제13 항에 있어서,
상기 프로세서는
상기 중첩되는 부분이 있다고 판단되면,
상기 카메라를 포함하도록 상기 가상시점 위치에서의 화각을 확장하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 제14 항에 있어서,
상기 화각을 확장하는 경우
상기 가상시점 위치에서의 화각을 상기 카메라의 화각만큼 확장하거나 미리 설정된 임의의 크기의 화각만큼 확장하는 것을 포함하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 제12 항에 있어서
상기 프로세서는
상기 가상의 구 위의 카메라의 위치를 결정할 때
실제 카메라 위치에서 카메라가 바라보는 방향으로 이동시켜 상기 가상의 구와 만나는 점으로 결정하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 제11 항에 있어서,
상기 가상시점 위치가 상기 카메라 리그의 외부에 있는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 제11 항에 있어서,
상기 입력 영상을 제공하는 카메라에 대한 정보에 대한 정보는
카메라 리그가 전방위에 균등한 방사형이고,
상기 카메라가 바라보는 방향이 상기 카메라 리그의 중심으로부터 상기 카메라 중심으로 향하는 방향과 일치한다는 내용을 포함하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 제18 항에 있어서,
상기 프로세서는
상기 카메라가 포함되는지 여부를 판단할 때
상기 화각을 네 꼭지점으로 갖는 영역으로 정의하고, 상기 네 꼭지점과 상기 카메라 리그의 구면과의 교점을 구한 뒤 상기 교점으로 이루어진 도형 안에 위치한 카메라를 선택하는 것을 특징으로 하는 입력 영상을 제공하는 카메라를 선별하는 장치.
- 컴퓨터에서 실행되는
가상시점 영상을 합성하기 위해 입력 영상을 제공하는 카메라를 선별하는 프로그램에 있어서,
입력 영상을 제공하는 카메라에 대하여, 가상시점 위치에서의 화각 안으로 상기 카메라가 포함되는지 판단하는 단계, 여기서 상기 카메라가 포함되는지 여부는 상기 가상시점 위치로부터 상기 카메라의 위치로 향하는 방향과 상기 가상시점 위치에서의 화각을 비교함으로써 판단하고; 및
상기 카메라가 포함된다고 판단되면, 상기 카메라를 선택하는 단계를 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200030816A KR102522892B1 (ko) | 2020-03-12 | 2020-03-12 | 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치 |
US17/199,177 US11706395B2 (en) | 2020-03-12 | 2021-03-11 | Apparatus and method for selecting camera providing input images to synthesize virtual view images |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200030816A KR102522892B1 (ko) | 2020-03-12 | 2020-03-12 | 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20210115281A true KR20210115281A (ko) | 2021-09-27 |
KR102522892B1 KR102522892B1 (ko) | 2023-04-18 |
Family
ID=77665184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020200030816A KR102522892B1 (ko) | 2020-03-12 | 2020-03-12 | 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11706395B2 (ko) |
KR (1) | KR102522892B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115767106B (zh) * | 2016-10-04 | 2023-10-10 | 有限公司B1影像技术研究所 | 图像编码/解码方法和计算机可读记录介质 |
US20230316455A1 (en) * | 2022-03-23 | 2023-10-05 | Lenovo (Singapore) Pet. Ltd. | Method and system to combine video feeds into panoramic video |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170017700A (ko) * | 2015-08-07 | 2017-02-15 | 삼성전자주식회사 | 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법 |
KR101915729B1 (ko) * | 2017-06-20 | 2018-11-06 | 주식회사 아이닉스 | 360도 전방향 뷰 영상 생성 장치 및 방법 |
KR20190011224A (ko) * | 2017-07-24 | 2019-02-01 | 한국전자통신연구원 | 6자유도 지원 360도 vr 영상 획득 및 재현을 위한 방법 및 그 장치 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100603601B1 (ko) | 2004-11-08 | 2006-07-24 | 한국전자통신연구원 | 다시점 콘텐츠 생성 장치 및 그 방법 |
JP5249114B2 (ja) * | 2009-04-03 | 2013-07-31 | Kddi株式会社 | 画像生成装置、方法及びプログラム |
KR20120063984A (ko) | 2010-12-08 | 2012-06-18 | 한국전자통신연구원 | 다시점 영상 생성 방법 및 장치 |
US20140104394A1 (en) | 2012-10-15 | 2014-04-17 | Intel Corporation | System and method for combining data from multiple depth cameras |
US20170178395A1 (en) | 2015-12-16 | 2017-06-22 | Google Inc. | Light field rendering of an image using variable computational complexity |
GB2547689A (en) * | 2016-02-26 | 2017-08-30 | Nokia Technologies Oy | A multi-camera device and a calibration method |
US10650590B1 (en) * | 2016-09-07 | 2020-05-12 | Fastvdo Llc | Method and system for fully immersive virtual reality |
US20210112228A1 (en) * | 2017-04-05 | 2021-04-15 | Sharp Kabushiki Kaisha | Image data generation device, image reproducing device, image data generation method, control program, and recording medium |
US10542300B2 (en) * | 2017-05-31 | 2020-01-21 | Verizon Patent And Licensing Inc. | Methods and systems for customizing virtual reality data |
US20210029294A1 (en) * | 2018-03-26 | 2021-01-28 | Sharp Kabushiki Kaisha | Systems and methods for signaling camera parameter information |
US20210152848A1 (en) * | 2018-04-10 | 2021-05-20 | Sony Corporation | Image processing device, image processing method, program, and image transmission system |
KR102435519B1 (ko) * | 2018-06-20 | 2022-08-24 | 삼성전자주식회사 | 360도 영상을 처리하는 방법 및 장치 |
CN111726520B (zh) * | 2019-03-20 | 2021-12-10 | 株式会社理光 | 摄影装置、摄影系统、图像处理方法 |
EP3987344A4 (en) * | 2019-06-24 | 2023-08-09 | Circle Optics, Inc. | LENS DESIGN FOR LOW PARALLAX PANORAMIC CAMERA SYSTEMS |
US10949986B1 (en) * | 2020-05-12 | 2021-03-16 | Proprio, Inc. | Methods and systems for imaging a scene, such as a medical scene, and tracking objects within the scene |
-
2020
- 2020-03-12 KR KR1020200030816A patent/KR102522892B1/ko active IP Right Grant
-
2021
- 2021-03-11 US US17/199,177 patent/US11706395B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170017700A (ko) * | 2015-08-07 | 2017-02-15 | 삼성전자주식회사 | 360도 3d 입체 영상을 생성하는 전자 장치 및 이의 방법 |
KR101915729B1 (ko) * | 2017-06-20 | 2018-11-06 | 주식회사 아이닉스 | 360도 전방향 뷰 영상 생성 장치 및 방법 |
KR20190011224A (ko) * | 2017-07-24 | 2019-02-01 | 한국전자통신연구원 | 6자유도 지원 360도 vr 영상 획득 및 재현을 위한 방법 및 그 장치 |
Also Published As
Publication number | Publication date |
---|---|
US11706395B2 (en) | 2023-07-18 |
US20210289187A1 (en) | 2021-09-16 |
KR102522892B1 (ko) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10522116B2 (en) | Projection method with multiple rectangular planes at arbitrary positions to a variable projection center | |
US9626790B1 (en) | View-dependent textures for interactive geographic information system | |
KR101212231B1 (ko) | 이동 자유도를 개선한 융합형 가상현실 구현 방법 | |
JP2018523326A (ja) | 全球状取込方法 | |
CN110291564B (zh) | 图像生成设备和图像生成方法 | |
CN110945868B (zh) | 用于生成场景的平铺三维图像表示的装置和方法 | |
KR20190125526A (ko) | 사용자 움직임 정보에 기초하여 영상을 표시하기 위한 방법 및 장치 | |
JP7392105B2 (ja) | 没入型ビデオコンテンツをフォービエイテッドメッシュを用いてレンダリングするための方法、システム、および媒体 | |
JP7353782B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN110024002A (zh) | 用于使用贡献区域来光场重构的系统和方法 | |
KR102522892B1 (ko) | 가상 시점 영상을 합성하기 위한 입력 영상을 제공하는 카메라 선별 방법 및 장치 | |
US20220335684A1 (en) | Finite aperture omni-directional stereo light transport | |
US20230215047A1 (en) | Free-viewpoint method and system | |
TW202101374A (zh) | 影像的深度圖之處理 | |
US10699372B2 (en) | Image generation apparatus and image display control apparatus | |
GB2565301A (en) | Three-dimensional video processing | |
JP6965439B2 (ja) | 基準画像生成装置、表示画像生成装置、基準画像生成方法、および表示画像生成方法 | |
JP2011233141A (ja) | 自由視点画像伝送のためのサーバ装置、プログラム及び自由視点画像伝送方法 | |
WO2021082736A1 (zh) | 获取位姿信息、确定物体对称性的方法、装置和存储介质 | |
JP2019012516A (ja) | 画像処理装置および画像処理方法 | |
CN113763530B (zh) | 图像处理方法、装置、计算设备及存储介质 | |
JP7118383B1 (ja) | 表示システム、表示方法、及び表示プログラム | |
KR102535136B1 (ko) | 영상정합장치 및 방법 | |
Vanijja et al. | A stereoscopic image-based approach to virtual environment navigation | |
RU2771957C2 (ru) | Устройство и способ для генерации мозаичного представления трехмерного изображения сцены |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |