KR102247889B1 - System for cloud streaming service, method of cloud streaming service to save system resources and apparatus for the same - Google Patents

System for cloud streaming service, method of cloud streaming service to save system resources and apparatus for the same Download PDF

Info

Publication number
KR102247889B1
KR102247889B1 KR1020140115670A KR20140115670A KR102247889B1 KR 102247889 B1 KR102247889 B1 KR 102247889B1 KR 1020140115670 A KR1020140115670 A KR 1020140115670A KR 20140115670 A KR20140115670 A KR 20140115670A KR 102247889 B1 KR102247889 B1 KR 102247889B1
Authority
KR
South Korea
Prior art keywords
still image
image compression
frame
key frame
cloud streaming
Prior art date
Application number
KR1020140115670A
Other languages
Korean (ko)
Other versions
KR20160026561A (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 KR1020140115670A priority Critical patent/KR102247889B1/en
Priority to PCT/KR2015/007263 priority patent/WO2016035995A1/en
Publication of KR20160026561A publication Critical patent/KR20160026561A/en
Application granted granted Critical
Publication of KR102247889B1 publication Critical patent/KR102247889B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • 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
    • H04N21/234345Processing 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 the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
    • 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
    • H04N21/234381Processing 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 by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

클라우드 스트리밍 서비스 시스템, 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치가 개시된다. 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처하고, 실행 화면 중 키 프레임을 추출하고, 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 실행 화면 중 키 프레임을 제외한 나머지 프레임들 및 키 프레임 중 하나 이상에 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 실행 화면을 스틸 이미지 인코딩하고, 스틸 이미지 압축 인코딩된 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행할 수 있다. 서브 프레임의 스틸 이미지 압축 정보를 생성하기 위한 시스템 자원을 절약함으로써 클라우드 스트리밍 서비스를 더 많은 사용자에게 제공하는 것이 가능하다.Disclosed are a cloud streaming service system, a cloud streaming service method for saving system resources, and an apparatus therefor. Captures the execution screen of the application running for the cloud streaming service, extracts the key frame from the execution screen, generates still image compression information corresponding to the key frame, and other frames and key frames excluding the key frame from the execution screen Encoding a still image by applying a still image compression technique based on still image compression information to one or more of them, and transmitting the still image compression-encoded execution screen to the user's terminal device to provide a still image-based cloud streaming service. You can do it. It is possible to provide a cloud streaming service to more users by saving system resources for generating sub-frame still image compression information.

Description

클라우드 스트리밍 서비스 시스템, 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 {SYSTEM FOR CLOUD STREAMING SERVICE, METHOD OF CLOUD STREAMING SERVICE TO SAVE SYSTEM RESOURCES AND APPARATUS FOR THE SAME}Cloud streaming service system, cloud streaming service method to save system resources, and device therefor {SYSTEM FOR CLOUD STREAMING SERVICE, METHOD OF CLOUD STREAMING SERVICE TO SAVE SYSTEM RESOURCES AND APPARATUS FOR THE SAME}

본 발명은 클라우드 스트리밍 서비스 시 유사한 장면을 키 프레임과 서브 프레임으로 구분하고, 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하여 서브 프레임에도 적용하여 인코딩함으로써 시스템 자원을 절약할 수 있는 클라우드 스트리밍 서비스 시스템, 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치에 관한 것이다.The present invention is a cloud streaming service system capable of saving system resources by dividing a similar scene into a key frame and a sub frame in a cloud streaming service, generating compressed still image information corresponding to a key frame, and applying it to a sub frame to encode, It relates to a cloud streaming service method for saving system resources and an apparatus therefor.

최근 스마트폰과 같은 이동통신 단말에서 구동되는 어플리케이션이 다양하게 개발되면서, 비교적 낮은 성능의 사용자 단말에서 실행을 위해 높은 성능을 필요로 하는 어플리케이션을 구동하기 위한 가상화 기술들이 많이 제안되고 있다. 그 중에서 화면을 비디오로 압축하고 스트리밍(Streaming)하여 사용자의 단말로 제공하고, 단말에서는 스트리밍된 화면을 재생함으로써 마치 단말에서 어플리케이션이 구동되는 것과 같은 효과를 내는 클라우드 스트리밍 기술이 각광받고 있는 추세이다.Recently, as applications driven in a mobile communication terminal such as a smart phone have been developed in various ways, many virtualization technologies for driving applications that require high performance for execution in a user terminal of relatively low performance have been proposed. Among them, a cloud streaming technology that compresses the screen into video and provides it to the user's terminal by streaming it, and that reproduces the streamed screen in the terminal as if running an application on the terminal is in the spotlight.

이러한 클라우드 스트리밍 기반 서비스의 경우에는 동시에 많은 사용자의 요청을 처리해야 하고, 접속하고 있는 사용자 수만큼의 어플리케이션이 서버 측에서 구동되어야 하기 때문에 준비된 시스템의 자원을 최대한 효율적으로 활용하는 것이 클라우드 스트리밍 서비스를 원활하게 제공하는데 핵심적인 부분일 수 있다.In the case of such a cloud streaming-based service, it is necessary to process requests from many users at the same time, and as many applications as many as the number of users connected must be run on the server side. It can be a key part of providing it.

한국 공개 특허 제10-2014-0041317호, 2014년 4월 4일 공개 (명칭: 비디오 소스로부터의 정적 콘텐츠 정보를 사용한 비디오의 송신)Korean Patent Publication No. 10-2014-0041317, published on April 4, 2014 (Name: Transmission of video using static content information from a video source)

본 발명의 목적은, 스틸 이미지 기반 클라우드 스트리밍 서비스 제공 시 적합한 스틸 이미지 압축 기법을 이용함으로써 데이터의 압축률을 상승시켜 스틸 이미지 기반 클라우드 스트리밍 시 발생할 수 있는 전송 지연을 방지하는 것이다.An object of the present invention is to prevent a transmission delay that may occur during still image-based cloud streaming by increasing a compression rate of data by using a suitable still image compression technique when providing a still image-based cloud streaming service.

또한, 본 발명의 목적은 서비스 장면의 유사한 부분 중 중요한 프레임에 대한 스틸 이미지 압축 정보를 미리 구성해 놓고, 중요한 프레임과 유사한 프레임을 인코딩할 때 재사용함으로써 스틸 이미지 압축 정보를 생성하는데 필요한 시스템 자원을 최대한 절약하는 것이다.It is also an object of the present invention to pre-configure still image compression information for an important frame among similar parts of a service scene, and reuse it when encoding a frame similar to an important frame, thereby maximizing system resources required for generating still image compression information. It is to save.

상기한 목적을 달성하기 위한 본 발명에 따른 클라우드 스트리밍 서버는, 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처하는 캡처부; 상기 실행 화면 중 키 프레임을 추출하는 키 프레임 추출부; 상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 상기 실행 화면 중 상기 키 프레임을 제외한 나머지 프레임들 및 상기 키 프레임 중 하나 이상에 상기 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 상기 실행 화면을 스틸 이미지 인코딩하는 인코딩부; 및 스틸 이미지 인코딩된 상기 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 센딩부를 포함한다.A cloud streaming server according to the present invention for achieving the above object includes: a capture unit for capturing an execution screen of an application executed for a cloud streaming service; A key frame extraction unit for extracting a key frame from the execution screen; Generates still image compression information corresponding to the key frame, and applies a still image compression technique based on the still image compression information to at least one of the key frames and the remaining frames of the execution screen excluding the key frame. An encoding unit that encodes the execution screen as a still image; And a sending unit that transmits the still image-encoded execution screen to the user's terminal device to perform a still image-based cloud streaming service.

이 때, 인코딩부는 상기 나머지 프레임들 중 상기 키 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 미만인 서브 프레임을 추출하고, 상기 서브 프레임을 상기 스틸 이미지 압축 기법을 이용하여 압축할 수 있다.In this case, the encoding unit may compare the key frame among the remaining frames to extract a sub-frame whose change value is less than a preset reference value, and compress the sub-frame using the still image compression technique.

이 때, 키 프레임은 상기 실행 화면 중 이전 프레임과 비교하여 상기 프레임의 변화값이 상기 기설정된 기준값 이상인 프레임일 수 있다.In this case, the key frame may be a frame in which a change value of the frame is greater than or equal to the preset reference value compared to a previous frame among the execution screens.

이 때, 스틸 이미지 압축 정보는 팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상을 포함할 수 있다.In this case, the still image compression information may include one or more of a pallet, a color replacement table, and an optimal filter.

이 때, 인코딩부는 상기 키 프레임의 다음 키 프레임이 나타날 때까지 상기 서브 프레임을 상기 스틸 이미지 압축 정보를 기반으로 하는 상기 스틸 이미지 압축 기법을 이용하여 압축할 수 있다.In this case, the encoding unit may compress the subframe using the still image compression technique based on the still image compression information until a next key frame of the key frame appears.

이 때, 인코딩부는 상기 키 프레임과 상기 스틸 이미지 압축 정보를 연동하여 데이터베이스에 저장할 수 있다.In this case, the encoding unit may store the key frame and the still image compression information in a database by interlocking with each other.

이 때, 키 프레임 추출부는 상기 실행 화면의 픽셀값 변화를 고려하여 상기 프레임의 변화값을 산출할 수 있다.In this case, the key frame extractor may calculate the change value of the frame in consideration of the change of the pixel value of the execution screen.

이 때, 키 프레임 추출부는 상기 어플리케이션의 입력 신호 및 추가 컬러의 개수 중 하나 이상을 고려하여 상기 키 프레임을 추출할 수 있다.In this case, the key frame extracting unit may extract the key frame in consideration of at least one of the input signal of the application and the number of additional colors.

이 때, 인코딩부는 상기 스틸 이미지 압축 정보를 이용한 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 상기 실행 화면을 스틸 이미지 인코딩할 수 있다.In this case, the encoding unit may encode the still image using the palletized PNG (portable network graphics) still image compression technique using the still image compression information.

또한, 본 발명에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법은, 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처하는 단계; 상기 실행 화면 중 키 프레임을 추출하는 단계; 상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 상기 실행 화면 중 상기 키 프레임을 제외한 나머지 프레임들 및 상기 키 프레임 중 하나 이상에 상기 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 상기 실행 화면을 스틸 이미지 인코딩하는 단계; 및 스틸 이미지 인코딩된 상기 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 단계를 포함한다.In addition, the cloud streaming service method for saving system resources according to the present invention includes: capturing an execution screen of an application executed for the cloud streaming service; Extracting a key frame from the execution screen; Generates still image compression information corresponding to the key frame, and applies a still image compression technique based on the still image compression information to at least one of the key frames and the remaining frames of the execution screen excluding the key frame. Encoding the execution screen as a still image; And transmitting the still image-encoded execution screen to the user's terminal device to perform a still image-based cloud streaming service.

이 때, 인코딩하는 단계는 상기 나머지 프레임들 중 상기 키 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 미만인 서브 프레임을 추출하는 단계를 포함하고, 상기 서브 프레임을 상기 스틸 이미지 압축 기법을 이용하여 압축할 수 있다.In this case, the encoding step includes extracting a subframe whose change value is less than a preset reference value compared to the key frame among the remaining frames, and compresses the subframe using the still image compression technique. can do.

이 때, 키 프레임은 상기 실행 화면 중 이전 프레임과 비교하여 상기 프레임의 변화값이 상기 기설정된 기준값 이상인 프레임인 것을 특징으로 하는 시스템 자원을 절약할 수 있다.In this case, the key frame is a frame in which a change value of the frame is greater than or equal to the preset reference value compared to a previous frame among the execution screens, thereby saving system resources.

이 때, 스틸 이미지 압축 정보는 팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상을 포함할 수 있다.In this case, the still image compression information may include one or more of a pallet, a color replacement table, and an optimal filter.

이 때, 인코딩하는 단계는 상기 키 프레임의 다음 키 프레임이 나타날 때까지 상기 서브 프레임을 상기 스틸 이미지 압축 정보를 기반으로 하는 상기 스틸 이미지 압축 기법을 이용하여 압축할 수 있다.In this case, the encoding step may compress the subframe using the still image compression technique based on the still image compression information until a next key frame of the key frame appears.

이 때, 인코딩하는 단계는 상기 키 프레임과 상기 스틸 이미지 압축 정보를 연동하여 데이터베이스에 저장하는 것을 특징으로 하는 시스템 자원을 절약할 수 있다.In this case, the encoding step may save system resources, characterized in that the key frame and the still image compression information are interlocked and stored in a database.

이 때, 키 프레임을 추출하는 단계는 상기 실행 화면의 픽셀값 변화를 고려하여 상기 프레임의 변화값을 산출할 수 있다.In this case, in the step of extracting the key frame, the change value of the frame may be calculated in consideration of the change of the pixel value of the execution screen.

이 때, 키 프레임을 추출하는 단계는 상기 어플리케이션의 입력 신호 및 추가 컬러의 개수 중 하나 이상을 고려하여 상기 키 프레임을 추출할 수 있다.In this case, in the step of extracting the key frame, the key frame may be extracted in consideration of at least one of the input signal of the application and the number of additional colors.

이 때, 인코딩하는 단계는 상기 스틸 이미지 압축 정보를 이용한 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 상기 실행 화면을 스틸 이미지 인코딩할 수 있다.In this case, in the encoding step, the execution screen may be still image encoded using a palletized PNG (portable network graphics) still image compression technique using the still image compression information.

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

또한, 본 발명에 따른 클라우드 스트리밍 서비스 시스템은 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처하고, 상기 실행 화면 중 키 프레임을 추출하고, 상기 실행 화면 중 상기 키 프레임을 제외한 나머지 프레임 및 상기 키 프레임 중 하나 이상에 상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 상기 실행 화면을 스틸 이미지 인코딩하고, 스틸 이미지 인코딩된 상기 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 클라우드 스트리밍 서버; 및 상기 클라우드 스트리밍 서버로부터 상기 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하는 단말을 포함한다.In addition, the cloud streaming service system according to the present invention captures an execution screen of an application executed for a cloud streaming service, extracts a key frame from the execution screen, Encoding the execution screen as a still image by applying a still image compression technique based on still image compression information corresponding to the key frame to at least one of the frames, and transmitting the execution screen encoded with the still image to the user's terminal device. A cloud streaming server that performs a still image-based cloud streaming service; And a terminal receiving an application execution result screen corresponding to the cloud streaming service from the cloud streaming server.

본 발명에 따르면, 스틸 이미지 기반 클라우드 스트리밍 서비스 제공 시 적합한 스틸 이미지 압축 기법을 이용함으로써 데이터의 압축률을 상승시켜 스틸 이미지 기반 클라우드 스트리밍 시 발생할 수 있는 전송 지연을 방지할 수 있다.According to the present invention, when a still image-based cloud streaming service is provided, a transmission delay that may occur during still image-based cloud streaming can be prevented by increasing a compression rate of data by using a suitable still image compression technique.

또한, 본 발명은 서비스 장면의 유사한 부분 중 중요한 프레임에 대한 스틸 이미지 압축 정보를 미리 구성해 놓고, 중요한 프레임과 유사한 프레임을 인코딩할 때 재사용함으로써 스틸 이미지 압축 정보를 생성하는데 필요한 시스템 자원을 최대한 절약할 수 있다.In addition, the present invention pre-configures still image compression information for an important frame among similar parts of a service scene, and reuses it when encoding a frame similar to an important frame, thereby saving system resources required for generating still image compression information as much as possible. I can.

도 1은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 클라우드 스트리밍 서버의 일 예를 나타낸 블록도이다.
도 3은 본 발명의 일실시예에 따른 키 프레임과 서브 프레임을 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.
도 5는 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법을 상세하게 나타낸 동작 흐름도이다.
1 is a block diagram showing a cloud streaming service system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating an example of a cloud streaming server shown in FIG. 1.
3 is a diagram illustrating a key frame and a sub frame according to an embodiment of the present invention.
4 is a flowchart illustrating a cloud streaming service method for saving system resources according to an embodiment of the present invention.
5 is a detailed operation flowchart illustrating a cloud streaming service method for saving system resources according to an embodiment of the present invention.

이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, in the following description and the accompanying drawings, detailed descriptions of known functions or configurations that may obscure the subject matter of the present invention will be omitted. In addition, it should be noted that the same components are denoted by the same reference numerals as much as possible throughout the drawings.

이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 또한 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.The terms or words used in the present specification and claims described below should not be construed as being limited to their usual or dictionary meanings, and the inventors are appropriate as the concept of terms for describing their own invention in the best way. It should be interpreted as a meaning and concept consistent with the technical idea of the present invention on the basis of the principle that it can be defined. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are only the most preferred embodiments of the present invention, and do not represent all of the technical spirit of the present invention. It should be understood that there may be equivalents and variations. In addition, terms such as first and second are used to describe various elements, and are only used for the purpose of distinguishing one element from other elements, and are not used to limit the elements.

도 1은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.1 is a block diagram showing 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, terminal devices 120-1, ..., 120-N, and a network 130. .

클라우드 스트리밍 서버(110)는 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처한다.The cloud streaming server 110 captures an execution screen of an application executed for a cloud streaming service.

또한, 클라우드 스트리밍 서버(110)는 실행 화면 중 키 프레임을 추출한다. 이 때, 키 프레임은 실행 화면 중 이전 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 이상인 프레임일 수 있다. 이 때, 실행 화면의 픽셀값 변화를 고려하여 프레임의 변화값을 산출할 수 있다. 이 때, 어플리케이션의 입력 신호 및 추가 컬러의 개수 중 하나 이상을 고려하여 키 프레임을 추출할 수 있다. In addition, the cloud streaming server 110 extracts a key frame from the execution screen. In this case, the key frame may be a frame in which a change value of the frame is greater than or equal to a preset reference value compared to a previous frame among the execution screens. In this case, the change value of the frame may be calculated in consideration of the change of the pixel value of the execution screen. In this case, the key frame may be extracted in consideration of one or more of the number of additional colors and the input signal of the application.

또한, 클라우드 스트리밍 서버(110)는 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 실행 화면 중 키 프레임을 제외한 나머지 프레임들 및 키 프레임 중 하나 이상에 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 실행 화면을 스틸 이미지 인코딩한다. 이 때, 나머지 프레임들 중 키 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 미만인 서브 프레임을 추출하고, 서브 프레임을 스틸 이미지 압축 기법을 이용하여 압축할 수 있다. 이 때, 스틸 이미지 압축 정보는 팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상을 포함할 수 있다. 이 때, 키 프레임의 다음 키 프레임이 나타날 때가지 서브 프레임을 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 이용하여 압축할 수 있다. 이때, 키 프레임과 스틸 이미지 압축 정보를 연동하여 데이터베이스에 저장할 수 있다. 이 때, 스틸 이미지 압축 정보를 이용한 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 실행 화면을 스틸 이미지 인코딩할 수 있다.In addition, the cloud streaming server 110 generates still image compression information corresponding to the key frame, and compresses still images based on still image compression information in at least one of the remaining frames and key frames excluding the key frame among the execution screens. A still image is encoded by applying the technique. In this case, a subframe in which a change value of the frame is less than a preset reference value may be extracted from among the remaining frames, and the subframe may be compressed using a still image compression technique. In this case, the still image compression information may include one or more of a pallet, a color replacement table, and an optimal filter. In this case, the subframe may be compressed using a still image compression technique based on still image compression information until a next key frame of the key frame appears. At this time, the key frame and still image compression information may be linked and stored in the database. In this case, a still image may be encoded using a palletized PNG (portable network graphics) still image compression technique using still image compression information.

또한, 클라우드 스트리밍 서버(110)는 스틸 이미지 인코딩된 실행 화면을 사용자의 단말 장치들(120-1, ..., 120-N)로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다.In addition, the cloud streaming server 110 transmits the still image-encoded execution screen to the user's terminal devices 120-1, ..., 120-N to perform a still image-based cloud streaming service.

단말 장치들(120-1, ..., 120-N)은 클라우드 스트리밍 서버(110)로부터 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하여 사용자에게 제공한다.The terminal devices 120-1, ..., 120-N receive an application execution result screen corresponding to the cloud streaming service from the cloud streaming server 110 and provide it 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) 단말일 수 있다.Terminal devices 120-1, ..., 120-N are devices that are connected to a communication network and can execute applications based on a cloud computing system, and are not limited to mobile communication terminals, and all information and communication devices and multimedia terminals , A wired terminal, a fixed terminal, and an Internet Protocol (IP) terminal. In addition, the terminal devices 120-1, ..., 120-N are mobile phones, portable multimedia played (PMP), mobile internet devices (MID), smart phones, desktops, and tablet computers, respectively. (Tablet PC), notebook (Note book), net book (Net Book), personal digital assistant (PDA), smart TV and information communication devices, such as mobile devices with various mobile communication specifications have.

네트워크(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 terminal devices 120-1, ..., 120-N, and is a network that is used in the past and a network that can be developed in the future. It is a concept that encompasses all. For example, the network 130 is a wired/wireless local area communication network that provides communication of various information devices within a limited area, a mobile communication network that provides communication between mobiles and the mobile and the outside of the mobile, and communicates between the earth station and the earth station using satellites. It may be a satellite communication network, a wired or wireless communication network, or a combination of two or more. Meanwhile, the transmission method standard of the network 130 is not limited to the existing transmission method standard, and may include all transmission method standards to be developed in the future. In addition, a network used between the cloud streaming server 110 and the terminal devices 120-1, ..., 120-N in FIG. 1 is the terminal devices 120-1, ..., 120-N. It may be different from a network used for each other, or may be the same.

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

도 2를 참조하면, 도 1에 도시된 클라우드 스트리밍 서버(110)는 캡처부(210), 키 프레임 추출부(220), 인코딩부(230), 센딩부(240) 및 저장부(250)를 포함한다.Referring to FIG. 2, the cloud streaming server 110 shown in FIG. 1 includes a capture unit 210, a key frame extraction unit 220, an encoding unit 230, a sending unit 240, and a storage unit 250. Includes.

캡처부(210)는 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행화면을 캡처한다. 예를 들어, 네트워크를 통해 클라우드 스트리밍 서버(110)에 접속한 하나 이상의 단말 장치에 의해 어플리케이션 실행 요청이 접수된 경우에, 단말 장치의 요청에 상응하여 클라우드 스트리밍 서버(110)에서 어플리케이션을 실행하고, 어플리케이션 실행 결과에 해당하는 실행 화면을 단말 장치에게 전달하기 위해 캡처할 수 있다.The capture unit 210 captures an execution screen of an application executed for a cloud streaming service. For example, when an application execution request is received by one or more terminal devices connected to the cloud streaming server 110 through a network, the cloud streaming server 110 executes the application in response to the request of the terminal device, An execution screen corresponding to an application execution result may be captured to deliver to the terminal device.

키 프레임 추출부(220)는 실행 화면 중 키 프레임을 추출한다. The key frame extraction unit 220 extracts a key frame from the execution screen.

실행 화면은 여러 개의 프레임으로 구성될 수 있으며, 여러 개의 프레임들 중에서는 변화가 크지 않아 유사한 프레임이 다수 존재할 수 있다. 이 때, 스틸 이미지 기반 클라우드 스트리밍 서비스를 수행하기 위해서는 모든 프레임들을 스틸 이미지 압축 기법으로 압축하여 사용자의 단말 장치로 제공해야 하며, 스틸 이미지 압축 기법에 따라 모든 프레임들 각각에 대한 스틸 이미지 압축 정보를 구성할 필요가 있다. 만약, 유사한 프레임들이 많은 경우에는 모든 프레임에 대한 스틸 이미지 압축 정보를 구성하느라 시스템 자원의 소모율이 커져서 서비스를 원활하게 제공하는데 문제가 발생할 수 있다. 따라서, 유사한 프레임들 중 키 프레임을 추출하고, 키 프레임을 기준으로 생성한 스틸 이미지 압축 정보를 나머지 유사한 프레임들에 적용하여 압축함으로써 시스템 자원을 절약할 수 있다.The execution screen may be composed of several frames, and among the several frames, there may be a number of similar frames because the change is not large. At this time, in order to perform a still image-based cloud streaming service, all frames must be compressed with a still image compression method and provided to the user's terminal device, and still image compression information for each of all frames is configured according to the still image compression method. Needs to be. If there are many similar frames, the consumption rate of system resources increases due to composing still image compression information for all frames, and thus a problem may arise in providing a service smoothly. Accordingly, it is possible to save system resources by extracting a key frame from among similar frames, and compressing still image compression information generated based on the key frame by applying it to the remaining similar frames.

이 때, 키 프레임은 실행 화면 중 이전 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 이상인 프레임일 수 있다. 예를 들어, 한 프레임의 전체 영역을 기준으로 60퍼센트 정도가 이전 프레임에 비교하여 변화하였을 때, 해당 프레임을 키 프레임으로 추출할 수 있다. 이와 같은 기설정된 기준값은 개발자에 의해 자유롭게 설정 및 수정하는 것이 가능하다. In this case, the key frame may be a frame in which a change value of the frame is greater than or equal to a preset reference value compared to a previous frame among the execution screens. For example, when about 60% of the entire area of one frame is changed compared to the previous frame, the corresponding frame may be extracted as a key frame. Such a preset reference value can be freely set and modified by a developer.

또한, 기준값이 너무 낮게 설정되면 추출되는 키 프레임이 너무 많아져서 시스템 자원의 소비가 심해질 수 있고, 기준값이 너무 높게 설정되면 추출되는 키 프레임이 적어 인코딩된 실행 화면의 화질 저하가 심할 수 있다. 따라서, 이와 같은 문제점을 방지하기 위해 최대 기준값 및 최소 기준값을 설정하고 범위 내에서 수정이 가능하도록 할 수도 있다.In addition, if the reference value is set too low, the number of extracted key frames may increase, and the consumption of system resources may increase. If the reference value is set too high, the number of extracted key frames may be reduced, leading to severe deterioration in quality of the encoded execution screen. Accordingly, in order to prevent such a problem, a maximum reference value and a minimum reference value may be set, and correction may be made within a range.

이 때, 실행 화면의 픽셀값 변화를 고려하여 프레임의 변화값을 산출할 수 있다. 예를 들어, 프레임에 포함된 모든 픽셀들의 변화를 계산하고, 이전 프레임의 픽셀값과 비교하여 변화된 정도를 판단하여 프레임의 변화 값을 산출할 수 있다. 만약 프레임을 구성하는 픽셀이 10000개이고 기설정된 기준값이 60퍼센트라고 가정한다면, 이전 프레임과 비교하여 6000픽셀이상 변화한 경우 해당 프레임을 키 프레임으로 판단하고 추출할 수 있다.In this case, the change value of the frame may be calculated in consideration of the change of the pixel value of the execution screen. For example, a change value of a frame may be calculated by calculating a change of all pixels included in a frame, and determining a degree of change by comparing it with a pixel value of a previous frame. If it is assumed that there are 10000 pixels constituting the frame and the preset reference value is 60%, the corresponding frame can be determined and extracted as a key frame when there is a change of 6000 pixels or more compared to the previous frame.

이 때, 어플리케이션의 입력 신호 및 추가 컬러의 개수 중 하나 이상을 고려하여 키 프레임을 추출할 수 있다. 예를 들어, 어플리케이션의 입력 신호는 어플리케이션의 실행 화면에 변화는 주는 신호일 수 있기 때문에, 어플리케이션의 입력 신호를 감지하여, 입력 신호에 의해 발생하는 실행 화면의 첫 프레임을 큰 키 프레임으로 판단할 수 있다. 또한, 이전 프레임에 비하여 추가 컬러가 기설정된 개수 이상 줄어드는 경우에 해당 프레임을 키 프레임으로 판단하고 추출할 수 있다.In this case, the key frame may be extracted in consideration of one or more of the number of additional colors and the input signal of the application. For example, since the input signal of the application may be a signal that changes the execution screen of the application, it is possible to detect the input signal of the application and determine the first frame of the execution screen generated by the input signal as a large key frame. . In addition, when the number of additional colors is reduced by more than a preset number compared to the previous frame, the corresponding frame may be determined as a key frame and may be extracted.

인코딩부(230)는 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 실행 화면 중 키 프레임을 제외한 나머지 프레임들 및 키 프레임 중 하나 이상에 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 실행 화면을 스틸 이미지 인코딩한다. 예를 들어, 실행 화면을 구성하는 프레임들 중 하나 또는 복수의 키 프레임에 대해서 스틸 이미지 압축 정보를 생성한 뒤에, 나머지 프레임들은 이미 생성한 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법을 적용하여 스틸 이미지 인코딩을 수행함으로써, 키 프레임과 나머지 프레임으로 구성된 실행 화면을 스틸 이미지 인코딩할 수 있다.The encoding unit 230 generates still image compression information corresponding to the key frame, and applies a still image compression technique based on the still image compression information to at least one of the remaining frames and key frames excluding the key frame among the execution screens. The execution screen is encoded as a still image. For example, after generating still image compression information for one or a plurality of key frames among the frames constituting the execution screen, the remaining frames are still images by applying a still image compression technique using the already generated still image compression information. By performing encoding, it is possible to encode a still image of an execution screen composed of a key frame and the remaining frames.

이 때, 나머지 프레임들 중 키 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 미만인 서브 프레임을 추출하고, 서브 프레임을 스틸 이미지 압축 기법을 이용하여 압축할 수 있다. 예를 들어, 실행 화면에는 복수의 키 프레임이 존재할 수 있기 때문에, 나머지 프레임들 중에는 각각의 키 프레임에 상응하는 유사한 프레임들이 존재할 수 있다. 이와 같이 각각의 키 프레임과 비교하였을 때 프레임의 변화값이 기설정된 기준값 미만의 유사한 프레임을 키 프레임에 대한 서브 프레임으로 추출하여 키 프레임을 압축한 스틸 이미지 압축 기법을 이용하여 압축할 수 있다.In this case, a subframe in which a change value of the frame is less than a preset reference value may be extracted from among the remaining frames, and the subframe may be compressed using a still image compression technique. For example, since a plurality of key frames may exist in the execution screen, similar frames corresponding to each key frame may exist among the remaining frames. When compared with each of the key frames as described above, a similar frame with a change value of the frame less than a preset reference value may be extracted as a sub-frame for the key frame and compressed using a still image compression technique in which the key frame is compressed.

이 때, 스틸 이미지 압축 정보는 팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상을 포함할 수 있다. 예를 들어, 스틸 이미지 기반 클라우드 스트리밍 시 PNG 스틸 이미지 압축 기법을 적용하여 스틸 이미지 인코딩을 수행하는 경우 비디오 기반 클라우드 스트리밍과 비교하여 압축 효율이 떨어지기 때문에 네트워크의 대역폭이 제한된 경우에는 전송 지연이 발생할 수 있는 문제점이 있다. 따라서, 이와 같은 PNG 스틸 이미지 압축 기법의 압축 효율을 증가시키기 위해서 팔렛트, 컬러 치환 테이블 및 최적 필터 등을 이용하여 이미지를 구성하는 컬러의 폭을 축소할 수 있다.In this case, the still image compression information may include one or more of a pallet, a color replacement table, and an optimal filter. For example, when still image-based cloud streaming is performed by applying PNG still image compression technique to perform still image encoding, the compression efficiency is lower than that of video-based cloud streaming, so transmission delay may occur when network bandwidth is limited. There is a problem. Therefore, in order to increase the compression efficiency of the PNG still image compression technique, the width of colors constituting the image can be reduced by using a pallet, a color substitution table, and an optimal filter.

일반적으로 PNG 포맷에서는 크게 RGB 형식과 Indexed Color 형식으로 이미지 색 정보를 표현할 수 있다. RGB 형식은 하나의 픽셀마다 빨강, 초록, 파랑의 값을 각각 사용할 수 있다. 그러나 Indexed Color 형식에서는 이미지를 구성하기 위해 사용하는 색을 팔렛트라는 테이블에 미리 작성하고, 각각의 픽셀에 팔레트 테이블 상의 몇 번째 색을 사용하는지 정보를 포함할 수 있다. 이 때, RGB 형식은 빨강, 초록, 파랑을 각각 8bit로 표현하여 하나의 픽셀당 24bit가 필요하지만, Indexed Color 형식에서는 8bit만 필요하기 때문에 RGB 형식을 Indexed Color 형식으로 변환시키는 경우 데이터의 크기를 3분의 1로 감소시킬 수 있다.In general, in the PNG format, image color information can be expressed in RGB format and Indexed Color format. The RGB format can use red, green, and blue values for each pixel. However, in the Indexed Color format, colors used to compose an image can be pre-written in a table called a palette, and information on the number of colors in the palette table can be included for each pixel. In this case, the RGB format expresses red, green, and blue in 8 bits each, and 24 bits per pixel is required. However, since only 8 bits are required in the Indexed Color format, when converting the RGB format to the Indexed Color format, the size of the data is 3 It can be reduced to a quarter.

또한, Indexed Color 형식은 8bit를 이용하여 정보를 나타내기 때문에 최대 256개의 정보만을 표현할 수 있다. 그러나 RGB 형식에서는 Indexed Color 형식보다 더 많은 컬러를 표현할 수 있기 때문에, 컬러 치환 테이블을 이용하여 RGB 형식의 컬러를 Indexed Color 형식의 팔레트에 포함된 컬러로 치환할 수 있다. 이 때, RGB 형식으로 표현할 때보다 사용할 수 있는 컬러의 수가 감소할 수밖에 없기 때문에 이미지 화질의 열화를 발생시킬 수 있다.In addition, since the Indexed Color format uses 8 bits to represent information, only a maximum of 256 pieces of information can be expressed. However, since more colors can be expressed in the RGB format than in the Indexed Color format, the RGB format colors can be replaced with the colors included in the Indexed Color format palette using a color substitution table. In this case, since the number of colors that can be used is inevitably reduced compared to when expressed in the RGB format, the image quality may be deteriorated.

또한, Indexed Color 형식에서 각각의 픽셀마다 어느 색을 말하는 정보인지 그대로 취급하는 것은 비효율적이기 때문에, 픽셀이 구성하는 행마다 필터라고 하는 데이터를 정리하는 구조를 적용할 수 있다. 예를 들어, 하나의 행이 5개의 픽셀로 구성되어 있고, 5개의 픽셀이 모두 빨간색을 말하는 정보를 포함하고 있는 경우에, 픽셀의 정보를 '빨강, 빨강, 빨강, 빨강, 빨강'의 형식으로 나타내는 것 보다는 '빨강 5개'로 나타내는 것이 더 간결하게 나타낼 수 있다. 따라서, 픽셀이 구성하는 각각의 행마다 최적 필터를 적용하여 데이터를 취급할 때 보다 간결하게 나타낼 수 있다.In addition, since it is inefficient to treat information indicating which color for each pixel in the Indexed Color format as it is, a structure in which data such as a filter is arranged for each row constituting a pixel can be applied. For example, if one row consists of 5 pixels, and all 5 pixels contain information that says red, the information of the pixel is converted to'red, red, red, red, red'. It can be more concise to indicate with '5 red' than to indicate. Therefore, it is possible to display more concisely when handling data by applying an optimum filter to each row of a pixel.

이 때, 키 프레임의 다음 키 프레임이 나타날 때까지 서브 프레임을 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 이용하여 압축할 수 있다. 예를 들어, 실행 화면에서 추출된 첫 번째 키 프레임에 대한 스틸 이미지 압축 정보를 구성하고, 이를 이용하여 이 후의 서브 프레임들을 스틸 이미지 인코딩할 수 있다. 이 때, 첫 번째 키 프레임에 대한 서브 프레임들의 스틸 이미지 인코딩이 완료되고 두 번째 키 프레임이 추출되었다면, 두 번째 키 프레임에 대해서 다시 스틸 이미지 압축 정보를 구성하고, 이 후의 서브 프레임들에 대해서는 두 번째 키 프레임의 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법을 적용하여 스틸 이미지 인코딩을 수행할 수 있다.At this time, the subframe may be compressed using a still image compression technique based on still image compression information until a next key frame of the key frame appears. For example, still image compression information for a first key frame extracted from an execution screen may be configured, and subsequent subframes may be still image encoded using this. At this time, if still image encoding of the subframes for the first key frame is completed and the second key frame is extracted, still image compression information is again configured for the second key frame, and the second key frame is Still image encoding may be performed by applying a still image compression technique using still image compression information of a key frame.

이 때, 키 프레임과 스틸 이미지 압축 정보를 연동하여 데이터베이스에 저장할 수 있다. 예를 들어, 스틸 이미지 인코딩을 수행하기 전에 미리 실행 화면에 포함된 모든 키 프레임을 추출하고, 각각의 키 프레임들에 대한 스틸 이미지 압축 정보를 생성하여 데이터베이스에 저장할 수 있다. 이 때, 키 프레임과 스틸 이미지 압축 정보를 연동하여 저장함으로써, 키 프레임 및 서브 프레임의 압축을 수행할 때 저장된 스틸 이미지 압축 정보를 쉽게 찾아 이용할 수 있다.In this case, the key frame and still image compression information may be linked and stored in the database. For example, before performing still image encoding, all key frames included in the execution screen may be extracted in advance, and still image compression information for each key frame may be generated and stored in a database. At this time, by interlocking and storing the key frame and still image compression information, it is possible to easily find and use the stored still image compression information when the key frame and sub-frame are compressed.

이 때, 스틸 이미지 압축 정보를 이용한 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 실행 화면을 스틸 이미지 인코딩할 수 있다. 팔렛티드 PNG 스틸 이미지 압축 기법은 PNG 스틸 이미지 압축 기법과 비교하였을 때 이미지의 화질 열화를 발생시킬 수는 있으나 데이터의 크기를 3분의 1로 줄일 수 있으므로, 네트워크 대역폭이 제한된 환경에서 전송 지연이 발생하는 것을 방지할 수 있다.In this case, a still image may be encoded using a palletized PNG (portable network graphics) still image compression technique using still image compression information. Compared to the PNG still image compression method, the palletized PNG still image compression method can cause image quality deterioration, but it can reduce the size of the data to one third, resulting in transmission delay in environments with limited network bandwidth. Can be prevented.

센딩부(240)는 스틸 이미지 인코딩된 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다. 스틸 이미지 인코딩을 완료하여 압축된 실행 화면을 사용자의 단말 장치로 전송함으로써, 사용자가 사용자의 단말 장치에서 어플리케이션이 실행되는 것처럼 느낄 수 있다.The sending unit 240 transmits the still image-encoded execution screen to the user's terminal device to perform a still image-based cloud streaming service. By completing encoding of the still image and transmitting the compressed execution screen to the user's terminal device, the user can feel as if the application is being executed on the user's terminal device.

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

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

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

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

또한, 저장부(250)는 본 발명의 데이터베이스를 대신하여 키 프레임과 스틸 이미지 압축 정보를 연동하여 저장할 수 있다.In addition, the storage unit 250 may interlock and store the key frame and still image compression information instead of the database of the present invention.

도 3은 본 발명의 일실시예에 따른 키 프레임과 서브 프레임을 나타낸 도면이다.3 is a diagram illustrating a key frame and a sub frame according to an embodiment of the present invention.

도 3을 참조하면, 어플리케이션의 실행 화면을 구성하는 복수의 프레임들은 키 프레임(310, 320)과 서브 프레임(310-1, 310-2, 320-1, 320-N)으로 구분할 수 있다.Referring to FIG. 3, a plurality of frames constituting an execution screen of an application may be divided into key frames 310 and 320 and subframes 310-1, 310-2, 320-1, and 320-N.

이 때, 키 프레임은 실행 화면 중 이전 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 이상인 프레임일 수 있다. 예를 들어, 키 프레임(320)의 경우 이전 프레임에 상응하는 서브 프레임(310-2)과 비교하였을 때 프레임의 변화값이 기설정된 기준값 이상일 수 있다.In this case, the key frame may be a frame in which a change value of the frame is greater than or equal to a preset reference value compared to a previous frame among the execution screens. For example, in the case of the key frame 320, the change value of the frame may be greater than or equal to a preset reference value when compared with the sub-frame 310-2 corresponding to the previous frame.

이와 같이 키 프레임(310, 320)과 키 프레임(310, 320)에 상응하는 서브 프레임(310-1, 310-2, 320-1, 320-N)은 순차적으로 나열되어 있을 가능성이 높다. 따라서, 서브 프레임(310-1, 310-2, 320-1, 320-N)을 추출할 때에는 각각의 키 프레임(310, 320)을 기준으로 사이에 위치한 프레임들을 추출할 수 있다.As such, it is highly possible that the key frames 310 and 320 and the subframes 310-1, 310-2, 320-1, and 320-N corresponding to the key frames 310 and 320 are sequentially arranged. Accordingly, when extracting the sub-frames 310-1, 310-2, 320-1, and 320-N, frames positioned between each key frame 310 and 320 may be extracted.

또한, 키 프레임(310, 320)에 대한 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법을 적용할 때도, 다음 키 프레임이 나타날 때까지 동일한 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법을 적용하여 서브 프레임을 압축할 수 있다. 예를 들어, 키 프레임(310)에 대한 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법으로 서브 프레임(310-1)과 서브 프레임(310-2)을 압축할 수 있다. 이 후, 다음의 키 프레임인 키 프레임(320)이 나타나면 키 프레임(310)에 대한 스틸 이미지 압축 정보를 사용하지 않고, 키 프레임(320)에 대한 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법으로 서브 프레임(320-1)을 압축할 수 있다. 이 후, 상기의 방법과 동일하게 다음 키 프레임이 나타날 때까지 키 프레임(320)의 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법으로 압축을 수행할 수 있다.In addition, when applying the still image compression technique using still image compression information for the key frames 310 and 320, the sub-frame is generated by applying the still image compression technique using the same still image compression information until the next key frame appears. Can be compressed. For example, the sub-frame 310-1 and the sub-frame 310-2 may be compressed by a still image compression technique using still image compression information for the key frame 310. After that, when the next key frame, the key frame 320 appears, the still image compression information for the key frame 310 is not used, and the still image compression method using the still image compression information for the key frame 320 is used. The frame 320-1 can be compressed. Thereafter, in the same manner as described above, compression may be performed using a still image compression technique using still image compression information of the key frame 320 until the next key frame appears.

도 4는 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.4 is a flowchart illustrating a cloud streaming service method for saving system resources according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법은 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처한다(S410). 예를 들어, 네트워크를 통해 클라우드 스트리밍 서버에 접속한 하나 이상의 단말 장치에 의해 어플리케이션 실행 요청이 접수된 경우에, 단말 장치의 요청에 상응하여 클라우드 스트리밍 서버에서 어플리케이션을 실행하고, 어플리케이션 실행 결과에 해당하는 실행 화면을 단말 장치에게 전달하기 위해 캡처할 수 있다.Referring to FIG. 4, the cloud streaming service method for saving system resources according to an embodiment of the present invention captures an execution screen of an application executed for the cloud streaming service (S410). For example, when an application execution request is received by one or more terminal devices connected to the cloud streaming server through a network, the application is executed in the cloud streaming server in response to the request of the terminal device, and the result corresponding to the application execution result. The execution screen can be captured for delivery to the terminal device.

또한, 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법은 실행 화면 중 키 프레임을 추출한다(S420). In addition, the cloud streaming service method for saving system resources according to an embodiment of the present invention extracts a key frame from an execution screen (S420).

실행 화면은 여러 개의 프레임으로 구성될 수 있으며, 여러 개의 프레임들 중에서는 변화가 크지 않아 유사한 프레임이 다수 존재할 수 있다. 이 때, 스틸 이미지 기반 클라우드 스트리밍 서비스를 수행하기 위해서는 모든 프레임들을 스틸 이미지 압축 기법으로 압축하여 사용자의 단말 장치로 제공해야 하며, 스틸 이미지 압축 기법에 따라 모든 프레임들 각각에 대한 스틸 이미지 압축 정보를 구성할 필요가 있다. 만약, 유사한 프레임들이 많은 경우에는 모든 프레임에 대한 스틸 이미지 압축 정보를 구성하느라 시스템 자원의 소모율이 커져서 서비스를 원활하게 제공하는데 문제가 발생할 수 있다. 따라서, 유사한 프레임들 중 키 프레임을 추출하고, 키 프레임을 기준으로 생성한 스틸 이미지 압축 정보를 나머지 유사한 프레임들에 적용하여 압축함으로써 시스템 자원을 절약할 수 있다.The execution screen may be composed of several frames, and among the several frames, there may be a number of similar frames because the change is not large. At this time, in order to perform a still image-based cloud streaming service, all frames must be compressed with a still image compression method and provided to the user's terminal device, and still image compression information for each of all frames is configured according to the still image compression method. Needs to be. If there are many similar frames, the consumption rate of system resources increases due to composing still image compression information for all frames, and thus a problem may arise in providing a service smoothly. Accordingly, it is possible to save system resources by extracting a key frame from among similar frames, and compressing still image compression information generated based on the key frame by applying it to the remaining similar frames.

이 때, 키 프레임은 실행 화면 중 이전 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 이상인 프레임일 수 있다. 예를 들어, 한 프레임의 전체 영역을 기준으로 60퍼센트 정도가 이전 프레임에 비교하여 변화하였을 때, 해당 프레임을 키 프레임으로 추출할 수 있다. 이와 같은 기설정된 기준값은 개발자에 의해 자유롭게 설정 및 수정하는 것이 가능하다. In this case, the key frame may be a frame in which a change value of the frame is greater than or equal to a preset reference value compared to a previous frame among the execution screens. For example, when about 60% of the entire area of one frame is changed compared to the previous frame, the corresponding frame may be extracted as a key frame. Such a preset reference value can be freely set and modified by a developer.

또한, 기준값이 너무 낮게 설정되면 추출되는 키 프레임이 너무 많아져서 시스템 자원의 소비가 심해질 수 있고, 기준값이 너무 높게 설정되면 추출되는 키 프레임이 적어 인코딩된 실행 화면의 화질 저하가 심할 수 있다. 따라서, 이와 같은 문제점을 방지하기 위해 최대 기준값 및 최소 기준값을 설정하고 범위 내에서 수정이 가능하도록 할 수도 있다.In addition, if the reference value is set too low, the number of extracted key frames may increase, and the consumption of system resources may increase. If the reference value is set too high, the number of extracted key frames may be reduced, leading to severe deterioration in quality of the encoded execution screen. Accordingly, in order to prevent such a problem, a maximum reference value and a minimum reference value may be set, and correction may be made within a range.

이 때, 실행 화면의 픽셀값 변화를 고려하여 프레임의 변화값을 산출할 수 있다. 예를 들어, 프레임에 포함된 모든 픽셀들의 변화를 계산하고, 이전 프레임의 픽셀값과 비교하여 변화된 정도를 판단하여 프레임의 변화 값을 산출할 수 있다. 만약 프레임을 구성하는 픽셀이 10000개이고 기설정된 기준값이 60퍼센트라고 가정한다면, 이전 프레임과 비교하여 6000픽셀이상 변화한 경우 해당 프레임을 키 프레임으로 판단하고 추출할 수 있다.In this case, the change value of the frame may be calculated in consideration of the change of the pixel value of the execution screen. For example, a change value of a frame may be calculated by calculating a change of all pixels included in a frame, and determining a degree of change by comparing it with a pixel value of a previous frame. If it is assumed that there are 10000 pixels constituting the frame and the preset reference value is 60%, the corresponding frame can be determined and extracted as a key frame when there is a change of 6000 pixels or more compared to the previous frame.

이 때, 어플리케이션의 입력 신호 및 추가 컬러의 개수 중 하나 이상을 고려하여 키 프레임을 추출할 수 있다. 예를 들어, 어플리케이션의 입력 신호는 어플리케이션의 실행 화면에 변화는 주는 신호일 수 있기 때문에, 어플리케이션의 입력 신호를 감지하여, 입력 신호에 의해 발생하는 실행 화면의 첫 프레임을 큰 키 프레임으로 판단할 수 있다. 또한, 이전 프레임에 비하여 추가 컬러가 기설정된 개수 이상 줄어드는 경우에 해당 프레임을 키 프레임으로 판단하고 추출할 수 있다.In this case, the key frame may be extracted in consideration of one or more of the number of additional colors and the input signal of the application. For example, since the input signal of the application may be a signal that changes the execution screen of the application, it is possible to detect the input signal of the application and determine the first frame of the execution screen generated by the input signal as a large key frame. . In addition, when the number of additional colors is reduced by more than a preset number compared to the previous frame, the corresponding frame may be determined as a key frame and may be extracted.

또한, 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법은 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 실행 화면 중 키 프레임을 제외한 나머지 프레임들 및 키 프레임 중 하나 이상에 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 실행 화면을 스틸 이미지 인코딩한다(S430). 예를 들어, 실행 화면을 구성하는 프레임들 중 하나 또는 복수의 키 프레임에 대해서 스틸 이미지 압축 정보를 생성한 뒤에, 나머지 프레임들은 이미 생성한 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법을 적용하여 스틸 이미지 인코딩을 수행함으로써, 키 프레임과 나머지 프레임으로 구성된 실행 화면을 스틸 이미지 인코딩할 수 있다.In addition, the cloud streaming service method for saving system resources according to an embodiment of the present invention generates still image compression information corresponding to a key frame, and at least one of the remaining frames excluding the key frame among the execution screens and key frames. The still image is encoded by applying a still image compression technique based on the still image compression information to the still image (S430). For example, after generating still image compression information for one or a plurality of key frames among the frames constituting the execution screen, the remaining frames are still images by applying a still image compression technique using the already generated still image compression information. By performing encoding, it is possible to encode a still image of an execution screen composed of a key frame and the remaining frames.

이 때, 나머지 프레임들 중 키 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 미만인 서브 프레임을 추출하고, 서브 프레임을 스틸 이미지 압축 기법을 이용하여 압축할 수 있다. 예를 들어, 실행 화면에는 복수의 키 프레임이 존재할 수 있기 때문에, 나머지 프레임들 중에는 각각의 키 프레임에 상응하는 유사한 프레임들이 존재할 수 있다. 이와 같이 각각의 키 프레임과 비교하였을 때 프레임의 변화값이 기설정된 기준값 미만의 유사한 프레임을 키 프레임에 대한 서브 프레임으로 추출하여 키 프레임을 압축한 스틸 이미지 압축 기법을 이용하여 압축할 수 있다.In this case, a subframe in which a change value of the frame is less than a preset reference value may be extracted from among the remaining frames, and the subframe may be compressed using a still image compression technique. For example, since a plurality of key frames may exist in the execution screen, similar frames corresponding to each key frame may exist among the remaining frames. When compared with each of the key frames as described above, a similar frame with a change value of the frame less than a preset reference value may be extracted as a sub-frame for the key frame and compressed using a still image compression technique in which the key frame is compressed.

이 때, 스틸 이미지 압축 정보는 팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상을 포함할 수 있다. 예를 들어, 스틸 이미지 기반 클라우드 스트리밍 시 PNG 스틸 이미지 압축 기법을 적용하여 스틸 이미지 인코딩을 수행하는 경우 비디오 기반 클라우드 스트리밍과 비교하여 압축 효율이 떨어지기 때문에 네트워크의 대역폭이 제한된 경우에는 전송 지연이 발생할 수 있는 문제점이 있다. 따라서, 이와 같은 PNG 스틸 이미지 압축 기법의 압축 효율을 증가시키기 위해서 팔렛트, 컬러 치환 테이블 및 최적 필터 등을 이용하여 이미지를 구성하는 컬러의 폭을 축소할 수 있다.In this case, the still image compression information may include one or more of a pallet, a color replacement table, and an optimal filter. For example, when still image-based cloud streaming is performed by applying PNG still image compression technique to perform still image encoding, the compression efficiency is lower than that of video-based cloud streaming, so transmission delay may occur when network bandwidth is limited. There is a problem. Therefore, in order to increase the compression efficiency of the PNG still image compression technique, the width of colors constituting the image can be reduced by using a pallet, a color substitution table, and an optimal filter.

일반적으로 PNG 포맷에서는 크게 RGB 형식과 Indexed Color 형식으로 이미지 색 정보를 표현할 수 있다. RGB 형식은 하나의 픽셀마다 빨강, 초록, 파랑의 값을 각각 사용할 수 있다. 그러나 Indexed Color 형식에서는 이미지를 구성하기 위해 사용하는 색을 팔렛트라는 테이블에 미리 작성하고, 각각의 픽셀에 팔레트 테이블 상의 몇 번째 색을 사용하는지 정보를 포함할 수 있다. 이 때, RGB 형식은 빨강, 초록, 파랑을 각각 8bit로 표현하여 하나의 픽셀당 24bit가 필요하지만, Indexed Color 형식에서는 8bit만 필요하기 때문에 RGB 형식을 Indexed Color 형식으로 변환시키는 경우 데이터의 크기를 3분의 1로 감소시킬 수 있다.In general, in the PNG format, image color information can be expressed in RGB format and Indexed Color format. The RGB format can use red, green, and blue values for each pixel. However, in the Indexed Color format, colors used to compose an image can be pre-written in a table called a palette, and information on the number of colors in the palette table can be included for each pixel. In this case, the RGB format expresses red, green, and blue in 8 bits each, and 24 bits per pixel is required. However, since only 8 bits are required in the Indexed Color format, when converting the RGB format to the Indexed Color format, the size of the data is 3 It can be reduced to a quarter.

또한, Indexed Color 형식은 8bit를 이용하여 정보를 나타내기 때문에 최대 256개의 정보만을 표현할 수 있다. 그러나 RGB 형식에서는 Indexed Color 형식보다 더 많은 컬러를 표현할 수 있기 때문에, 컬러 치환 테이블을 이용하여 RGB 형식의 컬러를 Indexed Color 형식의 팔레트에 포함된 컬러로 치환할 수 있다. 이 때, RGB 형식으로 표현할 때보다 사용할 수 있는 컬러의 수가 감소할 수밖에 없기 때문에 이미지 화질의 열화를 발생시킬 수 있다.In addition, since the Indexed Color format uses 8 bits to represent information, only a maximum of 256 pieces of information can be expressed. However, since more colors can be expressed in the RGB format than in the Indexed Color format, the RGB format colors can be replaced with the colors included in the Indexed Color format palette using a color substitution table. In this case, since the number of colors that can be used is inevitably reduced compared to when expressed in the RGB format, the image quality may be deteriorated.

또한, Indexed Color 형식에서 각각의 픽셀마다 어느 색을 말하는 정보인지 그대로 취급하는 것은 비효율적이기 때문에, 픽셀이 구성하는 행마다 필터라고 하는 데이터를 정리하는 구조를 적용할 수 있다. 예를 들어, 하나의 행이 5개의 픽셀로 구성되어 있고, 5개의 픽셀이 모두 빨간색을 말하는 정보를 포함하고 있는 경우에, 픽셀의 정보를 '빨강, 빨강, 빨강, 빨강, 빨강'의 형식으로 나타내는 것 보다는 '빨강 5개'로 나타내는 것이 더 간결하게 나타낼 수 있다. 따라서, 픽셀이 구성하는 각각의 행마다 최적 필터를 적용하여 데이터를 취급할 때 보다 간결하게 나타낼 수 있다.In addition, since it is inefficient to treat information indicating which color for each pixel in the Indexed Color format as it is, a structure in which data such as a filter is arranged for each row constituting a pixel can be applied. For example, if one row consists of 5 pixels, and all 5 pixels contain information that says red, the information of the pixel is converted to'red, red, red, red, red'. It can be more concise to indicate with '5 red' than to indicate. Therefore, it is possible to display more concisely when handling data by applying an optimum filter to each row of a pixel.

이 때, 키 프레임의 다음 키 프레임이 나타날 때까지 서브 프레임을 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 이용하여 압축할 수 있다. 예를 들어, 실행 화면에서 추출된 첫 번째 키 프레임에 대한 스틸 이미지 압축 정보를 구성하고, 이를 이용하여 이 후의 서브 프레임들을 스틸 이미지 인코딩할 수 있다. 이 때, 첫 번째 키 프레임에 대한 서브 프레임들의 스틸 이미지 인코딩이 완료되고 두 번째 키 프레임이 추출되었다면, 두 번째 키 프레임에 대해서 다시 스틸 이미지 압축 정보를 구성하고, 이 후의 서브 프레임들에 대해서는 두 번째 키 프레임의 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법을 적용하여 스틸 이미지 인코딩을 수행할 수 있다.At this time, the subframe may be compressed using a still image compression technique based on still image compression information until a next key frame of the key frame appears. For example, still image compression information for a first key frame extracted from an execution screen may be configured, and subsequent subframes may be still image encoded using this. At this time, if still image encoding of the subframes for the first key frame is completed and the second key frame is extracted, still image compression information is again configured for the second key frame, and the second key frame is Still image encoding may be performed by applying a still image compression technique using still image compression information of a key frame.

이 때, 키 프레임과 스틸 이미지 압축 정보를 연동하여 데이터베이스에 저장할 수 있다. 예를 들어, 스틸 이미지 인코딩을 수행하기 전에 미리 실행 화면에 포함된 모든 키 프레임을 추출하고, 각각의 키 프레임들에 대한 스틸 이미지 압축 정보를 생성하여 데이터베이스에 저장할 수 있다. 이 때, 키 프레임과 스틸 이미지 압축 정보를 연동하여 저장함으로써, 키 프레임 및 서브 프레임의 압축을 수행할 때 저장된 스틸 이미지 압축 정보를 쉽게 찾아 이용할 수 있다.In this case, the key frame and still image compression information may be linked and stored in the database. For example, before performing still image encoding, all key frames included in the execution screen may be extracted in advance, and still image compression information for each key frame may be generated and stored in a database. At this time, by interlocking and storing the key frame and still image compression information, it is possible to easily find and use the stored still image compression information when the key frame and sub-frame are compressed.

이 때, 스틸 이미지 압축 정보를 이용한 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 실행 화면을 스틸 이미지 인코딩할 수 있다. 팔렛티드 PNG 스틸 이미지 압축 기법은 PNG 스틸 이미지 압축 기법과 비교하였을 때 이미지의 화질 열화를 발생시킬 수는 있으나 데이터의 크기를 3분의 1로 줄일 수 있으므로, 네트워크 대역폭이 제한된 환경에서 전송 지연이 발생하는 것을 방지할 수 있다.In this case, a still image may be encoded using a palletized PNG (portable network graphics) still image compression technique using still image compression information. Compared to the PNG still image compression method, the palletized PNG still image compression method can cause image quality deterioration, but it can reduce the size of the data to one third, resulting in transmission delay in environments with limited network bandwidth. Can be prevented.

또한, 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법은 스틸 이미지 인코딩된 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다(S440). 스틸 이미지 인코딩을 완료하여 압축된 실행 화면을 사용자의 단말 장치로 전송함으로써, 사용자가 사용자의 단말 장치에서 어플리케이션이 실행되는 것처럼 느낄 수 있다.In addition, the cloud streaming service method for saving system resources according to an embodiment of the present invention performs a still image-based cloud streaming service by transmitting a still image-encoded execution screen to the user's terminal device (S440). By completing encoding of the still image and transmitting the compressed execution screen to the user's terminal device, the user can feel as if the application is being executed on the user's terminal device.

도 5는 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법을 상세하게 나타낸 동작 흐름도이다.5 is an operation flowchart illustrating in detail a cloud streaming service method for saving system resources according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일실시예에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법은 먼저 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처한다(S510).5, the cloud streaming service method for saving system resources according to an embodiment of the present invention first captures an execution screen of an application executed for the cloud streaming service (S510).

이 후, 키 프레임을 추출하기 위해 실행 화면을 구성하는 프레임들의 이전 프레임과 현재 프레임을 비교하여 프레임의 변화값을 산출한다(S520).Thereafter, in order to extract a key frame, a change value of the frame is calculated by comparing the current frame with the previous frame of the frames constituting the execution screen (S520).

이 후, 프레임의 변화값이 기설정된 기준값 이상인지 여부를 판단한다(S525).After that, it is determined whether the change value of the frame is equal to or greater than a preset reference value (S525).

단계(S525)의 판단결과 기설정된 기준값 이상이면, 현재 프레임을 키 프레임으로 추출한다(S530).If the determination result in step S525 is greater than or equal to a preset reference value, the current frame is extracted as a key frame (S530).

단계(S525)의 판단결과 기설정된 기준값 미만이면, 현재 프레임을 키 프레임이 아닌 나머지 프레임들로 판단한다(S540).If the determination result in step S525 is less than the preset reference value, the current frame is determined as the remaining frames other than the key frame (S540).

이 후, 추출한 키 프레임에 대한 스틸 이미지 압축 정보를 생성한다(S550). 이 때, 스틸 이미지 압축 정보는 팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상을 포함할 수 있다.After that, still image compression information for the extracted key frame is generated (S550). In this case, the still image compression information may include one or more of a pallet, a color replacement table, and an optimal filter.

이 후, 키 프레임과 나머지 프레임들을 비교하여 프레임 변화값을 산출한다(S560).Thereafter, a frame change value is calculated by comparing the key frame with the remaining frames (S560).

이 후, 키 프레임과 비교한 나머지 프레임들의 프레임 변화값이 기설정된 기준값 미만인지 여부를 판단한다(S565).After that, it is determined whether or not the frame change value of the remaining frames compared with the key frame is less than a preset reference value (S565).

단계(S565)의 판단결과 기설정된 기준값 미만이면, 해당하는 나머지 프레임을 키 프레임의 서브 프레임으로 추출한다(S570).If the determination result in step S565 is less than the preset reference value, the corresponding remaining frame is extracted as a subframe of the key frame (S570).

단계(S565)의 판단결과 기설정된 기준값 이상이면, 해당하는 나머지 프레임이 키 프레임인지 다시 판단하여, 키 프레임 및 다른 키 프레임의 서브 프레임 중 어느 하나로 구분할 수 있다.If the determination result in step S565 is greater than or equal to a preset reference value, it may be determined again whether the corresponding remaining frame is a key frame, and may be classified as one of a key frame and a subframe of another key frame.

이 후, 키 프레임과 서브 프레임으로 구성된 실행 화면을 스틸 이미지 인코딩한다(S580). 예를 들어, 키 프레임의 스틸 이미지 압축 정보를 이용한 스틸 이미지 압축 기법으로 서브 프레임을 압축하여 스틸 이미지 인코딩을 수행할 수 있다.After that, a still image is encoded on an execution screen composed of a key frame and a sub frame (S580). For example, encoding of a still image may be performed by compressing a sub-frame using a still image compression technique using still image compression information of a key frame.

이 후, 스틸 이미지 인코딩이 완료된 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다(S590).Thereafter, the execution screen in which still image encoding is completed is transmitted to the user's terminal device to perform a still image-based cloud streaming service (S590).

본 발명에 따른 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 모든 형태의 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The cloud streaming service method for saving system resources according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -Includes magneto-optical media, and any type of hardware device specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of the program instructions may include not only machine language codes such as those produced by a compiler, but also high-level language codes that can 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 operation of the present invention, and vice versa.

이상에서와 같이 본 발명에 따른 클라우드 스트리밍 서비스 시스템, 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.As described above, the cloud streaming service system according to the present invention, the cloud streaming service method for saving system resources, and the apparatus therefor are not limited to the configuration and method of the embodiments described as described above, but the The embodiments may be configured by selectively combining all or part of each of the embodiments so that various modifications may be made.

본 발명에 의하면 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처하고, 실행 화면 중 키 프레임을 추출하고, 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 실행 화면 중 키 프레임을 제외한 나머지 프레임들 및 키 프레임 중 하나 이상에 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 실행 화면을 스틸 이미지 인코딩하고, 스틸 이미지 인코딩된 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행할 수 있다. 나아가, 키 프레임의 서브 프레임에 대해서 스틸 이미지 압축 정보를 생성하기 위한 시스템 자원을 절약함으로써, 클라우드 스트리밍 서버에서는 더 많은 사용자들에게 동시에 서비스를 제공할 수 있다.According to the present invention, an execution screen of an application executed for a cloud streaming service is captured, a key frame is extracted from the execution screen, still image compression information corresponding to the key frame is generated, and the remaining frames excluding the key frame from the execution screen Encoding a still image by applying a still image compression technique based on still image compression information to at least one of the fields and key frames, and transmitting the still image-encoded execution screen to the user's terminal device to provide a still image-based cloud. Streaming service can be performed. Furthermore, by saving system resources for generating still image compression information for a subframe of a key frame, the cloud streaming server can provide a service to more users at the same time.

110: 클라우드 스트리밍 서버 120-1~ 120-N: 단말 장치들
130: 네트워크 210: 캡처부
220: 키 프레임 추출부 230: 인코딩부
240: 센딩부 250: 저장부
310, 320: 키 프레임
310-1, 310-2, 320-1, 320-N: 서브 프레임
110: cloud streaming server 120-1 to 120-N: terminal devices
130: network 210: capture unit
220: key frame extraction unit 230: encoding unit
240: sending unit 250: storage unit
310, 320: key frame
310-1, 310-2, 320-1, 320-N: sub-frame

Claims (20)

클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처하는 캡처부;
상기 실행 화면 중 키 프레임을 추출하는 키 프레임 추출부;
상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 상기 실행 화면 중 상기 키 프레임을 제외한 나머지 프레임들 및 상기 키 프레임 중 하나 이상에 상기 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 상기 실행 화면을 스틸 이미지 인코딩하는 인코딩부; 및
스틸 이미지 인코딩된 상기 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 센딩부
를 포함하고,
상기 스틸 이미지 압축 정보는
팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상의 정보를 포함하고,
상기 인코딩부는
상기 나머지 프레임들 중 상기 키 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 미만인 서브 프레임을 추출하고, 상기 서브 프레임을 상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 적용한 스틸 이미지 압축 기법으로 스틸 이미지 인코딩하는 것을 특징으로 하는 클라우드 스트리밍 서버.
A capture unit for capturing an execution screen of an application executed for a cloud streaming service;
A key frame extraction unit for extracting a key frame from the execution screen;
Generates still image compression information corresponding to the key frame, and applies a still image compression technique based on the still image compression information to at least one of the key frames and the remaining frames of the execution screen except for the key frame. An encoding unit that encodes the execution screen as a still image; And
Sending unit to perform a still image-based cloud streaming service by transmitting the still image-encoded execution screen to the user's terminal device
Including,
The still image compression information
Contains information of one or more of a palette, a color substitution table, and an optimal filter,
The encoding unit
Comparing with the key frame from among the remaining frames, extracting a sub-frame whose change value is less than a preset reference value, and encoding the sub-frame with a still image compression technique to which still image compression information corresponding to the key frame is applied Cloud streaming server, characterized in that.
삭제delete 청구항 1에 있어서,
상기 키 프레임은
상기 실행 화면 중 이전 프레임과 비교하여 상기 프레임의 변화값이 상기 기설정된 기준값 이상인 프레임인 것을 특징으로 하는 클라우드 스트리밍 서버.
The method according to claim 1,
The key frame is
Cloud streaming server, characterized in that the frame compared to the previous frame of the execution screen, the change value of the frame is equal to or greater than the preset reference value.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처하는 단계;
상기 실행 화면 중 키 프레임을 추출하는 단계;
상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 생성하고, 상기 실행 화면 중 상기 키 프레임을 제외한 나머지 프레임들 및 상기 키 프레임 중 하나 이상에 상기 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 상기 실행 화면을 스틸 이미지 인코딩하는 단계; 및
스틸 이미지 인코딩된 상기 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 단계
를 포함하고,
상기 스틸 이미지 압축 정보는
팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상의 정보를 포함하고,
상기 스틸 이미지 인코딩하는 단계는
상기 나머지 프레임들 중 상기 키 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 미만인 서브 프레임을 추출하고, 상기 서브 프레임을 상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 적용한 스틸 이미지 압축 기법으로 스틸 이미지 인코딩하는 것을 특징으로 하는 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법.
Capturing an execution screen of an application executed for a cloud streaming service;
Extracting a key frame from the execution screen;
Generates still image compression information corresponding to the key frame, and applies a still image compression technique based on the still image compression information to at least one of the key frames and the remaining frames of the execution screen except for the key frame. Encoding the execution screen as a still image; And
Transmitting the still image-encoded execution screen to a user's terminal device to perform a still image-based cloud streaming service
Including,
The still image compression information
Contains information of one or more of a palette, a color substitution table, and an optimal filter,
The step of encoding the still image
Comparing with the key frame from among the remaining frames, extracting a sub-frame whose change value is less than a preset reference value, and encoding the sub-frame with a still image compression technique to which still image compression information corresponding to the key frame is applied Cloud streaming service method for saving system resources, characterized in that.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 클라우드 스트리밍 서비스를 위해 실행되는 어플리케이션의 실행 화면을 캡처하고, 상기 실행 화면 중 키 프레임을 추출하고, 상기 실행 화면 중 상기 키 프레임을 제외한 나머지 프레임 및 상기 키 프레임 중 하나 이상에 상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 기반으로 하는 스틸 이미지 압축 기법을 적용하여 상기 실행 화면을 스틸 이미지 인코딩하고, 스틸 이미지 인코딩된 상기 실행 화면을 사용자의 단말 장치로 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 클라우드 스트리밍 서버; 및
상기 클라우드 스트리밍 서버로부터 상기 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하는 단말
을 포함하고,
상기 스틸 이미지 압축 정보는
팔렛트, 컬러 치환 테이블 및 최적 필터 중 하나 이상의 정보를 포함하고,
상기 클라우드 스트리밍 서버는
상기 나머지 프레임들 중 상기 키 프레임과 비교하여 프레임의 변화값이 기설정된 기준값 미만인 서브 프레임을 추출하고, 상기 서브 프레임을 상기 키 프레임에 상응하는 스틸 이미지 압축 정보를 적용한 스틸 이미지 압축 기법으로 스틸 이미지 인코딩하는 것을 특징으로 하는 클라우드 스트리밍 서비스 시스템.
Captures the execution screen of an application executed for the cloud streaming service, extracts a key frame from the execution screen, and corresponds to the key frame in at least one of the key frames and the remaining frames excluding the key frame among the execution screens. A cloud that performs a still image-based cloud streaming service by applying a still image compression technique based on still image compression information to encode the execution screen as a still image and transmit the execution screen encoded with the still image to the user's terminal device Streaming server; And
Terminal receiving an application execution result screen corresponding to the cloud streaming service from the cloud streaming server
Including,
The still image compression information
Contains information of one or more of a palette, a color substitution table, and an optimal filter,
The cloud streaming server
Comparing with the key frame from among the remaining frames, extracting a sub-frame whose change value is less than a preset reference value, and encoding the sub-frame with a still image compression technique to which still image compression information corresponding to the key frame is applied Cloud streaming service system, characterized in that.
KR1020140115670A 2014-09-01 2014-09-01 System for cloud streaming service, method of cloud streaming service to save system resources and apparatus for the same KR102247889B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140115670A KR102247889B1 (en) 2014-09-01 2014-09-01 System for cloud streaming service, method of cloud streaming service to save system resources and apparatus for the same
PCT/KR2015/007263 WO2016035995A1 (en) 2014-09-01 2015-07-13 Cloud streaming service system, cloud streaming service method for saving system resources, and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140115670A KR102247889B1 (en) 2014-09-01 2014-09-01 System for cloud streaming service, method of cloud streaming service to save system resources and apparatus for the same

Publications (2)

Publication Number Publication Date
KR20160026561A KR20160026561A (en) 2016-03-09
KR102247889B1 true KR102247889B1 (en) 2021-05-04

Family

ID=55536925

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140115670A KR102247889B1 (en) 2014-09-01 2014-09-01 System for cloud streaming service, method of cloud streaming service to save system resources and apparatus for the same

Country Status (1)

Country Link
KR (1) KR102247889B1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060015210A (en) * 2004-08-13 2006-02-16 (주)디노밴 An apparatus and a method for converting animated image, and a recording medium on which a computer program performing thereof is recorded
KR101383027B1 (en) * 2012-05-31 2014-04-08 에스케이플래닛 주식회사 Method for data sharing to cloud streaming, system thereof, terminal thereof and apparatus thereof
KR101467418B1 (en) 2012-09-27 2014-12-01 브로드콤 코포레이션 Transmission of video utilizing static content information from video source

Also Published As

Publication number Publication date
KR20160026561A (en) 2016-03-09

Similar Documents

Publication Publication Date Title
US20150156557A1 (en) Display apparatus, method of displaying image thereof, and computer-readable recording medium
KR102384174B1 (en) System for cloud streaming service, method of cloud streaming service using still image compression technique 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
JP6527579B2 (en) Cloud streaming service system, still image based cloud streaming service method and apparatus therefor
KR102247889B1 (en) System for cloud streaming service, method of cloud streaming service to save system resources and apparatus for the same
KR20160131827A (en) System for cloud streaming service, method of image cloud streaming service using alpha level of color bit and apparatus for the same
KR102271721B1 (en) System for cloud streaming service, method of image cloud streaming service considering terminal performance and apparatus for the same
EP3264284B1 (en) Data processing method and device
KR102247887B1 (en) System for cloud streaming service, method of cloud streaming service using source information and apparatus for the same
KR102313533B1 (en) System for cloud streaming service, method of image cloud streaming service considering full screen transition 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
KR102273145B1 (en) System for cloud streaming service, method of image cloud streaming service using additional encoding and apparatus for the same
KR102313516B1 (en) System for cloud streaming service, method of message-based image cloud streaming service 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
KR102313530B1 (en) System for cloud streaming service, method of image cloud streaming service using split screen and apparatus for the same
KR102313528B1 (en) System for cloud streaming service, method of image cloud streaming service based on degradation of image quality and apparatus for the same
KR102225610B1 (en) System for cloud streaming service, method of message-based image cloud streaming service and apparatus for the same
KR102273142B1 (en) System for cloud streaming service, method of image cloud streaming service using application code conversion and apparatus for the same
KR102225608B1 (en) System for cloud streaming service, method of image cloud streaming service using animation message and apparatus for the same
KR20210027340A (en) System for cloud streaming service, method of image cloud streaming service using animation message and apparatus for the same
KR102273143B1 (en) System for cloud streaming service, method of cloud streaming service based on still image and apparatus for the same
KR102265419B1 (en) System for cloud streaming service, method of cloud streaming service using selective encoding processing unit and apparatus for the same
KR20160087257A (en) System for cloud streaming service, method of image cloud streaming service using drawing layer separation and apparatus for the same

Legal Events

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