以下、本発明の実施の形態を、図面等を参照しながら説明する。但し、本発明は多くの異なる態様で実施することが可能であり、以下に例示する実施の形態の記載内容に限定して解釈されるものではない。また、本明細書と各図において、既出の図に関して前述したものと同様の要素には、同一の符号を付して、詳細な説明を適宜省略することがある。
(第1実施形態)
本実施形態では、本発明の一実施形態に係るプログラムについて、図1乃至図12を参照して説明する。
本発明の一実施形態に係るプログラムでは、通信端末10において、対象画像が選択されると、対象画像に超解像処理を実行して、高解像度画像に変換された対象画像を表示する。また、本明細書等において、低解像度画像及び高解像度画像とは、相対関係を表すだけであり、その解像度については特に限定されない。本実施形態では、低解像度画像を、720×1440(約100万ピクセル)とし、高解像度画像(4K)を、2048×4096(約890万画素)として説明する。
[通信端末のハードウェア構成]
通信端末10は、通信部11、表示部12、操作部13、検出部14、画像撮像部15、記憶部16、及び制御部17を有する。本実施形態では、通信端末10は、スマートフォンを例として説明する。通信端末10とは、データ通信機能を有するコンピュータをいう。通信端末10の種類は、特に限定されない。通信端末10は、携帯端末であってもよいし、据え置き型の端末であってもよいし、移動体などの任意の装置に取り付けられた端末であってもよい。通信端末10は、スマートフォン、ヘッドマウントディスプレイ、タブレット端末、携帯ゲーム機、パーソナルコンピュータ、又は車載器であってもよい。また、VR(Virtual Reality)ゴーグル(ヘッドマウントアダプタ)にスマートフォンが装着されてもよい。この場合、VRゴーグルに装着されたスマートフォンは、ヘッドマウントディスプレイの一種である。
通信部11は、例えば、インターネット等のネットワーク30を介して外部のサーバや他の通信端末と、有線又は無線通信によって、データの送受信が可能な状態で接続されている。例えば、通信部11は、外部サーバから低解像度画像を受信する。また、他の通信端末のカメラで撮影された低解像度画像を受信してもよい。
表示部12は、液晶ディスプレイ、有機ELディスプレイなどの表示装置であって、制御部17の制御に基づいて表示領域に各種の画面を表示する。表示部12は、低解像度画像又は高解像度画像を表示する。ここで、表示部12は、高解像度画像をVR表示してもよい。VR表示とは、高解像度画像のうち、通信端末10の姿勢に応じた視野範囲の映像を表示する。通信端末10として、例えば、ヘッドマウントディスプレイを用いる場合には、ヘッドマウントディスプレイを装着したユーザの顔の向きに応じた視野範囲の画像を表示する。
操作部13は、例えば、タッチセンサを含み、ユーザが操作した位置に対応した情報を制御部17に出力する。このタッチセンサは、表示部12の表示領域上に設けられている。すなわち、表示部12と操作部13とでタッチパネルが構成されている。
検出部14は、通信端末10の周囲環境に関する情報を検知して取得するセンサである。検出部14は、例えば、加速度センサ、ジャイロセンサ等のセンサを含む。検出部14によって、通信端末10の姿勢を検出する。検出部14によって検出された通信端末10の姿勢に応じて、表示部12に対象画像の一部が表示される。
画像撮像部15は、例えば、CCDセンサまたはCMOSセンサを含むカメラであって、撮像範囲における画像を、制御部17の制御に基づいて表示部12に出力する。また、画像撮像部15は、撮像範囲における画像を取得して、取得した画像を記憶部205に格納する。画像撮像部15は、標準的なカメラであってもよいし、さらに、パノラマ撮影機能又は広角撮影機能を有していてもよい。画像撮像部15は、180度カメラであってもよいし、上下左右全方位の360度カメラであってもよい。また、360度カメラは、画像撮像部15に装着されるものであってもよい。本実施形態では、画像撮像部15によって取得した画像は、低解像度画像であるとして説明する。
記憶部16は、プログラム31、低解像度画像格納部32、高解像度画像格納部33、及び機械学習モデル34を含む。プログラム31は、本発明の一実施形態に係るプログラムであり、ネットワーク経由でダウンロードしてインストールされたものであってもよい。なお、このプログラムは、磁気記録媒体、光記録媒体、光磁気記録媒体、半導体メモリなどのコンピュータ読み取り可能な記録媒体に記録した状態で提供されてもよい。なお、プログラム31の詳細については、後に詳細に説明する。
低解像度画像格納部32は、低解像度画像が格納されている。当該画像は、通常の矩形の画像のみならず、例えば、全天球カメラ(全方位カメラ)で撮影された上下左右全方位の360度画像や、通信端末10の表示部12に一度に表示できる表示範囲より広い映像範囲(有効映像範囲)をもつパノラマ画像などが含まれる。当該パノラマ画像は、正距円筒図法によって表された画像である。また、画像は、通常のカメラで撮影された画像であってもよい。また、画像には、静止画だけでなく、動画やライブビュー画像(カメラによってほぼリアルタイムで取得された画像)も含まれる。また、低解像度画像格納部32に格納される画像は、通信端末10の画像撮像部15で撮影された画像に限定されない。例えば、ネットワークを介して他の通信端末10から受信した画像であってもよいし、サーバから受信した画像であってもよい。
高解像度画像格納部33は、高解像度画像が格納されている。ここで、高解像度画像とは、低解像度画像格納部32に格納された低解像度画像が超解像処理された高解像度画像であってもよいし、低解像度の分割領域が超解像処理された高解像度の分割領域であってもよい。高解像度格納部33は、低解像度の分割領域が、超解像処理がされた順に格納される。したがって、高解像度格納部33は、一つの対象画像に対して、部分的に超解像処理がされた高解像度の分割領域を格納してもよいし、一つの対象画像に対して、全てが超解像処理された高解像度の分割領域を格納してもよい。
機械学習モデル34は、超解像ディープラーニングによって生成されたものである。例えば、高解像度画像と、低解像度画像との対応関係に基づいて、機械学習によって生成されたものであってもよい。また、機械学習モデル34として、例えば、RAISR(Rapid and Accurate Image Super−Resolution)を使用してもよい。RAISRでは、2つのステップによって機械学習モデル34を生成する。まず、低解像度画像と、高解像度画像とのペアからフィルタを学習する。その後、学習したフィルタを使用して実際に画像を拡大している。これにより、低解像度画像を、高解像度画像に変換することができる。
記憶部16には、プログラム31が実行されるときに用いられる各種データについても記憶される。記憶部16は制御部17の制御により、情報を書き込んだり、読み出したりすることができる。
制御部17は、中央演算処理装置(CPU:Central Processing Unit)、画像処理装置(GPU:Graphics Processing Unit)、当該CPU及びGPUに接続されたレジスタやメモリなどの記憶部を含む。制御部17は、記憶部16に記憶された、アプリケーションプログラムを、CPU、GPUにより実行して、各機能を通信端末10において実行させる。
通信端末において、4K、8K、16K以上の高解像度の360度画像を表示するためには様々な制約がある。例えば、通信端末における最大テクスチャサイズは小さいため、高解像度画像を表示することが困難である。また、通信端末において、CPUやGPUの処理速度が遅いと、高解像度画像を表示する際に、表示処理が遅くなるという問題が生じる場合がある。また、低解像度画像を、高解像度画像に変換する処理は、高コストで処理時間や消費メモリが大きいという問題がある。
そこで、本発明の一実施形態に係るプログラムでは、通信端末によって、低解像度の対象画像が選択されると、対象画像を複数の分割領域に分割し、複数の分割領域のうち、ユーザが見ている範囲に対応した分割領域を選択する。次に、選択された分割領域に対して、超解像処理を実行することにより、高解像度の分割領域に変換する。対象画像を表示部に表示するときに、低解像度の分割領域の画像を高解像度の分割領域の画像に置換して表示部に表示する。
本発明の一実施形態に係るプログラムによれば、低解像の対象画像であっても、ユーザが見ている範囲については、高解像度画像に変換して通信端末に表示することができる。したがって、最大テクスチャサイズが大きい高解像度画像であっても、ユーザが見ている範囲に高解像度画像を選択的に表示することができる。そのため、最大テクスチャサイズが小さい通信端末であっても、高解像度画像を部分的に表示することができる。また、通信端末において、CPUやGPUの処理速度が遅い場合であっても、対象画像のうち、選択された範囲の高解像度画像を部分的に表示するため、高解像度画像の表示処理の時間を短縮することができる。また、対象画像を分割して、分割領域に対して超解像処理を実行するため、低コスト、処理時間の短縮、消費メモリを小さくすることができる。
[ソフトウェア構成]
次に、ソフトウェア構成について、図2を参照して説明する。分割部101、選択部102、予測部103、表示制御部104を有する。
分割部101は、低解像度画像格納部32から対象画像200を取得して、複数の分割領域に分割する。ここでは、対象画像200は、通信端末10の表示部12に一度に表示できる表示範囲より広い映像範囲(有効映像範囲)をもつパノラマ画像を用いる場合について説明する。当該パノラマ画像は、正距円筒図法によって表された画像である。そのため、表示部12では、対象画像の右端と、対象画像の左端とが隣接するように表示される。このとき、分割部101は、対象画像200を、全て同一サイズであって、正方形となるように分割する。
図3は、複数の分割領域に分割された対象画像200の一例である。図3に示すように、対象画像200は、全て同一サイズであって、正方形となるように分割されている。本実施形態では、対象画像200は、分割領域A1〜A32に分割される。本実施形態では、対象画像200は、一つの分割領域当たり、180×180画素数となるように、32個の分割領域に分割する。なお、本発明の一実施形態に係るプログラムでは、分割領域の数は特に限定されない。また、分割領域の形状も、正方形に限定されない。
また、分割部101では、対象画像200の座標と、分割領域A1〜A32との対応情報を設定し、記憶部16に格納してもよい。例えば、対象画像200において、分割領域A27が設定される座標は、(540,180)である。
また、分割部101では、分割領域A1〜A32の各々について、拡張領域を設定する。ここでは、分割領域A28、分割領域A21、分割領域A5に着目して、超解像処理の際に必要な拡張領域について説明する。
図4は、分割領域に拡張領域を設定する方法ついて説明する図である。図4(A)は、分割領域A28であり、図4(B)は、分割領域A21であり、図4(C)は、分割領域A5である。分割領域A28、A21、A5に着目した際の拡張領域を、図4(D)、図4(E)、図4(F)に示す。図4(D)は、分割領域A28において、超解像処理の際に必要な拡張領域の一例であり、図4(E)は、分割領域A21において、超解像処理に必要な拡張領域の一例であり、図4(F)は、分割領域A5において、超解像処理の際に必要な拡張領域の一例である。
図4(D)に示すように、分割領域A28では、右端の境界で隣接する分割領域A29の一部、左端の境界で隣接する分割領域A27の一部、下端の境界で隣接する分割領域A20の一部、右下隅の境界で隣接する分割領域A21の一部、及び左下隅の境界で隣接するA19の一部が、分割領域A28の拡張領域として設定される。また、分割領域A28は、対象画像200の上端部に位置するため、上端の境界に拡張領域は設定されない。なお、分割領域A28と同じ行にある分割領域A25〜A27、A29〜A32も、分割領域A28と同様に拡張領域が設定される。拡張領域は、分割領域の一辺の画素数と、分割領域の一辺の画素数の数分の一とで画定される領域である。拡張領域の幅は、分割領域の一辺の画素数の1/6以上1/3以下であることが好ましい。拡張領域の幅が1/6未満であると、隣接する分割領域との境界が見えてしまう可能性がある。また、拡張領域の幅が1/3を超えると、超解像処理の際に処理速度が遅くなる可能性がある。なお、図4(D)〜(F)において、隣接する分割領域の一部の幅は、例えば、対象の分割領域の端から、隣接する分割領域の一辺の画素数に対する1/4である場合について図示している。具体的には、分割領域A28の右端の境界で隣接する分割領域A29の画素数は、45×180であり、下端の境界で隣接する分割領域A20の画素数は、180×45である。なお、分割領域A28の右下隅の境界で隣接する分割領域A21の画素数は、45×45である。なお、隣接する分割領域の一部の幅は、全て同じであってもよいし、それぞれ異なっていてもよい。
図4(E)に示すように、分割領域A21では、右端の境界で隣接する分割領域A22の一部、左端の境界で隣接する分割領域A20の一部、下端の境界で隣接する分割領域A13の一部、上端の境界で隣接する分割領域A29の一部、右下隅の境界で隣接する分割領域A14の一部、及び左下隅の境界で隣接する分割領域A12の一部、右上隅の境界で隣接する分割領域A30の一部、及び左上隅の境界で隣接する分割領域A28の一部が、分割領域A21の拡張領域として設定される。なお、分割領域A21と同じ行にある分割領域A17〜A20、A22〜A24、及び分割領域A21の下の行にある分割領域A9〜A16も、分割領域A21と同様に拡張領域が設定される。
図4(F)に示すように、分割領域A5では、右端の境界で隣接する分割領域A6の一部、左端の境界で隣接する分割領域A4の一部、上端の境界で隣接する分割領域A13の一部、右上隅の境界で隣接する分割領域A14の一部、及び左上隅の境界で隣接する分割領域A12の一部が、分割領域A5の拡張領域として設定される。また、分割領域A5は、対象画像200の下端部に位置するため、下端の境界に拡張領域は設定されない。なお、分割領域A5と同じ行にある分割領域A1〜A4、A6〜A8も、分割領域A5と同様に拡張領域が設定される。
選択部102は、分割領域A1〜A32のうちから、分割領域を選択する。ここで、選択部102によって選択される分割領域は、例えば、ユーザの視点を検出して、ユーザの視点から一定の範囲にある領域としてもよい。または、選択部102によって選択される分割領域は、表示部12に表示された画像の中央部をユーザの視点として設定し、ユーザの視点から一定の範囲にある領域としてもよい。または、選択部102によって選択される分割領域は、表示領域に表示された画像のうち、ユーザがタッチセンサによって選択した範囲であってもよい。本実施形態では、ユーザの視点から一定の範囲にある分割領域を、ユーザが見ている範囲であるとし、選択部102は、ユーザが見ている範囲に含まれる分割領域を選択するものとして説明する。
図5は、対象画像200のうち、ユーザの視点201及びユーザが見ている範囲203を示す図である。本実施形態では、対象画像200は、正距円筒図法の画像であり、正距円筒球のポリゴンの内側に貼り付けられている。球体の中心にカメラを設置してユーザに見せることで、あたかも自分の周りに景色があるかのように見せることができる。図5において、ユーザは正距円筒球の中心から対象画像200を見ている場合について説明する。図5において、ユーザの視点201は、対象画像200の中央部であり、かつ表示部12に表示された画像の中央部にある。よって、ユーザが見ている範囲203は、ユーザの視点201から一定の範囲にある領域である。図5に示すように、ユーザが見ている範囲203に含まれる分割領域は、分割領域A4、A5、A11〜A14、A19〜A22、A28、A29である。よって、選択部102は、分割領域A4、A5、A11〜A14、A19〜A22、A28、A29を選択する。
ここで、選択部102は、ユーザが見ている範囲203に含まれる分割領域が、低解像度の分割領域を含むか否かを判定してもよい。選択部102は、ユーザが見ている範囲203に含まれる分割領域が全て高解像度の分割領域であると判定する場合には、予測部103における処理を省略して、表示制御部104における表示処理を実行してもよい。
選択部102が、ユーザが見ている範囲に含まれる分割領域に、低解像度の分割領域を含むと判定する場合には、ユーザが見ている範囲203に含まれる分割領域のそれぞれに対して、超解像処理が実行されているか否かを判定してもよい。選択部102において、分割領域が高解像度画像であると判定する場合には、予測部103における処理を省略して、表示制御部104における表示処理を実行してもよい。また、選択部102で、分割領域が低解像度画像であると判定する場合には、予測部103において、超解像処理を実行させる。ここでは、選択部102で選択された分割領域が、低解像度画像である場合について説明する。
予測部103は、選択された分割領域及び分割領域の各々に設定された拡張領域を含む画像に対して、機械学習モデル34によって、超解像処理を実行する。これにより、低解像度の分割領域及び拡張領域を含む画像は、高解像度の分割領域及び拡張領域を含む画像となる。ここでは、分割領域A28、分割領域A21、分割領域A5に着目して説明するが、選択部102によって選択された他の分割領域についても同様の処理を実行する。
予測部103が選択された分割領域に対して超解像処理を実行する順序は、例えば、ユーザの視点201により近い分割領域から実行してもよい。例えば、図5では、分割領域A20から、分割領域A21、A13、A12、A11、A19、A28、A28、A22、A14、A5、A4の順で超解像処理を実行してもよい。または、ユーザが見ている範囲203のうち、右端にある分割領域A28から、分割領域A29、A19、A20、A21、A22、A11、A12、A13、A14、A4、A5の順に超解像処理を実行してもよい。このように、予測部103が分割領域に対して超解像処理を実行する順序は、特に限定されない。
図6(A)に示すように、超解像処理により、分割領域A28’では、右端の境界で隣接する分割領域A29’の一部、左端の境界で隣接する分割領域A27’の一部、下端の境界で隣接する分割領域A20’の一部、右下隅の境界で隣接する分割領域A21’の一部、及び左下隅の境界で隣接するA19’の一部が、高解像度の画像に変換される。
図6(B)に示すように、超解像処理により、分割領域A21’、右端の境界で隣接する分割領域A22’の一部、左端の境界で隣接する分割領域A20’の一部、下端の境界で隣接する分割領域A13’の一部、上端の境界で隣接する分割領域A29’の一部、右下隅の境界で隣接する分割領域A14’の一部、及び左下隅の境界で隣接するA12’の一部、右上隅の境界で隣接する分割領域A30’の一部、及び左上隅の境界で隣接する分割領域A28’の一部が、高解像度の画像に変換される。
図6(C)に示すように、超解像処理により、分割領域A5’、右端の境界で隣接する分割領域A6’の一部、左端の境界で隣接する分割領域A4’の一部、上端の境界で隣接する分割領域A13’の一部、右上隅の境界で隣接する分割領域A14’の一部、及び左上隅の境界で隣接する分割領域A12’の一部が、高解像度の画像に変換される。
超解像処理が実行されることで、分割領域A28、分割領域A21、分割領域A5は、180×180の画素数から、512×512の画素数の分割領域A28’、分割領域A21’、分割領域A5’に変換される。なお、分割領域A28’、分割領域A21’、分割領域A5’の512×512の画素数には、拡張領域は含まれない。拡張領域は、分割部101で設定された画素数に応じて、分割領域の倍率と同様に、超解像処理後の画素数が変化する。具体的には、分割領域A28’の右端の境界で隣接する分割領域A29’の画素数は、128×512であり、下端の境界で隣接する分割領域A20’の画素数は、512×128である。なお、分割領域A28’の右下隅の境界で隣接する分割領域A21’の画素数は、128×128である。
また、予測部103では、対象画像200と、分割領域A1’〜A32’の対応情報(又は座標)を設定し、記憶部16に格納してもよい。例えば、対象画像200において、分割領域A27’が設定される座標は、(1536,512)である。
また、予測部103は、超解像処理された画像から拡張領域を除去する。図6(D)では、拡張領域が除去された分割領域A28’であり、図6(E)では、拡張領域が除去された分割領域A21’であり、図6(F)では、拡張領域が除去された分割領域A5’である。その後、超解像処理された高解像度の分割領域を、高解像度画像格納部33に格納してもよい。
表示制御部104は、高解像度の分割領域をユーザが見ている範囲203の所定の位置に表示する。図7は、対象画像200のうち、ユーザが見ている範囲203を示す図である。表示制御部104は、対象画像200のうち、低解像度の分割領域の画像を、高解像度の分割領域の画像に置換して表示する。高解像度の分割画像は、記憶部16に格納された対象画像200と、分割領域A1’〜A32’の対応情報に基づいて置換される。表示制御部104は、例えば、対象画像200のうち、図5に示す分割領域A5を、図7に示す分割領域A5’に置換して表示する。他の高解像度の分割領域も、同様に、所定の位置に配列される。本実施形態では、A4’、A5’、A11’〜A14’、A19’〜A22’、A28’、A29’に各々置換されて、ユーザが見ている範囲203に表示される。
本発明の一実施形態に係るプログラムによれば、低解像の対象画像であっても、ユーザが見ている範囲については、高解像度画像に変換されて通信端末に表示することができる。したがって、最大テクスチャサイズが大きい高解像度画像であっても、高解像度に変換された分割領域をユーザが見ている範囲に表示することができる。そのため、最大テクスチャサイズが小さい通信端末であっても、高解像度画像を部分的に表示することができる。また、通信端末において、CPUやGPUの処理速度が遅い場合であっても、対象画像のうち、選択された領域のみを部分的に表示するため、表示処理の時間を短縮することができる。また、対象画像を分割して、分割領域に対して超解像処理を実行するため、低コスト、処理時間の短縮、消費メモリを小さくすることができる。
本発明の一実施形態において、対象画像200を複数の分割領域A1〜A30に分割して、選択された分割領域に超解像処理をした後、低解像度の分割領域を高解像度の分割領域に置換してもよい。しかしながら、隣接する高解像度の分割画像の境界部が目立ってしまう場合がある。
そこで、本発明の一実施形態では、低解像度の分割領域に超解像処理を実行する際に、分割領域と、隣接した分割領域の一部の領域まで拡張された拡張領域とともに超解像処理を実行している。これにより、分割領域だけでなく、拡張領域についても一連の画像として超解像処理を実行して、高解像度の分割領域に変換している。その後、拡張領域を除去した後、低解像度の分割領域の画像を高解像度の分割領域の画像に置換して、ユーザが見ている範囲203に表示する。これにより、隣接する高解像度の分割領域における境界部が目立つことなく、なめらかな高解像度画像を表示することができる。
本実施形態では、機械学習モデル34は、教師データとして、高解像度画像と低解像度画像との対応関係に基づいて、機械学習によって生成されたものである。この教師データの低解像度画像は、一般的な線形補完系のアルゴリズムを利用して、高解像度画像から作成されたものである。そのため、機械学習モデル34に、線形補完系アルゴリズムの補完や、平均値を算出する特性が反映されている。このような機械学習モデル34を用いて、低解像度の分割領域及び拡張領域に超解像処理を実行した後、拡張領域を除去する。そして、低解像度の分割画像に拡張領域を除去した分割領域を置換することで、隣接する高解像度の分割領域における境界部が目立つことなく、なめらかな高解像度画像を表示することが可能となる。
[画像処理方法のフローチャート]
次に、本発明の一実施形態に係る画像処理方法について、図8を参照して説明する。通信端末10は、記憶部16に格納された本発明の一実施形態に係るプログラム31をメモリに展開し、制御部17によって実行させる。
図8は、低解像度の対象画像200を、高解像度画像に変換させる画像処理方法を説明するフローチャートである。まず、処理が開始されると(START)、分割部101は、低解像度画像格納部32からユーザに選択された対象画像200を取得する(ステップS401)。次に、分割部101は、対象画像200を複数の分割領域に分割する(ステップS402)。分割部101は、例えば、図3に示すように、対象画像200を複数の分割領域に分割する。次に、分割部101は、複数の分割領域の各々に対して、拡張領域を設定する(ステップS403)。分割部101は、例えば、図4(D)〜(F)に示すように、分割領域の各々に対して拡張領域を設定する。次に、選択部102は、複数の分割領域のうち、図5に示すように、ユーザの視点201から一定の範囲におけるユーザが見ている範囲203に含まれる分割領域を選択する(ステップS404)。
選択部102は、選択された分割領域のうち、超解像処理がされていない分割領域を含むか否かを判定する(ステップS405)。選択部102は、選択された分割領域のうち、超解像処理がされていない分割領域を含むと判定する場合(ステップS405;Yes)、ステップS406の処理に進む。選択部102は、選択された分割領域のうち、超解像処理がされていない分割領域を含まないと判定する場合(ステップS405;No)、ステップS409の処理に進む。
選択部102が選択された分割領域のうち、超解像処理がされていない分割領域を含むと判定する場合(ステップS405;Yes)、選択部102は、選択された分割領域のそれぞれについて超解像処理済みか否かを判定する(ステップS406)。選択部102が、分割領域に超解像処理がされていると判定する場合(ステップS406;Yes)、ステップS409の処理に進み、分割領域に超解像処理がされていないと判定する場合(ステップS406;No)、ステップS407の処理に進む。ここでは、選択された分割領域は、全て超解像処理がされていない場合であるとして説明する。
次に、予測部103は、選択された分割領域及び拡張領域に対して、超解像処理を実行する(ステップS407)。ここでは、予測部103は、分割領域及び拡張領域に対して、機械学習モデル34を用いて、超解像処理を実行する。これにより、低解像度の分割領域及び拡張領域は、高解像度の分割領域及び拡張領域に変換される。予測部103は、例えば、図6(A)〜図6(C)に示すように、高解像度の分割領域及び拡張領域を含む画像に変換する。予測部103は、選択された分割領域の全てに対して、順番に超解像処理を実行する。
次に、予測部103は、高解像度の分割領域及び拡張領域を含む画像のうち、拡張領域を除去する(ステップS408)。予測部103は、例えば、図6(D)〜図6(F)に示すように、拡張領域を除去して、高解像度の分割領域の画像にする。
表示制御部104は、低解像度の分割領域の画像に、超解像処理がされた高解像度の分割領域の画像を置換して表示する(ステップS409)。表示制御部104は、例えば、図5に示す分割領域A28の画像を、図7に示すように、超解像処理がされた高解像度の分割領域A28’の画像に置換して表示する。表示制御部104は、選択された分割領域の画像に対して、超解像度処理がされた高解像度の分割領域の画像を順番に置換して表示部12に表示する。高解像度の分割領域の画像を置換する順序は、例えば、超解像処理が実行された順序であるが、この順序に限定されない。
最後に、制御部17が終了の指示を受信した場合(ステップS410;Yes)は、画像の表示処理を終了する(END)。終了の指示を受信しない場合(ステップS410;No)は、ステップS404の処理に戻る。
対象画像200について、選択部202で選択されたユーザが見ている範囲203に含まれる分割領域が、全て高解像度画像に変換済みである場合がある。つまり、ステップS405において、選択された分割領域のうち、超解像処理がされていない分割領域を含まないと判定する場合(ステップS405;No)には、ステップS409の処理に進み、表示制御部104は、高解像度画像格納部33から対応する高解像度の分割領域の画像を読み出して、ユーザが見ている範囲203含まれる低解像度の分割領域の画像に置換して表示すればよい。このとき、記憶部16に格納された高解像度の分割領域の画像を読み出して、置換する順序は、超解像処理を実行する順序と同様に、ユーザの視点201により近い分割領域から置換してもよいし、ユーザが見ている範囲203のうち、右端にある分割領域から順に置換してもよい。
また、対象画像200について、選択部202で選択されたユーザが見ている範囲203に含まれる分割領域のうち、低解像度の分割領域と、高解像度の分割領域とが混在している場合がある。つまり、ステップS405において、選択部102は、選択された分割領域のうち、超解像処理がされていない分割領域を含むと判定する場合(ステップS405;Yes)である。この場合には、低解像度の分割領域には、拡張領域とともに超解像処理を実行する(ステップS407)。そして、高解像度の分割領域及び拡張領域に変換し、高解像度の拡張領域を除去(ステップS408)して、高解像度の分割領域の画像をユーザが見ている範囲203に表示する(ステップS409)。また、選択された分割領域に対応する高解像度の分割領域が高解像度画像格納部33に格納されている場合には、当該高解像度の分割領域の画像を読み出して、ユーザが見ている範囲203に置換して表示すればよい(ステップS409)。
次に、対象画像200において、ユーザの視点201が対象画像200の端にある場合について、図9及び図10を参照して説明する。図9は、対象画像200のうち、ユーザの視点201A及びユーザが見ている範囲203Aを示す図である。ここでは、対象画像200は、正距円筒図法によって表された画像である。そのため、図9に示す対象画像200では、分割領域A25と分割領域A32とは互いに隣接する。同様に、分割領域A17と分割領域A12とは互いに隣接する。分割領域A9と分割領域A16とは互いに隣接する。分割領域A1と分割領域A8とは互いに隣接する。したがって、ユーザが見ている範囲203Aが、上記に挙げた分割領域を含む場合には、互いに隣接する分割領域は、連続して表示される。図9において、ユーザの視点201Aは、対象画像200の右端又は左端であり、かつ表示部12に表示された画像の中央部にある。
ここで、対象画像200の右端又は左端の境界領域における拡張領域の設定方法について説明する。分割領域A32、分割領域A17、分割領域A1に着目して、超解像処理の際に必要な拡張領域について説明する。図10は、分割領域に拡張領域を設定する方法について説明する図である。図10(A)は、分割領域A32であり、図10(B)は、分割領域A17であり、図10(C)は、分割領域A1である。
次に、分割部101が対象画像200の右端又は左端の境界領域における分割領域に拡張領域を設定する方法について説明する。分割領域A32、A17、A1に着目した際の拡張領域を、図10(D)、図10(E)、図10(F)に示す。すなわち、図10(D)は、分割領域A32において、超解像処理の際に必要な拡張領域の一例であり、図10(E)は、分割領域A17において、超解像処理に必要な拡張領域の一例であり、図10(F)は、分割領域A1において、超解像処理の際に必要な拡張領域の一例である。
図10(D)に示すように、分割領域A32では、右端の境界で隣接する分割領域A25の一部、左端の境界で隣接する分割領域A31の一部、下端の境界で隣接する分割領域A24の一部、右下隅の境界で隣接する分割領域A17の一部、及び左下隅の境界で隣接する分割領域A23の一部が、分割領域A32の拡張領域として設定される。
図10(E)に示すように、分割領域A17では、右端の境界で隣接する分割領域A18の一部、左端の境界で隣接する分割領域A24の一部、下端の境界で隣接する分割領域A9の一部、上端の境界で隣接する分割領域A25の一部、右下隅の境界で隣接する分割領域A10の一部、及び左下隅の境界で隣接する分割領域A16の一部、右上隅の境界で隣接する分割領域A26の一部、及び左上隅の境界で隣接する分割領域A32の一部が、分割領域A17の拡張領域として設定される。
図10(F)に示すように、分割領域A1では、右端の境界で隣接する分割領域A2の一部、左端の境界で隣接する分割領域A8の一部、上端の境界で隣接する分割領域A9の一部、右上隅の境界で隣接する分割領域A10の一部、及び左上隅の境界で隣接する分割領域A16の一部が、分割領域A1の拡張領域として設定される。
図9に示す対象画像200の場合、分割領域A1、A9、A17、A25と、分割領域A8、A16、A24、A32とは、互いに隣接する。よって、対象画像200が正距円筒図法によって表された画像を用いる場合には、分割領域に設定される拡張領域は、図10(D)〜図10(E)に示すように、3通りのいずれかで表される。
ユーザが見ている範囲203Aが、分割領域A32、分割領域A17、分割領域A1を含み、選択部102によって、これらの分割領域が選択されると、予測部103は、低解像度の分割領域及び拡張領域を、超解像処理によって、高解像度の分割領域に変換する。その後、拡張領域を除去した後、低解像度の分割領域の画像を、高解像度の分割領域の画像に置換して、ユーザが見ている範囲203に表示する。これにより、対象画像200の右端又は左端においても、隣接する高解像度の分割領域における境界部が目立つことなく、なめらかな高解像度画像を表示することができる。
(変形例)
以上、本発明の一実施形態について説明したが、上述した各実施形態は、互いに組み合わせたり、置換したりして適用することができる。また、上述した各実施形態では、以下の通り少なくとも一部を変形して実施することができる。
(1)本発明の一実施形態では、通信端末10の表示部12に表示させる対象画像として、正距円筒図法によって表された画像を用いる場合について説明したが、本発明の一実施形態は、これに限定されない。画像は、全天球カメラで撮影された画像ではなく、通常のカメラで撮影された画像を用いてもよい。通常のカメラで撮影された画像の場合は、正距円筒図法によって表された画像の場合と比較して、分割領域に設定される拡張領域は、さらに細かく設定される。
図11(A)は、複数の分割領域に分割された対象画像200の一例である。図11では、対象画像200は、四角形の板状のポリゴンに貼り付けられている。対象画像200は、通常のカメラで撮影した画像であるが、分割の方法は、全天球カメラで撮影された画像と同様である。図11(B)〜図11(J)は、分割領域の配置された位置に応じた拡張領域の設定方法の例である。図11(B)〜図11(D)は、対象画像300の四隅に配置された分割領域である。分割領域25は、対象画像200の左上隅に配置され、分割領域A32は、右上隅に配置され、分割領域A1は、左下隅に配置され、分割領域A8は、右下隅に配置される。また、図11(F)〜図11(I)は、対象画像300の四隅の間に配置された分割領域である。分割領域A9、A17は、対象画像200の左端に配置され、分割領域A16、A24は、右端に配置され、分割領域A26〜A31は上端に配置され、分割領域A2〜A7は下端に配置される。図11(J)は、対象画像200の四隅と、四隅の間以外の領域に配置された分割領域である。例えば、分割領域A10〜A15、分割領域A18〜A23は、対象画像200の内部に配置される。
図11(B)〜図11(J)に示すように、分割領域が配置された位置に応じて、分割領域と拡張領域を設定する。予測部103は、低解像度の分割領域及び拡張領域を、超解像処理によって、高解像度の分割領域に変換する。その後、拡張領域を除去した後、低解像度の分割領域の画像を、高解像度の分割領域の画像に置換して、ユーザが見ている範囲に表示する。これにより、隣接する高解像度の分割領域における境界部が目立つことなく、なめらかな高解像度画像を表示することができる。
(2)本発明の一実施形態では、分割部101は、対象画像200を、全て同一サイズであって、正方形となるように分割する例について説明したが、これに限定されない。必ずしも、対象画像が正方形に割り切れない場合がある。この場合には、対象画像を、例えば、正方形と、正方形と隣接する長方形となるように分割してもよい。
図12(A)は、複数の分割領域に分割された対象画像300の一例である。対象画像300は、横に長い画像である。分割部101は、対象画像300の縦の画素数に合わせて、対象画像300の横の画素数で割ってもよい。これにより、対象画像300は、同一サイズであって正方形の分割領域A41、A42、A43、A44と、長方形の分割領域A45が設定される。
図12(B)〜図12(D)は、拡張領域が設定された分割領域である。図12(A)では、分割領域A41は、右端の境界で隣接する分割領域A42の一部が拡張領域として設定される。また、図12(B)では、分割領域A42は、右端の境界で隣接する分割領域A43の一部と、左端の境界で隣接する分割領域A41の一部とが、拡張領域として設定される。また、図12(C)では、分割領域A45は、左端の境界で隣接する分割領域A44の一部が拡張領域として設定される。なお、対象画像が正方形に割り切れない場合、拡張領域は正方形の分割画像の拡張領域と同様に設定すればよい。例えば、分割領域A42の画素数が、180×180であって、拡張領域の幅を1/4と設定した場合を仮定する。この場合、分割領域A45の拡張領域(ここでは、分割領域A44の一部)の幅も、1/4とすればよく、拡張領域の画素数を45×180とすればよい。
図12(B)〜図12(D)に示すように、対象画像300が正方形に割り切れない場合であっても、分割領域が配置された位置に応じて、拡張領域を設定する。予測部103は、低解像度の分割領域及び拡張領域を、超解像処理によって、高解像度画像に変換する。その後、拡張領域を除去した後、高解像度画像を合成して、ユーザが見ている範囲に表示する。これにより、隣接する高解像度の分割領域における境界部が目立つことなく、なめらかな高解像度画像を表示することができる。
(3)本発明の一実施形態では、分割部101で、対象画像200を分割した後、全ての分割領域に対して、拡張領域を設定する場合について説明したが、これに限定されない。分割領域に対する拡張領域の設定は分割部101で実行せず、超解像度処理を実行する直前に実行してもよい。つまり、選択部102によって、超解像処理を実行する分割領域が選択された後、予測部103において、分割領域に対して拡張領域を設定する処理を実行してもよい。
(4)本発明の一実施形態では、分割部101は、対象画像200を分割領域A1〜A32に分割する場合について説明したが、これに限定されない。例えば、分割領域A1〜A16と、分割領域A17〜A32との2つのグループにグルーピングする。質感などの定義をグループ内の複数の分割領域で共通利用してもよい。これにより、超解像処理のパフォーマンスを向上させることができる。なお、対象画像200を分割した分割領域の数と、グループの数は特に限定されない。例えば、通信端末10の性能に応じて、適宜設定してもよい。
(5)本発明の一実施形態では、対象画像200は静止画である場合について説明したが、これに限定されない。対象画像200は動画であってもよい。この場合、画像撮像部15によって撮影された動画を、ライブビュー画像のように連続する静止画に変換する。当該連続する静止画の各々を対象画像に対して、図8に示す高解像度画像に変換させる画像処理方法を適用する。これにより、連続する静止画の各々を高解像度画像に変換することができる。通信端末10に当該高解像度画像に変換された連続する静止画を、連続的に表示することで、高解像度の動画を提供することができる。
また、対象画像200が動画である場合には、処理の負荷を低減するため、同じサイズの静止画と比較して、分割領域の数を少なくすることが好ましい。また、対象画像200の全ての分割領域に対して、予め超解像処理を実行して高解像度の分割領域を、高解像度格納部33に格納することが好ましい。これにより、ユーザが対象画像を見る際には、高解像度格納部33から、ユーザが見ている範囲に対応した分割領域を読み出して表示すればよいため、処理の負荷を低減することができる。ユーザが見ている範囲に対応した分割領域のうち、画像に変化がない(物体が動いていない)分割領域に対しては、高解像度の分割領域に置換せず、画像に変化がある(物体が動いている)分割領域に対してのみ、連続的に高解像度の分割領域を置換し続けてもよい。これにより、ユーザが見ている範囲に対応した分割領域の全てを、高解像度の分割領域に置換し続ける場合と比較して、高解像度画像を表示する処理速度を向上させることができる。
また、対象画像200が動画である場合には、機械学習モデル34として、TecoGAN(Temporally Coherent GAN)を使用してもよい。機械学習モデル34として、TecoGANを使用することで、詳細なフレーム画像を生成することができ、時間的に一致させることができる。
(6)本発明の一実施形態では、静止画又は動画の対象画像200として、正距円筒球のポリゴンや四角形の板状のポリゴンに貼り付ける例について説明したが、これに限定されない。例えば、360度画像、360度動画を対象画像200として、球体のポリゴンの外側に貼り付けてもよい。また、ポリゴンの形状は、立方体、多面体、その他、任意の形状に対して適用可能である。これらの任意の形状の内側に対象画像200を貼り付けてもよいし、外側に対象画像200を貼り付けてもよい。また、これらの任意の形状のポリゴンの内側に対象画像200に貼り付けてもよい。また、これらの任意の形状のポリゴンに、対象画像200を貼り付ける場合には、分割領域の形状は、四角形に限定されず、三角形や、その他の形状であってもよい。
なお、本発明の好適な実施の形態により、特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範な趣旨および範囲から逸脱することなく、これら具体例に様々な修正および変更を加えることができることは明らかである。すなわち、具体例の詳細および添付の図面により本発明が限定されるものと解釈してはならない。