KR101969943B1 - Method and apparatus for reducing spherical image bandwidth to a user headset - Google Patents
Method and apparatus for reducing spherical image bandwidth to a user headset Download PDFInfo
- Publication number
- KR101969943B1 KR101969943B1 KR1020177027231A KR20177027231A KR101969943B1 KR 101969943 B1 KR101969943 B1 KR 101969943B1 KR 1020177027231 A KR1020177027231 A KR 1020177027231A KR 20177027231 A KR20177027231 A KR 20177027231A KR 101969943 B1 KR101969943 B1 KR 101969943B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- view
- frame
- viewpoint
- representation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000015654 memory Effects 0.000 claims description 64
- 238000013500 data storage Methods 0.000 claims description 52
- 238000013507 mapping Methods 0.000 claims description 5
- 238000003384 imaging method Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 15
- 238000013139 quantization Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 10
- 230000008859 change Effects 0.000 description 10
- 210000003128 head Anatomy 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 230000033001 locomotion Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000036962 time dependent Effects 0.000 description 4
- PEDCQBHIVMGVHV-UHFFFAOYSA-N Glycerine Chemical compound OCC(O)CO PEDCQBHIVMGVHV-UHFFFAOYSA-N 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004091 panning Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000001502 supplementing effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 239000010409 thin film Substances 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/597—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/344—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/115—Selection of the code volume for a coding unit prior to coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/167—Position within a video image, e.g. region of interest [ROI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/194—Transmission of image signals
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
- Processing Or Creating Images (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
방법은 3차원(3D) 영상과 연관된 적어도 하나의 선호 뷰 시점을 결정하는 단계; 제1품질로 적어도 하나의 바람직한 시점 투시도에 대응하는 3D 영상의 제1부분을 인코딩하는 단계; 제2품질로 3D 영상의 제2부분을 인코딩하는 단계를 포함하고, 상기 제1품질은 제2품질과 비교하여 더 높은 품질인 것을 특징으로 한다.The method includes determining at least one preferred view viewpoint associated with a three-dimensional (3D) image; Encoding a first portion of the 3D image corresponding to the at least one preferred view perspective with a first quality; And encoding a second portion of the 3D image with a second quality, wherein the first quality is higher quality than the second quality.
Description
본 출원은 2015년 5월 27일자로 미국 특허 출원된 제62/167,121호의 "사용자 헤드셋으로의 구면 영상 대역폭을 감소시키는 방법 및 장치"의 이익을 주장하며, 이 출원은 그 전체로서 본원에 참조로 통합되어 있다. This application claims the benefit of “Methods and Apparatus for Reducing Spherical Image Bandwidth to a User Headset” of US Patent Application No. 62 / 167,121, filed May 27, 2015, which is incorporated herein by reference in its entirety. It is integrated.
실시예들은 구면 영상 스트리밍에 관한 것이다.Embodiments relate to spherical video streaming.
구면 영상(또는 다른 3차원 영상) 스트리밍은 상당한 양의 시스템 자원을 소비할 수 있다. 예를 들어, 인코딩된 구면 영상은 인코더 및 디코더와 관련된 처리 및 메모리뿐만 아니라 상당량의 대역폭을 소비할 수 있는 많은 수의 전송 비트를 포함할 수 있다.Spherical video (or other three-dimensional video) streaming can consume a significant amount of system resources. For example, an encoded spherical image may include a large number of transmission bits that may consume a significant amount of bandwidth as well as processing and memory associated with the encoder and decoder.
예시적인 실시예들은 영상 스트리밍, 3D 영상 스트리밍 및/또는 구면 영상 스트리밍을 최적화하기 위한 시스템 및 방법을 개시한다. Example embodiments disclose a system and method for optimizing video streaming, 3D video streaming and / or spherical video streaming.
일반적인 양태에서, 방법은 3차원(3D) 영상과 관련된 적어도 하나의 선호 뷰 시점을 결정하는 단계, 제1품질로 적어도 하나의 선호 뷰 시점에 해당하는 3D영상의 제1부분을 인코딩하는 단계, 및 제2품질로 3D영상의 제2부분을 인코딩하는 단계를 포함하고, 상기 제1품질은 제2품질에 비해 더 높은 품질이다.In a general aspect, a method includes determining at least one preferred view viewpoint associated with a three dimensional (3D) image, encoding a first portion of the 3D image corresponding to the at least one preferred view viewpoint with a first quality, and Encoding a second portion of the 3D image with a second quality, wherein the first quality is higher quality than the second quality.
다른 일반적인 양태에서, 서버 및/또는 스트리밍 서버는 3차원(3D) 영상과 연관된 적어도 하나의 선호 뷰 시점을 결정하는 컨트롤러, 및 제1품질로 적어도 하나의 선호 뷰 시점에 해당하는 3D 영상의 제1부분을 인코딩하고, 제2품질로 3D영상의 제2부분을 인코딩하는 인코더를 포함하고, 상기 제1품질은 제2품질과 비교하여 더 높은 품질이다.In another general aspect, a server and / or a streaming server includes a controller that determines at least one preferred view viewpoint associated with a three-dimensional (3D) image, and a first quality of the 3D image corresponding to the at least one preferred view viewpoint with a first quality. And an encoder for encoding the portion and encoding the second portion of the 3D image at a second quality, wherein the first quality is higher quality compared to the second quality.
또 다른 일반적인 양태에서, 방법은 스트리밍 영상을 위한 요청을 수신하는 단계를 포함하며, 상기 요청은 3차원(3D) 영상과 연관된 사용자 뷰 시점의 표시를 포함하고; 사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있는지 결정하는 단계; 사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있다고 결정되면, 사용자 뷰 시점과 연관된 카운터를 증가시키는 단계; 및 사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있지 않다고 결정되면, 사용자 뷰 시점을 뷰 시점 데이터 저장장치에 추가하고 사용자 뷰 시점과 관련된 카운터를 1로 설정하는 단계를 포함한다. In another general aspect, a method includes receiving a request for a streaming video, the request including an indication of a user view viewpoint associated with the three-dimensional (3D) video; Determining whether a user view viewpoint is stored in the view viewpoint data storage; Incrementing a counter associated with the user view viewpoint if it is determined that the user view viewpoint is stored in the view viewpoint data storage; And if it is determined that the user view viewpoint is not stored in the view viewpoint data storage, adding the user view viewpoint to the view viewpoint data storage and setting a counter related to the user view viewpoint to one.
구현들은 다음 기능 중 하나 이상이 포함될 수 있습니다. 예를 들어, 상기 방법(또는 서버상의 구현)은 3D 영상의 제1부분을 데이터 저장장치에 저장하는 단계; 3D 영상의 제2부분을 데이터 저장장치에 저장하는 단계; 스트리밍 영상에 대한 요청을 수신하는 단계; 스트리밍 스트리밍 영상로서 데이터 저장장치로부터의 3D영상의 제1부분 및 3D 영상의 제2부분을 스트리밍하는 단계;를 더 포함할 수 있다. 상기 방법(또는 서버에서의 구현)은 스트리밍 영상을 위한 요청을 수신하는 단계, 상기 요청은 사용자 뷰 시점의 표시를 포함하고; 3D 영상의 인코딩된 제1부분으로서 사용자 뷰 시점에 대응하는 3D 영상을 선택하는 단계; 및 스트리밍 영상으로서 상기 3D 영상의 선택된 제1부분 및 상기 3D 영상의 제2부분을 스트리밍하는 단계를 더 포함할 수 있다. Implementations can include one or more of the following features: For example, the method (or implementation on a server) may comprise storing a first portion of a 3D image in a data storage device; Storing a second portion of the 3D image in a data storage device; Receiving a request for streaming video; Streaming the first portion of the 3D image and the second portion of the 3D image from the data storage device as a streaming streaming image. The method (or implementation at a server) comprises receiving a request for streaming video, the request comprising an indication of a user view point of view; Selecting a 3D image corresponding to the user view viewpoint as the encoded first portion of the 3D image; And streaming the selected first portion of the 3D image and the second portion of the 3D image as a streaming image.
상기 방법(또는 서버에서의 구현)은 스트리밍 영상을 위한 요청을 수신하는 단계, 상기 요청은 3D 영상과 관련된 사용자 뷰 시점의 표시를 포함하고; 사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있는지 결정하는 단계; 사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있다고 결정되면, 사용자 뷰 시점과 관련된 카운터를 증가시키는 단계; 및 사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있지 않다고 결정되면, 사용자 뷰 시점을 뷰 시점 데이터 저장장치에 추가하고 사용자 뷰 시점과 관련된 카운터를 1로 설정하는 단계를 더 포함할 수 있다. 상기 방법(또는 서버에서의 구현)은, 상기 3D 영상의 제2부분을 인코딩하는 단계는 제1패스 인코딩 동작에서 적어도 하나의 제1서비스 품질 QoS 파라미터를 사용하는 단계를 포함하고, 상기 3D 영상의 제1부분을 인코딩하는 단계는 제2패스 인코딩 동작에서 적어도 하나의 제2서비스 품질 QoS 파라미터를 이용하는 단계를 더 포함할 수 있다. The method (or implementation at a server) receives a request for streaming video, the request including an indication of a user view viewpoint associated with the 3D video; Determining whether a user view viewpoint is stored in the view viewpoint data storage; If it is determined that the user view viewpoint is stored in the view viewpoint data storage, incrementing a counter associated with the user view viewpoint; And if it is determined that the user view viewpoint is not stored in the view viewpoint data storage, adding the user view viewpoint to the view viewpoint data storage and setting a counter related to the user view viewpoint to one. The method (or implementation at a server) wherein the encoding of the second portion of the 3D video comprises using at least one first quality of service QoS parameter in a first pass encoding operation. Encoding the first portion may further comprise using at least one second quality of service QoS parameter in a second pass encoding operation.
예를 들어, 3D 영상과 연관된 적어도 하나의 선호 뷰 시점의 결정하는 단계는 이력 시청된 기준점 및 이력 시청된 뷰 시점 중 적어도 하나에 기초한다. 3D 영상과 관련된 적어도 하나의 선호 뷰 시점은 3D 영상의 뷰어의 방향, 3D 영상의 뷰어의 위치, 3D 영상의 뷰어의 포인트 및 초점 3D 영상 뷰어의 결상점 중 적어도 하나에 기초한다. 상기 3D 영상과 관련된 적어도 하나의 선호 뷰 시점의 결정하는 단계는 디폴트 뷰 시점에 기초하고, 상기 디폴트 뷰 시점은 디스플레이 디바이스의 사용자의 특성, 연관된 그룹의 특성 디스플레이 장치의 사용자, 디렉터스 컷 및 3D 영상의 특성에 따라 결정된다. 예를 들어, 상기 방법 (또는 서버상의 구현)은 상기 제1품질의 3D 영상의 제2부분의 적어도 하나의 부분을 반복적으로 인코딩하고, 상기 제2부분의 적어도 하나의 부분을 스트리밍하는 단계를 더 포함 할 수 있다.For example, determining the at least one preferred view viewpoint associated with the 3D image is based on at least one of a historical viewed reference point and a historical viewed view viewpoint. The at least one preferred view viewpoint associated with the 3D image is based on at least one of a direction of the viewer of the 3D image, a position of the viewer of the 3D image, a point of the viewer of the 3D image, and an imaging point of the focus 3D image viewer. Determining at least one preferred view viewpoint associated with the 3D image is based on a default view viewpoint, wherein the default view viewpoint is a characteristic of a user of the display device, a user of the associated display device, a director's cut, and a 3D image. It depends on the property. For example, the method (or implementation on a server) may further include repeatedly encoding at least one portion of the second portion of the first quality 3D image and streaming at least one portion of the second portion. May contain
본 명세서에 개시된 예시적인 실시예들은 영상 스트리밍, 3D 영상 스트리밍 및/또는 구면 영상 스트리밍을 최적화하기 위한 시스템 및 방법을 개시할 수 있다.Exemplary embodiments disclosed herein may disclose a system and method for optimizing video streaming, 3D video streaming, and / or spherical video streaming.
예시적인 실시예들은 이하의 상세한 설명 및 첨부된 도면들로부터 더욱 완전히 이해될 것이며, 동일한 요소들은 동일한 참조 번호들로 표시되며, 단지 예시적인 방식으로 주어지며 따라서 예시적인 실시예를 제한하지 않는다.
도 1A는 적어도 하나의 예시적인 실시예에 따른 구의 2차원(2D) 표현을 도시한다.
도 1B는 2D 직사각형 표현으로서 구의 2D 표현의 미포장 상태의 원통형 표현을 도시한다.
도 2 내지 도 5는 적어도 하나의 예시적인 실시예에 따라 스트리밍 구면 영상을 인코딩하는 방법을 도시한다.
도 6A는 적어도 하나의 예시적인 실시예에 따른 영상 인코더 시스템을 도시한다.
도 6B는 적어도 하나의 예시적인 실시예에 따른 영상 디코더 시스템을 도시한다.
도 7A는 적어도 하나의 예시적인 실시예에 따른 영상 인코더 시스템에 대한 흐름도를 도시한다.
도 7B는 적어도 하나의 예시적인 실시 예에 따른 영상 디코더 시스템에 대한 흐름도를 도시한다.
도 8은 적어도 하나의 예시적인 실시예에 따른 시스템을 도시한다.
도 9는 본 명세서에 기술된 기술을 구현하는데 사용될 수 있는 컴퓨터 장치 및 이동 컴퓨터 장치의 개략적인 블록도이다.
이들 도면은 소정의 예시적인 실시예들에서 이용되는 방법, 구조 및/또는 재료의 일반적인 특성을 설명하고 아래에 제공된 서면 설명을 보충하기 위한 것이다. 그러나, 이들 도면은 임의의 주어진 실시예의 정확한 구조적 또는 성능 특성을 확장하지 않고 정확하게 반영하지 않을 수 있으며, 예시적인 실시예들에 의해 포함되는 값 또는 특성의 범위를 정의 또는 한정하는 것으로 해석되어서는 안된다. 예를 들어, 구조 요소의 상대적 두께 및 위치 설정은 명료함을 위해 감소되거나 과장될 수 있다. 다양한 도면에서 유사하거나 동일한 참조 번호의 사용은 유사사 또는 동일한 요소 또는 특징의 존재를 나타내기 위한 것이다.Exemplary embodiments will be more fully understood from the following detailed description and the accompanying drawings, in which like elements are denoted by like reference numerals and are given only in an illustrative manner and thus do not limit the exemplary embodiment.
1A shows a two-dimensional (2D) representation of a sphere in accordance with at least one exemplary embodiment.
1B shows an unpackaged cylindrical representation of a 2D representation of a sphere as a 2D rectangular representation.
2-5 illustrate a method of encoding a streaming spherical image in accordance with at least one exemplary embodiment.
6A illustrates an image encoder system according to at least one example embodiment.
6B illustrates an image decoder system according to at least one example embodiment.
7A shows a flow diagram for a video encoder system according to at least one example embodiment.
7B is a flowchart of an image decoder system according to at least one exemplary embodiment.
8 illustrates a system according to at least one example embodiment.
9 is a schematic block diagram of a computer device and a mobile computer device that may be used to implement the techniques described herein.
These drawings are intended to explain the general characteristics of the methods, structures and / or materials used in certain exemplary embodiments and to supplement the written description provided below. However, these drawings may not accurately reflect and do not extend the exact structural or performance characteristics of any given embodiment and should not be construed as defining or limiting the range of values or characteristics encompassed by the exemplary embodiments. . For example, the relative thickness and positioning of the structural elements may be reduced or exaggerated for clarity. The use of similar or identical reference numerals in the various figures is intended to indicate the presence of similar or identical elements or features.
예시적인 실시 예는 다양한 수정 및 대안적인 형태를 포함할 수 있지만, 그 실시 예는 도면의 예로서 도시되며 여기에 상세히 설명될 것이다. 그러나, 예시적인 실시 예를 개시된 특정 형태로 한정하려는 의도는 없지만, 반대로, 예시적인 실시 예는 청구 범위의 범주 내에 속하는 모든 변경, 등가물 및 대안을 포함하는 것으로 이해되어야 한다. 동일한 도면 부호는 도면 전체에 걸쳐 동일한 요소를 나타낸다.The example embodiments may include various modifications and alternative forms, but the embodiments are shown by way of example in the drawings and will be described in detail herein. However, although there is no intention to limit the example embodiments to the specific forms disclosed, on the contrary, the example embodiments should be understood to include all modifications, equivalents, and alternatives falling within the scope of the claims. Like reference numerals denote like elements throughout the drawings.
예시적인 실시예는 영상의 스트리밍, 3D영상의 스트리밍, 구면 영상의 일부분을 시청한(영상의 뷰어에 의해) 우선도(예를 들어, 디렉터스 컷, 이력 시청 (historical viewing 등)에 기초하여 구면 영상(및/또는 다른 3차원 영상)의 스트리밍을 최적화하도록 구성된 시스템 및 방법을 개시한다. 예를 들어, 디렉터스 컷은 감독 또는 영상 제작자가 선택한 뷰 시점일 수 있다. 상기 디렉터스 컷은 영상의 감독 또는 제작자가 선택하거나 보았던 카메라(복수의 카메라 중의) 뷰를 기반으로 할 수 있다. Exemplary embodiments include spherical images based on priorities (eg, director's cut, historical viewing, etc.) for viewing video (streaming), streaming 3D video, and viewing a portion of the spherical video (by the viewer of the video). A system and method configured to optimize the streaming of (and / or other three-dimensional images), for example, a director's cut may be a view viewpoint selected by the director or the image producer, wherein the director's cut is the director or producer of the image. Can be based on the camera (of multiple cameras) view you have selected or viewed.
구면 영상, 구면 영상 및/또는 구면 이미지의 프레임은 시점(perspective)을 가질 수 있다. 예를 들어 구면 이미지는 지구본 이미지 일 수 있다. 내부 시점은 바깥을 바라보는 지구의 중심으로부터의 뷰일 수 있다. 또는 내부 시점은 지구상에서 우주를 바라보는 것일 수 있다. 외부 시점은 우주에서 지구를 내려다보는 뷰일 수 있다. 다른 예로서, 시점은 볼 수 있는 이미지의 일부분에 기초할 수 있다. 즉, 가시 시점(viewable perspective)은 뷰어(착용자)가 볼 수 있는 시점일 수 있다. 가시 시점은 뷰어 앞에 있는 구면 이미지의 일부일 수 있다. 예를 들어, 내부 시점에서 볼 때, 뷰어는 지면(예를 들어, 지구)에 누워서 우주를 바라볼 수 있다. 뷰어는 이미지에서 달, 태양 또는 특정 별을 볼 수 있다. 그러나, 뷰어가 누워 있는 지면은 구면 이미지에 포함되어 있지만 현재의 가시 시점 밖에 있다. 이 예에서, 뷰어는 그녀의 머리를 돌릴 수 있고 상기 지면은 주변의 가시 시점에 포함될 것이다. 뷰어는 뒤집을 수 있고 지면은 가시 시점 내에 있게 되지만 달, 태양 또는 별들은 그렇지 않았다.The spherical image, the spherical image and / or the frame of the spherical image may have a perspective. For example, the spherical image may be a globe image. The internal viewpoint may be a view from the center of the earth looking outward. Or the internal view may be a view of the universe on Earth. The outer view can be a view of the earth from space. As another example, the viewpoint may be based on a portion of the image that is visible. That is, the viewable perspective may be a viewpoint that the viewer (wearer) can see. The view point of view may be part of the spherical image in front of the viewer. For example, when viewed from an internal point of view, the viewer may lie on the ground (eg, Earth) to look at the universe. The viewer can see the moon, sun or a specific star in the image. However, the ground on which the viewer lays is included in the spherical image but outside the current viewing point. In this example, the viewer can turn her head and the ground will be included at the point of view of the surroundings. The viewer could flip and the ground would be in view, but the moon, sun or stars would not.
외부 시점으로부터의 가시 시점은 차단되지 않은(예를 들어, 이미지의 다른 부분에 의해) 구면 이미지의 일부분 및/또는 보이지 않게 절곡되지 않은 구면 이미지의 일부분일 수 있다. 구면 이미지의 다른 부분은 구면 이미지의 움직임(예를 들어, 회전) 및/또는 구면 이미지의 이동에 의해 외부 시점으로부터 가시 시점을 가져올 수 있다. 따라서, 가시 시점은 구면 이미지 뷰어의 가시 범위 내에 있는 구면 이미지의 일부분이다.The view point from the external point of view may be a portion of the spherical image that is not blocked (eg, by another portion of the image) and / or a portion of the spherical image that is not invisibly bent. Other portions of the spherical image may result in a visible point of view from an external point of view by movement (eg, rotation) of the spherical image and / or movement of the spherical image. Thus, the view point of view is a portion of the spherical image that is within the visible range of the spherical image viewer.
구면 이미지는 시간에 대해 변하지 않는 이미지이다. 예를 들어, 지구와 관련된 내부 시점으로부터의 구면 이미지는 달과 별을 한 위치에 표시할 수 있다. 반면에 구면 영상(또는 일련의 이미지)은 시간에 따라 변할 수 있다. 예를 들어, 지구와 관련된 내부 시점으로부터의 구면 영상은 움직이는 달과 별(예를 들어, 지구 회전으로 인해) 및/또는 이미지(예를 들어, 하늘)를 가로지르는 비행기 줄무늬를 나타낼 수 있다.Spherical images are images that do not change with time. For example, a spherical image from an internal viewpoint with respect to the earth can display the moon and stars in one location. Spherical images (or series of images), on the other hand, can change over time. For example, spherical images from internal viewpoints associated with the earth can represent plane stripes across moving moons and stars (eg, due to earth rotation) and / or images (eg, the sky).
도 1A는 구의 2차원(2D) 표현이다. 도 1A에 도시된 바와 같이, 구(100)(예를 들어, 구면 이미지 또는 구면 영상의 프레임으로서)는 내부 시점(105, 110), 외부 시점(115) 및 가시 시점(120,125,130)의 방향을 나타낸다. 상기 가시 시점(120)은 내부 시점(105)으로부터 볼 수 있는 것처럼 구(100)의 일부분일 수 있다. 상기 가시 시점(125)은 외부 시점으로부터 볼 수 있는 것처럼 구(100)의 일부분일 수 있다.1A is a two-dimensional (2D) representation of a sphere. As shown in FIG. 1A, the sphere 100 (eg, as a frame of a spherical image or spherical image) represents the directions of the
도 1B는 2D 직사각형 표현으로서 구(100)의 2D 표현인 미포장된 원통형 표현(150)을 도시한다. 미포장된 원통형 표현(150)으로 도시된 이미지의 등각 투영은 점 A와 점 B 사이의 중간선으로부터 수직으로(도 1B에 도시된 바와 같이 위아래로) 진행함에 따라 신장된 이미지로 나타날 수 있다. 상기 2D 직사각형 표현은 N×N 블록의 CxR 행렬로서 분해될 수 있다. 예를 들어, 도 1B에 도시된 바와같이, 미포장된 원통형 표현(150)은 N×N 블록의 30x16 행렬이다. 그러나, 다른 CxR 차원은 본 개시의 범위 내에 있다. 상기 블록들은 2x2, 2x4, 4x4, 4x8, 8x8, 8x16, 16x16 등의 블록(또는 픽셀 블록)일 수 있다.1B shows an unpacked
구면 이미지는 모든 방향으로 연속적인 이미지이다. 따라서, 구면 이미지가 복수의 블록으로 분해된다면, 상기 복수의 블록은 구면 이미지에 걸쳐 연속될 것이다. 즉, 2D이미지에서처럼 모서리나 경계가 없다. 예시적 구현들에서, 인접 말단 블록은 2D 표현의 경계에 인접할 수 있다. 부가적으로, 인접 말단 블록은 2D 표현의 경계에 있는 블록에 연속적인 블록일 수 있다. 예를 들어, 상기 인접 말단 블록은 2차원 표현의 둘 이상의 경계와 관련된다. 다시 말해, 구면 이미지는 모든 방향에서 연속적인 이미지이기 때문에, 인접 말단은 이미지 또는 프레임에서 상부 경계(예를 들어, 블록열의) 및 하부 경계와 연관될 수 있고 및/또는 이미지 또는 프레임에서 좌측 경계(예를들어, 블록행의) 및 우측 경계와 연관될 수 있다. Spherical images are continuous images in all directions. Thus, if the spherical image is decomposed into a plurality of blocks, the plurality of blocks will continue over the spherical image. That is, there are no edges or boundaries as in 2D images. In example implementations, adjacent terminal blocks can be adjacent to the boundary of the 2D representation. In addition, the adjacent end block may be a block contiguous to the block at the boundary of the 2D representation. For example, the adjacent end blocks are associated with two or more boundaries of the two-dimensional representation. In other words, since the spherical image is a continuous image in all directions, the adjacent ends may be associated with the upper boundary (eg, of the row of blocks) and the lower boundary in the image or frame and / or the left boundary (in the image or frame). For example, in a block row) and to the right boundary.
예를 들어, 등각 투영이 사용되면, 인접 말단 블록은 열이나 행의 다른 끝에 있는 블록일 수 있다. 예를 들어, 도 1B에 도시된 바와같이, 블럭(160 및 170)은 서로에 대해 각각의 인접 단부 블록(열을 기준으로)일 수 있다. 게다가, 블록(180 및 185)은 서로에 대해 각각의 인접 단부 블록(열을 기준으로)일 수 있다. 이에 더하여, 블록(165 및 175)은 서로에 대해 각각의 인접 단부 블록(행을 기준으로)일 수 있다. 뷰 시점(192)는 적어도 하나의 블록을 포함(및/또는 중첩)할 수 있다. 블록들은 이미지의 영역, 프레임의 영역, 이미지 또는 프레임의 부분 또는 서브 세트, 블록들의 그룹 등으로서 인코딩될 수 있다. 이하, 이 블록 그룹은 타일 또는 타일 그룹으로 참조될 수 있다. 예를 들어, 타일(190 및 195)들은 도 1B에서 4개 블록의 그룹으로 도시된다. 타일(195)은 뷰 시점(192) 내에 있는 것으로 도시되어 있다.For example, if isometric is used, adjacent end blocks may be blocks at the other end of the column or row. For example, as shown in FIG. 1B, blocks 160 and 170 may be respective adjacent end blocks (relative to columns) relative to one another. In addition, blocks 180 and 185 may be respective adjacent end blocks (based on columns) relative to one another. In addition, blocks 165 and 175 may be respective adjacent end blocks (relative to rows) with respect to each other. The
예시적인 실시예들에서, 인코딩된 구면 영상의 프레임을 스트리밍하는 것에 더하여, 뷰어(적어도 하나의 이력 시청된 기준점 또는 뷰 시점들에서)가 자주 본 적어도 하나의 기준점에 근거하여 선택된 타일(또는 타일 그룹)로서 뷰 시점은 예를 들어, 보다 고품질(예를 들어, 고해상도 및/또는 저왜곡)로 인코딩될 수 있고, 구면 영상의 인코딩된 프레임과 함께(또는 그 일부로서) 스트리밍될 수 있다. 따라서, 재생 중에 뷰어는 전체 구면 영상이 재생되는 동안에 디코딩된(더 높은 품질로) 타일을 볼 수 있고, 뷰어의 뷰 시점이 빈번하게 시청된 뷰 시점으로 변경되는 경우 전체 구면 영상 역시 이용 가능하다. 뷰어는 또한 뷰 위치를 변경하거나 다른 뷰 시점으로 전환할 수 있다. 만약 다른 뷰 시점이 뷰어가 자주 보는 적어도 하나의 기준 포인트에 포함되는 경우, 재생된 영상은 다른 뷰 시점(예를 들어, 뷰어가 자주 보는 적어도 하나의 기준점 중의 하나가 아닌)보다 높은 품질(예를 들어, 더 높은 해상도)일 수 있다. 보다 높은 품질에서 이미지 또는 프레임의 선택 부분 또는 서브세트만을 인코딩 및 스트리밍하는 하나의 이점은, 구면 영상의 선택된 이미지 또는 프레임이 반드시 인코딩, 스트리밍 또는 디코딩 없이 더 높은 품질로 디코딩되고 재생될 수 있다는 이점이 있으며, 보다 높은 품질로 구면 영상 전체를 디코딩함으로써 인코더 및 디코더와 관련된 대역폭 사용 및 처리 및 메모리 자원들의 효율성을 증가시킬 수 있다.In exemplary embodiments, in addition to streaming a frame of encoded spherical image, a tile (or tile group) selected based on at least one reference point that the viewer (at least at one historically watched reference point or view viewpoints) often viewed The view viewpoint can be encoded, for example, at higher quality (eg, high resolution and / or low distortion) and can be streamed with (or as part of) an encoded frame of the spherical image. Thus, during playback, the viewer can see the decoded (higher quality) tiles while the full spherical image is playing, and the full spherical image is also available if the viewer's view point changes to a frequently viewed view point. The viewer can also change the view position or switch to a different view point. If another view point is included in at least one reference point that the viewer frequently sees, the reproduced image is of higher quality (e.g., not one of the at least one reference point that the viewer often sees). For example, higher resolution). One advantage of encoding and streaming only selected portions or subsets of images or frames at higher quality is that the selected images or frames of the spherical image can be decoded and played back at higher quality without necessarily encoding, streaming or decoding. In addition, by decoding the entire spherical image with higher quality, it is possible to increase the efficiency of bandwidth usage and processing and memory resources associated with the encoder and decoder.
헤드 마운트 디스플레이(HMD)에서, 뷰어는 인식된 3차원(3D) 영상을 투영하는 좌측(예를 들어, 좌안) 디스플레이 및 우측 (예를 들어, 우안) 디스플레이의 사용을 통해 시각적 가상 현실을 경험한다. 예시적인 구현들에 따르면, 구면(예를 들어, 3D) 영상 또는 이미지는 서버에 저장된다. 영상 또는 이미지는 인코딩되어 서버로부터 HMD로 스트리밍될 수 있다. 상기 구면 영상 또는 이미지는 좌측 이미지 및 우측 이미지에 대한 메타 데이터와 함께 패키징된(예를 들어, 데이터 패킷 내에) 좌측 이미지 및 우측 이미지로서 인코딩될 수 있다. 이어서 상기 좌측 이미지 및 우측 이미지는 좌측(예를 들어, 좌안) 디스플레이 및 우측(예를 들어, 우안) 디스플레이에 의해 디코딩되고 디스플레이된다.In a head mounted display (HMD), the viewer experiences visual virtual reality through the use of a left (eg, left eye) display and a right (eg, right eye) display that projects a recognized three-dimensional (3D) image. . According to example implementations, spherical (eg, 3D) images or images are stored on a server. The video or image may be encoded and streamed from the server to the HMD. The spherical image or image may be encoded as a left image and a right image packaged with metadata for the left image and the right image (eg, in a data packet). The left image and the right image are then decoded and displayed by the left (eg left eye) display and right (eg right eye) display.
본 명세서에서 설명된 시스템(들) 및 방법(들)은 좌측 이미지 및 우측 이미지 모두에 적용 가능하고, 본 명세서 전반에 걸쳐 이미지, 프레임, 이미지의 일부, 프레임의 일부, 타일 및/또는 기타 등등을 포함할 수 있다. 즉, 서버(예를들어, 스트리밍 서버)에서 사용자 장치(예를들어, HMD)로 전달된 다음 디스플레이를 위해 위해 디코딩된 인코딩된 데이터는 3D영상 또는 이미지와 관련된 왼쪽 이미지 및/또는 오른쪽 이미지일 수 있다. The system (s) and method (s) described herein are applicable to both left and right images and refer to images, frames, portions of images, portions of frames, tiles, and / or the like throughout the specification. It may include. That is, the encoded data that is passed from the server (eg streaming server) to the user device (eg HMD) and then decoded for display may be a left image and / or right image associated with the 3D image or image. have.
도 2 내지 도 5는 예시적인 실시예에 따른 방법의 흐름도이다. 도 2 내지 5에 관련하여 기술된 단계들은, 장치(예를 들어, 후술될 도 6A, 도 6B, 도 7A, 도 7B 및 도 8C에 도시된 바와 같은)와 연관된 메모리(예를 들어, 적어도 하나의 메모리(610))에 저장된 소프트웨어 코드의 실행으로 인해 수행될 수 있고, 상기 장치와 관련된 적어도 하나의 프로세서(예를 들어, 적어도 하나의 프로세서(605))에 의해 실행될 수 있다. 그러나, 특수 목적 프로세서로서 구현된 시스템과 같은 대안적인 실시예가 고려될 수 있다. 후술되는 단계들은 프로세서에 의해 실행되는 것으로 설명되지만, 상기 단계들은 반드시 동일한 프로세서에 의해 실행되는 것은 아니다. 다시 말해서, 적어도 하나의 프로세서는 도 2 내지 도 5와 관련하여 아래에 설명된 단계들을 실행할 수 있다. 2-5 are flowcharts of a method according to an exemplary embodiment. The steps described in connection with FIGS. 2-5 may include, but are not limited to, memory (eg, at least one associated with an apparatus (eg, as shown in FIGS. 6A, 6B, 7A, 7B, and 8C, described below). May be executed due to the execution of software code stored in the
도 2는 이력 뷰 시점을 저장하는 방법을 도시하며, 여기서 이력 (historical)은 사용자들이 이전에 요청했던 뷰 시점을 지칭한다. 예를 들어, 도 2는 구면 영상 스트림에서 일반적으로 시청된 뷰 시점의 데이터베이스 구축을 도시할 수 있다. 도 2에 도시된 바와 같이, 단계 S205에서 뷰 시점의 표시가 수신된다. 예를 들어, 타일은 디코더를 포함하는 장치에 의해 요구될 수 있다. 상기 타일 요청은 구면 영상 상의 뷰어의 방향, 위치, 포인트 또는 초점과 관련된 시점 또는 뷰 시점에 기초한 정보를 포함할 수 있다. 시점 또는 뷰 시점은 사용자 뷰 시점 또는 HMD 사용자의 뷰 시점일 수 있다. 예를 들어, 상기 뷰 시점(예를 들어, 사용자 뷰 시점)은 구면 영상 상의 위도 및 경도 위치 일 수 있다(예를 들어, 내부 시점 또는 외부 시점으로서). 뷰(view), 시점(perspective) 또는 뷰 시점(view perspective)은 구면 영상에 근거하여 큐브의 측면으로 결정될 수 있다. 상기 뷰 시점의 표시는 또한 구면 영상 정보를 포함할 수 있다. 예시적인 구현에서, 뷰 시점의 표시는 뷰 시점과 연관된 프레임(예를 들어, 프레임 시퀀스)에 관한 정보를 포함할 수 있다. 예를 들어, 뷰(예를 들어, 위도 및 경도 위치 또는 측면)는 예를 들어 HTTP (Hypertext Transfer Protocol)를 사용하여 HMD가 포함된 사용자 디바이스로부터 스트리밍 서버로 전송될 수 있다.2 illustrates a method of storing a historical view viewpoint, where the historical refers to a view viewpoint that users have previously requested. For example, FIG. 2 may illustrate building a database of view points of view generally viewed in spherical video streams. As shown in FIG. 2, an indication of the view viewpoint is received in step S205. For example, a tile may be required by an apparatus that includes a decoder. The tile request may include information based on a viewpoint or view viewpoint related to the direction, position, point, or focus of the viewer on the spherical image. The viewpoint or view viewpoint may be a user viewpoint viewpoint or a view viewpoint of the HMD user. For example, the view viewpoint (eg, user view viewpoint) may be a latitude and longitude position on the spherical image (eg, as an internal viewpoint or an external viewpoint). The view, perspective or view perspective may be determined from the side of the cube based on the spherical image. The display of the view viewpoint may also include spherical image information. In an example implementation, the indication of the view viewpoint can include information regarding a frame (eg, a frame sequence) associated with the view viewpoint. For example, the view (eg, latitude and longitude location or side) may be transmitted from the user device with the HMD to the streaming server using, for example, Hypertext Transfer Protocol (HTTP).
단계(S210)에서, 뷰 시점(예를 들어, 사용자 뷰 시점)이 뷰 시점 데이터 저장장치(datastore)에 저장되어 있는지 결정된다. 예를 들어, 데이터 저장장치(예를 들어, 뷰 시점 데이터 저장장치(815))는 뷰 시점 또는 사용자 뷰 시점과 관련된 정보에 기초하여 질의(query)되거나 필터링될 수 있다. 예를 들어, 데이터 저장장치는 뷰 시점이 보여지는 구면 영상 내의 타임 스탬프뿐만 아니라 뷰 시점의 구면 영상 상의 위도와 경도 위치에 기초하여 질의되거나 필터링될 수 있다. 상기 타임 스탬프는 구면 영상의 재생과 관련된 시간 및/또는 시간의 범위일 수 있다. 상기 쿼리 또는 필터는 공간상의 근접성(예를 들어, 현재의 뷰 시점이 주어진 저장 뷰 시점과 얼마나 가까운지) 및/또는 시간적 근접성(예 : 주어진 저장 타임 스탬프와 현재의 타임 스탬프가 얼마나 가까운지)을 기반으로 할 수 있다. 만약 쿼리 또는 필터가 결과를 반환하면 뷰 시점은 데이터 저장장치에 저장된다. 그렇지 않다면 뷰 시점은 데이터 저장장치에 저장되지 않는다. 뷰 시점이 뷰 시점 데이터 저장장치에 저장되면, 처리는 단계(S215)에서 단계(S220)로 계속된다. 그렇지 않으면, 처리는 단계(S225)에서 계속된다.In step S210, it is determined whether a view viewpoint (eg, a user view viewpoint) is stored in the view viewpoint data store. For example, data storage (eg, view viewpoint data storage 815) may be queried or filtered based on information associated with the view viewpoint or the user view viewpoint. For example, the data storage device may be queried or filtered based on the latitude and longitude position on the spherical image of the view viewpoint as well as the time stamp in the spherical image where the view viewpoint is viewed. The time stamp may be a time and / or a range of time associated with playing a spherical image. The query or filter may be used to determine spatial proximity (e.g., how close the current view point is to a given storage view point in time) and / or temporal proximity (e.g., how close the given storage time stamp is to the current time stamp). Can be based If the query or filter returns a result, the view point is stored in the data store. Otherwise, the view point is not stored in the data store. If the view viewpoint is stored in the view viewpoint data storage, processing continues from step S215 to step S220. Otherwise, processing continues at step S225.
단계(S220)에서, 상기 수신된 뷰 시점과 관련된 카운터 또는 순위(ranking) (또는 순위값)가 증가된다. 예를 들어, 데이터 저장장치는 이력 뷰 시점을 포함하는 데이터 테이블(예를 들어, 데이터 저장장치는 복수의 데이터 테이블을 포함하는 데이터베이스 일 수 있음)을 포함할 수 있다. 상기 데이터 테이블은 뷰 시점에 대해 억세스될 수 있다(예를 들어, 각각 고유하게). 상기 데이터 테이블은 뷰 시점의 식별 정보, 뷰 시점과 관련된 정보 및 뷰 시점이 요청된 횟수를 나타내는 카운터를 포함할 수 있다. 상기 카운터는 뷰 시점이 요청될 때마다 증가될 수 있다. 상기 데이터 테이블에 저장된 데이터는 익명으로 처리될 수 있다. 즉, 사용자, 장치, 세션 등에 대한 참조(또는 식별)가 없도록 데이터가 저장될 수 있다. 따라서, 데이터 테이블에 저장된 데이터는 영상의 사용자 또는 뷰어에 기초하여 구별할 수 없다. 예시적인 구현, 데이터 테이블에 저장된 데이터는 사용자를 식별하지 않고 사용자에 기초하여 분류될 수 있다. 예를 들어, 데이터는 사용자 및/또는 기타의 연령, 연령 범위, 성별, 유형 또는 역할(예를 들어, 음악가 또는 군중)을 포함할 수 있다.In step S220, a counter or ranking (or rank value) associated with the received view viewpoint is incremented. For example, the data storage device may include a data table including a history view viewpoint (eg, the data storage device may be a database including a plurality of data tables). The data table can be accessed (eg, each uniquely) for the view point of view. The data table may include identification information of the view viewpoint, information related to the view viewpoint, and a counter indicating the number of times the view viewpoint is requested. The counter may be incremented each time a view point is requested. Data stored in the data table may be anonymously processed. That is, data may be stored such that there is no reference (or identification) to a user, device, session, or the like. Therefore, data stored in the data table cannot be distinguished based on the user or viewer of the image. In an example implementation, data stored in a data table may be classified based on the user without identifying the user. For example, the data may include a user and / or other age, age range, gender, type or role (eg musician or crowd).
단계(S225)에서, 뷰 시점은 뷰 시점 데이터 저장장치에 추가된다. 예를 들어, 뷰 시점의 식별, 뷰 시점과 관련된 정보 및 1로 설정된 카운터(또는 순위값)는 뷰 시점 이력을 포함하는 데이터 테이블에 저장될 수 있다.In step S225, the view viewpoint is added to the view viewpoint data storage. For example, identification of the view viewpoint, information related to the view viewpoint, and a counter (or rank value) set to 1 may be stored in a data table including the view viewpoint history.
예시적인 실시예에서, 적어도 하나의 선호 뷰 시점과 연관된 타일은 보다 높은 QoS로 인코딩될 수 있다. 상기 QoS는 위에서 논의된 품질의 구현(예를 들어, 품질을 정의하는 인코더 변수 입력)일 수 있다. 예를 들어, 인코더(예를들어, 영상 인코더(625))는 3D영상과 관련된 타일을 개별적으로 인코딩할 수 있다. 적어도 하나의 선호 뷰 시점과 연관된 타일은 3D영상의 나머지 부분과 연관된 타일보다 높은 QoS로 인코딩될 수 있다. 예시적인 구현에서, 상기 3D영상은 제1QoS 파라미터(들) (예를 들어, 제1패스에서) 또는 제1인코딩 패스에서 사용된 적어도 하나의 제1QoS 파라미터를 사용하여 인코딩될 수 있다. 게다가, 인코딩될 수 있는 적어도 하나의 선호 뷰 시점과 관련된 타일은 제2QoS 파라미터(들)(예를 들어, 제2패스에서) 또는 제2 인코딩 패스에서 사용된 적어도 하나의 제2QoS 파라미터를 사용하여 인코딩될 수 있다. 이 예시적 구현에서, 상기 제2QoS는 제1QoS보다 높은 QoS이다. 다른 예시적 구현에서, 상기 3D 영상은 3D영상을 나타내는 복수의 타일로서 인코딩될 수 있다. 상기 적어도 하나의 선호 뷰 시점과 연관된 타일들은 제2QoS 파라미터(들)를 사용하여 인코딩될 수 있다. 나머지 타일들은 제1QoS 파라미터(들)를 사용하여 인코딩될 수 있다.In an example embodiment, tiles associated with at least one preferred view viewpoint may be encoded with higher QoS. The QoS may be an implementation of the quality discussed above (eg, an encoder variable input defining the quality). For example, an encoder (eg, image encoder 625) may individually encode tiles associated with the 3D image. Tiles associated with at least one preferred view viewpoint may be encoded with a higher QoS than tiles associated with the rest of the 3D image. In an example implementation, the 3D image may be encoded using a first QoS parameter (s) (eg, in the first pass) or at least one first QoS parameter used in the first encoding pass. In addition, the tile associated with the at least one preferred view viewpoint that can be encoded is encoded using the second QoS parameter (s) (eg, in the second pass) or at least one second QoS parameter used in the second encoding pass. Can be. In this example implementation, the second QoS is higher QoS than the first QoS. In another example implementation, the 3D image may be encoded as a plurality of tiles representing the 3D image. Tiles associated with the at least one preferred view viewpoint may be encoded using the second QoS parameter (s). The remaining tiles may be encoded using the first QoS parameter (s).
다른 대안적 구현(및/또는 추가 구현)에서, 상기 인코더는 3D 영상 프레임의 나머지의 2D 표현을 생성하는데 사용된 것과 다른 투영 기술 또는 알고리즘을 사용하여 상기 적어도 하나의 선호 뷰 시점과 연관된 타일을 투영할 수 있다. 일부 투영에는 프레임의 특정 영역에 왜곡이 생길 수 있다. 따라서, 구면 프레임과 다른 방식으로 타일을 투영하는 것은 최종 이미지의 품질을 향상시킬 수 있고 및/또는 보다 효율적으로 픽셀을 사용할 수 있다(예를 들어, 컴퓨터 계산을 줄이거나 사용자 눈에 적은 부담을 줌). 하나의 예시적 구현에서, 구면 이미지는 투영 알고리즘에 기초하여 최소로 왜곡된 위치로 타일을 향하게 하기 위해 타일을 순서대로 투영하기 전에 회전될 수 있다. 다른 예시적 구현에서, 타일은 타일의 위치에 기초한 투영 알고리즘을 사용할 수 있다(및/또는 수정한다). 예를 들어, 구면 영상 프레임을 2D 표현으로 투영하는 것은 등각 투영을 사용할 수 있는 반면, 구면 영상 프레임을 타일로 선택될 부분을 포함하는 표현으로 투영하는 것은 큐빅 투영을 사용할 수 있다.In another alternative implementation (and / or further implementation), the encoder projects a tile associated with the at least one preferred view viewpoint using a projection technique or algorithm other than that used to generate the 2D representation of the rest of the 3D image frame. can do. Some projections may introduce distortion in certain areas of the frame. Thus, projecting tiles differently from spherical frames can improve the quality of the final image and / or use pixels more efficiently (e.g., reduce computer computation or place less strain on the user's eyes). ). In one example implementation, the spherical image can be rotated before projecting the tiles in order to direct the tiles to the least distorted position based on the projection algorithm. In another example implementation, a tile may use (and / or modify) a projection algorithm based on the tile's position. For example, projecting a spherical image frame into a 2D representation may use isometric projection, while projecting a spherical image frame into a representation comprising a portion to be selected as a tile may use cubic projection.
도 3은 3D 영상을 스트리밍하는 방법을 도시한다. 도 3은 스트리밍 3D 영상이 라이브(live) 스트리밍 이벤트 동안 요구에 따라 인코딩되는 시나리오를 기술한다. 도 3에 도시된 바와 같이, 단계(S305)에서 3D영상을 스트리밍 하기 위한 요청이 수신된다. 예를 들어, 디코더(예를들어, 미디어 애플리케이션과의 사용자 상호 작용을 통해)를 포함하는 장치에 의해 스트림 가능한 3D 영상, 3D 영상 일부 또는 타일의 일부가 요청될 수 있다. 상기 요청은 구면 영상 위의 뷰어의 방향, 위치, 포인트 또는 결상점(focal point)과 관련된 시점 또는 뷰 시점에 기초한 정보를 포함할 수 있다. 시점 또는 뷰 시점에 기초한 정보는 현재의 방향 또는 디폴트(예를 들어, 초기화) 방향에 기초할 수 있다. 디폴트 방향은 예를 들어 3D 영상에 대한 디텍터스 컷일 수 있다.3 illustrates a method of streaming 3D video. 3 describes a scenario in which streaming 3D video is encoded on demand during a live streaming event. As shown in FIG. 3, in step S305, a request for streaming a 3D image is received. For example, a streamable 3D image, part of 3D image, or part of a tile may be requested by a device that includes a decoder (eg, through user interaction with a media application). The request may include information based on a viewpoint or view viewpoint associated with the viewer's direction, position, point or focal point on the spherical image. Information based on the viewpoint or view viewpoint may be based on the current direction or the default (eg, initialization) direction. The default direction may be, for example, a detector cut for the 3D image.
단계(S310)에서, 적어도 하나의 선호 뷰 시점이 결정된다. 예를 들어, 데이터 저장장치(예를 들어, 뷰 시점 데이터 저장장치(815))는 뷰 시점과 관련된 정보에 기초하여 질의되거나 필터링될 수 있다. 상기 데이터 저장장치는 뷰 시점의 구면 영상 상의 위도 및 경도 위치를 기반으로 질의되거나 필터링될 수 있다. 예시적인 구현에서 적어도 하나의 선호 뷰 시점은 뷰 시점 이력을 기초할 수 있다. 따라서, 상기 데이터 저장장치는 뷰 시점 내역을 포함하는 데이터 테이블이 포함할 수 있다. 선호도는 요청된 뷰 시점의 횟수로 나타낼 수 있다. 따라서, 상기 질의 또는 필터는 임계값 카운터 값 이하로 결과를 필터링하는 것을 포함할 수 있다. 즉, 이력 뷰 시점을 포함하는 데이터 테이블의 질의를 위해 설정된 파라미터는 질의 결과가 카운터의 임계값 이상이어야 하는 카운터 또는 순위에 대한 값을 포함할 수 있다. 상기 이력 뷰 시점을 포함하는 데이터 테이블의 질의 결과는 적어도 하나의 선호 뷰 시점으로서 설정될 수 있다.In step S310, at least one preferred view viewpoint is determined. For example, data storage (eg, view viewpoint data storage 815) may be queried or filtered based on information associated with the view viewpoint. The data storage device may be queried or filtered based on the latitude and longitude positions on the spherical image of the view point of view. In an example implementation at least one preferred view viewpoint may be based on the view viewpoint history. Therefore, the data storage device may include a data table including view viewpoint details. The preference may be represented by the number of requested view viewpoints. Thus, the query or filter may include filtering the results below a threshold counter value. That is, the parameter set for the query of the data table including the history view viewpoint may include a value for the counter or rank that the query result should be equal to or greater than the threshold of the counter. The query result of the data table including the history view viewpoint may be set as at least one preferred view viewpoint.
또한, 디폴트의 선호 뷰 시점(또는 뷰 시점들)은 3D 영상과 연관될 수 있다. 상기 디폴트 선호 뷰 시점은 디렉터스 컷, 관심 지점(예를 들어, 수평선, 이동 객체, 우선 순위 객체) 및/또는 유사물일 수 있다. 예를 들어, 게임의 목적은 객체 (예를 들어, 건물 또는 차량)를 파괴하는 것일 수 있다. 이 객체는 우선 순위 객체로 인식(labled)될 수 있다. 우선 순위 객체를 포함하는 뷰 시점은 선호 뷰 시점으로 표시될 수 있다. 상기 디폴트 선호 뷰 시점은 이력 뷰 시점 또는 이력 뷰 시점의 대안에 부가적으로 포함될 수 있다. 디폴트 방향은, 예를 들어, 자동화된 컴퓨터 비전 알고리즘에 기초하여, 예를들어, 선호 뷰 시점의 초기 세트(예를 들어, 영상이 처음 업로드될 때 이력 데이터의 부족을 위한)일 수 있다. 비전 알고리즘은 다른 이력 영상의 선호 뷰에 존재했던 관심사 및/또는 특징이 무엇인지 추론하기 위하여 움직임 또는 복잡한 세부사항(detail)을 갖는 영상의 선호 뷰 시점 부분 또는 스테레오내의 인근 객체를 결정할 수 있다. In addition, the default preferred view viewpoint (or view viewpoints) may be associated with the 3D image. The default preference view viewpoint may be a director cut, a point of interest (eg, a horizontal line, a moving object, a priority object), and / or the like. For example, the purpose of the game may be to destroy an object (eg, a building or a vehicle). This object may be labled as a priority object. The view viewpoint including the priority object may be displayed as the preferred view viewpoint. The default preference view viewpoint may additionally be included in the history view viewpoint or an alternative to the history view viewpoint. The default direction may be, for example, an initial set of preferred view viewpoints (eg, for lack of historical data when the image is first uploaded) based on an automated computer vision algorithm. The vision algorithm may determine a preferred view viewpoint portion of the image with motion or complex details or a nearby object in stereo to infer what interests and / or features were present in the preferred view of the other historical image.
적어도 하나의 선호 뷰 시점을 결정할 때 다른 인자들이 사용될 수 있다. 예를 들어, 상기 적어도 하나의 선호 뷰 시점은 현재 뷰 시점의 범위 내(예를 들어, 근접한)에 있는 이력 뷰 시점일 수 있다. 예를 들어, 적어도 하나의 선호 뷰 시점은 현재 사용자가 속하는 현재 사용자 또는 현재 사용자가 속하는 그룹 (유형 또는 카테고리)의 이력 뷰 시점의 범위(예를 들어, 근접한)내에 있는 이력 뷰 시점일 수 있다. 즉, 적어도 하나의 선호 뷰 시점은 저장된 이력 뷰 시점에 거리상 가까운 및/또는 시간상으로 가까운 뷰 시점들(또는 타일들)을 포함할 수 있다. 디폴트 선호 뷰 시점(들)은 이력 뷰 시점을 포함하는 데이터 저장장치(815)에 저장되거나 도시되지 않은 별도의(예를 들어, 추가의) 데이터 저장장치에 저장될 수 있다.Other factors may be used when determining at least one preferred view viewpoint. For example, the at least one preferred view viewpoint may be a historical view viewpoint within (eg, close to) a range of the current view viewpoint. For example, the at least one preference view viewpoint may be a history view viewpoint that is within the range (eg, proximate) of the history view viewpoint of the current user to which the current user belongs or the group (type or category) to which the current user belongs. That is, the at least one preferred view viewpoint may include view viewpoints (or tiles) that are close in distance and / or close in time to the stored historical view viewpoint. The default preferred view viewpoint (s) may be stored in the
단계(S315)에서, 3D 영상은 적어도 하나의 선호 뷰 시점에 기초하여 적어도 하나의 인코딩 파라미터로 인코딩된다. 예를 들어, 상기 3D 영상(또는 그 일부)은 적어도 하나의 선호 뷰 시점을 포함하는 부분들이 3D 영상의 나머지 부분과 다르게 인코딩되도록 인코딩될 수 있다. 이와 같이, 적어도 하나의 선호 뷰 시점을 포함하는 부분들은 3D 영상의 나머지 부분보다 더 높은 QoS로 인코딩될 수 있다. 결과적으로, HMD 상에 렌더링될 때, 적어도 하나의 선호 뷰 시점을 포함하는 부분들은 3D 영상의 나머지 부분보다 더 높은 해상도를 가질 수 있다.In step S315, the 3D image is encoded with at least one encoding parameter based on at least one preferred view viewpoint. For example, the 3D image (or part thereof) may be encoded such that portions including at least one preferred view viewpoint are encoded differently from the rest of the 3D image. As such, the portions including at least one preferred view viewpoint may be encoded with higher QoS than the rest of the 3D image. As a result, when rendered on the HMD, the portions including at least one preferred view viewpoint may have a higher resolution than the rest of the 3D image.
단계(S320)에서, 인코딩된 3D 영상은 스트리밍된다. 예를 들어, 타일들은 전송을 위해 패킷에 포함될 수 있다. 상기 패킷은 압축 영상 비트(10A)를 포함할 수 있다. 상기 패킷은 구면 영상 프레임 및 인코딩된 타일(또는 복수의 타일)의 인코딩된 2D 표현을 포함할 수 있다. 상기 패킷은 전송을 위해 헤더를 포함할 수 있다. 상기 헤더는 다른 것들 중에서, 인코더에 의한 인트라(intra)-프레임 코딩시 사용되는 모드 또는 기법을 나타내는 정보를 포함할 수 있다. 상기 헤더는 구면 영상 프레임의 프레임을 2D 직사각형 표현으로 변환할 때 사용된 파라미터들을 나타내는 정보를 포함할 수 있다. 상기 헤더는 상기 인코딩된 2D 직사각형 표현 및 상기 인코딩된 타일의 QoS를 달성하는데 사용된 파라미터들을 나타내는 정보를 포함할 수 있다. 전술한 바와 같이, 적어도 하나의 선호 뷰 시점과 연관된 타일들의 QoS는 적어도 하나의 선호 뷰 시점과 관련되지 않은 타일들과는 상이(예를들어, 더 높을)할 수 있다.In step S320, the encoded 3D video is streamed. For example, tiles can be included in a packet for transmission. The packet may include a
3D 영상 스트리밍은 우선 순위 단계들을 사용하여 구현될 수 있다. 예를 들어, 제1우선 순위 단계에서 낮은(또는 최소 표준) QoS 인코딩된 영상 데이터가 스트리밍될 수 있다. 이는 HMD의 사용자가 가상 현실 체험을 시작할 수 있게 한다. 이어서, 보다 높은 QoS영상이 HMD로 스트리밍되어 이전의 스트리밍된 로우(또는 최소 표준) QoS 인코딩된 영상 데이터를 대체할 수 있다(예를 들어, 버퍼 (830)에 저장된 데이터). 일 예로, 제2단계에서, 현재의 뷰 시점에 기초하여 보다 고품질의 영상 또는 이미지 데이터가 스트리밍될 수 있다. 후속 단계에서, 보다 높은 QoS 영상 또는 이미지 데이터는 하나 이상의 선호 뷰 시점에 기초하여 스트리밍될 수 있다. 이것은 HMD 버퍼가 실질적으로 높은 QoS 영상 또는 이미지 데이터만을 포함할 때까지 계속 될 수 있다. 게다가, 이러한 단계적 스트리밍은 점진적으로 높은 QoS 영상 또는 이미지 데이터로 계속하여 순환시킬 수 있다. 즉, 첫 번째 반복 후 HMD는 제1QoS에서 인코딩된 영상 또는 이미지 데이터를 포함하고, 두 번째 반복 후 HMD는 제2QoS에서 인코딩된 영상 또는 이미지 데이터를 포함하며, 세 번째 반복 후 HMD는 제3QoS에서 인코딩된 영상 또는 이미지 데이터를 포함한다. 예시적 구현에서, 상기 제2QoS는 제1QoS보다 높고, 상기 제3QoS는 제2QoS보다 높다.3D video streaming can be implemented using priority steps. For example, low (or minimum standard) QoS encoded video data may be streamed in the first priority step. This allows the user of the HMD to start a virtual reality experience. Higher QoS video can then be streamed to the HMD to replace the previously streamed low (or minimum standard) QoS encoded video data (eg, data stored in buffer 830). For example, in the second step, higher quality image or image data may be streamed based on the current view viewpoint. In subsequent steps, higher QoS image or image data may be streamed based on one or more preferred view viewpoints. This may continue until the HMD buffer contains only substantially high QoS video or image data. In addition, this staged streaming can continue to cycle with progressively higher QoS video or image data. That is, after the first iteration, the HMD includes video or image data encoded in the first QoS, after the second iteration, the HMD includes video or image data encoded in the second QoS, and after the third iteration, the HMD is encoded in the third QoS. Included image or image data. In an exemplary implementation, the second QoS is higher than the first QoS and the third QoS is higher than the second QoS.
인코더(625)는 구면 영상을 스트리밍에 이용할 수 있게 하는 설정 절차의 일부로서 오프-라인으로 동작할 수 있다. 복수의 타일 각각은 뷰 프레임 저장 장치 (795)에 저장될 수 있다. 복수의 타일 각각은 다수의 타일 각각이 프레임(예를들어, 시간 의존성)에 대한 참조(예를 들어, 시간 의존성) 및 시야(예를들어, 뷰 의존성)와 함께 저장될 수 있도록 색인된다. 따라서, 복수의 타일 각각은 시간 및 뷰, 시점 또는 뷰 시점에 의존하고 시간 및 뷰 의존성에 기초하여 불러올 수 있다.The
이와 같이, 예시적인 구현에서, 상기 인코더(625)는 프레임이 선택되어 상기 프레임의 일부분이 뷰 시점에 기초하여 타일로서 선택되는 루프를 실행하도록 구성될 수 있다. 그런 다음 타일이 인코딩되어 저장된다. 상기 루프는 계속해서 복수의 뷰 시점을 순환한다. 원하는 수의 뷰 시점, 예를 들어, 구면 이미지의 수직으로 5도마다 및 수평으로 5도마다, 타일로서 저장될 때 새로운 프레임이 선택되며, 상기 프로세스는 구면 영상의 모드 프레임이 원하는 수의 타일을 가질 때까지 반복된다. 예시적 구현에서, 적어도 하나의 선호 뷰 시점과 연관된 타일은 적어도 하나의 선호 뷰 시점과 연관된 타일이 아닌 타일보다 높은 QoS로 인코딩될 수 있다. 그러나, 이는 타일을 인코딩하고 저장하는 하나의 예시적 구현에 불과하다.As such, in an example implementation, the
도 4는 인코딩된 3D 영상을 저장하는 방법을 나타낸다. 도 4는 스트리밍 3D 영상이 차후의 스트리밍을 위해 미리 인코딩되어 저장되는 시나리오를 기술한다. 도 4에 도시된 바와같이, 단계(S405)에서, 3D영상을 위한 적어도 하나의 선호 뷰 시점이 결정된다. 예를 들어, 데이터 저장장치(예를 들어, 뷰 시점 데이터 저장장치(815))는 뷰 시점과 관련된 정보에 기초하여 질의되거나 필터링될 수 있다. 데이터 저장장치는 뷰 시점의 구면 영상 상의 위도 및 경도 위치에 기초하여 질의되거나 필터링될 수 있다. 예시적인 구현에서 상기 적어도 하나의 선호 뷰 시점은 이력 뷰 시점에 기초할 수 있다. 이와 같이, 데이터 테이블은 이력 뷰 시점들을 포함할 수 있다. 선호도는 얼마나 자주 뷰 시점이 요청되었는지를 나타낼 수 있다. 따라서, 상기 질의 또는 필터는 임계값 카운터 값 이하로 결과를 필터링하는 것을 포함할 수 있다. 즉, 이력 뷰 시점을 포함하는 데이터 테이블의 질의를 위해 설정된 파라미터들은 질의 결과가 카운터의 임계값 이상이어야 하는 카운터 값을 포함할 수 있다. 상기 이력 뷰 시점을 포함하는 데이터 테이블의 질의 결과는 적어도 하나의 선호 뷰 시점으로서 설정될 수 있다. 4 shows a method of storing an encoded 3D image. 4 illustrates a scenario in which streaming 3D video is pre-encoded and stored for later streaming. As shown in FIG. 4, at step S405, at least one preferred view viewpoint for the 3D image is determined. For example, data storage (eg, view viewpoint data storage 815) may be queried or filtered based on information associated with the view viewpoint. The data storage device may be queried or filtered based on the latitude and longitude locations on the spherical image at the view point of view. In at least one example implementation, the at least one preferred view viewpoint may be based on a history view viewpoint. As such, the data table may include historical view viewpoints. The preference may indicate how often the view point was requested. Thus, the query or filter may include filtering the results below a threshold counter value. That is, the parameters set for the query of the data table including the history view viewpoint may include a counter value for which the query result should be greater than or equal to the threshold of the counter. The query result of the data table including the history view viewpoint may be set as at least one preferred view viewpoint.
또한, 디폴트의 선호 뷰 시점(또는 뷰 시점)은 3D영상과 연관될 수 있다. 디폴트 선호 뷰 시점은 디렉터스 컷, 관심 지점(예를 들어, 수평선, 움직이는 객체, 우선 순위 객체) 및/또는 유사물일 수 있다. Also, the default preferred view viewpoint (or view viewpoint) may be associated with the 3D image. Default preference view viewpoints may be director cuts, points of interest (eg, horizontal lines, moving objects, priority objects), and / or the like.
예를 들어, 게임의 목적은 객체 (예를 들어, 건물 또는 차량)를 파괴하는 것일 수 있다. 이 객체는 우선 순위 객체로 인식(labled)될 수 있다. 우선 순위 객체를 포함하는 뷰 시점은 선호 뷰 시점으로 표시될 수 있다. 디폴트 선호 뷰 시점은 이력 뷰 시점 또는 이력 뷰 시점의 대안에 부가적으로 포함될 수 있다. 적어도 하나의 선호 뷰 시점을 결정할 때 다른 인자들이 사용될 수 있다. 예를 들어, 적어도 하나의 선호 뷰 시점은 현재 뷰 시점의 범위 내(예를 들어, 근접한)에 있는 이력 뷰 시점일 수 있다. 예를 들어, 적어도 하나의 선호 뷰 시점은 현재의 사용자 또는 현재의 사용자가 속하는 그룹(유형 또는 카테고리)의 이력 뷰 시점의 범위(예를 들어, 근접한)내에 있는 이력 뷰 시점일 수 있다. 상기 디폴트 선호 뷰 시점(들)은 이력 뷰 시점을 포함하는 데이터 테이블 또는 별도의(예를 들어, 추가의) 데이터 테이블에 저장될 수 있다.For example, the purpose of the game may be to destroy an object (eg, a building or a vehicle). This object may be labled as a priority object. The view viewpoint including the priority object may be displayed as the preferred view viewpoint. The default preference view viewpoint may additionally be included in the history view viewpoint or an alternative to the history view viewpoint. Other factors may be used when determining at least one preferred view viewpoint. For example, the at least one preferred view viewpoint can be a historical view viewpoint that is within (eg, proximate) the range of the current view viewpoint. For example, the at least one preferred view viewpoint may be a history view viewpoint that is within (eg, close to) a history view viewpoint of the current user or a group (type or category) to which the current user belongs. The default preference view viewpoint (s) may be stored in a data table that includes a historical view viewpoint or in a separate (eg, additional) data table.
단계(S410)에서, 3D 영상은 적어도 하나의 선호 뷰 시점에 기초하여 적어도 하나의 인코딩 파라미터로 인코딩된다. 예를 들어, 3D 영상의 프레임이 선택될 수 있고 상기 프레임의 일부가 뷰 시점에 기초하여 타일로서 선택될 수 있다. 그런 다음 타일이 인코딩된다. 일 실시예에서, 적어도 하나의 선호 뷰 시점과 연관된 타일들은 보다 높은 QoS로 인코딩될 수 있다. 적어도 하나의 선호 뷰 시점과 연관된 타일들은 나머지 3D 영상과 연관된 타일들보다 높은 QoS로 인코딩될 수 있다.In step S410, the 3D image is encoded with at least one encoding parameter based on at least one preferred view viewpoint. For example, a frame of the 3D image may be selected and a portion of the frame may be selected as a tile based on the view viewpoint. The tile is then encoded. In one embodiment, tiles associated with at least one preferred view viewpoint may be encoded with higher QoS. Tiles associated with at least one preferred view viewpoint may be encoded with higher QoS than tiles associated with the remaining 3D image.
대안적인 구현(및/또는 추가 구현)에서, 상기 인코더는 3D영상 프레임의 나머지의 2D 표현을 생성할 때 사용된 것과 다른 투영 기법 또는 알고리즘을 사용하여 적어도 하나의 선호 뷰 시점과 연관된 타일을 투영할 수 있다. 일부 투영은 프레임의 특정 영역에서 왜곡이 생길 수 있다. 따라서, 구면 프레임과 다르게 타일을 투영하는 것은 최종 이미지의 품질을 향상시킬 수 있고 및/또는 픽셀을 보다 효율적으로 사용할 수 있다. 하나의 예시적 구현에서, 구면 이미지는 투영 알고리즘에 기초하여 최소로 왜곡된 위치로 타일을 향하게 하기 위해 타일을 투영하기 전에 회전될 수 있다. 다른 예시적 구현에서, 타일은 타일의 위치에 기초하는 투영 알고리즘을 사용할 수 있다(및/또는 수정한다). 예를 들어, 구면 영상 프레임을 2D 표현으로 투영하는 것은 등각 투영을 사용할 수 있는 반면, 구면 영상 프레임을 타일로 선택될 부분을 포함하는 표현으로 투영하는 것은 큐빅 투영을 사용할 수 있다.In an alternative implementation (and / or further implementation), the encoder may project a tile associated with at least one preferred view point of view using a projection technique or algorithm different from that used when generating the 2D representation of the remainder of the 3D image frame. Can be. Some projections may cause distortion in certain areas of the frame. Thus, projecting tiles differently from spherical frames can improve the quality of the final image and / or use pixels more efficiently. In one example implementation, the spherical image can be rotated before projecting the tile to direct the tile to the least distorted position based on the projection algorithm. In another example implementation, a tile may use (and / or modify) a projection algorithm based on the position of the tile. For example, projecting a spherical image frame into a 2D representation may use isometric projection, while projecting a spherical image frame into a representation comprising a portion to be selected as a tile may use cubic projection.
단계(S415)에서, 상기 인코딩된 3D 영상이 저장된다. 예를 들어, 복수의 타일 각각은 뷰 프레임 저장부(795)에 저장될 수 있다. 3D 영상과 관련된 복수의 타일 각각은 복수의 타일 각각이 프레임(예를 들어, 시간 의존성) 및 뷰(예를 들어, 시간 의존성)에 대한 참조로 저장되도록 되도록 색인될 수 있다. 따라서, 복수의 타일 각각은 시간 및 뷰, 시점 또는 뷰 시점에에 의존하며 시간 및 뷰 의존성에 기초하여 불러올 수 있다.In step S415, the encoded 3D image is stored. For example, each of the plurality of tiles may be stored in the
예시적인 구현들에서, 3D 영상(예를 들어, 관련 타일들)은 다양한 인코딩 파라미터들로 인코딩되고 저장될 수 있다. 따라서, 3D 영상은 상이한 인코딩 상태들로 저장될 수 있다. 상기 상태들은 QoS에 따라 다를 수 있다. 예를 들어, 3D 영상은 각각 동일한 QoS로 인코딩된 복수의 타일로서 저장될 수 있다. 예를 들어, 3D 영상은 상이한 QoS로 각각 인코딩된 복수의 타일로서 저장될 수있다. 예를 들어, 3D 영상은 인코딩된 적어도 하나의 선호 뷰 시점에 기초하여 QoS로 인코딩된 복수의 타일로서 저장될 수 있다.In example implementations, the 3D image (eg, related tiles) can be encoded and stored with various encoding parameters. Thus, the 3D image can be stored in different encoding states. The states may vary depending on QoS. For example, the 3D video may be stored as a plurality of tiles, each encoded with the same QoS. For example, the 3D image may be stored as a plurality of tiles each encoded with different QoS. For example, the 3D image may be stored as a plurality of tiles encoded with QoS based on the encoded at least one preferred view viewpoint.
도 5는 3D 영상을 위한 선호 뷰 시점을 결정하는 방법을 도시한다. 3D 영상의 선호 뷰 시점은 3D 영상의 이력 뷰에 근거한 선호 뷰 시점 추가될 수 있다. 도 6에 도시된 바와 같이, 단계 (S505)에서, 적어도 하나의 디폴트 뷰 시점이 결정된다. 예를 들어, 디폴트 선호 뷰 시점(들)은 데이터 저장장치(예를 들어, 뷰 시점 데이터 저장장치(815))에 포함된 데이터 테이블에 저장될 수 있다. 데이터 저장장치는 3D 영상에 대한 디폴트 표시를 기반으로 질의되거나 필터링될 수 있다. 상기 질의 또는 필터가 결과를 반환하면 상기 3D 영상은 연관된 디폴트 뷰 시점(들)을 갖는다. 그렇지 않으면, 3D 영상은 연관된 디폴트 뷰 시점을 갖지 않는다. 디폴트 선호 뷰 시점은 디렉터스 컷, 관심 지점(예를 들어, 수평선, 움직이는 물체, 우선 순위 객체) 및/또는 유사물일 수 있다. 예를 들어, 게임의 목적은 객체(예를 들어, 건물 또는 차량)를 파괴하는 것일 수 있다. 이 객체는 우선 순위 객체로 인식블 될 수 있다. 우선 순위 객체를 포함하는 뷰 시점은 선호 뷰 시점으로서 표시될 수 있다.5 illustrates a method of determining a preferred view viewpoint for a 3D image. The preferred view viewpoint of the 3D image may be added to the preferred view viewpoint based on the history view of the 3D image. As shown in FIG. 6, at step S505, at least one default view viewpoint is determined. For example, the default preferred view viewpoint (s) may be stored in a data table included in data storage (eg, view viewpoint data storage 815). The data storage device may be queried or filtered based on the default display for the 3D image. If the query or filter returns a result, the 3D image has an associated default view viewpoint (s). Otherwise, the 3D image does not have an associated default view viewpoint. Default preference view viewpoints may be director cuts, points of interest (eg, horizontal lines, moving objects, priority objects), and / or the like. For example, the purpose of the game may be to destroy an object (eg, a building or a vehicle). This object can be recognized as a priority object. The view viewpoint including the priority object may be displayed as the preferred view viewpoint.
단계(S510)에서, 사용자 특성/선호도/카테고리에 기초한 적어도 하나의 뷰 시점이 결정된다. 예를 들어, HMD의 사용자는 HMD의 이전 사용에 기초한 특성을 가질 수 있다. 상기 특성은 통계적 시청 선호도(예를 들어, 멀리 있는 객체와 반대로 객체들을 가까이에서 보는 선호도)에 기초할 수 있다. 예를 들어, HMD의 사용자는 HMD와 연관된 사용자 선호도를 저장할 수 있다. 선호도는 일반적인(예 : 움직임에 끌리는) 또는 영상 특정(예를들어, 음악 연주에 대하여 기타 리스트에 초점을 두는 것을 선호)일 수 있다. 예를 들어, HMD 사용자는 그룹 또는 카테고리(예를 들어, 15세에서 22세 사이의 남성)에 속할 수 있다. 예를 들어, 상기 사용자 특성/선호도/카테고리는 데이터 저장장치에 포함된 데이터 테이블에 저장될 수 있다(예를 들어, 뷰 시점 데이터 저장장치 815). 데이터 저장장치는 3D 영상를 위한 디폴트 표시에 기초하여 질의되거나 필터링될 수 있다. 상기 질의 또는 필터가 결과를 반환하면 상기 3D 영상은 사용자에 대한 관련 특성/선호도/카테고리에 기초한 적어도 하나의 연관된 선호 뷰 시점(들)을 갖는다 그렇지 않으면, 3D 영상은 사용자에 기초한 연관된 뷰 시점을 갖지 않는다.In step S510, at least one view viewpoint is determined based on user characteristics / preferences / categories. For example, a user of an HMD may have characteristics based on previous use of the HMD. The characteristic may be based on statistical viewing preferences (eg, preferences for viewing objects up close as opposed to distant objects). For example, a user of the HMD can store user preferences associated with the HMD. The preference may be general (eg, attracted to movement) or image specific (eg, preferring to focus on a guitar list for music performance). For example, an HMD user can belong to a group or category (eg, males between 15 and 22 years old). For example, the user characteristic / preference / category may be stored in a data table included in the data storage device (eg, view viewpoint data storage device 815). The data storage device may be queried or filtered based on the default display for the 3D image. If the query or filter returns a result, the 3D image has at least one associated preferred view viewpoint (s) based on relevant characteristics / preferences / categories for the user; otherwise, the 3D image does not have an associated view viewpoint based on the user. Do not.
단계(S515)에서, 관심 영역에 근거한 적어도 하나의 뷰 시점이 결정된다. 예를 들어, 관심 영역은 현재의 뷰 시점일 수 있다. 예를 들어, 적어도 하나의 선호 뷰 시점은 현재의 뷰 시점의 범위(예를 들어, 근접한) 내에 있는 이력 뷰 시점 일 수 있다. 예를 들어, 적어도 하나의 선호 뷰 시점은 현재의 사용자 또는 현재의 사용자가 속하는 그룹(유형 또는 카테고리)의 이력 뷰 시점의 범위 (예를 들어, 근접한) 내에 있는 이력 뷰 시점일 수 있다.In step S515, at least one view viewpoint based on the region of interest is determined. For example, the region of interest may be a current view viewpoint. For example, the at least one preferred view viewpoint may be a historical view viewpoint within a range (eg, proximate) of the current view viewpoint. For example, the at least one preferred view viewpoint may be a history view viewpoint that is within (eg, close to) a history view viewpoint of the current user or a group (type or category) to which the current user belongs.
단계(S520)에서, 적어도 하나의 시스템 특성에 기초한 적어도 하나의 뷰 시점이 결정된다. 예를 들어, HMD는 사용자 경험을 향상시킬 수 있는 기능을 가질 수 있다. 하나의 기능은 향상된 오디오일 수 있다. 따라서, 가상 현실 환경에서, 사용자는 특정 사운드(예를 들어, 게임 사용자는 폭발에 끌릴 수 있음)에 이끌릴 수 있다. 선호 뷰 시점은 이들 가청 큐를 포함하는 뷰 시점에 기초할 수 있다. 단계(S525)에서, 전술한 뷰 시점 결정들 및/또는 그것들의 조합/서브 조합들 각각에 기초한 3D 영상에 대한 적어도 하나의 선호 뷰 시점이 결정된다. 예를 들어, 적어도 하나의 선호 뷰 시점은 전술한 질의의 결과를 병합 또는 결합함으로써 생성될 수 있다. In step S520, at least one view viewpoint based on at least one system characteristic is determined. For example, the HMD may have a function to enhance the user experience. One feature may be enhanced audio. Thus, in a virtual reality environment, a user may be attracted to certain sounds (eg, a game user may be attracted to an explosion). The preferred view viewpoint can be based on the view viewpoint containing these audible queues. In step S525, at least one preferred view viewpoint for the 3D image based on each of the above-described view viewpoint determinations and / or combination / sub combinations thereof is determined. For example, the at least one preferred view viewpoint can be generated by merging or combining the results of the query described above.
도 6A의 예에서, 영상 인코더 시스템(600)은 적어도 하나의 컴퓨팅 장치일 수 있거나 포함할 수 있고, 본 명세서에서 설명된 방법들을 수행하도록 구성된 임의의 컴퓨팅 장치를 가상으로 나타낼 수 있다. 이와 같이, 영상 인코더 시스템 (600)은 본 명세서에 설명된 기술 또는 이의 상이한 버전 또는 미래의 버전을 구현하기 위해 이용될 수 있는 다양한 구성 요소를 포함할 수 있다. 예로서, 영상 인코더 시스템(600)은 적어도 하나의 프로세서(605)뿐만 아니라 적어도 하나의 메모리(610)(예를 들어, 비 일시적인 컴퓨터 판독 가능 저장 매체)를 포함하는 것으로 도시되어있다.In the example of FIG. 6A,
도 6A는 적어도 하나의 예시적인 실시예에 따른 영상 인코더 시스템을 도시한다. 도 6A에 도시된 바와 같이, 적어도 하나의 프로세서(605), 적어도 하나의 메모리(610), 컨트롤러(620) 및 영상 인코더(625)를 포함한다. 상기 적어도 하나의 프로세서(605), 적어도 하나의 메모리(610), 컨트롤러(620) 및 영상 인코더(625)는 버스(615)를 통해 통신 가능하게 결합 된다.6A illustrates an image encoder system according to at least one example embodiment. As shown in FIG. 6A, at least one
적어도 하나의 프로세서(605)는 적어도 하나의 메모리(610) 상에 저장된 명령들을 실행하여 본 명세서에서 기술된 다양한 특징 및 기능, 또는 부가적인 또는 대안적인 특징 및 기능을 구현하도록 이용될 수 있다. 상기 적어도 하나의 프로세서(605) 및 적어도 하나의 메모리(610)는 다양한 다른 목적을 위해 이용될 수 있다. 특히, 적어도 하나의 메모리(610)는 본 명세서에 설명된 모듈들 중 임의의 하나를 구현하는데 사용될 수 있는 다양한 유형의 메모리 및 관련 하드웨어 및 소프트웨어의 예를 나타낼 수 있다.At least one
적어도 하나의 메모리(610)는 영상 인코더 시스템(600)과 관련된 데이터 및/또는 정보를 저장하도록 구성될 수 있다. 예를 들어, 적어도 하나의 메모리(610)는 구면 영상을 인코딩하는 것과 관련된 코덱을 저장하도록 구성될 수 있다. 예를 들어, 적어도 하나의 메모리는 구면 영상의 프레임의 일부분을 구면 영상의 인코딩과는 별도로 인코딩될 타일로서 선택하는 것과 관련된 코드를 저장하도록 구성될 수 있다. 적어도 하나의 메모리(610)는 공유 자원 일 수 있다. 이하에서보다 상세히 설명되는 바와 같이, 타일은 구면 뷰어(예를 들어, HMD)의 재생 동안 뷰어의 뷰 시점에 기초하여 선택된 다수의 픽셀일 수 있다. 복수의 픽셀은 사용자가 볼 수 있는 구면 이미지의 일부를 포함할 수 있는 블록, 복수의 블록 또는 매크로 블록일 수 있다. 예를 들어, 영상 인코더 시스템(600)은 보다 큰 시스템(예를 들어, 서버, 퍼스널 컴퓨터, 이동 장치 등)의 요소일 수 있다. 따라서, 적어도 하나의 메모리(610)는 더 큰 시스템 내에 다른 요소들(예를 들어, 이미지 / 영상 서빙, 웹 브라우징 또는 유/무선 통신)과 관련된 데이터 및/또는 정보를 저장하도록 구성 될 수 있다.At least one
컨트롤러(620)는 다양한 제어 신호를 생성하고 영상 인코더 시스템(600)의 다양한 블록으로 제어 신호를 전달하도록 구성될 수 있다. 컨트롤러(620)는 아래에 기술된 기술을 구현하기 위해 제어 신호를 생성하도록 구성될 수 있다. 컨트롤러(620)는 예시적인 실시예에 따라 이미지, 이미지 시퀀스, 영상 프레임, 영상 시퀀스 등을 인코딩하도록 영상 인코더(625)를 제어하도록 구성될 수 있다. 예를 들어, 컨트롤러(620)는 구면 영상을 인코딩하기 위한 파라미터들에 대응하는 제어 신호들을 생성할 수 있다. 영상 인코더(625) 및 컨트롤러(620)의 기능들 및 동작에 관련된 보다 상세한 설명은 적어도 도 7A, 4A, 5A 및 도 6-9과 관련하여 후술될 것이다. The
영상 인코더(625)는 영상 스트림 입력(5)을 수신하여 압축된(예를 들어, 인코딩된) 영상 비트(10)를 출력하도록 구성될 수 있다. 영상 인코더(625)는 영상 스트림 입력(5)을 개별 영상 프레임으로 변환할 수 있다. 영상 스트림 입력(5)은 또한 이미지일 수 있으므로, 압축된(예를 들어, 인코딩된) 영상 비트(10)또한 압축된 이미지 비트일 수 있다. 영상 인코더(625)는 각각의 개별 영상 프레임 (또는 이미지)을 블록들의 행렬(이하, 블록이라 칭함)로 추가로 변환할 수 있다. 예를 들어, 영상 프레임(또는 이미지)은 각각이 다수의 픽셀을 갖는 블록의 16x16, 16x8, 8x8, 8x4, 4x4, 4x2, 2x2 또는 그와 유사한 행렬로 변환될 수 있다. 이들 예시 행렬들이 열거되었지만, 예시적인 실시예들은 이에 제한되지 않는다.The
압축 영상 비트(10)는 영상 인코더 시스템(600)의 출력을 나타낼 수 있다. 예를 들어, 압축 영상 비트(10)는 인코딩된 영상 프레임(또는 인코딩된 이미지)을 나타낼 수 있다. 예를 들어, 압축 영상 비트(10)는 수신 장치(미도시)로 전송할 준비가 될 수 있다. 예를 들어, 영상 비트는 수신 장치로의 전송을 위해 시스템 송수신기(도시되지 않음)로 전송될 수 있다.The
적어도 하나의 프로세서(605)는 컨트롤러(620) 및/또는 영상 인코더(625)와 연관된 컴퓨터 명령을 실행하도록 구성될 수 있다. 적어도 하나의 프로세서(605)는 공유 자원일 수 있다. 예를 들어, 영상 인코더 시스템(600)은 보다 큰 시스템(예를 들어, 이동 장치)의 요소일 수 있다. 따라서, 적어도 하나의 프로세서(605)는 큰 시스템 내에서 다른 요소들(예를 들어, 이미지/영상 서빙, 웹 브라우징 또는 유무선 통신)과 연관된 컴퓨터 명령들을 실행하도록 구성될 수 있다.At least one
도 6B의 예에서는, 영상 디코더 시스템(650)은 적어도 하나의 컴퓨팅 장치 일 수 있으며, 본 명세서에서 설명된 방법을 수행하도록 구성된 임의의 컴퓨팅 장치를 가상으로 나타낼 수 있다. 이와 같이, 영상 디코더 시스템(650)은 본 명세서에 설명된 기술, 또는 이의 상이한 버전 또는 미래의 버전을 구현하기 위해 이용될 수있는 다양한 컴포넌트를 포함할 수 있다. 예로서, 영상 디코더 시스템(650)은 적어도 하나의 프로세서(655)뿐만 아니라 적어도 하나의 메모리(660)(예를 들어, 컴퓨터 판독 가능 저장 매체)를 포함하는 것으로 도시되어 있다.In the example of FIG. 6B,
따라서, 적어도 하나의 프로세서(655)는 적어도 하나의 메모리(660) 상에 저장된 명령들을 실행하여 본 명세서에 기술된 다양한 특징 및 기능, 또는 부가적인 또는 대안적인 특징 및 기능을 구현할 수 있다. 적어도 하나의 프로세서(655) 및 적어도 하나의 메모리(660)는 다양한 다른 목적을 위해 이용될 수 있다. 특히, 적어도 하나의 메모리(660)는 본 명세서에 설명된 모듈들 중 임의의 하나를 구현하는데 사용될 수 있는 다양한 유형의 메모리 및 관련 하드웨어 및 소프트웨어의 예를 나타낼 수 있다. 예시적인 실시예들에 따르면, 영상 인코더 시스템(600) 및 영상 디코더 시스템(650)은 동일한 대형 시스템(예를 들어, 퍼스널 컴퓨터, 이동 장치 등)에 포함될 수 있다. 예시적인 실시 예에 따르면, 영상 디코더 시스템(650)은 영상 인코더 시스템(600)과 관련하여 설명된 역 또는 반대 기술을 구현하도록 구성될 수 있다.Thus, at least one
적어도 하나의 메모리(660)는 영상 디코더 시스템(650)과 관련된 데이터 및/또는 정보를 저장하도록 구성될 수 있다. 예를 들어, 적어도 하나의 메모리(610)는 인코딩된 구면 영상 데이터를 디코딩하는 것과 관련된 코덱을 저장하도록 구성될 수 있다. 예를 들어, 적어도 하나의 메모리는 인코딩된 타일 및 별도로 인코딩된 구면 영상 프레임을 디코딩하는 것과 관련된 코드와 디코딩된 구면 영상 프레임의 픽셀을 디코딩된 타일로 대체하기 위한 코드를 저장하도록 구성될 수 있다. 적어도 하나의 메모리(660)는 공유 자원일 수 있다. 예를 들어, 영상 디코더 시스템(650)은 보다 큰 시스템(예를 들어, 퍼스널 컴퓨터, 이동 장치 등)의 요소 일 수 있다. 따라서, 적어도 하나의 메모리(660)는 더 큰 시스템 내에 다른 요소들(예를 들어, 웹 브라우징 또는 무선 통신)과 관련된 데이터 및/또는 정보를 저장하도록 구성될 수 있다. At least one
컨트롤러(670)는 다양한 제어 신호를 생성하고 영상 디코더 시스템(650)의 다양한 블록으로 제어 신호를 전달하도록 구성될 수 있다. 컨트롤러(670)는 후술하는 영상 디코딩 기술을 구현하기 위해 제어 신호를 생성하도록 구성될 수 있다. 컨트롤러(670)는 예시적인 실시예에 따라 영상 프레임을 디코딩하도록 영상 디코더(675)를 제어하도록 구성될 수 있다. 컨트롤러(670)는 디코딩 영상에 대응하는 제어 신호를 생성하도록 구성될 수 있다. 영상 디코더(675) 및 컨트롤러(670)의 기능 및 동작과 관련된 더 상세한 설명은 이하에서 설명될 것이다.The
영상 디코더(675)는 압축된(예를 들어, 인코딩된) 영상 비트(10)를 수신하여 영상 스트림(5)을 출력하도록 구성될 수 있다. 영상 디코더(675)는 압축된 영상 비트(10)의 개별 영상 프레임을 영상 스트림(5)으로 변환할 수 있다. 상기 압축된(예를들어, 인코딩된) 영상 비트(10)는 또한 압축된 이미지 비트 일 수 있으므로, 상기 영상 스트림(5) 또한 이미지일 수 있다.The
적어도 하나의 프로세서(655)는 컨트롤러(670) 및/또는 영상 디코더(675)와 관련된 컴퓨터 명령을 실행하도록 구성될 수 있다. 적어도 하나의 프로세서(655)는 공유 자원 일 수 있다. 예를 들어, 영상 디코더 시스템(650)은 보다 큰 시스템(예를 들어, 퍼스널 컴퓨터, 이동 장치 등)의 요소일 수 있다. 따라서, 적어도 하나의 프로세서(655)는 더 큰 시스템 내의 다른 요소들(예를 들어, 웹 브라우징 또는 무선 통신)과 연관된 컴퓨터 명령들을 실행하도록 구성될 수 있다.At least one
도 7A 및 도 7B는 각각 하나의 예시적인 실시에 따른 도 6A에 도시된 영상 인코더(625) 및 도 6B에 도시된 영상 디코더에 대한 흐름도를 도시한다. 영상 인코더(625)(위에 개시된)는 구면-2D 표현 블록(705), 예측 블록(710), 변환 블록 (715), 양자화 블록(720), 엔트로피 인코딩 블록(725), 역 양자화 블록(730)(740), 역 변환블록(735), 재구성 블록(740), 루프 필터 블록(745), 타일 표현 블록(790) 및 뷰 프레임 저장 장치(795)를 포함한다. 영상 인코더(625)의 다른 구조적 변형은 입력 영상 스트림(5)을 인코딩하는데 사용될 수 있다. 도 7A에 도시된 바와같이, 점선은 몇몇 블록들 사이의 재구성 경로를 나타내고 실선은 몇몇 블록들 사이의 순방향 경로를 나타낸다. 전술한 블록들 각각(예를 들어, 도 6A에 도시된 바와 같이) 영상 인코더 시스템과 관련된 메모리(예를 들어, 적어도 하나의 메모리(610))에 저장된 소프트웨어 코드로서 실행될 수 있으며, 비디오 인코더 시스템과 관련된 적어도 하나의 프로세서(예를 들어, 적어도 하나의 프로세서(605))에 의해 실행될 수 있다. 그러나, 특수 목적 프로세서로서 구현된 영상 인코더와 같은 대안적인 실시 예가 고려될 수 있다. 예를 들어, 전술한 블록들 각각(단독으로 및/또는 조합으로)은 주문형 집적 회로 또는 ASIC일 수 있다. 예를 들어, ASIC은 변환 블록(715) 및/또는 양자화 블록(720)으로서 구성될 수 있다.7A and 7B show flowcharts for the
구면-2D 표현 블록(705)은 구면 프레임 또는 이미지를 구면 프레임 또는 이미지의 2D 표현으로 매핑하도록 구성될 수 있다. 예를 들어, 구를 다른 모양(예를 들어, 정사각형, 직사각형, 원통 및/또는 큐브)의 표면에 투영할 수 있다. 투영은, 예를 들어, 등각 또는 반 이방성일 수 있다.Spherical-
예측 블록(710)은 영상 프레임 일관성(예를 들어, 이전에 인코딩된 픽셀과 비교하여 변경되지 않은 픽셀)을 이용하도록 구성될 수 있다. 예측에는 두 가지 유형이 포함될 수 있다. 예를 들어, 예측은 프레임 내(intra-frame) 예측 및 프레임 간(inter-frame) 예측을 포함할 수 있다. 인트라 프레임 예측은 동일 영상(picture)에 이웃하고 이전에 코딩된 참조 샘플들에 상대적인 영상의 블록에서 픽셀 값들을 예측하는 것에 관한 것이다. 인트라-프레임 예측에서, 샘플은 변환(예를 들어, 엔트로피 인코딩 블록(725)) 및 엔트로피 코딩(예를 들어, 엔트로피 인코딩 블록(725))에 의해 코딩되는 잔류 에러를 줄이기 위해 동일한 프레임 내의 재구성된 픽셀로부터 예측된다. 인터-프레임 예측은 이전에 코딩된 영상의 데이터에 상대적인 영상의 블록에서 픽셀 값을 예측하는 것에 관한 것이다.
변환 블록(715)은 공간 도메인으로부터의 픽셀 값을 변환 도메인의 변환 계수로 변환하도록 구성될 수 있다. 변환 계수는 일반적으로 원래 블록과 동일한 크기인 계수의 2차원 행렬에 대응할 수 있다. 즉, 원래 블록에 있는 픽셀만큼 많은 변환 계수가 있을 수 있다. 그러나, 상기 변환으로 인해 변환 계수의 일부는 0과 동일한 값을 가질 수 있다.The
변환 블록(715)은 잔류(Residual)(예측 블록(710)으로부터)를, 예를 들어, 주파수 도메인의 변환 계수로 변환한다. 일반적으로 변환은 KLT(Karhunen-Loeve Transform), DCT(Discrete Cosine Transform), SVD(Singular Value Decomposition Transform) 및 ADST (Asymmetric Discrete Sine Transform)를 포함한다. The
양자화 블록(720)은 각각의 변환 계수에서 데이터를 감소시키도록 구성될 수 있다. 양자화는 상대적으로 큰 범위 내의 값을 비교적 작은 범위의 값으로 매핑하여 양자화된 변환 계수를 나타내는데 필요한 데이터의 양을 감소시키는 것을 포함할 수 있다. 양자화 블록(720)은 변환 계수를 양자화된 변환 계수 또는 양자화 레벨이라 불리는 이산 양자값으로 변환할 수 있다. 예를 들어, 양자화 블록(720)은 변환 계수와 관련된 데이터에 0을 가산하도록 구성될 수 있다. 예를 들어, 인코딩 표준은 스칼라 양자화 프로세스에서 128개의 양자화 레벨을 정의할 수 있다.
그런 다음 양자화된 변환 계수는 엔트로피 인코딩 블록(725)에 의해 엔트로피 인코딩된다. 엔트로피-인코딩된 계수는 사용된 예측 유형, 모션 벡터 및 양자화기 값과 같은 블록을 디코딩하는데 필요한 정보와 함께 출력된다. 압축된 영상 비트(10)는 런-렝스 인코딩(run-length encoding : RLE) 및 제로-런(zero-run) 코딩과 같은 다양한 방식을 사용하여 포맷될 수 있다.The quantized transform coefficients are then entropy encoded by
도 17A에 도시된 재구성 경로는 압축 영상 비트(10)(또는 압축된 이미지 비트)를 디코딩하기 위해 동일한 기준 프레임을 사용하는 영상 인코더(625) 및 영상 디코더(675)를 모두를 보장하기 위해 존재한다. 재구성 경로는 미분 잔차 (redisual) 블록(미분 잔차)을 생성하기 위하여 역 양자화 블록(730)에서 상기 양자화된 변환 계수를 역 양자화하고 역 변환 블록(735)에서 역 양자화된 변환 계수를 역변환하는 것을 포함하여, 아래에서보다 상세하게 설명되는 디코딩 프로세스 동안 발생하는 기능들과 유사한 기능들을 수행한다. 재구성 블록(740)에서, 상기 예측 블록(710)에서 예측된 예측 블록은 재구성된 블록을 생성하기 위하여 미분 잔차에 가산될 수 있다. 그런 다음 루프 필터(745)는 블로킹 아티팩트(artifacts)와 같은 왜곡을 감소시키기 위하여 상기 재구성된 블록에 적용될 수 있다.The reconstruction path shown in FIG. 17A exists to ensure both
타일 표현 블록(790)은 이미지 및/또는 프레임을 복수의 타일로 변환하도록 구성될 수 있다. 타일은 픽셀의 그룹 일수 있다. 타일은 뷰 또는 뷰 시점에 기초하여 선택된 다수의 픽셀일 수 있다. 복수의 픽셀은 사용자가 볼 수 있는(또는 볼 것으로 예상되는) 구면 이미지의 부분을 포함할 수 있는 블록, 복수의 블록 또는 매크로 블록일 수 있다. 타일 처럼 구면 이미지의 부분은 길이와 폭을 가질 수 있다. 구면 이미지의 부분은 2차원 또는 실질적으로 2차원일 수 있다. 타일은 가변 크기 (예를 들어, 타일이 커버하는 구의 얼마나 많은 부분)를 가질 수 있다. 예를 들어, 타일의 크기는, 예를 들어 뷰어의 시야가 얼마나 넓은지, 얼마나 다른 타일에 근접한 지, 및/또는 얼마나 빨리 사용자가 그들의 머리를 돌리고 있는지에 기초하여 인코딩되고 스트리밍 될 수 있다. 예를 들어 뷰어가 계속 주변을 둘러보는 경우 더 크고 품질이 낮은 타일이 선택될 수 있다. 그러나 뷰어가 하나의 시점에 초점을 맞추고 있다면 더 작은 더 자세한 타일이 선택될 수 있다.
하나의 구현에서, 타일 표현 블록(790)은 구면-2D 표현 블록(705)으로 하여금 타일을 생성하게 하는 명령을 개시한다. 다른 구현에서, 타일 표현 블록(790)은 타일을 생성한다. 두 구현 중 하나에서 각 타일은 개별적으로 인코딩된다. 또 다른 구현에서, 타일 표현 블록(790)은 뷰 프레임 저장 장치(795)에 명령을 개시하여 뷰 프레임 저장 장치(795)가 인코딩된 이미지 및/또는 영상 프레임을 타일로서 저장하도록 한다. 타일 표현 블록(790)은 뷰 프레임 저장 장치(795)에 명령을 개시하여 뷰 프레임 저장 장치(795)가 타일에 관한 정보 또는 메타 데이터를 갖는 타일을 저장하게 할 수 있다. 예를 들어, 타일에 관한 정보 또는 메타 데이터는 이미지 또는 프레임 내의 타일 위치의 표시, 타일 인코딩(예를 들어, 해상도, 대역폭 및/또는 3D-2D 투영 알고리즘)과 관련된 정보, 하나 이상의 관심 영역 및/또는 기타 등등을 포함할 수 있다.In one implementation,
예시적 구현에 따르면, 인코더(625)는 프레임, 프레임 및/또는 타일의 일부분을 상이한 품질(또는 서비스 품질(QoS))로 각각 여러번 인코딩할 수 있다. 이와 같이, 타일에 관한 전술한 정보 또는 메타 데이터는 프레임, 프레임 및/또는 타일의 일부가 인코딩된 QoS의 표시를 포함할 수 있다.According to an example implementation,
QoS는 압축 알고리즘, 해상도, 전송 속도, 및/또는 인코딩 방식에 기초할 수 있다. 따라서, 인코더 (625)는 각각의 프레임, 프레임 및/또는 타일의 부분에 대해 상이한 압축 알고리즘 및/또는 인코딩 방식을 사용할 수 있다. 예를 들어, 인코딩 된 타일은 인코더(625)에 의해 인코딩된(타일과 연관된) 프레임보다 높은 QoS를 가질 수 있다. 상술 한 바와 같이, 인코더(625)는 구면 영상 프레임의 2D 표현을 인코딩하도록 구성될 수 있다. 따라서, 구면 영상 프레임의 2D 표현보다 높은 QoS로 타일(구면 영상 프레임의 일부를 포함하는 가시 시점으로서)이 인코딩 될 수 있다. 상기 QoS는 디코딩될 때 프레임의 해상도에 영향을 줄 수 있습니다. 따라서, 타일(구면 영상 프레임의 일부를 포함하는 가시 시점으로서)은 구면 영상 프레임의 디코딩된 2D 표현과 비교하여 디코딩될 때, 타일이 프레임의 더 높은 해상도를 갖도록 인코딩될 수 있다. 타일 표현 블록(790)은 타일이 인코딩되어야 하는 QoS를 나타낼 수 있다. 타일 표현 블록(790)은 프레임, 프레임 및/또는 타일의 일부가 시드 영역 및/또는 이와 유사하고 관심 영역 내에 있는 관심 영역인지의 여부에 기초하여 QoS를 선택할 수 있다. 관심 영역 및 시드 영역에 대해서는 아래에서 자세히 설명한다.QoS may be based on a compression algorithm, resolution, transmission rate, and / or encoding scheme. Thus,
도 7A와 관련하여 상술한 영상 인코더(625)는 도시된 블록을 포함한다. 그러나, 예시적인 구현들은 이에 제한되지 않는다. 사용된 상이한 영상 인코딩 구성 및/또는 기술에 기초하여 추가 블록이 추가될 수 있다. 게다가, 도 7A와 관련하여 상술한 영상 인코더(625)에 도시된 각각의 블록은 사용된 상이한 영상 인코딩 및 /또는 기술에 기초한 선택적인 블록일 수 있다.The
도 7B는 압축된 영상 비트(10)(또는 압축된 이미지 비트)를 디코딩하도록 구성된 디코더(675)의 개략적인 블록도이다. 이전에 기술한 인코더(625)의 재구성 경로와 유사하게, 디코더 블록(675)은엔트로피 디코딩 블록(750), 역 양자화 블록 (755), 역변환 블록(760), 재구성 블록(765), 루프 필터 블록(770), 예측 블록 (775), 디 블로킹 필터 블록(780) 및 2D 표현-구면 블록(785)에 대한 2D 표현을 포함한다.7B is a schematic block diagram of a
압축 영상 비트(10) 내의 데이터 요소(예를 들어, 컨텍스트 적응 이진 산술 복호화(Context Adaptive Binary Arithmetic Decoding)를 사용하여)는 양자화된 변환 계수의 세트를 생성하기 위해 엔트로피 디코딩 블록(750)에 의해 디코딩될 수 있다. 역 양자화 블록(755)은 양자화된 변환 계수를 역 양자화하고, 역 변환 블록(760)은 역 양자화된 변환 계수를(ADST를 사용하여) 역변환하여 인코더(625)의 재구성 단계에 의해 생성된 것과 동일한 미분 잔차를 생성한다.Data elements in the compressed image bit 10 (e.g., using Context Adaptive Binary Arithmetic Decoding) are decoded by entropy decoding block 750 to produce a set of quantized transform coefficients. Can be.
압축 영상 비트(10)로부터 디코딩된 헤더 정보를 사용하여, 디코더(675)는 인코더(675)에서 생성된 것과 동일한 예측 블록을 생성하기 위해 예측 블록(775)을 사용할 수 있다. 예측 블록은 재구성 블록(7650에 의한 재구성 블록을 생성하기 위하여 미분 잔차에 가산될 수 있다. 루프 필터 블록(770)은 블로킹 아티팩트를 감소시키기 위하여 상기 재구성된 블록에 적용될 수 있다. 디블로킹 필터 블록(780)은 블로킹 왜곡을 감소시키기 위해 재구성된 블록에 적용될 수 있고, 그 결과는 영상 스트림(5)으로서 출력된다.Using the header information decoded from the
구면 블록(785)에 대한 2D 표현은 구면 프레임 또는 이미지의 2D 표현을 구면 프레임 또는 이미지에 매핑하도록 구성될 수 있다. 예를 들어, 구면 프레임 또는 이미지의 2D 표현을 구면 프레임 또는 이미지로 매핑하는 것은 인코더(625)에 의해 수행되는 3D-2D 맵핑의 역 일 수 있다.The 2D representation for
도 7B에 관하여 전술한 영상 디코더(675)는 도시된 블록을 포함한다. 그러나, 예시적인 실시예들은 이에 제한되지 않는다. 사용되는 상이한 영상 인코딩 구성 및/또는 기술에 기초하여 추가 블록이 추가될 수 있다. 게다가, 도 7B와 관련하여 전술한 영상 디코더(675)에 도시된 블록들 각각은, 상이한 영상 인코딩 구성 및/또는 사용된 기술에 기초한 선택적인 블록일 수 있다.The
인코더(625) 및 디코더(675)는 구면 영상 및/또는 이미지를 인코딩하고 구면 영상 및/또는 이미지를 각각 디코딩하도록 구성될 수 있다. 구면 이미지는 구면으로 조직화된 복수의 픽셀을 포함하는 이미지이다. 즉, 구면 이미지는 모든 방향에서 연속적인 이미지이다. 따라서, 구면 이미지의 뷰어는 임의의 방향(예를 들어, 상향, 하향, 좌, 우 또는 이들의 임의의 조합)으로 위치를 변경하거나 방향을 바꿀 수 있고(예를 들어, 그녀의 머리 또는 눈을 움직여서) 이미지의 일부분을 연속적으로 볼 수 있다.
예시적인 구현에서, 인코더(625)에서 및/또는 인코더(625)에 의해 사용된 파라미터는 인코더(405)의 다른 요소에 의해 사용될 수 있다. 예를 들어, 2D 표현을 인코딩하는데 사용된(예를들어, 예측에서 사용된 것처럼) 움직임 벡터가 타일을 인코딩하는데 사용될 수 있다. 또한, 예측 블록(710), 변환 블록(715), 양자화 블록(720), 엔트로피 인코딩 블록(725), 역 양자화 블록(730), 역변환 블록(735), 재구성 블록(740) 및 루프 필터 블록 (745)에서 사용되고 및/또는 결정된 파마미터들은 인코더(625)와 인코더(405) 사이에서 공유될 수 있다.In an example implementation, the parameters used at and / or by the
구면 영상 프레임 또는 이미지의 부분은 이미지로서 처리될 수 있다. 따라서, 구면 영상 프레임의 부분은 블록들의 CxR 행렬(이하, 블록들로 언급됨)로 변환 (또는 분해) 될 수 있다. 예를 들어, 구면 영상 프레임의 부분은 각각이 다수의 픽셀을 갖는 블록들의 16x16, 16x8, 8x8, 8x4, 4x4, 4x2, 2x2 또는 유사한 매트릭스의 CxR 행렬로 변환 될 수 있다.A spherical image frame or portion of an image can be treated as an image. Thus, the portion of the spherical image frame can be transformed (or decomposed) into a CxR matrix of blocks (hereinafter referred to as blocks). For example, the portion of the spherical image frame may be converted into a CxR matrix of 16x16, 16x8, 8x8, 8x4, 4x4, 4x2, 2x2 or similar matrix of blocks each having multiple pixels.
도 8은 적어도 하나의 예시적인 실시예에 따른 시스템(800)을 도시한다. 도 8에 도시된 바와 같이, 시스템(700)은 컨트롤러(620), 컨트롤러(670), 영상 인코더(625), 뷰 프레임 저장부(795) 및 방향 센서(들)(835)를 포함한다. 상기 컨트롤러(620)는 뷰 위치 제어 모듈(805), 타일 제어 모듈(810) 및 뷰 시점 데이터 저장장치(815)를 더 포함한다. 상기 컨트롤러(670)는 뷰 위치 결정 모듈(820), 타일 요청 모듈(825) 및 버퍼(830)을 더 포함한다. 8 illustrates a
예시적인 구현에 따르면, 방향 센서(835)는 뷰어의 눈(또는 머리)의 방향 (또는 방향의 변화)을 검출하고, 시청 위치 결정 모듈(820)은 검출된 방향에 기초하여 뷰, 시점 또는 뷰 시점을 결정하고, 타일 요청 모듈(825)은 타일 또는 복수의 타일(구면 영상에 추가하여)에 대한 요청의 일부로서 뷰, 시점 또는 뷰 시점을 전달한다. 다른 예시적 구현에 따르면, 방위 센서(835)는 HMD 또는 디스플레이상에 랜더링된 이미지 패닝 방향에 기초하여 방향(또는 방위의 변화)을 검출한다. 예를 들어, HMD의 사용자는 초점 심도를 변경할 수 있다. 즉, HMD 사용자는 방향이 변경되거나 변경되지 않은 채 멀리있는 물체에 가까운 물체로(또는 그 반대로) 초점을 변경할 수 있습니다. 예를 들어, 사용자는 디스플레이상에 랜더링된 구면 영상 또는 이미지의 일부를 선택, 이동, 드래그, 확장하기 위하여 마우스, 트랙 패드 또는 제스처(예를 들어, 터치 감지 디스플레이)를 사용할 수 있다. According to an example implementation, the direction sensor 835 detects the direction (or change of direction) of the viewer's eye (or head), and the viewing
타일에 대한 요청은 구면 영상의 프레임에 대한 요청과 함께 전달될 수 있다. 타일에 대한 요청은 구면 영상의 프레임에 대한 요청과 별도로 함께 전달될 수 있다. 예를 들어, 타일에 대한 요청은 이전에 요청된 및/또는 질의된 타일을 대체할 필요가 있을 때 변경된 뷰, 시점 또는 뷰 시점에 대응될 수 있다.The request for the tile may be delivered together with the request for the frame of the spherical image. The request for the tile may be delivered together with the request for the frame of the spherical image. For example, a request for a tile may correspond to a changed view, viewpoint or view viewpoint when it is necessary to replace a previously requested and / or queried tile.
뷰 위치 제어 모듈(805)은 타일에 대한 요청을 수신하여 처리한다. 예를 들어, 뷰 위치 제어 모듈(805)은 뷰에 기초하여 프레임 내의 프레임 내의 하나 이상의 타일 또는 복수의 타일의 위치 및 프레임을 결정할 수 있다. 그 다음, 뷰 위치 제어 모듈(805)은 타일 제어 모듈(810)에게 타일 또는 복수의 타일을 선택하도록 지시 할 수 있다. 타일 또는 복수의 타일을 선택하는 것은 파라미터를 영상 인코더 (625)로 전달하는 것을 포함할 수 있다. 파라미터는 구면 영상 및/또는 타일의 인코딩 동안 영상 인코더(625)에 의해 사용될 수 있다. 대안적으로, 타일 또는 복수의 타일을 선택하는 것은 뷰 프레임 저장부(795)로부터 타일 또는 복수의 타일을 선택하는 것을 포함할 수 있다.The view
따라서, 타일 제어 모듈(810)은 구면 영상을 시청하는 사용자의 뷰 또는 시점 또는 뷰 시점에 기초하여 타일(또는 복수의 타일)을 선택하도록 구성될 수 있다. 상기 타일은 뷰에 기초하여 선택된 복수의 픽셀 일 수 있다. 복수의 픽셀은 사용자가 볼 수 있는 구면 이미지의 일부를 포함할 수 있는 블록, 복수의 블록 또는 매크로 블록일 수 있다. 구면 이미지의 부분은 길이 및 폭을 가질 수 있다. 구면 이미지의 부분은 2차원 또는 실질적으로 2차원 일 수 있다. 타일은 가변 크기(예를 들어, 구의 얼마나 많은 부분을 타일이 차지하는지)를 가질 수 있다. 예를 들어, 타일의 크기는, 예를 들어 뷰어의 시야가 얼마나 넓은지 및/또는 얼마나 빨리 사용자가 그들의 머리를 돌리고 있는지에 기초하여 인코딩되고 스트리밍 될 수 있다. 예를 들어 뷰어가 계속 주변을 둘러 보는 경우 더 크고 품질이 낮은 타일이 선택될 수 있다. 그러나, 뷰어가 하나의 시점에 초점을 맞추고 있다면 더 작은 더 자세한 타일이 선택될 수 있다. Accordingly, the tile control module 810 may be configured to select a tile (or a plurality of tiles) based on the view or the viewpoint or the viewpoint of the user viewing the spherical image. The tile may be a plurality of pixels selected based on the view. The plurality of pixels may be a block, a plurality of blocks, or a macro block that may include a portion of a spherical image visible to the user. Portions of the spherical image can have a length and a width. Portions of the spherical image can be two-dimensional or substantially two-dimensional. The tiles may have varying sizes (eg how much of the sphere the tiles occupy). For example, the size of the tiles may be encoded and streamed based on, for example, how wide the viewer's field of view is and / or how fast the user is turning their head. For example, if the viewer keeps looking around, larger and lower quality tiles may be selected. However, if the viewer is focusing on one point of view, a smaller, more detailed tile may be selected.
따라서, 방향 센서(835)는 뷰어(시청자)의 눈(또는 머리)의 방향(또는 방향의 변화)을 검출하도록 구성될 수 있다. 예를 들어, 방위 센서(835)는 움직임을 검출하기 위한 가속도계와 방향을 검출하기 위한 자이로스코프를 포함할 수 있다. 대안으로, 또는 추가적으로, 방향 센서(835)는 뷰어의 눈 또는 머리의 방향을 결정하기 위해 뷰어의 눈 또는 머리에 초점을 맞춘 카메라 또는 적외선 센서를 포함할 수 있다. 대안으로, 또는 추가적으로, 방향 센서(835)는 구면 영상 또는 이미지의 방향을 검출하기 위해 디스플레이상에 랜더링된 구면 영상 또는 이미지의 일부분을 결정할 수 있다. 방향 센서(825)는 방향을 전달하여 뷰 위치 결정 모듈(820)이 방향 정보를 변경하도록 구성될 수 있다.Accordingly, the direction sensor 835 may be configured to detect the direction (or change of direction) of the eye (or head) of the viewer (viewer). For example, the orientation sensor 835 may include an accelerometer for detecting movement and a gyroscope for detecting a direction. Alternatively, or in addition, the orientation sensor 835 may include a camera or infrared sensor focused on the viewer's eyes or head to determine the orientation of the viewer's eyes or head. Alternatively, or in addition, the orientation sensor 835 may determine a portion of the spherical image or image rendered on the display to detect the orientation of the spherical image or image. The
뷰 위치 결정 모듈(820)은 구면 영상에 관련하여 뷰 또는 뷰 시점(예를 들어, 뷰어가 현재 보고 있는 구면 영상의 일부분)를 결정하도록 구성될 수 있다. 상기 뷰, 시점 또는 뷰 시점은 구면 영상상의 위치, 포인트 또는 초점으로 결정될 수 있다. 예를 들어, 뷰는 구면 영상에서 위도와 경도 위치일 수 있다. 뷰, 시점 또는 뷰 시점은 구면 영상에 근거하여 큐브의 측면으로 결정될 수 있다. 뷰(예를 들어, 위도 및 경도 위치 또는 측면)는 예를 들어 HTTP (Hypertext Transfer Protocol)를 사용하는 뷰 위치 제어 모듈(805로 전달될 수 있다.The view
뷰 위치 제어 모듈(805)은 구면 영상 내의 타일 또는 복수의 타일의 뷰 위치(예를 들어, 프레임 내의 프레임 및 위치)를 결정하도록 구성될 수 있다. 예를 들어, 뷰 위치 제어 모듈(805)은 뷰 위치, 포인트 또는 초점(예를 들어, 위도 및 경도 위치 또는 측면)에 중심을 둔 직사각형을 선택할 수 있다. 타일 제어 모듈 (810)은 직사각형을 타일 또는 복수의 타일로서 선택하도록 구성될 수 있다. 타일 제어 모듈(810)은 선택된 타일 또는 복수의 타일을 인코딩하도록 영상 인코더(625)에세 지시하고(예를 들어, 파라미터 또는 구성 설정을 통해) 및/또는 타일 제어 모듈(810)이 상기 뷰 프레임 저장 부(795)로부터의 타일 또는 복수의 타일을 선택하도록 구성될 수 있다.The view
알 수 있는 바와 같이, 도 6A 및 도 6B에 도시된 시스템(600 및 650)과 도 8에 개시된 시스템(800)은 도 9와 관련하여 후술되는 일반 컴퓨터 장치(900) 및/또는 일반 이동 컴퓨터 장치스(950)의 요소 및/또는 확장으로서 구현될 수 있다. 대안적으로 또는 부가적으로, 도 6A 및 도 6B에 도시된 시스템(600 및 650) 및/또는 도 8에 개시된 시스템(800)은, 일반 컴퓨터 장치(900) 및/또는 일반 이동 컴퓨터 장치(950)와 관련하여 이하에 설명되는 일부 또는 모든 특징을 갖는 일반 컴퓨터 장치(900) 및/또는 일반 이동 컴퓨터 장치(950)와는 별개의 시스템에 구현될 수 있다.As can be seen, the
도 9는 본 명세서에서 기술된 기술을 구현하는데 사용될 수 있는 컴퓨터 장치 및 이동 컴퓨터 장치의 개략적인 블록도이다. 도 9는 일반적인 컴퓨터 장치 (900) 및 일반적인 이동 컴퓨터 장치(950)의 예로서, 본 명세서에 기술된 기술과 함께 사용될 수 있다. 컴퓨팅 장치(900)는 랩탑, 데스크탑, 워크 스테이션, PDA, 서버, 블레이드(blade) 서버, 메인 프레임 및 다른 적절한 컴퓨터와 같은 다양한 형태의 디지털 컴퓨터를 나타내기 위한 것이다. 컴퓨팅 장치(950)는 개인 휴대 정보 단말기, 셀룰러 전화기, 스마트 폰 및 다른 유사한 컴퓨팅 장치와 같은 다양한 형태의 이동 장치를 나타내기 위한 것이다. 9 is a schematic block diagram of a computer device and a mobile computer device that may be used to implement the techniques described herein. 9 is an example of a
컴퓨팅 장치(900)는 프로세서(902), 메모리 (904), 저장 장치(906), 메모리 (904)와 고속 확장 포트(910)에 연결되는 고속 인터페이스(908) 및 저속 버스 (914)와 저장 장치(906)에 연결되는 저속 인터페이스(912)를 포함한다. 각 구성 요소(902, 904, 906, 908, 910 및 912)는 다양한 버스를 사용하여 상호 연결되고, 공통 마더 보드 상에 또는 적절하게 다른 방식으로 장착될 수 있다. 상기 프로세서(902)는 고속 인터페이스(908)에 연결된 디스플레이(916)와 같은 외부 입/출력 장치상의 GUI를 위한 그래픽 정보를 표시하기 위하여, 메모리(904) 또는 저장 장치(906)에 저장된 명령을 포함하는 컴퓨팅 장치(900) 내의 실행 명령을 처리할 수 있다. 다른 구현들에서, 다수의 메모리 및 유형의 메모리와 함께, 적절하게는 다수의 프로세서 및/또는 다수의 버스가 사용될 수 있다. 또한, 다수의 컴퓨팅 장치(900)는 필요한 동작들의 파티션을 제공하는 각 장치(예를 들어, 서버 뱅크, 블레이드 서버 그룹 또는 멀티 프로세서 시스템과 같은)와 접속될 수 있다.The
메모리(904)는 컴퓨팅 장치(900) 내의 정보를 저장한다. 일 구현에서, 메모리(904)는 휘발성 메모리 유닛이다. 다른 구현에서, 메모리 (904)는 비 휘발성 메모리 유닛(들)이다. 메모리(904)는 또한 자기(magnetic) 또는 광학 디스크와 같은 컴퓨터 판독 가능 매체의 다른 형태 일 수 있다.
저장 장치(906)는 컴퓨팅 장치(900)를 위한 대용량 저장 용량을 제공할 수 있다. 일 구현에서, 저장 장치(906)는 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치 또는 테이프 장치, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 장치, 또는 저장 영역 네트워크 또는 다른 구성의 장치를 포함하는 장치들의 어레이와 같은 컴퓨터 판독 매체이거나 또는 포함할 수 있다. 상기 컴퓨터 프로그램 제품은 정보 매체에 확실하게 구현될 수 있다. 컴퓨터 프로그램 제품은 또한 실행될 때 상술 한 바와 같은 하나 이상의 방법을 수행하는 명령을 포함할 수 있다. 상기 정보 매체는 메모리(904), 저장 장치(906) 또는 프로세서(902)상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.The
고속 컨트롤러(908)는 컴퓨팅 장치(900)에 대한 대역폭-집약 동작을 관리하고, 저속 컨트롤러(912)는 낮은 대역폭-집약 동작을 관리한다. 이러한 기능 할당은 단지 예시적인 것이다. 일 구현에서, 고속 컨트롤러(908)는 메모리(904), 디스플레이(916)(예를 들어, 그래픽 프로세서 또는 가속기를 통해) 및 다양한 확장 카드(도시되지 않음)를 수용할 수 있는 고속 확장 포트(910)에 결합된다. 상기 구현에서, 저속 컨트롤러(912)는 저장 장치(906) 및 저속 확장 포트(914)에 결합된다. 다양한 통신 포트(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)를 포함할 수 있는 저속 확장 포트는 키보드, 포인팅 장치, 스캐너와 같은 하나 이상의 입/출력장치 또는 스위치 또는 라우터와 같은 네트워킹 장치와, 예를 들어 네트워크 어댑터를 통해 결합될 수 있다.The
컴퓨팅 장치(900)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 표준 서버(920)로서 구현되거나, 또는 그러한 서버들의 그룹에서 여러 번 구현될 수 있다. 또한, 랩 서버 시스템(924)의 일부로서 구현될 수도 있다. 또한, 랩탑 컴퓨터(922)와 같은 개인용 컴퓨터에서 구현될 수도 있다. 대안적으로, 컴퓨팅 장치(900)로부터의 구성 요소는 이동 장치 내의 다른 구성 요소와 결합 될 수 있다 이러한 장치 각각은 컴퓨팅 장치(900, 950) 중 하나 이상을 포함할 수 있고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 장치(900, 950)로 구성 될 수 있다.
컴퓨팅 장치(950)는 다른 구성 요소들 중에서 프로세서(952), 메모리(964), 디스플레이(954)와 같은 입/출력 장치, 통신 인터페이스(966) 및 송수신기(968)를 포함한다. 상기 장치(950)는 추가 저장 용량을 제공하기 위해 마이크로 드라이브 또는 다른 장치와 같은 저장 장치를 구비할 수 있다. 구성 요소들(950, 952, 964, 954, 966 및 968)들 각각은 다양한 버스를 사용하여 상호 접속되며, 몇몇 구성 요소는 공통 마더보드 상에 또는 적절한 다른 방식으로 장착될 수 있다.The
프로세서(952)는 컴퓨팅 장치 내에서 명령들을 실행할 수 있다. 상기 프로세서는 메모리(964)에 저장된 명령을 포함하여, 개별 및 다수의 아날로그 및 디지털 프로세서를 포함하는 칩의 칩셋으로서 구현될 수 있다. 상기 프로세서는 예를 들어 사용자 인터페이스의 제어, 장치(950)에 의해 실행되는 어플리케이션 및 장치(950)에 의한 무선 통신과 같은 장치(950)의 다른 구성 요소들의 조정을 제공할 수 있다.The
프로세서(952)는 제어 인터페이스(958) 및 디스플레이(956)를 통해 결합된 디스플레이 인터페이스(954)를 통해 사용자와 통신할 수 있다. 상기 디스플레이(954)는 예를 들어, TFT LCD (박막 트랜지스터 액정 디스플레이) 또는 OLED(유기 발광 다이오드) 디스플레이, 또는 다른 적절한 디스플레이 기술을 포함할 수 있다. 상기 디스플레이 인터페이스(956)는 사용자에게 그래픽 및 다른 정보를 제공하기 위해 디스플레이(954)를 구동하기 위한 적절한 회로를 포함할 수 있다. 상기 제어 인터페이스(958)는 사용자로부터 명령을 수신하여 프로세서(952)로 제출하기 위해 그들을 변환할 수 있다. 또한, 외부 인터페이스(962)는 프로세서(952)와 통신하여 다른 장치와 장치(950)의 근거리 통신을 가능하게 할 수 있다. 외부 인터페이스(962)는 예를 들어, 일부 구현들에서 유선 통신이거나 또는 다른 구현 예에서는 무선 통신용으로 제공될 수 있으며, 다중 인터페이스가 또한 사용될 수 있다. 메모리(964)는 컴퓨팅 장치 내의 정보를 저장한다.The
메모리(964)는 컴퓨터-판독 가능 매체 또는 미디어, 휘발성 메모리 유닛 또는 유닛들, 비 휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로서 구현될 수 있다. 확장 메모리(974)는 또한 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(972)를 통해 장치(950)에 제공되고 접속될 수 있다. 특히 확장 메모리(974)는 전술한 프로세스를 수행하거나 보충하기 위한 명령을 포함할 수 있으며, 또한 보안 정보를 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(974)는 장치(950)르 위한 보안 모듈로서 제공될 수 있고, 장치(950)의 안전한 사용을 허용하는 명령들로 프로그램될 수 있다. 또한, 보안 어플리케이션은 해킹 불가능한 방식으로 SIMM 카드를 통해 SIMM 카드에 식별 정보를 배치하는 등의 작업을 할 수 있다.
메모리는 이하에서 논의되는 바와 같이, 예를 들어 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현에서, 컴퓨터 프로그램 제품은 정보 매체에 확실하게 구체화된다. 컴퓨터 프로그램 제품은 실행될 때 상술한 방법과 같은 하나 이상의 방법을 수행하는 명령을 포함한다. 상기 정보 매체는 예를 들어 송수신기(968) 또는 외부 인터페이스(962)를 통해 수신될 수 있는 메모리(964), 확장 메모리(974) 또는 프로세서(952)상의 메모리와 같은 컴퓨터- 또는 기계 판독 가능 매체이다.The memory may include, for example, flash memory and / or NVRAM memory, as discussed below. In one implementation, a computer program product is specifically embodied in an information medium. The computer program product includes instructions which, when executed, perform one or more methods, such as those described above. The information medium is a computer- or machine-readable medium such as, for example,
장치(950)는 필요한 경우 디지털 신호 처리 회로를 포함할 수 있는 통신 인터페이스(966)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(966)는 특히 GSM 음성 호출, SMS, EMS 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000 또는 GPRS와 같은 다양한 모드 또는 프로토콜 하에서 통신을 제공할 수 있다. 그러한 통신은, 예를 들면 무선 주파수 송수신기(968)를 통해 발생할 수 있다. 또한, 블루투스, WiFi 또는 다른 송수신기(도시되지 않음)를 사용하는 것과 같은 근거리 통신이 발생할 수 있다. 또한, GPS(Global Positioning System) 수신기 모듈(970)은 장치(950)에서 실행되는 어플리케이션에 의해 적절하게 사용될 수 있는 장치(950)에 부가적인 네비게이션 및 위치 관련 무선 데이터를 제공할 수 있다. 오디오 코덱 (960)은 사용자로부터 음성 정보를 수신하여 그것을 이용 가능한 디지털 정보로 변환할 수 있다. 오디오 코덱(960)은 마찬가지로, 예를 들어 장치(950)의 핸드셋 내의 스피커를 통하는 것과 같이, 사용자를 위한 가청음을 생성할 수 있다. 이러한 음은 음성 전화 호출로부터의 사운드를 포함할 수 있고, 녹화음(예를 들어, 음성 메시지, 음악 파일)을 포함할 수 있으며 또한 장치(950)상에서 동작하는 어플리케이션에 의해 생성된 음을 포함할 수도 있다.
컴퓨팅 장치(950)는 도면에 도시된 바와 같이 다수의 상이한 형태로 구현될 수 있다. 예를 들어, 그것은 셀룰러 전화(980)로서 구현될 수 있다. 또한 스마트폰(982), 개인 휴대 정보 단말기(personal digital assistant), 또는 다른 유사한 이동 장치의 일부로서 구현될 수도 있다.
전술한 예시적인 실시예들 중 일부는 흐름도로서 기술된 프로세스들 또는 방법들로서 개시된다. 상기 흐름도가 동작들을 순차적인 프로세스들로서 설명하지만, 많은 동작들이 병렬로, 병행하여 또는 동시에 수행될 수 있다. 또한, 동작들의 순서가 재배열될 수 있다. 상기 프로세스는 동작이 완료될 때 종료될 수 있지만 도면에 포함되지 않은 추가 단계를 또한 가질 수 있다. 상기 프로세스는 방법, 함수, 절차, 서브 루틴, 서브 프로그램 등에 대응될 수 있다. Some of the example embodiments described above are disclosed as processes or methods described as flow diagrams. Although the flowchart describes the operations as sequential processes, many of the operations can be performed in parallel, in parallel or concurrently. In addition, the order of the operations may be rearranged. The process may end when the operation is completed but may also have additional steps not included in the figures. The process may correspond to a method, a function, a procedure, a subroutine, a subprogram, or the like.
흐름도에 의해 개시된 전술한 방법들의 일부는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로 코드, 하드웨어 기술 언어 또는 이들의 임의의 조합에 의해 구현될 수 있다. 소프트웨어, 펌웨어, 미들웨어 또는 마이크로 코드로 구현될 때, 필요한 태스크를 수행하기 위한 프로그램 코드 또는 코드 세그먼트는 저장 매체와 같은 기계 또는 컴퓨터 판독 가능 매체에 저장될 수 있다. 프로세서(들)가 필요한 태스크를 수행할 수 있다.Some of the foregoing methods disclosed by the flowcharts may be implemented by hardware, software, firmware, middleware, microcode, hardware description language, or any combination thereof. When implemented in software, firmware, middleware, or microcode, program code or code segments for performing a required task may be stored on a machine or computer readable medium, such as a storage medium. The processor (s) may perform the necessary tasks.
본 명세서에 개시된 특정 구조적 및 기능적 세부 사항은 단지 예시적인 실시예를 기술할 목적을 위한 대표적 예일 뿐이다. 그러나, 예시적인 실시예들은 많은 대안적인 형태로 구체화될 수 있으며, 여기에 설명된 실시예들에만 한정되는 것으로 해석되어서는 안된다.The specific structural and functional details disclosed herein are merely representative examples for the purpose of describing exemplary embodiments. However, example embodiments may be embodied in many alternative forms and should not be construed as limited to the embodiments set forth herein.
제1, 제2등의 용어가 본 명세서에서 다양한 구성 요소를 설명하기 위해 사용될 수 있지만, 이들 구성 요소는 이들 용어에 의해 제한되어서는 안 된다는 것을 이해할 것이다. 이 용어는 한 요소를 다른 요소와 구별하기 위해서만 사용된다. 예를 들어, 제1구성요소는 제2구성요소로 지칭될 수 있고, 유사하게, 제2구성요소는 예시적인 실시예들의 범위를 벗어나지 않고 제1구성요소로 지칭될 수 있다. 본 명세서에 사용된 바와 같이, 상기 용어는 관련되어 목록화된 항목들 중 하나 이상의 임의의 및 모든 조합을 포함한다.Although the terms first, second, etc. may be used herein to describe various components, it will be understood that these components should not be limited by these terms. This term is only used to distinguish one element from another. For example, the first component may be referred to as the second component, and similarly, the second component may be referred to as the first component without departing from the scope of the exemplary embodiments. As used herein, the term includes any and all combinations of one or more of the items listed in relation thereto.
구성요소가 다른 구성요소에 연결되거나 연결되는 것으로 언급될 때, 구성요소는 다른 구성요소에 직접 연결되거나 연결될 수 있거나 또는 개입(intervening) 구성요소가 존재할 수 있음을 알 수 있다. 반대로, 구성요소가 다른 구성요소에 직접 연결되거나 직접 연결되는 것으로 언급될 때 개입 구성요소는 존재하지 않는다. 구성요소들간의 관계를 기술하기 위해 사용된 다른 단어들은 유사한 방식으로(예를 들어, 사이에 대 직접 사이에, 인접한 대 직접 등) 해석되어야 한다.When a component is referred to as being connected or connected to another component, it may be appreciated that the component may be directly connected or connected to another component or that an intervening component may exist. In contrast, an intervening component does not exist when the component is referred to as being directly connected or directly connected to another component. Other words used to describe the relationships between components should be interpreted in a similar manner (eg, between vs. directly between, adjacent vs. direct, etc.).
본 명세서에 사용된 용어는 단지 특정 실시예를 기술하기 위한 것이며, 예시적인 실시예를 제한하려는 것은 아니다. 본 명세서에서 사용된 단수 형태 a, an 및 the는 문맥상 다르게 나타내지 않는 한, 복수 형태를 포함하는 것으로 여겨진다. 본 명세서에서 사용된 용어는 명시된 특징, 정수, 단계, 동작, 구성 요소 및/또는 구성 요소의 존재를 명시하고 포함하고/포함하는 것을 포함하지만 이들로 한정되는 것은 아니며, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소(elements) 및/또는 구성 요소(components)를 포함할 수 있다.The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments. As used herein, the singular forms a, an, and the are intended to include the plural forms unless the context clearly indicates otherwise. The terminology used herein includes, but is not limited to, specifying and including and / or including the specified features, integers, steps, operations, components and / or presence of components, one or more other features, integers, It may include steps, actions, elements and / or components.
또한, 일부 대체 구현들에서, 언급된 기능들/동작들은 도면들에 기록된 순서를 벗어날 수 있다는 것을 알아야 한다. 예를 들어 연속적으로 표시된 두 개의 도면은 실제로 동시에 실행될 수도 있고 관련된 기능/작동에 따라 역순으로 실행될 수도 있다.In addition, it should be appreciated that in some alternative implementations, the functions / acts mentioned may deviate from the order recorded in the figures. For example, two figures shown in succession may actually be executed simultaneously or in reverse order depending on the function / operation involved.
전술한 예시적인 실시예의 일부분 및 해당하는 상세한 설명은 소프트웨어, 또는 컴퓨터 메모리 내의 데이터 비트에 대한 연산의 알고리즘 및 심볼 표현에 관련하여 제공된다. 이러한 설명 및 표현은 당업자가 그들의 작업 내용을 다른 당업자에게 효과적으로 전달하는 것이다. 본 명세서에서 사용된 용어인 알고리즘은 일반적으로 사용되는 것처럼 원하는 결과를 유도하는 단계들의 일관된 순서가 될 수 있음을 내포하고 있다. 이 단계는 물리량의 물리적으로 조작을 요구하는 단계이다. 일반적으로, 반드시 그런 것은 아니지만, 이러한 양은 저장, 전송, 결합, 비교 및 기타 조작이 가능한 광학, 전기 또는 자기 신호의 형태를 취한다. 주로 공통적인 사용을 이유로 이 신호를 비트, 값, 요소, 기호, 문자, 용어, 숫자 등으로 참조하는 것이 편리하다는 것이 입증되었다.Portions of the foregoing exemplary embodiments and corresponding detailed descriptions are provided in connection with algorithms and symbolic representations of operations on data bits in software, or computer memory. These descriptions and representations are the ones by which those of ordinary skill in the art effectively convey the substance of their work to others skilled in the art. The term algorithm, as used herein, implies that there may be a consistent sequence of steps leading to a desired result as is generally used. This step is a step that requires physical manipulation of the physical quantity. Generally, though not necessarily, these quantities take the form of optical, electrical or magnetic signals capable of being stored, transmitted, combined, compared and otherwise manipulated. It is proven to be convenient to refer to this signal as bits, values, elements, symbols, letters, terms, numbers, etc., mainly for common uses.
상기 예시적인 실시예에서, 동작의 참조와 프로그램 모듈 또는 기능적 프로세스로서 구현될 수 있는 동작(예를 들어, 흐름도의 형태로)의 심볼적 표현은, 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하며 기존 구조 요소에서 기존 하드웨어를 사용하여 설명 및/또는 구현될 수 있는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 그러한 기존 하드웨어는 하나 이상의 중앙 처리 장치(CPU), 디지털 신호 프로세서(DSP), 응용 목적 집적 회로, FPGA(field programmable gate arrays) 컴퓨터 등을 포함할 수 있다.In the above exemplary embodiment, the reference to the operations and the symbolic representation of the operations (eg in the form of a flowchart), which may be implemented as a program module or a functional process, perform a particular task or implement a particular abstract data type. Existing structural elements include routines, programs, objects, components, data structures, etc. that can be described and / or implemented using existing hardware. Such existing hardware may include one or more central processing units (CPUs), digital signal processors (DSPs), application integrated circuits, field programmable gate arrays (FPGAs) computers, and the like.
그러나 이러한 모든 용어와 유사한 용어는 적절한 물리량과 관련되어 있으며 이러한 양에 적용되는 편리한 표시일 뿐이다. 다르게 구체적으로 기술되지 않거나 논의에서 명백한 경우를 제외하고, 프로세싱 또는 컴퓨팅 또는 표시의 계산 또는 결정과 같은 용어는, 컴퓨터 시스템의 레지스터 또는 메모리 내의 물리적, 전자적 양으로 표현된 데이타를 컴퓨터 시스템의 메모리 또는 레지스터 또는 다른 정보 저장 장치, 전송 장치 또는 디스플레이 내의 물리량으로 유사하게 표현되는 다른 데이터로 조작 및 변환하는 컴퓨터 시스템 또는 유사한 전자 컴퓨팅 장치의 동작 및 프로세스를 참조한다. However, all of these terms and similar terms are related to the appropriate physical quantities and are merely convenient indications applied to these quantities. Except as otherwise specifically described or otherwise apparent in the discussion, such terms as processing or computing or calculating or determining a representation refer to data expressed in physical or electronic quantities in a register or memory of a computer system or in a memory or register of a computer system. Or operations and processes of a computer system or similar electronic computing device that manipulates and transforms into other information storage devices, transmission devices, or other data similarly represented by physical quantities within a display.
또한, 예시적인 실시예의 소프트웨어로 구현된 양태들은 통상적으로 어떤 형태의 비 일시적인 프로그램 저장 매체상에 인코딩되거나 또는 어떤 유형의 전송 매체를 통해 구현된다는 점에 유의해야 한다. 프로그램 저장 매체는 자기(예를 들어, 플로피 디스크 또는 하드 드라이브) 또는 광학(예를 들어,콤팩트 디스크 판독 전용 메모리, 또는 CD ROM) 일 수 있으며, 판독 전용 또는 랜덤 액세스일 수 있다. 유사하게, 전송 매체는 꼬인 전선 쌍, 동축 케이블, 광섬유, 또는 당업계에 공지된 다른 적절한 전송 매체일 수 있다. 예시적인 실시예들은 임의의 주어진 구현의 양상들에 의해 제한되지 않는다.It should also be noted that software implemented aspects of the exemplary embodiments are typically encoded on some form of non-transitory program storage medium or implemented on some type of transmission medium. The program storage medium may be magnetic (eg, floppy disk or hard drive) or optical (eg, compact disc read-only memory, or CD ROM), and may be read-only or random access. Similarly, the transmission medium may be a twisted wire pair, coaxial cable, optical fiber, or other suitable transmission medium known in the art. Example embodiments are not limited by any given aspect of the implementation.
마지막으로, 첨부된 청구 범위는 본 명세서에 설명된 특징들의 특정 조합을 설명하고 있지만, 본 개시의 범위는 이후에 청구된 특정 조합으로 제한되지 않고, 대신에 특징 또는 특징의 임의의 조합을 포함하도록 확장된다는 것을 주목해야 한다. 이 특정 조합이 현재 첨부된 청구 범위에서 구체적으로 열거되었는 지의 여부와 무관하게 본원의 실시예가 개시된다.Finally, while the appended claims describe particular combinations of features described herein, the scope of the present disclosure is not limited to the specific combinations that are subsequently claimed, but instead include features or any combination of features. Note that it expands. The embodiments herein are disclosed whether or not this particular combination is specifically listed in the appended claims.
Claims (20)
상기 복수의 이력 뷰 시점 중 하나와 관련된 순위값이 임계값보다 크고 상기 복수의 이력 뷰 시점의 나머지에 대한 조건을 만족하는지 여부를 결정하는 단계;
상기 순위값이 임계값보다 크고 상기 조건을 만족한다는 결정에 응답하여, 3D 영상과 관련된 적어도 하나의 선호 뷰 시점으로서 상기 복수의 이력 뷰 시점 중 하나를 선택하는 단계;
3D영상의 프레임을 2차원(2D) 표현(representation)으로 매핑하는 단계;
상기 적어도 하나의 선호 뷰 시점에 해당하는 상기 프레임의 2D 표현의 제1부분을 제1품질로 인코딩하는 단계; 및
상기 프레임의 2D표현의 제2부분을 제2품질로 인코딩하는 단계를 포함하고, 상기 제1품질은 제2품질과 비교하여 더 높은 품질인 것을 특징으로 하는 방법.Storing the view viewpoint as one of a plurality of historical view perspectives for the 3D image based on the historically viewed view viewpoint associated with the three-dimensional (3D) image;
Determining whether a rank value associated with one of the plurality of history view views is greater than a threshold and satisfies a condition for the remainder of the plurality of history view views;
In response to determining that the rank value is greater than a threshold and satisfies the condition, selecting one of the plurality of historical view viewpoints as at least one preferred view viewpoint associated with a 3D image;
Mapping a frame of the 3D image to a two-dimensional (2D) representation;
Encoding a first portion of a 2D representation of the frame corresponding to the at least one preferred view viewpoint with a first quality; And
Encoding a second portion of the 2D representation of the frame with a second quality, wherein the first quality is higher quality compared to the second quality.
상기 프레임의 2D 표현의 상기 인코딩된 제1부분을 데이터 저장장치에 저장하는 단계;
상기 3D영상의 인코딩된 프로임으로서 상기 프레임의 2D 표현의 상기 인코딩된 제1부분과 관련하여 상기 프레임의 2D 표현의 제2부분을 데이터 저장장치에 저장하는 단계;
스트리밍 영상의 프레임에 대한 요청을 수신하는 단계; 및
상기 스트리밍 영상의 프레임에 대한 요청을 수신하는 것에 응답하여, 상기 3D영상의 상기 인코딩된 프레임의 적어도 일부를 상기 스트리밍 영상의 프레임으로서 데이터 저장장치로부터 스트리밍하는 단계;를 더 포함하는 것을 특징으로 하는 방법.The method of claim 1,
Storing the encoded first portion of the 2D representation of the frame in a data storage device;
Storing a second portion of the 2D representation of the frame in a data storage device in association with the encoded first portion of the 2D representation of the frame as an encoded profile of the 3D image;
Receiving a request for a frame of a streaming video; And
In response to receiving a request for a frame of the streaming video, streaming at least a portion of the encoded frame of the 3D video from a data storage device as a frame of the streaming video. .
스트리밍 영상의 프레임에 대한 요청을 수신하는 단계, 상기 요청은 사용자 뷰 시점의 표시를 포함하고;
사용자 뷰 시점에 해당하는 3D영상의 프레임의 상기 2D 표현의 상기 인코딩된 제1 부분을 선택하는 단계; 및
상기 스트리밍 영상의 프레임에 대한 요청을 수신하는 것에 응답하여, 상기 3D영상의 프레임의 상기 2D 표현의 선택된 상기 인코딩된 제1부분과 상기 3D영상의 프레임의 상기 2D 표현의 상기 인코딩된 제2부분을 스트리밍 영상의 프레임으로서 스트리밍하는 단계를 더 포함하는 것을 특징으로 하는 방법.The method of claim 1,
Receiving a request for a frame of a streaming video, the request comprising an indication of a user view point of view;
Selecting the encoded first portion of the 2D representation of a frame of 3D image corresponding to a user view viewpoint; And
In response to receiving a request for a frame of the streaming image, select the encoded first portion of the 2D representation of the frame of the 3D image and the encoded second portion of the 2D representation of the frame of the 3D image. And streaming as a frame of the streaming video.
스트리밍 영상의 프레임에 대한 요청을 수신하는 단계, 상기 요청은 3D 영상과 관련된 사용자 뷰 시점의 표시를 포함하고;
사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있는지 결정하는 단계;
사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있다는 결정에 응답하여, 사용자 뷰 시점과 관련된 카운터를 증가시키는 단계; 및
사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있다는 결정에 응답하여, 사용자 뷰 시점을 뷰 시점 데이터 저장장치에 추가하고 사용자 뷰 시점과 관련된 카운터를 1로 설정하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 1,
Receiving a request for a frame of a streaming video, the request comprising an indication of a user view viewpoint associated with the 3D video;
Determining whether a user view viewpoint is stored in the view viewpoint data storage;
In response to determining that the user view viewpoint is stored in the view viewpoint data storage, incrementing a counter associated with the user view viewpoint; And
In response to determining that the user view viewpoint is stored in the view viewpoint data storage, adding the user view viewpoint to the view viewpoint data storage and setting a counter associated with the user view viewpoint to one. .
3D영상의 프레임의 상기 2D 표현의 제2부분을 인코딩하는 단계는 제1패스 인코딩 동작에서 적어도 하나의 제1QoS 파라미터를 이용하는 단계를 포함하고,
3D영상의 프레임의 상기 2D 표현의 제1부분을 인코딩하는 단계는 제2패스 인코딩 동작에서 적어도 하나의 제QoS 파라미터를 이용하는 단계를 포함하는 것을 특징으로 하는 방법.The method of claim 1,
Encoding the second portion of the 2D representation of the frame of the 3D image comprises using at least one first QoS parameter in a first pass encoding operation,
Encoding the first portion of the 2D representation of a frame of a 3D image comprises using at least one QoS parameter in a second pass encoding operation.
상기 3D 영상과 관련된 적어도 하나의 선호 뷰 시점을 결정하는 단계는 이력 시청된 기준점 및 이력 시청된 뷰 시점 중 적어도 하나에 기초하는 것을 특징으로 하는 방법.The method of claim 1,
And determining at least one preferred view viewpoint associated with the 3D image is based on at least one of a history viewed reference point and a history viewed view viewpoint.
상기 3D영상과 관련된 적어도 하나의 선호 뷰 시점은 3D영상의 뷰어 방향, 3D영상의 뷰어 위치, 3D영상의 뷰어 포인트 및 3D 영상의 뷰어 결상점 중 적어도 하나에 근거하는 것을 특징으로 하는 방법.The method of claim 1,
The at least one preferred view viewpoint associated with the 3D image is based on at least one of a viewer direction of the 3D image, a viewer position of the 3D image, a viewer point of the 3D image, and a viewer imaging point of the 3D image.
3D영상과 관련된 적어도 하나의 선호 뷰 시점을 결정하는 단계는 디폴트 뷰 시점에 근거하고,
상기 디폴트 뷰 시점은
디스플레이 장치의 사용자 특성,
디스플레이의 사용자와 관련된 그룹의 특성,
디렉터스 컷, 및
3D영상의 특성 중 적어도 하나에 근거하는 것을 특징으로 하는 방법.The method of claim 1,
Determining at least one preferred view viewpoint associated with the 3D image is based on a default view viewpoint,
The default view point is
User characteristics of the display device,
The characteristics of the group related to the user of the display,
Director's cut, and
And at least one of the characteristics of the 3D image.
제1품질로 3D영상의 프레임의 상기 2D 표현의 제2부분의 적어도 하나의 부분을 반복적으로 인코딩하는 단계; 및
3D영상의 프레임의 상기 2D 표현의 제2부분의 상기 적어도 하나의 부분을 스트리밍하는 단계를 더 포함하는 것을 특징으로 하는 방법.The method of claim 1,
Iteratively encoding at least one portion of the second portion of the 2D representation of the frame of the 3D image with a first quality; And
Streaming said at least one portion of said second portion of said 2D representation of a frame of 3D video.
컨트롤러로와, 상기 컨트롤러는,
상기 복수의 이력 뷰 시점 중 하나와 관련된 순위값이 임계값보다 크고 상기 복수의 이력 뷰 시점의 나머지에 대한 조건을 만족하는지 여부를 결정하고; 그리고
상기 순위값이 임계값보다 크고 상기 조건을 만족한다는 결정에 응답하여, 3D영상과 관련된 적어도 하나의 선호 뷰 시점으로서 상기 복수의 이력 뷰 시점 중 하나를 선택하고;
인코더를 포함하고, 상기 인코더는,
상기 적어도 하나의 선호 뷰 시점에 해당하는 상기 3D 영상 프레임의 2D 표현의 제1부분을 제1품질로 인코딩하고; 그리고
상기 프레임의 2D표현의 제2부분을 제2품질로 인코딩하며, 상기 제1품질은 제2품질과 비교하여 더 높은 품질인 것을 특징으로 하는 스트리밍 서버.A memory configured to store a plurality of historical view viewpoints for the 3D image based on historically viewed view viewpoints associated with three-dimensional (3D) images, wherein the plurality of historical view viewpoints are associated with a plurality of users of the 3D images Become;
As a controller, the controller,
Determine whether a rank value associated with one of the plurality of history view views is greater than a threshold and satisfies a condition for the remainder of the plurality of history view views; And
In response to determining that the rank value is greater than a threshold and satisfies the condition, select one of the plurality of historical view viewpoints as at least one preferred view viewpoint associated with a 3D image;
An encoder, wherein the encoder,
Encode a first portion of a 2D representation of the 3D image frame corresponding to the at least one preferred view viewpoint with a first quality; And
And encoding a second portion of the 2D representation of the frame with a second quality, wherein the first quality is higher quality compared to the second quality.
데이터 저장장치에 상기 프레임의 2D 표현의 상기 인코딩된 제1부분을 저장하고,
데이터 저장장치에 3D영상의 인코딩된 프로임으로서 상기 프레임의 2D 표현의 상기 인코딩된 제1부분과 관련하여 상기 프레임의 2D 표현의 제2부분을 저장하며,
스트리밍 영상의 프레임에 대한 요청을 수신하여,
상기 스트리밍 영상의 프레임에 대한 요청을 수신하는 것에 응답하여, 데이터 저장장치로부터 3D영상의 상기 인코딩된 프레임의 적어도 일부를 상기 스트리밍 영상의 프레임으로서 스트리밍하도록 하는 것을 특징으로 하는 스트리밍 서버.The method of claim 10, wherein the controller,
Store the encoded first portion of the 2D representation of the frame in a data storage device,
Storing a second portion of the 2D representation of the frame in relation to the encoded first portion of the 2D representation of the frame as an encoded profile of a 3D image in a data storage device,
By receiving a request for a frame of a streaming video,
And in response to receiving the request for the frame of the streaming video, stream at least a portion of the encoded frame of the 3D video as a frame of the streaming video from a data storage device.
스트리밍 영상의 프레임에 대한 요청을 수신하고, 상기 요청은 사용자 뷰 시점의 지시를 포함하고,
사용자 뷰 시점에 해당하는 3D영상의 상기 프레임의 2D 표현의 상기 인코딩된 제1부분을 선택하며,
상기 스트리밍 영상의 프레임에 대한 요청을 수신하는 것에 응답하여, 상기 3D영상의 프레임의 상기 2D 표현의 선택된 상기 인코딩된 제1부분과 상기 3D영상의 프레임의 상기 2D 표현의 상기 인코딩된 제2부분을 스트리밍 영상의 프레임으로서 스트리밍하도록 하도록 더 구성되는 것을 특징으로 하는 스트리밍 서버.The method of claim 10, wherein the controller,
Receiving a request for a frame of the streaming video, the request including an indication of a user view point of view,
Select the encoded first portion of the 2D representation of the frame of the 3D image corresponding to a user view point of view,
In response to receiving a request for a frame of the streaming image, select the encoded first portion of the 2D representation of the frame of the 3D image and the encoded second portion of the 2D representation of the frame of the 3D image. And further configured to stream as a frame of the streaming video.
3D영상과 관련된 사용자 뷰 시점의 표시를 포함하는 스트리밍 영상의 프레임에 대한 요청을 수신하고,
사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있는지 결정하고,
사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있다고 결정되면, 사용자 뷰 시점과 연관된 카운터를 증가시키고,
사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있지 않다고 결정되면, 사용자 뷰 시점을 뷰 시점 데이터 저장장치에 추가하고 사용자 뷰 시점과 관련된 카운터를 1로 설정하도록 더 구성되는 것을 특징으로 하는 스트리밍 서버.The method of claim 10, wherein the controller,
Receiving a request for a frame of a streaming video including an indication of a user's view point in relation to the 3D image,
Determine if a user view point is stored in the view point data storage,
If it is determined that the user view viewpoint is stored in the view viewpoint data storage, increment the counter associated with the user view viewpoint,
And if it is determined that the user view viewpoint is not stored in the view viewpoint data storage, the streaming server is further configured to add the user view viewpoint to the view viewpoint data storage and set a counter associated with the user view viewpoint to one.
3D영상의 프레임의 상기 2D 표현의 제2부분을 인코딩하는 것은 제1패스 인코딩 동작에서 적어도 하나의 제1 QoS 파라미터를 이용하는 것을 포함하고,
3D영상의 프레임의 상기 2D 표현의 제1부분을 인코딩하는 것은 제2패스 인코딩 동작에서 적어도 하나의 제2 QoS 파라미터를 이용하는 것을 포함하는 것을 특징으로 하는 스트리밍 서버.The method of claim 10,
Encoding the second portion of the 2D representation of a frame of 3D image comprises using at least one first QoS parameter in a first pass encoding operation,
Encoding the first portion of the 2D representation of a frame of 3D video comprises using at least one second QoS parameter in a second pass encoding operation.
상기 3D영상과 관련된 적어도 하나의 선호 뷰 시점은 3D영상의 뷰어 방향, 3D영상의 뷰어 위치, 3D영상의 뷰어 포인트 및 3D 영상의 뷰어 결상점 중 적어도 하나에 근거하는 것을 특징으로 하는 스트리밍 서버.The method of claim 10,
The at least one preferred view viewpoint associated with the 3D image is based on at least one of a viewer direction of the 3D image, a viewer position of the 3D image, a viewer point of the 3D image, and a viewer imaging point of the 3D image.
3D영상과 관련된 적어도 하나의 선호 뷰 시점을 결정하는 것은 디폴트 뷰 시점에 근거하고,
상기 디폴트 뷰 시점은
디스플레이 장치 사용자의 특성,
디스플레이 장치 사용자와 관련된 그룹의 특성,
디렉터스 컷, 및
상기 3D영상의 특성 중 적어도 하나에 근거하는 것을 특징으로 하는 스트리밍 서버.The method of claim 10,
Determining at least one preferred view viewpoint associated with the 3D image is based on a default view viewpoint,
The default view point is
Characteristics of display device users,
Characteristics of groups related to display device users,
Director's cut, and
Streaming server, characterized in that based on at least one of the characteristics of the 3D image.
제1품질로 3D영상의 프레임의 상기 2D 표현의 제2부분의 적어도 하나의 부분을 반복적으로 인코딩하고,
3D영상의 프레임의 상기 2D 표현의 제2부분의 상기 적어도 하나의 부분을 스트리밍하도록 더 구성되는 것을 특징으로 하는 스트리밍 서버.The method of claim 10, wherein the controller,
Iteratively encoding at least one portion of the second portion of the 2D representation of the frame of the 3D image with a first quality,
And the at least one portion of the second portion of the 2D representation of a frame of 3D video.
상기 사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있는지 결정하는 단계;
상기 사용자 뷰 시점이 상기 뷰 시점 데이터 저장장치에 저장되어 있다는 결정에 응답하여:
상기 사용자 뷰 시점과 연관된 순위값을 증가시키고,
상기 순위값이 임계값보다 크고 상기 복수의 이력 뷰 시점의 나머지에 대한 조건을 만족하는지 여부를 결정하고, 그리고
상기 순위값이 상기 임계값보다 크고 상기 조건을 만족한다는 결정에 응답하여, 상기 사용자 뷰 시점을 상기 3차원(3D) 영상와 관련된 적어도 하나의 선호 뷰 시점으로서 선택하는 단계; 및
상기 사용자 뷰 시점이 뷰 시점 데이터 저장장치에 저장되어 있지 않다는 결정에 응답하여, 상기 사용자 시점을 뷰 시점 데이터 저장장치에 추가하고 사용자 뷰 시점과 연관된 순위값을 1로 설정하는 단계를 포함하는 것을 특징으로 하는 방법.Receiving a request for a frame of a streaming image, the request includes an indication of a user view viewpoint associated with a 33D (3D) image, wherein the user view viewpoint is a plurality of historical views of the 33D (3D) image One of the historical view perspectives, representing a focal point of the user on a portion of the 33D (3D) image;
Determining whether the user view viewpoint is stored in a view viewpoint data storage;
In response to determining that the user view viewpoint is stored in the view viewpoint data storage:
Increase a rank value associated with the user view point of view,
Determine whether the rank value is greater than a threshold and satisfies a condition for the remainder of the plurality of historical view viewpoints, and
In response to determining that the rank value is greater than the threshold and satisfies the condition, selecting the user view viewpoint as at least one preferred view viewpoint associated with the three-dimensional (3D) image; And
In response to determining that the user view viewpoint is not stored in the view viewpoint data storage, adding the user viewpoint to the view viewpoint data storage and setting a rank value associated with the user view viewpoint to one. How to.
3D영상의 프레임을 2차원(2D) 표현(representation)으로 매핑하는 단계;
상기 적어도 하나의 선호 뷰 시점에 해당하는 상기 프레임의 2D 표현의 제1부분을 제1품질로 인코딩하는 단계; 및
상기 프레임의 2D표현의 제2부분을 제2품질로 인코딩하는 단계를 더 포함하고, 상기 제1품질은 제2품질에 비하여 더 높은 품질인 것을 특징으로 하는 방법.The method of claim 19,
Mapping a frame of the 3D image to a two-dimensional (2D) representation;
Encoding a first portion of a 2D representation of the frame corresponding to the at least one preferred view viewpoint with a first quality; And
Encoding a second portion of the 2D representation of the frame with a second quality, wherein the first quality is higher quality than the second quality.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562167261P | 2015-05-27 | 2015-05-27 | |
US62/167,261 | 2015-05-27 | ||
PCT/US2016/034698 WO2016191702A1 (en) | 2015-05-27 | 2016-05-27 | Method and apparatus to reduce spherical video bandwidth to user headset |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20170122791A KR20170122791A (en) | 2017-11-06 |
KR101969943B1 true KR101969943B1 (en) | 2019-08-13 |
Family
ID=56137532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177027231A KR101969943B1 (en) | 2015-05-27 | 2016-05-27 | Method and apparatus for reducing spherical image bandwidth to a user headset |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP3304895A1 (en) |
JP (1) | JP6672327B2 (en) |
KR (1) | KR101969943B1 (en) |
CN (1) | CN107409203A (en) |
WO (1) | WO2016191702A1 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11164606B2 (en) * | 2017-06-30 | 2021-11-02 | Qualcomm Incorporated | Audio-driven viewport selection |
US11290758B2 (en) | 2017-08-30 | 2022-03-29 | Samsung Electronics Co., Ltd. | Method and apparatus of point-cloud streaming |
WO2019068310A1 (en) * | 2017-10-02 | 2019-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for improved encoding of immersive video |
CN109996069B (en) * | 2018-01-03 | 2021-12-10 | 华为技术有限公司 | Video image coding and decoding method and device |
EP3515082B1 (en) * | 2018-01-19 | 2020-05-13 | Nokia Technologies Oy | Server device for streaming video content and client device for receiving and rendering video content |
CN109089097A (en) * | 2018-08-28 | 2018-12-25 | 恒信东方文化股份有限公司 | A kind of object of focus choosing method based on VR image procossing |
WO2021097803A1 (en) * | 2019-11-22 | 2021-05-27 | 北京小米移动软件有限公司 | Resource switching method and apparatus and storage medium |
WO2023090961A1 (en) * | 2021-11-22 | 2023-05-25 | 주식회사 컬러버스 | System and method for providing plurality of pieces of three-dimensional content by using web browser |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120297407A1 (en) * | 2009-04-06 | 2012-11-22 | International Business Machines Corporation | Content recorder multi-angle viewing and playback |
US20130278732A1 (en) * | 2012-04-24 | 2013-10-24 | Mobitv, Inc. | Control of perspective in multi-dimensional media |
US20140270692A1 (en) * | 2013-03-18 | 2014-09-18 | Nintendo Co., Ltd. | Storage medium storing information processing program, information processing device, information processing system, panoramic video display method, and storage medium storing control data |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3579526B2 (en) * | 1995-10-31 | 2004-10-20 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | Method and system for processing access to storage device |
JP2004072694A (en) * | 2002-08-09 | 2004-03-04 | Sony Corp | Information providing system and method, information providing apparatus and method, recording medium, and program |
CN101453639B (en) * | 2007-11-29 | 2012-05-30 | 展讯通信(上海)有限公司 | Encoding, decoding method and system for supporting multi-path video stream of ROI region |
US8863204B2 (en) * | 2010-12-20 | 2014-10-14 | Comcast Cable Communications, Llc | Cache management in a video content distribution network |
US9106934B2 (en) * | 2013-01-29 | 2015-08-11 | Espial Group Inc. | Distribution of adaptive bit rate live streaming video via hyper-text transfer protocol |
JP2014157459A (en) * | 2013-02-15 | 2014-08-28 | Nippon Telegr & Teleph Corp <Ntt> | Cache device, content distribution system, and content distribution method |
KR20200045013A (en) * | 2013-07-15 | 2020-04-29 | 소니 주식회사 | Extensions of motion-constrained tile sets sei message for interactivity |
-
2016
- 2016-05-27 KR KR1020177027231A patent/KR101969943B1/en active IP Right Grant
- 2016-05-27 EP EP16730574.7A patent/EP3304895A1/en not_active Withdrawn
- 2016-05-27 CN CN201680019374.5A patent/CN107409203A/en active Pending
- 2016-05-27 WO PCT/US2016/034698 patent/WO2016191702A1/en active Application Filing
- 2016-05-27 JP JP2017550903A patent/JP6672327B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120297407A1 (en) * | 2009-04-06 | 2012-11-22 | International Business Machines Corporation | Content recorder multi-angle viewing and playback |
US20130278732A1 (en) * | 2012-04-24 | 2013-10-24 | Mobitv, Inc. | Control of perspective in multi-dimensional media |
US20140270692A1 (en) * | 2013-03-18 | 2014-09-18 | Nintendo Co., Ltd. | Storage medium storing information processing program, information processing device, information processing system, panoramic video display method, and storage medium storing control data |
Also Published As
Publication number | Publication date |
---|---|
JP6672327B2 (en) | 2020-03-25 |
JP2018522430A (en) | 2018-08-09 |
KR20170122791A (en) | 2017-11-06 |
CN107409203A (en) | 2017-11-28 |
WO2016191702A1 (en) | 2016-12-01 |
EP3304895A1 (en) | 2018-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101969943B1 (en) | Method and apparatus for reducing spherical image bandwidth to a user headset | |
US20160353146A1 (en) | Method and apparatus to reduce spherical video bandwidth to user headset | |
CN107667534B (en) | Playing spherical video in a limited bandwidth connection | |
KR102013403B1 (en) | Spherical video streaming | |
US10681377B2 (en) | Streaming the visible parts of a spherical video | |
US9917877B2 (en) | Streaming the visible parts of a spherical video | |
US10277914B2 (en) | Measuring spherical image quality metrics based on user field of view | |
JP7205485B2 (en) | Method and streaming server for image processing that optimizes image resolution for VR video and optimizes video streaming bandwidth | |
US9918094B2 (en) | Compressing and representing multi-view video | |
CN109792562B (en) | Content-based stream segmentation of video data | |
WO2019202207A1 (en) | Processing video patches for three-dimensional content | |
US20170103577A1 (en) | Method and apparatus for optimizing video streaming for virtual reality | |
US10754242B2 (en) | Adaptive resolution and projection format in multi-direction video | |
US10554953B2 (en) | Distortion of video for seek in 360 degree video | |
Chen et al. | Optimized viewport‐adaptive 360‐degree video streaming | |
US20240119660A1 (en) | Methods for transmitting and rendering a 3d scene, method for generating patches, and corresponding devices and computer programs | |
CN114930812B (en) | Method and apparatus for decoding 3D video | |
US10944971B1 (en) | Method and apparatus for frame accurate field of view switching for virtual reality | |
US20230308625A1 (en) | Bitstream structure for immersive teleconferencing and telepresence for remote terminals | |
Xu et al. | Mixed tiling scheme for adaptive VR streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |