KR102239960B1 - 콘텐츠 전송 방법 및 이를 수행하는 장치들 - Google Patents

콘텐츠 전송 방법 및 이를 수행하는 장치들 Download PDF

Info

Publication number
KR102239960B1
KR102239960B1 KR1020190139311A KR20190139311A KR102239960B1 KR 102239960 B1 KR102239960 B1 KR 102239960B1 KR 1020190139311 A KR1020190139311 A KR 1020190139311A KR 20190139311 A KR20190139311 A KR 20190139311A KR 102239960 B1 KR102239960 B1 KR 102239960B1
Authority
KR
South Korea
Prior art keywords
user
communication
content
communication link
processor
Prior art date
Application number
KR1020190139311A
Other languages
English (en)
Inventor
윤지훈
김상현
Original Assignee
서울과학기술대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울과학기술대학교 산학협력단 filed Critical 서울과학기술대학교 산학협력단
Priority to KR1020190139311A priority Critical patent/KR102239960B1/ko
Application granted granted Critical
Publication of KR102239960B1 publication Critical patent/KR102239960B1/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/161Encoding, multiplexing or demultiplexing different image signal components
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/194Transmission of image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

콘텐츠 전송 방법 및 이를 수행하는 장치들이 개시된다. 일 실시예에 따른 콘텐츠 전송 방법은 사용자의 제1 동작에 기초하여 복수의 통신 링크들 중에서 어느 하나의 통신 링크를 선택하는 단계와, 상기 어느 하나의 통신 링크 및 사용자의 제2 동작에 기초하여 전송할 콘텐츠의 압축률(encoding rate)을 결정하는 단계와, 상기 압축률에 따라 압축된 콘텐츠를 전송하는 단계를 포함한다.

Description

