KR20170025140A - System for cloud streaming service, method of image cloud streaming service based on detection of change area using operating system massage and apparatus for the same - Google Patents

System for cloud streaming service, method of image cloud streaming service based on detection of change area using operating system massage and apparatus for the same Download PDF

Info

Publication number
KR20170025140A
KR20170025140A KR1020150121128A KR20150121128A KR20170025140A KR 20170025140 A KR20170025140 A KR 20170025140A KR 1020150121128 A KR1020150121128 A KR 1020150121128A KR 20150121128 A KR20150121128 A KR 20150121128A KR 20170025140 A KR20170025140 A KR 20170025140A
Authority
KR
South Korea
Prior art keywords
region
change area
image
area
message
Prior art date
Application number
KR1020150121128A
Other languages
Korean (ko)
Other versions
KR102442698B1 (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 KR1020150121128A priority Critical patent/KR102442698B1/en
Publication of KR20170025140A publication Critical patent/KR20170025140A/en
Application granted granted Critical
Publication of KR102442698B1 publication Critical patent/KR102442698B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists

Abstract

Disclosed are a cloud streaming service system, an image cloud streaming service method based on detection of a change area using an OS message, and an apparatus therefor. According to the present invention, at least one change area among a plurality of frames constituting an execution screen of an application is captured by acquiring at least one change area message corresponding to a screen update of the application based on an OS message, at least one encoding area is generated by considering image characteristics of each of a plurality of areas when an actual change area corresponding to the at least one change area corresponds to more than one area, and each of the at least one encoding area is encoded into a still image and transmitted to a user terminal via streaming. Since a computation amount for screen comparison during a cloud streaming service is reduced, it is possible to efficiently operate the system.

Description

클라우드 스트리밍 서비스 시스템, OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치{SYSTEM FOR CLOUD STREAMING SERVICE, METHOD OF IMAGE CLOUD STREAMING SERVICE BASED ON DETECTION OF CHANGE AREA USING OPERATING SYSTEM MASSAGE AND APPARATUS FOR THE SAME}TECHNICAL FIELD [0001] The present invention relates to a cloud streaming service system, a cloud streaming service system, an image cloud streaming service method based on detection of a change area using an OS message, and a device for the same. BACKGROUND OF THE INVENTION 1. Field of the Invention SAME}

본 발명은 이미지 기반의 클라우드 스트리밍 서비스 기술에 관한 것으로, 특히 서버의 OS 단에서 화면의 변화 정보를 포함하는 업데이트 메시지를 획득하여 차이 영역을 비교함으로써, 화면의 비교 연산을 감소시켜 시스템의 효율을 향상시킬 수 이는 클라우드 스트리밍 서비스 시스템, OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치에 관한 것이다.The present invention relates to an image-based cloud streaming service technology, and more particularly, to an image processing method and system for improving efficiency of a system by reducing comparison operations of a screen by acquiring an update message including information of a screen change at an OS The present invention relates to a cloud streaming service system, an image cloud streaming service method based on detection of a change area using an OS message, and an apparatus therefor.

인터넷의 급속한 발달은 개인의 통신 속도를 급격히 향상시키는 결과를 가져왔으며, 이러한 통신 속도의 향상은 원격지에 위치한 컴퓨터에 접속하여 대용량의 데이터를 다운로드 또는 업로드 하거나, 원격지 컴퓨터 제어 프로그램을 사용하여 마치 원격지 컴퓨터에 로컬 로그인한 것과 같이 원격지 컴퓨터를 이용할 수 있는 환경을 제공하고 있다.The rapid development of the Internet has resulted in a rapid increase in the communication speed of an individual. The improvement in the communication speed can be achieved by downloading or uploading a large amount of data by accessing a computer located at a remote place, or by using a remote computer control program, As well as providing an environment in which a remote computer can be used.

또한, 스마트폰과 같은 이동통신 단말에서 구동되는 어플리케이션이 다양하게 개발되면서, 비교적 낮은 성능의 사용자 단말에서 높은 성능을 필요로 하는 어플리케이션을 구동하기 위한 가상화 기술들이 많이 제안되고 있다. In addition, as a variety of applications have been developed for mobile communication terminals such as smart phones, many virtualization technologies have been proposed for driving applications requiring high performance in relatively low performance user terminals.

그 중에서 어플리케이션을 서버에서 구동시키고 구동화면은 비디오 인코딩(Encoding)을 통해 압축하여 클라이언트로 전송하고, 클라이언트는 전송된 비디오를 재생하여 마치 자신의 단말에서 어플리케이션이 구동되는 것과 같은 효과를 내는 화면 가상화 기반의 클라우드 스트리밍 서비스가 각광받고 있는 추세이다.Among them, the application is driven on the server, the driving screen is compressed through video encoding and transmitted to the client, and the client reproduces the transmitted video to generate a screen virtualization Cloud streaming service is becoming popular.

클라우드 스트리밍 서비스는 기본적으로 비디오 코덱 기반의 클라우드 스트리밍 기법이 적용되었다. 그러나 메뉴 디스플레이와 같이 정적인 화면을 서비스 하는 경우에도 불필요하게 화면 전체를 캡처하고 비디오 코덱을 이용하여 동작하게 되어 시스템 전체적으로 비효율적인 측면이 존재하였다.The cloud streaming service basically adopts the cloud streaming method based on the video codec. However, even when a static screen such as a menu display is serviced, the entire screen is unnecessarily captured and operated using a video codec, which makes the overall system ineffective.

따라서, 사용자의 요청에 따리 실행된 어플리케이션의 실행화면에서 OS 메시지를 기반으로 변화된 부분만 캡처하고, 변화된 부분에서 실제 변화 부분만을 검출하여 이미지 특성에 따라 효율적인 스틸 이미지 인코딩을 수행할 수 있는 이미지 기반의 클라우드 스트리밍 서비스 기술이 절실하게 대두된다.Therefore, it is possible to capture the changed part based on the OS message on the execution screen of the application executed according to the user's request, to detect the actual change part in the changed part, and to perform efficient still image encoding according to the image characteristic. Cloud streaming service technology is in desperate need.

한국 공개 특허 제1997-0032124호, 1997년 6월 26일 공개 (명칭: 전송이미지의 특성에 따라 압축방식을 달리하는 이미지 전송장치 및 그 방법)Korean Unexamined Patent Publication No. 1997-0032124, published on June 26, 1997 (name: an image transmission apparatus with different compression schemes according to characteristics of a transmission image and a method thereof)

본 발명의 목적은, 이미지 기반의 클라우드 스트리밍 시 OS 단에서 획득한 업데이트 메시지를 기반으로 영역 비교를 수행함으로써 서버에서의 비교 연산을 감소시키는 것이다.It is an object of the present invention to reduce the comparison operation in the server by performing region comparison based on the update message obtained at the OS in the image-based cloud streaming.

또한, 본 발명의 목적은 이미지의 특성에 따른 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행함으로써 보다 효율적으로 이미지 기반의 클라우드 스트리밍 서비스를 제공하는 것이다. It is another object of the present invention to provide an image-based cloud streaming service more efficiently by performing still image encoding using a still image encoding technique according to image characteristics.

또한, 본 발명의 목적은 사용자 단말에서 프레임의 변화된 이미지만을 렌더링하여 디스플레이 하도록 함으로써 사용자 단말의 성능이 낮더라도 클라우드 스트리밍 서비스를 원활하게 제공하는 것이다.It is another object of the present invention to smoothly provide a cloud streaming service even when the performance of a user terminal is low by rendering only a changed image of a frame in a user terminal.

상기한 목적을 달성하기 위한 본 발명에 따른 클라우드 스트리밍 서버는 OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득하는 메시지 획득부; 상기 적어도 하나의 변화 영역 메시지를 기반으로 상기 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처하는 캡처부; 상기 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하는 실제 변화 영역 검출부; 및 상기 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 상기 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 상기 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송하는 스트리밍부를 포함한다.According to an aspect of the present invention, there is provided a cloud streaming server comprising: a message acquisition unit for acquiring at least one change area message corresponding to a screen update of an application based on an OS message; A capture unit capturing at least one change area of a plurality of frames constituting an execution screen of the application based on the at least one change area message; An actual change area detecting unit detecting an actual change area corresponding to the at least one change area; And generating at least one encoding region by considering image characteristics of each of the plurality of regions when the actual change region corresponds to a plurality of regions, And a streaming unit for streaming and transmitting the streaming data to the terminal.

이 때, 캡처부는 상기 적어도 하나의 변화 영역 메시지가 누적되어 저장된 변화 영역 리스트를 참조하여 상기 복수개의 프레임들 중 변화가 발생한 적어도 하나의 프레임을 추출하고, 상기 적어도 하나의 프레임에서 상기 적어도 하나의 변화 영역 메시지에 포함된 영역 정보를 기반으로 사각형에 상응하는 상기 적어도 하나의 변화 영역을 캡처할 수 있다.At this time, the capturing unit extracts at least one frame in which a change has occurred among the plurality of frames with reference to the change area list in which the at least one change area message is accumulated and stored, and the at least one change And capture the at least one change area corresponding to the rectangle based on the area information included in the area message.

이 때, 스트리밍부는 상기 복수개의 영역들 중 상기 이미지 특성이 제1 타입에 상응하는 제1 영역이 상기 이미지 특성이 제2 타입에 상응하는 제2 영역을 포함하는 경우에, 상기 제1 영역에서 상기 제2 영역을 제외한 영역 및 상기 제2 영역 중 하나 이상에 상응하도록 상기 적어도 하나의 인코딩 영역을 생성할 수 있다.In this case, when a first region of the plurality of regions corresponding to the first type of the plurality of regions includes a second region corresponding to the second type, The at least one encoded region may be generated to correspond to at least one of the region excluding the second region and the second region.

이 때, 스트리밍부는 상기 제2 영역을 구성하는 픽셀들 중 상기 제1 타입에 상응하는 픽셀이 혼합된 경우에 상기 픽셀들 중 상기 제2 타입에 상응하는 픽셀들을 모두 포함하는 제3 영역을 생성하고, 상기 제1 영역에서 상기 제3 영역을 제외한 영역 및 상기 제3 영역 중 하나 이상에 상응하도록 상기 적어도 하나의 인코딩 영역을 생성할 수 있다.At this time, when a pixel corresponding to the first type among the pixels constituting the second region is mixed, the streaming unit generates a third region including all the pixels corresponding to the second type among the pixels The region excluding the third region in the first region, and the at least one encoded region to correspond to at least one of the third region.

이 때, 이미지 특성은 자연(Natural) 이미지 및 합성(Synthetic) 이미지 중 적어도 하나에 상응할 수 있다.At this time, the image characteristic may correspond to at least one of a Natural image and a Synthetic image.

이 때, 스트리밍부는 상기 적어도 하나의 인코딩 영역 중 상기 자연 이미지에 상응하는 영역은 JPEG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행하고, 상기 적어도 하나의 인코딩 영역 중 상기 합성 이미지에 상응하는 영역은 PNG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행할 수 있다.In this case, the streaming unit performs still image encoding using the JPEG still image encoding technique in the area corresponding to the natural image among the at least one encoding area, and the area corresponding to the synthetic image in the at least one encoding area is PNG still Still image encoding can be performed using an image encoding technique.

이 때, 스트리밍부는 상기 복수개의 영역들 중 상기 이미지 특성이 상이한 적어도 둘 이상의 영역들이 겹쳐지는 경우에 겹쳐진 영역을 상기 적어도 둘 이상의 영역에서 제외하고, 상기 겹쳐진 영역에 상응하는 스틸 이미지 인코딩 기법으로 상기 겹쳐진 영역을 스틸 이미지 인코딩할 수 있다.In this case, the streaming unit may exclude the overlapping region from the at least two regions when at least two regions having different image characteristics are overlapped among the plurality of regions, and the overlapping region is overlapped by the still image encoding technique corresponding to the overlapping region. The region can be still image encoded.

이 때, 스트리밍부는 상기 제2 영역을 스틸 이미지 인코딩한 이미지를 상기 제1 영역에서 상기 제2 영역을 제외한 영역을 스틸 이미지 인코딩한 이미지 위에 겹쳐서 상기 사용자의 단말로 스트리밍 전송할 수 있다.At this time, the streaming unit may transmit the still image-encoded image of the second region over the still image-encoded image of the region excluding the second region in the first region, and transmit the streamed image to the terminal of the user.

이 때, 메시지 획득부는 상기 어플리케이션의 실행화면을 렌더링하면서 상기 변화 영역 리스트에 상기 적어도 하나의 변화 영역 메시지를 누적하여 저장할 수 있다.At this time, the message acquisition unit may accumulate and store the at least one change area message in the change area list while rendering the execution screen of the application.

또한, 본 발명에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법은 OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득하는 단계; 상기 적어도 하나의 변화 영역 메시지를 기반으로 상기 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처하는 단계; 상기 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하는 단계; 및 상기 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 상기 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 상기 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송하는 단계를 포함한다.According to another aspect of the present invention, there is provided an image cloud streaming service method based on detection of a change area using an OS message, the method comprising: obtaining at least one change area message corresponding to a screen update of an application based on an OS message; Capturing at least one change area of a plurality of frames constituting an execution screen of the application based on the at least one change area message; Detecting an actual change area corresponding to the at least one change area; And generating at least one encoding region by considering image characteristics of each of the plurality of regions when the actual change region corresponds to a plurality of regions, And transmitting the streaming data to the terminal.

이 때, 캡처하는 단계는 상기 적어도 하나의 변화 영역 메시지가 누적되어 저장된 변화 영역 리스트를 참조하여 상기 복수개의 프레임들 중 변화가 발생한 적어도 하나의 프레임을 추출하는 단계를 포함하고, 상기 적어도 하나의 프레임에서 상기 적어도 하나의 변화 영역 메시지에 포함된 영역 정보를 기반으로 사각형에 상응하는 상기 적어도 하나의 변화 영역을 캡처할 수 있다.Wherein the capturing includes extracting at least one frame in which a change has occurred in the plurality of frames with reference to the change area list in which the at least one change area message is accumulated and stored, The at least one change area corresponding to a rectangle based on the area information included in the at least one change area message.

이 때, 스트리밍 전송하는 단계는 상기 복수개의 영역들 중 상기 이미지 특성이 제1 타입에 상응하는 제1 영역이 상기 이미지 특성이 제2 타입에 상응하는 제2 영역을 포함하는 경우에, 상기 제1 영역에서 상기 제2 영역을 제외한 영역 및 상기 제2 영역 중 하나 이상에 상응하도록 상기 적어도 하나의 인코딩 영역을 생성할 수 있다.At this time, in the case where the first region corresponding to the first type of the image characteristic among the plurality of regions includes the second region corresponding to the second type, The at least one encoded region may be generated to correspond to at least one of the region excluding the second region and the second region in the region.

이 때, 스트리밍 전송하는 단계는 상기 제2 영역을 구성하는 픽셀들 중 상기 제1 타입에 상응하는 픽셀이 혼합된 경우에 상기 픽셀들 중 상기 제2 타입에 상응하는 픽셀들을 모두 포함하는 제3 영역을 생성하고, 상기 제1 영역에서 상기 제3 영역을 제외한 영역 및 상기 제3 영역 중 하나 이상에 상응하도록 상기 적어도 하나의 인코딩 영역을 생성할 수 있다.In this case, the streaming transmission may include a third region including all the pixels corresponding to the second type of the pixels when the pixels corresponding to the first type among the pixels constituting the second region are mixed, And generate the at least one encoded region to correspond to at least one of the region excluding the third region and the third region in the first region.

이 때, 이미지 특성은 자연(Natural) 이미지 및 합성(Synthetic) 이미지 중 적어도 하나에 상응할 수 있다.At this time, the image characteristic may correspond to at least one of a Natural image and a Synthetic image.

