KR102130811B1 - 스크린 데이터 제공 방법 및 장치 - Google Patents

스크린 데이터 제공 방법 및 장치 Download PDF

Info

Publication number
KR102130811B1
KR102130811B1 KR1020130087607A KR20130087607A KR102130811B1 KR 102130811 B1 KR102130811 B1 KR 102130811B1 KR 1020130087607 A KR1020130087607 A KR 1020130087607A KR 20130087607 A KR20130087607 A KR 20130087607A KR 102130811 B1 KR102130811 B1 KR 102130811B1
Authority
KR
South Korea
Prior art keywords
screen data
content
encoding
attribute
cloud server
Prior art date
Application number
KR1020130087607A
Other languages
English (en)
Other versions
KR20140061220A (ko
Inventor
브라마데삼 사티시
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to US14/077,440 priority Critical patent/US9066071B2/en
Publication of KR20140061220A publication Critical patent/KR20140061220A/ko
Application granted granted Critical
Publication of KR102130811B1 publication Critical patent/KR102130811B1/ko

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

본 발명은 클라우드 서버가 스크린 데이터를 클라이언트에 제공하고, 이를 다시 클라이언트에서 디스플레이하는 것에 관한 것으로서, 클라우드 서버는 스크린 데이터를 구성하는 복수개의 컨텐츠 각각의 속성에 따라 독립적으로 결정된 인코딩 방식으로 스크린 데이터에 대한 인코딩을 수행하고, 클라이언트는 수신한 스크린 데이터를 클라우드 서버에서 인코딩한 방식에 기초하여 디코딩하여 디스플레이할 수 있다. 스크린 데이터를 구성하는 각각의 컨텐츠의 속성에 기초하여 인코딩을 수행함으로써 하나의 인코딩 방식만을 사용하는 경우보다 효율적인 스크린 데이터 제공이 가능하다.

Description

스크린 데이터 제공 방법 및 장치 {A method and an apparatus of providing screen data}
본 발명은 스크린 데이터 제공 방법에 관한 것으로, 더 상세하게는 VDI(Virtual Desktop Infrastructure) 환경에서 클라우드 서버가 스크린 데이터를 클라이언트에 제공하는 방법 및 장치에 관한 것이다.
VDI(Virtual Desktop Infrastructure)는 애플리케이션, CPU, 메모리 등 PC업무에 필요한 자원의 일부 또는 전부가 서버에 위치하는 것을 의미할 수 있다. 최근 VDI(Virtual Desktop Infrastructure) 는 데스크탑의 가상화를 가능하게 하기 위해 사용된다. 그리고 데스크탑의 가상화의 과정에서 스크린 데이터의 전송이 이루어지는 경우가 있다. 이 경우 스크린 데이터는 인코딩 과정을 거쳐 전송되는 것이 일반적이다. 그러나 스크린 데이터의 크기가 점차 증가함에 따라 인코딩 과정을 거침에도 불구하고 스크린 데이터를 전송하기 위해 요구되는 전송 비용이 증가하게 되었다. 또한, 전송되는 스크린 데이터는 각각 다른 속성을 가진 여러 컨텐츠로 구성된 경우가 일반적이다. 그러나 종래 방식은 미리 정해진 방식만으로 스크린 데이터를 처리하기 때문에 그 정확도나 전송 비용에 있어서 비효율적이었다.
본 발명의 적어도 하나의 실시 예가 이루고자 하는 기술적 과제는 스크린 데이터를 전송함에 있어서, 전송 비용을 줄이고, 정확성을 높이기 위한 효율적인 방법 및 장치를 제공하는 데 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 제 1 측면은, 클라우드 서버가 스크린 데이터를 클라이언트에 제공하는 방법에 있어서, 클라이언트에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하는 단계; 상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 인코딩하는 단계; 및 상기 인코딩된 스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 상기 클라이언트에 송신하는 단계를 포함한다.
상기 인코딩하는 단계는 상기 컨텐츠 속성의 판단 결과 텍스트가 많을수록 미리 정해진 복수의 인코딩 방법들 중에서 인코딩의 속도 증가보다 인코딩으로 인한 데이터 손실의 감소에 더 우선 순위를 두고 인코딩 방법을 결정하는 것이 바람직하다.
상기 컨텐츠의 속성을 판단하는 단계는 API Hooking 방식 또는 Proprietary Image Processing 방식을 이용하여 상기 컨텐츠의 속성을 판단하는 것이 바람직하다.
상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 단계를 더 포함하고, 상기 인코딩하는 단계는 상기 그룹별로 독립적으로 결정된 인코딩 방식에 따라 인코딩을 수행 하는 것이 바람직하다.
상기 하나 이상의 그룹으로 분류하는 단계는 상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 해당 컨텐츠의 추출을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 것이 바람직하다.
상기 하나 이상의 그룹으로 분류하는 단계는 상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 영역 분할을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 것이 바람직하다.
상기 인코딩하는 단계는 상기 영역 분할을 통해 분류된 하나의 그룹 내에 복수개의 컨텐츠 속성이 존재하는 경우, 상기 그룹 내에 존재하는 컨텐츠의 속성의 비율에 기초하여 상기 그룹의 인코딩 방법을 결정하는 것이 바람직하다.
또한, 본 발명의 제 2 측면은, 클라이언트가 스크린 데이터를 디스플레이하는 방법에 있어서, 스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 클라우드 서버로부터 수신하는 단계; 상기 수신된 속성 정보에 기초하여 상기 스크린 데이터를 디코딩하는 단계; 및 상기 디코딩된 스크린 데이터를 디스플레이하는 단계를 포함한다.
상기 디코딩하는 단계는 상기 수신한 컨텐츠의 속성 정보에 기초하여 텍스트가 많을수록 미리 정해진 복수의 디코딩 방법들 중에서 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실의 감소에 더 우선순위를 두고 디코딩 방법을 결정하는 것이 바람직하다.
본 발명의 하나 혹은 하나 이상의 실시 예 및 그 실시 예의 이점들은, 첨부 도면들과 함께 다음의 상세한 설명을 참조하여 가장 잘 이해될 수 있다.
도 1은 본 발명의 일 실시 예에 따라 클라우드 서버와 클라이언트가 인터넷을 매개로 하여 연결되는 일례를 도시한 도면이다.
도 2는 본 발명의 일 실시 예에 따라 클라우드 서버와 클라이언트가 인터넷을 매개로 하여 연결되어 데이터를 주고받는 일례를 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 따라 클라우드 서버가 스크린 데이터를 클라이언트에 제공하는 방법의 흐름도이다.
도 4는 본 발명의 일 실시 예에 따라 클라우드 서버가 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하여 인코딩 방법을 결정하여 인코딩을 수행하는 방법의 흐름도이다.
도 5는 본 발명의 일 실시 예에 따라 클라우드 서버가 스크린 데이터를 하나 이상의 그룹으로 분류하여 인코딩을 수행하는 방법의 흐름도이다.
도 6은 본 발명의 일 실시 예에 따라 클라이언트가 스크린 데이터를 디스플레이하는 방법의 흐름도이다.
도 7은 본 발명의 일 실시 예에 따라 클라이언트가 수신한 속성 정보에 기초하여 디코딩 방법을 결정하여 스크린 데이터를 디스플레이하는 방법의 흐름도이다.
도 8은 본 발명의 일 실시 예에 따라 스크린 데이터에서 일부 컨텐츠의 추출이 이루어지는 일례를 도시한 도면이다.
도 9는 본 발명의 일 실시 예에 따라 스크린 데이터의 영역 분할이 이루어지는 일례를 도시한 도면이다.
도 10은 본 발명의 일 실시 예에 따라 스크린 데이터의 영역 분할이 중복 없이 이루어지는 일례를 도시한 도면이다.
도 11은 본 발명의 일 실시 예에 따라 클라우드 서버를 도시한 블록도이다.
도 12는 본 발명의 일 실시 예에 따라 클라이언트를 도시한 블록도이다.
이하의 설명은 하나 혹은 그 이상의 실시 예의 일반적 원리를 설명하며, 여기에 청구된 본 발명의 개념을 한정하지 않는다. 게다가 여기에 기재된 특정의 특징들은 여러 가지 가능한 조합과 치환에서 다른 기재된 특징과 결합하여 사용될 수 있다. 그렇지 않고 여기에 구체적으로 정의되어 있지 않으면, 모든 용어는 종래 기술 또는 사전, 논문에서 정의된 대로 통상의 기술자에 의해 이해되는 의미뿐만 아니라 명세서로부터 암시된 의미를 포함하는 가장 넓은 가능한 해석이 부여될 수 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시 예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
또한, 본 명세서에서, 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해 한정되지 않는다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로 사용될 수 있다.
또한, 본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
이하, 본 발명의 실시 예들을 첨부도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략할 수 있다.
이하의 설명에서 본 발명에 대한 이해를 명확히 하기 위하여, 본 발명의 특징에 대한 공지의 기술에 대한 설명은 생략하기로 한다. 이하의 실시 예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것은 아니다. 따라서, 본 발명과 동일한 기능을 수행하는 균등한 발명 역시 본 발명의 권리 범위에 속할 것이다. 이하의 설명에서 동일한 식별 기호는 동일한 구성을 의미하며, 불필요한 중복적인 설명 및 공지 기술에 대한 설명은 생략하기로 한다.
또한, 본 발명의 실시 예에서 "통신", "통신망" 및 "네트워크"는 동일한 의미로 사용될 수 있다. 상기 세 용어들은, 파일을 유저 단말, 다른 유저들의 단말 및 다운로드 서버 사이에서 송수신할 수 있는 유무선의 근거리 및 광역 데이터 송수신망을 의미할 수 있다.
또한, 본 발명에서 VDI(Virtual Desktop Infrastructure)는 애플리케이션, CPU, 메모리 등 PC업무에 필요한 자원의 일부 또는 전부가 서버에 위치하는 것을 의미할 수 있다.
또한, 본 발명에서 클라우드란 네트워크상에 숨겨진 인프라구조를 의미할 수 있다.
또한, 본 발명에서 서버란 클라우드 서버(140)를 의미할 수 있다. 클라우드 서버란 클라우드 컴퓨팅을 담당하는 서버일 수 있다.
또한, 클라이언트(110 내지 130)는 스마트폰, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, GPS(global positioning system) 장치, 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않으며, 디스플레이 화면을 제공하는 모든 기기를 포함할 수 있다.
클라우드 네트워크의 예로 LAN, WAN, wireless network를 들 수 있다. 다만, 본 예로 제한되지 않는다.
또한, 본 명세서에서 컴퓨터로 읽을 수 있는 기록매체는 장치가 특정한 기능을 수행하도록 하는 데이터를 제공하는데 참여하는 어떤 매체로 볼 수 있다. 서버 장치(1100)가 구현되는 일 실시 예에서 다양한 읽을 수 있는 기록매체가 사용될 수 있다. 읽을 수 있는 기록매체는 휘발성 또는 비휘발성 매체를 포함한다. 기록 매체의 예로 플로피 디스크, 자기 테이프, 하드 디스크, 다른 종류의 자기 매체, CD-ROM, 광학 저장장치, PROM, EPROM, 메모리칩 등을 포함할 수 있다. 기록 매체는 매체에 의해 전송된 명령이 물리적 방법에 의해 검색될 수 있도록 유형의 것일 수 있다.
또 다른 실시 예로, 컴퓨터로 읽을 수 있는 기록매체는 버스(1150)를 포함하는 전송 매체가 될 수 있다. 전송 매체는 동축 케이블, 구리선, 광섬유 등을 포함할 수 있다. 전송 매체는 전파나 적외선 통신 등을 포함하는 통신에 사용되는 매체일 수 있다.
이하, 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따라 클라우드 서버(140)와 클라이언트(110 내지 130)가 인터넷(150)을 매개로 하여 연결되는 일례를 도시한 도면이다.
하나의 클라우드 서버(140)는 인터넷(150)을 통해 하나 이상의 클라이언트(110 내지 130)와 연결될 수 있다. 클라우드 서버(140)는 클라우드 컴퓨팅을 담당하는 서버일 수 있다. 클라우드 컴퓨팅이란 인터넷상의 서버를 통하여 데이터 저장, 네트워크, 컨텐츠 사용 등 IT관련 서비스를 한번에 사용할 수 있는 컴퓨팅 환경일 수 있다.
컴퓨팅 환경은 복수개의 클라이언트(110 내지 130)를 포함할 수 있다. 예를 들면 컴퓨팅 환경을 구성하는 클라이언트로 클라이언트 1(110), 클라이언트 2(120), 클라이언트 3(130)이 있을 수 있다. 또한, 컴퓨팅 환경은 클라이언트(110 내지 130)와 네트워크상으로 연결되는 클라우드 서버(140)를 포함할 수 있다.
클라이언트(110 내지 130)는 인터넷(150)을 통해 클라우드 서버와(140)와 연결될 수 있다. 또한, 클라이언트는 인터넷(150)을 통해 클라우드 서버에서 제공되는 스크린 데이터에 접근할 수 있다. 인터넷(150)은 클라우드 네트워크일 수 있다.
클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터의 분석 방식을 선택할 수 있다. 즉 여러가지 스크린 데이터를 분석하는 방법 중 하나의 방법을 클라이언트(110 내지 130)가 선택할 수 있다. 또는 여러가지 스크린 데이터를 분석하는 방법 중 하나의 방법을 사용자의 선택에 기초하여 클라이언트(110 내지 130)가 선택할 수 있다. 예를 들면 스크린 데이터 분석 방식은 윈도우에 기반을 둔 분석(windows based analysis) 또는 이미지 처리에 근거한 분석(image processing based analysis)이 있을 수 있다.
또한, 윈도우에 기반을 둔 분석 방식이 선택된 경우 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 시간적으로 효율적인 방식으로 스크린 데이터를 분석할 수 있다.
또한, 위도우에 기반을 둔 분석 방식이 선택된 경우 사용자는 GDI 콜(Graphics Device Interface calls)에 기반을 둔 스크린 데이터에 접근할 수 있다. 또한, 윈도우에 기반을 둔 분석 방식은 시간 효율적인 방식으로 스크린 데이터를 분석할 수 있다.
또한, 이미지 처리에 근거한 분석 방식이 선택된 경우 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터와 관련된 복수개의 컨텐츠 속성을 분석할 수 있다.
또한, 이미지 처리에 근거한 분석 방식이 선택된 경우 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터를 캡쳐하여 처리하는 방식으로 스크린 데이터를 처리할 수 있다.
클라우드 서버(140)는 스크린 데이터를 캡쳐할 수 있고, 캡쳐된 스크린 데이터를 저장할 수 있으며, 캡쳐된 스크린 데이터를 분석할 수 있다.
또한, 스크린 데이터 분석은 클라이언트(110 내지 130)에서뿐만 아니라 클라우드 서버(140)에서 이루어질 수 있다.
스크린 데이터와 관련하여 컨텐츠나 데이터의 속성이 검색(retrieve)될 수 있다. 검색은 컨텐츠나 데이터의 속성을 감지(detedct)하는 것을 포함할 수 있다. 또한, 검색을 통해 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터를 구성하는 컨텐츠로부터 데이터 속성을 분리할 수 있다.
스크린 데이터를 클라이언트(110 내지 130)에 표시하기 위해서는 스크린 데이터를 구성하고 있는 복수개의 데이터나 컨텐츠 속성과 관련하여 디코딩하는 단계가 필요할 수 있다.
스크린 데이터 분석 방식의 선택이 가능하므로 스크린 데이터의 처리에 요구되는 정확도 및 처리 시간을 고려하여 클라우드 서버(140) 또는 클라이언트(110 내지 130)는 스크린 데이터를 가장 효율적인 방식으로 분석할 수 있다.
도 2는 본 발명의 일 실시 예에 따라 클라우드 서버(140)와 클라이언트(110 내지 130)가 인터넷(150)을 매개로 하여 연결되어 데이터를 주고받는 일례를 도시한 도면이다. 또한, 클라우드 서버(140)와 클라이언트(110 내지 130)의 구성의 일례를 블록도를 이용하여 도시하였다.
클라우드 서버(140)는 컨텐츠의 속성과 관련된 데이터를 네트워크를 통해서 클라이언트(110 내지 130)에 송신할 수 있다. 컨텐츠 속성의 예로 비디오, 이미지, 그래픽, 텍스트를 들 수 있다. 또한, 클라우드 서버(140)는 인코딩된 스크린 데이터를 인터넷(150)을 통해 클라이언트(110 내지 130)에 송신할 수 있다. 클라우드 서버(140)는 스크린 데이터를 인코딩할 수 있다.
또한, 클라우드 서버(140)는 인코딩된 스크린 데이터를 인터넷(150)을 통해서 클라이언트(110 내지 130)에 송신할 수 있다.
또한, 클라이언트(110 내지 130)는 인터넷(150)을 통해서 스크린 데이터를 수신할 수 있다.
보다 구체적인 클라우드 서버(140)와 클라이언트(110 내지 130)의 동작은 후술한다.
도 3은 본 발명의 일 실시 예에 따라 클라우드 서버(140)가 스크린 데이터를 클라이언트(110 내지 130)에 제공하는 방법의 흐름도이다.
단계 S310에서 클라우드 서버(140)는 클라이언트(110 내지 130)에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단할 수 있다. 클라우드 서버(140)는 스크린 데이터를 구성하는 컨텐츠가 비디오 정보인지, 이미지 정보인지, 그래픽 정보인지, 텍스트 정보인지, 기타 다른 정보인지 판단할 수 있다.
단계 S320에서 클라우드 서버(140)는 단계 S310에서 판단된 컨텐츠의 속성에 따라 스크린 데이터를 인코딩할 수 있다. 클라우드 서버(140)는 판단된 컨텐츠의 속성에 기초하여 복수개의 인코딩 방법 중 하나의 인코딩 방법을 선택할 수 있다. 보다 구체적인 인코딩 방법의 선택 방식은 도 4 및 도 5에서 후술한다.
단계 S330에서 클라우드 서버(140)는 단계 S320에서 인코딩된 스크린 데이터를 클라이언트(110 내지 130)에 송신할 수 있다. 데이터의 송신은 인터넷(150)을 통해 이루어질 수 있다.
도 4는 본 발명의 일 실시 예에 따라 클라우드 서버(140)가 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하여 인코딩 방법을 결정하여 인코딩을 수행하는 방법의 흐름도이다.
단계 S410에서 클라우드 서버(140)는 하나 이상의 인코딩 방법을 미리 정해둘 수 있다. 보다 구체적으로, 스크린 데이터를 구성하는 컨텐츠가 비디오 정보인지, 이미지 정보인지, 그래픽 정보인지, 텍스트 정보인지, 기타 다른 정보인지에 따라 최적화된 방식의 인코딩 방법을 클라우드 서버(140)가 미리 정할 수 있다. 또한, 스크린 데이터를 구성하는 컨텐츠가 비디오 정보, 이미지 정보, 그래픽 정보, 텍스트 정보, 기타 다른 정보가 차지하는 비중에 따라 최적화된 방식의 인코딩 방법을 클라우드 서버(140)가 미리 정할 수 있다.
단계 S420에서 클라우드 서버(140)는 클라이언트(110 내지 130)에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단할 수 있다. 본 단계에서 클라우드 서버(140)는 스크린 데이터 전체를 구성하는 컨텐츠의 속성에는 무엇이 있는지, 각 속성의 비율이 어떻게 되는지 판단할 수 있다. 보다 구체적으로 컨텐츠의 속성은 비디오, 이미지, 그래픽, 텍스트, 기타 다른 속성 일 수 있다.
또한, 컨텐츠의 속성을 판단할 때에는 API Hooking 방식 또는 Proprietary Image Processing 방식을 이용하여 상기 컨텐츠의 속성을 판단할 수 있다.
API Hooking은 Win32 API 호출을 중간에서 가로채서 제어권을 얻어내는 것일 수 있으나 그 의미는 여기에 한정되지 않는다.
Proprietary Image Processing은 이미지 처리 방식의 일종을 의미할 수 있다. 즉 클라우드 서버(140)는 일종의 이미지 처리 방식을 이용하여 컨텐츠의 속성을 판단할 수 있다.
단계 S430에서는 클라우드 서버(140)는 단계 S420에서 판단한 결과에 기초하여 텍스트가 많을수록 미리 정해진 복수의 인코딩 방법들 중에서 인코딩의 속도 증가보다 인코딩으로 인한 데이터 손실 감소에 더 우선순위를 두고 인코딩 방법을 결정할 수 있다. 즉 클라우드 서버(140)는 스크린 데이터를 구성하는 컨텐츠 중 텍스트가 많을수록 느리지만 정확한 방식의 인코딩 방법을 선택할 수 있다.
클라우드 서버(140)는 컨텐츠 중 텍스트를 인코딩할 때 같은 면적의 그래픽이나 이미지를 인코딩할 때 필요한 데이터량보다 적은 데이터량으로 더 정확하게 인코딩할 수 있다. 그러나 만약 클라우드 서버(140)가 텍스트를 텍스트로 인식하지 못하고 이미지나 그래픽으로 인식하여 인코딩한다면 텍스트로 인식하여 인코딩하는 경우보다 인코딩에 훨씬 많은 데이터량을 필요로 하고 정확도도 낮아질 수 있다.
따라서 스크린 데이터를 구성하는 컨텐츠 중 텍스트의 비율이 높은 경우, 상대적으로 텍스트 정보를 정확하게 처리하는데 중점을 두도록 설정된 인코딩 방식을 클라우드 서버(140)가 선택할 수 있다.
단계 S440에서 클라우드 서버(140)는 단계 S430에서 결정된 인코딩 방식으로 스크린 데이터의 인코딩을 수행할 수 있다.
단계 S450에서 클라우드 서버(140)는 단계 S440에서 인코딩된 스크린 데이터를 클라이언트(110 내지 130)에 송신할 수 있다. 데이터의 송신은 인터넷(150)을 통해 이루어질 수 있다. 단계 S450은 단계 S330과 유사할 수 있다.
도 5는 본 발명의 일 실시 예에 따라 클라우드 서버(140)가 스크린 데이터를 하나 이상의 그룹으로 분류하여 인코딩을 수행하는 방법의 흐름도이다.
단계 S510에서 클라우드 서버(140)는 클라이언트(110 내지 130)에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단할 수 있다. 단계 S510은 단계 S310과 유사할 수 있다.
단계 S520에서 클라우드 서버(140)는 단계 S510에서 판단된 컨텐츠 속성에 따라 스크린 데이터를 하나 이상의 그룹으로 분류할 수 있다. 따라서 같은 속성을 가진 컨텐츠끼리 하나의 그룹을 형성할 수 있다. 클라우드 서버(140)는 추출에 의해 스크린 데이터를 하나 이상의 그룹으로 분류할 수 있다. 또는 클라우드 서버(140)는 영역 설정에 의해 스크린 데이터를 하나 이상의 그룹으로 분류할 수 있다. 그러나 하나의 그룹이 항상 같은 속성을 가진 컨텐츠만으로 형성되는 것은 아니다.
추출에 의한 분류는 스크린 데이터에서 특정 속성을 가진 컨텐츠만을 뽑아내는 것을 의미할 수 있다. 스크린 데이터가 복수의 컨텐츠로 이루어져 있고, 모든 컨텐츠가 동일한 속성을 가진 것은 아닐 때, 특정 속성을 가진 컨텐츠만을 스크린 데이터로부터 추출할 수 있다. 추출에 의한 분류와 관련하여 보다 자세한 사항은 도 8 에서 후술한다.
또한, 영역 설정에 따른 분류가 이루어질 수도 있다. 영역 설정에 따른 분류 방식은 특정 속성의 컨텐츠가 특정 영역에 모여있는 경우에 보다 효과적일 수 있다. 특정 속성의 컨텐츠가 특정 영역에 모여있다고 판단될 경우 클라우드 서버(140)는 해당 영역을 다른 영역과 구분하여 하나의 그룹으로 분류할 수 있다. 보다 구체적인 영역 설정에 따른 분류 방식은 도 9 및 도 10에서 후술한다.
단계 S530에서 클라우드 서버(140)는 분류된 그룹별로 독립적으로 결정된 인코딩 방식에 따라 인코딩을 수행할 수 있다. 각 그룹별로 인코딩 방식은 독립적으로 결정될 수 있다. 각 그룹별로 결정된 인코딩 방식은 서로 상이할 수도 있고, 같을 수도 있다. 각 그룹별로 결정된 인코딩 방식은 미리 정해진 복수개의 인코딩 방식 중 하나일 수 있다.
스크린 데이터를 구성하는 컨텐츠의 속성에 따라 클라우드 서버(140)는 손실 있는 또는 손실 없는 인코딩 방식을 개별적으로 선택할 수 있다. 따라서 인코딩 방식을 개별적으로 선택하는 방식은 적은 대역폭(bandwidth)을 소모하면서 신뢰성 있게 스크린 데이터를 전송할 수 있도록 한다.
단계 S540에서 클라우드 서버(140)는 단계 S530에서 인코딩된 스크린 데이터 및 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 클라이언트(110 내지 130)에 송신할 수 있다. 데이터의 송신은 인터넷(150)을 통해 이루어질 수 있다. 본 단계는 S330단계와 유사할 수 있다.
도 6은 본 발명의 일 실시 예에 따라 클라이언트(110 내지 130)가 스크린 데이터를 디스플레이하는 방법의 흐름도이다.
단계 S610에서 클라이언트(110 내지 130)는 스크린 데이터 및 스크린 데이터를 구성하는 컨텐츠의 속성정보를 클라우드 서버(140)로부터 수신할 수 있다. 클라우드 서버(140)는 스크린 데이터를 인코딩하여 클라우드 서버(140)로 송신할 수 있다. 그리고 클라우드 서버(140)는 인코딩된 스크린 데이터뿐만 아니라 스크린 데이터를 구성하는 컨텐츠의 속성정보를 함께 송신할 수 있다. 그리고 클라이언트(110 내지 130)는 스크린 데이터를 구성하는 컨텐츠의 속성정보를 클라우드 서버(140)로부터 수신할 수 있다.
단계 S620에서 클라이언트(110 내지 130)는 단계 S910에서 수신한 속성 정보에 기초하여 스크린 데이터를 디코딩할 수 있다. 클라우드 서버(140)에서 인코딩한 방식에 기초하여 각각의 인코딩 방식에 상응하는 디코딩 방식으로 각각의 인코딩된 스크린 데이터가 클라이언트(110 내지 130)에서 디코딩될 수 있다.
단계 S630에서 클라이언트(110 내지 130)는 단계 S620에서 디코딩된 스크린 데이터를 디스플레이할 수 있다.
도 7은 본 발명의 일 실시 예에 따라 클라이언트(110 내지 130)가 수신한 속성 정보에 기초하여 디코딩 방법을 결정하여 스크린 데이터를 디스플레이하는 방법의 흐름도이다.
단계 S710에서 클라이언트(110 내지 130)는 스크린 데이터 및 스크린 데이터를 구성하는 컨텐츠의 속성정보를 클라우드 서버(140)로부터 수신할 수 있다. 본 단계는 단계 S610과 유사할 수 있다.
단계 S720에서 클라이언트(110 내지 130)는 단계 S710에서 수신한 컨텐츠의 속성정보에 기초하여 텍스트가 많을수록 미리 정해진 복수의 디코딩 방법들 중 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실 감소에 더 우선순위를 두고 디코딩 방법을 결정할 수 있다. 클라이언트(110 내지 130)는 클라우드 서버(140)로부터 수신한 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 이용하여, 보다 효율적인 방식으로 디코딩이 이루어지도록 디코딩 방법을 결정할 수 있다.
보다 구체적으로 스크린 데이터를 구성하는 컨텐츠 중 텍스트의 비율이 높을수록 데이터 손실감소에 더 우선순위를 둔 방식으로 클라이언트(110 내지 130)는 디코딩을 수행할 수 있다. 컨텐츠 중 텍스트는 텍스트로 인식되면 정확한 디코딩이 빠르게 수행될 수 있다. 따라서 텍스트가 차지하는 비율이 높을수록 텍스트를 추출하여 정확하게 디코딩하는 방식으로 클라이언트(110 내지 130)는 디코딩을 수행할 수 있다.
단계 S730에서 클라이언트(110 내지 130)는 단계 S720에서 결정된 디코딩 방식에 따라 스크린 데이터를 디코딩할 수 있다.
단계 S740에서 클라이언트(110 내지 130)는 단계 S730에서 디코딩된 스크린 데이터를 디스플레이할 수 있다.
도 8은 본 발명의 일 실시 예에 따라 스크린 데이터에서 일부 컨텐츠의 추출이 이루어지는 일례를 도시한 도면이다.
이미지와 텍스트로 스크린 데이터가 구성되어있는 경우 텍스트가 추출되어 분류될 수 있다.
이미지와 텍스트로 구성된 스크린 데이터(810)에서 클라우드 서버(140)는 텍스트(820)부분을 추출할 수 있다. 이를 통해 클라우드 서버(140)는 스크린 데이터의 텍스트(820) 부분과 이미지(830) 부분을 분리할 수 있다. 이처럼 클라우드 서버(140)는 스크린 데이터를 구성하는 컨텐츠의 속성에 따라서 스크린 데이터를 여러 그룹으로 분류할 수 있다. 또한, 이와 같은 분류는 추출에 의해서 수행될 수 있다.
추출을 통한 분류가 이루어진 경우 같은 속성을 가진 컨텐츠들이 하나의 그룹으로 구성될 수 있다. 즉 추출을 통한 분류가 이루어진 경우 각 그룹은 하나의 속성을 가진 컨텐츠만으로 구성될 수 있다. 그러나 추출이 항상 완벽하게 이루어지지 않을 수 있다.
또한, 추출은 특정한 속성을 가진 컨텐츠만을 뽑아내는 방식으로 이루어질 수 있다. 예를 들면 이미지(830)와, 텍스트(820)로 구성되어있는 스크린 데이터(810)에서 텍스트(820)와 이미지(830)가 각각 추출되어 다른 그룹으로 분류될 수 있다.
도 9는 본 발명의 일 실시 예에 따라 스크린 데이터의 영역 분할이 이루어지는 일례를 도시한 도면이다.
스크린 데이터는 복수개의 컨텐츠로 이루어질 수 있다. 또한, 각각의 컨텐츠는 각각 다른 속성을 가질 수 있다. 또한, 특정 속성을 가진 컨텐츠가 화면상의 특정 위치에 배치되어있을 수 있다. 예를 들면 자막은 화면의 하단 중앙부에 위치할 수 있다. 이 경우 텍스트 속성을 가진 컨텐츠가 화면의 하단 중앙부에 높은 비율로 위치한다고 볼 수 있다. 다만, 화면 중앙 하단부의 영역도 텍스트 컨텐츠만 있는 것은 아니고 자막 뒤로 그래픽이나 이미지 등의 다른 컨텐츠도 해당 영역에 함께 존재할 수 있다. 이 경우 화면 중앙 하단부의 영역에는 텍스트 컨텐츠의 비율이 높은 것으로 볼 수 있다.
특정 속성의 컨텐츠가 특정 영역에 위치한 경우 해당 영역을 분할하여 그룹으로 나누는 방식이 효율적일 수 있다.
또는 특정 속성의 컨텐츠의 비율이 특정 영역에서 높을 경우 해당 영역을 분할하여 그룹으로 나눌 수 있다.
일반적인 웹페이지 포털화면의 경우에는 텍스트가 표시되는 영역과 애니메이션 등이 표시되는 영역이 구분되는 것이 일반적이므로 영역 분류 방식이 추출에 의한 분류방식보다 효율적일 수 있다.
또한, 영역 분할에 따른 분류에서 영역은 중복될 수도 있고, 중복되지 않을 수도 있다. 보다 구체적으로 도 9는 영역이 중복되는 경우의 일 실시 예를 도시하고 있다.
영역 A(910)는 영역 B(920)에 포함되고, 영역 B(920)는 영역 C(930)와 일부 범위에서 중복된다.
이와 같이 중복을 허용하는 영역 분할 방식은 스크린 데이터의 특정 영역이 특정 속성의 컨텐츠만으로 구성되지 않고, 복수의 컨텐츠가 혼재해서 존재하는 경우 효율적일 수 있다.
도 10은 본 발명의 일 실시 예에 따라 스크린 데이터의 영역 분할이 중복 없이 이루어지는 일례를 도시한 도면이다.
영역 A(1010), 영역 B(1020), 영역 C(1030)는 서로 중복되는 부분이 없다. 또한, 중복 없는 영역 분할 방식은 미리 설정되어있는 방식으로 영역분할이 이루어질 수도 있고, 스크린 데이터의 속성에 따라 분할 영역이 선택될 수도 있다.
예를 들면 화면의 중앙 하단 부분에 자막이 나오는 경우 영역 C(1030) 부분이 하나의 영역으로 분류될 수 있다. 영역 C(1030)는 텍스트 컨텐츠만으로 구성된 것은 아닐 수 있다. 그러나 영역 C(1030)를 구성하는 컨텐츠 중에서 텍스트 컨텐츠의 비율이 높을 수 있다.
영역 분할의 방식이 중복되는 면적이 있는 것을 허용하는지 여부는 미리 설정되어있을 수 있고, 스크린 데이터의 속성에 따라서 바뀔 수 있다.
도 11은 본 발명의 일 실시 예에 따라 클라우드 서버(140)를 도시한 블록도이다.
또한, 본 발명의 일 실시 예로, 클라우드 서버(140)는 하나 이상의 기능을 수행하기 위한 하나 이상의 처리장치를 포함할 수 있다. 처리장치는 특정한 기능의 수행을 위한 소프트웨어 명령을 대신하거나, 소프트웨어와 함께 사용되는 하드웨어 회로일 수 있다.
판단부(1110)는 클라이언트(110 내지 130)에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단할 수 있다. 보다 구체적으로 판단부(1110)는 스크린 데이터가 복수개의 컨텐츠로 구성되어있을 때 각각의 컨텐츠를 구별하고, 각각의 컨텐츠의 속성을 판단할 수 있다.
분류부(1120)는 판단부에서 판단한 컨텐츠의 속성에 따라 스크린 데이터를 하나 이상의 그룹으로 분류할 수 있다. 보다 구체적으로, 분류부(1120)는 서로 다른 속성을 가진 컨텐츠들을 서로 구분하여 각각 다른 그룹으로 분류할 수 있다.
분류부(1120)는 컨텐츠의 속성에 따라 스크린 데이터를 분류하기 위해서 복수개의 데이터 매트릭스를 이용할 수 있다. 일 실시 예로 분류에 앞서 분류부(1120)는 스크린 데이터를 구성하고 있는 컨텐츠가 인위적 데이터인지 자연적 데이터인지 구분할 수 있다. 자연적 데이터의 예로 그래픽, 이미지, 비디오가 있을 수 있고, 인위적 데이터의 예로 텍스트가 있을 수 있다.
인코더(1130)는 스크린 데이터를 구성하는 컨텐츠들의 속성에 따라 스크린 데이터에 대한 인코딩을 수행할 수 있다. 이때 인코더(1130)는 인코딩 수행을 위해 코덱을 사용할 수 있다.
코덱은 스크린 데이터를 인코딩하는 과정에서 손실이 있는 인코딩을 수행할 수 있다. 그러나 손실이 있는 인코딩이 수행된 데이터를 전송하는 경우 손실이 있는 인코딩이 수행되지 않은 데이터를 전송하는 경우보다 적은 대역폭(bandwidth)을 소모할 수 있다.
또한, 코덱은 스크린 데이터를 인코딩하는 과정에서 손실이 없는 인코딩을 수행할 수 있다. 코덱이 손실 없는 인코딩을 수행할 경우 전송된 데이터의 신뢰성이 높아질 수 있다.
또한, 코덱은 그래픽, 이미지, 비디오와 같은 속성의 컨텐츠를 인코딩할 때에는 손실이 있는 인코딩 방식으로 인코딩을 수행하고, 텍스트와 같은 속성의 컨텐츠를 인코딩할 때에는 손실이 없는 인코딩 방식으로 인코딩을 수행할 수 있다.
또한, 코덱은 스크린 데이터를 구성하고 있는 컨텐츠의 속성을 판단하고 분리하기 위해 복수개의 입출력 채널을 포함할 수 있다.
본 발명은 컨텐츠의 속성에 따라 컨텐츠별로 인코딩 및 디코딩을 수행할 수 있다.
또한, 본 발명은 스크린 데이터를 제공하는 클라우드 서버(140)와, 스크린 데이터를 디스플레이하는 클라이언트(110 내지 130)와 관련된다. 따라서 이미지의 생성 및 공유가 모두 가능한 카메라 기능이 있는 모바일 장치는 본 발명의 일 실시 예로 클라우드 서버(140) 또는 클라이언트(110 내지 130)로 동작할 수 있다.
도 12는 본 발명의 일 실시 예에 따라 클라이언트(110 내지 130)를 도시한 블록도이다.
클라이언트(110 내지 130)는 VDI환경에서 동작할 수 있다.
또한, 스크린 데이터는 클라우드 서버(140)에 의해 생성될 수 있다.
수신부(1210)는 스크린 데이터 및 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 클라우드 서버로부터 수신할 수 있다. 수신은 인터넷(150)을 통해서 이루어질 수 있다.
디코더(1220)는 수신부(1210)에서 수신한 스크린 데이터를 구성하는 컨텐츠의 속성 정보에 기초하여 스크린 데이터를 디코딩할 수 있다.
또한, 디코더(1220)는 수신부(1210)에서 수신한 스크린 데이터를 구성하는 컨텐츠의 속성 정보에 기초하여 텍스트가 많을수록 미리 정해진 복수의 디코딩 방법들 중에서 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실의 감소에 더 우선순위를 두고 디코딩 방법을 결정할 수 있다.
디스플레이부(1230)는 디코더(1220)에서 디코딩된 스크린 데이터를 디스플레이할 수 있다.
클라이언트 장치(1200)는 정보를 교환하고 통신하기 위한 버스(1240)나 다른 통신 수단을 포함할 수 있다.
또한, 클라이언트(110)는 통신을 위한 버스(1240)나 다른 통신 수단과 연결될 수 있다.
또한, 클라이언트 장치(1200)는 저장장치(1260)를 포함할 수 있다. 저장장치(1260)는 RAM이나 다른 동적 저장 장치를 포함할 수 있다. 저장장치(1260)는 클라이언트(110)에 의해 처리되는 정보와 명령을 저장할 수 있고, 버스(1240)에 연결될 수 있다. 저장장치(1260)는 클라이언트(110)에의해 명령이 수행되는 동안 다른 중간 정보 및 임시 변수들을 저장할 수 있다. 저장장치(1260)는 명령 및 데이터의 저장을 위해 RAM과 같은 휘발성 저장장치뿐만 아니라 ROM과 같은 비휘발성 저장장치를 포함할 수 있다.
또한, 클라이언트 장치(1200)는 스크린 데이터를 디스플레이하기 위해 CRT와 같은 디스플레이 장치(1280)를 포함할 수 있다. 디스플레이 장치(1280)는 버스(1240)에 연결될 수 있다.
또한, 클라이언트 장치(1200)는 글자 숫자 및 다른 입력을 가능하도록 하는 입력장치(1250)를 포함할 수 있다. 입력장치(1250)는 마우스와 같이 커서의 움직임을 제어하기 위한 장치 및 키보드와 같이 사용자가 원하는 데이터를 입력할 수 있도록 하는 장치를 포함할 수 있다.
또한, 클라이언트 장치(1200)는 버스(1240)와 연결된 통신 인터페이스(1270)를 포함할 수 있다. 통신 인터페이스(1270)는 전화선 방식에 상응하는 데이터 통신 연결을 제공할 수 있는 ISDN이나 모뎀을 포함한다. 또한, 통신 인터페이스(1270)는 LAN과 호환되는 데이터 통신 연결을 제공하는 통신 수단을 포함할 수 있다. 통신 인터페이스(1270)는 데이터 흐름과 관련된 데이터 송수신 장치일 수 있다.
이상에서 전술한 본 발명의 실시 예에 따른 스크린 데이터 제공 방법 및 장치는, VDI 및 클라우드 컴퓨팅 환경에서 실행될 수 있고 컴퓨터로 읽을 수 있는 기록매체에 기록될 수 있다.
이러한 프로그램은 컴퓨터에 의해 읽힐 수 있는 기록매체에 기록되고 컴퓨터에 의해 실행됨으로써 전술한 기능들이 실행될 수 있다.
이와 같이, 본 발명의 각 실시 예에 따른 스크린 데이터 제공 방법 및 장치를 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다.
또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다.
또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈(예: 유선 및/또는 무선 통신 모듈)을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.
그리고 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
이상에서 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는, 일례로, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 미디어 저장장치 등이 있다.
또한, 전술한 바와 같은 프로그램을 기록한 컴퓨터로 읽힐 수 있는 기록매체는 네트워크로 커넥션된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 이 경우, 다수의 분산된 컴퓨터 중 어느 적어도 하나의 컴퓨터는 상기에 제시된 기능들 중 일부를 실행하고, 그 결과를 다른 분산된 컴퓨터들 중 적어도 하나에 그 실행 결과를 전송할 수 있으며, 그 결과를 전송받은 컴퓨터 역시 상기에 제시된 기능들 중 일부를 실행하여, 그 결과를 역시 다른 분산된 컴퓨터들에 제공할 수 있다.
특히, 본 발명의 각 실시 예에 따른 스크린 데이터 제공 방법 및 장치를 실행시키기 위한 프로그램인 애플리케이션을 기록한 컴퓨터로 읽을 수 있는 기록매체는, 애플리케이션 스토어 서버(Application Store Server), 애플리케이션 또는 해당 서비스와 관련된 웹 서버 등의 애플리케이션 제공 서버(Application Provider Server)에 포함된 저장매체(예: 하드디스크 등)이거나, 애플리케이션 제공 서버 그 자체일 수도 있다.
본 발명의 각 실시 예에 따른 스크린 데이터 제공 방법 및 장치를 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터는, 일반적인 데스크 탑이나 노트북 등의 일반 PC 뿐만 아니라, 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말을 포함할 수 있으며, 이뿐만 아니라, 컴퓨팅(Computing) 가능한 모든 기기로 해석되어야 할 것이다.
또한, 본 발명의 실시 예에 따른 스크린 데이터 제공 방법 및 장치를 실행시키기 위한 프로그램인 애플리케이션을 기록한 기록매체를 읽을 수 있는 컴퓨터가 스마트 폰, 태블릿 PC, PDA(Personal Digital Assistants) 및 이동통신 단말기 등의 모바일 단말인 경우, 애플리케이션은 애플리케이션 제공 서버에서 일반 PC로 다운로드 되어 동기화 프로그램을 통해 모바일 단말에 설치될 수도 있다.
이상에서, 본 발명의 실시 예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시 예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 적어도 하나로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 모든 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 그 컴퓨터 프로그램을 구성하는 코드들 및 코드 세그먼트들은 본 발명의 기술 분야의 당업자에 의해 용이하게 추론될 수 있을 것이다. 이러한 컴퓨터 프로그램은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시 예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 등이 포함될 수 있다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시 예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시 예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (19)

  1. 클라우드 서버가 스크린 데이터를 클라이언트에 제공하는 방법에 있어서,
    클라이언트에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하는 단계;
    상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 인코딩하는 단계; 및
    상기 인코딩된 스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 상기 클라이언트에 송신하는 단계를 포함하고,
    상기 인코딩하는 단계는
    상기 컨텐츠의 속성의 판단 결과 미리 정해진 속성의 컨텐츠의 양에 기초하여 미리 정해진 복수의 인코딩 방법들 중에서 인코딩의 속도 증가보다 인코딩으로 인한 데이터 손실의 감소에 더 우선 순위를 두고 인코딩 방법을 결정하는 단계를 포함하는 스크린 데이터 제공 방법.
  2. 제 1 항에 있어서,
    상기 미리 정해진 속성의 컨텐츠는, 텍스트를 포함하는, 스크린 데이터 제공 방법.
  3. 제 1 항에 있어서,
    상기 컨텐츠의 속성을 판단하는 단계는
    API Hooking 방식 또는 Proprietary Image Processing 방식을 이용하여 상기 컨텐츠의 속성을 판단하는 스크린 데이터 제공 방법.
  4. 제 1 항에 있어서,
    상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 단계를 더 포함하고,
    상기 인코딩하는 단계는
    상기 그룹별로 독립적으로 결정된 인코딩 방식에 따라 인코딩을 수행하는 스크린 데이터 제공 방법.
  5. 제 4 항에 있어서,
    상기 하나 이상의 그룹으로 분류하는 단계는
    상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 해당 컨텐츠의 추출을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 스크린 데이터 제공 방법.
  6. 제 4 항에 있어서,
    상기 하나 이상의 그룹으로 분류하는 단계는
    상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 영역 분할을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 스크린 데이터 제공 방법.
  7. 제 6 항에 있어서,
    상기 인코딩하는 단계는
    상기 영역 분할을 통해 분류된 하나의 그룹 내에 복수개의 컨텐츠 속성이 존재하는 경우, 상기 그룹 내에 존재하는 컨텐츠의 속성의 비율에 기초하여 상기 그룹의 인코딩 방법을 결정하는 단계를 포함하는 스크린 데이터 제공 방법.
  8. 클라이언트가 스크린 데이터를 디스플레이하는 방법에 있어서,
    스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 클라우드 서버로부터 수신하는 단계;
    상기 수신된 속성 정보에 기초하여 상기 스크린 데이터를 디코딩하는 단계; 및
    상기 디코딩된 스크린 데이터를 디스플레이하는 단계를 포함하고,
    상기 디코딩하는 단계는,
    상기 수신된 속성 정보에 기초하여 미리 정해진 속성의 컨텐츠의 양에 따라 미리 정해진 복수의 디코딩 방법들 중에서 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실의 감소에 더 우선순위를 두고 디코딩 방법을 결정하는 단계를 포함하는, 스크린 데이터 디스플레이 방법.
  9. 제 8 항에 있어서,
    상기 미리 정해진 속성의 컨텐츠는 텍스트를 포함하는, 스크린 데이터 디스플레이 방법.
  10. 스크린 데이터를 클라이언트에 제공하는 클라우드 서버에 있어서,
    클라이언트에서 표시할 스크린 데이터를 구성하는 컨텐츠의 속성을 판단하는 판단부;
    상기 판단된 컨텐츠의 속성에 따라 상기 스크린 데이터를 인코딩하는 인코더; 및
    상기 인코더에서 인코딩된 스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 상기 클라이언트에 송신하는 송신부를 포함하고,
    상기 인코더는,
    상기 판단부의 판단 결과 미리 정해진 속성의 컨텐츠의 양에 기초하여 미리 정해진 복수의 인코딩 방법들 중에서 인코딩의 속도 증가보다 인코딩으로 인한 데이터 손실의 감소에 더 우선 순위를 두고 인코딩 방법을 결정하는, 서버 장치.
  11. 제 10 항에 있어서,
    상기 미리 정해진 속성의 컨텐츠는, 텍스트를 포함하는, 서버 장치.
  12. 제 10 항에 있어서,
    상기 판단부는 API Hooking 방식 또는 Proprietary Image Processing 방식을 이용하여 상기 컨텐츠의 속성을 판단하는 서버 장치
  13. 제 10 항에 있어서
    상기 판단부에서 판단한 컨텐츠의 속성에 따라 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 분류부를 더 포함하고,
    상기 인코더는 상기 그룹별로 독립적으로 결정된 인코딩 방식에 따라 인코딩을 수행하는 서버 장치.
  14. 제 13 항에 있어서,
    상기 분류부는
    상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 해당 컨텐츠의 추출을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 서버 장치.
  15. 제 13 항에 있어서,
    상기 분류부는
    상기 스크린 데이터를 구성하는 상기 컨텐츠의 속성에 기초한 영역 분할을 통해 상기 스크린 데이터를 하나 이상의 그룹으로 분류하는 서버 장치.
  16. 제 15 항에 있어서,
    상기 인코더는
    상기 영역 분할을 통해 분류된 하나의 그룹 내에 복수개의 컨텐츠 속성이 존재하는 경우, 상기 그룹 내에 존재하는 컨텐츠의 속성의 비율에 기초하여 상기 그룹의 인코딩 방법을 결정하는 서버 장치.
  17. 클라우드 서버에 의해 생성된 스크린 데이터를 디스플레이하는 클라이언트에 있어서,
    스크린 데이터 및 상기 스크린 데이터를 구성하는 컨텐츠의 속성 정보를 상기 클라우드 서버로부터 수신하는 수신부;
    상기 수신된 속성 정보에 기초하여 상기 스크린 데이터를 디코딩 하는 디코더; 및
    상기 디코딩된 스크린 데이터를 디스플레이하는 디스플레이부를 포함하고,
    상기 디코더는,
    상기 수신된 속성 정보에 기초하여 미리 정해진 속성의 컨텐츠의 양에 따라 미리 정해진 복수의 디코딩 방법들 중에서 디코딩의 속도 증가보다 디코딩으로 인한 데이터 손실의 감소에 더 우선순위를 두고 디코딩 방법을 결정하는, 클라이언트 장치.
  18. 제 17 항에 있어서,
    상기 미리 정해진 속성의 컨텐츠는 텍스트를 포함하는, 클라이언트 장치.
  19. 제 1 항 내지 제 9 항 중 어느 한 항에 따른 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020130087607A 2012-11-12 2013-07-24 스크린 데이터 제공 방법 및 장치 KR102130811B1 (ko)

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
IN4724/CHE/2012 2012-11-12
IN4724CH2012 2012-11-12

Publications (2)

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

Family

ID=50890315

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130087607A KR102130811B1 (ko) 2012-11-12 2013-07-24 스크린 데이터 제공 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102130811B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102326419B1 (ko) * 2020-05-04 2021-11-12 에스케이브로드밴드주식회사 키오스크 및 키오스크를 이용한 데이터 처리 방법

Citations (2)

* 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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101017344B1 (ko) * 2010-04-02 2011-02-28 (주) 아이티비엠지 양방향 컨텐츠 서비스를 송수신하는 방법 및 이를 위한 유비쿼터스 서버 및 유비쿼터스 단말
KR20120064882A (ko) * 2010-12-10 2012-06-20 주식회사 케이티 미디어 렌더러를 위한 범용 플러그 앤 플레이 네트워크 기반의 컴퓨팅 공유 시스템 및 방법

Patent Citations (2)

* 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

Also Published As

Publication number Publication date
KR20140061220A (ko) 2014-05-21

Similar Documents

Publication Publication Date Title
US10885100B2 (en) Thumbnail-based image sharing method and terminal
EP3023930B1 (en) Screenshot processing device and method for same
KR20200062372A (ko) 자동화된 로컬 스토리 생성 및 큐레이션
US20220255890A1 (en) Automatically selecting an ephemeral message availability
US20210329079A1 (en) Methods, devices and computer-readable storage media for processing a hosted application
KR20160140700A (ko) 이미지의 자동화된 선택적 업로드 기법
US20200272693A1 (en) Topic based summarizer for meetings and presentations using hierarchical agglomerative clustering
CN109274999A (zh) 一种视频播放控制方法、装置、设备及介质
US20160026728A1 (en) Interaction Method And Device Between Browsers And Browser
US9329878B2 (en) Apparatus and method for providing virtual API for mashup service
JP2022088304A (ja) ビデオを処理するための方法、装置、電子機器、媒体及びコンピュータプログラム
KR20150106479A (ko) 컨텐츠 공유 서비스 시스템, 그의 컨텐츠 공유를 위한 장치 및 컨텐츠 공유 서비스 제공 방법
CN113765873A (zh) 用于检测异常访问流量的方法和装置
CN109791545B (zh) 用于包括图像的显示的资源的上下文信息
KR20140060217A (ko) 오디오 신호에 의해 메시지를 포스팅하는 시스템 및 방법
US9053526B2 (en) Method and apparatus for encoding cloud display screen by using application programming interface information
KR102130811B1 (ko) 스크린 데이터 제공 방법 및 장치
US20140072223A1 (en) Embedding Media Content Within Image Files And Presenting Embedded Media In Conjunction With An Associated Image
KR102247886B1 (ko) 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US20180255313A1 (en) Display apparatus and control method therefor
US9066071B2 (en) Method and apparatus for providing screen data
US20230144326A1 (en) Contextual smart switching via multi-modal learning mechanism
CN111787410B (zh) 一种键盘输入方法和键盘输入装置
KR20150101846A (ko) 스케치를 기반으로 하는 영상 분류 서비스 시스템, 사용자 장치, 서비스 제공 장치, 그 서비스 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN114245171A (zh) 视频编辑方法、装置、电子设备、介质

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