KR102265419B1 - System for cloud streaming service, method of cloud streaming service using selective encoding processing unit and apparatus for the same - Google Patents

System for cloud streaming service, method of cloud streaming service using selective encoding processing unit and apparatus for the same Download PDF

Info

Publication number
KR102265419B1
KR102265419B1 KR1020140133176A KR20140133176A KR102265419B1 KR 102265419 B1 KR102265419 B1 KR 102265419B1 KR 1020140133176 A KR1020140133176 A KR 1020140133176A KR 20140133176 A KR20140133176 A KR 20140133176A KR 102265419 B1 KR102265419 B1 KR 102265419B1
Authority
KR
South Korea
Prior art keywords
processing unit
encoding
image
encoding processing
change region
Prior art date
Application number
KR1020140133176A
Other languages
Korean (ko)
Other versions
KR20160039887A (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 KR1020140133176A priority Critical patent/KR102265419B1/en
Priority to JP2016575537A priority patent/JP2017529716A/en
Priority to EP15827254.2A priority patent/EP3177024B1/en
Priority to CN201580049450.2A priority patent/CN106717007B/en
Priority to PCT/KR2015/006950 priority patent/WO2016017952A1/en
Publication of KR20160039887A publication Critical patent/KR20160039887A/en
Priority to US15/420,030 priority patent/US10652591B2/en
Application granted granted Critical
Publication of KR102265419B1 publication Critical patent/KR102265419B1/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • 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/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
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

클라우드 스트리밍 서비스 시스템, 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치가 개시된다. 클라우드 스트리밍 서버는 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처하고, 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 인코딩 처리 유닛을 선택하고, 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩하고, 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행할 수 있다. 클라우드 스트리밍 서비스 제공 시 캡처된 영역에 상응하는 이미지에 적합한 인코딩 처리 유닛을 이용하여 클라우드 스트리밍 서버의 자원을 보다 효율적으로 사용할 수 있기 때문에 서비스 처리 비용을 절약하는 것이 가능하다.A cloud streaming service system, a cloud streaming service method using a selective encoding processing unit, and an apparatus therefor are disclosed. The cloud streaming server captures the change region included in the changed frame compared to the previous frame, selects an encoding processing unit in consideration of one or more of image characteristics and image resolution corresponding to the change region, and uses the encoding processing unit to select one A still image-based cloud streaming service can be performed by encoding a still image of a change region corresponding to a frame of , and transmitting the still image-encoded change region to a user. When the cloud streaming service is provided, it is possible to save the service processing cost because the resource of the cloud streaming server can be used more efficiently by using an encoding processing unit suitable for the image corresponding to the captured area.

Description

클라우드 스트리밍 서비스 시스템, 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 {SYSTEM FOR CLOUD STREAMING SERVICE, METHOD OF CLOUD STREAMING SERVICE USING SELECTIVE ENCODING PROCESSING UNIT AND APPARATUS FOR THE SAME}Cloud streaming service system, cloud streaming service method using selective encoding processing unit, and device therefor

본 발명은 클라우드 스트리밍 서비스 시 변화가 적은 부분에 대해서 스틸 이미지 기반의 클라우드 스트리밍 서비스를 제공할 때, 이미지의 특성에 따라 인코딩 처리 유닛을 선택하여 인코딩함으로써 서버의 자원을 보다 효율적으로 사용할 수 있는 클라우드 스트리밍 서비스 시스템, 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법 및 장치에 관한 것이다.The present invention provides a cloud streaming service that can use server resources more efficiently by selecting and encoding an encoding processing unit according to the characteristics of an image when providing a still image-based cloud streaming service for a part with little change in the cloud streaming service. It relates to a service system, a cloud streaming service method and apparatus using a selective encoding processing unit.

현대 인터넷의 급속한 발달로 인해 개인의 통신 속도는 급격하게 향상되었고, 이러한 통신 속도의 향상으로 원격지 컴퓨터에 접속하여 대용량의 데이터를 다운로드 또는 업로드 하거나, 원격지 컴퓨터 제어 프로그램을 사용하여 마치 원격지 컴퓨터에 로컬 로그인한 것과 같이 원격지 컴퓨터를 이용할 수 있는 환경이 조성되었다.Due to the rapid development of the modern Internet, personal communication speed has been rapidly improved, and with this improvement in communication speed, it is possible to access a remote computer to download or upload large amounts of data, or to log in locally to a remote computer by using a remote computer control program. As described above, an environment where remote computers can be used has been created.

또한, 어플리케이션을 서버에서 구동시키고 구동화면은 비디오 인코딩(Encoding)을 통해 압축하여 클라이언트로 전송하고, 클라이언트는 전송된 비디오를 재생하여 마치 자신의 단말에서 어플리케이션이 구동되는 것과 같은 효과를 내는 화면 가상화 기반의 클라우드 스트리밍 서비스가 각광받고 있다.In addition, based on screen virtualization, the application is driven on the server, the driving screen is compressed through video encoding and transmitted to the client, and the client plays the transmitted video to produce the same effect as if the application is running on its own terminal. of cloud streaming services are in the spotlight.

이와 같은 클라우드 스트리밍 서비스는 기본적으로 비디오 코덱 기반의 클라우드 스트리밍 기법이 적용되었다. 그러나 메뉴 디스플레이와 같이 정적인 화면을 서비스 하는 경우에도 불필요하게 화면 전체를 캡처하고 비디오 코덱을 이용하여 동작하기 때문에 클라우드 스트리밍 서비스 시스템을 운영함에 있어서 비효율적인 부분이 존재하였다.In such a cloud streaming service, a video codec-based cloud streaming technique is basically applied. However, even in the case of servicing a static screen such as a menu display, the entire screen is unnecessarily captured and operated using a video codec, so there is an inefficient part in operating the cloud streaming service system.

한국 공개 특허 제10-2012-0105688호, 2012년 9월 26일 공개 (명칭: 이기종 서버/클라이언트간 가상화 서비스 시스템 및 방법)Korean Patent Laid-Open Patent No. 10-2012-0105688, published on September 26, 2012 (Title: Virtualization service system and method between heterogeneous servers/clients)

본 발명의 목적은, 클라우드 스트리밍 서비스 제공 시 캡처된 이미지의 특성에 적합한 인코딩 처리 유닛을 선택하여 클라우드 스트리밍 서버의 자원을 보다 효율적으로 사용하는 것이다.An object of the present invention is to more efficiently use the resources of a cloud streaming server by selecting an encoding processing unit suitable for the characteristics of a captured image when providing a cloud streaming service.

또한, 본 발명의 목적은 클라우드 스트리밍 서비스의 효율성을 향상시킴으로써 클라우드 스트리밍 서비스 처리 비용을 절약하는 것이다.In addition, an object of the present invention is to save the cloud streaming service processing cost by improving the efficiency of the cloud streaming service.

상기한 목적을 달성하기 위한 본 발명에 따른 클라우드 스트리밍 서버는, 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처하는 캡처부; 상기 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 인코딩 처리 유닛을 선택하고, 상기 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하는 인코딩부; 및 스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 센딩부를 포함한다.Cloud streaming server according to the present invention for achieving the above object, the capture unit for capturing the change area included in the changed frame compared to the previous frame; an encoding unit that selects an encoding processing unit in consideration of at least one of image characteristics and image resolution corresponding to the change region, and encodes a still image of the change region corresponding to one frame using the encoding processing unit; and a sending unit that transmits the still image-encoded change region to a user to perform a still image-based cloud streaming service.

이 때, 인코딩 처리 유닛은 중앙 처리 유닛(Central Processing Unit; CPU) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 중 어느 하나에 상응할 수 있다.In this case, the encoding processing unit may correspond to any one of a central processing unit (CPU) and a graphics processing unit (GPU).

이 때, 인코딩부는 상기 이미지 특성 및 상기 이미지 해상도 중 하나 이상을 고려하여 상기 중앙 처리 유닛과 상기 그래픽 처리 유닛 각각에 대한 인코딩 처리 비용을 예측하고, 상기 중앙 처리 유닛 및 그래픽 처리 유닛 중 상기 인코딩 처리 비용이 낮은 인코딩 처리 유닛을 선택하여 상기 변화 영역을 스틸 이미지 인코딩할 수 있다.At this time, the encoding unit predicts the encoding processing cost for each of the central processing unit and the graphic processing unit in consideration of one or more of the image characteristics and the image resolution, and the encoding processing cost of the central processing unit and the graphic processing unit By selecting this low encoding processing unit, the change region can be still image-encoded.

이 때, 인코딩부는 상기 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 이상인 경우 상기 그래픽 처리 유닛을 이용하여 상기 변화 영역을 스틸 이미지 인코딩할 수 있다.In this case, when the image resolution corresponding to the change region is equal to or greater than a preset reference value, the encoding unit may encode the change region as a still image using the graphic processing unit.

이 때, 인코딩부는 상기 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 미만인 경우 상기 이미지 특성에 따른 스틸 이미지 압축 기법을 고려하여 상기 인코딩 처리 유닛을 선택할 수 있다.In this case, when the image resolution corresponding to the change region is less than a preset reference value, the encoding unit may select the encoding processing unit in consideration of a still image compression technique according to the image characteristic.

이 때, 스틸 이미지 압축 기법은 PNG(portable network graphics), 팔렛티드 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나에 상응할 수 있다.In this case, the still image compression technique may correspond to any one of portable network graphics (PNG), paletted portable network graphics (PNG), and joint photography experts group (JPEG).

이 때, 인코딩부는 상기 이미지 해상도가 기설정된 기준값 미만이고 상기 스틸 이미지 압축 기법이 상기 팔렛티드 PNG인 경우 상기 그래픽 처리 유닛을 이용하여 상기 변화 영역을 스틸 이미지 인코딩할 수 있다.In this case, when the image resolution is less than a preset reference value and the still image compression technique is the paletted PNG, the encoding unit may encode the change region as a still image using the graphic processing unit.

이 때, 캡처부는 상기 변화된 프레임에 상응하는 화면 영역 중 상기 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 상기 변화 영역으로 캡처할 수 있다.In this case, the capture unit may capture the changed area as the change area compared with the screen area corresponding to the previous frame among the screen areas corresponding to the changed frame.

이 때, 캡처부는 상기 사용자의 단말 장치로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 상기 프레임 변화가 적은 구간에서 상기 변화 영역을 캡처할 수 있다.In this case, the capture unit may detect a section in which the frame change is small among the entire frame to be transmitted to the user's terminal device, and capture the change region in the section in which the frame change is small.

이 때, 캡처부는 상기 사용자의 단말 장치로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 상기 프레임 변화가 적은 구간을 검출할 수 있다.In this case, the capture unit may detect a section in which the frame change is small by detecting an event type of the application generated from the user's terminal device.

또한, 본 발명에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법은, 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처하는 단계; 상기 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 인코딩 처리 유닛을 선택하고, 상기 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하는 단계; 및 스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 단계를 포함한다.In addition, the cloud streaming service method using a selective encoding processing unit according to the present invention, the method comprising the steps of: capturing a change region included in the changed frame compared to the previous frame; selecting an encoding processing unit in consideration of at least one of image characteristics and image resolution corresponding to the change region, and encoding the change region corresponding to one frame as a still image using the encoding processing unit; and transmitting the still image-encoded change region to the user to perform a still image-based cloud streaming service.

이 때, 인코딩 처리 유닛은 중앙 처리 유닛(Central Processing Unit; CPU) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 중 어느 하나에 상응할 수 있다.In this case, the encoding processing unit may correspond to any one of a central processing unit (CPU) and a graphics processing unit (GPU).

이 때, 인코딩하는 단계는 상기 이미지 특성 및 상기 이미지 해상도 중 하나 이상을 고려하여 상기 중앙 처리 유닛과 상기 그래픽 처리 유닛 각각에 대한 인코딩 처리 비용을 예측하는 단계를 포함하고, 상기 중앙 처리 유닛 및 그래픽 처리 유닛 중 상기 인코딩 처리 비용이 낮은 인코딩 처리 유닛을 선택하여 상기 변화 영역을 스틸 이미지 인코딩할 수 있다.In this case, the encoding includes estimating an encoding processing cost for each of the central processing unit and the graphic processing unit in consideration of at least one of the image characteristics and the image resolution, wherein the central processing unit and the graphic processing unit The change region may be still image-encoded by selecting an encoding processing unit having a low encoding processing cost among the units.

이 때, 인코딩하는 단계는 상기 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 이상인 경우 상기 그래픽 처리 유닛을 이용하여 상기 변화 영역을 스틸 이미지 인코딩할 수 있다.In this case, the encoding may include still image encoding of the change region using the graphic processing unit when the image resolution corresponding to the change region is equal to or greater than a preset reference value.

이 때, 인코딩하는 단계는 상기 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 미만인 경우 상기 이미지 특성에 따른 스틸 이미지 압축 기법을 고려하여 상기 인코딩 처리 유닛을 선택할 수 있다.In this case, in the encoding step, when the image resolution corresponding to the change region is less than a preset reference value, the encoding processing unit may be selected in consideration of a still image compression technique according to the image characteristic.

이 때, 스틸 이미지 압축 기법은 PNG(portable network graphics), 팔렛티드 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나에 상응할 수 있다.In this case, the still image compression technique may correspond to any one of portable network graphics (PNG), paletted portable network graphics (PNG), and joint photography experts group (JPEG).

이 때, 인코딩하는 단계는 상기 이미지 해상도가 기설정된 기준값 미만이고 상기 스틸 이미지 압축 기법이 상기 팔렛티드 PNG인 경우 상기 중앙 처리 유닛을 이용하여 상기 변화 영역을 스틸 이미지 인코딩할 수 있다.In this case, in the encoding step, when the image resolution is less than a preset reference value and the still image compression technique is the paletted PNG, the change region may be encoded as a still image using the central processing unit.

이 때, 캡처하는 단계는 상기 변화된 프레임에 상응하는 화면 영역 중 상기 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 상기 변화 영역으로 캡처할 수 있다.In this case, the capturing may include capturing a changed area as the change area compared with a screen area corresponding to the previous frame among the screen areas corresponding to the changed frame.

이 때, 캡처하는 단계는 상기 사용자의 단말 장치로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 상기 프레임 변화가 적은 구간에서 상기 변화 영역을 캡처할 수 있다.In this case, the capturing may include detecting a section in which a frame change is small among the entire frame to be transmitted to the user's terminal device, and capturing the change region in a section in which the frame change is small.

이 때, 캡처하는 단계는 상기 사용자의 단말 장치로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 상기 프레임 변화가 적은 구간을 검출할 수 있다.In this case, the capturing may detect a section in which the frame change is small by detecting an event type of an application generated from the user's terminal device.

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

또한, 본 발명에 따른 클라우드 스트리밍 서비스 시스템은 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처하고, 상기 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 인코딩 처리 유닛을 선택하고, 상기 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하고, 스틸 이미지 인코딩된 상기 변화 영역을 상기 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 클라우드 스트리밍 서버; 및 상기 클라우드 스트리밍 서버로부터 상기 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하는 단말을 포함한다.In addition, the cloud streaming service system according to the present invention captures a change region included in a frame changed compared to the previous frame, and selects an encoding processing unit in consideration of one or more of image characteristics and image resolution corresponding to the change region, a cloud streaming server for still image encoding the change region corresponding to one frame using the encoding processing unit, and transmitting the still image-encoded change region to the user to perform a still image-based cloud streaming service; and a terminal for receiving an application execution result screen corresponding to the cloud streaming service from the cloud streaming server.

본 발명에 따르면, 클라우드 스트리밍 서비스 제공 시 캡처된 이미지의 특성에 적합한 인코딩 처리 유닛을 선택하여 클라우드 스트리밍 서버의 자원을 보다 효율적으로 사용할 수 있다.According to the present invention, it is possible to more efficiently use the resources of the cloud streaming server by selecting an encoding processing unit suitable for the characteristics of the captured image when providing the cloud streaming service.

또한, 본 발명은 클라우드 스트리밍 서비스의 효율성을 향상시킴으로써 클라우드 스트리밍 서비스 처리 비용을 절약할 수 있다.In addition, the present invention can save the cloud streaming service processing cost by improving the efficiency of the cloud streaming service.

도 1은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 클라우드 스트리밍 서버의 일 예를 나타낸 블록도이다.
도 3은 스틸 이미지 기반 클라우드 스트리밍 시스템을 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 인코딩 처리 유닛을 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스에서 변화 영역을 캡처하는 과정을 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.
도 7은 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법을 상세하게 나타낸 동작 흐름도이다.
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 the cloud streaming server shown in FIG. 1 .
3 is a diagram illustrating a still image-based cloud streaming system.
4 is a diagram illustrating an encoding processing unit according to an embodiment of the present invention.
5 is a diagram illustrating a process of capturing a change region in a cloud streaming service according to an embodiment of the present invention.
6 is an operation flowchart illustrating a cloud streaming service method using a selective encoding processing unit according to an embodiment of the present invention.
7 is a detailed operation flowchart illustrating a cloud streaming service method using a selective encoding processing unit 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, detailed descriptions of well-known functions or configurations that may obscure the gist of the present invention in the following description and accompanying drawings will be omitted. Also, it should be noted that throughout the drawings, the same components are denoted by the same reference numerals as much as possible.

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

도 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 , the 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)는 단말 장치들(120-1, ..., 120-N)로부터 클라우드 스트리밍 서비스 요청을 받아 어플리케이션을 실행하고, 어플리케이션 실행 결과에 해당하는 실행 결과 화면을 단말 장치들(120-1, ..., 120-N)에게 제공한다.The cloud streaming server 110 receives a cloud streaming service request from the terminal devices 120-1, ..., 120-N, executes an application, and displays an execution result screen corresponding to the application execution result to the terminal devices 120 -1, ..., 120-N).

