KR20190071839A - 가상 현실 경험 공유 - Google Patents

가상 현실 경험 공유 Download PDF

Info

Publication number
KR20190071839A
KR20190071839A KR1020197017148A KR20197017148A KR20190071839A KR 20190071839 A KR20190071839 A KR 20190071839A KR 1020197017148 A KR1020197017148 A KR 1020197017148A KR 20197017148 A KR20197017148 A KR 20197017148A KR 20190071839 A KR20190071839 A KR 20190071839A
Authority
KR
South Korea
Prior art keywords
viewport
metadata
user
trajectory
roi
Prior art date
Application number
KR1020197017148A
Other languages
English (en)
Other versions
KR102234928B1 (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 KR20190071839A publication Critical patent/KR20190071839A/ko
Application granted granted Critical
Publication of KR102234928B1 publication Critical patent/KR102234928B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1626Constructional details or arrangements for portable computers with a single-body enclosure integrating a flat display, e.g. Personal Digital Assistants [PDAs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/163Wearable computers, e.g. on a belt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1633Constructional details or arrangements of portable computers not specific to the type of enclosures covered by groups G06F1/1615 - G06F1/1626
    • G06F1/1684Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675
    • G06F1/1694Constructional details or arrangements related to integrated I/O peripherals not covered by groups G06F1/1635 - G06F1/1675 the I/O peripheral being a single or a set of motion sensors for pointer control or gesture input obtained by sensing movements of the portable computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • 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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • 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/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • H04N21/42206User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor characterized by hardware details
    • H04N21/42222Additional components integrated in the remote control device, e.g. timer, speaker, sensors for detecting position, direction or movement of the remote control, microphone or battery charging device
    • 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/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • 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
    • 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/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • 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/8543Content authoring using a description language, e.g. Multimedia and Hypermedia information coding Expert Group [MHEG], eXtensible Markup Language [XML]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Tourism & Hospitality (AREA)
  • Library & Information Science (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Computer Graphics (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Remote Sensing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Computer Security & Cryptography (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

사용자 장치는 통신 유닛, 디스플레이, 및 프로세서를 포함한다. 디스플레이는 가상 현실 비디오를 렌더링하도록(render) 구성된다. 프로세서는 UE의 적어도 하나의 뷰포트(viewport)의 궤적(trajectory)에 관련되는 정보를 포함하는 메타데이터(metadata)를 생성하도록 구성된다. 통신 유닛은 적어도 하나의 뷰포트의 궤적을 공유하기 위해 메타데이터를 송신하도록 구성된다.

Description

가상 현실 경험 공유
본 개시는 일반적으로 가상 현실에 관한 것이다. 특히, 본 개시는 다수의 사용자들에서 가상 현실 경험을 공유하는 것에 관한 것이다.
가상 현실 경험들이 더욱 중요해지고 있다. 일 예로, 360° 비디오(가상 현실 비디오)는 스마트 폰들과 같은 강력한 핸드헬드(handheld) 디바이스들의 준비된 유용성으로 인해 실감형 비디오(immersive video)를 경험하는 새로운 방식으로 부상되고 있다. 360° 비디오는 상기 현실 세계의 거의 360° 뷰(view)를 캡쳐함으로써 소비자들에 대한 실감형 "실생활(real life)", "존재감 있는(being there)" 경험을 가능하게 한다. 사용자들은 상기 사용자들의 뷰포인트(viewpoint)를 인터랙티브하게 변경하고 상기 사용자들이 원하는 캡쳐된 신(scene)의 임의의 파트를 다이나믹하게 시청할 수 있다. 디스플레이 및 네비게이션 센서들은 실시간으로 머리 움직임을 추적하여 상기 사용자가 시청하기를 원하는 상기 360° 비디오의 영역을 결정할 수 있다.
소셜 미디어 사이트들은 개인화된 비디오 경험들을 공유하는 것에 대해 허락한다. 일 예로, 사용자들은 월별로 120억 분의 게임플레이 캡쳐 비디오를 공유하고 시청한다. 상기 공유되는 비디오들은 상기 플레이어들의 뷰(view)의 신 캡쳐(screen capture)들이다. 다른 사용자들은 360° 비디오의 다른 파트들을 시청하고 싶어할 수 있고, 또한 친구들 혹은 가족과 함께 상기 다른 사용자들의 개인화된 뷰포인트(viewpoint)들을 공유하기를 원할 수 있다. 따라서, 사용자의 뷰포인트를 다른 사용자들과 효과적으로 공유하는 것에 대한 필요성이 존재한다.
개인화된 비디오 경험들은 사용자 뷰포인트(뷰포트(viewport)) 궤적들 혹은 사용자 특정 관심 영역(region of interests: ROI)을 공유함으로써 공유될 수 있다. 상기 뷰포트는, 디스플레이되고 상기 사용자에 의해 시청되는 상기 360° 비디오의 일부가 될 수 있다. 단일 뷰포트/ROI 궤적은 일련의 뷰포트들/ROI들, 비디오의 매 프레임에 대한 하나의 뷰포트/ROI로 구성된다. 주어진 360도 비디오에 대해 다수의 뷰포트/ROI 궤적들이 존재할 수 있으며, -상기 다수의 뷰포트/ROI 궤적들의 개수는 상기 360도 비디오를 시청하고, 그들의 개인화된 뷰포트/ROI 궤적을 공유하기를 원하는 사용자들의 수에 의존한다. 이 수는 쉽게 수백 혹은 수천에 이를 수 있다. 따라서, 뷰포트/ROI 궤적들의 공유를 위한 효율적인 메카니즘들이 필요하다.
본 개시는 360° 비디오에서 사용자 뷰포인트(viewpoint)들을 공유하는 장치들 및 방법들에 관한 것이다.
일 실시 예에서, 사용자 장치(user equipment: UE)는 통신 유닛과, 디스플레이와, 적어도 하나의 센서와, 프로세서를 포함한다. 상기 통신 유닛은 서버로부터 비디오를 수신하도록 구성되고, 상기 디스플레이는 상기 비디오의 일부를 렌더링(render)하도록 구성된다. 상기 적어도 하나의 센서는 상기 비디오의 피치(pitch)와 요(yaw)를 결정하도록 구성되고, 상기 프로세서는 메타데이터(metadata)를 생성하도록 구성되고, 상기 메타데이터는 상기 피치와 요를 포함한다.
따라서, 여기에서의 실시 예들은 다른 사용자에게 360° 비디오에 포함되어 있는 사용자 뷰포인트들을 공유하기 위한 방법 및 전자 장치를 제공한다.
본 개시 및 그 이점들에 대한 보다 완전한 이해를 위해서, 이제 첨부 도면들과 함께 다음과 같은 설명이 이루어질 것이다:
도 1은 본 개시에 따른 컴퓨팅 시스템 예시를 도시하고 있다;
도 2는 본 개시에 따른 컴퓨팅 시스템에서 서버 예시를 도시하고 있다;
도 3은 본 개시에 따른 사용자 장치(user equipment: UE) 예시를 도시하고 있다;
도 4는 본 개시에 따른 헤드-마운티드 디스플레이(head-mounted display: HMD)의 퍼스펙티브 뷰(perspective view)를 도시하고 있다;
도 5는 본 개시에 따른 그래픽 사용자 인터페이스 예시를 도시하고 있다;
도 6은 본 개시에 따른 그래픽 사용자 인터페이스 예시를 도시하고 있다;
도 7은 본 개시에 따른 뷰포트(viewport)/ROI를 공유하는 예시 동작을 도시하고 있다;
도 8은 본 개시에 따른 뷰포트/ROI를 공유하는 예시 동작을 도시하고 있다;
도 9는 본 개시에 따른 뷰포트/ROI를 공유하는 예시 동작을 도시하고 있다;
도 10은 본 개시에 따른 뷰포인트를 공유하는 방법을 도시하고 있다.
본 개시는 360° 비디오에서 사용자 뷰포인트(viewpoint)들을 공유하는 장치들 및 방법들에 관한 것이다.
일 실시 예에서, 사용자 장치(user equipment: UE)는 통신 유닛과, 디스플레이와, 적어도 하나의 센서와, 프로세서를 포함한다. 상기 통신 유닛은 서버로부터 비디오를 수신하도록 구성되고, 상기 디스플레이는 상기 비디오의 일부를 렌더링(render)하도록 구성된다. 상기 적어도 하나의 센서는 상기 비디오의 일부의 피치(pitch)와 요(yaw)를 결정하도록 구성되고, 상기 프로세서는 메타데이터(metadata)를 생성하도록 구성되고, 상기 메타데이터는 상기 피치와 요를 포함한다.
일 실시 예에서, 사용자 장치(user equipment: UE)는 통신 유닛과, 디스플레이와, 프로세서를 포함한다. 상기 통신 유닛은 서버로부터 비디오를 수신하도록 구성되고, 상기 디스플레이는 그래픽 사용자 인터페이스(graphical user interface: GUI)를 디스플레이하도록 구성되고, 상기 GUI는 상기 비디오의 일부 및 오브젝트(object)의 렌더링을 포함한다. 상기 프로세서는 사용자에 의해 상기 오브젝트가 선택될 때 피치와 요를 결정하고, 메타데이터를 생성하도록 구성되고, 상기 메타데이터는 상기 피치와 요를 포함한다.
일 실시 예에서, 비디오의 일부를 공유하는 방법은 서버로부터 비디오를 수신하는 과정 및 상기 비디오의 일부를 렌더링하는 과정을 포함한다. 상기 비디오의 일부에 대한 피치와 요가 결정된다. 그리고 나서 상기 피치와 요를 포함하는 메타데이터가 생성된다.
다른 기술적 특징들은 하기의 도면들, 설명들 및 청구항들로부터 통상의 기술자에게 쉽게 명백할 수 있을 것이다.
하기에서 상세한 설명을 설명하기에 앞서, 본 문서 전체에 걸쳐 사용되는 특정 단어들과 구문들의 정의를 설명하는 것이 바람직할 수 있다. 용어 "연결한다(couple)"와 파생어들은 두 개 혹은 그 이상의 엘리먼트들이 서로 물리적 접촉 상태에 있는지 그렇지 않든지, 상기 엘리먼트들 간의 어떤 직접적이거나 간접적인 통신을 나타낸다. "송신한다(transmit)", "수신한다(receive)", 그리고 "통신한다(communicate)" 라는 용어들뿐 아니라 그 파생어들은 직접 및 간접 통신 둘 다를 포함한다. "포함하다(include)" 및 "구비한다(comprise)"는 용어들 및 그 파생어들은 제한 없는 포함을 의미한다. "또는(or)"이라는 용어는 및/또는(and/or)을 의미하는 포괄적인 용어이다. "~와 연관된다(associated with)" 및 그 파생어들은 포함한다(include), ~ 내에 포함된다(be included within), ~와 상호 연결한다(interconnect with), 포함한다(contain), ~내에 포함된다(be contained within), ~로/와 연결한다(connect to or with), ~로/와 연결한다(couple to or with), ~와 통신할 수 있다(be communicable with), ~와 협력한다(cooperate with), 인터리브한다(interleave), 나란히 놓는다(juxtapose), ~에 근사하다(be proximate to), ~에/와 속박된다(be bound to or with), 가진다(have), ~의 특성을 가진다(have a property of), ~에 대한/와 관계를 가진다(have a relationship to or with)는 등의 의미이다. "제어기(controller)"라는 용어는 적어도 한 동작을 제어하는 임의의 디바이스, 시스템, 또는 그 일부를 의미한다. 상기 제어기는 하드웨어나 하드웨어와 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있다. 임의의 특정 제어기와 관련된 기능은 로컬 또는 원격으로, 중앙 집중되거나 분산될 수 있다. "적어도 하나의(at least one of)"라는 구문은 아이템들의 리스트와 함께 사용될 때, 나열된 아이템들 중 하나 이상의 서로 다른 조합들이 사용될 수 있고, 그 리스트 내 오직 한 아이템만이 필요할 수 있다는 것을 의미한다. 예를 들어, "A, B, 및 C 중 적어도 하나"는 다음과 같은 조합들 중 어느 하나를 포함한다: A, B, C, A 및 B, A 및 C, B 및 C, 및 A와 B와 C.
또한, 하기에서 설명되는 다양한 기능들은 하나 혹은 그 이상의 컴퓨터 프로그램들에 의해 구현되거나 지원될 수 있으며, 그 프로그램들 각각은 컴퓨터 리드 가능(computer readable) 프로그램 코드로 구성되고 컴퓨터 리드 가능 매체에서 실시된다. "어플리케이션" 및 "프로그램"이라는 용어는 하나 혹은 그 이상의 컴퓨터 프로그램들, 소프트웨어 컴포넌트들, 명령어(instruction)들의 집합들, 절차들, 함수들, 오브젝트들, 클래스들, 인스턴스들, 관련 데이터, 또는 적합한 컴퓨터 리드 가능 프로그램 코드에서의 구현에 적합한 그 일부를 나타낸다. "컴퓨터 리드 가능 프로그램 코드"라는 구문은 소스 코드, 오브젝트 코드, 및 실행 코드를 포함하는 모든 타입의 컴퓨터 코드를 포함한다. "컴퓨터 리드 가능 매체"라는 구문은 리드 온니 메모리(read only memory: ROM), 랜덤 억세스 메모리(random access memory: RAM), 하드 디스크 드라이브, 컴팩트 디스크(compact disc: CD), 디지털 비디오 디스크(digital video disc: DVD), 또는 어떤 다른 유형의 메모리와 같이, 컴퓨터에 의해 억세스될 수 있는 모든 유형의 매체를 포함한다. "비일시적(non-transitory)" 컴퓨터 리드 가능 매체는 일시적인 전기 또는 기타 신호들을 전송하는 유선, 무선, 광학, 또는 기타 통신 링크들을 배제한다. 비일시적 컴퓨터 리드 가능 매체는 데이터가 영구적으로 저장될 수 있는 매체, 및 재기록 가능 광학 디스크나 삭제 가능 메모리 디바이스와 같이 데이터가 저장되고 나중에 덮어씌어질 수 있는 매체를 포함한다.
다른 특정 단어들 및 구문들에 대한 정의가 이 특허 문서 전체에 걸쳐 제공된다. 통상의 기술자는 대부분의 경우들은 아니어도 많은 경우, 그러한 정의들이 그렇게 정의된 단어들 및 문구들의 이전뿐 아니라 이후 사용에도 적용된다는 것을 알 수 있을 것이다.
따라서, 여기에서의 실시 예들은 사용자 장치(user equipment: UE)를 제공하며, 상기 UE는 가상 현실 비디오를 렌더링하도록(render) 구성되는 디스플레이, 상기 UE의 적어도 하나의 뷰포트(viewport)의 궤적(trajectory)에 관련되는 정보를 포함하는 메타데이터(metadata)를 생성하도록 구성되는 프로세서, 상기 적어도 하나의 뷰포트의 궤적을 공유하기 위해 상기 메타데이터를 송신하도록 구성되는 통신 유닛을 포함한다.
여기에서의 일 실시 예에서는 UE를 제공하며, 여기서 상기 메타데이터는 현재의 프레임이 이전 프레임의 뷰포트 좌표들을 사용하는지 여부 혹은 상기 현재의 프레임이 인접 프레임들의 뷰포트 좌표들로부터 보간되는 뷰포트 좌표들을 사용하는지 여부를 나타내는 플래그(flag)를 포함한다.
여기에서의 일 실시 예에서는 UE를 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트 중 하나의 요(yaw), 피치(pitch), 및 사이즈(size)를 포함한다.
여기에서의 일 실시 예에서는 UE를 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적에 상응하는 적어도 하나의 프레임을 식별하는 적어도 하나의 프레임 식별 정보와 상기 UE의 사용자를 식별하는 사용자 식별 정보를 포함한다.
여기에서의 일 실시 예에서는 UE를 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적을 식별하는 뷰포트 궤적 식별 정보를 포함한다.
여기에서의 일 실시 예에서는 UE를 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트의 사이즈들이 일정한지 여부를 나타내는 플래그를 포함한다.
여기에서의 일 실시 예에서는 UE를 제공하며, 상기 UE는 상기 적어도 하나의 뷰포트의 궤적의 정보를 저장하기 위한 사용자의 요청의 입력을 식별하거나 혹은 상기 메타데이터를 서버로 업로드하도록 구성되는 사용자 인터페이스를 더 포함한다.
여기에서의 일 실시 예에서는 UE를 제공하며, 여기서 상기 메타데이터는 서버로 업로드되고, 상기 메타데이터는 다른 UE에 의해 다운로드 가능하다.
여기에서의 일 실시 예에서는 UE를 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적에 부가되는 텍스트, 그래픽, 아이콘, 이모지(emoji) 및 음성 기록 중 적어도 하나에 관련되는 정보를 더 포함한다.
여기에서의 일 실시 예에서는 UE를 제공하며, 여기서 다른 사용자가 상기 적어도 하나의 뷰포트의 궤적의 스트리밍의 요청을 입력할 때, 서버는 상기 메타데이터에 따라 상기 가상 현실 비디오를 스트리밍하기 시작한다.
따라서, 여기에서 상기 실시 예들은 사용자의 가상 현실 경험을 공유하는 방법을 제공하며, 상기 방법은 가상 현실 비디오를 렌더링하는(rendering) 과정, 사용자 장치(user equipment: UE)의 적어도 하나의 뷰포트(viewport)의 궤적(trajectory)에 관련되는 정보를 포함하는 메타데이터(metadata)를 생성하는 과정, 상기 적어도 하나의 뷰포트의 궤적을 공유하기 위해 상기 메타데이터를 송신하는 과정을 포함한다.
여기에서의 일 실시 예에서는 방법을 제공하며, 여기서 상기 메타데이터는 현재의 프레임이 이전 프레임의 뷰포트 좌표들을 사용하는지 여부 혹은 상기 현재의 프레임이 인접 프레임들의 뷰포트 좌표들로부터 보간되는 뷰포트 좌표들을 사용하는지 여부를 나타내는 플래그(flag)를 포함한다.
여기에서의 일 실시 예에서는 방법을 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트 중 하나의 요(yaw), 피치(pitch), 및 사이즈(size)를 포함한다.
여기에서의 일 실시 예에서는 방법을 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적에 상응하는 적어도 하나의 프레임을 식별하는 적어도 하나의 프레임 식별 정보와 상기 UE의 사용자를 식별하는 사용자 식별 정보를 포함한다.
여기에서의 일 실시 예에서는 방법을 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적을 식별하는 뷰포트 궤적 식별 정보를 포함한다.
여기에서의 일 실시 예에서는 방법을 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트의 사이즈들이 일정한지 여부를 나타내는 플래그를 포함한다.
여기에서의 일 실시 예에서는 방법을 제공하며, 상기 방법은 사용자 인터페이스로 상기 적어도 하나의 뷰포트의 궤적의 정보를 저장하기 위한 사용자의 요청의 입력을 식별하거나 혹은 상기 메타데이터를 서버로 업로드하는 과정을 더 포함한다.
여기에서의 일 실시 예에서는 방법을 제공하며, 여기서 상기 메타데이터는 서버로 업로드되고, 상기 메타데이터는 다른 UE에 의해 다운로드 가능하다.
여기에서의 일 실시 예에서는 방법을 제공하며, 여기서 상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적에 부가되는 텍스트, 그래픽, 아이콘, 이모지(emoji) 및 음성 기록 중 적어도 하나에 관련되는 정보를 더 포함한다.
여기에서의 일 실시 예에서는 방법을 제공하며, 여기서 다른 사용자가 상기 적어도 하나의 뷰포트의 궤적의 스트리밍의 요청을 입력할 때, 서버는 상기 메타데이터에 따라 상기 가상 현실 비디오를 스트리밍하기 시작한다.
이 출원은 2017년 1월 5일자로 출원된 U.S. 특허 가출원 번호 62/442,718와, 2017년 1월 11일자로 출원된 U.S. 특허 가출원 번호 62/444,840과, 2017년 3월 2일자로 출원된 U.S. 특허 가출원 번호 62/465,883에 대한 35 U.S.C. § 119(e)하의 우선권을 주장한다. 상기 식별된 특허 가출원들은 그 전체가 여기에 참조로 포함된다.
하기에서 설명되는 도 1 내지 도 10과 본 문서에서 본 개시의 원리들을 설명하기 위해 사용되는 다양한 실시 예들은 단지 설명을 위한 것이며, 본 개시의 범위를 제한하는 방식으로 이해되어서는 안 된다. 해당 기술 분야의 통상의 기술자들은 본 개시의 원칙들이 적합하게 배열된 디바이스 혹은 시스템에서 구현될 수 있다는 것을 이해할 것이다.
도 1은 본 개시에 따른 컴퓨팅 시스템(100) 예시를 도시하고 있다. 도 1에 도시되어 있는 상기 컴퓨팅 시스템(100)의 실시 예는 단지 설명을 위한 것이다. 본 개시의 범위를 벗어나지 않고서 상기 컴퓨팅 시스템(100)의 다른 실시 예들이 사용될 수 있다.
도 1에 도시되어 있는 바와 같이, 상기 시스템(100)은 네트워크(102)를 포함하며, 상기 네트워크(102)는 상기 시스템(100)에 포함되어 있는 다양한 컴포넌트(component)들간의 통신을 가능하게 한다. 일 예로, 상기 네트워크(102)는 네트워크 어드레스(address)들간에 인터넷 프로토콜(Internet Protocol: IP) 패킷들, 프레임 릴레이 프레임(frame relay frame)들, 비동기 전달 모드(Asynchronous Transfer Mode: ATM) 셀들, 혹은 다른 정보를 통신할 수 있다. 상기 네트워크(102)는 하나 혹은 그 이상의 근거리 통신 네트워크(local area network: LAN)들, 도시 지역 통신 네트워크(metropolitan area network: MAN)들, 광역 네트워크(wide area network: WAN)들, 혹은 인터넷과 같은 전세계 네트워크의 전부 혹은 일부, 혹은 다른 통신 시스템, 혹은 하나 혹은 그 이상의 위치들에서의 시스템들을 포함할 수 있다.
상기 네트워크(102)는 상기 서버(104)와 다양한 UE들(106-110) 간의 통신들을 가능하게 한다. 상기 UE들(106-110)은 일 예로, 스마트폰, 태블릿, 랩탑, 개인용 컴퓨터, 웨어러블 디바이스, 혹은 헤드-마운티드 디스플레이(head-mounted display: HMD)가 될 수 있다. 상기 서버(104)는 하나 혹은 그 이상의 클라이언트 디바이스(client device)들에 대한 컴퓨팅 서비스들을 제공할 수 있는 적합한 컴퓨팅 혹은 프로세싱 디바이스를 포함한다. 각 서버(104)는 일 예로, 하나 혹은 그 이상의 프로세싱 디바이스들, 명령어(instruction)들 및 데이터를 저장하는 하나 혹은 그 이상의 메모리들, 상기 네트워크(102)를 통한 통신을 가능하게 하는 하나 혹은 그 이상의 네트워크 인터페이스들을 포함할 수 있다.
이 예시에서, 상기 UE(106)는 와이-파이(WI-FI®), 블루투스(BLUETOOTH®), 혹은 임의의 단거리 통신 프로토콜들을 사용하여 상기 서버(104)와 직접 통신할 수 있다. 몇몇 UE들 (108, 110)은 상기 네트워크(102)와 간접적으로 통신한다. 일 예로, 상기 UE(108)는 셀룰라 기지국들 혹은 이노드비(eNodeB)들과 같은 하나 혹은 그 이상의 기지국들(112)을 통해 통신한다. 또한, 상기 UE(110)는 IEEE 802.11 무선 억세스 포인트들과 같은 하나 혹은 그 이상의 무선 억세스 포인트들(114)을 통해 통신한다. 이들은 모두 오직 예시만을 위한 것이며, 각 클라이언트 디바이스는 상기 네트워크(102)와 직접 통신할 수 있거나 혹은 임의의 적합한 중개 디바이스(들) 혹은 네트워크(들)을 통해 상기 네트워크(102)와 간접적으로 통신할 수 있다는 것에 유의하여야만 할 것이다.
하기에서 보다 구체적으로 설명되는 바와 같이, 상기 서버(104)는 360° 비디오에 대한 사용자의 뷰포인트(viewpoint)에 관한 메타데이터(metadata)를 수신하고, 하나 혹은 그 이상의 사용자들로 상기 360° 비디오와 함께 상기 메타데이터를 송신한다. 몇몇 실시 예들에서, UE(106)와 같은 UE는 UE(116)와 같은 다른 UE로 상기 메타데이터를 직접 송신할 수 있다.
도 1이 컴퓨팅 시스템(100)의 일 예를 도시하고 있다고 할지라도, 다양한 변경들이 도 1에 대해서 이루어질 수 있다. 일 예로, 상기 시스템(100)은 임의의 적합한 배열로 임의의 개수의 각 컴포넌트를 포함할 수 있다. 일반적으로, 컴퓨팅 및 통신 시스템들은 다양한 구성(configuration)들로 구현되며, 도 1은 본 개시의 범위를 임의의 특정한 구성으로 제한하는 것은 아니다. 도 1이 이 특허 문서에 개시된 바와 같은 다양한 기능들이 사용될 수 있는 하나의 동작 가능 환경을 도시하고 있을 지라도, 이런 기능들은 임의의 다른 적합한 시스템에서 사용될 수 있다.
도 2 및 도 3은 본 개시에 따른 컴퓨팅 시스템에서 예시 디바이스들을 도시하고 있다. 특히, 도 2는 서버(200)의 예시를 도시하고 있으며, 도 3은 UE(300)의 예시를 도시하고 있다. 상기 서버(200)는 도 1의 상기 서버(104)를 나타낼 수 있으며, 상기 UE(300)는 도 1의 상기 UE들(106-110)을 나타낼 수 있다.
도 2에 도시되어 있는 바와 같이, 상기 서버(200)는 적어도 하나의 프로세서(210), 적어도 하나의 저장 디바이스(215), 적어도 하나의 통신 유닛(communications unit)(220) 간의 통신을 지원하는 버스 시스템(bus system)(205)을 포함한다.
상기 프로세서(210)는 메모리(230)에 로딩될 수 있는 명령어들을 실행시킨다. 상기 프로세서(210)는 임의의 적합한 개수(들) 및 타입(들)의 프로세서들 혹은 다른 디바이스들을 임의의 적합한 배열로 포함할 수 있다. 예시 타입들의 프로세서들 (210)은 마이크로프로세서들, 마이크로제어기들, 디지털 신호 프로세서들, 필드 프로그램가능 게이트 어레이(field programmable gate array)들, 주문형 반도체(application specific integrated circuit)들, discreet circuitry를 포함한다.
상기 메모리(230)와 영구 저장 장치(235)는 저장 디바이스들(215)의 예시들이며, 정보(일시 혹은 영구 기반의 데이터, 프로그램 코드, 및/혹은 다른 적합한 정보와 같은)를 저장하고, 상기 정보의 검색을 가능하게 할 수 있는 임의의 구조(들)을 나타낸다. 상기 메모리(230)는 랜덤 억세스 메모리 혹은 임의의 다른 적합한 휘발성 혹은 비-휘발성 저장 디바이스(들)를 나타낼 수 있다. 상기 영구 저장 장치(235)는 리드 온니 메모리, 하드 드라이브, 플래쉬 메모리, 혹은 광 디스크와 같은 데이터의 더 긴 기간의 저장을 지원하는 하나 혹은 그 이상의 컴포넌트들 혹은 디바이스들을 포함할 수 있다. 메모리(230)는 상기 서버(200)의 하나 혹은 그 이상의 기능들을 제어하기 위해 사용되는 어플리케이션을 저장한다.
상기 통신 유닛(220)은 다른 시스템들 혹은 디바이스들과의 통신을 지원한다. 일 예로, 상기 통신 유닛(220)은 상기 네트워크(102)를 통한 통신들을 가능하게 하는 네트워크 인터페이스 카드 혹은 무선 송수신기를 포함할 수 있다. 상기 통신 유닛(220)은 임의의 적합한 물리 혹은 무선 통신 링크(들)를 통해 통신들을 지원할 수 있다.
몇몇 실시 예들에서, 상기 서버(200)는 데이터의 입력 및 출력을 허락하는 I/O 유닛(225)을 포함할 수 있다. 일 예로, 상기 I/O 유닛(225)은 키보드, 마우스, 키패드, 터치스크린, 혹은 다른 적합한 입력 디바이스를 통한 사용자 입력을 위한 연결을 제공할 수 있다. 상기 I/O 유닛(225)은 또한 디스플레이, 프린터, 혹은 다른 적합한 출력 디바이스로 출력을 송신할 수 있다.
도 2가 서버(200)의 일 예에 대해서 도시하고 있다고 할지라도, 다양한 변경들이 도 2에 대해서 이루어질 수 있다. 일 예로, 상기 서버(200)는 도 2에 도시되어 있는 바와 같은 임의의 개수의 각 컴포넌트를 포함할 수 있다.
도 3은 본 개시에 따른 UE(300) 예시를 도시하고 있다. 도 3에 도시되어 있는 상기 UE(300)의 실시 예는 단지 설명을 위한 것이며, 도 1의 상기 UE들(106-110)은 동일한 혹은 유사한 구성을 가질 수 있다. 하지만, UE들은 매우 다양한 구성들로 제공되고, 도 3은 본 개시의 범위를 UE의 어떤 특정한 구현으로도 제한하지 않는다. 본 개시의 하나 혹은 그 이상의 실시 예들에서, 상기 UE(300)는 도 4에 도시되어 있는 바와 같은 HMD로 대체될 수 있다.
도 3에 도시되어 있는 바와 같이, 상기 UE(300)는 통신 유닛(310)을 포함한다. 상기 통신 유닛(310)은 일 예로, RF 송수신기, 블루투스 송수신기, 혹은 Wi-Fi 송수신기를 포함할 수 있다. 상기 UE(300)는 또한 송신(transmit: TX) 프로세싱 회로(315), 마이크로폰(microphone)(320) 및 수신(receive: RX) 프로세싱 회로(325)를 포함할 수 있다. 또한, 상기 UE(300)는 오디오 인터페이스 혹은 스피커(330), 프로세서(processor)(340), 입/출력(input/output: I/O) 인터페이스(interface: IF)(345), 입력 장치(350), 디스플레이(display)(355) 및 메모리(360)를 포함한다. 상기 메모리(360)는 운영 시스템(operating system: OS) 프로그램(361) 및 하나 혹은 그 이상의 어플리케이션(application)들(362)을 포함한다.
상기 통신 유닛(310)은 일 예로 BLUETOOTH® 신호 혹은 WI-FI® 신호와 같은 입력되는 RF 신호를 수신할 수 있다. 상기 "통신 유닛(310)"은 상기 입력되는 RF 신호를 하향-변환하여(down-convert) 중간 주파수(intermediate frequency: IF) 혹은 기저대역 신호로 생성할 수 있다. 상기 IF 혹은 기저 대역 신호는 상기 RX 프로세싱 회로(325)로 송신되고, 상기 RX 프로세싱 회로(325)는 상기 기저대역 혹은 IF 신호를 필터링, 디코딩, 및/혹은 디지털화하여 프로세싱된 기저대역 신호를 생성한다. 상기 RX 프로세싱 회로(325)는 추가적인 프로세싱을 위해 상기 프로세싱된 기저대역 신호를 (음성 데이터를 위해서와 같이) 상기 스피커(330) 혹은 (웹 브라우징 데이터(web browsing data)를 위해서와 같이) 상기 프로세서(340)로 송신한다.
상기 TX 프로세싱 회로(315)는 상기 마이크로폰(320)으로부터의 아날로그 혹은 디지털 음성 데이터 혹은 상기 프로세서(340)로부터의 (웹 데이터, 이-메일, 혹은 양방향 비디오 게임 데이터(interactive video game data)와 같은) 다른 출력 기저 대역 데이터를 수신한다. 상기 TX 프로세싱 회로(315)는 상기 출력 기저 대역 데이터를 인코딩, 멀티플렉싱 및/혹은 디지털화하여 프로세싱된 기저대역 혹은 IF 신호로 생성한다. 상기 통신 유닛(310)은 상기 TX 프로세싱 회로(315)로부터 상기 출력 프로세싱된 기저대역 혹은 IF 신호를 수신하고, 상기 기저대역 혹은 IF 신호를 상기 안테나(305)를 통해 송신되는 RF 신호로 상향-변환한다(up-convert).
상기 프로세서(340)는 하나 혹은 그 이상의 프로세서들 혹은 다른 프로세싱 디바이스들을 포함할 수 있으며, 상기 UE(300)의 전반적인 동작을 제어하기 위해 상기 메모리(360)에 저장되어 있는 OS 프로그램(361)을 실행할 수 있다. 일 예로, 상기 프로세서(340)는 공지의 원칙들에 따라 상기 통신 유닛(310), 상기 RX 프로세싱 회로(325) 및 상기 TX 프로세싱 회로(315)에 의한 순방향 채널 신호들의 수신 및 역방향 채널 신호들의 송신을 제어할 수 있다. 몇몇 실시 예들에서, 상기 프로세서(340)는 적어도 하나의 마이크로 프로세서 혹은 마이크로 제어기를 포함한다.
상기 프로세서(340)는 상기 메모리(360)에 내재되어 있는 다른 프로세스들 및 프로그램들을 실행할 수 있다. 상기 프로세서(340)는 데이터를 실행중인 프로세스에 의해 요구될 때 상기 메모리(360)의 내부로 혹은 상기 메모리(360) 외부로 이동시킬 수 있다. 몇몇 실시 예들에서, 상기 프로세서(340)는 상기 OS 프로그램(361)을 기반으로 혹은 이엔비(eNB)들 혹은 운영자로부터 수신되는 신호들에 응답하여 상기 어플리케이션들(362)을 실행하도록 구성된다. 또한, 상기 프로세서(340)는 상기 I/O 인터페이스(345)에 연결되고, 상기 I/O 인터페이스(345)는 상기 UE(300)에게 랩탑 컴퓨터들 및 핸드헬드(handheld) 컴퓨터들과 같은 다른 디바이스들로 연결하는 능력을 제공한다. 상기 I/O 인터페이스(345)는 이 악세사리들과 상기 프로세서(340)간의 통신 경로이다.
상기 프로세서(340)는 또한 상기 입력 장치(350) 및 디스플레이(355)에 연결된다. 상기 UE(300)의 운영자는 상기 입력 장치(350)(일 예로, 키패드, 터치스크린, 버튼 등)를 사용하여 상기 UE(300)로 데이터를 입력할 수 있다. 상기 디스플레이(355)는 액정 크리스탈 디스플레이, 발광 다이오드(light-emitting diode: LED) 디스플레이, 광 LED (optical LED: OLED), 액티브 매트릭스 OLED (active matrix OLED: AMOLED), 하나 혹은 그 이상의 이미지들이 하나 혹은 그 이상의 렌즈들로 프로젝트될 수 있거나 혹은 디스플레이될 수 있는 증강 현실 안경 상의 상기 하나 혹은 그 이상의 렌즈들과 같은 투명한 혹은 불투명한 디스플레이, 혹은 웹 사이트(web site)들로부터와 같은 텍스트 및/혹은 적어도 제한된 그래픽들을 렌더링할 수 있는 다른 디스플레이가 될 수 있다. 한 실시 예에서, 상기 입력 장치(350)는 터치스크린이다. 상기 터치스크린은 터치 패널, (디지털) 펜 센서, 키, 혹은 초음파 입력 디바이스를 포함할 수 있다. 상기 터치스크린은 일 예로, 정전 용량 방식, 압력 감지 방식, 적외선 방식, 또는 초음파 방식 중 적어도 하나의 방식으로 터치 입력을 인식할 수 있다. 상기 터치스크린은 또한 제어 회로를 포함할 수 있다. 상기 정전 용량 방식에서, 상기 터치스크린은 터치 혹은 근접성을 인식할 수 있다.
상기 메모리(360)는 상기 프로세서(340)에 연결된다. 상기 메모리(360)의 일부는 랜덤 억세스 메모리(random access memory: RAM)를 포함할 수 있으며, 상기 메모리(360)의 나머지는 부분은 플래시 메모리 혹은 다른 리드 온니 메모리(read-only memory: ROM)를 포함할 수 있다.
UE(300)는 물리적인 양을 계측하거나 혹은 상기 UE(300)의 활성화 상태를 검출할 수 있고 상기 계측된 혹은 검출된 정보를 전기 신호로 변환할 수 있는 하나 혹은 그 이상의 센서들(370)을 포함할 수 있다. 일 예로, 센서(370)는 일 예로 상기 UE(300)의 헤드셋에서의 터치 입력을 위한 하나 혹은 그 이상의 버튼들, 하나 혹은 그 이상의 카메라들(380), 제스쳐 센서, 안구 추적 센서, 자이로스코프 혹은 자이로 센서, 공기 압력 센서, 자기 센서 혹은 자력계, 가속 센서 혹은 가속계, 그립 센서, 근접성 센서, 컬러 센서(일 예로, 적색 청색 녹색(red green blue: RGB) 센서), 생물 물리학 센서, 온도/습도 센서, 조도 센서, 자외선(ultraviolet: UV) 센서, 근전도 검사(electromyography: EMG) 센서, 뇌파(electroencephalogram: EEG) 센서, 심전도(electrocardiogram: ECG) 센서, IR 센서, 초음파 센서, 홍체 센서, 지문 센서 등을 포함할 수 있다. 상기 센서(들)(370)은 추가적으로 그에 포함되어 있는 센서들 중 적어도 하나를 제어하는 제어 회로를 포함할 수 있다. 하기에서 보다 구체적으로 설명될 바와 같이, 이 센서(들)(370) 중 하나 혹은 그 이상이 UI를 제어하고, UI 입력들을 검출하고, 3D 컨텐트 디스플레이 식별 등을 위해 상기 사용자의 방향 및 대면 방향을 결정하기 위해 사용될 수 있다. 일 예로, 상기 UE(300)가 헤드셋을 포함하는 실시 예들에서, 이 센서(들)(370) 중 어느 하나는 상기 UE(300) 내에 위치될 수 있거나, 혹은 상기 UE(300)를 잡고 있도록 구성되는 헤드셋 내에 위치될 수 있거나, 혹은 상기 헤드셋 및 UE(300) 둘 다에 위치될 수 있다.
UE(300)는 또한 하나 혹은 그 이상의 카메라들 (380)을 포함할 수 있다. 카메라(380)는 적색, 청색, 녹색(red, green, blue: RGB) 카메라, 혹은 적외선 카메라일 수 있다. 하기에서 설명될 바와 같이, 카메라(380)는 상기 360° 비디오에 관해 사용자의 시선 혹은 움직임을 추적하기 위해 사용될 수 있다.
도 3이 UE(300)의 한 예시를 설명하고 있을 지라도, 다양한 변경들이 도 3에 대해서 이루어질 수 있다. 일 예로, 도 3에서의 다양한 컴포넌트들은 조합되거나, 추가적으로 더 분할 되거나, 혹은 생략될 수 있으며, 추가적인 컴포넌트들이 특별한 필요들에 따라서 추가될 수 있다. 또한, 특별한 예로서, 상기 프로세서(340)는 하나 혹은 그 이상의 중앙 프로세싱 유닛(central processing unit: CPU)들 및 하나 혹은 그 이상의 그래픽들 프로세싱 유닛(graphics processing unit: GPU)들과 같은 다수의 프로세서들로 분할될 수 있다.
도 4 내지 도 8에 관해 본 개시에서 설명되는 실시 예들에서, 각 뷰포트(viewport)/관심 영역(region of interest: ROI)은 연관되는 뷰포트/ROI에 대한 고유한 ID를 제공하는 메타데이터(metadata)와 연관된다. 뷰포트/ROI는 뷰포트, ROI, 혹은 뷰포트 및 ROI 둘 다로 칭해질 수 있다. 숫자 ID 혹은 스트링(string) 혹은 아이콘/이미지가 상기 뷰포트/ROI와 연관될 수 있다. 상기 뷰포트/ROI의 효율적인 송신을 위한 메타데이터는 한 프레임에서 다음 프레임으로 상기 뷰포트/ROI 좌표에서의 일시적 리던던시(temporal redundancy)를 사용한다. 상기 뷰포트/ROI는 적어도 4개의 파라미터들, 요(yaw), 피치(pitch), 높이(height), 폭(width)((일 예로, 좌측 요, 우측 요, 상단 피치, 하단 피치) 혹은 (중심 요, 중심 피치, 피치 높이, 요 폭))에 의해 정의될 수 있다. 롤(roll) 및 줌(zoom)과 같은 추가적인 파라미터들 역시 사용될 수 있다. 상기 전체 비디오에 대한 뷰포트에서 디스플레이되는 ROI에 대한 고정된 사이즈를 명시하는 플래그가 프레임에서 상기 뷰포트/ROI를 나타내는 파라미터들의 개수를 감소시키기 위해 사용될 수 있다. 상기 뷰포트/ROI 사이즈(일 예로, 폭 및 높이)는 일반적으로 상기 헤드 마운티드 디바이스(head mounted device: HMD)의 디스플레이 혹은 스마트폰, 태블릿, 개인용 컴퓨터, 랩탑 컴퓨터 등과 같은 UE의 스크린에 의해 결정되며, 상기 전체 비디오에 걸쳐 일정하게 유지된다. 상기 HMD 혹은 UE는 상기 뷰포트/ROI가 공유될 때 다른 UE에 대한 송신을 위해 상기 서버로 상기 뷰포트/ROI 사이즈를 제공한다.
상기 HMD의 케이스에서, 상기 머리 위치는 상기 사용자가 신(scene)을 볼 때 몇몇 프레임들에 걸쳐 고정적일 수 있다. 이는 일 예로 상기 현재의 프레임이 상기 이전 프레임 뷰포트/ROI 좌표들을 사용하는지 여부 혹은 상기 현재의 프레임 뷰포트/ROI 좌표들이 상기 비디오에서 앵커(anchor) 프레임들로부터의 인접 뷰포트/ROI 좌표들로부터 보간되는지 여부를 나타내는 플래그를 사용함으로써 뷰포트/ROI 궤적을 송신하기 위해 필요로 되는 데이터의 양을 감소시키기 위해 사용될 수 있다. 대안적인 메카니즘들이 시작 및 정지 시간들 혹은 상기 뷰포트/ROI 좌표들이 변경되지 않는 프레임 번호들을 나타내는 것을 포함할 수 있다. 한 프레임에서 다음 프레임간의 혹은 다른 사용자들의 뷰포인트 궤적들간의 뷰포트/ROI 좌표들의 델타 코딩(delta coding) 역시 사용될 수 있다. 상기 현재의 뷰포트/ROI에 대한 뷰포트/ROI 좌표들을 예측하기 위해 과거의 히스토리를 사용하는 예측기(일 예로, 선형 예측) 역시 상기 델타 뷰포트/ROI 좌표 변경을 계산하기 위해 사용될 수 있다. 전달을 위한 메타데이터의 운반 측면에서, 상기 비디오 기본 스트림에서의 SEI (supplemental enhancement information) 메시지, ISOBMFF (ISO base media file format)에서의 박스(box) 등과 같은 몇몇 기존 혹은 신규 메카니즘들이 사용될 수 있다.
상기 메타데이터를 공유하는 360도 비디오 경험의 예시들이 하기에서 제공된다. 상기 메타데이터는 상기 전체 360° 비디오에 대해 고정적으로 유지되는 고정 메타데이터(static metadata) 및 시간에 따라 변경되는 다이나믹 메타데이터(dynamic metadata)의 조합으로 구성된다. 하기에서의 상기 메타데이터는 뷰포인트 궤적 혹은 뷰포트 측면에서 정의된다. 몇몇 실시 예들에서, 상기 메타데이터는 ROI 측면에서 정의될 수 있다. 또한, 상기 뷰포트/ROI는 (중심 요, 중심 피치, 뷰포트/ROI 높이, 뷰포트/ROI 폭)의 형태로 시그널된다고 가정되지만, 하기에서 설명되는 아이디어들은 상기 뷰포트 혹은 ROI의 다른 표현들에도 적용될 수 있다.
고정 메타데이터에 대해서:
Syntax
unsigned int(32) viewpoint_trajectory_id;
string viewpoint_trajectory_name;
unsigned int(1) is_fixed_viewport_size_flag;
if(is_fixed_viewport_size == 1)
{
unsigned int(9) fixed_viewport_height_pitch;
unsigned int(9) fixed_viewport_width_yaw;
}
상기 고정 메타데이터에 대한 상기와 같은 신택스(syntax) 예시에서, 상기 viewpoint_trajectory_id는 상기 뷰포인트 궤적에 대한 숫자 식별자를 명시한다. 상기 viewpoint_trajectory_name는 상기 뷰포인트 궤적에 대한 스트링 식별자를 명시한다. 1과 동일한 is_fixed_viewport_size는 상기 뷰포트/ROI 사이즈가 상기 전체 비디오에 대해 고정된다는 것을 명시하고, 0과 동일한 is_fixed_viewport_size는 상기 뷰포트/ROI 사이즈가 상기 비디오에서 변경될 수 있다는 것을 명시한다. 상기 fixed_viewport_height_pitch는 고정된 사이즈를 가지는 상기 뷰포트 및/혹은 ROI의 피치 높이이고, 상기 fixed_viewport_width_yaw는 고정된 사이즈를 가지는 상기 뷰포트 및/혹은 ROI의 요 폭이다.
다이나믹 메타데이터에 대해서:
Syntax
unsigned int(2) interpolate_viewport_idc;
if(interpolate_viewport_idc == 0)
{
unsigned int(9) viewport_center_pitch;
unsigned int(9) viewport_center_yaw;
if(is_fixed_viewport_size == 0)
{
unsigned int(9) viewport_height_pitch;
unsigned int(9) viewport_width_yaw;
}
}
상기 다이나믹 메타데이터에 대한 신택스 예시에서, 0과 동일한 interpolate_viewport_idc는 상기 현재의 프레임에 대한 뷰포트/ROI 정보가 송신된다는 것을 명시하고, 1과 동일한 interpolate_viewport_idc는 상기 현재의 프레임에 대한 뷰포트/ROI 정보가 상기 이전 프레임으로부터 복사된다는 것을 명시하고, 2와 동일한 interpolate_viewport_idc는 상기 현재의 프레임에 대한 뷰포트/ROI 정보가 0과 동일한 동일한 interpolate_viewport_idc를 가지는 상기 이전 및 다음 프레임들로부터의 뷰포트/ROI 정보로부터 선형적으로 보간된다는 것을 명시한다. 상기 viewport_center_pitch는 상기 뷰포트 및/혹은 ROI의 중심에 상응하는 피치이고, 상기 viewport_center_yaw는 상기 뷰포트 및/혹은 ROI의 중심에 상응하는 요이다. 상기 viewport_height_pitch는 상기 뷰포트 및/혹은 ROI의 피치 높이이고, 상기 viewport_width_yaw는 상기 뷰포트 및/혹은 ROI의 요 폭이다.
도 4는 본 개시의 다양한 실시 예들과 사용될 수 있는 헤드 마운티드 디스플레이(head mounted display: HMD)의 일 예를 도시하고 있다. 도 4에 도시되어 있는 바와 같이, HMD(415)는 본 개시의 일 실시 예에 따른 UE(417) 및 UE(419)를 포함할 수 있다. HMD(415)는 본 개시의 실시 예들과 사용될 수 있는 UE(300)의 일 예를 도시한다.
상기 UE(417)는 디스플레이에 저장되어 있는 혹은 서버, 일 예로, 도 1의 서버(104)로부터 수신된 360° 비디오를 디스플레이하는 상기 디스플레이를 포함할 수 있다.
상기 UE(417)는 가상 현실 어플리케이션을 포함할 수 있다. 일 예로, 상기 UE(417)는 상기 UE(300)가 될 수 있으며, 센서들(370) 및 내적으로 혹은 외적으로 대면하는 카메라들(380)과 같은 상기 UE(300)의 모든 특징들을 포함할 수 있다. 상기 가상 현실 어플리케이션은 상기 사용자에게 실제 현실과 유사한 디스플레이를 제공할 수 있는 어플리케이션이 될 수 있다. 일 실시 예에 따르면, 상기 가상 현실 어플리케이션은 스테레오 방식을 기반으로 상기 사용자의 양안의 각각에 상응하는 좌안 이미지 및 우안 이미지를 디스플레이할 수 있다.
일 실시 예에 따른 상기 UE(419)는 상기 사용자의 머리에 착용되도록 제공되는 하우징(450)과, 상기 하우징에 고정되고 상기 사용자의 양안의 위치들에 상응하는 영역에서 제공되는 블랙아웃(blackout) 파트(430)와, 상기 하우징(450)의 한 영역에서 제공되는 적어도 하나의 입력 버튼(421)을 포함할 수 있다. 상기 입력 버튼(421)은 사용자가 공유하기를 원하는 적어도 하나의 뷰포트/ROI의 궤적을 추정(혹은 추적 혹은 캡쳐 혹은 저장)하기 위해 사용될 수 있다. 상기 UE(402)는 스와이프(swipe), 탭(tap), 혹은 사용자에 의해 수행되는 다른 입력과 같은 상기 사용자로부터의 입력을 수신할 수 있는 입력 패드(425)를 포함할 수 있다.
동작 시, 사용자가 입력 버튼(421)을 활성화시키거나 혹은 동작시킬 때, 센서들(370)은 상기 뷰포트/ROI의 중심 피치 및 중심 요를 결정한다. 상기 HMD(415)는 그리고 나서 상기 중심 피치, 중심 요, 뷰포트/ROI 사이즈를 도 1의 서버(104)와 같은 서버로 제공한다. 상기 서버는 그리고 나서 상기 중심 피치, 중심 요, 뷰포트/ROI 사이즈를 상기 특정 뷰포트/ROI를 공유하고 있는 중인 사용자를 식별하는 사용자 ID와 함께 상기 비디오에서 연관되는 프레임 혹은 일련의 프레임들의 메타데이터에 추가한다.
다른 실시 예들에서, 상기 HMD(415)는 상기 사용자가 상기 360° 비디오를 시청할 때 각 프레임에 대한 상기 중심 피치 및 중심 요를 저장할 수 있고, 그와 함께 상응하는 프레임 ID 및 사용자 ID를 상기 메모리(360)에 저장할 수 있다. 상기 입력 버튼(421)의 활성화 시, 상기 HMD(415)는 다른 사용자들과 함께 상기 사용자의 뷰포트/ROI를 공유하기 위해 서버로 상기 저장되어 있는 중심 피치, 중심 요, 프레임 ID 및 사용자 ID를 송신한다.
다른 실시 예들에서, 상기 사용자는 터치 스크린 입력 혹은 다른 메카니즘들로 상기 뷰포트/ROI (중심 피치, 중심 사이즈, ROI 사이즈)를 선택할 수 있다.
다른 실시 예들에서, 상기 HMD(415)는 상기 사용자가 상기 360° 비디오를 시청하는 동안 적어도 하나의 뷰포트의 궤적의 각 뷰포트의 중심 피치 및 중심 요를 추정할 수 있다. 상기 입력 버튼(421)의 활성화 시, 상기 HMD(415)는 상기 상응하는 프레임 ID 및 사용자 ID와 함께 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트의 중심 피치 및 중심 요를 저장할 수 있다. 상기 HMD(415)는 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트의 중심 피치, 중심 요 및 상기 상응하는 프레임 ID 및 사용자 ID를 포함하는 적어도 하나의 메타데이터를 생성할 수 있다. 상기 HMD(415)는 다른 사용자들과 상기 사용자의 궤적을 공유하기 위해 서버로 상기 적어도 하나의 메타데이터를 송신할 수 있다.
다른 실시 예들에서, 상기 HMD(415)는 상기 사용자가 상기 360° 비디오를 시청하는 동안 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 추정할 수 있다. 상기 입력 버튼(421)의 활성화 시, 상기 HMD(415)는 상기 상응하는 프레임 ID 및 사용자 ID와 함께 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 저장할 수 있다. 상기 HMD(415)는 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치, 중심 요 및 상기 상응하는 프레임 ID 및 사용자 ID를 포함하는 적어도 하나의 메타데이터를 생성할 수 있다. 상기 입력 버튼(421)이 다시 활성화될 경우, 상기 HMD(415)는 다른 사용자들과 상기 사용자의 궤적을 공유하기 위해 서버로 상기 적어도 하나의 메타데이터를 업로드(upload)할 수 있다.
다른 실시 예들에서, 상기 HMD(415)는 상기 사용자가 상기 360° 비디오를 시청하는 동안 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 추정할 수 있고, 상기 HMD(415)에 저장할 수 있다. 상기 입력 버튼(421)의 활성화 시, 상기 HMD(415)는 상기 상응하는 프레임 ID 및 사용자 ID와 함께 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 서버로 업로드할 수 있다. 상기 서버는 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치, 중심 요 및 상기 상응하는 프레임 ID 및 사용자 ID를 포함하는 적어도 하나의 메타데이터를 생성할 수 있다. 상기 서버는 다른 사용자들로 상기 360° 비디오와 함께 상기 적어도 하나의 메타데이터를 스트림(stream)할 수 있다.
다른 실시 예들에서, 상기 HMD(415)는 상기 사용자가 상기 360° 비디오를 시청하는 동안 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 추정할 수 있다. 상기 입력 버튼(421)의 활성화 시, 상기 HMD(415)는 상기 상응하는 프레임 ID 및 사용자 ID와 함께 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 상기 HMD(415)에 저장할 수 있다. 상기 HMD(415)는 상기 상응하는 프레임 ID 및 사용자 ID와 함께, 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치, 중심 요를 서버에 업로드할 수 있다. 상기 서버는 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치, 중심 요 및 상기 상응하는 프레임 ID 및 사용자 ID를 포함하는 적어도 하나의 메타데이터를 생성할 수 있다. 상기 서버는 다른 사용자들로 상기 360° 비디오와 함께 상기 적어도 하나의 메타데이터를 스트림할 수 있다.
다른 실시 예들에서, 상기 HMD(415)는 상기 사용자가 상기 360° 비디오를 시청하는 동안 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 추정할 수 있다. 상기 입력 버튼(421)의 활성화 시, 상기 HMD(415)는 상기 상응하는 프레임 ID 및 사용자 ID와 함께 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 상기 HMD(415)에 저장할 수 있다. 상기 입력 버튼(421)이 다시 활성화될 경우, 상기 HMD(415)는 서버로 상기 상응하는 프레임 ID 및 사용자 ID와 함께 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치 및 중심 요를 업로드할 수 있다. 상기 서버는 상기 적어도 하나의 뷰포트의 궤적의 각 뷰포트에 대한 중심 피치, 중심 요 및 상기 상응하는 프레임 ID 및 사용자 ID를 포함하는 적어도 하나의 메타데이터를 생성할 수 있다. 상기 서버는 다른 사용자들로 상기 360° 비디오와 함께 상기 적어도 하나의 메타데이터를 스트림할 수 있다.
상기 블랙아웃 파트(430)는 사용자의 양안과 상기 UE(417)간의 공간으로 외부의 빛이 입력되는 것에 대한 차단을 제공한다. 따라서, 상기 사용자는 상기 사용자의 양안을 상기 블랙아웃 파트(430)에 밀착되도록 위치하게 할 수 있고, 따라서 상기 사용자는 외부 빛으로부터의 어떤 간섭도 없이 상기 UE(401)로부터 제공되는 가상 현실 어플리케이션으로 상기 이미지를 볼 수 있다.
상기 UE(417)는 상기 UE(419)에 연결될 수 있다. 상기 UE(417)는 유선을 통해 혹은 무선으로 상기 UE(419)에 연결될 수 있다. 일 예로, 상기 UE(401)는 USB 연결을 기반으로 상기 UE(419)에 연결될 수 있다. 상기와 같은 설명은 일 예일 뿐이며, 해당 기술 분야의 통상의 기술자들에게 상기 UE들(417, 419)간의 데이터 송/수신은 상기 연결을 통해 가능할 경우 상기 연결에는 제한이 없다는 것이 쉽게 이해될 수 있다. 다른 실시 예에 따르면, 상기 UE(417)는 유선 혹은 무선 연결의 사용 없이도 상기 UE(419)에 직접 연결될 수 있다. 다른 실시 예에 따르면, 상기 UE(417) 및 UE(419)는 통합될 수 있다.
도 5는 본 개시에 따른 그래픽 사용자 인터페이스(graphical user interface: GUI)(500)의 예시를 도시하고 있다. 도 5에 도시되어 있는 바와 같이, 상기 GUI(500)는 사용자에 의해 선택될 수 있는 360° 비디오의 뷰포트/ROI(502) 혹은 상기 360° 비디오에 대한 디폴트 뷰포트/ROI를 디스플레이한다. 상기 GUI(500)는 전화기, 태블릿, 랩탑 컴퓨터, 데스크탑 컴퓨터 등이 될 수 있는 UE(300)와 같은 UE 상에 디스플레이될 수 있다. 상기 GUI(500)는 또한 상기 뷰포트/ROI(502)를 결정하기 위해 사용자에 의해 선택될 수 있는 오브젝트(object)(504)를 포함한다. 오브젝트(504)는 링크, 아이콘, 혹은 상기 GUI(500) 상의 명시된 영역이 될 수 있다. 상기 오브젝트(504)가 선택될 때, 상기 UE(300)는 오브젝트(504)를 포함하는 상기 뷰포트/ROI(502)의 중심 피치, 중심 요, 뷰포트/ROI 사이즈를 결정하고, 상기 선택된 오브젝트(504)의 ID와 함께 도 1의 서버(104)와 같은 서버로 상기 중심 피치, 중심 요, 뷰포트/ROI 사이즈를 제공하거나, 혹은 상기 서버로 상기 중심 피치, 중심 요, 뷰포트/ROI 사이즈 및 상기 사용자의 ID를 포함하는 메타데이터를 제공한다. 상기 오브젝트(504)는 마우스를 사용하여, 터치패드 타입 디바이스에서의 터치로, 사용자와 대면하고 있는 카메라(380)과 같은 카메라를 사용하여 사용자의 시선을 추적함으로써 선택될 수 있다.
도 6은 본 개시에 따른 GUI(600) 예시를 도시하고 있다. GUI(600)에서, 사용자는 360° 비디오의 특정 뷰포트/ROI(602)를 볼 수 있다. 상기 사용자는 또한 오브젝트들(604)을 사용하여 다른 사용자에 상응하는 뷰포트/ROI를 선택할 수 있다. 상기 다른 사용자에 상응하는 뷰포트/ROI는 미리 결정되어 있을 수 있고, 서버(104)에 저장되어 있을 수 있거나, 혹은 상기 다른 사용자에 상응하는 뷰포트/ROI들은 다른 사용자가 동일한 360° 비디오를 보는 동안에 동시에 획득될 수 있다.
도 7은 본 개시에 따른 뷰포트/ROI를 공유하는 예시 동작을 도시하고 있다. 도 7에 도시되어 있는 바와 같이, 제1 HMD(702)는 360° 비디오(700)에 뷰포트/ROI(704)를 디스플레이 할 수 있고, 이에 반해 제2 HMD(706)는 뷰포트/ROI(708)를 디스플레이할 수 있다. 상기 HMD(706)의 사용자는 HMD(702)의 사용자와 함께 뷰포트/ROI(708)를 공유하기를 원할 수 있다. 상기 HMD(706)의 사용자는 음성 명령(command)을 송출(issue)하거나 혹은 도 4의 입력 버튼(421)과 같은 입력 버튼을 활성화시킴으로써 뷰포트/ROI(708)를 공유할 수 있다. 그리고 나서, HMD(706)는 HMD(702)로 메타데이터인 상기 뷰포트/ROI(708)의 중심 피치, 중심 요, 및 뷰포트/ROI 사이즈를 송신하고, HMD(702)는 그리고 나서 뷰포트/ROI(704) 대신 뷰포트/ROI(708)을 디스플레이한다. 몇몇 실시 예들에서, 상기 HMD(706)의 뷰포트/ROI 사이즈는 상기 HMD(702)의 뷰포트/ROI 사이즈와 다를 수 있다. 그리고 나서 상기 HMD(706)는 HMD(702)가 상기 HMD(706)의 뷰포트/ROI와 정확하게 동일하게 보이도록 상기 HMD(706)의 ROI의 사이즈를 조정할 수 있도록 하기 위해 선택적으로 상기 HMD(706)의 뷰포트/ROI 사이즈를 HMD(702)로 송신할 수 있다.
도 8은 본 개시에 따른 뷰포트/ROI를 공유하는 예시 동작을 도시하고 있다. 상기 가상 현실 경험의 일부로서, 사용자는 상기 360° 비디오에서 특정 뷰포트/ROI 상에 구두 해설(verbal commentary)을 제공할 수 있다. 상기 사용자는 또한 상기 뷰포트/ROI에 주석을 달기 위해 텍스트, 그래픽들, 아이콘들, 이모지들 등을 추가할 수 있다. 상기와 같은 주석들은 상기 뷰포트/ROI 메타데이터 및/혹은 상기 360° 비디오와 함께 저장될 수 있다. 그 다음 뷰어(viewer)는 그리고 나서 관련 주석된 메타데이터와 함께 뷰포트/ROI 궤적으로 구성되는 조합된 공유 VR 경험을 획득할 수 있다. 일 예로, 도 8에 도시되어 있는 바와 같이, HMD(802)의 사용자는 구두 해설로 뷰포트/ROI (804)에 주석을 달 수 있으며, 이에 반해 HMD(806)의 사용자는 이모지(810)로 뷰포트/ROI(808)에 주석을 달 수 있다.
도 9는 본 개시에 따른 뷰포트/ROI를 공유하는 예시 동작을 도시하고 있다. 몇몇 실시 예들에서, 상기 뷰포트/ROI 정보(즉, 중심 피치 및 중심 요, 뷰포트/ROI 사이즈)는 많은 사용자 입력 없이도 생성될 수 있다. 일 예로, 도 9에 도시되어 있는 바와 같이, 스포츠 이벤트와 같은 이벤트를 시청할 때, 사용자는 특정 플레이어(player)(902)를 선택할 수 있다. 상기 사용자는 그리고 나서 상기 360° 비디오에서 상기 플레이어를 클릭할 수 있다. 인물 검출과 같은 컴퓨터 비전 기술(computer vision technique)들을 사용하여 뷰포트/ROI는 상기 포커스의 중심이 되도록 상기 플레이어와 함께 자동적으로 생성될 수 있다. 뷰포트/ROI의 이런 자동 생성은 게임에서 모든 플레이어들에 대해 서버에서 오프-라인(off-line)으로 발생할 수 있으며 그리고 나서 웹-사이트(web-site)에서 클릭에 대해 제공될 수 있다. 이는 또한 상기 뷰어가 360° 비디오에서 그의 선호하는 플레이어를 클릭할 때 실시간으로 상기 HDM 뷰어에서 수행될 수 있다.
도 10은 본 개시에 따른 뷰포인트를 공유하는 방법(1000)을 도시하고 있다. 도 10에 도시되어 있지 않지만, 사용자는 원하는 뷰포트/ROI로 상기 360° 비디오를 조정할 수 있다. 상기 UE가 HMD(415)와 같은 HMD일 때, 상기 사용자는 상기 뷰포트/ROI 위치를 조정하기 위해 상기 사용자의 머리를 움직일 필요가 있다. 전화기 혹은 태블릿과 같은 UE를 사용할 때, 상기 UE 는 상기 뷰포트/ROI를 조정하기 위해 상기 이동 디바이스의 방향을 이동시킬 수 있거나, 혹은 상기 뷰포트/ROI를 조정하기 위해 상기 스크린 상에서의 터치 입력과 같은 입력을 적용할 수 있다. 랩탑 혹은 테스크탑 컴퓨터를 사용할 때, 상기 사용자는 상기 뷰포트/ROI를 조정하기 위해 마우스를 사용할 수 있거나, 혹은 상기 뷰포트/ROI를 조정하기 위해 터치 입력을 사용할 수 있다.
동작 1002에서, 상기 UE는 상기 360° 비디오를 렌더링한다. 사용자는 상기 현재의 뷰포트/ROI를 공유하기를 원할 수 있다. HMD를 사용할 때, 상기 사용자는 활성화될 때 입력 버튼(일 예로, 도 4의 입력 버튼(421))을 가질 수 있고, 상기 HMD는 메모리에 상기 현재의 뷰포트의 중심 피치 및 중심 요를 저장할 수 있다. 다른 실시 예들에서, 상기 360° 비디오를 보여주는 GUI는 동작될 때 오브젝트를 포함할 수 있으며, 메모리에 상기 현재의 뷰포트의 중심 피치 및 중심 요를 저장한다. 상기 오브젝트는 터치 입력, 마우스 클릭, 혹은 사용자의 시선을 추적함으로써 동작될 수 있다. 동작 1004에서, 상기 HMD는 상기 현재의 뷰포트의 중심 피치 및 중심 요를 포함하는 메타데이터를 생성할 수 있다. 상기 메타데이터는 또한 서버가 상기 상응하는 360° 비디오에서 상기 상응하는 프레임을 상기 메타데이터에 연관시킬 수 있도록 상기 뷰포트/ROI와 프레임 ID를 공유하는 제1 사용자를 식별하는 사용자 ID를 포함한다.
동작 1006에서, 상기 HMD는 도 1의 서버(104)와 같은 서버로 상기 메타데이터를 송신할 수 있다. 상기 서버는 임의의 다른 사용자가 제1 사용자의 공유된 뷰포트/ROI를 검색할 수 있도록 상기 제1 사용자의 사용자 ID에 따라 상기 상응하는 360° 비디오에 상기 상응하는 뷰포트에 대한 중심 피치 및 중심 요를 포함하는 메타데이터를 저장할 수 있다.
도 10의 방법이 단일 프레임에 관해 설명되고 있다고 할지라도, 상기 UE는 상기 360° 비디오에서 하나 혹은 그 이상의 프레임들에 대한 중심 피치 및 중심 요를 캡쳐할 수 있고, 상기 서버(104)로 각 프레임에 대한 상기 중심 피치 및 중심 요를 송신한다.
몇몇 실시 예들에서, 상기 사용자가 상기 비디오의 일부만을 시청할 때, 상기 뷰포트/ROI는 부분적으로만 유용하다. 본 개시에서의 방법들은 오직 부분적인 궤적들만을 지원하도록 채택될 수 있다. 또한, 상기 뷰포트/ROI는 (중심 요, 중심 피치, 뷰포트/ROI 높이, 뷰포트/ROI 폭)의 형태로 시그널된다고 가정되지만, 하기에서 설명되는 아이디어들은 상기 뷰포트/ROI의 다른 표현들에도 적용될 수 있다. 타이밍 정보가 없는 완전한 뷰포트/ROI가 상기 비디오 파일의 시작에서 시그널될 수 있다. 그리고 나서, 매 프레임에 대해, 상기 뷰포트/ROI에서 뷰포트/ROI 번호로 포인트할 인덱스 번호가 시그널될 수 있다.
상기 뷰포트/ROI는 상기 뷰포트/ROI 윈도의 디멘젼(dimension), 일 예로 360° 비디오를 사용하는 VR 경험에 대해 충분한 (뷰포트/ROI 중심 피치, 뷰포트/ROI 중심 요, 뷰포트/ROI 폭, 및 뷰포트/ROI 높이)의 측면에서 정의된다. 6 자유도 (degrees of freedom: DoF) VR에 대해서, 상기 뷰포트/ROI는 상기 가상 세계에서 뷰어(viewr)의 (x, y, z) 좌표와 같은 추가적인 메타데이터를 포함할 것이다. 상기 뷰어의 (x, y, z) 좌표는 기준 프레임인 상기 가상 세계의 데카르트 좌표(Cartesian coordinate)들을 사용하여 상기 가상 세계에서 뷰어의 위치를 나타낸다. 본 개시에서 제시되는 아이디어들은 6DoF VR에 동일하게 적용 가능하다.
이 출원의 상세한 설명 중 어느 것도 어떤 특정한 엘리먼트, 과정, 혹은 기능이 청구항들 범위에 포함되어야만 하는 필수적인 엘리먼트라고 의미하는 것으로 읽혀져서는 안될 것이다. 특허되는 주제의 범위는 오직 청구항들에 의해서만 정의된다. 또한, 정확한 단어들 "~를 위한 수단(means for)" 다음에 분사가 기재되지 않는 한 청구항들 중 어느 하나에라도 35 U.S.C. § 112(f)가 적용되는 의도를 가지지 않는다. 출원인들에 의한 "메카니즘", "모듈", "디바이스", "유닛", "컴포넌트", "엘리먼트", "멤버(member)", "장치", "기계", "시스템", "프로세서", 혹은 "제어기"를 포함하는, 그렇다고 이에 한정되지는 않는, 청구항 내의 임의의 다른 용어의 사용은 해당 기술 분야의 통상의 기술자들에게 공지된 구조들을 나타내는 것이 이해되며, 35 U.S.C. § 112(f)를 적용하는 의도를 가지지는 않는다.
본 개시가 예시적인 실시 예를 참조하여 설명되었다고 할지라도, 다양한 변경들 및 수정들이 해당 기술 분야의 통상의 기술자에게 제안될 수 있다. 본 개시는 첨부되는 청구항들의 범위 내에 존재하는 변경들 및 수정들을 포함하는 의도를 가진다.

Claims (15)

  1. 사용자 장치(user equipment: UE)에 있어서,
    가상 현실 비디오를 렌더링하도록(render) 구성되는 디스플레이;
    상기 UE의 적어도 하나의 뷰포트(viewport)의 궤적(trajectory)에 관련되는 정보를 포함하는 메타데이터(metadata)를 생성하도록 구성되는 프로세서; 및
    상기 적어도 하나의 뷰포트의 궤적을 공유하기 위해 상기 메타데이터를 송신하도록 구성되는 통신 유닛을 포함하는 UE.
  2. 제1항에 있어서,
    상기 메타데이터는 현재의 프레임이 이전 프레임의 뷰포트 좌표들을 사용하는지 여부 혹은 상기 현재의 프레임이 인접 프레임들의 뷰포트 좌표들로부터 보간되는 뷰포트 좌표들을 사용하는지 여부를 나타내는 플래그(flag)를 포함하는 UE.
  3. 제1항에 있어서,
    상기 메타데이터는 상기 적어도 하나의 뷰포트 중 하나의 요(yaw), 피치(pitch), 및 사이즈(size)를 포함하는 UE.
  4. 제1항에 있어서,
    상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적에 상응하는 적어도 하나의 프레임을 식별하는 적어도 하나의 프레임 식별 정보와 상기 UE의 사용자를 식별하는 사용자 식별 정보를 포함하는 UE.
  5. 제1항에 있어서,
    상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적을 식별하는 뷰포트 궤적 식별 정보를 포함하는 UE.
  6. 제1항에 있어서,
    상기 메타데이터는 상기 적어도 하나의 뷰포트의 사이즈들이 일정한지 여부를 나타내는 플래그를 포함하는 UE.
  7. 제1항에 있어서,
    상기 적어도 하나의 뷰포트의 궤적의 정보를 저장하기 위한 사용자의 요청의 입력을 식별하거나 혹은 상기 메타데이터를 서버로 업로드하도록 구성되는 사용자 인터페이스를 더 포함하는 UE.
  8. 제1항에 있어서,
    상기 메타데이터는 서버로 업로드되고, 상기 메타데이터는 다른 UE에 의해 다운로드 가능함을 특징으로 하는 UE.
  9. 제1항에 있어서,
    상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적에 부가되는 텍스트, 그래픽, 아이콘, 이모지(emoji) 및 음성 기록 중 적어도 하나에 관련되는 정보를 더 포함하는 UE.
  10. 제1항에 있어서,
    다른 사용자가 상기 적어도 하나의 뷰포트의 궤적의 스트리밍의 요청을 입력할 때, 서버는 상기 메타데이터에 따라 상기 가상 현실 비디오를 스트리밍하기 시작하는 UE.
  11. 사용자의 가상 현실 경험을 공유하는 방법에 있어서,
    가상 현실 비디오를 렌더링하는(rendering) 과정;
    사용자 장치(user equipment: UE)의 적어도 하나의 뷰포트(viewport)의 궤적(trajectory)에 관련되는 정보를 포함하는 메타데이터(metadata)를 생성하는 과정; 및
    상기 적어도 하나의 뷰포트의 궤적을 공유하기 위해 상기 메타데이터를 송신하는 과정을 포함하는 사용자의 가상 현실 경험을 공유하는 방법.
  12. 제11항에 있어서,
    상기 메타데이터는 현재의 프레임이 이전 프레임의 뷰포트 좌표들을 사용하는지 여부 혹은 상기 현재의 프레임이 인접 프레임들의 뷰포트 좌표들로부터 보간되는 뷰포트 좌표들을 사용하는지 여부를 나타내는 플래그(flag)를 포함하는 사용자의 가상 현실 경험을 공유하는 방법.
  13. 제11항에 있어서,
    상기 메타데이터는 상기 적어도 하나의 뷰포트 중 하나의 요(yaw), 피치(pitch), 및 사이즈(size)를 포함하는 사용자의 가상 현실 경험을 공유하는 방법.
  14. 제11항에 있어서,
    상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적에 상응하는 적어도 하나의 프레임을 식별하는 적어도 하나의 프레임 식별 정보와 상기 UE의 사용자를 식별하는 사용자 식별 정보를 포함하는 사용자의 가상 현실 경험을 공유하는 방법.
  15. 제11항에 있어서,
    상기 메타데이터는 상기 적어도 하나의 뷰포트의 궤적을 식별하는 뷰포트 궤적 식별 정보를 포함하는 사용자의 가상 현실 경험을 공유하는 방법.
KR1020197017148A 2017-01-05 2018-01-05 가상 현실 경험 공유 KR102234928B1 (ko)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201762442718P 2017-01-05 2017-01-05
US62/442,718 2017-01-05
US201762444840P 2017-01-11 2017-01-11
US62/444,840 2017-01-11
US201762465883P 2017-03-02 2017-03-02
US62/465,883 2017-03-02
US15/801,174 US10769797B2 (en) 2017-01-05 2017-11-01 Virtual reality experience sharing
US15/801,174 2017-11-01
PCT/KR2018/000279 WO2018128472A1 (en) 2017-01-05 2018-01-05 Virtual reality experience sharing

Publications (2)

Publication Number Publication Date
KR20190071839A true KR20190071839A (ko) 2019-06-24
KR102234928B1 KR102234928B1 (ko) 2021-04-05

Family

ID=62712003

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197017148A KR102234928B1 (ko) 2017-01-05 2018-01-05 가상 현실 경험 공유

Country Status (5)

Country Link
US (1) US10769797B2 (ko)
EP (2) EP3533025B1 (ko)
KR (1) KR102234928B1 (ko)
CN (1) CN110050290A (ko)
WO (1) WO2018128472A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017036953A1 (en) * 2015-09-02 2017-03-09 Thomson Licensing Method, apparatus and system for facilitating navigation in an extended scene
US10979721B2 (en) * 2016-11-17 2021-04-13 Dolby Laboratories Licensing Corporation Predicting and verifying regions of interest selections
US10769797B2 (en) * 2017-01-05 2020-09-08 Samsung Electronics Co., Ltd. Virtual reality experience sharing
JP6304847B1 (ja) * 2017-04-28 2018-04-04 株式会社コナミデジタルエンタテインメント サーバ装置、及びそれに用いられるコンピュータプログラム
US10827159B2 (en) * 2017-08-23 2020-11-03 Mediatek Inc. Method and apparatus of signalling syntax for immersive video coding
CN109996055B (zh) * 2017-12-06 2022-08-12 杜比实验室特许公司 位置零时延
WO2019120575A1 (en) * 2017-12-22 2019-06-27 Huawei Technologies Co., Ltd. Vr 360 video for remote end users
EP3736666B1 (en) * 2018-01-04 2024-06-05 Sony Group Corporation Information processing device, information processing method and program
KR102543228B1 (ko) * 2018-10-18 2023-06-13 삼성전자주식회사 포터블 장치 및 그 제어방법
EP3712751A1 (en) * 2019-03-19 2020-09-23 Nokia Technologies Oy Method and apparatus for incorporating location awareness in media content
US11025981B2 (en) * 2019-07-17 2021-06-01 At&T Intellectual Property I, L.P. Facilitating panoramic video streaming with brain-computer interactions
US10834381B1 (en) * 2019-07-25 2020-11-10 International Business Machines Corporation Video file modification
CN112423108B (zh) * 2019-08-20 2023-06-30 中兴通讯股份有限公司 码流的处理方法、装置、第一终端、第二终端及存储介质
US20210349308A1 (en) * 2020-05-05 2021-11-11 Szu Wen FAN System and method for video processing using a virtual reality device
US11924393B2 (en) * 2021-01-22 2024-03-05 Valeo Comfort And Driving Assistance Shared viewing of video among multiple users
GB2620584A (en) * 2022-07-11 2024-01-17 Canon Kk Method, Device, and computer program for extrapolation regions in region tracks
JP7500664B2 (ja) 2022-07-27 2024-06-17 レノボ・シンガポール・プライベート・リミテッド 教育支援システム、教育支援方法、及び教育支援プログラム
US11983822B2 (en) 2022-09-02 2024-05-14 Valeo Comfort And Driving Assistance Shared viewing of video with prevention of cyclical following among users

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120092348A1 (en) * 2010-10-14 2012-04-19 Immersive Media Company Semi-automatic navigation with an immersive image
WO2016002445A1 (ja) * 2014-07-03 2016-01-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002008948A2 (en) * 2000-07-24 2002-01-31 Vivcom, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
JP2005050081A (ja) 2003-07-28 2005-02-24 Matsushita Electric Ind Co Ltd 3次元仮想空間情報を共有する通信装置
US20080155615A1 (en) * 2006-12-22 2008-06-26 Guideworks, Llc Systems and methods for supporting multi-user media content access using index points
US20100088726A1 (en) * 2008-10-08 2010-04-08 Concert Technology Corporation Automatic one-click bookmarks and bookmark headings for user-generated videos
JP4816789B2 (ja) * 2009-11-16 2011-11-16 ソニー株式会社 情報処理装置、情報処理方法、プログラムおよび情報処理システム
KR20120010041A (ko) 2010-07-23 2012-02-02 세종대학교산학협력단 이동 단말 환경에서 증강 현실 콘텐츠를 저작하는 방법 및 시스템
JP5669185B2 (ja) 2010-11-10 2015-02-12 Necカシオモバイルコミュニケーションズ株式会社 仮想空間共有システム、携帯端末、及び仮想空間共有方法
US9007432B2 (en) * 2010-12-16 2015-04-14 The Massachusetts Institute Of Technology Imaging systems and methods for immersive surveillance
US8953022B2 (en) * 2011-01-10 2015-02-10 Aria Glassworks, Inc. System and method for sharing virtual and augmented reality scenes between users and viewers
US9691181B2 (en) * 2014-02-24 2017-06-27 Sony Interactive Entertainment Inc. Methods and systems for social sharing head mounted display (HMD) content with a second screen
US9363569B1 (en) * 2014-07-28 2016-06-07 Jaunt Inc. Virtual reality system including social graph
US9997199B2 (en) * 2014-12-05 2018-06-12 Warner Bros. Entertainment Inc. Immersive virtual reality production and playback for storytelling content
US10423234B2 (en) * 2015-03-27 2019-09-24 Lucasfilm Entertainment Company Ltd. Facilitate user manipulation of a virtual reality environment
US9877016B2 (en) 2015-05-27 2018-01-23 Google Llc Omnistereo capture and render of panoramic virtual reality content
US11245939B2 (en) 2015-06-26 2022-02-08 Samsung Electronics Co., Ltd. Generating and transmitting metadata for virtual reality
US11095869B2 (en) * 2015-09-22 2021-08-17 Fyusion, Inc. System and method for generating combined embedded multi-view interactive digital media representations
CN106385587B (zh) * 2016-09-14 2019-08-02 三星电子(中国)研发中心 分享虚拟现实视角的方法、装置及***
US10754529B2 (en) * 2016-10-28 2020-08-25 Adobe Inc. Facilitating editing of virtual-reality content using a virtual-reality headset
US10769797B2 (en) * 2017-01-05 2020-09-08 Samsung Electronics Co., Ltd. Virtual reality experience sharing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120092348A1 (en) * 2010-10-14 2012-04-19 Immersive Media Company Semi-automatic navigation with an immersive image
WO2016002445A1 (ja) * 2014-07-03 2016-01-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
EP3533025A4 (en) 2019-10-16
US20180189958A1 (en) 2018-07-05
EP3533025B1 (en) 2022-08-17
US10769797B2 (en) 2020-09-08
EP4083900B1 (en) 2023-11-01
KR102234928B1 (ko) 2021-04-05
WO2018128472A1 (en) 2018-07-12
EP3533025A1 (en) 2019-09-04
EP4083900A1 (en) 2022-11-02
CN110050290A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
KR102234928B1 (ko) 가상 현실 경험 공유
US11803055B2 (en) Sedentary virtual reality method and systems
CN110800293B (zh) 用于提供多个虚拟现实视图的***
CN109845275B (zh) 用于视场虚拟现实流传输的会话控制支持的方法和装置
US10168981B2 (en) Method for sharing images and electronic device performing thereof
US20120249587A1 (en) Keyboard avatar for heads up display (hud)
US10521013B2 (en) High-speed staggered binocular eye tracking systems
US9535250B2 (en) Head mounted display device and method for controlling the same
US11310560B2 (en) Bitstream merger and extractor
US10067656B2 (en) Method and apparatus for context based application grouping in virtual reality
US20220172440A1 (en) Extended field of view generation for split-rendering for virtual reality streaming
CN106325378B (zh) 用于虚拟现实中的基于上下文的应用分组的方法和装置
US20180160133A1 (en) Realtime recording of gestures and/or voice to modify animations
AU2022386387A1 (en) Systems, methods, and media for controlling shared extended reality presentations
TW202345607A (zh) 基於串流的物件辨識之系統及方法

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