KR102273141B1 - 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 - Google Patents
클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 Download PDFInfo
- Publication number
- KR102273141B1 KR102273141B1 KR1020150006050A KR20150006050A KR102273141B1 KR 102273141 B1 KR102273141 B1 KR 102273141B1 KR 1020150006050 A KR1020150006050 A KR 1020150006050A KR 20150006050 A KR20150006050 A KR 20150006050A KR 102273141 B1 KR102273141 B1 KR 102273141B1
- Authority
- KR
- South Korea
- Prior art keywords
- image
- change region
- still image
- cloud streaming
- frame
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 186
- 230000006835 compression Effects 0.000 title claims abstract description 138
- 238000007906 compression Methods 0.000 title claims abstract description 138
- 230000008859 change Effects 0.000 claims abstract description 347
- 239000003086 colorant Substances 0.000 claims description 70
- 239000002131 composite material Substances 0.000 description 30
- 230000005540 biological transmission Effects 0.000 description 18
- 238000004891 communication Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 15
- 230000003068 static effect Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 10
- 230000003287 optical effect Effects 0.000 description 8
- 238000010295 mobile communication Methods 0.000 description 6
- 230000006866 deterioration Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/234345—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements the reformatting operation being performed only on part of the stream, e.g. a region of the image or a time segment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/20—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/21—Server components or server architectures
- H04N21/222—Secondary servers, e.g. proxy server, cable television Head-end
- H04N21/2223—Secondary servers, e.g. proxy server, cable television Head-end being a public access point, e.g. for downloading to or uploading from clients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치가 개시된다. 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 상기 이전 프레임으로부터 변화된 상기 현재 프레임의 변화 영역을 결정하여 변화 영역을 캡처하고, 스틸 이미지 압축 기법으로 인코딩한 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행할 수 있다. 클라우드 스트리밍 서비스 제공 시 이미지 타입에 적합한 스틸 이미지 압축 기법을 사용함으로써 스틸 이미지의 압축 효율과 클라우드 스트리밍 서비스의 속도를 향상시키는 것이 가능하다.
Description
본 발명은 클라우드 스트리밍 서비스 시 이전 프레임 및 현재 프레임의 변화 영역에 대해서만 스틸 이미지 압축 기법을 적용하여 서비스 속도를 향상시킬 수 있는 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치에 관한 것이다.
현대 인터넷의 급속한 발달로 인해 개인의 통신 속도는 급격하게 향상되었고, 이러한 통신 속도의 향상으로 원격지 컴퓨터에 접속하여 대용량의 데이터를 다운로드 또는 업로드 하거나, 원격지 컴퓨터 제어 프로그램을 사용하여 마치 원격지 컴퓨터에 로컬 로그인한 것과 같이 원격지 컴퓨터를 이용할 수 있는 환경이 조성되었다.
또한, 어플리케이션을 서버에서 구동시키고 구동화면은 비디오 인코딩(Encoding)을 통해 압축하여 클라이언트로 전송하고, 클라이언트는 전송된 비디오를 재생하여 마치 자신의 단말에서 어플리케이션이 구동되는 것과 같은 효과를 내는 화면 가상화 기반의 클라우드 스트리밍 서비스가 각광받고 있다.
이와 같은 클라우드 스트리밍 서비스는 기본적으로 비디오 코덱 기반의 클라우드 스트리밍 기법이 적용되었다. 그러나 메뉴 디스플레이와 같이 정적인 화면을 서비스 하는 경우에도 불필요하게 화면 전체를 캡처하고 비디오 코덱을 이용하여 동작하기 때문에 클라우드 스트리밍 서비스 시스템을 운영함에 있어서 비효율적인 부분이 존재하였다.
본 발명의 목적은, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 제공 시 이전 프레임 및 현재 프레임의 변화 영역에 대해서만 스틸 이미지 압축 기법을 적용함으로써, 동일한 대역을 통해 보다 빠르고 보다 많은 사용자를 대상으로 클라우드 스트리밍 서비스를 제공하는 것이다.
또한, 본 발명의 목적은 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 제공 시 각 픽셀에 서로 다른 가중치가 부여된 픽셀 값을 합산하여 산출되는 프로파일을 이용하여 변화 영역을 결정함으로써, 프레임 내 특정 영역이 쉬프트(shift) 되는 경우에 있어서도 스틸 이미지 압축 대상을 보다 안정적으로 검출하는 클라우드 스트리밍 서비스를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명에 따른 클라우드 스트리밍 서버는, 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 상기 이전 프레임으로부터 변화된 상기 현재 프레임의 변화 영역을 결정하는 변화 영역 결정부; 상기 변화 영역을 캡처하는 캡처부; 스틸 이미지(still image) 압축 기법을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하는 인코딩부; 및 스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 센딩부를 포함한다.
이 때, 수평 프로파일은 상기 이전 프레임 및 상기 현재 프레임 각각에 대해 행 단위로 픽셀 값들을 합산하여 산출되고, 상기 수직 프로파일은 상기 이전 프레임 및 상기 현재 프레임 각각에 대해 열 단위로 픽셀 값들을 합산하여 산출될 수 있다.
이 때, 수평 프로파일 및 상기 수직 프로파일은 각 픽셀마다 서로 다른 가중치가 부여된 픽셀 값들을 합산하여 산출될 수 있다.
이 때, 변화 영역 결정부는 상기 이전 프레임의 수평 프로파일 및 상기 현재 프레임의 수평 프로파일, 상기 이전 프레임의 수직 프로파일 및 상기 현재 프레임의 수직 프로파일을 비교하여 상기 변화 영역을 결정할 수 있다.
이 때, 변화 영역 결정부는 상기 이전 프레임의 수평 프로파일 및 상기 현재 프레임의 수평 프로파일이 서로 상이하게 되는 세로 좌표 성분들을 획득하고, 상기 이전 프레임의 수직 프로파일 및 상기 현재 프레임의 수직 프로파일이 서로 상이하게 되는 가로 좌표 성분들을 획득하고, 상기 가로 좌표 성분들 중 어느 하나 및 상기 세로 좌표 성분들 중 어느 하나를 한 쌍으로 하여 구성되는 좌표에 상응하는 변화 픽셀을 포함하는 직사각형 영역을 상기 변화 영역으로 결정할 수 있다.
이 때, 변화 영역 결정부는 상기 변화 픽셀들을 포함하면서 최소 넓이를 가지는 적어도 하나 이상의 직사각형 영역을 상기 변화 영역으로 결정할 수 있다.
이 때, 가중치는 상기 픽셀의 좌표 성분들 중 어느 하나를 2의 지수로 한 값이고, 상기 수평 프로파일 및 상기 수직 프로파일은 상기 픽셀 값에 상기 가중치를 곱한 값들을 합산하여 산출될 수 있다.
또한, 본 발명에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은, 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 상기 이전 프레임으로부터 변화된 상기 현재 프레임의 변화 영역을 결정하는 단계; 상기 변화 영역을 캡처하는 단계; 스틸 이미지(still image) 압축 기법을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하는 단계; 및 스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 단계를 포함한다.
이 때, 수평 프로파일은 상기 이전 프레임 및 상기 현재 프레임 각각에 대해 행 단위로 픽셀 값들을 합산하여 산출되고, 상기 수직 프로파일은 상기 이전 프레임 및 상기 현재 프레임 각각에 대해 열 단위로 픽셀 값들을 합산하여 산출될 수 있다.
이 때, 수평 프로파일 및 상기 수직 프로파일은 각 픽셀마다 서로 다른 가중치가 부여된 픽셀 값들을 합산하여 산출될 수 있다.
이 때, 변화 영역을 결정하는 단계는 상기 이전 프레임의 수평 프로파일 및 상기 현재 프레임의 수평 프로파일, 상기 이전 프레임의 수직 프로파일 및 상기 현재 프레임의 수직 프로파일을 비교하여 상기 변화 영역을 결정할 수 있다.
이 때, 변화 영역을 결정하는 단계는 상기 이전 프레임의 수평 프로파일 및 상기 현재 프레임의 수평 프로파일이 서로 상이하게 되는 세로 좌표 성분들을 획득하고, 상기 이전 프레임의 수직 프로파일 및 상기 현재 프레임의 수직 프로파일이 서로 상이하게 되는 가로 좌표 성분들을 획득하고, 상기 가로 좌표 성분들 중 어느 하나 및 상기 세로 좌표 성분들 중 어느 하나를 한 쌍으로 하여 구성되는 좌표에 상응하는 변화 픽셀을 포함하는 직사각형 영역을 상기 변화 영역으로 결정할 수 있다.
이 때, 변화 영역을 결정하는 단계는 상기 변화 픽셀들을 포함하면서 최소 넓이를 가지는 적어도 하나 이상의 직사각형 영역을 상기 변화 영역으로 결정할 수 있다.
이 때, 가중치는 상기 픽셀의 좌표 성분들 중 어느 하나를 2의 지수로 한 값이고, 상기 수평 프로파일 및 상기 수직 프로파일은 상기 픽셀 값에 상기 가중치를 곱한 값들을 합산하여 산출될 수 있다.
본 발명에 따르면, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 제공 시 이전 프레임 및 현재 프레임의 변화 영역에 대해서만 스틸 이미지 압축 기법을 적용함으로써, 동일한 대역을 통해 보다 빠르고 보다 많은 사용자를 대상으로 클라우드 스트리밍 서비스를 제공할 수 있다.
또한, 본 발명은 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 제공 시 각 픽셀에 서로 다른 가중치가 부여된 픽셀 값을 합산하여 산출되는 프로파일을 이용하여 변화 영역을 결정함으로써, 프레임 내 특정 영역이 쉬프트(shift) 되는 경우에 있어서도 스틸 이미지 압축 대상을 보다 안정적으로 검출하는 클라우드 스트리밍 서비스를 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.
도 2는 도 1에 도시된 클라우드 스트리밍 서버의 일 예를 나타낸 블록도이다.
도 3은 클라우드 스트리밍 시스템의 일 예를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스에서 변화 영역을 캡처하는 과정을 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스에서 변화 영역을 결정하는 과정을 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.
도 2는 도 1에 도시된 클라우드 스트리밍 서버의 일 예를 나타낸 블록도이다.
도 3은 클라우드 스트리밍 시스템의 일 예를 나타낸 도면이다.
도 4는 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스에서 변화 영역을 캡처하는 과정을 나타낸 도면이다.
도 5는 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스에서 변화 영역을 결정하는 과정을 나타낸 도면이다.
도 6은 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 또한 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.
도 1은 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 다른 클라우드 스트리밍 서비스 시스템은 클라우드 스트리밍 서버(110), 단말 장치들(120-1, …, 120-N) 및 네트워크(130)를 포함한다.
클라우드 스트리밍 서버(110)는 단말 장치들(120-1, …, 120-N)로부터 클라우드 스트리밍 서비스 요청을 받아 어플리케이션을 실행하고, 어플리케이션 실행 결과에 해당하는 실행 결과 화면을 단말 장치들(120-1, …, 120-N)에게 제공한다.
클라우드 스트리밍 서비스는 기본적으로 비디오 코덱 기반의 클라우드 스트리밍 기법을 적용하기 때문에 메뉴 디스플레이와 같은 정적인 화면에 대해서 클라우드 스트리밍 기법을 적용하는 경우에도 불필요하게 화면 전체를 캡처하여 비디오 코덱으로 인코딩하는 비효율적인 방법으로 클라우드 스트리밍 서비스를 수행하였다. 이러한 문제점을 해결하기 위해 본 발명은 메뉴 디스플레이 화면과 같이 프레임간 변화가 크지 않은 경우에는 클라우드 스트리밍 서버가 프레임간 변화를 검출하고, 검출된 변화 영역만을 스틸 이미지 압축 기법으로 인코딩하는 클라우드 스트리밍 시스템을 제공한다.
클라우드 스트리밍 서버(110)는 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 이전 프레임으로부터 변화된 현재 프레임의 변화 영역을 결정하고, 변화 영역을 캡처한다. 이 때, 단말 장치들(120-1, …, 120-N)로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다. 이 때, 단말 장치들(120-1, …, 120-N)로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다.
또한, 클라우드 스트리밍 서버(110)는 변화 영역에 상응하는 이미지의 컬러 개수 및 이미지 화소값의 표준 편차 중 하나 이상을 고려하여 결정한 이미지 타입에 따라 스틸 이미지(still image) 압축 기법을 선택하고, 스틸 이미지 압축 기법을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다. 이 때, 자연 이미지(natural image) 및 합성 이미지(synthetic image) 중 어느 하나의 이미지 타입에 따라 스틸 이미지 압축 기법을 선택할 수 있다. 이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수를 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우 변화 영역에 상응하는 이미지 화소값의 표준 편차를 고려하여 이미지 타입을 결정할 수 있다. 이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하이고, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값 이하인 경우 이미지 타입을 합성 이미지로 결정할 수 있다. 이 때, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값을 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 이 때, 이미지 타입에 따라 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나의 스틸 이미지 압축 기법을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다.
또한, 클라우드 스트리밍 서버(110)는 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다.
단말 장치들(120-1, …, 120-N)은 클라우드 스트리밍 서버(110)로부터 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하여 사용자에게 제공한다.
단말 장치들(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) 단말일 수 있다.
네트워크(130)는 클라우드 스트리밍 서버(110)및 단말 장치들(120-1, …, 120-N) 사이에 데이터를 전달하는 통로를 제공하는 것으로서, 기존에 이용되는 네트워크 및 향후 개발 가능한 네트워크를 모두 포괄하는 개념이다. 예를 들어, 네트워크(130)는 한정된 지역 내에서 각종 정보장치들의 통신을 제공하는 유무선근거리 통신망, 이동체 상호 간 및 이동체와 이동체 외부와의 통신을 제공하는 이동통신망, 위성을 이용해 지구국과 지구국간 통신을 제공하는 위성통신망이거나 유무선 통신망 중에서 어느 하나이거나, 둘 이상의 결합으로 이루어질 수 있다. 한편, 네트워크(130)의 전송 방식 표준은, 기존의 전송 방식 표준에 한정되는 것은 아니며, 향후 개발될 모든 전송 방식 표준을 포함할 수 있다. 또한, 도 1에서 클라우드 스트리밍 서버(110)와 단말 장치들(120-1, …, 120-N) 사이에 사용되는 네트워크는 단말 장치들(120-1, …, 120-N) 상호간에 사용되는 네트워크와 상이한 것일 수도 있고, 동일한 것일 수도 있다.
도 2는 도 1에 도시된 클라우드 스트리밍 서버(110)의 일 예를 나타낸 블록도이다.
도 2를 참조하면, 도 1에 도시된 클라우드 스트리밍 서버(110)는 변화 영역 결정부(205), 캡처부(210), 인코딩부(220), 센딩부(230) 및 저장부(240)를 포함한다.
클라우드 스트리밍 서비스는 기본적으로 비디오 코덱 기반의 클라우드 스트리밍 기법을 적용하기 때문에 메뉴 디스플레이와 같은 정적인 화면에 대해서 클라우드 스트리밍 기법을 적용하는 경우에도 불필요하게 화면 전체를 캡처하여 비디오 코덱으로 인코딩하는 비효율적인 방법으로 클라우드 스트리밍 서비스를 수행하였다. 이러한 문제점을 해결하기 위해 본 발명은 메뉴 디스플레이 화면과 같이 프레임간 변화가 크지 않은 경우에는 클라우드 스트리밍 서버가 프레임간 변화를 검출하고, 검출된 변화 영역만을 스틸 이미지 압축 기법으로 인코딩하는 클라우드 스트리밍 서버(110)를 제공한다.
변화 영역 결정부(205)는 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 이전 프레임으로부터 변화된 현재 프레임의 변화 영역을 결정한다.
비디오 코덱 기반의 클라우드 스트리밍 기법은 어플리케이션이 동작하는 화면에 상응하는 모든 프레임을 캡처하여 인코딩을 수행할 수 있다. 그러나 어플리케이션이 동작하는 화면 상에서 프레임간 변화가 크지 않은 경우에는 이전 프레임과 비교하여 변화된 프레임의 변화 영역만을 캡처하여 스틸 이미지 인코딩을 수행하고, 사용자의 단말 장치에 디스플레이 할 때 변화 영역을 제외한 부분은 동일하게 보여주고 변화 영역만 변화를 주는 방식으로 디스플레이 할 수 있다.
이 때, 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 변화 영역으로 결정할 수 있다. 예를 들어 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역이 A 영역이라면, 변화된 프레임에 상응하는 화면 영역 중 A 영역만을 변화 영역으로 결정할 수 있다. 이러한 변화 영역은 사용자의 단말 장치에서 입력되는 입력 신호에 따라 사이즈나 변화 영역에 상응하는 이미지의 성질이 다양할 수 있다.
이 때, 이전 프레임 및 현재 프레임 각각에 대해 행 단위로 픽셀 값들을 합산하는 수평 프로파일 및 열 단위로 픽셀 값들을 합산하는 수직 프로파일을 산출하고, 이전 프레임의 수평 프로파일 및 현재 프레임의 수평 프로파일을 비교하고, 이전 프레임의 수직 프로파일 및 현재 프레임의 수직 프로파일을 비교하여 변화 영역을 결정할 수 있다.
이 때, 수평 프로파일 및 수직 프로파일은 각 픽셀마다 서로 다른 가중치가 부여된 픽셀 값들을 합산하여 산출된 것일 수 있다.
이 때, 가중치는 픽셀의 좌표 성분들 중 어느 하나를 2의 지수로 한 값이고, 수평 프로파일 및 수직 프로파일은 픽셀 값에 가중치를 곱한 값들을 합산하여 산출된 것일 수 있다.
예를 들어, 수평 프로파일은 하기 수학식 1과 같을 수 있다.
이 때, H(j)는 수평 프로파일, M은 프레임의 행 개수, N은 프레임의 열 개수, P(i, j)는 (i, j) 좌표에 해당하는 픽셀 값, i는 픽셀의 x좌표, j는 픽셀의 y좌표, 2 k 는 가중치이다.
이 때, i는 0 내지 N-1 중 어느 하나의 값을 가지며, j는 0 내지 M-1 중 어느 하나의 값을 가진다.
이 때, k는 각 픽셀들마다 서로 다른 가중치를 부여하기 위한 i 및 j를 변수로 하는 함수 값일 수 있다. 예를 들어, k는 j+(i*M) 혹은 i+(j*N)에 해당하는 값일 수 있다.
수평 프로파일과 마찬가지로, 수직 프로파일은 하기 수학식 2와 같을 수 있다.
이 때, V(i)는 수평 프로파일, M은 프레임의 행 개수, N은 프레임의 열 개수, P(i, j)는 (i, j) 좌표에 해당하는 픽셀 값, i는 픽셀의 x좌표, j는 픽셀의 y좌표, 2 k 는 가중치이다.
이 때, i는 0 내지 N-1 중 어느 하나의 값을 가지며, j는 0 내지 M-1 중 어느 하나의 값을 가진다.
이 때, k는 각 픽셀들마다 서로 다른 가중치를 부여하기 위한 i 및 j를 변수로 하는 함수 값일 수 있다. 예를 들어, k는 j+(i*M) 혹은 i+(j*N)에 해당하는 값일 수 있다.
이 때, 변화 영역 결정부(205)는 이전 프레임의 수평 프로파일 및 현재 프레임의 수평 프로파일이 서로 상이하게 되는 세로 좌표 성분들을 획득하고, 이전 프레임의 수직 프로파일 및 현재 프레임의 수직 프로파일이 서로 상이하게 되는 가로 좌표 성분들을 획득하고, 가로 좌표 성분들 중 어느 하나 및 세로 좌표 성분들 중 어느 하나로 이루어진 좌표들을 포함하는 적어도 하나 이상의 직사각형 영역을 변화 영역으로 결정할 수 있다. 이 때, 변화 영역 결정부(205)는 가로 좌표 성분들 중 어느 하나 및 세로 좌표 성분들 중 어느 하나로 이루어진 좌표들만을 포함하는 직사각형 영역을 변화 영역으로 결정함으로써, 변화 픽셀들을 포함하면서 최소 넓이를 가지는 직사각형 영역을 변화 영역으로 결정하게 되는 효과를 가질 수 있다.
예를 들어, 이전 프레임의 수직 프로파일(V(i)) 및 현재 프레임의 수직 프로파일(V'(i))이 서로 상이하게 되는 가로 좌표 성분(V(i)≠V'(i)를 만족하는 i)이 {3, 4, 5, 6} 이고, 이전 프레임의 수평 프로파일(H(j)) 및 현재 프레임의 수평 프로파일(H'(j))이 서로 상이하게 되는 세로 좌표 성분(H(j)≠H'(j)를 만족하는 j)이 {3, 4, 7, 8} 인 경우, 변화 영역은 {(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 7), (4, 7), (5, 7), (6, 7), (3, 8), (4, 8), (5, 8), (6, 8)}을 포함하는 직사각형 영역일 수 있다. 즉, {(3, 3), (6, 3), (3, 4), (6, 4)}를 네 꼭지점으로 하는 제1 직사각형 영역 및 {(3, 7), (6, 7), (3, 8), (6, 8)}을 네 꼭지점으로 하는 제2 직사각형 영역과 같이 적어도 하나 이상의 직사각형 영역들을 변화 영역으로 결정할 수 있다.
캡처부(210)는 변화 영역을 캡처한다. 이 때, 사용자의 단말 장치로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다.
이 때, 사용자의 단말 장치로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다. 예를 들어, 사용자의 단말 장치로부터 발생하는 입력신호에 따라 어플리케이션의 이벤트 유형이 결정될 수 있다. 입력신호에 따라 메뉴, 옵션, 안내 창과 같이 어플리케이션을 실행하였을 때 프레임의 변화가 적은 정적인 이벤트 또는 동영상 재생 및 게임 플레이와 같이 프레임이 자주 변하는 동적인 이벤트가 발생할 수 있다. 따라서, 사용자가 단말 장치를 통해 발생시키는 입력신호로 이벤트 유형을 감지하고, 이벤트 유형이 정적인 이벤트라면, 해당 이벤트에 상응하는 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출할 수 있다.
인코딩부(220)는 변화 영역에 상응하는 이미지의 컬러 개수 및 이미지 화소값의 표준 편차 중 하나 이상을 고려하여 결정한 이미지 타입에 따라 스틸 이미지(still image) 압축 기법을 선택하고, 스틸 이미지 압축 기법을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다. 예를 들어, 캡처된 변화 영역의 이미지 타입이 하나의 사진이나 그림과 같은 타입이거나 또는 여러 개의 이미지가 합쳐져서 만들어진 이미지일 수 있기 때문에, 이미지 타입을 결정하고 각각의 이미지 타입에 적합한 스틸 이미지 압축 기법을 선택하여 스틸 이미지 인코딩을 수행함으로써 변화 영역의 압축 효율을 상승시킬 수 있다.
이 때, 자연 이미지(natural image) 및 합성 이미지(synthetic image) 중 어느 하나의 이미지 타입에 따라 스틸 이미지 압축 기법을 선택할 수 있다. 자연 이미지는 자연적으로 발생한 객체의 이미지를 의미할 수 있다. 예를 들어, 하나의 사진이나 그림과 같은 광학 이미지뿐 아니라 엑스레이와 적외선 같은 다른 파장의 이미지들을 의미할 수도 있다. 합성 이미지는 자연 이미지와 다르게 컴퓨터나 인위적 수단을 통해 생성되거나 합성된 이미지를 의미할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수를 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 자연 이미지의 경우 자연적으로 발생한 객체에 대한 이미지일 수 있기 때문에, 이미지를 표현하는 컬러에 적용된 명도와 채도의 변화가 합성 이미지보다 정교할 수 있다. 따라서, 자연 이미지를 나타내기 위해 구성된 화소들이 표현하는 컬러의 개수가 합성 이미지보다 다양할 수 있기 때문에, 변화 영역에 상응하는 이미지의 컬러 개수를 고려하여 변화 영역에 상응하는 이미지 타입을 결정할 수 있다. 예를 들어, 기설정된 기준 개수를 10만개라고 설정하였다면, 변화 영역에 상응하는 이미지를 구성하는 컬러의 개수가 10만개를 초과하는 경우에는 이미지 타입을 자연 이미지로 결정하고, 10만개 이하인 경우에는 이미지 타입을 합성 이미지로 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우 변화 영역에 상응하는 이미지 화소값의 표준 편차를 고려하여 이미지 타입을 결정할 수 있다. 화소값의 표준 편차는 변화 영역에 상응하는 이미지를 구성하는 화소들이 나타내는 컬러값의 분포도일 수 있다. 만약 컬러값의 분포도가 0이라면 모든 컬러가 같은 값이라는 의미일 수 있기 때문에, 컬러값의 분포도, 즉 화소값의 표준 편차가 작다는 것은 이미지를 구성하는 컬러의 개수가 적다는 의미와 상통할 수 있다. 따라서, 이와 같은 이미지 화소값의 표준 편차를 고려하여 변화 영역에 상응하는 이미지의 이미지 타입을 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하이고, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값 이하인 경우 이미지 타입을 합성 이미지로 결정할 수 있다. 예를 들어, 이미지의 컬러 개수에 대해서 기설정된 기준 개수가 10만개이고, 이미지 화소값의 표준 편차에 대해 기설정된 기준 값이 N이라고 가정할 수 있다. 이 때, 변화 영역에 상응하는 이미지를 구성하는 컬러의 개수가 10만개 이하이면서, 변화 영역에 상응하는 이미지를 구성하는 화소들이 나타내는 컬러값의 분포도가 N보다 작은 값일 경우 변화 영역에 상응하는 이미지의 이미지 타입을 합성 이미지로 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값을 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 예를 들어, 변화 영역을 상응하는 이미지 화소값의 표준 편차가 기설정된 기준값을 초과한다면 그만큼 이미지를 구성하는 컬러의 개수가 많다는 의미일 수 있다. 따라서, 이미지 화소값의 표준 편차가 기설정된 기준값을 초과한다면, 변화 영역에 상응하는 이미지가 많은 컬러로 구성된 자연 이미지라고 판단할 수 있다.
이 때, 이미지 타입에 따라 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나의 스틸 이미지 압축 기법을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다.
PNG 스틸 이미지 압축 기법은 인코딩 시 이미지의 화질은 좋으나 데이터의 크기가 커져서 전송 망의 대역폭이 낮은 경우에는 전송 속도가 저하될 수 있는 기법이며, JPEG 스틸 이미지 압축 기법은 압축 효율이 좋아서 인코딩 시 전송 데이터 량을 대폭 줄일 수 있으나, 압축 효율이 큰 만큼 인코딩 및 디코딩을 수행할 때 시스템 부하를 많이 발생시킬 수 있는 기법이다. 또한, JPEG 스틸 이미지 압축 기법은 한 픽셀 주위에 서로 비슷한 색이 모여 있는 자연 이미지를 압축하였을 때 압축 효율이 더 효과적일 수 있다. 따라서, 변화 영역에 상응하는 이미지 타입이 자연 이미지인 경우에는 JPEG 스틸 이미지 압축 기법으로 변화 영역을 인코딩할 수 있다.
또한, 변화 영역이 합성 이미지인 경우에는 JPEG 스틸 이미지 압축 기법을 사용하더라도 자연 이미지처럼 압축 효율을 기대하기 어려울 수 있다. 따라서, 변화 영역에 상응하는 이미지의 이미지 타입이 합성 이미지인 경우에는 이미지의 화질을 높일 수 있는 PNG 스틸 이미지 압축 기법을 선택하여 변화 영역의 스틸 이미지 인코딩을 수행할 수 있다.
또한, 변화 영역이 합성 이미지이고 변화 영역의 사이즈가 커서 데이터가 큰 경우에는 데이터의 크기를 줄일 수 있는 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 변화 영역을 인코딩할 수 있다. 팔렛티드 PNG 스틸 이미지 압축 기법은 인코딩 시 이미지의 데이터 크기가 줄어들어 전송 속도는 보장할 수 있지만, 8비트로 색상을 표현하기 때문에 이미지 화질에 열화를 가져올 수 있다.
센딩부(230)는 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다. 인코딩을 완료함으로써 압축된 변화 영역을 사용자의 단말 장치로 전송함으로써, 사용자의 단말 장치에서 어플리케이션을 실행되는 느낌을 받을 수 있도록 클라우드 스트리밍 서비스를 수행할 수 있다.
저장부(240)는 상술한 바와 같이 본 발명의 실시예에 따른 클라우드 스트리밍 서비스 과정에서 발생되는 다양한 정보를 저장한다.
실시예에 따라, 저장부(240)는 클라우드 스트리밍 서버(110)와 독립적으로 구성되어 클라우드 스트리밍 서비스를 위한 기능을 지원할 수 있다. 이 때, 저장부(240)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다.
또한, 상술한 바와 같이 구성되는 클라우드 스트리밍 서버(110)는 하나 이상의 서버로 구현될 수 있다.
한편, 클라우드 스트리밍 서버(110)는 메모리가 탑재되어 그 장치 내에서 정보를 저장할 수 있다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
도 3은 클라우드 스트리밍 시스템의 일 예를 나타낸 도면이다.
도 3을 참조하면, 서버(310)에서는 사용자의 단말 장치로부터 발생되는 사용자 입력(User Input)에 상응하는 프로그램 화면(310)을 실행시켜 캡처(Screen Capture)를 수행할 수 있다. 이 때, 서버(300)는 클라우드 스트리밍 서버와 웹 어플리케이션 서버를 통칭하는 서버일 수 있다. 또한, 프로그램 화면(310)을 실행시켜 캡처(Screen Capture)를 수행하는 과정은 도 2에 도시된 캡처부(210)의 동작 흐름과 상응할 수 있다.
서버(300)는 캡처(Screen Capture)된 프로그램 화면(310)을 스틸 이미지 압축 기법을 통해 인코딩(Image Encoding)(320)할 수 있다. 이 때, 인코딩 (Image Encoding)(320)을 수행하는 과정은 도 2에 도시된 인코딩부(220)의 동작 흐름과 상응할 수 있다.
이 때, 이전 프레임과 현재 프레임을 비교하여 상기 이전 프레임으로부터 변화된 상기 현재 프레임의 변화 영역만을 캡처할 수 있다. 또한, 변화된 영역의 이미지 타입을 고려하여 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나의 스틸 이미지 압축 기법을 선택하고, 선택한 스틸 이미지 압축 기법으로 변화된 영역을 인코딩할 수 있다.
이 후, 서버(300)는 스틸 이미지 인코딩된 변화된 영역을 사용자의 단말 장치로 스트리밍(Streaming)(330)하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 제공할 수 있다. 이 때, 스트리밍(Streaming)(330)을 수행하는 과정은 도 2에 도시된 센딩부(230)의 동작 흐름과 상응할 수 있다.
이 후, 사용자의 단말 장치에서는 수신한 데이터를 렌더링(Image Rendering)(340)함으로써 사용자 입력(User Input)에 의해 어플리케이션에서 실행된 프로그램 화면(310)이 마치 사용자의 단말 장치에서 실행된 것처럼 사용자에게 디스플레이 할 수 있다.
도 4는 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스에서 변화 영역을 캡처하는 과정을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 스틸 이미지 기반 클라우드 스트리밍 서비스는 첫번째 프레임(410)과 두번째 프레임(420)을 비교하여 변화된 변화 영역(430)만을 캡처하여 인코딩할 수 있다.
예를 들어, 첫번째 프레임(410)과 두번째 프레임(420)에서 B, C, D 및 E의 영역을 메뉴 디스플레이라고 가정하였을 때, 첫번째 프레임(410)에서는 C 영역에 커서가 위치함으로써 C 영역이 다른 B, D, 및 E 영역과 구별될 수 있도록 음영처리 되었고, 두번째 프레임(420)에서는 C 영역에서 E 영역으로 커서가 이동함으로써 E 영역이 다른 B, C 및 D 영역과 구별될 수 있도록 음영처리 될 수 있다.
이 때, 첫번째 프레임(410)과 두번째 프레임(420)을 비교하였을 때 변화된 영역인 C와 E 영역을 포함하는 직사각형 영역들만을 변화 영역(430)으로 캡처할 수 있다. 또한, 변화 영역(430)의 사이즈와 변화 영역(430)에 상응하는 이미지 성질을 고려하여 스틸 이미지 압축 기법을 선택하고, 선택한 스틸 이미지 압축 기법을 이용하여 변화 영역(430)을 인코딩할 수 있다.
이와 같이 첫번째 프레임(410)과 두번째 프레임(420)은 분명 변화가 있는 프레임으로 기존의 클라우드 스트리밍 서비스 시에는 두 프레임을 포함하여 프레임 레이트에 상응하는 수의 프레임들을 모두 캡처하여 인코딩을 수행해야 할 수 있다. 하지만 스틸 이미지 기반 클라우드 스트리밍 서비스는 변화 영역(430)만을 캡처하여 스틸 이미지 압축 기법으로 인코딩하기 때문에, 불필요하게 많은 프레임과 프레임의 화면 전체를 캡처하는 기존의 클라우드 스트리밍 서비스 방법보다 서비스의 효율성을 향상시킬 수 있다.
도 5는 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스에서 변화 영역을 결정하는 과정을 나타낸 도면이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스는 첫번째 프레임(410)의 픽셀 값을 이용하여 산출된 프로파일(V(i) 및 H(j)) 및 및 두번째 프레임(420)의 픽셀 값을 이용하여 산출된 프로파일(V'(i) 및 H'(j))을 비교하여 첫번째 프레임(410)으로부터 변화된 두번째 프레임(420)의 변화 영역(430)을 결정한다.
예를 들어, 이전 프레임의 수직 프로파일(V(i)) 및 현재 프레임의 수직 프로파일(V'(i))이 서로 상이하게 되는 가로 좌표 성분(V(i)≠V'(i)를 만족하는 i)이 {3, 4, 5, 6} 이고, 이전 프레임의 수평 프로파일(H(j)) 및 현재 프레임의 수평 프로파일(H'(j))이 서로 상이하게 되는 세로 좌표 성분(H(j)≠H'(j)를 만족하는 j)이 {3, 4, 7, 8} 인 경우, {(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 7), (4, 7), (5, 7), (6, 7), (3, 8), (4, 8), (5, 8), (6, 8)}을 포함하는 영역을 변화 영역(430)으로 결정할 수 있다. 즉, {(3, 3), (6, 3), (3, 4), (6, 4)}를 네 꼭지점으로 하는 제1 부분 변화 영역(431) 및 {(3, 7), (6, 7), (3, 8), (6, 8)}을 네 꼭지점으로 하는 제2 부분 변화 영역(432)과 같이 적어도 하나 이상의 직사각형 영역들을 변화 영역(430)으로 결정할 수 있다.
도 6은 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 이전 프레임으로부터 변화된 현재 프레임의 변화 영역을 결정한다(S605).
비디오 코덱 기반의 클라우드 스트리밍 기법은 어플리케이션이 동작하는 화면에 상응하는 모든 프레임을 캡처하여 인코딩을 수행할 수 있다. 그러나 어플리케이션이 동작하는 화면 상에서 프레임간 변화가 크지 않은 경우에는 이전 프레임과 비교하여 변화된 프레임의 변화 영역만을 캡처하여 스틸 이미지 인코딩을 수행하고, 사용자의 단말 장치에 디스플레이 할 때 변화 영역을 제외한 부분은 동일하게 보여주고 변화 영역만 변화를 주는 방식으로 디스플레이 할 수 있다.
이 때, 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 변화 영역으로 결정할 수 있다. 예를 들어 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역이 A 영역이라면, 변화된 프레임에 상응하는 화면 영역 중 A 영역만을 변화 영역으로 결정할 수 있다. 이러한 변화 영역은 사용자의 단말 장치에서 입력되는 입력 신호에 따라 사이즈나 변화 영역에 상응하는 이미지의 성질이 다양할 수 있다.
이 때, 이전 프레임 및 현재 프레임 각각에 대해 행 단위로 픽셀 값들을 합산하는 수평 프로파일 및 열 단위로 픽셀 값들을 합산하는 수직 프로파일을 산출하고, 이전 프레임의 수평 프로파일 및 현재 프레임의 수평 프로파일을 비교하고, 이전 프레임의 수직 프로파일 및 현재 프레임의 수직 프로파일을 비교하여 변화 영역을 결정할 수 있다.
이 때, 수평 프로파일 및 수직 프로파일은 각 픽셀마다 서로 다른 가중치가 부여된 픽셀 값들을 합산하여 산출된 것일 수 있다.
이 때, 가중치는 픽셀의 좌표 성분들 중 어느 하나를 2의 지수로 한 값이고, 수평 프로파일 및 수직 프로파일은 픽셀 값에 가중치를 곱한 값들을 합산하여 산출된 것일 수 있다.
예를 들어, 수평 프로파일은 상기 수학식 1, 수직 프로파일은 상기 수학식 2와 같을 수 있다.
이 때, 단계(S605)는 이전 프레임의 수평 프로파일 및 현재 프레임의 수평 프로파일이 서로 상이하게 되는 세로 좌표 성분들을 획득하고, 이전 프레임의 수직 프로파일 및 현재 프레임의 수직 프로파일이 서로 상이하게 되는 가로 좌표 성분들을 획득하고, 가로 좌표 성분들 중 어느 하나 및 세로 좌표 성분들 중 어느 하나로 이루어진 좌표들을 포함하는 적어도 하나 이상의 직사각형 영역을 변화 영역으로 결정할 수 있다.
예를 들어, 이전 프레임의 수직 프로파일(V(i)) 및 현재 프레임의 수직 프로파일(V'(i))이 서로 상이하게 되는 가로 좌표 성분(V(i)≠V'(i)를 만족하는 i)이 {3, 4, 5, 6} 이고, 이전 프레임의 수평 프로파일(H(j)) 및 현재 프레임의 수평 프로파일(H'(j))이 서로 상이하게 되는 세로 좌표 성분(H(j)≠H'(j)를 만족하는 j)이 {3, 4, 7, 8} 인 경우, 변화 영역은 {(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 7), (4, 7), (5, 7), (6, 7), (3, 8), (4, 8), (5, 8), (6, 8)}을 포함하는 직사각형 영역일 수 있다. 즉, {(3, 3), (6, 3), (3, 4), (6, 4)}를 네 꼭지점으로 하는 제1 직사각형 영역 및 {(3, 7), (6, 7), (3, 8), (6, 8)}을 네 꼭지점으로 하는 제2 직사각형 영역과 같이 적어도 하나 이상의 직사각형 영역들을 변화 영역으로 결정할 수 있다.
또한, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 변화 영역을 캡처한다(S610). 이 때, 사용자의 단말 장치로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다.
이 때, 사용자의 단말 장치로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다. 예를 들어, 사용자의 단말 장치로부터 발생하는 입력신호에 따라 어플리케이션의 이벤트 유형이 결정될 수 있다. 입력신호에 따라 메뉴, 옵션, 안내 창과 같이 어플리케이션을 실행하였을 때 프레임의 변화가 적은 정적인 이벤트 또는 동영상 재생 및 게임 플레이와 같이 프레임이 자주 변하는 동적인 이벤트가 발생할 수 있다. 따라서, 사용자가 단말 장치를 통해 발생시키는 입력신호로 이벤트 유형을 감지하고, 이벤트 유형이 정적인 이벤트라면, 해당 이벤트에 상응하는 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출할 수 있다.
또한, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 변화 영역에 상응하는 이미지의 컬러 개수 및 이미지 화소값의 표준 편차 중 하나 이상을 고려하여 결정한 이미지 타입에 따라 스틸 이미지(still image) 압축 기법을 선택하고, 스틸 이미지 압축 기법을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다(S620). 예를 들어, 캡처된 변화 영역의 이미지 타입이 하나의 사진이나 그림과 같은 타입이거나 또는 여러 개의 이미지가 합쳐져서 만들어진 이미지일 수 있기 때문에, 이미지 타입을 결정하고 각각의 이미지 타입에 적합한 스틸 이미지 압축 기법을 선택하여 스틸 이미지 인코딩을 수행함으로써 변화 영역의 압축 효율을 상승시킬 수 있다.
이 때, 자연 이미지(natural image) 및 합성 이미지(synthetic image) 중 어느 하나의 이미지 타입에 따라 스틸 이미지 압축 기법을 선택할 수 있다. 자연 이미지는 자연적으로 발생한 객체의 이미지를 의미할 수 있다. 예를 들어, 하나의 사진이나 그림과 같은 광학 이미지뿐 아니라 엑스레이와 적외선 같은 다른 파장의 이미지들을 의미할 수도 있다. 합성 이미지는 자연 이미지와 다르게 컴퓨터나 인위적 수단을 통해 생성되거나 합성된 이미지를 의미할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수를 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 자연 이미지의 경우 자연적으로 발생한 객체에 대한 이미지일 수 있기 때문에, 이미지를 표현하는 컬러에 적용된 명도와 채도의 변화가 합성 이미지보다 정교할 수 있다. 따라서, 자연 이미지를 나타내기 위해 구성된 화소들이 표현하는 컬러의 개수가 합성 이미지보다 다양할 수 있기 때문에, 변화 영역에 상응하는 이미지의 컬러 개수를 고려하여 변화 영역에 상응하는 이미지 타입을 결정할 수 있다. 예를 들어, 기설정된 기준 개수를 10만개라고 설정하였다면, 변화 영역에 상응하는 이미지를 구성하는 컬러의 개수가 10만개를 초과하는 경우에는 이미지 타입을 자연 이미지로 결정하고, 10만개 이하인 경우에는 이미지 타입을 합성 이미지로 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우 변화 영역에 상응하는 이미지 화소값의 표준 편차를 고려하여 이미지 타입을 결정할 수 있다. 화소값의 표준 편차는 변화 영역에 상응하는 이미지를 구성하는 화소들이 나타내는 컬러값의 분포도일 수 있다. 만약 컬러값의 분포도가 0이라면 모든 컬러가 같은 값이라는 의미일 수 있기 때문에, 컬러값의 분포도, 즉 화소값의 표준 편차가 작다는 것은 이미지를 구성하는 컬러의 개수가 적다는 의미와 상통할 수 있다. 따라서, 이와 같은 이미지 화소값의 표준 편차를 고려하여 변화 영역에 상응하는 이미지의 이미지 타입을 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하이고, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값 이하인 경우 이미지 타입을 합성 이미지로 결정할 수 있다. 예를 들어, 이미지의 컬러 개수에 대해서 기설정된 기준 개수가 10만개이고, 이미지 화소값의 표준 편차에 대해 기설정된 기준 값이 N이라고 가정할 수 있다. 이 때, 변화 영역에 상응하는 이미지를 구성하는 컬러의 개수가 10만개 이하이면서, 변화 영역에 상응하는 이미지를 구성하는 화소들이 나타내는 컬러값의 분포도가 N보다 작은 값일 경우 변화 영역에 상응하는 이미지의 이미지 타입을 합성 이미지로 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값을 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 예를 들어, 변화 영역을 상응하는 이미지 화소값의 표준 편차가 기설정된 기준값을 초과한다면 그만큼 이미지를 구성하는 컬러의 개수가 많다는 의미일 수 있다. 따라서, 이미지 화소값의 표준 편차가 기설정된 기준값을 초과한다면, 변화 영역에 상응하는 이미지가 많은 컬러로 구성된 자연 이미지라고 판단할 수 있다.
이 때, 이미지 타입에 따라 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나의 스틸 이미지 압축 기법을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다.
PNG 스틸 이미지 압축 기법은 인코딩 시 이미지의 화질은 좋으나 데이터의 크기가 커져서 전송 망의 대역폭이 낮은 경우에는 전송 속도가 저하될 수 있는 기법이며, JPEG 스틸 이미지 압축 기법은 압축 효율이 좋아서 인코딩 시 전송 데이터 량을 대폭 줄일 수 있으나, 압축 효율이 큰 만큼 인코딩 및 디코딩을 수행할 때 시스템 부하를 많이 발생시킬 수 있는 기법이다. 또한, JPEG 스틸 이미지 압축 기법은 한 픽셀 주위에 서로 비슷한 색이 모여 있는 자연 이미지를 압축하였을 때 압축 효율이 더 효과적일 수 있다. 따라서, 변화 영역에 상응하는 이미지 타입이 자연 이미지인 경우에는 JPEG 스틸 이미지 압축 기법으로 변화 영역을 인코딩할 수 있다.
또한, 변화 영역이 합성 이미지인 경우에는 JPEG 스틸 이미지 압축 기법을 사용하더라도 자연 이미지처럼 압축 효율을 기대하기 어려울 수 있다. 따라서, 변화 영역에 상응하는 이미지의 이미지 타입이 합성 이미지인 경우에는 이미지의 화질을 높일 수 있는 PNG 스틸 이미지 압축 기법을 선택하여 변화 영역의 스틸 이미지 인코딩을 수행할 수 있다.
또한, 변화 영역이 합성 이미지이고 변화 영역의 사이즈가 커서 데이터가 큰 경우에는 데이터의 크기를 줄일 수 있는 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 변화 영역을 인코딩할 수 있다. 팔렛티드 PNG 스틸 이미지 압축 기법은 인코딩 시 이미지의 데이터 크기가 줄어들어 전송 속도는 보장할 수 있지만, 8비트로 색상을 표현하기 때문에 이미지 화질에 열화를 가져올 수 있다.
또한, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다(S630). 인코딩을 완료함으로써 압축된 변화 영역을 사용자의 단말 장치로 전송함으로써, 사용자의 단말 장치에서 어플리케이션을 실행되는 느낌을 받을 수 있도록 클라우드 스트리밍 서비스를 수행할 수 있다.
또한, 도 5에는 도시하지 아니하였으나 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 과정에서 발생되는 다양한 정보를 저장한다.
본 발명에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 모든 형태의 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서와 같이 본 발명에 따른 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
이하 본 발명의 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. 또한 제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다.
도 1은 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 시스템을 나타낸 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 다른 클라우드 스트리밍 서비스 시스템은 클라우드 스트리밍 서버(110), 단말 장치들(120-1, …, 120-N) 및 네트워크(130)를 포함한다.
클라우드 스트리밍 서버(110)는 단말 장치들(120-1, …, 120-N)로부터 클라우드 스트리밍 서비스 요청을 받아 어플리케이션을 실행하고, 어플리케이션 실행 결과에 해당하는 실행 결과 화면을 단말 장치들(120-1, …, 120-N)에게 제공한다.
클라우드 스트리밍 서비스는 기본적으로 비디오 코덱 기반의 클라우드 스트리밍 기법을 적용하기 때문에 메뉴 디스플레이와 같은 정적인 화면에 대해서 클라우드 스트리밍 기법을 적용하는 경우에도 불필요하게 화면 전체를 캡처하여 비디오 코덱으로 인코딩하는 비효율적인 방법으로 클라우드 스트리밍 서비스를 수행하였다. 이러한 문제점을 해결하기 위해 본 발명은 메뉴 디스플레이 화면과 같이 프레임간 변화가 크지 않은 경우에는 클라우드 스트리밍 서버가 프레임간 변화를 검출하고, 검출된 변화 영역만을 스틸 이미지 압축 기법으로 인코딩하는 클라우드 스트리밍 시스템을 제공한다.
클라우드 스트리밍 서버(110)는 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 이전 프레임으로부터 변화된 현재 프레임의 변화 영역을 결정하고, 변화 영역을 캡처한다. 이 때, 단말 장치들(120-1, …, 120-N)로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다. 이 때, 단말 장치들(120-1, …, 120-N)로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다.
또한, 클라우드 스트리밍 서버(110)는 변화 영역에 상응하는 이미지의 컬러 개수 및 이미지 화소값의 표준 편차 중 하나 이상을 고려하여 결정한 이미지 타입에 따라 스틸 이미지(still image) 압축 기법을 선택하고, 스틸 이미지 압축 기법을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다. 이 때, 자연 이미지(natural image) 및 합성 이미지(synthetic image) 중 어느 하나의 이미지 타입에 따라 스틸 이미지 압축 기법을 선택할 수 있다. 이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수를 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우 변화 영역에 상응하는 이미지 화소값의 표준 편차를 고려하여 이미지 타입을 결정할 수 있다. 이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하이고, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값 이하인 경우 이미지 타입을 합성 이미지로 결정할 수 있다. 이 때, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값을 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 이 때, 이미지 타입에 따라 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나의 스틸 이미지 압축 기법을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다.
또한, 클라우드 스트리밍 서버(110)는 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다.
단말 장치들(120-1, …, 120-N)은 클라우드 스트리밍 서버(110)로부터 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하여 사용자에게 제공한다.
단말 장치들(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) 단말일 수 있다.
네트워크(130)는 클라우드 스트리밍 서버(110)및 단말 장치들(120-1, …, 120-N) 사이에 데이터를 전달하는 통로를 제공하는 것으로서, 기존에 이용되는 네트워크 및 향후 개발 가능한 네트워크를 모두 포괄하는 개념이다. 예를 들어, 네트워크(130)는 한정된 지역 내에서 각종 정보장치들의 통신을 제공하는 유무선근거리 통신망, 이동체 상호 간 및 이동체와 이동체 외부와의 통신을 제공하는 이동통신망, 위성을 이용해 지구국과 지구국간 통신을 제공하는 위성통신망이거나 유무선 통신망 중에서 어느 하나이거나, 둘 이상의 결합으로 이루어질 수 있다. 한편, 네트워크(130)의 전송 방식 표준은, 기존의 전송 방식 표준에 한정되는 것은 아니며, 향후 개발될 모든 전송 방식 표준을 포함할 수 있다. 또한, 도 1에서 클라우드 스트리밍 서버(110)와 단말 장치들(120-1, …, 120-N) 사이에 사용되는 네트워크는 단말 장치들(120-1, …, 120-N) 상호간에 사용되는 네트워크와 상이한 것일 수도 있고, 동일한 것일 수도 있다.
도 2는 도 1에 도시된 클라우드 스트리밍 서버(110)의 일 예를 나타낸 블록도이다.
도 2를 참조하면, 도 1에 도시된 클라우드 스트리밍 서버(110)는 변화 영역 결정부(205), 캡처부(210), 인코딩부(220), 센딩부(230) 및 저장부(240)를 포함한다.
클라우드 스트리밍 서비스는 기본적으로 비디오 코덱 기반의 클라우드 스트리밍 기법을 적용하기 때문에 메뉴 디스플레이와 같은 정적인 화면에 대해서 클라우드 스트리밍 기법을 적용하는 경우에도 불필요하게 화면 전체를 캡처하여 비디오 코덱으로 인코딩하는 비효율적인 방법으로 클라우드 스트리밍 서비스를 수행하였다. 이러한 문제점을 해결하기 위해 본 발명은 메뉴 디스플레이 화면과 같이 프레임간 변화가 크지 않은 경우에는 클라우드 스트리밍 서버가 프레임간 변화를 검출하고, 검출된 변화 영역만을 스틸 이미지 압축 기법으로 인코딩하는 클라우드 스트리밍 서버(110)를 제공한다.
변화 영역 결정부(205)는 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 이전 프레임으로부터 변화된 현재 프레임의 변화 영역을 결정한다.
비디오 코덱 기반의 클라우드 스트리밍 기법은 어플리케이션이 동작하는 화면에 상응하는 모든 프레임을 캡처하여 인코딩을 수행할 수 있다. 그러나 어플리케이션이 동작하는 화면 상에서 프레임간 변화가 크지 않은 경우에는 이전 프레임과 비교하여 변화된 프레임의 변화 영역만을 캡처하여 스틸 이미지 인코딩을 수행하고, 사용자의 단말 장치에 디스플레이 할 때 변화 영역을 제외한 부분은 동일하게 보여주고 변화 영역만 변화를 주는 방식으로 디스플레이 할 수 있다.
이 때, 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 변화 영역으로 결정할 수 있다. 예를 들어 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역이 A 영역이라면, 변화된 프레임에 상응하는 화면 영역 중 A 영역만을 변화 영역으로 결정할 수 있다. 이러한 변화 영역은 사용자의 단말 장치에서 입력되는 입력 신호에 따라 사이즈나 변화 영역에 상응하는 이미지의 성질이 다양할 수 있다.
이 때, 이전 프레임 및 현재 프레임 각각에 대해 행 단위로 픽셀 값들을 합산하는 수평 프로파일 및 열 단위로 픽셀 값들을 합산하는 수직 프로파일을 산출하고, 이전 프레임의 수평 프로파일 및 현재 프레임의 수평 프로파일을 비교하고, 이전 프레임의 수직 프로파일 및 현재 프레임의 수직 프로파일을 비교하여 변화 영역을 결정할 수 있다.
이 때, 수평 프로파일 및 수직 프로파일은 각 픽셀마다 서로 다른 가중치가 부여된 픽셀 값들을 합산하여 산출된 것일 수 있다.
이 때, 가중치는 픽셀의 좌표 성분들 중 어느 하나를 2의 지수로 한 값이고, 수평 프로파일 및 수직 프로파일은 픽셀 값에 가중치를 곱한 값들을 합산하여 산출된 것일 수 있다.
예를 들어, 수평 프로파일은 하기 수학식 1과 같을 수 있다.
[수학식 1]
이 때, H(j)는 수평 프로파일, M은 프레임의 행 개수, N은 프레임의 열 개수, P(i, j)는 (i, j) 좌표에 해당하는 픽셀 값, i는 픽셀의 x좌표, j는 픽셀의 y좌표, 2 k 는 가중치이다.
이 때, i는 0 내지 N-1 중 어느 하나의 값을 가지며, j는 0 내지 M-1 중 어느 하나의 값을 가진다.
이 때, k는 각 픽셀들마다 서로 다른 가중치를 부여하기 위한 i 및 j를 변수로 하는 함수 값일 수 있다. 예를 들어, k는 j+(i*M) 혹은 i+(j*N)에 해당하는 값일 수 있다.
수평 프로파일과 마찬가지로, 수직 프로파일은 하기 수학식 2와 같을 수 있다.
[수학식 2]
이 때, V(i)는 수평 프로파일, M은 프레임의 행 개수, N은 프레임의 열 개수, P(i, j)는 (i, j) 좌표에 해당하는 픽셀 값, i는 픽셀의 x좌표, j는 픽셀의 y좌표, 2 k 는 가중치이다.
이 때, i는 0 내지 N-1 중 어느 하나의 값을 가지며, j는 0 내지 M-1 중 어느 하나의 값을 가진다.
이 때, k는 각 픽셀들마다 서로 다른 가중치를 부여하기 위한 i 및 j를 변수로 하는 함수 값일 수 있다. 예를 들어, k는 j+(i*M) 혹은 i+(j*N)에 해당하는 값일 수 있다.
이 때, 변화 영역 결정부(205)는 이전 프레임의 수평 프로파일 및 현재 프레임의 수평 프로파일이 서로 상이하게 되는 세로 좌표 성분들을 획득하고, 이전 프레임의 수직 프로파일 및 현재 프레임의 수직 프로파일이 서로 상이하게 되는 가로 좌표 성분들을 획득하고, 가로 좌표 성분들 중 어느 하나 및 세로 좌표 성분들 중 어느 하나로 이루어진 좌표들을 포함하는 적어도 하나 이상의 직사각형 영역을 변화 영역으로 결정할 수 있다. 이 때, 변화 영역 결정부(205)는 가로 좌표 성분들 중 어느 하나 및 세로 좌표 성분들 중 어느 하나로 이루어진 좌표들만을 포함하는 직사각형 영역을 변화 영역으로 결정함으로써, 변화 픽셀들을 포함하면서 최소 넓이를 가지는 직사각형 영역을 변화 영역으로 결정하게 되는 효과를 가질 수 있다.
예를 들어, 이전 프레임의 수직 프로파일(V(i)) 및 현재 프레임의 수직 프로파일(V'(i))이 서로 상이하게 되는 가로 좌표 성분(V(i)≠V'(i)를 만족하는 i)이 {3, 4, 5, 6} 이고, 이전 프레임의 수평 프로파일(H(j)) 및 현재 프레임의 수평 프로파일(H'(j))이 서로 상이하게 되는 세로 좌표 성분(H(j)≠H'(j)를 만족하는 j)이 {3, 4, 7, 8} 인 경우, 변화 영역은 {(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 7), (4, 7), (5, 7), (6, 7), (3, 8), (4, 8), (5, 8), (6, 8)}을 포함하는 직사각형 영역일 수 있다. 즉, {(3, 3), (6, 3), (3, 4), (6, 4)}를 네 꼭지점으로 하는 제1 직사각형 영역 및 {(3, 7), (6, 7), (3, 8), (6, 8)}을 네 꼭지점으로 하는 제2 직사각형 영역과 같이 적어도 하나 이상의 직사각형 영역들을 변화 영역으로 결정할 수 있다.
캡처부(210)는 변화 영역을 캡처한다. 이 때, 사용자의 단말 장치로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다.
이 때, 사용자의 단말 장치로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다. 예를 들어, 사용자의 단말 장치로부터 발생하는 입력신호에 따라 어플리케이션의 이벤트 유형이 결정될 수 있다. 입력신호에 따라 메뉴, 옵션, 안내 창과 같이 어플리케이션을 실행하였을 때 프레임의 변화가 적은 정적인 이벤트 또는 동영상 재생 및 게임 플레이와 같이 프레임이 자주 변하는 동적인 이벤트가 발생할 수 있다. 따라서, 사용자가 단말 장치를 통해 발생시키는 입력신호로 이벤트 유형을 감지하고, 이벤트 유형이 정적인 이벤트라면, 해당 이벤트에 상응하는 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출할 수 있다.
인코딩부(220)는 변화 영역에 상응하는 이미지의 컬러 개수 및 이미지 화소값의 표준 편차 중 하나 이상을 고려하여 결정한 이미지 타입에 따라 스틸 이미지(still image) 압축 기법을 선택하고, 스틸 이미지 압축 기법을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다. 예를 들어, 캡처된 변화 영역의 이미지 타입이 하나의 사진이나 그림과 같은 타입이거나 또는 여러 개의 이미지가 합쳐져서 만들어진 이미지일 수 있기 때문에, 이미지 타입을 결정하고 각각의 이미지 타입에 적합한 스틸 이미지 압축 기법을 선택하여 스틸 이미지 인코딩을 수행함으로써 변화 영역의 압축 효율을 상승시킬 수 있다.
이 때, 자연 이미지(natural image) 및 합성 이미지(synthetic image) 중 어느 하나의 이미지 타입에 따라 스틸 이미지 압축 기법을 선택할 수 있다. 자연 이미지는 자연적으로 발생한 객체의 이미지를 의미할 수 있다. 예를 들어, 하나의 사진이나 그림과 같은 광학 이미지뿐 아니라 엑스레이와 적외선 같은 다른 파장의 이미지들을 의미할 수도 있다. 합성 이미지는 자연 이미지와 다르게 컴퓨터나 인위적 수단을 통해 생성되거나 합성된 이미지를 의미할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수를 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 자연 이미지의 경우 자연적으로 발생한 객체에 대한 이미지일 수 있기 때문에, 이미지를 표현하는 컬러에 적용된 명도와 채도의 변화가 합성 이미지보다 정교할 수 있다. 따라서, 자연 이미지를 나타내기 위해 구성된 화소들이 표현하는 컬러의 개수가 합성 이미지보다 다양할 수 있기 때문에, 변화 영역에 상응하는 이미지의 컬러 개수를 고려하여 변화 영역에 상응하는 이미지 타입을 결정할 수 있다. 예를 들어, 기설정된 기준 개수를 10만개라고 설정하였다면, 변화 영역에 상응하는 이미지를 구성하는 컬러의 개수가 10만개를 초과하는 경우에는 이미지 타입을 자연 이미지로 결정하고, 10만개 이하인 경우에는 이미지 타입을 합성 이미지로 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우 변화 영역에 상응하는 이미지 화소값의 표준 편차를 고려하여 이미지 타입을 결정할 수 있다. 화소값의 표준 편차는 변화 영역에 상응하는 이미지를 구성하는 화소들이 나타내는 컬러값의 분포도일 수 있다. 만약 컬러값의 분포도가 0이라면 모든 컬러가 같은 값이라는 의미일 수 있기 때문에, 컬러값의 분포도, 즉 화소값의 표준 편차가 작다는 것은 이미지를 구성하는 컬러의 개수가 적다는 의미와 상통할 수 있다. 따라서, 이와 같은 이미지 화소값의 표준 편차를 고려하여 변화 영역에 상응하는 이미지의 이미지 타입을 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하이고, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값 이하인 경우 이미지 타입을 합성 이미지로 결정할 수 있다. 예를 들어, 이미지의 컬러 개수에 대해서 기설정된 기준 개수가 10만개이고, 이미지 화소값의 표준 편차에 대해 기설정된 기준 값이 N이라고 가정할 수 있다. 이 때, 변화 영역에 상응하는 이미지를 구성하는 컬러의 개수가 10만개 이하이면서, 변화 영역에 상응하는 이미지를 구성하는 화소들이 나타내는 컬러값의 분포도가 N보다 작은 값일 경우 변화 영역에 상응하는 이미지의 이미지 타입을 합성 이미지로 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값을 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 예를 들어, 변화 영역을 상응하는 이미지 화소값의 표준 편차가 기설정된 기준값을 초과한다면 그만큼 이미지를 구성하는 컬러의 개수가 많다는 의미일 수 있다. 따라서, 이미지 화소값의 표준 편차가 기설정된 기준값을 초과한다면, 변화 영역에 상응하는 이미지가 많은 컬러로 구성된 자연 이미지라고 판단할 수 있다.
이 때, 이미지 타입에 따라 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나의 스틸 이미지 압축 기법을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다.
PNG 스틸 이미지 압축 기법은 인코딩 시 이미지의 화질은 좋으나 데이터의 크기가 커져서 전송 망의 대역폭이 낮은 경우에는 전송 속도가 저하될 수 있는 기법이며, JPEG 스틸 이미지 압축 기법은 압축 효율이 좋아서 인코딩 시 전송 데이터 량을 대폭 줄일 수 있으나, 압축 효율이 큰 만큼 인코딩 및 디코딩을 수행할 때 시스템 부하를 많이 발생시킬 수 있는 기법이다. 또한, JPEG 스틸 이미지 압축 기법은 한 픽셀 주위에 서로 비슷한 색이 모여 있는 자연 이미지를 압축하였을 때 압축 효율이 더 효과적일 수 있다. 따라서, 변화 영역에 상응하는 이미지 타입이 자연 이미지인 경우에는 JPEG 스틸 이미지 압축 기법으로 변화 영역을 인코딩할 수 있다.
또한, 변화 영역이 합성 이미지인 경우에는 JPEG 스틸 이미지 압축 기법을 사용하더라도 자연 이미지처럼 압축 효율을 기대하기 어려울 수 있다. 따라서, 변화 영역에 상응하는 이미지의 이미지 타입이 합성 이미지인 경우에는 이미지의 화질을 높일 수 있는 PNG 스틸 이미지 압축 기법을 선택하여 변화 영역의 스틸 이미지 인코딩을 수행할 수 있다.
또한, 변화 영역이 합성 이미지이고 변화 영역의 사이즈가 커서 데이터가 큰 경우에는 데이터의 크기를 줄일 수 있는 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 변화 영역을 인코딩할 수 있다. 팔렛티드 PNG 스틸 이미지 압축 기법은 인코딩 시 이미지의 데이터 크기가 줄어들어 전송 속도는 보장할 수 있지만, 8비트로 색상을 표현하기 때문에 이미지 화질에 열화를 가져올 수 있다.
센딩부(230)는 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다. 인코딩을 완료함으로써 압축된 변화 영역을 사용자의 단말 장치로 전송함으로써, 사용자의 단말 장치에서 어플리케이션을 실행되는 느낌을 받을 수 있도록 클라우드 스트리밍 서비스를 수행할 수 있다.
저장부(240)는 상술한 바와 같이 본 발명의 실시예에 따른 클라우드 스트리밍 서비스 과정에서 발생되는 다양한 정보를 저장한다.
실시예에 따라, 저장부(240)는 클라우드 스트리밍 서버(110)와 독립적으로 구성되어 클라우드 스트리밍 서비스를 위한 기능을 지원할 수 있다. 이 때, 저장부(240)는 별도의 대용량 스토리지로 동작할 수 있고, 동작 수행을 위한 제어 기능을 포함할 수 있다.
또한, 상술한 바와 같이 구성되는 클라우드 스트리밍 서버(110)는 하나 이상의 서버로 구현될 수 있다.
한편, 클라우드 스트리밍 서버(110)는 메모리가 탑재되어 그 장치 내에서 정보를 저장할 수 있다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
도 3은 클라우드 스트리밍 시스템의 일 예를 나타낸 도면이다.
도 3을 참조하면, 서버(310)에서는 사용자의 단말 장치로부터 발생되는 사용자 입력(User Input)에 상응하는 프로그램 화면(310)을 실행시켜 캡처(Screen Capture)를 수행할 수 있다. 이 때, 서버(300)는 클라우드 스트리밍 서버와 웹 어플리케이션 서버를 통칭하는 서버일 수 있다. 또한, 프로그램 화면(310)을 실행시켜 캡처(Screen Capture)를 수행하는 과정은 도 2에 도시된 캡처부(210)의 동작 흐름과 상응할 수 있다.
서버(300)는 캡처(Screen Capture)된 프로그램 화면(310)을 스틸 이미지 압축 기법을 통해 인코딩(Image Encoding)(320)할 수 있다. 이 때, 인코딩 (Image Encoding)(320)을 수행하는 과정은 도 2에 도시된 인코딩부(220)의 동작 흐름과 상응할 수 있다.
이 때, 이전 프레임과 현재 프레임을 비교하여 상기 이전 프레임으로부터 변화된 상기 현재 프레임의 변화 영역만을 캡처할 수 있다. 또한, 변화된 영역의 이미지 타입을 고려하여 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나의 스틸 이미지 압축 기법을 선택하고, 선택한 스틸 이미지 압축 기법으로 변화된 영역을 인코딩할 수 있다.
이 후, 서버(300)는 스틸 이미지 인코딩된 변화된 영역을 사용자의 단말 장치로 스트리밍(Streaming)(330)하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 제공할 수 있다. 이 때, 스트리밍(Streaming)(330)을 수행하는 과정은 도 2에 도시된 센딩부(230)의 동작 흐름과 상응할 수 있다.
이 후, 사용자의 단말 장치에서는 수신한 데이터를 렌더링(Image Rendering)(340)함으로써 사용자 입력(User Input)에 의해 어플리케이션에서 실행된 프로그램 화면(310)이 마치 사용자의 단말 장치에서 실행된 것처럼 사용자에게 디스플레이 할 수 있다.
도 4는 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스에서 변화 영역을 캡처하는 과정을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 스틸 이미지 기반 클라우드 스트리밍 서비스는 첫번째 프레임(410)과 두번째 프레임(420)을 비교하여 변화된 변화 영역(430)만을 캡처하여 인코딩할 수 있다.
예를 들어, 첫번째 프레임(410)과 두번째 프레임(420)에서 B, C, D 및 E의 영역을 메뉴 디스플레이라고 가정하였을 때, 첫번째 프레임(410)에서는 C 영역에 커서가 위치함으로써 C 영역이 다른 B, D, 및 E 영역과 구별될 수 있도록 음영처리 되었고, 두번째 프레임(420)에서는 C 영역에서 E 영역으로 커서가 이동함으로써 E 영역이 다른 B, C 및 D 영역과 구별될 수 있도록 음영처리 될 수 있다.
이 때, 첫번째 프레임(410)과 두번째 프레임(420)을 비교하였을 때 변화된 영역인 C와 E 영역을 포함하는 직사각형 영역들만을 변화 영역(430)으로 캡처할 수 있다. 또한, 변화 영역(430)의 사이즈와 변화 영역(430)에 상응하는 이미지 성질을 고려하여 스틸 이미지 압축 기법을 선택하고, 선택한 스틸 이미지 압축 기법을 이용하여 변화 영역(430)을 인코딩할 수 있다.
이와 같이 첫번째 프레임(410)과 두번째 프레임(420)은 분명 변화가 있는 프레임으로 기존의 클라우드 스트리밍 서비스 시에는 두 프레임을 포함하여 프레임 레이트에 상응하는 수의 프레임들을 모두 캡처하여 인코딩을 수행해야 할 수 있다. 하지만 스틸 이미지 기반 클라우드 스트리밍 서비스는 변화 영역(430)만을 캡처하여 스틸 이미지 압축 기법으로 인코딩하기 때문에, 불필요하게 많은 프레임과 프레임의 화면 전체를 캡처하는 기존의 클라우드 스트리밍 서비스 방법보다 서비스의 효율성을 향상시킬 수 있다.
도 5는 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스에서 변화 영역을 결정하는 과정을 나타낸 도면이다.
도 5를 참조하면, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스는 첫번째 프레임(410)의 픽셀 값을 이용하여 산출된 프로파일(V(i) 및 H(j)) 및 및 두번째 프레임(420)의 픽셀 값을 이용하여 산출된 프로파일(V'(i) 및 H'(j))을 비교하여 첫번째 프레임(410)으로부터 변화된 두번째 프레임(420)의 변화 영역(430)을 결정한다.
예를 들어, 이전 프레임의 수직 프로파일(V(i)) 및 현재 프레임의 수직 프로파일(V'(i))이 서로 상이하게 되는 가로 좌표 성분(V(i)≠V'(i)를 만족하는 i)이 {3, 4, 5, 6} 이고, 이전 프레임의 수평 프로파일(H(j)) 및 현재 프레임의 수평 프로파일(H'(j))이 서로 상이하게 되는 세로 좌표 성분(H(j)≠H'(j)를 만족하는 j)이 {3, 4, 7, 8} 인 경우, {(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 7), (4, 7), (5, 7), (6, 7), (3, 8), (4, 8), (5, 8), (6, 8)}을 포함하는 영역을 변화 영역(430)으로 결정할 수 있다. 즉, {(3, 3), (6, 3), (3, 4), (6, 4)}를 네 꼭지점으로 하는 제1 부분 변화 영역(431) 및 {(3, 7), (6, 7), (3, 8), (6, 8)}을 네 꼭지점으로 하는 제2 부분 변화 영역(432)과 같이 적어도 하나 이상의 직사각형 영역들을 변화 영역(430)으로 결정할 수 있다.
도 6은 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법을 나타낸 동작 흐름도이다.
도 6을 참조하면, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 이전 프레임으로부터 변화된 현재 프레임의 변화 영역을 결정한다(S605).
비디오 코덱 기반의 클라우드 스트리밍 기법은 어플리케이션이 동작하는 화면에 상응하는 모든 프레임을 캡처하여 인코딩을 수행할 수 있다. 그러나 어플리케이션이 동작하는 화면 상에서 프레임간 변화가 크지 않은 경우에는 이전 프레임과 비교하여 변화된 프레임의 변화 영역만을 캡처하여 스틸 이미지 인코딩을 수행하고, 사용자의 단말 장치에 디스플레이 할 때 변화 영역을 제외한 부분은 동일하게 보여주고 변화 영역만 변화를 주는 방식으로 디스플레이 할 수 있다.
이 때, 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역을 변화 영역으로 결정할 수 있다. 예를 들어 변화된 프레임에 상응하는 화면 영역 중 이전 프레임에 상응하는 화면 영역과 비교하여 변화된 영역이 A 영역이라면, 변화된 프레임에 상응하는 화면 영역 중 A 영역만을 변화 영역으로 결정할 수 있다. 이러한 변화 영역은 사용자의 단말 장치에서 입력되는 입력 신호에 따라 사이즈나 변화 영역에 상응하는 이미지의 성질이 다양할 수 있다.
이 때, 이전 프레임 및 현재 프레임 각각에 대해 행 단위로 픽셀 값들을 합산하는 수평 프로파일 및 열 단위로 픽셀 값들을 합산하는 수직 프로파일을 산출하고, 이전 프레임의 수평 프로파일 및 현재 프레임의 수평 프로파일을 비교하고, 이전 프레임의 수직 프로파일 및 현재 프레임의 수직 프로파일을 비교하여 변화 영역을 결정할 수 있다.
이 때, 수평 프로파일 및 수직 프로파일은 각 픽셀마다 서로 다른 가중치가 부여된 픽셀 값들을 합산하여 산출된 것일 수 있다.
이 때, 가중치는 픽셀의 좌표 성분들 중 어느 하나를 2의 지수로 한 값이고, 수평 프로파일 및 수직 프로파일은 픽셀 값에 가중치를 곱한 값들을 합산하여 산출된 것일 수 있다.
예를 들어, 수평 프로파일은 상기 수학식 1, 수직 프로파일은 상기 수학식 2와 같을 수 있다.
이 때, 단계(S605)는 이전 프레임의 수평 프로파일 및 현재 프레임의 수평 프로파일이 서로 상이하게 되는 세로 좌표 성분들을 획득하고, 이전 프레임의 수직 프로파일 및 현재 프레임의 수직 프로파일이 서로 상이하게 되는 가로 좌표 성분들을 획득하고, 가로 좌표 성분들 중 어느 하나 및 세로 좌표 성분들 중 어느 하나로 이루어진 좌표들을 포함하는 적어도 하나 이상의 직사각형 영역을 변화 영역으로 결정할 수 있다.
예를 들어, 이전 프레임의 수직 프로파일(V(i)) 및 현재 프레임의 수직 프로파일(V'(i))이 서로 상이하게 되는 가로 좌표 성분(V(i)≠V'(i)를 만족하는 i)이 {3, 4, 5, 6} 이고, 이전 프레임의 수평 프로파일(H(j)) 및 현재 프레임의 수평 프로파일(H'(j))이 서로 상이하게 되는 세로 좌표 성분(H(j)≠H'(j)를 만족하는 j)이 {3, 4, 7, 8} 인 경우, 변화 영역은 {(3, 3), (4, 3), (5, 3), (6, 3), (3, 4), (4, 4), (5, 4), (6, 4), (3, 7), (4, 7), (5, 7), (6, 7), (3, 8), (4, 8), (5, 8), (6, 8)}을 포함하는 직사각형 영역일 수 있다. 즉, {(3, 3), (6, 3), (3, 4), (6, 4)}를 네 꼭지점으로 하는 제1 직사각형 영역 및 {(3, 7), (6, 7), (3, 8), (6, 8)}을 네 꼭지점으로 하는 제2 직사각형 영역과 같이 적어도 하나 이상의 직사각형 영역들을 변화 영역으로 결정할 수 있다.
또한, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 변화 영역을 캡처한다(S610). 이 때, 사용자의 단말 장치로 전송될 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출하고, 프레임 변화가 적은 구간에서 변화 영역을 캡처할 수 있다.
이 때, 사용자의 단말 장치로부터 발생하는 어플리케이션의 이벤트 유형을 감지하여 프레임 변화가 적은 구간을 검출할 수 있다. 예를 들어, 사용자의 단말 장치로부터 발생하는 입력신호에 따라 어플리케이션의 이벤트 유형이 결정될 수 있다. 입력신호에 따라 메뉴, 옵션, 안내 창과 같이 어플리케이션을 실행하였을 때 프레임의 변화가 적은 정적인 이벤트 또는 동영상 재생 및 게임 플레이와 같이 프레임이 자주 변하는 동적인 이벤트가 발생할 수 있다. 따라서, 사용자가 단말 장치를 통해 발생시키는 입력신호로 이벤트 유형을 감지하고, 이벤트 유형이 정적인 이벤트라면, 해당 이벤트에 상응하는 프레임 전체 구간 중 프레임 변화가 적은 구간을 검출할 수 있다.
또한, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 변화 영역에 상응하는 이미지의 컬러 개수 및 이미지 화소값의 표준 편차 중 하나 이상을 고려하여 결정한 이미지 타입에 따라 스틸 이미지(still image) 압축 기법을 선택하고, 스틸 이미지 압축 기법을 이용하여 하나의 프레임에 상응하는 변화 영역을 스틸 이미지 인코딩한다(S620). 예를 들어, 캡처된 변화 영역의 이미지 타입이 하나의 사진이나 그림과 같은 타입이거나 또는 여러 개의 이미지가 합쳐져서 만들어진 이미지일 수 있기 때문에, 이미지 타입을 결정하고 각각의 이미지 타입에 적합한 스틸 이미지 압축 기법을 선택하여 스틸 이미지 인코딩을 수행함으로써 변화 영역의 압축 효율을 상승시킬 수 있다.
이 때, 자연 이미지(natural image) 및 합성 이미지(synthetic image) 중 어느 하나의 이미지 타입에 따라 스틸 이미지 압축 기법을 선택할 수 있다. 자연 이미지는 자연적으로 발생한 객체의 이미지를 의미할 수 있다. 예를 들어, 하나의 사진이나 그림과 같은 광학 이미지뿐 아니라 엑스레이와 적외선 같은 다른 파장의 이미지들을 의미할 수도 있다. 합성 이미지는 자연 이미지와 다르게 컴퓨터나 인위적 수단을 통해 생성되거나 합성된 이미지를 의미할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수를 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 자연 이미지의 경우 자연적으로 발생한 객체에 대한 이미지일 수 있기 때문에, 이미지를 표현하는 컬러에 적용된 명도와 채도의 변화가 합성 이미지보다 정교할 수 있다. 따라서, 자연 이미지를 나타내기 위해 구성된 화소들이 표현하는 컬러의 개수가 합성 이미지보다 다양할 수 있기 때문에, 변화 영역에 상응하는 이미지의 컬러 개수를 고려하여 변화 영역에 상응하는 이미지 타입을 결정할 수 있다. 예를 들어, 기설정된 기준 개수를 10만개라고 설정하였다면, 변화 영역에 상응하는 이미지를 구성하는 컬러의 개수가 10만개를 초과하는 경우에는 이미지 타입을 자연 이미지로 결정하고, 10만개 이하인 경우에는 이미지 타입을 합성 이미지로 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우 변화 영역에 상응하는 이미지 화소값의 표준 편차를 고려하여 이미지 타입을 결정할 수 있다. 화소값의 표준 편차는 변화 영역에 상응하는 이미지를 구성하는 화소들이 나타내는 컬러값의 분포도일 수 있다. 만약 컬러값의 분포도가 0이라면 모든 컬러가 같은 값이라는 의미일 수 있기 때문에, 컬러값의 분포도, 즉 화소값의 표준 편차가 작다는 것은 이미지를 구성하는 컬러의 개수가 적다는 의미와 상통할 수 있다. 따라서, 이와 같은 이미지 화소값의 표준 편차를 고려하여 변화 영역에 상응하는 이미지의 이미지 타입을 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지의 컬러 개수가 기설정된 기준 개수 이하이고, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값 이하인 경우 이미지 타입을 합성 이미지로 결정할 수 있다. 예를 들어, 이미지의 컬러 개수에 대해서 기설정된 기준 개수가 10만개이고, 이미지 화소값의 표준 편차에 대해 기설정된 기준 값이 N이라고 가정할 수 있다. 이 때, 변화 영역에 상응하는 이미지를 구성하는 컬러의 개수가 10만개 이하이면서, 변화 영역에 상응하는 이미지를 구성하는 화소들이 나타내는 컬러값의 분포도가 N보다 작은 값일 경우 변화 영역에 상응하는 이미지의 이미지 타입을 합성 이미지로 결정할 수 있다.
이 때, 변화 영역에 상응하는 이미지 화소값의 표준 편차가 기설정된 기준 값을 초과하는 경우 이미지 타입을 자연 이미지로 결정할 수 있다. 예를 들어, 변화 영역을 상응하는 이미지 화소값의 표준 편차가 기설정된 기준값을 초과한다면 그만큼 이미지를 구성하는 컬러의 개수가 많다는 의미일 수 있다. 따라서, 이미지 화소값의 표준 편차가 기설정된 기준값을 초과한다면, 변화 영역에 상응하는 이미지가 많은 컬러로 구성된 자연 이미지라고 판단할 수 있다.
이 때, 이미지 타입에 따라 PNG(portable network graphics) 및 JPEG(joint photography experts group) 중 어느 하나의 스틸 이미지 압축 기법을 이용하여 변화 영역을 스틸 이미지 인코딩할 수 있다.
PNG 스틸 이미지 압축 기법은 인코딩 시 이미지의 화질은 좋으나 데이터의 크기가 커져서 전송 망의 대역폭이 낮은 경우에는 전송 속도가 저하될 수 있는 기법이며, JPEG 스틸 이미지 압축 기법은 압축 효율이 좋아서 인코딩 시 전송 데이터 량을 대폭 줄일 수 있으나, 압축 효율이 큰 만큼 인코딩 및 디코딩을 수행할 때 시스템 부하를 많이 발생시킬 수 있는 기법이다. 또한, JPEG 스틸 이미지 압축 기법은 한 픽셀 주위에 서로 비슷한 색이 모여 있는 자연 이미지를 압축하였을 때 압축 효율이 더 효과적일 수 있다. 따라서, 변화 영역에 상응하는 이미지 타입이 자연 이미지인 경우에는 JPEG 스틸 이미지 압축 기법으로 변화 영역을 인코딩할 수 있다.
또한, 변화 영역이 합성 이미지인 경우에는 JPEG 스틸 이미지 압축 기법을 사용하더라도 자연 이미지처럼 압축 효율을 기대하기 어려울 수 있다. 따라서, 변화 영역에 상응하는 이미지의 이미지 타입이 합성 이미지인 경우에는 이미지의 화질을 높일 수 있는 PNG 스틸 이미지 압축 기법을 선택하여 변화 영역의 스틸 이미지 인코딩을 수행할 수 있다.
또한, 변화 영역이 합성 이미지이고 변화 영역의 사이즈가 커서 데이터가 큰 경우에는 데이터의 크기를 줄일 수 있는 팔렛티드 PNG(portable network graphics) 스틸 이미지 압축 기법을 이용하여 변화 영역을 인코딩할 수 있다. 팔렛티드 PNG 스틸 이미지 압축 기법은 인코딩 시 이미지의 데이터 크기가 줄어들어 전송 속도는 보장할 수 있지만, 8비트로 색상을 표현하기 때문에 이미지 화질에 열화를 가져올 수 있다.
또한, 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 스틸 이미지 인코딩된 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행한다(S630). 인코딩을 완료함으로써 압축된 변화 영역을 사용자의 단말 장치로 전송함으로써, 사용자의 단말 장치에서 어플리케이션을 실행되는 느낌을 받을 수 있도록 클라우드 스트리밍 서비스를 수행할 수 있다.
또한, 도 5에는 도시하지 아니하였으나 본 발명의 일실시예에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 본 발명의 일실시예에 따른 클라우드 스트리밍 서비스 과정에서 발생되는 다양한 정보를 저장한다.
본 발명에 따른 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 모든 형태의 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상에서와 같이 본 발명에 따른 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치는 상기한 바와 같이 설명된 실시예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상기 실시예들은 다양한 변형이 이루어질 수 있도록 각 실시예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
110: 클라우드 스트리밍 서버 120-1~ 120-N: 단말 장치들
130: 네트워크 205: 변화 영역 결정부
210: 캡처부 220: 인코딩부
230: 센딩부 240: 저장부
300: 서버 310: 프로그램 화면
320: 이미지 인코딩 330: 스트리밍
340: 이미지 렌더링 410: 첫번째 프레임
420: 두번째 프레임 430: 변화 영역
431, 432: 부분 변화 영역들
130: 네트워크 205: 변화 영역 결정부
210: 캡처부 220: 인코딩부
230: 센딩부 240: 저장부
300: 서버 310: 프로그램 화면
320: 이미지 인코딩 330: 스트리밍
340: 이미지 렌더링 410: 첫번째 프레임
420: 두번째 프레임 430: 변화 영역
431, 432: 부분 변화 영역들
Claims (16)
- 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 상기 이전 프레임으로부터 변화된 상기 현재 프레임의 변화 영역을 결정하는 변화 영역 결정부;
상기 변화 영역을 캡처하는 캡처부;
스틸 이미지(still image) 압축 기법을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하는 인코딩부; 및
스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 센딩부
를 포함하고,
상기 프로파일은
수평 프로파일 및 수직 프로파일을 포함하고,
상기 인코딩부는
1차적으로 상기 변화 영역에 상응하는 이미지의 컬러 개수를 고려하여 결정한 이미지 타입에 따라 상기 스틸 이미지 압축 기법을 선택하되, 상기 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우에는 2차적으로 상기 변화 영역에 상응하는 이미지의 화소값의 표준 편차를 고려하여 상기 이미지의 타입을 결정하는 것을 특징으로 하는 클라우드 스트리밍 서버. - 청구항 1에 있어서,
상기 수평 프로파일은
상기 이전 프레임 및 상기 현재 프레임 각각에 대해 행 단위로 픽셀 값들을 합산하여 산출되고,
상기 수직 프로파일은
상기 이전 프레임 및 상기 현재 프레임 각각에 대해 열 단위로 픽셀 값들을 합산하여 산출되는 것을 특징으로 하는 클라우드 스트리밍 서버. - 청구항 2에 있어서,
상기 수평 프로파일 및 상기 수직 프로파일은
각 픽셀마다 서로 다른 가중치가 부여된 픽셀 값들을 합산하여 산출되는 것을 특징으로 하는 클라우드 스트리밍 서버. - 삭제
- 삭제
- 삭제
- 삭제
- 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 상기 이전 프레임으로부터 변화된 상기 현재 프레임의 변화 영역을 결정하는 단계;
상기 변화 영역을 캡처하는 단계;
스틸 이미지(still image) 압축 기법을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하는 단계; 및
스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 단계
를 포함하고,
상기 스틸 이미지 인코딩하는 단계는
1차적으로 상기 변화 영역에 상응하는 이미지의 컬러 개수를 고려하여 결정한 이미지 타입에 따라 상기 스틸 이미지 압축 기법을 선택하되, 상기 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우에는 2차적으로 상기 변화 영역에 상응하는 이미지의 화소값의 표준 편차를 고려하여 상기 이미지의 타입을 결정하는 것을 특징으로 하는 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 이전 프레임의 픽셀 값을 이용하여 산출된 프로파일 및 현재 프레임의 픽셀 값을 이용하여 산출된 프로파일을 비교하여 상기 이전 프레임으로부터 변화된 상기 현재 프레임의 변화 영역을 결정하여 상기 변화 영역을 캡처하고, 스틸 이미지(still image) 압축 기법을 이용하여 하나의 프레임에 상응하는 상기 변화 영역을 스틸 이미지 인코딩하고, 스틸 이미지 인코딩된 상기 변화 영역을 사용자에게 전송하여 스틸 이미지 기반의 클라우드 스트리밍 서비스를 수행하는 클라우드 스트리밍 서버; 및
상기 클라우드 스트리밍 서버로부터 상기 클라우드 스트리밍 서비스에 상응하는 어플리케이션 실행 결과 화면을 수신하는 단말
을 포함하고,
상기 클라우드 스트리밍 서버는
1차적으로 상기 변화 영역에 상응하는 이미지의 컬러 개수를 고려하여 결정한 이미지 타입에 따라 상기 스틸 이미지 압축 기법을 선택하되, 상기 이미지의 컬러 개수가 기설정된 기준 개수 이하인 경우에는 2차적으로 상기 변화 영역에 상응하는 이미지의 화소값의 표준 편차를 고려하여 상기 이미지의 타입을 결정하는 것을 특징으로 하는 클라우드 스트리밍 서비스 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20140097322 | 2014-07-30 | ||
KR1020140097322 | 2014-07-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160015136A KR20160015136A (ko) | 2016-02-12 |
KR102273141B1 true KR102273141B1 (ko) | 2021-07-05 |
Family
ID=55355071
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140110551A KR102199270B1 (ko) | 2014-07-30 | 2014-08-25 | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR1020140141983A KR102225607B1 (ko) | 2014-07-30 | 2014-10-20 | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR1020140156004A KR102232899B1 (ko) | 2014-07-30 | 2014-11-11 | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR1020150000827A KR102247886B1 (ko) | 2014-07-30 | 2015-01-05 | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR1020150006050A KR102273141B1 (ko) | 2014-07-30 | 2015-01-13 | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR1020210028265A KR102384174B1 (ko) | 2014-07-30 | 2021-03-03 | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140110551A KR102199270B1 (ko) | 2014-07-30 | 2014-08-25 | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR1020140141983A KR102225607B1 (ko) | 2014-07-30 | 2014-10-20 | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR1020140156004A KR102232899B1 (ko) | 2014-07-30 | 2014-11-11 | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR1020150000827A KR102247886B1 (ko) | 2014-07-30 | 2015-01-05 | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210028265A KR102384174B1 (ko) | 2014-07-30 | 2021-03-03 | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Country Status (1)
Country | Link |
---|---|
KR (6) | KR102199270B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102664681B1 (ko) | 2018-06-19 | 2024-05-09 | 삼성전자 주식회사 | 영상 압축을 수행하는 전자 장치 및 전자 장치의 동작 방법 |
KR102078576B1 (ko) | 2018-08-22 | 2020-02-19 | 에스케이플래닛 주식회사 | 알파 데이터 압축을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
KR20210147596A (ko) | 2020-05-29 | 2021-12-07 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 서비스 제공 방법 및 장치 |
KR102678714B1 (ko) * | 2023-11-23 | 2024-06-26 | (주)뷰텍솔루션 | 프레임 이미지 변화 용량 대비 부분 렌더링 처리 방법 및 그 시스템 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2486475A (en) * | 2010-12-16 | 2012-06-20 | Norland Technology Ltd | Encoding, transmitting and displaying a sequence of images using a difference image |
US20130155075A1 (en) * | 2011-12-15 | 2013-06-20 | Fujitsu Limited | Information processing device, image transmission method, and recording medium |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5032419B2 (ja) * | 2008-08-27 | 2012-09-26 | 株式会社東芝 | サーバ、画面送信方法およびコンピュータプログラム |
JP5198543B2 (ja) * | 2010-11-19 | 2013-05-15 | 株式会社東芝 | 画像処理方法、画像処理装置及び画像処理プログラム |
KR101777776B1 (ko) * | 2011-07-22 | 2017-09-12 | 에스케이플래닛 주식회사 | 표본 프로파일 정보 기반 움직임 추정장치 및 방법 |
JP2013131990A (ja) * | 2011-12-22 | 2013-07-04 | Ricoh Co Ltd | 情報処理装置及びプログラム |
KR101430930B1 (ko) | 2012-12-12 | 2014-09-25 | 에스케이플래닛 주식회사 | 클라우드 스트리밍 기반의 게임 제공 방법, 시스템, 클라이언트 단말기 및 서비스장치 |
KR20140027040A (ko) | 2013-12-30 | 2014-03-06 | 주식회사 큐램 | 적응 이미지 압축시스템 및 그 방법 |
-
2014
- 2014-08-25 KR KR1020140110551A patent/KR102199270B1/ko active IP Right Grant
- 2014-10-20 KR KR1020140141983A patent/KR102225607B1/ko active IP Right Grant
- 2014-11-11 KR KR1020140156004A patent/KR102232899B1/ko active IP Right Grant
-
2015
- 2015-01-05 KR KR1020150000827A patent/KR102247886B1/ko active IP Right Grant
- 2015-01-13 KR KR1020150006050A patent/KR102273141B1/ko active IP Right Grant
-
2021
- 2021-03-03 KR KR1020210028265A patent/KR102384174B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2486475A (en) * | 2010-12-16 | 2012-06-20 | Norland Technology Ltd | Encoding, transmitting and displaying a sequence of images using a difference image |
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 |
---|---|
KR20160015123A (ko) | 2016-02-12 |
KR102232899B1 (ko) | 2021-03-29 |
KR20210029746A (ko) | 2021-03-16 |
KR20160015134A (ko) | 2016-02-12 |
KR102384174B1 (ko) | 2022-04-08 |
KR102247886B1 (ko) | 2021-05-06 |
KR20160015128A (ko) | 2016-02-12 |
KR20160015136A (ko) | 2016-02-12 |
KR102199270B1 (ko) | 2021-01-07 |
KR20160015125A (ko) | 2016-02-12 |
KR102225607B1 (ko) | 2021-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102384174B1 (ko) | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
US10652591B2 (en) | System for cloud streaming service, method for same using still-image compression technique and apparatus therefor | |
US10462200B2 (en) | System for cloud streaming service, method for still image-based cloud streaming service and apparatus therefor | |
KR102409033B1 (ko) | 클라우드 스트리밍 서비스 시스템, 알파 레벨을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
JP6483850B2 (ja) | データ処理方法および装置 | |
KR102407477B1 (ko) | 클라우드 스트리밍 서비스 시스템, 이미지 타입에 따른 알파 값을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
JP5981803B2 (ja) | 画質評価装置、画質評価方法及び画質評価プログラム | |
KR102271721B1 (ko) | 클라우드 스트리밍 서비스 시스템, 단말 성능을 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102247887B1 (ko) | 클라우드 스트리밍 서비스 시스템, 소스 정보를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102273143B1 (ko) | 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102405143B1 (ko) | 클라우드 스트리밍 서비스 시스템, 컬러 비트 감소를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102313516B1 (ko) | 클라우드 스트리밍 서비스 시스템, 메시지 기반 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102313533B1 (ko) | 클라우드 스트리밍 서비스 시스템, 전체 화면 변화를 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102313532B1 (ko) | 클라우드 스트리밍 서비스 시스템, 애니메이션 메시지를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102265419B1 (ko) | 클라우드 스트리밍 서비스 시스템, 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102225610B1 (ko) | 클라우드 스트리밍 서비스 시스템, 메시지 기반 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102272357B1 (ko) | 클라우드 스트리밍 서비스 시스템, 드로잉 레이어 분리를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102225609B1 (ko) | 클라우드 스트리밍 서비스 시스템, 전체 화면 변화를 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102354269B1 (ko) | 클라우드 스트리밍 서비스 시스템, 씬 영역 특성을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102442698B1 (ko) | 클라우드 스트리밍 서비스 시스템, os 메시지를 이용한 변화 영역 탐지 기반의 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102273142B1 (ko) | 클라우드 스트리밍 서비스 시스템, 어플리케이션 코드 변환을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 | |
KR102247889B1 (ko) | 클라우드 스트리밍 서비스 시스템, 시스템 자원을 절약하기 위한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |