KR101779527B1 - 고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법 - Google Patents

고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법 Download PDF

Info

Publication number
KR101779527B1
KR101779527B1 KR1020160107833A KR20160107833A KR101779527B1 KR 101779527 B1 KR101779527 B1 KR 101779527B1 KR 1020160107833 A KR1020160107833 A KR 1020160107833A KR 20160107833 A KR20160107833 A KR 20160107833A KR 101779527 B1 KR101779527 B1 KR 101779527B1
Authority
KR
South Korea
Prior art keywords
resolution
video
client terminal
virtual reality
web server
Prior art date
Application number
KR1020160107833A
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 KR1020160107833A priority Critical patent/KR101779527B1/ko
Application granted granted Critical
Publication of KR101779527B1 publication Critical patent/KR101779527B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F17/30781
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법이 개시된다. 일 실시 예에 따른 웹 서버는, 360° 가상현실 동영상의 원본 화상을 렌더링하는 렌더링부와, 렌더링된 360° 가상현실 동영상을 재생하는 동영상 플레이어와, 동영상 플레이어를 통해 재생되는 360° 가상현실 동영상 출력화면 중에 일부 영역을 인코딩하는 인코딩부와, 인코딩된 일부 영역을 클라이언트 단말에 전송하는 전송부를 포함한다.

Description

고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법 {Web server for processing 360° VR video having high resolution and method thereof}
본 발명은 영상 처리기술에 관한 것으로, 보다 상세하게는 가상현실에 적용되는 영상의 품질 제어 및 전송 기술에 관한 것이다.
360° 동영상은 카메라 주변의 상하좌우 360°를 살펴봄으로써 촬영된 동영상 또는 그런 느낌을 주는 동영상이다. 일반적인 동영상에 비해 측면 및 후면의 영상 정보를 더 포함하므로 다양한 응용 분야에 적용될 수 있다. 특히, 360° 동영상은 가상현실(virtual reality)에 적용될 수 있다. 사용자는 360° 가상현실 동영상을 통해 실감나고 몰입감 높은 가상현실을 즐길 수 있다.
동일한 해상도를 기준으로 360° VR 동영상 파일은 일반 동영상 파일에 비해 파일 크기가 훨씬 크다. 예를 들어, HD 해상도(1280×720p)에서 360° VR 동영상 파일은 일반 동영상 파일에 비해 파일 크기가 3~4배 정도 크다.
동영상을 재생하는 디스플레이의 측면에서, 360° 동영상을 한 화면에 다 보여주기 위해서는 원통형으로 구성되어 360° 동영상을 한 번에 표시할 수 있는 디스플레이 장치를 구비하거나, 360° 동영상을 넓게 펼쳐 하나의 평면 영상에 표시할 수 있을 정도로 크기가 매우 큰 디스플레이 장치를 구비하거나, 동영상의 크기를 작게 축소하여 보여주어야 하는 제한이 있다.
일 실시 예에 따라, 고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법을 제안한다.
일 실시 예에 따른 웹 서버는, 360° 가상현실 동영상의 원본 화상을 렌더링하는 렌더링부와, 렌더링된 360° 가상현실 동영상을 재생하는 동영상 플레이어와, 동영상 플레이어를 통해 재생되는 360° 가상현실 동영상 출력화면 중에 일부 영역을 인코딩하는 인코딩부와, 인코딩된 일부 영역을 클라이언트 단말에 전송하는 전송부를 포함한다. 일부 영역은 다수의 단면으로 분할된 동영상 출력화면 중에서 중앙 단면이거나 클라이언트 단말이 요청한 단면일 수 있다.
렌더링부는 360° 가상현실 동영상의 원본 화상의 해상도를 제1 해상도로 변환하여 렌더링하고, 제1 해상도는 360° 가상현실 동영상의 원본 화상보다 해상도가 높거나 동일할 수 있다. 인코딩부는 360° 가상현실 동영상 출력화면 중에 일부 영역의 해상도를 제2 해상도로 변환하여 인코딩하고, 전송부는 제2 해상도를 가진 일부 영역을 클라이언트 단말에 전송하며, 제2 해상도는 360° 가상현실 동영상의 원본 화상보다 해상도보다 낮거나 동일할 수 있다.
렌더링부는 360° 가상현실 동영상의 원본 화상을 GPU 사용 또는 하드웨어 가속을 통해 렌더링할 수 있다. 인코딩부는 동영상 플레이어의 동영상 출력화면 중에 일부 영역을 GPU 사용 또는 하드웨어 가속을 통해 인코딩할 수 있다.
전송부는 인코딩된 일부 영역을 클라이언트 단말에 클라우드 스트리밍 전송할 수 있다.
웹 서버는 클라이언트 단말로부터 단말 해상도 정보를 수신하는 수신부를 더 포함하며, 인코딩부는 클라이언트 단말의 단말 해상도 정보를 이용하여 단말 해상도에 맞추어 동영상 플레이어의 동영상 출력화면 중에 일부 영역의 해상도를 변환하여 인코딩하고, 전송부는 인코딩된 일부 영역을 클라이언트 단말에 전송할 수 있다.
일 실시 예에 따르면, 클라이언트 단말에서 360° VR 동영상을 처리할 때 발생 가능한 문제들, 예를 들어, 비효율적인 동영상 스트리밍 또는 다운로드 전송 사용량 문제, 화질열화 문제, 고가의 성능을 요구하는 클라이언트 단말의 문제 등을 해결할 수 있다. 이때, 360° VR 동영상 스트리밍 또는 다운로드 전송 사용량은 클라이언트 단말에 상응하는 해상도 수준(이 또한 고해상도임)이지만, 화질 품질은 초고해상도 수준으로 유지할 수 있다.
도 1은 본 발명의 이해를 돕기 위한 360° 가상현실 동영상 출력화면을 도시한 참조도,
도 2는 본 발명의 일 실시 예에 따른 동영상 플레이어의 재생 화면 중 일부 영역을 선택하여 표시하는 예를 설명하기 위한 360° 동영상 출력화면을 도시한 참조도,
도 3은 본 발명의 일 실시 예에 따른 고해상도 360° VR 동영상 처리 시스템의 구성도,
도 4는 본 발명의 일 실시 예에 따른 웹 서버의 구성도,
도 5는 본 발명의 일 실시 예에 따른 360° VR 동영상을 처리하는 웹 서버의 처리 프로세스를 도시한 참조도,
도 6은 본 발명의 일 실시 예에 따른 360° VR 동영상을 제공하는 웹 서버의 성능을 높이기 위해 GPU를 사용하는 웹 서버의 처리 프로세스를 도시한 참조도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.
이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.
그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.
이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다. 본 발명의 실시 예는 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.
도 1은 본 발명의 이해를 돕기 위한 360° 가상현실(Virtual Reality: VR, 이하 VR이라 칭함) 동영상 출력화면을 도시한 참조도이다.
도 1을 참조하면, 동일한 해상도를 기준으로 360° VR 동영상 파일은 일반 동영상 파일에 비해 파일 크기가 훨씬 크다. 예를 들어, HD 해상도(1280×720p)에서 360° VR 동영상 파일은 일반 동영상 파일에 비해 파일 크기가 3~4배 정도 크다. 360° VR 동영상은 360° 입체 동영상으로 증강현실을 제공한다.
도 2는 본 발명의 일 실시 예에 따른 동영상 플레이어의 재생 화면 중 일부 영역을 선택하여 표시하는 예를 설명하기 위한 360° 동영상 출력화면을 도시한 참조도이다.
일반적으로 클라이언트 단말에 360° VR 동영상 플레이어와 같은 일반 프로그램이 설치된다. 이 경우, 클라이언트 단말의 360° VR 동영상 플레이어는 360° VR 동영상 콘텐츠를 도 2에 도시된 바와 같이 원형 등으로 구체화하고 다 등분, 예를 들어 9 등분한 후, 그 중에 소정의 단면, 예를 들어 중앙 단면(5) 만을 동영상 플레이어 화면에 표시한다. 9등분은 일 실시 예일 뿐, 18 등분 등과 같이 동영상 플레이어의 해상도에 따라 세분화할 수 있다.
전술한 360° VR 동영상 처리 방식은 다음과 같은 문제가 발생한다. 예를 들어, 동일한 해상도, 예를 들어 HD 해상도(1280×720p)에서 360° VR 동영상 파일은 일반 동영상 파일에 비해 그 크기가 3~4배 크다. 그러므로 동일한 해상도에서 360° VR 동영상은 일반 동영상에 비해 스트리밍 또는 다운로드 전송 사용량이 3~4배 크게 된다. 일반 동영상에 비해 3~4배 이상의 전송 사용량이 발생하는 360° VR 동영상 플레이어가 실제로 표시하는 화면은 중앙 단면(5)으로써, 클라이언트 단말의 해상도가 HD 해상도일 때 1/9 수준(426×240)의 낮은 해상도를 가진다.
따라서, 360° VR 동영상 플레이어를 실행하는 클라이언트 단말의 화면 크기가 HD 해상도(1280×720p)라고 가정할 때, 1/9 수준(420×240)의 해상도를 가진 단면을 HD 해상도에 맞춰 다시 3배로 늘려 화면에 표시면, 해당 과정에서 반드시 화질열화가 발생한다.
한편, 360° VR 동영상 플레이어가 사용자의 입력을 자연스럽게 처리하기 위한 하드웨어 요건도 매우 높다. 기본적으로 360° VR 처리를 위해 3D 가속, 3D 처리, 3D 렌더링 등을 하드웨어로 처리해야 하기 때문이다.
따라서, 본 발명은 360° VR 동영상 플레이어를 클라이언트 단말이 아닌 웹 서버에서 실행한다. 그리고 실행된 화면 중에서 일부 영역, 예를 들어 중앙 단면만을 클라이언트 단말에 전송한다. 이에 따라, 클라이언트 단말이 360° VR 동영상을 처리하는 과정에서 발생하는 비효율적인 동영상 스트리밍 또는 다운로드 전송 사용량 문제, 화질열화 문제, 고가의 성능을 요구하는 클라이언트 단말의 문제 등을 모두 해결할 수 있다.
본 발명의 일 실시 예에 따른 웹 서버는 360° VR 동영상의 화질개선을 위해, HD급 화질의 동영상 원본 파일을, Full HD (1080p), Ultra HD (4K), 8K 급과 같은 초고해상도 360° VR 동영상으로 해상도를 높여 웹 서버 내부에서 재생하고 재생된 출력화면에서 일부 영역만을 클라이언트 단말에 HD급 또는 그 이하의 급 해상도로 해상도를 낮추어 전송한다. 이에 따라, 동영상 스트리밍 또는 다운로드 전송 사용량은 클라이언트 단말에 상응하는 해상도 수준(이 또한 고해상도임)이지만, 화질 품질은 초고해상도 수준으로 유지할 수 있다. 이하, 후술되는 도면들을 참조로 하여 전술한 특징을 가지는 고해상도 360° VR 동영상 처리기술에 대해 후술한다.
도 3은 본 발명의 일 실시 예에 따른 고해상도 360° VR 동영상 처리 시스템의 구성도이다.
도 3을 참조하면, 웹 서버(2)와 클라이언트 단말(3)은 네트워크(1)를 통해 연결된다. 웹 서버(2)에서는 동영상 플레이어가 실행되어 실행된 동영상 플레이어를 통해 고해상도 360° VR 동영상을 재생하고 재생된 동영상 화면 중에 일부 영역만을 캡쳐 및 인코딩하여 클라이언트 단말(3)에 전송한다.
여기서, 일부 영역은 다수의 단면으로 분할된 동영상 출력화면 중에서 중앙 단면이거나 클라이언트 단말(3)이 요청한 단면일 수 있다. 중앙 단면의 예는 도 2에서 전술한 바 있다. 클라이언트 단말(3)이 요청한 단면의 예로는, 클라이언트 단말(3)이 단말 해상도를 고려하여 360° VR 동영상을 출력하는 단면의 크기 및 해당 단면을 선택하여 웹 서버(2)에 요청하면, 웹 서버(2)는 클라이언트 단말(3)이 선택한 단면을 단면 크기에 맞게 클라이언트 단말(3)에 전송한다.
웹 서버(2)는 네트워크(1)를 통해 클라이언트 단말(3)과 연결되어 웹 기반 모든 데이터를 송수신한다. 이를 위해, 클라이언트 단말(3)은 웹 브라우저 등의 웹 클라이언트를 통해 웹 서버(2)에 요청하고, 요청 결과를 수신하여 이를 사용자에게 제공할 수 있다. 웹 서버(2)와 클라이언트 단말(3)은 웹 소켓(web socket) 등의 웹 기반 네트워킹 방식을 통해 양방향 통신할 수 있다. 이 경우, 웹 서버(1)가 클라이언트 단말(3)의 요청에 응답하는 통신방식에서 탈피할 수 있다.
웹 서버(2)는 클라우드 스트리밍(cloud streaming) 웹 서버일 수 있다. 이 경우, 웹 서버(2)는 클라이언트 단말(3)에 클라우드 스트리밍 서비스를 제공한다. 클라우드 스트리밍 서비스는 소프트웨어를 웹 서버(2)에서 실행하고, 실행 결과를 클라이언트 단말(3)에 전송하는 것을 의미한다. 이때, 클라이언트 단말(3)이 사용자 입력을 다시 웹 서버(2)에 전송하여 웹 서버(2)의 소프트웨어에 반영하는 과정을 포함한다. 소프트웨어는 동영상 플레이어와 같은 멀티미디어 재생 플레이어처럼 웹 서버(2)에서 실행 가능한 프로그램일 수 있다. 클라이언트 단말(3)은 웹 서버(2)로터 동영상 플레이어 실행 결과를 수신하고 수신된 실행 결과를 출력할 수 있다.
클라이언트 단말(3)은 웹 클라이언트가 설치 또는 다운로드 가능한 모든 사용자 단말을 포함한다. 웹 클라이언트는 웹 브라우저이거나 하이브리드 앱(hybrid app)일 수 있다. 하이브리드 앱은 인터넷 브라우저에서 실행되는 앱이다. 이하, 설명의 편의를 위해 웹 클라이언트를 웹 브라우저로 한정하여 설명하나, 이에 한정되는 것은 아니다. 클라이언트 단말(3)은 정보통신기기, 멀티미디어 단말기, 유선 단말기, 고정형 단말기 및 IP(Internet Protocol) 단말기 등의 다양한 단말기일 수 있다. 클라이언트 단말(3)은 휴대폰, PMP(Portable Multimedia Player), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net book) 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말기일 수 있다.
네트워크(1)는 웹 서버(2) 및 클라이언트 단말(3) 간의 데이터 전송 및 정보 교환을 위한 송수신 동작을 수행한다. 네트워크(1)는 다양한 형태의 통신망이 이용될 수 있는데, 예를 들어, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coax), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신방식이 이용될 수 있다. 한편, 네트워크(1)는 전술한 통신방식에 한정되는 것은 아니며, 전술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
도 4는 본 발명의 일 실시 예에 따른 웹 서버의 구성도이다.
도 4를 참조하면, 웹 서버(2)는 동영상 플레이어(20), 프로세서(22), 전송부(24), 수신부(26) 및 메모리(28)를 포함한다.
동영상 플레이어(20)는 360° VR 동영상 콘텐츠를 재생한다. 프로세서(22)는 서비스 제공을 위한 각종 명령을 실행한다. 프로세서(22)는 동영상 플레이어(20)를 실행한다. 메모리(28)에는 프로세서(22)를 통해 실행되는 명령을 포함한 데이터와 명령 실행에 따라 생성되는 데이터가 저장될 수 있다. 메모리(28)에는 동영상 플레이어(20)를 통해 재생될 360° VR 동영상 파일 원본이 저장될 수 있다. 프로세서(22)는 동영상 플레이어(20)의 재생 화면을 전송부(24)를 통해 클라이언트 단말에 전송할 수 있다.
일 실시 예에 따른 프로세서(22)는 렌더링부(220)와 인코딩부(222)를 포함한다.
렌더링부(220)는 동영상 플레이어(20)를 통해 360° VR 동영상의 원본 화상을 렌더링한다. 렌더링부(220)를 통해 렌더링된 360° VR 동영상이 동영상 플레이어(20)를 통해 재생된다. 렌더링은 2차원의 화상에 광원·위치·색상 등 외부의 정보를 고려하여 사실감을 불어넣어, 3차원 화상을 만드는 과정을 의미한다.
일 실시 예에 따른 렌더링부(220)는 360° VR 동영상의 원본 화상의 해상도를 제1 해상도로 변환하여 렌더링한다. 이때, 제1 해상도는 360° VR 동영상의 원본 화상보다 해상도가 높거나 동일하다. 예를 들어, HD급 화질의 동영상 원본 파일을, Full HD, 4K, 8K 급과 같은 초고해상도 360° VR 동영상 파일로 해상도를 높여 동영상 플레이어(20)를 통해 재생한다.
일 실시 예에 따른 렌더링부(220)는 360° VR 동영상의 원본 화상을 그래픽 처리 유닛(Graphics Processing Unit: GPU, 이하 GPU라 칭함) 사용 또는 하드웨어(hardware: HW, 이하 HW라 칭함) 가속을 통해 렌더링한다. GPU 사용방식은 다이렉트 X(DirectX) 기술을 사용한 표면(Surface) 렌더링 방식 또는 오픈 GL(Open Graphics Library: OpenGL)을 사용한 렌더링 방식을 사용할 수 있다. 다이렉트 X는 그래픽 이미지와 멀티미디어 효과를 만들고 관리하는 데 필요한 응용 프로그램 인터페이스이다. 포면 렌더링은 물체의 표면에 입체감과 질감을 주는 과정이다. 오픈 GL이 API를 통해 호출할 수 있는 내장 기능에는 숨은 면 제거, 투명화, 반 에일리어싱, 텍스처 매핑, 픽셀 조작, 변형을 위한 모델링, 대기 효과(안개, 연기, 아지랑이 등) 등의 기능이 포함된다.
렌더링부(220)는 다수 개의 GPU를 동시에 사용하는 방식으로 360° VR 동영상을 렌더링하여 웹 서버(2)의 가용량을 극대화할 수 있다. 이에 대한 실시 예는 도 6을 참조로 하여 후술한다.
인코딩부(222)는 동영상 플레이어(20)를 통해 재생되는 360° VR 동영상 출력화면 중에 일부 영역을 캡처(capture)하여 인코딩한다. 일부 영역은 사전에 고정 설정될 수 있는데, 예를 들어 중앙 단면이다. 이를 위해, 인코딩부(222)는 동영상 플레이어(20)를 통해 재생되는 출력화면을 도 2에 도시된 바와 같이 원형 등으로 구체화하고 다 등분, 예를 들어 9 등분한 후, 그 중에 중앙 단면만을 인코딩한다. 9등분은 본 발명의 일 실시 예일 뿐, 18 등분 등과 같이 동영상 플레이어(20)의 해상도에 따라 세분화할 수 있다. 중앙 단면은 본 발명의 일 실시 예로 다른 위치의 화면일 수 있다. 또한, 사전에 고정 설정될 수도 있으나, 클라이언트 단말 사용자의 요청에 따라 사용자가 원하는 각도의 단면을 선택하여 인코딩할 수도 있다.
일 실시 예에 따른 인코딩부(222)는 동영상 출력화면 중 일부 영역의 해상도를 제2 해상도로 변환하여 인코딩한다. 제2 해상도는 360° VR 동영상의 원본 화상보다 해상도보다 낮거나 동일하다. 예를 들어, HD급 화질의 동영상 원본 파일을 대상으로, Full HD, 4K, 8K 급과 같은 초고해상도 360° VR 동영상 파일로 해상도를 높여 동영상 플레이어(20)를 통해 재생된 출력화면에서 일부 영역만을 HD급 또는 그 이하의 급 해상도에 맞추어 해상도를 낮추어 인코딩한다. 전송부(24)는 인코딩부(222)를 통해 인코딩된 일부 영역을 클라이언트 단말에 전송한다. 이에 따라, 동영상 스트리밍 또는 다운로드 전송 사용량은 클라이언트 단말에 상응하는 해상도 수준(이 또한 고해상도임)이지만, 화질 품질은 초고해상도 수준으로 유지할 수 있다.
일 실시 예에 따른 인코딩부(222)는 동영상 플레이어(20)의 재생 화면 중에 일부 영역을 GPU 사용 또는 HW 가속을 통해 인코딩한다. 이에 대한 실시 예는 도 6을 참조로 하여 후술한다. 인코딩부(222)는 동영상 플레이어(20)를 통해 재생되는 실행 화면 및 오디오를 분리하여 각각 인코딩할 수 있다.
수신부(26)는 클라이언트 단말로부터 콘텐츠 요청을 수신하고, 사용자 입력을 전달 받을 수 있다. 또한, 수신부(26)는 클라이언트 단말로부터 단말 해상도 정보를 수신할 수 있다. 그러면, 인코딩부(222)는 클라이언트 단말의 단말 해상도 정보를 이용하여 단말 해상도에 맞추어 동영상 플레이어(20)의 출력화면 중 일부 영역의 해상도를 변환하여 인코딩하고, 전송부(24)는 인코딩된 일부 영역을 클라이언트 단말에 전송한다.
도 5는 본 발명의 일 실시 예에 따른 360° VR 동영상을 처리하는 웹 서버의 처리 프로세스를 도시한 참조도이다.
도 5를 참조하면, 360° VR 동영상을 웹 서버(2)에서 클라이언트 단말(3)에 제공한다. 360° VR 동영상 원본 파일은 웹 서버(2)의 메모리, 예를 들어 로컬 디스크에 위치할 수 있고, 접근 가능한 NAS(Network-Attached Storage) 또는 SAN(storage area network) 등에 위치할 수도 있다. 웹 서버(2)는 VR 동영상 플레이어(20)를 실행하여 360° VR 동영상 원본 파일을 렌더링한다. 렌더링 시에 GPU 사용방식 또는 HW 가속방식을 이용하여 렌더링할 수 있다. GPU 사용방식은 다이렉트 X(DirectX) 기술을 사용한 표면(Surface) 렌더링 방식 또는 오픈 GL(Open Graphics Library: OpenGL)을 사용한 렌더링 방식을 사용할 수 있다.
인코딩부(222)는 360° VR 동영상 플레이어(20)에 의해 재생된 렌더링 화면을 인코딩한다. 인코딩부(222)는 렌더링 화면 중 특히 중앙 화면만을 인코딩할 수 있다. 인코딩부(222)는 GPU 사용방식 또는 HW 가속방식을 이용하여 동영상 코덱을 통해 캡쳐 화면을 인코딩할 수 있다. GPU 사용방식은 다이렉트 X(DirectX) 기술을 사용한 인코딩 방식 또는 동영상 코덱을 사용한 HW 가속 인코딩 방식을 사용할 수 있다. GPU를 통한 HW 가속 인코딩 시에, H.265 코덱을 사용하는 방식으로 서비스를 위한 화질을 높일 수 있다. 또한, 360° VR 동영상 플레이어(20)에 의해 재생된 오디오 출력은 오디오 코덱에 의해 인코딩된다. 다이렉트 X(DirectX) 기술을 사용한 인코딩 방식 또는 오디오 코덱을 사용한 HW 가속 인코딩 방식을 사용할 수 있다.
인코딩된 화면 및 오디오는 네트워크를 거쳐 클라이언트 단말(3)의 클라이언트(30)로 스트리밍 또는 다운로드 전송된다. 클라이언트(30)의 예로는 웹 브라우저, 하이브리드 앱, 단순 플레이어 등이다.
도 6은 본 발명의 일 실시 예에 따른 360° VR 동영상을 제공하는 웹 서버의 성능을 높이기 위해 GPU를 사용하는 웹 서버의 처리 프로세스를 도시한 참조도이다.
도 6을 참조하면, 360° VR 동영상 렌더링 및 일부 영역 인코딩을 다수의 GPU로 동시에 처리하는 방식으로 360° VR 동영상 처리 전반에서 CPU 점유율을 낮추고 동시에 웹 서버(2)가 처리하는 360° VR 동영상 처리 용량을 높인다. 1개의 웹 서버(2)에서 다수의 GPU(GPU #1,GPU #2,…,GPU #n)를 웹 서버(2)에 장착하고, 다수의 GPU(GPU #1,GPU #2,…,GPU #n)를 동시에 사용하는 방식으로 360° VR 동영상 렌더링 및 일부 영역 인코딩을 처리하여 웹 서버(2)의 가용량을 극대화할 수 있다.
웹 서버(2)는 360° VR 동영상을 출력한 결과 화면을 스트리밍 또는 다운로드 전송방식으로 클라이언트 단말(3)의 클라이언트(30)에 전송한다. 또한, 웹 서버(2)는 360° VR 동영상을 출력한 결과 오디오를 스트리밍 또는 다운로드 전송 방식으로 클라이언트 단말(3)의 클라이언트(30)에 전송한다.
클라이언트 단말(3)에서 사용자가 입력한 터치, 탭, 핀치, 줌, 스크롤, 틸트와 같은 제스처와 마우스, 키보드와 같은 입력 등은 클라이언트 단말(3)이 웹 서버(2)에 전송할 수 있다. 이 경우, 웹 서버(2)는 사용자 입력을 실행된 360° VR 동영상 플레이어에 반영한다.
본 발명은 360° VR 동영상의 화질을 높이기 위해, 360° VR 동영상 파일의 원본 화질을 초고해상도로 변환하여 웹 서버(2)의 동영상 플레이어를 통해 재생한다. 예를 들어, HD (1280×720p) 급에서 Full HD (1080p), Ultra HD (4K), 8K 급 등으로 해상도를 높이는 방식으로 360° VR 동영상 서비스를 위한 화질을 높인다. 한편, 클라이언트 단말(3)에 제공 시에는 초고해상도, 예를 들어 원본 화질을 4K로 높인 동영상 플레이어 출력화면의 화질을 다시 낮추어(이 또한 고해상도임), 예를 들어 HD, Full HD 등으로 변경하여 전송 품질을 조절한다. 이에 따라, 전송을 위한 화질과 서비스 품질 모두 높일 수 있다. 또한, GPU를 통한 HW 인코딩 시에, H.265 코덱을 사용하는 방식으로 서비스를 위한 화질을 높인다. 다른 예로, 클라이언트 단말의 해상도를 웹 서버(2)의 360° VR 동영상 플레이어에 전송하여 360° VR 동영상 플레이어의 출력화면과 맞추는 방식으로 서비스를 위한 품질을 높일 수 있다.
이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.
1: 네트워크 2: 웹 서버
3: 클라이언트 단말 20: 동영상 플레이어
22: 프로세서 24: 전송부
26: 수신부 28: 메모리
220: 렌더링부 222: 인코딩부

Claims (8)

  1. 360° 가상현실 동영상의 원본 화상을 렌더링하는 렌더링부;
    렌더링된 360° 가상현실 동영상을 재생하는 동영상 플레이어;
    상기 동영상 플레이어를 통해 재생되는 360° 가상현실 동영상 출력화면 중에 일부 영역을 인코딩하는 인코딩부; 및
    인코딩된 일부 영역을 클라이언트 단말에 전송하는 전송부;
    를 포함하는 것을 특징으로 하는 웹 서버.
  2. 제 1 항에 있어서,
    상기 일부 영역은 다수의 단면으로 분할된 동영상 출력화면 중에서 중앙 단면이거나 클라이언트 단말이 요청한 단면인 것을 특징으로 하는 웹 서버.
  3. 제 1 항에 있어서, 상기 렌더링부는
    360° 가상현실 동영상의 원본 화상의 해상도를 제1 해상도로 변환하여 렌더링하고,
    제1 해상도는 360° 가상현실 동영상의 원본 화상보다 해상도가 높거나 동일한 것을 특징으로 하는 웹 서버.
  4. 제 1 항에 있어서,
    상기 인코딩부는 360° 가상현실 동영상 출력화면 중에 일부 영역의 해상도를 제2 해상도로 변환하여 인코딩하고,
    상기 전송부는 제2 해상도를 가진 일부 영역을 클라이언트 단말에 전송하며,
    제2 해상도는 360° 가상현실 동영상의 원본 화상보다 해상도보다 낮거나 동일한 것을 특징으로 하는 웹 서버.
  5. 제 1 항에 있어서, 상기 렌더링부는
    360° 가상현실 동영상의 원본 화상을 GPU 사용 또는 하드웨어 가속을 통해 렌더링하는 것을 특징으로 하는 웹 서버.
  6. 제 1 항에 있어서, 상기 인코딩부는
    상기 동영상 플레이어의 동영상 출력화면 중에 일부 영역을 GPU 사용 또는 하드웨어 가속을 통해 인코딩하는 것을 특징으로 하는 웹 서버.
  7. 제 1 항에 있어서, 상기 전송부는
    인코딩된 일부 영역을 상기 클라이언트 단말에 클라우드 스트리밍 전송하는 것을 특징으로 하는 웹 서버.
  8. 제 1 항에 있어서, 상기 웹 서버는
    상기 클라이언트 단말로부터 단말 해상도 정보를 수신하는 수신부; 를 더 포함하며,
    상기 인코딩부는 클라이언트 단말의 단말 해상도 정보를 이용하여 단말 해상도에 맞추어 동영상 플레이어의 동영상 출력화면 중에 일부 영역의 해상도를 변환하여 인코딩하고,
    상기 전송부는 인코딩된 일부 영역을 상기 클라이언트 단말에 전송하는 것을 특징으로 하는 웹 서버.
KR1020160107833A 2016-08-24 2016-08-24 고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법 KR101779527B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160107833A KR101779527B1 (ko) 2016-08-24 2016-08-24 고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160107833A KR101779527B1 (ko) 2016-08-24 2016-08-24 고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법

Publications (1)

Publication Number Publication Date
KR101779527B1 true KR101779527B1 (ko) 2017-09-18

Family

ID=60034248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160107833A KR101779527B1 (ko) 2016-08-24 2016-08-24 고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법

Country Status (1)

Country Link
KR (1) KR101779527B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10616530B2 (en) 2017-12-22 2020-04-07 Electronics And Telecommunications Research Institute Multipoint video conference device and controlling method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10616530B2 (en) 2017-12-22 2020-04-07 Electronics And Telecommunications Research Institute Multipoint video conference device and controlling method thereof

Similar Documents

Publication Publication Date Title
CN112235626B (zh) 视频渲染方法、装置、电子设备及存储介质
US10560755B2 (en) Methods and systems for concurrently transmitting object data by way of parallel network interfaces
US9509974B2 (en) Method and system for providing three dimensional stereo image
US10965783B2 (en) Multimedia information sharing method, related apparatus, and system
KR102502794B1 (ko) 가상 현실 데이터를 맞춤화하기 위한 방법들 및 시스템들
EP3586518A1 (en) Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for vr videos
JP7392136B2 (ja) ビデオコンテンツを表示するための方法、コンピュータシステム、およびコンピュータプログラム
EP3646284A1 (en) Screen sharing for display in vr
CN115190345B (zh) 用于显示媒体的协调控制方法、客户端设备及存储介质
JP7448677B2 (ja) 没入型メディアをストリーミングする方法、並びにそのデバイス、及びコンピュータプログラム
KR101779527B1 (ko) 고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법
KR20160015128A (ko) 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US10529129B2 (en) Dynamic selection mechanism for interactive video
JP7447266B2 (ja) ボリュメトリック画像データに関するビューの符号化及び復号
US11570227B2 (en) Set up and distribution of immersive media to heterogenous client end-points
Tamm et al. Plugin free remote visualization in the browser
JP7419529B2 (ja) 遠隔端末のための没入型テレカンファレンス及びテレプレゼンスのインタラクティブオーバーレイ処理
US20240177354A1 (en) 3d object streaming method, device, and non-transitory computer-readable recording medium
Seligmann Web-based Client for Remote Rendered Virtual Reality
JP2023507586A (ja) 3dof構成要素からの6dofコンテンツを符号化、復号化、及びレンダリングするための方法及び装置

Legal Events

Date Code Title Description
GRNT Written decision to grant