JP6620079B2 - 画像処理システム、画像処理方法およびコンピュータプログラム - Google Patents

画像処理システム、画像処理方法およびコンピュータプログラム Download PDF

Info

Publication number
JP6620079B2
JP6620079B2 JP2016175811A JP2016175811A JP6620079B2 JP 6620079 B2 JP6620079 B2 JP 6620079B2 JP 2016175811 A JP2016175811 A JP 2016175811A JP 2016175811 A JP2016175811 A JP 2016175811A JP 6620079 B2 JP6620079 B2 JP 6620079B2
Authority
JP
Japan
Prior art keywords
image
individual
area
region
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016175811A
Other languages
English (en)
Other versions
JP2018041331A (ja
Inventor
大輔 中田
大輔 中田
高宏 中山
高宏 中山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Interactive Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Interactive Entertainment Inc filed Critical Sony Interactive Entertainment Inc
Priority to JP2016175811A priority Critical patent/JP6620079B2/ja
Priority to US16/328,798 priority patent/US10755675B2/en
Priority to PCT/JP2017/031537 priority patent/WO2018047730A1/ja
Publication of JP2018041331A publication Critical patent/JP2018041331A/ja
Application granted granted Critical
Publication of JP6620079B2 publication Critical patent/JP6620079B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/0101Head-up displays characterised by optical features
    • G02B2027/0123Head-up displays characterised by optical features comprising devices increasing the field of view
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/02Networking aspects
    • G09G2370/022Centralised management of display operation, e.g. in a server instead of locally

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Optics & Photonics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Description

この発明は、画像処理技術に関する。
ヘッドマウントディスプレイ(以下「HMD」とも呼ぶ。)は、ユーザの頭部に装着されて仮想現実(VR)の世界をユーザに提供する。最近ではユーザがHMDに表示された画面を見ながらゲームをプレイできるアプリケーションも登場している。テレビなどの従来型の据え置き型のディスプレイでは画面外側にもユーザの視野範囲が広がるため、ユーザが画面に集中できなかったり、ゲームへの没入感を欠くことがある。その点、HMDを装着すると、HMDに表示される映像しかユーザは見ないため、映像世界への没入感が高まり、ゲームのエンタテインメント性を一層高める効果がある。
HMDが提供する映像世界へのユーザの没入感を高めるために高解像度の画像を表示することが求められるが、必要な高解像度の画像を1台の装置で描画することは難しいことがある。そこで、映像が表示される画面を複数の領域に分割し、複数領域の画像を複数台の装置により並行して描画して、複数領域の画像を統合することで、高解像度の画像の表示を可能にする構成が考えられる。
しかし、画像処理や通信等における負荷によっては、複数台の装置による描画結果が画像を表示すべきタイミングまでに集まらず、画像表示の遅延が発生し得る。本発明は、こうした課題に鑑みてなされたものであり、主たる目的は、高解像度の画像を表示する際の遅延を抑制するための技術を提供することである。
上記課題を解決するために、本発明のある態様の画像処理システムは、フレームの表示領域を分割した複数の個別領域に表示すべき複数の個別画像を互いに並行して描画する複数の描画部と、複数の描画部により描画された複数の個別画像を合成した合成画像を生成する画像合成部と、合成画像をヘッドマウントディスプレイに表示させる表示制御部と、を備える。画像合成部は、あるフレームの処理タイミングにおいて少なくとも1つの個別領域の個別画像が遅延した場合に、その個別領域の個別画像として以前のフレームの個別画像を適用して合成画像を生成する。
本発明の別の態様は、画像処理方法である。この方法は、フレームの表示領域を分割した複数の個別領域に表示すべき複数の個別画像を並行して描画するステップと、複数の個別画像を合成した合成画像を生成するステップと、合成画像をヘッドマウントディスプレイに表示させるステップと、を1台のコンピュータが実行し、または、複数台のコンピュータが分散して実行し、合成画像を生成するステップは、あるフレームの処理タイミングにおいて少なくとも1つの個別領域の個別画像が遅延した場合に、その個別領域の個別画像として以前のフレームの個別画像を適用して合成画像を生成する。
なお、以上の構成要素の任意の組合せ、本発明の表現をシステム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
本発明によれば、高解像度の画像を表示する際の遅延を抑制することができる。
実施例における画像処理方法の原理を示す図である。 実施例における画像処理方法の原理を示す図である。 変形例における画像処理方法の原理を示す図である。 実施例の画像処理システムの構成を示す図である。 図4のマスタノードの機能構成を示すブロック図である。 図4の複数の描画ノードそれぞれの機能構成を示すブロック図である。 図4の表示制御ノードの機能構成を示すブロック図である。 実施例の画像処理システムの動作を示すフローチャートである。 複数の描画ノードの負荷を平準化する方法を模式的に示す図である。 複数の領域に分割された画面を模式的に示す図である。 第3変形例のHMDシステムの構成を示す図である。
実施例を詳細に説明する前に実施例の概要を説明する。HMDで表示する仮想現実(VR)空間に対する深い没入感をユーザに与えるためには、8K、16Kといった高解像度の画像の表示が必要になると言われている。高解像度の画像の通信または生成に係る画像処理は負荷が大きい。本発明者は、画像が表示される画面を複数の領域に分割して、複数の領域の画像を複数の描画ノード(GPU)が分散して描画し、複数の領域の画像を表示ノードが統合して表示させることにより、高解像度の画像の処理負荷を軽減することができると考えた。
しかし、通信処理および/または描画処理の負荷により、必ずしも全ての分散描画結果が画像を表示すべきタイミングまでに表示ノードに集まるとは限らない。少なくとも一部の分散描画結果が遅延する場合、遅延した分散描画結果が届くのを待ち、届いたタイミングで画像を更新することも考えられる。しかし、このような構成では、表示ノードにおける画像の更新タイミングが遅れ、ユーザに遅延を感じさせてしまうことがある。
そこで実施例では、画面を分割した複数の領域のうち分散描画結果が遅延した領域については以前のフレームに基づく画像を代替画像として表示させる画像処理方法であり、言い換えれば、更新可能な領域の画像のみを更新する画像処理方法を提案する。
図1は、実施例における画像処理方法の原理を示す。実施例の画像処理方法では、まず、(1)フレーム画像の表示領域である画面10を複数の個別領域(個別領域12a、個別領域12b、個別領域12c、個別領域12d)に分割する。フレーム画像は、例えばVR映像を構成する個々のフレームの画像であり、あるタイミングで表示デバイスに表示される1枚の画像である。画面10は、フレーム画像をレンダリングする領域とも言える。
次に、(2)複数の個別領域の画像(以下「個別画像」と呼ぶ。)を複数のノードで並行して生成する。例えば、個別領域12aに表示すべき個別画像14a、個別領域12bに表示すべき個別画像14b、個別領域12cに表示すべき個別画像14c、個別領域12dに表示すべき個別画像14dを4つのノードで並行して描画する。次に、(3)表示ノードは、複数のノードで分散して生成された個別画像を合成することにより、表示デバイスに表示させるべきフレーム画像16を生成する。
現状、PC等のデバイス1台では、HMDに表示させるVR画像として必要と言われている8Kまたは16Kの画像を描画することは困難である。実施例では、フレーム画像16の描画処理を、複数のノード(GPU)で分散・並行して実行することにより、高解像度の画像をリアルタイムに描画することを実現する。
ここで、個別領域12cの描画処理が画像の合成タイミングまでに未完了であれば、個別領域12cに前のフレームの画像を表示させる。言い換えれば、前のフレームの画像を継続して表示させる。実施例では、前回のフレーム画像16の生成時に個別領域12cの位置に使用した個別画像を、個別領域12cの本来の個別画像に代わる代替画像として使用してフレーム画像16を生成する。ただし、個別領域12cの描画結果の受取が一定時間以上遅延した場合、個別領域12cの画像の到着を待ってフレーム画像16を生成する。すなわち、遅延した個別画像の取得と、フレーム画像16の生成とを同期させる。この構成は、遅延が比較的小さい場合、フレーム画像16の一部分の更新が遅れても人間の目では気付きにくいため、フレーム画像16の大部分の更新が遅れない方がユーザ体験としては問題が少ないという発明者の知見に基づく。
図2も、実施例における画像処理方法の原理を示す。描画ノード20a、描画ノード20b、・・・、描画ノード20nは、個別画像22a、個別画像22b、・・・、個別画像22nを並行して描画する。表示ノード24は、個別画像22a、個別画像22b、・・・、個別画像22nを合成してフレーム画像26を生成する。画面の中心に近い個別画像22bの描画が遅延した場合、表示ノード24は、前のフレームの画像を表示させることなく、フレーム画像26の表示を遅延させる。言い換えれば、遅延した個別画像22bの到着に同期してフレーム画像26を更新する。
その一方、画面の中心から離れた個別画像22aまたは個別画像22nの描画が遅延した場合、表示ノード24は、遅延した個別画像の領域に前のフレームの画像を表示させることで、フレーム画像26を遅延なく表示させる。言い換えれば、フレーム画像26の表示が遅延することを防止する。この構成は、画面の分割数が十分に多い場合、画面の中心から離れている部分は、表示が数フレーム遅れてもユーザには気付かれにくいと言う発明者の知見に基づく。ただし、個別画像の遅延が一定フレーム以上になるとユーザが気付いてしまう。そのため表示ノード24は、個別画像22aまたは個別画像22nの描画が所定時間以上遅れた場合、遅延した個別画像22aまたは個別画像22nの到着(言い換えれば描画の完了)を待ってフレーム画像26を更新する。
図3は、変形例における画像処理方法の原理を示す。図3の符号は図2に対応する。図3に示すように画面は等分に分割されなくてもよい。例えば、画面の中心から離れた個別領域の画素数が、画面の中心近傍の個別領域の画素数より少なくなるように(言い換えればサイズが小さくなるように)分割してもよい。また、画面の中心から離れた個別領域ほどその画素数が少なくなるように分割してもよい。そして、画面の中心から離れた個別画像(例えば個別画像22a、個別画像22b、個別画像22n)の描画が遅延した場合に限り、遅延した個別画像の領域に前のフレームの画像を表示させてもよい。これにより、画像の描画が遅延したことをユーザに一層気付かせにくくなる。
以下、実施例の構成を詳細に説明する。図4は、実施例の画像処理システムの構成を示す。画像処理システム30は、マスタノード32、描画ノード34で総称される描画ノード34a、描画ノード34b、描画ノード34n、表示制御ノード36、表示デバイス38を備える。これらの各装置は、LAN・WAN・インターネット等を含む通信網を介して接続される。
表示デバイス38は、映像を構成する複数のフレームの画像を順次表示する。実施例の表示デバイス38は非透過型のHMDであり、表示制御ノード36から出力されたVR映像(VR画像)を表示部に表示させる。マスタノード32、描画ノード34、表示制御ノード36は、互いに連携して、表示デバイス38に表示させるべきフレーム画像を生成する。
図5は、図4のマスタノード32の機能構成を示すブロック図である。マスタノード32は、制御部40、記憶部42、通信部44を備える。制御部40は、各種データ処理を実行する。記憶部42は、制御部40により参照または更新されるデータを記憶する記憶領域である。通信部44は、所定の通信プロトコルにしたがって外部装置と通信する。制御部40は、通信部44を介して複数の描画ノード34とデータを送受する。マスタノード32は、クラウドシステムを構成するデータ処理装置(サーバ等)であってもよい。
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのCPU・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
例えば、制御部40の各ブロックの機能がコンピュータプログラムとして実装され、そのコンピュータプログラムがマスタノード32のストレージにインストールされてもよい。マスタノード32のCPUが、そのコンピュータプログラムをメインメモリへ読み出して実行することにより制御部40内の各ブロックの機能が発揮されてもよい。また、記憶部42は、マスタノード32のメインメモリやストレージにより実現されてもよい。図3の描画ノード34、表示制御ノード36についても同様である。
記憶部42は、フレームデータ記憶部46と個別領域データ記憶部48を含む。フレームデータ記憶部46は、表示デバイス38に表示させるべき映像を構成する複数のフレームのデータを保持する。フレームデータ記憶部46に保持されるフレームデータは、フレーム画像のレンダリングに必要なデータを含み、例えば、物体の形状、物体を捉える視点、物体表面の質感(テクスチャマッピングに関する情報)、光源、シェーディングの情報を含む。
個別領域データ記憶部48は、フレーム画像が表示される画面を構成する複数の個別領域のデータを保持する。個別領域データ記憶部48に保持される個別領域データは、個別領域の画像である個別画像のレンダリングに必要なデータを含む。例えば、フレームデータから抽出されたデータを含み、具体的には、各個別領域に存在する物体の形状、質感の情報を含み、さらに視点、光源、シェーディングの情報を含む。
なお、フレームデータ記憶部46および個別領域データ記憶部48に保持されるレンダリングに必要なデータは、撮影空間の外観を複数の点の集合によって表した点群のデータであってもよい。点群のデータは、同一空間を異なる位置・角度から撮影した複数のカメラの出力画像を合成することにより生成されてもよい。また、点群の各点のデータは、撮影空間内での位置を示す3次元の座標データと、色彩を示すデータを含む。3次元の座標データは、例えば、撮影空間内における絶対位置を示す横方向(X軸方向)の座標値、縦方向(Y軸方向)の座標値、奥行き方向(Z軸方向)の座標値の組み合わせであってもよい。また、色彩を示すデータは、例えばRGBAカラーモデルの値であってもよい。
制御部40は、画面分割部50と個別領域データ配信部52を含む。画面分割部50は、フレーム画像の表示領域である画面を複数の個別領域に分割する。画面分割部50は、フレームデータ記憶部46に格納されたフレームデータから、複数の個別領域の画像を描画するための複数の個別領域データを抽出し、各個別領域の個別領域データを個別領域データ記憶部48へ格納する。
実施例の画面分割部50は、画面を4つの個別領域に等分する。例えば、図1で示したように、左上領域、左下領域、右下領域、右上領域に分割してもよい。変形例として、他の基準に基づいて、画面を複数の領域に分割してもよい。画面分割のパラメータとして、解像度、描画負荷、人間(HMDを装着したユーザ等)の視線、3D描画ハードウェア性能(GPU処理速度、CPU処理速度、メモリサイズ、メモリ帯域)を用いてもよい。
具体的には、画面の中心(視線の中心)近傍の解像度を高くし、画面の中心(視線の中心)から離れた領域の解像度を低くするように画面を分割してもよい。また、複数の領域の描画負荷を平準化するように画面を分割してもよい。また、描画性能が高い描画ノード34に割り当てる個別領域の解像度または描画負荷を相対的に高くし、描画性能が低い描画ノード34に割り当てる個別領域の解像度または描画負荷を相対的に低くするように画面を分割してもよい。
個別領域データ配信部52は、複数の個別領域と複数の描画ノード34との対応関係を保持する。個別領域データ配信部52は、複数の個別領域それぞれの個別領域データを、対応付けられた描画ノードへ送信する。例えば、図1の個別領域12a(すなわち左上領域)と描画ノード34a、個別領域12b(すなわち左下領域)と描画ノード34b、個別領域12d(すなわち右上領域)と描画ノード34nを対応付けた対応関係が定められてもよい。この場合、個別領域データ配信部52は、個別領域12aの個別領域データを描画ノード34aへ送信し、個別領域12bの個別領域データを描画ノード34bへ送信し、個別領域12dの個別領域データを描画ノード34nへ送信する。
図6は、図4の複数の描画ノード34それぞれの機能構成を示すブロック図である。図6の制御部60、記憶部62、通信部64は、図5の制御部40、記憶部42、通信部44に対応する。複数の描画ノード34は、図2の描画ノード20a、描画ノード20b、・・・、描画ノード20nに対応し、クラウドに設置されたデータ処理装置(サーバ等)であってもよい。
記憶部62は、個別領域データ記憶部66と個別画像記憶部68を含む。個別領域データ記憶部66は、自装置へ配信された個別領域データを保持する。個別画像記憶部68は、後述の描画部72により生成された個別画像のデータを保持する。
制御部60は、個別領域データ取得部70、描画部72、個別画像提供部74を含む。個別領域データ取得部70は、マスタノード32から送信された個別領域データを取得し、個別領域データ記憶部66へ格納する。描画部72は、個別領域データ記憶部66から個別領域データを読み出して公知のレンダリング処理を実行することにより、個別領域に表示すべきビットマップ画像である個別画像のデータを生成し、個別画像記憶部68へ格納する。個別画像提供部74は、描画部72により生成された個別画像のデータを表示制御ノード36へ送信する。
図7は、図4の表示制御ノード36の機能構成を示すブロック図である。図7の制御部80、記憶部82、通信部84は、図5の制御部40、記憶部42、通信部44に対応する。表示制御ノード36は、図2の表示ノード24に対応し、ユーザの宅内に設置された据置型のゲーム機やPCであってもよい。また、表示制御ノード36および表示デバイス38は、一体的に構成されてもよく、例えば、スマートフォンや携帯型のゲーム機であってもよい。
記憶部82は、個別画像記憶部86とフレーム画像記憶部88を含む。個別画像記憶部86は、複数の描画ノード34から提供された個別画像のデータを保持する。フレーム画像記憶部88は、後述の画像合成部92により生成されたフレーム画像のデータを保持する。
制御部80は、個別画像取得部90、画像合成部92、フレーム画像出力部94を含む。個別画像取得部90は、複数の描画ノード34から送信された複数の個別画像のデータを取得し、個別画像記憶部86へ逐次格納する。画像合成部92は、個別画像記憶部86に保持された複数の個別画像のデータを合成して、表示デバイス38に表示させるべきフレーム画像のデータを生成し、フレーム画像記憶部88へ格納する。フレーム画像出力部94は、フレーム画像記憶部88に保持されたフレーム画像を、フレームの表示タイミングに同期して表示デバイス38へ出力し、表示デバイス38に表示させる。
マスタノード32は、複数の描画ノード34に配信する個々の個別領域データに、フレームID(フレーム画像の表示タイミングを識別可能な情報)と、領域ID(画面内の個別領域の位置を識別可能な情報)を含めてもよい。複数の描画ノード34のそれぞれは、表示制御ノード36へ提供する個別画像データに、フレームIDと領域IDを含める。描画ノード34は、同じフレームIDが付与された複数の個別画像データを、領域IDにより識別される位置に配置して合成することによりフレーム画像を生成してもよい。
画像合成部92は、予め定められたフレームの処理タイミング(例えば表示タイミングまたは描画タイミング)を公知の手法で検出し、そのタイミングに同期してフレーム画像を生成する。画像合成部92は、あるフレームの処理タイミングにおいて、当該フレームの少なくとも1つの個別領域の個別画像が遅延した場合、例えば描画ノード34から未受信の場合に、その個別領域の個別画像として以前のフレームの個別画像を適用してフレーム画像を生成する。画像合成部92は、個別画像が遅延した個別領域には、以前のフレームの個別画像を適用する一方、個別画像の遅延がない他の個別領域には、処理タイミングまでに届いた今回のフレームの個別画像を適用してフレーム画像を生成する。
描画ノード34から本来届くべき個別画像が遅延した個別領域、言い換えれば、本来の受信すべきタイミングまでに個別画像を未受信の個別領域を「遅延領域」とも呼ぶ。実施例の画像合成部92は、以前のフレームの個別画像として、直前のフレームの個別画像を使用する。言い換えれば、画像合成部92は、遅延領域の個別画像として、描画ノード34から直前に取得済の当該遅延領域の個別画像を使用する。これにより、本来表示すべき個別画像に近似する内容を表示できる。
変形例として、表示制御ノード36の記憶部82には、描画対象となる3D空間の外観をあらゆる方向から描画(撮像)した候補画像のデータが、ユーザの視点の位置、視線の方向、角度等に対応付けて予め格納されてもよい。画像合成部92は、遅延領域の個別画像を、そのときのユーザの視点の位置、視線の方向、角度等に対応付けられた候補画像のデータから抽出してもよい。別の変形例として、画像合成部92は、以前のフレームの個別画像に所定のフィルタを適用することにより遅延領域の個別画像を生成してもよい。さらに別の変形例として、画像合成部92は、ある領域の個別画像が遅延した場合に、その領域の個別画像として先に受信した個別画像と、遅延後に受信した個別画像の中間の画像を、遅延領域の個別画像として、補間処理により生成してもよい。
また、画像合成部92は、ある個別領域の個別画像を未取得の時間が所定時間未満である場合に、その個別領域(すなわち遅延領域)の個別画像として、以前のフレームの個別画像を適用して合成画像を生成する。この所定時間は、100ミリ秒等の時間値で定められてもよく、5フレーム等のフレーム数で定められてもよい。画像合成部92は、上記個別領域の個別画像を未取得の時間が所定時間以上である場合、言い換えれば、上記個別領域の個別画像の遅延が所定時間以上になった場合、上記個別領域の個別画像が描画ノード34から届くまで待ち、時間内に届いた個別画像と遅延して届いた個別画像とを合成してフレーム画像を生成する。すなわち、個別画像の遅延に同期させてフレーム画像の表示を遅延させる。
さらにまた、画像合成部92は、個別画像を未取得の個別領域が、ユーザの関心が高いと想定される所定の関心領域に該当しない場合に、その個別領域の個別画像として、以前のフレームの個別画像を適用してフレーム画像を生成する。画像合成部92は、個別画像を未取得の個別領域が関心領域に該当する場合、上記個別領域の個別画像が描画ノード34から届くまで待ち、時間内に届いた個別画像と遅延して届いた個別画像とを合成してフレーム画像を生成する。すなわち、関心領域の個別画像の遅延に同期させてフレーム画像の表示を遅延させる。
実施例の関心領域は、フレーム画像を表示する画面の中心近傍に位置する個別領域である。例えば、図2の個別画像22bが表示される領域である。その一方、関心領域に該当しない領域は、画面の中心から離れた(画面の中心からの距離が所定値以上の)個別領域である。例えば、図2の個別画像22aまたは個別画像22nが表示される領域である。変形例として、関心領域は、ユーザの視線の中心近傍に位置する個別領域であってもよく、関心領域に該当しない領域は、ユーザの視線の中心から離れた(視線の中心からの距離が所定値以上の)個別領域であってもよい。画像合成部92は、表示デバイス38(例えばHMD)のセンサ(不図示)で検出されたユーザの視線方向、角度に基づいて、ユーザの視線の中心位置を検出してもよい。この変形例において、ユーザの視線の中心が画面の端である場合、画面の中心が関心領域に該当しない領域に該当するかもしれない。
以上の構成による画像処理システム30の動作を説明する。図8は、実施例の画像処理システム30の動作を示すフローチャートである。マスタノード32は、フレーム画像の表示画面を複数の個別領域に分割し、複数の個別領域の画像をレンダリングするための複数の個別領域データを複数の描画ノード34へ分散して送信する(S10)。複数の描画ノード34は、複数の個別領域の複数の個別画像を並行して描画する(S12)。フレーム画像の描画タイミング(もしくは表示タイミング)までに複数の個別画像のいずれもが描画ノード34から取得された場合(S14のN)、表示制御ノード36は、それら複数の個別画像を合成することによりフレーム画像を生成する(S24)。
フレーム画像の描画タイミング(もしくは表示タイミング)までに複数の個別画像の少なくとも1つを未取得である場合(S14のY)、マスタノード32は、遅延量が所定時間未満か否か判定し、また、遅延領域が関心領域に該当するか否かを判定する。遅延量が所定時間未満であり(S16のY)、かつ、遅延領域が関心領域に該当しなければ(S18のN)、マスタノード32は、遅延領域に表示させるべき個別画像(ここでは「代替画像」と呼ぶ。)を生成する(S20)。そして、描画タイミングまでに届いた今回のフレームの個別画像と、S20で生成した代替画像とを合成したフレーム画像を生成する(S24)。
遅延量が所定時間以上の場合(S16のN)、または、遅延領域が関心領域に該当する場合(S18のY)、表示制御ノード36は、遅延領域に本来表示させるべき個別画像(「遅延画像」と呼ぶ。)が描画ノード34から届くまで待機する(S22のN)。遅延画像が描画ノード34から受信されると(S22のY)、表示制御ノード36は、描画タイミングまでに届いた今回のフレームの個別画像と、今回のフレームの遅延画像とを合成したフレーム画像を生成する(S24)。描画ノード34は、生成したフレーム画像を表示デバイス38へ出力し、表示デバイス38は、描画ノード34から入力されたフレーム画像を表示する(S26)。
実施例の画像処理システム30によると、HMDにてユーザがVR映像を見る場合の特性、すなわち、画面の分割数が十分に多いときに、関心領域でない部分の遅延は、数フレーム遅れてもユーザには気付かれにくいという特性に基づいて、描画が遅延した領域に以前のフレームの画像を表示させる。これにより、描画の遅延に伴う違和感をユーザに抱かせてしまうことを抑制できる。また、個別画像の更新が一定フレーム以上遅れた場合は、フレーム画像全体の同期を取るように遅延した個別画像の更新を待つことで、ユーザに抱かせる違和感を最小限に抑えることができる。
以上、本発明を実施例をもとに説明した。この実施例は例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以下変形例を説明する。
第1変形例を説明する。上記実施例のマスタノード32は、複数の描画ノード34のそれぞれに対して、各ノードが予め対応付けられた個別領域の画像を生成するための個別領域データを送信した。例えば、フレーム画像が表示される画面を4分割し、左上領域に該当する個別領域データを描画ノード34aへ送信し、左下領域に該当する個別領域データを描画ノード34bへ送信し、右上領域に該当する個別領域データを描画ノード34nへ送信した。
ここで、画面を一律に等分して個別領域データの送信先を決定すると、特定の描画ノードに負荷が偏ることがある。例えば、ある描画ノードでは描画負荷が許容値を大幅に超える一方、別の描画ノードでは描画負荷が許容値を大幅に下回ると言う状況が生じうる。結果、負荷が集中した描画ノードでは描画処理が遅延しやすくなる。そこで、変形例におけるマスタノード32の画面分割部50は、各描画ノードの負荷ができるだけ均等になるように、画面の分割態様を動的に決定する。画面分割部50は、各描画ノードの負荷の分散が所定値以下になるように、各個別領域のサイズ(言い換えれば範囲)を決定してもよい。
図9は、複数の描画ノードの負荷を平準化する方法を模式的に示す。ここでは、図4の描画ノード34a、描画ノード34b、描画ノード34nに加えて、第4の描画ノードとして描画ノード34c(不図示)が存在する。図9(a)に示すように、画面分割部50は、フレーム画像を表示させる画面を4分割する。デフォルトでは、描画ノード34aが領域100の描画を担当し、描画ノード34bが領域102の描画を担当し、描画ノード34cが領域104の描画を担当し、描画ノード34nが領域106の描画を担当する。
図9(a)の各領域の数字は、描画処理の負荷の大きさを示している。画面分割部50は、各領域を描画するためのデータ(実施例の個別領域データに相当)に基づいて各領域の描画負荷を公知の方法で算出してもよく、画面を4分割した場合の各領域の描画負荷が予め算出されてフレームデータ記憶部46に保持されてもよい。また、フレームデータが点群データである場合、各領域の数字は、各領域に含まれる点の個数の比率を示すものでもよい。図9(a)の例では、素朴に画面を4等分すると、描画ノード34aに負荷が集中することになる。
ここでは、各描画ノードにおいて許容される負荷の大きさ(以下「許容負荷」と呼ぶ。)が、予め「5」に定められたこととする。いずれかの領域の負荷が「5」を超える場合、画面分割部50は、図9の(b)で示すように、負荷が最大の領域を、その長辺軸に沿って2分割する。例えば、長辺の中点を結んで半分に分割してもよい。図9の(b)に示す1回目の分割では1つの領域の負荷が依然として「5」を超えるため、画面分割部50は、図9の(c)で示すように、再度、負荷が最大の領域を2分割する。
各領域の負荷が許容負荷以下になった場合、調整部は、各領域の負荷と許容負荷との差を計算する。図9の(d)は、この計算結果を示している。図9の(e)で示すように、画面分割部50は、許容負荷との差が所定値(ここでは「4」)以上の領域を、隣接する領域と統合する。図9の(f)は領域を統合した結果を示している。画面分割部50は、各領域の負荷の分散が所定値(例えば「1.6」)以下になった場合に調整処理を終了する。マスタノード32の個別領域データ配信部52は、例えば、領域110に該当する描画対象ブロックのデータを描画ノード34aへ送信し、領域112に該当する描画対象ブロックのデータを描画ノード34bへ送信する。また、領域114に該当する描画対象ブロックのデータを描画ノード34cへ送信し、領域116に該当する描画対象ブロックのデータを描画ノード34nへ送信する。
図9の(a)における領域100〜領域106の分散は「13.5」である一方、図9の(f)における領域110〜領域116の分散は「1.5」に低下している。このように本変形例の態様によると、各描画ノードの負荷を平準化でき、特定のノードに負荷が集中すること、またその特定のノードで描画が遅延することを抑制できる。
第2変形例を説明する。第2変形例では、画像描画の際に画面の中心領域の解像度を上げつつ、周辺領域の解像度を下げることで描画負荷を低減し、リアルタイムでの描画を実現する構成を提案する。ただし、このような構成であっても、描画する内容次第では周辺領域の描画が、フレーム画像の表示タイミングに間に合わないこともある。そこで、周辺領域については描画の遅延を許容することで、フレーム画像の表示の遅延を抑制する。なお、画面の中心領域は、関心領域ともいえ、視線の中心領域であってもよい。
図10は、複数の領域に分割された画面を模式的に示す。同図の画面は、中心領域120、周辺領域122、周辺領域124、周辺領域126、周辺領域128に5分割されている。本変形例のマスタノード32の画面分割部50は、関心領域に該当しない個別領域の画素数が、関心領域に該当する個別領域の画素数より少なくなるように、フレームの表示領域を分割する。すなわち、画面分割部50は、中心領域120の画素数が、周辺領域122、周辺領域124、周辺領域126、周辺領域128のいずれよりも多くなるように画面を分割する。マスタノード32の個別領域データ配信部52は、中心領域120の個別領域データを描画ノード34aへ送信し、他の周辺領域の個別領域データを描画ノード34b、・・・、描画ノード34nへ送信する。描画ノード34の構成は実施例と同様である。
表示制御ノード36は、中心領域120の画像を所定のタイミングまでに未取得である場合、当該画像の到着を待ってフレーム画像を生成する。その一方、表示制御ノード36は、周辺領域122、周辺領域124、周辺領域126、周辺領域128の画像を所定のタイミングまでに未取得である場合、一定時間の遅延を許し、すなわち、画像描画が遅延した領域に以前のフレームの画像を適用してフレーム画像を遅延なく生成する。これにより、フレーム画像全体としての表示の遅延を抑制する。
第3変形例を説明する。図11は、第3変形例のHMDシステム130の構成を示す。クライアント装置132は、実施例の表示制御ノード36に対応し、例えばVRアプリケーションを実行するゲーム機である。クライアント装置132は、VR空間の画像(「VR」画像と呼ぶ。)を生成し、HMD134に表示させる。本変形例のVR画像の表示領域は、図10の画面と同様に5分割されていることとする。VR画像の描画において、画面の中心領域120(視線の中心領域とも言える)の描画には高いリアルタイム性が求められる。そのため、中心領域120の描画はクライアント装置132が担当する。
本変形例では、中心領域120の描画処理においてクライアント装置132の性能を上限まで利用するため、周辺領域の描画処理はクラウド上のサーバが担当する。具体的には、クライアント装置132は、周辺領域122、周辺領域124、周辺領域126、周辺領域128を描画するためのデータを、描画サーバ136a、描画サーバ136b、描画サーバ136c、描画サーバ136dへ送信する。複数の描画サーバは、実施例の描画ノード34に対応し、周辺領域の画像を並行して描画する。
クライアント装置132は、自装置で描画した中心領域120の画像と、複数の描画サーバで並行して描画された複数の周辺領域の画像とを合成し、フレーム画像を生成する。クライアント装置132は、生成したフレーム画像をHMD134へ出力し、表示させる。ただし、各描画サーバで描画された画像は通信網を介してクライアント装置132へ送られるため遅延が生じる可能性がある。しかし、描画サーバで描画対象となるのは周辺領域の画像であるため、実施例と同様に一定時間の遅延を許し、描画が遅延した周辺領域には以前のフレームの画像を適用することでフレーム画像を遅延なく生成する。これにより、フレーム画像のうちユーザの関心が集まる中心領域120には最新の内容を表示させ、かつ、周辺領域の描画の遅延に起因するフレーム画像の表示遅延を抑制できる。
なお、HMDシステム130は、実施例の画像処理システム30と同様にマスタノード32をさらに含んでもよい。マスタノード32は、周辺領域の個別画像を描画するためのデータを複数の描画サーバへ配信する一方、中心領域120の個別画像を描画するためのデータをクライアント装置132へ直接送信し、中心領域120の個別画像をクライアント装置132に生成されてもよい。例えば、現実空間またはVR空間の映像をストリーミング配信する場合に好適な態様である。
第4変形例を説明する。一部既述したように、点群(ポイントクラウド)のデータ、例えば撮影空間を構成する複数の点の座標データおよび色彩データを用いたレンダリングに対しても実施例の技術は適用可能である。本変形例でも、マスタノード32の画面分割部50は、フレーム画像の表示領域である画面を複数の個別領域に分割する。画面分割部50は、フレームデータとしての点群データから各個別領域の画像を描画するための点群データ(以下「個別点群データ」とも呼ぶ。)を抽出する。例えば、画面分割部50は、点群に含まれる各点の座標に基づいて、各個別領域で表示されるべき点のデータを各個別領域の個別点群データとして設定してもよい。
マスタノード32の個別領域データ配信部52は、各個別領域の個別点群データを、各個別領域の画像を生成すべき描画ノード34へ送信する。複数の描画ノード34のそれぞれは、マスタノード32から受信した個別点群データに基づいて、自ノードで担当する個別領域の個別画像を生成する。表示制御ノード36は、複数の描画ノード34で並行して生成された個別画像を合成してフレーム画像を生成し、フレーム画像を表示デバイス38に表示させる。
ここで複数の描画ノード34には点群が均一に分散されるわけではない。そのため、全ての描画ノード34が同じタイミングで(もしくは所定のタイミングまでに)描画処理を完了できるとは限らず、一部の描画ノード34の描画処理の遅れが、フレーム画像の表示の遅れにつながってしまう。そこで、表示制御ノード36は、実施例と同様に、関心領域(例えば画面の中心または視線の中心)から離れた領域(以下「周辺領域」と呼ぶ。)の描画の遅れを許容することにより、フレーム画像全体の表示遅延を可及的に抑制する。具体的には、表示制御ノード36の画像合成部92は、周辺領域の個別画像が遅延した場合、以前に描画ノード34から取得済の個別画像を使用してフレーム画像を生成する。特にHMDにおけるVR映像の表示では、周辺領域に以前の画像を表示してもユーザに違和感を抱かせにくいため、本変形例の技術を適用する対象として好適である。
第5変形例を説明する。映画のような写実的なCGを描画する手法としてレイトレーシングがある。レイトレーシングでは、視点(例えばVR空間におけるユーザの視点位置であり、仮想カメラの位置とも言える)から、ユーザに提示する画像に対応する画面上の画素ごとに光線を飛ばし、描画対象の空間内に存在する物体による反射等を計算し、光源から視点に届く光線を逆に辿ることにより画素ごとの色彩を決定する。例えば、或る画素を通る光線が光源に届かないことに基づいて、当該画素の色彩を決定することができる。また、或る画素を通る光線が物体に反射して光源に届く場合、光源の輝度、物体表面の光反射率や光吸収率等に基づいて、当該画素の色彩を決定することができる。
マスタノード32は画面を分割する。例えば、9つの個別領域に分割してもよい。複数の描画ノード34のそれぞれは、自ノードで担当する個別領域の画像をレイトレーシングにより描画する。レイトレーシングでは画面の画素ごとに光線を追跡し、画素ごとの色彩を決定するため、画面の分割が容易な点で分散描画に好適である。表示制御ノード36は、複数の描画ノード34で描画された複数の個別画像を合成してフレーム画像を生成し、フレーム画像を表示デバイス38に表示させる。レイトレーシングでは物体表面の反射率・透明度・屈折率等を細かく反映させることができるが、画面の解像度が高くなるほど処理量が増大する。本変形例では、レイトレーシングによる描画処理を複数の描画ノード34で分散して実行することにより、リアルタイムでのフレーム画像の描画と表示が可能になる。ゲーム等においてVR映像をリアルタイムに描画・表示する必要がある場合に特に好適である。
しかし、全ての描画ノード34が同じタイミングで(もしくは所定のタイミングまでに)描画処理を完了できるとは限らず、一部の描画ノード34の描画処理の遅れが、フレーム画像の表示遅延につながってしまう。そこで、複数の描画ノード34がレイトレーシングにより分散描画を行う場合も、表示制御ノード36は、実施例と同様に、周辺領域の描画の遅れを許容することにより、フレーム画像全体の表示遅延を可及的に抑制する。具体的には、表示制御ノード36の画像合成部92は、周辺領域の個別画像が遅延した場合、以前に描画ノード34から取得済の個別画像を使用してフレーム画像を生成する。特にHMDにおけるVR映像の表示では、周辺領域に以前の画像を表示してもユーザに違和感を抱かせにくいため、本変形例の技術を適用する対象として好適である。
第6変形例を説明する。表示制御ノード36は、リプロジェクションまたはタイムワープと呼ばれる技術を適用して遅延領域の個別画像を取得または生成してもよい。本変形例の表示デバイス38(ここではHMD)には、不図示の各種センサー(加速度センサー、ジャイロセンサー、姿勢センサー等)が搭載される。本変形例の表示制御ノード36は、姿勢検出部と画像生成部をさらに備える。姿勢検出部は、HMDのセンサーから出力された信号に基づいて、HMD(言い換えればユーザの頭部)の姿勢を検出する。例えば、HMDの向きと角度、動きの移動量と速度、視線方向の変化等を検出する。なお、HMDが上記の姿勢検出部を備え、HMDは姿勢検出部が検出したHMDの姿勢を示すデータを表示制御ノード36へ送信してもよい。
画像生成部は、リプロジェクション部と言え、画像変換部とも言える。画像生成部は、検出部が検出したHMDの姿勢の変化(時系列での変化)に基づいて、遅延領域の個別画像について、以前に描画ノード34から取得した個別画像(「基準画像」と呼ぶ。)からのずれの大きさ(「変化量」と呼ぶ。)を予測する。画像生成部は、予測した変化量に応じて、基準画像を変換(例えばアフィン変換)することにより、遅延領域の個別画像を生成する。基準画像は、遅延領域で表示された直前の個別画像でもよく、遅延領域の周辺領域で表示された直前の個別画像でもよく、これらの個別画像の組み合わせであってもよい。基準画像の変換は、以前のフレームの画像を移動させ、または傾けることを含む。例えば、ユーザの頭部が左方向へ1個別領域分移動したことを検出した場合、画像生成部は、遅延領域の1つ左に位置する個別領域の直前の個別画像を、遅延領域の個別画像として取得してもよい。また、画像生成部は、HMDの姿勢変化が大きいほど、基準画像を大きく変化させて遅延領域の個別画像を生成してもよい。
表示制御ノード36の画像合成部92は、遅延領域の個別画像として、画像生成部により生成された個別画像を用いて合成画像を生成する。この変形例によると、遅延領域の個別画像として、以前の個別画像そのままではなく、HMDの姿勢変化に応じて以前の個別画像を変換した画像を用いるため、一層違和感が少ない合成画像(フレーム画像)をユーザへ提示できる。
なお、1個のフレーム画像の表示において複数回のリプロジェクション処理を実行してもよい。例えば、フレーム画像の描画タイミングで或る個別領域の個別画像が遅延した場合に、表示制御ノード36の画像合成部92は、上記のリプロジェクション処理により生成された遅延領域の個別画像を含む第1のフレーム画像を生成してもよい。ここで、フレーム画像の生成から表示までにタイムラグがある場合、表示タイミングにおいて検出部により取得されたHMDの姿勢に基づいて、第1のフレーム画像を基準画像として、第1のフレーム画像を変換した第2のフレーム画像を生成してもよい。表示制御ノード36のフレーム画像出力部94は、第1のフレーム画像に代えて第2のフレーム画像をHMDへ出力し、表示させてもよい。なお、リプロジェクションによりフレームレートを増加させる場合は、第1のフレーム画像と第2のフレーム画像の両方をそれぞれの表示タイミングでHMDへ出力し、表示させてもよい。
第7変形例および第8変形例では、個別画像の描画遅延を解消するための構成を説明する。第7変形例として、マスタノード32の画面分割部50は、個別画像描画の遅延状況に応じて、画面の分割態様を動的に変更してもよい。例えば、描画ノード34または表示制御ノード36は、個別画像描画の遅延が発生した場合にそのことを示す情報(例えば遅延領域および遅延時間を示す情報)をマスタノード32へ通知してもよい。マスタノード32の画面分割部50は、遅延時間が所定の閾値を超える場合に、遅延領域の描画負荷を下げるように画面の分割態様を変更してもよい。具体的には、マスタノード32の画面分割部50は、遅延領域をそれまでより細かく分割し、すなわち遅延領域を複数の個別領域に分割してもよい。マスタノード32の個別領域データ配信部52は、遅延領域を分割した複数の個別領域の画像を、互いに異なる複数の描画ノード34で分散描画させる。これにより遅延領域の描画遅延を解消しやすくなる。
なお、個別画像を描画する描画ノード34の個数も動的に変更してもよい。例えば、画面の分割数を増加させた場合、個別領域データの送信先(振り分け先)である描画ノード34の個数をあわせて増加させてもよい。また、画面の分割態様を変更する条件となる遅延時間の閾値は、遅延領域が関心領域か否かで異なる値に設定されてもよい。例えば、遅延領域が関心領域である場合の閾値は相対的に短く、遅延領域が周辺領域である場合の閾値は相対的に長く設定されてもよい。これにより、関心領域の個別画像描画に遅延が生じた場合、遅延時間が比較的短くても分割態様が変更されやすく、描画遅延を早期に解消しやすくなる。
第8変形例として、複数の描画ノード34のそれぞれは、個別画像の描画に遅延が発生した場合、生成する個別画像の品質を低下させてもよい。例えば、描画ノード34または表示制御ノード36は、個別画像の描画に遅延が発生した場合にそのことを示す情報(例えば遅延領域および遅延時間を示す情報)をマスタノード32へ通知してもよい。マスタノード32の個別領域データ配信部52は、遅延時間が所定の閾値を超える場合に、遅延領域の個別画像の描画を担当する描画ノード34に対して、それまでより低品質の個別画像を生成するように指示するデータを送信してもよい。
上記指示を受け付けた描画ノード34の描画部72は、描画処理を簡素化することにより、それまでより低品質の個別画像を生成し、描画処理の速度を高めてもよい。例えば、個別領域データとして点群データを用いて個別画像を生成する場合に、個別領域内の一部の点に関する描画処理をスキップしてもよい。また、レイトレーシングにより個別画像を生成する場合に、視点から画面上の各画素へ飛ばす光線の数をそれまでより少なくしてもよい。また、光線の追跡において物体表面での反射回数の上限値をそれまでより小さくしてもよく、物体表面における光線の反射率や吸収率を計算するパラメータの数をそれまでより少なくしてもよい。
なお、個別画像の品質を低下させる条件となる遅延時間の閾値は、遅延領域が関心領域か否かで異なる値に設定されてもよい。例えば、遅延領域が関心領域である場合の閾値は相対的に長く、遅延領域が周辺領域である場合の閾値は相対的に短く設定されてもよい。これにより、関心領域の個別画像は高品質を維持しやすくなる一方、ユーザが気付きにくい周辺領域については画像の品質よりも遅延解消を優先することができる。
上記実施例では、画面分割処理、描画処理(個別画像生成処理)、合成処理(フレーム画像生成処理)をそれぞれ異なる装置で実行したが、描画処理を複数のGPUで並行して実行する構成であれば、物理的な装置の台数に制限はない。例えば、画面分割処理、描画処理、合成処理を、複数のGPUを備える1台の装置が実行してもよい。
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。
請求項に記載の各構成要件が果たすべき機能は、上述した実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
30 画像処理システム、 32 マスタノード、 34 描画ノード、 36 表示制御ノード、 38 表示デバイス、 50 画面分割部、 72 描画部、 92 画像合成部、 94 フレーム画像出力部。

Claims (8)

  1. フレームの表示領域を分割した複数の個別領域に表示すべき複数の個別画像を互いに並行して描画する複数の描画部と、
    前記複数の描画部により描画された複数の個別画像を合成した合成画像を生成する画像合成部と、
    前記合成画像をヘッドマウントディスプレイに表示させる表示制御部と、
    を備え、
    前記画像合成部は、あるフレームの処理タイミングにおいて少なくとも1つの個別領域の個別画像が遅延した場合に、その個別領域の個別画像として以前のフレームの個別画像を適用して前記合成画像を生成することを特徴とする画像処理システム。
  2. 前記画像合成部は、個別画像が遅延した個別領域には以前のフレームの個別画像を適用し、他の個別領域には今回のフレームの個別画像を適用して前記合成画像を生成することを特徴とする請求項1に記載の画像処理システム。
  3. 前記画像合成部は、ある個別領域の個別画像を未取得の時間が所定時間未満である場合に、その個別領域の個別画像として以前のフレームの個別画像を適用して前記合成画像を生成することを特徴とする請求項1または2に記載の画像処理システム。
  4. 前記画像合成部は、個別画像を未取得の個別領域が、ユーザの関心が高いと想定される所定の関心領域に該当しない場合に、その個別領域の個別画像として以前のフレームの個別画像を適用して前記合成画像を生成することを特徴とする請求項1から3のいずれかに記載の画像処理システム。
  5. 前記関心領域に該当しない個別領域の画素数が、前記関心領域に該当する個別領域の画素数より少なくなるように前記フレームの表示領域を分割する分割部をさらに備えることを特徴とする請求項4に記載の画像処理システム。
  6. 前記ヘッドマウントディスプレイの姿勢を検出する検出部と、
    前記検出部により検出された前記ヘッドマウントディスプレイの姿勢に応じて、前記以前のフレームの個別画像を変換することにより、遅延した個別領域の個別画像を生成する画像生成部と、
    をさらに備え、
    前記画像合成部は、前記画像生成部により生成された個別画像を用いて前記合成画像を生成することを特徴とする請求項1から5のいずれかに記載の画像処理システム。
  7. フレームの表示領域を分割した複数の個別領域に表示すべき複数の個別画像を並行して描画するステップと、
    前記複数の個別画像を合成した合成画像を生成するステップと、
    前記合成画像をヘッドマウントディスプレイに表示させるステップと、
    を1台のコンピュータが実行し、または、複数台のコンピュータが分散して実行し、
    前記合成画像を生成するステップは、あるフレームの処理タイミングにおいて少なくとも1つの個別領域の個別画像が遅延した場合に、その個別領域の個別画像として以前のフレームの個別画像を適用して前記合成画像を生成することを特徴とする画像処理方法。
  8. フレームの表示領域を分割した複数の個別領域に表示すべき複数の個別画像を並行して描画する機能と、
    前記複数の個別画像を合成した合成画像を生成する機能と、
    前記合成画像をヘッドマウントディスプレイに表示させる機能と、
    をコンピュータに実現させ、
    前記合成画像を生成する機能は、あるフレームの処理タイミングにおいて少なくとも1つの個別領域の個別画像が遅延した場合に、その個別領域の個別画像として以前のフレームの個別画像を適用して前記合成画像を生成することを特徴とするコンピュータプログラム。
JP2016175811A 2016-09-08 2016-09-08 画像処理システム、画像処理方法およびコンピュータプログラム Active JP6620079B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016175811A JP6620079B2 (ja) 2016-09-08 2016-09-08 画像処理システム、画像処理方法およびコンピュータプログラム
US16/328,798 US10755675B2 (en) 2016-09-08 2017-09-01 Image processing system, image processing method, and computer program
PCT/JP2017/031537 WO2018047730A1 (ja) 2016-09-08 2017-09-01 画像処理システム、画像処理方法およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016175811A JP6620079B2 (ja) 2016-09-08 2016-09-08 画像処理システム、画像処理方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2018041331A JP2018041331A (ja) 2018-03-15
JP6620079B2 true JP6620079B2 (ja) 2019-12-11

Family

ID=61561392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016175811A Active JP6620079B2 (ja) 2016-09-08 2016-09-08 画像処理システム、画像処理方法およびコンピュータプログラム

Country Status (3)

Country Link
US (1) US10755675B2 (ja)
JP (1) JP6620079B2 (ja)
WO (1) WO2018047730A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6949475B2 (ja) * 2016-11-28 2021-10-13 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US10979663B2 (en) * 2017-03-30 2021-04-13 Yerba Buena Vr, Inc. Methods and apparatuses for image processing to optimize image resolution and for optimizing video streaming bandwidth for VR videos
JP7377806B2 (ja) * 2018-04-04 2023-11-10 エスアールアイ インターナショナル 意味処理および動的シーンモデリングに基づく向上された画像形成のための方法
US11232532B2 (en) * 2018-05-30 2022-01-25 Sony Interactive Entertainment LLC Multi-server cloud virtual reality (VR) streaming
JP7142762B2 (ja) 2019-02-22 2022-09-27 株式会社ソニー・インタラクティブエンタテインメント 表示装置および画像表示方法
EP3929900A4 (en) 2019-02-22 2022-09-07 Sony Interactive Entertainment Inc. IMAGING DEVICE, HEAD MOUNT DISPLAY AND IMAGING METHOD
WO2020178962A1 (ja) * 2019-03-04 2020-09-10 オリンパス株式会社 内視鏡システムおよび画像処理装置
WO2020179618A1 (ja) * 2019-03-04 2020-09-10 パナソニックIpマネジメント株式会社 映像表示システム、映像変換装置及び映像表示方法
WO2020213088A1 (ja) * 2019-04-17 2020-10-22 楽天株式会社 表示制御装置、表示制御方法、プログラム、ならびに、非一時的なコンピュータ読取可能な情報記録媒体
JP7500231B2 (ja) 2020-03-05 2024-06-17 キヤノン株式会社 画像生成システム、その制御方法及びプログラム。
WO2022137324A1 (ja) * 2020-12-22 2022-06-30 日本電信電話株式会社 映像信号を合成する装置、方法及びプログラム
WO2023013072A1 (ja) * 2021-08-06 2023-02-09 日本電信電話株式会社 映像信号を合成する装置、方法及びプログラム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3791904B2 (ja) 2001-11-14 2006-06-28 オリンパス株式会社 マルチディスプレイ装置
TW200623897A (en) * 2004-12-02 2006-07-01 Seiko Epson Corp Image display method, image display device, and projector
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
HUE066386T2 (hu) * 2011-05-31 2024-07-28 Jvckenwood Corp Mozgókép-kódoló eszköz, mozgókép-kódoló eljárás és mozgókép-kódoló program, valamint mozgókép-dekódoló eszköz, mozgókép-dekódoló eljárás és mozgókép-dekódoló program
US9897805B2 (en) 2013-06-07 2018-02-20 Sony Interactive Entertainment Inc. Image rendering responsive to user actions in head mounted display
JP5940890B2 (ja) 2012-05-28 2016-06-29 シャープ株式会社 映像信号処理装置、映像表示装置及び電子機器
WO2014069228A1 (ja) * 2012-11-05 2014-05-08 富士フイルム株式会社 画像処理装置、撮像装置、画像処理方法及びプログラム
US9826244B2 (en) * 2013-01-08 2017-11-21 Qualcomm Incorporated Device and method for scalable coding of video information based on high efficiency video coding
CN105075235B (zh) * 2013-03-27 2018-07-06 富士胶片株式会社 图像处理装置、摄像装置以及图像处理方法
WO2016205990A1 (zh) * 2015-06-23 2016-12-29 深圳市柔宇科技有限公司 分屏显示的方法及电子装置
JP6218787B2 (ja) * 2015-09-29 2017-10-25 株式会社ソニー・インタラクティブエンタテインメント 撮像装置、情報処理装置、表示装置、情報処理システム、画像データ送出方法、および画像表示方法

Also Published As

Publication number Publication date
US20190213975A1 (en) 2019-07-11
JP2018041331A (ja) 2018-03-15
US10755675B2 (en) 2020-08-25
WO2018047730A1 (ja) 2018-03-15

Similar Documents

Publication Publication Date Title
JP6620079B2 (ja) 画像処理システム、画像処理方法およびコンピュータプログラム
JP7386825B2 (ja) 仮想現実および拡張現実ディスプレイシステムのための連続時間ワーピングおよび両眼時間ワーピングおよび方法
JP7443602B2 (ja) 仮想コンテンツワーピングを伴う複合現実システムおよびそれを使用して仮想コンテンツを生成する方法
US20160238852A1 (en) Head mounted display performing post render processing
CN108292489A (zh) 信息处理装置和图像生成方法
US11227357B2 (en) Data processing apparatus, data processing method, and computer program
US20240223738A1 (en) Image data generation device, display device, image display system, image data generation method, image display method, and data structure of image data
NZ751028B2 (en) Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods
NZ791691A (en) Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191023

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191118

R150 Certificate of patent or registration of utility model

Ref document number: 6620079

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150