IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ソニー・コンピュータエンタテインメントの特許一覧

特許7496412画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム
<>
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図1
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図2
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図3
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図4
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図5
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図6
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図7
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図8
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図9
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図10
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図11
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図12
  • 特許-画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-29
(45)【発行日】2024-06-06
(54)【発明の名称】画像表示システム、画像処理装置、画像表示方法、およびコンピュータプログラム
(51)【国際特許分類】
   H04N 21/44 20110101AFI20240530BHJP
   H04N 21/431 20110101ALI20240530BHJP
   G06F 3/01 20060101ALI20240530BHJP
【FI】
H04N21/44
H04N21/431
G06F3/01 510
【請求項の数】 28
(21)【出願番号】P 2022512924
(86)(22)【出願日】2020-03-30
(86)【国際出願番号】 JP2020014619
(87)【国際公開番号】W WO2021199184
(87)【国際公開日】2021-10-07
【審査請求日】2022-09-30
(73)【特許権者】
【識別番号】310021766
【氏名又は名称】株式会社ソニー・インタラクティブエンタテインメント
(74)【代理人】
【識別番号】100105924
【弁理士】
【氏名又は名称】森下 賢樹
(74)【代理人】
【識別番号】100109047
【弁理士】
【氏名又は名称】村田 雄祐
(74)【代理人】
【識別番号】100109081
【弁理士】
【氏名又は名称】三木 友由
(74)【代理人】
【識別番号】100134256
【弁理士】
【氏名又は名称】青木 武司
(72)【発明者】
【氏名】大塚 活志
【審査官】石丸 昌平
(56)【参考文献】
【文献】特開2008-219156(JP,A)
【文献】国際公開第2017/208957(WO,A1)
【文献】特開2012-033038(JP,A)
【文献】国際公開第2019/013016(WO,A1)
【文献】国際公開第2015/122052(WO,A1)
【文献】国際公開第2018/079166(WO,A1)
【文献】国際公開第2019/026765(WO,A1)
【文献】国際公開第2015/068656(WO,A1)
【文献】国際公開第2017/221784(WO,A1)
【文献】国際公開第2015/182189(WO,A1)
【文献】国際公開第2019/116994(WO,A1)
【文献】国際公開第2017/199859(WO,A1)
【文献】特開2018-166279(JP,A)
【文献】特開平05-324799(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 21/44
H04N 21/431
G06F 3/01
(57)【特許請求の範囲】
【請求項1】
動画像のデータを転送する画像データ転送装置と、前記動画像のデータを受信し表示装置に表示させる複数のクライアント端末と、を含む画像表示システムであって、
前記画像データ転送装置は、
表示対象の世界を、前記複数のクライアント端末で許容される表示視野を網羅する視野で表した、前記動画像のフレームを生成する画像生成部と、
前記複数のクライアント端末に、共通のフレームのデータをストリーミング転送する通信部と、
を備え、前記クライアント端末は、
前記フレームのデータを取得する画像データ取得部と、
接続されたヘッドマウントディスプレイの、前記フレームの表示時の位置姿勢を予測し、当該フレームのうち前記位置姿勢の予測値に対応する領域を切り出す画像処理部と、
切り出した領域のデータを表示パネルに出力する表示制御部と、
を備えたことを特徴とする画像表示システム。
【請求項2】
前記表示制御部は、前記切り出しに用いた前記予測値と、処理時点における前記ヘッドマウントディスプレイの位置姿勢との差に応じて、切り出した領域のデータを出力するか否かを決定することを特徴とする請求項に記載の画像表示システム。
【請求項3】
前記表示制御部は、前記画像データ転送装置において前記フレームが生成された時刻からの遅延時間に応じて、切り出した領域のデータを出力するか否かを決定することを特徴とする請求項またはに記載の画像表示システム。
【請求項4】
前記表示制御部は、前記フレームのデータの欠落の度合いを、表示画面におけるユーザの注視点から欠落位置までの距離が小さいほど大きい重みづけで数値化し、その結果に応じて、出力対象のデータを変化させることを特徴とする請求項からのいずれかに記載の画像表示システム。
【請求項5】
前記表示制御部は、注視点検出器により表示画面におけるユーザの注視点に係る情報を取得できるか否かによって、前記距離に対する前記重みづけの変化を異ならせることを特徴とする請求項4に記載の画像表示システム。
【請求項6】
前記表示制御部は、前記切り出しに用いた前記予測値と、処理時点におけるヘッドマウントディスプレイの位置姿勢との差に基づき、切り出された領域のうち表示視野から外れる見込みの領域を特定し、当該領域を除外して、前記データの欠落の度合いを評価することを特徴とする請求項またはに記載の画像表示システム。
【請求項7】
前記画像処理部は、前記切り出しに用いた前記予測値の履歴を、切り出したデータとともに前記表示制御部に供給することを特徴とする請求項に記載の画像表示システム。
【請求項8】
前記表示制御部は、前記表示パネルへの出力対象を最新のフレームのデータとするか、それより前のフレームのデータとするかをフレームごとに決定することを特徴とする請求項1から7のいずれかに記載の画像表示システム。
【請求項9】
前記表示制御部は、前記予測値と処理時点における前記ヘッドマウントディスプレイの位置姿勢との差の履歴と、前記領域の切り出し時刻から処理時点までの遅延時間の履歴を、前記画像処理部に供給することを特徴とする請求項1から8のいずれかに記載の画像表示システム。
【請求項10】
動画像のデータを転送する画像データ転送装置と、前記動画像のデータを受信し表示装置に表示させる複数のクライアント端末と、を含む画像表示システムであって、
前記画像データ転送装置は、
表示対象の世界を、前記複数のクライアント端末で許容される表示視野を網羅する視野で表した、前記動画像のフレームを、前記複数のクライアント端末における表示視野、および画像平面での画質の分布に基づき、当該フレームの画像平面での位置座標と表示世界での方角との対応関係を決定したうえで生成する画像生成部と、
前記複数のクライアント端末に、共通のフレームのデータをストリーミング転送する通信部と、
を備え、前記クライアント端末は、
前記フレームのデータを取得する画像データ取得部と、
前記フレームのうち表示視野の領域を切り出す画像処理部と、
切り出した領域のデータを表示パネルに出力する表示制御部と、
を備えたことを特徴とする画像表示システム。
【請求項11】
前記画像生成部は、複数の前記クライアント端末における表示視野の移動予測に基づき、前記対応関係を決定することを特徴とする請求項10に記載の画像表示システム。
【請求項12】
前記画像生成部は、複数の前記クライアント端末における、予測された視野を所定の範囲で拡張させた、360°に満たない範囲の画像のフレームを生成することを特徴とする請求項11に記載の画像表示システム。
【請求項13】
前記クライアント端末は、ユーザの位置および姿勢、またはユーザの視点と、その状態となった時刻を表すタイムスタンプからなるデータセットおよびその履歴、および内部での処理による遅延時間とその履歴を、前記画像データ転送装置に送信し、
前記画像データ転送装置は、前記フレームを生成するときに採用したユーザの位置および姿勢、またはユーザの視点と、その状態となった時刻を表すタイムスタンプ、または、前記フレームにおいて表示対象の3次元空間の原点が存在する位置、およびその履歴と、決定した前記対応関係およびその履歴を、前記フレームのデータに対応づけて前記クライアント端末に送信することを特徴とする請求項10から12のいずれかに記載の画像表示システム。
【請求項14】
前記画像生成部は、それまで存在していなかった転送対象の動画像のフレームを動的に生成することを特徴とする請求項1から13のいずれかに記載の画像表示システム。
【請求項15】
前記通信部は、前記クライアント端末におけるユーザ操作に係る情報を取得し、
前記画像生成部は、前記ユーザ操作に対応させてフレームが表す内容を変化させることを特徴とする請求項1から14のいずれかに記載の画像表示システム。
【請求項16】
前記クライアント端末は、表示画像の視野操作とは異なるユーザ操作に係る情報を取得し前記画像データ転送装置に送信するクライアント情報送信部を備え、
前記画像生成部は、前記視野操作とは異なるユーザ操作に対応させて、フレームが表す内容を変化させることを特徴とする請求項15に記載の画像表示システム。
【請求項17】
前記画像生成部は、正距円筒図法で前記フレームを生成し、
前記画像処理部は、切り出した画像を前記表示パネルに対応する形式に補正することを特徴とする請求項1から16のいずれかに記載の画像表示システム。
【請求項18】
前記画像処理部は、前記表示パネルを備えるヘッドマウントディスプレイの位置姿勢に基づき、前記フレームから切り出す領域を決定することを特徴とする請求項10から13のいずれかに記載の画像表示システム。
【請求項19】
前記画像生成部は、生成するフレームが前記クライアント端末において表示されるまでに要する時間を予測し、当該フレームに表す画像の内容を、予測した時間の経過後に表示されることを前提に決定することを特徴とする請求項1から18のいずれかに記載の画像表示システム。
【請求項20】
前記通信部は、実現される表示形態が異なる複数の前記クライアント端末に共通のフレームのデータを転送し、
前記複数のクライアント端末における前記画像処理部はそれぞれ、前記フレームのデータから、実現する表示形態に対応する画像を形成することを特徴とする請求項1から19のいずれかに記載の画像表示システム。
【請求項21】
前記画像データ取得部は、1フレームより小さい部分画像の単位で前記フレームのデータを取得し、
前記画像処理部は、前記部分画像の単位で領域の切り出しを行うことを特徴とする請求項1から20のいずれかに記載の画像表示システム。
【請求項22】
表示対象の世界を、表示視野より広い視野で表した動画像のフレームのデータを取得する画像データ取得部と、
前記フレームのうち表示視野の領域を切り出す画像処理部と、
切り出した領域のデータを表示パネルに出力する表示制御部と、
を備え、
前記画像処理部は、前記表示パネルを備えるヘッドマウントディスプレイの、対象フレーム表示時の位置姿勢を予測し、前記フレームのうち前記位置姿勢の予測値に対応する領域を切り出し、
前記表示制御部は、前記予測値と処理時点における前記ヘッドマウントディスプレイの位置姿勢との差の履歴と、前記領域の切り出し時刻から処理時点までの遅延時間の履歴を、前記画像処理部に供給することを特徴とする画像処理装置。
【請求項23】
前記画像データ取得部は、それまで存在していなかった、動的に生成された動画像のフレームのデータを取得することを特徴とする請求項22に記載の画像処理装置。
【請求項24】
動画像のデータを転送する画像データ転送装置と、前記動画像のデータを受信し表示装置に表示させる複数のクライアント端末と、を含む画像表示システムにおいて、
前記画像データ転送装置が、
表示対象の世界を、前記複数のクライアント端末で許容される表示視野を網羅する視野で表した、前記動画像のフレームを生成するステップと
前記複数のクライアント端末に、共通のフレームのデータをストリーミング転送するステップと、
前記クライアント端末が、
前記フレームのデータを取得するステップと、
接続されたヘッドマウントディスプレイの、前記フレームの表示時の位置姿勢を予測し、当該フレームのうち前記位置姿勢の予測値に対応する領域を切り出すステップと、
切り出した領域のデータを表示パネルに出力するステップと、
を含むことを特徴とする画像表示方法。
【請求項25】
動画像のデータを転送する画像データ転送装置と、前記動画像のデータを受信し表示装置に表示させる複数のクライアント端末と、を含む画像表示システムにおいて、
前記画像データ転送装置が、
表示対象の世界を、前記複数のクライアント端末で許容される表示視野を網羅する視野で表した、前記動画像のフレームを、前記複数のクライアント端末における表示視野、および画像平面での画質の分布に基づき、当該フレームの画像平面での位置座標と表示世界での方角との対応関係を決定したうえで生成するステップと
前記複数のクライアント端末に、共通のフレームのデータをストリーミング転送するステップと、
前記クライアント端末が、
前記フレームのデータを取得するステップと、
前記フレームのうち表示視野の領域を切り出すステップと、
切り出した領域のデータを表示パネルに出力するステップと、
を含むことを特徴とする画像表示方法。
【請求項26】
前記フレームを生成するステップは、それまで存在していなかった転送対象の動画像のフレームを動的に生成することを特徴とする請求項24または25に記載の画像表示方法。
【請求項27】
動画像のデータを受信し表示装置に表示させる複数のクライアント端末に当該動画像のデータを転送するコンピュータに、
表示対象の世界を、前記複数のクライアント端末で許容される表示視野を網羅する視野で表した、前記動画像のフレームを、前記複数のクライアント端末における表示視野、および画像平面での画質の分布に基づき、当該フレームの画像平面での位置座標と表示世界での方角との対応関係を決定したうえで生成する機能と、
前記複数のクライアント端末に、共通のフレームのデータをストリーミング転送する機能と、
を実現させることを特徴とするコンピュータプログラム。
【請求項28】
前記生成する機能は、それまで存在していなかった転送対象の動画像のフレームを動的に生成することを特徴とする請求項27に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、表示対象の動画像のデータを処理する画像表示システム、画像処理装置、および画像処理方法に関する。
【背景技術】
【0002】
近年の情報処理技術や画像表示技術の向上により、様々な形態で映像世界を体験することができるようになってきた。例えばヘッドマウントディスプレイにパノラマ映像を表示し、ユーザの視線に対応する画像を表示させることにより、映像世界への没入感を高めたり、ゲームなどのアプリケーションの操作性を向上させたりできる。また、潤沢なリソースを有するサーバからストリーミング転送された画像データを表示させることにより、ユーザは場所や規模によらず高精細な動画像やゲーム画面を楽しむことができる。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ネットワークを介して伝送された画像のデータをクライアント端末に即時表示させる技術においては、当該クライアント端末とサーバ間の通信による遅延時間が問題となり得る。例えばクライアント端末側でのユーザ操作を表示画像に反映させる場合、ユーザ操作のサーバへの送信と、サーバからクライアント端末への画像データの送信といったデータの行き来が必要になり、看過できない遅延時間を生むことがある。ヘッドマウントディスプレイを表示先とする場合は、ユーザの頭部の動きに対し表示が遅れることにより、臨場感が損なわれたり映像酔いを引き起こしたりすることも考えられる。この問題は、高い画質を追求するほど顕在化しやすい。
【0004】
本発明はこうした課題に鑑みてなされたものであり、その目的は、通信によるデータ伝送を伴う画像表示において、画質と遅延時間の低減を両立させることのできる技術を提供することにある。
【課題を解決するための手段】
【0005】
上記課題を解決するために、本発明のある態様は画像表示システムに関する。この画像表示システムは、動画像のデータを転送する画像データ転送装置と、動画像のデータを受信し表示装置に表示させるクライアント端末と、を含む画像表示システムであって、画像データ転送装置は、表示対象の世界を、転送先での表示視野より広い視野で表した、動画像のフレームを生成する画像生成部と、フレームのデータをクライアント端末にストリーミング転送する通信部と、を備え、クライアント端末は、フレームのデータを取得する画像データ取得部と、フレームのうち表示視野の領域を切り出す画像処理部と、切り出した領域のデータを表示パネルに出力する表示制御部と、を備えたことを特徴とする。
【0006】
本発明の別の態様は画像処理装置に関する。この画像処理装置は、表示対象の世界を、表示視野より広い視野で表した動画像のフレームのデータを取得する画像データ取得部と、フレームのうち表示視野の領域を切り出す画像処理部と、切り出した領域のデータを表示パネルに出力する表示制御部と、を備えたことを特徴とする。
【0007】
本発明のさらに別の態様は画像表示方法に関する。この画像表示方法は、動画像のデータを転送する画像データ転送装置と、動画像のデータを受信し表示装置に表示させるクライアント端末と、を含む画像表示システムにおいて、画像データ転送装置が、表示対象の世界を、転送先での表示視野より広い視野で表した、動画像のフレームを生成するステップとフレームのデータをクライアント端末にストリーミング転送するステップと、クライアント端末が、フレームのデータを取得するステップと、フレームのうち表示視野の領域を切り出すステップと、切り出した領域のデータを表示パネルに出力するステップと、を含むことを特徴とする。
【0008】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、コンピュータプログラム、データ構造、記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【0009】
本発明によれば、通信によるデータ伝送を伴う画像表示において、画質と遅延時間の低減を両立させることができる。
【図面の簡単な説明】
【0010】
図1】本実施の形態における画像表示システムの構成例を示す図である。
図2】本実施の形態のヘッドマウントディスプレイの外観例を示す図である。
図3】本実施の形態におけるサーバと画像処理装置の基本的な構成を示す図である。
図4】本実施の形態における、画像の描画から表示までの処理の様子を概念的に示す図である。
図5】本実施の形態において、ヘッドマウントディスプレイへの表示に利用できる画像の補正処理を説明するための図である。
図6】本実施の形態のサーバおよび画像処理装置の機能ブロックを示す図である。
図7】本実施の形態の画像処理装置の画像処理部における第1形成部、および表示制御部における第1制御部の機能ブロックをより詳細に示す図である。
図8】本実施の形態で実現できる画像の形式の変遷を例示する図である。
図9】本実施の形態の画像処理装置において、第1形成部の画像取得部が行う画像取得の手順の例を説明するための図である。
図10】本実施の形態において表示制御部の第1制御部が、出力対象や出力タイミングを調整しつつ、表示パネルへ部分画像のデータを出力する処理手順の例を示すフローチャートである。
図11】本実施の形態において表示制御部の第1制御部が、ヘッドマウントディスプレイの位置姿勢の変化に基づき出力対象を調整する処理手順を示すフローチャートである。
図12図11のS94において、出力対象決定部がユーザの視点に基づきデータ欠落の度合いを数値化する手法を説明するための図である。
図13】本実施の形態の画像処理装置において、画像処理部の第1形成部と表示制御部の第1制御部が実施する処理の手順を示すフローチャートである。
【発明を実施するための形態】
【0011】
図1は、本実施の形態における画像表示システムの構成例を示す。画像表示システム1は、クライアント端末としての画像処理装置200、ヘッドマウントディスプレイ100、平板型ディスプレイ302、およびサーバ400を含む。画像処理装置200は、ヘッドマウントディスプレイ100および平板型ディスプレイ302と、無線通信またはUSB Type-C、HDMI(登録商標)などのインターフェース300により接続される。画像処理装置200はさらに、インターネットやLAN(Local Area Network)などのネットワーク306を介してサーバ400に接続される。
【0012】
サーバ400は、画像データ転送装置として、表示対象の画像の少なくとも一部を生成して画像処理装置200にストリーミング転送する。ここでサーバ400は、クラウドゲームなど各種配信サービスを提供する企業などのサーバでもよいし、任意の端末にデータを送信する家庭内サーバなどでもよい。したがってネットワーク306は、インターネットなどの公衆ネットワークやLAN(Local Area Network)など、その規模は限定されない。例えばネットワーク306は携帯電話キャリアネットワークや、街中にあるWi-Fiスポット、家庭にあるWi-Fiアクセスポイントを経由したものでもよい。あるいは画像処理装置200とサーバ400は、ビデオインターフェースにより直接接続されてもよい。
【0013】
画像処理装置200は、サーバ400から送信された画像のデータを、必要に応じて、ヘッドマウントディスプレイ100や平板型ディスプレイ302に適した形式に変換したうえ、適切なタイミングでヘッドマウントディスプレイ100や平板型ディスプレイ302に出力する。例えば画像処理装置200は、ヘッドマウントディスプレイ100を装着したユーザの頭部の動きに対応する視野の画像を生成し、ヘッドマウントディスプレイ100に出力する。このとき画像処理装置200は、平板型ディスプレイ302にも同様の視野で画像を表示させることにより、ヘッドマウントディスプレイ100を装着しているユーザがどのような画像を見ているかを、その他の人が見られるようにしてもよい。
【0014】
ただし画像処理装置200は、ヘッドマウントディスプレイ100と平板型ディスプレイ302に、互いに独立した視野の画像を表示させてもよい。また画像処理装置200は、サーバ400から送信された画像に、別途準備したUI(User Interface)プレーン画像(あるいはOSD(On Screen Display)プレーン画像とも呼ぶ)や、ヘッドマウントディスプレイ100が備えるカメラによる撮影画像を合成してから、ヘッドマウントディスプレイ100や平板型ディスプレイ302に出力してもよい。
【0015】
このような構成により、複数のユーザが参加するクラウドゲームシステムを実現できる。ただし本実施の形態において表示対象とする動画像の内容や、その表示先は特に限定されない。例えばサーバ400は、図示しないカメラによって撮影された画像を表示対象とし、画像処理装置200にライブ配信してもよい。
【0016】
また本実施の形態を適用できるシステムの構成は図示するものに限定されない。例えば画像処理装置200に接続する表示装置はヘッドマウントディスプレイ100と平板型ディスプレイ302のどちらか一方でもよいし、複数のヘッドマウントディスプレイ100であってもよい。また画像処理装置200はヘッドマウントディスプレイ100や平板型ディスプレイ302に内蔵されていてもよい。例えば平板型のディスプレイと画像処理装置を、それらを一体的に備えたパーソナルコンピュータや携帯端末(ポータブルゲーム機、高機能携帯電話、タブレット端末)としてもよい。
【0017】
これらの装置にさらにヘッドマウントディスプレイ100および平板型ディスプレイ302の少なくともいずれかを必要に応じて接続できるようにしてもよい。画像処理装置200やこれらの端末に、図示しない入力装置を内蔵もしくは接続してもよい。またサーバ400に接続される画像処理装置200の数も限定されない。
【0018】
図2は、ヘッドマウントディスプレイ100の外観例を示す。この例においてヘッドマウントディスプレイ100は、出力機構部102および装着機構部104で構成される。装着機構部104は、ユーザが被ることにより頭部を一周し装置の固定を実現する装着バンド106を含む。出力機構部102は、ヘッドマウントディスプレイ100をユーザが装着した状態において左右の目を覆うような形状の筐体108を含み、内部には装着時に目に正対するように表示パネルを備える。
【0019】
筐体108内部にはさらに、ヘッドマウントディスプレイ100の装着時に表示パネルとユーザの目との間に位置し、画像を拡大して見せる接眼レンズを備える。またヘッドマウントディスプレイ100はさらに、装着時にユーザの耳に対応する位置にスピーカーやイヤホンを備えてよい。
【0020】
ヘッドマウントディスプレイ100はさらに、筐体108の前面にステレオカメラ110、中央に広視野角の単眼カメラ111、左上、右上、左下、右下の四隅に広視野角の4つのカメラ112を備え、ユーザの顔の向きに対応する方向の実空間を動画撮影する。ある態様においてヘッドマウントディスプレイ100は、ステレオカメラ110が撮影した動画像を即時表示させることにより、ユーザが向いた方向の実空間の様子をそのまま見せるシースルーモードを提供する。
【0021】
またステレオカメラ110、単眼カメラ111、4つのカメラ112による撮影画像の少なくともいずれかを、表示画像の生成に利用してもよい。例えばSLAM(Simultaneous Localization and Mapping)により周囲の空間に対するヘッドマウントディスプレイ100、ひいてはユーザの頭部の位置や姿勢を所定のレートで取得し、画像の視野を決定したり、画像を補正したりするのに用いてもよい。あるいは画像処理装置200において、サーバ400から送信された画像に撮影画像を合成し表示画像としてもよい。
【0022】
またヘッドマウントディスプレイ100は、内部に加速度センサ、ジャイロセンサ、地磁気センサなど、ヘッドマウントディスプレイ100の位置、姿勢、動きを導出するためのモーションセンサのいずれかを備えてよい。この場合、画像処理装置200は、当該モーションセンサの計測値に基づき、ユーザ頭部の位置や姿勢の情報を所定のレートで取得する。この情報は、画像の視野を決定したり、画像を補正したりするのに用いることができる。
【0023】
図3は、本実施の形態におけるサーバ400と画像処理装置200の基本的な構成を示している。本実施の形態におけるサーバ400および画像処理装置200は、表示画像の1フレームより小さい部分画像を記憶するローカルメモリを要所に備える。そしてサーバ400における画像データの圧縮符号化および送信、画像処理装置200におけるデータの受信、復号伸張、各種画像処理、表示装置への出力を、当該部分画像の単位でパイプライン処理する。これにより、サーバ400での画像の描画から、画像処理装置200に接続された表示装置への表示までの遅延時間を軽減させる。
【0024】
サーバ400において、描画制御部402はCPU(Central Processing Unit)で実現され、画像描画部404における画像の描画を制御する。上述のとおり本実施の形態において表示させる画像の内容は特に限定されないが、描画制御部402は例えば、クラウドゲームを進捗させ、その結果を表す動画像のフレームを画像描画部404に描画させる。
【0025】
画像描画部404はGPU(Graphics Processing Unit)で実現され、描画制御部402の制御のもと、所定または可変のレートで動画像のフレームを描画し、その結果をフレームバッファ406に格納する。フレームバッファ406はRAM(Random Access Memory)によって実現される。ビデオエンコーダ408は、描画制御部402の制御のもと、フレームバッファ406に格納された画像のデータを、1フレームより小さい部分画像の単位で圧縮符号化する。部分画像は、フレームの画像平面を例えば横方向、縦方向、縦横双方向、または斜め方向に設定した境界線で分割してなる、各領域の画像である。
【0026】
ビデオエンコーダ408はこの際、圧縮符号化に必要な画像が画像描画部404により描画され次第、サーバの垂直同期信号を待たずに、当該フレームの圧縮符号化を開始してよい。フレームの描画や圧縮符号化など各種処理を、垂直同期信号を基準として同期させる従来技術によれば、画像の描画から表示までの各処理に与える時間をフレーム単位で揃えることにより、フレーム順の管理が容易である。しかしながらこの場合、フレームの内容によって描画処理が早く終了しても、圧縮符号化処理を次の垂直同期信号まで待機する必要がある。本実施の形態では後に述べるように、部分画像単位でその生成時刻を管理することにより、無駄な待機時間が生じないようにする。
【0027】
ビデオエンコーダ408が圧縮符号化に用いる符号化方式は、H.264/AVCやH.265/HEVCなど一般的なものでよい。ビデオエンコーダ408は、圧縮符号化した画像のデータを部分画像記憶部410に格納する。部分画像記憶部410はSRAM(Static Random Access Memory)などで実現されるローカルメモリであり、1フレームより小さい部分画像のデータサイズに対応する記憶領域を有する。以後に述べる「部分画像記憶部」も同様である。ビデオストリーム制御部414は、圧縮符号化された部分画像のデータが部分画像記憶部410に格納される都度、当該データを読み出し、オーディオデータや制御情報などを必要に応じて含めたうえでパケット化する。
【0028】
制御部412は、部分画像記憶部410に対するビデオエンコーダ408のデータ書き込み状況や、ビデオストリーム制御部414のデータを読み出し状況などを常に監視し、両者の動作を適切に制御する。例えば制御部412は、部分画像記憶部410にデータ欠乏、すなわちバッファアンダーランや、データ溢れ、すなわちバッファオーバーランが起きないように制御する。
【0029】
入出力インターフェース416は画像処理装置200と通信を確立し、ビデオストリーム制御部414がパケット化したデータを、ネットワーク306を介して順次送信する。入出力インターフェース416は画像データのほか、オーディオデータなども適宜送信してよい。入出力インターフェース416はさらに、ユーザ操作に係る情報を画像処理装置200から取得し、描画制御部402に供給してもよい。
【0030】
画像処理装置200において入出力インターフェース202は、サーバ400から送信された画像やオーディオのデータを順次取得する。入出力インターフェース202はさらに、ユーザ操作に係る情報をヘッドマウントディスプレイ100や図示しない入力装置などから適宜取得し、サーバ400に送信してもよい。入出力インターフェース202は、サーバ400から取得したパケットを復号のうえ、取り出した画像のデータを部分画像記憶部204に格納する。
【0031】
部分画像記憶部204は入出力インターフェース202とビデオデコーダ208の間に設けたローカルメモリである。制御部206は、部分画像記憶部204に対する入出力インターフェース202のデータ書き込み状況や、ビデオデコーダ208のデータを読み出し状況などを常に監視し、両者の動作を適切に制御する。
【0032】
ビデオデコーダ208は、部分画像のデータが部分画像記憶部204に格納される都度、当該データを読み出し、符号化方式に応じた手順で復号伸張したうえ、部分画像記憶部210に順次格納する。部分画像記憶部210はビデオデコーダ208と画像処理部214の間に設けたローカルメモリである。制御部212は、部分画像記憶部210に対するビデオデコーダ208のデータ書き込み状況や、画像処理部214のデータを読み出し状況などを常に監視し、両者の動作を適切に制御する。
【0033】
画像処理部214は、復号伸張された部分画像のデータが部分画像記憶部210に格納される都度、当該データを読み出し、表示に必要な処理を施す。例えばヘッドマウントディスプレイ100において、接眼レンズを介して見たときに歪みのない画像を視認させるために、接眼レンズによる歪みと逆の歪みを与える補正処理を実施する。
【0034】
あるいは画像処理部214は、別途準備したUIプレーン画像を参照し、サーバ400から送信された画像に合成(スーパーインポーズ)してもよい。また画像処理部214は、ヘッドマウントディスプレイ100が備えるカメラによる撮影画像を、サーバ400から送信された画像に合成してもよい。画像処理部214はまた、処理の時点におけるユーザの頭部の位置や姿勢に対応する視野となるように、サーバ400から送信された画像を整形してもよい。画像処理部214はまた、超解像処理など平板型ディスプレイ302へ出力するのに適した画像処理を行ってもよい。
【0035】
いずれにしろ画像処理部214は、部分画像記憶部210に格納された部分画像の単位で処理を施し、部分画像記憶部216に順次格納していく。部分画像記憶部216は画像処理部214とディスプレイコントローラ220の間に設けたローカルメモリである。制御部218は、部分画像記憶部216に対する画像処理部214のデータ書き込み状況や、ディスプレイコントローラ220のデータを読み出し状況などを常に監視し、両者の動作を適切に制御する。
【0036】
ディスプレイコントローラ220は、画像処理後の部分画像のデータが部分画像記憶部216に格納される都度、当該データを読み出し、ヘッドマウントディスプレイ100や平板型ディスプレイ302に適切なタイミングで出力する。具体的には、それらのディスプレイの垂直同期信号に合致するタイミングで、各フレームの最上段の部分画像のデータを出力し、その後、下方に向けて部分画像のデータを順次出力していく。
【0037】
次に、画像の描画から表示までにサーバ400および画像処理装置200において実現される、部分画像のパイプライン処理について説明する。図4は、本実施の形態における、画像の描画から表示までの処理の様子を概念的に示している。上述のとおりサーバ400は、動画像のフレーム90を所定または可変のレートで生成する。図示する例でフレーム90は、左右に二等分した領域に左目用、右目用の画像をそれぞれ表した構成を有するが、サーバ400で生成する画像の構成をこれに限る趣旨ではない。
【0038】
サーバ400は上述のとおり、フレーム90を部分画像ごとに圧縮符号化する。図では画像平面を水平方向に5分割し、部分画像92a、92b、92c、92d、92eとしている。これにより、部分画像はこの順で次々に圧縮符号化され、矢印に示すように画像処理装置200へ伝送され表示される。すなわち最上段の部分画像92aに対し、圧縮符号化、送信、復号伸張、表示パネル94への出力といった処理が施されている間に、その下の部分画像92b、さらに下の部分画像92c、というように順次部分画像が伝送され表示される。これにより、画像の描画から表示までに必要な各種処理を並列に実施でき、転送時間が介在しても最低限の遅延で表示を進捗させることができる。
【0039】
一方、ヘッドマウントディスプレイ100を装着したユーザの頭部の位置や姿勢に対応する視野で動画を生成する場合、サーバ400は画像処理装置200から頭部の動きに係る情報を取得し、それに対応する視野で画像を生成して転送することで、画像処理装置200がヘッドマウントディスプレイ100に表示させる、といった手順が発生する。これらの手順に要する時間により、頭部の動きに対し表示画像に看過できない遅延が生じ、仮想現実における没入感が損なわれたり、映像酔いを引き起こしたりしてユーザ体験の質が低下し得る。
【0040】
そこで、サーバ400が一旦、生成した画像を、画像処理装置200が表示の直前の頭部の位置や姿勢に合わせて補正したうえで表示させることが考えられる。図5はヘッドマウントディスプレイ100への表示に利用できる画像の補正処理を説明するための図である。まず(a)は、サーバ400が、取得した位置姿勢の情報に対応するようにビュースクリーン340aを設定した様子を示している。サーバ400は、当該ビュースクリーン340aによって定まる視錐台342aに含まれる像344をビュースクリーン340aに描画する。
【0041】
一方、そのように描画された画像を画像処理装置200側で表示する際、矢印に示すように、サーバ400が把握したときより頭部がやや左側を向いていたとする。この場合、画像処理装置200は、(b)に示すように、ビュースクリーン340bをやや左に向け、それに対応する像となるように画像を補正する。これにより、動画データの伝送経路に関わらず、頭部の動きに追随する画像をヘッドマウントディスプレイ100に表示させることができる。
【0042】
一方、このような手法では、頭部の動きが高速であるほど補正量が大きくなり、表示に必要なデータが足りなくなってしまう可能性がある。図示する例では、画像処理装置200が新たに設定した視錐台342bには、サーバ400からデータが送信されていない領域346が多く含まれるため、補正が困難となる。そこで本実施の形態のサーバ400は、ヘッドマウントディスプレイ100などにおける表示の視野より広い視野で表示対象の世界を表した動画像を生成し転送する。
【0043】
そして画像処理装置200は、転送された広い視野での画像から、表示視野の領域を切り出して出力する。ヘッドマウントディスプレイ100を出力先とする場合、画像処理装置200は、当該ヘッドマウントディスプレイ100の位置姿勢に対応する領域の画像を切り出す。ここでサーバ400が生成する動画像の視野を、表示を許容する全方位を網羅するように設定すれば、ユーザの動きや見ている方向がどのようであっても、それに追随する画像を破綻なく表示させることができる。
【0044】
また、複数のユーザが同じ画像世界を独立した視野で鑑賞するような態様においても、サーバ400は全ユーザに共通のフレームを生成、転送すればよくなるため、個々の視野に合わせた画像を生成する処理が必要なくなる。さらにマルチキャストやブロードキャストが可能になり、配信ネットワークの帯域利用効率を高めることができる。
【0045】
このような構成は、例えば全ユーザが1つの乗り物に同乗し仮想世界を移動するゲームや、複数のユーザが同時参加する遊園地のアトラクションなどにおいて特に効果的である。この場合、サーバ400は、ユーザの位置から視認可能な360°画像を生成し、各ユーザの画像処理装置200に転送する。これによりユーザは、ヘッドマウントディスプレイ100や平板型ディスプレイ302を用いて、画像が表す世界を自由に見渡すことができる。
【0046】
図6は、本実施の形態のサーバ400および画像処理装置200の機能ブロックを示している。同図に示す各機能ブロックは、ハードウェア的にはCPU、GPU、エンコーダ、デコーダ、演算器、各種メモリなどで実現でき、ソフトウェア的には、記録媒体からメモリにロードした、情報処理機能、画像描画機能、データ入出力機能、通信機能などの諸機能を発揮するプログラムで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【0047】
サーバ400は、画像生成部420、圧縮符号化部422、パケット化部424、および通信部426を備える。画像生成部420は図3の描画制御部402、画像描画部404、フレームバッファ406で構成され、ゲーム画像など画像処理装置200に送信すべき動画像のフレームを、所定または可変のレートで生成する。画像生成部420は例えば、それまで存在していなかった転送対象の動画像のフレームを動的に生成する。あるいは画像生成部420は、図示しないカメラなどから動画像のデータを取得してもよい。
【0048】
いずれにしろ画像生成部420は上述のとおり、表示対象の世界を、転送先での表示視野より広い視野で表した動画像のフレームを生成する。例えば画像生成部420は、いわゆる360°画像(全天球画像)を、正距円筒図法で表したデータを生成する。ただし画像の形式は限定されず、多円錐図法、等距離射法、その他、魚眼レンズの画像表現に用いられる様々な形式のいずれを用いてもよい。また魚眼レンズによる画像を用いる場合、サーバ400は、2眼分の画像を用いて360°の画像を生成してもよい。
【0049】
また画像生成部420が生成するフレームの視野は、少なくとも転送先での表示視野より広ければ、その範囲は限定されない。そのため360°画像など、許容される表示視野を全て網羅する画像を生成してもよいし、画像処理装置200などから実際の表示視野の情報を取得し、その範囲を所定量だけ拡張した視野の画像を生成してもよい。またヘッドマウントディスプレイ100など、視差を有する複数の画像を表示する場合、画像生成部420は、対応する視差を有する、異なる視野の画像を複数生成してもよい。以後、画像生成部420生成する動画像のフレームを「広視野画像」と呼ぶ。
【0050】
圧縮符号化部422は、図3のビデオエンコーダ408、部分画像記憶部410、制御部412で構成され、画像生成部420が生成した広視野画像のデータを、部分画像の単位で圧縮符号化する。ここで圧縮符号化部422は、1行、2行など所定数の行の領域や、16×16画素、64×64画素など所定サイズの矩形領域を単位として動き補償や符号化を行う。したがって圧縮符号化部422は、圧縮符号化に必要な最小単位の領域のデータが画像生成部420により生成されたら、圧縮符号化を開始してよい。
【0051】
なお圧縮符号化や送信におけるパイプライン処理の単位である部分画像は、当該最小単位の領域と同じでもよいしそれより大きな領域としてもよい。パケット化部424は、図3のビデオストリーム制御部414、制御部412で構成され、圧縮符号化された部分画像のデータを、利用する通信のプロトコルに応じた形式でパケット化する。この際、当該部分画像が描画された時刻(以下、「生成時刻」と呼ぶ)を、画像生成部420または圧縮符号化部422から取得することにより、部分画像のデータと対応づけておく。
【0052】
通信部426は、図3の入出力インターフェース416で構成され、圧縮符号化された部分画像のデータとその生成時刻を含めたパケットを、画像処理装置200に送信する。これらの構成によりサーバ400は、圧縮符号化、パケット化、送信を、1フレームより小さい部分画像単位でパイプライン処理することにより並列に行う。ここで通信部426は、一般的なマルチキャストやブロードキャストの技術により、1つの広視野画像のデータを、複数の画像処理装置200にストリーミング配信してよい。ただし転送先の画像処理装置200の数は限定されない。
【0053】
通信部426はまた、転送先の画像処理装置200から、ユーザ操作に係る情報を取得してもよい。この場合、画像生成部420は、通信部426からユーザ操作に係る情報を取得し、それに応じて生成するフレームが表す内容を変化させてもよい。例えば複数のユーザがプレイヤとなり同じ仮想空間にいるゲームを実現する場合、画像生成部420は、ユーザ操作に応じて仮想世界のオブジェクトが動いたりゲームが進捗したりするように動画像の各フレームを生成する。
【0054】
なお「ユーザ操作に係る情報」には、入力装置を介したユーザ操作のほか、ヘッドマウントディスプレイ100などが取得する、ユーザ頭部の位置や姿勢、ユーザの注視点などの少なくともいずれかの情報を含んでよい。このとき画像生成部420は、それらの情報を参照して各フレームを生成してもよい。画像生成部420が広視野画像の生成に用いる仮想視点を、ユーザの状況に応じて変化させる場合、通信部426は、当該仮想視点の情報も送信してよい。
【0055】
画像処理装置200は、画像データ取得部240、復号伸張部242、画像処理部244、表示制御部246、およびクライアント情報送信部273を備える。なお復号伸張部242と画像処理部244は、部分画像のデータに所定の処理を施し表示用の部分画像のデータを生成するという意味で共通の機能を有し、それらの少なくともいずれかを「画像処理部」と総称することもできる。画像データ取得部240は、図3の入出力インターフェース202、部分画像記憶部204、および制御部206で構成され、圧縮符号化された部分画像のデータを、その生成時刻とともにサーバ400から取得する。画像データ取得部240は画像のデータとともに、広視野画像の生成に用いた仮想視点の情報も取得する。
【0056】
復号伸張部242は、図3のビデオデコーダ208、部分画像記憶部210、制御部206、制御部212で構成され、圧縮符号化された部分画像のデータを復号伸張する。ここで復号伸張部242は、動き補償や符号化など圧縮符号化に必要な最小単位の領域のデータが画像データ取得部240により取得されたら、復号伸張処理を開始してよい。画像処理部244は図3の画像処理部214、部分画像記憶部216、制御部212、制御部218で構成され、部分画像のデータに所定の処理を施し、表示用の部分画像のデータを生成する。
【0057】
具体的には画像処理部244は、接続された表示装置が実現する表示形態に対応する画像を形成する第1形成部270aおよび第2形成部27bを含む。図示する例では、ヘッドマウントディスプレイ100と平板型ディスプレイ302が接続された画像処理装置200を想定しているため、それらに対応するように第1、第2の2つの形成部を設けているが、当然、実現すべき表示形態の数だけ形成部を設けてよい。
【0058】
すなわち画像処理部244は、サーバ400から送信された1つの広視野画像から、視野や形式が異なる複数のフレームを生成する機能を有し、その数は実現すべき表示形態の数に依存する。例えば画像処理装置200に接続する表示装置がヘッドマウントディスプレイ100および平板型ディスプレイ302のどちらかであれば、画像処理部244は第1形成部270a、第2形成部270bのいずれか一方のみ備えればよい。
【0059】
第1形成部270a、第2形成部270bは共通して、サーバ400から送信された広視野画像のうち、接続された表示装置が表示する視野の領域を切り出す機能を有する。ヘッドマウントディスプレイ100を表示先とする場合、第1形成部270aは、ヘッドマウントディスプレイ100の位置や姿勢に対応する視野の領域を切り出す。平板型ディスプレイ302を表示先とする場合、第2形成部270bは例えば、入力装置などを介したユーザ操作に対応する視野の領域を切り出す。
【0060】
ただし平板型ディスプレイ302への表示において切り出す領域はこれに限らず、上述のとおりヘッドマウントディスプレイ100の視野に対応する領域としてもよいし、固定された領域としてもよい。またサーバ400から送信された広視野画像が、正距円筒図法など方位を軸として表された画像の場合、あるいは魚眼レンズなどによるレンズ歪みを有する場合、第1形成部270a、第2形成部270bは、切り出しと同時、または切り出し処理と前後して、表示先の表示パネルに対応する形式に補正する処理も行う。
【0061】
例えば第1形成部270a、第2形成部270bは、正距円筒図法で表された画像を正射影の画像へ変換する。ヘッドマウントディスプレイ100を表示先とする場合、第1形成部270aはさらに、左目用、右目用の視差のある画像を切り出したうえ、左右に接続した表示画像を生成する。サーバ400が、左目用、右目用の広視野画像を送信する場合、第1形成部270aは各広視野画像から左目用、右目用の画像を切り出してよい。第1形成部270aはまた、左目用、右目用の画像に対し、ヘッドマウントディスプレイ100が備える接眼レンズの歪みを考慮して逆の歪みを与える補正を施したり、色収差を補正したりしてよい。第1形成部270a、第2形成部270bはこれらの処理を、復号伸張部242が復号伸張を行ったデータ順に、部分画像単位で進捗させる。
【0062】
なお画像処理部244が実施する画像処理は上記のものに限らない。例えば画像処理部244は、UIプレーン画像など、動画像とともに表示させるべき画像を、部分画像単位で合成してもよい。あるいは画像処理部244は、ガンマーカーブ補正、トーンカーブ補正、コントラスト強調などを行ってもよい。すなわち表示装置の特性やユーザ指定に基づき、復号伸張した画像データの画素値・輝度値について必要なオフセット補正をしてもよい。また画像処理部244は、近傍画素を参照し、重畳・加重平均・平滑化などの処理を行うノイズ除去処理を行ってもよい。
【0063】
また画像処理部244は、画像データの解像度と、表示パネルの解像度を合わせたり、近傍画素を参照し、バイリニア・トライリニアなど、加重平均・オーバーサンプリングなどを行ったりしてもよい。また画像処理部244は、近傍画素を参照し、画像テクスチャの種類を判定し、それに応じた、デノイズ・エッジ強調・平滑化・トーン/ガンマ/コントラスト補正を選択的に処理してもよい。このとき画像処理部244は、画像サイズのアップスケーラ・ダウンスケーラと合わせて処理してもよい。
【0064】
また画像処理部244は、画像データの画素フォーマットと、表示パネルの画素フォーマットが異なる場合にフォーマット変換を行ってもよい。例えばYUVからRGB、RGBからYUV、YUVにおける444、422、420間の変換、RGBにおける8、10、12ビットカラー間の変換などを行ってもよい。また画像処理部244は、デコードした画像データがHDR(High Dynamic Range)の輝度レンジ対応フォーマットである一方、表示ディスプレイのHDRの輝度レンジ対応範囲が狭い場合(表示可能な輝度ダイナミックレンジがHDRフォーマット規定より狭いなど)、できるだけHDR画像の特徴を残しながら、表示パネル対応可能な範囲のHDRの輝度レンジフォーマットへ変換する疑似HDR処理(色空間変更)を行ってもよい。
【0065】
また画像処理部244は、デコードした画像データがHDR対応フォーマットだったが、表示ディスプレイがSDR(Standard Dynamic Range)のみに対応している場合、できるだけHDR画像の特徴を残しながら、SDRフォーマットへ色空間変換してもよい。デコードした画像データがSDR対応フォーマットだったが、表示ディスプレイがHDRに対応している場合、画像処理部244はできるだけHDRパネルの特性にあわせて、HDRフォーマットへエンハンス変換してもよい。
【0066】
また画像処理部244は、表示ディスプレイの階調表現能力が低い場合、誤差拡散付加をしてもよいし、画素フォーマット変換とあわせて処理するディザリング処理を実施してもよい。また画像処理部244は、ネットワーク転送データの欠落やビット化けにより、デコードした画像データに部分的な欠損や異常がある場合に、その領域を補正処理してもよい。また画像処理部244は、単色塗りつぶし、近傍画素複製による補正、前フレーム近傍画素による補正、適応型欠損補正により過去フレームや現フレームの周辺から推測した画素による補正をしてもよい。
【0067】
また画像処理部244は、画像処理装置200から表示装置へ出力するインターフェースの必要帯域を削減するために、画像処理部244は画像圧縮を行ってもよい。この際、画像処理部244は、近傍画素参照によるライトウェイトなエントロピー符号化、インデックス値参照符号化、ハフマン符号化などを行ってもよい。また表示装置が液晶パネルを採用した場合、高解像度化が可能な反面、反応速度が遅い。表示装置が有機ELパネルを採用した場合は反応速度が速い反面、高解像度化が難しく、また黒色領域とその周辺で色にじみが発生するBlack Smearingと呼ばれる現象が生じ得る。
【0068】
そこで画像処理部244は、このような表示パネルによる様々な悪影響を解消するように補正を行ってもよい。例えば液晶パネルの場合、画像処理部244はフレーム間に黒い画像を挿入することにより液晶をリセットし、反応速度を向上させる。また有機ELパネルの場合、画像処理部244は輝度値や、ガンマ補正におけるガンマ値にオフセットをかけBlack Smearingによる色にじみを目立ちにくくする。
【0069】
画像処理部244は画像に対し、高精細度化や、高周波数成分の復元や再構築を行う超解像処理(Super Resolution)を行ってもよい。画像処理部244はこのとき、機械学習や深層学習を用いてあらかじめ構築したデータベースやネットワークモデルへ画像データを入力することにより画像を変換してもよい。ここで画像処理部244は、部分画像単位で変換を実施することにより低遅延化を図ってよい。このときの部分画像単位を、表示パネルの走査順序や分割構成に基づいて決定された部分画像単位と一致させることで、一連の処理をパイプライン化でき、さらなる低遅延化を実現できる。
【0070】
表示制御部246は、図3のディスプレイコントローラ220と制御部218で構成され、表示用の部分画像のデータを順次、ヘッドマウントディスプレイ100や平板型ディスプレイ302の表示パネルに表示させる。ただし本実施の形態では、部分画像の圧縮符号化データをサーバ400から個別に取得するため、通信状況によっては取得順が入れ替わったり、パケットロスにより部分画像のデータ自体が取得できなかったりすることが考えられる。
【0071】
そこで表示制御部246は、部分画像が描画されてからの経過時間を、各部分画像の生成時刻から導出したうえ、サーバ400での描画タイミングを再現するように、表示パネルへの部分画像の出力タイミングを調整する。具体的には表示制御部246は、部分画像のデータの生成時刻、および/または生成時刻からの経過時間に基づき、部分画像のデータの本来の表示順や表示タイミング、部分画像のデータの欠落量などのデータ取得状況を特定する。
【0072】
そして表示制御部246はデータ取得状況に応じて、表示パネルへの出力対象を変化させたり、出力順や出力タイミングを適切に調整したりする。例えば表示制御部246はデータ取得状況に応じて、次のフレームに含まれる本来の部分画像のデータを出力するか、それより前のフレームに含まれる部分画像のデータを再度出力するかを決定する。表示制御部246は、次のフレームの表示開始時刻である垂直同期信号のタイミングまでにそのような出力対象を決定する。
【0073】
例えば表示制御部246は、フレーム中、所定値以上の割合で部分画像が欠落している場合に、出力対象を前のフレームのデータに置き換えるなど、取得された部分画像の量(割合)に応じて出力対象を変化させてもよい。また表示制御部246は、過去のフレームの出力実績や、生成時刻からの経過時間に応じて、次のフレーム表示期間の出力対象を変化させてもよい。そして表示制御部246は、決定した順序およびタイミングで、出力対象として決定された部分画像のデータを表示パネルに出力する。
【0074】
画像処理部244が第1形成部270a、第2形成部270bを有するとき、表示制御部246は図示するように、上述した機能をそれぞれ有する、第1制御部272a、第2制御部272bを備えてよい。第1制御部272a、第2制御部272bはそれぞれ、第1形成部270a、第2形成部270bが形成してなる画像をヘッドマウントディスプレイ100、平板型ディスプレイ302の表示パネルに出力する。
【0075】
クライアント情報送信部273は図3の入出力インターフェース202などで構成され、ユーザ操作の情報を取得し、サーバ400に送信する。ユーザ操作の情報は上述のとおり、ヘッドマウントディスプレイ100ひいてはユーザ頭部の位置や姿勢、あるいはユーザの視点などでもよいし、入力装置を介したゲームのコマンド入力など、表示画像の視野操作とは異なる操作の内容であってもよい。ユーザ頭部の位置や姿勢、ユーザの視点に係る情報は、表示制御部246の第1制御部272aが後述のとおり取得したデータを流用してよい。クライアント情報送信部273はまた、サーバ400がフレームを生成するのに必要な、画像処理装置200側の各種情報を適宜取得して、サーバ400に送信してよい。
【0076】
図7は、画像処理装置200の画像処理部244における第1形成部270a、および表示制御部246における第1制御部272aの機能ブロックをより詳細に示している。上述のとおり第1形成部270aおよび第1制御部272aは、ヘッドマウントディスプレイ100に表示させる画像を処理し出力する。第1形成部270aは、位置姿勢予測部262および画像取得部264を備える。
【0077】
位置姿勢予測部262は、対象フレームが表示される時点におけるヘッドマウントディスプレイ100の位置や姿勢を予測する。すなわち位置姿勢予測部262は、対象フレームが表示される未来の時刻におけるヘッドマウントディスプレイ100の位置姿勢を、それまでの位置姿勢の実際の変化に基づき予測する。位置姿勢の実際の変化は、第1制御部272aから取得する。そして位置姿勢予測部262は、対象フレームの予想表示時刻に合わせて当該時間変化を外挿することで、表示時の位置や姿勢を予測する。
【0078】
画像取得部264は、復号伸張部242が復号伸張した広視野画像のうち、予測した位置姿勢に対応する領域の画像を切り出す。概念的には図5で説明したように、位置姿勢の予測値に対応するビュースクリーンを設定し、その視錐台に含まれる領域の画像を取得する。元の広視野画像が正距円筒図法など方角を軸として表されているとき、あるいは撮影レンズによる歪みがあるとき、画像取得部264は切り出した画像が正射影の画像となるようにする。この際、画像取得部264は、広視野画像のうち切り出す領域における各画素が、正射影画像のどの位置に表されるかを変位ベクトルとして画像平面に示した変位ベクトルマップを参照し、切り出しと画像の変換を高速に行ってもよい。
【0079】
この場合、画像取得部264は、部分画像を構成する画素ごとに、変位ベクトルマップを参照して変位先の画素位置を取得することにより、切り出し後の部分画像を生成する。このとき、切り出し前の部分画像から生成できる切り出し後の画像は、その面積が変化することがあり得る。画像取得部264は、切り出し後の部分画像のデータを生成するのに必要な、切り出し前の部分画像のデータが、前段のローカルメモリに格納された時点で、変位ベクトルマップを参照した切り出し処理を開始する。これにより、切り出し後の画像についても部分画像単位での処理が可能になる。
【0080】
画像取得部264はさらに、ヘッドマウントディスプレイ100が備える接眼レンズに対応する歪みを与える補正を同時に実施してもよい。この場合、変位ベクトルマップが画素ごとに表す変位ベクトルは、切り出しのための変位ベクトルと、歪み補正のための変位ベクトルを合成したベクトルとなる。このうち歪み補正のための変位ベクトルは、接眼レンズ固有のデータとなりユーザの動き等によらないため、事前に作成しておくことができる。
【0081】
画像取得部264は、そのようにして準備しておいた、歪み補正のための変位ベクトルに、切り出しに必要な変位ベクトルを合成することにより、変位ベクトルマップを更新したうえで補正を行う。これにより、部分画像の各画素について一度の変位で、画像の切り出しと接眼レンズのための歪み補正を同時に行うことができる。なお変位ベクトルマップを用いた切り出しは、平板型ディスプレイ302へ出力する画像を処理する第2形成部270bも同様に行ってよい。
【0082】
第1制御部272aは、上述のとおりサーバ400における画像の生成時刻からの経過時間に加え、第1形成部270aが画像の切り出し時に決定した、ヘッドマウントディスプレイ100の位置姿勢の予測値と、表示直前の実際の位置姿勢との差分によっても、表示パネルへの出力対象を変化させる。具体的には第1制御部272aは、位置姿勢追跡部252、データ取得状況特定部248、出力対象決定部250、および出力部254を備える。
【0083】
位置姿勢追跡部252は、ヘッドマウントディスプレイが備える各カメラの少なくともいずれかによる撮影画像、あるいはヘッドマウントディスプレイ100が内蔵するモーションセンサの計測値を取得し、ヘッドマウントディスプレイ100、ひいてはユーザ頭部の位置や姿勢、あるいはユーザの視点を所定のレートで導出する。位置や姿勢あるいは視点の導出には、上述のとおり従来実用化されている各種手法のいずれを用いてもよい。あるいはヘッドマウントディスプレイ100の内部でそれらの情報を導出し、位置姿勢追跡部252は当該情報を所定のレートでヘッドマウントディスプレイ100から取得するのみでもよい。この際、位置姿勢追跡部252は、頭部の位置や姿勢の情報の元となった撮影画像やモーションセンサの計測値が得られた時刻(タイムスタンプ)も取得しておく。
【0084】
データ取得状況特定部248は、サーバ400における画像の生成時刻からの経過時間に加え、第1形成部270aが決定した位置姿勢の予測値と、位置姿勢追跡部252が取得した、処理時点での実際の位置姿勢との差分を取得する。そしてデータ取得状況特定部248は、部分画像のデータの本来の表示順や表示タイミング、部分画像のデータの欠落量などのデータ取得状況を特定する。出力対象決定部250は、それらの結果に応じて、表示パネルへの出力対象を変化させたり、出力順や出力タイミングを適切に調整したりする。
【0085】
出力部254は、出力対象決定部250が決定した順序およびタイミングで、出力対象として決定された部分画像のデータをヘッドマウントディスプレイ100の表示パネルに出力する。なおサーバ400における画像の生成時刻からの経過時間を用いた出力対象の決定や出力順の調整は、平板型ディスプレイ302へ出力する画像を処理する第2制御部272bも同様に行ってよい。
【0086】
図8は、本実施の形態で実現できる画像の形式の変遷を例示している。図示する例では、サーバ400に4つの画像処理装置200a、200b、200c、200dが接続され、それぞれにヘッドマウントディスプレイ100a、平板型ディスプレイ302a、平板型ディスプレイ302b、ヘッドマウントディスプレイ100bが接続されているとする。ここでヘッドマウントディスプレイ100a、100bに表示すべき画像132a、132bは、左目用画像と右目用画像からなり、それぞれが接眼レンズのための歪みを与えられた形式を有する。
【0087】
ただしヘッドマウントディスプレイ100aの視野角が100°、ヘッドマウントディスプレイ100bの視野角が150°など異なるとすると、それぞれに表示される画像132a、132bの画角も異なることになる。一方、平板型ディスプレイ302a、302bに表示すべき画像134a、134bは、両眼で共通の1つの像からなり、レンズ歪みなどのない一般的な画像の形式を有する。ただし平板型ディスプレイ302aは画面アスペクト比が16:9、平板型ディスプレイ302bは画面アスペクト比が4:3など異なるとすると、画像134a、134bのアスペクト比も異なることになる。
【0088】
本実施の形態では、サーバ400が360°画像のような広視野画像130を画像処理装置200a~200dに共通して送信する。そして個々の画像処理装置200a~200dが、それぞれで実現する、上記のような様々な表示形式に合うように表示画像を形成する。これにより図示するように画角、視野角、画面アスペクト比などが様々であっても、サーバ400側での処理は一律に行える。さらにマルチキャストやブロードキャストでの転送が可能なため、表示形式が様々であることに加え、個々のユーザが異なる方向を向いていても、さらにユーザの数が増加しても、転送帯域やサーバ400での処理の負荷を圧迫することがない。
【0089】
このように広視野画像130から画像を切り取ったり補正したりして適切な表示画像を生成するため、画像処理装置200a~200dは、サーバ400が広視野画像130を生成する際に設定した仮想視点、すなわちどの位置および方向を中心として見た広視野画像130であるかを示す情報を取得する。仮想視点を固定とする場合、サーバ400と画像処理装置200との間で初期処理として仮想視点の情報を共有すればよい。仮想視点を可変とする場合、サーバ400と画像処理装置200の間で、例えば次のようにして、各フレームにおける仮想視点の情報を随時共有化する。なおここで仮想視点の情報とは、視点を決定づけるユーザ頭部の位置や姿勢、あるいは視点でもよいし、広視野画像において表示対象の3次元空間の原点が存在する位置(視野基準点)などでもよい。
【0090】
すなわち画像処理装置200a~200dにおけるユーザの位置や姿勢、あるいは視点に基づきフレームを生成する場合、サーバ400はまず、画像処理装置200a~200dからそれらの情報と、その状態となった時刻を表すタイムスタンプとを取得する。そしてサーバ400は、フレームの生成に利用したユーザの位置や姿勢、あるいは視点の情報と、それが生じたタイムスタンプとをフレームのデータとともに送信する。あるいはサーバ400は、フレームの生成に利用したユーザの位置や姿勢、あるいは視点が生じたタイムスタンプのみを、フレームのデータとともに送信してもよい。この場合、画像処理装置200a~200dの画像処理部244は、自らが保持する位置や姿勢、あるいは視点の履歴から、送信されたタイムスタンプに対応するデータを取得する。
【0091】
またはサーバ400は、フレーム生成に利用した視野基準点を、フレームのデータとともに送信してもよい。なお画像処理装置200a~200dは、ユーザの位置や姿勢、あるいは視点と、その状態となったタイムスタンプとを含むデータセットの履歴を、最新のデータセットとともにサーバ400に送信するようにしてもよい。またサーバ400は、フレームの生成に利用した仮想視点の情報やタイムスタンプなどを含むデータセットの履歴を、最新のデータセットやフレームのデータとともに画像処理装置200に送信するようにしてもよい。このように過去の履歴を送受することにより、送信の失敗に備えることができる。
【0092】
なおサーバ400の画像生成部420は、単数または複数の画像処理装置200における表示が高画質化するように、広視野画像の「描画の向き」、すなわち画像平面での位置座標と表示世界での方角との対応関係を決定してもよい。正距円筒図法の場合、「描画の向き」とは、円筒の向き(緯線・経線の向き、標準緯線すなわち「緯度0度」の位置)、画面左端の位置(経度0度の位置)である。
【0093】
高画質化には、次の条件の少なくともいずれかが満たされることが望ましい。
1.画像処理装置200において、予測されたユーザ頭部の位置や姿勢に対応する領域の切り出し後になされる歪み補正の度合いが小さいこと
2.画像処理装置200において、予測されたユーザ頭部の位置や姿勢に対応する領域の画像の解像度が高いこと
【0094】
上記1は、広視野画像が正距円筒図法など方位を軸として表された画像や、魚眼レンズなどによるレンズ歪みを有する画像の場合、画像の位置に依存して歪み量が異なるためである。上記2は、そのような画像の場合、画像の位置に依存して表示時の解像度(単位面積あたりの画素数)が異なるためである。例えば正距円筒図法の場合、上端・下端は歪み量が多いため、表示視野が広視野画像の上端や下端を含まないように「描画の向き」を決定する。また魚眼レンズの画像であれば、中心に近いほど歪み量が少なく、かつ解像度が高いため、表示視野が広視野画像の上端、下端、左端、右端を含まないように「描画の向き」を決定する。
【0095】
この場合も、サーバ400は、ユーザの位置や姿勢あるいは視点を、その状態となった時刻を表すタイムスタンプとともに画像処理装置200から取得することにより、各画像処理装置200における表示視野を特定する。またサーバ400は、画像処理装置200における表示視野の移動を予測し、それに応じて「描画の向き」を決定してもよい。この場合、サーバ400は、画像生成部420の処理に要する時間(a)の履歴、過去に通信部426から取得したネットワーク遅延(b)の履歴、画像処理装置200の復号伸張部242および画像処理部244における処理遅延(c)の履歴、ユーザの位置や姿勢あるいは視点の履歴を保持する。
【0096】
そして画像生成部420は、これらの情報の一部または全てを用いて、これから描画するフレームが、画像処理装置200を介して表示されるまでに要する合計遅延時間t=(a)+(b)+(c)を予測し、当該合計遅延時間t後の表示視野に好適な「描画の向き」を決定する。合計遅延時間tの予測においては、例えば統計に基づいた、平均遅延値、発生頻度が高い遅延値、直近遅延履歴における変化量の微分(Δ値)を前回の遅延に加算した遅延値、などのいずれかを用いればよい。そして画像生成部420は、例えばユーザの位置や姿勢あるいは視点の履歴における直近の変化量の微分(Δ値)、すなわち移動ベクトルを、前回の位置や姿勢あるいは視点に加算した結果、得られる視野が、正距円筒図法などによる広視野画像の端にならないように「描画の向き」を決定する。
【0097】
さらにサーバ400の画像生成部420は、上述と同様に合計遅延時間tを予測し、フレームとして表す画像の内容を、当該合計遅延時間tの経過後に表示されることを前提に決定してもよい。例えば、合計遅延時間tの予測値が5msの場合、画像の内容として5ms後の世界を描くようにする。データ転送先の画像処理装置200が複数ある場合は、それぞれについて予測した合計遅延時間tのなかで最も短い予測値を採用する。
【0098】
サーバ400は、広視野画像のフレーム生成に採用した「描画の向き」に係る情報を、フレームのデータとともに画像処理装置200へ送信する。画像処理装置200は上述のとおり、画像のデータ、ユーザの位置や姿勢あるいは視点と、その状態となったタイムスタンプとを含むデータセットとともに、「描画の向き」に係る情報を取得する。これにより画像処理装置200の画像処理部244は、送信された情報を用いて、適切な位置で画像を切り出すことができる。
【0099】
以上を総合すると、例えば正距円筒図法で広視野画像を生成する場合、サーバ400の画像生成部420は、全ユーザの位置や姿勢あるいは視点の変化を、それまでの移動ベクトルに基づいて予測し、それに基づく表示視野が広視野画像の端にならないように「描画の向き」を決定する。また画像生成部420は、予測した位置や姿勢あるいは視点に基づく視野を所定の範囲で拡張させた、360°に満たない範囲の画像を生成してもよい。
【0100】
いずれにしろこの態様においては、画像処理装置200は、ユーザの位置や姿勢あるいは視点と、その状態となった時刻のタイムスタンプからなるデータセットとその履歴、および内部での処理、例えば復号伸張部242や画像処理部244の処理による遅延時間(b)とその履歴をサーバ400へ送信する。サーバ400は、フレームの「描画の向き」とその履歴、採用したユーザの位置や姿勢あるいは視点と、その状態となった時刻のタイムスタンプ、あるいは視野基準点とその履歴を、広視野画像のフレームのデータに対応づけて画像処理装置200に送信する。このように過去の履歴を送受することにより、送信の失敗に備えることができる。
【0101】
図9は、画像処理装置200において、第1形成部270aの画像取得部264が行う画像取得の手順の例を説明するための図である。(a)はサーバ400から送信される広視野画像の平面の一部、(b)はそこから切り出された正射影画像の平面を示している。ただし実際の画素の変位は図示するものに限らない。広視野画像の平面におけるS00、S01、S02・・・は変位ベクトルマップにおいて変位ベクトルを設定する位置を表す。例えば画像平面の水平方向、垂直方向に離散的に(例えば、8画素あるいは16画素ごとなど等間隔に)変位ベクトルを設定する。
【0102】
切り出し後の画像平面におけるD00、D01、D02、・・・はそれぞれ、S00、S01、S02、・・・の変位先の位置を表す。図では一例として、S00からD00への変位ベクトル(Δx,Δy)を白抜き矢印で示している。画像取得部264は、変位ベクトルを設定する画素を頂点とする最小の三角形の単位で、広視野画像のうち視野内の領域を、切り出し後の画像にマッピングする。例えば切り出し前の画像のS00、S01、S10を頂点とする三角形を、切り出し後の画像のD00、D01、D10を頂点とする三角形にマッピングする。
【0103】
ここで三角形の内部の画素は、D00、D01、D10との距離に応じて線形に、あるいはバイリニア、トライリニアなどにより補間した位置に変位させる。そして画像取得部264は、接続されたローカルメモリに格納された、切り出し前の部分画像の対応する画素の値を読み出すことにより、切り出し後の画像の画素値を決定する。この際、切り出し前の画像における読み出し先の位置から所定範囲内にある複数の画素の値を、バイリニア、トライリニアなどにより補間することで、切り出し後の画像の画素値を導出する。
【0104】
これにより画像取得部264は、切り出し前の画像の三角形の変位先である三角形の単位で、切り出し後の画像を画素列順に描画していくことができる。なお画像取得部264はリアルタイムでの位置や姿勢の予測値を反映させた切り出しを実現するため、部分画像に対応する領域単位で変位ベクトルマップを更新してもよい。
【0105】
図10は、本実施の形態において表示制御部246の第1制御部272aが、出力対象や出力タイミングを調整しつつ、表示パネルへ部分画像のデータを出力する処理手順の例を示すフローチャートである。このフローチャートは、表示パネルの垂直同期信号のタイミングより前の所定のタイミングで、当該垂直同期信号に合わせて表示を開始すべきフレームに対し実施する処理の手順を示している。すなわちフレームごとに、図示した処理を繰り返す。なお同じ処理手順は、第2制御部272bにおいても実施してよい。
【0106】
まずデータ取得状況特定部248は、対象フレームに含まれる部分画像の取得状況を特定する(S10)。データ取得状況特定部248はさらに、それまでのフレームにおける部分画像の出力実績を記録しておき、それを参照してもよい。ここで出力実績とは例えば、次のようなデータの少なくともいずれかである。
1.後述する3つの分類のうち過去の所定期間に選択された分類の履歴
2.過去の所定期間に後述する第1分類において欠落した部分画像の履歴、発生率、部分画像の欠落の面積割合
3.最後に表示画像が更新されてからの経過時間
【0107】
すると出力対象決定部250は、特定されたそれらの状況が、あらかじめ準備しておいた分類のいずれに当てはまるかを判定する(S12)。出力対象決定部250は基本的に、様々な観点から総合的な判定を行い、ユーザ体験が最良となるように出力対象を決定する。そのためデータ取得状況特定部248はS10において、次のようなパラメータの少なくともいずれかを取得する。
【0108】
1.対象フレームを構成する部分画像のうち取得済みの部分画像の量
2.対象フレームにおける部分画像の欠落範囲
3.同じ画像フレームの表示継続時間
4.後述するブラックアウトの継続時間
5.部分画像の生成時刻からの経過時間
上記パラメータのそれぞれには、1つまたは複数のしきい値を設定しておく。
【0109】
そして出力対象決定部250は、対象フレームについて取得したパラメータがどの範囲に該当するかに応じてスコアを与えるなどして状況を分類する。例えばS10で取得したパラメータのそれぞれに、あらかじめ定めたテーブルに基づきスコアを与え、全パラメータのスコアの分布に基づき状況を分類する。図示する例では3つの分類を準備している。第1分類に当てはまる場合、出力対象決定部250は、それまでに得られた最新の部分画像のデータを出力対象と決定し、出力部254にそれを出力させる(S14)。
【0110】
例えば構成する部分画像が所定値(所定割合)以上、取得済みで、なおかつ部分画像の生成時刻からの経過時間が許容範囲の場合、出力対象決定部250はスコア判定に基づき対象フレームを第1分類とする。このとき出力対象決定部250は、各生成時刻に対応する順序で部分画像が出力されるようにタイミングを調整する。理想的にはフレームの上段の部分画像から順次出力していく。
【0111】
ただし途中に欠落している部分画像がある場合、各欠落箇所について下記パラメータのスコア化をさらに行い、前のフレームの同じ位置の部分画像を再利用するか、その部分についてはブラックアウトさせるか、判定してもよい。
1.同じ画像フレームの表示継続時間
2.後述するブラックアウトの継続時間
3.部分画像の生成時刻からの経過時間
【0112】
なお、それまでに本来の画像を表示できない状況が所定時間以上、続いている場合、出力対象決定部250は、対象フレームの部分画像が所定値(所定割合)以上、取得済みでなくても第1分類としてもよい。前述のスコアを決めるテーブルをそのように設定しておいてもよい。これにより、一部であっても可能な範囲で画像の動きを表現できる。なお欠落した画像を、画像処理部244が推測のうえ修復してもよい。
【0113】
第2分類に当てはまる場合、出力対象決定部250は、対象フレームより前のフレームの画像のデータを出力対象と決定し、出力部254にそれを出力させる(S16)。この場合、表示パネルには同じフレームが表示され続けることになる。例えば、対象フレームの部分画像が所定値(所定割合)以上、取得できず、前の所定時間内のフレームにおいては部分画像が所定値(所定割合)以上、取得されている場合、出力対象決定部250は対象フレームを第2分類とする。前述のスコアを決めるテーブルをそのように設定しておいてもよい。
【0114】
第3分類に当てはまる場合、出力対象決定部250は、対象フレームのデータを出力すべき期間、何も出力しないことを決定する(S18)。この場合、表示パネルには1フレーム分のブラックアウト期間が発生する。例えば、対象フレームの部分画像が所定値(所定割合)以上、取得できず、表示済み画像を引き続き表示するには生成時刻からの経過が長すぎる場合、出力対象決定部250は対象フレームを第3分類とする。前述のスコアを決めるテーブルをそのように設定しておいてもよい。なおブラックアウトは、黒の塗りつぶし画像を表示することを基本とするが、あらかじめ設定した別の色を用いてもよい。
【0115】
第2分類や第3分類での表示が所定時間継続したら、上述のとおり部分画像の取得状況にかかわらず第1分類に分岐させることにより、一部であっても何らかの画像の更新を行ってもよい。なお第1分類から第3分類に進むにつれて、ユーザ体験は損なわれやすくなる。そのためS10で取得した各パラメータに対して、ユーザ体験を良好にすべきときに高いスコアを与えるようにテーブルを決めておく。
【0116】
そのうえで、S12では、S10で得たパラメータについて、テーブルに基づきスコアを与え、得られた複数のスコアを合算する。その合計値がどの程度大きいかで、第1から第3の分類の表示方法分類を選択する。ここで、合計値が大きい側が、第1分類、小さい側が第3分類とするしきい値をあらかじめ決めておく。
【0117】
なお図示した例は一態様に過ぎず、データ取得状況特定部248が取得する情報の種類、出力対象決定部250による分類の判定基準、および各分類における出力対象は、表示対象の動画像の内容、許容できる欠落の度合いや欠落の継続時間、許容できる表示遅延や表示停止時間などに基づき適宜決定しておく。また第1制御部272aは、次の垂直同期信号まで待機している間に蓄積される画像、一定範囲の表示済み画像、生成時刻、S10やS12での判定結果やスコアを、図示しないメモリなどに保持してもよい。
【0118】
さらに出力対象決定部250は、S12における判定とは別に、対象フレームに係る状況が、ユーザへ警告すべき条件に該当するか否かを判定する(S20)。例えば出力対象決定部250は、単位時間あたりにブラックアウトさせた時間や、部分画像の欠落の発生量がしきい値を超えたことを条件に、ユーザへの警告が必要と判定する(S20のY)。このとき出力対象決定部250は、通信状況が画像表示に影響を与えている旨のメッセージを表示させる(S22)。
【0119】
当該メッセージは、画像処理部244が部分画像に重畳させることにより表示されるようにしてもよい。これによりユーザは、表示される画像の不具合の原因を知ることができる。警告条件に該当しない場合はメッセージを表示しない(S20のN)。以上の手順により対象フレームに関する処理を終了するとともに、次のフレームについて処理を開始する。
【0120】
なおデータ取得状況特定部248は、S10で取得した部分画像の生成時刻からの処理時までの経過時間に基づき、データの送信遅延時間の傾向を導出してもよい。例えばデータ取得状況特定部248は、過去に取得済みの所定数の部分画像の、生成時刻からの経過時間のヒストグラムを生成する。そしてデータ取得状況特定部248は、基準値以上、経過時間が長くなる方向にヒストグラムが偏るなどしたときに、経過時間の増加の傾向を検知する。
【0121】
このときデータ取得状況特定部248は、画像データ取得部240などを介してサーバ400に、送信する画像データのサイズの抑制を要求してもよい。例えばデータ取得状況特定部248は、1フレーム分の画像のデータ送信をスキップするように要求したり、圧縮率を所定量上げるように要求したりする。画面解像度を所定量下げるように要求してもよい。あるいはデータ取得状況特定部248は、出力対象決定部250に、1フレーム分の画像のデータ出力をスキップするように要求してもよい。
【0122】
あるいはデータ取得状況特定部248はサーバ400に、部分画像の生成時刻から取得までの経過時間やその履歴を送信してもよい。サーバ400の通信部426はこれを取得し、圧縮符号化部422が、ヒストグラムを生成して経過時間が長くなる方向にヒストグラムが偏るなどしたときに、経過時間の増加の傾向を検知し、送信する画像データのサイズを抑制してもよい。またはデータ取得状況特定部248はサーバ400に、上記の第1~第3の分類の発生量を通知してもよい。これらの対策により、遅延時間の増加が進み、後続のフレームの表示が著しく滞ったりデータが欠落したりするのを防止できる。
【0123】
図11は、本実施の形態において表示制御部246の第1制御部272aが、ヘッドマウントディスプレイ100の位置姿勢の変化に基づき出力対象を調整する処理手順を示すフローチャートである。このフローチャートは、図10で示したフローチャートにおいてS12の判定処理の後に実施する。より具体的には第1制御部272aの出力対象決定部250は、S12の判定処理において第1分類または第2分類に当てはまるとしたフレームであっても、必要に応じて第3分類に変更するために追加で判定を行う。
【0124】
したがって図10のS12において、部分画像の取得状況から、対象フレームが第3分類に当てはまると判定した場合は、出力対象決定部250はそのまま処理を終了する(S90のN)。一方、第1分類または第2分類に当てはまると判定した場合(S90のY)、出力対象決定部250はまず、第1形成部270aが画像を切り出す際に予測した、ヘッドマウントディスプレイ100の位置姿勢と、最新の位置姿勢との差分が許容範囲にあるか否かを判定する(S92)。
【0125】
位置姿勢の予測値と実際との差分が許容範囲を超えるときは、当該フレームのデータを表示パネルに出力しないようにする。すなわち差分が許容範囲を超えている場合、出力対象決定部250は、第1分類または第2分類とされた対象フレームの分類を第3分類に変更する(S92のN、S98)。この場合、表示はブラックアウトとなる。あるいは元が第1分類の場合に第1分類のままとし、図10のS14において、欠落部分の表示に過去のフレームを用いないようにしてもよい。
【0126】
位置姿勢の差分が許容範囲か否かの判定基準は、フレームの全領域を最新の部分画像でまかなえるか(第1分類)、一部でも過去のフレームの部分画像を用いるか(第1分類または第2分類)、によって異ならせてよい。具体的には、位置姿勢の差分が小さいほど、過去のフレームの部分画像を用いることを許容してよい。許容範囲か否かは、位置姿勢の差分に設定したしきい値との大小関係により判定してもよいし、許容範囲とするスコア値として、位置姿勢の差分が大きいほど低くなるような関数を与え、図10の判定に用いたスコア値などと合算して総合的に判定してもよい。
【0127】
位置姿勢の差分が許容範囲であると判定したら(S92のY)、出力対象決定部250は次に、対象フレームにおけるデータ欠落の度合いを、ユーザの視点の観点から評価した結果が許容範囲にあるか否かを判定する(S94)。具体的には、ユーザの注視点に近いほど大きい重みづけでデータ欠落の度合いを数値化し、当該数値がしきい値を超えた場合に、データ欠落の度合いが許容範囲にないと判定する。欠落の度合いが許容範囲にない場合(S94のN)、出力対象決定部250は、第1分類とされた対象フレームを第2分類または第3分類に変更する。
【0128】
あるいは第2分類とされた対象フレームを第3分類に変更する(S98)。これにより、ユーザが視認しやすい部分でのデータ欠落が多いほど、当該フレームを出力させずに過去のフレームを再利用したりブラックアウトとしたりするように調整する。なおS94の判定処理は、図10のS12の判定処理と同時に行ってもよい。データ欠落の度合いが許容範囲であると判定したら、出力対象決定部250は元の分類のまま処理を終了する(S94のY)。なおS92、S94はそれぞれ独立に判定するのに限らず、各判定基準に基づきスコアを求め、それらを合算することにより、分類や表示内容の変更が必要か否かを総合的かつ同時に判定してもよい。このように追加で判定をした結果として、図10のS14、S16、S18の処理のいずれかを実施する。
【0129】
図12は、図11のS94において、出力対象決定部250がユーザの視点に基づきデータ欠落の度合いを数値化する手法を説明するための図である。この例ではユーザの注視点292が、表示画面290の中央付近に存在するとしている。ヘッドマウントディスプレイ100を装着しているユーザは通常、見たい方向に顔を向けるため、表示画面290の中央を注視点292と見なすこともできる。
【0130】
一般的な人の視覚特性として、瞳孔から注視点へ向かう視線を中心軸として5°以内に対応する領域294は弁別視野と呼ばれ、視力などの視機能が優れている。また水平方向に約30°、垂直方向に約20°以内に対応する領域296は有効視野と呼ばれ、眼球運動だけで瞬時に情報を受容できる。さらに水平方向に60~90°、垂直方向に45~70°以内に対応する領域298は安定注視野、水平方向に100~200°、垂直方向に85~130°以内に対応する領域299は補助視野、というように、注視点292から離れるほど情報の識別能力が低くなる。
【0131】
そこで図の上と左に示すように、表示画面290の平面において注視点292に近いほど大きくなる重みづけ関数320a、320bを設定する。なおこの図では、表示画面290の平面における水平方向、垂直方向の1次元での位置に対する重みづけ関数320a、320bを示しているが、実際には当該平面上の2次元の位置座標に対する関数、あるいはテーブルとする。出力対象決定部250は例えば部分画像の欠落面積に、当該欠落が生じている位置座標に基づく重みを乗算し、それを対象フレームの全領域で合計することにより、欠落の度合いを数値として導出する。
【0132】
これにより、同じ欠落面積でもより視認されやすい領域が欠落している場合は欠落の度合いを高く見積もることができ、見た目の印象を加味して許容範囲か否かを判定できる。なお図示する重みづけ関数320a、320bの形状はあくまで例示であり、上述した各範囲の視覚特性などに基づき形状を最適化したり、不連続な関数としたりしてよい。またヘッドマウントディスプレイ100に注視点検出器を設ける場合、注視点292は表示画面290の中央に限らずより厳密に求められる。
【0133】
この場合、出力対象決定部250は注視点292の移動に応じて、重みづけ関数320a、320bが最大となる位置を移動させればよい。また注視点検出器を利用する場合、注視点の情報をより厳密に取得できるため、画面中心を注視点と見なす場合より距離に対する重みづけの変化を大きくし、欠落の度合いへの影響を増幅させてもよい。さらに出力対象決定部250は、ヘッドマウントディスプレイ100の位置姿勢の予測値と、処理時点における実際の位置姿勢との差分に基づき、第1形成部270aが切り出した領域のうち表示視野から外れる見込みの領域を特定し、その領域については欠落の度合いの評価対象から除外してよい。
【0134】
図13は、画像処理装置200において、画像処理部244の第1形成部270aと表示制御部246の第1制御部272aが実施する処理の手順を示すフローチャートである。このフローチャートは基本的に、動画像のフレーム単位で行われる。まず第1制御部272aは、ヘッドマウントディスプレイ100の最新の位置姿勢を位置姿勢追跡部252で取得し、第1形成部270aに供給する(S100)。
【0135】
また第1制御部272aは、過去のフレームに対し得られた、第1形成部270aにおける切り出し時刻から第1制御部272aで処理されるまでの遅延時間の履歴と、ヘッドマウントディスプレイ100の位置姿勢の予測値と実際との差分の履歴を、第1形成部270aに供給する(S102)。なおS100、S102の送信処理は、フレームと同期しない任意のタイミングで行ってもよい。またS102においては、過去の所定数のフレームについての履歴を送信することにより、送信の失敗に備えることができる。
【0136】
第1形成部270aの位置姿勢予測部262はそれらの情報に基づき、ヘッドマウントディスプレイ100に該当フレームが表示される際の位置姿勢を予測する(S104)。すなわち第1形成部270aでのその後の処理や、第1制御部272aでの処理や出力に要する時間が経過した後の位置姿勢を、第1制御部272aから供給された各種情報を用いて予測する。次に第1形成部270aの画像取得部264は、サーバ400から送信された広視野画像のうち、予測された位置姿勢に対応する領域を切り出す(S106)。
【0137】
画像取得部264はこの際、あらかじめ定めた所定量の範囲だけ拡張した視野を切り出すことで、表示の欠落を防止してもよい。また画像取得部264は、上述した変位ベクトルマップを用いて必要な補正を行ってよい。画像取得部264は、切り出して各種補正を施した画像のデータと、その切り出し時刻、切り出しに用いた位置姿勢の予測値とを対応づけて第1制御部272aに供給する(S108)。画像取得部264はさらに、処理済みの所定数の画像の、切り出し時刻の履歴と位置姿勢の予測値の履歴も第1制御部272aに供給することにより、それらの情報の送信失敗に備える。
【0138】
第1制御部272aのデータ取得状況特定部248がそれらのデータを取得すると、出力対象決定部250は、部分画像が切り出されてからの遅延時間および、位置姿勢の予測値と実際との差分を取得する(S110)。そして出力対象決定部250は、それらのデータに基づきフレームを分類するなどして出力対象を制御する(S112)。第3分類によりブラックアウトさせる場合以外は、出力対象決定部250は、第1形成部270aが切り出した現フレーム、あるいは前のフレームを出力対象とし、出力部254が表示パネルに出力する(S114)。
【0139】
なお前のフレームを出力対象とする場合、第1制御部272aは、第1形成部270aに、前のフレームの広視野画像のうちヘッドマウントディスプレイ100の最新の位置姿勢に対応する領域を切り出すように要求し、それに応じて切り出された画像を出力対象としてもよい。またサーバ400が広視野画像を送信することで、最新の位置姿勢に対応する画像を破綻なく生成したり、複数ユーザに対しても効率よく配信したりする構成に着目した場合、各処理を部分画像単位で行わずフレーム単位で実行しても有効に機能する。
【0140】
以上述べた本実施の形態によれば、サーバ400が生成した画像のデータを、クライアントである画像処理装置200が受信し表示させる形態のシステムにおいて、サーバ400は、クライアント側の表示視野より広い視野の画像を生成し送信する。例えば正距円筒図法で表された広視野の動画像を送信することにより、クライアント側での視野がどのようであっても、破綻なく表示が可能である。
【0141】
特にヘッドマウントディスプレイを用いた表示においては、ユーザの頭部の動きに対し遅延の少ない画像を表示させつづけることができる。また、サーバ400が一律で処理を行っても、様々な表示形態や画面アスペクト比の表示装置において独立した画像を容易に表示させることができ、複数のユーザが自由な向きで同一の画像世界を見るような態様においてサーバ400の処理の負荷を抑えられる。さらにサーバ400がマルチキャストやブロードキャストで配信できるため、ネットワーク帯域の利用効率を高めることができる。結果としてサーバから動画像を配信する形式であっても、高品質の画像を低遅延で表示させることができる。
【0142】
以上、本発明を実施の形態をもとに説明した。実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【産業上の利用可能性】
【0143】
以上のように本発明は、サーバ、画像表示装置、ゲーム装置、携帯端末、パーソナルコンピュータなど各種情報処理装置や、それらのいずれかを含む画像表示システムなどに利用可能である。
【符号の説明】
【0144】
1 画像表示システム、 100 ヘッドマウントディスプレイ、 200 画像処理装置、 240 画像データ取得部、 242 復号伸張部、 244 画像処理部、 246 表示制御部、 248 データ取得状況特定部、 250 出力対象決定部、 252 位置姿勢追跡部、 254 出力部、 262 位置姿勢予測部、 264 画像取得部、 270a 第1形成部、 272a 第1制御部、 273 クライアント情報送信部、 302 平板型ディスプレイ、 400 サーバ、 420 画像生成部、 422 圧縮符号化部、 424 パケット化部、 426 通信部。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13