KR20190033022A - Cloud multimedia service providing apparatus and method using computation offloading - Google Patents

Cloud multimedia service providing apparatus and method using computation offloading Download PDF

Info

Publication number
KR20190033022A
KR20190033022A KR1020180111684A KR20180111684A KR20190033022A KR 20190033022 A KR20190033022 A KR 20190033022A KR 1020180111684 A KR1020180111684 A KR 1020180111684A KR 20180111684 A KR20180111684 A KR 20180111684A KR 20190033022 A KR20190033022 A KR 20190033022A
Authority
KR
South Korea
Prior art keywords
client
server
nbmp
legacy
image
Prior art date
Application number
KR1020180111684A
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 경희대학교 산학협력단
Publication of KR20190033022A publication Critical patent/KR20190033022A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

Provided are an apparatus and method for providing cloud multimedia service using computation offloading. The apparatus of the present disclosure may comprise: a client determining some predetermined operations to perform computation offloading during the entire operation; and a server performing the predetermined operations corresponding to a request from the client. The client may include a network based media processing (NBMP) client. The server may include a NBMP server.

Description

계산 오프로딩을 이용한 클라우드 멀티미디어 서비스 제공 장치 및 방법{CLOUD MULTIMEDIA SERVICE PROVIDING APPARATUS AND METHOD USING COMPUTATION OFFLOADING}Technical Field [0001] The present invention relates to an apparatus and a method for providing a cloud multimedia service using computation offloading,

본 개시는 클라우드 멀티미디어 서비스 제공 장치 및 방법에 관한 것이다. 보다 구체적으로, 본 개시는 계산 오프로딩 (computation offloading)을 이용한 클라우드 멀티미디어 서비스를 제공하는 장치 및 방법에 관한 것이다.The present disclosure relates to an apparatus and method for providing a cloud multimedia service. More particularly, this disclosure relates to an apparatus and method for providing cloud multimedia services using computation offloading.

NBMP(Network Based Media Processing)-aware client는, 기존의 client에 NBMP의 기능을 수행하는 모듈이 추가된 형태로 구현될 수 있다. NBMP(Network Based Media Processing)-aware client는 NBMP client로 호칭될 수 있다.NBMP (Network Based Media Processing) -Aware client can be implemented by adding a module that performs NBMP function to existing client. NBMP (Network Based Media Processing) -ware client can be called NBMP client.

NBMP의 기능을 수행하는 모듈이 있는 client는 NBMP 서비스를 받을 수 있고, 기존의 client는 NBMP data를 무시하면 원래대로 작동될 수 있다.A client with a module that performs NBMP functions can receive NBMP services, and existing clients can operate as expected by ignoring NBMP data.

본 발명은 계산 오프로딩을 이용한 클라우드 멀티미디어 서비스를 제공함으로써 클라이언트의 리소스(resource) 및 전력 소모를 감소시키는 장치 및 방법을 제공하는 것을 목적으로 한다.An object of the present invention is to provide an apparatus and method for reducing resources and power consumption of a client by providing a cloud multimedia service using computation offloading.

본 발명에 따르면, 전체 작업 중 계산 오프로딩을 수행할 소정의 일부 작업을 결정하는 클라이언트; 및 상기 클라이언트로부터의 요청에 대응하여 상기 결정된 소정의 일부 작업을 수행하는 서버를 포함하고, 상기 클라이언트는 NBMP(Network Based Media Processing) 클라이언트를 포함하고, 상기 서버는 NBMP 서버를 포함하는 서비스 제공 장치가 제공될 수 있다.According to the present invention, there is provided a client system comprising: a client for determining a predetermined part of operations to perform calculation offloading during an entire operation; And a server for performing the determined predetermined operation in response to a request from the client, wherein the client includes a Network Based Media Processing (NBMP) client, and the server includes a service providing apparatus including an NBMP server Can be provided.

본 개시에 대하여 위에서 간략하게 요약된 특징들은 후술하는 본 개시의 상세한 설명의 예시적인 양상일 뿐이며, 본 개시의 범위를 제한하는 것은 아니다.The features briefly summarized above for this disclosure are only exemplary aspects of the detailed description of the disclosure which follow, and are not intended to limit the scope of the disclosure.

본 발명에 따르면, 계산 오프로딩을 이용한 클라우드 멀티미디어 서비스를 제공함으로써 클라이언트의 리소스 및 전력 소모를 감소시키는 장치 및 방법이 제공될 수 있다.According to the present invention, an apparatus and method for reducing resource and power consumption of a client by providing a cloud multimedia service using computation offloading can be provided.

본 발명에 따르면, 본 발명에 의하면 계산 오프로딩을 이용하여 계산량이 많은 태스크를 서버가 수행하게 함으로써 클라이언트의 리소스 및 전력 소모를 크게 줄일 수 있다.According to the present invention, according to the present invention, a server performs a task having a large amount of calculation by using computation offloading, thereby greatly reducing resource and power consumption of a client.

도 1은 본 개시의 일 실시 예에 따른 클라우드 컴퓨팅과 가상화의 관계를 나타내는 도면이다.
도 2는 본 개시의 일 실시 예에 따른 계산 오프로딩을 나타내는 도면이다.
도 3은 본 개시의 일 실시 예에 따른 서비스 제공 장치의 동작을 나타내는 도면이다.
도 4는 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 FRUC(Frame Rate Up-Conversion)의 동작을 나타내는 도면이다.
도 5는 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 업샘플링의 동작을 나타내는 도면이다.
도 6은 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 이미지 태깅의 동작을 나타내는 도면이다.
도 7은 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 증강현실 처리 동작을 나타내는 도면이다.
도 8은 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 컴퓨터 게임의 동작을 나타내는 도면이다.
1 is a diagram illustrating the relationship between cloud computing and virtualization according to one embodiment of the present disclosure.
2 is a diagram illustrating computed offloading in accordance with one embodiment of the present disclosure.
3 is a diagram illustrating an operation of a service providing apparatus according to an embodiment of the present disclosure.
4 is a diagram illustrating the operation of FRUC (Frame Rate Up-Conversion) using computation off-loading according to an embodiment of the present disclosure.
5 is a diagram illustrating the operation of upsampling using computed offloading in accordance with one embodiment of the present disclosure.
6 is a diagram illustrating the operation of image tagging using computed offloading in accordance with one embodiment of the present disclosure.
7 is a diagram illustrating an augmented reality processing operation using computed offloading in accordance with one embodiment of the present disclosure.
8 is a diagram illustrating the operation of a computer game using computed offloading in accordance with one embodiment of the present disclosure.

이하에서는 첨부한 도면을 참고로 하여 본 개시의 실시 예에 대하여 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings, which will be easily understood by those skilled in the art. However, the present disclosure may be embodied in many different forms and is not limited to the embodiments described herein.

본 개시의 실시 예를 설명함에 있어서 공지 구성 또는 기능에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그에 대한 상세한 설명은 생략한다. 그리고, 도면에서 본 개시에 대한 설명과 관계없는 부분은 생략하였으며, 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.In the following description of the embodiments of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present disclosure rather unclear. Parts not related to the description of the present disclosure in the drawings are omitted, and like parts are denoted by similar reference numerals.

본 개시에 있어서, 어떤 구성요소가 다른 구성요소와 "연결", "결합" 또는 "접속"되어 있다고 할 때, 이는 직접적인 연결관계뿐만 아니라, 그 중간에 또 다른 구성요소가 존재하는 간접적인 연결관계도 포함할 수 있다. 또한 어떤 구성요소가 다른 구성요소를 "포함한다" 또는 "가진다"고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 배제하는 것이 아니라 또 다른 구성요소를 더 포함할 수 있는 것을 의미한다.In the present disclosure, when an element is referred to as being "connected", "coupled", or "connected" to another element, it is understood that not only a direct connection relationship but also an indirect connection relationship May also be included. Also, when an element is referred to as " comprising "or" having "another element, it is meant to include not only excluding another element but also another element .

본 개시에 있어서, 제1, 제2 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용되며, 특별히 언급되지 않는 한 구성요소들간의 순서 또는 중요도 등을 한정하지 않는다. 따라서, 본 개시의 범위 내에서 일 실시 예에서의 제1 구성요소는 다른 실시 예에서 제2 구성요소라고 칭할 수도 있고, 마찬가지로 일 실시 예에서의 제2 구성요소를 다른 실시 예에서 제1 구성요소라고 칭할 수도 있다. In the present disclosure, the terms first, second, etc. are used only for the purpose of distinguishing one element from another, and do not limit the order or importance of elements, etc. unless specifically stated otherwise. Thus, within the scope of this disclosure, a first component in one embodiment may be referred to as a second component in another embodiment, and similarly a second component in one embodiment may be referred to as a first component .

본 개시에 있어서, 서로 구별되는 구성요소들은 각각의 특징을 명확하게 설명하기 위함이며, 구성요소들이 반드시 분리되는 것을 의미하지는 않는다. 즉, 복수의 구성요소가 통합되어 하나의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있고, 하나의 구성요소가 분산되어 복수의 하드웨어 또는 소프트웨어 단위로 이루어질 수도 있다. 따라서, 별도로 언급하지 않더라도 이와 같이 통합된 또는 분산된 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, the components that are distinguished from each other are intended to clearly illustrate each feature and do not necessarily mean that components are separate. That is, a plurality of components may be integrated into one hardware or software unit, or a single component may be distributed into a plurality of hardware or software units. Thus, unless otherwise noted, such integrated or distributed embodiments are also included within the scope of this disclosure.

본 개시에 있어서, 다양한 실시 예에서 설명하는 구성요소들이 반드시 필수적인 구성요소들은 의미하는 것은 아니며, 일부는 선택적인 구성요소일 수 있다. 따라서, 일 실시 예에서 설명하는 구성요소들의 부분집합으로 구성되는 실시 예도 본 개시의 범위에 포함된다. 또한, 다양한 실시 예에서 설명하는 구성요소들에 추가적으로 다른 구성요소를 포함하는 실시 예도 본 개시의 범위에 포함된다. In the present disclosure, the components described in the various embodiments are not necessarily essential components, and some may be optional components. Thus, embodiments consisting of a subset of the components described in one embodiment are also included within the scope of the present disclosure. Also, embodiments that include other elements in addition to the elements described in the various embodiments are also included in the scope of the present disclosure.

이하, 첨부한 도면을 참조하여 본 개시의 실시 예들에 대해서 설명한다.Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings.

도 1은 본 개시의 일 실시 예에 따른 클라우드 컴퓨팅과 가상화의 관계를 나타내는 도면이다.1 is a diagram illustrating the relationship between cloud computing and virtualization according to one embodiment of the present disclosure.

가상화(virtualization)는 클라우드 컴퓨팅(cloud computing)의 기본 요소로서, 도 1에서 가상화는 클라우드 컴퓨팅에 포함되는 관계로 도시될 수 있다. 예컨대, 가상화는 클라우드 컴퓨팅의 가치를 실현하는데 도움을 줄 수 있고, 또한 가상화는 서버, 워크 스테이션, 저장매체 및 물리적 하드웨어 계층과 독립적인 다른 시스템을 만들 수 있다.Virtualization is a fundamental component of cloud computing. In FIG. 1, virtualization can be depicted as being involved in cloud computing. For example, virtualization can help realize the value of cloud computing, and virtualization can create other systems that are independent of servers, workstations, storage media, and physical hardware layers.

도 2는 본 개시의 일 실시 예에 따른 계산 오프로딩을 나타내는 도면이다.2 is a diagram illustrating computed offloading in accordance with one embodiment of the present disclosure.

계산 오프로딩(computation offloading)은 특정한 컴퓨팅 작업을 클라우드와 같은 외부 플랫폼으로 전송하는 것을 의미할 수 있다. 계산 오프로딩은 집약적이고 집중적인 컴퓨팅 작업에 이용될 수 있다. 예컨대, 상기 컴퓨팅 작업은 인공 지능, 인공 비전, 오브젝트 추적 또는 컴퓨터 의사 결정 등을 포함할 수 있다. 계산 오프로딩은 또한 전력 등의 에너지를 줄이는데 이용될 수 있다.Computation offloading can mean sending specific computing tasks to an external platform, such as the cloud. Computational offloading can be used for intensive and intensive computing tasks. For example, the computing task may include artificial intelligence, artificial vision, object tracking, or computer decision making. Computational offloading can also be used to reduce energy, such as power.

도 2를 참조하면, NBMP(Network Based Media Processing) 과정에서 가상화 과정 및 계산 오프로딩을 이용할 수 있다. 클라이언트(client)에서 처리해야 할 단계가 task 1, task 2, task 3라 하고, 그 중 task2가 많은 계산량이 요구되는 단계(computationally heavy)라고 하면, 본 개시의 서비스 제공 장치는 task 2 단계를 클라우드(cloud)에 계산 오프로딩 할 수 있다. 그러나, 클라이언트가 task 2 단계의 작업을 처리한 것으로 본다. 따라서, 클라이언트는 계산 리소스(computation resource)가 부족해서 할 수 없는 작업을 할 수 있고, 또한, 처리 시 소모되는 에너지(processing energy)를 줄일 수 있다. 한편, 상기 계산 오프로딩의 과정은 클라이언트와 서버간에 데이터를 송수신해야 하므로 추가적인 데이터 송수신 과정에 따른 지연이 발생할 수 있다. 따라서, 본 개시의 계산 오프로딩을 이용한 처리 방법은 상기 지연에 의해 발생되는 비용보다 계산 오프로딩을 이용하여 얻는 이득이 클 때 유효할 수 있다. 예컨대, 도 2에서 ‘비용(task2) > 비용(offloading)’일 때, 본 개시의 계산 오프로딩을 이용한 처리 방법이 유효할 수 있다.Referring to FIG. 2, a virtualization process and calculation offloading may be used in an NBMP (Network Based Media Processing) process. If the steps to be processed by the client are task 1, task 2 and task 3, and task 2 is computationally heavy, the service providing apparatus of the present disclosure assigns task 2 to the cloud lt; RTI ID = 0.0 > cloud. < / RTI > However, it is assumed that the client has processed the task in step 2 of the task. Accordingly, the client can perform an operation that can not be performed due to a lack of computation resources, and can also reduce the processing energy consumed in the processing. Meanwhile, since the calculation off-loading process requires data to be transmitted between the client and the server, a delay may occur due to an additional data transmission / reception process. Thus, the processing method using computed offloading of the present disclosure may be effective when the gain obtained using computed offloading is greater than the cost caused by the delay. For example, in FIG. 2, when " task 2 > offloading ", the processing method using the calculation offloading of the present disclosure may be effective.

