KR20140061220A - A method and an apparatus of providing screen data - Google Patents

A method and an apparatus of providing screen data Download PDF

Info

Publication number
KR20140061220A
KR20140061220A KR1020130087607A KR20130087607A KR20140061220A KR 20140061220 A KR20140061220 A KR 20140061220A KR 1020130087607 A KR1020130087607 A KR 1020130087607A KR 20130087607 A KR20130087607 A KR 20130087607A KR 20140061220 A KR20140061220 A KR 20140061220A
Authority
KR
South Korea
Prior art keywords
screen data
encoding
content
cloud server
attribute
Prior art date
Application number
KR1020130087607A
Other languages
Korean (ko)
Other versions
KR102130811B1 (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 US14/077,440 priority Critical patent/US9066071B2/en
Publication of KR20140061220A publication Critical patent/KR20140061220A/en
Application granted granted Critical
Publication of KR102130811B1 publication Critical patent/KR102130811B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to that of a cloud server providing screen data to a client and the client displaying it. The cloud server performs encoding to the screen data in an encoding method independently from the said encoding according to the attributes of each content composing the screen data. The client displays the screen data by decoding it based on the encoding method in the cloud server. Encoding is performed based on the attributes of each content composing the screen data so that screen data can be efficiently performed compared to using only one encoding method.

Description

스크린 데이터 제공 방법 및 장치 {A method and an apparatus of providing screen data}[0001] The present invention relates to a method and apparatus for providing screen data,

본 발명은 스크린 데이터 제공 방법에 관한 것으로, 더 상세하게는 VDI(Virtual Desktop Infrastructure) 환경에서 클라우드 서버가 스크린 데이터를 클라이언트에 제공하는 방법 및 장치에 관한 것이다.The present invention relates to a screen data providing method, and more particularly, to a method and apparatus for a cloud server to provide screen data to a client in a VDI (Virtual Desktop Infrastructure) environment.

VDI(Virtual Desktop Infrastructure)는 애플리케이션, CPU, 메모리 등 PC업무에 필요한 자원의 일부 또는 전부가 서버에 위치하는 것을 의미할 수 있다. 최근 VDI(Virtual Desktop Infrastructure) 는 데스크탑의 가상화를 가능하게 하기 위해 사용된다. 그리고 데스크탑의 가상화의 과정에서 스크린 데이터의 전송이 이루어지는 경우가 있다. 이 경우 스크린 데이터는 인코딩 과정을 거쳐 전송되는 것이 일반적이다. 그러나 스크린 데이터의 크기가 점차 증가함에 따라 인코딩 과정을 거침에도 불구하고 스크린 데이터를 전송하기 위해 요구되는 전송 비용이 증가하게 되었다. 또한, 전송되는 스크린 데이터는 각각 다른 속성을 가진 여러 컨텐츠로 구성된 경우가 일반적이다. 그러나 종래 방식은 미리 정해진 방식만으로 스크린 데이터를 처리하기 때문에 그 정확도나 전송 비용에 있어서 비효율적이었다.Virtual Desktop Infrastructure (VDI) can mean that some or all of the resources required for PC tasks such as applications, CPUs, and memory are located on the server. Recently, Virtual Desktop Infrastructure (VDI) is used to enable desktop virtualization. In some cases, the screen data is transferred during the process of virtualization of the desktop. In this case, the screen data is generally transmitted through an encoding process. However, as the size of the screen data gradually increases, the transmission cost required to transmit the screen data increases despite the encoding process. Also, it is general that the transmitted screen data is composed of various contents having different properties. However, the conventional method is inefficient in terms of accuracy and transmission cost because the screen data is processed only in a predetermined manner.

본 발명의 적어도 하나의 실시 예가 이루고자 하는 기술적 과제는 스크린 데이터를 전송함에 있어서, 전송 비용을 줄이고, 정확성을 높이기 위한 효율적인 방법 및 장치를 제공하는 데 있다.SUMMARY OF THE INVENTION It is an object of at least one embodiment of the present invention to provide an efficient method and apparatus for transmitting screen data and reducing transmission cost and accuracy.

상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은, 클라우드 서버가 스크린 데이터를 클라이언트에 제공하는 방법에 있어서, 클라이언트에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하는 단계; 상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 인코딩하는 단계; 및 상기 인코딩된 스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 상기 클라이언트에 송신하는 단계를 포함한다.According to a first aspect of the present invention, there is provided a method of providing screen data to a client by a cloud server, the method comprising: determining an attribute of content constituting screen data to be displayed on a client ; Encoding the screen data according to the attribute of the determined content; And transmitting the encoded screen data and attribute information of contents constituting the screen data to the client.

상기 인코딩하는 단계는 상기 컨텐츠 속성의 판단 결과 텍스트가 많을수록 미리 정해진 복수의 인코딩 방법들 중에서 인코딩의 속도 증가보다 인코딩으로 인한 데이터 손실의 감소에 더 우선 순위를 두고 인코딩 방법을 결정하는 것이 바람직하다.Preferably, in the encoding step, the more the text of the content attribute is determined, the higher the priority is given to the reduction of the data loss due to the encoding than the increase in the encoding speed among the plurality of predetermined encoding methods.

상기 컨텐츠의 속성을 판단하는 단계는 API Hooking 방식 또는 Proprietary Image Processing 방식을 이용하여 상기 컨텐츠의 속성을 판단하는 것이 바람직하다.Preferably, the step of determining the attribute of the content determines an attribute of the content using an API hooking method or a proprietary image processing method.

상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 단계를 더 포함하고, 상기 인코딩하는 단계는 상기 그룹별로 독립적으로 결정된 인코딩 방식에 따라 인코딩을 수행 하는 것이 바람직하다.And classifying the screen data into one or more groups according to the attribute of the determined content, wherein the encoding step performs encoding according to an encoding method independently determined for each group.

상기 하나 이상의 그룹으로 분류하는 단계는 상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 해당 컨텐츠의 추출을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 것이 바람직하다.The grouping into the at least one group may include classifying the screen data into at least one group by extracting corresponding contents based on the attributes of the contents constituting the screen data.

상기 하나 이상의 그룹으로 분류하는 단계는 상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 영역 분할을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 것이 바람직하다.The grouping into the at least one group may divide the screen data into one or more groups through region division based on the attributes of the contents constituting the screen data.

상기 인코딩하는 단계는 상기 영역 분할을 통해 분류된 하나의 그룹 내에 복수개의 컨텐츠 속성이 존재하는 경우, 상기 그룹 내에 존재하는 컨텐츠의 속성의 비율에 기초하여 상기 그룹의 인코딩 방법을 결정하는 것이 바람직하다.The encoding step may determine the encoding method of the group based on the ratio of the attributes of the content existing in the group when a plurality of content attributes exist in one group classified through the region segmentation.

또한, 본 발명의 제 2 측면은, 클라이언트가 스크린 데이터를 디스플레이하는 방법에 있어서, 스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 클라우드 서버로부터 수신하는 단계; 상기 수신된 속성 정보에 기초하여 상기 스크린 데이터를 디코딩하는 단계; 및 상기 디코딩된 스크린 데이터를 디스플레이하는 단계를 포함한다.According to a second aspect of the present invention, there is provided a method of displaying screen data by a client, the method comprising: receiving screen data and attribute information of contents constituting the screen data from a cloud server; Decoding the screen data based on the received attribute information; And displaying the decoded screen data.

상기 디코딩하는 단계는 상기 수신한 컨텐츠의 속성 정보에 기초하여 텍스트가 많을수록 미리 정해진 복수의 디코딩 방법들 중에서 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실의 감소에 더 우선순위를 두고 디코딩 방법을 결정하는 것이 바람직하다.Wherein the decoding step decides a decoding method with a higher priority to a reduction in data loss due to decoding than an increase in decoding speed among a plurality of predetermined decoding methods as the number of text increases as a result of the attribute information of the received content desirable.

본 발명의 하나 혹은 하나 이상의 실시 예 및 그 실시 예의 이점들은, 첨부 도면들과 함께 다음의 상세한 설명을 참조하여 가장 잘 이해될 수 있다.
도 1은 본 발명의 일 실시 예에 따라 클라우드 서버와 클라이언트가 인터넷을 매개로 하여 연결되는 일례를 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따라 클라우드 서버와 클라이언트가 인터넷을 매개로 하여 연결되어 데이터를 주고받는 일례를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따라 클라우드 서버가 스크린 데이터를 클라이언트에 제공하는 방법의 흐름도이다.
도 4는 본 발명의 일 실시 예에 따라 클라우드 서버가 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하여 인코딩 방법을 결정하여 인코딩을 수행하는 방법의 흐름도이다.
도 5는 본 발명의 일 실시 예에 따라 클라우드 서버가 스크린 데이터를 하나 이상의 그룹으로 분류하여 인코딩을 수행하는 방법의 흐름도이다.
도 6은 본 발명의 일 실시 예에 따라 클라이언트가 스크린 데이터를 디스플레이하는 방법의 흐름도이다.
도 7은 본 발명의 일 실시 예에 따라 클라이언트가 수신한 속성 정보에 기초하여 디코딩 방법을 결정하여 스크린 데이터를 디스플레이하는 방법의 흐름도이다.
도 8은 본 발명의 일 실시 예에 따라 스크린 데이터에서 일부 컨텐츠의 추출이 이루어지는 일례를 도시한 도면이다.
도 9는 본 발명의 일 실시 예에 따라 스크린 데이터의 영역 분할이 이루어지는 일례를 도시한 도면이다.
도 10은 본 발명의 일 실시 예에 따라 스크린 데이터의 영역 분할이 중복 없이 이루어지는 일례를 도시한 도면이다.
도 11은 본 발명의 일 실시 예에 따라 클라우드 서버를 도시한 블록도이다.
도 12는 본 발명의 일 실시 예에 따라 클라이언트를 도시한 블록도이다.
BRIEF DESCRIPTION OF THE DRAWINGS One or more embodiments of the present invention and the advantages thereof will be best understood by referring to the following detailed description, taken in conjunction with the accompanying drawings, in which: FIG.
1 is a diagram illustrating an example in which a cloud server and a client are connected via the Internet according to an embodiment of the present invention.
2 is a diagram illustrating an example in which a cloud server and a client are connected and exchanged through the Internet according to an embodiment of the present invention.
3 is a flow diagram of a method by which a cloud server provides screen data to a client in accordance with an embodiment of the present invention.
4 is a flowchart illustrating a method of determining an attribute of content constituting screen data and determining an encoding method and performing encoding according to an exemplary embodiment of the present invention.
FIG. 5 is a flowchart of a method for a cloud server to classify screen data into one or more groups and perform encoding according to an embodiment of the present invention.
6 is a flow diagram of a method by which a client displays screen data in accordance with an embodiment of the present invention.
FIG. 7 is a flowchart illustrating a method of displaying screen data by determining a decoding method based on attribute information received by a client according to an exemplary embodiment of the present invention.
8 is a diagram illustrating an example of extracting some contents from screen data according to an embodiment of the present invention.
9 is a diagram illustrating an example of area division of screen data according to an embodiment of the present invention.
10 is a diagram illustrating an example in which area division of screen data is performed without duplication according to an embodiment of the present invention.
11 is a block diagram illustrating a cloud server according to an embodiment of the present invention.
12 is a block diagram illustrating a client in accordance with an embodiment of the present invention.

이하의 설명은 하나 혹은 그 이상의 실시 예의 일반적 원리를 설명하며, 여기에 청구된 본 발명의 개념을 한정하지 않는다. 게다가 여기에 기재된 특정의 특징들은 여러 가지 가능한 조합과 치환에서 다른 기재된 특징과 결합하여 사용될 수 있다. 그렇지 않고 여기에 구체적으로 정의되어 있지 않으면, 모든 용어는 종래 기술 또는 사전, 논문에서 정의된 대로 통상의 기술자에 의해 이해되는 의미뿐만 아니라 명세서로부터 암시된 의미를 포함하는 가장 넓은 가능한 해석이 부여될 수 있다. The following description illustrates the general principles of one or more embodiments and does not limit the inventive concept of the invention as claimed herein. In addition, the specific features described herein may be used in combination with other described features in various possible combinations and permutations. On the contrary, unless otherwise defined, all terms are to be accorded the widest possible interpretation, including meanings understood by ordinary artisans as defined in the prior art or in the literature, have.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

또한, 본 명세서에서, 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다.Also, in this specification, the terms first, second, etc. may be used to describe various elements, but the elements are not limited by terms. Terms may be used for the purpose of distinguishing one component from another.

또한, 본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. Furthermore, the singular forms "a", "an," and "the" include plural referents unless the context clearly dictates otherwise.

이하, 본 발명의 실시 예들을 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략할 수 있다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. have.

이하의 설명에서 본 발명에 대한 이해를 명확히 하기 위하여, 본 발명의 특징에 대한 공지의 기술에 대한 설명은 생략하기로 한다. 이하의 실시 예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것은 아니다. 따라서, 본 발명과 동일한 기능을 수행하는 균등한 발명 역시 본 발명의 권리 범위에 속할 것이다. 이하의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다.DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings. The following examples are intended to further illustrate the present invention and are not intended to limit the scope of the present invention. Accordingly, equivalent inventions performing the same functions as the present invention are also within the scope of the present invention. In the following description, the same reference numerals denote the same components, and unnecessary redundant explanations and descriptions of known technologies will be omitted.

또한, 본 발명의 실시 예에서 "통신", "통신망" 및 "네트워크"는 동일한 의미로 사용될 수 있다. 상기 세 용어들은, 파일을 유저 단말, 다른 유저들의 단말 및 다운로드 서버 사이에서 송수신할 수 있는 유무선의 근거리 및 광역 데이터 송수신망을 의미할 수 있다.Further, in the embodiment of the present invention, "communication "," communication network ", and "network" The three terms may mean wired and wireless local area and wide area data transmission and reception networks capable of transmitting and receiving a file between a user terminal, a terminal of another user, and a download server.

또한, 본 발명에서 VDI(Virtual Desktop Infrastructure)는 애플리케이션, CPU, 메모리 등 PC업무에 필요한 자원의 일부 또는 전부가 서버에 위치하는 것을 의미할 수 있다.Also, in the present invention, the VDI (Virtual Desktop Infrastructure) may mean that some or all of the resources required for PC tasks such as application, CPU, memory, etc. are located in the server.

또한, 본 발명에서 클라우드란 네트워크상에 숨겨진 인프라구조를 의미할 수 있다. Also, in the present invention, a cloud may mean an infrastructure hidden on a network.

또한, 본 발명에서 서버란 클라우드 서버(140)를 의미할 수 있다. 클라우드 서버란 클라우드 컴퓨팅을 담당하는 서버일 수 있다.In the present invention, a server may mean a cloud server 140. A cloud server can be a server in charge of cloud computing.

또한, 클라이언트(110 내지 130)는 스마트폰, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, GPS(global positioning system) 장치, 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않으며, 디스플레이 화면을 제공하는 모든 기기를 포함할 수 있다.Clients 110-130 may also be, but are not limited to, smartphones, cellular phones, personal digital assistants (PDAs), laptops, media players, global positioning system , And any device that provides a display screen.

클라우드 네트워크의 예로 LAN, WAN, wireless network를 들 수 있다. 다만, 본 예로 제한되지 않는다.Examples of cloud networks are LAN, WAN, and wireless networks. However, the present invention is not limited to this example.

또한, 본 명세서에서 컴퓨터로 읽을 수 있는 기록매체는 장치가 특정한 기능을 수행하도록 하는 데이터를 제공하는데 참여하는 어떤 매체로 볼 수 있다. 서버 장치(1100)가 구현되는 일 실시 예에서 다양한 읽을 수 있는 기록매체가 사용될 수 있다. 읽을 수 있는 기록매체는 휘발성 또는 비휘발성 매체를 포함한다. 기록 매체의 예로 플로피 디스크, 자기 테이프, 하드 디스크, 다른 종류의 자기 매체, CD-ROM, 광학 저장장치, PROM, EPROM, 메모리칩 등을 포함할 수 있다. 기록 매체는 매체에 의해 전송된 명령이 물리적 방법에 의해 검색될 수 있도록 유형의 것일 수 있다.In addition, the computer readable recording medium herein may be viewed as any medium that participates in providing data that allows a device to perform a particular function. A variety of readable recording media may be used in one embodiment in which the server device 1100 is implemented. Readable recording media include volatile or nonvolatile media. Examples of the recording medium may include a floppy disk, a magnetic tape, a hard disk, another type of magnetic medium, a CD-ROM, an optical storage device, a PROM, an EPROM, a memory chip and the like. The recording medium may be of a type such that the command transmitted by the medium can be retrieved by a physical method.

또 다른 실시 예로, 컴퓨터로 읽을 수 있는 기록매체는 버스(1150)를 포함하는 전송 매체가 될 수 있다. 전송 매체는 동축 케이블, 구리선, 광섬유 등을 포함할 수 있다. 전송 매체는 전파나 적외선 통신 등을 포함하는 통신에 사용되는 매체일 수 있다.In yet another embodiment, the computer readable recording medium may be a transmission medium including a bus 1150. [ The transmission medium may include coaxial cable, copper wire, optical fiber, and the like. The transmission medium may be a medium used for communication including radio wave or infrared communication.

이하, 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따라 클라우드 서버(140)와 클라이언트(110 내지 130)가 인터넷(150)을 매개로 하여 연결되는 일례를 도시한 도면이다.1 is a diagram illustrating an example in which a cloud server 140 and clients 110 to 130 are connected via the Internet 150 according to an embodiment of the present invention.

하나의 클라우드 서버(140)는 인터넷(150)을 통해 하나 이상의 클라이언트(110 내지 130)와 연결될 수 있다. 클라우드 서버(140)는 클라우드 컴퓨팅을 담당하는 서버일 수 있다. 클라우드 컴퓨팅이란 인터넷상의 서버를 통하여 데이터 저장, 네트워크, 컨텐츠 사용 등 IT관련 서비스를 한번에 사용할 수 있는 컴퓨팅 환경일 수 있다.A single cloud server 140 may be connected to one or more clients 110 through 130 via the Internet 150. [ The cloud server 140 may be a server responsible for cloud computing. Cloud computing can be a computing environment that can use IT related services such as data storage, network, and content usage through a server on the Internet at once.

컴퓨팅 환경은 복수개의 클라이언트(110 내지 130)를 포함할 수 있다. 예를 들면 컴퓨팅 환경을 구성하는 클라이언트로 클라이언트 1(110), 클라이언트 2(120), 클라이언트 3(130)이 있을 수 있다. 또한, 컴퓨팅 환경은 클라이언트(110 내지 130)와 네트워크상으로 연결되는 클라우드 서버(140)를 포함할 수 있다. The computing environment may include a plurality of clients 110-130. For example, the client 1 110, the client 2 120, and the client 3 130 may be the clients constituting the computing environment. In addition, the computing environment may include a cloud server 140 connected to the clients 110 to 130 over a network.

클라이언트(110 내지 130)는 인터넷(150)을 통해 클라우드 서버와(140)와 연결될 수 있다. 또한, 클라이언트는 인터넷(150)을 통해 클라우드 서버에서 제공되는 스크린 데이터에 접근할 수 있다. 인터넷(150)은 클라우드 네트워크일 수 있다.The clients 110 to 130 may be connected to the cloud server 140 via the Internet 150. In addition, the client can access the screen data provided from the cloud server via the Internet 150. [ The Internet 150 may be a cloud network.

클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터의 분석 방식을 선택할 수 있다. 즉 여러가지 스크린 데이터를 분석하는 방법 중 하나의 방법을 클라이언트(110 내지 130)가 선택할 수 있다. 또는 여러가지 스크린 데이터를 분석하는 방법 중 하나의 방법을 사용자의 선택에 기초하여 클라이언트(110 내지 130)가 선택할 수 있다. 예를 들면 스크린 데이터 분석 방식은 윈도우에 기반을 둔 분석(windows based analysis) 또는 이미지 처리에 근거한 분석(image processing based analysis)이 있을 수 있다.The cloud server 140 or the clients 110 to 130 may select a method of analyzing screen data. That is, the client 110-130 can select one method of analyzing various screen data. Or a method of analyzing various screen data can be selected by the client 110-130 based on the user's selection. For example, the screen data analysis method may be a window based analysis or an image processing based analysis.

또한, 윈도우에 기반을 둔 분석 방식이 선택된 경우 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 시간적으로 효율적인 방식으로 스크린 데이터를 분석할 수 있다. In addition, when the window-based analysis method is selected, the cloud server 140 or the clients 110 to 130 can analyze the screen data in a time-efficient manner.

또한, 위도우에 기반을 둔 분석 방식이 선택된 경우 사용자는 GDI 콜(Graphics Device Interface calls)에 기반을 둔 스크린 데이터에 접근할 수 있다. 또한, 윈도우에 기반을 둔 분석 방식은 시간 효율적인 방식으로 스크린 데이터를 분석할 수 있다.In addition, if the widow-based analysis method is selected, the user can access screen data based on GDI call (Graphics Device Interface calls). In addition, a window-based analysis method can analyze screen data in a time-efficient manner.

또한, 이미지 처리에 근거한 분석 방식이 선택된 경우 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터와 관련된 복수개의 컨텐츠 속성을 분석할 수 있다.In addition, when an analysis method based on image processing is selected, the cloud server 140 or the clients 110 to 130 can analyze a plurality of content attributes related to screen data.

또한, 이미지 처리에 근거한 분석 방식이 선택된 경우 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터를 캡쳐하여 처리하는 방식으로 스크린 데이터를 처리할 수 있다. In addition, when an analysis method based on image processing is selected, the cloud server 140 or the clients 110 to 130 can process the screen data by capturing and processing the screen data.

클라우드 서버(140)는 스크린 데이터를 캡쳐할 수 있고, 캡쳐된 스크린 데이터를 저장할 수 있으며, 캡쳐된 스크린 데이터를 분석할 수 있다.The cloud server 140 can capture screen data, store the captured screen data, and analyze the captured screen data.

또한, 스크린 데이터 분석은 클라이언트(110 내지 130)에서뿐만 아니라 클라우드 서버(140)에서 이루어질 수 있다. In addition, the screen data analysis may be performed in the cloud server 140 as well as in the clients 110 to 130. [

스크린 데이터와 관련하여 컨텐츠나 데이터의 속성이 검색(retrieve)될 수 있다. 검색은 컨텐츠나 데이터의 속성을 감지(detedct)하는 것을 포함할 수 있다. 또한, 검색을 통해 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터를 구성하는 컨텐츠로부터 데이터 속성을 분리할 수 있다. The attributes of the content or data can be retrieved in association with the screen data. The search may include detedcting the attributes of the content or data. In addition, through the search, the cloud server 140 or the clients 110 to 130 can separate data attributes from the contents constituting the screen data.

스크린 데이터를 클라이언트(110 내지 130)에 표시하기 위해서는 스크린 데이터를 구성하고 있는 복수개의 데이터나 컨텐츠 속성과 관련하여 디코딩하는 단계가 필요할 수 있다.In order to display the screen data on the clients 110 to 130, it may be necessary to decode the plurality of data and the content attributes constituting the screen data.

스크린 데이터 분석 방식의 선택이 가능하므로 스크린 데이터의 처리에 요구되는 정확도 및 처리 시간을 고려하여 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터를 가장 효율적인 방식으로 분석할 수 있다.The screen data analysis method can be selected so that the cloud server 140 or the clients 110 to 130 can analyze the screen data in the most efficient manner in consideration of the accuracy and processing time required for processing the screen data.

도 2는 본 발명의 일 실시 예에 따라 클라우드 서버(140)와 클라이언트(110 내지 130)가 인터넷(150)을 매개로 하여 연결되어 데이터를 주고받는 일례를 도시한 도면이다. 또한, 클라우드 서버(140)와 클라이언트(110 내지 130)의 구성의 일례를 블록도를 이용하여 도시하였다.2 is a diagram illustrating an example of a cloud server 140 and clients 110 to 130 connected and exchanging data via the Internet 150 according to an embodiment of the present invention. An example of the configuration of the cloud server 140 and the clients 110 to 130 is shown using a block diagram.

클라우드 서버(140)는 컨텐츠의 속성과 관련된 데이터를 네트워크를 통해서 클라이언트(110 내지 130)에 송신할 수 있다. 컨텐츠 속성의 예로 비디오, 이미지, 그래픽, 텍스트를 들 수 있다. 또한, 클라우드 서버(140)는 인코딩된 스크린 데이터를 인터넷(150)을 통해 클라이언트(110 내지 130)에 송신할 수 있다. 클라우드 서버(140)는 스크린 데이터를 인코딩할 수 있다. The cloud server 140 may transmit data related to the attribute of the content to the clients 110 to 130 through the network. Examples of content attributes are video, images, graphics, and text. In addition, the cloud server 140 may transmit the encoded screen data to the clients 110 to 130 via the Internet 150. The cloud server 140 may encode the screen data.

또한, 클라우드 서버(140)는 인코딩된 스크린 데이터를 인터넷(150)을 통해서 클라이언트(110 내지 130)에 송신할 수 있다.In addition, the cloud server 140 may transmit the encoded screen data to the clients 110 to 130 via the Internet 150. [

또한, 클라이언트(110 내지 130)는 인터넷(150)을 통해서 스크린 데이터를 수신할 수 있다.In addition, the clients 110 to 130 can receive screen data through the Internet 150. [

보다 구체적인 클라우드 서버(140)와 클라이언트(110 내지 130)의 동작은 후술한다.The operation of the more specific cloud server 140 and clients 110 to 130 will be described later.

도 3은 본 발명의 일 실시 예에 따라 클라우드 서버(140)가 스크린 데이터를 클라이언트(110 내지 130)에 제공하는 방법의 흐름도이다.3 is a flow diagram of a method by which a cloud server 140 provides screen data to clients 110-130 in accordance with an embodiment of the present invention.

단계 S310에서 클라우드 서버(140)는 클라이언트(110 내지 130)에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단할 수 있다. 클라우드 서버(140)는 스크린 데이터를 구성하는 컨텐츠가 비디오 정보인지, 이미지 정보인지, 그래픽 정보인지, 텍스트 정보인지, 기타 다른 정보인지 판단할 수 있다.In step S310, the cloud server 140 can determine the attributes of the contents constituting the screen data to be displayed on the clients 110 to 130. [ The cloud server 140 may determine whether the contents constituting the screen data are video information, image information, graphic information, text information, or other information.

단계 S320에서 클라우드 서버(140)는 단계 S310에서 판단된 컨텐츠의 속성에 따라 스크린 데이터를 인코딩할 수 있다. 클라우드 서버(140)는 판단된 컨텐츠의 속성에 기초하여 복수개의 인코딩 방법 중 하나의 인코딩 방법을 선택할 수 있다. 보다 구체적인 인코딩 방법의 선택 방식은 도 4 및 도 5에서 후술한다.In step S320, the cloud server 140 may encode the screen data according to the attribute of the content determined in step S310. The cloud server 140 may select one of a plurality of encoding methods based on the attribute of the determined content. The selection method of the more specific encoding method will be described later with reference to FIG. 4 and FIG.

단계 S330에서 클라우드 서버(140)는 단계 S320에서 인코딩된 스크린 데이터를 클라이언트(110 내지 130)에 송신할 수 있다. 데이터의 송신은 인터넷(150)을 통해 이루어질 수 있다.In step S330, the cloud server 140 may transmit the encoded screen data to the clients 110-130 in step S320. The transmission of the data may be performed via the Internet 150.

도 4는 본 발명의 일 실시 예에 따라 클라우드 서버(140)가 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하여 인코딩 방법을 결정하여 인코딩을 수행하는 방법의 흐름도이다. FIG. 4 is a flowchart illustrating a method of determining an attribute of a content constituting screen data by the cloud server 140 and determining an encoding method to perform encoding according to an embodiment of the present invention.

단계 S410에서 클라우드 서버(140)는 하나 이상의 인코딩 방법을 미리 정해둘 수 있다. 보다 구체적으로, 스크린 데이터를 구성하는 컨텐츠가 비디오 정보인지, 이미지 정보인지, 그래픽 정보인지, 텍스트 정보인지, 기타 다른 정보인지에 따라 최적화된 방식의 인코딩 방법을 클라우드 서버(140)가 미리 정할 수 있다. 또한, 스크린 데이터를 구성하는 컨텐츠가 비디오 정보, 이미지 정보, 그래픽 정보, 텍스트 정보, 기타 다른 정보가 차지하는 비중에 따라 최적화된 방식의 인코딩 방법을 클라우드 서버(140)가 미리 정할 수 있다.In step S410, the cloud server 140 may determine one or more encoding methods in advance. More specifically, the cloud server 140 can determine in advance an encoding method that is optimized according to whether the contents constituting the screen data are video information, image information, graphic information, text information, or other information . In addition, the cloud server 140 can determine an encoding method optimized in accordance with the weight of the content of the screen data occupied by the video information, the image information, the graphic information, the text information, and other information.

단계 S420에서 클라우드 서버(140)는 클라이언트(110 내지 130)에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단할 수 있다. 본 단계에서 클라우드 서버(140)는 스크린 데이터 전체를 구성하는 컨텐츠의 속성에는 무엇이 있는지, 각 속성의 비율이 어떻게 되는지 판단할 수 있다. 보다 구체적으로 컨텐츠의 속성은 비디오, 이미지, 그래픽, 텍스트, 기타 다른 속성 일 수 있다.In step S420, the cloud server 140 may determine the attributes of the contents constituting the screen data to be displayed on the clients 110 to 130. [ In this step, the cloud server 140 can determine what attributes of the contents constituting the entire screen data are, and what proportion of each attribute is. More specifically, the attributes of the content may be video, image, graphic, text, or other attributes.

또한, 컨텐츠의 속성을 판단할 때에는 API Hooking 방식 또는 Proprietary Image Processing 방식을 이용하여 상기 컨텐츠의 속성을 판단할 수 있다.In addition, when determining the attribute of the content, the attribute of the content can be determined using an API hooking method or a proprietary image processing method.

API Hooking은 Win32 API 호출을 중간에서 가로채서 제어권을 얻어내는 것일 수 있으나 그 의미는 여기에 한정되지 않는다.API Hooking may be intercepting Win32 API calls in the middle to gain control, but its meaning is not limited to this.

Proprietary Image Processing은 이미지 처리 방식의 일종을 의미할 수 있다. 즉 클라우드 서버(140)는 일종의 이미지 처리 방식을 이용하여 컨텐츠의 속성을 판단할 수 있다.Proprietary Image Processing can mean a kind of image processing method. That is, the cloud server 140 can determine the attribute of the content using a kind of image processing method.

단계 S430에서는 클라우드 서버(140)는 단계 S420에서 판단한 결과에 기초하여 텍스트가 많을수록 미리 정해진 복수의 인코딩 방법들 중에서 인코딩의 속도 증가보다 인코딩으로 인한 데이터 손실 감소에 더 우선순위를 두고 인코딩 방법을 결정할 수 있다. 즉 클라우드 서버(140)는 스크린 데이터를 구성하는 컨텐츠 중 텍스트가 많을수록 느리지만 정확한 방식의 인코딩 방법을 선택할 수 있다.In step S430, the cloud server 140 may determine the encoding method with higher priority given to the data loss due to the encoding than the increase in the encoding speed among the plurality of predetermined encoding methods as the number of text increases have. That is, the cloud server 140 can select an encoding method of a slow but precise method as the number of texts constituting the screen data becomes larger.

클라우드 서버(140)는 컨텐츠 중 텍스트를 인코딩할 때 같은 면적의 그래픽이나 이미지를 인코딩할 때 필요한 데이터량보다 적은 데이터량으로 더 정확하게 인코딩할 수 있다. 그러나 만약 클라우드 서버(140)가 텍스트를 텍스트로 인식하지 못하고 이미지나 그래픽으로 인식하여 인코딩한다면 텍스트로 인식하여 인코딩하는 경우보다 인코딩에 훨씬 많은 데이터량을 필요로 하고 정확도도 낮아질 수 있다.The cloud server 140 can more accurately encode the text of the content with less data amount than the amount of data required when encoding the graphic or image of the same area. However, if the cloud server 140 does not recognize the text as text but encodes it as an image or graphic, it may require much more data amount of encoding and lower accuracy than encoding it as text.

따라서 스크린 데이터를 구성하는 컨텐츠 중 텍스트의 비율이 높은 경우, 상대적으로 텍스트 정보를 정확하게 처리하는데 중점을 두도록 설정된 인코딩 방식을 클라우드 서버(140)가 선택할 수 있다.Therefore, when the ratio of the texts constituting the screen data is high, the cloud server 140 can select an encoding method set to focus on processing text information relatively accurately.

단계 S440에서 클라우드 서버(140)는 단계 S430에서 결정된 인코딩 방식으로 스크린 데이터의 인코딩을 수행할 수 있다.In step S440, the cloud server 140 may encode the screen data in the encoding mode determined in step S430.

단계 S450에서 클라우드 서버(140)는 단계 S440에서 인코딩된 스크린 데이터를 클라이언트(110 내지 130)에 송신할 수 있다. 데이터의 송신은 인터넷(150)을 통해 이루어질 수 있다. 단계 S450은 단계 S330과 유사할 수 있다.In step S450, the cloud server 140 may transmit the screen data encoded in step S440 to the clients 110-130. The transmission of the data may be performed via the Internet 150. Step S450 may be similar to step S330.

도 5는 본 발명의 일 실시 예에 따라 클라우드 서버(140)가 스크린 데이터를 하나 이상의 그룹으로 분류하여 인코딩을 수행하는 방법의 흐름도이다.5 is a flowchart of a method by which the cloud server 140 classifies screen data into one or more groups and performs encoding according to an embodiment of the present invention.

단계 S510에서 클라우드 서버(140)는 클라이언트(110 내지 130)에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단할 수 있다. 단계 S510은 단계 S310과 유사할 수 있다.In step S510, the cloud server 140 may determine the attributes of the contents constituting the screen data to be displayed on the clients 110 to 130. [ Step S510 may be similar to step S310.

단계 S520에서 클라우드 서버(140)는 단계 S510에서 판단된 컨텐츠 속성에 따라 스크린 데이터를 하나 이상의 그룹으로 분류할 수 있다. 따라서 같은 속성을 가진 컨텐츠끼리 하나의 그룹을 형성할 수 있다. 클라우드 서버(140)는 추출에 의해 스크린 데이터를 하나 이상의 그룹으로 분류할 수 있다. 또는 클라우드 서버(140)는 영역 설정에 의해 스크린 데이터를 하나 이상의 그룹으로 분류할 수 있다. 그러나 하나의 그룹이 항상 같은 속성을 가진 컨텐츠만으로 형성되는 것은 아니다.In step S520, the cloud server 140 may classify screen data into one or more groups according to the content attributes determined in step S510. Therefore, one group of contents having the same attribute can be formed. The cloud server 140 may classify screen data into one or more groups by extraction. Or the cloud server 140 may sort the screen data into one or more groups by area setting. However, a group does not always consist only of content with the same attributes.

추출에 의한 분류는 스크린 데이터에서 특정 속성을 가진 컨텐츠만을 뽑아내는 것을 의미할 수 있다. 스크린 데이터가 복수의 컨텐츠로 이루어져 있고, 모든 컨텐츠가 동일한 속성을 가진 것은 아닐 때, 특정 속성을 가진 컨텐츠만을 스크린 데이터로부터 추출할 수 있다. 추출에 의한 분류와 관련하여 보다 자세한 사항은 도 8 에서 후술한다.Classification by extraction may mean extracting only content with certain attributes from screen data. When the screen data is composed of a plurality of contents and not all the contents have the same property, only the contents having the specific property can be extracted from the screen data. More details regarding the classification by extraction will be described later in Fig.

또한, 영역 설정에 따른 분류가 이루어질 수도 있다. 영역 설정에 따른 분류 방식은 특정 속성의 컨텐츠가 특정 영역에 모여있는 경우에 보다 효과적일 수 있다. 특정 속성의 컨텐츠가 특정 영역에 모여있다고 판단될 경우 클라우드 서버(140)는 해당 영역을 다른 영역과 구분하여 하나의 그룹으로 분류할 수 있다. 보다 구체적인 영역 설정에 따른 분류 방식은 도 9 및 도 10에서 후술한다.In addition, classification according to the area setting may be performed. The classification scheme according to the area setting can be more effective when the contents of a specific attribute are gathered in a specific area. When it is determined that the contents of a specific attribute are gathered in a specific area, the cloud server 140 may classify the corresponding area into one group by distinguishing it from other areas. More specifically, the classification scheme according to the area setting will be described later with reference to FIG. 9 and FIG.

단계 S530에서 클라우드 서버(140)는 분류된 그룹별로 독립적으로 결정된 인코딩 방식에 따라 인코딩을 수행할 수 있다. 각 그룹별로 인코딩 방식은 독립적으로 결정될 수 있다. 각 그룹별로 결정된 인코딩 방식은 서로 상이할 수도 있고, 같을 수도 있다. 각 그룹별로 결정된 인코딩 방식은 미리 정해진 복수개의 인코딩 방식 중 하나일 수 있다.In step S530, the cloud server 140 may perform encoding according to an encoding method independently determined for each classified group. The encoding scheme for each group can be determined independently. The encoding schemes determined for each group may or may not be the same. The encoding scheme determined for each group may be one of a plurality of predetermined encoding schemes.

스크린 데이터를 구성하는 컨텐츠의 속성에 따라 클라우드 서버(140)는 손실 있는 또는 손실 없는 인코딩 방식을 개별적으로 선택할 수 있다. 따라서 인코딩 방식을 개별적으로 선택하는 방식은 적은 대역폭(bandwidth)을 소모하면서 신뢰성 있게 스크린 데이터를 전송할 수 있도록 한다.The cloud server 140 can individually select a lossy or lossless encoding scheme according to the attributes of the contents of the screen data. Therefore, the method of individually selecting the encoding scheme allows reliable transmission of screen data while consuming a small bandwidth.

단계 S540에서 클라우드 서버(140)는 단계 S530에서 인코딩된 스크린 데이터 및 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 클라이언트(110 내지 130)에 송신할 수 있다. 데이터의 송신은 인터넷(150)을 통해 이루어질 수 있다. 본 단계는 S330단계와 유사할 수 있다.In step S540, the cloud server 140 may transmit the encoded screen data and attribute information of the contents constituting the screen data to the clients 110 to 130 in step S530. The transmission of the data may be performed via the Internet 150. This step may be similar to step S330.

도 6은 본 발명의 일 실시 예에 따라 클라이언트(110 내지 130)가 스크린 데이터를 디스플레이하는 방법의 흐름도이다.6 is a flow diagram of a method by which a client 110-130 displays screen data in accordance with one embodiment of the present invention.

단계 S610에서 클라이언트(110 내지 130)는 스크린 데이터 및 스크린 데이터를 구성하는 컨텐츠의 속성정보를 클라우드 서버(140)로부터 수신할 수 있다. 클라우드 서버(140)는 스크린 데이터를 인코딩하여 클라우드 서버(140)로 송신할 수 있다. 그리고 클라우드 서버(140)는 인코딩된 스크린 데이터뿐만 아니라 스크린 데이터를 구성하는 컨텐츠의 속성정보를 함께 송신할 수 있다. 그리고 클라이언트(110 내지 130)는 스크린 데이터를 구성하는 컨텐츠의 속성정보를 클라우드 서버(140)로부터 수신할 수 있다.In step S610, the clients 110 to 130 may receive the attribute information of the contents constituting the screen data and the screen data from the cloud server 140. [ The cloud server 140 may encode the screen data and transmit it to the cloud server 140. The cloud server 140 can transmit not only the encoded screen data but also the attribute information of the contents constituting the screen data. The clients 110 to 130 may receive the attribute information of the contents constituting the screen data from the cloud server 140.

단계 S620에서 클라이언트(110 내지 130)는 단계 S910에서 수신한 속성 정보에 기초하여 스크린 데이터를 디코딩할 수 있다. 클라우드 서버(140)에서 인코딩한 방식에 기초하여 각각의 인코딩 방식에 상응하는 디코딩 방식으로 각각의 인코딩된 스크린 데이터가 클라이언트(110 내지 130)에서 디코딩될 수 있다.In step S620, the clients 110 to 130 may decode the screen data based on the attribute information received in step S910. Each encoded screen data can be decoded in the clients 110 to 130 in a decoding scheme corresponding to each encoding scheme based on the method encoded in the cloud server 140. [

단계 S630에서 클라이언트(110 내지 130)는 단계 S620에서 디코딩된 스크린 데이터를 디스플레이할 수 있다.In step S630, the clients 110 to 130 may display the decoded screen data in step S620.

도 7은 본 발명의 일 실시 예에 따라 클라이언트(110 내지 130)가 수신한 속성 정보에 기초하여 디코딩 방법을 결정하여 스크린 데이터를 디스플레이하는 방법의 흐름도이다.FIG. 7 is a flowchart of a method for displaying screen data by determining a decoding method based on attribute information received by clients 110 to 130 according to an embodiment of the present invention.

단계 S710에서 클라이언트(110 내지 130)는 스크린 데이터 및 스크린 데이터를 구성하는 컨텐츠의 속성정보를 클라우드 서버(140)로부터 수신할 수 있다. 본 단계는 단계 S610과 유사할 수 있다.In step S710, the clients 110 to 130 may receive the attribute information of the contents constituting the screen data and the screen data from the cloud server 140. [ This step may be similar to step S610.

단계 S720에서 클라이언트(110 내지 130)는 단계 S710에서 수신한 컨텐츠의 속성정보에 기초하여 텍스트가 많을수록 미리 정해진 복수의 디코딩 방법들 중 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실 감소에 더 우선순위를 두고 디코딩 방법을 결정할 수 있다. 클라이언트(110 내지 130)는 클라우드 서버(140)로부터 수신한 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 이용하여, 보다 효율적인 방식으로 디코딩이 이루어지도록 디코딩 방법을 결정할 수 있다. In step S720, based on the attribute information of the content received in step S710, the greater the number of text, the higher priority is given to the reduction in data loss due to decoding than the increase in decoding speed among a plurality of predetermined decoding methods The decoding method can be determined. The clients 110 to 130 can determine the decoding method so that decoding is performed in a more efficient manner using the attribute information of the contents constituting the screen data received from the cloud server 140. [

보다 구체적으로 스크린 데이터를 구성하는 컨텐츠 중 텍스트의 비율이 높을수록 데이터 손실감소에 더 우선순위를 둔 방식으로 클라이언트(110 내지 130)는 디코딩을 수행할 수 있다. 컨텐츠 중 텍스트는 텍스트로 인식되면 정확한 디코딩이 빠르게 수행될 수 있다. 따라서 텍스트가 차지하는 비율이 높을수록 텍스트를 추출하여 정확하게 디코딩하는 방식으로 클라이언트(110 내지 130)는 디코딩을 수행할 수 있다.More specifically, the client 110 to 130 can perform decoding in such a manner that the higher the rate of the text among the contents constituting the screen data is, the higher priority is given to the reduction of the data loss. When the text in the contents is recognized as text, accurate decoding can be performed quickly. Accordingly, the client 110 to 130 can perform decoding in such a manner that the text is extracted and decoded more accurately as the text occupies a higher ratio.

단계 S730에서 클라이언트(110 내지 130)는 단계 S720에서 결정된 디코딩 방식에 따라 스크린 데이터를 디코딩할 수 있다.In step S730, the clients 110 to 130 may decode the screen data according to the decoding method determined in step S720.

단계 S740에서 클라이언트(110 내지 130)는 단계 S730에서 디코딩된 스크린 데이터를 디스플레이할 수 있다.In step S740, the clients 110 to 130 may display the decoded screen data in step S730.

도 8은 본 발명의 일 실시 예에 따라 스크린 데이터에서 일부 컨텐츠의 추출이 이루어지는 일례를 도시한 도면이다.8 is a diagram illustrating an example of extracting some contents from screen data according to an embodiment of the present invention.

이미지와 텍스트로 스크린 데이터가 구성되어있는 경우 텍스트가 추출되어 분류될 수 있다.If the screen data is composed of images and text, the text can be extracted and classified.

이미지와 텍스트로 구성된 스크린 데이터(810)에서 클라우드 서버(140)는 텍스트(820)부분을 추출할 수 있다. 이를 통해 클라우드 서버(140)는 스크린 데이터의 텍스트(820) 부분과 이미지(830) 부분을 분리할 수 있다. 이처럼 클라우드 서버(140)는 스크린 데이터를 구성하는 컨텐츠의 속성에 따라서 스크린 데이터를 여러 그룹으로 분류할 수 있다. 또한, 이와 같은 분류는 추출에 의해서 수행될 수 있다. The cloud server 140 in the screen data 810 composed of images and text can extract the text 820 portion. This allows the cloud server 140 to separate the text 820 portion of the screen data and the image 830 portion. In this manner, the cloud server 140 can classify the screen data into a plurality of groups according to the attributes of the contents constituting the screen data. Such classification can also be performed by extraction.

추출을 통한 분류가 이루어진 경우 같은 속성을 가진 컨텐츠들이 하나의 그룹으로 구성될 수 있다. 즉 추출을 통한 분류가 이루어진 경우 각 그룹은 하나의 속성을 가진 컨텐츠만으로 구성될 수 있다. 그러나 추출이 항상 완벽하게 이루어지지 않을 수 있다.If classification is performed through extraction, contents having the same attribute can be configured into one group. That is, when classification is performed through extraction, each group can be composed of only content having one attribute. However, extraction may not always be perfect.

또한, 추출은 특정한 속성을 가진 컨텐츠만을 뽑아내는 방식으로 이루어질 수 있다. 예를 들면 이미지(830)와, 텍스트(820)로 구성되어있는 스크린 데이터(810)에서 텍스트(820)와 이미지(830)가 각각 추출되어 다른 그룹으로 분류될 수 있다.In addition, extraction may be performed in such a manner that only content having a specific attribute is extracted. The text 820 and the image 830 may be respectively extracted and classified into different groups in the screen data 810 composed of the image 830 and the text 820, for example.

도 9는 본 발명의 일 실시 예에 따라 스크린 데이터의 영역 분할이 이루어지는 일례를 도시한 도면이다.9 is a diagram illustrating an example of area division of screen data according to an embodiment of the present invention.

스크린 데이터는 복수개의 컨텐츠로 이루어질 수 있다. 또한, 각각의 컨텐츠는 각각 다른 속성을 가질 수 있다. 또한, 특정 속성을 가진 컨텐츠가 화면상의 특정 위치에 배치되어있을 수 있다. 예를 들면 자막은 화면의 하단 중앙부에 위치할 수 있다. 이 경우 텍스트 속성을 가진 컨텐츠가 화면의 하단 중앙부에 높은 비율로 위치한다고 볼 수 있다. 다만, 화면 중앙 하단부의 영역도 텍스트 컨텐츠만 있는 것은 아니고 자막 뒤로 그래픽이나 이미지 등의 다른 컨텐츠도 해당 영역에 함께 존재할 수 있다. 이 경우 화면 중앙 하단부의 영역에는 텍스트 컨텐츠의 비율이 높은 것으로 볼 수 있다.The screen data may be composed of a plurality of contents. In addition, each content may have different attributes. In addition, content having a specific attribute may be placed at a specific position on the screen. For example, the caption may be located at the bottom center of the screen. In this case, it can be seen that the content having the text attribute is located at a high ratio in the lower center portion of the screen. However, the area at the lower center of the screen is not limited to the text content, and other contents such as graphics and images may be present in the corresponding area after the caption. In this case, it can be seen that the ratio of the text content is high in the area at the bottom of the screen center.

특정 속성의 컨텐츠가 특정 영역에 위치한 경우 해당 영역을 분할하여 그룹으로 나누는 방식이 효율적일 수 있다.When the content of a specific attribute is located in a specific area, a method of dividing the divided area into groups may be efficient.

또는 특정 속성의 컨텐츠의 비율이 특정 영역에서 높을 경우 해당 영역을 분할하여 그룹으로 나눌 수 있다.Or if the content of a specific attribute is higher in a specific area, the corresponding area can be divided into groups.

일반적인 웹페이지 포털화면의 경우에는 텍스트가 표시되는 영역과 애니메이션 등이 표시되는 영역이 구분되는 것이 일반적이므로 영역 분류 방식이 추출에 의한 분류방식보다 효율적일 수 있다.In the case of a general web page portal screen, since the area where the text is displayed and the area where the animation is displayed are generally distinguished, the area classification scheme may be more efficient than the classification scheme by the extraction.

또한, 영역 분할에 따른 분류에서 영역은 중복될 수도 있고, 중복되지 않을 수도 있다. 보다 구체적으로 도 9는 영역이 중복되는 경우의 일 실시 예를 도시하고 있다.Also, in the classification according to the region segmentation, the regions may be overlapped or not overlapped. More specifically, Fig. 9 shows an embodiment in which areas overlap.

영역 A(910)는 영역 B(920)에 포함되고, 영역 B(920)는 영역 C(930)와 일부 범위에서 중복된다.Area A 910 is included in area B 920 and area B 920 overlaps with area C 930 in some range.

이와 같이 중복을 허용하는 영역 분할 방식은 스크린 데이터의 특정 영역이 특정 속성의 컨텐츠만으로 구성되지 않고, 복수의 컨텐츠가 혼재해서 존재하는 경우 효율적일 수 있다. In this manner, the area dividing scheme allowing duplication can be effective when a specific area of screen data is not composed of only the content of a specific attribute but exists in a mixed manner.

도 10은 본 발명의 일 실시 예에 따라 스크린 데이터의 영역 분할이 중복 없이 이루어지는 일례를 도시한 도면이다.10 is a diagram illustrating an example in which area division of screen data is performed without duplication according to an embodiment of the present invention.

영역 A(1010), 영역 B(1020), 영역 C(1030)는 서로 중복되는 부분이 없다. 또한, 중복 없는 영역 분할 방식은 미리 설정되어있는 방식으로 영역분할이 이루어질 수도 있고, 스크린 데이터의 속성에 따라 분할 영역이 선택될 수도 있다.The region A 1010, the region B 1020, and the region C 1030 do not overlap each other. In addition, the area dividing method without duplication may be divided into areas in a preset manner, or a divided area may be selected according to the attributes of screen data.

예를 들면 화면의 중앙 하단 부분에 자막이 나오는 경우 영역 C(1030) 부분이 하나의 영역으로 분류될 수 있다. 영역 C(1030)는 텍스트 컨텐츠만으로 구성된 것은 아닐 수 있다. 그러나 영역 C(1030)를 구성하는 컨텐츠 중에서 텍스트 컨텐츠의 비율이 높을 수 있다.For example, if the subtitles appear in the lower center portion of the screen, the region C (1030) can be classified into one region. Area C 1030 may not consist solely of text content. However, the ratio of the text content among the contents constituting the area C 1030 may be high.

영역 분할의 방식이 중복되는 면적이 있는 것을 허용하는지 여부는 미리 설정되어있을 수 있고, 스크린 데이터의 속성에 따라서 바뀔 수 있다.Whether or not the area dividing scheme allows overlapping areas can be set in advance and can be changed according to the attributes of the screen data.

도 11은 본 발명의 일 실시 예에 따라 클라우드 서버(140)를 도시한 블록도이다.11 is a block diagram illustrating a cloud server 140 in accordance with one embodiment of the present invention.

또한, 본 발명의 일 실시 예로, 클라우드 서버(140)는 하나 이상의 기능을 수행하기 위한 하나 이상의 처리장치를 포함할 수 있다. 처리장치는 특정한 기능의 수행을 위한 소프트웨어 명령을 대신하거나, 소프트웨어와 함께 사용되는 하드웨어 회로일 수 있다.Further, in one embodiment of the present invention, the cloud server 140 may include one or more processing devices for performing one or more functions. The processing device may be a hardware circuit used in place of or in place of software instructions for performing a particular function.

판단부(1110)는 클라이언트(110 내지 130)에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단할 수 있다. 보다 구체적으로 판단부(1110)는 스크린 데이터가 복수개의 컨텐츠로 구성되어있을 때 각각의 컨텐츠를 구별하고, 각각의 컨텐츠의 속성을 판단할 수 있다. The determination unit 1110 can determine the attributes of the contents constituting the screen data to be displayed on the clients 110 to 130. [ More specifically, when the screen data is composed of a plurality of contents, the determination unit 1110 can distinguish each of the contents and determine the attributes of each of the contents.

분류부(1120)는 판단부에서 판단한 컨텐츠의 속성에 따라 스크린 데이터를 하나 이상의 그룹으로 분류할 수 있다. 보다 구체적으로, 분류부(1120)는 서로 다른 속성을 가진 컨텐츠들을 서로 구분하여 각각 다른 그룹으로 분류할 수 있다. The classifying unit 1120 may classify the screen data into one or more groups according to the attributes of the contents determined by the determining unit. More specifically, the classifying unit 1120 may classify contents having different attributes into different groups.

분류부(1120)는 컨텐츠의 속성에 따라 스크린 데이터를 분류하기 위해서 복수개의 데이터 매트릭스를 이용할 수 있다. 일 실시 예로 분류에 앞서 분류부(1120)는 스크린 데이터를 구성하고 있는 컨텐츠가 인위적 데이터인지 자연적 데이터인지 구분할 수 있다. 자연적 데이터의 예로 그래픽, 이미지, 비디오가 있을 수 있고, 인위적 데이터의 예로 텍스트가 있을 수 있다.The classifying unit 1120 may use a plurality of data matrices to classify the screen data according to the attributes of the contents. In an embodiment, the classifying unit 1120 may classify whether the contents constituting the screen data are artificial data or natural data before classification. Examples of natural data may be graphics, images, video, and text as an example of artificial data.

인코더(1130)는 스크린 데이터를 구성하는 컨텐츠들의 속성에 따라 스크린 데이터에 대한 인코딩을 수행할 수 있다. 이때 인코더(1130)는 인코딩 수행을 위해 코덱을 사용할 수 있다.The encoder 1130 may encode the screen data according to the attributes of the contents constituting the screen data. At this time, the encoder 1130 may use a codec for encoding.

코덱은 스크린 데이터를 인코딩하는 과정에서 손실이 있는 인코딩을 수행할 수 있다. 그러나 손실이 있는 인코딩이 수행된 데이터를 전송하는 경우 손실이 있는 인코딩이 수행되지 않은 데이터를 전송하는 경우보다 적은 대역폭(bandwidth)을 소모할 수 있다. The codec can perform lossy encoding in the process of encoding screen data. However, when data with lossy encoding is transmitted, it may consume less bandwidth than when data without lossy encoding is transmitted.

또한, 코덱은 스크린 데이터를 인코딩하는 과정에서 손실이 없는 인코딩을 수행할 수 있다. 코덱이 손실 없는 인코딩을 수행할 경우 전송된 데이터의 신뢰성이 높아질 수 있다.In addition, the codec can perform lossless encoding in the process of encoding screen data. When the codec performs lossless encoding, the reliability of the transmitted data can be increased.

또한, 코덱은 그래픽, 이미지, 비디오와 같은 속성의 컨텐츠를 인코딩할 때에는 손실이 있는 인코딩 방식으로 인코딩을 수행하고, 텍스트와 같은 속성의 컨텐츠를 인코딩할 때에는 손실이 없는 인코딩 방식으로 인코딩을 수행할 수 있다.In addition, the codec performs encoding in a lossy encoding method when encoding contents of attributes such as graphics, image, and video, and encodes in a lossless encoding method when encoding contents such as text. have.

또한, 코덱은 스크린 데이터를 구성하고 있는 컨텐츠의 속성을 판단하고 분리하기 위해 복수개의 입출력 채널을 포함할 수 있다.In addition, the codec may include a plurality of input / output channels for determining and separating the attributes of the contents constituting the screen data.

본 발명은 컨텐츠의 속성에 따라 컨텐츠별로 인코딩 및 디코딩을 수행할 수 있다.The present invention can perform encoding and decoding on a content-by-content basis according to the attribute of the content.

또한, 본 발명은 스크린 데이터를 제공하는 클라우드 서버(140)와, 스크린 데이터를 디스플레이하는 클라이언트(110 내지 130)와 관련된다. 따라서 이미지의 생성 및 공유가 모두 가능한 카메라 기능이 있는 모바일 장치는 본 발명의 일 실시 예로 클라우드 서버(140) 또는 클라이언트(110 내지 130)로 동작할 수 있다.The present invention also relates to a cloud server 140 providing screen data and clients 110-130 displaying screen data. Accordingly, a mobile device having a camera function capable of both generating and sharing images can operate as a cloud server 140 or clients 110 to 130 according to an embodiment of the present invention.

도 12는 본 발명의 일 실시 예에 따라 클라이언트(110 내지 130)를 도시한 블록도이다.Figure 12 is a block diagram illustrating a client 110-130 in accordance with one embodiment of the present invention.

클라이언트(110 내지 130)는 VDI환경에서 동작할 수 있다. Clients 110-130 may operate in a VDI environment.

또한, 스크린 데이터는 클라우드 서버(140)에 의해 생성될 수 있다.In addition, the screen data may be generated by the cloud server 140.

수신부(1210)는 스크린 데이터 및 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 클라우드 서버로부터 수신할 수 있다. 수신은 인터넷(150)을 통해서 이루어질 수 있다. The receiving unit 1210 can receive the attribute information of the contents constituting the screen data and the screen data from the cloud server. Reception may be via the Internet 150.

디코더(1220)는 수신부(1210)에서 수신한 스크린 데이터를 구성하는 컨텐츠의 속성 정보에 기초하여 스크린 데이터를 디코딩할 수 있다. The decoder 1220 can decode the screen data based on the attribute information of the contents constituting the screen data received by the receiver 1210. [

또한, 디코더(1220)는 수신부(1210)에서 수신한 스크린 데이터를 구성하는 컨텐츠의 속성 정보에 기초하여 텍스트가 많을수록 미리 정해진 복수의 디코딩 방법들 중에서 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실의 감소에 더 우선순위를 두고 디코딩 방법을 결정할 수 있다.Further, based on the attribute information of the contents constituting the screen data received by the receiver 1210, the decoder 1220 decodes the data loss due to decoding rather than the increase in decoding speed among a plurality of predetermined decoding methods The decoding method can be determined with a higher priority.

디스플레이부(1230)는 디코더(1220)에서 디코딩된 스크린 데이터를 디스플레이할 수 있다. The display unit 1230 can display the decoded screen data in the decoder 1220. [

클라이언트 장치(1200)는 정보를 교환하고 통신하기 위한 버스(1240)나 다른 통신 수단을 포함할 수 있다. Client device 1200 may include a bus 1240 or other communication means for exchanging and communicating information.

또한, 클라이언트(110)는 통신을 위한 버스(1240)나 다른 통신 수단과 연결될 수 있다. The client 110 may also be coupled to a bus 1240 for communication or other communication means.

또한, 클라이언트 장치(1200)는 저장장치(1260)를 포함할 수 있다. 저장장치(1260)는 RAM이나 다른 동적 저장 장치를 포함할 수 있다. 저장장치(1260)는 클라이언트(110)에 의해 처리되는 정보와 명령을 저장할 수 있고, 버스(1240)에 연결될 수 있다. 저장장치(1260)는 클라이언트(110)에의해 명령이 수행되는 동안 다른 중간 정보 및 임시 변수들을 저장할 수 있다. 저장장치(1260)는 명령 및 데이터의 저장을 위해 RAM과 같은 휘발성 저장장치뿐만 아니라 ROM과 같은 비휘발성 저장장치를 포함할 수 있다.In addition, the client device 1200 may include a storage device 1260. The storage device 1260 may include RAM or other dynamic storage devices. The storage device 1260 may store information and instructions processed by the client 110 and may be coupled to the bus 1240. The storage device 1260 may store other intermediate information and temporary variables while the command is being executed by the client 110. [ Storage 1260 may include non-volatile storage such as ROM as well as volatile storage such as RAM for storage of instructions and data.

또한, 클라이언트 장치(1200)는 스크린 데이터를 디스플레이하기 위해 CRT와 같은 디스플레이 장치(1280)를 포함할 수 있다. 디스플레이 장치(1280)는 버스(1240)에 연결될 수 있다.In addition, the client device 1200 may include a display device 1280, such as a CRT, to display screen data. Display device 1280 may be coupled to bus 1240.

또한, 클라이언트 장치(1200)는 글자 숫자 및 다른 입력을 가능하도록 하는 입력장치(1250)를 포함할 수 있다. 입력장치(1250)는 마우스와 같이 커서의 움직임을 제어하기 위한 장치 및 키보드와 같이 사용자가 원하는 데이터를 입력할 수 있도록 하는 장치를 포함할 수 있다.In addition, the client device 1200 may include an input device 1250 that enables alphanumeric and other inputs. The input device 1250 may include a device for controlling the movement of the cursor, such as a mouse, and a device for allowing the user to input desired data, such as a keyboard.

또한, 클라이언트 장치(1200)는 버스(1240)와 연결된 통신 인터페이스(1270)를 포함할 수 있다. 통신 인터페이스(1270)는 전화선 방식에 상응하는 데이터 통신 연결을 제공할 수 있는 ISDN이나 모뎀을 포함한다. 또한, 통신 인터페이스(1270)는 LAN과 호환되는 데이터 통신 연결을 제공하는 통신 수단을 포함할 수 있다. 통신 인터페이스(1270)는 데이터 흐름과 관련된 데이터 송수신 장치일 수 있다.The client device 1200 may also include a communication interface 1270 coupled to the bus 1240. Communication interface 1270 includes an ISDN or modem capable of providing a data communication connection corresponding to a telephone line method. The communication interface 1270 may also include communication means for providing a data communication connection compatible with the LAN. Communication interface 1270 may be a data transceiver associated with the data flow.

이상에서 전술한 본 발명의 실시 예에 따른 스크린 데이터 제공 방법 및 장치는, VDI 및 클라우드 컴퓨팅 환경에서 실행될 수 있고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.The method and apparatus for providing screen data according to the embodiments of the present invention described above can be executed in a VDI and cloud computing environment and recorded on a computer-readable recording medium.

이러한 프로그램은 컴퓨터에 의해 읽힐 수 있는 기록매체에 기록되고 컴퓨터에 의해 실행됨으로써 전술한 기능들이 실행될 수 있다. Such a program may be recorded on a recording medium that can be read by a computer and executed by a computer so that the above-described functions can be executed.

이와 같이, 본 발명의 각 실시 예에 따른 스크린 데이터 제공 방법 및 장치를 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다. As described above, in order to execute the screen data providing method and apparatus according to each embodiment of the present invention, the above-mentioned program may be stored in a computer language such as C, C ++, JAVA, And may include a code.

이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. The code may include a function code related to a function or the like that defines the functions described above and may include an execution procedure related control code necessary for the processor of the computer to execute the functions described above according to a predetermined procedure.

또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. In addition, such code may further include memory reference related code as to what additional information or media needed to cause the processor of the computer to execute the aforementioned functions should be referenced at any location (address) of the internal or external memory of the computer .

또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈(예: 유선 및/또는 무선 통신 모듈)을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다. In addition, when a processor of a computer needs to communicate with any other computer or server, etc., to perform the above-described functions, the code may be stored in a computer's communication module (e.g., a wired and / ) May be used to further include communication related codes such as how to communicate with any other computer or server in the remote, and what information or media should be transmitted or received during communication.

그리고 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.In addition, a functional program for implementing the present invention, a code and a code segment associated with the functional program, and the like are provided to programmers in the technical field of the present invention in consideration of a system environment of a computer that reads a recording medium and executes a program Lt; RTI ID = 0.0 > and / or < / RTI >

이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일례로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다. The computer-readable recording medium on which the above-described program is recorded includes ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical media storage, and the like.

또한, 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 적어도 하나의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 적어도 하나에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.In addition, the computer-readable recording medium on which the above-described program is recorded may be distributed over a network-connected computer system so that computer-readable codes can be stored and executed in a distributed manner. In this case, any of at least one of the plurality of distributed computers may execute some of the functions presented above and transmit the result of the execution to at least one of the other distributed computers, and transmit the result The receiving computer may also perform some of the functions described above and provide the results to other distributed computers as well.

특히, 본 발명의 각 실시 예에 따른 스크린 데이터 제공 방법 및 장치를 실행시키기 위한 프로그램인 애플리케이션을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 애플리케이션 스토어 서버(Application Store Server), 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버(Application Provider Server)에 포함된 저장매체(예: 하드디스크 등)이거나, 애플리케이션 제공 서버 그 자체일 수도 있다.In particular, a computer-readable recording medium storing an application that is a program for executing the screen data providing method and apparatus according to each embodiment of the present invention includes an application store server, an application or a web A storage medium (e.g., a hard disk or the like) included in an application provider server such as a server, or an application providing server itself.

본 발명의 각 실시 예에 따른 스크린 데이터 제공 방법 및 장치를 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC 뿐만 아니라, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말을 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다. A computer capable of reading a recording medium on which an application as a program for executing a screen data providing method and an apparatus according to each embodiment of the present invention is read can be used not only in a general PC such as a general desktop or a notebook computer but also in a smart phone, PDAs (Personal Digital Assistants), mobile communication terminals, and the like, and it should be interpreted as all devices capable of computing.

또한, 본 발명의 실시 예에 따른 스크린 데이터 제공 방법 및 장치를 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터가 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말인 경우, 애플리케이션은 애플리케이션 제공 서버에서 일반 PC로 다운로드 되어 동기화 프로그램을 통해 모바일 단말에 설치될 수도 있다.In addition, a computer that can read a recording medium on which an application, which is a program for executing a screen data providing method and an apparatus according to an embodiment of the present invention, is read is a smart phone, a tablet PC, a PDA (Personal Digital Assistants) In the case of a mobile terminal, the application may be downloaded from the application providing server to a general PC and installed in the mobile terminal through a synchronization program.

이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 적어도 하나로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 모든 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. That is, within the scope of the present invention, all of the components may be selectively coupled to at least one. In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to provide a program module that performs some or all of the functions combined in one or a plurality of hardware As shown in FIG. The codes and code segments constituting the computer program may be easily deduced by those skilled in the art. Such a computer program can be stored in a computer-readable storage medium, readable and executed by a computer, thereby realizing an embodiment of the present invention. As a storage medium of the computer program, a magnetic recording medium, an optical recording medium, or the like can be included.

또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.It is also to be understood that the terms such as " comprises, "" comprising," or "having ", as used herein, mean that a component can be implanted unless specifically stated to the contrary. But should be construed as including other elements. All terms, including technical and scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.

이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.The foregoing description is merely illustrative of the technical idea of the present invention, and various changes and modifications may be made by those skilled in the art without departing from the essential characteristics of the present invention. Therefore, the embodiments disclosed in the present invention are intended to illustrate rather than limit the scope of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments. The scope of protection of the present invention should be construed according to the following claims, and all technical ideas falling within the scope of the same shall be construed as falling within the scope of the present invention.

Claims (19)

클라우드 서버가 스크린 데이터를 클라이언트에 제공하는 방법에 있어서,
클라이언트에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하는 단계;
상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 인코딩하는 단계; 및
상기 인코딩된 스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 상기 클라이언트에 송신하는 단계;를 포함하는 스크린 데이터 제공 방법.
In a method for a cloud server to provide screen data to a client,
Determining attributes of contents constituting screen data to be displayed by the client;
Encoding the screen data according to the attribute of the determined content; And
And transmitting the encoded screen data and attribute information of the contents constituting the screen data to the client.
제 1 항에 있어서,
상기 인코딩하는 단계는
상기 컨텐츠 속성의 판단 결과 텍스트가 많을수록 미리 정해진 복수의 인코딩 방법들 중에서 인코딩의 속도 증가보다 인코딩으로 인한 데이터 손실의 감소에 더 우선 순위를 두고 인코딩 방법을 결정하는 단계를 포함하는 스크린 데이터 제공 방법.
The method according to claim 1,
The encoding step
Determining the encoding method with higher priority as to the reduction in data loss due to encoding than the increase in encoding speed among a plurality of predetermined encoding methods as the determination result of the content attribute is larger.
제 1 항에 있어서,
상기 컨텐츠의 속성을 판단하는 단계는
API Hooking 방식 또는 Proprietary Image Processing 방식을 이용하여 상기 컨텐츠의 속성을 판단하는 스크린 데이터 제공 방법.
The method according to claim 1,
The step of determining an attribute of the content
Wherein the attribute of the content is determined using an API hooking method or a proprietary image processing method.
제 1 항에 있어서,
상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 단계를 더 포함하고,
상기 인코딩하는 단계는
상기 그룹별로 독립적으로 결정된 인코딩 방식에 따라 인코딩을 수행하는 스크린 데이터 제공 방법.
The method according to claim 1,
Further comprising classifying the screen data into one or more groups according to the determined attributes of the content,
The encoding step
And performing encoding according to an encoding method independently determined for each group.
제 4 항에 있어서,
상기 하나 이상의 그룹으로 분류하는 단계는
상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 해당 컨텐츠의 추출을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 스크린 데이터 제공 방법.
5. The method of claim 4,
The grouping into one or more groups
And classifying the screen data into one or more groups by extracting corresponding contents based on the attributes of the contents constituting the screen data.
제 4 항에 있어서,
상기 하나 이상의 그룹으로 분류하는 단계는
상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 영역 분할을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 스크린 데이터 제공 방법.
5. The method of claim 4,
The grouping into one or more groups
And classifying the screen data into at least one group through area division based on an attribute of the content constituting the screen data.
제 6 항에 있어서,
상기 인코딩하는 단계는
상기 영역 분할을 통해 분류된 하나의 그룹 내에 복수개의 컨텐츠 속성이 존재하는 경우, 상기 그룹 내에 존재하는 컨텐츠의 속성의 비율에 기초하여 상기 그룹의 인코딩 방법을 결정하는 단계를 포함하는 스크린 데이터 제공 방법.
The method according to claim 6,
The encoding step
And determining the encoding method of the group based on a ratio of attributes of contents existing in the group when a plurality of content attributes exist in one group classified through the region segmentation.
클라이언트가 스크린 데이터를 디스플레이하는 방법에 있어서,
스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 클라우드 서버로부터 수신하는 단계;
상기 수신된 속성 정보에 기초하여 상기 스크린 데이터를 디코딩하는 단계; 및
상기 디코딩된 스크린 데이터를 디스플레이하는 단계;를 포함하는 스크린 데이터 디스플레이 방법.
A method for a client to display screen data,
Receiving screen data and attribute information of contents constituting the screen data from a cloud server;
Decoding the screen data based on the received attribute information; And
And displaying the decoded screen data.
제 8 항에 있어서,
상기 디코딩하는 단계는
상기 수신한 컨텐츠의 속성 정보에 기초하여 텍스트가 많을수록 미리 정해진 복수의 디코딩 방법들 중에서 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실의 감소에 더 우선순위를 두고 디코딩 방법을 결정하는 단계를 포함하는 스크린 데이터 디스플레이 방법.
9. The method of claim 8,
The decoding step
Determining a decoding method based on attribute information of the received content, with a higher priority given to a reduction in data loss due to decoding than an increase in decoding speed among a plurality of predetermined decoding methods as the number of text increases; Display method.
스크린 데이터를 클라이언트에 제공하는 클라우드 서버에 있어서,
클라이언트에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하는 판단부;
상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 인코딩하는 인코더; 및
상기 인코더에서 인코딩된 스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 상기 클라이언트에 송신하는 송신부를 포함하는 서버 장치
A cloud server for providing screen data to a client,
A judging unit for judging attributes of contents constituting screen data to be displayed by the client;
An encoder for encoding the screen data according to the attribute of the determined content; And
And a transmitting unit for transmitting the screen data encoded by the encoder and the attribute information of the contents constituting the screen data to the client
제 10 항에 있어서,
상기 인코더는
상기 판단부의 판단 결과 텍스트가 많을수록 미리 정해진 복수의 인코딩 방법들 중에서 인코딩의 속도 증가보다 인코딩으로 인한 데이터 손실의 감소에 더 우선 순위를 두고 인코딩 방법을 결정하는 서버 장치.
11. The method of claim 10,
The encoder
Wherein the determination unit determines the encoding method with a higher priority to the reduction of data loss due to encoding than the increase in encoding speed among a plurality of predetermined encoding methods as the text is larger.
제 10 항에 있어서,
상기 판단부는 API Hooking 방식 또는 Proprietary Image Processing 방식을 이용하여 상기 컨텐츠의 속성을 판단하는 서버 장치
11. The method of claim 10,
The judging unit judges the attribute of the content using an API hooking method or a proprietary image processing method.
제 10 항에 있어서
상기 판단부에서 판단한 컨텐츠의 속성에 따라 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 분류부를 더 포함하고,
상기 인코더는 상기 그룹별로 독립적으로 결정된 인코딩 방식에 따라 인코딩을 수행하는 서버 장치.
The method of claim 10, wherein
Further comprising a classifying unit for classifying the screen data into one or more groups according to attributes of the contents determined by the determining unit,
Wherein the encoder performs encoding according to an encoding method independently determined for each group.
제 13 항에 있어서,
상기 분류부는
상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 해당 컨텐츠의 추출을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 서버 장치.
14. The method of claim 13,
The classifier
And classifies the screen data into one or more groups by extracting corresponding contents based on the attributes of the contents constituting the screen data.
제 13 항에 있어서,
상기 분류부는
상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 영역 분할을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 서버 장치.
14. The method of claim 13,
The classifier
And classifies the screen data into at least one group through area division based on an attribute of the contents constituting the screen data.
제 15 항에 있어서,
상기 인코더는
상기 영역 분할을 통해 분류된 하나의 그룹 내에 복수개의 컨텐츠 속성이 존재하는 경우, 상기 그룹 내에 존재하는 컨텐츠의 속성의 비율에 기초하여 상기 그룹의 인코딩 방법을 결정하는 서버 장치.
16. The method of claim 15,
The encoder
And determines the encoding method of the group based on the ratio of the attribute of the content existing in the group when a plurality of content attributes exist in one group classified through the region segmentation.
클라우드 서버에 의해 생성된 스크린 데이터를 디스플레이하는 클라이언트에 있어서,
스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 상기 클라우드 서버로부터 수신하는 수신부;
상기 수신된 속성 정보에 기초하여 상기 스크린 데이터를 디코딩 하는 디코더; 및
상기 디코딩된 스크린 데이터를 디스플레이하는 디스플레이부를 포함하는 클라이언트 장치.
A client for displaying screen data generated by a cloud server,
A receiving unit for receiving screen data and attribute information of contents constituting the screen data from the cloud server;
A decoder for decoding the screen data based on the received attribute information; And
And a display unit for displaying the decoded screen data.
제 17 항에 있어서,
상기 디코더는
상기 수신한 컨텐츠의 속성 정보에 기초하여 텍스트가 많을수록 미리 정해진 복수의 디코딩 방법들 중에서 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실의 감소에 더 우선순위를 두고 디코딩 방법을 결정하는 클라이언트 장치
18. The method of claim 17,
The decoder
A client device that determines a decoding method with a higher priority to a reduction in data loss due to decoding than an increase in decoding speed among a plurality of predetermined decoding methods based on attribute information of the received content,
제 1 항 내지 제 9 항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체. A computer-readable recording medium recording a program for causing a computer to execute the method according to any one of claims 1 to 9.
KR1020130087607A 2012-11-12 2013-07-24 A method and an apparatus of providing screen data KR102130811B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/077,440 US9066071B2 (en) 2012-11-12 2013-11-12 Method and apparatus for providing screen data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN4724CH2012 2012-11-12
IN4724/CHE/2012 2012-11-12

Publications (2)

Publication Number Publication Date
KR20140061220A true KR20140061220A (en) 2014-05-21
KR102130811B1 KR102130811B1 (en) 2020-07-06

Family

ID=50890315

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130087607A KR102130811B1 (en) 2012-11-12 2013-07-24 A method and an apparatus of providing screen data

Country Status (1)

Country Link
KR (1) KR102130811B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102326419B1 (en) * 2020-05-04 2021-11-12 에스케이브로드밴드주식회사 Kiosk for data processing and data processing method using the same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100030849A1 (en) * 2008-07-31 2010-02-04 Fujitsu Limited Server apparatus for thin-client system
US20100054618A1 (en) * 2008-08-27 2010-03-04 Kabushiki Kaisha Toshiba Server, screen transmitting method, and program storage medium
KR20100047831A (en) * 2010-04-02 2010-05-10 (주) 아이티비엠지 Appratus for providing interactive service in ubiquitous environment
KR20120064882A (en) * 2010-12-10 2012-06-20 주식회사 케이티 Computing sharing system and method for media renderer based on upnp network

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100030849A1 (en) * 2008-07-31 2010-02-04 Fujitsu Limited Server apparatus for thin-client system
US20100054618A1 (en) * 2008-08-27 2010-03-04 Kabushiki Kaisha Toshiba Server, screen transmitting method, and program storage medium
KR20100047831A (en) * 2010-04-02 2010-05-10 (주) 아이티비엠지 Appratus for providing interactive service in ubiquitous environment
KR20120064882A (en) * 2010-12-10 2012-06-20 주식회사 케이티 Computing sharing system and method for media renderer based on upnp network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102326419B1 (en) * 2020-05-04 2021-11-12 에스케이브로드밴드주식회사 Kiosk for data processing and data processing method using the same

Also Published As

Publication number Publication date
KR102130811B1 (en) 2020-07-06

Similar Documents

Publication Publication Date Title
US10885100B2 (en) Thumbnail-based image sharing method and terminal
KR102117056B1 (en) Automated local story creation and curation
EP3023930B1 (en) Screenshot processing device and method for same
US20130141456A1 (en) Automatic modification of image content for display on a different device
US20160026728A1 (en) Interaction Method And Device Between Browsers And Browser
KR102211396B1 (en) Contents sharing service system, apparatus for contents sharing and contents sharing service providing method thereof
US20190114989A1 (en) Systems and methods for image optimization
CN109791545B (en) Contextual information for resources including display of images
CN110599581A (en) Image model data processing method and device and electronic equipment
KR102130811B1 (en) A method and an apparatus of providing screen data
CN112307386A (en) Information monitoring method, system, electronic device and computer readable storage medium
US20140072223A1 (en) Embedding Media Content Within Image Files And Presenting Embedded Media In Conjunction With An Associated Image
CN115098449B (en) File cleaning method and electronic equipment
KR102247886B1 (en) System for cloud streaming service, method of cloud streaming service based on type of image and apparatus for the same
US20180255313A1 (en) Display apparatus and control method therefor
US20210400442A1 (en) Recipient-based content optimization in a messaging system
US9066071B2 (en) Method and apparatus for providing screen data
KR20160131827A (en) System for cloud streaming service, method of image cloud streaming service using alpha level of color bit and apparatus for the same
KR101784057B1 (en) Apparatus and method sharing customizable contents using user information of the mobile terminal
US11317129B1 (en) Targeted content distribution in a messaging system
CN111782100A (en) Method, device, terminal and storage medium for previewing background picture
KR20160115566A (en) System for cloud streaming service, method of image cloud streaming service using separation of image and text 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
US11405341B1 (en) Audience-based content optimization in a messaging system
CN114158098B (en) Private network cell coverage lifting method and device and electronic equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant