以下、本発明の実施形態を図面に基づいて説明する。なお、以下の説明では、画像の画素値は、0〜255までの整数値であるものとして説明するが、これに限定されるものではない。必要に応じて、画像の画素値の取り得る最大値を自然数Nとして、画素値の範囲が0〜Nであるものとして説明する。また、特に断りのない場合には、画像はRGBの3色で表現されているものであり、画像の合成は各色毎に行われることとする。
<第1の実施形態>
本発明の第1の実施形態について説明する。以下、図1及び図2を参照して、本実施形態による画像処理装置(画像合成回路)及び基本的な合成方法について説明した後、具体的な合成方法とその設定について、図3から図17を参照して説明する。
図1(a)は、第1の実施形態による画像処理装置としての画像合成回路の構成例を示すブロック図である。図1(a)に示すように、画像合成回路101は、折線回路104及び折線設定回路106を有する。図1(a)において、上位画像(Top)102は、合成対象の2枚の入力画像のうちの一方の画像であり、下位画像(Bottom)103は、合成対象の2枚の入力画像のうちの他方の画像である。また、合成画像107は、画像合成回路101によって作成される、合成対象の2枚の入力画像、すなわち上位画像(Top)102と下位画像(Bottom)103との合成画像である。
折線回路104は、上位画像(Top)102の画素値を変換する回路であって、例えば図1(b)に示すような変換特性を有する。すなわち、折線回路104は、1つの入力値に対して1つの出力値が決まる変換特性を持つ変換回路である。本実施形態では、折線回路104の変換特性は、1つ又は複数の線分から成る折線で示される折線特性とする。以下、説明のため、この折線が示す変換特性(折線特性)での変換処理を折線変換と呼び、折線回路104の変換特性を示す折線を主折線と呼ぶ。
主折線の特性は、それぞれの始点の座標と傾きで決定される。これは、後述するように、下位画像(Bottom)103における対応する位置の画素の画素値及び折線設定パラメーター105の設定に従って、折線設定回路106により決定される。すなわち、下位画像(Bottom)103における対応する画素の画素値に応じて、折線回路104の変換特性が設定される。折線設定パラメーター105は、合成方法毎に設定されるパラメーターの組であり、一組の合成方法について一組の設定値が定められる。
図1(b)には、下位画像(Bottom)103の画素値が192である場合の設定された主折線を一例として示している。図1(b)に示す主折線は、xを入力値、yを出力値として、下記式(1)、(2)、(3)で示される3本の主折線で構成されている。
y=x+64 (0≦x<128) …(1)
y=192 (128≦x<192) …(2)
y=x (192≦x) …(3)
この折線に従って、上位画像(Top)102の画素値が折線回路104で変換され、この変換によって得られた画素値が合成画像107の画素値となる。例えば、上位画像(Top)102の画素値x=160であれば192に変換され、この変換された画素値y=192が合成画像107の画素値となる。
ここで、図1(b)に示した主折線の各構成要素について説明する。図1(b)に示した主折線の第1の主折線L1は、始点のx座標が0、y座標が64、傾きが1の直線である。また、第2の主折線L2は、始点のx座標が128、y座標が192、傾きが0の直線であり、第3の主折線L3は、始点のx座標が192、y座標が192、傾きが1の直線である。この主折線L1、L2、L3の各々の始点のx座標とy座標と傾きを、下位画像(Bottom)103の画素値及び折線設定パラメーター105を基に決定する。
次に、図2を用いて、折線設定回路106で行う、主折線の設定(変換特性設定)の方法について説明する。本実施形態では、変換特性が1つ以上の折線で構成されているので、主折線の設定では各主折線の始点の座標と傾きを設定することになる。図2(a)は、主折線の設定例を示しており、下位画像の画素値に応じて、主折線の形状が変化する様子を示している。各主折線は、始点の座標と傾きが、下位画像の画素値に応じて、折線設定パラメーター105によって決定される。折線設定パラメーター105は、主折線の構成要素である始点の座標と傾きを定義するものであり、例えば、次の表1のように設定される。
この表において、a1、b1、c1、…の列は、主折線の構成要素を定義するものであり、各列のp1、q1、r1、…の行は、各構成要素の下位画像の画素値による変化を定義するものである。すなわち、a1、b1、c1は、第1の主折線の構成要素を定義するものであり、a1が主折線の始点のx座標、b1が主折線の始点のy座標、c1が主折線の傾きをそれぞれ定義するものである。同様に、a2、b2、c2は、第2の主折線の始点のx座標、始点のy座標、傾きを、a3、b3、c3は、第3の主折線の始点のx座標、始点のy座標、傾きを、それぞれ定義するものである。“−”は、設定されていないことを示す。
ここで、表においてp1、q1、r1及びp2、q2、r2の欄は、主折線の構成要素の下位画像の画素値による変化を示している。この変化は、主折線と同様に、1つの入力値に対して1つの出力値が決まる変換特性を有する。本実施形態では、この変化も折線を用いて設定されており、1つ以上の折線で構成されている。以下、説明のため、主折線の構成要素の下位画像の画素値による変化を示す折線を、副折線とする。すなわち、第nの副折線の始点のx座標がpnであり、始点のy座標がqnであり、傾きがrnとなっている。
ここで、主折線の構成要素と副折線との関係を説明する。例えば、ある下位画像の画素値がBであった場合に、この値に対応する副折線が、始点のx座標がpaであり、始点のy座標がqaであり、傾きがraであるとき、主折線のx座標aは、下記式(4)で求められる。
a=ra・(B−pa)+qa …(4)
同様に、下位画像の画素値Bに対応する副折線が、始点のx座標がpbであり、始点のy座標がqbであり、傾きがrbである場合、主折線のy座標bは、下記式(5)で求められる。また、下位画像の画素値Bに対応する副折線が、始点のx座標がpcであり、始点のy座標がqcであり、傾きがrcである場合、主折線の傾きcは、下記式(6)で求められる。
b=rb・(B−pb)+qb …(5)
c=rc・(B−pc)+qc …(6)
このとき、上位画像の画素値がTであって、式(4)、(5)、(6)で求めた主折線が対応する場合、合成画像の画素値Mは、下記式(7)で求められる。
M=c・(T−a)+b …(7)
すなわち、
M=(rc・(B−pc)+qc)・(T−(ra・(B−pa)+qa))+(rb・(B−pb)+qb) …(8)
として、合成画像の画素値Mが求まる。すなわち、下位画像の画素値及び折線設定パラメーターから主折線の構成要素を求め、得られる主折線で上位画像の画素値を変換することで合成画像の画素値を求める。
ここで、表1の説明に戻ると、p1は第1の副折線の始点のx座標であり、q1は第1の副折線の始点のy座標であり、r1は第1の副折線の傾きである。p2は第2の副折線の始点のx座標であり、q2は第2の副折線の始点のy座標であり、r2は第2の副折線の傾きである。なお、p2、q2、r2が設定されていない場合もあるが、この場合にはp1、q1、r1の設定で、下位画像の画素値のすべての範囲、すなわち画素値0から255までの変化が設定されていることを意味する。p2、q2、r2が設定されている場合、下位画像の画素値がp1からp2までの間は、第1の副折線が設定されており、p2以上では、第2の副折線が設定されていることになる。
例えば、表1において、a1列のp1、q1、r1は、a1の第1の副折線の始点のx座標がp1(=0)であり、始点のy座標がq1(=0)であり、傾きがr1(=0)であることを示している。a1列のp2、q2、r2は設定されてないので、下位画像の画素値が0から255までの間、常にa1は0である。すなわち、折線回路104に設定される第1の主折線の始点のx座標a1は、常に0である。このときの第1の主折線の始点のx座標(a1)を示す副折線を図2(b)に示す。
b1列のp1、q1、r1は、b1の第1の副折線の始点のx座標がp1(=0)であり、始点のy座標がq1(=0)であり、傾きがr1(=0)であることを示している。b1についてはp2、q2、r2が設定されている。b1の第2の副折線の始点のx座標がp2(=128)であり、始点のy座標がq2(=0)であり、傾きがr2(=1)である。したがって、下位画像の画素値がp1(=0)からp2(=128)までの間では、b1は0であり、p2(=128)以上で255以下では、下位画像の画素値に比例してb1は0から127まで変化する。
すなわち、折線回路104に設定される第1の主折線の始点のy座標b1は、下位画像の画素値が0から128までの間では0であり、下位画像の画素値が128以上では0から127まで変化する。このときの第1の主折線の始点のy座標(b1)を示す副折線を図2(c)に示す。下位画像の画素値をBとして式に示すと、b1は次のようになる。
b1=0 (0≦B<128) …(9)
b1=B−128 (128≦B<255) …(10)
同様に、c1列のp1、q1、r1は、c1の第1の副折線の始点のx座標がp1(=0)であり、始点のy座標がq1(=0)であり、傾きがr1(=0)であることを示している。c1の第2の副折線の始点のx座標がp2(=128)であり、始点のy座標がq2(=1)であり、傾きがr2(=0)である。したがって、下位画像の画素値がp1(=0)からp2(=128)までの間では、c1は0であり、p2(=128)以上で255以下では、c1は1である。すなわち、折線回路104に設定される第1の主折線の傾きc1は、下位画像の画素値が0から128までの間では0であり、下位画像の画素値が128以上では1である。このときの第1の主折線の傾き(c1)を示す副折線を図2(d)に示す。
また、第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図2(e)、図2(f)、及び図2(g)に示している。第3の主折線の始点のx座標(a3)、y座標(b3)、及び傾き(c3)を示す副折線を、それぞれ図2(h)、図2(i)、及び図2(j)に示している。なお、図2(d)、図2(e)、図2(f)、図2(g)、図2(h)に示したように、折線設定パラメーターにより設定される副折線は、不連続な線分の集まりとなっていても良い。
ここで、改めて本実施形態における折線設定について順を追って説明する。例えば、下位画像の画素値が192である場合、図2(b)、図2(c)、図2(d)に示した副折線のグラフから、第1の主折線の始点のx座標が0で、始点のy座標が64で、傾きが1であることが求まる。また、図2(e)、図2(f)、図2(g)に示した副折線のグラフから、第2の主折線の始点のx座標が128で、始点のy座標が192で、傾きが0であることが求まる。また、図2(h)、図2(i)、図2(j)に示した副折線のグラフから、第3の主折線の始点のx座標が192で、始点のy座標が192で、傾きが1であることが求まる。これにより決定された主折線が図1(b)の形となる。
図2(a)は、下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合について、それぞれ主折線を示した例である。例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが0である。また、第2の主折線の始点のx座標が64で、始点のy座標が0で、傾きが1であり、第3の主折線の始点のx座標が128で、始点のy座標が64で、傾きが0である。
上位画像の画素値は、下位画像の画素値で決定される主折線に示される変換特性に従って変換され、合成画像の画素値が決まる。すなわち、下位画像の画素値が64であった場合、上位画像の画素値が0から64までは、合成画像の画素値は0である。上位画像の画素値が64から128までは、合成画像の画素値は上位画像の画素値に比例して0から64まで変化し、上位画像の画素値が128から255までは、合成画像の画素値は64となる。
以下、具体的な合成方法における主折線及び折線設定パラメーターについて説明する。なお、以下の合成演算の式の説明では、上位画像(Top)の画素値をT、下位画像(Bottom)の画素値をB、合成画像の画素値をMとし、それぞれの画素値T、B、Mは取り得る最大値により規格化し0〜1の値を取るものとして記述している。また、合成の演算式の説明では、画素値のリミット処理や0値での割算に対する処理等は、当然行われるものなので省略してある。
[比較演算]
以下、合成の基本演算が比較演算である3種の合成方法について、本実施形態による実現方法を説明する。
(1)比較(暗)
比較(暗)の合成方法では、下記式(11)に従って2枚の画像が合成される。
M=min(T,B) …(11)
ここで、min()は、()内の要素のうちの値が最小の要素を返す演算子である。このとき、折線設定パラメーターは、下記の表2の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表2に示す折線設定パラメーターによる主折線を図3(a)に示す。また、表2に示す折線設定パラメーターによる副折線を図3(b)〜図3(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図3(b)、図3(c)、及び図3(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図3(e)、図3(f)、及び図3(g)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが1であり、第2の主折線の始点のx座標が64で、始点のy座標が64で、傾きが0である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から64までは、合成画像の画素値は上位画像の画素値に比例して0から64まで変化し、上位画像の画素値が64から255までは、合成画像の画素値は64となる。
(2)比較(明)
比較(明)の合成方法では、下記式(12)に従って2枚の画像が合成される。
M=max(T,B) …(12)
ここで、max()は、()内の要素のうちの値が最大の要素を返す演算子である。このとき、折線設定パラメーターは、下記の表3の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表3に示す折線設定パラメーターによる主折線を図4(a)に示す。また、表3に示す折線設定パラメーターによる副折線を図4(b)〜図4(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図4(b)、図4(c)、及び図4(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図4(e)、図4(f)、及び図4(g)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が64で、傾きが0であり、第2の主折線の始点のx座標が64で、始点のy座標が64で、傾きが1である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から64までは、合成画像の画素値は64となり、上位画像の画素値が64から255までは、合成画像の画素値は上位画像の画素値に比例して64から255まで変化する。
(3)ピンライト
ピンライトの合成方法では、下記式(13)に従って2枚の画像が合成される。
M=if(T<0.5) min(2×T,B)
else max(2×T−1,B) …(13)
このとき、折線設定パラメーターは、下記の表4の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表4に示す折線設定パラメーターによる主折線を図5(a)に示す。また、表4に示す折線設定パラメーターによる副折線を図5(b)〜図5(j)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図5(b)、図5(c)、及び図5(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図5(e)、図5(f)、及び図5(g)に示している。第3の主折線の始点のx座標(a3)、始点のy座標(b3)、及び傾き(c3)を示す副折線を、それぞれ図5(h)、図5(i)、及び図5(j)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが2である。また、第2の主折線の始点のx座標が32で、始点のy座標が64で、傾きが0であり、第3の主折線の始点のx座標が160で、始点のy座標が64で、傾きが2である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から32までは、合成画像の画素値は上位画像の画素値に比例して0から64まで変化する。また、上位画像の画素値が32から160までは、合成画像の画素値は64となり、上位画像の画素値が160から255までは、合成画像の画素値は上位画像の画素値に比例して64から255まで変化する。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表5の通りである。
[乗算]
以下、合成の基本演算が乗算である6種の合成方法について、本実施形態による実現方法を説明する。
(1)乗算
乗算の合成方法では、下記式(14)に従って2枚の画像が合成される。
M=T×B …(14)
このとき、折線設定パラメーターは、下記の表6の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表6に示す折線設定パラメーターによる主折線を図6(a)に示す。また、表6に示す折線設定パラメーターによる副折線を図6(b)〜図6(d)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図6(b)、図6(c)、及び図6(d)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが1/4である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から255までは、合成画像の画素値は上位画像の画素値に比例して0から64まで変化する。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表7の通りである。
(2)スクリーン
スクリーンの合成方法では、下記式(15)に従って2枚の画像が合成される。
M=1−(1−T)×(1−B) …(15)
このとき、折線設定パラメーターは、下記の表8の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表8に示す折線設定パラメーターによる主折線を図7(a)に示す。また、表8に示す折線設定パラメーターによる副折線を図7(b)〜図7(d)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図7(b)、図7(c)、及び図7(d)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が64で、傾きが3/4である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から255までは、合成画像の画素値は上位画像の画素値に比例して64から255まで変化する。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表9の通りである。
(3)オーバーレイ
オーバーレイの合成方法では、下記式(16)に従って2枚の画像が合成される。
M=if(B<0.5) 2×T×B
else 1−2×(1−T)×(1−B) …(16)
このとき、折線設定パラメーターは、下記の表10の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表10に示す折線設定パラメーターによる主折線を図8(a)に示す。また、表10に示す折線設定パラメーターによる副折線を図8(b)〜図8(d)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図8(b)、図8(c)、及び図8(d)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが1/2である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から255までは、合成画像の画素値は上位画像の画素値に比例して0から128まで変化する。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表11の通りである。
(4)ハードライト
ハードライトの合成方法では、下記式(17)に従って2枚の画像が合成される。
M=if(T<0.5) 2×T×B
else 1−2×(1−T)×(1−B) …(17)
このとき、折線設定パラメーターは、下記の表12の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表12に示す折線設定パラメーターによる主折線を図9(a)に示す。また、表12に示す折線設定パラメーターによる副折線を図9(b)〜図9(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図9(b)、図9(c)、及び図9(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図9(e)、図9(f)、及び図9(g)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが1/2であり、第2の主折線の始点のx座標が128で、始点のy座標が64で、傾きが3/2である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から128までは、合成画像の画素値は上位画像の画素値に比例して0から64まで変化する。また、上位画像の画素値が128から255までは、合成画像の画素値は上位画像の画素値に比例して64から255まで変化する。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表13の通りである。
(5)ソフトライト
ソフトライトの合成方法では、下記式(18)に従って2枚の画像が合成される。
M=if(T<0.5) (−2×B×B+2×B)×T+B×B
else if(B<0.25) 2×B×(16×B×B−12×B+3)×T−2×B×(8×B×B−6×B+1)
else 2×(√B−B)×T+2×B−√B …(18)
ソフトライトは、合成演算が複雑なため、近似した折線を利用して実現する方が望ましい。本実施形態では、このときの、折線設定パラメーターを下記の表14の通りで実現している。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表14に示す折線設定パラメーターによる主折線を図10(a)に示す。また、表14に示す折線設定パラメーターによる副折線を図10(b)〜図10(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図10(b)、図10(c)、及び図10(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図10(e)、図10(f)、及び図10(g)に示している。なお、参考として、近似した折線でなく、折線設定パラメーターが連続的に変化するものとして設定した場合の主折線を図10(h)に示している。図10(a)及び図10(h)から明らかなように、近似した折線を用いても十分な精度で合成できることがわかる。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が16で、傾きが3/8であり、第2の主折線の始点のx座標が128で、始点のy座標が64で、傾きが1/2である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から128までは、合成画像の画素値は上位画像の画素値に比例して16から64まで変化する。また、上位画像の画素値が128から255までは、合成画像の画素値は上位画像の画素値に比例して64から128まで変化する。
(6)除外
除外の合成方法では、下記式(19)に従って2枚の画像が合成される。
M=0.5−2×(T−0.5)×(B−0.5) …(19)
このとき、折線設定パラメーターは、下記の表15の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表15に示す折線設定パラメーターによる主折線を図11(a)に示す。また、表15に示す折線設定パラメーターによる副折線を図11(b)〜図11(d)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図11(b)、図11(c)、及び図11(d)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が64で、傾きが1/2である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から255までは、合成画像の画素値は上位画像の画素値に比例して64から192まで変化する。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表16の通りである。
[加算]
以下、合成の基本演算が加算である4種の合成方法について、本実施形態による実現方法を説明する。
(1)焼き込み(リニア)
焼き込み(リニア)の合成方法では、下記式(20)に従って2枚の画像が合成される。
M=T+B−1 …(20)
このとき、折線設定パラメーターは、下記の表17の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表17に示す折線設定パラメーターによる主折線を図12(a)に示す。また、表17に示す折線設定パラメーターによる副折線を図12(b)〜図12(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図12(b)、図12(c)、及び図12(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図12(e)、図12(f)、及び図12(g)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが0であり、第2の主折線の始点のx座標が192で、始点のy座標が0で、傾きが1である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から192までは、合成画像の画素値は0となり、上位画像の画素値が192から255までは、合成画像の画素値は上位画像の画素値に比例して0から64まで変化する。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表18の通りである。
(2)覆い焼き(リニア)
覆い焼き(リニア)の合成方法では、下記式(21)に従って2枚の画像が合成される。
M=T+B …(21)
このとき、折線設定パラメーターは、下記の表19の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表19に示す折線設定パラメーターによる主折線を図13(a)に示す。また、表19に示す折線設定パラメーターによる副折線を図13(b)〜図13(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図13(b)、図13(c)、及び図13(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図13(e)、図13(f)、及び図13(g)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が64で、傾きが1であり、第2の主折線の始点のx座標が192で、始点のy座標が255で、傾きが0である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から192までは、合成画像の画素値は上位画像の画素値に比例して64から255まで変化し、上位画像の画素値が192から255までは、合成画像の画素値は255となる。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表20の通りである。
(3)リニアライト
リニアライトの合成方法では、下記式(22)に従って2枚の画像が合成される。
M=2×T+B−1 …(22)
このとき、折線設定パラメーターは、下記の表21の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表21に示す折線設定パラメーターによる主折線を図14(a)に示す。また、表21に示す折線設定パラメーターによる副折線を図14(b)〜図14(j)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図14(b)、図14(c)、及び図14(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図14(e)、図14(f)、及び図14(g)に示している。第3の主折線の始点のx座標(a3)、始点のy座標(b3)、及び傾き(c3)を示す副折線を、それぞれ図14(h)、図14(i)、及び図14(j)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが0である。また、第2の主折線の始点のx座標が96で、始点のy座標が0で、傾きが2であり、第3の主折線の始点のx座標が224で、始点のy座標が255で、傾きが0である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から96までは、合成画像の画素値は0となり、上位画像の画素値が96から224までは、合成画像の画素値は上位画像の画素値に比例して0から255まで変化する。また、上位画像の画素値が224から255までは、合成画像の画素値は255となる。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表22の通りである。
(4)ハードミックス
ハードミックスの合成方法では、下記式(23)に従って2枚の画像が合成される。
M=if((T+B)<1) 0
else 1 …(23)
このとき、折線設定パラメーターは、下記の表23の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表23に示す折線設定パラメーターによる主折線を図15(a)に示す。また、表23に示す折線設定パラメーターによる副折線を図15(b)〜図15(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図15(b)、図15(c)、及び図15(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図15(e)、図15(f)、及び図15(g)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが0であり、第2の主折線の始点のx座標が192で、始点のy座標が256で、傾きが0である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から192までは、合成画像の画素値は0となり、上位画像の画素値が192から255までは、合成画像の画素値は255となる。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表24の通りである。
[減算]
以下、合成の基本演算が減算である2種の合成方法について、本実施形態による実現方法を説明する。
(1)差分の絶対値
差分の絶対値の合成方法では、下記式(24)に従って2枚の画像が合成される。
M=abs(B−T) …(24)
ここで、abs()は、()内の絶対値を返す演算子である。このとき、折線設定パラメーターは、下記の表25の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表25に示す折線設定パラメーターによる主折線を図16(a)に示す。また、表25に示す折線設定パラメーターによる副折線を図16(b)〜図16(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図16(b)、図16(c)、及び図16(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図16(e)、図16(f)、及び図16(g)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が64で、傾きが−1であり、第2の主折線の始点のx座標が64で、始点のy座標が0で、傾きが1である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から64までは、合成画像の画素値は上位画像の画素値に比例して64から0まで変化する。また、上位画像の画素値が64から255までは、合成画像の画素値は上位画像の画素値に比例して0から192まで変化する。
(2)減算
減算の合成方法では、下記式(25)に従って2枚の画像が合成される。
M=B−T …(25)
このとき、折線設定パラメーターは、下記の表26の通りである。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表26に示す折線設定パラメーターによる主折線を図17(a)に示す。また、表26に示す折線設定パラメーターによる副折線を図17(b)〜図17(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図17(b)、図17(c)、及び図17(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図17(e)、図17(f)、及び図17(g)に示している。
例えば、下位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が64で、傾きが−1であり、第2の主折線の始点のx座標が64で、始点のy座標が0で、傾きが0である。したがって、下位画像の画素値が64であった場合、上位画像の画素値が0から64までは、合成画像の画素値は上位画像の画素値に比例して64から0まで変化し、上位画像の画素値が64から255までは、合成画像の画素値は0となる。
第1の実施形態によれば、画像合成回路101の折線回路104が、指定された合成方法及び下位画像(Bottom)における対応する画素の画素値に応じて設定される折線特性に従って、上位画像(Top)の画素値を変換して合成画像の画素値とする。これにより、合成方法及び下位画像の画素値に応じて折線特性を適切に設定して上位画像の画素値変換を行うことで合成画像を作成することができる。
前述した方法を回路化した場合、折線回路を主体に構成できるので比較的小さい規模で実現することができる。この回路を一つ実現することで、設定パラメーターの変更により、さまざまな合成方法の処理を行えることになる。すなわち、複数の合成方法の処理を、単一の回路構成で実現することが可能となる。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。以下、図18及び図19を参照して、第2の実施形態による合成の基本演算が除算である合成方法ついて、本実施形態による実現方法を説明する。
図18は、第2の実施形態による画像処理装置としての画像合成回路の構成例を示すブロック図である。第2の実施形態による画像合成回路1801は、折線回路1804、折線設定回路1806、及びシフト回路1808を有する。図18において、上位画像(Top)1802は、合成対象の2枚の画像のうちの一方の画像であり、下位画像(Bottom)1803は、合成対象の2枚の画像のうちの他方の画像である。また、合成画像1807は、合成対象の2枚の画像、すなわち上位画像(Top)1802と下位画像(Bottom)1803との合成画像である。
折線回路1804及び折線設定回路1806は、それぞれ図1(a)に示した第1の実施形態における折線回路104及び折線設定回路106と同様である。第2の実施形態による画像合成回路1801は、図1(a)に示した第1の実施形態による画像合成回路101に対して、上位画像(Top)1802と下位画像(Bottom)1803との配置が異なる。第2の実施形態による画像合成回路1801では、上位画像(Top)1802の画素値及び折線設定パラメーター1805の設定に従って、折線設定回路1806により折線回路1804の変換特性が決定される。折線回路1804によって、下位画像(Bottom)1803の画素値が変換され、合成画像1807が得られる。
さらに、第2の実施形態では、折線設定パラメーターの内、折線の傾きを示す項目(c1、c2、c3等)で大きな値が発生するため、これを小さい範囲に収めるようにシフト回路1808によるシフト演算を組み合せて定義している。すなわち、折線の傾きの変化が、図19(a)に示すように双曲線で変化するため、1から255までの入力範囲で出力が255から1まで変化する(なお、入力が0である場合は、例外処理で出力を255とする。)。なお、図19(b)は、図19(a)の縦軸のスケールを拡大した図である。
このため、本実施形態では、まず、図19(c)に示すように双曲線を折線で近似する。なお、図19(d)は、図19(c)の縦軸のスケールを拡大した図である。すなわち、入力範囲が0から4のところでは傾きが−48の折線で近似し、入力範囲が4から8のところでは傾きが−8の折線で近似するといったように、概略の折線で近似する。これに、図19(e)に示す値でシフト処理を行う。例えば、変換特性を示す折線の傾きの値が16から8まで変化する入力範囲が16から32のところで、4ビットのシフト量(右シフト)を与えることとすると、変換特性を示す折線の傾きの値は、この間、1から0.5まで変化するようになる。このようにシフト量を与えた結果、折線の傾きは、図19(f)に示すように不連続な形態になる。
折線設定回路1806では、この不連続な折線の傾きが与えられた場合、そのまま折線回路1804に設定値を与えて折線回路1804の折線(変換特性)を設定する。そして、折線回路1804により下位画像の画素値を折線が示す変換特性で変換した後、設定されたシフト量をシフト回路1808でシフト(左シフト)することで、合成画像1807の画素値を得る。これにより、中間の演算処理で大きな桁の値が発生することを防止できる。
以下、合成の基本演算が除算である合成方法における本実施形態での主折線及び折線設定パラメーターについて説明する。
[除算]
以下、合成の基本演算が除算である4種の合成方法について、本実施形態による実現方法を説明する。
(1)焼き込みカラー
焼き込みカラーの合成方法では、下記式(26)に従って2枚の画像が合成される。
M=1−(1−B)/T …(26)
このとき、折線設定パラメーターは、下記の表27の通りである。
上位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表27に示す折線設定パラメーターによる主折線を図20(a)に示す。また、表27に示す折線設定パラメーターによる副折線を図20(b)〜(h)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図20(b)、図20(c)、及び図20(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図20(e)、図20(f)、及び図20(g)に示しており、シフト量(s2)を、図20(h)に示している。
なお、図20(i)及び図20(j)は、近似及びシフトを行わない場合の傾き(c2)及びその縦軸を拡大した図を示しており、図20(k)及び図20(l)は、近似してシフトを行わない場合の傾き(c2)及びその縦軸を拡大した図を示している。なお、参考として、近似した折線でなく、折線設定パラメーターが連続的に変化するものとして設定した場合の主折線を図20(m)に示している。図20(a)及び図20(m)から明らかなように、近似した折線を用いても十分な精度で合成できることがわかる。
例えば、上位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが0であり、第2の主折線の始点のx座標が192で、始点のy座標が0で、傾きが1(2ビットシフト後)である。したがって、上位画像の画素値が64であった場合、下位画像の画素値が0から192までは、合成画像の画素値は0となり、下位画像の画素値が192から255までは、合成画像の画素値は下位画像の画素値に比例して0から255まで変化する。
(2)覆い焼きカラー
覆い焼きカラーの合成方法では、下記式(27)に従って2枚の画像が合成される。
M=B/(1−T) …(27)
このとき、折線設定パラメーターは、下記の表28の通りである。
上位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表28に示す折線設定パラメーターによる主折線を図21(a)に示す。また、表28に示す折線設定パラメーターによる副折線を図21(b)〜図21(e)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図21(b)、図21(c)、及び図21(d)に示しており、シフト量(s1)を、図21(e)に示している。
なお、図21(f)及び図21(g)は、近似及びシフトを行わない場合の傾き(c1)及びその縦軸を拡大した図を示しており、図21(h)及び図21(i)は、近似してシフトを行わない場合の傾き(c1)及びその縦軸を拡大した図を示している。なお、参考として、近似した折線でなく、折線設定パラメーターが連続的に変化するものとして設定した場合の主折線を図21(j)に示している。図21(a)及び図21(j)から明らかなように、近似した折線を用いても十分な精度で合成できることがわかる。
例えば、上位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが3/4(1ビットシフト後)である。したがって、上位画像の画素値が64であった場合、下位画像の画素値が0から192までは、合成画像の画素値は下位画像の画素値に比例して0から255まで変化する。
(3)ビビットライト
ビビットライトの合成方法では、下記式(28)に従って2枚の画像が合成される。
M=if(T<0.5) 1−(1−B)/(2×T)
else −B/(2×T) …(28)
このとき、折線設定パラメーターは、下記の表29の通りである。
上位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表29に示す折線設定パラメーターによる主折線を図22(a)に示す。また、表29に示す折線設定パラメーターによる副折線を図22(b)〜(i)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図22(b)、図22(c)、及び図22(d)に示しており、シフト量(s1)を、図22(e)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図22(f)、図22(g)、及び図22(h)に示しており、シフト量(s2)を、図22(i)に示している。
なお、図22(j)及び図22(k)は、近似及びシフトを行わない場合の第1の主折線の傾き(c1)及びその縦軸を拡大した図を示している。図22(l)及び図22(m)は、近似してシフトを行わない場合の第1の主折線の傾き(c1)及びその縦軸を拡大した図を示している。また、図22(n)及び図22(o)は、近似及びシフトを行わない場合の第2の主折線の傾き(c2)及びその縦軸を拡大した図を示している。図22(p)及び図22(q)は、近似してシフトを行わない場合の第2の主折線の傾き(c2)及びその縦軸を拡大した図を示している。なお、参考として、近似した折線でなく、折線設定パラメーターが連続的に変化するものとして設定した場合の主折線を図22(r)に示している。図22(a)及び図22(r)から明らかなように、近似した折線を用いても十分な精度で合成できることがわかる。
例えば、上位画像の画素値が64である場合、第1の主折線の始点のx座標が0で、始点のy座標が0で、傾きが0であり、第2の主折線の始点のx座標が128で、始点のy座標が0で、傾きが1(1ビットシフト後)である。したがって、上位画像の画素値が64であった場合、下位画像の画素値が0から128までは、合成画像の画素値は0となり、下位画像の画素値が128から255までは、合成画像の画素値は下位画像の画素値に比例して0から255まで変化する。
(4)除算
除算の合成方法では、下記式(29)に従って2枚の画像が合成される。
M=T/B …(29)
このとき、折線設定パラメーターは、下記の表30の通りである。
上位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表30に示す折線設定パラメーターによる主折線を図23(a)に示す。また、表30に示す折線設定パラメーターによる副折線を図23(b)〜(e)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図23(b)、図23(c)、及び図23(d)に示しており、シフト量(s1)を、図23(e)に示している。
なお、図23(f)及び図23(g)は、近似及びシフトを行わない場合の傾き(c1)及びその縦軸を拡大した図を示しており、図23(h)及び図23(i)は、近似してシフトを行わない場合の傾き(c1)及びその縦軸を拡大した図を示している。なお、参考として、近似した折線でなく、折線設定パラメーターが連続的に変化するものとして設定した場合の主折線を図23(j)に示している。図23(a)及び図23(j)から明らかなように、近似した折線を用いても十分な精度で合成できることがわかる。
第2の実施形態によれば、合成方法及び上位画像の画素値に応じて折線特性を適切に設定して下位画像の画素値変換を行うことで合成画像を作成することができる。この方法を回路化した場合、折線回路を主体に構成できるので比較的小さい規模で実現することができる。この回路を一つ実現することで、設定パラメーターの変更により、さまざまな合成方法の処理を行えることになる。すなわち、複数の合成方法の処理を、単一の回路構成で実現することが可能となる。
<第3の実施形態>
次に、本発明の第3の実施形態について説明する。以下、図24〜図31を参照して、第3の実施形態による合成方法について説明する。第3の実施形態は、画像内もしくは時間的に連続する複数の画像間(画像フレーム間)で合成方法を変化させる場合についてのものである。この場合、従来の演算による合成方法では、中間の演算を行うことが困難であるために、異なる合成方法の境界が目立ってしまっていた。
本実施形態では、変化する前後の合成方法の中間的な特性を、折線設定パラメーターを変更することで設定し、異なる合成方法の間の変化が連続的になるようにする。すなわち、画像内もしくは画像フレーム間で、折線設定パラメーターを変更して異なる合成方法の境界をなめらかに変化させるものである。以下では、2つの合成方法の中間的な特性を持つ折線設定パラメーターの例を示し、それを画面内又は画像フレーム間に適用した例を示す。
[中間演算]
基本的な合成演算の中間演算を行う場合には、例えば以下のような折線の設定を行う。
(1)比較(暗)−乗算
比較(暗)と乗算との中間演算は、例えば表31のような折線設定パラメーターを設定すれば良い。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表31に示す折線設定パラメーターによる主折線を図24(a)に示す。また、表31に示す折線設定パラメーターによる副折線を図24(b)〜図24(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図24(b)、図24(c)、及び図24(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図24(e)、図24(f)、及び図24(g)に示している。
図24(a)に示す主折線は、図3(a)及び図6(a)に示した主折線と比較すると、中間的な状態であることがわかる。例えば、図3(a)に示した第2の主折線の始点のx座標及びy座標は、下位画像の画素値に応じて0から255まで変化しており、図6(a)に示した主折線の始点のx座標は、常に0である。これに対して、図24(a)に示す第2の主折線の始点のx座標及びy座標は、下位画像の画素値に応じて0から128まで変化している。
すなわち、図24(a)に示す第2の主折線の始点のx座標及びy座標は、図3(a)に示したものよりは変化していないが、図6(a)に示したものよりは変化している。主折線の傾きも同様であり、図24(a)に示す主折線は、図3(a)及び図6(a)に示したものの中間的な折線を表現している。なお、図6(a)では、主折線が1本であるが、第1の主折線の始点の座標として、常にx=0、y=0を設定しておくと、図6(a)においては、第2の主折線が変化しているとみなすことができる。したがって、第2の主折線の設定を変えることで、比較(暗)と乗算との中間演算を行うことができる。
また、比較(暗)と乗算との中間演算は、例えば表32のように調整変数sを用いて、折線設定パラメーターを設定しても良い。
ここで、調整変数sは、比較(暗)及び乗算のうちのどちらの合成方法に近いかを示すパラメーターであって、0から1までの値の範囲で変化し、s=0のとき比較(暗)となり、s=1のとき乗算となる。調整変数sが、0、0.25、0.5、0.75、1.0と変化した場合のそれぞれ折線設定パラメーターの設定を表33〜表37に示す。
表33に示す折線設定パラメーターによる主折線は、図3に示した比較(暗)の主折線と同様である。また、表37に示す折線設定パラメーターによる主折線は、図6に示した乗算の主折線と同様である。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表34に示す折線設定パラメーターによる主折線を図25(a)に示す。また、表34に示す折線設定パラメーターによる副折線を図25(b)〜図25(j)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図25(b)、図25(c)、及び図25(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図25(e)、図25(f)、及び図25(g)に示している。第3の主折線の始点のx座標(a3)、始点のy座標(b3)、及び傾き(c3)を示す副折線を、それぞれ図25(h)、図25(i)、及び図25(j)に示している。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表35に示す折線設定パラメーターによる主折線を図26(a)に示す。また、表35に示す折線設定パラメーターによる副折線を図26(b)〜図26(j)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図26(b)、図26(c)、及び図26(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図26(e)、図26(f)、及び図26(g)に示している。第3の主折線の始点のx座標(a3)、始点のy座標(b3)、及び傾き(c3)を示す副折線を、それぞれ図26(h)、図26(i)、及び図26(j)に示している。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表36に示す折線設定パラメーターによる主折線を図27(a)に示す。また、表36に示す折線設定パラメーターによる副折線を図27(b)〜図27(j)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図27(b)、図27(c)、及び図27(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図27(e)、図27(f)、及び図27(g)に示している。第3の主折線の始点のx座標(a3)、始点のy座標(b3)、及び傾き(c3)を示す副折線を、それぞれ図27(h)、図27(i)、及び図27(j)に示している。
このように、調整変数sを用いて、折線設定パラメーターの設定を行うことで、比較(暗)と乗算との2つの合成方法の中間状態を自由に作り出すこともできる。なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表38の通りである。
(2)乗算−焼き込み(リニア)
乗算と焼き込み(リニア)との中間演算は、例えば表39のように調整変数sを用いて、折線設定パラメーターを設定できる。
ここで、調整変数sは、乗算及び焼き込み(リニア)のうちのどちらの合成方法に近いかを示すパラメーターであって、0から1までの値の範囲で変化し、s=0のとき焼き込み(リニア)となり、s=1のとき乗算となる。調整変数sが、0、0.25、0.5、0.75、1.0と変化した場合のそれぞれ折線設定パラメーターの設定を表40〜表44に示す。
表40に示す折線設定パラメーターによる主折線は、図12に示した焼き込み(リニア)の主折線と同様である。また、表44に示す折線設定パラメーターによる主折線は、図6に示した乗算の主折線と同様である。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表41に示す折線設定パラメーターによる主折線を図28(a)に示す。また、表41に示す折線設定パラメーターによる副折線を図28(b)〜図28(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図28(b)、図28(c)、及び図28(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図28(e)、図28(f)、及び図28(g)に示している。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表42に示す折線設定パラメーターによる主折線を図29(a)に示す。また、表42に示す折線設定パラメーターによる副折線を図29(b)〜図29(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図29(b)、図29(c)、及び図29(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図29(e)、図29(f)、及び図29(g)に示している。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表43に示す折線設定パラメーターによる主折線を図30(a)に示す。また、表43に示す折線設定パラメーターによる副折線を図30(b)〜図30(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図30(b)、図30(c)、及び図30(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図30(e)、図30(f)、及び図30(g)に示している。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表45の通りである。
次に、図31を用いて、前述したような中間演算を含めて画像を合成する例について説明する。図31(a)に例示したような画像3101全体を、画像の中心から領域3102、3103、3104に区分し、画像内で合成方法を変化させる場合を説明する。ここでは、例えば、中央領域3102を比較(明)による画像合成、周辺領域3104を乗算による画像合成として、中間領域3103を比較(明)−乗算の中間演算となる画像合成とする。
中央領域3102と周辺領域3104との間の中間領域3103で、中間演算の画像合成をすることで、画像内で異なる合成演算を行う場合に中間領域の画像がなめらかに変化するように合成することができる。例えば、中間演算を求める際に、前述したように調整変数sを用いて折線設定パラメーターを設定するようにすれば、さらに容易になめらかに変化するように合成できる。また、領域の区分を増やし、比較(明)−乗算−焼き込み(リニア)と、3通りの合成方法を変化させることも可能である。
また、図31(b)は、時間的に連続する複数の画像から成る動画像で異なる時刻に異なる合成演算を行う場合を示している。図31(b)において、3105は、動画像とその合成方法が変化する部分を表しており、左から右へ表示時間が増えるものとする。ここで例えば、時刻t1までは比較(明)による画像合成、時刻t2から時刻t3までは乗算による画像合成、時刻t4からは焼き込み(リニア)による画像合成を行うとする。このとき、時刻t1から時刻t2までは比較(明)−乗算の中間演算、時刻t3から時刻t4までは乗算−焼き込み(リニア)の中間演算による画像合成とする。
このように中間部分では中間演算の画像合成をすることで、動画像で異なる時刻に異なる合成演算を行う場合に、中間部分が動的になめらかに変化するように合成することができる。同様に、中間演算を求める際に、前述したように調整変数sを用いて折線設定パラメーターを設定するようにすれば、さらに容易になめらかに変化するように合成できる。また、変化する部分を増やし、比較(明)−乗算−焼き込み(リニア)と、3通りの合成方法を変化させることも、当然可能である。
<第4の実施形態>
次に、本発明の第4の実施形態について説明する。以下、図32〜図34を参照して、第4の実施形態による合成方法について説明する。第4の実施例は、画像内もしくは画像フレーム間で、オーバーレイからハードライトに合成方法を変化させる場合についてのものである。オーバーレイとハードライトは、前述した式(16)及び式(17)でそれぞれ表される合成演算であり、上位画像の画素値と下位画像の画素値とが切り替わった関係となっている。
この場合の中間的な演算は、例えば表46のように調整変数sを用いて、折線設定パラメーターを設定できる。
ここで、調整変数sは、オーバーレイ及びハードライトのうちのどちらの合成方法に近いかを示すパラメーターであって、0から1までの値の範囲で変化し、s=0のときオーバーレイとなり、s=1のときハードライトとなる。調整変数sが、0、0.25、0.5、0.75、1.0と変化した場合のそれぞれの折線設定パラメーターの設定を表47〜表51に示す。
表47に示す折線設定パラメーターによる主折線は、図8に示したオーバーレイの主折線と同様である。また、表51に示す折線設定パラメーターによる主折線は、図9に示したハードライトの主折線と同様である。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表48に示す折線設定パラメーターによる主折線を図32(a)に示す。また、表48に示す折線設定パラメーターによる副折線を図32(b)〜図32(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図32(b)、図32(c)、及び図32(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図32(e)、図32(f)、及び図32(g)に示している。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表49に示す折線設定パラメーターによる主折線を図33(a)に示す。また、表49に示す折線設定パラメーターによる副折線を図33(b)〜図33(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図33(b)、図33(c)、及び図33(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図33(e)、図33(f)、及び図33(g)に示している。
下位画像の画素値が、0、32、64、96、128、160、192、224、255である場合の、表50に示す折線設定パラメーターによる主折線を図34(a)に示す。また、表50に示す折線設定パラメーターによる副折線を図34(b)〜図34(g)に示す。第1の主折線の始点のx座標(a1)、始点のy座標(b1)、及び傾き(c1)を示す副折線を、それぞれ図34(b)、図34(c)、及び図34(d)に示している。第2の主折線の始点のx座標(a2)、始点のy座標(b2)、及び傾き(c2)を示す副折線を、それぞれ図34(e)、図34(f)、及び図34(g)に示している。
オーバーレイとハードライトと、その中間演算による合成の使い方は、第3の実施形態で示したように、画面内もしくは画像フレーム間で合成方法を変化させる場合と同様である。ここで、オーバーレイとハードライトは、合成演算としては上位画像の画素値と下位画像の画素値とが切り替わった関係となっている。したがって、オーバーレイからハードライトへと、本実施形態に示した中間演算を用いて合成方法を変化させることは、上位の画像と下位の画像とを徐々に切り替えることに相当する。すなわち、本実施形態によれば、従来の演算による合成方法では困難であった、上位の画像と下位の画像とを切り替える際に、中間的な切り替え状態を発生させることができる。
なお、画素値の最大値がNである場合には、折線設定パラメーターは、下記の表52の通りである。
なお、前述した各実施形態では、折線の設定は、その構成要素が始点の座標及び傾きであり、これを設定することとした。これに限らず、折線の設定は、回路構成上、実現可能な範囲で、一次関数と適用範囲の指定の組とする等、他の表現方向で実現しその表現方法に対応した構成要素を設定することとしても良い。
また、前述した各実施形態では、画素値を変換する際の変換特性は、1つ又は複数の折線から構成される特性の主折線としたが、回路構成上、実現可能な範囲で、放物線や双曲線等の他の曲線を単独又は複数の組み合わせで構成することも可能である。この場合、設定パラメーターは、それぞれの曲線を定義する構成要素を設定することになる。例えば、放物線であれば、頂点の座標と、大きさや適用範囲等になる。主折線の構成要素を設定する副折線についても、同様に他の曲線で構成することも可能である。
また、前述した各実施形態では、画素値を変換する際の変換特性の構成要素を設定することとしたが、回路構成上、実現可能な範囲で、関数を直接設定することも可能である。例えば、二次関数や逆数関数や指数関数等を、直接設定することも可能である。すなわち、下位画像の画素値に応じて、変換関数を指定するように設定パラメーターを定義して、下位画像の画素値に応じて、変換関数が変わる構成とすることができる。
なお、前記実施形態は、何れも本発明を実施するにあたっての具体化のほんの一例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。