(57)【要約】【課題】エンコード時に利用できる画像の描画情報をエンコード前に取得し、取得した描画情報を用いてエンコード処理を実行することでコンテンツの質を落とさずにエンコード処理の処理量を低減させることが可能な画像処理装置を提供する。【解決手段】エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、取得した前記画像の描画情報をエンコード用のパラメータに変換する変換部と、前記変換部が変換した前記エンコード用のパラメータを用いて、エンコード処理を最適化して実行するエンコード処理部と、を備える、画像処理装置が提供される。【選択図】図１
2014075737.tif 000002
【特許請求の範囲】
【請求項１】
エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、取得した前記画像の描画情報をエンコード用のパラメータに変換する変換部と、
前記変換部が変換した前記エンコード用のパラメータに応じてエンコード処理の内容を変化させて実行するエンコード処理部と、
を備える、画像処理装置。
【請求項２】
前記変換部は、各フレームの画像描画領域の移動量から動きベクトルに関する情報に変換する、請求項１に記載の画像処理装置。
【請求項３】
前記変換部は、各フレームの画像描画領域で描画される画像の内容からビットレートに関する情報に変換する、請求項１に記載の画像処理装置。
【請求項４】
前記変換部が取得する前記画像の描画情報は、各フレームの画像描画領域の座標を含む、請求項１に記載の画像処理装置。
【請求項５】
前記変換部が取得する前記画像の描画情報は、各フレームでの画像描画領域の移動後の座標を含む、請求項１に記載の画像処理装置。
【請求項６】
前記変換部が取得する前記画像の描画情報は、各フレームの画像描画領域の差分を含む、請求項１に記載の画像処理装置。
【請求項７】
前記変換部が取得する前記画像の描画情報は、各フレームの画像描画領域の優先度の情報を含む、請求項１に記載の画像処理装置。
【請求項８】
前記変換部が取得する前記画像の描画情報は、各フレームの画像描画領域で描画される画像の変化の有無に関する情報を含む、請求項１に記載の画像処理装置。
【請求項９】
前記エンコード処理部は、前記変換部が変換した前記エンコード用のパラメータを用いて、処理の一部をスキップしてエンコード処理を実行する、請求項１に記載の画像処理装置。
【請求項１０】
前記エンコード処理部がエンコードしたデータを記憶する記憶部をさらに備え、
前記エンコード処理部は、前記記憶部にエンコード対象の画像がエンコードされて記憶されていれば当該画像のエンコード処理を実行せずに前記記憶部からデータを出力させる、請求項１に記載の画像処理装置。
【請求項１１】
前記エンコード処理部によるエンコード処理の契機となったユーザ操作の内容及び実行された回数が所定値より多い該ユーザ操作によって前記エンコード処理部がエンコードしたデータを記憶する記憶部をさらに備え、
前記エンコード処理部は、前記記憶部に記憶されているユーザ操作が行われた場合に、前記記憶部に当該ユーザ操作に応じたエンコード済みのデータが記憶されていればエンコード処理を実行せずに前記記憶部からデータを出力させる、請求項１に記載の画像処理装置。
【請求項１２】
エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、エンコード用のパラメータに変換する変換ステップと、
前記変換ステップで変換された前記エンコード用のパラメータに応じて、エンコード処理の内容を変化させて実行するエンコード処理ステップと、
を備える、画像処理方法。
【請求項１３】
画像をエンコードしてネットワークを通じて配信するサーバ装置と、
前記サーバ装置が配信した画像を表示する端末装置と、
を備え、
前記サーバ装置は、
エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、エンコード用のパラメータに変換する変換部と、
前記変換部が変換した前記エンコード用のパラメータに応じて、エンコード処理の内容を変化させて実行するエンコード処理部と、
を備える、画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、画像処理装置、画像処理方法及び画像処理システムに関する。
【背景技術】
【０００２】
多機能携帯電話（スマートフォン）やタブレット端末の性能は進化し、多くの端末に、動画像のデコードを行なうハードウェアデコーダが搭載されている。従って、ユーザが静止画像又は動画像（これらを総称してコンテンツとも称する）を容易に操作できるアプリケーションをサーバに用意し、クライアントに対するユーザの操作に応じてコンテンツをサーバでリアルタイムにエンコードしてクライアントに配信すれば、ユーザはコンテンツをクライアントでストレス無く楽しむことが可能になる。
【０００３】
しかし、上述したアプリケーションは、クライアントに対するユーザの操作によってクライアントで表示する画像が毎回変化するので、クライアントへコンテンツを配信する際にその都度エンコード処理を実行しなければならない。エンコード処理はサーバに負荷を掛ける要因となってしまうので、コンテンツの質を落とさずにエンコード処理の処理量を低減させることが求められる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００５−２９５２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
サーバからクライアントへコンテンツを配信する際に、サーバ負荷の軽減と高いサービス品質を維持するためには、低遅延、低コスト、ネットワーク帯域の変動に関するロバスト性の向上、サービスに許容しうる画質の保持を同時に実現する必要があるが、従来のエンコーダでは実現が困難である。
【０００６】
例えば、特許文献１では、動画像をより少ない符号量で符号化して伝送効率を高めるために、静止領域を検出すると共に静止領域に対してはフィルタ処理によって符号量を低減し、動き領域の符号量を多くすることで画質を向上させる技術が開示されている。しかし、特許文献１の技術では、静止領域を検出するために量子化された符号の逆量子化が欠かせず、コンテンツをサーバでリアルタイムにエンコードする場合にはさらなる処理量の低減が求められる。
【０００７】
そこで、本開示は、エンコード時に利用できる、画像の動きや位置の変化等の画像の描画情報をエンコード前に取得し、取得した描画情報を用いてエンコード処理を実行することでコンテンツの質を落とさずにエンコード処理の処理量を低減させることが可能な、新規かつ改良された画像処理装置、画像処理方法及び画像処理システムを提供する。
【課題を解決するための手段】
【０００８】
本開示によれば、エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、取得した前記画像の描画情報をエンコード用のパラメータに変換する変換部と、前記変換部が変換した前記エンコード用のパラメータに応じて、エンコード処理の内容を変化させて実行するエンコード処理部と、を備える、画像処理装置が提供される。
【０００９】
また本開示によれば、エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、エンコード用のパラメータに変換する変換ステップと、前記変換ステップで変換された前記エンコード用のパラメータに応じて、エンコード処理の内容を変化させて実行するエンコード処理ステップと、を備える、画像処理方法が提供される。
【００１０】
また本開示によれば、画像をエンコードしてネットワークを通じて配信するサーバ装置と、前記サーバ装置が配信した画像を表示する端末装置と、を備え、前記サーバ装置は、エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、エンコード用のパラメータに変換する変換部と、前記変換部が変換した前記エンコード用のパラメータに応じて、エンコード処理の内容を変化させて実行するエンコード処理部と、を備える、画像処理システムが提供される。
【発明の効果】
【００１１】
以上説明したように本開示によれば、本開示は、エンコード時に利用できる、画像の動きや位置の変化等の画像の描画情報をエンコード前に取得し、取得した描画情報を用いてエンコード処理を実行することでコンテンツの質を落とさずにエンコード処理の処理量を低減させることが可能な、新規かつ改良された画像処理装置、画像処理方法及び画像処理システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本開示の一実施形態に係るストリーミングシステムの全体構成を概略的に示す図である。
【図２】本開示の一実施形態に係るストリーミングシステムにおける情報の流れの例を示す図である。
【図３】本開示の一実施形態に係るストリーミングシステムのクライアントおよびサーバの機能構成を概略的に示す図である。
【図４】本開示の一実施形態におけるストリーミング処理部の機能構成を概略的に示す図である。
【図５】本開示の一実施形態に係るサーバ３００に含まれる映像エンコーダ３２５ａの機能構成例を示す説明図である。
【図６】本開示の一実施形態に係るエンコード処理部３７２の機能構成例を示す説明図である。
【図７】本開示の一実施形態に係る映像エンコーダ３２５ａの動作の説明に用いる用語の定義について示す説明図である。
【図８】本開示の一実施形態に係る映像エンコーダ３２５ａの動作の説明に用いる用語の定義について示す説明図である。
【図９】本開示の一実施形態にかかる映像エンコーダ３２５ａの動作例を示す流れ図である。
【図１０】エンコード処理部３７２におけるエンコード処理に有用なデータの説明に用いる説明図である。
【図１１】本開示の一実施形態に係る映像エンコーダ３２５ａの変形例を示す説明図である。
【図１２】情報処理装置９００のハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
＜１．本開示の一実施形態＞
［システムの全体構成例］
［エンコーダの構成例］
［エンコーダの動作例］
［エンコーダの変形例］
＜２．まとめ＞
【００１５】
＜１．本開示の一実施形態＞
［システムの全体構成例］
まず、本開示の一実施形態に係るストリーミングシステムの全体構成例について説明する。図１は、本開示の一実施形態に係るストリーミングシステムの全体構成を概略的に示す図である。ストリーミングシステム１０は、クライアント１００と、クライアント１００にストリーミングコンテンツを配信するためのサーバであるサービサー２１０、ノード２２０、およびエッジ２３０を含む。クライアント１００および各サーバは、有線または無線の各種ネットワークによって互いに接続される。サービサー２１０は、オリジナルのコンテンツ２１１を保持している。ノード２２０は、ＣＤＮ（Ｃｏｎｔｅｎｔｓ  Ｄｅｌｉｖｅｒｙ  Ｎｅｔｗｏｒｋ）を構成するノードであり、サービサー２１０が保持するオリジナルをコピーしたコンテンツ２２１を保持している。エッジ２３０は、クライアント１００と直接的にやりとりし、要求に応じてコンテンツを適宜加工してクライアント１００に提供する。このとき、エッジ２３０は、ノード２２０が保持しているコンテンツをコンテンツキャッシュ２３１として取得し、これをクライアント１００からの要求に応じて提供する。
【００１６】
図２は、本開示の一実施形態に係るストリーミングシステムにおける情報の流れの例を示す図である。コンテンツの配信に先立って、クライアント１００は、サービサー２１０のユーザ認証モジュール２１３にアクセスし、サービスにログインする。ログインに成功したクライアント１００は、エッジ２３０のセッションコントローラ２３３にアクセスし、クライアント１００のためのプロセスの開始を要求する。これに応じて、セッションコントローラ２３３はプロセス２３５を立ち上げる。プロセス２３５は、図示されるようにクライアント１００ごとに立ち上げられ、クライアント１００からの要求に応じてコンテンツ配信のための処理を実行する。従って、エッジ２３０が複数のクライアント１００にサービスを提供する場合、エッジ２３０では複数のプロセス２３５が立ち上げられうる。各プロセス２３５は、スケジューラ２３７によってスケジューリングされる。スケジューラ２３７は、セッションコントローラ２３３によって制御される。
【００１７】
一方、サービサー２１０が保持しているオリジナルのコンテンツ２１１は、ノード２２０に予めコピーされ、コンテンツ２２１として保持されている。エッジ２３０で起動されたプロセス２３５は、クライアント１００からの要求に応じて、ノード２２０で保持されているコンテンツ２２１をキャッシュとして取得し、これを適宜加工してクライアント１００に提供する。このとき、プロセス２３５は、クライアント１００からのどのような要求に応じてどのようにコンテンツを提供したかというログを記録してもよい。このログ、およびその他の情報は、プロセス２３５によってノード２２０に提供され、情報２２３として保持されてもよい。ログなどの情報２２３は、例えばサービサー２１０の付加機能２１５によって利用されうる。
【００１８】
図３は、本開示の一実施形態に係るストリーミングシステムのクライアントおよびサーバの機能構成を概略的に示す図である。なお、サーバ３００は、図１，２を参照して説明したストリーミングシステムにおいてエッジ２３０として機能するサーバである。図では、クライアント１００に配信されるストリーミングコンテンツの流れを実線で示し、ストリーミングコンテンツの再生に関する制御情報の流れを破線で示している。
【００１９】
クライアント１００は、ユーザにストリーミングコンテンツを提供する装置であり、例えば各種のパーソナルコンピュータ、タブレット端末、携帯電話（スマートフォンを含む）、メディアプレーヤ、ゲーム機などでありうる。一方、サーバ３００は、単一のサーバ装置、または有線もしくは無線の各種ネットワークによって互いに接続される複数のサーバ装置の協働によって実現される機能の集合体である。クライアント１００、およびサーバ３００を構成する各サーバ装置は、いずれも、例えば後述する情報処理装置のハードウェア構成を用いて実現されうる。図示された構成要素のうち、入力装置、出力装置、およびコンテンツデータを除く各部分は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などのプロセッサによってソフトウェア的に実現されうる。
【００２０】
クライアント１００では、入力装置１１０がユーザの操作入力を取得する。入力装置１１０は、例えばサービスへのログインやコンテンツの選択などのコンテンツ外の操作入力と、例えば静止画／動画の切替えや画像の拡大／縮小、音声の音質切替えなどのコンテンツ内の操作入力とを取得する。コンテンツ外の操作入力は、セッションコントローラ１２０によって処理される。セッションコントローラ１２０は、例えばログインに関する入力情報をサービサー２１０に送信したり、ログイン後にプロセス開始の要求をサーバ３００に送信したりする。一方、コンテンツ内の操作入力は、入力送信部１３０からサーバ３００に送信される。
【００２１】
サーバ３００では、セッションコントローラ２３３が、クライアント１００からのプロセス開始の要求に応じてプロセス２３５を立ち上げる。プロセス２３５は、クライアント１００で入力装置１１０が取得したコンテンツの選択操作によって指定されたコンテンツ２２１をノード２２０から取得し、コンテンツキャッシュ２３１として保持する。コンテンツキャッシュ２３１は、エンコードされたデータであり、サーバ３００ではデコーダ３１０がこれをデコードする。デコードされたコンテンツのデータは、ストリーム処理部／送信部３２０で処理される。
【００２２】
ここで、クライアント１００で取得されたコンテンツ内の操作入力は、入力受信部３３０によって受信され、プレーヤコントローラ３４０に提供される。プレーヤコントローラ３４０は、操作入力に従ってデコーダ３１０やストリーム処理部／送信部３２０を制御する。ストリーム処理部／送信部３２０は、この制御に従って、コンテンツのデータから映像や音声をレンダリングする。さらに、ストリーム処理部／送信部３２０は、レンダリングした映像や音声をエンコードしてクライアント１００に送信する。なお、本実施形態では、コンテンツは映像および音声を含むが、他の実施形態では、コンテンツが映像だけを含んでもよく、また音声だけを含んでもよい。
【００２３】
クライアント１００に送信されたデータは、ストリーム受信部／処理部１４０でデコードされ、映像や音声としてレンダリングされて、出力装置１５０からユーザに向けて出力される。ここで、サーバ側のストリーム処理部／送信部３２０と、クライアント側のストリーム受信部／処理部１４０とは、それぞれマネージャ３５０およびマネージャ１６０によって管理される。サーバ側のマネージャ３５０と、クライアント側のマネージャ１６０とは、必要に応じて情報を交換して協働する。
【００２４】
図４は、本開示の一実施形態におけるストリーミング処理部の機能構成を概略的に示す図である。図では、クライアント１００のストリーム受信部／処理部１４０、およびサーバ３００のストリーム処理部／送信部３２０の機能構成がそれぞれ示されている。
【００２５】
（クライアント側）
ストリーム受信部／処理部１４０は、ストリーミング受信部１４１、デコーダ１４３、フレームバッファ１４５、およびレンダラ１４７を含む。ストリーミング受信部１４１は、サーバ側のストリーミング送信部３２７から所定のプロトコルに従ってデータを受信する。図示された例ではＲＴＰ（Ｒｅａｌ−Ｔｉｍｅ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）が用いられる。この場合、ストリーミング受信部１４１は、受信したデータをデコーダ１４３に提供するとともに、データの遅延などの通信状態を検出し、ＲＴＣＰ（ＲＴＰ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）を用いてストリーミング送信部３２７に報告する。
【００２６】
一方、デコーダ１４３は、ストリーミング受信部によって提供されたデータをデコードして、映像データおよび音声データを得る。デコーダ１４３は、映像データを扱う映像デコーダ１４３ａと、音声データを扱う音声デコーダ１４３ｂとを含む。映像デコーダ１４３ａおよび音声デコーダ１４３ｂは、それぞれ複数の種類が用意されて、処理対象の映像データや音声データのフォーマットに応じて選択的に使用されてもよい。
【００２７】
デコーダ１４３で得られた映像データおよび音声データは、フレームバッファ１４５にフレーム単位で一時的に蓄積される。フレームバッファ１４５は、映像データを蓄積するフレームバッファ１４５ａと、音声データを蓄積するフレームバッファ１４５ｂとを含む。フレームバッファ１４５は、マネージャ１６０の制御に従って、所定のタイミングで各フレームの映像データおよび音声データをレンダラ１４７に入力する。
【００２８】
レンダラ１４７は、映像データをレンダリングしてディスプレイなどの出力装置に提供する映像レンダラ１４７ａと、音声データをレンダリングしてスピーカなどの出力装置に提供する音声レンダラ１４７ｂとを含む。映像レンダラ１４７ａと音声レンダラ１４７ｂとは、出力される映像と音声とのフレームを同期させる。また、レンダラ１４７は、出力したフレームのＩＤや、出力が実行された時刻などをマネージャ１６０に報告する。
【００２９】
（サーバ側）
ストリーム処理部／送信部３２０は、レンダラ３２１、フレームバッファ３２３、エンコーダ３２５、およびストリーミング送信部３２７を含む。レンダラ３２１は、デコーダ３１０によってデコードされたコンテンツのデータを素材として用いて、またプレーヤコントローラ３４０によるユーザの操作入力に基づく制御に従って、映像データおよび音声データをレンダリングする。ここで、映像データおよび音声データについてフレームが定義される。
【００３０】
レンダラ３２１でレンダリングされた映像データおよび音声データは、フレームバッファ３２３にフレーム単位で一時的に蓄積される。フレームバッファ３２３は、映像データを蓄積するフレームバッファ３２３ａと、音声データを蓄積するフレームバッファ３２３ｂとを含む。フレームバッファ３２３に蓄積された映像データおよび音声データは、順次エンコーダ３２５によってエンコードされる。
【００３１】
エンコーダ３２５は、映像データを扱う映像エンコーダ３２５ａと、音声データを扱う音声エンコーダ３２５ｂとを含む。映像エンコーダ３２５ａおよび音声エンコーダ３２５ｂは、それぞれ複数の種類が用意されて、クライアント１００で使用可能な映像デコーダ１４３ａおよび音声デコーダ１４３ｂの種類、または処理対象の映像データや音声データの特性に応じて選択的に使用されてもよい。エンコードされた映像データおよび音声データは、ストリーミング送信部３２７からクライアント１００に送信される。
【００３２】
以上で説明したような本実施形態に係るストリーミングシステムの構成によれば、エッジとして機能するサーバにおいてユーザの操作入力に応じて映像や音声をレンダリングし、それをリアルタイムでクライアントに配信することが可能である。従って、例えば特開２０１０−１１７８２８号公報に記載された画像を自由に拡大／縮小したり移動したりするアプリケーションや、サイズの大きな画像や映像の閲覧、オンラインゲーム、シミュレーションビューアなどのさまざまなアプリケーションを、ユーザの操作入力に対する応答性を確保しつつストリーミングによって提供することができる。
【００３３】
以上、図１〜図４を用いて、本開示の一実施形態に係るストリーミングシステムの全体構成例、情報の流れの例、クライアントおよびサーバの機能構成例、ストリーミング処理部の機能構成例について説明した。次に、本開示の一実施形態に係るエンコーダの機能構成例について詳細に説明する。
【００３４】
［エンコーダの構成例］
図５は、本開示の一実施形態に係るサーバ３００に含まれるエンコーダ３２５、特に映像エンコーダ３２５ａの機能構成例を示す説明図である。以下、図５を用いて本開示の一実施形態に係るサーバ３００に含まれる映像エンコーダ３２５ａの機能構成例について説明する。
【００３５】
図５に示したように、本開示の一実施形態に係るサーバ３００に含まれる映像エンコーダ３２５ａは、変換部３７１と、エンコード処理部３７２と、を含んで構成される。
【００３６】
変換部３７１は、レンダラ３２１から、フレームバッファ３２３を介して送られてくるレンダラ情報を、後段のエンコード処理部３７２におけるエンコード処理に用いるパラメータ（エンコードパラメータ）に変換する。ここで、レンダラ３２１から送られてくるレンダラ情報は、エンコード処理部３７２におけるエンコード処理に有用なデータが含まれる。つまり、レンダラ３２１は、オーサリング時や描画時に、映像エンコーダ３２５ａで利用できる情報を生成し、その情報を映像エンコーダ３２５ａへ出力する。
【００３７】
エンコード処理部３７２におけるエンコード処理に有用なデータとは、例えば、エンコード処理部３７２によるエンコード処理を軽減させることができるデータである。変換部３７１は、各フレームの画像描画領域の移動量から動きベクトルに関する情報に変換したり、各フレームの画像描画領域で描画される画像の内容からビットレートに関する情報に変換したりする。また、変換部３７１は、レンダラ３２１から送られてくる情報から、エンコード処理においてスキップ可能な処理があるかどうかを判断することができる。
【００３８】
エンコード処理部３７２は、変換部３７１が出力したエンコードパラメータを用いて、レンダラ３２１から、フレームバッファ３２３を介して送られてくる映像データのエンコード処理を実行し、エンコード後のデータをストリームとして出力する。なおエンコード処理部３７２には、レンダラ３２１から映像データの原画の他に、エンコード処理の基本となるエンコード設定（基本エンコード設定）の情報が供給される。エンコード処理部３７２は、供給される基本エンコード設定に基づいて、レンダラ３２１から送られてくる映像データのエンコード処理を実行する。
【００３９】
ここで、エンコード処理部３７２は、変換部３７１が出力したエンコードパラメータを用いることでエンコード処理を軽減させることが可能になる。例えば、変換部３７１が、各フレームの画像描画領域の移動量から動きベクトルに関する情報に変換することで、処理が重くなる原因となる動きベクトルの計算をエンコード処理部３７２に行わせなくて済む。また例えば、変換部３７１が、各フレームの画像描画領域で描画される画像の内容からビットレートに関する情報に変換することで、エンコード処理部３７２は、動きが激しかったり文字が目立ったりする映像の場合はビットレートを多く割り当て、動きが少ない映像の場合はビットレートを少なく割り当てることができる。
【００４０】
本開示の一実施形態に係るサーバ３００に含まれる映像エンコーダ３２５ａは、レンダラ情報を、エンコード処理に先立って、エンコード処理に有用なデータ（エンコードパラメータ）に変換することで、コンテンツの質を落とさずにエンコード処理の処理量を低減させることができる。
【００４１】
以上、図５を用いて本開示の一実施形態に係るサーバ３００に含まれる映像エンコーダ３２５ａの機能構成例について説明した。次に、図５に示した本開示の一実施形態に係るエンコード処理部３７２の機能構成例について説明する。
【００４２】
図６は、本開示の一実施形態に係るエンコード処理部３７２の機能構成例を示す説明図である。以下、図６を用いて、本開示の一実施形態に係るエンコード処理部３７２の機能構成例について説明する。
【００４３】
図６に示したように、本開示の一実施形態に係るエンコード処理部３７２は、ソース解析部３８１と、インターモード決定部３８２と、イントラモード決定部３８３と、符号化部３８４と、ビット生成部３８５と、を含んで構成される。
【００４４】
ソース解析部３８１は、レンダラ３２１からフレームバッファ３２３を介して送られてくる映像データと、変換部３７１から供給されるエンコードパラメータとを用いて映像データを解析し、エンコードモードを決定する。本実施形態におけるエンコードモードの定義については後に詳述する。ソース解析部３８１は、エンコードモードの決定に加え、変換部３７１から供給されるエンコードパラメータを用いてレートコントロールを行なう。
【００４５】
インターモード決定部３８２は、前後のフレームを用いたインター符号化（フレーム間予測）を行なうかどうかを決定する。従って、インターモード決定部３８２は、インター符号化のために動きベクトル探索（ＭＥ：Ｍｏｔｉｏｎ  Ｅｓｔｉｍａｔｉｏｎ）を実行する。イントラモード決定部３８３は、１つのフレームによるイントラ符号化を行なうかどうかを決定する。
【００４６】
符号化部３８４は、インター符号化またはイントラ符号化による、映像データの符号化を実行する。符号化部３８４は、映像データに対してＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ；離散コサイン変換）、量子化、エントロピー符号化等を実行する。ビット生成部３８５は、クライアント１００へストリームとして出力するためのビットストリームを生成する。
【００４７】
図６に示した本開示の一実施形態に係るエンコード処理部３７２は、ソース解析部３８１による解析結果に応じて、どのブロックの処理を実行し、どのブロックの処理をスキップ、または簡略化するかを決定することができる。エンコード処理部３７２の処理については、後に詳述する。
【００４８】
なお、図５及び図６に示した機能構成例では、エンコードパラメータを出力する変換部３７１と、映像データ及びエンコードパラメータを解析してエンコードモードを決定するソース解析部３８１とを別々にしていたが、本開示は係る例に限定されるものではない。つまり、変換部３７１の機能と、ソース解析部３８１の機能とを１つにまとめた機能ブロックが設けられていても良い。
【００４９】
以上、図６を用いて、本開示の一実施形態に係るエンコード処理部３７２の機能構成例について説明した。
【００５０】
［エンコーダの動作例］
次に、本開示の一実施形態に係る映像エンコーダ３２５ａの動作について詳細に説明するが、動作の説明に先立って、説明に用いる用語の定義について説明する。
【００５１】
（用語の定義）
図７及び図８は、本開示の一実施形態に係る映像エンコーダ３２５ａの動作の説明に用いる用語の定義について示す説明図である。破線で示した符号Ｓの領域はスクリーンと称し、クライアント１００で映像が表示可能な領域の範囲を示す。スクリーンＳの縦横のサイズは有限であり、スクリーンＳの縦横のサイズは、クライアント１００のユーザプロファイル次第で決定される。
【００５２】
実線で示した符号Ｗの領域はウインドウと称し、スクリーンＳの内側または外側に位置して、詳細な情報が存在する領域である。ウインドウＷに表示される情報は、レンダラ３２１で生成される。ウインドウＷの形状は正方形または長方形であるとし、スクリーンＳの内側または外側に任意の数だけ存在することができる。またウインドウＷは、重なっていてもよい。図８は、３つのウインドウＷ１、Ｗ２、Ｗ３がＺ軸方向（スクリーンＳの手前側の方向）に重なっている状態を示す説明図である。本実施形態では、ウインドウの重なりのことをレイヤと称する。ウインドウが重なっているとそれぞれのウインドウにレイヤ番号が付される。レイヤ番号が小さいウインドウほど奥側に、大きいウインドウほど手前側に位置するように、それぞれのウインドウにレイヤ番号が付される。
【００５３】
また、以下の説明において、「現フレーム」とは特定の時刻Ｔｎにおけるスクリーンのことを言い、「前フレーム」とは現フレームの直前のフレーム、つまり、特定の時刻Ｔｎ−１におけるスクリーンのことをいう。
【００５４】
次に、本開示の一実施形態に係るエンコード処理部３７２のエンコードモードを以下のように定義する。
【００５５】
（Ａ）ｓｋｉｐモード
このｓｋｉｐモードは、動きベクトル探索（ＭＥ）、インターモード決定、イントラモード決定、符号化処理を省略するモードである。エンコード処理部３７２は、動きに変化がない時に、このｓｋｉｐモードを使用する。なお、符号化処理にはＤＣＴ、量子化、エントロピー符号化が含まれる。
【００５６】
（Ｂ）ｉｎｔｅｒモード
このｉｎｔｅｒモードは、動きベクトル探索（ＭＥ）、インターモード決定、イントラモード決定を省略するモードである。エンコード処理部３７２は、映像が一定間隔で動くような場合に、このｉｎｔｅｒモードを使用する。
【００５７】
（Ｃ）ｉｎｔｒａモード
このｉｎｔｒａモードは、動きベクトル探索（ＭＥ）、インターモード決定を省略するモードである。エンコード処理部３７２は、新規ウインドウ領域や、移動等によって急に出現した領域、このｉｎｔｒａモードを使用する。
【００５８】
（Ｄ）ベクトルサーチ範囲限定モード
このベクトルサーチ範囲限定モードは、動きベクトル探索（ＭＥ）のサーチ範囲を狭めるモードである。エンコード処理部３７２は、映像が一定間隔で動いたり、映像の動く範囲が狭かったりするような場合に、このベクトルサーチ範囲限定モードを使用する。
【００５９】
（Ｅ）通常モード
この通常モードは、動きベクトル探索（ＭＥ）、インターモード決定、イントラモード決定、符号化処理を省略せずに符号化処理を実行するモードである。
【００６０】
ソース解析部３８１は、レンダラ３２１からフレームバッファ３２３を介して送られてくる映像データと、変換部３７１から供給されるエンコードパラメータとを用いて映像データを解析し、この５つのエンコードモードの中から１つのエンコードモード、フレームごとに、または各フレームにおけるマクロブロックごとに選択する。
【００６１】
以上、本開示の一実施形態に係る映像エンコーダ３２５ａの動作の説明に用いる用語の定義について説明した。次に、これら定義した用語を用いて、本開示の一実施形態に係る映像エンコーダ３２５ａの動作について説明する。
【００６２】
図９は、本開示の一実施形態にかかる映像エンコーダ３２５ａの動作例を示す流れ図である。以下、図９を用いて本開示の一実施形態にかかる映像エンコーダ３２５ａの動作例について説明する。
【００６３】
映像エンコーダ３２５ａは、レンダラ３２１からフレームバッファ３２３を介して送られてくるレンダラ情報を取得する（ステップＳ１０１）。映像エンコーダ３２５ａは、ステップＳ１０１でレンダラ情報を取得すると、変換部３７１で、そのレンダラ情報をエンコードパラメータ）に変換する（ステップＳ１０２）。
【００６４】
ここで、改めてエンコード処理部３７２におけるエンコード処理に有用なデータの例を説明する。また、説明に際して、図１０も併せて用いる。図１０は、エンコード処理部３７２におけるエンコード処理に有用なデータの説明に用いる説明図である。エンコード処理部３７２におけるエンコード処理に有用なデータとしては、例えば、図１０に示した現フレームにおけるウインドウＷｔ２の位置座標、現フレームにおける前フレームのウインドウＷｔ１の、移動後（移動や拡縮や回転後）のウインドウＷｔ１’の最終位置座標、現フレームにおいて前フレームのウインドウの座標がどう変わったかを示す差分（つまりウインドウＷｔ１とウインドウＷｔ１’との差分）等がある。
【００６５】
エンコード処理部３７２におけるエンコード処理に有用なデータは、この他にも、例えば各ウインドウの透明度、各ウインドウのレイヤ情報、各ウインドウが新規かどうかを判断するフラグ、各ウインドウの優先度合い、各ウインドウの中身、各ウインドウの中身に変化があるかどうかを判断する値等がある。
【００６６】
ウインドウの透明度は、例えば０から１の間で設定可能であるものとし、０が透明であり、１が非透明であるとする。各ウインドウのレイヤ情報は、ウインドウがどれぐらい重なっているかを示す情報である。例えば、図８のようにウインドウが３つ重なっていれば、各ウインドウのレイヤ番号をレイヤ情報とする。
【００６７】
各ウインドウが新規かどうかを判断するフラグは、例えば、値が１であればそのウインドウは新規に出現したウインドウであるものとする。また各ウインドウの優先度合いは、綺麗に表示させたいウインドウかどうかを示す情報であり、例えば優先して綺麗に表示させたいウインドウは、エンコード処理部３７２でビットレートを上げて画質を上げてエンコードさせるようにするための情報である。
【００６８】
また各ウインドウの中身の情報は、例えばそのウインドウが静止画像を表示するウインドウなのか、動画像を表示するウインドウなのか、文字情報を表示するウインドウなのか、等を区別するための情報である。また各ウインドウの中身に変化があるかどうかを判断する値は、例えば動きは変わらないけど色彩が変化するかどうかを示す情報であり、値の大小によって各ウインドウの中身の変化の大きさが判断できる情報である。
【００６９】
なお、各ウインドウの位置座標は、ウインドウの四隅のｘ座標、ｙ座標である。なお四隅の位置関係を規定しておけば、ウインドウの回転方向が判断可能となる。
【００７０】
変換部３７１は、これらのエンコード処理に有用なデータをエンコードパラメータに変換する。例えば、図１０に示したウインドウＷｔ２の位置座標と、ウインドウＷｔ１’の最終位置座標とを引いた領域は新規の領域と判断可能なので、変換部３７１は、その新規の領域はｉｎｔｒａモードでエンコード処理部３７２にエンコードさせるようなエンコードパラメータを生成する。
【００７１】
また、現フレームにおいて前フレームのウインドウの座標がどう変わったかを示す差分（つまりウインドウＷｔ１とウインドウＷｔ１’との差分）の座標は、そのまま動きベクトルとみなすことが可能なので、変換部３７１は、差分の座標から動きベクトル情報を生成する。
【００７２】
また、ウインドウの透明度の情報と、ウインドウのレイヤ情報との組み合わせで、ウインドウが重なっている領域の中身が判断可能となる。例えば、ウインドウの透明度の情報から、ウインドウが透明ではない場合は、一番上のレイヤの中身がそのウインドウ領域の中身となる。また例えば、ウインドウの透明度の情報から、ウインドウが半透明の場合は、一番上のレイヤが静止画であれ動画であれ、下のレイヤが見えるので、毎フレームウインドウの中身が変わる。つまり、ウインドウが半透明の場合はそのウインドウは動画と同じ意味を持つことになる。
【００７３】
また、新規かどうかを判断するフラグが立っているウインドウの場合、そのウインドウは新規の領域なので、エンコード処理部３７２で動きベクトル探索（ＭＥ）を計算しても意味がない。従って、変換部３７１は、その新規かどうかを判断するフラグが立っているウインドウの部分をｉｎｔｒａモードでエンコード処理部３７２にエンコードさせるようなエンコードパラメータを生成する。
【００７４】
また、ウインドウの優先度合いの値が大きいと、そのウインドウ領域を保護したいという意味になるので、変換部３７１は、エンコード処理部３７２でのレートコントロールでそのウインドウ領域にビットレートをより割り当てるようにするようなエンコードパラメータを生成する。
【００７５】
また、各ウインドウの中身の情報の値で、各ウインドウで表示されるコンテンツの中身が分かる。もしも文字情報を表示するウインドウであるならば、文字情報は視覚特性上目立ちやすいので、変換部３７１は、エンコード処理部３７２でのレートコントロールでそのウインドウ領域にビットレートをより割り当てるようにするようなエンコードパラメータを生成する。
【００７６】
また、各ウインドウの中身に変化があるかどうかを判断する値が小さければ、そのウインドウはほとんど変化がないので静止画と同じ意味になり、値が大きければ、そのウインドウは動画と同じ意味になる。従って変換部３７１は、各ウインドウの中身に変化があるかどうかを判断する値に応じて、当該ウインドウに対して適切なエンコードモードを設定することができる。
【００７７】
なお、上述の処理はあくまで一例であり、変換部３７１は、上述した例以外にも様々な知見で適切なエンコードモードや量子化値、ベクトル値等を設定してもよいことは言うまでもない。
【００７８】
上記ステップＳ１０２において、変換部３７１が、レンダラ情報をエンコードパラメータに変換すると、エンコード処理部３７２は、変換部３７１が生成したエンコードパラメータに従い、レンダラ３２１から供給される動画データをエンコードする（ステップＳ１０３）。動画データのエンコードに際しては、エンコード処理部３７２は、ソース解析部３８１でエンコードパラメータを解析し、どの処理がスキップ可能かを判断する。
【００７９】
例えば、変換部３７１によってエンコードモードがｓｋｉｐモードに設定された場合、そのエンコードモードは動きのない時に選択されるモードなので、現フレームのエンコードの際には基本的に前フレームのコピーで良い。従って、エンコード処理部３７２は、エンコード処理のうち、動きベクトル探索（ＭＥ）、インターモード決定、イントラモード決定、符号化処理が省略可能であり、エンコード時の計算量を大幅に削減することができる。またエンコード処理部３７２は、ｓｋｉｐモードの場合は符号化処理もスキップすることができるので、クライアント１００へ送信するパケットの量も削減することができる。
【００８０】
また例えば、変換部３７１によってエンコードモードがｉｎｔｅｒモードに設定された場合、エンコード処理部３７２は、エンコード処理のうち、動きベクトル探索（ＭＥ）、インターモード決定、イントラモード決定が省略可能であり、エンコード時の計算量を大幅に削減することができる。
【００８１】
また例えば、変換部３７１によってエンコードモードがｉｎｔｒａモードに設定された場合、このモードは新規に出現した領域で選択されるモードなので、前のフレームを見ても参照すべき領域がない。従ってエンコード処理部３７２は、エンコード処理のうち、エンコード処理のうち、動きベクトル探索（ＭＥ）、インターモード決定が省略可能であり、エンコード時の計算量を大幅に削減することができる。
【００８２】
また例えば、変換部３７１によってエンコードモードがベクトルサーチ範囲限定モードに設定された場合、エンコード処理部３７２は、ウインドウ位置の差分座標から得られた動きベクトルを利用することで、動きベクトル探索時の動きベクトルの算出演算量を省略又は簡略化することが可能になり、エンコード時の計算量を削減することができる。
【００８３】
また例えば、優先度モードが高い値に設定されるウインドウが存在する場合、エンコード処理部３７２は、ユーザが特に画質を気にしている領域を予め認識することが可能となり、その領域により多くのビットをソース解析部３８１で割り当てることができる。従って、エンコード処理部３７２は、ユーザの意向を考慮したエンコード処理が可能となる。 
【００８４】
また例えば、コンテンツの中身が文字であるウインドウが存在する場合、そのウインドウは視覚特性上目立ちやすいので、エンコード処理部３７２は、ソース解析部３８１でのレートコントロールでより多くのビットレートをそのウインドウに割り当てるようにする。
【００８５】
エンコード処理部３７２は、ソース解析部３８１でエンコードパラメータを解析すると、解析結果に基づいてエンコード処理を実行する。
【００８６】
なお、エンコード処理部３７２によるエンコード処理は係る例に限定されない。例えば、ユーザの操作速度が一定になるように、サーバ３００が提供するアプリケーションで制限をかけることで、動きベクトルが同じ値になり、エンコード処理部３７２での符号化効率が向上する。また例えば、マクロブロックの境界をコンテンツがまたがらないようにサーバ３００が提供するアプリケーションで制限をかけることで、マクロブロック内のエンコードモードを統一させる事が可能となり、エンコード処理部３７２での符号化効率が向上する。
【００８７】
また例えば、エンコード処理部３７２は、エンコードパラメータによって未来の画の情報を予め認識することで、より最適なビットレート割り当てを実現できる。例えば、画像の拡大操作が２秒後に終わり、その後静止するというような未来の画の情報がレンダラ３２１から送られると、エンコード処理部３７２は、画の拡大から停止の際に最適なビットレートを割り当てることができ、静止時の画質変化の均一化が可能となる。
【００８８】
以上、図９を用いて本開示の一実施形態にかかる映像エンコーダ３２５ａの動作例について説明した。以上説明したように動作することで、本開示の一実施形態にかかる映像エンコーダ３２５ａは、エンコードしようとする映像によっては処理負荷を軽減させたり、パケット量を削減したりすることができる。
【００８９】
従来のエンコーダは、画像を一旦量子化した後に逆量子化や逆離散コサイン変換して元のフレーム画像に戻し、次フレームの画像との間で動き検出を行なって、静止画像か動画像かの判断を行なったり、動き補償を行なったりしていた。従って、従来のエンコーダは動き検出や動き補償の処理に非常に負荷がかかっていた。
【００９０】
これに対して、本開示の一実施形態に係る映像エンコーダ３２５ａは、レンダラ３２１から予めどのようなコンテンツであるか、また映像がどのように変化するか等の情報が提供されるので、本開示の一実施形態に係る映像エンコーダ３２５ａは、この情報を用いることで、逆量子化や逆離散コサイン変換だけでなく、場合によっては量子化処理や符号化処理もスキップさせることができるので、処理負荷を大きく軽減させることが可能になる。
【００９１】
［変形例］
次に、本開示の一実施形態に係る映像エンコーダ３２５ａの変形例について説明する。上述した本開示の一実施形態に係るストリーミングシステムは、複数のクライアント１００がサービサー２１０からコンテンツの配信を受ける。そして、サービサー２１０から同一のコンテンツが異なるクライアント１００に配信される場合もある。コンテンツによっては、クライアント１００のユーザの操作がある程度限定されるものもあり、そのようなコンテンツには例えばメニュー画面などがある。
【００９２】
そこで、サーバ側で似たようなユーザ操作の統計をとり、統計上で上位の操作に関しては、映像エンコーダ３２５ａでエンコードして得られるストリームを予めキャッシュしておく。最初のユーザには恩恵はないが、その後、同一の操作によってコンテンツの配信を受けるユーザに関してはサーバ側で保持していたストリームを繋ぎ合わせる操作だけで済み、エンコードそのものの計算量を削減する事が可能となる。
【００９３】
図１１は、本開示の一実施形態に係る映像エンコーダ３２５ａの変形例を示す説明図である。図１１には、図５に示した映像エンコーダ３２５ａに、記憶部３７３が追加された構成が示されている。記憶部３７３は、エンコード処理部３７２が出力するストリームをキャッシュするためのものである。記憶部３７３にキャッシュするストリームは、統計上で上位にランクされるユーザ操作に対応するストリームである。
【００９４】
本開示の一実施形態に係る映像エンコーダ３２５ａは、統計上で上位のユーザ操作が行われたことをプレーヤコントローラ３４０等から受け取ると、記憶部３７３にキャッシュしたストリームを出力するように動作を実行する。これにより、エンコードそのものの計算量を削減する事が可能となる。
【００９５】
また、サーバ３００から配信するコンテンツにユニークなＩＤを予め割り振っておき、同じＩＤが繰り返しやって来るタイミングの情報及びそのＩＤ自体を認識することで、映像エンコーダ３２５ａは、同一のＩＤを有するコンテンツに対してはエンコード処理をスキップすることができる。すなわち映像エンコーダ３２５ａは、最初は通常通りエンコード処理を実行し、ストリームを記憶部３７３にキャッシュしておく。そして同一のＩＤを有するコンテンツが再度供給されると、映像エンコーダ３２５ａは、記憶部３７３にキャッシュ済みのストリームを繋ぎ合わせて出力する。これにより映像エンコーダ３２５ａは、エンコードそのものの計算量を削減する事が可能となる。
【００９６】
なお、映像エンコーダ３２５ａは、ストリームそのものを記憶部３７３にキャッシュするのではなく、符号化の前の状態を記憶部３７３にキャッシュするようにしてもよい。
【００９７】
次に、本開示の一実施形態に係るサーバ３００のハードウェア構成例を説明する。図１２は、情報処理装置９００のハードウェア構成例を示す説明図であり、情報処理装置９００は、本開示の一実施形態に係るサーバ３００の一例である。
【００９８】
情報処理装置９００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）９０１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９０３、およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９０５を含む。また、情報処理装置９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。情報処理装置９００は、ＣＰＵ９０１に代えて、またはＣＰＵ９０１と共に、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）などの処理回路を有してもよい。
【００９９】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０１００】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりする。
【０１０１】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、ＰＤＰ（Ｐｌａｓｍａ  Ｄｉｓｐｌａｙ  Ｐａｎｅｌ）、有機ＥＬ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、情報処理装置９００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【０１０２】
ストレージ装置９１９は、情報処理装置９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１０３】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【０１０４】
接続ポート９２３は、機器を情報処理装置９００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置９００と外部接続機器９２９との間で各種のデータが交換されうる。
【０１０５】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【０１０６】
以上、情報処理装置９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【０１０７】
＜２．まとめ＞
以上説明したように、本開示の一実施形態によれば、レンダラ３２１が出力するレンダラ情報を、映像エンコーダ３２５ａでのエンコード処理に先立って、エンコード処理にとって有益なデータからエンコードパラメータに変換しておき、そのデータを用いてエンコード処理を最適化する映像エンコーダ３２５ａが提供される。映像エンコーダ３２５ａは、エンコードパラメータを参照し、エンコード処理の内、省略できるものがあれば省略する。
【０１０８】
これにより、映像エンコーダ３２５ａは、逆量子化や逆離散コサイン変換だけでなく、場合によっては量子化処理や符号化処理もスキップさせることができるので、処理負荷を大きく軽減させることが可能になる。また映像エンコーダ３２５ａは、コンテンツの質を落とさずにエンコード処理の処理量を低減させることが可能となり、サーバからクライアントへコンテンツを配信する際に、サーバ負荷の軽減と高いサービス品質を維持するために必要な、低遅延、低コスト、ネットワーク帯域の変動に関するロバスト性の向上、サービスに許容しうる画質の保持を同時に実現することができる。
【０１０９】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示はかかる例に限定されない。本開示の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【０１１０】
なお、本技術は以下のような構成も取ることができる。
（１）
エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、取得した前記画像の描画情報をエンコード用のパラメータに変換する変換部と、
前記変換部が変換した前記エンコード用のパラメータに応じて、エンコード処理の内容を変化させて実行するエンコード処理部と、
を備える、画像処理装置。
（２）
前記変換部は、各フレームの画像描画領域の移動量から動きベクトルに関する情報に変換する、前記（１）に記載の画像処理装置。
（３）
前記変換部は、各フレームの画像描画領域で描画される画像の内容からビットレートに関する情報に変換する、前記（１）または（２）に記載の画像処理装置。
（４）
前記変換部が取得する前記画像の描画情報は、各フレームの画像描画領域の座標を含む、前記（１）〜（３）のいずれかに記載の画像処理装置。
（５）
前記変換部が取得する前記画像の描画情報は、各フレームでの画像描画領域の移動後の座標を含む、前記（１）〜（４）のいずれかに記載の画像処理装置。
（６）
前記変換部が取得する前記画像の描画情報は、各フレームの画像描画領域の差分を含む、前記（１）〜（５）のいずれかに記載の画像処理装置。
（７）
前記変換部が取得する前記画像の描画情報は、各フレームの画像描画領域の優先度の情報を含む、前記（１）〜（６）のいずれかに記載の画像処理装置。
（８）
前記変換部が取得する前記画像の描画情報は、各フレームの画像描画領域で描画される画像の変化の有無に関する情報を含む、前記（１）〜（７）のいずれかに記載の画像処理装置。
（９）
前記エンコード処理部は、前記変換部が変換した前記エンコード用のパラメータを用いて、処理の一部をスキップしてエンコード処理を実行する、前記（１）〜（８）のいずれかに記載の画像処理装置。
（１０）
前記エンコード処理部がエンコードしたデータを記憶する記憶部をさらに備え、
前記エンコード処理部は、前記記憶部にエンコード対象の画像がエンコードされて記憶されていれば当該画像のエンコード処理を実行せずに前記記憶部からデータを出力させる、前記（１）〜（１０）のいずれかに記載の画像処理装置。
（１１）
前記エンコード処理部によるエンコード処理の契機となったユーザ操作の内容及び実行された回数が所定値より多い該ユーザ操作によって前記エンコード処理部がエンコードしたデータを記憶する記憶部をさらに備え、
前記エンコード処理部は、前記記憶部に記憶されているユーザ操作が行われた場合に、前記記憶部に当該ユーザ操作に応じたエンコード済みのデータが記憶されていればエンコード処理を実行せずに前記記憶部からデータを出力させる、前記（１）〜（１０）のいずれかに記載の画像処理装置。
（１２）
エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、エンコード用のパラメータに変換する変換ステップと、
前記変換ステップで変換された前記エンコード用のパラメータに応じて、エンコード処理の内容を変化させて実行するエンコード処理ステップと、
を備える、画像処理方法。
（１３）
画像をエンコードしてネットワークを通じて配信するサーバ装置と、
前記サーバ装置が配信した画像を表示する端末装置と、
を備え、
前記サーバ装置は、
エンコード時に利用できる画像の描画情報をエンコード処理に先立って取得して、エンコード用のパラメータに変換する変換部と、
前記変換部が変換した前記エンコード用のパラメータに応じて、エンコード処理の内容を変化させて実行するエンコード処理部と、
を備える、画像処理システム。
【符号の説明】
【０１１１】
１０    ストリーミングシステム
１００    クライアント
１１０    入力装置
１２０    セッションコントローラ
１３０    入力送信部
１４０    処理部
１４１    ストリーミング受信部
１４３    デコーダ
１４３ａ    映像デコーダ
１４３ｂ    音声デコーダ
１４５、１４５ａ、１４５ｂ    フレームバッファ
１４７    レンダラ
１４７ａ    映像レンダラ
１４７ｂ    音声レンダラ
１５０    出力装置
１６０    マネージャ
２１０    サービサー
２１１    コンテンツ
２１３    ユーザ認証モジュール
２１５    付加機能
２２０    ノード
２２１    コンテンツ
２２３    情報
２３０    エッジ
２３１    コンテンツキャッシュ
２３３    セッションコントローラ
２３５    プロセス
２３７    スケジューラ
３００    サーバ
３１０    デコーダ
３２０    送信部
３２１    レンダラ
３２３、３２３ａ、３２３ｂ    フレームバッファ
３２５    エンコーダ
３２５ａ    映像エンコーダ
３２５ｂ    音声エンコーダ
３２７    ストリーミング送信部
３３０    入力受信部
３４０    プレーヤコントローラ
３５０    マネージャ
３７１    変換部
３７２    エンコード処理部
３７３    記憶部
３８１    ソース解析部
３８２    インターモード決定部
３８３    イントラモード決定部
３８４    符号化部
３８５    ビット生成部
【図１】
2014075737.tif 000003
【図２】
2014075737.tif 000004
【図３】
2014075737.tif 000005
【図４】
2014075737.tif 000006
【図５】
2014075737.tif 000007
【図６】
2014075737.tif 000008
【図７】
2014075737.tif 000009
【図８】
2014075737.tif 000010
【図９】
2014075737.tif 000011
【図１０】
2014075737.tif 000012
【図１１】
2014075737.tif 000013
【図１２】
2014075737.tif 000014