説明

画像処理装置、画像処理方法

【課題】 画像の画像情報を削減する為の処理を行う場合に生じる、異なる領域間での色ずれを解消するための技術を提供すること。
【解決手段】 注目ライン上の注目画素と、注目画素より1つ前の前画素とで、位置する属性領域が異なる場合、注目画素の輝度値と色差値とをこの順で、注目ラインに対して設定したデータパケット内に記録済みのデータに隣接させて記録する(S811)。注目画素が位置する属性領域と、前画素が位置する属性領域とが同じ場合、注目画素の輝度値を、データパケット内に記録済みのデータに隣接させて記録する(S812)。1ラインを構成する各画素について上記記録処理を行うことで完成するデータパケットを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、現実空間画像と仮想空間画像とを合成するための技術に関するものである。
【背景技術】
【0002】
従来、画素値がR(Red、赤)、G(Green、緑)、B(Blue、青)で表現される画素で構成されている画像の画像情報を圧縮する方法の1つとして、次のようなものが提案されている。即ち、RGB画素データをYUV画素データやYCbCr画素データのような輝度データと色差データとのセットに変換し、そのうち、色差データの空間解像度を落とすことで情報量を削減する、即ち、画像情報を圧縮する方法がある。具体的には、画像を複数の画素グループ毎に分割し、それぞれの画素グループにおいて、画素グループ内の各画素の輝度値はそのまま保存し、色差値については画素グループ内の代表値のみを保存することで、色差データの空間解像度を落としている。この方法は、明るさの変化には敏感ではあるが、色の変化には鈍感であるという人間の目の特性に基づいており、人間が見た際に画像品質の劣化を感じにくく、効率的な圧縮手法として広く用いられている。
【0003】
しかしながら、このような色空間変換を利用した圧縮手法は、画像中の境界近傍で色ズレが発生しやすいといった問題があることが知られている。
【0004】
図2は、色空間変換を利用した画像情報の圧縮に伴う色ズレを説明する図である。
【0005】
図2において201は、球体のオブジェクトの領域201aと、背景領域201bと、で構成されている画像であって、係る画像201を構成する各画素はRGB色空間における画素値を有している。また、画像201内において202,203はそれぞれ、領域201aと201bとの境界部分における領域を示す。
【0006】
図2の中部に示す如く、それぞれの領域202,203を拡大すると、係る領域202,203内には複数の画素が含まれており、実線で示す如く、1行4列の画素群(画素グループ)毎に画像は管理されている。ここで、上述のように、画像情報の削減を行うべく、画像201を構成する各画素の画素値を輝度値、色差値に変換し、その後、画素グループを構成するそれぞれの画素の色差値を、係る画素グループの開始位置に位置する画素の色差値に統一する。
【0007】
図2の下部には、上述のようにして画像情報を削減した領域202,303内の各画素の画素値をRGB色空間におけるものに変換した領域202、203内の各画素を示している。上述のようにして領域202,303内の画像情報を削減すると、206で示す如く、画素グループ内で開始位置の次の位置以降の各画素の色差値は元の色差値から変わってしまう。従って、このような各画素の画素値をRGB色空間におけるものに変換すると、画素グループ内で開始位置の次の位置以降の各画素のRGB値は元のRGB値とは大きく異なってしまう可能性がある。ここで、画素206が、領域202と領域203との境界部分に位置する画素である場合、境界付近では色ずれが生じてしまう。
【0008】
境界近傍の画素の色ズレを補正し、画質劣化を抑制する技術は、すでに開示されている(特許文献1)。係る技術によれば、水平主走査方向に沿って並んでいる各画素の輝度値と色差値とを、画像メモリに格納する。そして、輝度変化が所定値以上となるエッジ始点とエッジ終点を検出し、エッジ始点に先続する画素の色差と、エッジ終点に後続する画素の色差を画像メモリ内の色差を用いて補正する。
【特許文献1】特開平6−296285号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかしながら、上述した従来の技術には以下のような問題があった。
【0010】
輝度変化の大きさによってエッジを検出する手法では、例えば、見た目の色の差が大きくても、境界近傍画素の輝度が同程度となる場合、エッジを検出することができない。その結果、境界部分の色ズレが非常に大きくなる。これは特に、クロマキー合成等、忠実な背景分離が必要とされる場合には支障をきたし、画質劣化や違和感のある画像を生成してしまうなどの問題を生じることとなる。
【0011】
本発明は以上の問題に鑑みてなされたものであり、画像の画像情報を減少させる為の処理を行う場合に生じる、異なる領域間での色ずれを解消するための技術を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【0013】
即ち、非背景領域と、予め設定された輝度値と色差値を有する画素群で構成されている背景領域との属性領域で構成されている画像を入力する入力手段と、
前記画像を構成する各画素の輝度値と色差値とを順次読み取る読み取り手段と、
注目画素について前記読み取り手段が読み取った輝度値と色差値とに基づいて、当該注目画素が前記背景領域内に属しているのか前記非背景領域内に属しているのかを判断する判断手段と、
前記注目画素が属している属性領域と、前記読み取り手段による読み取り順において前記注目画素よりも1つ前の前画素が属している属性領域とが異なる場合には、前記注目画素の輝度値と色差値とを、前記前画素が属するグループとは異なるグループのデータとして記録し、前記注目画素が属している属性領域と、前記前画素が属している属性領域とが同じである場合には、前記注目画素の輝度値を、前記前画素が属するグループ内に既に記録済みのデータに隣接させて記録する記録手段と
前記記録手段により記録された前記データを出力する出力手段と
を備えることを特徴とする。
【0014】
本発明の目的を達成するために、例えば、本発明の画像処理装置は以下の構成を備える。
【0015】
即ち、前記出力手段から出力されたデータを復号することで、前記画像の表示データを生成する画像処理装置であって、
前記出力手段が出力したデータを受信する受信手段と、
前記データの先頭から順に、前記データ内に記録されている輝度値若しくは色差値を、読み出し値として読み出す手段と、
前記読み出し値として輝度値を読み出した場合、当該輝度値が、前記非背景領域内に属する画素の輝度値であるのか、前記背景領域内に属する画素の輝度値であるのかを判断する手段と、
読み出した注目輝度値に対応する画素が属する属性領域と、当該注目輝度値よりも1つ前に読み出された輝度値に対応する画素が属する属性領域とが異なる場合には、前記注目輝度値に隣接して後続する色差値を注目色差値として読み出し、当該注目色差値を、当該注目色差値以降に読み出される輝度値と共に用いて画素を復元するために用いられる設定値として設定すると共に、前記注目輝度値と前記注目色差値とに基づいて1つの画素を復元する手段と、
読み出した注目輝度値に対応する画素が属する属性領域と、当該注目輝度値よりも1つ先に読み出される輝度値に対応する画素が属する属性領域とが同じである場合には、当該読み出した注目輝度値と、当該注目輝度値が読み出される前に前記設定値として設定されている色差値と、に基づいて1つの画素を復元する手段と、
復元された画素の色空間を変換して、表示データを生成する手段と
を備えることを特徴とする。
【0016】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【0017】
即ち、非背景領域と、予め設定された輝度値と色差値を有する画素群で構成されている背景領域との属性領域で構成されている画像を入力する入力工程と、
前記画像を構成する各画素の輝度値と色差値とを順次読み取る読み取り工程と、
注目画素について前記読み取り工程で読み取った輝度値と色差値とに基づいて、当該注目画素が前記背景領域内に属しているのか前記非背景領域内に属しているのかを判断する判断工程と、
前記注目画素が属している属性領域と、前記読み取り工程による読み取り順において前記注目画素よりも1つ前の前画素が属している属性領域とが異なる場合には、前記注目画素の輝度値と色差値とを、前記前画素が属するグループとは異なるグループのデータとして記録し、前記注目画素が属している属性領域と、前記前画素が属している属性領域とが同じである場合には、前記注目画素の輝度値を、前記前画素が属するグループ内に既に記録済みのデータに隣接させて記録する記録工程と
前記記録工程により記録された前記データパケットを出力する出力工程と
を備えることを特徴とする。
【0018】
本発明の目的を達成するために、例えば、本発明の画像処理方法は以下の構成を備える。
【0019】
即ち、前記出力工程で出力されたデータを復号することで、前記画像の表示データを生成する画像処理装置が行う画像処理方法であって、
前記出力工程で出力したデータを受信する受信工程と、
前記データの先頭から順に、前記データ内に記録されている輝度値若しくは色差値を、読み出し値として読み出す工程と、
前記読み出し値として輝度値を読み出した場合、当該輝度値が、前記非背景領域内に属する画素の輝度値であるのか、前記背景領域内に属する画素の輝度値であるのかを判断する工程と、
読み出した注目輝度値に対応する画素が属する属性領域と、当該注目輝度値よりも1つ前に読み出された輝度値に対応する画素が属する属性領域とが異なる場合には、前記注目輝度値に隣接して後続する色差値を注目色差値として読み出し、当該注目色差値を、当該注目色差値以降に読み出される輝度値と共に用いて画素を復元するために用いられる設定値として設定すると共に、前記注目輝度値と前記注目色差値とに基づいて1つの画素を復元する工程と、
読み出した注目輝度値に対応する画素が属する属性領域と、当該注目輝度値よりも1つ先に読み出される輝度値に対応する画素が属する属性領域とが同じである場合には、当該読み出した注目輝度値と、当該注目輝度値が読み出される前に前記設定値として設定されている色差値と、に基づいて1つの画素を復元する工程と、
復元された画素の色空間を変換して、表示データを生成する工程と
を備えることを特徴とする。
【発明の効果】
【0020】
本発明の構成によれば、画像の画像情報を減少させる為の処理を行う場合に生じる、異なる領域間での色ずれを解消することができる。
【発明を実施するための最良の形態】
【0021】
以下、添付図面を参照し、本発明の好適な実施形態について詳細に説明する。
【0022】
[第1の実施形態]
図3は、本実施形態に係るシステムの構成例を示す図である。図3に示す如く、本実施形態に係るシステムは、頭部装着型表示装置の一例としてのHMD(ヘッドマウントディスプレイ)301とコントローラ302とにより構成されている。そして、コントローラ302とHMD301とは互いにデータ通信が可能なように接続されている。係る接続に関しては、無線、有線の何れでも良い。
【0023】
先ず、HMD301について説明する。HMD301は周知の如く、観察者の頭部に装着するものであり、係る観察者の眼前に画像を提供する為のものである。本実施形態では、HMD301は、コントローラ302から送出された画像を、係るHMD301を頭部に装着した観察者の眼前に表示する。HMD301は、コントローラ302からの電源供給によって動作しても良いし、自身が有するバッテリーからの電源供給によって動作しても良い。なお、HMD301の代わりに、双眼鏡のような手持ちタイプの表示装置を用いても良く、頭部装着型表示装置に限定するものではない。
【0024】
次に、コントローラ302について説明する。コントローラ302は、HMD301に送出する為の画像を生成し、生成した画像をHMD301に送信する。詳しくは後述するが、コントローラ302は画像に対する処理として、画像の解像度変換、色空間変換、光学系の歪み補正等の各種画像処理や、伝送フォーマット変換等の処理を行う。
【0025】
本実施形態では係る構成において、HMD301は観察者の視点の位置姿勢情報を求め、コントローラ302に転送する。コントローラ302は係る位置姿勢情報を用いて仮想空間画像を生成し、生成した仮想空間画像の情報量を減少させ(圧縮し)、その結果をHMD301に送出する。HMD301は、係る結果に基づいて復号した仮想空間画像と、HMD301が有する後述の撮像部が撮像した現実空間画像とのクロマキー合成を行うことで合成画像を生成し、生成した合成画像を、自身が有する表示部に表示する。
【0026】
図4は、クロマキー合成について説明する図である。図4において401は、現実空間を撮像することによって得られる現実空間画像である。また、402は、仮想物体(オブジェクト)が配された仮想空間を任意の視点から見た仮想空間画像であって、仮想空間画像402は、仮想物体が描画されている領域403(オブジェクト領域)と、背景領域404の、2つの属性領域によって構成されている。背景領域404は、予め設定されたクロマキー色を有する画素群で構成された領域である。
【0027】
コントローラ302側で仮想空間画像402を生成し、HMD301に送出すると、HMD301は、自身が有する後述の撮像部によって撮像した現実空間画像401と、コントローラ302から受けた仮想空間画像402とのクロマキー合成を行う。その結果、合成画像405を生成する。係るクロマキー合成では、仮想空間画像402上の各画素値を参照し、クロマキー色を示す画素値を有する画素については、現実空間画像401上の対応する画素に置き換える。これにより、仮想空間画像402において、背景領域404を現実空間画像401上の対応する領域に置き換えた合成画像405を生成することができる。
【0028】
図1は、図3に示したシステムの機能構成例を示すブロック図である。上述の通り、本実施形態に係るシステムは、コントローラ302とHMD301とで構成されており、それぞれは互いにデータ通信が可能なように無線若しくは有線で接続されている。
【0029】
先ず、HMD301について説明する。
【0030】
三次元位置姿勢センサ103は、自身の位置姿勢を計測するためのものであり、その計測結果は後段の位置姿勢情報生成部104に位置姿勢情報として送出される。三次元位置姿勢センサ103には、磁気式センサ、光学式センサ、超音波式センサなど、様々なセンサを適用することができる。
【0031】
撮像部101は、HMD301を頭部に装着した観察者の目の近傍に位置するようにHMD301に取り付けられたものであり、自身の位置から自身の姿勢に応じて見える現実空間の動画像を撮像する。撮像した各フレームの画像(現実空間画像)は、位置姿勢情報生成部104、クロマキー合成部105に送出される。
【0032】
表示部102は、クロマキー合成部105から送出される画像を表示する。表示部102は、HMD301を頭部に装着した観察者の眼前に位置するようにHMD301に取り付けられたものであるので、HMD301を装着した観察者の眼前には、クロマキー合成部105から送出された画像が表示されることになる。
【0033】
位置姿勢情報生成部104は、撮像部101から受けた現実空間画像と、三次元位置姿勢センサ103から送出された位置姿勢情報と、を用いて、撮像部101の位置姿勢を求める。位置姿勢情報生成部104が行う処理については周知の技術であるので、これについての説明は省略する。なお、位置姿勢情報生成部104が撮像部101の位置姿勢を求めるための処理についてはこれに限定するものではなく、様々な方法がある。例えば、三次元位置姿勢センサ103から送出された位置姿勢情報に、予め測定した三次元位置姿勢センサ103と撮像部101との位置姿勢関係を加えたものを、撮像部101の位置姿勢として求めても良い。また、撮像部101からの現実空間画像中に写っている対象物を指標として用いることで、撮像部101の位置姿勢を求めても良い。また、位置姿勢情報生成部104は、HMD301内に設けず、コントローラ302側に設けても良い。その場合、HMD301からは、三次元位置姿勢センサ103による計測結果としての位置姿勢情報のみをコントローラ302に送出する。そしてコントローラ302側に設けた位置姿勢情報生成部104は、係る位置姿勢情報を用いて上述の通りの処理を行い、撮像部101の位置姿勢を求める。
【0034】
何れの方法を用いるにせよ、位置姿勢情報生成部104は、求めた撮像部101の位置姿勢を示す位置姿勢情報を、後段のI/F(インターフェース)106に送出する。
【0035】
I/F106は係る位置姿勢情報をコントローラ302に送出する。また、I/F106は、コントローラ302から送出される、後述の画像情報(データパケット)を受けると、これを復号部111内の境界判断部108に送出する。復号部111内の各部については後述する。先にコントローラ302について説明する。
【0036】
I/F112は、I/F106から送出された位置姿勢情報を受けると、これを後段のCG(コンピュータグラフィックス)描画部113に送出(出力)する。また、I/F112は、コントローラ302が後述する処理により生成した画像情報をHMD301に対して送出する。
【0037】
CG描画部113は、自身が保持する仮想空間のデータに基づいて仮想空間を構築する。そして構築した仮想空間を、I/F112から受けた位置姿勢情報が示す位置姿勢を有する視点から見た画像を、仮想空間画像として生成する。なお、仮想空間画像は、仮想物体が描画されているオブジェクト領域(非背景領域)と、予め設定されたクロマキー色を有する背景領域と、の2つの属性領域で構成されている。そして生成した仮想空間画像を、後段の変換部120内の色空間変換部114に送出する。
【0038】
色空間変換部114は、CG描画部113から受けた仮想空間画像を構成する各画素の画素値がRGB値を表すものである場合には、係る画素値を、輝度成分、色差成分のセットを示す画素値に変換する。即ち、仮想空間画像を構成する各画素の画素値が示す色成分を、輝度成分、色差成分に変換する。例えば、仮想空間画像を構成する各画素の画素値を、YUV、YCbCr等の輝度成分、色差成分のセットで表現される画素値に変換する。そして係る変換済みの仮想空間画像を後段の境界検出部116に対して送出する。もちろん、CG描画部113から受けた仮想空間画像を構成する各画素の画素値が輝度値、色差値を示すものである場合には、色空間変換部114は係る仮想空間画像に対して何も処理せず、そのまま係る仮想空間画像を後段の境界検出部116に送出する。
【0039】
背景情報格納部115には、上記クロマキー色の輝度値、色差値を示すデータが格納されている。なお、背景情報格納部115が保持しているデータと同じものが、HMD301が有する後述の背景情報格納部107にも保持されている。更に、背景情報格納部107には、クロマキー色を示すRGB値のデータも格納されている。
【0040】
境界検出部116は、色空間変換部114から色空間変換済みの仮想空間画像を受けると、係る仮想空間画像を構成するライン毎に、ラインを構成する各画素の輝度値、色差値を順次読み取る(参照する)。読み取り順は、ライン毎に、ラインの一端側から他端側に読み取る。そして、読み取った輝度値、色差値が、背景情報格納部115に保持されている輝度値、色差値と一致しているか否かを判断する。ここで、本実施形態において「一致」なる文言は「値として完全に同じである」という意味で解釈されるべきではなく、「予め設定された範囲内に収まっている」という意味で解釈されるべきである。そして、一致していると判断された画素は、背景領域内に位置している画素として判断され、一致していないと判断された画素については、オブジェクト領域内に位置している画素として判断される。
【0041】
輝度変更部117は、境界検出部116がオブジェクト領域内に位置していると判断した画素の輝度値xと、背景情報格納部115に保持されている輝度値yとの大小比較を行い、x≧yであれば、輝度値xを増加させる。増分については特に限定するものではないが、本実施形態では「+1」とする。なお、係る輝度値の制御処理は、背景領域の画素とオブジェクト領域の画素が、同じ輝度値を有することがないようにするためのものであるので、このような画素がない場合には、係る輝度値の制御処理は行わなくても良い。
【0042】
変換制御部118は、後述する各処理によって、先頭画素位置(後述)をライン中の複数箇所に設定する。
【0043】
画素グループ生成部119は、設定された先頭画素位置を先頭とする予め定められた長さ(=L)を有する画素列内で、先頭画素位置以降の連続した画素位置に、先頭画素位置と同じ属性領域内に位置する画素として並んでいる画素群を特定する。そして係る先頭画素位置における画素と、係る画素群とで構成される画素グループを決定する。そして、先頭画素位置における画素の輝度値と色差値(この順で)、係る画素群のそれぞれの輝度値、を、ライン毎に設定されるデータパケット内に、既に記録済みのデータに隣接させて記録する。そして、ライン中の各箇所に設定された先頭画素位置毎にデータパケットに上記記録処理を行うことで、「1ライン分のデータパケット」を完成させることができる。従って、係る「1ライン分のデータパケット」をI/F112に送出するので、I/F112は係るデータパケットを画像情報としてHMD301に送出する。尚、パケット伝送に限らず、画素ごとに順次処理した画像情報をパケット化せずにストリーム伝送するように構成しても良い。
【0044】
I/F106は係るデータパケットを受信すると、これを復号部111内の境界判断部108に送出する。
【0045】
境界判断部108は先ず、受信したデータパケットに基づいて、仮想空間画像を復号する。より詳しくは、次の通りである。先ず、注目ラインにおけるデータパケットを受信したとする。先ず、データパケットの先頭から順に、データパケット内に記録されている輝度値若しくは色差値を、読み出し値として読み出す。ここで、データパケット内の記録されているものは上述の通り、輝度値と色差値の2種類であるが、始めは必ず輝度値から読み出すことになる。従って、読み出し値として輝度値を読み出した場合、この輝度値が、背景情報格納部107に格納されている輝度値に一致するか否かを判断する。係る判断の結果、一致する場合には、読み出した輝度値の画素は背景領域内に位置する画素であると判断することができる。一方、一致しなかった場合には、読み出した輝度値の画素は、オブジェクト領域内に位置する画素であると判断することができる。
【0046】
そして、読み出した輝度値(注目輝度値)の画素(注目画素)が属する属性領域と、注目輝度値よりも1つ前に読み出された輝度値の画素が属する属性領域とが異なる場合には、注目輝度値に隣接して後続する色差値を読み出す。そして、読み出した色差値を、この色差値以降に読み出される輝度値と共に用いて画素を復元するために用いる設定値として設定する。そして、注目輝度値とこの色差値とに基づいて1つの画素を復元する。
【0047】
一方、読み出した注目輝度値の注目画素が属する属性領域と、注目輝度値より1つ前に読み出された輝度値の画素が属する属性領域とが同じである場合には、注目輝度値と、上記設定値として設定されている色差値と、に基づいて1つの画素を復元する。以上の処理をデータパケットに対して行うことで、1ライン分の仮想空間画像を復号することができる。そして、このような復号処理を、データパケットを受ける毎に行うことで、複数ラインの仮想空間画像を復号することができる。
【0048】
輝度復元部109は、仮想空間画像を構成する各画素のうち、オブジェクト領域内に位置していると判断された画素の輝度値を、上記輝度変更部117が変更した分だけ元に戻す。例えば、輝度変更部117が「+1」だけ輝度値を増加させた場合には、輝度復元部109は「+1」だけ輝度値を減じる。そして、輝度復元部109により復元された仮想空間画像は後段の色空間変換部110に送出される。
【0049】
色空間変換部110は、上記色空間変換部114が行った変換処理の逆変換処理を行い、輝度復元部109から受けた仮想空間画像中の各画素の画素値の色空間をRGBに変換する。色空間変換部110により各画素の色空間がRGBに変換された仮想空間画像は、後段のクロマキー合成部105に送出される。
【0050】
クロマキー合成部105は、色空間変換部110から受けた仮想空間画像と撮像部101から受けた現実空間画像とのクロマキー合成を行う。より詳しくは、仮想空間画像を構成する画素の画素値を参照し、背景情報格納部107に格納されているクロマキー色のRGB値と一致している場合には、係る画素の画素値を、現実空間画像上において対応する位置の画素の画素値に更新する。一方、一致していない場合には、何も処理は行わない。
【0051】
次に、変換制御部118、画素グループ生成部119が行う、データパケットの生成処理について、図5,6を用いて説明する。
【0052】
図5は、画像についての情報量を減少させるために、予め定められた長さの画素列毎に色差値を統一する、従来技術を説明する図である。
【0053】
図5において501は、画素N1〜N13による画素列を示す。図5では、画素N1〜N6、N12,N13は背景領域内に位置する画素で、画素N7〜N11は、オブジェクト領域内に位置する画素である。図5に矢印で示す如く、画素N1から画素N13へ向かう方向を、処理、伝送を行う際の走査方向とする。
【0054】
502は、画素N1〜N13のそれぞれのRGB値を示しており、例えば、画素N4のR、G、Bのそれぞれの値はr1,g1,b1であり、画素N8のR、G、Bのそれぞれの値はr3,g3,b3である。
【0055】
503は、画素N1〜N13の色空間(RGB色空間)をYUV色空間に変換した場合における、画素N1〜N13の各画素値を示す。
【0056】
ここで、画素N1〜N13を4画素毎にグループ分割し、それぞれの画素グループ(太線内)内で色差値を統一することで、画像全体の情報量が削減される。そこで、画素グループ内の先頭画素位置における画素の色差値をこの画素グループの代表色差値とし、この画素グループ内の各画素の色差値をこの代表色差値とする。
【0057】
504は、画素グループ毎に代表色差値で色差値を統一した場合における、画素N1〜N13の画素値を示している。504に示す如く、最初の画素グループ504aの先頭画素位置における色差値u1、v1を、この画素グループ504a内の各画素の色差値としている。2番目の画素グループ504bの先頭画素位置における色差値u1、v1を、この画素グループ504b内の各画素の色差値としている。3番目の画素グループ504cの先頭画素位置における色差値u4、v4を、この画素グループ504c内の各画素の色差値としている。
【0058】
505は、504に示した各画素の画素値をYUVからRGBに色空間変換する前の各画素のYUVの画素値を示している。
【0059】
このように、画素グループ内の先頭画素位置以外の画素位置におけるそれぞれの画素のオリジナルの色差情報については削除するので、画像全体の情報量を削減することはできる。しかし504に示す如く、オブジェクト領域内の画素である画素N7、N8の色差値は、背景領域内の画素である画素N5の色差値に変更されている。また、背景領域内の画素である画素N12の色差値は、オブジェクト領域内の画素である画素N9の色差値に変更されている。
【0060】
このような処理を行った画像の色空間をRGB色空間に変換すると、クロマキー合成に用いても、境界1,2付近では色ずれが発生する。例えば、画素N12に関しては、本来は背景領域内における画素であったものの、上記処理を行ったが故に、オブジェクト領域内の色差を持った画素となっている。従って、クロマキー合成を行う際に、係る画素N12については背景領域内の画素と見なされなくなってしまう。
【0061】
本実施形態は係る問題に鑑み、オブジェクト領域、背景領域のように異なる属性領域の境界を画素グループがまたぐことを禁止し、画素グループが同じ属性領域内で収まるように、画素グループの先頭画素位置を制御する。
【0062】
図6は、画素グループの先頭画素位置を制御することによって、画素グループ毎に色差値を統一する処理を説明する図である。
【0063】
図6において601は、画素N1〜N13による画素列を示す。図6では、画素N1〜N6、N12,N13は背景領域内に位置する画素で、画素N7〜N11は、オブジェクト領域内に位置する画素である。図6に矢印で示す如く、画素N1から画素N13へ向かう方向を、処理、伝送を行う際の走査方向とする。
【0064】
602は、画素N1〜N13のそれぞれのRGB値を示しており、例えば、画素N4のR、G、Bのそれぞれの値はr1,g1,b1であり、画素N8のR、G、Bのそれぞれの値はr3,g3,b3である。
【0065】
603は、画素N1〜N13の色空間(RGB色空間)をYUV色空間に変換した場合における、画素N1〜N13の各画素値を示す。
【0066】
ここで、本実施形態においても、画素N1〜N13を4画素毎にグループ分割し、それぞれの画素グループ(太線内)内で色差値を統一することで、画像全体の情報量を削減することを基本としている。しかし、画素グループ中の注目画素の属する属性領域が、注目画素より1画素分、先頭画素位置寄りの画素位置における画素(前画素)の属する属性領域とは異なる場合、本実施形態では、前画素までを1つの画素グループとする。そして注目画素位置を先頭画素位置とする新たな画素グループを設定し、以降は同じ処理を行う。
【0067】
604は、画素グループ毎に代表色差値で色差値を統一した場合における、画素N1〜N13の画素値を示している。604に示す如く、最初の画素グループ604a内の各画素は何れも同じ属性領域(背景領域)内に属している。従って、上記画素グループ504aと同様、係る画素グループ604a内の先頭画素位置における色差値u1、v1を、この画素グループ604a内の各画素の色差値としている。次に、従来であれば画素グループ504bに示す如く、2番目の画素グループは、背景領域とオブジェクト領域とにまたがってしまう。図5では、画素N5、N6が属する属性領域(背景領域)と、画素N7、N8が属する属性領域(オブジェクト領域)とは異なっている。そこで本実施形態では、画素N5、N6を1つの画素グループ604bとし、係る画素グループ604bの先頭画素位置における色差値u1、v1を、この画素グループ604b内の各画素の色差値としている。次に、画素N7の画素位置を先頭画素位置とする4画素の画素グループを新たに設定するのであるが、係る画素グループ内の各画素は何れも同じ属性領域(オブジェクト領域)内に属している。従って、係る画素グループ604c内の先頭画素位置における色差値u2、v2を、この画素グループ604c内の各画素の色差値としている。なお、604c内の輝度値y2’、y3’、y4’、y5’、Y6’のそれぞれは、輝度変更部117において輝度値を増加させた値である。
【0068】
605は、604に示した各画素の画素値をYUVからRGBに色空間変換する前の各画素のYUVの画素値を示している。
【0069】
図6に示す如く、本実施形態に係る画素グループの作成方法によれば、異なる属性領域間にまたがって画素グループを作成すること、即ち、異なる属性領域にまたがって同じ色差値に統一することは避ける。これにより、異なる属性領域間における上記色ずれの問題は解消することができる。
【0070】
図7は、コントローラ302が行う、画像情報生成処理のフローチャートである。なお、図7に示したフローチャートに従った処理は、仮想空間画像中の1つの画素について行う処理であり、実際には係る処理を、仮想空間画像を構成する全ての画素について行うことになる。また、図7に示したフローチャートに従った処理を介する前段では既に、CG描画部113は、各画素の画素値がRGB値で表現されている仮想空間画像を生成し、生成した仮想空間のデータを後段の色空間変換部114に送出している。色空間変換部114は、仮想空間画像を構成する各画素の画素値を、例えばラスタースキャン順に読み取る。
【0071】
ステップS801では、色空間変換部114は、注目ラインにおける注目画素の画素値を読み取る。
【0072】
ステップS802では、色空間変換部114は、ステップS801で読み取った画素値がRGB値を表すものである場合には、係る画素値を、輝度成分、色差成分のセットを示す画素値に変換する。そして係る変換済みの画素値を後段の境界検出部116に対して送出する。もちろん、ステップS801で読み取った画素値が既に輝度値、色差値を示すものである場合には、色空間変換部114は係る画素値をそのまま後段の境界検出部116に送出する。
【0073】
ステップS803では、境界検出部116は、色空間変換部114から受けた画素値が示す輝度値、色差値と、背景情報格納部115に保持されている輝度値、色差値とを、それぞれ比較する。
【0074】
係る比較の結果、一致している場合には、処理をステップS804を介してステップS805に進め、ステップS805では、ステップS801で画素値を読み取った注目画素は、背景領域内に位置している画素として判断する。
【0075】
一方、一致していない場合には、処理をステップS804を介してステップS806に進め、ステップS806では、ステップS801で画素値を読み取った注目画素は、オブジェクト領域内に位置している画素として判断する。
【0076】
次にステップS807では、輝度変更部117は、オブジェクト領域内に位置する画素としての注目画素の輝度値xと、背景情報格納部115に保持されている輝度値yとの大小比較を行う。係る比較の結果、x≧yであれば、処理をステップS808に進め、ステップS808では、輝度値xを増加させる、増分については特に限定するものではないが、本実施形態では「+1」とする。
【0077】
なお、ステップS807、S808における処理は、オブジェクト領域内の画素の画素値を背景領域内の画素の画素値と異ならせると共に、画素値を異ならせた画素を明示的にする為の処理である。従って、同じ目的を達成できるのであれば、ステップS807,S808で行う処理は、係る処理に限定するものではない。
【0078】
次にステップS809では、変換制御部118は、次のような処理を行う。先ず、注目画素に隣接した画素位置に位置しており、且つステップS801において画素値を読み出す順番が注目画素よりも1つ前の画素(前画素)が位置するとステップS805又はステップS806で判断された属性領域を特定する。そして、この特定した属性領域と、注目画素が位置するとステップS805又はステップS806で判断された属性領域とが同じであるのか否かを判断する。即ち、前画素と注目画素とが同じ属性領域内に位置しているのか否かを判断する。
【0079】
係る判断の結果、同じ属性領域内に位置していないと判断した場合には処理をステップS811に進める。一方、同じ属性領域内に位置していると判断した場合には処理をステップS813に進める。なお、注目画素の前画素が存在しない場合(注目画素が画像の左端に位置する場合)には、同じ属性領域内に位置していないと判断する。
【0080】
ここで、同じ属性領域内に位置していると判断した場合、通常は、注目画素は前画素が属している画素グループ内に属することができる。しかし、1つの画素グループには、最大でも長さLの画素列の画素数分だけしか含めることができないため、前画素が属する画素グループ内に現在何個の画素が属しているのかを判断する。そして、前画素が属する画素グループ内に属している画素の個数が、長さLの画素列の画素数よりも少ない場合には、注目画素をこの画素グループ内に含めることができる。一方、前画素が属する画素グループ内に属している画素の個数が、長さLの画素列の画素数に一致した場合には、注目画素はこの画素グループ内に含めることはできず、注目画素を先頭画素位置とする新たな画素グループを設ける必要がある。
【0081】
従ってステップS813では、変換制御部118は、上述のような処理を行い、注目画素を前画素と同じ画素グループ内に含めることができるか否かを判断する。係る判断は換言すれば次のようなものになる。即ち、前画素が属する画素グループ内の先頭画素位置以降の連続した画素位置に先頭画素位置と同じ属性領域に属する画素の画素列が長さL(本実施形態では4画素)に達しているか否かを判断する。
【0082】
そして、係る判断処理の結果、長さLに達していない場合には、注目画素を前画素と同じ画素グループ内に含めることができると判断し、処理をステップS812に進める。
【0083】
ステップS812では、画素グループ生成部119は、注目ラインについて設定されているデータパケット内に、注目画素の輝度値を、既に記録済みのデータに隣接させて記録する。
【0084】
一方、ステップS813における判断処理の結果、長さLに達している場合には、注目画素を前画素と同じ画素グループ内に含めることができないと判断し、処理をステップS811に進める。
【0085】
ステップS811では、変換制御部118は、注目画素の画素位置を先頭画素位置として設定する。
【0086】
ステップS812では、画素グループ生成部119は、ステップS811で先頭画素位置として設定した画素位置における画素(注目画素)の輝度値、色差値を、注目ラインについて設定されているデータパケット内に、記録済みのデータに隣接させて記録する。
【0087】
なお、以上説明した図7のフローチャートに従った処理を換言すれば、以下のようになる。
【0088】
即ち、非背景領域と、予め設定された輝度値と色差値を有する画素群で構成されている背景領域と、の2つの属性領域で構成されている画像を構成するライン毎に、ラインを構成する各画素の輝度値と色差値とを順次読み取る。そして、注目ライン上の注目画素について読み取った輝度値と色差値とに基づいて、注目画素が背景領域内に属しているのか非背景領域内に属しているのかを判断する。そして、注目画素が属している属性領域と、読み取り順において注目画素よりも1つ前の前画素が属している属性領域とが異なる場合には、次のような処理を行う。
【0089】
即ち、注目画素の輝度値と色差値とをこの順で、注目ラインに対して設定したデータパケット内に既に記録済みのデータに隣接させて記録する。一方、注目画素が属している属性領域と、前画素が属している属性領域とが同じである場合には、注目画素の輝度値を、データパケット内に既に記録済みのデータに隣接させて記録する。
【0090】
このように、1ラインを構成する各画素についてデータパケットへの上記記録処理を行うことで完成するデータパケットは上述の通り、HMD301側に送出される。
【0091】
次に、HMD301側で係るデータパケットを復号し、RGB値を有する画素を復元する処理について、同処理のフローチャートを示す図8を用いて以下説明する。
【0092】
ステップS901では、境界判断部108は先ず、受信したデータパケットの先頭から順に、データパケット内に記録されている輝度値若しくは色差値を、読み出し値として読み出す。
【0093】
ステップS902では、境界判断部108は、読み出し値として読み出した輝度値が、非背景領域内に属する画素の輝度値であるのか、背景領域内に属する画素の輝度値であるのかを判断する。係る判断では、読み出し値として読み出した輝度値と、背景情報格納部107に保持されている輝度値と、の比較処理を行う。係る比較処理の結果、一致する場合には、処理をステップS903を介してステップS904に進め、ステップS904では、読み出し値として読み出した輝度値を有する画素は背景領域内に位置していると判断する。一方、一致しない場合には、処理をステップS903を介してステップS905に進め、ステップS905では、読み出し値として読み出した輝度値を有する画素はオブジェクト領域内に位置していると判断する。
【0094】
次にステップS906では、輝度復元部109は、読み出し値として読み出した輝度値x(オブジェクト領域内に属するものとして判断された輝度値)と、背景情報格納部107に保持されている輝度値yとの大小比較処理を行う。そして、x>yである場合には処理をステップS907に進める。
【0095】
ステップS907では、輝度復元部109は、輝度値xを、上記輝度変更部117が変更した分だけ元に戻す。例えば、輝度変更部117が「+1」だけ輝度値を増加させた場合には、輝度復元部109は「+1」だけ輝度値を減じる。
【0096】
次にステップS908では、境界判断部108は、ステップS901で読み出し値が読み出された画素(以下、復号対象画素)が属する属性領域と、復号対象画素よりも1つ前に読み出し値が読み出された画素が属する属性領域とが同じであるか否かを判断する。
【0097】
係る判断の結果、同じであると判断された場合には処理をステップS912に進め、異なると判断された場合には処理をステップS909に進める。
【0098】
ステップS909では、境界判断部108は、ステップS901で読み出した輝度値に隣接して後続する色差値(注目色差値)を読み出す。そして、読み出した色差値を、この色差値以降(注目色差値以降)に読み出される輝度値と共に用いて画素を復元するために用いる設定値として設定する。
【0099】
そしてステップS910では、境界判断部108は、ステップS901で読み出した輝度値(若しくはステップS907で修正した輝度値)と、ステップS909で読み出した色差値とに基づいて1つの画素を復元する。
【0100】
そして、長さLの画素列の画素数分から1を引いた数だけ、連続してステップS908で「同じ」と判断されている場合には、処理はステップS908からステップS912を介してステップS909に進む。
【0101】
一方、長さLの画素列の画素数分から1を引いた数だけ、連続してステップS908で「同じ」と判断されていない場合には、処理はステップS908からステップS912を介してステップS915に進む。
【0102】
ステップS915では、境界判断部108は、ステップS901で読み出した輝度値(若しくはステップS907で修正した輝度値)と、設定値として設定されている色差値と、に基づいて1つの画素を復元する。
【0103】
ステップS911では、復元された画素の輝度値、色差値を、RGB値に変換することで、係る画素の表示データを生成する。
【0104】
以上の説明により、本実施形態によって、異なる属性領域間にまたがって画素グループを作成する。即ち、異なる属性領域にまたがって同じ色差値に統一することはないので、異なる属性領域間における上記色ずれの問題は解消することができる。
【0105】
なお、本実施形態では、コントローラ302とHMD301との間における通信エラーについては特に考慮していない。係る点について考慮するのであれば、その対策として、誤り訂正符号等を用いた誤り制御機能や、HMD301側で前の画像情報やステレオ画像の反対側の画像情報を用いて通信エラーが発生した画像を補間する補間機能を持たせてもよい。係る対策を行うことにより、通信エラー発生時にも正確な画像情報を復元し、色ズレを抑制することが可能となる。
【0106】
また、以上の説明では、色空間変換部114における変換後に境界検出部116において境界検出を行っているが、この順番を入れ替えてもよい。その場合、背景情報格納部115には背景色のRGB各色の画素値および変換後の輝度値を格納し、境界検出部では、変換前のCG画像と背景色のRGB各色の画素値を比較し、一致するか否かで境界を検出する。
【0107】
[第2の実施形態]
第1の実施形態では、コントローラ302側で仮想空間画像におけるオブジェクト領域内の輝度値を制御することによって、HMD301側での属性領域の判別を可能にし、また、これにより、属性領域の境界部分をも特定することができた。本実施形態では、オブジェクト領域内の輝度値の制御は行わず、オブジェクト領域と背景領域との境界部分を示す境界情報を、データパケットに添付してHMD301に送出する。
【0108】
図9は、本実施形態に係るシステムの機能構成例を示すブロック図である。図9に示す如く、本実施形態に係るシステムは、頭部装着型表示装置の一例としてのHMD(ヘッドマウントディスプレイ)901とコントローラ902とにより構成されている。そして、コントローラ902とHMD901とは互いにデータ通信が可能なように接続されている。図9において、図1に示したものと同じものについては同じ参照番号を付けており、その説明は省略する。
【0109】
コントローラ902における境界検出部1015は、図1に示した境界検出部116と同様、色空間変換部114から色空間変換済み仮想空間画像を受けると、係る色空間変換済み仮想空間画像を構成する画素(注目画素)の輝度値、色差値を読み取る。そして、読み取った輝度値、色差値が、背景情報格納部115に保持されている輝度値、色差値と一致しているか否かを判断する。そして、一致している場合には、注目画素は背景領域内に位置していることを示す情報(属性領域情報)を後段の変換制御部1016、境界情報付加部1018に送出する。一方、一致していないと判断された場合には、注目画素はオブジェクト領域内に位置していることを示す情報(属性領域情報)を後段の変換制御部1016、境界情報付加部1018に送出する。
【0110】
変換制御部1016は、境界検出部1015から受けた各画素についての属性領域情報に基づいて、背景領域と非背景領域との境界を検知する。境界を検知すると、後は第1の実施形態と同様の処理を行い、先頭画素位置を特定する。そして、特定した先頭画素位置を後段の画素グループ生成部119に送出する。
【0111】
画素グループ生成部119は、第1の実施形態で説明したように、ライン毎のデータパケットを生成する。生成したライン毎のデータパケットは境界情報付加部1018に送出する。
【0112】
境界情報付加部1018は、注目ラインのデータパケットを画素グループ生成部119から受けると、係るデータパケットを、注目ラインを構成する各画素についての属性領域情報と共に、I/F112に対して送出する。
【0113】
境界判断部1008は、I/F106を介して、注目ラインのデータパケットと、注目ラインを構成する各画素についての属性領域情報を受けると、係る属性領域情報に基づいて、注目ライン上における境界位置を特定する。境界判断部1008の動作については、背景領域と非背景領域との境界を検知する方法が異なるだけで、それ以外については境界判断部108と同じである。
【0114】
図10は、データパケットと、各画素についての属性領域情報と、をコントローラ902からHMD901に送出するための、コントローラ902側で行う処理について説明する図である。
【0115】
図10において1101は仮想空間画像で、背景領域1198とオブジェクト領域1199との2つの属性領域で構成されている。1102は注目ラインであり、1103は注目ライン上における背景領域1198とオブジェクト領域1199との境界位置を示す。以下の説明は、注目ライン以外の何れのラインについても同じであり、且つ注目ライン上の他の境界位置についても同じである。
【0116】
1150は、注目ライン上の各画素を示す。
【0117】
1151は、1150で示す各画素に対する属性領域情報を示したものである。図10では、背景領域1198内に属する画素の属性領域情報は「0」、オブジェクト領域1199内に属する画素の属性領域情報は「1」となっている。もちろん、それぞれの属性領域を識別するための情報についてはこれに限定するものではない。
【0118】
1104は、データパケット1180に対応する属性領域情報であり、1105は、データパケット1181に対応する属性領域情報である。即ち、図10では、注目ラインについて生成したデータパケットに、注目ラインを構成する各画素について求めた属性領域情報を付加している。そしてこのように、ライン毎にデータパケット、属性領域情報をセットにしてHMD901に送出する。これにより、HMD901側では、データパケットにヘッダとして付加されている属性領域情報を参照すれば、データパケット中の各データの属性領域を判断することができる。
【0119】
なお、各画素についての属性領域情報を1ラインについて列挙したビット列はそのまま送信しても良いが、係るビット列は、例えば、ランレングス符号化など、バイナリのビット列に適した符号化方法を用いて符号化してから送信しても良い。このように、図10に示した方法は、属性領域情報を圧縮符号化することができる方法であり、その点では好適である。
【0120】
図11は、データパケットと、各画素についての属性領域情報と、をコントローラ902からHMD901に送出するための、コントローラ902側で行う処理について説明する図である。
【0121】
図11において1201は仮想空間画像で、背景領域1298とオブジェクト領域1299との2つの属性領域で構成されている。1202は注目ラインであり、1203は注目ライン上における背景領域1298とオブジェクト領域1299との境界位置を示す。以下の説明は、注目ライン以外の何れのラインについても同じであり、且つ注目ライン上の他の境界位置についても同じである。
【0122】
1250は、注目ライン上の各画素を示す。
【0123】
1251は、1250で示す各画素に対する属性領域情報を示したものである。図11では、背景領域1298内に属する画素の属性領域情報は「0」、オブジェクト領域1199内に属する画素の属性領域情報は「1」となっている。もちろん、それぞれの属性領域を識別するための情報についてはこれに限定するものではない。
【0124】
1252は、注目ライン1202に対するデータパケットである。図11では、注目ラインについて生成したデータパケット中の各画素について、対応する属性領域情報を付加している。そしてこのように、ライン毎にデータパケット、属性領域情報をセットにしてHMD901に送出する。これにより、HMD901側では、データパケット中の各画素に対応する属性領域情報を参照すれば、対応する画素の属性領域を判断することができる。
【0125】
なお、各画素のデータに属性領域情報を付加する場合、例えば、次のような方法がある。輝度データが8ビットである場合、係るデータを9ビットに拡張し、9ビットのうち最上位ビットあるいは最下位ビットを属性領域情報である1ビットを割り当てる。また、係る8ビットのうち最下位の1ビットを削除することで7ビットに変換し、1ビットの属性領域情報を付加することで、8ビットとしても良い。
【0126】
このように、属性領域情報をデータパケットに付加する方法については様々なものがあり、それぞれには当然メリットデメリットがある。従って、どの方法を採用するのかについてはシステムの設計者が適宜決めればよい。
【0127】
以上の説明により、本実施形態によれば、第1の実施形態で説明した効果に加え、以下のような効果も奏することができる。即ち、コントローラ902からHMD901に転送する情報量は増えるものの、HMD901の構成は図1と図9とを比べてみれば一目瞭然で、より簡素化することができる。
【0128】
HMD901は周知の通り、観察者の頭部に装着するものであるので、より軽量であることが好ましい。従って、HMD901の構成をより簡素化することは、HMD901の軽量化にも繋がり、本実施形態は係る点で好適なものとなる。
【0129】
なお、本実施形態においても、第1の実施形態で説明したような、通信エラーへの対処を行うようにしても良い。
【0130】
[第3の実施形態]
図12は、本実施形態に係るシステムの機能構成例を示すブロック図である。なお、図12において、図1と同じ部分については同じ番号を付けており、その説明は省略する。
【0131】
先ず、コントローラ1302内の変換部1319の動作について説明する。変換部1319を構成する各部の動作については第1の実施形態で説明したとおりであるので、ここでは各部間における協調動作について説明する。
【0132】
色空間変換部114は、CG描画部113が生成した仮想空間画像を構成する各画素の画素値を、RGB値から、輝度値、色差値を示す画素値に変換する。
【0133】
境界検出部1015は、現在着目している画素の属性領域が背景領域であるのかオブジェクト領域であるのかを輝度変更部117に通知し、輝度変更部117は、オブジェクト領域内に位置している画素の輝度値を変更する。
【0134】
そして、結果として輝度変更部117からは、色空間変換部114から送出された仮想空間画像において、オブジェクト領域内に属する画素の輝度値を変更した仮想空間画像が画素グループ生成部1399に送出される。
【0135】
画素グループ生成部1399は、受けた仮想空間画像を構成するライン毎に、1ラインを4画素毎にグループ分割し、分割したそれぞれの画素グループ毎に、画素グループ内の全ての画素の色差値を、画素グループの先頭位置における画素の色差値に更新する。そして画素グループ生成部1399は、ライン毎に設定したデータパケットに、画素グループ毎に、先頭位置における画素については輝度値と色差値を、先頭位置に後続する画素については輝度値を記録する。
【0136】
そして、画素グループ生成部1399により生成されたデータパケットはI/F1313に対して送出されるので、I/F1313は係るデータパケットをHMD1301に送出する。
【0137】
次に、HMD1301内の復号部1312の動作について説明する。
【0138】
境界画素補間部1310には、属性領域の境界は無視し、固定長の画素グループ毎に同じ色差の画素が復元された仮想空間画像が入力される。従って、境界画素補間部1310は、係る仮想空間画像において、属性領域の境界における画素について更に画素グループ分割を行う。
【0139】
境界画素補間部1310により得られる結果としての仮想空間画像は、色空間変換部110に入力される。
【0140】
図13は、境界画素補間部1310が行う処理を説明する図である。
【0141】
図13において1401は、画素N1〜N13による画素列を示す。図13では、画素N1〜N6、N12,N13は背景領域内に位置する画素で、画素N7〜N11は、オブジェクト領域内に位置する画素である。図13に矢印で示す如く、画素N1から画素N13へ向かう方向を、処理、伝送を行う際の走査方向とする。
【0142】
1402は、画素N1〜N13のそれぞれのRGB値を示しており、例えば、画素N4のR、G、Bのそれぞれの値はr1,g1,b1であり、画素N8のR、G、Bのそれぞれの値はr3,g3,b3である。
【0143】
1403は、画素N1〜N13の色空間(RGB色空間)をYUV色空間に変換した場合における、画素N1〜N13の各画素値を示す。
【0144】
ここで、画素N1〜N13を4画素毎にグループ分割し、それぞれの画素グループ(太線内)内で色差値を統一することで、画像全体の情報量が削減される。そこで、画素グループ内の先頭画素位置における画素の色差値をこの画素グループの代表色差値とし、この画素グループ内の各画素の色差値をこの代表色差値とする。
【0145】
1404は、画素グループ毎に代表色差値で色差値を統一した場合における、画素N1〜N13の画素値を示している。1404に示す如く、最初の画素グループ1404aの先頭画素位置における色差値u1、v1を、この画素グループ1404a内の各画素の色差値としている。2番目の画素グループ1404bの先頭画素位置における色差値u1、v1を、この画素グループ1404b内の各画素の色差値としている。3番目の画素グループ1404cの先頭画素位置における色差値u4、v4を、この画素グループ1404c内の各画素の色差値としている。なお、y2’、y3’、y4’、y5’、y6’のそれぞれは、輝度変更部117において輝度値を増加させた値である。、
コントローラ1302からはこのような画素グループ毎のデータが記録されたデータパケットがHMD1301に送出されている。
【0146】
1405は、境界画素補間部1310による補間後の画素毎の輝度値、色差値を示す。境界画素補間部1310は、画素グループ内の全ての画素が同じ属性領域内に位置していれば、この画素グループについては何も処理は行わない。しかし、画素グループ1404bのように、背景領域とオブジェクト領域とにまたがっている画素グループについては、画素グループ分割する。図13の場合には、画素N5、N6の画素グループ1405aと画素N7、N8の画素グループ1405bとに分割する。そして、画素グループ1405bの色差値として、これに後続する画素グループの色差値を与える。これにより、2つの属性領域をまたぐ画素グループを、それぞれの属性領域内のみで属する2つの画素グループに分割することができる。
【0147】
これにより、本来背景領域内における画素については、背景領域内の色差値が与えられるので、上記色ずれの問題は軽減される。
【0148】
また、境界2のように主走査方向に対してオブジェクト領域から背景領域へ切り替わる境界の画素については、隣接画素グループの色差値に置き換える補正を行っても良い。また、境界1のように背景領域からオブジェクト領域へ切り替わる境界の画素については、近傍画素の画素値を用いて線形補間、フィルタ処理等によって補正を行っても良い。即ち、別々の補正処理を行うことも可能である。また上記の近傍画素とは、境界における画素に対して主走査方向に隣接している画素のみを指すものではなく、垂直方向に隣接する画素、あるいは境界における画素を含む任意の複数画素から成る画素ブロックに含まれるオブジェクト領域内の画素を含んでもよい。
【0149】
このような補正処理を行うことにより、正しい背景色を再現できる上、オブジェクト領域内部の色ズレを比較的目立たなくすることができ、伝送量を削減しても、HMD側で高画質なCG画像を再現することが可能となる。
【0150】
以上の説明により、本実施形態によれば、コントローラ側の構成を簡略化することができる。
【0151】
本実施形態では、属性領域の境界を特定するために、第1の実施形態と同様に、先頭画素位置を特定している。しかし、属性領域の境界を特定するための処理としては、第2の実施形態で説明したように、属性領域情報を求めるようにしても良い。属性領域の境界を特定するために、第1の実施形態で説明したような構成を採用するのか、第2の実施形態で説明したような構成を採用するのかについては、システムの設計者が適宜決めればよい。
【0152】
また、本実施形態においても、第1の実施形態で説明したような、通信エラーへの対処を行うようにしても良い。
【0153】
また、上記実施形態では、画素値の置き換え等については輝度成分、色差成分において行っていたが、RGBの色空間で行うようにしても良い。
【0154】
[第4の実施形態]
上記第1乃至3の実施形態のうちの任意の2つの実施形態で説明した機能を選択的に使用可能なシステムを設計しても良い。設計するシステムは当然、システムの使用環境に応じて決めるのであるが、例えば、次のようなシステムが上げられる。
【0155】
HMDとコントローラとの間のデータ通信を無線でもって行うとする。そして、無線における電波状況に応じて、後述するように、2つのシステム動作のうち一方の動作に切り替える。
【0156】
例えば、電波状況が悪く、相手に伝送する情報量を極力少なくしたい場合には、属性領域情報を用いず、データパケットのみを送信する第1の実施形態に係るシステム動作を行う。一方、電波状況がさほど悪くない場合には、データパケットに属性領域情報を付加してから送信する第2の実施形態に係るシステム動作を行う。
【0157】
係る切り替えは、システムのユーザが適宜判断して手動で切り替えても良いし、電波状況を検知する装置による検知結果に応じて自動的に切り替えるようにしても良い。もちろん、切り替えるための条件についてはこれに限定するものではない。
【0158】
[第5の実施形態]
以上の実施形態では、位置姿勢情報に基づいて仮想空間画像を生成し、更にこの生成した仮想空間画像の画素値をRGB値から輝度値、色差値のセットに変換する処理は全てコントローラが行っていた。しかし、係る処理の一部若しくは全部を、外部の装置に行わせても良い。例えば、コントローラがHMDから位置姿勢情報を受けると、これを外部のPC(パーソナルコンピュータ)に送出する。PCは係る位置姿勢情報に基づいて仮想空間画像を生成した後、生成した仮想空間画像の画素値をRGB値から輝度値、色差値のセットに変換し、変換後の仮想空間画像をコントローラに返信するようにしても良い。
【0159】
[その他の実施形態]
また、本発明の目的は、以下のようにすることによって達成されることはいうまでもない。即ち、前述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給する。係る記憶媒体は言うまでもなく、コンピュータ読み取り可能な記憶媒体である。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行する。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【0160】
また、コンピュータが読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0161】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0162】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【0163】
【図1】図3に示したシステムの機能構成例を示すブロック図である。
【図2】色空間変換を利用した画像情報の圧縮に伴う色ズレを説明する図である。
【図3】本発明の第1の実施形態に係るシステムの構成例を示す図である。
【図4】クロマキー合成について説明する図である。
【図5】画像についての情報量を削減するために、予め定められた長さの画素列毎に色差値を統一する、従来技術を説明する図である。
【図6】画素グループの先頭画素位置を制御することによって、画素グループ毎に色差値を統一する処理を説明する図である。
【図7】コントローラ302が行う、画像情報生成処理のフローチャートである。
【図8】HMD301側で係るデータパケットを復号し、RGB値を有する画素を復元する処理のフローチャートである。
【図9】本発明の第2の実施形態に係るシステムの機能構成例を示すブロック図である。
【図10】データパケットと、各画素についての属性領域情報と、をコントローラ902からHMD901に送出するための、コントローラ902側で行う処理について説明する図である。
【図11】データパケットと、各画素についての属性領域情報と、をコントローラ902からHMD901に送出するための、コントローラ902側で行う処理について説明する図である。
【図12】本発明の第3の実施形態に係るシステムの機能構成例を示すブロック図である。
【図13】境界画素補間部1310が行う処理を説明する図である。

【特許請求の範囲】
【請求項1】
非背景領域と、予め設定された輝度値と色差値を有する画素群で構成されている背景領域との属性領域で構成されている画像を入力する入力手段と、
前記画像を構成する各画素の輝度値と色差値とを順次読み取る読み取り手段と、
注目画素について前記読み取り手段が読み取った輝度値と色差値とに基づいて、当該注目画素が前記背景領域内に属しているのか前記非背景領域内に属しているのかを判断する判断手段と、
前記注目画素が属している属性領域と、前記読み取り手段による読み取り順において前記注目画素よりも1つ前の前画素が属している属性領域とが異なる場合には、前記注目画素の輝度値と色差値とを、前記前画素が属するグループとは異なるグループのデータとして記録し、前記注目画素が属している属性領域と、前記前画素が属している属性領域とが同じである場合には、前記注目画素の輝度値を、前記前画素が属するグループ内に既に記録済みのデータに隣接させて記録する記録手段と
前記記録手段により記録されたデータを出力する出力手段と
を備えることを特徴とする画像処理装置。
【請求項2】
前記予め設定された輝度値と色差値のデータを保持する保持手段を備え、
前記判断手段は、前記注目画素について前記読み取り手段が読み取った輝度値と前記保持手段が保持する輝度値との比較、前記注目画素について前記読み取り手段が読み取った色差値と前記保持手段が保持する色差値との比較、に基づいて前記判断を行うことを特徴とする請求項1に記載の画像処理装置。
【請求項3】
更に、
前記判断手段により前記非背景領域内に属すると判断された画素の輝度値を、前記予め設定された輝度値と異なるように制御する手段を備え、
前記記録手段は、前記非背景領域内に属する画素の輝度値については、前記制御が成された輝度値を用いることを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
更に、
前記判断手段により判断されたそれぞれの画素の属性領域を示す属性領域情報を作成する手段を備え、
前記出力手段は、前記データに加え、前記属性領域情報をも出力することを特徴とする請求項1に記載の画像処理装置。
【請求項5】
前記入力手段は、現実空間の画像とクロマキー合成する対象としての仮想空間の画像であって、前記背景領域はクロマキー色を表す輝度値と色差値を有する画素群で構成されていることを特徴とする請求項1乃至4の何れか1項に記載の画像処理装置。
【請求項6】
前記出力手段から出力されたデータを復号することで、前記画像の表示データを生成する画像処理装置であって、
前記出力手段が出力したデータを受信する受信手段と、
前記データの先頭から順に、前記データに記録されている輝度値若しくは色差値を、読み出し値として読み出す手段と、
前記読み出し値として輝度値を読み出した場合、当該輝度値が、前記非背景領域内に属する画素の輝度値であるのか、前記背景領域内に属する画素の輝度値であるのかを判断する手段と、
読み出した注目輝度値に対応する画素が属する属性領域と、当該注目輝度値よりも1つ前に読み出された輝度値に対応する画素が属する属性領域とが異なる場合には、前記注目輝度値に隣接して後続する色差値を注目色差値として読み出し、当該注目色差値を、当該注目色差値以降に読み出される輝度値と共に用いて画素を復元するために用いられる設定値として設定すると共に、前記注目輝度値と前記注目色差値とに基づいて1つの画素を復元する手段と、
読み出した注目輝度値に対応する画素が属する属性領域と、当該注目輝度値よりも1つ先に読み出される輝度値に対応する画素が属する属性領域とが同じである場合には、当該読み出した注目輝度値と、当該注目輝度値が読み出される前に前記設定値として設定されている色差値と、に基づいて1つの画素を復元する手段と、
復元された画素の色空間を変換して、表示データを生成する手段と
を備えることを特徴とする請求項1乃至5の何れか1項に記載の画像処理装置。
【請求項7】
非背景領域と、予め設定された輝度値と色差値を有する画素群で構成されている背景領域との属性領域で構成されている画像を入力する入力工程と、
前記画像を構成する各画素の輝度値と色差値とを順次読み取る読み取り工程と、
注目画素について前記読み取り工程で読み取った輝度値と色差値とに基づいて、当該注目画素が前記背景領域内に属しているのか前記非背景領域内に属しているのかを判断する判断工程と、
前記注目画素が属している属性領域と、前記読み取り工程による読み取り順において前記注目画素よりも1つ前の前画素が属している属性領域とが異なる場合には、前記注目画素の輝度値と色差値とを、前記前画素が属するグループとは異なるグループのデータとして記録し、前記注目画素が属している属性領域と、前記前画素が属している属性領域とが同じである場合には、前記注目画素の輝度値を、前記前画素が属するグループ内に既に記録済みのデータに隣接させて記録する記録工程と
前記記録工程により記録された前記データを出力する出力工程と
を備えることを特徴とする画像処理方法。
【請求項8】
前記出力工程で出力されたデータを復号することで、前記画像の表示データを生成する画像処理装置が行う画像処理方法であって、
前記出力工程で出力したデータを受信する受信工程と、
前記データの先頭から順に、前記データに記録されている輝度値若しくは色差値を、読み出し値として読み出す工程と、
前記読み出し値として輝度値を読み出した場合、当該輝度値が、前記非背景領域内に属する画素の輝度値であるのか、前記背景領域内に属する画素の輝度値であるのかを判断する工程と、
読み出した注目輝度値に対応する画素が属する属性領域と、当該注目輝度値よりも1つ前に読み出された輝度値に対応する画素が属する属性領域とが異なる場合には、前記注目輝度値に隣接して後続する色差値を注目色差値として読み出し、当該注目色差値を、当該注目色差値以降に読み出される輝度値と共に用いて画素を復元するために用いられる設定値として設定すると共に、前記注目輝度値と前記注目色差値とに基づいて1つの画素を復元する工程と、
読み出した注目輝度値に対応する画素が属する属性領域と、当該注目輝度値よりも1つ先に読み出される輝度値に対応する画素が属する属性領域とが同じである場合には、当該読み出した注目輝度値と、当該注目輝度値が読み出される前に前記設定値として設定されている色差値と、に基づいて1つの画素を復元する工程と、
復元された画素の色空間を変換して、表示データを生成する工程と
を備えることを特徴とする請求項7に記載の画像処理方法。
【請求項9】
コンピュータに請求項7又は8に記載の画像処理方法を実行させるためのコンピュータプログラム。
【請求項10】
請求項9に記載のコンピュータプログラムを格納したことを特徴とする、コンピュータ読み取り可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate


【公開番号】特開2008−304805(P2008−304805A)
【公開日】平成20年12月18日(2008.12.18)
【国際特許分類】
【出願番号】特願2007−153392(P2007−153392)
【出願日】平成19年6月8日(2007.6.8)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】