KR20190137915A - 비디오 재생 방법, 장치 및 시스템 - Google Patents

비디오 재생 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20190137915A
KR20190137915A KR1020197034532A KR20197034532A KR20190137915A KR 20190137915 A KR20190137915 A KR 20190137915A KR 1020197034532 A KR1020197034532 A KR 1020197034532A KR 20197034532 A KR20197034532 A KR 20197034532A KR 20190137915 A KR20190137915 A KR 20190137915A
Authority
KR
South Korea
Prior art keywords
viewing angle
resolution
video stream
image
video
Prior art date
Application number
KR1020197034532A
Other languages
English (en)
Other versions
KR102280134B1 (ko
Inventor
란 주
진 리
펭 리
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20190137915A publication Critical patent/KR20190137915A/ko
Application granted granted Critical
Publication of KR102280134B1 publication Critical patent/KR102280134B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing 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
    • H04N21/234363Processing 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 by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing 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
    • H04N21/440263Processing 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 by altering the spatial resolution, e.g. for displaying on a connected PDA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/156Mixing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/167Synchronising or controlling image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/432Content retrieval operation from a local storage medium, e.g. hard-disk
    • H04N21/4325Content retrieval operation from a local storage medium, e.g. hard-disk by playing back content from the storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing 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/44004Processing 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 video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

비디오 재생 방법, 장치 및 시스템이 제공된다. 상기 방법은: VR 장치가 서버에 의해 송신되는 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 수신하는 단계 - 상기 제1-해상도는 상기 제2-해상도보다 큼 - ; 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용하여 상기 제1 시야각의 이미지를 재생하는 단계; 상기 시야각이 변한다고 결정될 때, 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림과 상기 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용함으로써 현재 시야각의 이미지를 재생하는 단계; 상기 서버에 시야각 정보를 송신하는 단계 - 상기 시야각 정보는 변경될 제2 시야각을 지시하기 위한 파라미터를 운송함 - ; 상기 서버에 의해 송신된 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 수신하는 단계; 및 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생하는 단계를 포함한다. 본 출원의 이 실시예에서 제공되는 솔루션은 네트워크 VR 서비스의 높은 지연 및 큰 대역폭 점유의 문제를 모두 해결하고, 서버의 저장 오버헤드 및 트래픽 버스트를 감소시킨다.

Description

비디오 재생 방법, 장치 및 시스템
본 출원은 2017년 4월 28일에 중국 국가 특허청에 출원되고 발명의 명칭이 "비디오 재생 방법, 장치 및 시스템"인 중국특허출원 제201710294033.5호에 대한 우선권을 주장하며, 상기 문헌은 본 명세서에 원용되어 포함된다.
본 출원의 실시예는 가상 현실(virtual reality, VR) 기술 분야에 관한 것이며, 특히 비디오 재생 방법, 장치 및 시스템에 관한 것이다.
VR 기술은 가상 세계를 생성하여 경험할 수 있게 하는 컴퓨터 시뮬레이션 기술이며, VR 기술은 시각, 청각, 촉각 및 기타 감각적 몰입 경험을 사용자에게 제공할 수 있다. 네트워크 VR 기술은 네트워크를 사용하여 사용자에게 VR 서비스를 제공하는 기술이다. 네트워크에 전개된 서비스 서버는 네트워크를 이용하여 VR 비디오 스트림을 VR 장치에 전송하고, VR 장치는 수신된 VR 비디오 스트림을 재생한다.
현재, 다음 두 가지 솔루션이 일반적으로 VR 비디오 스트림을 전송하고 재생하는 데 사용된다: 첫 번째 솔루션에서, 서버는 360도 파노라마 VR 비디오 스트림을 VR 장치로 보내고 VR 장치는 360도 파노라마 VR을 사용하여 사용자의 시야각에 대응하는 이미지를 재생한다. 360도 파노라마 VR 비디오 스트림의 해상도는 상대적으로 높고 360도 파노라마 VR 비디오 스트림의 데이터 볼륨은 비교적 크기 때문에 360도 파노라마 VR 비디오 스트림을 전송하려면 상대적으로 큰 대역폭을 점유해야 하며, 일반 가정 사용자가 사용하는 대역폭은 360도 파노라마 VR 비디오 스트림의 전송 요구 사항을 충족할 수 없다. 제2 솔루션에서, 서버는 360도 파노라마 VR 비디오 스트림으로부터 사용자의 시야각에 대응하는 VR 비디오 스트림을 추출하고; 서버는 사용자의 시야각에 대응하는 VR 비디오 스트림만 VR 장치에 전송하고; VR 장치는 VR 비디오 스트림을 수신하여 직접 재생한다. 제1 솔루션은 360도 전송 솔루션으로 지칭될 수 있고, 제2 솔루션은 시야(Field of View, FOV) 전송 솔루션으로 지칭될 수 있다. 제1 솔루션과 비교할 때 제2 솔루션은 대역폭을 절약할 수 있지만 다음과 같은 문제가 있다: 사용자의 시야각이 변하면, VR 장치는 변경될 제2 시야각(a changed-to second viewing angle)에 해당하는 VR 비디오 스트림을 서버로부터 획득하기 위해 요청해야 한다. 전송 및 버퍼링에는 특정 시간이 걸리므로 모션-투-포톤(Motion-to-Photon, MTP) 레이턴시는 비교적 높으며 VR 기술에 필요한 20 밀리초 미만의 MTP 레이턴시 요구 사항을 충족할 수 없다. MTP 레이턴시는 사용자의 시야각의 변경과, VR 장치에 의한 변경될 제2 시야각에 대응하는 이미지의 디스플레이 사이의 레이턴시이다.
따라서, 네트워크 VR 서비스의 높은 대역폭 및 큰 대역폭의 점유 문제는 종래 기술에서 함께 해결될 수 없다.
본 출원의 실시예는 종래 기술에서 네트워크 VR 서비스의 높은 지연 및 높은 대역폭의 점유 문제를 함께 해결할 수 없다는 어려움을 극복하기 위해 비디오 재생 방법, 장치 및 시스템을 제공한다.
한 관점에 따라, 본 출원의 실시예는 비디오 재생 방법을 제공하며, 상기 방법은: 가상 현실(virtual reality, VR) 장치가 서버에 의해 송신되는 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 수신하는 단계 - 상기 제1-해상도는 상기 제2-해상도보다 큼 - ; 상기 VR 장치가 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용하여 상기 제1 시야각의 이미지를 재생하는 단계; 상기 VR 장치가 상기 시야각이 변한다고 결정할 때, 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림과 상기 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용함으로써 현재 시야각의 이미지를 재생하는 단계; 상기 VR 장치가 상기 서버에 시야각 정보를 송신하는 단계 - 상기 시야각 정보는 변경될 제2 시야각(changed-to second viewing angle)을 지시하기 위한 파라미터를 운송함 - ; 상기 서버가 상기 파라미터에 기초해서 상기 VR에 제2 시야각의 제1-해상도 VR 비디오 스트림을 송신하는 단계; 및 상기 VR 장치가 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생하는 단계를 포함한다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, 서버는 2개의 서비스 데이터 스트림을 VR 장치에 전송한다. 하나는 시야각의 고해상도 VR 비디오 스트림이며, 고정된 시야각의 경우 디스플레이 요구 사항을 충족시키는 데 사용된다. 다른 하나는 전체 시야각의 저해상도 VR 비디오 스트림이며, 시야각 전환 시 디스플레이 요구 사항을 충족시키는 데 사용된다. 이 솔루션에서는 360도 전송 솔루션과 비교하여 대역폭 점유가 줄어든다. 또한, 전체 시야각의 저해상도 VR 비디오 스트림은 360도의 시야각을 커버하므로, 시야각 전환 동안 요구되는 이미지 데이터가 요청을 통해 서버로부터 획득될 필요가 없어서, 시야각 전환 중에 디스플레이 레이턴시를 감소시킨다.
가능한 설계에서, 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용함으로써 현재 시야각의 이미지를 재생하는 단계는: 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득하는 단계; 상기 VR 장치가 상기 전체 시야각 이미지로부터 상기 현재 시야각의 이미지를 추출하는 단계; 및 상기 VR 장치가 상기 현재 시야각의 이미지를 재생하는 단계를 포함한다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, 시야각 변경 동안, VR 장치는 비디오 버퍼로부터 전체 시야각의 제2-해상도 VR 비디오 스트림을 판독하고, 이 전체 시야각의 제2-해상도 VR 비디오 스트림을 이용하여 현재 시야각의 이미지를 재생한다. 전체 시야각의 제2-해상도 VR 비디오 스트림은 로컬 비디오 버퍼에 저장되기 때문에, VR 장치는 서버로부터 VR 비디오 스트림을 얻도록 요구할 필요가 없다. 따라서, 시야각 전환 동안의 MTP 레이턴시가 감소될 수 있고, 20 밀리초 미만의 MTP 레이턴시 요건이 충족된다. 또한, 시야각 변경 동안(예를 들어, 사용자가 머리를 돌리는 과정에서), 저해상도 이미지가 표시되며; 그렇지만, 움직임 동안 사람의 눈에 의해 감지된 이미지는 흐릿하므로, 저해상도 이미지를 사용자에게 표시하는 것이 시각적 경험을 저하시키지 않는다.
가능한 설계에서, 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림 및 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 현재 시야각의 이미지를 재생하는 단계는: 상기 VR 장치가 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 디코딩하여 상기 제1 시야각의 이미지를 획득하는 단계; 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득하는 단계; 상기 VR 장치가 상기 제1 시야각의 이미지로부터 중첩 이미지를 추출하고, 상기 전체 시야각 이미지로부터 비중첩 이미지를 추출하는 단계 - 상기 중첩 이미지는 상기 제1 시야각의 이미지와 상기 현재 시야각의 이미지 간의 중첩 영역의 이미지이고, 상기 비중첩 이미지는 상기 현재 시야각의 이미지 내의 상기 중첩 영역의 이미지와는 상이함 - ; 상기 VR 장치가 상기 중첩 이미지와 상기 비중첩 이미지를 결합하여 상기 현재 시야각의 이미지를 획득하는 단계; 및 상기 VR 장치가 상기 현재 시야각의 이미지를 재생하는 단계를 포함한다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, 시야각 변경 동안, 현재 시야각과 제1 시야각 사이에 중첩 영역이 여전히 존재할 수 있다. 선명도 손실을 가능한 많이 줄이기 위해, 중첩 영역의 이미지는 여전히 고해상도를 사용해서 재생될 수 있다.
가능한 설계에서, 상기 VR 장치가 상기 서버에 의해 송신된 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 수신하는 단계 이후에, 상기 비디오 재생 방법은: 상기 VR 장치가 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되는지를 검출하는 단계 - "동기화된다는 것"은 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 상기 현재 재생된 이미지의 타임 스탬프를 포함한다는 것을 의미함 - ; 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 상기 현재 재생된 이미지의 타임 스탬프와 동기화되면, 상기 VR 장치가 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생하는 단계를 수행하거나; 또는 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되지 않으면, 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림과 상기 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용함으로써 상기 제2 시야각의 이미지를 재생하는 단계를 더 포함한다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, 사용자에게 부드럽고 정확한 VR 비디오 재생을 보장하기 위해, 상기 VR 장치가 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되는지를 추가로 검출한다.
가능한 설계에서, 상기 VR 장치가 서버에 의해 송신되는 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 수신하는 단계 이후에, 상기 비디오 재생 방법은: 상기 VR 장치가 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 제1 비디오 버퍼에 저장하고, 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 제2 비디오 버퍼에 저장하는 단계를 더 포함한다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, VR 장치는 2개의 비디오 버퍼를 이용해서 서로 다른 해상도로 VR 비디오 스트림을 개별적으로 저장하여, 재생을 위한 서로 다른 VR 비디오 스트림의 신속한 선택을 용이하게 하고 전환 부드러움을 향상시킨다.
가능한 설계에서, 비디오 재생 방법은: 상기 VR 장치가 상기 시야각이 변한다고 결정할 때, 또는 상기 VR 장치가 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생할 때, 상기 VR 장치가 상기 제1 비디오 버퍼에 버퍼링된 상기 제1 시야각의 제1-해상도 VR 비디오 스트림에 대해 데이터 에이징을 수행하는 단계를 더 포함한다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, VR 장치가 제1 비디오 버퍼에 버퍼링된 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용할 필요가 없을 때, VR 장치는 그 데이터에 대한 데이터 에이징을 수행한다. 이에 의해 제1 비디오 버퍼 내의 버퍼링 자원을 가능한 빨리 해제할 수 있다.
가능한 설계에서, 상기 VR 장치가 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 제1 시야각의 이미지를 재생하는 단계는: 상기 VR 장치가 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 디코딩하여 제1 시야각의 이미지를 획득하는 단계를 포함하며; 상기 VR 장치가 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 제2 시야각의 이미지를 재생하는 단계는: 상기 VR 장치가 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 디코딩하여 제2 시야각의 이미지를 획득하는 단계; 및 상기 VR 장치가 상기 제2 시야각의 이미지를 재생하는 단계를 포함한다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, VR 장치는 서로 다른 VR 비디오 스트림을 개별적으로 디코딩하기 때문에, 서로 다른 VR 비디오 스트림은 서로 구별될 수 있다.
다른 관점에 따라, 본 출원의 실시예는 VR 장치를 제공한다. VR 장치는 전술한 방법 예에서 VR 장치 측 상에서 작동을 실행하는 기능을 가진다. 기능은 하드웨어를 사용해서 실행될 수도 있고, 하드웨어에 의해 해당 소프트웨어를 실행함으로써 실행될 수도 있다. 하드웨어 또는 소프트웨어는 전술한 기능에 대응하는 하나 이상의 모듈 또는 유닛을 포함한다.
가능한 설계에서, VR 장치의 구조는 프로세서 및 통신 인터페이스를 포함한다. 프로세서는 전술한 방법에서 해당 기능을 수행할 때 VR 장치를 지원하도록 구성되어 있다. 통신 인터페이스는 VR 장치와 다른 장치 간의 통신을 지원하도록 구성되어 있다. 또한, VR 장치는 메모리를 더 포함할 수 있다. 메모리는 프로세서와 결합하도록 구성되어 있으며, VR 장치에 필요한 프로그램 명령 및 데이터를 저장한다.
또 다른 관점에 따라, 본 출원의 실시예는 서버를 제공한다. 서버는 전술한 방법 예에서 서버 측 상에서 작동을 실행하는 기능을 가진다. 기능은 하드웨어를 사용해서 실행될 수도 있고, 하드웨어에 의해 해당 소프트웨어를 실행함으로써 실행될 수도 있다. 하드웨어 또는 소프트웨어는 전술한 기능에 대응하는 하나 이상의 모듈 또는 유닛을 포함한다.
가능한 설계에서, 서버의 구조는 프로세서 및 통신 인터페이스를 포함한다. 프로세서는 전술한 방법에서 해당 기능을 수행할 때 VR 장치를 지원하도록 구성되어 있다. 통신 인터페이스는 서버와 다른 장치 간의 통신을 지원하도록 구성되어 있다. 또한, 서버는 메모리를 더 포함할 수 있다. 메모리는 프로세서와 결합하도록 구성되어 있으며, 서버에 필요한 프로그램 명령 및 데이터를 저장한다.
또 다른 관점에 따라, 본 출원의 실시예는 비디오 재생 시스템을 제공한다. 시스템은 전술한 관점에서 설명된 VR 장치 및 서버를 포함한다.
또 다른 관점에 따라, 본 출원의 실시예는 컴퓨터 저장 매체를 제공하며, 상기 매체는 전술한 VR 장치에 의한 사용을 위해 컴퓨터 소프트웨어 명령을 저장하도록 구성되어 있으며, 컴퓨터 소프트웨어 명령은 전술한 관점을 실행하도록 설계된 프로그램을 포함한다.
또 다른 관점에 따라, 본 출원의 실시예는 컴퓨터 저장 매체를 제공하며, 상기 매체는 전술한 서버에 의한 사용을 위해 컴퓨터 소프트웨어 명령을 저장하도록 구성되어 있으며, 컴퓨터 소프트웨어 명령은 전술한 관점을 실행하도록 설계된 프로그램을 포함한다.
또 다른 관점에 따라, 본 출원의 실시예는 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품이 실행될 때, 컴퓨터 프로그램 제품은 전술한 관점에 따라 VR 장치 측 상에서 방법을 실행하도록 구성되어 있다.
또 다른 관점에 따라, 본 출원의 실시예는 컴퓨터 프로그램 제품을 제공한다. 컴퓨터 프로그램 제품이 실행될 때, 컴퓨터 프로그램 제품은 전술한 관점에 따라 서버 측 상에서 방법을 실행하도록 구성되어 있다.
종래 기술과 비교하여, 본 출원의 실시예에서 제공되는 솔루션에 따르면, 서버는 2개의 서비스 데이터 스트림을 VR 장치에 전송한다. 하나는 시야각의 고해상도 VR 비디오 스트림이며, 고정된 시야각의 경우 디스플레이 요건을 충족시키는 데 사용된다. 다른 하나는 전체 시야각의 저해상도 VR 비디오 스트림이며, 시야각 전환 시 디스플레이 요구 사항을 충족시키는 데 사용된다. 솔루션에서 360도 전송 솔루션과 비교하여 이 솔루션에서는 대역폭 점유가 줄어든다. 또한, 전체 시야각의 저해상도 VR 비디오 스트림은 360도의 시야각을 커버하므로, 시야각 전환 동안 요구되는 이미지 데이터는 요청을 통해 서버로부터 획득될 필요가 없어서, 시야각 전환 동안 디스플레이 레이턴시를 감소시킨다.
도 1a는 예에 따른 단일 시야각의 VR 이미지를 생성하는 개략도이다.
도 1b는 예에 따른 복수의 시야각의 VR 이미지를 생성하는 개략도이다.
도 2a는 본 출원의 실시예에 따른 애플리케이션 시나리오에 대한 개략도이다.
도 2b는 본 출원의 다른 실시예에 따른 애플리케이션 시나리오에 대한 개략도이다.
도 3은 본 출원의 실시예에 따른 비디오 재생 방법에 대한 흐름도이다.
도 4는 본 출원의 실시예에 따라 결합을 통해 현재 시야각의 이미지를 획득하는 단계에 대한 개략도이다.
도 5a는 본 출원의 다른 실시예에 따른 비디오 재생 방법에 대한 흐름도이다.
도 5b는 도 5a의 실시예에 대응하는 개략적인 상호작용도이다.
도 6a는 본 출원의 다른 실시예에 따른 장치에 대한 개략적인 블록도이다.
도 6b는 본 출원의 다른 실시예에 따른 장치에 대한 개략적인 구조도이다.
본 출원의 목적, 기술적 솔루션 및 이점을 더 명확하게 하기 위해, 이하에서는 첨부된 도면을 참조해서 본 출원의 실시예의 기술적 솔루션을 설명한다.
본 출원의 실시예에서 설명되는 시스템 아키텍처 및 서비스 시나리오는 본 출원의 실시예에서 제공되는 기술적 솔루션을 보다 명확하게 설명하기 위한 것이며, 본 출원의 실시예에서의 기술적 솔루션에 대한 제한을 구성하지는 않는다. 당업자는 시스템 아키텍처의 진화 및 새로운 서비스 시나리오의 출현으로, 본 출원의 실시예에서 제공되는 기술 솔루션이 유사한 기술적 문제에도 적용 가능하다는 것을 알 수 있을 것이다.
도 2a는 본 출원의 실시예에 따른 가능한 애플리케이션 시나리오에 대한 개략도이다. 애플리케이션 시나리오는 네트워크 VR 시스템일 수 있고, 네트워크 VR 시스템은 네트워크를 사용해서 사용자에게 VR 서비스를 제공하는 시스템이다. 애플리케이션 시나리오는 VR 장치(21) 및 서버(22)를 포함할 수 있다.
VR 장치(21)는 서버(22)에 의해 전송된 VR 비디오 스트림을 수신하고, VR 비디오 스트림에 기초한 이미지를 재생하여, 사용자에게 VR 비디오를 시청하는 기능을 제공하도록 구성된다. VR 장치(21)는 VR 헬멧 또는 VR 안경과 같은 헤드-마운트 VR 디스플레이 장치일 수 있다. 확실히, VR 장치는 대안으로 VR 비디오를 재생하는 데 사용될 수 있는 임의의 다른 장치일 수 있다.
서버(22)는 VR 비디오 자원을 저장하고, VR 장치(21)에 대한 VR 비디오 스트림을 제공하도록 구성된다. 서버(22)는 서버, 복수의 서버를 포함하는 서버 클러스터, 또는 클라우드 컴퓨팅 서비스 센터일 수 있다. 선택적으로, 서버(22)는 네트워크 VR 서비스 웹 사이트 또는 애플리케이션을 제공하도록 구성된 백그라운드 서버와 같은 네트워크 VR 서비스를 제공하도록 구성된 백그라운드 서버이다.
VR 장치(21)와 서버(22) 사이에는 통신 연결이 존재한다. 통신 연결은 무선 네트워크 연결일 수 있거나 유선 네트워크 연결일 수 있다.
도 2a의 실시예에서 제공되는 애플리케이션 시나리오에 기초하여, 도 2b를 참조하면, 본 출원의 실시예는 다른 가능한 애플리케이션 시나리오의 개략도를 추가로 제공한다. 애플리케이션 시나리오는 VR 장치(21) 및 서버(22)뿐만 아니라 적어도 하나의 카메라(23)를 포함한다.
카메라(23)는: VR 비디오 스트림을 수집하고, 수집된 VR 비디오 스트림을 서버(22)에 송신하도록 구성되어 있다.
카메라(23)와 서버(22) 사이에는 통신 연결이 있다. 통신 연결은 무선 네트워크 연결일 수도 있고 유선 네트워크 연결일 수도 있다.
도 2b의 실시예에서 제공되는 애플리케이션 시나리오는 라이브 브로드캐스트 시나리오에 적용될 수 있다.
일 예에서, VR 비디오를 전송 및 재생하는 방법이 제공된다. 서버는 360도의 시야각을 30개의 시야각으로 미리 분할하고, 각 시야각의 VR 이미지를 생성하는 과정을 도 1a에 도시한다. 목표 시야각이 예로서 사용되며, 목표 시야각은 전술한 30개의 시야각 중 어느 하나이다. 서버는 360도 파노라마 이미지(11)로부터 목표 시야각 영역의 이미지(12)를 추출하고, 360도 파노라마 이미지(11)로부터 목표 시야각 영역의 이미지(12)가 제거된 후에 남은 이미지를 배경 영역 이미지(13)로 지칭할 수 있다. 서버는 배경 영역 이미지(13)의 해상도를 감소시키고 저해상도 배경 영역 이미지(14)를 획득한다. 목표 시야각의 VR 이미지(15)는 목표 시야각 영역의 이미지(12) 및 저해상도 배경 영역 이미지(14)를 포함한다. 이러한 방식으로, 30개의 시야각의 VR 이미지가 도 1b에 도시될 수 있다.
일 예에서, 사용자의 현재 시야각이 시야각 2인 것으로 가정하면, VR 장치는 서버로부터 시야각 2의 VR 비디오 스트림을 수신하고 VR 비디오 스트림을 비디오 버퍼에 저장하며, VR 장치는 시야각 2의 VR 비디오 스트림을 사용하여 시야각 2의 이미지를 재생한다. 사용자가 시야각 2에서 시야각 3으로 전환할 때, VR 장치는 서버에 시야각 3의 VR 비디오 스트림을 획득하도록 요청한다. 네트워크 전송 및 비디오 버퍼링 모두 특정 시간이 필요하므로, 시야각 3의 VR 비디오 스트림이 VR 장치에 도달하여 재생 가능하기 전에, VR 장치는 먼저 시야각 2의 로컬 버퍼링된 VR 비디오 스트림의 저해상도 배경 영역 이미지로부터 현재 시야각의 이미지를 추출하고, 그 이미지를 재생한다. 시야각 전환 중에는 저해상도 이미지가 표시되며, 그렇지만, 움직임 동안 사람의 눈에 의해 감지된 이미지는 흐릿하기 때문에, 시야각 전환 동안 저해상도 이미지를 표시하는 것이 시각적 경험을 명백하게 저하시키지 않는다.
전술한 예에서 제공되는 솔루션은 네트워크 VR 서비스의 높은 지연 및 큰 대역폭 점유의 문제를 해결하지만 이하의 기술적 문제를 가진다:
첫째, 서버 측의 스토리지 오버헤드가 크다. 서버는 30개의 시야각의 VR 비디오 스트림을 미리 저장해야 하고, 각 시야각의 VR 비디오 스트림은 저해상도 배경 영역 이미지를 포함한다. 저해상도 배경 영역 이미지는 많은 양의 중첩하는 내용을 가지므로 서버 측 상에서 스토리지 오버헤드가 증가한다.
둘째, 시야각 전환 동안 트래픽 버스트(traffic burst)가 발생한다. 시야각 전환 동안, VR 장치가 시야각으로부터 변경된(a changed-to viewing angle) VR 비디오 스트림을 획득하기 위한 요청으로부터 VR 장치가 시야각으로 변경된 VR 비디오 스트림을 수신하고 재생을 위해 VR을 사용하는 것까지의 작동은 특정 시간(데이터 전송 및 디코딩에 필요한 시간 포함)이 필요하다. VR 장치에 의해 버퍼링된, 시야각으로부터 변경된 시야각의 VR 비디오 스트림이 상기 특정 시간 내에 종료될 때, VR 장치에서 디스플레이 중단이 발생한다. 따라서, 디스플레이 중단을 피하기 위해, 시야각 전환 동안, 서버는 시야각으로부터 변경된 VR 비디오 스트림과 시야각으로 변경된 VR 비디오 스트림을 동시에 VR 장치에 전송해야 한다. 이 경우 시야각 전환 중에 이중 대역폭을 점유해야 하므로 트래픽 버스트가 발생한다.
네트워크 VR 서비스의 높은 레이턴시 및 큰 대역폭의 점유의 문제점을 해결하고, 또한 전술한 예에서의 문제점을 피하기 위해, 본 출원의 실시예는 비디오 재생 방법 및 그 방법을 기반으로 하는 장치 및 시스템을 제공한다. 본 출원의 실시예에서, 서버는 2개의 서비스 데이터 스트림을 VR 장치에 전송한다. 하나는 시야각의 고해상도 VR 비디오 스트림이며, 고정된 시야각의 경우 디스플레이 요건을 충족시키는 데 사용된다. 다른 하나는 전체 시야각의 저해상도 VR 비디오 스트림이며, 시야각 전환 시 디스플레이 요구 사항을 충족시키는 데 사용된다. 본 출원의 실시예에서, 360도 전송 솔루션과 비교하여, 대역폭 점유가 감소된다. 또한, 전체 시야각의 저해상도 VR 비디오 스트림은 360도의 시야각을 커버하므로, 시야각 전환 동안 요구되는 이미지 데이터는 요청을 통해 서버로부터 획득될 필요가 없으므로, 시야각 전환 동안 디스플레이 레이턴시를 감소시킨다. 전술한 예와 비교하여, 본 출원의 실시예에서, 서버는 전체 시야각의 저해상도 VR 비디오 스트림을 반복적으로 저장할 필요가 없어서 스토리지 오버헤드를 감소시키며, 시야각 정보에 기초하여, VR 장치의 시야각이 변한다고 결정하면, 서버는 제1 시야각의 VR 비디오 스트림을 VR 장치에 전송하는 것을 중단하며, 그런 다음, 제2 시야각으로 변경된 VR 비디오 스트림을 전송할 수 있으므로 트래픽 버스트가 발생하지 않는다.
이하에서는 본 출원의 실시예에서 공통성에 기초해서 본 출원의 실시예를 추가로 설명한다.
도 3은 본 출원의 실시예에 따른 비디오 재생 방법에 대한 흐름도이다. 방법은 도 2a 및 도 2b에 도시된 애플리케이션에 적용될 수 있다. 방법은 이하의 단계를 포함할 수 있다.
단계 301. 서버는 VR 장치에 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 송신하고, 상기 제1-해상도는 상기 제2-해상도보다 크다.
본 출원의 이 실시예에서, 서버는 2개의 서비스 데이터 스트림을 VR 장치에 전송한다. 하나는 시야각의 고해상도 VR 비디오 스트림(즉, 시야각의 제1-해상도 VR 비디오 스트림(예를 들어, 제1 시야각 또는 제2 시야각))이며, 고정 시야각의 경우 디스플레이 요건을 충족시키는 데 사용된다. 다른 하나는 전체 시야각의 저해상도 VR 비디오 스트림(즉, 전체 시야각의 제2-해상도 VR 비디오 스트림)이며, 시야각 전환 동안 디스플레이 요건을 충족시키는 데 사용된다. 본 출원의 이 실시예에서, 해상도는 VR 비디오의 선명도를 결정한다. 해상도가 높을수록 VR 비디오의 해상도가 높고 해상도가 낮을수록 VR 비디오의 해상도가 낮다.
서버는 시야각 변화에 관계없이 전체 시야각의 제2-해상도 VR 비디오 스트림을 VR 장치에 전송한다. 일 예에서, 서버는 제1 시야각의 VR 비디오 스트림을 VR 장치에 전송하는 과정에서 전체 시야각의 VR 비디오 스트림을 VR 장치에 지속적으로 전송한다. 다른 예에서, 서버는 사전 설정된 시간 간격으로 전체 시야각의 VR 비디오 스트림을 VR 장치에 전송한다. 미리 설정된 시간 간격은 동일하거나 상이할 수 있으며, 이는 본 출원의 이 실시예에서 제한되지 않는다.
일 예에서, 서버는 전체 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 저장한다. VR 장치가 시야각의 VR 비디오 스트림을 획득하도록 요청하는 것을 검출할 때, 서버는 전체 시야각의 제1-해상도 VR 비디오 스트림으로부터 시야각의 VR 비디오 스트림을 추출한다. 예를 들어, VR 장치가 제1 시야각의 VR 비디오 스트림을 획득하도록 요청하는 것을 검출할 때, 서버는 전체 시야각의 제1-해상도 VR 비디오 스트림으로부터 제1 시야각의 VR 비디오 스트림을 추출한다. 이 경우, 서버는 전체 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림 만 저장하면 된다. 전체 시야각의 제2-해상도 VR 비디오 스트림이 점유하는 저장 오버헤드는 전체 시야각의 제1-해상도 VR 비디오 스트림이 차지하는 것의 약 0.1배이다. 따라서, 전체 스토리지 오버헤드는 전체 시야각의 제1-해상도 VR 비디오 스트림이 차지하는 것의 약 1.1배이다. 전술한 예와 비교하여, 이 방법에서, 서버의 스토리지 오버헤드가 실질적으로 감소된다.
다른 예에서, 서버는 n개의 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 저장하며, 여기서 n은 1보다 큰 정수이다. 실제 적용에서, n의 값은 실용 경험을 바탕으로 얻을 수 있고, 결합된 n개의 시야각은 전체 시야각을 커버할 수 있다. 예를 들어, n은 25, 30 또는 35이다. VR 장치가 시야각의 VR 비디오 스트림을 획득하도록 요청하는 것을 검출할 때, 서버는 n개의 시야각의 제1-해상도 VR 비디오 스트림으로부터 시야각의 VR 비디오 스트림을 선택한다. 예를 들어, VR 장치가 제1 시야각의 VR 비디오 스트림을 획득하도록 요청하는 것을 검출할 때, 서버는 n개의 시야각의 제1-해상도 VR 비디오 스트림으로부터 제1 시야각의 VR 비디오 스트림을 선택한다. 제1 시야각은 n개의 시야각 중 하나이다. 이러한 방식으로, 서버는 전체 시야각의 제2-해상도 VR 비디오 스트림을 반복적으로 저장할 필요가 없고, 전체 시야각의 제2-해상도 VR 비디오 스트림을 저장하기만 하면 된다. 전술한 예와 비교하여, 이 방법에서, 서버의 스토리지 오버헤드가 어느 정도 감소된다. 또한, 이 예에서, VR 장치로부터 요청을 수신한 후, 서버는 전체 시야각의 VR 비디오 스트림으로부터 VR 장치에 의해 요구되는 시야각의 VR 비디오 스트림을 추출할 필요가 없고, n개의 시야각의 저장된 VR 비디오 스트림으로부터 VR 장치에 의해 요구되는 시야각의 VR 비디오 스트림을 직접 선택하기만 하면 된다. 이를 통해 VR 장치의 요청에 대한 서버 응답의 레이턴시를 단축할 수 있다.
또한, n개의 시야각의 제1-해상도 VR 비디오 스트림은 전체 시야각의 제1-해상도 VR 비디오 스트림으로부터 서버에 의해 개별적으로 추출될 수 있거나, 또는 n개의 독립적인 비디오 스트림일 수 있으며, 각각의 시야각은 하나 이상의 카메라에 의해 개별적으로 수집된다.
선택적으로, 전체 시야각의 제2-해상도 VR 비디오 스트림은 전체 시야각의 제1-해상도 VR 비디오 스트림으로부터 변환된다. 전술한 해상도 변환 작동은 서버에 의해 수행될 수 있거나, 또는 서버에 연결된 다른 장치(예를 들어, 서버에 대한 VR 비디오 자원을 제공하도록 구성된 소스 서버)에 의해 수행될 수 있다. 확실히, 다른 가능한 구현에서, n개의 시야각의 제1-해상도 VR 비디오 스트림이 n개의 독립적인 비디오 스트림이고, 각각의 시야각의 VR 비디오 스트림이 하나의 방식으로 하나 이상의 카메라에 의해 개별적으로 수집되면, 한 방식에서, 서버는 먼저 n개의 시야각의 제1-해상도 VR 비디오 스트림을 먼저 통합하여, 전체 시야각의 제1-해상도 VR 비디오 스트림을 획득하고, 그런 다음 전체 시야각의 제1-해상도 VR 비디오 스트림을 제2 전체 시야각의 제2-해상도 VR 비디오 스트림으로 변환하거나; 또는 다른 방식에서, 서버는 n개의 시야각의 제1-해상도 VR 비디오 스트림을 각각 n개의 시야각의 제2-해상도 VR 비디오 스트림으로 변환하고, 그런 다음, 전체 시야각의 제2-해상도 VR 비디오 스트림을 얻기 위해 n개의 시야각의 제2-해상도 VR 비디오 스트림을 통합할 수 있다.
선택적으로, 해상도 변환은 VR 비디오 스트림의 이미지 전송 포맷을 변경함으로써 구현된다. 예를 들어, 이중 공통 중간 형식(Double Common Intermediate Format, DCIF) 또는 4 x 공통 중간 형식(4 x Common Intermediate Format, 4CIF)과 같은 이미지 전송 형식이 제1-해상도 VR 비디오 스트림에 사용될 수 있고, 공통 중간 형식(Common Intermediate Format, CIF) 또는 쿼터 공통 중간 형식(Quarter Common Intermediate Format, QCIF)과 같은 이미지 전송 형식이 제2-해상도 VR 비디오 스트림에 사용될 수 있다. 예를 들어, 4CIF는 전체 시야각의 제1-해상도 VR 비디오 스트림에 사용되고 QCIF는 전체 시야각의 제2-해상도 VR 비디오 스트림에 사용되며, 이 경우 제1-해상도는 704 x 576이고 제2-해상도는 176 x 144이다.
VR 비디오 스트림은 스트리밍 미디어 프로토콜을 사용하여 전송될 수 있다. 스트리밍 미디어 프로토콜에서, 복수의 상이한 미디어 스트림들을 구별하기 위해 상이한 식별자들이 사용된다. 예를 들어, 스트리밍 미디어 프로토콜이 실시간 전송 프로토콜(Real-time Transport Protocol, RTP)인 경우, RTP에서의 동기화 소스(Synchronization Source, SSRC) 식별자(identifier) 및 공헌 자원(Contributing Source, CSRC) 식별자는 복수의 상이한 미디어 스트림을 구별하는 데 사용된다. 다른 예에서, 스트리밍 미디어 프로토콜이 실시간 메시징 프로토콜(Real Time Messaging Protocol, RTMP)인 경우, 메시지 스트림 식별자(message stream ID)는 복수의 상이한 미디어 스트림을 구별하기 위해 사용된다. 또 다른 예에서, 스트리밍 미디어 프로토콜이 HTTP 라이브 스트리밍(HTTP Live Streaming, HLS) 프로토콜인 경우, 균일한 자원 식별자(Uniform Resource Identifier, URI)는 복수의 상이한 미디어 스트림을 구별하기 위해 사용된다. 따라서, 서버가 2개의 VR 비디오 스트림을 VR 장치에 전송할 때, 2개의 VR 비디오 스트림은 스트리밍 미디어 프로토콜에 의해 정의된 식별자를 사용함으로써 구별될 수 있다. 또한, 상이한 스트리밍 미디어 프로토콜의 규정에 따라, 미디어 스트림을 구별하기 위한 식별자는 각각의 데이터 패킷으로 운송될 수 있거나, 제1 데이터 패킷(즉, 제1 데이터 패킷)으로만 운송될 수 있다. 다른 가능한 예에서, VR 장치는 상이한 미디어 스트림을 개별적으로 디코딩하기 때문에(본 출원의 이 실시예에서, 미디어 스트림은 VR 비디오 스트림 이다), 상이한 미디어 스트림은 서로 구별될 수 있다.
이에 상응하여, VR 장치는 서버에 의해 전송된 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 수신한다. VR 장치는 제1 시야각의 제1-해상도 VR 비디오 스트림을 제1 비디오 버퍼에 저장하고, 전체 시야각의 제2-해상도 VR 비디오 스트림을 제2 비디오 버퍼에 저장한다. 제1 비디오 버퍼는 특정 시야각의 제1-해상도 VR 비디오 스트림을 저장하는 데 사용되고, 제2 비디오 버퍼는 전체 시야각의 제2-해상도 VR 비디오 스트림을 저장하는 데 사용된다. 본 출원의 이 실시예에서, VR 장치는 2개의 비디오 버퍼를 사용함으로써 VR 비디오 스트림을 상이한 해상도로 개별적으로 저장하여, 재생을 위한 상이한 VR 비디오 스트림의 빠른 선택을 용이하게 하고, 전환 부드러움을 개선시킨다.
단계 302. VR 장치는 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용하여 상기 제1 시야각의 이미지를 재생한다.
VR 장치는 제1 시야각의 이미지를 획득하기 위해 제1 시야각의 제1-해상도 VR 비디오 스트림을 디코딩하고, 그런 다음, 제1 시야각의 이미지를 재생한다. 본 출원의 이 실시예에서, VR 비디오 스트림에 대한 코덱 알고리즘은 제한되지 않는다. 예를 들어, 코덱 알고리즘은 동영상 전문가 그룹(Moving Picture Experts Group, MPEG) 표준, 비디오 코덱(Video Codec, VC) 관련 알고리즘 또는 H.264 코덱 알고리즘에서 제공하는 코덱 알고리즘이다.
선택적으로, 제1 비디오 버퍼에 버퍼링된 제1 시야각의 VR 비디오 스트림의 데이터 양이 미리 설정된 임계 값보다 크다는 것을 검출할 때, VR 장치는 제1 비디오 버퍼로부터 제1 시야각의 VR 비디오 스트림을 판독하기 시작하여 VR 비디오 스트림을 디코딩하고 재생한다. 미리 설정된 임계 값은 실제 경험에 기초하여 미리 설정될 수 있다.
단계 303. VR 장치가 시야각이 변한다고 결정할 때, VR 장치는 전체 시야각의 제2-해상도 VR 비디오 스트림과 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용함으로써 현재 시야각의 이미지를 재생한다.
VR 비디오 재생 프로세스에서, VR 장치는 시야각이 변하는지를 실시간으로 검출하고, 즉 시야각이 제1 시야각에서 다른 시야각으로 변하는지를 검출한다. VR 장치가 시야각이 변한다고 판단할 때, VR 장치는 전체 시야각의 제2-해상도 VR 비디오 스트림 및 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 이용하여 현재 시야각의 이미지를 재생하며, 현재의 시야각은 VR 장치에 의해 실시간으로 결정된 시야각이다. VR 장치가 시야각이 변하지 않는다고 결정할 때, VR 장치는 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용하여 제1 시야각의 이미지를 계속 재생한다.
일 예에서, VR 장치는 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용함으로써 현재 시야각의 이미지를 재생한다. 이 단계를 이하의 하위-단계를 포함할 수 있다:
1. VR 장치는 전체 시야각의 제2-해상도 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득한다.
2. VR 장치는 전체 시야각 이미지로부터 현재 시야각의 이미지를 추출한다.
3. VR 장치는 현재 시야각의 이미지를 재생한다.
시야각 변경 동안, VR 장치는 제2 비디오 버퍼로부터 전체 시야각의 제2-해상도 VR 비디오 스트림을 판독하고, 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용하여 현재 시야각의 이미지를 재생한다. 전체 시야각의 제2-해상도 VR 비디오 스트림이 로컬 제2 비디오 버퍼에 저장되기 때문에, VR 장치는 서버로부터 VR 비디오 스트림을 획득하도록 요구할 필요가 없다. 따라서, 시야각 전환 동안 MTP 레이턴시가 감소될 수 있고, 20 밀리초 미만의 MTP 레이턴시 요건이 충족된다. 또한, 시야각 변경 동안(예를 들어, 사용자가 머리를 돌리는 과정에서), 저해상도 이미지가 표시되고; 그렇지만, 움직임 동안 사람의 눈에 의해 감지된 이미지는 흐릿하므로, 저해상도 이미지를 사용자에게 표시하는 것이 시각적 경험을 저하시키지 않는다.
다른 예에서, VR 장치는 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용함으로써 현재 시야각의 이미지를 재생한다. 이 단계를 이하의 하위-단계를 포함할 수 있다:
1. VR 장치는 제1 시야각의 제1-해상도 VR 비디오 스트림을 디코딩하여 제1 시야각의 이미지를 획득한다.
2. VR 장치는 전체 시야각의 제2-해상도 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득한다.
3. VR 장치는 제1 시야각의 이미지로부터 중첩 이미지를 추출하고, 상기 전체 시야각 이미지로부터 비중첩 이미지를 추출한다.
4. VR 장치는 중첩 이미지와 비중첩 이미지를 결합하여 현재 시야각의 이미지를 획득한다.
5. VR 장치는 현재 시야각의 이미지를 재생한다.
중첩 이미지는 제1 시야각의 이미지와 현재 시야각의 이미지 간의 중첩 영역의 이미지이고, 비중첩 이미지는 현재 시야각의 이미지 내의 중첩 영역의 이미지와는 상이하다. 시야각 변경 동안, 여전히 현재 시야각과 제1 시야각 사이에 중첩 영역이 있을 수 있다. 중첩 영역의 이미지는 선명도 손실을 최대한 줄이기 위해 고해상도를 사용하여 여전히 재생할 수 있다.
도 4는 본 출원의 실시예에 따라 결합을 통해 현재 시야각의 이미지를 획득하는 단계에 대한 개략도이다. 중첩 영역(43)(도면에 기울어진 선으로 채워진 직사각형 박스로 도시됨)은 제1 시야각(41)(도면에서 실선 사각형 박스로 도시됨)과 현재 시야각(42)(도면에서 파선 사각형 박스로 도시됨) 사이에 존재한다. VR 장치는 제1 시야각의 제1-해상도 이미지(44)로부터 중첩 이미지(45)를 추출하고, 제2-해상도의 전체 시야각 이미지(46)로부터 비중첩 이미지(47)를 추출하며, 중첩 이미지(45)와 비중첩 이미지(47)를 결합하여 현재 시야각의 이미지(48)를 얻는다. 선택적으로, VR 장치는 중첩 이미지(45) 및 비중첩 이미지(47)를 동일한 해상도로 스케일링하고, 이들을 결합하여 현재 시야각의 이미지(48)를 획득한다.
본 출원의 이 실시예에서, 다른 예에서 하위 단계 1 및 하위 단계 2를 수행하기 위한 시퀀스는 제한되지 않는다. 하위 단계 1은 하위 단계 2 이전에 수행될 수 있거나 하위 단계 2 이후에 수행될 수 있거나 하위 단계 2와 동시에 수행될 수 있다.
또한, 본 출원의 이 실시예에서, 시야각 변화는 현재 시야각이 원래 시야각과 다르거나, 현재 시야각과 원래 시야각 사이의 변화량이 미리 설정된 임계 값보다 적다는 것을 의미할 수 있고, 미리 설정된 임계 값은 실제 요구에 기초하여 미리 설정될 수 있다.
단계 304. VR 장치는 서버에 시야각 정보를 송신하며, 상기 시야각 정보는 변경될 제2 시야각(changed-to second viewing angle)을 지시하기 위한 파라미터를 운송한다.
일 예에서, VR 장치는 시야각 정보를 서버에 능동적으로 보고한다. 예를 들어, VR 장치는 미리 설정된 제1 시간 간격으로 시야각 정보를 서버에 전송하고, 매번 보고되는 시야각 정보는 현재 시야각(즉, 보고 시점에서의 시야각)을 나타내는 파라미터를 운송한다. 제1 미리 설정된 시간 간격은 실제 필요에 기초하여 미리 설정될 수 있다. 다른 예에서, VR 장치는 시야각이 변하는 것을 검출할 때 시야각 정보를 서버에 전송하고, 시야각 정보는 변경될 제2 시야각을 지시하기 위한 파라미터를 운송하고; VR 장치는 시야각이 변하지 않는 것을 검출할 때 시야각 정보를 서버에 전송하지 않는다.
다른 예에서, VR 장치는 서버에 의해 전송된 폴링 요청(polling request)을 수신한 후에 시야각 정보를 서버에 전송한다. 예를 들어, 서버는 미리 설정된 제2 시간 간격으로 VR 장치에 폴링 요청을 전송하고, VR 장치는 폴링 요청을 수신한 후 시야각 정보를 서버에 전송한다. 매번 보고되는 시야각 정보는 현재 시야각(즉, 보고 시점에서의 시야각)을 나타내는 파라미터를 운송한다. 제2 미리 설정된 시간 간격은 실제 필요에 기초하여 미리 설정될 수 있다.
이에 상응해서, 서버는 VR 장치에 의해 전송된 시야각 정보를 수신한다. 본 출원의 이 실시예에서 제공되는 방식은 서버가 VR 장치의 시야각 변화를 적시에 알도록 보장할 수 있다.
단계 305. VR 장치는 전술한 파라미터에 기초해서 VR 장치에 제2 시야각의 제1-해상도 VR 비디오 스트림을 송신한다.
서버는 시야각 정보에서 운송되는, 변경될 제2 시야각을 지시하기 위한 파라미터에 기초하여 제2 시야각의 제1-해상도 VR 비디오 스트림을 획득하고, 그런 다음, 제2 시야각의 제1-해상도 VR 비디오 스트림 VR 장치에 전송한다.
일 예에서, 서버가 전체 시야각의 제1-해상도 VR 비디오 스트림을 저장하면, 서버는 전체 시야각의 제1-해상도 VR 비디오 스트림으로부터 제2 시야각의 VR 비디오 스트림을 추출한다.
다른 예에서, 서버가 n개의 시야각의 제1-해상도 VR 비디오 스트림을 저장하면, 서버는 n개의 시야각의 제1-해상도 VR 비디오 스트림으로부터 제2 시야각의 VR 비디오 스트림을 선택한다.
이에 상응해서, VR 장치는 서버에 의해 전송된 제2 시야각의 제1-해상도 VR 비디오 스트림을 수신한다. VR 장치는 제2 시야각의 제1-해상도 VR 비디오 스트림을 제1 비디오 버퍼에 저장한다.
본 출원의 이 실시예에서, 시야각 정보에 기초하여, VR 장치의 시야각이 변경되는 것으로 판정할 때, 서버는 제1 시야각의 VR 비디오 스트림을 VR 장치에 전송하는 것을 중단하고, 그런 다음, 트래픽 버스트가 발생하지 않도록 제2 시야각으로 변경된 VR 비디오 스트림을 송신한다. 또한, 전체 시야각의 저해상도 VR 비디오 스트림이 별도로 전송되며, 따라서, 제2 시야각의 VR 비디오 스트림이 VR 장치에 도달하기 전에, VR 장치는 전체 시야각의 저해상도 VR 비디오 스트림을 사용하여 현재 시야각의 이미지를 재생할 수 있고, 디스플레이 중단이 되지 않는다.
단계 306. VR 장치는 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생한다.
VR 장치는 제2 시야각의 제1-해상도 VR 비디오 스트림을 디코딩하여, 제2 시야각의 이미지를 획득하고 그런 다음 제2 시야각의 이미지를 재생한다.
선택적으로, VR 장치가 제1 비디오 버퍼에 버퍼링된 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용할 필요가 없을 때, VR 장치는 제1 비디오 버퍼에 버퍼링된 제1 시야각의 VR 비디오 스트림에 대해 데이터 에이징(data aging)을 수행한다. 데이터 에이징은 버퍼링된 데이터를 제거하는 것을 나타내며, 제1 시야각의 VR 비디오 스트림에 대해 데이터 에이징을 수행하는 것은 제1 비디오 버퍼로부터 제1 시야각의 VR 비디오 스트림을 제거하는 것이다. 이러한 방식으로, 제1 비디오 버퍼의 버퍼링 자원이 가능한 빨리 해제될 수 있다.
VR 장치가 시야각이 변한다고 결정할 때, VR 장치가 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용하여 현재 시야각의 이미지를 재생하면, VR 장치가 시야각이 변한다고 판단할 때, VR 장치는 제1 비디오 버퍼에 버퍼링된 제1 시야각의 제1-해상도 VR 비디오 스트림에 대해 데이터 에이징을 수행할 수 있다. VR 장치가 시야각이 변한다고 판단할 때, VR 장치가 전체 시야각의 제2-해상도 VR 비디오 스트림 및 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용하여 현재 시야각의 이미지를 재생하면, VR 장치가 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용하여 제2 시야각의 이미지를 재생할 때, 제1 비디오 버퍼에 버퍼링된 제1 시야각의 제1-해상도 VR 비디오 스트림에 대해 데이터 에이징이 수행될 수 있다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, 서버는 2개의 서비스 데이터 스트림을 VR 장치에 전송한다. 하나는 시야각의 고해상도 VR 비디오 스트림이며, 고정된 시야각의 경우 디스플레이 요건을 충족시키는 데 사용된다. 다른 하나는 전체 시야각의 저해상도 VR 비디오 스트림이며, 시야각 전환 시 디스플레이 요구 사항을 충족시키는 데 사용된다. 이 솔루션에서는 360도 전송 솔루션과 비교하여 대역폭 점유가 줄어든다. 또한, 전체 시야각의 저해상도 VR 비디오 스트림은 360도의 시야각을 커버하므로, 시야각 전환 동안 요구되는 이미지 데이터는 요청을 통해 서버로부터 획득될 필요가 없으므로, 시야각 전환 동안 디스플레이 레이턴시를 감소시킨다. 전술한 예와 비교하여, 이 솔루션에서, 서버는 전체 시야각의 저해상도 VR 비디오 스트림을 반복적으로 저장할 필요가 없어서 스토리지 오버헤드를 감소시키며, 시야각 정보에 기초하여, VR 장치의 시야각이 변한다고 결정하면, 서버는 제1 시야각의 VR 비디오 스트림을 VR 장치에 전송하는 것을 중단하고, 그런 다음, 제2 시야각으로 변경된 VR 비디오 스트림을 전송할 수 있으므로, 트래픽 버스트가 발생하지 않는다.
도 5a는 본 출원의 다른 실시예에 따른 비디오 재생 방법에 대한 흐름도이다. 방법은 도 2a 및 도 2b에 도시된 애플리케이션 시나리오에 적용될 수 있다. 방법은 이하의 단계를 포함할 수 있다.
도 5b에서, 원으로 표시된 단계 1 내지 단계 10은 이하의 단계 501 내지 단계 510에 각각 대응한다.
단계 501. VR 장치는 서버에 서비스 요청을 송신하며, 상기 서비스 요청은 제1 시야각을 지시하기 위한 파라미터를 운송한다.
서비스 요청은 서버로부터 VR 비디오 스트림을 획득하도록 요청하는 데 사용된다.
이에 상응해서, 서버는 VR 장치에 의해 송신된 서비스 요청을 수신한다.
단계 502. 서버는 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 VR 장치에 송신하며, 제1-해상도는 제2-해상도보다 크다.
서비스 요청을 수신한 후, 서버는 서비스 요청에서 운송되는, 제1 시야각을 지시하기 위한 파라미터에 기초하여 제1 시야각의 제1-해상도 VR 비디오 스트림을 획득하고, VR 비디오 스트림을 VR 장치에 전송한다. 또한, 서버는 VR 장치가 서버로부터 VR 비디오 자원을 얻기 위한 요청을 중지할 때까지, 다시 말해 서비스가 중지될 때까지 전체 시야각의 제2-해상도 VR 비디오 스트림을 VR 장치에 추가로 전송한다. 또한, 제2-해상도 VR 비디오 스트림은 제1-해상도 VR 비디오 스트림상의 비디오 트랜스코딩을 통해 획득될 수 있다. 예를 들어, 제2-해상도는 제1-해상도의 10%이다.
이에 따라, VR 장치는 서버에 의해 전송된 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 수신한다.
도 5b를 참조하면, 제1 전송 버퍼 및 제2 전송 버퍼를 포함하는 2개의 전송 버퍼 채널이 서버에 설정된다. 제1 전송 버퍼는 시야각의 제1-해상도 VR 비디오 스트림(FOV 비디오 스트림으로도 지칭될 수 있음)을 VR 장치에 전송하는 데 사용되고, 제2 전송 버퍼는 전체 시야각의 제2-해상도 VR 비디오 스트림(360도 비디오 스트림으로도 지칭될 수 있음)을 VR 장치에 전송하는 데 사용된다. 이에 대응하여, 제1 수신 버퍼 및 제2 수신 버퍼를 포함하는 2개의 채널의 수신 버퍼가 VR 장치에 설정된다. 제1 수신 버퍼, 즉 도 3의 실시예에서 설명된 제1 비디오 버퍼는 시야각의 수신된 제1-해상도 VR 비디오 스트림(FOV 비디오 스트림으로도 지칭될 수 있음)을 저장하는 데 사용되고, 및 제2 수신 버퍼, 즉 도 3의 실시예에서 설명된 제2 비디오 버퍼는 전체 시야각의 수신된 제2-해상도 VR 비디오 스트림(360도 비디오 스트림으로 지칭될 수 있음)을 저장하는 데 사용된다.
단계 503. VR 장치는 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 제1 시야각의 이미지를 재생한다.
제1 비디오 버퍼 내의 VR 비디오 스트림의 버퍼링된 비디오 데이터가 특정 시간 길이(예를 들어, 1초)에 도달한 후, VR 장치는 제1 비디오 버퍼로부터 제1 시야각의 제1-해상도 VR 비디오 스트림을 판독하고, VR 비디오 스트림을 디코딩하고 재생한다.
단계 504. VR 장치가 시야각이 변한다고 결정할 때, VR 장치는 서버에 시야각 정보를 송신하며, 상기 시야각 정보는 변경될 제2 시야각(changed-to second viewing angle)을 지시하기 위한 파라미터를 운송한다.
선택적으로, VR 장치는 서버에 시야각 전환 요청을 송신한다. 시야각 전환 요청은 변경될 제2 시야각을 지시하기 위한 파라미터를 운송하며, 시야각 전환 요청은 변경될 제2 시야각의 VR 비디오 스트림을 획득하도록 요청하는 데 사용된다.
이에 상응해서, 서버는 VR 장치에 의해 송신된 시야각 정보를 수신한다.
단계 505. VR 장치는 제1 비디오 버퍼에 버퍼링된 제1 시야각의 제1-해상도 VR 비디오 스트림에 대해 데이터 에이징(data aging)을 수행한다.
예를 들어, VR 장치는 제1 비디오 버퍼에 저장된 데이터를 제거하여 제2 시야각의 제1-해상도 VR 비디오 스트림을 수신하기 위해 준비한다.
단계 506. VR 장치는 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용함으로써 현재 시야각의 이미지를 재생한다.
VR 장치는 제2 비디오 버퍼로부터 전체 시야각의 제2-해상도 VR 비디오 스트림을 읽어내고, 이 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득하며, 전체 시야각 이미지로부터 현재 시야각의 이미지를 추출하여 재생한다.
본 출원의 이 실시예에서, 단계 504, 단계 505 및 단계 506을 수행하는 순서는 제한되지 않는다는 것에 유의해야 한다. 전술한 3개의 단계는 순서대로 수행될 수도 있고 동시에 수행될 수도 있다.
단계 507. 서버는 시야각 정보에서 운송되는, 변경될 제2 시야각을 지시하기 위한 파라미터에 기초해서 VR 장치에 제2 시야각의 제1-해상도 VR 비디오 스트림을 송신한다.
시야각 정보에 기초하여, VR 장치의 시야각이 변한다고 결정하면, 서버는 제1 시야각의 VR 비디오 스트림을 VR 장치에 전송하는 것을 중단하고, 그런 다음, 제2 시야각으로 변경된 VR 비디오 스트림을 전송할 수 있다. 이에 대응하여, VR 장치는 서버에 의해 전송된 제2 시야각의 제1-해상도 VR 비디오 스트림을 수신한다.
또한, VR 장치의 시야각이 변한다고 판단되면, 서버는 제1 전송 버퍼로부터 데이터를 제거하고, 제2 시야각의 제1-해상도 VR 비디오 스트림을 전송할 준비를 한다.
단계 508. VR 장치가 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되는지를 검출하며, 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 상기 현재 재생된 이미지의 타임 스탬프와 동기화되면, 단계 509를 수행하거나, 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 상기 현재 재생된 이미지의 타임 스탬프와 동기화되지 않으면, 단계 510을 수행한다.
제2 시야각의 제1-해상도 VR 비디오 스트림을 수신한 후, VR 장치는 VR 비디오 스트림의 타임 스탬프를 현재 재생된 이미지의 타임 스탬프와 비교하여 타임 스탬프가 동기화되는지를 결정한다. 선택적으로, "동기화된"은 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생되는 이미지의 타임 스탬프를 포함한다는 것을 의미한다. 즉, 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프를 포함하면, 이는 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림이 만료되지 않았음을 나타낸다. 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프를 포함하지 않으면, 이는 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림이 만료되었음을 나타내고, VR 장치는 만료된 VR 비디오 스트림을 폐기할 수 있다.
단계 509. VR 장치는 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 제2 시야각의 이미지를 재생한다.
타임 스탬프가 동기화되면, VR 장치는 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 제2 시야각의 이미지를 재생한다.
단계 510. VR 장치는 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용함으로써 제2 시야각의 이미지를 재생한다.
타임 스탬프가 동기화되지 않은 경우, VR 장치는 여전히 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용하여 제2 시야각의 이미지를 재생하고, 타임 스탬프가 동기화될 때 제2 시야각의 제1-해상도 VR 비디오 스트림를 사용하여 제2 시야각의 이미지를 재생한다.
선택적으로, 타임 스탬프가 동기화되지 않은 경우, VR 장치는 서버에 동기화 요청을 전송하고, 동기화 요청은 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화된 VR 비디오 스트림을 피드백하도록 서버에 요청하는 데 사용된다. 현재 재생된 이미지의 VR 장치에 의해 전송된 동기화 요청을 수신한 후, 서버는 일정 시간 후에 VR이 필요로 하는 제2 시야각의 제1-해상도 VR 비디오 스트림을 전송한다. 예를 들어, 서버는 제2 시야각의 원래 전송된 VR 비디오 스트림의 타임 스탬프를 일정 시간 동안 뒤로 이동시킴으로써 새로운 타임 스탬프를 획득하고, 새로운 타임 스탬프로부터 제2 시야각의 제1-해상도 VR 비디오 스트림을 전송하기 시작한다. 다른 예를 들어, VR 장치에 의해 서버로 전송된 동기화 요청은 현재 재생된 이미지의 타임 스탬프를 운송할 수 있고, 서버는 현재 재생된 이미지의 타임 스탬프 및 데이터 전송 및 인코딩 및 디코딩에 필요한 시간에 기초하여 예측을 통해 새로운 타임 스탬프를 획득할 수 있으며, 새로운 타임 스탬프로부터 제2 시야각의 제1-해상도 VR 비디오 스트림을 전송하기 시작한다. 확실히, 다른 가능한 구현에서, 단계 507에서 제2 시야각의 제1-해상도 VR 비디오 스트림을 VR 장치에 전송할 때, 서버는 전체 시야각의 현재 전송된 제2-해상도 VR 비디오 스트림의 타임 스탬프에 기초해서, 즉 타임 스탬프로부터 또는 타임 스탬프를 일정 시간 동안 뒤로 이동시킨 후에 획득된 새로운 타임 스탬프로부터 제2 시야각의 제1-해상도 VR 비디오 스트림을 VR 장치로 송신하기 시작할 수 있다. 이를 통해 타임 스탬프 동기화 프로세스를 가속화할 수 있으며, 타임 스탬프가 오랫동안 동기화되지 않고 그 결과 VR 장치가 제2-해상도 이미지를 오랫동안 재생하기 때문에 사용자의 시각적 경험에 영향을 미치지 않는다.
또한, 사용자가 VR 비디오를 시청하는 과정에서, 사용자의 시야각은 항상 변할 수 있고, 결과적으로 VR 장치에 의해 서버로 피드백된 시야각 정보는 실제 시야각을 따라 잡을 수 없다. 따라서, 서버 측 상에는 대응하는 시야각 예측 메커니즘이 추가로 설정될 수 있다. 시야각 예측 메커니즘은 VR 장치에 의해 피드백된 시야각 정보에 기초하여 실제 시야각을 예측하고, 그런 다음, VR 장치에 필요한 시야각의 비디오 데이터를 VR 장치에 피드백하여 시야각 동기화를 구현하는 데 사용된다.
본 출원의 이 실시예에서 제공되는 솔루션에 따르면, VR 장치는 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생되는 이미지의 타임 스탬프와 동기화되는지를 더 검출하고, 부드럽고 정확한 VR 비디오 재생을 보장한다.
전술한 방법 실시예에서, 본 출원에 제공된 기술적 솔루션은 단지 VR 장치와 서버 간의 상호 작용의 관점에서 설명되었다. VR 장치 측에서의 단계들은 VR 장치 측에서의 비디오 재생 방법으로서 개별적으로 구현될 수 있고, 서버 측에서의 단계들은 서버 측에서의 비디오 재생 방법으로서 별도로 구현될 수 있다.
전술한 기능을 구현하기 위해, 장치(예를 들어, VR 장치 또는 서버)는 기능을 수행하기 위한 대응하는 하드웨어 구조 및/또는 소프트웨어 모듈(또는 유닛)을 포함하는 것으로 이해될 수 있다. 본 출원에 개시된 실시예들을 참조하여 설명된 예들의 유닛들 및 알고리즘 단계들은 본 출원의 실시예들에서 하드웨어 또는 하드웨어 및 컴퓨터 소프트웨어의 조합에 의해 구현될 수 있다. 기능이 하드웨어 또는 컴퓨터 소프트웨어 구동 하드웨어에 의해 수행되는지는 특정 응용 프로그램 및 기술 솔루션의 설계 제약에 달려 있다. 각각의 특정 애플리케이션에 대해, 당업자는 설명된 기능을 구현하기 위해 상이한 방법을 사용할 수 있지만, 그 구현이 본 출원의 실시예의 기술적 솔루션의 범위를 넘어서는 것으로 간주되어서는 안 된다.
본 출원의 실시예에서, 장치(예를 들어, VR 장치 또는 서버)는 전술한 방법 예에 기초하여 기능 유닛으로 분할될 수 있다. 예를 들어, 각각의 기능 유닛은 하나의 기능에 대응할 수 있거나, 또는 둘 이상의 기능이 하나의 프로세싱 유닛에 통합될 수 있다. 통합 유닛은 하드웨어 형태로 구현되거나, 소프트웨어 기능 유닛 형태로 구현될 수 있다. 본 출원의 실시예들에서의 유닛 분할은 예일 뿐이고, 논리적 기능 분할일 뿐이며, 실제 구현에서 다른 분할일 수 있음에 유의해야 한다.
통합 유닛이 사용될 때, 도 6a는 전술한 실시예들에서의 장치의 가능한 개략적인 구조도이다. 장치(600)는 프로세싱 유닛(602) 및 통신 유닛(603)을 포함한다. 프로세싱 유닛(602)은 장치(600)의 동작을 제어 및 관리하도록 구성된다. 예를 들어, 장치(600)가 VR 장치인 경우, 프로세싱 유닛(602)은 도 3의 단계 302 내지 단계 304 및 단계 306, 도 5a의 단계 501, 단계 503 내지 506 및 단계 508 내지 단계 510 및/또는 본 명세서에서 설명된 기술을 구현하기 위한 다른 단계를 수행할 때 장치(600)를 지지하도록 구성되어 있다. 장치(600)가 서버인 경우, 프로세싱 유닛(602)은 도 3의 단계 301 및 단계 305, 도 5a의 단계 502 및 단계 507 및/또는 본 명세서에서 설명된 기술을 구현하기 위한 다른 단계를 수행할 때 장치(600)를 지원하도록 구성된다. 통신 유닛(603)은 장치(600)와 다른 장치 사이의 통신을 지원하도록 구성된다. 장치(600)는 저장 유닛(601)을 더 포함할 수 있고, 저장 유닛(601)은 장치(600)의 프로그램 코드 및 데이터를 저장하도록 구성된다.
프로세싱 유닛(502)은 프로세서 또는 제어기, 예를 들어 중앙 프로세싱 유닛(Central Processing Unit, CPU), 범용 프로세서, 디지털 신호 프로세서(Digital Signal Processor, DSP), 주문형 집적 회로(Application-Specific Integrated Circuit, ASIC), 필드 프로그램 가능 게이트 어레이(Field Programmable Gate Array, FPGA), 또는 다른 프로그램 가능 논리 장치, 트랜지스터 논리 장치, 하드웨어 구성 요소 또는 이들의 조합일 수 있다. 제어기/프로세서는 본 출원에 개시된 내용을 참조하여 설명된 다양한 예시적인 논리 블록, 모듈 및 회로를 구현 또는 실행할 수 있다. 대안으로, 프로세서는 컴퓨팅 기능을 구현하는 조합, 예를 들어 하나 이상의 마이크로프로세서를 포함하는 조합, 또는 DSP와 마이크로프로세서의 조합일 수 있다. 통신 유닛(603)은 통신 인터페이스, 송수신기, 송수신기 회로 등일 수 있다. 통신 인터페이스는 집합적인 용어이며 하나 이상의 인터페이스, 예를 들어 서버와 VR 장치 사이의 인터페이스를 포함할 수 있다. 저장 유닛(601)은 메모리일 수 있다.
프로세싱 유닛(602)이 프로세서일 때, 통신 유닛(603)은 통신 인터페이스이고, 저장 유닛(601)은 메모리이며, 본 출원의 이 실시예에서의 장치는 도 6b에 도시된 장치일 수 있다.
도 6b를 참조하면, 장치(610)는 프로세서(612), 통신 인터페이스(613) 및 메모리(611)를 포함한다. 선택적으로, 장치(610)는 버스(614)를 더 포함할 수 있다. 통신 인터페이스(613), 프로세서(612) 및 메모리(611)는 버스(614)를 이용해서 서로 연결될 수 있다. 버스(614)는 주변 컴포넌트 인터커넥트(Peripheral Component Interconnect, PCI로 약칭) 버스, 확장된 산업 표준 아키텍처(Extended Industry Standard Architecture, EISA로 약칭) 버스 등일 수 있다. 버스(614)는 어드레스 버스, 데이터 버스, 제어 버스 등으로 분류될 수 있다. 용이한 표현을 위해, 도 6b의 버스를 나타내기 위해 하나의 굵은 선만이 사용되지만, 이는 하나의 버스만 또는 하나의 유형의 버스만이 있다는 것을 의미하지는 않는다.
도 6a 및 도 6b에 도시된 장치는 서버 또는 VR 장치일 수 있다.
본 출원의 실시예에 개시된 내용을 참조하여 설명된 방법 또는 알고리즘 단계는 하드웨어에 의해 구현될 수 있거나, 소프트웨어 명령을 실행함으로써 프로세서에 의해 구현될 수 있다. 소프트웨어 명령은 대응하는 소프트웨어 모듈(또는 유닛)을 포함할 수 있다. 소프트웨어 모듈(또는 유닛)은 랜덤 액세스 메모리(Random Access Memory, RAM), 플래시 메모리, 리드 온리 메모리(Read Only Memory, ROM), 소거 가능한 프로그램 가능 리드 온리 메모리(Erasable Programmable ROM, EPROM)), 전기적으로 소거 가능한 프로그램 가능 리드 온리 메모리(Electrically EPROM, EEPROM), 레지스터, 하드 디스크, 이동식 하드 디스크, CD-ROM(Compact Disc Read-Only Memory) 또는 당 업계에 잘 알려져 있는 다른 형태의 저장 매체에 저장될 수 있다. 예를 들어, 예시적인 저장 매체는 프로세서에 연결되어, 프로세서는 저장 매체로부터 정보를 읽거나 저장 매체에 정보를 기록할 수 있다. 확실히, 저장 매체는 대안으로 프로세서의 구성 요소일 수 있다. 프로세서 및 저장 매체는 ASIC에 위치할 수 있다. 또한, ASIC은 장치 내에 위치할 수 있다. 확실히, 프로세서 및 저장 매체는 대안으로 장치에 개별 구성 요소로서 존재할 수 있다.
당업자는 전술한 하나 이상의 예에서, 본 출원의 실시예에서 설명된 기능은 하드웨어, 소프트웨어, 펌웨어 또는 이들의 임의의 조합에 의해 구현될 수 있다는 것을 인식해야 한다. 본 출원의 실시예는 컴퓨터 프로그램 제품을 추가로 제공한다. 컴퓨터 프로그램 제품이 실행될 때, 컴퓨터 프로그램 제품은 전술한 기능들을 구현하도록 구성된다. 또한, 컴퓨터 프로그램은 컴퓨터 판독 가능 매체에 저장되거나 컴퓨터 판독 가능 매체에 하나 이상의 명령 또는 코드로서 전송될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하고, 통신 매체는 컴퓨터 프로그램이 한 장소에서 다른 장소로 전송될 수 있게 하는 임의의 매체를 포함한다. 저장 매체는 범용 또는 전용 컴퓨터에 액세스 가능한 임의의 이용 가능한 매체일 수 있다.
전술한 특정 구현들에서, 본 출원의 실시예들의 목적, 기술적 솔루션 및 유리한 효과가 더 상세히 설명되었다. 전술한 설명은 본 출원의 실시예의 특정 구현일 뿐이며, 본 출원의 실시예의 보호 범위를 제한하려는 것이 아님을 이해해야 한다. 본 출원의 실시예의 기술적 솔루션에 기초하여 이루어진 임의의 수정, 등가의 교체 또는 개선은 본 출원의 실시예의 보호 범위 내에 속한다.

