JP2015191314A - 画像処理装置、画像処理システム及び画像処理方法 - Google Patents
画像処理装置、画像処理システム及び画像処理方法 Download PDFInfo
- Publication number
- JP2015191314A JP2015191314A JP2014066634A JP2014066634A JP2015191314A JP 2015191314 A JP2015191314 A JP 2015191314A JP 2014066634 A JP2014066634 A JP 2014066634A JP 2014066634 A JP2014066634 A JP 2014066634A JP 2015191314 A JP2015191314 A JP 2015191314A
- Authority
- JP
- Japan
- Prior art keywords
- image
- translucent
- unit
- block
- image processing
- 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.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Studio Circuits (AREA)
- Studio Devices (AREA)
Abstract
【課題】半透明の領域を有するCG画像の通信量を抑えつつ、正確にCG画像をクロマキー合成できる画像処理システムを構成できるようにする。【解決手段】コントローラ側では、まず、画像処理装置から受信したCG画像の中に半透明の個所があるか否かを判定する。そして、ブロック単位でCG画像を半透明のエリアと非半透明のエリアとに分割し、これらをエンコードしてHMDに送信する。一方、HMD側では、ブロック単位の半透明の画像及び非半透明の画像をブロック単位で撮像画像とクロマキー合成する。その後、同じブロック番号を有する半透明の領域を含むブロックが存在する場合は、さらに、その合成した画像に半透明でクロマキー合成する。【選択図】図4
Description
本発明は、特に、MR技術に用いて好適な画像処理装置、画像処理システム、画像処理方法、及びプログラムに関する。
近年、現実世界と仮想世界とをリアルタイムにシームレスに融合させる技術として複合現実感、いわゆるMR(Mixed Reality)技術が知られている。そして、このMR技術の1つに、ビデオシースルーHMD(Head Mounted Display)を利用する技術が知られている。この技術では、HMD使用者の瞳位置から観察される被写体と略一致する被写体をビデオカメラなどで撮像し、HMD使用者はその撮像画像にCG(Computer Graphics)を重畳表示した画像を観察することができる。
図22は、HMD使用者がHMD2201を装着している状態を示す図である。図22に示すようにHMD使用者はHMD2201を用いてMR空間を体験することが可能となる。HMD2201は、カメラで撮影した映像からHMD2201の位置姿勢を計算して、この位置姿勢データを外部装置に送信したり、外部装置からCG画像を受信し、受信したCG画像とカメラで撮影したカメラ映像とを重畳した映像を表示したりする。
CG画像とカメラで撮影したカメラ映像とを重畳する際、CG画像を半透明にして重畳する場合がある。例えばCG画像に窓のようなオブジェクトを含む場合には、このオブジェクトに対してCG画像を半透明にしてカメラ映像とクロマキー合成する。半透明でクロマキー合成をすることにより、HMD使用者は窓の外に実写映像があるような映像を見ることができる。
図23は、半透明にしてクロマキー合成する例を示す図である。ここで図23(a)には、カメラで撮影した被写体2301を含むカメラ映像を示しており、図23(b)には、CG画像の一例を示している。領域2303はカメラ映像と半透明でクロマキー合成をする個所を示しており、領域2302はクロマキー合成時にカメラ映像をCG画像に置き換える個所を示している。図23(a)に示す画像と図23(b)に示す画像とをクロマキー合成すると、図23(c)に示す画像が得られる。図23(c)に示す領域2303では半透明でクロマキー合成が行われているため、透けたような状態でカメラ映像が表示される。
しかしながら、半透明でクロマキー合成を行うためには、CG画像とは別に透明度を表すα値の情報が必要になる。また、CG画像を描画する装置とは別の装置でクロマキー合成を行う場合には、CG画像を描画する装置からクロマキー合成をする装置へ、CG画像とα値の情報とを送る必要がある。そこで、画像データにα値の情報を埋め込むことによりα値のデータを削減する方法が提案されている(特許文献1参照)。
HMD2201を使用して自由に動きながらMR空間を体験するには、HMD2201と外部装置との間では無線伝送で通信した方がよい。一般的に、有線通信と比べて無線通信は伝送帯域が狭いため、無線により伝送を行うためにはデータ量を削減する必要がある。このことから、CG画像を生成する装置からCG画像をクロマキー合成する装置へ送信するために、CG画像を圧縮しておく必要がある。
ところが、特許文献1に記載の方法のように、CG画像の中にα値の情報を埋め込むと、このCG画像に対して圧縮率の高い非可逆圧縮で圧縮した場合に、元画像の情報が一部失われてしまう。そのため、CG画像を復元する時にα値が正しい値に復元しない可能性があり、不向きである。また、画像データとは別にα値の情報を送信する方法が考えられるが、この場合、ピクセル毎にα値の情報を送信する必要があるため、データの削減には不向きである。
本発明は前述の問題点に鑑み、半透明の領域を有するCG画像の通信量を抑えつつ、正確にCG画像をクロマキー合成できる画像処理システムを構成できるようにすることを目的としている。
本発明に係る画像処理装置は、半透明の領域を有するCG画像を撮像画像と合成する画像合成装置とともに画像処理システムを構成する画像処理装置であって、前記CG画像から半透明の領域を検出する検出手段と、前記検出手段によって検出された半透明の領域に基づいて、前記CG画像を半透明の画像と非半透明の画像とに分割する分割手段と、前記分割手段によって分割された半透明の画像及び非半透明の画像を前記画像合成装置に送信する送信手段とを有することを特徴とする。
本発明によれば、半透明の領域を有するCG画像の通信量を抑えつつ、正確にCG画像をクロマキー合成する画像処理システムを構成することができる。
(第1の実施形態)
以下、本発明の第1の実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係るMRシステム(画像処理システム)100の構成例を示す図である。
図1において、MRシステム100はビデオシースルー型の頭部搭載型の表示装置(以下、HMD)101、コントローラ102、及び表示部103を有する画像処理装置104から構成されている。
以下、本発明の第1の実施形態について、図面を参照しながら説明する。
図1は、本実施形態に係るMRシステム(画像処理システム)100の構成例を示す図である。
図1において、MRシステム100はビデオシースルー型の頭部搭載型の表示装置(以下、HMD)101、コントローラ102、及び表示部103を有する画像処理装置104から構成されている。
HMD101は、使用者の頭部に装着され、詳細は後述するが、撮像部と、画像表示部と、それらを制御する制御部とを含んでいる。撮像部はビデオカメラ等で構成され、使用者の視点の位置姿勢とほぼ同じになる位置姿勢で取付けられており、使用者の観察している現実空間の画像を取得する。画像表示部は、現実空間画像に画像処理装置104で生成したCG画像を重畳した合成画像や、撮影した現実空間を示す撮像画像などを表示する。また、HMD101は撮像部で撮影された現実空間の撮像画像とCG画像とを合成する機能も有する。画像表示部は、使用者のそれぞれの眼の前に光学系を含む構成で取付けられている。
HMD101は、WLAN(Wireless Local Area Network)やWPAN(Wireless Personal Area Network)のような、小規模ネットワークを構成する無線接続されたコントローラ102と通信する。なお、HMD101とコントローラ102との間の通信は、無線通信方式に限らず、有線通信方式を利用してもよい。
コントローラ102と有線接続された画像処理装置104は、例えばパーソナルコンピュータ(PC)であり、CG画像の描画を行う画像処理部を有する。画像処理装置104はコントローラ102を介してHMD101と通信を行う。また、画像処理装置104は、キーボードなどを備え、データや、命令等を入力し、入力されたデータの表示や、命令の結果等は、表示部103に表示される。
なお、図1に示す例では、画像処理装置104とコントローラ102とを別々のハードウェア構成としている。一方、コントローラ102の持つ機能をすべて画像処理装置104内に実装して一体化してもよく、画像処理装置104とコントローラ102とがそれぞれ有する機能を集めた専用の画像処理装置を構成してもよい。
図2は、本実施形態に係るMRシステム100を実現するために必要な機能構成例を示すブロック図である。
図2において、HMD201は、表示部203に表示するための現実空間画像を撮影する撮像部202、撮像画像とCG画像との合成画像を表示する表示部203、及び画像や制御信号を送受信する無線I/Fユニット207を備えている。さらに、HMD201を制御する制御部206、撮像画像からHMD201の位置姿勢を求める位置姿勢算出部204、CG画像と撮像画像を重畳する画像合成ユニット205、及びその他不図示の機能部を備えている。なお、MRシステムが3D映像に対応できるように、撮像部202及び表示部203は、左眼用、右眼用と別々に存在してもよい。
図2において、HMD201は、表示部203に表示するための現実空間画像を撮影する撮像部202、撮像画像とCG画像との合成画像を表示する表示部203、及び画像や制御信号を送受信する無線I/Fユニット207を備えている。さらに、HMD201を制御する制御部206、撮像画像からHMD201の位置姿勢を求める位置姿勢算出部204、CG画像と撮像画像を重畳する画像合成ユニット205、及びその他不図示の機能部を備えている。なお、MRシステムが3D映像に対応できるように、撮像部202及び表示部203は、左眼用、右眼用と別々に存在してもよい。
コントローラ210は、HMD201と画像や制御信号を送受信する無線I/Fユニット211、及び画像処理装置220と画像や制御信号を送受信する画像処理装置I/F通信ユニット212を備えている。さらに、画像処理装置220から受信した画像を分割する分割ユニット213、及びその他不図示の機能部を備えている。
画像処理装置220は、画像や制御信号等を送受信するHMD I/F通信ユニット221、及びCG等のコンテンツが格納されているコンテンツDB 223を備えている。さらに、受信した位置姿勢情報からCGを描画するCG描画部222、及びその他不図示の機能部を備えている。
上述の構成において、HMD201の撮像部202が撮影した撮像画像からHMD201の位置姿勢を位置姿勢算出部204で算出し、この位置姿勢データを、コントローラ210を介して画像処理装置220に送信する。画像処理装置220は、受信した位置姿勢データを元にCG描画部222で物体などのCGを描画し、このCG画像を、コントローラ210を介してHMD201へ送信する。
HMD201は、コントローラ210から受信したCG画像と撮像部202で撮影した撮像画像とを画像合成ユニット205で合成して、表示部203に表示する。このような手順により、使用者はリアルタイムで撮影した撮像画像にCG画像を重畳した合成画像を見ることが可能となる。よって、ビデオシースルーHMDを装着することにより、現実世界と仮想世界とがリアルタイムにシームレスに融合した複合現実世界を体験できる。
なお、図2に示す例では、位置姿勢算出部204をHMD201が備える構成にしているが、位置姿勢算出部204をコントローラ210や画像処理装置220が備える構成にしてもよい。この場合、HMD201からコントローラ210には位置姿勢を算出するために必要なデータのみ(例えば撮像画像を2値化した画像)を送信する。さらに、本実施形態では、HMD201の位置姿勢を撮像画像から求めるようにしているが、撮像画像と外部のセンサーとを組み合わせて位置姿勢を求めるようにしても、外部センサーからのみ位置姿勢を求めるようにしてもよい。
図3は、本実施形態において、画像処理装置220のCG描画部222でCGを描画する処理を説明するための図である。なお、図3において、1つの四角は1つのピクセルを示しているものとする。
図3(a)には、「A」という文字のCG302を描き、文字の中に半透明のエリア303が存在する例を示している。CG描画部222は、図3(a)に示すような半透明のエリアがあるCGを描画する際に、図3(b)に示す例のように描画する。つまり、半透明のあるエリアの最左側と最右側との境界ピクセルを半透明のエリアであることを示す色に置き換える。図3(b)に示す例では、ピクセル313が置き換えられた境界ピクセルである。この半透明のエリアであることを示すピクセルの色はCGやクロマキー色ではない色とする。また、図3(c)には、半透明の個所321、322のみのCGを描画した時の例を示している。
本実施形態においては、CG画像の中に半透明のエリアがある場合に、この境界ブロックを設けることによって、コントローラ210は半透明のエリアを判別することができるが、半透明のエリアを判別できるのであれば、別の方法でも構わない。
図4は、本実施形態における図2の分割ユニット213の詳細な構成例を示すブロック図である。
図4において、半透明ブロック検出部403は、画像処理装置220から受信したCG画像の中に半透明の個所があるか否かを判定する。検出用メモリ401は、半透明ブロック検出部403の処理に必要なデータを格納する。CG分割部404は、CG画像を半透明のエリアと非半透明のエリアとに分割し、分割用メモリ402に格納する。エンコード部405は、CG画像をエンコードする。
図4において、半透明ブロック検出部403は、画像処理装置220から受信したCG画像の中に半透明の個所があるか否かを判定する。検出用メモリ401は、半透明ブロック検出部403の処理に必要なデータを格納する。CG分割部404は、CG画像を半透明のエリアと非半透明のエリアとに分割し、分割用メモリ402に格納する。エンコード部405は、CG画像をエンコードする。
なお、本実施形態ではCG画像をエンコード(圧縮)するものとして説明するが、CG画像を圧縮しなくてもよいし、圧縮する場合には圧縮方法は特に限定されない。また、本実施形態では、半透明の検出や、CGの分割は、エンコード部405でエンコード(圧縮)するブロック単位で行われるものとして説明するが、必ずしもこの限りではない。
まず、半透明ブロック検出部403によりCG画像の中から半透明のエリアが存在するか否かを判定するロジックについて説明する。画像処理装置220から受信するCG画像は、半透明のエリアが存在する場合には図3(b)に示すように半透明のエリアであることを示す境界ピクセルが含まれた画像である。そこで、半透明ブロック検出部403は、CG画像の中に半透明の境界ピクセルが存在するか否かを判定する。そして、境界ピクセルが存在する場合には、この境界ピクセル内のピクセルは半透明のエリアであるものと判定する。
次に、CG分割部404によりCG画像の中から半透明エリアと非半透明エリアとに分割するロジックについて説明する。
図5は、半透明エリアと非半透明のエリアとに分割する処理を説明するための図である。図5(a)には、画像処理装置220から受信したCG画像の一例を示している。なお、1つの四角はエンコード部405でエンコードするブロックの単位を示している。
図5は、半透明エリアと非半透明のエリアとに分割する処理を説明するための図である。図5(a)には、画像処理装置220から受信したCG画像の一例を示している。なお、1つの四角はエンコード部405でエンコードするブロックの単位を示している。
図5(b)には、図5(a)に示す画像の上から二行目のブロックを分割した例を示している。図5(b)に示す例の場合、上から二行目のブロックには半透明のエリアがないため、CG画像はブロック単位に分割される。
図5(c)には、図5(a)に示す画像の上から三行目のブロックを分割した例を示している。図5(c)に示す例の場合、左から三つ目までのブロックには半透明のエリアがないため、そのままブロック単位に分割される。これに対して左から四つ目のブロック501は、半透明のエリアが含まれているブロックになっている。この場合、ブロック501をブロック502とブロック503とに分割する。ブロック502は半透明のエリアを含まないブロックになっており、ブロック503は非半透明のエリアを含まないブロックになっている。このように半透明のエリアを含むブロックの場合は、半透明を含まないブロックと、非半透明を含まないブロックとに分割する。
エンコード部405でエンコードする際には、ブロック502のように半透明部を含まないブロックよりも、ブロック503のように半透明部を含むブロックの方が圧縮率が高くなるようにしてもよいし同じ圧縮率で圧縮してもよい。
図6は、コントローラ210からHMD201へ送信するパケット600の一例を示す図である。図6に示すように、パケットは、ヘッダー601、ブロック番号602、及び画像データ603から構成されている。ブロック番号602の領域には、画像データがどのブロックかを示す番号が格納され、画像データ603を格納する領域には、コントローラ210の分割ユニット213におけるエンコード部405でエンコードされたCG画像の一部が格納されている。なお、ブロック番号602の領域には基本的にシーケンシャル番号が格納されるが、図5(c)に示したブロック502、503のように1つのブロックを2つのブロックに分割した時は、ブロック番号602の領域には同じブロック番号が格納される。
図7は、本実施形態における図2の画像合成ユニット205の詳細な構成例を示すブロック図である。
図7において、デコード部701は、無線I/Fユニット207で受信したCG画像をデコードし、受信した画像をデコード部用メモリ702に格納する。合成部703は、撮像画像とCG画像とを合成し、合成用メモリ704に格納する。また、撮像画像用メモリ705は撮像部202で撮影された撮像画像を格納する。
図7において、デコード部701は、無線I/Fユニット207で受信したCG画像をデコードし、受信した画像をデコード部用メモリ702に格納する。合成部703は、撮像画像とCG画像とを合成し、合成用メモリ704に格納する。また、撮像画像用メモリ705は撮像部202で撮影された撮像画像を格納する。
次に、合成部703によって撮像画像とCG画像とを合成する方法について説明する。合成部703はデコード部701によりデコードされたCG画像と撮像画像とをクロマキー合成する。クロマキー合成を行う際に、1つ前に合成したブロックと同じブロック番号のブロックを受けた場合は、そのブロックは半透明のエリアを含むブロックであるため、同じブロックについて半透明で再度クロマキー合成を行う。本実施形態では、先に半透明のエリアを含まないブロックと撮像画像とをクロマキー合成し、その結果と半透明を含むブロックとを半透明でクロマキー合成するが、処理の順番を逆にしてもよい。つまり、先に半透明のエリアを含むブロックと撮像画像とを半透明でクロマキー合成し、その結果と半透明のエリアを含まないブロックとをクロマキー合成してもよい。
図8は、半透明のブロックをクロマキー合成する手順を説明するための図である。図8において、ブロック801は半透明のエリアを含まないCG画像のブロックであり、ブロック802は撮像画像のブロックである。まず、これらの2つのブロック801、802のクロマキー合成を行うと、ブロック803が生成される。次に、生成されたブロック803と半透明のエリアを含むCG画像のブロック804とを半透明でクロマキー合成を行う。その結果、合成画像のブロック805が生成される。
なお、本実施形態では、透明度を表すα値を固定して半透明にクロマキー合成しており、このα値はシステム固有の値でもよいし、システム起動時にユーザーが入力して決めるようにしてもよい。また、本実施形態では詳細な説明は省略するが、非可逆圧縮でエンコードした場合のクロマキー合成に関しては、公知の技術を用いてCGとクロマキー色との境界をきれいにする手法を使用する。
図9は、コントローラ210がCG画像を分割してパケットをHMD201に送信する処理手順の一例を示すフローチャートである。
まず、S901において、半透明ブロック検出部403は、画像処理装置220から受信したCG画像の中に半透明の個所を検出する。なお、この処理の詳細については図10を参照しながら後述する。
まず、S901において、半透明ブロック検出部403は、画像処理装置220から受信したCG画像の中に半透明の個所を検出する。なお、この処理の詳細については図10を参照しながら後述する。
次に、S902において、CG分割部404は、CG画像の中に半透明のエリアを含む場合に、図5(c)に示した例のように、半透明のエリアを含まないブロックと半透明のエリアを含むブロックとに分割する。この処理の詳細については図11を参照しながら後述する。続いてS903において、エンコード部405は、ブロックに分割したCG画像をエンコードする。そして、S904において、無線I/Fユニット211はブロック番号とエンコードしたCG画像とをもとにパケットを作成し、HMD201へ送信する。
図10は、図9のS901において、半透明ブロック検出部403が半透明ブロックを検出する詳細な処理手順の一例を示すフローである。
まず、S1001において、受信したCG画像の1つのブロック単位で水平ライン内に半透明の境界ピクセルが含まれているか否かを判定する。この判定の結果、半透明の境界ピクセルが存在する場合は、S1002において、半透明の境界ピクセルの間にあるピクセルを半透明でクロマキー合成するピクセルとし、半透明のピクセルまたは半透明でないピクセルを示す情報を作成する。
まず、S1001において、受信したCG画像の1つのブロック単位で水平ライン内に半透明の境界ピクセルが含まれているか否かを判定する。この判定の結果、半透明の境界ピクセルが存在する場合は、S1002において、半透明の境界ピクセルの間にあるピクセルを半透明でクロマキー合成するピクセルとし、半透明のピクセルまたは半透明でないピクセルを示す情報を作成する。
次に、S1003において、半透明の境界ピクセルを隣の半透明のピクセルに置き換える。この処理によって、半透明の境界を示す境界ピクセルはすべて半透明のピクセルとなる。そして、S1004において、1つのブロック単位の最終ラインまで処理が終了したか否かを判定する。この判定の結果、最終ラインまで処理が終了していない場合はS1001に戻り、ブロック単位で次の水平ラインについて処理を行う。
一方、S1004の判定の結果、ブロック単位で最終ラインまで処理が終了した場合は、S1005において、各ブロックに対してピクセル毎に半透明か非半透明かを示すピクセル情報とともに、検出用メモリ401にそのCG画像をブロック単位で格納する。そして、S1006において、CG分割部404へ処理を開始するように通知する。次に、S1007において、1枚のCG画像におけるすべてのブロックについて処理が終了したか否かを判定する。この判定の結果、まだ処理を行っていない部分が存在する場合はS1001に戻り、1枚のCG画像に対して処理が終了した場合は、そのまま処理を終了する。
図11は、図9のS902において、CG分割部404がCG画像を分割する詳細な処理手順の一例を示すフローチャートである。
まず、S1101において、検出用メモリ401からCG画像の1つのブロックとそのブロックに対応するピクセル情報とを読み出す。そして、S1102において、読み出したピクセル情報から半透明のピクセルがブロック内に存在しているか否かを判定する。この判定の結果、半透明のピクセルがブロック内に存在しない場合は、S1104に進み、ブロック番号とともにそのブロックを分割用メモリ402に格納する。
まず、S1101において、検出用メモリ401からCG画像の1つのブロックとそのブロックに対応するピクセル情報とを読み出す。そして、S1102において、読み出したピクセル情報から半透明のピクセルがブロック内に存在しているか否かを判定する。この判定の結果、半透明のピクセルがブロック内に存在しない場合は、S1104に進み、ブロック番号とともにそのブロックを分割用メモリ402に格納する。
一方、S1102の判定の結果、半透明のピクセルがブロック内に存在する場合は、S1103において、図5(c)に示した例のように、ピクセル情報を元に該当するブロックを、半透明を含むブロックと半透明を含まないブロックとに分割する。そして、S1104において、分割したブロックの画像をブロック番号とともに分割用メモリ402に格納する。
続いてS1105において、エンコード部405へ処理を開始するように指示する。そして、S1106において、1枚の画像におけるすべてのブロックに対して処理を終了したか否かを判定する。この判定の結果、まだ処理を行っていないブロックが存在する場合はS1101に戻り、全てのブロックについて処理が終了した場合はそのまま処理を終了する。
次に、クロマキー合成を行う際の処理について説明する。図12は、HMD201がコントローラ210からCG画像を受信してから合成画像を表示するまでの処理手順の一例を示すフローチャートである。
まず、S1201において、デコード部701は、受信したパケットの中のCG画像に対してデコードを行う。そして、S1202において、デコード部701は、デコード後のCG画像とブロック番号の情報とをデコード部用メモリ702に格納する。続いてS1203において、合成部703は、CG画像と撮像画像とを合成する。この処理の詳細については図13を参照しながら後述する。そして、S1204において、合成部703は、合成画像を表示部203へ送る。
まず、S1201において、デコード部701は、受信したパケットの中のCG画像に対してデコードを行う。そして、S1202において、デコード部701は、デコード後のCG画像とブロック番号の情報とをデコード部用メモリ702に格納する。続いてS1203において、合成部703は、CG画像と撮像画像とを合成する。この処理の詳細については図13を参照しながら後述する。そして、S1204において、合成部703は、合成画像を表示部203へ送る。
図13は、図12のS1203において、合成部703が画像の合成を行う詳細な処理手順の一例を示すフローチャートである。
まず、S1301において、デコード部用メモリ702からブロック単位でCG画像を読み出す。そして、S1302において、S1301で読み出したブロック単位のCG画像のブロック番号が、1つ前に読み出したブロックのブロック番号と同じか否かを判定する。この判定の結果、同じブロック番号である場合は、今回読み出したブロックは半透明でクロマキー合成しなければならないため、S1303に進む。そして、S1303において、合成用メモリ704から前回のブロックに対してクロマキー合成したブロックの合成画像を読み出す。次に、S1304において、S1301及びS1303で読み出したそれぞれのブロックの画像を半透明でクロマキー合成する。
まず、S1301において、デコード部用メモリ702からブロック単位でCG画像を読み出す。そして、S1302において、S1301で読み出したブロック単位のCG画像のブロック番号が、1つ前に読み出したブロックのブロック番号と同じか否かを判定する。この判定の結果、同じブロック番号である場合は、今回読み出したブロックは半透明でクロマキー合成しなければならないため、S1303に進む。そして、S1303において、合成用メモリ704から前回のブロックに対してクロマキー合成したブロックの合成画像を読み出す。次に、S1304において、S1301及びS1303で読み出したそれぞれのブロックの画像を半透明でクロマキー合成する。
一方、S1302の判定の結果、1つ前に読み出したブロックのブロック番号と異なる場合は、S1305において、S1301で読み出したブロックのCG画像に対応する撮像画像を撮像画像用メモリ705から読み出す。そして、S1306において、これらの2つの画像をクロマキー合成する。
次に、S1307において、S1304またはS1306でクロマキー合成した合成画像を合成用メモリ704に格納する。そして、S1307において、1枚の画像におけるすべてのブロックについて処理が終了したか否かを判定する。この判定の結果、まだ処理を行っていないブロックが存在する場合はS1201に戻り、全てのブロックについて処理が終了した場合はそのまま処理を終了する。
以上のように本実施形態によれば、コントローラ210を、CG画像を半透明の領域と非半透明の領域とに分割し、それぞれを圧縮して送信する構成とした。また、HMD201は、まず非半透明の領域を撮像画像と合成し、その後、非半透明の領域を半透明にクロマキー合成するようにした。このようにCGを描画する装置とクロマキー合成を行う装置とが別々のシステムにおいて、データ量を増やすことなく簡易な構成でかつ正確に半透明でクロマキー合成を行うことが可能となる。
(第2の実施形態)
第1の実施形態では、CG画像中の半透明でクロマキー合成を行う領域を検出し、半透明があるブロックについては、2つのブロックに分割した。このように、データ量を大幅に増やすことなく簡易な構成により半透明でクロマキー合成を行うようにしている。本実施形態では、第1の実施形態と比べてデータ量を大幅に増やすことなく、より高精細に半透明のクロマキー合成を行う方法について説明する。なお、本実施形態におけるMRシステムの構成については図1及び図2と同様であるため説明を省略する。
第1の実施形態では、CG画像中の半透明でクロマキー合成を行う領域を検出し、半透明があるブロックについては、2つのブロックに分割した。このように、データ量を大幅に増やすことなく簡易な構成により半透明でクロマキー合成を行うようにしている。本実施形態では、第1の実施形態と比べてデータ量を大幅に増やすことなく、より高精細に半透明のクロマキー合成を行う方法について説明する。なお、本実施形態におけるMRシステムの構成については図1及び図2と同様であるため説明を省略する。
図14(a)は、本実施形態において、画像処理装置220のCG描画部222でCGを描画する処理を説明するための図である。なお、図14(a)において、1つの四角は1つのピクセルを示しているものとする。図3に示した例と同様に、非半透明のエリア1402の内部の半透明のあるエリア1404の最左側と最右側とを半透明のエリアであることを示す色の境界ピクセル1403に置き換える。
図14(b)は、半透明の個所の画素データの一例を示す概略図である。本実施形態では、画素データは、R、G、Bそれぞれ8bitで構成されており、各8bitのうち、4bitをα値の情報に割り当てる。本実施形態では、半透明の個所のα値を画素データの中に埋め込むものとするが、画素データの中に埋め込まず、別データとするなど、他の方法を用いてもよい。また、画素データ中のα値のbit数は4bitでなくてもよく、bit数は可変でもよい。
図15は、本実施形態における図2の分割ユニット213の詳細な構成例を示すブロック図である。図4に示した構成と比べると、ブロックα値計算部1501をさらに備えており、ブロックα値計算部1501は、各ピクセルのα値からブロック毎のα値を計算する。なお、他の構成は図4と同様であるため、説明は省略する。
図16は、ブロック毎のα値を計算する処理を説明するための図である。図16に示す例では、1つのブロックを3×3のピクセルで構成されているものとする。図16(a)に示す例では、各ピクセルのα値1601を計算した結果、1つのブロックのα値1602が得られている。図16(a)に示す例の場合、ブロック内のα値の平均値をブロックのα値とするため、ブロックのα値は4となる。なお、ブロックを構成するピクセル数は3×3ピクセルとしたが、ピクセル数については特に限定されない。また、ブロックのα値を各ピクセルの平均値に限定されるものではなく、それ以外の値を採用してもよい。
半透明ブロック検出部403は、画像処理装置220から受信したCG画像からピクセル毎のα値をブロックα値計算部1501へ送る。そして、ブロックα値計算部1501は、受け取ったピクセル毎のα値からブロック単位のα値を計算する。また、ブロックα値計算部1501は、計算したブロック単位のα値の情報を無線I/Fユニット211へ送る。無線I/Fユニット211は、受け取ったα値の情報をパケットの中に埋め込んでHMD201へ送信する。なお、図16(b)には、HMD201へ送信するパケット1600の例を示しており、パケット1600の中にブロック毎のα値の情報1603を埋め込むようにしている。
図17は、本実施形態における図2の画像合成ユニット205の詳細な構成例を示すブロック図である。図7に示した構成と比べると、ピクセルα値計算部1701、ピクセルα値用メモリ1702、及び半透明補正部1703をさらに備えている。なお、他の構成は図7と同様であるため、説明は省略する。
ピクセルα値計算部1701は、ブロック毎のα値からピクセル毎のα値へ計算し、その結果をピクセルα値用メモリ1702に格納する。半透明補正部1703は、ピクセルα値計算部1701で計算したピクセル毎のα値を補正する。
このように本実施形態では、ピクセルα値計算部1701は受け取ったブロック毎のα値からピクセル毎のα値に計算する。図18は、ピクセル毎のα値へ計算する処理を説明するための図である。なお、図18に示す例では、1つのブロックを3×3のピクセルとする。まず、図18(a)に示すように、ブロック毎のα値をブロックの中心のピクセルのα値とし、周囲のブロックのα値と線形補間を行う。そして、図18(b)には、3×3ブロックの時のα値をピクセル毎のα値に計算した時の例を示している。なお、本実施形態では、ピクセル毎のα値を求めるのに線形補間を用いているが、それ以外の方法によりピクセル毎のα値を求めてもよい。
コントローラ210でCG画像を分割して送信するまでの処理手順は、基本的には図9と同様であるため説明を省略する。また、HMD201がコントローラ210からCG画像を受信してから合成画像を表示するまでの処理手順も図12と同様であるため説明を省略する。一方、図9のS901の詳細な手順については、図10と異なっている。また、図12のS1203の詳細な手順についても、図13と異なっている。以下、これらの処理手順について説明する。
図19は、図9のS901において、半透明ブロックを検出する詳細な処理手順の一例を示すフローである。なお、図10に示した処理と同一の処理については説明を省略する。以下、図10に示した処理手順との違いを中心に説明する。
S1003において、半透明ブロック検出部403が境界ピクセルを置き換えると、次のS1901において、半透明ブロック検出部403は半透明のピクセルに対してピクセル毎にα値を取り出し、検出用メモリ401に格納する。前述したように、半透明のピクセルは、α値を取り出されると画素データとしては4bitと半分になるため、その後、半透明ブロック検出部403は半透明のピクセルの画素データの値を2倍にする。この処理により、半透明のピクセルの画素データも通常の画素データとなる。
また、S1902においては、ブロックα値計算部1501は、ブロック内の各ピクセルのα値を検出用メモリ401から読み出し、ブロックのα値を、図16(a)に示した例のように計算する。
図20は、図12のS1203において、画像の合成を行う詳細な処理手順の一例を示すフローチャートである。なお、図13に示した処理と同一の処理については説明を省略する。以下、図13に示した処理手順との違いを中心に説明する。
S2001においては、ピクセルα値計算部1701は、該当するブロック及び周囲の9ブロックのα値の情報をピクセルα値用メモリ1702から読み出す。そして、S2002において、ピクセルα値計算部1701は、S2001で読み出した10ブロックのα値から該当するブロックの各ピクセルのα値を、図18に示したような方法で計算する。そして、計算結果のピクセル毎のα値をピクセルα値用メモリ1702に格納する。
次に、S2003において、半透明補正部1703は、半透明のブロックのCG画像と、S2002で計算したα値とを比較して、α値の補正を行う。α値を補正する詳細な方法に関しては後述する。そして、S2004において、合成部703は、S1301及びS1303で読み出したブロックのCG画像を、S2001〜S2003で計算したピクセル毎のα値をもとに半透明でクロマキー合成する。
図21は、図20のS2003においてα値を補正する手順を説明するための図である。図21(a)は、ブロック毎のα値の一例を示した図であり、図21(b)は、図21(a)に示すブロックの真中の行に対してピクセル毎のα値に計算した例を示す図である。
図20のS2003では、半透明補正部1703はピクセル毎のα値と、デコード後の半透明ブロックの画素データとを比較する。そしてピクセルの画素データがクロマキー色であるにも関わらず、S2001〜S2003で計算した対応するピクセルのα値が0でない場合に、このα値を0に補正する。つまりクロマキー色にも関わらず、α値が0でない場合は、α値をブロック毎に算出したことによって生じた誤差であるため、α値を0に補正する。図21(b)に示す例では、一番左端のピクセルが、これに該当した例である。
以上のように本実施形態によれば、ブロック毎にα値の情報を持つようしたことで、第1の実施形態に比べてわずかにデータ量が増加するものの、より高精細に半透明のクロマキー合成を行うことが可能になる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
403 半透明ブロック検出部
404 CG分割部
405 エンコード部
404 CG分割部
405 エンコード部
Claims (10)
- 半透明の領域を有するCG画像を撮像画像と合成する画像合成装置とともに画像処理システムを構成する画像処理装置であって、
前記CG画像から半透明の領域を検出する検出手段と、
前記検出手段によって検出された半透明の領域に基づいて、前記CG画像を半透明の画像と非半透明の画像とに分割する分割手段と、
前記分割手段によって分割された半透明の画像及び非半透明の画像を前記画像合成装置に送信する送信手段とを有することを特徴とする画像処理装置。 - 前記半透明の画像及び非半透明の画像を圧縮する圧縮手段をさらに有し、
前記送信手段は、前記圧縮手段によって圧縮された半透明の画像及び非半透明の画像を前記画像合成装置に送信することを特徴とする請求項1に記載の画像処理装置。 - 前記圧縮手段は、前記半透明の画像の圧縮率を前記非半透明の画像の圧縮率よりも高くすることを特徴とする請求項2に記載の画像処理装置。
- 前記分割手段は、前記圧縮手段によって処理されるブロック単位で分割することを特徴とする請求項2又は3に記載の画像処理装置。
- 前記CG画像のピクセル毎のα値から前記ブロック単位のα値を算出する算出手段をさらに有し、
前記送信手段は、前記半透明の画像及び非半透明の画像とともに、前記算出手段によって算出された前記ブロック単位のα値の情報を送信することを特徴とする請求項4に記載の画像処理装置。 - 前記分割手段は、前記検出手段によって検出された半透明の領域をクロマキー色にした非半透明の画像と、半透明と検出されなかった領域をクロマキー色にした半透明の画像とに分割することを特徴とする請求項4又は5に記載の画像処理装置。
- 半透明の領域を有するCG画像を送信する画像処理装置と、前記画像処理装置から送信されたCG画像を撮像画像と合成する画像合成装置とがネットワークに接続されて構成される画像処理システムであって、
前記画像処理装置は、
前記CG画像から半透明の領域を検出する検出手段と、
前記検出手段によって検出された半透明の領域に基づいて、前記CG画像を半透明の画像と非半透明の画像とに分割する分割手段と、
前記分割手段によって分割された半透明の画像及び非半透明の画像を前記画像合成装置に送信する送信手段とを有し、
前記画像合成装置は、
前記送信手段によって送信された半透明の画像及び非半透明の画像を受信する受信手段と、
前記受信手段によって受信された半透明の画像及び非半透明の画像を撮像画像と合成する合成手段とを有することを特徴とする画像処理システム。 - 半透明の領域を有するCG画像を撮像画像と合成する画像合成装置とともに画像処理システムを構成する画像処理装置の画像処理方法であって、
前記CG画像から半透明の領域を検出する検出工程と、
前記検出工程において検出された半透明の領域に基づいて、前記CG画像を半透明の画像と非半透明の画像とに分割する分割工程と、
前記分割工程において分割された半透明の画像及び非半透明の画像を前記画像合成装置に送信する送信工程とを有することを特徴とする画像処理方法。 - 半透明の領域を有するCG画像を送信する画像処理装置と、前記画像処理装置から送信されたCG画像を撮像画像と合成する画像合成装置とがネットワークに接続されて構成される画像処理システムの画像処理方法であって、
前記CG画像から半透明の領域を検出する検出工程と、
前記検出工程において検出された半透明の領域に基づいて、前記CG画像を半透明の画像と非半透明の画像とに分割する分割工程と、
前記分割工程において分割された半透明の画像及び非半透明の画像を前記画像合成装置に送信する送信工程と、
前記送信工程において送信された半透明の画像及び非半透明の画像を受信する受信工程と、
前記受信工程において受信された半透明の画像及び非半透明の画像を撮像画像と合成する合成工程とを有することを特徴とする画像処理方法。 - 半透明の領域を有するCG画像を撮像画像と合成する画像合成装置とともに画像処理システムを構成する画像処理装置を制御するためのプログラムであって、
前記CG画像から半透明の領域を検出する検出工程と、
前記検出工程において検出された半透明の領域に基づいて、前記CG画像を半透明の画像と非半透明の画像とに分割する分割工程と、
前記分割工程において分割された半透明の画像及び非半透明の画像を前記画像合成装置に送信する送信工程とをコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014066634A JP2015191314A (ja) | 2014-03-27 | 2014-03-27 | 画像処理装置、画像処理システム及び画像処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014066634A JP2015191314A (ja) | 2014-03-27 | 2014-03-27 | 画像処理装置、画像処理システム及び画像処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015191314A true JP2015191314A (ja) | 2015-11-02 |
Family
ID=54425781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014066634A Pending JP2015191314A (ja) | 2014-03-27 | 2014-03-27 | 画像処理装置、画像処理システム及び画像処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015191314A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019098198A1 (ja) * | 2017-11-20 | 2019-05-23 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、ヘッドマウントディスプレイ、画像生成システム、画像生成方法、およびプログラム |
JP2020064592A (ja) * | 2018-10-16 | 2020-04-23 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、画像生成システム、画像生成方法、およびプログラム |
-
2014
- 2014-03-27 JP JP2014066634A patent/JP2015191314A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019098198A1 (ja) * | 2017-11-20 | 2019-05-23 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、ヘッドマウントディスプレイ、画像生成システム、画像生成方法、およびプログラム |
JP2019095916A (ja) * | 2017-11-20 | 2019-06-20 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、ヘッドマウントディスプレイ、画像生成システム、画像生成方法、およびプログラム |
US11204502B2 (en) | 2017-11-20 | 2021-12-21 | Sony Interactive Entertainment Inc. | Image generation apparatus, head mounted display, image generation system, image generation method, and program |
JP2020064592A (ja) * | 2018-10-16 | 2020-04-23 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、画像生成システム、画像生成方法、およびプログラム |
JP7234021B2 (ja) | 2018-10-16 | 2023-03-07 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置、画像生成システム、画像生成方法、およびプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102560187B1 (ko) | 3차원("3d") 장면의 2차원("2d") 캡처 이미지를 기반으로 하는 가상 현실 콘텐츠를 렌더링하기 위한 방법 및 시스템 | |
EP3198866B1 (en) | Reconstruction of three-dimensional video | |
JP5113426B2 (ja) | 頭部装着型表示装置、及びその制御方法 | |
US8907968B2 (en) | Image rendering device, image rendering method, and image rendering program for rendering stereoscopic panoramic images | |
CN107682688B (zh) | 基于增强现实的视频实时录制方法及录制设备 | |
CA2559131C (en) | Stereoscopic parameter embedding apparatus and stereoscopic image reproducer | |
JP5127633B2 (ja) | コンテンツ再生装置および方法 | |
JP6316910B2 (ja) | シーン基準のメタデータ捕捉のための基準カード | |
JP2012244438A (ja) | 動画像撮影装置、情報処理システム、情報処理装置、および画像データ処理方法 | |
JP7202087B2 (ja) | 映像処理装置 | |
JP6669783B2 (ja) | 端末装置、システム、プログラム及び方法 | |
JP6799017B2 (ja) | 端末装置、システム、プログラム及び方法 | |
KR101688926B1 (ko) | 크로마키를 이용한 증강현실 영상 제작 장치 및 방법 | |
TWI559748B (zh) | 用於視訊編解碼器的延伸預測模式及效能之方法及系統 | |
JP2015191314A (ja) | 画像処理装置、画像処理システム及び画像処理方法 | |
JP5408906B2 (ja) | 画像処理装置 | |
JP6137910B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
US20140146083A1 (en) | Image processing apparatus, image processing method, and storage medium | |
JP2014199508A (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP6008711B2 (ja) | 画像処理装置、画像処理方法、及びプログラム | |
JP6249734B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
JP7011728B2 (ja) | 画像データ出力装置、コンテンツ作成装置、コンテンツ再生装置、画像データ出力方法、コンテンツ作成方法、およびコンテンツ再生方法 | |
KR101242764B1 (ko) | 입체 3d 영상과 gpu를 이용한 입체 증강현실 영상 생성 장치 및 방법 | |
JP2022551064A (ja) | 容積ビデオを符号化、送信、及び復号化するための方法及び装置 | |
JP2020167660A (ja) | 画像データ伝送方法、コンテンツ処理装置、ヘッドマウントディスプレイ、中継装置、および、コンテンツ処理システム |