KR20120010031A - Application remote control system, application remote control apparatus and method - Google Patents

Application remote control system, application remote control apparatus and method Download PDF

Info

Publication number
KR20120010031A
KR20120010031A KR1020100071542A KR20100071542A KR20120010031A KR 20120010031 A KR20120010031 A KR 20120010031A KR 1020100071542 A KR1020100071542 A KR 1020100071542A KR 20100071542 A KR20100071542 A KR 20100071542A KR 20120010031 A KR20120010031 A KR 20120010031A
Authority
KR
South Korea
Prior art keywords
screen
capacity
block
application
capacity screen
Prior art date
Application number
KR1020100071542A
Other languages
Korean (ko)
Other versions
KR101520414B1 (en
Inventor
배태면
채상호
신인호
Original Assignee
에스케이플래닛 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이플래닛 주식회사 filed Critical 에스케이플래닛 주식회사
Priority to KR1020100071542A priority Critical patent/KR101520414B1/en
Publication of KR20120010031A publication Critical patent/KR20120010031A/en
Application granted granted Critical
Publication of KR101520414B1 publication Critical patent/KR101520414B1/en

Links

Images

Classifications

    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/30Determination of transform parameters for the alignment of images, i.e. image registration
    • G06T7/33Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Abstract

PURPOSE: An application control system, a device thereof, and a method thereof are provided to offer an application compatible with any kind of terminal device by using a RDP(Remote Desktop Protocol) or VNC(Virtual Network Computing) based remote terminal control technology. CONSTITUTION: A screen dividing unit(211) divides a driving screen of an application into a high-capacity and a low-capacity screen based on a data size. A low-capacity screen transmitting unit(212) transmits a data of the low-capacity screen to a terminal device. An image compressing unit(213) compresses a data of the high-capacity screen. A high-capacity screen transmitting unit(214) transmits the compressed data to the terminal device in streaming by a streaming server. A control command receiving unit(215) receives a control command on the application from the terminal device. A control unit(216) controls the application performance based on the control command.

Description

어플리케이션 원격 제어 시스템, 어플리케이션 원격 제어 장치 및 방법{APPLICATION REMOTE CONTROL SYSTEM, APPLICATION REMOTE CONTROL APPARATUS AND METHOD}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an application remote control system and an application remote control apparatus,

어플리케이션(application) 원격 제어 시스템, 어플리케이션 원격 제어 장치 및 방법이 개시된다. 특히, 본 발명의 실시예들은 단말 장치의 종류와 무관하게 어플리케이션의 호환성을 제공하기 위해 원격지의 서버에서 어플리케이션을 구동하고, 상기 어플리케이션의 구동화면을 상기 단말 장치로 제공하여 상기 단말 장치의 사용자가 상기 구동화면을 보고 상기 단말 장치를 통해 제어명령을 입력하면, 상기 단말 장치가 상기 서버로 상기 제어명령을 전송하여 상기 어플리케이션이 원격 제어되도록 하는 원격 단말 제어기술에 관한 것이다.An application remote control system, an application remote control device and method are disclosed. In particular, embodiments of the present invention provide a method of operating an application on a remote server to provide compatibility of an application regardless of the type of the terminal device, and providing a driving screen of the application to the terminal device, And more particularly, to a remote terminal control technique in which when a control command is inputted through the terminal device in view of a driving screen, the terminal device transmits the control command to the server so that the application is controlled remotely.

현재 출시되고 있는 단말 장치들은 퍼스널 컴퓨터, PDA, 모바일 단말기 등 그 종류가 매우 다양하다.Currently available terminal devices include various types of personal computers, PDAs, and mobile terminals.

이러한 환경에서 단말 장치에 어플리케이션(application)을 제공하기 위해서는 각 단말 장치의 운영체제, 연산 능력 등 단말 장치의 특성을 고려하여 어플리케이션을 개발해야 하고, 어플리케이션에 새로운 기능을 추가하거나 버그 패치(bug patch)를 수행하는 경우, 단말 장치에 이미 설치되어 있는 어플리케이션을 새로 설치해야 하는 불편이 있다.In such an environment, in order to provide an application to a terminal device, it is necessary to develop an application in consideration of the characteristics of the terminal device such as the operating system and operation capability of each terminal device, add a new function to the application, or perform a bug patch There is an inconvenience that an application already installed in the terminal apparatus must be newly installed.

특히, 최근에는 스마트 폰(smart phone)이 널리 보급되면서, 스마트 폰에서 활용 가능한 다양한 어플리케이션의 개발에 대한 관심이 증폭되고 있다.Particularly, as a smart phone has become widespread in recent years, there is a growing interest in developing various applications that can be used in a smart phone.

이와 관련하여 스마트 폰 제조사나 모바일 서비스 업체는 스마트 폰에서 구동 가능한 다양한 어플리케이션을 사용자들이 손쉽게 구매할 수 있도록 하는 어플리케이션 스토어(store)를 운영하고 있다.In this regard, smartphone makers and mobile service providers operate an application store that allows users to easily purchase various applications that can run on smartphones.

이러한 어플리케이션 스토어는 개발자가 어플리케이션을 개발하여 이를 스토어에 등록하면, 구매자가 상기 어플리케이션 스토어에 접속하여 무료 또는 유료로 상기 어플리케이션을 다운로드받는 형식으로 운영되고 있다.When the developer develops an application and registers the application in the store, the application store is operated in such a form that the purchaser accesses the application store and downloads the application free or for a fee.

하지만, 스마트 폰도 그 종류가 매우 다양하기 때문에 다양한 종류의 스마트 폰에서 호환 가능한 어플리케이션을 제공하는 기법에 대한 연구가 필요한 실정이다.However, since there are many types of smartphones, it is necessary to study techniques for providing compatible applications in various types of smartphones.

본 발명의 실시예들은 서버에서 어플리케이션(application)을 구동시키고, 상기 구동된 어플리케이션의 구동화면을 단말 장치로 전송하여 단말 장치의 사용자가 원격으로 상기 어플리케이션을 제어할 수 있도록 함으로써, 사용자가 단말 장치의 종류와 무관하게 상기 어플리케이션을 이용할 수 있도록 지원하고, 상기 어플리케이션의 구동화면을 고용량 데이터 화면과 저용량 데이터 화면으로 구분한 후 고용량 데이터 화면은 단말 장치로 압축 전송함으로써, 어플리케이션의 원격 제어 시에 발생할 수 있는 대역폭 문제를 극복하고자 한다.Embodiments of the present invention enable a user of a terminal device to remotely control the application by driving an application in a server and transmitting a driving screen of the driven application to a terminal device, A high capacity data screen and a high capacity data screen are divided into a high capacity data screen and a low capacity data screen by compressing and transmitting the high capacity data screen to the terminal device, We want to overcome the bandwidth problem.

본 발명의 일실시예에 따른 어플리케이션 원격 제어 시스템은 어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분하고, 상기 저용량 화면에 대한 데이터를 단말 장치로 전송하며, 상기 고용량 화면에 대한 데이터를 압축한 후 스트리밍(streaming) 서버를 이용하여 상기 단말 장치로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송하고, 상기 단말 장치로부터 상기 어플리케이션의 동작과 연관된 제어명령을 수신하여 상기 수신된 제어명령을 기초로 상기 어플리케이션의 동작을 제어하는 어플리케이션 원격 제어 서버 및 상기 어플리케이션 원격 제어 서버로부터 상기 고용량 화면에 대한 데이터 및 상기 저용량 화면에 대한 데이터를 수신하고, 상기 어플리케이션 원격 제어 서버로 상기 제어명령을 전송하는 상기 단말 장치를 포함한다.The application remote control system according to an embodiment of the present invention divides the driving screen of the application into a high capacity screen and a low capacity screen based on the amount of data and transmits the data of the low capacity screen to the terminal device , Compressing the data for the high capacity screen and transmitting the compressed high capacity screen data to the terminal device in a streaming manner using a streaming server, An application remote control server receiving the control command and controlling the operation of the application based on the received control command, and receiving data on the high capacity screen and data on the low capacity screen from the application remote control server, A control server and a terminal device for transmitting the control command.

또한, 본 발명의 일실시예에 따른 어플리케이션 원격 제어 장치는 어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분하는 화면 구분부, 상기 저용량 화면에 대한 데이터를 단말 장치로 전송하는 저용량 화면 전송부, 상기 고용량 화면에 대한 데이터를 압축하는 영상 압축부 및 스트리밍(streaming) 서버를 이용하여 상기 단말 장치로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송하는 고용량 화면 전송부를 포함한다.In addition, the application remote control apparatus according to an embodiment of the present invention includes a screen division unit for dividing a driving screen of the application into a high-capacity screen and a low-capacity screen based on the amount of data, Capacity screen for transmitting the compressed high-capacity screen data to the terminal device using a streaming method using a low-capacity screen transmission unit for transmitting the high-capacity screen to the terminal device, an image compression unit for compressing the data for the high- And a screen transmission unit.

또한, 본 발명의 일실시예에 따른 어플리케이션 원격 제어 방법은 어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분하는 단계, 상기 구동화면이 상기 저용량 화면으로 구분된 경우, 상기 저용량 화면에 대한 데이터를 단말 장치로 전송하는 단계 및 상기 구동화면이 상기 고용량 화면으로 구분된 경우, 상기 고용량 화면에 대한 데이터를 압축하고, 스트리밍(streaming) 서버를 이용하여 상기 단말 장치로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송하는 단계를 포함한다.In addition, the application remote control method according to an embodiment of the present invention includes dividing a driving screen of the application into a high-capacity screen and a low-capacity screen based on the amount of data, when the application is driven, Capacity screen is transmitted to the terminal device, and when the driving screen is divided into the high-capacity screen, the data for the high-capacity screen is compressed, and the streaming server transmits the data to the terminal device And transmitting the compressed high-capacity screen data in a streaming manner.

본 발명의 실시예들은 원격지의 서버에서 어플리케이션(application)을 구동하고, 상기 어플리케이션의 구동화면을 상기 단말 장치로 제공하여 상기 단말 장치의 사용자가 상기 구동화면을 보고 상기 단말 장치를 통해 제어명령을 입력하면, 상기 단말 장치가 상기 서버로 상기 제어명령을 전송하여 상기 어플리케이션이 원격 제어되도록 하는 RDP(Remote Desktop Protocol) 또는 VNC(Virtual Network Computing) 기반의 원격 단말 제어기술을 제공함으로써, 단말 장치의 종류와 무관하게 어플리케이션에 대한 호환성을 제공할 수 있다.Embodiments of the present invention provide an apparatus and a method for operating an application in a remote server and providing a driving screen of the application to the terminal so that a user of the terminal can view the driving screen and input a control command through the terminal (Remote Desktop Protocol) or VNC (Virtual Network Computing) -based remote terminal control technology in which the terminal device transmits the control command to the server to remotely control the application, You can provide compatibility for your application regardless.

또한, 본 발명의 실시예들은 서버에서 전송될 어플리케이션의 구동화면을 고용량 데이터 화면과 저용량 데이터 화면으로 구분한 후 저용량 데이터 화면은 일반적인 RDP(또는 VNC)를 기반으로 서버에서 단말 장치로 전송되도록 하고, 고용량 데이터 화면은 서버에서 단말 장치로 압축 전송되도록 하는 데이터 전송 기법을 제공함으로써, RDP(또는 VNC) 기반의 원격 단말 제어기술과 관련하여 서버에서 단말 장치로 비디오나 3D 그래픽 콘텐츠와 같은 고용량의 데이터가 전송되는 경우, 높은 전송 대역폭이 요구되는 한계를 극복할 수 있다.In addition, embodiments of the present invention divide a driving screen of an application to be transmitted in a server into a high capacity data screen and a low capacity data screen, and then transmit a low capacity data screen to a terminal device based on a general RDP (or VNC) A high-capacity data screen provides a data transmission technique for compressing and transferring data from a server to a terminal device. Thus, a high-capacity data such as video or 3D graphic content is transmitted from a server to a terminal device in connection with RDP (or VNC) If transmitted, it is possible to overcome the limitation that a high transmission bandwidth is required.

도 1은 본 발명의 일실시예에 따른 어플리케이션 원격 제어 시스템을 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 어플리케이션 원격 제어 장치의 구조를 도시한 도면이다.
도 3은 본 발명의 일실시예에 따라 어플리케이션 구동화면이 고용량 화면과 저용량 화면으로 구분된 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 따른 어플리케이션 원격 제어 방법을 도시한 순서도이다.
1 is a diagram illustrating an application remote control system according to an embodiment of the present invention.
2 is a diagram illustrating a structure of an application remote control apparatus according to an embodiment of the present invention.
3 is a diagram illustrating an example in which an application driving screen is divided into a high capacity screen and a low capacity screen according to an embodiment of the present invention.
4 is a flowchart illustrating an application remote control method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings.

전술한 바와 같이, 다양한 종류의 단말 장치가 등장함에 따라, 단말 장치의 종류와 관계없이 어플리케이션(application)의 호환성을 제공할 수 있는 기법에 대한 연구가 필요하다.As described above, as various types of terminal devices appear, it is necessary to study techniques that can provide compatibility of applications regardless of the types of terminal devices.

이와 관련하여, 본 발명의 실시예들은 단말 장치의 종류와 무관하게 어플리케이션의 호환성을 제공하기 위해 원격지의 서버에서 어플리케이션을 구동하고, 상기 어플리케이션의 구동화면을 상기 단말 장치로 제공하여 상기 단말 장치의 사용자가 상기 구동화면을 보고 상기 단말 장치를 통해 제어명령을 입력하면, 상기 단말 장치가 상기 서버로 상기 제어명령을 전송하여 상기 어플리케이션이 원격 제어되도록 하는 RDP(Remote Desktop Protocol) 또는 VNC(Virtual Network Computing) 기반의 원격 단말 제어기술을 제공하고자 한다.In this regard, embodiments of the present invention provide a method of operating an application on a remote server to provide compatibility of an application regardless of the type of the terminal, providing a driving screen of the application to the terminal, A remote desktop protocol (RDP) or a virtual network computing (VNC) system, in which the terminal apparatus transmits the control command to the server to remotely control the application when a control command is inputted through the terminal apparatus, Based remote terminal control technology.

또한, 본 발명의 실시예들은 RDP(또는 VNC) 기반의 원격 단말 제어기술과 관련하여 서버에서 단말 장치로 비디오나 3D 그래픽 콘텐츠와 같은 고용량의 데이터가 전송되어야 할 경우, 높은 전송 대역폭이 요구되는 한계를 극복하기 위해 서버에서 전송될 어플리케이션의 구동화면을 고용량 데이터 화면과 저용량 데이터 화면으로 구분한 후 저용량 데이터 화면은 일반적인 RDP(또는 VNC)를 기반으로 서버에서 단말 장치로 전송되도록 하고, 고용량 데이터 화면은 서버에서 단말 장치로 정지영상 또는 동영상 코덱을 통해 압축 전송되도록 하는 데이터 전송 기법을 제공하고자 한다.Further, in the embodiments of the present invention, when a high-capacity data such as video or 3D graphic content is to be transmitted from a server to a terminal device in connection with RDP (or VNC) based remote terminal control technology, Capacity data screen and a low-capacity data screen are transmitted from a server to a terminal device based on a general RDP (or VNC), and a high-capacity data screen And a data transmission scheme in which the server compresses and transmits the still image or the moving picture codec to a terminal device.

도 1은 본 발명의 일실시예에 따른 어플리케이션 원격 제어 시스템을 도시한 도면이다.1 is a diagram illustrating an application remote control system according to an embodiment of the present invention.

도 1을 참조하면, 어플리케이션 원격 제어 서버(110), 단말 장치(120) 및 스트리밍(streaming) 서버(130)가 도시되어 있다.Referring to FIG. 1, an application remote control server 110, a terminal device 120, and a streaming server 130 are shown.

여기서, 단말 장치(120)는 퍼스널 컴퓨터, 서버, MP3 플레이어, PMP, 네비게이션 단말기, 모바일 단말기, PDA, 셋탑박스 등 마이크로 프로세서 기반의 장치를 통칭하는 개념이다.Here, the terminal device 120 is a concept collectively referred to as a microprocessor-based device such as a personal computer, a server, an MP3 player, a PMP, a navigation terminal, a mobile terminal, a PDA, a set-

어플리케이션 원격 제어 서버(110)는 어플리케이션 원격 제어 서버(110) 내에서 어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분한다.When the application is activated in the application remote control server 110, the application remote control server 110 divides the driving screen of the application into a high capacity screen and a low capacity screen based on the amount of data.

그리고 나서, 어플리케이션 원격 제어 서버(110)는 상기 저용량 화면에 대한 데이터를 단말 장치(120)로 전송한다.Then, the application remote control server 110 transmits the data on the low capacity screen to the terminal device 120. [

이때, 어플리케이션 원격 제어 서버(110)는 상기 저용량 화면에 대한 데이터를 RDP(또는 VNC)를 기반으로 단말 장치(120)로 전송할 수 있다.At this time, the application remote control server 110 can transmit the data for the low capacity screen to the terminal device 120 based on the RDP (or VNC).

상기 고용량 화면에 대한 데이터와 관련하여, 어플리케이션 원격 제어 서버(110)는 상기 고용량 화면에 대한 데이터를 압축한 후 스트리밍 서버(130)를 이용하여 단말 장치(120)로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송한다.The application remote control server 110 compresses the data for the high capacity screen and transmits the compressed data for the high capacity screen to the terminal device 120 using the streaming server 130 In a streaming manner.

즉, 본 발명의 일실시예에 따른 어플리케이션 원격 제어 서버(110)는 저용량 화면에 대한 데이터는 RDP(또는 VNC)를 기반으로 단말 장치(120)에 전송하고, 고용량 화면에 대한 데이터는 정지영상 또는 동영상 코덱으로 압축하여 스트리밍 방식으로 단말 장치(120)에 전송함으로써, RDP(또는 VNC)가 가지고 있는 고용량 데이터 전송의 한계를 극복할 수 있다.That is, the application remote control server 110 according to an embodiment of the present invention transmits data for a low capacity screen to the terminal device 120 based on RDP (or VNC) It is possible to overcome the limitation of the high capacity data transmission of the RDP (or VNC) by transmitting the compressed video codec to the terminal device 120 in a streaming manner.

어플리케이션 원격 제어 서버(110)가 상기 어플리케이션의 구동화면을 단말 장치(120)로 전송하면, 단말 장치(120)의 사용자는 상기 구동화면을 기초로 상기 어플리케이션을 단말 장치(120)에서 원격 제어할 수 있다.When the application remote control server 110 transmits the driving screen of the application to the terminal device 120, the user of the terminal device 120 can remotely control the application from the terminal device 120 based on the driving screen have.

단말 장치(120)의 사용자가 단말 장치(120)에 상기 어플리케이션의 동작과 연관된 제어명령을 입력하면, 단말 장치(120)는 상기 제어명령을 어플리케이션 원격 제어 서버(110)로 전송한다.When the user of the terminal device 120 inputs a control command related to the operation of the application to the terminal device 120, the terminal device 120 transmits the control command to the application remote control server 110. [

이때, 어플리케이션 원격 제어 서버(110)는 상기 제어명령을 수신하여 상기 수신된 제어명령을 기초로 상기 어플리케이션의 동작을 제어한다.At this time, the application remote control server 110 receives the control command and controls the operation of the application based on the received control command.

결국, 본 발명의 일실시예에 따른 어플리케이션 원격 제어 시스템은 어플리케이션 원격 제어 서버(110)에서 어플리케이션을 구동시키고, 상기 구동된 어플리케이션의 구동화면을 단말 장치(120)로 전송하여 단말 장치(120)의 사용자가 원격으로 상기 어플리케이션을 제어할 수 있도록 함으로써, 사용자가 단말 장치(120)의 종류와 무관하게 상기 어플리케이션을 이용할 수 있도록 지원할 수 있고, 상기 어플리케이션의 구동화면을 고용량 데이터 화면과 저용량 데이터 화면으로 구분한 후 고용량 데이터 화면은 단말 장치(120)로 압축 전송함으로써, 어플리케이션의 원격 제어 시에 발생할 수 있는 대역폭 문제를 극복할 수 있다.As a result, the application remote control system according to the embodiment of the present invention drives the application in the application remote control server 110, transmits the driving screen of the driven application to the terminal device 120, The user can control the application remotely so that the user can use the application regardless of the type of the terminal device 120. The application screen of the application can be divided into a high capacity data screen and a low capacity data screen The high capacity data screen is compressed and transmitted to the terminal device 120, thereby overcoming the bandwidth problem that may occur during remote control of the application.

도 2는 본 발명의 일실시예에 따른 어플리케이션 원격 제어 장치의 구조를 도시한 도면이다.2 is a diagram illustrating a structure of an application remote control apparatus according to an embodiment of the present invention.

도 2를 참조하면, 어플리케이션 원격 제어 장치(210)는 화면 구분부(211), 저용량 화면 전송부(212), 영상 압축부(213) 및 고용량 화면 전송부(214)를 포함한다.2, the application remote control device 210 includes a screen division unit 211, a low capacity screen transfer unit 212, an image compression unit 213, and a high capacity screen transfer unit 214.

화면 구분부(211)는 어플리케이션 원격 제어 장치(210) 내에서 어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분한다.The screen division unit 211 divides the driving screen of the application into a high capacity screen and a low capacity screen based on the amount of data when the application is driven in the application remote control unit 210.

저용량 화면 전송부(212)는 상기 저용량 화면에 대한 데이터를 단말 장치(220)로 전송한다,The low-capacity screen transmission unit 212 transmits data for the low-capacity screen to the terminal device 220,

이때, 저용량 화면 전송부(212)는 RDP를 기반으로 상기 저용량 화면에 대한 데이터를 단말 장치(220)로 전송할 수 있다.At this time, the low-capacity screen transmitting unit 212 may transmit data for the low-capacity screen to the terminal device 220 based on the RDP.

영상 압축부(213)는 상기 고용량 화면에 대한 데이터를 압축한다.The image compressing unit 213 compresses the data for the high capacity image.

고용량 화면 전송부(214)는 스트리밍 서버(230)를 이용하여 단말 장치(220)로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송한다.The high capacity screen transmission unit 214 transmits the compressed high capacity screen data to the terminal device 220 using the streaming server 230 in a streaming manner.

본 발명의 일실시예에 따르면, 어플리케이션 원격 제어 장치(210)는 제어명령 수신부(215) 및 제어부(216)를 더 포함할 수 있다.According to an embodiment of the present invention, the application remote control device 210 may further include a control command receiving unit 215 and a control unit 216.

제어명령 수신부(215)는 단말 장치(220)로부터 상기 어플리케이션에 대한 제어명령을 수신한다.The control command receiving unit 215 receives a control command for the application from the terminal device 220.

제어부(216)는 상기 수신된 제어명령을 기초로 상기 어플리케이션의 동작을 제어한다.The control unit 216 controls the operation of the application based on the received control command.

본 발명의 일실시예에 따르면, 화면 구분부(211)는 상기 어플리케이션의 구동화면을 상기 저용량 화면과 상기 고용량 화면으로 구분하기 위해 블록(block) 구분부(241), 히스토그램(histogram) 연산부(242), 제1 비교부(243), 엔트로피(entropy) 연산부(244), 제2 비교부(245) 및 블록 판별부(246)를 포함할 수 있다.According to an embodiment of the present invention, the screen dividing unit 211 includes a block dividing unit 241, a histogram calculating unit 242, and a histogram calculating unit 244 for dividing a driving screen of the application into the low- A first comparator 243, an entropy calculator 244, a second comparator 245, and a block discriminator 246. The first comparison unit 243, the entropy computing unit 244, the second comparison unit 245,

블록 구분부(241)는 상기 어플리케이션의 구동화면을 선정된(predetermined) 크기의 복수의 블록들로 구분한다.The block division unit 241 divides the driving picture of the application into a plurality of blocks having a predetermined size.

예컨대, 블록 구분부(241)는 상기 어플리케이션의 구동화면을 NxN 화소(pixel) 크기의 블록들로 나누어 구분할 수 있다.For example, the block dividing unit 241 may divide the driving screen of the application into NxN pixel blocks.

히스토그램 연산부(242)는 상기 구분된 복수의 블록들 각각에 대해 화소 값에 대한 히스토그램을 연산한다.The histogram computation unit 242 computes a histogram of pixel values for each of the plurality of blocks.

제1 비교부(243)는 상기 연산된 히스토그램을 참조하여 상기 복수의 블록들 각각에 대해 블록 내의 화소의 색수와 제1 임계치(threshold)를 비교한다.The first comparing unit 243 compares the number of pixels in the block with the first threshold value for each of the plurality of blocks with reference to the calculated histogram.

그리고 나서, 엔트로피 연산부(244)는 상기 제1 비교부(243)의 비교 결과를 기초로, 상기 복수의 블록들 중 상기 색수가 상기 제1 임계치보다 큰 값을 갖는 적어도 하나의 블록에 대한 엔트로피를 연산한다.Then, based on the comparison result of the first comparison unit 243, the entropy computing unit 244 calculates entropy for at least one block having the color number greater than the first threshold value among the plurality of blocks .

제2 비교부(245)는 상기 적어도 하나의 블록 각각에 대해 상기 연산된 엔트로피와 제2 임계치를 비교한다.The second comparator 245 compares the calculated entropy with the second threshold for each of the at least one block.

블록 판별부(246)는 제2 비교부(245)의 비교 결과를 기초로, 상기 적어도 하나의 블록 중 상기 엔트로피가 상기 제2 임계치보다 큰 값을 갖는 블록을 고용량 화면 블록으로 판별한다.Based on the comparison result of the second comparison unit 245, the block determination unit 246 determines a block having the entropy larger than the second threshold among the at least one block as a high-capacity picture block.

이때, 본 발명의 일실시예에 따르면, 블록 판별부(246)는 상기 복수의 블록들 중 상기 고용량 화면 블록으로 판별된 블록을 제외한 나머지 블록을 저용량 화면 블록으로 판별할 수 있다.According to an embodiment of the present invention, the block determining unit 246 may determine the remaining blocks excluding the blocks determined as the high-capacity picture blocks among the plurality of blocks as low-capacity picture blocks.

화면 구분부(211)는 상기 어플리케이션의 구동화면을 복수의 블록들로 구분한 후 상기 복수의 블록들에 대해 고용량 화면 블록과 저용량 화면 블록으로의 판별을 완료하면, 상기 판별된 고용량 화면 블록과 상기 저용량 화면 블록을 이용하여 상기 어플리케이션의 구동화면을 상기 고용량 화면과 상기 저용량 화면으로 구분할 수 있다.The screen dividing unit 211 divides the driving screen of the application into a plurality of blocks, and when discrimination of the plurality of blocks into the high-capacity screen blocks and the low-capacity screen blocks is completed, The driving screen of the application can be divided into the high capacity screen and the low capacity screen by using the low capacity screen block.

이와 관련하여, 화면 구분부(211)는 상기 어플리케이션의 구동화면 내에 상기 고용량 화면 블록으로 판별된 블록의 개수가 선정된 개수보다 많은 경우, 상기 구동화면을 상기 고용량 화면으로 구분하고, 상기 고용량 화면 블록으로 판별된 블록의 개수가 상기 선정된 개수보다 적은 경우, 상기 구동화면을 상기 저용량 화면으로 구분할 수 있다.In this regard, the screen dividing unit 211 divides the driving screen into the high-capacity screen when the number of blocks determined as the high-capacity screen block is larger than the predetermined number in the driving screen of the application, Capacity screen is smaller than the predetermined number, the driving screen can be divided into the low-capacity screen.

다시 말해서, 화면 구분부(211)는 상기 어플리케이션의 구동화면에 대해 매 프레임(frame) 별로 고용량 화면 블록의 개수와 상기 선정된 개수를 비교하여 고용량 화면 블록의 개수가 상기 선정된 개수보다 많은 프레임을 고용량 화면으로 구분하고, 고용량 화면 블록의 개수가 상기 선정된 개수보다 적은 프레임을 저용량 화면으로 구분할 수 있다.In other words, the screen dividing unit 211 compares the number of high-capacity screen blocks and the number of high-capacity screen blocks per frame with respect to the driving screen of the application to determine that the number of high-capacity screen blocks is larger than the predetermined number Capacity screen, and a frame having a smaller number of high-capacity screen blocks than the predetermined number can be classified into a low-capacity screen.

이와 관련하여 도 3의 도면부호 310에는 화면 구분부(211)가 상기 어플리케이션의 구동화면을 각 프레임 별로 고용량 화면과 저용량 화면으로 구분한 예가 도시되어 있다.In this regard, reference numeral 310 in FIG. 3 shows an example in which the screen dividing unit 211 divides the driving screen of the application into a high-capacity screen and a low-capacity screen for each frame.

도 3의 도면부호 310을 살펴보면, "RDP"로 명기된 부분은 화면 구분부(211)가 해당 프레임의 화면을 저용량 화면으로 구분한 결과, 해당 프레임의 화면 데이터가 RDP(또는 VNC)를 기반으로 단말 장치(220)로 전송되는 경우를 의미하고, "Video Stream"으로 명기된 부분은 화면 구분부(211)가 해당 프레임의 화면을 고용량 화면으로 구분한 결과, 해당 프레임의 화면 데이터가 고효율 비디오 코덱으로 압축된 후 스트리밍 방식으로 단말 장치(220)로 전송되는 경우를 의미한다.Referring to reference numeral 310 in FIG. 3, in the portion indicated by "RDP ", the screen division unit 211 divides the screen of the corresponding frame into a low capacity screen, and the screen data of the corresponding frame is based on the RDP Quot; video stream "means that the screen division unit 211 divides the screen of the frame into a high-capacity screen, and the screen data of the frame is transmitted to the high-efficiency video codec And then transmitted to the terminal device 220 in a streaming manner.

본 발명의 일실시예에 따르면, 화면 구분부(211)는 상기 어플리케이션의 구동화면의 특정 프레임 내에서 고용량 화면 블록으로 판별된 블록의 개수가 전체 블록 수의 일정 비율 이상인 경우, 해당 프레임을 고용량 화면으로 구분할 수도 있다.According to an embodiment of the present invention, when the number of blocks determined as a high-capacity screen block in a specific frame of the driving screen of the application is equal to or greater than a certain ratio of the total number of blocks, .

이상, 화면 구분부(211)가 상기 고용량 화면 블록과, 상기 저용량 화면 블록을 이용하여 상기 어플리케이션의 구동화면을 각 프레임 별로 상기 고용량 화면과 상기 저용량 화면으로 구분하는 실시예에 대해 설명하였다.Hereinabove, the screen dividing unit 211 divides the driving screen of the application into the high-capacity screen and the low-capacity screen for each frame by using the high-capacity screen block and the low-capacity screen block.

본 발명의 또 다른 일실시예에 따르면, 화면 구분부(211)는 상기 어플리케이션의 구동화면 내에서 상기 고용량 화면 블록으로 판별된 블록들을 선정된 범위 안에서 클러스터링(clustering)하여 블록 클러스터를 구성하고, 상기 구성된 블록 클러스터 중 크기가 최대인 블록 클러스터에 포함된 블록들의 개수가 선정된 개수보다 많은 경우, 상기 크기가 최대인 블록 클러스터를 상기 고용량 화면으로 구분하고, 상기 구동화면에서 상기 고용량 화면으로 구분된 영역 이외의 영역을 상기 저용량 화면으로 구분할 수 있다.According to another embodiment of the present invention, the screen dividing unit 211 constructs a block cluster by clustering blocks determined to be the high-capacity screen blocks within a predetermined range within a driving screen of the application, Wherein when the number of blocks included in a block cluster having a maximum size is larger than a predetermined number, a block cluster having the largest size is divided into the high capacity screen, And the other area can be divided into the low capacity screen.

예컨대, 화면 구분부(211)는 상기 어플리케이션의 구동화면의 특정 프레임에서 상기 고용량 화면 블록으로 판별된 블록들을 이웃하는 4개의 블록까지로 클러스터링한 후 클러스터링된 블록 클러스트 중 가장 큰 클러스터에 포함된 블록의 개수가 선정된 개수보다 많은 경우, 해당 블록 클러스터를 상기 고용량 화면으로 구분할 수 있다.For example, the screen dividing unit 211 clusters the blocks determined as the high-capacity screen blocks in a specific frame of the application's driving screen to four neighboring blocks, and then blocks the blocks included in the largest cluster among the clustered block clusters If the number of blocks is larger than the predetermined number, the block cluster can be divided into the high capacity screen.

즉, 본 실시예에서 화면 구분부(211)는 상기 어플리케이션의 구동화면의 한 프레임을 상기 고용량 화면과 상기 저용량 화면으로 구분할 수 있다.That is, in this embodiment, the screen dividing unit 211 can divide one frame of the driving screen of the application into the high-capacity screen and the low-capacity screen.

이와 관련하여, 도 3의 도면부호 320에는 상기 구동화면의 한 프레임이 고용량 화면과 저용량 화면으로 구분된 예가 도시되어 있다.In this regard, reference numeral 320 in FIG. 3 shows an example in which one frame of the driving screen is divided into a high-capacity screen and a low-capacity screen.

도 3의 도면부호 320을 살펴보면, "RDP"로 명기된 부분은 화면 구분부(211)가 특정 프레임의 화면의 일부분을 저용량 화면으로 구분한 결과, 상기 저용량 화면으로 구분된 화면의 일부분의 데이터가 RDP(또는 VNC)를 기반으로 단말 장치(220)로 전송되는 경우를 의미하고, "Video Stream"으로 명기된 부분은 화면 구분부(211)가 상기 특정 프레임의 화면의 나머지 부분을 고용량 화면으로 구분한 결과, 상기 고용량 화면으로 구분된 화면의 나머지 부분의 데이터가 고효율 비디오 코덱으로 압축된 후 스트리밍 방식으로 단말 장치(220)에 전송되는 경우를 의미한다. Referring to reference numeral 320 in FIG. 3, in the portion indicated by "RDP ", the screen dividing unit 211 divides a portion of a screen of a specific frame into a low capacity screen, A video stream is transmitted to the terminal device 220 based on the RDP (or VNC), and the screen division unit 211 divides the remaining part of the screen of the specific frame into a high capacity screen As a result, the data of the remaining portion of the screen divided into the high-capacity screen is compressed by the high-efficiency video codec and then transmitted to the terminal device 220 in a streaming manner.

본 발명의 일실시예에 따르면, 화면 구분부(211)는 블록 클러스트 중 가장 큰 클러스터에 포함된 블록의 개수가 전체 블록 수의 일정 비율 이상인 경우, 해당 클러스터를 고용량 화면으로 구분할 수도 있다.According to an embodiment of the present invention, when the number of blocks included in the largest cluster among the block clusters is equal to or greater than a certain ratio of the total number of blocks, the screen dividing unit 211 may divide the clusters into high capacity screens.

도 4는 본 발명의 일실시예에 따른 어플리케이션 원격 제어 방법을 도시한 순서도이다.4 is a flowchart illustrating an application remote control method according to an embodiment of the present invention.

단계(S410)에서는 어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분한다.In step S410, when the application is activated, the application screen of the application is divided into a high-capacity screen and a low-capacity screen based on the amount of data.

단계(S420)에서는 상기 구동화면이 상기 저용량 화면으로 구분된 경우, 상기 저용량 화면에 대한 데이터를 단말 장치로 전송한다.In step S420, if the drive screen is divided into the low-capacity screen, data for the low-capacity screen is transmitted to the terminal device.

단계(S430)에서는 상기 구동화면이 상기 고용량 화면으로 구분된 경우, 상기 고용량 화면에 대한 데이터를 압축하고, 스트리밍 서버를 이용하여 상기 단말 장치로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송한다.In step S430, if the drive screen is divided into the high-capacity screen, the data for the high-capacity screen is compressed, and the compressed high-capacity screen data is transmitted in a streaming manner to the terminal device using the streaming server .

본 발명의 일실시예에 따르면, 상기 어플리케이션 원격 제어 방법은 단계(S430)이후에 상기 단말 장치로부터 상기 어플리케이션에 대한 제어명령을 수신하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, the application remote control method may further include receiving a control command for the application from the terminal device after step S430.

그리고 나서, 상기 어플리케이션 원격 제어 방법은 상기 수신된 제어명령을 기초로 상기 어플리케이션의 동작을 제어하는 단계를 더 포함할 수 있다.Then, the application remote control method may further include controlling an operation of the application based on the received control command.

본 발명의 일실시예에 따르면, 단계(S410)에서는 상기 어플리케이션의 구동화면을 선정된 크기의 복수의 블록들로 구분하는 단계를 포함할 수 있다.According to an embodiment of the present invention, the step S410 may include dividing the driving screen of the application into a plurality of blocks having a predetermined size.

그리고 나서, 단계(S410)에서는 상기 구분된 복수의 블록들 각각에 대해 화소 값에 대한 히스토그램을 연산하는 단계를 더 포함할 수 있다.Then, in operation S410, the histogram of pixel values may be calculated for each of the plurality of blocks.

또한, 단계(S410)에서는 상기 연산된 히스토그램을 참조하여 상기 복수의 블록들 각각에 대해 블록 내의 화소의 색수와 제1 임계치를 비교하는 단계를 더 포함할 수 있다.In addition, the step S410 may further include comparing the number of pixels of the block with the first threshold value for each of the plurality of blocks by referring to the calculated histogram.

그리고 나서, 단계(S410)에서는 상기 복수의 블록들 중 상기 색수가 상기 제1 임계치보다 큰 값을 갖는 적어도 하나의 블록에 대한 엔트로피를 연산하는 단계를 더 포함할 수 있다.Then, in step S410, calculating the entropy of at least one block in which the color number of the plurality of blocks has a value larger than the first threshold value.

또한, 단계(S410)에서는 상기 적어도 하나의 블록 각각에 대해 상기 연산된 엔트로피와 제2 임계치를 비교하는 단계를 더 포함할 수 있다.In addition, the step S410 may further include comparing the calculated entropy with the second threshold for each of the at least one block.

그리고 나서, 단계(S410)에서는 상기 적어도 하나의 블록 중 상기 엔트로피가 상기 제2 임계치보다 큰 값을 갖는 블록을 고용량 화면 블록으로 판별하는 단계를 더 포함할 수 있다.Then, in step S410, the step of determining the block having the entropy larger than the second threshold value among the at least one block may be determined as a high-capacity picture block.

이때, 본 발명의 일실시예에 따르면, 상기 고용량 화면 블록으로 판별하는 단계는 상기 복수의 블록들 중 상기 고용량 화면 블록으로 판별된 블록을 제외한 나머지 블록을 저용량 화면 블록으로 판별할 수 있다.According to an embodiment of the present invention, the step of discriminating the high-capacity screen blocks may discriminate the remaining blocks excluding the blocks determined as the high-capacity screen blocks among the plurality of blocks as low-capacity screen blocks.

또한, 본 발명의 일실시예에 따르면, 단계(S410)에서는 상기 어플리케이션의 구동화면 내에 상기 고용량 화면 블록으로 판별된 블록의 개수가 선정된 개수보다 많은 경우, 상기 구동화면을 상기 고용량 화면으로 구분하고, 상기 고용량 화면 블록으로 판별된 블록의 개수가 상기 선정된 개수보다 적은 경우, 상기 구동화면을 상기 저용량 화면으로 구분할 수 있다.According to an embodiment of the present invention, in step S410, when the number of blocks determined as the high-capacity screen block is greater than the predetermined number in the drive screen of the application, the drive screen is divided into the high-capacity screen , And if the number of blocks determined as the high-capacity screen block is smaller than the predetermined number, the drive screen can be divided into the low-capacity screen.

또한, 본 발명의 일실시예에 따르면, 단계(S410)에서는 상기 어플리케이션의 구동화면 내에서 상기 고용량 화면 블록으로 판별된 블록들을 선정된 범위 안에서 클러스터링하여 블록 클러스터를 구성하고, 상기 구성된 블록 클러스터 중 크기가 최대인 블록 클러스터에 포함된 블록들의 개수가 선정된 개수보다 많은 경우, 상기 크기가 최대인 블록 클러스터를 상기 고용량 화면으로 구분하고, 상기 구동화면에서 상기 고용량 화면으로 구분된 영역 이외의 영역을 상기 저용량 화면으로 구분할 수 있다.According to an embodiment of the present invention, in step S410, blocks determined as the high-capacity screen blocks within the driving screen of the application are clustered within a predetermined range to constitute a block cluster, Capacity screen, and when the number of blocks included in the block cluster having the largest size is larger than the predetermined number, the block cluster having the maximum size is divided into the high-capacity screen, Low-capacity screen.

이상, 도 4를 참조하여 본 발명의 일실시예에 따른 어플리케이션 원격 제어 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 어플리케이션 원격 제어 방법은 도 2 및 도 3을 이용하여 설명한 어플리케이션 원격 제어 장치(210)의 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The application remote control method according to the embodiment of the present invention has been described above with reference to FIG. Here, the application remote control method according to an embodiment of the present invention can correspond to the configuration of the application remote control device 210 described with reference to FIG. 2 and FIG. 3, and thus a detailed description thereof will be omitted.

본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Embodiments according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like, alone or in combination. The program instructions recorded on the medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware devices described above may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, the present invention has been described with reference to particular embodiments, such as specific elements, and specific embodiments and drawings. However, it should be understood that the present invention is not limited to the above- And various modifications and changes may be made thereto by those skilled in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Accordingly, the spirit of the present invention should not be construed as being limited to the embodiments described, and all of the equivalents or equivalents of the claims, as well as the following claims, belong to the scope of the present invention .

110: 어플리케이션 원격 제어 서버 120: 단말 장치
130: 스트리밍 서버
210: 어플리케이션 원격 제어 장치
211: 화면 구분부
241: 블록 구분부 242: 히스토그램 연산부
243: 제1 비교부 244: 엔트로피 연산부
245: 제2 비교부 246: 블록 판별부
212: 저용량 화면 전송부 213: 영상 압축부
214: 고용량 화면 전송부 215: 제어명령 수신부
216: 제어부
220: 단말 장치 230: 스트리밍 서버
110: Application remote control server 120: Terminal device
130: streaming server
210: Application remote control device
211:
241: Block division section 242: Histogram operation section
243: first comparing unit 244: entropy computing unit
245: second comparison unit 246: block determination unit
212: low capacity screen transmission unit 213: image compression unit
214: high capacity screen transmission unit 215: control command reception unit
216:
220: terminal device 230: streaming server

Claims (14)

어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분하고, 상기 저용량 화면에 대한 데이터를 단말 장치로 전송하며, 상기 고용량 화면에 대한 데이터를 압축한 후 스트리밍(streaming) 서버를 이용하여 상기 단말 장치로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송하고, 상기 단말 장치로부터 상기 어플리케이션의 동작과 연관된 제어명령을 수신하여 상기 수신된 제어명령을 기초로 상기 어플리케이션의 동작을 제어하는 어플리케이션 원격 제어 서버; 및
상기 어플리케이션 원격 제어 서버로부터 상기 고용량 화면에 대한 데이터 및 상기 저용량 화면에 대한 데이터를 수신하고, 상기 어플리케이션 원격 제어 서버로 상기 제어명령을 전송하는 상기 단말 장치
를 포함하는 어플리케이션 원격 제어 시스템.
When the application is driven, the driving screen of the application is divided into a high-capacity screen and a low-capacity screen based on the amount of data, and the data for the low-capacity screen is transmitted to the terminal device. stream screen of the compressed high-capacity screen to the terminal device in a streaming manner, receiving a control command associated with the operation of the application from the terminal device, and transmitting the compressed high- An application remote control server for controlling the operation of the application; And
Capacity screen and data on the low-capacity screen from the application remote control server and transmits the control command to the application remote control server,
And an application remote control system.
어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분하는 화면 구분부;
상기 저용량 화면에 대한 데이터를 단말 장치로 전송하는 저용량 화면 전송부;
상기 고용량 화면에 대한 데이터를 압축하는 영상 압축부; 및
스트리밍(streaming) 서버를 이용하여 상기 단말 장치로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송하는 고용량 화면 전송부
를 포함하는 어플리케이션 원격 제어 장치.
A screen division unit for dividing a driving screen of the application into a high capacity screen and a low capacity screen based on an amount of data when the application is driven;
A low capacity screen transmission unit for transmitting data on the low capacity screen to a terminal device;
An image compressing unit compressing data for the high capacity screen; And
A high capacity screen transmission unit for transmitting data on the compressed high capacity screen in a streaming manner to the terminal apparatus using a streaming server,
And an application remote control device.
제2항에 있어서,
상기 단말 장치로부터 상기 어플리케이션에 대한 제어명령을 수신하는 제어명령 수신부; 및
상기 수신된 제어명령을 기초로 상기 어플리케이션의 동작을 제어하는 제어부
를 더 포함하는 어플리케이션 원격 제어 장치.
3. The method of claim 2,
A control command receiver for receiving a control command for the application from the terminal device; And
A control unit for controlling the operation of the application based on the received control command,
And an application remote control device.
제2항에 있어서,
상기 화면 구분부는
상기 구동화면을 선정된(predetermined) 크기의 복수의 블록(block)들로 구분하는 블록 구분부;
상기 구분된 복수의 블록들 각각에 대해 화소(pixel) 값에 대한 히스토그램(histogram)을 연산하는 히스토그램 연산부;
상기 연산된 히스토그램을 참조하여 상기 복수의 블록들 각각에 대해 블록 내의 화소의 색수와 제1 임계치를 비교하는 제1 비교부;
상기 복수의 블록들 중 상기 색수가 상기 제1 임계치보다 큰 값을 갖는 적어도 하나의 블록에 대한 엔트로피(entropy)를 연산하는 엔트로피 연산부;
상기 적어도 하나의 블록 각각에 대해 상기 연산된 엔트로피와 제2 임계치를 비교하는 제2 비교부; 및
상기 적어도 하나의 블록 중 상기 엔트로피가 상기 제2 임계치보다 큰 값을 갖는 블록을 고용량 화면 블록으로 판별하는 블록 판별부
를 포함하는 어플리케이션 원격 제어 장치.
3. The method of claim 2,
The screen division unit
A block division unit for dividing the driving picture into a plurality of blocks of a predetermined size;
A histogram operation unit for calculating a histogram of a pixel value for each of the plurality of blocks;
A first comparing unit for comparing the number of colors of pixels in a block with a first threshold value for each of the plurality of blocks with reference to the calculated histogram;
An entropy operation unit for calculating an entropy of at least one block among the plurality of blocks, the color number of which is greater than the first threshold value;
A second comparison unit for comparing the calculated entropy with a second threshold value for each of the at least one block; And
A block discrimination unit for discriminating, as a high-capacity picture block, a block having the entropy of the at least one block larger than the second threshold value,
And an application remote control device.
제4항에 있어서,
상기 블록 판별부는
상기 복수의 블록들 중 상기 고용량 화면 블록으로 판별된 블록을 제외한 나머지 블록을 저용량 화면 블록으로 판별하는 어플리케이션 원격 제어 장치.
5. The method of claim 4,
The block discriminator
And determines the remaining blocks excluding the blocks determined as the high-capacity screen blocks among the plurality of blocks as the low-capacity screen blocks.
제4항에 있어서,
상기 화면 구분부는
상기 구동화면 내에 상기 고용량 화면 블록으로 판별된 블록의 개수가 선정된 개수보다 많은 경우, 상기 구동화면을 상기 고용량 화면으로 구분하고, 상기 고용량 화면 블록으로 판별된 블록의 개수가 상기 선정된 개수보다 적은 경우, 상기 구동화면을 상기 저용량 화면으로 구분하는 어플리케이션 원격 제어 장치.
5. The method of claim 4,
The screen division unit
Capacity screen, and when the number of blocks determined as the high-capacity screen block is larger than the predetermined number, the drive screen is divided into the high-capacity screen, and if the number of blocks determined as the high-capacity screen block is smaller than the predetermined number Capacity screen by dividing the driving screen into the low-capacity screen.
제4항에 있어서,
상기 화면 구분부는
상기 구동화면 내에서 상기 고용량 화면 블록으로 판별된 블록들을 선정된 범위 안에서 클러스터링하여 블록 클러스터를 구성하고, 상기 구성된 블록 클러스터 중 크기가 최대인 블록 클러스터에 포함된 블록들의 개수가 선정된 개수보다 많은 경우, 상기 크기가 최대인 블록 클러스터를 상기 고용량 화면으로 구분하고, 상기 구동화면에서 상기 고용량 화면으로 구분된 영역 이외의 영역을 상기 저용량 화면으로 구분하는 어플리케이션 원격 제어 장치.
5. The method of claim 4,
The screen division unit
Blocks in the driving screen are clustered within a predetermined range to form a block cluster, and when the number of blocks included in the block cluster having the largest size among the configured block clusters is larger than the predetermined number Capacity screen, and divides an area other than the area divided by the high-capacity screen into the low-capacity screen in the driving screen.
어플리케이션이 구동되면, 상기 어플리케이션의 구동화면을 데이터량을 기초로 고용량 화면과 저용량 화면으로 구분하는 단계;
상기 구동화면이 상기 저용량 화면으로 구분된 경우, 상기 저용량 화면에 대한 데이터를 단말 장치로 전송하는 단계; 및
상기 구동화면이 상기 고용량 화면으로 구분된 경우, 상기 고용량 화면에 대한 데이터를 압축하고, 스트리밍(streaming) 서버를 이용하여 상기 단말 장치로 상기 압축된 고용량 화면에 대한 데이터를 스트리밍 방식으로 전송하는 단계
를 포함하는 어플리케이션 원격 제어 방법.
Dividing a driving screen of the application into a high capacity screen and a low capacity screen based on a data amount when the application is driven;
If the drive screen is divided into the low capacity screen, transmitting data for the low capacity screen to the terminal device; And
Compressing data for the high capacity screen and transmitting the compressed high capacity screen data in a streaming manner to the terminal device using a streaming server when the driving screen is divided into the high capacity screen
The method comprising the steps of:
제8항에 있어서,
상기 단말 장치로부터 상기 어플리케이션에 대한 제어명령을 수신하는 단계; 및
상기 수신된 제어명령을 기초로 상기 어플리케이션의 동작을 제어하는 단계
를 더 포함하는 어플리케이션 원격 제어 방법.
9. The method of claim 8,
Receiving a control command for the application from the terminal device; And
Controlling the operation of the application based on the received control command
Further comprising the steps of:
제8항에 있어서,
상기 고용량 화면과 저용량 화면으로 구분하는 단계는
상기 구동화면을 선정된(predetermined) 크기의 복수의 블록(block)들로 구분하는 단계;
상기 구분된 복수의 블록들 각각에 대해 화소(pixel) 값에 대한 히스토그램(histogram)을 연산하는 단계;
상기 연산된 히스토그램을 참조하여 상기 복수의 블록들 각각에 대해 블록 내의 화소의 색수와 제1 임계치를 비교하는 단계;
상기 복수의 블록들 중 상기 색수가 상기 제1 임계치보다 큰 값을 갖는 적어도 하나의 블록에 대한 엔트로피(entropy)를 연산하는 단계;
상기 적어도 하나의 블록 각각에 대해 상기 연산된 엔트로피와 제2 임계치를 비교하는 단계; 및
상기 적어도 하나의 블록 중 상기 엔트로피가 상기 제2 임계치보다 큰 값을 갖는 블록을 고용량 화면 블록으로 판별하는 단계
를 포함하는 어플리케이션 원격 제어 방법.
9. The method of claim 8,
The step of dividing the high capacity screen into the low capacity screen
Dividing the drive screen into a plurality of blocks of a predetermined size;
Calculating a histogram of a pixel value for each of the plurality of blocks;
Comparing the number of pixels of the block with a first threshold value for each of the plurality of blocks with reference to the calculated histogram;
Calculating an entropy for at least one block among the plurality of blocks, the color number of which is greater than the first threshold;
Comparing the calculated entropy with a second threshold for each of the at least one block; And
Determining a block having the entropy larger than the second threshold among the at least one block as a high-capacity screen block
The method comprising the steps of:
제10항에 있어서,
상기 판별하는 단계는
상기 복수의 블록들 중 상기 고용량 화면 블록으로 판별된 블록을 제외한 나머지 블록을 저용량 화면 블록으로 판별하는 어플리케이션 원격 제어 방법.
11. The method of claim 10,
The determining step
And determining a remaining block excluding a block determined as the high-capacity screen block among the plurality of blocks as a low-capacity screen block.
제10항에 있어서,
상기 고용량 화면과 저용량 화면으로 구분하는 단계는
상기 구동화면 내에 상기 고용량 화면 블록으로 판별된 블록의 개수가 선정된 개수보다 많은 경우, 상기 구동화면을 상기 고용량 화면으로 구분하고, 상기 고용량 화면 블록으로 판별된 블록의 개수가 상기 선정된 개수보다 적은 경우, 상기 구동화면을 상기 저용량 화면으로 구분하는 어플리케이션 원격 제어 방법.
11. The method of claim 10,
The step of dividing the high capacity screen into the low capacity screen
Capacity screen, and when the number of blocks determined as the high-capacity screen block is larger than the predetermined number, the drive screen is divided into the high-capacity screen, and if the number of blocks determined as the high-capacity screen block is smaller than the predetermined number Capacity screen by dividing the driving screen into the low-capacity screen.
제10항에 있어서,
상기 고용량 화면과 저용량 화면으로 구분하는 단계는
상기 구동화면 내에서 상기 고용량 화면 블록으로 판별된 블록들을 선정된 범위 안에서 클러스터링하여 블록 클러스터를 구성하고, 상기 구성된 블록 클러스터 중 크기가 최대인 블록 클러스터에 포함된 블록들의 개수가 선정된 개수보다 많은 경우, 상기 크기가 최대인 블록 클러스터를 상기 고용량 화면으로 구분하고, 상기 구동화면에서 상기 고용량 화면으로 구분된 영역 이외의 영역을 상기 저용량 화면으로 구분하는 어플리케이션 원격 제어 방법.
11. The method of claim 10,
The step of dividing the high capacity screen into the low capacity screen
Blocks in the driving screen are clustered within a predetermined range to form a block cluster, and when the number of blocks included in the block cluster having the largest size among the configured block clusters is larger than the predetermined number And dividing the block cluster having the maximum size into the high capacity screen and the area other than the high capacity screen divided into the low capacity screen on the driving screen.
제8항 내지 제13항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a program for performing the method of any one of claims 8 to 13.
KR1020100071542A 2010-07-23 2010-07-23 Application remote control system, application remote control apparatus and method KR101520414B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100071542A KR101520414B1 (en) 2010-07-23 2010-07-23 Application remote control system, application remote control apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100071542A KR101520414B1 (en) 2010-07-23 2010-07-23 Application remote control system, application remote control apparatus and method

Publications (2)

Publication Number Publication Date
KR20120010031A true KR20120010031A (en) 2012-02-02
KR101520414B1 KR101520414B1 (en) 2015-05-14

Family

ID=45834720

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100071542A KR101520414B1 (en) 2010-07-23 2010-07-23 Application remote control system, application remote control apparatus and method

Country Status (1)

Country Link
KR (1) KR101520414B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190069748A (en) 2017-12-12 2019-06-20 왕한호 Applications blocking system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100731789B1 (en) 2005-03-02 2007-06-25 (주)디비웨이 System and its method for betting on leisure sports using IP multicasting

Also Published As

Publication number Publication date
KR101520414B1 (en) 2015-05-14

Similar Documents

Publication Publication Date Title
KR101335247B1 (en) Displaying method of remote sink device, source device and system for the same
WO2019001006A1 (en) Method and device for encoding and decoding image data
CN105556979A (en) Streaming Media
CN105700821B (en) Semiconductor device and compression/decompression method thereof
US20110196916A1 (en) Client terminal, server, cloud computing system, and cloud computing method
US20170034551A1 (en) Dynamic screen replication and real-time display rendering based on media-application characteristics
JP5870145B2 (en) Color buffer compression
CN103873886A (en) Image information processing method, device and system
US20160029027A1 (en) Device and method for processing image
US20170168796A1 (en) Method and electronic apparatus for transferring application program from pc to mobile apparatus
US20130294498A1 (en) Video encoding system, method and computer readable medium thereof
KR101520414B1 (en) Application remote control system, application remote control apparatus and method
KR102247886B1 (en) System for cloud streaming service, method of cloud streaming service based on type of image and apparatus for the same
US10656958B2 (en) Method and apparatus for controlling virtual switching
CN106575423B (en) Broadcast link service based on cloud streaming media, broadcast link service client device, and trigger content providing server
CN107211018A (en) Adjust the credit rating of media fluidisation
US20100228933A1 (en) Automatic selection of storage volumes in a data storage system
KR101512353B1 (en) Method for providing cloud streaming service, service control apparatus and system therefor
KR20160093929A (en) System for cloud streaming service, method of image cloud streaming service using simultaneous encoding and apparatus for the same
KR20160091622A (en) System for cloud streaming service, method of image cloud streaming service using division of the change area and apparatus for the same
KR102247887B1 (en) System for cloud streaming service, method of cloud streaming service using source information and apparatus for the same
KR102313530B1 (en) System for cloud streaming service, method of image cloud streaming service using split screen and apparatus for the same
KR20160094746A (en) System for cloud streaming service, method of image cloud streaming service using additional encoding and apparatus for the same
CN111158513B (en) Information processing method, electronic device and information processing device
KR102425277B1 (en) Method of providing test screen for self verification of error on cloud streaming server and apparatus for the same

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 5