KR20230145421A - 멀티뷰 이미지 생성 시스템 및 방법 - Google Patents

멀티뷰 이미지 생성 시스템 및 방법 Download PDF

Info

Publication number
KR20230145421A
KR20230145421A KR1020237031127A KR20237031127A KR20230145421A KR 20230145421 A KR20230145421 A KR 20230145421A KR 1020237031127 A KR1020237031127 A KR 1020237031127A KR 20237031127 A KR20237031127 A KR 20237031127A KR 20230145421 A KR20230145421 A KR 20230145421A
Authority
KR
South Korea
Prior art keywords
view image
view
images
display
image layer
Prior art date
Application number
KR1020237031127A
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 KR20230145421A publication Critical patent/KR20230145421A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/282Image signal generators for generating image signals corresponding to three or more geometrical viewpoints, e.g. multi-view systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/349Multi-view displays for displaying three or more geometrical viewpoints without viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/128Adjusting depth or disparity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/302Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays
    • H04N13/32Image reproducers for viewing without the aid of special glasses, i.e. using autostereoscopic displays using arrays of controllable light sources; using moving apertures or moving light sources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/356Image reproducers having separate monoscopic and stereoscopic modes
    • H04N13/359Switching between monoscopic and stereoscopic modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2213/00Details of stereoscopic systems
    • H04N2213/003Aspects relating to the "2D+depth" image format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Image Processing (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

멀티뷰 이미지 생성 시스템 및 방법은 단일 뷰 이미지로부터 멀티뷰 이미지를 생성한다. 멀티뷰 이미지를 생성하는 것은 단일 뷰 이미지를 임포팅하고 단일 뷰 이미지를 복합 멀티뷰 이미지의 제 1 멀티뷰 이미지 레이어에 할당하는 것을 포함한다. 멀티뷰 이미지를 생성하는 것은, 단일 뷰 이미지를 제 1 멀티뷰 이미지 레이어의 복수의 뷰 이미지들로 복제하고, 뷰 이미지들의 순번을 기반으로 제 1 멀티뷰 이미지 레이어의 깊이 설정을 대응하는 뷰 이미지들의 복수의 시프트 값들로 변환하고, 대응하는 시프트 값들에 따라 제 1 멀티뷰 이미지 레이어의 뷰 이미지들을 시프팅시키는 것을 더 포함한다. 복수의 멀티뷰 이미지 레이어들은 미리 정의된 시퀀스로 멀티뷰 디스플레이 상에서 복합 멀티뷰 이미지로서 자동으로 렌더링될 수 있다.

Description

멀티뷰 이미지 생성 시스템 및 방법
관련 출원에 대한 상호 참조
N/A
연방 후원 연구 또는 개발에 관한 진술
N/A
멀티뷰 이미지(multiview image)는 상이한 뷰들(views)을 갖는 장면을 나타낸다. 뷰들은 시야각에 따라 다양한 정도로 겹칠 수 있다. 시청자는 디스플레이에 대해 상이한 시야각들에 위치됨에 따라 디스플레이 상에 동시에 제공되는 멀티뷰 이미지의 상이한 뷰들을 지각할 수 있다. 예를 들어, 멀티뷰 이미지의 상이한 뷰들은 시청자의 각각의 눈에 개별적으로 제공되어 깊이감을 생성한다. 일부 경우들에서, 시청자는 눈에 의해 어떤 뷰들이 지각되는지를 제어하기 위해 특수 안경을 착용할 수 있다. 다른 경우들에서, 뷰들은, 특별한 안경을 필요로 하지 않고, 오토스테레오스코픽(autostereoscopic) 방식으로 각각의 눈으로 향한다. 두 경우 모두에서, 멀티뷰 디스플레이 시스템은 디스플레이를 위해 멀티뷰 이미지들을 렌더링한다. 경우에 따라, 장면을 캡처하기 위해 상이한 시점(viewpoint)들에서 카메라(또는 복수의 카메라들)를 이용하여 멀티뷰 이미지들이 생성된다. 각각의 뷰는 함께 조합되어 멀티뷰 이미지를 형성한다.
본 명세서에 설명된 원리들에 따른 예들 및 실시 예들의 다양한 특징들은 동일한 도면 부호가 동일한 구조적 요소를 나타내는 첨부된 도면과 관련하여 취해진 다음의 상세한 설명을 참조하여 보다 용이하게 이해될 수 있다.
도 1은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따른 일 예로서 멀티뷰 이미지를 도시한다.
도 2는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따른 멀티뷰 디스플레이의 일 예를 도시한다.
도 3은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 단일 뷰 이미지로부터 멀티뷰 이미지를 생성하는 일 예를 도시한다.
도 4는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 멀티뷰 이미지를 생성하기 위해 단일 뷰 이미지를 복제하는 일 예를 도시한다.
도 5는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 깊이 설정을 복수의 시프트 값들로 변환하는 일 예를 도시한다.
도 6은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 멀티뷰 이미지의 지각된 깊이를 수정하기 위해 뷰 이미지들을 시프팅시키는 일 예를 도시한다.
도 7은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 복수의 멀티뷰 이미지 레이어들을 자동으로 렌더링하는 일 예를 도시한다.
도 8은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 각각의 뷰 이미지의 픽셀들을 멀티뷰 디스플레이의 인터레이싱된 위치들에 맵핑하는 일 예를 도시한다.
도 9는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 멀티뷰 생성 시스템 및 시스템의 동작 방법의 흐름도를 도시한 흐름도이다.
도 10은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 깊이 맵으로부터 멀티뷰 이미지를 생성하는 일 예를 도시한다.
도 11은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 사용자들로 하여금 멀티뷰 이미지들을 생성 및 편집할 수 있게끔 하는 어플리케이션의 사용자 인터페이스의 일 예를 도시한다.
도 12는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따른 멀티뷰 디스플레이 시스템의 예시적인 실례를 묘사하는 개략적인 블록도를 도시한다.
일부 예들 및 실시 예들은 전술한 도면들에 도시된 특징들에 부가되거나 그 대신에 포함되는 다른 특징들을 갖는다. 이들 및 다른 특징들은 전술한 도면을 참조하여 이하에서 설명된다.
본 명세서에 설명된 원리들에 따른 예들 및 실시 예들은 멀티뷰 이미지 편집 생성 및 편집에 대한 해결책을 제공한다. 장면의 상이한 시점들에서 이미지들을 캡처하기 위해 카메라(또는 카메라들의 시스템)를 이용하여 멀티뷰 이미지들이 생성될 수 있지만, 본 명세서에서 논의되는 실시 예들은 사용자들로 하여금, 단일 뷰 이미지를 임포팅(importing)하거나 생성하고, 단일 뷰 이미지를 복제하여 복수의 뷰 이미지들을 형성하고, 상이한 뷰 이미지들을 자동으로 시프팅(shifting)시킴으로써 깊이를 수정하고, 그 결과를 디스플레이를 위해 자동으로 렌더링함으로써 멀티뷰 컨텐츠를 생성할 수 있게끔 한다. 실시 예들은 멀티뷰 이미지 레이어들을 포함하며, 여기서 각각의 멀티뷰 이미지 레이어는 멀티뷰 이미지 레이어를 형성하는 상이한 뷰 이미지들을 포함한다. 멀티뷰 이미지 레이어들이 선택될 수 있고, 그에 따라 선택된 멀티뷰 이미지 레이어에 다양한 이미지 편집 작업들이 선택적으로 적용될 수 있다. 이러한 동작들은, 예를 들어 선택된 멀티뷰 이미지 레이어의 컨텐츠의 깊이를 수정하는 것을 포함한다. 단일 뷰 이미지들은 어플리케이션으로 임포팅될 수 있고 새로운 또는 기존의 멀티뷰 이미지 레이어와 연관될 수 있다. 단일 뷰 이미지가 복제되어 단일 뷰 이미지의 복사본들인 복수의 뷰 이미지들이 생성될 수 있다. 사용자는 임포팅된 컨텐츠의 상대적 깊이를 변경하기 위해 다양한 깊이 설정(depth setting)들을 조작할 수 있다. 이에 응답하여, 어플리케이션은 깊이 설정을 시프트 값(shift value)들로 변환하여 깊이 설정들 및 뷰 위치들(예를 들어, 포즈들)에 비례하여 상이한 뷰 이미지들을 시프팅시킨다. 상이한 뷰 이미지들의 픽셀들을 좌표계를 따라 시프팅시킴으로써, 상이한 뷰 이미지들 간에 시차(disparity)가 생성된다. 이러한 시차는 시청자에 의해 디스플레이의 표면에 대한 깊이로서 인식된다. 따라서, 실시 예들은 단일 뷰 이미지가 멀티뷰 이미지로 변환될 때 단일 뷰 이미지의 특성을 선택적으로 수정하기 위해 깊이 설정의 개념을 도입한다.
일부 실시 예들에서, 깊이 맵이 로딩되고 단일 뷰 이미지에 적용되어, 깊이 맵에 의해 정의되는 깊이 프로파일을 채택하는 멀티뷰 이미지로 변환될 수 있다. 깊이 맵은 픽셀 어레이(예를 들어, 비트맵)일 수 있으며, 픽셀의 각각의 픽셀 값은 그 픽셀의 위치에서의 깊이 설정을 나타낸다. 이후, 깊이 맵들은 단일 뷰 이미지에 적용되어 단일 뷰 이미지가 깊이 맵의 깊이 특성들을 채택할 수 있게끔 한다. 예를 들어, 깊이 맵은 깊이를 갖는 다양한 형상들(예를 들어, 볼록형, 오목형, 입방체, 피라미드)을 정의할 수 있고, 깊이 맵은 단일 뷰 이미지에 적용됨으로써, 단일 뷰 이미지가 멀티뷰 뷰로 변환될 수 있다. 깊이 맵은 단일 뷰 이미지에 의해 표현되는 객체들의 형상 및 크기에 부합하도록 수정(예를 들어, 늘려지거나 기울어지거나 잘라내어짐)될 수 있다. 뷰 합성은 수정된 깊이 맵 및 단일 이미지로부터 복수의 뷰 이미지들을 생성하기 위해 수행될 수 있다.
도 1은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따른 일 예로서 멀티뷰 이미지를 도시한다. 멀티뷰 이미지(103)는 복수의 뷰들(106)(예를 들어, 뷰 이미지들(view images))을 갖는다. 뷰들(106) 각각은 상이한 주 각도 방향(principle angular direction; 109)(예를 들어, 좌측 뷰, 우측 뷰, 중앙 뷰 등)에 대응된다. 뷰들(106)은 멀티뷰 디스플레이(112)에 의해 디스플레이되도록 렌더링된다. 각각의 뷰(106)는 멀티뷰 이미지(103)에 의해 표현되는 장면의 상이한 시야각 또는 관점(perspective)을 나타낸다. 따라서, 상이한 뷰들(106)은 서로에 대해 어느 정도의 시차를 갖는다. 시청자(viewer)는 자신의 우안으로 하나의 뷰(106)를 지각하면서 자신의 좌안으로 다른 뷰(106)를 지각할 수 있다. 이를 통해 시청자는 상이한 뷰들(106)을 동시에 지각할 수 있고, 그럼으로써 3차원(3D) 효과를 경험할 수 있다.
일부 실시 예들에서, 시청자가 멀티뷰 디스플레이(112)에 대해 자신의 시야각을 물리적으로 변경함에 따라, 시청자의 두 눈은 멀티뷰 이미지(103)의 상이한 뷰들(106)을 포착할 수 있다. 그 결과, 시청자는 멀티뷰 이미지(103)의 상이한 뷰들(106)을 보기 위해 멀티뷰 디스플레이(112)와 상호작용할 수 있다. 예를 들어, 시청자가 좌측으로 이동함에 따라, 시청자는 멀티뷰 이미지(103)에서 장면의 좌측을 더 많이 볼 수 있다. 멀티뷰 이미지(103)는 수평 평면을 따라 복수의 뷰들(106)을 가질 수 있고/있거나 수직 평면을 따라 복수의 뷰들(106)을 가질 수 있다. 따라서, 사용자가 상이한 뷰들(106)을 보기 위해 시야각을 변경함에 따라, 시청자는 멀티뷰 이미지(103)에 의해 캡처된 장면의 추가적인 시각적 세부 사항들을 획득할 수 있다.
전술한 바와 같이, 각각의 뷰(106)는 멀티뷰 디스플레이(112)에 의해 상이한 대응하는 주 각도 방향들(109)에서 제공된다. 각각의 뷰(106)는 광의 빔(예를 들어, 유사한 주 각도 방향(109)을 갖는 광선들의 집합)에 대응된다. 디스플레이를 위해 멀티뷰 이미지(103)를 제공하는 경우, 뷰들(106)은 실제로 멀티뷰 디스플레이(112) 상에 또는 그 부근에 나타날 수 있다. 라이트필드(lightfield) 컨텐츠를 관찰하는 특성은 상이한 뷰들을 동시에 관찰할 수 있는 능력이다. 라이트필드 컨텐츠는 시청자에게 깊이감을 전달하기 위해 스크린의 전방뿐만 아니라 스크린의 후방에 나타날 수 있는 시각적 이미지를 포함한다.
2D 디스플레이는, 2D 디스플레이가 일반적으로 멀티뷰 이미지(103)의 상이한 뷰들(106)과는 대조적으로 단일 뷰(예를 들어, 뷰들 중 오직 하나)를 제공하도록 구성된다는 점을 제외하고는, 멀티뷰 디스플레이(112)와 실질적으로 유사할 수 있다. 본 명세서에서, '2차원 디스플레이' 또는 '2D 디스플레이'는 이미지가 보여지는 방향에 관계 없이 (즉, 2D 디스플레이의 미리 정의된 시야각 또는 시야 범위 내에서) 실질적으로 동일한 이미지의 뷰를 제공하도록 구성된 디스플레이로서 정의된다. 많은 스마트 폰들 및 컴퓨터 모니터들에서 찾아볼 수 있는 통상적인 액정 디스플레이(LCD)가 2D 디스플레이들의 예들이다. 대조적으로, 본 명세서에서, '멀티뷰 디스플레이(multiview display)'는 사용자의 관점으로부터, 동시에 상이한 뷰 방향들로 또는 상이한 뷰 방향들로부터 멀티뷰 이미지(예를 들어, 멀티뷰 프레임)의 상이한 뷰들을 제공하도록 구성된 전자 디스플레이 또는 디스플레이 시스템으로서 정의된다. 특히, 상이한 뷰들(106)은 멀티뷰 이미지(103)의 상이한 관점 뷰들(perspective views)을 나타낼 수 있다.
멀티뷰 디스플레이(112)는 상이한 이미지 뷰들이 동시에 지각되도록 상이한 이미지 뷰들의 표현을 수용하는 다양한 기술들을 이용하여 구현될 수 있다. 멀티뷰 디스플레이의 일 예는 상이한 뷰들(106)의 주 각도 방향들을 제어하기 위해 광을 산란시키는 멀티빔 소자들을 채용하는 것이다. 일부 실시 예들에 따르면, 멀티뷰 디스플레이(112)는, 상이한 뷰들에 대응되는 상이한 방향들 및 상이한 색상들의 복수의 광빔들을 제공하는 라이트필드(lightfield) 디스플레이일 수 있다. 일부 예들에서, 라이트필드 디스플레이는, 깊이를 지각하기 위한 특별한 아이웨어(eyewear)를 착용할 필요 없이, 멀티빔 소자들(예를 들어, 회절 격자들)을 이용하여 멀티뷰 이미지들의 오토스테레오스코픽(autostereoscopic) 표현들을 제공할 수 있는 소위 '안경 불필요' 3 차원(3D) 디스플레이이다.
도 2는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따른 멀티뷰 디스플레이의 일 예를 도시한다. 멀티뷰 디스플레이(112)는 멀티뷰 모드로 동작하는 경우 멀티뷰 이미지(103)를 제공할 수 있다. 일부 실시 예들에서, 멀티뷰 디스플레이(112)는 그 동작 모드에 따라 멀티뷰 이미지들뿐만 아니라 2D 이미지들을 렌더링한다. 예를 들어, 멀티뷰 디스플레이(112)는 상이한 모드들에서 동작하도록 복수의 백라이트들을 포함할 수 있다. 멀티뷰 디스플레이(112)는 광각 백라이트(115)를 이용하여 2D 모드 동안 광각 방출광을 제공하도록 구성될 수 있다. 또한, 멀티뷰 디스플레이(112)는 멀티빔 소자들의 어레이를 갖는 멀티뷰 백라이트(118)를 이용하여 멀티뷰 모드 동안 지향성 방출광을 제공하도록 구성될 수 있으며, 지향성 방출광은 멀티빔 소자 어레이의 각각의 멀티빔 소자에 의해 제공되는 복수의 지향성 광빔들을 포함한다. 일부 실시 예들에서, 멀티뷰 디스플레이(112)는 모드 제어기(121)를 이용하여 2D 및 멀티뷰 모드들을 시간 다중화하여, 2D 모드에 대응되는 제 1 순차 시간 구간 동안 광각 백라이트(115)를 그리고 멀티뷰 모드에 대응되는 제 2 순차 시간 구간 동안 멀티뷰 백라이트(118)를, 순차적으로 활성화시키도록 구성될 수 있다. 지향성 광빔의 지향성 광빔들의 방향들은 멀티뷰 이미지(103)의 상이한 뷰 방향들에 대응될 수 있다. 모드 제어기(121)는 광각 백라이트(115) 또는 멀티뷰 백라이트(118)를 활성화시키기 위해 모드 선택 신호(124)를 생성할 수 있다.
2D 모드에서, 광각 백라이트(115)는, 멀티뷰 디스플레이(112)가 2D 디스플레이처럼 동작하도록, 이미지들을 생성하는 데 이용될 수 있다. 정의에 의하면, '광각(broad-angle)' 방출광(emitted light)은 멀티뷰 이미지 또는 멀티뷰 디스플레이의 뷰의 원추각(cone angle)보다 더 큰 원추각을 갖는 광으로서 정의된다. 특히, 일부 실시 예들에서, 광각 방출광은 약 20도 초과(예를 들어, > ± 20°)의 원추각을 가질 수 있다. 다른 실시 예들에서, 광각 방출광의 원추각은 약 30도 초과(예를 들어, > ± 30°), 또는 약 40도 초과(예를 들어, > ± 40°), 또는 50도 초과(예를 들어, > ± 50°)일 수 있다. 예를 들어, 광각 방출광의 원추각은 약 60도(예를 들어, > ± 60°)일 수 있다.
멀티뷰 모드는 광각 백라이트(115) 대신 멀티뷰 백라이트(118)를 이용할 수 있다. 멀티뷰 백라이트(118)는 서로 상이한 주 각도 방향들을 갖는 복수의 지향성 광빔들로서 광을 산란시키는 멀티빔 소자들의 어레이를 상부 또는 하부 표면 상에 가질 수 있다. 예를 들어, 멀티뷰 디스플레이(112)가 4개의 뷰들을 갖는 멀티뷰 이미지를 디스플레이하기 위해 멀티뷰 모드에서 동작하는 경우, 멀티뷰 백라이트(118)는 4개의 지향성 광빔들로 광을 산란시킬 수 있으며, 각각의 지향성 광빔은 상이한 뷰에 대응된다. 모드 제어기(121)는, 멀티뷰 백라이트를 이용하여 제 1 순차 시간 구간에 멀티뷰 이미지가 디스플레이되고 광각 백라이트를 이용하여 제 2 순차 시간 구간에 2D 이미지가 디스플레이되도록, 2D 모드와 멀티뷰 모드 사이를 순차적으로 전환할 수 있다. 지향성 광빔들은 미리 결정된 각도들에 있을 수 있으며, 각각의 지향성 광빔은 멀티뷰 이미지의 상이한 뷰에 대응된다.
일부 실시 예들에서, 멀티뷰 디스플레이(112)의 각각의 백라이트는 도광체 내에서 광을 안내된 광으로서 안내하도록 구성된다. 본 명세서에서, '도광체(light guide)'는 내부 전반사(total internal reflection; TIR)를 이용하여 그 내에서 광을 안내하는 구조물로서 정의된다. 특히, 도광체는 도광체의 동작 파장(operational wavelength)에서 실질적으로 투명한 코어(core)를 포함할 수 있다. 다양한 예들에서, '도광체(light guide)'라는 용어는 일반적으로 도광체의 유전체 재료와 도광체를 둘러싸는 재료 또는 매질 사이의 경계에서 광을 안내하기 위해 내부 전반사를 이용하는 유전체 광학 도파로(dielectric optical waveguide)를 지칭한다. 정의에 의하면, 내부 전반사를 위한 조건은 도광체의 굴절률이 도광체 재료의 표면에 인접한 주변 매질의 굴절률보다 커야 한다는 것이다. 일부 실시 예들에서, 도광체는 내부 전반사를 더 용이하게 하기 위해 전술한 굴절률 차이에 부가하여 또는 그에 대신하여 코팅(coating)을 포함할 수 있다. 예를 들어, 코팅은 반사 코팅일 수 있다. 도광체는 판(plate) 또는 슬래브(slab) 가이드 및 스트립(strip) 가이드 중 하나 또는 모두를 포함하는, 그러나 이에 제한되지 않는, 다양한 도광체들 중 임의의 것일 수 있다. 도광체는 판 또는 슬래브와 같은 형태일 수 있다. 도광체는 광원(예를 들어, 광 방출 소자)에 의해 에지 릿(edge lit)될 수 있다.
일부 실시 예들에서, 멀티뷰 디스플레이(112)의 멀티뷰 백라이트(118)는 멀티빔 소자 어레이의 멀티빔 소자들을 이용하여 안내된 광의 일부를 지향성 방출광으로서 산란시키도록 구성되며, 멀티빔 소자 어레이의 각각의 멀티빔 소자는 회절 격자, 미세 굴절성 소자 및 미세 반사성 소자 중 하나 이상을 포함한다. 일부 실시 예들에서, 멀티빔 소자의 회절 격자는 복수의 개별 서브 격자들을 포함할 수 있다. 일부 실시 예들에서, 미세 반사성 소자는 안내된 광의 일부를 복수의 지향성 광빔들로서 반사적으로 커플 아웃시키거나 산란시키도록 구성된다. 미세 반사성 소자는 안내된 광이 산란되는 경로를 제어하기 위해 반사성 코팅을 가질 수 있다. 일부 실시 예들에서, 멀티빔 소자는 안내된 광의 일부를 굴절에 의해 또는 굴절을 이용하여 복수의 지향성 광빔들로서 커플 아웃시키거나 산란(즉, 안내된 광의 일부를 굴절적으로 산란)시키도록 구성된 미세 굴절성 소자를 포함한다.
멀티뷰 디스플레이(112)는 또한 백라이트들 위에 (예를 들어, 광각 백라이트(115) 위에 및 멀티뷰 백라이트(118) 위에) 위치된 광 밸브 어레이를 포함할 수 있다. 광 밸브 어레이의 광 밸브들은, 예를 들어 액정 광 밸브들, 전기 영동 광 밸브들, 전기 습윤을 기반으로 하거나 이를 채용하는 광 밸브들, 또는 이들의 임의의 조합일 수 있다. 2D 모드로 동작하는 경우, 광각 백라이트(115)는 광 밸브 어레이를 향해 광을 방출한다. 이 광은 광각으로 방출되는 확산광(diffuse light)일 수 있다. 각각의 광 밸브는, 광각 백라이트(115)에 의해 방출되는 광에 의해 조명될 때, 2D 이미지를 디스플레이하기 위해 특정 픽셀 밸브를 달성하도록 제어된다. 이러한 점에서, 각각의 광 밸브는 단일 픽셀에 대응된다. 이와 관련하여, 단일 픽셀은 단일 픽셀 셀(예를 들어, LCD 셀)을 구성하는 상이한 컬러 픽셀들(예를 들어, 적색, 녹색 청색)을 포함할 수 있다.
멀티뷰 모드에서 동작하는 경우, 멀티뷰 백라이트(118)는 광 밸브 어레이를 조명하기 위해 지향성 광빔들을 방출한다. 광 밸브들은 멀티뷰 픽셀을 형성하기 위해 함께 그룹화될 수 있다. 예를 들어, 4-뷰 멀티뷰 구성에서, 멀티뷰 픽셀은4개의 상이한 픽셀들을 포함할 수 있으며, 이들 각각은 상이한 뷰에 대응된다. 멀티뷰 픽셀의 경우, 멀티뷰 픽셀 내의 각각의 픽셀은 서브 픽셀로 지칭될 수 있다. 멀티뷰 픽셀 내의 각각의 서브 픽셀은 상이한 컬러 픽셀들을 더 포함할 수 있다.
멀티뷰 픽셀 배열의 각각의 광 밸브는 주 각도 방향을 갖는 광빔들 중 하나에 의해 조명될 수 있다. 따라서, 멀티뷰 픽셀은 멀티뷰 이미지의 픽셀의 상이한 뷰들을 제공하는 픽셀 그룹이다. 일부 실시 예들에서, 멀티뷰 백라이트(118)의 각각의 멀티빔 소자는 광 밸브 어레이의 소정의 멀티뷰 픽셀에 전용된다.
멀티뷰 디스플레이(112)는 멀티뷰 이미지(103)를 디스플레이하기 위한 스크린을 포함한다. 스크린은, 예를 들어 전화기(예를 들어, 이동식 전화기, 스마트 폰 등), 태블릿 컴퓨터, 랩톱 컴퓨터, 데스크톱 컴퓨터의 컴퓨터 모니터, 카메라 디스플레이, 또는 실질적으로 임의의 기타의 장치의 전자 디스플레이의 디스플레이 스크린일 수 있다.
본 명세서에서 사용되는 바와 같이, '시차(disparity)'는 대응하는 위치들에서의 멀티뷰 이미지의 적어도 2개의 뷰들 사이의 차이로서 정의된다. 예를 들어, 입체시의 맥락에서, 좌안과 우안은 동일한 객체를 볼 수 있지만, 안구 간 시야각의 차이로 인해 약간 상이한 위치들에서 동일한 객체를 볼 수 있다. 이 차이는 시차로서 정량화될 수 있다. 멀티뷰 이미지에 걸친 시차의 변화는 깊이감을 전달한다.
본 명세서에서 사용되는 바와 같이, '기준선(baseline)' 또는 '카메라 기준선'은 멀티뷰 이미지의 대응하는 뷰들을 캡처하는 2개의 카메라들 간의 거리로서 정의된다. 예를 들어, 입체시의 맥락에서, 기준선은 좌안과 우안 사이의 거리이다. 기준선이 길어지면 시차가 증가하고 멀티뷰 이미지의 3D 효과가 향상될 수 있다.
본 명세서에서 사용되는 바와 같이, '투명도(transparency)'은 객체 뒤에 있는 다른 객체들이 보일 수 있는 정도를 정의하는 객체 속성을 의미한다. 상부 레이어의 투명도를 높이면 하부 레이어가 보일 수 있다. 최소 투명도(예를 들어, 투명도 없음)는 하부 레이어가 보이지 않도록 하고, 최대 투명도는 특정 레이어를 비-가시적으로 만들어 하부 레이어가 완전히 드러나게 한다.
본 명세서에서 사용되는 바와 같이, 단수 표현은 특허 분야에서의 통상적인 의미, 즉 '하나 이상'의 의미를 갖는 것으로 의도된다. 예를 들어, 본 명세서에서 '프로세서'는 하나 이상의 프로세서를 의미하고, 그 자체로서 '메모리'는 '하나 이상의 메모리 컴포넌트들'을 의미한다.
도 3은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 단일 뷰 이미지로부터 멀티뷰 이미지를 생성하는 일 예를 도시한다. 도 3은 컴퓨팅 장치 또는 컴퓨팅 장치에 의해 실행되는 어플리케이션(203)의 기능을 나타낸다. 또한, 도 3은 멀티뷰 이미지를 생성하는 컴퓨터-구현 방법을 나타낸다.
어플리케이션(203)은 도 12와 관련하여 보다 상세히 논의되는 바와 같이 사용자 수준의 어플리케이션일 수 있다. 어플리케이션(203)은 사용자로 하여금, 예를 들어 도 1의 멀티뷰 이미지(103)와 같은 멀티뷰 이미지를 생성 및 편집할 수 있게끔 하는 사용자 인터페이스를 제공할 수 있다. 어플리케이션(203)은, 예를 들어 단일 뷰 이미지를 어플리케이션(203)으로 임포팅하는 것과 같은 다양한 동작들을 수행할 수 있으며, 단일 뷰 이미지는 복합(composite) 멀티뷰 이미지를 형성하는 복수의 멀티뷰 이미지 레이어들 중 제 1 멀티뷰 이미지 레이어에 할당된다. 단일 뷰 이미지(205)는 임의의 2D 이미지일 수 있으며, 각각의 픽셀에 대한 투명도 값 및 색상 채널 값들을 포함하는 비트맵 형식으로 포맷될 수 있다. 예를 들어, 단일 뷰 이미지(205)는, 각각의 픽셀이 적색 색상 값, 녹색 색상 값 및 청색 색상 값을 갖는 RBG(red, green, blue) 이미지일 수 있다. 또한, 단일 뷰 이미지(205)는 각각의 픽셀에 대한 투명도 값을 특정하는 알파 채널(alpha channel)을 가질 수 있다.
어플리케이션(203)은 사용자로 하여금 클립보드(clipboard)로부터 어플리케이션으로 컨텐츠를 붙여넣어(pasting) 이미지를 임포팅할 수 있게끔 할 수 있다. 예를 들어, 운영 체제는 복사된 이미지 데이터를 임시로 저장하는 클립보드 또는 기타의 시스템 메모리를 제공할 수 있다. 이러한 데이터는 붙여넣기 동작을 통해 어플리케이션(203)에 의해 수신될 수 있다. 어플리케이션(203)은 사용자가 단일 뷰 이미지(205)를 이미지 파일로서 임포팅할 수 있게끔 할 수도 있다. 단일 뷰 이미지(205)는 이미지들의 라이브러리에 로컬로(locally) 또는 원격으로 액세스함으로써 어플리케이션(203)으로 임포팅될 수도 있다.
어플리케이션(203)은 멀티뷰 이미지 레이어 데이터(207)를 관리할 수 있다. 예를 들어, 멀티뷰 이미지 레이어 데이터(207)는 어플리케이션(203)에 의해 생성되어 시스템 메모리 내의 주소 공간에 로딩될 수 있다. 멀티뷰 이미지 레이어 데이터(207)는 멀티뷰 이미지 레이어들의 리스트를 포함할 수 있다. 멀티뷰 이미지 레이어들은 멀티뷰 이미지 레이어 순서(210)에 따라 순서화(ordered)될 수 있고, 멀티뷰 이미지 레이어 명칭(213)에 의해 식별될 수 있다. 각각의 멀티뷰 이미지 레이어는 뷰 이미지들(216)의 세트를 포함한다. 각각의 멀티뷰 이미지 레이어를 함께 조합하면, 궁극적으로 디스플레이를 위해 렌더링되는 복합 멀티뷰 이미지가 형성된다. 따라서, 주어진 멀티뷰 이미지 레이어에 대한 뷰 이미지들(216)의 세트는 복합 멀티뷰 이미지의 레이어를 나타낸다. 단일 뷰 이미지(205)는 어플리케이션(203)으로 임포팅됨에 따라 특정 멀티뷰 이미지 레이어에 할당될 수 있다. 예를 들어, 사용자는 단일 뷰 이미지(205)를 임포팅하기 이전에 멀티뷰 이미지 레이어를 선택할 수 있다. 따라서, 단일 뷰 이미지(205)는 어플리케이션(203)으로 임포팅됨에 따라, 선택된 멀티뷰 이미지 레이어에 할당될 수 있다. 다른 예로서, 단일 뷰 이미지(205)를 임포팅하는 것은 어플리케이션(203)이 새로운 멀티뷰 이미지 레이어를 생성하게 할 수 있고, 여기서 임포팅된 단일 뷰 이미지(205)는 새로 생성된 멀티뷰 이미지 레이어에 할당된다. 따라서, 어플리케이션(203)이 임포팅된 단일 뷰 이미지(205)가 할당되는 멀티뷰 이미지 레이어를 생성 및 선택할 수 있거나, 사용자가 임포팅된 단일 뷰 이미지(205)가 할당되는 기존의 멀티뷰 이미지 레이어를 선택할 수 있다.
도 3의 예는 멀티뷰 이미지 레이어 데이터(207)로서 저장되는 복수의 멀티뷰 이미지 레이어들을 묘사한다. 사용자는 멀티뷰 이미지 레이어 명칭(213)을 제공하여 각각의 멀티뷰 이미지 레이어를 명명할 수 있다. 이 예에서, "배경", "산", "새로운 레이어"라고 명명된 3개의 멀티뷰 이미지 레이어들이 있다. 멀티뷰 이미지 레이어들은 사용자가 멀티뷰 이미지 컨텐츠를 생성함에 따라 멀티뷰 이미지 레이어들을 추적할 수 있게끔 명명될 수 있다. 새로운 멀티뷰 이미지 레이어들이 추가될 수 있고, 예를 들어 "새로운 레이어"와 같은 기본 멀티뷰 이미지 레이어 명칭(213)이 주어질 수 있다.
멀티뷰 이미지 레이어 순서(210)는 멀티뷰 이미지 레이어들이 렌더링될 시퀀스를 정의한다. 멀티뷰 이미지 레이어들은 아래에서부터 위로 렌더링되어, 하부 멀티뷰 이미지 레이어가 먼저 페인팅(painting)되고, 중간 멀티뷰 이미지 레이어들이 그 위에 페인팅되고, 마지막으로 상부 멀티뷰 이미지 레이어가 최종적으로 페인팅된다. 따라서, 멀티뷰 이미지 레이어들이 순차적으로 렌더링됨에 따라, 각각의 멀티뷰 이미지 레이어는 그 아래의 멀티뷰 이미지 레이어들을 덮을 수 있다. 일부 실시 예들에서, 레이어들이 디스플레이를 위해 렌더링될 때 레이어들을 함께 블렌딩(blending)하기 위해 블렌딩 동작들이 적용될 수 있다. 사용자는 멀티뷰 이미지 레이어 순서(210)의 시퀀스를 변경할 수 있다.
멀티뷰 이미지를 편집하는 경우, 사용자는 멀티뷰 이미지 레이어를 선택하여 특정 멀티뷰 이미지 레이어들에 대한 작업을 수행할 수 있다. 사용자에 의해 지정된 모든 이미지 처리 동작들은 선택된 멀티뷰 이미지 레이어에 국한될 수 있다. 도 3의 예에서, "새로운 레이어"가 선택된 멀티뷰 이미지 레이어이고, 이는 제 1 멀티뷰 이미지 레이어(219)로 지칭될 수 있다. 이를 통해 사용자는 생성 중이거나 편집 중인 멀티뷰 이미지의 선택된 부분들에 대해 작업을 수행할 수 있다. 단일 뷰 이미지(205)를 임포팅하는 경우, 단일 뷰 이미지(205)는 복수의 멀티뷰 이미지 레이어들 중 제 1 멀티뷰 이미지 레이어(219)에 할당될 수 있다. 일부 실시 예들에서, 단일 뷰 이미지(205)를 임포팅하는 것은 임포팅된 단일 뷰 이미지(205)가 새로운 멀티뷰 이미지 레이어에 할당되도록 제 1 멀티뷰 이미지 레이어(219)를 자동적으로 생성한다. 각각의 멀티뷰 이미지 레이어를 순차적으로 렌더링하는 경우, 그 결과는 복합 멀티뷰 이미지를 형성한다.
각각의 멀티뷰 이미지 레이어는 자신의 뷰 이미지들의 세트(216)를 포함한다. 뷰 이미지들의 세트 내의 각각의 뷰 이미지는 도 1의 뷰(106)와 같은 상이한 뷰를 나타낸다. 각각의 뷰 이미지는 다른 뷰 이미지에 대해 상대적인 자신의 위치를 갖는다. 뷰 이미지들은 다양한 멀티뷰 구성들로 포맷될 수 있다. 멀티뷰 구성은 뷰 이미지들의 개수를 정의한다. 예를 들어, 스테레오 멀티뷰 구성은 좌측 뷰와 우측 뷰만 가지므로 2-뷰 구성이다. 4-뷰 멀티뷰 구성은 4개의 뷰들을 갖는다. 또한, 멀티뷰 구성은 뷰들의 배향을 지칭할 수도 있다. 뷰들은 수평으로, 수직으로 또는 이들 둘 다로 배향될 수 있다. 예를 들어, 4-뷰 멀티뷰 구성은 4개의 뷰들이 가로로 있는 수평 방향으로 배향될 수 있거나, 4개의 뷰들이 아래로 있는 수직 방향으로 배향될 수 있거나, 2개의 뷰들이 가로로 그리고 2개의 뷰들이 아래로 있는 사각형 배향으로 배향될 수 있다. 어플리케이션(203)은 멀티뷰 구성에 따라 각각의 멀티뷰 이미지 레이어의 뷰들을 관리하도록 구성될 수 있다. 일부 실시 예들에서, 사용자는 뷰들의 개수, 뷰들의 위치, 뷰들 간의 거리(예를 들어, 기준선으로 지칭됨) 등을 조정함으로써 멀티뷰 구성을 수정할 수 있다.
도 4는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 멀티뷰 이미지를 생성하기 위해 단일 뷰 이미지를 복제하는 일 예를 도시한다. 예를 들어, 도 4는 단일 뷰 이미지(205)를 제 1 멀티뷰 이미지 레이어(219)의 복수의 뷰 이미지들(222)로 복제하는 것을 묘사한다. 단일 뷰 이미지(205)를 임포팅하는 것에 응답하여, 단일 뷰 이미지(205)가 자동으로 복제될 수 있다. 제 1 멀티뷰 이미지 레이어(219)는 미리 선택될 수 있거나 단일 뷰 이미지(205)를 임포팅하는 것에 응답하여 자동 생성될 수 있다. 따라서, 도 4는 뷰 이미지들(222)이 생성되어 멀티뷰 이미지 레이어에 할당되는 방식을 보여준다.
적어도 초기에, 각각의 뷰 이미지(222)는 각각의 뷰 이미지(222) 사이에 시차가 없게끔 단일 뷰 이미지(205)의 복제물 또는 복사본일 수 있다. 이 예에서, 단일 뷰 이미지(205)는 걷는 사람(예를 들어, 객체)의 이미지이다. 뷰 이미지(222) 내에 위치한 객체의 위치를 나타내기 위해 각각의 뷰 이미지(222)에 수직 파선이 추가된다.
단일 뷰 이미지(205)는 뷰들의 개수뿐만 아니라 뷰들의 각도 또는 위치를 특정하는 멀티뷰 구성에 따라 복제될 수 있다. 각각의 뷰는 뷰 색인인 순번(ordered number)을 가질 수 있다. 이 예에서, 뷰 1(v1)은 번호 1을 갖고, 뷰 2(v2)는 번호 2를 갖고, 뷰 3(v3)은 번호 3을 가지며, 뷰 4(v4)는 번호 4를 갖는다. 각각의 순번은 뷰의 상대적 위치에 대응될 수 있다. 이 예에서, v3는 기준 뷰 또는 중심 뷰인 것으로 간주된다. 최-좌측의 뷰(v1)는 v3의 좌측으로 2 단위 거리, v2는 v3의 좌측으로 1 단위 거리, v4는 v3의 우측으로 1 단위 거리이다. 따라서, 실시 예들은 뷰 이미지들 중 하나(예를 들어, v3)를 기준 뷰 이미지로서 할당하는 것에 관한 것이다. 후술되는 바와 같이, 깊이-기반 동작들은 기준 뷰 이미지에 대해 상대적인 방식으로 뷰 이미지들에 대해 수행된다.
도 5는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 깊이 설정을 복수의 시프트 값들로 변환하는 일 예를 도시한다. 도 5는 제 1 멀티뷰 이미지 레이어에 대한 깊이 설정을 포함하는 사용자 입력을 수신하는 것을 도시한다. 어플리케이션(203)은 멀티뷰 이미지 컨텐츠를 편집하기 위한 사용자 인터페이스를 제공할 수 있다. 사용자 인터페이스는 사용자가 제 1 멀티뷰 이미지 레이어(219)에 대한 깊이 설정(228)을 지정할 수 있게끔 하는 사용자 인터페이스 요소(225)를 포함할 수 있다. 사용자 인터페이스 요소(225)는 슬라이더, 다이얼, 텍스트 박스, 또는 사용자로 하여금 깊이 설정(228)을 지정할 수 있게끔 하는 임의의 다른 요소일 수 있다. 깊이 설정은 렌더링된 컨텐츠가 멀티뷰 디스플레이를 기준으로 지각될 위치에 대응되는 값일 수 있다. 예를 들어, 0의 깊이 값은 멀티뷰 컨텐츠가 스크린과 동일한 깊이에서(예를 들어, 스크린 상에서) 나타날 것임을 나타낸다. 이 예에서, 양수 값들은 스크린의 전방에 있는 깊이에 대응되고, 음수 값들은 스크린의 후방에 있는 깊이에 대응된다. 도 5의 예에서, 사용자는 단일 뷰 이미지의 렌더링을 시청자에 더 가깝게(특정 거리에서 스크린의 전방에 나타남) 효과적으로 이동시키기 위해 7의 깊이 설정(228)을 선택했다. 깊이 설정(228)은 선택된 멀티뷰 이미지 레이어(들)와 관련된 컨텐츠에만 적용될 수 있다.
도 5는 또한 뷰 이미지들 각각의 순번을 기반으로 깊이 설정을 대응하는 뷰 이미지들에 대한 복수의 시프트 값들로 변환하는 동작들을 나타낸다. 예를 들어, 도 5는 7의 깊이 설정(228)이 4개의 뷰 이미지들(222)에 대한 시프트 값들(234)로 변환되는 방식을 보여주며, 여기서, v1은 -20의 시프트 값을 갖고, v2는 -10의 시프트 값을 갖고, v3는 0의 시프트 값을 가지며, v4는 +10의 시프트 값을 갖는다. 시프트 값들은 기준 뷰 이미지(예를 들어, v3)에 대한 상대적인 시프트 거리를 나타낼 수 있다. 시프트 값(234)의 부호는 시프트의 방향(예를 들어, 좌측 또는 우측)에 대응될 수 있다. 따라서, v1은 v3의 복제본이며, 좌측으로 20개의 픽셀들만큼 시프팅될 것이다.
도 5는 또한 뷰 이미지들 중 하나를 기준 뷰 이미지로서 할당하는 것을 보여주며, 여기서 기준 뷰 이미지의 시프트 값(234)은 0이다. 이러한 점에서, 기준 뷰 이미지(예를 들어, v3)는 다른 뷰 이미지들이 v3에 대해 시프팅될 때 정적으로 유지된다. 사용자가 제 1 멀티뷰 이미지 레이어(219)의 컨텐츠를 편집함에 따라, 제 1 멀티뷰 이미지 레이어(219) 내의 모든 뷰들에 자동으로 동일한 편집이 적용된다. 그러나, 뷰들은 서로에 대해 시프팅된 상태를 유지한다. 예를 들어, 사용자가 기준 뷰 이미지에 대해 이미지 편집 작업들을 수행함에 따라, 이미지 편집 작업들은 멀티뷰 이미지 레이어 내의 다른 뷰들에 자동으로 적용된다.
깊이 설정(228)을 시프트 값들(234)로 변환하는 경우, 어플리케이션은 순서화된 뷰 번호를 고려할 수 있다. 순번은 뷰들의 위치에 대응되고 따라서 뷰들 간의 거리에 대응된다. 예를 들어, v1은 v2보다 v3에서 더 멀리 떨어져 있다. 다양한 멀티뷰 파라미터들(231)은 깊이 설정(228)을 시프트 값(234)으로 변환하는 방식을 제어할 수 있다. 하나의 예가 기준선(baseline)이다. 기준선은 멀티뷰 이미지의 대응하는 뷰들을 캡처하는 2개의 카메라들(예를 들어, 가상 카메라들) 간의 거리를 의미한다.
도 6은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 멀티뷰 이미지의 지각된 깊이를 수정하기 위해 뷰 이미지들을 시프팅시키는 일 예를 도시한다. 도 6은 제 1 멀티뷰 이미지 레이어가 선택되는 것에 응답하여 대응하는 시프트 값들에 따라 제 1 멀티뷰 이미지 레이어의 뷰 이미지들을 시프팅시키는 것을 보여준다. 예를 들어, 제 1 멀티뷰 이미지 레이어(219)는, 4개의 상이한 뷰 이미지들을 생성하기 위해 임포팅 및 복제되었던 단일 뷰 이미지(205)를 가질 수 있다. 예를 들어, 제 2 멀티뷰 이미지 레이어(237)와 같은 다른 멀티뷰 이미지 레이어들이 존재할 수 있다. 그러나, 복제된 4개의 뷰 이미지들은 제 1 멀티뷰 이미지 레이어(219)에만 할당된다. 깊이 설정(228)의 적용은 제 1 멀티뷰 이미지 레이어(219)에 선택적으로 적용된다. 사용자는 새로운 멀티뷰 이미지 컨텐츠를 생성할 때, 각각의 멀티뷰 이미지 레이어의 상이한 객체들 간의 상대적 깊이들을 제어할 수 있다.
제 1 멀티뷰 이미지 레이어(219)의 컨텐츠는 v1에서 좌측으로 20개의 픽셀들만큼, v2에서 좌측으로 10개의 픽셀들만큼, v4에서 우측으로 10개의 픽셀들만큼 시프팅되고, v3에서는 시프팅되지 않는다. 제 2 멀티뷰 이미지 레이어(237)의 컨텐츠는 이러한 시프트 동작들 전반에 걸쳐 동일하게 유지된다. 렌더링되는 경우, 이러한 시프팅은 제 1 멀티뷰 이미지 레이어(219)의 컨텐츠와 제 2 멀티뷰 이미지 레이어(237)의 컨텐츠 간의 상대적 깊이의 양에 영향을 미친다.
도 6의 예는 각각의 뷰 이미지를 시프팅시키는 것이 수평 방향을 따라 각각의 뷰 이미지의 픽셀들을 시프팅시키는 것을 포함한다는 것을 보여준다. 예를 들어, 뷰들(v1, v2, v3, v4)은 4x1 구성에서 수평 카메라 포즈들을 갖는다. 다른 실시 예들에서, 뷰들은 수직 뷰들을 가질 수 있거나, 또는 수평 및 수직 뷰들을 모두 가질 수 있다.
도 6은 또한 제 1 멀티뷰 이미지 레이어(219)에 할당된 모든 컨텐츠들이 깊이 설정(228)에 응답하여 시프팅되는 방식을 보여준다. 일부 실시 예들은, 제 1 멀티뷰 이미지 레이어의 소정의 영역을 선택하고 선택된 영역 내에 속하는 뷰 이미지들의 일부를 선택적으로 시프팅시키는 것을 포함한다. 예를 들어, 사용자는 박스(또는 임의의 기타의 형상)를 그리거나, 특정 색상을 선택하거나, 임의의 다른 방식으로 픽셀 위치를 선택함으로써 제 1 멀티뷰 이미지 레이어(219)의 일부를 선택할 수 있다. 이후, 선택된 멀티뷰 이미지 레이어의 선택된 영역에만 깊이 설정이 적용된다. 예를 들어, 제 1 멀티뷰 이미지 레이어(219)의 뷰 이미지들은 다양한 특징들(예를 들어, 몸, 팔, 머리 등)을 갖는 사람을 나타낼 수 있다. 사용자는 특징(또는 그 일부)을 선택하여 이러한 특징의 픽셀들에만 깊이 설정이 적용되게끔 할 수 있다.
도 7은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 복수의 멀티뷰 이미지 레이어들을 자동으로 렌더링하는 일 예를 도시한다. 예를 들어, 도 7은 미리 정의된 시퀀스로 복수의 멀티뷰 이미지 레이어들을 멀티뷰 디스플레이 상에 복합 멀티뷰 이미지로서 자동으로 렌더링하는 것을 묘사한다. 일부 실시 예들에서, 렌더링은, 어플리케이션이 사용자 입력에 응답하여 복수의 멀티뷰 이미지 레이어들을 자동으로 렌더링할 수 있도록, 자동적이다. 예를 들어, 사용자가 하나 이상의 멀티뷰 이미지 레이어에서 그래픽 컨텐츠를 그리거나 편집하거나 수정할 때마다, 어플리케이션은 사용자가 자신의 편집 결과를 볼 수 있도록 디스플레이를 위해 이를 자동으로 렌더링한다. 일부 실시 예들에서, 렌더링은, 어플리케이션이 멀티뷰 이미지 레이어들을 주기적으로 렌더링하여 멀티뷰 컨텐츠에 대해 이루어진 가장 최근의 편집 내용들을 디스플레이할 수 있도록, 자동적이다. 자동 렌더링을 통해, 사용자는 실시간으로 깊이가 변경됨에 따라 복합 멀티뷰 이미지를 지각할 수 있다. 멀티뷰 이미지 레이어의 상이한 뷰 이미지들은 사용자가 깊이 설정을 조정함에 따라 자동으로 수정(예를 들어, 시프팅)된다.
멀티뷰 이미지 레이어들은 멀티뷰 이미지 레이어 데이터(207)로서 저장된다. 멀티뷰 이미지 레이어들을 렌더링하는 어플리케이션은 셰이더(240)를 이용하여 렌더링을 수행할 수 있다. 셰이더(240)는 텍스처 데이터 또는 기타의 이미지 데이터를 처리하기 위해 그래픽스 파이프라인에서 실행되는 모듈 또는 프로그램일 수 있다. 셰이더(240)는 GPU의 일부인 하드웨어 컴포넌트일 수도 있고, 그래픽스 파이프라인에서 실행되는 소프트웨어 프로그램일 수도 있다. 셰이더(240)는 미리 정의된 시퀀스에 따라 각각의 멀티뷰 이미지 레이어를 페인팅할 수 있다. 미리 정의된 시퀀스는 사용자에 의해 지정될 수 있으며, 멀티뷰 이미지 레이어 데이터(207)의 일부로서 포함될 수 있다. 예를 들어, 미리 정의된 시퀀스는 사용자에 의해 설정된 멀티뷰 이미지 레이어 순서(210)일 수 있다. 미리 정의된 시퀀스는 하부 멀티뷰 이미지 레이어(249), 하나 이상의 중간 멀티뷰 이미지 레이어(250) 및 상부 멀티뷰 이미지 레이어(251)를 특정할 수 있다. 셰이더(240)는 제 1 시퀀스(제 1 화살표로 표시됨)에서 멀티뷰 디스플레이(112) 상에 하부 멀티뷰 이미지 레이어(249)를 페인팅하는 것으로 시작할 수 있다. 이후, 셰이더(240)는 멀티뷰 디스플레이(112) 상에 중간 멀티뷰 이미지 레이어(250)를 페인팅할 수 있다. 각각의 멀티뷰 이미지 레이어가 멀티뷰 디스플레이(112) 상에 페인팅됨에 따라, 현재의 멀티뷰 이미지 레이어는 제 2 시퀀스(제 2 화살표로 표시됨)에서 아래에 놓인 멀티뷰 이미지 레이어를 덮거나 오버라이딩(overriding)할 수 있다. 이러한 점에서, 아래에 놓인 멀티뷰 이미지 레이어의 픽셀 값들은 현재의 멀티뷰 이미지 레이어의 픽셀 값들로 대체된다. 이후, 셰이더(240)는 제 3 시퀀스(제 3 화살표로 표시됨)에서 멀티뷰 디스플레이(112) 상에 상부 멀티뷰 이미지 레이어(251)를 페인팅할 수 있다. 이는, 멀티뷰 디스플레이(112) 상에 복합 멀티뷰 이미지(252)를 생성하는 멀티뷰 이미지 레이어들(249, 250, 251)의 렌더링을 완료한다. 셰이더(240)에 의해 수행되는 페인팅은 특정 멀티뷰 이미지 레이어의 픽셀 값들을 스크린 상의 대응하는 위치들에 맵핑하는 것을 포함한다. 페인팅은 디스플레이를 위한 이미지 렌더링의 일부이다. 일부 실시 예들에서, 셰이더(240)는 디스플레이 상에 이미지들을 렌더링하기 이전에 그래픽스 메모리 버퍼에 이미지들을 페인팅하도록 구성된다.
일부 실시 예들에서, 멀티뷰 이미지를 생성하기 위한 동작들은, 미리 정의된 시퀀스에 의해 정의되는 상부 멀티뷰 이미지 레이어를 렌더링하되, 상부 멀티뷰 이미지 레이어의 투명 영역들을 생략하면서 렌더링함으로써, 복수의 멀티뷰 이미지 레이어들을 자동으로 렌더링하는 것을 포함한다. 예를 들어, 멀티뷰 이미지 레이어는 각각의 픽셀의 투명도 수준을 지정하는 (색상 채널들 이외의) 투명 채널을 포함할 수 있다. 투명 영역은, 그 영역이 (예를 들어, 완전히 또는 부분적으로) 투명하다는 것을 나타내는 픽셀 값을 갖는 하나 이상의 픽셀을 포함한다. 중간 멀티뷰 이미지 레이어(250)의 투명 영역들을 렌더링하는 경우, 하부 멀티뷰 이미지 레이어(249)의 대응하는 부분은 상부 멀티뷰 이미지 레이어에 의해 덮이지 않는 한 복합 멀티뷰 이미지(252)에서 노출된 채로 남아있을 것이다.
일부 실시 예들에서, 멀티뷰 이미지를 생성하기 위한 동작들은 사용자-지정 멀티뷰 파일 형식으로 복합 멀티뷰 이미지(252)를 포맷하는 것을 포함한다. 멀티뷰 파일 형식은 특정 멀티뷰 구성(예를 들어, 뷰들의 개수, 뷰들의 배향)을 제어하는 형식일 수 있다. 멀티뷰 이미지들을 생성하는 경우, 사용자는 먼저 뷰들의 개수, 뷰들의 배향, 기준선 등의 측면에서 멀티뷰 이미지의 궁극적인 외관을 정의하는 특성들을 지정할 수 있다. 이러한 특징들은 복수의 선택 가능한 멀티뷰 이미지 형식들 중 하나에 부합할 수 있다. 선택이 이루어지는 경우, 어플리케이션은 멀티뷰 형식 선택에 따라 복합 멀티뷰 이미지(252)를 생성할 수 있다.
일부 실시 예들에서, 멀티뷰 이미지를 생성하기 위한 동작들은, 제 1 멀티뷰 이미지 레이어의 각각의 뷰 이미지를 복수의 멀티뷰 이미지 레이어들 중 제 2 멀티뷰 이미지 레이어의 대응하는 뷰 이미지들과 블렌딩(blending)하는 것을 포함한다. 예를 들어, 멀티뷰 이미지 레이어들은 자동 렌더링 프로세스의 시퀀스 동안 블렌딩될 수 있다. 예를 들어, 중간 멀티뷰 이미지 레이어(250)(예를 들어, 제 2 멀티뷰 이미지 레이어)를 하부 멀티뷰 이미지 레이어(249)(예를 들어, 제 1 멀티뷰 이미지 레이어) 상에 페인팅하는 경우, 셰이더(240)는 하부 멀티뷰 이미지 레이어(249)를 중간 멀티뷰 이미지 레이어(249)의 픽셀 값들로 완전히 덮어쓰기보다는 상이한 멀티뷰 이미지 레이어들의 픽셀 값들을 블렌딩할 수 있다. 블렌딩은 상부 멀티뷰 이미지 레이어의 픽셀 값을 페인팅된 하부 멀티뷰 이미지 레이어(들)의 픽셀 값과 평균하는 것을 포함할 수 있다. 블렌딩은 두 픽셀들의 색상 값들을 평균하거나 병합하기 위해 픽셀 단위 작업을 포함할 수 있다. 이러한 점에서, 페인팅되고 있는 멀티뷰 이미지 레이어는 이전에 페인팅된 멀티뷰 이미지 레이어들과 블렌딩된다. 따라서, 렌더링 프로세스 동안 블렌딩이 이루어질 수 있다.
도 8은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 각각의 뷰 이미지의 픽셀들을 멀티뷰 디스플레이의 인터레이싱된 위치들에 맵핑하는 일 예를 도시한다. 예를 들어, 일부 실시 예들에서, 멀티뷰 이미지를 생성하기 위한 동작들은, 각각의 뷰 이미지의 픽셀들을 멀티뷰 디스플레이의 인터레이싱된 위치들에 맵핑함으로써 복수의 멀티뷰 이미지 레이어들을 자동으로 렌더링하는 것을 포함한다. 렌더링을 수행하는 셰이더(240)는 멀티뷰 이미지 레이어 데이터(207)를 수신하고, 각각의 멀티뷰 이미지 레이어에 대해 렌더링된 멀티뷰 이미지 레이어(254)를 출력으로서 생성할 수 있다. 렌더링된 멀티뷰 이미지 레이어(254)는, 예를 들어 하부 멀티뷰 이미지 레이어(249), 중간 멀티뷰 이미지 레이어(들)(250) 또는 상부 멀티뷰 이미지 레이어(251)일 수 있다. 렌더링된 멀티뷰 이미지 레이어(254)은 그래픽스 메모리 버퍼에 로딩되거나 멀티뷰 디스플레이(112) 상에 페인팅될 수 있다. 셰이더(240)는 렌더링된 멀티뷰 이미지 레이어(254)를 멀티뷰 디스플레이(112)에 특정되고 고유한 형식에 따라 포맷할 수 있다. 일부 실시 예들에서, 이는 대응하는 위치들을 기반으로 여러 뷰들의 픽셀들을 공통-배치(collocate)하기 위해 각각의 뷰의 픽셀들을 인터레이싱하는 것을 포함한다. 예를 들어, 렌더링된 멀티뷰 이미지 레이어(254)를 생성하는 경우 각각의 뷰의 최-좌측 상부 픽셀이 공통-배치될 수 있다. 즉, 각각의 뷰의 픽셀들은 공간 다중화되거나 인터레이싱되어 렌더링된 멀티뷰 이미지 레이어(254)를 생성한다.
도 8에 도시된 바와 같이, 렌더링된 멀티뷰 이미지 레이어(254)는 공간 다중화되거나 또는 인터레이싱된 뷰들을 갖는다. 도 8은 4개의 뷰들 중 하나에 대응되는 픽셀들을 보여주며, 여기서 픽셀들은 인터레이싱(예를 들어, 인터리빙(interleaving), 공간 다중화(spatially multiplexing))된다. 뷰 1에 속하는 픽셀들은 숫자 1로 표시되고, 뷰 2에 속하는 픽셀들은 숫자 2로 표시되고, 뷰 3에 속하는 픽셀들은 숫자 3으로 표시되며, 뷰 4에 속하는 픽셀들은 숫자 4로 표시된다. 렌더링된 멀티뷰 이미지 레이어(254)의 뷰들은 각각의 행을 따라 수평으로 픽셀 단위로 인터레이싱된다. 렌더링된 멀티뷰 이미지 레이어(254)는 대문자 A 내지 E로 표현되는 픽셀들의 행들 및 소문자 a 내지 h로 표현되는 픽셀들의 열들을 갖는다. 도 8은 E 행, e열 내지 h열에서 하나의 멀티뷰 픽셀(257)의 위치를 보여준다. 멀티뷰 픽셀(257)은 4개의 뷰들 각각의 픽셀들로부터 취해진 픽셀들의 배열이다. 즉, 멀티뷰 픽셀(257)은 4개의 뷰들 각각의 개별 픽셀들이 공간 다중화되도록 인터레이싱한 결과이다. 도 8은 상이한 뷰들의 픽셀들을 수평 방향으로 인터레이싱하는 것을 보여주지만, 상이한 뷰들의 픽셀들은 수직 방향으로 인터레이싱될 수도 있고, 수평 방향 및 수직 방향 둘 다로 인터레이싱될 수도 있다.
인터레이싱된 뷰들은 4개의 뷰들 각각으로부터의 픽셀을 갖는 멀티뷰 픽셀(282)을 초래할 수 있다. 일부 실시 예들에서, 멀티뷰 픽셀들은 도 8에 도시된 바와 같이 특정 방향으로 엇갈리게 배치(staggered)될 수 있으며, 여기서 멀티뷰 픽셀들은 수평으로 정렬되고 수직으로 엇갈리게 배치된다. 다른 실시 예들에서, 멀티뷰 픽셀들은 수평으로 엇갈리게 배치되고 수직으로 정렬될 수 있다. 멀티뷰 픽셀들이 인터레이싱되고 엇갈리게 배치되는 특정 방식은 멀티뷰 디스플레이(112)의 설계 및 이의 멀티뷰 구성에 따라 다를 수 있다. 렌더링된 멀티뷰 이미지 레이어(253)는 픽셀들을 인터레이싱하고 그 픽셀들을 멀티뷰 디스플레이(112)의 물리적 픽셀들(예를 들어, 광 밸브 어레이(259))에 맵핑될 수 있도록 멀티뷰 픽셀들로 배열할 수 있다. 즉, 렌더링된 멀티뷰 이미지 레이어(253)의 픽셀 좌표는 멀티뷰 디스플레이(112)의 물리적 위치에 대응된다. 멀티뷰 픽셀(257)은 광 밸브 어레이(259)의 광 밸브들의 특정 세트에 대한 맵핑(261)을 갖는다. 광 밸브 어레이(259)는 렌더링된 멀티뷰 이미지 레이어(254)에 따라 광을 변조하도록 제어된다. 추가적인 멀티뷰 이미지 레이어들이 셰이더(240)에 의해 처리되어, 아래에 놓인 렌더링된 멀티뷰 이미지 레이어들 위에 페인팅될 추가적인 렌더링된 멀티뷰 이미지 레이어들이 생성된다.
도 9는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따른 멀티뷰 이미지 생성 시스템 및 이 시스템의 동작 방법의 흐름도를 도시하는 흐름도이다. 도 9의 흐름도는 명령어 세트를 실행하는 컴퓨팅 장치(예를 들어, 도 12의 멀티뷰 디스플레이 시스템)에 의해 구현되는 상이한 유형의 기능의 일 예를 제공한다. 예를 들어, 멀티뷰 이미지 생성 시스템은 멀티뷰 디스플레이(예를 들어, 도 1, 도 2, 도 7 및 도 8의 멀티뷰 디스플레이(112))를 포함할 수 있다. 멀티뷰 이미지 생성 시스템은 프로세서 및 복수의 명령어들을 저장하는 메모리를 더 포함할 수 있고, 복수의 명령어들은, 실행되는 경우, 프로세서로 하여금 흐름도에 도시된 다양한 동작들을 수행하게끔 한다. 대안적으로, 도 9의 흐름도는 하나 이상의 실시 예에 따라 컴퓨팅 장치에서 구현되는 방법의 요소들의 일 예를 묘사하는 것으로 볼 수 있다. 도 9는 또한 컴퓨팅 시스템의 프로세서에 의해 실행되는 경우, 멀티뷰 이미지를 생성하기 위한 동작들을 구현하는 실행 가능한 명령어들을 저장하는 비-일시적인 컴퓨터-판독 가능한 저장 매체를 나타낼 수도 있다.
멀티뷰 이미지 생성 시스템은 프로세서로 하여금 단일 뷰 이미지를 어플리케이션으로 임포팅(304)하게끔 하는 명령어들을 실행하도록 구성된다. 멀티뷰 이미지 생성 시스템은, 단일 뷰 이미지를 수신하거나 이에 액세스하는 어플리케이션(예를 들어, 도 2의 어플리케이션(203))을 실행할 수 있다. 멀티뷰 이미지 생성 시스템은 프로세서로 하여금 단일 뷰 이미지를 복제(307)하게끔 하는 명령어들을 실행하도록 구성된다. 기본 멀티뷰 이미지 형식 또는 사용자-지정 멀티뷰 이미지 형식은 뷰들의 개수 또는 뷰들의 배향을 제어할 수 있다. 단일 뷰 이미지는 이러한 멀티뷰 이미지 형식에 따라 복제될 수 있다. 예를 들어, 도 3에 도시된 바와 같이, 단일 뷰 이미지(205)는 4-뷰 멀티뷰 이미지 형식에 따라 수평 시차를 갖는 4개의 뷰들을 생성하도록 복제된다.
멀티뷰 이미지 생성 시스템은 프로세서로 하여금 멀티뷰 이미지 레이어를 선택(310)하게끔 하는 명령어들을 실행하도록 구성된다. 예를 들어, 프로세서는 복합 멀티뷰 이미지를 형성하는 복수의 멀티뷰 이미지 레이어들 중 제 1 멀티뷰 이미지 레이어를 선택할 수 있으며, 제 1 멀티뷰 이미지 레이어는 복수의 뷰 이미지들을 포함한다. 복수의 뷰 이미지들은 이전에 임포팅되었던 단일 뷰 이미지로부터 복제된 동일한 뷰 이미지들일 수 있다. 일부 실시 예들에서, 단일 뷰 이미지를 임포팅하는 경우, 어플리케이션은 자동으로 단일 뷰 이미지 레이어에 대한 새로운 멀티뷰 이미지 레이어를 생성한 이후, 단일 뷰 이미지 레이어를 복제하여 새로운 멀티뷰 이미지 레이어에 대한 동일한 뷰들을 생성할 수 있다. 새로운 멀티뷰 이미지 레이어는 단일 뷰 이미지를 임포팅하는 것에 응답하여 기본으로 선택될 수 있다. 다른 실시 예들에서, 사용자는 임의의 기존의 멀티뷰 이미지 레이어를 수동으로 선택할 수 있다. 사용자에 의해 지정된 이미지 편집 작업들은 선택된 멀티뷰 이미지 레이어(예를 들어, 제 1 멀티뷰 이미지 레이어)에 국한된다.
멀티뷰 이미지 생성 시스템은 프로세서로 하여금 제 1 멀티뷰 이미지 레이어에 대한 깊이 설정을 포함하는 사용자 입력을 수신(313)하게끔 하는 명령어들을 실행하도록 구성된다. 깊이 설정은 멀티뷰 이미지가 렌더링됨에 따라 깊이를 조절하기 위한 멀티뷰 이미지 편집 작업일 수 있다. 깊이 설정은 스크린을 기준으로 시각적 컨텐츠가 사용자에게 나타나는 거리에 대응되는 값일 수 있다. 이러한 점에서, 깊이 설정은 컨텐츠가 멀티뷰 디스플레이의 스크린의 전방에, 스크린 상에, 또는 스크린의 후방에 나타나게끔 할 수 있다. 깊이 설정은 선택된 멀티뷰 이미지 레이어의 컨텐츠에만 적용될 수 있다.
멀티뷰 이미지 생성 시스템은 프로세서로 하여금 깊이 설정을 시프트 값들로 변환(316)하게끔 하는 명령어들을 실행하도록 구성된다. 예를 들어, 프로세서는 뷰 이미지들 각각의 순번을 기반으로 깊이 설정을 대응하는 뷰 이미지들에 대한 복수의 시프트 값들로 변환할 수 있다. 예를 들어, 뷰 이미지들은 최-좌측 뷰로부터 최-우측 뷰에 걸쳐 1에서 4까지 순서화될 수 있다. 시프트 값은 각각의 뷰 이미지의 상대적 위치에 따라 다를 수 있다. 일부 실시 예들에서, 뷰 이미지들 중 하나는 기준 뷰 이미지로서 할당되는데, 기준 뷰 이미지의 시프트 값은 0이다. 이러한 점에서, 뷰 이미지들은 기준 뷰 이미지에 대해 시프팅된다.
멀티뷰 이미지 생성 시스템은 프로세서로 하여금 선택된 멀티뷰 이미지 레이어의 뷰 이미지들을 시프팅(319)시키게끔 하는 명령어들을 실행하도록 구성된다. 예를 들어, 프로세서는 선택된 제 1 멀티뷰 이미지 레이어의 뷰 이미지들을 대응하는 시프트 값들에 따라 시프팅시킬 수 있다. 이에 대한 예는 도 6과 관련하여 전술하였다.
멀티뷰 이미지 생성 시스템은 프로세서로 하여금 멀티뷰 이미지 레이어들을 자동으로 렌더링(322)하게끔 하는 명령어들을 실행하도록 구성된다. 예를 들어, 프로세서는 미리 정의된 시퀀스로 복수의 멀티뷰 이미지 레이어들을 멀티뷰 디스플레이 상에 복합 멀티뷰 이미지로서 자동으로 렌더링할 수 있다. 이에 대한 예는 도 7과 관련하여 전술하였다. 또한, 멀티뷰 이미지 생성 시스템은, 각각의 멀티뷰 이미지 레이어의 픽셀들을 멀티뷰 디스플레이의 인터레이싱된 위치들에 맵핑함으로써 미리 정의된 시퀀스로 복수의 멀티뷰 이미지 레이어들을 반복적으로 렌더링하도록 구성된 셰이더를 포함할 수 있다. 다른 실시 예들에서, 미리 정의된 시퀀스로 각각의 멀티뷰 이미지 레이어를 렌더링하는 경우, 현재의 멀티뷰 이미지 레이어는 자동 렌더링 동안 블렌딩될 수 있다. 이와 관련하여, 프로세서는 제 1 멀티뷰 이미지 레이어의 각각의 뷰 이미지를 복수의 멀티뷰 이미지 레이어들 중 제 2 멀티뷰 이미지 레이어의 대응하는 뷰 이미지들과 블렌딩할 수 있다.
전술한 도 9의 흐름도는 멀티뷰 이미지를 생성하는 시스템 또는 방법, 및 실행 가능한 명령어 세트의 구현을 예시할 수 있다. 소프트웨어로 구현되는 경우, 각각의 박스는 지정된 논리 함수(들)를 구현하기 위한 명령어들을 포함하는 코드의 부분, 세그먼트 또는 모듈을 나타낼 수 있다. 명령어들은 프로그래밍 언어로 작성된 사람이 읽을 수 있는 명령문을 포함하는 소스 코드, 소스 코드로부터 컴파일된 객체 코드, 또는 컴퓨팅 장치의 프로세서와 같은 적절한 실행 시스템에 의해 인식될 수 있는 숫자 명령어들을 포함하는 기계어 코드의 형태로 구현될 수 있다. 기계어 코드는 소스 코드 등으로부터 변환될 수 있다. 하드웨어로 구현되는 경우, 각각의 블록은 지정된 논리 함수(들)를 구현하기 위한 회로 또는 복수의 상호 연결된 회로들을 나타낼 수 있다.
도 9의 흐름도는 특정한 실행 순서를 나타내고 있지만, 실행 순서는 묘사된 순서와는 상이할 수 있음을 이해할 수 있다. 예를 들어, 2개 이상의 박스들의 실행 순서는 도시된 순서에 대해 뒤섞일 수 있다. 또한, 도시된 2개 이상의 박스들은 동시에 또는 부분적으로 동시에 실행될 수 있다. 또한, 일부 실시 예들에서, 박스들 중 하나 이상은 스킵(skip)되거나 생략될 수 있다.
도 10은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 깊이 맵으로부터 멀티뷰 이미지를 생성하는 일 예를 도시한다. 도 10은 명령어 세트를 실행하는 컴퓨팅 장치(예를 들어, 도 12의 멀티뷰 디스플레이 시스템)에 의해 구현되는 상이한 유형들의 기능의 일 예를 제공한다. 도 10은 또한, 컴퓨팅 시스템의 프로세서에 의해 실행되는 경우, 깊이 맵을 이용하여 멀티뷰 이미지를 생성하기 위한 동작들을 구현하는 실행 가능한 명령어들을 저장하는 비-일시적인 컴퓨터-판독 가능한 저장 매체의 일 실시 예를 묘사한다.
도 10은 단일 뷰 이미지를 제 1 멀티뷰 이미지 레이어에 할당하는 동작들을 묘사한다. 동작들은 제 1 멀티뷰 이미지 레이어에 대한 깊이 맵을 로딩하는 것을 더 포함한다. 또한, 동작들은 깊이 맵의 크기 및 형상 중 하나 또는 둘 다를 수정하는 것을 포함한다. 동작들은, 단일 뷰 이미지로부터 그리고 제 1 멀티뷰 이미지 레이어에 대한 수정된 깊이 맵으로부터 복수의 뷰 이미지들을 합성하는 것; 및 제 1 멀티뷰 이미지 레이어 및 제 2 멀티뷰 이미지 레이어를 미리 정의된 시퀀스로 멀티뷰 디스플레이 상에 복합 멀티뷰 이미지로서 자동으로 렌더링하는 것을 더 포함한다.
구체적으로, 도 10은 깊이 맵(402)을 묘사한다. 깊이 맵은 이미지 파일로 포맷될 수 있거나 픽셀 어레이를 포함할 수 있다. 깊이 맵은 각각의 픽셀에 대한 픽셀 값들(405)을 포함할 수 있으며, 픽셀 값은 픽셀에 대한 깊이 설정을 특정한다. 깊이 맵은 그레이스케일(grayscale) 이미지로서 시각화될 수 있다. 깊이 맵(402)은 픽셀 단위로 2D 이미지의 깊이를 제어하기 위해 단일 뷰 이미지에 적용될 수 있다. 도 10의 예는 구의 중심을 향하는 픽셀들이 시청자에게 더 가까운 위치를 나타내고 구의 에지들을 향하는 픽셀들은 시청자로부터 더 멀리 떨어진 위치를 나타내는, 구 형상을 반영하는 깊이 맵을 묘사한다. 깊이 맵(402)은, 단일 뷰 이미지(408)가 깊이 맵(402)에 의해 정의되는 깊이 속성들을 채택하도록, 단일 뷰 이미지(408)에 적용된다. 단일 뷰 이미지(408)는 사용자 인터페이스(411)에서 사용자에게 제공될 수 있다. 깊이 맵(402)은 단일 뷰 이미지(408) 내의 객체들의 에지들에 부합하도록 스케일링되거나, 기울어지거나, 크기 조정되거나, 형상이 변경되거나, 또는 다른 방식으로 왜곡될 수 있다. 사용자는 깊이 맵(402)(또는 단일 뷰 이미지)의 여러 코너들 또는 에지들을 드래그하여 깊이 맵(402)을 단일 뷰 이미지(408)에 정렬할 수 있다. 이와 관련하여, 초기 깊이 맵(402a)이 사용자에 의해 조정되어 수정된 깊이 맵(402b)이 생성될 수 있다. 단일 뷰 이미지(408)는 복수의 멀티뷰 이미지 레이어들 중 소정의 멀티뷰 이미지 레이어에 할당될 수 있다. 뷰 합성기(415)는 수정된 깊이 맵(402b)을 단일 뷰 이미지(408)에 적용하여 멀티뷰 이미지(418)의 뷰 이미지들을 생성할 수 있다. 따라서, 비-선택된 멀티뷰 이미지 레이어들의 뷰 이미지들을 보존하면서, 선택된 또는 특정한 멀티뷰 이미지 레이어들에 대해 뷰 이미지들이 합성될 수 있다.
더 설명하자면, 멀티뷰 이미지는 단일 뷰 이미지를 제 1 멀티뷰 이미지 레이어에 할당함으로써 생성될 수 있다. 전술한 바와 같이, 사용자는 단일 뷰 이미지(408)를 어플리케이션(예를 들어, 도 3의 어플리케이션(203))으로 임포팅할 수 있다. 단일 뷰 이미지는, 할당을 반영하도록 멀티뷰 이미지 레이어 데이터를 업데이트함으로써, 멀티뷰 이미지 레이어에 할당될 수 있다. 단일 뷰 이미지를 제 1 멀티뷰 이미지 레이어에 할당함으로써, 단일 뷰 이미지(408)에 대해 수행되는 이미지 편집 작업들은 다른 멀티뷰 이미지 레이어들에 영향을 주지 않고 단지 제 1 멀티뷰 이미지 레이어에 국한될 수 있다.
동작들은 제 1 멀티뷰 이미지 레이어에 대한 깊이 맵(402)을 로딩하는 것을 더 포함한다. 깊이 맵(402)은, 예를 들어 로컬 메모리 또는 원격 서버와 같은 저장소에 이미지 파일로서 저장될 수 있다. 깊이 맵(402)은 사용자가 이미지를 그레이스케일 이미지로 변환함으로써 생성될 수 있다. 동작들은 깊이 맵(402)의 크기 및 형상 중 하나 또는 둘 다를 수정하는 것을 포함한다. 사용자는 초기 깊이 맵(402a)이 수정된 깊이 맵(402b)이 되도록 깊이 맵(402)의 형상 또는 크기를 수정할 수 있다. 사용자 인터페이스(411)는 깊이 맵(402)을 단일 뷰 이미지(408) 상에 오버레이하고, 깊이 맵(402)의 크기 및 형상 중 하나 또는 둘 다를 수정하기 위한 사용자 입력을 수신하도록 구성될 수 있다. 예를 들어, 사용자는 커서, 터치 스크린, 또는 기타의 입력 메커니즘을 이용하여 깊이 맵(402)의 형상 및 크기를 늘리거나, 기울이거나, 확대하거나, 축소할 수 있다. 깊이 맵(402) 또는 단일 뷰 이미지(408)는 사용자가 깊이 맵(402) 및 단일 뷰 이미지(408)를 모두 볼 수 있도록 부분적으로 투명할 수 있다. 사용자는 깊이 맵(402)을 이동, 조정 또는 수정하여 이를 정렬하거나 또는 깊이 맵(402)의 형상을 단일 뷰 이미지(408) 내의 객체 또는 특징의 형상에 일치시킬 수 있다. 어플리케이션은 사용자로 하여금 깊이 맵(402) 내의 특징들의 경계들 또는 에지들을 단일 뷰 이미지(408) 내의 특징들의 경계들 또는 에지들에 매칭시키게끔 할 수 있다. 도 10의 예는 초기 깊이 맵(402a)을 수정된 깊이 맵(402b)으로 크기 조정함으로써 깊이 맵(402)의 구형 특징이 단일 뷰 이미지(408)의 구형 특징에 부합하도록 확대 및 스케일링되는 방식을 보여준다.
깊이 맵(402)이 크기 조정되거나 형상이 변경되면, 동작들은 단일 뷰 이미지(408)로부터 그리고 제 1 멀티뷰 이미지 레이어에 대한 수정된 깊이 맵(402b)으로부터 복수의 뷰들을 합성하는 것을 포함한다. 뷰 합성기(415)는 뷰 합성을 수행하는 데 이용될 수 있다. 뷰 합성기(415)는 수정된 깊이 맵(402b) 및 단일 뷰 이미지(408)로부터 목표 개수의 뷰 이미지들을 생성할 수 있다. 뷰 합성기(415)는 단일 뷰 이미지(408)를 외삽하여 하나 이상의 새로운 뷰 이미지를 생성할 수 있다. 뷰 합성은 포워드 워핑(forward warping), 깊이 테스트(depth test), 및 예를 들어 폐색되지 않은(de-occluded) 영역을 채우기 위해 인근 영역을 샘플링하는 인페인팅(in-painting) 기법 중 하나 이상을 포함할 수 있다. 포워드 워핑은 소스 이미지에 변환을 적용하는 이미지 왜곡 프로세스이다. 소스 이미지의 픽셀들은 주사선 순서로 처리될 수 있으며, 그 결과는 타겟 이미지에 투영된다. 깊이 테스트는, 셰이더(shader)에 의해 처리되거나 처리될 이미지의 조각들이, 기록되고 있는 샘플의 깊이와 관련하여 테스트되는 깊이 값들을 갖는, 프로세스이다. 테스트가 실패하는 경우 조각들은 폐기된다. 그리고, 테스트가 통과하는 경우 깊이 버퍼는 조각들의 출력 깊이로 업데이트된다. 인페인팅은 이미지의 누락되거나 알려지지 않은 영역을 채우는 것을 의미한다. 일부 기법들은 인근 픽셀들을 기반으로 픽셀 값들을 예측하거나 또는 인근 픽셀들을 알려지지 않았거나 누락된 영역에 반영하는 것을 포함한다. 미지의 누락된 또는 알려지지 않은 영역들은, 다른 장면 객체에 의해 부분적으로 덮여 있는 장면 객체를 지칭하는 장면 탈-폐색(de-occlusion)으로부터 야기될 수 있다. 이와 관련하여, 뷰 합성은 원래의 관점으로부터 장면의 새로운 관점을 구성하기 위한 이미지 처리 기법들을 포함할 수 있다. 뷰 합성은 신경망을 이용하여 복수의 뷰 이미지들을 예측하는 것을 포함할 수 있다. 신경망은 훈련 데이터를 이용하여 훈련될 수 있다. 훈련 데이터는 멀티뷰 이미지들 및 대응하는 깊이 맵들을 포함할 수 있다.
뷰 이미지들이 합성되면, 컴퓨팅 시스템은 제 1 멀티뷰 이미지 레이어 및 제 2 멀티뷰 이미지 레이어를 미리 정의된 시퀀스로 멀티뷰 디스플레이 상에서 복합 멀티뷰 이미지로서 자동으로 렌더링하는 것을 포함하는 추가적인 동작들을 수행할 수 있다. 미리 정의된 시퀀스로 멀티뷰 이미지 레이어들을 렌더링하는 일 예를 도 7과 관련하여 전술하였다. 일부 실시 예들에서, 자동 렌더링은 각각의 뷰 이미지의 픽셀들을 멀티뷰 디스플레이의 인터레이싱된 위치들에 맵핑함으로써 수행된다. 멀티뷰 이미지 레이어의 상이한 뷰들의 픽셀들을 인터레이싱하는 일 예를 도 8과 관련하여 전술하였다.
도 11은 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따라 사용자들로 하여금 멀티뷰 이미지들을 생성 및 편집할 수 있게끔 하는 어플리케이션의 사용자 인터페이스의 일 예를 도시한다. 사용자 인터페이스(502)는, 예를 들어 도 3의 어플리케이션(203)과 같은 어플리케이션에 의해 제공될 수 있다. 사용자 인터페이스(502)는 사용자로 하여금, 단일 뷰 이미지들을 로딩하고, 이들을 멀티뷰 이미지들로 변환하고, 상이한 멀티뷰 이미지들을 레이어화하고, 선택된 레이어들을 편집하고, 상이한 멀티뷰 이미지 레이어들의 멀티뷰 파라미터들을 조정하고, 멀티뷰 이미지에 대한 편집들이 이루어짐에 따라 실시간으로 멀티뷰 디스플레이 상에 그 결과들을 시각화할 수 있게끔 한다. 사용자 인터페이스(502)는 편집 중인 이미지를 디스플레이하는 이미지 영역(506)을 포함한다. 이미지 영역(506)은 사용자에 의한 최신 편집 내용으로 처리된 이미지를 나타낸다. 이와 관련하여, 사용자가 멀티뷰 이미지를 편집함에 따라, 어플리케이션은 멀티뷰 이미지를 자동으로 렌더링하여 이미지 영역(506)에 제공한다.
사용자 인터페이스(502)는 또한 2D/멀티뷰 토글 스위치(toggle switch; 509)를 포함할 수 있다. 2D/멀티뷰 토글 스위치(509)는 사용자로 하여금 편집된 이미지의 표현을 '2D'와 '멀티뷰' 사이에서 전환할 수 있게끔 한다. 2D/멀티뷰 토글 스위치(509)가 '2D'로 설정되는 경우, 이미지 영역(506)은 편집된 이미지를 2D 이미지로서 제공한다. 사용자가 멀티뷰 이미지의 특정 부분을 선택하여 이미지 편집 작업을 수행하는 것이 더 쉬울 수 있으므로, 일부 경우들에서 2D로 제공된 이미지를 편집하는 것이 더 편리할 수 있다. 또한, '2D' 뷰 옵션이 선택되는 경우 기준 이미지 뷰가 사용자에게 제공된다. 이후, 기준 이미지 뷰에 대해 이루어진 편집 내용이 다른 뷰들에 자동으로 적용될 수 있다. 2D/멀티뷰 토글 스위치(509)가 '멀티뷰'로 설정되는 경우, 이미지 영역(506)은 편집된 이미지를 멀티뷰 이미지로서 제공한다.
사용자 인터페이스(502)는 또한 깊이 제어기(512)를 포함할 수 있다. 깊이 제어기(512)는 사용자가 깊이 설정을 입력할 수 있게끔 하는 도 5의 사용자 인터페이스 요소(225)와 유사할 수 있다. 깊이 제어기(512)는 선택된 멀티뷰 이미지 레이어에 또는 선택된 멀티뷰 이미지 레이어의 선택된 부분에 깊이 설정을 적용하는 데 이용될 수 있다. 예를 들어, 사용자가 특정 멀티뷰 이미지에 대한 깊이 설정을 수정함에 따라, 멀티뷰 이미지는 사용자가 깊이 설정을 추적하는 깊이를 지각할 수 있도록 자동으로 렌더링된다.
사용자 인터페이스(502)는 또한 멀티뷰 이미지 레이어 리스트(515)를 포함할 수 있다. 멀티뷰 이미지 레이어 리스트(515)는 멀티뷰 이미지 레이어들의 순서화된 리스트를 포함하는 멀티뷰 이미지 레이어 데이터를 사용자에게 전달할 수 있다. 사용자는 하나 이상의 멀티뷰 이미지 레이어를 선택하여 선택된 멀티뷰 이미지 레이어들에만 이미지 편집 작업을 적용할 수 있다. 예를 들어, 도 11은 "MV 레이어 2"가 선택되고, "MV 레이어 1" 및 "MV 레이어 3"은 선택되지 않음을 나타낸다. 결과적으로, 이미지 편집 작업들(예를 들어, 깊이 설정의 조정, 이미지의 이동 등)은 "MV 레이어 2"의 뷰 이미지들에만 적용된다. 또한, 사용자는 멀티뷰 이미지 레이어 리스트(515)에 반영된 멀티뷰 이미지 레이어들의 순서를 변경할 수 있다. 이 순서는 멀티뷰 이미지 레이어들이 아래로부터 위로 렌더링되는 시퀀스를 지정할 수 있다. 이 예에서, "MV 레이어 1"은 하부 멀티뷰 이미지 레이어의 명칭이고, "MV 레이어 2"는 중간 멀티뷰 이미지 레이어의 명칭이며, "MV 레이어 3"은 상부 멀티뷰 이미지 레이어의 명칭이다.
사용자 인터페이스(502)는 선택 도구들(518)을 위한 메뉴를 가질 수 있다. 선택 도구들(518)은 사용자로 하여금 이미지 영역(506)에 나타난 픽셀들을 선택할 수 있게끔 하는 다양한 사용자 인터페이스 요소들을 포함할 수 있다. 예를 들어, 사용자는 올가미(lasso)를 이용하여 픽셀들의 그룹들을 선택할 수 있거나, 사용자는 색상에 또는 색상 범위에 대응되는 픽셀들을 선택할 수 있거나, 또는 사용자는 이미지 영역(506) 내에서 편집된 이미지의 특징의 경계 또는 에지 내에 속하는 픽셀들을 선택할 수 있다. 선택된 픽셀들에 대해 다양한 이미지 편집 작업들이 선택적으로 적용될 수 있다.
사용자 인터페이스(502)는 이미지 임포팅(521)을 위한 메뉴를 포함할 수 있다. 이미지 임포팅(521)을 위한 메뉴는 단일 뷰 이미지들을 포함하는 이미지들의 저장소에 대한 액세스를 제공할 수 있다. 이러한 점에서, 사용자 인터페이스(502)를 이용하여 단일 뷰 이미지가 임포팅될 수 있다. 사용자 인터페이스(502)는 스타일들(524)에 대한 메뉴를 포함할 수 있다. 스타일(524)은 편집된 이미지를 스타일(524)의 시각적 속성들을 취하도록 변형시키는 필터, 텍스처, 패턴 또는 색상 구성이다. 스타일들(524)은 멀티뷰 이미지들뿐만 아니라 단일 뷰 이미지들에도 적용될 수 있다.
사용자 인터페이스(502)는 이미지 편집 도구들(527)을 포함할 수 있다. 이미지 편집 도구들(527)은 사용자가 형상들을 그리거나, 색상 채우기를 추가하거나, 색상을 지우거나, 텍스트를 추가하거나, 기타의 방식으로 시각적 컨텐츠를 생성할 수 있게끔 한다. 이미지 편집 도구들(527)은 또한 선명화, 페더링(feathering), 흐림, 번짐, 소용돌이, 픽셀 색상 혼합, 또는 새로운 이미지들 또는 그래픽 컨텐츠를 생성하는 것을 포함하는 시각적 속성들을 수정하기 위한 도구들을 포함한다. 단일 뷰 이미지들은 이미지 편집 도구들을 이용하여 스크래치(scratch)로부터 생성될 수 있고, 이후 깊이를 수정함으로써 멀티뷰 이미지로 변환될 수 있다.
사용자 인터페이스(502)는 블렌딩 도구들(530)을 포함할 수 있다. 블렌딩은 멀티뷰 이미지 레이어들이 미리 정의된 시퀀스로 렌더링됨에 따라 상이한 멀티뷰 이미지 레이어들의 픽셀 값들을 블렌딩하는 것을 의미한다. 블렌딩 도구들(530)은 렌더링 동안 어떤 멀티뷰 이미지 레이어들이 블렌딩되는지 뿐만 아니라 적용되어야 하는 임의의 블렌딩 기능을 특정할 수 있다.
사용자 인터페이스(502)는 깊이 맵 로딩(533)을 위한 메뉴를 포함할 수 있다. 예를 들어, 사용자 인터페이스(502)는 사용자가 특정 깊이 맵(예를 들어, 도 10의 깊이 맵(402))을 선택하고 로딩할 수 있게끔 하는 도 10의 사용자 인터페이스(411)와 유사하게 동작할 수 있다. 사용자 인터페이스(502)는 멀티뷰 파라미터들(536)을 선택하기 위한 메뉴를 포함할 수 있다. 멀티뷰 파라미터들(536)은 멀티뷰 이미지를 포맷하는 방식에 특정된 파라미터들을 포함한다. 멀티뷰 파라미터들은 도 5의 멀티뷰 파라미터들(231)과 유사할 수 있다. 예를 들어, 멀티뷰 파라미터들(536)은 기준선, 뷰들의 개수, 또는 뷰들의 배향을 포함할 수 있다. 사용자 인터페이스(502)는 이미지 저장(539)을 위한 메뉴를 포함할 수 있다. 사용자는 이미지를 저장할 때 멀티뷰 파일 형식을 지정할 수 있다.
따라서, 사용자 인터페이스(502)는 사용자가 단일 뷰 이미지들로부터 멀티뷰 이미지들을 생성하고, 편집들이 이루어질 때 멀티뷰 이미지에 대해 이루어진 그러한 편집 내용들을 실시간으로 볼 수 있게끔 한다. 상이한 시간 지점들에서 별개의 뷰들을 생성하는 대신에, 사용자 인터페이스는 단일 뷰 이미지를 선택된 멀티뷰 이미지 레이어 내의 멀티뷰 이미지로 변환하고 사용자가 멀티뷰 이미지의 깊이 및 다른 멀티뷰 파라미터들을 조정할 수 있게끔 한다. 멀티뷰 파라미터들 및 이미지 편집 작업들이 단일 뷰 이미지에 적용됨에 따라, 상이한 뷰들의 생성 및 편집이 자동으로 이루어진다.
도 12는 본 명세서에 설명된 원리들에 일치되는 일 실시 예에 따른 멀티뷰 디스플레이 시스템(1000)의 예시적인 실례를 묘사하는 개략적인 블록도를 도시한다. 멀티뷰 디스플레이 시스템(1000)은 멀티뷰 디스플레이 시스템(1000)의 사용자를 위해 다양한 컴퓨팅 동작들을 수행하는 컴포넌트(component)들의 시스템을 포함할 수 있다. 멀티뷰 디스플레이 시스템(1000)은 랩톱, 태블릿, 스마트 폰, 터치 스크린 시스템, 지능형 디스플레이 시스템, 컴퓨팅 장치, 또는 기타의 클라이언트 장치일 수 있다. 멀티뷰 디스플레이 시스템(1000)은, 예를 들어 프로세서(들)(1003), 메모리(1006), 입출력(input/output; I/O) 컴포넌트(들)(1009), 디스플레이(1012) 및 잠재적인 기타의 컴포넌트들과 같은 다양한 컴포넌트들을 포함할 수 있다. 이러한 컴포넌트들은, 멀티뷰 디스플레이 시스템(1000)의 컴포넌트들이 서로 통신할 수 있도록 로컬 인터페이스로서의 역할을 하는 버스(1015)에 결합될 수 있다. 멀티뷰 디스플레이 시스템(1000)의 컴포넌트들이 멀티뷰 디스플레이 시스템(1000) 내에 포함되는 것으로 도시되지만, 컴포넌트들 중 적어도 일부는 외부 연결을 통해 멀티뷰 디스플레이 시스템(1000)에 결합될 수도 있음을 이해하여야 한다. 예를 들어, 컴포넌트들은 외부 포트들, 소켓들, 플러그들, 또는 커넥터들을 통해 멀티뷰 디스플레이 시스템(1000)에 외부적으로 연결되거나 또는 다른 방식으로 연결될 수 있다.
프로세서(1003)는 중앙 처리 유닛(central processing unit; CPU), 그래픽스 처리 유닛(graphics processing unit; GPU), 컴퓨팅 처리 동작들을 수행하는 임의의 다른 집적 회로, 또는 이들의 임의의 조합일 수 있다. 프로세서(들)(1003)는 하나 이상의 프로세싱 코어들을 포함할 수 있다. 프로세서(들)(1003)는 명령어들을 실행하는 회로를 포함한다. 예를 들어, 명령어들은, 명령어들에 구현된 컴퓨팅 기능을 수행하기 위해 프로세서(들)(1003)에 의해 수신되고 실행되는 컴퓨터 코드, 프로그램들, 로직 또는 기타의 기계 판독가능 명령어들을 포함한다. 프로세서(들)(1003)는 데이터에 대해 연산하도록 명령어들을 실행할 수 있다. 예를 들어, 프로세서(들)(1003)는 입력 데이터(예를 들어, 이미지)를 수신하고, 명령어 세트에 따라 입력 데이터를 처리하고, 출력 데이터(예를 들어, 처리된 이미지)를 생성할 수 있다. 다른 예로서, 프로세서(들)(1003)는 명령어들을 수신하고 후속 실행을 위한 새로운 명령어들을 생성할 수 있다. 프로세서(1003)는, 도 7과 관련하여 전술한 셰이더(240)와 같은, 이미지들을 렌더링하기 위한 셰이더를 구현하기 위한 하드웨어를 포함할 수 있다. 프로세서(들)(1003)는 하나 이상의 GPU 코어, 벡터 프로세서, 스케일러 프로세스, 또는 그래픽스 파이프라인을 구현하는 하드웨어 가속기를 포함할 수 있다.
메모리(1006)는 하나 이상의 메모리 컴포넌트들을 포함할 수 있다. 본 명세서에서, 메모리(1006)는 휘발성 메모리 및 비휘발성 메모리 중 하나 또는 둘 다를 포함하는 것으로 정의된다. 휘발성 메모리 컴포넌트들은 전력 손실 시 정보를 보유하지 않는 컴포넌트들이다. 예를 들어, 휘발성 메모리는 랜덤 액세스 메모리(random access memory; RAM), 정적(static) 랜덤 액세스 메모리(SRAM), 동적(dynamic) 랜덤 액세스 메모리(DRAM), 자기(magnetic) 랜덤 액세스 메모리(MRAM), 또는 기타의 휘발성 메모리 구조를 포함할 수 있다. 시스템 메모리(예를 들어, 메인 메모리, 캐시 등)는 휘발성 메모리를 이용하여 구현될 수 있다. 시스템 메모리는 프로세서(들)(1003)를 보조하기 위해 고속 읽기 및 쓰기 액세스를 위한 데이터 또는 명령어들을 일시적으로 저장할 수 있는 고속 메모리를 지칭한다.
비휘발성 메모리 컴포넌트들은 전력 손실 시 정보를 유지하는 컴포넌트들이다. 비휘발성 메모리는 읽기 전용 메모리(read-only memory; ROM), 하드 디스크 드라이브, 고체 상태 드라이브, USB 플래시 드라이브, 메모리 카드 판독기를 통해 액세스되는 메모리 카드, 관련 플로피 디스크 드라이브를 통해 액세스되는 플로피 디스크, 광학 디스크 드라이브를 통해 액세스되는 광학 디스크, 적절한 테이프 드라이브를 통해 액세스되는 자기 테이프를 포함한다. 예를 들어, ROM은 프로그램 가능한(programmable) 읽기 전용 메모리(PROM), 소거 가능 프로그램 가능한(erasable programmable) 읽기 전용 메모리(EPROM), 전기적 소거 가능 프로그램 가능한(electrically erasable programmable) 읽기 전용 메모리(EEPROM), 또는 기타의 유사한 메모리 장치를 포함할 수 있다. 스토리지(storage) 메모리는 데이터 및 명령어들의 지속적인 유지를 제공하기 위해 비휘발성 메모리를 이용하여 구현될 수 있다.
메모리(1006)는 명령어들뿐만 아니라 데이터를 저장하기 위해 사용되는 휘발성 메모리 및 비휘발성 메모리의 조합을 의미할 수 있다. 예를 들어, 데이터 및 명령어들은 비휘발성 메모리에 저장될 수 있으며, 프로세서(들)(1003)에 의한 처리를 위해 휘발성 메모리에 로딩될 수 있다. 예를 들어, 명령어들의 실행은, 비휘발성 메모리로부터 휘발성 메모리로 로딩된 이후 프로세서(1003)에 의해 실행될 수 있는 될 수 있는 형식의 기계 코드로 변환된 컴파일된 프로그램, 프로세서(1003)에 의한 실행을 위해 휘발성 메모리로 로딩될 수 있는 객체 코드와 같은 적절한 형식으로 변환된 소스 코드, 또는 휘발성 메모리에서 명령어들을 생성하기 위해 다른 실행 가능한 프로그램에 의해 해석되고 프로세서(1003)에 의해 실행되는 소스 코드 등을 포함할 수 있다. 명령어들은, 예를 들어 RAM, ROM, 시스템 메모리, 스토리지, 또는 이들의 임의의 조합을 포함하는 메모리(1006)의 임의의 부분 또는 컴포넌트에 저장되거나 로딩될 수 있다.
메모리(1006)가 멀티뷰 디스플레이 시스템(1000)의 다른 컴포넌트들과는 별개인 것으로 도시되지만, 메모리(1006)는 적어도 부분적으로 하나 이상의 컴포넌트들에 탑재되거나 다른 방식으로 집적될 수 있음을 이해하여야 한다. 예를 들어, 프로세서(들)(1003)는 처리 동작들을 수행하기 위해 온보드(onboard) 메모리 레지스터들 또는 캐시를 포함할 수 있다.
예를 들어, I/O 컴포넌트(들)(1009)는 터치 스크린, 스피커, 마이크로폰, 버튼, 스위치, 다이얼, 카메라, 센서, 가속도계, 또는 사용자 입력을 수신하거나 사용자에게 지시되는 출력을 생성하는 기타의 컴포넌트들을 포함한다. I/O 컴포넌트(들)(1009)는 사용자 입력을 수신하여 메모리(1006)에의 저장 또는 프로세서(들)(1003)에 의한 처리를 위한 데이터로 변환할 수 있다. I/O 컴포넌트(들)(1009)는 메모리(1006) 또는 프로세서(들)(1003)에 의해 출력되는 데이터를 수신하고 이를 사용자에 의해 지각되는 형식(예를 들어, 소리, 촉각 반응, 시각 정보 등)으로 변환할 수 있다. 전술한 사용자 인터페이스들은, 예를 들어 키보드, 터치 스크린, 또는 마우스 등과 같은 I/O 컴포넌트(1009)를 통해 사용자 입력을 수신할 수 있다.
I/O 컴포넌트(1009)의 특정 유형은 디스플레이(1012)이다. 디스플레이(1012)는 멀티뷰 디스플레이(예를 들어, 멀티뷰 디스플레이(112))를 포함할 수 있다. I/O 컴포넌트(1009)로서 기능하는 용량성 터치 스크린 계층은, 사용자가 입력을 제공함과 동시에 시각적 출력을 지각할 수 있도록, 디스플레이 내에 계층화될 수 있다. 프로세서(들)(1003)는 디스플레이(1012) 상의 표현을 위한 이미지로서 포맷된 데이터를 생성할 수 있다. 프로세서(들)(1003)는 사용자에 의한 지각을 위해 디스플레이 상에 이미지를 렌더링하기 위한 명령어들을 실행할 수 있다.
버스(1015)는 프로세서(들)(1003), 메모리(1006), I/O 컴포넌트(들)(1009), 디스플레이(1012) 및 멀티뷰 디스플레이 시스템(1000)의 임의의 다른 컴포넌트들 사이의 명령어들 및 데이터의 통신을 용이하게 한다. 버스(1015)는 데이터 및 명령어들의 통신을 허용하기 위해 어드레스 변환기들, 어드레스 디코더들, 패브릭, 전도성 트레이스들, 전도성 와이어들, 포트들, 플러그들, 소켓들 및 기타의 커넥터들을 포함할 수 있다.
메모리(1006) 내의 명령어들은 소프트웨어 스택의 적어도 일부를 구현하는 방식으로 다양한 형태로 구현될 수 있다. 예를 들어, 명령어들은 운영 체제(1031), 어플리케이션(들)(1034), 장치 드라이버(예를 들어, 디스플레이 드라이버(1037)), 펌웨어(예를 들어, 디스플레이 펌웨어(1040)), 또는 기타의 소프트웨어 컴포넌트들로서 구현될 수 있다. 운영 체제(1031)는 동작 스케줄링, I/O 컴포넌트들(1009) 제어, 하드웨어 리소스에 대한 액세스 제공, 전력 관리, 및 어플리케이션(1034) 지원과 같은, 멀티뷰 디스플레이 시스템(1000)의 기본 기능을 지원하는 소프트웨어 플랫폼이다.
어플리케이션(들)(1034)은 운영 체제(1031) 상에서 실행되고 운영 체제(1031)를 통해 멀티뷰 디스플레이 시스템(1000)의 하드웨어 리소스들에 액세스할 수 있다. 이와 관련하여, 어플리케이션(들)(1034)의 실행은 적어도 부분적으로 운영 체제(1031)에 의해 제어된다. 어플리케이션(들)(1034)은 사용자에게 높은 수준의 기능, 서비스 및 기타의 기능을 제공하는 사용자 수준의 소프트웨어 프로그램일 수 있다. 일부 실시 예들에서, 어플리케이션(1034)은 멀티뷰 디스플레이 시스템(1000) 상에서 사용자가 다운로드 가능하거나 액세스 가능한 전용 '앱(app)'일 수 있다. 사용자는 운영 체제(1031)에 의해 제공되는 사용자 인터페이스를 통해 어플리케이션(들)(1034)을 실행할 수 있다. 어플리케이션(들)(1034)은 개발자들에 의해 개발되고 다양한 소스 코드 형식들로 정의될 수 있다. 어플리케이션들(1034)은, 예를 들어, C, C++, C#, Objective C, Java®, Swift, JavaScript®, Perl, PHP, Visual Basic®, Python®, Ruby, Go, 또는 기타의 프로그래밍 언어들과 같은, 많은 프로그래밍 또는 스크립팅 언어들을 이용하여 개발될 수 있다. 어플리케이션(들)(1034)은 컴파일러에 의해 객체 코드로 컴파일되거나 프로세서(들)(1003)에 의한 실행을 위해 해석기에 의해 해석될 수 있다. 어플리케이션(1034)은 도3의 어플리케이션(203)일 수 있다. 어플리케이션(1034)은 사용자 인터페이스(예를 들어, 사용자 인터페이스(411), 사용자 인터페이스(511))를 제공할 수도 있다.
예를 들어 디스플레이 드라이버(1037)와 같은 장치 드라이버들은, 운영 체제(1031)가 다양한 I/O 컴포넌트들(1009)과 통신할 수 있도록 하는, 명령어들을 포함한다. 각각의 I/O 컴포넌트(1009)는 자신의 장치 드라이버를 가질 수 있다. 장치 드라이버들은, 스토리지에 저장되고 시스템 메모리에 로딩되도록, 설치될 수 있다. 예를 들어, 설치 시에, 디스플레이 드라이버(1037)는 운영 체제(1031)로부터 수신된 높은 수준의 디스플레이 명령어를 이미지의 디스플레이를 위해 디스플레이(1012)에 의해 구현되는 낮은 수준의 명령어들로 변환한다.
예를 들어 디스플레이 펌웨어(1040)와 같은, 펌웨어는 I/O 컴포넌트(1009) 또는 디스플레이(1012)가 낮은 수준의 연산들을 수행할 수 있게끔 하는 기계 코드 또는 어셈블리 코드를 포함할 수 있다. 펌웨어는 특정 컴포넌트의 전기적 신호들을 더 높은 수준의 명령어들 또는 데이터로 변환할 수 있다. 예를 들어, 디스플레이 펌웨어(1040)는 전압 또는 전류 신호를 조절함으로써 디스플레이(1012)가 낮은 수준에서 개별 픽셀들을 활성화하는 방식을 제어할 수 있다. 펌웨어는 비휘발성 메모리에 저장되고, 비휘발성 메모리로부터 직접 실행될 수 있다. 예를 들어, 디스플레이 펌웨어(1040)는, ROM 칩이 멀티뷰 디스플레이 시스템(1000)의 다른 스토리지 및 시스템 메모리로부터 분리되도록 디스플레이(1012)에 연결된, ROM 칩에 구현될 수 있다. 디스플레이(1012)는 디스플레이 펌웨어(1040)를 실행하기 위한 프로세싱 회로를 포함할 수 있다.
운영 체제(1031), 어플리케이션(들)(1034), 드라이버들(예를 들어, 디스플레이 드라이버(1037)), 펌웨어(예를 들어, 디스플레이 펌웨어(1040)), 및 가능한 다른 명령어 세트들은, 각각, 전술한 기능 및 동작들을 수행하기 위해 프로세서(들)(1003) 또는 멀티뷰 디스플레이 시스템(1000)의 다른 프로세싱 회로에 의해 실행 가능한 명령어들을 포함한다. 비록 본 명세서에 설명된 명령어들은 전술한 바와 같이 프로세서(들)(1003)에 의해 실행되는 소프트웨어 또는 코드로 구현될 수 있지만, 대안적으로, 명령어들은 전용 하드웨어 또는 소프트웨어와 전용 하드웨어의 조합으로 구현될 수도 있다. 예를 들어, 전술한 명령어들에 의해 수행되는 기능 및 동작들은 여러 기법들 중 어느 하나 또는 이들의 조합을 채용하는 회로 또는 상태 머신으로서 구현될 수 있다. 이러한 기법들은, 하나 이상의 데이터 신호의 인가 시 다양한 로직 기능들을 구현하기 위한 로직 게이트들을 갖는 개별 로직 회로들, 적절한 로직 게이트들을 갖는 어플리케이션 특정 집적 회로(application specific integrated circuit; ASIC)들, 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA)들, 또는 기타의 컴포넌트들 등을 포함할 수 있지만, 이에 제한되지는 않는다.
일부 실시 예들에서, 전술한 기능 및 동작들을 수행하는 명령어들은 비-일시적인 컴퓨터-판독 가능한 저장 매체에 구현될 수 있다. 예를 들어, 실시 예들은, 컴퓨팅 시스템(예를 들어, 멀티뷰 디스플레이 시스템(1000))의 프로세서(예를 들어, 프로세서(1003))에 의해 실행되는 경우, 프로세서로 하여금 단일 뷰 이미지로부터 멀티뷰 이미지를 생성하는 동작들을 포함하는 전술한 다양한 기능들을 수행하게끔 하는 실행 가능한 명령어들을 저장하는 비-일시적인 컴퓨터-판독 가능한 저장 매체에 관한 것이다. 비-일시적인 컴퓨터-판독 가능한 저장 매체는 멀티뷰 디스플레이 시스템(1000)의 일부일 수도 있고 아닐 수도 있다. 예를 들어, 명령어들은 컴퓨터-판독 가능한 매체로부터 페치되고 프로세싱 회로(예를 들어, 프로세서(들)(1003))에 의해 실행될 수 있는 명령문들, 코드, 또는 선언들을 포함할 수 있다. 본 명세서에서, "비-일시적인 컴퓨터-판독 가능한 저장 매체(non-transitory, computer-readable storage medium)"는, 예를 들어 멀티뷰 디스플레이 시스템(1000)과 같은 명령어 실행 시스템에 의해 또는 이와 함께 사용하기 위해 본 명세서에 설명된 명령어들을 포함, 저장 또는 유지할 수 있는 임의의 매체로서 정의될 수 있으며, 예를 들어 반송파를 포함하는 일시적인 매체를 배제할 수 있다.
비-일시적인 컴퓨터-판독 가능한 매체는, 예를 들어 자기, 광학 또는 반도체 매체와 같은 많은 물리적 매체들 중 임의의 것을 포함할 수 있다. 적절한 비-일시적인 컴퓨터-판독 가능한 매체의 보다 구체적인 예들에는 자기 테이프, 자기 플로피 디스켓, 자기 하드 드라이브, 메모리 카드, 고체 상태 드라이브, USB 플래시 드라이브 또는 광학 디스크가 있지만, 있지만 이에 제한되지는 않는다. 또한, 비-일시적인 컴퓨터-판독 가능한 매체는, 예를 들어 정적 랜덤 액세스 메모리(SRAM) 및 동적 랜덤 액세스 메모리(DRAM), 또는 자기 랜덤 액세스 메모리(MRAM)를 포함하는, 랜덤 액세스 메모리(RAM)일 수 있다. 또한, 비-일시적인 컴퓨터-판독 가능한 매체는 읽기 전용 메모리(ROM), 프로그램 가능한 읽기 전용 메모리(PROM), 소거 가능 프로그램 가능한 판독 전용 메모리(EPROM), 전기적 소거 가능 프로그램 가능한 판독 전용 메모리(EEPROM), 또는 기타 유형의 메모리 장치일 수 있다.
멀티뷰 디스플레이 시스템(1000)은 전술한 동작들 중 임의의 것을 수행하거나, 전술한 기능을 구현할 수 있다. 예를 들어, 전술한 흐름도 및 프로세스 흐름들은 명령어들을 실행하고 데이터를 처리하는 멀티뷰 디스플레이 시스템(1000)에 의해 수행될 수 있다. 멀티뷰 디스플레이 시스템(1000)이 단일 장치로서 도시되어 있지만, 실시 예들이 이에 제한되는 것은 아니다. 일부 실시 예들에서, 멀티뷰 디스플레이 시스템(1000)은 분산 방식으로 명령어들의 처리를 오프로드(offload)할 수 있고, 복수의 멀티뷰 디스플레이 시스템들(1000) 또는 기타의 컴퓨팅 장치들은 분산 배열로 저장 또는 로딩될 수 있는 명령어들을 실행하기 위해 함께 동작할 수 있다. 예를 들어, 적어도 일부 명령어들 또는 데이터는 멀티뷰 디스플레이 시스템(1000)과 연동하여 동작하는 클라우드 기반 시스템에서 저장, 로딩 또는 실행될 수 있다.
이상에서는, 단일 뷰 이미지로부터 생성될 수 있는 멀티뷰 이미지를 생성하는 예들 및 실시 예들이 설명되었다. 어플리케이션은 단일 뷰 이미지를 복수의 뷰들로 복제할 수 있다. 사용자는 깊이를 조정할 수 있고, 이는 복제된 뷰 이미지들을 이들의 상대적 위치를 기반으로 개별적으로 자동으로 시프팅시킬 수 있다. 또한, 사용자는 깊이 맵을 단일 뷰에 적용하고, 깊이 맵으로부터 복수의 뷰 이미지들을 합성할 수 있다. 사용자는 단일 뷰 이미지의 특징들에 맞게 깊이 맵의 형상 또는 크기를 수정할 수 있다. 실시 예들은 임포팅된 단일 뷰 이미지들로부터 멀티뷰 컨텐츠를 생성하고 편집하기 위한 사용자-수준 어플리케이션에 관한 것이다. 전술한 예들은 단지 본 명세서에 설명된 원리들을 나타내는 많은 구체적인 예들 중 일부를 예시하는 것임을 이해하여야 한다. 명백히, 당업자는 다음의 청구 범위에 의해 정의되는 범위를 벗어나지 않고 수 많은 다른 구성들을 쉽게 고안할 수 있다.

Claims (20)

  1. 멀티뷰 이미지 생성 방법으로서,
    단일 뷰 이미지를 어플리케이션으로 임포팅(importing)하는 단계 - 상기 단일 뷰 이미지는, 복합 멀티뷰 이미지를 형성하는 복수의 멀티뷰 이미지 레이어들 중 제 1 멀티뷰 이미지 레이어에 할당됨 -;
    상기 단일 뷰 이미지를 상기 제 1 멀티뷰 이미지 레이어의 복수의 뷰 이미지들로 복제하는 단계;
    상기 제 1 멀티뷰 이미지 레이어에 대한 깊이 설정을 포함하는 사용자 입력을 수신하는 단계;
    상기 뷰 이미지들 각각의 순번(ordered number)을 기반으로 상기 깊이 설정을 대응하는 뷰 이미지들에 대한 복수의 시프트 값들로 변환하는 단계;
    상기 제 1 멀티뷰 이미지 레이어가 선택되는 것에 응답하여 상기 대응하는 시프트 값들에 따라 상기 제 1 멀티뷰 이미지 레이어의 뷰 이미지들을 시프팅(shifting)시키는 단계; 및
    미리 정의된 시퀀스로 상기 복수의 멀티뷰 이미지 레이어들을 멀티뷰 디스플레이 상에 상기 복합 멀티뷰 이미지로서 자동으로 렌더링하는 단계;
    를 포함하는, 멀티뷰 이미지 생성 방법.
  2. 제 1 항에 있어서,
    상기 단일 뷰 이미지는, 각각의 픽셀에 대한 투명도 값 및 색상 채널 값들을 포함하는 비트맵 형식으로 포맷되는,
    멀티뷰 이미지 생성 방법.
  3. 제 1 항에 있어서,
    상기 뷰 이미지들 중 하나를 기준 뷰 이미지로서 할당하는 단계; 를 더 포함하고,
    상기 기준 뷰 이미지의 시프트 값은 0인,
    멀티뷰 이미지 생성 방법.
  4. 제 1 항에 있어서,
    각각의 뷰 이미지를 시프팅시키는 단계는, 각각의 뷰 이미지의 픽셀들을 수평 방향을 따라 시프팅시키는 단계를 포함하는,
    멀티뷰 이미지 생성 방법.
  5. 제 1 항에 있어서,
    상기 제 1 멀티뷰 이미지 레이어의 각각의 뷰 이미지를 상기 복수의 멀티뷰 이미지 레이어들 중 제 2 멀티뷰 이미지 레이어의 대응하는 뷰 이미지들과 블렌딩하는 단계;
    를 더 포함하는, 멀티뷰 이미지 생성 방법.
  6. 제 1 항에 있어서,
    상기 미리 정의된 시퀀스로 상기 복수의 멀티뷰 이미지 레이어들을 상기 복합 멀티뷰 이미지로서 자동으로 렌더링하는 단계는, 상기 미리 정의된 시퀀스에 의해 정의되는 상부 멀티뷰 이미지 레이어를 렌더링하되 상기 상부 멀티뷰 이미지 레이어의 투명 영역들을 생략하면서 렌더링하는 단계를 포함하는,
    멀티뷰 이미지 생성 방법.
  7. 제 1 항에 있어서,
    상기 미리 정의된 시퀀스로 상기 복수의 멀티뷰 이미지 레이어들을 상기 복합 멀티뷰 이미지로서 자동으로 렌더링하는 단계는, 각각의 뷰 이미지의 픽셀들을 상기 멀티뷰 디스플레이의 인터레이싱된 위치들에 맵핑하는 단계를 포함하는,
    멀티뷰 이미지 생성 방법.
  8. 제 1 항에 있어서,
    상기 제 1 멀티뷰 이미지 레이어의 영역을 선택하고, 상기 선택된 영역 내에 속하는 뷰 이미지들의 일부를 선택적으로 시프팅시키는 단계;
    를 더 포함하는, 멀티뷰 이미지 생성 방법.
  9. 제 1 항에 있어서,
    상기 복합 멀티뷰 이미지를 사용자가 지정한 멀티뷰 파일 형식으로 포맷하는,
    멀티뷰 이미지 생성 방법.
  10. 멀티뷰 이미지 생성 시스템으로서,
    멀티뷰 디스플레이;
    프로세서; 및
    복수의 명령어들을 저장하는 메모리;
    를 포함하되,
    상기 복수의 명령어들은, 실행되는 경우, 상기 프로세서로 하여금:
    복합 멀티뷰 이미지를 형성하는 복수의 멀티뷰 이미지 레이어들 중 제 1 멀티뷰 이미지 레이어를 선택하고 - 상기 제 1 멀티뷰 이미지 레이어는 복수의 뷰 이미지들을 포함함 -;
    상기 제 1 멀티뷰 이미지 레이어에 대한 깊이 설정을 포함하는 사용자 입력을 수신하고;
    상기 뷰 이미지들 각각의 순번을 기반으로 상기 깊이 설정을 대응하는 뷰 이미지들에 대한 복수의 시프트 값들로 변환하고;
    상기 대응하는 시프트 값들에 따라 상기 선택된 제 1 멀티뷰 이미지 레이어의 뷰 이미지들을 시프팅시키고;
    미리 정의된 시퀀스로 상기 복수의 멀티뷰 이미지 레이어들을 상기 멀티뷰 디스플레이 상에 상기 복합 멀티뷰 이미지로서 자동으로 렌더링; 하게끔 하는,
    멀티뷰 이미지 생성 시스템.
  11. 제 10 항에 있어서,
    상기 복수의 뷰 이미지들은, 단일 뷰 이미지로부터 복제되는 동일한 뷰 이미지들인,
    멀티뷰 이미지 생성 시스템.
  12. 제 10 항에 있어서,
    상기 뷰 이미지들 중 하나는 기준 뷰 이미지로서 할당되고,
    상기 기준 뷰 이미지의 시프트 값은 0인,
    멀티뷰 이미지 생성 시스템.
  13. 제 10 항에 있어서,
    상기 복수의 명령어들은, 실행되는 경우, 추가적으로 상기 프로세서로 하여금:
    상기 제 1 멀티뷰 이미지 레이어의 각각의 뷰 이미지를 상기 복수의 멀티뷰 이미지 레이어들 중 제 2 멀티뷰 이미지 레이어의 대응하는 뷰 이미지들과 블렌딩; 하게끔 하는,
    멀티뷰 이미지 생성 시스템.
  14. 제 10 항에 있어서,
    각각의 멀티뷰 이미지 레이어의 픽셀들을 상기 멀티뷰 디스플레이의 인터레이싱된 위치들에 맵핑함으로써, 미리 정의된 시퀀스로 상기 복수의 멀티뷰 이미지 레이어들을 반복적으로 렌더링하도록 구성된 셰이더;
    를 더 포함하는, 멀티뷰 이미지 생성 시스템.
  15. 제 10 항에 있어서,
    상기 멀티뷰 디스플레이는 광각 백라이트를 이용하여 2차원(2D) 모드 동안 광각 방출광을 제공하도록 구성되고;
    상기 멀티뷰 디스플레이는 멀티빔 소자들의 어레이를 갖는 멀티뷰 백라이트를 이용하여 멀티뷰 모드 동안 지향성 방출광을 제공하도록 구성되고 - 상기 지향성 방출광은 상기 멀티빔 소자 어레이의 각각의 멀티빔 소자에 의해 제공되는 복수의 지향성 광빔들을 포함함 -;
    상기 멀티뷰 디스플레이는, 상기 2D 모드에 대응되는 제 1 순차 시간 구간 동안에는 상기 광각 백라이트를 그리고 상기 멀티뷰 모드에 대응되는 제 2 순차 시간 구간 동안에는 상기 멀티뷰 백라이트를 순차적으로 활성화시키기 위해, 모드 제어기를 이용하여 상기 2D 모드 및 상기 멀티뷰 모드를 시간 다중화하도록 구성되며;
    상기 지향성 광빔의 지향성 광빔들의 방향들은 상기 복합 멀티뷰 이미지의 상이한 뷰 방향들에 대응되는,
    멀티뷰 이미지 생성 시스템.
  16. 제 15 항에 있어서,
    상기 멀티뷰 디스플레이는 도광체 내의 광을 안내된 광으로서 안내하도록 구성되고;
    상기 멀티뷰 디스플레이는 상기 멀티빔 소자 어레이의 멀티빔 소자들을 이용하여 상기 안내된 광의 일부를 상기 지향성 방출광으로서 산란시키도록 구성되며,
    상기 멀티빔 소자 어레이의 각각의 멀티빔 소자는 회절 격자, 미세 굴절성 소자 및 미세 반사성 소자 중 하나 이상을 포함하는,
    멀티뷰 이미지 생성 시스템.
  17. 컴퓨팅 시스템의 프로세서에 의해 실행되는 경우 깊이 맵으로부터 멀티뷰 이미지를 생성하기 위한 동작들을 구현하는 실행 가능한 명령어들을 저장하는 비-일시적인 컴퓨터-판독 가능한 저장 매체로서,
    상기 동작들은:
    단일 뷰 이미지를 제 1 멀티뷰 이미지 레이어에 할당하고;
    상기 제 1 멀티뷰 이미지 레이어에 대한 깊이 맵을 로딩하고;
    상기 깊이 맵의 크기 및 형상 중 하나 또는 둘 다를 수정하여 수정된 깊이 맵을 제공하고;
    상기 단일 뷰 이미지로부터 그리고 상기 제 1 멀티뷰 이미지 레이어에 대한 상기 수정된 깊이 맵으로부터 복수의 뷰 이미지들을 합성하고;
    미리 정의된 시퀀스로 상기 제 1 멀티뷰 이미지 레이어 및 제 2 멀티뷰 이미지 레이어를 멀티뷰 디스플레이 상에 복합 멀티뷰 이미지로서 자동으로 렌더링; 하는 것을 포함하는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  18. 제 17 항에 있어서,
    복수의 뷰들을 합성하는 것은, 신경망을 이용하여 상기 복수의 뷰 이미지들을 예측하는 것을 포함하는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  19. 제 17 항에 있어서,
    자동으로 렌더링하는 것은, 각각의 뷰 이미지의 픽셀들을 상기 멀티뷰 디스플레이의 인터레이싱된 위치들에 맵핑하는 것을 포함하는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
  20. 제 17 항에 있어서,
    사용자 인터페이스가, 상기 단일 뷰 이미지 상에 상기 깊이 맵을 오버레이하도록 구성되고 그리고 상기 깊이 맵의 크기 및 형상 중 하나 또는 둘 다를 수정하기 위해 사용자 입력을 수신하도록 구성되는,
    비-일시적인 컴퓨터-판독 가능한 저장 매체.
KR1020237031127A 2021-04-04 2021-04-04 멀티뷰 이미지 생성 시스템 및 방법 KR20230145421A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/025687 WO2022216268A1 (en) 2021-04-04 2021-04-04 Multiview image creation system and method

Publications (1)

Publication Number Publication Date
KR20230145421A true KR20230145421A (ko) 2023-10-17

Family

ID=83545623

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237031127A KR20230145421A (ko) 2021-04-04 2021-04-04 멀티뷰 이미지 생성 시스템 및 방법

Country Status (8)

Country Link
US (1) US20230412789A1 (ko)
EP (1) EP4320859A1 (ko)
JP (1) JP2024514534A (ko)
KR (1) KR20230145421A (ko)
CN (1) CN117083852A (ko)
CA (1) CA3213167A1 (ko)
TW (1) TWI823323B (ko)
WO (1) WO2022216268A1 (ko)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NZ521505A (en) * 2002-09-20 2005-05-27 Deep Video Imaging Ltd Multi-view display
TW201218741A (en) * 2010-10-22 2012-05-01 Himax Media Solutions Inc Image display system
KR101831652B1 (ko) * 2011-09-07 2018-02-26 엘지디스플레이 주식회사 입체영상 표시장치와 그 구동방법
TWI521469B (zh) * 2012-06-27 2016-02-11 Reallusion Inc Two - dimensional Roles Representation of Three - dimensional Action System and Method
KR101952684B1 (ko) * 2012-08-16 2019-02-27 엘지전자 주식회사 이동 단말기 및 이의 제어 방법, 이를 위한 기록 매체
KR102143473B1 (ko) * 2013-11-13 2020-08-12 삼성전자주식회사 다시점 영상 디스플레이 장치 및 그 다시점 영상 디스플레이 방법
CN111127538B (zh) * 2019-12-17 2022-06-07 武汉大学 一种基于卷积循环编码-解码结构的多视影像三维重建方法

Also Published As

Publication number Publication date
JP2024514534A (ja) 2024-04-02
CA3213167A1 (en) 2022-10-13
TWI823323B (zh) 2023-11-21
EP4320859A1 (en) 2024-02-14
CN117083852A (zh) 2023-11-17
WO2022216268A1 (en) 2022-10-13
US20230412789A1 (en) 2023-12-21
TW202304199A (zh) 2023-01-16

Similar Documents

Publication Publication Date Title
CA3176092A1 (en) Systems and methods of enhancing quality of multiview images using a multimode display
US20240169489A1 (en) Virtual, augmented, and mixed reality systems and methods
US20230290046A1 (en) Multiview display system and method employing multiview image convergence plane tilt
US10642223B2 (en) Holographic display device and control method thereof, computer non-transient readable storage medium and computer program product
US20230412789A1 (en) Multiview image creation system and method
KR102336156B1 (ko) 초고화질 이미지 구현 방법 및 시스템
US9824721B2 (en) Video generation device, video generation program, and video generation method
US11818325B2 (en) Blended mode three dimensional display systems and methods
CN116195246A (zh) 使用自适应背景的多视图显示系统及方法
TWI815300B (zh) 光場攝影機系統以及多重攝影機設備的基線和匯聚距離的設定方法
US20240153200A1 (en) View synthesis system and method using depth map
KR20230131899A (ko) 멀티뷰 파일 형식 검출 시스템 및 방법
KR20240035593A (ko) 멀티뷰 이미지 캡처 시스템 및 방법
JP2010226443A (ja) 立体画像描画装置および描画方法