이 때, 스트리밍 전송하는 단계는 상기 적어도 하나의 인코딩 영역 중 상기 자연 이미지에 상응하는 영역은 JPEG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행하고, 상기 적어도 하나의 인코딩 영역 중 상기 합성 이미지에 상응하는 영역은 PNG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행할 수 있다.In this case, the step of streaming transmission may further comprise the step of performing still image encoding using the JPEG still image encoding technique in an area corresponding to the natural image among the at least one encoding area, Can perform still image encoding with the PNG still image encoding technique.

이 때, 스트리밍 전송하는 단계는 상기 복수개의 영역들 중 상기 이미지 특성이 상이한 적어도 둘 이상의 영역들이 겹쳐지는 경우에 겹쳐진 영역을 상기 적어도 둘 이상의 영역에서 제외하고, 상기 겹쳐진 영역에 상응하는 스틸 이미지 인코딩 기법으로 상기 겹쳐진 영역을 스틸 이미지 인코딩할 수 있다.At this time, in the streaming transmission step, when overlapping at least two regions having different image characteristics among the plurality of regions overlap, overlapping regions are excluded from the at least two regions, and a still image encoding method corresponding to the overlapping region To still image encode the overlapping region.

이 때, 스트리밍 전송하는 단계는 상기 제2 영역을 스틸 이미지 인코딩한 이미지를 상기 제1 영역에서 상기 제2 영역을 제외한 영역을 스틸 이미지 인코딩한 이미지 위에 겹쳐서 상기 사용자의 단말로 스트리밍 전송할 수 있다.At this time, in the streaming transmission step, the still image-encoded image of the second region may be superimposed on the image obtained by still-image encoding the region excluding the second region in the first region, and may be streamed to the terminal of the user.

이 때, 획득하는 단계는 상기 어플리케이션의 실행화면을 렌더링하면서 상기 변화 영역 리스트에 상기 적어도 하나의 변화 영역 메시지를 누적하여 저장할 수 있다.At this time, the acquiring step may accumulate and store the at least one change area message in the change area list while rendering an execution screen of the application.

또한, 본 발명의 과제 해결을 위한 또 다른 수단으로써, 상술한 방법을 실행시키기 위하여 매체에 저장된 컴퓨터 프로그램을 제공한다.As another means for solving the problem of the present invention, there is provided a computer program stored in a medium for executing the above-described method.

또한, 본 발명에 따른 클라우드 스트리밍 서비스 시스템은 OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득하고, 상기 적어도 하나의 변화 영역 메시지를 기반으로 상기 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처하고, 상기 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하고, 상기 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 상기 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 상기 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송하는 클라우드 스트리밍 서버; 및 상기 클라우드 스트리밍 서버로부터 스틸 이미지 인코딩된 상기 적어도 하나의 인코딩 영역을 수신하여 렌더링하고, 렌더링된 상기 적어도 하나의 인코딩 영역을 상기 사용자에게 디스플레이 하는 단말을 포함한다.In addition, the cloud streaming service system according to the present invention may acquire at least one change area message corresponding to a screen update of an application based on an OS message, configure an execution screen of the application based on the at least one change area message Capturing at least one change area of a plurality of frames to be detected, detecting an actual change area corresponding to the at least one change area, and when the actual change area corresponds to a plurality of areas, A cloud streaming server for generating at least one encoding region in consideration of image characteristics of each of the at least one encoding region and a still image encoding the at least one encoding region and for streaming the encoded still image to a user terminal; And a terminal for receiving and rendering the still image encoded still image encoded region from the cloud streaming server and displaying the rendered at least one encoded region to the user.

본 발명에 따르면, 이미지 기반의 클라우드 스트리밍 시 OS 단에서 획득한 업데이트 메시지를 기반으로 영역 비교를 수행함으로써 서버에서의 비교 연산을 감소시킬 수 있다.According to the present invention, it is possible to reduce a comparison operation in a server by performing an area comparison based on an update message acquired at an OS in an image-based cloud streaming.

또한 본 발명은 이미지의 특성에 따른 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행함으로서 보다 효율적으로 이미지 기반의 클라우드 스트리밍 서비스를 제공할 수 있다.In addition, the present invention can provide an image-based cloud streaming service more efficiently by performing still image encoding using a still image encoding technique according to image characteristics.

또한 본 발명은, 사용자 단말에서 프레임의 변화된 이미지만을 렌더링하여 디스플레이 하도록 함으로써 사용자 단말의 성능이 낮더라도 클라우드 스트리밍 서비스를 원활하게 제공할 수 있다.In addition, the present invention can provide a cloud streaming service smoothly even if the performance of the user terminal is low by rendering only the changed image of the frame in the user terminal.

도 1은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 클라우드 스트리밍 서버의 일 예를 나타낸 블록도이다.
도 3은 본 발명에 따른 변화 영역 리스트의 일예를 나타낸 도면이다.
도 4는 도 3에 도시된 변화 영역 리스트에 기반하여 변화가 발생한 적어도 하나의 프레임을 추출하는 과정을 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따라 실제 변화 영역을 캡처하는 과정을 나타낸 도면이다.
도 6 내지 도 7은 본 발명의 일실시예에 따라 포함 관계에 있는 실제 변화 영역들에서 적어도 하나의 인코딩 영역을 생성하는 과정을 나타낸 도면이다.
도 8은 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.
도 9는 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법을 상세하게 나타낸 동작 흐름도이다.
도 10은 도 8에 도시된 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법 중 적어도 하나의 인코딩 영역을 생성하는 과정의 일 예를 나타낸 동작 흐름도이다.
1 is a block diagram illustrating a cloud streaming service system according to an embodiment of the present invention.
2 is a block diagram illustrating an example of the cloud streaming server shown in FIG.
3 is a diagram showing an example of a change area list according to the present invention.
FIG. 4 is a diagram illustrating a process of extracting at least one frame in which a change has occurred based on the change area list shown in FIG.
FIG. 5 illustrates a process of capturing an actual change area according to an exemplary embodiment of the present invention. Referring to FIG.
FIGS. 6-7 illustrate the process of creating at least one encoded region in actual change regions in containment relationship in accordance with an embodiment of the present invention.
8 is a flowchart illustrating an image cloud streaming service method based on detection of a change area using an OS message according to an exemplary embodiment of the present invention.
9 is a flowchart illustrating an image cloud streaming service method based on change area detection using an OS message according to an exemplary embodiment of the present invention.
10 is an operation flowchart illustrating an example of a process of generating at least one encoded region among the image cloud streaming service methods based on the change region detection using the OS message shown in FIG.

이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다. 본 발명의 실시형태는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위해서 제공되는 것이다. 따라서, 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description and the accompanying drawings, detailed description of well-known functions or constructions that may obscure the subject matter of the present invention will be omitted. It should be noted that the same constituent elements are denoted by the same reference numerals as possible throughout the drawings. Embodiments of the present invention are provided to more fully describe the present invention to those skilled in the art. Accordingly, the shapes and sizes of the elements in the drawings and the like can be exaggerated for clarity.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 또한 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.The terms and words used in the present specification and claims should not be construed to be limited to ordinary or dictionary meanings and the inventor is not limited to the concept of terminology for describing his or her invention in the best way. It should be interpreted as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and not all of the technical ideas of the present invention are described. Therefore, It is to be understood that equivalents and modifications are possible. Also, the terms first, second, etc. are used for describing various components and are used only for the purpose of distinguishing one component from another component, and are not used to define the components.

도 1은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.1 is a block diagram illustrating a cloud streaming service system according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템은 클라우드 스트리밍 서버(110), 단말(120-1~ 120-N) 및 네트워크(130)를 포함한다.Referring to FIG. 1, a cloud streaming service system according to an embodiment of the present invention includes a cloud streaming server 110, terminals 120-1 to 120-N, and a network 130. FIG.

클라우드 스트리밍 서버(110)는 OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득한다.The cloud streaming server 110 obtains at least one change area message corresponding to a screen update of the application based on the OS message.

이 때, 어플리케이션의 실행화면을 렌더링하면서 변화 영역 리스트에 적어도 하나의 변화 영역 메시지를 누적하여 저장할 수 있다.At this time, at least one change area message can be accumulated and stored in the change area list while rendering the application execution screen.

또한, 클라우드 스트리밍 서버(110)는 적어도 하나의 변화 영역 메시지를 기반으로 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처한다.In addition, the cloud streaming server 110 captures at least one change area of a plurality of frames constituting an execution screen of the application based on at least one change area message.

이 때, 적어도 하나의 변화 영역 메시지가 누적되어 저장된 변화 영역 리스트를 참조하여 복수개의 프레임들 중 변화가 발생한 적어도 하나의 프레임을 추출하고, 적어도 하나의 프레임에서 적어도 하나의 변화 영역 메시지에 포함된 영역 정보를 기반으로 사각형에 상응하는 적어도 하나의 변화 영역을 캡처할 수 있다.At this time, at least one change area message is accumulated, and at least one frame in which a change occurs among a plurality of frames is extracted by referring to the stored change area list, and at least one frame included in at least one change area message Based on the information, at least one change area corresponding to the rectangle can be captured.

또한, 클라우드 스트리밍 서버(110)는 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출한다.In addition, the cloud streaming server 110 detects an actual change area corresponding to at least one change area.

또한, 클라우드 스트리밍 서버(110)는 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말(120-1~ 120-N)로 스트리밍 전송한다.In addition, when the actual change area corresponds to a plurality of areas, the cloud streaming server 110 generates at least one encoding area in consideration of image characteristics of each of the plurality of areas, and generates at least one encoding area And transmits the still image to the user terminals 120-1 to 120-N by streaming.

이 때, 복수개의 영역들 중 이미지 특성이 제1 타입에 상응하는 제1 영역이 이미지 특성이 제2 타입에 상응하는 제2 영역을 포함하는 경우에, 제1 영역에서 제2 영역을 제외한 영역 및 제2 영역 중 하나 이상에 상응하도록 적어도 하나의 인코딩 영역을 생성할 수 있다.In this case, when a first region corresponding to the first type of image characteristics among the plurality of regions includes a second region corresponding to the second type of image characteristic, the region excluding the second region and the region And generate at least one encoded region to correspond to one or more of the second regions.

이 때, 제2 영역을 구성하는 픽셀들 중 제1 타입에 상응하는 픽셀이 혼합된 경우에 픽셀들 중 제2 타입에 상응하는 픽셀들을 모두 포함하는 제3 영역을 생성하고, 제1 영역에서 제3 영역을 제외한 영역 및 제3 영역 중 하나 이상에 상응하도록 적어도 하나의 인코딩 영역을 생성할 수 있다.At this time, when a pixel corresponding to the first type among the pixels constituting the second region is mixed, a third region including all the pixels corresponding to the second type is generated, At least one encoding region may be generated to correspond to at least one of the region excluding the three regions and the third region.

이 때, 이미지 특성은 자연(Natural) 이미지 및 합성(Synthetic) 이미지 중 적어도 하나의 상응할 수 있다.At this time, the image characteristic may correspond to at least one of a Natural image and a Synthetic image.

이 때, 적어도 하나의 인코딩 영역 중 자연 이미지에 상응하는 영역은 JPEG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행하고, 적어도 하나의 인코딩 영역 중 합성 이미지에 상응하는 영역은 PNG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행할 수 있다.The area corresponding to the natural image among the at least one encoding area performs still image encoding with the JPEG still image encoding technique, and the area corresponding to the synthetic image among the at least one encoding area is converted into the still image using the PNG still image encoding technique Encoding can be performed.

이 때, 복수개의 영역들 중 이미지 특성이 상이한 적어도 둘 이상의 영역들이 겹쳐지는 경우에 겹쳐진 영역을 적어도 둘 이상의 영역에서 제외하고, 겹쳐진 영역에 상응하는 스틸 이미지 인코딩 기법으로 겹쳐진 영역을 스틸 이미지 인코딩할 수 있다.In this case, when at least two regions having different image characteristics among a plurality of regions are overlapped, the overlapping region is excluded from at least two regions, and still image encoding is performed using the still image encoding technique corresponding to the overlapping region have.

이 때, 제2 영역을 스틸 이미지 인코딩한 이미지를 제1 영역에서 제2 영역을 제외한 영역을 스틸 이미지 인코딩한 이미지 위에 겹쳐서 사용자의 단말로 스트리밍 전송할 수 있다.At this time, the still image-encoded image of the second region may be superimposed on the still image-encoded image of the region excluding the second region in the first region, and may be streamed to the user's terminal.

단말(120-1~ 120-N)은 클라우드 스트리밍 서버(110)로부터 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행화면을 수신하여 사용자에게 제공한다.The terminals 120-1 to 120-N receive an application execution screen corresponding to the cloud streaming service from the cloud streaming server 110 and provide them to the user.

또한, 단말(120-1~ 120-N)은 각각 통신망에 연결되어 클라우드 컴퓨팅 시스템 기반으로 어플리케이션을 실행할 수 있는 장치로, 이동통신단말기에 한정된 것이 아니고, 모든 정보통신기기, 멀티미디어 단말, 유선 단말, 고정형 단말 및 IP(Internet Protocol) 단말 등의 다양한 단말일 수 있다. 또한, 단말(120-1~ 120-N)은 각각 휴대폰, PMP(Portable Multimedia Played), MID(Mobile Internet Device), 스마트폰(Smart Phone), 데스크톱(Desktop), 태블릿컴퓨터(Tablet PC), 노트북(Note book), 넷북(Net Book), 개인휴대용 정보단말(Personal Digital Assistant; PDA), 스마트 TV 및 정보통신 기기 등과 같은 다양한 이동통신 사양을 갖는 모바일(Mobile) 단말일 수 있다.The terminals 120-1 to 120-N are connected to a communication network and are capable of executing applications on the basis of a cloud computing system. The terminals 120-1 to 120-N are not limited to the mobile communication terminal but may be any information communication device, multimedia terminal, A fixed terminal and an IP (Internet Protocol) terminal. Each of the terminals 120-1 to 120-N may be a mobile phone, a portable multimedia player (PMP), a mobile Internet device (MID), a smart phone, a desktop, a tablet PC, A mobile terminal having various mobile communication specifications such as a notebook computer, a notebook computer, a netbook, a personal digital assistant (PDA), a smart TV, and an information communication device.

또한, 단말(120-1~ 120-N)은 숫자 및 문자 정보 등의 다양한 정보를 입력 받고, 각종 기능을 설정 및 단말(120-1~ 120-N)의 기능 제어와 관련하여 입력되는 신호를 입력부를 통해 제어부로 전달할 수 있다. 또한, 단말(120-1~ 120-N)의 입력부는 사용자의 터치 또는 조작에 따른 입력 신호를 발생하는 키패드와 터치패드 중 적어도 하나를 포함하여 구성할 수 있다. 이 때, 단말(120-1~ 120-N)의 입력부는 단말(120-1~ 120-N)의 표시부와 함께 하나의 터치패널(또는 터치 스크린(touch screen))의 형태로 구성되어 입력과 표시 기능을 동시에 수행할 수 있다. 또한, 단말(120-1~ 120-N)의 입력부는 키보드, 키패드, 마우스, 조이스틱 등과 같은 입력 장치 외에도 향후 개발될 수 있는 모든 형태의 입력 수단이 사용될 수 있다. 특히, 본 발명에 따른 단말(120-1~ 120-N)의 입력부는 클라우드 컴퓨팅 기반으로 컨텐츠를 업로드 하거나 다운로드 하기 위한 입력 신호를 단말(120-1~ 120-N)의 제어부로 전달할 수 있다.The terminals 120-1 to 120-N receive various kinds of information such as numeric and character information, set various functions, and input signals related to the function control of the terminals 120-1 to 120-N And can be transmitted to the control unit through the input unit. The input unit of the terminals 120-1 to 120-N may include at least one of a keypad and a touchpad for generating an input signal according to a user's touch or operation. At this time, the input units of the terminals 120-1 to 120-N are configured in the form of one touch panel (or touch screen) together with the display units of the terminals 120-1 to 120-N, Display function can be performed at the same time. The input unit of the terminals 120-1 to 120-N may be any type of input unit that can be developed in addition to an input unit such as a keyboard, a keypad, a mouse, a joystick, and the like. In particular, the input units of the terminals 120-1 to 120-N according to the present invention can transmit input signals for uploading or downloading contents based on cloud computing to the control units of the terminals 120-1 to 120-N.

또한, 단말(120-1~ 120-N)의 표시부는 단말(120-1~ 120-N)의 기능 수행 중에 발생하는 일련의 동작상태 및 동작결과 등에 대한 정보를 표시할 수 있다. 또한, 단말(120-1~ 120-N)의 표시부는 단말(120-1~ 120-N)의 메뉴 및 사용자가 입력한 사용자 데이터 등을 표시할 수 있다. 여기서, 단말(120-1~ 120-N)의 표시부는 액정표시장치(LCD, Liquid Crystal Display), 초박막 액정표시장치(TFT-LCD, Thin Film Transistor LCD), 발광다이오드(LED, Light Emitting Diode), 유기 발광다이오드(OLED, Organic LED), 능동형 유기발광다이오드(AMOLED, Active Matrix OLED), 레티나 디스플레이(Retina Display), 플렉시블 디스플레이(Flexible display) 및 3차원(3 Dimension) 디스플레이 등으로 구성될 수 있다. 이 때, 단말(120-1~ 120-N)의 표시부가 터치스크린 형태로 구성된 경우, 단말(120-1~ 120-N)의 표시부는 단말(120-1~ 120-N)의 입력부의 기능 중 일부 또는 전부를 수행할 수 있다. 특히, 본 발명에 따른 단말(120-1~ 120-N)의 표시부는 클라우드 컴퓨팅 기반으로 제공되는 컨텐츠의 실행과 관련된 정보를 화면으로 표시할 수 있다.In addition, the display unit of the terminals 120-1 to 120-N can display information on a series of operation states, operation results, and the like that occur during the performance of the functions of the terminals 120-1 to 120-N. In addition, the display units of the terminals 120-1 to 120-N can display menus of the terminals 120-1 to 120-N and user data input by the user. The display units of the terminals 120-1 to 120-N may be a liquid crystal display (LCD), a thin film transistor LCD (TFT-LCD), a light emitting diode (LED) An organic light emitting diode (OLED), an organic light emitting diode (AMOLED), an active matrix OLED, a retina display, a flexible display, and a three-dimensional display have. At this time, when the display units of the terminals 120-1 to 120-N are configured as touch screens, the display units of the terminals 120-1 to 120-N function as the input units of the terminals 120-1 to 120- Some or all of them. In particular, the display unit of the terminals 120-1 to 120-N according to the present invention can display information related to execution of content provided on a cloud computing basis on a screen.

또한, 단말(120-1~ 120-N)의 저장부는 데이터를 저장하기 위한 장치로, 주 기억장치 및 보조 기억장치를 포함하고, 단말(120-1~ 120-N)의 기능 동작에 필요한 응용 프로그램을 저장할 수 있다. 이러한 단말(120-1~ 120-N)의 저장부는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 여기서, 단말(120-1~ 120-N)은 사용자의 요청에 상응하여 각 기능을 활성화하는 경우, 제어부의 제어 하에 해당 응용 프로그램들을 실행하여 각 기능을 제공하게 된다. 특히, 본 발명에 따른 단말(120-1~ 120-N)의 저장부는 단말(120-1~ 120-N)을 부팅시키는 운영체제, 클라우드 컴퓨팅 기반으로 컨텐츠를 업로드 하거나 다운로드하기 위한 프로그램 등을 저장할 수 있다. 또한, 단말(120-1~ 120-N)의 저장부는 다수의 컨텐츠를 저장하는 컨텐츠 DB와 단말(120-1~ 120-N)의 정보를 저장할 수 있다. 이 때, 컨텐츠 DB는 컨텐츠를 실행하기 위한 실행 데이터와 컨텐츠에 대한 속성 정보를 포함하고, 컨텐츠 실행에 따른 컨텐츠 사용 정보 등이 저장될 수 있다. 그리고, 단말(120-1~ 120-N)의 정보는 단말 사양 정보를 포함할 수 있다.The storage units of the terminals 120-1 to 120-N are devices for storing data, and include a main storage device and an auxiliary storage device, and are used for applications required for functional operations of the terminals 120-1 to 120- You can save the program. The storage units of these terminals 120-1 to 120-N may largely include a program area and a data area. Here, when the terminals 120-1 to 120-N activate respective functions in response to a user's request, the terminals 120-1 to 120-N provide respective functions by executing corresponding application programs under the control of the controller. In particular, the storage unit of the terminals 120-1 to 120-N according to the present invention may store an operating system for booting the terminals 120-1 to 120-N, a program for uploading or downloading contents on the basis of cloud computing have. In addition, the storage units of the terminals 120-1 to 120-N may store information of a content DB storing a plurality of contents and information of the terminals 120-1 to 120-N. At this time, the content DB includes execution data for executing the content and attribute information about the content, and content usage information according to the execution of the content can be stored. The information of the terminals 120-1 to 120-N may include terminal specification information.

또한, 단말(120-1~ 120-N)의 통신부는 클라우드 스트리밍 서버(110)와 네트워크(130)을 통해 데이터를 송수신하기 위한 기능을 수행할 수 있다. 여기서 단말(120-1~ 120-N)의 통신부는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신 수단과 수신되는 신호를 저잡음 증폭하고 주파수를 하강 변환하는 RF 수신 수단 등을 포함할 수 있다. 이러한 단말(120-1~ 120-N)의 통신부는 무선통신 모듈 및 유선통신 모듈 중 적어도 하나를 포함할 수 있다. 그리고, 무선통신 모듈은 무선 통신 방법에 따라 데이터를 송수신하기 위한 구성이며, 단말(120-1~ 120-N)이 무선 통신을 이용하는 경우, 무선망 통신 모듈, 무선랜 통신 모듈 및 무선팬 통신 모듈 중 어느 하나를 이용하여 데이터를 클라우드 스트리밍 서버(110)로 송수신할 수 있다. 또한, 유선통신 모듈은 유선으로 데이터를 송수신하기 위한 것이다. 유선통신 모듈은 유선을 통해 네트워크(130)에 접속하여, 클라우드 스트리밍 서버(110)에 데이터를 송수신할 수 있다. 즉 단말(120-1~ 120-N)은 무선통신 모듈 또는 유선통신 모듈을 이용하여 네트워크(130)에 접속하며, 네트워크(130)을 통해 클라우드 스트리밍 서버(110)와 데이터를 송수신할 수 있다. 특히, 본 발명에 따른 네트워크(130)는 클라우드 스트리밍 서버(110) 또는 다른 단말(120-1~ 120-N)과 통신하여 클라우드 컴퓨팅 기반으로 컨텐츠를 업로드 또는 다운로드 하는데 필요한 데이터를 송수신할 수 있다.In addition, the communication units of the terminals 120-1 to 120-N may perform a function of transmitting and receiving data through the cloud streaming server 110 and the network 130. [ Here, the communication unit of the terminals 120-1 to 120-N may include RF transmitting means for up-converting and amplifying the frequency of the transmitted signal, RF receiving means for low-noise amplifying the received signal and down-converting the frequency . The communication units of the terminals 120-1 to 120-N may include at least one of a wireless communication module and a wired communication module. In the case where the terminals 120-1 to 120-N use wireless communication, the wireless communication module is a module for transmitting and receiving data according to a wireless communication method. The wireless communication module, the wireless LAN communication module, The data can be transmitted / received to / from the cloud streaming server 110 by using any one of them. The wired communication module is for transmitting / receiving data by wire. The wired communication module may connect to the network 130 through a wired network and transmit / receive data to / from the cloud streaming server 110. That is, the terminals 120-1 to 120-N access the network 130 using a wireless communication module or a wired communication module and transmit and receive data to and from the cloud streaming server 110 through the network 130. [ In particular, the network 130 according to the present invention can communicate with the cloud streaming server 110 or other terminals 120-1 to 120-N to transmit / receive data necessary for uploading or downloading content based on cloud computing.

또한, 단말(120-1~ 120-N)의 제어부는 운영 체제((OS, Operation System) 및 각 구성을 구동시키는 프로세스 장치가 될 수 있다. 예를 들어, 제어부는 클라우드 스트리밍 서버(110)에 접속하는 과정 전반을 제어할 수 있다. 별도의 서비스 어플리케이션을 통해 클라우드 스트리밍 서버(110)에 접속하는 경우, 사용자의 요청에 따라 서비스 어플리케이션을 실행되는 과정 전반을 제어할 수 있으며, 실행과 동시에 클라우드 스트리밍 서버(110)로 서비스 이용 요청이 전송되도록 제어할 수 있으며, 이때 사용자 인증에 필요한 단말(120-1~ 120-N)의 정보가 함께 전송되도록 제어할 수 있다.In addition, the control unit of the terminals 120-1 to 120-N may be an operating system (OS) and a process unit for driving each configuration. For example, the control unit may be connected to the cloud streaming server 110 When accessing the cloud streaming server 110 through a separate service application, it is possible to control the entire process of executing the service application according to the request of the user, and at the same time, The server 110 can control the transmission of the service use request to be transmitted, and at the same time, the information of the terminals 120-1 to 120-N necessary for user authentication can be controlled to be transmitted together.

또한, 단말(120-1~ 120-N)의 제어부는 사용자의 요청에 따라 단말(120-1~ 120-N)의 저장부에 저장된 특정 컨텐츠를 실행할 수 있다. 이때, 제어부는 컨텐츠 실행에 따른 컨텐츠 사용 이력을 컨텐츠 사용 정보로 저장할 수 있다.In addition, the control units of the terminals 120-1 to 120-N can execute the specific contents stored in the storage units of the terminals 120-1 to 120-N according to the request of the user. At this time, the control unit may store the content usage history according to the execution of the content as the content usage information.

또한, 단말(120-1~ 120-N)의 제어부는 컨텐츠를 실행하기 위한 실행 데이터와, 컨텐츠에 대한 속성 정보를 포함하는 컨텐츠 정보와, 컨텐츠 사용 이력에 따른 정보인 컨텐츠 사용 정보를 함께 클라우드 스트리밍 서버(110)로 전송하여 업로드 할 수 있다. 이후, 제어부는 클라우드 스트리밍 서버(110)에 전송하여 업로드된 컨텐츠에 대해서는 사용자의 요청에 따라 단말(120-1~ 120-N)의 저장부에서 삭제할 수 있으며, 클라우드 스트리밍 서버(110)에 접속하여 클라우드 스트리밍 서버(110)를 통해 컨텐츠를 실행하여 이용할 수도 있다.In addition, the control unit of the terminals 120-1 to 120-N may execute execution data for executing the content, content information including attribute information about the content, and content usage information, which is information according to the content usage history, And uploaded to the server 110 for uploading. Then, the controller transmits the uploaded content to the cloud streaming server 110, deletes the uploaded content from the storage unit of the terminals 120-1 to 120-N according to the user's request, connects to the cloud streaming server 110 The content may be executed through the cloud streaming server 110 and used.

또한, 단말(120-1~ 120-N)의 제어부는 클라우드 스트리밍 서버(110)에 접속하여 다른 단말(120-1~ 120-N)로부터 컨텐츠를 다운로드한 후 저장부에 저장되도록 제어할 수도 있으며, 클라우드 스트리밍 서버(110)를 통해 컨텐츠 실행 시, 실행에 필요한 데이터만을 수신한 후 컨텐츠가 실행되도록 제어할 수도 있다.In addition, the control units of the terminals 120-1 to 120-N may access the cloud streaming server 110 to download the content from the other terminals 120-1 to 120-N and control the content to be stored in the storage unit , It is also possible to control the content to be executed after receiving only data necessary for execution at the time of executing the content through the cloud streaming server 110.

네트워크(130)는 클라우드 스트리밍 서버(110)및 단말(120-1~ 120-N) 사이에 데이터를 전달하는 통로를 제공하는 것으로서, 기존에 이용되는 네트워크 및 향후 개발 가능한 네트워크를 모두 포괄하는 개념이다. 예를 들어, 네트워크(130)는 한정된 지역 내에서 각종 정보장치들의 통신을 제공하는 유무선근거리 통신망, 이동체 상호 간 및 이동체와 이동체 외부와의 통신을 제공하는 이동통신망, 위성을 이용해 지구국과 지구국간 통신을 제공하는 위성통신망이거나 유무선 통신망 중에서 어느 하나이거나, 둘 이상의 결합으로 이루어질 수 있다. 한편, 네트워크(130)의 전송 방식 표준은, 기존의 전송 방식 표준에 한정되는 것은 아니며, 향후 개발될 모든 전송 방식 표준을 포함할 수 있다. 또한, 도 1에서 클라우드 스트리밍 서버(110)와 단말(120-1~ 120-N) 사이에 사용되는 네트워크는 단말(120-1~ 120-N)들 상호간에 사용되는 네트워크와 상이한 것일 수도 있고, 동일한 것일 수도 있다.The network 130 provides a path for transferring data between the cloud streaming server 110 and the terminals 120-1 to 120-N, and is a concept covering both existing networks and future developable networks . For example, the network 130 may be a wired / wireless local area network that provides communication of various information devices within a limited area, a mobile communication network that provides communication between mobile objects and mobile objects outside the mobile object, Or a wired / wireless communication network, or a combination of two or more. Meanwhile, the transmission scheme standard of the network 130 is not limited to the existing transmission scheme standard, and may include all transmission scheme standards to be developed in the future. In addition, the network used between the cloud streaming server 110 and the terminals 120-1 to 120-N in FIG. 1 may be different from the network used between the terminals 120-1 to 120-N, It may be the same.

도 2는 도 1에 도시된 클라우드 스트리밍 서버의 일 예를 나타낸 블록도이다.2 is a block diagram illustrating an example of the cloud streaming server shown in FIG.

도 2를 참조하면, 도 1에 도시된 클라우드 스트리밍 서버(110)는 통신부(210), 메시지 획득부(220), 캡처부(230), 실제 변화 영역 검출부(240), 스트리밍부(250) 및 저장부(260)를 포함한다.Referring to FIG. 2, the cloud streaming server 110 shown in FIG. 1 includes a communication unit 210, a message acquisition unit 220, a capture unit 230, an actual change area detection unit 240, a streaming unit 250, And a storage unit 260.

통신부(210)는 도 1에 도시된 네트워크와 같은 통신망을 통해 다수의 단말들과 관련된 정보를 송수신하는 역할을 한다. 특히, 본 발명의 일실시예에 따른 통신부(210)는 클라우드 스트리밍 서비스에 대한 요청을 단말로부터 수신하고, 단말이 요청한 클라우드 스트리밍 서비스에 상응하는 어플리케이션의 실행화면을 단말로 제공할 수 있다.The communication unit 210 transmits and receives information related to a plurality of terminals through a communication network such as the network shown in FIG. In particular, the communication unit 210 according to an exemplary embodiment of the present invention may receive a request for a cloud streaming service from the terminal and provide an execution screen of an application corresponding to the cloud streaming service requested by the terminal to the terminal.

이 때, 단말이 요청한 클라우드 스트리밍 서비스에 대해서 클라우드 스트리밍 서버로부터 어플리케이션 실행화면을 수신할 수 있다.At this time, the application execution screen can be received from the cloud streaming server with respect to the cloud streaming service requested by the terminal.

메시지 획득부(220)는 OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득한다.The message acquisition unit 220 acquires at least one change area message corresponding to a screen update of the application based on the OS message.

이미지 기반의 클라우드 스트리밍 서비스에서는 OS 단에서 전체 UI의 관리가 이루어지고, 개별 프로그램의 업데이트 영역 또한 OS 단에서 관리할 수 있었다. 이 때, 윈도우에서 브라우저를 띄우는 예를 보면, 브라우저에서 하나의 프레임이 변화하는 경우에 전체 변화 영역에 대해 윈도우 나름의 최적화된 최소 영역 변화 정보를 가지고 화면을 변경시켜 줄 수 있다. 예를 들어, 윈도우에서 WM_PAINT 메시지가 이에 해당할 수 있다.In the image-based cloud streaming service, the entire UI was managed at the OS level, and the update area of individual programs could also be managed at the OS level. In this case, when an example of displaying a browser in a window is shown, when a single frame changes in the browser, the screen can be changed with the optimized minimum area change information according to the window for the entire change area. For example, a WM_PAINT message in Windows might be the case.

이 때, 이미지 기반의 클라우드 스트리밍 서비스 시스템은 변화 영역만을 최소한의 비용으로 스틸 이미지 인코딩 하여야 하기 때문에 이와 같은 변화 영역을 캐치하는 것이 중요할 수 있다. In this case, the image-based cloud streaming service system must still image encode the change area with minimal cost, so it may be important to catch the change area.

종래에는 프로그램의 변화단에서 후킹을 수행하여 변화 프레임들을 읽고, 이전 프레임과의 변화를 감지하는 방식이기 때문에 OS 단의 변화 영역 메시지를 감지하고 종합하여 처리하는 것에 비해 효율성이 떨어질 수 있었다.Conventionally, since the method of reading the changed frames by performing the hooking at the changing end of the program and detecting the change with the previous frame, efficiency can be lowered compared to detecting and synthesizing the change area messages at the OS end.

따라서, 본 발명에서는 기존의 화면 캡처단과 더불어 OS 메시지를 캡처하는 수단을 추가함으로써, 컨트롤 하려는 프로그램의 업데이트 메시지를 후킹하여 화면의 변화 영역에 대한 정보를 효율적으로 획득하는 방법을 제시하고자 한다.Accordingly, the present invention proposes a method of efficiently acquiring information on a change area of a screen by hooking an update message of a program to be controlled by adding an existing screen capture step and a means for capturing an OS message.

이 때, 적어도 하나의 변화 영역 메시지는 어플리케이션의 화면 업데이트시 변화하는 영역들에 대한 정보를 포함할 수 있다. 예를 들어, 변화 영역에 대한 위치 정보나 이미지 특성 또는 해당 변화 영역이 포함된 프레임에 대한 정보를 포함할 수도 있다.At this time, the at least one change area message may include information on areas that change during a screen update of the application. For example, it may include positional information on the change area or information on an image characteristic or a frame including the change area.

또한, 어플리케이션에 상응하는 어느 하나의 프레임에 대해서 복수개의 변화 영역 메시지를 획득할 수도 있다. 예를 들어, 하나의 프레임에서 여러 군데의 화면 변화가 발생한 경우에 OS 단으로부터 각각의 변화에 대한 변화 영역 메시지가 발생될 수 있고, 클라우드 스트리밍 서버에서는 각각의 변화에 대한 변화 영역 메시지를 획득할 수 있다.In addition, a plurality of change area messages may be acquired for any one frame corresponding to the application. For example, when multiple screen changes occur in one frame, a change area message for each change can be generated from the OS, and the cloud streaming server can obtain a change area message for each change have.

캡처부(230)는 적어도 하나의 변화 영역 메시지를 기반으로 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처한다.The capture unit 230 captures at least one change area of a plurality of frames constituting an execution screen of the application based on the at least one change area message.

종래의 이미지 기반 클라우드 스트리밍 서비스 시 클라우드 스트리밍 서버에서 변화된 영역을 캡처하기 위해서는 어플리케이션 실행화면에 상응하는 복수개의 프레임들을 일일히 비교하여 변화된 프레임을 검색하고, 변화된 프레임에서 변화된 영역을 이미지로 캡처하는 과정을 수행하여야 했다. In the conventional image-based cloud streaming service, in order to capture a changed region in the cloud streaming server, a process of searching for a changed frame by comparing a plurality of frames corresponding to an application execution screen and capturing a changed region in an altered frame as an image I had to do it.

이 때, 변화된 영역을 정확하게 파악하기 위해서는 전체 프레임들을 비교해야 하기 때문에, 클라우드 스트리밍 서버의 한정된 자원을 많이 소비할 수 밖에 없었다. At this time, since it is necessary to compare all the frames in order to accurately grasp the changed area, the limited resources of the cloud streaming server have to be consumed.

이와 같은 문제를 해결하기 위해, 본 발명에서는 어플리케이션의 실행화면을 구성하는 복수개의 프레임들을 모두 비교하지 않고, OS 단으로부터 획득한 변화 영역 메시지에서 변화된 프레임의 정보를 획득함으로써 최소한의 비교 연산만을 수행할 수 있다. 즉, 실제로 어플리케이션 실행화면이 변화하기 전에 변화 영역 메시지가 수신되므로, 이를 이용하여 변화된 영역을 미리 확인할 수 있다.In order to solve such a problem, in the present invention, only a minimum comparison operation is performed by obtaining information of a changed frame in a change area message acquired from an OS terminal without comparing all the frames constituting an execution screen of an application . That is, since the change area message is actually received before the application execution screen changes, the changed area can be confirmed in advance.

이 때, 적어도 하나의 변화 영역 메시지가 누적되어 저장된 변화 영역 리스트를 참조하여 복수개의 프레임들 중 변화가 발생한 적어도 하나의 프레임을 추출하고, 적어도 하나의 프레임에서 적어도 하나의 변화 영역 메시지에 포함된 영역 정보를 기반으로 사각형에 상응하는 적어도 하나의 변화 영역을 캡처할 수 있다.At this time, at least one change area message is accumulated, and at least one frame in which a change occurs among a plurality of frames is extracted by referring to the stored change area list, and at least one frame included in at least one change area message Based on the information, at least one change area corresponding to the rectangle can be captured.

이 때, 어플리케이션의 실행화면을 렌더링하면서 변화 영역 리스트에 적어도 하나의 변화 영역 메시지를 누적하여 저장할 수 있다. 즉, 캡처가 수행되기 전에 어플리케이션 실행화면에 대한 화면 업데이트 정보를 포함하는 적어도 하나의 변화 영역 메시지를 모두 변화 영역 리스트에 누적하여 저장할 수 있다.At this time, at least one change area message can be accumulated and stored in the change area list while rendering the application execution screen. That is, at least one change area message including screen update information on the application execution screen may be accumulated and stored in the change area list before capturing is performed.

따라서, 캡처단에서는 렌더링을 감지하게되면 변화 영역 리스트에 누적되어 저장된 정보를 바탕으로 변화가 발생한 프레임만을 추출하여 차이가 있는 사각형의 변화 영역을 캡처할 수 있다.Accordingly, when the rendering is sensed at the capture end, only the frame in which the change has occurred based on the information accumulated and stored in the change area list can be captured to capture a rectangular change area having a difference.

이 때, 하나의 프레임에서 여러 개의 변화 영역을 캡처할 수 있다.At this time, it is possible to capture multiple change areas in one frame.

이 때, 변화 영역 리스트에는 변화 영역 메시지에 포함된 프레임 정보, 변화 영역의 위치 정보 및 변화 영역의 이미지 특성 정보 등을 포함할 수 있다.At this time, the change area list may include frame information included in the change area message, position information of the change area, and image characteristic information of the change area.

이 때, 변화 영역의 위치 정보를 어플리케이션 실행화면의 프레임을 기준으로 한 좌표 값으로 저장될 수 있다.At this time, the position information of the change area can be stored as a coordinate value based on the frame of the application execution screen.

실제 변화 영역 검출부(240)는 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출한다.The actual change area detection unit 240 detects an actual change area corresponding to at least one change area.

이 때, 변화 영역 메시지는 변화되는 부분을 모두 포함하는 사각형 영역을 변화 영역으로 인식할 수 있기 때문에, 적어도 하나의 변화 영역에 상응하는 실제 변화 영역과 적어도 하나의 변화 영역은 일치하지 않을 수 있다. 예를 들어, 적어도 하나의 변화 영역은 여러 개의 실제 변화 영역을 포함하는 영역일 수 있기 때문에, 실제로 변화하지 않는 부분이 포함되어 있을 수도 있다. At this time, since the change area message can recognize a rectangular area including all the changed parts as the change area, the actual change area corresponding to at least one change area and the at least one change area may not coincide. For example, since at least one change area may be an area including a plurality of actual change areas, it may include a part that does not actually change.

따라서, 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하여 보다 효율적으로 스틸 이미지 인코딩을 수행할 수 있다.Therefore, it is possible to perform the still image encoding more efficiently by detecting the actual change area corresponding to at least one change area.

스트리밍부(250)는 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송한다.The streaming unit 250 generates at least one encoding area in consideration of image characteristics of each of a plurality of areas when the actual change area corresponds to a plurality of areas, And transmits the streaming data to the user terminal.

예를 들어, 실제 변화 영역이 A 영역과 B 영역에 상응하고, A영역과 B 영역의 이미지 특성이 상이할 경우에는 A 영역과 B 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송할 수 있다.For example, if the actual change area corresponds to the area A and the area B, and the image characteristics of the area A and the area B are different, the still area encoding of the area A and the area B may be respectively transmitted to the user's terminal.

이 때, 복수개의 영역들 중 이미지 특성이 제1 타입에 상응하는 제1 영역이 이미지 특성이 제2 타입에 상응하는 제2 영역을 포함하는 경우에, 제1 영역에서 제2 영역을 제외한 영역 및 제2 영역 중 하나 이상에 상응하도록 적어도 하나의 인코딩 영역을 생성할 수 있다.In this case, when a first region corresponding to the first type of image characteristics among the plurality of regions includes a second region corresponding to the second type of image characteristic, the region excluding the second region and the region And generate at least one encoded region to correspond to one or more of the second regions.

상기의 예를 들어, A 영역의 이미지 특성이 제1 타입에 상응하고, B 영역의 이미지 타입이 제2 타입에 상응하고, A 영역이 B 영역을 포함한다고 가정할 수 있다. 이 때, A 영역에서 B 영역을 제외한 영역, 즉 A 영역에서 B 영역에 상응하는 영역을 픽셀 초기화시켜 비워진 만큼의 영역을 하나의 인코딩 영역으로 생성할 수 있다. 또한, B 영역에 상응하는 영역도 또 하나의 다른 인코딩 영역으로 생성할 수 있다. 따라서, 각각 생성된 두 개의 인코딩 영역을 각각의 이미지 특성에 맞게 스틸 이미지 인코딩하여 사용자의 단말로 전송할 수 있다.For example, it can be assumed that the image characteristic of the A region corresponds to the first type, the image type of the B region corresponds to the second type, and the A region includes the B region. At this time, a region excluding the B region in the region A, that is, a region corresponding to the B region in the A region, can be initialized as a pixel, and an empty region can be generated as a single encoding region. In addition, an area corresponding to the B area can be generated as another encoding area. Accordingly, the generated two encoding regions can be still image encoded according to the respective image characteristics and transmitted to the user terminal.

이 때, 제2 영역을 구성하는 픽셀들 중 제1 타입에 상응하는 픽셀이 혼합된 경우에 픽셀들 중 제2 타입에 상응하는 픽셀들을 모두 포함하는 제3 영역을 생성하고, 제1 영역에서 제3 영역을 제외한 영역 및 제3 영역 중 하나 이상에 상응하도록 적어도 하나의 인코딩 영역을 생성할 수 있다.At this time, when a pixel corresponding to the first type among the pixels constituting the second region is mixed, a third region including all the pixels corresponding to the second type is generated, At least one encoding region may be generated to correspond to at least one of the region excluding the three regions and the third region.

예를 들어, A 영역이 B 영역을 포함하고, A 영역의 이미지 특성이 제1 타입에 상응하고, B 영역을 구성하는 픽셀들의 이미지 타입이 제1 타입과 제2 타입이 혼합되었다고 가정할 수 있다. 이 때, 적어도 하나의 인코딩 영역을 생성하기 위해서는 먼저 B 영역을 구성하는 픽셀들 중에서 A 영역의 이미지 특성인 제1 타입과는 다른 제2 타입에 상응하는 픽셀들을 검출한다. 이 후, 제2 타입에 상응하는 픽셀들을 모두 포함할 수 있는 제3 영역을 생성할 수 있다. 이 후, 제1 영역에서 제3 영역을 제외한 영역과 제3 영역을 각각 하나의 인코딩 영역으로 생성할 수 있다. For example, it can be assumed that the A region includes the B region, the image characteristic of the A region corresponds to the first type, and the image type of the pixels constituting the B region is a mixture of the first type and the second type . At this time, in order to generate at least one encoding region, pixels corresponding to the second type, which is different from the first type, which is the image characteristic of the A region, are detected among the pixels constituting the B region. Thereafter, a third region may be created, which may include all of the pixels corresponding to the second type. Thereafter, a region excluding the third region and a third region in the first region may be generated as one encoding region, respectively.

즉, 이미지 특성이 다른 영역끼리 묶여서 하나의 인코딩 영역으로 생성되기 때문에 보다 효율적으로 스틸 이미지 인코딩을 수행할 수 있다. That is, the still image encoding can be performed more efficiently because the image characteristics are created by combining the different regions into one encoding region.

이 때, 이미지 특성은 자연(Natural) 이미지 및 합성(Synthetic) 이미지 중 적어도 하나에 상응할 수 있다.At this time, the image characteristic may correspond to at least one of a Natural image and a Synthetic image.

이 때, 자연 이미지는 자연적으로 발생한 객체의 이미지를 의미할 수 있다. 예를 들어, 하나의 사진이나 그림과 같은 광학 이미지뿐 아니라 엑스레이와 적외선 같은 다른 파장의 이미지들을 의미할 수도 있다.In this case, a natural image may mean an image of an object that occurs naturally. For example, it may refer to optical images such as a photograph or a picture, as well as images of other wavelengths such as x-rays and infrared rays.

이 때, 합성 이미지는 자연 이미지와 다르게 컴퓨터나 인위적 수단을 통해 생성되거나 합성된 이미지를 의미할 수 있다.In this case, the composite image may be an image generated or synthesized through computer or artificial means, unlike the natural image.

이 때, 적어도 하나의 인코딩 영역 중 자연 이미지에 상응하는 영역은 JPEG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행하고, 적어도 하나의 인코딩 영역 중 합성 이미지에 상응하는 영역은 PNG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행할 수 있다.The area corresponding to the natural image among the at least one encoding area performs still image encoding with the JPEG still image encoding technique, and the area corresponding to the synthetic image among the at least one encoding area is converted into the still image using the PNG still image encoding technique Encoding can be performed.

이 때, PNG 스틸 이미지 인코딩 기법은 스틸 이미지 인코딩 시 이미지의 화질은 좋으나 데이터의 크기가 커져서 전송 망의 대역폭이 낮은 경우에는 전송 속도가 저하될 수 있다. At this time, the PNG still image encoding technique can improve the image quality when still image encoding is performed, but the transmission speed may be lowered when the bandwidth of the transmission network is low due to a large data size.

또한, JPEG 스틸 이미지 인코딩 기법은 압축 효율이 좋아서 스틸 이미지 인코딩 시 전송 데이터 량을 대폭 줄일 수 있으나, 압축 효율이 큰 만큼 인코딩 및 디코딩을 수행할 때 시스템 부하를 많이 발생시킬 수 있다. 또한, JPEG 스틸 이미지 인코딩 기법으로는 한 픽셀 주위에 서로 비슷한 색이 모여 있는 자연 이미지를 스틸 이미지 인코딩 하였을 때 압축 효율이 더 효과적일 수 있다.In addition, the JPEG still image encoding technique can greatly reduce the amount of data to be transmitted when still image encoding is performed because of its high compression efficiency. However, since the compression efficiency is high, the system load can be increased when performing encoding and decoding. Also, with the JPEG still image encoding technique, the compression efficiency may be more effective when the still image encoding of a natural image having similar colors around one pixel is performed.

이 때, 복수개의 영역들 중 이미지 특성이 상이한 적어도 둘 이상의 영역들이 겹쳐지는 경우에 겹쳐진 영역을 적어도 둘 이상의 영역에서 제외하고, 겹쳐진 영역에 상응하는 스틸 이미지 인코딩 기법으로 겹쳐진 영역을 스틸 이미지 인코딩할 수 있다.In this case, when at least two regions having different image characteristics among a plurality of regions are overlapped, the overlapping region is excluded from at least two regions, and still image encoding is performed using the still image encoding technique corresponding to the overlapping region have.

이 때, 겹쳐진 영역은 이미지 프로세싱을 통해 영역의 특징을 파악하고, 가장 적합한 스틸 이미지 인코딩 기법을 이용하여 스틸 이미지 인코딩할 수 있다.At this time, the overlapped area can recognize the characteristics of the area through image processing, and still image can be encoded using the most suitable still image encoding technique.

또한, 둘 이상의 영역들에서 겹쳐진 영역을 제외한 나머지 영역들도 이미지 특성에 따른 스틸 이미지 인코딩 기법으로 각각 스틸 이미지 인코딩될 수 있다. In addition, regions other than the overlapped region in two or more regions may be still image encoded by a still image encoding technique according to image characteristics, respectively.

이 때, 제2 영역을 스틸 이미지 인코딩한 이미지를 제1 영역에서 제2 영역을 제외한 영역을 스틸 이미지 인코딩한 이미지 위에 겹쳐서 사용자의 단말로 스트리밍 전송할 수 있다. 즉, 큰 영역을 밑에 표시하고, 작은 영역을 위해 올려 화면을 디스플레이 하는 경우에 이상이 없도록 할 수 있다.At this time, the still image-encoded image of the second region may be superimposed on the still image-encoded image of the region excluding the second region in the first region, and may be streamed to the user's terminal. That is, it is possible to display a large area at the bottom and raise it for a small area to display the screen.

저장부(270)는 상술한 바와 같이 본 발명의 실시예에 따른 클라우드 스트리밍 서비스 과정에서 발생되는 다양한 정보를 저장한다.The storage unit 270 stores various information generated in the cloud streaming service process according to the embodiment of the present invention as described above.

실시예에 따라, 저장부(270)는 클라우드 스트리밍 서버(110)와 독립적으로 구성되어 클라우드 스트리밍 서비스를 위한 기능을 지원할 수 있다. 이 때, 저장부(270)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다.According to an embodiment, the storage unit 270 may be configured independently of the cloud streaming server 110 to support a function for the cloud streaming service. At this time, the storage unit 270 may operate as a separate mass storage and may include a control function for performing operations.

또한, 상술한 바와 같이 구성되는 클라우드 스트리밍 서버(110)는 하나 이상의 서버로 구현될 수 있다.In addition, the cloud streaming server 110 configured as described above may be implemented as one or more servers.

한편, 클라우드 스트리밍 서버(110)는 메모리가 탑재되어 그 장치 내에서 정보를 저장할 수 있다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.On the other hand, the cloud streaming server 110 can store information in the memory on which the memory is mounted. In one implementation, the memory is a computer-readable medium. In one implementation, the memory may be a volatile memory unit, and in other embodiments, the memory may be a non-volatile memory unit. In one implementation, the storage device is a computer-readable medium. In various different implementations, the storage device may comprise, for example, a hard disk device, an optical disk device, or any other mass storage device.

이와 같은 클라우드 스트리밍 서버(110)를 이용하여 이미지 기반의 클라우드 스트리밍 서비스를 제공함으로써, 이미지 기반의 클라우드 스트리밍 시 OS 단에서 획득한 업데이트 메시지를 기반으로 영역 비교를 수행함으로써 서버에서의 비교 연산을 감소시킬 수 있다.By providing an image-based cloud streaming service using the cloud streaming server 110, it is possible to reduce the comparison operation in the server by performing area comparison based on the update message acquired at the OS end in the image-based cloud streaming .

또한, 이미지의 특성에 따른 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행함으로써 보다 효율적으로 이미지 기반의 클라우드 스트리밍 서비스를 제공할 수 있다.In addition, image-based cloud streaming service can be provided more efficiently by performing still image encoding using a still image encoding technique according to image characteristics.

또한, 사용자 단말에서 프레임의 변화된 이미지만을 렌더링하여 디스플레이 하도록 함으로써 사용자 단말의 성능이 낮더라도 클라우드 스트리밍 서비스를 원활하게 제공할 수 있다.Also, since only the changed image of the frame is rendered and displayed in the user terminal, the cloud streaming service can be smoothly provided even if the performance of the user terminal is low.

도 3은 본 발명에 따른 변화 영역 리스트의 일예를 나타낸 도면이다.3 is a diagram showing an example of a change area list according to the present invention.

도 3을 참조하면, 본 발명에 따른 변화 영역 리스트(310)는 OS 단에서 발생하고, 화면 업데이트 정보를 포함하는 변화 영역 메시지를 누적하여 저장할 수 있다.Referring to FIG. 3, the change area list 310 according to the present invention may accumulate and store change area messages that occur in the OS and include screen update information.

이 때, 변화 영역 리스트(310)는 변화 영역 메시지에 포함되는 프레임 정보와 변화 영역의 위치에 대한 좌표 정보 그리고 변화 영역의 이미지 특성에 대한 정보 등을 포함할 수도 있다.At this time, the change area list 310 may include frame information included in the change area message, coordinate information on the position of the change area, and information on the image characteristics of the change area.

예를 들어, 프레임 정보는 어플리케이션 실행화면에 상응하는 전체 복수개의 프레임들 중에서 변화 영역이 포함된 프레임의 식별번호 또는 식별자에 대한 정보에 상응할 수 있다.For example, the frame information may correspond to information on an identification number or an identifier of a frame including a change area among a plurality of frames corresponding to an application execution screen.

또한, 변화 영역의 위치에 대한 좌표는 어플리케이션 실행화면의 프레임을 기준으로 변화 영역의 좌측상단 꼭지점과 우측하단 꼭지점에 상응하는 좌표값을 나타내어 사각형에 상응하는 변화 영역을 나타낼 수 있다.In addition, the coordinates of the position of the change area may indicate a change area corresponding to the rectangle by indicating a coordinate value corresponding to the upper left vertex and the lower right vertex of the change area on the basis of the frame of the application execution screen.

또한, 변화 영역의 이미지 특성에 대한 정보는 변화 영역이 자연 이미지인지 또는 합성 이미지 인지에 대한 정보를 포함할 수 있다.In addition, the information on the image characteristic of the change area may include information on whether the change area is a natural image or a composite image.

변화 영역 리스트(310)는 상기의 정보들과 별도로 변화 영역에 해당하는 다양한 정보를 추가로 포함할 수도 있다.The change area list 310 may further include various information corresponding to the change area separately from the above information.

도 4는 도 3에 도시된 변화 영역 리스트에 기반하여 변화가 발생한 적어도 하나의 프레임을 추출하는 과정을 나타낸 도면이다.FIG. 4 is a diagram illustrating a process of extracting at least one frame in which a change has occurred based on the change area list shown in FIG.

도 4를 참조하면, 도 3에 도시된 변화 영역 리스트에 기반하여 변화가 발생한 적어도 하나의 프레임을 추출하는 과정은 먼저 도 3에 도시된 변화 영역 리스트(310)를 이용하여 적어도 하나의 변화 영역 메시지들을 획득할 수 있다.Referring to FIG. 4, the process of extracting at least one frame in which a change occurs based on the change area list shown in FIG. 3 is first performed by using at least one change area message 310 using the change area list 310 shown in FIG. .

이 때, 적어도 하나의 변화 영역 메시지에는 어플리케이션에 상응하는 전체 프레임 중에서 변화 영역이 포함된 프레임의 정보가 포함될 수 있다. At this time, at least one change area message may include information of a frame including a change area among all the frames corresponding to the application.

예를 들어, 도 3의 변화 영역 리스트(310)에서 1번 테이블과 2번 테이블에 저장된 각각의 변화 영역 메시지를 확인하면, 어플리케이션에 상응하는 전체 프레임들 중 F20에 상응하는 프레임과 F25에 상응하는 프레임에 변화 영역이 포함된 것을 알 수 있다. For example, if the change area message stored in the first table and the second table in the change area list 310 of FIG. 3 is checked, a frame corresponding to F20 among the entire frames corresponding to the application and a frame corresponding to F25 It can be seen that the change area is included in the frame.

따라서, 클라우드 스트리밍 서버의 캡처단에서는 변화된 부분을 캡처하기 위해 전체 프레임을 모두 비교할 필요 없이, F20과 F25에 해당하는 프레임만을 비교하여 변화 영역을 캡처할 수 있다.Therefore, at the capture end of the cloud streaming server, only the frames corresponding to F20 and F25 can be compared to capture the change area without having to compare all the frames in order to capture the changed part.

이와 같이, 변화 영역 메시지를 이용하여 캡처를 수행함으로써 캡처단에서 비교 연산을 수행할 프레임의 수를 현저하게 감소시켜 클라우드 스트리밍 서버의 한정된 자원을 절약하여 서비스를 제공할 수 있다.By performing the capture using the change area message, the number of frames to be subjected to the comparison operation at the capture end can be significantly reduced, thereby providing a service by saving limited resources of the cloud streaming server.

도 5는 본 발명의 일실시예에 따라 실제 변화 영역을 캡처하는 과정을 나타낸 도면이다.FIG. 5 illustrates a process of capturing an actual change area according to an exemplary embodiment of the present invention. Referring to FIG.

도 5를 참조하면, 본 발명의 일실시예에 따라 실제 변화 영역을 캡처하는 과정은 먼저 변화 영역 메시지에 기반하여 변화 영역이 포함된 현재 프레임의 변화 영역(520)을 캡처할 수 있다. Referring to FIG. 5, in the process of capturing an actual change region according to an exemplary embodiment of the present invention, a change region 520 of a current frame including a change region may be captured based on a change region message.

이 후, 현재 프레임의 변화 영역(520)은 현재 프레임에서 실제로 변화된 실제 변화 영역과 상이할 수 있기 때문에, 현재 프레임의 변화 영역(520)과 동일한 위치의 이전 프레임의 변화 영역(510)을 비교할 수 있다.Thereafter, since the change area 520 of the current frame may be different from the actual change area actually changed in the current frame, it is possible to compare the change area 510 of the previous frame at the same position as the change area 520 of the current frame have.

예를 들어, 도 5를 참조하면, 이전 프레임의 변화 영역(510)에 포함된 A, B, C, D의 영역들이 현재 프레임의 변화 영역(520)에서 A', B', C, D로 변한 것을 확인할 수 있다. 즉, 변화 영역에서 실제로 변한 부분은 이전 프레임의 변화 영역에서 A와 B에 상응하는 영역뿐일 수 있다.For example, referring to FIG. 5, regions A, B, C, and D included in a change region 510 of a previous frame are changed to A ', B', C, and D in a change region 520 of a current frame Can be confirmed. That is, a portion actually changed in the change region may be only the region corresponding to A and B in the change region of the previous frame.

따라서, 실제 변화 영역(530)에 해당하는 영역은 현재 프레임의 변화 영역(520)에서 A'와 B'에 상응할 수 있다. Therefore, the area corresponding to the actual change area 530 may correspond to A 'and B' in the change area 520 of the current frame.

또한, 실제 변화 영역(530)을 캡처단에서 캡처한 이미지와 같이 인식할 수도 있다.Also, the actual change area 530 may be recognized as an image captured at the capture end.

도 6 내지 도 7은 본 발명의 일실시예에 따라 포함 관계에 있는 실제 변화 영역들에서 적어도 하나의 인코딩 영역을 생성하는 과정을 나타낸 도면이다.FIGS. 6-7 illustrate the process of creating at least one encoded region in actual change regions in containment relationship in accordance with an embodiment of the present invention.

도 6 내지 도 7을 참조하면, 도 6의 제1 영역(610)은 이미지 특성이 자연 이미지에 상응하고, 제2 영역(620)은 이미지 특성이 자연 이미지와 합성 이미지가 혼합된 이미지에 상응할 수 있다. 6 to 7, the first region 610 of FIG. 6 corresponds to an image in which the image characteristic corresponds to a natural image, and the second region 620 corresponds to an image in which the image characteristic is a mixture of a natural image and a composite image .

이 때, 도 6과 같이 제1 영역(610)이 제2 영역(620)을 포함하는 형태라면, 먼저 제2 영역(620)을 구성하는 픽셀들 중에서 제1 영역(610)의 이미지 특성과 같이 자연 이미지에 상응하는 픽셀들을 제외한 합성 이미지에 상응하는 픽셀들을 구별할 수 있다. 이 후, 제2 영역(620)을 구성하는 픽셀들 중 합성 이미지에 상응하는 픽셀들을 모두 포함하는 제3 영역(630)을 생성할 수 있다.If the first region 610 includes the second region 620 as shown in FIG. 6, then the first region 610 may have the same image characteristic as the first region 610 among the pixels constituting the second region 620 It is possible to distinguish pixels corresponding to a composite image except pixels corresponding to a natural image. Thereafter, a third region 630 including all the pixels corresponding to the composite image among the pixels constituting the second region 620 can be generated.

즉, 제2 영역(620)에서 제3 영역(630)을 제외한 영역들은 자연 이미지에 상응하는 영역일 수 있다.That is, the regions except for the third region 630 in the second region 620 may be regions corresponding to the natural image.

따라서, 제1 영역(610)과 제2 영역(620)에 대한 인코딩 영역은 도 7과 같이 제1 영역에서 제3 영역을 제외한 영역(710)과 제3 영역(720)에 상응할 수 있다.Therefore, the encoding region for the first region 610 and the second region 620 may correspond to the region 710 and the third region 720 excluding the third region in the first region, as shown in FIG.

이 때, 제1 영역(610)에서 제3 영역(630)에 상응하는 부분의 픽셀을 초기화함으로써 제1 영역에서 제3 영역을 제외한 영역(710)을 생성할 수 있다.In this case, a region 710 excluding the third region in the first region can be created by initializing the pixel corresponding to the third region 630 in the first region 610.

이 후, 제1 영역에서 제3 영역을 제외한 영역(710)은 JPEG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩할 수 있고, 제3 영역(720)은 PNG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩할 수 있다.Thereafter, the region 710 excluding the third region in the first region can still image-encode the JPEG still image encoding technique and the third region 720 can still-image-encode the PNG still image encoding technique.

도 8은 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.8 is a flowchart illustrating an image cloud streaming service method based on detection of a change area using an OS message according to an exemplary embodiment of the present invention.

도 8을 참조하면, 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법은 OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득한다(S810).Referring to FIG. 8, an image cloud streaming service method based on a change area detection using an OS message according to an embodiment of the present invention acquires at least one change area message corresponding to a screen update of an application based on an OS message (S810).

이미지 기반의 클라우드 스트리밍 서비스에서는 OS 단에서 전체 UI의 관리가 이루어지고, 개별 프로그램의 업데이트 영역 또한 OS 단에서 관리할 수 있었다. 이 때, 윈도우에서 브라우저를 띄우는 예를 보면, 브라우저에서 하나의 프레임이 변화하는 경우에 전체 변화 영역에 대해 윈도우 나름의 최적화된 최소 영역 변화 정보를 가지고 화면을 변경시켜 줄 수 있다. 예를 들어, 윈도우에서 WM_PAINT 메시지가 이에 해당할 수 있다.In the image-based cloud streaming service, the entire UI was managed at the OS level, and the update area of individual programs could also be managed at the OS level. In this case, when an example of displaying a browser in a window is shown, when a single frame changes in the browser, the screen can be changed with the optimized minimum area change information according to the window for the entire change area. For example, a WM_PAINT message in Windows might be the case.

이 때, 이미지 기반의 클라우드 스트리밍 서비스 시스템은 변화 영역만을 최소한의 비용으로 스틸 이미지 인코딩 하여야 하기 때문에 이와 같은 변화 영역을 캐치하는 것이 중요할 수 있다. In this case, the image-based cloud streaming service system must still image encode the change area with minimal cost, so it may be important to catch the change area.

종래에는 프로그램의 변화단에서 후킹을 수행하여 변화 프레임들을 읽고, 이전 프레임과의 변화를 감지하는 방식이기 때문에 OS 단의 변화 영역 메시지를 감지하고 종합하여 처리하는 것에 비해 효율성이 떨어질 수 있었다.Conventionally, since the method of reading the changed frames by performing the hooking at the changing end of the program and detecting the change with the previous frame, efficiency can be lowered compared to detecting and synthesizing the change area messages at the OS end.

따라서, 본 발명에서는 기존의 화면 캡처단과 더불어 OS 메시지를 캡처하는 수단을 추가함으로써, 컨트롤 하려는 프로그램의 업데이트 메시지를 후킹하여 화면의 변화 영역에 대한 정보를 효율적으로 획득하는 방법을 제시하고자 한다.Accordingly, the present invention proposes a method of efficiently acquiring information on a change area of a screen by hooking an update message of a program to be controlled by adding an existing screen capture step and a means for capturing an OS message.

이 때, 적어도 하나의 변화 영역 메시지는 어플리케이션의 화면 업데이트시 변화하는 영역들에 대한 정보를 포함할 수 있다. 예를 들어, 변화 영역에 대한 위치 정보나 이미지 특성 또는 해당 변화 영역이 포함된 프레임에 대한 정보를 포함할 수도 있다.At this time, the at least one change area message may include information on areas that change during a screen update of the application. For example, it may include positional information on the change area or information on an image characteristic or a frame including the change area.

또한, 어플리케이션에 상응하는 어느 하나의 프레임에 대해서 복수개의 변화 영역 메시지를 획득할 수도 있다. 예를 들어, 하나의 프레임에서 여러 군데의 화면 변화가 발생한 경우에 OS 단으로부터 각각의 변화에 대한 변화 영역 메시지가 발생될 수 있고, 클라우드 스트리밍 서버에서는 각각의 변화에 대한 변화 영역 메시지를 획득할 수 있다.In addition, a plurality of change area messages may be acquired for any one frame corresponding to the application. For example, when multiple screen changes occur in one frame, a change area message for each change can be generated from the OS, and the cloud streaming server can obtain a change area message for each change have.

또한, 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법은 적어도 하나의 변화 영역 메시지를 기반으로 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처한다(S820).Also, according to an embodiment of the present invention, an image cloud streaming service method based on change area detection using an OS message includes at least one change among a plurality of frames constituting an execution image of an application based on at least one change area message Area is captured (S820).

종래의 이미지 기반 클라우드 스트리밍 서비스 시 클라우드 스트리밍 서버에서 변화된 영역을 캡처하기 위해서는 어플리케이션 실행화면에 상응하는 복수개의 프레임들을 일일히 비교하여 변화된 프레임을 검색하고, 변화된 프레임에서 변화된 영역을 이미지로 캡처하는 과정을 수행하여야 했다. In the conventional image-based cloud streaming service, in order to capture a changed region in the cloud streaming server, a process of searching for a changed frame by comparing a plurality of frames corresponding to an application execution screen and capturing a changed region in an altered frame as an image I had to do it.

이 때, 변화된 영역을 정확하게 파악하기 위해서는 전체 프레임들을 비교해야 하기 때문에, 클라우드 스트리밍 서버의 한정된 자원을 많이 소비할 수 밖에 없었다. At this time, since it is necessary to compare all the frames in order to accurately grasp the changed area, the limited resources of the cloud streaming server have to be consumed.

이와 같은 문제를 해결하기 위해, 본 발명에서는 어플리케이션의 실행화면을 구성하는 복수개의 프레임들을 모두 비교하지 않고, OS 단으로부터 획득한 변화 영역 메시지에서 변화된 프레임의 정보를 획득함으로써 최소한의 비교 연산만을 수행할 수 있다. 즉, 실제로 어플리케이션 실행화면이 변화하기 전에 변화 영역 메시지가 수신되므로, 이를 이용하여 변화된 영역을 미리 확인할 수 있다.In order to solve such a problem, in the present invention, only a minimum comparison operation is performed by obtaining information of a changed frame in a change area message acquired from an OS terminal without comparing all the frames constituting an execution screen of an application . That is, since the change area message is actually received before the application execution screen changes, the changed area can be confirmed in advance.

이 때, 적어도 하나의 변화 영역 메시지가 누적되어 저장된 변화 영역 리스트를 참조하여 복수개의 프레임들 중 변화가 발생한 적어도 하나의 프레임을 추출하고, 적어도 하나의 프레임에서 적어도 하나의 변화 영역 메시지에 포함된 영역 정보를 기반으로 사각형에 상응하는 적어도 하나의 변화 영역을 캡처할 수 있다.At this time, at least one change area message is accumulated, and at least one frame in which a change occurs among a plurality of frames is extracted by referring to the stored change area list, and at least one frame included in at least one change area message Based on the information, at least one change area corresponding to the rectangle can be captured.

이 때, 어플리케이션의 실행화면을 렌더링하면서 변화 영역 리스트에 적어도 하나의 변화 영역 메시지를 누적하여 저장할 수 있다. 즉, 캡처가 수행되기 전에 어플리케이션 실행화면에 대한 화면 업데이트 정보를 포함하는 적어도 하나의 변화 영역 메시지를 모두 변화 영역 리스트에 누적하여 저장할 수 있다.At this time, at least one change area message can be accumulated and stored in the change area list while rendering the application execution screen. That is, at least one change area message including screen update information on the application execution screen may be accumulated and stored in the change area list before capturing is performed.

따라서, 캡처단에서는 렌더링을 감지하게되면 변화 영역 리스트에 누적되어 저장된 정보를 바탕으로 변화가 발생한 프레임만을 추출하여 차이가 있는 사각형의 변화 영역을 캡처할 수 있다.Accordingly, when the rendering is sensed at the capture end, only the frame in which the change has occurred based on the information accumulated and stored in the change area list can be captured to capture a rectangular change area having a difference.

이 때, 하나의 프레임에서 여러 개의 변화 영역을 캡처할 수 있다.At this time, it is possible to capture multiple change areas in one frame.

이 때, 변화 영역 리스트에는 변화 영역 메시지에 포함된 프레임 정보, 변화 영역의 위치 정보 및 변화 영역의 이미지 특성 정보 등을 포함할 수 있다.At this time, the change area list may include frame information included in the change area message, position information of the change area, and image characteristic information of the change area.

이 때, 변화 영역의 위치 정보를 어플리케이션 실행화면의 프레임을 기준으로 한 좌표 값으로 저장될 수 있다.At this time, the position information of the change area can be stored as a coordinate value based on the frame of the application execution screen.

또한, 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법은 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출한다(S830).In addition, according to an exemplary embodiment of the present invention, an image cloud streaming service method based on a change area detection using an OS message detects an actual change area corresponding to at least one change area (S830).

이 때, 변화 영역 메시지는 변화되는 부분을 모두 포함하는 사각형 영역을 변화 영역으로 인식할 수 있기 때문에, 적어도 하나의 변화 영역에 상응하는 실제 변화 영역과 적어도 하나의 변화 영역은 일치하지 않을 수 있다. 예를 들어, 적어도 하나의 변화 영역은 여러 개의 실제 변화 영역을 포함하는 영역일 수 있기 때문에, 실제로 변화하지 않는 부분이 포함되어 있을 수도 있다. At this time, since the change area message can recognize a rectangular area including all the changed parts as the change area, the actual change area corresponding to at least one change area and the at least one change area may not coincide. For example, since at least one change area may be an area including a plurality of actual change areas, it may include a part that does not actually change.

따라서, 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하여 보다 효율적으로 스틸 이미지 인코딩을 수행할 수 있다.Therefore, it is possible to perform the still image encoding more efficiently by detecting the actual change area corresponding to at least one change area.

또한, 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법은 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송한다(S840).In addition, according to an exemplary embodiment of the present invention, an image cloud streaming service method based on change area detection using an OS message can be realized by considering an image characteristic of each of a plurality of areas when an actual change area corresponds to a plurality of areas At least one encoding region is generated, and at least one encoding region is respectively still image encoded and streamed to the user terminal (S840).

예를 들어, 실제 변화 영역이 A 영역과 B 영역에 상응하고, A영역과 B 영역의 이미지 특성이 상이할 경우에는 A 영역과 B 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송할 수 있다.For example, if the actual change area corresponds to the area A and the area B, and the image characteristics of the area A and the area B are different, the still area encoding of the area A and the area B may be respectively transmitted to the user's terminal.

이 때, 복수개의 영역들 중 이미지 특성이 제1 타입에 상응하는 제1 영역이 이미지 특성이 제2 타입에 상응하는 제2 영역을 포함하는 경우에, 제1 영역에서 제2 영역을 제외한 영역 및 제2 영역 중 하나 이상에 상응하도록 적어도 하나의 인코딩 영역을 생성할 수 있다.In this case, when a first region corresponding to the first type of image characteristics among the plurality of regions includes a second region corresponding to the second type of image characteristic, the region excluding the second region and the region And generate at least one encoded region to correspond to one or more of the second regions.

상기의 예를 들어, A 영역의 이미지 특성이 제1 타입에 상응하고, B 영역의 이미지 타입이 제2 타입에 상응하고, A 영역이 B 영역을 포함한다고 가정할 수 있다. 이 때, A 영역에서 B 영역을 제외한 영역, 즉 A 영역에서 B 영역에 상응하는 영역을 픽셀 초기화시켜 비워진 만큼의 영역을 하나의 인코딩 영역으로 생성할 수 있다. 또한, B 영역에 상응하는 영역도 또 하나의 다른 인코딩 영역으로 생성할 수 있다. 따라서, 각각 생성된 두 개의 인코딩 영역을 각각의 이미지 특성에 맞게 스틸 이미지 인코딩하여 사용자의 단말로 전송할 수 있다.For example, it can be assumed that the image characteristic of the A region corresponds to the first type, the image type of the B region corresponds to the second type, and the A region includes the B region. At this time, a region excluding the B region in the region A, that is, a region corresponding to the B region in the A region, can be initialized as a pixel, and an empty region can be generated as a single encoding region. In addition, an area corresponding to the B area can be generated as another encoding area. Accordingly, the generated two encoding regions can be still image encoded according to the respective image characteristics and transmitted to the user terminal.

이 때, 제2 영역을 구성하는 픽셀들 중 제1 타입에 상응하는 픽셀이 혼합된 경우에 픽셀들 중 제2 타입에 상응하는 픽셀들을 모두 포함하는 제3 영역을 생성하고, 제1 영역에서 제3 영역을 제외한 영역 및 제3 영역 중 하나 이상에 상응하도록 적어도 하나의 인코딩 영역을 생성할 수 있다.At this time, when a pixel corresponding to the first type among the pixels constituting the second region is mixed, a third region including all the pixels corresponding to the second type is generated, At least one encoding region may be generated to correspond to at least one of the region excluding the three regions and the third region.

예를 들어, A 영역이 B 영역을 포함하고, A 영역의 이미지 특성이 제1 타입에 상응하고, B 영역을 구성하는 픽셀들의 이미지 타입이 제1 타입과 제2 타입이 혼합되었다고 가정할 수 있다. 이 때, 적어도 하나의 인코딩 영역을 생성하기 위해서는 먼저 B 영역을 구성하는 픽셀들 중에서 A 영역의 이미지 특성인 제1 타입과는 다른 제2 타입에 상응하는 픽셀들을 검출한다. 이 후, 제2 타입에 상응하는 픽셀들을 모두 포함할 수 있는 제3 영역을 생성할 수 있다. 이 후, 제1 영역에서 제3 영역을 제외한 영역과 제3 영역을 각각 하나의 인코딩 영역으로 생성할 수 있다. For example, it can be assumed that the A region includes the B region, the image characteristic of the A region corresponds to the first type, and the image type of the pixels constituting the B region is a mixture of the first type and the second type . At this time, in order to generate at least one encoding region, pixels corresponding to the second type, which is different from the first type, which is the image characteristic of the A region, are detected among the pixels constituting the B region. Thereafter, a third region may be created, which may include all of the pixels corresponding to the second type. Thereafter, a region excluding the third region and a third region in the first region may be generated as one encoding region, respectively.

즉, 이미지 특성이 다른 영역끼리 묶여서 하나의 인코딩 영역으로 생성되기 때문에 보다 효율적으로 스틸 이미지 인코딩을 수행할 수 있다. That is, the still image encoding can be performed more efficiently because the image characteristics are created by combining the different regions into one encoding region.

이 때, 이미지 특성은 자연(Natural) 이미지 및 합성(Synthetic) 이미지 중 적어도 하나에 상응할 수 있다.At this time, the image characteristic may correspond to at least one of a Natural image and a Synthetic image.

이 때, 자연 이미지는 자연적으로 발생한 객체의 이미지를 의미할 수 있다. 예를 들어, 하나의 사진이나 그림과 같은 광학 이미지뿐 아니라 엑스레이와 적외선 같은 다른 파장의 이미지들을 의미할 수도 있다.In this case, a natural image may mean an image of an object that occurs naturally. For example, it may refer to optical images such as a photograph or a picture, as well as images of other wavelengths such as x-rays and infrared rays.

이 때, 합성 이미지는 자연 이미지와 다르게 컴퓨터나 인위적 수단을 통해 생성되거나 합성된 이미지를 의미할 수 있다.In this case, the composite image may be an image generated or synthesized through computer or artificial means, unlike the natural image.

이 때, 적어도 하나의 인코딩 영역 중 자연 이미지에 상응하는 영역은 JPEG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행하고, 적어도 하나의 인코딩 영역 중 합성 이미지에 상응하는 영역은 PNG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행할 수 있다.The area corresponding to the natural image among the at least one encoding area performs still image encoding with the JPEG still image encoding technique, and the area corresponding to the synthetic image among the at least one encoding area is converted into the still image using the PNG still image encoding technique Encoding can be performed.

이 때, PNG 스틸 이미지 인코딩 기법은 스틸 이미지 인코딩 시 이미지의 화질은 좋으나 데이터의 크기가 커져서 전송 망의 대역폭이 낮은 경우에는 전송 속도가 저하될 수 있다. At this time, the PNG still image encoding technique can improve the image quality when still image encoding is performed, but the transmission speed may be lowered when the bandwidth of the transmission network is low due to a large data size.

또한, JPEG 스틸 이미지 인코딩 기법은 압축 효율이 좋아서 스틸 이미지 인코딩 시 전송 데이터 량을 대폭 줄일 수 있으나, 압축 효율이 큰 만큼 인코딩 및 디코딩을 수행할 때 시스템 부하를 많이 발생시킬 수 있다. 또한, JPEG 스틸 이미지 인코딩 기법으로는 한 픽셀 주위에 서로 비슷한 색이 모여 있는 자연 이미지를 스틸 이미지 인코딩 하였을 때 압축 효율이 더 효과적일 수 있다.In addition, the JPEG still image encoding technique can greatly reduce the amount of data to be transmitted when still image encoding is performed because of its high compression efficiency. However, since the compression efficiency is high, the system load can be increased when performing encoding and decoding. Also, with the JPEG still image encoding technique, the compression efficiency may be more effective when the still image encoding of a natural image having similar colors around one pixel is performed.

이 때, 복수개의 영역들 중 이미지 특성이 상이한 적어도 둘 이상의 영역들이 겹쳐지는 경우에 겹쳐진 영역을 적어도 둘 이상의 영역에서 제외하고, 겹쳐진 영역에 상응하는 스틸 이미지 인코딩 기법으로 겹쳐진 영역을 스틸 이미지 인코딩할 수 있다.In this case, when at least two regions having different image characteristics among a plurality of regions are overlapped, the overlapping region is excluded from at least two regions, and still image encoding is performed using the still image encoding technique corresponding to the overlapping region have.

이 때, 겹쳐진 영역은 이미지 프로세싱을 통해 영역의 특징을 파악하고, 가장 적합한 스틸 이미지 인코딩 기법을 이용하여 스틸 이미지 인코딩할 수 있다.At this time, the overlapped area can recognize the characteristics of the area through image processing, and still image can be encoded using the most suitable still image encoding technique.

또한, 둘 이상의 영역들에서 겹쳐진 영역을 제외한 나머지 영역들도 이미지 특성에 따른 스틸 이미지 인코딩 기법으로 각각 스틸 이미지 인코딩될 수 있다. In addition, regions other than the overlapped region in two or more regions may be still image encoded by a still image encoding technique according to image characteristics, respectively.

이 때, 제2 영역을 스틸 이미지 인코딩한 이미지를 제1 영역에서 제2 영역을 제외한 영역을 스틸 이미지 인코딩한 이미지 위에 겹쳐서 사용자의 단말로 스트리밍 전송할 수 있다. 즉, 큰 영역을 밑에 표시하고, 작은 영역을 위해 올려 화면을 디스플레이 하는 경우에 이상이 없도록 할 수 있다.At this time, the still image-encoded image of the second region may be superimposed on the still image-encoded image of the region excluding the second region in the first region, and may be streamed to the user's terminal. That is, it is possible to display a large area at the bottom and raise it for a small area to display the screen.

또한, 도 8에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법은 도 1에 도시된 네트워크와 같은 통신망을 통해 다수의 단말들과 관련된 정보를 송수신 한다. 특히, 클라우드 스트리밍 서비스에 대한 요청을 단말로부터 수신하고, 단말이 요청한 클라우드 스트리밍 서비스에 상응하는 어플리케이션의 실행화면을 단말로 제공할 수 있다.Although not shown in FIG. 8, the image cloud streaming service method based on change area detection using an OS message according to an exemplary embodiment of the present invention may be applied to a plurality of terminals through a communication network such as the network shown in FIG. 1 Send and receive information. In particular, a request for the cloud streaming service can be received from the terminal, and an execution screen of the application corresponding to the cloud streaming service requested by the terminal can be provided to the terminal.

이 때, 단말이 요청한 클라우드 스트리밍 서비스에 대해서 클라우드 스트리밍 서버로부터 어플리케이션 실행화면을 수신할 수 있다.At this time, the application execution screen can be received from the cloud streaming server with respect to the cloud streaming service requested by the terminal.

이 때, 웹 어플리케이션 서버가 사용자의 요청에 상응하게 어플리케이션을 실행시키고, 어플리케이션을 실행한 결과에 상응하는 어플리케이션 실행화면을 클라우드 스트리밍 서버로 전송할 수 있다. 즉, 클라우드 스트리밍 서버에서는 어플리케이션을 실행한 결과 화면만을 이용하여 사용자에게 이미지 기반의 클라우드 스트리밍 서비스를 제공할 수 있다.At this time, the web application server may execute the application corresponding to the request of the user, and may transmit the application execution screen corresponding to the result of executing the application to the cloud streaming server. In other words, the cloud streaming server can provide an image-based cloud streaming service to the user by using only the screen resulting from executing the application.

또한, 도 8에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법은 상술한 바와 같이 본 발명의 실시예에 따른 클라우드 스트리밍 서비스 과정에서 발생되는 다양한 정보를 저장한다.In addition, although not shown in FIG. 8, the image cloud streaming service method based on change area detection using an OS message according to an exemplary embodiment of the present invention is performed in a cloud streaming service process according to an exemplary embodiment of the present invention And the like.

실시예에 따라, 정보를 저장하는 저장모듈은 클라우드 스트리밍 서버와 독립적으로 구성되어 클라우드 스트리밍 서비스를 위한 기능을 지원할 수 있다. 이 때, 저장모듈은 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다.According to an embodiment, the storage module for storing information may be configured independently of the cloud streaming server to support a function for the cloud streaming service. At this time, the storage module may operate as a separate mass storage and may include control functions for performing operations.

이와 같은 이미지 클라우드 스트리밍 서비스 방법을 통해 이미지 기반의 클라우드 스트리밍 서비스를 제공함으로써, 이미지 기반의 클라우드 스트리밍 시 OS 단에서 획득한 업데이트 메시지를 기반으로 영역 비교를 수행함으로써 서버에서의 비교 연산을 감소시킬 수 있다.By providing an image-based cloud streaming service through the image cloud streaming service method, it is possible to reduce the comparison operation in the server by performing region comparison based on the update message acquired at the OS side in the image-based cloud streaming .

또한, 이미지의 특성에 따른 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행함으로써 보다 효율적으로 이미지 기반의 클라우드 스트리밍 서비스를 제공할 수 있다.In addition, image-based cloud streaming service can be provided more efficiently by performing still image encoding using a still image encoding technique according to image characteristics.

또한, 사용자 단말에서 프레임의 변화된 이미지만을 렌더링하여 디스플레이 하도록 함으로써 사용자 단말의 성능이 낮더라도 클라우드 스트리밍 서비스를 원활하게 제공할 수 있다.Also, since only the changed image of the frame is rendered and displayed in the user terminal, the cloud streaming service can be smoothly provided even if the performance of the user terminal is low.

도 9는 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법을 상세하게 나타낸 동작 흐름도이다.9 is a flowchart illustrating an image cloud streaming service method based on change area detection using an OS message according to an exemplary embodiment of the present invention.

도 9를 참조하면, 본 발명의 일실시예에 따른 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법은 먼저 어플리케이션 실행화면을 구성하는 복수개의 프레임들 중 변화 영역 리스트를 참조하여 변화가 발생한 적어도 하나의 프레임을 추출한다(S910).Referring to FIG. 9, an image cloud streaming service method based on detection of a change area using an OS message according to an embodiment of the present invention includes a step of, referring to a change area list among a plurality of frames constituting an application execution screen, At least one frame is extracted (S910).

종래의 이미지 기반 클라우드 스트리밍 서비스 시 클라우드 스트리밍 서버에서 변화된 영역을 캡처하기 위해서는 어플리케이션 실행화면에 상응하는 복수개의 프레임들을 일일히 비교하여 변화된 프레임을 검색하고, 변화된 프레임에서 변화된 영역을 이미지로 캡처하는 과정을 수행하여야 했다. In the conventional image-based cloud streaming service, in order to capture a changed region in the cloud streaming server, a process of searching for a changed frame by comparing a plurality of frames corresponding to an application execution screen and capturing a changed region in an altered frame as an image I had to do it.

이 때, 변화된 영역을 정확하게 파악하기 위해서는 전체 프레임들을 비교해야 하기 때문에, 클라우드 스트리밍 서버의 한정된 자원을 많이 소비할 수 밖에 없었다. At this time, since it is necessary to compare all the frames in order to accurately grasp the changed area, the limited resources of the cloud streaming server have to be consumed.

이와 같은 문제를 해결하기 위해, 본 발명에서는 어플리케이션의 실행화면을 구성하는 복수개의 프레임들을 모두 비교하지 않고, OS 단으로부터 획득한 변화 영역 메시지에서 변화된 프레임의 정보를 획득함으로써 최소한의 비교 연산만을 수행할 수 있다. 즉, 실제로 어플리케이션 실행화면이 변화하기 전에 변화 영역 메시지가 수신되므로, 이를 이용하여 변화된 영역을 미리 확인할 수 있다.In order to solve such a problem, in the present invention, only a minimum comparison operation is performed by obtaining information of a changed frame in a change area message acquired from an OS terminal without comparing all the frames constituting an execution screen of an application . That is, since the change area message is actually received before the application execution screen changes, the changed area can be confirmed in advance.

이 후, 적어도 하나의 프레임에서 적어도 하나의 변화 영역을 캡처한다(S920).Thereafter, at least one change area is captured in at least one frame (S920).

이 때, 어플리케이션의 실행화면을 렌더링하면서 변화 영역 리스트에 적어도 하나의 변화 영역 메시지를 누적하여 저장할 수 있다. 즉, 캡처가 수행되기 전에 어플리케이션 실행화면에 대한 화면 업데이트 정보를 포함하는 적어도 하나의 변화 영역 메시지를 모두 변화 영역 리스트에 누적하여 저장할 수 있다.At this time, at least one change area message can be accumulated and stored in the change area list while rendering the application execution screen. That is, at least one change area message including screen update information on the application execution screen may be accumulated and stored in the change area list before capturing is performed.

따라서, 캡처단에서는 렌더링을 감지하게되면 변화 영역 리스트에 누적되어 저장된 정보를 바탕으로 변화가 발생한 프레임만을 추출하여 차이가 있는 사각형의 변화 영역을 캡처할 수 있다.Accordingly, when the rendering is sensed at the capture end, only the frame in which the change has occurred based on the information accumulated and stored in the change area list can be captured to capture a rectangular change area having a difference.

이 후, 적어도 하나의 변화 영역에서 실제 변화 영역을 검출한다(S930).Thereafter, the actual change area is detected in at least one change area (S930).

이 때, 변화 영역 메시지는 변화되는 부분을 모두 포함하는 사각형 영역을 변화 영역으로 인식할 수 있기 때문에, 적어도 하나의 변화 영역에 상응하는 실제 변화 영역과 적어도 하나의 변화 영역은 일치하지 않을 수 있다. 예를 들어, 적어도 하나의 변화 영역은 여러 개의 실제 변화 영역을 포함하는 영역일 수 있기 때문에, 실제로 변화하지 않는 부분이 포함되어 있을 수도 있다. At this time, since the change area message can recognize a rectangular area including all the changed parts as the change area, the actual change area corresponding to at least one change area and the at least one change area may not coincide. For example, since at least one change area may be an area including a plurality of actual change areas, it may include a part that does not actually change.

따라서, 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하여 보다 효율적으로 스틸 이미지 인코딩을 수행할 수 있다.Therefore, it is possible to perform the still image encoding more efficiently by detecting the actual change area corresponding to at least one change area.

이 후, 실제 변화 영역이 복수개의 영역들에 상응하는지 여부를 판단한다(S935).Thereafter, it is determined whether the actual change area corresponds to a plurality of areas (S935).

단계(S935)의 판단결과 실제 변화 영역이 복수개의 영역들에 상응하면, 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성한다(S940).If it is determined in step S935 that the actual change area corresponds to the plurality of areas, at least one encoding area is generated in consideration of the image characteristics of each of the plurality of areas in operation S940.

예를 들어, 실제 변화 영역이 A 영역과 B 영역에 상응하고, A영역과 B 영역의 이미지 특성이 상이할 경우에는 A 영역과 B 영역을 각각에 상응하는 인코딩 영역을 생성할 수 있다.For example, if the actual change region corresponds to the A region and the B region, and the image characteristics of the A region and the B region are different, an encoding region corresponding to each of the A region and the B region may be generated.

이 후, 적어도 하나의 인코딩 영역 각각의 이미지 특성에 따라 스틸 이미지 인코딩을 수행한다(S950).Thereafter, still image encoding is performed according to the image characteristic of each of the at least one encoding area (S950).

이 때, 이미지 특성은 자연(Natural) 이미지 및 합성(Synthetic) 이미지 중 적어도 하나에 상응할 수 있다.At this time, the image characteristic may correspond to at least one of a Natural image and a Synthetic image.

이 때, 자연 이미지는 자연적으로 발생한 객체의 이미지를 의미할 수 있다. 예를 들어, 하나의 사진이나 그림과 같은 광학 이미지뿐 아니라 엑스레이와 적외선 같은 다른 파장의 이미지들을 의미할 수도 있다.In this case, a natural image may mean an image of an object that occurs naturally. For example, it may refer to optical images such as a photograph or a picture, as well as images of other wavelengths such as x-rays and infrared rays.

이 때, 합성 이미지는 자연 이미지와 다르게 컴퓨터나 인위적 수단을 통해 생성되거나 합성된 이미지를 의미할 수 있다.In this case, the composite image may be an image generated or synthesized through computer or artificial means, unlike the natural image.

이 때, 적어도 하나의 인코딩 영역 중 자연 이미지에 상응하는 영역은 JPEG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행하고, 적어도 하나의 인코딩 영역 중 합성 이미지에 상응하는 영역은 PNG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행할 수 있다.The area corresponding to the natural image among the at least one encoding area performs still image encoding with the JPEG still image encoding technique, and the area corresponding to the synthetic image among the at least one encoding area is converted into the still image using the PNG still image encoding technique Encoding can be performed.

이 때, PNG 스틸 이미지 인코딩 기법은 스틸 이미지 인코딩 시 이미지의 화질은 좋으나 데이터의 크기가 커져서 전송 망의 대역폭이 낮은 경우에는 전송 속도가 저하될 수 있다. At this time, the PNG still image encoding technique can improve the image quality when still image encoding is performed, but the transmission speed may be lowered when the bandwidth of the transmission network is low due to a large data size.

또한, JPEG 스틸 이미지 인코딩 기법은 압축 효율이 좋아서 스틸 이미지 인코딩 시 전송 데이터 량을 대폭 줄일 수 있으나, 압축 효율이 큰 만큼 인코딩 및 디코딩을 수행할 때 시스템 부하를 많이 발생시킬 수 있다. 또한, JPEG 스틸 이미지 인코딩 기법으로는 한 픽셀 주위에 서로 비슷한 색이 모여 있는 자연 이미지를 스틸 이미지 인코딩 하였을 때 압축 효율이 더 효과적일 수 있다.In addition, the JPEG still image encoding technique can greatly reduce the amount of data to be transmitted when still image encoding is performed because of its high compression efficiency. However, since the compression efficiency is high, the system load can be increased when performing encoding and decoding. Also, with the JPEG still image encoding technique, the compression efficiency may be more effective when the still image encoding of a natural image having similar colors around one pixel is performed.

또한, 단계(S935)의 판단결과 실제 변화 영역이 복수개의 영역들에 상응하지 않으면, 실제 변화 영역의 이미지의 특성에 따라 스틸 이미지 인코딩을 수행한다(S960).If it is determined in step S935 that the actual change area does not correspond to the plurality of areas, still image encoding is performed according to the characteristics of the image of the actual change area (S960).

이 후, 스틸 이미지 인코딩된 결과를 사용자의 단말로 스트리밍 전송한다(S970).Thereafter, the still image encoded result is streamed to the user terminal (S970).

도 10은 도 8에 도시된 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법 중 적어도 하나의 인코딩 영역을 생성하는 과정의 일 예를 나타낸 동작 흐름도이다.10 is an operation flowchart illustrating an example of a process of generating at least one encoded region among the image cloud streaming service methods based on the change region detection using the OS message shown in FIG.

도 10을 참조하면, 도 8에 도시된 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법 중 적어도 하나의 인코딩 영역을 생성하는 과정은 먼저 실제 변화 영역들의 위치를 체크한다(S1002).Referring to FIG. 10, the process of generating at least one encoded region among the image cloud streaming service methods based on the change region detection based on the OS message illustrated in FIG. 8 first checks the location of actual change regions (S1002).

이 후, 실제 변화 영역들 중 어느 하나의 영역이 다른 영역을 포함하는지 여부를 판단한다(S1004).Thereafter, it is determined whether any one of the actual change areas includes another area (S1004).

단계(S1004)의 판단결과 어느 하나의 영역이 다른 영역들 포함하면, 어느 하나의 영역과 포함되는 다른 영역의 이미지 특성이 상이한지 여부를 판단하나(S1006).If it is determined in step S1004 that any one area includes other areas, it is determined whether the image characteristics of one area and another area included in the other areas are different (S1006).

단계(S1006)의 판단결과 이미지 특성이 상이하지 않으면, 다른 영역을 포함하는 하나의 영역만을 인코딩 영역으로 인식할 수 있다.As a result of the determination in step S1006, if the image characteristics do not differ, only one region including another region can be recognized as an encoding region.

또한, 단계(S1006)의 판단결과 이미지 특성이 상이하면, 각각의 이미지 특성에 따라서 적어도 하나의 인코딩 영역을 생성한다(S1010).If it is determined in step S1006 that the image characteristics are different, at least one encoding area is generated according to the image characteristics (S1010).

이 때, 복수개의 상응하는 실제 변화 영역들 중 이미지 특성이 제1 타입에 상응하는 제1 영역이 이미지 특성이 제2 타입에 상응하는 제2 영역을 포함하는 경우에, 제1 영역에서 제2 영역을 제외한 영역 및 제2 영역 중 하나 이상에 상응하도록 적어도 하나의 인코딩 영역을 생성할 수 있다.At this time, when a first region corresponding to the first type of image characteristic among the plurality of corresponding actual change regions includes a second region corresponding to the second type of image characteristic, And at least one encoded region corresponding to at least one of the region excluding the first region and the second region.

이 때, 단계(S1004)의 판단결과 어느 하나의 영역이 다른 영역들 포함하지 않으면, 실제 변화 영역들 중 서로 영역이 겹치는 실제 변화 영역들이 존재하는지 여부를 판단한다(S1012).At this time, if it is determined in step S1004 that any one area does not include other areas, it is determined whether actual change areas overlap with each other among the actual change areas (S1012).

단계(S1012)의 판단결과 영역이 겹치는 실제 변화 영역들이 존재하면, 영역이 겹치는 실제 변화 영역들의 이미지 특성이 상이한지 여부를 판단한다(S1014).As a result of the determination in step S1012, if there are actual change areas where the areas overlap, it is determined whether the image characteristics of the actual change areas in which the areas overlap are different (S1014).

단계(S1014)의 판단결과 이미지 특성이 상이하면, 겹쳐진 영역 및 영역이 겹치는 실제 변화 영역들에서 겹쳐진 영역을 제외한 나머지 영역들을 각각 인코딩 영역으로 생성한다(S1016).As a result of the determination in step S1014, if the image characteristics are different, the remaining areas excluding the overlapped area in the actual change areas where the overlapping area and the overlapping area overlap are generated as encoding areas, respectively (step S1016).

또한, 단계(S1014)의 판단결과 이미지 특성이 상이하지 않으면, 영역이 겹치는 실제 변화 영역들을 하나의 인코딩 영역으로 생성한다(S1018).As a result of the determination in step S1014, if the image characteristics do not differ, the actual change areas where the overlapping areas are created as one encoding area (S1018).

이 때, 단계(S1012)의 판단결과 판단결과 영역이 겹치는 실제 변화 영역들이 존재하지 않으면, 실제 변화 영역들을 각각 인코딩 영역으로 인식한다(S1020).At this time, if there are no actual change areas where the determination result area overlaps with the determination result of step S1012, the actual change areas are respectively recognized as an encoding area (S1020).

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

이상에서와 같이 본 발명에 따른 클라우드 스트리밍 서비스 시스템, OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the cloud streaming service system according to the present invention, the image cloud streaming service method based on the change area detection using the OS message, and the apparatus for the same can be applied to the configuration and method of the above- The above embodiments may be constructed by selectively combining all or some of the embodiments so that various modifications can be made.

본 발명에 의하면 OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득하고, 적어도 하나의 변화 영역 메시지를 기반으로 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처하고, 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하고, 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송할 수 있다. 나아가, 이미지 기반의 클라우드 스트리밍 서비스 시 화면을 비교하는 연산과정을 감소시켜 클라우드 스트리밍 서비스 시스템을 보다 효율적으로 운영하는 것이 가능하다.According to the present invention, at least one change area message corresponding to a screen update of an application is obtained on the basis of an OS message, and at least one of a plurality of frames constituting an execution screen of an application based on at least one change area message The method comprising the steps of: capturing a change area, detecting an actual change area corresponding to at least one change area, and, when the actual change area corresponds to a plurality of areas, Area, and at least one encoding area may be respectively still-image encoded and streamed to the user's terminal. Furthermore, it is possible to operate the cloud streaming service system more efficiently by reducing the computational process of comparing images in an image-based cloud streaming service.

110: 클라우드 스트리밍 서버 120-1~ 120-N: 단말
130: 네트워크 210: 통신부
220: 메시지 획득부 230: 캡처부
240: 실제 변화 영역 검출부 250: 스트리밍부
260: 저장부 310: 변화 영역 리스트
510: 이전 프레임의 변화 영역 520: 현재 프레임의 변화 영역
530: 실제 변화 영역 610: 제1 영역
620: 제2 영역 630, 720: 제3 영역
710: 제1 영역에서 제3 영역을 제외한 영역
110: Cloud streaming servers 120-1 to 120-N:
130: Network 210:
220: message obtaining unit 230: capturing unit
240: actual change area detecting unit 250:
260: storage unit 310: change area list
510: change area of previous frame 520: change area of current frame
530: actual change area 610: first area
620: second area 630, 720: third area
710: an area excluding the third area in the first area

Claims (10)

OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득하는 메시지 획득부;
상기 적어도 하나의 변화 영역 메시지를 기반으로 상기 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처하는 캡처부;
상기 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하는 실제 변화 영역 검출부; 및
상기 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 상기 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 상기 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송하는 스트리밍부
를 포함하는 것을 특징으로 하는 클라우드 스트리밍 서버.
A message acquisition unit for acquiring at least one change area message corresponding to a screen update of the application based on the OS message;
A capture unit capturing at least one change area of a plurality of frames constituting an execution screen of the application based on the at least one change area message;
An actual change area detecting unit detecting an actual change area corresponding to the at least one change area; And
Generating at least one encoded region by considering image characteristics of each of the plurality of regions when the actual change region corresponds to a plurality of regions and encoding each of the at least one encoded region by still image encoding, A streaming unit for streaming transmission to the terminal
Wherein the server comprises:
청구항 1에 있어서,
상기 캡처부는
상기 적어도 하나의 변화 영역 메시지가 누적되어 저장된 변화 영역 리스트를 참조하여 상기 복수개의 프레임들 중 변화가 발생한 적어도 하나의 프레임을 추출하고, 상기 적어도 하나의 프레임에서 상기 적어도 하나의 변화 영역 메시지에 포함된 영역 정보를 기반으로 사각형에 상응하는 상기 적어도 하나의 변화 영역을 캡처하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method according to claim 1,
The capture unit
Extracting at least one frame in which a change has occurred among the plurality of frames by referring to the change area list in which the at least one change area message is accumulated and stored, and extracting at least one frame included in the at least one change area message And captures the at least one change area corresponding to the rectangle based on the area information.
청구항 2에 있어서,
상기 스트리밍부는
상기 복수개의 영역들 중 상기 이미지 특성이 제1 타입에 상응하는 제1 영역이 상기 이미지 특성이 제2 타입에 상응하는 제2 영역을 포함하는 경우에, 상기 제1 영역에서 상기 제2 영역을 제외한 영역 및 상기 제2 영역 중 하나 이상에 상응하도록 상기 적어도 하나의 인코딩 영역을 생성하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 2,
The streaming unit
Wherein a first region of the plurality of regions corresponding to the first type of image characteristic includes a second region corresponding to the second type when the image characteristic includes the second region, And the at least one encoded region is created to correspond to at least one of the first region and the second region.
청구항 3에 있어서,
상기 스트리밍부는
상기 제2 영역을 구성하는 픽셀들 중 상기 제1 타입에 상응하는 픽셀이 혼합된 경우에 상기 픽셀들 중 상기 제2 타입에 상응하는 픽셀들을 모두 포함하는 제3 영역을 생성하고, 상기 제1 영역에서 상기 제3 영역을 제외한 영역 및 상기 제3 영역 중 하나 이상에 상응하도록 상기 적어도 하나의 인코딩 영역을 생성하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 3,
The streaming unit
A third region including all the pixels corresponding to the second type among the pixels when the pixels corresponding to the first type are mixed among the pixels constituting the second region, Wherein the at least one encoded region is generated to correspond to at least one of the region excluding the third region and the third region.
청구항 1에 있어서,
상기 이미지 특성은
자연(Natural) 이미지 및 합성(Synthetic) 이미지 중 적어도 하나에 상응하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method according to claim 1,
The image characteristic
A Natural image, and a Synthetic image. ≪ Desc / Clms Page number 19 >
청구항 5에 있어서,
상기 스트리밍부는
상기 적어도 하나의 인코딩 영역 중 상기 자연 이미지에 상응하는 영역은 JPEG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행하고, 상기 적어도 하나의 인코딩 영역 중 상기 합성 이미지에 상응하는 영역은 PNG 스틸 이미지 인코딩 기법으로 스틸 이미지 인코딩을 수행하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 5,
The streaming unit
Wherein a region corresponding to the natural image of the at least one encoding region performs still image encoding using a JPEG still image encoding technique and an area corresponding to the synthesized image of the at least one encoding region is encoded using a PNG still image encoding technique And performs image encoding.
청구항 4에 있어서,
상기 스트리밍부는
상기 복수개의 영역들 중 상기 이미지 특성이 상이한 적어도 둘 이상의 영역들이 겹쳐지는 경우에 겹쳐진 영역을 상기 적어도 둘 이상의 영역에서 제외하고, 상기 겹쳐진 영역에 상응하는 스틸 이미지 인코딩 기법으로 상기 겹쳐진 영역을 스틸 이미지 인코딩하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 4,
The streaming unit
Wherein at least two regions having different image characteristics among the plurality of regions are overlapped, the overlapping region is excluded from the at least two regions, and the overlapping region is encoded with a still image encoding technique corresponding to the overlapping region Wherein the server is a cloud server.
청구항 4에 있어서,
상기 스트리밍부는
상기 제2 영역을 스틸 이미지 인코딩한 이미지를 상기 제1 영역에서 상기 제2 영역을 제외한 영역을 스틸 이미지 인코딩한 이미지 위에 겹쳐서 상기 사용자의 단말로 스트리밍 전송하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 4,
The streaming unit
Wherein the still image encoded image of the second region is superimposed on the still image encoded image of the region excluding the second region in the first region and is streamed to the terminal of the user.
청구항 2에 있어서,
상기 메시지 획득부는
상기 어플리케이션의 실행화면을 렌더링하면서 상기 변화 영역 리스트에 상기 적어도 하나의 변화 영역 메시지를 누적하여 저장하는 것을 특징으로 하는 클라우드 스트리밍 서버.
The method of claim 2,
The message obtaining unit
And accumulates and stores the at least one change area message in the change area list while rendering an execution screen of the application.
OS 메시지를 기반으로 어플리케이션의 화면 업데이트에 상응하는 적어도 하나의 변화 영역 메시지를 획득하는 단계;
상기 적어도 하나의 변화 영역 메시지를 기반으로 상기 어플리케이션의 실행화면을 구성하는 복수개의 프레임들 중 적어도 하나의 변화 영역을 캡처하는 단계;
상기 적어도 하나의 변화 영역에 상응하는 실제 변화 영역을 검출하는 단계; 및
상기 실제 변화 영역이 복수개의 영역들에 상응하는 경우에, 상기 복수개의 영역들 각각의 이미지 특성을 고려하여 적어도 하나의 인코딩 영역을 생성하고, 상기 적어도 하나의 인코딩 영역을 각각 스틸 이미지 인코딩하여 사용자의 단말로 스트리밍 전송하는 단계
를 포함하는 것을 특징으로 하는 OS 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법.
Obtaining at least one change area message corresponding to a screen update of the application based on the OS message;
Capturing at least one change area of a plurality of frames constituting an execution screen of the application based on the at least one change area message;
Detecting an actual change area corresponding to the at least one change area; And
Generating at least one encoded region by considering image characteristics of each of the plurality of regions when the actual change region corresponds to a plurality of regions and encoding each of the at least one encoded region by still image encoding, Streaming transmission to the terminal
The method of claim 1, wherein the method comprises:
KR1020150121128A 2015-08-27 2015-08-27 System for cloud streaming service, method of image cloud streaming service based on detection of change area using operating system massage and apparatus for the same KR102442698B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150121128A KR102442698B1 (en) 2015-08-27 2015-08-27 System for cloud streaming service, method of image cloud streaming service based on detection of change area using operating system massage and apparatus for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150121128A KR102442698B1 (en) 2015-08-27 2015-08-27 System for cloud streaming service, method of image cloud streaming service based on detection of change area using operating system massage and apparatus for the same

Publications (2)

Publication Number Publication Date
KR20170025140A true KR20170025140A (en) 2017-03-08
KR102442698B1 KR102442698B1 (en) 2022-09-13

Family

ID=58404755

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150121128A KR102442698B1 (en) 2015-08-27 2015-08-27 System for cloud streaming service, method of image cloud streaming service based on detection of change area using operating system massage and apparatus for the same

Country Status (1)

Country Link
KR (1) KR102442698B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970032124A (en) 1995-11-16 1997-06-26 김광호 Image transmission device and its method of different compression method according to characteristics of transmission image
KR20140045013A (en) * 2012-10-05 2014-04-16 삼성전자주식회사 Method and apparatus for encoding a cloud display screen by using api information
KR20140057983A (en) * 2012-11-05 2014-05-14 주식회사 케이티 Virtualization server providing virtualization service of web application and method for transmitting data for providing the same

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970032124A (en) 1995-11-16 1997-06-26 김광호 Image transmission device and its method of different compression method according to characteristics of transmission image
KR20140045013A (en) * 2012-10-05 2014-04-16 삼성전자주식회사 Method and apparatus for encoding a cloud display screen by using api information
KR20140057983A (en) * 2012-11-05 2014-05-14 주식회사 케이티 Virtualization server providing virtualization service of web application and method for transmitting data for providing the same

Also Published As

Publication number Publication date
KR102442698B1 (en) 2022-09-13

Similar Documents

Publication Publication Date Title
KR102426670B1 (en) System for cloud streaming service, method of image cloud streaming service using process shortering and apparatus for the same
KR102398976B1 (en) System for cloud streaming service, method of image cloud streaming service using simultaneous encoding and apparatus for the same
KR101843411B1 (en) System for cloud streaming service, method of image cloud streaming service based on transparency of image and apparatus for the same
KR102409033B1 (en) System for cloud streaming service, method of image cloud streaming service using alpha level of color bit and apparatus for the same
KR102247886B1 (en) System for cloud streaming service, method of cloud streaming service based on type of image and apparatus for the same
KR102442699B1 (en) System for cloud streaming service, method of image cloud streaming service using common cache and apparatus for the same
KR102177934B1 (en) System for cloud streaming service, method of image cloud streaming service using split of changed image and apparatus for the same
KR102407477B1 (en) System for cloud streaming service, method of image cloud streaming service using alpha value of image type and apparatus for the same
US10659826B2 (en) Cloud streaming service system, image cloud streaming service method using application code, and device therefor
KR102306889B1 (en) System for cloud streaming service, method of image cloud streaming service using data substitution and apparatus for the same
KR102442698B1 (en) System for cloud streaming service, method of image cloud streaming service based on detection of change area using operating system massage and apparatus for the same
KR20160115566A (en) System for cloud streaming service, method of image cloud streaming service using separation of image and text and apparatus for the same
RU2690888C2 (en) Method, apparatus and computing device for receiving broadcast content
KR20160091622A (en) System for cloud streaming service, method of image cloud streaming service using division of the change area and apparatus for the same
KR102247887B1 (en) System for cloud streaming service, method of cloud streaming service using source information and apparatus for the same
KR102313530B1 (en) System for cloud streaming service, method of image cloud streaming service using split screen and apparatus for the same
KR102405143B1 (en) System for cloud streaming service, method of image cloud streaming service using reduction of color bit and apparatus for the same
KR102354269B1 (en) System for cloud streaming service, method of image cloud streaming service using property of scene region and method using the same
KR102313531B1 (en) System for cloud streaming service, method of cloud streaming service using single session multi-access and apparatus for the same
KR102313529B1 (en) System for cloud streaming service, method of image cloud streaming service based on optimum rendering and apparatus for the same
KR102225609B1 (en) System for cloud streaming service, method of image cloud streaming service considering full screen transition and apparatus for the same
KR20160139956A (en) System for cloud streaming service, method of image cloud streaming service using selective server connection and apparatus for the same
KR20160087129A (en) System for cloud streaming service, method of image cloud streaming service using application code conversion and apparatus for the same
KR20160044732A (en) System for cloud streaming service, method of cloud streaming service based on still image and apparatus for the same

Legal Events

Date Code Title Description
N231 Notification of change of applicant
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant