KR101779527B1 - Web server for processing 360° VR video having high resolution and method thereof - Google Patents

Web server for processing 360° VR video having high resolution and method thereof 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
Korean (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 KR1020160107833A priority Critical patent/KR101779527B1/en
Application granted granted Critical
Publication of KR101779527B1 publication Critical patent/KR101779527B1/en

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/00Systems or methods specially adapted for 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

Abstract

Disclosed are a web server and a video processing method for high-resolution 360 virtual reality video processing. The web server according to one embodiment includes a rendering unit for rendering an original image of a 360 virtual reality video, a video player for playing the rendered 360 virtual reality video, an encoding unit for encoding a part of a 360 virtual reality video screen played through the video player, and a transmitting unit for transmitting a part of the encoded area to a client terminal. Accordingly, the present invention can maintain image quality at an ultra-high resolution level.

Description

고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법 {Web server for processing 360° VR video having high resolution and method thereof}Technical Field [0001] The present invention relates to a web server for processing high-resolution 360 ° virtual reality video,

본 발명은 영상 처리기술에 관한 것으로, 보다 상세하게는 가상현실에 적용되는 영상의 품질 제어 및 전송 기술에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an image processing technique, and more particularly to an image quality control and transmission technique applied to a virtual reality.

360° 동영상은 카메라 주변의 상하좌우 360°를 살펴봄으로써 촬영된 동영상 또는 그런 느낌을 주는 동영상이다. 일반적인 동영상에 비해 측면 및 후면의 영상 정보를 더 포함하므로 다양한 응용 분야에 적용될 수 있다. 특히, 360° 동영상은 가상현실(virtual reality)에 적용될 수 있다. 사용자는 360° 가상현실 동영상을 통해 실감나고 몰입감 높은 가상현실을 즐길 수 있다.A 360 ° video is a video captured by looking at 360 ° around the camera, or a video that gives such a feeling. Since it includes side and back image information more than general video, it can be applied to various application fields. In particular, 360 ° motion pictures can be applied to virtual reality. Users can enjoy realistic and immersive virtual reality through 360 ° virtual reality video.

동일한 해상도를 기준으로 360° VR 동영상 파일은 일반 동영상 파일에 비해 파일 크기가 훨씬 크다. 예를 들어, HD 해상도(1280×720p)에서 360° VR 동영상 파일은 일반 동영상 파일에 비해 파일 크기가 3~4배 정도 크다.Based on the same resolution, 360 ° VR movie files are much larger than regular video files. For example, a 360 ° VR movie file at HD resolution (1280 × 720p) is three to four times larger than a regular movie file.

동영상을 재생하는 디스플레이의 측면에서, 360° 동영상을 한 화면에 다 보여주기 위해서는 원통형으로 구성되어 360° 동영상을 한 번에 표시할 수 있는 디스플레이 장치를 구비하거나, 360° 동영상을 넓게 펼쳐 하나의 평면 영상에 표시할 수 있을 정도로 크기가 매우 큰 디스플레이 장치를 구비하거나, 동영상의 크기를 작게 축소하여 보여주어야 하는 제한이 있다.On the side of the display for playing a moving picture, in order to display a 360 ° moving picture on one screen, it is necessary to have a display device capable of displaying a 360 ° moving picture at once, which is constituted by a cylindrical shape, There is a restriction that a display device having a very large size so as to be displayed on the image is provided or that the size of the moving image is reduced.

일 실시 예에 따라, 고해상도 360° 가상현실 동영상 처리를 위한 웹 서버 및 동영상 처리 방법을 제안한다.According to one embodiment, a web server and a video processing method for high resolution 360 ° virtual reality video processing are proposed.

일 실시 예에 따른 웹 서버는, 360° 가상현실 동영상의 원본 화상을 렌더링하는 렌더링부와, 렌더링된 360° 가상현실 동영상을 재생하는 동영상 플레이어와, 동영상 플레이어를 통해 재생되는 360° 가상현실 동영상 출력화면 중에 일부 영역을 인코딩하는 인코딩부와, 인코딩된 일부 영역을 클라이언트 단말에 전송하는 전송부를 포함한다. 일부 영역은 다수의 단면으로 분할된 동영상 출력화면 중에서 중앙 단면이거나 클라이언트 단말이 요청한 단면일 수 있다.The web server according to one embodiment includes a rendering unit for rendering an original image of a 360 ° virtual reality video, a video player for playing the rendered 360 ° virtual reality video, and a 360 ° virtual reality video output An encoding unit encoding an area on the screen, and a transmission unit transmitting the encoded part of the area to the client terminal. Some of the areas may be the center section or the section requested by the client terminal among the moving image output screens divided into a plurality of sections.

렌더링부는 360° 가상현실 동영상의 원본 화상의 해상도를 제1 해상도로 변환하여 렌더링하고, 제1 해상도는 360° 가상현실 동영상의 원본 화상보다 해상도가 높거나 동일할 수 있다. 인코딩부는 360° 가상현실 동영상 출력화면 중에 일부 영역의 해상도를 제2 해상도로 변환하여 인코딩하고, 전송부는 제2 해상도를 가진 일부 영역을 클라이언트 단말에 전송하며, 제2 해상도는 360° 가상현실 동영상의 원본 화상보다 해상도보다 낮거나 동일할 수 있다.The rendering unit may convert the resolution of the original image of the 360 ° virtual reality video into a first resolution and render the first resolution may be higher or equal to the resolution of the original image of the 360 ° virtual reality video. The encoding unit converts the resolution of a partial area of the 360 ° virtual reality video output screen into a second resolution and encodes the partial resolution, and the transmitting unit transmits a partial area having the second resolution to the client terminal. Resolution than the original image.

렌더링부는 360° 가상현실 동영상의 원본 화상을 GPU 사용 또는 하드웨어 가속을 통해 렌더링할 수 있다. 인코딩부는 동영상 플레이어의 동영상 출력화면 중에 일부 영역을 GPU 사용 또는 하드웨어 가속을 통해 인코딩할 수 있다.The rendering unit can render the original image of a 360 ° virtual reality video using GPU or hardware acceleration. The encoding unit can encode some areas of the video output screen of the video player using the GPU or hardware acceleration.

전송부는 인코딩된 일부 영역을 클라이언트 단말에 클라우드 스트리밍 전송할 수 있다.The transmitting unit may transmit the encoded partial region to the client terminal in a cloud streaming manner.

웹 서버는 클라이언트 단말로부터 단말 해상도 정보를 수신하는 수신부를 더 포함하며, 인코딩부는 클라이언트 단말의 단말 해상도 정보를 이용하여 단말 해상도에 맞추어 동영상 플레이어의 동영상 출력화면 중에 일부 영역의 해상도를 변환하여 인코딩하고, 전송부는 인코딩된 일부 영역을 클라이언트 단말에 전송할 수 있다.The web server further includes a receiver for receiving the terminal resolution information from the client terminal. The encoding unit converts and encodes the resolution of a part of the video output screen of the video player according to the terminal resolution using the terminal resolution information of the client terminal, The transmitting unit may transmit the encoded partial area to the client terminal.

일 실시 예에 따르면, 클라이언트 단말에서 360° VR 동영상을 처리할 때 발생 가능한 문제들, 예를 들어, 비효율적인 동영상 스트리밍 또는 다운로드 전송 사용량 문제, 화질열화 문제, 고가의 성능을 요구하는 클라이언트 단말의 문제 등을 해결할 수 있다. 이때, 360° VR 동영상 스트리밍 또는 다운로드 전송 사용량은 클라이언트 단말에 상응하는 해상도 수준(이 또한 고해상도임)이지만, 화질 품질은 초고해상도 수준으로 유지할 수 있다.According to an exemplary embodiment, problems that may occur when processing a 360 ° VR moving image at a client terminal, for example, inefficient video streaming or download transmission usage problem, image degradation problem, problems of a client terminal demanding high performance And so on. At this time, the 360 ° VR video streaming or downloading transmission usage is the resolution level corresponding to the client terminal (which is also high resolution), but the image quality quality can be maintained at the ultra high resolution level.

도 1은 본 발명의 이해를 돕기 위한 360° 가상현실 동영상 출력화면을 도시한 참조도,
도 2는 본 발명의 일 실시 예에 따른 동영상 플레이어의 재생 화면 중 일부 영역을 선택하여 표시하는 예를 설명하기 위한 360° 동영상 출력화면을 도시한 참조도,
도 3은 본 발명의 일 실시 예에 따른 고해상도 360° VR 동영상 처리 시스템의 구성도,
도 4는 본 발명의 일 실시 예에 따른 웹 서버의 구성도,
도 5는 본 발명의 일 실시 예에 따른 360° VR 동영상을 처리하는 웹 서버의 처리 프로세스를 도시한 참조도,
도 6은 본 발명의 일 실시 예에 따른 360° VR 동영상을 제공하는 웹 서버의 성능을 높이기 위해 GPU를 사용하는 웹 서버의 처리 프로세스를 도시한 참조도이다.
FIG. 1 is a reference view showing a 360 ° virtual reality video output screen for facilitating understanding of the present invention;
FIG. 2 is a reference view showing a 360 ° moving image output screen for explaining an example of selecting and displaying a part of a playback screen of a moving picture player according to an embodiment of the present invention;
FIG. 3 is a configuration diagram of a high-resolution 360 ° VR moving image processing system according to an embodiment of the present invention,
4 is a configuration diagram of a web server according to an embodiment of the present invention;
5 is a reference diagram illustrating a processing process of a web server for processing 360 DEG VR moving images according to an embodiment of the present invention;
FIG. 6 is a reference view showing a processing process of a web server using a GPU to enhance the performance of a web server providing 360 ° VR moving picture according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.BRIEF DESCRIPTION OF THE DRAWINGS The advantages and features of the present invention and the manner of achieving them will become apparent with reference to the embodiments described in detail below with reference to the accompanying drawings. The present invention may, however, be embodied in many different forms and should not be construed as being limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the invention to those skilled in the art. Is provided to fully convey the scope of the invention to those skilled in the art, and the invention is only defined by the scope of the claims. Like reference numerals refer to like elements throughout the specification.

본 발명의 실시 예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이며, 후술되는 용어들은 본 발명의 실시 예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description of the present invention, detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. , Which may vary depending on the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램인스트럭션들(실행 엔진)에 의해 수행될 수도 있으며, 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다.Each block of the accompanying block diagrams and combinations of steps of the flowcharts may be performed by computer program instructions (execution engines), which may be stored in a general-purpose computer, special purpose computer, or other processor of a programmable data processing apparatus The instructions that are executed through the processor of the computer or other programmable data processing equipment will generate means for performing the functions described in each block or flowchart of the block diagram.

이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다.These computer program instructions may also be stored in a computer usable or computer readable memory capable of directing a computer or other programmable data processing apparatus to implement the functionality in a particular manner so that the computer usable or computer readable memory It is also possible for the instructions stored in the block diagram to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of the flowchart.

그리고 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명되는 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.And computer program instructions may be loaded onto a computer or other programmable data processing equipment so that a series of operating steps may be performed on a computer or other programmable data processing equipment to create a computer- It is also possible that the instructions that perform the data processing equipment provide the steps for executing the functions described in each block of the block diagram and at each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능들을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있으며, 몇 가지 대체 실시 예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하며, 또한 그 블록들 또는 단계들이 필요에 따라 해당하는 기능의 역순으로 수행되는 것도 가능하다.Also, each block or step may represent a portion of a module, segment, or code that includes one or more executable instructions for executing the specified logical functions, and in some alternative embodiments, It should be noted that functions may occur out of order. For example, two successive blocks or steps may actually be performed substantially concurrently, and it is also possible that the blocks or steps are performed in the reverse order of the function as needed.

이하, 첨부 도면을 참조하여 본 발명의 실시 예를 상세하게 설명한다. 그러나 다음에 예시하는 본 발명의 실시 예는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 다음에 상술하는 실시 예에 한정되는 것은 아니다. 본 발명의 실시 예는 이 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공된다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the following embodiments of the present invention may be modified into various other forms, and the scope of the present invention is not limited to the embodiments described below. The embodiments of the present invention are provided to enable those skilled in the art to more fully understand the present invention.

도 1은 본 발명의 이해를 돕기 위한 360° 가상현실(Virtual Reality: VR, 이하 VR이라 칭함) 동영상 출력화면을 도시한 참조도이다.FIG. 1 is a reference view showing a 360 ° virtual reality (VR) video output screen for facilitating understanding of the present invention.

도 1을 참조하면, 동일한 해상도를 기준으로 360° VR 동영상 파일은 일반 동영상 파일에 비해 파일 크기가 훨씬 크다. 예를 들어, HD 해상도(1280×720p)에서 360° VR 동영상 파일은 일반 동영상 파일에 비해 파일 크기가 3~4배 정도 크다. 360° VR 동영상은 360° 입체 동영상으로 증강현실을 제공한다.Referring to FIG. 1, a 360 ° VR video file has a much larger file size than a regular video file based on the same resolution. For example, a 360 ° VR movie file at HD resolution (1280 × 720p) is three to four times larger than a regular movie file. 360 ° VR videos provide augmented reality with 360 ° stereoscopic video.

도 2는 본 발명의 일 실시 예에 따른 동영상 플레이어의 재생 화면 중 일부 영역을 선택하여 표시하는 예를 설명하기 위한 360° 동영상 출력화면을 도시한 참조도이다.FIG. 2 is a reference view showing a 360 ° moving image output screen for explaining an example of selecting and displaying a part of a playback screen of a moving picture player according to an embodiment of the present invention.

일반적으로 클라이언트 단말에 360° VR 동영상 플레이어와 같은 일반 프로그램이 설치된다. 이 경우, 클라이언트 단말의 360° VR 동영상 플레이어는 360° VR 동영상 콘텐츠를 도 2에 도시된 바와 같이 원형 등으로 구체화하고 다 등분, 예를 들어 9 등분한 후, 그 중에 소정의 단면, 예를 들어 중앙 단면(5) 만을 동영상 플레이어 화면에 표시한다. 9등분은 일 실시 예일 뿐, 18 등분 등과 같이 동영상 플레이어의 해상도에 따라 세분화할 수 있다.Generally, a general program such as a 360 ° VR video player is installed in the client terminal. In this case, the 360 ° VR video player of the client terminal embodies the 360 ° VR video content in a circle or the like as shown in FIG. 2 and divides it into equal parts, for example, nine equal parts, Only the center cross section 5 is displayed on the video player screen. 9 is one embodiment only, and it can be subdivided according to the resolution of the video player such as 18 equal parts.

전술한 360° VR 동영상 처리 방식은 다음과 같은 문제가 발생한다. 예를 들어, 동일한 해상도, 예를 들어 HD 해상도(1280×720p)에서 360° VR 동영상 파일은 일반 동영상 파일에 비해 그 크기가 3~4배 크다. 그러므로 동일한 해상도에서 360° VR 동영상은 일반 동영상에 비해 스트리밍 또는 다운로드 전송 사용량이 3~4배 크게 된다. 일반 동영상에 비해 3~4배 이상의 전송 사용량이 발생하는 360° VR 동영상 플레이어가 실제로 표시하는 화면은 중앙 단면(5)으로써, 클라이언트 단말의 해상도가 HD 해상도일 때 1/9 수준(426×240)의 낮은 해상도를 가진다.The above-described 360 ° VR video processing method has the following problems. For example, a 360 ° VR video file at the same resolution, for example at HD resolution (1280 × 720p), is three to four times larger than a regular video file. Therefore, at the same resolution, 360 ° VR video uses 3 to 4 times more streaming or downloading transmission than ordinary video. The 360 ° VR video player, which displays 3 ~ 4 times more transmission than general video, actually displays the center section (5). When the client terminal resolution is HD resolution, 1/9 level (426 × 240) Of low resolution.

따라서, 360° VR 동영상 플레이어를 실행하는 클라이언트 단말의 화면 크기가 HD 해상도(1280×720p)라고 가정할 때, 1/9 수준(420×240)의 해상도를 가진 단면을 HD 해상도에 맞춰 다시 3배로 늘려 화면에 표시면, 해당 과정에서 반드시 화질열화가 발생한다.Assuming that the screen size of the client terminal executing the 360 ° VR video player is HD resolution (1280 × 720p), the section having a resolution of 1/9 level (420 × 240) is multiplied again to 3 times If it is displayed on the screen, the image quality deterioration necessarily occurs in the process.

한편, 360° VR 동영상 플레이어가 사용자의 입력을 자연스럽게 처리하기 위한 하드웨어 요건도 매우 높다. 기본적으로 360° VR 처리를 위해 3D 가속, 3D 처리, 3D 렌더링 등을 하드웨어로 처리해야 하기 때문이다.On the other hand, the hardware requirements for the 360 ° VR video player to handle user input smoothly are also very high. Basically, 3D acceleration, 3D processing, and 3D rendering must be done with hardware for 360 ° VR processing.

따라서, 본 발명은 360° VR 동영상 플레이어를 클라이언트 단말이 아닌 웹 서버에서 실행한다. 그리고 실행된 화면 중에서 일부 영역, 예를 들어 중앙 단면만을 클라이언트 단말에 전송한다. 이에 따라, 클라이언트 단말이 360° VR 동영상을 처리하는 과정에서 발생하는 비효율적인 동영상 스트리밍 또는 다운로드 전송 사용량 문제, 화질열화 문제, 고가의 성능을 요구하는 클라이언트 단말의 문제 등을 모두 해결할 수 있다.Thus, the present invention implements a 360 ° VR video player on a web server rather than on a client terminal. Then, only a part of the executed screen, for example, the central section is transmitted to the client terminal. Accordingly, it is possible to solve all of the inefficient video streaming or download transmission usage problem, image quality degradation problem, and problem of the client terminal demanding high performance, which occurs in the process of processing the 360 ° VR moving image by the client terminal.

본 발명의 일 실시 예에 따른 웹 서버는 360° VR 동영상의 화질개선을 위해, HD급 화질의 동영상 원본 파일을, Full HD (1080p), Ultra HD (4K), 8K 급과 같은 초고해상도 360° VR 동영상으로 해상도를 높여 웹 서버 내부에서 재생하고 재생된 출력화면에서 일부 영역만을 클라이언트 단말에 HD급 또는 그 이하의 급 해상도로 해상도를 낮추어 전송한다. 이에 따라, 동영상 스트리밍 또는 다운로드 전송 사용량은 클라이언트 단말에 상응하는 해상도 수준(이 또한 고해상도임)이지만, 화질 품질은 초고해상도 수준으로 유지할 수 있다. 이하, 후술되는 도면들을 참조로 하여 전술한 특징을 가지는 고해상도 360° VR 동영상 처리기술에 대해 후술한다.In order to improve the image quality of a 360 ° VR movie, the web server according to an exemplary embodiment of the present invention may convert a moving image file of HD quality into a high definition 360 ° (1080p), Ultra HD (4K) VR video, the video is reproduced inside the web server, and only a part of the area of the reproduced output screen is transmitted to the client terminal at a resolution of HD class or lower. Accordingly, the video streaming or downloading transmission usage amount is the resolution level (which is also high resolution) corresponding to the client terminal, but the image quality quality can be maintained at the ultra high resolution level. Hereinafter, a high-resolution 360 ° VR moving image processing technique having the above-described features will be described with reference to the following drawings.

도 3은 본 발명의 일 실시 예에 따른 고해상도 360° VR 동영상 처리 시스템의 구성도이다.3 is a block diagram of a high-resolution 360 ° VR moving image processing system according to an embodiment of the present invention.

도 3을 참조하면, 웹 서버(2)와 클라이언트 단말(3)은 네트워크(1)를 통해 연결된다. 웹 서버(2)에서는 동영상 플레이어가 실행되어 실행된 동영상 플레이어를 통해 고해상도 360° VR 동영상을 재생하고 재생된 동영상 화면 중에 일부 영역만을 캡쳐 및 인코딩하여 클라이언트 단말(3)에 전송한다.3, the web server 2 and the client terminal 3 are connected via the network 1. [ In the web server 2, a high-resolution 360 ° VR movie is reproduced through a moving picture player executed and executed, and only a part of the reproduced moving picture is captured and encoded and transmitted to the client terminal 3.

여기서, 일부 영역은 다수의 단면으로 분할된 동영상 출력화면 중에서 중앙 단면이거나 클라이언트 단말(3)이 요청한 단면일 수 있다. 중앙 단면의 예는 도 2에서 전술한 바 있다. 클라이언트 단말(3)이 요청한 단면의 예로는, 클라이언트 단말(3)이 단말 해상도를 고려하여 360° VR 동영상을 출력하는 단면의 크기 및 해당 단면을 선택하여 웹 서버(2)에 요청하면, 웹 서버(2)는 클라이언트 단말(3)이 선택한 단면을 단면 크기에 맞게 클라이언트 단말(3)에 전송한다.Here, some of the regions may be a center cross-section or a cross-section requested by the client terminal 3 among the moving image output screens divided into a plurality of cross-sections. An example of the central section has been described above in Fig. As an example of the section requested by the client terminal 3, when the client terminal 3 selects the size and the cross section of the cross section for outputting the 360 ° VR movie in consideration of the terminal resolution and requests the web server 2, (2) transmits the cross section selected by the client terminal (3) to the client terminal (3) in accordance with the cross sectional size.

웹 서버(2)는 네트워크(1)를 통해 클라이언트 단말(3)과 연결되어 웹 기반 모든 데이터를 송수신한다. 이를 위해, 클라이언트 단말(3)은 웹 브라우저 등의 웹 클라이언트를 통해 웹 서버(2)에 요청하고, 요청 결과를 수신하여 이를 사용자에게 제공할 수 있다. 웹 서버(2)와 클라이언트 단말(3)은 웹 소켓(web socket) 등의 웹 기반 네트워킹 방식을 통해 양방향 통신할 수 있다. 이 경우, 웹 서버(1)가 클라이언트 단말(3)의 요청에 응답하는 통신방식에서 탈피할 수 있다.The web server 2 is connected to the client terminal 3 through the network 1 to transmit and receive all data based on the web. To this end, the client terminal 3 may request the web server 2 through a web client such as a web browser, receive the request result, and provide it to the user. The web server 2 and the client terminal 3 can perform bi-directional communication through a web-based networking method such as a web socket. In this case, the web server 1 can depart from the communication method of responding to the request of the client terminal 3.

웹 서버(2)는 클라우드 스트리밍(cloud streaming) 웹 서버일 수 있다. 이 경우, 웹 서버(2)는 클라이언트 단말(3)에 클라우드 스트리밍 서비스를 제공한다. 클라우드 스트리밍 서비스는 소프트웨어를 웹 서버(2)에서 실행하고, 실행 결과를 클라이언트 단말(3)에 전송하는 것을 의미한다. 이때, 클라이언트 단말(3)이 사용자 입력을 다시 웹 서버(2)에 전송하여 웹 서버(2)의 소프트웨어에 반영하는 과정을 포함한다. 소프트웨어는 동영상 플레이어와 같은 멀티미디어 재생 플레이어처럼 웹 서버(2)에서 실행 가능한 프로그램일 수 있다. 클라이언트 단말(3)은 웹 서버(2)로터 동영상 플레이어 실행 결과를 수신하고 수신된 실행 결과를 출력할 수 있다.The web server 2 may be a cloud streaming web server. In this case, the web server 2 provides a cloud streaming service to the client terminal 3. The cloud streaming service means that the software is executed in the web server 2 and the execution result is transmitted to the client terminal 3. At this time, the client terminal 3 transmits the user input again to the web server 2 and reflects it to the software of the web server 2. The software may be a program executable in the web server 2, such as a multimedia player, such as a video player. The client terminal 3 can receive the result of execution of the web server 2 rotor moving picture player and output the received execution result.

클라이언트 단말(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) 단말기일 수 있다.The client terminal 3 includes all the user terminals that the web client can install or download. The web client may be a web browser or a hybrid app. A hybrid app is an app that runs in an Internet browser. Hereinafter, for convenience of explanation, the web client is limited to a web browser, but the present invention is not limited thereto. The client terminal 3 may be various terminals such as an information communication device, a multimedia terminal, a wire terminal, a fixed terminal and an IP (Internet Protocol) terminal. The client terminal 3 may be a mobile terminal, a portable multimedia player (PMP), a mobile Internet device (MID), a smart phone, a desktop, a tablet PC, a notebook, book, and information communication devices, which have various mobile communication specifications.

네트워크(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)는 전술한 통신방식에 한정되는 것은 아니며, 전술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.The network 1 performs a transmission / reception operation for data transmission and information exchange between the web server 2 and the client terminal 3. The network 1 may use various types of communication networks such as a wireless LAN (WLAN), a Wi-Fi, a Wibro, a Wimax, a High Speed Downlink Packet Access (HSDPA) Or a wired communication method such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coax), FTTC (Fiber to the Curb) and FTTH (Fiber To The Home) . Meanwhile, the network 1 is not limited to the communication method described above, and may include any other known or later-developed communication methods in addition to the communication methods described above.

도 4는 본 발명의 일 실시 예에 따른 웹 서버의 구성도이다.4 is a configuration diagram of a web server according to an embodiment of the present invention.

도 4를 참조하면, 웹 서버(2)는 동영상 플레이어(20), 프로세서(22), 전송부(24), 수신부(26) 및 메모리(28)를 포함한다.4, the web server 2 includes a video player 20, a processor 22, a transmitting unit 24, a receiving unit 26, and a memory 28. [

동영상 플레이어(20)는 360° VR 동영상 콘텐츠를 재생한다. 프로세서(22)는 서비스 제공을 위한 각종 명령을 실행한다. 프로세서(22)는 동영상 플레이어(20)를 실행한다. 메모리(28)에는 프로세서(22)를 통해 실행되는 명령을 포함한 데이터와 명령 실행에 따라 생성되는 데이터가 저장될 수 있다. 메모리(28)에는 동영상 플레이어(20)를 통해 재생될 360° VR 동영상 파일 원본이 저장될 수 있다. 프로세서(22)는 동영상 플레이어(20)의 재생 화면을 전송부(24)를 통해 클라이언트 단말에 전송할 수 있다.The video player 20 reproduces the 360 ° VR video content. The processor 22 executes various commands for service provision. The processor 22 executes the video player 20. The memory 28 may store data including instructions executed through the processor 22 and data generated by instruction execution. In the memory 28, a 360 ° VR movie file source to be reproduced through the moving picture player 20 may be stored. The processor 22 can transmit the reproduction screen of the moving picture player 20 to the client terminal through the transmission unit 24. [

일 실시 예에 따른 프로세서(22)는 렌더링부(220)와 인코딩부(222)를 포함한다.The processor 22 according to one embodiment includes a rendering unit 220 and an encoding unit 222.

렌더링부(220)는 동영상 플레이어(20)를 통해 360° VR 동영상의 원본 화상을 렌더링한다. 렌더링부(220)를 통해 렌더링된 360° VR 동영상이 동영상 플레이어(20)를 통해 재생된다. 렌더링은 2차원의 화상에 광원·위치·색상 등 외부의 정보를 고려하여 사실감을 불어넣어, 3차원 화상을 만드는 과정을 의미한다.The rendering unit 220 renders an original image of the 360 ° VR moving picture through the moving picture player 20. The 360 ° VR movie rendered through the rendering unit 220 is reproduced through the video player 20. Rendering refers to the process of creating a three-dimensional image by injecting a sense of reality into a two-dimensional image in consideration of external information such as a light source, a position, and a color.

일 실시 예에 따른 렌더링부(220)는 360° VR 동영상의 원본 화상의 해상도를 제1 해상도로 변환하여 렌더링한다. 이때, 제1 해상도는 360° VR 동영상의 원본 화상보다 해상도가 높거나 동일하다. 예를 들어, HD급 화질의 동영상 원본 파일을, Full HD, 4K, 8K 급과 같은 초고해상도 360° VR 동영상 파일로 해상도를 높여 동영상 플레이어(20)를 통해 재생한다.The rendering unit 220 converts the resolution of the original image of the 360 ° VR moving image into the first resolution and renders it. At this time, the first resolution is higher or equal to the resolution of the original image of the 360 ° VR moving image. For example, a moving image file of an HD quality image is reproduced through the moving image player 20 by increasing resolution to an ultra high resolution 360 ° VR moving image file such as Full HD, 4K, and 8K class.

일 실시 예에 따른 렌더링부(220)는 360° VR 동영상의 원본 화상을 그래픽 처리 유닛(Graphics Processing Unit: GPU, 이하 GPU라 칭함) 사용 또는 하드웨어(hardware: HW, 이하 HW라 칭함) 가속을 통해 렌더링한다. GPU 사용방식은 다이렉트 X(DirectX) 기술을 사용한 표면(Surface) 렌더링 방식 또는 오픈 GL(Open Graphics Library: OpenGL)을 사용한 렌더링 방식을 사용할 수 있다. 다이렉트 X는 그래픽 이미지와 멀티미디어 효과를 만들고 관리하는 데 필요한 응용 프로그램 인터페이스이다. 포면 렌더링은 물체의 표면에 입체감과 질감을 주는 과정이다. 오픈 GL이 API를 통해 호출할 수 있는 내장 기능에는 숨은 면 제거, 투명화, 반 에일리어싱, 텍스처 매핑, 픽셀 조작, 변형을 위한 모델링, 대기 효과(안개, 연기, 아지랑이 등) 등의 기능이 포함된다.The rendering unit 220 according to an exemplary embodiment may use an original image of a 360 ° VR movie using a graphics processing unit (GPU) or hardware (HW) Render. The way of using GPU can use surface rendering method using DirectX (DirectX) technology or rendering method using OpenGL library (OpenGL library). DirectX is the application interface you need to create and manage graphical images and multimedia effects. Surface rendering is the process of giving a three-dimensional texture to the surface of an object. The built-in functions that can be called through this API include features such as hidden face removal, transparency, anti-aliasing, texture mapping, pixel manipulation, modeling for transformation, and atmospheric effects (fog, smoke, haze, etc.).

렌더링부(220)는 다수 개의 GPU를 동시에 사용하는 방식으로 360° VR 동영상을 렌더링하여 웹 서버(2)의 가용량을 극대화할 수 있다. 이에 대한 실시 예는 도 6을 참조로 하여 후술한다.The rendering unit 220 can maximize the available amount of the web server 2 by rendering a 360 ° VR movie using a plurality of GPUs at the same time. An embodiment of this will be described below with reference to Fig.

인코딩부(222)는 동영상 플레이어(20)를 통해 재생되는 360° VR 동영상 출력화면 중에 일부 영역을 캡처(capture)하여 인코딩한다. 일부 영역은 사전에 고정 설정될 수 있는데, 예를 들어 중앙 단면이다. 이를 위해, 인코딩부(222)는 동영상 플레이어(20)를 통해 재생되는 출력화면을 도 2에 도시된 바와 같이 원형 등으로 구체화하고 다 등분, 예를 들어 9 등분한 후, 그 중에 중앙 단면만을 인코딩한다. 9등분은 본 발명의 일 실시 예일 뿐, 18 등분 등과 같이 동영상 플레이어(20)의 해상도에 따라 세분화할 수 있다. 중앙 단면은 본 발명의 일 실시 예로 다른 위치의 화면일 수 있다. 또한, 사전에 고정 설정될 수도 있으나, 클라이언트 단말 사용자의 요청에 따라 사용자가 원하는 각도의 단면을 선택하여 인코딩할 수도 있다.The encoding unit 222 captures and encodes a part of the 360 ° VR moving picture output screen reproduced through the video player 20. Some areas can be fixed in advance, for example, the center section. For this purpose, the encoding unit 222 embodies an output screen reproduced through the moving picture player 20 as a circle or the like as shown in FIG. 2, divides it into equal parts, for example, nine parts, do. 9 is an embodiment of the present invention, and can be subdivided according to the resolution of the video player 20, such as eighteen equal parts. The central section may be a screen at another location in one embodiment of the present invention. Also, it may be fixedly set in advance, but the user may select and encode a section of an angle desired by the user at the request of the client terminal.

일 실시 예에 따른 인코딩부(222)는 동영상 출력화면 중 일부 영역의 해상도를 제2 해상도로 변환하여 인코딩한다. 제2 해상도는 360° VR 동영상의 원본 화상보다 해상도보다 낮거나 동일하다. 예를 들어, HD급 화질의 동영상 원본 파일을 대상으로, Full HD, 4K, 8K 급과 같은 초고해상도 360° VR 동영상 파일로 해상도를 높여 동영상 플레이어(20)를 통해 재생된 출력화면에서 일부 영역만을 HD급 또는 그 이하의 급 해상도에 맞추어 해상도를 낮추어 인코딩한다. 전송부(24)는 인코딩부(222)를 통해 인코딩된 일부 영역을 클라이언트 단말에 전송한다. 이에 따라, 동영상 스트리밍 또는 다운로드 전송 사용량은 클라이언트 단말에 상응하는 해상도 수준(이 또한 고해상도임)이지만, 화질 품질은 초고해상도 수준으로 유지할 수 있다.The encoding unit 222 according to an embodiment converts the resolution of a part of the moving image output screen to a second resolution and encodes the resolution. The second resolution is less than or equal to the resolution of the original image of the 360 ° VR movie. For example, when a video source file of HD quality is targeted, an image of an ultra-high resolution 360 ° VR movie file such as Full HD, 4K, and 8K class is increased in resolution, Encode by lowering the resolution to HD class or lower. The transmitting unit 24 transmits the encoded region through the encoding unit 222 to the client terminal. Accordingly, the video streaming or downloading transmission usage amount is the resolution level (which is also high resolution) corresponding to the client terminal, but the image quality quality can be maintained at the ultra high resolution level.

일 실시 예에 따른 인코딩부(222)는 동영상 플레이어(20)의 재생 화면 중에 일부 영역을 GPU 사용 또는 HW 가속을 통해 인코딩한다. 이에 대한 실시 예는 도 6을 참조로 하여 후술한다. 인코딩부(222)는 동영상 플레이어(20)를 통해 재생되는 실행 화면 및 오디오를 분리하여 각각 인코딩할 수 있다.The encoding unit 222 according to an exemplary embodiment encodes a portion of a playback screen of the moving picture player 20 using a GPU or HW acceleration. An embodiment of this will be described below with reference to Fig. The encoding unit 222 may separately encode the execution picture and audio reproduced through the moving picture player 20, respectively.

수신부(26)는 클라이언트 단말로부터 콘텐츠 요청을 수신하고, 사용자 입력을 전달 받을 수 있다. 또한, 수신부(26)는 클라이언트 단말로부터 단말 해상도 정보를 수신할 수 있다. 그러면, 인코딩부(222)는 클라이언트 단말의 단말 해상도 정보를 이용하여 단말 해상도에 맞추어 동영상 플레이어(20)의 출력화면 중 일부 영역의 해상도를 변환하여 인코딩하고, 전송부(24)는 인코딩된 일부 영역을 클라이언트 단말에 전송한다.The receiving unit 26 may receive the content request from the client terminal and receive the user input. Also, the receiving unit 26 can receive the terminal resolution information from the client terminal. The encoding unit 222 encodes the resolution of a part of the output screen of the moving picture player 20 according to the resolution of the terminal using the terminal resolution information of the client terminal and the transmitting unit 24 encodes the encoded partial area To the client terminal.

도 5는 본 발명의 일 실시 예에 따른 360° VR 동영상을 처리하는 웹 서버의 처리 프로세스를 도시한 참조도이다.5 is a reference diagram showing a processing process of a web server for processing 360 ° VR moving picture according to an embodiment of the present invention.

도 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)을 사용한 렌더링 방식을 사용할 수 있다.Referring to FIG. 5, a 360 ° VR movie is provided from the web server 2 to the client terminal 3. The 360 ° VR movie source file may be located in the memory of the Web server 2, for example, a local disk, and may be located in an accessible NAS (Network-Attached Storage) or a SAN (storage area network). The web server 2 executes the VR video player 20 to render a 360 ° VR movie original file. Rendering can be performed using the GPU using method or the HW acceleration method at the time of rendering. The way of using GPU can use surface rendering method using DirectX (DirectX) technology or rendering method using OpenGL library (OpenGL library).

인코딩부(222)는 360° VR 동영상 플레이어(20)에 의해 재생된 렌더링 화면을 인코딩한다. 인코딩부(222)는 렌더링 화면 중 특히 중앙 화면만을 인코딩할 수 있다. 인코딩부(222)는 GPU 사용방식 또는 HW 가속방식을 이용하여 동영상 코덱을 통해 캡쳐 화면을 인코딩할 수 있다. GPU 사용방식은 다이렉트 X(DirectX) 기술을 사용한 인코딩 방식 또는 동영상 코덱을 사용한 HW 가속 인코딩 방식을 사용할 수 있다. GPU를 통한 HW 가속 인코딩 시에, H.265 코덱을 사용하는 방식으로 서비스를 위한 화질을 높일 수 있다. 또한, 360° VR 동영상 플레이어(20)에 의해 재생된 오디오 출력은 오디오 코덱에 의해 인코딩된다. 다이렉트 X(DirectX) 기술을 사용한 인코딩 방식 또는 오디오 코덱을 사용한 HW 가속 인코딩 방식을 사용할 수 있다.The encoding unit 222 encodes the rendering screen reproduced by the 360 ° VR video player 20. The encoding unit 222 can encode only the central picture, especially the rendering picture. The encoding unit 222 may encode the captured image through the video codec using the GPU using method or the HW acceleration method. The way of using the GPU can use the encoding method using DirectX (DirectX) technology or the HW acceleration encoding method using the video codec. In HW acceleration encoding via GPU, the picture quality for service can be increased by using H.265 codec. In addition, the audio output reproduced by the 360 ° VR video player 20 is encoded by the audio codec. You can use the encoding method using DirectX (DirectX) technology or the HW acceleration encoding method using audio codec.

인코딩된 화면 및 오디오는 네트워크를 거쳐 클라이언트 단말(3)의 클라이언트(30)로 스트리밍 또는 다운로드 전송된다. 클라이언트(30)의 예로는 웹 브라우저, 하이브리드 앱, 단순 플레이어 등이다.The encoded screen and audio are streamed or downloaded to the client 30 of the client terminal 3 via the network. Examples of the client 30 are a web browser, a hybrid app, or a simple player.

도 6은 본 발명의 일 실시 예에 따른 360° VR 동영상을 제공하는 웹 서버의 성능을 높이기 위해 GPU를 사용하는 웹 서버의 처리 프로세스를 도시한 참조도이다.FIG. 6 is a reference view showing a process of a web server using a GPU to enhance the performance of a web server providing 360 ° VR moving picture according to an embodiment of the present invention.

도 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)의 가용량을 극대화할 수 있다. Referring to FIG. 6, 360 ° VR video rendering and some area encoding are simultaneously processed by a plurality of GPUs, thereby reducing the CPU occupation rate throughout the 360 ° VR video processing and simultaneously processing 360 ° VR video processing processed by the web server 2 Increase capacity. A plurality of GPUs (GPU # 1, GPU # 2, ..., and GPU #n) are mounted on the web server 2 in one web server 2, GPU # n) at the same time, it is possible to maximize the available amount of the web server 2 by processing the 360 DEG VR video rendering and the partial region encoding.

웹 서버(2)는 360° VR 동영상을 출력한 결과 화면을 스트리밍 또는 다운로드 전송방식으로 클라이언트 단말(3)의 클라이언트(30)에 전송한다. 또한, 웹 서버(2)는 360° VR 동영상을 출력한 결과 오디오를 스트리밍 또는 다운로드 전송 방식으로 클라이언트 단말(3)의 클라이언트(30)에 전송한다.The web server 2 transmits the 360 ° VR moving picture result screen to the client 30 of the client terminal 3 in a streaming or download transmission manner. In addition, the web server 2 outputs the 360 ° VR movie and transmits the audio to the client 30 of the client terminal 3 in a streaming or download transmission manner.

클라이언트 단말(3)에서 사용자가 입력한 터치, 탭, 핀치, 줌, 스크롤, 틸트와 같은 제스처와 마우스, 키보드와 같은 입력 등은 클라이언트 단말(3)이 웹 서버(2)에 전송할 수 있다. 이 경우, 웹 서버(2)는 사용자 입력을 실행된 360° VR 동영상 플레이어에 반영한다.Gestures such as touch, tab, pinch, zoom, scroll, and tilt input from the client terminal 3 and input such as a mouse and a keyboard can be transmitted to the web server 2 by the client terminal 3. In this case, the web server 2 reflects the user input to the executed 360 ° VR video player.

본 발명은 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 동영상 플레이어의 출력화면과 맞추는 방식으로 서비스를 위한 품질을 높일 수 있다.The present invention converts an original image quality of a 360 ° VR movie file into an ultra high resolution image and reproduces it through a video player of the web server 2 in order to enhance the image quality of a 360 ° VR movie. For example, in the HD (1280 × 720p) class, the image quality is improved for the 360 ° VR video service by increasing the resolution by Full HD (1080p), Ultra HD (4K), and 8K class. On the other hand, when the image is provided to the client terminal 3, the image quality of the video player output screen having an ultra-high resolution, for example, an original image quality of 4K is lowered (this is also high resolution) Adjust transmission quality. Accordingly, both the image quality and the service quality for transmission can be increased. In addition, in the HW encoding through the GPU, the image quality for the service is increased by using the H.265 codec. As another example, the quality of service can be improved by transmitting the resolution of the client terminal to the 360 ° VR video player of the web server 2 to match the output screen of the 360 ° VR video player.

이제까지 본 발명에 대하여 그 실시 예들을 중심으로 살펴보았다. 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시 예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.The embodiments of the present invention have been described above. It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. Therefore, the disclosed embodiments should be considered in an illustrative rather than a restrictive sense. The scope of the present invention is defined by the appended claims rather than by the foregoing description, and all differences within the scope of equivalents thereof should be construed as being included in the present invention.

1: 네트워크 2: 웹 서버
3: 클라이언트 단말 20: 동영상 플레이어
22: 프로세서 24: 전송부
26: 수신부 28: 메모리
220: 렌더링부 222: 인코딩부
1: Network 2: Web server
3: client terminal 20: video player
22: processor 24:
26: Receiving unit 28: Memory
220: rendering unit 222: encoding unit

Claims (8)

360° 가상현실 동영상의 원본 화상을 렌더링하는 렌더링부;
렌더링된 360° 가상현실 동영상을 재생하는 동영상 플레이어;
상기 동영상 플레이어를 통해 재생되는 360° 가상현실 동영상 출력화면 중에 일부 영역을 인코딩하는 인코딩부; 및
인코딩된 일부 영역을 클라이언트 단말에 전송하는 전송부;
를 포함하는 것을 특징으로 하는 웹 서버.
A rendering unit for rendering an original image of a 360 ° virtual reality video;
A video player that plays rendered 360 ° virtual reality video;
An encoding unit for encoding a part of a 360 ° virtual reality video output screen reproduced through the video player; And
A transmitting unit for transmitting the encoded partial region to the client terminal;
The web server comprising:
제 1 항에 있어서,
상기 일부 영역은 다수의 단면으로 분할된 동영상 출력화면 중에서 중앙 단면이거나 클라이언트 단말이 요청한 단면인 것을 특징으로 하는 웹 서버.
The method according to claim 1,
Wherein the partial area is a center section or a section requested by the client terminal among the moving image output screens divided into a plurality of sections.
제 1 항에 있어서, 상기 렌더링부는
360° 가상현실 동영상의 원본 화상의 해상도를 제1 해상도로 변환하여 렌더링하고,
제1 해상도는 360° 가상현실 동영상의 원본 화상보다 해상도가 높거나 동일한 것을 특징으로 하는 웹 서버.
The apparatus of claim 1, wherein the rendering unit
Converts the resolution of the original image of the 360 ° virtual reality video into a first resolution,
Wherein the first resolution is higher or equal to the resolution of the original image of the 360 ° virtual reality video.
제 1 항에 있어서,
상기 인코딩부는 360° 가상현실 동영상 출력화면 중에 일부 영역의 해상도를 제2 해상도로 변환하여 인코딩하고,
상기 전송부는 제2 해상도를 가진 일부 영역을 클라이언트 단말에 전송하며,
제2 해상도는 360° 가상현실 동영상의 원본 화상보다 해상도보다 낮거나 동일한 것을 특징으로 하는 웹 서버.
The method according to claim 1,
The encoding unit converts the resolution of a part of the 360 ° virtual reality video output screen into a second resolution and encodes the resolution,
Wherein the transmitting unit transmits a partial area having a second resolution to the client terminal,
Wherein the second resolution is lower than or equal to the resolution of the original image of the 360 ° virtual reality video.
제 1 항에 있어서, 상기 렌더링부는
360° 가상현실 동영상의 원본 화상을 GPU 사용 또는 하드웨어 가속을 통해 렌더링하는 것을 특징으로 하는 웹 서버.
The apparatus of claim 1, wherein the rendering unit
Wherein the original image of the 360 ° virtual reality video is rendered using GPU or hardware acceleration.
제 1 항에 있어서, 상기 인코딩부는
상기 동영상 플레이어의 동영상 출력화면 중에 일부 영역을 GPU 사용 또는 하드웨어 가속을 통해 인코딩하는 것을 특징으로 하는 웹 서버.
The apparatus of claim 1, wherein the encoding unit
Wherein a portion of the video output screen of the video player is encoded using a GPU or hardware acceleration.
제 1 항에 있어서, 상기 전송부는
인코딩된 일부 영역을 상기 클라이언트 단말에 클라우드 스트리밍 전송하는 것을 특징으로 하는 웹 서버.
The apparatus of claim 1,
And transmits the encoded partial region to the client terminal in the cloud streaming transmission.
제 1 항에 있어서, 상기 웹 서버는
상기 클라이언트 단말로부터 단말 해상도 정보를 수신하는 수신부; 를 더 포함하며,
상기 인코딩부는 클라이언트 단말의 단말 해상도 정보를 이용하여 단말 해상도에 맞추어 동영상 플레이어의 동영상 출력화면 중에 일부 영역의 해상도를 변환하여 인코딩하고,
상기 전송부는 인코딩된 일부 영역을 상기 클라이언트 단말에 전송하는 것을 특징으로 하는 웹 서버.
The system according to claim 1, wherein the web server
A receiving unit for receiving terminal resolution information from the client terminal; Further comprising:
The encoding unit converts the resolution of a part of the moving picture output screen of the moving picture player according to the terminal resolution using the terminal resolution information of the client terminal,
Wherein the transmitting unit transmits the encoded partial region to the client terminal.
KR1020160107833A 2016-08-24 2016-08-24 Web server for processing 360° VR video having high resolution and method thereof KR101779527B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160107833A KR101779527B1 (en) 2016-08-24 2016-08-24 Web server for processing 360° VR video having high resolution and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160107833A KR101779527B1 (en) 2016-08-24 2016-08-24 Web server for processing 360° VR video having high resolution and method thereof

Publications (1)

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

Family

ID=60034248

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160107833A KR101779527B1 (en) 2016-08-24 2016-08-24 Web server for processing 360° VR video having high resolution and method thereof

Country Status (1)

Country Link
KR (1) KR101779527B1 (en)

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 (en) Video rendering method and device, electronic equipment and storage medium
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
KR102502794B1 (en) Methods and systems for customizing virtual reality data
TW202028928A (en) Cross layer traffic optimization for split xr
EP3586518A1 (en) Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for vr videos
US10965783B2 (en) Multimedia information sharing method, related apparatus, and system
JP7392136B2 (en) Methods, computer systems, and computer programs for displaying video content
WO2019002559A1 (en) Screen sharing for display in vr
US11809771B2 (en) Orchestrated control for displaying media
JP7447293B2 (en) References to Neural Network Models for Adaptation of 2D Video for Streaming to Heterogeneous Client Endpoints
KR101779527B1 (en) Web server for processing 360° VR video having high resolution and method thereof
US10529129B2 (en) Dynamic selection mechanism for interactive video
JP7448677B2 (en) Methods and devices and computer programs for streaming immersive media
JP7447266B2 (en) View encoding and decoding for volumetric image data
US11570227B2 (en) Set up and distribution of immersive media to heterogenous client end-points
KR20160015128A (en) System for cloud streaming service, method of cloud streaming service based on type of image and apparatus for the same
JP7419529B2 (en) Immersive teleconference and telepresence interactive overlay processing for remote terminals
Seligmann SmmmmS lient for Remote Rendered irtual Heality
Seligmann Web-based Client for Remote Rendered Virtual Reality
KR20230153468A (en) Method, device, and program for streaming 3D objects
JP2023507586A (en) Method and Apparatus for Encoding, Decoding, and Rendering 6DOF Content from 3DOF Components
CN117616762A (en) Enhancing video or external environment with 3D graphics

Legal Events

Date Code Title Description
GRNT Written decision to grant