클라우드 스트리밍 서버(110)는 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처한다. 이 때, 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 변화 영역으로 캡처할 수 있다. 이 때, 단말 장치들(120-1, ..., 120-N)로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다. 이 때, 단말 장치들(120-1, ..., 120-N)로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다.Cloud streaming server 110 captures the change area included in the changed frame compared to the previous frame. In this case, among the screen areas corresponding to the changed frame, the changed area may be captured as the change area compared with the screen area corresponding to the previous frame. In this case, it is possible to detect a section in which a frame change is small among all frames to be transmitted to the terminal devices 120-1, ..., 120-N, and capture a change region in a section in which the frame change is small. In this case, by detecting an event type of an application generated from the terminal devices 120-1, ..., 120-N, a section with a small frame change may be detected.

또한, 클라우드 스트리밍 서버(110)는 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 인코딩 처리 유닛을 선택하고, 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다. 이 때, 인코딩 처리 유닛은 중앙 처리 유닛(Central Processing Unit; CPU) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 중 어느 하나의 인코딩 처리 유닛일 수 있다. 이 때, 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 중앙 처리 유닛과 그래픽 처리 유닛 각각에 대한 인코딩 처리 비용을 예측하고, 중앙 처리 유닛 및 그래픽 처리 유닛 중 인코딩 처리 비용이 낮은 인코딩 처리 유닛을 선택하여 변화 영역을 스틸 이미지 인코딩할 수 있다. 이 때, 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 이상인 경우 그래픽 처리 유닛을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다. 이 때, 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 미만인 경우 변화 영역에 상응하는 이미지 특성에 따른 스틸 이미지 압축 기법을 고려하여 인코딩 처리 유닛을 선택할 수 있다. 이 때, 이미지 해상도가 기설정된 기준값 미만이고 스틸 이미지 압축 기법이 팔렛티드 PNG인 경우 그래픽 처리 유닛을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다. In addition, the cloud streaming server 110 selects an encoding processing unit in consideration of one or more of image characteristics and image resolution corresponding to the change region, and encodes the change region corresponding to one frame using the encoding processing unit as a still image. do. In this case, the encoding processing unit may be any one of a central processing unit (CPU) and a graphics processing unit (GPU). At this time, the encoding processing cost for each of the central processing unit and the graphic processing unit is predicted in consideration of one or more of the image characteristics and the image resolution, and an encoding processing unit having a lower encoding processing cost among the central processing unit and the graphic processing unit is selected. The change region can be still image-encoded. In this case, when the image resolution corresponding to the change region is equal to or greater than a preset reference value, the change region may be encoded as a still image using the graphic processing unit. In this case, when the image resolution corresponding to the change region is less than a preset reference value, the encoding processing unit may be selected in consideration of a still image compression technique according to image characteristics corresponding to the change region. In this case, when the image resolution is less than a preset reference value and the still image compression technique is Paletted PNG, the change region may be encoded as a still image using the graphic processing unit.

또한, 클라우드 스트리밍 서버(110)는 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다.In addition, the cloud streaming server 110 transmits a still image-encoded change region to the user to perform a still image-based cloud streaming service.

