KR20170008725A - 콘텐트를 스트리밍하기 위한 방법들 및 장치 - Google Patents

콘텐트를 스트리밍하기 위한 방법들 및 장치 Download PDF

Info

Publication number
KR20170008725A
KR20170008725A KR1020167027231A KR20167027231A KR20170008725A KR 20170008725 A KR20170008725 A KR 20170008725A KR 1020167027231 A KR1020167027231 A KR 1020167027231A KR 20167027231 A KR20167027231 A KR 20167027231A KR 20170008725 A KR20170008725 A KR 20170008725A
Authority
KR
South Korea
Prior art keywords
scene
portions
user
content
degree
Prior art date
Application number
KR1020167027231A
Other languages
English (en)
Inventor
데이비드 마이클 콜
알란 맥케이 모스
Original Assignee
넥스트브이알 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 넥스트브이알 인코포레이티드 filed Critical 넥스트브이알 인코포레이티드
Publication of KR20170008725A publication Critical patent/KR20170008725A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • H04N13/0059
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • H04L65/607
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • H04N13/0048
    • H04N13/0055
    • H04N13/044
    • H04N13/0468
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/189Recording image signals; Reproducing recorded image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image
    • G09G2340/0407Resolution change, inclusive of the use of different resolutions for different screen areas
    • G09G2340/0435Change or adaptation of the frame rate of the video stream
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2350/00Solving problems of bandwidth in display systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

뷰의 360도 필드에 대응하는 콘텐트를 스트리밍하기 위한 방법들 및 장치가 기술된다. 본 발명의 방법들 및 장치는 사용자가 그의 머리를 돌려서 대응하는 장면 부분을 보게 하는 3D 몰입형 시스템들 및/또는 머리에 장착된 디스플레이와 함께 사용하기에 매우 적합하다. 방법들 및 장치는 뷰의 360도 필드에 대응하는 3D 이미지 콘텐트의 실시간 또는 거의 실시간 스트리밍을 지원할 수 있다.

Description