콘텐츠 전송 방법 및 이를 수행하는 장치들{METHOD OF TRANSFERRING A CONTENTS AND APPARATUSES PERFORMING THE SAME}
아래 실시예들은 콘텐츠 전송 방법 및 이를 수행하는 장치들에 관한 것이다.
가상 현실(virtual reality; VR) 기반 기술은 사용자가 가상의 세계에 위치하는 듯한 느낌을 제공하는 기술을 의미한다. 예를 들어, 가상 현실 기반 기술은 사용자에게 높은 몰입감을 갖는 입체 영상 및 입체 음향으로 구성된 가상 현실을 제공할 수 있다. 즉, 가상 현실 서비스 형태는 사용자의 오감에 직접적으로 작용하여 실제에 근접한 공간적, 시간적 체험을 가능케 하는 서비스일 수 있다. 가상 현실 서비스를 이용하는 사용자의 서비스 만족도는 가상 현실 서비스가 제공하는 몰입감과 밀접한 관련이 있을 수 있다.
최근에는 가상 현실 서비스가 일반적으로 HMD(head mounted display)를 이용하여 입체적인 시/청각 서비스를 제공하는 기술로 이해될 수 있다. 예를 들어, 가상 현실 서비스는 입체적인 시각 효과를 제공하기 위해서 사용자가 사용하는 HMD를 이용하고 있다. HMD는 사용자의 양안에 각기 서비스되는 2개의 영상을 재생하고, 사용자의 동작을 트래킹하는 역할을 수행할 수 있다.
가상 현실을 제공하는 가상 현실 시스템은 가상 현실 콘텐츠를 생성하는 주체에 따라 스탠드얼론 형태의 가상 현실 시스템과 호스트 프로세싱형 가상 현실 시스템으로 분리될 수 있다. 최근에는 고품질의 가상 현실 서비스가 호스트 프로세싱형 가상 현실 시스템으로 구현되는 추세이다.
호스트 프로세싱형 가상 현실 시스템은 호스트 프로세서와 HMD 간에 가상 현실 콘텐츠 및 사용자 동작 트래킹 정보를 전송하기 위해서 유선 케이블들을 이용할 수 있다. 유선 케이블들은 프로세서와 HMD을 연결하는 케이블일 수 있다. 유선 케이블들은 HDM을 사용하는 사용자의 동작이 제약되는 문제가 있다. 사용자는 가상의 세계에 몰입하여 서비스를 즐기는 도중, HMD에 연결된 각종 선들로 인해 움직임에 제약을 받아 급격하게 몰입감이 저하되는 경험을 하게 될 수 있다.
따라서, HMD에 연결된 각종 선들을 제거하는 것은 가상 현실 서비스의 완성도를 높이기 위해 해결되어야 하는 선결 과제일 수 있다. 현재 가상 현실 시스템의 무선화를 위한 연구 개발이 활발히 진행되고 있다.
가상 현실 시스템의 무선화에 대한 필요성이 충분함에도 불구하고 상용화된 무선 가상 현실 서비스가 아직 등장하지 않은 이유는, 가상 현실 서비스 및 콘텐츠 트래픽이 무선으로 처리하기에 매우 힘든 특성을 갖기 때문이다.
가상 현실 콘텐츠는 매우 큰 용량을 갖고 있어 상대적으로 열악한 무선 통신으로 처리하기 어려울 뿐만 아니라, 지연에 매우 민감한 특성을 가지고 있어 경쟁 기반으로 동작하는 비면허 대역이 안정적으로 서비스하기 어렵다는 문제가 있다.
최근에는 상술한 무선 통신의 한계를 극복하기 위해서 가상 현실 콘텐츠의 용량을 줄이는 영상 압축 기법을 활용하는 시도가 있지만, 압축률이 높아질수록 콘텐츠의 품질이 저하되는 문제를 발생시키는 한계가 있다.
즉, 충분한 무선 통신 속도를 확보하는 것은 무선 가상 현실 시스템의 서비스 품질을 높이기 위해 여전히 중요하다.
최근에는 미리미터파(mmWave)를 이용하는 비면허대역 통신이 전송 속도 확보를 위한 대안으로써 검토되고 있다. 하지만, mmWave는 mmWave의 심각한 신호 감쇄 특성 및 강한 방향성, 장애물을 통과하지 못한다는 문제 등의 통신 안전성 문제로 인해서 무선 가상 현실에 적용되기 어려울 수 있다.
일 실시예에 따른 콘텐츠 전송 방법은 사용자의 동작 및 복수의 통신 링크들 중에서 사용자의 동작에 따라 선택된 어느 하나의 통신 링크에 따라 압축률이 조절된 콘텐츠를 디스플레이에 전송(또는 제공, 전달 및 스트리밍)하는 기술을 제공할 수 있다.
일 실시예에 따른 콘텐츠 전송 방법은 사용자의 제1 동작에 기초하여 복수의 통신 링크들 중에서 어느 하나의 통신 링크를 선택하는 단계와, 상기 어느 하나의 통신 링크 및 사용자의 제2 동작에 기초하여 전송할 콘텐츠의 압축률(encoding rate)을 결정하는 단계와, 상기 압축률에 따라 압축된 콘텐츠를 전송하는 단계를 포함한다.
상기 선택하는 단계는 상기 사용자의 제1 동작에 따른 사용자의 머리 방향에 기초하여 상기 복수의 통신 링크들 각각에 대한 통신 성능을 예측하는 단계와, 상기 판단 결과에 기초하여 상기 복수의 통신 링크들 중에서 상기 통신 성능이 가장 우수한 통신 링크를 선택하는 단계를 포함할 수 있다.
상기 예측하는 단계는 상기 사용자의 제1 동작인 상기 사용자의 머리 방향에 기초하여 상기 머리 각도를 계산하는 단계와, 상기 머리 각도와 기준 각도를 비교하여 상기 머리 각도와 상기 기준 각도 간의 차이 각도를 계산하는 단계와, 상기 차이 각도에 기초하여 상기 복수의 통신 링크들 각각에 대한 신호 레벨 및 처리량을 예측하는 단계와, 상기 신호 레벨 및 상기 처리량에 기초하여 상기 복수의 통신 링크들 각각에 대한 통신 성능 순위를 결정하는 단계와, 상기 통신 성능 순위에 기초하여 상기 통신 성능을 판단하는 단계를 포함할 수 있다.
상기 결정하는 단계는 상기 사용자의 제2 동작에 따른 사용자의 머리 회전 속도 및 상기 어느 하나의 통신 링크의 통신 성능에 기초하여 상기 압축률을 결정하는 단계를 포함할 수 있다.
상기 사용자의 머리 회전 속도 및 상기 어느 하나의 통신 링크의 콘텐츠 전송 속도에 기초하여 상기 압축률을 결정하는 단계는 상기 사용자의 회전 속도에 기초하여 상기 콘텐츠의 프레임 사이즈를 예측하는 단계와, 상기 통신 성능에 따른 레이턴시(latency) 및 상기 프레임 사이즈에 기초하여 상기 압축률을 결정하는 단계를 포함할 수 있다.
도 1은 일 실시예에 따른 콘텐츠 제공 시스템의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 영상 표시 장치의 개략적인 블록도를 나타낸다.
도 3은 도 1에 도시된 콘텐츠 전송 장치의 개략적인 블록도를 나타낸다.
도 4a는 사용자의 머리 움직임에 따른 안테나 방향을 나타낸 그래프의 일 예이다.
도 4b는 도 4a에 도시된 안테나 방향에 따른 TPUT을 나타낸 그래프이다.
도 4c는 도 4a에 도시된 안테나 방향에 따른 신호 레벨을 나타낸 그래프이다.
도 4d는 도 4a 내지 도 4c에서 상술한 사용자 동작에 따른 신호 레벨과 TPUT에 기반하여 통신 성능을 예측함으로써 통신 링크를 선택하는 일 예를 설명하기 위한 것이다.
도 5a는 사용자의 머리 움직임에 따른 사용자의 머리 회전 속도를 나타낸 그래프이다.
도 5b는 도 5a에 도시된 사용자의 머리 회전 속도에 따른 프레임 사이즈를 나타낸 그래프이다.
도 6은 도 1에 도시된 콘텐츠 전송 장치의 동작을 설명하기 위한 순서도를 나타낸다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.
다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.
이하, 실시예들은 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 일 실시예에 따른 콘텐츠 전송 시스템의 개략적인 블록도를 나타낸다.
콘텐츠 전송 시스템(10)은 무선 VR 시스템일 수 있다. 콘텐츠 전송 시스템(10)은 영상 표시 장치(100), 통신 장치(300) 및 콘텐츠 전송 장치(500)를 포함한다.
콘텐츠 전송 장치(500)는 호스트이며, 영상 표시 장치(100)와 무선으로 접속할 수 있다. 영상 표시 장치(100)와 통신 장치(300) 사이에는 복수의 통신 링크들이 구축될 수 있다. 예를 들어, 복수의 통신 링크들은 Wi-Fi 용 통신 링크, WiGig 용 통신 링크 등을 포함할 수 있다.
콘텐츠 전송 장치(500)는 통신 장치(300)와 유선 및/또는 무선으로 접속하고, 영상 표시 장치(100)와 통신 장치(300) 사이에 구축된 복수의 통신 링크들 중에서 어느 하나의 통신 링크를 선택하여 콘텐츠를 영상 표시 장치(100)로 전송할 수 있다.
영상 표시 장치(100)는 복수의 통신 링크들 중에서 어느 하나의 통신 링크를 이용하여 콘텐츠 전송 장치(500)로부터 전송된 콘텐츠를 통신 장치(300)를 통해 수신할 수 있다. 콘텐츠 전송 장치(500)로부터 전송된 콘텐츠는 VR 콘텐츠(virtual reality contents)일 수 있다.
영상 표시 장치(100)는 VR 콘텐츠를 디스플레이하여 영상 표시 장치(100)를 사용하는 사용자에게 가상 현실을 제공할 수 있다. 예를 들어, 영상 표시 장치(100)는 스마트 안경, HMD(Head Mounted Display), FMD(Face Mounted Display) 등을 포함할 수 있다. 영상 표지 장치(100)는 사용자가 착용하여 콘텐츠를 디스플레이할 수 있는 모든 장치를 의미할 수 있다.
영상 표시 장치(100)는 사용자의 동작을 감지하고, 사용자의 동작에 대한 정보를 생성할 수 있다. 영상 표시 장치(100)는 사용자의 동작에 대한 정보를 통신 장치(300)를 통해 콘텐츠 전송 장치(500)에 전송할 수 있다.
예를 들어, 영상 표시 장치(100)는 사용자의 각속도 및 가속도를 감지하여 사용자의 머리 방향 및/또는 사용자의 머리 회전을 트래킹할 수 있다. 영상 표시 장치(100)는 사용자의 머리 방향에 대한 정보 및/또는 사용자의 머리 회전에 대한 정보를 콘텐츠 전송 장치(500)에 전송할 수 있다.
통신 장치(300)는 복수의 통신 링크들을 통해 영상 표시 장치(100)와 콘텐츠 전송 장치(500) 간의 통신을 중계할 수 있다. 통신 장치(300)는 복수의 통신 링크들 중에서 선택된 어느 하나의 통신 링크들을 통해 영상 표시 장치(100)와 콘텐츠 전송 장치(500) 간의 통신을 중계할 수 있다.
통신 장치(300)는 통신을 중계하는 AP(access point)일 수 있다. 예를 들어, 통신 장치(300)는 복수의 통신 링크들을 모두 지원하는 단일의 장치 또는 복수의 통신 링크들 중에서 적어도 하나를 지원하는 복수의 장치들로 구현될 수 있다.
콘텐츠 전송 장치(500)는 사용자의 동작에 기초하여 복수의 통신 링크들 중에서 어느 하나의 통신 링크를 선택하고, 영상 표시 장치(100)를 위한 콘텐츠를 선택한 어느 하나의 통신 링크에 전송할 수 있다. 또한, 콘텐츠 전송 장치(500)는 선택된 어느 하나의 통신 링크와 사용자의 동작에 기초하여 전송할 콘텐츠의 압축률(또는 인코딩률(encoding rate))을 조절하고, 압축률이 조절된 콘텐츠를 영상 표시 장치(100)로 전송할 수 있다. 예를 들어, 전송은 스트리밍을 포함할 수 있다.
이에, 영상 표시 장치(100)와 통신 장치(300) 사이에 구축된 멀티 스트리밍 링크, 즉 복수의 통신 링크들(예를 들어, Wi-Fi 용 통신 링크와 WiGig 용 통신 링크)는 안정적으로 관리될 수 있다.
안정적으로 MTP(multicast transport protocol) 지연이 관리되고 MTP 지연 내에 처리할 수 있는 최대한의 콘텐츠 품질(또는 최선의 VR 콘텐츠 품질)이 제공될 수 있다.
상술한 복수의 통신 링크들은 영상 표시 장치(100), 통신 장치(300) 및 콘텐츠 전송 장치(500) 모두가 사용하는 무선 통신 링크로, 서로 구별되는 별개의 무선 통신 링크일 수 있다. 예를 들어, 복수의 통신 링크들은 Wi-Fi 용 통신 링크 및 WiGig 용 통신 링크일 수 있다. WiGig는 밀리미터파(mmwave)를 이용하는 통신 기술일 수 있다.
이하에서는 설명의 편의를 위해, 영상 표시 장치(100)를 사용자의 머리에 착용되는 형태의 장치로 가정하도록 한다.
도 2는 도 1에 도시된 영상 표시 장치의 개략적인 블록도를 나타낸다.
영상 표시 장치(100)는 통신 모듈(110), 안테나(111), 센서(130), 디스플레이(150), 프로세서(170) 및 메모리(190)를 포함한다.
통신 모듈(110)은 복수의 통신 링크들을 지원하는 모듈일 수 있다.
일 예로, 통신 모듈(110)은 복수의 통신 링크들을 모두 지원하는 단일의 통신 모듈로 구현될 수 있다.
다른 예로, 통신 모듈(110)은 복수의 통신 링크들 각각을 지원하는 제1 통신 모듈 및 제2 통신 모듈로 구현될 수 있다. 제1 통신 모듈은 복수의 통신 링크들 중에서 제1 통신 링크를 지원할 수 있다. 제2 통신 모듈은 복수의 통신 링크들 중에서 제2 통신 링크를 지원할 수 있다. 제1 통신 링크는 Wi-Fi 용 통신 링크일 수 있다. 제2 통신 링크는 WiGig 용 통신 링크일 수 있다.
통신 모듈(110)은 안테나(111)를 통해 콘텐츠 전송 장치(500)로부터 신호(또는 데이터)를 수신하거나 콘텐츠 전송 장치(500)로 신호(또는 데이터)를 전송할 수 있다.
안테나(111)는 송수신용 안테나일 수 있다. 안테나(111)는 영상 표시 장치(100)의 외부 또는 내부에 위치할 수 있다.
센서(130)는 IMU(inertial measurement unit) 센서를 포함할 수 있다. 센서(130)는 IMU 센서를 통해 사용자의 동작(또는 사용자의 움직임)을 감지할 수 있다. 예를 들어, 센서(130)는 IMU 센서를 통해 사용자 머리의 움직임에 대한 가속도 및 각속도를 감지하고, 머리의 움직임에 대한 가속도 및 각속도에 대한 값을 생성할 수 있다.IMU 센서는 가속도 센서 및 자이로스코프 센서로 구성될 수 있다. 가속도 센서는 3차원 공간에서 사용자에 대한 앞뒤, 상하, 좌우 3축으로의 이동을 감지할 수 있다. 자이로스코프 센서는 사용자에 대한 피치(Pitch) 롤(Roll) 요(Yaw)의 3축 회전을 감지할 수 있다.
센서(130)는 사용자의 머리 움직임에 대한 가속도 및 각속도에 대한 값을 프로세서(170)로 출력할 수 있다.
메모리(190)는 프로세서(170)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(170)의 동작 및/또는 프로세서(170)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
프로세서(170)는 메모리(190)에 저장된 데이터를 처리할 수 있다. 프로세서(170)는 메모리(190)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(170)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(170)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(170)는 영상 표시 장치(100)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(170)는 영상 표시 장치(100)의 각 구성(110 내지 150)의 동작을 제어할 수 있다.
프로세서(170)는 사용자의 머리 움직임에 대한 가속도 및 각속도에 대한 값에 기초하여 사용자의 머리 방향 및 사용자의 머리 회전 속도에 대한 정보를 생성할 수 있다. 사용자의 머리 방향은 사용자가 바라보는 정면 방향으로, 신호를 송수신하기 위해 안테나(111)가 향하는 방향일 수 있다. 사용자의 머리 회전 속도는 사용자의 머리를 회전하는 속도일 수 있다. 사용자는 VR 콘텐츠를 시청하면서 가상 현실 내 다른 장면을 시청하기 위해서 사용자의 머리를 회전할 수 있다.
프로세서(170)는 사용자의 머리 방향 및 사용자의 머리 회전 속도에 대한 정보를 포함하는 사용자 동작에 대한 정보를 콘텐츠 전송 장치(500)로 전송할 수 있다.
프로세서(170)는 콘텐츠 전송 장치(500)로부터 콘텐츠를 수신하고, 디스플레이(150)를 통해 콘텐츠를 디스플레이할 수 있다.
도 3은 도 1에 도시된 콘텐츠 전송 장치의 개략적인 블록도를 나타낸다.
콘텐츠 전송 장치(500)는 통신 모듈(510), 메모리(530) 및 프로세서(550)를 포함할 수 있다.
통신 모듈(510)은 유선 링크를 통해 통신 장치(300)와 통신을 수행할 수 있다.
통신 모듈(510)은 영상 표시 장치(100)로부터 신호(또는 데이터)를 수신하거나 영상 표시 장치(100)로 신호(또는 데이터)를 전송할 수 있다.
메모리(530)는 프로세서(550)에 의해 실행가능한 인스트럭션들(또는 프로그램)을 저장할 수 있다. 예를 들어, 인스트럭션들은 프로세서(550)의 동작 및/또는 프로세서(550)의 각 구성의 동작을 실행하기 위한 인스트럭션들을 포함할 수 있다.
프로세서(550)는 메모리(530)에 저장된 데이터를 처리할 수 있다. 프로세서(550)는 메모리(530)에 저장된 컴퓨터로 읽을 수 있는 코드(예를 들어, 소프트웨어) 및 프로세서(550)에 의해 유발된 인스트럭션(instruction)들을 실행할 수 있다.
프로세서(550)는 목적하는 동작들(desired operations)을 실행시키기 위한 물리적인 구조를 갖는 회로를 가지는 하드웨어로 구현된 데이터 처리 장치일 수 있다. 예를 들어, 목적하는 동작들은 프로그램에 포함된 코드(code) 또는 인스트럭션들(instructions)을 포함할 수 있다.
예를 들어, 하드웨어로 구현된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙 처리 장치(central processing unit), 프로세서 코어(processor core), 멀티-코어 프로세서(multi-core processor), 멀티프로세서(multiprocessor), ASIC(Application-Specific Integrated Circuit), FPGA(Field Programmable Gate Array)를 포함할 수 있다.
프로세서(550)는 콘텐츠 전송 장치(500)의 전반적인 동작을 제어할 수 있다. 예를 들어, 프로세서(550)는 콘텐츠 전송 장치(500)의 각 구성(510 및 530)의 동작을 제어할 수 있다.
프로세서(550)는 사용자의 동작에 대한 정보에 기초하여 사용자의 제1 및 제2 동작을 획득할 수 있다. 프로세서(550)는 사용자의 제1 및 제2 동작을 이용하여 콘텐츠를 전송할 통신 링크를 선택하고, 콘텐츠의 압축률을 결정할 수 있다.
프로세서(550)는 사용자의 제1 동작에 기초하여 복수의 통신 링크들 중에서 어느 하나의 통신 링크를 선택할 수 있다. 사용자의 제1 동작은 사용자의 머리 방향일 수 있다. 예를 들어, 프로세서(550)는 사용자의 머리 방향에 기초하여 복수의 통신 링크들 각각에 대한 통신 성능을 예측함으로써 어느 하나의 통신 링크를 선택할 수 있다.
프로세서(550)가 복수의 통신 링크들 중에서 어느 하나의 통신 링크를 선택하는 구체적인 동작은 다음과 같다.
프로세서(550)는 사용자의 머리 방향 및 기준 각도에 기초하여 사용자의 머리 방향에 대한 사용자의 머리 각도를 계산할 수 있다. 기준 각도는 기 설정된 각도로 기준 반향에 대한 각도일 수 있다. 기준 각도는 기준 방향을 기준으로 설정된 각도로 0도 및/또는 360도일 수 있다. 기준 방향은 통신 장치(300)와 사용자 간의 직선 경로에 대응하는 방향으로, 사용자가 통신 장치(300)를 직접적으로 바라보는 방향일 수 있다.
프로세서(550)는 사용자의 머리 각도와 기준 각도를 비교하여 머리 각도와 기준 각도 간의 차이 각도를 계산할 수 있다.
프로세서(550)는 차이 각도에 기초하여 복수의 통신 링크들 각각에 대한 신호 레벨(signal level) 및 처리량(throughput(TPUT))을 계산(또는 예측)할 수 있다.
프로세서(550)는 복수의 통신 링크들 각각에 대한 신호 레벨 및 처리량에 기초하여 복수의 통신 링크들 각각에 대한 통신 성능 순위를 결정할 수 있다. 예를 들어, 프로세서(550)는 신호 레벨이 좋고(또는 높고) 처리량이 좋은(또는 높고, 많은) 순으로 복수의 통신 링크들 각각에 대한 통신 성능 순위를 결정할 수 있다.
프로세서(550)는 복수의 통신 링크들 각각에 대한 통신 성능 순위에 기초하여 복수의 통신 링크들 각각에 대한 통신 성능을 판단할 수 있다. 예를 들어, 프로세서(550)는 통신 성능 순위가 가장 높은 통신 링크에 대한 통신 성능이 가장 우수하다고 판단할 수 있다.
프로세서(550)는 판단 결과에 기초하여 복수의 통신 링크들 중에서 통신 성능이 가장 우수한 통신 링크를 선택할 수 있다. 예를 들어, 프로세서(550)는 복수의 통신 링크들 중에서 통신 성능 순위가 가장 높은 통신 링크를 선택할 수 있다.
프로세서(550)는 선택된 통신 링크 및 사용자의 제2 동작에 기초하여 전송할 콘텐츠의 압축률(encoding rate)을 결정할 수 있다. 사용자의 제2 동작은 사용자의 머리 회전일 수 있다. 예를 들어, 프로세서(550)는 사용자의 머리 회전 속도에 기초하여 전송할 콘텐츠의 프레임 사이즈를 예측함으로써 압축률을 결정할 수 있다.
프로세서(550)가 콘텐츠의 압축률을 결정하는 구체적인 동작은 다음과 같다.
사용자의 머리 회전 속도가 빠른 경우, 프로세서(550)는 전송할 콘텐츠의 프레임 사이즈가 크다고 예측할 수 있다. 사용자의 머리 회전 속도가 느린 경우, 프로세서(550)는 전송할 콘텐츠의 프레임 사이즈가 작다고 예측할 수 있다.
프로세서(550)는 선택된 통신 링크의 통신 성능에 따른 레이턴시(latency) 및 전송할 콘텐츠의 프레임 사이즈에 기초하여 전송할 콘텐츠의 압축률을 결정할 수 있다.
전송할 콘텐츠의 프레임 사이즈가 큰 경우, 프로세서(550)는 선택된 통신 링크의 통신 성능에 따른 레이턴시를 만족하도록 압축률을 높게 결정할 수 있다. 이때, 전송할 콘텐츠의 화질은 낮을 수 있다.
전송할 콘텐츠의 프레임 사이즈가 작은 경우, 프로세서(550)는 선택된 통신 링크의 통신 성능에 따른 레이턴시를 만족하도록 압축률을 작게 결정할 수 있다. 이때, 전송할 콘텐츠의 화질은 높을 수 있다.
프로세서(550)는 결정된 압축률에 따라 콘텐츠를 압축하고(또는 인코딩하고), 통신 모듈(510)을 통해 압축된 콘텐츠를 통신 장치(300)를 거쳐 영상 표시 장치(100)에 전송할 수 있다.
즉, 콘텐츠 전송 장치(500)는 통신 링크 선택 동작 및 콘텐츠 압축률 결정 동작을 수행한 후, 선택된 통신 링크를 통해 압축된 콘텐츠를 통신 장치(300)를 통해 영상 표시 장치(100)에 전송할 수 있다.
도 4a 내지 도 4d는 통신 링크를 선택하는 동작의 일 예를 설명하기 위한 도면들이다. 도 4a 내지 도 4d에서는 설명의 편의를 위해 안테나(111)의 방향이 영상 표시 장치(100)를 착용한 사용자의 머리 방향과 일치하는 것으로 가정한다.
도 4a는 사용자의 머리 움직임에 따른 안테나 방향을 나타낸 그래프의 일 예이고, 도 4b는 도 4a에 도시된 안테나 방향에 따른 TPUT을 나타낸 그래프이고, 도 4c는 도 4a에 도시된 안테나 방향에 따른 신호 레벨을 나타낸 그래프이다.
복수의 통신 링크들 중에서 WiGig 용 통신 링크는 영상 표시 장치(100)의 안테나(111)의 위치 관계 및 방향에 따라 통신 성능이 크게 변화할 수 있다.
WiGig 용 통신 링크의 통신 성능은 사용자의 동작에 따른 안테나(111)가 향하는 방향(이하 “안테나(111)의 방향”이라고 함)에 따라 변경될 수 있다.
도 4a를 참조하면, 사용자가 통신 장치(300)를 정면으로 바라보는 경우, 안테나(111)의 방향은 기준 방향과 일치할 수 있다. 이때, 안테나(111)의 방향의 각도는 0도 및/또는 360도일 수 있다.
안테나(111)의 방향의 각도가 0도 및/또는 360도인 경우, WiGig 용 통신 링크의 TPUT은 매우 우수하고, 신호 레벨 또한 매우 우수할 수 있다.
사용자가 통신 장치(300)를 옆면으로 바라보는 경우, 안테나(111)의 방향은 기준 방향으로부터 90도 회전된 방향일 수 있다. 이때, 안테나(111)의 방향의 각도는 -90, +90도, +270 및/또는 +450도일 수 있다.
도 4b 및 도 4c를 참조하면, 안테나(111)의 방향의 각도가 -90, +90도, +270 및/또는 +450도인 경우, WiGig 용 통신 링크의 TPUT은 매우 우수하지 않고, 신호 레벨 또한 매우 우수하지 않을 수 있다. WiGig 용 통신 링크의 TPUT 및 신호 레벨이 매우 우수하지 않은 경우, 영상 표시 장치(100)와 콘텐츠 전송 장치(500) 간의 통신 연결은 끊어질 수 있다.
WiGig 용 통신 링크의 통신 성능은 안테나(111)의 방향이 기준 방향에 일치함에 따라 증가하며, 안테나(111)의 방향이 기준 방향에서 멀어짐에 따라 저하될 수 있다. 이에, 송/수신 장치(예를 들어, 영상 표시 장치(100)와 콘텐츠 전송 장치(500)) 간의 통신 연결은 사용자의 동작에 따른 안테나(111)가 향하는 방향이 기준 방향(또는 기준 각도)에서 특정 거리(또는 특정 각도) 이상으로 멀어질(또는 벗어날) 경우에 끊어질 수 있다.
WiGig 용 통신 링크는 상술한 WiGig 용 통신 링크의 연결 불안정성으로 인해서, WiGig 용 통신 링크가 Wi-Fi 용 통신 링크에 비해 상대적으로 높은 TPUT을 제공함에도 불구하고 무선 VR 시스템에 적용하기 힘든 측면이 있다.
도 4d는 도 4a 내지 도 4c에서 상술한 사용자 동작에 따른 신호 레벨과 TPUT에 기반하여 통신 성능을 예측함으로써 통신 링크를 선택하는 일 예를 설명하기 위한 것이다.
콘텐츠 전송 장치(500)의 프로세서(550)는 사용자의 동작에 따른 안테나(111)의 방향에 따라 상술한 WiGig 용 통신 링크의 통신 성능이 변경되는 특성을 이용하여 콘텐츠를 전송할 통신 링크를 선택할 수 있다.
예를 들어, 프로세서(550)는 안테나(111)의 방향에 따라 WiGig 용 통신 링크의 통신 성능을 예측할 수 있다. 프로세서(550)는 WiGig 용 통신 링크의 통신 성능에 대한 예측을 수행하기 위해 딥러닝을 이용한 학습 등 기타 방법을 활용할 수 있다. WiGig 용 통신 링크의 통신 성능에 대한 예측 결과는 VR 서비스 중 지속적으로 수정 및 업데이트 될 수 있다.
안테나(111)의 방향에 따른 사용자의 머리 각도와 기준 각도 간의 차이 각도가 10도 이하인 경우, 프로세서(550)는 WiGig 용 통신 링크의 신호 레벨을 0.75로 예측하고, TPUT을 1700Mbps으로 예측할 수 있다.
차이 각도가 20도 이하인 경우, 프로세서(550)는 WiGig 용 통신 링크의 신호 레벨을 0.65로 예측하고, TPUT을 1600Mbps으로 예측할 수 있다.
차이 각도가 40도 이하인 경우, 프로세서(550)는 WiGig 용 통신 링크의 신호 레벨을 0.5로 예측하고, TPUT을 1000Mbps으로 예측할 수 있다.
차이 각도가 60도 이하인 경우, 프로세서(550)는 WiGig 용 통신 링크의 신호 레벨을 0.4로 예측하고, TPUT을 500Mbps으로 예측할 수 있다.
차이 각도가 80도 이하인 경우, 프로세서(550)는 WiGig 용 통신 링크의 신호 레벨을 0.3로 예측하고, TPUT을 200Mbps으로 예측할 수 있다.
차이 각도가 80도 초과인 경우, 프로세서(550)는 WiGig 용 통신 링크의 신호 레벨을 0.2로 예측하고, TPUT을 100Mbps으로 예측할 수 있다.
프로세서(550)는 예측 결과에 기초하여 WiGig 용 통신 링크 및 Wi-Fi 용 통신 링크 중에서 어느 하나의 통신 링크를 콘텐츠를 전송할 통신 링크로 선택할 수 있다. Wi-Fi 용 통신 링크는 안테나(111)의 방향에 따라 통신 성능이 변경되지 않는다. 일반적으로 Wi-Fi 용 통신 링크의 TPUT은 900Mbps일 수 있다.
프로세서(500)는 WiGig 용 통신 링크의 통신 성능이 좋은 경우에 WiGig 용 통신 링크를 선택하고, WiGig 용 통신 링크의 통신 성능이 안 좋은 경우에 Wi-Fi 용 통신 링크를 선택할 수 있다.
차이 각도가 10도 내지 40도 이하인 경우, 프로세서(550)는 WiGig 용 통신 링크의 통신 성능이 Wi-Fi 용 통신 링크의 통신 성능 보다 더 좋다고 판단한 뒤, 콘텐츠를 전송할 통신 링크로 WiGig 용 통신 링크를 선택할 수 있다.
차이 각도가 40도 초과인 경우, 프로세서(550)는 WiGig 용 통신 링크의 통신 성능이 Wi-Fi 용 통신 링크의 통신 성능 보다 나쁘다고 판단한 뒤, 콘텐츠를 전송할 통신 링크로 Wi-Fi 용 통신 링크를 선택할 수 있다.
즉, 콘텐츠 전송 장치(500)는 WiGig 용 통신 링크의 통신 성능을 예측한 뒤, WiGig 용 통신 링크와 Wi-Fi 용 통신 링크의 통신 성능 중에서 통신 성능이 더 좋은 통신 링크를 이용하여 콘텐츠를 전송하는 듀얼 밴드(또는 듀얼 링크) VR 콘텐츠 스트리밍 장치일 수 있다.
도 5a 및 도 5b는 콘텐츠의 압축률을 결정하는 동작의 일 예를 설명하기 위한 도면들이다.
도 5a는 사용자의 머리 움직임에 따른 사용자의 머리 회전 속도를 나타낸 그래프이고, 도 5b는 도 5a에 도시된 사용자의 머리 회전 속도에 따른 프레임 사이즈를 나타낸 그래프이다.
콘텐츠 압축 기술(또는 영상 압축 기술)은 이전에 전송된 콘텐츠 프레임(또는 영상 프레임)과 현재 전송할 콘텐츠 프레임의 유사성을 이용하여 중복된 데이터를 배제함으로써 전송할 콘텐츠의 압축을 수행할 수 있다. 이전 프레임과 현재 프레임 간의 차이가 없는 경우, 압축된 콘텐츠(또는 압축된 데이터)는 매우 작은 크기를 갖게 될 수 있다.
사용자가 시청하는 콘텐츠는 사용자가 VR 서비스를 경험하는 도중에 사용자가 새로운 동작을 취함에 따라 변경될 수 있다. 변경될 콘텐츠의 변경량(또는 전송할 콘텐츠의 프레임 사이즈)는 사용자의 동작 속도와 큰 연관성을 갖을 수 있다. 예를 들어, 사용자가 사용자의 머리를 빨리 회전하여 움직일수록 콘텐츠의 화면이 빠르게 지나가기에, 변경될 콘텐츠의 변경량은 사용자의 회전 속도가 빠를수록 높아질(또는 많아질, 커질) 수 있다.
프로세서(550)는 상술한 사용자의 동작 속도에 따라 전송할 VR 콘텐츠의 용량이 변경되는 특성을 이용할 뿐만 아니라 콘텐츠를 전송할 통신 링크의 통신 성능을 고려하여 전송할 콘텐츠의 압축률을 결정(또는 조절)할 수 있다.
도 5a 및 도 5b를 참조하면, 사용자의 머리 회전 속도가 빠른 경우, 전송할 콘텐츠의 프레임 사이즈는 클 수 있다. 사용자의 머리 회전 속도가 느린 경우, 전송할 콘텐츠의 프레임 사이즈는 작을 수 있다.
사용자의 빠른 머리 회전 속도에 따라 커진 프레임 사이즈로 인해 VR 콘텐츠를 표현하기 위한 콘텐츠에 대한 데이터량이 많이 생성되야 하는 경우, 프로세서(550)는 전송할 콘텐츠의 압축률을 높게 결정하여(또는 조절하여) 인코딩 후의 콘텐츠에 대한 데이터량을 크게 감소시킬 수 있다.
사용자의 느린 머리 회전 속도에 따라 작아진 프레임 사이즈로 인해 VR 콘텐츠를 표현하기 위한 데이터량이 적게 생성되야 하는 경우, 프로세서(550)는 전송할 콘텐츠의 압축률을 낮게 결정하여 인코딩 후의 콘텐츠에 대한 데이터량을 상대적으로 작게 감소시킬 수 있다.
결과적으로, 인코딩 후의 VR 콘텐츠에 대한 데이터량은 사용자 동작 속도에 관계없이 일정할 수 있다.
또한, 프로세서(550)는 콘텐츠를 전송할 통신 링크의 통신 성능 및 기 설정된 기준 성능에 기초하여 전송할 콘텐츠의 압축률을 결정할 수 있다.
예를 들어, 프로세서(550)는 콘텐츠를 전송할 통신 링크의 통신 성능이 기준 성능 보다 높게 예측된 경우에 낮은 압축률을 적용하여 VR 콘텐츠 품질을 향상시킬 수 있다.
프로세서(550)는 콘텐츠를 전송할 통신 링크의 통신 성능이 기준 성능 보다 낮게 예측된 경우에 높은 압축률을 적용하여 MTP 지연을 관리할 수 있다.
상술한 바와 같이 프로세서(550)가 전송할 콘텐츠의 프레임 사이즈 또는 콘텐츠를 전송할 통신 링크의 통신 성능에 기초하여 전송할 콘텐츠의 압축률을 결정하지만, 이에 한정하는 것은 아니다. 예를 들어, 프로세서(550)는 전송할 콘텐츠의 프레임 사이즈 및 콘텐츠를 전송할 통신 링크의 통신 성능 모두를 고려하여 전송할 콘텐츠의 압축률을 결정할 수 있다.
즉, 콘텐츠 전송 장치(500)는 WiGig 용 통신 링크의 통신 성능의 예측 결과 및 사용자의 동작 속도에 따라 전송할 콘텐츠의 압축률을 조절하여 조절된 압축률로 압축된 콘텐츠를 전송할 수 있다.
도 6은 도 1에 도시된 콘텐츠 전송 장치의 동작을 설명하기 위한 순서도를 나타낸다.
프로세서(550)는 영상 표시 장치(100)에 포함된 IMU로로부터 사용자의 시선 방향에 대한 정보 및 사용자의 회전 속도를 획득할 수 있다.
프로세서(550)는 사용자의 시선 방향 및 기준 각도에 기반한 차이 각도에 기초하여 WiGig 용 통신 링크의 신호 레벨 및 처리량을 예측할 수 있다.
프로세서(550)는 WiGig 용 통신 링크의 신호 레벨 및 처리량과 기 설정된 Wi-Fi 용 통신 링크의 신호 레벨 및 처리량을 비교하여 WiGig 용 통신 링크 및 Wi-Fi 용 통신 링크의 통신 성능을 예측할 수 있다(610).
프로세서(550)는 WiGig 용 통신 링크 및 Wi-Fi 용 통신 링크 중에서 통신 성능이 높은 통신 링크를 콘텐츠를 전송할 통신 링크로 선택할 수 있다(620).
프로세서(550)는 사용자의 회전 속도에 기초하여 전송할 콘텐츠의 프레임 사이즈를 예측할 수 있다(630).
프로세서(550)는 전송할 콘텐츠의 프레임 사이즈 및 선택된 통신 링크의 통신 성능에 기초하여 전송할 콘텐츠의 압축률을 결정할 수 있다(640).
프로세서(550)는 결정된 압축률로 전송할 콘텐츠를 압축할 수 있다(650).
프로세서(550)는 선택된 통신 링크를 이용하여 압축된 콘텐츠를 영상 표시 장치(100)에 전송할 수 있다(660).
예를 들어, 프로세서(550)는 압축된 콘텐츠를 버퍼에 임시 저장하고, 버퍼에 저장된 콘텐츠를 선택된 통신 링크를 통해 영상 표시 장치(100)에 전송할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (5)

  1. 사용자의 제1 동작에 따른 사용자의 머리 각도와 기준 각도 간의 차이 각도에 따라 결정되는 복수의 통신 링크들의 통신 성능 순위에 기초하여 상기 복수의 통신 링크들 중에서 어느 하나의 통신 링크를 선택하는 단계;
    상기 어느 하나의 통신 링크, 및 전송할 콘텐츠의 프레임 사이즈를 예측하기 위한 사용자의 제2 동작에 기초하여 상기 전송할 콘텐츠의 압축률(encoding rate)을 결정하는 단계; 및
    상기 압축률에 따라 압축된 콘텐츠를 전송하는 단계
    를 포함하고,
    상기 결정하는 단계는,
    상기 사용자의 제2 동작에 따른 사용자의 머리 회전 속도에 기초하여 상기 전송할 콘텐츠의 프레임 사이즈를 예측하는 단계; 및
    상기 어느 하나의 통신 링크의 통신 성능에 따른 레이턴시(latency) 및 상기 프레임 사이즈에 기초하여 상기 압축률을 결정하는 단계
    를 포함하는, 콘텐츠 전송 방법.
  2. 제1항에 있어서,
    상기 선택하는 단계는,
    상기 사용자의 제1 동작에 따른 사용자의 머리 각도에 기초하여 상기 복수의 통신 링크들 각각에 대한 통신 성능을 예측하는 단계; 및
    상기 예측 결과에 기초하여 상기 복수의 통신 링크들 중에서 상기 통신 성능이 가장 우수한 통신 링크를 선택하는 단계
    를 포함하는 콘텐츠 전송 방법.
  3. 제2항에 있어서,
    상기 예측하는 단계는,
    상기 사용자의 제1 동작인 상기 사용자의 머리 방향에 기초하여 상기 머리 각도를 계산하는 단계;
    상기 머리 각도와 기준 각도를 비교하여 상기 머리 각도와 상기 기준 각도 간의 차이 각도를 계산하는 단계;
    상기 차이 각도에 기초하여 상기 복수의 통신 링크들 각각에 대한 신호 레벨 및 처리량을 예측하는 단계;
    상기 신호 레벨 및 상기 처리량에 기초하여 상기 복수의 통신 링크들 각각에 대한 통신 성능 순위를 결정하는 단계; 및
    상기 통신 성능 순위에 기초하여 상기 통신 성능을 판단하는 단계
    를 포함하는 콘텐츠 전송 방법.
  4. 삭제
  5. 삭제
KR1020190139311A 2019-11-04 2019-11-04 콘텐츠 전송 방법 및 이를 수행하는 장치들 KR102239960B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190139311A KR102239960B1 (ko) 2019-11-04 2019-11-04 콘텐츠 전송 방법 및 이를 수행하는 장치들

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190139311A KR102239960B1 (ko) 2019-11-04 2019-11-04 콘텐츠 전송 방법 및 이를 수행하는 장치들

Publications (1)

Publication Number Publication Date
KR102239960B1 true KR102239960B1 (ko) 2021-04-13

Family

ID=75482743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190139311A KR102239960B1 (ko) 2019-11-04 2019-11-04 콘텐츠 전송 방법 및 이를 수행하는 장치들

Country Status (1)

Country Link
KR (1) KR102239960B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160054441A (ko) * 2016-04-26 2016-05-16 울산대학교 산학협력단 가상 현실용 무선 데이터 송수신 장치
KR20160125708A (ko) * 2015-04-22 2016-11-01 삼성전자주식회사 가상현실 스트리밍 서비스를 위한 영상 데이터를 송수신하는 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160125708A (ko) * 2015-04-22 2016-11-01 삼성전자주식회사 가상현실 스트리밍 서비스를 위한 영상 데이터를 송수신하는 방법 및 장치
KR20160054441A (ko) * 2016-04-26 2016-05-16 울산대학교 산학협력단 가상 현실용 무선 데이터 송수신 장치