단말 장치들(120-1, ..., 120-N)은 클라우드 스트리밍 서버(110)로부터 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하여 사용자에게 제공한다.The terminal devices 120-1, ..., 120-N receive the 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) 단말일 수 있다.Each of the terminal devices 120-1, ..., 120-N is connected to a communication network and is a device capable of executing an application based on a cloud computing system, and is not limited to a mobile communication terminal, and all information communication devices and multimedia terminals , may be various terminals such as a wired terminal, a fixed terminal, and an IP (Internet Protocol) terminal. In addition, the terminal devices 120-1, ..., 120-N are a mobile phone, a portable multimedia played (PMP), a mobile Internet device (MID), a smart phone, a desktop, and a tablet computer, respectively. (Tablet PC), notebook (Notebook), netbook (Net Book), personal digital assistant (PDA), smart TV and mobile (Mobile) terminal having various mobile communication specifications such as information communication devices, etc. 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 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 network that provides communication of various information devices within a limited area, a mobile communication network that provides communication between mobile bodies and between the mobile body and the outside of the mobile body, and communication between the earth station and the earth station using satellite It may be any one of a satellite communication network or a wired/wireless communication network that provides 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, the 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 the network used for each other, or it may be the same.

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

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

클라우드 스트리밍 서비스 시 변화 영역만을 검출하여 클라우드 스트리밍 서비스를 수행하는 이미지 클라우드 스트리밍에 있어서, 이미지 인코딩을 수행할 때 중앙 처리 유닛(Central Processing Unit; CPU)을 이용하거나 그래픽 처리 유닛(Graphics Processing Unit; GPU)을 이용하여 인코딩을 수행할 수 있다. 이 때, 최적의 이미지 클라우드 스트리밍 서비스를 제공하기 위해서는 상황에 적절하게 중앙 처리 유닛과 그래픽 처리 유닛을 조합해서 사용해야 하지만 기존의 클라우드 스트리밍 서비스 제공 시에는 동일한 하나의 유닛으로만 인코딩이 처리되고 있는 실정이다. 따라서 본 발명에서는 변화 영역에 대한 특징을 파악하여 상황에 적절한 인코딩 처리 유닛을 이용하여 보다 효율적으로 이미지 클라우드 스트리밍 서비스를 제공할 수 있는 구성을 제안하고자 한다.In image cloud streaming that performs cloud streaming service by detecting only a change region during cloud streaming service, a central processing unit (CPU) is used when image encoding is performed or a graphics processing unit (GPU) is used. can be used for encoding. At this time, in order to provide an optimal image cloud streaming service, a combination of a central processing unit and a graphic processing unit must be used appropriately for the situation, but when providing the existing cloud streaming service, encoding is processed with only one unit. . Therefore, the present invention intends to propose a configuration that can provide an image cloud streaming service more efficiently by identifying the characteristics of the change region and using an encoding processing unit suitable for the situation.

캡처부(210)는 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처한다. 비디오 코덱 기반의 클라우드 스트리밍 기법은 어플리케이션이 동작하는 화면에 상응하는 모든 프레임을 캡처하여 인코딩을 수행할 수 있다. 그러나 어플리케이션이 동작하는 화면 상에서 프레임간 변화가 크지 않은 경우에는 이전 프레임과 비교하여 변화된 프레임의 변화 영역만을 캡처하여 스틸 이미지 인코딩을 수행하고, 사용자의 단말 장치에 디스플레이 할 때 변화 영역을 제외한 부분은 동일하게 보여주고 변화 영역만 변화를 주는 방식으로 디스플레이 할 수 있다.The capture unit 210 captures the change region included in the changed frame compared to the previous frame. The video codec-based cloud streaming technique can perform encoding by capturing all frames corresponding to the screen on which the application operates. However, if the frame-to-frame change is not large on the screen on which the application is running, still image encoding is performed by capturing only the change area of the frame that has changed compared to the previous frame, and the portion except the change area is the same when displayed on the user's terminal device. It can be displayed in such a way that only the change area changes.

이 때, 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 변화 영역으로 캡처할 수 있다. 예를 들어 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역이 A 영역이라면, 변화된 프레임에 상응하는 화면 영역 중 A 영역만을 변화 영역으로 캡처할 수 있다. 이러한 변화 영역은 사용자의 단말 장치에서 입력되는 입력 신호에 따라 해상도나 변화 영역에 상응하는 이미지의 타입이 다양할 수 있다.In this case, among the screen areas corresponding to the changed frame, the changed area may be captured as the change area compared with the screen area corresponding to the previous frame. For example, if the changed area compared with the screen area corresponding to the previous frame among the screen areas corresponding to the changed frame is area A, only area A among the screen areas corresponding to the changed frame may be captured as the change area. The change region may have various resolutions or types of images corresponding to the change region according to an input signal input from the user's terminal device.

이 때, 사용자의 단말 장치로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다. In this case, it is possible to detect a section in which the frame change is small among the entire frame to be transmitted to the user's terminal device, and capture the change region in the section in which the frame change is small.

이 때, 사용자의 단말 장치로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다. 예를 들어, 사용자의 단말 장치로부터 발생하는 입력신호에 따라 어플리케이션의 이벤트 유형이 결정될 수 있다. 입력신호에 따라 메뉴, 옵션, 안내 창과 같이 어플리케이션을 실행하였을 때 프레임의 변화가 적은 정적인 이벤트 또는 동영상 재생 및 게임 플레이와 같이 프레임이 자주 변하는 동적인 이벤트가 발생할 수 있다. 따라서, 사용자가 단말 장치를 통해 발생시키는 입력신호로 이벤트 유형을 감지하고, 이벤트 유형이 정적인 이벤트라면, 해당 이벤트에 상응하는 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출할 수 있다.In this case, a section in which the frame change is small may be detected by detecting the event type of the application generated from the user's terminal device. For example, an event type of an application may be determined according to an input signal generated from a user's terminal device. Depending on the input signal, when an application is executed, such as a menu, an option, or a guide window, a static event with a small frame change or a dynamic event with a frequent frame change such as video playback and game play may occur. Accordingly, if the user detects the event type with an input signal generated through the terminal device and the event type is a static event, a section in which the frame change is small among the entire frame section corresponding to the event can be detected.

인코딩부(220)는 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 인코딩 처리 유닛을 선택하고, 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다.The encoding unit 220 selects an encoding processing unit in consideration of at least one of image characteristics and image resolution corresponding to the change region, and encodes the change region corresponding to one frame as a still image using the encoding processing unit.

이 때, 인코딩 처리 유닛은 중앙 처리 유닛(Central Processing Unit; CPU) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 중 어느 하나의 인코딩 처리 유닛일 수 있다.In this case, the encoding processing unit may be any one of a central processing unit (CPU) and a graphics processing unit (GPU).

중앙 처리 유닛(Central Processing Unit; CPU)은 컴퓨터의 가장 중요한 부분으로서 명령을 해독하고 산술논리연산이나 데이터 처리를 실행하는 장치일 수 있다. 따라서 컴퓨터의 계산속도나 한번에 다루는 데이터량, 관리할 수 있는 주기억장치 영역의 크기 등은 중앙 처리 유닛의 성능에 의존하는 바가 클 수 있다. 이와 같은 중앙 처리 유닛(Central Processing Unit; CPU)을 이용하여 변화 영역을 인코딩하는 경우 인코딩할 데이터를 다른 유닛으로 전달하지 않고 바로 인코딩을 수행할 수 있기 때문에 데이터 전달에 따른 비용은 발생하지 않을 수 있다. 그러나, 변화 영역에 상응하는 이미지의 해상도가 높은 경우에는 인코딩을 수행하는데 시간이 오래 걸릴 수 있다. 특히, 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법에서 컬러 양자화 과정을 수행하는 것과 같이 단순한 계산을 많이 반복하는 경우에는 인코딩 시간이 오래 걸릴 수 있다.A central processing unit (CPU) is the most important part of a computer, and may be a device that decodes instructions and executes arithmetic logic operations or data processing. Therefore, the calculation speed of the computer, the amount of data handled at one time, and the size of the main memory area that can be managed may greatly depend on the performance of the central processing unit. When the change region is encoded using such a central processing unit (CPU), the data to be encoded can be directly encoded without transferring the data to be encoded to another unit, so there may be no data transfer cost. . However, when the resolution of the image corresponding to the change region is high, it may take a long time to perform encoding. In particular, when a simple calculation is repeated a lot, such as performing a color quantization process in a paletted portable network graphics (PNG) still image compression technique, it may take a long time to encode.

그래픽 처리 유닛(Graphics Processing Unit; GPU)은 3D 그래픽이 본격적으로 도입된 후, 디스플레이 화면을 보다 현실적으로 만들기 위한 각종 광원 효과 및 질감 표현 기법을 처리하기 위해 개발된 3D 그래픽 연산 전용의 프로세서이다. 이와 같은 그래픽 처리 유닛(Graphics Processing Unit; GPU)을 이용하여 변화 영역을 인코딩하는 경우에는 오히려 단순 계산의 반복이나 해상도가 큰 이미지를 인코딩하는데 효과적일 수 있다. 그러나, 그래픽 처리 유닛을 이용하여 변화 영역의 인코딩을 수행하기 위해서는 먼저 중앙 처리 유닛으로부터 인코딩할 데이터를 전달받고, 인코딩이 완료된 후에도 인코딩된 데이터를 다시 중앙 처리 유닛으로 전달해야하기 때문에 추가적인 전달 비용이 발생할 수 있다.A graphics processing unit (GPU) is a processor dedicated to 3D graphics operation developed to process various light effects and texture expression techniques to make a display screen more realistic after 3D graphics were introduced in earnest. In the case of encoding the change region using such a graphics processing unit (GPU), it may be effective to repeat a simple calculation or encode an image having a high resolution. However, in order to perform encoding of the change region using the graphic processing unit, data to be encoded must first be received from the central processing unit, and the encoded data must be transmitted back to the central processing unit even after encoding is completed, resulting in additional transmission costs. can

이 때, 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 중앙 처리 유닛과 그래픽 처리 유닛 각각에 대한 인코딩 처리 비용을 예측하고, 중앙 처리 유닛 및 그래픽 처리 유닛 중 인코딩 처리 비용이 낮은 인코딩 처리 유닛을 선택하여 변화 영역을 스틸 이미지 인코딩할 수 있다. 예를 들어, 변화 영역 A에 대해서 인코딩을 수행하기 위해, 변화 영역 A에 상응하는 이미지 특성과 이미지 해상도를 판단할 수 있다. 이 후, 판단된 변화 영역 A의 이미지 특성 및 이미지 해상도를 기반으로 각각 중앙 처리 유닛과 그래픽 처리 유닛으로 인코딩을 수행하였을 때 발생할 수 있는 인코딩 처리 비용을 예측할 수 있다. 두 개의 인코딩 처리 유닛 중에서 인코딩 처리 비용이 더 낮게 예측된 인코딩 처리 유닛을 선택하여 변화 영역 A의 인코딩을 수행할 수 있다.At this time, the encoding processing cost for each of the central processing unit and the graphic processing unit is predicted in consideration of one or more of the image characteristics and the image resolution, and an encoding processing unit having a lower encoding processing cost among the central processing unit and the graphic processing unit is selected. The change region can be still image-encoded. For example, in order to perform encoding on the change region A, image characteristics and image resolution corresponding to the change region A may be determined. Thereafter, based on the determined image characteristics and image resolution of the change region A, it is possible to estimate the encoding processing cost that may occur when encoding is performed by the central processing unit and the graphic processing unit, respectively. The encoding of the change region A may be performed by selecting an encoding processing unit whose encoding processing cost is predicted to be lower among the two encoding processing units.

