KR102493754B1 - 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치 - Google Patents

감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치 Download PDF

Info

Publication number
KR102493754B1
KR102493754B1 KR1020177026175A KR20177026175A KR102493754B1 KR 102493754 B1 KR102493754 B1 KR 102493754B1 KR 1020177026175 A KR1020177026175 A KR 1020177026175A KR 20177026175 A KR20177026175 A KR 20177026175A KR 102493754 B1 KR102493754 B1 KR 102493754B1
Authority
KR
South Korea
Prior art keywords
image
environment
resolution
map
images
Prior art date
Application number
KR1020177026175A
Other languages
English (en)
Other versions
KR20170120631A (ko
Inventor
데이비드 콜
알란 맥케이 모스
헥터 엠. 메디나
Original Assignee
네버마인드 캐피탈 엘엘씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 네버마인드 캐피탈 엘엘씨 filed Critical 네버마인드 캐피탈 엘엘씨
Priority to KR1020237002994A priority Critical patent/KR102533555B1/ko
Publication of KR20170120631A publication Critical patent/KR20170120631A/ko
Application granted granted Critical
Publication of KR102493754B1 publication Critical patent/KR102493754B1/ko

Links

Images

Classifications

    • 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/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/20Finite element generation, e.g. wire-frame surface description, tesselation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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
    • 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
    • H04N13/117Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by 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/139Format conversion, e.g. of frame-rate or size
    • 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/189Recording image signals; Reproducing recorded 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/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/20Image signal generators
    • H04N13/204Image signal generators using stereoscopic image cameras
    • H04N13/243Image signal generators using stereoscopic image cameras using three or more 2D image sensors
    • 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
    • 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
    • H04N13/279Image signal generators from 3D object models, e.g. computer-generated stereoscopic image signals the virtual viewpoint locations being selected by the viewers or determined by tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42653Internal components of the client ; Characteristics thereof for processing graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8146Monomedia components thereof involving graphical data, e.g. 3D object, 2D graphics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/698Control of cameras or camera modules for achieving an enlarged field of view, e.g. panoramic image capture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/01Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level
    • H04N7/0117Conversion of standards, e.g. involving analogue television standards or digital television standards processed at pixel level involving conversion of the spatial resolution of the incoming video signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2215/00Indexing scheme for image rendering
    • G06T2215/12Shadow map, environment map
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N2013/0074Stereoscopic image analysis
    • H04N2013/0088Synthesising a monoscopic image signal from stereoscopic images, e.g. synthesising a panoramic or high resolution monoscopic image

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Generation (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

재생 디바이스에 의해 전송되는 및/또는 이용되는 이미지들에 대해 선택적 해상도 감축을 이용하기 위한 방법들 및 장치가 개시된다. 전송 전에 하나 이상의 환경 이미지들이 캡처된다. 이미지 컨텐트, 모션 검출 및/또는 사용자 입력에 기초하여, 해상도 감축 동작이 선택되고 수행된다. 감축된 해상도 이미지는 통신된 이미지를 렌더링하기 위해 재생 디바이스에 의해 이용되어야 하는 선택된 해상도 할당에 대응하는 UV 맵을 나타내는 정보와 함께 재생 디바이스에 통신된다. 이용된 해상도 할당 및 재생 디바이스에 의해 이용되는 UV 맵을 변경함으로써, 전송된 이미지들의 픽셀 수를 일정하게 유지하면서 환경의 상이한 부분들에 대해 상이한 해상도 할당들이 이루어질 수 있다. 재생 디바이스는 개별 이미지들을 생성하는데 이용된 해상도 할당에 대응하는 UV 맵을 이용하여 개별 이미지들을 렌더링한다.

Description

감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치
본 발명은 컨텐트, 예를 들어 환경을 시뮬레이션하는데 이용될 수 있는 컨텐트를 캡처, 스트리밍 및/또는 재생하기 위한 방법들 및 장치에 관한 것이다.
몰입감 체험을 제공하도록 의도되는 디스플레이 디바이스들은 보통 사용자가 머리를 돌려 디스플레이된 장면의 대응하는 변화를 경험하도록 허용한다. 헤드 장착형 디스플레이들은 때로는, 사용자가 헤드 장착형 디스플레이를 착용한 채 주위를 돌 수 있고 사용자의 머리 위치가 변함에 따라 디스플레이되는 장면이 변경된다는 점에서 360도 뷰잉을 지원한다.
이러한 디바이스들을 이용하면 사용자에게는 앞을 향할 때 카메라 위치 앞에서 캡처된 장면과 사용자가 완전히 돌아설 때 카메라 위치 뒤에서 캡처된 장면이 제시될 것이다. 사용자가 머리를 뒤쪽으로 돌릴 수는 있지만, 임의의 주어진 시간에 제한된 시야를 감지할 수 있는 인간 능력의 특성으로 인해, 임의의 주어진 시간에 사용자의 시야는 일반적으로 120도 이하로 제한된다.
360도의 뷰를 지원하기 위해, 360도 장면은 다수의 카메라들을 이용하여 캡처될 수 있으며, 이미지들은 뷰잉 가능하게 되는 360도 장면을 생성하도록 조합된다.
360도 뷰는, 사용자가 특정 시점에서 디스플레이될 이미지를 결정하는데 이용되는 시야각(viewing angle)을 변경할 기회를 갖지 않는 많은 정규 텔레비전 및 많은 다른 비디오 애플리케이션을 위해 일반적으로 캡처되어 인코딩되는 간단한 전방 뷰보다 훨씬 많은 이미지 데이터를 포함한다는 것을 알아야 한다.
컨텐트가 스트리밍되는 것과 연관되는 전송 제약들, 예를 들면 네트워크 데이터 제약들이 주어지면, 컨텐트를 수신하고 상호 작용하고자 하는 모든 고객들에게 풀 고화질 비디오(full high definition video)의 전체 360도 뷰를 스트리밍하는 것은 가능하지 않을 수 있다. 이것은 특히 컨텐트가 3D 뷰잉 효과를 허용하기 위해 좌안 뷰들 및 우안 뷰들 모두에 대응하도록 의도된 이미지 컨텐트를 포함하는 입체 영상 컨텐트인 경우이다.
상기 논의의 견지에서, 재생 디바이스가 데이터 전송 제약들을 만족시키면서 사용자가 자신의 머리를 돌려 환경의 상이한 부분을 뷰잉하는 이용 가능한 이미지 데이터를 갖도록, 개별 사용자에게 넓은 뷰잉 영역이 공급될 수 있게 하는 방식으로 컨텐트의 인코딩 및/또는 스트리밍을 지원하는 방법들 및 장치가 필요하다는 것을 알아야 한다.
환경에 대응하는 비디오 또는 다른 컨텐트의 전달, 예를 들어 스트리밍을 지원하기 위한 방법들 및 장치가 기술된다. 일부 실시예들에서, 재생 디바이스에 통신되는 환경에 대응하는 이미지들은 주어진 시간에 사용자가 뷰잉할 수 있는 영역을 초과해서 사용자가 예를 들어 자신의 머리를 움직여 자신의 시야각을 변경하는 경우에 컨텐트를 이용할 수 있다. 주어진 시간에 사용자에 의해 뷰잉될 수 있는 환경 영역보다 큰 환경 영역에 대한 이미지들을 제공함으로써, 재생 디바이스는 사용자가 이전에 뷰잉하지 않은 환경의 일부에 대응하는 새로운 이미지들 또는 다른 컨텐트를 기다릴 필요없이 사용자의 시야각이 변경되는 이미지들을 제공하기에 충분한 정보를 갖는다.
적어도 일부 실시예들에서, 환경은 메시 모델을 이용하여 표현된다. 이미지들은 캡처되어 프레임들로 인코딩된다. 재생 디바이스에서, 인코딩된 이미지들은 디코딩되어 환경의 모델의 표면에, 예를 들어 텍스처로서 적용된다. 환경의 모델의 표면에 이미지를 맵핑하는 것은 때로는 UV 맵이라고도 칭해지는 텍스처 맵에 따른다. 일반적으로, 모든 실시예들에서 반드시 그런 것은 아니지만, UV 맵의 세그먼트는 3D 메시 모델의 세그먼트에 대응한다. 재생 디바이스에서 UV 맵이 이미지에 적용되고 이미지의 세그먼트들은 텍스처로서 3D 모델의 대응하는 세그먼트들에 적용된다. 이러한 방식으로, 환경의 모델의 대응하는 부분에 수신된 이미지의 일부를 맵핑하는데 UV 맵이 이용될 수 있다. 3D 효과를 달성하기 위해, 일부 실시예들에서는 3D 모델에 좌안 뷰에 대응하는 이미지들을 맵핑하는데 이 처리가 이용되고, 그 결과는 사용자의 좌안에 디스플레이된다. 사용자의 우안에 디스플레이되는 이미지를 생성하기 위해 우안 뷰에 대응하는 이미지가 3D 모델에 맵핑된다. 3D 실시예들에서 좌안 및 우안 뷰들 사이의 차이는 사용자로 하여금 이미지들이 3D로 인식하게 한다.
좌안 및 우안 이미지들에 대응하는 데이터가 정상적으로 통신되는 3D 이미지들의 경우, 3D 뷰잉을 허용하기 위해 하나 대신 두 이미지들에 대한 데이터가 통신되어야 하기 때문에 3D 뷰잉을 지원하는데 필요한 데이터량은 상당할 수 있다. 불행히도, 대역폭 제약들은 많은 경우에 특히 뷰어들이 기대하는 고해상도로 2개의 풀 해상도 이미지들을 전송하는 것을 어렵게 할 수 있다.
이미지의 품질을 검출하는 사용자의 능력은 사용자가 직접 보고 있지 않은 이미지의 부분들에 대해 감소한다. 환경 장면의 경우 사용자는 환경, 예를 들면 스포츠 경기 중에 공이 있거나 무대 위 또는 환경 내에 배우들이 있는 환경 부분에서 움직임 영역을 뷰잉하는데 집중할 가능성이 있다. 본 발명의 방법들 및 장치는 이 사실을 이용하여 통신중인 이미지에 선택적으로 해상도를 할당한다. 뷰잉될 가능성이 있는 환경에 대응하는 이미지 부분들의 해상도를 유지하고 뷰잉될 가능성이 적은 이미지들의 해상도를 감축시키면서, 이미지 데이터를 재생 디바이스에 스트리밍에 이용할 수 있는 제한된 대역폭을 효율적으로 이용하는 것이 가능하다.
다양한 실시예들에서, 환경 이미지들이 캡처되고 해상도의 선택적 감축이 적용된다. 해상도의 감축은 환경의 덜 중요한 부분들에 대응하는 것으로 인식되는 이미지 부분들에 적용될 수 있으며 때로는 적용된다. 환경의 모델이 고정된 채로 유지되는 동안, 다양한 실시예들에서, 캡처된 이미지들에 적용되는 해상도 감축은 중요도가 높은 환경의 부분이 변화함에 따라 변경될 수 있다. 예를 들어, 축구 경기가 시작될 때 센터 필드는 킥오프가 발생하는 곳이기 때문에 환경의 중요한 영역으로 간주될 수 있고, 공이 필드의 왼쪽 끝으로 이동하면 뷰어들의 관점에서 왼쪽 끝이 필드의 다른 부분들보다 더 중요해질 수 있다. 공이 필드의 오른쪽 끝으로 이동하면 뷰어들의 관점에서 필드의 오른쪽 끝이 공이 위치하지 않은 왼쪽 및 중앙 부분들보다 더 중요할 수 있다.
일 실시예에 따르면, 해상도 할당은 주어진 시간에서 환경의 상이한 부분들의 상대적 중요성에 기초하여 행해지고, 중요도가 낮은 영역들보다 중요도가 높다고 인식되는 환경의 영역들에 대응하는 이미지들의 부분들에 더 많은 해상도가 할당된다. 상대적인 중요도는 인코딩 및/또는 스트리밍 시스템의 운영자의 제어를 통해 및/또는 이미지들을 캡처하는 동안 사용자들이 보고 있는 것을 추적함으로써 와 같이 사용자 입력으로부터, 통신중인 이미지들을 제공하는 캡처된 비디오에서 검출된 움직임에 기초할 수 있다.
일부 실시예들에서, 상이한 해상도 할당들의 세트가 지원된다. 다운-샘플링 또는 다른 해상도 감축 기술은, 해상도 감축의 대상이 되는 선택된 해상도 할당이 나타나는 이미지의 부분들에 적용되며, 이미지의 다른 부분들은 풀 해상도로 남겨지거나 더 적은 양의 해상도 감축의 대상이 될 수 있다. 상이한 해상도 할당들에 상이한 텍스처 맵이 이용된다. 따라서, 재생 디바이스에 통신된 이미지의 전체 크기 및/또는 비트 수는 상이한 해상도 할당들에 대해 동일할 수도 있고 때로는 동일하지만, 텍스처 맵(UV 맵)은 상이한 해상도 할당들에 대해 상이할 수 있고 종종 상이할 것이다. 이러한 방식으로 선택적 해상도 감축과 조합하여 상이한 UV 맵들이, 주어진 시점에서 환경의 어떤 부분이 중요하다고 간주되는지에 따라 환경 이미지의 상이한 부분들에 상이한 양의 해상도를 할당하는데 이용될 수 있지만 해상도의 상이한 할당들에도 불구하고 동일한 환경의 모델이 이용된다.
실시예에 따라, 시뮬레이션된 환경의 일부에 대응하는 UV 맵들의 세트는 스트리밍 디바이스와 함께 재생 디바이스에 통신될 수 있으며, 통신된 이미지 또는 이미지 쌍에 대해 어느 UV 맵이 이용되어야 하는지를 표시할 수 있다. 일부 실시예들에서, 하늘 및 지상 이미지들을 포함하는 전체 360도 세계 뷰의 이미지가 단일 프레임에서 재생 디바이스에 통신된다. 다른 실시예들에서, 환경의 상이한 부분들에 대한 텍스처들로서 이용될 이미지들은 개별 프레임들에 통신된다. 예를 들어, 지상 이미지는 환경의 360도 수평 부분에 이용될 이미지로서 빈번하게 업데이트되지 않고 개별적으로 전송될 수 있고 하늘 뷰에 대해서는 다른 이미지가 전송될 수 있다. 해상도 할당 선택 및 대응하는 UV 맵의 표시는 개별 이미지로서 스트림에 포함된 환경의 각 부분에 대해 수행될 수 있고 때로는 수행된다.
본 명세서에서 텍스처 맵들 및 때로는 이미지 맵들로 지칭되는 UV 맵들은 렌더링을 위해 요구되기 전에 재생 디바이스에 정상적으로 통신된다. 이들은 별도로 이용되거나 전송되어야 하는 컨텐트 스트림에서 통신될 수 있다. 일단 재생 디바이스에 통신되면, UV 맵들은 저장될 수 있고 때로는 저장된다. UV 맵이 저장된 후에 스트리밍 디바이스는 UV 맵이 적용된 이미지 또는 이미지들과 함께 컨텐트 스트림에서 맵 식별자를 통신함으로써 맵을 식별할 수 있다.
해상도 할당이 인코딩 이전에 행해지므로, 인코딩 디바이스 및/또는 스트리밍 디바이스는 일반적으로 이미지 스트림에서 UV 맵 및/또는 맵 식별자를 통신된 이미지 또는 이미지들과 연관시킨다. 이러한 방식으로 재생 디바이스는 렌더링 작업의 일부로 수신된 이미지를 맵핑할 때 어떤 UV 맵을 이용할지를 안다.
렌더링된 이미지들은 사용자에게 디스플레이되는데, 이미지 쌍의 좌안 이미지들은 사용자의 좌안에 디스플레이되고, 우안 이미지들은 사용자의 우안에 디스플레이된다.
선택적 해상도 감축과 조합하여 UV 맵들을 이용함으로써, 상이한 해상도 할당들의 대상이 된 이미지들을 인코딩하는데 이용되는 인코더에 변경을 가하지 않고도 그리고 이미지들을 특수하게 디코딩할 필요 없이 상대적으로 구현하기 쉬운 방법으로 환경의 부분들에 대해 상이한 해상도들이 할당될 수 있다.
이 방법들은 입체 영상 이미지 쌍을 제공하기 위해 좌안 및 우안 이미지들이 통신되는 3D 애플리케이션들에 매우 적합하지만, 이 방법들은 비-입체 영상 실시예들에 이용될 수 있고, 선택적인 해상도 할당 및 대응하는 UV 맵들은 단일 이미지 스트림이 재생 디바이스에 통신되는 경우들에 이용되며, 예를 들어 개별 이미지들이 디코딩되어 환경 맵에 렌더링되지만 사용자의 양안에 동일한 이미지가 디스플레이된다. 대안적으로, 이 방법들은, 이미지들의 단일 스트림이 재생 디바이스에 통신되고, 재생 디바이스가 계산 처리를 이용하여, 예를 들어 이미지를 수신하고 수신된 단일 이미지로부터 좌안 이미지 및 상이한 우안 이미지를 생성함으로써, 수신된 이미지들의 단일 스트림으로부터 한 쌍의 아이 뷰들을 생성하는 실시예들에 이용될 수 있다.
다수의 부가적인 방법들 및 실시예들이 다음의 상세한 설명에서 설명된다.
도 1은 본 명세서에 기재된 임의의 실시예들에 따라 하나 이상의 사용자 재생 디바이스들에 컨텐트를 캡처, 컨텐트를 스트리밍 및 컨텐트를 출력하는 데 이용될 수 있는 본 발명의 일부 실시예들에 따라 구현된 예시적인 시스템을 도시한 도면.
도 2a는 예시적인 입체 영상 장면, 예를 들어 분할되지 않은 전체 360도 입체 영상 장면을 도시한 도면.
도 2b는 하나의 예시적인 실시예에 따라 3개의 예시적인 장면들로 분할된 예시적인 입체 영상 장면들을 도시한 도면.
도 2c는 하나의 예시적인 실시예에 따라 4개의 장면들로 분할된 예시적인 입체 영상 장면들을 도시한 도면.
도 3은 하나의 예시적인 실시예에 따라 예시적인 360도 입체 영상 장면을 인코딩하는 예시적인 프로세스를 도시한 도면.
도 4는 동일한 입력 이미지 부분의 상이한 인코딩된 버전들을 생성하기 위해 입력 이미지 부분이 다양한 인코더들을 이용하여 인코딩되는 방법을 보여주는 예를 도시한 도면.
도 5는 세 개의 부분들로 분할된 입력 입체 영상 장면의 저장된 인코딩된 부분들을 도시한 도면.
도 6은 도 6a 및 도 6b의 조합을 도시한 도면.
도 6a는 선택적 해상도 할당 및 상이한 UV 맵들이 상이한 시간들에 이용되는 도 1의 시스템을 이용하여 구현되는 예시적인 실시예에 따라 컨텐트를 스트리밍하는 예시적인 방법의 단계들을 도시하는 순서도의 제 1 부분을 도시한 도면.
도 6b는 선택적 해상도 할당 및 상이한 UV 맵들이 상이한 시간들에 이용되는 도 1의 시스템을 이용하여 구현되는 예시적인 실시예에 따라 컨텐트를 스트리밍하는 예시적인 방법의 단계들을 도시하는 순서도의 제 2 부분을 도시한 도면.
도 7은 본 발명의 특징들에 따라, 대응하는 UV 맵들과 함께 컨텐트를 인코딩 및 스트리밍하는데 이용될 수 있는 해상도 할당 선택, 해상도 감축 및 인코딩 기능을 갖춘 예시적인 컨텐트 전달 시스템을 도시한 도면.
도 8은 도 7의 시스템에 의해 스트리밍된 컨텐트를 수신, 디코딩 및 디스플레이하는데 이용될 수 있고, 도 24 및/또는 다양한 다른 도면들을 참조하여 도시되고 기술된 UV 맵들을 이용하여 해상도 할당들이 상이한 이미지들에 대해 상이한 UV 맵들이 이용되도록 허용할 수 있는 예시적인 컨텐트 재생 디바이스를 도시한 도면.
도 9는 도 9a와 도 9b의 조합을 도시한 도면.
도 9a는 본 발명에 따른 컨텐트 재생 디바이스를 동작시키는 예시적인 방법의 제 1 부분을 도시한 도면.
도 9b는 본 발명에 따른 컨텐트 재생 디바이스를 동작시키는 예시적인 방법의 제 2 부분을 도시한 도면.
도 10은 본 발명에 따라 환경을 나타내는데 이용되는 정보를 전달하는 예시적인 방법을 도시한 도면.
도 11은 상이한 시간들에서 동일한 환경 부분에 대응하는 이미지들에 대해 상이한 해상도 할당들이 이용될 수 있는 예시적인 실시예에 따른 예시적인 이미지 캡처 및 컨텐트 스트리밍 방법을 도시한 도면.
도 12는 일 예시적인 실시예에 따라 UV 맵들 및 환경의 모델을 이용하여 이미지들을 수신하고 렌더링하기 위해, 도 1의 시스템에서 이용될 수 있는 재생 디바이스 또는 시스템, 예를 들어 렌더링 디바이스를 동작시키는 방법을 도시한 도면.
도 13은 하늘 뷰를 캡처하기 위해 하늘을 향한 카메라 또는 카메라들과 함께, 360도 시야의 상이한 섹터들에 대응하는 좌안 및 우안 이미지들을 캡처하기 위한 다수의 카메라 쌍들을 포함하는 카메라 장비를 도시한 도면.
도 14는 상이한 카메라 뷰들에 대응하는 5개의 상이한 환경 메시 맵들이 조합되어 캡처된 이미지들이 재생 동작의 부분으로서, 예를 들어 내부 표면 상에 투영될 수 있는 완전한 구면 뷰/환경을 생성할 수 있는 방법을 도시한 도면.
도 15는 예를 들면 구면과 같은 환경의 중심에 사용자가 위치된 것처럼 사용자로부터 뷰잉될 수 있는 구형 시뮬레이션된 환경을 생성하기 위해 도 14에 도시된 5개의 메시들의 전체 어셈블리를 도시하는 도면.
도 16은 도 13에 도시된 카메라 장비의 섹터에 대응하는, 어안 렌즈들을 갖는 좌안 및 우안 카메라들에 의해 캡처된 좌안 뷰 이미지 및 우안 뷰 이미지를 도시한 도면.
도 17a는 본 발명에 따른 환경의 예시적인 메시 모델을 도시한 도면.
도 17b는 도 17a에 도시된 메시 모델의 표면 상에 2D 이미지의 부분들을 맵핑하는데 이용될 수 있는 UV 맵을 도시한 도면.
도 18은 도 16의 캡처된 좌안 및 우안 뷰 이미지들이 인코딩하여 하나 이상의 재생 디바이스에 전송하기 전에 크로핑(cropping)한 후에 어떻게 나타날 수 있는지를 도시한 도면.
도 19는 도 18에 도시된 이미지들 중 하나가 환경 메시 상에 적용, 예를 들어 투영된 카메라 장비의 하나의 섹터에 대응하는 환경의 메시 모델을 도시한 도면.
도 20은 섹터들 각각에 대응하는 카메라들에 의해 및 카메라 장비의 하늘과 지상 카메라에 의해 캡처된 이미지들이 구의 형태로 완전한 360 환경을 시뮬레이션하기 위해 모델링된 환경에 조합하여 투영될 수 있는 애플리케이션을 도시한 도면.
도 21은 환경의 모델에 맵핑되는 이미지의 상이한 부분들에 대해 상이한 해상도들이 이용되고, 예를 들어 환경의 중간 부분의 세그먼트들보다 하늘 및 지상 메시 세그먼트들의 대응하는 부분들에 더 작은 부분들의 전송된 이미지가 맵핑되어, 환경의 중간 부분보다 환경의 상부 및 하부에 더 낮은 해상도가 할당되게 하는, 환경 그리드(environmental grid)에 맵핑하는 프레임과 관련하여 선택적인 해상도가 어떻게 이용될 수 있는지를 도시한 도면.
도 22는 환경의 제 1 부분의 제 1 캡처된 이미지, 제 1 캡처된 이미지로부터 제 1 해상도 할당을 이용하여 생성된 제 1 해상도 조정 이미지, 및 제 1 해상도 할당에 대응하는 제 1 UV 맵을 도시한 도면.
도 23은 환경의 제 1 부분의 제 2 캡처된 이미지, 제 2 캡처된 이미지로부터 제 2 해상도 할당을 이용하여 생성된 제 2 해상도 조정 이미지, 및 제 2 해상도 할당에 대응하는 제 2 UV 맵을 도시한 도면.
도 24는 환경의 제 1 부분의 제 3 캡처된 이미지, 제 3 캡처된 이미지로부터 제 3 해상도 할당을 이용하여 생성된 제 3 해상도 조정 이미지, 및 제 2 해상도 할당에 대응하는 제 3 UV 맵을 도시한 도면.
도 25는 도 25a 및 도 25b의 조합을 도시한 도면.
도 25a는 예시적인 실시예에 따른 컨텐트 처리 및 전달 시스템을 동작시키는 방법의 제 1 부분을 도시한 도면.
도 25b는 예시적인 실시예에 따른 컨텐트 처리 및 전달 시스템을 동작시키는 방법의 제 2 부분을 도시한 도면.
도 26은 본 발명에 따라 컨텐트를 재생하는 방법의 예시적인 실시예를 도시한 도면.
도 27은 재생 디바이스 또는 다른 도면들 중 어느 하나에 도시된 디바이스들과 같은 재생 디바이스가 렌더링될 이미지를 생성하는데 이용된 해상도 할당에 대응하는 UV 맵을 이용하여 이미지 렌더링을 수행할 수 있는 방법의 예를 도시한 도면.
도 28은 재생 디바이스 또는 다른 도면들 중 어느 하나에 도시된 디바이스들과 같은 재생 디바이스가 렌더링될 이미지를 생성하는데 이용된 해상도 할당에 대응하는 UV 맵을 이용하여 이미지 렌더링을 수행할 수 있는 방법의 예를 도시한 도면.
도 29는 재생 디바이스 또는 다른 도면들 중 어느 하나에 도시된 디바이스들과 같은 재생 디바이스가 렌더링될 이미지를 생성하는데 이용된 해상도 할당에 대응하는 UV 맵을 이용하여 이미지 렌더링을 수행할 수 있는 방법의 예를 도시한 도면.
도 1은 본 발명의 일부 실시예들에 따라 구현된 예시적인 시스템(100)을 도시한다. 시스템(100)은 고객 구내(customer premises)에 위치된 하나 이상의 고객 디바이스들, 예를 들어, 재생 디바이스들/컨텐트 플레이어들에 컨텐트 전달, 예를 들면 이미징 컨텐트 전달을 지원한다. 시스템(100)은 예시적인 이미지 캡처링 디바이스(102), 컨텐트 전달 시스템(104), 통신 네트워크(105), 및 복수의 고객 구내들(106,..., 110)을 포함한다. 이미지 캡처링 디바이스(102)는 입체 영상 이미지의 캡처를 지원한다. 이미지 캡처링 디바이스(102)는 본 발명의 특징들에 따라 이미징 컨텐트를 캡처하고 처리한다. 통신 네트워크(105)는 예를 들어 하이브리드 파이버-동축(HFC) 네트워크, 위성 네트워크 및/또는 인터넷일 수 있다.
컨텐트 전달 시스템(104)은 이미지 처리, 교정 및 인코딩 장치(112) 및 컨텐트 전달 디바이스, 예를 들어 스트리밍 서버(114)를 포함한다. 이미지 처리, 교정 및 인코딩 장치(112)는 하나 이상의 타겟 이미지들 및/또는 카메라 교정 프로세스 동안 캡처된 그리드 패턴들에 기초한 카메라 교정을 포함하는 다양한 기능들을 수행하는 것을 담당한다. 컨텐트 전달 디바이스(114)는 하기에 설명되는 바와 같이, 이미지 교정 정보, 선택적 환경 정보, 및 3D 환경을 시뮬레이션하는데 이용될 수 있는 카메라 장비(102)에 의해 캡처된 하나 이상의 이미지들을 갖는 컨텐트에 대한 요청들에 응답하는 서버로서 구현될 수 있다. 이미지들 및/또는 컨텐트의 스트리밍은 뷰어 머리 위치 및/또는 이미지들의 소스가 될 카메라(102)에 대응하는 경우에서의 사용자 위치 선택과 같은 피드백 정보의 함수일 수 있으며 때로는 그러한 피드백 정보의 함수이다. 예를 들어, 사용자는 중심선에 위치된 카메라 장비에서 시뮬레이션된 3D 환경으로 현장 중심에 위치한 카메라 장비까지의 이미지들 사이에서 선택하거나 전환할 수 있으며 스트리밍된 이미지들은 사용자가 선택한 카메라 장비에 대응하는 이미지들로 변경된다. 따라서, 단일 카메라 장비(102)가 도 1에 도시되어 있지만, 다수의 카메라 장비들이 시스템에 존재할 수 있고, 스포츠 또는 다른 이벤트에서 상이한 물리적 위치에 위치될 수 있고, 사용자는 상이한 위치들 사이를 전환할 수 있으며 사용자 선택들은 재생 디바이스(122)에서 컨텐트 서버(114)로 통신된다. 이미지 처리 및 컨텐트 전달 시스템(104)에는 개별 디바이스들(112, 114)이 도시되어 있지만, 다양한 기능들을 수행하기 위한 별도의 하드웨어를 포함하거나 또는 상이한 기능들이 상이한 소프트웨어 또는 하드웨어 모듈들에 의해 제어되지만 단일 프로세서 내에서 또는 상에서 구현되는 단일 디바이스로서 시스템이 구현될 수 있다는 것을 알아야 한다.
인코딩 장치(112)는 본 발명에 따라 이미지 데이터를 인코딩하기 위한 하나 또는 복수의 인코더들을 포함할 수 있고, 일부 실시예들에서는 이들을 포함한다. 인코더들은 상이한 데이터 레이트들을 갖는 인코딩된 버전들을 생성하기 위해 장면의 상이한 부분들을 인코딩하고 및/또는 장면의 주어진 부분을 인코딩하는데 병행하여 이용될 수 있다. 다수의 인코더들을 병행하여 이용하면 실시간 또는 거의 실시간 스트리밍을 지원되어야할 때 특히 유용할 수 있다.
컨텐트 스트리밍 디바이스(114)는 예를 들어 통신 네트워크(105)를 통해 하나 이상의 고객 디바이스들에 인코딩된 이미지 컨텐트를 전달하기 위해 인코딩된 컨텐트를 스트리밍, 예를 들어 전송하도록 구성된다. 네트워크(105)를 통해, 컨텐트 전달 시스템(104)은 통신 네트워크(105)를 가로지르는 링크(120)에 의해 도면에 나타낸 고객 구내(106, 110)에 위치된 디바이스들에 정보를 전송 및/또는 상기 디바이스들과 정보를 교환할 수 있다.
인코딩 장치(112) 및 컨텐트 전달 서버는 도 1의 예에서 별도의 물리적 디바이스들로서 도시되어 있지만, 일부 실시예들에서는 컨텐트를 인코딩 및 스트리밍하는 단일 장치로 구현된다. 인코딩 프로세스는 장면 부분의 좌안 및 우안 뷰들에 대응하는 정보가 인코딩되고 3D 이미지 뷰잉이 지원될 수 있도록 인코딩된 이미지 데이터에 포함되는 3D, 예를 들어 입체 영상 이미지 인코딩 프로세스일 수 있다. 이용되는 특정 인코딩 방법은 본 출원에 중요하지 않으며, 광범위한 인코더들이 인코딩 장치(112)로서 또는 인코딩 장치(112)를 구현하기 위해 이용될 수 있다.
각각의 고객 구내(106, 110)는 컨텐트 스트리밍 디바이스(114)에 의해 스트리밍된 이미지 컨텐트를 디코딩하고 재생/디스플레이하기 위한 복수의 디바이스들/플레이어들, 예를 들면 디코딩 장치를 포함할 수 있다. 고객 구내 1(106)은 디스플레이 장치(124)에 연결된 디코딩 장치/재생 디바이스(122)를 포함하고 고객 구내 N(106)은 디스플레이 디바이스(128)에 연결된 디코딩 장치/재생 디바이스(126)를 포함한다. 일부 실시예들에서, 디스플레이 디바이스들(124, 128)은 헤드 장착형 입체 영상 디스플레이 디바이스들이다.
다양한 실시예들에서 디코딩 장치(122, 126)는 대응하는 디스플레이 디바이스들(124, 128) 상에 이미징 컨텐트를 제시한다. 디코딩 장치/플레이어들(122, 126)은 컨텐트 전달 시스템(104)으로부터 수신된 이미징 컨텐트를 디코딩할 수 있고, 디코딩된 컨텐트를 이용하여 이미징 컨텐트를 생성하고, 디스플레이 디바이스들(124, 128) 상에 이미징 컨텐트, 예를 들면 3D 이미지 컨텐트를 렌더링할 수 있는 디바이스들일 수 있다. 디코딩 장치/재생 디바이스들(122, 126) 중 임의의 것은 도 8에 도시된 디코딩 장치/재생 디바이스(800)로 이용될 수 있다. 도 8에 도시된 것과 같은 시스템/재생 디바이스는 디코딩 장치/재생 디바이스들(122, 126) 중 임의의 것으로 이용될 수 있다.
도 2a는 예시적인 입체 영상 장면(200), 예를 들어 분할되지 않은 전체 360도 입체 영상 장면을 도시한다. 입체 영상 장면은 보통 단일 비디오 캡처 플랫폼 또는 카메라 마운트 상에 흔히 장착된 다수의 카메라들, 예를 들어 비디오 카메라들로부터 캡처된 이미지 데이터를 조합한 결과일 수 있다.
도 2b는 일 예시적인 실시예에 따라 장면이 예를 들어 전방 180도 부분, 좌측 후방 90도 부분 및 우측 후방 90도 부분과 같이 3(N = 3)개의 예시적인 부분들로 분할된 예시적인 입체 영상 장면(200)의 분할된 버전(250)을 도시한다.
도 2c는 일 예시적인 실시예에 따라 4(N = 4)개의 부분들로 분할된 예시적인 입체 영상 장면(200)의 다른 부분화된 버전(280)을 도시한다.
도 2b 및 도 2c가 2개의 예시적인 분할들을 도시하지만, 다른 분할들이 가능하다는 것을 알아야 한다. 예를 들어, 장면(200)은 12(n = 12)개의 30도 부분들로 분할될 수 있다. 그러한 일 실시예에서, 각각의 분할을 개별적으로 인코딩하는 것이 아니라, 다수의 분할들이 함께 그룹화되어 그룹으로서 인코딩된다. 상이한 분할 그룹들은 사용자에게 인코딩 및 스트리밍될 수 있으며, 각 그룹의 크기는 총 장면 각도들에서 동일하지만 사용자의 머리 위치, 예를 들어, 0도에서 360도로 측정되는 시야각에 따라 스트리밍될 수 있는 이미지의 상이한 부분에 대응한다.
도 3은 일 예시적인 실시예에 따라 예시적인 360도 입체 영상 장면을 인코딩하는 일 예시적인 프로세스를 도시한다. 도 3에 도시된 방법(300)에 대한 입력은, 예를 들어 360도 장면 뷰를 캡처하도록 배치된 복수의 카메라들에 의해 캡처된 360도 입체 영상 이미지 데이터(302)를 포함한다. 입체 영상 이미지 데이터(302), 예를 들어, 입체 영상 비디오는 다양한 공지된 포맷들 중 임의의 포맷일 수 있으며, 대부분의 실시예들에서, 3D 경험을 허용하기 위해 이용되는 좌안 및 우안 이미지 데이터를 포함한다. 이 방법들이 입체 영상 비디오에 특히 적합하지만, 본 명세서에 기재된 기술들 및 방법들은 예를 들어, 360도 또는 작은 장면 영역의 2D 이미지들에도 적용될 수 있다.
단계(304)에서, 장면 데이터(302)는 상이한 장면 영역들, 예를 들어 상이한 뷰잉 방향들에 대응하는 N개의 장면 영역들에 대응하는 데이터로 분할된다. 예를 들어, 도 2b에 도시된 일 실시예에서, 360도 장면 영역은 90도 부분에 대응하는 좌측 후방 부분, 전방 180도 부분 및 우측 후방 90도 부분의 3개의 분할들로 분할된다. 상이한 부분들은 상이한 카메라들에 의해 캡처되었을 수 있지만 이것은 필수적인 것은 아니며 실제로 360도 장면은 도 2b 및 도 2c에 도시된 바와 같이 N개의 장면 영역들로 분할되기 전에 다수의 카메라들로부터 캡처된 데이터로부터 구성될 수 있다.
단계(306)에서, 상이한 장면 부분들에 대응하는 데이터가 본 발명에 따라 인코딩된다. 일부 실시예들에서, 각 장면 부분은 각 부분에 대해 다수의 가능한 비트 레이트 스트림들을 지원하기 위해 다수의 인코더들에 의해 독립적으로 인코딩된다. 단계(308)에서, 인코딩된 장면 부분들은 고객 재생 디바이스에 스트리밍하기 위해, 예를 들어 컨텐트 전달 시스템(104)에 저장된다.
도 4는 입력 이미지 부분, 예를 들면 장면의 180도 전방 부분이 동일한 입력 이미지 부분의 상이한 인코딩된 버전들을 생성하기 위해 다양한 인코더들을 이용하여 인코딩되는 방법을 보여주는 예를 도시하는 도면(400)이다.
도면(400)에 도시된 바와 같이, 입력 장면 부분(402), 예를 들어 장면의 180도 전방 부분은 인코딩을 위해 복수의 인코더들에 공급된다. 이 예에서, 이미지 컨텐트의 상이한 데이터 레이트 스트림들을 지원하기 위해 상이한 해상도들과 함께 입력 데이터를 인코딩하고 상이한 인코딩 기술들을 이용하여 인코딩된 데이터를 생성하는 K개의 상이한 인코더들이 존재한다. 복수의 K 개의 인코더들은 고화질(HD) 인코더 1(404), 표준 해상도(SD) 인코더 2(406), 감소된 프레임 레이트 SD 인코더 3(408),...., 및 고 압축 감소된 프레임 레이트 SD 인코더 K(410)를 포함한다.
HD 인코더 1(404)은 고 비트 레이트 HD 인코딩된 이미지(412)를 생성하기 위해 풀 고화질(HD) 인코딩을 수행하도록 구성된다. SD 인코더 2(406)는 SD 인코딩된 버전 2(141)의 입력 이미지를 생성하기 위해 저해상도 표준 해상도 인코딩을 수행하도록 구성된다. 감소된 프레임 레이트 SD 인코더 3(408)은 감소된 레이트 SD 인코딩된 버전 3(416)의 입력 이미지를 생성하기 위해 감소된 프레임 레이트의 저해상도 SD 인코딩을 수행하도록 구성된다. 감소된 프레임 레이트는 예를 들어 인코딩을 위해 SD 인코더 2(406)에 의해 이용되는 프레임 레이트의 절반일 수 있다. 고 압축 감소된 프레임 레이트의 SD 인코더 K(410)는 고 압축된 감소된 레이트 SD 인코딩된 버전 K(420)의 입력 이미지를 생성하기 위해 고 압축된 감소된 프레임 레이트의 저해상도 SD 인코딩을 수행하도록 구성된다.
따라서, 공간적 및/또는 시간 해상도의 제어가 상이한 데이터 레이트의 데이터 스트림들을 생성하는데 이용될 수 있고 데이터 압축 레벨과 같은 다른 인코더 설정들의 제어가 또한 하나 이상의 원하는 데이터 레이트들을 갖는 장면 부분에 대응하는 데이터 스트림들을 생성하기 위해 단독으로 또는 공간 및/또는 시간 해상도의 제어를 추가하여 이용될 수 있다는 것을 알아야 한다.
도 5는 3개의 예시적인 부분들로 분할된 입력 입체 영상 장면의 저장된 인코딩된 부분들(500)을 도시한다. 저장된 인코딩된 부분들은 예를 들어 메모리 내의 데이터/정보로서 컨텐트 전달 시스템(104)에 저장될 수 있다. 입체 영상 장면의 저장된 인코딩된 부분들(500)은 3개의 상이한 세트들의 인코딩된 부분들을 포함하며, 각각의 부분은 상이한 장면 영역에 대응하고, 각각의 세트는 복수의 상이한 인코딩된 버전의 대응하는 장면 부분을 포함한다. 각각의 인코딩된 버전은 인코딩된 비디오 데이터의 버전이며 따라서 코딩된 다수의 프레임들을 나타낸다. 각각의 인코딩된 버전(510, 512, 516)은 다수의 시간 기간들에 대응하는 비디오이고, 스트리밍할 때, 재생되는 시간 기간에 대응하는 부분, 예를 들어 프레임들은 전송 목적으로 이용될 것이라는 것을 알아야 한다.
도 4와 관련하여 예시되고 상술된 바와 같이, 각 장면 부분, 예를 들어 전방, 후방 장면 부분들은 동일한 장면 부분의 K개의 상이한 버전들을 생성하기 위해 복수의 상이한 인코더들을 이용하여 인코딩될 수 있다. 주어진 입력 장면에 대응하는 각 인코더의 출력들은 집합으로 함께 그룹화되어 저장된다. 제 1 세트의 인코딩된 장면 부분들(502)은 전방 180도 장면 부분에 대응하고, 전방 180도 장면의 인코딩된 버전 1(510), 인코딩된 버전 2(512),..., 및 인코딩된 버전 K(516)을 포함한다. 제 2 세트의 인코딩된 장면 부분들(504)은 장면 부분 2, 예를 들어 90도 좌측 후방 장면 부분에 대응하며, 90도 좌측 후방 장면 부분의 인코딩된 버전 1(520), 인코딩된 버전 2(522),... 및 90도 좌측 후방 장면 부분의 인코딩된 버전 K(526)을 포함한다. 유사하게, 제 3 세트의 인코딩된 장면 부분들(506)은 장면 부분(3), 예를 들어, 90도 우측 후방 장면 부분에 대응하고, 90도 우측 후방 장면 부분의 인코딩된 버전 1(530), 인코딩된 버전 2(532),... 및 90도 우측 후방 장면 부분의 인코딩된 버전 K(536)을 포함한다.
360도 장면의 다양한 상이한 저장된 인코딩된 부분들은 고객 재생 디바이스들에 전송하기 위해 다양한 상이한 비트 레이트 스트림들을 생성하는데 이용될 수 있다.
인코딩 프로세스는 장면의 N 개의 부분들이 각 개별 사용자에 대해 개별적으로 컨텐트를 인코딩할 필요없이 상이한 사용자들에게 상이하게 전송 및 처리되도록 허용하기 때문에, 컨텐트 전달 시스템(104)은 다수의 동시 사용자들을 지원할 수 있다. 따라서, 스포츠 또는 다른 이벤트들의 실시간 또는 거의 실시간 스트리밍을 허용하기 위해 실시간 인코딩을 지원하는데 다수의 병렬 인코더들이 이용될 수 있지만, 이용되는 인코더들의 수는 컨텐트가 스트리밍되는 재생 디바이스들의 수보다 훨씬 적은 경향이 있다.
컨텐트의 부분들이 360도 뷰에 대응하는 부분들로서 설명되었지만, 장면들이 또한 수직 차원을 갖는 평탄화된 버전의 공간을 나타낼 수 있고, 일부 실시예들에서는 그렇게 나타낸다는 것을 알아야 한다. 재생 디바이스는 3D 환경의 모델, 예를 들어 공간을 이용하여 장면 부분들을 맵핑하고 수직 뷰잉 위치들을 조정할 수 있다. 따라서, 본 출원에서 논의된 360도는 사용자가 시선을 유지하면서 그의 시야각을 좌우로 바꾼 것처럼 수평에 대한 머리 위치를 나타낸다.
도 6a 및 도 6b를 포함하는 도 6은 예시적인 실시예에 따라 이미지 컨텐트를 제공하는 예시적인 방법의 단계들을 도시한 흐름도(600)이다. 도 6a는 흐름도(600)의 제 1 부분을 도시한다. 도 6b는 흐름도(600)의 제 2 부분을 도시한다. 흐름도(600)의 방법은 도 1에 도시된 캡처 시스템을 이용하여 일부 실시예들에서 구현된다.
방법(600)은 도 6a에 도시된 시작 단계(602)에서 시작한다. 동작은 단계(602)에서 단계(604)로 진행한다. 단계(604)에서, 캡처된 이미지가 수신된다. 동작은 단계(604)에서 단계(606)로 진행한다.
단계(606)에서, 이용될 해상도 할당이 선택된다. 선택은 예를 들어 움직임에 기초하여 이루어질 수 있다. 동작은 단계(606)에서 결정 단계(608)로 진행한다. 결정 단계(608)에서, 선택된 해상도가 이전 해상도 할당과 다른 것으로 결정되면, 동작은 단계(610)로 진행한다. 그렇지 않으면 동작은 단계(612)로 진행한다.
단계(610)에서, 해상도 감축을 제어하는데 이용되는 선택된 해상도 할당에 대응하는 새로운 다운 샘플링 및/또는 필터링 정보가 로딩된다. 동작은 단계(610)에서 단계(612)로 진행한다.
단계(612)에서, 이용되는 결정된 해상도 할당에 기초하여 수신된 캡처 이미지에 대해 해상도 감축 동작이 수행된다. 해상도 감축 동작은 적어도 일부 상이한 이미지 부분들이 상이한 해상도들을 갖는 감축된 해상도 이미지(614)를 출력한다. 동작은 단계(616)로 진행한다.
단계(616)에서, 감축된 해상도 이미지는 엔트로피 인코딩, 런 랭스 인코딩, 모션 벡터들 및/또는 다른 인코딩 기술들과 같은 압축을 지원하는 인코더를 이용하여 인코딩된다. 동작은 단계(616)에서 단계(618)로 진행한다.
단계(618)에서, 결정된 해상도 할당, 예를 들어, 다운 샘플링의 대상이 되는 이미지를 렌더링하는데 이용될 해상도 할당에 대응하는 UV 맵이 표시된다. 적용된 해상도 할당에 대응하는 UV 맵을 명시하고 및/또는 적용된 해상도 할당에 대응하는 UV 맵을 제공함으로써 재생 디바이스는, 전송된 이미지의 어느 부분이 재생 디바이스에 통신되기 전에 다운 샘플링되었는지를 고려한 3D 환경의 모델에 통신된 이미지가 적용되도록 허용하는 정보를 제공받는다. 동작은 단계(618)에서 접속 노드 A(620)를 통해 도 6b에 도시된 결정 단계(622)로 진행한다.
결정 단계(622)에서, 적용된 해상도 할당에 대응하는 UV 맵이 재생 디바이스에 통신되었는지 여부에 관한 결정이 이루어진다. 결정이 적용된 해상도 할당에 대응하는 UV 맵이 재생 디바이스에 통신되지 않는 것이라면, 동작은 단계(624)로 진행한다. 결정이 적용된 해상도 할당에 대응하는 UV 맵이 재생 디바이스에 통신된 것이라면, 동작은 단계(626)로 진행한다.
단계(624)에서, 적용된 해상도 할당에 대응하는 UV 맵은 재생 디바이스에 통신된다. 동작은 단계(624)에서 단계(626)로 진행한다.
단계(626)에서, 이용할 UV 맵을 나타내는 정보가 재생 디바이스에 통신된다. 동작은 단계(626)에서 단계(628)로 진행한다. 단계(628)에서, 인코딩된 이미지는 재생 디바이스에 통신된다. 이 방법은 수신된 각 캡처된 이미지에 대해 실행될 수 있다.
도 7은 본 발명의 특징들에 따라 컨텐트를 인코딩 및 스트리밍하는데 이용될 수 있는 인코딩 기능을 갖는 예시적인 컨텐트 전달 시스템(700)을 도시한다.
이 시스템은 본 발명의 특징들에 따라 인코딩, 저장 및 전송 및/또는 컨텐트 출력을 수행하는데 이용될 수 있다. 일부 실시예들에서, 시스템(700) 또는 그 내부의 소자들은 도 6에 도시된 프로세스에 대응하는 동작을 수행한다. 컨텐트 전달 시스템(700)은 도 1의 시스템(104)으로서 이용될 수 있다. 도 7에 도시된 시스템이 인코딩, 처리 및 스트리밍을 위해 이용되는 동안, 시스템(700)은 처리된 및/또는 인코딩된 이미지 데이터를 디코딩하여 예를 들어 조작자에게 디스플레이하는 능력을 또한 포함할 수 있음을 알아야 한다.
시스템(700)은 디스플레이(702), 입력 디바이스(704), 입/출력(I/O) 인터페이스(706), 프로세서(708), 네트워크 인터페이스(710) 및 메모리(712)를 포함한다. 시스템(700)의 다양한 구성요소들은 시스템(700)의 구성 요소들 사이에서 데이터가 통신되도록 허용하는 버스(709)를 통해 함께 연결된다.
메모리(712)는 본 발명에 따라 프로세서(708)에 의해 실행될 때 시스템(700)을 제어하여 분할, 인코딩, 저장, 및 스트리밍/전송 및/또는 출력 동작들을 구현하는 다양한 모듈들, 예를 들면 루틴들을 포함한다.
메모리(712)는 본 발명에 따라 프로세서(707)에 의해 실행될 때 컴퓨터 시스템(700)을 제어하여 몰입형 입체 영상 비디오 획득, 인코딩, 저장 및 전송 및/또는 출력 방법들을 구현하는 다양한 모듈들, 예를 들면 루틴들을 포함한다. 메모리(712)는 제어 루틴들(714), 분할 모듈(716), 인코더(들)(718), 스트리밍 제어기(720), 수신된 입력 이미지들(732), 예를 들어 360도 장면 입체 영상 비디오, 인코딩된 장면 부분들(734) 및 타이밍 정보(736)를 포함한다. 일부 실시예들에서, 모듈들은 소프트웨어 모듈들로서 구현된다. 다른 실시예들에서, 모듈들은 하드웨어로서, 예를 들어 개별 회로들로서 구현되며 각 모듈은 모듈이 대응하는 기능들을 수행하기 위한 회로로서 각각의 모듈이 구현된다. 또 다른 실시예들에서, 모듈들은 소프트웨어와 하드웨어의 조합을 이용하여 구현된다.
제어 루틴들(714)은 시스템(700)의 동작을 제어하기 위한 디바이스 제어 루틴들 및 통신 루틴들을 포함한다. 분할 모듈(716)은 본 발명의 특징들에 따라 수신된 입체적 360도 장면 버전을 N개의 장면 부분들로 분할하도록 구성된다.
인코더(들)(718)는 본 발명의 특징들에 따라, 수신된 이미지 컨텐트, 예를 들어, 360도 장면 버전 및/또는 하나 이상의 장면 부분들을 인코딩하도록 구성된 복수의 인코더들을 포함할 수 있고 일부 실시예들에서는 포함한다. 일부 실시예들에서, 인코더(들)는 다수의 인코더들을 포함하며, 각 인코더는 주어진 비트 레이트 스트림을 지원하기 위해 입체적 장면 및/또는 분할된 장면 부분들을 인코딩하도록 구성된다. 따라서, 일부 실시예들에서 각 장면 부분은 각 장면에 대해 다수의 상이한 비트 레이트 스트림들을 지원하기 위해 다중 인코더들을 이용하여 인코딩될 수 있다. 인코더(들)(718)의 출력은 소비자 디바이스들, 예를 들어 재생 디바이스들에 스트리밍하기 위해 메모리에 저장되는 인코딩된 장면 부분들(734)이다. 인코딩된 컨텐트는 네트워크 인터페이스(710)를 통해 하나 또는 다수의 상이한 디바이스들에 스트리밍될 수 있다.
UV 맵들(740)은 컨텐트 전달 시스템(700)의 메모리(712)에 저장된다. UV 맵들(740)은 상이한 해상도 할당들 및/또는 환경의 영역들에 대응한다. 예를 들어, 제 1 UV 맵 1(742)은 제 1 해상도 할당에 대응하고, 제 2 UV 맵 2(744)는 제 2 해상도 할당에 대응하고, 제 3 UV 맵(746)은 제 3 해상도 할당에 대응한다. 상이한 해상도 할당들을 이용하는 UV 맵들은 환경의 동일한 영역에 대응할 수 있다. 환경의 다른 영역들에 대응하는 상이한 UV 맵들은 메모리(712)에 저장될 수 있다. 다중 UV 맵들은 환경의 모델에 대응할 수 있다. 수신된 이미지들이 캡처된 환경의 메시 모델은 컨텐트 전달 시스템(700)의 메모리(712), 예를 들어 3D 환경의 메시 모델(738)에 저장된다. 메모리(712)에는 다수의 메시 모델들이 저장될 수 있다.
스트리밍 제어기(720)는 예를 들어 통신 네트워크(105)를 통해 하나 이상의 고객 디바이스들에 인코딩된 이미지 컨텐트를 전달하기 위해 인코딩된 컨텐트의 스트리밍을 제어하도록 구성된다. 다양한 실시예들에서, 흐름도(600)의 다양한 단계들은 스트리밍 제어기(720)의 요소들에 의해 구현된다. 스트리밍 제어기(720)는 요청 처리 모듈(722), 데이터 레이트 결정 모듈(724), 현재의 머리 위치 결정 모듈(726), 선택 모듈(728) 및 스트리밍 제어 모듈(730)을 포함한다. 요청 처리 모듈(722)은 고객 재생 디바이스로부터 이미징 컨텐트에 대한 수신된 요청을 처리하도록 구성된다. 컨텐트에 대한 요청은 네트워크 인터페이스(710)에서 수신기(713)를 통해 다양한 실시예들에서 수신된다. 일부 실시예들에서, 컨텐트에 대한 요청은 요청하는 재생 디바이스의 식별을 나타내는 정보를 포함한다. 일부 실시예들에서, 컨텐트에 대한 요청은 고객 재생 디바이스에 의해 지원되는 데이터 레이트들, 사용자의 현재 머리 위치, 예를 들어 헤드 장착형 디스플레이의 위치를 포함할 수 있다. 요청 처리 모듈(722)은 수신된 요청을 처리하고 검색된 정보를 스트리밍 제어기(720)의 다른 요소들에 제공하여 추가 동작을 취한다. 컨텐트에 대한 요청이 데이터 레이트 정보 및 현재 머리 위치 정보를 포함할 수 있지만, 다양한 실시예들에서, 재생 디바이스에 의해 지원되는 데이터 레이트는 네트워크 테스트들 및 시스템(700)과 재생 디바이스 간의 다른 네트워크 정보 교환으로부터 결정될 수 있다.
데이터 레이트 결정 모듈(724)은 고객 디바이스들에 이미징 컨텐트를 스트리밍하는데 이용될 수 있는 이용 가능한 데이터 레이트들을 결정하도록 구성되며, 예를 들어, 다수의 인코딩된 장면 부분들이 지원되기 때문에, 컨텐트 전달 시스템(700)이 다수의 데이터 레이트들로 고객 디바이스에 스트리밍 컨텐트를 지원할 수 있다. 데이터 레이트 결정 모듈(724)은 또한 시스템(700)으로부터 컨텐트를 요청하는 재생 디바이스에 의해 지원되는 데이터 레이트를 결정하도록 구성된다. 일부 실시예들에서, 데이터 레이트 결정 모듈(724)은 네트워크 측정치들에 기초하여 이미지 컨텐트의 전달을 위한 데이터 레이트들을 결정하도록 구성된다.
현재 머리 위치 결정 모듈(726)은 재생 디바이스로부터 수신된 정보로부터 현재 시야각 및/또는 사용자의 현재 머리 위치, 예를 들면 헤드 장착형 디스플레이의 위치를 결정하도록 구성된다. 일부 실시예들에서, 재생 디바이스는 현재의 머리 위치 정보를 주기적으로 시스템(700)에 전송하고, 여기서 현재의 머리 위치 결정 모듈(726)은 정보를 수신하고 처리하여 현재의 시야각 및/또는 현재의 머리 위치를 결정한다.
선택 모듈(728)은 사용자의 현재 시야각/머리 위치 정보에 기초하여 360도 장면의 어느 부분들을 재생 디바이스에 스트리밍할 지를 결정하도록 구성된다. 선택 모듈(728)은 또한 컨텐트의 스트리밍을 지원하기 위해 이용 가능한 데이터 레이트들에 기초하여 결정된 장면 부분들의 인코딩된 버전들을 선택하도록 구성된다.
스트리밍 제어 모듈(730)은 본 발명의 특징들에 따라 다양한 지원된 데이터 레이트들에서 이미지 컨텐트, 예를 들면 360도 입체 영상 장면의 다수의 부분들의 스트리밍을 제어하도록 구성된다. 일부 실시예들에서, 스트리밍 제어 모듈(730)은 재생 디바이스에서 장면 메모리를 초기화하기 위해 컨텐트를 요청하는 재생 디바이스에 360도 입체 영상 장면의 N개의 부분들의 스트리밍을 제어하도록 구성된다. 다양한 실시예들에서, 스트리밍 제어 모듈(730)은 예를 들어 결정된 레이트로, 결정된 장면 부분들의 선택된 인코딩된 버전들을 주기적으로 전송하도록 구성된다. 일부 실시예들에서, 스트리밍 제어 모듈(730)은 또한 시간 간격, 예를 들어, 1 분당 1 회에 따라 360도 장면 업데이트들을 재생 디바이스에 전송하도록 구성된다. 일부 실시예들에서, 360도 장면 업데이트를 전송하는 것은 전체 360도 입체 영상 장면의 N개의 장면 부분들 또는 N-X 장면 부분들을 전송하는 것을 포함하며, 여기서 N은 전체 360도 입체 영상 장면이 분할된 부분들의 총 개수이고 X는 최근에 재생 디바이스에 전송된 선택된 장면을 나타낸다. 일부 실시예들에서, 스트리밍 제어 모듈(730)은 360도 장면 업데이트를 전송하기 전에 초기화를 위해 처음 N개의 장면 부분들을 전송한 후 미리 결정된 시간 동안 대기한다. 일부 실시예들에서, 360도 장면 업데이트의 전송을 제어하기 위한 타이밍 정보는 타이밍 정보(736)에 포함된다. 일부 실시예들에서, 스트리밍 제어 모듈(730)은 또한 리프레시 간격 동안 재생 디바이스에 전송되지 않은 장면 부분들을 식별하고; 리프레시 간격 동안 재생 디바이스에 전송되지 않은 식별된 장면 부분들의 업데이트된 버전을 전송하도록 구성된다.
다양한 실시예들에서, 스트리밍 제어 모듈(730)은 재생 디바이스가 각각의 리프레시 기간 동안에 적어도 한 번 상기 360도 장면 버전을 완전히 리프레시하게 하기 위해 주기적으로 기초하여 적어도 N개의 부분들의 충분한 수를 재생 디바이스에 통신하도록 구성된다.
도 8은 도 1 및 도 7에 도시된 것과 같은 컨텐트 전달 시스템으로부터 수신된 이미징 컨텐트를 수신, 디코딩, 저장 및 디스플레이하는데 이용될 수 있는 본 발명에 따라 구현된 컴퓨터 시스템/재생 디바이스(800)를 도시한다. 재생 디바이스는 헤드 장착형 디스플레이(805)일 수 있는 OCULUS RIFT ™ VR (가상 현실) 헤드셋과 같은 3D 헤드 장착형 디스플레이와 함께 이용될 수 있다. 디바이스(800)는 수신된 인코딩된 이미지 데이터를 디코딩하고 고객에게 디스플레이하기 위한 3D 이미지 컨텐트를 생성하는 기능을 포함한다. 일부 실시예들에서의 재생 디바이스는 가정이나 사무실과 같은 고객 구내 위치에 위치되지만, 화상 캡처 사이트에도 위치될 수 있다. 디바이스(800)는 본 발명에 따라 신호 수신, 디코딩, 디스플레이 및/또는 다른 동작들을 수행할 수 있다.
디바이스(800)는 디스플레이(802), 디스플레이 디바이스 인터페이스(803), 입력 디바이스(804), 디코더(864), 입/출력(I/O) 인터페이스(806), 프로세서(808), 네트워크 인터페이스(810) 및 메모리(812)를 포함한다. 재생 디바이스(800)의 다양한 구성 요소들은 데이터가 시스템(800)의 구성 요소들 사이에서 통신될 수 있게 하는 버스(809)를 통해 함께 연결된다. 일부 실시예들에서, 디스플레이(802)는 점선 박스를 이용하여 도시된 바와 같은 선택 요소로서 포함되지만, 일부 실시예들에서는 외부 디스플레이 디바이스(805), 예를 들어 헤드 장착형 입체 영상 디스플레이 디바이스가 디스플레이 디바이스 인터페이스(803)를 통해 재생 디바이스에 연결될 수 있다. 일부 실시예들에서, 네트워크 인터페이스(810)는 수신기(860) 및 전송기(862)를 포함한다.
메모리(812)는 본 발명에 따라 프로세서(808)에 의해 실행될 때 재생 디바이스(800)를 제어하여 디코딩 및 출력 동작들을 수행하는 다양한 모듈들, 예를 들어 루틴들을 포함한다. 메모리(812)는 제어 루틴들(814), 컨텐트에 대한 요청 생성 모듈(816), 머리 위치 및/또는 시야각 결정 모듈(818), 디코더 모듈(820), 3D 이미지 생성 모듈로도 지칭되는 입체 영상 이미지 렌더링 모듈(822), 및 수신된 인코딩된 이미지 컨텐트를 포함하는 데이터/정보(824), 디코딩된 이미지 컨텐트(826), 360도 디코딩된 장면 버퍼(828) 및 생성된 입체 영상 컨텐트(830)를 포함한다.
제어 루틴들(814)은 디바이스(800)의 동작을 제어하기 위해 디바이스 제어 루틴들 및 통신 루틴들을 포함한다. 요청 생성 모듈(816)은 컨텐트를 제공하기 위해 컨텐트 전달 시스템에 전송할 컨텐트에 대한 요청을 생성하도록 구성된다. 컨텐트에 대한 요청은 네트워크 인터페이스(810)를 통해 다양한 실시예들에서 전송된다. 머리 위치 및/또는 시야각 결정 모듈(818)은 사용자의 현재 시야각 및/또는 현재의 머리 위치, 예를 들어, 헤드 장착형 디스플레이의 위치를 결정하고 결정된 위치 및/또는 시야각 정보를 컨텐트 전달 시스템(700)에 보고하도록 구성된다. 일부 실시예들에서, 재생 디바이스(800)는 현재의 머리 위치 정보를 주기적으로 시스템(700)에 전송한다.
디코더 모듈(820)은 컨텐트 전달 시스템(700)으로부터 수신된 인코딩된 이미지 컨텐트(824)를 디코딩하여 디코딩된 이미지 데이터(826)를 생성하도록 구성된다. 디코딩된 이미지 데이터(826)는 디코딩된 입체 영상 장면 및/또는 디코딩된 장면 부분들을 포함할 수 있다.
3D 이미지 렌더링 모듈(822)은 디스플레이(802) 및/또는 디스플레이 디바이스(805) 상에서 사용자에게 디스플레이하기 위해, 예를 들어 디코딩된 이미지 컨텐트(826)를 이용하여 본 발명의 특징들에 따라 3D 이미지들을 생성한다. 생성된 입체 영상 이미지 컨텐트(830)는, 3D 이미지 생성 모듈(822)의 출력이다. 따라서 렌더링 모듈(822)은 3D 이미지 컨텐트(830)를 디스플레이에 렌더링한다. 일부 실시예들에서, 디스플레이 디바이스(805)는 오큘러스 리프트(oculus rift)와 같은 3D 디스플레이일 수 있다. 재생 디바이스(800)의 조작자는 입력 디바이스(804)를 통해 하나 이상의 파라미터들을 제어하고 및/또는 수행될 동작들을 선택, 예를 들어 3D 장면을 디스플레이하도록 선택할 수 있다.
도 8은 도 7의 시스템에 의해 스트리밍된 컨텐트를 수신, 디코딩 및 디스플레이하는데 이용될 수 있는 예시적인 컨텐트 재생 디바이스를 도시한다. 시스템(800)은 헤드 장착형 입체 영상 디스플레이(805)에 결합된 디스플레이 인터페이스(803), 입력 디바이스(804) 선택적 디스플레이(802) 및 I/O 인터페이스를 포함한다. 인터페이스(802)는 다양한 입력/출력 요소들(803, 802, 804)을 버스(809)에 연결하고 버스는 프로세서(808), 네트워크 인터페이스(810) 및 메모리(812)에 연결된다. 네트워크 인터페이스(810)는 재생 디바이스가 스트리밍 디바이스(114)로부터 컨텐트를 수신하고 및/또는 이벤트에서 특정 뷰잉 위치의 선택을 나타내는 뷰 헤드 위치 및/또는 위치(카메라 장비) 선택과 같은 정보를 통신할 수 있게 한다. 메모리(812)는 도 8에 도시된 바와 같은 다양한 데이터 및 모듈들을 포함한다. 실행될 때, 디코더 모듈(820)은 수신된 이미지가 디코딩되도록 하고, 3D 이미지 렌더링 모듈(822)은 본 발명에 따라 이미지들의 추가 처리 및 선택적으로 프레젠테이션 프로세스의 부분으로서 함께 이미지의 스티칭을 하게 한다.
제 1 부분인 도 9a 및 제 2 부분인 도 9b를 포함하는 도 9는 컨텐트 재생 디바이스를 동작시키는 방법(900)의 단계들을 도시한다. 이 방법(900)에 따르면, 하나 이상의 수신된 이미지들의 일부를 환경의 모델, 예를 들어 환경의 메시 모델에 맵핑하기 위해 상이한 시간에 상이한 UV 맵들이 이용될 수 있다. 상이한 UV 맵들을 이용하는 결과로서, 수신된 이미지, 예를 들어, 인코딩된 프레임의 픽셀 수가 동일하게 유지될 수 있지만, 수신된 이미지의 픽셀들의 환경의 모델의 세그먼트로의 맵핑은 변할 수 있다. 예를 들어, 제 1 UV 맵을 이용하면, 수신된 이미지의 제 1 수의 픽셀들이 환경의 모델의 제 1 부분에 맵핑되지만, 제 2 상이한 UV 맵의 이용하면, 수신된 이미지의 상이한 수의 픽셀들이 환경의 모델의 동일한 부분에 맵핑된다. 일부 실시예들에서 이미지들을 생성하고 전송하는 시스템은 UV 맵들을 통신하고 및/또는 이미지나 이미지들의 세트를 환경의 모델에 맵핑할 때 어떤 UV 맵이 이용될지를 재생 디바이스에 나타낸다. 따라서, 이용되는 UV 맵을 변경함으로써, 인코딩 및 전송 디바이스는 환경의 모델의 특정 부분과 연관된 데이터 및/또는 해상도의 양을 변경할 수 있다. 렌더링은 이미지의 표시된 부분을 3D 환경의 모델의 대응하는 세그먼트에 스트레칭하거나 그렇지 않으면 따르는 것을 관련시키기 때문에, 이미지 컨텐트는 적용할 3D 모델의 세그먼트를 커버하는 렌더링 프로세스의 부분으로서 필요에 따라 스케일링 및/또는 다른 방식으로 수정될 것이다. 예를 들어, 제 1 UV 맵이 환경의 모델의 제 1 세그먼트에 1개의 픽셀을 맵핑하고 제 2 UV 맵이 환경의 모델의 제 1 세그먼트에 2개의 픽셀들을 맵핑하는 경우, 디스플레이된 제 1 세그먼트의 해상도는 제 1 UV 맵이 이미지 렌더링에 이용되는 경우보다 제 2 UV 맵이 이용되는 경우에 더 높을 것이다. UV 맵이 이미지에서 이미지로 또는 이미지들의 그룹에서 이미지 그룹으로 변경됨으로써, 이미지들 및 UV 맵 정보를 생성하여 재생 디바이스에 전송하는 서버가, 특정 관심사로 간주되는 장면 영역들, 예를 들어 배우들, 선수들, 연주자들이 환경에 있거나 환경에서 움직임이 있는 장면 영역들에 기초하여, 환경의 일부 예를 들면 전방 부분 내에서 데이터 및/또는 해상도의 할당을 동적으로 변경할 수 있게 하지만, 이미지들의 픽셀 수가 환경의 일부들에 대한 픽셀 할당을 제어하는 UV 맵과 동일하게 유지될 수 있기 때문에 이미지들을 전송하는데 이용되는 데이터 레이트는 상대적으로 일정하게 유지될 수 있다. 따라서, 상기 방법들은 이미지 인코딩 기술이 적어도 일부 실시예들에서 동일하게 유지하도록 허용하고, 캡처된 이미지 또는 이미지들은 캡처된 이미지 내의 특정 관심사로 간주되는 장면 부분들의 위치에 따라 그리고 예를 들어 텍스처로서 환경 모듈의 하나 이상의 세그먼트에 이미지를 적용하는데 어떤 UV 맵이 이용되는지에 대한 지식에 기초하여 인코딩하기 전에 상이하게 다운 샘플링된다. UV 맵은 하나의 이미지 또는 프레임에서 다음 이미지 또는 프레임으로 프레임 또는 이미지 단위로 변경될 수 있지만, 일부 실시예들에서 UV 맵들의 변경은 I-프레임 또는 화상 그룹(group of picture) 경계들마다 발생하도록 제한되며, UV 맵은 I-프레임들 사이 또는 하나의 화상 그룹 내의 다수의 프레임들에 대해 이용된다. 이러한 UV 맵 전환 제약이 일부 실시예들에서 이용되지만, 본 발명에 필수적이거나 중요하지 않으며 일부 실시예들은 UV 맵이 프레임 단위로 변경되도록 한다.
예시적인 방법(900)의 단계들이 이제 상세히 논의될 것이다. 방법(900)은 예를 들어 컨텐트 재생 디바이스의 전원이 켜지는 단계(902)에서 시작한다. 재생 디바이스는, 예를 들어, 헤드 장착형 디스플레이 또는 TV에 접속된 게임 시스템일 수도 있고, 또는 다양한 실시예에서와 같이, 디스플레이 디바이스로 이용되는 휴대 전화 화면의 상이한 부분들에서 좌안 및 우안 이미지들을 사용자가 뷰잉하도록 허용하기 위한 하나 이상의 렌즈들 및 터치 패드 또는 다른 제어부를 갖는 헤드 마운트에 장착된 휴대 전화일 수 있다. 방법(900)은 본원에서 설명된 임의의 컨텐트 재생 디바이스에 의해 구현될 수 있다.
단계(903)에서, 예를 들어, 사용자에게 재생될 컨텐트의 사용자 선택을 나타내는 사용자 입력에 응답하여, 컨텐트 재생 디바이스는 단계(903)에서 컨텐트에 대한 요청을 전송한다. 일부 실시예들에서, 이 요청은 컨텐트 서버 또는 컨텐트 제공자 시스템, 예를 들어, 환경의 이미지들을 수신, 처리 및 인코딩하고 UV 맵들 및/또는 주어진 시간에 어떤 UV 맵이 이용될지에 관한 정보와 함께 재생 디바이스에 제공하는 디바이스에 통신된다. 서버는 환경의 모델을 제공할 수도 있거나 디폴트 모델이 이용될 수 있다.
단계(904)에서, 환경의 모델, 예를 들어 3D 메시 모델이, 예를 들어 컨텐트 서버로부터 수신된다. 모델은 경기 또는 스포츠 이벤트와 같은 이벤트가 진행되는 환경의 모델일 수 있으며 때로는 그러한 환경의 모델이다. 모델은 환경의 완전한 360도 모델일 수 있거나 이미지 컨텐트가 맵핑되어야 하는 환경 부분, 예를 들어 환경의 전방 부분의 모델일 수 있다. 알 수 있는 바와 같이, 환경의 일부에 이미지들을 맵핑하기 위해 상이한 UV 맵들을 이용하는 것과 관련된 특징은 전체 360도 환경, 환경의 일부에 대해, 스테레오 이미지들 및/또는 비-입체 영상 이미지, 예를 들면 동일한 이미지가 뷰어의 좌안 및 우안 모두에 디스플레이되는 파노라마 이미지와 함께 이용될 수 있다.
동작은 단계(904)에서 단계(906)로 진행하여, 단계(903)에서 수신된 환경의 모델이 미래 이용을 위해, 예를 들어 UV 맵들, 예를 들어 단계(908)에서 수신되는 텍스처 맵들 중 하나에 따라 모델 상에 맵핑되는 이미지들을 렌더링하고 디스플레이하는데 이용될 수 있도록 저장된다. 텍스처 맵들은 환경의 모델을 제공하는 동일한 서버로부터 수신될 수 있거나 때로는 수신된다. UV 맵은 2d 이미지가 어떻게 세그먼트되어야 하는지를 나타내며, 세그먼트들은 그 후에 환경의 모델의 대응하는 세그먼트들에 텍스처 또는 텍스처들로서 적용된다.
초기 텍스처, 예를 들면 초기 UV 맵이 단계(908)에서 수신될 수 있지만, 일부 실시예들에서 맵들의 세트가 수신되어 이미지와 환경의 모델의 일부 사이의 상이한 맵핑들을 나타내는 상이한 UV 맵들과 함께 저장된다. 각각의 맵은 텍스처 맵 식별자에 의해 식별될 수 있다. 컨텐트를 스트리밍하는 동안, 이미지들을 제공하는 컨텐트 서버는 어떤 텍스처 맵을 어떤 이미지 세트와 함께 이용할지를 나타낼 수 있다. 다른 실시예들에서, 새로운 텍스처 맵은 새로운 텍스처 맵이 적용되어야 할 이미지와 함께 또는 그 이전에 스트리밍될 수 있다. 재생 디바이스에 텍스처 맵들의 세트를 저장하는 것은 UV/텍스처 맵들을 재생 디바이스에 여러 번 전송하지 않고 맵들을 재이용할 수 있기 때문에 효율적인 전송을 제공할 수 있다.
단계(910)에서, 수신된 텍스처 맵들의 세트는 미래의 이용을 위해 저장된다. 텍스처 맵들이 저장되면, 동작은 이미지 컨텐트가 수신되는 단계(914)로 진행한다. 단계(904)에서, 이미지 컨텐트 외에도, 수신된 이미지를 환경의 모델에 맵핑하는데 이용되는 텍스처 맵을 식별하는 표시자가 수신되거나 이용되는 텍스처 맵이 수신된다. 표시자가 수신되면 이용될 텍스처 맵들의 저장된 세트에서 텍스처 맵을 식별한다. 표시된 텍스처 맵은 새로운 텍스처 맵이 지정되거나 및/또는 제공될 때까지 유효하게 유지할 수 있다. 따라서, 단일 텍스처 맵은 이미지들의 시퀀스, 예를 들어, 화상 그룹에 이용될 수 있다. 예를 들어, 환경의 상이한 영역이 고해상도가 이전에 할당되었던 영역보다 높은 우선 순위의 영역임을 나타내는 동작이 검출되는 경우, 텍스처 맵은 서버에 의해 변경될 수 있다. 따라서 배우들이 이동하거나 필드의 선수들이 이동할 때, 해상도 할당이 변경될 수 있고 현재 해상도 할당에 대응하는 UV 맵을 상이한 해상도 할당에 대응하는 이전 UV 맵 대신 이용될 수 있다.
단계(914)는 일부 실시예들에서 단계들(916, 918, 920, 926 및 928)을 포함한다.
단계(916)에서, 제 1 인코딩된 이미지가 수신된다. 선택적인 단계(918)에서, 제 2 인코딩된 이미지가 수신된다.
단계들(916, 918)의 대안인 단계(920)에서, 하나 또는 두 이미지들을 포함하는 인코딩된 프레임이 수신된다. 제 2 인코딩 이미지는 입체 영상 이미지 쌍의 제 2 이미지일 수 있고, 제 1 및 제 2 이미지들은 재생 디바이스의 사용자에게 디스플레이될 좌안 이미지 및 우안 이미지들이다. 예를 들어, 프레임의 홀수 라인들은 제 1 이미지를 제공할 수 있고 인코딩된 프레임의 짝수 라인들은 제 2 인코딩된 이미지를 제공할 수 있다. 대안적으로, 인코딩된 프레임의 상부 절반은 제 1 이미지를 제공하고 하부 절반은 제 2 이미지를 제공할 수 있다. 단일 프레임에 제 1 및 제 2 이미지들을 포함하는 다른 방법도 또한 가능하다.
단계(914)에서, 환경의 모델에 맵핑될 수 있는 이미지 컨텐트를 수신하는 것 외에, 단계(926)에서, 상이한 해상도 할당에 대응하는 복수의 텍스처 맵들 중 어느 것이 수신된 제 1 및/또는 제 2 인코딩된 이미지들과 함께 이용되는지를 나타내는 제 1 표시자가 또한 수신된다. 단계(914)에서 새로운 텍스처 맵 표시자가 수신되지 않고 새로운 텍스처 맵이 수신되지 않으면, 재생 디바이스는 이용된 최종 UV 맵을 계속 이용할 것이다. 텍스처 맵 표시자를 수신하기보다는, 수신된 이미지들을 렌더링하는데 이용될 새로운 텍스처 맵이 단계(928)에서 수신될 수 있다.
이미지들이 예를 들어, 인코딩된 형태로 수신되면, 동작은 단계(914)에서 단계(930)로 진행한다. 단계(930)에서, 수신된 이미지 또는 이미지들이 디코딩된다. 예를 들어, 단계(932)에서, 제 1 인코딩된 이미지는 제 1 이미지를 복원하기 위해 디코딩된다. 단계(934)에서, 제 2 인코딩된 이미지는 제 2 이미지를 복원하기 위해 디코딩된다. 상술한 바와 같이, 제 1 및 제 2 이미지들은 좌안 및 우안 뷰들일 수 있다. 제 1 및 제 2 이미지들이 단일 인코딩된 프레임에 포함되는 실시예들에서, 수신된 프레임의 디코딩과 좌측 및 제 2 이미지의 분리가 좌안 이미지 및 우안 이미지를 생성하도록 단계(930)에서 이용될 수 있으며, 이것은 별도로, 잠재적으로 상이한, 좌안 및 우안 뷰들을 생성하기 위해 환경 맵에 개별적으로 적용될 수도 있고 때로는 적용된다.
일부 실시예들에서 이미지들은 완전한 360도 환경 또는 파노라마 뷰를 통신한다. 다른 실시예들에서, 제 1 및 제 2 이미지들은 환경의 일부분, 예를 들어 전방 부분 또는 360도 중간 파노라마 부분에 대응할 수 있지만 하늘과 지상은 대응하지 않을 수 있다. 단계(936)에서, 인코딩된 제 1 및 제 2 이미지 또는 별도의 스트림과 함께 전송되는 다른 이미지들은 제 1 및/또는 제 2 이미지들에 의해 제공되지 않는 환경의 부분들에 대한 텍스처들을 획득하기 위해 디코딩될 수 있다. 일부 실시예들에서, 단계(936)에서, 하늘 이미지 또는 지상 이미지는 수신된 인코딩된 이미지 또는 프레임을 디코딩함으로써 획득된다.
단계(930)에서 재생 디바이스에 전송된 이미지들의 디코딩이 완료되었으면, 동작은 단계(938)로 진행하여 이미지 컨텐트는 수신된, 예를 들어 디코딩된 이미지 또는 이미지들, 수신된 이미지들을 렌더링하는데 이용되어야 하는 UV 맵 및 환경의 모델을 이용하여 렌더링된다. 단계(938)는 이용될 UV 맵에 따라 환경의 모델에 제 1 이미지를 적용하는 단계를 관련시킨다. 따라서, 제 1 이미지는 적용 가능한 UV 맵, 예를 들어 제 1 UV 맵에 따라 환경의 모델의 세그먼트들에 적용되는 텍스처로서 이용된다. 렌더링은 좌안 및 우안 뷰들에 대해 개별적으로 수행될 수 있다.
일부 실시예들에서, 단계(938)는 단계(940)를 포함한다. 단계(940)에서, 제 1 이미지는 제 1 해상도 할당에 대응하는 제 1 텍스처 맵(UV 맵)을 이용하여 렌더링되어 제 1 이미지의 적어도 일부를 환경의 모델의 제 1 부분 예를 들어 제 1 세그먼트의 표면에 적용한다. 예를 들어, 제 1 이미지의 픽셀들의 제 1 세트는 제 1 텍스처 맵에 기초하여 환경의 메시 모델의 제 1 세그먼트에 맵핑될 수 있다. 스테레오 이미지 재생의 경우에 수행될 수 있는 단계(942)에서, 제 2 이미지는 제 2 이미지의 적어도 일부를 환경의 모델의 제 1 부분 예를 들어 제 1 세그먼트의 표면에 적용하기 위해 제 1 해상도 할당에 대응하는 제 1 텍스처 맵(UV 맵)을 이용하여 렌더링된다. 예를 들어, 제 2 이미지의 픽셀들의 제 1 세트는 제 1 텍스처 맵에 기초하여 환경의 메시 모델의 제 1 세그먼트에 맵핑될 수 있다. 선택적 단계(944)에서, 제 1 이미지에 포함되지 않은 환경의 부분들, 예를 들어 하늘 또는 지상 부분들의 이미지들이 렌더링되고, 예를 들어 이들 부분들과 관련된 UV 맵에 따라 환경의 모델에 적용된다. 일부 실시예들에서, 별개의 하늘 및 지상 부분들은 일부 실시예들에서 제 1 및 제 2 이미지들의 부분인 그러한 부분들과 통신되지 않는다는 것을 알아야 한다.
각각의 아이 뷰(eye view)에 대해 수행되는 동작 단계(946)에서, 360도 시뮬레이션된 환경의 상이한 부분들에 대응하는 렌더링된 이미지들은 사용자에게 연속적인 뷰잉 영역을 제공할 필요가 있는 범위까지 조합된다. 지상 및 하늘 부분들은 이들이 비-스테레오 포맷으로 제시될 때 이들 이미지들에 대해 동일할 수 있지만, 좌안 및 우안 이미지들의 다른 부분들은 좌안 및 우안 이미지들이 재생 디바이스의 사용자의 다른 눈으로 뷰잉할 때 깊이의 인식을 초래할 수 있기 때문에 단계(946)는 좌안 및 우안 이미지들에 대해 개별적으로 수행된다.
단계(938)에서 제 1 이미지 또는 이미지 쌍이 환경의 모델에 적용되면, 동작은 접속 노드(948)를 통해 디스플레이 단계(950)로 진행한다. 단계(950)에서 렌더링된 이미지 컨텐트는 재생 디바이스의 사용자, 예를 들면 디스플레이 화면에 디스플레이된다. 단계(952)에서, 복원된 제 1 이미지 컨텐트로부터 생성된 제 1 렌더링된 이미지 또는 조합된 이미지는 입체 영상 디스플레이가 지원되지 않는 경우 사용자들의 좌안 및 우안 또는 양안 중 하나에 의해 뷰잉되도록 디스플레이된다. 입체 영상 디스플레이의 경우에 수행되는 단계(954)에서, 제 2 렌더링된 이미지는 사용자들의 좌안 및 우안 중 제 2 안에 디스플레이된다. 디스플레이된 렌더링된 제 2 이미지는 복원된 제 2 이미지 데이터 또는 복원된, 예를 들어, 디코딩된 제 2 이미지 데이터와 다른 이미지, 예를 들어 하늘 또는 지상 이미지 부분으로부터의 데이터와의 조합으로부터 생성된 이미지이다.
하나의 이미지 또는 한 쌍의 이미지들이 렌더링되고 디스플레이되면, 동작은 다른 이미지 또는 이미지 쌍에 대응하는 컨텐트가 수신되어 처리되는 단계(956)로 진행한다. 단계(956)에서 수신된 이미지 또는 이미지들은 제 2 그룹의 화상들에 대응할 수 있고 때로는 대응하고 제 1 화상보다는 상이한 시점에 대응한다. 따라서, 제 1 이미지가 캡처된 시간과 단계(956)에서 수신된 제 3 이미지가 캡처된 시간 사이에, 선수들, 배우들 또는 움직임 영역은 제 1 이미지가 캡처된 시점에서 활동이 있었던 위치로부터 이동되었을 수 있다. 예를 들어 전방 시야를 유지하면서, 필드의 선수들은 왼쪽으로 움직여서, 제 1 이미지가 캡처된 시간에서 동작이 있었던 중앙 또는 우측 부분보다 전방 시야의 좌측 부분에 더 많은 해상도를 제공하는 해상도 할당을 이용하도록 제 3 이미지를 제공하는 서버를 트리거할 수 있다. 상이한 해상도 할당, 예를 들어 서버 또는 인코딩 디바이스에 의한 제 2 해상도 할당은 재생 디바이스가 제 3 이미지를 렌더링하기 위해 제 1 이미지와는 다른 UV 맵, 예를 들어 제 2 텍스처 맵을 이용해야 한다는 명세에 대응할 것이다. 예를 들면, 제 2 UV 맵은, 제 1 이미지로부터 환경 맵의 제 1 세그먼트에 맵핑하는데 이용된 것보다 제 3 이미지로부터 제 1 세그먼트에 맵핑하는데 더 적은 픽셀들을 이용하고 제 1 프레임으로부터 환경 맵의 제 2 세그먼트에 맵핑하는데 이용된 것보다 제 3 이미지로부터 제 3 이미지의 캡처 시점에서 액션이 현재 위치된 환경의 모델에서 전방 시야의 좌측에 위치된 제 2 세그먼트에 맵핑하는데 더 많은 픽셀들을 이용하도록 명시할 수 있다.
단계(956)가 이제 상세히 논의될 것이다. 단계(956)는 일부 실시예들에서 단계들(958, 960, 962, 926 및/또는 968)을 포함한다.
단계(958)에서, 제 3 인코딩된 이미지가 수신된다. 선택적인 단계(960)에서, 제 4 인코딩된 이미지가 수신된다.
단계들(958, 960)의 대안인 단계(962)에서, 제 3 및 제 4 인코딩된 이미지들 중 하나 또는 둘 모두를 포함하는 인코딩된 프레임이 수신된다.
제 3 인코딩 이미지는 제 2 입체 영상 이미지 쌍의 제 1 이미지일 수 있으며 제 3 및 제 4 이미지들은 재생 디바이스의 사용자에게 디스플레이될 좌안 및 우안 이미지들이다.
단계(956)에서, 환경의 모델에 맵핑될 수 있는 이미지 컨텐트를 수신하는 것 외에, 단계(968)에서, 상이한 해상도 할당에 대응하는 복수의 텍스처 맵들 중 어느 것이 수신된 제 3 및/또는 제 4 인코딩된 이미지들과 함께 이용될 것인지를 나타내는 제 2 표시자가 또한 수신된다. 새로운 텍스처 맵 표시자가 수신되지 않으면, 단계(968)에서 새로운 텍스처 맵이 수신되지 않고, 재생 디바이스는 이용중인 최종 UV 맵을 계속 이용할 것이다. 텍스처 맵 표시자를 수신하기보다는, 수신된 제 3 및/또는 제 4 이미지들을 렌더링하는데 이용될 새로운 텍스처 맵이 단계(970)에서 수신될 수 있다.
이미지들이 예를 들어, 인코딩된 형태로 수신되면, 동작은 단계(956)에서 단계(970)로 진행한다. 단계(970)에서, 수신된 제 3 및/또는 제 4 이미지 또는 이미지들이 디코딩된다. 예를 들어, 단계(974)에서, 제 3 인코딩 이미지는 제 3 이미지를 복원하기 위해 디코딩된다. 단계(976)에서, 제 4 인코딩 이미지는 제 4 이미지를 복원하기 위해 디코딩된다. 상술한 바와 같이, 제 3 및 제 4 이미지들은 좌안 및 우안 뷰들일 수 있다. 제 3 및 제 4 이미지들이 단일 인코딩된 프레임에 포함되는 실시예들에서, 수신된 프레임의 디코딩과 제 3 및 제 4 이미지들의 분리가 좌안 이미지 및 우안 이미지를 생성하도록 단계(972)에서 수행될 수 있으며, 이것은 별도로, 잠재적으로 상이한, 좌안 및 우안 뷰들을 생성하기 위해 환경 맵에 개별적으로 적용될 수도 있고 때로는 적용된다.
일부 실시예들에서, 제 3 및/또는 제 4 이미지들은 완전한 360도 환경 또는 파노라마 뷰를 전달한다. 다른 실시예들에서, 제 3 및 제 4 이미지들은 환경의 일부분, 예를 들어 전방 부분 또는 360도 중간 파노라마 부분에 대응할 수 있지만 하늘과 지상은 대응하지 않을 수 있다. 단계(978)에서, 인코딩된 제 3 및 제 4 이미지들 또는 별도의 스트림과 함께 전송되는 다른 이미지들은 제 3 및/또는 제 4 이미지들에 의해 제공되지 않는 환경의 부분들에 대한 텍스처를 획득하기 위해 디코딩될 수 있다. 일부 실시예들에서, 단계(986)에서, 하늘 이미지 또는 지상 이미지는 수신된 인코딩된 이미지 또는 프레임을 디코딩함으로써 획득된다.
단계(972)에서 재생 디바이스에 전송된 이미지들의 디코딩이 완료되었으면, 동작은 단계(980)로 진행하여 이미지 컨텐트는 수신된, 예를 들어 디코딩된 이미지 또는 이미지들, 수신된 이미지들을 렌더링하는데 이용되어야 하는 UV 맵, 예를 들면 제 2 UV 맵 및 환경의 모델을 이용하여 렌더링된다. 단계(980)는 이용될 제 2 UV 맵에 따라 환경의 모델에 제 3 이미지를 적용하는 단계를 관련시키며, 이는 수신된 이미지로부터 환경의 모델로 제 1 UV 맵을 이용할 때 발생되는 것과는 다른 픽셀 할당을 초래한다. 따라서, 렌더링의 일부로서, 제 3 이미지는 적용 가능한 UV 맵, 예를 들어 제 2 UV 맵에 따라 환경의 모델의 세그먼트들에 적용되는 텍스처로서 이용된다. 렌더링은 좌안 및 우안 뷰들에 대해 개별적으로 수행될 수 있다.
일부 실시예들에서, 단계(980)는 단계(982)를 포함한다. 단계(982)에서, 제 3 이미지는 제 2 해상도 할당에 대응하는 제 2 텍스처 맵 (UV 맵)을 이용하여 렌더링되어 제 3 이미지의 적어도 일부를 환경의 모델의 제 1 부분 예를 들어 제 1 세그먼트의 표면에 적용한다. 예를 들어, 제 3 이미지의 픽셀들의 제 1 세트는 제 2 텍스처 맵에 기초하여 환경의 메시 모델의 제 1 세그먼트에 맵핑될 수 있으며, 여기서 픽셀들의 제 1 세트는 제 1 UV 맵이 이용되었을 때 맵핑된 제 1 세트보다 적은 픽셀들을 포함한다. 픽셀들의 제 2 세트는 모델의 제 2 세그먼트에 맵핑될 수 있으며, 여기서 픽셀들의 제 2 세트는 제 1 UV 맵이 이용되었을 때 제 2 세그먼트에 맵핑되었던 것보다 많은 픽셀들을 포함한다. 따라서, 이미지를 모델에 맵핑하기 위해 상이한 UV 맵들을 이용함으로써, 재생 디바이스에 제공되는 인코딩된 이미지들에서 전송된 픽셀들의 수를 변경하지 않고 환경의 모델의 부분들에의 제한된 수의 픽셀들의 상이한 할당들이 쉬운 방식으로 달성될 수 있다.
스테레오 이미지 재생의 경우에 수행될 수 있는 단계(978)에서, 제 4 이미지는 제 2 해상도 할당에 대응하는 제 2 텍스처 맵(UV 맵)을 이용하여 렌더링되어 제 4 이미지의 적어도 일부를 환경의 모델의 제 1 부분, 예를 들어 제 1 세그먼트의 표면에 적용한다. 유사하게, 제 2 UV 맵은 제 4 이미지로부터 환경의 모델의 제 2 세그먼트로의 픽셀들의 맵핑을 제어하는데 이용된다.
선택적 단계(986)에서, 제 1 이미지에 포함되지 않은 환경의 부분들, 예를 들어 하늘 또는 지상 부분들의 이미지들이 렌더링되고, 예를 들어 이들 부분들과 관련된 UV 맵에 따라 환경의 모델에 적용된다. 일부 실시예들에서, 별개의 하늘 및 지상 부분들은 일부 실시예들에서 제 1 및 제 2 이미지들의 부분인 그러한 부분들과 통신되지 않는다는 것을 알아야 한다.
각각의 시선에 대해 수행되는 동작 단계(988)에서, 360도 시뮬레이션된 환경의 상이한 부분들에 대응하는 렌더링된 이미지들은 사용자에게 연속적인 뷰잉 영역을 제공할 필요가 있는 범위까지 조합된다. 지상 및 하늘 부분들은 이들이 비-스테레오 포맷으로 제시될 때 이들 이미지들에 대해 동일할 수 있지만, 좌안 및 우안 이미지들의 다른 부분들은 좌안 및 우안 이미지들이 재생 디바이스의 사용자의 다른 눈으로 뷰잉할 때 깊이의 인식을 초래할 수 있기 때문에 단계(988)는 좌안 및 우안 이미지들에 대해 개별적으로 수행된다.
단계(980)에서 제 2 이미지 쌍의 일부일 수 있는 제 3 이미지가 환경의 모델에 적용되면, 동작은 디스플레이 단계(990)로 진행한다. 단계(990)에서 렌더링된 이미지 컨텐트는 재생 디바이스의 사용자, 예를 들면 디스플레이 화면에 디스플레이된다. 단계(992)에서, 복원된 제 3 이미지 컨텐트로부터 생성된 제 3 렌더링된 이미지 또는 조합된 이미지는 입체 영상 디스플레이가 지원되지 않는 경우 사용자들의 좌안 및 우안 또는 양안 중 하나에 의해 뷰잉되도록 디스플레이된다. 입체 영상 디스플레이의 경우에 수행되는 단계(994)에서, 제 4 렌더링된 이미지는 사용자들의 좌안 및 우안 중 제 2 안에 디스플레이된다. 디스플레이된 렌더링된 제 4 이미지는 복원된 제 4 이미지 데이터 또는 복원된, 예를 들어, 디코딩된 제 4 이미지 데이터와 다른 이미지, 예를 들어 하늘 또는 지상 이미지 부분으로부터의 데이터와의 조합으로부터 생성된 이미지이다.
이미지들을 제공하는 서버에 의해 제공되거나 명시되는 UV 맵을 이용하여 이미지들을 수신 및 디코딩하고 이미지들을 렌더링하는 프로세스는 단계(990)에서 접속 노드 B(996)을 통하여 다시 단계(914)로 진행하는 동작으로 나타낸 바와 같이 지속적으로 발생하여, 새로운 제 1 및 제 2 이미지들과 같은 추가의 이미지들이 수신 및 처리될 수 있게 한다.
일부 실시예들에서, 이미지들은 라이브 스포츠 이벤트에 대응하고, 서버는 이미지가 생성되는 스포츠 필드에서 동작이 발생하고 있는 곳에 기초하여 스포츠 이벤트의 상이한 부분들 동안 이용되는 상이한 UV 맵을 지정하는 이미지를 제공하며 이미지들의 생성은 이미지들을 렌더링하는데 이용될 UV 맵을 고려하여 인코딩된 형식으로 전송된다. 따라서, 상이한 시간들에서 상이한 UV 맵들을 이용하도록 지정함으로써 스포츠 필드나 환경에서 동작이 발생하는 위치와 일치하도록 해상도가 동적으로 할당할 수 있다.
도 11은 예시적인 실시예에 따른 이미지 캡처 및 컨텐트 스트리밍 방법을 도시한다. 도 11에 도시된 방법(1100)은 이미지들, 예를 들면 스포츠 이벤트 또는 음악 공연과 같은 이벤트에 대응하는 이미지들을 캡처할 시간인 경우 단계(1102)에서 시작한다.
시작 단계(1102)로부터, 동작은 병렬로, 선택적으로 비동기적으로 수행될 수 있는 단계들(1114, 1104, 1106, 1108, 1110, 1112)을 가져 오는 복수의 경로들을 따라 진행한다.
이미지 캡처 프로세스의 이해를 돕기 위해, 이제 도 13에 도시된 예시적인 카메라 장비가 참조될 것이다. 카메라 장비(1320)는 도 1 시스템의 장비(102)로서 이용될 수 있고 세 개의 섹터들 중 상이한 것에 각각 대응하는 복수의 입체 영상 쌍들을 포함한다. 제 1 카메라 쌍(1301)은 사람의 좌안 및 우안에 의해 보이는 이미지들에 대응하는 이미지들을 캡처하기 위한 좌안 카메라(1302) 및 우안 카메라(1304)를 포함한다. 제 2 섹터 카메라 쌍(1305)은 좌측 및 우측 카메라들(1306, 1308)을 포함하고 제 3 섹터 카메라 쌍(1309)은 좌측 및 우측 카메라들(1310, 1312)을 포함한다. 각각의 카메라는 지지 구조체(1318) 내의 고정된 위치에 장착된다. 상향 카메라(1314)가 또한 포함된다. 도 13에 보이지 않는 하향 카메라는 카메라(1314) 아래에 포함될 수 있다. 입체 영상 카메라 쌍들은 일부 실시예들에서 상향 및 하향 이미지들의 쌍들을 캡처하는데 이용되지만, 다른 실시예들에서는 단일 상향 카메라 및 단일 하향 단일 카메라가 이용된다. 또 다른 실시예들에서, 하향 이미지는 장비 배치 전에 캡처되어 이벤트 지속 구간 동안 정지 지상 이미지로 이용된다. 이러한 접근법은 지상 뷰가 이벤트 동안 크게 변하지 않는 경향이 있는 경우 많은 응용 분야에서 만족스러운 경향이 있다.
장비(1300)의 카메라들의 출력은 이제 더 논의될 도 11의 방법에 의해 캡처되고 처리된다. 도 11에 도시된 이미지 캡처 단계들이 이미지를 캡처하기 위해 카메라 장비(102)의 카메라를 작동시킴으로써 정상적으로 수행되는 동안 이미지들의 인코딩이 인코더(112)에 의해 수행되고, 스트리밍 요청들 및 컨텐트의 스트리밍에 대한 응답은 스트리밍 서버(114)에 의해 수행된다.
하향 이미지 캡처 및 처리와 관련된 도 11의 제 1 경로에서, 단계(1114)에서, 이미지는 지상, 예를 들어 장비(102) 아래에서 캡처된다. 이는 장비 배치 전에 또는 장비가 하향 카메라를 포함하는 경우의 이벤트 동안 발생할 수 있다. 단계(1114)로부터 동작은 단계들(1144)로 진행하여, 단계(1145)에서 인코딩 전에 캡처된 이미지가 크로핑된다. 인코딩된 지상 이미지는 단계(1146)에서 하나 이상의 인코딩된 이미지들을 요청 디바이스에 공급함으로써 응답될 수 있는 컨텐트에 대한 요청이 있을 때까지 저장된다.
단계(1104)로 시작하는 도 11에 도시된 제 2 처리 경로는 처리 및 컨텐트 요청들에 응답하는 것과 관련된다. 단계(1104)에서, 컨텐트 요청에 대한 모니터는 예를 들어 컨텐트 서버(114)에 의해 발생한다. 단계(1128)에서 컨텐트에 대한 요청은 재생 디바이스, 예를 들어 고객 구내(106)에 위치된 디바이스(122)로부터 수신된다.
컨텐트 요청에 응답하여, 재생 디바이스에는 이용될 수 있는 상이한 해상도 할당들에 대응하는 하나 또는 UV 맵들을 포함하는 정보가 제공된다.
단계(1104)로부터 동작은 단계(1128)로 진행하여, 환경 맵이 생성된 경우 및/또는 미리 결정된 디폴트 설정 또는 환경과 상이할 수 있는 다른 환경 정보가 환경 시뮬레이션의 부분으로서 이미지들을 렌더링하는데 이용되는 재생 디바이스에 공급되는 경우에 수행된다.
따라서, 단계(1132)를 통해, 컨텐트를 요청하는 재생 디바이스는 환경을 모델링할 필요가 있고 및/또는 이미지를 모델 상에 렌더링하는데 필요할 수 있는 다른 정보를 제공할 필요가 있다. 모델 정보 이외에, 단계(1132)는 선택적으로 미래의 이용을 위해 컨텐트를 요청하는 재생 디바이스에의 UV 맵들의 세트의 통신을 포함할 수 있으며, 예를 들어, 일부 상이한 UV 맵들은 상이한 해상도 할당들에 대응하지만 일부 실시예들에서는 모델의 동일한 영역에 대응한다.
일부 실시예들에서, 도 13의 카메라 장비가 이용되는 경우, 섹터들 각각은 카메라 장비 위치에 대해 알려진 120도 뷰잉 영역에 대응하고, 상이한 섹터 쌍들로부터의 캡처된 이미지들은 시뮬레이션된 3D 환경에 맵핑되는 것으로 알려진 이미지들에 기초하여 함께 봉합된다(seam). 섹터 카메라에 의해 캡처된 각 이미지의 120도 부분이 일반적으로 이용되지만, 카메라는 대략 180 도의 뷰잉 영역에 대응하는 보다 넓은 이미지를 캡처한다. 따라서, 캡처된 이미지들은 인코딩 이전에 3D 환경 시뮬레이션 또는 크로핑의 부분으로서 재생 디바이스에서 마스킹될 수 있다. 도 14는 장비(102)의 상이한 카메라 쌍들에 대응하는 환경 메시 부분들을 이용하여 3D 구형 환경이 어떻게 시뮬레이션될 수 있는지를 도시하는 복합 도면(1400)이다. 장비(102)의 섹터들 각각에 대해 하나의 메시 부분이 도시됨을 유념하며, 하늘 메시는 상단 카메라 뷰에 관해 이용되고 지상 메시는 하향 카메라에 의해 캡처된 지상 이미지에 이용된다.
조합될 때, 상이한 카메라들에 대응하는 전체 메시들은 도 15에 도시된 구형 메시(1500)를 유발한다. 메시(1500)는 단안(single eye) 이미지에 대해 도시되지만, 입체 영상 이미지 쌍들이 캡처되는 경우에는 좌안 및 우안 이미지들 둘다에 대해 이용됨을 유념한다.
도 14에 도시된 타입의 메시 정보는 단계(1132)에서 재생 디바이스에 통신될 수 있고 때로는 통신된다. 통신된 정보는 장비 구성에 따라 달라질 것이다. 예를 들어 더 많은 수의 섹터들이 이용된 경우 각 섹터에 대응하는 마스크들은 구형의 직경을 커버하는데 필요한 환경 그리드들이 3개 이상인 120도보다 작은 뷰잉 영역에 대응한다.
환경 맵 정보는 단계(1132)에서 재생 디바이스에 선택적으로 전송되는 것으로 도시된다. 공지된 메시에 배치된 미리 결정된 수의 세그먼트들을 갖는 그러한 정보가 통신되지 않는 경우에 환경이 디폴트 크기의 구체인 것으로 가정될 수 있다는 점에서 환경 맵 정보는 선택 사항이라는 것이 이해되어야 한다. 다수의 상이한 디폴트 크기의 구체들이 지원되는 경우들에서, 어떤 크기의 구체가 이용될지에 대한 표시가 단계(1132)에서 재생 디바이스에 통신될 수 있거나 때로는 통신된다.
동작은 단계(1132)에서 스트리밍 단계(1146)로 진행한다. 이미지 캡처 동작들은 특히 카메라 장비(102)에 의해 캡처될 수 있는 3개의 섹터들 각각에 관한 이벤트 동안 지속적으로 수행될 수 있다. 따라서, 카메라 장비의 제 1, 제 2 및 제 3 섹터들에 대응하는 단계들(1106, 1108 및 1110)로 시작하는 처리 경로들은 그 내용면에서 유사하다.
단계(1106)에서, 카메라의 제 1 섹터 쌍은 단계(1116)에서 이미지들, 예를 들어, 좌안 이미지와 단계(1118)에서 우안 이미지를 캡처하도록 동작된다. 도 16은 단계(1106)에서 캡처될 수 있는 예시적인 이미지 쌍(1600)을 도시한다. 그 다음, 캡처된 이미지들은 예를 들면 다른 카메라 쌍에 의해 캡처된 이미지 부분들과 같은 원하지 않는 이미지 부분들을 제거하기 위해 단계(1134)에서 크로핑된다. 단계(1144)에서, 캡처된 좌안 및 우안 이미지에 이용될 해상도 할당이 결정, 예를 들어 선택된다. 선택은 환경의 어느 부분에 관한 정보에 기초할 수 있으며, 따라서 캡처된 이미지들은 이미지들의 캡처시에 중요했다. 중요도 정보는 비디오로 촬영되는 이벤트에서의 개인들이 이미지 캡처 시간에 보고 있는 검출, 시스템 제어기 입력 및/또는 이미지 캡처시 환경에서의 움직임의 위치에 기초할 수 있다. 해상도 감축 동작은 결정된, 예를 들면 선택된 해상도 할당에 기초하여 단계(1146)에서 캡처된 이미지에 대해 수행된다. 선택된 해상도 할당은 제 1 섹터 카메라 쌍에 의해 캡처된 환경의 부분에 대응하는 상이한 지원된 UV 맵들에 대응하는 복수의 지원된 해상도 할당들 중 하나 일 수 있다. 단계(1148)에서, 단계(1146)에서 생성된 감축된 해상도 이미지들이 인코딩된다. 단계(1146)에서 생성된 감축된 해상도 이미지들을 렌더링하는데 이용되는 UV 맵을 나타내는 정보는 단계(1149)에서 생성되고, 일부 실시예들에서는 단계(1146)에서 생성된 인코딩된 이미지들과 연관되어 전송되어 재생 디바이스가 단계(1146)에서 생성된 인코딩된 이미지들을 디코딩함으로써 복원된 이미지들을 렌더링할 때 어떤 UV 맵을 이용할지를 결정할 수 있다.
도 17a는 본 발명에 따른 환경의 예시적인 메시 모델(1700)을 도시한다.
도 17b는 도 17a에 도시된 메시 모델의 표면들 상에 2D 이미지의 부분들을 맵핑하는데 이용될 수 있는 UV 맵(1702)을 도시한다.
도 18은 단계(1134)에서 발생할 수 있는 도 16의 좌안 및 우안 뷰 이미지들을 크로핑하는 예시적인 결과(2000)를 도시한다. 도 18에 도시된 이미지 쌍의 크로핑은 인코딩 및 하나 이상의 재생 디바이스들에의 전송 이전에 수행될 수 있다.
이미지 캡처, 크로핑 및 인코딩은 화살표로 표시된 바와 같이 단계(1149)에서 다시 단계(1106)로 원하는 프레임 레이트로 지속적으로 반복된다.
제 2 및 제 3 섹터 카메라 쌍들에 의해 캡처된 이미지들에 대해 제 1 카메라 쌍에 대해 캡처된 이미지들에 대해 설명된 것과 유사한 동작들이 수행된다.
단계(1172)에서, 캡처된 이미지들로부터 생성된 인코딩된 이미지들은 스트리밍되는 인코딩된 이미지들을 렌더링하는데 이용될 UV 맵들을 나타내는 정보와 함께 재생 디바이스에 스트리밍된다. 일부 실시예들에서, UV 맵이 이용되기 전에 그것이 공급되는 인코딩된 이미지에 앞서 컨텐트 스트림에서 통신한다. 따라서, 일부 실시예들에서 별도의 채널 또는 정보 세트를 통해 UV 맵들이 공급되기보다는 일부 실시예들에서, UV 맵들은 인코딩된 이미지들을 요청하는 재생 디바이스 또는 디바이스들에 전달하는데 이용되는 컨텐트 스트림에 임베딩된다.
도 12는 하나의 예시적인 실시예에 따라, 도 1의 시스템에서 이용될 수 있는 재생 디바이스 또는 시스템을 동작시키는 방법(1200)을 도시한다. 방법(1200)은 시작 단계(1202)에서 시작한다. 단계(1204)에서 재생 디바이스는 예를 들어 도 1의 스트리밍 서버에 컨텐트에 대한 요청을 전송한다. 재생 디바이스는 그 후에 단계(1206)에서 이미지들을 렌더링하는데 이용될 수 있는 다양한 정보를 수신한다. 예를 들어, 환경의 모델 정보는 단계(1206)에서 뿐만 아니라 환경의 하나 이상의 영역들에 대한 상이한 해상도 할당들에 대응하는 하나 이상의 UV 맵들에서 수신될 수 있다. 따라서, 단계(1206)에서, 재생 디바이스는 상이한 해상도 할당들에 대응하는 환경의 모델 및/또는 UV 맵 정보를 수신할 수 있다. 단계(1206)에서 수신된 정보는 필요에 따라 이용하기 위해 메모리에 저장된다.
동작은 단계(1206)에서 단계(1208)로 진행하며, 여기서 하나 이상의 이미지들이 수신되는데, 예를 들어 이미지는 환경에서 이벤트가 진행되는 동안 시뮬레이션될 환경에서 캡처된 것이다. 단계(1210)에서, 하나 이상의 수신된 이미지들을 렌더링하기 위해 어떤 UV 맵들이 이용되어야 하는지를 나타내는 정보가 표시된다. 일부 실시예들에서, 정보는 환경의 일부에 대해 이용될 수 있는 상이한 해상도 할당에 대응하는 UV 맵들의 세트에서 어떤 UV 맵이 예를 들어 환경의 전방 부분에 대응하는 프레임 쌍의 좌안 및 우안 이미지들을 렌더링하는데 이용될지를 나타낸다. 단계(1212)에서, 수신된 이미지들 중 하나 이상이 디코딩된다.
동작은 단계(1212)에서 단계(1214)로 진행하여 디코딩된 이미지 또는 이미지들을 생성하는데 이용된 표시된 해상도 할당에 대응하는 하나 이상의 UV 맵들을 이용하여 환경의 모델의 대응하는 표면들에 디코딩된 이미지들이 적용된다. 동작은 단계(1214)에서 단계(1218)로 진행하여, 360도 시뮬레이션된 환경의 상이한 부분들에 대응하는 이미지 영역들이 디스플레이될 뷰잉 영역의 연속적인 이미지를 생성하는데 필요한 범위까지 조합된다. 그 다음, 단계(1220)에서, 이미지들은 디스플레이에 출력되며, 입체 영상 이미지 컨텐트의 경우 사용자의 좌안 및 우안에 상이한 이미지들이 디스플레이된다. 동작은 단계(1220)에서 다시 단계(1204)로 진행하여, 지속적으로 컨텐트가 요청되고, 수신되고 처리된다.
도 19는 제 1 섹터에 대응하는 이미지 부분을 3D 뷰잉 환경을 나타내는 구체의 대응하는 120도 부분에 맵핑하는 것을 도시하는 도면(2100)이다.
단계(1216)에서, 360도 환경의 상이한 부분들에 대응하는 이미지들은 예를 들어, 머리 위치에 따라 뷰어에게 연속적인 뷰잉 영역을 제공하는데 필요한 범위까지 조합된다. 예를 들어, 단계(1218)에서, 뷰어가 2개의 120도 섹터들의 교차점에서 보고 있는 경우, 각 섹터에 대응하는 이미지의 부분들은 시뮬레이션되는 전체 3D 환경에서 각각의 이미지의 알고 있는 각도 및 위치에 기초하여 뷰어에게 함께 보이고 제시될 것이다.
도 20은 도시된 환경의 중심에 위치된 관점에서 환경을 뷰잉하는 사용자에게 제시될 수 있고 구형 환경의 내부에 이미지가 적용된 환경의 완전한 360도 뷰를 형성하기 위해 메시 모델들에 텍스처들을 적용한 결과를 도시한 도면(2200)이다. 시뮬레이션과 디스플레이의 결과는 사용자가 어느 방향으로나 돌아서서 볼 수 있는 완전한 세계 효과이다.
맵핑된 이미지들은 사용자에 의해 뷰잉하기 위해 단계(1220)에서 디스플레이 디바이스에 출력된다. 아는 바와 같이, 디스플레이되는 이미지들은 수신된 이미지들에 기초하여 및/또는 머리 위치 또는 사용자가 선택한 뷰어 위치의 변화들로 인해 시간에 따라 변할 것이다.
환경에 대응하는 비디오 또는 다른 컨텐트의 전달, 예를 들어 스트리밍을 지원하기 위한 방법들 및 디바이스가 설명된다. 일부 실시예들에서, 재생 디바이스에 통신되는 환경에 대응하는 이미지들은 주어진 시간에 사용자가 뷰잉할 수 있는 영역을 초과하므로 사용자가 자신의 시야각을 예를 들어 자신의 머리를 이동시켜 변경하는 경우에 컨텐트를 이용할 수 있다. 주어진 시간에 사용자에 의해 뷰잉될 수 있는 영역보다 큰 환경 영역에 대한 이미지를 제공함으로써, 재생 디바이스는 사용자가 이전에 뷰잉하지 않은 환경의 일부에 대응하는 새로운 이미지들 또는 다른 컨텐트를 재생 디바이스가 기다릴 필요없이 사용자의 시야각을 변경하면 이미지들을 제공하기에 충분한 정보를 가진다.
적어도 일부 실시예들에서, 환경은 메시를 이용하여 표현된다. 이미지들은 캡처되고 프레임들, 예를 들어, 좌안에 의해 뷰잉되려는 프레임 및 우안에 의해 뷰잉되려는 프레임으로 인코딩된다. 이 기술들은 3D 입체 영상 애플리케이션들의 맥락에서 설명되지만, 이 방법들은 입체 영상 뷰잉에 이용될 수 있고 프레임 쌍들의 스트림보다는 프레임들의 단일 스트림으로 통신된다.
일부 실시예들에서, 이 기술들은 360도 뷰잉 영역에 대응하는 이미지들을 통신하는데 이용된다. 그러나, 이 기술들은 360도 미만의 뷰잉 영역에 대응하는 이미지들을 통신하는데 이용될 수 있고, 예를 들어, 단일 프레임은 360도 뷰잉 영역에 대응하는 이미지 컨텐트를 통신한다. 본 발명의 방법들 및 장치는 입체 영상 및/또는 다른 이미지 컨텐트의 스트리밍에 특히 적합하고 데이터 전송 제약들은 예를 들어, 최고 품질의 부호화 및 최고 지원 프레임 레이트를 이용하여 360도 컨텐트의 전달을 최대 지원 품질 수준으로 전달하기 어렵게 할 수 있다. 그러나, 이 방법들은 입체 영상 컨텐트에 제한되지 않는다.
다양한 실시예들에서, 360도 또는 다른 영역에 대응하는 이미지들이 캡처되고 조합되어 영역의 이미지를 형성한다. 영역, 예를 들어 360도 환경의 이미지 컨텐트의 상이한 부분들은 인코딩되어 전송될 프레임에 맵핑된다. 좌안 및 우안 뷰들 각각에 대해 별도의 프레임들이 생성되어 전송될 수 있다. 영역의 상이한 부분들에 대응하는 이미지 컨텐트가 동일한 해상도로 캡처되었을 수 있지만, 캡처된 이미지들의 프레임으로의 맵핑은 환경의 상이한 영역들에 대해 상이할 수 있으며, 일부 실시예들에서는 상이하다. 예를 들어, 환경의 전방 뷰 부분은 풀 해상도 또는 거의 풀 해상도로 유지될 수 있으며 측면들과 후면은 더 낮은 해상도들로 프레임에 통합된다. 360도 환경의 상부 및 하부에 대응하는 이미지들은 정면 및/또는 측면 뷰들과 상이한, 예를 들어, 보다 낮은 해상도로 프레임에 통합될 수 있다. 일부 실시예들에서, 환경의 상부 및 하부에 대응하는 이미지들은 개별적으로, 그리고 많은 경우에 정적 이미지로서 또는 환경의 다른 부분들에 대응하는 이미지들과는 상이한 레이트로 전송된다.
맵핑 프로세스의 결과로서, 환경을 통신하는 프레임은 물리적 환경의 동일한 크기의 영역을 나타내기 위해 상이한 수의 픽셀들을 이용할 수 있다. 예를 들어, 보다 많은 수의 픽셀들이 전방 뷰잉 영역을 나타내기 위해 이용될 수 있고, 보다 적은 수의 픽셀들이 후방 뷰잉 영역을 나타내는데 이용될 수 있다. 이것은 다수의 이미지 영역들을 나타내는 프레임을 생성할 때 선택적 다운 샘플링을 나타낸다.
디코더에서, 이미지는 일부 실시예들에서 디스플레이 프로세스의 일부로서 3D 환경의 모델 상에 맵핑되거나 랩핑된다. UV 좌표가 3D 환경의 모델의 XYZ 공간에 통신되는 2 차원 프레임을 맵핑하는데 이용되기 때문에 맵은 때로는 UV 맵이라고 칭한다. 전송된 프레임을 3D 모델에 맵핑하는데 이용되는 그리드(UV 맵)는 일부 실시예들에서 환경의 후면 및 측면 부분들에 이용되는 감축된 해상도를 고려한다.
다양한 실시예들에서, 환경의 모델에 대해 통신 프레임을 랩핑하는데 이용되는 맵은 환경의 상이한 부분들에 대한 해상도의 상이한 할당들을 반영하도록 변경될 수 있다. 예를 들어, 높은 움직임을 갖는 환경의 부분들은 움직임이 높고 다른 시간에 해상도가 낮은 시점에서 더 많은 해상도가 할당될 수 있다.
상이한 시점들에서 상이한 이미지 영역들에 상이한 양의 리소스들, 예를 들어 픽셀들을 할당하는 것을 고려하기 위해 전송된 프레임이 디코더에 의해 어떻게 처리되어야 하는지에 관한 정보는 재생 디바이스에 전달되고, 3D 환경에 어떻게 적용해야 하는지와 통신된 프레임을 해석하는데 이용된다.
다양한 실시예들에서 이용되는 방법은 파노라마 이미지 맵에서의 선택적 해상도 할당의 이용으로 지칭될 수 있다. 이러한 접근법은 인코더 및 재생 디바이스가 등 사각형 프로젝션에서 해상도를 최적화하기 위해 UV 맵을 이용할 수 있게 하여 통신된 프레임에서 이용 가능한 제한된 수의 픽셀들이 더 중요한 이미지 요소(들)에 이용되고 덜 중요한 이미지 영역들에 픽셀들이 낭비되지 않는다. 상기 방법들 및 장치는 휴대 전화와 같이 제한된 픽셀 버퍼들을 구비한 디바이스들에 특히 적합하며, 여기서 이미지들을 디코딩하는데 이용 가능한 상당히 제한된 픽셀 버퍼들로 인해 모든 픽셀이 소중하다.
파노라마 이미지 맵에서 선택적 해상도 할당 프로세스는 도 21을 고려할 때 이해할 수 있다. 도 21은 캡처된 이미지들이 디스플레이 디바이스 상에 이미지를 렌더링하는 프로세스의 부분으로서 랩핑되는 3D 환경의 메시 모델(2300)을 나타낸다. 3D 모델(2300)은 하늘 메시(2300), 360도 파노라마 메시(2308) 및 지상 메시(2310)를 포함한다. 3D 모델에 의해 표현된 3D 환경에 대응하는 이미지들을 통신하는 프로세스의 부분으로서, 하늘 이미지를 나타내는 프레임이 전송된다. 맵은 전송된 프레임의 어느 부분들이 하늘 메시의 어느 세그먼트들에 적용되는지를 결정하는데 이용된다. 적어도 하나의 실시예에서, 하늘 맵은 하늘 메시의 각 세그먼트에 대해 하나의 세그먼트를 포함하고, 때로는 UV 공간으로 지칭되는 이미지를 나타내는 프레임의 어느 부분이 하늘 메시(2306)의 세그먼트들에 맵핑될지를 결정하는 방법을 제공한다. 일부 실시예들에서, 하늘의 이미지를 나타내는 프레임이 한 번 전송되므로 정적이거나 또는 모델(2300)의 360도 파노라마 메시 부분에 맵핑될 이미지들보다 낮은 레이트에서 훨씬 낮은 빈도로 전송된다.
3D 모델에 의해 표현된 3D 환경에 대응하는 이미지들을 통신하는 프로세스의 부분으로서, 지상의 이미지를 나타내는 프레임이 전송된다. 지상 맵은 전송된 프레임의 어떤 부분들이 지상 메시의 어떤 세그먼트들에 적용되는지를 결정하는데 이용된다. 일 실시예에서, 지상 맵은 지상 메시(2310)의 각각의 세그먼트에 대해 하나의 세그먼트를 포함하고 때로는 UV 공간으로 지칭되는 이미지를 나타내는 프레임의 어느 부분이 지상 메시(2310)의 세그먼트들에 맵핑될지를 결정하는 방법을 제공한다. 일부 실시예들에서, 지상의 이미지를 나타내는 프레임이 한 번 전송되므로 정적이거나 또는 모델(2300)의 360도 파노라마 메시 부분에 맵핑될 이미지들보다 낮은 레이트에서 훨씬 낮은 빈도로 전송된다.
특히 중요한 것은 360도 메시 부분에 대응하는 프레임들이며 이는 이것이 가장 자주 뷰잉하는 경향이 있는 환경 영역들을 포함하기 때문이다. 이 환경 영역의 이미지가 압축되지 않은 파노라마 이미지 맵(2302)의 균일한 세그먼트들에 의해 표현되는 일관된 해상도로 캡처될 수 있지만, 파노라마 이미지 및 파노라마 메시가 대응하는 상이한 영역들은 상이한 시간들에 중요도의 양들이 상이할 수 있다. 예를 들어 전방 영역들은 주요 활동이 진행 중이거나 및/또는 높은 움직임이 있는 영역들이 자세하게 표현하는 것이 중요할 수 있지만 다른 환경 영역들은 덜 중요할 수 있다. 환경의 상이한 영역들에 대한 프레임의 픽셀들에 관한 제한된 리소스들의 균일한 할당은 프레임의 픽셀들이 제한된 리소스라는 사실과 함께 상이한 이미지 영역들의 중요성이 고려될 때 낭비적이다. 360도 환경에 대응하는 이미지를 통신하기 위해 프레임의 이용 가능한 픽셀들을 효율적으로 이용하기 위해서는 맵을 이용하여 360도 메시의 상이한 부분들에 상이한 수의 픽셀들을 할당할 수 있다. 따라서, 메시(2308)의 어떤 부분들은 다른 부분들보다 많은 픽셀들을 이용하여 코딩될 수 있다. 그러한 일 실시예에 따르면, 불균일한 세그먼트 크기들을 갖는 파노라마 이미지 맵(2304)이 이용될 수 있다. 도 21의 맵의 경우에 맵의 각 세그먼트가 수신된 프레임의 픽셀들을 파노라마 메시(2308)의 대응하는 세그먼트에 맵핑하는데 이용되지만, 일부 세그먼트들은 전송된 이미지로부터 다른 세그먼트들보다 많은 픽셀들을 이용할 것이다. 예를 들어, 모드 픽셀들은 맵(2400)의 상부 및 하부를 향하는 것보다 맵(2304)의 중간을 향해 더 큰 세그먼트 크기들에 의해 표현되는 바와 같이 도 21의 예에서 파노라마 메시의 중간 부분에 할당될 것이다. 맵(2304)은 통신된 프레임의 인코딩 이전에, 수신된 프레임의 부분들을 메시(2308)에 맵핑하는데 이용되지만, 파노라마 환경을 나타내는 비압축 이미지의 하나 이상의 세그먼트들은 파노라마 이미지 맵을 고려하여 다운 샘플링될 것이다. 예를 들어, 환경의 상부 및 하부를 나타내는 비압축 이미지의 부분들은 그러한 이미지 부분들을 나타내기 위해 파노라마 이미지 맵에 할당된 작은 수의 픽셀들을 반영하기 위해 다운 샘플링될 것이지만, 다른 부분들은 거의 또는 전혀 다운 샘플링을 받지 않는다.
파노라마 이미지 맵은 장면 분석 및/또는 사용자 뷰잉 위치를 고려하여 일부 실시예들에서 생성된다. 파노라마 이미지 맵은 주 동작의 위치가 변화함에 따라, 예를 들어 경기장 환경에서 스포츠 이벤트 중 공의 위치가 변함에 따라 일부 실시예들에서 시간에 따라 변경될 수 있다. 변경은 일반적으로 비디오 스트림 내의 화상 그룹 경계에 및/또는 비디오 시퀀스의 광고 시간의 시작 또는 종료와 연관된 경계와 같은 장면 변경 경계에서 발생하도록 제한된다. 프레임들을 해석하기 위해 이용될 새로운 맵은 새로운 맵을 고려하여 구성된 프레임과 함께 또는 그에 앞서 재생 디바이스에서 전송될 수 있다. 대안적으로, 재생 디바이스는 수신된 프레임들을 환경의 메시 모델에 맵핑하는데 이용될 수 있는 미리 결정된 다양한 맵들을 가질 수 있고 비디오 스트림은 복수의 맵들 중 어느 것이 통신된 프레임들의 특정 세트에 대해 이용될 것인지를 나타내는 정보를 포함할 수 있다.
컨텐트 및/또는 사용자 뷰잉 위치를 고려하여 이미지 맵을 선택적으로 할당하고 변경하는 것은 전체 360도 영역 또는 환경의 일부 작은 부분에 적용될 수 있다. 따라서, 프레임을 360도 환경 영역에 맵핑하는 예와 함께 도시된 바와 같이, 동일한 방법이 프레임을 180도 이미지 영역에 또는 360도 환경의 일부 다른 부분에 맵핑하는데 이용되는 맵에 적용될 수 있다. 이미지를 3D 모델의 대응하는 세그먼트들에 맵핑하는데 이용되는 맵은 변경될 수 있지만, 모델을 변경할 필요는 없다. 그러나, 모델의 변경들은 환경의 변경들, 예를 들어 무대가 이동되거나 및/또는 환경의 다른 변경들이 검출될 때 반영될 수 있다. 따라서 맵과 모델 모두의 변경들이 가능하다.
영역의 상부 및 하부, 예를 들어 파노라마 360도 중간 영역에 대한 상이한 해상도 할당들이 이루어질 수 있지만, 상이한 해상도 할당들은 환경의 수평 영역 내에서 이루어질 수 있다.
예를 들어, 상이한 시간에서 공 또는 움직임의 영역이 있는 곳에 따라 스포츠 필드의 다른 부분들에 상이한 양의 해상도를 할당하는 것이 바람직할 수 있다.
도 21은, 예를 들어, 360 구형 파노라마 메시에 대응하는 환경 그리드에 맵핑되는 이미지, 예컨대 프레임과 관련하여 선택적인 해상도가 어떻게 이용될 수 있는지를 나타낸다. 별도의 이미지들이 도 21에 도시된 세계 모델의 하늘 및 지상 메시 부분들에 텍스처로서 적용하기 위해 통신될 수 있다.
360도 파노라마 메시(2308)에 대응하는, 압축 전의 파노라마 이미지(2302)는 예에서 일반적으로 균일한 해상도의 이미지 컨텐트를 포함한다. 실제 실시예에서, 어안 렌즈의 이용은 렌즈 문제들로 인해 왜곡들 및 그에 따른 해상도 차이들을 도입할 수 있다는 것을 알아야 한다. 그러나, 본 발명을 설명하기 위해, 이미지 캡처는 균일한 해상도를 갖는 이미지를 생성하는 것으로 여겨질 것이다. 파노라마 이미지(2302)에 적용된 그리드는 균일하고, UV 맵으로서 이용된다면 메시 모델(2308)의 360도 파노라마 부분의 세그먼트들에 균일한 해상도 할당을 유발할 것이다. 그러나, 사용자가 360도 파노라마 메시 영역에 대응하는 환경의 하부 또는 상부를 볼 가능성이 적기 때문에, 인코딩 및 재생 디바이스에의 전송에 앞서, 상부 및 하부는 해상도 감축 동작의 대상이 되고 그에 따라 재생 중에 이용되는 UV 맵이 조정된다. 따라서, 메시 모델의 360 파노라마 영역에 대응하는 해상도 조정된 이미지를 렌더링하는데 이용되는 UV 맵을 나타내는 메시(2304)에서, 그리드 크기들이 더 작다. 따라서, 적용될 때, 360 파노라마 메시 모델의 중간 수평 부분에 대응하는 세그먼트에 대해 추출되고 적용되는 것보다 더 적은 픽셀들이 소스 이미지로부터 상부 세그먼트에 대해 추출되어 환경의 대응하는 세그먼트에 적용될 것이다. 따라서 UV 모델은 360 파노라마 영역을 나타내는 캡처된 이미지에 적용되는 해상도의 선택적 할당을 고려한다.
재생 디바이스는 수신된 이미지를 렌더링할 때, 예를 들어 수신된 이미지를 텍스처로서 환경의 모델의 표면, 예를 들면 환경의 메시 모델 상에 적용하는 것과 같이, 재생 장치에 전송하기 전에 이미지에 적용된 해상도 감축을 반영하는 UV 메시를 이용할 것이다.
해상도 감축 동작을 반영하는 정적 UV 맵이 이용될 수 있고 일부 실시예들에서 이용되지만, 가장 높은 우선 순위를 갖는 환경의 부분이 해상도 할당 접근법의 동적 선택을 지원하고 선택한 해상도 할당에 대응하는 UV 맵을 이용하도록 변경될 수 있는 적어도 일부 실시예들에서 바람직할 수 있다. 이러한 방식으로 해상도 할당은 주어진 시간에 해상도의 측면에서 환경의 어느 부분에 우선 순위가 주어지는지를 반영하도록 변경될 수 있다.
참조 번호(2400)로 표시된 도 22는 환경의 제 1 부분의 제 1 캡처된 이미지(2402)를 도시한다. 각 큰 점은 픽셀을 나타낸다. 이미지(2402)는 각각의 정사각형 그리드 영역에서 4개의 픽셀들로 표현되는 균일한 해상도를 갖는다. 작은 점들은 이미지가 계속되고 이미지(2402)의 다른 예시된 부분들을 향해 연장됨을 나타내기 위해 이용된다. 제 1 해상도 할당이 선택되면, 예를 들어 이미지(2402)의 중간 부분에 우선 순위를 부여하는 해상도인 경우, 해상도는 이미지(2402)의 중간 부분 동안에는 보존되지만, 좌측 및 우측 부분들에 대해서는 감소될 것이다. 이러한 해상도 할당은, 예를 들어, 이미지(2402)가 스포츠 필드이고 이미지(2402)가 캡처될 때 스포츠 필드의 중앙 부분에 움직임이 있는 경우에 바람직할 수 있다. 이미지(2402)에서 감축된 해상도 이미지(2404)를 향하는 화살표는 이미지(2402)에 제 1 선택적인 해상도 감축 동작을 적용하여 이미지(2404)를 생성하는 것을 나타낸다. 제 1 해상도 감축 동작은 이미지(2402)의 좌측 및 우측 부분들에 적용되지만 중간 부분에는 적용되지 않는 다운 샘플링을 관련시킨다. 도시된 바와 같이, 이미지(2404)에 적용되는 것으로 도시된 그리드는 이미지(2402)로부터 이미지(2404)를 생성하기 위해 이용된 해상도 할당을 나타낸다. 알 수 있는 바와 같이, 제 1 해상도 조정된 이미지(2404)는 이미지의 최좌우의 두 행들(the two left and right most rows)에 이미지(2402)의 것들의 절반의 픽셀을 포함하지만 이미지(2404)의 중앙 부분을 향한 세그먼트들에 대해서는 동일한 수의 픽셀들을 포함한다. 그리드(2406)는 이미지(2404)의 세그먼트들을 환경의 모델의 세그먼트들에 맵핑하는데 적합한 제 1 해상도 할당에 대응하는 제 1 UV 맵을 나타낸다.
참조 번호(2500)로 표시된 도 23은 환경의 제 1 부분의 제 1 캡처된 이미지(2502)를 도시한다. 도 22의 경우에서와 같이, 각 큰 점은 픽셀을 나타낸다. 이미지(2502)는 각각의 정사각형 그리드 영역에서 4개의 픽셀들로 표현되는 균일한 해상도를 갖는다. 작은 점들은 이미지가 계속되고 이미지(2502)의 다른 예시된 부분들을 향해 연장됨을 나타내기 위해 이용된다. 제 2 해상도 할당이 선택되면, 예를 들어 이미지(2502)의 좌측 및 중간 부분들에 우선 순위를 부여하는 해상도인 경우, 해상도는 이미지(2502)의 좌측 및 중간 부분 동안에는 보존되지만, 우측 부분에 대해서는 감소될 것이다. 이러한 해상도 할당은, 예를 들어, 이미지(2502)가 스포츠 필드이고 이미지(2502)가 캡처될 때 스포츠 필드의 좌측 부분에 움직임이 있는 경우에 바람직할 수 있다. 이미지(2502)에서 감축된 해상도 이미지(2504)를 향하는 화살표는 이미지에 제 2 선택적인 해상도 감축 동작을 적용하여 이미지(2504)를 생성하는 것을 나타낸다. 제 2 해상도 감축 동작은 이미지(2502)의 우측 부분에 적용되지만 좌측 또는 중간 부분들에는 적용되지 않는 다운 샘플링을 관련시킬 수 있다. 다운 샘플링이 적용되는 영역은 도 22에서 다운 샘플링이 적용되는 영역과 동일한 크기임을 유념한다. 결과적으로, 이미지들(2404, 2504)은 동일한 총 픽셀 수를 가지지만, 이미지들(2404, 2504)의 상이한 영역들에서 상이한 해상도를 가질 것이다.
총 픽셀 수는 해상도 할당을 이미지의 상이한 영역들에 적용하여 상이한 감축된 해상도 이미지들에 대해 일정한 것으로 유지되지만, 이는 중요하지 않으며 상이한 이미지들은 해상도 감축 동작 후 상이한 수의 픽셀들을 포함할 수 있다. 그러나, 재생 디바이스에서 이용될 때 모델의 상이한 부분들이 상이한 해상도 할당들을 위해 상이한 UV 맵들을 이용하기 때문에 상이한 해상도들로 렌더링될지라도, 인코더가 인코딩될 이미지들을 동일한 크기로 취급할 수 있기 때문에 픽셀 카운트를 일정하게 유지하면 인코딩이 용이해진다.
이미지(2504)에 적용되는 것으로 도시된 그리드는 이미지(2502)로부터 이미지(2504)를 생성하는데 이용된 해상도 할당을 나타낸다. 알 수 있는 바와 같이, 제 2 해상도 조정된 이미지(2504)는 이미지의 최우측 네 행들에 이미지(2502)의 것들의 절반의 픽셀을 포함하지만 좌측 및 중앙 부분들을 향한 세그먼트들에 대해서는 동일한 수의 픽셀들을 포함한다.
그리드(2506)는 이미지(2504)의 세그먼트들을 환경의 모델의 세그먼트들에 맵핑하는데 적합한 제 1 해상도 할당에 대응하는 제 1 UV 맵을 나타낸다.
참조 번호(2600)로 표시된 도 24는 환경의 제 1 부분의 제 1 캡처된 이미지(2602)를 도시한다. 도 22 및 도 23의 경우에서와 같이, 각 큰 도트는 픽셀을 나타낸다. 이미지(2602)는 각각의 정사각형 그리드 영역에서 4개의 픽셀들로 표현되는 균일한 해상도를 갖는다. 작은 도트들은 이미지가 계속되고 이미지(2602)의 다른 예시된 부분들을 향해 연장됨을 나타내기 위해 이용된다. 제 3 해상도 할당이 선택되면, 예를 들어, 이미지(2602)의 중간 및 우측 부분들에 우선 순위를 부여하는 해상도인 경우, 해상도는 이미지(2602)의 중간 및 우측 부분들에서 보존되지만 우측 부분에 대해서는 감축될 것이다. 이러한 해상도 할당은, 예를 들어, 이미지(2602)가 스포츠 필드이고, 이미지(2602)가 캡처될 때 스포츠 필드의 우측 부분에 움직임이 있는 경우에 바람직할 수 있다. 이미지(2602)에서 감축된 해상도 이미지(2604)를 향하는 화살표는 이미지에 제 3 선택적인 해상도 감축 동작을 적용하여 이미지(2604)를 생성하는 것을 나타낸다. 제 3 해상도 감축 동작은 이미지(2602)의 좌측 부분에 적용되지만 우측 또는 중간 부분들에는 적용되지 않는 다운 샘플링을 관련시킬 수 있다. 다운 샘플링이 적용되는 영역은 도 22 및 도 24에서 다운 샘플링이 적용된 영역과 동일한 크기임을 유념한다. 결과적으로, 이미지(2604)는 이미지들(2404, 2504)과 동일한 총 픽셀 수를 가지지만, 해상도는 고해상도가 할당되는 환경의 부분에 따라 다르게 할당될 것이다.
이미지(2604)에 적용되는 것으로 도시된 그리드는 이미지(2602)로부터 이미지(2604)를 생성하는데 이용된 해상도 할당을 나타낸다. 알 수 있는 바와 같이, 제 3 해상도 조정된 이미지(2604)는 이미지의 최좌측 네 행들에 이미지(2602)의 것들의 절반의 픽셀을 포함하지만 우측 및 중앙 부분들을 향한 세그먼트들에 대해서는 동일한 수의 픽셀들을 포함한다.
그리드(2606)는 이미지(2604)의 세그먼트들을 환경의 모델의 세그먼트들에 맵핑하는데 적합한 제 1 해상도 할당에 대응하는 제 1 UV 맵을 나타낸다.
UV 맵(2406)은 제 1 해상도 할당을 위해 생성된 이미지와 함께 이용하기 위해 재생 디바이스에 통신된다. UV 맵(2406)은 제 2 해상도 할당을 이용하여 생성된 이미지를 렌더링하는데 이용하기 위해 재생 디바이스에 통신되고, UV 맵(2606)은 제 3 해상도 할당을 이용하여 생성된 이미지를 렌더링하는데 이용하기 위해 재생 디바이스에 통신된다. 스트리밍 시스템 및 재생 시스템 모두 UV 맵들의 세트(2406, 2506, 2606) 세트를 저장하며, 스트리밍 시스템은 어떤 UV 맵이 어떤 이미지에 적용되어야 하는지를 나타내고 렌더링 디바이스, 예를 들면 재생 디바이스는 수신된 이미지와 연관되는 표시된 UV 맵을 이용한다.
상이한 해상도 할당이 상이한 UV 맵들의 이용을 통해 지원되지만, 이것은 복수의 가능한 해상도 할당들 중 어느 것이 재생 디바이스에서 디코더에 의해 디코딩되어야 하는 수신된 인코딩된 이미지를 생성하기 위해 이용되었는지를 디코더가 알 필요가 없기 때문에 수신된 이미지를 디코딩하는 재생 디바이스에서 디코더에 투명할 수 있다.
도 25a 및 도 25b를 포함하는 도 25는 예시적인 실시예에 따른 컨텐트 처리 및 전달 시스템을 동작시키는 예시적인 방법(2900)을 도시한다. 도 25a는 방법(2900)의 제 1 부분을 도시한다. 도 25b는 방법(2900)의 제 2 부분을 도시한다. 도 25에 도시된 방법(2900)은 컨텐트 처리 및 전달 시스템이 컨텐트, 예를 들어 이미지 컨텐트 및/또는 이미지들을 렌더링하는데 이용되는 정보를 처리하고 전달하기 위해 초기화되는 단계(2902)에서 시작한다. 일부 실시예들에서, 흐름도(2900)의 방법은 도 7의 컨텐트 전달 및 처리 시스템(700)을 이용하여 수행된다.
시작 단계(2902)로부터 동작은 단계들(2904 및 2906)을 진행하며, 병렬로, 선택적으로 비동기적으로 수행될 수 있다. 다양한 실시예들에서, 고객 렌더링 및 재생 디바이스들에게는 이미지 컨텐트의 렌더링시에 및/또는 3D 재생 경험을 뷰어들에게 제공하는데 이용될 수 있는 정보가 제공된다. 일부 실시예들에서, 이것은 렌더링 이미지들에서 이용될 고객 디바이스들에 환경의 모델 및/또는 다른 환경 정보를 환경 시뮬레이션의 부분으로서 제공하는 것을 포함한다. 단계(2904)에서, 3D 환경의 모델 및/또는 모델에 이용될 수 있는 정보는 하나 이상의 고객 디바이스들에 통신된다. 일부 실시예들에서, 모델은 하나 이상의 이미지들이 캡처되는 환경의 메시 모델이다. 일부 실시예들에서, 이미지 렌더링시 이용될 수 있는 추가 정보, 예를 들어, 하나 이상의 UV 맵들은 또한 단계(2905)에서 고객 디바이스들, 예를 들어 컨텐트 재생 디바이스들에 통신된다. UV 맵들은 상이한 해상도 할당들에 대응하며, 상이한 UV 맵들은 텍스처 맵이라고도 칭해지며 또한 환경의 모델의 세그먼트들에 전송된 이미지들의 픽셀들의 상이한 맵핑들을 제공한다. UV 맵들이 단계(2905)에서 통신되는 경우, 이들은 전송된 이미지를 맵핑하는데 이용될 때 나중에 식별될 수 있고, 재생 디바이스에 여러 번 재전송될 필요가 없다. 그러나, 일부 실시예들에서, UV 맵들의 세트는 단계(2905)에서 통신되지 않고, 적용 가능한 UV 맵은 UV 맵이 적용되고 이용될 이미지의 통신과 함께 또는 그 전에 전송된다.
일부 실시예들에서, 단계들(2904 및 2905)의 정보는 예를 들어 실제 이미지 컨텐트를 고객 디바이스에 통신하기 전에 한 번 통신된다. 환경 맵 정보 및/또는 환경의 모델들이 그러한 정보가 서버 측에서 생성 및/또는 이용 가능한 일부 실시예들에서 재생 디바이스에 통신될 수 있지만, 일부 다른 실시예들에서는 환경이 디폴트 크기 및 형상으로 가정될 수 있으며, 예를 들어 구형 또는 반구형 일 수 있으며, 이러한 경우 디폴트 환경 모듈 및/또는 UV 맵들은 재생 디바이스에 미리 로딩될 수 있고 서버에 의해 전송될 필요가 없다.
이미지 컨텐트의 처리는 단계들(2904, 2905)과 병행하여 수행될 수 있는 단계(2906)에서 시작한다. 단계(2906)에서, 이미지 컨텐트는 처리 시스템, 예를 들어도 7에 도시된 컨텐트 전달 시스템(700)에 의해 수신된다. 단계(2906)에서 수신된 이미지 컨텐트는 도 13에 도시된 것과 같은 애플리케이션에서 논의된 것과 같은 이미지 캡처 디바이스로부터의 것일 수 있다. 일부 실시예들에서, 이미지 컨텐트를 수신하는 단계(2906)는 환경의 제 1 부분 예를 들어, 이미지들이 캡처되는 관심있는 환경에 대응하는 제 1 이미지가 수신된다. 일부 실시예들에서, 제 1 이미지는 제 2 이미지를 또한 포함하는 이미지 쌍 중 하나의 이미지이고, 제 1 이미지는 좌안 및 우안 이미지 쌍 중 하나이며, 제 2 이미지는 좌안 및 우안 이미지 쌍 중 제 2 이미지이다. 이러한 일부 실시예들에서, 제 1 및 제 2 이미지들은 단계(2906)에서 이미지 쌍의 일부로서 수신된다. 따라서, 일부 이러한 실시예들에서, 단계(2906)는 제 2 이미지를 수신하는 단계(2910)를 더 포함한다.
동작은 단계(2906)에서 단계(2912)로 진행하며, 시스템은 환경의 제 1 부분에 대응하는 적어도 하나의 이미지에 이용될 제 1 해상도 할당을 선택한다. 이러한 선택은 수신된 이미지 컨텐트의 움직임의 검출, 스포츠 셔츠(sports jersey)와 같은 특정 대상물들의 위치, 및/또는 캡처된 이미지의 어느 부분에 우선 순위가 주어지고 인코딩 중에 더 높은 해상도가 보존되는지를 나타내는 인간 입력에 기초한다. 예를 들어, 선수의 셔츠들 또는 유니폼들의 검출은 고해상도로 보존될 영역을 나타낼 수 있으며, 이 경우 유니폼들이 검출되는 영역들을 보존하는 해상도 할당이 일부 실시예들에서 선택될 수 있다. 이미지의 다른 부분들은 다운 샘플링의 대상이 될 수도 있고 때로는 그 대상이 된다. 각각의 해상도는 특정 대응하는 해상도 할당을 이용하여 생성된 이미지들을 맵핑하는데 이용되기 위한 특정 UV 맵에 대응할 수 있다.
동작은 단계(2912)에서 단계(2914)로 진행한다. 단계(2914)에서 선택된 제 1 해상도 할당이, 예를 들면 다운 샘플링 및 UV 맵의 변화를 나타내는 이전에 선택된 해상도 할당과 다른지가 결정된다. 선택된 제 1 해상도 할당은 제 1 이미지에서 캡처된 환경의 제 1 부분에 대응하는 상이하게 지원된 UV 맵들에 대응하는 복수의 지원된 해상도 할당들 중 하나 일 수 있다. 일 양태에 따르면, 지원되는 복수의 해상도 할당들로부터 현재의 이미지 및/또는 이미지들의 그룹을 처리하기 위해 주어진 시간에 해상도 할당이 선택될 수 있다. 선택된 제 1 해상도 할당이 이전에 선택된 해상도 할당과 다르다고 결정되면, 동작은 단계(2914)에서 단계(2916)로 진행하여, 해상도 감축을 제어하기 위해 이용된 새롭게 선택된 해상도 할당에 대응하는 새로운 다운 샘플링 및/또는 필터링 정보가 로딩된 다음, 동작은 단계(2918)로 진행한다. 단계(2914)에서, 선택된 제 1 해상도 할당이 이전에 선택된 해상도 할당과 동일하다고(또는 이전의 선택이 이루어지지 않았다면 디폴트 할당과 동일하다고) 결정되면, 새로운 다운 샘플링 및/또는 필터링 정보가 로딩될 필요가 없으므로 동작은 단계(2918)로 직접 진행한다. 이미지에 대한 선택된 해상도 할당은 인코딩되어 재생 디바이스에 전송되어야 할 이미지에 하향 샘플링이 어떻게 적용되는지를 나타낸다.
단계(2918)에서, 제 1 감축된 해상도 이미지(2919)를 생성하기 위해 선택된 제 1 해상도 할당에 따라 환경의 제 1 부분의 제 1 이미지에 대해 해상도 감축 동작, 예를 들어, 다운 샘플링이 수행된다. 단계(2918)의 출력인 제 1 감축된 해상도 이미지(2919)는 상이한 해상도들을 갖는 적어도 일부 이미지 부분들을 포함한다.
동작은 이미지 쌍들, 예를 들어 좌안 및 우안 뷰들을 포함하는 입체 영상 이미지 쌍들이 처리되는 실시예들에서 단계(2916)에서 단계(2920)로 진행한다. 단계(2920)에서, 제 2 감축된 해상도 이미지(2921)를 생성하기 위해, 선택된 제 1 해상도 할당에 따라, 환경의 제 1 부분의 제 2 이미지, 예를 들어, 입체 영상 이미지 쌍의 제 2 이미지에 대해 해상도 감축 동작이 수행된다. 단계(2918)의 출력인 제 2 감축된 해상도 이미지(2921)는 상이한 해상도들을 갖는 적어도 일부 이미지 부분들을 포함한다. 따라서, 입체 영상 이미지 쌍들이 처리되는 경우, 좌안 및 우안 이미지 쌍 모두 동일한 해상도 감축 동작의 대상이 될 것이다.
단계(2920)는 단계(2918) 후에 수행되는 것으로 도시되어 있지만, 단계(2918)와 동시에 병행하여 수행될 수도 있다. 단계들(2918 및 2920)의 데이터 출력, 예를 들어, 생성된 제 1 및 제 2 감축된 해상도 이미지들(2919 및 2921)은 다음 단계(2922)에 대한 입력들로서 작용한다. 비-스테레오 이미지 컨텐트의 경우, 단일 이미지가 처리되고 제 2 이미지는 제시되지 않을 것이다.
단계(2922)에서, 감축된 해상도 이미지(2919) 및/또는 감축된 해상도 이미지(2921)가 인코딩된다. 단계(2924)에서, 제 1 감축된 해상도 이미지가 인코딩된다. 단계(2926)에서, 제 2 감축된 해상도 이미지가, 존재하면, 인코딩된다.
동작은 단계(2922)에서 단계(2928)로 진행한다. 단계(2928)에서, 인코딩된 감축된 해상도 이미지들은 예컨대 후속 통신을 위해, 예를 들어 집 또는 가정과 같은 고객 구내에 위치된 컨텐트 재생 디바이스로 스트리밍하기 위해 메모리에 저장된다. 동작은 접속 노드 B(2929)를 통해 단계(2928)에서 단계(2930)로 진행한다. 단계(2930)에서, 인코딩된 감축된 해상도 이미지(들)가 재생 디바이스에 통신된다. 이는 유선 네트워크, 케이블 네트워크 또는 무선 네트워크 또는 몇몇 다른 타입의 네트워크를 통해 이미지들을 재생 디바이스에 전송, 예를 들어 스트리밍하는 것을 관련시킬 수 있다. 단계(2930)는 단계들(2932) 및 단계(2934)를 포함한다. 단계(2932)에서, 제 1 감축된 해상도 이미지는 예를 들어, 인코딩된 형태로 고객 재생 디바이스에 통신되고, 제 2 감축된 해상도 이미지는 단계(2934)에서, 예를 들어 인코딩된 형태로 재생 디바이스에 통신된다. 단계(2934)는 스테레오 이미지 쌍이 예를 들어 단일 프레임 또는 프레임들의 쌍에서 통신될 때 수행된다.
동작은 단계(2930)에서 단계(2936)로 진행한다. 그러나 실시예에 따라 단계(2936)는 단계(2930)를 선행할 수 있다. 단계(2936)에서, 인코딩된 이미지를 환경의 모델에 맵핑하는데 이용되는 텍스처 맵, 예를 들어 제 1 텍스처 맵이 재생 디바이스에 표시되거나 제공된다. 제 1 텍스처 맵의 식별은 예를 들어, UV 맵과 같은 제 1 텍스처 맵이 단계(2905)의 부분으로서 재생 디바이스에 이미 로딩된 경우에 충분할 수 있다. 통신된 정보 및/또는 맵에 기초하여, 재생 디바이스는 제 1 UV 맵이 대응하는 제 1 해상도 할당을 이용하여 생성된 제 1 및 제 2 이미지들과 함께 제 1 UV 맵을 이용한다는 것을 알고 있다. 제 1 UV 맵은 제 1 해상도 할당에 따라 또한 생성된 다른 이미지들을 렌더링하기 위해 재생 디바이스에 의해 이용될 수 있다. 일부 실시예들에서, 해상도 할당은 화상 그룹에 대해 유지되며, 따라서 동일한 UV 맵은 그러한 실시예들에서 다수의 연속적인 이미지들에 대해 이용될 수 있다.
동작은 제 1 및 제 2 이미지들을 렌더링하는 동안 이용할 텍스처 맵에 관한 정보가 재생 디바이스에 제공되는 단계(2936)에서 예를 들어 제 3 이미지 및/또는 제 4 이미지와 같은 추가 이미지 또는 이미지들의 프로세싱에 관련되는 단계(2938)로 진행한다. 제 3 및/또는 제 4 이미지는 제 2 입체 영상 이미지 쌍의 좌측 및 우측 이미지들이거나 또는 제 1 이미지 후에 캡처된 환경의 일부 다른 이미지 또는 이미지들일 수 있거나 일부 실시예들에서는 그러한 이미지 또는 이미지들이다.
단계(2940)에서, 제 2 해상도 할당은 수신된 이미지들, 예를 들어, 제 3 및/또는 제 4 이미지들에 대해 이용되도록 선택된다. 해상도 할당은 제 1 해상도 할당을 결정하기 위해 이용된 동일한 기술들, 예를 들어 움직임, 스포츠 셔츠와 같은 대상물의 존재, 공 등에 기초하여 또는 중요 영역 또는 영역들을 식별하는 것과 같은 기술들을 이용하여 결정될 수 있다. 예를 들어 상이한 UV 맵에 각각 대응하는 해상도 할당들의 세트로부터 일단 제 2 해상도 할당이 선택되면, 동작은 단계(2942)로 진행한다. 단계(2942)에서, 제 2 해상도 할당이 제 1 해상도 할당과 다른지를 결정하기 위한 검사가 이루어진다. 제 2 해상도 할당은, 예를 들어 공 또는 선수들이 제 1 이미지가 캡처된 이후 필드의 다른 부분으로 이동할 수 있기 때문에 상이할 수 있다. 제 2 선택된 해상도 할당이 제 1 선택된 해상도 할당과 다른 경우, 새로운 다운 샘플링 정보가 로딩되어 이용될 필요가 있고 동작은 단계(2944)로 진행한다. 단계(2944)에서 새로운 다운 샘플링 및/또는 다른 해상도 할당 정보가 로딩되어 이것은 해상도 감축 단계(2946)에서 이용될 수 있다. 단계(2942)에서 제 2 해상도 할당이 제 1 해상도 할당과 동일하다고 결정되면, 방법(2900)을 구현하는 시스템의 프로세서는 수행될 다운 샘플링을 이미 알고 있는데, 이는 이것이 제 1 이미지를 처리하는데 이용되었고 새로운 다운 샘플링 정보를 로딩할 필요가 없기 때문이며 동작은 단계(2946)로 진행한다.
단계(2946)에서, 제 3 및/또는 제 4 이미지들(2947)의 감축된 해상도 버전들을 생성하기 위해, 수신된 제 3 및/또는 제 4 이미지에 대해 해상도 감축 동작, 예를 들어, 다운 샘플링이 수행된다. 동작은 단계(2946)에서 단계(2948)로 진행하여, 감축된 해상도의 제 3 및/또는 제 4 이미지들은 단계(2950)에서 재생 디바이스에 통신, 예를 들어 전송되기 전에 인코딩된다.
단계(2950) 이후에 수행되지만 때로는 단계(2950)에 선행할 수 있거나 단계(2950)와 병행하여 수행되는 것으로 도시된 단계(2952)에서, 제 3 및 제 4 이미지들을 렌더링하는데 이용되는 UV 맵을 나타내는 정보는 재생 디바이스에 통신된다. 이는 재생 디바이스에 이용될 UV 맵을 전송하거나 간단히 이전에 저장된 UV 맵을 식별하는 것과 관련될 수 있다. 제 3 및 제 4 이미지들이 제 2 해상도 할당을 이용하여 생성되었기 때문에, 정보는 제 2 UV 할당에 대응하는 UV 맵을 식별할 것이다. 동작은 접속 노드(2954)를 통해 단계(2952)에서 단계(2906)로 진행하여, 예를 들어 카메라 디바이스로부터 추가 이미지 컨텐트가 수신되고 새로운 제 1 및 제 2 이미지들로서 취급된다.
시간이 지남에 따라 뷰를 나타내는 이미지들의 시퀀스가 수신될 수 있고 수신된 이미지 컨텐트 및/또는 사용자 입력에 따라 주어진 시간에 이용된 해상도 할당으로 처리될 수 있다. 시간이 지남에 따라 상이한 해상도 할당들이 이용됨에 따라 컨텐트 재생 디바이스는 상이한 대응하는 UV 맵들을 이용하도록 신호를 받을 것이다. 따라서, 제 2 해상도 할당이 제 1 해상도 할당과 상이할 때, 재생 디바이스는 제 1 해상도 할당에 따라 생성된 이미지들을 렌더링하는데 이용되는 제 1 UV 맵과는 상이한 제 2 해상도 할당에 따라 생성된 이미지들을 렌더링하기 위해 제 2 상이한 UV 맵을 이용하도록 지시될 것이다. 많은 상이한 해상도 할당들이 대응하는 UV 맵들과 함께 이용될 수 있어 다양한 상이한 해상도 할당들이 지원될 수 있다.
도 26은 예시적인 컴퓨터 시스템/컨텐트 재생 디바이스(800) 상에 구현될 수도 있고 일부 실시예들에서 구현되는 컨텐트 재생 방법(2700)의 예시적인 실시예를 도시한다. 이 방법(2700)은 도 25의 방법에 따라 인코딩되고 전송된 컨텐트를 수신하는 디바이스들에 의해 이용될 수 있다.
설명할 목적으로, 예시적인 컨텐트 재생 방법(2700)은 도 8에 도시된 재생 디바이스(800)와 관련하여 설명될 것이다. 방법(2700)은 다른 장치에서 구현될 수 있다는 것을 알아야 한다. 예시적인 재생 방법(2700)은 시작 단계(2702)에서 시작하여 그로부터 동작이 단계(2704)로 진행한다.
단계(2704)에서, 컨텐트 재생 디바이스(800)의 네트워크 인터페이스(810)의 수신기(860)는 환경의 메시 모델을 수신한다. 동작은 단계(2704)에서 단계(2706)로 진행한다. 단계(2706)에서, 컨텐트 재생 디바이스(800)의 네트워크 인터페이스(810)의 수신기(860)는 하나 이상의 이미지 맵들, 예를 들어, 이미지와 환경의 메시 모델 사이의 맵핑을 나타내는 하나 이상의 이미지 UV 맵들을 수신한다. 일부 실시예들에서, 단계(2706)는 하위-단계(2708) 및/또는 하위-단계(2710)를 포함한다. 하위-단계(2708)에서, 컨텐트 재생 디바이스(800)의 네트워크 인터페이스(810)의 수신기(860)는 제 1 이미지 맵을 수신한다. 하위-단계(2710)에서, 컨텐트 재생 디바이스(800)의 네트워크 인터페이스(810)의 수신기(860)는 제 2 이미지 맵을 수신한다. 동작은 단계(2706)에서 단계(2712)로 진행한다.
단계(2712)에서, 컨텐트 재생 디바이스(800)는 수신된 이미지 맵 또는 맵들을 저장 디바이스, 예를 들어 메모리(812)에 저장한다. 예를 들어, UV MAP 1(836) 및 UV MAP 2(836)는 메모리(812)에 저장된다. 일부 실시예들에서, 수신된 이미지 또는 맵들은 컨텐트 재생 디바이스(800)에 연결된 저장 디바이스에 저장된다. 동작은 단계(2712)에서 단계(2714)로 진행한다.
단계(2714)에서, 네트워크 인터페이스(810)의 수신기(860)는 인코딩된 이미지를 수신한다. 동작은 단계(2714)에서 단계(2716)로 진행한다. 단계(2716)에서, 재생 디바이스(800)의 디코더(864)는 수신된 인코딩된 이미지를 디코딩한다. 일부 실시예들에서, 하드웨어 디코더 모듈은 수신된 인코딩된 이미지를 디코딩한다. 일부 실시예들에서, 디코더 모듈(820)로부터 명령들을 실행하는 프로세서(808)는 수신된 인코딩된 이미지를 디코딩한다. 동작은 단계(2716)에서 단계(2718)로 진행한다.
단계(2718)에서, 디코딩된 이미지는 제 1 렌더링된 이미지를 생성하기 위해 제 1 이미지 맵에 따라 환경의 메시 모델에 맵핑된다. 제 1 이미지 맵은 디코딩된 이미지의 상이한 수의 픽셀들을 상기 환경의 메시 모델의 상이한 세그먼트들에 맵핑한다. 환경의 메시 모델의 상이한 세그먼트들로의 디코딩된 이미지의 상이한 수의 픽셀들의 맵핑이 다양한 상이한 방식으로 발생할 수 있지만, 일부 실시예들에서, 상이한 수의 픽셀들이 동일한 크기의 환경 영역들에 맵핑되지만 환경의 상이한 위치들에 위치된다. 이러한 일부 실시예들에서, 움직임에 대응하는 환경 내의 세그먼트들에는 움직임이 거의 또는 전혀 검출되지 않는 세그먼트들보다 많은 픽셀들이 할당된다. 일부 실시예들에서, 전방 뷰잉 영역에 대응하는 적어도 일부 세그먼트들에는 후방 뷰잉 영역에 대응하는 세그먼트들보다 많은 세그먼트 당 픽셀들이 할당된다. 이러한 맵핑은 재생 디바이스(800)의 프로세서(808)에 의해 수행될 수도 있고, 일부 실시예들에서는 수행된다. 동작은 단계(2718)에서 단계(2719)로 진행한다.
단계(2719)에서, 제 1 렌더링된 이미지는 예를 들어 컨텐트 디스플레이 디바이스(800)의 디스플레이(802) 상에 디스플레이된다.
일부 실시예들에서, 동작은 단계(2719)에서 단계(2720)로 진행한다. 단계(2720)에서, 재생 디바이스(800)의 네트워크 디바이스(810)의 수신기(860)는 제 2 이미지 맵이 수신된 프레임들의 부분들을 환경의 메시 모델에 맵핑하는데 이용되어야 한다고 나타내는 신호를 수신한다. 일부 실시예들에서, 디코딩된 이미지는 프레임이다. 동작은 단계(2720)에서 선택 사항인 단계(2722)로 진행한다. 단계(2722)에서, 제 2 이미지 맵이 수신된 프레임들의 부분들을 환경의 메시 모델에 맵핑하는데 이용되어야 한다는 것을 나타내는 신호를 수신하는 것에 응답하여, 제 2 이미지 맵은 하나 이상의 추가 렌더링된 이미지들, 예를 들어 제 2 렌더링 이미지를 생성하기 위해 수신된 프레임들의 부분들을 환경의 메시 모델에 맵핑하기 위해 이용된다. 일부 실시예들에서, 제 2 이미지 맵은 단계(2710)에서 수신된 제 2 이미지 맵이다.
일부 실시예들에서, 제 1 이미지 맵은 프레임의 제 1 수의 픽셀들을 상기 환경의 메시 모델의 제 1 세그먼트에 할당하고, 디코딩된 이미지는 프레임이고 상기 제 2 이미지 맵은 프레임의 제 2 수의 픽셀들을 상기 환경의 메시 모델의 제 1 세그먼트에 할당하고 제 1 및 제 2 수의 픽셀들은 상이하다. 단계(2722)의 맵핑은 재생 디바이스(800)의 프로세서(808)에 의해 수행될 수도 있고, 일부 실시예들에서는 수행된다. 동작은 선택적인 단계(2722)에서 선택적인 단계(2724)로 진행한다.
단계(2724)에서, 추가 렌더링된 이미지(들), 예컨대 제 2 렌더링된 이미지는 예를 들어 컨텐트 디스플레이 디바이스(800)의 디스플레이(802) 상에 디스플레이된다. 동작은 단계(2724)에서 단계(2704)로 진행하며, 여기서 방법은 이전에 설명된 바와 같이 계속된다.
예시적인 방법(2700)의 일부 실시예들에서, 수신된 환경의 메시 모델은 저장 디바이스에 저장되며, 예를 들면 3D 환경의 메시 모델(832)은 재생 디바이스(800)의 메모리(812)에 저장된다. 일부 실시예들에서, 인코딩된 장면 부분들일 수 있고 일부 실시예들에서는 인코딩된 장면 부분들인 수신된 인코딩된 이미지 데이터는 저장 디바이스에 저장되고, 예를 들면 수신된 인코딩된 데이터)는 재생 디바이스(800)의 메모리(812)에 저장된다. 일부 실시예들에서, 디코딩된 이미지 데이터는 저장 디바이스에 저장되고, 예를 들면 디코딩된 데이터(826)는 재생 디바이스(800)의 메모리(812)에 저장된다. 일부 실시예들에서, 렌더링된 이미지들 중 하나 이상은 저장 디바이스, 예를 들면 재생 디바이스(800)의 메모리(812)에 저장된다. 일부 실시예들에서, 제 1 및 제 2 이미지들은 이미지 생성 모듈(822)에 포함된 명령들을 실행하는 프로세서(808)에 의해 렌더링된다. 일부 실시예들에서, 하드웨어, 예를 들어 회로들, 이미지 생성 모듈은 하나 이상의 이미지들, 예를 들어 제 1 및/또는 제 2 렌더링된 이미지들을 렌더링하는 동작을 수행한다.
환경을 나타내는데 이용되는 정보를 통신하는 방법(2800)의 예시적인 실시예가 도 10과 관련하여 지금부터 설명될 것이다. 예시적인 방법(2800)은 예를 들어 도 7에 도시된 컨텐트 전달 시스템(700)과 같은 컨텐트 전달 시스템에 의해 구현될 수 있고, 일부 실시예들에서는 구현된다.
방법(2800)의 동작은 시작 단계(2802)에서 시작한다. 동작은 단계(2802)에서 단계(2804)로 진행한다.
단계(2804)에서, 프레임의 부분들을 환경의 모델의 세그먼트들에 맵핑하는데 이용되는 제 1 이미지 맵은 예를 들어 도 8에 도시된 컨텐트 재생 디바이스(800)와 같은 컨텐트 재생 디바이스에 통신된다. 제 1 이미지 맵은 환경의 모델의 상이한 세그먼트들에 프레임의 상이한 크기 부분들을 할당함으로써 환경의 모델의 상이한 세그먼트들에 상이한 수의 픽셀들을 할당한다. 일부 실시예들에서, 컨텐트 전달 시스템(700)의 네트워크 인터페이스(710)는 이러한 동작을 수행한다. 이러한 실시예들에서, 네트워크 인터페이스(710)는 이 기능을 수행하는 전송기(711)를 포함한다. 동작은 단계(2804)에서 단계(2806)로 진행한다.
단계(2806)에서, 제 1 이미지 맵을 이용하여 환경의 모델에 맵핑될 제 1 이미지의 적어도 일부를 포함하는 제 1 프레임이 예를 들어 컨텐트 재생 디바이스(800)에 통신된다. 일부 실시예들에서, 컨텐트 전달 시스템(700)의 네트워크 인터페이스(710)는 이 동작을 수행한다. 일부 실시예들에서, 네트워크 인터페이스(710)는 이 동작을 수행하는 전송기(711)를 포함한다. 동작은 단계(2806)에서 단계(2808)로 진행한다.
단계(2808)에서, 프레임의 부분들을 환경의 모델의 세그먼트에 맵핑하는데 이용되는 제 2 이미지 맵은 예를 들어 컨텐트 재생 디바이스(800)와 같은 컨텐트 재생 디바이스에 통신된다. 제 2 이미지 맵은 환경의 모델의 상이한 세그먼트들에 프레임의 상이한 크기의 부분들을 할당함으로써 상기 모델의 상이한 세그먼트들에 상이한 수의 픽셀들을 할당한다. 제 2 이미지 맵은 제 1 이미지 맵에 의해 할당된 것과 상이한 수의 픽셀들을 환경의 모델의 제 1 세그먼트에 할당한다. 일부 실시예들에서, 컨텐트 전달 시스템의 네트워크 인터페이스(710)는 이러한 동작을 수행한다. 일부 실시예들에서, 네트워크 인터페이스(710)는 이 동작을 수행하는 전송기(711)를 포함한다. 동작은 단계(2808)에서 단계(2810)로 진행한다.
단계(2810)에서, 제 2 이미지 맵을 이용하여 환경의 모델에 맵핑될 제 2 이미지의 적어도 일부를 포함하는 제 2 프레임은 예를 들어 컨텐트 재생 디바이스(800)와 같은 컨텐트 재생 디바이스에 통신된다. 제 1 및 제 2 이미지 맵들은 상이한 수의 픽셀들을 환경의 동일 부분에 대응하는 영역에 맵핑함으로써, 제 1 및 제 2 이미지 맵들 중 어느 것이 이용되는지에 기초하여 환경의 동일 부분에 대해 상이한 해상도 할당들을 제공한다. 일부 실시예들에서, 컨텐트 전달 시스템의 네트워크 인터페이스(710)는 이러한 동작을 수행한다. 일부 실시예들에서, 네트워크 인터페이스(710)는 이 동작을 수행하는 전송기(711)를 포함한다. 동작은 단계(2810)에서 단계(2804)로 진행하며, 동작은 상술한 바와 같이 진행한다.
도 27, 도 28 및 도 29는 임의의 다른 도면들에 도시된 디바이스 또는 디바이스들과 같은 재생 디바이스가 어떻게 렌더링될 이미지를 생성하는데 이용된 해상도 할당에 대응하는 UV 맵을 이용하여 이미지 렌더링을 수행할 수 있는지를 나타낸다.
도 27은 UV 맵(2406) 및 환경 모듈(3002)을 이용하여 감축된 해상도 이미지(2404)가 어떻게 렌더링될 수 있는지를 도시하며, 모델에서의 환경 세그먼트들은 UV 맵의 세그먼트들에 대응한다. 도 27의 상부는 UV 맵(2406)의 세그먼트들과 환경의 모델(3002)의 세그먼트들 사이의 관계를 도시한다. UV 맵(2406)의 제 1 세그먼트는 환경의 모델(3002)의 제 1 환경 모듈 세그먼트(EMS 1)에 대응하며, EMS 1 및 UV 맵(2406)의 제 1 세그먼트로부터 연장되는 실선 화살표로 표시된다. 환경의 모델(3002)의 제 2 환경 모듈 세그먼트(EMS 2)는 EMS 2 및 UV 맵(2406)의 제 2 세그먼트로부터 연장되는 점선 화살표로 표시된 바와 같이 UV 맵(2406)의 제 2 세그먼트에 대응한다. 환경의 모델(3002)의 제 3 환경 모듈 세그먼트(EMS 3)는 EMS 3 및 UV 맵(2406)의 제 2 세그먼트로부터 연장되는 점선 화살표로 나타낸 바와 같이, UV 맵(2406)의 제 3 세그먼트에 대응한다. 환경의 모델(3002)과 UV 맵(2406)의 다른 세그먼트들 사이에 알려진 예를 들어 일 대 일 관계가 존재한다.
렌더링 동안, UV 맵(2406)은 텍스처로서 환경의 모델(3002)의 부분들에 제 1 해상도 할당에 따라 생성된 이미지의 부분들을 어떻게 적용하는지를 결정하는데 이용된다. 도 27에서, UV 맵(2404)은 통신된 이미지(2404)에 적용되어 환경의 모델(3002)의 대응하는 세그먼트들에 적용되는 픽셀들의 세트로 이미지(2404)를 어떻게 분할할지를 결정한다. UV 맵(2406)의 세그먼트에 대응하는 이미지(2404)의 세그먼트들의 픽셀들은 그 후에 환경의 모델(3002)의 대응하는 텍스처로서 세그먼트에 적용되고, 스케일링 및 재형성(reshaping)이 환경의 모델(3002)의 세그먼트의 표면을 커버하는데 필요한 만큼 이용된다. 일부 실시예들에서, 환경의 모델(3002)의 대응하는 세그먼트에 적용되는 이미지 부분은 환경의 모델(3002)의 대응하는 세그먼트를 완전히 점유하는데 필요한 만큼 스케일링 및/또는 형상이 조정된다. 따라서, 예를 들어, UV 맵(2406)의 제 1 세그먼트에 대응하는 통신된 이미지의 2개의 픽셀들은 이들이 적용되는 환경의 모델(3002)의 제 1 세그먼트 EMS 1을 완전히 점유하도록 스케일링된다. 유사하게, 도 27의 예에서, UV 맵(2406)의 제 2 세그먼트에 대응하는 렌더링되는 이미지(2404)의 2개의 픽셀들은 텍스처로서 적용되는 환경의 모델(3002)의 제 2 세그먼트 EMS 2를 완전히 점유하도록 스케일링된다. 도 27의 예에서, UV 맵의 제 3 세그먼트는 렌더링될 이미지(2404)의 4개의 픽셀들에 대응한다. 4개의 픽셀들은 렌더링 프로세스 동안 텍스처로서 환경의 모델(3002)의 제 3 세그먼트 EMS 3에 텍스처로서 적용된다. 따라서, 환경의 모델(3002)의 제 3 세그먼트가 환경의 모델의 제 1 및 제 2 세그먼트들과 동일한 크기라고 가정하면, 제 3 세그먼트는 제 1 및 제 2 세그먼트들보다 해상도가 높을 것이고 제 1 세그먼트 및 제 2 세그먼트들 중 어느 것보다 수신된 이미지(2404)에서 더 많은 픽셀들에 대응할 것이다. 따라서, 인코딩 전에 해상도 감축의 대상인 이미지 부분들에 대응하는 UV 맵(2406)의 세그먼트들은 해상도 감축 동작에 대응하지 않는 다른 세그먼트의 환경의 모델(3002)의 동일한 크기 영역에 대응할 수 있다. 알 수 있는 바와 같이, 해상도 감축이 수행되지 않은 영역에 대응하는 세그먼트는 인코딩 이전에 해상도 감축이 수행된 부분보다 높은 해상도로 시뮬레이션된 환경의 생성된 이미지에 디스플레이될 것이다.
상술한 바와 같이, 전송되는 이미지들을 생성하기 위해 상이한 해상도 감축 동작들이 수행될 수 있다. 재생 디바이스는 수신된 이미지들을 렌더링할 때 수행된 해상도 감축 동작에 대응하는 UV 맵을 이용할 것이다. 따라서, 환경의 모델(3002)은 다수의 이미지들에 대해 동일하게 유지될 수 있지만, 상이한 UV 맵들(2406, 2506, 2606)은 동일한 환경의 모델(3002)과 함께 이용될 수 있다.
도 28은 좌측 및 중간 부분들보다 환경의 일부에 대응하는 이미지의 우측 부분에 더 적은 해상도를 할당하는 제 2 선택적인 해상도 감축 동작을 이용하여 생성된 이미지(2504)에 UV 맵(2506)의 적용을 도시한다. 따라서, 도 28은 감축된 해상도 이미지(2504)가 UV 맵(2506) 및 환경의 모델(3002)을 이용하여 어떻게 렌더링될 수 있는지를 도시하며, 환경 세그먼트들은 UV 맵의 세그먼트들에 대응한다. 도 28의 상부는 UV 맵(2506)의 세그먼트들과 환경의 모델(3002)의 세그먼트들 사이의 관계를 도시한다. UV 맵(2506)의 제 1 세그먼트는 EMS 1 및 UV 맵(2506)의 제 1 세그먼트로부터 연장되는 실선 화살표로 나타낸 바와 같이, 환경의 모델(3002)의 제 1 환경 모듈 세그먼트(EMS 1)에 대응한다. 환경의 모델(3002)의 제 2 환경 모듈 세그먼트(EMS 2)는 EMS 2 및 UV 맵(2506)의 제 2 세그먼트로부터 연장되는 점선 화살표로 나타낸 바와 같이, UV 맵(2506)의 제 2 세그먼트에 대응한다. 환경의 모델(3002)의 제 3 환경 모듈 세그먼트(EMS 3)는 EMS 3 및 UV 맵(2506)의 제 2 세그먼트로부터 연장되는 점선 화살표로 나타낸 바와 같이, UV 맵(2506)의 제 3 세그먼트에 대응한다.
렌더링 동안, UV 맵(2506)은 렌더링될 이미지를 환경의 모델(3002)에 적용하는 방법을 결정하기 위해 이용된다. 도 28은 통신된 이미지(2504)와 UV 맵의 세그먼트에 대응하는 이미지의 세그먼트들에서의 픽셀들이 어떻게 환경의 모델(3002)의 대응하는 세그먼트에 적용되는지를 도시한다. UV 맵의 대응하는 세그먼트에 적용된 이미지(2504)의 부분은 UV 맵의 대응하는 세그먼트를 완전히 점유하는데 필요한 만큼 스케일링 및/또는 형상이 조정된다. 따라서, 예를 들어, UV 맵(2504)의 제 1 세그먼트에 대응하는 통신된 이미지의 4개의 픽셀들은 이들이 적용되는 환경의 모델의 제 1 세그먼트 EMS 1을 완전히 점유하도록 스케일링된다. 유사하게, 도 28의 예에서, UV 맵의 제 2 세그먼트에 대응하여 렌더링되는 이미지의 4개의 픽셀들은 텍스처로서 적용되는 환경의 모델(3002)의 제 2 세그먼트 EMS 2를 완전히 점유하도록 스케일링된다. 도 28의 예에서, UV 맵의 제 3 세그먼트는 또한 렌더링될 이미지의 4개의 픽셀들에도 대응한다. 4개의 픽셀들은 렌더링 프로세스 중에 텍스처로서 환경의 모델의 제 3 세그먼트에 텍스처로 적용된다. 따라서 환경의 모델의 제 3 세그먼트가 환경의 모델의 제 1 및 제 2 세그먼트들과 동일한 크기라고 가정하면, 제 3 세그먼트는 제 1 및 제 2 세그먼트들과 해상도가 동일할 것이다. 제 2 해상도 할당 방식에 따르면, 이미지의 좌측 및 중간 부분들에는 해상도 감축이 적용되지 않지만 이미지의 우측에 대해서는 해상도 감축이 수행된다. 따라서, 렌더링된 이미지의 제 1, 제 2 및 제 3 세그먼트들은 도 28의 예에서 동일한 해상도를 가지지만, 이미지의 우측 및 이에 따른 환경의 모델(3002)의 우측에 대응하는 세그먼트들은 더 낮은 해상도를 가질 것이다.
도 29는 중간 및 우측 부분들보다 환경의 일부에 대응하는 이미지의 좌측 부분에 더 적은 해상도를 할당하는 제 3 선택적인 해상도 감축 동작을 이용하여 생성된 이미지(2604)에 UV 맵(2606)을 적용하는 것을 도시한다. 따라서, 도 28은 감축된 해상도 이미지(2604)가 UV 맵(2606) 및 환경의 모델(3002)을 이용하여 어떻게 렌더링될 수 있는지를 도시하며, 환경 세그먼트들은 UV 맵(2606)의 세그먼트들에 대응한다. 도 29의 상부는 UV 맵(2606)의 세그먼트들과 환경의 모델(3002)의 세그먼트들 사이의 관계를 도시한다. UV 맵(2606)의 제 1 세그먼트는 EMS 1 및 UV 맵(2606)의 제 1 세그먼트로부터 연장되는 실선 화살표로 나타낸 바와 같이, 환경의 모델(3002)의 제 1 환경 모듈 세그먼트(EMS 1)에 대응한다. 환경의 모델(3002)의 제 2 환경 모듈 세그먼트(EMS 2)는 EMS 2 및 UV 맵(2606)의 제 2 세그먼트로부터 연장되는 점선 화살표로 나타낸 바와 같이, UV 맵(2506)의 제 2 세그먼트에 대응한다. 환경의 모델(3002)의 제 3 환경 모듈 세그먼트(EMS 3)는 EMS 3 및 UV 맵(2606)의 제 2 세그먼트로부터 연장되는 점선 화살표로 나타낸 바와 같이, UV 맵(2606)의 제 3 세그먼트에 대응한다.
렌더링 동안, UV 맵(2606)은 렌더링될 이미지를 환경의 모델(3002)에 적용하는 방법을 결정하기 위해 이용된다. 도 29는 통신된 이미지(2604)와 UV 맵의 세그먼트에 대응하는 이미지의 세그먼트들에서의 픽셀들이 어떻게 환경의 모델(3002)의 대응하는 세그먼트에 적용되는지를 도시한다. UV 맵(2606)에 의해 나타낸 바와 같이 환경의 모델(3002)의 세그먼트에 대응하는 이미지(2604)의 부분은 환경의 모델(3002)의 대응하는 세그먼트를 완전히 점유하는데 필요한 만큼 스케일링 및/또는 형상이 조정된다. 따라서, 예를 들어, UV 맵(2604)의 제 1 세그먼트에 대응하는 통신된 이미지(2604)의 2개의 픽셀들은 이들이 적용되는 환경의 모델의 제 1 세그먼트 EMS 1을 완전히 점유하도록 스케일링된다. 유사하게, 도 29의 예에서, UV 맵(2606)의 제 2 세그먼트에 대응하여 렌더링되는 이미지의 2개의 픽셀들은 텍스처로서 적용되는 환경의 모델(3002)의 제 2 세그먼트 EMS 2를 완전히 점유하도록 스케일링된다. 도 29의 예에서, UV 맵의 제 3 세그먼트는 또한 렌더링될 이미지의 2개의 픽셀들에도 대응한다. 2개의 픽셀들은 렌더링 프로세스 중에 텍스처로서 환경의 모델의 제 3 세그먼트에 텍스처로 적용된다. 따라서, 환경의 모델(3002)의 제 3 세그먼트가 환경의 모델(3002)의 제 1 및 제 2 세그먼트들과 동일한 크기라고 가정하면, 제 3 세그먼트는 제 1 및 제 2 세그먼트들과 해상도가 동일할 것이다. 제 3 해상도 할당 방식에 따르면, 전송된 이미지의 중간 및 우측 부분들에는 해상도 감축이 적용되지 않지만 이미지의 좌측에 대해서는 해상도 감축이 수행된다. 따라서, 렌더링된 이미지의 제 1, 제 2 및 제 3 세그먼트들은 도 29의 예에서 동일한 해상도를 가지지만, 이미지의 중간 및 측면과 환경의 모델(3002)의 우측에 대응하는 세그먼트들은 더 높은 해상도를 가질 것이다.
따라서, 상이한 UV 맵들을 이용함으로써, 재생 동안 상이한 해상도 할당이 달성될 수 있는 반면에, 입력 이미지들의 크기 및/또는 픽셀 수는 동일하게 유지된다. 이는 전송되는 이미지들의 크기 또는 픽셀 수를 변경하지 않고서도 해상도 할당들을 변경하는 쉽고 효율적인 방법을 제공한다.
컨텐트를 재생하기 위한 다른 예시적인 장치가 이제 설명될 것이다. 이 장치는 신호들, 환경의 메시 모델, 하나 이상의 이미지 맵들, 예를 들면 이미지와 환경의 메시 모델 사이의 맵핑을 나타내는 UV 맵(들) 및 하나 이상의 인코딩된 이미지들을 수신하는 수신기를 포함한다. 일부 실시예들에서, 장치의 수신기는 환경의 메시 모델, 제 1 이미지 맵, 제 2 이미지 맵 및 인코딩된 이미지를 수신하도록 구성된다. 또한, 장치는 수신된 신호들, 메시 모델들, 이미지 맵들, 및 인코딩된, 디코딩된 및 생성된 이미지들과 같은 이미지들을 저장하기 위한 메모리와 같은 저장 디바이스를 포함하거나 이에 결합된다. 이 장치는 수신된 인코딩된 이미지들을 디코딩하는 디코더 및 디코딩된 이미지를 제 1 이미지 맵에 따라 환경의 메시 모델에 맵핑하여 제 1 렌더링된 이미지를 생성하도록 구성된 프로세서를 더 포함한다. 제 1 이미지 맵은 상기 환경의 메시 모델의 상이한 세그먼트들에 디코딩된 이미지의 상이한 수의 픽셀들을 맵핑한다. 일부 실시예들에서, 장치는 상이한 수의 픽셀들이 동일한 크기의 환경 영역들에 맵핑되지만 환경 내의 상이한 위치들에 위치하도록 구성된다. 일부 실시예들에서, 움직임에 대응하는 환경에서의 세그먼트들에는 움직임이 거의 또는 전혀 검출되지 않는 세그먼트들보다 많은 픽셀들이 할당된다. 일부 실시예들에서, 장치는 전방 뷰잉 영역에 대응하는 적어도 일부 세그먼트들이 후방 뷰잉 영역에 대응하는 세그먼트들보다 세그먼트 당 더 많은 픽셀들이 할당되도록 구성된다. 일부 실시예들에서, 장치는 장치에 의해 생성된 이미지들이 디스플레이되는 디스플레이 디바이스를 포함하거나 이에 결합된다. 장치의 프로세서는 장치를 동작시켜 수신된 신호들, 메시 모델들, 이미지 맵들, 및 인코딩되거나, 디코딩되거나 생성된 이미지들과 같은 이미지들을 장치에 포함되거나 결합된 저장 디바이스에 저장하도록 구성될 수 있고 통상적으로 그렇게 구성된다.
일부 실시예들에서, 장치의 수신기는 수신된 프레임들의 부분들을 상기 환경의 메시 모델에 맵핑하는데 제 2 이미지 맵이 이용되어야 함을 나타내는 신호를 수신하도록 구성된다. 장치의 프로세서는 또한 수신된 프레임들의 부분들을 환경의 메시 모델에 맵핑하는데 제 2 이미지 맵이 이용되어야 함을 나타내는 수신된 신호에 응답하여 장치를 동작시켜 제 2 이미지 맵, 통상적으로 제 2 수신된 이미지 맵을 이용해서 수신된 프레임들의 부분들을 환경의 메시 모델에 맵핑하여 제 2 렌더링된 이미지를 생성하도록 구성된다. 그러한 장치 중 일부에서, 디코딩된 이미지는 프레임이고, 제 1 이미지 맵은 환경의 메시 모델의 제 1 세그먼트에 프레임의 제 1 수의 픽셀들을 할당하고, 제 2 이미지 맵은 환경의 메시 모델의 제 1 세그먼트에 프레임의 제 2 수의 픽셀들을 할당하며, 제 1 및 제 2 수의 픽셀들은 상이하다. 장치의 프로세서는 통상적으로 장치의 일부로서 포함되거나 장치에 결합될 수 있는 디스플레이에 제 2 렌더링된 이미지를 디스플레이하도록 구성된다.
환경을 나타내는데 이용될 정보를 통신하기 위한 예시적인 장치가 이제 설명될 것이다. 예시적인 장치는, 상기 장치를 동작시켜: (ⅰ) 프레임의 부분들을 환경의 모델의 세그먼트들에 맵핑하는데 이용될 제 1 이미지 맵을 통신하고, 상기 제 1 이미지 맵은 프레임의 상이한 크기 부분들을 환경의 모델의 상이한 세그먼트들에 할당함으로써 상기 모델의 상이한 세그먼트들에 상이한 수의 픽셀들을 할당하고, (ⅱ) 상기 제 1 이미지 맵을 이용하여 상기 환경의 모델에 맵핑될 제 1 이미지의 적어도 일부를 포함하는 제 1 프레임을 통신하도록 구성되는 프로세서를 포함한다.
일부 실시예들에서, 장치의 프로세서는 또한, 상기 장치를 동작시켜: (ⅰ) 프레임의 일부를 환경의 모델의 세그먼트들에 맵핑하는데 이용되는 제 2 이미지 맵을 통신하고, 상기 제 2 이미지 맵은 환경의 모델의 상이한 세그먼트들에 프레임의 상이한 크기 부분들을 할당함으로써 상기 모델의 상이한 세그먼트들에 상이한 수의 픽셀들을 할당하고, 상기 제 2 이미지 맵은 상기 제 1 이미지 맵, 예를 들어 UV 맵에 의해 할당된 것과는 상이한 수의 픽셀들을 상기 모델의 제 1 세그먼트에 할당하고, 및 (ⅱ) 제 2 이미지 맵을 이용하여 상기 환경의 모델에 맵핑될 제 2 이미지의 적어도 일부를 포함하는 제 2 프레임을 통신하도록 구성된다. 장치의 일부 실시예들에서, 제 1 및 제 2 이미지 맵들은 환경의 동일한 부분에 대응하는 영역에 상이한 수의 픽셀들을 맵핑함으로써, 제 1 및 제 2 이미지 맵들 중 어느 것이 이용되는지에 기초하여 환경의 동일한 부분에 대한 상이한 해상도 할당들을 제공한다.
일부 실시예들에서, 장치는 실시간 컨텐트 스트림을 제공하는 서버이다. 일부 실시예들에서, 장치는 환경 메시 생성 모듈, 맵 생성 모듈, 예를 들어 UV 맵 생성 모듈, 및 신호들, 모델들, 맵들 및 이미지들을 포함하는 정보를 통신하기 위한 I/O 인터페이스 및/또는 네트워크 인터페이스를 포함하는 실시간 컨텐트 전달 시스템이다. 일부 실시예들에서, 모듈들은 실행될 때 프로세서로 하여금 다양한 루틴들을 수행하게 하는 소프트웨어 명령들을 포함한다. 일부 실시예들에서, 모듈들은 하드웨어 모듈들, 예컨대 회로이다. 일부 실시예들에서, 모듈들은 하드웨어와 소프트웨어 모듈들의 조합이다.
하나의 예시적인 실시예에 따라 구현되는 예시적인 컨텐트 처리 및 전달 시스템, 예를 들어, 시스템(700)은: 프로세서(예를 들면, 프로세서(708))로서, ⅰ) 환경의 제 1 부분에 대응하는 적어도 하나의 이미지에 이용될 제 1 해상도 할당을 선택하고; ⅱ) 제 1 감축된 해상도 이미지를 생성하기 위해 선택된 제 1 해상도 할당에 따라 환경의 제 1 부분의 제 1 이미지에 대해 해상도 감축 동작을 수행하도록 구성된, 상기 프로세서; 및 제 1 감축된 해상도 이미지를 재생 디바이스에 통신하도록 구성된 전송기(예를 들면, 인터페이스(710)의 전송기(713))를 포함한다.
일부 실시예들에서, 해상도 할당의 선택은 환경의 제 1 부분에서 중요한 영역에 기초하여 수행된다. 일부 실시예들에서 중요한 영역은 환경의 제 1 부분에서의 움직임 영역에 대응한다. 일부 실시예들에서 중요한 영역은 시스템 오퍼레이터에 의해 표시된 영역이다. 일부 실시예들에서, 중요한 영역은 제 1 이미지가 캡처되기 전 또는 그 시점에서 하나 이상의 개인이 제 1 이미지에 포함된 환경의 어느 부분을 보고 있는지를 검출함으로써 결정된 영역이다.
일부 실시예들에서, 전송기는 또한: 제 1 해상도 할당에 따라 생성된 이미지들의 부분들을 환경의 모델의 표면에 맵핑하는데 이용되는 제 1 텍스처 맵(UV 맵)을 재생 디바이스에 통신하도록 구성된다. 일부 실시예들에서, 제 1 텍스처 맵에서 제 1 세그먼트의 크기는 제 1 감축된 해상도 이미지의 제 1 세그먼트를 생성하기 위해 제 1 이미지의 대응하는 제 1 영역에 적용되는 해상도 감축량의 함수이다. 일부 실시예들에서, 제 1 텍스처 맵은 해상도 감축 동작의 대상이 아닌 제 1 이미지의 일부에 대응하는 제 2 세그먼트를 포함하고, 제 2 텍스처 맵 내의 제 2 세그먼트의 크기는 제 1 이미지에서의 세그먼트의 크기와 동일하다.
일부 실시예들에서, 텍스처 맵에서의 제 1 세그먼트의 크기는 제 1 이미지의 대응하는 제 1 영역에 적용되는 해상도 감축량에 기초한 양만큼 제 1 이미지의 대응하는 영역의 소스의 크기로부터 감소된다. 일부 실시예들에서, 전송기는 또한 환경의 모델을 재생 디바이스에 통신하도록 구성된다. 일부 실시예들에서, 제 1 텍스처 맵은 제 1 텍스처 맵은 환경의 모델의 일부에 대응하고, 제 1 텍스처 맵은 환경의 모델의 일부에 제 1 해상도 할당의 대상이 되는 이미지들의 부분들을 맵핑하는 방법을 나타내는 정보를 제공한다. 일부 실시예들에서, 제 1 이미지는 제 1 이미지와 제 2 이미지의 이미지 쌍 중 하나의 이미지이고, 좌안 및 우안 이미지 쌍 중 하나이며, 제 2 이미지는 좌안 및 우안 이미지 쌍 중 제 2 이미지이다. 일부 실시예들에서, 프로세서는 또한 제 2 감축된 해상도 이미지를 생성하기 위해 선택된 제 1 해상도 할당에 따라 제 2 이미지에 대해 해상도 감축 동작을 수행하도록 구성되며, 전송기는 또한 제 2 감축된 해상도 이미지를 제 1 입체 영상 이미지 쌍의 일부로서 재생 디바이스에 전달하도록 구성된다.
일부 실시예들에서, 프로세서는 또한: 환경의 제 1 부분에 대응하는 다른 이미지에 이용될 제 2 해상도 할당을 선택하고, 다른 이미지는 제 3 이미지이고; 제 3 감축된 해상도 이미지를 생성하기 위해 선택된 제 2 해상도 할당에 따라 제 3 이미지에 대해 해상도 감축 동작을 수행하도록 구성된다. 일부 실시예들에서, 전송기는 또한 제 3 감축된 해상도 이미지를 재생 디바이스에 통신하도록 구성된다.
일부 실시예들에서, 전송기는 또한 제 2 해상도 할당에 따라 생성된 이미지들의 부분들을 환경의 모델의 표면에 맵핑하는데 이용되는 제 2 텍스처 맵(UV 맵)을 재생 디바이스에 통신하도록 구성된다. 일부 실시예들에서, 제 2 텍스처 맵에서의 제 1 세그먼트의 크기는 제 3 감축된 해상도 이미지의 제 1 세그먼트를 생성하기 위해 제 3 이미지의 대응하는 제 1 영역에 적용되는 해상도 감축량의 함수이다. 일부 실시예들에서, 제 2 텍스처 맵은 해상도 감축 동작의 대상이 아닌 제 3 이미지의 일부에 대응하는 제 3 세그먼트를 포함하고, 제 2 텍스처 맵에서의 제 3 세그먼트의 크기는 제 3 이미지에서의 세그먼트의 크기와 동일하다.
일부 실시예들에서, 제 2 텍스처 맵에서의 제 1 세그먼트의 크기는 제 3 이미지의 대응하는 제 1 영역에 적용된 해상도 감축량에 기초한 양만큼 제 3 이미지에서의 대응하는 영역의 소스의 크기로부터 감소된다. 일부 실시예들에서, 제 2 텍스처 맵은 제 1 텍스처 맵과 동일한 환경의 모델 부분에 대응하며, 제 2 텍스처 맵은 제 2 해상도 할당의 대상이 되는 이미지들의 부분들을 환경의 모델의 대응하는 부분에 맵핑하는 방법을 나타내는 정보를 제공한다.
상기 방법들 및 장치는 입체 영상 이미지들, 예를 들어, 사용자의 좌안 및 우안에 디스플레이되는 이미지들의 쌍들, 또는 모노-스코픽(mono-scopic) 이미지들을 렌더링하는데 이용될 수 있다. 따라서, 상기 방법들은 3D 환경들을 시뮬레이션하는데 이용하기에 적합하지만, 전체 360도 환경보다 작은 영역에 대응할 수 있고 사실상 입체적이지 않을 수도 있는 파노라마 이미지들을 통신하는데 이용하기에 매우 적합하다.
다수의 부가적인 방법들 및 실시예들이 다음의 상세한 설명에서 설명된다.
단계들이 예시적인 순서로 도시되어 있지만, 많은 경우에 단계들의 순서는 동작에 악영향을 미치지 않고 변경될 수 있다는 것을 알아야 한다. 따라서, 단계들의 예시적인 순서가 적절한 동작을 위해 요구되지 않는다면, 단계들의 순서는 예시적인 것으로 고려되어야 하며 제한적이지는 않다.
일부 실시예들은 컴퓨터 또는 다른 디바이스가 입체 영상 비디오를 인코딩 및 압축하도록 제어하기 위한 소프트웨어 명령 세트, 예를 들어 컴퓨터 실행 가능 명령 세트를 구현하는 비-일시적 컴퓨터 판독 가능 매체에 관한 것이다. 다른 실시예들은 플레이어 엔드(player end)에서 비디오를 디코딩하고 압축 해제하도록 컴퓨터 또는 다른 디바이스를 제어하기 위한, 소프트웨어 명령 세트, 예를 들어 컴퓨터 실행 가능 명령 세트를 구현하는 컴퓨터 판독 가능 매체에 관한 것이다. 인코딩 및 압축이 가능한 개별 동작들로 언급되지만, 인코딩을 이용하여 압축을 수행할 수 있으며, 따라서 인코딩은 압축을 포함할 수 있음을 알아야 한다. 유사하게, 디코딩은 압축 해제를 관련시킬 수 있다.
다양한 실시예들의 기술들은 소프트웨어, 하드웨어 및/또는 소프트웨어와 하드웨어의 조합을 이용하여 구현될 수 있다. 다양한 실시예들은 장치, 예를 들어 이미지 데이터 처리 시스템에 관한 것이다. 다양한 실시예들은 또한 방법들, 예를 들어 이미지 데이터를 처리하는 방법에 관한 것이다. 일부 실시예들에서, 하나 이상의 방법 단계들은 프로세서를 이용하여 구현된다. 또한, 다양한 실시예들은 컴퓨터 판독 가능 매체, 예를 들어 ROM, RAM, CD들, 하드 디스크들 등과 같은 비-일시적인 기계에 관한 것으로, 이는 기계가 하나 이상의 방법 단계들을 구현하도록 제어하기 위한 기계 판독 가능 명령들을 포함한다.
본 발명의 다양한 특징들은 모듈들을 이용하여 구현된다. 이러한 모듈들은 소프트웨어 모듈들로 구현될 수 있고, 일부 실시예들에서는 소프트웨어 모듈들로 구현된다. 다른 실시예들에서, 모듈들은 하드웨어로 구현된다. 또 다른 실시예들에서, 모듈들은 소프트웨어와 하드웨어의 조합을 이용하여 구현된다. 일부 실시예들에서, 모듈들은 모듈이 대응하는 기능을 수행하기 위한 회로로서 각각의 모듈이 구현되는 개별적인 회로들로서 구현된다. 상이한 모듈들이 예를 들면 하드웨어, 소프트웨어 및 하드웨어와 소프트웨어의 조합을 이용하여 상이하게 구현되는 일부 실시예들을 포함하여 다양한 실시예들이 고려될 수 있다. 루틴들 및/또는 서브 루틴들, 또는 이러한 루틴들에 의해 수행되는 단계들 중 일부는 범용 프로세서에서 실행되는 소프트웨어와는 달리 전용 하드웨어로 구현될 수 있음에 유념해야 한다. 그러한 실시예들은 본 발명의 범위 내에 있다. 상술한 방법들 또는 방법 단계들 대부분은 예를 들면 추가적인 하드웨어를 구비하거나 구비하지 않은 범용 컴퓨터와 같은 기계를 제어하여 상술한 방법들의 전부 또는 일부를 구현하기 위해, 메모리 디바이스, 예를 들면 RAM, 플로피 디스크 등과 같은 기계 판독 가능 매체에 포함되는 소프트웨어와 같은 기계 실행 가능 명령들을 이용하여 구현될 수 있다. 따라서, 특히, 본 발명은 예를 들어 프로세서 및 연관된 하드웨어와 같은 기계로 하여금 상술한 방법(들)의 하나 이상의 단계들을 수행하게 하는 기계 실행 가능 명령들을 포함하는 기계-판독 가능 매체에 관한 것이다.
상술한 다양한 실시예들의 방법 및 장치에 대한 다양한 추가적인 변형들은 상기 설명을 고려하면 당업자에게 명백할 것이다. 이러한 변형들은 범위 내에서 고려되어야 한다.

Claims (52)

  1. 방법으로서,
    환경의 제 1 부분에 대응하는 텍스처 맵들을 메모리에 저장하는 단계;
    프로세서를 동작시켜 상기 환경의 제 1 부분에 대응하는 적어도 하나의 이미지에 이용될 제 1 해상도 할당을 선택하는 단계;
    제 1 감축된 해상도 이미지를 생성하기 위해 상기 선택된 제 1 해상도 할당에 따라 상기 환경의 상기 제 1 부분의 제 1 이미지에 대해 해상도 감축 동작을 수행하는 단계 - 상기 제 1 이미지는 좌안 이미지 및 우안 이미지를 포함하는 이미지 쌍의 하나의 이미지임 -;
    제 2 감축된 해상도 이미지를 생성하기 위해 상기 선택된 제 1 해상도 할당에 따라 상기 이미지 쌍의 제 2 이미지에 대해 해상도 감축 동작을 수행하는 단계;
    상기 제 1 해상도 할당에 따라 생성된 이미지들의 부분들을 상기 환경의 모델의 표면에 맵핑하는 데 이용될 제 1 텍스처 맵을 나타내는 정보를 재생 디바이스에 통신하는 단계; 및
    상기 재생 디바이스에 제 1 입체 이미지 쌍을 통신하는 단계를 포함하고, 상기 제 1 입체 이미지 쌍은 상기 제 1 감축된 해상도 이미지 및 상기 제 2 감축된 해상도 이미지를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 정보는 상기 제 1 텍스처 맵 또는 상기 제 1 텍스처 맵을 식별하는 식별자이고;
    상기 제 1 텍스처 맵에서의 제 1 세그먼트의 크기가 상기 제 1 감축된 해상도 이미지의 제 1 세그먼트를 생성하기 위해 상기 제 1 이미지의 대응하는 제 1 영역에 적용되는 해상도 감축량의 함수인, 방법.
  3. 제 2 항에 있어서,
    상기 제 1 텍스처 맵은 해상도 감축 동작의 대상이 아닌 상기 제 1 이미지의 일부에 대응하는 제 2 세그먼트를 포함하고, 상기 제 1 텍스처 맵에서의 상기 제 2 세그먼트의 크기가 상기 제 1 이미지의 대응하는 부분의 크기와 동일한, 방법.
  4. 제 2 항에 있어서,
    상기 텍스처 맵에서의 상기 제 1 세그먼트의 상기 크기는 상기 제 1 이미지의 대응하는 제 1 영역에 적용되는 해상도 감축량에 기초한 양만큼 상기 제 1 이미지의 대응하는 영역의 소스의 크기로부터 감소되는, 방법.
  5. 제 4 항에 있어서,
    상기 재생 디바이스에 환경의 모델을 통신하는 단계를 더 포함하고;
    상기 제 1 텍스처 맵은 상기 환경의 모델의 일부에 대응하고, 상기 제 1 텍스처 맵은 상기 환경의 모델의 일부에 상기 제 1 해상도 할당의 대상이 되는 이미지들의 부분들을 맵핑하는 방법을 나타내는 정보를 제공하는, 방법.
  6. 제 1 항에 있어서,
    상기 환경의 상기 제 1 부분에 대응하는 다른 이미지에 이용될 제 2 해상도 할당을 선택하는 단계 - 상기 제 2 해상도 할당은 상기 제 1 해상도 할당과 상이하고, 상기 다른 이미지는 제 3 이미지임 -;
    제 3 감축된 해상도 이미지를 생성하기 위해 상기 선택된 제 2 해상도 할당에 따라 상기 제 3 이미지에 대해 해상도 감축 동작을 수행하는 단계; 및
    상기 제 3 감축된 해상도 이미지를 재생 디바이스에 통신하는 단계를 더 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 제 2 해상도 할당에 따라 생성된 이미지들의 부분들을 상기 환경의 상기 모델의 상기 표면에 맵핑하는데 이용되는 제 2 텍스처 맵을 나타내는 정보를 상기 재생 디바이스에 통신하는 단계를 더 포함하고, 상기 제 2 텍스처 맵은 상기 제 1 텍스처 맵과는 상이한, 방법.
  8. 제 7 항에 있어서,
    상기 제 2 텍스처 맵에서의 제 1 세그먼트의 크기가 상기 제 3 감축된 해상도 이미지의 제 1 세그먼트를 생성하기 위해 상기 제 3 이미지의 대응하는 제 1 영역에 적용되는 해상도 감축량의 함수인, 방법.
  9. 제 8 항에 있어서,
    상기 제 2 텍스처 맵은 해상도 감축 동작의 대상이 아닌 상기 제 3 이미지의 일부에 대응하는 제 3 세그먼트를 포함하고, 상기 제 2 텍스처 맵에서의 상기 제 3 세그먼트의 크기는 상기 제 3 이미지의 대응하는 부분의 크기와 동일한, 방법.
  10. 제 1 항에 있어서, 상기 제 1 해상도 감축 동작은 다운샘플링 동작을 포함하는, 방법.
  11. 제 1 항에 있어서, 상기 환경의 상기 제 1 부분의 상기 제 1 이미지는 카메라에 의해 캡처된 이미지인, 방법.
  12. 시스템으로서,
    프로세서로서:
    환경의 제 1 부분에 대응하는 적어도 하나의 이미지에 이용될 제 1 해상도 할당을 선택하고;
    제 1 감축된 해상도 이미지를 생성하기 위해 상기 선택된 제 1 해상도 할당에 따라 상기 환경의 상기 제 1 부분의 제 1 이미지에 대해 해상도 감축 동작을 수행하고 - 상기 제 1 이미지는 좌안 이미지 및 우안 이미지를 포함하는 이미지 쌍의 하나의 이미지임 -;
    제 2 감축된 해상도 이미지를 생성하기 위해 상기 선택된 제 1 해상도 할당에 따라 상기 이미지 쌍의 제 2 이미지에 대해 해상도 감축 동작을 수행하도록 구성된, 상기 프로세서; 및
    전송기로서:
    상기 제 1 해상도 할당에 따라 생성된 상기 이미지들의 부분들을 상기 환경의 모델의 표면에 맵핑하는 데 이용될 제 1 텍스처 맵을 재생 디바이스에 통신하고;
    상기 재생 디바이스에 제 1 입체 이미지 쌍을 통신하도록 구성된, 상기 전송기
    를 포함하고, 상기 제 1 입체 이미지 쌍은 상기 제 1 감축된 해상도 이미지 및 상기 제 2 감축된 해상도 이미지를 포함하는, 시스템.
  13. 제 12 항에 있어서,
    상기 제 1 텍스처 맵에서의 제 1 세그먼트의 크기가 상기 제 1 감축된 해상도 이미지의 제 1 세그먼트를 생성하기 위해 상기 제 1 이미지의 대응하는 제 1 영역에 적용되는 해상도 감축량의 함수인, 시스템.
  14. 제 13 항에 있어서,
    상기 제 1 텍스처 맵은 해상도 감축 동작의 대상이 아닌 상기 제 1 이미지의 일부에 대응하는 제 2 세그먼트를 포함하고, 상기 제 2 텍스처 맵에서의 상기 제 2 세그먼트의 크기는 상기 제 1 이미지에서의 세그먼트의 크기와 동일한, 시스템.
  15. 제 13 항에 있어서,
    상기 텍스처 맵에서의 상기 제 1 세그먼트의 상기 크기는 상기 제 1 이미지의 대응하는 제 1 영역에 적용되는 해상도 감축량에 기초한 양만큼 상기 제 1 이미지의 대응하는 영역의 소스의 크기로부터 감소되는, 시스템.
  16. 제 15 항에 있어서,
    상기 전송기는 또한 상기 재생 디바이스에 환경의 모델을 통신하도록 구성되고;
    상기 제 1 텍스처 맵은 상기 환경의 모델의 일부에 대응하고, 상기 제 1 텍스처 맵은 상기 환경의 모델의 일부에 상기 제 1 해상도 할당의 대상이 되는 이미지들의 부분들을 맵핑하는 방법을 나타내는 정보를 제공하는, 시스템.
  17. 프로세서 실행 가능 명령들을 포함하는 비-일시적인 컴퓨터 판독 가능 기록 매체로서, 상기 프로세서 실행 가능 명령들은 프로세서에 의해 실행될 때, 시스템을 제어하여:
    환경의 제 1 부분에 대응하는 적어도 하나의 이미지에 이용될 제 1 해상도 할당을 선택하고;
    제 1 감축된 해상도 이미지를 생성하기 위해 상기 선택된 제 1 해상도 할당에 따라 상기 환경의 상기 제 1 부분의 제 1 이미지에 대해 해상도 감축 동작을 수행하고 - 상기 제 1 이미지는 좌안 이미지 및 우안 이미지를 포함하는 이미지 쌍의 하나의 이미지임 -;
    제 2 감축된 해상도 이미지를 생성하기 위해 상기 선택된 제 1 해상도 할당에 따라 상기 이미지 쌍의 제 2 이미지에 대해 해상도 감축 동작을 수행하고;
    상기 제 1 해상도 할당에 따라 생성된 상기 이미지들의 부분들을 상기 환경의 모델의 표면에 맵핑하는 데 이용될 제 1 텍스처 맵을 나타내는 정보를 재생 디바이스에 통신하고;
    상기 재생 디바이스에 제 1 입체 이미지 쌍을 통신하며, 상기 제 1 입체 이미지 쌍은 상기 제 1 감축된 해상도 이미지 및 상기 제 2 감축된 해상도 이미지를 포함하는, 비-일시적인 컴퓨터 판독 가능 기록 매체.
  18. 환경을 표현하는 데 이용될 정보를 통신하는 방법으로서,
    네트워크 인터페이스를 통해, 제 1 프레임의 부분들을 환경 모델의 세그먼트들에 맵핑하는 제 1 이미지 맵을 콘텐츠 재생 디바이스에 통신하도록 콘텐츠 전달 시스템을 동작시키는 단계 - 상기 제 1 이미지 맵은 상기 제 1 프레임의 상이한 크기 부분들을 상기 환경 모델의 상이한 세그먼트들에 할당함으로써 상이한 수의 픽셀들을 상기 환경 모델의 상이한 세그먼트들에 할당함 -;
    상기 제 1 이미지 맵을 이용하여 상기 환경 모델에 맵핑될 제 1 이미지의 적어도 일부를 포함하는 상기 제 1 프레임을 상기 콘텐츠 재생 디바이스에 통신하도록 상기 콘텐츠 전달 시스템을 동작시키는 단계 - 상기 제 1 프레임은 제 1 시간에 대응함 -; 및
    상기 네트워크 인터페이스를 통해, 제 2 프레임의 부분들을 상기 환경 모델의 세그먼트들에 맵핑하는 제 2 이미지 맵을 상기 콘텐츠 재생 디바이스에 통신하도록 상기 콘텐츠 전달 시스템을 동작시키는 단계를 포함하고, 상기 제 2 이미지 맵은 상기 제 2 프레임의 상이한 크기 부분들을 상기 환경 모델의 상이한 세그먼트들에 할당함으로써 상이한 수의 픽셀들을 상기 환경 모델의 상이한 세그먼트들에 할당하고, 상기 제 2 이미지 맵은 상기 제 1 이미지 맵에 의해 할당되는 것과 상이한 수의 픽셀들을 상기 환경 모델의 제 1 세그먼트에 할당하는, 방법.
  19. 제 18 항에 있어서,
    상기 제 2 이미지 맵을 이용하여 상기 환경 모델에 맵핑될 제 2 이미지의 적어도 일부를 포함하는 상기 제 2 프레임을 상기 콘텐츠 재생 디바이스에 통신하도록 상기 콘텐츠 전달 시스템을 동작시키는 단계를 더 포함하는, 방법.
  20. 제 19 항에 있어서, 상기 제 1 프레임 및 상기 제 2 프레임은 상이한 시간들에 대응하고;
    상기 제 1 및 제 2 프레임들이 대응하는 환경의 상이한 부분은 상기 상이한 시간들에서 중요하고, 상기 제 1 및 제 2 이미지 맵들은 상기 상이한 시간들 각각에 대해 상기 환경의 중요한 부분에 더 높은 해상도를 제공하기 위해 상이한 해상도 할당들을 제공하는, 방법.
  21. 제 19 항에 있어서, 상기 제 1 및 제 2 프레임들은 동일한 수의 픽셀들을 포함하는, 방법.
  22. 제 19 항에 있어서, 상기 제 1 및 제 2 이미지 맵들은 상기 제 1 및 제 2 프레임들을 포함하는 콘텐츠 스트림에서 통신되는, 방법.
  23. 제 19 항에 있어서,
    상기 제 1 이미지를 생성하기 위해 제 1 캡처된 이미지에 대해 수행될 제 1 해상도 감축 동작을 선택하도록 상기 콘텐츠 전달 시스템을 동작시키는 단계; 및
    상기 제 2 이미지를 생성하기 위해 제 2 캡처된 이미지에 대해 수행될 제 2 해상도 감축 동작을 선택하도록 상기 콘텐츠 전달 시스템을 동작시키는 단계를 더 포함하고, 상기 제 2 해상도 동작은 상기 제 1 해상도 감축 동작과 상이한, 방법.
  24. 제 23 항에 있어서, 상기 제 1 및 제 2 이미지들은 상기 환경의 동일한 부분에 대응하는, 방법.
  25. 네트워크 인터페이스 및 프로세서를 포함하는 콘텐츠 전달 시스템으로서,
    상기 프로세서는 상기 콘텐츠 전달 시스템을 제어하여:
    네트워크 인터페이스를 통해, 제 1 프레임의 부분들을 환경 모델의 세그먼트들에 맵핑하는 제 1 이미지 맵을 콘텐츠 재생 디바이스에 통신하고 - 상기 제 1 이미지 맵은 상기 제 1 프레임의 상이한 크기 부분들을 상기 환경 모델의 상이한 세그먼트들에 할당함으로써 상이한 수의 픽셀들을 상기 환경 모델의 상이한 세그먼트들에 할당함 -;
    상기 제 1 이미지 맵을 이용하여 상기 환경 모델에 맵핑될 제 1 이미지의 적어도 일부를 포함하는 상기 제 1 프레임을 상기 콘텐츠 재생 디바이스로 통신하고 - 상기 제 1 프레임은 제 1 시간에 대응함 -;
    상기 네트워크 인터페이스를 통해, 제 2 프레임의 부분들을 상기 환경 모델의 세그먼트들에 맵핑하는 제 2 이미지 맵을 상기 콘텐츠 재생 디바이스에 통신하도록 구성되며, 상기 제 2 이미지 맵은 상기 제 2 프레임의 상이한 크기 부분들을 상기 환경 모델의 상이한 세그먼트들에 할당함으로써 상이한 수의 픽셀들을 상기 모델의 상이한 세그먼트들에 할당하고, 상기 제 2 이미지 맵은 상기 제 1 이미지 맵에 의해 할당되는 것과 상이한 수의 픽셀들을 상기 모델의 제 1 세그먼트에 할당하는, 콘텐츠 전달 시스템.
  26. 제 25 항에 있어서, 상기 프로세서는 상기 콘텐츠 전달 시스템을 제어하여:
    상기 제 2 이미지 맵을 이용하여 상기 환경 모델에 맵핑될 제 2 이미지의 적어도 일부를 포함하는 상기 제 2 프레임을 상기 콘텐츠 재생 디바이스에 통신하도록 더 구성되는, 콘텐츠 전달 시스템.
  27. 제 26 항에 있어서, 상기 제 1 프레임 및 상기 제 2 프레임은 상이한 시간들에 대응하고;
    상기 제 1 및 제 2 프레임들이 대응하는 환경의 상이한 부분은 상기 상이한 시간들에서 중요하고, 상기 제 1 및 제 2 이미지 맵들은 상기 상이한 시간들 각각에 대해 상기 환경의 중요한 부분에 더 높은 해상도를 제공하기 위해 상이한 해상도 할당들을 제공하는, 콘텐츠 전달 시스템.
  28. 제 26 항에 있어서, 상기 제 1 및 제 2 이미지 맵들은 상이한 수의 픽셀들을 환경의 동일한 부분에 대응하는 영역에 맵핑함으로써, 상기 제 1 및 제 2 이미지 맵들 중 어느 것이 이용되는지에 기초하여 상기 환경의 동일한 부분에 대해 상이한 해상도 할당들을 제공하는, 콘텐츠 전달 시스템.
  29. 제 26 항에 있어서, 상기 콘텐츠 전달 시스템은 이벤트가 진행 중인 동안 실시간 콘텐츠 스트림을 제공하는 서버를 포함하는, 콘텐츠 전달 시스템.
  30. 프로세서 실행 가능 명령들을 포함하는 비일시적 컴퓨터 판독 가능 기록 매체로서,
    상기 명령들은 프로세서에 의해 실행될 때, 콘텐츠 전달 시스템을 제어하여:
    네트워크 인터페이스를 통해, 제 1 프레임의 부분들을 환경 모델의 세그먼트들에 맵핑하는 제 1 이미지 맵을 콘텐츠 재생 디바이스에 통신하고 - 상기 제 1 이미지 맵은 상기 제 1 프레임의 상이한 크기 부분들을 상기 환경 모델의 상이한 세그먼트들에 할당함으로써 상이한 수의 픽셀들을 상기 모델의 상이한 세그먼트들에 할당함 -;
    상기 제 1 이미지 맵을 이용하여 상기 환경 모델에 맵핑될 제 1 이미지의 적어도 일부를 포함하는 상기 제 1 프레임을 상기 콘텐츠 재생 디바이스로 통신하고 - 상기 제 1 프레임은 제 1 시간에 대응함 -;
    상기 네트워크 인터페이스를 통해, 제 2 프레임의 부분들을 상기 환경 모델의 세그먼트들에 맵핑하는 제 2 이미지 맵을 상기 콘텐츠 재생 디바이스에 통신하며, 상기 제 2 이미지 맵은 상기 제 2 프레임의 상이한 크기 부분들을 상기 환경 모델의 상이한 세그먼트들에 할당함으로써 상이한 수의 픽셀들을 상기 환경 모델의 상이한 세그먼트들에 할당하고, 상기 제 2 이미지 맵은 상기 제 1 이미지 맵에 의해 할당되는 것과 상이한 수의 픽셀들을 상기 환경 모델의 제 1 세그먼트에 할당하는, 비일시적 컴퓨터 판독 가능 기록 매체.
  31. 제 30 항에 있어서, 프로세서에 의해 실행될 때, 상기 콘텐츠 전달 시스템을 제어하여:
    상기 제 2 이미지 맵을 이용하여 상기 환경 모델에 맵핑될 제 2 이미지의 적어도 일부를 포함하는 상기 제 2 프레임을 상기 콘텐츠 재생 디바이스에 통신하는 프로세서 실행 가능 명령들을 더 포함하는, 비일시적 컴퓨터 판독 가능 기록 매체.
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
KR1020177026175A 2015-02-17 2016-02-17 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치 KR102493754B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020237002994A KR102533555B1 (ko) 2015-02-17 2016-02-17 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562117427P 2015-02-17 2015-02-17
US62/117,427 2015-02-17
US201562262374P 2015-12-02 2015-12-02
US62/262,374 2015-12-02
US201662296065P 2016-02-16 2016-02-16
US62/296,065 2016-02-16
PCT/US2016/018315 WO2016134048A1 (en) 2015-02-17 2016-02-17 Methods and apparatus for generating and using reduced resolution images and/or communicating such images to a playback or content distribution device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020237002994A Division KR102533555B1 (ko) 2015-02-17 2016-02-17 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치

Publications (2)

Publication Number Publication Date
KR20170120631A KR20170120631A (ko) 2017-10-31
KR102493754B1 true KR102493754B1 (ko) 2023-02-01

Family

ID=56621708

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020237002994A KR102533555B1 (ko) 2015-02-17 2016-02-17 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치
KR1020177026175A KR102493754B1 (ko) 2015-02-17 2016-02-17 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020237002994A KR102533555B1 (ko) 2015-02-17 2016-02-17 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치

Country Status (7)

Country Link
US (11) US9832450B2 (ko)
EP (1) EP3259739A4 (ko)
JP (1) JP2018511971A (ko)
KR (2) KR102533555B1 (ko)
CN (2) CN107615338B (ko)
CA (1) CA2977051C (ko)
WO (1) WO2016134048A1 (ko)

Families Citing this family (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2526674B1 (en) * 2010-01-18 2017-03-15 Telefonaktiebolaget LM Ericsson (publ) Method and arrangement for supporting playout of content
US9973692B2 (en) * 2013-10-03 2018-05-15 Flir Systems, Inc. Situational awareness by compressed display of panoramic views
US20150228106A1 (en) * 2014-02-13 2015-08-13 Vixs Systems Inc. Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
CN106464785A (zh) 2014-05-20 2017-02-22 奈克斯特Vr股份有限公司 包括或用于一个或多个照相机的装置和方法
GB2528446B (en) * 2014-07-21 2021-08-04 Tobii Tech Ab Method and apparatus for detecting and following an eye and/or the gaze direction thereof
KR101946019B1 (ko) * 2014-08-18 2019-04-22 삼성전자주식회사 파노라믹 동영상을 생성하는 동영상 처리 장치 및 그 방법
US10531071B2 (en) 2015-01-21 2020-01-07 Nextvr Inc. Methods and apparatus for environmental measurements and/or stereoscopic image capture
US9832449B2 (en) 2015-01-30 2017-11-28 Nextvr Inc. Methods and apparatus for controlling a viewing position
KR102533555B1 (ko) 2015-02-17 2023-05-18 네버마인드 캐피탈 엘엘씨 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치
US10362290B2 (en) 2015-02-17 2019-07-23 Nextvr Inc. Methods and apparatus for processing content based on viewing information and/or communicating content
US9894350B2 (en) 2015-02-24 2018-02-13 Nextvr Inc. Methods and apparatus related to capturing and/or rendering images
WO2016140986A1 (en) 2015-03-01 2016-09-09 Nextvr Inc. Methods and apparatus for supporting content generation, transmission and/or playback
US20170006219A1 (en) 2015-06-30 2017-01-05 Gopro, Inc. Image stitching in a multi-camera array
US9836845B2 (en) 2015-08-25 2017-12-05 Nextvr Inc. Methods and apparatus for detecting objects in proximity to a viewer and presenting visual representations of objects in a simulated environment
US11217009B2 (en) 2015-11-30 2022-01-04 Photopotech LLC Methods for collecting and processing image information to produce digital assets
US10778877B2 (en) 2015-11-30 2020-09-15 Photopotech LLC Image-capture device
US10706621B2 (en) * 2015-11-30 2020-07-07 Photopotech LLC Systems and methods for processing image information
US10114467B2 (en) 2015-11-30 2018-10-30 Photopotech LLC Systems and methods for processing image information
US10306156B2 (en) 2015-11-30 2019-05-28 Photopotech LLC Image-capture device
US9992502B2 (en) 2016-01-29 2018-06-05 Gopro, Inc. Apparatus and methods for video compression using multi-resolution scalable coding
US10291910B2 (en) 2016-02-12 2019-05-14 Gopro, Inc. Systems and methods for spatially adaptive video encoding
US10484621B2 (en) 2016-02-29 2019-11-19 Gopro, Inc. Systems and methods for compressing video content
US10645362B2 (en) 2016-04-11 2020-05-05 Gopro, Inc. Systems, methods and apparatus for compressing video content
US10887573B1 (en) 2016-05-03 2021-01-05 Erin Sanaa Kenrick System for processing 2D content for 3D viewing
US10404963B1 (en) * 2016-05-03 2019-09-03 David Gerald Kenrick System for processing 2D content for 3D viewing
US11228754B2 (en) * 2016-05-06 2022-01-18 Qualcomm Incorporated Hybrid graphics and pixel domain architecture for 360 degree video
US10163029B2 (en) 2016-05-20 2018-12-25 Gopro, Inc. On-camera image processing based on image luminance data
US10462466B2 (en) 2016-06-20 2019-10-29 Gopro, Inc. Systems and methods for spatially selective video coding
EP3458942B1 (en) * 2016-06-22 2021-06-02 Siemens Aktiengesellschaft Display of three-dimensional model information in virtual reality
US10979607B2 (en) 2016-07-20 2021-04-13 Apple Inc. Camera apparatus and methods
US20180040164A1 (en) * 2016-08-05 2018-02-08 Gopro, Inc. Apparatus and methods for selective coding of images
US10200672B2 (en) 2016-08-17 2019-02-05 Nextvr Inc. Methods and apparatus for capturing images of an environment
JP2019532597A (ja) * 2016-08-30 2019-11-07 ソニック アイピー, インコーポレイテッド 360°ビューコンテンツをエンコードおよび再生するためのシステムおよび方法
CN107844190B (zh) * 2016-09-20 2020-11-06 腾讯科技(深圳)有限公司 基于虚拟现实vr设备的图像展示方法及装置
CN106548446B (zh) * 2016-09-29 2019-08-09 北京奇艺世纪科技有限公司 一种在球面全景图像上贴图的方法及装置
CN115802058B (zh) 2016-10-04 2023-09-15 有限公司B1影像技术研究所 图像编码/解码方法和计算机可读记录介质
US10244215B2 (en) 2016-11-29 2019-03-26 Microsoft Technology Licensing, Llc Re-projecting flat projections of pictures of panoramic video for rendering by application
US10244200B2 (en) 2016-11-29 2019-03-26 Microsoft Technology Licensing, Llc View-dependent operations during playback of panoramic video
US10595069B2 (en) * 2016-12-05 2020-03-17 Adobe Inc. Prioritizing tile-based virtual reality video streaming using adaptive rate allocation
GB2558206A (en) * 2016-12-16 2018-07-11 Nokia Technologies Oy Video streaming
US10242714B2 (en) 2016-12-19 2019-03-26 Microsoft Technology Licensing, Llc Interface for application-specified playback of panoramic video
US10999602B2 (en) 2016-12-23 2021-05-04 Apple Inc. Sphere projected motion estimation/compensation and mode decision
US10198862B2 (en) 2017-01-23 2019-02-05 Gopro, Inc. Methods and apparatus for providing rotated spherical viewpoints
US10691220B2 (en) * 2017-02-14 2020-06-23 Samsung Electronics Co., Ltd. Method for display of information from real world environment on a virtual reality (VR) device and VR device thereof
US11259046B2 (en) 2017-02-15 2022-02-22 Apple Inc. Processing of equirectangular object data to compensate for distortion by spherical projections
US10924747B2 (en) 2017-02-27 2021-02-16 Apple Inc. Video coding techniques for multi-view video
US11252391B2 (en) 2017-03-06 2022-02-15 Nevermind Capital Llc Methods and apparatus for packing images into a frame and/or including additional content or graphics
US10567733B2 (en) 2017-03-06 2020-02-18 Nextvr Inc. Methods and apparatus for communicating and/or using frames including a captured image and/or including additional image content
US10586379B2 (en) 2017-03-08 2020-03-10 Ebay Inc. Integration of 3D models
WO2018180550A1 (ja) * 2017-03-30 2018-10-04 富士フイルム株式会社 画像処理装置及び画像処理方法
US10979663B2 (en) * 2017-03-30 2021-04-13 Yerba Buena Vr, Inc. Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
US10742964B2 (en) 2017-04-04 2020-08-11 Nextvr Inc. Methods and apparatus for displaying images
US10587800B2 (en) 2017-04-10 2020-03-10 Intel Corporation Technology to encode 360 degree video content
US11093752B2 (en) 2017-06-02 2021-08-17 Apple Inc. Object tracking in multi-view video
US9998664B1 (en) 2017-06-20 2018-06-12 Sliver VR Technologies, Inc. Methods and systems for non-concentric spherical projection for multi-resolution view
US10754242B2 (en) 2017-06-30 2020-08-25 Apple Inc. Adaptive resolution and projection format in multi-direction video
US20190005709A1 (en) * 2017-06-30 2019-01-03 Apple Inc. Techniques for Correction of Visual Artifacts in Multi-View Images
EP3649788A4 (en) * 2017-07-07 2020-12-30 Sharp Kabushiki Kaisha SIGNALING SYSTEMS AND METHODS OF A PROJECTED REGION FOR VIRTUAL REALITY APPLICATIONS
CN109803163B (zh) * 2017-11-16 2021-07-09 腾讯科技(深圳)有限公司 图像展示方法及其装置、存储介质
TWI687088B (zh) * 2017-11-16 2020-03-01 宏達國際電子股份有限公司 適應性交錯影像捲繞的方法、系統以及記錄媒體
US11145116B2 (en) 2017-11-21 2021-10-12 Faro Technologies, Inc. System and method of scanning an environment and generating two dimensional images of the environment
US11012676B2 (en) * 2017-12-13 2021-05-18 Google Llc Methods, systems, and media for generating and rendering immersive video content
WO2019117569A1 (en) * 2017-12-14 2019-06-20 Samsung Electronics Co., Ltd. Method and apparatus for managing immersive data
US10878536B1 (en) * 2017-12-29 2020-12-29 Gopro, Inc. Apparatus and methods for non-uniform downsampling of captured panoramic images
US10735709B2 (en) 2018-04-04 2020-08-04 Nextvr Inc. Methods and apparatus for capturing, processing and/or communicating images
US10721510B2 (en) 2018-05-17 2020-07-21 At&T Intellectual Property I, L.P. Directing user focus in 360 video consumption
US10482653B1 (en) 2018-05-22 2019-11-19 At&T Intellectual Property I, L.P. System for active-focus prediction in 360 video
US10666863B2 (en) 2018-05-25 2020-05-26 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using overlapping partitioned sections
US10764494B2 (en) 2018-05-25 2020-09-01 Microsoft Technology Licensing, Llc Adaptive panoramic video streaming using composite pictures
US10827225B2 (en) 2018-06-01 2020-11-03 AT&T Intellectual Propety I, L.P. Navigation for 360-degree video streaming
US11727656B2 (en) 2018-06-12 2023-08-15 Ebay Inc. Reconstruction of 3D model with immersive experience
US10573060B1 (en) * 2018-06-14 2020-02-25 Kilburn Live, Llc Controller binding in virtual domes
US10740957B1 (en) * 2018-06-14 2020-08-11 Kilburn Live, Llc Dynamic split screen
US11108841B2 (en) 2018-06-19 2021-08-31 At&T Intellectual Property I, L.P. Apparatus, storage medium and method for heterogeneous segmentation of video streaming
US20200022632A1 (en) * 2018-07-17 2020-01-23 Limbix Health, Inc. Digital content processing and generation for a virtual environment
US10679668B2 (en) * 2018-08-31 2020-06-09 Gopro, Inc. Systems and methods for editing videos
CN110972203B (zh) * 2018-09-28 2023-09-01 苹果公司 基于无线通信信道带宽条件的电子设备内容提供调节
CN110972202B (zh) 2018-09-28 2023-09-01 苹果公司 基于无线通信信道带宽条件的移动设备内容提供调节
CN110832539A (zh) * 2018-09-29 2020-02-21 深圳市大疆创新科技有限公司 调整图传分辨率的方法、图像拍摄设备、机器可读存储介质
US10778938B2 (en) * 2018-12-20 2020-09-15 Hulu, LLC Video chunk combination optimization
GB2582251B (en) * 2019-01-31 2023-04-19 Wacey Adam Volumetric communication system
CN110290385B (zh) * 2019-06-11 2021-12-14 观博云标(北京)文化科技有限公司 高时空分辨率的天珠视频处理方法及装置
KR20230144093A (ko) * 2019-07-28 2023-10-13 구글 엘엘씨 포비에이티드 메시들로 몰입형 비디오 콘텐츠를 렌더링하기 위한 방법들, 시스템들, 및 매체들
JP7368699B2 (ja) * 2019-08-26 2023-10-25 株式会社リコー 画像処理装置、画像通信システム、画像処理方法、及びプログラム
CN110619669B (zh) * 2019-09-19 2023-03-28 深圳市富视康智能股份有限公司 一种支持多种图形样式的鱼眼图像渲染系统及方法
US11694314B2 (en) 2019-09-25 2023-07-04 The Regents Of The University Of Michigan Digital foveation for machine vision
US11429690B2 (en) 2019-10-10 2022-08-30 Hover, Inc. Interactive path tracing on the web
US20230254559A1 (en) * 2019-10-16 2023-08-10 NejiLaw inc. Image-information-acquistion-type fastening means and monitoring system
US11284141B2 (en) 2019-12-18 2022-03-22 Yerba Buena Vr, Inc. Methods and apparatuses for producing and consuming synchronized, immersive interactive video-centric experiences
US20230050860A1 (en) * 2020-01-02 2023-02-16 Nokia Technologies Oy An apparatus, a method and a computer program for volumetric video
US20230049492A1 (en) * 2020-01-23 2023-02-16 Volvo Truck Corporation A method for adapting to a driver position an image displayed on a monitor in a vehicle cab
US11740465B2 (en) * 2020-03-27 2023-08-29 Apple Inc. Optical systems with authentication and privacy capabilities
CN112218132B (zh) * 2020-09-07 2022-06-10 聚好看科技股份有限公司 一种全景视频图像显示方法及显示设备
US11875462B2 (en) * 2020-11-18 2024-01-16 Adobe Inc. Systems for augmented reality authoring of remote environments
CN114938418A (zh) * 2021-02-04 2022-08-23 佳能株式会社 具有视线检测功能的取景器单元、摄像设备和附接配件
US11978149B2 (en) 2021-06-21 2024-05-07 The Weather Company, Llc UV map using weight painting
US20230055268A1 (en) * 2021-08-18 2023-02-23 Meta Platforms Technologies, Llc Binary-encoded illumination for corneal glint detection
CN113573142B (zh) * 2021-09-22 2021-12-24 北京海誉动想科技股份有限公司 分辨率调整方法与装置
US20230176377A1 (en) 2021-12-06 2023-06-08 Facebook Technologies, Llc Directional illuminator and display apparatus with switchable diffuser
CN115546019B (zh) * 2022-01-10 2023-07-11 荣耀终端有限公司 一种渲染数据的采集方法及电子设备
US20230274578A1 (en) * 2022-02-25 2023-08-31 Eyetech Digital Systems, Inc. Systems and Methods for Hybrid Edge/Cloud Processing of Eye-Tracking Image Data
US11912429B2 (en) * 2022-04-05 2024-02-27 Gulfstream Aerospace Corporation System and methodology to provide an augmented view of an environment below an obstructing structure of an aircraft

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007295559A (ja) 2006-04-06 2007-11-08 British Broadcasting Corp <Bbc> ビデオ処理および表示
US20090256904A1 (en) * 2005-11-09 2009-10-15 Krill Jerry A System and Method for 3-Dimensional Display of Image Data
JP2011061511A (ja) 2009-09-10 2011-03-24 Dainippon Printing Co Ltd 魚眼監視システム

Family Cites Families (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6044168A (en) * 1996-11-25 2000-03-28 Texas Instruments Incorporated Model based faced coding and decoding using feature detection and eigenface coding
US6208347B1 (en) 1997-06-23 2001-03-27 Real-Time Geometry Corporation System and method for computer modeling of 3D objects and 2D images by mesh constructions that incorporate non-spatial data such as color or texture
US6246422B1 (en) * 1998-09-01 2001-06-12 Sun Microsystems, Inc. Efficient method for storing texture maps in multi-bank memory
US6400370B1 (en) * 1999-09-10 2002-06-04 Intel Corporation Stochastic sampling with constant density in object space for anisotropic texture mapping
US6788333B1 (en) * 2000-07-07 2004-09-07 Microsoft Corporation Panoramic video
US6774869B2 (en) * 2000-12-22 2004-08-10 Board Of Trustees Operating Michigan State University Teleportal face-to-face system
US7146036B2 (en) * 2003-02-03 2006-12-05 Hewlett-Packard Development Company, L.P. Multiframe correspondence estimation
US20040249617A1 (en) 2003-06-03 2004-12-09 Pccw-Hkt Datacom Services Limited Selective, pregressive transmission of 3D geometry models with the pre-ordered hierarchical meshes
US8351761B2 (en) * 2003-06-06 2013-01-08 Harris Technology, Llc Commercial skipping standalone device
EP1494175A1 (en) * 2003-07-01 2005-01-05 Koninklijke Philips Electronics N.V. Selection of a mipmap level
DE602005003575T2 (de) * 2004-06-16 2008-10-23 Nxp B.V. Vorwärts-texturabbildungs-3d-graphiksystem
US20080031325A1 (en) * 2006-08-03 2008-02-07 Yingyong Qi Mesh-based video compression with domain transformation
US20080206720A1 (en) 2007-02-28 2008-08-28 Nelson Stephen E Immersive video projection system and associated video image rendering system for a virtual reality simulator
JP4689639B2 (ja) * 2007-04-25 2011-05-25 キヤノン株式会社 画像処理システム
US7701354B2 (en) * 2007-06-28 2010-04-20 Standard Telecommunications Ltd. Portable alarm transmitter for compliance monitoring
NZ582614A (en) * 2007-07-19 2013-02-22 Disney Entpr Inc Rendering surface locations on texture maps with topological adjacency
US7850306B2 (en) * 2008-08-28 2010-12-14 Nokia Corporation Visual cognition aware display and visual data transmission architecture
US8451320B1 (en) 2009-01-23 2013-05-28 Next3D, Inc. Methods and apparatus for stereoscopic video compression, encoding, transmission, decoding and/or decompression
US9648346B2 (en) * 2009-06-25 2017-05-09 Microsoft Technology Licensing, Llc Multi-view video compression and streaming based on viewpoints of remote viewer
US8531473B2 (en) 2009-07-28 2013-09-10 Technion R&D Foundation Ltd. Photogrammetric texture mapping using casual images
US8610757B2 (en) 2009-08-24 2013-12-17 Next3D, Inc. Stereoscopic video encoding and decoding methods and apparatus
US20130278631A1 (en) 2010-02-28 2013-10-24 Osterhout Group, Inc. 3d positioning of augmented reality information
JP5430456B2 (ja) * 2010-03-16 2014-02-26 キヤノン株式会社 幾何特徴抽出装置、幾何特徴抽出方法、及びプログラム、三次元計測装置、物体認識装置
US8405680B1 (en) * 2010-04-19 2013-03-26 YDreams S.A., A Public Limited Liability Company Various methods and apparatuses for achieving augmented reality
US20110280311A1 (en) * 2010-05-13 2011-11-17 Qualcomm Incorporated One-stream coding for asymmetric stereo video
EP2586209A1 (en) * 2010-06-28 2013-05-01 Thomson Licensing Method and apparatus for customizing 3-dimensional effects of stereo content
WO2012015460A1 (en) 2010-07-26 2012-02-02 Thomson Licensing Dynamic adaptation of displayed video quality based on viewers' context
WO2012037157A2 (en) * 2010-09-13 2012-03-22 Alt Software (Us) Llc System and method for displaying data having spatial coordinates
GB2485532A (en) * 2010-11-12 2012-05-23 Sony Corp Three dimensional (3D) image duration-related metadata encoding of apparent minimum observer distances (disparity)
US9241147B2 (en) * 2013-05-01 2016-01-19 Legend3D, Inc. External depth map transformation method for conversion of two-dimensional images to stereoscopic images
CN102971770B (zh) * 2011-03-31 2016-02-10 松下电器产业株式会社 进行全周围立体图像的描绘的图像描绘装置、图像描绘方法
US9485494B1 (en) 2011-04-10 2016-11-01 Nextvr Inc. 3D video encoding and decoding methods and apparatus
US9407902B1 (en) 2011-04-10 2016-08-02 Nextvr Inc. 3D video encoding and decoding methods and apparatus
US9350972B2 (en) * 2011-04-28 2016-05-24 Sony Corporation Encoding device and encoding method, and decoding device and decoding method
US9007430B2 (en) 2011-05-27 2015-04-14 Thomas Seidl System and method for creating a navigable, three-dimensional virtual reality environment having ultra-wide field of view
JPWO2013005736A1 (ja) 2011-07-07 2015-02-23 Necカシオモバイルコミュニケーションズ株式会社 表示装置、表示制御方法、およびプログラム
US20130030074A1 (en) * 2011-07-26 2013-01-31 Basf Se Process for the continuous production of polyetherols
EP2756682A4 (en) * 2011-09-12 2015-08-19 Intel Corp NETWORK CAPTURE AND 3D DISPLAY OF LOCALIZED AND SEGMENTED IMAGES
US20130141526A1 (en) 2011-12-02 2013-06-06 Stealth HD Corp. Apparatus and Method for Video Image Stitching
US9204127B1 (en) 2012-01-17 2015-12-01 Nextvr Inc. Stereoscopic image processing methods and apparatus
WO2014056150A1 (en) * 2012-10-09 2014-04-17 Nokia Corporation Method and apparatus for video coding
ITTO20121073A1 (it) 2012-12-13 2014-06-14 Rai Radiotelevisione Italiana Apparato e metodo per la generazione e la ricostruzione di un flusso video
US9538160B1 (en) 2013-04-11 2017-01-03 Nextvr Inc. Immersive stereoscopic video acquisition, encoding and virtual reality playback methods and apparatus
US9930363B2 (en) * 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding
JP6432029B2 (ja) * 2013-05-26 2018-12-05 ピクセルロット エルティーディー.Pixellot Ltd. 低コストでテレビ番組を制作する方法及びシステム
US9451162B2 (en) 2013-08-21 2016-09-20 Jaunt Inc. Camera array including camera modules
US10067634B2 (en) 2013-09-17 2018-09-04 Amazon Technologies, Inc. Approaches for three-dimensional object display
US20150138314A1 (en) 2013-11-20 2015-05-21 Google Inc. Generating Panoramic Images
KR20150076135A (ko) * 2013-12-26 2015-07-06 삼성전자주식회사 뎁스 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
EP2902973B1 (en) * 2014-02-03 2018-06-27 Thomson Licensing Method and device for processing a geometry image of a 3d scene
JP6382329B2 (ja) * 2014-02-18 2018-08-29 エルジー エレクトロニクス インコーポレイティド パノラマサービスのための放送信号送受信方法及び装置
US9699437B2 (en) 2014-03-03 2017-07-04 Nextvr Inc. Methods and apparatus for streaming content
US10264211B2 (en) 2014-03-14 2019-04-16 Comcast Cable Communications, Llc Adaptive resolution in software applications based on dynamic eye tracking
CN106464785A (zh) 2014-05-20 2017-02-22 奈克斯特Vr股份有限公司 包括或用于一个或多个照相机的装置和方法
US20150346812A1 (en) 2014-05-29 2015-12-03 Nextvr Inc. Methods and apparatus for receiving content and/or playing back content
EP4113991A1 (en) 2014-09-03 2023-01-04 Nevermind Capital LLC Methods and apparatus for capturing, streaming and/or playing back content
US10484697B2 (en) * 2014-09-09 2019-11-19 Qualcomm Incorporated Simultaneous localization and mapping for video coding
GB201419438D0 (en) * 2014-10-31 2014-12-17 Microsoft Corp Modifying video call data
US11218682B2 (en) 2015-01-21 2022-01-04 Nevermind Capital Llc Methods and apparatus for processing and or encoding images with negative parallax
US10531071B2 (en) 2015-01-21 2020-01-07 Nextvr Inc. Methods and apparatus for environmental measurements and/or stereoscopic image capture
US9955147B2 (en) 2015-01-28 2018-04-24 Nextvr Inc. Zoom related methods and apparatus
US9832449B2 (en) 2015-01-30 2017-11-28 Nextvr Inc. Methods and apparatus for controlling a viewing position
JP2018506797A (ja) 2015-02-12 2018-03-08 ネクストブイアール・インコーポレイテッド 環境測定を行うための、及び/又は、このような測定を使用するための方法及び装置
US10362290B2 (en) 2015-02-17 2019-07-23 Nextvr Inc. Methods and apparatus for processing content based on viewing information and/or communicating content
KR102533555B1 (ko) 2015-02-17 2023-05-18 네버마인드 캐피탈 엘엘씨 감축된 해상도 이미지들을 생성 및 이용하고 및/또는 재생 또는 컨텐트 분배 디바이스에 이러한 이미지들을 통신하기 위한 방법들 및 장치
US9894350B2 (en) 2015-02-24 2018-02-13 Nextvr Inc. Methods and apparatus related to capturing and/or rendering images
EP3262614B1 (en) 2015-02-24 2018-12-12 NEXTVR Inc. Calibration for immersive content systems
WO2016140986A1 (en) 2015-03-01 2016-09-09 Nextvr Inc. Methods and apparatus for supporting content generation, transmission and/or playback
CN105141970B (zh) * 2015-07-03 2019-02-12 哈尔滨工业大学深圳研究生院 一种基于三维模型几何信息的纹理图像压缩方法
US9821920B2 (en) 2015-08-18 2017-11-21 Nextvr Inc. Methods and apparatus for compensating for vehicular motion
US9836845B2 (en) 2015-08-25 2017-12-05 Nextvr Inc. Methods and apparatus for detecting objects in proximity to a viewer and presenting visual representations of objects in a simulated environment
US10715788B2 (en) 2016-07-15 2020-07-14 Nextvr Inc. Camera alignment and/or calibration methods and apparatus
US10979607B2 (en) 2016-07-20 2021-04-13 Apple Inc. Camera apparatus and methods
US10200672B2 (en) 2016-08-17 2019-02-05 Nextvr Inc. Methods and apparatus for capturing images of an environment
US20180225537A1 (en) 2017-02-08 2018-08-09 Nextvr Inc. Methods and apparatus relating to camera switching and/or making a decision to switch between cameras
WO2018148467A1 (en) 2017-02-08 2018-08-16 Nextvr Inc. Methods and apparatus for switching between cameras
US11252391B2 (en) 2017-03-06 2022-02-15 Nevermind Capital Llc Methods and apparatus for packing images into a frame and/or including additional content or graphics
US10567733B2 (en) 2017-03-06 2020-02-18 Nextvr Inc. Methods and apparatus for communicating and/or using frames including a captured image and/or including additional image content
US20180280656A1 (en) 2017-03-28 2018-10-04 Nextvr Inc. Virtual reality methods and apparatus which use or include brain activity sensors
US10742964B2 (en) 2017-04-04 2020-08-11 Nextvr Inc. Methods and apparatus for displaying images
US10477186B2 (en) 2018-01-17 2019-11-12 Nextvr Inc. Methods and apparatus for calibrating and/or adjusting the arrangement of cameras in a camera pair

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090256904A1 (en) * 2005-11-09 2009-10-15 Krill Jerry A System and Method for 3-Dimensional Display of Image Data
JP2007295559A (ja) 2006-04-06 2007-11-08 British Broadcasting Corp <Bbc> ビデオ処理および表示
JP2011061511A (ja) 2009-09-10 2011-03-24 Dainippon Printing Co Ltd 魚眼監視システム

Also Published As

Publication number Publication date
US20200186779A1 (en) 2020-06-11
US20160241892A1 (en) 2016-08-18
US20190082161A1 (en) 2019-03-14
CN107615338B (zh) 2023-08-04
US20220210391A1 (en) 2022-06-30
CA2977051A1 (en) 2016-08-25
US20180220121A1 (en) 2018-08-02
US10805593B2 (en) 2020-10-13
US20160241838A1 (en) 2016-08-18
KR20230020574A (ko) 2023-02-10
KR102533555B1 (ko) 2023-05-18
US20190110041A1 (en) 2019-04-11
CA2977051C (en) 2023-02-07
US20160241837A1 (en) 2016-08-18
US9729850B2 (en) 2017-08-08
US10075701B2 (en) 2018-09-11
US20170359564A1 (en) 2017-12-14
US11388384B2 (en) 2022-07-12
US9832450B2 (en) 2017-11-28
KR20170120631A (ko) 2017-10-31
CN116962659A (zh) 2023-10-27
US11381801B2 (en) 2022-07-05
CN107615338A (zh) 2018-01-19
JP2018511971A (ja) 2018-04-26
EP3259739A4 (en) 2018-08-29
US20160241836A1 (en) 2016-08-18
US10027944B2 (en) 2018-07-17
US20210006770A1 (en) 2021-01-07
US10506215B2 (en) 2019-12-10
US11924394B2 (en) 2024-03-05
EP3259739A1 (en) 2017-12-27
WO2016134048A1 (en) 2016-08-25

Similar Documents

Publication Publication Date Title
US11924394B2 (en) Methods and apparatus for receiving and/or using reduced resolution images
US11902493B2 (en) Methods and apparatus for processing content based on viewing information and/or communicating content
US11582384B2 (en) Methods and apparatus for encoding, communicating and/or using images
US11348252B1 (en) Method and apparatus for supporting augmented and/or virtual reality playback using tracked objects
US11688124B2 (en) Methods and apparatus rendering images using point clouds representing one or more objects
WO2018035383A1 (en) Methods and apparatus for processing content based on viewing information and/or communicating content

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right