JP2017529716A - クラウドストリーミングサービスシステム、スチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法及びそのための装置 - Google Patents

クラウドストリーミングサービスシステム、スチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法及びそのための装置 Download PDF

Info

Publication number
JP2017529716A
JP2017529716A JP2016575537A JP2016575537A JP2017529716A JP 2017529716 A JP2017529716 A JP 2017529716A JP 2016575537 A JP2016575537 A JP 2016575537A JP 2016575537 A JP2016575537 A JP 2016575537A JP 2017529716 A JP2017529716 A JP 2017529716A
Authority
JP
Japan
Prior art keywords
image
encoding
cloud streaming
still image
change
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2016575537A
Other languages
English (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
Priority claimed from KR1020140133176A external-priority patent/KR102265419B1/ko
Priority claimed from KR1020140134512A external-priority patent/KR102247657B1/ko
Priority claimed from KR1020140137733A external-priority patent/KR102247887B1/ko
Priority claimed from KR1020140141983A external-priority patent/KR102225607B1/ko
Application filed by エントリクス カンパニー、リミテッド, エントリクス カンパニー、リミテッド filed Critical エントリクス カンパニー、リミテッド
Priority claimed from PCT/KR2015/006950 external-priority patent/WO2016017952A1/ko
Publication of JP2017529716A publication Critical patent/JP2017529716A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/102Methods 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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/102Methods 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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
    • 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/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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • 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/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2320/00Control of display operating conditions
    • G09G2320/06Adjustment of display parameters
    • G09G2320/0613The adjustment depending on the type of the information to be displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/02Handling of images in compressed format, e.g. JPEG, MPEG
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/08Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs

Abstract

本発明は、クラウドストリーミングサービスシステム、スチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法及びそのための装置に関し、特に、以前フレームと現在フレームを比較し、前記以前フレームから変化した前記現在フレームの変化領域を決定して変化領域をキャプチャし、スチールイメージ圧縮技法でエンコーディングした変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うことができる。クラウドストリーミングサービスの提供時に、イメージタイプに適したスチールイメージ圧縮技法を使用することによって、スチールイメージの圧縮効率とクラウドストリーミングサービスの速度を向上させることが可能である。

Description

本発明は、クラウドストリーミングサービスシステム、スチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法及びそのための装置(SYSTEM FOR CLOUDS TREAMING SERVICE、METHOD OF CLOUD STREAMING SERVICE USING STILL IMAGE COMPRESSIONTECHNIQUE AND APPARATUS FOR THE SAME)に関し、さらに詳細には、クラウドストリーミングサービス時に以前フレーム及び現在フレームの変化領域のみに対してスチールイメージ圧縮技法を適用し、サービス速度を向上させることができ、イメージ特性情報を利用してエンコーディング方式を決定することによって、イメージプロセッシングのためのシステム資源を節約でき、イメージの特性によってエンコーディング処理ユニットを選択してエンコーディングすることによって、サーバーの資源をさらに効率的に使用でき、エンコーディング過程によってエンコーディング処理ユニットをプロセス別に分離し、エンコーディングを行うことによって、サーバーの資源を節減できるクラウドストリーミングサービスシステム、スチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法及びそのための装置に関する。
本発明は、2014年7月30日に出願された韓国特許出願第10−2014−0097322号、2014年10月2日に出願された韓国特許出願第10−2014−0133176号、2014年10月6日に出願された韓国特許出願第10−2014−0134512号、2014年10月13日に出願された韓国特許出願第10−2014−0137733号及び2014年10月20日に出願された韓国特許出願第10−2014−0141983号の出願日の利益を主張し、その内容全部は、本明細書に含まれる。
クラウドストリーミングサービスは、基本的に、ビデオコーデック基盤のクラウドストリーミング技法が適用され、メニューディスプレイなどを適用する場合にも、不要に画面全体をキャプチャし、ビデオコーデックを利用して動作し、クラウドストリーミングサービスが非効率的であった。
すなわち、静的な画面がユーザの入力によって少しずつ変わる画面に対するクラウドストリーミング適用時には、ビデオコーデックを利用したクラウドストリーミングサービスよりイメージ基盤クラウドストリーミングサービスが効果的なことがある。
言い替えれば、スチールイメージ基盤のクラウドストリーミングサービスを行う場合、フレーム間変化が発生した領域を正確に検出し、最小領域のみを伝送すると、さらに効果的なクラウドストリーミングサービスが可能である。
また、スチールイメージコーデックを適用する場合、圧縮対象イメージのイメージタイプによってそのデータ量が千差万別であり、圧縮に使用されるスチールイメージ圧縮技法によってクラウドストリーミングサービスの効率性が大きく変わることができる。したがって、イメージタイプを迅速で且つ正確に区分し、適応的にイメージクラウドを適用できる新しい技法の必要性が切実に提起される。
また、スチールイメージ基盤のクラウドストリーミングサービスを行う場合、フレーム間変化が発生した領域を正確に検出することが非常に重要な問題であり、したがって、さらに簡単で且つさらに効果的な変化領域検出技術が必要である。
しかも、ケーブルやIPTV事業者が長期間多様な種類のセットトップボックスを供給しているため、セットトップボックスごとに性能の差異が千差万別であり、実際に最近10余年の間に、総15種類以上のセットトップが普及されて来た。また、良い性能のセットトップと悪い性能のセットトップとの間の性能の差異が非常に大きいため、コンテンツ供給者が所望する方式でコンテンツがユーザに供給されない場合が発生する。
また、スチールイメージ基盤のクラウドストリーミングサービスを行う場合、ウェブアプリのためのコードを作成するウェブアプリ開発者は、自分が従来使用した方式でコードを作成しようとし、クラウドストリーミングサーバーの入場では、できるだけ、アニメーションなどが適用されず、キャプチャすべきイメージ情報とアニメーションの属性に該当する情報のみを含むコードを希望するため、互いに相反する面がある。すなわち、ウェブアプリ開発者がCSサーバー側で所望のコードを提供するためには、従来自分が使用した方式ではなく、新しいコードを提供しなければならない問題がある。
関連先行技術では、韓国公開特許第10−2014−0027040号、2014年03月06日公開(名称:適応イメージ圧縮システム及びその方法)、韓国公開特許第10−2014−0045013号、2014年04月16日公開(名称:API情報を利用したクラウドディスプレイ画面の符号化方法及びその装置)、韓国公開特許第10−2012−0105688号、2012年09月26日公開(名称:異機種サーバー/クライアント間仮想化サービスシステム及び方法)及び韓国公開特許第10−2014−0021388号、2014年02月20日公開(名称:グラフィックプロセスユニット基盤JPEG2000エンコーディング/デコーディング装置及び方法)がある。
本発明の目的は、スチールイメージ基盤クラウドストリーミングサービスの提供時に、状況に合うスチールイメージ圧縮技法を使用することによって、圧縮効率とクラウドストリーミングサービス速度を向上させることにある。
また、本発明の目的は、スチールイメージ基盤クラウドストリーミングサービスの提供時に、イメージタイプに適したスチールイメージ圧縮技法を使用することによって、圧縮効率とクラウドストリーミングサービス速度を向上させることにある。
また、本発明の目的は、スチールイメージ基盤クラウドストリーミングサービスを通じてストリーミング圧縮効率を極大化し、同一の帯域を通じて一層速くて且つさらに多いユーザを対象としてクラウドストリーミングサービスを提供することにある。
また、本発明の目的は、スチールイメージ圧縮技法を利用したクラウドストリーミングサービスの提供時に、以前フレーム及び現在フレームの変化領域のみに対してスチールイメージ圧縮技法を適用することによって、同一の帯域を通じて一層速くて且つさらに多いユーザを対象としてクラウドストリーミングサービスを提供することにある。
また、本発明の目的は、スチールイメージ圧縮技法を利用したクラウドストリーミングサービスの提供時に、以前フレーム及び現在フレームの差分フレームをスキャニング(scanning)し、変化領域を決定することによって、スチールイメージ圧縮対象を一層速く検出することにある。
また、本発明の目的は、アプリケーションソースコード及びMPEGテクスチャ記述子で生成したイメージ特性情報を利用してエンコーディング方式を決定することによって、従来イメージプロセッシングを行うために必要であったクラウドストリーミングサーバーの資源を節約し、さらに効率的なクラウドストリーミングサーバーを構成することにある。
また、本発明の目的は、イメージ特性情報を基盤としてスチールイメージエンコーディングを行うことによって、イメージプロセッシングに必要なサービス時間を節約し、ユーザに一層迅速にクラウドストリーミングサービスを提供することにある。
また、本発明の目的は、クラウドストリーミングサービスの効率性を向上させることによって、クラウドストリーミングサービス処理費用を節約することにある。
また、本発明の目的は、クラウドストリーミングサービスの提供時に、エンコーディング過程によるプロセス別にエンコーディング処理ユニットを分離してエンコーディングを行うことによって、クラウドストリーミングサーバーの資源使用を節約することにある。
また、本発明の目的は、クラウドストリーミングサービスの提供時に、中央処理ユニットと共にグラフィック処理ユニットを利用してサービスを処理することによって、サーバーの負荷に発生し得る遅延状況を減少させることにある。
前記目的を達成するための本発明の一実施形態によるクラウドストリーミングサーバーは、以前フレームと現在フレームを比較し、前記以前フレームから変化した前記現在フレームの変化領域を決定する変化領域決定部と、前記変化領域をキャプチャするキャプチャ部と、スチールイメージ(still image)圧縮技法を利用して一つのフレームに相当する前記変化領域をスチールイメージエンコーディングするエンコーディング部と、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うセンディング部とを含む。
この際、変化領域決定部は、前記以前フレーム及び前記現在フレームの差分フレームを算出し、前記差分フレームを利用して前記変化領域を決定できる。
この際、変化領域決定部は、前記差分フレームをスキャニング(scanning)し、前記以前フレームから変化した前記現在フレームの変化ピクセルを感知し、前記変化領域を決定できる。
この際、変化領域決定部は、前記差分フレームを水平スキャニング(horizontal scanning)及び垂直スキャニング(vertical scanning)して感知される変化ピクセルを含む前記変化領域を決定できる。
この際、変化領域決定部は、前記差分フレームの上端から下方向に進行しつつ、行単位で水平スキャニングして最初に感知される変化ピクセルから第1縦座標要素を獲得し、下端から上方向に進行しつつ、行単位で水平スキャニングして最初に感知される変化ピクセルから第2縦座標要素を獲得し、左側端から右側方向に進行すると、列単位で垂直スキャニングして最初に感知される変化ピクセルから第1横座標要素を獲得し、右側端から左側方向に進行しつつ、列単位で垂直スキャニングして最初に感知される変化ピクセルから第2横座標要素を獲得し、前記横座標要素のうちいずれか一つ及び前記縦座標要素のうちいずれか一つを一対にして構成される座標に相当する変化ピクセルを含む矩形領域を前記変化領域として決定できる。
この際、変化領域決定部は、前記変化ピクセルを含み、且つ最小広さを有する矩形領域を前記変化領域として決定できる。
この際、変化領域決定部は、前記横座標要素のうちいずれか一つ及び前記縦座標要素のうちいずれか一つを一対にして構成される4個の座標を頂点とする矩形領域を前記変化領域として決定できる。
また、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法は、以前フレームと現在フレームを比較し、前記以前フレームから変化した前記現在フレームの変化領域を決定する段階と、前記変化領域をキャプチャする段階と、スチールイメージ(still image)圧縮技法を利用して一つのフレームに相当する前記変化領域をスチールイメージエンコーディングする段階と、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う段階とを含む。
この際、変化領域を決定する段階は、前記以前フレーム及び前記現在フレームの差分フレームを算出し、前記差分フレームを利用して前記変化領域を決定できる。
この際、変化領域を決定する段階は、前記差分フレームをスキャニング(scanning)し、前記以前フレームから変化した前記現在フレームの変化ピクセルを感知し、前記変化領域を決定できる。
この際、変化領域を決定する段階は、前記差分フレームを水平スキャニング(horizontal scanning)及び垂直スキャニング(vertical scanning)して感知される変化ピクセルを含む前記変化領域を決定できる。
この際、変化領域を決定する段階は、前記差分フレームの上端から下方向に進行しつつ、行単位で水平スキャニングして最初に感知される変化ピクセルから第1縦座標要素を獲得し、下端から上方向に進行しつつ、行単位で水平スキャニングして最初に感知される変化ピクセルから第2縦座標要素を獲得し、左側端から右側方向に進行すると、列単位で垂直スキャニングして最初に感知される変化ピクセルから第1横座標要素を獲得し、右側端から左側方向に進行すると、列単位で垂直スキャニングして最初に感知される変化ピクセルから第2横座標要素を獲得し、前記横座標要素のうちいずれか一つ及び前記縦座標要素のうちいずれか一つを一対にして構成される座標に相当する変化ピクセルを含む矩形領域を前記変化領域として決定できる。
この際、変化領域を決定する段階は、前記変化ピクセルを含み、且つ最小広さを有する矩形領域を前記変化領域として決定できる。
この際、変化領域を決定する段階は、前記横座標要素のうちいずれか一つ及び前記縦座標要素のうちいずれか一つを一対にして構成される4個の座標を頂点とする矩形領域を前記変化領域として決定できる。
また、本発明の他の実施形態によるクラウドストリーミングサーバーは、変化したフレームに含まれた変化領域をキャプチャするキャプチャ部と、前記変化領域に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を決定し、前記エンコーディング方式を利用して前記変化領域をスチールイメージエンコーディングするエンコーディング部と、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うセンディング部とを含む。
この際、イメージ特性情報は、アプリケーションソースコードを基盤として生成されるか、MPEGテクスチャ記述子を利用して生成され得る。
この際、エンコーディング部は、前記イメージ特性情報が存在する場合、前記イメージ特性を基盤として前記エンコーディング方式を決定し、前記イメージ特性情報が存在しない場合、前記変化領域に相当するイメージを分析し、前記エンコーディング方式を決定できる。
この際、エンコーディング方式は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。
この際、エンコーディング部は、前記変化領域に相当するイメージを分析し、前記変化領域を一般領域及び絵領域のうちいずれか一つに区分し、前記一般領域のイメージプロセッシング結果及び前記絵領域のイメージタイプのうち少なくとも一つ以上を考慮して、前記エンコーディング方式を決定できる。
この際、イメージタイプは、自然イメージ及び合成イメージのうちいずれか一つに相当できる。
この際、キャプチャ部は、前記変化したフレームに相当する画面領域のうち前記変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を前記変化領域としてキャプチャできる。
この際、キャプチャ部は、前記ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、前記フレーム変化が少ない区間で前記変化領域をキャプチャできる。
この際、キャプチャ部は、前記ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、前記フレーム変化が少ない区間を検出できる。
また、本発明によるソース情報を利用したクラウドストリーミングサービス方法は、変化したフレームに含まれた変化領域をキャプチャする段階と、前記変化領域に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を決定し、前記エンコーディング方式を利用して前記変化領域をスチールイメージエンコーディングする段階と、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う段階を含む。
この際、イメージ特性情報は、アプリケーションソースコードを基盤として生成されるか、MPEGテクスチャ記述子を利用して生成され得る。
この際、エンコーディングする段階は、前記イメージ特性情報が存在する場合、前記イメージ特性を基盤として前記エンコーディング方式を決定し、前記イメージ特性情報が存在しない場合、前記変化領域に相当するイメージを分析し、前記エンコーディング方式を決定できる。
この際、エンコーディングする段階は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。
この際、エンコーディングする段階は、前記変化領域に相当するイメージを分析し、前記変化領域を一般領域及び絵領域のうちいずれか一つに区分し、前記一般領域のイメージプロセッシング結果及び前記絵領域のイメージタイプのうち少なくとも一つ以上を考慮して、前記エンコーディング方式を決定できる。
この際、イメージタイプは、自然イメージ及び合成イメージのうちいずれか一つに相当できる。
この際、キャプチャする段階は、前記変化したフレームに相当する画面領域のうち前記変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を前記変化領域としてキャプチャできる。
この際、キャプチャする段階は、前記ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、前記フレーム変化が少ない区間で前記変化領域をキャプチャできる。
この際、キャプチャする段階は、前記ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、前記フレーム変化が少ない区間を検出できる。
また、本発明の一実施形態によるクラウドストリーミングサービスシステムは、変化したフレームに含まれた変化領域をキャプチャし、前記変化領域に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を決定し、前記エンコーディング方式を利用して前記変化領域をスチールイメージエンコーディングし、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うクラウドストリーミングサーバーと、前記クラウドストリーミングサーバーから前記クラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信する端末と、を含む。
また、本発明のさらに他の実施形態によるクラウドストリーミングサーバーは、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャするキャプチャ部と、前記変化領域に相当するイメージ特性及びイメージ解像度のうち一つ以上を考慮してエンコーディング処理ユニットを選択し、前記エンコーディング処理ユニットを利用して一つのフレームに相当する前記変化領域をスチールイメージエンコーディングするエンコーディング部と、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うセンディング部とを含む。
この際、エンコーディング処理ユニットは、中央処理ユニット(Central Processing Unit;CPU)及びグラフィック処理ユニット(Graphics Processing Unit;GPU)のうちいずれか一つに相当できる。
この際、エンコーディング部は、前記イメージ特性及び前記イメージ解像度のうち一つ以上を考慮して、前記中央処理ユニットと前記グラフィック処理ユニット各々に対するエンコーディング処理費用を予測し、前記中央処理ユニット及びグラフィック処理ユニットのうち前記エンコーディング処理費用が低いエンコーディング処理ユニットを選択し、前記変化領域をスチールイメージエンコーディングできる。
この際、エンコーディング部は、前記変化領域に相当するイメージ解像度が既定の基準値以上である場合、前記グラフィック処理ユニットを利用して前記変化領域をスチールイメージエンコーディングできる。
この際、エンコーディング部は、前記変化領域に相当するイメージ解像度が既定の基準値未満である場合、前記イメージ特性によるスチールイメージ圧縮技法を考慮して、前記エンコーディング処理ユニットを選択できる。
この際、スチールイメージ圧縮技法は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。
この際、エンコーディング部は、前記イメージ解像度が既定の基準値未満であり、前記スチールイメージ圧縮技法が前記パレットPNGである場合、前記グラフィック処理ユニットを利用して前記変化領域をスチールイメージエンコーディングできる。
この際、キャプチャ部は、前記変化したフレームに相当する画面領域のうち前記以前フレームに相当する画面領域と比較して変化した領域を前記変化領域としてキャプチャできる。
この際、キャプチャ部は、前記ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、前記フレーム変化が少ない区間で前記変化領域をキャプチャできる。
この際、キャプチャ部は、前記ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、前記フレーム変化が少ない区間を検出できる。
また、本発明による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法は、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャする段階と、前記変化領域に相当するイメージ特性及びイメージ解像度のうち一つ以上を考慮してエンコーディング処理ユニットを選択し、前記エンコーディング処理ユニットを利用して一つのフレームに相当する前記変化領域をスチールイメージエンコーディングする段階と、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う段階とを含む。
この際、エンコーディング処理ユニットは、中央処理ユニット(Central Processing Unit;CPU)及びグラフィック処理ユニット(Graphics Processing Unit;GPU)のうちいずれか一つに相当できる。
この際、エンコーディングする段階は、前記イメージ特性及び前記イメージ解像度のうち一つ以上を考慮して、前記中央処理ユニットと前記グラフィック処理ユニット各々に対するエンコーディング処理費用を予測する段階を含み、前記中央処理ユニット及びグラフィック処理ユニットのうち前記エンコーディング処理費用が低いエンコーディング処理ユニットを選択し、前記変化領域をスチールイメージエンコーディングできる。
この際、エンコーディングする段階は、前記変化領域に相当するイメージ解像度が既定の基準値以上である場合、前記グラフィック処理ユニットを利用して前記変化領域をスチールイメージエンコーディングできる。
この際、エンコーディングする段階は、前記変化領域に相当するイメージ解像度が既定の基準値未満である場合、前記イメージ特性によるスチールイメージ圧縮技法を考慮して、前記エンコーディング処理ユニットを選択できる。
この際、スチールイメージ圧縮技法は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。
この際、エンコーディングする段階は、前記イメージ解像度が既定の基準値未満であり、前記スチールイメージ圧縮技法が前記パレットPNGである場合、前記中央処理ユニットを利用して前記変化領域をスチールイメージエンコーディングできる。
この際、キャプチャする段階は、前記変化したフレームに相当する画面領域のうち前記以前フレームに相当する画面領域と比較して変化した領域を前記変化領域としてキャプチャできる。
この際、キャプチャする段階は、前記ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、前記フレーム変化が少ない区間で前記変化領域をキャプチャできる。
この際、キャプチャする段階は、前記ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、前記フレーム変化が少ない区間を検出できる。
また、本発明の他の実施形態によるクラウドストリーミングサービスシステムは、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャし、前記変化領域に相当するイメージ特性及びイメージ解像度のうち一つ以上を考慮してエンコーディング処理ユニットを選択し、前記エンコーディング処理ユニットを利用して一つのフレームに相当する前記変化領域をスチールイメージエンコーディングし、スチールイメージエンコーディングされた前記変化領域を前記ユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うクラウドストリーミングサーバーと、前記クラウドストリーミングサーバーから前記クラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信する端末とを含む。
また、本発明のさらに他の実施形態によるクラウドストリーミングサーバーは、変化したフレームに含まれた変化領域をキャプチャするキャプチャ部と、前記変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、前記単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、前記グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当て、前記エンコーディングプロセスを行い、前記変化領域をスチールイメージエンコーディングするエンコーディング部と、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うセンディング部とを含む。
この際、単位プロセスは、前記変化領域に相当するイメージ分析、スチールイメージ圧縮技法の決定、スチールイメージ圧縮及び圧縮データ集約のうちいずれか一つに相当できる。
この際、エンコーディング部は、前記イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシングを基盤として、前記グラフィック処理ユニットに前記スチールイメージ圧縮に相当する単位プロセスを割り当てることができる。
この際、スチールイメージ圧縮は、前記変化領域に相当するイメージに対してカラーヒストグラム構成、パレット生成、パレット基盤の原本カラー量子化及びパレット基盤エンコーディング中の一つ以上の過程を含む。
この際、グラフィック処理ユニットは、前記スチールイメージ圧縮に相当するプロセッシング結果を前記中央処理ユニットに伝達できる。
この際、中央処理ユニットは、前記スチールイメージ圧縮に相当するプロセッシング結果を利用して前記圧縮データ集約に相当する単位プロセスを行うことができる。
この際、中央処理ユニットは、前記スチールイメージ圧縮に相当する単位プロセスが前記グラフィック処理ユニットに割り当てられた場合、前記変化領域に相当するイメージデータを前記グラフィック処理ユニットに伝達できる。
この際、キャプチャ部は、前記変化したフレームに相当する画面領域のうち前記変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を前記変化領域としてキャプチャできる。
この際、キャプチャ部は、前記ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、前記フレーム変化が少ない区間で前記変化領域をキャプチャできる。
この際、キャプチャ部は、前記ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、前記フレーム変化が少ない区間を検出できる。
また、本発明によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法は、変化したフレームに含まれた変化領域をキャプチャする段階と、前記変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、前記単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、前記グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当て、前記エンコーディングプロセスを行い、前記変化領域をスチールイメージエンコーディングする段階と、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う段階とを含む。
この際、単位プロセスは、前記変化領域に相当するイメージ分析、スチールイメージ圧縮技法の決定、スチールイメージ圧縮及び圧縮データ集約のうちいずれか一つに相当できる。
この際、エンコーディングする段階は、前記イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシングを基盤として、前記グラフィック処理ユニットに前記スチールイメージ圧縮に相当する単位プロセスを割り当てることができる。
この際、スチールイメージ圧縮は、前記変化領域に相当するイメージに対してカラーヒストグラム構成、パレット生成、パレット基盤の原本カラー量子化及びパレット基盤エンコーディング中の一つ以上の過程を含む。
この際、グラフィック処理ユニットは、前記スチールイメージ圧縮に相当するプロセッシング結果を前記中央処理ユニットに伝達できる。
この際、中央処理ユニットは、前記スチールイメージ圧縮に相当するプロセッシング結果を利用して前記圧縮データ集約に相当する単位プロセスを行うことができる。
この際、中央処理ユニットは、前記スチールイメージ圧縮に相当する単位プロセスが前記グラフィック処理ユニットに割り当てられた場合、前記変化領域に相当するイメージデータを前記グラフィック処理ユニットに伝達できる。
この際、キャプチャする段階は、前記変化したフレームに相当する画面領域のうち前記変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を前記変化領域としてキャプチャできる。
この際、キャプチャする段階は、前記ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、前記フレーム変化が少ない区間で前記変化領域をキャプチャできる。
この際、キャプチャする段階は、前記ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、前記フレーム変化が少ない区間を検出できる。
また、本発明のさらに他の実施形態によるクラウドストリーミングサービスシステムは、変化したフレームに含まれた変化領域をキャプチャし、前記変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、前記単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、前記グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当て、前記エンコーディングプロセスを行い、前記変化領域をスチールイメージエンコーディングし、スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うクラウドストリーミングサーバーと、前記クラウドストリーミングサーバーから前記クラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信する端末とを含む。
また、本発明の課題解決のためのさらに他の手段として、前述した方法を実行させるために媒体に格納されたコンピュータプログラムを提供する。
本発明によれば、スチールイメージ基盤クラウドストリーミングサービスの提供時に、状況に合うスチールイメージ圧縮技法を使用することによって、圧縮効率とクラウドストリーミングサービス速度を向上させることができる。
また、本発明は、スチールイメージ基盤クラウドストリーミングサービスの提供時に、イメージタイプに適したスチールイメージ圧縮技法を使用することによって、圧縮効率とクラウドストリーミングサービス速度を向上させることができる。
また、本発明は、スチールイメージ基盤クラウドストリーミングサービスを通じてストリーミング圧縮効率を極大化して同一の帯域を通じて一層速くて且つさらに多いユーザを対象としてクラウドストリーミングサービスを提供できる。
また、本発明は、スチールイメージ圧縮技法を利用したクラウドストリーミングサービスの提供時に、以前フレーム及び現在フレームの変化領域のみに対してスチールイメージ圧縮技法を適用することによって、同一の帯域を通じて一層速くて且つさらに多いユーザを対象としてクラウドストリーミングサービスを提供できる。
また、本発明は、スチールイメージ圧縮技法を利用したクラウドストリーミングサービスの提供時に、以前フレーム及び現在フレームの差分フレームをスキャニング(scanning)し、変化領域を決定することによって、スチールイメージ圧縮対象を一層速く検出できる。
また、本発明は、アプリケーションソースコード及びMPEGテクスチャ記述子で生成したイメージ特性情報を利用してエンコーディング方式を決定することによって、従来にイメージプロセッシングを行うために必要であったクラウドストリーミングサーバーの資源を節約し、さらに効率的なクラウドストリーミングサーバーを構成できる。
また、本発明は、イメージ特性情報を基盤としてスチールイメージエンコーディングを行うことによって、イメージプロセッシングに必要なサービス時間を節約し、ユーザに一層迅速にクラウドストリーミングサービスを提供できる。
また、本発明は、クラウドストリーミングサービスの効率性を向上させることによって、クラウドストリーミングサービス処理費用を節約できる。
また、本発明は、クラウドストリーミングサービスの提供時に、エンコーディング過程によるプロセス別にエンコーディング処理ユニットを分離してエンコーディングを行うことによって、クラウドストリーミングサーバーの資源使用を節約できる。
また、本発明は、クラウドストリーミングサービスの提供時に、中央処理ユニットと共にグラフィック処理ユニットを利用してサービスを処理することによって、サーバーの負荷に発生し得る遅延状況を減少させることができる。
図1は、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービスシステムを示すブロック図である。 図2は、図1に示されたクラウドストリーミングサーバーの一例を示すブロック図である。 図3は、クラウドストリーミングシステムの一例を示す図である。 図4は、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービスで変化領域をキャプチャする過程を示す図である。 図5は、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービスで変化領域を決定する過程を示す図である。 図6は、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法を示す動作流れ図である。 図7は、本発明の一実施形態によるクラウドストリーミングサービスシステムを示すブロック図である。 図8は、図7に示されたクラウドストリーミングサーバーの一例を示すブロック図である。 図9は、スチールイメージ基盤クラウドストリーミングシステムの一例を示す図である。 図10は、本発明の一実施形態によるクラウドストリーミングサービスで変化領域をキャプチャする過程を示す図である。 図11は、本発明の一実施形態によるソース情報を利用したクラウドストリーミングサービス方法を示す動作流れ図である。 図12は、本発明の一実施形態によるソース情報を利用したクラウドストリーミングサービス方法を詳細に示す動作流れ図である。 図13は、本発明の他の実施形態によるクラウドストリーミングサービスシステムを示すブロック図である。 図14は、図13に示されたクラウドストリーミングサーバーの一例を示すブロック図である。 図15は、スチールイメージ基盤クラウドストリーミングシステムの他の例を示す図である。 図16は、本発明の一実施形態によるエンコーディング処理ユニットを示す図である。 図17は、本発明の他の実施形態によるクラウドストリーミングサービスで変化領域をキャプチャする過程を示す図である。 図18は、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法を示す動作流れ図である。 図19は、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法を詳細に示す動作流れ図である。 図20は、本発明のさらに他の実施形態によるクラウドストリーミングサービスシステムを示すブロック図である。 図21は、図20に示されたクラウドストリーミングサーバーの一例を示すブロック図である。 図22は、スチールイメージ基盤クラウドストリーミングシステムのさらに他の例を示す図である。 図23は、本発明の他の実施形態によるエンコーディング処理ユニットを示す図である。 図24は、本発明のさらに他の実施形態によるクラウドストリーミングサービスで変化領域をキャプチャする過程を示す図である。 図25は、本発明の一実施形態によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法を示す動作流れ図である。 図26は、本発明の一実施形態によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法を詳細に示す動作流れ図である。
以下、本発明の好ましい実施形態を添付の図面を参照して詳しく説明する。但し、下記の説明及び添付の図面において本発明の要旨を不明にすることができる公知機能または構成に対する詳細な説明は省略する。なお、図面全体にわたって、同一の構成要素は、できるだけ同一の参照符号で示していることに留意しなければならない。
以下で説明される本明細書及び請求範囲に使用された用語や単語は、通常的または辞書的な意味に限定して解釈されてはならず、発明者は、自分の発明を最も最善の方法で説明するための用語の概念として適切に定義できるという原則に基づいて、本発明の技術的思想に符合する意味と概念として解釈されなければならない。したがって、本明細書に記載された実施形態と図面に示された構成は、本発明の最も好ましい一実施形態に過ぎず、本発明の技術的思想をすべて代弁するものではないので、本出願時点においてこれらを代替できる多様な均等物と変形例があり得ることを理解しなければならない。また、第1、第2などの用語は、多様な構成要素を説明するために使用するものであって、一つの構成要素を他の構成要素から区別する目的だけで使用され、前記構成要素を限定するために使用されない。
以下では、本発明の実施形態による端末は、通信網に連結され、クラウドコンピューティングシステム基盤でコンテンツをアップロードまたはダウンロードできる移動通信端末を代表的な例として説明するが、端末は、移動通信端末に限定されたものではなく、すべての情報通信機器、マルチメディア端末、有線端末、固定型端末及びIP(Internet Protocol)端末などの多様な端末に適用され得る。また、端末は、携帯電話、PMP(Portable Multimedia Player)、MID(Mobile Internet Device)、スマートフォン(Smart Phone)、デスクトップ(Desktop)、タブレットパソコン(Tablet PC)、ノートパソコン(Note book)、ネットブック(Net Book)及び情報通信機器などのような多様な移動通信仕様を有するモバイル(Mobile)端末であるとき、有利に活用され得る。
以下、本発明の実施形態によるクラウドコンピュータ基盤のデータ管理システムについて説明する。以下では、コンテンツ共有は、コンテンツ伝送を含む概念であることができる。また、データ管理は、データ伝送を含む概念であることができる。
図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 Player)、MID(Mobile Internet Device)、スマートフォン(Smart Phone)、デスクトップ(Desktop)、タブレットパソコン(Tablet PC)、ノートパソコン(Note book)、ネットブック(Net Book)、個人携帯用情報端末(Personal Digital Assistant;PDA)、スマートテレビ及び情報通信機器などのような多様な移動通信仕様を有するモバイル(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領域のみを変化領域として決定できる。このような変化領域は、ユーザの端末装置で入力される入力信号によってサイズや変化領域に相当するイメージの性質が多様である。
この際、以前フレーム及び現在フレームの差分フレームを算出し、差分フレームを利用して変化領域を決定できる。この際、差分フレームをスキャニング(scanning)し、以前フレームから変化した現在フレームの変化ピクセルを感知し、変化領域を決定できる。この際、差分フレームを水平スキャニング(horizontal scanning)及び垂直スキャニング(vertical scanning)して感知される変化ピクセルを含む変化領域を決定できる。例えば、差分フレームの上端から下方向に進行しつつ、行単位で水平スキャニング(horizontal scanning)し、変化ピクセルが感知される場合、当該行に相当するy0要素を獲得し、下端から上方向に進行しつつ、行単位で水平スキャニングして変化ピクセルが感知される場合、当該行に相当するy1要素を獲得し、左側端から右側方向に進行しつつ、列単位で垂直スキャニング(vertical scanning)し、変化ピクセルが感知される場合、当該列に相当するx0要素を獲得し、右側端から左側方向に進行すると、列単位で垂直スキャニングし、変化ピクセルが感知される場合、当該列に相当するx1要素を獲得し(x0、y0)、(x1、y0)、(x1、y1)及び(x0、y1)、4個のピクセルを頂点とする矩形領域を変化領域として決定できる。
キャプチャ部210は、変化領域をキャプチャする。この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。
この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。例えば、ユーザの端末装置から発生する入力信号によってアプリケーションのイベント類型が決定され得る。入力信号によってメニュー、オプション、案内窓のように、アプリケーションを実行したとき、フレームの変化が少ない静的なイベント、または動画再生及びゲームプレイのように、フレームが頻繁に変わる動的なイベントが発生し得る。したがって、ユーザが端末装置を介して発生させる入力信号でイベント類型を感知し、イベント類型が静的なイベントであれば、当該イベントに相当するフレーム全体区間のうちフレーム変化が少ない区間を検出できる。
エンコーディング部220は、変化領域に相当するイメージのカラー個数及びイメージ画素値の標準偏差中の一つ以上を考慮して決定したイメージタイプによってスチールイメージ(still image)圧縮技法を選択し、スチールイメージ圧縮技法を利用して一つのフレームに相当する変化領域をスチールイメージエンコーディングする。例えば、キャプチャされた変化領域のイメージタイプが一つの写真や絵のようなタイプであるか、または複数のイメージが結合されて作られたイメージであることができるから、イメージタイプを決定し、それぞれのイメージタイプに適したスチールイメージ圧縮技法を選択し、スチールイメージエンコーディングを行うことによって、変化領域の圧縮効率を上昇させることができる。
この際、自然イメージ(natural image)及び合成イメージ(synthetic image)のうちいずれか一つのイメージタイプによってスチールイメージ圧縮技法を選択できる。自然イメージは、自然的に発生した客体のイメージを意味できる。例えば、一つの写真や絵のような光学イメージだけでなく、X線と赤外線のような異なる波長のイメージを意味することもできる。合成イメージは、自然イメージとは異なって、コンピュータや人為的手段を介して生成されるか合成されたイメージを意味できる。
この際、変化領域に相当するイメージのカラー個数が既定の基準個数を超過する場合、イメージタイプを自然イメージとして決定できる。自然イメージの場合、自然的に発生した客体に対するイメージであることができるため、イメージを表現するカラーに適用された明度と彩度の変化が合成イメージより精巧なことがある。したがって、自然イメージを示すために構成された画素が表現するカラーの個数が、合成イメージより多様であるため、変化領域に相当するイメージのカラー個数を考慮して変化領域に相当するイメージタイプを決定できる。例えば、既定の基準個数を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を参照すれば、サーバー300では、ユーザの端末装置から発生するユーザ入力(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を参照すれば、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービスは、第1フレーム410と第2フレーム420を比較して、変化した変化領域430のみをキャプチャしてエンコーディングできる。
例えば、第1フレーム410と第2フレーム420でB、C、D及びEの領域をメニューディスプレイと仮定したとき、第1フレーム410では、C領域にカーソルが位置することによって、C領域が他のB、D、及びE領域と区別され得るように陰影処理され、第2フレーム420では、C領域からE領域にカーソルが移動することによって、E領域が他のB、C及びD領域と区別され得るように陰影処理され得る。
この際、第1フレーム410と第2フレーム420を比較したとき、変化した領域であるCとE領域を含む矩形領域C、D及びEのみを変化領域430としてキャプチャできる。また、変化領域430のサイズと変化領域430に相当するイメージ性質を考慮してスチールイメージ圧縮技法を選択し、選択したスチールイメージ圧縮技法を利用して変化領域430をエンコーディングできる。
このように第1フレーム410と第2フレーム420は、確かに変化があるフレームであって、従来のクラウドストリーミングサービス時には、二つのフレームを含んでフレームレートに相当する数のフレームをすべてキャプチャしてエンコーディングを行わなければならない。しかし、スチールイメージ圧縮技法を利用したクラウドストリーミングサービスは、変化領域430のみをキャプチャしてスチールイメージ圧縮技法でエンコーディングするため、不要に多くのフレームとフレームの画面全体をキャプチャする従来のクラウドストリーミングサービス方法よりサービスの効率性を向上させることができる。
図5は、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービスで変化領域を決定する過程を示す図である。
図5を参照すれば、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービスは、第1フレーム410及び第2フレーム420の差分フレーム510を利用して変化ピクセルを含み、且つ最小広さを有する矩形領域を変化領域430として決定する。
例えば、差分フレーム510の上端から下方向に進行しつつ、行単位で水平スキャニング(horizontal scanning)し、変化ピクセルが感知される場合、当該行に相当するy0要素を獲得し、下端から上方向に進行しつつ、行単位で水平スキャニングし、変化ピクセルが感知される場合、当該行に相当するy1要素を獲得し、左側端から右側方向に進行しつつ、列単位で垂直スキャニング(vertical scanning)し、変化ピクセルが感知される場合、当該列に相当するx0要素を獲得し、右側端から左側方向に進行すると、列単位で垂直スキャニングし、変化ピクセルが感知される場合、当該列に相当するx1要素を獲得し(x0、y0)、(x1、y0)、(x1、y1)及び(x0、y1)、4個のピクセルを頂点とする矩形領域を変化領域430として決定できる。
図6は、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法を示す動作流れ図である。
図6を参照すれば、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法は、以前フレームと現在フレームを比較し、以前フレームから変化した現在フレームの変化領域を決定する(S605)。
ビデオコーデック基盤のクラウドストリーミング技法は、アプリケーションが動作する画面に相当するすべてのフレームをキャプチャしてエンコーディングを行うことができる。しかし、アプリケーションが動作する画面上でフレーム間変化が大きくない場合には、以前フレームと比較して変化したフレームの変化領域のみをキャプチャし、スチールイメージエンコーディングを行い、ユーザの端末装置にディスプレイするとき、変化領域を除いた部分は、同一に示し、変化領域のみに対して変化を与える方式でディスプレイできる。
この際、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域を変化領域として決定できる。例えば、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域がA領域であれば、変化したフレームに相当する画面領域のうちA領域のみを変化領域として決定できる。このような変化領域は、ユーザの端末装置で入力される入力信号によってサイズや変化領域に相当するイメージの性質が多様である。
この際、以前フレーム及び現在フレームの差分フレームを算出し、差分フレームを利用して変化領域を決定できる。この際、差分フレームをスキャニング(scanning)し、以前フレームから変化した現在フレームの変化ピクセルを感知し、変化領域を決定できる。この際、差分フレームを水平スキャニング(horizontal scanning)及び垂直スキャニング(vertical scanning)して感知される変化ピクセルを含む変化領域を決定できる。例えば、差分フレームの上端から下方向に進行しつつ、行単位で水平スキャニング(horizontal scanning)し、変化ピクセルが感知される場合、当該行に相当するy0要素を獲得し、下端から上方向に進行しつつ、行単位で水平スキャニングして変化ピクセルが感知される場合、当該行に相当するy1要素を獲得し、左側端から右側方向に進行しつつ、列単位で垂直スキャニング(vertical scanning)して変化ピクセルが感知される場合、当該列に相当するx0要素を獲得し、右側端から左側方向に進行すると、列単位で垂直スキャニングして変化ピクセルが感知される場合、当該列に相当するx1要素を獲得し(x0、y0)、(x1、y0)、(x1、y1)及び(x0、y1)、4個のピクセルを頂点とする矩形領域を変化領域として決定できる。
また、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法は、変化領域をキャプチャする(S610)。
この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。
この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。例えば、ユーザの端末装置から発生する入力信号によってアプリケーションのイベント類型が決定され得る。入力信号によってメニュー、オプション、案内窓のように、アプリケーションを実行したとき、フレームの変化が少ない静的なイベント、または動画再生及びゲームプレイのように、フレームが頻繁に変わる動的なイベントが発生し得る。したがって、ユーザが端末装置を介して発生させる入力信号でイベント類型を感知し、イベント類型が静的なイベントであれば、当該イベントに相当するフレーム全体区間のうちフレーム変化が少ない区間を検出できる。
また、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法は、変化領域に相当するイメージのカラー個数及びイメージ画素値の標準偏差中の一つ以上を考慮して決定したイメージタイプによってスチールイメージ(still image)圧縮技法を選択し、スチールイメージ圧縮技法を利用して一つのフレームに相当する変化領域をスチールイメージエンコーディングする(S620)。例えば、キャプチャされた変化領域のイメージタイプが一つの写真や絵のようなタイプであるか、または複数のイメージが結合されて作られたイメージであることができるため、イメージタイプを決定し、それぞれのイメージタイプに適したスチールイメージ圧縮技法を選択してスチールイメージエンコーディングを行うことによって、変化領域の圧縮効率を上昇させることができる。
この際、自然イメージ(natural image)及び合成イメージ(synthetic image)のうちいずれか一つのイメージタイプによってスチールイメージ圧縮技法を選択できる。自然イメージは、自然的に発生した客体のイメージを意味できる。例えば、一つの写真や絵のような光学イメージだけでなく、X線と赤外線のような異なる波長のイメージを意味することもできる。合成イメージは、自然イメージとは異なって、コンピュータや人為的手段を通じて生成されるか、合成されたイメージを意味できる。
この際、変化領域に相当するイメージのカラー個数が既定の基準個数を超過する場合、イメージタイプを自然イメージとして決定できる。自然イメージの場合、自然的に発生した客体に対するイメージであることができるため、イメージを表現するカラーに適用された明度と彩度の変化が合成イメージより精巧なことがある。したがって、自然イメージを示すために構成された画素が表現するカラーの個数が、合成イメージより多様であるため、変化領域に相当するイメージのカラー個数を考慮して変化領域に相当するイメージタイプを決定できる。例えば、既定の基準個数を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には図示していないが、本発明の一実施形態によるスチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法は、本発明の一実施形態によるクラウドストリーミングサービス過程で発生する多様な情報を格納する。
図7は、本発明の一実施形態によるクラウドストリーミングサービスシステムを示すブロック図である。
図7を参照すれば、本発明の一実施形態によるクラウドストリーミングサービスシステムは、クラウドストリーミングサーバー710、端末装置720−1、…、720−N及びネットワーク730を含む。
クラウドストリーミングサーバー710は、端末装置720−1、…、720−Nからクラウドストリーミングサービス要請を受けてアプリケーションを実行し、アプリケーション実行結果に該当する実行結果画面を端末装置720−1、…、720−Nに提供する。
クラウドストリーミングサービスは、基本的に、ビデオコーデック基盤のクラウドストリーミング技法を適用するため、メニューディスプレイのような静的な画面に対してクラウドストリーミング技法を適用する場合にも、不要に画面全体をキャプチャしてビデオコーデックでエンコーディングする非効率的な方法でクラウドストリーミングサービスを行った。また、イメージに対するエンコーディングを行うとき、サーバーの資源を活用したイメージプロセッシング過程を行ってエンコーディング方式を決定できるため、サーバーの負荷量を増加させる原因になることができた。このような問題点を解決するために、本発明は、メニューディスプレイ画面のようにフレーム間変化が大きくない場合には、クラウドストリーミングサーバーがフレーム間変化を検出し、検出された変化領域のみをスチールイメージ圧縮技法でエンコーディングし、且つ変化領域に相当するイメージ特性情報を利用してエンコーディング方式を決定するクラウドストリーミングシステムを提供する。
クラウドストリーミングサーバー710は、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャする。この際、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。この際、端末装置720−1、…、720−Nに伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。この際、端末装置720−1、…、720−Nから発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。
また、クラウドストリーミングサーバー710は、変化領域に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を決定し、エンコーディング方式を利用して変化領域をスチールイメージエンコーディングする。この際、イメージ特性情報は、アプリケーションソースコードを基盤として生成されるか、MPEGテクスチャ記述子を利用して生成され得る。この際、イメージ特性情報が存在する場合、イメージ特性情報を基盤としてエンコーディング方式を決定し、イメージ特性情報が存在しない場合、変化領域に相当するイメージを分析してエンコーディング方式を決定できる。この際、エンコーディング方式は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。この際、変化領域に相当するイメージを分析して変化領域を一般領域及び絵領域のうちいずれか一つに区分し、一般領域のイメージプロセッシング結果及び絵領域のイメージタイプのうち少なくとも一つ以上を考慮してエンコーディング方式を決定できる。この際、イメージタイプは、自然イメージ及び合成イメージのうちいずれか一つに相当できる。
また、クラウドストリーミングサーバー710は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う。
端末装置720−1、…、720−Nは、クラウドストリーミングサーバー710からクラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信し、ユーザに提供する。
端末装置720−1、…、720−Nは、それぞれ通信網に連結され、クラウドコンピューティングシステムを基盤としてアプリケーションを実行できる装置であって、移動通信端末に限定されたのではなくて、すべての情報通信機器、マルチメディア端末、有線端末、固定型端末及びIP(Internet Protocol)端末などの多様な端末であることができる。また、端末装置720−1、…、720−Nは、それぞれ携帯電話、PMP(Portable Multimedia Player)、MID(Mobile Internet Device)、スマートフォン(Smart Phone)、デスクトップ(Desktop)、タブレットパソコン(Tablet PC)、ノートパソコン(Note book)、ネットブック(Net Book)、個人携帯用情報端末(Personal Digital Assistant;PDA)、スマートテレビ及び情報通信機器などのような多様な移動通信仕様を有するモバイル(Mobile)端末であることができる。
ネットワーク730は、クラウドストリーミングサーバー710及び端末装置720−1、…、720−Nの間にデータを伝達する通路を提供するものであって、従来利用されるネットワーク及び今後開発可能なネットワークをすべて包括する概念である。例えば、ネットワーク730は、限定された地域内で各種情報装置の通信を提供する有線・無線近距離通信網、移動体相互間及び移動体と移動体外部との通信を提供する移動通信網、衛星を利用して地球局と地球局間の通信を提供する衛星通信網であるか、有線・無線通信網のうちいずれか一つであるか、二つ以上の結合よりなることができる。なお、ネットワーク730の伝送方式標準は、従来の伝送方式標準に限定されるものではなく、今後開発されるすべての伝送方式標準を含むことができる。また、図7で、クラウドストリーミングサーバー710と端末装置720−1、…、720−Nとの間に使用されるネットワークは、端末装置720−1、…、720−N相互間に使用されるネットワークと異なってもよく、同一であってもよい。
図8は、図7に示されたクラウドストリーミングサーバーの一例を示すブロック図である。
図8を参照すれば、図7に示されたクラウドストリーミングサーバー710は、キャプチャ部810、エンコーディング部820、センディング部830及び格納部840を含む。
キャプチャ部810は、変化したフレームに含まれた変化領域をキャプチャする。ビデオコーデック基盤のクラウドストリーミング技法は、アプリケーションが動作する画面に相当するすべてのフレームをキャプチャしてエンコーディングを行うことができる。しかし、アプリケーションが動作する画面上でフレーム間変化が大きくない場合には、以前フレームと比較して変化したフレームの変化領域のみをキャプチャし、スチールイメージエンコーディングを行い、ユーザの端末装置にディスプレイするとき、変化領域を除いた部分は、同一に示し、変化領域のみに対して変化を与える方式でディスプレイできる。
この際、変化したフレームに相当する画面領域のうち変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。例えば、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域がA領域であれば、変化したフレームに相当する画面領域のうちA領域のみを変化領域としてキャプチャできる。このような変化領域は、ユーザの端末装置で入力される入力信号によってサイズや変化領域に相当するイメージの性質が多様である。
この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。
この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。例えば、ユーザの端末装置から発生する入力信号によってアプリケーションのイベント類型が決定され得る。入力信号によってメニュー、オプション、案内窓のように、アプリケーションを実行したときにフレームの変化が少ない静的なイベント、または動画再生及びゲームプレイのように、フレームが頻繁に変わる動的なイベントが発生し得る。したがって、ユーザが端末装置を介して発生させる入力信号でイベント類型を感知し、イベント類型が静的なイベントであれば、当該イベントに相当するフレーム全体区間のうちフレーム変化が少ない区間を検出できる。
エンコーディング部820は、変化領域に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を決定し、所定のエンコーディング方式を利用して変化領域をスチールイメージエンコーディングする。例えば、エンコーディング方式は、変化領域に相当するイメージの特性によって決定され得、このようなイメージの特性は、イメージプロセッシングを通じて分析した結果に基づいて抽出され得る。しかし、イメージプロセッシングを行うためには、クラウドストリーミングサーバー710の資源を使用して行われるため、システムの負荷を増加させる原因になり得る。したがって、既に変化領域に相当するイメージの特性に相当する情報を含んでいるイメージ特性情報が存在すると、この情報を利用してエンコーディング方式を決定することによって、クラウドストリーミングサーバー710の資源を節約できる。
この際、イメージ特性情報は、アプリケーションソースコードを基盤として生成されるか、MPEGテクスチャ記述子を利用して生成され得る。
アプリケーションソースコードやMPEGテクスチャ記述子には、ユーザの要請によって出力されるアプリケーション結果画面に対する構成情報やアプリケーション結果画面を構成している構成要素に対する特徴を把握できる記述子が含まれることができる。例えば、アプリケーションソースコードの場合には、JPG、GIF及びPNGのように、変化領域に相当するイメージファイルの拡張子や、height及びwidthなどのコマンドを利用したイメージのサイズに相当する特徴を抽出できる。また、MPEGテクスチャ記述子の場合には、カラー、輪郭、客体やカメラの動きなどと共に重要なビジュアル特徴を扱うMPEG−7標準ビジュアル分野の質感記述子などを利用してイメージ特性情報を生成できる。
また、イメージ特性情報は、該当するフレーム全体領域に対する特性及び構成情報であることができ、またはフレームのうち変化領域に対する特性及び構成情報であるか、または変化領域のうち一部領域、すなわち一般領域や絵領域に対する特性及び構成情報であることができる。
したがって、このようなイメージ特性情報を利用することができたら、変化領域に相当するイメージを分析することなく、イメージサイズ、イメージ解像度及びイメージタイプなどを含む多様な特性を容易に抽出できる。
この際、イメージ特性情報が存在する場合、イメージ特性情報を基盤としてエンコーディング方式を決定し、イメージ特性情報が存在しない場合、変化領域に相当するイメージを分析してエンコーディング方式を決定できる。例えば、変化領域に相当するイメージ特性情報が存在すると仮定したら、イメージ特性情報を利用して変化領域に相当するイメージのサイズ、イメージ解像度及びイメージタイプなどのイメージ特性を抽出できる。このように抽出されたイメージ特性を通じてエンコーディング方式を決定できる。また、イメージ特性情報が存在しない場合には、イメージプロセッシング過程を行うことによって変化領域に相当するイメージに対してイメージのサイズ、イメージ解像度及びイメージタイプなどのイメージ特性を抽出できる。
この際、イメージ特性情報から抽出するか、イメージプロセッシングを通じて抽出されるイメージの特性は、イメージのサイズ、イメージ解像度及びイメージタイプを除いて多様な種類が存在し得る。
この際、エンコーディング方式は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。PNGスチールイメージ圧縮技法は、エンコーディング時にイメージの画質は良いが、データのサイズが大きくなって、伝送網の帯域幅が低い場合には、伝送速度が低下することがある。パレットPNGスチールイメージ圧縮技法は、エンコーディング時にイメージのデータサイズが減少し、伝送速度は保証できるが、8ビットで色相を表現するため、イメージ画質に劣化をもたらすことができる。JPEGスチールイメージ圧縮技法は、圧縮効率が良いため、エンコーディング時に伝送データ量を大幅に低減できるが、圧縮効率が大きいため、エンコーディング及びデコーディングを行うとき、システム負荷を多く発生させることができる。
この際、変化領域に相当するイメージを分析し、変化領域を一般領域及び絵領域のうちいずれか一つに区分し、一般領域のイメージプロセッシング結果及び絵領域のイメージタイプのうち少なくとも一つ以上を考慮してエンコーディング方式を決定できる。例えば、絵領域は、JPEG、PNG及びGIFのようなイメージ形式に相当するファイルで構成された領域であることができ、一般領域は、変化領域のうち絵領域を除いた領域であると見られる。したがって、絵領域の場合には、もうイメージ形式を基盤として特性が付与された状態であり、一般領域の場合には、一般領域に相当する領域をキャプチャされたイメージと判断したとき、イメージプロセッシングを通じてどんな特性に属するかを判断できる。
この際、イメージタイプは、自然イメージ及び合成イメージのうちいずれか一つに相当できる。自然イメージは、一つの写真や絵のようなイメージを意味でき、合成イメージは、複数のイメージを結合して作られたイメージであることができる。
また、イメージタイプが自然イメージの場合には、JPEGエンコーディング方式を利用してエンコーディングする場合に圧縮効率がさらに効果的であり、イメージタイプが合成イメージの場合には、データのサイズを低減できるパレットPNGエンコーディング方式を利用してエンコーディングすることが効果的である。
センディング部830は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う。エンコーディングを完了することによって圧縮された変化領域をユーザの端末装置に伝送することによって、ユーザの端末装置でアプリケーションが実行される感じを受けることができるように、クラウドストリーミングサービスを行うことができる。
格納部840は、前述したように、本発明の実施形態によるクラウドストリーミングサービス過程で発生する多様な情報を格納する。
実施形態によって、格納部840は、クラウドストリーミングサーバー710と独立的に構成され、クラウドストリーミングサービスのための機能を支援できる。この際、格納部840は、別途の大容量ストレージとして動作でき、動作実行のための制御機能を含むことができる。
また、前述したように構成されるクラウドストリーミングサーバー710は、一つ以上のサーバーで具現され得る。
一方、クラウドストリーミングサーバー710は、メモリが搭載され、その装置内で情報を格納できる。一具現例の場合、メモリは、コンピュータで読み取り可能な媒体である。一具現例で、メモリは、揮発性メモリユニットであることができ、他の具現例の場合、メモリは、不揮発性メモリユニットであってもよい。一具現例の場合、格納装置は、コンピュータで読み取り可能な媒体である。多様な異なる具現例で、格納装置は、例えばハードディスク装置、光学ディスク装置、あるいは他のいかなる大容量格納装置を含むこともできる。
図9は、スチールイメージ基盤クラウドストリーミングシステムの一例を示す図である。
図9を参照すれば、サーバー900では、ユーザの端末装置から発生するユーザ入力(User Input)に相当するプログラム画面910を実行させてキャプチャ(Screen Capture)を行うことができる。この際、サーバー900は、クラウドストリーミングサーバーとウェブアプリケーションサーバーを総称するサーバーであることができる。また、プログラム画面910を実行させてキャプチャ(Screen Capture)を行う過程は、図8に示されたキャプチャ部810の動作流れと相当できる。
サーバー900は、キャプチャ(Screen Capture)されたプログラム画面910をスチールイメージ圧縮技法を用いてエンコーディング(Image Encoding)920できる。この際、エンコーディング(Image Encoding)920を行う過程は、図8に示されたエンコーディング部820の動作流れと相当できる。
この際、変化したフレームを以前フレームと比較し、変化した領域のみをキャプチャできる。また、変化した領域に相当するイメージ特性情報が存在するか否かを考慮してPNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つのエンコーディング方式を選択し、選択したエンコーディング方式で変化した領域をスチールイメージエンコーディングできる。
その後、サーバー900は、スチールイメージエンコーディングされた変化した領域をユーザの端末装置にストリーミング(Streaming)930し、スチールイメージ基盤のクラウドストリーミングサービスを提供できる。この際、ストリーミング(Streaming)(930)を行う過程は、図8に示されたセンディング部830の動作流れと相当できる。
その後、ユーザの端末装置では、受信したデータをレンダリング(Image Rendering)(940)することによって、ユーザ入力(User Input)によってアプリケーションで実行されたプログラム画面910がまるでユーザの端末装置で実行されたもののように、ユーザにディスプレイできる。
図10は、本発明の一実施形態によるクラウドストリーミングサービスで変化領域をキャプチャする過程を示す図である。
図10を参照すれば、本発明の一実施形態によるスチールイメージ基盤クラウドストリーミングサービスは、第1フレーム1010と第2フレーム1020を比較し、変化した変化領域1030のみをキャプチャしてエンコーディングできる。
例えば、第1フレーム1010と第2フレーム1020でB、C、D及びEの領域をメニューディスプレイと仮定したとき、第1フレーム1010では、C領域にカーソルが位置することによって、C領域が他のB、D、及びE領域と区別され得るように陰影処理され、第2フレーム1020では、C領域からD領域にカーソルが移動することによって、D領域が他のB、C及びE領域と区別され得るように陰影処理され得る。
この際、第1フレーム1010と第2フレーム1020を比較したとき、変化した領域であるCとD領域のみを変化領域1030としてキャプチャできる。また、変化領域1030に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を選択し、選択したエンコーディング方式を利用して変化領域1030をスチールイメージエンコーディングできる。
このように第1フレーム1010と第2フレーム1020は、確かに変化があるフレームであって、従来のクラウドストリーミングサービス時には、二つのフレームを含んでフレームレートに相当する数のフレームをすべてキャプチャしてエンコーディングを行わなければならない。しかし、スチールイメージ基盤クラウドストリーミングサービスは、変化領域1030のみをキャプチャしてスチールイメージ圧縮技法でエンコーディングするため、不要に多くのフレームとフレームの画面全体をキャプチャする従来のクラウドストリーミングサービス方法よりサービスの効率性を向上させることができる。
図11は、本発明の一実施形態によるソース情報を利用したクラウドストリーミングサービス方法を示す動作流れ図である。
図11を参照すれば、本発明の一実施形態によるソース情報を利用したクラウドストリーミングサービス方法は、変化したフレームに含まれた変化領域をキャプチャする(S1110)。ビデオコーデック基盤のクラウドストリーミング技法は、アプリケーションが動作する画面に相当するすべてのフレームをキャプチャし、エンコーディングを行うことができる。しかし、アプリケーションが動作する画面上でフレーム間変化が大きくない場合には、以前フレームと比較して変化したフレームの変化領域のみをキャプチャし、スチールイメージエンコーディングを行い、ユーザの端末装置にディスプレイするとき、変化領域を除いた部分は、同一に示し、変化領域のみに対して変化を与える方式でディスプレイできる。
この際、変化したフレームに相当する画面領域のうち変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。例えば、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域がA領域であれば、変化したフレームに相当する画面領域のうちA領域のみを変化領域としてキャプチャできる。このような変化領域は、ユーザの端末装置で入力される入力信号によってサイズや変化領域に相当するイメージの性質が多様である。
この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。
この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。例えば、ユーザの端末装置から発生する入力信号によってアプリケーションのイベント類型が決定され得る。入力信号によってメニュー、オプション、案内窓のように、アプリケーションを実行したときにフレームの変化が少ない静的なイベント、または動画再生及びゲームプレイのように、フレームが頻繁に変わる動的なイベントが発生し得る。したがって、ユーザが端末装置を介して発生させる入力信号でイベント類型を感知し、イベント類型が静的なイベントであれば、当該イベントに相当するフレーム全体区間のうちフレーム変化が少ない区間を検出できる。
また、本発明の一実施形態によるソース情報を利用したクラウドストリーミングサービス方法は、変化領域に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を決定し、所定のエンコーディング方式を利用して変化領域をスチールイメージエンコーディングする(S1120)。例えば、エンコーディング方式は、変化領域に相当するイメージの特性によって決定され得、このようなイメージの特性は、イメージプロセッシングを通じて分析した結果に基づいて抽出され得る。しかし、イメージプロセッシングを行うためには、クラウドストリーミングサーバーの資源を使用して行われるため、システムの負荷を増加させる原因になり得る。したがって、既に変化領域に相当するイメージの特性に相当する情報を含んでいるイメージ特性情報が存在すると、この情報を利用してエンコーディング方式を決定することによって、クラウドストリーミングサーバーの資源を節約できる。
この際、イメージ特性情報は、アプリケーションソースコードを基盤として生成されるか、MPEGテクスチャ記述子を利用して生成され得る。
アプリケーションソースコードやMPEGテクスチャ記述子には、ユーザの要請によって出力されるアプリケーション結果画面に対する構成情報やアプリケーション結果画面を構成している構成要素に対する特徴を把握できる記述子が含まれることができる。
例えば、アプリケーションソースコードの場合には、JPG、GIF及びPNGのように変化領域に相当するイメージファイルの拡張子や、height及びwidthなどのコマンドを利用したイメージのサイズに相当する特徴を抽出できる。また、MPEGテクスチャ記述子の場合には、カラー、輪郭、客体やカメラの動きなどと共に重要なビジュアル特徴を扱うMPEG−7標準ビジュアル分野の質感記述子などを利用してイメージ特性情報を生成できる。
また、イメージ特性情報は、該当するフレーム全体領域に対する特性及び構成情報であることができ、またはフレームのうち変化領域に対する特性及び構成情報であるか、または変化領域のうち一部領域、すなわち一般領域や絵領域に対する特性及び構成情報であることができる。
したがって、このようなイメージ特性情報を利用することができたら、変化領域に相当するイメージを分析することなく、イメージサイズ、イメージ解像度及びイメージタイプなどを含む多様な特性を容易に抽出できる。
この際、イメージ特性情報が存在する場合、イメージ特性情報を基盤としてエンコーディング方式を決定し、イメージ特性情報が存在しない場合、変化領域に相当するイメージを分析してエンコーディング方式を決定できる。例えば、変化領域に相当するイメージ特性情報が存在すると仮定したら、イメージ特性情報を利用して変化領域に相当するイメージのサイズ、イメージ解像度及びイメージタイプなどのイメージ特性を抽出できる。このように抽出されたイメージ特性を通じてエンコーディング方式を決定できる。また、イメージ特性情報が存在しない場合には、イメージプロセッシング過程を行うことによって、変化領域に相当するイメージに対してイメージのサイズ、イメージ解像度及びイメージタイプなどのイメージ特性を抽出できる。
この際、イメージ特性情報から抽出するか、イメージプロセッシングを通じて抽出されるイメージの特性は、イメージのサイズ、イメージ解像度及びイメージタイプを除いて、多様に種類が存在し得る。
この際、エンコーディング方式は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。PNGスチールイメージ圧縮技法は、エンコーディング時にイメージの画質は良いが、データのサイズが大きくなるため、伝送網の帯域幅が低い場合には、伝送速度が低下することがある。パレットPNGスチールイメージ圧縮技法は、エンコーディング時イにメージのデータサイズが減少し、伝送速度は保証できるが、8ビットで色相を表現するため、イメージ画質に劣化をもたらすことができる。JPEGスチールイメージ圧縮技法は、圧縮効率が良いため、エンコーディング時に伝送データ量を大幅に低減できるが、圧縮効率が大きいため、エンコーディング及びデコーディングを行うとき、システム負荷を多く発生させることができる。
この際、変化領域に相当するイメージを分析して変化領域を一般領域及び絵領域のうちいずれか一つに区分し、一般領域のイメージプロセッシング結果及び絵領域のイメージタイプのうち少なくとも一つ以上を考慮してエンコーディング方式を決定できる。例えば、絵領域は、JPEG、PNG及びGIFのようなイメージ形式に相当するファイルで構成された領域であることができ、一般領域は、変化領域のうち絵領域を除いた領域であると見られる。したがって、絵領域の場合には、既にイメージ形式を基盤として特性が付与された状態であり、一般領域の場合には、一般領域に相当する領域をキャプチャされたイメージと判断したとき、イメージプロセッシングを通じてどんな特性に属するかを判断できる。
この際、イメージタイプは、自然イメージ及び合成イメージのうちいずれか一つに相当できる。自然イメージは、一つの写真や絵のようなイメージを意味でき、合成イメージは、複数のイメージを結合して作られたイメージであることができる。
また、イメージタイプが自然イメージの場合には、JPEGエンコーディング方式を利用してエンコーディングする場合に、圧縮効率がさらに効果的であり、イメージタイプが合成イメージの場合には、データのサイズを低減できるパレットPNGエンコーディング方式を利用してエンコーディングすることが効果的である。
また、本発明の一実施形態によるソース情報を利用したクラウドストリーミングサービス方法は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う(S1130)。スチールイメージエンコーディングして圧縮された変化領域をユーザの端末装置に伝送することによって、ユーザの端末装置でアプリケーションが実行される感じを受けることができるように、クラウドストリーミングサービスを行うことができる。
図12は、本発明の一実施形態によるソース情報を利用したクラウドストリーミングサービス方法を詳細に示す動作流れ図である。
図12を参照すれば、本発明の一実施形態によるソース情報を利用したクラウドストリーミングサービス方法は、まず、クラウドストリーミングサーバーで変化したフレームに含まれた変化領域をキャプチャする(S1210)。
この際、変化したフレームに相当する画面領域のうち変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。
その後、変化領域に相当するイメージ特性情報が存在するか否かを判断する(S1215)。
この際、イメージ特性情報は、アプリケーションソースコードを基盤として生成されるか、MPEGテクスチャ記述子を利用して生成され得る。
段階S1215の判断結果、存在すると、イメージ特性情報を基盤としてエンコーディング方式を決定する(S1220)。
段階S1215の判断結果、存在しないと、変化領域に相当するイメージを分析し(S1230)、分析した結果を考慮してエンコーディング方式を決定する(S1240)。
この際、エンコーディング方式は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。
その後、所定のエンコーディング方式を利用して変化領域をスチールイメージエンコーディングする(S1250)。
その後、スチールイメージエンコーディングされた変化領域をユーザに伝達し、スチールイメージ基盤のクラウドストリーミングサービスを行う(S1260)。
図13は、本発明の他の実施形態によるクラウドストリーミングサービスシステムを示すブロック図である。
図13を参照すれば、本発明の他の実施形態によるクラウドストリーミングサービスシステムは、クラウドストリーミングサーバー1310、端末装置1320−1、…、1320−N及びネットワーク1330を含む。
クラウドストリーミングサーバー1310は、端末装置1320−1、…、1320−Nからクラウドストリーミングサービス要請を受けてアプリケーションを実行し、アプリケーション実行結果に該当する実行結果画面を端末装置1320−1、…、1320−Nに提供する。
クラウドストリーミングサーバー1310は、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャする。この際、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。この際、端末装置1320−1、…、1320−Nに伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。この際、端末装置1320−1、…、1320−Nから発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。
また、クラウドストリーミングサーバー1310は、変化領域に相当するイメージ特性及びイメージ解像度のうち一つ以上を考慮してエンコーディング処理ユニットを選択し、エンコーディング処理ユニットを利用して一つのフレームに相当する変化領域をスチールイメージエンコーディングする。この際、エンコーディング処理ユニットは、中央処理ユニット(Central Processing Unit;CPU)及びグラフィック処理ユニット(Graphics Processing Unit;GPU)のうちいずれか一つのエンコーディング処理ユニットであることができる。この際、イメージ特性及びイメージ解像度のうち一つ以上を考慮して中央処理ユニットとグラフィック処理ユニット各々に対するエンコーディング処理費用を予測し、中央処理ユニット及びグラフィック処理ユニットのうちエンコーディング処理費用が低いエンコーディング処理ユニットを選択して変化領域をスチールイメージエンコーディングできる。この際、変化領域に相当するイメージ解像度が既定の基準値以上である場合、グラフィック処理ユニットを利用して変化領域をスチールイメージエンコーディングできる。この際、変化領域に相当するイメージ解像度が既定の基準値未満である場合、変化領域に相当するイメージ特性によるスチールイメージ圧縮技法を考慮してエンコーディング処理ユニットを選択できる。この際、イメージ解像度が既定の基準値未満であり、スチールイメージ圧縮技法がパレットPNGである場合、グラフィック処理ユニットを利用して変化領域をスチールイメージエンコーディングできる。
また、クラウドストリーミングサーバー1310は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う。
端末装置1320−1、…、1320−Nは、クラウドストリーミングサーバー1310からクラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信し、ユーザに提供する。
端末装置1320−1、…、1320−Nは、それぞれ通信網に連結され、クラウドコンピューティングシステムを基盤としてアプリケーションを実行できる装置であって、移動通信端末に限定されるものではなく、すべての情報通信機器、マルチメディア端末、有線端末、固定型端末及びIP(Internet Protocol)端末などの多様な端末であることができる。また、端末装置1320−1、…、1320−Nは、それぞれ携帯電話、PMP(Portable Multimedia Player)、MID(Mobile Internet Device)、スマートフォン(Smart Phone)、デスクトップ(Desktop)、タブレットパソコン(Tablet PC)、ノートパソコン(Note book)、ネットブック(Net Book)、個人携帯用情報端末(Personal Digital Assistant;PDA)、スマートテレビ及び情報通信機器などのような多様な移動通信仕様を有するモバイル(Mobile)端末であることができる。
ネットワーク1330は、クラウドストリーミングサーバー1310及び端末装置1320−1、…、1320−Nの間にデータを伝達する通路を提供するもので、従来に利用されるネットワーク及び今後開発可能なネットワークをすべて包括する概念である。例えば、ネットワーク1330は、限定された地域内で各種情報装置の通信を提供する有線・無線近距離通信網、移動体相互間及び移動体と移動体外部との通信を提供する移動通信網、衛星を利用して地球局と地球局間の通信を提供する衛星通信網であるか、有線・無線通信網のうちいずれか一つであるか、二つ以上の結合よりなることができる。なお、ネットワーク1330の伝送方式標準は、従来の伝送方式標準に限定されるものではなく、今後開発されるすべての伝送方式標準を含む。また、図13でクラウドストリーミングサーバー1310と端末装置1320−1、…、1320−Nの間に使用されるネットワークは、端末装置1320−1、…、1320−N相互間に使用されるネットワークと異なってもよく、同一であってもよい。
図14は、図13に示されたクラウドストリーミングサーバーの一例を示すブロック図である。
図14を参照すれば、図13に示されたクラウドストリーミングサーバー1310は、キャプチャ部1410、エンコーディング部1420、センディング部1430及び格納部1440を含む。
クラウドストリーミングサービス時に、変化領域のみを検出し、クラウドストリーミングサービスを行うイメージクラウドストリーミングにおいて、イメージエンコーディングを行うとき、中央処理ユニット(Central Processing Unit;CPU)を利用するか、グラフィック処理ユニット(Graphics Processing Unit;GPU)を利用して、エンコーディングを行うことができる。この際、最適のイメージクラウドストリーミングサービスを提供するためには、状況に適切に中央処理ユニットとグラフィック処理ユニットを組み合わせて使用しなければならないが、従来のクラウドストリーミングサービスの提供時には、同一の一つのユニットだけでエンコーディングが処理されている実情である。したがって、本発明では、変化領域に対する特徴を把握し、状況に適切なエンコーディング処理ユニットを利用してさらに効率的にイメージクラウドストリーミングサービスを提供できる構成を提案する。
キャプチャ部1410は、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャする。ビデオコーデック基盤のクラウドストリーミング技法は、アプリケーションが動作する画面に相当するすべてのフレームをキャプチャしてエンコーディングを行うことができる。しかし、アプリケーションが動作する画面上でフレーム間変化が大きくない場合には、以前フレームと比較して変化したフレームの変化領域のみをキャプチャし、スチールイメージエンコーディングを行い、ユーザの端末装置にディスプレイする時変化領域を除いた部分は、同一に示し、変化領域のみに対して変化を与える方式でディスプレイできる。
この際、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。例えば、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域がA領域であれば、変化したフレームに相当する画面領域のうちA領域のみを変化領域としてキャプチャできる。このような変化領域は、ユーザの端末装置で入力される入力信号によって解像度や変化領域に相当するイメージのタイプが多様である。
この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。
この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。例えば、ユーザの端末装置から発生する入力信号によってアプリケーションのイベント類型が決定され得る。入力信号によってメニュー、オプション、案内窓のように、アプリケーションを実行したとき、フレームの変化が少ない静的なイベント、または動画再生及びゲームプレイのように、フレームが頻繁に変わる動的なイベントが発生し得る。したがって、ユーザが端末装置を介して発生させる入力信号でイベント類型を感知し、イベント類型が静的なイベントであれば、当該イベントに相当するフレーム全体区間のうちフレーム変化が少ない区間を検出できる。
エンコーディング部1420は、変化領域に相当するイメージ特性及びイメージ解像度のうち一つ以上を考慮してエンコーディング処理ユニットを選択し、エンコーディング処理ユニットを利用して一つのフレームに相当する変化領域をスチールイメージエンコーディングする。
この際、エンコーディング処理ユニットは、中央処理ユニット(Central Processing Unit;CPU)及びグラフィック処理ユニット(Graphics Processing Unit;GPU)のうちいずれか一つのエンコーディング処理ユニットであることができる。
中央処理ユニット(Central Processing Unit;CPU)は、コンピュータの最も重要な部分であって、命令を解読し、算術論理演算やデータ処理を実行する装置であることができる。したがって、コンピュータの計算速度や一度に扱うデータ量、管理し得る主記憶装置領域のサイズなどは、中央処理ユニットの性能に依存するところが大きい。このような中央処理ユニット(Central Processing Unit;CPU)を利用して変化領域をエンコーディングする場合、エンコーディングするデータを他のユニットに伝達せず、すぐエンコーディングを行うことができるため、データ伝達による費用は、発生しないことがある。しかし、変化領域に相当するイメージの解像度が高い場合には、エンコーディングを行うのに時間が長くかかることができる。特に、パレットPNG(portable network graphics)スチールイメージ圧縮技法でカラー量子化過程を行うことのように、単純な計算を多く繰り返す場合には、エンコーディング時間が長くかかることができる。
グラフィック処理ユニット(Graphics Processing Unit;GPU)は、3Dグラフィックが本格的に導入された後、ディスプレイ画面をより現実的に作るための各種光源効果及び質感表現技法を処理するために開発された3Dグラフィック演算専用のプロセッサである。このようなグラフィック処理ユニット(Graphics Processing Unit;GPU)を利用して変化領域をエンコーディングする場合には、むしろ単純計算の繰り返しや解像度が大きいイメージをエンコーディングするのに効果的である。しかし、グラフィック処理ユニットを利用して変化領域のエンコーディングを行うためには、まず、中央処理ユニットからエンコーディングするデータを伝達され、エンコーディングが完了した後にも、エンコーディングされたデータをさらに中央処理ユニットに伝達しなければならないため、追加的な伝達費用が発生し得る。
この際、イメージ特性及びイメージ解像度のうち一つ以上を考慮して中央処理ユニットとグラフィック処理ユニット各々に対するエンコーディング処理費用を予測し、中央処理ユニット及びグラフィック処理ユニットのうちエンコーディング処理費用が低いエンコーディング処理ユニットを選択して、変化領域をスチールイメージエンコーディングできる。例えば、変化領域Aに対してエンコーディングを行うために、変化領域Aに相当するイメージ特性とイメージ解像度を判断できる。その後、判断された変化領域Aのイメージ特性及びイメージ解像度を基盤としてそれぞれ中央処理ユニットとグラフィック処理ユニットにエンコーディングを実行したときに発生し得るエンコーディング処理費用を予測できる。二つのエンコーディング処理ユニットのうちエンコーディング処理費用がさらに低く予測されたエンコーディング処理ユニットを選択して変化領域Aのエンコーディングを行うことができる。
また、エンコーディングが行われた後に発生したエンコーディング処理費用に対してエンコーディング処理費用統計を生成できる。例えば、クラウドストリーミングサービスが行われるうちに所定の単位期間を設定し、設定された単位期間ごとにエンコーディング処理費用に対する格納された情報を利用してエンコーディング処理費用統計をアップデートできる。このようなエンコーディング処理費用統計は、イメージ特性、イメージ解像度及びエンコーディング処理ユニット各々に対する詳細的な統計情報として生成され得、生成された統計情報を基盤として選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法の信頼度を上昇させることができる。
この際、変化領域に相当するイメージ解像度が既定の基準値以上である場合、グラフィック処理ユニットを利用して変化領域をスチールイメージエンコーディングできる。
解像度は、イメージを表現するにあたって、いくつかのピクセルまたはドットを利用して示したか、その程度を示すことができる。単位としては、1インチ当たりいくつかのピクセル(pixel)よりなるかを示すppi(pixel per inch)、1インチ当たりいくつかの点(dot)よりなるかを示すdpi(dot per inch)を主に使用する。ピクセルまたはドットの数が多いほど、高解像度の精緻なイメージを表現できる。解像度が高いほど、イメージがきれいで且つ鮮明に見えるが、その分、1インチ当たり点の数が多くなって、当該イメージを処理するために多量のメモリが必要であり、結果的に、コンピュータ処理速度が遅くなる短所が存在し得る。例えば、解像度が高いイメージを中央処理ユニットでエンコーディングする場合、エンコーディング処理時間が長くなって、エンコーディング処理費用が多く発生し得る。
したがって、変化領域に相当するイメージ解像度が前もって設定された基準値と同一であるか、または基準値より高い場合には、グラフィック処理ユニットを利用してエンコーディングを行うことによって、中央処理ユニットを利用してエンコーディングするときよりエンコーディング処理費用を節約できる。
この際、変化領域に相当するイメージ解像度が既定の基準値未満である場合、変化領域に相当するイメージ特性によるスチールイメージ圧縮技法を考慮してエンコーディング処理ユニットを選択できる。変化領域に相当するイメージ解像度が既定の基準値より低い場合、エンコーディングするデータをグラフィック処理ユニットに伝達する必要なく、中央処理ユニットでエンコーディングを行うことができる。しかし、イメージ解像度が低くても、変化領域に相当するイメージ特性によって選択されるスチールイメージ圧縮技法によって単純計算が繰り返されなければならない場合が発生し得るため、変化領域のイメージタイプをもう一度考慮してエンコーディング処理ユニットを選択できる。
また、スチールイメージ圧縮技法は、変化領域に相当するイメージのサイズやイメージのタイプのようなイメージ特性によって決定され得る。
この際、スチールイメージ圧縮技法は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。PNGスチールイメージ圧縮技法は、エンコーディングの場合、画質は良いが、データサイズが大きくなるため、伝送網の帯域幅が低い場合、反応速度の低下をもたらすことができる。パレットPNGスチールイメージ圧縮技法は、データのサイズを減少するが、が画質の劣化をもたらすことができ、特にデータサイズ減少のためのカラー量子化過程に起因して、単純な計算の繰り返される過程が含まれることができる。JPEGスチールイメージ圧縮技法は、伝送されるイメージタイプによってデータの圧縮効率が良いが、圧縮効率が良い分だけ、エンコーディング及びデコーディング時に負荷が大きくなることができる。
この際、イメージ解像度が既定の基準値未満であり、スチールイメージ圧縮技法がパレットPNGである場合、グラフィック処理ユニットを利用して変化領域をスチールイメージエンコーディングできる。例えば、変化領域のイメージ特性上、パレットPNGスチールイメージ圧縮技法を利用してエンコーディングを行うときには、カラー量子化のような単純計算を繰り返すため、エンコーディング処理時間が長くなることができる。したがって、このような場合には、グラフィック処理ユニットを利用してエンコーディングを行うことによって、中央処理ユニットを利用してエンコーディングするときより少ないエンコーディング処理費用でクラウドストリーミングサービスを行うことができる。
センディング部1430は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う。エンコーディングを完了することによって圧縮された変化領域をユーザの端末装置に伝送することによって、ユーザの端末装置でアプリケーションが実行される感じを受けることができるように、クラウドストリーミングサービスを行うことができる。
格納部1440は、前述したように、本発明の実施形態によるクラウドストリーミングサービス過程で発生する多様な情報を格納する。
実施形態によって、格納部1440は、クラウドストリーミングサーバー1310と独立的に構成され、クラウドストリーミングサービスのための機能を支援できる。この際、格納部1440は、別途の大容量ストレージとして動作でき、動作実行のための制御機能を含む。
また、前述したように構成されるクラウドストリーミングサーバー1310は、一つ以上のサーバーで具現され得る。
なお、クラウドストリーミングサーバー1310は、メモリが搭載され、その装置内で情報を格納できる。一具現例の場合、メモリは、コンピュータで読み取り可能な媒体である。一具現例で、メモリは、揮発性メモリユニットであることができ、他の具現例の場合、メモリは、不揮発性メモリユニットであってもよい。一具現例の場合、格納装置は、コンピュータで読み取り可能な媒体である。多様な互いに異なる具現例で、格納装置は、例えばハードディスク装置、光学ディスク装置、あるいはどんな他の大容量格納装置を含むこともできる。
図15は、スチールイメージ基盤クラウドストリーミングシステムの他の例を示す図である。
図15を参照すれば、サーバー1500では、ユーザの端末装置から発生するユーザ入力(User Input)に相当するプログラム画面1510を実行させてキャプチャ(Screen Capture)を行うことができる。この際、サーバー1500は、クラウドストリーミングサーバーとウェブアプリケーションサーバーを総称するサーバーであることができる。また、プログラム画面1510を実行させてキャプチャ(Screen Capture)を行う過程は、図14に示されたキャプチャ部1410の動作流れと相当できる。
サーバー1500は、キャプチャ(Screen Capture)されたプログラム画面1510をスチールイメージ圧縮技法を用いてエンコーディング(Image Encoding)(1520)できる。この際、エンコーディング(Image Encoding)1520を行う過程は、図14に示されたエンコーディング部1420の動作流れと相当できる。
この際、変化したフレームを以前フレームと比較して変化した領域のみをキャプチャできる。また、変化した領域のイメージ特性及び変化した領域に相当するイメージ解像度を考慮して中央処理ユニット及びグラフィック処理ユニットのうちいずれか一つのエンコーディング処理ユニットを選択し、選択したエンコーディング処理ユニットを利用して変化した領域をスチールイメージエンコーディングできる。
その後、サーバー1500は、スチールイメージエンコーディングされた変化した領域をユーザの端末装置にストリーミング(Streaming)(1530)し、スチールイメージ基盤のクラウドストリーミングサービスを提供できる。この際、ストリーミング(Streaming)(1530)を行う過程は、図14に示されたセンディング部1430の動作流れと相当できる。
その後、ユーザの端末装置では、受信したデータをレンダリング(Image Rendering)(1540)することによって、ユーザ入力(User Input)によってアプリケーションで実行されたプログラム画面1510がまるでユーザの端末装置で実行されたもののように、ユーザにディスプレイできる。
図16は、本発明の一実施形態によるエンコーディング処理ユニットを示す図である。
図16を参照すれば、本発明の一実施形態によるエンコーディング処理ユニットは、中央処理ユニット(Central Processing Unit;CPU)1610と、グラフィック処理ユニット(Graphics Processing Unit;GPU)1620とに区分できる。
中央処理ユニット1610は、コンピュータの最も重要な部分であって、命令を解読し、算術論理演算やデータ処理を実行する装置であることができる。したがって、コンピュータの計算速度や一度に扱うデータ量、管理し得る主記憶装置領域のサイズなどは、中央処理ユニットの性能に依存するところが大きい。このような中央処理ユニット(Central Processing Unit;CPU)を利用して変化領域をエンコーディングする場合、エンコーディングするデータを他のユニットに伝達せず、すぐエンコーディングを行うことができるため、データ伝達による費用は発生しないことがある。しかし、変化領域に相当するイメージの解像度が高い場合には、エンコーディングを行うのに時間が長くかかることができる。特に、パレットPNG(portable network graphics)スチールイメージ圧縮技法でカラー量子化過程を行うことのように、単純な計算を多く繰り返す場合には、エンコーディング時間が長くかかることができる。
グラフィック処理ユニット1620は、3Dグラフィックが本格的に導入された後、ディスプレイ画面をより現実的に作るための各種光源効果及び質感表現技法を処理するために開発された3Dグラフィック演算専用のプロセッサである。このようなグラフィック処理ユニット(Graphics Processing Unit;GPU)を利用して変化領域をエンコーディングする場合には、むしろ単純計算の繰り返しや解像度が大きいイメージをエンコーディングするのに効果的である。しかし、グラフィック処理ユニットを利用して変化領域のエンコーディングを行うためには、まず、中央処理ユニットからエンコーディングするデータを伝達され、エンコーディングが完了した後にも、エンコーディングされたデータをさらに中央処理ユニットに伝達しなければならないため、追加的な伝達費用が発生し得る。
このような中央処理ユニット1610とグラフィック処理ユニット1620は、図16のように、サーバー1600内で独立的に存在し得る。または、図16とは異なって、中央処理ユニット1610とグラフィック処理ユニット1620が一つの装置中に混合して存在するか、中央処理ユニット1610内にグラフィック処理ユニット1620が含まれるなど、多様な形態で構成される。
また、中央処理ユニット1610とグラフィック処理ユニット1620は、相互間にデータを送受信できるように連結されていてもよい。
図17は、本発明の他の実施形態によるクラウドストリーミングサービスで変化領域をキャプチャする過程を示す図である。
図17を参照すれば、本発明の一実施形態によるスチールイメージ基盤クラウドストリーミングサービスは、第1フレーム1710と第2フレーム1720を比較し、変化した変化領域1730のみをキャプチャしてエンコーティングできる。
例えば、第1フレーム1710と第2フレーム1720からB、C、D及びEの領域をメニューディスプレイと仮定したとき、第1フレーム1710では、C領域にカーソルが位置することによって、C領域が他のB、D、及びE領域と区別され得るように陰影処理され、第2フレーム1720では、C領域からD領域にカーソルが移動することによって、D領域が他のB、C及びE領域と区別され得るように陰影処理され得る。
この際、第1フレーム1710と第2フレーム1720を比較したとき、変化した領域であるCとD領域のみを変化領域1730としてキャプチャできる。また、変化領域1730の解像度と変化領域1730に相当するイメージタイプを考慮してエンコーディング処理ユニットを選択し、選択したエンコーディング処理ユニットを利用して変化領域1730をエンコーディングできる。
このように第1フレーム1710と第2フレーム1720は、確かに変化があるフレームであって、従来のクラウドストリーミングサービス時には、二つのフレームを含んでフレームレートに相当する数のフレームをすべてキャプチャしてエンコーディングを行わなければならない。しかし、スチールイメージ基盤クラウドストリーミングサービスは、変化領域1730のみをキャプチャしてスチールイメージ圧縮技法でエンコーディングするため、不要に多くのフレームとフレームの画面全体をキャプチャする従来のクラウドストリーミングサービス方法よりサービスの効率性を向上させることができる。
図18は、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法を示す動作流れ図である。
図18を参照すれば、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法は、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャする(S1810)。ビデオコーデック基盤のクラウドストリーミング技法は、アプリケーションが動作する画面に相当するすべてのフレームをキャプチャしてエンコーディングを行うことができる。しかし、アプリケーションが動作する画面上でフレーム間変化が大きくない場合には、以前フレームと比較して変化したフレームの変化領域のみをキャプチャし、スチールイメージエンコーディングを行い、ユーザの端末装置にディスプレイするとき、変化領域を除いた部分は、同一に示し、変化領域のみに対して変化を与える方式でディスプレイできる。
この際、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。例えば、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域がA領域であれば、変化したフレームに相当する画面領域のうちA領域のみを変化領域としてキャプチャできる。このような変化領域は、ユーザの端末装置で入力される入力信号によって解像度や変化領域に相当するイメージのタイプが多様である。
この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。
この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。例えば、ユーザの端末装置から発生する入力信号によってアプリケーションのイベント類型が決定され得る。入力信号によってメニュー、オプション、案内窓のように、アプリケーションを実行したとき、フレームの変化が少ない静的なイベント、または動画再生及びゲームプレイのように、フレームが頻繁に変わる動的なイベントが発生し得る。したがって、ユーザが端末装置を介して発生させる入力信号でイベント類型を感知し、イベント類型が静的なイベントであれば、当該イベントに相当するフレーム全体区間のうちフレーム変化が少ない区間を検出できる。
また、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法は、変化領域に相当するイメージ特性及びイメージ解像度のうち一つ以上を考慮してエンコーディング処理ユニットを選択し、エンコーディング処理ユニットを利用して一つのフレームに相当する変化領域をスチールイメージエンコーディングする(S1820)。
この際、エンコーディング処理ユニットは、中央処理ユニット(Central Processing Unit;CPU)及びグラフィック処理ユニット(Graphics Processing Unit;GPU)のうちいずれか一つのエンコーディング処理ユニットであることができる。
中央処理ユニット(Central Processing Unit;CPU)は、コンピュータの最も重要な部分であって、命令を解読し、算術論理演算やデータ処理を行う装置であることができる。したがって、コンピュータの計算速度や一度に扱うデータ量、管理し得る主記憶装置領域のサイズなどは、中央処理ユニットの性能に依存するところが大きい。このような中央処理ユニット(Central Processing Unit;CPU)を利用して変化領域をエンコーディングする場合、エンコーディングするデータを他のユニットに伝達せず、すぐエンコーディングを行うことができるため、データ伝達による費用が発生しないことがある。しかし、変化領域に相当するイメージの解像度が高い場合には、エンコーディングを行うのに時間が長くかかることができる。特に、パレットPNG(portable network graphics)スチールイメージ圧縮技法でカラー量子化過程を行うことのように、単純な計算を多く繰り返す場合には、エンコーディング時間が長くかかることができる。
グラフィック処理ユニット(Graphics Processing Unit;GPU)は、3Dグラフィックが本格的に導入された後、ディスプレイ画面をより現実的に作るための各種光源効果及び質感表現技法を処理するために開発された3Dグラフィック演算専用のプロセッサである。このようなグラフィック処理ユニット(Graphics Processing Unit;GPU)を利用して変化領域をエンコーディングする場合には、むしろ単純計算の繰り返しや解像度が大きいイメージをエンコーディングするのに効果的である。しかし、グラフィック処理ユニットを利用して変化領域のエンコーディングを行うためには、まず、中央処理ユニットからエンコーディングするデータを伝達されて、エンコーディングが完了した後にも、エンコーディングされたデータをさらに中央処理ユニットに伝達しなければならないため、追加的な伝達費用が発生し得る。
この際、イメージ特性及びイメージ解像度のうち一つ以上を考慮して中央処理ユニットとグラフィック処理ユニット各々に対するエンコーディング処理費用を予測し、中央処理ユニット及びグラフィック処理ユニットのうちエンコーディング処理費用が低いエンコーディング処理ユニットを選択して、変化領域をスチールイメージエンコーディングできる。例えば、変化領域Aに対してエンコーディングを行うために、変化領域Aに相当するイメージ特性とイメージ解像度を判断できる。その後、判断された変化領域Aのイメージ特性及びイメージ解像度を基盤としてそれぞれ中央処理ユニットとグラフィック処理ユニットにエンコーディングを実行したときに発生し得るエンコーディング処理費用を予測できる。二つのエンコーディング処理ユニットのうちエンコーディング処理費用がさらに低く予測されたエンコーディング処理ユニットを選択し、変化領域Aのエンコーディングを行うことができる。
また、エンコーディングが行われた後に発生したエンコーディング処理費用に対してエンコーディング処理費用統計を生成できる。例えば、クラウドストリーミングサービスが行われるうちに所定の単位期間を設定し、設定された単位期間ごとにエンコーディング処理費用に対する格納された情報を利用してエンコーディング処理費用統計をアップデートできる。このようなエンコーディング処理費用統計は、イメージ特性、イメージ解像度及びエンコーディング処理ユニット各々に対する詳細的な統計情報として生成され得、生成された統計情報を基盤として選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法の信頼度を上昇させることができる。
この際、変化領域に相当するイメージ解像度が既定の基準値以上である場合、グラフィック処理ユニットを利用して変化領域をスチールイメージエンコーディングできる。
解像度は、イメージを表現するにあたって、いくつかのピクセルまたはドットを利用して示したか、その程度を示すことができる。単位としては、1インチ当たりいくつかのピクセル(pixel)よりなるかを示すppi(pixel per inch)、1インチ当たりいくつかの点(dot)よりなるかを示すdpi(dot per inch)を主に使用する。ピクセルまたはドットの数が多いほど、高解像度の精緻なイメージを表現できる。解像度が高いほど、イメージがきれいで且つ鮮明に見えるが、その分、1インチ当たり点の数が多くなって、当該イメージを処理するために多量のメモリが必要であり、結果的に、コンピュータ処理速度が遅くなる短所が存在し得る。例えば、解像度が高いイメージを中央処理ユニットでエンコーディングする場合、エンコーディング処理時間が長くなって、エンコーディング処理費用が多く発生し得る。
したがって、変化領域に相当するイメージ解像度が前もって設定された基準値と同一であるか、または基準値より高い場合には、グラフィック処理ユニットを利用してエンコーディングを行うことによって、中央処理ユニットを利用してエンコーディングするときよりエンコーディング処理費用を節約できる。
この際、変化領域に相当するイメージ解像度が既定の基準値未満である場合、変化領域に相当するイメージ特性によるスチールイメージ圧縮技法を考慮してエンコーディング処理ユニットを選択できる。変化領域に相当するイメージ解像度が既定の基準値より低い場合、エンコーディングするデータをグラフィック処理ユニットに伝達する必要なく、中央処理ユニットでエンコーディングを行うことができる。しかし、イメージ解像度が低くても、変化領域に相当するイメージ特性によって選択されるスチールイメージ圧縮技法によって単純計算が繰り返されなければならない場合が発生し得るため、変化領域のイメージタイプをもう一度考慮してエンコーディング処理ユニットを選択できる。
また、スチールイメージ圧縮技法は、変化領域に相当するイメージのサイズやイメージのタイプのようなイメージ特性によって決定され得る。
この際、スチールイメージ圧縮技法は、PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当できる。PNGスチールイメージ圧縮技法は、エンコーディングの場合、画質は良いが、データサイズが大きくなるため、伝送網の帯域幅が低い場合、反応速度の低下をもたらすことができる。パレットPNGスチールイメージ圧縮技法は、データのサイズを減少するが、が画質の劣化をもたらすことができ、特にデータサイズ減少のためのカラー量子化過程に起因して、単純な計算の繰り返される過程が含まれることができる。JPEGスチールイメージ圧縮技法は、伝送されるイメージタイプによってデータの圧縮効率が良いが、圧縮効率が良い分だけ、エンコーディング及びデコーディング時に負荷が大きくなることができる。
この際、イメージ解像度が既定の基準値未満であり、スチールイメージ圧縮技法がパレットPNGである場合、グラフィック処理ユニットを利用して変化領域をスチールイメージエンコーディングできる。例えば、変化領域のイメージ特性上、パレットPNGスチールイメージ圧縮技法を利用してエンコーディングを行うときには、カラー量子化のような単純計算を繰り返すため、エンコーディング処理時間が長くなることができる。したがって、このような場合には、グラフィック処理ユニットを利用してエンコーディングを行うことによって、中央処理ユニットを利用してエンコーディングするときより少ないエンコーディング処理費用でクラウドストリーミングサービスを行うことができる。
また、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う(S1830)。エンコーディングを完了することによって圧縮された変化領域をユーザの端末装置に伝送することによって、ユーザの端末装置でアプリケーションが実行される感じを受けることができるように、クラウドストリーミングサービスを行うことができる。
また、図18には図示していないが、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法は、クラウドストリーミングサービス過程で発生する多様な情報を格納できる。
図19は、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法を詳細に示す動作流れ図である。
図19を参照すれば、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法は、まず、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャする(S1910)。
その後、変化領域に相当するイメージの解像度が既定の基準値以上であるか否かを判断する(S1915)。
段階S1915の判断結果、基準値以上であれば、変化領域をグラフィック処理ユニットでエンコーディングする(S1920)。
段階S1915の判断結果、基準値未満であれば、変化領域をエンコーディングするスチールイメージ圧縮技法がパレットPNGスチールイメージ圧縮技法であるか否かを判断する(S1925)。
段階S1925の判断結果、パレットPNGスチールイメージ圧縮技法であれば、変化領域をグラフィック処理ユニットでエンコーディングする(S1920)。
段階S1925の判断結果、パレットPNGスチールイメージ圧縮技法ではなければ、変化領域を中央処理ユニットでエンコーディングする(S1930)。この際、変化領域をエンコーディングするスチールイメージ圧縮技法は、PNGスチールイメージ圧縮技法及びJPEGスチールイメージ圧縮技法のうちいずれか一つに相当できる。
その後、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う(S1940)。
図20は、本発明のさらに他の実施形態によるクラウドストリーミングサービスシステムを示すブロック図である。
図20を参照すれば、本発明の一実施形態によるクラウドストリーミングサービスシステムは、クラウドストリーミングサーバー2010、端末装置2020−1、…、2020−N及びネットワーク2030を含む。
クラウドストリーミングサーバー2010は、端末装置2020−1、…、2020−Nからクラウドストリーミングサービス要請を受けてアプリケーションを実行し、アプリケーション実行結果に該当する実行結果画面を端末装置2020−1、…、2020−Nに提供する。
クラウドストリーミングサーバー2010は、変化したフレームに含まれた変化領域をキャプチャする。この際、変化したフレームに相当する画面領域のうち変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。この際、端末装置2020−1、…、2020−Nに伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。この際、端末装置2020−1、…、2020−Nから発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。
また、クラウドストリーミングサーバー2010は、変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当てて、エンコーディングプロセスを行い、変化領域をスチールイメージエンコーディングする。この際、単位プロセスは、変化領域に相当するイメージ分析、スチールイメージ圧縮技法の決定、スチールイメージ圧縮及び圧縮データ集約のうちいずれか一つに相当できる。この際、イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシング結果を基盤としてグラフィック処理ユニットにスチールイメージ圧縮に相当する単位プロセスを割り当てることができる。この際、スチールイメージ圧縮は、変化領域に相当するイメージに対してカラーヒストグラム構成、パレット生成、パレット基盤の原本カラー量子化及びパレット基盤エンコーディング中の一つ以上の過程を含む。この際、グラフィック処理ユニットは、スチールイメージ圧縮に相当するプロセッシング結果を中央処理ユニットに伝達できる。この際、中央処理ユニットは、スチールイメージ圧縮に相当するプロセッシング結果を利用して圧縮データ集約に相当する単位プロセスを行うことができる。この際、中央処理ユニットは、スチールイメージ圧縮に相当する単位プロセスがグラフィック処理ユニットに割り当てられた場合、変化領域に相当するイメージデータをグラフィック処理ユニットに伝達できる。
また、クラウドストリーミングサーバー2010は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う。
端末装置2020−1、…、2020−Nは、クラウドストリーミングサーバー2010からクラウドストリーミングサービスに相当するアプリケーション実行結果画面を受信し、ユーザに提供する。
端末装置2020−1、…、2020−Nは、それぞれ通信網に連結され、クラウドコンピューティングシステムを基盤としてアプリケーションを実行できる装置であって、移動通信端末に限定されるものではなく、すべての情報通信機器、マルチメディア端末、有線端末、固定型端末及びIP(Internet Protocol)端末などの多様な端末であることができる。また、端末装置2020−1、…、2020−Nは、それぞれ携帯電話、PMP(Portable Multimedia Player)、MID(Mobile Internet Device)、スマートフォン(Smart Phone)、デスクトップ(Desktop)、タブレットパソコン(Tablet PC)、ノートパソコン(Note book)、ネットブック(Net Book)、個人携帯用情報端末(Personal Digital Assistant;PDA)、スマートテレビ及び情報通信機器などのような多様な移動通信仕様を有するモバイル(Mobile)端末であることができる。
ネットワーク2030は、クラウドストリーミングサーバー2010及び端末装置2020−1、…、2020−Nの間にデータを伝達する通路を提供するもので、従来に利用されるネットワーク及び今後開発可能なネットワークをすべて包括する概念である。例えば、ネットワーク2030は、限定された地域内で各種情報装置の通信を提供する有線・無線近距離通信網、移動体相互の間及び移動体と移動体外部との通信を提供する移動通信網、衛星を利用して地球局と地球局間通信を提供する衛星通信網であるか、有線・無線通信網のうちいずれか一つであるか、二つ以上の結合よりなることができる。なお、ネットワーク2030の伝送方式標準は、従来の伝送方式標準に限定されるものではなく、今後開発されるすべての伝送方式標準を含む。また、図20で、クラウドストリーミングサーバー2010と端末装置2020−1、…、2020−Nの間に使用されるネットワークは、端末装置2020−1、…、2020−N相互間に使用されるネットワークと異なっていてもよく、同一であってもよい。
図21は、図20に示されたクラウドストリーミングサーバーの一例を示すブロック図である。
図21を参照すれば、図20に示されたクラウドストリーミングサーバー2010は、キャプチャ部2110、エンコーディング部2120、センディング部2130及び格納部2140を含む。
クラウドストリーミングサービス時に、変化領域のみを検出し、クラウドストリーミングサービスを行うイメージクラウドストリーミングにおいて、イメージエンコーディングを行うとき、中央処理ユニット(Central Processing Unit;CPU)を利用するか、グラフィック処理ユニット(Graphics Processing Unit;GPU)を利用してエンコーディングを行うことができる。この際、最適のイメージクラウドストリーミングサービスを提供するためには、細分化されたエンコーディングプロセスに適切に中央処理ユニットとグラフィック処理ユニットを組み合わせて使用しなければならないが、従来のクラウドストリーミングサービスの提供時には、同一の一つのユニットだけでエンコーディングが処理されている実情である。したがって、本発明では、クラウドストリーミングサービスのためにエンコーディングプロセスを単位プロセスに細分化し、単位プロセス別にそれぞれ中央処理ユニットとグラフィック処理ユニットがプロセッシングすることによって、さらに効率的にイメージクラウドストリーミングサービスを提供できる構成を提案する。
キャプチャ部2110は、変化したフレームに含まれた変化領域をキャプチャする。ビデオコーデック基盤のクラウドストリーミング技法は、アプリケーションが動作する画面に相当するすべてのフレームをキャプチャしてエンコーディングを行うことができる。しかし、アプリケーションが動作する画面上でフレーム間変化が大きくない場合には、変化したフレームの変化領域のみをキャプチャし、スチールイメージエンコーディングを行い、ユーザの端末装置にディスプレイするとき、変化領域を除いた部分は、同一に示し、変化領域のみに対して変化を与える方式でディスプレイできる。
この際、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。例えば、変化したフレームに相当する画面領域のうち以前フレームに相当する画面領域と比較して変化した領域がA領域であれば、変化したフレームに相当する画面領域のうちA領域のみを変化領域としてキャプチャできる。このような変化領域は、ユーザの端末装置で入力される入力信号によって解像度や変化領域に相当するイメージのタイプが多様である。
この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。
この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。例えば、ユーザの端末装置から発生する入力信号によってアプリケーションのイベント類型が決定され得る。入力信号によってメニュー、オプション、案内窓のように、アプリケーションを実行したとき、フレームの変化が少ない静的なイベント、または動画再生及びゲームプレイのように、フレームが頻繁に変わる動的なイベントが発生し得る。したがって、ユーザが端末装置を介して発生させる入力信号でイベント類型を感知し、イベント類型が静的なイベントであれば、当該イベントに相当するフレーム全体区間のうちフレーム変化が少ない区間を検出できる。
エンコーディング部2120は、変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当てて、エンコーディングプロセスを行って変化領域をスチールイメージエンコーディングする。
クラウドストリーミングサーバーで変化領域に相当するイメージをエンコーディングするとき、中央処理ユニットのみを使用してサービスを行う従来の方式では、クラウドストリーミングサーバーの全体可用資源を使用しないため、イメージエンコーディングの時間が遅延されるにつれて、サービス品質が低下することがある。したがって、本発明では、エンコーディングプロセスを複数の単位プロセスに細分化し、それぞれの単位プロセスを中央処理装置とグラフィック処理装置に適切に割り当ててエンコーディングを行うことによって、従来の方式で発生し得る問題点を解決できる構成を提示できる。
この際、単位プロセスは、変化領域に相当するイメージ分析、スチールイメージ圧縮技法の決定、スチールイメージ圧縮及び圧縮データ集約のうちいずれか一つに相当できる。イメージ分析は、変化領域に相当するイメージがどんな特性を有しているかを分析する過程であることができる。例えば、イメージのサイズや解像度及びタイプなどのイメージ特性を分析し、効率的なエンコーディングを行うためのデータとして使用できる。
また、スチールイメージ圧縮技法の決定に相当する単位プロセスを行うことによって、変化領域の圧縮を行うとき、クラウドストリーミングサーバーの資源をさらに効率的に使用できる。その後、変化領域に相当する少なくとも一つ以上のイメージをスチールイメージ圧縮した結果を利用して最終的に圧縮データ集約に相当するプロセスを行うことができる。
この際、イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシング結果を基盤としてグラフィック処理ユニットにスチールイメージ圧縮に相当する単位プロセスを割り当てることができる。例えば、イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシング結果変化領域をエンコーディングするスチールイメージ圧縮技法でパレットPNG(portable network graphics)スチールイメージ圧縮技法が決定され得る。この際、パレットPNGスチールイメージ圧縮技法を利用してスチールイメージエンコーディングを行う過程には、単純な計算の繰り返しや並列で処理しやすい計算過程が含まれることができる。したがって、このような場合には、単位プロセスのうちスチールイメージ圧縮を行う単位プロセスをグラフィック処理ユニットに割り当てることによって、エンコーディングに使用される時間を節約し、クラウドストリーミングサーバーの資源を効率的に使用できる。
また、イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシング結果に相関なく、システム設定によって、グラフィック処理ユニットを利用してスチールイメージ圧縮に相当する単位プロセスを行うこともできる。クラウドストリーミングシステムが中央処理ユニットだけで構成された場合には、中央処理ユニットを利用してすべてのプロセスを行わなければならないため、ユーザの端末にクラウドストリーミングサービスを提供するとき、レイテンシ遅延が発生する可能性が高いことがある。したがって、中央処理ユニットを一つまたは複数個具備し、スチールイメージ圧縮に相当する単位プロセスをグラフィック処理ユニットで行い、プロセッシング結果を中央処理ユニットに再伝達することによって、クラウドストリーミングシステムの管理費用節減及びレイテンシ遅延減少の効果を達成できる。
この際、スチールイメージ圧縮は、変化領域に相当するイメージに対してカラーヒストグラム構成、パレット生成、パレット基盤の原本カラー量子化及びパレット基盤エンコーディングのうち一つ以上の過程を含む。カラーヒストグラム構成は、変化領域に相当するイメージに対するパレットを生成するために行われることができる。パレット生成は、カラーヒストグラムを利用して原本イメージ、すなわち変化領域に相当するイメージ対比最小損失が生じるパレットを生成する過程であることができる。このように生成したパレットを基盤として変化領域に相当するイメージのカラーを、パレットに相当するカラーに置換し、原本カラー量子化を行い、パレット基盤エンコーディングを行うことができる。
この際、グラフィック処理ユニットは、スチールイメージ圧縮に相当するプロセッシング結果を中央処理ユニットに伝達できる。例えば、複数個の変化したフレームに含まれた変化領域に対してグラフィック処理ユニットでスチールイメージ圧縮に相当する単位プロセスを行い、それぞれのプロセッシング結果を圧縮データ集約に相当する単位プロセスを行う中央処理ユニットに伝達できる。このようにエンコーディングプロセスを複数個に細分化して、中央処理ユニット及びグラフィック処理ユニットのうちいずれか一つで行うことによって、プロセッシング結果を伝達する資源消耗費用が追加的に発生し得るが、エンコーディングプロセスを細分化して処理することによって得ることができる資源効率利得が追加に発生し得る資源消耗費用より大きいため、さらに効果的なエンコーディング方法であることができる。
この際、中央処理ユニットは、スチールイメージ圧縮に相当するプロセッシング結果を利用して圧縮データ集約に相当する単位プロセスを行うことができる。例えば、グラフィック処理ユニットを通じて生成されたスチールイメージ圧縮に相当するプロセッシング結果が複数の場合には、それぞれのプロセッシング結果、すなわち圧縮データを集約できる。エンコーディングプロセスを行い、ユーザの端末装置にスチールイメージ基盤のクラウドストリーミングサービスを提供することが本発明の目的であるため、ユーザの端末装置にサービスを提供できるように複数の圧縮データを集約し、エンコーディングプロセスを行うことができる。
この際、中央処理ユニットは、スチールイメージ圧縮に相当する単位プロセスがグラフィック処理ユニットに割り当てられた場合、変化領域に相当するイメージデータをグラフィック処理ユニットに伝達できる。イメージ分析及びスチールイメージ圧縮技法の決定に相当する単位プロセスのプロセッシング結果によってスチールイメージ圧縮に相当する単位プロセスがグラフィック処理ユニットに割り当てられるか否かが決定され得る。例えば、イメージ分析及びスチールイメージ圧縮技法の決定に相当する単位プロセスのプロセッシング結果変化領域に相当するイメージをパレットPNGスチールイメージ圧縮技法で圧縮する場合には、単純計算を繰り返し、並列処理しやすい計算が存在するので、グラフィック処理ユニットでスチールイメージ圧縮を行うことが、中央処理ユニットでスチールイメージ圧縮を行うことよりさらに効率的なことがある。したがって、前記のように、グラフィック処理ユニットでスチールイメージ圧縮に相当する単位プロセスが割り当てられた場合には、圧縮されるイメージデータ、すなわち変化領域に相当するイメージデータをグラフィック処理ユニットに伝達できる。
センディング部2130は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う。エンコーディングを完了することによって圧縮された変化領域をユーザの端末装置に伝送することによって、ユーザの端末装置でアプリケーションが実行される感じを受けることができるように、クラウドストリーミングサービスを行うことができる。
格納部2140は、前述したように、本発明の実施形態によるクラウドストリーミングサービス過程で発生する多様な情報を格納する。
実施形態によって、格納部2140は、クラウドストリーミングサーバー2010と独立的に構成され、クラウドストリーミングサービスのための機能を支援できる。この際、格納部2140は、別途の大容量ストレージとして動作でき、動作実行のための制御機能を含む。
また、前述したように構成されるクラウドストリーミングサーバー2010は、一つ以上のサーバーで具現され得る。
なお、クラウドストリーミングサーバー2010は、メモリが搭載され、当該装置内で情報を格納できる。一具現例の場合、メモリは、コンピュータで読み取り可能な媒体である。一具現例で、メモリは、揮発性メモリユニットであることができ、他の具現例の場合、メモリは、不揮発性メモリユニットであってもよい。一具現例の場合、格納装置は、コンピュータで読み取り可能な媒体である。多様な互いに異なる具現例で、格納装置は、例えばハードディスク装置、光学ディスク装置、あるいはどんな他の大容量格納装置を含むこともできる。
図22は、スチールイメージ基盤クラウドストリーミングシステムのさらに他の例を示す図である。
図22を参照すれば、サーバー2210では、ユーザの端末装置から発生するユーザ入力(User Input)に相当するプログラム画面2210を実行させて、キャプチャ(Screen Capture)を行うことができる。この際、サーバー2200は、クラウドストリーミングサーバーとウェブアプリケーションサーバーを総称するサーバーであることができる。また、プログラム画面2210を実行させてキャプチャ(Screen Capture)を行う過程は、図21に示されたキャプチャ部2110の動作流れと相当できる。
サーバー2200は、キャプチャ(Screen Capture)されたプログラム画面2210をスチールイメージ圧縮技法を用いてエンコーディング(Image Encoding)2220できる。この際、エンコーディング(Image Encoding)2220を行う過程は、図21に示されたエンコーディング部2120の動作流れと相当できる。
この際、変化したフレームを以前フレームと比較して変化した領域のみをキャプチャできる。また、変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当てて、エンコーディングプロセスを行い、変化領域をスチールイメージエンコーディングできる。
その後、サーバー2200は、スチールイメージエンコーディングされた変化した領域をユーザの端末装置にストリーミング(Streaming)(2230)し、スチールイメージ基盤のクラウドストリーミングサービスを提供できる。この際、ストリーミング(Streaming)(2230)を行う過程は、図21に示されたセンディング部2130の動作流れと相当できる。
その後、ユーザの端末装置では、受信したデータをレンダリング(Image Rendering)(2240)することによって、ユーザ入力(User Input)によってアプリケーションで実行されたプログラム画面2210がまるでユーザの端末装置で実行されたもののように、ユーザにディスプレイできる。
図23は、本発明の他の実施形態によるエンコーディング処理ユニットを示す図である。
図23を参照すれば、本発明の他の実施形態によるエンコーディング処理ユニットは、中央処理ユニット(Central Processing Unit;CPU)2310と、グラフィック処理ユニット(Graphics Processing Unit;GPU)2320とに区分できる。
中央処理ユニット2310は、コンピュータの最も重要な部分であって、命令を解読し、算術論理演算やデータ処理を実行する装置であることができる。したがって、コンピュータの計算速度や一度に扱うデータ量、管理し得る主記憶装置領域のサイズなどは、中央処理ユニットの性能に依存するところが大きい。このような中央処理ユニット(Central Processing Unit;CPU)を利用して変化領域をエンコーディングする場合、エンコーディングするデータを他のユニットに伝達せず、すぐエンコーディングを行うことができるため、データ伝達による費用は発生しないこともある。しかし、変化領域に相当するイメージをエンコーディングするための過程のうち単純計算の繰り返し及び並列処理しやすい計算のうち一つ以上が含まれた場合には、中央処理ユニット2310を利用してエンコーディングを行うのに時間が長くかかることができる。特に、パレットPNG(portable network graphics)スチールイメージ圧縮技法を利用してエンコーディングを行う場合、それぞれのフレームイメージに対してカラーヒストグラムを構成し、カラーヒストグラムを基盤としてパレットを生成し、カラー量子化を行うため、エンコーディング時間が非効率的に長くなる。
グラフィック処理ユニット2320は、3Dグラフィックが本格的に導入された後、ディスプレイ画面をより現実的に作るための各種光源効果及び質感表現技法を処理するために開発された3Dグラフィック演算専用のプロセッサである。このようなグラフィック処理ユニット(Graphics Processing Unit;GPU)を利用して変化領域をエンコーディングする場合には、単純計算の繰り返しや並列処理しやすい計算過程が含まれていても、グラフィック処理装置の処理能力を通じて効果的にエンコーディングを行うことができる。しかし、グラフィック処理ユニットを利用して変化領域のエンコーディングを行うためには、まず、中央処理ユニットからエンコーディングするデータを伝達され、エンコーディングが完了した後にも、エンコーディングされたデータをさらに中央処理ユニットに伝達しなければならないため、追加的な伝達費用が発生し得る。
このような中央処理ユニット2310とグラフィック処理ユニット2320は、図23のように、サーバー2300内で独立的に存在し得る。または、図23とは異なって、中央処理ユニット2310とグラフィック処理ユニット2320が一つの装置中に混合して存在するか、中央処理ユニット2310内にグラフィック処理ユニット2320が含まれるなど多様な形態で構成される。
また、中央処理ユニット2310とグラフィック処理ユニット2320は、相互間にデータを送受信できるように連結されていてもよい。
図24は、本発明のさらに他の実施形態によるクラウドストリーミングサービスで変化領域をキャプチャする過程を示す図である。
図24を参照すれば、本発明のさらに他の実施形態によるスチールイメージ基盤クラウドストリーミングサービスは、第1フレーム2410と第2フレーム2420を比較し、変化した変化領域2430のみをキャプチャしてエンコーディングできる。
例えば、第1フレーム2410と第2フレーム2420でB、C、D及びEの領域をメニューディスプレイと仮定したとき、第1フレーム2410では、C領域にカーソルが位置することによって、C領域が他のB、D、及びE領域と区別され得るように陰影処理され、第2フレーム2420では、C領域からD領域にカーソルが移動することによって、D領域が他のB、C及びE領域と区別され得るように陰影処理され得る。
この際、第1フレーム2410と第2フレーム2420を比較したとき、変化した領域であるCとD領域のみを変化領域2430としてキャプチャできる。また、変化領域2430に対するエンコーディングプロセスを複数個の単位プロセスに分離し、単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当てて、エンコーディングプロセスを行い、変化領域2430をスチールイメージエンコーディングできる。
このように第1フレーム2410と第2フレーム2420は、確かに変化があるフレームであって、従来のクラウドストリーミングサービス時には、二つのフレームを含んでフレームレートに相当する数のフレームをすべてキャプチャしてエンコーディングを行わなければならない。しかし、スチールイメージ基盤クラウドストリーミングサービスは、変化領域2430のみをキャプチャしてスチールイメージ圧縮技法でエンコーディングするため、不要に多くのフレームとフレームの画面全体をキャプチャする従来のクラウドストリーミングサービス方法よりサービスの効率性を向上させることができる。
図25は、本発明の一実施形態によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法を示す動作流れ図である。
図25を参照すれば、本発明の一実施形態によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法は、変化したフレームに含まれた変化領域をキャプチャする(S2510)。ビデオコーデック基盤のクラウドストリーミング技法は、アプリケーションが動作する画面に相当するすべてのフレームをキャプチャしてエンコーディングを行うことができる。しかし、アプリケーションが動作する画面上でフレーム間変化が大きくない場合には、変化したフレームの変化領域のみをキャプチャし、スチールイメージエンコーディングを行い、ユーザの端末装置にディスプレイするとき、変化領域を除いた部分は、同一に示し、変化領域のみに対して変化を与える方式でディスプレイできる。
この際、変化したフレームに相当する画面領域のうち変化したフレームの以前フレームに相当する画面領域と比較して変化した領域を変化領域としてキャプチャできる。例えば、変化したフレームに相当する画面領域のうち変化したフレームの以前フレームに相当する画面領域と比較して変化した領域がA領域であれば、変化したフレームに相当する画面領域のうちA領域のみを変化領域としてキャプチャできる。このような変化領域は、ユーザの端末装置で入力される入力信号によって解像度や変化領域に相当するイメージのタイプが多様である。
この際、ユーザの端末装置に伝送されるフレーム全体区間のうちフレーム変化が少ない区間を検出し、フレーム変化が少ない区間で変化領域をキャプチャできる。
この際、ユーザの端末装置から発生するアプリケーションのイベント類型を感知し、フレーム変化が少ない区間を検出できる。例えば、ユーザの端末装置から発生する入力信号によってアプリケーションのイベント類型が決定され得る。入力信号によってメニュー、オプション、案内窓のように、アプリケーションを実行したときにフレームの変化が少ない静的なイベント、または動画再生及びゲームプレイのように、フレームが頻繁に変わる動的なイベントが発生し得る。したがって、ユーザが端末装置を介して発生させる入力信号でイベント類型を感知し、イベント類型が静的なイベントであれば、当該イベントに相当するフレーム全体区間のうちフレーム変化が少ない区間を検出できる。
また、本発明の一実施形態によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法は、変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当てて、エンコーディングプロセスを行い、変化領域をスチールイメージエンコーディングする(S2520)。
クラウドストリーミングサーバーで変化領域に相当するイメージをエンコーディングするとき、中央処理ユニットのみを使用してサービスを行う従来の方式では、クラウドストリーミングサーバーの全体可用資源を使用しないため、イメージエンコーディングの時間遅延によってサービス品質が低下することがある。したがって、本発明では、エンコーディングプロセスを複数の単位プロセスに細分化し、それぞれの単位プロセスを中央処理装置とグラフィック処理装置に適切に割り当てて、エンコーディングを行うことによって、従来の方式で発生することができた問題点を解決できる方案を提示できる。
この際、単位プロセスは、変化領域に相当するイメージ分析、スチールイメージ圧縮技法の決定、スチールイメージ圧縮及び圧縮データ集約のうちいずれか一つに相当できる。イメージ分析は、変化領域に相当するイメージがどんな特性を有しているかを分析する過程であることができる。例えば、イメージのサイズや解像度及びタイプなどのイメージ特性を分析し、効率的なエンコーディングを行うためのデータとして使用できる。
また、スチールイメージ圧縮技法の決定に相当する単位プロセスを行うことによって、変化領域の圧縮を行うとき、クラウドストリーミングサーバーの資源をさらに効率的に使用できる。その後、変化領域に相当する少なくとも一つ以上のイメージをスチールイメージ圧縮した結果を利用して最終的に圧縮データ集約に相当するプロセスを行うことができる。
この際、イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシング結果を基盤としてグラフィック処理ユニットにスチールイメージ圧縮に相当する単位プロセスを割り当てることができる。例えば、イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシング結果変化領域をエンコーディングするスチールイメージ圧縮技法でパレットPNG(portable network graphics)スチールイメージ圧縮技法が決定され得る。この際、パレットPNGスチールイメージ圧縮技法を利用してスチールイメージエンコーディングを行う過程には、単純な計算の繰り返しや並列で処理しやすい計算過程が含まれることができる。したがって、このような場合には、単位プロセスのうちスチールイメージ圧縮を行う単位プロセスをグラフィック処理ユニットに割り当てることによって、エンコーディングに使用される時間を節約し、クラウドストリーミングサーバーの資源を効率的に使用できる。
また、イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシング結果に相関なく、システム設定によって、グラフィック処理ユニットを利用してスチールイメージ圧縮に相当する単位プロセスを行うこともできる。クラウドストリーミングシステムが中央処理ユニットだけで構成された場合には、中央処理ユニットを利用してすべてのプロセスを行わなければならないため、ユーザの端末にクラウドストリーミングサービスを提供するとき、レイテンシ遅延が発生する可能性が高い。したがって、中央処理ユニットを一つまたは複数個具備してスチールイメージ圧縮に相当する単位プロセスをグラフィック処理ユニットで行い、プロセッシング結果を中央処理ユニットに再伝達することによって、クラウドストリーミングシステムの管理費用節減及びレイテンシ遅延減少の効果を達成できる。
この際、スチールイメージ圧縮は、変化領域に相当するイメージに対してカラーヒストグラム構成、パレット生成、パレット基盤の原本カラー量子化及びパレット基盤エンコーディングのうち一つ以上の過程を含む。カラーヒストグラム構成は、変化領域に相当するイメージに対するパレットを生成するために行われることができる。パレット生成は、カラーヒストグラムを利用して原本イメージ、すなわち変化領域に相当するイメージ対比最小損失が生じるパレットを生成する過程であることができる。このように生成したパレットを基盤として変化領域に相当するイメージのカラーを、パレットに相当するカラーに置換して原本カラー量子化を行い、パレット基盤エンコーディングを行うことができる。
この際、グラフィック処理ユニットは、スチールイメージ圧縮に相当するプロセッシング結果を中央処理ユニットに伝達できる。例えば、複数個の変化したフレームに含まれた変化領域に対してグラフィック処理ユニットでスチールイメージ圧縮に相当する単位プロセスを行い、それぞれのプロセッシング結果を、圧縮データ集約に相当する単位プロセスを行う中央処理ユニットに伝達できる。このようにエンコーディングプロセスを複数個に細分化して中央処理ユニット及びグラフィック処理ユニットのうちいずれか一つで行うことによって、プロセッシング結果を伝達する資源消耗費用が追加に発生し得るが、エンコーディングプロセスを細分化して処理することによって得ることができる資源効率利得が追加に発生し得る資源消耗費用より大きいため、さらに効果的なエンコーディング方法であることができる。
この際、中央処理ユニットは、スチールイメージ圧縮に相当するプロセッシング結果を利用して圧縮データ集約に相当する単位プロセスを行うことができる。例えば、グラフィック処理ユニットを通じて生成されたスチールイメージ圧縮に相当するプロセッシング結果が複数の場合には、それぞれのプロセッシング結果、すなわち圧縮データを集約できる。エンコーディングプロセスを行い、ユーザの端末装置にスチールイメージ基盤のクラウドストリーミングサービスを提供することが本発明の目的であるため、ユーザの端末装置にサービスを提供できるように、複数の圧縮データを集約し、エンコーディングプロセスを行うことができる。
この際、中央処理ユニットは、スチールイメージ圧縮に相当する単位プロセスがグラフィック処理ユニットに割り当てられた場合、変化領域に相当するイメージデータをグラフィック処理ユニットに伝達できる。イメージ分析及びスチールイメージ圧縮技法の決定に相当する単位プロセスのプロセッシング結果によってスチールイメージ圧縮に相当する単位プロセスがグラフィック処理ユニットに割り当てされるか否かが決定され得る。例えば、イメージ分析及びスチールイメージ圧縮技法の決定に相当する単位プロセスのプロセッシング結果変化領域に相当するイメージをパレットPNGスチールイメージ圧縮技法で圧縮する場合には、単純計算を繰り返し、並列処理しやすい計算が存在するので、グラフィック処理ユニットでスチールイメージ圧縮を行うことが、中央処理ユニットでスチールイメージ圧縮を行うことよりさらに効率的なことがある。したがって、前記のように、グラフィック処理ユニットでスチールイメージ圧縮に相当する単位プロセスが割り当てられた場合には、圧縮されるイメージデータ、すなわち変化領域に相当するイメージデータをグラフィック処理ユニットに伝達できる。
また、本発明の一実施形態によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法は、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行う(S2530)。エンコーディングを完了することによって圧縮された変化領域をユーザの端末装置に伝送することによって、ユーザの端末装置でアプリケーションが実行される感じを受けることができるように、クラウドストリーミングサービスを行うことができる。
また、図25には図示していないが、本発明の一実施形態による選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービス方法は、クラウドストリーミングサービス過程で発生する多様な情報を格納できる。
図26は、本発明の一実施形態によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法を詳細に示す動作流れ図である。
図26を参照すれば、本発明の一実施形態によるエンコーディング処理ユニットの作業分離を用いたクラウドストリーミングサービス方法は、まず、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャする(S2610)。
その後、変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離する(S2620)。
その後、中央処理ユニットを利用して変化領域に相当するイメージを分析する(S2630)。
その後、中央処理ユニットを利用して変化領域に相当するスチールイメージ圧縮技法を決定する(S2640)。
その後、所定のスチールイメージ圧縮技法によってグラフィック処理ユニットにスチールイメージ圧縮に相当する単位プロセスを割り当てる(S2650)。
その後、中央処理ユニットを利用して変化領域に相当するイメージデータをグラフィック処理ユニットに伝達する(S2660)。
その後、グラフィック処理ユニットを利用してスチールイメージ圧縮を行い、スチールイメージ圧縮に相当するプロセッシング結果を中央処理ユニットに伝達する(S2670)。
その後、中央処理ユニットは、スチールイメージ圧縮に相当するプロセッシング結果を利用して圧縮データ集約に相当する単位プロセスを行う(S2680)。
その後、スチールイメージエンコーディングされた変化領域をユーザに伝達する(S2690)。
コンピュータプログラムコマンドとデータを格納するに適したコンピュータで読み取り可能な媒体は、例えば、記録媒体は、ハードディスク、フロッピーディスク及び磁気テープのような磁気媒体(Magnetic Media)、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Video Disk)のような光記録媒体(Optical Media)、フロプチカルディスク(Floptical Disk)のような磁気−光媒体(Magneto−Optical Media)、及びロム(ROM、Read Only Memory)、ラム(RAM、Random Access Memory)、フラッシュメモリ、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)のような半導体メモリを含む。プロセッサとメモリは、特殊目的の論理回路によって補充されるか、それに統合され得る。プログラム命令の例には、コンパイラーによって作われるもののような機械語コードだけでなく、インタプリターなどを使用してコンピュータによって実行され得る高級言語コードを含む。このようなハードウェア装置は、本発明の動作を行うために一つ以上のソフトウェアモジュールとして作動するように構成され、その逆も同様である。
本明細書は、多数の特定の具現物の詳細事項を含むが、これらは、いかなる発明や請求可能なものの範囲に対しても制限的なものとして理解されてはならず、むしろ特定の発明の特定の実施形態に特有な特徴に対する説明として理解しなければならない。個別的な実施形態の文脈で本明細書に記述された特定の特徴は、単一実施形態で組み合わせて具現されることもできる。反対に、単一実施形態の文脈で記述した多様な特徴も個別的にあるいはいかなる適切な下位組合でも複数の実施形態で具現可能である。さらに、特徴が特定の組合で動作し、初期にそのように請求されたように描写され得るが、請求された組合からの一つ以上の特徴は、一部の場合にその組合から排除され得、その請求された組合は、下位組合や下位組合の変形物に変更され得る。
同様に、特定の手順で図面で動作を描いているが、これは、好適な結果を得るために図示されたその特定の手順や順次な順にそのような動作を実行しなければならないか、すべての図示された動作が実行されなければならないものと理解されてはならない。特定の場合、マルチタスキングと並列プロセッシングが有利であることができる。また、前述した実施形態の多様なシステムコンポネントの分離は、そのような分離をすべての実施形態で要求するものと理解されてはならず、説明したプログラムコンポネントとシステムは、一般的に単一のソフトウェア製品に一緒に統合されるか、多重ソフトウェア製品にパッケージングされ得るという点を理解しなければならない。
なお、本明細書と図面に開示された本発明の実施形態は、理解を助けるために特定の例を提示したものに過ぎず、本発明の範囲を限定しようとするものではない。ここに開示された実施形態以外にも、本発明の技術的思想に基づく他の変形例が実施可能であることは、本発明の属する技術分野における通常の知識を有する者に自明である。
本発明によれば、以前フレーム及び現在フレームの差分フレームを利用して変化ピクセルを含み、且つ最小広さを有する矩形領域を変化領域として決定してキャプチャし、変化領域に相当するイメージのカラー個数及びイメージ画素値の標準偏差のうち一つ以上を考慮して決定したイメージタイプによってスチールイメージ(still image)圧縮技法を選択し、選択したスチールイメージ圧縮技法を利用して一つのフレームに相当する変化領域をスチールイメージエンコーディングし、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うことができる。ひいては、スチールイメージ圧縮技法を利用したクラウドストリーミングサービスを通じてストリーミング圧縮効率を極大化し、同一の帯域を通じて一層速くて且つさらに多いユーザを対象としてクラウドストリーミングサービスを提供できるため、クラウドストリーミングサービス提供者は、帯域拡張が必要な資源を節約できると共に、ユーザに効率的なサービスを提供できる。
また、本発明によれば、変化したフレームに含まれた変化領域をキャプチャし、変化領域に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を決定し、エンコーディング方式を利用して変化領域をスチールイメージエンコーディングし、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うことができる。ひいては、クラウドストリーミングサービスのためのエンコーディングを行うとき、イメージ特性情報を利用してエンコーディング方式を決定することによって、従来イメージプロセッシングに必要であったクラウドストリーミングサーバーの資源を節約でき、そのため、さらに効率的なクラウドストリーミングサービスを提供する効果をもたらすことができる。
また、本発明によれば、以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャし、変化領域に相当するイメージタイプ及びイメージ解像度のうち一つ以上を考慮してエンコーディング処理ユニットを選択し、エンコーディング処理ユニットを利用して一つのフレームに相当する変化領域をスチールイメージエンコーディングし、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うことができる。ひいては、選択的エンコーディング処理ユニットを利用したクラウドストリーミングサービスを通じてクラウドストリーミングサーバーの資源活用効率を上昇させることができ、クラウドストリーミングサービスを提供するための処理費用を節減する効果を期待できる。
また、本発明によれば、変化したフレームに含まれた変化領域をキャプチャし、グラフィック処理ユニット(Graphics Processing Unit;GPU)を利用して変化領域を圧縮し、変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当てて、エンコーディングプロセスを行い、変化領域をスチールイメージエンコーディングし、スチールイメージエンコーディングされた変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うことができる。ひいては、エンコーディング処理ユニットのプロセス分離を用いたクラウドストリーミングサービスを通じてクラウドストリーミングサーバーの資源を節約でき、クラウドストリーミングサービスを提供するための全体的な費用を節減する効果を期待できる。

Claims (20)

  1. 以前フレームと現在フレームを比較し、前記以前フレームから変化した前記現在フレームの変化領域を決定する変化領域決定部と、
    前記変化領域をキャプチャするキャプチャ部と、
    スチールイメージ(still image)圧縮技法を利用して一つのフレームに相当する前記変化領域をスチールイメージエンコーディングするエンコーディング部と、
    スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うセンディング部と、を含むことを特徴とするクラウドストリーミングサーバー。
  2. 前記変化領域決定部は、
    前記以前フレーム及び前記現在フレームの差分フレームを算出し、前記差分フレームを利用して前記変化領域を決定することを特徴とする請求項1に記載のクラウドストリーミングサーバー。
  3. 前記変化領域決定部は、
    前記差分フレームをスキャニング(scanning)し、前記以前フレームから変化した前記現在フレームの変化ピクセルを感知し、前記変化領域を決定することを特徴とする請求項2に記載のクラウドストリーミングサーバー。
  4. 前記変化領域決定部は、
    前記差分フレームを水平スキャニング(horizontal scanning)及び垂直スキャニング(vertical scanning)して感知される変化ピクセルを含む前記変化領域を決定することを特徴とする請求項3に記載のクラウドストリーミングサーバー。
  5. 前記変化領域決定部は、
    前記差分フレームの上端から下方向に進行しつつ、行単位で水平スキャニングして最初に感知される変化ピクセルから第1縦座標要素を獲得し、下端から上方向に進行しつつ、行単位で水平スキャニングして最初に感知される変化ピクセルから第2縦座標要素を獲得し、左側端から右側方向に進行すると、列単位で垂直スキャニングして最初に感知される変化ピクセルから第1横座標要素を獲得し、右側端から左側方向に進行すると、列単位で垂直スキャニングして最初に感知される変化ピクセルから第2横座標要素を獲得し、前記横座標要素のうちいずれか一つ及び前記縦座標要素のうちいずれか一つを一対にして構成される座標に相当する変化ピクセルを含む矩形領域を前記変化領域として決定することを特徴とする請求項4に記載のクラウドストリーミングサーバー。
  6. 変化したフレームに含まれた変化領域をキャプチャするキャプチャ部と、
    前記変化領域に相当するイメージ特性情報が存在するか否かを考慮してエンコーディング方式を決定し、前記エンコーディング方式を利用して前記変化領域をスチールイメージエンコーディングするエンコーディング部と、
    スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うセンディング部と、を含むことを特徴とするクラウドストリーミングサーバー。
  7. 前記イメージ特性情報は、
    アプリケーションソースコードを基盤として生成されるか、MPEGテクスチャ記述子を利用して生成されることを特徴とする請求項6に記載のクラウドストリーミングサーバー。
  8. 前記エンコーディング部は、
    前記イメージ特性情報が存在する場合、前記イメージ特性を基盤として前記エンコーディング方式を決定し、前記イメージ特性情報が存在しない場合、前記変化領域に相当するイメージを分析し、前記エンコーディング方式を決定することを特徴とする請求項7に記載のクラウドストリーミングサーバー。
  9. 前記エンコーディング方式は、
    PNG(portable network graphics)、パレットPNG(portable network graphics)及びJPEG(joint photography experts group)のうちいずれか一つに相当することを特徴とする請求項8に記載のクラウドストリーミングサーバー。
  10. 前記エンコーディング部は、
    前記変化領域に相当するイメージを分析し、前記変化領域を一般領域及び絵領域のうちいずれか一つに区分し、前記一般領域のイメージプロセッシング結果及び前記絵領域のイメージタイプのうち少なくとも一つ以上を考慮して、前記エンコーディング方式を決定することを特徴とする請求項8に記載のクラウドストリーミングサーバー。
  11. 前記イメージタイプは、
    自然イメージ(natural image)及び合成イメージ(synthetic image)のうちいずれか一つに相当することを特徴とする請求項10に記載のクラウドストリーミングサーバー。
  12. 以前フレームと比較して変化したフレームに含まれた変化領域をキャプチャするキャプチャ部と、
    前記変化領域に相当するイメージ特性及びイメージ解像度のうち一つ以上を考慮してエンコーディング処理ユニットを選択し、前記エンコーディング処理ユニットを利用して一つのフレームに相当する前記変化領域をスチールイメージエンコーディングするエンコーディング部と、
    スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うセンディング部と、を含むことを特徴とするクラウドストリーミングサーバー。
  13. 前記エンコーディング処理ユニットは、
    中央処理ユニット(Central Processing Unit;CPU)及びグラフィック処理ユニット(Graphics Processing Unit;GPU)のうちいずれか一つに相当することを特徴とする請求項12に記載のクラウドストリーミングサーバー。
  14. 前記エンコーディング部は、
    前記イメージ特性及び前記イメージ解像度のうち一つ以上を考慮して、前記中央処理ユニットと前記グラフィック処理ユニット各々に対するエンコーディング処理費用を予測し、前記中央処理ユニット及びグラフィック処理ユニットのうち予測した前記エンコーディング処理費用が低いエンコーディング処理ユニットを選択し、前記変化領域をスチールイメージエンコーディングすることを特徴とする請求項13に記載のクラウドストリーミングサーバー。
  15. 前記エンコーディング部は、
    前記変化領域に相当するイメージ解像度が既定の基準値以上である場合、前記グラフィック処理ユニットを利用して前記変化領域をスチールイメージエンコーディングすることを特徴とする請求項14に記載のクラウドストリーミングサーバー。
  16. 前記エンコーディング部は、
    前記変化領域に相当するイメージ解像度が既定の基準値未満である場合、前記イメージ特性によるスチールイメージ圧縮技法を考慮して、前記エンコーディング処理ユニットを選択することを特徴とする請求項15に記載のクラウドストリーミングサーバー。
  17. 変化したフレームに含まれた変化領域をキャプチャするキャプチャ部と、
    前記変化領域に対するエンコーディングプロセスを複数個の単位プロセスに分離し、前記単位プロセスのうち少なくとも一つ以上は、グラフィック処理ユニット(Graphics Processing Unit;GPU)に割り当て、前記グラフィック処理ユニットに割り当てられない残りの単位プロセスは、中央処理ユニット(Central Processing Unit;CPU)に割り当て、前記エンコーディングプロセスを行い、前記変化領域をスチールイメージエンコーディングするエンコーディング部と、
    スチールイメージエンコーディングされた前記変化領域をユーザに伝送し、スチールイメージ基盤のクラウドストリーミングサービスを行うセンディング部と、を含むことを特徴とするクラウドストリーミングサーバー。
  18. 前記単位プロセスは、前記変化領域に相当するイメージ分析、スチールイメージ圧縮技法の決定、スチールイメージ圧縮及び圧縮データ集約のうちいずれか一つに相当することを特徴とする請求項17に記載のクラウドストリーミングサーバー。
  19. 前記エンコーディング部は、
    前記イメージ分析及びスチールイメージ圧縮技法の決定に相当するプロセッシングを基盤として、前記グラフィック処理ユニットに前記スチールイメージ圧縮に相当する単位プロセスを割り当てすることを特徴とする請求項18に記載のクラウドストリーミングサーバー。
  20. 前記スチールイメージ圧縮は、
    前記変化領域に相当するイメージに対してカラーヒストグラム構成、パレット生成、パレット基盤の原本カラー量子化及びパレット基盤エンコーディングのうち一つ以上の過程を含み、
    前記グラフィック処理ユニットは、
    前記スチールイメージ圧縮に相当するプロセッシング結果を前記中央処理ユニットに伝達することを特徴とする請求項19に記載のクラウドストリーミングサーバー。
JP2016575537A 2014-07-30 2015-07-06 クラウドストリーミングサービスシステム、スチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法及びそのための装置 Pending JP2017529716A (ja)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
KR20140097322 2014-07-30
KR10-2014-0097322 2014-07-30
KR1020140133176A KR102265419B1 (ko) 2014-10-02 2014-10-02 클라우드 스트리밍 서비스 시스템, 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR10-2014-0133176 2014-10-02
KR1020140134512A KR102247657B1 (ko) 2014-10-06 2014-10-06 클라우드 스트리밍 서비스 시스템, 인코딩 처리 유닛의 작업 분리를 통한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR10-2014-0134512 2014-10-06
KR1020140137733A KR102247887B1 (ko) 2014-10-13 2014-10-13 클라우드 스트리밍 서비스 시스템, 소스 정보를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR10-2014-0137733 2014-10-13
KR1020140141983A KR102225607B1 (ko) 2014-07-30 2014-10-20 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR10-2014-0141983 2014-10-20
PCT/KR2015/006950 WO2016017952A1 (ko) 2014-07-30 2015-07-06 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치

Publications (1)

Publication Number Publication Date
JP2017529716A true JP2017529716A (ja) 2017-10-05

Family

ID=58639073

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016575537A Pending JP2017529716A (ja) 2014-07-30 2015-07-06 クラウドストリーミングサービスシステム、スチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法及びそのための装置

Country Status (4)

Country Link
US (1) US10652591B2 (ja)
EP (1) EP3177024B1 (ja)
JP (1) JP2017529716A (ja)
CN (1) CN106717007B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117615088A (zh) * 2024-01-22 2024-02-27 沈阳市锦拓电子工程有限公司 一种安全监控的视频数据高效存储方法

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760238B (zh) * 2016-01-29 2018-10-19 腾讯科技(深圳)有限公司 图形指令数据的处理方法和装置及系统
CN106210446B (zh) * 2016-07-18 2019-08-30 北京小米移动软件有限公司 饱和度增强方法及装置
US10411969B2 (en) * 2016-10-03 2019-09-10 Microsoft Technology Licensing, Llc Backend resource costs for online service offerings
US10756981B2 (en) * 2017-11-28 2020-08-25 Hewlett Packard Enterprise Development Lp Efficiency indexes
JP7211373B2 (ja) * 2018-01-04 2023-01-24 株式会社ソシオネクスト 動画像解析装置、動画像解析システム、動画像解析方法、及びプログラム
KR20210065447A (ko) * 2019-11-27 2021-06-04 삼성전자주식회사 전자장치와 그의 제어방법, 및 기록매체
US11308646B2 (en) * 2020-05-13 2022-04-19 Walmart Apollo, Llc Extracting color from item images
CN115037944B (zh) * 2022-08-10 2022-10-21 中诚华隆计算机技术有限公司 一种云端流媒体硬解码方法、装置及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005287035A (ja) * 2004-03-26 2005-10-13 Arcadyan Technology Corp マルチメディアデータの表示方法および表示システム
JP2006094494A (ja) * 2004-09-13 2006-04-06 Microsoft Corp グラフィックス処理装置を使用した加速ビデオ符号化
JP2006519533A (ja) * 2003-02-28 2006-08-24 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ ビデオコーディングがテクスチャ解析およびテクスチャ合成を含むビデオコーディングのための方法およびアセンブリと、対応するコンピュータプログラムおよび対応するコンピュータで読み込み可能な記録媒体
JP2008040529A (ja) * 2006-08-01 2008-02-21 Casio Comput Co Ltd サーバ装置、サーバベースコンピューティングシステムおよびプログラム
JP2010004434A (ja) * 2008-06-23 2010-01-07 Sharp Corp 動画像記録装置、動画像再生装置、動画像削除装置、動画像記録方法、動画像再生方法、動画像削除方法及びそれら方法を実行可能なプログラム
JP2010055280A (ja) * 2008-08-27 2010-03-11 Toshiba Corp サーバ、画面送信方法およびコンピュータプログラム
JP2010119030A (ja) * 2008-11-14 2010-05-27 Toshiba Corp 通信装置、通信方法および通信プログラム
JP2013131990A (ja) * 2011-12-22 2013-07-04 Ricoh Co Ltd 情報処理装置及びプログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2191177T3 (es) * 1996-05-17 2003-09-01 Matsushita Electric Ind Co Ltd Decodificador de imagenes.
US7769083B2 (en) 2003-06-19 2010-08-03 Panasonic Corporation Image processing and transmission using high and low compression ratios depending on image change conditions
JP4176663B2 (ja) 2003-06-19 2008-11-05 松下電器産業株式会社 送信装置、画像処理システム、画像処理方法、プログラム、及び記録媒体
KR100556911B1 (ko) * 2003-12-05 2006-03-03 엘지전자 주식회사 무선 동영상 스트리밍 서비스를 위한 동영상 데이터의 구조
US8619877B2 (en) * 2007-10-11 2013-12-31 Microsoft Corporation Optimized key frame caching for remote interface rendering
US8121423B2 (en) * 2007-10-12 2012-02-21 Microsoft Corporation Remote user interface raster segment motion detection and encoding
US8106909B2 (en) * 2007-10-13 2012-01-31 Microsoft Corporation Common key frame caching for a remote user interface
KR101432309B1 (ko) 2008-09-11 2014-09-23 주식회사 엘지유플러스 웹 뷰어 서버 및 그 제어방법과 웹 뷰어 서버를 포함하는 마크업 페이지 제공 시스템 및 그 제어방법
CN101883281B (zh) 2010-06-13 2013-12-25 北京北大众志微系统科技有限责任公司 一种远程显示系统的静态图像编码方法及系统
US20120133659A1 (en) * 2010-11-30 2012-05-31 Ati Technologies Ulc Method and apparatus for providing static frame
US8966376B2 (en) * 2010-12-10 2015-02-24 Wyse Technology L.L.C. Methods and systems for remote desktop session redrawing via HTTP headers
GB2486475A (en) * 2010-12-16 2012-06-20 Norland Technology Ltd Encoding, transmitting and displaying a sequence of images using a difference image
KR20120105688A (ko) 2011-03-16 2012-09-26 정민재 이기종 서버/클라이언트간 가상화 서비스 시스템 및 방법
KR101668282B1 (ko) 2011-07-22 2016-10-24 엔트릭스 주식회사 화면 가상화 기반 어플리케이션 구동 시스템 및 방법
CN102637063B (zh) 2011-09-28 2014-12-03 联想(北京)有限公司 信息处理设备
JP2013126185A (ja) * 2011-12-15 2013-06-24 Fujitsu Ltd 情報処理装置、画像送信方法及び画像送信プログラム
CN103248946B (zh) * 2012-02-03 2018-01-30 海尔集团公司 一种视频图像快速传输的方法及系统
US20130268621A1 (en) * 2012-04-08 2013-10-10 Broadcom Corporation Transmission of video utilizing static content information from video source
KR101383027B1 (ko) 2012-05-31 2014-04-08 에스케이플래닛 주식회사 클라우드 스트리밍을 이용한 데이터 공유 방법, 이를 위한 시스템, 이를 위한 단말기 및 이를 위한 서비스장치
US9424660B2 (en) * 2012-08-07 2016-08-23 Intel Corporation Media encoding using changed regions
KR101710001B1 (ko) * 2012-08-10 2017-02-27 한국전자통신연구원 그래픽 프로세스 유닛 기반 jpeg2000 인코딩/디코딩 장치 및 방법
KR101966921B1 (ko) 2012-09-12 2019-08-27 삼성전자주식회사 멀티 세션 관리 방법 및 장치
KR101984825B1 (ko) 2012-10-05 2019-05-31 삼성전자주식회사 Api 정보를 이용한 클라우드 디스플레이 화면의 부호화 방법 및 그 장치
KR101480214B1 (ko) 2013-01-18 2015-01-08 한국과학기술원 Dom 변이 이벤트 기반 웹 화면 스트리밍 방법 및 시스템
CN103294438B (zh) * 2013-06-21 2016-04-06 镇江冈山电子有限公司 虚拟桌面图像的控制传输方法及系统
US9609338B2 (en) * 2013-10-25 2017-03-28 Microsoft Technology Licensing, Llc Layered video encoding and decoding
KR20140027040A (ko) 2013-12-30 2014-03-06 주식회사 큐램 적응 이미지 압축시스템 및 그 방법
EP4113457A1 (en) * 2014-01-07 2023-01-04 ML Netherlands C.V. Dynamic updating of composite images
US20160345022A1 (en) * 2014-03-18 2016-11-24 Mediatek Inc. Data processing apparatus for transmitting/receiving compressed display data with improved error robustness and related data processing method
US20150278149A1 (en) * 2014-03-25 2015-10-01 Panasonic Corporation Of North America Method for Real-Time HD Video Streaming Using Legacy Commodity Hardware Over an Unreliable Network
US9584814B2 (en) * 2014-05-15 2017-02-28 Intel Corporation Content adaptive background foreground segmentation for video coding
US20150373075A1 (en) * 2014-06-23 2015-12-24 Radia Perlman Multiple network transport sessions to provide context adaptive video streaming

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006519533A (ja) * 2003-02-28 2006-08-24 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ ビデオコーディングがテクスチャ解析およびテクスチャ合成を含むビデオコーディングのための方法およびアセンブリと、対応するコンピュータプログラムおよび対応するコンピュータで読み込み可能な記録媒体
JP2005287035A (ja) * 2004-03-26 2005-10-13 Arcadyan Technology Corp マルチメディアデータの表示方法および表示システム
JP2006094494A (ja) * 2004-09-13 2006-04-06 Microsoft Corp グラフィックス処理装置を使用した加速ビデオ符号化
JP2008040529A (ja) * 2006-08-01 2008-02-21 Casio Comput Co Ltd サーバ装置、サーバベースコンピューティングシステムおよびプログラム
JP2010004434A (ja) * 2008-06-23 2010-01-07 Sharp Corp 動画像記録装置、動画像再生装置、動画像削除装置、動画像記録方法、動画像再生方法、動画像削除方法及びそれら方法を実行可能なプログラム
JP2010055280A (ja) * 2008-08-27 2010-03-11 Toshiba Corp サーバ、画面送信方法およびコンピュータプログラム
JP2010119030A (ja) * 2008-11-14 2010-05-27 Toshiba Corp 通信装置、通信方法および通信プログラム
JP2013131990A (ja) * 2011-12-22 2013-07-04 Ricoh Co Ltd 情報処理装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117615088A (zh) * 2024-01-22 2024-02-27 沈阳市锦拓电子工程有限公司 一种安全监控的视频数据高效存储方法
CN117615088B (zh) * 2024-01-22 2024-04-05 沈阳市锦拓电子工程有限公司 一种安全监控的视频数据高效存储方法

Also Published As

Publication number Publication date
US10652591B2 (en) 2020-05-12
EP3177024A1 (en) 2017-06-07
EP3177024A4 (en) 2018-07-04
CN106717007A (zh) 2017-05-24
CN106717007B (zh) 2020-04-03
EP3177024B1 (en) 2020-02-26
US20170142452A1 (en) 2017-05-18

Similar Documents

Publication Publication Date Title
JP2017529716A (ja) クラウドストリーミングサービスシステム、スチールイメージ圧縮技法を利用したクラウドストリーミングサービス方法及びそのための装置
KR102384174B1 (ko) 클라우드 스트리밍 서비스 시스템, 스틸 이미지 압축 기법을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
US9860285B2 (en) System, apparatus, and method for sharing a screen having multiple visual components
JP6303176B2 (ja) 信号をデコードする方法、コンピュータプログラム及びデコーダ
US10462200B2 (en) System for cloud streaming service, method for still image-based cloud streaming service and apparatus therefor
CN110740352B (zh) 显卡透传环境下基于spice协议的差异图像显示方法
KR102271721B1 (ko) 클라우드 스트리밍 서비스 시스템, 단말 성능을 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102247887B1 (ko) 클라우드 스트리밍 서비스 시스템, 소스 정보를 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102313533B1 (ko) 클라우드 스트리밍 서비스 시스템, 전체 화면 변화를 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN110868614B (zh) 显卡透传环境下基于spice协议的差异图像显示系统
KR102225609B1 (ko) 클라우드 스트리밍 서비스 시스템, 전체 화면 변화를 고려한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102313516B1 (ko) 클라우드 스트리밍 서비스 시스템, 메시지 기반 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102247657B1 (ko) 클라우드 스트리밍 서비스 시스템, 인코딩 처리 유닛의 작업 분리를 통한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102225610B1 (ko) 클라우드 스트리밍 서비스 시스템, 메시지 기반 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR102265419B1 (ko) 클라우드 스트리밍 서비스 시스템, 선택적 인코딩 처리 유닛을 이용한 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
Amezcua Aragon Real-time neural network based video super-resolution as a service: design and implementation of a real-time video super-resolution service using public cloud services
KR102273142B1 (ko) 클라우드 스트리밍 서비스 시스템, 어플리케이션 코드 변환을 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
KR20160044732A (ko) 클라우드 스트리밍 서비스 시스템, 스틸 이미지 기반 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
EP2946554A1 (en) System, apparatus and method for sharing a screen having multiple visual components

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20171218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180618

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181024

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190607