(57)【要約】【課題】拡縮操作に応じた表示画像の変化を円滑に表現する。【解決手段】拡大操作の起点である画面２０４を拡大して終点の表示画像を表した画面２０８を表示させる場合、その拡大処理期間において、別途準備したマスク画像２１０を合成する。マスク画像２１０は画面の周囲から、拡大操作の焦点である画面中央へ集中する集中線からなる。一方、拡大中の表示画像２０６は、表示領域の一部の領域、すなわち拡大操作の焦点を中心とする所定範囲の領域２０６ａに限定して拡大に伴う更新を行う。その結果、拡大操作対し表示画面は画面２０４、画面２１２、画面２０８のように変遷する。【選択図】図４
2015005227.tif 000002
【特許請求の範囲】
【請求項１】
表示対象の画像のうちの表示領域を変化させる入力情報を取得する入力情報取得部と、
前記入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成する表示画像処理部と、
生成された表示画像をディスプレイに表示する表示部と、
を備え、
前記入力情報取得部が、表示画像を拡縮させる入力情報を取得したとき、前記表示画像処理部は、当該入力情報に応じて表示画像を拡縮させるとともに、画像平面において拡縮の中心となる焦点を含む所定範囲の領域とその他の領域で視認性を異ならせる画像の加工を行うことを特徴とする画像処理装置。
【請求項２】
前記表示画像処理部は、表示画像を拡縮させる際、前記所定範囲の領域内に限定して画像が拡縮するように、各時間ステップにおける表示画像を更新することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記表示画像処理部は、前記入力情報によって決定される拡縮速度が大きいほど、前記所定範囲の領域のサイズを小さくすることを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記表示画像処理部は、前記所定範囲の領域に集中する放射状の複数の線からなる集中線の画像を、拡縮中の表示画像上に合成することにより、前記視認性を異ならせることを特徴とする請求項１から３のいずれかに記載の画像処理装置。
【請求項５】
ディスプレイの画面サイズより大きい集中線のテンプレート画像のデータを記憶した記憶部をさらに備え、
前記表示画像処理部は、表示画像における焦点に対応する位置に集中線が集中するように、前記テンプレート画像から切り出す領域を決定し、切り出した集中線の画像を合成することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
ユーザが操作するクライアント端末と、当該クライアント端末からユーザ操作に係る情報を取得し、それに応じて前記クライアント端末で表示すべき表示画像のデータを生成してクライアント端末へ送信するサーバと、を備えた画像処理システムであって、
前記サーバは、
表示対象の画像のうち表示領域を変化させる入力情報を前記クライアント端末から取得する入力情報取得部と、
前記入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成する表示画像処理部と、
生成された表示画像のデータを圧縮符号化するエンコード部と、
圧縮符号化されたデータを前記クライアント端末へ送信する送信部と、を備え、
前記クライアント端末は、
前記サーバから送信された圧縮符号化されたデータを復号伸長するデコード部と、
復号伸長された画像をディスプレイに表示する表示部と、を備え、
前記サーバにおいて、前記入力情報取得部が、表示画像を拡縮させる入力情報を取得したとき、前記表示画像処理部は、画像平面において拡縮の中心となる焦点を含む所定範囲の領域に限定して画像が拡縮するように、表示画像を変化させることを特徴とする画像処理システム。
【請求項７】
前記サーバの前記表示画像処理部は、拡縮中の表示画像に対し、前記所定範囲の領域とその他の領域で視認性を異ならせる画像の加工を行うことを特徴とする請求項６に記載の画像処理システム。
【請求項８】
前記クライアント端末の前記表示部は、前記サーバから送信され、前記デコード部によって復号伸長された拡縮中の表示画像に対し、前記所定範囲の領域とその他の領域で視認性を異ならせる画像の加工を行ったうえでディスプレイに表示することを特徴とする請求項６に記載の画像処理システム。
【請求項９】
画像処理装置がディスプレイに表示する画像を制御する画像処理方法であって、
表示対象の画像のうちの表示領域を変化させる入力情報を入力装置から取得するステップと、
前記入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成しメモリに格納するステップと、
メモリに格納された表示画像を読み出し、ディスプレイに表示するステップと、
を含み、
前記入力情報を入力装置から取得するステップにおいて、表示画像を拡縮させる入力情報を取得したとき、前記メモリに格納するステップは、当該入力情報に応じて表示画像を拡縮させるとともに、画像平面において拡縮の中心となる焦点を含む所定範囲の領域とその他の領域で視認性を異ならせる画像の加工を行うことを特徴とする画像処理方法。
【請求項１０】
ユーザが操作するクライアント端末と、当該クライアント端末からユーザ操作に係る情報を取得し、それに応じて前記クライアント端末で表示すべき表示画像のデータを生成してクライアント端末へ送信するサーバが実施する画像処理方法であって、
前記サーバが、
表示対象の画像のうち表示領域を変化させる入力情報を前記クライアント端末から取得するステップと、
前記入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成しメモリに格納するステップと、
生成された表示画像のデータをメモリから読み出し圧縮符号化するステップと、
圧縮符号化されたデータを前記クライアント端末へ送信するステップと、
前記クライアント端末が、
前記サーバから送信された圧縮符号化されたデータを復号伸長しメモリに格納するステップと、
復号伸長された画像を前記メモリから読み出し、ディスプレイに表示するステップと、
を含み、
前記サーバが入力情報を前記クライアント端末から取得するステップにおいて、表示画像を拡縮させる入力情報を取得したとき、前記メモリに格納するステップは、画像平面において拡縮の中心となる焦点を含む所定範囲の領域に限定して画像が拡縮するように、表示画像を変化させることを特徴とする画像処理方法。
【請求項１１】
表示対象の画像のうちの表示領域を変化させる入力情報を入力装置から取得する機能と、
前記入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成する機能と、
生成された表示画像をディスプレイに表示する機能と、
をコンピュータに実現させるコンピュータプログラムであって、
前記入力情報を入力装置から取得する機能において、表示画像を拡縮させる入力情報を取得したとき、前記表示画像として生成する機能は、当該入力情報に応じて表示画像を拡縮させるとともに、画像平面において拡縮の中心となる焦点を含む所定範囲の領域とその他の領域で視認性を異ならせる画像の加工を行うことを特徴とするコンピュータプログラム。
【請求項１２】
ネットワークを介して接続したクライアント端末からユーザ操作に係る情報を取得し、それに応じて前記クライアント端末で表示すべき表示画像のデータを生成してクライアント端末へ送信するサーバに、
表示対象の画像のうち表示領域を変化させる入力情報を前記クライアント端末から取得する機能と、
前記入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成する機能と、
生成された表示画像のデータを圧縮符号化する機能と、
圧縮符号化されたデータを前記クライアント端末へ送信する機能と、
を実現させるコンピュータプログラムであって、
前記入力情報を前記クライアント端末から取得する機能において、表示画像を拡縮させる入力情報を取得したとき、前記表示画像として生成する機能は、画像平面において拡縮の中心となる焦点を含む所定範囲の領域に限定して画像が拡縮するように、表示画像を変化させることを特徴とするコンピュータプログラム。
【請求項１３】
表示対象の画像のうちの表示領域を変化させる入力情報を入力装置から取得する機能と、
前記入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成する機能と、
生成された表示画像をディスプレイに表示する機能と、
をコンピュータに実現させるコンピュータプログラムを記録した記録媒体であって、
前記入力情報を入力装置から取得する機能において、表示画像を拡縮させる入力情報を取得したとき、前記表示画像として生成する機能は、当該入力情報に応じて表示画像を拡縮させるとともに、画像平面において拡縮の中心となる焦点を含む所定範囲の領域とその他の領域で視認性を異ならせる画像の加工を行うコンピュータプログラムを記録したことを特徴とする、コンピュータにて読み取り可能な記録媒体。
【請求項１４】
ネットワークを介して接続したクライアント端末からユーザ操作に係る情報を取得し、それに応じて前記クライアント端末で表示すべき表示画像のデータを生成してクライアント端末へ送信するサーバに、
表示対象の画像のうち表示領域を変化させる入力情報を前記クライアント端末から取得する機能と、
前記入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成する機能と、
生成された表示画像のデータを圧縮符号化する機能と、
圧縮符号化されたデータを前記クライアント端末へ送信する機能と、
を実現させるコンピュータプログラムを記録した記録媒体であって、
前記入力情報を前記クライアント端末から取得する機能において、表示画像を拡縮させる入力情報を取得したとき、前記表示画像として生成する機能は、画像平面において拡縮の中心となる焦点を含む所定範囲の領域に限定して画像が拡縮するように、表示画像を変化させるコンピュータプログラムを記録したことを特徴とする、コンピュータにて読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ操作に応じて表示画像を更新する画像処理技術に関する。
【背景技術】
【０００２】
ゲームプログラムを実行するだけでなく、動画を再生できる家庭用エンタテインメントシステムが提案されている。この家庭用エンタテインメントシステムでは、ＧＰＵがポリゴンを用いた三次元画像を生成する（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許第６５６３９９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような画像表示技術において、表示対象の画像の拡大、縮小、スクロールによる表示領域の移動を可能とするような表示態様を実現する場合、表示領域が連続的かつ円滑に変化することが望ましい。しかしながら画像のデータサイズや表示システムの処理能力など様々な要因によって、表示領域を移動させている期間における連続的な表示の更新処理が間に合わず、コマ落ちするなど鑑賞者に違和感を与える場合がある。
【０００５】
本発明はこのような課題に鑑みてなされたものであり、その目的は、拡大縮小を含めた表示領域の変化を円滑に行うことのできる画像処理技術を提供することにある。
【課題を解決するための手段】
【０００６】
本発明のある態様は画像処理装置に関する。この画像処理装置は、表示対象の画像のうちの表示領域を変化させる入力情報を取得する入力情報取得部と、入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成する表示画像処理部と、生成された表示画像をディスプレイに表示する表示部と、を備え、入力情報取得部が、表示画像を拡縮させる入力情報を取得したとき、表示画像処理部は、当該入力情報に応じて表示画像を拡縮させるとともに、画像平面において拡縮の中心となる焦点を含む所定範囲の領域とその他の領域で視認性を異ならせる画像の加工を行うことを特徴とする。
【０００７】
ここで領域によって「視認性を異ならせる」とは、表示画像の見やすさ、すなわち画像上の対象物の輪郭、形状、動きがどの程度詳細に見えるか、を異ならせることである。具体的には、視認性を低下させる領域の全体あるいは一部に何らかの遮蔽物や遮蔽効果のある模様や図形を描画したり、輝度、明度、空間解像度、時間解像度を下げたりするなどのいずれでもよい。
【０００８】
本発明の別の態様は画像処理システムに関する。この画像処理システムは、ユーザが操作するクライアント端末と、当該クライアント端末からユーザ操作に係る情報を取得し、それに応じてクライアント端末で表示すべき表示画像のデータを生成してクライアント端末へ送信するサーバと、を備えた画像処理システムであって、サーバは、表示対象の画像のうち表示領域を変化させる入力情報をクライアント端末から取得する入力情報取得部と、入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成する表示画像処理部と、生成された表示画像のデータを圧縮符号化するエンコード部と、圧縮符号化されたデータをクライアント端末へ送信する送信部と、を備え、クライアント端末は、サーバから送信された圧縮符号化されたデータを復号伸長するデコード部と、復号伸長された画像をディスプレイに表示する表示部と、を備え、サーバにおいて、入力情報取得部が、表示画像を拡縮させる入力情報を取得したとき、表示画像処理部は、画像平面において拡縮の中心となる焦点を含む所定範囲の領域に限定して画像が拡縮するように、表示画像を変化させることを特徴とする。
【０００９】
本発明のさらに別の態様は画像処理方法に関する。この画像処理方法は、画像処理装置がディスプレイに表示する画像を制御する画像処理方法であって、表示対象の画像のうちの表示領域を変化させる入力情報を入力装置から取得するステップと、入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成しメモリに格納するステップと、メモリに格納された表示画像を読み出し、ディスプレイに表示するステップと、を含み、入力情報を入力装置から取得するステップにおいて、表示画像を拡縮させる入力情報を取得したとき、メモリに格納するステップは、当該入力情報に応じて表示画像を拡縮させるとともに、画像平面において拡縮の中心となる焦点を含む所定範囲の領域とその他の領域で視認性を異ならせる画像の加工を行うことを特徴とする。
【００１０】
本発明のさらに別の態様も画像処理方法に関する。この画像処理方法は、ユーザが操作するクライアント端末と、当該クライアント端末からユーザ操作に係る情報を取得し、それに応じて前記クライアント端末で表示すべき表示画像のデータを生成してクライアント端末へ送信するサーバが実施する画像処理方法であって、サーバが、表示対象の画像のうち表示領域を変化させる入力情報をクライアント端末から取得するステップと、入力情報に基づき決定した表示領域の内部の画像を、表示画像として生成しメモリに格納するステップと、生成された表示画像のデータをメモリから読み出し圧縮符号化するステップと、圧縮符号化されたデータを前記クライアント端末へ送信するステップと、クライアント端末が、サーバから送信された圧縮符号化されたデータを復号伸長しメモリに格納するステップと、復号伸長された画像を前記メモリから読み出し、ディスプレイに表示するステップと、を含み、サーバが入力情報をクライアント端末から取得するステップにおいて、表示画像を拡縮させる入力情報を取得したとき、メモリに格納するステップは、画像平面において拡縮の中心となる焦点を含む所定範囲の領域に限定して画像が拡縮するように、表示画像を変化させることを特徴とする。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によると、表示環境や条件によらず、表示画像を円滑に変化させることが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本実施の形態における情報処理装置の内部回路構成を示す図である。
【図２】本実施の形態において使用できる画像データの階層構造の概念図である。
【図３】本実施の形態における表示画像に対する拡縮操作を説明するための図である。
【図４】本実施の形態において拡縮操作時に表示される画面の変遷例を示す図である。
【図５】本実施の形態における情報処理装置の機能的な構成を詳細に示す図である。
【図６】本実施の形態における拡縮速度の変化を説明するための図である。
【図７】本実施の形態における拡縮速度と更新領域のサイズの関係を説明するための図である。
【図８】本実施の形態において拡大操作の焦点が画面中心でない場合の表示画像の生成手法を説明するための図である。
【図９】本実施の形態において情報処理装置が拡縮操作に応じて表示画像を更新する処理手順を示すフローチャートである。
【図１０】本実施の形態における情報処理システムの構成を示す図である。
【図１１】本実施の形態におけるクライアント端末とサーバの機能的な構成を示す図である。
【図１２】本実施の形態におけるクライアント端末とサーバが、クライアント端末における表示画像を更新していく処理手順を示すフローチャートである。
【図１３】本実施の形態においてマスク画像の合成処理をクライアント端末側で行う場合のクライアント端末とサーバの機能的な構成を示す図である。
【図１４】本実施の形態において階層データを含む複数の画像データにリンクを設定した様子を模式的に示す図である。
【発明を実施するための形態】
【００１４】
実施の形態１
図１は本実施の形態における情報処理装置の内部回路構成を示している。情報処理装置１０は、ＣＰＵ（Central Processing Unit）１２、ＧＰＵ（Graphics Porcessing Unit)１４、メインメモリ１６を含む。ＣＰＵ１２は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、情報処理装置１０内部の構成要素における処理や信号伝送を制御する。ＧＰＵ１４は画像処理を行う。メインメモリ１６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００１５】
これらの各部は、バス２０を介して相互に接続されている。バス２０にはさらに入出力インターフェース１８が接続されている。入出力インターフェース１８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インタフェースや、有線又は無線ＬＡＮのネットワークインタフェースからなる通信部２２、ハードディスクドライブや不揮発性メモリなどの記憶部２４、画像や音声のデータを出力する出力部２６、ユーザなど外部からの入力を受け付ける入力部２８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部２９が接続される。
【００１６】
ＣＰＵ１２は、記憶部２４に記憶されているオペレーティングシステムを実行することにより情報処理装置１０の全体を制御する。ＣＰＵ１２はまた、記憶部２４やリムーバブル記録媒体から読み出されてメインメモリ１６にロードされた、あるいは通信部２２を介してダウンロードされた各種プログラムを実行する。ＧＰＵ１４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ１２からの描画命令に従って描画処理を行い、表示画像を図示しないフレームバッファに格納する。そしてフレームバッファに格納された表示画像をビデオ信号に変換して出力部２６に出力する。
【００１７】
入力部２８は、キーボード、タッチパッド、ボタン、ジョイスティック、マイクロフォン、カメラなど一般的な入力装置と、当該入力装置から入力信号を取得する機構とを含む。出力部２６は、画像を表示するディスプレイ、音声を出力するスピーカーなどの一般的な出力装置と、当該出力装置へ出力信号を送出する機構とを含む。なお本実施の形態では特に、画像処理技術に焦点を当てているため、以後、音声出力については言及しないが、画像表示とともに必要に応じて音声が出力されていてよい。
【００１８】
情報処理装置１０と、入力部２８に含まれる入力装置、および、出力部２６に含まれるディスプレイは、それぞれ個別の筐体を有し、有線ケーブルで接続されてよい。またはBluetooth（ブルートゥース）（登録商標）プロトコルやIEEE802.11プロトコルなどを用いて無線接続を確立してもよい。あるいは、それらが内部で接続された一体的な筐体を備えた装置としてもよい。例えばディスプレイを筐体表面に配し、その前面に設けたタッチパッドを入力装置とすることにより、携帯ゲーム機、タブレット端末、高機能携帯電話などを実現してもよい。
【００１９】
本実施の形態の情報処理装置１０は少なくとも、表示画像をユーザ操作によって拡大／縮小させたり（以後、単に「拡縮」と呼ぶ）、上下左右方向へスクロールさせたりする機能を有する。以後、このように、表示対象の画像中でディスプレイに表示させる領域を変化させることを、「表示領域の移動」と総称する場合がある。
【００２０】
本実施の形態で表示対象とする画像のデータは特に限定されないが、ここでは一例として、原画像を複数段階に縮小して生成した異なる解像度の画像からなる階層構造を有する画像データについて説明する。このような画像データにおいて、各階層の画像は一又は複数のタイル画像に分割しておく。たとえば最も解像度の低い画像は１つのタイル画像で構成し、最も解像度の高い原画像は、最も多い数のタイル画像で構成する。そして画像表示時は、描画に使用しているタイル画像を、表示画像が所定の解像度になったときに異なる階層のタイル画像に切り替える。これにより拡大表示または縮小表示を迅速に行うことができる。
【００２１】
図２はこのような階層構造を有する画像データの概念図を示す。画像データは、深さ（Ｚ軸）方向に、第０階層３０、第１階層３２、第２階層３４および第３階層３６からなる階層構造を有する。なお同図においては４階層のみ示しているが、階層数はこれに限定されない。以下、このような階層構造をもつ画像データを「階層データ」とよぶ。
【００２２】
図２に示す階層データは４分木の階層構造を有し、各階層は１以上のタイル画像３８で構成される。すべてのタイル画像３８は同じ画素数をもつ同一サイズに形成され、たとえば２５６×２５６画素を有する。各階層の画像データは、一つの画像を異なる解像度で表現しており、最高解像度をもつ第３階層３６の原画像を複数段階に縮小して、第２階層３４、第１階層３２、第０階層３０の画像データが生成される。たとえば第Ｎ階層の解像度（Ｎは０以上の整数）は、左右（Ｘ軸）方向、上下（Ｙ軸）方向ともに、第（Ｎ＋１）階層の解像度の１／２であってよい。
【００２３】
情報処理装置１０において、階層データは、所定の圧縮形式で圧縮された状態で記憶部２４に保持されており、ディスプレイに表示される前に記憶部２４から読み出されてデコードされる。本実施の形態の情報処理装置１０は、複数種類の圧縮形式に対応したデコード機能を有し、たとえばＳ３ＴＣ形式、ＪＰＥＧ形式、ＪＰＥＧ２０００形式の圧縮データをデコード可能とする。
【００２４】
階層データの階層構造は、図２に示すように、左右方向をＸ軸、上下方向をＹ軸、深さ方向をＺ軸として設定され、仮想的な３次元空間を構築する。情報処理装置１０は、入力装置から供給される表示領域移動要求信号に基づき表示領域の変更量を導出すると、その変更量を用いて、仮想空間におけるフレームの４隅の座標（フレーム座標）を順次導出する。なお、仮想空間におけるフレーム座標の代わりに、情報処理装置１０は、階層を特定する情報と、その階層におけるテクスチャ座標（ＵＶ座標）を導出してもよい。以下、階層特定情報およびテクスチャ座標の組み合わせも、フレーム座標と呼ぶ。
【００２５】
本実施の形態で表示対象とする画像のデータは、上述のとおり階層データであってもよいし、それ以外の構造を有していてもよい。また表示対象は静止画のみならず動画像でもよい。動画像の場合、画像フレームを時系列順に並べた一般的な動画像のデータ構造でもよいし、階層構造を有していてもよい。後者の場合、図２で示したような階層データを画像フレームごとに作成し、それを時系列順に並べた構造となる。なお以後の説明においては、これらの表示対象の画像のうち、フレーム座標で決定される、表示すべき領域内部の画像、すなわちディスプレイに表示される領域の画像を「表示画像」と呼ぶ。
【００２６】
画像を表示中、表示領域移動操作がなされた場合、新たに表示すべき領域の圧縮符号化データを記憶部２４からメインメモリ１６に読み出し、復号、伸長処理を施す必要がある。例えば階層データの場合、拡縮操作によって表示に用いるデータの階層が変化すれば、切り替え後の階層のタイル画像のデータを復号、伸長し直す必要がある。また動画像の圧縮符号化に動き補償を利用している場合、拡縮操作時は動きベクトルで予測できない変化成分が多くなり、スクロールと比較し表示画像の生成までに時間を要する場合がある。
【００２７】
そのため、表示領域を移動させる速度を制限したり、表示領域以外の領域や表示されると予測される領域の画像データを投機的に読み出し、復号しておくなどの対策が必要となる。しかし、表示画像を高精細化したり、階層数を増やしたりして、高機能、高品質な画像表示を実現しようとするほど、新たな画像データの読み出し、復号、伸長処理など、表示画像の更新までに必要な処理が増える傾向となる。結果として、操作から表示画像の更新までの応答時間が長くなったり、表示領域の移動途中で表示が一時停止したり断続的に表示されたりする可能性が高くなる。
【００２８】
そこで本実施の形態では、そのような問題が顕著になりやすい、表示画像の拡縮操作において、操作中に求められる情報を選択的に出力するようにすることで、処理コストを軽減し応答性を保証する。図３は表示画像に対する拡縮操作を説明するための図である。まず画像２００は、表示対象の画像全体、あるいは拡大操作の起点となる表示領域の画像を示しており、一例として台上の２つの円柱および立方体を表している。
【００２９】
このような画像を表示中、画面中央の位置２０３周辺を拡大する操作がなされた場合、表示領域は破線矩形のように変化し、拡大操作が終了したときに最終的な表示領域２０２に到達する。同図では表示領域の４隅の変化をそれぞれ矢印で示している。縮小操作の場合は逆の変化となる。なお表示画像中、拡縮操作の中心となる位置２０３を、以後、拡縮操作の「焦点」と呼ぶ。
【００３０】
図４は、図３で示した操作に対し、本実施の形態において表示される画面の変遷例を示している。まず画面２０４は、図３における起点の表示画像を表している。これを拡大して終点の表示画像を表した画面２０８を表示させる場合、その拡大処理期間において、別途準備したマスク画像２１０を合成する。マスク画像２１０は図示するように、画面の周囲から、拡大操作の焦点である画面中央へ集中する複数の線、いわゆる集中線からなる。
【００３１】
一方、拡大中の表示画像は、図３で示した破線矩形内の表示領域のうち、一部の領域、すなわち、図４の表示画像２０６のように、拡大操作の焦点を中心とする所定範囲の領域２０６ａを更新対象とする。以後、拡縮操作によって更新対象とする領域２０６ａを更新領域と呼ぶ。なお図４では、拡大中の表示画像２０６のうち、更新領域２０６ａのみに画像を表しているが、それ以外の領域は、起点となった画面２０４の画像のうち対応する領域の画像をそのまま残してもよいし、白色など単色の塗りつぶし領域としてもよい。いずれにしろ、表示画像中、更新領域内の画像が拡大されていくように変化させる。
【００３２】
このように変化する表示画像とマスク画像２１０をアルファブレンディング処理によって合成することにより、集中線の中心に、更新領域における拡大中の画像が存在するような画面を構成する。その結果、拡大操作において表示される画面は、画面２０４、画面２１２、画面２０８のように変遷する。
【００３３】
合成時は、マスク画像２１０全体を半透明にしてもよいし、更新領域に対応する領域を透明あるいは半透明としそれ以外の領域を不透明としてもよい。前者の場合でも、更新領域に対応する領域の透過率を他の領域より高くしてもよい。一方、表示画像２０６のうち更新領域以外の領域を透明または半透明とし、更新領域は不透明としたり透過率を他より小さくしてもよい。またどちらの画像についても、透過率を画像内で変化させる場合は、更新領域の境界において連続的な変化となるように設定することにより、合成後の画像において更新領域とその他の領域に連続性が得られるようにすることが望ましい。縮小操作の場合は逆に、画面２０８が起点となり、画面２１２、画面２０４、と変遷させるが、縮小過程における画面の構成は拡大操作時と同様である。
【００３４】
マスク画像２１０の集中線のように、一点の消失点へ収束するように放射状の線を描くことにより、物体の奥行き方向の動きや、鑑賞者の視点の集中を表現することができる。これを拡大中、縮小中の画像に合成することにより、拡縮操作の焦点となっている箇所、図４においては立方体の部分を明確にするとともに、拡縮操作中であることを明示的、かつ自然なかたちで表現できる。
【００３５】
高速の乗り物に乗って進行方向を見ているときと同様、拡縮操作を行っている鑑賞者は、その操作速度が大きいほど、より拡大／縮小変化の焦点に集中して画像を見ていることが一般的である。また画像を拡縮する際は、焦点に近い領域ほどその変化が小さい。本実施の形態ではそのような特性を利用することにより、表示領域のうち更新対象とする領域を焦点付近に限定することで、処理コストを軽減し応答性を向上させる。同時に、鑑賞者にとっても注目領域以外の煩雑な動きが目に入ることがなく鑑賞しやすい画面となる。
【００３６】
なお、画像平面に対し垂直方向の動きを直感的に把握できる、という観点において、マスク画像に集中線を導入することは拡縮操作に適しているといえるが、更新領域とその他の領域で視認性に差をつけることのできる画像であれば、集中線以外の画像をマスク画像としてもよい。すなわち装置が拡縮処理中であることが明示でき、さらに画像中、少なくとも焦点周辺の部分的な領域については、操作に応じた拡縮の動きが明確に視認でき、その他の領域は相対的に視認性を低下させることができれば、マスク画像として準備する画像は特に限定されない。例えば雲、パーティクル、同心円、同心矩形、枠などの画像としてもよい。あるいは、操作の起点となる画像などに対し、集中線の方向にモーションブラーを施したり、更新領域以外の領域の輝度を下げたりぼかしたりするなど、画像そのものに何らかの加工を施してもよい。
【００３７】
図５は情報処理装置１０の機能的な構成を詳細に示している。図５および後述する図１１、１３に示す各機能ブロックは、ハードウェア的には、図１に示したＣＰＵ、ＧＰＵ、ＲＡＭ、各種プロセッサなどの構成で実現でき、ソフトウェア的には、記録媒体などからメモリにロードされた、画像処理機能、演算機能、データアクセス機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３８】
情報処理装置１０は、入力装置に対しユーザが行った操作に係る情報を取得する入力情報取得部１０２、ユーザ操作に従い表示中の画像のうち表示すべき領域のフレーム座標を逐次決定するフレーム座標決定部１０４、画像表示に必要なデータを記憶部２４からロードするロード部１０８、圧縮画像データを復号、伸長するデコード部１０６、表示画像を描画する表示画像処理部１１４を含む。
【００３９】
また記憶部２４には、表示対象の画像の圧縮符号化データである画像データ１１６、および、マスク画像の圧縮符号化データであるマスクデータ１１８が格納されている。なお記憶部２４には、情報処理装置１０を動作させるための各種プログラムや必要なデータが格納され、適宜メインメモリ１６にロードされてよいが、ここでは図示を省略している。
【００４０】
入力情報取得部１０２は、ユーザが操作する入力装置を介し操作内容に係る情報を取得する。具体的には、起動させるアプリケーションプログラムや表示させる画像の選択、表示領域の移動要求などを表す情報を取得する。なお情報処理装置１０は、画像表示や表示領域移動などの処理のみならず、ゲーム、ウェブブラウザ、通信など画像の表示を伴う一般的な情報処理を行ってよく、その内容によって入力情報取得部１０２が取得する情報も様々であってよい。また表示領域の移動は、ユーザ操作によるもののほか、そのような情報処理の結果として装置自身が行ってもよい。
【００４１】
ただし以後の説明では、一実施形態としてユーザ操作による表示領域の移動に着目する。そのため、図５では当該態様に係る機能のみが示されているが、その他の機能を含めても基本的な処理は共通となる。フレーム座標決定部１０４は、現在の表示領域のフレーム座標と、入力された表示領域移動要求に基づく移動速度ベクトルから、後続の各時間ステップにおける表示領域のフレーム座標を決定する。ここで「時間ステップ」とは、フレームレートに基づく表示画像の更新タイミングである。決定したフレーム座標は、ロード部１０８、デコード部１０６、表示画像処理部１１４に通知する。
【００４２】
ロード部１０８は、フレーム座標決定部１０４から通知されたフレーム座標に基づき、記憶部２４からメインメモリ１６へロードすべき圧縮画像データの有無を確認し、必要に応じてロードする。例えば図２で示したような階層データを用いる場合、表示に必要な階層およびそのうちのタイル画像のデータを特定し、メインメモリ１６にロードされていないデータがあればそれをロードする。なおロード部１０８は、これまでの表示領域の変化や現在の表示領域などに基づき、以後、必要とされるデータを適宜予測し、前もってロードしておいてもよい。画像のサイズやメインメモリ１６の容量によっては、全ての画像データをロードしておいてもよい。
【００４３】
ロード部１０８はさらに、画像表示の開始時や、そのような表示を伴うアプリケーションプログラムの起動時などに、マスクデータ１１８を記憶部２４からメインメモリ１６にロードしておく。デコード部１０６は、フレーム座標決定部１０４から通知されたフレーム座標に基づき、メインメモリ１６にロードされた圧縮画像データのうち、表示に必要な領域のデータを復号、伸長し、内部のバッファメモリに格納する。あらかじめ広範囲の画像データを復号、伸長し、バッファメモリに格納しておくことにより、メインメモリ１６からの読み出し回数を削減でき、円滑な表示領域移動を実現できる。
【００４４】
デコード部１０６は、内部に領域調整部１２０を備える。領域調整部１２０は、表示画像の拡縮操作の開始、終了のタイミングで、入力情報取得部１０２からその旨の通知を受け、拡縮操作中に更新すべき更新領域を決定する。図４において、フレーム座標決定部１０４から通知されるフレーム座標が、表示画像２０６の枠を表しているとすると、領域調整部１２０はその内部の更新領域２０６ａを決定する。ここで決定する更新領域は上述のとおり、拡縮操作の焦点を中心とする所定範囲の矩形領域である。また後に述べるように、拡縮操作の操作量から定まる拡縮速度を時間変化させる場合などは特に、更新領域のサイズについても時間変化させてよい。
【００４５】
デコード部１０６は、そのようにして決定した更新領域のデータは少なくとも、復号、伸長しバッファメモリに格納済みであるようにする。つまり情報処理装置１０の処理能力やバッファメモリの容量、それまでになされたユーザ操作、表示対象の画像のデータサイズなどによって、表示画像の更新に要する処理に対しリソースに余裕がない場合であっても、最低限、更新領域の画像は更新できるようにしておく。これにより、そのような状況変化に対し頑健性のある画像表示を可能とする。
【００４６】
より簡便には、上述の通り、常に更新領域の画像のみを更新するように、データの復号、伸長を行う。一方、更新領域のデータを優先的に復号、伸長し、その後に周囲のデータを復号、伸長する、というように、処理に優先順位をつけてもよい。なお拡縮操作以外の期間は、フレーム座標決定部１０４から通知されたフレーム座標で表される領域をそのまま更新領域とすればよい。
【００４７】
またデコード部１０６は、画像表示の開始時や、そのような表示を伴うアプリケーションプログラムの起動時などに、メインメモリ１６にロードされたマスクデータ１１８も復号、伸長し、別途、バッファメモリに格納しておく。表示画像処理部１１４は、フレーム座標決定部１０４から通知されたフレーム座標に基づき、デコード部１０６のバッファメモリに格納された画像データを用いて、表示画像を内部のフレームバッファに描画し、適当なタイミングでディスプレイに表示する。
【００４８】
表示画像処理部１１４は、内部にマスク制御部１２２を備える。拡縮操作時、デコード部１０６のバッファメモリには、少なくとも更新領域については拡縮操作に応じて前の時間ステップから更新された画像のデータが格納されているため、表示画像処理部１１４は、フレーム座標決定部１０４から通知されたフレーム座標に基づき当該画像のデータを読み出しフレームバッファに描画している。
【００４９】
一方、マスク制御部１２２は、表示画像の拡縮操作の開始、終了のタイミングで、入力情報取得部１０２からその旨の通知を受け、デコード部１０６から読み出した復号、伸長後のマスクデータを用いて、フレームバッファに描画された表示画像にマスク画像を合成する。表示画像処理部１１４は合成後の画像をディスプレイに表示する。これにより、拡縮操作期間においては、図４の画面２１２のような画像が表示される。
【００５０】
次に、拡縮操作の操作量と、拡縮速度および更新領域のサイズの関係について説明する。ユーザは拡縮操作時、その操作量を調整することにより、拡縮速度、すなわち単位時間あたりのフレーム座標の移動量を制御できるようにする。操作量の調整手法は入力手段によって様々である。例えば拡縮操作を入力装置に備えられたアナログスティックによって実現する場合、操作量はアナログスティックの傾斜角度によって調整する。タッチパッドに接触させた人差し指および親指の間隔変化、いわゆるピンチイン、ピンチアウト操作によって拡縮を実現させる場合は、指の速度で調整する。
【００５１】
フレーム座標決定部１０４は、操作量に基づきフレーム座標の速度ベクトルを求め、それに応じて新たなフレーム座標を各時間ステップに対して算出する。このとき拡縮操作の開始直後から、操作量に比例する速度でフレーム座標を移動させると、表示領域が急に変化して意図する操作より過分な拡縮がなされてしまったり、表示画像の更新が遅れ、不連続に変化したりすることが考えられる。
【００５２】
そこでフレーム座標決定部１０４は、入力装置から得られる、要求された操作量を表す矩形波信号と所定の伝達関数とを畳み込み演算することにより、拡縮速度を緩やかに変化させる。ここで伝達関数はガウス関数としてもよい。図６はこのときの拡縮速度の変化を説明するための図である。同図において時間変化２２０は、入力装置からの入力信号を表し、フレーム座標を座標Ａから座標Ｂまで移動させる拡縮操作がなされたことを示している。なおフレーム座標は表示領域の４隅の座標であるため、実際には４つの座標からなるが、図３で示したように、それらは常に、ディスプレイのアスペクト比を有する矩形の４隅を構成するように連動するため、拡縮速度はいずれか１つの座標の動きで規定できる。
【００５３】
この入力信号に対し、ガウス関数２２４で畳み込み演算を行うと、フレーム座標の実際の時間変化２２８が得られる。すなわち起点の座標Ａから緩やかな速度で移動を開始して徐々に速度を上げ、中間地点で最大速度となった後、徐々に速度を減少させて座標Ｂに至るようになる。最大速度を規定するガウス関数２２４の最大値は、実際の表示画像の変化の様子や処理能力などに応じて適宜定めておく。特に、最大速度となる中間地点において、表示の更新処理が間に合うようにする。
【００５４】
図７は拡縮速度と更新領域のサイズの関係を説明するための図である。同図上段がフレーム座標の移動速度の変化、中段がそれに応じた更新領域のサイズ変化を示している。横軸は時間経過を示し、時刻０で拡縮処理が開始され、時刻Ｔで処理が終了、すなわち終点の画像が表示されるとする。図６で説明したように、拡縮操作の信号をガウス関数などで畳み込み演算することにより、フレーム座標の移動速度２３０は、基本的には、拡縮処理開始直後および拡縮処理終了直前において小さく、処理の中間地点で最大となるように変化する。なお実際には操作の継続時間やその間の操作量の変化に応じてもフレーム座標の移動速度は変化する。
【００５５】
このような拡縮速度の変化に対し、領域調整部１２０は図示するように、拡縮速度が大きいほど更新領域のサイズ２３２が小さくなるように更新領域を決定する。なお図示する更新領域のサイズ２３２の変化は一例であり、上記のような条件が定性的に満たされれば、拡縮速度から領域サイズを算出する変換式は様々であってよい。例えば、領域サイズが拡縮速度に反比例するようにしてもよいし、表示領域全体のサイズからの減少分が拡縮速度に比例するようにしてもよい。また領域サイズは一辺の長さでもよいし面積でもよい。
【００５６】
いずれにしろ図７の下段に示すように、拡縮操作期間の代表的な時刻Ｔ１、Ｔ２、Ｔ３における、マスク画像合成前の表示画像２４０、２４２、２４４において、更新領域はそれぞれ、更新領域２４０ａ、２４２ａ、２４４ａのようなサイズとなる。つまり最も拡縮速度の大きい時刻Ｔ２における更新領域２４２ａは、他の時刻Ｔ１、Ｔ３における更新領域２４０ａ、２４４ａより小さくなる。なお上述のようにそれ以外の領域は更新対象から外すことにより操作直前の画像のままとしてもよいし、塗りつぶしとしてもよい。また同図においては拡大操作を想定し、更新領域２４０ａ、２４２ａ、２４４ａ内部の画像が時間経過に従い拡大されているが、縮小操作では当然、内部の画像は縮小される。
【００５７】
このように拡縮速度が大きいほど更新領域のサイズを小さくすることにより、表示画像を更新するために必要な処理が少なくなり、拡縮速度に対し更新処理が間に合わない、といった状況の発生を回避しやすくなる。また上述の通り、拡縮速度が増加するほど、その焦点を中心に注目領域が狭まるという人間の特性と実際の画面変化とが合致しているため、鑑賞者にとっても自然で見やすい表示となる。
【００５８】
これまで述べた態様では、画面の中心を拡縮操作の焦点としていたが、それ以外の箇所を拡大したり、当該箇所を中心に縮小したり、といったように、スクロールと拡縮操作を同時に受け付けることも考えられる。この場合、拡縮操作の焦点は、起点の位置から画面中央へ移動していくため、更新領域の中心もそれとともに移動させる。さらに、集中線が常に当該焦点に収束するように、マスク画像を変化させる必要がある。図８は拡大操作の焦点が画面中心でない場合の表示画像の生成手法を説明するための図である。
【００５９】
まず画像２５０を表示中、領域２５２を拡大する操作がなされたとする。図示するように領域２５２は、画像２５０の右上に寄った位置にある。このように画面の中央を焦点としない拡縮操作を許容する場合、画面のサイズより大きいマスク画像２５４のデータを準備する。そして集中線の収束する点が、画面中、拡縮操作の焦点の位置に来るようにマスク画像を切り取る。切り取った領域２５４ａを、拡大中の表示画像に合成し、画面２５６を表示する。このとき更新領域の中心は、拡大操作の焦点となるように決定する。更新領域のサイズは図７で説明したのと同様に変化させてよい。
【００６０】
拡大処理が進行するに従い、拡大操作の焦点は画面の中央に徐々に移動していく。それに伴いマスク画像の切り取り領域および更新領域も移動させていく。そして拡大操作の終点においては焦点が画面の中央に位置するため、集中線の収束する点が中央に来るようにマスク画像を切り取る。切り取った領域２５４ｂを終点の画像に合成することにより画面２５８を表示する。これにより、拡大操作の焦点が画面中央になくても、集中線が収束する位置を当該焦点に合わせることが容易にできる。縮小操作の場合も同様に、焦点の位置に合わせて更新領域の配置と、マスク画像の切り取り領域を変化させる。
【００６１】
次に以上の構成によって実現できる情報処理装置の動作について説明する。図９は情報処理装置１０が、拡縮操作に応じて表示画像を更新する処理手順を示すフローチャートである。このフローチャートは、ユーザが情報処理装置１０に対し、コンテンツまたは表示すべき画像の選択とともに表示処理の開始要求を行ったときに開始される。なお情報処理装置１０は表示画像の拡縮処理以外の処理を、ユーザ操作やコンテンツ出力処理の進捗などに伴い適宜実行してよいが、本フローチャートでは省略している。
【００６２】
ユーザからコンテンツや画像の選択入力がなされたら、情報処理装置１０はロード部１０８、デコード部１０６、表示画像処理部１１４などの協働により、選択に応じた画像データ１１６を用いて初期画像を表示する（Ｓ１０）。初期画像として動画像を表示する場合は、フレームレートに基づく時間ステップごとに画像フレームの表示を更新していく。また静止画像、動画像に関わらず、ユーザ操作やコンテンツの進捗等に応じて適宜表示が更新される。なおこのとき、マスクデータ１１８についても復号、伸長しておき、デコード部１０６内のバッファメモリ、またはマスク制御部１２２の内部メモリなどに格納しておく。マスクデータ１１８または復号後のマスク画像のデータは、あらかじめマスク制御部１２２内で保持するようにしてもよい。
【００６３】
このような状況においてユーザが表示画像の拡縮操作を行ったら（Ｓ１２）、デコード部１０６の領域調整部１２０は、入力情報取得部１０２からその旨の通知と操作量に係る情報を取得し、フレーム座標決定部１０４から通知されたフレーム座標で表される表示領域のうち更新領域を決定する（Ｓ１４）。具体的には、操作量に応じた拡縮速度から更新領域のサイズを決定し、拡縮操作の焦点が中心となるように当該更新領域の位置を決定する。デコード部１０６は、少なくとも更新領域内の画像のデータについては、メインメモリ１６から読み出し、復号、伸長してバッファメモリに格納しておくようにする。画像データが階層データである場合は、拡縮操作に応じて復号するデータの階層を適宜切り替える。
【００６４】
次に表示画像処理部１１４は、少なくとも更新領域内の画像を、拡縮操作に応じて１時間ステップ分、拡大、あるいは縮小させ、内部のフレームバッファの対応する領域に描き出すことにより、フレームバッファ内の更新領域のデータを更新する（Ｓ１６）。続いて表示画像処理部１１４のマスク制御部１２２は、フレームバッファに格納された画像に対しマスク画像を合成する（Ｓ１８）。このとき上述のように、マスク画像のうち更新領域のみを半透明とするなどしてアルファブレンディングを行うことにより、更新領域における画像の拡縮が明示されるとともに、それ以外の領域は隠蔽される。
【００６５】
表示画像処理部１１４は、そのようにして生成した表示画像をビデオ信号に変換して適当なタイミングで順次送出することにより、表示装置の表示画像を更新していく（Ｓ２０）。拡縮操作による終点の画像が表示されるまで、Ｓ１４からＳ２０の処理を繰り返すことにより、少なくとも更新領域の画像は操作に応じて拡縮していくような画像が表示される（Ｓ２２のＮ、Ｓ１４からＳ２０）。そして終点の画像が表示されたら、拡縮処理を終了する（Ｓ２２のＹ）。
【００６６】
なお図９のフローチャートでは、拡縮処理開始時、Ｓ１４、Ｓ１６において更新領域を限定して更新したあと、Ｓ１８において初めてマスク画像を合成した。一方、Ｓ１２において拡縮操作が開始された直後に、その時点で表示中の画像にマスク画像を合成して表示し、その後に更新領域の画像の拡縮処理を開始するようにしてもよい。この場合、拡縮操作直後や終点画像表示直前における拡縮速度は、図７で示した、操作量に対する畳み込み演算から求められるものよりさらに遅くしてもよい。いずれにしろマスク画像を即座に表示することにより、情報処理装置の処理能力や画像の詳細度などによらず、拡縮操作に対する装置の反応性の良さを演出することができる。
【００６７】
以上述べた本実施の形態によれば、表示画像の拡縮操作がなされている期間、画像を拡縮させながら集中線などのマスク画像を合成する。これにより、拡縮処理がなされていること、拡縮の焦点がどこにあるか、といった、ユーザが求める情報について応答性よく提示することができる。マスク画像として集中線を用いることにより、集中線の収束する先にある対象物に対し視点を近づけたり遠ざけたりしている感覚をユーザに与えることができ、画像の拡大、縮小処理との親和性が高い。
【００６８】
また、マスク画像を合成することによって、焦点から離れた領域の画像は正確に拡縮表示する必要がなくなるため、拡縮処理の対象から外すか、処理の優先順位を下げることができる。結果として拡縮処理における処理コストを下げることができ、情報処理装置の能力や、画像の種類、データ構造、精細度などによらず、安定的な応答性で拡縮処理を遂行できる。それと同時に、ユーザが注目してない部分の情報量を意図的に落とすことにより、見やすくシンプルな画像表示を実現できる。
【００６９】
実施の形態２
実施の形態１では、１つの情報処理装置内で、自らが保持する画像データを表示し拡縮処理を行う態様について説明した。本実施の形態では、表示対象の画像データの一部または全部をサーバが保持し、クライアント端末におけるユーザ操作に応じて必要なデータをネットワークを介してリアルタイムで送信することにより、クライアント端末で操作に応じた表示を行う態様について説明する。
【００７０】
図１０は本実施の形態における情報処理システムの構成を示す。情報処理システム３００においてクライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎは、それぞれネットワーク３０３を介してサーバ３３０に接続可能に構成され、サーバ３３０とデータの送受信を行う。サーバ３３０はクライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎからの要求に応じて情報処理を実施し、その結果生成した出力データをクライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎに送信する。クライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎおよびサーバ３３０は、ネットワーク３０３へ有線または無線で接続する。クライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎとサーバ３３０との接続手法や情報処理の依頼、出力データの送受信に係る手続きには一般的な技術を適用することができる。
【００７１】
クライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎはそれぞれのユーザが操作する装置であり、ユーザが行った操作を入力情報としてサーバ３３０へ送信し、それに応じた情報処理を要求する。そしてサーバ３３０が当該情報処理を行った結果、生成した出力データを受信し、画像や音声として出力する。クライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎは、タブレット、携帯電話、携帯端末、パーソナルコンピュータなど、一般的な装置や端末のいずれでもよい。なおネットワーク３０３に接続するクライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎ、サーバ３３０の数は特に限定されない。以後、クライアント端末３１０ａ、３１０ｂ、・・・、３１０ｎを総称してクライアント端末３１０と呼ぶ。
【００７２】
なおサーバ３３０がクライアント端末３１０からの要求に応じて行う処理の内容は特に限定されず、指定された静止画像や動画像を表示させるための処理でもよいし、ゲーム、計算、データ作成など一般的な情報処理のいずれでもよい。いずれにしろクライアント端末３１０におけるユーザの操作に応じた処理をリアルタイムで実行し、それに応じて生成した画像や音声などの出力データをクライアント端末３１０に逐次送信する。
【００７３】
クライアント端末３１０、サーバ３３０は、実施の形態１において図１を参照して説明した情報処理装置１０と同様の回路構成を有する。図１１はクライアント端末３１０とサーバ３３０の機能的な構成を示している。クライアント端末３１０は、ユーザ操作を受け付ける入力部３１２、受け付けた操作内容を入力情報としてサーバ３３０へ送信する入力情報送信部３１４、サーバ３３０から送信された画像データを受信するデータ受信部３１６、画像データをデコードするデコード部３１８、画像を表示する表示部３２０を含む。
【００７４】
サーバ３３０は、クライアント端末３１０からユーザによる入力情報を受信する入力情報受信部３３２、クライアント端末３１０から要求された情報処理を実施する情報処理部３３６、情報処理の結果として表示すべき画像を生成する画像生成部３４４、生成された表示画像のデータを圧縮符号化するエンコード部３３８、圧縮符号化された画像データをクライアント端末３１０に送信するデータ送信部３４０を含む。
【００７５】
サーバ３３０はさらに、表示対象の画像の圧縮符号化データである画像データ３５６、およびマスク画像の圧縮符号化データであるマスクデータ３５８を格納した記憶部３３４を含む。記憶部３３４は図１、図５の記憶部２４に対応し、サーバ３３０を動作させるための各種プログラムや必要なデータが格納され、適宜メインメモリなどにロードされてよいが、ここでは図示を省略している。
【００７６】
クライアント端末３１０の入力部３１２は、ユーザが表示対象の画像や実行する情報処理の内容を指定したり、表示画像の拡縮操作を含む各種コマンドを入力したりするための入力手段であり、ゲームパッド、ボタン、タッチパネル、キーボード、マウス、ジョイスティックなど一般的な入力装置の少なくともいずれかによって実現できる。入力情報送信部３１４は、サーバ３３０と一般的な手法により通信を確立し、入力部３１２に対するユーザの操作内容を表す入力情報の信号を生成してサーバ３３０に送信する。
【００７７】
サーバ３３０の入力情報受信部３３２は、クライアント端末３１０から送信された入力情報を受信する。情報処理部３３６は、入力情報受信部３３２が受信した入力情報に従い情報処理を実施する。上述したように入力情報はクライアント端末３１０から逐次送信され、情報処理部３３６はそれに応じて情報処理をリアルタイムで進捗させる。クライアント端末３１０の入力情報送信部３１４からサーバ３３０の入力情報受信部３３２、情報処理部３３６、と入力情報を即時伝送することにより、あたかもクライアント端末３１０内部で情報処理を行っているかの如く情報処理を実施できる。
【００７８】
具体的なプロトコルや入力信号のフォーマット、その解釈手法などには一般的なエミュレーションの技術を適用できるためここでは説明を省略する。画像生成部３４４は、情報処理部３３６からの要求に従い、処理の結果として表示すべき画像を生成する。クライアント端末３１０が要求する情報処理が、指定した画像を表示させ、その表示領域をユーザ操作に応じて変化させる処理であった場合、情報処理部３３６は、実施の形態１における情報処理装置１０のフレーム座標決定部１０４に対応する処理を行い、画像生成部３４４は、ロード部１０８、デコード部１０６、表示画像処理部１１４に対応する処理を行う。
【００７９】
すなわち画像生成部３４４は、情報処理部３３６から通知されたフレーム座標に基づき、ロードすべき圧縮画像データを記憶部３３４から内部のメモリにロードしたうえ、復号、伸長して内部のバッファメモリに格納する。そして当該データを用いて最終的に表示すべき領域の画像を生成し、エンコード部３３８に供給する。一方、情報処理部３３６が行う情報処理がゲームなどの場合、画像生成部３４４は情報処理部３３６による制御のもと、記憶部３３４に格納されたモデルデータ、テクスチャデータなどを用いてコンピュータグラフィックス技術により画像を描画するなどしてもよい。
【００８０】
画像生成部３４４は、内部に領域調整部３４６およびマスク制御部３４８を備える。領域調整部３４６およびマスク制御部３４８の機能は基本的に、実施の形態１の情報処理装置１０における領域調整部１２０およびマスク制御部１２２と同様である。すなわちクライアント端末３１０においてユーザによる拡縮操作が行われた旨を入力情報受信部３３２から通知されたら、領域調整部３４６は表示領域中の更新領域を特定する。マスク制御部３４８は、当該更新領域に対し拡縮操作に応じた更新がなされた表示画像にマスク画像を合成する。そのため画像生成部３４４は、記憶部３３４から読み出したマスクデータ３５８を、拡縮操作以前のタイミングで適宜復号、伸長し内部で保持しておく。
【００８１】
ただし実施の形態１と比較し本実施の形態では、クライアント端末３１０において画像が表示されるまでに、画像生成部３４４が生成した表示画像を一旦、圧縮符号化し、クライアント端末３１０へ転送する、という処理が介在する。そのため、当該更新領域に限定して画像を更新することにより、転送すべきデータサイズを抑える、という新たな効果が見込める。動画像を一般的なフレーム間予測により圧縮する場合は当然、フレーム間の差分が少ないほど圧縮後のデータサイズを抑えることができる。したがって、拡縮操作に応じた変化を更新領域に限定し、その他の領域を静止画とすることにより、データサイズを格段に軽減させることができる。
【００８２】
表示領域が画像平面を平行移動するのみのスクロール操作の場合、その動きは圧縮時に生成する動きベクトルによって高精度に予測できる。一方、拡縮操作による画像の変化は動きベクトルによって表現することが難しいため、自ずと差分画像が多くの情報を担うことになる。結果として圧縮効率が悪化するとともに、当該圧縮データを用いた表示画像の画質も低下する。このように、拡縮操作が圧縮符号化データに与える固有の影響を、更新対象の領域を限定することによって最小限に抑えることができるとともに、ビットレートを部分的に高くすることにより、更新されている領域については画質を維持することができる。
【００８３】
この態様においても、実施の形態１の図７を参照して説明したように、拡縮速度が大きいほど更新領域のサイズを小さくする。これにより、一連の拡縮操作期間で拡縮速度が大きくなっても、圧縮符号化したデータのサイズの変動、ひいてはビットレートへの影響を抑えられ、安定的な転送、表示が可能となる。
【００８４】
エンコード部３３８は、拡縮操作中か否かに関わらず、画像生成部３４４から供給された表示画像のデータを圧縮符号化し、順次、データ送信部３４０に供給する。拡縮操作に応じて更新領域のみが更新されている場合は、上述の通り当該領域のビットレートを、他の領域のビットレートより高く設定する。このためエンコード部３３８は、領域調整部３４６から更新領域に係る情報を順次取得し、それに応じて設定するビットレートの分布を変化させる。データ送信部３４０は、圧縮符号化された画像データを順次、クライアント端末３１０に転送する。具体的な転送処理には一般的な技術を適用できる。
【００８５】
クライアント端末３１０のデータ受信部３１６は、サーバ３３０から送信された画像データを受信する。デコード部３１８は、受信した画像データを復号、伸張し、内部のフレームバッファに画像として展開する。この際、ビットレートが異なっていることが考えられるため、データに含まれるデコードパラメータの設定情報に従い、適宜デコード条件を切り替える。
【００８６】
表示部３２０は、フレームバッファに展開された画像をディスプレイに表示する。したがって表示部３２０は、画像を表示する液晶ディスプレイ、有機ＥＬディスプレイ、プラズマディスプレイなどの一般的なディスプレイおよびそれらの装置を制御する機構を含む。さらに音声信号を音響として出力するスピーカ、イヤフォン、ヘッドフォンなどの音声出力機器を含めてもよい。
【００８７】
次にこの構成によって実現できるシステムの動作を説明する。図１２はクライアント端末３１０とサーバ３３０が、クライアント端末３１０における表示画像を更新していく処理手順を示すフローチャートである。同図ではデータの生成、送信、出力などの各処理を１つのステップとして示しているが、処理内容によっては時間幅を有する場合があり、この場合は適宜並行して処理が進捗するものとする。
【００８８】
まずクライアント端末３１０の入力部３１２に対し、ユーザが情報処理の内容や表示する画像データを指定するなどして処理の開始を要求する操作を行うと（Ｓ３０）、入力情報送信部３１４は当該処理開始要求のための信号を作成しサーバ３３０に送信する。サーバ３３０の入力情報受信部３３２が当該処理開始要求信号を受信すると、情報処理部３３６、画像生成部３４４、エンコード部３３８の協働によって生成、圧縮符号化された初期画像のデータが、データ送信部３４０によってクライアント端末３１０へ送信される（Ｓ３２）。
【００８９】
クライアント端末３１０のデータ受信部３１６が初期画像のデータを受信すると、デコード部３１８がそれを復号、伸長し、表示部３２０が出力することにより、初期画像がクライアント端末３１０に表示される（Ｓ３４）。なお初期画像のデータが動画など時間的な幅を有するデータである場合、Ｓ３２における送信処理はストリーム転送でよく、クライアント端末３１０は受信したデータを順次デコードし表示する。
【００９０】
そのようにして表示された初期画像を見ながら、ユーザが入力部３１２に対し表示領域移動などの操作を行ったら、入力情報送信部３１４はその都度、当該入力情報をサーバ３３０に送信する（Ｓ３６）。ユーザの操作が拡縮操作でない場合（Ｓ３８のＮ）、情報処理部３３６は当該操作の内容に応じた処理を行い、画像生成部３４４はそれに応じて表示画像を生成する（Ｓ４０）。この処理は、スクロール操作に応じて表示領域を移動させたり、ゲーム画面を進捗させるなど、一般的な表示画像更新処理である。
【００９１】
一方、ユーザの操作が拡縮操作であった場合（Ｓ３８のＹ）、画像生成部３４４は表示領域のうち更新領域のみを拡縮操作に応じて１時間ステップ分、更新したうえ（Ｓ４２）、マスク画像を合成する（Ｓ４４）。そしてエンコード部３３８は、拡縮処理か否かに関わらず、画像生成部３４４が生成した表示画像を圧縮符号化する（Ｓ４６）。ただし拡縮処理時は上述のように、更新領域に高いビットレートを割り当てる。
【００９２】
データ送信部３４０が当該圧縮符号化データを時間ステップごとに送信すると、クライアント端末３１０において、デコード部３１８が当該データを復号、伸長する（Ｓ４８）。そして表示部３２０がディスプレイに出力することにより、ユーザ操作に応じて変化する画像がクライアント端末３１０に表示される（Ｓ５０）。例えば拡縮操作時は、更新領域のみが徐々に拡縮されていく動画のデータが生成されるため、サーバ３３０はそれを順次ストリーム転送する。Ｓ３６からＳ５０の処理を繰り返すことにより、ユーザ操作に応じて画面が適宜更新される態様を実現できる。
【００９３】
以上述べた実施形態では、サーバ３３０において最終的な表示画像を完成させ、それを圧縮符号化してクライアント端末３１０に転送するため、クライアント端末３１０では復号、伸長処理のみで表示が実現できる。そのためクライアント端末３１０が簡素な構成であっても、高度な画像表示が可能となる。この形態による圧縮効率の向上効果は、拡縮操作の焦点が画面中心になく、マスク画像が画面全体で変化していても十分に得られる。
【００９４】
すなわち、実施の形態１の図８で説明したように、拡縮操作の焦点が画面内を移動する場合は、合成するマスク画像の切り取り領域を移動させる。この処理は実質的にはマスク画像をスクロールしていることに他ならず、これに伴うフレーム間の変化は、動きベクトルにより予測できる。結果として、画面全体を拡縮させた画像と比較し、高い圧縮効率を見込める。
【００９５】
一方、マスク画像の合成処理をクライアント端末３１０側で行うようにしてもよい。図１３はこの場合のクライアント端末３１０とサーバ３３０の機能的な構成を示している。図１１の構成と比較すると、クライアント端末３１０はマスクデータ３５８を格納する記憶部３３４ａを備え、表示部３２０にマスク制御部３４８ａを備える点が異なる。当然、サーバ３３０にはマスクデータやマスク制御部を備える必要がなくなる。それ以外の構成は図１１と同じであるため、詳細な説明は省略する。
【００９６】
この場合、サーバ３３０は拡縮操作に対し、図１２のＳ４４におけるマスク画像合成処理を省略し、更新領域を拡縮操作に応じて更新した画像のデータを圧縮符号化してクライアント端末３１０へ転送する。クライアント端末３１０では、デコード部３１８が復号、伸長した当該画像に対し、マスク制御部３４８ａがマスクデータ３５８を用いてマスク画像を合成する。そのためクライアント端末３１０の入力部３１２は、拡縮操作量、拡縮の焦点など、拡縮操作の内容によって決定される、マスク画像の合成に必要な情報をマスク制御部３４８ａに逐次通知しておく。
【００９７】
このようにすると、サーバ３３０ではマスク画像を合成する前の画像、すなわち更新領域のみが前のフレームからの差分を含む画像のみを圧縮符号化すればよくなり、圧縮効率がより高くなる。またサーバ３３０からのデータを待たずに、拡縮操作がなされたタイミングで、クライアント端末３１０側で表示画像にマスク画像を合成する態様とすれば、実施の形態１で述べたのと同様に、拡縮操作に対する応答性の良さを演出できる。
【００９８】
このような分業をさらに発展させ、クライアント端末３１０を、実施の形態１で説明した情報処理装置１０に置き換えてもよい。つまりクライアント端末３１０自身にも表示画像描画機能を設けてもよい。この場合、クライアント端末３１０が画像データを保持しない場合に限り、サーバ３３０から表示画像のデータを受信して表示する態様を実現できる。このとき、クライアント端末３１０に備えたマスク制御部３４８ａ（または実施の形態１のマスク制御部１２２）は、自装置内で生成した画像かサーバ３３０から転送された画像かに関わらず、拡縮操作時には表示画像にマスク画像を合成して表示する。サーバ３３０から転送する場合は、図１３で説明したのと同様、マスク画像合成前の表示画像のデータを圧縮符号化して送信すればよい。クライアント端末３１０内で表示画像を生成する場合は、実施の形態１と同様の動作となる。
【００９９】
このように、クライアント端末３１０が表示対象の画像データを保持しているか否かによってデータの読み出し元を切り替える形態の好適な例として、画像内の所定の領域にリンクを設定する手法が考えられる。例えばクライアント端末３１０において、ある画像を表示中、あらかじめ設定された領域内に表示領域が入ったときに、表示に用いる画像データを切り替える。このような態様を実現するため、画像自体のデータとともに、画像データを切り替えるためのきっかけとなる領域および切り替え先の画像データを設定したデータを準備する。以後、このよう複数の画像データ間の関連づけを「リンク」、リンクによって画像データを切り替えることを「リンクの実行」、リンク実行のきっかけとなる画像上の領域を「リンク領域」と呼ぶ。
【０１００】
図１４は階層データを含む複数の画像データにリンクを設定した様子を模式的に示している。同図の例では３つの階層データ１７０、１７２、１７４および１つの動画データ１８２にリンクが設定されており、リンク領域の対応を点線矢印で示している。例えば、階層データ１７０を用いて画像を表示中、第２階層に設定されたリンク領域１７６に表示領域が重なったとき、別の階層データ１７２の第０階層を用いた表示に切り替える（リンクａ）。この場合、リンク先のリンク領域は階層データ１７２の第０階層の画像全体となる。
【０１０１】
このような設定により、階層データ１７０を用いた画像表示においてリンク領域１７６付近をズームインしていくと、まず階層データ１７０の第０階層、第１階層、第２階層と、画像描画に用いるデータが切り替わり、さらに、階層データ自体が階層データ１７２に切り替わる。結果としてリンク領域１７６内の対象物をより拡大していくことが可能となる。
【０１０２】
逆に、階層データ１７２を用いて画像を表示中、第０階層の解像度までズームアウトしたら、元の階層データ１７０のリンク領域１７６へ画像を戻す。同様に、階層データ１７２を用いて画像を表示中、第２階層に設定されたリンク領域１７８に表示領域が重なったとき、階層データ１７４の第０階層を用いた表示に切り替える（リンクｂ）。その後、階層データ１７４の第０階層の解像度までズームアウトしたら、元の階層データ１７２のリンク領域１７８へ画像を戻す。
【０１０３】
リンクが設定された複数の階層データで表される対象物は同一の物でもよいし、全く別の物でもよい。後者の場合、画像データの切り替わりとともに別の画像世界が展開するような演出を実現できる。一方、階層データ１７０には別のリンク領域１８０が設定されており、そのリンク先を動画データ１８２としている（リンクｃ）。例えばリンク元のリンク領域１８０には当該動画のタイトル画像を埋め込んでおき、当該領域をズームアップしていくとリンクが実行されて動画再生が開始されるようにすることができる。
【０１０４】
リンク先は階層データ、動画データに限らず、階層構造を持たない静止画データ、スライドショーによって順次表示される複数の静止画データ、音声データなどでもよい。リンク先を動画データ、音声データとした場合、ユーザが再生を停止させたときや再生が完了したときにリンク元の画像に戻るようにしてもよい。リンク先が動画データ、音声データなど、それまで処理していた画像データ以外の種類のデータである場合は、処理対象のデータを切り替えるのみならず、当該データを再生、処理するための機能を適宜起動させる。
【０１０５】
このような技術を利用すると、リンクが設定された複数の画像データの一部をクライアント端末３１０が保持し、クライアント端末３１０における表示領域の移動に伴い、必要に応じてサーバ３３０が表示画像のデータを転送する態様を実現できる。これにより統一された操作性の元、データネットワーク上でアクセス可能な範囲を広げつつ、クライアント端末３１０で保持されているか否かによってデータの区別が明確化されるため、品質管理や課金制御も容易になる。
【０１０６】
例えば図１４で示したデータネットワークのうち、階層データ１７０および１７２をクライアント端末３１０の記憶部に格納する。そしてクライアント端末３１０が保持しない画像データをリンク先とするリンクｂやリンクｃを実行する際には、データの読み出し元を自らの記憶部からサーバ３３０へ切り替える。同図において一点鎖線１８４がその切り替え境界を表している。切り替え境界を越える画像データについては、上述のとおり、クライアント端末３１０における入力情報をサーバ３３０へ送信し、サーバ３３０側でそれに応じた処理を行った結果、表示画像のデータをクライアント端末３１０へ送信する。
【０１０７】
上記の技術は、表示領域の移動によって、画像データの読み出し元をシームレスに切り替える点に大きな特徴がある。したがって本実施の形態において、データの読み出し元に関わらずクライアント端末３１０側でマスク画像を合成することにより、常時同じ応答速度で拡縮操作に対応できるようにすることは、このようなデータの読み出し元切り替え技術との親和性の面でも有効である。
【０１０８】
以上述べた本実施の形態によれば、クライアント端末におけるユーザ操作に応じてサーバが表示画像を生成し、クライアント端末側でそれを表示するシステムにおいて、表示画像の拡縮操作がなされたら、サーバは、表示画像のうち一部の領域のみに限定して画像を更新する。それ以外の領域は拡縮操作直前の画像のままとするか、塗りつぶし領域などとする。これにより、拡縮操作の終点の画像が表示されるまでは、フレーム間の差分を含む領域が限定的となり、圧縮効率が高くなる。一般的な拡縮処理によって画面全体を変化させると、画面スクロールのように動きベクトルによって表現できる成分が小さいため、圧縮効率が悪く画質の低下にもつながった。上記のように更新領域を限定的とすることにより、拡縮操作固有のデメリットを最小限に抑えることができる。
【０１０９】
また、そのように限定的に更新された表示画像に、サーバまたはクライアント端末において集中線などのマスク画像を合成する。これにより、更新されない領域を隠蔽できるとともに、実施の形態１で述べたのと同様、拡縮処理がなされていること、拡縮の焦点がどこにあるか、といった、ユーザが求める情報について応答性よく提示することができる。ひいては、ユーザが注目してない部分の情報量を軽減させ、見やすくシンプルな画像表示を実現できる。
【０１１０】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【符号の説明】
【０１１１】
１０  情報処理装置、  １２  ＣＰＵ、  １６  メインメモリ、  ２４  記憶部、  ２６出力部、  ２８  入力部、  ３８  タイル画像、  １０２  入力情報取得部、  １０４  フレーム座標決定部、  １０６  デコード部、  １０８  ロード部、  １１４ 表示画像処理部、  １１６  画像データ、  １１８  マスクデータ、  １２０  領域調整部、  １２２  マスク制御部、  ３００  情報処理システム、  ３１０  クライアント端末、  ３１２  入力部、  ３１４  入力情報送信部、  ３１６  データ受信部、  ３１８  デコード部、  ３２０  表示部、  ３３０  サーバ、  ３３２  入力情報受信部、  ３３４  記憶部、  ３３６  情報処理部、  ３３８  エンコード部、  ３４０  データ送信部、  ３４４  画像生成部、  ３４６  領域調整部、  ３４８  マスク制御部、  ３５６  画像データ、  ３５８  マスクデータ。
【図１】
2015005227.tif 000003
【図２】
2015005227.tif 000004
【図５】
2015005227.tif 000005
【図６】
2015005227.tif 000006
【図９】
2015005227.tif 000007
【図１０】
2015005227.tif 000008
【図１１】
2015005227.tif 000009
【図１２】
2015005227.tif 000010
【図１３】
2015005227.tif 000011
【図１４】
2015005227.tif 000012
【図３】
2015005227.tif 000013
【図４】
2015005227.tif 000014
【図７】
2015005227.tif 000015
【図８】
2015005227.tif 000016