KR102183895B1 - 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱 - Google Patents

가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱 Download PDF

Info

Publication number
KR102183895B1
KR102183895B1 KR1020180165680A KR20180165680A KR102183895B1 KR 102183895 B1 KR102183895 B1 KR 102183895B1 KR 1020180165680 A KR1020180165680 A KR 1020180165680A KR 20180165680 A KR20180165680 A KR 20180165680A KR 102183895 B1 KR102183895 B1 KR 102183895B1
Authority
KR
South Korea
Prior art keywords
roi
information
data
video data
virtual reality
Prior art date
Application number
KR1020180165680A
Other languages
English (en)
Other versions
KR20200076529A (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 가천대학교 산학협력단
Priority to KR1020180165680A priority Critical patent/KR102183895B1/ko
Publication of KR20200076529A publication Critical patent/KR20200076529A/ko
Application granted granted Critical
Publication of KR102183895B1 publication Critical patent/KR102183895B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • H04N13/111Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
    • H04N13/117Transformation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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/172Processing image signals image signals comprising non-image signal components, e.g. headers or format information
    • 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]

Abstract

본 명세서에 개시된 영상 전송 장치의 영상 전송 방법은 프로세서를 포함한 영상 전송 장치에서 수행되는 방법으로서, 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 수신하는 동작; 상기 구 좌표 및 미리 설정된 프로젝션 정보에 기반하여 상기 관심영역을 2차원 평면에 맵핑하는 동작; 상기 맵핑된 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 계산하는 동작; 및 상기 인덱싱 정보에 기반하여 360도 가상 현실 공간에 대한 비디오 데이터 및 제2 시그널링 데이터를 전송하는 동작을 포함한다.

Description

가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱{INDEXING OF TILES FOR REGION OF INTEREST IN VIRTUAL REALITY VIDEO STREAMING}
본 명세서는 가상 현실 비디오를 스트리밍하는 것에 관한 것이다.
최근 가상 현실 기술 및 장비의 발달과 함께 머리 장착형 영상 표시 장치(Head-Mounted Display; HMD)와 같은 착용 가능한 기기들이 선보이고 있다. 가상 현실 기술과 머리 장착형 영상 표시 장치를 통한 여러 서비스 시나리오 중에는 대표적으로 영화 관람 및 게임뿐만 아니라 화상회의와 원격 수술 등이 존재한다.
머리 장착형 영상 표시 장치는 사용자가 머리에 착용하여 눈앞에서 재생되고, 구 형태의 360도 화면을 재생해야 하기 때문에, 사용자가 어색함 없이 가상현실을 체험하기 위한 가상 현실 기술과 머리 장착형 영상 표시 장치를 통한 서비스 시나리오에는 UHD(Ultra High-Definition)급 이상의 초 고화질 영상이 요구된다.
초 고화질의 360도 영상의 재생에는 높은 컴퓨팅 연산능력이 요구되고, 초 고화질 360도 영상 데이터의 전송에는 높은 대역폭이 요구되지만 현재 출시된 머리 장착형 영상 표시 장치와 가상 현실 기술로 초 고화질 360도 영상을 전송하여 재생하기에는 한계가 있다. 따라서, 초 고화질의 360도 영상을 효율적으로 전송하고 영상 재생 속도를 높이기 위한 영상 처리 기술에 대한 필요성이 증가하고 있다.
대표적인 효율적 전송 방식으로 사용자 시선 기반 방법과 사용자 시선 비 기반 방법이 있다. 사용자 시선 비 기반 방식은 360도 영상 전체에 대한 데이터를 머리 장착형 영상 표시 장치로 전송하는 대신 전송할 영상의 주요 영역 별로 QP값을 조절하거나 다운샘플링 하여 전송 대역폭을 낮춘다. 사용자 시선 기반 방식은 360도 영상 전체 중 사용자가 바라보는 영역은 일부라는 점을 고려하여 사용자가 바라보는 영역에 해당하는 타일만 고화질로 전송한다. 사용자 시선 기반 방식은 선택적인 영상 데이터의 전송으로 인해 전송 대역폭 절감이 크며, 디코더 및 인코더의 연산 복잡도가 낮다. 또한 사용자가 바라보지 않는 영역은 저화질로 전송하여 지연속도를 완화시킨다.
사용자 시선 기반 방식은 정확한 사용자 시선 영역의 판단이 필요하다. 하지만 사용자 시선을 정확히 판단하기 위해서는 다음의 문제점이 있다. 머리 장착형 영상 표시 장치(HMD)가 바라보는 방향은 사용자 시선이 향하는 방향과 다른 문제와 프로젝션의 종류별로 사용자 관심영역의 타일 인덱스가 다른 문제가 발생한다. 따라서, 사용자 시선과 프로젝션을 고려한 효율적 전송 기술에 대한 필요성이 증대되고 있다.
본 명세서는 영상 전송 장치의 영상 전송 방법을 제시한다. 상기 영상 전송 방법은 프로세서를 포함한 영상 전송 장치에서 수행되는 방법으로서, 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 수신하는 동작, 상기 구 좌표 및 미리 설정된 프로젝션 정보에 기반하여 상기 관심영역을 2차원 평면에 맵핑하는 동작, 상기 맵핑된 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 계산하는 동작, 및 상기 인덱싱 정보에 기반하여 360도 가상 현실 공간에 대한 비디오 데이터 및 제2 시그널링 데이터를 전송하는 동작을 포함할 수 있다.
상기 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 제2 시그널링 데이터는 상기 프로젝션 정보 및 상기 프로젝션 정보에 기반한 맵핑된 관심영역 정보를 포함할 수 있다.
또한, 상기 관심영역 타입 정보는 머리 장착형 영상 표시 장치에 기반한 뷰포트 또는 사용자의 시점에 기반한 뷰포트 중 어느 하나를 지시하는 정보일 수 있다.
또한, 상기 방법은 상기 360도 가상 현실 공간의 적어도 일부에 대한 기본 화질 비디오 데이터를 준비하는 동작, 및 상기 관심영역 타일에 관련된 고화질 비디오 데이터를 준비하는 동작을 더 포함하고, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 상기 기본 화질 비디오 데이터 및 상기 고화질 비디오 데이터를 포함할 수 있다.
또한, 상기 기본 화질 비디오 데이터는 상기 360도 가상 현실 공간에 대한 기본 계층 비디오 데이터를 포함하고, 상기 고화질 비디오 데이터는 상기 관심영역 타일에 대한 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 포함할 수 있다.
또한, 상기 구 좌표는 상기 관심영역 네 변의 중앙점에 대해서 마주보는 두 변의 제1 중앙점끼리 연결한 선분들이 교차하는 제2 중앙점의 yaw 좌표 및 pitch 좌표와, 상기 제2 중앙점을 기준으로 한 수평 길이 정보 및 수직 길이 정보로 표현될 수 있다.
또한, 상기 제1 시그널링 데이터 및 제2 시그널링 데이터는 영상 구성 정보를 기초로 생성되고, 상기 영상 구성 정보는 상기 360도 가상 현실 공간 내에서 상기 뷰포트들을 지시하는 시선 정보 및 상기 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다.
또한, 상기 제1 시그널링 데이터 및 제2 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 상기 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수 있다.
또한, 상기 프로젝션의 방식은 Equi-Rectangular Projection (ERP), Cube Map Projection (CMP), Adjusted Equal-Area Projection (AEP), Octahedron Projection (OHP), Icosahedron Projection (ISP), Truncated Square Pyramid (TSP), Segmented Sphere Projection (SSP), Adjusted Cube Map Projection (ACP), Rotated Sphere Projection (RSP), Equatorial Cylindrical Projection (ECP) 및 Equi-Angular Cube Map (EAC) 중 어느 하나일 수 있다.
한편, 본 명세서는 영상 전송 장치를 제시한다. 상기 영상 전송 장치는 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 수신하는 통신부, 상기 구 좌표 및 미리 설정된 프로젝션 정보에 기반하여 상기 관심영역을 2차원 평면에 맵핑하는 제어부, 상기 맵핑된 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 계산하는 시그널링 데이터 생성부, 및 상기 인덱싱 정보에 기반하여 360도 가상 현실 공간에 대한 비디오 데이터 및 제2 시그널링 데이터를 전송하는 전송부를 포함할 수 있다.
상기 장치 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 360도 가상 현실 공간의 적어도 일부에 대한 기본 화질 비디오 데이터 및 상기 관심영역 타일에 대한 고화질 비디오 데이터를 생성하는 인코더를 더 포함할 수 있다.
또한, 상기 기본 화질 비디오 데이터는 상기 360도 가상 현실 공간의 적어도 일부에 대한 기본 계층 비디오 데이터를 포함하고, 상기 고화질 비디오 데이터는 상기 관심영역 타일에 대한 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 포함할 수 있다.
또한, 상기 관심영역 타입 정보는 머리 장착형 영상 표시 장치에 기반한 뷰포트 또는 사용자의 시점에 기반한 뷰포트 중 어느 하나를 지시하는 정보일 수 있다.
또한, 상기 구 좌표는 상기 관심영역 네 변의 중앙점에 대해서 마주보는 두 변의 제1 중앙점끼리 연결한 선분들이 교차하는 제2 중앙점의 yaw 좌표 및 pitch 좌표와, 상기 제2 중앙점을 기준으로 한 수평 길이 정보 및 수직 길이 정보로 표현될 수 있다.
또, 한편, 본 명세서는 영상 재생 장치의 영상 재생 방법을 제시한다. 상기 영상 재생 방법은 프로세서를 포함한 영상 재생 장치에서 수행되는 방법으로서, 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 전송하는 동작, 제2 시그널링 데이터 및 상기 360도 가상 현실 공간에 대한 비디오 데이터를 수신하는 동작, 및 상기 360도 가상 현실 공간에 대한 비디오 데이터 및 상기 제2 시그널링 데이터에 기반하여 영상을 재생하는 동작을 포함하고, 상기 제2 시그널링 데이터는 상기 구 좌표, 상기 관심영역 타입 정보 및 미리 설정된 프로젝션 정보에 기반하여 2차원 평면에 맵핑된 상기 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 포함하고, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 상기 360도 가상 현실 공간의 적어도 일부에 대한 기본 화질 비디오 데이터 및 상기 관심영역 타일에 대한 고화질 비디오 데이터를 포함할 수 있다.
상기 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 360도 가상 현실 공간에 대한 비디오 데이터 및 상기 제2 시그널링 데이터에 기반하여 영상을 재생하는 동작은, 상기 360도 가상 현실 공간에 대한 비디오 데이터 및 상기 제2 시그널링 데이터에 기초하여 상기 관심영역을 포함하는 사용자 뷰포트에 대한 영상을 렌더링하여 표시할 수 있다.
또 다른 한편, 본 명세서는 매체에 저장된 영상 전송을 위한 컴퓨터프로그램을 제시한다. 상기 컴퓨터프로그램은, 컴퓨팅 장치에서, 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 수신하는 동작, 상기 구 좌표 및 미리 설정된 프로젝션 정보에 기반하여 상기 관심영역을 2차원 평면에 맵핑하는 동작, 상기 맵핑된 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 계산하는 동작, 및 상기 인덱싱 정보에 기반하여 360도 가상 현실 공간에 대한 비디오 데이터 및 제2 시그널링 데이터를 전송하는 동작을 실행시킬 수 있다.
본 명세서에 개시된 실시 예들에 의하면, 360도 가상 현실 공간에 대한 사용자의 관심영역을 머리 착용형 영상 표시 장치의 뷰포트와 사용자 시점 기반 뷰포트로 구분하고, 프로젝션 타입에 따라 사용자 관심영역을 맵핑하여 정확한 사용자 관심영역 정보를 전달함으로써, 사용자 관심영역에 대해서만 고화질 비디오를 전송할 수 있어서, 전송 대역폭을 확보할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 360도 가상 현실 공간에 비디오 데이터는 사용자 관심영역에 대해서만 고화질 비디오 데이터를 포함하고, 그 외의 영역에 대해서는 기본 화질의 비디오 데이터를 포함함으로써 영상 재생 장치에서 영상 재생의 지연이 감소하는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 사용자의 관심영역에 대한 정보, 프로젝션 타입에 대한 저옵, 프로젝션 타입에 따른 사용자 관심영역의 맵핑 정보 등을 시그널링 데이터를 통해 전달함으로써, 가상 현실 서비스 시스템에서 전송을 위한 대역폭의 확보와 서비스 속도를 향상할 수 있는 효과가 있다.
또한, 본 명세서에 개시된 실시 예들에 의하면, 360도 가상 현실 공간에서 프로젝션을 고려하여 머리 장착형 표시 장치가 바라보는 위치와 함께 실제로 사용자의 시선이 향하는 관심영역에 대한 정보를 메타데이터로 표현하여 전송함으로써, 정확한 사용자 관심영역 정보를 전달하며 네트워크 환경에 따른 적응적 비디오 전송을 통해 대역폭에 최적화된 비디오 전송을 달성할 수 있는 효과가 있다.
도 1은 가상 현실 영상을 제공하는 예시적인 가상 현실 시스템을 도시한다.
도 2는 예시적인 스케일러블 비디오 코딩 서비스를 나타낸 도면이다.
도 3은 서버 디바이스의 예시적인 구성을 나타낸 블록도이다.
도 4는 서버 디바이스의 인코더의 예시적인 구성을 나타낸 블록도이다.
도 5는 관심영역을 시그널링하는 예시적인 방법을 나타낸 도면이다.
도 6은 클라이언트 디바이스의 예시적인 구성을 나타낸 블록도이다.
도 7은 클라이언트 디바이스의 제어부의 예시적인 구성을 나타낸 블록도이다.
도 8은 클라이언트 디바이스의 디코더의 예시적인 구성을 나타낸 블록도이다.
도 9는 프로젝션 정보에 따른 사용자 관심영역의 타일 인덱싱 방법을 예시적으로 도시한 도면이다.
도 10은 영상 스트리밍 서비스를 위한 예시적인 영상 전송 장치의 블럭도이다.
도 11은 영상 스트리밍 서비스를 위한 예시적인 영상 전송 방법의 순서도이다.
도 12는 영상 스트리밍 서비스를 위한 예시적인 영상 재생 방법의 순서도이다.
도 13은 프로젝션에 따른 사용자 관심영역의 타일 인덱싱에서의 시그널링을 위한 국제 비디오 표준에서의 예시적인 OMAF 구문을 도시한 도면이다.
도 14는 XML의 형태로 표현된 관심영역 타일 인덱싱 정보 구문의 예를 나타낸 도면이다.
본 명세서에 개시된 기술은 영상 전송 장치와 영상 재상 장치 간의 영상 스트리밍을 제공하는 360도 가상 현실 시스템에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 가상 현실 영상을 제공하는 예시적인 가상 현실 시스템을 도시한다.
가상 현실 시스템은 가상 현실 영상을 생성하는 가상 현실 영상 생성 장치, 상기 입력된 가상 현실 영상을 인코딩하여 전송하는 서버 디바이스, 및 상기 전송된 가상 현실 영상을 디코딩하여 사용자에게 출력하는 하나 이상의 클라이언트 디바이스를 포함하도록 구성될 수 있다.
도 1을 참조하면, 예시적인 가상 현실 시스템(100)은 가상 현실 영상 생성 장치(110), 서버 디바이스(120), 및 하나 이상의 클라이언트 디바이스(130)를 포함하며, 도 1에 도시된 각 구성요소들의 수는 예시적인 것일 뿐 이에 제한되지 아니한다. 상기 가상 현실 시스템(100)은 360도 영상 제공 시스템으로도 불릴 수 있다.
상기 가상 현실 영상 생성 장치(110)는 하나 이상의 카메라 모듈을 포함하여 장치 자신이 위치하고 있는 공간에 대한 영상을 촬영함으로써 공간 영상을 생성할 수 있다.
상기 서버 디바이스(120)는 상기 가상 현실 영상 생성 장치(110)에서 생성되어 입력된 가상 현실 공간에 대한 영상을 스티칭(Image stitching), 프로젝션(Projection), 맵핑(Mapping)하여 360도 영상을 생성하고, 상기 생성된 360도 영상을 원하는 품질의 비디오 데이터로 조절한 뒤 인코딩(Encoding; 부호화)할 수 있다.
또한, 상기 서버 디바이스(120)는 상기 인코딩된 360도 영상에 대한 비디오 데이터와 상기 비디오 데이터에 대한 시그널링 데이터를 포함하는 비트스트림을 네트워크(통신망)를 통해서 클라이언트 디바이스(130)로 전송할 수 있다.
상기 클라이언트 디바이스(130)는 수신된 비트스트림을 디코딩(Decoding; 복호화)하여 상기 클라이언트 디바이스(130)를 착용한 사용자에게 360도 영상을 출력할 수 있다. 상기 클라이언트 디바이스(130)는 머리 장착형 영상 표시 장치(Head-Mounted Display; HMD)와 같은 근안 디스플레이(Near-eye display) 장치일 수 있다.
한편, 상기 가상 현실 영상 생성 장치(110)는 컴퓨터 시스템으로 구성되어 컴퓨터 그래픽으로 구현된 가상의 360도 공간에 대한 영상을 생성할 수도 있다. 또한, 상기 가상 현실 영상 생성 장치(110)는 가상 현실 게임 등의 가상 현실 콘텐츠의 공급자 일 수 있다.
클라이언트 디바이스(130)는 해당 클라이언트 디바이스(130)를 사용하는 사용자로부터 사용자 데이터를 획득할 수 있다. 사용자 데이터는 사용자의 영상 데이터, 음성 데이터, 뷰포트 데이터(시선 데이터), 관심영역 데이터 및 부가 데이터를 포함할 수 있다.
예를 들어, 클라이언트 디바이스(130)는 사용자의 영상 데이터를 획득하는 2D/3D 카메라 및 Immersive 카메라 중에서 적어도 하나를 포함할 수 있다. 2D/3D 카메라는 180도 이하의 시야각을 가지는 영상을 촬영할 수 있다. Immersive 카메라는 360도 이하의 시야각을 가지는 영상을 촬영할 수 있다.
예를 들어, 클라이언트 디바이스(130)는 제1 장소에 위치한 제1 사용자의 사용자 데이터를 획득하는 제1 클라이언트 디바이스(131), 제2 장소에 위치한 제2 사용자의 사용자 데이터를 획득하는 제2 클라이언트 디바이스(133), 및 제3 장소에 위치한 제3 사용자의 사용자 데이터를 획득하는 제3 클라이언트 디바이스(135) 중에서 적어도 하나를 포함할 수 있다.
각각의 클라이언트 디바이스(130)는 사용자로부터 획득한 사용자 데이터를 네트워크를 통하여 서버 디바이스(120)로 전송할 수 있다.
서버 디바이스(120)는 클라이언트 디바이스(130)로부터 적어도 하나의 사용자 데이터를 수신할 수 있다. 서버 디바이스(120)는 수신한 사용자 데이터를 기초로 가상 현실 공간에 대한 전체 영상을 생성할 수 있다. 서버 디바이스(120)가 생성한 전체 영상은 가상 현실 공간 내에서 360도 방향의 영상을 제공하는 immersive 영상을 나타낼 수 있다. 서버 디바이스(120)는 사용자 데이터에 포함된 영상 데이터를 가상 현실 공간에 매핑하여 전체 영상을 생성할 수 있다.
서버 디바이스(120)는 상기 생성된 전체 영상을 각 사용자에게 전송할 수 있다.
각각의 클라이언트 디바이스(130)는 전체 영상을 수신하고, 각 사용자가 바라보는 영역만을 가상 현실 공간에 렌더링 및/또는 디스플레이할 수 있다.
도 2는 예시적인 스케일러블 비디오 코딩 서비스를 나타낸 도면이다.
스케일러블 비디오 코딩 서비스는 다양한 멀티미디어 환경에서 네트워크의 상황 혹은 단말기의 해상도 등과 같은 다양한 사용자 환경에 따라 시간적, 공간적, 그리고 화질 관점에서 계층적(Scalable)으로 다양한 서비스를 제공하기 위한 영상 압축 방법이다. 스케일러블 비디오 코딩 서비스는 일반적으로 해상도(Spatial resolution), 품질(Quality), 및 시간(Temporal) 측면에서의 계층성(Scalability)을 제공한다.
공간적 계층성(Spatial scalability)은 동일한 영상에 대해 각 계층별로 다른 해상도를 가지고 부호화함으로써 서비스할 수 있다. 공간적 계층성을 이용하여 디지털 TV, 노트북, 스마트 폰 등 다양한 해상도를 갖는 디바이스에 대해 적응적으로 영상 콘텐츠를 제공하는 것이 가능하다.
도면을 참고하면, 스케일러블 비디오 코딩 서비스는 VSP(비디오 서비스 프로바이더; Video Service Provider)로부터 가정 내의 홈 게이트웨이 (Home Gateway)를 통해 동시에 하나 이상의 서로 다른 특성을 가진 TV를 지원할 수 있다. 예를 들어, 스케일러블 비디오 코딩 서비스는 서로 다른 해상도(Resolution)를 가지는 HDTV (High-Definition TV), SDTV (Standard-Definition TV), 및 LDTV (Low-Definition TV)를 동시에 지원할 수 있다.
시간적 계층성(Temporal scalability)은 콘텐츠가 전송되는 네트워크 환경 또는 단말기의 성능을 고려하여 영상의 프레임 레이트(Frame rate)를 적응적으로 조절할 수 있다. 예를 들어, 근거리 통신망을 이용하는 경우에는 60FPS(Frame Per Second)의 높은 프레임 레이트로 서비스를 제공하고, 상기 근거리 통신망에 비해 상대적으로 전송속도가 느린 3G 모바일 네트워크와 같은 무선 광대역 통신망을 사용하는 경우에는 16FPS의 낮은 프레임 레이트로 콘텐츠를 제공함으로써, 사용자가 영상을 끊김 없이 받아볼 수 있도록 서비스를 제공할 수 있다. 그러나 5G 모바일 네트워크와 같은 고속의 무선 광대역 통신망을 사용하는 경우에는 60FPS의 높은 프레임 레이트로 서비스를 제공할 수 있다.
품질 계층성(Quality scalability) 또한 네트워크 환경이나 단말기의 성능에 따라 다양한 화질의 콘텐츠를 서비스함으로써, 사용자가 영상 콘텐츠를 안정적으로 재생할 수 있도록 한다.
스케일러블 비디오 코딩 서비스는 각각 기본 계층(Base layer)과 하나 이상의 향상 계층(Enhancement layer(s))을 포함할 수 있다. 수신기는 기본 계층만 받았을 때는 일반 화질의 영상을 제공하고, 기본 계층 및 향상 계층을 함께 받으면 고화질을 제공할 수 있다. 즉, 기본 계층과 하나 이상의 향상 계층이 있을 때, 기본 계층을 받은 상태에서 향상 계층(예: enhancement layer 1, enhancement layer 2, ... , enhancement layer n)을 더 받으면 받을수록 화질이나 제공하는 영상의 품질이 좋아진다.
이와 같이, 스케일러블 비디오 코딩 서비스의 영상은 복수 개의 계층으로 구성되어 있으므로, 수신기는 적은 용량의 기본 계층 데이터를 빨리 전송 받아 일반적 화질의 영상을 빨리 처리하여 재생하고, 필요 시 향상 계층 영상 데이터까지 추가로 받아서 서비스의 품질을 높일 수 있다.
도 3은 서버 디바이스의 예시적인 구성을 나타낸 도면이다.
서버 디바이스(300)는 제어부(310) 및/또는 통신부(320)를 포함할 수 있다.
제어부(310)는 가상 현실 공간에 대한 전체 영상을 생성하고, 생성된 전체 영상을 인코딩할 수 있다. 또한, 제어부(310)는 서버 디바이스(300)의 모든 동작을 제어할 수 있다. 구체적인 내용은 이하에서 설명한다.
통신부(320)는 외부 장치 및/또는 클라이언트 디바이스로 데이터를 전송 및/또는 수신할 수 있다. 예를 들어, 통신부(320)는 적어도 하나의 클라이언트 디바이스로부터 사용자 데이터 및/또는 시그널링 데이터를 수신할 수 있다. 또한, 통신부(320)는 가상 현실 공간에 대한 전체 영상 및/또는 일부의 영역에 대한 영상을 클라이언트 디바이스로 전송할 수 있다.
제어부(310)는 시그널링 데이터 추출부(311), 영상 생성부(313), 관심영역 판단부(315), 시그널링 데이터 생성부(317), 및/또는 인코더(319) 중에서 적어도 하나를 포함할 수 있다.
시그널링 데이터 추출부(311)는 클라이언트 디바이스로부터 전송 받은 데이터로부터 시그널링 데이터를 추출할 수 있다. 예를 들어, 시그널링 데이터는 영상 구성 정보를 포함할 수 있다. 상기 영상 구성 정보는 가상 현실 공간 내에서 사용자의 시선 방향을 지시하는 시선 정보 및 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다. 또한, 상기 영상 구성 정보는 가상 현실 공간 내에서 사용자의 뷰포트 정보를 포함할 수 있다.
영상 생성부(313)는 가상 현실 공간에 대한 전체 영상 및 가상 현실 공간 내의 특정 영역에 대한 영상을 생성할 수 있다.
관심영역 판단부(315)는 가상 현실 공간의 전체 영역 내에서 사용자의 시선 방향에 대응되는 관심영역을 판단할 수 있다. 또한, 가상 현실 공간의 전체 영역 내에서 사용자의 뷰포트를 판단할 수 있다. 예를 들어, 관심영역 판단부(315)는 시선 정보 및/또는 줌 영역 정보를 기초로 관심영역을 판단할 수 있다. 예를 들어, 관심영역은 사용자가 보게 될 가상의 공간에서 중요 오브젝트가 위치할 타일의 위치(예를 들어, 게임 등에서 새로운 적이 등장하는 위치, 가상 현실 공간에서의 화자의 위치), 및/또는 사용자의 시선이 바라보는 곳일 수 있다. 또한, 관심영역 판단부(315)는 가상 현실 공간의 전체 영역 내에서 사용자의 시선 방향에 대응되는 관심영역을 지시하는 관심영역 정보와 사용자의 뷰포트에 대한 정보를 생성할 수 있다.
시그널링 데이터 생성부(317)는 전체 영상을 처리하기 위한 시그널링 데이터를 생성할 수 있다. 예를 들어, 시그널링 데이터는 관심영역 정보 및/또는 뷰포트 정보를 전송할 수 있다. 시그널링 데이터는 SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수 있다.
인코더(319)는 시그널링 데이터를 기초로 전체 영상을 인코딩할 수 있다. 예를 들어, 인코더(319)는 각 사용자의 시선 방향을 기초로 각 사용자에게 커스터마이즈된 방식으로 전체 영상을 인코딩할 수 있다. 예를 들어, 가상 현실 공간 내에서 사용자가 특정 지점을 바라보는 경우, 인코더는 가상 현실 공간 내의 사용자 시선을 기초로 특정 지점에 해당하는 영상은 고화질로 인코딩하고, 상기 특정 지점 이외에 해당하는 영상은 저화질로 인코딩할 수 있다. 실시예에 따라서, 인코더(319)는 시그널링 데이터 추출부(311), 영상 생성부(313), 관심영역 판단부(315), 및/또는 시그널링 데이터 생성부(317) 중에서 적어도 하나를 포함할 수 있다.
또한, 제어부(310)는 시그널링 데이터 추출부(311), 영상 생성부(313), 관심영역 판단부(315), 시그널링 데이터 생성부(317), 및 인코더(319) 이 외에 프로세서(도시하지 않음), 메모리(도시하지 않음), 및 입출력 인터페이스(도시하지 않음)를 포함할 수 있다.
상기 프로세서는 중앙처리장치(Central Processing Unit; CPU), 어플리케이션 프로세서(Application Processor; AP), 또는 커뮤니케이션 프로세서(Communication Processor; CP) 중 하나 또는 그 이상을 포함할 수 있다. 상기 프로세서는, 예를 들어, 상기 제어부(310)의 적어도 하나의 다른 구성요소들의 제어 및/또는 통신에 관한 연산이나 데이터 처리를 실행할 수 있다.
또한, 상기 프로세서는, 예를 들어, SoC(system on chip)로 구현될 수 있다. 일 실시예에 따르면, 상기 프로세서는 GPU(graphic processing unit) 및/또는 이미지 신호 프로세서(image signal processor)를 더 포함할 수 있다.
또한, 상기 프로세서는, 예를 들어, 운영 체제 또는 응용 프로그램을 구동하여 상기 프로세서에 연결된 다수의 하드웨어 또는 소프트웨어 구성요소들을 제어할 수 있고, 각종 데이터 처리 및 연산을 수행할 수 있다.
또한, 상기 프로세서는 다른 구성요소들(예: 비휘발성 메모리) 중 적어도 하나로부터 수신된 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리하고, 다양한 데이터를 비휘발성 메모리에 저장(store)할 수 있다.
상기 메모리는 휘발성(volatile) 및/또는 비휘발성(non-volatile) 메모리를 포함할 수 있다. 상기 메모리는, 예를 들어, 상기 제어부(310)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 한 실시예에 따르면, 상기 메모리는 소프트웨어 및/또는 프로그램을 저장할 수 있다.
상기 입출력 인터페이스는, 예를 들어, 사용자 또는 다른 외부 기기로부터 입력된 명령 또는 데이터를 상기 제어부(310)의 다른 구성요소(들)에 전달할 수 있는 인터페이스의 역할을 할 수 있다. 또한, 상기 입출력 인터페이스는 상기 제어부(310)의 다른 구성요소(들)로부터 수신된 명령 또는 데이터를 사용자 또는 다른 외부 기기로 출력할 수 있다.
이하에서는 관심영역을 이용한 예시적인 영상 전송 방법을 설명한다.
서버 디바이스는, 통신부를 이용하여, 적어도 하나의 클라이언트 디바이스로부터 비디오 데이터 및 시그널링 데이터를 수신할 수 있다. 또한, 서버 디바이스는, 시그널링 데이터 추출부를 이용하여, 시그널링 데이터를 추출할 수 있다. 예를 들어, 시그널링 데이터는 시점 정보 및 줌 영역 정보를 포함할 수 있다.
시선 정보는 사용자가 가상 현실 공간 내에서 어느 영역(지점)을 바라보는지 여부를 지시할 수 있다. 가상 현실 공간 내에서 사용자가 특정 영역을 바라보면, 시선 정보는 사용자에서 상기 특정 영역으로 향하는 방향을 지시할 수 있다.
줌 영역 정보는 사용자의 시선 방향에 해당하는 비디오 데이터의 확대 범위 및/또는 축소 범위를 지시할 수 있다. 또한, 줌 영역 정보는 사용자의 시야각을 지시할 수 있다. 줌 영역 정보의 값을 기초로 비디오 데이터가 확대되면, 사용자는 특정 영역만을 볼 수 있다. 줌 영역 정보의 값을 기초로 비디오 데이터가 축소되면, 사용자는 특정 영역뿐만 아니라 상기 특정 영역 이외의 영역 일부 및/또는 전체를 볼 수 있다.
서버 디바이스는, 영상 생성부를 이용하여, 가상 현실 공간에 대한 전체 영상을 생성할 수 있다.
서버 디바이스는, 관심영역 판단부를 이용하여, 시그널링 데이터를 기초로 가상 현실 공간 내에서 각 사용자가 바라보는 시점 및 줌(zoom) 영역에 대한 영상 구성 정보를 파악할 수 있다. 상기 관심영역 판단부는 영상 구성 정보를 기초로 사용자의 관심영역을 결정할 수 있다.
시그널링 데이터(예를 들어, 시점 정보 및 줌 영역 정보 중에서 적어도 하나)가 변경될 경우, 서버 디바이스는 새로운 시그널링 데이터를 수신할 수 있다. 이 경우, 서버 디바이스는 새로운 시그널링 데이터를 기초로 새로운 관심영역을 결정할 수 있다.
서버 디바이스의 제어부는, 시그널링 데이터를 기초로 현재 처리하는 데이터가 관심영역에 해당하는 데이터인지의 여부를 판단할 수 있다.
시그널링 데이터가 변경되는 경우, 서버 디바이스는 새로운 시그널링 데이터를 기초로 현재 처리하는 데이터가 관심영역에 해당하는 데이터인지 아닌지 여부를 판단할 수 있다. 상기 현재 처리하는 데이터가 관심영역에 해당하는 데이터일 경우, 서버 디바이스는, 인코더를 이용하여, 사용자의 시점에 해당하는 비디오 데이터(예를 들어, 관심영역)는 고화질로 인코딩할 수 있다. 예를 들어, 서버 디바이스는 상기 사용자의 시점에 해당하는 비디오 데이터에 대하여 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 생성하여 이들을 전송할 수 있다.
또한, 시그널링 데이터가 변경되는 경우, 서버 디바이스는 새로운 시점에 해당하는 비디오 데이터(새로운 관심영역)는 고화질의 영상으로 전송할 수 있다. 기존에 서버 디바이스가 기본 화질의 영상을 전송하고 있었으나 시그널링 데이터가 변경되어 서버 디바이스가 고화질의 영상을 전송해야 하는 경우, 서버 디바이스는 향상 계층 비디오 데이터를 추가로 생성 및/또는 전송할 수 있다.
새로운 시그널링 데이터를 기초로 현재 처리하는 데이터가 관심영역에 해당하지 않는 데이터일 경우, 서버 디바이스는 사용자의 시점에 해당하지 않는 비디오 데이터(예를 들어, 비-관심영역)은 기본 화질로 인코딩할 수 있다. 예를 들어, 서버 디바이스는 사용자의 시점에 해당하지 않는 비디오 데이터에 대하여 기본 계층 비디오 데이터만 생성하고, 이들을 전송할 수 있다.
시그널링 데이터가 변경되는 경우, 서버 디바이스는 새로운 사용자의 시점에 해당하지 않는 비디오 데이터(새로운 비-관심영역)는 기본 화질의 영상으로 전송할 수 있다. 기존에 서버 디바이스가 고화질의 영상을 전송하고 있었으나 시그널링 데이터가 변경되어 서버 디바이스가 기본 화질의 영상을 전송해야 하는 경우, 서버 디바이스는 더 이상 적어도 하나의 향상 계층 비디오 데이터를 생성 및/또는 전송하지 않고, 기본 계층 비디오 데이터만을 생성 및/또는 전송할 수 있다.
즉, 기본 계층 비디오 데이터를 수신했을 때의 비디오 데이터의 화질은 향상 계층 비디오 데이터까지 받았을 때의 비디오 데이터의 화질보다는 낮으므로, 클라이언트 디바이스는 사용자가 고개를 돌린 정보를 센서 등으로부터 얻는 순간에, 사용자의 시선 방향에 해당하는 비디오 데이터(예를 들어, 관심영역에 대한 비디오 데이터)에 대한 향상 계층 비디오 데이터를 수신할 수 있다. 그리고, 클라이언트 디바이스는 짧은 시간 내에 고화질의 비디오 데이터를 사용자에게 제공할 수 있다.
도 4는 서버 디바이스의 인코더의 예시적인 구성을 나타낸 도면이다.
인코더(400, 영상 부호화 장치)는 기본 계층 인코더(410), 적어도 하나의 향상 계층 인코더(420), 및 다중화기(430) 중에서 적어도 하나를 포함할 수 있다.
인코더(400)는 스케일러블 비디오 코딩 방법을 사용하여 전체 영상을 인코딩할 수 있다. 스케일러블 비디오 코딩 방법은 SVC(Scalable Video Coding) 및/또는 SHVC(Scalable High Efficiency Video Coding)를 포함할 수 있다.
스케일러블 비디오 코딩 방법은 다양한 멀티미디어 환경에서 네트워크의 상황 혹은 단말기의 해상도 등과 같은 다양한 사용자 환경에 따라서 시간적, 공간적, 및 화질 관점에서 계층적(Scalable)으로 다양한 서비스를 제공하기 위한 영상 압축 방법이다. 예를 들어, 인코더(400)는 동일한 비디오 데이터에 대하여 두 가지 이상의 다른 품질(또는 해상도, 프레임 레이트)의 영상들을 인코딩하여 비트스트림을 생성할 수 있다.
예를 들어, 인코더(400)는 비디오 데이터의 압축 성능을 높이기 위해서 계층 간 중복성을 이용한 인코딩 방법인 계층간 예측 툴(Inter-layer prediction tools)을 사용할 수 있다. 계층 간 예측 툴은 계층 간에 존재하는 영상의 중복성을 제거하여 향상 계층(Enhancement Layer; EL)에서의 압축 효율을 높이는 기술이다.
향상 계층은 계층 간 예측 툴을 이용하여 참조 계층(Reference Layer)의 정보를 참조하여 인코딩될 수 있다. 참조 계층이란 향상 계층 인코딩 시 참조되는 하위 계층을 말한다. 여기서, 계층 간 예측 툴을 사용함으로써 계층 사이에 의존성(Dependency)이 존재하기 때문에, 최상위 계층의 영상을 디코딩하기 위해서는 참조되는 모든 하위 계층의 비트스트림이 필요하다. 중간 계층에서는 디코딩 대상이 되는 계층과 그 하위 계층들의 비트스트림 만을 획득하여 디코딩을 수행할 수 있다. 최하위 계층의 비트스트림은 기본 계층(Base Layer; BL)으로써, H.264/AVC, HEVC 등의 인코더로 인코딩될 수 있다.
기본 계층 인코더(410)는 전체 영상을 인코딩하여 기본 계층을 위한 기본 계층 비디오 데이터(또는 기본 계층 비트스트림)를 생성할 수 있다. 예를 들어, 기본 계층 비디오 데이터는 사용자가 가상 현실 공간 내에서 바라보는 전체 영역을 위한 비디오 데이터를 포함할 수 있다. 기본 계층의 영상은 가장 낮은 화질의 영상일 수 있다.
향상 계층 인코더(420)는, 시그널링 데이터(예를 들어, 관심영역 정보) 및 기본 계층 비디오 데이터를 기초로, 전체 영상을 인코딩하여 기본 계층으로부터 예측되는 적어도 하나의 향상 계층을 위한 적어도 하나의 향상 계층 비디오 데이터(또는 향상 계층 비트스트림)를 생성할 수 있다. 향상 계층 비디오 데이터는 전체 영역 내에서 관심영역을 위한 비디오 데이터를 포함할 수 있다.
다중화기(430)는 기본 계층 비디오 데이터, 적어도 하나의 향상 계층 비디오 데이터, 및/또는 시그널링 데이터를 멀티플렉싱하고, 전체 영상에 해당하는 하나의 비트스트림을 생성할 수 있다.
도 5는 관심영역을 시그널링하는 방법을 예시적으로 나타낸 도면으로, 스케일러블 비디오 코딩에서 관심영역을 시그널링하는 방법을 나타낸다.
도 5를 참조하면, 서버 디바이스(또는 인코더)는 기본 계층(BL)과 적어도 하나의 향상 계층(EL)으로 구성되는 스케일러블 비디오 데이터(500)에서 향상 계층으로 구성된 하나의 비디오 데이터(또는 픽처)를 직사각형 모양을 갖는 여러 타일(Tile)들(510)로 분할할 수 있다. 예를 들어, 비디오 데이터는 Coding Tree Unit(CTU) 단위를 경계로 분할될 수 있다. 예를 들어, 하나의 CTU는 Y CTB, Cb CTB, 및 Cr CTB를 포함할 수 있다.
서버 디바이스는 빠른 사용자 응답을 위해서 기본 계층(BL)의 비디오 데이터는 타일로 분할하지 않고 전체적으로 인코딩할 수 있다.
서버 디바이스는 하나 이상의 향상 계층들의 비디오 데이터는 필요에 따라서 일부 또는 전체를 여러 타일들로 분할하여 인코딩할 수 있다. 즉, 서버 디바이스는 향상 계층의 비디오 데이터는 적어도 하나의 타일로 분할하고, 관심영역(520, ROI, Region of Interest)에 해당하는 타일들을 인코딩할 수 있다.
이 때, 관심영역(520)은 가상 현실 공간에서 사용자가 보게 될 중요 오브젝트(Object)가 위치할 타일들의 위치(예를 들어, 게임에서 새로운 적이 등장하는 위치, 화상 통신에서 가상공간에서의 화자의 위치), 및/또는 사용자의 시선이 바라보는 곳에 해당할 수 있다.
또한, 서버 디바이스는 관심영역에 포함되는 적어도 하나의 타일을 식별하는 타일 정보를 포함하는 관심영역 정보를 생성할 수 있다. 예를 들어, 관심영역 정보는 서버 디바이스에 포함된 관심영역 판단부, 시그널링 데이터 생성부, 및/또는 인코더에 의해서 생성될 수 있다.
관심영역(520)의 타일 정보는 연속적이므로 모든 타일의 번호를 다 갖지 않더라도 효과적으로 압축될 수 있다. 예를 들어, 타일 정보는 관심영역에 해당하는 모든 타일의 번호들뿐만 아니라 타일의 시작 번호와 끝 번호, 좌표점 정보, CU (Coding Unit) 번호 리스트, 수식으로 표현된 타일 번호를 포함할 수 있다.
또한, 관심영역(520)은 사용자의 현재 뷰포트 일 수 있다.
비-관심영역의 타일 정보는 인코더가 제공하는 Entropy coding을 거친 후 다른 클라이언트 디바이스, 영상 프로세싱 컴퓨팅 장비, 및/또는 서버로 전송될 수 있다.
관심영역 정보는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol)을 통해 전해질 수 있다. 또한, 관심영역 정보는 비디오 표준의 SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더 (Slice Header) 등의 패킷 단위에서 전해질 수 있다. 또한, 관심영역 정보는 비디오 파일을 서술하는 별도의 파일, 예를 들어, DASH의 MPD로 전달될 수 있다.
이하에서는, 단일 화면 비디오에서의 관심영역을 시그널링하는 방법을 나타낸다.
본 명세서의 예시적인 기술은 스케일러블 비디오가 아닌 단일 화면 영상에서는 일반적으로 관심영역(ROI)이 아닌 영역을 다운스케일링(downscaling)(다운샘플링(downsampling))하는 방식으로 화질을 떨어뜨리는 기법을 사용할 수 있다.
종래 기술은 서비스를 이용하는 단말 간에 다운스케일링(downscaling)을 위해 쓴 필터(filter) 정보를 공유하지 않고, 처음부터 한가지 기술로 약속을 하거나 인코더만 필터 정보를 알고 있다.
하지만, 본 명세서의 서버 디바이스는, 인코딩된 영상을 전달 받는 클라이언트 디바이스(또는 HMD 단말)에서 다운스케일링(downscaling)된 관심영역 외 영역의 화질을 조금이라도 향상 시키기 위해, 인코딩 시에 사용된 필터 정보를 클라이언트 디바이스로 전달할 수 있다. 이 기술은 실제로 영상 처리 시간을 상당히 줄일 수 있으며, 화질 향상을 제공할 수 있다.
전술한 바와 같이, 서버 디바이스는 관심영역 정보를 생성할 수 있다. 예를 들어, 관심영역 정보는 타일 정보뿐만 아니라 필터 정보를 더 포함할 수 있다. 예를 들어, 필터 정보는 약속된 필터 후보들의 번호, 필터에 사용된 값들을 포함할 수 있다.
도 6은 클라이언트 디바이스의 예시적인 구성을 나타낸 도면이다.
클라이언트 디바이스(600)는 영상 입력부(610), 오디오 입력부(620), 센서부(630), 영상 출력부(640), 오디오 출력부(650), 통신부(660), 및/또는 제어부(670) 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 클라이언트 디바이스(600)는 HMD(Head-Mounted Display)일 수 있다. 또한, 클라이언트 디바이스(600)의 제어부(670)는 클라이언트 디바이스(600)에 포함될 수도 있고, VR 디바이스의 스마트폰처럼 별도의 장치로 존재할 수도 있다.
영상 입력부(610)는 비디오 데이터를 촬영할 수 있다. 영상 입력부(610)는 사용자의 영상을 획득하는 2D/3D 카메라 및/또는 Immersive 카메라 중에서 적어도 하나를 포함할 수 있다. 2D/3D 카메라는 180도 이하의 시야각을 가지는 영상을 촬영할 수 있다. Immersive 카메라는 360도 이하의 시야각을 가지는 영상을 촬영할 수 있다.
오디오 입력부(620)는 사용자의 음성을 녹음할 수 있다. 예를 들어, 오디오 입력부(620)는 마이크를 포함할 수 있다.
센서부(630)는 사용자 시선의 움직임에 대한 정보를 획득할 수 있다. 예를 들어, 센서부(630)는 물체의 방위 변화를 감지하는 자이로 센서, 이동하는 물체의 가속도나 충격의 세기를 측정하는 가속도 센서, 및 사용자의 시선 방향을 감지하는 외부 센서를 포함할 수 있다. 실시예에 따라서, 센서부(630)는 영상 입력부(610) 및 오디오 입력부(620)를 포함할 수도 있다.
영상 출력부(640)는 통신부(660)로부터 수신되거나 메모리(미도시)에 저장된 영상 데이터를 출력할 수 있다.
오디오 출력부(650)는 통신부(660)로부터 수신되거나 메모리에 저장된 오디오 데이터를 출력할 수 있다.
통신부(660)는 방송망, 무선통신망 및/또는 브로드밴드를 통해서 외부의 클라이언트 디바이스 및/또는 서버 디바이스와 통신할 수 있다. 통신부(660)는 데이터를 전송하는 전송부(미도시) 및/또는 데이터를 수신하는 수신부(미도시)를 더 포함할 수 있다.
제어부(670)는 클라이언트 디바이스(600)의 모든 동작을 제어할 수 있다. 제어부(670)는 서버 디바이스로부터 수신한 비디오 데이터 및 시그널링 데이터를 처리할 수 있다. 제어부(670)에 대한 구체적인 내용은 이하의 도 7에서 상세히 설명한다.
도 7은 클라이언트 디바이스의 제어부의 예시적인 구성을 나타낸 블록도이다.
제어부(700)는 시그널링 데이터 및/또는 비디오 데이터를 처리할 수 있다. 제어부(700)는 시그널링 데이터 추출부(710), 디코더(720), 시선 판단부(730), 및/또는 시그널링 데이터 생성부(740) 중에서 적어도 하나를 포함할 수 있다.
시그널링 데이터 추출부(710)는 서버 디바이스 및/또는 다른 클라이언트 디바이스로부터 전송 받은 데이터로부터 시그널링 데이터를 추출할 수 있다. 예를 들어, 시그널링 데이터는 관심영역 정보를 포함할 수 있다.
디코더(720)는 시그널링 데이터를 기초로 비디오 데이터를 디코딩할 수 있다. 예를 들어, 디코더(720)는 각 사용자의 시선 방향을 기초로 각 사용자에게 커스터마이즈된 방식으로 전체 영상을 디코딩할 수 있다. 예를 들어, 가상 현실 공간 내에서 사용자가 특정 영역을 바라보는 경우, 디코더(720)는 가상 현실 공간 내의 사용자 시선을 기초로 특정 영역에 해당하는 영상은 고화질로 디코딩하고, 특정 영역 이외에 해당하는 영상은 저화질로 디코딩할 수 있다. 실시예에 따라서, 디코더(720)는 시그널링 데이터 추출부(710), 시선 판단부(730), 및/또는 시그널링 데이터 생성부(740) 중에서 적어도 하나를 포함할 수 있다.
시선 판단부(730)는 가상 현실 공간 내에서 사용자의 시선을 판단하고, 영상 구성 정보를 생성할 수 있다. 예를 들어, 영상 구성 정보는 시선 방향을 지시하는 시선 정보 및/또는 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다.
시그널링 데이터 생성부(740)는 서버 디바이스 및/또는 다른 클라이언트 디바이스로 전송하기 위한 시그널링 데이터를 생성할 수 있다. 예를 들어, 시그널링 데이터는 영상 구성 정보를 전송할 수 있다. 또한, 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol)을 통해 전해질 수 있으며, 시그널링 데이터는 SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더 (Slice Header), 및 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송될 수도 있다.
도 8은 클라이언트 디바이스의 디코더의 예시적인 구성을 나타낸 도면이다.
디코더(800)는 추출기(810), 기본 계층 디코더(820), 및/또는 적어도 하나의 향상 계층 디코더(830) 중에서 적어도 하나를 포함할 수 있다.
디코더(800)는 스케일러블 비디오 코딩 방법의 인코딩 과정의 역 과정을 이용하여 비디오 데이터를 포함하는 비트스트림을 디코딩할 수 있다.
추출기(810)는 비디오 데이터 및 시그널링 데이터를 포함하는 비트스트림(비디오 데이터)을 수신하고, 재생하고자 하는 영상의 화질에 따라서 비트스트림을 선택적으로 추출할 수 있다. 예를 들어, 비트스트림(비디오 데이터)은 기본 계층을 위한 기본 계층 비트스트림(기본 계층 비디오 데이터) 및 기본 계층으로부터 예측되는 적어도 하나의 향상 계층을 위한 적어도 하나의 향상 계층 비트스트림(향상 계층 비디오 데이터)을 포함할 수 있다. 기본 계층 비트스트림(기본 계층 비디오 데이터)는 가상 현실 공간의 전체 영역을 위한 비디오 데이터를 포함할 수 있다. 적어도 하나의 향상 계층 비트스트림(향상 계층 비디오 데이터)는 전체 영역 내에서 관심영역을 위한 비디오 데이터를 포함할 수 있다.
또한, 시그널링 데이터는 화상 회의 서비스를 위한 가상 현실 공간의 전체 영역 내에서 사용자의 시선 방향에 대응되는 관심영역을 지시하는 관심영역 정보를 포함할 수 있다.
기본 계층 디코더(820)는 저화질 영상을 위한 기본 계층의 비트스트림(또는 기본 계층 비디오 데이터)을 디코딩할 수 있다.
향상 계층 디코더(830)는 시그널링 데이터 및/또는 기본 계층의 비트스트림(또는 기본 계층 비디오 데이터)을 기초로 고화질 영상을 위한 적어도 하나의 향상 계층의 비트스트림(또는 향상 계층 비디오 데이터)을 디코딩할 수 있다.
한편, 디코더(800)는 비트스트림에 포함된 비디오 데이터가 스케일러블 비디오 코딩으로 인코딩된 데이터가 아닐 경우엔, 비디오 스트림으로부터 가상 현실 공간의 전체 영역을 위한 기본 화질의 비디오 데이터와 가상 현실 공간 전체 영역 내에서 관심영역을 위한 고화질의 비디오 데이터를 추출할 수 있다.
이하에서는, 사용자 시선의 움직임에 실시간으로 대응하기 위한 영상 구성 정보를 생성하는 방법에 대하여 설명한다.
영상 구성 정보는 사용자의 시선 방향을 지시하는 시선 정보 및/또는 사용자의 시야각을 지시하는 줌 영역 정보 중에서 적어도 하나를 포함할 수 있다. 사용자 시선이란 실제 공간이 아닌 가상 현실 공간 내에서 사용자가 바라보는 방향을 의미한다. 또한, 시선 정보는 현재 사용자의 시선 방향을 지시하는 정보뿐만 아니라, 미래에 사용자의 시선 방향을 지시하는 정보(예를 들어, 주목을 받을 것이라 예상되는 시선 지점에 대한 정보)를 포함할 수 있다.
클라이언트 디바이스는 사용자를 중심으로 가상 현실 공간 내에 위치하는 특정한 영역을 바라보는 동작을 센싱하고, 이를 처리할 수 있다.
클라이언트 디바이스는, 제어부 및/또는 시선 판단부를 이용하여, 센서부로부터 센싱 정보를 수신할 수 있다. 센싱 정보는 카메라에 의해 촬영된 영상, 마이크에 의해 녹음된 음성일 수 있다. 또한, 센싱 정보는 자이로 센서, 가속도 센서, 및 외부 센서에 의해서 감지된 데이터일 수 있다.
또한, 클라이언트 디바이스는, 제어부 및/또는 시선 판단부를 이용하여, 센싱 정보를 기초로 사용자 시선의 움직임을 확인할 수 있다. 예를 들어, 클라이언트 디바이스는 센싱 정보가 가지는 값의 변화를 기초로 사용자 시선의 움직임을 확인할 수 있다.
또한, 클라이언트 디바이스는, 제어부 및/또는 시선 판단부를 이용하여, 가상 현실 공간에서의 영상 구성 정보를 생성할 수 있다. 예를 들어, 클라이언트 디바이스가 물리적으로 움직이거나 사용자의 시선이 움직이는 경우, 클라이언트 디바이스는 센싱 정보를 기초로 가상 현실 공간에서의 사용자의 시선 정보 및/또는 줌 영역 정보를 계산할 수 있다.
또한, 클라이언트 디바이스는, 통신부를 이용하여, 영상 구성 정보를 서버 디바이스 및/또는 다른 클라이언트 디바이스로 전송할 수 있다. 또한, 클라이언트 디바이스는 영상 구성 정보를 자신의 다른 구성요소로 전달할 수도 있다.
이상에서는 클라이언트 디바이스가 영상 구성 정보를 생성하는 방법을 설명하였다. 다만 이에 한정되지 않으며, 서버 디바이스가 클라이언트 디바이스로부터 센싱 정보를 수신하고, 영상 구성 정보를 생성할 수도 있다.
또한, 클라이언트 디바이스와 연결된 외부의 컴퓨팅 디바이스가 영상 구성 정보를 생성할 수 있으며, 컴퓨팅 디바이스는 영상 구성 정보를 자신의 클라이언트 디바이스, 다른 클라이언트 디바이스, 및/또는 서버 디바이스로 전달할 수도 있다.
이하에서는, 클라이언트 디바이스가 영상 구성 정보를 시그널링 하는 방법을 설명한다.
영상 구성 정보(시점 정보 및/또는 줌 영역 정보를 포함)를 시그널링하는 부분은 매우 중요하다. 영상 구성 정보의 시그널링이 너무 잦을 경우, 클라이언트 디바이스, 서버 디바이스, 및/또는 전체 네트워크에 부담을 줄 수 있다.
따라서, 클라이언트 디바이스는 사용자의 영상 구성 정보(또는 시선 정보 및/또는 줌 영역 정보)가 변경되는 경우에만 영상 구성 정보를 시그널링할 수 있다. 즉, 클라이언트 디바이스는 사용자의 시선 정보가 변경되는 경우에만 사용자의 시선 정보를 다른 클라이언트 디바이스 및/또는 서버 디바이스로 전송할 수 있다.
이상에서는 클라이언트 디바이스가 영상 구성 정보를 생성 및/또는 전송하는 것을 중심으로 설명하였지만, 서버 디바이스가 클라이언트 디바이스로부터 센싱 정보를 수신하고, 센싱 정보를 기초로 영상 구성 정보를 생성하고, 영상 구성 정보를 적어도 하나의 클라이언트 디바이스로 전송할 수도 있다.
이상에서 언급한 시그널링은 서버 디바이스, 클라이언트 디바이스, 및/또는 외부의 컴퓨팅 장치(존재하는 경우) 사이의 시그널링일 수 있다. 또한, 이상에서 언급한 시그널링은 클라이언트 디바이스 및/또는 외부의 컴퓨팅 장치(존재하는 경우) 사이의 시그널링일 수 있다.
이하에서는, 높고/낮은 수준의 영상을 전송하는 예시적인 방법을 설명한다.
사용자의 시선 정보를 기초로 높고/낮은 수준의 영상을 전송하는 방법은 스케일러블 코덱의 계층을 스위칭하는 방법, 싱글 비트스트림 및 실시간 인코딩의 경우 QP(Quantization Parameter) 등을 이용한 Rate Control 방법, DASH 등의 단일 비트스트림의 경우 청크(Chunk) 단위로 스위칭하는 방법, 다운스케일링/업스케일링방법(Down Scaling/Up Scaling), 및/또는 렌더링(Rendering)의 경우 더 많은 리소스를 활용한 고화질 렌더링 방법을 포함할 수 있다.
전술한 예시적인 기술은 비록 스케일러블 비디오를 통한 차별적 전송 기법을 이야기하고 있지만, 단일 계층을 갖는 일반 비디오 코딩 기술을 사용할 경우에도, 양자화 계수(Quantization Parameter)나 다운스케일링/업스케일링 정도를 조절함으로써, 전체 대역폭을 낮추고, 빠르게 사용자 시선 움직임에 응답하는 등의 장점을 제공할 수 있다. 또한 미리 여러 비트레이트(bitrate)를 갖는 비트스트림(bitstream)으로 트랜스코딩된 파일들을 사용할 경우, 본 명세서의 예시적인 기술은 청크(Chunk) 단위로 높은 수준의 영상과 낮은 수준의 영상 사이를 스위칭하여 제공할 수 있다.
또한, 본 명세서는 가상 현실 시스템을 예로 들고 있지만, 본 명세서는 HMD를 이용한 VR (Virtual Reality) 게임, AR (Augmented Reality) 게임 등에서도 똑같이 적용될 수 있다. 즉, 사용자가 바라보는 시선에 해당하는 영역을 높은 수준의 영상으로 제공하고, 사용자가 바라볼 것으로 예상되는 영역이나 오브젝트(Object)가 아닌 곳을 바라볼 경우만 시그널링하는 기법 모두가 가상 현실 시스템의 예에서와 똑같이 적용될 수 있다.
전체 영상을 하나의 압축된 영상 비트스트림(Bitstream)으로 받아서 이를 복호화(Decoding)하고 사용자가 바라보는 영역을 가상의 공간에 렌더링(Rendering)하는 기술은 전체 영상(예를 들어, 360도 몰입형(Immersive) 영상)을 모두 비트스트림으로 전송 받는다. 각각이 고해상도인 영상이 모인 이 비디오 비트스트림의 총 대역폭은 매우 클 수밖에 없어서, 비트스트림의 총대역폭이 매우 커지는 것을 방지하기 위해서 국제 비디오 표준 기술 중 SVC 및 HEVC의 스케일러블 확장 표준인 스케일러블 고효율 비디오 부호화(Scalable High Efficiency Video Coding)와 같은 스케일러블 비디오 기술이 사용될 수 있다.
이하에서는 프로젝션 타입에 따라 사용자의 관심영역에 해당하는 타일에 대한 인덱싱 방법의 예를 도 9 내지 11을 참조하여 설명한다.
도 9는 프로젝션 정보에 따른 사용자 관심영역의 타일 인덱싱 방법을 예시적으로 도시한 도면이다.
도 9를 참조하면, 클라이언트 디바이스(910; 머리 장착형 영상 표시 장치)를 착용한 사용자가 가상 현실 공간 내에서 특정 방향을 바라보는 경우, 상기 클라이언트 디바이스(910)에서의 사용자 관심영역은 클라이언트 디바이스 기반의 사용자 관심영역(911)과 사용자 시선 기반의 사용자 관심영역(913)으로 구분될 수 있다.
클라이언트 디바이스(910)는 사용자에 의해 선택된 관심영역의 구 좌표를 계산하고, 계산된 구 좌표에 대한 정보를 관심영역에 대한 타입 정보와 함께 서버 디바이스(도시하지 않음)로 전송할 수 있다.
예를 들어, 사용자 관심영역으로 시선 기반의 관심영역(913)이 선택되면, 상기 관심영역(920)의 구 좌표는 중앙점(929)의 yaw 및 pitch 좌표와 중앙점(929)을 지나는 수평(yaw), 수직(pitch) 길이로 표현될 수 있다. 여기서, 상기 중앙점(929)은 상기 관심영역(920)의 네 변의 네 개의 중앙점들(921, 923, 925, 927), 예를 들어, cAzimuth1(921), cAzimuth2(923), cElevation1(925), cElevation2(927)를 Yaw와 Pitch로 두 점씩 수평, 수직으로 연결하여 교차하는 점(929)으로 결정된다.
서버 디바이스가 클라이언트 디바이스(910)로부터 사용자 관심영역에 대한 구 좌표와 관심영역에 대한 타입 정보(도면에서는 사용자 시선 기반의 관심영역)를 수신하면, 수신된 구 좌표를 이용하여 프로젝션 종류(도 9에서는 프로젝션 종류는 equirectangular 프로젝션임)에 따라 사용자 관심영역을 2차원 평면으로 맵핑할 수 있다. 상기 맵핑된 관심영역(931)은 직사각형의 2D 이미지이므로 관심영역의 좌표를 직사각형의 좌측 상단 모서리의 x,y 좌표와 우측 하단 모서리의 x,y 좌표로 나타낼 수 있다.
서버 디바이스는 타일로 구분된 가상 현실 공간에 대한 영상(930)에서 프로젝션에 맵핑된 관심영역(931)에 해당하는 타일 인덱스를 구하고, 구해진 타일 인덱스 정보를 이용하여 전송될 비디오 데이터에 대한 메타데이터를 생성하고, 생성된 메타데이터를 시그널링 데이터에 포함시켜 클라이언트 디바이스로 전송할 수 있다. 예시에서 맵핑된 관심영역을 포함하는 타일의 번호는 Tile1, Tile2, Tile4, 및 Tile5이다.
도 10은 영상 스트리밍 서비스를 위한 예시적인 영상 전송 장치의 블럭도이고, 도 11은 영상 스트리밍 서비스를 위한 예시적인 영상 전송 방법의 순서도이다.
도 10 내지 11을 참조하면, 영상 전송 장치(서버 디바이스)(1000)는 통신부(1010), 제어부(1020), 시그널링 데이터 생성부(1030), 인코더(1040), 및/또는 다중화기(1050)를 포함할 수 있다.
통신부(1010)는 클라이언트 디바이스(도시하지 않음)로부터 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 수신할 수 있다(S1101).
상기 관심영역 타입 정보는 클라이언트 디바이스(예를 들어, 머리 장착형 영상 표시 장치)에 기반한 뷰포트 또는 사용자의 시점에 기반한 뷰포트 중 어느 하나를 지시하는 정보를 포함할 수 있다.
제어부(1020)는 통신부(1010)를 통해 수신된 사용자 관심영역에 대한 구 좌표, 사용자 관심영역에 대한 타입(type) 정보 및/또는 360도 영상을 2차원 평면으로 프로젝션하는 프로젝션 정보에 기반하여 상기 사용자 관심영역을 2차원 평면에 맵핑할 수 있다(S1103).
360도 가상 현실 공간에 대한 비디오를 인코딩하여 클라이언트 디바이스로 전송하기 위해서는, 인코딩 장치가 사각형 형상의 비디오만 인코딩할 수 있으므로, 구 형태의 비디오 영상을 2차원의 평면으로 프로젝션하는 과정이 필수적으로 요구된다.
따라서, 제어부(1020)는 프로젝션 타입을 나타는 프로젝션 정보에 기반하여 사용자 관심영역을 2차원 평면에 맵핑할 수 있다.
또한, 제어부(1020)는 상기 2차원 평면에 맵핑된 관심영역에 대응하는 관심영역에 대한 타일의 인덱싱 정보를 계산하여 생성할 수 있다. 즉, 제어부(1020)는 맵핑된 관심영역을 포함하는 타일들의 식별 정보를 생성할 수 있다(S1105).
시그널링 데이터 생성부(1030)는 가상 현실 공간 내에서 상기 맵핑된 관심영역에 대응하는 관심영역 타일의 인덱싱 정보에 적어도 일부 기초하여 제2 시그널링 데이터를 생성할 수 있다.
상기 제2 시그널링 데이터는 360도 가상 현실 공간에 대한 프로젝션 정보 및 상기 프로젝션 정보에 기반한 맵핑된 관심영역 정보를 포함할 수 있다. 상기 맵핑된 관심영역 정보는 맵핑된 관심영역을 포함하는 타일들의 식별 정보일 수 있다.
인코더(1040)는 360도 가상 현실 공간에 대한 영상 스트리밍 서비스를 위한 비디오 데이터를 생성할 수 있다. 상기 비디오 데이터는 360도 가상 현실 공간의 적어도 일부에 대한 기본 화질 비디오 데이터와 가상 현실 공간 전체 영역 내에서 사용자의 관심영역에 대응되는 영역에 관련된 고화질 비디오 데이터를 인코딩할 수 있다.
상기 사용자의 관심영역에 대응되는 영역은 적어도 하나의 타일로 분할될 수 있어서 상기 고화질 비디오 데이터는 상기 적어도 하나의 타일에 대한 고화질의 영상일 수 있다.
360도 가상 현실 공간에 대한 비디오 데이터는 기본 화질 비디오 데이터 및 고화질 비디오 데이터를 포함할 수 있으며, 상기 기본 화질 비디오 데이터는 상기 360도 가상 현실 공간에 대한 기본 계층 비디오 데이터를 포함하고, 상기 고화질 비디오 데이터는 관심영역 타일에 대한 기본 계층 비디오 데이터 및 적어도 하나 이상의 향상 계층 비디오 데이터를 포함하도록 인코딩될 수 있다.
또한, 인코더(1040)는 기본 계층 인코더와 향상 계층 인코더를 포함할 수 있으며, 이 때, 기본 화질 비디오 데이터는 360도 가상 현실 공간 전체 영역에 대한 기본 계층 비디오 데이터일 수 있으며, 고화질 비디오 데이터는 360도 가상 현실 공간 내에서 사용자가 바라보고 있는 뷰포트 또는 클라이언트 디바이스의 뷰포트에 포함된 타일들에 대한 기본 계층 비디오 데이터와 적어도 하나 이상의 향상 계층 비디오 데이터일 수 있다.
기본 계층은 빠른 사용자 응답시간을 위해 타일링되지 않고 전체적으로 인코딩될 수 있다. 하나 이상의 향상 계층은 필요에 따라 일부 또는 전체가 여러 타일들로 나누어져서 부호화 될 수 있다.
다중화기(1050)는 360도 가상 현실 공간에 대한 비디오 데이터 및 상기 비디오 데이터에 대한 제2 시그널링 데이터를 포함하는 비트스트림을 생성할 수 있다.
또한, 통신부(1010)는 다중화기(1050)에서 생성된 비디오 데이터 및 제2 시그널링 데이터를 포함하는 비트스트림을 제어부(1020)의 명령에 따라 클라이언트 디바이스로 전송할 수 있다(S1107).
여기에서, 뷰포트 또는 관심영역 내의 타일 번호는 연속적으로 부여되므로 뷰포트에 포함된 타일 정보를 제1 시그널링 데이터 및 제2 시그널링 데이터에 포함하여 전송할 때, 클라이언트 디바이스와 서버 디바이스는 타일에 대한 모든 번호 정보를 다 보내지 않고도 효과적으로 압축할 수 있다. 예를 들어, 상기 디바이스들은 타일의 시작과 끝 번호, 타일의 좌표점 정보, 타일 내 코딩 단위(CU) 번호 리스트, 타일 번호를 수식으로 표현하는 방법 등을 사용하여 타일 번호 정보를 효과적으로 압축할 수 있다.
제1 시그널링 데이터 및 제2 시그널링 데이터는 360도 가상 현실 공간에 대한 영상 구성 정보를 기초로 생성되고, 상기 영상 구성 정보는 상기 360도 가상 현실 공간 내에서 뷰포트들을 지시하는 시선 정보 및 사용자의 시야각을 지시하는 줌 영역 정보를 포함할 수 있다.
이러한 시그널링 데이터는 세션(Session) 정보를 실어나르는 고수준 구문(High-level syntax) 프로토콜을 통해 전해질 수도 있고, 비디오 표준의 SEI, VUI, 또는 슬라이스 헤더 등의 패킷 단위에 의해서 전해질 수도 있고, 비디오 파일을 설명하는 별도의 파일(예를 들어, DASH의 MPD)에 포함되어 전달될 수 있다.
360도 가상 현실 공간에 대한 2차원 평면으로의 프로젝션 타입은 Equi-Rectangular Projection (ERP), Cube Map Projection (CMP), Adjusted Equal-Area Projection (AEP), Octahedron Projection (OHP), Icosahedron Projection (ISP), Truncated Square Pyramid (TSP), Segmented Sphere Projection (SSP), Adjusted Cube Map Projection (ACP), Rotated Sphere Projection (RSP), Equatorial Cylindrical Projection (ECP) 및 Equi-Angular Cube Map (EAC) 등이 있다.
360도 가상 현실 공간에 대한 특정 영역에 대한 비디오는 다양한 프로젝션 방식으로 인해 프로젝션 타입에 따라 그 위치와 모양이 최초 비디오와 달라지게 된다. 따라서, 프로젝션 타입에 따라 관심영역을 맵핑한 뒤, 맵핑된 관심영역에 대한 정보 및 프로젝션 타입에 대한 정보와 함께 프로젝션 영상을 인코딩하여 영상 재상 장치로 전송하면, 영상 재생 장치는 정확하게 360도 가상 공간에 대한 비디오를 디코딩할 수 있게 되며, 관심영역에 대한 맵핑 정보를 통해 관심영역에 대응되는 타일에 대해서만 고화질의 비디오 데이터를 전송할 수 있으므로, 전송 대역폭을 확보하고, 재생 속도를 높일 수 있는 효과가 있게 된다.
또한, 사용자 관심영역에 대한 구 좌표를 통해 얻을 수 있는 프로젝션 좌표와 타일 인덱스 정보는 영상 전송 장치와 영상 재생 장치 간에 각 장치의 성능, 네트워크의 상태 등 상황에 알맞게 양측에서 모두 연산이 가능할 수 있다.
이하에서는, 사용자의 관심영역에 해당하는 타일에 대한 인덱싱 방법을 이용하여 영상 재생 장치에서 수신된 영상을 재생하는 방법을 도 12를 참조하여 설명한다.
도 12는 영상 스트리밍 서비스를 위한 예시적인 영상 재생 방법의 순서도이다.
도12를 참조하면, 예시적인 영상 재생 방법은 영상 재생 장치에 포함된 프로세서에 의해서 다음의 과정을 통해서 수행될 수 있다.
먼저, 영상 재생 장치의 프로세서는 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 전송할 수 있다(S1201).
다음으로, 영상 재생 장치의 프로세서는 영상 전송 장치로부터 제2 시그널링 데이터 및 360도 가상 현실 공간에 대한 비디오 데이터를 수신할 수 있다(S1203).
상기 제2 시그널링 데이터는 영상 전송 장치에서 생성되며, 상기 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표, 상기 관심영역의 타입 정보, 영상 전송 장치에서 수행된 프로젝션 정보, 상기 프로젝션 정보에 기반하여 2차원 평면에 맵핑된 상기 360도 가상 현실 공간 내의 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 포함할 수 있다.
다음으로, 영상 재생 장치의 프로세서는 360도 가상 현실 공간에 대한 비디오 데이터 및 제2 시그널링 데이터에 기반하여 수신된 영상을 재생할 수 있다(S1205).
영상 재생 장치는 수신된 360도 가상 현실 공간에 대한 비디오 데이터와 수신된 제2 시그널링 데이터에 기초하여 상기 관심영역을 포함하는 사용자 뷰포트에 대한 비디오 데이터를 디코딩하고, 상기 디코딩된 영상을 렌더링하여, 이를 표시 장치로 출력할 수 있다.
또한, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 상기 360도 가상 현실 공간의 적어도 일부에 대한 기본 화질 비디오 데이터 및 상기 관심영역 타일에 대한 고화질 비디오 데이터를 적어도 일부 포함할 수 있다.
이하에서는 프로젝션에 따른 사용자 관심영역의 타일 인덱싱에서의 시그널링(신호체계)에 대해서 도 13 내지 14를 참조하여 설명한다.
도 13은 프로젝션에 따른 사용자 관심영역의 타일 인덱싱에서의 시그널링을 위한 국제 비디오 표준에서의 예시적인 OMAF 구문을 도시한 도면이다.
도 13을 참조하면, 예시적인 OMAF(Omnidirectional Media Application Format) 구문은 H.264 AVC나 H.265 HEVC와 같은 국제 비디오 표준에서 사용되는 구문(syntax)을 보여준다.
도면의 참조번호 1301, 1303, 및 1305의 구문은 본 명세서의 실시예로 새로 추가되어야 할 내용이며, 이 외의 구문은 모두 기존의 표준 구문이다. 이하에서는 각 구문에 대해서 상세히 설명한다.
viewport_id는 사용자 관심영역의 종류를 의미하며, 예를 들어, 그 값이 "0"이면 사용자 관심영역은 머리 장착형 영상 표시 장치 기반의 관심영역이며, "1"이면 사용자 관심영역은 사용자 시선 기반의 관심영역임을 나타낸다.
center_azimuth 구문은 구 좌표 기준의 사용자 관심영역의 중심점의 yaw 값을 나타낸다.
center_elevation 구문은 구 좌표 기준의 사용자 관심영역의 중심점의 pitch 값을 나타낸다.
azimuth_range 구문은 구 좌표 기준의 사용자 관심영역의 중심점을 지나는 yaw 수평 범위 값을 나타낸다.
elevation_range 구문은 구 좌표 기준의 사용자 관심영역의 중심점을 지나는 pitch 수직 범위 값을 나타낸다.
projection_id 구문은 2D 프로젝션 종류를 의미하며, 예를 들어, 그 값이 "0"이면, 2D 프로젝션이 ERP(Equi-Rectangular Projection)이고, "1"이면, 2D 프로젝션이 CMP(Cube Map Projection)임을 나타낸다.
left_top_x 구문은 2D 프로젝션 기준 관심영역의 왼쪽 위 모서리의 x 좌표 값을 나타낸다.
left_top_y 구문은 2D 프로젝션 기준 관심영역의 왼쪽 위 모서리의 y 좌표 값을 나타낸다.
right_bottom_x 구문은 2D 프로젝션 기준 관심영역의 오른쪽 아래 모서리의 x 좌표 값을 나타낸다.
right_bottom_y 구문은 2D 프로젝션 기준 관심영역의 오른쪽 아래 모서리의 y 좌표 값을 나타낸다.
tile_id[] 구문은 프로젝션된 관심영역에 해당하는 타일의 인덱스 배열 정보를 나타낸다.
따라서, 본 명세서 제시된 OMAF 구문을 통해 사용자의 관심영역 타입 정보, 프로젝션 방식에 따른 관심영역의 타일 정보 등을 시그널링 데이터에 포함시켜 클라이언트 디바이스와 서버 디바이스 간에 송수신할 수 있도록 함으로써, 전송 대역폭의 절감과 클라이언트 디바이스에서의 재생 속도 향상을 달성할 수 있게 된다.
전술한 도 13에 대한 상세한 설명에서 정의된 구문과 의미론에 관한 정보들은 MPEG DASH와 같은 HTTP 기반의 영상 통신에서 각각 XML의 형태로 표현될 수도 있다.
도 14는 XML의 형태로 표현된 관심영역 타일 인덱싱 정보 구문의 예를 나타낸 도면으로, 예시된 XML은 사용자 관심영역 종류, 관심영역의 구 좌표, 프로젝션의 종류, 관심영역의 프로젝션 좌표, 관심영역에 해당하는 타일의 인덱스 배열 정보를 포함할 수 있다.
도 14를 참조하면, XML 형태로 표현한 예시에는, 사용자 관심영역 종류는 사용자 시선 기반의 관심영역이고, 관심영역의 구 좌표는 수평각이 45, 수직각이 127이며, 프로젝션의 종류는 ERP이고, 관심영역의 프로젝션 좌표는 좌측 상단 모서리의 좌표가 (312, 523), 우측 하단 모서리의 좌표가 (408, 845)이고, 관심영역에 해당하는 타일의 인덱스 배열 정보는 타일번호 1, 2, 4, 5임을 나타내는 정보를 포함할 수 있다.
본 명세서에 개시된 실시예들에 따른 가상 현실 시스템은 컴퓨터로 읽을 수 있는 기록 매체에서 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 명세서의 기술이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.
1000: 서버 디바이스
1010: 통신부
1020: 제어부
1030: 시그널링 데이터 생성부
1040: 인코더
1050: 다중화기

Claims (17)

  1. 프로세서를 포함한 영상 전송 장치에서 수행되는 방법으로서,
    360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 수신하는 동작;
    상기 구 좌표 및 미리 설정된 프로젝션 정보에 기반하여 상기 관심영역을 2차원 평면에 맵핑하는 동작;
    상기 맵핑된 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 계산하는 동작;
    상기 인덱싱 정보에 기반하여 360도 가상 현실 공간에 대한 비디오 데이터를 포함하는 제2 시그널링 데이터를 전송하는 동작;
    상기 제1 시그널링 데이터의 변경과 관련된 제3 시그널링 데이터를 수신하는 동작; 및
    상기 제3 시그널링 데이터에 기초하여 현재 처리하는 데이터가 관심영역에 해당하는 데이터인지 여부를 결정하는 동작을 포함하되,
    상기 현재 처리하는 데이터가 관심영역에 해당하는 데이터인 경우, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 고화질 비디오 데이터를 포함하며,
    상기 현재 처리하는 데이터가 관심영역에 해당하는 데이터가 아닌 경우, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 저화질 비디오 데이터를 포함하며,
    상기 구 좌표는 관심영역 네 변의 중앙점에 대해서 마주보는 두 변의 제1 중앙점끼리 연결한 선분들이 교차하는 제2 중앙점의 요(yaw) 좌표 및 피치(pitch) 좌표와, 상기 제2 중앙점을 기준으로 한 수평 길이 정보 및 수직 길이 정보로 표현되며, 및
    상기 제2 중앙점은 상기 관심영역 네 변의 4개의 중앙점들을 요(yaw)와 피치(pitch)로 2점씩 수평 및 수직으로 연결하여 교차하는 점으로 결정되는 영상 전송 장치의 영상 전송 방법.
  2. 제1 항에 있어서,
    상기 제2 시그널링 데이터는 상기 프로젝션 정보 및 상기 프로젝션 정보에 기반한 맵핑된 관심영역 정보를 포함하는 영상 전송 장치의 영상 전송 방법.
  3. 제1 항에 있어서,
    상기 관심영역 타입 정보는 머리 장착형 영상 표시 장치에 기반한 뷰포트 또는 사용자의 시점에 기반한 뷰포트 중 어느 하나를 지시하는 정보인 영상 전송 장치의 영상 전송 방법.
  4. 삭제
  5. 제1 항에 있어서,
    상기 저화질 비디오 데이터는 상기 360도 가상 현실 공간에 대한 기본 계층 비디오 데이터를 포함하고,
    상기 고화질 비디오 데이터는 상기 관심영역 타일에 대한 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 포함하는 영상 전송 장치의 영상 전송 방법.
  6. 삭제
  7. 제3 항에 있어서,
    상기 제1 시그널링 데이터 및 제2 시그널링 데이터는 영상 구성 정보를 기초로 생성되고,
    상기 영상 구성 정보는 상기 360도 가상 현실 공간 내에서 상기 뷰포트들을 지시하는 시선 정보 및 상기 사용자의 시야각을 지시하는 줌 영역 정보를 포함하는 영상 전송 장치의 영상 전송 방법.
  8. 제7 항에 있어서,
    상기 제1 시그널링 데이터 및 제2 시그널링 데이터는 세션 정보를 실어 나르는 고수준 구문 프로토콜(High-Level Syntax Protocol), SEI (Supplement Enhancement Information), VUI (video usability information), 슬라이스 헤더(Slice Header), 및 상기 비디오 데이터를 서술하는 파일 중에서 적어도 하나를 통하여 전송되는 영상 전송 장치의 영상 전송 방법.
  9. 제1 항에 있어서,
    상기 프로젝션의 방식은 Equi-Rectangular Projection (ERP), Cube Map Projection (CMP), Adjusted Equal-Area Projection (AEP), Octahedron Projection (OHP), Icosahedron Projection (ISP), Truncated Square Pyramid (TSP), Segmented Sphere Projection (SSP), Adjusted Cube Map Projection (ACP), Rotated Sphere Projection (RSP), Equatorial Cylindrical Projection (ECP) 및 Equi-Angular Cube Map (EAC) 중 어느 하나인 영상 전송 장치의 영상 전송 방법.
  10. 360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 수신하고, 상기 제1 시그널링 데이터의 변경과 관련된 제3 시그널링 데이터를 수신하고, 360도 가상 현실 공간에 대한 비디오 데이터를 포함하는 제2 시그널링 데이터를 전송하는 통신부;
    상기 구 좌표 및 미리 설정된 프로젝션 정보에 기반하여 상기 관심영역을 2차원 평면에 맵핑하며, 상기 제3 시그널링 데이터에 기초하여 현재 처리하는 데이터가 관심영역에 해당하는 데이터인지 여부를 결정하는 제어부;
    상기 맵핑된 관심영역에 대응하는 관심영역 타일의 인덱싱 정보에 기초하여 상기 제2 시그널링 데이터를 생성하는 시그널링 데이터 생성부; 및
    상기 360도 가상 현실 공간에 대한 비디오 데이터에 대한 비트스트림을 생성하는 다중화기를 포함하되,
    상기 현재 처리하는 데이터가 관심영역에 해당하는 데이터인 경우, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 고화질 비디오 데이터를 포함하며,
    상기 현재 처리하는 데이터가 관심영역에 해당하는 데이터가 아닌 경우, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 저화질 비디오 데이터를 포함하며,
    상기 구 좌표는 관심영역 네 변의 중앙점에 대해서 마주보는 두 변의 제1 중앙점끼리 연결한 선분들이 교차하는 제2 중앙점의 요(yaw) 좌표 및 피치(pitch) 좌표와, 상기 제2 중앙점을 기준으로 한 수평 길이 정보 및 수직 길이 정보로 표현되며, 및
    상기 제2 중앙점은 상기 관심영역 네 변의 4개의 중앙점들을 요(yaw)와 피치(pitch)로 2점씩 수평 및 수직으로 연결하여 교차하는 점으로 결정되는 영상 전송 장치.
  11. 삭제
  12. 제10 항에 있어서,
    상기 저화질 비디오 데이터는 상기 360도 가상 현실 공간의 적어도 일부에 대한 기본 계층 비디오 데이터를 포함하고,
    상기 고화질 비디오 데이터는 상기 관심영역 타일에 대한 기본 계층 비디오 데이터 및 향상 계층 비디오 데이터를 포함하는 영상 전송 장치.
  13. 제10 항에 있어서,
    상기 관심영역 타입 정보는 머리 장착형 영상 표시 장치에 기반한 뷰포트 또는 사용자의 시점에 기반한 뷰포트 중 어느 하나를 지시하는 정보인 영상 전송 장치.
  14. 삭제
  15. 프로세서를 포함한 영상 재생 장치에서 수행되는 방법으로서,
    360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 전송하는 동작;
    상기 360도 가상 현실 공간에 대한 비디오 데이터를 포함하는 제2 시그널링 데이터를 수신하는 동작;
    상기 제1 시그널링 데이터의 변경과 관련된 제3 시그널링 데이터를 전송하는 동작; 및
    상기 360도 가상 현실 공간에 대한 비디오 데이터에 기반하여 영상을 재생하는 동작을 포함하고,
    상기 제2 시그널링 데이터는 상기 구 좌표, 상기 관심영역 타입 정보 및 미리 설정된 프로젝션 정보에 기반하여 2차원 평면에 맵핑된 상기 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 포함하고,
    상기 360도 가상 현실 공간에 대한 비디오 데이터는 상기 360도 가상 현실 공간의 적어도 일부에 대한 기본 화질 비디오 데이터 및 상기 관심영역 타일에 대한 고화질 비디오 데이터를 포함하고,
    상기 구 좌표는 관심영역 네 변의 중앙점에 대해서 마주보는 두 변의 제1 중앙점끼리 연결한 선분들이 교차하는 제2 중앙점의 요(yaw) 좌표 및 피치(pitch) 좌표와, 상기 제2 중앙점을 기준으로 한 수평 길이 정보 및 수직 길이 정보로 표현되며, 및
    상기 제2 중앙점은 상기 관심영역 네 변의 4개의 중앙점들을 요(yaw)와 피치(pitch)로 2점씩 수평 및 수직으로 연결하여 교차하는 점으로 결정되는 영상 재생 장치의 영상 재생 방법.
  16. 제15 항에 있어서,
    상기 영상을 재생하는 동작은,
    상기 360도 가상 현실 공간에 대한 비디오 데이터에 기초하여 상기 관심영역을 포함하는 사용자 뷰포트에 대한 영상을 렌더링하여 표시하는 영상 재생 장치의 영상 재생 방법.
  17. 컴퓨팅 장치에서,
    360도 가상 현실 공간 내에서 사용자의 관심영역에 대한 구 좌표 및 상기 관심영역의 타입(type)에 기반한 관심영역 타입 정보를 포함하는 제1 시그널링 데이터를 수신하는 동작;
    상기 구 좌표 및 미리 설정된 프로젝션 정보에 기반하여 상기 관심영역을 2차원 평면에 맵핑하는 동작;
    상기 맵핑된 관심영역에 대응하는 관심영역 타일의 인덱싱 정보를 계산하는 동작;
    상기 인덱싱 정보에 기반하여 360도 가상 현실 공간에 대한 비디오 데이터를 포함하는 제2 시그널링 데이터를 전송하는 동작;
    상기 제1 시그널링 데이터의 변경과 관련된 제3 시그널링 데이터를 수신하는 동작; 및
    상기 제3 시그널링 데이터에 기초하여 현재 처리하는 데이터가 관심영역에 해당하는 데이터인지 여부를 결정하는 동작을 실행시키기 위하여 매체에 저장되고,
    상기 현재 처리하는 데이터가 관심영역에 해당하는 데이터인 경우, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 고화질 비디오 데이터를 포함하며,
    상기 현재 처리하는 데이터가 관심영역에 해당하는 데이터가 아닌 경우, 상기 360도 가상 현실 공간에 대한 비디오 데이터는 저화질 비디오 데이터를 포함하며,
    상기 구 좌표는 관심영역 네 변의 중앙점에 대해서 마주보는 두 변의 제1 중앙점끼리 연결한 선분들이 교차하는 제2 중앙점의 요(yaw) 좌표 및 피치(pitch) 좌표와, 상기 제2 중앙점을 기준으로 한 수평 길이 정보 및 수직 길이 정보로 표현되며, 및
    상기 제2 중앙점은 상기 관심영역 네 변의 4개의 중앙점들을 요(yaw)와 피치(pitch)로 2점씩 수평 및 수직으로 연결하여 교차하는 점으로 결정되는 컴퓨터프로그램.