Claims (21)

  1. 비디오 재생 방법으로서,
    가상 현실(virtual reality, VR) 장치가 서버에 의해 송신되는 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 수신하는 단계 - 상기 제1-해상도는 상기 제2-해상도보다 큼 - ;
    상기 VR 장치가 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용하여 상기 제1 시야각의 이미지를 재생하는 단계;
    상기 VR 장치가 상기 시야각이 변한다고 결정할 때, 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림과 상기 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용함으로써 현재 시야각의 이미지를 재생하는 단계;
    상기 VR 장치가 상기 서버에 시야각 정보를 송신하는 단계 - 상기 시야각 정보는 변경될 제2 시야각(a changed-to second viewing angle)을 지시하기 위한 파라미터를 운송함 - ;
    상기 VR 장치가 상기 서버에 의해 송신된 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 수신하는 단계; 및
    상기 VR 장치가 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생하는 단계
    를 포함하는 비디오 재생 방법.
  2. 제1항에 있어서,
    상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 사용함으로써 현재 시야각의 이미지를 재생하는 단계는,
    상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득하는 단계;
    상기 VR 장치가 상기 전체 시야각 이미지로부터 상기 현재 시야각의 이미지를 추출하는 단계; 및
    상기 VR 장치가 상기 현재 시야각의 이미지를 재생하는 단계
    를 포함하는, 비디오 재생 방법.
  3. 제1항에 있어서,
    상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림 및 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 현재 시야각의 이미지를 재생하는 단계는,
    상기 VR 장치가 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 디코딩하여 상기 제1 시야각의 이미지를 획득하는 단계;
    상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득하는 단계;
    상기 VR 장치가 상기 제1 시야각의 이미지로부터 중첩 이미지를 추출하고, 상기 전체 시야각 이미지로부터 비중첩 이미지를 추출하는 단계 - 상기 중첩 이미지는 상기 제1 시야각의 이미지와 상기 현재 시야각의 이미지 간의 중첩 영역의 이미지이고, 상기 비중첩 이미지는 상기 현재 시야각의 이미지 내의 상기 중첩 영역의 이미지와는 상이함 - ;
    상기 VR 장치가 상기 중첩 이미지와 상기 비중첩 이미지를 결합하여 상기 현재 시야각의 이미지를 획득하는 단계; 및
    상기 VR 장치가 상기 현재 시야각의 이미지를 재생하는 단계
    를 포함하는, 비디오 재생 방법.
  4. 제1항에 있어서,
    상기 VR 장치가 상기 서버에 의해 송신된 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 수신하는 단계 이후에, 상기 비디오 재생 방법은,
    상기 VR 장치가 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되는지를 검출하는 단계 - "동기화된다는 것"은 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 상기 현재 재생된 이미지의 타임 스탬프를 포함한다는 것을 의미함 - ; 및
    상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 상기 현재 재생된 이미지의 타임 스탬프와 동기화되면, 상기 VR 장치가 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생하는 단계를 수행하는 단계
    를 더 포함하는 비디오 재생 방법.
  5. 제4항에 있어서,
    상기 VR 장치가 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되는지를 검출하는 단계 이후에, 상기 비디오 재생 방법은,
    상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되지 않으면, 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림과 상기 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용함으로써 상기 제2 시야각의 이미지를 재생하는 단계
    를 더 포함하는 비디오 재생 방법.
  6. 제1항 내지 제5항 중 어느 한 항에 있어서,
    상기 VR 장치가 서버에 의해 송신되는 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 수신하는 단계 이후에, 상기 비디오 재생 방법은,
    상기 VR 장치가 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 제1 비디오 버퍼에 저장하고, 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 제2 비디오 버퍼에 저장하는 단계
    를 더 포함하는 비디오 재생 방법.
  7. 제6항에 있어서,
    상기 비디오 재생 방법은,
    상기 VR 장치가 상기 시야각이 변한다고 결정할 때, 또는 상기 VR 장치가 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생할 때, 상기 VR 장치가 상기 제1 비디오 버퍼에 버퍼링된 상기 제1 시야각의 제1-해상도 VR 비디오 스트림에 대해 데이터 에이징(data aging)을 수행하는 단계
    를 더 포함하는 비디오 재생 방법.
  8. 비디오 재생 방법으로서,
    서버가 가상 현실(virtual reality, VR) 장치에 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 송신하는 단계 - 상기 제1-해상도는 상기 제2-해상도보다 큼 - ;
    상기 서버가 상기 VR 장치에 의해 송신된 시야각 정보를 수신하는 단계 - 상기 시야각 정보는 변경될 제2 시야각(changed-to second viewing angle)을 지시하기 위한 파라미터를 운송함 - ; 및
    상기 서버가 상기 파라미터에 기초해서 상기 VR 장치에 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 송신하는 단계
    를 포함하는 비디오 재생 방법.
  9. 제8항에 있어서,
    상기 전체 시야각의 제2-해상도 VR 비디오 스트림은 상기 전체 시야각의 제1-해상도 VR 비디오 스트림으로부터 변환되는, 비디오 재생 방법.
  10. 가상 현실(virtual reality, VR) 장치로서,
    상기 VR 장치는 통신 유닛 및 프로세싱 유닛을 포함하며,
    상기 통신 유닛은 서버에 의해 송신되는 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 수신하도록 구성되어 있고, 상기 제1-해상도는 상기 제2-해상도보다 크며,
    상기 프로세싱 유닛은 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 사용하여 상기 제1 시야각의 이미지를 재생하도록 구성되어 있으며,
    상기 프로세싱 유닛은, 상기 VR 장치가 상기 시야각이 변한다고 결정할 때, 상기 VR 장치가 상기 전체 시야각의 제2-해상도 VR 비디오 스트림과 상기 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용함으로써 현재 시야각의 이미지를 재생하도록 추가로 구성되어 있으며,
    상기 통신 유닛은 상기 서버에 시야각 정보를 송신하도록 추가로 구성되어 있으며, 상기 시야각 정보는 변경될 제2 시야각(changed-to second viewing angle)을 지시하기 위한 파라미터를 운송하며,
    상기 통신 유닛은 상기 서버에 의해 송신된 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 수신하도록 추가로 구성되어 있으며, 그리고
    상기 프로세싱 유닛은 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생하도록 추가로 구성되어 있는, 가상 현실 장치.
  11. 제10항에 있어서,
    상기 프로세싱 유닛은,
    상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득하고,
    상기 전체 시야각 이미지로부터 상기 현재 시야각의 이미지를 추출하며, 그리고
    상기 현재 시야각의 이미지를 재생하도록 구성되어 있는, 가상 현실 장치.
  12. 제10항에 있어서,
    상기 프로세싱 유닛은,
    상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 디코딩하여 상기 제1 시야각의 이미지를 획득하고,
    상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 디코딩하여 전체 시야각 이미지를 획득하고,
    상기 제1 시야각의 이미지로부터 중첩 이미지를 추출하고, 상기 전체 시야각 이미지로부터 비중첩 이미지를 추출하고 - 상기 중첩 이미지는 상기 제1 시야각의 이미지와 상기 현재 시야각의 이미지 간의 중첩 영역의 이미지이고, 상기 비중첩 이미지는 상기 현재 시야각의 이미지 내의 상기 중첩 영역의 이미지와는 상이함 - ,
    상기 중첩 이미지와 상기 비중첩 이미지를 결합하여 상기 현재 시야각의 이미지를 획득하며, 그리고
    상기 현재 시야각의 이미지를 재생하도록 구성되어 있는, 가상 현실 장치.
  13. 제10항에 있어서,
    상기 프로세싱 유닛은 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되는지를 검출하도록 추가로 구성되어 있으며, "동기화된다는 것"은 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 상기 현재 재생된 이미지의 타임 스탬프를 포함한다는 것을 의미하며,
    상기 프로세싱 유닛은 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 상기 현재 재생된 이미지의 타임 스탬프와 동기화되면, 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지를 재생하는 단계를 수행하도록 추가로 구성되어 있는, 가상 현실 장치.
  14. 제13항에 있어서,
    상기 프로세싱 유닛은 상기 제2 시야각의 수신된 제1-해상도 VR 비디오 스트림의 타임 스탬프가 현재 재생된 이미지의 타임 스탬프와 동기화되지 않으면, 상기 전체 시야각의 제2-해상도 VR 비디오 스트림과 상기 제1 시야각의 제1-해상도 VR 비디오 스트림 중 첫 번째 것 또는 둘 다를 사용함으로써 상기 제2 시야각의 이미지를 재생하도록 추가로 구성되어 있는, 가상 현실 장치.
  15. 제10항 내지 제14항 중 어느 한 항에 있어서,
    상기 VR 장치는 저장 유닛을 더 포함하며,
    상기 저장 유닛은 상기 제1 시야각의 제1-해상도 VR 비디오 스트림을 제1 비디오 버퍼에 저장하고, 상기 전체 시야각의 제2-해상도 VR 비디오 스트림을 제2 비디오 버퍼에 저장하도록 구성되어 있는, 가상 현실 장치.
  16. 제15항에 있어서,
    상기 프로세싱 유닛은, 상기 시야각이 변한다고 결정될 때, 또는 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 사용함으로써 상기 제2 시야각의 이미지가 재생될 때, 상기 제1 비디오 버퍼에 버퍼링된 상기 제1 시야각의 제1-해상도 VR 비디오 스트림에 대해 데이터 에이징(data aging)을 수행하도록 추가로 구성되어 있는, 가상 현실 장치.
  17. 서버로서,
    상기 서버는 통신 유닛 및 프로세싱 유닛을 포함하며,
    상기 통신 유닛은 가상 현실(virtual reality, VR) 장치에 제1 시야각의 제1-해상도 VR 비디오 스트림 및 전체 시야각의 제2-해상도 VR 비디오 스트림을 송신하도록 구성되어 있고, 상기 제1-해상도는 상기 제2-해상도보다 크며,
    상기 통신 유닛은 상기 VR 장치에 의해 송신된 시야각 정보를 수신하도록 추가로 구성되어 있으며, 상기 시야각 정보는 변경될 제2 시야각(changed-to second viewing angle)을 지시하기 위한 파라미터를 운송하며,
    상기 프로세싱 유닛은 상기 파라미터에 기초해서 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 획득하도록 구성되어 있으며, 그리고
    상기 통신 유닛은 상기 VR 장치에 상기 제2 시야각의 제1-해상도 VR 비디오 스트림을 송신하도록 추가로 구성되어 있는, 서버.
  18. 제17항에 있어서,
    상기 전체 시야각의 제2-해상도 VR 비디오 스트림은 상기 전체 시야각의 제1-해상도 VR 비디오 스트림으로부터 변환되는, 서버.
  19. 비디오 재생 시스템으로서,
    상기 비디오 재생 시스템은 VR 장치 및 서버를 포함하며,
    상기 VR 장치는 제10항 내지 제16항 중 어느 한 항에 따른 VR 장치이고,
    상기 서버는 제17항 또는 제18항에 따른 서버인, 비디오 재생 시스템.
  20. 컴퓨터 저장 매체로서,
    상기 컴퓨터 저장 매체는 실행 가능한 명령을 저장하며, 상기 실행 가능한 명령은 제1항 내지 제7항 중 어느 한 항에 따른 방법을 실행하는 데 사용되는, 컴퓨터 저장 매체.
  21. 컴퓨터 저장 매체로서,
    상기 컴퓨터 저장 매체는 실행 가능한 명령을 저장하며, 상기 실행 가능한 명령은 제8항 또는 제9항에 따른 방법을 실행하는 데 사용되는, 컴퓨터 저장 매체.
KR1020197034532A 2017-04-28 2018-04-25 비디오 재생 방법, 장치 및 시스템 KR102280134B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710294033.5 2017-04-28
CN201710294033.5A CN108810636B (zh) 2017-04-28 2017-04-28 视频播放方法、虚拟现实设备、服务器、***及存储介质
PCT/CN2018/084496 WO2018196790A1 (zh) 2017-04-28 2018-04-25 视频播放方法、设备及***

Publications (2)

Publication Number Publication Date
KR20190137915A true KR20190137915A (ko) 2019-12-11
KR102280134B1 KR102280134B1 (ko) 2021-07-20

Family

ID=63920203

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197034532A KR102280134B1 (ko) 2017-04-28 2018-04-25 비디오 재생 방법, 장치 및 시스템

Country Status (7)

Country Link
US (1) US11159848B2 (ko)
EP (1) EP3609178B1 (ko)
JP (1) JP7110234B2 (ko)
KR (1) KR102280134B1 (ko)
CN (2) CN111510782A (ko)
IL (1) IL270228B2 (ko)
WO (1) WO2018196790A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102532645B1 (ko) * 2016-09-20 2023-05-15 삼성전자 주식회사 적응적 스트리밍 서비스에서 스트리밍 어플리케이케이션으로 데이터를 제공하는 방법 및 장치
CN111263191B (zh) * 2018-11-30 2023-06-27 中兴通讯股份有限公司 视频数据的处理方法、装置、相关设备及存储介质
US11625806B2 (en) * 2019-01-23 2023-04-11 Qualcomm Incorporated Methods and apparatus for standardized APIs for split rendering
CN111935557B (zh) * 2019-05-13 2022-06-28 华为技术有限公司 视频处理方法、装置及***
CN110442011A (zh) * 2019-07-29 2019-11-12 中国计量大学 一种能连续检测虚拟现实设备动态延时的方法及采用该方法的延时检测***
CN110604921B (zh) * 2019-08-31 2023-11-10 咪咕互动娱乐有限公司 一种显示内容切换方法、服务器和可存储介质
CN110999377A (zh) * 2019-11-22 2020-04-10 北京小米移动软件有限公司 资源切换方法、装置及存储介质
CN112995752A (zh) * 2019-12-12 2021-06-18 中兴通讯股份有限公司 全视角互动直播方法、***、终端及计算机可读存储介质
US11328157B2 (en) * 2020-01-31 2022-05-10 Honeywell International Inc. 360-degree video for large scale navigation with 3D in interactable models
CN111246261A (zh) * 2020-02-28 2020-06-05 北京视博云信息技术有限公司 一种内容投放的方法、装置及***
CN111447461A (zh) * 2020-05-20 2020-07-24 上海科技大学 多视角直播视频的同步切换方法、装置、设备和介质
CN112188303A (zh) * 2020-09-03 2021-01-05 北京火眼目测科技有限公司 一种基于视角的vr流媒体播放方法及装置
CN114501071A (zh) * 2020-10-27 2022-05-13 ***通信有限公司研究院 视频处理方法、视频播放方法及设备
US11838375B2 (en) * 2020-11-12 2023-12-05 Harman International Industries, Incorporated Universal software communication bus
CN112954394B (zh) * 2021-01-28 2023-07-28 广州虎牙科技有限公司 一种高清视频的编码及解码播放方法、装置、设备和介质
CN113259770B (zh) * 2021-05-11 2022-11-18 北京奇艺世纪科技有限公司 视频播放方法、装置、电子设备、介质及产品
CN113949884A (zh) * 2021-09-02 2022-01-18 北京大学深圳研究生院 多视点视频数据处理方法、设备及存储介质
CN114938456A (zh) * 2022-01-20 2022-08-23 上海瞳观智能科技有限公司 Vr直播***及方法
CN115022611B (zh) * 2022-03-31 2023-12-29 青岛虚拟现实研究院有限公司 Vr画面显示方法、电子设备及可读存储介质
CN114866787B (zh) * 2022-07-04 2022-09-23 深圳市必提教育科技有限公司 一种直播实现方法及***
GB2624904A (en) * 2022-11-30 2024-06-05 Sony Interactive Entertainment Inc Virtual reality streaming system and method
CN115631320B (zh) * 2022-12-23 2023-02-28 腾讯科技(深圳)有限公司 预计算单元格显示方法、预计算单元格生成方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611268B1 (en) * 2000-05-30 2003-08-26 Microsoft Corporation System and process for generating 3D video textures using video-based rendering techniques
EP3065406A1 (en) * 2015-03-05 2016-09-07 Nokia Technologies Oy Video streaming method
US20160353146A1 (en) * 2015-05-27 2016-12-01 Google Inc. Method and apparatus to reduce spherical video bandwidth to user headset

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222675B1 (en) * 1998-12-01 2001-04-24 Kaiser Electro-Optics, Inc. Area of interest head-mounted display using low resolution, wide angle; high resolution, narrow angle; and see-through views
WO2001050754A1 (de) 1999-12-30 2001-07-12 Swisscom Mobile Ag Verfahren für die übermittlung von bilddaten
JP4082546B2 (ja) 2000-02-17 2008-04-30 株式会社リコー 3次元仮想空間構築システム
US7129981B2 (en) 2002-06-27 2006-10-31 International Business Machines Corporation Rendering system and method for images having differing foveal area and peripheral view area resolutions
JP2004072694A (ja) * 2002-08-09 2004-03-04 Sony Corp 情報提供システムおよび方法、情報提供装置および方法、記録媒体、並びにプログラム
US6890077B2 (en) * 2002-11-27 2005-05-10 The Boeing Company Method and apparatus for high resolution video image display
HU0500357D0 (en) * 2005-04-04 2005-05-30 Innoracio Fejlesztoe Es Kutata Dynamic display and method for enhancing the effective resolution of displays
JP2012222399A (ja) 2011-04-04 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 映像再生システム、映像再生方法、映像再生装置及びプログラム
US20120293607A1 (en) * 2011-05-17 2012-11-22 Apple Inc. Panorama Processing
EP2712191A4 (en) 2011-05-19 2015-06-24 Lg Electronics Inc VIDEO POWER TRANSMISSION DEVICE, VIDEO POWER RECEIVING DEVICE, VIDEO POWER TRANSMISSION METHOD AND VIDEO POWER RECEIVING METHOD
DE102014207607B4 (de) * 2013-04-25 2019-09-19 Avago Technologies International Sales Pte. Ltd. System und Verfahren zur Verarbeitung von Videodaten
JP6075889B2 (ja) 2014-06-10 2017-02-08 日本電信電話株式会社 映像配信装置及び映像再生装置
US10204658B2 (en) * 2014-07-14 2019-02-12 Sony Interactive Entertainment Inc. System and method for use in playing back panorama video content
JP6501904B2 (ja) * 2015-05-27 2019-04-17 グーグル エルエルシー 球面ビデオのストリーミング
US10096130B2 (en) 2015-09-22 2018-10-09 Facebook, Inc. Systems and methods for content streaming
CN105791882B (zh) 2016-03-22 2018-09-18 腾讯科技(深圳)有限公司 视频编码方法及装置
JP6741784B2 (ja) 2016-04-08 2020-08-19 ヴィズビット インコーポレイテッド ビューを意識した360度ビデオストリーミング
CN105916060A (zh) * 2016-04-26 2016-08-31 乐视控股(北京)有限公司 数据传输的方法、装置及***
CN106231317A (zh) * 2016-09-29 2016-12-14 三星电子(中国)研发中心 视频处理、解码方法和装置、vr终端、视频播放***
US10595069B2 (en) * 2016-12-05 2020-03-17 Adobe Inc. Prioritizing tile-based virtual reality video streaming using adaptive rate allocation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6611268B1 (en) * 2000-05-30 2003-08-26 Microsoft Corporation System and process for generating 3D video textures using video-based rendering techniques
EP3065406A1 (en) * 2015-03-05 2016-09-07 Nokia Technologies Oy Video streaming method
US20160353146A1 (en) * 2015-05-27 2016-12-01 Google Inc. Method and apparatus to reduce spherical video bandwidth to user headset

Also Published As

Publication number Publication date
KR102280134B1 (ko) 2021-07-20
IL270228B1 (en) 2023-03-01
CN108810636A (zh) 2018-11-13
IL270228A (ko) 2019-12-31
EP3609178B1 (en) 2024-04-10
EP3609178A4 (en) 2020-03-25
IL270228B2 (en) 2023-07-01
CN108810636B (zh) 2020-04-14
EP3609178A1 (en) 2020-02-12
CN111510782A (zh) 2020-08-07
US11159848B2 (en) 2021-10-26
JP7110234B2 (ja) 2022-08-01
US20200059694A1 (en) 2020-02-20
WO2018196790A1 (zh) 2018-11-01
JP2020519094A (ja) 2020-06-25

Similar Documents

Publication Publication Date Title
KR102280134B1 (ko) 비디오 재생 방법, 장치 및 시스템
JP7486527B2 (ja) イマーシブメディアコンテンツの提示および双方向性の360°ビデオ通信
US11228764B2 (en) Streaming multiple encodings encoded using different encoding parameters
EP4099703A2 (en) Switching between transmitting a preauthored video frame and a composited video frame
KR101453239B1 (ko) 인코딩된 비디오 데이터의 스트리밍
EP2824885B1 (en) A manifest file format supporting panoramic video
CN110636346A (zh) 一种码率自适应切换方法、装置、电子设备及存储介质
US11202110B2 (en) Information processing apparatus, control method of the same, and storage medium
CN112219403B (zh) 沉浸式媒体的渲染视角度量
CN111447503A (zh) 一种多视点视频的视点切换方法、服务器和***
WO2021218573A1 (zh) 视频播放方法、装置及***、计算机存储介质
Tang et al. Audio and video mixing method to enhance WebRTC
CN111866526B (zh) 一种直播业务处理方法和装置
CN115174942A (zh) 一种自由视角切换方法及交互式自由视角播放***
US10834166B2 (en) Transmission apparatus that is capable of maintaining transmission quality in switching transmission path, reception apparatus, transmission and reception system, method of controlling transmission apparatus and reception apparatus, and storage medium
US20210203987A1 (en) Encoder and method for encoding a tile-based immersive video
WO2022222533A1 (zh) 视频播放方法、装置及***、计算机可读存储介质
KR101823377B1 (ko) 시점 예측에 따라 동영상을 제공하는 미디어 서버
JP2010213109A (ja) 映像配信制御サーバ、受信端末、映像簡略化多重化装置、映像配信方法およびプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant