(57)【要約】【課題】  実写画像中に含まれる所定の被写体領域を検出するための被写体検出情報の生成及び調整を容易に実施可能とすること。【解決手段】  被写体を含む実写画像と含まない実写画像とに含まれる色情報を比較することにより被写体検出情報としての被写体色情報を自動的に取得、登録する。登録した被写体色情報により検出された被写体領域を示す画像（１００１）において、誤認識されている領域（１００４、１００５）としてマウスカーソル１００２で指定された画素の色情報を被写体色情報に追加もしくは削除することで、登録されている被写体色情報を容易に調整することができる。【選択図】  図１０
2005228140.tif 000002
【特許請求の範囲】
【請求項１】
実写画像中に含まれる所定の被写体領域を検出するための被写体検出情報の調整方法であって、
実写画像を取得する実写画像取得工程と、
現在登録されている前記被写体検出情報を用いて、前記実写画像から前記所定の被写体領域を抽出し、前記実写画像中の前記所定の被写体領域と、それ以外の領域とが視覚的に異なって表わされる被写体領域画像を生成する被写体領域画像生成工程と、
前記被写体領域画像を半透明画像として前記実写画像上に重畳した調整用画像を生成する調整用画像生成工程と、
前記調整用画像をユーザインタフェースを介して提示する提示工程と、
前記ユーザインタフェースを介して指定された前記調整用画像の領域に対応する前記実写画像の領域の色情報から、追加又は削除すべき被写体検出情報を生成し、前記現在登録されている被写体検出情報を更新する更新工程と、
を有することを特徴とする被写体検出情報調整方法。
【請求項２】
前記被写体領域画像の、前記所定の被写体領域と、前記それ以外の領域とが、異なる色を有することを特徴とする請求項１記載の被写体検出情報調整方法。
【請求項３】
請求項１記載の被写体検出情報の調整方法の各工程をコンピュータに実行させるプログラム。
【請求項４】
請求項３記載のプログラムを格納したコンピュータ読み取り可能な記録媒体。
【請求項５】
実写画像中に含まれる所定の被写体領域を検出するための被写体検出情報の調整装置であって、
実写画像を取得する実写画像取得手段と、
現在登録されている前記被写体検出情報を用いて、前記実写画像から前記所定の被写体領域を抽出し、前記実写画像中の前記所定の被写体領域と、それ以外の領域とが視覚的に異なって表わされる被写体領域画像を生成する被写体領域画像生成手段と、
前記被写体領域画像を半透明画像として前記実写画像上に重畳した調整用画像を生成する調整用画像生成手段と、
前記調整用画像をユーザインタフェースを介して提示する提示手段と、
前記ユーザインタフェースを介して指定された前記調整用画像の領域に対応する前記実写画像の領域の色情報から、追加又は削除すべき被写体検出情報を生成し、前記現在登録されている被写体検出情報を更新する更新手段と、
を有することを特徴とする被写体検出情報調整装置。
【請求項６】
実写画像中に含まれる所定の被写体領域を検出するための被写体検出情報の調整方法であって、
登録されている被写体検出情報を用いて、入力実写画像から被写体領域の検出結果を表示させ、
ユーザ指示に基づき、前記検出結果からノイズ領域を選択し、
前記選択されたノイズ領域に基づき、前記被写体検出情報を調整することを特徴とする被写体検出情報調整方法。
【請求項７】
前記被写体検出情報は色情報であり、
背景の実写画像と、背景および被写体が含まれる実写画像とを比較することにより、前記色情報を抽出することを特徴とする請求項６記載の被写体検出情報調整方法。
【請求項８】
前記被写体検出情報の調整は、前記選択されたノイズ領域に含まれる色情報を、前記被写体検出情報である色情報に対して追加もしくは除去する処理であることを特徴とする請求項６記載の被写体検出情報調整方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実写画像から所定の被写体領域を検出するために用いられる被写体領域検出情報の生成方法及び調整方法に関し、特に実写画像とコンピュータグラフィックスを、前記実写画像中の所定の被写体領域を考慮して合成する際に有用な被写体領域検出情報の調整方法に関する。
【背景技術】
【０００２】
実写風景を背景として、その上にコンピュータグラフィックス（以下、ＣＧと記述）を重畳して提示し、体験者に対して、あたかもその場に仮想の物体が存在するかのような体験を行わせる複合現実感(Mixed Reality:MR)の技術がある。このＭＲ技術を用いて臨場感豊かな体験を実現するには、背景となる実写風景の上にただ単純にＣＧを重畳して表示するだけではなく、体験者が実際にＣＧで描画される仮想物体（以下、単に仮想物体と言うことがある）に触ったり操作する（しているように体感させる）といったインタラクションが重要になってくる。そして、このようなインタラクションを実現するめには、仮想物体よりも手前（前景）に仮想物体を操作する体験者の手など（以下、被写体という）を表示することが必要である。なぜなら、仮想物体よりも手前にあるべき被写体が仮想物体によって隠されてしまうと、仮想物体との距離感や現実感が破綻し、臨場感を損ねてしまうからである。
【０００３】
このような課題を解決するために、出願人は特許文献１において、最前景とすべき被写体の画像をＣＧ画像によって隠さないようにする技術を提案した。この技術は、背景と被写体とを実写画像として取得し、この実写画像から、予め手作業でシステムに登録した、ＣＧ画像より手前に表示すべき被写体を、被写体検出情報としての色情報を有する領域を被写体領域として抽出し、被写体領域にはＣＧ画像の描画を禁止するものである。この技術により、最前景となるべき被写体がＣＧ画像で隠されることなく、仮想物体よりも手前にあるように表示され、臨場感の高い複合現実感体験を行うことが可能となる。
【０００４】
【特許文献１】特開２００３−２９６７５９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、ＣＧ画像の描画を禁止する被写体領域を検出するための被写体の色情報を手作業でシステムに登録する必要があった。そして、手作業による色情報の登録には知識と慣れが必要であり、誰でもが簡単にできる作業ではない。
【０００６】
このような技術的背景から、経験や知識のある者が手作業で被写体検出情報の登録を行うのではなく、体験者やシステムのオペレータといった知識、経験のない者でも、比較的簡単な操作で被写体検出情報を登録可能とする技術が要望されている。
【０００７】
また、簡単な操作で被写体検出情報を登録できたとしても、特に照明条件の変化などにより、実写画像における被写体の色情報が事前に登録された色情報と変化した場合は、誤認識する可能性がある。すなわち、例えば誤って被写体であると認識された領域では本来ＣＧ描画を行うべき領域についてもＣＧの描画が禁止され、隠されるべき背景画像が見えてしまうし、逆に誤って背景（被写体でない）と認識された領域では、本来ＣＧ描画を禁止すべき被写体領域上にＣＧが描画されてしまう。そのため、正確な被写体領域検出を行うには被写体検出情報を調整する必要がある。
【０００８】
このように、被写体領域の誤認識に起因したＣＧ画像中の背景画像や、被写体領域中のＣＧ画像といったノイズ領域を削減又は除去するための、被写体検出情報の調整技術もまた要望されていた。
【０００９】
本発明はこれら従来技術の課題及び技術的要望に鑑みてなされたものであり、その主な目的の１つは、実写画像中の被写体領域を検出するための被写体検出情報を簡便な操作で登録可能とすることにある。
また、本発明の別の主な目的は、登録された被写体検出情報を直感的かつ容易に修正可能とすることにある。
【課題を解決するための手段】
【００１０】
上述の目的は、実写画像中に含まれる所定の被写体領域を検出するための被写体検出情報の調整方法であって、実写画像を取得する実写画像取得工程と、現在登録されている被写体検出情報を用いて、実写画像から所定の被写体領域を抽出し、実写画像中の所定の被写体領域と、それ以外の領域とが視覚的に異なって表わされる被写体領域画像を生成する被写体領域画像生成工程と、被写体領域画像を半透明画像として実写画像上に重畳した調整用画像を生成する調整用画像生成工程と、調整用画像をユーザインタフェースを介して提示する提示工程と、ユーザインタフェースを介して指定された調整用画像の領域に対応する実写画像の領域の色情報から、追加又は削除すべき被写体検出情報を生成し、現在登録されている被写体検出情報を更新する更新工程と、を有することを特徴とする被写体検出情報調整方法によって達成される。
【００１１】
また、上述の目的は、実写画像中に含まれる所定の被写体領域を検出するための被写体検出情報の調整装置であって、実写画像を取得する実写画像取得手段と、現在登録されている被写体検出情報を用いて、実写画像から所定の被写体領域を抽出し、実写画像中の所定の被写体領域と、それ以外の領域とが視覚的に異なって表わされる被写体領域画像を生成する被写体領域画像生成手段と、被写体領域画像を半透明画像として実写画像上に重畳した調整用画像を生成する調整用画像生成手段と、調整用画像をユーザインタフェースを介して提示する提示手段と、ユーザインタフェースを介して指定された調整用画像の領域に対応する実写画像の領域の色情報から、追加又は削除すべき被写体検出情報を生成し、現在登録されている被写体検出情報を更新する更新手段と、を有することを特徴とする被写体検出情報調整装置によっても達成される。
【００１２】
また、上述の目的は、実写画像中に含まれる所定の被写体領域を検出するための被写体検出情報の調整方法であって、登録されている被写体検出情報を用いて、入力実写画像から被写体領域の検出結果を表示させ、ユーザ指示に基づき、検出結果からノイズ領域を選択し、選択されたノイズ領域に基づき、被写体検出情報を調整することを特徴とする被写体検出情報調整方法によっても達成される。
【００１３】
また、上述の別の主な目的は、本発明の被写体検出情報調整方法をコンピュータに実行させるプログラム、又はこのプログラムを格納したコンピュータ読み取り可能な記録媒体によっても達成される。
【発明の効果】
【００１４】
以上の構成によれば、被写体領域を検出するための被写体検出情報を自動的に登録することができる。また、登録された被写体検出情報を簡易な操作で調整することができる。
【発明を実施するための最良の形態】
【００１５】
以下、添付図面を参照して本発明をその好適な実施形態に基づいて詳細に説明する。
図１は、本発明の一実施形態としての映像合成装置の構成例を示すブロック図、図２は図１のシステムを複合現実感アプリケーションに適用した状態を模式的に示す図である。
【００１６】
図１において、小型のビデオカメラ１０１は現実空間を撮影する。本実施形態においてビデオカメラ１０１は、映像合成装置のユーザ（複合現実感の体験者）２０１が装着する頭部搭載型画像表示装置（Head Mounted Display、以下ＨＭＤという）１０９の、ユーザの目に近い部分に、ユーザの視界方向と一致する向きに固定されている（図２参照）。画像入力部１０２は、ビデオカメラ１０１より撮影された画像（映像）を入力する。ビデオカメラ１０１で撮影された画像の信号は、画像入力部１０２によって処理され、ディジタル画像データとして後述する被写体領域抽出部１０３と画像合成部１０８に供給され、画像生成部１０６で生成されたＣＧ画像と合成されてユーザのＨＭＤ１０９に表示される。
【００１７】
被写体領域抽出部１０３は画像入力部１０２から入力されたディジタル画像データの中から、被写体色情報登録部１１０に登録された色に対応するデータを抽出し、その抽出結果を被写体領域情報として画像合成部１０８へ送る。すなわち、被写体領域抽出部１０３は、画像入力部１０２から供給されたディジタル画像データの各画素の色情報を被写体色情報登録部１１０に登録してある被写体の色情報と比較し、これと一致する場合には当該画素は被写体の領域であると判断する。なお、この判断においては、完全一致のみならず、予め定めた誤差範囲を許容して判断しても良い。被写体領域抽出部１０３が画像合成部１０８に与える被写体領域情報としては、例えば被写体領域に含まれるならば１、そうでないならば０のような値を各画素に割り当てることにより生成した画像データの形態であってよい。
【００１８】
一方、カメラ位置姿勢計測部１０５は、カメラ位置姿勢センサ１０４からの信号に基づいてビデオカメラ１０１の位置姿勢を検出し、これを画像生成部１０６へ送る。カメラ位置姿勢センサ１０４は、例えば磁気センサで構成され、図２に示すようにＨＭＤ１０９に装着されている。カメラ位置姿勢計測部１０５は、カメラ位置姿勢センサ１０４からの出力信号を入力し、カメラ１０１の３次元位置と姿勢を推定する。なお、カメラ位置姿勢センサ１０４は、磁気センサの他に、光学式センサ、超音波式センサ、機械式センサなど、用途に合わせて好適な手段を任意に選択してよい。
【００１９】
画像生成部１０６では、カメラ位置姿勢計測部１０５から供給されるカメラの３次元位置と姿勢の情報を用いて、ビデオカメラ１０１で撮影された映像に合わせたＣＧ画像が生成される。ＣＧ画像の生成においては、仮想空間データベース１０７に含まれるＣＧモデル（仮想物体）の幾何情報、色やテクスチャなどの属性情報、および照明情報が用いられる。３次元ＣＧ画像の生成は既知の技術であるので説明を省略する。生成されたＣＧ画像は画像合成部１０８へ送られる。
【００２０】
画像合成部１０８では、画像入力部１０２より入力される映像に画像生成部１０６で生成したＣＧ画像を重畳描画する。このとき、被写体領域抽出部１０３より送られて来た被写体領域（値が１の領域）においては、ＣＧ画像の描画を禁止し、ビデオカメラ１０１からの映像がそのまま表示されるようにする。こうして画像合成部１０８で生成された合成画像は、ＨＭＤ１０９に送られ、表示される。
【００２１】
なお、以上のような図１の構成において、ビデオカメラ１０１、カメラ位置姿勢センサ１０４はＨＭＤ１０９に装着され、他の構成は例えばビデオキャプチャ機能を有する汎用的なコンピュータ装置において、必要なソフトウェアを実行することで実現することができる。また、図１においては示していないが、本実施形態の映像合成装置には、オペレータが装置の設定などの操作を行うために必要な表示装置（モニタ）や、マウス、キーボード等の入力機器なども含まれる。
【００２２】
以下、このような構成を有する映像合成装置の動作及び処理について、図２及び図３を参照してより具体的に説明する。図２は図１のシステムを複合現実感アプリケーションに適用した状態を模式的に示す図であり、図３は図２のアプリケーションにおいて映像合成装置が行う画像合成処理を説明する図である。
【００２３】
図２において、ユーザ２０１は、実写映像とＣＧ画像を合成して表示するための表示装置であるＨＭＤ１０９を頭部２０３に装着し、椅子２０２に座っている。なお、ユーザ２０１は着座以外の任意の姿勢を取っていても良い。また、上述したようにＨＭＤ１０９にはビデオカメラ１０１やカメラ位置姿勢センサ１０４が搭載されている。なお、本実施形態において、ＣＧ画像より前景とすべき被写体はユーザ２０１の手２０４であるとし、背景とすべき現実の対象物はユーザの手２０４以外の現実物体（壁や鉢植え等）２０５である。
【００２４】
ＨＭＤ１０９に表示される画像は、図３の（ａ）のような現実空間の実写風景を背景に、図３の（ｂ）のようなＣＧ画像（仮想自動車内部画像２０６）を重畳する。このとき、ＣＧ画像の前景として（すなわち、ＣＧ画像に隠されないように）被写体（ユーザの手２０４）が表示されるようにＣＧ画像を重畳し、図３の（ｃ）に示すような目的とする合成画像を生成する。このように、体験者に臨場感の高い複合現実感体験させるためには、ＣＧ画像の前景となる被写体領域にはＣＧ画像を描画しないことが重要である。
【００２５】
図４は被写体領域抽出部１０３による被写体領域の抽出を説明する図である。図４の（ａ）は、ビデオカメラ１０１より得られる実写画像の例であり、図３（ａ）と対応する。実写画像３０１において、ユーザ２０１自身の手２０４がビデオカメラ１０１の視野内に入っており、背景とすべき現実の風景と共に前景とすべき被写体である手２０４が画像中に存在する。被写体とすべき手２０４を検出するための被写体検出情報としての色情報は予め被写体色情報登録部１１０に登録されている（登録の手順の詳細は後述）。被写体領域抽出部１０３は、実写画像３０１の各画素について、その色情報を被写体の色情報と比較し、被写体領域に含まれると判定されるならば１（白）、それ以外では０（黒）とした二値画像を生成する。図４の（ｂ）に示される被写体領域画像４０１はこのようにして実写画像３０１を解析して生成した画像であり、白で示した領域４０２が手の領域、すなわちＣＧ画像の前景とすべき被写体領域を示す。こうして生成された被写体領域にはＣＧ画像を合成しないことで、実写画像とＣＧを合成し、なおＣＧ画像の前景として体験者の手を表示した合成画像（図３（ｃ））を得ることができる。
【００２６】
なお、本実施形態において被写体領域抽出部１０３および被写体色情報登録部１１０で用いる所定の色空間とは多次元色空間であり、色情報はこの多次元色空間における座標値として記述することができる。一般によく知られている多次元色空間（表色系）としては、RGB、YIQ、YCbCr、YUV、HSV、Lu*v*、La*b*など様々なものが挙げられる（多次元色空間の例は、例えば日本規格協会、ＪＩＳ色彩ハンドブックを参照されたい）。
【００２７】
対象とする被写体の色彩特性に合わせて適当な色空間を用いてよいが、照明条件の相違による被写体の色彩特性の変化を相殺するために、輝度情報と色相情報とに分離する形式の表色系を用い、被写体色情報として色相情報だけを用いることが望ましい。このような表色系の代表的なものとしてはYIQやYCbCrが一般的である。以下、本実施形態では、YCbCr表色系を用いるとする。
【００２８】
図６は本実施形態の映像合成装置全体の流れを説明するフローチャ−トである。なお、図６の処理の開始に先立って、上述した被写体色情報登録部１１０により、ＣＧ画像よりも前景とすべき被写体領域を抽出するための被写体色情報を登録しておく（ステップＳ０）。なお、被写体色情報登録部１１０による被写体色情報の登録方法の詳細については、図７〜図９により後述する。また、本実施形態では映像合成装置を実時間で動作させるために、被写体色情報の登録作業をシステムの起動前に行っている。しかしながら、装置の能力に余力がある場合は、映像合成処理を行いながら被写体色情報を更新可能に構成することも可能である。
【００２９】
被写体色情報登録がなされた状態で起動されると、ステップＳ１で初期化処理など起動時に必要な処理を行う。ステップＳ２及びＳ３は被写体領域抽出部１０３の処理である。まずステップＳ２では、ビデオカメラ１０１で撮像した画像内の各画素の色空間をＲＧＢ空間から所定の色空間（被写体色情報登録部１１０で登録された被写体色を表す色空間で、本実施形態ではＹＣｂＣｒ色空間）へ変換する。ステップＳ３では、変換された各画素が被写体色情報登録部１１０に登録された被写体色と一致するかを調べる。登録されている被写体色と一致する画素には１の値を、一致しない画素は０の値を割当て、図４（ｂ）に示した２値のマスク画像（被写体領域画像）を生成する。
【００３０】
ステップＳ４では、画像生成部１０６が、カメラ位置姿勢計測部１０５から入力されたビデオカメラ１０１の位置姿勢及び仮想空間データベース１０７の描画情報に基づいて、当該位置姿勢から観察されるべきＣＧ画像を生成する。そして、画像合成部１０８では、ステップＳ３で得られたマスク画像（被写体領域画像）でこのＣＧ画像をマスク処理する。すなわち、ステップＳ４では、マスク画像により被写体領域をマスクされたコンピュータ映像が生成される。ステップＳ５では、ステップＳ４で生成されたマスク処理済みのＣＧ画像とビデオカメラ１０１より得られる実写画像を合成し、ＨＭＤ１０９に表示する。
【００３１】
その後、ステップＳ６で動作を終了する指示がなされたかどうかがチェックされ、終了指示がなければステップＳ２に戻り、上述の処理を繰り返す。終了指示があれば、ステップＳ６より本処理を終了する。
【００３２】
●（被写体色情報登録処理）
次に、被写体色情報登録部１１０による被写体色情報登録処理について、図５、図７及び図８を参照して説明する。
図５は被写体色情報登録部１１０の詳細を説明する図である。色変換部５０１は、ビデオカメラ１０１で撮影され、画像入力部１０２からディジタル画像データとして出力される画像データを所定の色空間（本実施形態ではＹＣｂＣｒ）の画像データに変換する。色空間が変換された画像データは背景色情報登録部５０２又は被写体色情報抽出部５０３へ与えられる。背景色情報登録部５０２は、色変換部５０１から受け取った画像データから背景色情報を登録する。被写体色情報抽出部５０３は、背景色情報登録部５０２に登録された背景色情報と、色変換部５０１から受け取った画像データから、被写体の色情報を抽出する。抽出した被写体色情報は、被写体色情報登録部５０４に格納される。
【００３３】
本実施形態においては、被写体が含まれない背景画像（図４（ａ）でユーザの手２０４が含まれない画像に対応）と、被写体が含まれる背景画像（図４（ａ）に相当）とを撮影し、これら二種類の画像のうち、被写体が含まれる背景画像にのみ含まれる色情報を検出して被写体色情報としている。
【００３４】
以下、図７及び図８をさらに参照し、被写体色情報登録処理についてさらに説明する。
まず、ステップＳ１２で、ビデオカメラ１０１及び画像入力部１０２を通じ、被写体が含まれない背景画像（以下、この背景画像を背景色情報ということがある）を取得する。なお、ステップＳ１２における背景画像取得の際は、背景画像に被写体の色情報がなるべく含まれないようにすることが重要である。
【００３５】
次に、ステップＳ１２で取得した画像をステップＳ１３で色変換部５０１によりYCbCr表色系へ変換する。色変換部５０１はこの背景画像データを背景色情報登録部５０２へ供給する。ステップＳ１４で、背景色情報登録部５０２は、色変換部５０１が変換した画像データ画像中に含まれている画素の色を抽出する。そして、十分な数のサンプルを得るため、ステップＳ１２からステップＳ１４までの処理を所定回数繰り返す（ステップＳ１５）。なお、ステップＳ１２〜Ｓ１４の繰り返し回数は任意である。そして、所定回数の繰り返しを終えると、ステップＳ１５からステップＳ１６へ進み、背景色情報登録部５０２は、ステップＳ１４において抽出した色を背景色情報として登録する。
【００３６】
以上のようにして背景色情報を登録したならば、続いて被写体色情報の登録を行なう。図８は被写体色情報の登録処理を説明するフローチャートである。
まず、ステップＳ２２で、ビデオカメラ１０１及び画像入力部１０２を介してこんどは被写体を含んだ背景画像を取得する。そして、ステップＳ２３で、ステップＳ２２で取得した背景画像データを色変換部５０１によりYCbCr表色系へ変換し、被写体色情報抽出部５０３へ供給する。ステップＳ２４で被写体色情報抽出部５０３は、色変換部５０１が変換した画像データ画像中に含まれている画素の色を抽出する。そして図７と同様にステップＳ２２からステップＳ２４までの処理を所定回数繰り返す（ステップＳ２５）。なお、ここでの繰り返し回数もまた任意であるが、被写体の角度を変え、被写体への照明の当たり具合が変化するようにして撮像した複数の画像について処理を繰り返すことが好ましい。
【００３７】
所定回数の繰り返しを終えると、ステップＳ２５からステップＳ２６へ進み、ステップＳ２４で抽出した色を一旦被写体色情報登録部５０４に格納する。そして、被写体色情報抽出部５０３は、背景色情報登録部５０２に登録されている背景色情報と、被写体色情報登録部５０４に登録されている色情報とを比較し、被写体色情報登録部５０４に格納されている色情報のうち、背景色情報として登録されていない色情報を被写体の色情報、すなわち被写体色情報として登録する（ステップＳ２７）。
【００３８】
なお、ここで用いる２種類の背景画像は、体験者がＨＭＤ１０９を装着し、背景と被写体を見ている状態で、操作者が操作画面をモニタしながら撮影することができる。この背景画像は色を抽出して利用するため、２種類の画像を撮影する際のカメラ位置は多少異なっていても問題ないが、背景に被写体の色情報を多く含むような画像を背景として登録すると、その部分は被写体色情報から削除されてしまうため、被写体色情報の精度が低下し、後述するノイズ領域の原因となる。そのため、ここでの撮影においては、背景に鏡面反射が起きないような、例えば布のようなものを用い、黒か青の単色の背景となるようにすることが好ましい。
【００３９】
また、他の方法によって被写体色情報を求めても良い。例えば、上述の方法では、２種類の背景画像のうち、被写体を含んだ背景画像にのみ含まれる色を被写体色情報としたが、２種類の背景画像から被写体領域を求め、被写体領域に含まれる画素の色を被写体色情報とすることもできる。２種類の背景画像から被写体領域を求める方法としては、例えば動画像圧縮技術で用いられるような動き検出技術を用い、２種類の背景画像の対応領域を求めて差分をとるなど様々な方法を用いることができる。あるいは、カメラを固定して画素レベルでの背景差分を取り、被写体領域のみを切り出した後、その領域内の色情報を登録するといった方法を用いても良い。
【００４０】
●（被写体領域抽出処理）
次に、このようにして登録した被写体色情報を用い、撮影された画像から被写体領域を抽出する被写体領域抽出部１０３の処理を図９のフローチャートにより説明する。
【００４１】
画像入力部１０２から供給される画像データの各画素について図９に示す処理を行い、被写体の領域を抽出する。まず、ステップＳ３１で、画像座標（i,j）（i,jはいずれも０以上の整数）の画素を表すＲＧＢ値（r(i,j)，g(i,j)，b(i,j)）を、YCbCr空間の座標値に変換する色空間変換関数（color_conversion）へ代入、演算することにより、画像座標（i,j）のＲＧＢ値のYCbCr空間での座標値（Y,cb,cr）を得る。そして、ステップＳ３２においてYCbCr空間での座標値（Y,cb,cr）を入力として、被写体色情報登録部１１０に登録されている被写体色情報を参照し、当該画素の色が、被写体色情報の領域に属するか否か（被写体色情報として登録されているか否か）を判定する。
【００４２】
すなわち、被写体領域判定関数mask_funcは、入力された座標値（Y,cb,cr）が被写体色情報の領域に属する場合には１を、そうでない場合には０を返す。このステップＳ３１及びＳ３２の処理を、全画素について実行することにより（ステップＳ３３）、被写体色情報に属するならば１、属さないならば０というように２値で表わされた被写体領域画像が生成される（図４（ｂ））。なお、被写体領域画像は、０から１までの連続値による確率分布で表現してもよい。
【００４３】
●（映像合成処理）
画像合成部１０８では、画像入力部１０１から供給される実写画像（図３（ａ））と、画像生成部１０６から供給されるＣＧ画像（図３（ｂ））とを、被写体領域抽出部１１０から供給される被写体領域画像（図４（ｂ））を用いて、目的とする合成画像（図３（ｃ））を生成する。画像合成部１０８は、画像入力部１０２より入力される実写画像を画像表示のための画像メモリであるフレームバッファと、マスク処理のための画像メモリであるステンシルバッファを有している。
【００４４】
画像合成部１０８での画像合成処理について、図１２のフローチャートを用いて説明する。ステップＳ５１では、画像入力部１０２より入力される実写画像real(i,j)をフレームバッファに転送する。ステップＳ５２では、被写体領域抽出部１０３で生成された、被写体領域の画素の値”１”、他の領域の画素の値”０”の二値被写体領域画像stencil(i,j)をステンシルバッファに転送する。ステップＳ５３では、画像生成部１０６によりＣＧ画像CGI(i,j)を生成して、各座標（i,j）の画素についてステンシルバッファの値Stencil(i,j)を参照し、Stencil(i,j)＝１、すなわち実写画像中の画素real（i,j）が被写体領域に含まれる場合には、対応するフレームバッファの画素buffer(i,j)を更新せず、Stencil(i,j)＝０、すなわち実写画像中の画素real（i,j）が被写体領域に含まれていないときのみ、buffer(i,j)の値をＣＧ画像の画素値CGI（i,j）によって置き換える。
【００４５】
その結果、被写体領域では常に実写画像の画素値がフレームバッファに描き込まれ、被写体領域でない領域では、ＣＧが重畳されている部分に関してはＣＧ画像の画素値がフレームバッファに描き込まれる。また、被写体領域でなくかつＣＧが重畳されない領域は実写画像がフレームバッファに描き込まれる。フレームバッファに書き込まれた画像は合成画像としてＨＭＤ１０９に表示される。
【００４６】
●（登録被写体色情報の修正処理）
理想的にはこれまで説明した処理により正しい合成画像が得られるはずであるが、実際には被写体色情報登録部１１０に登録された被写体色情報には、被写体の色情報に類似した、被写体とは異なる物体の色も含まれてしまうことがある。この場合、被写体領域画像（マスク画像）４０１には被写体領域以外にもマスク領域が存在することになる。すなわち、被写体色情報として、被写体以外の色が登録されていると、被写体領域外であるにもかかわらずＣＧ画像の描画が禁止され、背景画像が出現してしまう領域が発生する。
【００４７】
あるいは、被写体の色であるにもかかわらず、被写体色情報として登録されていない色が存在すれば、被写体領域中にＣＧ画像が描画されてしまう領域が発生する。本明細書においては、このように、被写体領域か非被写体領域かが正しく認識されなかった領域をノイズ領域と呼ぶ。
【００４８】
ノイズ領域を減少又は除去するには、登録されている被写体色情報を修正する必要がある。そして本実施形態に係る映像合成装置は以下に説明するように容易に被写体色情報を修正することが可能である。
【００４９】
図１０は被写体色情報調整画像の例と、本実施形態における映像合成装置において実現される登録被写体色情報の修正処理の概要を示す図である。被写体色情報調整画像は、被写体領域画像を、ＣＧ描画領域（非マスク領域）と、被写体領域（マスク領域）とで２色に色分けし、半透明表示して実写画像に重ね合わせた画像である。なお、図１０では図が煩雑にならないよう、本来は透けて見えている背景画像を図示していない。
【００５０】
被写体色情報調整画像１００１には、被写体領域１００３の外側と内側にノイズ領域１００４及び１００５が存在している。外側のノイズ領域１００４は背景の一部を被写体領域と誤認識した領域であり、内側のノイズ領域１００５は被写体領域であるにも関わらず背景であると誤認識した領域である。
【００５１】
このノイズを減少又は除去するためには、被写体色情報登録部１１０に登録されている被写体色情報に修正を加える必要がある。本実施形態の映像合成装置において、被写体色情報を調整する際には、通常の合成画像生成処理において被写体情報抽出部１０３で生成する被写体領域画像を、２値画像ではなく２色画像として生成し、不透明度の情報を付加して半透明画像とする。そして、画像合成部１０８では、ＣＧ画像の合成は行わず、透明度を考慮して被写体領域画像と実写画像のみを合成した被写体色情報調整画像を生成する。この際、実写画像はユーザ２０１がＨＭＤ１０９を被った状態で取得しても良いし、ユーザは同じ状態で、カメラのみ固定して取得しても良い。
【００５２】
被写体色情報調整画像は、画像合成部１０８により、所定のＧＵＩ(Graphical User Interface)とともに映像合成装置のオペレータ用モニタに表示される。そして、オペレータは被写体色情報調整画像を見ながら、マウスを操作し、ＧＵＩを介してマウスカーソル１００２で除去したいノイズ領域を塗り潰していく。具体的には、マウスカーソル１００２をドラッグすることで、マウスカーソル１００２がなぞった画素が塗りつぶされる。塗りつぶされた領域がオペレータに認識できるよう、被写体色情報調整画像のドラッグされた画素の色を、元の色から変更後の種別を表す色に変更することが好ましい。すなわち、被写体色情報調整画像において被写体領域が赤、それ以外の領域が青で表示され、被写体領域であるにもかかわらず検出されていなかったノイズ領域が塗りつぶされた場合には、塗りつぶされた画素の表示色を青から赤に変更する。また、ノイズ領域１００４のように背景に大きな領域のノイズが生じている場合はマウスに割り当てられた別のボタンをクリックしドラッグすることにより被写体色情報からその色を削除することもできる。
【００５３】
被写体色情報調整画像において塗り潰された領域に対応する実写画像の画像座標（i,j）のＲＧＢ値（r(i,j)，g(i,j)，b(i,j)）をYCbCr空間の座標値に変換する色空間変換関数（color_conversion）へ代入、演算することにより、画像座標（i,j）のＲＧＢ値のYCbCr空間での座標値（Y,cb,cr）を得る。塗りつぶされたノイズ領域が被写体領域内に存在していた場合には、得られたYCbCr空間での座標値（Y,cb,cr）を被写体色情報１００３に追加登録し、被写体領域に生じるノイズを減少させる。また、被写体領域外に存在するノイズ領域を塗りつぶした場合には、得られたYCbCr空間での座標値（Y,cb,cr）を被写体色情報から削除する。このどちらの操作を行うかは、塗りつぶしを行う前に、被写体色情報の追加（被写体領域内のノイズ領域除去）か、削除（被写体領域外のノイズ領域除去）かを、操作画面中のメニューを選択することによって指定することができる。あるいは、マウスの左クリックは「追加」、右クリックは「削除」のように、入力デバイスのキーやボタンに追加、削除の選択機能を割り当てても良い。
【００５４】
被写体色情報調整処理について、図１１のフローチャートを用いてさらに説明する。まず、ビデオカメラ１０１より被写体および背景が同時に移された画像を取得する。このとき取得する画像としては、合成画像の背景や被写体にノイズ領域が観察される画像であることが好ましい（ステップＳ４２）。ステップＳ４３ではステップＳ４２で取得した画像を元に、被写体色情報登録部５０４に登録された色情報から被写体領域のマスク画像を作成する。作成したマスク画像を被写体領域とそれ以外の領域（背景領域）の二つに分け、それぞれを色分けして実写画像に重ねて被写体色情報調整画像を作成し、ＧＵＩを用いてオペレータに提示する（ステップＳ４４）。被写体色情報調整画像において、被写体領域画像を半透明画像とすることで、ノイズ領域が背景画像のどのような領域に対応しているのかを確認できるため、オペレータのノイズ領域塗りつぶし操作が容易になる。
【００５５】
ステップＳ４５では、被写体色情報調整画像において、オペレータが被写体色情報として登録又は削除したい領域としてマウスカーソルで塗り潰した領域をＧＵＩを介して取得し、塗りつぶされた領域に対応する実写画像のＲＧＢ値（r(i,j)，g(i,j)，b(i,j)）を取得する。そして、ステップＳ４６で、これらＲＧＢ値を被写体色空間情報の色空間であるYCbCr空間へ変換する。ステップＳ４７では、ステップＳ４６で変換されたYCbCr空間の座標値（色情報）を、被写体色情報登録部５０４に追加するか、登録内容から削除する。追加または削除の指定方法としては、上述したように塗りつぶし前にメニューから指定しておく方法以外にも、マウスボタンの左クリックした状態を追加指定、右クリックした状態を削除指定とする、などが考えられる。そして、ステップＳ４５〜Ｓ４７の操作を繰り返し被写体色情報の調整を十分に行う。ステップＳ４８で調整終了指示があった場合には処理を終了する。
【００５６】
以上説明したように、本実施形態によれば、ＣＧ画像の背景画像となるべき背景と、ＣＧ画像の前景となるべき被写体とを同時に撮影した撮影画像と、被写体が存在しない状態の撮影画像とから、被写体の色情報を容易かつ自動的に登録することができる。そのため、装置の使用環境が変わっても、その場で適切な被写体色情報を登録することが可能となる。
【００５７】
また、登録した色情報の修正を容易に行うことが可能であるため、より精度の高い合成画像の提供を容易に達成することができる。
【００５８】
●（他の実施形態）
なお、上述の実施形態においては、説明及び理解を容易にするため、ビデオカメラ、画像入力部及びＨＭＤといった、被写体検出情報としての被写体色情報の取得、登録や、登録した被写体色情報の調整に係る構成を含んだ映像合成装置について説明した。しかし、これら構成は必須ではなく、ディジタル化された画像信号を受け取って、被写体検出情報としての被写体色情報の取得、登録や、登録した被写体色情報の調整を行うことが可能であればどのような構成であっても良い。
【００５９】
また、上述の実施形態においては、１つの機器から構成される映像合成装置についてのみ説明したが、同等の機能を複数の機器から構成されるシステムによって実現しても良い。
【００６０】
尚、前述した実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線／無線通信を用いて当該プログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを実行することによって同等の機能が達成される場合も本発明に含む。
【００６１】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。
【００６２】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００６３】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記録媒体、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ等の光／光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【００６４】
有線／無線通信を用いたプログラムの供給方法としては、コンピュータネットワーク上のサーバに本発明を形成するコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイル等、クライアントコンピュータ上で本発明を形成するコンピュータプログラムとなりうるデータファイル（プログラムデータファイル）を記憶し、接続のあったクライアントコンピュータにプログラムデータファイルをダウンロードする方法などが挙げられる。この場合、プログラムデータファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに配置することも可能である。
【００６５】
つまり、本発明の機能処理をコンピュータで実現するためのプログラムデータファイルを複数のユーザに対してダウンロードさせるサーバ装置も本発明に含む。
【００６６】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件を満たしたユーザに対して暗号化を解く鍵情報を、例えばインターネットを介してホームページからダウンロードさせることによって供給し、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６７】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００６８】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【図面の簡単な説明】
【００６９】
【図１】本発明の実施形態に係る映像合成装置の構成例を示すブロック図である。
【図２】図１に示す映像合成装置の使用時の状態を模式的に示す図である。
【図３】実施形態に係る映像合成装置が生成する合成画像と、その元となる画像との関係を説明する図である。
【図４】実施形態に係る映像合成装置が生成する被写体領域画像について説明する図である。
【図５】図１における被写体色情報登録部の構成例を示すブロック図である。
【図６】本発明の実施形態に係る映像合成装置の全体的な処理の流れを示すフローチャートである。
【図７】実施形態における背景色情報登録の処理を説明するフローチャートである。
【図８】実施形態における被写体色情報登録の処理を説明するフローチャートである。
【図９】実施形態における被写体領域抽出処理を説明するフローチャートである。
【図１０】実施形態における被写体色情報の調整処理について説明する図である。
【図１１】実施形態における被写体色情報調整処理を説明するフローチャートである。
【図１２】実施形態における画像合成処理を説明するフローチャートである。
【図１】
2005228140.tif 000003
【図２】
2005228140.tif 000004
【図３】
2005228140.tif 000005
【図４】
2005228140.tif 000006
【図５】
2005228140.tif 000007
【図６】
2005228140.tif 000008
【図７】
2005228140.tif 000009
【図８】
2005228140.tif 000010
【図９】
2005228140.tif 000011
【図１０】
2005228140.tif 000012
【図１１】
2005228140.tif 000013
【図１２】
2005228140.tif 000014