이하, 본 발명의 다양한 실시예들을 구체적으로 후술한다.Hereinafter, various embodiments of the present invention will be described in detail.

도 3은 본 개시의 일 실시 예에 따른 서비스 제공 장치의 동작을 나타내는 도면이다. 도 3에 기재된 동작 (1) 내지 (9)은 본 개시의 서비스 제공 장치에서의 동작 순서를 나타낼 수 있다.3 is a diagram illustrating an operation of a service providing apparatus according to an embodiment of the present disclosure. The operations (1) to (9) described in FIG. 3 can represent the operation sequence in the service providing apparatus of the present disclosure.

본 개시의 서비스 제공 장치는 종래의 NBMP 서버와 NBMP 클라이언트간의 동작에 일부 동작을 추가할 수 있다. 예컨대, 도 3을 참조하면, 동작 (1) 내지 (4) 및 (6)이 추가될 수 있다. 구체적으로, 동작 (1)은 NBMP 서버(NBMP server)에서의 동작을 나타내는 것으로서, NBMP 서버는 계산 오프로딩된 작업을 수행할 수 있다. 동작 (2)는 NBMP 클라이언트(NBMP client)에서의 동작을 나타내는 것으로서, NBMP 클라이언트는 수행해야 될 전체 작업 중 일부 작업을 NBMP 서버에게 계산 오프로딩 할 수 있다. NBMP 서버에서 수행된 작업을 더해 전체 작업이 완성될 수 있다. 동작 (3)에서 NBMP 클라이언트는 계산 오프로딩을 요청하는데 필요한 메시지와 데이터를 NBMP 서버에게 전송할 수 있다. 동작 (4)에서 NBMP 서버는 계산 오프로딩 되어 계산된 정보나 데이터를 NBMP 클라이언트에게 전송할 수 있다. 동작 (5)에서 NBMP 클라이언트는 종래의 레거시 디코더(legacy decoder)가 제공하는 콘텐츠(즉, legacy contents)에 NBMP 서버로부터 수신된 정보나 데이터를 더한 콘텐츠(즉, value added contents)를 레거시 렌더러(legacy renderer)로 전송할 수 있다. 동작 (6)에서 레거시 라우터(legacy router)는 NBMP 서버로 레거시 스트림을 전송할 수 있다. 예컨대, 레거시 스트림은 레거시 디코더로 전송되는 스트림의 전부 또는 일부로서, 계산 오프로딩을 위해 요청된 NBMP의 동작을 수행하는데 필요한 데이터일 수 있다. 동작 (7)은 레거시 디코더에서의 동작을 나타내는 것으로서, 레거시 디코더는 레거시 디코딩을 수행할 수 있다. 동작 (8)은 레거시 렌더러에서의 동작을 나타내는 것으로서, 레거시 렌더러는 로(raw) 콘텐츠를 렌더링 할 수 있다. 이때 value added contents도 legacy contents와 같은 포맷으로 레거시 렌더러에 입력될 수 있다. 동작 (9)에서 레거시 디코더는 NBMP 서버로부터 수신된 정보나 데이터가 더해지기 전의(즉, value added 되기 전의) 디코딩된 콘텐츠(decoded raw contents)를 NBMP 클라이언트에게 전송할 수 있다.The service providing apparatus of the present disclosure can add some operation to the operation between the conventional NBMP server and the NBMP client. For example, referring to Fig. 3, operations (1) to (4) and (6) may be added. Specifically, operation (1) indicates the operation in the NBMP server, and the NBMP server can perform the calculation offloaded operation. Operation (2) represents an operation in the NBMP client (NBMP client), and the NBMP client can calculate off-load some operations among the entire operations to be performed to the NBMP server. The entire operation can be completed by adding the operations performed on the NBMP server. In operation (3), the NBMP client may transmit the message and data necessary for requesting computation offload to the NBMP server. In operation (4), the NBMP server may calculate offloaded and transmit the calculated information or data to the NBMP client. In operation 5, the NBMP client adds content (i.e., value added contents) obtained by adding information or data received from an NBMP server to legacy contents (i.e., legacy contents) provided by a conventional legacy decoder to a legacy renderer renderer). In operation (6), a legacy router may transmit the legacy stream to the NBMP server. For example, the legacy stream may be all or part of the stream being sent to the legacy decoder, and may be the data needed to perform the requested NBMP operation for computational offloading. Operation 7 represents the operation in the legacy decoder, and the legacy decoder can perform the legacy decoding. Operation (8) indicates the operation in the legacy renderer, and the legacy renderer can render the raw content. The value added contents can also be entered into the legacy renderer in the same format as the legacy contents. In operation 9, the legacy decoder may send decoded raw contents to the NBMP client before the information received from the NBMP server or data is added (i.e., before value added).

도 4는 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 FRUC(Frame Rate Up-Conversion)의 동작을 나타내는 도면이다.4 is a diagram illustrating the operation of FRUC (Frame Rate Up-Conversion) using computation off-loading according to an embodiment of the present disclosure.

FRUC 처리 과정은 크게 두 가지 작업을 포함할 수 있다. 작업1(task1)은 영상을 구성하는 픽셀 또는 블록의 각각의 위치에서 움직임 벡터(motion vector)를 계산하는 과정일 수 있다. 이때 움직임 벡터는 true motion에 대한 것이며, 이는 기존의 움직임 추정(motion estimation)과 구별될 수 있다. 기존의 움직임 추정은 해당 객체의 움직임과 관계없이 가장 유사한 블록을 찾는다. 반면, true motion은 객체의 실제 움직임을 찾는다. 작업2(task2)는 계산된 움직임 벡터를 이용하여 프레임을 복원하는 과정일 수 있다. 일반적으로 FRUC의 전체 동작에서 작업1의 계산량이 작업2의 계산량보다 수십 배 가량 많을 수 있다. 또한, 작업 1은 기본적인 비디오 디코딩보다도 계산량이 훨씬 많을 수 있다.The FRUC processing process can roughly include two tasks. Task 1 (task 1) may be a process of calculating a motion vector at each position of a pixel or a block constituting an image. At this time, the motion vector is for true motion, which can be distinguished from existing motion estimation. Existing motion estimation finds the most similar blocks regardless of the motion of the object. On the other hand, true motion finds the actual motion of the object. Task 2 (task 2) may be a process of restoring a frame using a calculated motion vector. Generally, in the entire operation of the FRUC, the computation amount of the operation 1 may be several times as many as that of the operation 2. Also, Task 1 may have much more computation than basic video decoding.

FRUC 처리는 일반적으로 TV에 구현되어 있다. 본 개시에 따를 때, FRUC 처리의 거의 대부분을 클라우드에서 수행하게 되므로 클라이언트의 CPU의 성능이 상대적으로 낮을 수 있고, 또한 클라이언트에서의 전력소모를 크게 줄일 수 있다. 또한, 클라이언트에서 프레임율 60Hz로 영상을 디스플레이할 때, 서버에서 30Hz로 전송하고 클라우드 컴퓨팅을 통해서 프레임을 추가하여 프레임율을 60Hz로 올리는 것이 서버에서 60Hz로 영상을 생성하여 60Hz HD로 전송하는 것과 비교하여 전송량을 줄일 수 있다. 왜냐하면, 시간 보간(temporal interpolation)되어 추가되는 프레임은 원본(original)이 없기 때문에 생성 프레임은 원본처럼 보이기만 하면 되기 때문이다. 따라서, 30Hz HD로 전송하는 전송량 R(30Hz HD)과 도 4의 동작 4에서의 전송량 R(FRUC side stream)의 합은 60Hz HD로 전송하는 전송량 R(60Hz HD)보다 작을 수 있다(즉, R(60Hz HD) > R(30Hz HD) + R(FRUC side stream)).FRUC processing is generally implemented on TV. According to the present disclosure, since almost all of the FRUC processing is performed in the cloud, the performance of the client's CPU can be relatively low and the power consumption in the client can be greatly reduced. In addition, when the client displays an image at a frame rate of 60 Hz, it increases the frame rate to 60 Hz by transmitting the image at 30 Hz from the server and adding the frame through cloud computing. This is compared with transmitting the image at 60 Hz in the server at 60 Hz Thereby reducing the transmission amount. This is because the frame to be added by temporal interpolation does not have an original, so the generated frame only needs to look like an original frame. Therefore, the sum of the transmission rate R (30 Hz HD) for transmission in 30 Hz HD and the transmission rate R (FRUC side stream) in operation 4 in FIG. 4 may be smaller than the transmission rate R (60 Hz HD) for transmission in 60 Hz HD (60Hz HD)> R (30Hz HD) + R (FRUC side stream)).

구체적으로, 도 4를 참조하면, 동작 (1)은 NBMP 서버에서의 동작을 나타내는 것으로서, NBMP 서버는 30Hz HD를 디코딩하고, 시간 보간을 하기 위해 필요한 true motion vector를 계산하는 작업1(task1)을 수행할 수 있다. 동작 (2)는 NBMP 클라이언트에서의 동작을 나타내는 것으로서, NBMP 클라이언트는 NBMP 서버에서 true motion vector를 수신하고, 레거시 디코더에서 디코딩된 30Hz HD를 수신하고, 수신된 정보를 이용하여 시간 보간을 수행할 수 있다. 동작 (3)에서 NBMP 클라이언트는 FRUC 처리에 이용되는 실제 움직임 벡터(true motion vector)를 계산해줄 것을 NBMP 서버에게 요청할 수 있다(NBMP request). 동작 (4)에서 NBMP 클라이언트는 NBMP 서버로부터 NBMP 데이터로서 블록 별로 true motion vector를 수신할 수 있다. 동작 (5)에서 NBMP 클라이언트는 value added contents로서 60Hz HD의 로 데이터를 레거시 렌더러로 전송할 수 있다. 동작 (6)에서 레거시 라우터는 NBMP 서버로 레거시 스트림으로서 30Hz HD의 인코딩된 데이터 스트림(encoded data stream)을 전송할 수 있다. 동작 (7)은 레거시 디코더에서의 동작을 나타내는 것으로서, 레거시 디코더는 30Hz HD 영상을 디코딩 할 수 있다. 동작 (8)은 레거시 렌더러에서의 동작을 나타내는 것으로서, 레거시 렌더러는 60Hz HD의 로 데이터를 렌더링 할 수 있다. 동작 (9)에서 레거시 디코더는 레거시 콘텐츠로서 30Hz HD의 데이터를 NBMP 클라이언트에게 전송할 수 있다.4, the operation (1) represents an operation in the NBMP server. The NBMP server decodes 30 Hz HD and performs task 1 (task 1) for calculating a true motion vector necessary for time interpolation Can be performed. Operation (2) indicates the operation in the NBMP client. The NBMP client receives the true motion vector at the NBMP server, receives the decoded 30 Hz HD from the legacy decoder, and performs time interpolation using the received information have. In operation (3), the NBMP client may request the NBMP server to calculate the true motion vector used for FRUC processing (NBMP request). In operation (4), the NBMP client can receive a true motion vector block by block as NBMP data from the NBMP server. In operation (5), the NBMP client can transfer data to the legacy renderer at 60 Hz HD as value added contents. In operation (6), the legacy router may send an encoded data stream of 30 Hz HD as a legacy stream to the NBMP server. Operation 7 represents the operation in the legacy decoder, and the legacy decoder can decode the 30 Hz HD image. Operation (8) indicates the operation in the legacy renderer, and the legacy renderer can render the data in 60Hz HD. In operation (9), the legacy decoder may transmit data of 30 Hz HD as legacy content to the NBMP client.

도 5는 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 공간적인(spatial) 업샘플링의 동작을 나타내는 도면이다.5 is a diagram illustrating the operation of spatial upsampling using computed offloading in accordance with one embodiment of the present disclosure.

일 실시예로서 HD 영상을 UHD 영상으로 변환하는 과정은 크게 두 가지 작업을 포함할 수 있다. 작업1(task1)은 선형 보간(linear interpolation)되어 있는 영상으로부터 에지 샤프닝(edge sharpening)이 되어야 할 위치 및/또는 에지 정보를 계산하는 과정일 수 있다. 또한, 작업2(task2)는 계산된 에지 데이터를 이용해서 에지 샤프닝된 픽셀값을 계산하는 과정일 수 있다. 일반적으로 작업1의 계산량이 작업2의 계산량보다 수십 배 가량 많을 수 있다. 또한, 작업 1은 기본적인 비디오 디코딩보다도 계산량이 훨씬 많을 수 있다.In one embodiment, the process of converting an HD image to a UHD image may include two operations. Task 1 may be a process of calculating position and / or edge information to be edge sharpened from an image being linearly interpolated. In addition, task 2 (task 2) may be a process of calculating the edge sharpened pixel value using the calculated edge data. Generally, the amount of computation of task 1 may be several tens of times larger than that of task 2. Also, Task 1 may have much more computation than basic video decoding.

HD 영상을 UHD 영상으로 변환하는 과정은 현재 HD로 되어있는 콘텐츠를 UHD TV에서 시청하는 경우 필요하다. 본 개시에 따를 때, HD 영상을 UHD 영상으로 변환하는 과정의 거의 대부분을 클라우드에서 수행하게 되므로 클라이언트의 CPU 성능이 상대적으로 낮을 수 있고, 또한 클라이언트에서의 전력소모를 크게 줄일 수 있다. 또한, 서버에서 UHD로 만들어 전송하는 것에 비교하여 전송량도 줄일 수 있다. 왜냐하면, HD 영상을 UHD 영상으로 변환하여 생성된 UHD 프레임은 원본이 없기 때문에 생성 프레임은 원본처럼 보이기만 하면 되기 때문이다. 따라서, HD로 전송하는 전송량 R(HD)과 도 5의 동작 4에서의 전송량 R(side stream)의 합은 UHD로 전송하는 전송량 R(UHD)보다 작을 수 있다(즉, R(UHD) ≒ 4 R(HD) ≫ R(HD) + R((4) side stream)). 또한, 클라이언트에서의 계산량은 UHD를 디코딩하는 것보다 훨씬 적을 수 있다.The process of converting an HD image to a UHD image is necessary in order to view the content currently in HD on a UHD TV. According to the present disclosure, since almost all of the process of converting the HD image into the UHD image is performed in the cloud, the CPU performance of the client can be relatively low and the power consumption in the client can be greatly reduced. In addition, the amount of transmission can be reduced compared with the case where the server is made into UHD and transmitted. This is because the UHD frame generated by converting the HD image into the UHD image has no original, so the generated frame needs only to look like the original. Therefore, the sum of the transmission amount R (HD) transmitted in the HD and the transmission amount R (side stream) in the operation 4 in FIG. 5 may be smaller than the transmission amount R (UHD) R (HD) R (HD) + R ((4) side stream)). Also, the amount of computation at the client may be much less than decoding UHD.

구체적으로, 도 5를 참조하면, 동작 (1)은 NBMP 서버에서의 동작을 나타내는 것으로서, NBMP 서버는 HD를 디코딩하고, 에지 샤프닝을 하기 위해 필요한 에지 정보(edge information)를 계산하는 작업1(task1)을 수행할 수 있다. 동작 (2)는 NBMP 클라이언트에서의 동작을 나타내는 것으로서, NBMP 클라이언트는 레거시 디코더에서 디코딩된 HD를 수신하여 공간 보간(spatial interpolation)을 수행하고, NBMP 서버에서 에지 정보를 수신하여 에지 샤프닝을 수행할 수 있다. 동작 (3)에서 NBMP 클라이언트는 HD 영상을 UHD 영상으로 변환하는 처리를 하기 위한 에지 정보를 계산해줄 것을 NBMP 서버에게 요청할 수 있다(NBMP request). 동작 (4)에서 NBMP 클라이언트는 NBMP 서버로부터 NBMP 데이터로서 에지 정보를 수신할 수 있다. 동작 (5)에서 NBMP 클라이언트는 value added contents로서 UHD의 데이터를 레거시 렌더러로 전송할 수 있다. 동작 (6)에서 레거시 라우터는 NBMP 서버로 레거시 스트림으로서 HD의 인코딩된 데이터 스트림을 전송할 수 있다. 동작 (7)은 레거시 디코더에서의 동작을 나타내는 것으로서, 레거시 디코더는 HD 영상을 디코딩 할 수 있다. 동작 (8)은 레거시 렌더러에서의 동작을 나타내는 것으로서, 레거시 렌더러는 UHD의 로 데이터를 렌더링 할 수 있다. 동작 (9)에서 레거시 디코더는 레거시 콘텐츠로서 HD의 데이터를 NBMP 클라이언트에게 전송할 수 있다.Specifically, referring to FIG. 5, operation (1) represents operation in the NBMP server. The NBMP server decodes the HD and performs operation 1 (task 1) for calculating edge information necessary for edge sharpening ) Can be performed. The operation (2) indicates the operation in the NBMP client. The NBMP client receives the decoded HD from the legacy decoder to perform spatial interpolation, receives the edge information from the NBMP server, and performs edge sharpening have. In operation (3), the NBMP client can request the NBMP server to calculate the edge information for performing the process of converting the HD image into the UHD image (NBMP request). In operation 4, the NBMP client can receive edge information as NBMP data from the NBMP server. In operation (5), the NBMP client can transfer UHD data to the legacy renderer as value added contents. In operation (6), the legacy router may transmit the encoded data stream of HD as a legacy stream to the NBMP server. Operation 7 represents the operation in the legacy decoder, and the legacy decoder can decode the HD image. Operation (8) indicates the operation in the legacy renderer, and the legacy renderer can render the data into the UHD. In operation 9, the legacy decoder can transmit HD data as legacy content to the NBMP client.

도 6은 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 이미지 태깅의 동작을 나타내는 도면이다.6 is a diagram illustrating the operation of image tagging using computed offloading in accordance with one embodiment of the present disclosure.

이미지 태깅(image tagging) 또는 이미지 어노테이션(image annotation)은 크게 두 가지 작업을 포함할 수 있다. 작업1(task1)은 입력 영상으로부터 객체(object)를 인식하는 과정일 수 있다. 작업2(task2)는 인식된 객체에 타이틀(title)이나 설명을 붙이는 과정일 수 있다. 작업1은 일반적으로 AI(Artificial Intelligence)가 필요하기 때문에 계산량이 매우 많을 수 있다.Image tagging or image annotation can largely involve two tasks. Task 1 (task 1) may be a process of recognizing an object from an input image. Task 2 may be a process of attaching a title or a description to a recognized object. Task 1 typically requires AI (Artificial Intelligence), which can be very computationally expensive.

구체적으로, 도 6을 참조하면, 동작 (1)은 NBMP 서버에서의 동작을 나타내는 것으로서, NBMP 서버는 비디오 또는 정지영상을 디코딩하고, 객체를 인식하고 각각의 객체에 붙일 어노테이션을 정할 수 있다. 한편, 상기 동작은 인트라 프레임(intra frame)만 디코딩하여 수행할 수도 있다. 동작 (2)는 NBMP 클라이언트에서의 동작을 나타내는 것으로서, NBMP 클라이언트는 레거시 디코더에서 디코딩된 비디오를 수신하고, NBMP 서버에서 어노테이션을 수신할 수 있다. 그리고, NBMP 클라이언트는 상기 수신된 어노테이션을 상기 디코딩된 비디오에 오버레이(overlay)할 수 있다. 동작 (3)에서 NBMP 클라이언트는 이미지 어노테이션을 수행하는데 필요한 객체 인식 정보 및/또는 객체 별 어노테이션 정보를 획득할 것을 NBMP 서버에게 요청할 수 있다(NBMP request). 동작 (4)에서 NBMP 클라이언트는 NBMP 서버로부터 NBMP 데이터로서 객체의 위치 및/또는 각 객체의 어노테이션 정보를 수신할 수 있다. 동작 (5)에서 NBMP 클라이언트는 value added contents로서 어노테이션이 오버레이된 비디오 데이터를 레거시 렌더러로 전송할 수 있다. 동작 (6)에서 레거시 라우터는 NBMP 서버로 레거시 스트림으로서 비디오의 인코딩된 데이터 스트림을 전송할 수 있다. 동작 (7)은 레거시 디코더에서의 동작을 나타내는 것으로서, 레거시 디코더는 비디오 디코딩을 수행할 수 있다. 동작 (8)은 레거시 렌더러에서의 동작을 나타내는 것으로서, 레거시 렌더러는 어노테이션된 로 데이터를 렌더링할 수 있다. 동작 (9)에서 레거시 디코더는 레거시 콘텐츠로서 원본 비디오 데이터를 NBMP 클라이언트에게 전송할 수 있다.Specifically, referring to FIG. 6, operation (1) indicates an operation in the NBMP server, wherein the NBMP server decodes video or still images, and can determine an object and annotate the object with each object. Meanwhile, the operation may be performed by decoding only an intra frame. Operation (2) indicates the operation in the NBMP client, where the NBMP client can receive the decoded video from the legacy decoder and receive the annotation from the NBMP server. The NBMP client may then overlay the received annotation on the decoded video. In operation (3), the NBMP client may request the NBMP server to acquire the object recognition information and / or the object-specific annotation information necessary for performing the image annotation (NBMP request). In operation (4), the NBMP client can receive the location of the object and / or the annotation information of each object as NBMP data from the NBMP server. In action (5), the NBMP client may send video data overlaid with annotations as value added contents to the legacy renderer. In operation (6), the legacy router may send the encoded data stream of video as a legacy stream to the NBMP server. Operation 7 represents the operation in the legacy decoder, and the legacy decoder can perform video decoding. Operation (8) indicates the operation in the legacy renderer, and the legacy renderer can render the data as annotated. In operation 9, the legacy decoder may transmit the original video data as legacy content to the NBMP client.

도 7은 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 증강현실 처리 동작을 나타내는 도면이다.7 is a diagram illustrating an augmented reality processing operation using computed offloading in accordance with one embodiment of the present disclosure.

증강현실(Augmented Reality, AR)은 크게 두 가지 작업을 포함할 수 있다. 작업1(task1)은 영상에서 콘텍스트(context)를 인식하고 오버레이 그래픽(overlay graphic)을 계산하는 과정일 수 있다. 또한, 작업2(task2)는 오버레이 그래픽을 원영상에 오버레이하는 과정일 수 있다. 작업1은 일반적으로 AI와 이미지 렌더링 과정이 필요하기 때문에 계산량이 매우 많을 수 있다.Augmented Reality (AR) can include two major tasks. Task 1 may be a process of recognizing a context in an image and calculating an overlay graphic. In addition, task 2 may be a process of overlaying the overlay graphic on the original image. Task 1 typically requires a lot of computation because of the AI and image rendering process.

구체적으로, 도 7을 참조하면, 동작 (1)은 NBMP 서버에서의 동작을 나타내는 것으로서, NBMP 서버는 비디오 또는 정지영상을 디코딩하고, NBMP 클라이언트에서 제공하는 부가정보(예컨대, 위치정보, 카메라 각도 등)를 이용해서 콘텍스트를 인식하여 오버레이 그래픽을 계산할 수 있다. 한편, 상기 동작은 인트라 프레임(intra frame)만 디코딩하여 수행할 수도 있다. 동작 (2)는 NBMP 클라이언트에서의 동작을 나타내는 것으로서, NBMP 클라이언트는 레거시 디코더에서 디코딩된 비디오를 수신하고, NBMP 서버에서 오버레이 그래픽을 수신할 수 있다. 그리고, NBMP 클라이언트는 상기 수신된 오버레이 그래픽을 상기 디코딩된 비디오에 오버레이할 수 있다. 동작 (3)에서 NBMP 클라이언트는 AR을 수행하기 위한 콘텍스트 인식 및/또는 오버레이 그래픽을 NBMP 서버에게 요청할 수 있다(NBMP request). 만일 클라이언트가 촬영한 비디오에 대한 AR이라면, 클라이언트에서 촬영한 비디오와 클라이언트의 위치 및/또는 카메라 각도 정보를 부가정보로 전송할 수 있다. 동작 (4)에서 NBMP 클라이언트는 NBMP 서버로부터 오버레이 그래픽 및/또는 알파 데이터(alpha data)를 수신할 수 있다. 이때 알파 데이터는 오버레이 과정에서의 투명도를 의미할 수 있다. 동작 (5)에서 NBMP 클라이언트는 value added contents로서 오버레이된 비디오 데이터를 레거시 렌더러로 전송할 수 있다. 동작 (6)에서 레거시 라우터는 NBMP 서버로 레거시 스트림으로서 비디오의 인코딩된 데이터 스트림을 전송할 수 있다. 동작 (7)은 레거시 디코더에서의 동작을 나타내는 것으로서, 레거시 디코더는 비디오 디코딩을 수행할 수 있다. 동작 (8)은 레거시 렌더러에서의 동작을 나타내는 것으로서, 레거시 렌더러는 오버레이된 로 데이터를 렌더링할 수 있다. 동작 (9)에서 레거시 디코더는 레거시 콘텐츠로서 원본 비디오 데이터를 NBMP 클라이언트에게 전송할 수 있다.7, the operation (1) indicates the operation in the NBMP server. The NBMP server decodes the video or still image and transmits the additional information (e.g., position information, camera angle, etc.) provided by the NBMP client ) Can be used to recognize the context and calculate overlay graphics. Meanwhile, the operation may be performed by decoding only an intra frame. Operation (2) indicates the operation in the NBMP client, where the NBMP client can receive the decoded video from the legacy decoder and receive the overlay graphics from the NBMP server. The NBMP client may then overlay the received overlay graphics on the decoded video. In operation (3), the NBMP client may request the NBMP server to perform context recognition and / or overlay graphics to perform the AR (NBMP request). If the client is an AR for video taken, it can transmit the video shot by the client and the client's position and / or camera angle information as additional information. In operation 4, the NBMP client may receive overlay graphics and / or alpha data from the NBMP server. At this time, alpha data may mean transparency in the overlay process. In operation (5), the NBMP client may send overlayed video data as value added contents to the legacy renderer. In operation (6), the legacy router may send the encoded data stream of video as a legacy stream to the NBMP server. Operation 7 represents the operation in the legacy decoder, and the legacy decoder can perform video decoding. Operation (8) indicates the operation in the legacy renderer, and the legacy renderer can render the data as overlaid. In operation 9, the legacy decoder may transmit the original video data as legacy content to the NBMP client.

도 8은 본 개시의 일 실시 예에 따른 계산 오프로딩을 이용한 컴퓨터 게임의 동작을 나타내는 도면이다.8 is a diagram illustrating the operation of a computer game using computed offloading in accordance with one embodiment of the present disclosure.

컴퓨터 게임의 서버에서는 비디오를 렌더링하고 렌더링된 비디오를 압축하여 전송할 수 있다.On a computer game server, you can render video and compress the rendered video.

구체적으로, 도 8을 참조하면, 동작 (1)은 NBMP 서버에서의 동작을 나타내는 것으로서, NBMP 서버는 다른 사용자(user)들로부터 수신된 정보(즉, 레거시 라우터로부터 수신된 정보) 및/또는 NBMP 클라이언트로부터 수신된 정보를 이용하여 NBMP 클라이언트에게 전송할 비디오를 렌더링할 수 있다. 이때, NBMP 서버는 비디오를 압축해서 전송할 수 있다. 동작 (2)는 NBMP 클라이언트에서의 동작을 나타내는 것으로서, NBMP 클라이언트는 레거시 디코더로부터 수신된 정보를 이용하여 NBMP 서버로부터 수신된 비디오를 디코딩할 수 있다. 또한, NBMP 클라이언트는 사용자 인터페이스(user interface)를 이용하여 사용자의 피드백 및/또는 액션(action)을 수신하고, 수신된 정보를 NBMP 서버에게 전송할 수 있다. 동작 (3)에서 NBMP 클라이언트는 사용자 인터페이스를 이용하여 수신된 사용자의 피드백 및/또는 액션 정보를 NBMP 서버에게 전송할 수 있다(NBMP request). 이때, 상기 정보는 마우스, 터치 스크린 정보 및/또는 채팅 데이터 등을 포함할 수 있다. 동작 (4)에서 NBMP 클라이언트는 NBMP 서버로부터 NBMP 데이터로서 게임 비디오의 인코딩된 데이터 및/또는 게임 정보를 수신할 수 있다. 예컨대, 게임 정보는 컴퓨터 게임의 진행 상황에 대한 정보, 채팅 데이터 등을 포함할 수 있다. 동작 (5)에서 NBMP 클라이언트는 value added contents로서 게임 비디오의 데이터를 레거시 렌더러로 전송할 수 있다. 동작 (6)에서 레거시 라우터는 NBMP 서버로 레거시 스트림을 전송하는데, 이 경우 데이터 스트림을 존재하지 않을 수 있다. 동작 (7)은 레거시 디코더에서의 동작을 나타내는 것으로서, 레거시 디코더는 비디오 디코딩을 수행할 수 있다. 동작 (8)은 레거시 렌더러에서의 동작을 나타내는 것으로서, 레거시 렌더러는 로 데이터를 렌더링할 수 있다. 동작 (9)에서 레거시 디코더는 레거시 콘텐츠로서 원본 비디오 데이터를 NBMP 클라이언트에게 전송할 수 있다.Specifically, referring to FIG. 8, operation (1) represents an operation in an NBMP server, wherein the NBMP server receives information received from other users (i.e., information received from a legacy router) and / And can render the video to be transmitted to the NBMP client using the information received from the client. At this time, the NBMP server can compress and transmit the video. Operation (2) indicates the operation in the NBMP client, and the NBMP client can decode the video received from the NBMP server using the information received from the legacy decoder. In addition, the NBMP client can receive user feedback and / or action using a user interface and transmit the received information to the NBMP server. In operation (3), the NBMP client may transmit the received feedback and / or action information to the NBMP server using a user interface (NBMP request). At this time, the information may include a mouse, touch screen information, and / or chat data. In operation 4, the NBMP client may receive the encoded data and / or game information of the game video as NBMP data from the NBMP server. For example, the game information may include information on progress of a computer game, chat data, and the like. In operation (5), the NBMP client can transfer the game video data to the legacy renderer as value added contents. In operation (6), the legacy router transmits the legacy stream to the NBMP server, in which case the data stream may not be present. Operation 7 represents the operation in the legacy decoder, and the legacy decoder can perform video decoding. Operation (8) indicates the operation in the legacy renderer, and the legacy renderer can render the data into the legacy renderer. In operation 9, the legacy decoder may transmit the original video data as legacy content to the NBMP client.

본 개시의 예시적인 방법들은 설명의 명확성을 위해서 동작의 시리즈로 표현되어 있지만, 이는 단계가 수행되는 순서를 제한하기 위한 것은 아니며, 필요한 경우에는 각각의 단계가 동시에 또는 상이한 순서로 수행될 수도 있다. 본 개시에 따른 방법을 구현하기 위해서, 예시하는 단계에 추가적으로 다른 단계를 포함하거나, 일부의 단계를 제외하고 나머지 단계를 포함하거나, 또는 일부의 단계를 제외하고 추가적인 다른 단계를 포함할 수도 있다.Although the exemplary methods of this disclosure are represented by a series of acts for clarity of explanation, they are not intended to limit the order in which the steps are performed, and if necessary, each step may be performed simultaneously or in a different order. In order to implement the method according to the present disclosure, the illustrative steps may additionally include other steps, include the remaining steps except for some steps, or may include additional steps other than some steps.

본 개시의 다양한 실시 예는 모든 가능한 조합을 나열한 것이 아니고 본 개시의 대표적인 양상을 설명하기 위한 것이며, 다양한 실시 예에서 설명하는 사항들은 독립적으로 적용되거나 또는 둘 이상의 조합으로 적용될 수도 있다.The various embodiments of the disclosure are not intended to be all-inclusive and are intended to illustrate representative aspects of the disclosure, and the features described in the various embodiments may be applied independently or in a combination of two or more.

또한, 본 개시의 다양한 실시 예는 하드웨어, 펌웨어(firmware), 소프트웨어, 또는 그들의 결합 등에 의해 구현될 수 있다. 하드웨어에 의한 구현의 경우, 하나 또는 그 이상의 ASICs(Application Specific Integrated Circuits), DSPs(Digital Signal Processors), DSPDs(Digital Signal Processing Devices), PLDs(Programmable Logic Devices), FPGAs(Field Programmable Gate Arrays), 범용 프로세서(general processor), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 등에 의해 구현될 수 있다. In addition, various embodiments of the present disclosure may be implemented by hardware, firmware, software, or a combination thereof. In the case of hardware implementation, one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays A general processor, a controller, a microcontroller, a microprocessor, and the like.

본 개시의 범위는 다양한 실시 예의 방법에 따른 동작이 장치 또는 컴퓨터 상에서 실행되도록 하는 소프트웨어 또는 머신-실행가능한 명령들(예를 들어, 운영체제, 애플리케이션, 펌웨어(firmware), 프로그램 등), 및 이러한 소프트웨어 또는 명령 등이 저장되어 장치 또는 컴퓨터 상에서 실행 가능한 비-일시적 컴퓨터-판독가능 매체(non-transitory computer-readable medium)를 포함한다. The scope of the present disclosure is to be accorded the broadest interpretation as understanding of the principles of the invention, as well as software or machine-executable instructions (e.g., operating system, applications, firmware, Instructions, and the like are stored and are non-transitory computer-readable medium executable on the device or computer.

Claims (7)

전체 작업 중 계산 오프로딩을 수행할 소정의 일부 작업을 결정하는 클라이언트; 및
상기 클라이언트로부터의 요청에 대응하여 상기 결정된 소정의 일부 작업을 수행하는 서버를 포함하고,
상기 클라이언트는 NBMP(Network Based Media Processing) 클라이언트를 포함하고, 상기 서버는 NBMP 서버를 포함하는 서비스 제공 장치.
A client that determines some of the operations to perform calculation offloading during the entire operation; And
And a server for performing the predetermined predetermined operation in response to a request from the client,
The client includes an NBMP (Network Based Media Processing) client, and the server includes an NBMP server.
제1항에 있어서,
상기 서버로 레거시 스트림을 전송하는 레거시 라우터;
레거시 디코딩을 수행하는 레거시 디코더; 및
로(raw) 콘텐츠를 렌더링하는 레거시 렌더러를 더 포함하고,
상기 레거시 스트림은 상기 레거시 디코더로 전송되는 스트림의 전부 또는 일부로서 상기 소정의 작업을 수행하는데 필요한 데이터인 서비스 제공 장치.
The method according to claim 1,
A legacy router for transmitting a legacy stream to the server;
A legacy decoder for performing legacy decoding; And
Further comprising a legacy renderer for rendering raw content,
Wherein the legacy stream is data necessary for performing the predetermined operation as all or a part of a stream transmitted to the legacy decoder.
제2항에 있어서,
상기 전체 작업은 FRUC(Frame Rate Up-Conversion) 작업이고,
상기 클라이언트는 상기 FRUC 작업에 이용되는 실제 움직임 벡터(true motion vector)에 대한 계산을 상기 서버에게 요청하는 서비스 제공 장치.
3. The method of claim 2,
The whole operation is a FRUC (Frame Rate Up-Conversion) operation,
Wherein the client requests the server for a calculation of a true motion vector used in the FRUC operation.
제2항에 있어서,
상기 전체 작업은 영상 업샘플링 작업이고,
상기 클라이언트는 낮은 해상도 영상을 높은 해상도 영상으로 변환하는데 필요한 에지 정보에 대한 계산을 상기 서버에게 요청하는 서비스 제공 장치.
3. The method of claim 2,
The entire operation is an image upsampling operation,
Wherein the client requests the server to calculate edge information necessary for converting a low resolution image into a high resolution image.
제2항에 있어서,
상기 전체 작업은 이미지 어노테이션(image annotation) 작업이고,
상기 클라이언트는 이미지 어노테이션을 수행하는데 필요한 객체 인식 정보 및 객체 별 어노테이션 정보 중 적어도 하나의 정보에 대한 획득을 상기 서버에게 요청하는 서비스 제공 장치.
3. The method of claim 2,
The whole operation is an image annotation operation,
Wherein the client requests the server to acquire at least one of object recognition information necessary for performing image annotation and annotation information for each object.
제2항에 있어서,
상기 전체 작업은 증강현실(Augmented Reality, AR) 처리 작업이고,
상기 클라이언트는 AR을 수행하는데 필요한 콘텍스트 인식 정보 및 오버레이 그래픽 정보 중 적어도 하나의 정보에 대한 획득을 상기 서버에게 요청하는 서비스 제공 장치.
3. The method of claim 2,
The entire operation is an Augmented Reality (AR) processing operation,
Wherein the client requests the server to acquire at least one of context recognition information and overlay graphic information necessary for performing the AR.
제2항에 있어서,
상기 전체 작업은 컴퓨터 게임 작업이고,
상기 클라이언트는 사용자 인터페이스를 이용하여 수신된 사용자의 피드백 및 액션 정보 중 적어도 하나를 서버에게 전송하고, 상기 컴퓨터 게임의 인코딩된 데이터 및 게임 정보 중 적어도 하나의 정보에 대한 획득을 상기 서버에게 요청하는 서비스 제공 장치.
3. The method of claim 2,
The whole operation is a computer game operation,
Wherein the client transmits at least one of feedback and action information of the user received through the user interface to the server and requests the server to acquire at least one of the encoded data and game information of the computer game .
KR1020180111684A 2017-09-20 2018-09-18 Cloud multimedia service providing apparatus and method using computation offloading KR20190033022A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170121156 2017-09-20
KR20170121156 2017-09-20

Publications (1)

Publication Number Publication Date
KR20190033022A true KR20190033022A (en) 2019-03-28

Family

ID=65908399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180111684A KR20190033022A (en) 2017-09-20 2018-09-18 Cloud multimedia service providing apparatus and method using computation offloading

Country Status (1)

Country Link
KR (1) KR20190033022A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112148921A (en) * 2019-06-27 2020-12-29 腾讯美国有限责任公司 NBMP (negative-bias network processor) functional image retrieval method, computer system and readable storage medium
WO2021028719A1 (en) * 2019-08-15 2021-02-18 Telefonaktiebolaget Lm Ericsson (Publ) Application-specific packet processing offload service
WO2021206515A1 (en) * 2020-04-10 2021-10-14 Samsung Electronics Co., Ltd. Offering media services through network edge
EP3887941A4 (en) * 2018-12-04 2022-01-26 Samsung Electronics Co., Ltd. Method and apparatus for management of network based media processing functions in wireless communication system
WO2023136516A1 (en) * 2022-01-12 2023-07-20 삼성전자 주식회사 Electronic device and method
US11775350B2 (en) 2019-09-28 2023-10-03 Tencent America LLC Compute resource estimation for function implementation on computing platform

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3887941A4 (en) * 2018-12-04 2022-01-26 Samsung Electronics Co., Ltd. Method and apparatus for management of network based media processing functions in wireless communication system
US11431817B2 (en) 2018-12-04 2022-08-30 Samsung Electronics Co., Ltd. Method and apparatus for management of network based media processing functions
CN112148921A (en) * 2019-06-27 2020-12-29 腾讯美国有限责任公司 NBMP (negative-bias network processor) functional image retrieval method, computer system and readable storage medium
CN112148921B (en) * 2019-06-27 2023-11-14 腾讯美国有限责任公司 NBMP functional image retrieval method, computer system and readable storage medium
WO2021028719A1 (en) * 2019-08-15 2021-02-18 Telefonaktiebolaget Lm Ericsson (Publ) Application-specific packet processing offload service
US11777868B2 (en) 2019-08-15 2023-10-03 Telefonaktiebolaget Lm Ericsson (Publ) Application-specific packet processing offload service
US11775350B2 (en) 2019-09-28 2023-10-03 Tencent America LLC Compute resource estimation for function implementation on computing platform
WO2021206515A1 (en) * 2020-04-10 2021-10-14 Samsung Electronics Co., Ltd. Offering media services through network edge
US11496532B2 (en) 2020-04-10 2022-11-08 Samsung Electronics Co., Ltd. Offering media services through network edge
WO2023136516A1 (en) * 2022-01-12 2023-07-20 삼성전자 주식회사 Electronic device and method

Similar Documents

Publication Publication Date Title
KR20190033022A (en) Cloud multimedia service providing apparatus and method using computation offloading
TWI803590B (en) Asynchronous time and space warp with determination of region of interest
US11303881B2 (en) Method and client for playing back panoramic video
CN112104879B (en) Video coding method and device, electronic equipment and storage medium
CN109891850B (en) Method and apparatus for reducing 360 degree view adaptive streaming media delay
US20180270496A1 (en) Composite video streaming using stateless compression
US7616821B2 (en) Methods for transitioning compression levels in a streaming image system
JP2015522988A (en) Motion compensation and motion prediction using a continuous coordinate system
US20070022217A1 (en) Systems, methods, and media for managing an interactive streaming image system
EP3094090B1 (en) Systems, devices and methods for video encoding and decoding
US11909799B2 (en) Media playback apparatus and method including delay prevention system
US11450104B1 (en) Identification and obfuscation of objectionable content from video stream
US11159823B2 (en) Multi-viewport transcoding for volumetric video streaming
Pazzi et al. Propane: A progressive panorama streaming protocol to support interactive 3d virtual environment exploration on graphics-constrained devices
US20190045268A1 (en) Generating 2d video from 360 video
Xu et al. A low latency cloud gaming system using edge preserved image homography
CN116866658A (en) Video data processing method, device, equipment and medium
Ku et al. WARP: web-based adaptive remote-desktop protocol for VDI
US11334979B2 (en) System and method to detect macroblocking in images
JP6216046B2 (en) Automatic codec adaptation
CN113965714B (en) Video stream processing method and device, electronic equipment and storage medium
CN118055151B (en) Cloud desktop GPU (graphics processing unit) through virtualization redirection management system and method
US9445049B2 (en) Identifying and enhancing motion video in a conference call channel by detecting audio
CN117579862A (en) Code stream distribution, device, system and storage medium for VR live broadcast
CN117750075A (en) Method for self-adapting image superdivision under remote desktop environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application