(57)【要約】      （修正有）【課題】動画領域と線画領域とが含まれるフレーム画像を符号化する際の、情報量の増加を抑制する符号化プログラムを提供する。【解決手段】符号化プログラムは、仮想デスクトップサーバにおいて、取得したフレーム画像から線画領域を判定する判定部４００、判定した線画領域の位置の画像を、該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換える置き換え部６００、置き換え後のフレーム画像を動画符号化することで、動画符号化情報を生成する動画処理部９０１、判定した線画領域の位置の画像を線画符号化することで、線画符号化情報を生成する線画処理部９０２、前記動画符号化情報と前記線画符号化情報とを、復号装置に送信する送信部９６０から構成される。【選択図】図９
2020036286.tif 000002
【特許請求の範囲】
【請求項１】
取得したフレーム画像から線画領域を判定し、
判定した線画領域の位置の画像を、該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換え、
置き換え後のフレーム画像を動画符号化することで、動画符号化情報を生成し、
判定した線画領域の位置の画像を線画符号化することで、線画符号化情報を生成し、
前記動画符号化情報と前記線画符号化情報とを、復号装置に送信する、
処理をコンピュータに実行させるための符号化プログラム。
【請求項２】
取得したフレーム画像に、動画領域と線画領域とが含まれる場合に、前記判定した線画領域の位置の画像を、前記線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換えることを特徴とする請求項１に記載の符号化プログラム。
【請求項３】
取得したフレーム画像に、線画領域が含まれない場合、取得したフレーム画像を動画符号化することで、前記動画符号化情報を生成することを特徴とする請求項２に記載の符号化プログラム。
【請求項４】
取得したフレーム画像に、動画領域と線画領域とが含まれる場合、前記置き換え後のフレーム画像を、前記線画領域が発生する前のフレーム画像として保持することを特徴とする請求項２に記載の符号化プログラム。
【請求項５】
取得したフレーム画像に、線画領域が含まれない場合、前記取得したフレーム画像を、前記線画領域が発生する前のフレーム画像として保持することを特徴とする請求項３に記載の符号化プログラム。
【請求項６】
取得したフレーム画像から線画領域を判定する判定部と、
判定した線画領域の位置の画像を、該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換える置き換え部と、
置き換え後のフレーム画像を動画符号化することで、動画符号化情報を生成する動画処理部と、
判定した線画領域の位置の画像を線画符号化することで、線画符号化情報を生成する線画処理部と、
前記動画符号化情報と前記線画符号化情報とを、復号装置に送信する送信部と
を有することを特徴とする情報処理装置。
【請求項７】
取得したフレーム画像から線画領域を判定し、
判定した線画領域の位置の画像を、該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換え、
置き換え後のフレーム画像を動画符号化することで、動画符号化情報を生成し、
判定した線画領域の位置の画像を線画符号化することで、線画符号化情報を生成し、
前記動画符号化情報と前記線画符号化情報とを、復号装置に送信する、
処理を符号化装置のコンピュータが実行し、
前記動画符号化情報と前記線画符号化情報とを受信し、
受信した前記動画符号化情報を復号することで生成した動画復号画像と、受信した前記線画符号化情報を復号することで生成した線画復号画像とを用いて、復号画像を生成し、
生成した復号画像を表示する、
処理を復号装置のコンピュータが実行する情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
画面画像を符号化して転送する画面転送処理においては、従来より、動画を符号化する動画エンコーダや、ＣＡＤ図面のような線画の符号化に適した線画エンコーダ等、種々のエンコーダが用いられており、画面画像の種類に応じた使い分けが行われている。
【０００３】
Ｈ．２６４やＨＥＶＣ（High  Efficiency  Video  Coding）等の圧縮性能の高い動画符号化では、複雑な処理を行うため、符号化の処理負荷が高い。そのため、リアルタイム処理が必要とされる場合には、一般的に、動画エンコーダが専用のハードウェアにより実装されることが多い。動画のハードウェアエンコーダは、フレーム単位で符号化を行うため、フレーム画像内に、動画以外の領域が含まれている場合でも（例えば、動画領域と線画領域とが含まれている場合でも）、フレーム画像全体に対して動画ストリームを生成する。
【０００４】
一方で、ソフトウェアにより実装される線画エンコーダは、線画領域を抽出して線画ストリームを生成することができる。このため、復号装置側では、例えば、動画ストリームを復号して得たフレーム画像に対して、線画ストリームを復号して得た線画を、線画領域の位置に上書きすることで画面画像を生成していた。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平２−４４８８３号公報
【特許文献２】特開２０００−５７３５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記のような画面転送処理を行った場合、フレーム画像内の線画領域に対しては、動画エンコーダと線画エンコーダとが重複して符号化を行うことになるため、復号装置に転送される符号化ストリームの情報量が増加するといった問題があった。
【０００７】
一つの側面では、動画領域と線画領域とが含まれるフレーム画像を符号化する際の、情報量の増加を抑制することを目的としている。
【課題を解決するための手段】
【０００８】
一態様によれば、符号化プログラムは、
取得したフレーム画像から線画領域を判定し、
判定した線画領域の位置の画像を、該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換え、
置き換え後のフレーム画像を動画符号化することで、動画符号化情報を生成し、
判定した線画領域の位置の画像を線画符号化することで、線画符号化情報を生成し、
前記動画符号化情報と前記線画符号化情報とを、復号装置に送信する、
処理をコンピュータに実行させる。
【発明の効果】
【０００９】
動画領域と線画領域とが含まれるフレーム画像を符号化する際の、情報量の増加を抑制することができる。
【図面の簡単な説明】
【００１０】
【図１】画面転送システムのシステム構成の一例を示す図である。
【図２Ａ】仮想デスクトップサーバのハードウェア構成の一例を示す図である。
【図２Ｂ】ユーザ端末のハードウェア構成の一例を示す図である。
【図３Ａ】仮想デスクトップサーバのソフトウェア構成の一例を示す図である。
【図３Ｂ】ユーザ端末のソフトウェア構成の一例を示す図である。
【図４】比較例のサーバによる符号化処理の概要を示す図である。
【図５】比較例のサーバによる符号化処理において生成される符号化ストリームの情報量を示す図である。
【図６】仮想デスクトップサーバによる符号化処理の概要を示す第１の図である。
【図７】仮想デスクトップサーバによる符号化処理の概要を示す第２の図である。
【図８】仮想デスクトップサーバによる符号化処理において生成される符号化ストリームの情報量を示す図である。
【図９】仮想デスクトップサーバの符号化部の機能構成の一例を示す図である。
【図１０】仮想デスクトップサーバによる符号化処理の流れを示すフローチャートである。
【図１１Ａ】符号化処理の各工程の詳細を示す第１のフローチャートである。
【図１１Ｂ】符号化処理の各工程の詳細を示す第２のフローチャートである。
【図１２Ａ】符号化処理の各工程の詳細を示す第３のフローチャートである。
【図１２Ｂ】符号化処理の各工程の詳細を示す第４のフローチャートである。
【図１３】符号化処理の各工程の詳細を示す第５のフローチャートである。
【図１４】ユーザ端末による復号処理の概要を示す図である。
【図１５】ユーザ端末の復号部の機能構成の一例を示す図である。
【図１６】ユーザ端末による復号処理の流れを示すフローチャートである。
【図１７Ａ】復号処理の各工程の詳細を示す第１のフローチャートである。
【図１７Ｂ】復号処理の各工程の詳細を示す第２のフローチャートである。
【図１８Ａ】復号処理の各工程の詳細を示す第３のフローチャートである。
【図１８Ｂ】復号処理の各工程の詳細を示す第４のフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の各実施形態について添付の図面を参照しながら説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複した説明を省く。
【００１２】
［第１の実施形態］
＜画面転送システムのシステム構成＞
はじめに、第１の実施形態に係る情報処理装置が適用される画面転送システムのシステム構成について説明する。図１は、画面転送システムのシステム構成の一例を示す図である。
【００１３】
図１に示すように、画面転送システム１００は、第１の実施形態に係る情報処理装置である仮想デスクトップサーバ１１０と、仮想デスクトップサーバ１１０と通信可能に接続されるユーザ端末１２０とを有する。
【００１４】
仮想デスクトップサーバ１１０は、各種アプリケーションを実行することで生成された画面の画像（画面画像）を符号化し、符号化ストリームをユーザ端末に送信する。これにより、ユーザ端末１２０では、受信した符号化ストリームを復号し、画面画像を表示する。
【００１５】
また、仮想デスクトップサーバ１１０は、符号化ストリームを送信したことに応じて、ユーザがユーザ端末１２０を操作し、アプリケーションに対する各種指示を入力した場合に、ユーザ端末１２０から操作情報を受信する。
【００１６】
このように、画面転送機能を有する仮想デスクトップサーバ１１０を用いることで、ユーザは、各種アプリケーションを実行する際に、ユーザ端末にデータを保存しておく必要がない。つまり、画面転送システム１００によれば、ユーザ端末１２０からの情報漏洩を抑制したり、セキュリティを向上させることができる。
【００１７】
＜画面転送システムの各装置のハードウェア構成＞
次に、画面転送システム１００の各装置（仮想デスクトップサーバ１１０、ユーザ端末１２０）のハードウェア構成について説明する。図２Ａは、仮想デスクトップサーバのハードウェア構成の一例を示す図である。
【００１８】
図２Ａに示すように、仮想デスクトップサーバ１１０は、ＣＰＵ（Central  Processing  Unit）２０１、ＲＯＭ（Read  Only  Memory）２０２を有する。また、仮想デスクトップサーバ１１０は、ＲＡＭ（Random  Access  Memory）２０３、ＧＰＵ（Graphics  Processing  Unit）２０４を有する。ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＧＰＵ２０４は、いわゆるコンピュータを形成する。
【００１９】
更に、仮想デスクトップサーバ１１０は、補助記憶装置２０５、Ｉ／Ｆ（Interface）装置２０６、ドライブ装置２０７を有する。なお、仮想デスクトップサーバ１１０の各ハードウェアは、バス２０８を介して相互に接続される。
【００２０】
ＣＰＵ２０１は、補助記憶装置２０５にインストールされた各種プログラム（詳細は後述）を実行する演算デバイスである。
【００２１】
ＲＯＭ２０２は、不揮発性メモリであり、主記憶装置として機能する。ＲＯＭ２０２は、補助記憶装置２０５にインストールされた各種プログラムをＣＰＵ２０１が実行するために必要な各種プログラム、データ等を格納する。具体的には、ＲＯＭ２０２はＢＩＯＳ（Basic  Input/Output  System）やＥＦＩ（Extensible  Firmware  Interface）等のブートプログラム等を格納する。
【００２２】
ＲＡＭ２０３は、ＤＲＡＭ（Dynamic  Random  Access  Memory）やＳＲＡＭ（Static  Random  Access  Memory）等の揮発性メモリであり、主記憶装置として機能する。ＲＡＭ２０３は、補助記憶装置２０５にインストールされた各種プログラムがＣＰＵ２０１によって実行される際に展開される、作業領域を提供する。
【００２３】
ＧＰＵ２０４は、画像処理用の演算デバイスであり、ＣＰＵ２０１により各種プログラムが実行される際に、各種画像について、並列処理による高速演算を行う。なお、第１の実施形態において、動画エンコーダは、ＧＰＵ２０４において実現される。
【００２４】
補助記憶装置２０５は、各種プログラムや、各種プログラムがＣＰＵ２０１によって実行される際に用いられるデータ等を格納する。Ｉ／Ｆ装置２０６は、他の装置（例えば、ユーザ端末１２０）と接続し、通信を行うための接続デバイスである。
【００２５】
ドライブ装置２０７は記録媒体２１０をセットするためのデバイスである。ここでいう記録媒体２１０には、ＣＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク等のように情報を光学的、電気的あるいは磁気的に記録する媒体が含まれる。また、記録媒体２１０には、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等が含まれていてもよい。
【００２６】
なお、補助記憶装置２０５にインストールされる各種プログラムは、例えば、配布された記録媒体２１０がドライブ装置２０７にセットされ、該記録媒体２１０に記録された各種プログラムがドライブ装置２０７により読み出されることでインストールされる。あるいは、補助記憶装置２０５にインストールされる各種プログラムは、不図示のネットワークを介してダウンロードされることで、インストールされてもよい。
【００２７】
図２Ｂは、ユーザ端末のハードウェア構成の一例を示す図である。なお、図２Ｂと図２Ａとの相違点は、図２Ｂの場合、表示装置２２５と操作装置２２６とを有する点と、ＧＰＵ２０４を有していない点である。このため、ここでは、表示装置２２５と操作装置２２６について説明する。
【００２８】
表示装置２２５は、仮想デスクトップサーバ１１０から送信され、ユーザ端末１２０にて復号された画面画像を表示する表示デバイスである。操作装置２２６は、ユーザ端末１２０のユーザが、各種指示を入力する際に用いる操作デバイスである。
【００２９】
＜画面転送システムの各装置のソフトウェア構成＞
次に、画面転送システム１００の各装置（仮想デスクトップサーバ１１０、ユーザ端末１２０）のソフトウェア構成について説明する。図３Ａは、仮想デスクトップサーバのソフトウェア構成の一例を示す図である。
【００３０】
図３Ａに示すように、仮想デスクトップサーバ１１０は、仮想化レイヤ３１０、クライアントＯＳ３２０、アプリケーション３３０、アプリケーション３４０を有する。
【００３１】
仮想化レイヤ３１０は、仮想デスクトップサーバ１１０の仮想化を実現し、仮想デスクトップサーバ１１０が有するリソースを、複数のＯＳ（Operating  System）で共用利用できるようにするためのソフトウェアである。
【００３２】
クライアントＯＳ３２０は、仮想化レイヤ３１０上で動作するゲストＯＳ（Operating  System）である。クライアントＯＳ３２０は、仮想ディスプレイドライバ３２１を有し、アプリケーション３３０の実行中にアプリケーション３３０によって生成される画面画像が書き込まれる。
【００３３】
アプリケーション３３０は、ユーザ端末１２０のユーザが使用するソフトウェアである。図３Ａの例では、文書作成用のソフトウェアが示されているが、仮想デスクトップサーバ１１０上で実行されるソフトウェアは、文書作成用のソフトウェアに限定されず、任意のソフトウェアが実行されるものとする。
【００３４】
アプリケーション３４０は、画面転送用のソフトウェアであり、キャプチャ部３４１と、符号化部３４２とを有する。キャプチャ部３４１は、仮想ディスプレイドライバ３２１に書き込まれた画面画像をキャプチャする。符号化部３４２は、キャプチャ部３４１によりキャプチャされた画面画像を符号化し、符号化ストリームをユーザ端末１２０に送信する。
【００３５】
図３Ｂは、ユーザ端末のソフトウェア構成の一例を示す図である。図３Ｂに示すように、ユーザ端末１２０は、ＵＩ（User  Interface）用のアプリケーション３５０を有する。
【００３６】
アプリケーション３５０は、復号部３５１、表示部３５２、送信部３５３、操作部３５４を有する。復号部３５１は、仮想デスクトップサーバ１１０から送信された符号化データを復号することで画面画像を生成し、表示部３５２に通知する。表示部３５２は、通知された画面画像をユーザ端末１２０の表示装置２２５に表示するよう制御する。
【００３７】
操作部３５４は、表示装置２２５に画面画像が表示されたことに応じて、ユーザ端末１２０のユーザが、操作装置２２６を介して、アプリケーション３３０に対して指示を入力した場合に、これを受け付ける。送信部３５３は、操作部３５４が受け付けた指示を、操作情報として仮想デスクトップサーバ１１０に送信する。
【００３８】
＜仮想デスクトップサーバによる符号化処理の説明＞
次に、仮想デスクトップサーバ１１０による符号化処理について説明する。なお、仮想デスクトップサーバ１１０による符号化処理を説明するにあたっては、まず、比較例のサーバを挙げる。そして、当該比較例のサーバによる符号化処理の概要を説明するとともに、当該比較例のサーバにより生成される符号化ストリームの情報量について説明する。その後、仮想デスクトップサーバ１１０による符号化処理の概要及び仮想デスクトップサーバ１１０により生成される符号化ストリームの情報量について説明する。
【００３９】
（１）比較例のサーバによる符号化処理の概要
図４は、比較例のサーバによる符号化処理の概要を示す図である。図４に示すように、比較例のサーバは、判定部４００、静止画エンコーダ４１０、動画エンコーダ４２０、線画エンコーダ４３０を有している。
【００４０】
そして、比較例のサーバは、画面画像が符号化部に入力された場合、各フレーム画像について、判定部４００は、静止画領域、動画領域、線画領域の有無を判定する。また、各フレーム画像について、静止画エンコーダ４１０は、静止画領域の画像を静止画符号化し、静止画ストリーム（静止画符号化情報）を生成する。また、動画エンコーダ４２０は、フレーム画像全体を動画符号化し、動画ストリーム（動画符号化情報）を生成する。更に、線画エンコーダ４３０は、線画領域の画像を線画符号化し、線画ストリーム（線画符号化情報）を生成する。
【００４１】
図４において、「入力」の列は画面画像を示している。図４の例は、それぞれの時刻においてフレーム画像４４１、４５１、４６１、４７１がアプリケーション３４０により生成され、符号化部に入力されたことを示している。
【００４２】
なお、フレーム画像４４１、４５１、４６１、４７１において、空欄の領域は、静止画領域を示している。また、フレーム画像４４１、４５１、４６１、４７１において、“Ａ”、“Ｂ”で示される領域は、動画領域を示している（なお、“Ａ”と“Ｂ”は、異なる動画である（画像が変化している）ことを示している）。更に、フレーム画像４４１、４５１、４６１、４７１において、“ａ”、“ｂ”で示される領域は、線画領域を示している（なお、“ａ”と“ｂ”は、異なる線画であること（画像が変化したこと）を示している）。
【００４３】
時刻Ｔ１において、フレーム画像４４１が入力されると、判定部４００は、静止画領域を有すると判定する。また、静止画エンコーダ４１０は、フレーム画像４４１の静止画領域の画像（つまり、フレーム画像４４１）を静止画符号化し、静止画ストリーム４４２を生成して出力する。このとき、バッファには、符号化処理されたフレーム画像４４１を復号した復号画像（ここでは、静止画ストリーム４４２を復号することで得られる復号画像４４３（フレーム画像４４１と同じ））が保持される。
【００４４】
続いて、時刻Ｔ２において、フレーム画像４５１が入力されると、判定部４００は、静止画領域を有すると判定する。また、バッファに保持された復号画像４４３（の静止画領域の画像）と、フレーム画像４５１の静止画領域の画像（つまり、フレーム画像４５１）との差分が算出された後、静止画差分画像が静止画エンコーダ４１０に入力される。
【００４５】
ここで、静止画領域は、画像が変化していないため、フレーム画像４５１は、フレーム画像４４１と同じである。また、上述したとおり、バッファに保持された復号画像４４３は、フレーム画像４４１と同じである。したがって、復号画像４４３とフレーム画像４５１との差分により得られる静止画差分画像はゼロとなり、静止画エンコーダ４１０は、静止画ストリーム４５２として、ＮＵＬＬデータを出力する。このとき、バッファには、符号化処理されたフレーム画像４５１を復号した復号画像（ここでは、復号画像４４３（フレーム画像４４１と同じ））が保持される。
【００４６】
続いて、時刻Ｔ３において、フレーム画像４６１が入力されると、判定部４００は静止画領域を有すると判定する。このため、静止画エンコーダ４１０には、静止画領域の画像４６２と、バッファに保持された復号画像４４３のうち、静止画領域の位置に対応する位置の画像との差分により得られる静止画差分画像が入力される。
【００４７】
ここで、静止画領域は、画像が変化していないため、静止画差分画像はゼロとなり、静止画エンコーダ４１０は、静止画ストリーム４６５として、ＮＵＬＬデータを出力する。
【００４８】
また、時刻Ｔ３において、フレーム画像４６１が入力されると、判定部４００は動画領域を有すると判定する。このため、動画エンコーダ４２０には、フレーム画像４６３（＝フレーム画像４６１）全体が入力される。これにより、動画エンコーダ４２０は、フレーム画像４６３全体を動画符号化し、動画ストリーム４６６を生成して出力する。
【００４９】
また、時刻Ｔ３において、フレーム画像４６１が入力されると、判定部４００は線画領域を有すると判定する。このため、線画エンコーダ４３０には、線画領域の画像４６４が入力される。これにより、線画エンコーダ４３０は、フレーム画像４６１の線画領域の画像４６４を線画符号化し、線画ストリーム４６７を生成して出力する。
【００５０】
なお、バッファには、符号化処理されたフレーム画像４６１を復号した復号画像（ここでは、復号画像４６８（静止画領域の画像４６２、動画領域の画像、線画領域の画像４６４））が保持される。
【００５１】
続いて、時刻Ｔ４において、フレーム画像４７１が入力されると、判定部４００は、静止画領域を有すると判定する。このため、静止画エンコーダ４１０には、静止画領域の画像４７２と、バッファに保持された復号画像４６８のうち、静止画領域の位置に対応する位置の画像との差分により得られる静止画差分画像が入力される。
【００５２】
ここで、静止画領域は、画像が変化していないため、静止画差分画像はゼロとなり、静止画エンコーダ４１０は、静止画ストリーム４７５として、ＮＵＬＬデータを出力する。
【００５３】
また、時刻Ｔ４において、フレーム画像４７１が入力されると、判定部４００は、動画領域を有すると判定する。このため、動画エンコーダ４２０には、フレーム画像４７３（＝フレーム画像４７１）全体が入力される。これにより、動画エンコーダ４２０は、フレーム画像４７３全体を動画符号化し、動画ストリーム４７６を生成して出力する。
【００５４】
また、時刻Ｔ４において、フレーム画像４７１が入力されると、判定部４００は、線画領域を有すると判定する。このため、線画エンコーダ４３０には、線画領域の画像４７４が入力される。これにより、線画エンコーダ４３０は、フレーム画像４７１の線画領域の画像４７４を線画符号化し、線画ストリーム４７７を生成して出力する。
【００５５】
なお、バッファには、符号化処理されたフレーム画像４７１を復号した画像（ここでは、復号画像４７８（静止画領域の画像４７２、動画領域の画像、線画領域の画像４７４）が保持される。
【００５６】
図５は、比較例のサーバによる符号化処理において生成される符号化ストリームの情報量を示す図であり、横軸を時間、縦軸を情報量としている。
【００５７】
図５に示すように、比較例のサーバの場合、画面画像のうち、フレーム画像４４１が生成された直後は、静止画エンコーダ４１０が静止画領域の画像を静止画符号化することで、静止画ストリーム４４２を生成するため、情報量が増加する（符号５０１参照）。
【００５８】
一方で、比較例のサーバにおいて、静止画エンコーダ４１０は、以降は、バッファに保持された復号画像の静止画領域の画像との差分を符号化する。このため、フレーム画像全体が静止画領域であるフレーム画像が継続すると、静止画ストリームの情報量はゼロになる。
【００５９】
そして、所定時間が経過し、フレーム画像４６１が生成されると、再び、情報量が増加する（符号５０２参照）。動画エンコーダ４２０がフレーム画像４６１全体を符号化することで動画ストリームが生成され、線画エンコーダが線画領域を符号化することで線画ストリームが生成されるためである。なお、このときも、静止画領域の画像は変化していないため、静止画ストリームの情報量はゼロになる。
【００６０】
また、フレーム画像４６１が生成されて以降も、動画領域の画像及び線画領域の画像は時間の経過とともに変化する。したがって、動画エンコーダ４２０がフレーム画像全体を動画符号化することで生成される動画ストリームは、一定程度の情報量を有する。同様に、線画エンコーダ４３０が線画領域の画像を線画符号化することで生成される線画ストリームも、一定程度の情報量を有する。この結果、フレーム画像４６１が生成されて以降も、比較例のサーバによる符号化処理において生成される符号化ストリームの情報量は、高い状態が維持されることになる（符号５０２参照）。
【００６１】
（２）仮想デスクトップサーバによる符号化処理
続いて、仮想デスクトップサーバ１１０による符号化処理について説明する。図６及び図７は、仮想デスクトップサーバによる符号化処理の概要を示す第１及び第２の図である。
【００６２】
図６及び図７において、「入力」の列は画面画像を示している。図６及び図７の例は、それぞれの時刻においてフレーム画像４４１、４５１、４６１、４７１がアプリケーション３４０により生成され、入力されたことを示している。なお、図６と図７とは連続する符号化処理であるため、図７には、図６の時刻Ｔ３における符号化処理を重複して記載している。
【００６３】
また、図６に示す符号化処理のうち、時刻Ｔ１、時刻Ｔ２に入力されたフレーム画像に対する符号化処理の詳細は、図４で示した、時刻Ｔ１、時刻Ｔ２に入力されたフレーム画像に対する符号化処理の詳細と同じである。したがって、ここでは説明を省略し、時刻Ｔ３以降の符号化処理について説明する。
【００６４】
ただし、仮想デスクトップサーバ１１０の符号化部３４２では、符号化処理されたフレーム画像４４１を復号した復号画像４４３をバッファに保持することに加え、動画エンコーダ４２０に入力される直前のフレーム画像も他のバッファに保持するものとする。図６の場合、時刻Ｔ１、時刻Ｔ２に入力されたフレーム画像４４１、４５１については、動画エンコーダ４２０に入力されないため、フレーム画像４４１、４５１そのものが、フレーム画像６０１として保持される。
【００６５】
時刻Ｔ３において、フレーム画像４６１が入力されると、判定部４００は、静止画領域を有すると判定する。このため、静止画エンコーダ４１０には、静止画領域の画像４６２と、バッファに保持された復号画像４４３のうち、静止画領域の位置に対応する位置の画像との差分により得られる静止画差分画像が入力される。
【００６６】
ここで、静止画領域は、画像が変化していないため、静止画差分画像はゼロとなり、静止画エンコーダ４１０は、静止画ストリーム４６５として、ＮＵＬＬデータを出力する。
【００６７】
また、時刻Ｔ３において、フレーム画像４６１が入力されると、判定部４００は、動画領域の有無を判定するとともに、線画領域の有無を判定する。そして、フレーム画像４６１に動画領域と線画領域の両方が含まれると判定した場合に、置き換え部６００では、フレーム画像４６３（＝フレーム画像４６１）の線画領域の画像を、バッファに保持されているフレーム画像６０１の対応する位置の画像で置き換える。これにより、置き換え部６００では、置き換え後のフレーム画像６１１を生成する。また、動画エンコーダ４２０は、フレーム画像６１１全体を動画符号化し、動画ストリーム６１２を生成して出力する。
【００６８】
ここで、置き換え部６００により生成される置き換え後のフレーム画像６１１には、動画領域と静止画領域とが含まれるが、線画領域は含まれない。このため、動画エンコーダ４２０において線画領域の画像が動画符号化されることはない。また、置き換え後のフレーム画像６１１の静止画領域の画像は、１つ前のフレーム画像４５１の静止画領域の画像から変化していない。このため、動画エンコーダ４２０が、置き換え後のフレーム画像６１１の静止画領域の画像を動画符号化しても情報量が増加することはない。
【００６９】
この結果、置き換え後のフレーム画像６１１が動画エンコーダ４２０により動画符号化されることで生成される動画ストリーム６１２の情報量は、動画領域の画像のみが符号化された動画ストリームの情報量と等しくなる。
【００７０】
なお、バッファには、符号化処理されたフレーム画像４６１を復号した復号画像４６８が保持される。また、他のバッファには、動画エンコーダ４２０に入力される直前のフレーム画像６１１が、フレーム画像６１３として保持される。
【００７１】
続いて、図７に示すように、時刻Ｔ４において、フレーム画像４７１が入力されると、判定部４００は、静止画領域を有すると判定する。このため、静止画エンコーダ４１０には、静止画領域の画像４７２と、バッファに保持された復号画像４６８のうち、静止画領域の位置に対応する位置の画像との差分により得られる静止画差分画像が入力される。
【００７２】
ここで、静止画領域は、画像が変化していないため、静止画差分画像はゼロとなり、静止画エンコーダ４１０は、静止画ストリーム４７５として、ＮＵＬＬデータを出力する。
【００７３】
また、時刻Ｔ４において、フレーム画像４７１が入力されると、判定部４００は、動画領域の有無を判定するとともに、線画領域の有無を判定する。そして、フレーム画像４７１に動画領域と線画領域の両方が含まれると判定した場合に、置き換え部６００では、フレーム画像４７３（＝フレーム画像４７１）の線画領域の画像を、バッファに保持されているフレーム画像６１３の対応する位置の画像で置き換える。これにより、置き換え部６００では、置き換え後のフレーム画像７１１を生成する。また、動画エンコーダ４２０は、フレーム画像７１１全体を動画符号化し、動画ストリーム７１２を生成して出力する。
【００７４】
ここで、置き換え部６００により生成される置き換え後のフレーム画像７１１には、動画領域と静止画領域とが含まれるが、線画領域が含まれない。このため、動画エンコーダ４２０において線画領域の画像が動画符号化されることはない。また、置き換え後のフレーム画像７１１の静止画領域の画像は、１つ前のフレーム画像４６１の静止画領域の画像から変化していない。このため、動画エンコーダ４２０が、置き換え後のフレーム画像７１１の静止画領域の画像を動画符号化しても情報量が増加することはない。
【００７５】
この結果、置き換え後のフレーム画像７１１が動画エンコーダ４２０により動画符号化されることで生成される動画ストリーム７１２の情報量は、動画領域の画像のみが符号化された動画ストリームの情報量と等しくなる。
【００７６】
なお、バッファには、符号化処理されたフレーム画像４７１を復号した復号画像４７８が保持される。また、他のバッファには、動画エンコーダ４２０に入力される直前のフレーム画像７１１が、フレーム画像７１３として保持される。
【００７７】
図８は、仮想デスクトップサーバによる符号化処理において生成される符号化ストリームの情報量を示す図であり、図５と同様に、横軸を時間、縦軸を情報量としている。
【００７８】
図８に示すように、仮想デスクトップサーバ１１０の場合、画面画像のうち、フレーム画像４４１が生成された直後は、静止画エンコーダ４１０が静止画領域を符号化することで、静止画ストリーム４４２が生成されるため、情報量が増加する（符号８０１参照）。
【００７９】
一方で、仮想デスクトップサーバ１１０において、静止画エンコーダ４１０は、以降は、バッファに保持された復号画像の静止画領域の画像との差分を符号化する。このため、フレーム画像全体が静止画領域であるフレーム画像が継続すると、静止画ストリームの情報量はゼロになる。
【００８０】
そして、所定時間が経過し、フレーム画像４６１が生成されると、再び、情報量が増加する（符号８０２参照）。動画エンコーダ４２０がフレーム画像４６１全体を符号化することで動画ストリームが生成され、線画エンコーダが線画領域を符号化することで線画ストリームが生成されるためである。なお、このときも、静止画領域の画像は変化していないため、静止画ストリームの情報量はゼロになる。
【００８１】
また、フレーム画像４６１が生成されて以降も、動画領域の画像及び線画領域の画像は時間の経過とともに変化する。したがって、動画エンコーダ４２０がフレーム画像全体を動画符号化することで生成される動画ストリームは、一定程度の情報量を有する。同様に、線画エンコーダ４３０が線画領域の画像を線画符号化することで生成される線画ストリームも、一定程度の情報量を有する。ただし、仮想デスクトップサーバ１１０の場合、上述したとおり、動画エンコーダ４２０がフレーム画像全体を動画符号化する際、線画領域の画像を動画符号化することはない。つまり、線画領域の画像に対して、動画エンコーダ４２０と線画エンコーダ４３０とが重複して符号化を行うことはない。また、線画領域の画像を置き換えるのは、線画領域が発生する前の静止画領域の画像であるため、動画エンコーダ４２０で動画符号化しても、情報量が増えることはない。
【００８２】
この結果、フレーム画像４６１が生成されて以降の情報量の増加は、図５と比較して抑制されることになる（符号５０２、符号８０２参照）。
【００８３】
＜仮想デスクトップサーバの符号化部の機能構成＞
次に、上記符号化処理を実現するための符号化部３４２の機能構成について説明する。図９は、仮想デスクトップサーバの符号化部の機能構成の一例を示す図であり、アプリケーション３４０に含まれる符号化プログラムが実行されることで実現される。
【００８４】
図９に示すように、符号化部３４２は、更新頻度判定部９１０、領域判定部９１１、符号化方式判定部９１２を有し、判定部４００を形成する。
【００８５】
更新頻度判定部９１０は、画面画像をフレームごとに取得し、取得したフレーム画像を所定サイズ（例えば、１６画素×１６画素）の領域に分割する。また、更新頻度判定部９１０は、分割した各領域について更新頻度を算出し、算出した更新頻度が所定の閾値以上であれば動画領域と判定し、所定の閾値未満であれば静止画領域と判定する。
【００８６】
領域判定部９１１は、分割した各領域について、含まれる色の数を算出し、算出した色の数が所定の閾値未満であれば線画領域と判定し、所定の閾値以上であれば線画領域でないと判定する。これにより、領域判定部９１１では、分割した各領域が、
・静止画領域で、線画領域である、
・静止画領域で、線画領域でない、
・動画領域で、線画領域である、
・動画領域で、線画領域でない、
のいずれかの領域に属するかを判定することができる。
【００８７】
符号化方式判定部９１２は、領域判定部９１１における判定結果に基づいて、符号化方式を判定する。第１の実施形態において、符号化方式判定部９１２は、フレーム画像内に動画領域が含まれている場合には、フレーム画像全体について、動画エンコーダ４２０を用いて符号化を行うと判定する。この場合、符号化方式判定部９１２は、動画領域情報を色差変換部９２３、動画領域切り出し部９２７に通知する。
【００８８】
また、第１の実施形態において、符号化方式判定部９１２は、フレーム画像内に線画領域が含まれている場合には、当該線画領域について、線画エンコーダ４３０を用いて符号化を行うと判定し、線画領域情報を線画領域抽出部９３０に通知する。
【００８９】
更に、第１の実施形態において、符号化方式判定部９１２は、フレーム画像内に静止画領域が含まれている場合には、当該静止画領域について、静止画エンコーダ４１０を用いて符号化を行うと判定し、静止画領域情報を静止画領域抽出部９５０に通知する。
【００９０】
なお、符号化方式判定部９１２は、更に、フレーム画像内に動画領域と線画領域の両方が含まれているか否かを判定し、判定結果を線画領域記憶部９２１に通知する。
【００９１】
また、図９に示すように、符号化部３４２は、前フレーム変更画像フレームバッファ９２０、線画領域記憶部９２１、入力画像変更部９２２を有し、置き換え部６００を形成する。
【００９２】
前フレーム変更画像フレームバッファ９２０は、全画面動画符号化部９２４により動画エンコーダ４２０に入力される前のフレーム画像を保持する。具体的には、前フレーム変更画像フレームバッファ９２０は、入力画像変更部９２２が色差変換部９２３に通知したフレーム画像を保持する。
【００９３】
線画領域記憶部９２１は、符号化方式判定部９１２より、入力されたフレーム画像内に動画領域と線画領域の両方が含まれているとの判定結果が通知された場合には、前フレーム変更画像フレームバッファ９２０に保持されているフレーム画像を参照する。
【００９４】
また、線画領域記憶部９２１は、入力されたフレーム画像内の線画領域の位置に対応する位置の画像を、前フレーム変更画像フレームバッファ９２０に保持されているフレーム画像から抽出し、入力画像変更部９２２に通知する。これにより、入力画像変更部９２２では、入力されたフレーム画像のうち、線画領域の画像を、線画領域記憶部９２１より通知された画像で置き換え、置き換え後のフレーム画像を色差変換部９２３に通知する。
【００９５】
なお、線画領域記憶部９２１では、入力画像変更部９２２により色差変換部９２３に通知された置き換え後のフレーム画像を、前フレーム変更画像フレームバッファ９２０に書き込む。これにより、前フレーム変更画像フレームバッファ９２０には、置き換え後のフレーム画像が保持される。
【００９６】
一方、符号化方式判定部９１２より、フレーム画像内に動画領域と線画領域のいずれかが含まれていないとの判定結果（動画領域が含まれていない、または、線画領域が含まれていないとの判定結果）が通知された場合には、入力画像変更部９２２に通知する。この場合、入力画像変更部９２２では、入力されたフレーム画像を、そのまま、色差変換部９２３に通知する。
【００９７】
なお、線画領域記憶部９２１では、入力画像変更部９２２により色差変換部９２３に通知された、入力されたフレーム画像を、前フレーム変更画像フレームバッファ９２０に書き込む。これにより、前フレーム変更画像フレームバッファ９２０には、入力されたフレーム画像が保持される。
【００９８】
また、図９に示すように、符号化部３４２は、色差変換部９２３、全画面動画符号化部９２４、全画面動画復号部９２５、全画面動画復号画像フレームバッファ９２６、動画領域切り出し部９２７、色差変換部９２８を有し、動画処理部９０１を形成する。
【００９９】
色差変換部９２３は、符号化方式判定部９１２より動画領域情報が通知された場合に動作する。具体的には、色差変換部９２３は、入力画像変更部９２２より通知されたフレーム画像（入力されたフレーム画像または置き換え後のフレーム画像）について、色差フォーマットを変換する。具体的には、色差変換部９２３は、色差フォーマットを、４：４：４フォーマットから、４：２：０フォーマットに変換する。
【０１００】
なお、４：４：４フォーマットから４：２：０フォーマットへの変換とは、フレーム画像のうち、Ｙ成分はそのままとし、Ｕ成分を縦横それぞれ１／２倍になるように間引き、Ｖ成分を縦横それぞれ１／２倍になるように間引く処理を指す。
【０１０１】
全画面動画符号化部９２４は、色差変換部９２３により４：２：０フォーマットに変換されたフレーム画像について、フレーム画像全体を動画エンコーダ４２０を用いて動画符号化し、動画ストリームを生成する。
【０１０２】
動画エンコーダ４２０は、例えば、Ｈ．２６４、Ｈ２６５／ＨＥＶＣ等の動画用の符号化規格に準拠した符号化方式で動画ストリームを生成する。ただし、動画エンコーダ４２０が動画ストリームを生成する際の符号化方式は、Ｈ．２６４、Ｈ．２６５／ＨＥＶＣに限定されない。
【０１０３】
全画面動画符号化部９２４は、動画エンコーダ４２０により生成された動画ストリームを、全画面動画復号部９２５及び送信部９６０に通知する。
【０１０４】
全画面動画復号部９２５は、全画面動画符号化部９２４より通知された動画ストリームを復号し、全画面動画復号画像を生成する。また、全画面動画復号部９２５は、生成した全画面動画復号画像を、全画面動画復号画像フレームバッファ９２６に通知する。
【０１０５】
全画面動画復号画像フレームバッファ９２６は、全画面動画復号部９２５より通知された全画面動画復号画像を保持する。
【０１０６】
動画領域切り出し部９２７は、符号化方式判定部９１２より動画領域情報が通知された場合に、全画面動画復号画像フレームバッファ９２６に保持された全画面動画復号画像を読み出し、動画領域の位置の画像を切り出す。また、動画領域切り出し部９２７は、切り出した動画領域の位置の画像を、色差変換部９２８に通知する。
【０１０７】
色差変換部９２８は、動画領域切り出し部９２７より通知された動画領域の位置の画像について、色差フォーマットを変換する。具体的には、色差変換部９２８は、色差フォーマットを、４：２：０フォーマットから、４：４：４フォーマットに変換する。
【０１０８】
なお、４：２：０フォーマットから、４：４：４フォーマットへの変換とは、動画領域の位置の画像のうち、Ｙ成分はそのままとし、Ｕ成分を縦横それぞれ２倍になるように補間し、Ｖ成分を縦横それぞれ２倍になるように補間する処理を指す。
【０１０９】
色差変換部９２８は、色差フォーマットを変換した、動画領域の位置の画像（動画復号画像）を、クライアント画像フレームバッファ９４０に通知する。
【０１１０】
また、図９に示すように、符号化部３４２は、線画領域抽出部９３０、線画符号化部９３１、線画復号部９３２を有し、線画処理部９０２を形成する。
【０１１１】
線画領域抽出部９３０は、符号化方式判定部９１２より、線画領域情報が通知された場合に動作し、入力されたフレーム画像より、線画領域情報により特定される線画領域の画像を抽出する。
【０１１２】
線画符号化部９３１は、線画領域抽出部９３０により抽出された線画領域の画像について、線画エンコーダ４３０を用いて符号化し、線画ストリームを生成する。
【０１１３】
線画エンコーダ４３０は、例えば、チェーン符号化や方向差分チェーン符号化、ＳＢＣ（Sketch  Based  Coding）等の符号化方式で線画ストリームを生成する。ただし、線画エンコーダ４３０が線画ストリームを生成する際の符号化方式は、チェーン符号化や方向差分チェーン符号化、ＳＢＣ等に限定されない。
【０１１４】
線画符号化部９３１は、生成した線画ストリームを、線画復号部９３２及び送信部９６０に通知する。
【０１１５】
線画復号部９３２は、線画符号化部９３１より通知された線画ストリームを復号し、線画復号画像を生成する。また、線画復号部９３２は、生成した線画復号画像を、クライアント画像フレームバッファ９４０に通知する。
【０１１６】
クライアント画像フレームバッファ９４０は、色差変換部９２８より通知された動画復号画像を保持する。また、クライアント画像フレームバッファ９４０は、線画復号部９３２より通知された線画復号画像を保持する。更に、クライアント画像フレームバッファ９４０は、後述する静止画復号部９５４より通知された静止画復号画像を保持する。
【０１１７】
また、図９に示すように、符号化部３４２は、静止画領域抽出部９５０、静止画差分算出部９５１、静止画参照画像取得部９５２、静止画領域符号化部９５３、静止画復号部９５４を有し、静止画処理部９０３を形成する。
【０１１８】
静止画領域抽出部９５０は、符号化方式判定部９１２より、静止画領域情報が通知された場合に動作する。具体的には、静止画領域抽出部９５０は、入力されたフレーム画像より、静止画領域情報により特定される静止画領域の画像を抽出する。また、静止画領域抽出部９５０は、抽出した静止画領域の画像を、静止画差分算出部９５１に通知する。
【０１１９】
静止画差分算出部９５１は、静止画領域の画像について差分画像を生成する。具体的には、
・クライアント画像フレームバッファ９４０に保持され、静止画参照画像取得部９５２により読み出された、１フレーム前のフレーム画像についての静止画復号画像と、
・静止画領域抽出部９５０より通知された、処理対象のフレーム画像の静止画領域の画像と、
の差分により、静止画差分画像を生成する。また、静止画差分算出部９５１は、生成した静止画差分画像を、静止画領域符号化部９５３に通知する。
【０１２０】
静止画領域符号化部９５３は、静止画差分算出部９５１より通知された静止画差分画像について、静止画エンコーダ４１０を用いて静止画ストリームを生成する。
【０１２１】
静止画エンコーダ４１０は、例えば、ＪＰＥＧ（Joint  Photographic  Experts  Group）等の符号化方式で静止画ストリームを生成する。ただし、静止画エンコーダ４１０が静止画ストリームを生成する際の符号化方式は、ＪＰＥＧに限定されない。
【０１２２】
静止画領域符号化部９５３は、生成した静止画ストリームを、静止画復号部９５４及び送信部９６０に通知する。
【０１２３】
静止画復号部９５４は、静止画領域符号化部９５３より通知された静止画ストリームを復号し、静止画復号画像を生成する。また、静止画復号部９５４は、生成した静止画復号画像を、クライアント画像フレームバッファ９４０に通知する。
【０１２４】
送信部９６０は、全画面動画符号化部９２４より通知された動画ストリーム、線画符号化部９３１より通知された線画ストリーム、静止画領域符号化部９５３より通知された静止画ストリームを、ユーザ端末１２０に送信する。
【０１２５】
＜符号化処理の流れ＞
次に、仮想デスクトップサーバ１１０による符号化処理の流れについて説明する。図１０は、仮想デスクトップサーバによる符号化処理の流れを示すフローチャートである。
【０１２６】
アプリケーション３４０が起動することで、符号化部３４２では、図１０に示す符号化処理を開始する。
【０１２７】
ステップＳ１００１において、判定部４００は、フレームカウンタｎに“１”を入力する。
【０１２８】
ステップＳ１００２において、判定部４００は、画面画像のｎフレーム目のフレーム画像を取得する。
【０１２９】
ステップＳ１００３において、判定部４００は、最初のフレーム（ｎ＝１）であるか否かを判定する。ステップＳ１００３において最初のフレームであると判定した場合には（ステップＳ１００３においてＹＥＳの場合には）、ステップＳ１００４に進む。
【０１３０】
ステップＳ１００４において、入力画像変更部９２２は、フレーム画像を取得し、線画領域記憶部９２１は、取得されたフレーム画像を、前フレーム変更画像フレームバッファ９２０に書き込む。これにより、前フレーム変更画像フレームバッファには、最初のフレームのフレーム画像が保持される。
【０１３１】
ステップＳ１００５において、動画処理部９０１は、動画符号化処理を実行する。また、ステップＳ１００６において、静止画処理部９０３は、静止画符号化処理を実行する。これにより、クライアント画像フレームバッファ９４０には、最初のフレームのフレーム画像を符号化処理し、復号することで得られる復号画像が保持される。また、送信部９６０からは、最初のフレームのフレーム画像を符号化処理することで得られる動画符号化ストリーム及び静止画符号化ストリームが送信される。
【０１３２】
一方、ステップＳ１００３において最初のフレームでない（ｎ≠１）と判定した場合には（ステップＳ１００３においてＮＯの場合には）、ステップＳ１００７に進む。ステップＳ１００７において、判定部４００の更新頻度判定部９１０及び領域判定部９１１は、判定処理を実行する。
【０１３３】
ステップＳ１００８において、判定部４００の符号化方式判定部９１２は、ｎフレーム目のフレーム画像に、動画領域と線画領域の両方が含まれるか否を判定し、判定結果を、置き換え部６００の線画領域記憶部９２１に通知する。
【０１３４】
ステップＳ１００９において、判定部４００の符号化方式判定部９１２は、ｎフレーム目のフレーム画像に、動画領域が含まれるか否かを判定する。ステップＳ１００９において、動画領域が含まれると判定した場合には（ステップＳ１００９においてＹＥＳの場合には）、動画領域情報を色差変換部９２３、動画領域切り出し部９２７に通知し、ステップＳ１０１０に進む。
【０１３５】
ステップＳ１０１０において、動画処理部９０１は、ｎフレーム目のフレーム画像について動画符号化処理を行い、ステップＳ１０１１に進む。一方、ステップＳ１００９において、動画領域が含まれないと判定した場合には（ステップＳ１００９においてＮＯの場合には）、直接、ステップＳ１０１１に進む。
【０１３６】
ステップＳ１０１１において、判定部４００の符号化方式判定部９１２は、ｎフレーム目のフレーム画像に、線画領域が含まれるか否かを判定する。ステップＳ１０１１において、線画領域が含まれると判定した場合には（ステップＳ１０１１においてＹＥＳの場合には）、線画領域情報を線画領域抽出部９３０に通知し、ステップＳ１０１２に進む。
【０１３７】
ステップＳ１０１２において、線画処理部９０２は、線画符号化処理を実行し、ステップＳ１０１３に進む。一方、ステップＳ１０１１において、線画領域が含まれないと判定した場合には（ステップＳ１０１１においてＮＯの場合には）、直接、ステップＳ１０１３に進む。
【０１３８】
ステップＳ１０１３において、判定部４００は、ｎフレーム目のフレーム画像に、静止画領域が含まれるか否かを判定する。ステップＳ１０１３において、静止画領域が含まれると判定した場合には（ステップＳ１０１３においてＹＥＳの場合には）、静止画領域情報を静止画領域抽出部９５０に通知し、ステップＳ１０１４に進む。
【０１３９】
ステップＳ１０１４において、静止画処理部９０３は、静止画符号化処理を実行し、ステップＳ１０１５に進む。一方、ステップＳ１０１３において、静止画領域が含まれないと判定した場合には（ステップＳ１０１３においてＮＯの場合には）、直接、ステップＳ１０１５に進む。
【０１４０】
ステップＳ１０１５において、判定部４００は、符号化処理を終了するか否かを判定する。ステップＳＳ１０１５において、符号化処理を終了しないと判定した場合には（ステップＳ１０１５においてＮＯの場合には）、ステップＳ１０１６に進み、フレームカウンタｎをインクリメントした後、ステップＳ１００２に戻る。
【０１４１】
一方、ステップＳ１０１５において、符号化処理を終了すると判定した場合には（ステップＳ１０１５においてＹＥＳの場合には）、符号化処理を終了する。
【０１４２】
＜符号化処理の各工程の詳細＞
次に、図１０に示した符号化処理の各工程（ステップＳ１００５、Ｓ１００６、Ｓ１００７、Ｓ１０１０、Ｓ１０１４）について詳細を説明する。
【０１４３】
（１）ステップＳ１００５（動画符号化処理）、ステップＳ１００６（静止画符号化処理）の詳細
はじめに、ステップＳ１００５（動画符号化処理）及びステップＳ１００６（静止画符号化処理）の詳細について説明する。図１１Ａは、符号化処理の各工程の詳細を示す第１のフローチャートであり、ステップＳ１００５（動画符号化処理）の詳細を示している。図１１Ａに示すように、ステップＳ１１０１において、色差変換部９２３は、入力画像変更部９２２により取得された、１フレーム目のフレーム画像について、色差フォーマットを、４：２：０フォーマットに変換する。
【０１４４】
ステップＳ１１０２において、全画面動画符号化部９２４は、色差フォーマットが変換された１フレーム目のフレーム画像について、フレーム画像全体を動画エンコーダ４２０を用いて符号化し、動画ストリームを生成する。更に、送信部９６０は、生成された動画ストリームを送信する。
【０１４５】
ステップＳ１１０３において、全画面動画復号部９２５は、動画ストリームを復号し、全画面動画復号画像を生成する。また、色差変換部９２８は、生成された全画面動画復号画像について、色差フォーマットを、４：４：４フォーマットに変換する。
【０１４６】
ステップＳ１１０４において、色差変換部９２８は、色差フォーマットを変換した、全画面動画復号画像を、クライアント画像フレームバッファ９４０に書き込む。
【０１４７】
図１１Ｂは、符号化処理の各工程の詳細を示す第２のフローチャートであり、ステップＳ１００６（静止画符号化処理）の詳細を示している。図１１Ｂに示すように、ステップＳ１１１１において、静止画参照画像取得部９５２は、１フレーム目のフレーム画像について動画符号化処理が実行されたことで、クライアント画像フレームバッファ９４０に保持された、全画面動画復号画像を取得する。また、静止画参照画像取得部９５２は、取得した全画面動画復号画像のうち、静止画領域の画像を取得する。
【０１４８】
ステップＳ１１１２において、静止画領域抽出部９５０は、１フレーム目のフレーム画像から、静止画領域の画像を抽出する。また、静止画差分算出部９５１は、抽出した静止画領域の画像と、静止画参照画像取得部９５２により取得された、全画面動画復号画像の静止画領域の画像との差分により、静止画差分画像を生成する。
【０１４９】
ステップＳ１１１３において、静止画領域符号化部９５３は、生成した差分画像について、静止画エンコーダ４１０を用いて静止画符号化し、静止画ストリームを生成する。また、送信部９６０は、生成した静止画ストリームを送信する。
【０１５０】
ステップＳ１１１４において、静止画復号部９５４は、静止画ストリームを復号する。
【０１５１】
ステップＳ１１１５において、静止画復号部９５４は、復号した静止画ストリームを、ステップＳ１１１１において取得された静止画領域の画像に加算し、静止画復号画像を生成する。
【０１５２】
ステップＳ１１１６において、静止画復号部９５４は、生成した静止画復号画像を、クライアント画像フレームバッファ９４０に書き込む。
【０１５３】
（２）ステップＳ１００７（判定処理）、ステップＳ１０１０（動画符号化処理）の詳細
次に、ステップＳ１００７（判定処理）、ステップＳ１０１０（動画符号化処理）の詳細について説明する。図１２Ａは、符号化処理の各工程の詳細を示す第３のフローチャートであり、ステップＳ１００７（判定処理）の詳細を示している。図１２Ａに示すように、ステップＳ１２０１において、更新頻度判定部９１０は、入力されたフレーム画像を複数の領域に分割し、分割した各領域について更新頻度を算出する。
【０１５４】
ステップＳ１２０２において、領域判定部９１１は、算出された更新頻度が所定の閾値以上であるかを判定することで、分割した各領域について、動画領域か静止画領域かを判定する。
【０１５５】
ステップＳ１２０３において、領域判定部９１１は、分割した各領域について、含まれる色の数を算出し、算出した色の数が所定の閾値未満であれば線画領域と判定し、所定の閾値以上であれば、線画領域でないと判定する。
【０１５６】
図１２Ｂは、符号化処理の各工程の詳細を示す第４のフローチャートであり、ステップＳ１０１０（動画符号化処理）の詳細を示している。図１２Ｂに示すように、ステップＳ１２１１において、線画領域記憶部９２１は、符号化方式判定部９１２より通知された判定結果に基づいて、動画領域と線画領域の両方が含まれるか否かを判定する。
【０１５７】
ステップＳ１２１１において、動画領域と線画領域の両方が含まれると判定された場合（ステップＳ１２１１においてＹＥＳの場合）、ステップＳ１２１２に進む。ステップＳ１２１１において、線画領域記憶部９２１は、前フレーム変更画像フレームバッファ９２０を参照し、（ｎ−１）フレーム目のフレーム画像に含まれる線画領域の位置に対応する領域の画像を取得する。また、線画領域記憶部９２１は、取得した画像を、入力画像変更部９２２に通知する。
【０１５８】
ステップＳ１２１３において、入力画像変更部９２２は、ｎフレーム目のフレーム画像を取得し、線画領域の位置に、線画領域記憶部９２１より通知された画像を上書きし、上書き後のｎフレーム目のフレーム画像を、動画処理部９０１に通知する。
【０１５９】
一方、ステップＳ１２１１において、動画領域と線画領域の両方が含まれると判定されなかった場合（ステップＳ１２１１においてＮＯの場合）には、ステップＳ１２１４に進む。
【０１６０】
ステップＳ１２１４において、入力画像変更部９２２は、ｎフレーム目のフレーム画像を、そのまま、動画処理部９０１の色差変換部９２３に通知する。
【０１６１】
ステップＳ１２１５において、色差変換部９２３は、入力画像変更部９２２より通知されたｎフレーム目のフレーム画像について、色差フォーマットを４：２：０フォーマットに変換する。また、全画面動画符号化部９２４は、４：２：０フォーマットに変換されたフレーム画像について、フレーム画像全体を動画エンコーダ４２０を用いて動画符号化し、動画ストリームを生成する。
【０１６２】
ステップＳ１２１６において、送信部９６０は、生成した動画ストリームをユーザ端末１２０に送信する。
【０１６３】
ステップＳ１２１７において、全画面動画復号部９２５は、動画ストリームを復号し、全画面動画復号画像を生成する。また、動画領域切り出し部９０７は、符号化方式判定部９１２により通知された動画領域情報に基づいて、全画面動画復号画像より、動画領域の位置の画像を切り出す。更に、色差変換部９２８は、切り出された動画領域の位置の画像の色差フォーマットを４：４：４に変換し、動画復号画像を生成する。
【０１６４】
ステップＳ１２１８において、色差変換部９２８は、生成した動画復号画像を、クライアント画像フレームバッファ９４０に書き込む。
【０１６５】
ステップＳ１２１９において、線画領域記憶部９２１は、ステップＳ１２１３またはステップＳ１２１４において入力画像変更部９２２が動画処理部９０１に通知した、ｎフレーム目のフレーム画像を取得する。
【０１６６】
ステップＳ１２２０において、線画領域記憶部９２１は、取得したｎフレーム目のフレーム画像を、前フレーム変更画像フレームバッファ９２０に書き込む。
【０１６７】
（３）ステップＳ１０１４（静止画符号化処理）の詳細
次に、ステップＳ１０１４（静止画符号化処理）の詳細について説明する。図１３は、符号化処理の各工程の詳細を示す第５のフローチャートである。
【０１６８】
ステップＳ１３０１において、静止画参照画像取得部９５２は、クライアント画像フレームバッファ９４０から、（ｎ−１）フレーム目のフレーム画像に対応する、静止画復号画像を取得する。
【０１６９】
ステップＳ１３０２において、静止画領域抽出部９５０は、符号化方式判定部９１２より通知された静止画領域情報に基づいて、ｎフレーム目のフレーム画像から静止画領域の画像を抽出する。また、静止画差分算出部９５１は、ｎフレーム目のフレーム画像から抽出された静止画領域の画像と、（ｎ−１）フレーム目のフレーム画像に対応する、静止画復号画像との差分により、静止画差分画像を生成する。
【０１７０】
ステップＳ１３０３において、静止画領域符号化部９５３は、静止画差分画像を、静止画エンコーダ４１０を用いて静止画符号化し、静止画ストリームを生成する。
【０１７１】
ステップＳ１３０４において、送信部９６０は、静止画ストリームをユーザ端末１２０に送信する。
【０１７２】
ステップＳ１３０５において、静止画復号部９５４は、静止画ストリームを復号する。ステップＳ１３０６において、静止画復号部９５４は、復号した静止画ストリームを、（ｎ−１）フレーム目のフレーム画像に対応する、静止画復号画像に加算することで、ｎフレーム目のフレーム画像に対応する静止画復号画像を生成する。
【０１７３】
ステップＳ１３０７において、静止画復号部９５４は、ｎフレーム目のフレーム画像に対応する静止画復号画像を、クライアント画像フレームバッファ９４０に書き込む。
【０１７４】
＜ユーザ端末による復号処理の説明＞
次に、ユーザ端末１２０による復号処理の概要について説明する。図１４は、ユーザ端末による復号処理の概要を示す図である。
【０１７５】
図１４において、「入力」の列に示される符号化ストリームは、それぞれの時刻に受信した符号化ストリームを示している。
【０１７６】
具体的には、静止画ストリーム４４２は、時刻Ｔ１のフレーム画像４４１に基づいて仮想デスクトップサーバ１１０により生成され、送信された静止画ストリームである。また、静止画ストリーム４５２は、時刻Ｔ２のフレーム画像４５１に基づいて仮想デスクトップサーバ１１０により生成され、送信された静止画ストリームである。
【０１７７】
また、静止画ストリーム４６５、動画ストリーム６１２、線画ストリーム４６７は、時刻Ｔ３のフレーム画像４６１に基づいて仮想デスクトップサーバ１１０により生成され、送信された静止画ストリーム、動画ストリーム、線画ストリームである。
【０１７８】
更に、静止画ストリーム４７５、動画ストリーム７１２、線画ストリーム４７７は、時刻Ｔ４のフレーム画像４７１に基づいて仮想デスクトップサーバ１１０により送信され、送信された静止画ストリーム、動画ストリーム、線画ストリームである。したがって、図１４において示される符号（“Ａ”、“Ｂ”、“ａ”、“ｂ”）は、図６、図７と同様である。
【０１７９】
図１４に示すように、復号部３５１では、静止画ストリーム４４２を受信すると、静止画デコーダ１４１０が復号する。これにより、ユーザ端末１２０には、静止画復号画像１４４２が表示される。また、復号部３５１において、バッファには、静止画復号画像１４４２が保持される。
【０１８０】
続いて、復号部３５１が受信する静止画ストリーム４５２は、ＮＵＬＬデータである。このため、静止画デコーダ１４１０が復号した静止画復号画像１４５２に、バッファに保持された静止画復号画像１４４２を加算することで、静止画復号画像１４４２が出力される。この結果、ユーザ端末１２０には、静止画復号画像１４４２が表示される。また、復号部３５１において、バッファには、静止画復号画像１４４２が保持される。
【０１８１】
続いて、復号部３５１では、静止画ストリーム４６５、動画ストリーム６１２、線画ストリーム４６７を受信する。静止画ストリーム４６５は、静止画デコーダ１４１０により復号され、バッファに保持された静止画復号画像１４４２のうち、対応する領域の画像が加算されることで、静止画復号画像が生成される。静止画ストリーム４６５は、ＮＵＬＬデータであるため、生成される静止画復号画像は、静止画復号画像１４４２のうち、対応する領域の画像に等しい。
【０１８２】
また、動画ストリーム６１２は、動画デコーダ１４２０により復号され、動画復号画像１４６４が生成される。また、線画ストリーム４６７は、線画デコーダ１４３０により復号され、線画復号画像１４６５が生成される。生成された動画復号画像１４６４と、線画復号画像１４６５は、静止画復号画像に加算されることで、復号画像１４６６が生成され、表示される。生成された復号画像１４６６は、バッファに保持される。
【０１８３】
続いて、復号部３５１では、静止画ストリーム４７５、動画ストリーム７１２、線画ストリーム４７７を受信する。静止画ストリーム４７５は、静止画デコーダ１４１０により復号され、バッファに保持された復号画像１４６６のうち、対応する領域の画像が加算されることで、静止画復号画像が生成される。静止画ストリーム４７５は、ＮＵＬＬデータであるため、生成される静止画復号画像は、復号画像１４６６のうち、対応する領域の画像に等しい。
【０１８４】
また、動画ストリーム７１２は、動画デコーダ１４２０により復号され、動画復号画像１４７４が生成される。また、線画ストリーム４７７は、線画デコーダ１４３０により復号され、線画復号画像１４７５が生成される。生成された動画復号画像１４７４と、線画復号画像１４７５は、静止画復号画像に加算されることで、復号画像１４７６が生成され、表示される。生成された復号画像１４７６は、バッファに保持される。
【０１８５】
＜ユーザ端末の復号部の機能構成＞
次に、上記復号処理を実現するための復号部３５１の機能構成について説明する。図１５は、ユーザ端末の復号部の機能構成の一例を示す図である。
【０１８６】
受信部１５１１は、仮想デスクトップサーバ１１０よりフレームごとの符号化ストリームを受信し、受信した符号化ストリームを変更領域取得部１５１２に通知する。
【０１８７】
変更領域取得部１５１２は、動画領域情報及び静止画領域情報を取得し、符号化方式取得部１５１３に通知する。
【０１８８】
符号化方式取得部１５１３は、動画領域情報を、動画領域切り出し部１５３２に通知する。また、符号化方式取得部１５１３は、静止画領域情報を、静止画領域参照画像取得部１５４１に通知する。
【０１８９】
線画復号部１５２０は、線画デコーダ１４３０を用いて、線画ストリームを復号することで、線画復号画像を生成し、クライアント画像フレームバッファ１５５０に通知する。
【０１９０】
全画面動画復号部１５３０は、動画デコーダ１４２０を用いて、動画ストリームを復号することで、全画面動画復号画像を生成し、全画面動画復号画像フレームバッファ１５３１に通知する。
【０１９１】
全画面動画復号画像フレームバッファ１５３１は、全画面動画復号部１５３０より通知された全画面動画復号画像を保持する。
【０１９２】
動画領域切り出し部１５３２は、符号化方式取得部１５１３より通知された動画領域情報に基づいて、全画面動画復号画像フレームバッファ１５３１に保持された全画面動画復号画像から、動画領域の位置の画像を切り出す。また、動画領域切り出し部１５３２は、切り出した動画領域の位置の画像を、色差変換部１５３３に通知する。
【０１９３】
色差変換部１５３３は、動画領域切り出し部１４３２より通知された動画領域の位置の画像について、色差フォーマットを変換する。具体的には、色差変換部１５３３は、色差フォーマットを、４：２：０フォーマットから、４：４：４フォーマットに変換する。
【０１９４】
また、色差変換部１５３３は、色差フォーマットを変換した、動画領域の位置の画像（動画復号画像）を、クライアント画像フレームバッファ１５５０に通知する。
【０１９５】
静止画復号部１５４０は、受信した静止画ストリームを取得する。また、静止画復号部１５４０は、静止画ストリームを静止画デコーダ１４１０を用いて復号した後、静止画領域参照画像取得部１５４１により読み出された、１フレーム前の静止画復号画像の対応する領域の画像を加算することで、静止画復号画像を生成する。静止画復号部１５４０は、生成した静止画復号画像を、クライアント画像フレームバッファ１５５０に通知する。
【０１９６】
クライアント画像フレームバッファ１５５０は、線画復号部１５２０より通知された線画復号画像と、色差変換部１５３３より通知された動画復号画像と、静止画復号部１５４０より通知された静止画復号画像とを保持する。クライアント画像フレームバッファ１５５０によって保持された線画復号画像、動画復号画像、静止画復号画像は、ユーザ端末１２０に表示される。
【０１９７】
＜復号処理の流れ＞
次に、ユーザ端末１２０による復号処理の流れについて説明する。図１６は、ユーザ端末による復号処理の流れを示すフローチャートである。
【０１９８】
アプリケーション３５０が起動することで、復号部３５１では、図１６に示す復号処理を開始する。
【０１９９】
ステップＳ１６０１において、受信部１５１１は、フレームカウンタｎに“１”を入力する。
【０２００】
ステップＳ１６０２において、受信部１５１１は、符号化ストリームを受信したか否かを判定する。
【０２０１】
ステップＳ１６０２において、符号化ストリームを受信していないと判定した場合には（ステップＳ１６０３においてＮＯの場合には）、符号化ストリームを受信するまで待機する。
【０２０２】
一方、ステップＳ１６０２において、符号化ストリームを受信したと判定した場合には（ステップＳ１６０２においてＹＥＳの場合には）、ステップＳ１６０３に進む。
【０２０３】
ステップＳ１６０３において、受信部１５１１は、最初のフレーム（ｎ＝１）であるか否かを判定する。ステップＳ１６０３において最初のフレームであると判定した場合には（ステップＳ１６０３においてＹＥＳの場合には）、ステップＳ１６０４に進む。
【０２０４】
ステップＳ１６０４において、全画面動画復号部１５３０は、動画復号処理を実行する。また、ステップＳ１６０５において、静止画復号部１５４０は、静止画復号処理を実行する。これにより、クライアント画像フレームバッファ１５５０には、最初のフレームの符号化ストリームを復号することで得られる復号画像が保持され、ユーザ端末１２０の表示装置２２５には画面画像の最初のフレームが表示される。
【０２０５】
一方、ステップＳ１６０３において最初のフレームでない（ｎ≠１）と判定した場合には（ステップＳ１６０３においてＮＯの場合には）、ステップＳ１６０６に進む。ステップＳ１６０６において、変更領域取得部１５１２は、動画領域情報と静止画領域情報を取得する。また、符号化方式取得部１５１３は、動画領域情報を動画領域切り出し部１５３２に通知し、静止画領域情報を、静止画復号部１５４０及び静止画領域参照画像取得部１５４１に通知する。
【０２０６】
ステップＳ１６０７において、全画面動画復号部１５３０は、動画ストリームを受信したか否かを判定する。ステップＳ１６０７において、動画ストリームを受信したと判定した場合には（ステップＳ１６０７においてＹＥＳの場合には）、ステップＳ１６０８に進み、動画復号処理を実行した後、ステップＳ１６０９に進む。
【０２０７】
一方、ステップＳ１６０７において、動画ストリームを受信していないと判定した場合には（ステップＳ１６０７においてＮＯの場合には）、ステップＳ１６０９に直接進む。
【０２０８】
ステップＳ１６０９において、線画復号部１５２０は、線画ストリームを受信したか否かを判定する。ステップＳ１６０９において、線画ストリームを受信したと判定した場合には（ステップＳ１６０９においてＹＥＳの場合には）、ステップＳ１６１０に進み、線画復号処理を実行し、線画復号画像を生成した後、ステップＳ１６１１に進む。
【０２０９】
一方、ステップＳ１６０９において、線画ストリームを受信していないと判定した場合には（ステップＳ１６０９においてＮＯの場合には）、直接、ステップＳ１６１１に進む。
【０２１０】
ステップＳ１６１１において、静止画復号部１５４０は、静止画ストリームを受信したか否かを判定する。ステップＳ１６１１において、静止画ストリームを受信したと判定した場合には（ステップＳ１６１１においてＹＥＳの場合には）、ステップＳ１６１２に進み、静止画復号処理を実行した後、ステップＳ１６１３に進む。
【０２１１】
一方、ステップＳ１６１１において、静止画ストリームを受信していないと判定した場合には（ステップＳ１６１１においてＮＯの場合には）、直接、ステップＳ１６１３に進む。
【０２１２】
ステップＳ１６１３において、受信部１５１１は、復号処理を終了するか否かを判定する。ステップＳ１６１３において、復号処理を終了しないと判定した場合には（ステップＳ１６１３においてＮＯの場合には）、ステップＳ１６１４に進み、フレームカウンタｎをインクリメントした後、ステップＳ１６０２に戻る。
【０２１３】
一方、ステップＳ１６１３において、復号処理を終了すると判定した場合には（ステップＳ１６１３においてＹＥＳの場合には）、復号処理を終了する。
【０２１４】
＜復号処理の各工程の詳細＞
次に、図１６に示した復号処理の各工程（ステップＳ１６０４、Ｓ１６０５、Ｓ１６０８、Ｓ１６１２）について詳細を説明する。
【０２１５】
（１）ステップＳ１６０４（動画復号処理）及びステップＳ１６０５（静止画復号処理）の詳細
はじめに、ステップＳ１６０４（動画復号処理）及びステップＳ１６０５（静止画復号処理）の詳細について説明する。図１７Ａは、復号処理の各工程の詳細を示す第１のフローチャートであり、ステップＳ１６０４（動画復号処理）の詳細を示している。図１７Ａに示すように、ステップＳ１７０１において、全画面動画復号部１５３０は、動画ストリームを復号することで、全画面動画復号画像を生成する。
【０２１６】
ステップＳ１７０２において、色差変換部１５３３は、全画面動画復号画像について、色差フォーマットを４：４：４フォーマットに変換する。
【０２１７】
ステップＳ１７０３において、色差変換部１５３３は、色差フォーマットが変換された、全画面動画復号画像を、クライアント画像フレームバッファ１５５０に書き込む。
【０２１８】
図１７Ｂは、復号処理の各工程の詳細を示す第２のフローチャートであり、ステップＳ１６０５（静止画復号処理）の詳細を示している。図１７Ｂに示すように、ステップＳ１７１１において、静止画領域参照画像取得部１５４１は、クライアント画像フレームバッファ１５５０に保持されている全画面動画復号画像を読み出す。また、静止画領域参照画像取得部１５４１は、符号化方式取得部１５１３より通知された静止画領域情報に基づいて、全画面動画復号画像から、静止画領域の画像を取得する。
【０２１９】
ステップＳ１７１２において、静止画復号部１５４０は、静止画ストリームを復号する。ステップＳ１７１３において、静止画復号部１５４０は、ステップＳ１７１１において取得した静止画領域の画像に、ステップＳ１７１２において復号された静止画ストリームを加算することで、静止画復号画像を生成する。
【０２２０】
ステップＳ１７１４において、静止画復号部１５４０は、生成した静止画復号画像を、クライアント画像フレームバッファ１５５０に書き込む。
【０２２１】
（２）ステップＳ１６０８（動画復号処理）、ステップＳ１６１２（静止画復号処理）の詳細
次に、ステップＳ１６０８（動画復号処理）、ステップＳ１６１２（静止画復号処理）の詳細について説明する。図１８Ａは、復号処理の各工程の詳細を示す第３のフローチャートであり、ステップＳ１６０８（動画復号処理）の詳細を示している。図１８Ａに示すように、ステップＳ１８０１において、全画面動画復号部１５３０は、動画デコーダ１４２０を用いて動画ストリームを復号し、全画面動画復号画像を生成する。全画面動画復号部１５３０は、生成した全画面動画復号画像を、全画面動画復号画像フレームバッファ１５３１に書き込む。
【０２２２】
ステップＳ１８０２において、動画領域切り出し部１５３２は、符号化方式取得部１５１３より通知された動画領域情報に基づいて、全画面動画復号画像から、動画領域の位置の画像を切り出す。また、色差変換部１５３３は、動画領域の位置の画像について、色差フォーマットを、４：４：４に変換し、動画復号画像を生成する。
【０２２３】
ステップＳ１８０３において、色差変換部１５３３は、生成した動画復号画像を、クライアント画像フレームバッファ１５５０に書き込む。
【０２２４】
図１８Ｂは、復号処理の各工程の詳細を示す第４のフローチャートであり、ステップＳ１６１２（静止画復号処理）の詳細を示している。図１８Ｂに示すように、ステップＳ１８１１において、静止画領域参照画像取得部１５４１は、クライアント画像フレームバッファ１５５０に保持されている、（ｎ−１）フレーム目の復号画像を読み出す。また、静止画領域参照画像取得部１５４１は、符号化方式取得部１５１３より通知された静止画領域情報に基づいて、（ｎ−１）フレーム目の復号画像から、静止画領域の画像を取得する。
【０２２５】
ステップＳ１８１２において、静止画復号部１５４０は、静止画ストリームを復号する。ステップＳ１８１３において、静止画復号部１５４０は、ステップＳ１８１１において取得した静止画領域の画像に、ステップＳ１８１２において復号された静止画ストリームを加算することで、静止画復号画像を生成する。
【０２２６】
ステップＳ１８１４において、静止画復号部１５４０は、生成した静止画復号画像を、クライアント画像フレームバッファ１５５０に書き込む。
【０２２７】
以上の説明から明らかなように、第１の実施形態において符号化部３４２は、
・取得したフレーム画像に動画領域が含まれている場合に、動画エンコーダを用いて、フレーム画像全体を動画符号化し、動画ストリームを生成する。
・取得したフレーム画像に線画領域が含まれている場合に、線画エンコーダを用いて、線画領域を線画符号化し、線画ストリームを生成する。
・取得したフレーム画像に動画領域と線画領域とが含まれている場合には、動画エンコーダを用いてフレーム画像全体を符号化する際、フレーム画像の線画領域の位置の画像を、当該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換える。
【０２２８】
これにより、符号化部３４２によれば、フレーム画像に動画領域と線画領域とが含まれている場合であっても、線画領域に対して、動画エンコーダと線画エンコーダが重複して符号化を行ってしまうといった事態を回避することできる。
【０２２９】
この結果、第１の実施形態によれば、動画領域と線画領域とが含まれるフレーム画像を符号化する際の、情報量の増加を抑制することができる。
【０２３０】
［第２の実施形態］
上記第１の実施形態では、線画領域の画像が変化するものとして（つまり、動画領域で、線画領域である場合について）説明した。しかしながら、線画領域の画像が変化しない場合もありうる（つまり、静止画領域で、線画領域である場合もありうる）。
【０２３１】
このような場合でも、当該線画領域を線画エンコーダ４３０を用いて線画符号化する際に、情報量の増加を抑制すべく、符号化部３４２の線画処理部９０２は、静止画処理部９０３と同様の機能を有していてもよい。
【０２３２】
すなわち、線画処理部９０２は、１フレーム前の線画復号画像との差分により、線画差分画像を生成し、線画エンコーダ４３０は、生成された線画差分画像を線画符号化してもよい。
【０２３３】
［その他の実施形態］
上記第１及び第２の実施形態では、符号化部３４２を仮想デスクトップサーバ１１０に適用する場合について説明した。しかしながら、符号化部３４２の適用対象は、仮想デスクトップサーバ１１０に限定されず、画面転送システムにおいて符号化処理を行う任意の情報処理装置に適用可能である。
【０２３４】
なお、開示の技術では、以下に記載する付記のような形態が考えられる。
（付記１）
取得したフレーム画像から線画領域を判定し、
判定した線画領域の位置の画像を、該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換え、
置き換え後のフレーム画像を動画符号化することで、動画符号化情報を生成し、
判定した線画領域の位置の画像を線画符号化することで、線画符号化情報を生成し、
前記動画符号化情報と前記線画符号化情報とを、復号装置に送信する、
処理をコンピュータに実行させるための符号化プログラム。
（付記２）
取得したフレーム画像に、動画領域と線画領域とが含まれる場合に、前記判定した線画領域の位置の画像を、前記線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換えることを特徴とする付記１に記載の符号化プログラム。
（付記３）
取得したフレーム画像に、線画領域が含まれない場合、取得したフレーム画像を動画符号化することで、前記動画符号化情報を生成することを特徴とする付記２に記載の符号化プログラム。
（付記４）
取得したフレーム画像に、動画領域と線画領域とが含まれる場合、前記置き換え後のフレーム画像を、前記線画領域が発生する前のフレーム画像として保持することを特徴とする付記２に記載の符号化プログラム。
（付記５）
取得したフレーム画像に、線画領域が含まれない場合、前記取得したフレーム画像を、前記線画領域が発生する前のフレーム画像として保持することを特徴とする付記３に記載の符号化プログラム。
（付記６）
取得したフレーム画像から線画領域を判定する判定部と、
判定した線画領域の位置の画像を、該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換える置き換え部と
置き換え後のフレーム画像を動画符号化することで、動画符号化情報を生成する動画処理部と、
判定した線画領域の位置の画像を線画符号化することで、線画符号化情報を生成する線画処理部と、
前記動画符号化情報と前記線画符号化情報とを、復号装置に送信する送信部と
を有することを特徴とする情報処理装置。
（付記７）
取得したフレーム画像から線画領域を判定し、
判定した線画領域の位置の画像を、該線画領域が発生する前のフレーム画像における、対応する位置の画像に置き換え、
置き換え後のフレーム画像を動画符号化することで、動画符号化情報を生成し、
判定した線画領域の位置の画像を線画符号化することで、線画符号化情報を生成し、
前記動画符号化情報と前記線画符号化情報とを、復号装置に送信する、
処理を符号化装置のコンピュータが実行し、
前記動画符号化情報と前記線画符号化情報とを受信し、
受信した前記動画符号化情報を復号することで生成した動画復号画像と、受信した前記線画符号化情報を復号することで生成した線画復号画像とを用いて、復号画像を生成し、
生成した復号画像を表示する、
処理を復号装置のコンピュータが実行する情報処理方法。
【０２３５】
なお、上記実施形態に挙げた構成等に、その他の要素との組み合わせ等、ここで示した構成に本発明が限定されるものではない。これらの点に関しては、本発明の趣旨を逸脱しない範囲で変更することが可能であり、その応用形態に応じて適切に定めることができる。
【符号の説明】
【０２３６】
１００              ：画面転送システム
１１０              ：仮想デスクトップサーバ
１２０              ：ユーザ端末
３４２              ：符号化部
３５１              ：復号部
４００              ：判定部
４１０              ：静止画エンコーダ
４２０              ：動画エンコーダ
４３０              ：線画エンコーダ
６００              ：置き換え部
９０１              ：動画処理部
９０２              ：線画処理部
９０３              ：静止画処理部
９１０              ：更新頻度判定部
９１１              ：領域判定部
９１２              ：符号化方式判定部
９２０              ：前フレーム変更画像フレームバッファ
９２１              ：線画領域記憶部
９２２              ：入力画像変更部
９２３              ：色差変換部
９２４              ：全画面動画符号化部
９２５              ：全画面動画復号部
９２６              ：全画面動画復号画像フレームバッファ
９２７              ：動画領域切り出し部
９２８              ：色差変換部
９３０              ：線画領域抽出部
９３１              ：線画符号化部
９３２              ：線画復号部
９４０              ：クライアント画像フレームバッファ
９５０              ：静止画領域抽出部
９５１              ：静止画差分算出部
９５２              ：静止画参照画像取得部
９５３              ：静止画領域符号化部
９５４              ：静止画復号部
１４１０            ：静止画デコーダ
１４２０            ：動画デコーダ
１４３０            ：線画デコーダ
１５１１            ：受信部
１５１２            ：変更領域取得部
１５１３            ：符号化方式取得部
１５２０            ：線画復号部
１５３０            ：全画面動画復号部
１５３１            ：全画面動画復号画像フレームバッファ
１５３２            ：動画領域切り出し部
１５３３            ：色差変換部
１５４０            ：静止画復号部
１５４１            ：静止画領域参照画像取得部
１５５０            ：クライアント画像フレームバッファ
【図１】
2020036286.tif 000003
【図２Ａ】
2020036286.tif 000004
【図２Ｂ】
2020036286.tif 000005
【図３Ａ】
2020036286.tif 000006
【図３Ｂ】
2020036286.tif 000007
【図４】
2020036286.tif 000008
【図５】
2020036286.tif 000009
【図６】
2020036286.tif 000010
【図７】
2020036286.tif 000011
【図８】
2020036286.tif 000012
【図９】
2020036286.tif 000013
【図１０】
2020036286.tif 000014
【図１１Ａ】
2020036286.tif 000015
【図１１Ｂ】
2020036286.tif 000016
【図１２Ａ】
2020036286.tif 000017
【図１２Ｂ】
2020036286.tif 000018
【図１３】
2020036286.tif 000019
【図１４】
2020036286.tif 000020
【図１５】
2020036286.tif 000021
【図１６】
2020036286.tif 000022
【図１７Ａ】
2020036286.tif 000023
【図１７Ｂ】
2020036286.tif 000024
【図１８Ａ】
2020036286.tif 000025
【図１８Ｂ】
2020036286.tif 000026