KR102577685B1 - 사용자의 관심영역 추정이 가능한 저지연 360 vr 스트리밍 시스템 및 방법 - Google Patents
사용자의 관심영역 추정이 가능한 저지연 360 vr 스트리밍 시스템 및 방법 Download PDFInfo
- Publication number
- KR102577685B1 KR102577685B1 KR1020210144272A KR20210144272A KR102577685B1 KR 102577685 B1 KR102577685 B1 KR 102577685B1 KR 1020210144272 A KR1020210144272 A KR 1020210144272A KR 20210144272 A KR20210144272 A KR 20210144272A KR 102577685 B1 KR102577685 B1 KR 102577685B1
- Authority
- KR
- South Korea
- Prior art keywords
- tile
- interest
- quality
- low
- area
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000009877 rendering Methods 0.000 claims abstract description 43
- 239000000872 buffer Substances 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 12
- 238000013507 mapping Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 201000003152 motion sickness Diseases 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 208000024891 symptom Diseases 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/161—Encoding, multiplexing or demultiplexing different image signal components
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26208—Content 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/26233—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/431—Generation of visual interfaces for content selection or interaction; Content or additional data rendering
- H04N21/4318—Generation of visual interfaces for content selection or interaction; Content or additional data rendering by altering the content in the rendering process, e.g. blanking, blurring or masking an image region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4402—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/4728—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법이 제공된다. 상기 방법은 사용자 디바이스로부터 디바이스 포즈 정보를 수신하는 단계; 상기 디바이스 포즈 정보에 기초하여 사용자의 관심영역을 추출하는 단계; 상기 관심영역에 상응하는 관심영역 타일 정보를 생성하는 단계; 상기 관심영역이 변경될 위치에 상응하는 관심영역 추정 타일 정보를 생성하는 단계; 상기 관심영역 타일 정보 및 관심영역 추정 타일 정보에 상응하는 타일을 스트리밍 서버로 요청하여, 고품질 타일 스트림 및 전체 영상의 저품질 타일 스트림(이하, 저품질 전체 영상 타일 스트림)을 수신하는 단계; 상기 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하는 단계; 및 상기 렌더링된 영상을 사용자 디바이스로 제공하는 단계를 포함한다.
Description
본 발명은 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템 및 방법에 관한 것이다.
최근 360 VR(Virtual Reality) 산업의 확산에 따라 스포츠 생중계, 게임, 교육 등의 서비스를 위한 360 VR 콘텐츠와 이를 재생하기 위한 HMD(Head Mounted Display) 디바이스가 다양하게 출시되고 있다. 360 VR 콘텐츠는 제작방식에 따라 일체형 VR 카메라, 다수의 카메라로 구성된 카메라 리그를 통하여 획득되는 실사 360 VR 콘텐츠와 Unreal, Unity 등의 3D 엔진을 통해 획득되는 컴퓨터 생성 360 VR 콘텐츠로 나눌 수 있다. 이와 같은 360 VR 콘텐츠 제작 기술은 획득 장비의 발전으로 16K급 이상의 360 VR 콘텐츠를 쉽게 제작할 수 있다.
360 VR 영상은 하나의 영상이 가상세계의 모든 영역을 표현하기 때문에 사용자가 실제로 보는 화면은 전체해상도의 일부분이다. 따라서, 360 VR 영상을 고품질로 스트리밍하는 것은 일반영상보다 훨씬 더 큰 해상도를 요구한다. 일반적으로 사용자가 HMD 디바이스를 통해서 360 VR 영상을 시청할 때, 고품질을 느끼기 위해 실제 디스플레이에 출력되는 사용자 관심 영역(ROI, Region of Interest)의 해상도는 4K급 이상을 필요로 하며, 이를 위해서 12K급 이상의 360 VR 전체 해상도를 요구한다.
12K급 고품질 360 VR 영상을 스트리밍하기 위해서는 약 400Mbps이상의 네트워크 대역폭이 필요하며, QoS(Quality of Service)를 보장하기 위한 추가적인 스트리밍 기술이 요구된다. 또한, 최근 출시되는 고속 하드웨어 디코더의 디코딩 최대 해상도는 8K급 정도로 12K급 영상 전체를 한 번에 디코딩하는 것은 불가능하기 때문에 추가적인 디코딩 기술을 필요하다.
위와 같이 사용자가 요구하는 고해상도의 360 VR 영상 스트리밍을 위해서는 높은 대역폭과 추가적인 스트리밍 기술이 적용되야 하기 때문에 스트리밍 과정에서 다음과 같이 2가지의 지연시간이 발생한다. 첫 번째로, 사용자의 관심 영역이 변경될 때, 관심영역에 해당하는 영상을 새로 요청하는 과정에서 스위칭 지연시간(Switching Latency)이 발생한다. 두 번째로, 영상 전송 및 재생과정에서 영상의 끊김이 발생하거나 품질이 낮아지는 스트리밍 지연시간(Streaming Latency)이 발생한다.
이런 지연시간으로 인하여 사용자는 감각 불일치에 의한 멀미 증상과 360 VR 영상 콘텐츠의 낮은 품질로 인한 몰입감 저하를 느끼게 되며, 이는 360 VR 서비스의 대중화에 많은 어려움을 주고 있다.
본 발명의 실시예는 스위칭 지연시간 및 스트리밍 지연시간을 최소화할 수 있는, 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템 및 방법을 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제1 측면에 따른 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법은 360 VR 디바이스(이하, 사용자 디바이스)로부터 디바이스 포즈 정보를 수신하는 단계; 상기 디바이스 포즈 정보에 기초하여 사용자의 관심영역을 추출하는 단계; 상기 관심영역에 상응하는 관심영역 타일 정보를 생성하는 단계; 상기 관심영역이 변경될 위치에 상응하는 관심영역 추정 타일 정보를 생성하는 단계; 상기 관심영역 타일 정보 및 관심영역 추정 타일 정보에 상응하는 타일을 스트리밍 서버로 요청하여, 고품질 타일 스트림 및 전체 영상의 저품질 타일 스트림(이하, 저품질 전체 영상 타일 스트림)을 수신하는 단계; 상기 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하는 단계; 및 상기 렌더링된 영상을 사용자 디바이스로 제공하는 단계를 포함한다.
본 발명의 일부 실시예에서, 상기 관심영역 타일 정보를 생성하는 단계는, 상기 추출된 관심영역의 중심에 해당하는 중심 타일 정보를 산출하는 단계; 및 상기 중심 타일 정보를 기반으로 관심영역에 해당하는 타일 그룹 정보를 산출하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 중심 타일 정보를 기반으로 관심영역에 해당하는 타일 그룹 정보를 산출하는 단계는, 상기 관심영역의 해상도 및 타일의 크기 정보를 이용하여 인접 타일의 필요량 정보를 산출하는 단계; 및 상기 인접 타일의 필요량 정보에 상응하는 타일을 타일 그룹 정보로 산출하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 관심영역 추정 타일 정보를 생성하는 단계는, 상기 타일 그룹 정보를 기반으로 관심영역의 가장자리 위치 정보를 산출하는 단계; 및 상기 가장자리 위치 정보를 기준으로 상기 관심영역의 변화량이 프레임 당 일정거리 이상일 경우, 상기 관심영역 타일 정보와 인접한 타일들을 관심영역 추정 타일 정보로 생성하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 수신하는 단계는, CMAF 청크(Common Media Application Format Chunk) 단위의 상기 고품질 타일 스트림과 상기 저품질 전체 영상 타일 스트림을 수신할 수 있다.
본 발명의 일부 실시예에서, 상기 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 수신하는 단계는, 각 타일에 상응하는 복수의 CMAF 청크에는 각각 인덱스가 할당되며, 상기 각 타일 별로 번갈아가며 CMAF 청크의 인덱스 순으로 수신할 수 있다.
본 발명의 일부 실시예에서, 상기 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 수신하는 단계는, 상기 스트리밍 서버로부터 저품질 전체 영상 타일 스트림을 수신하는 단계; 상기 관심영역 타일 정보에 상응하는 고품질 타일 스트림(이하, 관심영역 고품질 타일 스트림)을 수신하는 단계; 및 상기 저품질 전체 영상 타일 스트림 및 관심영역 고품질 타일 스트림의 수신이 완료됨에 따라 상기 관심영역 추정 타일 정보에 상응하는 고품질 타일 스트림(이하, 관심영역 추정 고품질 타일 스트림)을 수신하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하는 단계는, 상기 디코딩된 고품질 타일 스트림을 렌더링하는 단계; 및 상기 고품질 타일 스트림의 렌더링이 완료됨에 따라, 상기 비렌더링 영역에 상기 저품질 전체 영상 타일 스트림을 렌더링하는 단계를 포함할 수 있다.
본 발명의 일부 실시예에서, 상기 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하는 단계는, 이중 순환 구조의 텍스처 버퍼를 이용하여 상기 렌더링에 사용되는 텍스처를 로딩할 수 있다.
본 발명의 일부 실시예에서, 상기 디코딩된 고품질 타일 스트림을 렌더링하는 단계는, 상기 고품질 타일 스트림에 상응하는 렌더러 버퍼를 체크하여, 타일에 상응하는 텍스처 영역에 맵핑을 수행하고, 상기 비렌더링 영역에 상기 저품질 전체 영상 타일 스트림을 렌더링하는 단계는, 상기 저품질 전체 영상 타일 스트림에 상응하는 렌더러 버퍼에서 상기 저품질 전체 영상 타일 스트림을 텍스처의 크기만큼 스케일업하고, 상기 비렌더링 영역인 텍스처 영역에 상기 저품질 전체 영상 타일 스트림을 추가 맵핑할 수 있다.
또한, 본 발명의 제2 측면에 따른 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템은 360 VR 디바이스(이하, 사용자 디바이스)로부터 디바이스 포즈 정보를 수신하는 포즈 정보 트래킹부, 상기 디바이스 포즈 정보에 기초하여 사용자의 관심영역을 추출하고, 상기 관심영역에 상응하는 관심영역 타일 정보 및 관심영역이 변경될 위치에 상응하는 관심영역 추정 타일 정보를 생성하고, 관심영역 타일 정보 및 관심영역 추정 타일 정보에 상응하는 타일을 스트리밍 서버로 요청하여, 고품질 타일 스트림 및 전체 영상의 저품질 타일 스트림(이하, 저품질 전체 영상 타일 스트림)을 수신하는 스트림 수신부, 상기 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 디코딩하는 멀티 채널 디코더 및 상기 디코딩된 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 기반으로 렌더링을 수행하여, 렌더링된 영상을 사용자 디바이스로 제공하는 시뮬캐스트 렌더러를 포함한다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록하는 컴퓨터 판독 가능한 기록 매체가 더 제공될 수 있다.
전술한 본 발명의 일 실시예에 의하면, Tiled CMAF Chunk 기반의 360 VR 분할 영상 스트리밍 프로토콜을 재정의하여 적용함으로써, 영상의 스트리밍 지연시간을 최소화시킬 수 있다.
또한, 디바이스 포즈 정보를 기반으로 관심영역을 추정 타일 정의하여 적용하고, 저품질 전체 영상에서 고품질 타일 영상을 덮어쓰는 시뮬캐스트 렌더링 알고리즘을 적용함으로써, 스위칭 지연시간을 최소화할 수 있다.
본 발명의 효과들은 이상에서 언급된 효과로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.
도 1은 종래 기술에 따른 스트리밍 시스템을 설명하기 위한 도면이다.
도 2는 본 발명의 일 실시예에 따른 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 저지연 360 VR 스트리밍 방법의 순서도이다. 도 4는 관심영역 타일 정보 및 관심영역 추정 타일 정보를 생성하는 과정을 설명하기 위한 도면이다.
도 5는 종래 MPEG-DASH SRD 프로토콜 및 CMAF 프로토콜 방식을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 적용되는 Tiled CMAF 청크 프로토콜을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 적용되는 Tiled CMAF 청크 프로토콜을 보다 상세히 나타낸 도면이다.
도 8은 본 발명의 일 실시예에서의 시뮬캐스트 렌더러를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에서의 시뮬캐스트 렌더링 과정을 설명하기 위한 순서도이다.
도 2는 본 발명의 일 실시예에 따른 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템의 블록도이다.
도 3은 본 발명의 일 실시예에 따른 저지연 360 VR 스트리밍 방법의 순서도이다. 도 4는 관심영역 타일 정보 및 관심영역 추정 타일 정보를 생성하는 과정을 설명하기 위한 도면이다.
도 5는 종래 MPEG-DASH SRD 프로토콜 및 CMAF 프로토콜 방식을 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 적용되는 Tiled CMAF 청크 프로토콜을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 적용되는 Tiled CMAF 청크 프로토콜을 보다 상세히 나타낸 도면이다.
도 8은 본 발명의 일 실시예에서의 시뮬캐스트 렌더러를 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에서의 시뮬캐스트 렌더링 과정을 설명하기 위한 순서도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나, 본 발명은 이하에서 개시되는 실시예들에 제한되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술 분야의 통상의 기술자에게 본 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소 외에 하나 이상의 다른 구성요소의 존재 또는 추가를 배제하지 않는다. 명세서 전체에 걸쳐 동일한 도면 부호는 동일한 구성 요소를 지칭하며, "및/또는"은 언급된 구성요소들의 각각 및 하나 이상의 모든 조합을 포함한다. 비록 "제1", "제2" 등이 다양한 구성요소들을 서술하기 위해서 사용되나, 이들 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 구성요소를 다른 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제1 구성요소는 본 발명의 기술적 사상 내에서 제2 구성요소일 수도 있음은 물론이다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야의 통상의 기술자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또한, 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.
도 1은 종래 기술에 따른 스트리밍 시스템을 설명하기 위한 도면이다.
종래에는 HMD와 같은 360 VR 디바이스(이하, 사용자 디바이스)로부터 디바이스 포즈 정보를 수신한 스트리밍 시스템은, 스트리밍 서버로 사용자의 관심 영역에 해당하는 타일 스트림을 요청한다.
그 다음, 스트리밍 서버는 스트리밍 시스템으로 일정 Time-Block 단위를 가지는 타일 스트림들을 송신하는데, 사용자의 관심 영역에 해당하는 타일 스트림을 고품질(HQ) 및 저품질(LQ) 타일 스트림으로 송신한다.
그 다음, 스트리밍 시스템은 수신한 고품질 및 저품질 타일 스트림을 멀티 채널 디코더(Multi-channel Decoder)를 통해 디코딩하고, 렌더러를 통해 하나의 영상으로 구성한 후, 사용자 디바이스로 제공한다.
이러한 종래 스트리밍 시스템은 특정 순간의 디바이스 포즈 정보를 이용하여 사용자의 관심영역을 추정한다. 따라서, 사용자 디바이스의 위치가 계속 변하는 경우, 고품질 타일 스트림을 지속적으로 스트리밍 서버로 요청해야만 하며, 이로 인한 관심영역 스위칭 지연 시간(Switching Delay)이 발생하는 문제가 있다.
또한, 스트리밍 서버는 스트리밍 시스템으로 일정 Time-Block 단위를 가지는 타일 스트림들을 송신하는데, 이로 인한 스트리밍 지연 시간(Streaming Delay)가 발생하게 되는 문제가 있다.
또한, 스트리밍 서버로부터 수신 받은 특정 영상 타일 스트림이 어떠한 이슈로 인하여 누락되는 경우, 타일 영상 재요청에 따른 지연 시간이 발생하는 문제가 있다.
이러한 문제를 해소하기 위하여, 본 발명의 일 실시예에 따른 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템은 다음과 같은 방법을 제안한다.
먼저, 스트리밍 서버와 스트리밍 시스템 간 송수신 프로토콜을 CMAF 기술을 기반으로 한 Tiled CMAF 청크(Common Media Application Format Chunk) 기반의 360 VR 분할 영상 스트리밍 프로토콜을 사용하는 것을 특징으로 한다. CMAF 프로토콜은 디코딩을 위하여 영상 스트림을 모두 수신할 필요가 없으며, 최초의 CMAF 청크를 수신 받은 직후 즉시 디코딩이 가능하다. 이를 이용하여, 본 발명의 일 실시예는 기존 CMAF 프로토콜을 고품질 관심 영역 타일, 고품질 관심 영역 추정 타일 및 저품질 전체 영상 타일로 정의하여, Tiled CMAF 청크 기반의 360 VR 스트리밍 프로토콜을 재정의하여 적용하였다. 특히, 사용자의 관심영역에 해당하는 부분만 고품질 관심영역 타일로 스트리밍을 함으로써, 스트리밍에 필요한 전송 대역폭을 크게 감소시킬 수 있고, 16K급 전체 해상도 360 VR 영상 스트리밍을 지원하면서도, 하드웨어 디코더에서 제공하는 최대 해상도를 만족시킬 수 있다.
또한, 본 발명의 일 실시예는 디바이스 포즈 정보를 이용하여 사용자가 앞으로 이동할 관심영역을 추정하는 관심 영역 추정 알고리즘을 적용하여, 스위칭 지연시간을 최소화할 수 있다. 이러한 관심영역 추정 알고리즘은 디바이스 포즈 정보를 이용하여 사용자의 관심영역을 계산하고, 전체 영상에서 관심영역에 해당하는 타일을 추출하며, 이전 디바이스 포즈 정보를 기반으로 디바이스의 움직임을 예측하여, 사용자의 관심영역 변화량을 예측하고, 이에 해당하는 타일들을 미리 캐싱(caching)한다.
또한, 본 발명의 일 실시예는 시뮬캐스트 렌더링 기반의 스트리밍 알고리즘을 적용하는 것을 특징으로 한다. 즉, 기존 방식은 고품질 타일 스트림과 저품질 타일 스트림을 합성하여 하나의 전체 영상으로 구성하였으나, 본 발명의 일 실시예는 저품질 전체 영상에서 고품질 타일 영상을 덮어쓰는 개념으로 전체 영상을 구성한다. 이러한 방식을 통해, 본 발명의 일 실시예는 특정 고품질 영상 스트림이 누락되는 상황에서도 전체 영상을 구성하는데 문제가 발생하지 않으며, 네트워크 트래픽으로 인해 영상 송수신이 지연되는 상황에서도 사용자에게 끊김 없는 360 VR 영상 스트리밍을 지원할 수 있다는 장점이 있다.
도 2는 본 발명의 일 실시예에 따른 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템(100)의 블록도이다.
본 발명의 일 실시예에 따른 저지연 360 VR 스트리밍 시스템(100)은 포즈 정보 트래킹부(110), 스트림 수신부(120), 멀티 채널 디코더(130) 및 시뮬캐스트 렌더러(140)를 포함한다.
포즈 정보 트래킹부(110)는 사용자 디바이스(200)로부터 디바이스 포즈 정보를 수신한다.
스트림 수신부(120)는 디바이스 포즈 정보에 기초하여 사용자의 관심영역을 추출하고, 관심영역에 상응하는 관심영역 타일 정보와, 관심영역이 변경될 위치에 상응하는 관심영역 추정 타일 정보를 생성한다. 그리고 관심영역 타일 정보 및 관심영역 추정 타일 정보에 상응하는 타일을 스트리밍 서버(400)로 요청하여, 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 수신한다.
멀티 채널 디코더(130)는 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 디코딩하고, 시뮬캐스트 렌더러(140)는 디코딩된 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 기반으로 렌더링을 수행하여, 렌더링된 영상을 사용자 디바이스(200)로 제공한다.
이하에서는 도 3 내지 도 9를 참조하여 본 발명의 일 실시예에 따른 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템(100)에 의해 수행되는 방법을 보다 상세히 설명하도록 한다.
도 3은 본 발명의 일 실시예에 따른 저지연 360 VR 스트리밍 방법의 순서도이다.
본 발명의 일 실시예에 따른 저지연 360 VR 스트리밍 방법은 먼저, 사용자 디바이스로부터 디바이스 포즈 정보를 수신하는 단계(S110)와, 상기 디바이스 포즈 정보에 기초하여 사용자의 관심영역을 추출하는 단계(S120)와, 상기 관심영역에 상응하는 관심영역 타일 정보를 생성하는 단계(S130)와, 상기 관심영역이 변경될 위치에 상응하는 관심영역 추정 타일 정보를 생성하는 단계(S140)와, 상기 관심영역 타일 정보 및 관심영역 추정 타일 정보에 상응하는 타일을 스트리밍 서버로 요청하여, 고품질 타일 스트림 및 전체 영상의 저품질 타일 스트림(이하, 저품질 전체 영상 타일 스트림)을 수신하는 단계(S150)와, 상기 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하는 단계(S160) 및 상기 렌더링된 영상을 사용자 디바이스로 제공하는 단계(S170)를 포함하여 수행된다.
한편, 도 3에 도시된 각 단계들은 전술한 저지연 360 VR 스트리밍 시스템에 의해 수행되는 것으로 이해될 수 있으나 반드시 이에 한정되는 것은 아니다.
먼저, 사용자 디바이스(200)로부터 디바이스 포즈 정보를 수신한다(S110). 여기에서 사용자 디바이스(200)는 360 VR 콘텐츠를 재생할 수 있는 HMD 디바이스일 수 있다.
다음으로, 디바이스 포즈 정보에 기초하여 사용자의 관심영역을 추출하고(S120), 관심영역에 상응하는 관심영역 타일 정보(S130) 및 관심영역이 변경될 위치에 상응하는 관심영역 추정 타일 정보를 생성한다(S140).
도 4는 관심영역 타일 정보 및 관심영역 추정 타일 정보를 생성하는 과정을 설명하기 위한 도면이다.
360 VR 분할 영상 스트리밍에서 사용자의 관심영역 추정은 현재 스트리밍되고 있는 타일의 인접한 타일을 예측하는 것이다. 따라서, 사용자의 관심영역이 변경될 때, 관심영역이 현재 스트리밍되고 있는 타일의 경계에 가까울수록, 사용자의 관심영역 전환 방향이 타일의 경계로 향할수록, 사용자의 관심영역에 해당하는 타일이 전환될 확률이 높다.
따라서, 본 발명의 일 실시예는 사용자의 관심영역이 변경될 때, 관심영역 정보와 그 변화량을 이용하여 이후의 사용자의 관심영역에 해당하는 타일을 예측하고, 현재 재생되고 있는 관심영역 타일에 인접한 타일을 미리 캐싱하여 스트리밍의 스위칭 지연시간을 최소화할 수 있다.
사용자의 관심영역 추정을 위해서는, 먼저 현재 디바이스 포즈 정보를 기반으로 실제 관심영역에 해당하는 관심영역 타일들을 선택하고, 이전 관심영역 정보와의 변화량을 고려하여, 실제 관심영역에 해당하는 타일과 인접한 관심영역 추정 타일을 선택한다.
360 VR 분할 영상에서 사용자의 관심영역에 해당하는 주변 타일들의 영상들을 일부 가상의 2D 텍스처에 매핑하여 도 4와 같이 표현하였을 때, 추출된 관심영역의 중심에 해당하는 중심 타일 정보(ai,j)는 아래 식 1과 같이 나타낼 수 있다.
[식 1]
이때, 식 1에서 x, y와 x', y'은 각각 영상의 전체 해상도와 관심영역의 중심 픽셀 좌표값을 의미하며, m, n은 분할 영상의 가소, 세로 타일의 개수를 의미한다.
중심 타일 정보(ai,j)가 산출되고 나면, 그 다음에는 중심 타일 정보(ai,j)를 기반으로 관심영역에 해당하는 타일 그룹 정보(group(ai,j))를 식 2를 통해 산출한다.
[식 2]
이때, 관심영역에 해당하는 타일 그룹 정보는 관심영역의 해상도 및 타일의 크기 정보를 이용하여 인접 타일의 필요량 정보를 산출하고, 인접 타일의 필요량 정보에 상응하는 타일을 타일 그룹 정보로 산출할 수 있다.
다음으로, 사용자의 관심영역을 추정하는 과정에서는, 현재 위치한 관심영역의 경계와 관심영역 위치를 기반으로 관심영역 추정 타일을 선택한다.
먼저, 사용자의 관심영역 위치를 계산하기 위하여, 타일 그룹 정보를 기반으로 관심영역의 가장자리 위치 정보(median_width와 median_height)를 산출한다. 그리고 가장자리 위치 정보를 기준으로 관심영역의 변화량이 프레임 당 일정거리(d) 이상일 경우, 관심영역 타일 정보와 인접한 타일들을 관심영역 추정 타일 정보로 생성한다. 이러한 고품질 관심영역 추정 타일 정보는 Top(ai,j), Bottom(ai,j), Left(ai,j), Right(ai,j)로 정의되며 식 3을 통해 도출할 수 있다.
[식 3]
이때, 가장자리 위치 정보인 median_width와 median_height는 고품질 관심영역 타일 중 상하(width) 또는 좌우(height) 가장자리에 있는 타일의 중앙값을 의미하며, Δx, y는 관심영역이 x축 또는 y축을 기준으로 변화한 양을 나타낸다.
예를 들어, Top(ai,j)의 경우, 현재 사용자 디바이스(200)의 관심 영역의 상단(도 4의 빨간색 네모 상단)이 고품질 관심영역 타일의 상단에 위치해 있는 타일들의 y축 중앙값보다 더 위에 있고, Δy의 변화량이 일정량(d) 이상일 때, 고품질 관심 영역 타일 상단에 인접해 있는 타일들을 관심 영역 추정 타일로 선택할 수 있다.
최종적으로 서버(300)로 요청하는 분할 영상 타일들은 [식 4]와 같이, 관심영역 타일 정보(group(ai,j)) 및 관심영역 추정 타일 정보(Top(ai,j), Bottom(ai,j), Left(ai,j), Right(ai,j))에 상응하는 타일의 합집합(Estimated Tiles E(ai,j))이 된다.
[식 4]
다시 도 3을 참조하면, 저지연 360 VR 스트리밍 시스템(100)은 관심영역 타일 정보 및 관심영역 추정 타일 정보에 상응하는 타일을 스트리밍 서버(300)로 요청하여, 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 수신한다.
이때, 본 발명의 일 실시예는 CMAF 청크(Common Media Application Format Chunk) 단위의 상기 고품질 타일 스트림과 상기 저품질 전체 영상 타일 스트림을 수신하는 것을 특징으로 한다.
도 5는 종래 MPEG-DASH SRD 프로토콜 및 CMAF 프로토콜 방식을 설명하기 위한 도면이다.
MPEG-DASH SRD 프로토콜에서의 세그먼트 구조는 하나의 세그먼트에 'moof' 헤더와 'mdat' 데이터를 가지고 있으며, 'mdat' 데이터는 여러 개의 영상 샘플을 가지고 있다.
CMAF 청크 기반의 세그먼트 구조는 하나의 세그먼트에 여러 개의 'moof' 헤더와 'mdat' 데이터를 가지고 있어, MPEG-DASH SRD 프로토콜 기반의 세그먼트보다 훨씬 적은 수의 영상 샘플을 가질 수 있다.
따라서, 스트리밍 과정에서 MPEG-DASH SRD 프로토콜 방식은 스트리밍 시스템이 수백ms~수s 길이의 세그먼트를 모두 수신해야만 디코딩 및 렌더링을 시작할 수 있다. 이는 세그먼트의 단위가 커질수록 전송시간은 더욱 크게 발생하며, 세그먼트의 단위를 줄이더라도 타일 요청에 필요한 MPD(Media Presentation Description) 및 패킷 오버헤드가 증가하는 트레이드오프(trade-off) 상태이기 때문에 세그먼트 단위 조절을 통한 스트리밍 지연시간 향상을 기대하기 어렵다.
반면, CMAF 청크 기반 프로토콜은 스트리밍 시스템(100)이 세그먼트를 수신하는 과정에서 수ms~수십ms 길이를 갖는 첫번째 CMAF 청크 수신이 완료되는 시점부터 디코딩 및 렌더링을 시작할 수 있으며, 이로 인한 스트리밍 지연시간이 크게 단축되는 장점이 있다.
도 6은 본 발명의 일 실시예에 적용되는 Tiled CMAF 청크 프로토콜을 설명하기 위한 도면이다.
본 발명의 일 실시예에 적용되는 Tiled CMAF 청크 프로토콜 기반의 영상 스트리밍 방식은, 인코딩이 완료되는 시점에서 CMAF 청크가 완료되므로, 저지연 360 VR 스트리밍 시스템(100)은 타일 별 최초 CMAF 청크를 수신하면 곧바로 디코딩을 시작할 수 있다. 따라서, 영상의 스트리밍 지연시간은 각 타일 별 최초 CMAF 청크를 모두 전송할 때로 최소화된다.
이를 위해, 본 발명의 일 실시예는 각 타일에 상응하는 복수의 CMAF 청크에 각각 인덱스를 할당하며, 각 타일 별로 번갈아가며 CMAF 청크의 인덱스 순으로 수신한다. 즉, CMAF 청크 프로토콜 방식은 최초의 CMAF 청크를 수신하면 디코딩이 가능하기 때문에, 스트리밍 서버(300)는 효율을 극대화하기 위하여 각 타일 별 최초의 CMAF 청크를 송신하는 것이 중요하다. 따라서, 도 6의 (b)에 도시된 바와 같이 CMAF 청크의 인덱스를 타일 별로 번갈아가며 송수신하게 된다.
도 7은 본 발명의 일 실시예에 적용되는 Tiled CMAF 청크 프로토콜을 보다 상세히 나타낸 도면이다.
도 7은 본 발명에서 제안하는 관심영역 고품질 타일 스트림, 관심영역 추정 고품질 타일 스트림과, 저품질 전체 영상 타일 스트림이 존재하는 환경에서 Tiled CMAF 청크 프로토콜을 적용하는 실시예를 설명하기 위한 것으로, 각 타일 스트림에는 우선순위가 설정되어 송수신될 수 있다.
즉, 저품질 전체 영상 타일 스트림과 관심영역 고품질 타일 스트림은 사용자에게 실시간으로 스트리밍되는 영상이므로 가장 우선하여 전송된다. 특히, 사용자에게 끊김 없는 스트리밍을 위해 저품질 전체 영상 타일 스트림은 최우선으로 전송되고, 이후 관심영역 고품질 타일 스트림이 전송된다.
저품질 전체 영상 타일 스트림과 관심영역 고품질 타일 스트림의 송수신이 완료되면, 다음으로 관심영역 추정 고품질 타일 스트림이 전송된다. 즉, 관심영역 추정 고품질 타일 스트림은 사용자의 관심영역 전환을 대비한 캐싱을 목적으로 전송하는 것이므로, 가장 후순위로 전송된다. 또한, 네트워크 트래픽 등의 이슈로 인하여 Timestamp를 초과한 경우 관심영역 추정 고품질 타일 스트림의 전송은 중단될 수 있다.
다시 도 3을 참조하면, 다음으로 저지연 360 VR 스트리밍 시스템(100)은 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하고(S160), 렌더링된 영상을 사용자 디바이스(200)로 제공한다(S170).
도 8은 본 발명의 일 실시예에서의 시뮬캐스트 렌더러를 설명하기 위한 도면이다. 도 9는 본 발명의 일 실시예에서의 시뮬캐스트 렌더링 과정을 설명하기 위한 순서도이다.
기존의 고품질과 저품질 타일 영상 기반의 스트리밍은 사용자의 관심영역이 전환될 때, 전환된 관심영역의 고품질 타일 영상을 스트리밍 서버(300)로 재요청하기 때문에, 영상이 디코딩 및 렌더링되는 동안 프레임 손실이 발생한다.
이러한 문제를 해소하기 위해, 본 발명의 일 실시예에는 전송에 필요한 대역폭이 낮은 저품질 전체 영상 타일 스트림과 고품질 타일 스트림을 동시에 렌더링함으로써 이러한 프레임 손실을 방지할 수 있다.
도 8을 참조하면, 멀티 채널 디코더는 저품질 전체 영상 타일 스트림과 고품질 타일 스트림을 디코딩한다.
그리고 시뮬캐스트 렌더러는 디코딩된 고품질 타일 영상을 먼저 렌더링하고, 렌더링되지 않은 영역에 저품질 전체 영상 타일 스트림을 렌더링한다.
이때, 시뮬캐스트 렌더러는 이중 순환 구조의 텍스처 버퍼(Two-Circular Texture Buffer)를 이용하여 렌더링에 사용되는 텍스처를 로딩함으로써 스트리밍 지연 시간을 단축시킬 수 있다.
도 9를 참조하면, 시뮬캐스트 렌더러(140)는 저품질 전체 영상 타일 스트림과 전체 해상도에서 분할된 고품질 타일 스트림의 타일 별로 별도의 렌더러 버퍼와 스레드를 가지고 있다.
렌더러 스레드는 일정 타임스탬프(Timestamp)를 주기로 렌더러 버퍼를 체크하여(S210, S220), 디코딩된 영상 프레임의 존재 여부를 확인하고, 디코딩된 타일 스트림을 타임스탬프에 따라 렌더링 또는 제거한다.
먼저, 고품질 타일 스트림의 렌더러 버퍼를 체크한 후(S230), 타일에 해당하는 텍스처 영역에 맵핑을 수행한다(S240). 고품질 타일 스트림에 대한 맵핑이 완료되면, 저품질 전체 영상 타일 스트림에 상응하는 렌더러 버퍼에서 저품질 전체 영상 타일 스트림을 텍스처의 크기만큼 스케일업하고(S250), 비렌더링 영역인 텍스처 영역에 저품질 전체 영상 타일 스트림을 추가로 맵핑한다(S260). 맵핑 작업이 모두 완료되면 메모리를 제거하고, 텍스처 버퍼를 교체하여 새로운 프레임을 다시 렌더링한다(S270, S280).
본 발명의 일 실시예에 적용되는 시뮬캐스트 렌더링을 통한 스트리밍은 다음과 같은 장점이 있다.
첫번째로, 저품질의 전체 영상 타일 스트림에 고품질의 타일 영상을 렌더링하기 때문에 사용자의 관심 영역이 변경되거나 특정 이슈로 인하여 고품질 타일 영상이 끊기는 경우 저품질 영상이 이를 대체하기 때문에 영상의 끊김과 지연시간 없이 스트리밍이 가능하다.
두 번째로, 관심 영역 추정 알고리즘을 통한 캐싱에 매우 효과적인 렌더링 방식이다. 관심 영역 추정 알고리즘을 통한 캐싱을 적용한 경우 사용자의 관심 영역이 변경되었을 때, 스트리밍 시스템(100)은 캐시에서 고품질 타일 영상을 로딩하여 바로 스트리밍을 할 수 있다. 이 경우 이론적으로 스위칭 지연은 디코딩 시간만큼 소요된다.
마지막으로, 시뮬캐스트 렌더링은 고품질 타일 영상을 일괄적으로 렌더링하지 않기 때문에 고품질 타일 영상의 일부가 손실되더라도 정상적인 타일 영상만을 가지고 렌더링이 가능하다. 이는 CMAF Chunk 단위의 전송 프로토콜에서 고품질 영상 타일의 CMAF Chunk가 차례로 전송되는 과정에서 타일 별로 별도의 렌더링 대기시간이 필요하지 않기 때문에 스트리밍 지연시간 없이 즉시 스트리밍이 가능한 장점이 있다.
한편, 상술한 설명에서, 단계 S110 내지 단계 S280은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다. 아울러, 기타 생략된 내용이라 하더라도 도 3 내지 도 9에 기술된 내용은 도 2의 저지연 360 VR 스트리밍 시스템에도 적용된다.
이상에서 전술한 본 발명의 일 실시예에 따른 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법은, 하드웨어인 서버와 결합되어 실행되기 위해 프로그램(또는 어플리케이션)으로 구현되어 매체에 저장될 수 있다.
상기 전술한 프로그램은, 상기 컴퓨터가 프로그램을 읽어 들여 프로그램으로 구현된 상기 방법들을 실행시키기 위하여, 상기 컴퓨터의 프로세서(CPU)가 상기 컴퓨터의 장치 인터페이스를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. 이러한 코드는 상기 방법들을 실행하는 필요한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Functional Code)를 포함할 수 있고, 상기 기능들을 상기 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수 있다. 또한, 이러한 코드는 상기 기능들을 상기 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 상기 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조되어야 하는지에 대한 메모리 참조관련 코드를 더 포함할 수 있다. 또한, 상기 컴퓨터의 프로세서가 상기 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 상기 컴퓨터의 통신 모듈을 이용하여 원격에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수 있다.
상기 저장되는 매체는, 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상기 저장되는 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있지만, 이에 제한되지 않는다. 즉, 상기 프로그램은 상기 컴퓨터가 접속할 수 있는 다양한 서버 상의 다양한 기록매체 또는 사용자의 상기 컴퓨터상의 다양한 기록매체에 저장될 수 있다. 또한, 상기 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장될 수 있다.
본 발명의 실시예와 관련하여 설명된 방법 또는 알고리즘의 단계들은 하드웨어로 직접 구현되거나, 하드웨어에 의해 실행되는 소프트웨어 모듈로 구현되거나, 또는 이들의 결합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM), 플래시 메모리(Flash Memory), 하드 디스크, 착탈형 디스크, CD-ROM, 또는 본 발명이 속하는 기술 분야에서 잘 알려진 임의의 형태의 컴퓨터 판독가능 기록매체에 상주할 수도 있다.
이상, 첨부된 도면을 참조로 하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며, 제한적이 아닌 것으로 이해해야만 한다.
100: 스트리밍 시스템
200: 360 VR 디바이스
300: 스트리밍 서버
200: 360 VR 디바이스
300: 스트리밍 서버
Claims (11)
- 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법에 있어서,
360 VR 디바이스(이하, 사용자 디바이스)로부터 디바이스 포즈 정보를 수신하는 단계;
상기 디바이스 포즈 정보에 기초하여 사용자의 관심영역을 추출하는 단계;
상기 관심영역에 상응하는 관심영역 타일 정보를 생성하는 단계;
상기 관심영역이 변경될 위치에 상응하는 관심영역 추정 타일 정보를 생성하는 단계;
상기 관심영역 타일 정보 및 관심영역 추정 타일 정보에 상응하는 타일을 스트리밍 서버로 요청하여, 고품질 타일 스트림 및 전체 영상의 저품질 타일 스트림(이하, 저품질 전체 영상 타일 스트림)을 수신하는 단계;
상기 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하는 단계; 및
상기 렌더링된 영상을 사용자 디바이스로 제공하는 단계를 포함하는,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제1항에 있어서,
상기 관심영역 타일 정보를 생성하는 단계는,
상기 추출된 관심영역의 중심에 해당하는 중심 타일 정보를 산출하는 단계; 및
상기 중심 타일 정보를 기반으로 관심영역에 해당하는 타일 그룹 정보를 산출하는 단계를 포함하는,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제2항에 있어서,
상기 중심 타일 정보를 기반으로 관심영역에 해당하는 타일 그룹 정보를 산출하는 단계는,
상기 관심영역의 해상도 및 타일의 크기 정보를 이용하여 인접 타일의 필요량 정보를 산출하는 단계; 및
상기 인접 타일의 필요량 정보에 상응하는 타일을 타일 그룹 정보로 산출하는 단계를 포함하는,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제3항에 있어서,
상기 관심영역 추정 타일 정보를 생성하는 단계는,
상기 타일 그룹 정보를 기반으로 관심영역의 가장자리 위치 정보를 산출하는 단계; 및
상기 가장자리 위치 정보를 기준으로 상기 관심영역의 변화량이 프레임 당 일정거리 이상일 경우, 상기 관심영역 타일 정보와 인접한 타일들을 관심영역 추정 타일 정보로 생성하는 단계를 포함하는,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제1항에 있어서,
상기 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 수신하는 단계는,
CMAF 청크(Common Media Application Format Chunk) 단위의 상기 고품질 타일 스트림과 상기 저품질 전체 영상 타일 스트림을 수신하는 것인,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제5항에 있어서,
상기 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 수신하는 단계는,
각 타일에 상응하는 복수의 CMAF 청크에는 각각 인덱스가 할당되며, 상기 각 타일 별로 번갈아가며 CMAF 청크의 인덱스 순으로 수신하는 것인,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제5항에 있어서,
상기 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 수신하는 단계는,
상기 스트리밍 서버로부터 저품질 전체 영상 타일 스트림을 수신하는 단계;
상기 관심영역 타일 정보에 상응하는 고품질 타일 스트림(이하, 관심영역 고품질 타일 스트림)을 수신하는 단계; 및
상기 저품질 전체 영상 타일 스트림 및 관심영역 고품질 타일 스트림의 수신이 완료됨에 따라 상기 관심영역 추정 타일 정보에 상응하는 고품질 타일 스트림(이하, 관심영역 추정 고품질 타일 스트림)을 수신하는 단계를 포함하는,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제1항에 있어서,
상기 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하는 단계는,
상기 디코딩된 고품질 타일 스트림을 렌더링하는 단계; 및
상기 고품질 타일 스트림의 렌더링이 완료됨에 따라, 상기 고품질 타일 스트림의 비렌더링 영역에 상기 저품질 전체 영상 타일 스트림을 렌더링하는 단계를 포함하는,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제8항에 있어서,
상기 고품질 타일 스트림과 저품질 전체 영상 타일 스트림을 디코딩 및 렌더링하는 단계는,
이중 순환 구조의 텍스처 버퍼를 이용하여 상기 렌더링에 사용되는 텍스처를 로딩하는 것인,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 제8항에 있어서,
상기 디코딩된 고품질 타일 스트림을 렌더링하는 단계는,
상기 고품질 타일 스트림에 상응하는 렌더러 버퍼를 체크하여, 타일에 상응하는 텍스처 영역에 맵핑을 수행하고,
상기 비렌더링 영역에 상기 저품질 전체 영상 타일 스트림을 렌더링하는 단계는,
상기 저품질 전체 영상 타일 스트림에 상응하는 렌더러 버퍼에서 상기 저품질 전체 영상 타일 스트림을 텍스처의 크기만큼 스케일업하고, 상기 비렌더링 영역인 텍스처 영역에 상기 저품질 전체 영상 타일 스트림을 추가 맵핑하는 것인,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 방법.
- 사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템에 있어서,
360 VR 디바이스(이하, 사용자 디바이스)로부터 디바이스 포즈 정보를 수신하는 포즈 정보 트래킹부,
상기 디바이스 포즈 정보에 기초하여 사용자의 관심영역을 추출하고, 상기 관심영역에 상응하는 관심영역 타일 정보 및 관심영역이 변경될 위치에 상응하는 관심영역 추정 타일 정보를 생성하고, 관심영역 타일 정보 및 관심영역 추정 타일 정보에 상응하는 타일을 스트리밍 서버로 요청하여, 고품질 타일 스트림 및 전체 영상의 저품질 타일 스트림(이하, 저품질 전체 영상 타일 스트림)을 수신하는 스트림 수신부,
상기 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 디코딩하는 멀티 채널 디코더 및
상기 디코딩된 고품질 타일 스트림 및 저품질 전체 영상 타일 스트림을 기반으로 렌더링을 수행하여, 렌더링된 영상을 사용자 디바이스로 제공하는 시뮬캐스트 렌더러를 포함하는,
사용자의 관심영역 추정이 가능한 저지연 360 VR 스트리밍 시스템.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210144272A KR102577685B1 (ko) | 2021-10-27 | 2021-10-27 | 사용자의 관심영역 추정이 가능한 저지연 360 vr 스트리밍 시스템 및 방법 |
PCT/KR2021/018752 WO2023075012A1 (ko) | 2021-10-27 | 2021-12-10 | 사용자의 관심영역 추정이 가능한 저지연 360 vr 스트리밍 시스템 및 방법 |
US18/645,918 US20240283901A1 (en) | 2021-10-27 | 2024-04-25 | Low-latency 360 vr streaming system and method for estimating region of interest of user |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210144272A KR102577685B1 (ko) | 2021-10-27 | 2021-10-27 | 사용자의 관심영역 추정이 가능한 저지연 360 vr 스트리밍 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20230060568A KR20230060568A (ko) | 2023-05-08 |
KR102577685B1 true KR102577685B1 (ko) | 2023-09-15 |
Family
ID=86160011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210144272A KR102577685B1 (ko) | 2021-10-27 | 2021-10-27 | 사용자의 관심영역 추정이 가능한 저지연 360 vr 스트리밍 시스템 및 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240283901A1 (ko) |
KR (1) | KR102577685B1 (ko) |
WO (1) | WO2023075012A1 (ko) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021506189A (ja) | 2018-07-13 | 2021-02-18 | エルジー エレクトロニクス インコーポレイティド | 動的ビューポイントの座標系に関するメタデータを送受信する方法及び装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170095030A (ko) * | 2016-02-12 | 2017-08-22 | 삼성전자주식회사 | 통신 시스템에서 vr 컨텐트 디스플레이를 지원하는 기법 |
US10587934B2 (en) * | 2016-05-24 | 2020-03-10 | Qualcomm Incorporated | Virtual reality video signaling in dynamic adaptive streaming over HTTP |
KR20190063590A (ko) | 2017-11-30 | 2019-06-10 | 전자부품연구원 | 분할 영상 기반의 vr 컨텐츠 라이브 스트리밍 서비스 운용 방법 및 이를 지원하는 전자 장치 |
KR102136301B1 (ko) * | 2018-11-27 | 2020-07-22 | 서울과학기술대학교 산학협력단 | 360도 vr 콘텐츠 내의 음원 위치 정보를 이용한 사용자의 시점 예측 시스템 및 방법 |
KR102482702B1 (ko) * | 2020-04-14 | 2023-01-02 | 성균관대학교산학협력단 | 움직임 제한 타일 집합 기반 360도 영상 스트리밍 방법 및 장치 |
-
2021
- 2021-10-27 KR KR1020210144272A patent/KR102577685B1/ko active IP Right Grant
- 2021-12-10 WO PCT/KR2021/018752 patent/WO2023075012A1/ko unknown
-
2024
- 2024-04-25 US US18/645,918 patent/US20240283901A1/en active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021506189A (ja) | 2018-07-13 | 2021-02-18 | エルジー エレクトロニクス インコーポレイティド | 動的ビューポイントの座標系に関するメタデータを送受信する方法及び装置 |
Non-Patent Citations (1)
Title |
---|
Low-Latency CMAF for Live Streaming at Scale, March 6, 2019 by Traci Ruether |
Also Published As
Publication number | Publication date |
---|---|
US20240283901A1 (en) | 2024-08-22 |
KR20230060568A (ko) | 2023-05-08 |
WO2023075012A1 (ko) | 2023-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230283653A1 (en) | Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming | |
US11290699B2 (en) | View direction based multilevel low bandwidth techniques to support individual user experiences of omnidirectional video | |
US20220210512A1 (en) | Content based stream splitting of video data | |
JP2020512772A (ja) | Vrビデオ用に画像解像度を最適化してビデオストリーミングの帯域幅を最適化する画像処理のための方法及び装置 | |
WO2019202207A1 (en) | Processing video patches for three-dimensional content | |
CN112219403B (zh) | 沉浸式媒体的渲染视角度量 | |
CN109218739B (zh) | 视频流的视角切换方法、装置、设备和计算机存储介质 | |
JP7378465B2 (ja) | ビデオストリームを生成及びレンダリングするための装置及び方法 | |
CN109587579A (zh) | 基于cdn的多视角码流传输方法、装置、设备和存储介质 | |
KR102118334B1 (ko) | 분할 영상 기반의 vr 컨텐츠 라이브 스트리밍 서비스를 지원하는 전자 장치 | |
KR20190063590A (ko) | 분할 영상 기반의 vr 컨텐츠 라이브 스트리밍 서비스 운용 방법 및 이를 지원하는 전자 장치 | |
WO2018187627A1 (en) | Video compression using down-sampling patterns in two phases | |
CN113766235B (zh) | 一种全景视频传输方法及设备 | |
US11025880B2 (en) | ROI-based VR content streaming server and method | |
KR102577685B1 (ko) | 사용자의 관심영역 추정이 가능한 저지연 360 vr 스트리밍 시스템 및 방법 | |
KR20220037617A (ko) | 엣지 컴퓨팅 서비스를 이용한 동영상 처리 방법 및 장치 | |
EP3635958B1 (en) | Image processing device and system | |
KR102027172B1 (ko) | Roi 기반의 vr 콘텐츠 스트리밍 서버 및 방법 | |
US12069334B2 (en) | Changing video tracks in immersive videos | |
JP7259947B2 (ja) | 映像配信装置、映像配信方法及びプログラム | |
Miao et al. | Low-delay cloud-based rendering of free viewpoint video for mobile devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |