説明

画像処理装置および画像処理方法

【課題】表示デバイスよりも高い解像度の画像の描画を改善する技術を提供する。
【解決手段】デコード実行部34は、表示デバイスの解像度よりも高い解像度で符号化された画像データを復号する。表示バッファ24は、デコード実行部34が復号した画像データを格納する。予備バッファ26は、表示バッファ24に格納された画像データを表示中に、デコード実行部34が復号する画像データを格納する。縮小画像バッファ22は、画像データ全体を縮小して得られる画像データを格納する。画像表示制御部12は、表示バッファ24に格納された画像データから予備バッファ26に格納された画像データへ切り替える際に、デコード実行部34による画像データのデコードが終了している場合、予備バッファ26を表示バッファ24として利用し、画像データのデコードが終了していない場合、縮小画像バッファ22の画像を拡大して表示バッファ24に格納する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理装置および画像処理方法に関する。
【背景技術】
【0002】
近年、デジタルカメラ等の撮像装置が広く普及し、ユーザが手軽にデジタル画像データを取得することができるようになってきている。これらの撮像装置の性能向上は著しく、一般のユーザであっても、1000万画素を軽く超えるデジタル画像データが撮像できるようになってきている。さらに、カメラをパンして、被写体を複数の異なる視点から連続的に撮像して得られる複数の画像データを画像処理を用いて合成することで、さらに高画素数のHD(High-Definition)パノラマ画像を生成することができる撮像装置も普及し始めている。
【0003】
画像データの画素数が大きくなると、家庭用テレビや一般のPC(Personal Computer)用のモニタでは、画像データを縮小しなければ全体を観賞することができない。逆に、画素数の大きな画像データを等倍率などの高解像度で観賞するためには、画像データの一部を表示デバイスに表示することになる。画像データ中の表示位置を移動させながら表示したり、さらに表示画像を拡縮しながら表示させたりすると、場合によっては画像のデコード処理等の画像処理が、画像表示に追いつかなくなることも起こり得る。
【0004】
画像表示のための画像処理が追いつかない場合の対処技術に関し、複数の画像データのサムネイル画像を一覧表示する処理をスムーズに行うために、表示すべき画像データを先読みして処理する技術が開示されている(特許文献1参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−293044号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
画像のデコード処理が画像描画に追いつかなくなると、例えば表示画像に一部が表示されなくなったり、部分的に異なる解像度の画像となったりするなど、画像データの観賞に支障をきたすことも起こり得る。
【0007】
本発明はこうした課題に鑑みてなされたものであり、その目的は、表示デバイスよりも高い解像度の画像の描画を改善する技術を提供することにある。
【課題を解決するための手段】
【0008】
上記課題を解決するために、本発明のある態様は画像処理装置である。この装置は、表示デバイスの解像度よりも高い解像度で符号化された画像データを復号するデコード実行部と、前記デコード実行部が復号した、前記表示デバイスの表示領域よりも大きな画像データを格納する表示バッファと、前記表示デバイスにおいて前記表示バッファに格納された画像データを表示中に、前記デコード実行部が復号する画像データを格納する予備バッファと、前記デコード実行部が復号した画像データ全体を縮小して得られる画像データを格納する縮小画像バッファと、前記表示バッファ、前記予備バッファ、および前記縮小画像バッファのいずれかに切り替えて、格納された画像データを前記表示デバイスに表示する画像表示制御部とを含む。ここで前記画像表示制御部は、前記表示バッファから前記予備バッファへ切り替える際に、前記デコード実行部による画像データのデコードが終了している場合、前記予備バッファを前記表示バッファとして利用し、前記デコード実行部による画像データのデコードが終了していない場合、前記縮小画像バッファの画像を拡大して前記表示バッファに格納する。
【0009】
本発明の別の態様は、画像処理方法である。この方法は、表示デバイスの解像度よりも高い解像度で符号化された画像データを復号するステップと、前記表示デバイスの表示領域よりも大きな画像データを復号して表示バッファに格納するステップと、前記表示デバイスにおいて前記表示バッファに格納された画像データを表示中に、復号した画像データを予備バッファに格納するステップと、復号した画像データ全体を縮小して得られる画像データを縮小画像バッファに格納するステップと、前記表示バッファに格納された画像の表示から前記予備バッファに格納された画像の表示へ切り替える際に、前記予備バッファへの画像データのデコードが終了している場合、前記予備バッファを前記表示バッファとして利用し、前記予備バッファへの画像データのデコードが終了していない場合、前記縮小画像バッファの画像を拡大して前記表示バッファに格納するステップとをプロセッサに実行させる。
【0010】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0011】
本発明によれば、表示デバイスよりも高い解像度の画像の描画を改善する技術を提供することができる。
【図面の簡単な説明】
【0012】
【図1】実施の形態に係る画像処理装置の内部構造を模式的に示す図である。
【図2】表示デバイスに表示される部分画像と画像データ全体との関係の一例を示す図である。
【図3】表示バッファの構成を模式的に示す図である。
【図4】第2画像データがデコード開始領域に到達したときに、デコード実行部が復号して予備バッファに格納する画像データの一例を示す図である。
【図5】実施の形態に係る画像処理装置の処理の流れを説明するフローチャートの前半部である。
【図6】実施の形態に係る画像処理装置の処理の流れを説明するフローチャートの後半部である。
【図7】表示位置制御部が自動スクロールモードの場合の第1画像データ、第2画像データ、および表示バッファが格納する画像データの大小関係を示す図である。
【発明を実施するための形態】
【0013】
実施の形態の概要を述べる。実施の形態に係る画像処理装置は、高解像度画像の一部に設定したウィンドウを動かしながらウィンドウ内の画像を表示デバイスに表示する際に、ウィンドウの動きを先読みして画像の復号を開始する。
【0014】
図1は、実施の形態に係る画像処理装置100の内部構成を模式的に示す図である。実施の形態に係る画像処理装置100は、画像制御部10、画像バッファ20、デコーダ30、表示位置制御部40、操作受付部50、データベース60、およびユーザインタフェース70を含む。図1は、実施の形態に係る画像処理装置100を実現するための機能構成を示しており、その他の構成は省略している。図1において、さまざまな処理を行う機能ブロックとして記載される各要素は、ハードウェア的には、CPU(Central Processing Unit)、メインメモリ、その他のLSI(Large Scale Integration)で構成することができ、ソフトウェア的には、メインメモリにロードされたプログラムなどによって実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組み合わせによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではないが、画像処理装置100の一例としては、据置型のゲーム機があげられる。
【0015】
データベース60は、主にユーザが撮像したデジタル画像データを格納する。データベース60はHDD(Hard Disk Drive)やSSD(Solid State Drive)等の記憶装置や、Blu-ray Disc(登録商標)等の取り外し可能な記録媒体により実現できる。データベース60が格納する画像データは、通常の2次元画像のみならず、左目用の視差画像と右目用の視差画像とのペアから構成される3次元画像や、マルチアングル画像を含んでもよい。
【0016】
ユーザインタフェース70は、コントローラ等の入力デバイス(図示せず)を介して、画像処理装置100に対するユーザの指示を取得する。ユーザインタフェース70はまた、画像処理装置100が出力する映像を、モニタ等の表示デバイス(図示せず)に出力する。
【0017】
操作受付部50は、ユーザインタフェース70を介してユーザから画像表示を制御するための表示パラメータを取得する。画像表示のパラメータは、表示すべき画像データのファイル名、画像データ中の表示位置、拡縮率等のパラメータである。表示位置制御部40は、後述する表示バッファ24における、表示デバイスに表示される画像データの表示位置を取得する。
【0018】
デコーダ30は、デコード制御部32とデコード実行部34とを含み、データベース60から符号化された画像データを取得して復号する。より具体的には、デコード実行部34は、データベース60から取得した画像データが符号化されている場合、その画像データを復号する。ここで、デコード実行部34は、データベース60から取得した画像が表示デバイスの解像度よりも高い解像度で符号化された画像データである場合、表示デバイスに表示する部分の画像データを復号する。
【0019】
表示位置制御部40は、操作受付部50を介してユーザから表示パラメータを取得し、画像データのどの部分を表示すべきかを示す表示位置を取得する。表示デバイスが表示する画像が矩形であるとすると、表示位置は、例えば次のようにすれば特定できる。すなわち、データベース60に格納された画像データの任意の点(例えば、画像データの左上の点)を原点とする直交座標系を設定し、表示デバイスに表示する矩形における対角線の両端の位置座標と、拡縮率とを特定する。あるいは、表示位置制御部40は、対角線の両端の位置座標に替えて、頂点の位置座標と矩形の高さおよび幅のピクセル数を特定してもよい。
【0020】
ここで、表示デバイスの解像度よりも高い解像度の画像の一例として、パノラマ画像があげられる。パノラマ画像の中には、高さが4096ピクセル、幅が10480ピクセル、総画素数が約43メガピクセルの大きさであるHDパノラマ画像のような高解像度の画像も存在する。このような画像を等倍率で表示デバイスに表示することは困難であり、画像データの一部を等倍または拡縮して表示デバイスに表示することが多く行われる。
【0021】
図2は、表示デバイスに表示される部分画像と画像データ全体との関係の一例を示す図である。図2において、第1画像データ200は、HDパノラマ画像の一例を表し、第2画像データ202は、第1画像データ200のうち、表示デバイスに表示される画像の一例を表す。画像処理装置100のユーザは、図示しないコントローラ等を操作することにより、第1画像データ200内において第2画像データ202を移動することができる。ユーザはまた、コントローラ等を操作することにより、第2画像データ202の表示倍率を変更することができる。第2画像データ202を拡大して表示する場合、第2画像データ202の第1画像データ200において占める領域は狭くなる。反対に、第2画像データ202を縮小して表示する場合、第2画像データ202の第1画像データ200において占める領域は広くなる。
【0022】
図1の説明に戻る。デコード制御部32は、表示位置制御部40から表示パラメータを取得し、表示デバイスに表示するための画像データを特定する。デコード実行部34は、デコード制御部32が特定した画像データを復号する。
【0023】
画像バッファ20は、デコード実行部34が復号した画像データを格納する。画像バッファ20は、デコード実行部34が復号した画像データを、後述する用途に応じて縮小画像バッファ22、表示バッファ24、または予備バッファ26のいずれかに格納する。
【0024】
表示バッファ24は、デコード実行部34が復号した、表示デバイスに表示するための画像データを格納する。ここでデコード実行部34は、表示デバイス表示領域よりも大きな画像データを復号し、表示バッファ24は、表示デバイス表示領域よりも大きな画像データを格納する。
【0025】
上述したとおり、ユーザのコントローラの操作等により、第2画像データ202は第1画像データ200内を移動する。このため、表示バッファ24が表示デバイスの表示領域と同じ大きさの画像を格納する場合、ユーザが第2画像データ202を移動するとすぐに、新しい画像データを復号する必要が生じる。ユーザによるパン操作やズーム操作の量が多い場合、デコード実行部34の計算処理が間に合わないことも起こりうる。
【0026】
そこで表示バッファ24は、表示デバイスの表示領域よりも大きな画像データを格納し、ーザが第2画像データ202を表示バッファ24が格納する画像データの範囲内を移動する限り、新たな復号処理をしなくても画像を表示可能とする。さらに、表示バッファ24に所定のデコード開始領域を設け、第2画像データ202の表示位置がこの領域に到達すると、デコード制御部32は、デコード実行部34に画像データの復号を開始させる。このとき、デコード実行部34は、新たに復号した画像データを予備バッファ26に格納する。このように、表示バッファ24は、デコード実行部34が復号した、表示デバイスの表示領域よりも大きな画像データを格納する用途に用いられる。また、予備バッファ26は、表示デバイスにおいて表示バッファに格納された画像データを表示中に、デコード実行部34が復号する画像データを格納する用途に用いられる。
【0027】
表示バッファ24にマージンを設けて表示デバイスの表示領域よりも大きな画像データを格納できるようにし、かつ表示バッファ24とは異なる別のバッファである予備バッファ26を用意する。これにより、デコード実行部34が新たな画像データを復号するための時間と、復号したデータを格納するための領域とを用意することが可能となる。そして、第2画像データ202の表示位置が表示バッファ24の縁部の境界に到達したこと場合、予備バッファ26を表示バッファ24として利用するとともに、表示バッファ24を予備バッファ26として利用する。
【0028】
図3は、表示バッファ24の構成を模式的に示す図である。図3に示すように、表示バッファ24が格納する画像データは、表示デバイスが表示する第2画像データ202よりも大きい。ユーザがコントローラ等を操作すると、表示バッファ24内における第2画像データ202の表示位置も移動する。表示バッファ24の縁部にはデコード開始領域28が設けられており、図3においては斜線で示す領域である。ユーザによる操作の間、表示位置制御部40は、第2画像データ202の一部がデコード開始領域28を含むか否かを監視する。
【0029】
表示位置制御部40が、表示バッファ24中のデコード開始領域28に第2画像データ202が到達したことを取得すると、その旨をデコード制御部32に通知する。デコード制御部32は、デコード開始領域28に到達したときの第2画像データ202の中心を中心とする画像データを、デコード実行部34に復号を開始させる。
【0030】
図4は、第2画像データ202がデコード開始領域28に到達したときに、デコード実行部34が復号して予備バッファ26に格納する画像データの一例を示す図である。ユーザは第2画像データ202の位置を自由に変更することができる。したがって、デコード制御部32は、デコード実行部34に復号させるべき画像データを予測することは一般に困難である。
【0031】
そこで、表示バッファ24内にデコード開始領域28を設けておき、図4に示すように第2画像データ202がデコード開始領域28に到達した時点でデコードすべき領域を決定する。このとき、第2画像データ202の中心点204を中心として新たな画像データを設定することにより、その後ユーザが第2画像データ202をどの方向に移動させたとしても、表示べき画像の復号が完了している可能性を高めることができる。
【0032】
なお、表示バッファ24の大きさを、第2画像データ202と比較してどれくらい大きくすればよいかは、バッファの実装に用いるメモリ等のコストを勘案して実験によって定めればよいが、例えば、第2画像データ202の幅および高さがそれぞれ2倍の画像データを格納できる大きさとする。また、デコード開始領域28を表示バッファ24内のどこに設定するかも実験によって決定すればよいが、例えば、表示バッファ24に最大限格納可能な画像データの高さの5%分の長さを、表示バッファ24の縁から「のりしろ」のように設定する。
【0033】
図1の説明に戻る。画像制御部10は、画像バッファ20内の各バッファに格納されている画像データをユーザインタフェース70を介して表示デバイスに出力する。このため、画像制御部10は、画像表示制御部12と画像処理部14とを含む。
【0034】
画像処理部14は、デコード制御部32から画像の拡縮率を取得し、表示バッファ24に格納されている画像データを拡大または縮小する。画像表示制御部12は、表示バッファ24、予備バッファ26、または画像処理部14が処理した画像データのいずれかに切り替えて、画像データを表示デバイスに出力して表示させる。このように、ユーザが第2画像データ202を移動させることによって新規に画像データを復号する必要が生じた場合、デコード実行部34が復号を終了して予備バッファ26に画像データを格納するまでは、表示バッファ24の画像データを表示する。これにより、デコード実行部34が画像データを復号するために必要な時間を確保することが可能となる。
【0035】
ところで、デコード制御部32がユーザの操作を先読みしてデコード実行部34に前もって画像データを復号させるようにしたとしても、ユーザによる第2画像データ202の移動速度や、拡縮率の変更の速度が早い場合、デコード実行部34による画像データのデコードが間に合わないことも起こり得る。これに対処するため、デコード制御部32は、表示デバイスに表示すべき画像データ全体をデコード実行部34にあらかじめ復号させるとともに、画像処理部14に画像データ全体を縮小して縮小画像バッファ22に格納させる。このように、縮小画像バッファ22は、デコード実行部34が復号した画像データ全体を、画像処理部14が縮小して得られる画像データを格納する用途に用いられる。
【0036】
表示位置制御部40が、表示バッファ24の境界に第2画像データ202が到達したことを取得したとき、デコード実行部34による画像データのデコードが終了していない場合、画像表示制御部12は、画像処理部14に縮小画像バッファ22に格納されている画像データを拡大して表示バッファ24に格納させる。次いで、画像表示制御部12は表示バッファ24の画像データを表示デバイスに出力する。これにより、デコード実行部34による画像データのデコードが間に合わない場合であっても、表示デバイスに画像データを表示することが可能となる。
【0037】
ここで、画像表示制御部12は、デコード実行部34による画像データのデコードが間に合わない領域に対応する縮小画像バッファ22の領域のみを、画像処理部14に拡大させるのではなく、表示すべき画像データ全体に対応する縮小画像バッファ22の領域を、画像処理部14に拡大させてもよい。これにより、表示デバイスに表示される画像の拡縮率が統一され、部分的に解像度の異なる画像が表示されることを防止できる。
【0038】
画像表示制御部12は、画像処理部14が縮小画像バッファ22の画像を拡大して表示バッファ24に格納した画像を表示中に、デコード実行部34が画像データのデコードを終了した場合、予備バッファ26を表示バッファ24として利用するように切り替える。これにより、表示デバイスに表示する画像データの解像度を、一度に高解像度の画像に切り替えることが可能となる。
【0039】
図5は、実施の形態に係る画像処理装置100の処理の流れを説明するフローチャートの前半部である。本フローチャートにおける処理は、例えば画像処理装置100の電源が投入されたときに開始する。
【0040】
表示位置制御部40は、ユーザインタフェース70および操作受付部50を介して、表示デバイスに表示すべき第2画像データ202の位置座標を取得する(S10)。表示位置制御部40は、取得した位置座標をもとに第2画像データ202が表示バッファ24内のデコード開始領域28に到達したか否かを取得する。
【0041】
第2画像データ202が表示バッファ24内のデコード開始領域28に到達していない場合(S12のN)、ステップS10に戻って、表示位置制御部40は位置座標の取得を継続する。
【0042】
第2画像データ202が表示バッファ24内のデコード開始領域28に到達した場合(S12のY)、表示位置制御部40はその旨をデコード制御部32に通知し、デコード制御部32は、デコード実行部34に新しい画像データの復号の開始を指示する(S14)。デコード実行部34は、デコード制御部32に指示を受けた時点における第2画像データ202の中心点を中心に、新しい画像データを復号する(S16)。
【0043】
第2画像データ202が表示バッファ24の境界に到達していない間(S18のN)、デコード実行部34は、新しい画像データを復号を継続する。第2画像データ202が表示バッファ24の境界に到達した際に(S18のY)、デコード実行部34が新しい画像データの復号を終了している場合(S20のY)、画像表示制御部12は、表示バッファ24と予備バッファ26とを交換する(S22)。
【0044】
画像表示制御部12は次いで、予備バッファ26を新たな表示画像バッファとして利用し、格納されている画像データを表示デバイスに出力して表示させる(S24)。画像表示制御部12が画像データを出力するとステップS10に戻る。
【0045】
第2画像データ202が表示バッファ24の境界に到達した際に(S18のY)、デコード実行部34が新しい画像データの復号を終了していない場合(S20のN)、画像表示制御部12は、縮小画像バッファ22に格納されている画像を画像処理部14に拡大させて、表示バッファに格納させる(S26)。画像表示制御部12は、表示バッファに格納された画像を表示デバイスに出力して表示させる(S28)。
【0046】
図6は、実施の形態に係る画像処理装置100の処理の流れを説明するフローチャートの後半部である。
【0047】
画像表示制御部12が縮小画像バッファ22に格納されている画像を拡大して表示させた後、デコード実行部34による新しい画像データの復号が終了し予備バッファ26に画像が格納された場合(S30のY)、図5におけるステップS10に戻って以降の処理を継続する。
【0048】
画像表示制御部12が縮小画像バッファ22に格納されている画像を拡大して表示させた後、デコード実行部34による新しい画像データの復号が終了していない間(S30のN)、表示位置制御部40は、表示デバイスに表示すべき第2画像データ202の位置座標を取得する(S32)。表示位置制御部40はさらに、取得した位置座標をもとに、第2画像データ202が表示バッファ24内のデコード開始領域28に到達したか否かを取得する。
【0049】
第2画像データ202が表示バッファ24内のデコード開始領域28に到達していない場合(S34のN)、ステップS30に戻って、デコード制御部32はデコード実行部34による新しい画像データの復号が終了しているか否かの監視を継続する。第2画像データ202が表示バッファ24内のデコード開始領域28に到達した場合(S34のY)、図5におけるステップS14に戻って以降の処理を継続する。
【0050】
画像処理装置100は、図5および図6に示すステップS10からステップS34までを繰り返すことで、データベース60に格納された画像データを復号して表示デバイスに表示する。
【0051】
以上の構成による動作は以下の通りである。ユーザが、画像処理装置100を用いて、データベース60に格納されている、表示デバイスが表示可能な画素数よりも大きな画素数の画像データの一部を表示させようとする。表示位置制御部40は、表示すべき画像の位置座標を取得する。デコード制御部32は、表示位置制御部40が取得した位置座標における画像データを、デコード実行部34に復号させ、表示バッファ24に格納させる。
【0052】
表示バッファ24はマージンを持っており、表示すべき画像データよりも大きな画像データが格納されている。ユーザが画像データの表示位置を動かしたとき、新しく画像データの復号の必要が生じる場合は、画像表示制御部12は表示バッファ24のマージンに格納された画像データを出力しつつ、その間、デコード実行部34は、新たな画像データを復号して予備バッファ26に格納する。デコード実行部34の復号処理が間に合えば、画像表示制御部12は表示バッファ24から予備バッファ26に切り替えて、予備バッファ26に格納されている画像データを表示する。一方で、表示バッファ24は予備バッファとして利用される。
【0053】
デコード実行部34の復号処理が間に合わない場合、画像表示制御部12は、あらかじめ縮小画像バッファ22に格納されている画像データ全体の縮小画像から表示すべき画像データを切り出し、拡縮処理を施した上で表示する。
【0054】
以上説明したように、実施の形態に係る画像処理装置100によれば、表示デバイスよりも高い解像度の画像描画を改善する技術を提供することができる。とくに、画像のデコード処理が画像表示に追いつかなくなることに起因する、表示画像の一部が表示されなくなることや、部分的に異なる解像度の画像を表示することを防止することができる。
【0055】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【0056】
上記の説明では、表示デバイスよりも高い解像度の画像データの一部を表示するとき、ユーザが自由に表示する画像の位置を操作できる場合について説明した。表示位置制御部40は、画像データをパンしながら画像データ全体を走査して表示する自動スクロールモードも存在する。ユーザはユーザインタフェース70および操作受付部50を介して表示位置制御部40を自動スクロールモードに設定することも可能である。以下変形例として、表示位置制御部40が自動スクロールモードの場合の画像処理装置100内の各部の動作を説明する。
【0057】
図7は、表示位置制御部40が自動スクロールモードの場合の第1画像データ200、第2画像データ202、および表示バッファ24が格納する画像データの大小関係を示す図である。図7(a)は、表示位置制御部40が自動スクロールを開始した直後の関係を表し、図7(b)は、第2画像データ202が第1画像データ200の内部に移動したときの関係を表す。
【0058】
表示位置制御部40は、第1画像データ200の長手方向の一方の端に第2画像データ202を設定し、第1画像データ200の長手方向の他方の端に至るまで、第2画像データ202の表示位置を一定の速度で移動する。
【0059】
デコード制御部32は、表示位置制御部40が第1画像データ200の長手方向の一方の端に第2画像データ202を設定すると、第2画像データ202よりも第1画像データ200の長手方向に広い画像データを、デコード実行部34に復号させる。
【0060】
表示バッファ24は、デコード実行部34が復号した画像データを格納し、画像表示制御部12は、表示位置制御部40が設定する表示位置に合わせて、表示バッファ24内の対応する画像データを表示デバイスに出力する。ここで、表示位置制御部40は第2画像データ202の表示位置を一定の速度で移動することから、第2画像データ202が表示バッファ24の境界に到達する時間を計算することが可能である。具体的には、表示バッファ24が、第2画像データ202よりも第1画像データ200の長手方向にAピクセル分広い画像データを格納しているとき、第2画像データ202の表示位置の移動速度が毎秒Bピクセルであるならば、第2画像データ202が表示バッファ24の境界に到達するまでの時間は、A/B秒となる。
【0061】
デコード実行部34は、第2画像データ202が表示バッファ24の境界に到達するまでの時間を予測して、第2画像データ202が表示バッファ24の境界に到達する前までに、表示すべき画像データをデコード実行部34に復号させる。デコード実行部34は、復号した画像データを予備バッファ26に格納し、画像表示制御部12は、表示バッファ24を予備バッファ26に切り替える。以後、画像表示制御部12は予備バッファ26を表示バッファとして利用するとともに、表示バッファ24を予備バッファとして利用する。このように、画像表示制御部12が表示バッファ24と予備バッファ26との用途を交互に入れ替えるながら使用することにより、デコード実行部34が復号を終了するための時間を確保することが可能となる。
【0062】
なお、第1画像データ200が、被写体を複数の異なる視点から連続的に撮像して得られる複数の画像データを画像処理を用いて合成されたパノラマ画像である場合、画像処理をしたカメラ等の種類によっては、画像の長手方向のいずれの方向から撮像したかを画像データの付加情報として記録する場合がある。
【0063】
画像データにいずれの方向から撮像したかを示す付加情報が記録されている場合、表示位置制御部40は、画像データを撮像した方向から自動スクロールを開始しても良い。これにより、ユーザが連続撮像する際にカメラを動かした方向と同じ方向で自動スクロールすることが可能となる。さらに、画像データに対して回転、左右反転等をした場合でも、ユーザが連続撮像する際にカメラを動かした方向と同じ方向で自動スクロールすることが可能となる点で有利である。
【符号の説明】
【0064】
10 画像制御部、 12 画像表示制御部、 14 画像処理部、 20 画像バッファ、 22 縮小画像バッファ、 24 表示バッファ、 26 予備バッファ、 28 デコード開始領域、 30 デコーダ、 32 デコード制御部、 34 デコード実行部、 40 表示位置制御部、 50 操作受付部、 60 データベース、 70 ユーザインタフェース、 100 画像処理装置、 200 第1画像データ、 202 第2画像データ、 204 中心点。

【特許請求の範囲】
【請求項1】
表示デバイスの解像度よりも高い解像度で符号化された画像データを復号するデコード実行部と、
前記デコード実行部が復号した、前記表示デバイスの表示領域よりも大きな画像データを格納する表示バッファと、
前記表示デバイスにおいて前記表示バッファに格納された画像データを表示中に、前記デコード実行部が復号する画像データを格納する予備バッファと、
前記デコード実行部が復号した画像データ全体を縮小して得られる画像データを格納する縮小画像バッファと、
前記表示バッファ、前記予備バッファ、および前記縮小画像バッファのいずれかに切り替えて、格納された画像データを前記表示デバイスに表示する画像表示制御部とを含み、
前記画像表示制御部は、前記表示バッファから前記予備バッファへ切り替える際に、前記デコード実行部による画像データのデコードが終了している場合、前記予備バッファを前記表示バッファとして利用し、前記デコード実行部による画像データのデコードが終了していない場合、前記縮小画像バッファの画像を拡大して前記表示バッファに格納することを特徴とする画像処理装置。
【請求項2】
前記表示バッファにおける、前記表示デバイスに表示される画像データの表示位置を取得する表示位置制御部をさらに含み、
前記表示位置制御部が、前記表示バッファ中に定められたデコード開始領域に前記表示位置が到達したことを取得することを契機として、前記デコード実行部は、表示領域の中心を中心とする画像データをデコードして予備バッファに格納することを開始することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像表示制御部は、前記表示位置制御部が、前記表示バッファの境界に前記表示位置が到達したことを取得したとき、前記デコード実行部による画像データのデコードが終了している場合、前記予備バッファを前記表示バッファとして利用することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記画像表示制御部は、前記表示位置制御部が、前記表示バッファの境界に前記表示位置が到達したことを取得したとき、前記デコード実行部による画像データのデコードが終了していない場合、前記縮小画像バッファの画像を拡大して前記表示バッファに格納することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記表示位置制御部が、前記表示バッファの境界に前記表示位置が到達したことを取得したとき、前記デコード実行部が画像データのデコードを終了していない場合において、前記縮小画像バッファの画像を拡大して前記表示バッファに格納した後に前記デコード実行部が画像データのデコードを終了した場合、前記画像表示制御部は、前記予備バッファを前記表示バッファとして利用することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
表示デバイスの解像度よりも高い解像度で符号化された画像データを復号するステップと、
前記表示デバイスの表示領域よりも大きな画像データを復号して表示バッファに格納するステップと、
前記表示デバイスにおいて前記表示バッファに格納された画像データを表示中に、復号した画像データを予備バッファに格納するステップと、
復号した画像データ全体を縮小して得られる画像データを縮小画像バッファに格納するステップと、
前記表示バッファに格納された画像の表示から前記予備バッファに格納された画像の表示へ切り替える際に、前記予備バッファへの画像データのデコードが終了している場合、前記予備バッファを前記表示バッファとして利用し、前記予備バッファへの画像データのデコードが終了していない場合、前記縮小画像バッファの画像を拡大して前記表示バッファに格納するステップとをプロセッサに実行させることを特徴とする画像処理方法。
【請求項7】
表示デバイスの解像度よりも高い解像度で符号化された画像データを復号する機能と、
前記表示デバイスの表示領域よりも大きな画像データを復号して表示バッファに格納する機能と、
前記表示デバイスにおいて前記表示バッファに格納された画像データを表示中に、復号した画像データを予備バッファに格納する機能と、
復号した画像データ全体を縮小して得られる画像データを縮小画像バッファに格納する機能と、
前記表示バッファに格納された画像の表示から前記予備バッファに格納された画像の表示へ切り替える際に、前記予備バッファへの画像データのデコードが終了している場合、前記予備バッファを前記表示バッファとして利用し、前記予備バッファへの画像データのデコードが終了していない場合、前記縮小画像バッファの画像を拡大して前記表示バッファに格納する機能とをコンピュータに実現させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−220683(P2012−220683A)
【公開日】平成24年11月12日(2012.11.12)
【国際特許分類】
【出願番号】特願2011−85667(P2011−85667)
【出願日】平成23年4月7日(2011.4.7)
【出願人】(310021766)株式会社ソニー・コンピュータエンタテインメント (417)
【Fターム(参考)】