映像処理装置および映像処理方法
【課題】装置構成の増大を抑えながら、映像中でマスキングする領域の形状設定の自由度を向上することができる映像処理装置および映像処理方法を提供する。
【解決手段】マスク情報生成部4は、ユーザ操作により指定された表示画面上の3つ以上の各点を頂点とする多角形の各辺を構成する各直線を定義し、映像信号の同期信号に基づいて映像信号における各画素の座標を指定するカウンタにより指定される各画素の水平方向の座標値に対応する、各直線上の垂直方向の座標値を算出し、この算出した各直線上の垂直方向の座標値と、カウンタにより指定される各画素の垂直方向の座標値とを比較することにより、映像信号における各画素が、各直線で囲まれる多角形内の領域であるマスク領域に含まれるか否かを判定する。マスキング部5は、マスク情報生成部4の判定結果に基づいて、マスク領域に含まれる各画素をマスク画像でマスキングする。
【解決手段】マスク情報生成部4は、ユーザ操作により指定された表示画面上の3つ以上の各点を頂点とする多角形の各辺を構成する各直線を定義し、映像信号の同期信号に基づいて映像信号における各画素の座標を指定するカウンタにより指定される各画素の水平方向の座標値に対応する、各直線上の垂直方向の座標値を算出し、この算出した各直線上の垂直方向の座標値と、カウンタにより指定される各画素の垂直方向の座標値とを比較することにより、映像信号における各画素が、各直線で囲まれる多角形内の領域であるマスク領域に含まれるか否かを判定する。マスキング部5は、マスク情報生成部4の判定結果に基づいて、マスク領域に含まれる各画素をマスク画像でマスキングする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、映像の一部の領域をマスキングする映像処理装置および映像処理方法に関する。
【背景技術】
【0002】
監視カメラを用いて公共の場所を監視する場合、プライバシーの保護のため、個人の家などが公にならないよう配慮する必要がある。このため、監視カメラの撮影画像の一部の領域にマスキング処理を施すことが行われている。
【0003】
例えば、撮影画像をブロックに分割し、ブロック単位でマスキングを行うか否かを指定することによりマスク領域を設定し、このマスク領域の画像にマスキング処理を施す技術が知られている。
【0004】
しかし、上記のように撮影画像をブロック分割してマスク領域を設定する手法では、マスク領域の形状が、矩形を組み合わせた形状に限られる。このため、保護したい対象物の画像を正確にトレースすることが困難であり、保護対象物を十分にマスキングできないことがあった。
【0005】
そこで、特許文献1では、三角形、四角形等の形状を有する複数種類のマスクパターンを予めメモリに記憶し、これらのマスクパターンを必要に応じて組み合わせて撮影画像に重畳してマスキングする撮像装置が提案されている。これにより、さまざまな形状の領域をマスキングできるようにしている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−229351号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1の技術では、マスクパターンを記憶しておくためのフレームメモリがマスクパターンの種類の数だけ必要であり、装置構成の増大を招く。
【0008】
また、マスクパターンを拡大、縮小、回転させて用いることはできるが、予めメモリに記憶しておいたマスクパターンがベースとなるため、複数のマスクパターンを記憶していたとしても、マスキングする領域の形状設定の自由度は限られていた。
【0009】
本発明は上記に鑑みてなされたもので、装置構成の増大を抑えながら、映像中でマスキングする領域の形状設定の自由度を向上することができる映像処理装置および映像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の映像処理装置は、映像信号とその同期信号とを取得する映像取得部と、ユーザ操作に応じて、前記映像信号に基づく映像を表示する表示画面上における3つ以上の点を指定する指定部と、前記指定部で指定された各点を頂点とする多角形の各辺を構成する各直線を定義する定義部と、前記同期信号に基づいて、前記映像信号における各画素の前記表示画面上における水平方向および垂直方向の座標を指定する座標指定部と、前記座標指定部により指定される各画素の水平方向または垂直方向である一方の方向の座標値に対応する、前記各直線上の前記一方の方向とは異なる方向である他方の方向の座標値を算出する座標算出部と、前記座標指定部により指定される各画素の前記他方の方向の座標値と、前記座標算出部により算出された前記各直線上の前記他方の方向の座標値とを比較することにより、前記映像信号における各画素が、前記各直線で囲まれる前記多角形内の領域であるマスク領域に含まれるか否かを判定する判定部と、前記マスク領域に含まれる各画素をマスク画像でマスキングするマスキング部とを備えることを特徴とする。
【0011】
また、本発明の映像処理方法は、映像信号とその同期信号とを取得し、前記同期信号に基づいて、前記映像信号における各画素の表示画面上における水平方向および垂直方向の座標を座標指定部により指定して、前記映像信号に基づく映像を前記表示画面に表示する映像処理装置における映像処理方法であって、ユーザ操作に応じて、前記表示画面上における3つ以上の点を指定し、指定した各点を頂点とする多角形の各辺を構成する各直線を定義する工程と、前記座標指定部により指定される各画素の水平方向または垂直方向である一方の方向の座標値に対応する、前記各直線上の前記一方の方向とは異なる方向である他方の方向の座標値を算出する工程と、前記座標指定部により指定される各画素の前記他方の方向の座標値と、前記算出する工程で算出された前記各直線上の前記他方の方向の座標値とを比較することにより、前記映像信号における各画素が、前記各直線で囲まれる前記多角形内の領域であるマスク領域に含まれるか否かを判定する工程と、前記マスク領域に含まれる各画素をマスク画像でマスキングする工程とを含むことを特徴とする。
【発明の効果】
【0012】
本発明の映像処理装置および映像処理方法によれば、装置構成の増大を抑えながら、映像中でマスキングする領域の形状設定の自由度を向上することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施の形態に係る映像処理装置の構成を示すブロック図である。
【図2】直線で隔てられた領域を示す図である。
【図3】4本の直線で囲まれた領域を示す図である。
【図4】2つの点を通る直線を示す図である。
【図5】図1に示す映像処理装置におけるマスク情報生成部の構成図である。
【図6】図5に示すマスク情報生成部におけるオフセット算出部の構成図である。
【図7】ブロック座標の説明図である。
【図8】図5に示すマスク情報生成部における座標算出部の構成図である。
【図9】図5に示すマスク情報生成部における比較器の説明図である。
【図10】図8に示す座標算出部による座標算出結果の説明図である。
【図11】マスク領域を設定するためのユーザインタフェースの一例の説明図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、図面を参照して説明する。
【0015】
図1は、本発明の実施の形態に係る映像処理装置の構成を示すブロック図である。図1に示すように本実施の形態に係る映像処理装置1は、映像取得部2と、操作入力部3と、マスク情報生成部4と、マスキング部5と、モニタ6とを備える。
【0016】
映像取得部2は、撮像機能を有し、被写体を撮影して得られた輝度信号および色差信号からなる映像信号と、その同期信号とを出力する。同期信号は、水平同期信号、垂直同期信号、およびクロック信号を含む。なお、映像取得部2は、外部から撮像装置で撮影された映像信号およびその同期信号を取得するものでもよい。
【0017】
操作入力部3は、ユーザの操作を受け付け、操作に応じた操作信号を出力する。本実施の形態では、ユーザは、操作入力部3を操作して、映像が表示されるモニタ6の表示画面においてマスキングしたい領域の頂点となる点(3つ以上)を指定することで、指定した点の数と同数(3本以上)の直線で囲まれるマスク領域を設定することができる。操作入力部3は、ユーザ操作に応じてマスク領域の頂点となる各点(画素位置)を指定する指定部として機能し、各点の座標を示すマスク位置情報を出力する。
【0018】
マスク情報生成部4は、映像信号における各画素が、ユーザ操作により指定された各点を頂点とする多角形内の領域であるマスク領域に含まれるか否かを判定し、その結果を示すマスク情報を出力する。
【0019】
マスキング部5は、マスク情報生成部4から入力されるマスク情報に基づいて、映像信号におけるマスク領域に含まれる各画素をマスク画像でマスキングする処理を行う。
【0020】
モニタ6は、液晶ディスプレイ等からなり、マスキング部5でマスク領域がマスキングされた映像を表示画面に表示する。
【0021】
ここで、本実施の形態におけるマスク領域判定の考え方について説明する。
【0022】
図2に示すxy座標上の点p(xp,yp)が、y=ax+bで表される直線Lで隔てられた領域Aと領域Bとのどちらに位置するのかを知るには、以下の(式1)、(式2)の不等式が満たされるか否かを調べればよい。
【0023】
yp<axp+b …(式1)
yp>axp+b …(式2)
(式1)が満たされる場合は、点pは領域Aに位置し、(式2)が満たされる場合は、点pは領域Bに位置する。
【0024】
したがって、例えば、図3に示す4本の直線L0〜L3(L0:y=a0x+b0,L1:y=a1x+b1,L2:y=a2x+b2,L3:y=a3x+b3)で囲まれる領域C内の点では、以下の(式3)〜(式6)の4つの不等式がすべて満たされる。
【0025】
y<a0x+b0 …(式3)
y>a1x+b1 …(式4)
y<a2x+b2 …(式5)
y<a3x+b3 …(式6)
ところで、図4に示すxy座標上の点p0(x0,y0)、p1(x1,y1)の2点を通る直線Lは、y切片をzとして、以下のように表現できる。
【0026】
y=((y1−y0)/(x1−x0))x+z
これを、p0を原点とした直線に変形すると、
y−y0=((y1−y0)/(x1−x0))(x−x0)
ここで、α=(y1−y0),β=(x1−x0)とすると、
y−y0=(α/β)(x−x0)
よって、
y=(α/β)x−(α/β)x0+y0 …(式7)
このように、p0(x0,y0)、p1(x1,y1)の2点を通る直線Lは、傾きα/β(α=(y1−y0),β=(x1−x0))、および、y切片に相当するオフセット(−(α/β)x0+y0)により定義される。オフセットは、直線を構成する2点の座標と傾きとが決まれば固定値となる。
【0027】
本実施の形態では、例えば4つの点が指定される場合、マスク情報生成部4が、指定された4点を頂点とする四角形の各辺を構成する4本の直線を、上記(式7)のように定義し、定義した各直線に対応する上記(式3)〜(式6)のような不等式に基づいて、映像信号における各画素が、マスク領域となる四角形内に含まれるか否かを判定し、その結果を示すマスク情報を出力する。
【0028】
このような処理を行うマスク情報生成部4の構成を図5に示す。図5に示すように、マスク情報生成部4は、オフセット算出部41と、カウンタ(座標指定部)42と、座標算出部43A〜43Dと、比較器44A〜44Dと、AND回路45とを備える。図5は、4本の直線で囲まれる四角形内の領域をマスク領域とする場合の構成例を示しており、座標算出部および比較器がそれぞれ直線の数に対応して4つずつ設けられている。
【0029】
オフセット算出部41は、ユーザ操作により指定される4つの点の座標を示すマスク位置情報に基づいて、その4点を頂点とする四角形の各辺を構成する4本の直線の傾きおよびオフセットをそれぞれ算出する。オフセット算出部41は、本発明の定義部に対応する。
【0030】
オフセット算出部41の構成を図6に示す。図6に示すように、オフセット算出部41は、ブロック位置変換部411と、減算回路412と、テーブル413と、乗算回路414,415と、加算回路416と、D−FF(D型フリップフロップ)417,418とを備える。
【0031】
ブロック位置変換部411は、マスク領域の頂点として指定された点の座標を、図7に示すような目の粗いブロック座標に変換する。例えば、ブロック位置変換部411は、図7のように、画像空間を水平方向(図示x方向)、垂直方向(図示y方向)それぞれ16画素のブロック(16×16画素)に分割し、各ブロック内の画素の座標を、ブロックの図示左上の点のブロック座標に変換する。例えば、図7のブロック10内に含まれる各画素の座標は、ブロック座標の(4,1)に変換される。
【0032】
減算回路412は、ブロック位置変換部411で変換された座標に基づいて、(式7)におけるα,βを算出する。(x0,y0),(x1,y1)の2点の座標がブロック位置変換部411によりそれぞれ(x0´,y0´),(x1´,y1´)に変換されたとすると、減算回路412は、α=(y1´−y0´),β=(x1´−x0´)を算出する。
【0033】
テーブル413は、βの値と1/βの値とを対応させて保持しており、減算回路412からβの値が入力されると、それに対応する1/βの値を出力する。
【0034】
このように、除算を行うのではなくテーブル引きにより1/βの値を求めるようにすることで、回路規模の増大を抑えることができる。さらに、ブロック位置変換部411により変換した目の粗いブロック座標に基づいて算出されるβの値から1/βの値を求めるようにすることで、βの値のパターンを少なくして、テーブルのサイズを小さくすることができ、回路規模の増大を抑えることができる。
【0035】
なお、ブロック位置変換部411におけるブロックが大きすぎると、ブロック座標変換を行うことによりマスク領域の形状に大きな影響が出るおそれがある。このため、ブロックの大きさは、マスク領域の形状に与える影響が無視できる程度の大きさに設定する。
【0036】
乗算回路414は、テーブル413から入力される1/βと、減算回路412から入力されるαとを乗算して、傾きα/βを算出する。
【0037】
乗算回路415は、乗算回路414で算出された傾きα/βにx0を乗算するとともに正負を反転して−(α/β)x0を算出する。
【0038】
加算回路416は、乗算回路415で算出された−(α/β)x0にy0を加算して、オフセット(−(α/β)x0+y0)を算出する。
【0039】
D−FF417,418はそれぞれ、加算回路416で算出されたオフセット(−(α/β)x0+y0)、乗算回路414で算出された傾きα/βを保持するとともに、座標算出部43A〜43Dのうちの1つに出力する。
【0040】
オフセット算出部41は、上記のような構成により、4本の直線の傾きおよびオフセットをそれぞれ算出し、それぞれの直線に対応する座標算出部43A〜43Dに出力する。
【0041】
カウンタ42は、映像取得部2から供給される同期信号(水平同期信号、垂直同期信号、クロック信号)に基づいて、映像信号における各画素の表示画面上での位置(座標)を指定し、その位置情報を比較器44A〜44Dに出力する。
【0042】
座標算出部43A〜43Dは、オフセット算出部41から入力される各直線の傾きおよびオフセットに基づいて、(式7)の右辺に相当する演算を行うものである。
【0043】
座標算出部43Aの構成を図8に示す。座標算出部43B〜43Dの構成も同様である。図8に示すように、座標算出部43Aは、加算回路431,432と、D−FF433とを備える。
【0044】
前述の(式7)の右辺は、画像空間のx座標に応じて変化する変数部分である(α/β)xと、固定値となるオフセット(−(α/β)x0+y0)とに分けられる。座標算出部43Aでは、加算回路431とD−FF433とにより、変数部分(α/β)xを算出する。
【0045】
D−FF433には、表示画面の水平方向(x方向)の有効範囲を示す水平同期信号と、1画素ずつ描画処理するためのクロック信号とが入力される。D−FF433は、1クロック周期ごとに、加算回路431の算出結果を取り込んで保持するとともに、前のクロック周期で取り込んだ加算回路431の算出結果を加算回路431に出力する。D−FF433の保持する値は、水平同期信号の立ち上がりのタイミングで0にリセットされる。
【0046】
加算回路431は、D−FF433からの入力値に傾きα/βを加算して算出結果を出力する。
【0047】
このように、加算回路431とD−FF433とを用いて、1クロックごとに傾きα/βを累積加算することで、(式7)の右辺の変数部分(α/β)xを算出する。
【0048】
加算回路432は、加算回路431の算出結果に、オフセット算出部41から入力されるオフセットの値を加算する。この加算回路432の算出結果(座標算出結果)は、(式7)の右辺に相当する値となる。
【0049】
比較器44A〜44Dは、それぞれに対応する直線に応じた(式3)〜(式6)のような不等式が満たされるか否かの判定を行うものである。
【0050】
例えば、比較器44A〜44Dが、それぞれ(式3)〜(式6)に対応するものとすると、比較器44Aは、図9に示すように、座標算出部43Aから入力される座標算出結果と、カウンタ42から入力される位置情報とに基づいて、(式3)の不等式が満たされるか否かを判定する。比較器44Aは、不等式が満たされる場合、判定結果として論理「1」を出力し、不等式が満たされない場合、論理「0」を出力する。同様に、比較器44B〜44Dは、それぞれ(式4)〜(式6)の不等式が満たされるか否かを判定し、判定結果として論理「1」または「0」を出力する。
【0051】
図10に示すように、カウンタ42により指定される画素位置(座標)をq0(x3,y3)とすると、座標算出部43Aの座標算出結果は、座標算出部43Aに対応する直線L0におけるx=x3に対応する点q0(x3,y4)のy方向(垂直方向)の座標値であるy4となる。比較器44Aにおける不等式を満たすか否かの判定処理は、y3とy4とを比較することにより、直線L0に対してq0がマスク領域側にあるか否かを判定するものであり、q0がマスク領域側にある場合に、判定結果として論理「1」を出力することになる。座標算出部43B〜43D、比較器44B〜44Dの処理についても同様であり、q0が各直線に囲まれるマスク領域内にある場合、比較器44A〜44Dからの出力がすべて論理「1」となる。
【0052】
AND回路45は、比較器44A〜44Dから入力される判定結果がすべて論理「1」である場合、マスク情報として、カウンタ42により指定される画素位置(座標)がマスク領域内にあることを示す論理「1」を出力し、その他の場合、論理「0」を出力する。
【0053】
上記のような比較器44A〜44D、およびAND回路45によって、映像信号における各画素がマスク領域に含まれるか否かを判定する判定部が構成される。
【0054】
次に、映像処理装置1の動作について説明する。
【0055】
マスク領域が設定されていない状態では、映像処理装置1は、映像取得部2で取得した映像信号に基づく映像をそのままモニタ6に表示する。ユーザは、モニタ6の表示画面を見ながら、操作入力部3を操作して、マスク領域の頂点の位置となる各点を指定する。本実施の形態では、4つの点を指定するものとする。
【0056】
マスク領域の頂点となる4点が指定されると、マスク情報生成部4のオフセット算出部41は、前述したブロック位置変換部411、減算回路412、テーブル413、乗算回路414,415、および加算回路416を用いた演算により、4点を頂点とする四角形の各辺を構成する4本の直線の傾きおよびオフセットをそれぞれ算出し、算出した傾きおよびオフセットの値を、それぞれの直線に対応する座標算出部43A〜43Dに出力する。
【0057】
次いで、座標算出部43A〜43Dは、前述したように、加算回路431およびD−FF433により、対応する直線の傾きα/βを累積加算することで、(式7)の右辺の変数部分(α/β)xを算出し、この値に、加算回路432によりオフセットの値を加算して、(式7)の右辺に相当する値を示す座標算出結果を出力する。
【0058】
次いで、比較器44A〜44Dは、座標算出部43A〜43Dから入力される座標算出結果と、カウンタ42から入力される位置情報とに基づいて、対応する直線に応じた(式3)〜(式6)のような不等式が満たされるか否かの判定を行う。比較器44A〜44Dは、不等式が満たされる場合、判定結果として論理「1」を出力し、不等式が満たされない場合、論理「0」を出力する。
【0059】
そして、AND回路45は、比較器44A〜44Dから入力される判定結果がすべて論理「1」である場合、マスク情報として論理「1」を出力し、その他の場合は論理「0」を出力する。
【0060】
マスキング部5は、映像取得部2から入力される映像信号において、マスク情報生成部4から入力されるマスク情報が論理「1」である画素をマスク画像でマスキングし、マスク情報が論理「0」である画素についてはそのまま映像信号を出力する。これにより、モニタ6の表示画面には、マスク領域がマスキングされた映像が表示される。マスク画像は、マスク領域を特定の色で塗りつぶす画像や、モザイク画像とすることができる。
【0061】
以上説明したように本実施の形態では、ユーザ操作により表示画面上で指定された各点を頂点とする多角形の領域内をマスキングするようにしたので、ユーザは、さまざまな形状の領域をマスク領域として設定できる。
【0062】
また、マスク領域となる多角形の各辺を構成する直線を定義する処理、マスク領域の判定処理等を行うマスク情報生成部4を、図5、図6、図8、図9のように、加算回路、減算回路、乗算回路等からなる回路で構成したので、小さな回路規模で実現することができる。また、リアルタイムでマスキング処理することができる。
【0063】
このように本実施の形態によれば、装置構成の増大を抑えながら、映像中でマスキングする領域の形状設定の自由度を向上することができる。
【0064】
なお、ユーザはモニタ6の表示画面上でマスク領域の頂点となる点を任意に指定することができるが、例えば、表示画面に表示される図11に示したようなマスク形状20A,20B,…からいずれかをユーザが操作入力部3を操作することにより選択し、選択したマスク形状の頂点を必要に応じて移動させて、頂点の位置を指定できるようなユーザインタフェースを設けてもよい。
【符号の説明】
【0065】
1 映像処理装置
2 映像取得部
3 操作入力部
4 マスク情報生成部
5 マスキング部
6 モニタ
41 オフセット算出部
42 カウンタ
43A〜43D 座標算出部
44A〜44D 比較器
45 AND回路
411 ブロック位置変換部
412 減算回路
413 テーブル
414,415 乗算回路
416,431,432 加算回路
417,418,433 D−FF
【技術分野】
【0001】
本発明は、映像の一部の領域をマスキングする映像処理装置および映像処理方法に関する。
【背景技術】
【0002】
監視カメラを用いて公共の場所を監視する場合、プライバシーの保護のため、個人の家などが公にならないよう配慮する必要がある。このため、監視カメラの撮影画像の一部の領域にマスキング処理を施すことが行われている。
【0003】
例えば、撮影画像をブロックに分割し、ブロック単位でマスキングを行うか否かを指定することによりマスク領域を設定し、このマスク領域の画像にマスキング処理を施す技術が知られている。
【0004】
しかし、上記のように撮影画像をブロック分割してマスク領域を設定する手法では、マスク領域の形状が、矩形を組み合わせた形状に限られる。このため、保護したい対象物の画像を正確にトレースすることが困難であり、保護対象物を十分にマスキングできないことがあった。
【0005】
そこで、特許文献1では、三角形、四角形等の形状を有する複数種類のマスクパターンを予めメモリに記憶し、これらのマスクパターンを必要に応じて組み合わせて撮影画像に重畳してマスキングする撮像装置が提案されている。これにより、さまざまな形状の領域をマスキングできるようにしている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2005−229351号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかし、特許文献1の技術では、マスクパターンを記憶しておくためのフレームメモリがマスクパターンの種類の数だけ必要であり、装置構成の増大を招く。
【0008】
また、マスクパターンを拡大、縮小、回転させて用いることはできるが、予めメモリに記憶しておいたマスクパターンがベースとなるため、複数のマスクパターンを記憶していたとしても、マスキングする領域の形状設定の自由度は限られていた。
【0009】
本発明は上記に鑑みてなされたもので、装置構成の増大を抑えながら、映像中でマスキングする領域の形状設定の自由度を向上することができる映像処理装置および映像処理方法を提供することを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するため、本発明の映像処理装置は、映像信号とその同期信号とを取得する映像取得部と、ユーザ操作に応じて、前記映像信号に基づく映像を表示する表示画面上における3つ以上の点を指定する指定部と、前記指定部で指定された各点を頂点とする多角形の各辺を構成する各直線を定義する定義部と、前記同期信号に基づいて、前記映像信号における各画素の前記表示画面上における水平方向および垂直方向の座標を指定する座標指定部と、前記座標指定部により指定される各画素の水平方向または垂直方向である一方の方向の座標値に対応する、前記各直線上の前記一方の方向とは異なる方向である他方の方向の座標値を算出する座標算出部と、前記座標指定部により指定される各画素の前記他方の方向の座標値と、前記座標算出部により算出された前記各直線上の前記他方の方向の座標値とを比較することにより、前記映像信号における各画素が、前記各直線で囲まれる前記多角形内の領域であるマスク領域に含まれるか否かを判定する判定部と、前記マスク領域に含まれる各画素をマスク画像でマスキングするマスキング部とを備えることを特徴とする。
【0011】
また、本発明の映像処理方法は、映像信号とその同期信号とを取得し、前記同期信号に基づいて、前記映像信号における各画素の表示画面上における水平方向および垂直方向の座標を座標指定部により指定して、前記映像信号に基づく映像を前記表示画面に表示する映像処理装置における映像処理方法であって、ユーザ操作に応じて、前記表示画面上における3つ以上の点を指定し、指定した各点を頂点とする多角形の各辺を構成する各直線を定義する工程と、前記座標指定部により指定される各画素の水平方向または垂直方向である一方の方向の座標値に対応する、前記各直線上の前記一方の方向とは異なる方向である他方の方向の座標値を算出する工程と、前記座標指定部により指定される各画素の前記他方の方向の座標値と、前記算出する工程で算出された前記各直線上の前記他方の方向の座標値とを比較することにより、前記映像信号における各画素が、前記各直線で囲まれる前記多角形内の領域であるマスク領域に含まれるか否かを判定する工程と、前記マスク領域に含まれる各画素をマスク画像でマスキングする工程とを含むことを特徴とする。
【発明の効果】
【0012】
本発明の映像処理装置および映像処理方法によれば、装置構成の増大を抑えながら、映像中でマスキングする領域の形状設定の自由度を向上することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の実施の形態に係る映像処理装置の構成を示すブロック図である。
【図2】直線で隔てられた領域を示す図である。
【図3】4本の直線で囲まれた領域を示す図である。
【図4】2つの点を通る直線を示す図である。
【図5】図1に示す映像処理装置におけるマスク情報生成部の構成図である。
【図6】図5に示すマスク情報生成部におけるオフセット算出部の構成図である。
【図7】ブロック座標の説明図である。
【図8】図5に示すマスク情報生成部における座標算出部の構成図である。
【図9】図5に示すマスク情報生成部における比較器の説明図である。
【図10】図8に示す座標算出部による座標算出結果の説明図である。
【図11】マスク領域を設定するためのユーザインタフェースの一例の説明図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について、図面を参照して説明する。
【0015】
図1は、本発明の実施の形態に係る映像処理装置の構成を示すブロック図である。図1に示すように本実施の形態に係る映像処理装置1は、映像取得部2と、操作入力部3と、マスク情報生成部4と、マスキング部5と、モニタ6とを備える。
【0016】
映像取得部2は、撮像機能を有し、被写体を撮影して得られた輝度信号および色差信号からなる映像信号と、その同期信号とを出力する。同期信号は、水平同期信号、垂直同期信号、およびクロック信号を含む。なお、映像取得部2は、外部から撮像装置で撮影された映像信号およびその同期信号を取得するものでもよい。
【0017】
操作入力部3は、ユーザの操作を受け付け、操作に応じた操作信号を出力する。本実施の形態では、ユーザは、操作入力部3を操作して、映像が表示されるモニタ6の表示画面においてマスキングしたい領域の頂点となる点(3つ以上)を指定することで、指定した点の数と同数(3本以上)の直線で囲まれるマスク領域を設定することができる。操作入力部3は、ユーザ操作に応じてマスク領域の頂点となる各点(画素位置)を指定する指定部として機能し、各点の座標を示すマスク位置情報を出力する。
【0018】
マスク情報生成部4は、映像信号における各画素が、ユーザ操作により指定された各点を頂点とする多角形内の領域であるマスク領域に含まれるか否かを判定し、その結果を示すマスク情報を出力する。
【0019】
マスキング部5は、マスク情報生成部4から入力されるマスク情報に基づいて、映像信号におけるマスク領域に含まれる各画素をマスク画像でマスキングする処理を行う。
【0020】
モニタ6は、液晶ディスプレイ等からなり、マスキング部5でマスク領域がマスキングされた映像を表示画面に表示する。
【0021】
ここで、本実施の形態におけるマスク領域判定の考え方について説明する。
【0022】
図2に示すxy座標上の点p(xp,yp)が、y=ax+bで表される直線Lで隔てられた領域Aと領域Bとのどちらに位置するのかを知るには、以下の(式1)、(式2)の不等式が満たされるか否かを調べればよい。
【0023】
yp<axp+b …(式1)
yp>axp+b …(式2)
(式1)が満たされる場合は、点pは領域Aに位置し、(式2)が満たされる場合は、点pは領域Bに位置する。
【0024】
したがって、例えば、図3に示す4本の直線L0〜L3(L0:y=a0x+b0,L1:y=a1x+b1,L2:y=a2x+b2,L3:y=a3x+b3)で囲まれる領域C内の点では、以下の(式3)〜(式6)の4つの不等式がすべて満たされる。
【0025】
y<a0x+b0 …(式3)
y>a1x+b1 …(式4)
y<a2x+b2 …(式5)
y<a3x+b3 …(式6)
ところで、図4に示すxy座標上の点p0(x0,y0)、p1(x1,y1)の2点を通る直線Lは、y切片をzとして、以下のように表現できる。
【0026】
y=((y1−y0)/(x1−x0))x+z
これを、p0を原点とした直線に変形すると、
y−y0=((y1−y0)/(x1−x0))(x−x0)
ここで、α=(y1−y0),β=(x1−x0)とすると、
y−y0=(α/β)(x−x0)
よって、
y=(α/β)x−(α/β)x0+y0 …(式7)
このように、p0(x0,y0)、p1(x1,y1)の2点を通る直線Lは、傾きα/β(α=(y1−y0),β=(x1−x0))、および、y切片に相当するオフセット(−(α/β)x0+y0)により定義される。オフセットは、直線を構成する2点の座標と傾きとが決まれば固定値となる。
【0027】
本実施の形態では、例えば4つの点が指定される場合、マスク情報生成部4が、指定された4点を頂点とする四角形の各辺を構成する4本の直線を、上記(式7)のように定義し、定義した各直線に対応する上記(式3)〜(式6)のような不等式に基づいて、映像信号における各画素が、マスク領域となる四角形内に含まれるか否かを判定し、その結果を示すマスク情報を出力する。
【0028】
このような処理を行うマスク情報生成部4の構成を図5に示す。図5に示すように、マスク情報生成部4は、オフセット算出部41と、カウンタ(座標指定部)42と、座標算出部43A〜43Dと、比較器44A〜44Dと、AND回路45とを備える。図5は、4本の直線で囲まれる四角形内の領域をマスク領域とする場合の構成例を示しており、座標算出部および比較器がそれぞれ直線の数に対応して4つずつ設けられている。
【0029】
オフセット算出部41は、ユーザ操作により指定される4つの点の座標を示すマスク位置情報に基づいて、その4点を頂点とする四角形の各辺を構成する4本の直線の傾きおよびオフセットをそれぞれ算出する。オフセット算出部41は、本発明の定義部に対応する。
【0030】
オフセット算出部41の構成を図6に示す。図6に示すように、オフセット算出部41は、ブロック位置変換部411と、減算回路412と、テーブル413と、乗算回路414,415と、加算回路416と、D−FF(D型フリップフロップ)417,418とを備える。
【0031】
ブロック位置変換部411は、マスク領域の頂点として指定された点の座標を、図7に示すような目の粗いブロック座標に変換する。例えば、ブロック位置変換部411は、図7のように、画像空間を水平方向(図示x方向)、垂直方向(図示y方向)それぞれ16画素のブロック(16×16画素)に分割し、各ブロック内の画素の座標を、ブロックの図示左上の点のブロック座標に変換する。例えば、図7のブロック10内に含まれる各画素の座標は、ブロック座標の(4,1)に変換される。
【0032】
減算回路412は、ブロック位置変換部411で変換された座標に基づいて、(式7)におけるα,βを算出する。(x0,y0),(x1,y1)の2点の座標がブロック位置変換部411によりそれぞれ(x0´,y0´),(x1´,y1´)に変換されたとすると、減算回路412は、α=(y1´−y0´),β=(x1´−x0´)を算出する。
【0033】
テーブル413は、βの値と1/βの値とを対応させて保持しており、減算回路412からβの値が入力されると、それに対応する1/βの値を出力する。
【0034】
このように、除算を行うのではなくテーブル引きにより1/βの値を求めるようにすることで、回路規模の増大を抑えることができる。さらに、ブロック位置変換部411により変換した目の粗いブロック座標に基づいて算出されるβの値から1/βの値を求めるようにすることで、βの値のパターンを少なくして、テーブルのサイズを小さくすることができ、回路規模の増大を抑えることができる。
【0035】
なお、ブロック位置変換部411におけるブロックが大きすぎると、ブロック座標変換を行うことによりマスク領域の形状に大きな影響が出るおそれがある。このため、ブロックの大きさは、マスク領域の形状に与える影響が無視できる程度の大きさに設定する。
【0036】
乗算回路414は、テーブル413から入力される1/βと、減算回路412から入力されるαとを乗算して、傾きα/βを算出する。
【0037】
乗算回路415は、乗算回路414で算出された傾きα/βにx0を乗算するとともに正負を反転して−(α/β)x0を算出する。
【0038】
加算回路416は、乗算回路415で算出された−(α/β)x0にy0を加算して、オフセット(−(α/β)x0+y0)を算出する。
【0039】
D−FF417,418はそれぞれ、加算回路416で算出されたオフセット(−(α/β)x0+y0)、乗算回路414で算出された傾きα/βを保持するとともに、座標算出部43A〜43Dのうちの1つに出力する。
【0040】
オフセット算出部41は、上記のような構成により、4本の直線の傾きおよびオフセットをそれぞれ算出し、それぞれの直線に対応する座標算出部43A〜43Dに出力する。
【0041】
カウンタ42は、映像取得部2から供給される同期信号(水平同期信号、垂直同期信号、クロック信号)に基づいて、映像信号における各画素の表示画面上での位置(座標)を指定し、その位置情報を比較器44A〜44Dに出力する。
【0042】
座標算出部43A〜43Dは、オフセット算出部41から入力される各直線の傾きおよびオフセットに基づいて、(式7)の右辺に相当する演算を行うものである。
【0043】
座標算出部43Aの構成を図8に示す。座標算出部43B〜43Dの構成も同様である。図8に示すように、座標算出部43Aは、加算回路431,432と、D−FF433とを備える。
【0044】
前述の(式7)の右辺は、画像空間のx座標に応じて変化する変数部分である(α/β)xと、固定値となるオフセット(−(α/β)x0+y0)とに分けられる。座標算出部43Aでは、加算回路431とD−FF433とにより、変数部分(α/β)xを算出する。
【0045】
D−FF433には、表示画面の水平方向(x方向)の有効範囲を示す水平同期信号と、1画素ずつ描画処理するためのクロック信号とが入力される。D−FF433は、1クロック周期ごとに、加算回路431の算出結果を取り込んで保持するとともに、前のクロック周期で取り込んだ加算回路431の算出結果を加算回路431に出力する。D−FF433の保持する値は、水平同期信号の立ち上がりのタイミングで0にリセットされる。
【0046】
加算回路431は、D−FF433からの入力値に傾きα/βを加算して算出結果を出力する。
【0047】
このように、加算回路431とD−FF433とを用いて、1クロックごとに傾きα/βを累積加算することで、(式7)の右辺の変数部分(α/β)xを算出する。
【0048】
加算回路432は、加算回路431の算出結果に、オフセット算出部41から入力されるオフセットの値を加算する。この加算回路432の算出結果(座標算出結果)は、(式7)の右辺に相当する値となる。
【0049】
比較器44A〜44Dは、それぞれに対応する直線に応じた(式3)〜(式6)のような不等式が満たされるか否かの判定を行うものである。
【0050】
例えば、比較器44A〜44Dが、それぞれ(式3)〜(式6)に対応するものとすると、比較器44Aは、図9に示すように、座標算出部43Aから入力される座標算出結果と、カウンタ42から入力される位置情報とに基づいて、(式3)の不等式が満たされるか否かを判定する。比較器44Aは、不等式が満たされる場合、判定結果として論理「1」を出力し、不等式が満たされない場合、論理「0」を出力する。同様に、比較器44B〜44Dは、それぞれ(式4)〜(式6)の不等式が満たされるか否かを判定し、判定結果として論理「1」または「0」を出力する。
【0051】
図10に示すように、カウンタ42により指定される画素位置(座標)をq0(x3,y3)とすると、座標算出部43Aの座標算出結果は、座標算出部43Aに対応する直線L0におけるx=x3に対応する点q0(x3,y4)のy方向(垂直方向)の座標値であるy4となる。比較器44Aにおける不等式を満たすか否かの判定処理は、y3とy4とを比較することにより、直線L0に対してq0がマスク領域側にあるか否かを判定するものであり、q0がマスク領域側にある場合に、判定結果として論理「1」を出力することになる。座標算出部43B〜43D、比較器44B〜44Dの処理についても同様であり、q0が各直線に囲まれるマスク領域内にある場合、比較器44A〜44Dからの出力がすべて論理「1」となる。
【0052】
AND回路45は、比較器44A〜44Dから入力される判定結果がすべて論理「1」である場合、マスク情報として、カウンタ42により指定される画素位置(座標)がマスク領域内にあることを示す論理「1」を出力し、その他の場合、論理「0」を出力する。
【0053】
上記のような比較器44A〜44D、およびAND回路45によって、映像信号における各画素がマスク領域に含まれるか否かを判定する判定部が構成される。
【0054】
次に、映像処理装置1の動作について説明する。
【0055】
マスク領域が設定されていない状態では、映像処理装置1は、映像取得部2で取得した映像信号に基づく映像をそのままモニタ6に表示する。ユーザは、モニタ6の表示画面を見ながら、操作入力部3を操作して、マスク領域の頂点の位置となる各点を指定する。本実施の形態では、4つの点を指定するものとする。
【0056】
マスク領域の頂点となる4点が指定されると、マスク情報生成部4のオフセット算出部41は、前述したブロック位置変換部411、減算回路412、テーブル413、乗算回路414,415、および加算回路416を用いた演算により、4点を頂点とする四角形の各辺を構成する4本の直線の傾きおよびオフセットをそれぞれ算出し、算出した傾きおよびオフセットの値を、それぞれの直線に対応する座標算出部43A〜43Dに出力する。
【0057】
次いで、座標算出部43A〜43Dは、前述したように、加算回路431およびD−FF433により、対応する直線の傾きα/βを累積加算することで、(式7)の右辺の変数部分(α/β)xを算出し、この値に、加算回路432によりオフセットの値を加算して、(式7)の右辺に相当する値を示す座標算出結果を出力する。
【0058】
次いで、比較器44A〜44Dは、座標算出部43A〜43Dから入力される座標算出結果と、カウンタ42から入力される位置情報とに基づいて、対応する直線に応じた(式3)〜(式6)のような不等式が満たされるか否かの判定を行う。比較器44A〜44Dは、不等式が満たされる場合、判定結果として論理「1」を出力し、不等式が満たされない場合、論理「0」を出力する。
【0059】
そして、AND回路45は、比較器44A〜44Dから入力される判定結果がすべて論理「1」である場合、マスク情報として論理「1」を出力し、その他の場合は論理「0」を出力する。
【0060】
マスキング部5は、映像取得部2から入力される映像信号において、マスク情報生成部4から入力されるマスク情報が論理「1」である画素をマスク画像でマスキングし、マスク情報が論理「0」である画素についてはそのまま映像信号を出力する。これにより、モニタ6の表示画面には、マスク領域がマスキングされた映像が表示される。マスク画像は、マスク領域を特定の色で塗りつぶす画像や、モザイク画像とすることができる。
【0061】
以上説明したように本実施の形態では、ユーザ操作により表示画面上で指定された各点を頂点とする多角形の領域内をマスキングするようにしたので、ユーザは、さまざまな形状の領域をマスク領域として設定できる。
【0062】
また、マスク領域となる多角形の各辺を構成する直線を定義する処理、マスク領域の判定処理等を行うマスク情報生成部4を、図5、図6、図8、図9のように、加算回路、減算回路、乗算回路等からなる回路で構成したので、小さな回路規模で実現することができる。また、リアルタイムでマスキング処理することができる。
【0063】
このように本実施の形態によれば、装置構成の増大を抑えながら、映像中でマスキングする領域の形状設定の自由度を向上することができる。
【0064】
なお、ユーザはモニタ6の表示画面上でマスク領域の頂点となる点を任意に指定することができるが、例えば、表示画面に表示される図11に示したようなマスク形状20A,20B,…からいずれかをユーザが操作入力部3を操作することにより選択し、選択したマスク形状の頂点を必要に応じて移動させて、頂点の位置を指定できるようなユーザインタフェースを設けてもよい。
【符号の説明】
【0065】
1 映像処理装置
2 映像取得部
3 操作入力部
4 マスク情報生成部
5 マスキング部
6 モニタ
41 オフセット算出部
42 カウンタ
43A〜43D 座標算出部
44A〜44D 比較器
45 AND回路
411 ブロック位置変換部
412 減算回路
413 テーブル
414,415 乗算回路
416,431,432 加算回路
417,418,433 D−FF
【特許請求の範囲】
【請求項1】
映像信号とその同期信号とを取得する映像取得部と、
ユーザ操作に応じて、前記映像信号に基づく映像を表示する表示画面上における3つ以上の点を指定する指定部と、
前記指定部で指定された各点を頂点とする多角形の各辺を構成する各直線を定義する定義部と、
前記同期信号に基づいて、前記映像信号における各画素の前記表示画面上における水平方向および垂直方向の座標を指定する座標指定部と、
前記座標指定部により指定される各画素の水平方向または垂直方向である一方の方向の座標値に対応する、前記各直線上の前記一方の方向とは異なる方向である他方の方向の座標値を算出する座標算出部と、
前記座標指定部により指定される各画素の前記他方の方向の座標値と、前記座標算出部により算出された前記各直線上の前記他方の方向の座標値とを比較することにより、前記映像信号における各画素が、前記各直線で囲まれる前記多角形内の領域であるマスク領域に含まれるか否かを判定する判定部と、
前記マスク領域に含まれる各画素をマスク画像でマスキングするマスキング部と
を備えることを特徴とする映像処理装置。
【請求項2】
映像信号とその同期信号とを取得し、前記同期信号に基づいて、前記映像信号における各画素の表示画面上における水平方向および垂直方向の座標を座標指定部により指定して、前記映像信号に基づく映像を前記表示画面に表示する映像処理装置における映像処理方法であって、
ユーザ操作に応じて、前記表示画面上における3つ以上の点を指定し、指定した各点を頂点とする多角形の各辺を構成する各直線を定義する工程と、
前記座標指定部により指定される各画素の水平方向または垂直方向である一方の方向の座標値に対応する、前記各直線上の前記一方の方向とは異なる方向である他方の方向の座標値を算出する工程と、
前記座標指定部により指定される各画素の前記他方の方向の座標値と、前記算出する工程で算出された前記各直線上の前記他方の方向の座標値とを比較することにより、前記映像信号における各画素が、前記各直線で囲まれる前記多角形内の領域であるマスク領域に含まれるか否かを判定する工程と、
前記マスク領域に含まれる各画素をマスク画像でマスキングする工程と
を含むことを特徴とする映像処理方法。
【請求項1】
映像信号とその同期信号とを取得する映像取得部と、
ユーザ操作に応じて、前記映像信号に基づく映像を表示する表示画面上における3つ以上の点を指定する指定部と、
前記指定部で指定された各点を頂点とする多角形の各辺を構成する各直線を定義する定義部と、
前記同期信号に基づいて、前記映像信号における各画素の前記表示画面上における水平方向および垂直方向の座標を指定する座標指定部と、
前記座標指定部により指定される各画素の水平方向または垂直方向である一方の方向の座標値に対応する、前記各直線上の前記一方の方向とは異なる方向である他方の方向の座標値を算出する座標算出部と、
前記座標指定部により指定される各画素の前記他方の方向の座標値と、前記座標算出部により算出された前記各直線上の前記他方の方向の座標値とを比較することにより、前記映像信号における各画素が、前記各直線で囲まれる前記多角形内の領域であるマスク領域に含まれるか否かを判定する判定部と、
前記マスク領域に含まれる各画素をマスク画像でマスキングするマスキング部と
を備えることを特徴とする映像処理装置。
【請求項2】
映像信号とその同期信号とを取得し、前記同期信号に基づいて、前記映像信号における各画素の表示画面上における水平方向および垂直方向の座標を座標指定部により指定して、前記映像信号に基づく映像を前記表示画面に表示する映像処理装置における映像処理方法であって、
ユーザ操作に応じて、前記表示画面上における3つ以上の点を指定し、指定した各点を頂点とする多角形の各辺を構成する各直線を定義する工程と、
前記座標指定部により指定される各画素の水平方向または垂直方向である一方の方向の座標値に対応する、前記各直線上の前記一方の方向とは異なる方向である他方の方向の座標値を算出する工程と、
前記座標指定部により指定される各画素の前記他方の方向の座標値と、前記算出する工程で算出された前記各直線上の前記他方の方向の座標値とを比較することにより、前記映像信号における各画素が、前記各直線で囲まれる前記多角形内の領域であるマスク領域に含まれるか否かを判定する工程と、
前記マスク領域に含まれる各画素をマスク画像でマスキングする工程と
を含むことを特徴とする映像処理方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2011−223498(P2011−223498A)
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願番号】特願2010−93055(P2010−93055)
【出願日】平成22年4月14日(2010.4.14)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【Fターム(参考)】
【公開日】平成23年11月4日(2011.11.4)
【国際特許分類】
【出願日】平成22年4月14日(2010.4.14)
【出願人】(000004329)日本ビクター株式会社 (3,896)
【Fターム(参考)】
[ Back to top ]