콘텐트를 스트리밍하기 위한 방법들 및 장치{METHODS AND APPARATUS FOR STREAMING CONTENT}
본 발명은 콘텐트, 예를 들면, 입체 영상 이미지 콘텐트의 적응식 스트리밍의 분야에 관한 것이고, 특히 입체 영상 비디오를 획득, 인코딩, 스트리밍, 및 디코딩하는 것에 관한 것이다.
몰입형 경험을 제공하도록 의도되는 디스플레이 디바이스들은 통상 사용자가 그들의 머리를 돌려서 디스플레이되는 장면에서 대응하는 변경을 경험하게 한다. 머리에 장착된 디스플레이들은 때때로 사용자가 디스플레이되는 장면이 사용자의 머리 위치가 변경됨에 따라 변하는 머리에 장착된 디스플레이를 착용하고 뒤돌아볼 수 있다는 점에서 360도 뷰잉을 지원한다.
이러한 디바이스들에 의해 사용자는 정면을 볼 때 카메라 위치 정면에 캡처되는 장면 및 사용자가 완전히 뒤돌았을 때 카메라 위치 뒤쪽에 캡처된 장면을 제공받아야 한다. 사용자가 그의 머리를 후방으로 돌릴 수 있지만, 임의의 주어진 시간에서 사용자의 시야는 통상 임의의 주어진 시간에서 제한된 시야를 인식하는 인간의 능력의 특성 때문에 120도 이하로 제한된다.
360도 뷰를 지원하기 위해, 360도 장면은 다수의 카메라들을 사용하여 캡처될 수 있고, 이미지들은 뷰잉에 이용가능하게 만들어진 360도 장면을 생성하기 위해 조합된다.
360도 뷰가, 사용자가 특정 시간점에 디스플레이될 이미지를 결정하기 위해 사용된 시야각을 변경하기 위한 기회를 가지지 않는 보통의 텔레비전 및 많은 다른 비디오 애플리케이션들을 위해 통상 캡처되어 인코딩되는, 간단한 정면 뷰보다 훨씬 더 많은 이미지 데이터를 포함한다는 것이 이해되어야 한다.
송신 제한들, 예를 들면, 스트리밍되는 콘텐트와 연관된 네트워크 데이터 제한들이 주어지면, 완전 고선명 비디오에서 완전한 360도 뷰를 콘텐트와 수신 및 그와 상호 작용하는 것을 추구하는 모든 고객들에게 스트리밍하는 것이 가능하지 않을 수 있다. 이는 특히 콘텐트가 3D 뷰잉 효과를 허용하는 왼쪽 및 오른쪽 눈 뷰들에 대응하도록 의도된 이미지 콘텐트를 포함하는 입체 영상 콘텐트인 경우이다.
상기 논의를 고려하면, 개별적인 사용자가, 예를 들면, 사용자의 머리를 돌림으로써 그의 뷰잉 위치를 변경하게 하고, 개별적인 사용자와 연관된 데이터 스트리밍 제한들 내에 유지하면서 360도 뷰의 원하는 부분을 보게 하는 방식으로 콘텐트의 스트리밍을 지원하기 위한 방법들 및 장치에 대한 필요가 존재한다는 것이 이해되어야 한다. 모든 실시예들에 필수적이지는 않지만, 적어도 몇몇 실시예들이 상이한 장소들의 다수의 사용자들이 동일한 시간에 스트림들을 수신하게 하고 다른 사용자들이 보는 부분 또는 부분들에 관계없이 그들이 원하는 360도 뷰 중 어떠한 별개의 부분들이라도 보게 하는 것이 바람직하다.
전달, 예를 들면, 360도 뷰잉 영역에 대응하는 비디오 또는 다른 콘텐트의 스트리밍을 지원하기 위한 방법들 및 장치가 기술된다. 본 발명의 방법들 및 장치는 데이터 송신 제한들이 콘텐트의 360도를 전달을 최대 지원된 품질 레벨로, 예를 들면, 최상의 품질 코딩 및 가장 큰 지원된 프레임 레이트를 사용하여 전달하는데 어렵게 할 수 있는 입체 영상 및/또는 다른 이미지 콘텐트의 스트리밍에 특히 적합하다. 방법들은 실시간으로 또는 거의 실시간으로 콘텐트를 인코딩 및 제공하기 위해 사용될 수 있지만, 이러한 실시간 애플리케이션들로 제한되지 않는다. 다수의 사용자들에 대한 실시간 및 거의 실시간 인코딩 및 스트리밍을 지원하기 위한 능력이 주어지면, 여기에 기술된 방법들 및 장치는 개인들이 이벤트를 보고 무대 또는 필드를 관찰할 뿐만 아니라 방향을 바꿔서 환경, 예를 들면, 경기장 또는 군중들의 뷰들을 인식할 수 있기를 원하는 스포츠 경기들, 콘서트들, 및/또는 다른 장소들의 장면들을 스트리밍하기에 적합하다. 360도 뷰잉 및 3d를 지원함으로써, 본 발명의 방법들 및 장치는 머리에 장착된 디스플레이가 있고 사용자의 머리가 왼쪽, 오른쪽, 또는 후방으로 방향을 바꾸는 경우일 때 방향을 바꿔 상이한 시야각들로부터의 장면들을 관찰하기 위한 자유도를 갖는 3d 몰입형 경험을 사용자에게 제공하도록 의도된 머리에 장착된 디스플레이들과 함께 사용하기에 적합하다.
다양한 실시예들에 따라, 이미지 콘텐트, 예를 들면, 영역의 360도 뷰에 대응하는 비디오 콘텐트는 N 개의 부분들로 분할되고, 각각의 부분은 360도 뷰의 상이한 부분에 대응하고, N은 적어도 2이다. 360도 뷰가 3 개의 부분들로 분할되는 몇몇 실시예들에서, 하나의 부분은 정면 180도 뷰에 대응하고, 제 2 부분은 왼쪽 후방 90도 부분에 대응하고, 다른 부분은 오른쪽 후방 90도 부분에 대응한다. 세 개의 부분들이 본 발명을 설명하는 목적들을 위해 기술되지만, 360도 장면은 더 많은 부분들로 분할될 수 있다. 또한, 몇몇 실시예들에서 부분들이 중첩되지 않지만, 다른 실시예들에서 부분들은 상이하지만 부분적으로 중첩된다.
비디오 콘텐트, 예를 들면, 2-D 또는 입체 영상(3D)은 상이한 데이터 레이트들을 갖는 부분이 스트림들을 통해 제공되게 하는 방식으로 인코딩된다. 몇몇 실시예들에서, 이는 동일한 콘텐트를 다수회 인코딩하는 것을 포함하고 각각의 인코딩이 상이한 데이터 레이트로, 또는 예를 들면, 확장층들에 의해, 인코딩된 데이터의 상이한 세트들이 상이한 데이터 레이트들 및 대응하여 품질의 상이한 레벨들을 지원하도록 공급되게 하는 방식으로 비디오 비트스트림을 생성한다. 몇몇 실시예들에서, 데이터 레이트들의 차이는 동일한 비디오 콘텐트이지만 상이한 해상도들을 갖는 다수의 버전들을 생성하기 위해, 공간적으로 상이한 해상도들에서, 예를 들면, 공간 도메인의 상이한 해상도들에서 콘텐트를 인코딩하는 것에 의한 것이다. 다른 실시예들에서, 데이터 레이트들의 차이는 시간적으로 상이한 해상도들에서 콘텐트를 인코딩하는 것에 의한 것이고, 예를 들면, 큰 데이터 레이트 스트림들과 비교될 때 낮은 데이터 레이트 스트림들의 경우 초당 수 프레임들이 사용된다. 이해되는 바와 같이, 시간적 및 공간적 해상도 둘 모두에서 감소들은 장면 영역의 부분에 대응하는 낮은 데이터 레이트 스트림들을 생성하기 위해 몇몇 실시예들에서 조합하여 사용된다. 공간적 및/또는 시간적 해상도의 제어가 상이한 데이터 레이트들의 데이터 스트림들을 생성하기 위해 사용될 수 있지만, 데이터 압축의 레벨을 포함하는 다른 인코더 설정들의 제어는 하나 이상의 원하는 데이터 레이트들을 갖는 장면 부분에 대응하는 데이터 스트림들을 생성하기 위해 단독으로 또는 공간적 및/또는 시간적 해상도의 제어에 추가하여 사용될 수 있고, 몇몇 실시예들에서, 그렇게 사용된다.
실시간 인코딩 및 송신의 경우에, 각각의 장면 부분의 인코딩은 개별적으로 수행될 수 있다. 다수의 데이터 레이트들이 지원되는 경우, 다양한 실시예들에서, 복수의 인코더들이 각각의 인코더가 상이한 비트 레이트를 갖는 장면 부분의 버전을 생성하는 방식으로 장면 부분의 인코딩된 버전들을 동시에 생성하도록 동작된다. 따라서, 적어도 몇몇 실시예들에서, 동일한 장면 부분에 대응하는 다수의 스트림들은 재생 디바이스에 대한 송신을 위해 이용가능하다.
이하에 더 논의되는 바와 같이, 상이한 고객들은 다음에 의존하여 360도 장면 영역의 동일하거나 상이한 부분들에 대응하는 상이한 스트림들을 제공받는다: 1) 그들의 머리 위치, 예를 들면, 공칭 0도 전방 뷰잉 위치에 관하여 마주보고 있는 그들 머리의 각도 및 2) 고객에 콘텐트를 스트리밍하기 위해 이용가능한 데이터 레이트.
통상 각각의 사용자는 정면 위치, 예를 들면, 하나 이상의 부분들에 더하여 적어도 120도 정면 위치를 제공받는다. 몇몇 실시예들에서, 정면 위치는 이용가능한 데이터 레이트가 추가의 부분의 적어도 하나의 낮은 데이터 레이트 버전의 송신에 대해 허용할 최고 품질 레벨로 제공된다. 따라서, 주어진 시간 기간 동안, 개별적인 장면 부분들에 적용된 해상도, 프레임 레이트 및/또는 데이터 압축량에 반영될 수 있기 때문에, 사용자는 상이한 품질 레벨들에 잠재적으로 대응하는 이미지 부분들을 갖는 적어도 두 개의 상이한 이미지 부분들에 대응하는 콘텐트를 수신할 것이다. 부분들이 일정 시간 기간 동안 제공되는 동안, 재생 디바이스 예를 들면 게이밍 콘솔과 같은 고객 구내 디바이스 및/또는 머리에 장착된 디스플레이로부터 수신된 표시된 시야각에 의존할 것이다.
사용자가 사용자의 머리의 방향을 바꿀 때, 어느 이미지 부분들이 사용자의 재생 디바이스에 스트리밍되는지는 뷰어의 머리가 지향되는 장면 부분 및 보고된 머리의 시야각으로 나타내지는 것으로 보여지는 장면 부분에 인접한 적어도 하나의 장면 부분이 공급되는 재생 디바이스에 따라 변할 수 있다. 이러한 방식으로, 사용자가 사용자의 머리의 방향을 바꾸는 경우, 재생 디바이스는 디스플레이될 필요가 있는 장면 정보를 쉽게 이용가능하게 하여야 한다.
스트리밍을 머리 위치의 함수로서 제어함으로써, 전체 360도 장면이 항상 스트리밍될 필요가 없어서, 스트리밍 목적들을 위해 동일한 우선 순위가 360 장면의 모든 부분에 주어진 경우보다 제한된 대역폭의 더 효율적인 사용을 초래한다.
몇몇 실시예들에서, 장면은 N 개의 동일한 크기 부분들, 예를 들면, 도 2 예에서 90도 부분들로 분할된다. 사용자는 임의의 주어진 시간에 동일한 크기의 시야각, 예를 들면, 180도 시야각에 대응하는 다수의 부분들을 공급받을 수 있지만, 어느 부분들이 공급될지는 사용자의 시야각에 종속하여 변할 것이다. 이러한 일 실시예에서, 재생 디바이스에 의해 처리되는 다수의 부분들은 시간에 걸쳐 비교적 일정하게 유지되지만 상이한 부분들이 시야각에 의존하여 공급된다.
본 발명은 뷰의 360도 필드에 대응하는 콘텐트를 스트리밍하기 위한 방법들 및 장치를 제공한다. 본 발명의 방법들 및 장치는 사용자가 그의 머리를 돌려서 대응하는 장면 부분을 보게 하는 3D 몰입형 시스템들 및/또는 머리에 장착된 디스플레이와 함께 사용하기에 매우 적합하다. 방법들 및 장치는 뷰의 360도 필드에 대응하는 3D 이미지 콘텐트의 실시간 또는 거의 실시간 스트리밍을 지원할 수 있다.
도 1은 본 발명의 몇몇 실시예들에 따라 구현된 일 예시적인 시스템을 도시하는 도면.
도 2a는 일 예시적인 입체 영상 장면, 예를 들면, 분할되지 않은 완전 360도 입체 영상 장면을 도시하는 도면.
도 2b는 일 예시적인 실시예에 따라 3 개의 예시적인 장면들로 분할된 일 예시적인 입체 영상 장면을 도시하는 도면.
도 2c는 일 예시적인 실시예에 따라 4 개의 장면들로 분할된 일 예시적인 입체 영상 장면을 도시하는 도면.
도 3은 일 예시적인 실시예에 따라 일 예시적인 360도 입체 영상 장면을 인코딩하는 일 예시적인 프로세스를 도시하는 도면.
도 4는 입력 이미지 부분이 동일한 입력 이미지 부분의 상이한 인코딩된 버전들을 생성하기 위해 다양한 인코더들을 사용하여 어떻게 인코딩되는지를 보여주는 일 예를 도시하는 도면.
도 5는 3 개의 부분들로 분할된 입력된 입체 영상 장면의 저장된 인코딩된 부분들을 도시하는 도면.
도 6은 도 1의 시스템을 사용하여 구현된 일 예시적인 실시예에 따라 콘텐트를 스트리밍하는 일 예시적인 방법의 단계들을 도시하는 플로차트.
도 7은 본 발명의 특징들에 따라 콘텐트를 인코딩 및 스트리밍하기 위해 사용될 수 있는 일 예시적인 콘텐트 전달 시스템 인코딩 능력을 도시하는 도면.
도 8은 도 7의 시스템에 의해 스트리밍된 콘텐트를 수신, 디코딩, 및 디스플레이하기 위해 사용될 수 있는 일 예시적인 콘텐트 재생 디바이스를 도시하는 도면.
도 1은 본 발명의 몇몇 실시예들에 따라 구현된 일 예시적인 시스템(100)을 도시한다. 시스템(900)은 하나 이상의 고객 디바이스들, 예를 들면, 고객 구내에 위치된 재생 디바이스들/콘텐트 플레이어들에 콘텐트 전달, 예를 들면, 이미징 콘텐트 전달을 지원한다. 시스템(900)은 예시적인 이미지 캡처링 디바이스(102), 콘텐트 전달 시스템(104), 통신 네트워크(105), 및 복수의 고객 구내들(106, ..., 110)을 포함한다. 이미지 캡처링 디바이스(102)는 입체 영상 이미지의 캡처링을 지원한다. 이미지 캡처링 디바이스(102)는 본 발명의 특징들에 따라 이미징 콘텐트를 캡처 및 처리한다. 통신 네트워크(105)는 예를 들면, 하이브리드 광섬유-동축(HFC) 네트워크, 위성 네트워크, 및/또는 인터넷일 수 있다.
콘텐트 전달 시스템(104)은 인코딩 장치(112) 및 콘텐트 스트리밍 디바이스/서버(114)를 포함한다. 인코딩 장치(112)는 본 발명에 따라 이미지 데이터를 인코딩하기 위한 하나 또는 복수의 인코더들을 포함할 수 있거나, 몇몇 실시예들에서 그를 포함한다. 인코더들은, 상이한 데이터 레이트들을 갖는 인코딩된 버전들을 생성하기 위해, 장면의 상이한 부분들을 인코딩하기 위해 및/또는 장면의 주어진 부분을 인코딩하기 위해 동시에 사용될 수 있다. 실시간 또는 거의 실시간 스트리밍이 지원될 때 다수의 인코더들을 동시에 사용하는 것이 특히 유용할 수 있다.
콘텐트 스트리밍 디바이스(114)는, 예를 들면, 통신 네트워크(105)를 거쳐, 인코딩된 이미지 콘텐트를 하나 이상의 고객 디바이스들에 전달하기 위한 인코딩된 콘텐트를 스트리밍, 예를 들면, 송신하도록 구성된다. 네트워크(105)를 통해, 콘텐트 전달 시스템(104)은 통신 네트워크(105)를 가로질러 링크(102)로 도면에 나타내진 고객 구내들(106, 110)에 위치된 디바이스들에 정보를 전송 및/또는 교환할 수 있다.
인코딩 장치(112) 및 콘텐트 전달 서버는 도 1 예에서 별개의 물리 디바이스들로서 도시되었지만, 몇몇 실시예들에서, 그들은 콘텐트를 인코딩 및 스트리밍하는 단일 디바이스로서 구현된다. 인코딩 프로세스는 3d, 예를 들면, 입체 영상, 이미지 인코딩 프로세스일 수 있고, 장면 부분의 왼쪽 및 오른쪽 눈의 뷰들에 대응하는 정보는 3D 이미지 뷰잉이 지원될 수 있도록 인코딩되어 인코딩 이미지 데이터에 포함된다. 사용된 특정한 인코딩 방법은 본 출원에 매우 중요한 것은 아니고, 다양한 인코더들이 인코딩 장치(112)로서 또는 인코딩 장치(112)를 구현하도록 사용될 수 있다.
각각의 고객 구내(106, 110)는 콘텐트 스트리밍 디바이스(114)에 의해 스트리밍된 이미징 콘텐트를 디코딩 및 재생/디스플레이하기 위한 복수의 디바이스들/플레이어들, 예를 들면, 디코딩 장치를 포함할 수 있다. 고객 구내 1(106)는 디스플레이 디바이스(124)에 결합된 디코딩 장치/재생 디바이스(122)를 포함하지만, 고객 구내 N(110)은 디스플레이 디바이스(128)에 결합된 디코딩 장치/재생 디바이스(126)를 포함한다. 몇몇 실시예들에서, 재생 디바이스들(124, 128)은 머리에 장착된 입체 영상 디스플레이 디바이스들이다.
다양한 실시예들에서, 디코딩 장치(122, 126)는 대응하는 디스플레이 디바이스들(124, 128)상에 이미징 콘텐트를 나타낸다. 디코딩 장치/플레이어들(122, 126)은 디코딩된 콘텐트를 사용하여 이미징 콘텐트를 생성하는 콘텐트 전달 시스템(104)으로부터 수신된 이미징 콘텐트를 디코딩할 수 있고, 디스플레이 디바이스들(124, 128)상에 이미징 콘텐트, 예를 들면, 3D 이미지 콘텐트를 렌더링할 수 있는 디바이스들일 수 있다. 디코딩 장치/재생 디바이스들(122, 126) 중 어느 것은 도 8에 도시된 디코딩 장치/재생 디바이스(800)로서 사용될 수 있다. 도 8에 도시된 것과 같은 시스템/재생 디바이스는 디코딩 장치/재생 디바이스들(122, 126) 중 어느 하나로서 사용될 수 있다.
도 2a는 일 예시적인 입체 영상 장면(200), 예를 들면, 분할되지 않은 전체 360도 입체 영상 장면을 도시한다. 입체 영상 장면은 다수의 카메라들, 예를 들면, 단일 비디오 캡처 플랫폼 또는 카메라 마운트상에 종종 장착된 비디오 카메라들로부터 캡처된 이미지 데이터를 조합한 결과일 수 있거나, 보통 그렇다.
도 2b는 예시적인 입체 영상 장면(200)의 분할된 버전(250)을 도시하고, 장면은 3(N=3) 개의 예시적인 부분들, 예를 들면, 일 예시적인 실시예에 따라 정면 180도 부분, 왼쪽 후방 180도 부분, 및 오른쪽 후방 90도 부분으로 분할된다.
도 2c는 일 예시적인 실시예에 따라 4(N=4) 개의 부분들로 분할된 예시적인 입체 영상 장면(200)의 다른 분할된 버전(280)을 도시한다.
도 2b 및 도 2c는 두 개의 예시적인 분할들을 도시하지만, 다른 분할들이 가능하다는 것이 이해되어야 한다. 예를 들면, 장면(200)은 12(n=12) 개의 30도 부분들로 분할될 수 있다. 하나의 이러한 실시예에서, 각각의 분할의 개별적인 인코딩보다는, 다수의 분할들이 함께 그룹화되고 그룹으로서 인코딩된다. 분할들의 상이한 그룹들은 장면의 총 각도에 관하여 동일하지만, 사용자의 머리 위치, 예를 들면, 0 내지 360도의 범위에 대해 측정되는 시야각에 의존하여 스트리밍될 수 있는 이미지의 상이한 부분들에 대응하는 각각의 그룹의 크기를 갖고 사용자에게 부여 및 스트리밍될 수 있다.
도 3은 일 예시적인 실시예에 따라 일 예시적인 360도 입체 영상 장면을 인코딩하는 일 예시적인 프로세스를 도시한다. 도 3에 도시된 방법(300)에 대한 입력은, 예를 들면, 장면의 360도 뷰를 캡처하도록 구성된 복수의 카메라들에 의해 캡처된 360도 입체 영상 이미지 데이터를 포함한다. 입체 영상 이미지 데이터, 예를 들면, 입체 영상 비디오는 다양한 알려진 포맷들 중 어느 하나일 수 있고, 대부분의 실시예들에서, 3D 경험을 허용하기 위해 사용된 왼쪽 및 오른쪽 눈 이미지 데이터를 포함한다. 방법들이 입체 영상 비디오에 특히 적합하지만, 여기에 기술된 기술들 및 방법들은 또한, 예를 들면, 360도 및 작은 장면 영역의 2D 이미지들에 적용될 수 있다.
단계(304)에서, 장면 데이터(302)는 상이한 장면 영역들, 예를 들면, 상이한 뷰잉 방향들에 대응하는 N 개의 장면 영역들에 대응하는 데이터로 분할된다. 예를 들면, 도 2b에 도시된 것과 같은 일 실시예에서, 360도 장면 영역은 90도 부분에 대응하는 왼쪽 후방 부분, 정면 180도 부분, 및 오른쪽 후방 90도 부분의 세 개의 부분들로 분할된다. 상이한 부분들은 반드시는 아니지만 상이한 카메라들에 의해 캡처되었을 수 있고, 사실상 360도 장면은 도 2b 및 도 2c에 도시되는 N 개의 장면 영역들로 분할되기 전에 다수의 카메라들로부터 캡처된 데이터로부터 구성될 수 있다.
단계(306)에서, 상이한 장면 부분들에 대응하는 데이터는 본 발명에 따라 인코딩된다. 몇몇 실시예들에서, 각각의 장면 부분은 각각의 부분에 대해 다수의 가능한 비트 레이트 스트림들을 지원하기 위해 다수의 인코더들에 의해 독립적으로 인코딩된다. 단계(308)에서, 인코딩된 장면 부분들은 고객 재생 디바이스들로 스트리밍하기 위해, 예를 들면, 콘텐트 전달(104)에 저장된다.
도 4는 입력 이미지 부분, 예를 들면, 장면의 180도 정면 부분이 동일한 입력 이미지 부분의 상이한 인코딩된 버전들을 생성하기 위해 다수의 인코더들을 사용하여 어떻게 인코딩되는지를 보여주는 일 예를 도시하는 도면(400)이다.
도시(400)에서 보이는 바와 같이, 입력 장면 부분(402), 예를 들면, 장면의 180도 정면 부분은 인코딩을 위해 복수의 인코더들에 공급된다. 예에서, 이미지 콘텐트의 상이한 데이터 레이트 스트림들을 지원하기 위해 인코딩된 데이터를 생성하기 위해 상이한 해상도들을 갖고 상이한 인코딩 기술들을 사용하여 입력 데이터를 인코딩하는 K 개의 상이한 인코더들이 존재한다. 복수의 K 개의 인코더들은 고화질(HD) 인코더1(404), 표준 화질(SD) 인코더2(406), 감소 프레임 레이트 SD 인코더3(408), ..., 고압축 감소 프레임 레이트 SD 인코더K(410)을 포함한다.
HD 인코더 1(404)은 고 비트 레이트 HD 인코딩 이미지(412)를 생성하기 위해 완전 고화질(HD) 인코딩을 수행하도록 구성된다. SD 인코더2(406)는 입력 이미지의 SD 인코딩된 버전2(414)는 생성하기 위해 입력 이미지의 SD 인코딩된 버전2(414)를 생성하기 위해 저해상도 표준 화질 인코딩을 수행하도록 구성된다. 감소 프레임 레이트 SD 인코더3(408)은 입력 이미지의 감소된 레이트 SD 인코딩 버전3(416)을 생성하기 위해 감소 프레임 레이트 저해상도 SD 인코딩을 수행하도록 구성된다. 감소 프레임 레이트는, 예를 들면, 인코딩을 위해 SD 인코더2(406)에 의해 사용된 프레임의 절반일 수 있다. 고압축 감소 프레임 레이트 SD 인코더K(410)는 입력 이미지의 고압축 감소 레이트 SD 인코딩된 버전K(420)을 생성하기 위해 고압축에 의해 감소된 프레임 레이트 저해상도 SD 인코딩을 수행하도록 구성된다.
따라서, 공간적 및/또는 시간적 해상도의 제어는 상이한 데이터 레이트들의 데이터 스트림들을 생성하기 위해 사용될 수 있고, 데이터 압축의 레벨과 같은 다른 인코더 설정들의 제어가 또한 단독으로 또는 하나 이상의 데이터 레이트들을 갖는 장면 부분에 대응하는 데이터 스트림들을 생성하기 위해 공간적 및/또는 시간적 해상도의 제어에 추가하여 사용될 수 있다.
도 5는 3 개의 예시적인 부분들로 분할된 입력 입체 영상 장면의 저장된 인코딩된 부분들(500)을 도시한다. 저장된 인코딩 부분들은, 예를 들면, 메모리 내 데이터/정보로서, 콘텐트 전달 시스템(104)에 저장될 수 있다. 입체 영상 장면의 저장된 인코딩 부분들(500)은 인코딩 부분들의 3 개의 상이한 세트들을 포함하고, 각각의 부분은 상이한 장면 영역에 대응하고 각각의 세트는 대응하는 장면 부분의 복수의 상이한 인코딩 버전들을 포함한다. 각각의 인코딩 버전은 인코딩된 비디오 데이터의 일 버전이고, 따라서 코딩된 다수의 프레임들을 나타낸다. 각각의 인코딩 버전(510, 512, 516)이 다수의 시간의 기간들에 대응하는 비디오이고, 스트리밍할 때, 재생되는 시간의 기간에 대응하는 부분, 예를 들면, 프레임들이 송신 목적들을 위해 사용될 것이라는 것이 이해되어야 한다.
도 4에 관하여 상기에 예시 및 논의된 바와 같이, 각각의 장면 부분, 예를 들면, 정면, 후방 장면 부분들은 동일한 장면 부분의 K 개의 상이한 버전들을 생성하기 위해 복수의 상이한 인코더들을 사용하여 인코딩될 수 있다. 주어진 입력 장면에 대응하는 각각의 인코더의 출력들은 설정 및 저장될 때 함께 그룹화된다. 인코딩된 장면 부분들(502)의 제 1 세트는 정면 180도 장면 부분에 대응하고, 정면 180도 장면의 인코딩된 버전1(510), 인코딩된 버전2(512), ..., 및 인코딩된 버전K(516)을 포함한다. 인코딩된 장면 부분들(504)의 제 2 세트는 장면 부분2, 예를 들면, 90도 왼쪽 후방 장면 부분에 대응하고, 90도 왼쪽 후방 장면 부분의 인코딩된 버전1(520), 인코딩된 버전2(522), ..., 및 90도 왼쪽 후방 장면 부분의 인코딩된 버전K(526)을 포함한다. 유사하게, 인코딩된 장면 부분들(506)의 제 3 세트는 장면 부분3, 예를 들면, 90도 오른쪽 후방 장면 부분에 대응하고, 90도 오른쪽 후방 장면 부분의 인코딩된 버전1(530), 인코딩된 버전2(532), ..., 및 90도 오른쪽 후방 장면 부분의 인코딩된 버전K(536)를 포함한다.
360도 장면의 다양한 상이한 저장된 인코딩 부분들이 사용되어 고객 재생 디바이스들에 전송하기 위해 다양한 상이한 비트 레이트 스트림들을 생성할 수 있다.
도 6은 일 예시적인 실시예에 따라 이미지 콘텐트를 제공하는 일 예시적인 방법의 단계들을 도시하는 플로차트(600)이다. 플로차트(600)의 방법은 도 1에 도시된 캡처링 시스템을 사용하여 몇몇 실시예들에서 구현된다.
방법은, 예를 들면, 전달 시스템이 전력 공급되고 초기화되는 단계(602)에서 시작한다. 방법은 시작 단계(602)로부터 단계들(604)로 진행한다. 단계(604)에서, 콘텐트 전달 시스템(104), 예를 들면, 시스템(104) 내 서버(114)는 콘텐트에 대한 요청, 예를 들면, 이전에 인코딩된 프로그램에 대한 요청을 수신하거나, 몇몇 경우들에서, 예를 들면, 이벤트가 여전히 진행중인 동안, 실시간 또는 거의 실시간으로 인코딩 및 스트리밍되는, 실시간 이벤트를 수신한다.
요청에 응답하여, 단계(604)에서, 서버(114)는 전달을 위해 이용가능한 데이터 레이트를 결정한다. 데이터 레이트는 지원된 데이터 레이트들을 나타내는 요청에 포함된 정보로부터 및/또는 요청하는 디바이스에 콘텐트를 전달하기 위해 이용가능한 최대 대역폭을 나타내는 네트워크 정보와 같은 다른 정보로부터 결정될 수 있다. 이해되는 바와 같이, 이용 가능한 데이터 레이트는 네트워크 로딩에 따라 변할 수 있고 콘텐트가 스트리밍되고 있는 시간 기간 동안 변경할 수 있다. 변경들은 사용자 디바이스에 의해 보고될 수 있거나 또는 패킷들이 드롭되거나 네트워크가 사용되고 있는 데이터 레이트를 지원하는 데 어려움을 갖는 것을 나타내는 바람직한 시간량을 넘어 지연되는 것 및 현재 이용 가능한 데이터 레이트가 사용을 위해 이용가능하다는 것이 결정된 원래 데이터 레이트보다 낮다는 것을 나타내는 메시지들 또는 신호들로부터 검출될 수 있다.
동작은 단계(608)로부터 단계(608)로 진행하고, 여기서 콘텐트에 대한 요청이 초기화되는 사용자 디바이스의 현재 머리 위치, 예를 들면, 요청시의 현재 머리 위치는 0도 위치일 것이다. 0도 또는 전방 관측 위치는 몇몇 실시예들에서 재초기화가 발생할 것을 시그널링하는 재생 디바이스를 갖는 사용자에 의해 재초기화될 수 있다. 시간에 걸쳐, 사용자의 머리 위치 및/또는 예를 들면, 원래 머리 위치에 관한 사용자의 머리 위치에서의 변경들은 콘텐트 전달 시스템(104)에 보고되고, 콘텐트 전달 결정들을 행하기 위해 이하에 논의될 갱신 위치가 사용된다.
동작은 단계(608)로부터 단계(610)로 진행하고, 요청된 콘텐트에 대응하는 360도 장면의 부분들은 재생 디바이스를 초기화하기 위해 전송된다. 적어도 몇몇 실시예들에서, 초기화는 장면 데이터의 전체 360도 세트, 예를 들면, N 개의 부분들을 전송하는 것을 포함하고, 360도 장면은 N 개의 부분들로 분할된다.
단계(610)에서 초기화의 결과로서, 재생 디바이스는 360도 가능한 뷰잉 영역의 상이한 부분들의 각각에 대응하는 장면 데이터를 가질 것이다. 따라서, 재생 디바이스의 사용자가 갑자기 후방으로 도는 경우, 적어도 몇몇 데이터는, 심지어 그것이 최신이 아닌 경우라도, 사용자가 그의 머리를 돌리기 전에 보고 있었던 부분으로서 사용자에게 디스플레이할 수 있을 것이다.
동작은 단계(610)로부터 단계(612) 및 단계(622)로 진행한다. 단계(622)는 재생 디바이스가 적어도 한 번의 모든 전역 갱신 기간에 전체 360도 장면의 갱신 버전을 수신하는 것을 확인하기 위해 사용되는 전역 장면 갱신 경로에 대응한다. 단계(610)에서 초기화되면, 전역 갱신 프로세스는 미리 결정된 시간 기간 동안 대기 단계(622)에서 지연된다. 이후 단계(624)에서, 360도 장면 갱신이 수행된다. 점선 화살표(613)는 장면 부분들이 단계(622)에 대응하는 지원 기간 동안 재생 디바이스에 전달된 정보의 전달을 나타낸다. 단계(624)에서, 전체 360도 장면이 송신될 수 있다. 그러나, 몇몇 실시예들에서, 모든 부분들이 단계(624)로 송신되는 것은 아니다. 대기 기간(622) 동안 갱신된 장면의 부분들은, 그들이 사용자의 머리 위치에 기초하여 장면의 적어도 몇몇 부분들을 전송하는 정규 스트리밍 프로세스들 동안 이미 리프레시되었기 때문에, 몇몇 실시예들에서 단계(624)에서 수행된 갱신으로부터 생략된다.
동작은 단계(624)로부터 대기 단계(622)로 다시 진행하고, 대기는 다음 전역 갱신 전에 수행된다. 단계(622)에서 사용된 대기 기간을 적응시킴으로써, 상이한 전역 리프레시 레이트들이 지원될 수 있다는 것이 이해되어야 한다. 몇몇 실시예들에서, 콘텐트 서버는 제공되는 장면 콘텐트의 형태에 기초하여, 대기 기간 및 그와 같은 전역 기준 기간을 선택한다. 주요 동작이 전방 대면 영역에 있고 리프레시를 위한 이유들 중 하나가 실외 조명 상태들의 가능한 변경들이 존재하는 스프츠 경기들의 경우, 대기 기간은, 예를 들면, 대략 1분 또는 수분으로, 비교적 길 수 있다. 상이한 노래들이 연주되기 때문에, 군중의 동작 및 활동이 자주 변경될 수 있는 락 콘서트의 경우에, 사용자가 뒤돌아서 군중 반응을 보기를 원할 수 있고 정면 무대 뷰잉 영역에서 일어나고 있는 것에 더하여 군중에서 일어나고 있는 것을 느끼기를 원할 수 있기 때문에, 전역 리프레시 레이트는 스포츠 경기들에서보다 높을 수 있고, 때때로 높다.
몇몇 실시예들에서, 전역 기준 기간은 스트리밍되는 프레젠테이션의 부분의 함수로서 변경된다. 예를 들면, 스포츠 경기의 경기 동안, 전역 리프레시 레이트는 비교적 낮지만, 후반 터치다운 순간 동안 또는 타임 아웃 또는 인터미션 동안, 경기장에 있거나 재생 디바이스를 통해 경기를 시청하는 사람은 전방 주요 영역으로부터 그의 머리를 돌릴 더 많은 가능성이 있고, 전역 기준 레이트는 단계(622)에서 사용된 대기, 예를 들면, 리프레시 기간 제어를 감소시킴으로써 증가될 수 있고, 몇몇 실시예들에서 증가된다.
전역 리프레스 프로세스는 단계들(622 내지 624)을 참조하여 기술되었지만, 장면의 부분들의 정규 공급이 기술된다. 이해되는 바와 같이, 장면 또는 장면 부분의 정규 리프레시는 지원된 비디오 프레임 레이트에서 허용하는 데이터 레이트를 적어도 일 부분 동안 발생시킬 것이다. 따라서, 적어도 하나의 프레임 부분, 예를 들면, 사용자의 머리가 마주하도록 나타내지는 부분에 관하여, 이용가능한 데이터 레이트가 충분하다고 가정하면 전체 비디오 스트리밍 프레임 레이트로 공급될 것이다.
단계(612)에서, 장면 부분들은 사용자의 표시된 머리 위치, 예를 들면, 시야각에 기초하여 제공되도록 선택된다. 선택된 부분들은 기간에 기초하여 재생 디바이스에 송신, 예를 들면 스트리밍된다. 부분들에 대응하는 데이터가 스트리밍되는 레이트는, 몇몇 실시예들에서 비디오 프레임 레이트에 의존한다. 예를 들면, 적어도 하나의 선택된 부분은 지원되는 전체 프레임 레이트에서 스트리밍될 것이다. 적어도 하나의 장면 부분이 단계(612)에서 선택되지만, 보통 다수의 장면 부분들, 예를 들면, 다음 가장 가까운 장면 부분뿐만 아니라 사용자가 마주보고 있는 장면 부분이 선택된다. 이용가능한 데이터 레이트가 다수의 프레임 부분들의 전달을 지원하기에 충분한 경우 추가의 장면 부분들이 또한 선택 및 공급될 수 있다.
스트리밍될 장면 부분들이 단계(612)에서 선택된 후, 동작은 단계(614)로 진행하고, 선택된 스트림 부분들의 인코딩된 버전이, 예를 들면, 사용자의 이용가능한 데이터 레이트 및 뷰잉 위치에 기초하여 선택된다. 예를 들면, 현재 보고된 머리 부분에 의해 나타내진 것으로 사용자가 마주하고 있는 장면 부분의 전체 레이트 고해상도 버전은 스트리밍될 수 있거나 정상적으로 스트리밍될 것이다. 현재 머리 위치의 왼쪽 및/또는 오른쪽에 대한 하나 이상의 장면 부분들은 더 낮은 해상도, 더 낮은 시간적 레이트로서, 또는 현재 보여지지 않는 장면 영역을 송신하기 위해 요구된 대역폭의 양을 감소시키는 다른 인코딩 방식을 사용하여 스트리밍되도록 선택될 수 있다. 인접한 장면 부분의 인코딩 버전의 선택은 현재 보여지는 장면 부분의 고품질 버전이 송신된 후 남아있는 대역폭의 양에 의존할 것이다. 현재 보여지지 않는 장면 부분들이 더 낮은 해상도 인코딩된 버전으로서 또는 프레임들 사이에 더 큰 시간적 거리를 갖는 인코딩된 버전으로서 전송될 수 있지만, 이용가능한 충분한 대역폭이 존재하는 경우, 전체 해상도 고품질 버전은 주기적으로 또는 자주 전송될 수 있다.
단계(616)에서, 선택된 장면 부분들의 선택된 인코딩된 버전들은 콘텐트를 요청한 재생 디바이스로 전송된다. 따라서, 단계(616)에서, 하나 이상의 부분들에 대응하는 인코딩된 콘텐트, 예를 들면, 다수의 순차적인 프레임들에 대응하는 입체 영상 비디오 콘텐트가 재생 디바이스로 스트리밍된다.
동작은 단계(616)로부터 단계(618)로 진행하고, 사용자의 현재 머리 위치를 나타내는 정보가 수신된다. 이러한 정보는 주기적으로 및/또는 머리 위치에서 변경을 검출하는 것에 응답하여 재생 디바이스로부터 전송될 수 있다. 머리 위치에서 변경들에 추가하여, 이용가능한 데이터 레이트에서 변경들은 어떤 콘텐트가 스트리밍되는지에 영향을 줄 수 있다. 동작은 단계(618)로부터 단계(620)로 진행하고, 재생 디바이스로 콘텐트 전달을 위해 사용될 수 있는 현재 데이터를 결정한다. 따라서, 콘텐트 전달 시스템은 요청하는 디바이스로의 스트리밍을 지원하기 위해 이용가능한 대역폭의 양에서 변경들을 검출할 수 있다.
동작은 단계(620)로부터 단계(612)로 진행하고, 스트리밍은, 콘텐트가 완전히 전달되고, 예를 들면, 프로그램 또는 이벤트가 종료하거나, 또는 세션이 종료된 것을 나타내는 신호가 콘텐트를 요청한 재생 디바이스로부터 수신되거나 또는 재생 디바이스가 콘텐트 서버(114)와 더 이상 통신하지 않는다는 것을 나타내는 머리 위치 갱신과 같은 재생 디바이스로부터 예상된 신호를 수신하는 것의 실패가 검출될 때까지 계속한다.
상기에 기술된 방식으로 전달된 장면 데이터로부터, 재생 디바이스는 사용자가 사용자의 머리를 빠르게 돌리는 경우 이를 디스플레이할 수 있는 각각의 장면 부분에 대응하는 적어도 몇몇 데이터를 가질 것이다. 사용자는 좀처럼 그들의 머리를 매우 짧은 시간 기간에 그들의 머리를 완전히 돌리지 않는데 이는 그것이 많은 사람들에게 뷰잉 위치에서 불편한 변경이기 때문이라는 것이 이해되어야 한다. 따라서, 전체 360도 장면은 모든 시간에 송신되지 않을 수 있지만, 임의의 주어진 시간에 보여질 최대 가능성이 있는 장면 부분(들)의 고품질 버전이 사용자에게 스트리밍되고 사용자에게 이용가능하게 만들어질 수 있다.
인코딩 프로세스가 장면의 N 개의 부분들이 각각의 개별적인 사용자에게 콘텐트를 개별적으로 인코딩해야하지 않고 상이한 사용자들에게 상이하게 송신 및 처리되게 하기 때문에, 콘텐트 전달 시스템(104)은 다수의 동시에 발생하는 사용자들을 지원할 수 있다. 따라서, 다수의 병렬 인코더들은 스포츠들 또는 다른 이벤트들의 실시간 또는 거의 실시간 스트리밍을 허용하기 위해 실시간 인코딩을 지원하기 위해 사용될 수 있지만, 사용된 인코더들의 수는 콘텐트가 스트리밍되는 재생 디바이스들의 수보다 훨씬 적은 경향이 있다.
콘텐트의 부분들은 360도 뷰에 대응하는 부분들로서 기술되지만, 장면들은 수직 차원을 또한 갖는 공간의 평평한 버전을 나타낼 수 있고, 몇몇 실시예들에서 그를 나타낸다는 것이 이해되어야 한다. 재생 디바이스는 3d 환경의 모델, 예를 들면, 공간을 사용하여 장면 부분들을 맵핑하고, 수직 뷰잉 위치들에 대해 조정할 수 있다. 따라서, 본 출원에서 논의되는 360도는 사용자의 응시 레벨을 유지하면서 사용자가 시야각을 왼쪽 또는 오른쪽으로 변경하는 것처럼 수평면에 관한 머리 위치를 말한다.
도 7은 본 발명의 특징들에 따라 콘텐트를 인코딩 및 스트리밍하기 위해 사용될 수 있는 인코딩 능력들을 갖는 일 예시적인 콘텐트 전달 시스템(700)을 도시한다.
시스템은 본 발명의 특징들에 따라 인코딩, 저장, 및 송신 및/또는 콘텐트 출력을 수행하기 위해 사용될 수 있다. 몇몇 실시예들에서, 시스템(700) 또는 그 내부의 요소들은 도 6에 도시된 프로세스에 대응하는 동작을 수행한다. 콘텐트 전달 시스템(700)은 도 1의 시스템(104)으로서 사용될 수 있다. 도 7에 도시된 시스템이 콘텐트의 인코딩, 처리 및 스트리밍을 위해 사용되지만, 시스템(700)은 또한, 예를 들면 운영자에 대한, 처리된 및/또는 인코딩된 이미지 데이터를 디코딩 및 디스플레이하기 위한 능력을 포함할 수 있다는 것이 이해되어야 한다.
시스템(700)은 디스플레이(702), 입력 디바이스(704), 입력/출력(I/O) 인터페이스(706), 프로세서(708), 네트워크 인터페이스(710) 및 메모리(712)를 포함한다. 시스템(700)의 다양한 구성 요소들은 데이터가 시스템(700)의 구성 요소들 사이에 전달될 수 있게 하는 버스(709)를 통해 함께 결합된다.
메모리(712)는 프로세서(708)에 의해 실행될 때, 시스템(700)이 본 발명에 따라 분할, 인코딩, 저장, 및 스트리밍/송신 및/또는 출력 동작을 구현하도록 시스템(700)을 제어하는 다양한 모듈들, 예를 들면, 루틴들을 포함한다.
메모리(712)는 프로세서(707)에 의해 실행될 때, 본 발명에 따라 몰입형 입체 영상 비디오 수집, 인코딩, 저장, 및 송신 및/또는 출력 방법들을 구현하도록 컴퓨터 시스템(700)을 제어하는 다양한 모듈들, 예를 들면, 루틴들을 포함한다. 메모리(712)는 제어 루틴들(714), 분할 모듈(706), 인코더(들)(718), 스트리밍 제어기(720), 수신된 입력 이미지들(732), 예를 들면, 장면의 360도 입체 영상 비디오, 인코딩된 장면 부분들(734), 및 시간 정보(736)를 포함한다. 몇몇 실시예들에서, 모듈들은 소프트웨어 모듈들로서 구현된다. 다른 실시예들에서, 모듈들은, 예를 들면, 각각의 모듈을 갖는 개별적인 회로들이 모듈이 대응하는 기능을 수행하기 위한 회로로서 구현될 때, 하드웨어에서 구현된다. 또 다른 실시예들에서, 모듈들은 소프트웨어 및 하드웨어의 조합을 사용하여 구현된다.
제어 루틴들(714)은 시스템(700)의 동작을 제어하기 위한 디바이스 제어 루틴들 및 통신 루틴들을 포함한다. 분할 모듈(716)은 본 발명의 특징들에 따라 장면의 수신된 입체 영상 360도 버전을 N 개의 장면 부분들로 분할하도록 구성된다.
인코더(들)(718)는 본 발명의 특징들에 따라 수신된 이미지 콘텐트, 예를 들면 장면의 360도 버전 및/또는 하나 이상의 장면 부분들을 인코딩하도록 구성된 복수의 인코더들을 포함할 수 있고, 몇몇 실시예들에서, 그를 포함한다. 몇몇 실시예들에서, 인코더(들)는 다수의 인코더들을 포함하고, 각각의 인코더는 주어진 비트 레이트 스트림을 지원하기 위해 입체 영상 장면 및/또는 분할된 장면 부분들을 인코딩하도록 구성된다. 따라서, 몇몇 실시예들에서, 각각의 장면 부분은 각각의 장면에 대해 다수의 상이한 비트 레이트 스트림들을 지원하기 위해 다수의 인코더들을 사용하여 인코딩될 수 있다. 인코더(들)(718)의 출력은 고객 디바이스들, 예를 들면, 재생 디바이스들에 대한 스트리밍을 위해 메모리에 저장되는 인코딩된 장면 부분들(734)이다. 인코딩된 콘텐트는 네트워크 인터페이스(710)를 통해 하나 또는 다수의 상이한 디바이스들로 스트리밍될 수 있다.
스트리밍 제어기(720)는 예를 들면, 통신 네트워크(105)를 거쳐 인코딩되 이미지 콘텐트를 하나 또는 그 이상의 고객 디바이스들로 전달하기 위한 인코딩된 콘텐트의 스트리밍을 제어하도록 구성된다. 다양한 실시예들에서, 플로차트(600)의 다수의 단계들은 스트리밍 제어기(720)의 요소들에 의해 구현된다. 스트리밍 제어기(720)는 요청 처리 모듈(722), 데이터 레이트 결정 모듈(724), 현재 머리 위치 결정 모듈(726), 선택 모듈(728), 및 스트리밍 제어 모듈(730)을 포함한다. 요청 처리 모듈(722)은 고객 재생 디바이스로부터 이미징 콘텐트에 대한 수신된 요청을 처리하도록 구성된다. 콘텐트에 대한 요청은 다수의 실시예들에서 네트워크 인터페이스(710)에서 수신기를 통해 수신된다. 몇몇 실시예들에서, 콘텐트에 대한 요청은 요청하는 재생 디바이스의 아이덴티티를 나타내는 정보를 포함한다. 몇몇 실시예들에서, 콘텐트에 대한 요청은 고객 재생 디바이스에 의해 지원된 데이터 레이트, 사용자의 현재 머리 위치, 예를 들면, 머리에 장착된 디스플레이의 위치를 포함한다. 요청 처리 모듈(722)은 수신된 요청을 처리하고 다른 동작들을 취하기 위해 스트리밍 제어기(720)의 다른 요소들에 대해 검색된 정보를 제공한다. 콘텐트에 대한 요청이 데이터 레이트 정보 및 현재 머리 위치 정보를 포함할 수 있지만, 다수의 실시예들에서, 재생 디바이스에 의해 지원된 데이터 레이트는 시스템(700)과 재생 디바이스 사이의 다른 네트워크 정보 교환 및 네트워크 테스트들로부터 결정될 수 있다.
데이터 레이트 결정 모듈(724)은 고객 디바이스들에 대해 이미징 콘텐트를 스트리밍하기 위해 사용될 수 있는 이용가능한 데이터 레이트들을 결정하도록 구성될 수 있고, 예를 들면, 다수의 인코딩된 장면 부분들이 지원되기 때문에, 콘텐트 전달 시스템(700)은 고객 디바이스에 대해 다수의 데이터 레이트들에서 콘텐트를 스트리밍하는 것을 지원할 수 있다. 데이터 레이트 결정 모듈(724)은 또한 시스템(700)으로부터 콘텐트를 요청하는 재생 디바이스에 의해 지원된 데이터 레이트를 결정하도록 구성된다. 몇몇 실시예들에서, 데이터 레이트 결정 모듈(724)은 네트워크 측정들에 기초하여 이미지 콘텐트의 전달을 위해 이용가능한 데이터 레이트를 결정하도록 구성된다.
현재 머리 위치 결정 모듈(726)은 재생 디바이스로부터 수신된 정보로부터 사용자의 현재 시야각 및/또는 현재 머리 위치, 예를 들면, 머리에 장착된 디스플레이의 위치를 결정하도록 구성된다. 몇몇 실시예들에서, 재생 디바이스는 현재 머리 위치 정보를 시스템(700)으로 주기적으로 전송하고, 현재 머리 위치 결정 모듈(726)이 현재 시야각 및/또는 현재 머리 위치를 결정하기 위해 정보를 수신 및 처리한다.
선택 모듈(728)은 사용자의 현재 시야각/머리 위치 정보에 기초하여 360도 장면 중 어느 부분들을 재생 디바이스로 스트리밍할지를 결정하도록 구성된다. 선택 모듈(728)은 콘텐트의 스트리밍을 지원하기 위해 이용가능한 데이터 레이트에 기초하여 결정된 장면 부분들의 인코딩된 버전들을 선택하도록 또한 구성된다.
스트리밍 제어 모듈(730)은 본 발명의 특징들에 따라 다수의 지원된 데이터 레이트들에서 이미지 콘텐트, 예를 들면, 360도 입체 영상 장면의 다수의 부분들의 스트리밍을 제어하도록 구성된다. 몇몇 실시예들에서, 스트리밍 제어 모듈(730)은 재생 디바이스에서 장면 메모리를 초기화하기 위해 360도 입체 영상 장면의 N 개의 부분들을 콘텐트를 요청하는 재생 디바이스로 스트리밍하는 것을 제어하도록 구성된다. 다수의 실시예들에서, 스트리밍 제어 모듈(730)은 결정된 장면 부분들의 선택된 인코딩 버전들을, 예를 들면, 결정된 레이트에서, 주기적으로 전송하도록 구성된다. 몇몇 실시예들에서, 스트리밍 제어 모듈(730)은, 예를 들면, 매 분마다 한번, 시간 간격에 따라 360도 장면 갱신을 재생 디바이스로 전송하도록 또한 구성된다. 몇몇 실시예들에서, 360도 장면 갱신을 전송하는 것은 전체 360도 입체 영상 장면의 N 개의 장면 부분들 또는 N-X 장면 부분들을 전송하는 것을 포함하고, N은 전체 360도 입체 영상 장면이 분할된 부분들의 총 수이고, X는 재생 디바이스로 최근 전송된 선택된 장면 부분들을 나타낸다. 몇몇 실시예들에서, 스트리밍 제어 모듈(730)은 360도 장면 갱신을 전송하기 전에 초기화를 위해 N 개의 장면 부분들을 처음에 전송한 후 결정된 시간 동안 대기한다. 몇몇 실시예들에서, 360 도 장면 갱신의 전송을 제어하기 위한 타이밍 정보가 타이밍 정보(736)에 포함된다. 몇몇 실시예들에서, 스트리밍 제어 모듈(730)은 리프레시 간격 동안 재생 디바이스로 송신되지 않은 장면 부분들을 식별하고; 리프레시 간격 동안 재생 디바이스로 송신되지 않은 식별된 장면 부분들의 갱신 버전을 송신하도록 또한 구성된다.
다수의 실시예들에서, 스트리밍 제어 모듈(730)은 재생 디바이스가 각각의 리프레시 기간 동안 적어도 한번 상기 장면의 360도 버전을 완전히 리프레시하도록 하기 위해 주기에 기초하여 재생 디바이스로 적어도 N 개의 부분들 중 충분한 수를 전달하도록 구성된다.
도 8은 도 1 및 도 7에 도시된 것들과 같은 콘텐트 전달 시스템으로부터 수신된 이미징 콘텐트를 수신, 디코딩, 저장, 및 디스플레이하기 위해 사용될 수 있는 본 발명에 따라 구현되는 컴퓨터 시스템/재생 디바이스(800)를 도시한다. 재생 디바이스는 머리에 장착된 디스플레이(805)일 수 있는 OCULUS RIFTTM VR(가상 현실)과 같은 3d 머리에 장착된 디스플레이와 함께 사용될 수 있다. 디바이스(800)는 수신된 인코딩 이미지 데이터를 디코딩하기 위한 능력을 포함하고 고객에 대한 디스플레이를 위한 3D 이미지 콘텐트를 생성한다. 몇몇 실시예들에서 재생 디바이스는 가정 또는 사무실과 같은 고객 구내 위치에 위치되지만 이미지 캡처 사이트에 또한 위치될 수 있다. 디바이스(800)는 본 발명에 따라 신호 수신, 디코딩, 디스플레이 및/또는 다른 동작들을 수행할 수 있다.
디바이스(800)는 디스플레이(802), 디스플레이 디바이스 인터페이스(803), 입력 디바이스(804), 입력/출력(I/O) 인터페이스(806), 프로세서(808), 네트워크 인터페이스(810), 및 메모리(812)를 포함한다. 재생 디바이스(800)의 다수의 구성 요소들은 데이터가 시스템(800)의 구성 요소들 사이에 전달되게 하는 버스(809)를 통해 함께 결합된다. 몇몇 실시예들에서, 디스플레이(802)는 점선 박스를 사용하여 도시되는 선택적인 요소로서 포함되지만, 몇몇 실시예들에서 외부 디스플레이 디바이스(805), 예를 들면, 머리에 장착된 입체 영상 디스플레이 디바이스는 디스플레이 디바이스 인터페이스(803)를 통해 재생 디바이스에 결합될 수 있다.
메모리(812)는 프로세서(808)에 의해 실행될 때 본 발명에 따라 디코딩 및 출력 동작들에 대해 재생 디바이스(800)를 제어하는 다수의 모듈들, 예를 들면 루틴들을 포함한다. 메모리(812)는 제어 루틴들(814), 콘텐트 생성 모듈(816)에 대한 요청, 머리 위치 및/또는 시야각 결정 모듈(818), 디코더 모듈(820), 3D 이미지 생성 모듈이라고도 불리는 입체 영상 이미지 렌더링 모듈(822), 및 수신된 인코딩된 이미지 콘텐트(824), 디코딩된 이미지 콘텐트(826), 360도 디코딩된 장면 버퍼(828), 및 생성된 입체 영상 콘텐트(830)를 포함하는 데이터/정보를 포함한다.
제어 루틴들(814)은 디바이스(800)의 동작을 제어하기 위한 디바이스 제어 루틴들 및 통신 루틴들을 포함한다. 요청 생성 모듈(816)은 콘텐트를 제공하기 위해 콘텐트 전달 시스템에 전송할 콘텐트에 대한 요청을 생성하도록 구성된다. 콘텐트에 대한 요청은 네트워크 인터페이스(810)를 통해 다수의 실시예들에서 전소된다. 머리 위치 및/또는 시야각 결정 모듈(818)은 사용자의 현재 시야각 및/또는 현재 머리 위치, 예를 들면, 머리에 장착된 디스플레이의 위치를 결정하고, 결정된 위치 및/또는 시야각 정보를 콘텐트 전달 시스템(700)에 보고하도록 구성된다. 몇몇 실시예들에서, 재생 디바이스(800)는 현재 머리 위치 정보를 시스템(700)에 주기적으로 전송한다.
디코더 모듈(820)은 디코딩된 이미지 데이터(826)를 생성하기 위해 콘텐트 전달 시스템(700)으로부터 수신된 인코딩된 이미지 콘텐트(824)를 디코딩하도록 구성된다. 디코딩된 이미지 데이터(826)는 디코딩된 입체 영상 장면 및/또는 디코딩된 장면 부분들을 포함할 수 있다.
3D 이미지 렌더링 모듈(822)은, 디스플레이(802) 및/또는 디스플레이 디바이스(805)상으로 사용자에게 디스플레이하기 위한, 예를 들면, 디코딩된 이미지 콘텐트(826)를 사용하여, 본 발명의 특징들에 따라 3D 이미지를 생성한다. 생성된 입체 영상 이미지 콘텐트(830)는 3D 이미지 생성 모듈(822)의 출력이다. 따라서, 렌더링 모듈(822)은 3D 이미지 콘텐트(830)를 디스플레이로 렌더링한다. 몇몇 실시예들에서, 디스플레이 디바이스(805)는 오큘러스 리프트와 같은 3D 디스플레이일 수 있다. 재생 디바이스(800)의 운영자는 입력 디바이스(804)를 통해 하나 이상의 파라미터들을 제어하고 및/또는 수행될 동작들을 선택, 예를 들면 3D 장면을 디스플레이할 것을 선택할 수 있다.
몇몇 실시예들은 입체 영상 비디오를 인코딩 및 압축하도록 컴퓨터 또는 다른 디바이스를 제어하기 위해, 소프트웨어 명령들의 일 세트, 예를 들면, 컴퓨터 실행 가능한 명령들을 구현하는 비-일시적 컴퓨터 판독가능한 매체에 대한 것이다. 다른 실시예들은 플레이어 부분상에 비디오를 디코딩 및 압축 해제하도록 컴퓨터 또는 다른 디바이스를 제어하기 위한, 소프트웨어 명령들의 일 세트, 예를 들면, 컴퓨터 실행 가능한 명령들을 구현하는 컴퓨터 판독가능한 매체에 대한 것이다. 인코딩 및 압축은 가능한 개별적인 동작들로서 언급되었지만, 인코딩은 압축을 수행하기 위해 사용될 수 있고 따라서 인코딩은 일부에서 압축을 포함할 수 있다는 것이 이해되어야 한다. 유사하게, 디코딩은 압축 해제를 포함할 수 있다.
다양한 실시예들의 기술들은 소프트웨어, 하드웨어 및/또는 소프트웨어 및 하드웨어의 조합을 사용하여 구현될 수 있다. 다양한 실시예들은 장치, 예를 들면, 이미지 데이터 처리 시스템에 대한 것이다. 다양한 실시예들은 또한 방법들, 예를 들면, 이미지 데이터를 처리하는 방법에 관한 것이다. 다수의 실시예들은 또한, 비-일시적 머신, 예를 들면, 컴퓨터, 판독가능한 매체, 예를 들면, ROM, RAM, CD들, 하드 디스크들, 등에 관한 것이고, 이는 방법의 하나 이상의 단계들을 구현하도록 머신을 제어하기 위한 머신 판독 가능한 명령들을 포함한다.
본 발명의 다양한 특징들은 모듈들을 사용하여 구현된다. 이러한 모듈들은, 소프트웨어 모듈들로서 구현될 수 있고, 몇몇 실시예들에서 그와 같이 구현된다. 다른 실시예들에서, 모듈들은 하드웨어에서 구현된다. 또 다른 실시예들에서, 모듈들은 소프트웨어 및 하드웨어의 조합을 사용하여 구현된다. 몇몇 실시예들에서, 모듈들은 각각의 모듈이 모듈이 대응하는 기능을 수행하기 위해 회로로서 구현되는 개별적인 회로들로서 구현된다. 상이한 모듈들이 상이하게, 예를 들면, 몇몇은 하드웨어에서, 몇몇은 소프트웨어에서, 및 몇몇은 하드웨어 및 소프트웨어의 조합을 사용하여, 구현되는 몇몇 실시예들을 포함하여, 매우 다양한 실시예들이 생각된다. 루틴들 및/또는 서브루틴들, 또는 이러한 루틴들에 의해 수행된 단계들의 일부가 범용 프로세서상에 실행된 소프트웨어와 반대로 전용 하드웨어에서 구현될 수 있다는 것이 또한 주의되어야 한다. 이러한 실시예들은 본 발명의 범위 내에 유지된다. 상기 기술된 방법들 또는 방법 단계들 중 다수가 상기에 기술된 방법들 모두 또는 그의 부분들을 구현하도록 머신, 예를 들면, 추가의 하드웨어를 구비하거나 그것이 없는 범용 컴퓨터를 제어하기 위해, 메모리 디바이스, 예를 들면, RAM, 플로피 디스크, 등과 같은 머신 판독 가능한 매체에 포함된 소프트웨어와 같은 머신 실행가능한 명령들을 사용하여 구현될 수 있다. 따라서, 특히, 본 발명은 머신, 예를 들면, 프로세서 및 연관된 하드웨어가, 상기에 기술된 방법(들)의 단계들 중 하나 이상을 수행하게 하기 위한 머신 실행가능한 명령들을 포함하는 머신-판독 가능한 매체에 대한 것이다.
상기에 기술된 다양한 실시예들의 방법들 및 장치에 대한 다수의 추가의 변동들은 상기 기술의 관점에서 당업자에게 명백할 것이다. 이러한 변동들은 범위 내에서 고려되는 것이다.
700 : 콘텐트 전달 시스템 702 : 디스플레이
704 : 입력 디바이스 706 : I/O 인터페이스
708 : 프로세서 710 : 네트워크 인터페이스
712 : 메모리 714 : 제어 루틴들
716 : 분할 모듈 718 : 인코더(들)
720 : 스트리밍 제어기 722 : 요청 처리 모듈
724 : 데이터 레이트 결정 모듈 726 : 현재 머리 위치 결정 모듈
728 : 선택 모듈 730 : 스트리밍 제어 모듈

