KR102535947B1 - 이미지를 생성하기 위한 장치 및 방법 - Google Patents
이미지를 생성하기 위한 장치 및 방법 Download PDFInfo
- Publication number
- KR102535947B1 KR102535947B1 KR1020207002537A KR20207002537A KR102535947B1 KR 102535947 B1 KR102535947 B1 KR 102535947B1 KR 1020207002537 A KR1020207002537 A KR 1020207002537A KR 20207002537 A KR20207002537 A KR 20207002537A KR 102535947 B1 KR102535947 B1 KR 102535947B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- view vector
- image data
- rendering
- zone
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 28
- 239000013598 vector Substances 0.000 claims abstract description 306
- 238000009877 rendering Methods 0.000 claims abstract description 163
- 230000007704 transition Effects 0.000 claims abstract description 57
- 230000004044 response Effects 0.000 claims abstract description 29
- 238000013213 extrapolation Methods 0.000 claims description 42
- 238000001914 filtration Methods 0.000 claims description 26
- 230000000007 visual effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims 1
- 238000013459 approach Methods 0.000 description 55
- 230000000694 effects Effects 0.000 description 30
- 230000001976 improved effect Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 21
- 230000001965 increasing effect Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 8
- 230000007423 decrease Effects 0.000 description 8
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 210000003128 head Anatomy 0.000 description 5
- 230000015556 catabolic process Effects 0.000 description 4
- 238000006731 degradation reaction Methods 0.000 description 4
- 238000012886 linear function Methods 0.000 description 4
- 238000007654 immersion Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005352 clarification Methods 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001627 detrimental effect Effects 0.000 description 1
- 210000000887 face Anatomy 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000004886 head movement Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000008093 supporting effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
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/30—Image reproducers
- H04N13/302—Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays
-
- 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/275—Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Image Processing (AREA)
- Ink Jet Recording Methods And Recording Media Thereof (AREA)
- Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)
- Polymerisation Methods In General (AREA)
Abstract
이미지를 생성하기 위한 장치는 장면의 불완전한 표현을 제공하는 3D 이미지 데이터를 수신하는 수신기(101)를 포함한다. 뷰 벡터 소스(103)가 이미지에 대한 렌더링 뷰포인트를 나타내는 렌더링 뷰 벡터를 제공한다. 렌더러(105)가 3D 이미지 데이터로부터의 이미지 데이터에 기초하여 렌더링 뷰 벡터에 대한 중간 이미지의 제1 구역을 렌더링한다. 외삽기(107)가 3D 이미지 데이터를 중간 이미지의 제2 인접한 구역에 외삽하며, 이때 3D 이미지는 제2 구역에 대한 이미지 데이터를 포함하지 않는다. 블러 프로세서(109)가 중간 이미지에 공간적으로 변화하는 블러링을 적용하는 것에 응답하여 이미지를 생성하며, 여기서 블러링의 정도는 제1 구역의 내부 영역에서보다 제1 구역과 제2 구역 사이의 전이 구역에서 더 높다.
Description
본 발명은 장면의 불완전한 표현을 제공하는 3D 이미지 데이터로부터 이미지를 생성하기 위한 장치 및 방법에 관한 것이며 특히, 그러나 비배타적으로, 가상 현실 응용을 위한 이미지를 생성하는 것에 관한 것이다.
전통적으로, 이미지들의 기술적 처리 및 사용은 2차원 이미징에 기초했지만, 점점 더 이미지 처리에서 3차원이 명백하게 고려되고 있다.
예를 들어, 관찰되는 장면의 상이한 뷰(view)들을 관찰자의 두 눈에 제공함으로써 관찰 경험에 제3 차원을 추가하는 3차원(3D) 디스플레이들이 개발되었다. 이것은 표시되는 2개의 뷰를 분리하기 위한 안경을 사용자가 착용하게 함으로써 달성될 수 있다. 그러나, 이것은 사용자에게 불편한 것으로 간주될 수 있기 때문에, (렌티큘러 렌즈(lenticular lens)들 또는 배리어(barrier)들과 같은) 디스플레이에 있는 수단을 사용하여 뷰들을 분리하고, 그들이 개별적으로 사용자의 눈들에 도달할 수 있는 상이한 방향들로 그들을 전송하는 무안경 입체 디스플레이(autostereoscopic display)들을 사용하는 것이 많은 시나리오에서 선호된다. 입체 디스플레이들의 경우 2개의 뷰가 요구되는 반면, 무안경 입체 디스플레이들은 전형적으로 더 많은 뷰(이를테면 예를 들어 9개의 뷰)를 필요로 한다.
많은 실시예에서, 새로운 관찰 방향들에 대한 뷰 이미지들을 생성하는 것이 바람직할 수 있다. 이미지 및 깊이 정보에 기초하여 그러한 새로운 뷰 이미지들을 생성하기 위한 다양한 알고리즘이 공지되어 있지만, 이들은 제공된(또는 도출된) 깊이 정보의 정확도에 크게 의존하는 경향이 있다.
실제로, 3차원 이미지 정보는 종종 장면에 대한 상이한 뷰 방향들에 대응하는 복수의 이미지에 의해 제공된다. 특히, 영화 또는 텔레비전 프로그램과 같은 비디오 콘텐츠는 점점 더 얼마간의 3D 정보를 포함하도록 생성된다. 그러한 정보는 약간 오프셋된 카메라 위치들로부터 2개의 동시 이미지를 캡처하는 전용 3D 카메라들을 사용하여 캡처될 수 있다.
그러나, 많은 응용에서, 제공된 이미지들은 원하는 방향들에 직접 대응하지 않을 수 있거나, 더 많은 이미지가 필요할 수 있다. 예를 들어, 무안경 입체 디스플레이들의 경우, 2개 초과의 이미지가 필요하며, 실제로 종종 9개 내지 26개의 뷰 이미지가 사용된다.
상이한 뷰 방향들에 대응하는 이미지들을 생성하기 위해, 뷰 포인트 시프팅 처리가 이용될 수 있다. 이것은 전형적으로 관련 깊이 정보와 함께 단일 뷰 방향에 대한 이미지를 사용하는 뷰 시프팅 알고리즘에 의해 수행된다.
3차원 이미지 처리에 기초하는 응용의 특정 예는 가상 현실 응용이다. 전형적인 가상 현실 응용에서, 사용자에 의한 배향의 움직임 및 변화와 일치하도록 예컨대 가상 현실 헤드셋에 대해 우안 및 좌안 뷰 이미지들이 연속적으로 생성될 수 있다. 그러한 동적 가상 현실 뷰들의 생성은 전형적으로 가상 현실 환경에 대응하는 주어진 장면을 표현하는 3D 이미지 데이터의 처리에 기초한다. 예를 들어, 가상 현실 서버는 광 강도 이미지들 및 깊이 맵들, 또는 텍스처 맵들 및 깊이 메시들에 의해 표현되는 이미지들과 같은 3차원 이미지들 또는 3차원 모델에 기초하여 특정 뷰들에 대한 뷰 이미지들을 생성할 수 있다.
가상 현실 응용들과 같은 응용들의 경우, 이미지들의 시퀀스가, 예를 들어 사용자가 가상 환경에서 뷰 방향/배향을 가상적으로 이동시키거나 변경함으로 인해 사용자의 뷰들이 변함에 따라 사용자의 뷰들을 반영하기 위해 생성될 수 있다. 몇몇 응용들에서, 이미지들은 관찰자의 배향에 있어서의 변화들을 반영하도록, 그러나 영역에서의 움직임을 지원함이 없이 생성될 수 있다. 그러한 시나리오를 반영하는 비디오는 종종 전방향 비디오로 지칭된다. 다른 응용들에서, 가상 현실 환경에서 사용자의 가상 움직임을 반영하기 위해 움직이는 관찰 위치가 또한 지원될 수 있다. 그러한 시나리오를 반영하는 비디오는 종종 몰입형 비디오로 지칭된다. 사용자의 현재 뷰는 뷰포인트에 대한 관련 위치 및 방향 파라미터들을 기술하는 뷰 벡터에 의해 표현될 수 있다.
전방향 비디오의 경우, 뷰 벡터는, 전형적으로 요(yaw), 피치(pitch) 및 롤(roll) 값들을 제공함으로써, 3 자유도(3DoF)에 따라 배향을 전형적으로 기술한다.
몰입형 비디오의 경우, 벡터는, 전형적으로 요, 피치, 롤에 대한, 그리고 3개의 공간 차원에 대한 값들을 제공함으로써, 6 자유도(6DoF)에 따라 배향 및 위치 둘 모두를 전형적으로 기술한다.
그러나, 가변적인 뷰 위치들 및/또는 방향들을 지원하는 유연한 비디오 및 이미지 응용들을 개발하고 지원하려고 시도할 때의 특별한 난제는, 이들이 바람직하게는 위치들 및/또는 방향들의 서브세트로 제한되는 것이 아니라 모든 위치들 및/또는 방향들이 이상적으로 지원된다는 것이다. 예를 들어, 6DoF 몰입형 비디오의 경우, 관찰자는 임의의 위치로부터 그리고 임의의 방향에서 장면을 관찰하고 있을 수 있다. 이것은 장면의 모든 부분들에 대해 그리고 모든 위치들로부터 그리고 모든 방향들에 대해 3D 정보가 이용 가능할 것을 요구한다. 이러한 요구는, 특히 3D 데이터가 실세계 장면의 캡처들에 기초하는 응용들과 같은, 많은 실제 응용들에서 충족시키기 어렵거나 불가능하다.
예를 들어, 영화들의 경우, 디렉터들은 뷰로부터 촬영 요원 및 장비를 숨기기 위해 많은 주의를 기울인다. 하나의 접근법은 카메라들이 장면의 한쪽에, 다른 쪽을 향하여 위치되는 소위 180° 필름 문법 규칙(film grammar rule)이다. 전방향 비디오를 기록하는 것은 훨씬 더 어려운데, 이는 각각의 전방향 카메라 주위의 전체 장면이 보이기 때문이다. 이것은 예를 들어 요원이 무대 장치 뒤에 숨고 후처리에서 삼각대들과 같은 요소들을 제거할 것을 강요한다.
실제로, 전체 커버리지가 적절하고 잠재적으로 이용 가능하게 될 수 있는 장면들의 경우에도, 종종 선호되는 방향이 존재한다. 전형적으로 관찰자가 예를 들어 180° 회전하는 것은 타당하지 않기 때문에, 전형적으로 이러한 뷰포인트에 대응하는 이미지 데이터를 기록, 저장 또는 송신하는 데 필요한 리소스를 소비하는 것은 실용적이지 않다.
그러나 이것은 누락 콘텐츠가 존재하고 장면의 표현이 불완전하다는 문제를 초래한다. 따라서, 관찰자가 실제로 180° 회전한 경우, 적절한 뷰가 생성될 수 있게 하는 데이터가 이용 가능하지 않을 것이고, 결과적으로 커버리지가 제한될 것이다. 그러한 경우에, 명백한 접근법은 3D 이미지 표현에 의해 어떠한 데이터도 제공되지 않는 어떠한 이미지 정보도 렌더링하지 않는 것일 것이거나, 대안적으로 예를 들어 디폴트 텍스처가 제시될 수 있다. 그러나, 이것은 지각적으로 매우 현저하고 사용자에게 혼란을 줄 것이며, 예를 들어 가상 현실 응용들에 매우 중대한 몰입 경험을 파괴하는 경향이 있을 것이다.
이러한 문제를 회피하기 위해, 일반적으로 동적으로 평가되는 완전 3차원 컴퓨터 그래픽 모델을 생성하고 요구될 수 있는 임의의 뷰를 생성하는 데 사용하는 것이 필요한 것으로 간주된다. 그러나, 이것은 종종 비실용적이고, 매우 복잡하고, 리소스를 요구하며, 과도한 캡처 및 모델 변환 등을 요구한다.
따라서, 3차원 이미지 데이터로부터 이미지들을 생성하기 위한 개선된 접근법이 유리할 것이다. 특히, 개선된 동작, 증가된 유연성, 용이한 구현, 용이한 동작, 개선된 통신, 감소된 복잡성, 감소된 리소스 요구, 개선된 몰입 사용자 경험, 및/또는 개선된 성능을 가능하게 하는 접근법이 유리할 것이다.
따라서, 본 발명은 전술한 불리한 점들 중 하나 이상을 단독으로 또는 임의의 조합으로 바람직하게 완화, 경감 또는 제거하고자 한다.
본 발명의 태양에 따르면, 이미지를 생성하기 위한 장치가 제공되며, 장치는
장면에 대한 3D 이미지 데이터를 수신하기 위한 수신기로서, 3D 이미지 데이터는 3D 이미지 데이터가 적어도 하나의 뷰포인트에 대해 장면의 적어도 하나의 부분에 대한 시각적 특성들의 기술을 제공하지 않는다는 점에서 장면의 불완전한 표현을 제공하는, 상기 수신기; 장면 내의 제1 뷰포인트를 나타내는 렌더링 뷰 벡터를 제공하기 위한 뷰 벡터 소스; 3D 이미지 데이터에 기초하여 제1 이미지의 제1 구역을 렌더링하기 위한 렌더러로서, 제1 이미지는 렌더링 뷰 벡터에 의해 나타내어지는 제1 뷰포인트에 대한 것이고, 3D 이미지 데이터는 제1 구역에 대한 이미지 데이터를 포함하는, 상기 렌더러; 3D 이미지 데이터를 제1 이미지의 제2 구역에 외삽하기 위한 외삽기로서, 3D 이미지 데이터는 제2 구역에 대한 이미지 데이터를 포함하지 않고, 제1 구역과 제2 구역은 인접한 구역들인, 상기 외삽기; 및 이미지를 생성하기 위한 블러 프로세서로서, 이미지를 생성하는 것은 제1 이미지에 공간적으로 변화하는 블러링을 적용하는 것을 포함하고, 블러링의 정도는 제1 구역의 내부 영역에 대해서보다 제1 구역과 제2 구역 사이의 전이 구역에서 더 높은, 상기 블러 프로세서를 포함한다.
본 발명은 많은 실시예들 및 시나리오들에서 개선된 이미지들이 생성될 수 있게 할 수 있다. 특히, 생성된 이미지가 3D 이미지 데이터가 어떠한 이미지 데이터도 제공하지 않는 하나 이상의 영역을 포함할 때에도 개선된 지각된 이미지 품질이 달성될 수 있다. 특히, 전형적으로 외삽과 관련된 저하 효과가 상당히 감소될 수 있고, 많은 시나리오들에서 사용자에게 현저하지 않을 수 있다.
전이 구역의 블러링은 특히 지각적 영향을 감소시킬 수 있다. 또한, 렌더링 뷰포인트가 사용자 입력에 의해 결정되는 실시예들에서, 이 접근법, 및 특히 블러링은, 큰 정도의 외삽이 필요한 뷰포인트들로부터 멀어지게 사용자들을 바이어스할 수 있다.
접근법은 특히 렌더링 뷰포인트가 사용자 입력에 응답하여 생성되고 제어되는 시나리오들에 대해 이미지들의 유리한 생성을 제공할 수 있다. 예를 들어, 접근법은 가상 현실 응용을 위한 뷰 이미지들을 제공하는 데(예를 들어, 가상 현실 헤드셋을 위한 이미지들을 제공하는 데) 매우 적합하다. 접근법은 3D 이미지 데이터에 의해 제공되는 장면의 불완전한 표현만의 영향을 감소시키면서 높은 자유도를 허용할 수 있다.
또한, 접근법은 3D 이미지 데이터로부터의 데이터의 결여로 인해 품질을 상당히 감소시키는 경향이 있는 뷰포인트들로부터 멀어지게 가상 현실 응용을 제어하도록 사용자를 바이어스할 수 있다.
접근법은 많은 실시예들 및 시나리오들에서 기본 장면의 완전한 표현을 요구함이 없이 이미지들의 만족스러운 생성을 제공할 수 있다. 접근법은 장면의 불완전한 표현으로부터 기인하는 불편을 감소시킬 수 있고, 따라서 불완전한 모델들 또는 캡처들의 사용을 허용할 수 있다. 특히, 접근법은 전형적으로 예를 들어 3D 카메라들을 사용한 실세계 장면의 캡처에 기초하여 응용들에 대한 개선된 지원을 제공할 수 있다.
뷰 벡터는 뷰포인트를 나타내는 임의의 값 또는 값들의 세트일 수 있다. 뷰포인트는 뷰/뷰포트에 대한 위치 및/또는 배향일 수 있다. 뷰 벡터는 예를 들어 뷰포인트의 위치를 나타내는 하나 이상의 값 및/또는 뷰포인트에 대한 뷰 배향을 나타내는 하나 이상의 값을 포함할 수 있다.
3D 이미지 데이터는 이미지 콘텐츠가 장면의 (시각/광 강도) 뷰를 표현하도록 생성될 수 있게 하는 임의의 데이터를 포함할 수 있다. 예를 들어, 3D 이미지 데이터는 시스템이 뷰들을 생성할 수 있게 하는 장면의 3D 모델을 포함할 수 있다. 많은 실시예들에서, 3D 이미지 데이터는 하나 이상의 3D 이미지를 포함할 수 있으며, 이때 각각의 3D 이미지는 이미지 + 깊이 또는 텍스처 맵 + 메시 표현과 같은, 광 강도 및 깊이 정보를 제공한다. 많은 실시예들에서, 3D 이미지 데이터는 광시야각 이미지들을 포함할 수 있고, 특히 거의 전방향 이미지들이 포함될 수 있다.
3D 이미지 데이터는 장면의 불완전한 표현을 제공하고, 이에 따라 적어도 하나의 뷰포인트에 대해 3D 이미지 데이터가 시각적 특성들의 기술을 제공하지 않는 장면의 적어도 하나의 부분이 존재한다. 3D 이미지 데이터에 의해 기술되지 않은 장면의 부분(들)은 상이한 뷰포인트들에 대해 상이할 수 있다. 적어도 하나의 뷰 위치에 대해, 대응하는 뷰포트가 3D 이미지 데이터가 시각적 특성들의 (개개의) 기술을 포함하지 않는 적어도 하나의 부분을 포함하는 적어도 하나의 뷰 배향이 존재한다. 그러한 부분들에 대해, 이미지 콘텐츠는 전형적으로, 특히 3D 이미지 데이터가 이미지 데이터를 제공하는 구역(예컨대, 제1 구역)으로부터 3D 이미지 데이터가 이미지 데이터를 제공하지 않는 구역(제2 구역)으로의 외삽에 의해, 장면의 다른 부분들에 대한 3D 이미지 데이터로부터 생성될 수 있다.
따라서, 전형적으로 장면의 그러한 부분들에 대해, 이미지 콘텐츠는 (전형적으로 비교적 부정확한 경향이 있다는, 예를 들어 상이한 구역들에 속하는 이미지 콘텐츠에 대해 어떠한 변경도 발생하지 않는다는 가정들을 사용하여) 장면의 다른 부분들로부터 생성될 필요가 있다.
장면은, 예를 들어 주어진 시간에 주어진 위치로부터의 환경의 뷰의 3D 표현과 같은, 기본 3D 환경의 특정한 부분 또는 뷰의 특정한 표현일 수 있다. 그것은 몇몇 경우들에서 환경 또는 세계의 3D 모델과 같은 전체 기본 3D 환경일 수 있다. 따라서, 장면은 이미지가 그의 뷰를 표현하도록 생성되는 임의의 환경인 것으로 간주될 수 있다.
외삽기는 전형적으로 제1 구역에 대해 생성된 이미지 콘텐츠(특히 픽셀 값들)를 제2 구역에 외삽함으로써 3D 이미지 데이터를 제2 구역에 외삽하도록 배열된다. 따라서, 전형적으로 제1 구역의 렌더링된 이미지 콘텐츠는 제2 구역에 외삽된다.
제1 및/또는 제2 구역은 복수의 분리된 영역들을 포함할 수 있다.
본 발명의 선택적인 특징에 따르면, 전이 구역은 제1 구역의 영역을 포함한다.
이것은 많은 시나리오들에서 특히 유리한 동작을 제공할 수 있다. 그것은 예를 들어 많은 실시예들에서 높은 이미지 품질을 여전히 유지하면서 3D 이미지 데이터가 어떠한 데이터도 포함하지 않는 장면의 영역들로부터 멀어지게 바이어스를 도입할 수 있다.
본 발명의 선택적인 특징에 따르면, 장치는 이미지에 대한 렌더링 마스크를 결정하기 위한 렌더 구역 프로세서로서, 렌더링 마스크는 이미지의 픽셀들이 제1 구역에 속하는지 여부를 나타내는, 상기 렌더 구역 프로세서; 렌더링 마스크에 응답하여 이미지에 대한 공간적으로 변화하는 필터 특성을 결정하기 위한 필터 어댑터를 추가로 포함하며, 블러 프로세서는 공간적으로 변화하는 필터 특성을 채택하는 공간 필터를 렌더링된 이미지에 적용하도록 배열된다.
이것은 많은 실시예들에서 특히 효율적이고/이거나 유리한 동작 및/또는 구현을 제공할 수 있다.
공간적으로 변화하는 필터 특성은 제1 구역(의 다른 부분들)에 대해서와는 전이 구역에서 상이할 수 있다. 공간적으로 변화하는 필터 특성은 제2 구역(의 다른 부분들)에 대해서와는 전이 구역에서 상이할 수 있다.
본 발명의 선택적인 특징에 따르면, 공간적으로 변화하는 필터 특성은 공간 필터에 의한 저역 통과 필터링의 정도를 나타낸다.
이것은 많은 실시예들에서 특히 효율적이고/이거나 유리한 동작 및/또는 구현을 제공할 수 있다. 공간적으로 변화하는 필터 특성은 특히 공간 저역 통과 필터에 대한 필터 커널의 크기와 같은, 저역 통과 필터링의 정도일 수 있다.
본 발명의 선택적인 특징에 따르면, 외삽기는 중간 이미지를 다운스케일링하는 것에 응답하여 다운스케일링된 이미지를 생성하고; 다운스케일링된 이미지에, 렌더링 마스크에 의해 안내되는 양방향 필터를 적용하는 것에 응답하여 필터링된 다운스케일링된 이미지를 생성하고; 다운스케일링된 이미지를 업스케일링하는 것에 응답하여 필터링된 업스케일링된 이미지를 생성하고; 필터링된 업스케일링된 이미지로부터 제2 구역에 대한 픽셀 값들을 생성하도록 배열된다.
이것은 특정 접근법에 대한 특히 유리한 외삽을 허용할 수 있다.
본 발명의 선택적인 특징에 따르면, 블러 프로세서는 픽셀에 대한 블러링의 정도를, 픽셀의 위치로부터 전이 영역의 경계까지의 거리에 응답하여 결정하도록 배열된다.
이것은 많은 실시예들에서 유리한 성능 및/또는 개선된 동작 및/또는 구현을 제공할 수 있다.
픽셀에 대한 블러링의 정도(전형적으로 저역 통과 필터링의 정도)는 전이 구역 내에서 전이 구역과 제1 구역 사이의 에지까지의 거리에 따라 증가할 수 있고/있거나, 전이 구역 내에서 전이 구역과 제2 구역 사이의 에지까지의 거리에 따라 감소할 수 있다.
본 발명의 선택적인 특징에 따르면, 블러 프로세서는 전이 구역에서의 블러링의 정도에 대해 제2 구역의 적어도 일부에서의 블러링의 정도를 감소시키도록 배열된다.
이것은 많은 실시예들에서 개선된 동작을 허용할 수 있고, 특히 많은 시나리오들에서 계산 리소스 요구를 감소시킬 수 있다.
본 발명의 선택적인 특징에 따르면, 장치는 이미지에 대한 장면 내의 타겟 뷰포인트를 나타내는 타겟 뷰 벡터를 수신하기 위한 수신기; 장면에 대한 기준 뷰포인트를 나타내는 기준 뷰 벡터를 제공하기 위한 기준 소스를 추가로 포함하며, 뷰 벡터 소스는 사용자가 원하는 뷰포인트 및 장면에 대한 기준 뷰포인트의 함수로서 렌더링 뷰포인트를 나타내는 렌더링 뷰 벡터를 생성하도록 배열된다.
접근법은 많은 실시예들 및 시나리오들에서 개선된 이미지들이 생성될 수 있게 할 수 있다. 특히, 원하는 뷰포인트로부터 원하는 뷰를 제공하는 것과 고품질 이미지를 제공하는 것 사이에서 개선된 절충이 달성될 수 있다. 접근법은 예를 들어 이미지 품질이 더 높을 수 있는 선호되는 뷰들을 향한 뷰들의 완만한 바이어스를 제공할 수 있다.
접근법은 예를 들어 사용자가 뷰포인트들을 제어할 수 있지만 이들이 개선된 품질을 제공하는 뷰포인트들을 향해 바이어스되는 가상 현실 경험을 가능하게 할 수 있다. 예를 들어, 사용자가 생성되는 뷰들에 대한 뷰포인트를 자유롭게 제어할 수 있는 효과가 제공될 수 있다 - 이러한 뷰들이 3D 이미지 데이터로부터 생성될 수 있는 한 -. 그러나, 3D 이미지 데이터가 어떠한 데이터도 제공하지 않는 뷰포인트들에 관한 경우, 시스템은 이러한 이동에 대한 저항(reluctance) 또는 바이어스를 도입할 수 있다. 이것은 많은 상황들에서 수정된 사용자 거동을 야기할 수 있는 미묘하고 종종 지각할 수 없는 적응을 제공할 수 있다.
접근법은 특히 타겟 뷰 벡터가 사용자 입력에 응답하여 생성되고 제어되는 시나리오들에 대해 이미지들의 유리한 생성을 제공할 수 있다. 예를 들어, 접근법은 가상 현실 응용을 위한 뷰 이미지들을 제공하는 데(예를 들어, 가상 현실 헤드셋을 위한 이미지들을 제공하는 데) 매우 적합하다. 접근법은 3D 이미지 데이터에 의해 제공되는 장면의 불완전한 표현만의 영향을 감소시키면서 높은 자유도를 허용할 수 있다.
또한, 접근법은 3D 이미지 데이터로부터의 데이터의 결여로 인해 품질을 상당히 감소시키는 경향이 있는 뷰포인트들로부터 멀어지게 가상 현실 응용을 제어하도록 사용자를 바이어스할 수 있다.
본 발명의 선택적인 특징에 따르면, 뷰 벡터 소스는 3D 이미지 데이터가 이미지 데이터를 포함하는 장면의 부분과 3D 이미지 데이터가 이미지 데이터를 포함하지 않는 장면의 부분 사이의 경계를 나타내는 경계 뷰 벡터에 응답하여 기준 뷰 벡터를 결정하도록 배열된다.
이것은 많은 시나리오들에서 특히 유리한 동작 및/또는 성능을 제공할 수 있다. 그것은 예를 들어 많은 실시예들에서 높은 이미지 품질을 여전히 유지하면서 3D 이미지 데이터가 어떠한 데이터도 포함하지 않는 장면의 영역들로부터 멀어지게 바이어스를 도입할 수 있다. 특히 그것은 종종 이것이 허용할 수 없을 정도로 자유를 제한하거나 몰입의 느낌을 파괴하는 것 내에서 더 높은 품질의 뷰들을 향해 바람직한 바이어스를 제공할 수 있다.
본 발명의 선택적인 특징에 따르면, 3D 이미지 데이터를 수신하기 위한 수신기는 3D 이미지 데이터를 포함하고 공칭 뷰포인트 데이터를 추가로 포함하는 데이터 스트림을 수신하도록 추가로 배열되고, 뷰 벡터 소스는 공칭 뷰포인트 데이터에 응답하여 기준 뷰 벡터를 생성하도록 배열된다.
이것은 많은 시나리오들에서 특히 유리한 동작 및/또는 성능을 제공할 수 있다. 그것은 예를 들어 많은 실시예들에서 높은 이미지 품질을 여전히 유지하면서 3D 이미지 데이터가 어떠한 데이터도 포함하지 않는 장면의 영역들로부터 멀어지게 바이어스를 도입할 수 있다. 특히 그것은 종종 허용할 수 없을 정도로 자유를 제한하거나 몰입의 느낌을 파괴함이 없이 더 높은 품질의 뷰들을 향해 바람직한 바이어스를 제공할 수 있다.
접근법은 특히 콘텐츠 제공자가 원하는 뷰포인트들을 향한 바이어싱을 지원, 유도 및/또는 제어할 수 있게 할 수 있다. 예를 들어, "디렉터" 뷰가 추천된 또는 제안된 뷰포인트로서 제공될 수 있다.
본 발명의 선택적인 특징에 따르면, 외삽기는, 제2 구역에 근접한 제1 구역의 복수의 영역들에 대한 저역 통과 필터링된 이미지 특성을 결정하고, 저역 통과 필터링된 이미지 특성들에 응답하여 제2 구역의 적어도 일부에 대한 이미지 특성을 설정하도록 배열된다.
이것은 특정 접근법에 대한 특히 유리한 외삽을 허용할 수 있다.
본 발명의 선택적인 특징에 따르면, 수신기는 외삽 제어 데이터를 추가로 포함하는 데이터 스트림에서 3D 이미지 데이터를 수신하도록 배열되고, 외삽기는 외삽 제어 데이터에 응답하여 외삽의 파라미터를 설정하도록 배열된다.
이것은 특정 접근법에 대한 특히 유리한 외삽을 허용할 수 있다.
본 발명의 선택적인 특징에 따르면, 장치는 이미지에 전역 공간 필터를 적용하도록 배열된 필터 프로세서를 추가로 포함하며, 공간 필터의 특성은 3D 이미지가 이미지 데이터를 포함하지 않는 이미지의 비율에 의존한다.
이것은 특히 이용 가능한 3D 이미지 데이터의 특정 특성들에 더 잘 적응될 수 있는 개선된 이미지가 생성되는 것일 수 있다.
본 발명의 태양에 따르면, 이미지를 생성하는 방법이 제공되며, 방법은 장면에 대한 3D 이미지 데이터를 수신하는 단계로서, 3D 이미지 데이터는 3D 이미지 데이터가 적어도 하나의 뷰포인트에 대해 장면의 적어도 하나의 부분에 대한 시각적 특성들의 기술을 제공하지 않는다는 점에서 장면의 불완전한 표현을 제공하는, 상기 3D 이미지 데이터를 수신하는 단계; 장면 내의 제1 뷰포인트를 나타내는 렌더링 뷰 벡터를 제공하는 단계; 3D 이미지 데이터에 기초하여 제1 이미지의 제1 구역을 렌더링하는 단계로서, 제1 이미지는 렌더링 뷰 벡터에 의해 나타내어지는 제1 뷰포인트에 대한 것이고, 3D 이미지 데이터는 제1 구역에 대한 이미지 데이터를 포함하는, 상기 제1 이미지의 제1 구역을 렌더링하는 단계; 3D 이미지 데이터를 제1 이미지의 제2 구역에 외삽하는 단계로서, 3D 이미지 데이터는 제2 구역에 대한 이미지 데이터를 포함하지 않고, 제1 구역과 제2 구역은 인접한 구역들인, 상기 3D 이미지 데이터를 제1 이미지의 제2 구역에 외삽하는 단계; 및 이미지를 생성하는 단계로서, 이미지를 생성하는 단계는 제1 이미지에 공간적으로 변화하는 블러링을 적용하는 단계를 포함하고, 블러링의 정도는 제1 구역의 내부 영역에 대해서보다 제1 구역과 제2 구역 사이의 전이 구역에서 더 높은, 상기 이미지를 생성하는 단계를 포함한다.
본 발명의 이들 및 다른 태양들, 특징들 및 이점들이 이하에 설명되는 실시예(들)로부터 명백할 것이고 그것을 참조하여 설명될 것이다.
본 발명의 실시예들이 도면들을 참조하여 단지 예로서 설명될 것이다.
도 1은 본 발명의 몇몇 실시예들에 따른 이미지 생성 장치의 예를 예시한다.
도 2는 본 발명의 몇몇 실시예들에 따른 이미지 생성 장치를 포함하는 가상 현실 디바이스의 예를 예시한다.
도 3은 본 발명의 몇몇 실시예들에 따른 이미지 생성 장치의 예를 예시한다.
도 4 내지 도 8은 본 발명의 몇몇 실시예들에 따른 예시적인 이미지 생성 장치에 의해 생성되는 이미지들 및 마스크들의 예들을 예시한다.
도 9는 본 발명의 몇몇 실시예들에 따른 이미지 생성 장치의 예를 예시한다.
도 1은 본 발명의 몇몇 실시예들에 따른 이미지 생성 장치의 예를 예시한다.
도 2는 본 발명의 몇몇 실시예들에 따른 이미지 생성 장치를 포함하는 가상 현실 디바이스의 예를 예시한다.
도 3은 본 발명의 몇몇 실시예들에 따른 이미지 생성 장치의 예를 예시한다.
도 4 내지 도 8은 본 발명의 몇몇 실시예들에 따른 예시적인 이미지 생성 장치에 의해 생성되는 이미지들 및 마스크들의 예들을 예시한다.
도 9는 본 발명의 몇몇 실시예들에 따른 이미지 생성 장치의 예를 예시한다.
하기의 설명은 가상 현실 응용을 위한 이미지들의 생성에 적용 가능한 본 발명의 실시예들에 초점을 맞춘다. 그러나, 본 발명은 이러한 응용으로 제한되는 것이 아니라 많은 상이한 이미지 처리 및 생성 응용들에 적용될 수 있다는 것이 인식될 것이다.
도 1은 장면의 불완전한 표현을 제공하는 3D 이미지 데이터에 기초하여 장면의 뷰를 표현하는 이미지를 생성하도록 배열되는 이미지 생성 장치를 예시한다. 도 1의 이미지 생성 장치는 특히 가상 현실 경험을 제공하는 가상 현실 디바이스 또는 서버의 일부로서 사용되는 렌더러일 수 있다.
그러한 가상 현실 디바이스의 예가 도 2에 예시되어 있다. 이 예에서, 가상 현실 디바이스는 가상 현실 장면에서의 원하는 움직임 및/또는 배향을 반영할 수 있는 사용자 입력을 수신하도록 배열된 사용자 입력 유닛(201)을 포함한다. 예를 들어, 사용자는 조이스틱 및/또는 키보드를 사용하여 가상 현실 장면을 네비게이션할 수 있거나, 예를 들어 뷰의 배향은 사용자에 의해 착용되고 적합한 센서들을 포함하는 가상 현실 헤드셋으로부터 결정될 수 있다. 많은 실시예에서, 사용자 입력 유닛(201)은 사용자 입력을, 장면이 그로부터 관찰되는 위치 및/또는 주어진 뷰 위치로부터의 뷰의 배향을 나타내는 원하는 렌더링 뷰포인트로 변환하기 위한 기능을 포함할 수 있다. 렌더링 뷰포인트(뷰포인트는 위치 표시, 배향 표시, 또는 둘 모두를 지칭하는 것으로 간주될 수 있고, 이에 따라 사용자에 대한 요구되는 뷰를 나타낸다).
몇몇 실시예들에서, 복수의 뷰가 주어진 렌더링 뷰포인트에 대해 생성될 수 있거나, 몇몇 실시예들에서 복수의 뷰포인트가 동일한 사용자 입력으로부터 생성될 수 있다는 것이 인식될 것이다. 예를 들어, 가상 현실 디바이스는 우안 뷰에 대응하는 이미지 및 좌안 뷰에 대응하는 이미지를 생성하여서, 3D 효과를 제공하도록 배열될 수 있다. 간략함 및 명료화를 위해, 다음의 설명은 주어진 렌더링 뷰포인트에 대한 하나의 이미지의 생성에 초점을 맞출 것이다.
사용자 입력 유닛(201)은 특히 요구되는/타겟 렌더링 뷰포인트를 나타내는 타겟 뷰 벡터를 생성하도록 배열될 수 있다. 예를 들어, 예컨대 피치, 요 및 롤 파라미터들과 같은, 관찰자의 배향을 정의하는 3개의 성분/값을 포함하는 타겟 뷰 벡터가 생성될 수 있다. 많은 실시예에서, 타겟 뷰 벡터는 추가적으로 또는 대안적으로, 예를 들어 x, y, z 값에 의해 표현되는, 장면 내의 3차원 위치를 정의하는 3개의 값을 포함할 수 있다. 몇몇 실시예들에서, 위치 및/또는 배향은 3개보다 적은 값에 의해 표현될 수 있다는 것이 인식될 것이다. 예를 들어, 위치는 장면을 통한 미리 결정된 경로를 따른 거리에 의해 표시될 수 있고, 이에 따라 위치는 단일 값에 의해 표시될 수 있다. 유사하게, 피치 및 요가 일정하다고 가정될 수 있고 배향은 단지 롤 값에 의해 주어질 수 있다.
생성된 타겟 뷰 벡터는 특히 도 1의 이미지 생성 장치인 렌더링 유닛(203)에 공급된다. 렌더링 유닛(203)은 뷰 벡터에 의해 반영된 뷰포인트에 대한 이미지를 생성하도록 배열된다. 이미지의 생성은 3D 이미지 저장소(205)로부터 검색된 3D 이미지 데이터에 의존한다. 생성된 이미지는 예를 들어 우안 또는 좌안을 위한 가상 현실 헤드셋의 디스플레이일 수 있는 디스플레이(209)를 구동하는 디스플레이 구동기(207)에 공급된다. 가상 현실 헤드셋은 사용자 입력을 사용자 입력 유닛(201)에 제공하는 센서들을 추가로 포함할 수 있다.
따라서, 가상 현실 디바이스는 3D 이미지 데이터에 의해 표현되는 가상 장면 내의 특정 뷰포인트들로부터의 뷰들을 표현하는 이미지들을 생성할 수 있다. 뷰포인트는 사용자 입력에 의해 제어되어, 사용자가 전형적으로 가상 장면에서 이동할 뿐만 아니라 둘러보는 것을 가능하게 한다.
이 접근법에서, 3D 이미지 데이터는 장면의 불완전한 표현을 제공한다. 3D 이미지 데이터는 특히 장면의 모든 부분들에 대한 것이 아니라 장면의 몇몇 부분들에 대한 데이터를 제공할 수 있는데, 즉 특히 적어도 몇몇 뷰포인트들에 대한 3D 이미지 데이터가 장면의 시각적 특성들을 기술하는 어떠한 데이터도 포함하지 않는 장면의 몇몇 구역들/부분들/요소들이 있을 수 있다.
많은 가상 현실 응용에서, 3D 이미지 데이터는 장면의 3D 모델의 형태로 제공될 수 있다. 많은 응용에서, 그러한 3D 모델은 장면의 완전한 표현을 제공할 수 있고, 3D 모델을 평가하는 것은 모든 가능한 뷰포인트들에 대해 뷰 이미지가 생성될 수 있게 할 것이다. 이러한 상황은 종종 모델이 환경 및 장면을 직접 정의하는 가상 또는 인공 장면들에 대해 그러할 수 있다. 그러나, 많은 상황에서, 완전한 모델을 생성하는 것은 가능하지 않거나 실현 가능하지 않다. 이것은 몇몇 인공 모델들에 대해 그러할 수 있지만, 실제 생활 장면들의 캡처된 표현들에 대해 더 빈번하게 발생한다. 예를 들어, 모델은 실세계 장면의 캡처로부터 생성될 수 있지만, 이 모델은 적어도 몇몇 뷰포인트들(위치들 및/또는 배향들)에 대한 누락 데이터를 갖는 경향이 있을 것이다.
많은 실시예에서, 3D 이미지 데이터는 적합한 카메라들을 사용한 실제 생활 데이터로부터의 캡처로부터 생성될 수 있다. 실제로, 전형적으로, 3D 이미지 데이터는 다수의 고정 뷰 위치에 대한 광 강도 이미지 및 관련 깊이 정보의 형태로 제공될 수 있다. 이미지들은 몇몇 그러한 예들에서 극히 넓은 시야각들에 대응할 수 있고, 실제로 몇몇 상황들에서 거의 완전히 전방향성일 수 있다. 그러한 상황들에서, 3D 이미지 데이터의 이미지들 및 깊이는 주어진 렌더링 뷰포인트에 대한 뷰 이미지를 생성하기 위해 뷰포인트 시프팅 알고리즘들에 의해 사용될 수 있다.
그러나, 전형적으로, 주어진 뷰포인트로부터의 캡처는 완전하지 않고 전체 구 이미지(및 깊이) 및 깊이를 제공할 것이지만, 오히려 구의 서브세트만이 캡처될 것이다. 이것은 전형적으로 또한 완전 구 캡처 디바이스가 사용되는 상황들에서도 그러한데, 이는 캡처 프로세스가 본질적으로 장면의 몇몇 부분들에 대한 뷰를 차단하는 객체들을 도입하는 경향이 있기 때문이다(예를 들어, 요원, 조명 장비 또는 실제로 카메라 시스템 자체가 뷰들을 차단할 수 있다(예를 들어, 카메라가 그 자체를 관찰할 수 있거나, 캡처를 위해 사용되는 다른 카메라들을 관찰할 수 있다)).
3D 이미지 데이터가 어떻게 표현되는지에 무관하게, 그것은 전형적으로 장면의 적어도 일부에 대한 어떠한 데이터도 포함하지 않거나, 적어도 불완전한 또는 불충분한 데이터를 포함하며, 이에 따라 종종 주어진 뷰포인트에 대한 뷰포트의 부분들에 대한 어떠한 데이터도 포함하지 않거나, 적어도 불완전한 또는 불충분한 데이터를 포함할 것이다.
도 1의 이미지 생성 장치에 대응하는 렌더링 유닛(203)은 장면의 불완전한 표현만을 제공하는 3D 이미지 데이터에 기초하여 주어진 렌더링 뷰포인트에 대한 이미지들을 생성할 수 있다. 또한, 렌더링 유닛(203)은 사용자에게 덜 현저하거나 불편한 이미지 데이터의 결여의 영향으로 개선된 몰입 효과를 제공하기 위한 이미지를 생성하도록 배열된다. 예를 들어, 가상 현실 관찰자는 둘러보고 3D 이미지 데이터가 어떠한 정보도 제공하지 않는 구역들을 만날 때 더 매끄럽고 더 몰입적인 경험을 가질 수 있다.
렌더링 유닛(203)은 3D 이미지 데이터가 장면의 불완전한 표현을 제공하는 장면에 대한 3D 이미지 데이터를 수신하도록 배열되는 이미지 데이터 수신기(101)를 포함한다. 특정 예에서, 이미지 데이터 수신기(101)는 이미지 데이터 수신기가 그로부터 3D 이미지 데이터를 수신하는 3D 이미지 저장소(205)에 결합된다. 3D 이미지 데이터는 예를 들어 인터넷을 통하는 것을 포함하여 임의의 적합한 외부 또는 내부 소스로부터 수신될 수 있다는 것이 인식될 것이다.
렌더링 유닛(203)은 뷰 이미지가 렌더링될 뷰포인트를 반영하는 렌더링 뷰 벡터를 제공하도록 배열된 뷰 벡터 소스(103)를 추가로 포함한다. 특정 예에서, 뷰 벡터 소스(103)는 장면 내의 원하는 렌더링 뷰포인트를 나타내는 타겟 뷰 벡터를 수신하도록 배열된다. 특정 예에서, 뷰 벡터 소스(103)는 사용자 입력 유닛(201)으로부터 타겟 뷰 벡터를 수신하도록 배열된다. 뷰 벡터는 뷰포인트의 표시를 제공하는 하나 이상의 값의 임의의 세트일 수 있다. 구체적으로, 뷰 벡터는 뷰포인트에 대한 위치 및/또는 배향의 표시를 제공하는 하나 이상의 값의 임의의 세트일 수 있다. 뷰 벡터는 전형적으로 위치(예를 들어, x, y, z) 또는 배향(요, 롤, 피치)을 나타내는 3개의 성분 값, 또는 위치(예를 들어, x, y, z) 및 배향(요, 롤, 피치)을 나타내는 3개의 성분 값을 포함할 수 있다. 뷰 벡터가 상이한 수의 성분들을 포함할 수 있으며, 예를 들어 배향이 방위각 및 앙각(elevation)/고도 값에 의해서만(또는 실제로 몇몇 경우들에서 방위각 값에 의해서만) 주어질 수 있다는 것이 인식될 것이다. 그러한 경우들에서, 추가적인 자유도들은 미리 결정된, 디폴트 또는 추정된 값들에 대응하는 것으로 간주될 수 있다.
이미지 데이터 수신기(101) 및 뷰 벡터 소스(103)는 렌더링 뷰 벡터에 의해 표현되는 주어진 렌더링 뷰포인트에 대해 이미지 데이터 수신기(101)가 3D 이미지 데이터를 제공하는 이미지의 구역들을 렌더링하도록 배열되는 렌더러(105)에 결합된다. 이 예에서, 렌더러(105)는 타겟 뷰 벡터에 대한 이미지를 생성하는 데 사용되고, 타겟 뷰 벡터는 이에 따라 그것이 렌더링 뷰 벡터로서 사용되는 뷰 벡터 소스(103)로부터 공급된다. 따라서, 이 예에서 렌더링 뷰 벡터와 타겟 뷰 벡터는 동일하다.
렌더러(105)는 렌더링 뷰 벡터에 의해 표시된 바와 같은 렌더링 뷰포인트에 대한 이미지를 렌더링하기 위한 임의의 적합한 접근법을 사용할 수 있으며, 당업자는 다양한 방법들을 잘 알고 있을 것이며 따라서 이들은 간략함을 위해 본 명세서에서 상세히 설명되지 않을 것임이 인식될 것이다.
예로서, 3D 이미지 데이터가 상이한 개별 뷰포인트들에 대한 광 강도 이미지들 + 깊이 맵들로서(또는 예를 들어 텍스처 맵들 및 3D 메시들에 의해) 제공되는 경우, 렌더링 뷰 벡터에 의해 표시되는 뷰포인트에 대한 이미지는 잘 알려진 바와 같은 뷰포인트 시프팅에 의해 생성될 수 있다. 3D 이미지 데이터가 3D 모델의 형태로 제공되는 경우, 이것은 이미지 콘텐츠를 생성하기 위해 뷰포인트의 관점에서 평가될 수 있다.
그러나, 3D 이미지 데이터는 장면의 불완전한 표현만을 제공하므로, (몇몇 렌더링 뷰포인트들에 대해) 이용 가능한 3D 이미지 데이터에 기초하여 직접 렌더링될 수 없는 몇몇 이미지들의 영역들이 존재할 것이다. 예를 들어, 사용자가 캡처되지 않은 영역을 향해 돌아서 보기 시작하는 경우, 렌더러(105)는 캡처된 장면의 부분에 대응하는 이미지의 부분에 대한 데이터만을 생성하는 것이 가능할 수 있다.
따라서, 많은 실시예에서, 렌더러(105)는 이미지의 일부만을 렌더링하도록 배열될 것이다. 구체적으로, 렌더러(105)는 이미지의 다른 구역들이 생성되지 않는 상태로 이미지의 하나 이상의 구역을 렌더링할 수 있다. 이하에서, 렌더러(105)가 이미지 콘텐츠를 렌더링/생성한 구역은 제1 구역으로 지칭될 것이고, 렌더러(105)가 어떠한 이미지 데이터도 생성하지 않은 경계 구역은 제2 구역으로 지칭될 것이다.
제1 및 제2 구역에 대한 언급은 이미지가 이미지 콘텐츠가 렌더링된 하나의 영역 및 이미지 콘텐츠가 렌더링되지 않은 하나의 영역으로 반드시 분할된다는 것을 암시하지 않는다는 것이 인식될 것이다. 오히려, 렌더러(105)가 이미지 콘텐츠를 생성하는 복수의 구역 및/또는 이미지 콘텐츠가 이미지 콘텐츠를 생성하지 않는 복수의 구역이 존재할 수 있다. 대안적으로 그리고 동등하게, 제1 구역은 렌더러(105)가 이미지 콘텐츠를 생성한 복수의 별개의 영역을 잠재적으로 포함하는 것으로 간주될 수 있고/있거나, 제2 구역은 렌더러(105)가 이미지 콘텐츠를 생성하지 않은 복수의 별개의 영역을 포함하는 것으로 간주될 수 있다.
도 1의 렌더링 유닛(203)은 그러한 상황들에 대처하도록 배열된다. 단지 렌더링되지 않은 영역(들), 제2 구역을 비어 있는 또는 디폴트 컬러에 의해 채워진 상태로 남겨두기보다는, 렌더러(105)는 3D 이미지 데이터를 제1 구역으로부터 제2 구역에 외삽하도록 배열되는 외삽기(107)에 결합된다. 따라서, 외삽기는 제1 구역의 이미지 콘텐츠/3D 이미지 데이터로부터 제2 구역에 대한 이미지 콘텐츠를 생성하도록 배열된다. 구체적으로, 대부분의 실시예에서, 제2 구역에 외삽되는 제1 구역의 이미지 콘텐츠(픽셀 값들)의 외삽에 의해 3D 이미지 데이터가 제1 구역으로부터 제2 구역에 외삽된다.
이러한 방식으로, 렌더링 유닛은 렌더링 뷰 벡터에 의해 표현되는 바와 같은 렌더링 뷰포인트에 대한 뷰포트에 대응하는 이미지의 모든 부분들에 대한 이미지 콘텐츠를 포함하는 완전한 이미지를 생성하도록 진행할 수 있다. 그러나, 제1 구역에 대한 이미지 콘텐츠는 뷰/장면의 매우 정확한 반영/표현을 제공할 가능성이 있는 반면, 제2 구역의 이미지 콘텐츠는 뷰/장면의 저하된 그리고 종종 매우 상당히 저하된 표현을 제공할 가능성이 있다. 예를 들어, 많은 실시예들에서, 외삽기(107)는 단지 제2 구역에 가까운 제1 구역의 이미지 콘텐츠의 것과 유사한 비교적 대략적인 텍스처 또는 컬러 분포를 생성하도록 배열될 수 있다. 그러나, 제2 구역에 대한 생성된 이미지 콘텐츠는 여전히 예를 들어 미리 결정된 균일한 컬러(예를 들어, 흑색)보다 덜 현저하거나 관찰자에게 혼란을 줄 가능성이 있고, 이에 따라 개선된 사용자 경험을 제공하는 경향이 있을 것이다.
제1 구역의 이미지 콘텐츠를 제2 구역에 외삽하기 위한 임의의 적합한 접근법이 본 발명으로부터 벗어남이 없이 사용될 수 있다는 것이 인식될 것이다. 외삽의 특정 예들이 나중에 설명될 것이다.
그러나 렌더러(105)는 완전히 채워진 이미지를 제공하기 위해 이미지 콘텐츠를 제2 구역에 외삽할 뿐만 아니라 지각적 효과를 개선하고 전형적으로 개선되고 더 몰입적인 사용자 경험을 유발하는 후처리를 추가로 포함한다.
렌더링 유닛(205)은 외삽기(107)로부터 이미지를 수신하는 블러 프로세서(109)를 포함한다. 블러 프로세서(109)는 블러링의 정도가 (적어도) 제1 구역의 내부 영역에 대한 것보다 제1 구역과 제2 구역 사이의 전이 구역에서 더 높은 공간적으로 변화하는 블러링을 이미지에 적용하도록 배열된다. 따라서, 전이 구역에 대해 이미지의 의도적인 블러링이 도입된다. 많은 실시예에서, 전이 구역은 제1 구역의 영역을 포함하고, 이에 따라 블러 프로세서(109)는 렌더러(105)에 의해 생성된 이미지 콘텐츠에 블러링을 도입하여, 3D 이미지 데이터로부터 생성될 수 있는 이미지 콘텐츠로부터 그리고 외삽된 이미지 콘텐츠로의 블러링된 전이를 생성한다.
전이 구역의 이러한 블러링은 특히 더 몰입적인 경험이 달성될 수 있는 상당히 개선된 사용자 경험을 제공하는 경향이 있다는 것이 밝혀졌다. 관찰자는 전형적으로 현재 뷰가 3D 이미지 데이터에 의해 표현되지 않은 장면의 부분을 포함한다는 것을 인지하는 것이 아니라, 단지 몇몇 방향들에서 볼 때 이미지가 블러링된다는 것을 잠재 의식적으로 인지할 것이다. 이 접근법은 또한 관찰자의 거동을 수정하는 경향이 있을 것이고, 특히 3D 이미지 데이터가 이용 가능하지 않은 방향들에서 보는 것으로부터 멀어지게 사용자를 바이어스하는 경향이 있을 것이다. 이러한 바이어스는 또한 미묘하고 종종 잠재 의식적인 경향이 있다. 특히, 제1 구역의 일부에 대해, 즉 이용 가능한 3D 데이터로부터 생성된 이미지 콘텐츠에 대해 수행되는 공간 블러링은 사용자에 의해 검출되지 않는 미묘한 효과를 종종 갖는 블러링을 유발한다. 그러나, 그것은 여전히 미묘한 블러링 효과 및 전형적으로 관찰자를 다른 방향들에서 보는 쪽으로 바이어스할 상세 및 초점의 결여를 제공한다.
예를 들어, 관찰자가 그의 머리를 돌림에 따라, 그는 처음에는 이용 가능한 3D 이미지 데이터로부터 완전히 생성되고 이에 따라 선명하고 상세한 이미지들을 볼 수 있다. 그러나, 어떤 포인트에서, 이용 가능한 3D 이미지 데이터의 에지에 도달하고, 관찰자는 이 경우에 여전히 상세들을 포함하는(예를 들어, 그것은 3D 이미지 데이터로부터 도출된 이미지 객체들을 포함함) - 그러나 이들은 더 블러링되기 시작함 - 이미지 영역을 먼저 제공받기 시작할 것이다. 이러한 효과는 3D 이미지 데이터로부터 도출되는 생성된 이미지의 정보를 의도적으로 그리고 반직관적으로 제거함으로써 달성된다. 따라서, 장면을 가능한 한 양호하게 표현하는 이미지를 제공하기보다는, 블러 프로세서(109)는 제1 구역과 제2 구역 사이의 전이 구역을 의도적으로 블러링하고(그리고 특히 제1 구역의 전이 구역의 선명한 렌더링의 일부를 블러링하고), 이에 따라 장면의 제시된 뷰의 정확도를 의도적으로 감소시킨다. 그러나, 이러한 저하는 특정한 경우에 외삽의 정확도에 완전히 의존하기보다는 블러 프로세서(109)에 의해 제어될 수 있다.
따라서, 전이의 초기 요소가 전형적으로 여전히 비교적 높은 품질을 갖지만, 그럼에도 3D 이미지 데이터가 전체 뷰에 대한 데이터를 포함하는 뷰포인트들을 향해 관찰자를 바이어스하는 경향이 있는 효과를 갖는 더 점진적인 전이가 달성될 수 있다. 이 효과는 지각적으로 더 양호한 사용자 경험을 제공하고, 특히 가상 현실 경험들에 대해 더 몰입적인 경험을 제공하는 경향이 있는 것으로 밝혀졌다.
블러링은 예를 들어, 특히 공간 저역 통과 필터와 같은, 블러링 필터를 이용하여 수행될 수 있다. 공간 저역 통과 필터의 강도는 그것이 제1 구역의 내부 영역에 대해서보다 전이 구역에 대해 더 강하도록 변경될 수 있다. 따라서, 블러링/저역 통과 필터링의 강도/정도가 전이 구역에 대해서보다 작은 제1 구역 내의 내부 영역이 존재한다. 전형적으로, 블러 프로세서(109)는 내부 영역의 임의의 저역 통과 필터링 또는 블러링을 제공하지 않고, 이에 따라 내부 영역(전형적으로 제1 구역의 대부분일 수 있음)은 가능한 한 선명하게 렌더링된다.
블러링의 정도는 예를 들어 공간 저역 통과 필터에 대한 공간 차단 주파수를 변경함으로써 변경될 수 있다. 예를 들어, 현재 필터 위치 및 그것이 전이 구역과 어떻게 관련되는지에 따라 커널의 공간 범위가 변경되는 적합한 커널 형상이 사용될 수 있다. 예를 들어, 제1 구역 내에서 그리고 전이 구역 밖에서, 커널의 공간 범위는 1 픽셀로 설정될 수 있는데, 즉 어떠한 필터링도 적용되지 않는다. 전이 구역 내에서, 커널의 공간 범위는 예를 들어 미리 결정된 크기로 증가될 수 있으며, 이에 의해 공간 저역 통과 필터링 및 블러링을 유발할 수 있다.
많은 실시예들에서, 블러링은 점진적으로 증가될 수 있다. 예를 들어, 커널의 크기는 전이 구역과 제1 구역의 나머지 부분 사이의 경계/에지에서의 전형적으로 작은 값으로부터, 전이 구역과 제2 구역(의 나머지 부분) 사이의 경계에서의 더 큰 값으로 점진적으로 증가될 수 있다.
예를 들어, 블러링 필터는 가우스 커널(Gaussian kernel)을 갖고 커널의 크기가 그의 시그마 값에 의해 주어지는 공간 필터일 수 있다. 그러한 실시예들에서, 전이 구역 내의 픽셀들에 대해 가우스 필터에 적용되는 시그마 값은 픽셀로부터 전이 구역과 제1 구역의 나머지 부분 사이의 경계까지의 거리의 단조 증가 함수, 또는 픽셀로부터 전이 구역과 제2 구역의 나머지 부분 사이의 경계까지의 거리의 단조 감소 함수(또는 둘 모두)로서 결정될 수 있다.
그러한 접근법은 3D 이미지 데이터가 정보를 조금만 제공하거나 전혀 제공하지 않는 뷰들로부터 멀어지게 바이어스를 유발하기 위해 증가하는 블러링 및 점진적 이미지 저하를 제공할 수 있다.
제2 구역(또는 특히 전이 구역이 제2 구역 내로 연장되는 경우들에서 전이 구역 밖에 있는 제2 구역의 부분)에 적용되는 필터링은 특정 실시예에 의존할 수 있고, 실제로 많은 실시예들에서 예를 들어 외삽 및/또는 3D 이미지 데이터의 특정 특성들에 의존할 수 있다는 것이 인식될 것이다.
많은 실시예에서, 블러 프로세서(109)는 전이 구역에서의 블러링의 정도에 대해 제2 구역의 적어도 일부에서의 블러링의 정도를 감소시키도록 배열될 수 있다. 따라서, 몇몇 실시예들에서, 전이 구역에서의 블러링은 적어도 제1 구역의 부분들 및 제2 구역의 부분들 둘 모두보다 높다. 따라서 블러링은 제1 구역과 제2 구역 사이의 전이에 대해 증가될 수 있지만, 이어서 외삽된 구역에 대해 또 다시 감소될 수 있다. 이것은 많은 실시예에서 그리고 특히 많은 외삽 기술에 대해 지각적으로 더 유리한 결과 및/또는 더 낮은 복잡성을 유발할 수 있다.
예를 들어, 많은 외삽 기술들은 비교적 느리게 변화하는 변화들을 갖는 비교적 대략적인 외삽을 생성한다. 그러한 경우들에서, 외삽 결과는 이미 공간 저주파 특성을 나타내며, 이미지 콘텐츠를 더 블러링하거나 필터링할 필요가 없다. 따라서, 블러 프로세서(109)는 전이 구역에만 블러 필터를 적용하여서 복잡성 및 계산 요구들을 감소시키도록 배열될 수 있다.
따라서 블러 프로세서(109)는 렌더링된 구역 및 외삽된 구역 둘 모두를 포함하는 생성된 이미지에 공간 선택적 필터링을 적용한다. 블러링 효과는 원하는 뷰들을 향해 사용자를 바이어스하는 경향이 있을 뿐만 아니라, 렌더링된 구역 및 외삽된 구역을 함께 더 혼합함으로써 개선된 효과를 제공하는 경향이 있다.
도 3은 도 1의 예에 대응하고 블러링의 특성들을 결정하기 위한 특정 기능을 추가로 포함하는 렌더러(105)의 특정 예를 예시한다.
도 3의 렌더러(105)는 이미지에 대한 렌더링 마스크를 결정하도록 배열되는 렌더 구역 프로세서(301)를 포함하며, 여기서 렌더링 마스크는 개별 픽셀들이 제1 구역에 속하는지 여부를 나타낸다. 구체적으로, 렌더링 마스크는 각각의 픽셀에 대해 픽셀 값이 3D 이미지 데이터로부터 렌더링에 의해 생성되는지 또는 그것이 외삽에 의해 생성되는지를 나타낼 수 있다.
많은 실시예들에서, 렌더링 마스크는 이진 값들을 포함할 수 있는데, 즉 각각의 픽셀에 대해 렌더링 마스크는 픽셀이 렌더링에 의해 생성되는지 또는 외삽에 의해 생성되는지, 또는 동등하게 그것이 제1 구역에 속하는지 또는 제2 구역에 속하는지를 나타낼 수 있다. 몇몇 실시예들에서, 그러한 이진 필터는 공간적으로 저역 통과 필터링되어, 제1 구역과 제2 구역 사이의 전이 구역을 나타내는 점진적인 값들을 갖는 구역들 사이의 점진적인 전이를 생성할 수 있다.
렌더 구역 프로세서(301)는 필터 어댑터(303)에 결합되고 이는 추가로 블러 프로세서(109)에 결합된다. 필터 어댑터(303)는 렌더링 마스크에 응답하여 이미지에 대한 공간적으로 변화하는 필터 특성을 결정하도록 배열된다. 예를 들어, 저역 통과 필터링의 정도/강도를 제어하는 파라미터가 픽셀의 마스크 값에 기초하여 결정될 수 있다. 예를 들어, 필터링된 렌더링 마스크에 대해, 저역 통과 필터링 강도 파라미터 값은 픽셀에 대한 렌더링 마스크 값의 미리 결정된 함수로서 결정될 수 있다. 따라서, 중간 렌더링 마스크 값들에 의해 정의되는 전이 구역에서, 점진적으로 변하는 저역 통과 정도 파라미터가 정의된다.
이어서 공간적으로 변화하는 필터 특성은 블러 프로세서(109)에 공급되며, 이는 공간적으로 변화하는 필터 특성을 채택하는 공간 필터를 이용하여 이미지를 필터링하도록 진행한다.
이 접근법은 공간적으로 변화하는 필터를 적용하여 렌더링되고 외삽된 이미지 콘텐츠의 공간적으로 선택적인 블러링을 제공하는 특히 효율적이고 실용적인 방법을 제공할 수 있다.
이하에서, 주어진 원하는 렌더링 뷰포인트에 대한 주어진 뷰포트에 적용되는 이 접근법의 특정 예가 설명될 것이다. 따라서, 소정 위치에 위치되고 렌더링 뷰 벡터에 의해 표시되는 바와 같은 뷰 배향을 갖는 관찰자에 대한 뷰포트에 대응하는 이미지가 생성될 것이다. 그러한 이미지를 생성하는 접근법은 프로세스의 일부로서 생성되는 이미지들, 뷰포트들 및 마스크들의 다양한 예들을 도시하는 도 4 내지 도 8을 참조하여 설명될 것이다.
처음에, 렌더러(105)는 3D 이미지 데이터가 정보를 제공하는 이미지/뷰포트의 부분들을 렌더링함으로써 초기 이미지를 생성하도록 진행할 수 있다. 이 예에서, 결과적인 이미지는 렌더러(105)가 3D 이미지 데이터로부터 데이터를 렌더링할 수 있는 제1 구역(401), 및 3D 이미지 데이터가 뷰포트의 이 부분에 대한 데이터를 포함하지 않는 것으로 인해 렌더러(105)에 의해 어떠한 이미지 콘텐츠/데이터도 생성되지 않는 제2 구역(403)을 포함한다. 제2 구역(403)은 특정 예에서 2개의 별개의 영역을 포함한다는 것을 알 수 있다. 이 예에서, 장면의 뷰는 간략함을 위해 (예컨대, 균질한 청색 하늘 정면에 공이 있는 장면에 대응하는) 정면에 더 어두운 원형 영역(407)을 갖는 균질한 배경(405)으로 이루어지는 것으로 간주된다.
이어서 외삽기(107)는 도 5에 예시된 바와 같이 완전히 채워진 뷰포트/이미지를 생성하기 위해 제1 구역(401)으로부터 제2 구역(403)에 외삽할 수 있다.
렌더 구역 프로세서(301)는 3D 이미지 데이터가 데이터를 제공하는 그리고 그것이 데이터를 제공하지 않는 이미지/뷰포트의 영역들을 나타내는 렌더링 마스크를 생성하도록 진행할 수 있다. 따라서, 렌더링 마스크는 렌더러(105)가 이미지 콘텐츠를 렌더링한 곳 및 이미지 콘텐츠가 외삽기(107)에 의해 생성된 곳을 나타낸다. 렌더링 마스크는 제1 구역 및 제2 구역에 대응하는 이미지의 부분을 나타내고, 도 4의 특정 경우에 대한 예가 도 6에 예시된다.
렌더링 마스크는 렌더링 마스크로부터 필터링 특성을 생성하도록 진행할 수 있는 필터 어댑터(303)에 공급된다. 특히, 그것은 도 6의 선명한 이진 마스크를 저역 통과 필터링함으로써 그렇게 할 수 있다. 결과의 예가 도 7에 제공되며, 여기서 렌더러(105)가 이미지 콘텐츠를 생성한 것을 나타내는 값과 외삽기(107)가 이미지 콘텐츠를 생성한 것을 나타내는 값 사이의 중간인 값들을 포함하는 전이 구역이 생성된다는 것을 알 수 있다. 따라서, 전이 구역에서 점진적 전이가 제공된다.
필터 어댑터(303)는 필터링된 렌더링 마스크 값에 기초하여 개별 픽셀들에 대한 저역 통과 필터 특성을 결정하도록 진행할 수 있다. 예를 들어, 저역 통과 필터링의 정도는 계수 값의 함수로서 결정될 수 있으며, 이때 마스크 값을 더 많이 증가시키는 정도는 픽셀이 외삽에 의해 결정된다는 것을 나타낸다. 예를 들어, 필터링된 계수 값들은 가우스 저역 통과 필터에 대한 시그마 파라미터 값의 스케일링된 값을 제공하는 시그마 맵으로서 직접 해석될 수 있다.
따라서, 이러한 특정 예에서, 제1 구역 내에서 어떠한 필터링도 적용되지 않을 수 있고, 제2 구역 내에서 고도의 저역 통과 필터링이 적용될 수 있고, 전이 구역 내에서 중간 필터링이 적용될 수 있다.
몇몇 실시예들에서, 예를 들어 생성된 시그마 값의 수정을 추가하여 제2 구역에서 필터링을 감소시키는 것과 같은, 필터 특성의 더 복잡한 결정이 적용될 수 있다.
마지막으로, 블러 프로세서(109)는 결정된 필터 특성을 이용하여 공간 필터링을 수행할 수 있다. 필터링은 선택적으로 적용될 수 있는데, 예를 들어 그것은 단지 전이 구역에서만 적용될 수 있다.
프로세스의 결과로서, 도 8의 출력과 같은 출력이 생성될 수 있다. 이미지는 렌더링된 이미지 콘텐츠와 외삽된 이미지 콘텐츠의 조합을 포함하고, 이에 따라 외삽된 영역들이 전형적으로 감소된 품질/상세를 갖지만, 완전히 채워진 이미지/뷰포트를 제공한다. 또한, 영역(801)에 의해 표시된 바와 같이, 상이한 구역들/영역들이 함께 혼합된다.
전술한 바와 같이, 외삽을 수행하기 위한 임의의 적합한 접근법이 본 발명으로부터 벗어남이 없이 사용될 수 있다.
예를 들어, 차폐 영역들의 인페인팅(inpainting)의 접근법과 유사한 접근법이 사용될 수 있다. 따라서, 기술자에게 알려져 있을 바와 같이, 외삽은 예를 들어 방향성 인페인팅(가장 가까운 픽셀로부터의 컬러 값의 복사), 텍스처링된 인페인팅(제1 구역과 제2 구역 사이의 에지 상의 텍스처들의 제2 구역에의 외삽), 및/또는 푸아송 방정식(Poisson equation) 접근법(에너지 함수에 기초한 인페인팅)을 사용할 수 있다.
몇몇 시나리오들에서, 외삽의 목적을 위해 여전히 유용한 뷰포트/이미지 영역 바로 밖에 이미지 콘텐츠가 있을 수 있다. 따라서, 반직관적으로 렌더러(105)는 몇몇 실시예들에서 결정된 뷰포트 밖에(전형적으로 바로 밖에) 있는 이미지 영역들을 렌더링할 수 있고, 외삽은 뷰포트 밖의 렌더링된 이미지 콘텐츠에 응답할 수 있다. 예를 들어, 방향성 인페인팅을 사용하여, 외삽되는 픽셀에 대한 픽셀 값은 가장 가까운 픽셀의 값으로 설정될 수 있다 - 이것이 뷰포트 밖에 있는 픽셀인 경우에도 -.
몇몇 실시예들에서, 외삽기(107)는 제2 구역에 근접한 제1 구역의 다수의 영역들에 대한 저역 통과 필터링된 이미지 특성을 결정하도록 배열된다. 구체적으로, 제1 구역과 제2 구역 사이의 경계에 가까운 다수의 영역에 대해, 외삽기(107)는 평균(중간(mean)) 컬러 값을 결정할 수 있다. 이어서 외삽기(107)는 제2 구역의 영역에 대한 픽셀 값을 이러한 컬러 값들 중 하나 이상과 매칭되도록 설정하도록 진행할 수 있다.
예를 들어, 제2 구역의 각각의 분리된 영역에 대해, 외삽기(107)는 분리된 영역에 접하는 제1 구역의 영역들에 대한 모든 중간 컬러 값들의 평균 값으로서 컬러 값을 결정할 수 있다. 다른 실시예들에서, 제1 구역은 복수의 하위 영역들로 분할될 수 있으며, 이때 각각의 하위 영역은 중간 값이 결정된 제1 구역의 주어진 영역에 가장 가까운 픽셀들을 포함한다. 이어서 제2 구역의 하위 영역은 이 중간 값으로 설정될 수 있다.
이 접근법은 매우 낮은 해상도 처리를 이용할 수 있다. 예를 들어, 제1 구역 및/또는 제2 구역의 각각의 영역은 103개, 104개, 105개, 또는 106개 이상의 픽셀을 포함할 수 있다. 따라서, 이 접근법은 제2 구역에의 외삽이 전형적으로 평균 컬러 값의 반영에 본질적으로 대응할 수 있는 장면의 매우 대략적인 표현을 생성하게 할 수 있다. 그러나, 이것은 많은 시나리오에서 허용 가능한 지각을 제공할 수 있고 낮은 복잡성의 접근법을 제공할 수 있다.
몇몇 실시예들에서, 외삽은 렌더러(105)에 의해 생성된 이미지의 다운스케일링된 버전의 양방향 필터링에 기초할 수 있다. 구체적으로, 외삽기(107)는 먼저 이미지를 다운스케일링하도록 배열될 수 있다. 전형적으로, 다운스케일링은 상당할 수 있고 예를 들어 104개, 105개, 또는 106개의 픽셀을 초과하지 않는 해상도를 갖는 필터 이미지를 생성할 수 있다. 이어서 양방향 필터는 이 다운스케일링된 이미지에 적용될 수 있으며, 이때 양방향 필터는 렌더링 마스크(예를 들어, 오리지널 이진 또는 필터링된 렌더링 마스크)에 의해 안내된다. 따라서, 공간 필터링의 가중치들은 렌더링 마스크 값에 의존하고, 이에 따라 가중치가 제1 구역에 속하는 픽셀에 대한 것인지 또는 제2 구역에 속하는 픽셀에 대한 것인지에 의존한다. 제1 구역에 속하는 픽셀들은 전형적으로 더 높게 가중될 것이며, 이때 제2 구역에 속하는 픽셀들은 더 낮은 가중치들(많은 실시예들에서 0의 가중치들)을 갖는다. 가중치들은 또한 전형적으로 가중치가 결정되는 픽셀과 필터링된 값이 현재 결정되는 픽셀 사이의 거리에 의존할 수 있다.
이어서 결과적인 필터링된 다운스케일링된 이미지는 오리지널 해상도로 업스케일링되고 후속하여 렌더러(105)로부터의 이미지와 결합된다. 구체적으로, 제1 구역 내의 픽셀들에 대해, 필터링되지 않은 이미지의 픽셀 값이 선택될 수 있고, 제2 구역 내의 픽셀들에 대해, 양방향으로 필터링된 이미지 내의 픽셀 값들이 선택될 수 있다.
이 접근법은 많은 시나리오에서 개선된 외삽을 제공할 수 있다. 특별한 이익은 업스케일링 동작으로 인해 외삽이 이미 적합하게 블러링되었다는 것이다.
몇몇 실시예들에서, 이미지 데이터 수신기(101)는 데이터 스트림에서 3D 이미지 데이터를 수신하도록 배열될 수 있다. 예를 들어, 데이터는 예를 들어 네트워크, 예컨대 특히 인터넷을 통해 원격 소스로부터 데이터 스트림에서 수신될 수 있다. 다른 예로서, 데이터 스트림은 로컬 소스로부터, 예컨대 블루레이 디스크 판독기로부터 수신될 수 있다.
그러한 예들에서, 데이터 스트림은 외삽 제어 데이터를 포함할 수 있는 메타데이터를 포함할 수 있고, 외삽기(107)는 외삽 제어 데이터에 응답하여 외삽을 수행하도록 배열될 수 있다.
예를 들어, 외삽기(107)는 예를 들어 상세한 텍스처 인페인팅 또는 낮은 컬러 중간 컬러 접근법과 같은 상이한 외삽 알고리즘들을 수행하는 것이 가능할 수 있다. 3D 이미지 데이터는 이들 중 어느 것이 사용되어야 하는지를 정의하는 외삽 제어 데이터를 또한 포함하는 데이터 스트림에서 수신될 수 있다.
이 접근법은 3D 이미지 데이터의 소스가 이미지들을 렌더링할 때 수신단의 거동의 몇몇 태양들을 제어할 수 있게 할 수 있고, 이에 따라 3D 이미지 데이터의 창작자에게 사용자 경험에 대한 추가적인 제어를 제공할 수 있다. 예를 들어, 예컨대 다음을 포함할 수 있는 적합한 메타데이터를 추가함으로써 디렉터의 의도와 매칭되는 잘 정의된 외삽의 사용을 지원할 수 있는 표준화된 접근법이 사용될 수 있다:
특정 예로서, 외삽기를 기술하는 메타데이터, 예를 들어 셰이더 모델 4 파일을 갖는 다른 URL을 지칭하는 DASH XML URL이 제공될 수 있으며, 이때 그 외삽기는 렌더링된 뷰포트 및 렌더 마스크 또는 렌더 마스크를 인코딩하는 컬러 키의 다운스케일링된 버전을 입력으로서 갖는다.
몇몇 실시예들에서, 도 1의 이미지 생성 장치는 (전형적으로) 이미지가 블러 프로세서(109)에 의해 블러링된 후에 이미지에 적응성 공간 필터를 적용하도록 배열되는 필터 프로세서를 추가로 포함할 수 있다. 그러한 예들에서, 공간 필터는 전체 이미지에 적용되고 전체 이미지에 대해 동일한 특성들을 갖는, 즉 특성들이 공간적으로 변하지 않는 전역 필터일 수 있다.
그러나, 공간 필터는 뷰포인트/이미지 중 얼마나 많은 것이 3D 이미지 데이터에 기초하여 렌더링될 수 있는지에 의존하는 특성을 가질 수 있는데, 즉 전역 공간 필터의 특성은 3D 이미지가 이미지 데이터를 포함하지 않는 뷰포인트의 비율에 의존할 수 있다. 이러한 비율은 제1 구역의 영역과 제2 구역의 영역 사이의 비율로서 결정될 수 있다.
특히, 필터는 제2 구역에 의해 커버되는 이미지의 비율이 증가할 때 증가하는 강도를 가질 수 있다. 예를 들어, 렌더러(105)가 전체 이미지 콘텐츠를 생성할 수 있는 상황들에 대해, 필터 효과는 상당하지 않을 수 있다(또는 실제로 필터링이 존재하지 않을 수 있다). 그러나, 외삽에 의해 채워질 필요가 있는 이미지의 비율이 증가함에 따라, 필터링 효과가 점진적으로 증가될 수 있고, 상당한 지각적 효과를 유발할 수 있다.
따라서, 몇몇 실시예들에서, 이미지/뷰포트의 상당한 부분이 3D 이미지 데이터로부터 직접 생성된 콘텐츠를 갖지 않을 때 전역 이미지 필터가 적용될 수 있다. 필터의 강도는 얼마나 많은 외삽된 콘텐츠가 이미지/뷰포트 내에 있는지에 따라 점진적으로 위로 또는 아래로 변경될 수 있다.
적합한 이미지 필터들의 예들은 다음을 포함한다:
삭제
이 접근법은 더 극단적인 방향들을 향한 지각된 뷰에 영향을 줄 수 있는 추가의 지각적 효과를 가능하게 할 수 있고, 3D 이미지 데이터가 직접 정보를 제공하지 않는 영역들로부터 멀어지게 관찰자 거동을 바이어스하는 것을 도울 수 있다.
위의 예에서, 타겟 뷰포인트와 렌더링 뷰포인트는 동일하고, 상응하여 렌더링 뷰 벡터는 단순히 타겟 뷰 벡터와 동일하도록 설정되었다. 그 결과, 렌더러(105)는 타겟 뷰 벡터에 의해 표현된 타겟 뷰포인트에 대한 뷰포트에 대응하는 이미지를 생성한다.
그러나, 다른 실시예들에서, 렌더링 유닛(203)은 타겟 뷰 벡터에 대해 렌더링 뷰 벡터를 (잠재적으로) 수정하고, 특히 기준 뷰 벡터에 기초하여 이러한 수정을 행하기 위한 기능을 포함할 수 있다. 그러한 렌더링 유닛(203)의 예가 도 9에 예시되어 있다.
이 예에서, 렌더링 유닛(203)은 생성될 이미지에 대한 타겟 뷰포인트를 나타내는 타겟 뷰 벡터를 수신하도록 배열된 수신기(901)를 포함한다. 이 예에서, 타겟 뷰 벡터는 사용자 입력 유닛(201)으로부터 수신되고, 사용자의 원하는 또는 타겟 뷰포인트(종종 위치 및 배향 둘 모두)를 반영한다. 따라서, 이 예에서, 입력 뷰 벡터는 사용자가 생성될 뷰/이미지를 이상적으로 좋아할 타겟 뷰포인트에 대한 타겟 뷰포트를 나타내는 원하는/타겟 뷰 벡터이다. 전형적으로 가상 현실 응용에 대해, 이것은 가상 현실/환경/장면 내의 가상 사용자의 위치 및 배향에 대응한다.
렌더링 유닛(203)은 장면에 대한 기준 뷰포인트를 나타내는 기준 뷰 벡터를 제공하도록 배열되는 기준 소스(903)를 추가로 포함한다. 기준 뷰포인트는 3D 이미지 데이터가 데이터를 제공하지 않는 장면/환경의 부분들과 뷰포인트들 사이의 관계들을 나타내는 정보를 제공하는 데 사용될 수 있다. 나중에 더 상세히 설명될 바와 같이, 기준 뷰 벡터는 예를 들어 선호되는 또는 제안된(예를 들어, 디렉터에 의해 제안된) 뷰포인트를 나타낼 수 있거나, 예를 들어 3D 이미지 데이터가 데이터를 포함하는 장면의 부분의 에지에 대응하는 뷰포인트를 반영할 수 있다.
몇몇 실시예들에서, 기준 뷰 벡터는 특정 기준 뷰포인트들의 세트 또는 가능한 뷰포인트들의 연속 또는 범위와 같은, 복수의 뷰포인트들을 나타내도록 생성될 수 있다. 이하의 설명은 기준 뷰 벡터가 하나의 기준 뷰포인트를 나타내는 상황에 기초할 것이지만, 그것은 기준 뷰 벡터가 하나 초과의 뷰포인트를 나타내는 시나리오들로 확장될 수 있다는 것이 인식될 것이다. 예를 들어, 대부분의 그러한 시나리오들에서, 처리는, 예를 들어 타겟 뷰 벡터에 가장 가까운 것과 같은, 특정 상황들에 기초하여 선택된 단일 기준 뷰포인트를 고려하는 것으로 축소될 수 있다. 다른 예로서, 설명되는 처리는 단일 벡터가 그로부터 선택되는(예를 들어, 특정 실시예에 따라 타겟 뷰 벡터에 가장 가까운 또는 그로부터 가장 먼 것) 상이한 가능한 렌더링 뷰 벡터들을 제공하기 위해 기준 뷰 벡터의 상이한 가능한 값들에 대해 수행될 수 있다.
수신기(901) 및 기준 소스(903)는 둘 모두가 장면에 대한 사용자가 원하는 뷰포인트 및 기준 뷰포인트의 함수로서, 즉 기준 뷰 벡터 및 타겟 뷰 벡터의 함수로서 렌더링 뷰 벡터를 생성하도록 배열되는 뷰 벡터 소스(103)에 결합된다. 이어서 결과적인 렌더링 뷰 벡터는 이전에 설명된 바와 같이 이미지를 생성하는 데 사용된다.
이 접근법은 더 효율적인 접근법을 제공할 수 있으며, 생성되는 이미지들이 3D 이미지 데이터가 데이터를 포함하는 장면의 부분들에 대한 것인 경향이 있도록 사용자의 가상 움직임 및 배향을 어느 정도까지는 제한하거나 바이어스할 수 있다. 이 접근법은 전형적으로 사용자의 뷰포인트가 3D 이미지 데이터가 충분한 데이터를 제공하지 않는 뷰포인트들로부터 멀리, 그리고 3D 이미지 데이터가 데이터를 제공하는 뷰포인트들을 향해 바이어스되거나 시프트되는 효과를 제공할 수 있다.
예로서, 사용자가 그의 머리를(예를 들어, 뒤쪽으로) 돌리고, 이에 따라 결국 캡처된 콘텐츠가 없는 뷰들을 향함에 따라, 가상 환경에서의 가상 회전은 처음에는 사용자를 정확하게 따를 수 있지만, 뷰포트가 빈 부분으로 이동함에 따라, 그것은 덜 움직여서 사용자의 실제 움직임과의 직접 대응을 파괴하지만, 오히려 캡처된 콘텐츠를 포함하는 렌더링된 이미지들을 제공할 수 있다. 따라서, 시스템이 사용자 움직임을 완전히 따르는 것이 아니라 오히려 콘텐츠가 이용 가능한 장면의 부분들에, 즉 더 높은 품질의 뷰들을 향하여 "점착" 또는 유인되는 경향을 갖는 효과가 달성될 수 있다.
예를 들어, 주어진 위치에 대해, 3D 이미지 데이터는 캡처링 카메라 주 방향에 대응하는 주어진 기준 방향에 대해, 즉 3D 이미지 데이터의 일부로서 저장된 캡처된 이미지 데이터에 대한 중심 방향에 대해 -140° 내지 +140°의 각도에 대한 데이터를 포함할 수 있다. 이 경우에, 그의 머리를 (가상으로) 돌리기 시작하는 사용자는 처음에는 변경된 뷰 방향을 완전히 따르는 뷰를 제시받을 수 있다. 예를 들어, 디스플레이가 60° 관찰 범위에 대응하는 이미지를 생성하는 경우, 렌더링 뷰 벡터는 카메라 기준 방향에 대해 +110°까지의 각도에 대한 타겟 뷰 벡터를 따르도록 생성될 수 있다. 이 경우에, 3D 이미지 데이터가 완전한 데이터를 제공하고 외삽이 필요하지 않기 때문에 대응하는 뷰포트/이미지에 대해 완전한 이미지가 렌더링될 수 있다.
그러나, 사용자가 그의 머리를 계속 돌림에 따라, 타겟 뷰 벡터/뷰포인트는 3D 이미지 데이터가 데이터를 포함하지 않고 외삽이 필요할 부분으로 이동할 것이다. 외삽이 필요한 이미지의 비율, 및 이에 따라 품질이 감소되는 이미지의 비율을 감소시키기 위해, 렌더링 뷰 벡터는 이제 타겟 뷰 벡터를 정확하게 따르는 것이 아니라 오히려 중심 카메라 기준에 더 근접하게 수정되도록 생성될 수 있다. 예를 들어, 사용자가 +110° 내지 +180°의 구간의 (방위) 각도를 표현하는 타겟 뷰 벡터를 야기하도록 이동함에 따라, 이것은 +110° 내지 +140°의 구간 내에 속하는 각도를 표현하는 렌더링 뷰 벡터에 (전형적으로 비선형적으로) 매핑될 수 있는데, 즉 +110° 내지 +180°의 각도 구간은 +110° 내지 +140°의 각도 구간에 (비선형적으로) 매핑될 수 있으며, 따라서 전자의 구간 내의 타겟 뷰 벡터의 각도는 후자의 구간 내의 렌더링 뷰 벡터의 각도에 매핑된다. 따라서, 뷰포트가 3D 이미지 데이터가 존재하지 않는 부분으로 이동하도록 사용자가 움직임에 따라, 렌더링 뷰포트에 대한 대응하는 이동이 감소된다. 사용자에 대한 효과는, 가상 이동이 사용자 입력을 완전히 따르는 것이 아니라 대신에 제시된 뷰가 몇몇 선호되는 뷰 방향들을 향하여 바이어스되는 경향이 있다는 것이다. 그러나, 이것은 사용자에게 불리한 효과인 것으로 간주될 수 있지만, 전형적으로 제시되는 이미지가 비교적 높은 품질을 갖는다는 유리한 효과, 및 많은 실시예들에서 극도로 감소된 품질을 갖는 뷰들이 완전히 회피될 수 있다는 사실이 이보다 중대하다.
본질적으로, 상이한 선호들이 렌더링 뷰 벡터를 그러나 상이한 방향들로 잡아당기는 "고무 밴드" 효과가 달성될 수 있다. "고무 밴드"의 한쪽에는 사용자의 선호 뷰포인트에 대응하는 타겟 뷰 벡터가 있다. 타겟 뷰 벡터는 고무 밴드를 잡아당겨서 렌더링 뷰포인트를 끌어당긴다. "고무 밴드"의 다른 쪽에는 3D 이미지 데이터가 존재하는 3D 이미지 데이터의 부분들에 대응하는 하나 이상의 뷰포인트를 표현하는 기준 뷰 벡터가 있다. 고무 밴드의 2개의 단부는 렌더링 뷰포인트를 상이한 방향들로 잡아당기고, 결과적인 렌더링 뷰포인트/뷰 벡터는 이러한 인자들의 상대적 "잡아당김" 및 고무 밴드의 결과적인 "스트레칭"에 의존할 것이다. 실제로, 렌더링 뷰는 사용자가 이러한 선호되는 뷰 방향들로부터 더 멀리 이동할수록 전형적으로 증가하는 이러한 잡아당김으로 선호되는 뷰 방향들을 향해 잡아당겨질 수 있다. ("고무 밴드" 비유는 특정한, 제한적인 또는 정확한 설명으로 의도되는 것이 아니라, 단지 달성될 수 있는 효과들의 직관적인 표시를 제공하도록 의도될 뿐이라는 것이 인식될 것이다).
이 접근법은 사용자의 자유로운 가상 이동을 제한할 수 있지만, 많은 시나리오들에서 상당히 개선된 사용자 경험 및 특히 더 몰입적인 경험을 제공하는 것으로 밝혀졌다. 실제로, 이것은 간접적인 가상 이동 제어(예를 들어, 조이스틱 또는 마우스의 이동)가 구현되는 실시예들에서뿐만 아니라 가상 이동, 및 이에 따라 생성되는 타겟 뷰 벡터가 사용자의 이동을 직접 미러링하도록 의도되는 실시예들에서도 그러한 것으로 밝혀졌다. 예를 들어, 그것은 가상 사용자 경험이 사용자의 머리 움직임들을 추적하는 헤드셋에 기초하는 응용들에서도 개선된 사용자 경험을 종종 제공하는 것으로 밝혀졌다.
기준 뷰 벡터 및 타겟 뷰 벡터의 함수로서 렌더링 뷰 벡터를 결정하기 위해 뷰 벡터 소스(103)에 의해 사용되는 특정 기능은 개별 실시예의 특정한 요구들 및 선호들에 의존할 것이라는 점이 인식될 것이다. 예를 들어, 그것은 기준 뷰포인트/뷰 벡터에 대해 사용되는 특정 뷰포인트에 의존할 수 있다.
그러나, 많은 실시예에서, 뷰 벡터 소스(103)는 타겟 뷰 벡터/뷰포인트로부터 기준 뷰 벡터/뷰포인트까지의 증가하는 거리를 위해 렌더링 뷰 벡터/뷰포인트로부터 타겟 뷰 벡터/뷰포인트까지의 거리를 증가시키도록 렌더링 뷰 벡터를 결정하도록 배열된다. 따라서, 대부분의 실시예들에서, 렌더링 뷰 벡터를 생성하기 위해 타겟 뷰 벡터에 적용되는 변경은 타겟 뷰 벡터가 기준 뷰 벡터로부터 더 멀리 있을수록 증가한다. 전형적으로, 기준 뷰 벡터는 선호되는 뷰포인트를 나타내고, 이에 따라 타겟 뷰 벡터와 기준 뷰 벡터 간의 거리는 사용자의 현재 타겟 뷰포인트가 선호되는 뷰 벡터로부터 얼마나 많이 벗어나는지를 나타낸다. 따라서, 타겟 뷰 벡터가 선호되는 뷰포인트 벡터로부터 더 멀리 벗어날수록 선호되는 뷰포인트에 더 가까운 결과적인 렌더링 뷰 벡터를 달성하기 위해 타겟 뷰 벡터에 증가하는 수정이 적용된다.
뷰 벡터가 대응하는 뷰포인트의 (값들의 세트로서의) 표현을 제공하기 때문에, 용어 뷰포인트와 뷰 벡터는 동등한 것으로 간주될 수 있다는 것이 인식될 것이다. 따라서, 예를 들어 뷰 벡터들의 수정들, 이들 사이의 거리들, 이들의 비교들 등에 대한 언급들은 뷰포인트들의 수정들, 이들 사이의 거리들, 이들의 비교들에 대한 동등한 언급들이며, 그 반대도 마찬가지이다. 이하의 설명은 뷰 벡터들에 대한 언급들에 초점을 맞출 것이다.
많은 실시예에서, 뷰 벡터 소스(103)는 특히 타겟 뷰 벡터로부터 기준 뷰 벡터까지의 증가하는 거리를 위해 렌더링 뷰 벡터로부터 기준 뷰 벡터까지의 거리와 렌더링 뷰 벡터로부터 타겟 뷰 벡터까지의 거리 사이의 비율이 감소되도록 렌더링 뷰 벡터를 결정하도록 배열될 수 있다. 따라서, 타겟 뷰 벡터와 기준 뷰 벡터 간의 증가하는 편차를 위해 렌더링 뷰 벡터로부터 각각 기준 뷰 벡터와 타겟 뷰 벡터까지의 상대적 거리들의 비율이 감소한다.
예를 들어, 렌더링 뷰 벡터는 전형적으로 타겟 뷰 벡터와 기준 뷰 벡터 사이에(예를 들어, 이들 사이의 또는 이들 사이의 뷰 방향/각도에 대응하는 라인 상에), 그리고 이에 따라 사용자가 원하는 뷰포인트와 (3D 이미지 데이터 기반의) 선호되는 뷰포인트 사이에 있도록 생성될 수 있다. 렌더링 뷰 벡터의 상대적 위치는 타겟 뷰 벡터가 기준 뷰 벡터에 가까울 때 렌더링 뷰 벡터가 타겟 뷰 벡터에 가깝도록(또는 실제로 이것과 동일하도록) 변경된다. 그러나, 타겟 뷰 벡터가 기준 뷰 벡터로부터 더 많이 벗어나기 시작할 때, 렌더링 뷰 벡터는 사실상 타겟 뷰 벡터로부터 멀어져 그리고 기준 뷰 벡터를 향해 이동하기 시작하는데, 즉 렌더링 뷰 벡터의 상대적 위치는 더 이상 타겟 뷰 벡터에 가깝지 않다. 따라서, 타겟 뷰 벡터까지의 상대적 거리는 증가하는 반면 기준 뷰 벡터까지의 상대적 거리는 감소하며(예를 들어, 둘 모두의 거리가 기준 뷰 벡터와 타겟 뷰 벡터 사이의 총 거리에 관하여 정규화됨), 따라서 비율이 감소한다. 실제로, 렌더링 뷰 벡터가 (작은 편차들을 위해) 타겟 뷰 벡터와 동일하도록 생성될 때, 기준 뷰 벡터까지의 거리와 타겟 뷰 벡터까지의 거리 사이의 비율은 무한이다(후자의 거리는 0임). 편차가 증가함에 따라, 렌더링 뷰 벡터와 타겟 뷰 벡터 간의 상대적 거리는 0으로부터 증가하는 반면, 렌더링 뷰 벡터와 기준 뷰 벡터 간의 상대적 거리는 감소한다.
이 접근법은 타겟 뷰 벡터가 3D 이미지 데이터가 데이터를 제공하지 않는 부분들을 향해 또는 부분들로 더 멀리 이동할수록 뷰 벡터 소스(103)로 하여금 데이터가 이용 가능한 3D 이미지 데이터의 부분들을 향해 점점 더 바이어스되는 렌더링 뷰 벡터를 생성하는 것을 가능하게 한다.
전술한 바와 같이, 뷰 벡터 소스(103)는 많은 실시예에서 타겟 뷰 벡터가 렌더링 뷰 벡터에 충분히 가까운 한 타겟 뷰 벡터와 직접 매칭하도록 렌더링 뷰 벡터를 생성하도록 배열될 수 있다. 이것은 많은 실시예들 및 시나리오들에서 매우 유리한 동작을 제공하며, 좀 더 확실히 말하면 실제로 요구되거나 필요하지 않다면 바이어스 효과가 적용되지 않게 할 수 있다. 그것은 감소된 지각적 영향을 제공하고 더 몰입적인 경험으로 이어질 수 있다.
많은 실시예에서, 렌더링 뷰 벡터는 렌더링 뷰 벡터와 타겟 뷰 벡터 간의 거리가 타겟 뷰 벡터와 기준 뷰 벡터 간의 거리의 단조 증가 함수가 되도록 생성된다. 그러나, 단조 증가 함수는 전형적으로 선형 함수가 아니라 오히려 전형적으로 비선형 함수이며, 전형적으로 타겟 뷰 벡터와 기준 뷰 벡터 사이의 편차들을 증가시키기 위해 변경 또는 수정이 증가하도록 비선형적으로 증가한다.
전술한 바와 같이, 많은 실시예들 및 시나리오들에서, 타겟 뷰 벡터에 적용되는 수정은 타겟 뷰 벡터가 기준 뷰 벡터와 상당한 양만큼 상이하지 않다면 매우 작거나 실제로 0이다. 예를 들어, 상기 예에서, 렌더링 뷰 벡터는 이 차이가 +110°에 도달할 때까지 타겟 뷰 벡터와 동일한데, 즉 그 예에서 렌더링 뷰 벡터는 뷰포트/이미지가 3D 이미지 데이터가 어떠한 데이터도 포함하지 않는 장면의 부분의 요소를 포함하기 시작할 때까지, 즉 제1 구역이 전체 이미지를 채우지 않는 포인트까지 타겟 뷰 벡터와 동일하다. 또한, 그 효과는 전형적으로 그때부터 점진적으로 증가될 수 있는데, 즉 비선형적으로 증가하는 함수가 적용될 수 있다.
이러한 효과들은 타겟 뷰 벡터가 멀리 이동하여 이미지의 상당한 저하가 발생할 때까지 바이어스 효과가 점진적으로 증가되고 전형적으로 존재하지 않고/않거나 현저하지 않은 경험을 제공할 수 있다. 그러나, 타겟 뷰 벡터가 3D 이미지 데이터가 어떠한 데이터도 갖지 않는 장면의 부분들로 더 이동함에 따라, 효과는 처음에는 점진적으로 그리고 상당히, 그리고 추가 이동에 대해 점점 더 공격적인 효과를 갖고서 증가한다.
임의의 적합한 거리 척도가 거리를 평가하는 데 사용될 수 있다는 것이 인식될 것이다. 많은 시나리오에서, 2개의 뷰 벡터 사이의 거리는 가상 장면에서 대응하는 파라미터들 사이의 거리인 것으로 간주될 수 있다. 많은 실시예들에서, 거리는 장면 내의 주어진 위치로부터의 2개의 뷰 벡터에 의해 표현되는 배향들 또는 뷰 방향들 사이의 각도 차이와 같은 각도 거리일 수 있다. 많은 실시예에서, 거리는, 예를 들어 뷰 벡터들의 하나 이상의 값들을 직접 비교함으로써, 뷰 벡터의 직접 비교에 응답하여 결정될 수 있다.
상기 예에서, 기준 뷰 벡터는 예를 들어 실질적으로 전방향 카메라의 주 방향과 같은, 장면의 캡처를 위한 중심 뷰포인트를 나타내는 뷰 벡터인 것으로 간주된다. 그러한 시나리오는 예를 들어 사용자가 가상 환경에서 가상 위치에 고정되는 실시예들에서 유리할 수 있으며, 여기서 고정 위치는 카메라의 위치에 대응한다. 따라서, 특히, 그것은 사용자가 캡처링 카메라의 위치에 정지되어 있는 것으로 간주되지만 장면에서 "둘러보는" 수단을 제공받는, 즉 뷰포인트 변경들이 뷰 배향 변경들로 제한되는 응용들에 대해 매우 유리한 성능을 제공할 수 있다.
그러나, 다른 실시예들에서, 3D 이미지 데이터는 하나 초과의 카메라에 의해 캡처된 데이터를 포함할 수 있고/있거나 사용자가 배향뿐만 아니라 위치도 이동시킬 수 있게 할 수 있다. 많은 그러한 실시예들에서, 단일 고정 캡처 기준 뷰 벡터는 최적이 아닐 수 있다.
몇몇 실시예들에서, 시스템은 (데이터 파일로서를 포함하여) 데이터 스트림으로서 3D 이미지 데이터를 수신할 수 있으며, 그에 따라 데이터 스트림은 가상 장면/환경의 3D 이미지 데이터 표현을 제공한다. 3D 이미지 데이터는 콘텐츠 제공자에 의해 이 포맷으로 제공될 수 있으며, 그에 따라 그는 가상 현실 경험을 제공하기 위해 탐구되거나 달리 사용될 수 있는 가상 장면/환경을 제공할 수 있다.
몇몇 실시예들에서, 3D 이미지 데이터를 제공하는 그러한 데이터 스트림은 공칭 뷰포인트 데이터를 제공할 수 있다. 공칭 뷰포인트 데이터는 3D 이미지 데이터에 대한 공칭 뷰포인트들을 나타낼 수 있다. 이러한 공칭 뷰포인트 데이터는 특히 3D 이미지 데이터가 데이터를 포함하는 부분들 및 3D 이미지 데이터가 데이터를 포함하지 않는 부분들을 나타내는 정보를 제공할 수 있다.
예로서, 공칭 뷰포인트 데이터는 하나 이상의 선호되는 뷰포인트들을 나타낼 수 있다. 예를 들어, 선호되는 뷰 방향들 또는 배향들이 장면 내의 상이한 위치들에 대해 제공될 수 있다. 예를 들어, 가상 환경 내의 각각의 위치에 대해, 선호되는 뷰 방향/배향이 제공될 수 있다. 선호되는 뷰 방향은 예를 들어 3D 이미지 데이터가 어떠한 데이터도 제공하지 않는 장면의 가장 가까운 부분까지의 최대 거리를 갖는 뷰 방향을 나타낼 수 있다.
많은 실시예에서, 그러한 선호되는 방향 정보는 상당한 데이터 오버헤드를 초래함이 없이 제공될 수 있다는 것이 인식될 것이다. 예를 들어, 많은 실시예들에서, 하나의 선호되는 뷰 방향 표시는 다수의 위치들 및 가능한 모든 위치들을 커버하기에 적합할 수 있다. 예를 들어, 캡처가 기준선 상의 그리고 동일 방향으로 향하는 하나 이상의 카메라에 의해 행해진 경우(카메라 바로 뒤의, 그리고 이에 따라 카메라 방향의 바로 반대 방향의 장면의 부분에 대응하는 3D 이미지 데이터의 누락 데이터를 갖고서), 모든 위치들에 대한 선호되는 뷰 방향은 단순히 그 카메라 방향으로서 주어질 수 있다.
다른 실시예들에서, 상이한 위치들이 상이한 선호되는 뷰 방향들을 갖는 차별화된 접근법이 사용될 수 있다. 예를 들어, 누락 데이터를 야기하는 장애물이 존재하는 경우, 주어진 위치에 대한 선호되는 방향은 물체로부터 멀어지는 쪽을 향하고 있는 방향일 수 있다.
몇몇 실시예들에서, 선호되는 뷰 방향은 시간에 따라 변할 수 있다. 예를 들어, 공칭 뷰포인트 데이터는 3D 이미지 데이터에 의해 표현되는 가상 환경을 통한 경로를 기술할 수 있다. 이러한 방식으로, 유도되거나 제어된 경험이 제공될 수 있다. 예를 들어, 콘텐츠 제공자는 장면을 통한 사용자의 이동이 제어되지만 사용자가 주어진 위치로부터 자유롭게 둘러볼 수 있는 내러티브 경험(narrative experience)을 제공할 수 있다. 그러나, 공칭 뷰포인트 데이터는 시간의 함수로서 추천 위치 및 뷰 배향을 제공할 수 있다. 가상 현실 응용은 로컬 사용자로부터 임의의 상반되는 지시가 수신되지 않을 경우에 대응하는 이미지들을 렌더링하고 디스플레이하도록 진행할 수 있다. 그러나, 예를 들어 사용자가 둘러보기 위해 머리를 돌리는 것을 나타내는 사용자 입력이 수신되면, 시스템은 렌더링 뷰 벡터를 그에 맞춰 수정할 수 있는데, 즉 렌더링 뷰 벡터는 공칭 뷰 방향과는 상이하도록 생성될 수 있다.
그러한 예들에서, 렌더링 유닛(203)은 공칭 뷰포인트 데이터로부터 렌더링 뷰 벡터를 생성하도록 배열될 수 있고, 특히 사용자 입력이 달리 지시하지 않는 한 표시된 공칭 뷰포인트에 대응하도록 렌더링 뷰 벡터를 생성할 수 있다. 이 경우에, 렌더링 뷰 벡터는 사용자 입력을 반영하기 위해 공칭 뷰포인트에 대해 수정된다. 그러나, 많은 실시예들에서, 이러한 프로세스는 렌더링 뷰 벡터를 타겟 뷰 벡터와 기준 뷰 벡터 간의 거리에 의존하게 만드는 설명된 접근법에 종속될 수 있다. 특히, 공칭 뷰포인트는 대응하는 기준 뷰 벡터를 생성하는 데 사용될 수 있으며, 이때 사용자 입력은 (가능하게는 기준 뷰 벡터에 대한) 타겟 뷰 벡터를 생성한다. 이어서 렌더링 뷰 벡터는 기준 뷰 벡터가 캡처 카메라 방향에 대응하는 예에 대해 설명된 바와 같이 생성될 수 있다.
이 접근법은 예를 들어 콘텐츠 제공자가 예컨대 내러티브를 제공하기 위해 가상 현실 경험을 "감독(direct)"할 수 있게 할 수 있다. 사용자는 여전히 얼마간의 자유가 허용될 수 있지만, 이것은 다른 방향들에 대한 데이터 누락의 영향을 감소시키기 위해 "디렉터" 추천 뷰 방향을 향해 제한되거나 바이어스될 수 있다.
공칭 뷰포인트 데이터는 방향의 명시적인 기술을 제공할 필요가 없다는 것이 인식될 것이다. 예를 들어, 몇몇 실시예들에서, 3D 이미지 데이터는 실질적으로 전방향 이미지들의 시간 시퀀스의 형태로 제공될 수 있다. 이러한 전방향 이미지들 각각의 중심점은 공칭 기준 뷰포인트인 것으로 간주될 수 있는데, 즉 그것은 특히 전방향 이미지가 그로부터 캡처된 위치에 대한 공칭 배향인 것으로 간주될 수 있다.
사용자가 어떠한 입력도 제공하지 않으면, 수신된 전방향 이미지의 적절한 중심 부분을 선택함으로써 이미지가 렌더링된다. 그러나, 사용자가 예를 들어 둘러봄으로써 뷰 배향에서의 시프트를 나타내면, 렌더링 유닛(203)은 원하는 배향에 대응하도록 전방향 뷰의 상이한 섹션을 선택한다. 그러나, 이 섹션이 장면의 누락 부분의 상당한 부분을 포함하는 위험을 감소시키기 위해, 렌더링 뷰 벡터를 기준 뷰 벡터를 향해 바이어스하는 설명된 접근법이 적용된다. 따라서, 전방향 이미지의 어느 섹션을 제시할지를 표시하기 위해 생성될 수 있는 렌더링 뷰 벡터는 그것이 (유효) 이미지 데이터를 포함하지 않는 전방향 이미지의 부분의 상당한 섹션들을 포함하게 할 선택들로부터 멀어지게 바이어스될 것이다.
몇몇 실시예들에서, 뷰 벡터 소스(103)는 3D 이미지 데이터가 이미지 데이터를 포함하는 장면의 부분과 3D 이미지 데이터가 이미지 데이터를 포함하지 않는 장면의 부분 사이의 경계를 나타내는 경계 뷰 벡터에 응답하여 기준 뷰 벡터를 결정할 수 있다.
예를 들어, 주어진 뷰포인트 위치에 대해, 뷰 벡터 소스(103)는 3D 이미지 데이터가 이미지 데이터를 포함하는 것으로부터 이미지 데이터를 포함하지 않는 것으로 전이하는 각도를 결정할 수 있다. 예를 들어, 이전의 특정 예에서, 3D 이미지 데이터는 140°의 각도까지 이미지 데이터를 포함한다. 따라서 경계 뷰 벡터는 이 값에 대응하도록 결정될 수 있고, 기준 뷰 벡터는 이 값으로 설정될 수 있다(또는 그것은 예를 들어 디스플레이에 의해 표현되는 시야각의 절반에 대응하는 값만큼, 즉 60°의 시야각을 나타내는 디스플레이의 예에서 110°로 오프셋될 수 있다).
따라서, 렌더링 뷰 벡터는 타겟 뷰 벡터가 기준 뷰 벡터와, 그리고 이에 따라 경계 뷰 벡터와 어떻게 관련되는지에 기초하여 결정될 수 있다. 따라서, 렌더링 뷰 벡터는 타겟 뷰 벡터가 3D 이미지 데이터가 데이터를 포함하는 장면의 부분들로부터 3D 이미지 데이터가 데이터를 포함하지 않는 부분들로의 전이와 어떻게 관련되는지에 기초하여 직접 결정될 수 있다.
예를 들어, 타겟 뷰 벡터가 기준/경계 뷰 벡터를 초과하는 각도를 나타냄에 따라, 렌더링 뷰 벡터는 기준/경계 뷰 벡터까지의 감소된 거리를 갖도록 생성될 수 있다. 예를 들어, 이전의 특정 예에서, 타겟 뷰 벡터가 110° 미만의 각도들을 나타내는 경우, 이것과 기준 뷰 벡터 사이의 각도 차이는 음인 것으로 간주될 수 있다. 그것이 110°를 초과하기 시작함에 따라 차이는 양이 되고, 렌더링 뷰 벡터는 렌더링 뷰 벡터로부터 기준 뷰 벡터까지의 각도가 타겟 뷰 벡터와 기준 뷰 벡터 간의 차이보다 작도록 생성될 수 있다. 예를 들어, 110° 초과의 각도들에 대해, 렌더링 뷰 벡터는 다음의 각도에 대응하도록 생성될 수 있으며:
여기서 은 렌더링 뷰 벡터의 각도(도 단위)이고, 는 기준 각도, 즉 110°이고, 는 타겟 뷰 벡터의 각도(도 단위)이다. 따라서, 110° 내지 180°의 타겟 뷰 벡터 각도 구간은 110° 내지 140°의 렌더링 뷰 벡터 각도 구간에 비선형적으로 매핑된다.
렌더링 뷰 벡터의 결정은 많은 실시예에서 단지 타겟 뷰 벡터 및 기준 뷰 벡터보다 더 많은 태양을 고려할 수 있다. 예를 들어, 카메라의 방향에 대응하도록 기준 뷰 벡터를 결정하는 것이 실용적이지 않은 실시예들에서, 카메라들에 대한 뷰포인트들을 고려하는 것이 여전히 가능하고 유리할 수 있다.
많은 실시예들에서, 3D 이미지 데이터는 상이한 뷰포인트들로부터의 뷰들의 세트로서 생성될 수 있다. 이러한 뷰들 각각은, 전형적으로 뷰포인트의 위치에 그리고 뷰포인트의 배향으로 위치된 카메라에 의해 캡처되는 바와 같은, 대응하는 뷰포인트에 대한 이미지(예를 들어, 전방향 이미지 및/또는 3D 이미지)에 대응할 수 있다.
그러한 예들에서, 3D 이미지 데이터는 전형적으로 뷰포인트들을 정의하는 데이터를 포함할 것이다(이 정보는 또한 주어진 뷰포인트에 대해 이미지를 렌더링하는 데 사용된다). 이 정보는 또한 렌더링 뷰 벡터를 생성할 때 고려될 수 있다. 예를 들어, 렌더링 뷰포인트는 3D 이미지 데이터의 뷰포인트들에 대한 감소된 거리를 야기하는 뷰포인트들을 향해 바이어스될 수 있다.
다른 예로서, 뷰 벡터 소스(103)는 3D 이미지 데이터가 이미지 데이터를 포함하는 주어진 렌더링 뷰 벡터에 대한 뷰포트의 비율을 고려하도록 배열될 수 있다. 예를 들어, 비선형 함수는 외삽에 의해 생성될 필요가 있는 이미지의 비율이 타겟 뷰 벡터의 함수로서 얼마나 빨리 변경되는지를 반영하도록 동적으로 적응될 수 있다.
예를 들어, 외삽에 의해 생성될 필요가 있는 이미지의 영역이 렌더링 뷰 벡터가 변경됨에 따라 매우 빠르게 증가하는 경우, 렌더링 뷰 벡터를 기준 뷰 벡터(예를 들어, 이것이 경계 뷰 벡터로서 주어질 때)에 매우 가깝게 유지하는 공격적인 효과가 적용될 수 있다. 그러나, 변경이 단지 매우 점진적이면, 훨씬 더 점진적이고 덜 현저한 효과를 야기하는 함수가 적용될 수 있다.
렌더링 뷰 벡터를 결정할 때 다수의 파라미터들을 고려하기 위한 상이한 알고리즘들 및 접근법들이 상이한 실시예들에서 사용될 수 있다는 것이 인식될 것이다. 예를 들어, 상이한 파라미터들의 결합된 효과는 다수의 항들을 갖는 비선형 에너지 함수 J로서 표현될 수 있다. 이어서 비선형 최적화 알고리즘이 렌더링 뷰 벡터를 J를 최소화하는 것으로서 결정하는 데 사용될 수 있다. 예를 들어, 기울기 하강 접근법이 사용될 수 있다.
많은 실시예에서, 렌더러(203)는 의도된 디스플레이의 하나 이상의 파라미터를 표시하는 디스플레이 특성 데이터를 수신하도록 배열될 수 있다. 이어서 뷰 벡터 소스(103)는 렌더링 뷰 벡터를 결정할 때 그러한 디스플레이 특성들을 고려하도록 배열될 수 있다.
예를 들어, 렌더링 유닛(203)은 디스플레이에 의해 지원되는 시야각의 정보를 수신할 수 있다. 예를 들어, 디스플레이가 가상 현실 세트의 일부인 경우, 디스플레이 특성은 디스플레이가 헤드셋을 착용하고 있는 사용자에게 제공하는 시야각을 나타낼 수 있다. 이어서 이 정보는 예를 들어 전술한 바와 같이 기준 뷰 벡터를 결정함으로써(예를 들어, 그것을 사용하여 디스플레이의 에지가 3D 이미지 데이터가 데이터를 포함하는 장면의 부분의 끝에 도달하는 각도를 결정함으로써) 또는 적용되는 함수를 수정함으로써 렌더링 시야각을 결정하는 데 사용될 수 있다.
이전의 예들에서, 기준 뷰 벡터(및 실제로 다른 파라미터들)는 바람직한 또는 선호되는 특성들/뷰들에 대응하는 것으로 간주되었다. 따라서, 렌더링 뷰 벡터는 기준 뷰 벡터를 향해 바이어스된다. 그러나, 다른 시나리오들 또는 실시예들에서, 기준 뷰 벡터는 원하지 않는/비-선호 특성에 대응할 수 있다. 예를 들어, 전체 뷰포트가 3D 이미지 데이터가 어떠한 데이터도 제공하지 않는 장면의 부분에 대응할 뷰포인트(특히 배향)를 나타내는 기준 뷰 벡터가 제공될 수 있다. 이 경우에, 뷰 벡터 소스(103)는 기준 뷰 벡터로부터 멀어지게 바이어스를 적용함으로써 렌더링 뷰 벡터를 생성하도록 배열될 수 있다.
예를 들어, 기준 뷰 벡터는, 예를 들어 전술한 특정 예에서 180°를 향해, 어떠한 데이터도 제공되지 않는 장면의 부분의 중심에 대한 각도를 표시할 수 있다. 그러한 경우에, 렌더링 뷰 벡터는 타겟 뷰 벡터와 기준 뷰 벡터 간의 차이가 충분히 큰 한 타겟 뷰 벡터에 대응하도록 생성될 수 있다. 예를 들어, 기준 각도와 타겟 각도 사이의 각도 차이가 70°를 초과하는 한, 타겟 뷰 벡터는 렌더링 뷰 벡터로서 직접 사용될 수 있다. 그러나, 차이가 70° 아래로 떨어짐에 따라, 렌더링 각도와 타겟 각도 사이의 차이가, 전형적으로 전술한 접근법들과 유사한 비선형 함수를 이용하여, 도입되기 시작할 수 있다.
따라서, 몇몇 실시예들에서, 뷰 벡터 소스(103)는 타겟 뷰 벡터로부터 기준 뷰 벡터까지의 감소되는 거리를 위해 렌더링 뷰 벡터로부터 타겟 뷰 벡터까지의 거리를 증가시키도록 배열될 수 있다.
몇몇 실시예들에서, 뷰 벡터 소스(103)는 타겟 뷰 벡터로부터 기준 뷰 벡터까지의 감소되는 거리를 위해 렌더링 뷰 벡터로부터 기준 뷰 벡터까지의 거리와 렌더링 뷰 벡터로부터 타겟 뷰 벡터까지의 거리 사이의 비율을 감소시키도록 배열될 수 있다.
몇몇 실시예들에서, 뷰 벡터 소스(103)는 임계치를 초과하는 타겟 뷰 벡터와 기준 뷰 벡터 간의 차이에 대해 렌더링 뷰 벡터를 실질적으로 타겟 뷰 벡터로서 결정하도록 배열될 수 있다.
따라서, 몇몇 실시예들에서 기준 뷰 벡터는 디트랙터(detractor)(밀어냄)로서 사용될 수 있는 반면, 그것은 다른 실시예들에서 타겟 뷰 벡터에 대한 어트랙터(attractor)(잡아당김)로서 사용될 수 있다.
많은 실시예에서, 뷰 벡터 소스(103)는 끌어당기는 기준 뷰 벡터 및 밀어내는 기준 뷰 벡터 둘 모두를 동시에 고려하는 것을 포함하여, 복수의 상이한 기준 뷰 벡터를 동시에 고려할 수 있다는 것이 인식될 것이다. 이것은 예를 들어 적합한 에너지 함수 또는 비용 함수를 정의하고 선택된 척도를 적절한 바에 따라 최대화하거나 최소화하기 위해 기울기 검색을 이용함으로써 달성될 수 있다.
몇몇 실시예들에서, 가상 현실 디바이스는 다른 유형들의 피드백을 제공하기 위한 기능을 추가로 포함할 수 있다. 예를 들어, 햅틱 피드백이 예를 들어 게임 응용들로부터 알려진 예를 들어 "힘 피드백"의 형태로 제공될 수 있다. 이것은 특히 타겟 뷰 벡터를 수정하는 접근법과 관련하여 사용될 수 있다. 예로서, 렌더링 뷰 벡터를 생성하기 위해 타겟 뷰 벡터에 도입되는 수정이 더 클수록, 힘 피드백이 더 크다. 햅틱 피드백이 방향성 자극을 제공하는 실시예들에서, 이것은 사용자를 원하는 방향으로 재촉하는 방향을 갖도록 배열될 수 있다. 예를 들어, 조이스틱 및 레이싱 휠과 같은 제어기들을 이용하여, 타겟 뷰 벡터에 대한 "잡아당김"의 양 및 방향 둘 모두의 느낌이 힘 피드백 감각에 의해 사용자에게 전달될 수 있다.
몇몇 실시예들에서, 이미지를 생성하기 위한 장치가 제공될 수 있으며, 장치는 장면에 대한 3D 이미지 데이터를 수신하기 위한 수신기(101)로서, 3D 이미지 데이터는 장면의 불완전한 표현을 제공하는, 상기 수신기(101); 이미지에 대한 장면 내의 렌더링 뷰포인트를 나타내는 렌더링 뷰 벡터를 제공하기 위한 뷰 벡터 소스(103); 렌더링 뷰 벡터에 대한 중간 이미지의 제1 구역을 렌더링하기 위한 렌더러(105)로서, 제1 구역은 3D 이미지 데이터가 이미지 데이터를 포함하는 구역인, 상기 렌더러(105); 3D 이미지 데이터를 중간 이미지의 제2 구역에 외삽하기 위한 외삽기(107)로서, 제2 구역은 3D 이미지가 이미지 데이터를 포함하지 않는 구역이고, 제1 구역과 제2 구역은 인접한 구역들인, 상기 외삽기(107); 및 중간 이미지에 공간적으로 변화하는 블러링을 적용하는 것에 응답하여 이미지를 생성하기 위한 블러 프로세서(109)로서, 블러링의 정도는 제1 구역의 내부 영역에 대해서보다 제1 구역과 제2 구역 사이의 전이 구역에서 더 높은, 상기 블러 프로세서(109)를 포함한다.
위의 설명은 명료함을 위해 상이한 기능 회로들, 유닛들 및 프로세서들을 참조하여 본 발명의 실시예들을 설명하였음을 알 것이다. 그러나, 본 발명으로부터 벗어남이 없이 상이한 기능 회로들, 유닛들 또는 프로세서들 간의 기능의 임의의 적합한 분산이 사용될 수 있음이 명백할 것이다. 예를 들어, 별개의 프로세서들 또는 제어기들에 의해 수행되도록 예시된 기능이 동일한 프로세서 또는 제어기에 의해 수행될 수 있다. 따라서, 특정 기능 유닛들 또는 회로들에 대한 언급들은 오로지 엄격한 논리적 또는 물리적 구조 또는 조직을 나타내기보다는 설명된 기능을 제공하기 위한 적합한 수단에 대한 언급들로 간주되어야 한다.
본 발명은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합을 포함한 임의의 적합한 형태로 구현될 수 있다. 본 발명의 실시예의 요소들 및 컴포넌트들은 임의의 적합한 방식으로 물리적으로, 기능적으로 그리고 논리적으로 구현될 수 있다. 실제로, 기능은 단일 유닛에서, 복수의 유닛에서, 또는 다른 기능 유닛들의 일부로서 구현될 수 있다. 그렇기 때문에, 본 발명은 단일 유닛에서 구현될 수 있거나, 상이한 유닛들, 회로들 및 프로세서들 간에 물리적으로 그리고 기능적으로 분산될 수 있다.
본 발명이 몇몇 실시예들과 관련하여 설명되었지만, 본 명세서에 기재된 특정 형태로 제한되도록 의도되지 않는다. 오히려, 본 발명의 범위는 첨부된 청구항들에 의해서만 제한된다. 또한, 소정 특징이 특정 실시예들과 관련하여 설명되는 것처럼 보일 수 있지만, 당업자는 설명된 실시예들의 다양한 특징들이 본 발명에 따라 조합될 수 있음을 인식할 것이다. 청구항들에서, 용어 '포함하는'은 다른 요소들 또는 단계들의 존재를 배제하지 않는다.
또한, 개별적으로 열거되지만, 복수의 수단, 요소, 회로 또는 방법 단계는 예를 들어 단일 회로, 유닛 또는 프로세서에 의해 구현될 수 있다. 또한, 하나의 카테고리의 청구항들에의 소정 특징의 포함은 이 카테고리로의 제한을 암시하는 것이 아니라, 오히려 그 특징이 적절한 바에 따라 다른 청구항 카테고리들에 동등하게 적용될 수 있음을 나타낸다. 또한, 청구항들에서의 특징들의 순서는 특징들이 작용되어야 하는 임의의 특정 순서를 암시하지는 않으며, 특히 방법 청구항에서의 개별 단계들의 순서는 단계들이 이 순서대로 수행되어야 함을 암시하지는 않는다. 오히려, 단계들은 임의의 적합한 순서로 수행될 수 있다. 또한, 단수형 언급은 복수를 배제하지 않는다. 따라서, "부정관사(a, an)", "제1", "제2" 등에 대한 언급은 복수를 배제하지 않는다. 청구항들에서의 참조 부호들은 단지 명료화 예로서 제공되며, 어떤 방식으로도 청구항들의 범위를 제한하는 것으로 해석되지 않아야 한다.
Claims (21)
- 출력 이미지를 생성하기 위한 장치로서,
장면의 3D 이미지 데이터를 수신하도록 배열된 제1 수신기 회로 - 상기 3D 이미지 데이터는 적어도 하나의 뷰포인트에 대해 상기 장면의 적어도 하나의 부분에 대한 시각적 특성들의 기술을 제공하지 않음 - ;
렌더링 뷰 벡터를 제공하도록 배열된 뷰 벡터 소스 - 상기 렌더링 뷰 벡터는 상기 장면 내의 제1 뷰포인트를 나타냄 - ;
상기 3D 이미지 데이터에 기초하여 제1 이미지의 제1 구역을 렌더링하도록 배열된 렌더러 회로 - 상기 제1 이미지는 상기 렌더링 뷰 벡터에 의해 나타내어지는 상기 제1 뷰포인트에 대한 것이고, 상기 3D 이미지 데이터는 상기 제1 구역에 대한 이미지 데이터를 포함함 - ;
상기 3D 이미지 데이터를 상기 제1 이미지의 제2 구역에 외삽하도록 배열된 외삽기 회로 - 상기 3D 이미지 데이터는 상기 제2 구역에 대한 이미지 데이터를 포함하지 않고, 상기 제1 구역과 상기 제2 구역은 인접한 구역들임 - ; 및
출력 이미지를 생성하도록 배열된 블러 프로세서 회로를 포함하고,
상기 블러 프로세서 회로는 상기 제1 이미지에 공간적으로 변화하는 블러링을 적용함으로써 상기 출력 이미지를 생성하도록 구성되고, 상기 공간적으로 변화하는 블러링에서의 블러링의 정도는 상기 제1 구역의 내부 영역에서보다 상기 제1 구역과 상기 제2 구역 사이의 전이 구역에서 더 큰, 이미지를 생성하기 위한 장치. - 제1항에 있어서, 상기 전이 구역은 상기 제1 구역의 영역을 포함하는, 이미지를 생성하기 위한 장치.
- 제1항에 있어서, 상기 이미지를 생성하기 위한 장치는,
상기 제1 이미지에 대한 렌더링 마스크를 결정하도록 배열된 렌더 구역 프로세서 회로 - 상기 렌더링 마스크는 상기 제1 이미지의 픽셀들이 상기 제1 구역에 속하는지 여부를 나타냄 - ;
상기 렌더링 마스크에 응답하여 이미지에 대한 공간적으로 변화하는 필터 특성을 결정하도록 배열된 필터 어댑터 회로를 추가로 포함하며,
상기 블러 프로세서 회로는 상기 공간적으로 변화하는 필터 특성을 채택하는 공간 필터를 상기 제1 이미지에 적용하도록 배열되는, 이미지를 생성하기 위한 장치. - 제3항에 있어서, 상기 공간적으로 변화하는 필터 특성은 상기 공간 필터에 의한 저역 통과 필터링의 정도를 나타내는, 이미지를 생성하기 위한 장치.
- 제3항에 있어서, 상기 외삽기 회로는,
상기 제1 이미지를 다운스케일링하는 것에 응답하여 다운스케일링된 이미지를 생성하고,
상기 다운스케일링된 이미지에 상기 렌더링 마스크에 의해 안내되는 양방향 필터를 적용하는 것에 응답하여 필터링된 다운스케일링된 이미지를 생성하고,
상기 다운스케일링된 이미지를 업스케일링하는 것에 응답하여 필터링된 업스케일링된 이미지를 생성하고,
상기 필터링된 업스케일링된 이미지로부터 상기 제2 구역에 대한 픽셀 값들을 생성하도록 배열되는, 이미지를 생성하기 위한 장치. - 제1항에 있어서, 상기 블러 프로세서 회로는,
상기 전이 영역에서 픽셀의 위치로부터 경계까지의 거리에 응답하여 상기 픽셀에 대한 블러링의 정도를 결정하도록 배열되는, 이미지를 생성하기 위한 장치. - 제1항에 있어서, 상기 블러 프로세서 회로는,
상기 전이 구역에서의 블러링의 정도에 대해 상기 제2 구역의 적어도 일부에서의 블러링의 정도를 감소시키도록 배열되는, 이미지를 생성하기 위한 장치. - 제1항에 있어서, 상기 이미지를 생성하기 위한 장치는,
이미지에 대한 장면 내의 타겟 뷰포인트를 나타내는 타겟 뷰 벡터를 수신하도록 배열된 제2 수신기 회로;
상기 장면에 대한 기준 뷰포인트를 나타내는 기준 뷰 벡터를 제공하도록 배열된 기준 소스를 추가로 포함하며,
상기 뷰 벡터 소스는 사용자가 원하는 뷰포인트 및 상기 장면에 대한 상기 기준 뷰포인트의 함수로서 렌더링 뷰포인트를 나타내는 상기 렌더링 뷰 벡터를 생성하도록 배열되는, 이미지를 생성하기 위한 장치. - 제8항에 있어서, 상기 뷰 벡터 소스는,
상기 3D 이미지 데이터가 이미지 데이터를 포함하는 상기 장면의 일부와, 상기 3D 이미지 데이터가 이미지 데이터를 포함하지 않는 상기 장면의 일부 사이의 경계를 나타내는 경계 뷰 벡터에 응답하여, 상기 기준 뷰 벡터를 결정하도록 배열되는, 이미지를 생성하기 위한 장치. - 제8항에 있어서, 상기 제1 수신기 회로는 데이터 스트림을 수신하도록 배열되고,
상기 데이터 스트림은:
상기 3D 이미지 데이터; 및
공칭 뷰포인트 데이터를 포함하고,
상기 뷰 벡터 소스는 상기 공칭 뷰포인트 데이터에 응답하여 상기 기준 뷰 벡터를 생성하도록 배열되는, 이미지를 생성하기 위한 장치. - 제1항에 있어서, 상기 외삽기 회로는,
상기 제2 구역에 근접한 상기 제1 구역의 복수의 영역들에 대한 저역 통과 필터링된 이미지 특성을 결정하고,
상기 저역 통과 필터링된 이미지 특성에 응답하여 상기 제2 구역의 적어도 일부에 대한 이미지 특성을 설정하도록 배열되는, 이미지를 생성하기 위한 장치. - 제1항에 있어서,
상기 제1 수신기 회로는 데이터 스트림에서 상기 3D 이미지 데이터를 수신하도록 배열되고,
상기 데이터 스트림은 외삽 제어 데이터를 포함하고,
상기 외삽기 회로는 상기 외삽 제어 데이터에 응답하여 상기 외삽의 파라미터를 설정하도록 배열되는, 이미지를 생성하기 위한 장치. - 제1항에 있어서, 상기 이미지를 생성하기 위한 장치는,
필터 프로세서 회로를 추가로 포함하고,
상기 필터 프로세서 회로는 이미지에 전역 공간 필터를 적용하도록 배열되고,
상기 전역 공간 필터의 특성은 상기 3D 이미지 데이터가 이미지 데이터를 포함하지 않는 상기 이미지의 비율에 의존하는, 이미지를 생성하기 위한 장치. - 출력 이미지를 생성하는 방법으로서,
장면에 대한 3D 이미지 데이터를 수신하는 단계 - 상기 3D 이미지 데이터는 적어도 하나의 뷰포인트에 대해 상기 장면의 적어도 하나의 부분에 대한 시각적 특성들의 기술을 제공하지 않음 - ;
상기 장면 내의 제1 뷰포인트를 나타내는 렌더링 뷰 벡터를 제공하는 단계;
상기 3D 이미지 데이터에 기초하여 제1 이미지의 제1 구역을 렌더링하는 단계 - 상기 제1 이미지는 상기 렌더링 뷰 벡터에 의해 나타내어지는 상기 제1 뷰포인트에 대한 것이고, 상기 3D 이미지 데이터는 상기 제1 구역에 대한 이미지 데이터를 포함함 - ;
상기 3D 이미지 데이터를 상기 제1 이미지의 제2 구역에 외삽하는 단계 - 상기 3D 이미지 데이터는 상기 제2 구역에 대한 이미지 데이터를 포함하지 않고, 상기 제1 구역과 상기 제2 구역은 인접한 구역들임 - ; 및
출력 이미지를 생성하는 단계를 포함하고,
상기 출력 이미지를 생성하는 단계는 상기 제1 이미지에 공간적으로 변화하는 블러링을 적용하는 단계를 포함하고,
상기 공간적으로 변화하는 블러링에서의 블러링의 정도는 상기 제1 구역의 내부 영역에서보다 상기 제1 구역과 상기 제2 구역 사이의 전이 구역에서 더 큰, 이미지를 생성하는 방법. - 제14항에 있어서,
상기 전이 구역은 상기 제1 구역의 영역을 포함하는, 이미지를 생성하는 방법. - 제14항에 있어서,
상기 제1 이미지에 대한 렌더링 마스크를 결정하는 단계 - 상기 렌더링 마스크는 상기 제1 이미지의 픽셀들이 상기 제1 구역에 속하는지 여부를 나타냄 - ; 및
상기 렌더링 마스크에 응답하여 상기 제1 이미지에 대한 공간적으로 변화하는 필터 특성을 결정하는 단계를 추가적으로 포함하고,
상기 공간적으로 변화하는 블러링은 상기 공간적으로 변화하는 필터 특성을 채택하는 공간 필터를 상기 제1 이미지에 적용하는 것인, 이미지를 생성하는 방법. - 제16항에 있어서,
상기 공간적으로 변화하는 필터 특성은 상기 공간 필터에 의한 저역 통과 필터링의 정도를 나타내는, 이미지를 생성하는 방법. - 제16항에 있어서, 상기 외삽하는 단계는:
상기 제1 이미지를 다운스케일링하는 것에 응답하여 다운스케일링된 이미지를 생성하는 단계;
상기 다운스케일링된 이미지에 상기 렌더링 마스크에 의해 안내되는 양방향 필터를 적용하는 것에 응답하여 필터링된 다운스케일링된 이미지를 생성하는 단계;
상기 다운스케일링된 이미지를 업스케일링하는 것에 응답하여 필터링된 업스케일링된 이미지를 생성하는 단계; 및
상기 필터링된 업스케일링된 이미지로부터 상기 제2 구역에 대한 픽셀 값들을 생성하는 단계를 포함하는, 이미지를 생성하는 방법. - 제14항에 있어서,
상기 공간적으로 변화하는 블러링은 상기 전이 영역에서 픽셀의 위치로부터 경계까지의 거리에 응답하여 상기 픽셀에 대한 블러링의 정도를 결정하는 것인, 이미지를 생성하는 방법. - 제14항에 있어서,
상기 전이 구역에서의 블러링의 정도에 대해 상기 제2 구역의 적어도 일부에서의 블러링의 정도가 감소되는, 이미지를 생성하는 방법. - 비-일시적 매체로서, 프로세서에 의해 실행될 때, 제14항의 방법을 수행하는 컴퓨터 프로그램이 저장된, 비-일시적 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17178669.2 | 2017-06-29 | ||
EP17178669.2A EP3422711A1 (en) | 2017-06-29 | 2017-06-29 | Apparatus and method for generating an image |
PCT/EP2018/066511 WO2019002061A1 (en) | 2017-06-29 | 2018-06-21 | APPARATUS AND METHOD FOR GENERATING AN IMAGE |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200020919A KR20200020919A (ko) | 2020-02-26 |
KR102535947B1 true KR102535947B1 (ko) | 2023-05-26 |
Family
ID=59258070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207002537A KR102535947B1 (ko) | 2017-06-29 | 2018-06-21 | 이미지를 생성하기 위한 장치 및 방법 |
Country Status (9)
Country | Link |
---|---|
US (1) | US11218690B2 (ko) |
EP (2) | EP3422711A1 (ko) |
JP (1) | JP7075950B2 (ko) |
KR (1) | KR102535947B1 (ko) |
CN (1) | CN111052737B (ko) |
BR (1) | BR112019027867A2 (ko) |
RU (1) | RU2765424C2 (ko) |
TW (1) | TWI815812B (ko) |
WO (1) | WO2019002061A1 (ko) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3644604A1 (en) | 2018-10-23 | 2020-04-29 | Koninklijke Philips N.V. | Image generating apparatus and method therefor |
CN113647098A (zh) * | 2019-03-29 | 2021-11-12 | 索尼集团公司 | 图像处理装置、图像处理方法和程序 |
WO2020248049A1 (en) * | 2019-06-11 | 2020-12-17 | Lei Zhang | Method and system for video scaling resources allocation |
US20230012201A1 (en) * | 2019-11-29 | 2023-01-12 | Nokia Technologies Oy | A Method, An Apparatus and a Computer Program Product for Video Encoding and Video Decoding |
WO2021252532A1 (en) * | 2020-06-09 | 2021-12-16 | Limonox Projects Llc | Lenticular image generation |
US11393432B2 (en) * | 2020-09-24 | 2022-07-19 | Snap Inc. | Rotational image viewer |
CN112837419B (zh) * | 2021-03-04 | 2022-06-24 | 浙江商汤科技开发有限公司 | 点云模型构建方法、装置、设备及存储介质 |
EP4114008A1 (en) | 2021-06-29 | 2023-01-04 | Koninklijke Philips N.V. | Image generation |
EP4246988A1 (en) * | 2022-03-16 | 2023-09-20 | Koninklijke Philips N.V. | Image synthesis |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140118509A1 (en) * | 2011-06-22 | 2014-05-01 | Koninklijke Philips N.V. | Method and apparatus for generating a signal for a display |
US20160163055A1 (en) * | 2014-12-04 | 2016-06-09 | Sony Corporation | Image processing system with aperture change depth estimation and method of operation thereof |
US20170004648A1 (en) * | 2015-06-30 | 2017-01-05 | Ariadne's Thread (Usa), Inc. (Dba Immerex) | Variable resolution virtual reality display system |
WO2017080420A1 (en) * | 2015-11-09 | 2017-05-18 | Versitech Limited | Auxiliary data for artifacts –aware view synthesis |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3593466B2 (ja) * | 1999-01-21 | 2004-11-24 | 日本電信電話株式会社 | 仮想視点画像生成方法およびその装置 |
DE10016074B4 (de) * | 2000-04-01 | 2004-09-30 | Tdv Technologies Corp. | Verfahren und Vorrichtung zur Erzeugung von 3D-Bildern |
JP2004070793A (ja) * | 2002-08-08 | 2004-03-04 | Ge Medical Systems Global Technology Co Llc | 3次元空間フィルタ装置および方法 |
ATE372563T1 (de) | 2003-09-30 | 2007-09-15 | Koninkl Philips Electronics Nv | Bildwiedergabe mit interaktiver bewegungsparallaxe |
US20070126864A1 (en) * | 2005-12-05 | 2007-06-07 | Kiran Bhat | Synthesizing three-dimensional surround visual field |
CN102685533B (zh) * | 2006-06-23 | 2015-03-18 | 图象公司 | 对2d电影进行转换用于立体3d显示的方法和*** |
EP2201784B1 (en) * | 2007-10-11 | 2012-12-12 | Koninklijke Philips Electronics N.V. | Method and device for processing a depth-map |
US9256926B2 (en) | 2008-07-28 | 2016-02-09 | Koninklijke Philips N.V. | Use of inpainting techniques for image correction |
US20100053310A1 (en) | 2008-08-31 | 2010-03-04 | Maxson Brian D | Transforming 3d video content to match viewer position |
RU2453922C2 (ru) * | 2010-02-12 | 2012-06-20 | Георгий Русланович Вяхирев | Способ представления исходной трехмерной сцены по результатам съемки изображений в двумерной проекции (варианты) |
KR101729924B1 (ko) * | 2010-08-03 | 2017-04-26 | 삼성전자주식회사 | 영상 크기 조절에 기반한 외삽 뷰 생성 장치 및 방법 |
KR101666019B1 (ko) * | 2010-08-03 | 2016-10-14 | 삼성전자주식회사 | 외삽 뷰 생성을 위한 장치 및 방법 |
WO2012175196A1 (en) * | 2011-06-20 | 2012-12-27 | Panasonic Corporation | Deblocking control by individual quantization parameters |
JP5931062B2 (ja) * | 2011-06-21 | 2016-06-08 | シャープ株式会社 | 立体画像処理装置、立体画像処理方法、及びプログラム |
WO2013049388A1 (en) * | 2011-09-29 | 2013-04-04 | Dolby Laboratories Licensing Corporation | Representation and coding of multi-view images using tapestry encoding |
JP5962393B2 (ja) * | 2012-09-28 | 2016-08-03 | 株式会社Jvcケンウッド | 画像処理装置、画像処理方法及び画像処理プログラム |
JP2015012429A (ja) * | 2013-06-28 | 2015-01-19 | 株式会社Jvcケンウッド | 画像処理装置、画像処理方法および画像処理プログラム |
GB2533553B (en) * | 2014-12-15 | 2020-09-09 | Sony Interactive Entertainment Inc | Image processing method and apparatus |
US10038887B2 (en) * | 2015-05-27 | 2018-07-31 | Google Llc | Capture and render of panoramic virtual reality content |
CN107925752B (zh) * | 2015-07-31 | 2021-11-12 | 港大科桥有限公司 | 用于图像变形和视图合成的基于多覆盖层可变支持和阶次核的表示 |
US11315328B2 (en) * | 2019-03-18 | 2022-04-26 | Facebook Technologies, Llc | Systems and methods of rendering real world objects using depth information |
-
2017
- 2017-06-29 EP EP17178669.2A patent/EP3422711A1/en not_active Withdrawn
-
2018
- 2018-06-21 WO PCT/EP2018/066511 patent/WO2019002061A1/en unknown
- 2018-06-21 CN CN201880055474.2A patent/CN111052737B/zh active Active
- 2018-06-21 BR BR112019027867-2A patent/BR112019027867A2/pt unknown
- 2018-06-21 EP EP18734505.3A patent/EP3646585A1/en active Pending
- 2018-06-21 RU RU2020103461A patent/RU2765424C2/ru active
- 2018-06-21 KR KR1020207002537A patent/KR102535947B1/ko not_active Application Discontinuation
- 2018-06-21 US US16/623,838 patent/US11218690B2/en active Active
- 2018-06-21 JP JP2019570128A patent/JP7075950B2/ja active Active
- 2018-06-26 TW TW107121797A patent/TWI815812B/zh active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140118509A1 (en) * | 2011-06-22 | 2014-05-01 | Koninklijke Philips N.V. | Method and apparatus for generating a signal for a display |
US20160163055A1 (en) * | 2014-12-04 | 2016-06-09 | Sony Corporation | Image processing system with aperture change depth estimation and method of operation thereof |
US20170004648A1 (en) * | 2015-06-30 | 2017-01-05 | Ariadne's Thread (Usa), Inc. (Dba Immerex) | Variable resolution virtual reality display system |
WO2017080420A1 (en) * | 2015-11-09 | 2017-05-18 | Versitech Limited | Auxiliary data for artifacts –aware view synthesis |
Also Published As
Publication number | Publication date |
---|---|
US11218690B2 (en) | 2022-01-04 |
WO2019002061A1 (en) | 2019-01-03 |
JP2020525902A (ja) | 2020-08-27 |
RU2020103461A3 (ko) | 2021-09-22 |
BR112019027867A2 (pt) | 2020-07-07 |
US20200137375A1 (en) | 2020-04-30 |
KR20200020919A (ko) | 2020-02-26 |
EP3646585A1 (en) | 2020-05-06 |
CN111052737A (zh) | 2020-04-21 |
RU2765424C2 (ru) | 2022-01-31 |
EP3422711A1 (en) | 2019-01-02 |
RU2020103461A (ru) | 2021-07-29 |
JP7075950B2 (ja) | 2022-05-26 |
TWI815812B (zh) | 2023-09-21 |
CN111052737B (zh) | 2022-04-05 |
TW201921922A (zh) | 2019-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102535947B1 (ko) | 이미지를 생성하기 위한 장치 및 방법 | |
KR102531767B1 (ko) | 이미지를 생성하기 위한 장치 및 방법 | |
EP3035681B1 (en) | Image processing method and apparatus | |
WO2019159617A1 (ja) | 画像処理装置、画像処理方法およびプログラム | |
CN113795863A (zh) | 用于图像的深度图的处理 | |
KR20120106829A (ko) | 스테레오스코픽 디지털 영화에서의 최적화된 모션 재생을 위한 방법과 장치 | |
JP6915165B2 (ja) | ビュー画像を生成するための装置および方法 | |
KR20210108370A (ko) | 디스플레이 장치를 위한 이미지 프로세싱 시스템 및 방법 | |
JP7479386B2 (ja) | シーンを表す画像信号 | |
EP3703378A1 (en) | Apparatus and method of generating an image signal | |
WO2017141139A1 (en) | A method for image transformation | |
TWI846808B (zh) | 表示場景之影像信號 | |
KR102659115B1 (ko) | 이미지 생성 장치 및 그를 위한 방법 | |
Goorts et al. | Bringing 3D vision to the web: Acquiring motion parallax using commodity cameras and WebGL | |
KR20170069134A (ko) | 저전력 모드를 위한 영상 처리 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal |