KR20160023866A - 입체 장면들의 인터리빙된 타일형 렌더링 - Google Patents

입체 장면들의 인터리빙된 타일형 렌더링 Download PDF

Info

Publication number
KR20160023866A
KR20160023866A KR1020167002001A KR20167002001A KR20160023866A KR 20160023866 A KR20160023866 A KR 20160023866A KR 1020167002001 A KR1020167002001 A KR 1020167002001A KR 20167002001 A KR20167002001 A KR 20167002001A KR 20160023866 A KR20160023866 A KR 20160023866A
Authority
KR
South Korea
Prior art keywords
image
tile
rendering
data
buffer
Prior art date
Application number
KR1020167002001A
Other languages
English (en)
Inventor
알렉산더 프파페
Original Assignee
마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 filed Critical 마이크로소프트 테크놀로지 라이센싱, 엘엘씨
Publication of KR20160023866A publication Critical patent/KR20160023866A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • H04N13/0275
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/275Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

인터리빙 방식(interleaved manner)으로 입체 이미지(stereoscopic image)들의 타일(tile)들을 렌더링하는 것에 관한 실시예들이 개시된다. 예를 들어, 하나의 개시된 실시예는 제 1 이미지의 제 1 타일을 렌더링하는 단계, 및 제 1 이미지의 제 1 타일의 렌더링 이후에, 제 2 이미지의 제 1 타일을 렌더링하는 단계를 포함하는 방법을 제공한다. 제 2 이미지의 제 1 타일을 렌더링한 이후에, 제 1 이미지의 제 2 타일이 렌더링되고, 제 1 이미지의 제 2 타일이 렌더링된 이후에, 제 2 이미지의 제 2 타일이 렌더링된다. 방법은 제 1 이미지를 제 1 아이 디스플레이(eye display)로 전송하고 제 2 이미지를 제 2 아이 디스플레이로 전송하는 단계를 더 포함한다.

Description

입체 장면들의 인터리빙된 타일형 렌더링{INTERLEAVED TILED RENDERING OF STEREOSCOPIC SCENES}
입체 렌더링에서, 장면의 이미지들은 사용자의 좌안(left eye) 및 우안(right eye)에 대해 개별적으로 렌더링(rendering)되고, 여기서, 좌안 이미지의 시각 및 우안 이미지의 시각은 실제 장면의 좌안 및 우안 뷰(view)들에 유사하게 오프셋된다. 좌안 이미지와 우안 이미지 사이의 오프셋은 렌더링된 장면이 뷰어에게 단일의 3차원 장면으로 보이게 한다.
타일형 렌더러(tiled renderer)를 사용하여 입체 장면(stereoscopic scene)들을 렌더링하는 것에 관한 실시예들이 개시된다. 예를 들어, 하나의 개시된 실시예는 제 1 이미지의 제 1 타일(tile)을 렌더링하는 단계, 및 제 1 이미지의 제 1 타일의 렌더링 이후에, 제 2 이미지의 제 1 타일을 렌더링하는 단계를 포함하는 방법을 제공한다. 제 2 이미지의 제 1 타일을 렌더링한 이후에, 제 1 이미지의 제 2 타일이 렌더링된다. 제 1 이미지의 제 2 타일을 렌더링한 이후에, 제 2 이미지의 제 2 타일이 렌더링된다. 방법은 제 1 이미지를 제 1 아이 디스플레이(eye display)로 전송하고 제 2 이미지를 제 2 아이 디스플레이로 전송하는 단계를 더 포함한다.
본 개요는 상세한 설명에서 더 후술하는 단순화된 형태로 개념들의 선택을 도입하기 위해 제공된다. 본 개요는 특허 청구 대상의 중요한 특징들 또는 본질적인 특징들을 식별하려 의도되지 않고 특허 청구 대상의 범주를 제한하기 위해 사용되는 것으로 의도되지 않는다. 또한, 특허 청구 대상은 본 개시의 임의의 부분에 언급하는 임의의 또는 모든 단점들을 해결하는 구현들로 제한되지 않는다.
도 1은 헤드 마운트형 디스플레이(head-mounted display) 디바이스로 보는 입체적으로 렌더링된 장면의 예를 개략적으로 도시한다.
도 2는 도 1의 입체 장면의 좌우 이미지들의 타일들을 개략적으로 도시한다.
도 3은 본 개시에 따른 메모리 계층의 실시예의 블록도를 도시한다.
도 4는 인터리빙 방식(interleaved manner)으로 입체 장면의 이미지들의 타일들을 렌더링하는 방법의 실시예를 나타내는 흐름도를 도시한다.
도 5a는 입체 장면의 이미지들의 타일들이 비-인터리빙 방식으로 렌더링되는 순서를 개략적으로 도시한다.
도 5b는 도 5a의 렌더링 순서에 따라 연속 타일 쌍들 사이의 에러들의 그래프를 도시한다.
도 6a는 입체 장면의 이미지들의 타일들이 인터리빙 방식으로 렌더링되는 순서를 개략적으로 도시한다.
도 6b는 도 6a의 렌더링 순서에 따라 연속 타일 쌍들 사이의 에러들의 그래프를 도시한다.
도 7은 본 개시에 따른 컴퓨팅 디바이스의 실시예의 블록도를 도시한다.
3차원 그래픽을 렌더링하는 일부 접근방식들에서, 제한된 메모리 대역폭과 같은, 이러한 렌더링을 수행하기 위해 사용된 하드웨어와 연관된 잠재적 문제들을 극복하기 위해 타일형(tiled) 렌더링이 사용된다. 타일형 렌더링은 렌더링될 이미지를 서브이미지들로 세분하고, 전체 이미지가 디스플레이를 위해 렌더링될 때까지지 서브이미지들을 연속적으로 렌더링한다.
입체 렌더링에서, 장면의 좌우 이미지들은 상이한 시각들로부터 개별적으로 렌더링된다. 동시에(또는 충분히 높은 프레임 레이트들로 연속적으로) 볼 때, 좌우 이미지들은 3차원 방식으로 장면을 재생하는 것으로 보인다. 2개의 이미지들이 렌더링됨에 따라, 입체 렌더링은 메모리 대역폭, 시간, 및 전력 소모를 포함하여, 3차원 장면을 렌더링하기 위해 활용된 자원들을 실질적으로 증가시킨다(예를 들어, 2배로 한다).
그에 따라, 입체 이미지들의 타일들을 렌더링하기 위해 사용된 자원들을 감소시키는 것에 관한 실시예들이 여기에 개시된다. 간략하게는, 개시된 실시예들은 제 1 이미지의 제 1 타일을 렌더링한 이후에 그리고 제 1 이미지의 제 2 타일을 렌더링하기 이전에 제 2 이미지의 제 1 타일을 렌더링하는 것에 관한 것이다. 좌안 및 우안 이미지들의 대응하는 타일들이 다수의 유사한 특징들을 가질 수 있기 때문에, 이러한 방식에서의 인터리빙형 렌더링은 제 2 이미지의 제 1 타일을 렌더링하기 위해 제 1 이미지의 제 1 타일과 연관된 데이터의 적어도 일부를 사용함으로써 메모리 액세스 페널티들을 감소시킬 수 있다.
도 1은 사용자(104)가 보는 입체 오브젝트(102)를 포함하는 입체적으로 렌더링된 장면(100)의 예를 개략적으로 도시한다. 입체 장면(100) 및 입체 오브젝트(102)는 사용자(104)가 착용한 헤드 마운트형 디스플레이(HMD)(106)에 의해 이러한 예에서 렌더링되고 디스플레이된다. 여기서, 입체 오브젝트(102)의 2개의 이미지들은 사용자(104)의 좌안 및 우안에 대해 각각 렌더링된다. 이미지들은 3차원 인상(impression)을 생성하기 위해 충분하게 오프셋되는 제 1 시각 및 제 2 시각으로부터 각각 렌더링될 수 있다.
도시된 실시예에서, 입체 이미지는 HMD(106)에 의해 보여진다. HMD(106)는 사용자(104)의 시야를 실질적으로 점유하는 디스플레이를 갖는 가상 현실 디바이스를 나타낼 수 있어서, 사용자(104)는 주위의 물리적 환경의 요소들이 아니라 이러한 HMD에 의해 디스플레이된 콘텐츠를 인지한다. 다른 예에서, HMD(106)는 이미지들이 배경 물리적 환경을 통해 디스플레이될 수 있는 시-쓰루(see-through) 디스플레이를 포함하는 증강 현실 디바이스를 나타낼 수 있다.
HMD(106)가 단지 예시적인 예로서 제공되고 제한하려 의도되지 않는다는 것이 이해될 것이다. 다른 예들에서, 입체 장면(100) 및 입체 오브젝트(102)는 사용자(104)의 머리에 장착되지 않은 디스플레이 디바이스를 통해 제공될 수 있다. 예를 들어, 디스플레이 디바이스는 사용자(104)가 착용한 프레임에서 편광 렌즈들에 의해 개별 좌우 이미지들로 파티션되는 입체 오브젝트(102)의 이미지를 제공할 수 있다. 대안으로는, 디스플레이 디바이스는 비교적 고속으로(예를 들어, 초당 120 프레임들) 입체 오브젝트(102)의 좌우 이미지들을 교호하여 디스플레이할 수 있다. 좌우 이미지들은 디스플레이 출력의 프레임 레이트에 싱크된 셔터 안경을 통해 사용자에게 선택적으로 차단되고 전송될 수 있다.
도 2는 이미지들의 입체 쌍의 좌측 이미지(202) 및 우측 이미지(204)의 예들을 도시한다. 좌우 이미지들(202 및 204)은 사용자의 좌안 및 우안 각각의 시각으로부터 입체 장면(100) 및 입체 오브젝트(102)를 나타낸다. 이러한 예에서, 제 1 및 제 2 시각들은 오프셋 각도만큼 서로 각지게 오프셋되어서, 입체 오브젝트(102)의 더 큰 좌향 부분을 좌측 이미지(202)에서 볼 수 있고, 입체 오브젝트(102)의 더 큰 우향 부분을 우측 이미지(204)에서 볼 수 있다.
도 2는 좌우 이미지들(202 및 204)의 타일형 렌더링을 또한 개략적으로 예시한다. 위에서 언급한 바와 같이, 타일형 렌더러가 일부 디바이스들에 존재할 수 있는 하드웨어 제약들을 경감시키는 것을 도울 수 있다. 예를 들어, 렌더러로부터의 출력이 기록되는 버퍼(예를 들어, 프레임 버퍼)는 장면의 소정의 이미지에 대한 렌더링된 출력 전체를 저장하기에 너무 작을 수 있다. 따라서, 타일형 렌더러는 단일 타일의 렌더링된 출력이 어떤 시간에서도 버퍼를 점유하도록 렌더링될 장면의 이미지를 타일들로 세분하기 위해 사용될 수 있다. 버퍼에 기록되면, 타일에 대한 렌더링된 출력은 다른 타일을 렌더링하기 이전에 디스플레이 디바이스에 전송될 수 있다. 대안으로는, 소정의 타일의 렌더링된 출력은 다른 타일이 렌더링되기 이전에 메모리의 다른 위치(예를 들어, 다른 버퍼)에 기록될 수 있다. 일부 구현들에서, 타일형 렌더러의 사용은, 각 타일이 독립적으로 렌더링될 수 있기 때문에, 렌더링 병렬처리(parallelism)를 촉진시킬 수 있다.
도시된 예에서, 타일형 렌더러는 좌우 이미지들(202 및 204)을 4개의 동일한 직사각형 타일들로 세분하였다. 그러나, 좌우 이미지들(202 및 204)이 임의의 적합한 형상의 가상으로 임의의 수의 타일들로 세분될 수 있다는 것이 이해될 것이다.
좌측 이미지(202)는 시계 방향으로 연속적으로 지정된 4개의 타일들(L1, L2, L3, 및 L4)을 포함한다. 유사하게, 우측 이미지는 시계 방향으로 연속적으로 지정된 4개의 타일들(R1, R2, R3, 및 R4)을 포함한다. 나타낸 바와 같이, 대응하는 이미지에 대한 4개의 타일들의 각 세트(예를 들어, 좌측 이미지(202)에 대해 L1, L2, L3, 및 L4)는 입체 장면(100) 및 입체 오브젝트(102)의 실질적으로 상이한 엘리먼트들을 포함한다. 반대로, 좌우 이미지들(202 및 204) 사이의 공간적으로 대응하는 타일 쌍들(예를 들어, L1과 R1, L2와 R2, L3와 R3, 및 L4와 R4)은, 이들이 장면 및 오브젝트의 실질적으로 유사한 영역들에 대응하지만, 상술한 바와 같이, 각도 오프셋을 갖기 때문에, 입체 장면(100) 및 입체 오브젝트(102)의 실질적으로 유사한 엘리먼트들을 포함한다. 이러한 타일 쌍들을 실질적으로 공간적 코히어런트라고 할 수 있다. 이러한 타일 쌍들의 공간적 코히어런트는 도 4, 도 6a, 및 도 6b를 참조하여 더 상세히 후술하는 바와 같이 좌우 이미지들(202 및 204)을 렌더링하는 것과 연관된 시간, 전력, 및 메모리 액세스를 감소시키기 위해 레버리징(leverage)될 수 있다.
도 3은 좌우 이미지들(202 및 204)을 렌더링하기 위해 타일-기반 렌더링 파이프라인에서 활용될 수 있는 예시적인 메모리 계층(300)을 도시한다. 계층(300)은 메인 메모리(302)를 포함한다. 메인 메모리(302)는 가장 높은 용량을 가질 수 있지만 또한 가장 높은 레이턴시를 가질 수 있고, 여기서, "레이턴시"는 데이터가 메모리에서 그 데이터에 대한 요청에 따라 이용가능한 시간을 지칭한다. 좌우 이미지들(202 및 204)이 렌더링되는 렌더링 파이프라인의 실행 이전에 또는 그 실행 동안, 입체 장면(100) 및 입체 오브젝트(102)를 렌더링하기 위해 사용된 데이터가 메인 메모리(302)에 기록될 수 있다. 이러한 장면 데이터는 예를 들어, 렌더링 엔진 및 다른 애플리케이션 코드, 원시 데이터, 텍스처들 등을 포함할 수 있다.
메모리 계층(300)은 파선으로 도 3에 표현된 버스를 통해 메인 메모리(302)에 동작적으로 결합된 커맨드 버퍼(304)를 더 포함한다. 이러한 예에서, 커맨드 버퍼(304)는 메모리의 더 작은 개별 영역을 점유하고, 메인 메모리(302)에 비하여 감소된 레이턴시를 가질 수 있다. 따라서, 커맨드 버퍼(304)에서의 데이터에 대한 요청은 더 짧은 시간에 충족될 수 있다. 좌우 이미지들(202 및 204) 중 하나(또는 일부 실시예들에서는, 양자 모두)에 대한 데이터는 메인 메모리(302)로부터 커맨드 버퍼(304)에 기록될 수 있어서, 데이터는 신속처리 방식으로 렌더링 파이프라인에 의해 액세스될 수 있다. 이러한 데이터는 쉐이더들(shaders), 상수들, 텍스처들, 버텍스 버퍼, 인덱스 버퍼, 및 이미지(예를 들어, 좌측 이미지(202)가 렌더링되는 시각에 관한 뷰 변환 매트릭스 또는 다른 데이터 구조 인코딩 정보를 포함하지만 이에 한정되지 않는, 이미지를 렌더링하기 위해 요구되는 커맨드 프로그램들, 연관된 파라미터들, 및 임의의 다른 자원들을 포함할 수 있다.
메모리 계층(304)은 파선으로 표현된 버스를 통해 커맨드 버퍼(304)에 동작적으로 결합된 타일 버퍼(306)를 또한 포함한다. 타일 버퍼(306)는 메모리의 더 작은 개별 영역을 점유할 수 있고, 커맨드 버퍼(304)에 비하여 감소된 레이턴시를 가질 수 있다. 특정한 타일(예를 들어, L1)에 대한 데이터는 커맨드 버퍼(304)로부터 타일 버퍼(306)에 기록될 수 있어서 특정한 타일에 대한 데이터가 더 신속처리 방식으로 렌더링 파이프라인 및 타일형 렌더러에 의해 액세스될 수 있다. 타일 버퍼(306)는 소정의 타일 및 소정의 타일 사이즈에 대한 타일 데이터 전체를 저장하도록 구성될 수 있다.
일부 실시예들에서, 커맨드 버퍼(304) 및 타일 버퍼(306)는 버퍼들에 할당된 제 1 캐시(cache) 및 제 2 캐시 각각의 영역들을 점유한다. 제 1 캐시는 제 1 레이턴시를 가질 수 있는 반면에, 제 2 캐시는 제 1 레이턴시 보다 작을 수 있는 제 2 레이턴시를 가질 수 있다. 이러한 방식으로, 타일 데이터에 대한 메모리 페치들이 최적화될 수 있고 타일 데이터 페치들로부터 발생하는 레이턴시 페널티들이 감소된다.
메인 메모리(302), 커맨드 버퍼(304), 및 타일 버퍼(306)가 로직 디바이스에 동작으로 결합될 수 있는 개별의 물리적 메모리 모듈에 각각 대응할 수 있다는 것이 이해될 것이다. 대안으로는, 메인 메모리(302), 커맨드 버퍼(304), 및 타일 버퍼(306) 중 하나 이상이 단일의 물리적 메모리 모듈에 대응할 수 있고, 시스템-온-칩(SoC) 구성에서 로직 디바이스가 더 내장될 수 있다. 더욱이, 메인 메모리(302), 커맨드 버퍼(304), 및 타일 버퍼(306) 중에서 판독 및 기록을 촉진시키는 버스들은 본질적으로 예시적이다. 다른 실시예들에서, 예를 들어, 타일 버퍼(306)는 메인 메모리(302)에 동작적으로 그리고 직접 결합될 수 있다.
도 4는 인터리빙 방식으로 입체 장면의 이미지들의 타일들을 렌더링하는 방법(400)의 실시예를 나타내는 흐름도를 도시한다. 방법(400)은 입체 장면(100), 좌우 이미지들(202 및 204) 및 그들의 구성 타일들, 및 메모리 계층(300)을 참조하여 설명된다. 그러나, 방법이 커맨드 장면이 2개 이상의 시각들로부터 렌더링되는 임의의 다른 타일형 렌더링 시나리오 및 하드웨어 환경에서 사용될 수 있다는 것이 이해될 것이다. 적합한 하드웨어의 예들이 도 7을 참조하여 더욱 상세히 후술된다.
402에서, 방법(400)은 입체 장면(100)에 대한 장면 데이터를 메인 메모리(302)로부터 커맨드 버퍼(304)에 기록하는 것을 포함한다. 상술한 바와 같이, 장면 데이터는 오브젝트의 실질적인 구형 형상을 모델링하는 시각들, 오브젝트의 표면 외관에 영향을 미치는 텍스처들 등과 같은, 입체 장면(100) 및 입체 오브젝트(102)에 대한 복수의 엘리먼트들을 포함할 수 있다. 402 이전에, 이러한 장면 데이터는, 렌더링 파이프라인 및 다른 애플리케이션 코드와 같은 다른 데이터에 따라, 메인 메모리(302)에 기록될 수 있어서, 커맨드 및 타일 버퍼들(304 및 306)이 메인 메모리로부터 장면 데이터를 판독할 수 있다는 것이 이해될 것이다.
404에서, 방법(400)은 커맨드 버퍼에 기록된 장면 데이터로부터 제 1 이미지에 대한 제 1 타일 데이터를 추출하는 것을 포함한다. 예를 들어, 좌측 이미지(202)의 타일(L1)과 연관된 데이터가 장면 데이터로부터 추출될 수 있다. 타일 데이터는 좌측 이미지의 다른 타일들이 아니라 제 1 타일에 대응하는 시각들, 텍스처들 등을 포함하는 장면 데이터의 서브세트일 수 있다. 제 1 타일 데이터의 추출은 제 1 타일에 특정된 장면 데이터를 결정하기 위해 클립핑(clipping), 시저(scissor), 또는 오클루션 컬링(occlusion culling) 동작과 같은 액션들을 포함할 수 있다. 방법(400)은 406에서, 제 1 이미지에 대한 제 1 타일 데이터를 터일 버퍼(306)에 기록하는 것을 더 포함한다.
408에서, 제 1 이미지(예를 들어, 좌측 이미지(202)의 제 1 타일(예를 들어, L1)이 렌더링된다. 상술한 바와 같이, 렌더링은 관측가능한 이미지(예를 들어, 사용자(104)에 의해 관측된 입체 장면(100))을 생성하기 위해 디스플레이 디바이스(예를 들어, HMD(106))로 전송될 수 있는 데이터로 제 1 타일 데이터를 일괄적으로 트랜슬레이팅(translate)하는 변환(transformation), 텍스처링(texturing), 셰이딩(shading) 등을 포함할 수 있다.
다음으로, 410에서, 제 2 이미지(예를 들어, 우측 이미지(204))의 제 1 타일(예를 들어, R1)이 제 1 이미지 타일에 대한 타일 버퍼(306)에 이전에 기록되고 그 타일 버퍼(306)를 현재 점유하는 타일 데이터에 기초하여 렌더링된다. 여기서, 타일 버퍼(306)에 이미 기록된 L1의 상당한 부분이 R1을 렌더링하기 위해 재사용될 수 있기 때문에, 공간적으로 대응하는 타일 쌍(L1-R1) 사이의 잠재적으로 실질적인 공간 코히어런스가 활용된다. 이러한 방식으로, 입체 장면의 2개의 다른 이미지 타일들을 렌더링하는데 있어서 2배가 될 수 있는 시간, 프로세싱 자원들, 전력 등이 감소될 수 있다. 더욱 특히, 제 1 이미지(예를 들어, 좌측 이미지(202))의 공간적으로 대응하는 타일(예를 들어, L1)을 렌더링한 이후에 제 2 이미지(예를 들어, 우측 이미지(204))의 타일(예를 들어, R1)을 렌더링하는 것은, 제 2 이미지의 제 1 타일(예를 들어, R1)을 렌더링하기 이전에 제 1 이미지의 모든 타일들(예를 들어, L1-L4)을 렌더링하는 것에 비하여, 커맨드 버퍼(304)에 대한 감소된 수의 메모리 페치들을 발생시킬 수 있다.
프로세스(410)를 수행하기 이전에, 커맨드 버퍼(304)에 상주할 수 있는 상술한 뷰 변환 매트릭스가 제 2 이미지(예를 들어, 우측 이미지(204))가 렌더링되는 시각을 재결정하기 위해 활용될 수 있다는 것이 이해될 것이다.
일부 경우들에서, 제 2 이미지의 제 1 타일을 렌더링하기 위해 사용되는 일부 데이터는 (예를 들어, 입체 이미지들의 약간 상이한 시각들로 인해) 타일 버퍼에 있지 않을 수 있다. 따라서, 타일 버퍼에서의 타일 데이터를 사용하여 제 2 이미지의 제 1 타일의 적어도 일부를 렌더링한 이후에 그리고 제 1 이미지의 제 2 타일을 렌더링하기 이전에, 제 2 이미지의 제 1 타일의 나머지 부분은 타일 버퍼 미스가 제 2 이미지의 제 1 타일의 렌더링 동안 발생하면 커맨드 버퍼에서의 타일 데이터에 기초하여 렌더링될 수 있다. 이것은, 타일 버퍼(306)에서의 타일 데이터에 대한 미스가 존재하는 경우에 제 2 이미지(예를 들어, 우측 이미지(204))에 대한 타일 데이터(예를 들어, R1에 대한 데이터)가 커맨드 버퍼(304)로부터 획득되는 412에 예시되어 있다. 타일 버퍼(306)가 캐시를 점유하는 실시예들에서, 타일 버퍼 미스는 캐시 미스에 대응한다. 일부 시나리오들에서, 406에서 타일 버퍼(306)에 이미 기록된 타일 데이터가 이러한 타일을 완전히 렌더링하기에 충분하기 때문에, 커맨드 버퍼(304)에 대한 액세스가 생략될 수 있다.
414에서, 방법(400)은 아직 렌더링되어야 할 제 1 및 제 2 이미지들에 대한 추가의 타일들이 존재하는지를 결정하는 것을 포함한다. 아직 렌더링되어야 할 제 1 및 제 이미지들에 대한 추가의 타일들이 존재하지 않으면, 방법(400)은 418로 진행하고, 여기서, 제 1 이미지가 제 1 아이 디스플레이로 전송되고, 제 2 이미지가 제 2 아이 디스플레이로 전송된다.
다른 한편으로, 아직 렌더링되어야 할 제 1 및 제 2 이미지들에 대한 추가의 타일들이 존재하면, 방법(400)은 416으로 진행하고, 여기서, 제 1 이미지(예를 들어, 좌측 이미지(202))에 대한 다음 타일(예를 들어, L2)에 대한 타일 데이터가 404에서와 같이 커맨드 버퍼(304)에서의 장면 데이터로부터 추출된다. 제 1 이미지에 대한 다음 타일에 대한 데이터 추출에 후속하여, 다음 타일이 408에서와 같이 렌더링된다. 따라서, 방법(400)은 제 1 및 제 2 이미지들의 모든 타일들이 렌더링될 때까지 반복적으로 진행하고, 이때, 제 1 및 제 2 이미지들은 제 1 아이 디스플레이 및 제 2 아이 디스플레이에 각각 전송된다. 418 및 420에서 각각의 아이 디스플레이들에 전송된 제 1 및 제 2 이미지들은 상술한 바와 같이 동시에 또는 연속적으로 수행될 수 있다는 것이 이해될 것이다. 또한, 제 1 및 제 2 아이 디스플레이들은 개별 디스플레이 디바이스들일 수 있거나 연속 디스플레이 디바이스를 형성할 수 있고, HMD(106)와 같은 웨어러블 디스플레이 디바이스 또는 컴퓨터 디스플레이(예를 들어, 모니터, 태블릿 스크린, 스마트폰 스크린, 랩탑 스크린 등)와 같은 넌-웨어러블 디스플레이 디바이스의 일부일 수 있다.
방법(400)을 따름으로써 달성될 수 있는 컴퓨팅 자원들의 잠재적 절약이 도 5a 및 도 5b, 및 도 6a 및 도 6b를 통해 설명되고, 여기서, 도 5a 및 도 5b는 입체 이미지들의 비인터리링된 타일형 렌더링을 도시하고, 도 6a 및 도 6b는 방법(400)에 따른 입체 이미지들의 타일형 렌더링의 예를 도시한다.
먼저, 도 5a 및 도 5b에 관하여, 좌측 이미지(202)에 대한 타일 세트가 순서(L1, L2, L3, L4)로 연속적으로 렌더링된다. 좌측 이미지(202)에 대한 타일 세트가 렌더링된 이후에, 우측 이미지(204)에 대한 전체 타일 세트가 순서(R1, R2, R3, R4)로 연속적으로 렌더링된다. 이러한 접근방식에서, 2개의 이미지들의 공간적으로 대응하는 타일 쌍들 사이의 공간적 코히어런시는 레버리징되지 않는다. 이와 같이, 데이터의 실질적인 전체 세트가 각 렌더링된 타일에 대한 타일 버퍼에 기록된다. 따라서, 이러한 접근방식에서 장면(예를 들어, 장면(100))의 2개의 이미지들의 입체 렌더링은 동일한 장면의 단일 이미지의 렌더링에 비하여 컴퓨팅 자원들을 대략 2배 활용할 수 있다.
도 5b는 타일들이 도 5a에 표현된 접근방식에 기초하여 렌더링되는 순서에 따라 좌우 이미지들(202 및 204)의 각 연속 타일 쌍 사이에서 컴퓨팅된 이미지 에러의 그래프(550)를 도시한다. 예시한 바와 같이, 각 연속 타일 쌍 사이의 에러는 비교적 높은 에러 값 근처에서 변동할 수 있고, 이것은 연속 타일 쌍들 사이의 이미지 컨텐츠에서 상당한 차이들을 나타낸다. 에러 그래프(550)는 예시적인 예로서 제공되고, 도 5a의 렌더링 접근방식을 사용하여 생성된 유사한 에러 그래프들이 렌더링되는 타일들의 시각 컨텐츠에 따라 연속 타일들 사이의 더 크거나 더 작은 에러들을 디스플레이할 수 있다는 것이 이해될 것이다.
에러 그래프(550)는 타일들의 각 인접 쌍의 제 2 타일을 렌더링할 때 커맨드 버퍼(304)로부터 타일 버퍼(306)로 카피된 데이터의 상대적 양을 또한 나타낼 수 있고, 예를 들어, L4, R1 쌍에 대응하는 에러 값은 타일(L4)을 렌더링한 이후에 타일(R1)을 렌더링할 때 타일 버퍼에 카피된 데이터의 양을 나타낼 수 있다. 일부 경우들에서는 각 타일 쌍의 제 2 타일의 일부가 제 1 타일을 렌더링하기 위해 이전에 기록된 타일 버퍼(306)에 상주하는 데이터에 기초하여 렌더링될 수 있지만(예를 들어, 캐시 히트에 대응), 이러한 예에서는, 제 2 타일을 렌더링하기 위해 요구된 대부분의 타일 데이터는 커맨드 버퍼(304)로부터 타일 버퍼(306)로 카피된다(예를 들어, 캐시 미스에 대응).
다음으로, 도 6a는 도 2의 좌우 이미지들(202 및 204)의 타일들이 도 4의 방법(400)에 따라 렌더링되는 순서를 도시한다. 여기서, 타일들은 다음의 방식: L1, R1, L2, R2, L3, R3, L4, 및 R4으로 공간 코히어런스에 기초하여 인터리빙 방식으로 렌더링된다. 이러한 순서로 좌우 이미지들(202 및 204)의 타일들을 렌더링함으로써, 공간적으로 대응하는 타일 쌍의 제 1 타일을 렌더링하기 위해 버터(306)(도 3)에 이미 기록된 타일 데이터가 타일 쌍의 제 2 타일을 렌더링할 때 레버리징된다. 따라서, 입체 장면의 이미지들을 렌더링하는 동안 발생하는 계산적인 비용(예를 들어, 시간, 전력 등)이 상당히 감소될 수 있고, 일부 경우들에서는 잠재적으로 2배 가까이 감소될 수 있다.
도 6b는 타일들이 도 4 및 도 6a의 접근방식에 기초하여 렌더링되는 순서에 따라 인접 타일들 사이에서 컴퓨팅된 이미지 에러를 예시하는 그래프(650)를 도시한다. 인터리빙형 렌더링으로 인해, 에러는 더 큰 상대적 에러와 더 작은 상대적 에러(서로에 대하여) 사이에서 교호하고, 타일들(L1 및 R1) 사이의 공간적 대응으로 인해 더 적은 에러에서 시작한다.
그래프(650)는 각 쌍의 제 2 타일을 렌더링할 때 커맨드 버퍼(304)로부터 타일 버퍼(306)(도 3)로 카피된 데이터의 양을 또한 나타낼 수 있다. 예를 들어, 타일(L1)을 렌더링하는 타일 버퍼에 이전에 카피된 타일 데이터의 상당한 부분이 R1을 렌더링하기 위해 재사용되기 때문에, 타일(L1)의 렌더링에 후속하여 타일(R1)을 렌더링할 때 상대적으로 낮은 양의 데이터가 타일 버퍼(306)에 카피된다. 반대로, 공간적으로 대응하지 않는 타일 쌍들을 렌더링할 때, 예를 들어, 타일(R1)을 렌더링한 이후에 타일(L2)을 렌더링할 때, 타일 버퍼(306)에 이전에 기록되고 타일 버퍼(306)에 상주하는 상대적으로 낮은 양의 데이터가 레버리징될 수 있다.
따라서, 개시된 실시예들은 입체 이미지들의 타일형 렌더링을 수행할 때 컴퓨팅 자원들의 효율적인 사용을 허용할 수 있다. 일부 실시예들에서, 여기에 설명한 방법들 및 프로세스들은 하나 이상의 컴퓨팅 디바이스들의 컴퓨팅 시스템에 관련될 수 있다. 특히, 이러한 방법들 및 프로세스들은 컴퓨터-애플리케이션 프로그램 또는 서비스, 애플리케이션-프로그래밍 인터페이스(API), 라이브러리, 및/또는 다른 컴퓨터-프로그램 제품으로서 구현될 수 있다.
도 7은 상술한 방법들 및 프로세스들 중 하나 이상을 시행할 수 있는 컴퓨팅 시스템(700)의 비제한적인 실시예를 개략적으로 도시한다. 컴퓨팅 시스템(700)이 단순화된 형태로 도시되어 있다. 컴퓨팅 시스템(700)은 하나 이상의 개인 컴퓨터들, 서버 컴퓨터들, 태블릿 컴퓨터들, 홈-엔터테인먼트 컴퓨터들, 네트워크 컴퓨팅 디바이스들, 게임 디바이스들, 모바일 컴퓨팅 디바이스들, 모바일 통신 디바이스들(예를 들어, 스마트폰), 및/또는 다른 컴퓨팅 디바이스들의 형태를 취할 수 있다.
컴퓨팅 시스템(700)은 로직 서브시스템(702) 및 저장 서브시스템(704)을 포함한다. 컴퓨팅 시스템(700)은 디스플레이 서브시스템(706), 입력 서브시스템(708), 통신 서브시스템(710), 및/또는 도 7에 도시되지 않은 다른 컴포넌트들을 옵션으로 포함할 수 있다.
로직 서브시스템(702)은 명령어들을 실행하도록 구성된 하나 이상의 물리적 디바이스들을 포함한다. 예를 들어, 로직 서브시스템은 하나 이상의 애플리케이션들, 서비스들, 프로그램들, 루틴들, 라이브러리들, 오브젝트들, 컴포넌트들, 데이터 구조들, 또는 다른 논리 구성들의 일부인 명령어들을 실행하도록 구성될 수 있다. 이러한 명령어들은 작업을 수행하고, 데이터 타입을 구현하고, 하나 이상의 컴포넌트들의 상태를 변환하고, 기술적 효과를 달성하거나, 그렇지 않으면 원하는 결과에 도달하기 위해 구현될 수 있다.
로직 서브시스템은 소프트웨어 명령어들을 실행하도록 구성된 하나 이상의 프로세서들을 포함할 수 있다. 추가로 또는 대안으로, 로직 서브시스템은 하드웨어 또는 펌웨어 명령어들을 실행하도록 구성된 하나 이상의 하드웨어 또는 펌웨어 로직 서브시스템을 포함할 수 있다. 로직 서브시스템의 프로세서들은 단일-코어 또는 멀티-코어일 수 있고, 그 프로세서에서 실행된 명령어들은 순차, 병렬, 및/또는 분산 프로세싱을 위해 구성될 수 있다. 로직 서브시스템의 개별 컴포넌트들은 옵션으로는, 원격으로 위치되고/되거나 통합 프로세싱을 위해 구성될 수 있는 2개 이상의 별개의 디바이스들 사이에 분산될 수 있다. 로직 서브시스템의 양태들은 클라우드-컴퓨팅 구성에서 구성된 원격으로 액세스가능한 네트워킹된 컴퓨팅 디바이스들에 의해 가상화될 수 있고 실행될 수 있다.
저장 서브시스템(704)은 여기에 설명한 방법들 및 프로세스들을 구현하기 위해 로직 서브시스템에 의해 실행가능한 명령어들을 홀딩하도록 구성된 컴퓨터-판독가능 저장 매체를 포함하는 하나 이상의 물리적 디바이스들을 포함한다. 이러한 방법들 및 프로세스들이 구현될 때, 저장 서브시스템(704)의 상태는 예를 들어, 상이한 데이터를 홀딩하기 위해 변환될 수 있다.
저장 서브시스템(704)은 착탈식 및/또는 기본제공(built-in) 디바이스를 포함할 수 있다. 저장 서브시스템(704)은 특히, 광학 메모리(예를 들어, CD, DVD, HD-DVD, 블루-레이 디스크 등), 도 3의 메모리 계층(300)을 포함하는 반도체 메모리(예를 들어, RAM, EPROM, EEPROM 등), 하나 이상의 캐시들(예를 들어, 레벨 1 캐시, 레벨 2 캐시 등), 및/또는 자기 메모리(예를 들어, 하드-디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, MRAM 등)를 포함할 수 있다. 저장 서브시스템(704)은 휘발성, 비휘발성, 동적, 정적, 판독/기록, 판독-전용, 랜덤-액세스, 순차적-액세스, 위치-주소지정가능(addressable), 파일-주소지정가능, 및/또는 컨텐츠-주소지정가능 디바이스들을 포함할 수 있다.
저장 서브시스템(704)이 하나 이상의 물리적 디바이스들을 포함하고 그 자체로는 신호들을 전파하는 것을 배제한다는 것이 이해될 것이다. 그러나, 여기에 설명한 명령어들의 양태들은 대안으로는, 컴퓨터-판독가능 저장 매체에 저장되는 것과는 반대로, 통신 매체(예를 들어, 전자기 신호, 광학 신호 등)에 의해 전파될 수 있다.
로직 서브시스템(702) 및 저장 서브시스템(704)의 양태들은 하나 이상의 하드웨어-로직 컴포넌트들로 함께 집적될 수 있다. 이러한 하드웨어-로직 컴포넌트들은 예를 들어, 필드-프로그램가능한 게이트 어레이들(FPGAs), 프로그램 및 응용 주문형 집적 회로들(PASIC/ASICs), 프로그램 및 응용 주문형 표준 제품(PSSP/ASSPs), 시스템-온-칩(SOC), 및 콤플렉스 프로그램가능한 로직 디바이스들(CPLDs)을 포함할 수 있다.
용어 "프로그램"은 특정한 기능을 수행하기 위해 구현된 컴퓨팅 시스템(700)의 양태를 설명하기 위해 사용될 수 있다. 일부 경우들에서, 프로그램은 저장 서브시스템(704)에 의해 홀딩된 명령어들을 실행하는 로직 서브시스템(702)을 통해 예시될 수 있다. 상이한 프로그램들이 동일한 애플리케이션, 서비스, 코드 블록, 오브젝트, 라이브러리, 루틴, API, 함수 등으로부터 예시될 수 있다는 것이 이해될 것이다. 유사하게, 동일한 프로그램인 상이한 애플리케이션들, 서비스들, 코드 블록들, 오브젝트들, 루틴들, API들, 함수들 등에 의해 예시될 수 있다. 용어 "프로그램"은 실행가능한 파일들, 데이터 파일들, 라이브러리들, 드라이버들, 스크립트들, 데이터베이스 기록들 등 각각 또는 이들의 그룹을 포함할 수 있다.
디스플레이 서브시스템(706)은 저장 서브시스템(704)에 의해 홀딩된 데이터의 시각적 표현을 제공하기 위해 사용될 수 있다. 여기에 설명된 방법들 및 프로세스들이 저장 머신에 의해 홀딩된 데이터를 변경시키고, 따라서, 저장 머신의 상태를 변환시키기 때문에, 디스플레이 서브시스템(706)의 상태는 원본 데이터에서의 변경들을 시각적으로 나타내기 위해 유사하게 변환될 수 있다. 디스플레이 서브시스템(706)은 도 1의 HMD(106)를 포함하지만 이에 제한되지 않는, 가상의 임의의 타입의 기술을 활용하는 하나 이상의 디스플레이 디바이스들을 포함할 수 있다. 이러한 디스플레이 디바이스들은 공유된 인클로저(enclosure)에서 로직 서브시스템(702) 및/또는 저장 서브시스템(704)과 조합될 수 있거나, 이러한 디스플레이 디바이스들은 주변 디스플레이 디바이스들일 수 있다.
포함되는 경우에, 입력 서브시스템(708)은 키보드, 마우스, 터치 스크린, 또는 게임 제어기와 같은 하나 이상의 사용자 입력 디바이스들을 포함할 수 있거나 그와 인터페이스할 수 있다. 일부 실시예들에서, 입력 서브시스템은 선택된 내추럴 사용자 입력(NUI) 구성부품을 포함할 수 있거나 그와 인터페이스할 수 있다. 이러한 구성부품은 집적될 수 있거나 주변기기일 수 있고, 입력 액션들의 변환 및/또는 프로세싱이 온 또는 오프-보드 처리될 수 있다. 예시적인 NUI 구성부품은 스피치 및/또는 음성 인식용 마이크로폰; 머신 비전 및/또는 제스처 인식용 적외선, 컬러, 입체, 및/또는 깊이 카메라; 모션 검출 및/또는 의도 인식용 헤드 트랙커, 아이 트랙커, 가속도계, 및/또는 자이로스코프 뿐만 아니라 뇌 활동 평가용 전기장 감지 구성부품을 포함할 수 있다.
포함되는 경우에, 통신 서브시스템(710)은 컴퓨팅 시스템(700)을 하나 이상의 다른 컴퓨팅 디바이스들과 통신가능하게 결합시키도록 구성될 수 있다. 통신 서브시스템(710)은 하나 이상의 상이한 통신 프로토콜들과 호환가능한 유선 및/또는 무선 통신 디바이스들을 포함할 수 있다. 비제한적인 예로서, 통신 서브시스템은 무선 전화 네트워크, 또는 유선 또는 무선 로컬 또는 광역 네트워크를 통한 통신을 위해 구성될 수 있다. 일부 실시예들에서, 통신 서브시스템은 컴퓨팅 시스템(700)이 인터넷과 같은 네트워크를 통해 다른 디바이스들로 및/또는 다른 디바이스들로부터 메시지들을 전송하고/하거나 수신하게 할 수 있다.
여기에 설명한 구성들 및/또는 접근방식들은 본질적으로 예시적이고, 이들 특정한 실시예들 또는 예들은 다수의 변형들이 가능하기 때문에 제한하는 관점으로 고려되지 않는다는 것이 이해될 것이다. 여기에 설명한 특정한 루틴들 또는 방법들은 임의의 수의 프로세싱 전략들 중 하나 이상을 나타낼 수 있다. 이와 같이, 예시하고/하거나 설명한 다양한 동작들은 예시하고/하거나 설명한 시퀀스로, 다른 시퀀스들로, 병렬로 수행될 수 있거나 생략될 수 있다. 유사하게, 상술한 프로세스들의 순서는 변경될 수 있다.
본 개시의 청구 대상은 여기에 개시된 다양한 프로세스들, 시스템들 및 구성들, 및 다른 특징들, 기능들, 동작들, 및/또는 특성들의 모든 신규한 그리고 뻔하지 않은 조합들 및 서브조합들 뿐만 아니라 이들의 임의의 그리고 모든 등가물들을 포함한다.

Claims (10)

  1. 컴퓨팅 디바이스상에서, 타일형 렌더러(tiled renderer)를 사용하여 입체 이미지(stereoscopic image)를 생성하기 위한 방법에 있어서,
    상기 입체 이미지는 제 1 시각(perspective)으로부터의 장면의 제 1 이미지 및 제 2 시각으로부터의 상기 장면의 제 2 이미지를 포함하며, 상기 방법은,
    상기 제 1 이미지의 제 1 타일(tile)을 렌더링하는 단계;
    상기 제 1 이미지의 상기 제 1 타일을 렌더링한 이후에, 상기 제 2 이미지의 제 1 타일을 렌더링하는 단계;
    상기 제 2 이미지의 상기 제 1 타일을 렌더링한 이후에, 상기 제 1 이미지의 제 2 타일을 렌더링하는 단계;
    상기 제 1 이미지의 상기 제 2 타일을 렌더링한 이후에, 상기 제 2 이미지의 제 2 타일을 렌더링하는 단계; 및
    상기 제 1 이미지를 제 1 아이 디스플레이(eye display)로 전송하고, 상기 제 2 이미지를 제 2 아이 디스플레이로 전송하는 단계
    를 포함하는, 입체 이미지를 생성하기 위한 방법.
  2. 제 1 항에 있어서,
    상기 제 1 이미지의 상기 제 1 타일을 렌더링하기 이전에, 상기 제 1 이미지 및 상기 제 2 이미지와 연관된 데이터를 메모리 캐시에서의 커맨드 버퍼에 카피하는 단계를 더 포함하는, 입체 이미지를 생성하기 위한 방법.
  3. 제 2 항에 있어서,
    상기 제 2 이미지의 제 1 타일을 렌더링하는 단계는, 상기 제 2 이미지의 상기 제 1 타일을 렌더링하기 이전에 상기 제 1 이미지의 모든 타일들을 렌더링하는 것에 비하여 상기 커맨드 버퍼에 대한 감소된 수의 메모리 페치들을 발생시키는 것인, 입체 이미지를 생성하기 위한 방법.
  4. 제 2 항에 있어서,
    상기 제 1 이미지의 상기 제 1 타일을 렌더링하기 이전에 그리고 상기 데이터를 상기 커맨드 버퍼에 카피한 이후에, 상기 제 1 이미지의 상기 제 1 타일과 연관된 데이터를 상기 커맨드 버퍼로부터 타일 버퍼로 카피하는 단계를 더 포함하는, 입체 이미지를 생성하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 커맨드 버퍼는 제 1 레이턴시를 갖고, 상기 타일 버퍼는 제 2 레이턴시를 가지며, 상기 제 2 레이턴시는 상기 제 1 레이턴시 미만인 것인, 입체 이미지를 생성하기 위한 방법.
  6. 제 4 항에 있어서,
    상기 제 2 이미지의 상기 제 1 타일의 나머지 부분은 타일 버퍼 미스(miss)가 발생한 경우에 상기 커맨드 버퍼에서의 데이터에 기초하여 렌더링되는 것인, 입체 이미지를 생성하기 위한 방법.
  7. 제 2 항에 있어서,
    상기 제 2 이미지의 상기 제 1 타일은 상기 제 1 이미지의 상기 제 1 타일과 연관된 데이터에 적어도 부분적으로 기초하여 렌더링되는 것인, 입체 이미지를 생성하기 위한 방법.
  8. 제 1 항에 있어서,
    연속하는 타일들의 쌍들 사이에서 계산된 에러가 더 큰 에러(greater error)와 더 작은 에러(lesser error) 사이에서 교호(alternate)하는 것인, 입체 이미지를 생성하기 위한 방법.
  9. 제 1 항에 있어서,
    상기 제 1 시각은 상기 제 2 시각과 적어도 부분적으로 오버랩하는 것인, 입체 이미지를 생성하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 제 1 이미지의 상기 제 1 타일은 상기 제 2 이미지의 상기 제 1 타일에 공간적으로 대응하는 것인, 입체 이미지를 생성하기 위한 방법.
KR1020167002001A 2013-06-24 2014-06-20 입체 장면들의 인터리빙된 타일형 렌더링 KR20160023866A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/925,459 2013-06-24
US13/925,459 US20140375663A1 (en) 2013-06-24 2013-06-24 Interleaved tiled rendering of stereoscopic scenes
PCT/US2014/043302 WO2014209768A1 (en) 2013-06-24 2014-06-20 Interleaved tiled rendering of stereoscopic scenes

Publications (1)

Publication Number Publication Date
KR20160023866A true KR20160023866A (ko) 2016-03-03

Family

ID=51225880

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167002001A KR20160023866A (ko) 2013-06-24 2014-06-20 입체 장면들의 인터리빙된 타일형 렌더링

Country Status (11)

Country Link
US (1) US20140375663A1 (ko)
EP (1) EP3014877A1 (ko)
JP (1) JP2016529593A (ko)
KR (1) KR20160023866A (ko)
CN (1) CN105409213A (ko)
AU (1) AU2014302870A1 (ko)
BR (1) BR112015031616A2 (ko)
CA (1) CA2913782A1 (ko)
MX (1) MX2015017626A (ko)
RU (1) RU2015155303A (ko)
WO (1) WO2014209768A1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10019969B2 (en) * 2014-03-14 2018-07-10 Apple Inc. Presenting digital images with render-tiles
GB2534225B (en) 2015-01-19 2017-02-22 Imagination Tech Ltd Rendering views of a scene in a graphics processing unit
KR102354992B1 (ko) * 2015-03-02 2022-01-24 삼성전자주식회사 양안 시차 영상에 대한 타일 기반 렌더링 방법 및 장치
GB201505067D0 (en) * 2015-03-25 2015-05-06 Advanced Risc Mach Ltd Rendering systems
KR20170025656A (ko) * 2015-08-31 2017-03-08 엘지전자 주식회사 가상 현실 기기 및 그의 렌더링 방법
US10636110B2 (en) 2016-06-28 2020-04-28 Intel Corporation Architecture for interleaved rasterization and pixel shading for virtual reality and multi-view systems
WO2018051964A1 (ja) 2016-09-14 2018-03-22 株式会社スクウェア・エニックス 映像表示システム及び映像表示方法、映像表示プログラム
CN110637273B (zh) 2017-05-10 2021-12-03 微软技术许可有限责任公司 在虚拟环境内呈现应用
CN108846791B (zh) * 2018-06-27 2022-09-20 珠海豹趣科技有限公司 物理模型的渲染方法、装置及电子设备
CN111179402B (zh) * 2020-01-02 2023-07-14 竞技世界(北京)网络技术有限公司 一种目标对象的渲染方法、装置及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997015150A1 (fr) * 1995-10-19 1997-04-24 Sony Corporation Procede et dispositif de formation d'images en trois dimensions
US5574836A (en) * 1996-01-22 1996-11-12 Broemmelsiek; Raymond M. Interactive display apparatus and method with viewer position compensation
US6870539B1 (en) * 2000-11-17 2005-03-22 Hewlett-Packard Development Company, L.P. Systems for compositing graphical data
US7680322B2 (en) * 2002-11-12 2010-03-16 Namco Bandai Games Inc. Method of fabricating printed material for stereoscopic viewing, and printed material for stereoscopic viewing
CN101690249B (zh) * 2007-06-26 2012-06-20 皇家飞利浦电子股份有限公司 用于编码3d视频信号的方法和系统、用于3d视频信号解码器的方法和系统
CN101442683B (zh) * 2007-11-21 2010-09-29 瀚宇彩晶股份有限公司 立体图像显示装置及其显示方法
US20110148858A1 (en) * 2008-08-29 2011-06-23 Zefeng Ni View synthesis with heuristic view merging
US8233035B2 (en) * 2009-01-09 2012-07-31 Eastman Kodak Company Dual-view stereoscopic display using linear modulator arrays
US20120007951A1 (en) * 2009-03-29 2012-01-12 Nomad3D Sas System and format for encoding data and three-dimensional rendering
US8773449B2 (en) * 2009-09-14 2014-07-08 International Business Machines Corporation Rendering of stereoscopic images with multithreaded rendering software pipeline
US8988443B2 (en) * 2009-09-25 2015-03-24 Arm Limited Methods of and apparatus for controlling the reading of arrays of data from memory
US8502862B2 (en) * 2009-09-30 2013-08-06 Disney Enterprises, Inc. Method and system for utilizing pre-existing image layers of a two-dimensional image to create a stereoscopic image
EP2522148A1 (en) * 2010-01-07 2012-11-14 Thomson Licensing Method and apparatus for providing for the display of video content
US9117297B2 (en) * 2010-02-17 2015-08-25 St-Ericsson Sa Reduced on-chip memory graphics data processing
JP2012060236A (ja) * 2010-09-06 2012-03-22 Sony Corp 画像処理装置、画像処理方法およびコンピュータプログラム
US9578299B2 (en) * 2011-03-14 2017-02-21 Qualcomm Incorporated Stereoscopic conversion for shader based graphics content
CN102137268B (zh) * 2011-04-08 2013-01-30 清华大学 立体视频的行交错和棋盘格的渲染方法及装置
CN102307311A (zh) * 2011-08-30 2012-01-04 华映光电股份有限公司 播放立体影像的方法
US9432653B2 (en) * 2011-11-07 2016-08-30 Qualcomm Incorporated Orientation-based 3D image display

Also Published As

Publication number Publication date
EP3014877A1 (en) 2016-05-04
BR112015031616A2 (pt) 2017-07-25
US20140375663A1 (en) 2014-12-25
CN105409213A (zh) 2016-03-16
AU2014302870A1 (en) 2015-12-17
JP2016529593A (ja) 2016-09-23
RU2015155303A3 (ko) 2018-05-25
CA2913782A1 (en) 2014-12-31
RU2015155303A (ru) 2017-06-27
WO2014209768A1 (en) 2014-12-31
MX2015017626A (es) 2016-04-15

Similar Documents

Publication Publication Date Title
KR20160023866A (ko) 입체 장면들의 인터리빙된 타일형 렌더링
CN109564704B (zh) 虚拟现实/增强现实设备和方法
US11024014B2 (en) Sharp text rendering with reprojection
EP3491489B1 (en) Systems and methods for reducing motion-to-photon latency and memory bandwidth in a virtual reality system
US9582922B2 (en) System, method, and computer program product to produce images for a near-eye light field display
WO2021231016A1 (en) Methods and apparatus for atlas management of augmented reality content
EP3289761B1 (en) Stereoscopic display of objects
US11335066B2 (en) Apparatus and operating method for displaying augmented reality object
CN112912823A (zh) 生成和修改增强现实或虚拟现实场景中对象的表示
WO2021226535A1 (en) Multi-layer reprojection techniques for augmented reality
US20200372699A1 (en) Fine grained interleaved rendering applications in path tracing for cloud computing environments
TW201104622A (en) Method and system for interaction with unmodified 3D graphics applications using face-tracking
GB2558027A (en) Quadrangulated layered depth images
US10825238B2 (en) Visual edge rendering using geometry shader clipping
US10230933B2 (en) Processing three-dimensional (3D) image through selectively processing stereoscopic images
US10872473B2 (en) Edge welding of geometries having differing resolutions
WO2021167704A1 (en) Planar deviation based image reprojection
CN115715464A (zh) 用于遮挡处理技术的方法和装置
KR20230058460A (ko) 깊이 컬링을 지연호출하기 위한 셰이더 코어 명령
US10872463B2 (en) Depth-compressed representation for 3D virtual scene
TWI812548B (zh) 生成並排三維影像的方法及電腦裝置
Smit et al. A shared-scene-graph image-warping architecture for VR: Low latency versus image quality
US20240029363A1 (en) Late stage occlusion based rendering for extended reality (xr)
US11887245B2 (en) Techniques for rendering signed distance functions
US20230063422A1 (en) Techniques for rendering signed distance functions

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid