(57)【要約】【課題】リアルタイム生成されるフレーム画像に対して、シーンチェンジ時に適切なエンコード処理を実行する。【解決手段】レンダラがリアルタイム生成するフレーム画像におけるシーンチェンジの発生を検出するシーンチェンジ検出部と、上記フレーム画像のそれぞれを、他のフレーム画像を参照しない第１の方式または他のフレーム画像を参照する第２の方式のいずれかでエンコードするエンコーダを制御し、上記シーンチェンジの発生が検出された場合には該シーンチェンジ後のフレーム画像を上記第１の方式でエンコードさせるエンコーダ制御部とを含む符号化制御装置が提供される。【選択図】図５
2014054325.tif 000002
【特許請求の範囲】
【請求項１】
レンダラがリアルタイム生成するフレーム画像におけるシーンチェンジの発生を検出するシーンチェンジ検出部と、
前記フレーム画像のそれぞれを、他のフレーム画像を参照しない第１の方式または他のフレーム画像を参照する第２の方式のいずれかでエンコードするエンコーダを制御し、前記シーンチェンジの発生が検出された場合には該シーンチェンジ後のフレーム画像を前記第１の方式でエンコードさせるエンコーダ制御部と
を備える符号化制御装置。
【請求項２】
前記エンコーダ制御部は、前記エンコーダが前記シーンチェンジ後のフレーム画像を前記第１の方式でエンコードする間、前記シーンチェンジ前のフレーム画像をエンコードしたデータを代わりに出力させる、請求項１に記載の符号化制御装置。
【請求項３】
前記エンコーダ制御部は、前記シーンチェンジの発生が検出された場合に、所定のフレーム数の間、前記シーンチェンジ前のフレーム画像をエンコードしたデータを出力させる、請求項２に記載の符号化制御装置。
【請求項４】
前記エンコーダ制御部は、さらに前記レンダラを制御し、前記シーンチェンジの発生が検出された場合に、前記シーンチェンジ前のフレーム画像を前記レンダラから前記エンコーダに出力させ、前記シーンチェンジ前のフレーム画像を前記第２の方式でエンコードしたデータを出力させる、請求項２に記載の符号化制御装置。
【請求項５】
前記シーンチェンジ検出部は、前記レンダラに含まれる、請求項１に記載の符号化制御装置。
【請求項６】
前記シーンチェンジ検出部は、前記レンダラによって与えられる情報に基づいて前記シーンチェンジの発生を検出する、請求項１に記載の符号化制御装置。
【請求項７】
前記シーンチェンジ検出部は、前記レンダラによって前記シーンチェンジの前または後のフレーム画像のデータに付加された付加情報を参照することによって前記シーンチェンジの発生を検出する、請求項６に記載の符号化制御装置。
【請求項８】
前記シーンチェンジ検出部は、フレームバッファに蓄積された前記フレーム画像のデータの中から前記付加情報を有するデータを検索する、請求項７に記載の符号化制御装置。
【請求項９】
前記エンコーダから出力されるデータを、ネットワークを介してクライアント装置に送信する送信部をさらに備える、請求項１に記載の符号化制御装置。
【請求項１０】
前記クライアント装置で取得された操作入力を、前記ネットワークを介して受信する受信部をさらに備え、
前記レンダラは、前記操作入力に従って前記フレーム画像をリアルタイム生成する、請求項９に記載の符号化制御装置。
【請求項１１】
レンダラがリアルタイム生成するフレーム画像におけるシーンチェンジの発生を検出することと、
前記フレーム画像のそれぞれを、他のフレーム画像を参照しない第１の方式または他のフレーム画像を参照する第２の方式のいずれかでエンコードするエンコーダを制御し、前記シーンチェンジの発生が検出された場合には該シーンチェンジ後のフレーム画像を前記第１の方式でエンコードさせることと
を含む符号化制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、符号化制御装置および符号化制御方法に関する。
【背景技術】
【０００２】
映像のエンコードでは、フレーム間予測によって高い圧縮効率を得ることが一般的である。フレーム間予測を用いたエンコードでは、イントラフレームとインターフレームとが設定される。イントラフレームでは、フレーム画像が他のフレーム画像を参照せずに、独立してエンコードされる。一方、インターフレームでは、フレーム画像が、時間的に前または後に位置する１または複数の他のフレーム画像を参照してエンコードされる。インターフレームでは、他のフレーム画像との差分を定義することによってフレーム画像をエンコードできるため、非常に高い圧縮効率が得られる。【０００３】
一方、映像の内容に応じてエンコードの処理を変更し、限られたデータ量の中で画質を向上させる技術が提案されている。例えば、特許文献１では、フレーム画像中の複雑な絵柄の部分を予め検出し、エンコード時にその部分での量子化ステップ幅を大きくすることによって過大なデータの発生を防ぎ、フレーム画像全体としての画質を維持する技術が記載されている。かかる技術では、まずフレーム画像の内容を解析してから、その結果を利用してエンコードを実行するという、２パスのエンコード処理が実行される。【０００４】
ところが、このような技術は、例えばリアルタイムで生成されるフレーム画像を順次エンコードして送信するストリーミングには向かない。フレーム画像の生成および送信にリアルタイム性が求められる場合、処理時間が限られるために、エンコード処理は原則として１パスで実行される。それゆえ、上記のような２パスのエンコード処理を採用することは困難である。そこで、特許文献２では、映像の種類（例えば“映画”など）ごとに予めエンコード難易度を規定し、これに基づいてエンコードの際のビットレートを決定することで、１パスのエンコード処理においてエンコード処理の最適化を代替的に実現する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平４−２５７１８５号公報
【特許文献２】特開平９−２３４２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば特許文献２に記載の技術を利用しても、ストリーミングにおけるエンコード処理の最適化は十分ではなかった。例えば、連続するフレーム画像の間で画像の大部分が入れ替わるシーンチェンジが発生した場合に、シーンチェンジ後のフレーム画像がインターフレームの画像としてエンコードされると、参照されるシーンチェンジ前のフレーム画像との間で画像の大部分が差分になるために、圧縮効率が下がったり、シーンチェンジ後の画像がきれいに表示されなかったりといった好ましくない状態が生じうる。【０００７】
そこで、本開示では、リアルタイム生成されるフレーム画像について、シーンチェンジ時に適切なエンコード処理を実行することが可能な、新規かつ改良された符号化制御装置および符号化制御方法を提案する。
【課題を解決するための手段】
【０００８】
本開示によれば、レンダラがリアルタイム生成するフレーム画像におけるシーンチェンジの発生を検出するシーンチェンジ検出部と、上記フレーム画像のそれぞれを、他のフレーム画像を参照しない第１の方式または他のフレーム画像を参照する第２の方式のいずれかでエンコードするエンコーダを制御し、上記シーンチェンジの発生が検出された場合には該シーンチェンジ後のフレーム画像を上記第１の方式でエンコードさせるエンコーダ制御部とを含む符号化制御装置が提供される。【０００９】
また、本開示によれば、レンダラがリアルタイム生成するフレーム画像におけるシーンチェンジの発生を検出することと、上記フレーム画像のそれぞれを、他のフレーム画像を参照しない第１の方式または他のフレーム画像を参照する第２の方式のいずれかでエンコードするエンコーダを制御し、上記シーンチェンジの発生が検出された場合には該シーンチェンジ後のフレーム画像を上記第１の方式でエンコードさせることとを含む符号化制御方法が提供される。【００１０】
このような構成によって、リアルタイム生成されるフレーム画像においても、シーンチェンジの発生を検出し、エンコード処理にシーンチェンジの有無を反映させる方が、フレーム画像を観察するユーザの違和感を低減することができる。
【発明の効果】
【００１１】
以上説明したように本開示によれば、リアルタイム生成されるフレーム画像について、シーンチェンジ時に適切なエンコード処理を実行することができる。
【図面の簡単な説明】
【００１２】
【図１】本開示の実施形態に係るストリーミングシステムの全体構成を概略的に示す図である。
【図２】本開示の実施形態に係るストリーミングシステムにおける情報の流れの例を示す図である。
【図３】本開示の実施形態に係るストリーミングシステムのクライアントおよびサーバの機能構成を概略的に示す図である。
【図４】本開示の実施形態におけるストリーミング処理部の機能構成を概略的に示す図である。
【図５】本開示の第１の実施形態について説明するための図である。
【図６】本開示の第１の実施形態における処理の例を示すフローチャートである。
【図７】本開示の第１の実施形態の変形例について説明するための図である。
【図８】本開示の第２の実施形態について説明するための図である。
【図９】本開示の第２の実施形態の変形例について説明するための図である。
【図１０】情報処理装置のハードウェア構成を説明するためのブロック図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書および図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１４】
なお、説明は以下の順序で行うものとする。
１．ストリーミングシステムの構成
１−１．全体構成
１−２．クライアントおよびサーバの構成
１−３．ストリーミング処理部の構成
２．エンコード制御に関する構成
２−１．第１の実施形態
２−２．第２の実施形態
３．ハードウェア構成
４．補足
【００１５】
（１．ストリーミングシステムの構成）
まず、図１〜図４を参照して、本開示の実施形態が適用されるストリーミングシステムの構成について説明する。
【００１６】
（１−１．全体構成）
図１は、本開示の実施形態に係るストリーミングシステムの全体構成を概略的に示す図である。図１を参照すると、ストリーミングシステム１０は、クライアント１００と、クライアント１００にストリーミングコンテンツを配信するためのサーバ（サービサー２１０、ノード２２０、およびエッジ２３０）とを含む。クライアント１００および各サーバは、有線または無線の各種ネットワークによって互いに接続される。
【００１７】
サービサー２１０は、オリジナルのコンテンツ２１１を保持している。ノード２２０は、ＣＤＮ（Contents  Delivery  Network）を構成するノードであり、サービサー２１０が保持するオリジナルをコピーしたコンテンツ２２１を保持している。エッジ２３０は、クライアント１００と直接的にやりとりし、要求に応じてコンテンツを適宜加工してクライアント１００に提供する。このとき、エッジ２３０は、ノード２２０が保持しているコンテンツをキャッシュ２３１として取得し、これをクライアント１００からの要求に応じて提供する。
【００１８】
図２は、本開示の実施形態に係るストリーミングシステムにおける情報の流れの例を示す図である。コンテンツの配信に先立って、クライアント１００は、サービサー２１０のユーザ認証モジュール２１３にアクセスし、サービスにログインする。ログインに成功したクライアント１００は、エッジ２３０のセッションコントローラ２３３にアクセスし、クライアント１００のためのプロセスの開始を要求する。これに応じて、セッションコントローラ２３３はプロセス２３５を立ち上げる。
【００１９】
エッジ２３０では、プロセス２３５がクライアント１００ごとに立ち上げられ、各クライアント１００からの要求に応じてコンテンツ配信のための処理を実行する。従って、エッジ２３０が複数のクライアント１００にサービスを提供する場合、エッジ２３０では複数のプロセス２３５が立ち上げられうる。各プロセス２３５は、スケジューラ２３７によってスケジューリングされる。スケジューラ２３７は、セッションコントローラ２３３によって制御される。
【００２０】
一方、サービサー２１０が保持しているオリジナルのコンテンツ２１１は、ノード２２０に予めコピーされ、コンテンツ２２１として保持されている。エッジ２３０で起動されたプロセス２３５は、クライアント１００からの要求に応じて、ノード２２０で保持されているコンテンツ２２１をキャッシュとして取得し、これを適宜加工してクライアント１００に提供する。このとき、プロセス２３５は、クライアント１００からのどのような要求に応じてどのようにコンテンツを提供したかというログを記録してもよい。このログ、およびその他の情報は、プロセス２３５によってノード２２０に提供され、情報２２３として保持されてもよい。ログなどの情報２２３は、例えばサービサー２１０の付加機能２１５によって利用されうる。
【００２１】
（１−２．クライアントおよびサーバの構成）
図３は、本開示の実施形態に係るストリーミングシステムのクライアントおよびサーバの機能構成を概略的に示す図である。なお、サーバ３００は、図１，２を参照して説明したストリーミングシステムにおいてエッジ２３０として機能するサーバである。図では、クライアント１００に配信されるストリーミングコンテンツの流れを実線で示し、ストリーミングコンテンツの再生に関する制御情報の流れを破線で示している。
【００２２】
クライアント１００は、ユーザにストリーミングコンテンツを提供する装置であり、例えば各種のパーソナルコンピュータ、タブレット端末、携帯電話（スマートフォンを含む）、メディアプレーヤ、ゲーム機などでありうる。一方、サーバ３００は、単一のサーバ装置、または有線もしくは無線の各種ネットワークによって互いに接続される複数のサーバ装置の協働によって実現される機能の集合体である。クライアント１００、およびサーバ３００を構成する各サーバ装置は、いずれも、例えば後述する情報処理装置のハードウェア構成を用いて実現されうる。図示された構成要素のうち、入力装置および出力装置、およびデータ（記憶装置に記憶される）を除く各部分は、例えばＣＰＵ（Central  Processing  Unit）などのプロセッサによってソフトウェア的に実現されうる。
【００２３】
クライアント１００では、入力装置１１０がユーザの操作入力を取得する。入力装置１１０は、例えばサービスへのログインやコンテンツの選択などのコンテンツ外の操作入力と、例えば静止画／動画の切替えや画像の拡大／縮小、音声の音質切替えなどのコンテンツ内の操作入力とを取得する。コンテンツ外の操作入力は、セッションコントローラ１２０によって処理される。セッションコントローラ１２０は、例えばログインに関する入力情報をサービサー２１０に送信したり、ログイン後にプロセス開始の要求をサーバ３００に送信したりする。一方、コンテンツ内の操作入力は、入力送信部１３０からサーバ３００に送信される。
【００２４】
サーバ３００では、セッションコントローラ２３３が、クライアント１００からのプロセス開始の要求に応じてプロセス２３５を立ち上げる。プロセス２３５は、クライアント１００で入力装置１１０が取得したコンテンツの選択操作によって指定されたコンテンツ２２１を取得し、コンテンツキャッシュ２３１として保持する。コンテンツキャッシュ２３１はエンコードデータであり、サーバ３００ではデコーダ３１０がこれをデコードする。デコードされたコンテンツのデータは、ストリーム処理部／送信部３２０で処理される。
【００２５】
一方、クライアント１００で入力装置１１０が取得したコンテンツ内の操作入力は、入力受信部３３０によって受信され、プレーヤコントローラ３４０に提供される。プレーヤコントローラ３４０は、操作入力に従ってデコーダ３１０やストリーム処理部／送信部３２０を制御する。ストリーム処理部／送信部３２０は、この制御に従って、コンテンツのデータから映像や音声を生成する。さらに、ストリーム処理部／送信部３２０は、生成した映像や音声をエンコードしてクライアント１００に送信する。なお、図示された例では、コンテンツは映像および音声を含むが、他の例ではコンテンツが映像だけを含んでもよく、また音声だけを含んでもよい。
【００２６】
クライアント１００に送信されたエンコードデータは、ストリーム受信部／処理部１４０でデコードされ、映像や音声としてレンダリングされて、出力装置１５０からユーザに向けて出力される。ここで、サーバ側のストリーム処理部／送信部３２０と、クライアント側のストリーム受信部／処理部１４０とは、それぞれマネージャ３５０およびマネージャ１６０によって管理される。サーバ側のマネージャ３５０と、クライアント側のマネージャ１６０とは、必要に応じて情報を交換して協働する。
【００２７】
（１−３．ストリーミング処理部の構成）
図４は、本開示の実施形態におけるストリーミング処理部の機能構成を概略的に示す図である。図では、クライアント１００のストリーム受信部／処理部１４０、およびサーバ３００のストリーム処理部／送信部３２０の機能構成がそれぞれ示されている。
【００２８】
（クライアント側）
ストリーム受信部／処理部１４０は、ストリーム受信部１４１、デコーダ１４３、フレームバッファ１４５、およびレンダラ１４７を含む。ストリーム受信部１４１は、サーバ側のストリーム送信部３２７から所定のプロトコルに従ってデータを受信する。図示された例ではＲＴＰ（Real-Time  Transport  Protocol）が用いられる。この場合、ストリーム受信部１４１は、受信したデータをデコーダ１４３に提供するとともに、データの遅延などの通信状態を検出し、ＲＴＣＰ（RTP  Control  Protocol）を用いてストリーム送信部３２７に報告する。
【００２９】
デコーダ１４３は、ストリーム受信部１４１から提供されたデータをデコードして、映像データおよび音声データを得る。デコーダ１４３は、映像データをデコードする映像デコーダ１４３ａと、音声データをデコードする音声デコーダ１４３ｂとを含む。映像デコーダ１４３ａおよび音声デコーダ１４３ｂは、それぞれ複数の種類が用意されて、処理対象のデータのフォーマットに応じて選択的に使用されてもよい。なお、以下の説明では、デコーダ１４３ａおよびデコーダ１４３ｂの両方、またはいずれか一方を、単にデコーダ１４３と称する場合がある（いずれか一方を指す場合、扱うのが音声であるか映像であるかが明示される）。
【００３０】
フレームバッファ１４５は、デコーダ１４３で得られた映像データおよび音声データをフレーム単位で一時的に蓄積する。フレームバッファ１４５は、映像データを蓄積するフレームバッファ１４５ａと、音声データを蓄積するフレームバッファ１４５ｂとを含む。フレームバッファ１４５は、マネージャ１６０の制御に従って、所定のタイミングで各フレームの映像データおよび音声データをレンダラ１４７に提供する。なお、以下の説明では、フレームバッファ１４５ａおよびフレームバッファ１４５ｂの両方、またはいずれか一方を、単にフレームバッファ１４５と称する場合がある（いずれか一方を指す場合、扱うのが音声であるか映像であるかが明示される）。
【００３１】
レンダラ１４７は、映像データをレンダリングしてディスプレイなどの出力装置に提供する映像レンダラ１４７ａと、音声データをレンダリングしてスピーカなどの出力装置に提供する音声レンダラ１４７ｂとを含む。映像レンダラ１４７ａと音声レンダラ１４７ｂとは、出力される映像と音声とのフレームを同期させる。また、レンダラ１４７は、出力したフレームのＩＤや、出力が実行された時刻などをマネージャ１６０に報告する。なお、以下の説明では、レンダラ１４７ａおよびレンダラ１４７ｂの両方、またはいずれか一方を、単にレンダラ１４７と称する場合がある（いずれか一方を指す場合、扱うのが音声であるか映像であるかが明示される）。
【００３２】
（サーバ側）
ストリーム処理部／送信部３２０は、レンダラ３２１、フレームバッファ３２３、エンコーダ３２５、およびストリーム送信部３２７を含む。レンダラ３２１は、デコーダ３１０によってデコードされたコンテンツのデータを素材として用いて、またプレーヤコントローラ３４０によるユーザの操作入力に基づく制御に従って、映像データおよび音声データを生成する。ここで、映像データおよび音声データについてフレームが定義され、映像データは連続するフレーム画像として生成される。
【００３３】
フレームバッファ３２３は、レンダラ３２１で生成された映像データおよび音声データをフレーム単位で一時的に蓄積する。フレームバッファ３２３は、映像データを蓄積するフレームバッファ３２３ａと、音声データを蓄積するフレームバッファ３２３ｂとを含む。フレームバッファ３２３に蓄積された映像データおよび音声データは、順次エンコーダ３２５によってエンコードされる。なお、以下の説明では、フレームバッファ３２３ａおよびフレームバッファ３２３ｂの両方、またはいずれか一方を、単にフレームバッファ３２３と称する場合がある（いずれか一方を指す場合、扱うのが音声であるか映像であるかが明示される）。
【００３４】
エンコーダ３２５は、映像データをエンコードする映像エンコーダ３２５ａと、音声データをエンコードする音声エンコーダ３２５ｂとを含む。映像エンコーダ３２５ａおよび音声エンコーダ３２５ｂは、それぞれ複数の種類が用意されて、クライアント１００で使用可能な映像デコーダ１４３ａおよび音声デコーダ１４３ｂの種類、または処理対象の映像データや音声データの特性に応じて選択的に使用されてもよい。エンコードされた映像データおよび音声データは、ストリーム送信部３２７からクライアント１００に送信される。なお、以下の説明では、エンコーダ３２５ａおよびエンコーダ３２５ｂの両方、または一方を、単にエンコーダ３２５と称する場合がある（いずれか一方を指す場合、扱うのが音声であるか映像であるかが明示される）。
【００３５】
以上で説明したような本実施形態に係るストリーミングシステムの構成によれば、エッジとして機能するサーバにおいて、ユーザの操作入力に応じて映像や音声をリアルタイム生成してクライアントに配信することが可能である。従って、例えば特開２０１０−１１７８２８号公報に記載された画像を自由に拡大／縮小したり移動したりするアプリケーションや、サイズの大きな画像や映像の閲覧、オンラインゲーム、シミュレーションビューアなどのさまざまなアプリケーションを、ユーザの操作入力に対する応答性を確保しつつストリーミングによって提供することができる。
【００３６】
（２．エンコード制御に関する構成）
次に、図５〜図９を参照して、本開示の実施形態におけるエンコード制御に関する構成について説明する。エンコード制御に関する構成は、第１および第２の実施形態として説明される。
【００３７】
（２−１．第１の実施形態）
図５は、本開示の第１の実施形態について説明するための図である。本実施形態では、サーバ３００のストリーム処理部／送信部３２０において、レンダラ３２１がフレーム画像におけるシーンチェンジの発生を検出してシーンチェンジ情報をマネージャ３５０に提供し、マネージャ３５０がシーンチェンジ情報に基づいてエンコーダ３２５におけるフレーム画像のエンコードを制御する。
【００３８】
レンダラ３２１は、上述のように、クライアント１００において取得されたユーザの操作入力に従って、映像データを構成する一連のフレーム画像をリアルタイム生成する。ここで、フレーム画像では、シーンチェンジが発生する場合がある。シーンチェンジは、例えば映画におけるものを想定するとわかりやすいが、連続するフレーム画像の間で、画像の大部分が入れ替わる状態である。ここで、必ずしも画像のすべてが入れ替わるとは限らない。例えば、ストリーミングシステムによって提供されるアプリケーションにおいて、画像が操作用のＵＩ（User  Interface）や情報表示などを含む場合、そうした表示はシーンチェンジが発生しても入れ替わらない。
【００３９】
本実施形態において、レンダラ３２１は、生成するフレーム画像において発生したシーンチェンジを検出し、マネージャ３５０にシーンチェンジ情報を提供する。例えば、画像や映像を閲覧するアプリケーションであれば、閲覧する画像や映像が切り替えられた場合などにシーンチェンジが発生する。また、例えば、オンラインゲームであれば、キャラクターがワープするなどしてフィールドを瞬間的に移動した場合などにシーンチェンジが発生する。レンダラ３２１は、コンテンツのデータを素材として用いてフレーム画像を生成する主体であるため、このようなシーンチェンジの発生を比較的容易に検出することができる。
【００４０】
一方、エンコーダ３２５は、レンダラ３２１によって生成され、フレームバッファ３２３に蓄積されたフレーム画像をエンコードする。エンコーダ３２５は、エンコードにあたり、各フレームをイントラフレームまたはインターフレームのいずれかに設定する。イントラフレームでは、フレーム画像が他のフレーム画像を参照せずに独立してエンコードされる。一方、インターフレームでは、フレーム画像が他のフレーム画像を参照してエンコードされる。インターフレームのエンコード処理の方が圧縮効率が高く処理時間も短いため、大部分のフレームはインターフレームに設定される。それゆえ、大部分のフレーム画像は、時間的に前に位置する他のフレーム画像を参照してエンコードされる。
【００４１】
ところが、フレーム画像においてシーンチェンジが発生した場合、インターフレームのエンコード処理では、シーンチェンジ後のフレーム画像のエンコード時にシーンチェンジ前のフレーム画像を参照してしまう。それゆえ、特にシーンチェンジの直後にはフレーム画像がきれいに表示されず、その後のフレームでシーンチェンジ後のフレーム画像を参照してエンコードされたフレーム画像が続くにつれて徐々に表示がきれいになる。このような状態を回避するためには、予めシーンチェンジを検出してシーンチェンジ後のフレームをイントラフレームに設定すればよい。
【００４２】
そこで、本実施形態では、エンコーダ制御部として機能するマネージャ３５０が、シーンチェンジ検出部として機能するレンダラ３２１からシーンチェンジの発生を示すシーンチェンジ情報が取得された場合、当該シーンチェンジ後のフレームをインターフレームに設定するようにエンコーダ３２５を制御する。この制御を受けたエンコーダ３２５は、シーンチェンジ後のフレームをイントラフレームに設定して、フレーム画像を他のフレーム画像を参照せずにエンコードする。これによって、フレーム画像は、シーンチェンジ直後のフレームからきれいに表示される。
【００４３】
しかし、イントラフレームのエンコード処理時間がインターフレームのエンコード処理時間よりも長いため、シーンチェンジ後のフレーム画像のエンコードデータをストリーム送信部３２７に出力するタイミングになってもエンコード処理が完了していない場合がありうる。その場合、エンコーダ３２５は、シーンチェンジ後のフレーム画像のエンコードが完了するまでの間、シーンチェンジ前のフレーム画像のエンコードデータを代わりにストリーム送信部３２７に出力する。
【００４４】
なお、シーンチェンジ前のフレーム画像のエンコードデータが出力される期間は、例えば実際のシーンチェンジ後のフレーム画像のエンコード処理の進行状態に応じて動的に設定されてもよいし、イントラフレームのエンコード処理の標準的な処理時間に基づいて予め設定されていてもよい。後者の場合、エンコーダ３２５は、イントラフレームのエンコード処理時間に対応する所定のフレーム数の間、シーンチェンジ前のフレーム画像のエンコードデータをストリーム送信部３２７に出力する。
【００４５】
また、シーンチェンジ前のフレーム画像のエンコードデータを出力するにあたり、エンコーダ３２５は、前回に出力したエンコードデータのコピーを保持していて、それを引き続き出力してもよい。あるいは、マネージャ３５０の制御によって、レンダラ３２１がシーンチェンジ前のフレーム画像をエンコーダ３２５に出力し、エンコーダ３２５はこれをインターフレームの画像として再度エンコードしてストリーム送信部３２７に出力してもよい。
【００４６】
図６は、本開示の第１の実施形態における処理の例を示すフローチャートである。本実施形態では、レンダラ３２１が、生成するフレーム画像におけるシーンチェンジの発生を検出し、検出された場合にはシーンチェンジ情報をマネージャ３５０に提供する。マネージャ３５０は、このシーンチェンジ情報に基づいてシーンチェンジが発生したか否かを判定し（ステップＳ１０１）、その結果に応じてエンコーダ３２５を制御する。
【００４７】
ステップＳ１０１でシーンチェンジが発生したと判定された場合（ＹＥＳ）、マネージャ３５０はエンコーダ３２５を制御し、シーンチェンジ後のフレームをイントラフレームとしてエンコードする（ステップＳ１０３）。一方、シーンチェンジが発生したと判定されなかった場合（ＮＯ）、エンコーダ３２５はフレームをインターフレームとしてエンコードする（ステップＳ１０５）。
【００４８】
ステップＳ１０３でシーンチェンジ後のフレームをイントラフレームとしてエンコードする場合、マネージャ３５０は、当該フレームの出力タイミングでエンコードが完了しているか否かを判定する（ステップＳ１０７）。ここで、エンコードが完了していないと判定された場合（ＮＯ）、マネージャ３５０はエンコーダ３２５を制御し、シーンチェンジ前のフレーム画像のエンコードデータをストリーム送信部３２７に出力させる（ステップＳ１０９）。
【００４９】
なお、上記のステップＳ１０７の判定は、省略されてもよい。この場合、エンコーダ３２５は、例えばイントラフレームのエンコード処理の標準的な処理時間に対応する所定のフレーム数の間、自動的にシーンチェンジ前のフレーム画像のエンコードデータをストリーム送信部３２７に出力する。
【００５０】
ステップＳ１０７で、エンコードが完了したと判定された場合（ＹＥＳ）、エンコーダ３２５は、シーンチェンジ後のフレーム画像のエンコードデータをストリーム送信部３２７に出力する（ステップＳ１１１）。インターフレームとしてのエンコード（ステップＳ１０５）が完了した場合も、同様にエンコードデータがストリーム送信部３２７に出力される。
【００５１】
本開示の第１の実施形態では、以上のような処理によって、シーンチェンジ後のフレーム画像がイントラフレームの画像としてエンコードされるため、シーンチェンジの直後からきれいなフレーム画像を表示することができる。ここで、イントラフレームでのエンコード処理時間のためにシーンチェンジ後のフレーム画像の表示が元のタイミングよりもわずかに（一例としては３フレーム分、９０ｍｓｅｃ〜１００ｍｓｅｃ程度）遅延する可能性があるが、その間はシーンチェンジ前のフレーム画像を代替として表示する。画像の表示が多少遅延しても、シーンチェンジの直後からきれいなフレーム画像を表示する方が、ユーザが感じる違和感をより小さくすることができる。
【００５２】
（変形例）
図７は、本開示の第１の実施形態の変形例について説明するための図である。本変形例では、レンダラ３２１、またはエンコーダ３２５自体が、エンコーダ制御部として機能する。
【００５３】
より具体的には、レンダラ３２１は、生成されるフレーム画像におけるシーンチェンジの発生を検出した場合、エンコーダ３２５にシーンチェンジ情報を提供する。エンコーダ３２５は、このシーンチェンジ情報を取得し、シーンチェンジ後のフレームをイントラフレームとしてエンコードするように自らを制御する。
【００５４】
あるいは、レンダラ３２１は、生成されるフレーム画像におけるシーンチェンジの発生を検出した場合、エンコーダ３２５を制御し、シーンチェンジ後のフレームをイントラフレームとしてエンコードさせてもよい。
【００５５】
（２−２．第２の実施形態）
図８は、本開示の第２の実施形態について説明するための図である。本実施形態では、サーバ３００のストリーム処理部／送信部３２０において、シーンチェンジ検出部３２９がフレーム画像におけるシーンチェンジの発生を検出してシーンチェンジ情報をマネージャ３５０に提供し、マネージャ３５０がシーンチェンジ情報に基づいてエンコーダ３２５におけるフレーム画像のエンコードを制御する。
【００５６】
本実施形態において、レンダラ３２１は、生成するフレーム画像においてシーンチェンジの発生を検出した場合、シーンチェンジの前または後（後述するシーンチェンジ検出部の設定に対応していれば前後どちらでもよい）のフレーム画像のデータに、シーンチェンジの発生を示す付加情報を付加する。付加情報の形式はどのようなものでもよい。
【００５７】
シーンチェンジ検出部３２９は、フレームバッファ３２３に一時的に蓄積されたフレーム画像のデータから、上記の付加情報を有するデータを検索する。付加情報を有するデータが見つかった場合、シーンチェンジ検出部３２９は、マネージャ３５０にシーンチェンジ情報を提供する。ここで、どのフレーム画像の間でシーンチェンジが発生したかは、例えば、レンダラ３２１における付加情報の付加に関する設定情報（シーンチェンジの前後どちらのフレーム画像のデータに付加情報を付加するか）を、シーンチェンジ検出部３２９またはマネージャ３５０が共有することで特定可能である。
【００５８】
マネージャ３５０は、シーンチェンジ検出部３２９から取得したシーンチェンジ情報に基づいて、上記の第１の実施形態と同様にエンコーダ３２５によるフレーム画像のエンコードを制御する。これによって、例えば、エンコーダ３２５は、シーンチェンジ後のフレームをイントラフレームとしてエンコードする。また、エンコーダ３２５は、シーンチェンジ後のフレーム画像のエンコード処理の間、シーンチェンジ前のフレーム画像のエンコードデータを代わりに出力してもよい。
【００５９】
（変形例）
図９は、本開示の第２の実施形態の変形例について説明するための図である。本変形例では、シーンチェンジ検出部３２９、またはエンコーダ３２５自体が、エンコーダ制御部として機能する。
【００６０】
より具体的には、シーンチェンジ検出部３２９は、フレームバッファ３２３に一時的に蓄積されたフレーム画像のデータの中で、レンダラ３２１によって付加された付加情報を有するデータが見つかった場合、エンコーダ３２５にシーンチェンジ情報を提供する。エンコーダ３２５は、このシーンチェンジ情報を取得し、シーンチェンジ後のフレームをイントラフレームとしてエンコードするように自らを制御する。
【００６１】
あるいは、シーンチェンジ検出部３２９は、フレームバッファ３２３に一時的に蓄積されたフレーム画像のデータの中で、レンダラ３２１によって付加された付加情報を有するデータが見つかった場合、エンコーダ３２５を制御し、シーンチェンジ後のフレームをイントラフレームとしてエンコードさせてもよい。
【００６２】
（３．ハードウェア構成）
次に、図１０を参照して、本開示の実施形態に係る情報処理装置のハードウェア構成について説明する。図１０は、情報処理装置のハードウェア構成を説明するためのブロック図である。図示された情報処理装置９００は、例えば、上記の実施形態におけるクライアント１００およびサーバ３００を実現しうる。
【００６３】
情報処理装置９００は、ＣＰＵ（Central  Processing  unit）９０１、ＲＯＭ（Read  Only  Memory）９０３、およびＲＡＭ（Random  Access  Memory）９０５を含む。また、情報処理装置９００は、ホストバス９０７、ブリッジ９０９、外部バス９１１、インターフェース９１３、入力装置９１５、出力装置９１７、ストレージ装置９１９、ドライブ９２１、接続ポート９２３、通信装置９２５を含んでもよい。情報処理装置９００は、ＣＰＵ９０１に代えて、またはこれとともに、ＤＳＰ（Digital  Signal  Processor）などの処理回路を有してもよい。
【００６４】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置９００内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータなどを記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータなどを一次記憶する。ＣＰＵ９０１、ＲＯＭ９０３、およびＲＡＭ９０５は、ＣＰＵバスなどの内部バスにより構成されるホストバス９０７により相互に接続されている。さらに、ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Peripheral  Component  Interconnect/Interface）バスなどの外部バス９１１に接続されている。
【００６５】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなど、ユーザによって操作される装置である。入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール装置であってもよいし、情報処理装置９００の操作に対応した携帯電話などの外部接続機器９２９であってもよい。入力装置９１５は、ユーザが入力した情報に基づいて入力信号を生成してＣＰＵ９０１に出力する入力制御回路を含む。ユーザは、この入力装置９１５を操作することによって、情報処理装置９００に対して各種のデータを入力したり処理動作を指示したりする。
【００６６】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。出力装置９１７は、例えば、ＬＣＤ（Liquid  Crystal  Display）、ＰＤＰ（Plasma  Display  Panel）、有機ＥＬ（Electro-Luminescence）ディスプレイなどの表示装置、スピーカおよびヘッドホンなどの音声出力装置、ならびにプリンタ装置などでありうる。出力装置９１７は、情報処理装置９００の処理により得られた結果を、テキストまたは画像などの映像として出力したり、音声または音響などの音声として出力したりする。
【００６７】
ストレージ装置９１９は、情報処理装置９００の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Hard  Disk  Drive）などの磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイスなどにより構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【００６８】
ドライブ９２１は、磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリなどのリムーバブル記録媒体９２７のためのリーダライタであり、情報処理装置９００に内蔵、あるいは外付けされる。ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されているリムーバブル記録媒体９２７に記録を書き込む。
【００６９】
接続ポート９２３は、機器を情報処理装置９００に直接接続するためのポートである。接続ポート９２３は、例えば、ＵＳＢ（Universal  Serial  Bus）ポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ（Small  Computer  System  Interface）ポートなどでありうる。また、接続ポート９２３は、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（High-Definition  Multimedia  Interface）ポートなどであってもよい。接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置９００と外部接続機器９２９との間で各種のデータが交換されうる。
【００７０】
通信装置９２５は、例えば、通信ネットワーク９３１に接続するための通信デバイスなどで構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Local  Area  Network）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、またはＷＵＳＢ（Wireless  USB）用の通信カードなどでありうる。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Asymmetric  Digital  Subscriber  Line）用のルータ、または、各種通信用のモデムなどであってもよい。通信装置９２５は、例えば、インターネットや他の通信機器との間で、ＴＣＰ／ＩＰなどの所定のプロトコルを用いて信号などを送受信する。また、通信装置９２５に接続される通信ネットワーク９３１は、有線または無線によって接続されたネットワークであり、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信などである。
【００７１】
以上、情報処理装置９００のハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。かかる構成は、実施する時々の技術レベルに応じて適宜変更されうる。
【００７２】
（４．補足）
本開示の実施形態は、例えば、上記で説明したような符号化制御装置（例えばサーバに含まれる）、システム、符号化制御装置またはシステムで実行される方法、符号化制御装置を機能させるためのプログラム、およびプログラムが記録された記録媒体を含みうる。
【００７３】
以上、添付図面を参照しながら本開示の好適な実施形態について詳細に説明したが、本開示の技術的範囲はかかる例に限定されない。本開示の技術分野における通常の知識を有する者であれば、請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本開示の技術的範囲に属するものと了解される。
【００７４】
なお、以下のような構成も本開示の技術的範囲に属する。
（１）レンダラがリアルタイム生成するフレーム画像におけるシーンチェンジの発生を検出するシーンチェンジ検出部と、
前記フレーム画像のそれぞれを、他のフレーム画像を参照しない第１の方式または他のフレーム画像を参照する第２の方式のいずれかでエンコードするエンコーダを制御し、前記シーンチェンジの発生が検出された場合には該シーンチェンジ後のフレーム画像を前記第１の方式でエンコードさせるエンコーダ制御部と
を備える符号化制御装置。
（２）前記エンコーダ制御部は、前記エンコーダが前記シーンチェンジ後のフレーム画像を前記第１の方式でエンコードする間、前記シーンチェンジ前のフレーム画像をエンコードしたデータを代わりに出力させる、前記（１）に記載の符号化制御装置。
（３）前記エンコーダ制御部は、前記シーンチェンジの発生が検出された場合に、所定のフレーム数の間、前記シーンチェンジ前のフレーム画像をエンコードしたデータを出力させる、前記（２）に記載の符号化制御装置。
（４）前記エンコーダ制御部は、さらに前記レンダラを制御し、前記シーンチェンジの発生が検出された場合に、前記シーンチェンジ前のフレーム画像を前記レンダラから前記エンコーダに出力させ、前記シーンチェンジ前のフレーム画像を前記第２の方式でエンコードしたデータを出力させる、前記（２）または（３）に記載の符号化制御装置。
（５）前記シーンチェンジ検出部は、前記レンダラに含まれる、前記（１）〜（４）のいずれか１項に記載の符号化制御装置。
（６）前記シーンチェンジ検出部は、前記レンダラによって与えられる情報に基づいて前記シーンチェンジの発生を検出する、前記（１）〜（４）のいずれか１項に記載の符号化制御装置。
（７）前記シーンチェンジ検出部は、前記レンダラによって前記シーンチェンジの前または後のフレーム画像のデータに付加された付加情報を参照することによって前記シーンチェンジの発生を検出する、前記（６）に記載の符号化制御装置。
（８）前記シーンチェンジ検出部は、フレームバッファに蓄積された前記フレーム画像のデータの中から前記付加情報を有するデータを検索する、前記（７）に記載の符号化制御装置。
（９）前記エンコーダから出力されるデータを、ネットワークを介してクライアント装置に送信する送信部をさらに備える、前記（１）〜（８）のいずれか１項に記載の符号化制御装置。
（１０）前記クライアント装置で取得された操作入力を、前記ネットワークを介して受信する受信部をさらに備え、
前記レンダラは、前記操作入力に従って前記フレーム画像をリアルタイム生成する、前記（９）に記載の符号化制御装置。
（１１）レンダラがリアルタイム生成するフレーム画像におけるシーンチェンジの発生を検出することと、
前記フレーム画像のそれぞれを、他のフレーム画像を参照しない第１の方式または他のフレーム画像を参照する第２の方式のいずれかでエンコードするエンコーダを制御し、前記シーンチェンジの発生が検出された場合には該シーンチェンジ後のフレーム画像を前記第１の方式でエンコードさせることと
を含む符号化制御方法。
【符号の説明】
【００７５】
１０      ストリーミングシステム
１００    クライアント
１４０    ストリーム受信部／処理部
１４１    ストリーム受信部
１４３    デコーダ
１４５    フレームバッファ
１４７    レンダラ
１６０    マネージャ
２１０    サービサー
２２０    ノード
２３０    エッジ
３００    サーバ
３２０    ストリーム処理部／送信部
３２１    レンダラ
３２３    フレームバッファ
３２５    エンコーダ
３２７    ストリーム送信部
３２９    シーンチェンジ検出部
【図１】
2014054325.tif 000003
【図２】
2014054325.tif 000004
【図３】
2014054325.tif 000005
【図４】
2014054325.tif 000006
【図５】
2014054325.tif 000007
【図６】
2014054325.tif 000008
【図７】
2014054325.tif 000009
【図８】
2014054325.tif 000010
【図９】
2014054325.tif 000011
【図１０】
2014054325.tif 000012
【国際調査報告】
2014054325.tif 000013
2014054325.tif 000014