Similar Documents

Publication Publication Date Title
US20210191513A1 (en) Dynamic graphics rendering based on predicted saccade landing point
CN111194561B (zh) 预测性的头部跟踪的双耳音频渲染
US20200160609A1 (en) Hybrid rendering for a wearable display attached to a tethered computer
US10270825B2 (en) Prediction-based methods and systems for efficient distribution of virtual reality media content
US10602098B2 (en) Vehicle trajectory determination to stabilize vehicle-captured video
US10068553B2 (en) Enhanced rendering by a wearable display attached to a tethered computer
CN113347405B (zh) 缩放相关的方法和装置
KR102063895B1 (ko) 서버, 사용자 단말 장치 및 그 제어 방법
US11202004B2 (en) Head-mountable display system
EP2939432B1 (en) Display update time reduction for a near-eye display
WO2019221979A1 (en) Eye tracking with prediction and late update to gpu for fast foveated rendering in an hmd environment
JP2019533226A (ja) 人による追跡装置のオクルージョンの影響を低減するシステム及び方法
KR102437276B1 (ko) 바디 움직임 기반의 클라우드 vr 장치 및 방법
CN112272817B (zh) 用于在沉浸式现实中提供音频内容的方法和装置
KR102239960B1 (ko) 콘텐츠 전송 방법 및 이를 수행하는 장치들
KR102140077B1 (ko) 서버, 사용자 단말 장치 및 그 제어 방법
CN106445139A (zh) 一种数据显示方法、装置及系统
US11863956B2 (en) Methods and systems for balancing audio directed to each ear of user
US11563477B2 (en) Information processing device and method
US20230162448A1 (en) Projector assisted augmented reality, adjusting ar size, shape and presentation based on real world space
US20240129486A1 (en) Metering bits in video encoder to achieve targeted data rate and video quality level
CN117122920A (zh) 基于用户的交互区的检测动态地调整声音的方法和系统
KR20240133941A (ko) Vr 눈의 피로 수준을 검출하기 위해 시선 추적/눈 메트릭을 사용한 다음 눈의 피로 수준을 낮추기 위해 적응형 렌더링을 사용