KR1020180165680A 2018-12-19 2018-12-19 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱 KR102183895B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180165680A KR102183895B1 (ko) 2018-12-19 2018-12-19 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180165680A KR102183895B1 (ko) 2018-12-19 2018-12-19 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱

Publications (2)

Publication Number Publication Date
KR20200076529A KR20200076529A (ko) 2020-06-29
KR102183895B1 true KR102183895B1 (ko) 2020-11-27

Family

ID=71400997

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180165680A KR102183895B1 (ko) 2018-12-19 2018-12-19 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱

Country Status (1)

Country Link
KR (1) KR102183895B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102356037B1 (ko) * 2020-10-14 2022-02-07 성균관대학교산학협력단 다시점 360도 영상 스트리밍 방법 및 장치

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108702528B (zh) * 2016-02-17 2021-06-01 Lg电子株式会社 发送360视频的方法、接收360视频的方法、发送360视频的设备和接收360视频的设备
KR101861929B1 (ko) * 2016-09-28 2018-05-28 가천대학교 산학협력단 관심 영역을 고려한 가상 현실 서비스 제공
KR20180042098A (ko) * 2016-10-17 2018-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법

Also Published As

Publication number Publication date
KR20200076529A (ko) 2020-06-29

Similar Documents

Publication Publication Date Title
US10841532B2 (en) Rectilinear viewport extraction from a region of a wide field of view using messaging in video transmission
KR101713492B1 (ko) 영상 복호화 방법, 영상 부호화 방법, 영상 복호화 장치, 및 영상 부호화 장치
US11653065B2 (en) Content based stream splitting of video data
WO2019034807A1 (en) SEQUENTIAL CODING AND DECODING OF VOLUMETRIC VIDEO
US10958950B2 (en) Method, apparatus and stream of formatting an immersive video for legacy and immersive rendering devices
US10999583B2 (en) Scalability of multi-directional video streaming
CN112204993A (zh) 使用重叠的被分区的分段的自适应全景视频流式传输
KR102640664B1 (ko) Vr 디바이스 및 vr 디바이스 제어 방법
US10313728B2 (en) Information processing apparatus and information processing method
KR20170005366A (ko) 고 해상도 영상에서의 영상 추출 장치 및 방법
KR101898822B1 (ko) 뷰포트 정보 시그널링을 이용한 가상 현실 비디오 스트리밍
CN112262581A (zh) 视频码流中的约束标志指示
KR101861929B1 (ko) 관심 영역을 고려한 가상 현실 서비스 제공
CN112602329A (zh) 用于360度视频解码的块置乱
KR101941789B1 (ko) 뷰포트와 타일 크기에 기초한 가상 현실 비디오 전송
KR102183895B1 (ko) 가상 현실 비디오 스트리밍에서의 관심영역 타일 인덱싱
WO2019200227A1 (en) Signaling spatial region correspondence between virtual reality viewpoints
KR102259540B1 (ko) 시선 기반의 360도 영상 스트리밍
KR101981868B1 (ko) 가상 현실 비디오 품질 제어
WO2020068935A1 (en) Virtual reality viewpoint viewport center point correspondence signaling
KR102209192B1 (ko) 다시점 360도 영상 처리 및 전송

Legal Events

Date Code Title Description
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant