KR102238670B1 - Distributed rendering system and method using idle resource of users - Google Patents

Distributed rendering system and method using idle resource of users Download PDF

Info

Publication number
KR102238670B1
KR102238670B1 KR1020190138119A KR20190138119A KR102238670B1 KR 102238670 B1 KR102238670 B1 KR 102238670B1 KR 1020190138119 A KR1020190138119 A KR 1020190138119A KR 20190138119 A KR20190138119 A KR 20190138119A KR 102238670 B1 KR102238670 B1 KR 102238670B1
Authority
KR
South Korea
Prior art keywords
rendering
information
target content
layers
client device
Prior art date
Application number
KR1020190138119A
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 KR1020190138119A priority Critical patent/KR102238670B1/en
Application granted granted Critical
Publication of KR102238670B1 publication Critical patent/KR102238670B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms
    • H04L67/1082Resource delivery mechanisms involving incentive schemes
    • H04L67/2804
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Abstract

A distributed rendering system using idle resources includes a service server transmitting renderable information to a service server, receiving a rendering request for target content from a plurality of client devices and personal terminal devices, which render at least a portion of the content using allocation information and metadata on the content to be rendered, and transmitting the allocation information and model information for the target content to at least two client devices among the plurality of client devices. The allocation information is information indicating a portion of the target content to be rendered by each of the at least two client devices, and the metadata is information on model data required for rendering the target content.

Description

사용자의 유휴 자원을 활용한 분산 렌더링 시스템 및 분산 렌더링 방법{DISTRIBUTED RENDERING SYSTEM AND METHOD USING IDLE RESOURCE OF USERS}Distributed rendering system and distributed rendering method utilizing user's idle resources {DISTRIBUTED RENDERING SYSTEM AND METHOD USING IDLE RESOURCE OF USERS}

이하 설명하는 기술은 개인의 유휴 자원을 활용한 분산 렌더링 기법 내지 렌더링 서비스에 관한 것이다. The techniques to be described below relate to a distributed rendering technique or a rendering service using an individual's idle resources.

렌더링(rendering)은 컴퓨터 프로그램을 사용하여 모델(장면 데이터)로부터 영상을 만드는 과정을 의미한다. 장면 데이터(scene data)는 가상의 장면을 표현하는 객체의 배열, 시점, 텍스처 매핑, 조명, 셰이딩 정도 등을 포함할 수 있다. 3D 렌더링은 3D 모델 데이터를 2차원 화면상의 이미지 데이터로 변환하는 과정이다.Rendering refers to the process of creating an image from a model (scene data) using a computer program. Scene data may include an array of objects representing a virtual scene, a viewpoint, texture mapping, lighting, and shading degree. 3D rendering is a process of converting 3D model data into image data on a 2D screen.

그래픽 하드웨어가 발달하고 있지만, 3D 렌더링은 시간과 자원이 매우 많이 소요되는 과정이다. 나아가, UHD와 같이 높은 해상도를 갖는 영상이 등장하면서 렌더링은 더욱더 많은 시간이 소요되는 작업이 되었다.Although graphics hardware is developing, 3D rendering is a very time-consuming and resource-intensive process. Furthermore, as images with high resolution such as UHD appeared, rendering became a more time-consuming task.

이인 외 4명, 특정 목적 렌더러에 특화된 분산 렌더링 관리 시스템의 설계 및 구현, 한국콘텐츠학회논문지 제12권 제2호, 2012.2, 60-68In Lee and 4 others, Design and Implementation of a Distributed Rendering Management System Specialized for Specific Purpose Renderers, Journal of the Korea Contents Association Vol. 12, No. 2, 2012.2, 60-68

고가의 렌더링 전용 장비는 일반인이 사용하기 어렵다는 한계가 있다. 나아가, 렌더링 전용 장비도 3D 렌더링은 여전히 시간이 많이 소요되는 작업이다. There is a limit in that expensive rendering-only equipment is difficult for the general public to use. Furthermore, even for rendering-only equipment, 3D rendering is still a time-consuming task.

이하 설명하는 기술은 사용자들의 유휴 자원(resource)을 이용하여 3D 렌더링을 분산 처리하는 서비스를 제공하고자 한다. 이하 설명하는 기술은 분산 처리 렌더링을 기반으로 개인 사용자를 위한 영상 콘텐츠 제작 플랫폼을 제공하고자 한다.The technology described below is intended to provide a service for distributing 3D rendering using idle resources of users. The technology described below is intended to provide a platform for creating image contents for individual users based on distributed processing rendering.

사용자의 유휴 자원을 활용한 분산 렌더링 시스템은 렌더링 가능하다는 정보를 서비스 서버에 전송하고, 렌더링 대상인 콘텐츠에 대한 할당 정보 및 메타데이터를 이용하여 콘텐츠 중 적어도 일부를 렌더링하는 복수의 클라이언트 장치 및 개인 단말장치로부터 타깃 콘텐츠에 대한 렌더링 요청을 수신하고, 상기 복수의 클라이언트 장치 중 적어도 2개의 클라이언트 장치에 상기 타깃 콘텐츠에 대한 할당 정보 및 메타데이터를 전달하는 서비스 서버를 포함한다. 상기 할당 정보는 상기 타깃 콘텐츠 중 상기 적어도 2개의 클라이언트 장치 각각이 렌더링할 부분을 나타내는 정보이고, 상기 메타데이터는 상기 타깃 콘텐츠의 렌더링에 필요한 모델 데이터에 대한 정보이다.A distributed rendering system utilizing idle resources of a user transmits information that rendering is possible to the service server, and renders at least a portion of the content using allocation information and metadata for the content to be rendered. And a service server that receives a rendering request for the target content from and transmits allocation information and metadata for the target content to at least two of the plurality of client devices. The allocation information is information indicating a portion of the target content to be rendered by each of the at least two client devices, and the metadata is information on model data required for rendering of the target content.

이하 설명하는 기술은 사용자 컴퓨팅 장치의 유휴 자원을 활용하여 3D 렌더링을 분산처리한다. 이하 설명하는 기술은 가용한 자원들을 3D 렌더링에 할당하여 별도의 장비 없이 빠르게 3D 렌더링 결과를 얻을 수 있다.The technique described below distributes 3D rendering by using idle resources of a user computing device. The technique to be described below allocates available resources to 3D rendering, so that a 3D rendering result can be obtained quickly without additional equipment.

도 1은 분산 렌더링 시스템에 대한 예이다.
도 2는 분산 렌더링의 대상이 되는 복수의 레이어에 대한 예이다.
도 3은 분산 렌더링 시스템에서 렌더링을 수행하는 과정에 대한 예이다.
도 4는 분산 렌더링 시스템에서 렌더링을 수행하는 과정에 대한 다른 예이다.
도 5는 분산 렌더링 시스템에서 렌더링을 수행하는 과정에 대한 또 다른 예이다.
도 6은 분산 렌더링 서비스를 제공하는 서비스 제공 장치에 대한 예이다.
1 is an example of a distributed rendering system.
2 is an example of a plurality of layers to be subjected to distributed rendering.
3 is an example of a process of performing rendering in a distributed rendering system.
4 is another example of a process of performing rendering in a distributed rendering system.
5 is another example of a process of performing rendering in a distributed rendering system.
6 is an example of a service providing device that provides a distributed rendering service.

이하 설명하는 기술은 다양한 변경을 가할 수 있고 여러 가지 실시례를 가질 수 있는 바, 특정 실시례들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 이하 설명하는 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 이하 설명하는 기술의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.The technology to be described below may be modified in various ways and may have various embodiments, and specific embodiments will be illustrated in the drawings and described in detail. However, this is not intended to limit the technology described below to a specific embodiment, it should be understood to include all changes, equivalents, or substitutes included in the spirit and scope of the technology described below.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 해당 구성요소들은 상기 용어들에 의해 한정되지는 않으며, 단지 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 이하 설명하는 기술의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as 1st, 2nd, A, B, etc. may be used to describe various components, but the components are not limited by the above terms, and only for the purpose of distinguishing one component from other components. Is only used. For example, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component without departing from the scope of the rights of the technology described below. The term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.

본 명세서에서 사용되는 용어에서 단수의 표현은 문맥상 명백하게 다르게 해석되지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함한다" 등의 용어는 설시된 특징, 개수, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 의미하는 것이지, 하나 또는 그 이상의 다른 특징들이나 개수, 단계 동작 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 배제하지 않는 것으로 이해되어야 한다.In terms of the terms used in the present specification, expressions in the singular should be understood as including plural expressions unless clearly interpreted differently in context, and terms such as "includes" are specified features, numbers, steps, actions, and components. It is to be understood that the presence or addition of one or more other features or numbers, step-acting components, parts or combinations thereof is not meant to imply the presence of, parts, or combinations thereof.

도면에 대한 상세한 설명을 하기에 앞서, 본 명세서에서의 구성부들에 대한 구분은 각 구성부가 담당하는 주기능 별로 구분한 것에 불과함을 명확히 하고자 한다. 즉, 이하에서 설명할 2개 이상의 구성부가 하나의 구성부로 합쳐지거나 또는 하나의 구성부가 보다 세분화된 기능별로 2개 이상으로 분화되어 구비될 수도 있다. 그리고 이하에서 설명할 구성부 각각은 자신이 담당하는 주기능 이외에도 다른 구성부가 담당하는 기능 중 일부 또는 전부의 기능을 추가적으로 수행할 수도 있으며, 구성부 각각이 담당하는 주기능 중 일부 기능이 다른 구성부에 의해 전담되어 수행될 수도 있음은 물론이다.Prior to the detailed description of the drawings, it is intended to clarify that the division of the constituent parts in the present specification is merely divided by the main function that each constituent part is responsible for. That is, two or more constituent parts to be described below may be combined into one constituent part, or one constituent part may be divided into two or more for each more subdivided function. In addition, each of the constituent units to be described below may additionally perform some or all of the functions of other constituent units in addition to its own main function, and some of the main functions of each constituent unit are different. It goes without saying that it can also be performed exclusively by.

또, 방법 또는 동작 방법을 수행함에 있어서, 상기 방법을 이루는 각 과정들은 문맥상 명백하게 특정 순서를 기재하지 않은 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 과정들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In addition, in performing the method or operation method, each of the processes constituting the method may occur differently from the specified order unless a specific order is clearly stated in the context. That is, each of the processes may occur in the same order as the specified order, may be performed substantially simultaneously, or may be performed in the reverse order.

이하 명세서에서 사용하는 용어에 대하여 설명한다. Hereinafter, terms used in the specification will be described.

렌더링은 렌더링 프로그램을 사용하여 모델 데이터로부터 영상을 만드는 과정이다. 렌더링 결과는 일정한 포맷의 영상 파일이다. 3D 렌더링은 3차원 모델을 기반으로 영상을 만드는 과정이다. 이하 설명하는 기술이 반드시 3D 렌더링에 국한되어 적용되는 것은 아니다. 다만, 설명의 편의를 위하여 3D 렌더링을 중심으로 설명한다. 3D 렌더링은 투영(projection), 클리핑(clipping), 은면처리(hidden surface), 셰이딩(shading), 매핑(napping) 과정 등이 포함된다. 다양한 3D 렌더링 기법과 툴이 존재한다. 3D 렌더링 과정에 대한 상세한 설명은 생략한다.Rendering is the process of creating an image from model data using a rendering program. The rendering result is an image file of a certain format. 3D rendering is a process of creating an image based on a 3D model. The techniques described below are not necessarily limited to 3D rendering and applied. However, for convenience of explanation, it will be described focusing on 3D rendering. 3D rendering includes projection, clipping, hidden surface, shading, and napping processes. Various 3D rendering techniques and tools exist. Detailed description of the 3D rendering process will be omitted.

모델 데이터는 가상의 장면을 나타내는 데이터를 의미한다. 모델 데이터는 장면 데이터(scene data)라고 명명할 수도 있다. 모델 데이터는 가상의 장면을 표현하는 도형의 배열, 시점, 텍스처 매핑, 조명, 셰이딩 정보가 포함될 수 있다. Model data means data representing a virtual scene. Model data may also be referred to as scene data. The model data may include arrangement of figures representing a virtual scene, viewpoint, texture mapping, lighting, and shading information.

이하 설명하는 기술은 렌더링을 분산하여 처리하는 서비스에 관한 것이다. 렌더링 서비스는 서비스 관점에서 렌더링을 요청하는 주체, 렌더링을 수행하는 주체 및 서비스를 제어하는 주체 등이 존재한다. The technology to be described below relates to a service that distributes and processes rendering. In the rendering service, there are a subject that requests rendering, a subject that performs rendering, and a subject that controls the service from a service point of view.

분산 렌더링 서비스는 분산된 장치를 이용하여 렌더링 과정을 분할 내지 분산하여 처리하는 서비스를 의미한다. Distributed rendering service refers to a service that processes a rendering process by dividing or distributing it using a distributed device.

서비스 제공 장치는 분산 렌더링 서비스를 제공하는 장치를 의미한다. 서비스 제공 장치는 분산 렌더링 서비스를 제어하는 주체에 해당한다. 서비스 제공 장치는 서비스 서버일 수 있다. 서비스 제공 장치는 개인 단말장치일 수도 있다.The service providing device means a device that provides a distributed rendering service. The service providing device corresponds to a subject that controls the distributed rendering service. The service providing device may be a service server. The service providing device may be a personal terminal device.

렌더링 장치는 렌더링을 수행하는 장치이다. 렌더링 장치는 기본적으로 개인 단말장치 또는 서버일 수 있다.The rendering device is a device that performs rendering. The rendering device may basically be a personal terminal device or a server.

렌더링 요청 장치는 렌더링을 요청하는 장치이다. 렌더링 요청 장치는 개인 단말장치 또는 서버일 수 있다.The rendering request device is a device that requests rendering. The rendering request device may be a personal terminal device or a server.

개인 단말장치는 개인(사용자)이 사용하는 컴퓨팅 장치를 의미한다. 예컨대, 개인 단말장치는 PC, 노트북, 스마트폰, 태블릿 등과 같은 장치 중 적어도 하나일 수 있다. A personal terminal device refers to a computing device used by an individual (user). For example, the personal terminal device may be at least one of devices such as a PC, a laptop computer, a smart phone, and a tablet.

분산 렌더링 서비스를 제공하는 서비스 서버와 대비되는 개념으로, 개인이 사용하는 장치를 클라이언트 장치라고 명명할 수도 있다. 클라이언트 장치는 개인(사용자)이 사용하는 PC, 노트북, 스마트폰, 태블릿 등과 같은 장치 중 적어도 하나일 수 있다. In contrast to a service server providing a distributed rendering service, a device used by an individual may be referred to as a client device. The client device may be at least one of devices such as a PC, a notebook, a smartphone, and a tablet used by an individual (user).

이하 설명하는 기술은 컴퓨팅 리소스가 많이 요구되는 렌더링 작업에 특히 유용하다. 이하 설명하는 기술은 3D 영상 렌더링, 2D 영상 렌더링, VR 영상, AR 영상 렌더링 등에 적용될 수 있다. 나아가, 이하 설명하는 기술은 오디오 렌더링, 3D 오디로 렌더링에도 적용될 수 있다. 이하 설명하는 기술은 실감형 미디어를 위한 다양한 유형의 렌더링에 적용될 수도 있다. 따라서, 이하 렌더링은 2D 영상, 3D 영상, VR 영상, AR 영상, 오디오, 3D 오디오, 실감 미디어 등을 위한 작업이라고 가정한다.The technique described below is particularly useful for rendering work that requires a lot of computing resources. The techniques described below may be applied to 3D image rendering, 2D image rendering, VR image, AR image rendering, and the like. Furthermore, the techniques described below can be applied to audio rendering and 3D audio rendering. The technique described below may be applied to various types of rendering for immersive media. Therefore, it is assumed that rendering below is a work for 2D video, 3D video, VR video, AR video, audio, 3D audio, realistic media, and the like.

이하 설명하는 기술은 개인의 유휴 자원을 활용하여 렌더링을 수행한다. 이하 설명하는 기술은 개인 단말장치에서 가용한 자원을 이용하여 렌더링을 수행한다.The technique to be described below performs rendering using an individual's idle resources. The technique described below performs rendering using resources available in the personal terminal device.

유휴 자원은 개인 단말장치에서 현재 사용 가능한 자원을 의미한다. 또는 유휴 자원은 개별 주체(개인, 기업 등)가 렌더링에 사용할 수 있도록 사전에 설정한 자원을 의미할 수도 있다.Idle resources refer to resources currently available in the personal terminal device. Alternatively, the idle resource may mean a resource set in advance so that individual subjects (individuals, companies, etc.) can use it for rendering.

도 1은 분산 렌더링 시스템(100)에 대한 예이다. 시스템(100)은 클라이언트 장치(10, 111, 112, 113) 및 서비스 서버(150)를 포함한다. 시스템(100)은 모델 데이터를 저장하는 데이터베이스(120)를 포함할 수도 있다. 시스템(100)을 구성하는 객체들은 네트워크를 통해 정보 및 데이터를 송수신할 수 있다. 네트워크는 무선 네트워크 및 유선 네트워크 중 적어도 하나일 수 있다.1 is an example of a distributed rendering system 100. System 100 includes client devices 10, 111, 112, 113 and a service server 150. The system 100 may also include a database 120 that stores model data. Objects constituting the system 100 may transmit and receive information and data through a network. The network may be at least one of a wireless network and a wired network.

클라이언트 장치(10)는 렌더링 요청 장치이다. 클라이언트 장치(10)의 사용자는 렌더링한 영상 콘텐츠를 사용하고자 하는 주체이다. 개인 사용자는 자신의 단말장치로는 렌더링에 시간이 너무 많이 소요되기에, 분산 렌더링 시스템을 이용하여 렌더링을 다른 개인들에게 위탁한다.The client device 10 is a rendering request device. The user of the client device 10 is a subject who wants to use the rendered image content. Because individual users take too much time to render with their terminal devices, they entrust rendering to other individuals using a distributed rendering system.

클라이언트 장치(111, 112, 113)는 렌더링 장치이다. 클라이언트 장치(111, 112, 113)는 요청받은 렌더링 작업을 수행하는 장치이다. 클라이언트 장치(111)는 스마트기기이고, 클라이언트 장치(112, 113)는 PC와 같은 컴퓨터 장치이다.The client devices 111, 112, and 113 are rendering devices. The client devices 111, 112, and 113 are devices that perform a requested rendering operation. The client device 111 is a smart device, and the client devices 112 and 113 are computer devices such as a PC.

서비스 서버(150)는 렌더링 분산 수행을 제어하고, 렌더링 참여에 따른 포인트를 관리한다. 포인트는 현금과 같은 금액 가치가 있는 가상의 화폐(디지털 자산)를 의미한다. 포인트는 서비스 플랫폼에 따라 다양한 이름으로 명명될 수 있다. 포인트는 시스템(100) 내에서만 사용가능한 가상의 화폐일 수 있다. 나아가, 포인트는 다른 플랫폼에서도 통용되는 가상의 화폐일 수도 있다.The service server 150 controls rendering distribution and manages points according to participation in rendering. Points refer to virtual currency (digital assets) that have the same monetary value as cash. Points can be named by various names depending on the service platform. The point may be a virtual currency that can only be used within the system 100. Furthermore, the point may be a virtual currency used in other platforms.

클라이언트 장치(10, 111, 112, 113)는 렌더링 서비스를 요청하거나, 자신의 유휴 자원을 이용하여 렌더링에 참여한다. 이 경우 클라이언트 장치(10, 111, 112, 113)는 사전에 인증된 장치일 수 있다. 사용자는 서비스에 회원 가입을 하고, 서비스 사용을 위해서 로그인 과정 등을 거쳐 인증을 받아야 렌더링을 요청하거나, 참여할 수도 있다. The client devices 10, 111, 112, and 113 request a rendering service or participate in rendering by using their own idle resources. In this case, the client devices 10, 111, 112, and 113 may be devices that have been authenticated in advance. A user may sign up for a service and request or participate in rendering only after authentication through a log-in process to use the service.

클라이언트 장치(10)는 서비스 서버(150)에 일정한 렌더링 작업을 요청한다. 또는 클라이언트 장치(10)는 서비스 서버(150)를 통해 유휴 자원을 갖는 다른 클라이언트 장치(111, 112)에 렌더링 작업을 요청한다.The client device 10 requests a certain rendering job from the service server 150. Alternatively, the client device 10 requests a rendering job from the other client devices 111 and 112 having idle resources through the service server 150.

클라이언트 장치(111, 112)는 렌더링에 필요한 정보 및 데이터를 수신한다. 클라이언트 장치(111)는 할당 정보 1 및 렌더링을 위한 모델 정보를 수신한다. 할당 정보 1은 전체 렌더링 작업 중 클라이언트 장치(111)에 할당된 부분을 알려준다. 클라이언트 장치(112)는 할당 정보 2 및 모델 정보를 수신한다. 할당 정보 2는 전체 렌더링 작업 중 클라이언트 장치(112)에 할당된 부분을 알려준다.The client devices 111 and 112 receive information and data necessary for rendering. The client device 111 receives allocation information 1 and model information for rendering. The allocation information 1 informs the portion allocated to the client device 111 out of the entire rendering operation. The client device 112 receives allocation information 2 and model information. The allocation information 2 informs the portion allocated to the client device 112 of the entire rendering operation.

할당 정보는 개별 클라이언트 장치가 렌더링할 대상을 구분하는 정보를 의미한다. 후술하겠지만, 할당 정보는 프레임, 프레임 일부, 특정 영역, 특정 객체, 특정 레이어 등 다양한 기준으로 렌더링 대상을 지시할 수 있다. The allocation information refers to information for classifying an object to be rendered by an individual client device. As will be described later, the allocation information may indicate a rendering target based on various criteria such as a frame, a part of a frame, a specific region, a specific object, and a specific layer.

모델 정보는 렌더링에 사용되는 소스 데이터에 대한 정보를 포함한다. 모델 정보는 렌더링 대상이 되는 소스 데이터에 대한 정보 자체 또는 소스 데이터에 대한 식별 정보일 수 있다. 소스 데이터는 모델 데이터 및 렌더링에 부가되는 추가 데이터를 포함하는 의미이다. 모델 데이터는 예컨대, 3D 모델링 경우 모델 구축을 위한 라이브러리를 포함할 수 있다. 추가 데이터는 오디오 효과, 백그라운드 음악, 폰트를 포함한 2D 그래픽스 등을 포함할 수도 있다,The model information includes information on source data used for rendering. The model information may be information on the source data to be rendered or identification information on the source data. Source data is meant to include model data and additional data added to rendering. The model data may include, for example, a library for building a model in the case of 3D modeling. Additional data may include audio effects, background music, 2D graphics including fonts, etc.

한편, 모델 정보는 메타데이터일 수도 있다. 메타데이터는 전통적으로 특정 데이터를 식별하는 부가 정보를 의미한다. 따라서, 메타데이터는 소스 데이터 및 추가 데이터 중 적어도 하나를 식별하는 정보일 수 있다. Meanwhile, the model information may be metadata. Metadata traditionally refers to additional information that identifies specific data. Accordingly, the metadata may be information identifying at least one of source data and additional data.

또한, 메타데이터는 소스 데이터 내지 추가 데이터에 대한 특징값을 나타내는 정보일 수 있다. 예컨대, 메타데이터는 모델 형상, 조명, 재질 등을 나타내는 정보일 수 있다. Also, the metadata may be information indicating a feature value for source data or additional data. For example, the metadata may be information indicating a model shape, lighting, material, and the like.

나아가, 메타데이터는 렌더링에 사용되는 데이터 자체를 나타내는 의미로 사용될 수도 있다. 이 경우, 메타데이터는 모델 데이터, 추가 데이터 등을 의미할 수 있다. 이 경우, 메타데이터는 소스 데이터, 소스 데이터에 대한 정보(모델 형상, 조명, 재질 등), 추가 데이터(오디오 효과, 백그라운드 음악, 폰트를 포함한 2D 그래픽스 등)을 포함할 수도 있다. Furthermore, metadata may be used to indicate data itself used for rendering. In this case, the metadata may mean model data, additional data, and the like. In this case, the metadata may include source data, information on the source data (model shape, lighting, material, etc.), and additional data (audio effects, background music, 2D graphics including fonts, etc.).

메타데이터는 하나의 장면에서 일관 되게 또는 규칙성 있게 적용되는 것이 일반적이다. 따라서, 메타데이터는 렌더링에 참여하는 모든 클라이언트 장치들에게 공유될 수 있다.Metadata is generally applied consistently or regularly in one scene. Thus, metadata can be shared among all client devices participating in rendering.

모델 데이터는 클라이언트 장치(10)가 직접 또는 서비스 서버(150)를 경유하여 클라이언트 장치(111, 112)에 전달할 수 있다. 이 경우 모델 정보는 모델 데이터가 된다. The model data may be transmitted to the client devices 111 and 112 directly by the client device 10 or via the service server 150. In this case, the model information becomes model data.

한편, 클라이언트 장치(10)는 필요한 모델 데이터를 데이터베이스(120)에 사전에 저장할 수 있다. 이 경우, 메타데이터는 데이터베이스(120)에 저장된 모델 데이터 중 필요한 정보를 식별하는 정보일 수 있다. 메타데이터는 모델 데이터 전체 또는 해당 클라이언트 장치가 렌더링해야 하는 부분에 대한 모델 데이터 일부를 나타낼 수 있다.Meanwhile, the client device 10 may store necessary model data in the database 120 in advance. In this case, the metadata may be information identifying necessary information among model data stored in the database 120. The metadata may represent the entire model data or a part of the model data for a portion to be rendered by a corresponding client device.

메타데이터는 렌더링 대상에 대한 정보를 나타낸다. 메타데이터는 렌더링 대상에 대한 직접적인 데이터일 수 있다. 이 경우, 메타데이터는 렌더링을 위한 모델 데이터일 수 있다. 또, 메타데이터는 오디오 효과 및 음악과 같은 오디오 정보, 폰트와 같은 2D 그래픽 정보를 포함할 수 있다. 나아가, 메타데이터는 렌더링 대상인 데이터를 저장 매체 또는 DB에서 식별하기 위한 정보일 수도 있다.Metadata represents information on a rendering object. Metadata may be direct data on a rendering object. In this case, the metadata may be model data for rendering. In addition, the metadata may include audio information such as audio effects and music, and 2D graphic information such as fonts. Furthermore, the metadata may be information for identifying data to be rendered in a storage medium or DB.

클라이언트 장치(111)는 할당 정보 1 및 모델 정보(메타데이터)를 수신한다. 클라이언트 장치(111)는 메타데이터에 포함된 식별 정보를 기준으로 데이터베이스(120)에서 필요한 모델 데이터를 수신한다. 클라이언트 장치(111)는 할당 정보 1 및 모델 데이터를 이용하여 렌더링을 수행한다.The client device 111 receives allocation information 1 and model information (metadata). The client device 111 receives necessary model data from the database 120 based on identification information included in the metadata. The client device 111 performs rendering using allocation information 1 and model data.

클라이언트 장치(112)는 할당 정보 1 및 모델 정보를 수신한다. 이때, 렌더링이 될 모델 정보를 메타데이터라고 가정한다. 도 1은 설명의 편의를 위하여, 서로 다른 방식으로 동작하는 클라이언트 장치(111 과 112)를 도시한다. 클라이언트 장치(112)는 할당 정보 2 및 메타데이터를 이용하여 렌더링을 수행한다.The client device 112 receives allocation information 1 and model information. At this time, it is assumed that model information to be rendered is metadata. 1 illustrates client devices 111 and 112 operating in different ways, for convenience of description. The client device 112 performs rendering using allocation information 2 and metadata.

한편, 클라이언트 장치(112)는 자신에게 할당된 부분 또는 할당된 부분 중 일부에 대하여, 다른 클라이언트 장치에 렌더링을 위탁할 수 있다. 예컨대, 렌더링 작업을 시작하기 전에는 클라이언트 장치(112)가 충분한 유휴 자원이 있었지만, 렌더링 요청을 받은 후에 유휴 자원이 줄어들 수 있다. 이 경우, 원활한 렌더링 작업을 위하여 클라이언트 장치(112)가 다른 클라이언트 장치(113)에 렌더링 작업을 분할 요청할 수 있다. 클라이언트 장치(112)는 할당 정보 2-1 및 모델 정보(메타데이터)를 클라이언트 장치(113)에 전달한다. Meanwhile, the client device 112 may entrust rendering to another client device for a portion allocated to itself or a portion of the allocated portion. For example, the client device 112 had sufficient idle resources before starting the rendering operation, but the idle resources may be reduced after receiving the rendering request. In this case, for a smooth rendering operation, the client device 112 may request the other client device 113 to divide the rendering operation. The client device 112 delivers allocation information 2-1 and model information (metadata) to the client device 113.

렌더링 요청을 받은 클라이언트 장치(113)는 할당 정보 2-1 및 모델 정보(메타데이터)를 이용하여 렌더링을 수행한다.Upon receiving the rendering request, the client device 113 performs rendering using allocation information 2-1 and model information (metadata).

클라이언트 장치(10)는 렌더링 결과는 클라이언트 장치(111, 112, 113)로부터 직접 수신하거나, 서비스 서버(150)를 통해 수신할 수 있다.The client device 10 may directly receive the rendering result from the client devices 111, 112, and 113 or may receive the rendering result through the service server 150.

분산 렌더링 서비스에서 각 렌더링 장치는 자신에게 할당된 부분을 확인할 수 있어야 한다. 할당 정보는 렌더링 분산 수행을 위하여 각 렌더링 장치에 할당된 부분을 나타낸다. 할당 정보는 이미지 내지 영상을 분할할 수 있는 다양한 정보가 사용될 수 있다. 예컨대, 할당 정보는 다음과 같은 다양한 정보 중 적어도 하나를 포함할 수 있다. In a distributed rendering service, each rendering device must be able to check the part allocated to it. The allocation information represents a portion allocated to each rendering device for rendering distribution. As the allocation information, various pieces of information capable of dividing an image or an image may be used. For example, the allocation information may include at least one of various types of information as follows.

(1) 할당 정보는 프레임 번호 내지 프레임 범위를 포함할 수 있다. 이 경우, 렌더링 장치는 동영상을 구성하는 프레임 중 일부에 대한 렌더링을 수행한다.(1) The allocation information may include a frame number or a frame range. In this case, the rendering device renders some of the frames constituting the video.

(2) 할당 정보는 하나의 프레임에서 영역을 분할하는 정보를 포함할 수 있다. 이 경우, 렌더링 장치는 하나의 프레임을 구성하는 영역 중 일부 영역에 대한 렌더링을 수행한다. 결과적으로, 복수의 렌더링 장치가 협업하여 하나의 렌더링된 프레임을 생성하게 된다. 하나의 프레임을 분할하는 기준은 다양할 수 있다.(2) The allocation information may include information for dividing a region in one frame. In this case, the rendering device renders a partial area of an area constituting one frame. As a result, a plurality of rendering devices cooperate to generate one rendered frame. The criteria for dividing one frame may vary.

(3) 할당 정보는 복수의 객체를 포함하는 영상에서 특정 객체를 식별하는 정보를 포함할 수 있다. 이 경우, 렌더링 장치는 영상에 위치하는 객체 중 일부 객체에 대한 렌더링을 수행한다. 객체 단위로 렌더링을 수행하는 경우, 렌더링 장치는 전체 모델 데이터(또는 메타데이터) 중 자신이 담당하는 객체에 대한 모델 데이터(또는 메타데이터)만을 사용할 수 있다.(3) The allocation information may include information for identifying a specific object in an image including a plurality of objects. In this case, the rendering device renders some of the objects located in the image. When rendering is performed in units of objects, the rendering device may use only model data (or metadata) for an object in charge of the entire model data (or metadata).

(4) 할당 정보는 영상을 구성하는 복수의 레이어(layer) 중 적어도 하나의 레이어를 식별하는 정보를 포함할 수 있다. 이미지는 복수의 레이어로 구성될 수 있다. 렌더링은 각 레이어별로 수행될 수 있다. 이 경우, 렌더링 장치는 복수의 레이어 중 일부 레이어에 대한 렌더링을 수행한다. (4) The allocation information may include information for identifying at least one layer among a plurality of layers constituting an image. The image may be composed of a plurality of layers. Rendering can be performed for each layer. In this case, the rendering device renders some of the plurality of layers.

복수의 레이어로 구성되는 영상 및 렌더링의 예를 설명한다. 도 2는 분산 렌더링의 대상이 되는 복수의 레이어에 대한 예이다. 도 2는 알파(α) 채널과 오리지널 영상으로 분할되어 렌더링 되는 예이다. An example of an image and rendering composed of a plurality of layers will be described. 2 is an example of a plurality of layers to be subjected to distributed rendering. 2 is an example in which an alpha (α) channel and an original image are divided and rendered.

영상은 다양한 방식으로 표현될 수 있다. 대표적으로, 영상은 RGB 채널로 표현될 수 있다. 설명의 편의를 위하여 RGB 채널을 중심으로 설명한다. RGB 채널은 색상을 표현한다. 알파 채널은 각 화소에서 색상 표현 데이터와는 다른 보조 데이터를 의미한다. 예컨대, 알파 채널은 영상에서 투명도를 나타낼 수 있다. RGBA 채널은 RGB에 알파 채널까지 추가하여 색을 표현하는 방법을 나타낸다. Images can be expressed in a variety of ways. Representatively, the image may be represented by an RGB channel. For convenience of explanation, the description will focus on the RGB channel. RGB channels represent colors. The alpha channel refers to auxiliary data different from color expression data in each pixel. For example, the alpha channel may indicate transparency in an image. The RGBA channel refers to a method of expressing colors by adding an alpha channel to RGB.

도 2(A)는 알파 채널에 대한 예이다. 도 2(A)는 복수의 레이어로 구성되는 알파 채널이다. 제1 레이어는 전구 모양의 클립 아트이고, 제2 레이어는 화살표이고, 제3 레이어는 문자(LONDON)이다. 도 2(B)는 RGB 채널로 표현된 원본 영상의 예이다. 2(A) is an example of an alpha channel. 2(A) is an alpha channel composed of a plurality of layers. The first layer is a light bulb-shaped clip art, the second layer is an arrow, and the third layer is a text (LONDON). 2(B) is an example of an original image expressed in an RGB channel.

도 2(C)는 알파 채널과 원본 영상을 모두 이용하여 렌더링을 하는 예이다. 도 2(D)는 알파 채널과 원본 영상을 모두 이용하여 렌더링된 결과 영상의 예이다.2(C) is an example of rendering using both an alpha channel and an original image. 2(D) is an example of a result image rendered using both an alpha channel and an original image.

도 2와 같이 영상이 복수의 레이어로 구성되는 경우, 렌더링 장치는 복수의 레이어 중 적어도 하나를 렌더링하여 렌더링은 분산 처리할 수 있다. 분산 렌더링 서비스의 실시예 중 일부에 대하여 아래 도 3 내지 도 5에서 보다 상세하게 설명한다. 이하 설명의 편의를 위하여 할당 정보는 복수의 레이저 중 일부를 나타내는 정보라고 가정한다.When an image is composed of a plurality of layers as shown in FIG. 2, the rendering device may render at least one of the plurality of layers and perform a distributed process of rendering. Some of the embodiments of the distributed rendering service will be described in more detail with reference to FIGS. 3 to 5 below. For convenience of description below, it is assumed that the allocation information is information indicating some of the plurality of lasers.

도 3은 분산 렌더링 시스템에서 렌더링을 수행하는 과정(200)에 대한 예이다. 클라이언트 장치(10)는 렌더링 요청 장치이다. 클라이언트 장치들(111 및 112)은 렌더링 장치이다. 3 is an example of a process 200 of performing rendering in a distributed rendering system. The client device 10 is a rendering request device. The client devices 111 and 112 are rendering devices.

분산 렌더링 서비스를 제공하는 서비스 서버(150)는 먼저 유휴 자원을 갖는 렌더링 장치를 파악해야 한다. 서비스 서버(150)는 클라이언트 장치들과 정보를 교환하면서, 렌더링 가능 여부를 확인할 수 있다. 서비스 서버(150)는 클라이언트 장치(111)로부터 가용 상태를 전달받는다(201). 또, 서비스 서버(150)는 클라이언트 장치(112)로부터 가용 상태를 전달받는다(202). 가용 상태는 렌더링 가능 여부에 대한 정보이다. 서비스 서버(150)는 가용 상태를 기준으로 클라이언트 장치(111) 및 클라이언트 장치(112)가 렌더링 가능하다고 판단한다. 서비스 서버(150)는 유휴 자원을 갖고, 동시에 네트워크에 연결되어 현재 분산 렌더링 작업이 가능한 렌더링 장치의 리스트를 관리하고 업데이트한다(203). 도 3은 설명의 편의를 위하여, 렌더링 장치가 두 개(111 및 112)인 예를 도시하였다. 다만, 현재 가용한 렌더링 장치는 3개 이상이라고 가정한다.The service server 150 providing a distributed rendering service must first identify a rendering device having idle resources. The service server 150 may check whether rendering is possible while exchanging information with client devices. The service server 150 receives the availability status from the client device 111 (201). In addition, the service server 150 receives the availability status from the client device 112 (202). The available state is information on whether or not rendering is possible. The service server 150 determines that the client device 111 and the client device 112 are capable of rendering based on the available state. The service server 150 manages and updates a list of rendering devices that have idle resources and are connected to a network at the same time and capable of performing distributed rendering work (203). 3 illustrates an example in which two rendering devices 111 and 112 are used for convenience of description. However, it is assumed that there are three or more rendering devices currently available.

클라이언트 장치(10)는 서비스 서버(150)에 타깃 콘텐츠에 대한 렌더링 요청을 전달한다(211). 타깃 콘텐츠는 분산 렌더링의 대상을 의미한다.The client device 10 transmits a rendering request for the target content to the service server 150 (211). Target content means an object of distributed rendering.

서비스 서버(150)는 가용한 렌더링 장치 중 타깃 콘텐츠를 렌더링할 장치를 결정한다(212). 서비스 서버(150)는 타깃 콘텐츠를 렌더링할 장치로 클라이언트 장치(111) 및 클라이언트 장치(112)를 선택한다. 서비스 서버(150)는 클라이언트 장치(111) 및 클라이언트 장치(112)에 렌더링을 분산하기 위하여, 각 렌더링 장치에 대한 할당 정보를 생성한다(213).The service server 150 determines a device to render the target content among the available rendering devices (212). The service server 150 selects the client device 111 and the client device 112 as devices to render the target content. The service server 150 generates allocation information for each rendering device in order to distribute the rendering to the client device 111 and the client device 112 (213).

서비스 서버(150)는 할당 정보 및 모델 정보를 클라이언트 장치(111)에 전달한다(221). 모델 정보는 전술한 메타데이터일 수 있다. 또, 서비스 서버(150)는 할당 정보 및 모델 정보를 클라이언트 장치(112)에 전달한다(222). 모델 정보는 도 1에서 설명한 바와 같이 모델 데이터 전체 또는 일부일 수 있다. 또는, 모델 정보는 데이터베이스에 저장된 모델 데이터를 식별하기 위한 정보일 수도 있다. 클라이언트 장치(111, 112)는 모델 정보를 이용하여 렌더링에 필요한 모델 데이터를 획득할 수 있다. 도 3에서는 모델 데이터를 획득하는 자세한 과정은 생략하였다.The service server 150 transmits allocation information and model information to the client device 111 (221). The model information may be the above-described metadata. In addition, the service server 150 transmits allocation information and model information to the client device 112 (222). Model information may be all or part of model data as described in FIG. 1. Alternatively, the model information may be information for identifying model data stored in the database. The client devices 111 and 112 may acquire model data necessary for rendering by using the model information. In FIG. 3, a detailed process of acquiring model data is omitted.

한편, 도 3과 달리 클라이언트 장치(10)가 렌더링을 요청하면서, 필요한 렌더링 장치 개수 및 할당 정보를 서비스 서버(150)에 전달할 수도 있다. 이 경우, 서비스 서버(150)는 클라이언트 장치(10)로부터 수신한 정보를 이용하여 필요한 렌더링 장치들을 선택하고, 수신한 할당 정보를 렌더링 장치들에 전달할 수 있다.Meanwhile, unlike FIG. 3, while the client device 10 requests rendering, the required number of rendering devices and allocation information may be transmitted to the service server 150. In this case, the service server 150 may select necessary rendering devices using information received from the client device 10 and transmit the received allocation information to the rendering devices.

클라이언트 장치(111)는 수신한 할당 정보 및 모델 정보를 이용하여 렌더링을 수행한다(231). 또, 클라이언트 장치(112)는 수신한 할당 정보 및 모델 정보를 이용하여 렌더링을 수행한다(232). 클라이언트 장치(111)와 클라이언트 장치(112)가 수신한 할당 정보는 타깃 콘텐츠에서 서로 다른 부분을 나타낸다. 예컨대, 클라이언트 장치(111)는 RGB 영상 채널을 나타내는 할당 정보를 수신할 수 있다. 클라이언트 장치(112)는 알파 채널을 나타내는 할당 정보를 수신할 수 있다. The client device 111 performs rendering using the received allocation information and model information (231). In addition, the client device 112 performs rendering using the received allocation information and model information (232). The allocation information received by the client device 111 and the client device 112 indicates different parts of the target content. For example, the client device 111 may receive allocation information indicating an RGB video channel. The client device 112 may receive allocation information indicating an alpha channel.

클라이언트 장치(111)는 렌더링 결과 데이터를 서비스 서버(150)에 전달한다(241). 또한, 클라이언트 장치(112)는 렌더링 결과 데이터를 서비스 서버(150)에 전달한다(242).The client device 111 transmits the rendering result data to the service server 150 (241). In addition, the client device 112 transmits the rendering result data to the service server 150 (242).

한편, 분할, 분산, 레이어 렌더링 모두는 할당된 렌더링 영역에 대한 고유 주소를 가진다. 이를 통해 하나의 장치에서 어느 영역을 렌더링 중일 때 다른 장치에서 이를 중복 렌더링하지 않으며, 하나의 영역을 렌더링 중이던 한 장치의 전원이 꺼진다든지 하여 렌더링이 취소될 경우 또 다른 장치에서 이 영역을 이어받아 렌더링할 수 있다.Meanwhile, division, distribution, and layer rendering all have a unique address for an allocated rendering area. In this way, when a certain area is being rendered in one device, the other device does not redundantly render it, and if rendering is canceled due to power off of one device that was rendering one area, another device inherits the area and renders can do.

필요한 경우(optional), 서비스 서버(150)는 추가적인 렌더링 작업을 할 수도 있다(243). 서비스 서버(150)가 추가 렌더링을 수행하는 예를 설명한다.If necessary (optional), the service server 150 may perform an additional rendering operation (243). An example in which the service server 150 performs additional rendering will be described.

(1) 서비스 서버(150)가 렌더링을 분산 처리하는 역할을 담당할 수 있다. 예컨대, 타깃 콘텐츠가 3개의 레이어로 구분되는 경우, 서비스 서버(150)가 하나의 레이어에 대한 렌더링을 수행할 수 있다. 서비스 서버(150)는 자신이 수행한 렌더링 결과와 클라이언트 장치(111 및 112)로부터 수신한 렌더링 결과를 조합하여 최종 렌더링 결과 데이터를 생성할 수 있다. (1) The service server 150 may play a role of distributing rendering. For example, when target content is divided into three layers, the service server 150 may perform rendering for one layer. The service server 150 may generate final rendering result data by combining the rendering result performed by itself and the rendering result received from the client devices 111 and 112.

(2) 클라이언트 장치(111)는 정상적으로 렌더링을 수행했으나, 클라이언트 장치(112)가 전체 또는 일부 렌더링을 수행하지 못할 수도 있다. 예컨대, 클라이언트 장치(112)가 렌더링 요청을 받은 후에 유휴 자원이 부족하여 정해진 시간 내에 렌더링을 수행하지 못할 수도 있다. 이 경우, 서비스 서버(150)는 클라이언트 장치(112)가 수행하지 못한 렌더링을 자신이 수행할 수 있다. 서비스 서버(150)는 자신이 수행한 렌더링 결과와 클라이언트 장치(111)로부터 수신한 렌더링 결과를 조합하여 최종 렌더링 결과 데이터를 생성할 수 있다. (2) The client device 111 normally performs rendering, but the client device 112 may not be able to perform all or part of the rendering. For example, after receiving the rendering request, the client device 112 may not be able to perform rendering within a predetermined time due to insufficient idle resources. In this case, the service server 150 may itself perform rendering that the client device 112 cannot perform. The service server 150 may generate final rendering result data by combining the rendering result performed by itself and the rendering result received from the client device 111.

서비스 서버(150)는 렌더링 결과 데이터를 클라이언트 장치(10)에 전달한다(244).The service server 150 transmits the rendering result data to the client device 10 (244).

클라이언트 장치(10)는 서비스 서버(150)를 통해 렌더링 결과 데이터를 수신할 수 있다(244). 또는 경우에 따라서, 클라이언트 장치(10)는 렌더링을 수행한 클라이언트 장치로부터 직접 렌더링 결과 데이터를 전달받을 수도 있다(251, 252). The client device 10 may receive rendering result data through the service server 150 (244 ). Alternatively, in some cases, the client device 10 may directly receive rendering result data from the client device that has performed rendering (251, 252).

클라이언트 장치(10)는 필요한 경우 추가적인 렌더링을 수행할 수도 있다(253). 예컨대, 클라이언트 장치(10)는 타깃 콘텐츠 중 일부에 대해서는 자신이 렌더링 작업을 할 수도 있다. 또한, 클라이언트 장치(10)는 렌더링을 요청하였으나, 렌더링 결과를 일정한 시간 내에 수신하지 못하는 경우, 수신하지 못한 부분에 대해서는 자신이 렌더링 작업을 할 수도 있다. 클라이언트 장치(10)는 수신한 렌더링 결과 데이터를 일정하게 조합하거나 합성하여 최종 렌더링된 콘텐츠를 생성할 수도 있다.If necessary, the client device 10 may perform additional rendering (253). For example, the client device 10 may perform a rendering work on some of the target contents by itself. In addition, when the client device 10 requests rendering, but does not receive the rendering result within a certain time, the client device 10 may perform a rendering operation on the part that has not been received. The client device 10 may uniformly combine or synthesize the received rendering result data to generate the final rendered content.

서비스 서버(150)는 포인트를 관리하고 업데이트한다(261). (1) 서비스 서버(150)는 렌더링을 요청한 클라이언트 장치(10) 내지 사용자에 대하여 포인트를 차감할 수 있다. 포인트는 렌더링에 필요한 자원량에 비례하여 차감될 수 있다. (2) 서비스 서버(150)는 유휴 자원을 갖고 렌더링에 참여한 클라이언트 장치(111, 112) 내지 사용자에 대하여 포인트를 부여(추가)할 수 있다. 포인트는 렌더링에 소요된 자원이나 시간을 고려하여 부여될 수 있다. (3) 서비스 서버(150)는 렌더링 결과 데이터(영상)를 공유하는 경우, 다운로드 수에 따라 공유자에게 포인트를 부여할 수도 있다. 이 경우, 서비스 서버(130)는 분산 렌더링 및 영상 콘텐츠를 제공하는 플랫폼 서비스를 제공하게 된다.The service server 150 manages and updates points (261). (1) The service server 150 may deduct points for the client device 10 or the user requesting the rendering. Points can be subtracted in proportion to the amount of resources required for rendering. (2) The service server 150 may grant (add) points to client devices 111 and 112 or users who have idle resources and participate in rendering. Points can be given in consideration of resources or time required for rendering. (3) When sharing the rendering result data (video), the service server 150 may give points to the sharer according to the number of downloads. In this case, the service server 130 provides a platform service that provides distributed rendering and image content.

도 4는 분산 렌더링 시스템에서 렌더링을 수행하는 과정(300)에 대한 다른 예이다. 클라이언트 장치(10)는 렌더링 요청 장치이다. 클라이언트 장치들(111, 112 및 113)은 렌더링 장치이다.4 is another example of a process 300 of performing rendering in a distributed rendering system. The client device 10 is a rendering request device. The client devices 111, 112 and 113 are rendering devices.