또한, 인코딩이 수행된 후 발생한 인코딩 처리 비용에 대해서 인코딩 처리 비용 통계를 생성할 수 있다. 예를 들어, 클라우드 스트리밍 서비스가 수행되는 동안 일정한 단위기간을 설정하고, 설정된 단위기간마다 인코딩 처리 비용에 대한 저장된 정보를 이용하여 인코딩 처리 비용 통계를 업데이트할 수 있다. 이와 같은 인코딩 처리 비용 통계는 이미지 특성, 이미지 해상도 및 인코딩 처리 유닛 각각에 대한 세부적인 통계 정보로 생성될 수 있으며, 생성된 통계 정보를 기반으로 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법의 신뢰도를 상승시킬 수 있다.In addition, encoding processing cost statistics may be generated for the encoding processing cost incurred after encoding is performed. For example, a certain unit period may be set while the cloud streaming service is being performed, and the encoding processing cost statistics may be updated using stored information about the encoding processing cost for each set unit period. Such encoding processing cost statistics can be generated as detailed statistical information for each image characteristic, image resolution, and encoding processing unit, and based on the generated statistical information, the reliability of the cloud streaming service method using the optional encoding processing unit is increased. can do it

이 때, 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 이상인 경우 그래픽 처리 유닛을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다. In this case, when the image resolution corresponding to the change region is equal to or greater than a preset reference value, the change region may be encoded as a still image using the graphic processing unit.

해상도는 이미지를 표현하는데 몇 개의 픽셀 또는 도트를 이용하여 나타냈는지 그 정도를 나타낼 수 있다. 단위로는 1인치당 몇 개의 픽셀(pixel)로 이루어졌는지를 나타내는 ppi(pixel per inch), 1인치당 몇 개의 점(dot)로 이루어졌는지를 나타내는 dpi(dot per inch)를 주로 사용한다. 픽셀 또는 도트의 수가 많을수록 고해상도의 정밀한 이미지를 표현할 수 있다. 해상도가 높을수록 이미지가 깨끗하고 선명하게 보이지만, 그만큼 1인치당 점의 수가 많아져서 해당 이미지를 처리하기 위해 많은 양의 메모리가 필요하고 결과적으로 컴퓨터 처리 속도가 느려지는 단점이 존재할 수 있다. 예를 들어, 해상도가 높은 이미지를 중앙 처리 유닛으로 인코딩하는 경우에 인코딩 처리 시간이 길어져 인코딩 처리 비용이 많이 발생할 수 있다.The resolution may indicate the degree of how many pixels or dots are used to express the image. As a unit, ppi (pixel per inch), which indicates how many pixels per inch, and dpi (dot per inch), which indicates how many dots per inch, are mainly used. As the number of pixels or dots increases, a high-resolution and precise image can be expressed. The higher the resolution, the clearer and clearer the image looks, but the number of dots per inch increases, so a large amount of memory is required to process the image, and as a result, the computer processing speed may be slowed down. For example, when an image having a high resolution is encoded by the central processing unit, the encoding processing time becomes long, and the encoding processing cost may be high.

따라서, 변화 영역에 상응하는 이미지 해상도가 사전에 설정된 기준값과 같거나 기준값보다 높은 경우에는 그래픽 처리 유닛을 이용하여 인코딩을 수행함으로써 중앙 처리 유닛을 이용하여 인코딩할 때보다 인코딩 처리 비용을 절약할 수 있다. Accordingly, when the image resolution corresponding to the change region is equal to or higher than the preset reference value, encoding is performed using the graphic processing unit, thereby saving encoding processing cost compared to encoding using the central processing unit. .

이 때, 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 미만인 경우 변화 영역에 상응하는 이미지 특성에 따른 스틸 이미지 압축 기법을 고려하여 인코딩 처리 유닛을 선택할 수 있다. 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값보다 낮다면 인코딩할 데이터를 그래픽 처리 유닛으로 전달할 필요 없이 중앙 처리 유닛에서 인코딩을 수행할 수 있다. 그러나 이미지 해상도가 낮아도 변화 영역에 상응하는 이미지 특성에 따라 선택되는 스틸 이미지 압축 기법에 의해 단순 계산이 반복되어야 하는 경우가 발생할 수 있기 때문에, 변화 영역의 이미지 타입을 한번 더 고려하여 인코딩 처리 유닛을 선택할 수 있다.In this case, when the image resolution corresponding to the change region is less than a preset reference value, the encoding processing unit may be selected in consideration of a still image compression technique according to image characteristics corresponding to the change region. If the image resolution corresponding to the change region is lower than the preset reference value, the central processing unit may perform encoding without transmitting the data to be encoded to the graphic processing unit. However, even if the image resolution is low, since simple calculations may have to be repeated by the still image compression technique selected according to the image characteristics corresponding to the change region, the encoding processing unit is selected by considering the image type of the change region once more. can

또한, 스틸 이미지 압축 기법은 변화 영역에 상응하는 이미지의 사이즈나 이미지의 타입과 같은 이미지 특성에 따라 결정될 수 있다.Also, the still image compression technique may be determined according to image characteristics such as a size of an image corresponding to a change region or an image type.

이 때, 스틸 이미지 압축 기법은 PNG(portable network graphics), 팔렛티드 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나에 상응할 수 있다. PNG 스틸 이미지 압축 기법은 인코딩의 경우 화질은 좋으나 데이터 크기가 커져서 전송망의 대역폭이 낮은 경우 반응 속도의 저하를 불러올 수 있다. 팔렛티드 PNG 스틸 이미지 압축 기법은 데이터의 크기를 줄어드나 화질의 열화를 가져올 수 있으며, 특히 데이터 크기 감소를 위한 컬러 양자화 과정 때문에 단순한 계산이 반복되는 과정이 포함될 수 있다. JPEG 스틸 이미지 압축 기법은 전송되는 이미지 타입에 따라서 데이터의 압축 효율이 좋을 수 있지만, 압축 효율이 좋은 만큼 인코딩 및 디코딩 시 부하가 클 수 있다.In this case, the still image compression technique may correspond to any one of portable network graphics (PNG), paletted portable network graphics (PNG), and joint photography experts group (JPEG). In the case of encoding, the PNG still image compression technique has good image quality, but the data size increases, which can lead to a decrease in response speed when the bandwidth of the transmission network is low. The paletted PNG still image compression technique reduces the size of data, but may result in deterioration of image quality. In particular, a process of repeating simple calculations may be included because of the color quantization process for data size reduction. The JPEG still image compression technique may have good data compression efficiency depending on the type of image to be transmitted, but may increase the load during encoding and decoding as the compression efficiency is good.

이 때, 이미지 해상도가 기설정된 기준값 미만이고 스틸 이미지 압축 기법이 팔렛티드 PNG 인 경우 그래픽 처리 유닛을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다. 예를 들어, 변화 영역의 이미지 특성 상 팔렛티드 PNG 스틸 이미지 압축 기법을 이용하여 인코딩을 수행할 때에는 컬러 양자화 같은 단순 계산을 반복하기 때문에 인코딩 처리 시간이 길어질 수 있다. 따라서 이와 같은 경우에는 그래픽 처리 유닛을 이용하여 인코딩을 수행함으로써 중앙 처리 유닛을 이용하여 인코딩할 때보다 적은 인코딩 처리 비용으로 클라우드 스트리밍 서비스를 수행할 수 있다.In this case, when the image resolution is less than a preset reference value and the still image compression technique is Paletted PNG, the change region may be encoded as a still image using the graphic processing unit. For example, when encoding is performed using the paletted PNG still image compression technique due to the image characteristics of the change region, the encoding processing time may increase because simple calculations such as color quantization are repeated. Therefore, in such a case, the cloud streaming service can be performed at a lower encoding processing cost than when encoding using the central processing unit by performing encoding using the graphic processing unit.

센딩부(230)는 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다. 인코딩을 완료함으로써 압축된 변화 영역을 사용자의 단말 장치로 전송함으로써, 사용자의 단말 장치에서 어플리케이션을 실행되는 느낌을 받을 수 있도록 클라우드 스트리밍 서비스를 수행할 수 있다.The sending unit 230 transmits the still image-encoded change region to the user to perform a still image-based cloud streaming service. By transmitting the compressed change region to the user's terminal device by completing the encoding, the cloud streaming service can be performed so that the user's terminal device can feel that the application is being executed.

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

실시예에 따라, 저장부(240)는 클라우드 스트리밍 서버(110)와 독립적으로 구성되어 클라우드 스트리밍 서비스를 위한 기능을 지원할 수 있다. 이 때, 저장부(240)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다.According to an embodiment, the storage unit 240 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 240 may operate as a separate mass storage and may include a control function for performing an operation.

또한, 상술한 바와 같이 구성되는 클라우드 스트리밍 서버(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 is equipped with a memory can store information in the device. For 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 embodiment, 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.

도 3은 스틸 이미지 기반 클라우드 스트리밍 시스템을 나타낸 도면이다.3 is a diagram illustrating a still image-based cloud streaming system.

도 3을 참조하면, 서버(310)에서는 사용자의 단말 장치로부터 발생되는 사용자 입력(User Input)에 상응하는 프로그램 화면(310)을 실행시켜 캡처(Screen Capture)를 수행할 수 있다. 이 때, 서버(300)는 클라우드 스트리밍 서버와 웹 어플리케이션 서버를 통칭하는 서버일 수 있다. 또한, 프로그램 화면(310)을 실행시켜 캡처(Screen Capture)를 수행하는 과정은 도 2에 도시된 캡처부(210)의 동작 흐름과 상응할 수 있다. Referring to FIG. 3 , the server 310 may perform a screen capture by executing a program screen 310 corresponding to a user input generated from a user's terminal device. At this time, the server 300 may be a server collectively referred to as a cloud streaming server and a web application server. In addition, the process of executing the screen capture by executing the program screen 310 may correspond to the operation flow of the capture unit 210 illustrated in FIG. 2 .

서버(300)는 캡처(Screen Capture)된 프로그램 화면(310)을 스틸 이미지 압축 기법을 통해 인코딩(Image Encoding)(320)할 수 있다. 이 때, 인코딩 (Image Encoding)(320)을 수행하는 과정은 도 2에 도시된 인코딩부(220)의 동작 흐름과 상응할 수 있다.The server 300 may encode (Image Encoding) 320 the captured program screen 310 through a still image compression technique. At this time, the process of performing the encoding (Image Encoding) 320 may correspond to the operation flow of the encoding unit 220 shown in FIG. 2 .

이 때, 변화된 프레임을 이전 프레임과 비교하여 변화된 영역만을 캡처할 수 있다. 또한, 변화된 영역의 이미지 특성 및 변화된 영역에 상응하는 이미지 해상도를 고려하여 중앙 처리 유닛 및 그래픽 처리 유닛 중 어느 하나의 인코딩 처리 유닛을 선택하고, 선택한 인코딩 처리 유닛을 이용하여 변화된 영역을 스틸 이미지 인코딩할 수 있다.In this case, only the changed area may be captured by comparing the changed frame with the previous frame. In addition, in consideration of the image characteristics of the changed region and the image resolution corresponding to the changed region, either one of the central processing unit and the graphic processing unit is selected, and the changed region is encoded as a still image using the selected encoding processing unit. can

이 후, 서버(300)는 스틸 이미지 인코딩된 변화된 영역을 사용자의 단말 장치로 스트리밍(Streaming)(330)하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 제공할 수 있다. 이 때, 스트리밍(Streaming)(330)을 수행하는 과정은 도 2에 도시된 센딩부(230)의 동작 흐름과 상응할 수 있다.Thereafter, the server 300 may provide a still image-based cloud streaming service by streaming the still image-encoded changed region to the user's terminal device (Streaming 330). In this case, the process of performing the streaming 330 may correspond to the operation flow of the sending unit 230 shown in FIG. 2 .

이 후, 사용자의 단말 장치에서는 수신한 데이터를 렌더링(Image Rendering)(340)함으로써 사용자 입력(User Input)에 의해 어플리케이션에서 실행된 프로그램 화면(310)이 마치 사용자의 단말 장치에서 실행된 것처럼 사용자에게 디스플레이 할 수 있다.Thereafter, the user's terminal device renders the received data (Image Rendering) 340 , so that the program screen 310 executed in the application by the user input is displayed to the user as if executed in the user's terminal device. can be displayed.

도 4는 본 발명의 일실시예에 따른 인코딩 처리 유닛을 나타낸 도면이다.4 is a diagram illustrating an encoding processing unit according to an embodiment of the present invention.

도 4를 참조하면, 본 발명의 일실시예에 따른 인코딩 처리 유닛은 중앙 처리 유닛(Central Processing Unit; CPU)(410)과 그래픽 처리 유닛(Graphics Processing Unit; GPU)(420)으로 구분할 수 있다.Referring to FIG. 4 , the encoding processing unit according to an embodiment of the present invention may be divided into a central processing unit (CPU) 410 and a graphics processing unit (GPU) 420 .

중앙 처리 유닛(410)은 컴퓨터의 가장 중요한 부분으로서 명령을 해독하고 산술논리연산이나 데이터 처리를 실행하는 장치일 수 있다. 따라서 컴퓨터의 계산속도나 한번에 다루는 데이터 량, 관리할 수 있는 주기억장치 영역의 크기 등은 중앙 처리 유닛의 성능에 의존하는 바가 클 수 있다. 이와 같은 중앙 처리 유닛(Central Processing Unit; CPU)을 이용하여 변화 영역을 인코딩하는 경우 인코딩할 데이터를 다른 유닛으로 전달하지 않고 바로 인코딩을 수행할 수 있기 때문에 데이터 전달에 따른 비용은 발생하지 않을 수 있다. 그러나, 변화 영역에 상응하는 이미지의 해상도가 높은 경우에는 인코딩을 수행하는데 시간이 오래 걸릴 수 있다. 특히, 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법에서 컬러 양자화 과정을 수행하는 것과 같이 단순한 계산을 많이 반복하는 경우에는 인코딩 시간이 오래 걸릴 수 있다.The central processing unit 410 is the most important part of a computer, and may be a device that decodes instructions and executes arithmetic and logic operations or data processing. Therefore, the calculation speed of the computer, the amount of data handled at one time, and the size of the main memory area that can be managed may depend greatly on the performance of the central processing unit. When the change region is encoded using such a central processing unit (CPU), the data to be encoded can be directly encoded without transferring the data to be encoded to another unit, so there may be no data transfer cost. . However, when the resolution of the image corresponding to the change region is high, it may take a long time to perform encoding. In particular, when a simple calculation is repeated a lot, such as performing a color quantization process in a paletted portable network graphics (PNG) still image compression technique, it may take a long time to encode.

그래픽 처리 유닛(420)은 3D 그래픽이 본격적으로 도입된 후, 디스플레이 화면을 보다 현실적으로 만들기 위한 각종 광원 효과 및 질감 표현 기법을 처리하기 위해 개발된 3D 그래픽 연산 전용의 프로세서이다. 이와 같은 그래픽 처리 유닛(Graphics Processing Unit; GPU)을 이용하여 변화 영역을 인코딩하는 경우에는 오히려 단순 계산의 반복이나 해상도가 큰 이미지를 인코딩하는데 효과적일 수 있다. 그러나, 그래픽 처리 유닛을 이용하여 변화 영역의 인코딩을 수행하기 위해서는 먼저 중앙 처리 유닛으로부터 인코딩할 데이터를 전달받고, 인코딩이 완료된 후에도 인코딩된 데이터를 다시 중앙 처리 유닛으로 전달해야 하기 때문에 추가적인 전달 비용이 발생할 수 있다.The graphic processing unit 420 is a processor dedicated to 3D graphic operation developed to process various light source effects and texture expression techniques to make a display screen more realistic after 3D graphics are introduced in earnest. In the case of encoding the change region using such a graphics processing unit (GPU), it may be effective to repeat a simple calculation or encode an image having a high resolution. However, in order to perform encoding of the change region using the graphic processing unit, data to be encoded must first be received from the central processing unit, and the encoded data must be transmitted back to the central processing unit even after encoding is completed, resulting in additional transmission costs. can

이와 같은 중앙 처리 유닛(410)과 그래픽 처리 유닛(420)은 도 4에서와 같이 서버(400)내에서 독립적으로 존재할 수 있다. 또는 도 4와는 다르게 중앙 처리 유닛(410)과 그래픽 처리 유닛(420)이 하나의 장치 안에 혼합되어 존재하거나, 중앙 처리 유닛(410)안에 그래픽 처리 유닛(420)이 포함되는 등 다양한 형태로 구성될 수 있다.The central processing unit 410 and the graphic processing unit 420 may exist independently in the server 400 as shown in FIG. 4 . Alternatively, unlike FIG. 4, the central processing unit 410 and the graphic processing unit 420 are mixed in one device, or the graphic processing unit 420 is included in the central processing unit 410. can

또한, 중앙 처리 유닛(410)과 그래픽 처리 유닛(420)은 상호간에 데이터를 송수신할 수 있도록 연결되어 있을 수 있다.Also, the central processing unit 410 and the graphic processing unit 420 may be connected to each other to transmit and receive data.

도 5는 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스에서 변화 영역을 캡처하는 과정을 나타낸 도면이다.5 is a diagram illustrating a process of capturing a change region in a cloud streaming service according to an embodiment of the present invention.

도 5를 참조하면, 본 발명의 일실시예에 따른 스틸 이미지 기반 클라우드 스트리밍 서비스는 첫번째 프레임(510)과 두번째 프레임(520)을 비교하여 변화된 변화 영역(530)만을 캡처하여 인코딩할 수 있다.Referring to FIG. 5 , the still image-based cloud streaming service according to an embodiment of the present invention may capture and encode only the changed change region 530 by comparing the first frame 510 with the second frame 520 .

예를 들어, 첫번째 프레임(510)과 두번째 프레임(520)에서 B, C, D 및 E의 영역을 메뉴 디스플레이라고 가정하였을 때, 첫번째 프레임(510)에서는 C 영역에 커서가 위치함으로써 C 영역이 다른 B, D, 및 E 영역과 구별될 수 있도록 음영처리 되었고, 두번째 프레임(520)에서는 C 영역에서 D 영역으로 커서가 이동함으로써 D 영역이 다른 B, C 및 E 영역과 구별될 수 있도록 음영처리 될 수 있다.For example, assuming that the regions B, C, D, and E in the first frame 510 and the second frame 520 are menu displays, in the first frame 510 , the C region is different because the cursor is positioned in the C region. Areas B, D, and E are shaded to be distinguished from each other, and in the second frame 520, the cursor is moved from area C to area D so that area D is shaded so that it can be distinguished from other areas B, C, and E. can

이 때, 첫번째 프레임(510)과 두번째 프레임(520)을 비교하였을 때 변화된 영역인 C와 D 영역만을 변화 영역(530)으로 캡처할 수 있다. 또한, 변화 영역(530)의 해상도와 변화 영역(530)에 상응하는 이미지 타입을 고려하여 인코딩 처리 유닛을 선택하고, 선택한 인코딩 처리 유닛을 이용하여 변화 영역(530)을 인코딩할 수 있다.In this case, only regions C and D that are changed when the first frame 510 and the second frame 520 are compared may be captured as the change region 530 . Also, an encoding processing unit may be selected in consideration of the resolution of the change region 530 and an image type corresponding to the change region 530 , and the change region 530 may be encoded using the selected encoding processing unit.

이와 같이 첫번째 프레임(510)과 두번째 프레임(520)은 분명 변화가 있는 프레임으로 기존의 클라우드 스트리밍 서비스 시에는 두 프레임을 포함하여 프레임 레이트에 상응하는 수의 프레임들을 모두 캡처하여 인코딩을 수행해야 할 수 있다. 하지만 스틸 이미지 기반 클라우드 스트리밍 서비스는 변화 영역(530)만을 캡처하여 스틸 이미지 압축 기법으로 인코딩하기 때문에, 불필요하게 많은 프레임과 프레임의 화면 전체를 캡처하는 기존의 클라우드 스트리밍 서비스 방법보다 서비스의 효율성을 향상시킬 수 있다.As described above, the first frame 510 and the second frame 520 are clearly variable frames, and in the case of an existing cloud streaming service, it may be necessary to perform encoding by capturing all the frames corresponding to the frame rate including the two frames. have. However, since the still image-based cloud streaming service captures only the change area 530 and encodes it with a still image compression technique, it is possible to improve service efficiency compared to the existing cloud streaming service method that captures the entire screen of unnecessarily many frames and frames. can

도 6은 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.6 is an operation flowchart illustrating a cloud streaming service method using a selective encoding processing unit according to an embodiment of the present invention.

도 6을 참조하면, 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법은 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처한다(S610). 비디오 코덱 기반의 클라우드 스트리밍 기법은 어플리케이션이 동작하는 화면에 상응하는 모든 프레임을 캡처하여 인코딩을 수행할 수 있다. 그러나 어플리케이션이 동작하는 화면 상에서 프레임간 변화가 크지 않은 경우에는 이전 프레임과 비교하여 변화된 프레임의 변화 영역만을 캡처하여 스틸 이미지 인코딩을 수행하고, 사용자의 단말 장치에 디스플레이 할 때 변화 영역을 제외한 부분은 동일하게 보여주고 변화 영역만 변화를 주는 방식으로 디스플레이 할 수 있다.Referring to FIG. 6 , the cloud streaming service method using a selective encoding processing unit according to an embodiment of the present invention captures a change region included in a changed frame compared to a previous frame ( S610 ). The video codec-based cloud streaming technique can perform encoding by capturing all frames corresponding to the screen on which the application operates. However, if the frame-to-frame change is not large on the screen on which the application is running, still image encoding is performed by capturing only the change area of the frame that has changed compared to the previous frame, and the portion except the change area is the same when displayed on the user's terminal device. It can be displayed in such a way that only the change area changes.

이 때, 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 변화 영역으로 캡처할 수 있다. 예를 들어 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역이 A 영역이라면, 변화된 프레임에 상응하는 화면 영역 중 A 영역만을 변화 영역으로 캡처할 수 있다. 이러한 변화 영역은 사용자의 단말 장치에서 입력되는 입력 신호에 따라 해상도나 변화 영역에 상응하는 이미지의 타입이 다양할 수 있다.In this case, among the screen areas corresponding to the changed frame, the changed area may be captured as the change area compared with the screen area corresponding to the previous frame. For example, if the changed area compared with the screen area corresponding to the previous frame among the screen areas corresponding to the changed frame is area A, only area A among the screen areas corresponding to the changed frame may be captured as the change area. The change region may have various resolutions or types of images corresponding to the change region according to an input signal input from the user's terminal device.

이 때, 사용자의 단말 장치로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다. In this case, it is possible to detect a section in which the frame change is small among the entire frame to be transmitted to the user's terminal device, and capture the change region in the section in which the frame change is small.

이 때, 사용자의 단말 장치로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다. 예를 들어, 사용자의 단말 장치로부터 발생하는 입력신호에 따라 어플리케이션의 이벤트 유형이 결정될 수 있다. 입력신호에 따라 메뉴, 옵션, 안내 창과 같이 어플리케이션을 실행하였을 때 프레임의 변화가 적은 정적인 이벤트 또는 동영상 재생 및 게임 플레이와 같이 프레임이 자주 변하는 동적인 이벤트가 발생할 수 있다. 따라서, 사용자가 단말 장치를 통해 발생시키는 입력신호로 이벤트 유형을 감지하고, 이벤트 유형이 정적인 이벤트라면, 해당 이벤트에 상응하는 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출할 수 있다.In this case, a section in which the frame change is small may be detected by detecting the event type of the application generated from the user's terminal device. For example, an event type of an application may be determined according to an input signal generated from a user's terminal device. Depending on the input signal, when an application is executed, such as a menu, an option, or a guide window, a static event with a small frame change or a dynamic event with a frequent frame change such as video playback and game play may occur. Accordingly, if the user detects the event type with an input signal generated through the terminal device and the event type is a static event, a section in which the frame change is small among the entire frame section corresponding to the event can be detected.

또한, 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법은 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 인코딩 처리 유닛을 선택하고, 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다(S620).In addition, the cloud streaming service method using a selective encoding processing unit according to an embodiment of the present invention selects an encoding processing unit in consideration of one or more of image characteristics and image resolution corresponding to a change area, and using the encoding processing unit A still image is encoded on a change region corresponding to one frame (S620).

이 때, 인코딩 처리 유닛은 중앙 처리 유닛(Central Processing Unit; CPU) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 중 어느 하나의 인코딩 처리 유닛일 수 있다.In this case, the encoding processing unit may be any one of a central processing unit (CPU) and a graphics processing unit (GPU).

중앙 처리 유닛(Central Processing Unit; CPU)은 컴퓨터의 가장 중요한 부분으로서 명령을 해독하고 산술논리연산이나 데이터 처리를 실행하는 장치일 수 있다. 따라서 컴퓨터의 계산속도나 한번에 다루는 데이터 량, 관리할 수 있는 주기억장치 영역의 크기 등은 중앙 처리 유닛의 성능에 의존하는 바가 클 수 있다. 이와 같은 중앙 처리 유닛(Central Processing Unit; CPU)을 이용하여 변화 영역을 인코딩하는 경우 인코딩할 데이터를 다른 유닛으로 전달하지 않고 바로 인코딩을 수행할 수 있기 때문에 데이터 전달에 따른 비용은 발생하지 않을 수 있다. 그러나, 변화 영역에 상응하는 이미지의 해상도가 높은 경우에는 인코딩을 수행하는데 시간이 오래 걸릴 수 있다. 특히, 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법에서 컬러 양자화 과정을 수행하는 것과 같이 단순한 계산을 많이 반복하는 경우에는 인코딩 시간이 오래 걸릴 수 있다.A central processing unit (CPU) is the most important part of a computer, and may be a device that decodes instructions and executes arithmetic logic operations or data processing. Therefore, the calculation speed of the computer, the amount of data handled at one time, and the size of the main memory area that can be managed may depend greatly on the performance of the central processing unit. When the change region is encoded using such a central processing unit (CPU), the data to be encoded can be directly encoded without transferring the data to be encoded to another unit, so there may be no data transfer cost. . However, when the resolution of the image corresponding to the change region is high, it may take a long time to perform encoding. In particular, when a simple calculation is repeated a lot, such as performing a color quantization process in a paletted portable network graphics (PNG) still image compression technique, it may take a long time to encode.

그래픽 처리 유닛(Graphics Processing Unit; GPU)은 3D 그래픽이 본격적으로 도입된 후, 디스플레이 화면을 보다 현실적으로 만들기 위한 각종 광원 효과 및 질감 표현 기법을 처리하기 위해 개발된 3D 그래픽 연산 전용의 프로세서이다. 이와 같은 그래픽 처리 유닛(Graphics Processing Unit; GPU)을 이용하여 변화 영역을 인코딩하는 경우에는 오히려 단순 계산의 반복이나 해상도가 큰 이미지를 인코딩하는데 효과적일 수 있다. 그러나, 그래픽 처리 유닛을 이용하여 변화 영역의 인코딩을 수행하기 위해서는 먼저 중앙 처리 유닛으로부터 인코딩할 데이터를 전달받고, 인코딩이 완료된 후에도 인코딩된 데이터를 다시 중앙 처리 유닛으로 전달해야 하기 때문에 추가적인 전달 비용이 발생할 수 있다.A graphics processing unit (GPU) is a processor dedicated to 3D graphics operation developed to process various light effects and texture expression techniques to make a display screen more realistic after 3D graphics were introduced in earnest. In the case of encoding the change region using such a graphics processing unit (GPU), it may be effective to repeat a simple calculation or encode an image having a high resolution. However, in order to perform encoding of the change region using the graphic processing unit, data to be encoded must first be received from the central processing unit, and the encoded data must be transmitted back to the central processing unit even after encoding is completed, resulting in additional transmission costs. can

이 때, 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 중앙 처리 유닛과 그래픽 처리 유닛 각각에 대한 인코딩 처리 비용을 예측하고, 중앙 처리 유닛 및 그래픽 처리 유닛 중 인코딩 처리 비용이 낮은 인코딩 처리 유닛을 선택하여 변화 영역을 스틸 이미지 인코딩할 수 있다. 예를 들어, 변화 영역 A에 대해서 인코딩을 수행하기 위해, 변화 영역 A에 상응하는 이미지 특성과 이미지 해상도를 판단할 수 있다. 이 후, 판단된 변화 영역 A의 이미지 특성 및 이미지 해상도를 기반으로 각각 중앙 처리 유닛과 그래픽 처리 유닛으로 인코딩을 수행하였을 때 발생할 수 있는 인코딩 처리 비용을 예측할 수 있다. 두 개의 인코딩 처리 유닛 중에서 인코딩 처리 비용이 더 낮게 예측된 인코딩 처리 유닛을 선택하여 변화 영역 A의 인코딩을 수행할 수 있다.At this time, the encoding processing cost for each of the central processing unit and the graphic processing unit is predicted in consideration of one or more of the image characteristics and the image resolution, and an encoding processing unit having a lower encoding processing cost among the central processing unit and the graphic processing unit is selected. The change region can be still image-encoded. For example, in order to perform encoding on the change region A, image characteristics and image resolution corresponding to the change region A may be determined. Thereafter, based on the determined image characteristics and image resolution of the change region A, it is possible to estimate the encoding processing cost that may occur when encoding is performed by the central processing unit and the graphic processing unit, respectively. The encoding of the change region A may be performed by selecting an encoding processing unit whose encoding processing cost is predicted to be lower among the two encoding processing units.

또한, 인코딩이 수행된 후 발생한 인코딩 처리 비용에 대해서 인코딩 처리 비용 통계를 생성할 수 있다. 예를 들어, 클라우드 스트리밍 서비스가 수행되는 동안 일정한 단위기간을 설정하고, 설정된 단위기간마다 인코딩 처리 비용에 대한 저장된 정보를 이용하여 인코딩 처리 비용 통계를 업데이트할 수 있다. 이와 같은 인코딩 처리 비용 통계는 이미지 특성, 이미지 해상도 및 인코딩 처리 유닛 각각에 대한 세부적인 통계 정보로 생성될 수 있으며, 생성된 통계 정보를 기반으로 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법의 신뢰도를 상승시킬 수 있다.In addition, encoding processing cost statistics may be generated for the encoding processing cost incurred after encoding is performed. For example, a certain unit period may be set while the cloud streaming service is being performed, and the encoding processing cost statistics may be updated using stored information about the encoding processing cost for each set unit period. Such encoding processing cost statistics can be generated as detailed statistical information for each image characteristic, image resolution, and encoding processing unit, and based on the generated statistical information, the reliability of the cloud streaming service method using the optional encoding processing unit is increased. can do it

이 때, 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 이상인 경우 그래픽 처리 유닛을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다. In this case, when the image resolution corresponding to the change region is equal to or greater than a preset reference value, the change region may be encoded as a still image using the graphic processing unit.

해상도는 이미지를 표현하는데 몇 개의 픽셀 또는 도트를 이용하여 나타냈는지 그 정도를 나타낼 수 있다. 단위로는 1인치당 몇 개의 픽셀(pixel)로 이루어졌는지를 나타내는 ppi(pixel per inch), 1인치당 몇 개의 점(dot)로 이루어졌는지를 나타내는 dpi(dot per inch)를 주로 사용한다. 픽셀 또는 도트의 수가 많을수록 고해상도의 정밀한 이미지를 표현할 수 있다. 해상도가 높을수록 이미지가 깨끗하고 선명하게 보이지만, 그만큼 1인치당 점의 수가 많아져서 해당 이미지를 처리하기 위해 많은 양의 메모리가 필요하고 결과적으로 컴퓨터 처리 속도가 느려지는 단점이 존재할 수 있다. 예를 들어, 해상도가 높은 이미지를 중앙 처리 유닛으로 인코딩하는 경우에 인코딩 처리 시간이 길어져 인코딩 처리 비용이 많이 발생할 수 있다.The resolution may indicate the degree of how many pixels or dots are used to express the image. As a unit, ppi (pixel per inch), which indicates how many pixels per inch, and dpi (dot per inch), which refers to how many dots per inch, are mainly used. As the number of pixels or dots increases, a high-resolution and precise image can be expressed. The higher the resolution, the clearer and clearer the image appears, but the number of dots per inch increases, so a large amount of memory is required to process the image, and as a result, the computer processing speed may be slow. For example, when an image having a high resolution is encoded by the central processing unit, the encoding processing time may increase, resulting in high encoding processing costs.

따라서, 변화 영역에 상응하는 이미지 해상도가 사전에 설정된 기준값과 같거나 기준값보다 높은 경우에는 그래픽 처리 유닛을 이용하여 인코딩을 수행함으로써 중앙 처리 유닛을 이용하여 인코딩할 때보다 인코딩 처리 비용을 절약할 수 있다. Accordingly, when the image resolution corresponding to the change region is equal to or higher than the preset reference value, encoding is performed using the graphic processing unit, thereby saving encoding processing cost compared to encoding using the central processing unit. .

이 때, 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값 미만인 경우 변화 영역에 상응하는 이미지 특성에 따른 스틸 이미지 압축 기법을 고려하여 인코딩 처리 유닛을 선택할 수 있다. 변화 영역에 상응하는 이미지 해상도가 기설정된 기준값보다 낮다면 인코딩할 데이터를 그래픽 처리 유닛으로 전달할 필요 없이 중앙 처리 유닛에서 인코딩을 수행할 수 있다. 그러나 이미지 해상도가 낮아도 변화 영역에 상응하는 이미지 특성에 따라 선택되는 스틸 이미지 압축 기법에 의해 단순 계산이 반복되어야 하는 경우가 발생할 수 있기 때문에, 변화 영역의 이미지 타입을 한번 더 고려하여 인코딩 처리 유닛을 선택할 수 있다.In this case, when the image resolution corresponding to the change region is less than a preset reference value, the encoding processing unit may be selected in consideration of a still image compression technique according to image characteristics corresponding to the change region. If the image resolution corresponding to the change region is lower than the preset reference value, the central processing unit may perform encoding without transmitting the data to be encoded to the graphic processing unit. However, even if the image resolution is low, since simple calculations may have to be repeated by the still image compression technique selected according to the image characteristics corresponding to the change region, the encoding processing unit is selected by considering the image type of the change region once more. can

또한, 스틸 이미지 압축 기법은 변화 영역에 상응하는 이미지의 사이즈나 이미지의 타입과 같은 이미지 특성에 따라 결정될 수 있다.Also, the still image compression technique may be determined according to image characteristics such as a size of an image corresponding to a change region or an image type.

이 때, 스틸 이미지 압축 기법은 PNG(portable network graphics), 팔렛티드 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나에 상응할 수 있다. PNG 스틸 이미지 압축 기법은 인코딩의 경우 화질은 좋으나 데이터 크기가 커져서 전송망의 대역폭이 낮은 경우 반응 속도의 저하를 불러올 수 있다. 팔렛티드 PNG 스틸 이미지 압축 기법은 데이터의 크기를 줄어드나 화질의 열화를 가져올 수 있으며, 특히 데이터 크기 감소를 위한 컬러 양자화 과정 때문에 단순한 계산이 반복되는 과정이 포함될 수 있다. JPEG 스틸 이미지 압축 기법은 전송되는 이미지 타입에 따라서 데이터의 압축 효율이 좋을 수 있지만, 압축 효율이 좋은 만큼 인코딩 및 디코딩 시 부하가 클 수 있다.In this case, the still image compression technique may correspond to any one of portable network graphics (PNG), paletted portable network graphics (PNG), and joint photography experts group (JPEG). In the case of encoding, the PNG still image compression technique has good image quality, but the data size increases, which can lead to a decrease in response speed when the bandwidth of the transmission network is low. The paletted PNG still image compression technique reduces the size of data, but may result in deterioration of image quality. In particular, a process of repeating simple calculations may be included because of the color quantization process for data size reduction. The JPEG still image compression technique may have good data compression efficiency depending on the type of image to be transmitted, but as the compression efficiency is good, the load during encoding and decoding may be large.

이 때, 이미지 해상도가 기설정된 기준값 미만이고 스틸 이미지 압축 기법이 팔렛티드 PNG 인 경우 그래픽 처리 유닛을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다. 예를 들어, 변화 영역의 이미지 특성 상 팔렛티드 PNG 스틸 이미지 압축 기법을 이용하여 인코딩을 수행할 때에는 컬러 양자화 같은 단순 계산을 반복하기 때문에 인코딩 처리 시간이 길어질 수 있다. 따라서 이와 같은 경우에는 그래픽 처리 유닛을 이용하여 인코딩을 수행함으로써 중앙 처리 유닛을 이용하여 인코딩할 때보다 적은 인코딩 처리 비용으로 클라우드 스트리밍 서비스를 수행할 수 있다.In this case, when the image resolution is less than a preset reference value and the still image compression technique is Paletted PNG, the change region may be encoded as a still image using the graphic processing unit. For example, when encoding is performed using the paletted PNG still image compression technique due to the image characteristics of the change region, the encoding processing time may increase because simple calculations such as color quantization are repeated. Therefore, in such a case, the cloud streaming service can be performed at a lower encoding processing cost than when encoding using the central processing unit by performing encoding using the graphic processing unit.

또한, 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법은 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다(S630). 인코딩을 완료함으로써 압축된 변화 영역을 사용자의 단말 장치로 전송함으로써, 사용자의 단말 장치에서 어플리케이션을 실행되는 느낌을 받을 수 있도록 클라우드 스트리밍 서비스를 수행할 수 있다.In addition, the cloud streaming service method using a selective encoding processing unit according to an embodiment of the present invention transmits a still image-encoded change region to a user to perform a still image-based cloud streaming service ( S630 ). By transmitting the compressed change region to the user's terminal device by completing the encoding, the cloud streaming service can be performed so that the user's terminal device can feel that the application is being executed.

또한, 도 6에는 도시하지 아니하였으나, 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법은 클라우드 스트리밍 서비스 과정에서 발생되는 다양한 정보를 저장할 수 있다.In addition, although not shown in FIG. 6 , the cloud streaming service method using the selective encoding processing unit according to an embodiment of the present invention may store various information generated during the cloud streaming service process.

도 7은 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법을 상세하게 나타낸 동작 흐름도이다.7 is a detailed operation flowchart illustrating a cloud streaming service method using a selective encoding processing unit according to an embodiment of the present invention.

도 7을 참조하면, 본 발명의 일실시예에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법은 먼저 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처한다(S710).Referring to FIG. 7 , the cloud streaming service method using a selective encoding processing unit according to an embodiment of the present invention first captures a change region included in a changed frame compared with a previous frame ( S710 ).

이 후, 변화 영역에 상응하는 이미지의 해상도가 기설정된 기준값 이상인지 여부를 판단한다(S715).Thereafter, it is determined whether the resolution of the image corresponding to the change region is equal to or greater than a preset reference value (S715).

단계(S715)의 판단결과 기준값 이상이면, 변화 영역을 그래픽 처리 유닛으로 인코딩한다(S720).If the determination result in step S715 is equal to or greater than the reference value, the change region is encoded by the graphic processing unit (S720).

단계(S715)의 판단결과 기준값 미만이면, 변화 영역을 인코딩하는 스틸 이미지 압축 기법이 팔렛티드 PNG 스틸 이미지 압축 기법인지 여부를 판단한다(S725).If the determination result in step S715 is less than the reference value, it is determined whether the still image compression technique for encoding the change region is the paletted PNG still image compression technique (S725).

단계(S725)의 판단결과 팔렛티드 PNG 스틸 이미지 압축 기법이면, 변화 영역을 그래픽 처리 유닛으로 인코딩한다(S720).If it is determined in step S725 that the paletted PNG still image compression technique is used, the change region is encoded by the graphic processing unit (S720).

단계(S725)의 판단결과 팔렛티드 PNG 스틸 이미지 압축 기법이 아니면, 변화 영역을 중앙 처리 유닛으로 인코딩한다(S730). 이 때, 변화 영역을 인코딩하는 스틸 이미지 압축 기법은 PNG 스틸 이미지 압축 기법 및 JPEG 스틸 이미지 압축 기법 중 어느 하나에 상응할 수 있다. If it is determined in step S725 that it is not the paletted PNG still image compression technique, the change region is encoded by the central processing unit (S730). In this case, the still image compression technique for encoding the change region may correspond to any one of a PNG still image compression technique and a JPEG still image compression technique.

이 후, 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다(S740).Thereafter, a still image-based cloud streaming service is performed by transmitting the still image-encoded change region to the user (S740).

본 발명에 따른 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 모든 형태의 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The cloud streaming service method using the selective encoding processing unit 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, etc. 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 available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic such as floppy disks. - Includes magneto-optical media, and any form of hardware device specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those generated by a compiler. Such hardware devices may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

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

본 발명에 의하면 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처하고, 변화 영역에 상응하는 이미지 타입 및 이미지 해상도 중 하나 이상을 고려하여 인코딩 처리 유닛을 선택하고, 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩하고, 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행할 수 있다. 나아가, 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스를 통해서 클라우드 스트리밍 서버의 자원 활용 효율을 상승시킬 수 있어 클라우드 스트리밍 서비스를 제공하기 위한 처리 비용을 절감하는 효과를 기대할 수 있다.According to the present invention, a change region included in a frame changed compared to the previous frame is captured, an encoding processing unit is selected in consideration of one or more of an image type and an image resolution corresponding to the change region, and the encoding processing unit is used to select one A still image-based cloud streaming service can be performed by encoding a still image of a change region corresponding to a frame of , and transmitting the still image-encoded change region to a user. Furthermore, it is possible to increase the resource utilization efficiency of the cloud streaming server through the cloud streaming service using the optional encoding processing unit, so that the effect of reducing the processing cost for providing the cloud streaming service can be expected.

110: 클라우드 스트리밍 서버 120-1~ 120-N: 단말 장치들
130: 네트워크 210: 캡처부
220: 인코딩부 230: 센딩부
240: 저장부 300, 400: 서버
310: 프로그램 화면 320: 이미지 인코딩
330: 스트리밍 340: 이미지 렌더링
410: 중앙 처리 유닛 420: 그래픽 처리 유닛
510: 첫번째 프레임 520: 두번째 프레임
530: 변화 영역
110: cloud streaming server 120-1 to 120-N: terminal devices
130: network 210: capture unit
220: encoding unit 230: sending unit
240: storage unit 300, 400: server
310: program screen 320: image encoding
330: streaming 340: image rendering
410: central processing unit 420: graphics processing unit
510: first frame 520: second frame
530: change area

Claims (20)

이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처하는 캡처부;
상기 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 중앙 처리 유닛(Central Processing Unit; CPU) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 각각에 대한 인코딩 처리 비용을 예측하고, 두 개의 유닛들 중 예측된 인코딩 처리 비용이 낮은 유닛을 인코딩 처리 유닛으로 선택하고, 상기 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하는 인코딩부; 및
스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 센딩부
를 포함하고,
상기 인코딩부는
상기 변화 영역에 상응하는 이미지 해상도가 높을수록 상기 중앙 처리 유닛의 인코딩 처리 비용을 높게 예측하되, 우선 상기 이미지 해상도가 기설정된 기준값 이상인 경우에 상기 그래픽 처리 유닛을 상기 인코딩 처리 유닛으로 선택하고, 상기 이미지 해상도가 기설정된 기준값 미만인 경우에는 상기 이미지 특성에 따라 결정되는 스틸 이미지 압축 기법에 상응하게 예측되는 인코딩 처리 비용을 고려하여 상기 인코딩 처리 유닛을 선택하는 것을 특징으로 하는 클라우드 스트리밍 서버.
a capture unit that captures a change region included in the frame changed compared to the previous frame;
Predict the encoding processing cost for each of a central processing unit (CPU) and a graphics processing unit (GPU) in consideration of at least one of image characteristics and image resolution corresponding to the change region, and an encoding unit for selecting a unit having a low predicted encoding processing cost among the units as an encoding processing unit, and encoding the change region corresponding to one frame using the encoding processing unit as a still image; and
A sending unit that transmits the still image-encoded change region to a user to perform a still image-based cloud streaming service
including,
the encoding unit
The higher the image resolution corresponding to the change region, the higher the encoding processing cost of the central processing unit is predicted. First, when the image resolution is equal to or greater than a preset reference value, the graphic processing unit is selected as the encoding processing unit, and the image Cloud streaming server, characterized in that when the resolution is less than a preset reference value, the encoding processing unit is selected in consideration of the encoding processing cost predicted to correspond to the still image compression technique determined according to the image characteristics.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처하는 단계;
상기 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 중앙 처리 유닛(Central Processing Unit; CPU) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 각각에 대한 인코딩 처리 비용을 예측하고, 두 개의 유닛들 중 예측된 인코딩 처리 비용이 낮은 유닛을 인코딩 처리 유닛으로 선택하고, 상기 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하는 단계; 및
스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 단계
를 포함하고,
상기 스틸 이미지 인코딩하는 단계는
상기 변화 영역에 상응하는 이미지 해상도가 높을수록 상기 중앙 처리 유닛의 인코딩 처리 비용을 높게 예측하되, 우선 상기 이미지 해상도가 기설정된 기준값 이상인 경우에 상기 그래픽 처리 유닛을 상기 인코딩 처리 유닛으로 선택하고, 상기 이미지 해상도가 기설정된 기준값 미만인 경우에는 상기 이미지 특성에 따라 결정되는 스틸 이미지 압축 기법에 상응하게 예측되는 인코딩 처리 비용을 고려하여 상기 인코딩 처리 유닛을 선택하는 것을 특징으로 하는 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법.
capturing a change region included in the changed frame compared to the previous frame;
Predict the encoding processing cost for each of a central processing unit (CPU) and a graphics processing unit (GPU) in consideration of at least one of image characteristics and image resolution corresponding to the change region, and selecting a unit having a low predicted encoding processing cost among the units as an encoding processing unit, and encoding the change region corresponding to one frame using the encoding processing unit as a still image; and
performing a still image-based cloud streaming service by transmitting the still image-encoded change region to a user
including,
The still image encoding step
The higher the image resolution corresponding to the change region, the higher the encoding processing cost of the central processing unit is predicted. First, when the image resolution is greater than or equal to a preset reference value, the graphic processing unit is selected as the encoding processing unit, Cloud streaming service using a selective encoding processing unit, characterized in that when the resolution is less than a preset reference value, the encoding processing unit is selected in consideration of the encoding processing cost predicted to correspond to the still image compression technique determined according to the image characteristics Way.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 이전 프레임과 비교하여 변화된 프레임에 포함된 변화 영역을 캡처하고, 상기 변화 영역에 상응하는 이미지 특성 및 이미지 해상도 중 하나 이상을 고려하여 중앙 처리 유닛(Central Processing Unit; CPU) 및 그래픽 처리 유닛(Graphics Processing Unit; GPU) 각각에 대한 인코딩 처리 비용을 예측하고, 두 개의 유닛들 중 예측된 인코딩 처리 비용이 낮은 유닛을 인코딩 처리 유닛으로 선택하고, 상기 인코딩 처리 유닛을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하고, 스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 클라우드 스트리밍 서버; 및
상기 클라우드 스트리밍 서버로부터 상기 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하는 단말
을 포함하고,
상기 클라우드 스트리밍 서버는
상기 변화 영역에 상응하는 이미지 해상도가 높을수록 상기 중앙 처리 유닛의 인코딩 처리 비용을 높게 예측하되, 우선 상기 이미지 해상도가 기설정된 기준값 이상인 경우에 상기 그래픽 처리 유닛을 상기 인코딩 처리 유닛으로 선택하고, 상기 이미지 해상도가 기설정된 기준값 미만인 경우에는 상기 이미지 특성에 따라 결정되는 스틸 이미지 압축 기법에 상응하게 예측되는 인코딩 처리 비용을 고려하여 상기 인코딩 처리 유닛을 선택하는 것을 특징으로 하는 클라우드 스트리밍 서비스 시스템.
A central processing unit (CPU) and a graphics processing unit (CPU) and a graphics processing unit (CPU) and a graphics processing unit (CPU) to capture a change region included in a changed frame compared to the previous frame, and consider at least one of image characteristics and image resolution corresponding to the change region Unit; GPU) predicts the encoding processing cost for each, selects a unit having the lowest predicted encoding processing cost among the two units as the encoding processing unit, and uses the encoding processing unit to change the change corresponding to one frame a cloud streaming server that performs still image-based cloud streaming service by encoding a still image region and transmitting the still image-encoded change region to a user; and
A terminal for receiving an application execution result screen corresponding to the cloud streaming service from the cloud streaming server
including,
The cloud streaming server
The higher the image resolution corresponding to the change region, the higher the encoding processing cost of the central processing unit is predicted. First, when the image resolution is equal to or greater than a preset reference value, the graphic processing unit is selected as the encoding processing unit, and the image Cloud streaming service system, characterized in that when the resolution is less than a preset reference value, the encoding processing unit is selected in consideration of the encoding processing cost predicted to correspond to the still image compression technique determined according to the image characteristics.
KR1020140133176A 2014-07-30 2014-10-02 System for cloud streaming service, method of cloud streaming service using selective encoding processing unit and apparatus for the same KR102265419B1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020140133176A KR102265419B1 (en) 2014-10-02 2014-10-02 System for cloud streaming service, method of cloud streaming service using selective encoding processing unit and apparatus for the same
JP2016575537A JP2017529716A (en) 2014-07-30 2015-07-06 Cloud streaming service system, cloud streaming service method using still image compression technique, and apparatus therefor
EP15827254.2A EP3177024B1 (en) 2014-07-30 2015-07-06 Apparatus for cloud streaming service
CN201580049450.2A CN106717007B (en) 2014-07-30 2015-07-06 Cloud end streaming media server
PCT/KR2015/006950 WO2016017952A1 (en) 2014-07-30 2015-07-06 System for cloud streaming service, method for same using still-image compression technique and apparatus therefor
US15/420,030 US10652591B2 (en) 2014-07-30 2017-01-30 System for cloud streaming service, method for same using still-image compression technique and apparatus therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140133176A KR102265419B1 (en) 2014-10-02 2014-10-02 System for cloud streaming service, method of cloud streaming service using selective encoding processing unit and apparatus for the same

Publications (2)

Publication Number Publication Date
KR20160039887A KR20160039887A (en) 2016-04-12
KR102265419B1 true KR102265419B1 (en) 2021-06-15

Family

ID=55801001

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140133176A KR102265419B1 (en) 2014-07-30 2014-10-02 System for cloud streaming service, method of cloud streaming service using selective encoding processing unit and apparatus for the same

Country Status (1)

Country Link
KR (1) KR102265419B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155075A1 (en) * 2011-12-15 2013-06-20 Fujitsu Limited Information processing device, image transmission method, and recording medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120105688A (en) 2011-03-16 2012-09-26 정민재 System and method for virtualization service between server/client terminal of heterogeneous computing types
KR101668282B1 (en) * 2011-07-22 2016-10-24 엔트릭스 주식회사 System and Method for operating application based Presentation Virtualization
KR101966921B1 (en) * 2012-09-12 2019-08-27 삼성전자주식회사 Method and Apparatus of managing muti-session

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130155075A1 (en) * 2011-12-15 2013-06-20 Fujitsu Limited Information processing device, image transmission method, and recording medium

Also Published As

Publication number Publication date
KR20160039887A (en) 2016-04-12

Similar Documents

Publication Publication Date Title
Lu et al. Virtualized screen: A third element for cloud–mobile convergence
EP2517470B1 (en) Systems and methods for video-aware screen capture and compression
CN109104610B (en) Real-time screen sharing
US9998749B2 (en) Composite video streaming using stateless compression
US10652591B2 (en) System for cloud streaming service, method for same using still-image compression technique and apparatus therefor
KR102384174B1 (en) System for cloud streaming service, method of cloud streaming service using still image compression technique and apparatus for the same
KR102346747B1 (en) System for cloud streaming service, method of cloud streaming service of providing multi-view screen based on resize 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
KR102271721B1 (en) System for cloud streaming service, method of image cloud streaming service considering terminal performance 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
KR102273143B1 (en) System for cloud streaming service, method of cloud streaming service based on still image 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
KR102313533B1 (en) System for cloud streaming service, method of image cloud streaming service considering full screen transition and apparatus for the same
KR102247657B1 (en) System for cloud streaming service, method of cloud streaming service using separate operations of the encoding process unit 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
KR102313532B1 (en) System for cloud streaming service, method of image cloud streaming service using animation message and apparatus for the same
KR102247888B1 (en) System for cloud streaming service, method of image cloud streaming service based on selective streaming pipeline method 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
KR102225610B1 (en) System for cloud streaming service, method of message-based image cloud streaming service 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
KR102354269B1 (en) System for cloud streaming service, method of image cloud streaming service using property of scene region and method using the same
KR20200097497A (en) Apparatus and method for encoding of cloud streaming

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