Claims (14)

  1. 360도 장면에 대응하는 콘텐트를 전달하는 방법에 있어서,
    상기 360도 장면을 복수의 N 개의 부분들로 분할하는 단계;
    사용자의 현재 시야각을 결정하는 단계; 및
    상기 N 개의 부분들 중 어느 것을 상기 사용자의 상기 현재 시야각에 기초하여 제 1 시간 간격 동안 상기 사용자에 대응하는 재생 디바이스에 스트리밍할지를 결정하는 단계를 포함하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  2. 제 1 항에 있어서,
    상기 N 개의 부분들 중 어느 것을 상기 사용자의 상기 현재 시야각에 기초하여 일정 시간 간격 동안 상기 사용자에 대응하는 재생 디바이스에 스트림할 것인지를 결정하는 단계는:
    상기 제 1 시간 간격 동안 상기 사용자에게 스트리밍될 상기 360도 장면의 적어도 두 개의 상이한 부분들을 선택하는 단계를 포함하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  3. 제 2 항에 있어서,
    상기 N 개의 부분들 중 어느 것을 상기 사용자의 상기 현재 시야각에 기초하여 일정 시간 간격 동안 상기 사용자에 대응하는 재생 디바이스에 스트림할 것인지를 결정하는 단계는:
    상기 사용자에게 콘텐트를 스트리밍하기 위해 이용 가능한 데이터 레이트에 기초하여 스트리밍할 다수의 상이한 부분들을 결정하는 단계를 포함하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  4. 제 2 항에 있어서,
    상기 제 1 시간 간격 동안 상기 사용자에게 스트리밍될 상기 360도 장면의 적어도 두 개의 상이한 부분들을 선택하는 단계는:
    상기 현재 시야각이 대응하는 제 1 장면 부분을 선택하는 단계; 및
    상기 제 1 장면 부분에 직접 인접하는 제 2 장면 부분을 선택하는 단계를 포함하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  5. 제 4 항에 있어서,
    상기 제 2 장면 부분은 상기 시야각의 함수로서 선택되고, 상기 제 2 장면 부분은 상기 시야각에 의해 나타낸 상기 제 1 장면 부분 내 각도에 가장 가까운 상기 제 1 장면 부분에 인접한 장면 부분인, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  6. 제 3 항에 있어서,
    콘텐트를 스트리밍하기에 적절한 상기 현재 데이터 레이트에 기초하여 상기 제 2 장면 부분의 복수의 버전들 중 어느 것을 스트리밍할지를 결정하는 단계를 추가로 포함하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  7. 제 4 항에 있어서,
    상기 제 1 장면 부분은 상기 360도 장면 중 적어도 120도에 대응하고,
    상기 제 2 장면 부분은 적어도 30도 장면 부분에 대응하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  8. 제 7 항에 있어서,
    스트리밍할 다수의 상이한 부분들을 결정하는 상기 단계는 적어도 세 개의 상이한 부분들을 스트리밍할 것을 결정하는 단계를 포함하고,
    상기 적어도 세 개의 상이한 장면 부분들은 조합하여 상기 360도 장면 중 적어도 170도를 포함하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  9. 제 1 항에 있어서,
    상기 재생 디바이스가 각각의 리프레시 기간 동안 적어도 한번 상기 장면의 360도 버전을 완전히 리프레시하게 하기 위해 주기적으로 상기 재생 디바이스에 적어도 상기 N 개의 부분들 중 충분한 수를 전달하는 단계를 추가로 포함하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  10. 제 8 항에 있어서,
    리프레시 간격 동안 상기 재생 디바이스에 송신되지 않은 장면 부분들을 식별하는 단계; 및
    상기 리프레시 간격 동안 상기 재생 디바이스에 송신되지 않은 상기 식별된 장면 부분들의 갱신된 버전을 송신하는 단계를 추가로 포함하는, 360도 장면에 대응하는 콘텐트를 전달하는 방법.
  11. 360도 장면에 대응하는 콘텐트를 전달하기 위한 콘텐트 전달 장치에 있어서,
    상기 360도 장면을 복수의 N 개의 부분들로 분할하도록 구성된 분할 모듈;
    사용자의 현재 시야각을 결정하도록 구성된 현재 시야각 결정 모듈; 및
    상기 사용자의 상기 현재 시야각에 기초하여 제 1 시간 간격 동안 상기 N 개의 부분들 중 어느 것을 상기 사용자에 대응하는 재생 디바이스에 스트리밍할지를 결정하도록 구성된 선택 모듈을 포함하는, 콘텐트 전달 장치.
  12. 제 11 항에 있어서,
    상기 선택 모듈은, 상기 제 1 시간 간격 동안 상기 N 개의 부분들 중 어느 것을 상기 사용자에 대응하는 상기 재생 디바이스로 스트리밍할지를 결정하는 부분으로서, 상기 제 1 시간 간격 동안 상기 사용자에게 스트리밍될 상기 360도 장면 중 적어도 두 개의 상이한 부분들을 선택하도록 또한 구성되는, 콘텐트 전달 장치.
  13. 제 12 항에 있어서,
    상기 선택 모듈은 상기 사용자에게 콘텐트를 스트리밍하기 위해 이용 가능한 데이터 레이트에 기초하여 스트리밍할 상이한 부분들의 수를 결정하도록 또한 구성되는, 콘텐트 전달 장치.
  14. 360도 장면에 대응하는 콘텐트를 전달하기 위한 콘텐트 전달 장치에서 사용을 위한 비일시적 컴퓨터 판독 가능한 매체에 있어서,
    적어도 하나의 프로세서가 상기 360도 장면을 복수의 N 개의 부분들로 분할하게 하기 위한 명령;
    상기 적어도 하나의 프로세서가 사용자의 현재 시야각을 결정하게 하기 위한 명령; 및
    상기 적어도 하나의 프로세서가 상기 사용자의 상기 현재 시야각에 기초하여 제 1 시간 간격 동안 상기 N 개의 부분들 중 어느 것을 상기 사용자에 대응하는 재생 디바이스에 스트리밍할지를 결정하게 하기 위한 명령을 포함하는, 비일시적 컴퓨터 판독 가능한 매체.
KR1020167027231A 2014-03-03 2015-03-02 콘텐트를 스트리밍하기 위한 방법들 및 장치 KR20170008725A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461947312P 2014-03-03 2014-03-03
US61/947,312 2014-03-03
US14/252,289 US9699437B2 (en) 2014-03-03 2014-04-14 Methods and apparatus for streaming content
US14/252,289 2014-04-14
PCT/US2015/018336 WO2015134400A1 (en) 2014-03-03 2015-03-02 Methods and apparatus for streaming content

Publications (1)

Publication Number Publication Date
KR20170008725A true KR20170008725A (ko) 2017-01-24

Family

ID=54007355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167027231A KR20170008725A (ko) 2014-03-03 2015-03-02 콘텐트를 스트리밍하기 위한 방법들 및 장치

Country Status (6)

Country Link
US (3) US9699437B2 (ko)
EP (1) EP3114844A4 (ko)
JP (1) JP2017514411A (ko)
KR (1) KR20170008725A (ko)
CN (1) CN106063277A (ko)
WO (1) WO2015134400A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210106034A (ko) * 2017-06-08 2021-08-27 후아웨이 테크놀러지 컴퍼니 리미티드 가상 현실(vr) 콘텐츠를 전송하기 위한 방법과 시스템
US11303871B2 (en) 2017-08-16 2022-04-12 Samsung Electronics Co., Ltd. Server and display apparatus, and control methods thereof

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106464785A (zh) 2014-05-20 2017-02-22 奈克斯特Vr股份有限公司 包括或用于一个或多个照相机的装置和方法
US20160150212A1 (en) * 2014-11-26 2016-05-26 Sony Corporation Live selective adaptive bandwidth
US10531071B2 (en) 2015-01-21 2020-01-07 Nextvr Inc. Methods and apparatus for environmental measurements and/or stereoscopic image capture
US9832449B2 (en) 2015-01-30 2017-11-28 Nextvr Inc. Methods and apparatus for controlling a viewing position
US10362290B2 (en) 2015-02-17 2019-07-23 Nextvr Inc. Methods and apparatus for processing content based on viewing information and/or communicating content
CN107615338B (zh) 2015-02-17 2023-08-04 纳维曼德资本有限责任公司 用于生成和使用降低分辨率图像并且/或者将这样的图像传送到重放或内容分发设备的方法和装置
EP3262614B1 (en) 2015-02-24 2018-12-12 NEXTVR Inc. Calibration for immersive content systems
US9894350B2 (en) 2015-02-24 2018-02-13 Nextvr Inc. Methods and apparatus related to capturing and/or rendering images
WO2016140986A1 (en) 2015-03-01 2016-09-09 Nextvr Inc. Methods and apparatus for supporting content generation, transmission and/or playback
GB2536025B (en) 2015-03-05 2021-03-03 Nokia Technologies Oy Video streaming method
US20170006219A1 (en) 2015-06-30 2017-01-05 Gopro, Inc. Image stitching in a multi-camera array
US9836845B2 (en) 2015-08-25 2017-12-05 Nextvr Inc. Methods and apparatus for detecting objects in proximity to a viewer and presenting visual representations of objects in a simulated environment
US11108670B2 (en) 2015-09-09 2021-08-31 Vantrix Corporation Streaming network adapted to content selection
US11287653B2 (en) 2015-09-09 2022-03-29 Vantrix Corporation Method and system for selective content processing based on a panoramic camera and a virtual-reality headset
US10419770B2 (en) 2015-09-09 2019-09-17 Vantrix Corporation Method and system for panoramic multimedia streaming
US10694249B2 (en) * 2015-09-09 2020-06-23 Vantrix Corporation Method and system for selective content processing based on a panoramic camera and a virtual-reality headset
EP3347810A1 (en) * 2015-09-10 2018-07-18 Google LLC Playing spherical video on a limited bandwidth connection
US10848582B2 (en) * 2015-09-11 2020-11-24 Amazon Technologies, Inc. Customizable event-triggered computation at edge locations
CN106612426B (zh) * 2015-10-26 2018-03-16 华为技术有限公司 一种多视点视频传输方法及装置
CN106937135A (zh) * 2015-12-31 2017-07-07 幸福在线(北京)网络技术有限公司 一种游戏场景的实时播放方法及相关装置和系统
CN106937128A (zh) * 2015-12-31 2017-07-07 幸福在线(北京)网络技术有限公司 一种视频直播方法、服务器及系统和相关用途
US9992502B2 (en) 2016-01-29 2018-06-05 Gopro, Inc. Apparatus and methods for video compression using multi-resolution scalable coding
US10291910B2 (en) 2016-02-12 2019-05-14 Gopro, Inc. Systems and methods for spatially adaptive video encoding
US10484621B2 (en) 2016-02-29 2019-11-19 Gopro, Inc. Systems and methods for compressing video content
CN105791882B (zh) * 2016-03-22 2018-09-18 腾讯科技(深圳)有限公司 视频编码方法及装置
GB2548860A (en) 2016-03-31 2017-10-04 Nokia Technologies Oy Multi-camera image coding
EP3440843A4 (en) * 2016-04-08 2019-08-28 Visbit Inc. VIEWED 360 Degree VIDEO STREAMING
US10645362B2 (en) 2016-04-11 2020-05-05 Gopro, Inc. Systems, methods and apparatus for compressing video content
US11228754B2 (en) * 2016-05-06 2022-01-18 Qualcomm Incorporated Hybrid graphics and pixel domain architecture for 360 degree video
CN105939481A (zh) * 2016-05-12 2016-09-14 深圳市望尘科技有限公司 一种交互式三维虚拟现实视频节目录播和直播方法
US10163029B2 (en) 2016-05-20 2018-12-25 Gopro, Inc. On-camera image processing based on image luminance data
US10462466B2 (en) 2016-06-20 2019-10-29 Gopro, Inc. Systems and methods for spatially selective video coding
GB2551526A (en) 2016-06-21 2017-12-27 Nokia Technologies Oy Image encoding method and technical equipment for the same
KR101915037B1 (ko) * 2016-07-01 2018-11-06 에스케이 텔레콤주식회사 고해상도 영상 스트리밍을 위한 영상 비트스트림 생성방법 및 장치
EP3485646B1 (en) 2016-07-15 2022-09-07 Koninklijke KPN N.V. Streaming virtual reality video
US10298819B2 (en) 2016-07-20 2019-05-21 Nextvr Inc. Camera apparatus and methods which allow for filters to be used
KR102567002B1 (ko) 2016-08-16 2023-08-14 삼성전자주식회사 영상 표시 장치 및 그 동작방법
US10200672B2 (en) 2016-08-17 2019-02-05 Nextvr Inc. Methods and apparatus for capturing images of an environment
CN109716759B (zh) * 2016-09-02 2021-10-01 联发科技股份有限公司 提升质量递送及合成处理
WO2018049221A1 (en) * 2016-09-09 2018-03-15 Vid Scale, Inc. Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
WO2018050606A1 (en) * 2016-09-14 2018-03-22 Koninklijke Kpn N.V. Streaming virtual reality video
KR102499139B1 (ko) 2016-09-21 2023-02-13 삼성전자주식회사 이미지를 표시하는 전자 장치 및 그 제어 방법
WO2018069412A1 (en) * 2016-10-12 2018-04-19 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Spatially unequal streaming
GB2555378B (en) * 2016-10-18 2021-06-09 Virtually Live Switzerland Gmbh HMD delivery system and method
KR20180051202A (ko) * 2016-11-08 2018-05-16 삼성전자주식회사 디스플레이장치 및 그 제어방법
US10595069B2 (en) 2016-12-05 2020-03-17 Adobe Inc. Prioritizing tile-based virtual reality video streaming using adaptive rate allocation
CN108156484B (zh) * 2016-12-05 2022-01-14 奥多比公司 利用自适应速率分配优先处理基于图块的虚拟现实视频流
EP3334164B1 (en) 2016-12-09 2019-08-21 Nokia Technologies Oy A method and an apparatus and a computer program product for video encoding and decoding
EP3571845B1 (en) * 2017-01-20 2021-06-30 PCMS Holdings, Inc. Field-of-view prediction method based on contextual information for 360-degree vr video
US10198862B2 (en) 2017-01-23 2019-02-05 Gopro, Inc. Methods and apparatus for providing rotated spherical viewpoints
KR20180092163A (ko) * 2017-02-08 2018-08-17 삼성전자주식회사 비디오 재생을 위한 전자 장치 및 서버
US11252391B2 (en) 2017-03-06 2022-02-15 Nevermind Capital Llc Methods and apparatus for packing images into a frame and/or including additional content or graphics
US10567733B2 (en) 2017-03-06 2020-02-18 Nextvr Inc. Methods and apparatus for communicating and/or using frames including a captured image and/or including additional image content
WO2018172614A1 (en) * 2017-03-22 2018-09-27 Nokia Technologies Oy A method and an apparatus and a computer program product for adaptive streaming
US10742964B2 (en) 2017-04-04 2020-08-11 Nextvr Inc. Methods and apparatus for displaying images
FR3066672B1 (fr) * 2017-05-19 2020-05-22 Sagemcom Broadband Sas Procede de communication d'une video immersive
CN109327699B (zh) * 2017-07-31 2021-07-16 华为技术有限公司 一种图像的处理方法、终端和服务器
US11069195B2 (en) * 2017-08-09 2021-07-20 Raymond Anthony Joao Sports betting apparatus and method
US10885746B2 (en) * 2017-08-09 2021-01-05 Raymond Anthony Joao Sports betting apparatus and method
WO2019041179A1 (zh) * 2017-08-30 2019-03-07 华为技术有限公司 Vr视频播放处理方法及设备
KR102395395B1 (ko) 2018-03-22 2022-05-10 브이아이디 스케일, 인크. 뷰포트 의존성 비디오 스트리밍 이벤트
US10735709B2 (en) 2018-04-04 2020-08-04 Nextvr Inc. Methods and apparatus for capturing, processing and/or communicating images
US10904590B2 (en) * 2018-05-23 2021-01-26 Otter Network, LLC Method and system for real time switching of multimedia content
US11917127B2 (en) 2018-05-25 2024-02-27 Interdigital Madison Patent Holdings, Sas Monitoring of video streaming events
US10623791B2 (en) 2018-06-01 2020-04-14 At&T Intellectual Property I, L.P. Field of view prediction in live panoramic video streaming
US10812774B2 (en) 2018-06-06 2020-10-20 At&T Intellectual Property I, L.P. Methods and devices for adapting the rate of video content streaming
US10616621B2 (en) 2018-06-29 2020-04-07 At&T Intellectual Property I, L.P. Methods and devices for determining multipath routing for panoramic video content
US11019361B2 (en) 2018-08-13 2021-05-25 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic view of a camera for capturing video content
US10708494B2 (en) 2018-08-13 2020-07-07 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic video content
US10999583B2 (en) * 2018-09-14 2021-05-04 Apple Inc. Scalability of multi-directional video streaming
US20200175818A1 (en) * 2018-12-01 2020-06-04 Raymond Anthony Joao Sports betting apparatus and method
CN111277857B (zh) * 2018-12-04 2021-04-13 清华大学 一种流媒体调度方法及装置
US11683464B2 (en) * 2018-12-28 2023-06-20 Canon Kabushiki Kaisha Electronic device, control method, and non-transitorycomputer readable medium
CN113424549B (zh) 2019-01-24 2024-05-28 交互数字Vc控股公司 用于利用多个细节级别和自由度的自适应空间内容流传输的系统和方法
US10681463B1 (en) * 2019-05-17 2020-06-09 Sonos, Inc. Wireless transmission to satellites for multichannel audio system
EP3973684A1 (en) * 2019-05-20 2022-03-30 FRAUNHOFER-GESELLSCHAFT zur Förderung der angewandten Forschung e.V. Immersive media content presentation and interactive 360° video communication
US20230024852A1 (en) * 2019-05-27 2023-01-26 Raymond Anthony Joao Sports betting apparatus and method
US20220337805A1 (en) * 2019-09-13 2022-10-20 Sony Group Corporation Reproduction device, reproduction method, and recording medium
CN113055587A (zh) * 2019-12-27 2021-06-29 财团法人工业技术研究院 全景视频处理方法、全景视频处理装置与全景视频系统
KR20220113501A (ko) * 2020-04-10 2022-08-12 지티이 코포레이션 몰입형 미디어 프로세싱의 순위 정보
US11895170B2 (en) * 2021-03-09 2024-02-06 Cisco Technology, Inc. Synchronicity for virtual reality/augmented reality interactive sessions in wireless networks

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466254B1 (en) * 1997-05-08 2002-10-15 Be Here Corporation Method and apparatus for electronically distributing motion panoramic images
US6337882B1 (en) * 1998-03-06 2002-01-08 Lucent Technologies Inc. Method and apparatus for generating unlimited selected image views from a larger image
JP3472273B2 (ja) * 2001-03-07 2003-12-02 キヤノン株式会社 画像再生装置及び画像処理装置及び方法
US7224326B2 (en) * 2004-03-03 2007-05-29 Volo, Llc Virtual reality system
TW201125358A (en) 2010-01-11 2011-07-16 Chunghwa Telecom Co Ltd Multi-viewpoints interactive television system and method.
US9232257B2 (en) * 2010-09-22 2016-01-05 Thomson Licensing Method for navigation in a panoramic scene
CN102438123A (zh) * 2010-09-29 2012-05-02 鸿富锦精密工业(深圳)有限公司 摄影机影像分割系统及其使用方法
US20120098925A1 (en) 2010-10-21 2012-04-26 Charles Dasher Panoramic video with virtual panning capability
US20130129304A1 (en) 2011-11-22 2013-05-23 Roy Feinson Variable 3-d surround video playback with virtual panning and smooth transition
US9516225B2 (en) * 2011-12-02 2016-12-06 Amazon Technologies, Inc. Apparatus and method for panoramic video hosting
WO2013085920A2 (en) * 2011-12-06 2013-06-13 DISH Digital L.L.C. Remote storage digital video recorder and related operating methods
TW201334516A (zh) * 2012-02-15 2013-08-16 Wistron Corp 電子裝置及同步顯示影像畫面的方法
US9241103B2 (en) * 2013-03-15 2016-01-19 Voke Inc. Apparatus and method for playback of multiple panoramic videos with control codes
KR101518814B1 (ko) 2013-09-11 2015-05-28 (주) 메리제이콘텐츠 360도 서라운드 뷰 영상 데이터를 이용한 방송 컨텐츠의 저작방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210106034A (ko) * 2017-06-08 2021-08-27 후아웨이 테크놀러지 컴퍼니 리미티드 가상 현실(vr) 콘텐츠를 전송하기 위한 방법과 시스템
US11303871B2 (en) 2017-08-16 2022-04-12 Samsung Electronics Co., Ltd. Server and display apparatus, and control methods thereof

Also Published As

Publication number Publication date
WO2015134400A1 (en) 2015-09-11
JP2017514411A (ja) 2017-06-01
US20150249813A1 (en) 2015-09-03
US20230403384A1 (en) 2023-12-14
US20170324945A1 (en) 2017-11-09
EP3114844A4 (en) 2017-11-01
US9699437B2 (en) 2017-07-04
CN106063277A (zh) 2016-10-26
EP3114844A1 (en) 2017-01-11

Similar Documents

Publication Publication Date Title
US20230403384A1 (en) Methods and apparatus for streaming content
US20210409672A1 (en) Methods and apparatus for receiving and/or playing back content
US11924394B2 (en) Methods and apparatus for receiving and/or using reduced resolution images
US11902493B2 (en) Methods and apparatus for processing content based on viewing information and/or communicating content