분산 렌더링 서비스를 제공하는 서비스 서버(150)는 먼저 유휴 자원을 갖는 렌더링 장치를 파악해야 한다. 서비스 서버(150)는 클라이언트 장치들과 정보를 교환하면서, 렌더링 가능 여부를 확인할 수 있다. 서비스 서버(150)는 클라이언트 장치들(111, 112 및 113)로부터 가용 상태를 전달받는다(301,302,303). 가용 상태는 렌더링 가능 여부에 대한 정보이다. 서비스 서버(150)는 가용 상태를 기준으로 클라이언트 장치(111), 클라이언트 장치(112) 및 클라이언트 장치(113)가 렌더링 가능하다고 판단한다. 서비스 서버(150)는 유휴 자원을 갖고, 동시에 네트워크에 연결되어 현재 분산 렌더링 작업이 가능한 렌더링 장치의 리스트를 관리하고 업데이트한다(204). 도 4는 설명의 편의를 위하여, 렌더링 장치가 세 개(111, 112 및 113)인 예를 도시하였다. 다만, 현재 가용한 렌더링 장치는 4개 이상이라고 가정한다.The service server 150 providing a distributed rendering service must first identify a rendering device having idle resources. The service server 150 may check whether rendering is possible while exchanging information with client devices. The service server 150 receives the availability status from the client devices 111, 112 and 113 (301, 302, 303). The available state is information on whether or not rendering is possible. The service server 150 determines that the client device 111, the client device 112, and the client device 113 are capable of rendering based on the availability state. The service server 150 manages and updates a list of rendering devices that have idle resources and are connected to a network at the same time and are currently capable of distributed rendering (204). 4 illustrates an example in which three rendering devices 111, 112 and 113 are used for convenience of description. However, it is assumed that there are at least 4 rendering devices currently available.

클라이언트 장치(10)는 서비스 서버(150)에 타깃 콘텐츠에 대한 렌더링 요청을 전달한다(311). The client device 10 transmits a rendering request for the target content to the service server 150 (311).

서비스 서버(150)는 가용한 렌더링 장치 중 타깃 콘텐츠를 렌더링할 장치를 결정한다(312). 서비스 서버(150)는 타깃 콘텐츠를 렌더링할 장치로 클라이언트 장치(111) 및 클라이언트 장치(112)를 선택한다. 서비스 서버(150)는 클라이언트 장치(111) 및 클라이언트 장치(112)에 렌더링을 분산하기 위하여, 각 렌더링 장치에 대한 할당 정보를 생성한다(313).The service server 150 determines a device to render the target content among the available rendering devices (312). The service server 150 selects the client device 111 and the client device 112 as devices to render the target content. The service server 150 generates allocation information for each rendering device in order to distribute the rendering to the client device 111 and the client device 112 (313).

서비스 서버(150)는 할당 정보 및 모델 정보를 클라이언트 장치(111)에 전달한다(321). 또, 서비스 서버(150)는 할당 정보 및 모델 정보를 클라이언트 장치(112)에 전달한다(322). 모델 정보는 도 1에서 설명한 바와 같이 모델 데이터 전체 또는 일부일 수 있다. 또는, 모델 정보는 데이터베이스에 저장된 모델 데이터를 식별하기 위한 정보일 수도 있다. 클라이언트 장치(111, 112)는 모델 정보를 이용하여 렌더링에 필요한 모델 데이터를 획득할 수 있다. 도 4에서는 모델 데이터를 획득하는 자세한 과정은 생략하였다.The service server 150 transmits allocation information and model information to the client device 111 (321). In addition, the service server 150 transmits allocation information and model information to the client device 112 (322). Model information may be all or part of model data as described in FIG. 1. Alternatively, the model information may be information for identifying model data stored in the database. The client devices 111 and 112 may acquire model data necessary for rendering by using the model information. In FIG. 4, a detailed process of acquiring model data is omitted.

한편, 도 4와 달리 클라이언트 장치(10)가 렌더링을 요청하면서, 필요한 렌더링 장치 개수 및 할당 정보를 서비스 서버(150)에 전달할 수도 있다. 이 경우, 서비스 서버(150)는 클라이언트 장치(10)로부터 수신한 정보를 이용하여 필요한 렌더링 장치들을 선택하고, 수신한 할당 정보를 렌더링 장치들에 전달할 수 있다.Meanwhile, unlike FIG. 4, while the client device 10 requests rendering, the required number of rendering devices and allocation information may be transmitted to the service server 150. In this case, the service server 150 may select necessary rendering devices using information received from the client device 10 and transmit the received allocation information to the rendering devices.

클라이언트 장치(111)는 수신한 할당 정보 및 모델 정보를 이용하여 렌더링을 수행한다(331). The client device 111 performs rendering using the received allocation information and model information (331).

클라이언트 장치(112)는 자신에게 할당된 렌더링을 전체 수행하지 않고, 재차 렌더링을 분산할 대상을 찾을 수 있다(341). 예컨대, 클라이언트 장치(112)는 현재 유휴 자원으로는 할당된 렌더링을 원활하게 수행하지 못한다고 판단할 수 있다.The client device 112 may find a target to distribute the rendering again without performing all of the rendering allocated to it (341). For example, the client device 112 may determine that the currently idle resource cannot smoothly perform the allocated rendering.

클라이언트 장치(112)는 먼저 렌더링을 수행할 수 있는 렌더링 장치를 찾는다. 도 4에 도시하지 않았지만, 클라이언트 장치(112)는 서비스 서버(150)로부터 렌더링 가능한 장치에 대한 정보를 수신할 수 있다. 클라이언트 장치(112)는 가용한 렌더링 장치로 클라이언트 장치(113)를 찾았다고 가정한다.The client device 112 first finds a rendering device capable of performing rendering. Although not shown in FIG. 4, the client device 112 may receive information on a renderable device from the service server 150. It is assumed that the client device 112 has found the client device 113 as an available rendering device.

클라이언트 장치(112)는 수신한 할당 정보를 이용하여, 클라이언트 장치(113)에 대한 할당 정보를 생성한다(341). 예컨대, 클라이언트 장치(112)가 복수의 알파 채널을 할당받았다면, 클라이언트 장치(113)에 일부 알파 채널에 대한 렌더링을 요청할 수 있다. 클라이언트 장치(112)는 생성한 할당 정보 및 모델 정보를 클라이언트 장치(113)에 전달한다(342).The client device 112 generates allocation information for the client device 113 by using the received allocation information (341). For example, if the client device 112 has been assigned a plurality of alpha channels, it may request the client device 113 to render some alpha channels. The client device 112 transmits the generated allocation information and model information to the client device 113 (342).

클라이언트 장치(112)는 클라이언트 장치(113)에 할당한 부분을 제외하고, 자신의 할당 정보 및 모델 정보를 이용하여 렌더링을 수행한다(351). 클라이언트 장치(113)는 수신한 할당 정보 및 모델 정보를 이용하여 렌더링을 수행한다(352). The client device 112 performs rendering using its own allocation information and model information, except for a portion allocated to the client device 113 (351). The client device 113 performs rendering using the received allocation information and model information (352).

클라이언트 장치(113)는 렌더링한 결과 데이터를 클라이언트 장치(112)에 전달한다(353). 경우에 따라서, 클라이언트 장치(113)는 렌더링한 결과 데이터를 서비스 서버(150)에 전달할 수도 있다.The client device 113 transmits the rendered result data to the client device 112 (353). In some cases, the client device 113 may transmit the rendered result data to the service server 150.

클라이언트 장치(112)는 클라이언트 장치(113)로부터 수신한 렌더링 결과 데이터와 자신이 수행한 렌더링 결과 데이터를 합성할 수 있다. 필요한 경우, 클라이언트 장치(112)는 추가적인 렌더링 작업을 할 수도 있다(354). The client device 112 may combine the rendering result data received from the client device 113 with the rendering result data performed by the client device 113. If necessary, the client device 112 may perform an additional rendering operation (354).

클라이언트 장치(111)는 렌더링 결과 데이터를 서비스 서버(150)에 전달한다(355). 또한, 클라이언트 장치(112)는 렌더링 결과 데이터를 서비스 서버(150)에 전달한다(356).The client device 111 transmits the rendering result data to the service server 150 (355). In addition, the client device 112 transmits the rendering result data to the service server 150 (356).

필요한 경우(optional), 서비스 서버(150)는 추가적인 렌더링 작업을 할 수도 있다(357). 서비스 서버(150)가 추가 렌더링을 수행하는 예는 전술한 바와 같다.If necessary (optional), the service server 150 may perform an additional rendering operation (357). An example in which the service server 150 performs additional rendering is as described above.

서비스 서버(150)는 렌더링 결과 데이터를 클라이언트 장치(10)에 전달한다(358).The service server 150 transmits the rendering result data to the client device 10 (358).

클라이언트 장치(10)는 서비스 서버(150)를 통해 렌더링 결과 데이터를 수신할 수 있다(358). 또는 경우에 따라서, 클라이언트 장치(10)는 렌더링을 수행한 클라이언트 장치로부터 직접 렌더링 결과 데이터를 전달받을 수도 있다(361, 362, 363). The client device 10 may receive rendering result data through the service server 150 (358). Alternatively, in some cases, the client device 10 may directly receive rendering result data from the client device that has performed rendering (361, 362, 363).

클라이언트 장치(10)는 필요한 경우 추가적인 렌더링을 수행할 수도 있다(364). 예컨대, 클라이언트 장치(10)는 타깃 콘텐츠 중 일부에 대해서는 자신이 렌더링 작업을 할 수도 있다. 또한, 클라이언트 장치(10)는 렌더링을 요청하였으나, 렌더링 결과를 일정한 시간 내에 수신하지 못하는 경우, 수신하지 못한 부분에 대해서는 자신이 렌더링 작업을 할 수도 있다. 클라이언트 장치(10)는 수신한 렌더링 결과 데이터를 일정하게 조합하거나 합성하여 최종 렌더링된 콘텐츠를 생성할 수도 있다.If necessary, the client device 10 may perform additional rendering (364). For example, the client device 10 may perform a rendering work on some of the target contents by itself. In addition, when the client device 10 requests rendering, but does not receive the rendering result within a certain time, the client device 10 may perform a rendering operation on the part that has not been received. The client device 10 may uniformly combine or synthesize the received rendering result data to generate the final rendered content.

서비스 서버(150)는 포인트를 관리하고 업데이트한다(371). (1) 서비스 서버(150)는 렌더링을 요청한 클라이언트 장치(10) 내지 사용자에 대하여 포인트를 차감할 수 있다. 포인트는 렌더링에 필요한 자원량에 비례하여 차감될 수 있다. (2) 서비스 서버(150)는 유휴 자원을 갖고 렌더링에 참여한 클라이언트 장치(111, 112) 내지 사용자에 대하여 포인트를 부여(추가)할 수 있다. 포인트는 렌더링에 소요된 자원이나 시간을 고려하여 부여될 수 있다. (3) 서비스 서버(150)는 렌더링 결과 데이터(영상)를 공유하는 경우, 다운로드 수에 따라 공유자에게 포인트를 부여할 수도 있다. 이 경우, 서비스 서버(130)는 분산 렌더링 및 영상 콘텐츠를 제공하는 플랫폼 서비스를 제공하게 된다.The service server 150 manages and updates points (371). (1) The service server 150 may deduct points for the client device 10 or the user requesting the rendering. Points can be subtracted in proportion to the amount of resources required for rendering. (2) The service server 150 may grant (add) points to client devices 111 and 112 or users who have idle resources and participate in rendering. Points can be given in consideration of resources or time required for rendering. (3) When sharing the rendering result data (video), the service server 150 may give points to the sharer according to the number of downloads. In this case, the service server 130 provides a platform service that provides distributed rendering and image content.

도 5는 분산 렌더링 시스템에서 렌더링을 수행하는 과정(400)에 대한 또 다른 예이다. 클라이언트 장치(10)는 렌더링 요청 장치이다. 클라이언트 장치들(111, 112 및 113)은 렌더링 장치이다.5 is another example of a process 400 of performing rendering in a distributed rendering system. The client device 10 is a rendering request device. The client devices 111, 112 and 113 are rendering devices.

분산 렌더링 서비스를 제공하는 서비스 서버(150)는 먼저 유휴 자원을 갖는 렌더링 장치를 파악해야 한다. 서비스 서버(150)는 클라이언트 장치들과 정보를 교환하면서, 렌더링 가능 여부를 확인할 수 있다. 서비스 서버(150)는 클라이언트 장치들(111, 112 및 113)로부터 가용 상태를 전달받는다(401,402,403). 가용 상태는 렌더링 가능 여부에 대한 정보이다. 서비스 서버(150)는 가용 상태를 기준으로 클라이언트 장치(111), 클라이언트 장치(112) 및 클라이언트 장치(113)가 렌더링 가능하다고 판단한다. 서비스 서버(150)는 유휴 자원을 갖고, 동시에 네트워크에 연결되어 현재 분산 렌더링 작업이 가능한 렌더링 장치의 리스트를 관리하고 업데이트한다(404). 도 5는 설명의 편의를 위하여, 렌더링 장치가 세 개(111, 112 및 113)인 예를 도시하였다. 다만, 현재 가용한 렌더링 장치는 4개 이상일 수 있다.The service server 150 providing a distributed rendering service must first identify a rendering device having idle resources. The service server 150 may check whether rendering is possible while exchanging information with client devices. The service server 150 receives the availability status from the client devices 111, 112 and 113 (401, 402, 403). The available state is information on whether or not rendering is possible. The service server 150 determines that the client device 111, the client device 112, and the client device 113 are capable of rendering based on the availability state. The service server 150 manages and updates a list of rendering devices that have idle resources and are connected to a network at the same time and are currently capable of distributed rendering (404). 5 illustrates an example in which three rendering devices 111, 112, and 113 are used for convenience of description. However, there may be four or more rendering devices currently available.

