(57)【特許請求の範囲】
【請求項１】
通信部の受信した符号化画像データのデコード処理を実行するデコーダと、
前記デコーダが出力するデコード済みの画像フレームを格納するメモリと、
前記メモリに格納された画像フレームを取得して表示部に出力する表示制御部を有し、
前記メモリは、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納し、
前記表示制御部は、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択する情報処理装置。
【請求項２】
前記表示制御部は、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている画像フレームを表示部に対する出力画像として選択する請求項１に記載の情報処理装置。
【請求項３】
前記表示制御部は、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている画像フレームが複数ある場合は、前記待機時間が、バッファリングタイムを越えている最新の画像フレームを表示部に対する出力画像として選択する請求項１に記載の情報処理装置。
【請求項４】
前記メモリに先行キューとして格納された先行格納画像と、後続キューとして格納された後続格納画像がある場合、
前記表示制御部は、
各キューについて、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えているキューの中で、最新のキューに対応する画像フレームを表示部に対する出力画像として選択する請求項１に記載の情報処理装置。
【請求項５】
前記表示制御部は、
前記表示部の画像更新処理開始タイミングにおいて、前記メモリから次の表示用データを取得できない場合、表示中の画像の継続表示を実行し、装置ステートを表示更新停止状態に変更する請求項１に記載の情報処理装置。
【請求項６】
前記表示制御部は、
表示更新停止状態において、前記メモリに格納された画像フレームについて、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている場合、該画像フレームを表示部に対する出力画像として選択し、
装置ステートを表示更新実行状態に変更する請求項５に記載の情報処理装置。
【請求項７】
前記表示制御部は、
前記メモリからの表示用データ取得状況に応じて、装置ステートを表示更新実行状態から表示更新停止状態、または、表示更新停止状態から表示更新実行状態へ切り替える処理を実行する請求項１に記載の情報処理装置。
【請求項８】
前記表示制御部は、
装置ステートが表示更新停止状態にある場合、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている画像フレームを表示部に対する出力画像として選択する請求項７に記載の情報処理装置。
【請求項９】
前記表示制御部は、
装置ステートが表示更新実行状態にある場合、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較することなく、
前記待機時間が、バッファリングタイムを越えているか否かに関わらず、前記メモリから取得可能な画像フレームを表示部に対する出力画像として選択する請求項７に記載の情報処理装置。
【請求項１０】
前記メモリは、画像フレームに併せて画像フレームの送信フレームレート情報をメタデータとして格納し、
前記表示制御部は、
前記メモリから取得した画像フレームに設定された送信フレームレート情報を取得して送信フレームレートの変更の有無を判定し、変更があった場合に、表示部に対する表示レートを送信フレームレートの変更に併せて変更する請求項１に記載の情報処理装置。
【請求項１１】
前記表示制御部は、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている画像フレームをメモリから取得し、取得した画像フレームに対応するメタデータに基づいて送信フレームレートの変更を確認した場合、該取得画像から表示部に対する表示レートを送信フレームレートの変更に併せて変更する請求項１０に記載の情報処理装置。
【請求項１２】
前記表示制御部は、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、さらに、
前記メモリからの表示用データ取得状況に応じて、装置ステートを表示更新実行状態から表示更新停止状態、または、表示更新停止状態から表示更新実行状態へ切り替える処理を実行し、
装置ステートが表示更新停止状態にある場合、
前記待機時間が、バッファリングタイムを越えている画像フレームを表示部に対する出力画像として選択し、
装置ステートが表示更新実行状態にある場合、
前記待機時間が、バッファリングタイムを越えているか否かに関わらず、前記メモリから取得可能な画像フレームを表示部に対する出力画像として選択する請求項１０に記載の情報処理装置。
【請求項１３】
情報処理装置において実行する情報処理方法であり、
デコーダが、通信部の受信した符号化画像データのデコード処理を実行するデコード処理ステップと、
出力制御部が、メモリに、前記デコーダが出力するデコード済みの画像フレームを格納する画像フレーム格納ステップと、
表示制御部が、前記メモリに格納された画像フレームを取得して表示部に出力する表示制御ステップを有し、
前記画像フレーム格納ステップは、
前記メモリに、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納するステップとして実行され、
前記表示制御ステップは、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択するステップを含む情報処理方法。
【請求項１４】
情報処理装置において情報処理を実行させるプログラムであり、
デコーダに、通信部の受信した符号化画像データのデコード処理を実行させるデコード処理ステップと、
出力制御部に、メモリに対して前記デコーダが出力するデコード済みの画像フレームを格納させる画像フレーム格納ステップと、
表示制御部に、前記メモリに格納された画像フレームを取得して表示部に出力させる表示制御ステップを実行させ、
前記画像フレーム格納ステップにおいては、
前記メモリに、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納させ、
前記表示制御ステップにおいては、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、および情報処理方法、並びにプログラムに関する。さらに詳細にはサーバから受信する画像データの表示を低遅延で実行可能とした情報処理装置、および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
昨今、例えば携帯端末等のクライアントからデータ処理要求をサーバに送信し、サーバ側でデータ処理を実行して処理結果をクライアントに返し、クライアント側でテータ処理結果を得るといういわゆるクラウド型コンピューティングシステムの利用が普及しつつある。【０００３】
このクラウドシステムの一利用例として、ゲーム端末におけるゲームの実行がある。ユーザが操作するゲーム端末（クライアント）がサーバと通信を行い、サーバ側の高機能なデータ処理機能を用いてゲームの展開面等の画像データをクライアントに提供するシステムである。【０００４】
このようなクラウド型のゲームシステムでは、クライアントからサーバに対してユーザ操作情報を送信する。サーバは、クライアントから受信する操作情報に応じてゲームを展開し、更新した画像や音声データを生成してクライアントに送信する。クライアントは、サーバから受信した更新画像や音声を再生する。このような処理を行なうことで、高機能なプロセッサ等を備えないクライアントであっても、サーバ側の高機能なデータ処理機能を利用したデータ処理結果を得ることが可能となる。【０００５】
しかし、サーバとクライアント間の転送データが画像データ等、データ量の大きなデータである場合、ネットワーク状況に応じた遅延やジッタ（揺らぎ）が発生する。一般的に画像や音声データは、符号化データとして送信され、クライアントは受信した符号化データをバッファに格納し、順次、デコード（復号）して、出力することが必要となる。【０００６】
ネットワーク状況に応じたパケット遅延やジッタ（揺らぎ）が発生すると、クライアント側でのパケット受信、デコード、表示、これら一連の処理に遅れが発生し、結果としてクライアントにおけるタイムリな画像表示ができなくなる場合がある。
なお、バッファ格納データを順次、デコードして表示する処理について開示した従来技術として、例えば特許文献１（特開２００５−１５９７８７号公報）がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−１５９７８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したクラウド型システムにおいて、クライアントがサーバから受信する画像データをデコードし、表示する場合、遅延が発生する可能性があり、このような遅延は、例えばゲーム機等の場合には、ユーザ操作に対する応答性の低下として反映されてしまい、ゲームの面白みを半減させてしまう。
本開示は、例えばこのような問題に鑑みてなされたものであり、遅延を低減したデータ出力を実現する情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本開示の第１の側面は、
通信部の受信した符号化画像データのデコード処理を実行するデコーダと、
前記デコーダが出力するデコード済みの画像フレームを格納するメモリと、
前記メモリに格納された画像フレームを取得して表示部に出力する表示制御部を有し、
前記メモリは、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納し、
前記表示制御部は、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択する情報処理装置にある。【００１０】
さらに、本開示の第２の側面は、
情報処理装置において実行する情報処理方法であり、
デコーダが、通信部の受信した符号化画像データのデコード処理を実行するデコード処理ステップと、
出力制御部が、メモリに、前記デコーダが出力するデコード済みの画像フレームを格納する画像フレーム格納ステップと、
表示制御部が、前記メモリに格納された画像フレームを取得して表示部に出力する表示制御ステップを有し、
前記画像フレーム格納ステップは、
前記メモリに、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納するステップとして実行され、
前記表示制御ステップは、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択するステップを含む情報処理方法にある。【００１１】
さらに、本開示の第３の側面は、
情報処理装置において情報処理を実行させるプログラムであり、
デコーダに、通信部の受信した符号化画像データのデコード処理を実行させるデコード処理ステップと、
出力制御部に、メモリに対して前記デコーダが出力するデコード済みの画像フレームを格納させる画像フレーム格納ステップと、
表示制御部に、前記メモリに格納された画像フレームを取得して表示部に出力させる表示制御ステップを実行させ、
前記画像フレーム格納ステップにおいては、
前記メモリに、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納させ、
前記表示制御ステップにおいては、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択させるプログラムにある。【００１２】
なお、本開示のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。【００１３】
本開示のさらに他の目的、特徴や利点は、後述する本開示の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００１４】
本開示の一実施例の構成によれば、通信部を介して受信する画像データについて、遅延の少ない表示制御を可能とした装置、および方法が実現される。
具体的には、画像フレームを格納するメモリに、画像フレームと、メモリ入力時間と、送信フレームレート情報をメタデータとして格納する。表示制御部は、入力時間情報からの経過時間に基づいて表示部に対する出力画像を選択する。各キューについて、入力時間からの経過時間である待機時間と、バッファリングタイムを比較し、待機時間が、バッファリングタイムを越えているキューの中で、最新のキューに対応する画像フレームを表示部に対する出力画像として選択する。また、送信フレームレートに変更があった場合、表示部に対する表示レートを送信フレームレートの変更に併せて変更する。
本構成により、通信部を介して受信する画像データについて、遅延の少ない表示制御を可能とした装置、および方法が実現される。
なお、本明細書に記載された効果はあくまで例示であって限定されるものではなく、また付加的な効果があってもよい。
【図面の簡単な説明】
【００１５】
【図１】本開示の処理を実行する通信システムの一構成例について説明する図である。
【図２】一般的なクライアントの構成について説明する図である。
【図３】クライアントの画像表示における遅延について説明する図である。
【図４】本開示のクライアントの構成例について説明する図である。
【図５】本開示のクライアントにおける表示遅延の低減例について説明する図である。
【図６】メモリに対する画像データ格納シーケンスについて説明するフローチャートを示す図である。
【図７】メモリに対する画像データ格納シーケンスの具体例について説明する図である。
【図８】表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）における画像表示制御シーケンスについて説明するフローチャートを示す図である。
【図９】表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）における画像表示制御シーケンスの具体例について説明する図である。
【図１０】表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）における画像表示制御シーケンスの具体例について説明する図である。
【図１１】表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）における画像表示制御シーケンスについて説明するフローチャートを示す図である。
【図１２】表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）における画像表示制御シーケンスの具体例について説明する図である。
【図１３】表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）における画像表示制御シーケンスの具体例について説明する図である。
【図１４】送信フレームレート＝６０ｆｐｓの場合の画像表示制御シーケンスの具体例について説明する図である。
【図１５】送信フレームレート＝３０ｆｐｓの場合の画像表示制御シーケンスの具体例について説明する図である。
【図１６】送信フレームレートが６０ｆｐｓから３０ｆｐｓに変更される場合の画像表示制御シーケンスの具体例について説明する図である。
【図１７】送信フレームレートが６０ｆｐｓから３０ｆｐｓに変更される場合の画像表示制御シーケンスの具体例について説明する図である。
【図１８】送信フレームレートが６０ｆｐｓから３０ｆｐｓに変更される場合の画像表示制御シーケンスの具体例について説明する図である。
【図１９】送信フレームレートが３０ｆｐｓから６０ｆｐｓに変更される場合の画像表示制御シーケンスの具体例について説明する図である。
【図２０】送信フレームレートが３０ｆｐｓから６０ｆｐｓに変更される場合の画像表示制御シーケンスの具体例について説明する図である。
【図２１】送信フレームレートが３０ｆｐｓから６０ｆｐｓに変更される場合の画像表示制御シーケンスの具体例について説明する図である。
【図２２】クライアントとしての情報処理装置のハードウェア構成例について説明する図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照しながら本開示の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行なう。
１．通信システムの構成例について
２．画像データの受信、デコード、出力処理における遅延について
３．本開示の情報処理装置の構成と処理の概要について
４．本開示の情報処理装置（クライアント）の実行するデコード画像のメモリ格納シーケンスについて
５．本開示の情報処理装置（クライアント）の実行する画像表示制御処理の詳細シーケンスについて
５−１．表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）における処理について
５−２．表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）における処理について
６．サーバの画像送信フレームレート（ｆｐｓ）の切り換えに対応する処理について
６−１．送信フレームレート（ｆｐｓ）が６０ｆｐｓと３０ｆｐｓの場合にクライアントの実行する基本的な表示制御処理について
６−２．送信フレームレート（ｆｐｓ）が６０ｆｐｓから３０ｆｐｓに変更される場合のクライアントの実行する表示制御処理について
６−３．送信フレームレート（ｆｐｓ）が３０ｆｐｓから６０ｆｐｓに変更される場合のクライアントの実行する表示制御処理について
７．クライアントとしての情報処理装置の構成例について
８．本開示の構成のまとめ
【００１７】
［１．通信システムの構成例について］
まず、図１を参照して本開示の処理を実行する通信システムの一構成例について説明する。
図１に示すように、通信システム１０は、双方向通信可能なクライアント２０とサーバ３０を有する。クライアント２０とサーバ３０は例えばインターネット等のネットワークを介して通信を行う。
【００１８】
クライアント２０は、一般ユーザのユーザ端末装置であり、具体的には、例えばテレビ２１、ＰＣ２２、ゲーム機、スマホ等の携帯端末２３等によって構成される。
【００１９】
クライアント２０は、クライアント２０に対するユーザ操作情報をサーバ３０に送信する。サーバ３０は、クライアント２０から受信する操作情報に応じたデータ処理を行なう。例えばユーザがクライアント２０においてゲームを実行中である場合、ユーザ操作に応じてゲームを展開し、更新した画像や音声データを符号化したストリームデータを生成してクライアント２０に送信する。
クライアント２０は、サーバ３０から受信するストリームデータに対するデコードを実行し、デコード結果としての画像や音声をディスプレイあるいはスピーカを介して出力する。
【００２０】
［２．画像データの受信、デコード、出力処理における遅延について］
図１に示すような通信システム１０において、クライアント２０とサーバ３０間の通信データにはネットワーク状況に応じた遅延やジッタ（揺らぎ）が発生する。一般的に画像や音声データは、符号化データとして送信され、クライアント２０は受信した符号化データをバッファに格納し、順次、デコード（復号）して、出力することが必要となる。
【００２１】
パケット遅延やジッタ（揺らぎ）が発生すると、クライアント２０側でのパケット受信、デコード、表示、これら一連の処理に遅れが発生し、結果としてクライアント２０においてタイムリな画像表示ができなくなる場合がある。
【００２２】
具体的な遅延発生例について、図２、図３を参照して説明する。
図２は、一般的なクライアント２０の構成例を示す図である。
通信部５１は、サーバ３０の送信する画像符号化データや音声符号化データを含むストリームデータを受信する。
受信データはデコーダ５２において復号（デコード）される。
なお、以下では、画像データの処理について説明する。
【００２３】
復号された画像データは、画像フレーム単位で出力制御部５３のメモリ７１に格納される。
メモリ７１は、複数の画像フレームをキュー（待ち行列）として格納可能な構成を持つ。
ここでは、メモリ７１は２つの画像フレーム（図ではＦ１，Ｆ２として示す）を格納可能な構成であるとする。
表示制御部７２は、メモリ７１に対して格納されたデコード済みの画像フレームを順次、取得して表示部５４に出力する。
【００２４】
表示部５４は、例えば６０Ｈｚの垂直同期信号（Ｖｓｙｎｃ）を表示制御部７２に出力し、表示制御部７２は、この同期信号に基づいて決定するタイミングで、表示部５４に画像フレームを順次、出力して画像更新を実行する。
制御部５５は、各構成部の処理に関する全体的な制御を行う。
【００２５】
図３を参照して、デコーダ５２からメモリ７１に対する画像フレームの格納から、表示部５４に対して、デコード画像が表示されるまでの遅延時間について説明する。
【００２６】
図３は、デコーダ５２のデータ出力から表示部５４に対する画像フレームの表示処理に至るまでの時間推移に伴うシーケンスを説明する図である。
図３には、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
図３（Ｃ）には時間軸（ｔ）を示しており、（Ａ），（Ｂ），（Ｃ）は、この時間軸（ｔ）に従って行われる処理を示している。
（Ａ），（Ｂ），（Ｃ）に示すＦ１，Ｆ２，Ｆ３，Ｆ４・・・の各々は、１つの画像フレームを示している。
Ｆ１は、画像フレームＦ１、Ｆ２は画像フレームＦ２である。
【００２７】
図３（Ａ）は、デコーダ５２が通信部５１から入力した符号化画像データをデコードしてメモリ７１に出力するシーケンスを示している。
フレームＦ１，Ｆ２，Ｆ３，Ｆ４の間隔が異なるのは、ネットワーク通信におけジッタ（揺らぎ）等に起因するものである。各画像フレームの受信間隔には、ある程度バラつきが発生し、この受信間隔のバラつきに応じてデコーダ５２からのデータ出力間隔にもバラつきが発生する。
【００２８】
図３（Ｂ）メモリ７１は、２つの画像フレームを格納可能な構成を有する。図３（Ｂ）下側の（ｂ１）が先行入力画像（先行キュー）であり、上側の（ｂ２）が後続入力画像（後続キュー）である。
図に示す例では、時間ｔ０にフレームＦ１が先行入力キューとしてメモリに格納され、その後、フレームＦ２が後続キューとして格納されている。
【００２９】
なお、図３（Ｂ）に示すフレームＦｎの長さは、メモリに格納されている時間に相当する。
例えばフレームＦ１は時間ｔ０〜ｔ１の間、先行キューとしてメモリに格納されている。
フレームＦ２は時間ｔ０〜ｔ１の中間の時間に後続キューとしてメモリに格納され、時間ｔ１まで後続キューとして設定されている。その後、時間ｔ１〜ｔ２では、先行キューとしてメモリに格納されていることを示している。
【００３０】
図３（Ｃ）は、表示制御部７２の処理と表示部５４の表示画像のシーケンスを示している。
メモリに格納されたフレームＦ１は、表示制御部７２によってメモリ７１から取り出されて、表示部５４に対して時間ｔ１〜ｔ２の間、出力される。
【００３１】
時間ｔ１において、フレームＦ１がメモリから取り出されると、後続キューであったフレームＦ２が先行キューに変更される。
なお、厳密には、メモリ７１からの画像フレーム取り出しから、表示部５４に対する画像フレームの出力までにはタイムラグがあるが、この図３では省略して示している。
【００３２】
その後、デコーダから出力されるフレームＦ３が後続キューとして設定される。
時間ｔ２において、表示部５４の表示画像はフレームＦ２に切り替えられる。
時間ｔ２において、メモリの後続キューであったフレームＦ３は先行キューとなり、その後デコーダから入力するフレームＦ４が後続キューとして格納される。
【００３３】
この図３に示す画像のデコードから表示に至るシーケンスにおいて、例えば画像フレームＦ１は、デコーダ５２からメモリ７１に対する出力時間がｔ０であるが、表示部５４に対する表示開始時間はｔ１である。
すなわち、デコード完了から、表示開始までに時間０〜ｔ１の遅延が発生している。
本開示の処理では、このような遅延を減少させる構成を実現するものである。
【００３４】
［３．本開示の情報処理装置の構成と処理の概要について］
図４は、本開示の情報処理装置であるクライアント２０の構成例を示す図である。図４に示すクライアント２０の構成は、主として画像処理を行なうクライアントの一部の構成に対応する。
通信部１０１は、サーバ３０の送信する画像符号化データや音声符号化データを含むストリームデータを受信する。
受信データはデコーダ１０２において復号（デコード）される。
【００３５】
デコーダ１０２において復号された画像データは、画像フレーム単位で出力制御部１０３のメモリ１２１に格納される。
メモリ１２１は、複数の画像フレームをキュー（待ち行列）として格納可能な構成を持つ。
ここでは、メモリ１２１は、先に図２を参照して説明したメモリ７１と同様、２つの画像フレーム（図ではＦ１，Ｆ２として示す）を格納可能な構成であるとする。
表示制御部１２２は、メモリ１２１に対して格納された画像フレームを順次、取得して表示部１０４に出力する。
【００３６】
表示部１０４は、例えば６０Ｈｚの垂直同期信号（Ｖｓｙｎｃ）を表示制御部１２２に出力し、表示制御部１２２は、この同期信号に基づいて決定するタイミングで、表示部１０４に対する出力画像フレームを順次、更新する。
表示制御部１２２と、表示部１０４は、例えばＨＤＭＩ（登録商標）ケーブルで接続される。
制御部５５は、各構成部の処理に関する全体的な制御を行う。
これらの基本的な構成は、先に図２を参照して説明した従来の装置と同様の構成である。
【００３７】
図４に示すクライアント２０は、メモリ１２１に対して画像フレーム（Ｆｎ）のみではなく、画像フレームに対応する以下のメタデータを画像に併せて格納する。
（１）メモリに対する入力時間（ｉｎｐｕｔ  ｔｉｍｅ）、
（２）サーバ３０からの画像データの送信フレームレート（ｆｐｓ）
これらのメタデータを各画像フレームに対応けて格納する。
【００３８】
サーバ３０は、ネットワーク状況に応じて送信する画像のフレームレートを適宜、変更する。送信フレームレート情報はサーバ３０からクライアントに通知される。制御部１０５は、通信部１０１を介して受信した通知情報から送信フレームレート情報（ｆｐｓ）を取り出す。デコーダ１０２は、出力するデコード画像に対応付けてメモリ１２１に格納する。
【００３９】
さらに、制御部１０５は、図示しないシステムクロックからの時間情報を入力し、デコーダ１０２に提供する。デコーダ１０２は、メモリ１２１に対して画像フレームを入力する時間を、上記のメタデータ＝入力時間（ｉｎｐｕｔ  ｔｉｍｅ）としてデコード画像に対応付けてメモリ１２１に格納する。
【００４０】
この結果、メモリ１２１には、図に示すように、
（１）画像フレーム
（２）入力時間（ｉｎｐｕｔ  ｔｉｍｅ：メモリに対する画像フレームの入力時間）
（３）送信フレームレート（ｆｐｓ）
これらのデータが対応付けられて格納される。
【００４１】
表示制御部は、これら（１）〜（３）のデータを利用して、メモリ１２１から取得して表示部１０４に出力する画像の表示制御を実行する。
この処理の詳細については後述する。
本開示の処理では、メモリ１２１に対するデコード画像の入力時間が各画像フレームに対応するメタデータとして記録されている。
表示制御部１２２は、例えば、各画像フレームについてメモリ格納後の経過時間を算出し、この算出結果に基づいて、出力画像を決定する処理などを行う。
【００４２】
図５は本開示の情報処理装置（クライアント２０）が実行する画像出力シーケンスの一例を示す図である。
図５は、先に説明した図３と同様、デコーダ１０２のデータ出力から表示部１０４に対する画像フレームの表示処理に至るまでの時間推移に伴う処理シーケンスを説明する図である。
図５には、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
図５（Ｃ）には時間軸（ｔ）を示しており、（Ａ），（Ｂ），（Ｃ）は、この時間軸（ｔ）に従って行われる処理を示している。
（Ａ），（Ｂ），（Ｃ）に示すＦ１，Ｆ２，Ｆ３，Ｆ４・・・の各々は、１つの画像フレームを示している。
Ｆ１は、画像フレームＦ１、Ｆ２は画像フレームＦ２である。
【００４３】
図５（Ｂ）に示すメモリは、２つの画像フレームを格納可能な構成を有する。図５（Ｂ）下側の（ｂ１）が先行入力画像（先行キュー）であり、上側の（ｂ２）が後続入力画像（後続キュー）である。
図に示す例では、時間ｔ０にフレームＦ１が先行入力キューとしてメモリに格納され、その後、フレームＦ２が後続キューとして格納されている。
【００４４】
なお、図５（Ｂ）に示すフレームＦｎの長さは、先に図３を参照して説明したと同様、メモリに格納されている時間に相当する。
例えばフレームＦ１は時間ｔ０〜ｔ１の間、先行キューとしてメモリに格納されている。
フレームＦ２は時間ｔ０〜ｔ１の中間の時間に後続キューとしてメモリに格納され、時間ｔ１まで後続キューとして設定されている。その後、時間ｔ１〜ｔ２は、先行キューとしてメモリに格納されていることを示している。
【００４５】
図５（Ｃ）は、表示制御部１２２の処理と表示部１０４の表示画像のシーケンスを示している。
図５に示す例では、表示制御部１２２は、時間ｔ１において、メモリに格納されたフレームＦ１ではなくフレームＦ２を選択して表示部１０４に出力する。
この表示画像の選択処理は、メモリに格納される画像フレームに対応するメタデータを利用した処理として実行される。
【００４６】
この図５に示す画像のデコードから表示に至るシーケンスにおいて、画像フレームＦ２の遅延時間、すなわち、デコーダ１０２からメモリ１２１に対するフレームＦ２の出力時間から、表示部１０４に対するフレームＦ２の表示開始時間までの遅延時間は、図３を参照して説明したシーケンスにおけるフレームＦ１に対する遅延時間に比較して小さくなっている。
このように、本開示の構成では画像の表示遅延を短くすることを格納にしている。
これは、メモリに格納される画像フレームに対応するメタデータを利用して表示画像を選択することで可能となる。
この処理については、以下、詳細に説明する。
【００４７】
［４．本開示の情報処理装置（クライアント）の実行するデコード画像のメモリ格納シーケンスについて］
次に、本開示の情報処理装置（クライアント）の実行するデコード画像のメモリ格納シーケンスについて説明する。
【００４８】
図６は、メモリ１２１に対するデコーダ１０２からのデータ入力処理シーケンスについて説明するフローチャートである。
図６に示すフローは、例えば制御部１０５および出力制御部１０３の制御の下、記憶部に格納されたプログラムに従って実行される。
なお、図６に示すフローは、デコーダ１０２からの新規データの入力毎に繰り返し実行される処理である。
以下、各ステップの処理について説明する。
【００４９】
（ステップＳ１０１）
まず、ステップＳ１０１において、メモリに格納されたキュー（待ち行列）の数が上限（Ｆｕｌｌ）に達しているか否かを判定する。
例えば図５を参照して説明したメモリ１２１は２つのキューのみを格納可能な構成であり、２つのキューが格納されている場合、上限である（Ｙｅｓ）と判定する。１つ以下であれば上限でない（Ｎｏ）と判定する。
【００５０】
上限である（Ｙｅｓ）と判定した場合は、ステップＳ１０２に進む。一方、上限でない（Ｎｏ）と判定した場合はステップＳ１０３に進む。
【００５１】
（ステップＳ１０２）
メモリ１２１に格納されたキューの数が上限であると判定した場合、ステップＳ１０２において、メモリの最も古いキューを削除する。図５に示す２つのキューのみを格納するメモリ１２１の場合、先行キューを削除する。
なお、キューには、画像フレームの他、入力時間（ｉｎｐｕｔ  ｔｉｍｅ）、送信フレームレート（ｆｐｓ）等のメタデータが含まれるが、これらのデータの全てを削除する。
【００５２】
（ステップＳ１０３）
ステップＳ１０２のキュー削除の完了後、あるいは、ステップＳ１０１において、メモリ格納キュー数が上限でないと判定された場合、ステップＳ１０３の処理を実行する。
ステップＳ１０３では、新規入力画像フレーム対応のメタデータとしての入力時間（ｉｎｐｕｔ  ｔｉｍｅ）設定のために、現在時間（ｃｕｒｒｅｎｔ  ｔｉｍｅ）を取得する。現在時間情報は、例えばクライアント２０の持つシステムクロックから取得する。
【００５３】
（ステップＳ１０４）
次に、ステップＳ１０４において、新規入力画像フレームと、この画像フレームに対応するメタデータとして、
入力時間（ｉｎｐｕｔ  ｔｉｍｅ）
送信フレームレート（ｆｐｓ）
これらのメタデータを含むデータを１つのキューとしてメモリに格納する。
【００５４】
このメモリに対するデータ格納処理の具体的シーケンスの一例について、図７を参照して説明する。
図７は、先に説明した図５と同様、デコーダ１０２のデータ出力から表示部１０４に対する画像フレームの表示処理に至るまでの時間推移に伴う処理シーケンスを説明する図である。
図７には、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
図７（Ｃ）には時間軸（ｔ）を示しており、（Ａ），（Ｂ），（Ｃ）は、この時間軸（ｔ）に従って行われる処理を示している。
（Ａ），（Ｂ），（Ｃ）に示すＦ１，Ｆ２，Ｆ３，Ｆ４・・・の各々は、１つの画像フレームを示している。
Ｆ１は、画像フレームＦ１、Ｆ２は画像フレームＦ２である。
【００５５】
図７（Ｃ）に示す時間軸（ｔ）の実線矢印２０１で示す時間はｔ１，ｔ２，ｔ３・・・は、表示部１０４の垂直同期信号（Ｖｓｙｎｃ）の出力タイミングであり、出力画像フレームの切り換え可能なタイミングを示している。垂直同期信号（Ｖｓｙｎｃ）が６０Ｈｚである場合、各実線矢印の間隔は１／６０（ｓｅｃ）となる。
【００５６】
また、図７（Ｃ）に点線矢印２０２で示すｔ１ｍ，ｔ２ｍ，ｔ３ｍ・・・は、実線矢印２０１で示す垂直同期信号（Ｖｓｙｎｃ）の出力タイミングｔ１，ｔ２，ｔ３・・に表示部１０４の出力画像を更新するために、メモリ１２１から画像を取得するメモリアクセスタイミングを示している。
すなわち、例えば時間ｔ２に画像フレームＦ１を表示部に表示するためには、時間ｔ２ｍのメモリアクセスタイミングにおいて、メモリ１２１をアクセスして画像フレームＦ１を取得する。
このメモリアクセスタイミングは、表示画像更新処理開始タイミングに相当する。
【００５７】
図７（Ｂ）に示すメモリは、図４に示すメモリ１２１の処理に相当する。メモリ１２１は２つの画像フレームを格納可能な構成を有する。図７（Ｂ）下側の（ｂ１）が先行入力画像（先行キュー）であり、上側の（ｂ２）が後続入力画像（後続キュー）である。
【００５８】
図７（Ｂ）に示す水平方向の点線矢印２０３は、バッファリングタイム（ｂｕｆｆｅｒｉｎｇ  ｔｉｍｅ）を示している。
バッファリングタイム（ｂｕｆｆｅｒｉｎｇ  ｔｉｍｅ）は、メモリ１２１に対する１つのキュー格納に要する時間である。すなわち、上記の入力時間（ｉｎｐｕｔ  ｔｉｍｅ）からメモリ１２１に対するキュー構成データの格納が開始された後、キュー構成データの全てが完全にメモリ１２１に格納され、その後、安定したキュー取り出しが可能となるまでの時間である。
このバッファリングタイム（ｂｕｆｆｅｒｉｎｇ  ｔｉｍｅ）は、予め装置（クライアント）固有のデータとして不揮発性メモリに格納する。あるいは、ユーザ設定可能な時間情報としてもよい。
【００５９】
メモリ１２１に対するデコーダ１０２の出力画像の格納処理は、図６に示すフローに従って実行される。
例えばデコーダ１０２からフレームＦ１をメモリ１２１に入力する際は、メモリの格納キューは０であり、ステップＳ１０１の判定がＮｏとなり、ステップＳ１０３〜Ｓ１０４の処理を実行する。
この結果、画像フレームＦ１と、画像フレームＦ１の入力時間（ｉｎｐｕｔ  ｔｉｍｅ）、送信フレームレート（ｆｐｓ）を有するキューがメモリ１２１に格納される。
デコーダ１０２からフレームＦ２をメモリ１２１に入力する際も同様である。
【００６０】
また、デコーダ１０２からフレームＦ３をメモリ１２１に入力する時点では、メモリ１２１の先行キューである画像フレームＦ１が表示制御部によって取得されている。従って、フレームＦ３をメモリ１２１に入力する際にも、ステップＳ１０１の判定はＮｏとなり、ステップＳ１０３〜Ｓ１０４の処理を実行する。
【００６１】
しかし、例えば、図７に示す例において、デコーダ１０２からフレームＦ４をメモリ１２１に入力する際には、メモリ１２１には画像フレームＦ２，Ｆ３が格納されている。すなわち、キューの数が上限（キュー数＝２）であるので、ステップＳ１０１の判定がＹｅｓとなる。
【００６２】
この場合、ステップＳ１０２において、最も古いキューの削除が実行される。フレームＦ４の入力時点でメモリ１２１に格納された最も古いキューは画像フレームＦ２であり、この画像フレームＦ２およびそのメタデータが削除される。
この削除処理に併せて後続キューＦ３が先行キューに変更され、後続キューとしてフレームＦ４が格納される。
【００６３】
このように、新たな入力画像が発生した時点で、メモリ１２１のキューの数が上限数である場合、古いキューを削除して新規入力画像を格納する処理を実行する。
【００６４】
［５．本開示の情報処理装置（クライアント）の実行する画像表示制御処理の詳細シーケンスについて］
次に、メモリ１２１に格納された画像フレームの表示制御シーケンスについて説明する。
本開示の情報処理装置（クライアント２０）の出力制御部１０３は、メモリ１２１に格納された画像を取得して表示部１０４に出力する場合、以下の２つのステートに応じて異なる処理を行なう。
（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）
（ステート２）＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）
【００６５】
（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）は、メモリ１２１から表示更新用の画像が取得できない状態であり、（ステート２）＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）は、メモリ１２１から表示更新用画像が取得できる状態である。
【００６６】
これらの各ステートにおける処理について、以下のように各図を参照して順次説明する。
（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）の場合の処理について、図８に示すフローチャートと、図９、図１０に示す具体例を参照して説明する。
（ステート２）＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）の場合の処理について、図１１に示すフローチャートと、図１２以下に示す具体例を参照して説明する。
【００６７】
［５−１．表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）における処理について］
まず、（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）の場合の処理について、図８に示すフローチャートを参照して説明する。
図８は、メモリ１２１に格納されたキュー、すなわち画像フレームとメタデータとしての入力時間（ｉｎｐｕｔ  ｔｉｍｅ）と送信フレームレート（ｆｐｓ）を含むキューを選択的に取得して表示部１０４に表示する場合の処理シーケンスについて説明するフローチャートである。
【００６８】
図８に示すフローは、例えば制御部１０５および出力制御部１０３の制御の下、記憶部に格納されたプログラムに従って実行される。
なお、図８に示すフローは、表示部１０４の垂直同期信号（Ｖｓｙｎｃ）の周期に応じて繰り返し実行される処理である。
以下、各ステップの処理について説明する。
【００６９】
（ステップＳ２０１）
まず、ステップＳ２０１において、出力制御部１０３の表示制御部１２２は次のＶｓｙｎｃ前のメモリアクセスタイミング（ｔｎｍ）まで待機する。
メモリアクセスタイミング（ｔｎｍ）は、先に図７を参照して説明したｔ１ｍ，ｔ２ｍ・・に相当するメモリアクセスタイミングである。
【００７０】
（ステップＳ２０２）
メモリアクセスタイミング（ｔｎｍ）になると、表示制御部１２２は、ステップＳ２０２において、現在のステートが表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）であるか否かを判定する。
上述したように、本開示の情報処理装置（クライアント２０）の出力制御部１０３は、メモリ１２１に格納された画像を取得して表示部１０４に出力する場合、以下の２つのステートに応じて異なる処理を行なう。
（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）
（ステート２）＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）
【００７１】
（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）は、メモリ１２１から表示更新用画像が取得できない状態であり、（ステート２）＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）は、メモリ１２１から表示更新用画像が取得できる状態である。
【００７２】
現在のステートが表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）である場合はステップＳ２５１に進む。この場合の処理については、図１１以下を参照して後段で説明する。
一方、現在のステートが表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）でなく、表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）である場合はステップＳ２０３に進む。このフローでは、この場合の処理について説明する。
すなわち、メモリ１２１から表示更新用画像が取得できない状態における処理である。
【００７３】
（ステップＳ２０３）
ステップＳ２０３において、更新画像候補（Ｃａｎｄｉｄａｔｅ）を「なし（ＮＵＬＬ）」に設定する。
更新画像候補（Ｃａｎｄｉｄａｔｅ）とは、表示部１０４に次に表示する候補となる画像である。
【００７４】
（ステップＳ２０４）
次に、表示制御部１２２は、メモリ１２１に処理対象となる未処理キューが無いか否かを判定する。
無い場合は、ステップＳ２０９に進む。
ある場合は、ステップＳ２０５に進む。
【００７５】
（ステップＳ２０５）
メモリに処理対象となる未処理キューが格納されていることが確認されると、表示制御部１２２は、ステップＳ２０５において、処理対象画像（ｔｍｐ）を先頭キュー（Ｑｕｅｅ．ｆｒｏｎｔ）に設定する。
【００７６】
（ステップＳ２０６）
次に、処理対象画像（ｔｍｐ）について、
待機時間（ｗａｉｔｉｎｇ  ｔｉｍｅ）＞バッファリングタイム（ｂｕｆｆｅｒｉｎｇ  ｔｉｍｅ）
上記条件を満たすか否かを判定する。
待機時間（ｗａｉｔｉｎｇ  ｔｉｍｅ）は、メモリ１２１にキューが設定されてからの経過時間である。
これは、キューに設定された画像フレームのメタデータである入力時間（ｉｎｐｕｔ  ｔｉｍｅ）からの経過時間として算出することができる。
【００７７】
先に、図７を参照して説明したように、バッファリングタイム（ｂｕｆｆｅｒｉｎｇ  ｔｉｍｅ）は、メモリ１２１に対する１つのキュー格納に要する時間である。すなわち、上記の入力時間（ｉｎｐｕｔ  ｔｉｍｅ）からメモリ１２１に対するキュー構成データの格納が開始された後、キュー構成データの全てが完全にメモリ１２１に格納され、その後、安定したキュー取り出しが可能となるまでの時間である。
このバッファリングタイム（ｂｕｆｆｅｒｉｎｇ  ｔｉｍｅ）は、予め装置（クライアント）固有のデータとして不揮発性メモリに格納されている。あるいは、ユーザが設定する時間としてもよい。
【００７８】
ステップＳ２０６では、処理対象画像（ｔｍｐ）について、
待機時間＞バッファリングタイム
を満たすか否かを判定する。
【００７９】
このステップＳ２０６の判定条件、
待機時間＞バッファリングタイム
を満たす（Ｙｅｓ）場合は、ステップＳ２０７に進む。満たさない（Ｎｏ）場合は、ステップＳ２０９に進む。
【００８０】
（ステップＳ２０７）
待機時間＞バッファリングタイムを満たす場合は、ステップＳ２０７に進み、処理対象画像（ｔｍｐ）を更新画像候補（Ｃａｎｄｉｄａｔｅ）に設定する。
この更新画像候補（Ｃａｎｄｉｄａｔｅ）は、メモリから取得される。
【００８１】
（ステップＳ２０８）
ステップＳ２０８では、更新画像候補（Ｃａｎｄｉｄａｔｅ）として取得済みの先頭キューを削除する。
後続キューがある場合は、その後続キューが先頭キューに設定される。
その後、ステップＳ２０４に戻り、ステップＳ２０４以下の処理を繰り返す。
メモリの先頭キューから後続キューについて、順次、処理対象（ｔｍｐ）に設定して、ステップＳ２０４〜Ｓ２０８の処理を実行する。
【００８２】
ステップＳ２０４〜Ｓ２０８の処理の繰り返し処理において、ステップＳ２０６の判定処理、すなわち、
待機時間＞バッファリングタイム
を満たさない処理対象キューが検出されると、ステップＳ２０９に進む。
【００８３】
なお、ステップＳ２０９に進む時点において、
待機時間＞バッファリングタイム
を満たすキューがメモリ１２１に１つもない場合は、更新画像候補（Ｃａｎｄｉｄａｔｅ）は設定されていない。
一方、
待機時間＞バッファリングタイム
を満たすキューが１つ以上あった場合は、そのキューの中で、メモリ１２１に対する最新の入力画像、すなわち最も新しいキューが１つ選択され、その最新キューの画像が更新候補画像（Ｃａｎｄｉｄａｔｅ）に設定されている。
【００８４】
（ステップＳ２０９）
ステップＳ２０９は、ステップＳ２０４においてメモリに未処理キューがないと判定された場合、あるいは、ステップＳ２０６において、
待機時間＞バッファリングタイム
を満たさないキューが検出された場合に実行される。
【００８５】
ステップＳ２０９では、更新画像候補（Ｃａｎｄｉｄａｔｅ）が「なし（ＮＵＬＬ）」であるか否かを判定する。
ステップＳ２０４〜Ｓ２０８の処理において、
待機時間＞バッファリングタイム
を満たすキューが１つ以上あった場合は、そのキューの中で、メモリ１２１に対する最新の入力画像、すなわち最も新しいキューが１つ選択され、その最新キューの画像が更新候補画像（Ｃａｎｄｉｄａｔｅ）に設定されている。
【００８６】
上記以外の場合、すなわち、
メモリ１２１に１つもキューがなかった場合、あるいは、
待機時間＞バッファリングタイム
を満たすキューが１つもなかった場合、
これらの場合は、
更新画像候補（Ｃａｎｄｉｄａｔｅ）が「なし（ＮＵＬＬ）」であり、ステップＳ２０９の判定は（Ｎｏ）となり、処理を終了する。
【００８７】
一方、ステップＳ２０４〜Ｓ２０６の処理において、
待機時間＞バッファリングタイム
を満たすキューが１つ以上あった場合は、そのキューの中で、メモリ１２１に対する最新の入力画像、すなわち最も新しいキューが１つ選択され、その最新キューの画像が更新候補画像（Ｃａｎｄｉｄａｔｅ）に設定されている。
この場合は、ステップＳ２１０に進む。
【００８８】
（ステップＳ２１０）
次に、ステップＳ２１０において、表示制御部１２２は、表示部１０４に更新画像候補（Ｃａｎｄｉｄａｔｅ）を出力して画像更新を実行する。
【００８９】
（ステップＳ２１１）
次に、制御部１０５は、ステートを表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）に設定する。
【００９０】
（ステップＳ２１２）
次に、表示部１０４に対する更新画像（Ｃａｎｄｉｄａｔｅ）の出力に伴い垂直同期信号（Ｖｓｙｎｃ）を０にセットする。
【００９１】
この図８に示すフローチャートは、（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）にある場合の処理シーケンスであり、ステップＳ２１０において表示画像の更新が再開されると、ステップＳ２１１で、（ステート２）＝表示更新実行状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）に変更するステート変更が実行される。
【００９２】
この図８に示すフローに従った処理の具体例について、図９、図１０を参照して説明する。
【００９３】
図９は、先に説明した図５や図７と同様、デコーダ１０２のデータ出力から表示部１０４に対する画像フレームの表示処理に至るまでの時間推移に伴う処理シーケンスを説明する図である。
図９には、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
図９（Ｃ）には時間軸（ｔ）を示しており、（Ａ），（Ｂ），（Ｃ）は、この時間軸（ｔ）に従って行われる処理を示している。
（Ａ），（Ｂ），（Ｃ）に示すＦ１，Ｆ２，Ｆ３，Ｆ４・・・の各々は、１つの画像フレームを示している。
Ｆ１は、画像フレームＦ１、Ｆ２は画像フレームＦ２である。
【００９４】
図９（Ｃ）に示す時間軸（ｔ）の実線矢印で示す時間はｔ１，ｔ２，ｔ３・・・は、表示部１０４の垂直同期信号（Ｖｓｙｎｃ）の出力タイミングであり、出力画像フレームの切り換え可能なタイミングを示している。垂直同期信号（Ｖｓｙｎｃ）が６０Ｈｚである場合、各実線矢印の間隔は１／６０（ｓｅｃ）となる。
また、点線矢印で示す時間ｔ１ｍ，ｔ２ｍ，ｔ３ｍ・・・は、メモリ１２１から画像を取得するメモリアクセスタイミングを示している。
【００９５】
図９（Ｂ）に示すメモリ１２１は、図４に示すメモリ１２１であり、２つの画像フレームを格納可能な構成を有する。図９（Ｂ）下側の（ｂ１）が先行入力画像（先行キュー）であり、上側の（ｂ２）が後続入力画像（後続キュー）である。
【００９６】
図９において、ステート１＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）は、時間軸（ｔ）においてｔ０〜ｔ２ｍの期間であり、ｔ２ｍ以降はステート２＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）に変更される。
このステート変更は、図８に示すフローチャートのステップＳ２１１のステート変更処理によって実行される。
【００９７】
このステート変更時に表示部１０４に表示される画像フレームＦ１が、図８に示すフローに従って選択される画像フレームとなる。
すなわち、この画像フレームＦ１が、図８に示すフローのステップＳ２１０において表示画像の更新処理に適用される更新画像候補（Ｃａｎｄｉｄａｔｅ）である。
【００９８】
更新画像候補（Ｃａｎｄｉｄａｔｅ）の決定処理は、図８に示すフローのステップＳ２０４〜Ｓ２０８の処理によって実行される。
前述したように、ステップＳ２０４〜Ｓ２０８の処理は、メモリの先頭キューから後続キューについて、順次、処理対象（ｔｍｐ）に設定して、繰り返し実行される。
【００９９】
このステップＳ２０４〜Ｓ２０８の処理において、
待機時間＞バッファリングタイム
を満たすキューが１つ以上あった場合は、そのキューの中で、メモリ１２１に対する最新の入力画像、すなわち最も新しいキューが１つ選択され、その最新キューの画像が更新候補画像（Ｃａｎｄｉｄａｔｅ）に設定される。
【０１００】
図９に示す例では、時間ｔ２ｍにおいて、図８のステップＳ２０１以下の処理が実行される。
この時間ｔ２ｍにおいて、メモリ１２１には、先行キューとして画像フレームＦ１、後続キューとして画像フレームＦ２が格納されている。
従って、ステップＳ２０４〜Ｓ２０８の処理は、これらの２つのキュー、すなわち画像フレームＦ１，Ｆ２について実行されることになる。
【０１０１】
まず、先行キューである画像フレームＦ１について、ステップＳ２０６の判定処理が実行される。
表示制御部１２２は、画像フレームＦ１に対応するメタデータである入力時間（ｉｎｐｕｔ  ｔｉｍｅ）を取得して、
待機時間＞バッファリングタイム
上記判定式を満たすか否かを判定する。
【０１０２】
この画像フレームＦ１は、上記判定式を満たすので、ステップＳ２０６の判定はＹｅｓとなり、ステップＳ２０７に進む。
ステップＳ２０７において、画像フレームＦ１が更新画像候補（Ｃａｎｄｉｄａｔｅ）に設定される。
【０１０３】
次に、処理対象（ｔｍｐ）が後続キューに切り替えられ、後続キューである画像フレームＦ２について、ステップＳ２０６の判定処理が実行される。
表示制御部１２２は、画像フレームＦ２に対応するメタデータである入力時間（ｉｎｐｕｔ  ｔｉｍｅ）を取得して、
待機時間＞バッファリングタイム
上記判定式を満たすか否かを判定する。
この画像フレームＦ２は、上記判定式を満たさないと判定され、ステップＳ２０６の判定はＮｏとなり、ステップＳ２０９に進む。
【０１０４】
この結果、表示制御部１２２は、この時点で更新画像候補（Ｃａｎｄｉｄａｔｅ）に設定されている画像フレームＦ１を、表示部１０４に出力し、画像更新を実行する。
この処理がステップＳ２１０の処理である。
その後、ステップＳ２１１において、ステートがステート２＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）に変更される。
【０１０５】
図１０に示す例も、図８に示すフローに従った処理、すなわち、ステート１＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）における処理の具体例を示す図である。
【０１０６】
図１０に示す例においても、時間ｔ２ｍにおいて、図８のステップＳ２０１以下の処理が実行される。
この時間ｔ２ｍにおいて、メモリ１２１には、先行キューとして画像フレームＦ１、後続キューとして画像フレームＦ２が格納されている。
従って、ステップＳ２０４〜Ｓ２０８の処理は、これらの２つのキュー、すなわち画像フレームＦ１，Ｆ２について実行されることになる。
【０１０７】
まず、先行キューである画像フレームＦ１について、ステップＳ２０６の判定処理が実行される。
表示制御部１２２は、画像フレームＦ１に対応するメタデータである入力時間（ｉｎｐｕｔ  ｔｉｍｅ）を取得して、
待機時間＞バッファリングタイム
上記判定式を満たすか否かを判定する。
【０１０８】
この画像フレームＦ１は、上記判定式を満たすので、ステップＳ２０６の判定はＹｅｓとなり、ステップＳ２０７に進む。
ステップＳ２０７において、画像フレームＦ１が更新画像候補（Ｃａｎｄｉｄａｔｅ）に設定される。
【０１０９】
次に、処理対象（ｔｍｐ）が後続キューに切り替えられ、後続キューである画像フレームＦ２について、ステップＳ２０６の判定処理が実行される。
表示制御部１２２は、画像フレームＦ２に対応するメタデータである入力時間（ｉｎｐｕｔ  ｔｉｍｅ）を取得して、
待機時間＞バッファリングタイム
上記判定式を満たすか否かを判定する。
この画像フレームＦ２も、上記判定式を満たすと判定され、ステップＳ２０６の判定はＹｅｓとなり、ステップＳ２０７に進む。
ステップＳ２０７において、画像フレームＦ２が更新画像候補（Ｃａｎｄｉｄａｔｅ）に設定される。
【０１１０】
次に、ステップＳ２０８で、先頭キューが削除される。すなわち、画像フレームＦ１が削除される。
その後、ステップＳ２０４に進む。
ステップＳ２０４では、メモリに未処理キューがないか否かを判定する。既に２つのキューについての処理を終了しているので未処理キューがないと判定されてステップＳ２０９に進む。
【０１１１】
この結果、表示制御部１２２は、この時点で更新画像候補（Ｃａｎｄｉｄａｔｅ）に設定されている画像フレームＦ２を、表示部１０４に出力し、画像更新を実行する。
この処理がステップＳ２１０の処理である。
その後、ステップＳ２１１において、ステートをステート２＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）に変更する。
【０１１２】
このように、図１０に示す例は、メモリアクセスタイミングｔ２ｍの時点で、メモリ１２１に格納されている２つのキュー、すなわち、画像フレームＦ１と、画像フレームＦ２のいずれも、
待機時間＞バッファリングタイム
上記判定式を満たす場合の処理例である。
このように複数のキューが、
待機時間＞バッファリングタイム
を満たす場合、最新の入力キューに対応する画像を更新候補画像（Ｃａｎｄｉｄａｔｅ）に設定して更新処理が行われる。
【０１１３】
このような処理を実行することで、より遅延の少ない画像更新が行われることになる。
なお、この画像更新処理では、表示部に対する画像フレームＦ１の表示は行われないことになるが、１フレームの表示省略は視聴者にはほぼ認識されず、違和感を発生させることにはならない。
【０１１４】
［５−２．表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）における処理について］
図８〜図１０では、（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）の場合の画像表示制御処理について説明した。
次に、（ステート２）＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）における画像表示制御処理について、図１１以下を参照して説明する。
【０１１５】
図１１は、図８と同様、メモリ１２１に格納されたキュー、すなわち画像フレームとメタデータとしての入力時間（ｉｎｐｕｔ  ｔｉｍｅ）と送信フレームレート（ｆｐｓ）を含むキューを選択的に取得して表示部１０４に表示する場合の処理シーケンスについて説明するフローチャートである。
【０１１６】
図１１に示すフローは、例えば制御部１０５および出力制御部１０３の制御の下、記憶部に格納されたプログラムに従って実行される。
なお、図１１に示すフローは、先に説明した図８のフローと同様、表示部１０４の垂直同期信号（Ｖｓｙｎｃ）の周期に応じて繰り返し実行される処理である。
以下、各ステップの処理について説明する。
【０１１７】
（ステップＳ２０１）
ステップＳ２０１〜Ｓ２０２の処理は、先に説明した図８のフローのステップＳ２０１〜Ｓ２０２の処理と同様の処理である。
まず、ステップＳ２０１において、出力制御部１０３の表示制御部１２２は次のＶｓｙｎｃ前のメモリアクセスタイミング（ｔｎｍ）まで待機する。
メモリアクセスタイミング（ｔｎｍ）は、先に図７を参照して説明したｔ１ｍ，ｔ２ｍ・・に相当するメモリアクセスタイミングである。
【０１１８】
（ステップＳ２０２）
メモリアクセスタイミング（ｔｎｍ）になると、表示制御部１２２は、ステップＳ２０２において、現在のステートが表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）か否かを判定する。
上述したように、本開示の情報処理装置（クライアント２０）の出力制御部１０３は、メモリ１２１に格納された画像を取得して表示部１０４に出力する場合、以下の２つのステートに応じて異なる処理を行なう。
（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）
（ステート２）＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）
【０１１９】
（ステート１）＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）は、メモリ１２１から表示更新用画像が取得できていない状態であり、（ステート２）＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）は、メモリ１２１から表示更新用画像が取得できている状態である。
【０１２０】
現在のステートが表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）でなく、表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）である場合はステップＳ２０３に進む。ステップＳ２０３以下の処理は、先に説明した図８に示すフローに従って実行される処理である。
一方、現在のステートが表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）である場合はステップＳ２５１に進む。この場合の処理について、以下、説明する。
【０１２１】
（ステップＳ２５１）
ステップＳ２５１において、表示１０４の画像更新タイミングを規定する垂直同期信号（Ｖｓｙｎｃ）のカウントを行う。
【０１２２】
（ステップＳ２５２）
次に、表示制御部１２２は、メモリ１２１に処理対象となる未処理キューが無いか否かを判定する。
無い場合は、ステップＳ２５６に進む。
ある場合は、ステップＳ２５３に進む。
【０１２３】
（ステップＳ２５３）
メモリに処理対象となる未処理キューが格納されていることが確認されると、表示制御部１２２は、ステップＳ２５３において、処理対象画像（ｔｍｐ）を先頭キュー（Ｑｕｅｅ．ｆｒｏｎｔ）に設定する。
【０１２４】
（ステップＳ２５４）
次に、表示制御部１２２は、処理対象画像（ｔｍｐ）である先頭キューの画像フレームＦｘに対応するメタデータとして設定された送信画像フレームレート（ｆｐｓ）を取得する。この送信フレームレート情報はサーバ３０からの通知情報としてクライアント２０が受信する情報である。
【０１２５】
表示制御部１２２は、直前の表示画像に対応するフレームレート情報（ｆｐｓ）をメモリに保持しており、この直前の送信フレームレート（ｆｐｓ）と比較して、送信フレームレートの変更の有無を判定する。
【０１２６】
なお、前述したように、サーバ３０は、ネットワークの混雑状況や輻輳状態に応じて送信フレームレートを適宜、変更する。例えば６０ｆｐｓと３０ｆｐｓの２つのレートを適宜、切り替えて使用する。
【０１２７】
ステップＳ２５４において、サーバ送信フレームレート（ｆｐｓ）の変更が検出された場合、ステップＳ２５５に進む。一方、送信フレームレート（ｆｐｓ）の変更が検出されない場合は、ステップＳ２５６に進む。
【０１２８】
（ステップＳ２５５）
ステップＳ２５４において、サーバ送信フレームレート（ｆｐｓ）の変更が検出された場合、ステップＳ２５５に進み、表示部１１０４の垂直同期信号のカウントを０に設定してステップＳ２５６に進む。
【０１２９】
（ステップＳ２５６）
ステップＳ２５６は、下記、いずれかの場合に実行する処理である。
ステップＳ２５２においてメモリ１２１に未処理キューが無いと判定された場合、
ステップＳ２５４において、サーバ送信フレームレート（ｆｐｓ）の変更が検出され、ステップＳ２５５に進みいて垂直同期信号のカウントを０に設定した場合、
ステップＳ２５４において、サーバ送信フレームレート（ｆｐｓ）の変更が検出されなった場合、
ステップＳ２５６は、上記、いずれかの場合に実行する。
【０１３０】
ステップＳ２５６では、表示画像の更新処理開始タイミングになったか否かを判定する。なお、画像更新処理開始タイミングは、例えば送信フレームレート（ｆｐｓ）に応じて異なる設定となる。
具体的には、サーバ３０からの画像送信フレームレートが６０ｆｐｓであれば、１／６０（ｓｅｃ）毎に更新を実行し、サーバ３０からの画像送信フレームレートが３０ｆｐｓであれば、１／３０（ｓｅｃ）毎に更新を実行する。
【０１３１】
ステップＳ２５６において、表示画像の更新処理開始タイミングになったと判定した場合は、ステップＳ２５７に進む。
ステップＳ２５６において、表示画像の更新処理開始タイミングになっていないと判定した場合は、処理を終了する。
【０１３２】
（ステップＳ２５７）
ステップＳ２５６において、表示画像の更新処理開始タイミングになったと判定した場合は、ステップＳ２５７に進み、メモリ１２１に未処理キューが無いか否かを判定する。
無い場合は、ステップＳ３１１に進む。
未処理キューがある場合は、ステップＳ３２１に進む。
【０１３３】
（ステップＳ３１１）
ステップＳ２５６において、表示画像の更新処理開始タイミングになったと判定し、ステップＳ２５７において、メモリ１２１に未処理キューが無いと判定した場合は、このタイミングでの表示部１０４に対する画像更新ができない。
この場合、ステップＳ３１１においてステートの変更を行う。
すなわち、ステートをステート１＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）に設定して処理を終了する。
【０１３４】
（ステップＳ３２１）
一方、ステップＳ２５６において、表示画像の更新処理開始タイミングになったと判定し、ステップＳ２５７において、メモリ１２１に未処理キューがあると判定した場合は、ステップＳ３２１に進む。
【０１３５】
ステップＳ３２１において、表示制御部１２２は、メモリ１２１の先頭キュー（Ｑｕｅｕｅ．ｆｒｏｎｔ）を処理対象画像（ｔｍｐ）に設定してメモリ１２１から取得する。
【０１３６】
（ステップＳ３２２）
ステップＳ３２２では、処理対象画像（ｔｍｐ）として取得済みの先頭キューを削除する。
後続キューがある場合は、その後続キューが先頭キューに設定される。
【０１３７】
（ステップＳ３２３）
次に、ステップＳ３２３において、表示制御部１２２は、メモリ１２１から取得済みの先頭キューである処理対象画像（ｔｍｐ）を表示部１０４に出力して画像更新を実行する。
【０１３８】
なお、図８、図１１に示すフローの説明から理解されるように、表示制御部１２２は、メモリ１２１からの表示用データ取得状況に応じて、装置ステートを表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）から表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）、または、表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）から表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）へ切り替える処理を実行する。
装置ステートが表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）にある場合は、メモリに対する入力時間からの経過時間である待機時間と、メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、待機時間が、バッファリングタイムを越えている画像フレームを表示部に対する出力画像として選択する。
一方、装置ステートが表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）にある場合は、待機時間が、バッファリングタイムを越えているか否かに関わらず、メモリから取得可能な画像フレームを表示部に対する出力画像として選択する。
【０１３９】
この図１１に示すフローに従った処理の具体例について、図１２以下を参照して説明する。
【０１４０】
図１２と図１３は、図１１を参照して説明したステート２、すなわち表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）において、ステップＳ２５６における判定処理がＹｅｓ、すなわち、表示画像更新処理開始タイミングになったと判定した場合の処理例を示している。
図１２は、ステップＳ２５７の判定処理がＮｏ、すなわち、メモリに未処理キューが残っている場合の処理であり、ステップＳ３２１〜Ｓ３２３の処理を実行する場合のシーケンスの例である。
一方、図１３は、ステップＳ２５７の判定処理がＹｅｓ、すなわち、メモリに未処理キューが残っていない場合の処理であり、ステップＳ３１１の処理を実行する場合のシーケンスの例である。
【０１４１】
まず、図１２を参照して、メモリに未処理キューが残っており、ステップＳ３２１〜Ｓ３２３の処理を実行する場合のシーケンスについて説明する。
図１２は、先に説明した図５や図７と同様、デコーダ１０２のデータ出力から表示部１０４に対する画像フレームの表示処理に至るまでの時間推移に伴う処理シーケンスを説明する図である。
【０１４２】
図１２には、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
図１２（Ｃ）には時間軸（ｔ）を示しており、（Ａ），（Ｂ），（Ｃ）は、この時間軸（ｔ）に従って行われる処理を示している。
（Ａ），（Ｂ），（Ｃ）に示すＦ１，Ｆ２，Ｆ３，Ｆ４・・・の各々は、１つの画像フレームを示している。
Ｆ１は、画像フレームＦ１、Ｆ２は画像フレームＦ２である。
【０１４３】
図１２（Ｃ）に示す時間軸（ｔ）の実線矢印で示す時間はｔ１，ｔ２，ｔ３・・・は、表示部１０４の垂直同期信号（Ｖｓｙｎｃ）の出力タイミングであり、出力画像フレームの切り換え可能なタイミングを示している。垂直同期信号（Ｖｓｙｎｃ）が６０Ｈｚである場合、各実線矢印の間隔は１／６０（ｓｅｃ）となる。
また、点線矢印で示す時間ｔ１ｍ，ｔ２ｍ，ｔ３ｍ・・・は、メモリ１２１から画像を取得するメモリアクセスタイミングを示している。
【０１４４】
図１２（Ｂ）に示すメモリ１２１は、図４に示すメモリ１２１であり、２つの画像フレームを格納可能な構成を有する。図１２（Ｂ）下側の（ｂ１）が先行入力画像（先行キュー）であり、上側の（ｂ２）が後続入力画像（後続キュー）である。
【０１４５】
図１２において、ステート１＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）は、時間軸（ｔ）においてｔ０〜ｔ２ｍの期間であり、ｔ２ｍ以降はステート２＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）に変更される。
このステート変更は、図８に示すフローチャートのステップＳ２１１のステート変更処理によって実行される。
【０１４６】
このステート変更後、ステート２＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）において、図１１に示すフローのステップＳ２５１以下の処理が実行される。
図１２では、図１１に示すフローのステップＳ２５６における判定処理がＹｅｓ、すなわち、表示画像更新処理開始タイミングになったと判定し、さらに、ステップＳ２５７の判定処理がＮｏ、すなわち、メモリに未処理キューが残っている場合の処理として実行されるステップＳ３２１〜Ｓ３２３の処理について説明する。
【０１４７】
図１１に示すフローのステップＳ２５６における判定処理がＹｅｓ、すなわち、表示画像更新処理開始タイミングになったと判定するタイミングの１つが、図１２に示す時間ｔ３ｍのタイミングである。
この図１２に示す時間ｔ３ｍのタイミングにおいて、図１１に示すフローのステップＳ２５６における判定処理がＹｅｓ、すなわち、表示画像更新処理開始タイミングになったと判定すると、ステップＳ２５７に進む。
【０１４８】
ステップＳ２５７では、メモリ１２１に未処理キューが無いか否かを判定する。
図１２に示す例では、表示画像更新処理開始タイミングｔ３ｍにおいて、表示処理が行われていない未処理キューとして、先行キュー（Ｆ３）、後続キュー（Ｆ４）の２つのキューがメモリ１２１に存在する。
【０１４９】
従って、ステップＳ２５７の判定処理は、Ｎｏ、すなわちメモリ１２１に未処理キューがあると判定し、ステップＳ３２１に進む。
ステップＳ３２１では、表示制御部１２２が、メモリ１２１に格納された画像フレームＦ３を構成要素とする先行キューを処理対象画像（ｔｍｐ）に設定してメモリ１２１から取得する。
【０１５０】
次に、ステップＳ３２２において、処理対象画像（ｔｍｐ）として取得済みの画像フレームＦ３を構成要素とする先行キューを削除する。
この処理によって、後続キューであるＦ４が先頭キューに設定される。
次に、ステップＳ３２３において、表示制御部１２２は、メモリ１２１から取得済みの処理対象画像（ｔｍｐ）＝Ｆ３を表示部１０４に出力して画像更新を実行する。
【０１５１】
このように、ステート２＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）において、表示画像更新タイミングになり（ステップＳ２５６＝Ｙｅｓ）、さらに、メモリ１２１に未処理キューが残っている場合（ステップＳ２５７＝Ｎｏ）には、ステップＳ３２１〜ステップＳ３２３の処理が実行される。
すなわち、メモリ１２１に格納された先行キューから順に、キューが取り出されて表示処理が行われる。
【０１５２】
次に、図１３を参照して、ステップＳ２５７の判定処理がＹｅｓ、すなわち、メモリに未処理キューが残っていない場合の処理として実行されるステップＳ３１１の処理例について説明する。
【０１５３】
図１３に示すシーケンス図において、図１１に示すフローのステップＳ２５６における判定処理がＹｅｓ、すなわち、表示画像更新処理開始タイミングになったと判定するタイミングの１つが、図１３に示す時間ｔ４ｍのタイミングである。
この図１３に示す時間ｔ４ｍのタイミングにおいて、図１１に示すフローのステップＳ２５６における判定処理がＹｅｓ、すなわち、表示画像更新処理開始タイミングになったと判定すると、ステップＳ２５７に進む。
【０１５４】
ステップＳ２５７では、メモリ１２１に未処理キューが無いか否かを判定する。
図１３に示す例では、表示画像更新処理開始タイミングｔ４ｍにおいて、表示処理が行われていない未処理キューがメモリ１２１に存在しない。
【０１５５】
従って、ステップＳ２５７の判定処理は、Ｙｅｓ、すなわちメモリ１２１に未処理キューがないと判定し、ステップＳ３１１に進む。
ステップＳ３１１では、ステートの変更を行う。
すなわち、ステートをステート１＝表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）に設定して処理を終了する。
この場合、表示部１０４の表示画像の更新は実行されない。図１３（ｃ）に示すように表示部１０４の表示画像は、時間ｔ４以降も表示画像はｔ３〜ｔ４間の表示画像であるＦ４のままに設定される。
【０１５６】
このように、ステート２＝表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）において、表示画像更新タイミングになり（ステップＳ２５６＝Ｙｅｓ）、さらに、メモリ１２１に未処理キューが残っていない場合（ステップＳ２５７＝Ｙｅｓ）には、ステップＳ３１１の処理が実行される。
すなわち、表示画像の更新を実行せず、表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）へのステート変更処理が行われる。
【０１５７】
［６．サーバの画像送信フレームレート（ｆｐｓ）の切り換えに対応する処理について］
次に、サーバの画像送信フレームレート（ｆｐｓ）が切り換えられた場合に、クライアントの実行する処理について説明する。
【０１５８】
先に説明したように、サーバ３０は、ネットワークの混雑状況や輻輳状態に応じて送信フレームレートを適宜、変更する。例えば６０ｆｐｓと３０ｆｐｓの２つのレートを適宜、切り替えて使用する。
【０１５９】
サーバ３０の送信フレームレート情報は、遂次クライアント２０に通知される。クライアント２０は、例えば、図１１に示すフローにおけるステップＳ２５４において、サーバ送信フレームレート（ｆｐｓ）の変更が検出された場合、ステップＳ２５５において、表示部１０４の垂直同期信号（Ｖｓｙｎｃ）をリセットして表示更新タイミングを変更する処理を行う。
【０１６０】
以下、一例として、サーバ３０が送信する画像のフレームレートを６０ｆｐｓと３０ｆｐｓの２種類として、この２つの送信フレームレートを切り換える場合のクライアント２０の処理例について説明する。
【０１６１】
［６−１．送信フレームレート（ｆｐｓ）が６０ｆｐｓと３０ｆｐｓの場合にクライアントの実行する基本的な表示制御処理について］
【０１６２】
まず、図１４、図１５を参照して、サーバ３０が送信する画像のフレームレートが６０ｆｐｓの場合と、３０ｆｐｓの場合のクライアント２０の処理シーケンスについて説明する。
【０１６３】
図１４は、サーバ３０が送信する画像のフレームレートが６０ｆｐｓの場合におけるクライアント２０の処理シーケンスを示している。
図１４には、先に説明した図５等と同様、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
【０１６４】
図１４に示す例では、図１４（Ａ）に示すデコーダ出力は、サーバ３０が送信する画像のフレームレートが６０ｆｐｓとほぼ同じ間隔となる。すなわち、１／６０（ｓｅｃ）毎に１つの画像フレームＦｎが出力され、メモリに格納される。
【０１６５】
図４に示す制御部１０５は、通信部１０１からサーバ３０の送信フレームレート情報を入力すると出力制御部１０３の表示制御部１２２に通知する。
表示制御部１２２は、現在の画像送信フレームレート（ｆｐｓ）に応じた表示画像の更新処理を行う。
【０１６６】
図１４に示す例は、送信フレームレート＝６０ｆｐｓである場合の処理であり、この場合、表示制御部１２２は、表示部の垂直同期信号（Ｖｓｙｎｃ≒６０Ｈｚ）をカウントして、Ｖｓｙｎｖｃ＝０のタイミングに応じて、順次、画像を更新する処理を行なうことになる。
【０１６７】
一方、図１５は、サーバ３０が送信する画像のフレームレートが３０ｆｐｓの場合におけるクライアント２０の処理シーケンスを示している。
図１５にも、図１４等と同様、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
【０１６８】
図１５に示す例では、図１５（Ａ）に示すデコーダ出力は、サーバ３０が送信する画像のフレームレートが３０ｆｐｓとほぼ同じ間隔となる。すなわち、１／３０（ｓｅｃ）毎に１つの画像フレームＦｎが出力され、メモリに格納される。
【０１６９】
この場合、表示制御部１２２は、表示部の垂直同期信号（Ｖｓｙｎｃ≒６０Ｈｚ）をカウントして、Ｖｓｙｎｖｃ＝０が２回カウントされるタイミングに応じて、画像を更新する処理を行なうことになる。
すなわち、６０Ｈｚの垂直同期信号をカウントして、１／３０（ｓｅｃ）毎に画像更新を行う。
【０１７０】
［６−２．送信フレームレート（ｆｐｓ）が６０ｆｐｓから３０ｆｐｓに変更される場合のクライアントの実行する表示制御処理について］
【０１７１】
サーバ３０は、例えばネットワークの混雑状況や輻輳状態に応じて送信フレームレートを適宜、変更する。ネットワークが混雑し、利用可能な帯域が制限された場合などには、フレームレートを低下させる。例えば６０ｆｐｓのフレームレートを３０ｆｐｓに低下させる処理を行なう。
なお、この送信レート変更通知は、サーバ３０からクライアント２０に逐次、通知される。
【０１７２】
図４に示すクライアント２０の制御部１０５は、送信レート変更通知情報に基づいて、デコーダ１０２にメタデータ設定コマンドを出力する。すなわち、デコーダ１０２の出力するデコード画像フレームＦｎに対するメタデータとして、送信フレームレート（ｆｐｓ）を設定させてメモリ１２１に格納させる。
表示制御部１２２は、メモリ１２１から取り出したキューに設定されたメタデータに基づいて送信フレームレートが変更されたことを検出し、この検出情報に基づいて表示部１０４の画像表示更新レートを変更する。
【０１７３】
なお、表示制御部は、１つ前のメモリからの取得データに対するメタデータを保持し、その先行メタデータの送信フレームレート（ｆｐｓ）情報と比較してフレームレート変更の有無を判定する。
以下、サーバ３０からの画像送信フレームレート（ｆｐｓ）が６０ｆｐｓから３０ｆｐｓに変更された場合のクライアントの処理例について説明する。
【０１７４】
図１６〜図１８を参照して以下の具体例について説明する。
（具体例１）クライアントの受信する送信レート低下の通知タイミング後の最初の表示画像更新処理開始タイミング（ｔｎｍ）において、バッファリングタイムが経過したフレームレート変更情報を持つ未処理画像（未表示画像）がある場合の表示制御処理例（図１６）。
（具体例２）クライアントの受信する送信レート低下の通知タイミング後の最初の表示画像更新処理開始タイミング（ｔｎｍ）において、バッファリングタイムが経過したフレームレート変更情報を持つ未処理画像（未表示画像）がない場合の表示制御処理例（図１７）。
（具体例３）クライアントの受信する送信レート低下の通知のタイミングが、メモリに未処理キューが存在しない表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）のステート期間である場合の表示制御処理例（図１８）。
【０１７５】
なお、図１６〜図１８に示す図は、いずれも、先に説明した図５等と同様、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
【０１７６】
まず、図１６を参照して、以下の具体例１について説明する。
（具体例１）クライアントの受信する送信レート低下の通知タイミング後の最初の表示画像更新処理開始タイミング（ｔｎｍ）において、フレームレート変更情報を持つバッファリングタイムが経過した未処理画像（未表示画像）がある場合の表示制御処理例。
【０１７７】
図１６において、クライアント２０は、サーバの送信する画像フレームレート（ｆｐｓ）が６０ｆｐｓから３０ｆｐｓに変更されたことの通知を図１６（Ｃ）の時間軸（ｔ）に示す時間ｔｃに受領したものとする。
【０１７８】
このフレームレート低下の通知受領時間ｔｃの後、最初の表示画像更新処理開始タイミング（ｔ４ｍ）において、フレームレート変更情報を持つ画像フレームＦ４のバッファリングタイムは経過し、メモリから画像Ｆ４を取得可能となる。
【０１７９】
図１６に示すタイミングｔｃにおいて、フレームレート低下（６０ｆｐｓ→３０ｆｐｓ）の通知を受領した場合、クライアント２０の表示制御部１２２は、次の表示画像更新処理開始タイミング（ｔ４ｍ）において、フレームレート変更情報を持つバッファリングタイムが経過した画像フレームＦ４を取得する。
【０１８０】
この画像フレームＦ４のメタデータに基づいてフレームレートが低下（６０ｆｐｓ→３０ｆｐｓ）したことを確認し、この時点から、表示更新タイミングを送信フレームレートに相当する３０ｆｐｓに変更する。
【０１８１】
図１６（ｃ）に示すように、画像フレームＦ４の表示画像更新処理開始タイミング（ｔ４ｍ）から、画像更新タイミングを、それまでの６０ｆｐｓから３０ｆｐｓに変更する。具体的には、６０Ｈｚの垂直同期信号（Ｖｓｙｎｃ）の２回の信号タイミング毎、すなわち１／３０（ｓｅｃ）毎に画像の更新を行う。
【０１８２】
次に、図１７を参照して、以下の具体例２について説明する。
（具体例２）クライアントの受信する送信レート低下の通知タイミング後の最初の表示画像更新処理開始タイミング（ｔｎｍ）において、バッファリングタイムが経過したフレームレート変更情報を持つ未処理画像（未表示画像）がない場合の表示制御処理例。
【０１８３】
図１７において、クライアント２０は、サーバの送信する画像フレームレート（ｆｐｓ）が６０ｆｐｓから３０ｆｐｓに変更されたことの通知を図１７（Ｃ）の時間軸（ｔ）に示す時間ｔｃに受領したものとする。
【０１８４】
このフレームレート低下の通知受領時間ｔｃの後、最初の表示画像更新処理開始タイミング（ｔ４ｍ）において、フレームレート変更情報を持つ画像フレームＦ４のバッファリングタイムは経過していない。従って、バッファリングタイムを考慮した処理を実行する場合は、メモリから画像Ｆ４を取得することはできない。
【０１８５】
しかし、表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ  ｓｔａｔｅ）においては、バッファリングタイムを考慮することなく、メモリ１２１から取得可能な画像を取得して表示する処理を行なう。
従って、図１７に示すタイミングｔｃにおいて、フレームレート低下（６０ｆｐｓ→３０ｆｐｓ）の通知を受領した場合、クライアント２０の表示制御部１２２は、次の表示画像更新処理開始タイミング（ｔ４ｍ）において、メモリ１２１からフレームレート変更情報を持つ最新の入力画像フレームＦ４を取得して、表示更新を行う。
ただし、画像フレームＦ４が取得できない場合は、画像フレームＦ３を継続表示し、次の表示画像更新処理開始タイミング（ｔ５ｍ）で画像フレームＦ４を取得して、表示更新を行う。
【０１８６】
表示画像更新処理開始タイミング（ｔ４ｍ）において、メモリ１２１からフレームレート変更情報を持つ最新の入力画像フレームＦ４の取得に成功し、表示更新を実行した場合、表示制御部１２２は、この画像フレームＦ４のメタデータに基づいてフレームレートが低下（６０ｆｐｓ→３０ｆｐｓ）したことを確認し、この時点から、表示更新タイミングを送信フレームレートに相当する３０ｆｐｓに変更する。
【０１８７】
このフレームレート変更に伴い。６０ｆｐｓにおける次の表示画像更新処理開始タイミング（ｔ５ｍ）においても画像フレームＦ４を継続表示する。次の表示画像更新処理開始タイミング（ｔ６ｍ）において最新の入力画像フレームＦ５を取得して、表示更新を行う。
従って、本例の場合、メモリ１２１から取得に成功したバッファリングタイムを経過していない画像フレームＦ４の表示タイミングから送信フレームレートに相当する３０ｆｐｓに変更する処理が行われる。
【０１８８】
次に、図１８を参照して以下の具体例３の処理について説明する。
（具体例３）クライアントの受信する送信レート低下の通知のタイミングが、メモリに未処理キューが存在しない表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）のステート期間である場合の表示制御処理例。
【０１８９】
図１８において、クライアント２０は、サーバの送信する画像フレームレート（ｆｐｓ）が６０ｆｐｓから３０ｆｐｓに変更されたことの通知を図１８（Ｃ）の時間軸（ｔ）に示す時間ｔｃに受領したものとする。
【０１９０】
このフレームレート低下の通知受領時間ｔｃは、メモリに未処理キューが存在しない表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）の時間帯である。
表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）にある期間の表示画像更新処理開始タイミング（ｔ４ｍ）では、メモリから画像を取得できないので、時間ｔ４〜ｔ５の間、その前の時間（ｔ３〜ｔ４）の表示画像Ｆ３を継続して表示する。
【０１９１】
フレームレート低下の通知受領時間ｔｃの後の次の表示画像更新処理開始タイミング（ｔ５ｍ）では、バッファリングタイムが経過したフレームレート変更情報を持つ最新の入力画像フレームＦ４を取得して、表示更新を行う。この画像フレームＦ４から、表示更新タイミングを送信フレームレートに相当する３０ｆｐｓに変更する。
さらに、この時点で、ステート変更、すなわち、表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）に変更するステート変更処理を実行する。
このステート変更処理は、図８に示すフローのステップＳ２１１の処理に相当する。
【０１９２】
［６−３．送信フレームレート（ｆｐｓ）が３０ｆｐｓから６０ｆｐｓに変更される場合のクライアントの実行する表示制御処理について］
【０１９３】
サーバ３０は、例えばネットワークの混雑状況や輻輳状態に応じて送信フレームレートを適宜、変更する。ネットワークの混雑が解消し、利用可能な帯域が増加された場合などには、フレームレートを上昇させる。例えば３０ｆｐｓのフレームレートを６０ｆｐｓに上昇させる処理を行なう。
なお、この送信レート変更通知は、サーバ３０からクライアント２０に逐次、通知される。
【０１９４】
図４に示すクライアント２０の制御部１０５は、送信レート変更通知情報に基づいて、デコーダ１０２にメタデータ設定コマンドを出力する。すなわち、デコーダ１０２の出力するデゴート画像フレームＦｎに対するメタデータとして送信フレームレート（ｆｐｓ）を設定させて、メモリ１２１に格納させる。
表示制御部１２２は、メモリ１２１から取り出したキューに設定されたメタデータに基づいて送信フレームレートが変更されたことを検出し、この検出情報に基づいて表示部１０４の画像表示更新レートを変更する。
【０１９５】
以下、サーバ３０からの画像送信フレームレート（ｆｐｓ）が３０ｆｐｓから６０ｆｐｓに変更された場合のクライアント側の処理例について説明する。
図１９〜図２１を参照して以下の具体例について説明する。
（具体例１）クライアントの受信する送信レート上昇の通知タイミング後、最初のフレームレート変更情報を持つ画像の表示画像更新処理開始タイミング（ｔｎｍ）が、低フレームレート（３０ｆｐｓ）時の表示画像更新開始タイミングに一致する場合の表示制御処理例（図１９）。
（具体例２）クライアントの受信する送信レート上昇の通知タイミング後、最初のフレームレート変更情報を持つ画像の表示画像更新処理開始タイミング（ｔｎｍ）が、低フレームレート（３０ｆｐｓ）時の表示画像更新開始タイミングに一致しない場合の表示制御処理例（図２０）。
（具体例３）クライアントの受信する送信レート上昇の通知のタイミングが、メモリに未処理キューが存在しない表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）のステート期間である場合の表示制御処理例（図２１）。
【０１９６】
なお、図１９〜図２１に示す図は、いずれも、先に説明した図５等と同様、以下の各データを示している。
（Ａ）デコーダの出力
（Ｂ）メモリの格納データ
（Ｃ）表示制御部の処理による表示部に対する表示画像
【０１９７】
まず、図１９を参照して、以下の具体例１について説明する。
（具体例１）クライアントの受信する送信レート上昇の通知タイミング後、最初のフレームレート変更情報を持つ画像の表示画像更新処理開始タイミング（ｔｎｍ）が、低フレームレート（３０ｆｐｓ）時の表示画像更新開始タイミングに一致する場合の表示制御処理例。
【０１９８】
図１９において、クライアント２０は、サーバの送信する画像フレームレート（ｆｐｓ）が３０ｆｐｓから６０ｆｐｓに変更されたことの通知を図１９（Ｃ）の時間軸（ｔ）に示す時間ｔｃに受領したものとする。
【０１９９】
このフレームレート上昇の通知受領時間ｔｃの後、最初のフレームレート変更情報を持つ画像の表示画像更新処理開始タイミング（ｔ３ｍ）は、低フレームレート（３０ｆｐｓ）時の表示画像更新開始タイミングに一致する。
【０２００】
この場合、クライアント２０の表示制御部１２２は、この表示画像更新処理開始タイミング（ｔ３ｍ）において、バッファリングタイムが経過し、かつフレームレート変更情報を持つ画像フレームＦ２を取得して、この画像フレームＦ２のメタデータに基づいて送信フレームレートが３０ｆｐｓから６０ｆｐｓに変更されたことを確認する。表示制御部１２２は、この確認に基づいて、この画像フレームＦ２から、表示更新タイミングを送信フレームレートに相当する６０ｆｐｓに変更する。
【０２０１】
図１９（ｃ）に示すように、画像フレームＦ２の表示画像更新処理開始タイミング（ｔ３ｍ）から、画像更新タイミングを、それまでの３０ｆｐｓから６０ｆｐｓに変更する。具体的には、６０Ｈｚの垂直同期信号（Ｖｓｙｎｃ）の１回の信号タイミング毎、すなわち１／６０（ｓｅｃ）毎に画像の更新を行う。
【０２０２】
次に、図２０を参照して、以下の具体例２について説明する。
（具体例２）クライアントの受信する送信レート上昇の通知タイミング後、最初のフレームレート変更情報を持つ画像の表示画像更新処理開始タイミング（ｔｎｍ）が、低フレームレート（３０ｆｐｓ）時の表示画像更新開始タイミングに一致しない場合の表示制御処理例。
【０２０３】
図２０において、クライアント２０は、サーバの送信する画像フレームレート（ｆｐｓ）が３０ｆｐｓから６０ｆｐｓに変更されたことの通知を図２０（Ｃ）の時間軸（ｔ）に示す時間ｔｃに受領したものとする。
【０２０４】
このフレームレート上昇の通知受領時間ｔｃの後、最初の表示画像更新処理開始タイミング（ｔ２ｍ）は、低フレームレート（３０ｆｐｓ）時の表示画像更新開始タイミングに一致しない。
【０２０５】
しかし、この表示画像更新処理開始タイミング（ｔ２ｍ）において、メモリ１２１には、すでにバッファリングタイムの経過したフレームレート変更情報を持つ画像Ｆ２が格納されている。
表示制御部１２２は、この表示画像更新処理開始タイミング（ｔ２ｍ）において、バッファリングタイムが経過し、かつフレームレート変更情報を持つ画像フレームＦ２を取得して、この画像フレームＦ２のメタデータに基づいて送信フレームレートが３０ｆｐｓから６０ｆｐｓに変更されたことを確認する。
【０２０６】
表示制御部１２２は、この表示画像更新処理開始タイミング（ｔ２ｍ）において取得した画像フレームＦ２から、表示更新タイミングを送信フレームレートに相当する６０ｆｐｓに変更する。
【０２０７】
図２０（ｃ）に示すように、画像フレームＦ２の表示画像更新処理開始タイミング（ｔ２ｍ）から、画像更新タイミングを、それまでの３０ｆｐｓから６０ｆｐｓに変更する。具体的には、６０Ｈｚの垂直同期信号（Ｖｓｙｎｃ）の１回の信号タイミング毎、すなわち１／６０（ｓｅｃ）毎に画像の更新を行う。
この例では、送信レートの変更をいち早く確認することが可能となり、より早い段階で表示レートを変更することが可能となる。
【０２０８】
次に、図２１を参照して以下の具体例３の処理について説明する。
（具体例３）クライアントの受信する送信レート上昇の通知のタイミングが、メモリに未処理キューが存在しない表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）のステート期間である場合の表示制御処理例。
【０２０９】
図２１において、クライアント２０は、サーバの送信する画像フレームレート（ｆｐｓ）が３０ｆｐｓから６０ｆｐｓに変更されたことの通知を図２１（Ｃ）の時間軸（ｔ）に示す時間ｔｃに受領したものとする。
【０２１０】
このフレームレート上昇の通知受領時間ｔｃは、メモリに未処理キューが存在しない表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）の時間帯である。
表示更新停止状態（ｕｎｉｎｉｔｉａｌｉｚｅｄ）にある期間の表示画像更新処理開始タイミング（ｔ４ｍ）では、メモリから画像を取得できないので、時間ｔ４〜ｔ５の間、その前の時間（ｔ３〜ｔ４）の表示画像Ｆ１を継続して表示する。
【０２１１】
フレームレート上昇の通知受領時間ｔｃの後の次の表示画像更新処理開始タイミング（ｔ５ｍ）では、バッファリングタイムが経過したフレームレート変更情報を持つ最新の入力画像フレームＦ２を取得して、表示更新を行う。この画像フレームＦ２から、表示更新タイミングを送信フレームレートに相当する６０ｆｐｓに変更する。
さらに、この時点で、ステート変更、すなわち、表示更新実行状態（ｉｎｉｔｉａｌｉｚｅｄ）に変更するステート変更処理を実行する。
このステート変更処理は、図８に示すフローのステップＳ２１１の処理に相当する。
【０２１２】
［７．クライアントとしての情報処理装置の構成例について］
次に、クライアントとしての情報処理装置の装置構成例について、図２２を参照して説明する。
図２２は、クライアントとしての情報処理装置のハードウェア構成例を示している。
【０２１３】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）４０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０２、または記憶部４０８に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。例えば、上述した実施例において説明したシーケンスに従った処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４０３には、ＣＰＵ４０１が実行するプログラムやデータなどが記憶される。これらのＣＰＵ４０１、ＲＯＭ４０２、およびＲＡＭ４０３は、バス４０４により相互に接続されている。
【０２１４】
ＣＰＵ４０１はバス４０４を介して入出力インタフェース４０５に接続され、入出力インタフェース４０５には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部４０６、ディスプレイ、スピーカなどよりなる出力部４０７が接続されている。ＣＰＵ４０１は、入力部４０６から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部４０７に出力する。
【０２１５】
入出力インタフェース４０５に接続されている記憶部４０８は、例えばハードディスク等からなり、ＣＰＵ４０１が実行するプログラムや各種のデータを記憶する。通信部４０９は、インターネットやローカルエリアネットワークなどのネットワークを介したデータ通信の送受信部、さらに放送波の送受信部として機能し、外部の装置と通信する。
【０２１６】
入出力インタフェース４０５に接続されているドライブ４１０は、磁気ディスク、光ディスク、光磁気ディスク、あるいはメモリカード等の半導体メモリなどのリムーバブルメディア４１１を駆動し、データの記録あるいは読み取りを実行する。
【０２１７】
なお、データの符号化あるいは復号は、データ処理部としてのＣＰＵ４０１の処理として実行可能であるが、符号化処理あるいは復号処理を実行するための専用ハードウェアとしてのコーデックを備えた構成としてもよい。
【０２１８】
［８．本開示の構成のまとめ］
以上、特定の実施例を参照しながら、本開示の実施例について詳解してきた。しかしながら、本開示の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本開示の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０２１９】
なお、本明細書において開示した技術は、以下のような構成をとることができる。
（１）  通信部の受信した符号化画像データのデコード処理を実行するデコーダと、
前記デコーダが出力するデコード済みの画像フレームを格納するメモリと、
前記メモリに格納された画像フレームを取得して表示部に出力する表示制御部を有し、
前記メモリは、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納し、
前記表示制御部は、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択する情報処理装置。
【０２２０】
（２）前記表示制御部は、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている画像フレームを表示部に対する出力画像として選択する前記（１）に記載の情報処理装置。
【０２２１】
（３）前記表示制御部は、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている画像フレームが複数ある場合は、前記待機時間が、バッファリングタイムを越えている最新の画像フレームを表示部に対する出力画像として選択する前記（１）または（２）に記載の情報処理装置。
【０２２２】
（４）前記メモリに先行キューとして格納された先行格納画像と、後続キューとして格納された後続格納画像がある場合、
前記表示制御部は、
各キューについて、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えているキューの中で、最新のキューに対応する画像フレームを表示部に対する出力画像として選択する前記（１）〜（３）いずれかに記載の情報処理装置。
【０２２３】
（５）前記表示制御部は、
前記表示部の画像更新処理開始タイミングにおいて、前記メモリから次の表示用データを取得できない場合、表示中の画像の継続表示を実行し、装置ステートを表示更新停止状態に変更する前記（１）〜（４）いずれかに記載の情報処理装置。
【０２２４】
（６）前記表示制御部は、
表示更新停止状態において、前記メモリに格納された画像フレームについて、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている場合、該画像フレームを表示部に対する出力画像として選択し、
装置ステートを表示更新実行状態に変更する前記（５）に記載の情報処理装置。
【０２２５】
（７）  前記表示制御部は、
前記メモリからの表示用データ取得状況に応じて、装置ステートを表示更新実行状態から表示更新停止状態、または、表示更新停止状態から表示更新実行状態へ切り替える処理を実行する前記（１）〜（６）いずれかに記載の情報処理装置。
【０２２６】
（８）  前記表示制御部は、
装置ステートが表示更新停止状態にある場合、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている画像フレームを表示部に対する出力画像として選択する前記（７）に記載の情報処理装置。
【０２２７】
（９）  前記表示制御部は、
装置ステートが表示更新実行状態にある場合、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較することなく、
前記待機時間が、バッファリングタイムを越えているか否かに関わらず、前記メモリから取得可能な画像フレームを表示部に対する出力画像として選択する前記（７）または（８）に記載の情報処理装置。
【０２２８】
（１０）前記メモリは、画像フレームに併せて画像フレームの送信フレームレート情報をメタデータとして格納し、
前記表示制御部は、
前記メモリから取得した画像フレームに設定された送信フレームレート情報を取得して送信フレームレートの変更の有無を判定し、変更があった場合に、表示部に対する表示レートを送信フレームレートの変更に併せて変更する前記（１）〜（９）いずれかに記載の情報処理装置。
【０２２９】
（１１）  前記表示制御部は、
前記メモリに対する入力時間からの経過時間である待機時間と、
前記メモリに対するデータ格納所要時間として規定されたバッファリングタイムを比較し、
前記待機時間が、バッファリングタイムを越えている画像フレームをメモリから取得し、取得した画像フレームに対応するメタデータに基づいて送信フレームレートの変更を確認した場合、該取得画像から表示部に対する表示レートを送信フレームレートの変更に併せて変更する前記（１０）に記載の情報処理装置。
【０２３０】
（１２）  前記表示制御部は、
前記メモリからの表示用データ取得状況に応じて、装置ステートを表示更新実行状態から表示更新停止状態、または、表示更新停止状態から表示更新実行状態へ切り替える処理を実行し、
装置ステートが表示更新停止状態にある場合、
前記待機時間が、バッファリングタイムを越えている画像フレームを表示部に対する出力画像として選択し、
装置ステートが表示更新実行状態にある場合、
前記待機時間が、バッファリングタイムを越えているか否かに関わらず、前記メモリから取得可能な画像フレームを表示部に対する出力画像として選択する前記（１０）に記載の情報処理装置。
【０２３１】
（１３）  情報処理装置において実行する情報処理方法であり、
デコーダが、通信部の受信した符号化画像データのデコード処理を実行するデコード処理ステップと、
出力制御部が、メモリに、前記デコーダが出力するデコード済みの画像フレームを格納する画像フレーム格納ステップと、
表示制御部が、前記メモリに格納された画像フレームを取得して表示部に出力する表示制御ステップを有し、
前記画像フレーム格納ステップは、
前記メモリに、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納するステップとして実行され、
前記表示制御ステップは、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択するステップを含む情報処理方法。
【０２３２】
（１４）  情報処理装置において情報処理を実行させるプログラムであり、
デコーダに、通信部の受信した符号化画像データのデコード処理を実行させるデコード処理ステップと、
出力制御部に、メモリに対して前記デコーダが出力するデコード済みの画像フレームを格納させる画像フレーム格納ステップと、
表示制御部に、前記メモリに格納された画像フレームを取得して表示部に出力させる表示制御ステップを実行させ、
前記画像フレーム格納ステップにおいては、
前記メモリに、画像フレームに併せて画像フレームのメモリに対する入力時間をメタデータとして格納させ、
前記表示制御ステップにおいては、前記入力時間からの経過時間に基づいて表示部に対する出力画像を選択させるプログラム。
【０２３３】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２３４】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２３５】
以上、説明したように、本開示の一実施例の構成によれば、通信部を介して受信する画像データについて、遅延の少ない表示制御を可能とした装置、および方法が実現される。
具体的には、画像フレームを格納するメモリに、画像フレームと、メモリ入力時間と、送信フレームレート情報をメタデータとして格納する。表示制御部は、入力時間情報からの経過時間に基づいて表示部に対する出力画像を選択する。各キューについて、入力時間からの経過時間である待機時間と、バッファリングタイムを比較し、待機時間が、バッファリングタイムを越えているキューの中で、最新のキューに対応する画像フレームを表示部に対する出力画像として選択する。また、送信フレームレートに変更があった場合、表示部に対する表示レートを送信フレームレートの変更に併せて変更する。
本構成により、通信部を介して受信する画像データについて、遅延の少ない表示制御を可能とした装置、および方法が実現される。
【符号の説明】
【０２３６】
１０  通信システム
２０  クライアント
２１  ＴＶ
２２  ＰＣ
２３  携帯端末
３０  サーバ
５１  通信部
５２  デコーダ
５３  出力制御部
５４  表示部
５５  制御部
７１  メモリ
７２  表示制御部
１０１  通信部
１０２  デコーダ
１０３  出力制御部
１０４  表示部
１０５  制御部
１２１  メモリ
１２２  表示制御部
４０１  ＣＰＵ
４０２  ＲＯＭ
４０３  ＲＡＭ
４０４  バス
４０５  入出力インタフェース
４０６  入力部
４０７  出力部
４０８  記憶部
４０９  通信部
４１０  ドライブ
４１１  リムーバブルメディア
【図１】
0006477495.tif 000002
【図２】
0006477495.tif 000003
【図３】
0006477495.tif 000004
【図４】
0006477495.tif 000005
【図５】
0006477495.tif 000006
【図６】
0006477495.tif 000007
【図７】
0006477495.tif 000008
【図８】
0006477495.tif 000009
【図９】
0006477495.tif 000010
【図１０】
0006477495.tif 000011
【図１１】
0006477495.tif 000012
【図１２】
0006477495.tif 000013
【図１３】
0006477495.tif 000014
【図１４】
0006477495.tif 000015
【図１５】
0006477495.tif 000016
【図１６】
0006477495.tif 000017
【図１７】
0006477495.tif 000018
【図１８】
0006477495.tif 000019
【図１９】
0006477495.tif 000020
【図２０】
0006477495.tif 000021
【図２１】
0006477495.tif 000022
【図２２】
0006477495.tif 000023