JP2018031803A - プロジェクタ装置 - Google Patents
プロジェクタ装置 Download PDFInfo
- Publication number
- JP2018031803A JP2018031803A JP2016161707A JP2016161707A JP2018031803A JP 2018031803 A JP2018031803 A JP 2018031803A JP 2016161707 A JP2016161707 A JP 2016161707A JP 2016161707 A JP2016161707 A JP 2016161707A JP 2018031803 A JP2018031803 A JP 2018031803A
- Authority
- JP
- Japan
- Prior art keywords
- image
- frame
- projection
- projector device
- projection plane
- 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
- Projection Apparatus (AREA)
- Transforming Electric Information Into Light Information (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】プロジェクタ装置が移動した場合であっても、投影対象の画像の視認性を確保しつつ歪み補正をすること。【解決手段】プロジェクタ装置100は、複数のフレームのうちの第1のフレームおよび第1のフレームが投影された投影面Spを撮像した撮像画像Pそれぞれの特徴点を抽出する。プロジェクタ装置100は、抽出した特徴点それぞれの各画像上での位置の差に基づいて、自装置と投影面Spとの位置関係を特定する。プロジェクタ装置100は、特定した自装置と投影面Spとの位置関係に応じて、複数のフレームのうちの第1のフレームより後の第2のフレームを歪み補正する。【選択図】図4
Description
本発明は、プロジェクタ装置に関する。
近年、あらゆる現場でのICT(Information and Communication Technology)の利用の可能性を広げるため、場所を問わず情報の表示・入力を行える手段が望まれている。場所を問わず情報の表示・入力が行える手段として、例えば、スマートフォンやタブレットPC(Personal Computer)などのモバイル端末がある。一方で、モバイル端末の画面は小さく使い方に制限が生じてしまう。例えば、画面が小さいために、表示できる情報量が限られ、また、複数人で情報を共有するには向いていない。このため、場所を問わず、大画面で情報の表示・入力ができるプロジェクタの研究が進められている。
先行技術としては、投影される画像にパターン画像を重ねてプロジェクタと投影面との位置関係を検出し、投影対象の画像を歪み補正する技術がある。具体的には、第1重畳画像をスクリーンに投写させ撮像した第1撮像画像と、第2重畳画像をスクリーンに投写させ撮像した第2撮像画像との各画素の画素値の差分によって表される測定用画像から抽出した測定点に基づいてプロジェクタとスクリーンとの配置関係を検出するものがある。また、カメラで撮影した映像から映像処理によってスクリーン位置・傾きを検出し、スクリーン位置・傾きの情報を使ってプロジェクタ光学系をシミュレーションして、プロジェクタに出力すべき映像を生成する投射映像補正システムがある。また、スクリーンに投写される補助画像パターンと一対の光学式パッシブセンサとの位相を変化させるとともに、一対の光学式パッシブセンサにより補助画像パターンの結像位置の相対的な差を検出し、投写レンズとスクリーンとの傾き角度を算出して台形歪み補正を行うものがある。
しかしながら、従来技術では、投影される画像の視認性を確保することが難しい場合がある。例えば、ユーザが携帯して使用するプロジェクタの場合、プロジェクタは頻繁に移動する。したがって、投影される画像にパターン画像を重ねて歪み補正する場合、プロジェクタが移動する度に投影対象の画像にパターン画像を重ねて歪み補正することになり、投影対象の画像にパターン画像が重なることで視認性が損なわれる。
一つの側面では、本発明は、プロジェクタ装置が移動した場合であっても、投影対象の画像の視認性を確保しつつ歪み補正をすることを目的とする。
本発明の一態様によれば、複数のフレームのうちの第1のフレームを投影面に向けて投影する投影部と、前記投影部によって前記第1のフレームが投影された前記投影面を撮像する撮像部と、前記第1のフレームおよび前記撮像部によって撮像された撮像画像それぞれの特徴点を抽出し、抽出した前記特徴点それぞれの各画像上での位置の差に基づいて、自装置と前記投影面との位置関係を特定し、特定した前記位置関係に応じて、前記複数のフレームのうちの前記第1のフレームより後の第2のフレームを歪み補正する制御部と、を有するプロジェクタ装置が提案される。
本発明の一側面によれば、プロジェクタ装置が移動した場合であっても、投影対象の画像の視認性を確保しつつ歪み補正をすることができる。
以下に図面を参照して、本発明にかかるプロジェクタ装置の実施の形態を詳細に説明する。
(実施の形態)
図1は、実施の形態にかかるプロジェクタ装置100の一実施例を示す説明図である。図1において、プロジェクタ装置100は、ユーザが携帯して使用可能なプロジェクタであり、投影部101と、撮像部102と、制御部103とを有する。投影部101は、フレームを投影面に向けて投影する投影装置である。フレームは、動画を形成する個々の静止画像である。
図1は、実施の形態にかかるプロジェクタ装置100の一実施例を示す説明図である。図1において、プロジェクタ装置100は、ユーザが携帯して使用可能なプロジェクタであり、投影部101と、撮像部102と、制御部103とを有する。投影部101は、フレームを投影面に向けて投影する投影装置である。フレームは、動画を形成する個々の静止画像である。
撮像部102は、投影部101によってフレームが投影された投影面を撮像する撮像装置(カメラ)である。プロジェクタ装置100において、投影部101と撮像部102は、光学中心(焦点)のy座標が一致している。制御部103は、投影対象のフレームを歪み補正するコンピュータである。
ここで、プロジェクタと投影面との位置関係によっては、投影面に投影された画像に歪みが生じる。例えば、投影面に対して、斜めの位置から画像を投影した場合、投影された画像を正面から見ると歪んだ画像として見えてしまう。このため、プロジェクタと投影面との位置関係を推定し、推定した位置関係に応じて、投影対象の画像を歪み補正する技術がある。
例えば、投影される画像にパターン画像を重ねてプロジェクタと投影面との位置関係を検出し、投影対象の画像を歪み補正する技術がある。ところが、ユーザが携帯して使用するプロジェクタの場合、プロジェクタが移動する度に投影対象の画像にパターン画像を重ねて歪み補正することになり、投影対象の画像にパターン画像が重なることで視認性が損なわれてしまう。
また、投影される画像の視認性が損なわれるのを防ぐべく、深度センサを利用して投影面の傾きを推定して歪み補正する技術がある。深度センサは、赤外線プロジェクタでパターン画像を投影し、投影されたパターン画像を赤外線カメラで撮影して、撮影されたパターン画像の歪みから投影面の傾きを推定するものである。
ところが、投影面の傾きを推定する手段として深度センサを採用すると、可視光プロジェクタに加えて、赤外線プロジェクタが必要となり、装置の大型化を招いてしまう。さらに、可視光プロジェクタに加えて、赤外線プロジェクタが必要となるため、消費電力の増大化も招いてしまう。
そこで、本実施の形態では、任意の動画を投影・撮像してプロジェクタ装置100と投影面との位置関係を特定し、特定した位置関係に応じて、投影対象のフレームを歪み補正する方法について説明する。ここで、図2を用いて、プロジェクタ装置100と投影面(以下、「投影面Sp」という)との位置関係について説明する。
図2は、プロジェクタ装置100と投影面Spとの位置関係の一例を示す説明図である。図2において、投影面Spの左下から投影する場合のプロジェクタ装置100と投影面Spとの位置関係が示されている。なお、図2中左側は、プロジェクタ装置100を上から見た場合の位置関係を示しており、図2中右側は、プロジェクタ装置100を右から見た場合の位置関係を示している。
ここで、投影面Spに投影された画像内のある点(例えば、投影部101の光軸中心に位置する点)が、撮像部102の撮像面Siに写り込む位置は、プロジェクタ装置100と投影面Spとの距離が遠くなるにつれて、撮像面Siの中心に近づくという特徴がある。この特徴を利用して、被写体の深度を測定する技術として「光切断法」がある。
プロジェクタ装置100は、この「光切断法」を利用して、投影対象のフレームおよび当該フレームが投影された投影面Spを撮像した撮像画像それぞれから抽出した特徴点の位置の差から、自装置と投影面Spとの位置関係を特定する。以下、具体的な実施例について説明する。
(プロジェクタ装置100のハードウェア構成例)
つぎに、プロジェクタ装置100のハードウェア構成例について説明する。
つぎに、プロジェクタ装置100のハードウェア構成例について説明する。
図3は、プロジェクタ装置100のハードウェア構成例を示すブロック図である。図3において、プロジェクタ装置100は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、I/F(Interface)305と、入力装置306と、投影部101と、撮像部102と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、プロジェクタ装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
I/F305は、通信回線を通じてネットワーク310に接続され、ネットワーク310を介して他のコンピュータに接続される。そして、I/F305は、ネットワーク310と自装置内部とのインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワーク310は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。
入力装置306は、文字、数字、各種指示などの入力のためのキーを有し、データの入力を行う。入力装置306は、例えば、タッチパネル式の入力パッドやテンキーなどであってもよい。投影部101は、フレームを投影面に向けて投影する投影装置である。撮像部102は、投影部101によってフレームが投影された投影面を撮像する撮像装置である。
なお、プロジェクタ装置100は、上述した構成部のうち、例えば、ディスクドライブ303、ディスク304を有さないことにしてもよい。また、プロジェクタ装置100は、上述した構成部のほかに、例えば、SSD(Solid State Drive)、ディスプレイなどを有することにしてもよい。
(プロジェクタ装置100の機能的構成例)
つぎに、プロジェクタ装置100の機能的構成について説明する。
つぎに、プロジェクタ装置100の機能的構成について説明する。
図4は、プロジェクタ装置100の機能的構成例を示すブロック図である。図4において、プロジェクタ装置100は、取得部401と、抽出部402と、特定部403と、補正部404と、を含む構成である。取得部401〜補正部404は制御部103(図1参照)となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。
取得部401は、複数のフレームのうちの第1のフレームを取得する。ここで、複数のフレームは、投影対象となる動画を形成する一連のフレームである。複数のフレームは、例えば、図3に示した入力装置306を用いたユーザの操作入力により、または、外部のコンピュータからプロジェクタ装置100に入力される。
また、第1のフレームは、複数のフレームのうちのいずれかのフレーム、あるいは、当該フレームを歪み補正したものである。具体的には、例えば、取得部401は、後述する補正部404によって歪み補正された補正済みのフレームを第1のフレームとして、メモリ302内のVRAM(Video RAM)から取得する。
また、取得部401は、撮像部102によって撮像された撮像画像を取得する。具体的には、例えば、取得部401は、第1のフレームが投影された投影面Spを撮像した撮像画像を撮像部102から取得する。以下の説明では、第1のフレームが投影された投影面Spを撮像した撮像画像を「撮像画像P」と表記する場合がある。
抽出部402は、第1のフレームおよび撮像画像Pそれぞれの特徴点を抽出する。ここで、特徴点とは、第1のフレームおよび撮像画像Pの各画像上の特徴のある点である。具体的には、例えば、抽出部402は、所定の走査方向それぞれについて、第1のフレームおよび撮像画像Pそれぞれを走査することにより、走査方向に連続する画素間の輝度差が閾値α以上となる点を特徴点として抽出することにしてもよい。
画素間の輝度差とは、隣り合う画素間の輝度の差である。例えば、撮像画像P(または、第1のフレーム)がグレースケール画像であれば、隣り合う各画素の輝度の差が画素間の輝度差となる。また、撮像画像P(または、第1のフレーム)がカラー画像であれば、例えば、各画素のR(赤)、G(緑)、B(青)それぞれの輝度の平均値を、各画素の輝度として扱うことにしてもよい。閾値αは、任意に設定可能である。例えば、各画素の輝度が0〜255の256階調で表される場合、閾値αは、100〜130程度に設定される。
所定の走査方向は、任意に設定可能であり、複数設定される。例えば、所定の走査方向として、第1、第2および第3の走査方向が設定されることにしてもよい。第1の走査方向は、各画像を左上から右下まで水平に走査する走査方向である。第2の走査方向は、各画像を右中央から左上(あるいは、左下)まで水平に走査する走査方向である。第3の走査方向は、各画像を左下から右上まで水平に走査する走査方向である。
これにより、各画像において輝度変化が大きい点を特徴点として抽出することができる。また、同じ抽出条件(同じ走査方向、同じ閾値α)で各画像から特徴点を抽出するため、同じ箇所を表している可能性が高い特徴点の組み合わせを抽出することができる。また、各画像において特徴点同士ができるだけ離れた点となるように3点の特徴点を抽出することができる。
以下の説明では、撮像画像Pから抽出された特徴点を「特徴点p」と表記し、第1のフレームから抽出された特徴点を「特徴点p’」と表記する場合がある。特徴点p,p’は、同じ箇所を表している可能性が高い対応点である。また、各画像(撮像画像P、第1のフレーム)を第1の走査方向に走査して抽出された特徴点を「特徴点p1,p’1」と表記する場合がある。また、各画像を第2の走査方向に走査して抽出された特徴点を「特徴点p2,p’2」と表記する場合がある。また、各画像を第3の走査方向に走査して抽出された特徴点を「特徴点p3,p’3」と表記する場合がある。
なお、各特徴点p,p’の抽出例については、図7〜図12を用いて後述する。
特定部403は、特徴点p,p’それぞれの各画像上での位置の差に基づいて、自装置と投影面Spとの位置関係を特定する。ここで、投影部101と撮像部102は、上述したように、光学中心(焦点)のy座標が一致しており、垂直方向の視差がない配置となっている。このため、特徴点p,p’それぞれの各画像上での位置の差は、特徴点p,p’のx座標の差分として扱うことができる。
ただし、第1のフレームと撮像画像Pの解像度が同じであるとは限らない。このため、第1のフレームと撮像画像Pの解像度が異なる場合、特定部403は、特徴点p,p’のいずれか一方の座標を、画像間の解像度の比に応じて座標変換することにしてもよい。一例として、第1のフレームの解像度が「500×1000」であり、撮像画像Pの解像度が「150×300」であるとする。この場合、例えば、撮像画像P上の特徴点pの座標(x,y)を座標変換すると、(x×500/150,y×1000/300)となる。
以下の説明では、撮像画像P上での特徴点pの座標を(x,y)と表記し、第1のフレーム上での特徴点p’の座標を(x’,y’)と表記する場合がある。ただし、第1のフレームと撮像画像Pの解像度が異なる場合は、特徴点pの座標(x,y)は、座標変換後の座標を示すものとする。
具体的には、例えば、まず、特定部403は、下記式(1)を用いて、特徴点p,p’のx座標の差分を算出する。ただし、xdiffは、特徴点p,p’のx座標の差分を示す。
xdiff=x−x’ ・・・(1)
x座標の差分xdiffが小さいほど、プロジェクタ装置100と投影面Spとの距離が遠いといえる。このため、特定部403は、光切断法により、特徴点p,p’のx座標の差分xdiffに基づいて、特徴点pの深度zを算出する。深度zは、撮像部102の光学中心から投影面Spまでの距離を表す。
より具体的には、例えば、特定部403は、下記式(2)を用いて、特徴点pの深度zを算出する。ただし、zは、特徴点pに対応する深度である。dは、投影部101と撮像部102との視差(設定値)である。fは、撮像部102の焦点距離(設定値)である。
z=d×f/xdiff ・・・(2)
つぎに、特定部403は、特徴点pの深度zに基づいて、特徴点pの3次元座標(X,Y,Z)を算出する。特徴点pの3次元座標(X,Y,Z)は、図5に示すように、撮像画像Pに写る特徴点pの投影面Sp上での位置を示す座標である。
図5は、特徴点pの投影面Sp上での位置を示す説明図である。図5において、撮像部102の光学中心を原点(0,0,0)とする3次元座標系における、特徴点pの投影面Sp上での位置を示す3次元座標(X,Y,Z)が示されている。
より具体的には、例えば、特定部403は、下記式(3)を用いて、特徴点pの3次元座標(X,Y,Z)を算出する。ただし、x、yは、撮像画像P上での特徴点pのx座標、y座標である。zは、特徴点pの深度である。dは、投影部101と撮像部102との視差である。fは、撮像部102の焦点距離である。
(X,Y,Z)=(x×z/f,y×z/f,z) ・・・(3)
特定部403は、「特徴点p1,p’1」、「特徴点p2,p’2」および「特徴点p3,p’3」それぞれの組み合わせについて、上述した処理を行って、各特徴点p1〜p3の投影面Sp上での3次元座標を算出する。これにより、撮像画像Pから抽出された各特徴点p1〜p3の投影面Sp上での3次元座標を算出することができる。
以下の説明では、特徴点p1の投影面Sp上での3次元座標を(X1,Y1,Z1)と表記し、特徴点p2の投影面Sp上での3次元座標を(X2,Y2,Z2)と表記し、特徴点p3の投影面Sp上での3次元座標を(X3,Y3,Z3)と表記する場合がある。
そして、特定部403は、下記式(4)の平面の方程式を解くことにより、各特徴点p1〜p3の3次元座標が示す点を通る平面の傾きa、b、cを算出する。より具体的には、例えば、特定部403は、下記式(5)〜(10)を用いて、下記式(4)の傾きa、b、cを算出することができる。ベクトルABとベクトルACの外積は平面の法線ベクトルとなり、その成分がX,Y,Zの係数となる。なお、定数dは、下記式(4)に特徴点p1の3次元座標(X1,Y1,Z1)を代入することにより求めることができる。
aX+bY+cZ+d=0 ・・・(4)
そして、特定部403は、算出した平面の傾きa、b、cを、投影面Spの傾きa、b、cとして推定(記録)する。これにより、プロジェクタ装置100と投影面Spとの位置関係(深度z、傾きa、b、c)を特定することができる。
補正部404は、特定された自装置と投影面Spとの位置関係に応じて、複数のフレームのうちの第2のフレームを歪み補正する。第2のフレームは、複数のフレームのうちの第1のフレーム以降の少なくともいずれかのフレームであり、例えば、第1のフレームの次のフレームである。具体的には、例えば、補正部404は、投影面Spの傾きa、b、cによって生じる変形の逆変形を加えて第2のフレームを補正する。
より詳細に説明すると、例えば、補正部404は、投影面Spの傾きa、b、cから、プロジェクタ装置100の回転の逆行列Rspを算出する。つぎに、補正部404は、逆行列Rspから、画像の透視変換を表すホモグラフィ行列Hを算出する。そして、補正部404は、ホモグラフィ行列Hを用いて、第2のフレームを透視変換することにより、第2のフレームを補正する。
これにより、投影面Spの正面から見た際に、投影された画像が歪んで見えないようにフレームを補正することができる。以下の説明では、複数のフレームに含まれるフレームを歪み補正したフレームを「補正済みフレーム」と表記する場合がある。
なお、逆行列Rspを算出する具体的な処理内容については、図13を用いて後述する。また、ホモグラフィ行列Hを算出する具体的な処理内容については、図14を用いて後述する。
また、抽出部402は、撮像画像Pから背景色を打ち消すことにしてもよい。具体的には、例えば、まず、抽出部402は、撮像部102によって撮像された背景画像BPを取得する。ここで、背景画像BPとは、投影部101によるフレームの投影が行われていない非投影時に投影面Spを撮像した画像である。
そして、抽出部402は、撮像画像Pと背景画像BPとの各画素の輝度の差分を取ることにより、撮像画像Pから背景色を打ち消す。より具体的には、例えば、抽出部402は、撮像画像Pのうち、背景画像BPの画素との輝度の差分が0(あるいは、ほぼ0)となる画素の輝度を「null値」に変更することにしてもよい。
この場合、抽出部402は、例えば、所定の走査方向それぞれについて、背景色を打ち消した撮像画像Pを走査することにより、走査方向に連続する画素間の輝度差が閾値α以上となる点を特徴点pとして抽出する。ただし、輝度が「null値」に変更された部分については、スキップして処理対象から除外する。
これにより、撮像画像P上の背景部分から特徴点pが抽出されるのを防いで、撮像画像Pおよび第1のフレームのそれぞれから、同じ箇所を表している可能性が高い特徴点p,p’の組み合わせを精度よく抽出することができる。
なお、背景画像BPは、例えば、複数のフレームの先頭に黒一色のフレームを挿入し、投影対象の画像が黒一色のフレームの場合に、投影部101をOFFにして、そのフレームの投影は行わないようにすることにより取得される。
ただし、プロジェクタ装置100の姿勢が変化すると、背景が変化するため、背景画像BPを更新することが望ましい。一方で、プロジェクタ装置100の姿勢の変化が小さい場合には、背景が大きく変化する可能性は低い。そこで、抽出部402は、プロジェクタ装置100の大きな姿勢変化があった場合に、背景画像BPを更新することにしてもよい。
具体的には、例えば、抽出部402は、算出された最新の投影面Spの傾きa、b、cと、前回算出された投影面Spの傾きa、b、cとの変化量が閾値より大きくなった場合に、プロジェクタ装置100の大きな姿勢変化があったとして、背景画像BPを更新することにしてもよい。
より詳細に説明すると、抽出部402は、前回算出された投影面Spの傾きa、b、cから、X軸、Y軸周りの回転量θ1、ψ1を算出する。また、抽出部402は、最新の投影面Spの傾きa、b、cから、X軸、Y軸周りの回転量θ2、ψ2を算出する。そして、抽出部402は、傾きの変化量θdiff(=abs(θ1−θ2))およびψdiff(=abs(ψ1−ψ2))を算出する。ただし、abs(A)は、Aの絶対値である。
つぎに、抽出部402は、傾きの変化量θdiffが閾値θthより大きいか否かを判断する。また、抽出部402は、傾きの変化量ψdiffが閾値ψthより大きいか否かを判断する。なお、閾値θthおよび閾値ψthは、任意に設定可能であり、例えば、30°程度の値に設定される。
そして、抽出部402は、傾きの変化量θdiffが閾値θthより大きく、かつ、傾きの変化量ψdiffが閾値ψthより大きい場合に、プロジェクタ装置100の大きな姿勢変化があったとして、背景画像BPを更新する。例えば、抽出部402は、投影対象のフレームを黒一色の画像に差し替えて、投影部101をOFFにする。そして、抽出部402は、非投影時に撮像された撮像画像を背景画像BPとして取得し直す。
これにより、プロジェクタ装置100の姿勢が大きく変化して、背景(背景色)が大きく変化した可能性が高くなった場合に、背景画像BPを更新することができる。
なお、上述した説明では、投影面Spの傾きa、b、cの変化量からプロジェクタ装置100の姿勢変化を判断することにしたが、これに限らない。例えば、プロジェクタ装置100の動きを検知するモーションセンサを別途設けて、プロジェクタ装置100の大きな姿勢変化を検出することにしてもよい。
(補正済みフレームバッファ)
ここで、投影部101によって補正済みのフレームが投影面Spに向けて投影され、撮像部102によって投影面Spが撮像されるまでの間には遅延が生じる。したがって、投影対象のフレームと、撮像部102によって撮像された撮像画像に写り込んだフレームとの間に、ずれが生じる場合がある。
ここで、投影部101によって補正済みのフレームが投影面Spに向けて投影され、撮像部102によって投影面Spが撮像されるまでの間には遅延が生じる。したがって、投影対象のフレームと、撮像部102によって撮像された撮像画像に写り込んだフレームとの間に、ずれが生じる場合がある。
例えば、上述した遅延がフレームレートを上回ると、撮像画像が撮像された時に投影対象となっているフレームが、撮像画像に写り込んでいるフレームと異なるものとなる。フレームがずれると、同じ箇所を表している対応点(特徴点p,p’の組み合わせ)を抽出できず、投影面Spの傾きa、b、cの推定精度の低下を招くおそれがある。
そこで、投影済みのフレームを保存しておき、投影面Spの傾きa、b、cを推定する際、すなわち、抽出部402が特徴点p,p’を抽出する際に、遅延を考慮して過去のフレームを用いることにしてもよい。具体的には、例えば、抽出部402は、図6に示すような、補正済みフレームバッファを利用して、複数のフレームのうち、撮像画像Pが撮像される一定時間前に投影されたフレームを、第1のフレームとして用いることにしてもよい。
図6は、補正済みフレームバッファの具体例を示す説明図である。図6において、補正済みフレームバッファ600は、補正済みフレームへのポインタを格納するN個のエントリを有するリングバッファである。Nは、エントリ数であり、Tをrで割った値である(小数点以下切り上げ)。
Tは、投影部101によって補正済みのフレームが投影面Spに向けて投影され、撮像部102によって投影面Spが撮像されるまでの間に生じる遅延時間である。rは、フレームレートである。ただし、遅延時間Tは一定であり、かつ、投影部101と撮像部102のフレームレートは等しいものとする。
補正部404は、補正済みフレームをメモリ302内のVRAMに書き込む際に、補正済みフレームバッファ600のtailの先のエントリに補正済みフレームのポインタを書き込んで、tailを1つ進める(tail=tail+1)。ただし、「tail=N−1」であれば、「tail=0」とする。
一方、抽出部402は、補正済みフレームを読み出す際には、「tail+1」番のエントリから特定される補正済みフレーム(一番古いフレーム)を読み出す。ただし、「tail=N−1」であれば、抽出部402は、0番のエントリから特定される補正済みフレームを読み出す。
これにより、投影面Spの傾きa、b、cを推定する際に、遅延時間Tを考慮して、複数のフレームのうち、撮像画像Pが撮像される一定時間前に投影されたフレームを用いることができる。このため、同じ箇所を表している可能性が高い特徴点p,p’の組み合わせを精度よく抽出して、投影面Spの傾きa、b、cの推定精度の低下を防ぐことができる。
(特徴点p,p’の抽出例)
つぎに、図7〜図12を用いて、特徴点p,p’の抽出例について説明する。まず、図7を用いて、投影対象のフレーム(第1のフレーム)および当該フレームが投影された投影面Spを撮像した撮像画像Pの具体例について説明する。
つぎに、図7〜図12を用いて、特徴点p,p’の抽出例について説明する。まず、図7を用いて、投影対象のフレーム(第1のフレーム)および当該フレームが投影された投影面Spを撮像した撮像画像Pの具体例について説明する。
図7は、投影対象のフレームおよび撮像画像Pの具体例を示す説明図である。図7において、補正済みフレーム710は、投影部101によって投影される前のフレーム(第1のフレーム)であり、投影面Spに投影後に正面から見ると歪んで見えないように歪み補正されている。撮像画像720は、投影部101によって補正済みフレーム710が投影された投影面Spを撮像した撮像画像Pである。
以下、補正済みフレーム710および撮像画像720を例に挙げて、特徴点p,p’の抽出例について説明する。
図8は、撮像画像Pからの背景色の打ち消し例を示す説明図である。図8において、撮像画像720は、投影部101によって補正済みフレーム710が投影された投影面Spを撮像した撮像画像Pである。背景画像800は、投影部101によるフレームの投影が行われていない非投影時に投影面Spを撮像した背景画像BPである。
この場合、抽出部402は、撮像画像720と背景画像800との各画素の輝度の差分を取ることにより、撮像画像Pから背景色を打ち消す。以下、背景色が打ち消された撮像画像720についても、単に「撮像画像720」と表記する。
図9は、特徴点p,p’の抽出例を示す説明図(その1)である。図9において、抽出部402は、撮像画像720および補正済みフレーム710それぞれを第1の走査方向に走査することにより、連続する画素間の輝度差が閾値α以上となる最初の点を、特徴点p1,p’1として抽出する。第1の走査方向は、各画像を左上から右下まで水平に走査する走査方向である。
ただし、背景色が打ち消されて輝度が「null値」に変更された部分については、スキップして処理対象から除外する。
具体的には、例えば、抽出部402は、各画像を左上(0,0)から右に向けて探索し、各画素について、直前の画素との輝度変化(輝度の差分)を算出する。例えば、B(x,y)を座標(x,y)の輝度とすると、画素間の輝度変化は「Bdiff=B(x,y)−B(x−1,y)」で表される。
抽出部402は、xが「w+1」となるまで、輝度変化Bdiffが閾値α以上となる点を探索する。wは、各画像の横の画素数である。また、抽出部402は、xが「w+1」となっても、輝度変化Bdiffが閾値α以上の点が探索されなかった場合は、yをインクリメントして、xが「0」から「w+1」となるまで、輝度変化Bdiffが閾値α以上となる点を探索する。
なお、輝度変化Bdiffが閾値α以上となる点が探索されなかった場合、抽出部402は、yが「h」となるまで、同様の処理を繰り返す。hは、各画像の縦の画素数である。yが「h」となっても輝度変化Bdiffが閾値α以上の点が探索されなかった場合は、抽出失敗となる。
この結果、図9の例では、撮像画像720から特徴点p1が抽出され、補正済みフレーム710から特徴点p’1が抽出されている。これら2点の特徴点p1,p’1は、同じ箇所を表している可能性が高い対応点である。
図10は、特徴点p,p’の抽出例を示す説明図(その2)である。図10において、抽出部402は、撮像画像720および補正済みフレーム710それぞれを第2の走査方向に走査することにより、連続する画素間の輝度差が閾値α以上となる最初の点を、特徴点p2,p’2として抽出する。第2の走査方向は、各画像を右中央から左上(あるいは、左下)まで水平に走査する走査方向である。
具体的には、例えば、抽出部402は、各画像を右中央(w,h/2)から左に向けて探索し、各画素について、直前の画素との輝度変化Bdiffを算出する。そして、抽出部402は、xが「1」となるまで、輝度変化Bdiffが閾値α以上となる点を探索する。
また、抽出部402は、xが「1」となっても、輝度変化Bdiffが閾値α以上の点が探索されなかった場合は、yをデクリメント(あるいは、インクリメント)して、xが「w」から「1」となるまで、輝度変化Bdiffが閾値α以上となる点を探索する。
なお、輝度変化Bdiffが閾値α以上となる点が探索されなかった場合、抽出部402は、yが「0(あるいは、h)」となるまで、同様の処理を繰り返す。yが「0(あるいは、h)」となっても輝度変化Bdiffが閾値α以上の点が探索されなかった場合は、抽出失敗となる。
この結果、図10の例では、撮像画像720から特徴点p2が抽出され、補正済みフレーム710から特徴点p’2が抽出されている。これら2点の特徴点p2,p’2は、同じ箇所を表している可能性が高い対応点である。
図11は、特徴点p,p’の抽出例を示す説明図(その3)である。図11において、抽出部402は、撮像画像720および補正済みフレーム710それぞれを第3の走査方向に走査することにより、連続する画素間の輝度差が閾値α以上となる最初の点を、特徴点p3,p’3として抽出する。第3の走査方向は、各画像を左下から右上まで水平に走査する走査方向である。
具体的には、例えば、抽出部402は、各画像を左下(0,h)から右に向けて探索し、各画素について、直前の画素との輝度変化Bdiffを算出する。そして、抽出部402は、xが「w+1」となるまで、輝度変化Bdiffが閾値α以上となる点を探索する。
また、抽出部402は、xが「w+1」となっても、輝度変化Bdiffが閾値α以上の点が探索されなかった場合は、yをデクリメントして、xが「0」から「w+1」となるまで、輝度変化Bdiffが閾値α以上となる点を探索する。
なお、輝度変化Bdiffが閾値α以上となる点が探索されなかった場合、抽出部402は、yが「0」となるまで、同様の処理を繰り返す。yが「0」となっても輝度変化Bdiffが閾値α以上の点が探索されなかった場合は、抽出失敗となる。
この結果、図11の例では、撮像画像720から特徴点p3が抽出され、補正済みフレーム710から特徴点p’3が抽出されている。これら2点の特徴点p3,p’3は、同じ箇所を表している可能性が高い対応点である。
図12は、各画像上での特徴点p,p’を示す説明図である。図12において、撮像画像720から抽出された3点の特徴点p1,p2,p3が示されている。また、補正済みフレーム710から抽出された3点の特徴点p’1,p’2,p’3が示されている。
特定部403は、特徴点p1,p’1、特徴点p2,p’2および特徴点p3,p’3それぞれの組み合わせに基づいて、各特徴点p1〜p3の深度z1〜z3を算出する。そして、特定部403は、深度z1〜z3に基づいて、各特徴点p1〜p3の3次元座標が示す点を通る平面の傾きa、b、cを算出して、投影面Spの傾きa、b、cを推定する。
(逆行列Rspを算出する具体的な処理内容)
ここで、逆行列Rspを算出する具体的な処理内容について説明する。まず、補正部404は、上記式(4)の傾きa、b、cに基づいて、下記式(11)のように、法線ベクトル(係数)(a,b,c)を正規化する。
ここで、逆行列Rspを算出する具体的な処理内容について説明する。まず、補正部404は、上記式(4)の傾きa、b、cに基づいて、下記式(11)のように、法線ベクトル(係数)(a,b,c)を正規化する。
ここでは、図13に示すような、プロジェクタ装置100の座標系が設定されている場合を想定する。
図13は、プロジェクタ装置100の座標系の一例を示す説明図である。図13に示すように、プロジェクタ装置100の座標系を設定すると、プロジェクタ装置100の正位置(投影面Spに対して正面、直角)からのプロジェクタ装置100の傾きを表す回転行列Rpは、下記式(12)のように表現することができる。ただし、θは、X軸周りの回転量、ψはY軸周りの回転量を示す。Z軸周りの回転については、補正しないため「0」とみなす。
そして、特定部403は、下記式(13)から、回転行列Rpを求める。具体的には、下記式(13)から、「sinψ=a’」、「−sinθcosψ=b’」、「cosθcosψ=c’」となり、回転行列Rpが求まる。そして、補正部404は、下記式(14)から、逆行列Rspを算出することができる。
Rsp=Rp^(−1) ・・・(14)
(ホモグラフィ行列Hを算出する具体的な処理内容)
つぎに、ホモグラフィ行列Hを算出する具体的な処理内容について説明する。まず、補正部404は、投影面Sp上で表示される画像とプロジェクタ装置100に入力される画像(フレーム)の関係を示す座標変換行列を算出する。
つぎに、ホモグラフィ行列Hを算出する具体的な処理内容について説明する。まず、補正部404は、投影面Sp上で表示される画像とプロジェクタ装置100に入力される画像(フレーム)の関係を示す座標変換行列を算出する。
ここでは、図14に示すような、投影面Spの座標系と、プロジェクタ装置100の座標系とが設定されている場合を想定する。
図14は、投影面Spとプロジェクタ装置100の座標系の一例を示す説明図である。図14に示すように、投影面Sp(スクリーン)の画像座標系(us,vs)と3次元座標系(xs,ys,zs)、プロジェクタ装置100の画像座標系(up,vp)と3次元座標系(xp,yp,zp)を設定したとする。ただし、投影面Sp(スクリーン)の3次元座標系は、スクリーン上の点がzs=0の平面上となるように定める。
ここで、投影面Sp(スクリーン)の画像座標系(us,vs)の位置に表示したい点が、プロジェクタ装置100の画像座標系(up,vp)のどの位置になるかの関係が分かれば、投影面Sp(スクリーン)上に表示される画像を制御することができる。そこで、補正部404は、下記式(15)を用いて、この関係を導出する。
ただし、Pspは、透視射影行列である。Apは、下記式(16)のように、プロジェクタ装置100の内部パラメータを表す既知の定数である。fpx,fpyは、「fpx=fpy=レンズの焦点距離(mm)×光学素子上のpix/mm」となる。(cpx,cpy)は、フレームの中心座標である。Rspは、回転行列である。Tspは、平行移動ベクトルであり、下記式(17)のように、算出された深度zにより決定される。
ここで、スクリーン上の点は、zs=0の平面上にあるため、下記式(18)となる。ただし、r00〜r22は、回転行列の各成分である。tx〜tzは、並行移動ベクトルの各成分である。
また、投影面Sp(スクリーン)の画像座標系(us,vs)と3次元座標系(xs,ys,zs)は、下記式(19)によって関係付けることができる。
そして、上記式(18)および(19)を用いると、投影面Sp(スクリーン)の画像座標系(us,vs)と、プロジェクタ装置100の画像座標系(up,vp)は、下記式(20)によって関係付けることができる。
これらのことから、プロジェクタ装置100の画像座標(up,vp,1)と、投影面Sp(スクリーン)の画像座標系(us,vs,1)は、下記式(21)によって関係付けることができる。このため、補正部404は、下記式(21)を用いて、下記式(22)のように、ホモグラフィ行列Hを算出することができる。
(プロジェクタ装置100の歪み補正処理手順)
つぎに、図15〜図18を用いて、プロジェクタ装置100の歪み補正処理手順について説明する。歪み補正処理は、例えば、投影対象となる動画を形成する複数のフレームのフレーム単位で実行される。また、複数のフレームの先頭には、黒一色のフレームが挿入されている場合を想定する。
つぎに、図15〜図18を用いて、プロジェクタ装置100の歪み補正処理手順について説明する。歪み補正処理は、例えば、投影対象となる動画を形成する複数のフレームのフレーム単位で実行される。また、複数のフレームの先頭には、黒一色のフレームが挿入されている場合を想定する。
図15は、プロジェクタ装置100の歪み補正処理手順の一例を示すフローチャートである。図15のフローチャートにおいて、まず、プロジェクタ装置100は、投影対象の補正済みフレームを取得する(ステップS1501)。具体的には、例えば、プロジェクタ装置100は、補正済みフレームバッファ600(図6参照)の「tail+1」番のエントリから特定される補正済みフレームを、メモリ302内のVRAMから読み出す。
つぎに、プロジェクタ装置100は、取得した補正済みフレームが黒一色のフレームであるか否かを判断する(ステップS1502)。ここで、黒一色のフレームの場合(ステップS1502:Yes)、プロジェクタ装置100は、投影部101をOFFにして、撮像部102によって撮像された撮像画像を取得する(ステップS1503)。
そして、プロジェクタ装置100は、取得した撮像画像を背景画像BPとしてメモリ302に記録して(ステップS1504)、本フローチャートによる一連の処理を終了する。これにより、非投影時に撮像された画像を背景画像BPとして取得することができる。なお、背景画像BPが記録されると、投影部101はOFFからONに復帰する。
また、ステップS1502において、黒一色のフレームではない場合(ステップS1502:No)、プロジェクタ装置100は、撮像部102によって撮像された撮像画像Pを取得する(ステップS1505)。撮像画像Pは、ステップS1501において取得された補正済みフレームが投影された投影面Spを撮像した画像である。
そして、プロジェクタ装置100は、取得した撮像画像Pと、メモリ302に記録された背景画像BPとの差分を取って、撮像画像Pから背景色を打ち消す(ステップS1506)。つぎに、プロジェクタ装置100は、補正済みフレームおよび撮像画像Pそれぞれの特徴点p,p’を抽出する特徴点抽出処理を実行する(ステップS1507)。なお、特徴点抽出処理の具体的な処理手順については、図16を用いて後述する。
そして、プロジェクタ装置100は、特徴点p,p’それぞれの各画像上でのx座標の差分に基づいて、投影面Spの傾きa、b、cを推定する傾き推定処理を実行する(ステップS1508)。なお、傾き推定処理の具体的な処理手順については、図17を用いて後述する。
つぎに、プロジェクタ装置100は、投影対象の次のフレームを歪み補正する補正処理を実行する(ステップS1509)。なお、補正処理の具体的な処理手順については、図18を用いて後述する。そして、プロジェクタ装置100は、補正済みフレームをメモリ302内のVRAMに書き込んで(ステップS1510)、本フローチャートによる一連の処理を終了する。
これにより、投影対象の画像の視認性を確保しつつ歪み補正をすることができる。なお、ステップS1510において、プロジェクタ装置100は、例えば、補正済みフレームバッファ600のtailの先のエントリに補正済みフレームのポインタを書き込んで、tailを1つ進める。
<特徴点抽出処理手順>
つぎに、図15に示したステップS1507の特徴点抽出処理の具体的な処理手順について説明する。
つぎに、図15に示したステップS1507の特徴点抽出処理の具体的な処理手順について説明する。
図16は、特徴点抽出処理の具体的処理手順の一例を示すフローチャートである。図16のフローチャートにおいて、まず、プロジェクタ装置100は、補正済みフレームおよび撮像画像Pの各画像を第1の走査方向に走査して、画素間の輝度差が閾値α以上となる特徴点p1,p’1を抽出する(ステップS1601)。
なお、補正済みフレームは、図15に示したステップS1501において取得された画像である。また、撮像画像Pは、ステップS1505において取得された画像である。また、第1の走査方向は、各画像を左上から右下まで水平に走査する走査方向である。
つぎに、プロジェクタ装置100は、補正済みフレームおよび撮像画像Pの各画像を第2の走査方向に走査して、画素間の輝度差が閾値α以上となる特徴点p2,p’2を抽出する(ステップS1602)。なお、第2の走査方向は、各画像を右中央から左上(あるいは、左下)まで水平に走査する走査方向である。
つぎに、プロジェクタ装置100は、補正済みフレームおよび撮像画像Pの各画像を第3の走査方向に走査して、画素間の輝度差が閾値α以上となる特徴点p3,p’3を抽出する(ステップS1603)。なお、第3の走査方向は、各画像を左下から右上まで水平に走査する走査方向である。
そして、プロジェクタ装置100は、各画像からそれぞれ異なる位置の特徴点p1〜p3,p’1〜p’3が抽出されたか否かを判断する(ステップS1604)。ここで、特徴点p1〜p3,p’1〜p’3が抽出された場合(ステップS1604:Yes)、プロジェクタ装置100は、抽出成功と判断して(ステップS1605)、特徴点抽出処理を呼び出したステップに戻る。
一方、特徴点p1〜p3,p’1〜p’3が抽出されなかった場合には(ステップS1604:No)、プロジェクタ装置100は、抽出失敗と判断して(ステップS1606)、特徴点抽出処理を呼び出したステップに戻る。
これにより、補正済みフレームおよび撮像画像Pの各画像から、同じ箇所を表している可能性が高い特徴点の組み合わせ(対応点「特徴点p1,p’1」、「特徴点p2,p’2」、「特徴点p3,p’3」)を抽出することができる。
<傾き推定処理手順>
つぎに、図15に示したステップS1508の傾き推定処理の具体的な処理手順について説明する。
つぎに、図15に示したステップS1508の傾き推定処理の具体的な処理手順について説明する。
図17は、傾き推定処理の具体的処理手順の一例を示すフローチャートである。図17のフローチャートにおいて、まず、プロジェクタ装置100は、特徴点抽出処理において抽出成功したか否かを判断する(ステップS1701)。
ここで、抽出成功した場合(ステップS1701:Yes)、プロジェクタ装置100は、特徴点p1〜p3,p’1〜p’3のうち対応点となる未選択の特徴点p,p’を選択する(ステップS1702)。そして、プロジェクタ装置100は、上記式(1)を用いて、選択した特徴点p,p’のx座標の差分xdiffを算出する(ステップS1703)。
つぎに、プロジェクタ装置100は、光切断法により、算出した特徴点p,p’のx座標の差分xdiffに基づいて、特徴点pの深度zを算出する(ステップS1704)。そして、プロジェクタ装置100は、特徴点pの深度zに基づいて、特徴点pの投影面Sp上での位置を示す3次元座標(X,Y,Z)を算出する(ステップS1705)。
つぎに、プロジェクタ装置100は、特徴点p1〜p3,p’1〜p’3のうち対応点となる未選択の特徴点p,p’があるか否かを判断する(ステップS1706)。ここで、未選択の特徴点p,p’がある場合(ステップS1706:Yes)、プロジェクタ装置100は、ステップS1702に戻る。
一方、未選択の特徴点p,p’がない場合(ステップS1706:No)、プロジェクタ装置100は、上記式(4)の平面の方程式を解くことにより、各特徴点p1〜p3の3次元座標が示す点を通る平面の傾きa、b、cを算出する(ステップS1707)。そして、プロジェクタ装置100は、算出した平面の傾きa、b、cを、投影面Spの傾きa、b、cとして推定して(ステップS1708)、傾き推定処理を呼び出したステップに戻る。
また、ステップS1701において、特徴点抽出処理において抽出失敗した場合(ステップS1701:No)、プロジェクタ装置100は、前回推定された投影面Spの傾きa、b、cを、投影面Spの傾きa、b、cとして推定して(ステップS1709)、傾き推定処理を呼び出したステップに戻る。
これにより、プロジェクタ装置100に対する投影面Spの傾きa、b、cを推定することができる。
<補正処理手順>
つぎに、図15に示したステップS1509の補正処理の具体的な処理手順について説明する。
つぎに、図15に示したステップS1509の補正処理の具体的な処理手順について説明する。
図18は、補正処理の具体的処理手順の一例を示すフローチャートである。図18のフローチャートにおいて、まず、プロジェクタ装置100は、前回推定された投影面Spの傾きa、b、cから、X軸、Y軸周りの回転量θ1、ψ1を算出する(ステップS1801)。
つぎに、プロジェクタ装置100は、今回推定された投影面Spの傾きa、b、cから、X軸、Y軸周りの回転量θ2、ψ2を算出する(ステップS1802)。そして、プロジェクタ装置100は、X軸周りの回転量θ1、θ2およびY軸周りの回転量ψ1、ψ2に基づいて、傾きの変化量θdiffおよびψdiffを算出する(ステップS1803)。
つぎに、プロジェクタ装置100は、「θdiff≦θth」かつ「ψdiff≦ψth」であるか否かを判断する(ステップS1804)。ここで、「θdiff≦θth」かつ「ψdiff≦ψth」である場合(ステップS1804:Yes)、プロジェクタ装置100は、投影面Spの傾きa、b、cによって生じる変形の逆変形を加えて次のフレームを補正して(ステップS1805)、補正処理を呼び出したステップに戻る。
一方、「θdiff≦θth」かつ「ψdiff≦ψth」ではない場合(ステップS1804:No)、プロジェクタ装置100は、次のフレームを黒一色のフレームに差し替えて(ステップS1806)、補正処理を呼び出したステップに戻る。なお、黒一色のフレームに差し替えた次のフレームについても、補正済みフレームとして扱う。
これにより、投影面Spの正面から見た際に、投影された画像が歪んで見えないようにフレームを補正することができる。また、プロジェクタ装置100が移動したと判断できる程度に投影面Spの傾きa、b、cが変化した場合に、背景画像BPを更新することができる。
以上説明したように、実施の形態にかかるプロジェクタ装置100によれば、投影部101によって複数のフレームのうちの第1のフレームが投影された投影面Spを撮像した撮像画像Pおよび第1のフレームそれぞれの特徴点p,p’を抽出することができる。そして、プロジェクタ装置100によれば、抽出した特徴点p,p’それぞれの各画像上での位置の差に基づいて、自装置と投影面Spとの位置関係を特定し、特定した位置関係に応じて、複数のフレームのうちの第2のフレームを歪み補正することができる。
これにより、プロジェクタ装置100が移動した場合であっても、投影対象のフレームの視認性を確保しつつ歪み補正を行うことができる。
また、プロジェクタ装置100によれば、抽出した特徴点p,p’それぞれの各画像上での位置の差に基づいて、撮像部102の光学中心から投影面Spまでの距離を表す深度zを算出し、算出した深度zに基づいて、投影面Spの傾きa、b、cを算出することができる。そして、プロジェクタ装置100によれば、算出した投影面Spの傾きa、b、cに基づいて、第2のフレームを歪み補正することができる。
これにより、光切断法を利用して、プロジェクタ装置100に対する投影面Spの傾きa、b、cを推定して、投影面Spの傾きa、b、cによって生じるフレームの歪みを補正することができる。
また、プロジェクタ装置100によれば、非投影時に撮像部102によって撮像された背景画像BPを取得し、撮像画像Pと背景画像BPとの差分を取って撮像画像Pから背景色を打ち消すことができる。そして、プロジェクタ装置100によれば、背景色を打ち消した撮像画像Pから特徴点pを抽出することができる。
これにより、撮像画像P上の背景部分から特徴点pが抽出されるのを防いで、撮像画像Pおよび第1のフレームのそれぞれから、同じ箇所を表している可能性が高い特徴点p,p’の組み合わせを精度よく抽出することができる。
また、プロジェクタ装置100によれば、算出した投影面Spの傾きa、b、cと、前回算出した投影面Spの傾きa、b、cとの変化量が閾値より大きくなった場合に、背景画像BPを更新することができる。
これにより、プロジェクタ装置100の姿勢が大きく変化して、背景(背景色)が大きく変化した可能性が高くなった場合に、背景画像BPを更新することができる。換言すれば、プロジェクタ装置100を大きく動かしており、投影された画像が多少ちらついても気付きにくいタイミングを利用して、背景画像BPを更新することができる。
また、プロジェクタ装置100によれば、所定の走査方向それぞれについて、撮像画像Pおよび第1のフレームそれぞれを走査することにより、走査方向に連続する画素間の輝度差Bdiffが閾値α以上となる点を特徴点p,p’として抽出することができる。
これにより、撮像画像Pおよび第1のフレームの各画像において輝度変化が大きい点を特徴点p,p’として抽出することができる。また、同じ抽出条件(同じ走査方向、同じ閾値α)で各画像から特徴点p,p’を抽出するため、同じ箇所を表している可能性が高い特徴点p,p’の組み合わせを抽出することができる。さらに、異なる複数の走査方向を設定することで、各画像において特徴点同士ができるだけ離れた点となるように複数の特徴点(例えば、特徴点p1〜p3,p’1〜p’3)を抽出することができ、深度zの誤差が平面の傾きa、b、cに与える影響を抑えることができる。
また、プロジェクタ装置100によれば、特徴点p,p’を抽出する際に、複数のフレームのうち、撮像画像Pが撮像される一定時間前に投影されたフレームを用いることができる。これにより、遅延時間Tがフレームレートを上回る場合であっても、同じ箇所を表している可能性が高い特徴点p,p’の組み合わせを精度よく抽出して、投影面Spの傾きa、b、cの推定精度の低下を防ぐことができる。
これらのことから、プロジェクタ装置100によれば、任意の動画を投影・撮像して自装置と投影面Spとの位置関係を推定し、投影対象のフレームを歪み補正することができる。これにより、プロジェクタ装置100を頻繁に移動させるような場合であっても、投影対象のフレームの視認性を確保しつつ歪み補正を行うことが可能となり、プロジェクタ装置100を利用して情報の表示・入力等を行う際のユーザの利便性を向上させることができる。また、深度センサのように複数のプロジェクタ(可視光プロジェクタ+赤外線プロジェクタ)を必要としないため、深度センサを採用する場合に比べて、装置の小型化および省電力化を図ることができる。
100 プロジェクタ装置
101 投影部
102 撮像部
103 制御部
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 I/F
306 入力装置
401 取得部
402 抽出部
403 特定部
404 補正部
a,b,c 傾き
P 撮像画像
p,p’,p1,p’1,p2,p’2,p3,p’3 特徴点
Si 撮像面
Sp 投影面
z 深度
101 投影部
102 撮像部
103 制御部
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 I/F
306 入力装置
401 取得部
402 抽出部
403 特定部
404 補正部
a,b,c 傾き
P 撮像画像
p,p’,p1,p’1,p2,p’2,p3,p’3 特徴点
Si 撮像面
Sp 投影面
z 深度
Claims (6)
- 複数のフレームのうちの第1のフレームを投影面に向けて投影する投影部と、
前記投影部によって前記第1のフレームが投影された前記投影面を撮像する撮像部と、
前記第1のフレームおよび前記撮像部によって撮像された撮像画像それぞれの特徴点を抽出し、抽出した前記特徴点それぞれの各画像上での位置の差に基づいて、自装置と前記投影面との位置関係を特定し、特定した前記位置関係に応じて、前記複数のフレームのうち前記第1のフレームより後の第2のフレームを歪み補正する制御部と、
を有することを特徴とするプロジェクタ装置。 - 前記制御部は、
抽出した前記特徴点それぞれの各画像上での位置の差に基づいて、前記撮像部の光学中心から前記投影面までの距離を表す深度を算出し、
算出した前記深度に基づいて、前記投影面の傾きを算出し、
算出した前記投影面の傾きに基づいて、前記第2のフレームを歪み補正する、
ことを特徴とする請求項1に記載のプロジェクタ装置。 - 前記制御部は、
非投影時に前記撮像部によって撮像された背景画像を取得し、
前記撮像画像と前記背景画像との差分を取って前記撮像画像から背景色を打ち消し、
背景色を打ち消した前記撮像画像から特徴点を抽出する、ことを特徴とする請求項2に記載のプロジェクタ装置。 - 前記制御部は、
算出した前記投影面の傾きと、前回算出した前記投影面の傾きとの変化量が閾値より大きくなった場合、前記背景画像を更新する、ことを特徴とする請求項3に記載のプロジェクタ装置。 - 前記制御部は、
所定の走査方向それぞれについて、前記第1のフレームおよび前記撮像画像それぞれを走査することにより、前記所定の走査方向に連続する画素間の輝度差が閾値以上となる点を特徴点として抽出する、ことを特徴とする請求項1〜4のいずれか一つに記載のプロジェクタ装置。 - ユーザに携帯されて使用される、ことを特徴とする請求項1〜5のいずれか一つに記載のプロジェクタ装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016161707A JP2018031803A (ja) | 2016-08-22 | 2016-08-22 | プロジェクタ装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016161707A JP2018031803A (ja) | 2016-08-22 | 2016-08-22 | プロジェクタ装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018031803A true JP2018031803A (ja) | 2018-03-01 |
Family
ID=61302956
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016161707A Pending JP2018031803A (ja) | 2016-08-22 | 2016-08-22 | プロジェクタ装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018031803A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111123625A (zh) * | 2019-12-13 | 2020-05-08 | 成都极米科技股份有限公司 | 投影仪及投影方法 |
-
2016
- 2016-08-22 JP JP2016161707A patent/JP2018031803A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111123625A (zh) * | 2019-12-13 | 2020-05-08 | 成都极米科技股份有限公司 | 投影仪及投影方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10410089B2 (en) | Training assistance using synthetic images | |
JP5521855B2 (ja) | 投影画像領域検出装置 | |
US20200177866A1 (en) | Calibration apparatus, chart for calibration, chart pattern generation apparatus, and calibration method | |
US20170163949A1 (en) | Apparatus using a projector, method, and storage medium | |
US9842399B2 (en) | Image processing device and image processing method | |
US20110096143A1 (en) | Apparatus for generating a panoramic image, method for generating a panoramic image, and computer-readable medium | |
US20120328152A1 (en) | Image processing apparatus, image processing method and storage medium | |
US20080267523A1 (en) | Image processing apparatus and image processing method | |
US9779699B2 (en) | Image processing device, image processing method, computer readable medium | |
KR20140138947A (ko) | 화상 처리 장치, 화상 처리 방법, 및 기록 매체 | |
JP2008152622A (ja) | ポインティング装置 | |
JP2008275341A (ja) | 情報処理装置、情報処理方法 | |
JPWO2018168405A1 (ja) | 画像合成装置、画像合成方法及びプログラム | |
JP6045523B2 (ja) | 画像処理装置およびその制御方法 | |
US11416978B2 (en) | Image processing apparatus, control method and non-transitory computer-readable recording medium therefor | |
JP2016085380A (ja) | 制御装置、制御方法、及び、プログラム | |
JP5769755B2 (ja) | 画像処理システム、画像処理装置及び画像処理方法 | |
US20150123892A1 (en) | Locating method, locating device, depth determining method and depth determining device of operating body | |
US20190310475A1 (en) | Image display apparatus and image display method | |
JP2016149678A (ja) | カメラ校正ユニット、カメラ校正方法、およびカメラ校正プログラム | |
JP2018031803A (ja) | プロジェクタ装置 | |
US9813620B2 (en) | Image processing apparatus, image processing method, program, and camera | |
US11830177B2 (en) | Image processing apparatus, control method and non-transitory computer-readable recording medium therefor | |
CN115174878B (zh) | 投影画面校正方法、装置和存储介质 | |
JP6304619B2 (ja) | 像振れ補正システム、プログラム及び方法 |