클라이언트 장치(10)는 서비스 서버(150)로부터 가용한 렌더링 장치에 대한 정보를 전달받는다(405). 이때 수신하는 정보는 렌더링 장치와 통신에 필요한 정보를 포함한다. 예컨대, 수신하는 정보는 기기 유형, IP 주소, 기기 식별자, 가용한 자원량, 렌더링 프로그램 종류 등을 포함할 수 있다. 수신한 정보는 IP 주소뿐 아니라 할당된 분할, 분산, 레이어 렌더링 영역 주소를 포함할 수 있다.The client device 10 receives information on an available rendering device from the service server 150 (405). The information received at this time includes information necessary for communication with the rendering device. For example, the received information may include a device type, an IP address, a device identifier, an available resource amount, a rendering program type, and the like. The received information may include not only an IP address, but also an allocated segmentation, distribution, and layer rendering area address.

클라이언트 장치(10)는 가용한 렌더링 장치 중 타깃 콘텐츠를 렌더링할 장치를 결정한다(411). 클라이언트 장치(10)는 타깃 콘텐츠를 렌더링할 장치로 클라이언트 장치(111) 및 클라이언트 장치(112)를 선택한다. 클라이언트 장치(10) 클라이언트 장치(111) 및 클라이언트 장치(112)에 렌더링을 분산하기 위하여, 각 렌더링 장치에 대한 할당 정보를 생성한다(411).The client device 10 determines a device to render the target content among the available rendering devices (411). The client device 10 selects the client device 111 and the client device 112 as devices to render the target content. Client device 10 In order to distribute the rendering to the client device 111 and the client device 112, allocation information for each rendering device is generated (411).

클라이언트 장치(10)는 할당 정보 및 모델 정보를 클라이언트 장치(111)에 전달한다(412). 또, 클라이언트 장치(10)는 할당 정보 및 모델 정보(메타데이터)를 클라이언트 치(112)에 전달한다(413). 모델 정보는 도 1에서 설명한 바와 같이 모델 데이터 전체 또는 일부일 수 있다. 또는, 모델 정보는 데이터베이스에 저장된 모델 데이터를 식별하기 위한 정보일 수도 있다. 클라이언트 장치(111, 112)는 모델 정보를 이용하여 렌더링에 필요한 모델 데이터를 획득할 수 있다. 도 5에서는 모델 데이터를 획득하는 자세한 과정은 생략하였다.The client device 10 transmits allocation information and model information to the client device 111 (412). In addition, the client device 10 transmits allocation information and model information (metadata) to the client value 112 (413). Model information may be all or part of model data as described in FIG. 1. Alternatively, the model information may be information for identifying model data stored in the database. The client devices 111 and 112 may acquire model data necessary for rendering by using the model information. In FIG. 5, a detailed process of acquiring model data is omitted.

클라이언트 장치(111)는 수신한 할당 정보 및 모델 정보를 이용하여 렌더링을 수행한다(421). The client device 111 performs rendering using the received allocation information and model information (421).

클라이언트 장치(112)는 자신에게 할당된 렌더링을 전체 수행하지 않고, 재차 렌더링을 분산할 대상을 찾을 수 있다(422). 예컨대, 클라이언트 장치(112)는 현재 유휴 자원으로는 할당된 렌더링을 원활하게 수행하지 못한다고 판단할 수 있다.The client device 112 may find a target to distribute the rendering again without performing the entire rendering allocated to it (422). For example, the client device 112 may determine that the currently idle resource cannot smoothly perform the allocated rendering.

클라이언트 장치(112)는 먼저 렌더링을 수행할 수 있는 렌더링 장치를 찾는다. 도 5에 도시하지 않았지만, 클라이언트 장치(112)는 서비스 서버(150)로부터 렌더링 가능한 장치에 대한 정보를 수신할 수 있다. 클라이언트 장치(112)는 가용한 렌더링 장치로 클라이언트 장치(113)를 찾았다고 가정한다.The client device 112 first finds a rendering device capable of performing rendering. Although not shown in FIG. 5, the client device 112 may receive information on a renderable device from the service server 150. It is assumed that the client device 112 has found the client device 113 as an available rendering device.

클라이언트 장치(112)는 수신한 할당 정보를 이용하여, 클라이언트 장치(113)에 대한 할당 정보를 생성한다(422). 예컨대, 클라이언트 장치(112)가 복수의 알파 채널을 할당받았다면, 클라이언트 장치(113)에 일부 알파 채널에 대한 렌더링을 요청할 수 있다. 클라이언트 장치(112)는 생성한 할당 정보 및 모델 정보를 클라이언트 장치(113)에 전달한다(423).The client device 112 generates allocation information for the client device 113 by using the received allocation information (422). For example, if the client device 112 has been assigned a plurality of alpha channels, it may request the client device 113 to render some alpha channels. The client device 112 transmits the generated allocation information and model information to the client device 113 (423).

클라이언트 장치(112)는 클라이언트 장치(113)에 할당한 부분을 제외하고, 자신의 할당 정보 및 모델 정보를 이용하여 렌더링을 수행한다(431). 클라이언트 장치(113)는 수신한 할당 정보 및 모델 정보를 이용하여 렌더링을 수행한다(432). The client device 112 performs rendering using its own allocation information and model information, except for the portion allocated to the client device 113 (431). The client device 113 performs rendering using the received allocation information and model information (432).

클라이언트 장치(113)는 렌더링한 결과 데이터를 클라이언트 장치(112)에 전달한다(433). 경우에 따라서, 클라이언트 장치(113)가 렌더링한 결과 데이터를 클라이언트 장치(10)에 직접 전달할 수도 있다.The client device 113 transmits the rendered result data to the client device 112 (433). In some cases, the result data rendered by the client device 113 may be directly transmitted to the client device 10.

클라이언트 장치(112)는 클라이언트 장치(113)로부터 수신한 렌더링 결과 데이터와 자신이 수행한 렌더링 결과 데이터를 합성할 수 있다. 필요한 경우, 클라이언트 장치(112)는 추가적인 렌더링 작업을 할 수도 있다(434). The client device 112 may combine the rendering result data received from the client device 113 with the rendering result data performed by the client device 113. If necessary, the client device 112 may perform an additional rendering operation (434).

클라이언트 장치(111)는 렌더링 결과 데이터를 클라이언트 장치(10)에 전달한다(441). 또한, 클라이언트 장치(112)는 렌더링 결과 데이터를 클라이언트 장치(10)에 전달한다(442).The client device 111 transmits the rendering result data to the client device 10 (441). In addition, the client device 112 transmits the rendering result data to the client device 10 (442).

필요한 경우, 클라이언트 장치(10)는 추가적인 렌더링 작업을 할 수도 있다(451). 예컨대, 클라이언트 장치(10)는 타깃 콘텐츠 중 일부에 대해서는 자신이 렌더링 작업을 할 수도 있다. 또한, 클라이언트 장치(10)는 렌더링을 요청하였으나, 렌더링 결과를 일정한 시간 내에 수신하지 못하는 경우, 수신하지 못한 부분에 대해서는 자신이 렌더링 작업을 할 수도 있다. 클라이언트 장치(10)는 수신한 렌더링 결과 데이터를 일정하게 조합하거나 합성하여 최종 렌더링된 콘텐츠를 생성할 수도 있다.If necessary, the client device 10 may perform an additional rendering operation (451). For example, the client device 10 may perform a rendering work on some of the target contents by itself. In addition, when the client device 10 requests rendering, but does not receive the rendering result within a certain time, the client device 10 may perform a rendering operation on the part that has not been received. The client device 10 may uniformly combine or synthesize the received rendering result data to generate the final rendered content.

클라이언트 장치(10)는 렌더링 결과를 서비스 서버(150)에 보고할 수 있다(461). 보고되는 렌더링 결과는 렌더링 완료 여부, 완료 시점, 렌더링에 참여한 렌더링 장치 식별자, 렌더링 장치에 할당된 렌더링 분량 등에 대한 정보를 포함할 수 있다.The client device 10 may report the rendering result to the service server 150 (461). The reported rendering result may include information on whether or not rendering is completed, when it is completed, an identifier of a rendering device participating in the rendering, a rendering amount allocated to the rendering device, and the like.

또는 클라이언트 장치(111, 112 및 113)가 개별적으로 렌더링 결과를 서비스 서버(150)에 보고할 수 있다(462,463,464). 보고되는 렌더링 결과는 각각 렌더링 완료 여부, 완료 시점, 자신의 식별자, 자신이 렌더링한 분량, 렌더링에 사용한 자원량 등에 대한 정보를 포함할 수 있다.Alternatively, the client devices 111, 112, and 113 may individually report the rendering result to the service server 150 (462,463,464). Each of the reported rendering results may include information on whether or not rendering is completed, when it is completed, its own identifier, the amount rendered by itself, and the amount of resources used for rendering.

서비스 서버(150)는 포인트를 관리하고 업데이트한다(471). 서비스 서버(150)는 보고받은 렌더링 결과의 정보를 이용하여 포인트를 업데이트할 수 있다. (1) 서비스 서버(150)는 렌더링을 요청한 클라이언트 장치(10) 내지 사용자에 대하여 포인트를 차감할 수 있다. 포인트는 렌더링에 필요한 자원량에 비례하여 차감될 수 있다. (2) 서비스 서버(150)는 유휴 자원을 갖고 렌더링에 참여한 클라이언트 장치(111, 112) 내지 사용자에 대하여 포인트를 부여(추가)할 수 있다. 포인트는 렌더링에 소요된 자원이나 시간을 고려하여 부여될 수 있다. (3) 서비스 서버(150)는 렌더링 결과 데이터(영상)를 공유하는 경우, 다운로드 수에 따라 공유자에게 포인트를 부여할 수도 있다. 이 경우, 서비스 서버(130)는 분산 렌더링 및 영상 콘텐츠를 제공하는 플랫폼 서비스를 제공하게 된다.The service server 150 manages and updates points (471). The service server 150 may update the point using the information of the reported rendering result. (1) The service server 150 may deduct points for the client device 10 or the user requesting the rendering. Points can be subtracted in proportion to the amount of resources required for rendering. (2) The service server 150 may grant (add) points to client devices 111 and 112 or users who have idle resources and participate in rendering. Points can be given in consideration of resources or time required for rendering. (3) When sharing the rendering result data (video), the service server 150 may give points to the sharer according to the number of downloads. In this case, the service server 130 provides a platform service that provides distributed rendering and image content.

도 6은 분산 렌더링 서비스를 제공하는 서비스 제공 장치(500)에 대한 예이다. 서비스 제공 장치(500)는 분산 렌더링 서비스를 제공(제어)하는 주체이다. 서비스 제공 장치(500)는 서비스 서버(150)와 같은 서버 또는 개인 단말장치일 수 있다. 6 is an example of a service providing apparatus 500 that provides a distributed rendering service. The service providing device 500 is a subject that provides (controls) a distributed rendering service. The service providing device 500 may be a server such as the service server 150 or a personal terminal device.

서비스 제공 장치(500)는 유휴 자원을 갖는 클라이언트 장치를 이용하여 분산 렌더링 서비스를 제공한다. 서비스 제공 장치(500)는 물리적으로 다양한 형태로 구현될 수 있다. 예컨대, 서비스 제공 장치(500)는 PC와 같은 컴퓨터 장치, 네트워크의 서버, 영상 처리 전용 칩셋 등의 형태를 가질 수 있다. 컴퓨터 장치는 스마트 기기 등과 같은 모바일 기기를 포함할 수 있다.The service providing device 500 provides a distributed rendering service using a client device having idle resources. The service providing apparatus 500 may be physically implemented in various forms. For example, the service providing device 500 may have a form such as a computer device such as a PC, a server of a network, and a chipset dedicated to image processing. The computer device may include a mobile device such as a smart device.

서비스 제공 장치(500)는 저장장치(510), 메모리(520), 연산장치(530), 인터페이스 장치(540), 통신장치(550) 및 출력장치(560)를 포함할 수 있다.The service providing device 500 may include a storage device 510, a memory 520, an operation device 530, an interface device 540, a communication device 550, and an output device 560.

저장장치(510)는 분산 렌더링을 위한 정보 및 분산 렌더링을 제어하기 위한 프로그램(코드)을 저장한다. (1) 저장장치(510)는 렌더링 장치 리스트를 저장한다. 저장장치(510)는 렌더링 장치에 대한 정보(식별자, 유휴 자원량, 네트워크 용량 등)를 보유한다. (2) 저장장치(510)는 렌더링에 필요한 모델 정보 또는 모델 데이터를 저장할 수 있다. 모델 정보는 렌더링 요청 장치로부터 전달될 수 있다. (3) 저장장치(510)는 타깃 콘텐츠 분산 렌더링을 위한 할당 정보를 저장할 수 있다. (4) 나아가, 저장장치(510)는 렌더링 플랫폼을 이용하는 클라이언트 장치 내지 사용자에 대한 포인트 정보를 저장할 수 있다. (5) 저장장치(510)는 렌더링된 결과 데이터(영상)를 저장할 수도 있다. (6) 저장장치(510)는 렌더링을 위한 렌더링 프로그램을 저장할 수도 있다.The storage device 510 stores information for distributed rendering and a program (code) for controlling distributed rendering. (1) The storage device 510 stores a list of rendering devices. The storage device 510 holds information on the rendering device (identifier, idle resource amount, network capacity, etc.). (2) The storage device 510 may store model information or model data required for rendering. The model information may be delivered from the rendering request device. (3) The storage device 510 may store allocation information for distributed rendering of target content. (4) Furthermore, the storage device 510 may store point information on a client device or a user using the rendering platform. (5) The storage device 510 may store rendered result data (images). (6) The storage device 510 may store a rendering program for rendering.

메모리(520)는 서비스 제공 장치(500)가 분산 렌더링을 제어하는 과정 및 데이터 처리 과정에서 생성되는 데이터 및 정보 등을 저장할 수 있다.The memory 520 may store data and information generated during a process in which the service providing apparatus 500 controls distributed rendering and a data processing process.

인터페이스 장치(540)는 외부로부터 일정한 명령 및 데이터를 입력받는 장치이다. 인터페이스 장치(540)는 물리적으로 연결된 입력 장치 또는 외부 저장장치로부터 필요한 명령 내지 데이터를 입력받을 수 있다.The interface device 540 is a device that receives certain commands and data from the outside. The interface device 540 may receive necessary commands or data from an input device physically connected or an external storage device.

통신장치(550)는 유선 또는 무선 네트워크를 통해 일정한 정보를 수신하고 전송하는 구성을 의미한다. 통신장치(550)는 렌더링 장치로부터 렌더링 장치에 대한 정보(식별자, 유휴 자원량, 네트워크 용량 등)를 수신할 수 있다. 통신장치(550)는 렌더링 요청 장치로부터 렌더링 요청 메시지, 할당 정보, 모델 정보 등을 수신할 수 있다. 통신장치(550)는 렌더링 장치로부터 렌더링 결과 데이터를 수신할 수 있다. 또한, 통신장치(550)는 렌더링 결과 데이터를 렌더링 요청 장치에 전송할 수 있다. The communication device 550 refers to a configuration for receiving and transmitting certain information through a wired or wireless network. The communication device 550 may receive information about the rendering device (identifier, idle resource amount, network capacity, etc.) from the rendering device. The communication device 550 may receive a rendering request message, allocation information, model information, and the like from the rendering request device. The communication device 550 may receive rendering result data from the rendering device. In addition, the communication device 550 may transmit the rendering result data to the rendering request device.

출력장치(560)는 일정한 정보를 출력하는 장치이다. 출력장치(560)는 분산 렌더링을 위한 메뉴, 인터페이스 등을 출력할 수 있다. 출력장치(560)는 렌더링된 결과를 출력할 수도 있다.The output device 560 is a device that outputs certain information. The output device 560 may output a menu, an interface, and the like for distributed rendering. The output device 560 may output the rendered result.

연산 장치(530)는 렌더링 장치의 정보를 이용하여, 현재 렌더링이 가능한 장치를 결정할 수 있다. 연산 장치(530)는 분산 렌더링에 참여하는 렌더링 장치의 개수를 고려하여 할당 정보를 생성할 수 있다. 연산 장치(530)는 모델 정보를 이용하여 타깃 콘텐츠 일부에 대한 렌더링을 할 수도 있다. 연산 장치(530)는 분산 렌더링을 위한 다양한 명령 및 정보를 생성할 수 있다. 연산 장치(530)는 분산 렌러딩 과정 및 결과를 기준으로 포인트를 업데이트하고 관리할 수 있다. 포인트 업데이트에 대한 예는 전술한 바 있다. 연산 장치(530)는 데이터를 처리하고, 일정한 연산을 처리하는 프로세서, AP, 프로그램이 임베디드된 칩과 같은 장치일 수 있다.The computing device 530 may determine a device that is currently capable of rendering by using the information of the rendering device. The computing device 530 may generate allocation information in consideration of the number of rendering devices participating in distributed rendering. The computing device 530 may render a part of target content using model information. The computing device 530 may generate various commands and information for distributed rendering. The computing device 530 may update and manage points based on the distributed rendering process and result. An example of the point update has been described above. The computing device 530 may be a device such as a processor, an AP, or a chip in which a program is embedded that processes data and processes certain operations.

또한, 상술한 바와 같은 분산 렌더링 제어 방법, 분산 렌더링에 따른 포인트 관리 방법은 컴퓨터에서 실행될 수 있는 실행가능한 알고리즘을 포함하는 프로그램(또는 어플리케이션)으로 구현될 수 있다. 상기 프로그램은 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다.In addition, the distributed rendering control method and the point management method according to the distributed rendering as described above may be implemented as a program (or application) including an executable algorithm that can be executed on a computer. The program may be provided by being stored in a non-transitory computer readable medium.

비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.The non-transitory readable medium refers to a medium that stores data semi-permanently and can be read by a device, not a medium that stores data for a short moment, such as a register, cache, and memory. Specifically, the above-described various applications or programs may be provided by being stored in a non-transitory readable medium such as a CD, DVD, hard disk, Blu-ray disk, USB, memory card, ROM, or the like.

본 실시례 및 본 명세서에 첨부된 도면은 전술한 기술에 포함되는 기술적 사상의 일부를 명확하게 나타내고 있는 것에 불과하며, 전술한 기술의 명세서 및 도면에 포함된 기술적 사상의 범위 내에서 당업자가 용이하게 유추할 수 있는 변형 예와 구체적인 실시례는 모두 전술한 기술의 권리범위에 포함되는 것이 자명하다고 할 것이다.The present embodiment and the accompanying drawings are merely illustrative of some of the technical ideas included in the above-described technology, and those skilled in the art can easily be used within the scope of the technical idea included in the specification and drawings of the above-described technology. It will be apparent that all of the modified examples and specific embodiments that can be inferred are included in the scope of the rights of the above-described technology.

Claims (20)

렌더링 가능하다는 정보를 서비스 서버에 전송하고, 렌더링 대상인 콘텐츠에 대한 할당 정보 및 메타데이터를 이용하여 콘텐츠 중 적어도 일부를 렌더링하는 복수의 클라이언트 장치; 및
개인 단말장치로부터 타깃 콘텐츠에 대한 렌더링 요청을 수신하고, 상기 복수의 클라이언트 장치 중 적어도 2개의 클라이언트 장치에 상기 타깃 콘텐츠에 대한 할당 정보 및 메타데이터를 전달하는 서비스 서버를 포함하되,
상기 할당 정보는 상기 타깃 콘텐츠 중 상기 적어도 2개의 클라이언트 장치 각각이 렌더링할 부분을 나타내는 정보이고, 상기 메타데이터는 상기 타깃 콘텐츠의 렌더링에 필요한 모델 데이터에 대한 정보이고,
상기 할당 정보는 상기 타깃 콘텐츠를 구성하는 복수의 레이어들로 구분되고, 상기 복수의 레이어들은 알파 채널 레이어 및 적어도 하나의 RGB 채널 레이어를 포함하고, 상기 알파 채널 레이어는 복수의 레이어를 포함하고,
상기 적어도 2개의 클라이언트 장치는 상기 복수의 레이어들 중 서로 다른 레이어에 대한 렌더링을 수행하고,
상기 적어도 2개의 클라이언트 장치 중 적어도 하나의 클라이언트 장치는 자신에게 할당된 할당 정보에 포함된 레이어들 중 적어도 일부의 레이어에 대한 렌더링을 상기 복수의 클라이언트 장치 중 다른 클라이언트 장치에 전달하여 위탁하고,
상기 서비스 서버는 상기 다른 클라이언트 장치로부터 렌더링한 결과 데이터를 수신하는 사용자의 유휴 자원을 활용한 분산 렌더링 시스템.
A plurality of client devices that transmit information indicating that rendering is possible to a service server, and render at least some of the content by using allocation information and metadata for the content to be rendered; And
A service server receiving a rendering request for a target content from a personal terminal device, and transmitting allocation information and metadata for the target content to at least two client devices among the plurality of client devices,
The allocation information is information indicating a portion of the target content to be rendered by each of the at least two client devices, and the metadata is information on model data required for rendering of the target content,
The allocation information is divided into a plurality of layers constituting the target content, the plurality of layers includes an alpha channel layer and at least one RGB channel layer, the alpha channel layer includes a plurality of layers,
The at least two client devices perform rendering for different layers among the plurality of layers,
At least one of the at least two client devices transmits and entrusts rendering of at least some of the layers included in the allocation information allocated to them to another client device among the plurality of client devices,
The service server is a distributed rendering system utilizing idle resources of a user receiving rendering result data from the other client device.
제1항에 있어서,
상기 서비스 서버는 상기 적어도 2개의 클라이언트 장치가 렌더링한 결과 데이터를 상기 개인 단말장치에 전송하는 사용자의 유휴 자원을 활용한 분산 렌더링 시스템.
The method of claim 1,
The service server is a distributed rendering system using idle resources of a user for transmitting result data rendered by the at least two client devices to the personal terminal device.
제1항에 있어서,
상기 할당 정보는 상기 복수의 레이어들 중 적어도 하나의 레이어에 대한 식별 정보를 포함하는 사용자의 유휴 자원을 활용한 분산 렌더링 시스템.
The method of claim 1,
The allocation information includes identification information on at least one layer among the plurality of layers. A distributed rendering system using idle resources of a user.
삭제delete 제1항에 있어서,
상기 서비스 서버는 상기 적어도 2개의 클라이언트 장치가 렌더링한 레이어들을 중첩하여 렌더링하는 사용자의 유휴 자원을 활용한 분산 렌더링 시스템.
The method of claim 1,
The service server is a distributed rendering system using idle resources of a user to overlap and render layers rendered by the at least two client devices.
삭제delete 제1항에 있어서,
상기 서비스 서버는 상기 적어도 2개의 클라이언트 장치에 렌더링 작업에 대한 보상 포인트를 할당하고, 상기 개인 단말장치에 보상 포인트를 차감하는 사용자의 유휴 자원을 활용한 분산 렌더링 시스템.
The method of claim 1,
The service server allocates reward points for rendering work to the at least two client devices, and uses idle resources of a user to deduct reward points from the personal terminal device.
복수의 클라이언트 장치로부터 렌더링 가능하다는 정보, 렌더링 대상인 타깃 콘텐츠에 대한 정보 및 상기 복수의 클라이언트 장치 중 적어도 2개의 클라이언트 장치로부터 렌더링한 결과를 수신하는 통신장치;
상기 복수의 클라이언트 장치의 식별 정보, 상기 복수의 클라이언트 장치에 대한 보상 포인트 정보 및 타깃 콘텐츠 렌더링에 필요한 메타데이터를 저장하는 저장장치; 및
상기 타깃 콘텐츠에 대한 렌더링을 수행할 상기 적어도 2개의 클라이언트 장치에 대한 할당 정보를 결정하는 연산장치를 포함하되,
상기 할당 정보는 상기 타깃 콘텐츠 중 상기 적어도 2개의 클라이언트 장치 각각이 렌더링할 부분을 나타내는 레이어 정보이고, 상기 메타데이터는 상기 타깃 콘텐츠의 렌더링에 필요한 모델 데이터에 대한 정보이고,
상기 할당 정보는 상기 타깃 콘텐츠를 구성하는 복수의 레이어들로 구분되고, 상기 복수의 레이어들은 알파 채널 레이어 및 적어도 하나의 RGB 채널 레이어를 포함하고, 상기 알파 채널 레이어는 복수의 레이어를 포함하고,
상기 적어도 2개의 클라이언트 장치는 상기 복수의 레이어들 중 서로 다른 레이어에 대한 렌더링을 수행하고,
상기 적어도 2개의 클라이언트 장치 중 적어도 하나의 클라이언트 장치는 자신에게 할당된 할당 정보에 포함된 레이어들 중 적어도 일부의 레이어에 대한 렌더링을 상기 복수의 클라이언트 장치 중 다른 클라이언트 장치에 전달하여 위탁하고,
상기 통신장치는 상기 다른 클라이언트 장치로부터 렌더링한 결과 데이터를 더 수신하는 사용자의 유휴 자원을 활용한 렌더링 분산 서비스를 제공하는 서버.
A communication device for receiving information indicating that rendering is possible from a plurality of client devices, information on target content to be rendered, and a result of rendering from at least two of the plurality of client devices;
A storage device for storing identification information of the plurality of client devices, compensation point information for the plurality of client devices, and metadata required for target content rendering; And
Including a computing device for determining allocation information for the at least two client devices to perform rendering of the target content,
The allocation information is layer information indicating a portion of the target content to be rendered by each of the at least two client devices, and the metadata is information on model data required for rendering of the target content,
The allocation information is divided into a plurality of layers constituting the target content, the plurality of layers includes an alpha channel layer and at least one RGB channel layer, the alpha channel layer includes a plurality of layers,
The at least two client devices perform rendering for different layers among the plurality of layers,
At least one of the at least two client devices transmits and entrusts rendering of at least some of the layers included in the allocation information allocated to them to another client device among the plurality of client devices,
The communication device is a server that provides a rendering distribution service using idle resources of a user that further receives rendering result data from the other client device.
제8항에 있어서,
상기 통신장치는 개인 단말장치로부터 상기 타깃 콘텐츠에 할당 정보 및 상기 메타데이터를 수신하는 사용자의 유휴 자원을 활용한 렌더링 분산 서비스를 제공하는 서버.
The method of claim 8,
The communication device is a server that provides a rendering distribution service using idle resources of a user receiving allocation information and metadata from a personal terminal device to the target content.
삭제delete 렌더링 요청장치가 네트워크를 통해 타깃 콘텐츠 중 적어도 일부에 대한 렌더링(rendering) 작업이 가능한 복수의 렌더링 장치를 확인하는 단계;
상기 렌더링 요청장치가 상기 복수의 렌더링 장치 중 적어도 2개의 렌더링 장치에 상기 타깃 콘텐츠 중 렌더링할 부분을 나타내는 할당 정보를 전송하는 단계;
상기 렌더링 요청장치가 상기 적어도 2개의 렌더링 장치에 상기 렌더링할 부분에 대한 메타데이터를 전송하는 단계; 및
상기 렌더링 요청장치가 상기 적어도 2개의 렌더링 장치로부터 렌더링한 결과 데이터를 수신하는 단계를 포함하되,
상기 할당 정보는 상기 타깃 콘텐츠 중 상기 적어도 2개의 렌더링 장치 각각이 렌더링할 부분을 나타내는 정보이고, 상기 메타데이터는 상기 타깃 콘텐츠의 렌더링에 필요한 모델 데이터에 대한 정보이고,
상기 할당 정보는 상기 타깃 콘텐츠를 구성하는 복수의 레이어들로 구분되고, 상기 복수의 레이어들은 알파 채널 레이어 및 적어도 하나의 RGB 채널 레이어를 포함하고, 상기 알파 채널 레이어는 복수의 레이어를 포함하고,
상기 적어도 2개의 렌더링 장치는 상기 복수의 레이어들 중 서로 다른 레이어에 대한 렌더링을 수행하는
상기 적어도 2개의 렌더링 장치 중 적어도 하나의 렌더링 장치는 자신에게 할당된 할당 정보에 포함된 레이어들 중 적어도 일부의 레이어에 대한 렌더링을 상기 복수의 렌더링 장치 중 다른 렌더링 장치에 전달하여 위탁하고,
상기 렌더링 요청장치는 상기 다른 렌더링 장치로부터 렌더링한 결과 데이터를 수신하는 렌더링을 분산 처리하는 방법.
Identifying, by the rendering requesting device, a plurality of rendering devices capable of rendering at least a portion of the target content through a network;
Transmitting, by the rendering requesting device, allocation information indicating a portion of the target content to be rendered to at least two rendering devices of the plurality of rendering devices;
Transmitting, by the rendering requesting device, metadata on the portion to be rendered to the at least two rendering devices; And
And receiving, by the rendering requesting device, rendering result data from the at least two rendering devices,
The allocation information is information indicating a portion of the target content to be rendered by each of the at least two rendering devices, and the metadata is information on model data required for rendering of the target content,
The allocation information is divided into a plurality of layers constituting the target content, the plurality of layers includes an alpha channel layer and at least one RGB channel layer, the alpha channel layer includes a plurality of layers,
The at least two rendering devices perform rendering on different layers among the plurality of layers.
At least one of the at least two rendering devices transmits and entrusts rendering of at least some of the layers included in the allocation information allocated to them to another rendering device among the plurality of rendering devices,
The rendering request device is a method of distributing rendering in which the rendering result data is received from the other rendering device.
제11항에 있어서,
상기 렌더링 요청장치는
개인이 보유한 상기 타깃 콘텐츠에 대한 렌더링을 요청하는 개인 단말장치 또는
위탁받은 상기 타깃 콘텐츠에 대한 분산 렌더링 서비스를 제공하는 서비스 서버인 렌더링을 분산 처리하는 방법.
The method of claim 11,
The rendering request device
A personal terminal device that requests rendering of the target content held by an individual, or
A method of distributing rendering, which is a service server that provides distributed rendering services for the entrusted target content.
삭제delete 제11항에 있어서,
상기 렌더링 장치는 상기 메타데이터를 기준으로 상기 렌더링 요청장치 또는 별도의 데이터베이스에서 상기 렌더링에 필요한 모델 데이터를 수신하는 렌더링을 분산 처리하는 방법.
The method of claim 11,
The rendering apparatus is a method of distributing rendering for receiving model data required for the rendering from the rendering request apparatus or a separate database based on the metadata.
삭제delete 삭제delete 삭제delete 제11항에 있어서,
상기 렌더링 요청장치는 상기 적어도 2개의 렌더링 장치로부터 수신한 레이어들을 중첩하여 렌더링하는 단계를 더 포함하는 렌더링을 분산 처리하는 방법.
The method of claim 11,
The method of distributing rendering, the rendering request apparatus further comprising the step of rendering layers by overlapping the layers received from the at least two rendering apparatuses.
삭제delete 삭제delete
KR1020190138119A 2019-10-31 2019-10-31 Distributed rendering system and method using idle resource of users KR102238670B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190138119A KR102238670B1 (en) 2019-10-31 2019-10-31 Distributed rendering system and method using idle resource of users

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190138119A KR102238670B1 (en) 2019-10-31 2019-10-31 Distributed rendering system and method using idle resource of users

Publications (1)

Publication Number Publication Date
KR102238670B1 true KR102238670B1 (en) 2021-04-09

Family

ID=75444071

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190138119A KR102238670B1 (en) 2019-10-31 2019-10-31 Distributed rendering system and method using idle resource of users

Country Status (1)

Country Link
KR (1) KR102238670B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022168996A1 (en) * 2021-02-02 2022-08-11 박재범 Distributed rendering system and method for distributed rendering using idle resources of user
KR20220147381A (en) * 2021-04-27 2022-11-03 (주)이머시브캐스트 Distributed rendering based cloud vr device
WO2023074998A1 (en) * 2021-10-27 2023-05-04 한국전자기술연구원 Xr streaming system for lightweight xr device and operation method therefor
CN116828215A (en) * 2023-08-30 2023-09-29 湖南马栏山视频先进技术研究院有限公司 Video rendering method and system for reducing local computing power load
WO2023243300A1 (en) * 2022-06-16 2023-12-21 株式会社Nttドコモ Rendering control device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050036039A (en) * 2003-10-14 2005-04-20 주식회사 이파워게이트 Computing resource broker system and method for processing three-dimensional rendering, broker service server used therefor
KR20160066228A (en) * 2014-12-02 2016-06-10 (주)두리반테크 Distributed Rendering System
KR20170082310A (en) * 2016-01-06 2017-07-14 동서대학교산학협력단 Module for simplifying render layer and render pass making process in 3-dimensional graphic tool, and method thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050036039A (en) * 2003-10-14 2005-04-20 주식회사 이파워게이트 Computing resource broker system and method for processing three-dimensional rendering, broker service server used therefor
KR20160066228A (en) * 2014-12-02 2016-06-10 (주)두리반테크 Distributed Rendering System
KR20170082310A (en) * 2016-01-06 2017-07-14 동서대학교산학협력단 Module for simplifying render layer and render pass making process in 3-dimensional graphic tool, and method thereof

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
이인 외 4명, 특정 목적 렌더러에 특화된 분산 렌더링 관리 시스템의 설계 및 구현, 한국콘텐츠학회논문지 제12권 제2호, 2012.2, 60-68

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022168996A1 (en) * 2021-02-02 2022-08-11 박재범 Distributed rendering system and method for distributed rendering using idle resources of user
KR20220147381A (en) * 2021-04-27 2022-11-03 (주)이머시브캐스트 Distributed rendering based cloud vr device
KR102656014B1 (en) * 2021-04-27 2024-04-11 (주)이머시브캐스트 Distributed rendering based cloud vr device
WO2023074998A1 (en) * 2021-10-27 2023-05-04 한국전자기술연구원 Xr streaming system for lightweight xr device and operation method therefor
WO2023243300A1 (en) * 2022-06-16 2023-12-21 株式会社Nttドコモ Rendering control device
CN116828215A (en) * 2023-08-30 2023-09-29 湖南马栏山视频先进技术研究院有限公司 Video rendering method and system for reducing local computing power load
CN116828215B (en) * 2023-08-30 2023-11-14 湖南马栏山视频先进技术研究院有限公司 Video rendering method and system for reducing local computing power load

Similar Documents

Publication Publication Date Title
KR102238670B1 (en) Distributed rendering system and method using idle resource of users
TWI718348B (en) Offline interaction method and device based on augmented reality
US20140143305A1 (en) Apparatus and system for providing software service using software virtualization and method thereof
WO2022048097A1 (en) Single-frame picture real-time rendering method based on multiple graphics cards
CN105427236A (en) Method and device for image rendering
JP5295416B1 (en) Image processing apparatus, image processing method, and image processing program
US10388056B2 (en) Split frame rendering
US20230137219A1 (en) Image processing system and method in metaverse environment
US20210224497A1 (en) Data storing and sharing using two-dimensional codes
CN112416346A (en) Interface color scheme generation method, device, equipment and storage medium
CN115350479B (en) Rendering processing method, device, equipment and medium
US9230294B2 (en) Preserving and reusing intermediate data
CN116740248A (en) Control method, chip and device, controller, equipment and medium for distributing image blocks
KR20230148777A (en) Cryptographic digital assets management system
CN108256611A (en) Quick Response Code image generating method, device, computing device and storage medium
CN114247138B (en) Image rendering method, device and equipment and storage medium
CN115396500A (en) Service platform switching method and system based on private network and electronic equipment
CN112348928A (en) Animation synthesis method, animation synthesis device, electronic device, and medium
WO2022168996A1 (en) Distributed rendering system and method for distributed rendering using idle resources of user
KR101838944B1 (en) Rendering system and method
CN113419806A (en) Image processing method, image processing device, computer equipment and storage medium
US6791556B1 (en) Multiframe rendering of video data on a general purpose computer
CN111738903B (en) Method, device and equipment for optimizing layered material of object
KR102464437B1 (en) Metaverse based cross platfrorm service system providing appreciation and trade gigapixel media object
US20230386127A1 (en) Information processing apparatus, information processing method, and storage medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant