特開2017-188766(P2017-188766A)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ レノボ・シンガポール・プライベート・リミテッドの特許一覧

特開2017-188766カメラを備える電子機器、撮影映像の補正方法および記憶媒体
<>
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000004
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000005
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000006
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000007
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000008
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000009
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000010
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000011
  • 特開2017188766-カメラを備える電子機器、撮影映像の補正方法および記憶媒体 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-188766(P2017-188766A)
(43)【公開日】2017年10月12日
(54)【発明の名称】カメラを備える電子機器、撮影映像の補正方法および記憶媒体
(51)【国際特許分類】
   H04N 5/232 20060101AFI20170919BHJP
   H04N 5/225 20060101ALI20170919BHJP
   G01B 11/00 20060101ALI20170919BHJP
   G01B 11/26 20060101ALI20170919BHJP
   G01B 11/02 20060101ALI20170919BHJP
   G06T 3/00 20060101ALI20170919BHJP
【FI】
   H04N5/232 Z
   H04N5/225 B
   G01B11/00 H
   G01B11/26 H
   G01B11/02 H
   G06T3/00 700
【審査請求】有
【請求項の数】18
【出願形態】OL
【全頁数】15
(21)【出願番号】特願2016-75697(P2016-75697)
(22)【出願日】2016年4月5日
(71)【出願人】
【識別番号】505205731
【氏名又は名称】レノボ・シンガポール・プライベート・リミテッド
(74)【代理人】
【識別番号】100106699
【弁理士】
【氏名又は名称】渡部 弘道
(72)【発明者】
【氏名】今井 拓水
(72)【発明者】
【氏名】増谷 修
(72)【発明者】
【氏名】土井 俊央
(72)【発明者】
【氏名】メイナード デレク
【テーマコード(参考)】
2F065
5B057
5C122
【Fターム(参考)】
2F065AA06
2F065AA22
2F065AA23
2F065AA24
2F065AA32
2F065AA35
2F065AA37
2F065AA39
2F065BB15
2F065CC16
2F065EE08
2F065FF01
2F065FF04
2F065FF05
2F065FF09
2F065GG07
2F065GG21
2F065JJ03
2F065JJ05
2F065JJ16
2F065JJ26
2F065QQ17
2F065QQ21
2F065QQ24
2F065QQ25
2F065RR05
2F065RR06
5B057CA08
5B057CA12
5B057CA16
5B057CB08
5B057CB12
5B057CB16
5B057CD01
5B057DA17
5B057DB02
5B057DB09
5B057DC03
5B057DC05
5B057DC08
5C122EA47
5C122EA61
5C122FH04
5C122FH06
5C122FH11
5C122FH14
5C122HA29
5C122HA75
5C122HA88
(57)【要約】
【課題】カメラが撮影した撮影映像を補正する。
【解決手段】カメラ51はラップトップ10のディスプレイの下部に取り付けられている。ディスプレイを向く顔の方向はカメラの方向に対してずれているため撮影映像の顔は歪む。ユーザはカメラに対してさまざまな距離に存在したり、ディスプレイを見るために俯いたり、椅子に座ったりといったさまざまな姿勢をとる。位置33a〜33dでは、仮想顔面30a〜30dの法線の方向がカメラに対する方向から回転角θ1〜θ4で回転する。回転角θは、カメラと仮想顔面の距離d、カメラに対する仮想顔面の高さh、および仮想顔面の俯角αから計算することができる。ラップトップは回転角θから射影変換行列を計算して撮影映像が自然になるように座標変換する。
【選択図】図2
【特許請求の範囲】
【請求項1】
ラップトップ型コンピュータのディスプレイの周辺に配置したカメラが撮影したユーザの顔の撮影映像を補正する方法であって、
前記カメラが撮影した撮影映像に基づいて顔までの撮影距離を取得するステップと、
前記撮影距離に基づいて前記撮影映像を顔の正面の映像に変換するための補正量を計算するステップと、
前記撮影映像の座標を前記補正量で変換するステップと
を有する方法。
【請求項2】
前記撮影距離を取得するステップが、
前記撮影映像の顔の大きさと前記撮影距離を関連付けた参照データを用意するステップと、
前記参照データに基づいて前記撮影映像から前記撮影距離を推定するステップと、
を含む請求項1に記載の方法。
【請求項3】
前記補正量を計算するステップが顔の正面の方向と顔から前記カメラに向かう方向が作る回転角を計算するステップを含む請求項1に記載の方法。
【請求項4】
前記回転角を計算するステップが、
前記カメラに対する所定の顔の高さに対して、前記撮影距離と顔の俯角を関連付けた参照データを用意するステップと、
前記参照データに基づいて前記回転角を取得するステップと
を含む請求項3に記載の方法。
【請求項5】
前記撮影距離から顔の高さを推定するステップを有する請求項4に記載の方法。
【請求項6】
前記顔の高さを推定するステップが、
デフォルトの顔の高さを設定するステップと、
前記撮影映像から顔の高さの変化を検出するステップと
を含む請求項5に記載の方法。
【請求項7】
顔の大きさの変化を監視するステップと、
顔の大きさが所定位置以上変化したと判断したときに前記補正量を再計算するステップと
を有する請求項2に記載の方法。
【請求項8】
前記補正量で変換するステップが、
前記カメラの撮像面の傾斜角を取得するステップと、
前記傾斜角から顔の正面に対応する射影面を特定するステップと、
前記撮像面の撮影映像の座標を前記射影面に変換するステップと
を有する請求項1に記載の方法。
【請求項9】
前記カメラの傾斜角の変化を監視するステップと、
前記傾斜角が所定値以上変化したと判断したときに前記射影面を再特定するステップと
を有する請求項8に記載の方法。
【請求項10】
カメラが撮影した顔の撮影映像を電子機器が補正する方法であって、
前記電子機器が前記カメラから顔までの撮影距離を取得するステップと、
前記撮影距離に基づいて前記カメラの撮像面に対する顔の向きを特定するステップと、
顔の正面を向く射影面を特定するステップと、
前記撮像面の座標を前記射影面に変換するステップと
を有する方法。
【請求項11】
前記顔の向きを特定するステップが、前記撮影距離に基づいてユーザが起立状態であることを判断するステップを含む請求項10に記載の方法。
【請求項12】
前記顔の向きを特定するステップが、起立状態と着席状態の遷移を監視するステップを含む請求項11に記載の方法。
【請求項13】
前記射影面を特定するステップが、顔の俯角と顔の回転角と前記撮像面の傾斜角を計算するステップを含む請求項10に記載の方法。
【請求項14】
カメラを搭載した電子機器であって、
前記カメラから顔までの撮影距離を計算する距離計算部と、
前記撮影距離に基づいて特定した顔の方向と顔からカメラに向かう方向が作る回転角を計算する回転角計算部と、
前記回転角に基づいて前記カメラの撮影映像を座標変換する補正画像生成部と
を有する電子機器。
【請求項15】
前記電子機器が、ディスプレイを収納するディスプレイ筐体とシステム筐体がヒンジ機構で結合されたラップトップ型コンピュータで、前記カメラが使用状態の前記ディスプレイの下側に配置されている請求項14に記載の電子機器。
【請求項16】
前記撮影映像の顔の大きさから前記撮影距離を計算するための参照テーブルを有する請求項14に記載の電子機器。
【請求項17】
前記撮影距離と顔の高さから顔の俯角を計算するための参照テーブルを有する請求項14に記載の電子機器。
【請求項18】
カメラが撮影した顔の映像データを取得するコンピュータに、
前記カメラから顔までの撮影距離を計算する機能と、
前記撮影距離に対応する補正量を計算する機能と、
前記映像データの座標を前記補正量で変換する機能と
を実現させるためのコンピュータ・プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子機器が搭載するカメラが撮影した顔の歪みを補正する技術に関する。
【背景技術】
【0002】
デスクトップ型パーソナル・コンピュータ(デスクトップ)やラップトップ型パーソナル・コンピュータ(ラップトップ)などのパーソナル・コンピュータ(PC)は、ディスプレイの近辺に取り付けたカメラで撮影した顔の映像を、ネットワークを通じて転送することでテレビ会議や動画チャットをすることができる。通常カメラはディスプレイの上に取り付けているため、ディスプレイで相手の顔をみているユーザの顔はカメラにほぼ正対し、自然な映像を撮影することができる。
【0003】
特許文献1は、携帯用通信機器が搭載するカメラで撮影した顔の画像を補正する発明を開示する。同文献は、筐体に設けた角度センサで検出した光軸の傾きに応じて撮影した画像を補正することを記載している。特許文献2は、カメラが撮影した画像が示す顔の向きを補正する発明を開示する。同文献には、顔の特定部位の座標を頭部モデルにあてはめて計算した基準線および基準点の位置から補正量を計算することを記載する。特許文献3は、ステレオ・カメラを使って人間の注視点を検出する発明を開示する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−89183号公報
【特許文献2】特開2010−217980号公報
【特許文献3】特開2015−169959号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
カメラは、3次元空間を2次元空間の画像座標上に透視投影で撮像する。2次元空間には奥行きがないが、透視投影では距離を撮影画像の大きさで表現する。したがって、顔がカメラの方向を向いていれば自然な映像を撮影できるが、顔の向きがカメラの方向から外れると顔の各部位のカメラに対する距離の差が不自然な映像をもたらす。映像の歪みは、カメラから顔が離れているときは小さいが顔がカメラに接近するほど誇張される。たとえば、ディスプレイを見ている顔を近くのカメラが下から撮影すると、カメラに近い顎の周りが拡大されカメラから遠い額が縮小された画像になる。
【0006】
撮影中のユーザは、カメラに対してさまざまな距離に存在する。カメラを搭載したPCが机上に置かれているときに、遠方からPCに接近してきたユーザは、PCに接近するに従って目の高さより下にあるディスプレイを見るために前屈みになるとともに最終的には椅子に座る。したがってカメラに対する顔の角度は、カメラに対する距離や顔の高さによって変化するため、一定の角度で補正する方法では顔の自然な映像を生成できない場合がある。また、顔の特徴を検出して画像処理でカメラに対する顔の向きを検出する方法では、安定して補正することが困難でプロセッサの負担も大きくなる。
【0007】
そこで本発明の目的は、カメラが撮影した顔の撮影映像が正面を向くように補正する方法を提供することにある。さらに本発明の目的は、簡単な方法で撮影映像を補正する方法を提供することにある。さらに本発明の目的は、そのような方法を実現する電子機器および記憶媒体を提供することにある。
【課題を解決するための手段】
【0008】
本発明は、ラップトップ型コンピュータのディスプレイの周辺に配置したカメラが撮影したユーザの顔の撮影映像を補正する方法を提供する。カメラから顔までの撮影距離を取得し、撮影距離に基づいて撮影映像を顔の正面の映像に変換するための補正量を計算し、撮影映像の座標を補正量で変換する。カメラはディスプレイ筐体のヒンジ機構の近辺に取り付けられていてもよい。
【0009】
撮影距離は、撮影映像の顔の大きさと撮影距離を関連付けた参照データを用意しておき、参照データに基づいて推定することができる。補正量の計算は、顔の正面の方向と顔からカメラに向かう方向が作る回転角の計算を含むことができる。回転角は、カメラに対する所定の顔の高さに対して、撮影距離と顔の俯角を関連付けた参照データに基づいて推定することができる。
【0010】
顔の高さは、撮影距離から推定することができる。顔の高さの推定は、デフォルトの顔の高さを設定しておき、撮影映像から顔の高さの変化を検出することで行うことができる。デフォルトの顔の高さは、起立時に相当する標準的な身長または着席時に相当する標準的な座高に基づいて設定することができる。顔の大きさの変化を監視し、顔の大きさが所定位置以上変化したと判断したときに補正量を再計算することができる。
【0011】
補正量による座標の変換は、カメラの撮像面の傾斜角を取得し、傾斜角から顔の正面に対応する射影面を特定し、撮像面の撮影映像の座標を射影面に変換することで行うことができる。このときカメラの傾斜角の変化を監視し、傾斜角が所定値以上変化したと判断したときに射影面を再特定することができる。
【発明の効果】
【0012】
本発明により、カメラが撮影した顔の撮影映像が正面を向くように補正する方法を提供することができた。さらに本発明により、簡単な方法で撮影映像を補正する方法を提供することができた。さらに本発明により、そのような方法を実現する電子機器および記憶媒体を提供することができた。
【図面の簡単な説明】
【0013】
図1】ラップトップ10の撮影空間を説明するための図である。
図2】ラップトップ10に対するユーザの距離dおよび高さhによって、回転角θが変化する様子を説明するための図である。
図3】ラップトップ10からのユーザの距離によって、撮影画像の歪みが変化する様子を説明するための図である。
図4】ラップトップ10に搭載した画像補正システム100の構成を示す機能ブロック図である。
図5】ディスプレイ59の前に存在するユーザの顔の姿勢および距離をモデル化した図である。
図6】画像補正システム100の動作手順を示すフローチャートである。
図7】顔の撮影画像301に設定した特徴点を説明するための図である。
図8】撮影画像301の特徴点351a〜351dと補正画像303の特徴点352a〜352dから射影変換行列を計算する方法を説明するための図である。
図9】仮想顔面30aの撮影画像を射影面371に射影する様子を説明するための図である。
【発明を実施するための形態】
【0014】
[本発明の概要]
図1は、ラップトップ10の撮影空間を説明するための図である。図2は、カメラに対するユーザの位置の相違により回転角θが変化する様子を説明するための図である。図3は撮像面51a(図3)が形成する仮想顔面の撮影画像101、101a、103、103aを説明するための図である。図1でラップトップ10は、ディスプレイ59を実装するディスプレイ筐体52と表面にキーボード55およびタッチパッド57などを搭載するシステム筐体53がヒンジ機構61a、61bで結合している。
【0015】
ディスプレイ59の周囲とディスプレイ筐体52との間の隙間を覆うためにディスプレイ59の周囲にベゼル58を設けている。従来はカメラ51をディスプレイ59の上部に位置するベゼル58の中央に配置していたが、ディスプレイ59の大型化、およびデザインの要請などで本実施の形態ではカメラ51を、ディスプレイ59の下部に位置するベゼル58の中央に配置している。カメラ51をディスプレイ59の上部に配置する場合は、ディスプレイ59をみるユーザの顔の方向と顔がカメラに向かう方向との差が小さいため顔の歪みは深刻ではなかったが、カメラ51をヒンジ機構61a、61bの近辺に配置すると、顔がカメラに近いときの歪みが顕著になるため補正が必要になる。
【0016】
カメラ51は、撮像面51aを構成するイメージ・センサ、および画像データを処理するイメージ・シグナル・プロセッサなどを含む。撮像面51aに対する画像座標系として直交座標のX軸、Y軸、Z軸を定義している。説明の便宜上、Z軸はカメラ51の光軸に一致させ、Y軸はディスプレイ59の表面に平行な平面上に存在するようにしている。また、Z軸とY軸を含む鉛直方向の平面21とX軸を含み平面21に垂直な平面23を定義する。
【0017】
さらに、グローバル座標系として直交座標のXg軸、Yg軸、Zg軸を定義する。グローバル座標系の原点は画像座標系の原点に一致させており、Xg軸はX軸に一致し、Yg軸は平面23に存在し、Zg軸は水平である。システム筐体53に対するディスプレイ筐体52の開閉角度が変化するとカメラ51の光軸の方向が平面21上で変化して、Y軸およびZ軸が平面21上でX軸周りに回転する。
【0018】
図2は、ユーザがディスプレイ59を注視しながらラップトップ10に向かって移動し、さらに椅子に着席するときに回転角θが変化する様子を説明するための図である。ここに回転角θは、顔の方向と、顔からカメラ51の光学中心に向かう方向とが形成するグローバル座標系での角度に相当する。ユーザがディスプレイ筐体52の開閉角度を調整すると、グローバル座標系に対する画像座標系がX軸周りに傾斜角βだけ回転する。以下においては、傾斜角βを一定として説明するが、本発明はディスプレイ筐体52に設けた加速度センサを利用することで撮影中に傾斜角βが変化する場合にも適用が可能である。
【0019】
ユーザの顔には矩形状の仮想顔面30a〜30dを対応付けている。仮想顔面30a〜30dは、カメラ51に正対したときに顔を最も自然に撮影できる平面で、顔の複数の特徴点から特定することができる。仮想顔面30a〜30dには、顔の中心に対応する位置に中心31a〜31dを定義する。位置33a〜33dにおいて仮想顔面30a〜30dの形状は変化しない。
【0020】
カメラ51の光学中心に対する中心31a〜31dの高さをユーザが立っているときはh1とし、座っているときはh2(h2<h1)とする。位置33aでは、立っているユーザの顔がディスプレイ59をみていると想定する。位置33aのディスプレイ59に対する距離dが十分に長いときは、仮想顔面30aの法線11aはほぼYg軸に平行になるかわずかな俯角αで傾斜している想定することができる。なお、位置33a、33bでは俯角αがわずかであるため、記載を省略している。俯角αは、グローバル座標系のZg軸(水平)に対する角度に相当する。位置33bは位置33aよりディスプレイ59に近く、位置33c、33dは位置33bよりディスプレイ59に近い。
【0021】
位置33bでは立っているユーザの仮想顔面30bの法線11bの俯角αが法線11aに一致する状態を示し、位置33cでは立っているユーザが近くにあるディスプレイ59をみるために、仮想顔面30cの法線11cが俯角αだけ傾斜する状態を示し、位置33dでは椅子に座ったユーザの仮想顔面30dの高さが低くなり、かつ仮想顔面30dの法線11dが俯角αで傾斜する状態を示している。
【0022】
いずれの位置33a〜33dでも中心31a〜31dは、平面21上に存在すると想定する。ただし、後に説明するように本発明は中心31a〜31dが平面21から外れた場合にも適用できる。回転角θは、仮想顔面の法線と、仮想顔面とカメラ51の光学中心を結ぶ基準線が形成する角度として計算することができる。位置33aにおいて、中心31aとカメラ51の光学中心を結ぶ基準線13aと、中心31aに対する仮想顔面30aの法線11aが作る角度は回転角θ1に相当する。
【0023】
カメラ51をディスプレイ59の下側に配置すると、上側に配置する場合に比べて回転角θは大きくなる。また、同じ位置でも俯角αにより回転角θは変化する。本発明においてはカメラ51が出力するフレーム・シーケンスを構成する各フレームを撮影画像といい、所定のフレーム・レートで連続する複数のフレームを映像データといい、映像データがディスプレイに表示する動画を撮影映像ということにする。
【0024】
位置33bにおいて、中心31bとカメラ51の光学中心を結ぶ基準線13bと、中心31bに対する仮想顔面30bの法線11bが作る角度を回転角θ2とすると距離dの差によりθ2>θ1となる。図3(A)は、位置33aで顔がカメラ51を向いて、法線11aと基準線13aが一致すると想定したときの仮想顔面30aの撮影画像101と、位置33aのように法線11aが基準線13aに対して回転角θ1だけ回転している仮想顔面30aの撮影画像101aを示している。撮影画像101は仮想顔面30aとほぼ同じ形状の矩形であるが、撮影画像101aは上が短く下が長い底辺を含む台形になる。
【0025】
図3(B)は、同様に、位置33bで法線11bと基準線13bが一致すると想定したときの仮想顔面30bの撮影画像103と、位置33bのように法線11bが基準線13bに対して回転角θ2だけ回転している仮想顔面30bの撮影画像103aを示している。撮影画像103は撮影画像101より大きくかつ仮想顔面30bとほぼ同じ形状の矩形であるが、撮影画像103aは撮影画像101aより大きくかつ上が短く下が長い底辺を含む台形になる。撮影画像103aは撮影画像101aに比べて歪みが激しく、顔は顎が大きく突き出、額は狭く後退したような画像になる。
【0026】
位置33cでは、ユーザがディスプレイ59を見るために腰を曲げて、顔が位置33bより大きい俯角αで下を向いている。ユーザは、位置33bよりラップトップ10に近づくと、ディスプレイ59が見やすいように徐々に下を向き始める。ユーザが自然にディスプレイ59をみるとき俯角αは距離dが短くなるほど大きくなるように連続的に変化する。このときの仮想顔面30cに対する法線11cが基準線13cに対して回転する角度を回転角θ3とすると、仮想顔面30bに比べて俯角αの分だけ撮影画像の歪みは緩和される。
【0027】
位置33dでは、ユーザが椅子に座るため、仮想顔面30dの中心31dの高さhがh2になり、かつカメラ51がディスプレイ筐体52の下に取り付けられているため俯角αが発生する。このときの仮想顔面30dの基準線13dに対する回転角はθ4となる。回転角θは、カメラ51からの顔の距離d、俯角αおよびカメラ51に対する顔の高さhから計算することができる。仮想顔面30a〜30dに対応する顔の撮影映像は、回転角θ、俯角αおよび傾斜角βから計算した、法線11a〜11dに垂直な射影面に座標変換すると自然な顔に近づけることができる。
【0028】
距離dおよび高さhは、一例においてラップトップ10にさらに1台のカメラを追加して構成したステレオ・カメラを位置センサおよび高さセンサとして利用することで取得することができる。他の例では距離dを、赤外発光ダイオードと位置検出素子(Position Sensitive Detector)を含む三角測量の原理を応用した距離センサを利用して取得することができる。本発明は、距離dおよび高さhを検出するためにさまざまな既知の距離センサおよび高さセンサを利用することができる。本実施の形態では、以下において、単一のカメラ51の撮影画像から射影変換のパラメータを計算して補正する方法を説明する。
【0029】
図4は、ラップトップ10に搭載した画像補正システム100の構成を示す機能ブロック図である。画像補正システム100は、CPU、システム・メモリ、I/Oデバイスなどのハードウェア資源と、デバイス・ドライバ、OS、アプリケーション・プログラムなどのソフトウェア資源で構成している。撮影部70は、カメラ51、コントローラ、およびデバイス・ドライバなどを含んでおり、30fpsといった所定のフレーム・レートで撮影した映像データを距離計算部71に出力する。
【0030】
距離計算部71は、映像データと参照テーブル79からカメラ51と顔の距離dを計算して映像データとともに出力する。この例に限らず距離計算部71は、ステレオ・カメラや赤外線を利用した専用のセンサなどを利用して顔の距離dを検出するようにしてもよい。参照テーブル79は、所定の焦点距離で撮像面51aに取り込める画面のサイズ(画角)に対する顔の輪郭のサイズSの割合と距離dを関連付けたデータをテーブル形式で格納する。参照テーブル79に代えて、距離計算部71は顔のサイズと距離dを関数で対応付けたプログラムを利用してもよい。
【0031】
距離計算部71は、インテル(登録商標)社のRealsenseテクノロジーや、Windows(登録商標)のAPIを利用して顔のサイズSを検出し、参照テーブル79を参照して推定した距離dを取得することができる。回転角計算部75は、映像データからユーザが立っている状態と座っている状態との間での姿勢の変化を検出して、仮想顔面30a〜30dの高さh1、h2を推定することができる。回転角計算部75は、距離計算部71が推定した距離dから高さh1を推定することができる。回転角計算部75は、専用の高さセンサを利用して顔の高さhを取得してもよい。回転角計算部75は、参照テーブル81に距離dおよび高さhを適用して取得した俯角αから計算した回転角θを俯角αおよび映像データとともに出力する。
【0032】
参照テーブル81は、仮想顔面30a〜30dの高さh1、h2について、実験で求めた距離dに対応する俯角αをテーブル形式で格納する。回転角計算部75は、高さhおよび距離dから俯角αを計算する関数を利用してもよい。傾斜角生成部73は、加速度センサおよびデバイス・ドライバを含みグローバル座標系に対する画像座標系の傾斜角βを出力する。補正画像生成部77は、映像データの画像座標系での座標を、回転角θ、俯角αおよび傾斜角βから計算した射影面に座標変換した映像データを生成する。アプリケーション実行部83は、撮影部70のクライアントで、テレビ会議や動画チャットなどのアプリケーション・プログラムを含む。ネットワーク通信部85は、有線または無線のネットワーク・モジュールを含み、補正した映像データをネットワークに出力する。
【0033】
図5は、ディスプレイ59の前に存在するユーザの顔の俯角および距離をモデル化した図である。ここでは、机91に載置したラップトップ10に対してユーザがカメラ51から遠い距離d3からディスプレイ59を見ながら近づいて距離d1で椅子93に座るまでの仮想顔面30a〜30dの姿勢を示している。光学中心からの距離dがd2以上の間は、ディスプレイ59が遠方にあるため仮想顔面30a、30bに俯角はほとんどないか小さな一定の値と想定することができる。このときの仮想顔面30a、30bの高さhは、標準的な人間の身長と机91の高さに基づいて設定したh1とする。また、グローバル座標系における俯角も実験で想定することができる。
【0034】
距離d3から距離d2までの間の回転角θは、高さh1が一定の時に距離dおよび俯角αが決まれば計算できる。このとき、距離dに対応する俯角αはあらかじめ実験で求めておくことができる。距離dがd2以下になると、ディスプレイ59が近づいてくるために俯角αが大きくなる。このとき俯角αは距離dが短くなるほど大きくなりα3>α2>α1となる。
【0035】
距離d2からd1までの高さを一定のh1とすれば、距離dに対応するグローバル座標系での俯角αを実験で求めておくことで回転角θを計算することができる。距離dがd1以下のときは、ユーザが椅子に座る場合と立っている場合がある。距離計算部71はフレーム・シーケンスから、ユーザの顔が急激に下方向に移動したときに椅子に座ったと判断し、上方向に移動したときに立ったと判断することができる。
【0036】
椅子に座ったときの仮想顔面30dには、所定の俯角α4が発生し高さhは一定のh2になる。椅子に座った状態での俯角α4は一定と想定する。高さh2は標準的な人間の座高と椅子93の高さに基づいて設定し、グローバル座標系における俯角α4は実験で取得することができる。距離dがd1以下でユーザが座っているときは、距離d、高さh2および俯角α4から回転角θを計算することができる。距離dがd1以下でユーザが立っているときは、距離d、高さh1および俯角αから回転角θを計算することができる。高さh1、h2および距離dに対応する俯角αは、参照テーブル81に格納する。
【0037】
図6は、図5のようにユーザの姿勢が変化するときの画像補正システム100の動作手順を示すフローチャートである。図7は、顔の撮影画像に設定した特徴点を説明するための図である。図7(A)は、撮影部70が出力する映像データの1つのフレームに対応する撮影画像301を示し、図7(B)は撮影画像301を座標変換して生成した補正画像303を示している。撮影画像301には、射影変換行列を計算するための特徴点351a〜351dを設定している。
【0038】
補正画像303にも対応する特徴点352a〜352bを示している。図8は、撮影画像301と補正画像303の特徴点351a〜351d、352a〜352bの座標を示している。ユーザは図1に示す平面21に仮想顔面30a〜30dの中心31a〜31dが位置するように移動していると想定する。仮想顔面30a〜30dの中心が平面21から大きくずれた場合は、後に説明するように水平方向の補正をすることができる。
【0039】
ブロック201で撮影部70が映像データを所定のフレーム・レートで出力する。ブロック203で距離計算部71は、受け取ったフレーム・シーケンスから取得した撮影画像301(図7)に対して周知の顔認識技術を適用して人間の顔を認識する。ブロック205で距離計算部71は、撮影画像301に4つの特徴点351a〜351dを設定する。設定した4つの特徴点351a〜351dは後に説明する射影変換行列の要素の計算に利用する。ここでは、特徴点351a〜351dを、両側の眉毛の外側の端と、唇の両端を結ぶ線と輪郭の交点に設定している。特徴点351a〜351dは、顔を正面からみるとほぼ矩形になるが撮影画像301では台形になっている。
【0040】
ブロック207で距離計算部71は各フレームについて顔の大きさSを計算し、参照テーブル79を参照して取得した距離dを回転角計算部75に出力する。本実施の形態では、高さhを立っているときのh1と座っているときのh2のいずれかに設定している。したがって、高さhはh1とh2のいずれかの値になる。ブロック208で回転角計算部75は、距離dから高さhを推定する。
【0041】
ブロック209で回転角計算部75は、距離dがd>d1のときは、ブロック213で高さhをh1に設定する。距離dがd≦d1のときはブロック211に移行する。ブロック211で回転角計算部75は、直前のフレームと今回のフレームを比較して高さの変化の有無を検出し現在の高さhを推定する。現在の高さhの推定のために、デフォルトh1を設定することができる。
【0042】
回転角計算部75は、高さhの変化がないときはブロック213で高さhをデフォルト値のh1に設定する。高さhの変化を検出したときはブロック215で高さhをh2に設定する。あるいは椅子に座った状態で撮影する機会が多い場合は、高さhのデフォルト値をh2にして高さの変化を検出したときに高さh1を認識するようにしてもよい。あるいは、撮影中にユーザが高さhを変更できるようにしてもよい。なお、専用の高さセンサを利用して任意の高さhを取得するようにしてもよい。
【0043】
ブロック217で距離計算部71は、各撮影画像について、参照テーブル81に距離dおよび高さhを適用して取得した俯角αから計算した回転角θを俯角αおよび映像データとともに補正画像生成部77に送る。ブロック219で補正画像生成部77は、傾斜角生成部73から、画像座標系の傾斜角βを取得する。傾斜角βの取得により補正画像生成部77は、グローバル座標系で計算した回転角θを画像座標系に関連付けることができる。
【0044】
ブロック221で補正画像生成部73は、図8(A)に示す撮影画像301の特徴点351a〜351dの座標(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)を計算する。撮影画像301は歪んでいるため、自然な顔では矩形になる特徴点351a〜351dの座標は、上の底辺が短く下の底辺が長い台形を形成する。
【0045】
ブロック223で回転角計算部75は、撮影画像301を射影するための射影面を特定する。射影面は、仮想顔面と平行な平面に相当する。図9は仮想顔面30aの撮影画像を影面371に射影する様子を説明するための図である。撮像面51aのY軸には、仮想顔面30aの特徴点の座標(x1,y1)が撮像されている。撮像面51aは、グローバル座標のYg軸から傾斜角βだけ傾斜している。
【0046】
射影面371には法線11aが垂直に交差する。すなわち、仮想顔面30aと射影面371は平行になる。補正画像生成部77は、俯角α、回転角θおよび傾斜角βから撮像面51aと射影面371の回転角γを計算することで、射影面371を特定する。ブロック225で補正画像生成部77は、撮影画像301の画像座標(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4)を射影面371に射影したときの画像座標(x’1,y’1)、(x’2,y’2)、(x’3,y’3)、(x’4,y’4)を計算する。
【0047】
撮像面51aには透視投影で撮像されるため、射影面371に射影された特徴点352a〜352dの画像座標(x’1,y’1)、(x’2,y’2)、(x’3,y’3)、(x’4,y’4)が形成する図形は、ディスプレイに表示されたときに図8(B)に示すように矩形に近づく。補正画像生成部77は、特徴点351a〜351d、352a〜352dの8つの座標から、撮影画像301の座標(x、y)を射影面371に射影するための射影変換行列を求める。射影変換行列は、式(1)に示すようにA〜Hの8個の要素を含む。補正画像生成部77は式(1)に変換前の4つの座標(x、y)と変換後の4つの座標(x‘、y’)を代入して8次元連立一次方程式を解くことができる。
【0048】
【数1】
【0049】
ブロック227で補正画像生成部73は、撮影画像301の座標を射影変換行列で変換した補正画像303の映像データを生成してブロック229でアプリケーション実行部75に出力する。アプリケーション実行部75は、ネットワーク通信部85を通じて対話の相手に映像データを出力する。ブロック231で距離計算部71は、顔の大きさが所定値以上変化したときにブロック207に戻って新たに射影変換行列を計算する。また、ブロック233で画像座標系の傾斜角βが変化したときも同様である。補正画像生成部77はブロック207以降の手順で、新たな射影変換行列で補正した映像データを生成する。したがって、撮影中にユーザの位置や姿勢が変化したとき、およびディスプレイ筐体52の開閉角度が変化したときに、自動的に撮影映像を補正することができる。
【0050】
画像補正システム100は、ラップトップやデスクトップに搭載してテレビ会議や動画チャットに利用することができる。カメラ51が撮影した撮影映像におけるユーザの実際の視線はディスプレイ方向を向くが、顔の向きがカメラ51の方向に修正されることで、通話の相手は、ディスプレイでみるユーザの顔が自分を向くように感じる。本発明はカメラがディスプレイ59の左右に位置するベゼルに取り付けられているようなディスプレイをみる顔の方向とカメラの方向が大きく異なる場合に適用すると有効である。
【0051】
中心31a〜31dが平面21上にある場合に鉛直方向の回転角θを計算する例を説明したが、中心31a〜31dが平面21から外れている場合は、水平方向の回転角で補正することもできる。この場合、水平方向の回転角を距離dから計算して射影変換行列を計算する。また、ディスプレイ59上の顔の位置を計算して顔の映像を距離dに応じた長さだけディスプレイ59の中心方向に平行移動させることもできる。
【0052】
これまで本発明について図面に示した特定の実施の形態をもって説明してきたが、本発明は図面に示した実施の形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができることはいうまでもないことである。
【符号の説明】
【0053】
10 ラップトップ型パーソナル・コンピュータ
30a〜30d 仮想顔面
51 カメラ
51a 撮像面
59 ディスプレイ
79、81 参照テーブル
100 画像補正システム
101、101a、103、103a、301 撮影画像
303 補正画像
351a〜351d、352a〜352d 特徴点
371 射影面
d 仮想顔面の距離
h、h1、h2 仮想顔面の高さ
α 仮想顔面の俯角
β カメラの傾斜角
図1
図2
図3
図4
図5
図6
図7
図8
図9