JP2000151982A - 画像合成装置および画像合成方法、画像生成装置および画像生成方法、並びに提供媒体 - Google Patents
画像合成装置および画像合成方法、画像生成装置および画像生成方法、並びに提供媒体Info
- Publication number
- JP2000151982A JP2000151982A JP10326455A JP32645598A JP2000151982A JP 2000151982 A JP2000151982 A JP 2000151982A JP 10326455 A JP10326455 A JP 10326455A JP 32645598 A JP32645598 A JP 32645598A JP 2000151982 A JP2000151982 A JP 2000151982A
- Authority
- JP
- Japan
- Prior art keywords
- image
- area
- mat
- matte
- value
- 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.)
- Withdrawn
Links
Landscapes
- Studio Circuits (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
- Image Generation (AREA)
Abstract
(57)【要約】
【課題】 画像の合成を、効率良く行う。
【解決手段】 マット画像に対して、0でないマット値
すべてを包含する第1のバウンディングボックスと、1
のマット値のみからなる第2のバウンディングボックス
とが設定され、第1のバウンディングボックスの外部の
領域(外部領域)、第1のバウンディングボックスの領
域のうちの第2のバウンディングボックスの領域でない
領域(中間領域)、および第2のバウンディングボック
スの領域(内部領域)の3つの領域それぞれに対応する
前景画像および背景画像について、画像合成のための合
成処理が施される。
すべてを包含する第1のバウンディングボックスと、1
のマット値のみからなる第2のバウンディングボックス
とが設定され、第1のバウンディングボックスの外部の
領域(外部領域)、第1のバウンディングボックスの領
域のうちの第2のバウンディングボックスの領域でない
領域(中間領域)、および第2のバウンディングボック
スの領域(内部領域)の3つの領域それぞれに対応する
前景画像および背景画像について、画像合成のための合
成処理が施される。
Description
【0001】
【発明の属する技術分野】本発明は、画像合成装置およ
び画像合成方法、画像生成装置および画像生成方法、並
びに提供媒体に関し、特に、マット値による画像どうし
の合成を、効率良く行うことができるようにする画像合
成装置および画像合成方法、画像生成装置および画像生
成方法、並びに提供媒体に関する。
び画像合成方法、画像生成装置および画像生成方法、並
びに提供媒体に関し、特に、マット値による画像どうし
の合成を、効率良く行うことができるようにする画像合
成装置および画像合成方法、画像生成装置および画像生
成方法、並びに提供媒体に関する。
【0002】
【従来の技術】近年におけるディジタル信号処理技術の
進歩、発展により、例えば、映画やテレビジョン放送番
組等の制作においては、背景となる風景等の画像上に、
その背景とは別に撮影した登場人物の画像を合成するよ
うな、画像のディジタル合成が行われることが多くなっ
てきている。
進歩、発展により、例えば、映画やテレビジョン放送番
組等の制作においては、背景となる風景等の画像上に、
その背景とは別に撮影した登場人物の画像を合成するよ
うな、画像のディジタル合成が行われることが多くなっ
てきている。
【0003】画像のディジタル合成には、その合成の対
象となる前景の画像(前景画像)を構成する各画素ごと
に設定されたマット値(キー信号やα(アルファ)値な
どとも呼ばれる)が用いられる。
象となる前景の画像(前景画像)を構成する各画素ごと
に設定されたマット値(キー信号やα(アルファ)値な
どとも呼ばれる)が用いられる。
【0004】即ち、マット値は、所定の範囲の値によっ
て、前景画像の各画素の不透明度を表すもので、一般
に、所定の範囲の最小のマット値は、前景画像の画素
が、完全に透明な状態に対応し、最大のマット値は、前
景画像の画素が、完全に不透明な状態に対応する。
て、前景画像の各画素の不透明度を表すもので、一般
に、所定の範囲の最小のマット値は、前景画像の画素
が、完全に透明な状態に対応し、最大のマット値は、前
景画像の画素が、完全に不透明な状態に対応する。
【0005】ここで、マット値を用いた画像合成を行う
場合においては、一般に、マット値が取りうる値の範囲
の最小値は0に、最大値は1に、それぞれ正規化される
ため、以下では、マット値の最小値または最大値が、そ
れぞれ0または1であるとして、説明を行う。
場合においては、一般に、マット値が取りうる値の範囲
の最小値は0に、最大値は1に、それぞれ正規化される
ため、以下では、マット値の最小値または最大値が、そ
れぞれ0または1であるとして、説明を行う。
【0006】マット値は、上述したように、前景画像の
各画素の不透明度を表すから、前景画像を構成する画素
それぞれについて存在し、そのようなマット値を、画素
値とする画像は、マット画像と呼ばれることがある。マ
ット画像は、それ自体単独で与えられる場合もあるが、
前景画像とともに(前景画像の一部として)与えられる
場合もある。
各画素の不透明度を表すから、前景画像を構成する画素
それぞれについて存在し、そのようなマット値を、画素
値とする画像は、マット画像と呼ばれることがある。マ
ット画像は、それ自体単独で与えられる場合もあるが、
前景画像とともに(前景画像の一部として)与えられる
場合もある。
【0007】マット値を用いた画像合成は、例えば、次
のように行われる。即ち、いま、前景画像および背景の
画像(背景画像)の画素の画素値が、RGB(Red, Gre
en,Bule)の各成分からなり、前景画像の画素のR,
G,B成分を、Fr,Fg,Fbと表すとともに、背景
画像の画素のR,G,B成分を、Br,Bg,Bbと表
すこととする。さらに、前景画像の画素に対するマット
値をMと表し、前景画像と背景画像とを合成した合成画
像の画素のR,G,B成分を、Cr,Cg,Cbと表す
こととする。この場合、合成画像の画素のR,G,B成
分は、次式で求められる。
のように行われる。即ち、いま、前景画像および背景の
画像(背景画像)の画素の画素値が、RGB(Red, Gre
en,Bule)の各成分からなり、前景画像の画素のR,
G,B成分を、Fr,Fg,Fbと表すとともに、背景
画像の画素のR,G,B成分を、Br,Bg,Bbと表
すこととする。さらに、前景画像の画素に対するマット
値をMと表し、前景画像と背景画像とを合成した合成画
像の画素のR,G,B成分を、Cr,Cg,Cbと表す
こととする。この場合、合成画像の画素のR,G,B成
分は、次式で求められる。
【0008】 Cr=M×Fr+(1−M)×Br Cg=M×Fg+(1−M)×Bg Cb=M×Fb+(1−M)×Bb ・・・(1)
【0009】なお、式(1)による画像合成について
は、例えば、T.Porter and T.Duff, "Compositing Digi
tal Images", Computer Graphics Vol.18, No.3(1984),
pp.253-259などに、その詳細が開示されている。
は、例えば、T.Porter and T.Duff, "Compositing Digi
tal Images", Computer Graphics Vol.18, No.3(1984),
pp.253-259などに、その詳細が開示されている。
【0010】式(1)から、マット値Mは、前景画像の
画素の、合成画像に対する寄与の程度を表しており、マ
ット値Mが1の画素(合成画像の画素)では、前景画像
だけが現れる。また、マット値Mが1未満でかつ0より
大きい画素では、そのマット値Mに応じて、前景画像と
背景とが混合され、さらに、マット値Mが0の画素で
は、背景画像だけが現れる。
画素の、合成画像に対する寄与の程度を表しており、マ
ット値Mが1の画素(合成画像の画素)では、前景画像
だけが現れる。また、マット値Mが1未満でかつ0より
大きい画素では、そのマット値Mに応じて、前景画像と
背景とが混合され、さらに、マット値Mが0の画素で
は、背景画像だけが現れる。
【0011】
【発明が解決しようとする課題】ところで、式(1)の
演算には、乗算と加算(減算)が含まれるが、乗算は、
一般に、加算に比較して時間を要する。特に、高解像度
の画像(画素数の多い画像)について合成を行う場合に
は、画素数が多いために、乗算の回数が莫大になり、そ
の結果、処理の低速化を招くことになる。
演算には、乗算と加算(減算)が含まれるが、乗算は、
一般に、加算に比較して時間を要する。特に、高解像度
の画像(画素数の多い画像)について合成を行う場合に
は、画素数が多いために、乗算の回数が莫大になり、そ
の結果、処理の低速化を招くことになる。
【0012】このような処理の低速化を低減するには、
演算量を少なくする必要があり、演算量の少なくする方
法としては、例えば、J.Foley, et al., Computer Grap
hics: Principles and Practice, Addison-Wesley, sec
ond edition, 1990.などに記載されている、いわゆるバ
ウンディングボックス(外接矩形の概念)を使用して演
算の対象とする領域(演算対象領域)を限定するものが
知られている。
演算量を少なくする必要があり、演算量の少なくする方
法としては、例えば、J.Foley, et al., Computer Grap
hics: Principles and Practice, Addison-Wesley, sec
ond edition, 1990.などに記載されている、いわゆるバ
ウンディングボックス(外接矩形の概念)を使用して演
算の対象とする領域(演算対象領域)を限定するものが
知られている。
【0013】バウンディングボックスを使用して、画像
合成における演算量を少なくする場合には、図11に示
すように、マット画像に対して、0でないマット値に外
接する矩形の領域(図11において、点線で囲んである
領域)を設定し、その矩形の領域の内部だけを対象に、
式(1)の演算を行うようにすれば良い。即ち、この矩
形がバウンディングボックスと呼ばれるが、バウンディ
ングボックスの外部の領域のマット値は0であるから、
合成画像において、背景画像がそのまま現れる。従っ
て、バウンディングボックスの外部の領域に対応する背
景画像は、そのまま合成画像にコピーし、バウンディン
グボックスの内部の領域に対応する前景画像および背景
画像についてだけ、式(1)の演算を行えば良い。
合成における演算量を少なくする場合には、図11に示
すように、マット画像に対して、0でないマット値に外
接する矩形の領域(図11において、点線で囲んである
領域)を設定し、その矩形の領域の内部だけを対象に、
式(1)の演算を行うようにすれば良い。即ち、この矩
形がバウンディングボックスと呼ばれるが、バウンディ
ングボックスの外部の領域のマット値は0であるから、
合成画像において、背景画像がそのまま現れる。従っ
て、バウンディングボックスの外部の領域に対応する背
景画像は、そのまま合成画像にコピーし、バウンディン
グボックスの内部の領域に対応する前景画像および背景
画像についてだけ、式(1)の演算を行えば良い。
【0014】ここで、図11のマット画像において(後
述する図3においても同様)、影を付していない領域は
マット値が0の領域(以下、適宜、透明領域という)
を、薄い影を付してある部分は、マット値が0より大き
く、1より小さい領域(以下、適宜、半透明領域とい
う)を、濃い影を付してある部分は、マット値が1の領
域(以下、適宜、完全不透明領域という)を、それぞれ
表している。
述する図3においても同様)、影を付していない領域は
マット値が0の領域(以下、適宜、透明領域という)
を、薄い影を付してある部分は、マット値が0より大き
く、1より小さい領域(以下、適宜、半透明領域とい
う)を、濃い影を付してある部分は、マット値が1の領
域(以下、適宜、完全不透明領域という)を、それぞれ
表している。
【0015】なお、合成画像を、前景画像および背景画
像とは別に生成する場合は、上述のように、バウンディ
ングボックスの外部の領域に対応する背景画像を、合成
画像にコピーする必要があるが、背景画像に上書きする
形で合成画像を生成する場合には、バウンディングボッ
クスの外部の領域に対応する背景画像については、特に
処理を行う必要はない。
像とは別に生成する場合は、上述のように、バウンディ
ングボックスの外部の領域に対応する背景画像を、合成
画像にコピーする必要があるが、背景画像に上書きする
形で合成画像を生成する場合には、バウンディングボッ
クスの外部の領域に対応する背景画像については、特に
処理を行う必要はない。
【0016】また、バウンディングボックスは、0でな
いマット値すべてを包含する形状であれば良く、矩形で
ある必要はないが、バウンディングボックスの内外の判
定が容易なため、一般に、矩形のバウンディングボック
スが用いられることが多い。
いマット値すべてを包含する形状であれば良く、矩形で
ある必要はないが、バウンディングボックスの内外の判
定が容易なため、一般に、矩形のバウンディングボック
スが用いられることが多い。
【0017】さらに、図11において、バウンディング
ボックスは、半透明領域に外接するように設定されてい
るが、必ずしも接する必要はない。
ボックスは、半透明領域に外接するように設定されてい
るが、必ずしも接する必要はない。
【0018】次に、図12のフローチャートを参照し
て、バウンディングボックスを用いた従来の画像合成処
理について説明する。なお、ここでは、背景画像に上書
きする形で合成画像を生成するものとする(従って、こ
の場合、上述したように、バウンディングボックスの外
部の領域に対応する背景画像については、特に処理を行
う必要はない)。
て、バウンディングボックスを用いた従来の画像合成処
理について説明する。なお、ここでは、背景画像に上書
きする形で合成画像を生成するものとする(従って、こ
の場合、上述したように、バウンディングボックスの外
部の領域に対応する背景画像については、特に処理を行
う必要はない)。
【0019】まず最初に、ステップS81において、バ
ウンディングボックスが設定される。即ち、ステップS
81では、ユーザによって、バウンディングボックス
の、例えば、左下の頂点と右上の頂点が指定される。
ウンディングボックスが設定される。即ち、ステップS
81では、ユーザによって、バウンディングボックス
の、例えば、左下の頂点と右上の頂点が指定される。
【0020】なお、ここでは、図11に示すように、マ
ット画像の左下の頂点を原点(0,0)とし、左から右
方向、または下から上方向に、x軸またはy軸をとった
座標系を用い、ユーザによって指定されたバウンディン
グボックスの左下または右上の頂点の座標を、それぞれ
(Xmin1,Ymin1)または(Xmax1,Ymax1)と表す
(Xmin1<Xmax1,Ymin1<Ymax1)。また、マット画
像の横または縦の画素数を、それぞれWまたはHとす
る。
ット画像の左下の頂点を原点(0,0)とし、左から右
方向、または下から上方向に、x軸またはy軸をとった
座標系を用い、ユーザによって指定されたバウンディン
グボックスの左下または右上の頂点の座標を、それぞれ
(Xmin1,Ymin1)または(Xmax1,Ymax1)と表す
(Xmin1<Xmax1,Ymin1<Ymax1)。また、マット画
像の横または縦の画素数を、それぞれWまたはHとす
る。
【0021】ユーザによって、点(Xmin1,Ymin1)お
よび(Xmax1,Ymax1)が指定されると、それぞれの点
を、左下の頂点または右上の頂点とする矩形が求めら
れ、ステップS81では、その矩形がバウンディングボ
ックスとして設定される。
よび(Xmax1,Ymax1)が指定されると、それぞれの点
を、左下の頂点または右上の頂点とする矩形が求めら
れ、ステップS81では、その矩形がバウンディングボ
ックスとして設定される。
【0022】バウンディングボックスが設定されると、
以下、そのバウンディングボックスの内部(Xmin1≦x
≦Xmax1,Ymin1≦y≦Ymax1)に対応する前景画像お
よび背景画像のみを対象に処理が行われる。
以下、そのバウンディングボックスの内部(Xmin1≦x
≦Xmax1,Ymin1≦y≦Ymax1)に対応する前景画像お
よび背景画像のみを対象に処理が行われる。
【0023】即ち、ステップS82において、画素のy
座標を表す変数yが、Ymin1に初期化され、ステップS
83に進み、変数yが、Ymax1以下であるかどうかが判
定される。ステップS83において、変数yが、Ymax1
以下であると判定された場合、即ち、変数yが、バウン
ディングボックス内の画素のy座標を表すものである場
合、ステップS84に進み、後述する一行計算サブルー
チン(例えば、関数やオブジェクト)が呼び出され、こ
れにより、一行計算処理が行われる。なお、一行計算サ
ブルーチンは、変数y、並びにバウンディングボックス
の左右の境界のx座標Xmin1およびXmax1を引数として
呼び出される。
座標を表す変数yが、Ymin1に初期化され、ステップS
83に進み、変数yが、Ymax1以下であるかどうかが判
定される。ステップS83において、変数yが、Ymax1
以下であると判定された場合、即ち、変数yが、バウン
ディングボックス内の画素のy座標を表すものである場
合、ステップS84に進み、後述する一行計算サブルー
チン(例えば、関数やオブジェクト)が呼び出され、こ
れにより、一行計算処理が行われる。なお、一行計算サ
ブルーチンは、変数y、並びにバウンディングボックス
の左右の境界のx座標Xmin1およびXmax1を引数として
呼び出される。
【0024】一行計算処理が終了すると、ステップS8
5に進み、変数yが1だけインクリメントされ、ステッ
プS83に戻る。そして、ステップS83において、変
数yが、Ymax1以下でないと判定されると、処理を終了
する。
5に進み、変数yが1だけインクリメントされ、ステッ
プS83に戻る。そして、ステップS83において、変
数yが、Ymax1以下でないと判定されると、処理を終了
する。
【0025】次に、図13のフローチャートを参照し
て、図12の一行計算処理について説明する。なお、図
12のステップS84において、一行計算サブルーチン
は、上述したように、変数y、並びにバウンディングボ
ックスの左右の境界のx座標Xmin1およびXmax1を引数
として呼び出されるが、図13では、そのうちの、Xmi
n1またはXmax1を、それぞれXLまたはXRと表してあ
る。
て、図12の一行計算処理について説明する。なお、図
12のステップS84において、一行計算サブルーチン
は、上述したように、変数y、並びにバウンディングボ
ックスの左右の境界のx座標Xmin1およびXmax1を引数
として呼び出されるが、図13では、そのうちの、Xmi
n1またはXmax1を、それぞれXLまたはXRと表してあ
る。
【0026】一行計算処理では、まず最初に、ステップ
S91において、x座標を表す変数xが、XLに初期化
され、ステップS92に進み、変数xが、XR以下であ
るかどうかが判定される。ステップS92において、変
数xが、XR以下であると判定された場合、即ち、変数
xが、バウンディングボックス内の画素のx座標を表す
ものである場合、ステップS93に進み、変数Mに、座
標(画素)(x,y)のマット値matte[x,y]
がセットされる。ここで、配列変数matte[x,
y]には、座標(x,y)のマット値が記憶されている
ものとする。
S91において、x座標を表す変数xが、XLに初期化
され、ステップS92に進み、変数xが、XR以下であ
るかどうかが判定される。ステップS92において、変
数xが、XR以下であると判定された場合、即ち、変数
xが、バウンディングボックス内の画素のx座標を表す
ものである場合、ステップS93に進み、変数Mに、座
標(画素)(x,y)のマット値matte[x,y]
がセットされる。ここで、配列変数matte[x,
y]には、座標(x,y)のマット値が記憶されている
ものとする。
【0027】そして、ステップS94に進み、マット値
Mが0であるかどうかが判定され、0でないと判定され
た場合、ステップS95に進み、マット値Mが1である
かどうかが判定される。ステップS95において、マッ
ト値Mが1であると判定された場合、即ち、マット画像
の座標(x,y)の画素が、バウンディングボックス内
の完全不透明領域(図11において、濃い影を付してあ
る部分)の画素である場合、ステップS96に進み、背
景画像の画素(x,y)の画素値B[x,y]に、前景
画像の画素(x,y)の画素値F[x,y]がコピーさ
れ、ステップS98に進む。
Mが0であるかどうかが判定され、0でないと判定され
た場合、ステップS95に進み、マット値Mが1である
かどうかが判定される。ステップS95において、マッ
ト値Mが1であると判定された場合、即ち、マット画像
の座標(x,y)の画素が、バウンディングボックス内
の完全不透明領域(図11において、濃い影を付してあ
る部分)の画素である場合、ステップS96に進み、背
景画像の画素(x,y)の画素値B[x,y]に、前景
画像の画素(x,y)の画素値F[x,y]がコピーさ
れ、ステップS98に進む。
【0028】ここで、背景画像の画素(x,y)のR,
G,B成分が、構造体とされた配列変数B[x,y].
r,B[x,y].g,B[x,y].bで、前景画像
の画素(x,y)のR,G,B成分が、構造体とされた
配列変数F[x,y].r,F[x,y].g,F
[x,y].bで、それぞれ表されるものとすると、ス
テップS96では、次式で示す演算が行われる。
G,B成分が、構造体とされた配列変数B[x,y].
r,B[x,y].g,B[x,y].bで、前景画像
の画素(x,y)のR,G,B成分が、構造体とされた
配列変数F[x,y].r,F[x,y].g,F
[x,y].bで、それぞれ表されるものとすると、ス
テップS96では、次式で示す演算が行われる。
【0029】 B[x,y].r=F[x,y].r B[x,y].g=F[x,y].g B[x,y].b=F[x,y].b ・・・(2)
【0030】また、ステップS95において、マット値
Mが1でないと判定された場合、即ち、マット画像の座
標(x,y)の画素が、バウンディングボックス内の半
透明領域(図11において、薄い影を付してある部分)
の画素である場合、ステップS97に進み、前景画像の
画素(x,y)と、背景画像の画素(x,y)とを用い
て、式(1)の演算に相当する次式で示す演算が行わ
れ、ステップS98に進む。
Mが1でないと判定された場合、即ち、マット画像の座
標(x,y)の画素が、バウンディングボックス内の半
透明領域(図11において、薄い影を付してある部分)
の画素である場合、ステップS97に進み、前景画像の
画素(x,y)と、背景画像の画素(x,y)とを用い
て、式(1)の演算に相当する次式で示す演算が行わ
れ、ステップS98に進む。
【0031】 B[x,y].r=M×F[x,y].r+(1−M)×B[x,y].r B[x,y].g=M×F[x,y].g+(1−M)×B[x,y].g B[x,y].b=M×F[x,y].b+(1−M)×B[x,y].b ・・・(3)
【0032】一方、ステップS94において、マット値
Mが0であると判定された場合、即ち、マット画像の座
標(x,y)の画素が、バウンディングボックス内の透
明領域(図11において、影を付していない部分)の画
素である場合、ステップS98に進み、変数xが1だけ
インクリメントされ、ステップS92に戻り、以下、同
様の処理が繰り返される。
Mが0であると判定された場合、即ち、マット画像の座
標(x,y)の画素が、バウンディングボックス内の透
明領域(図11において、影を付していない部分)の画
素である場合、ステップS98に進み、変数xが1だけ
インクリメントされ、ステップS92に戻り、以下、同
様の処理が繰り返される。
【0033】そして、ステップS92において、変数x
が、XR以下でないと判定された場合、即ち、変数yで
y座標が表されるラインを構成する画素のうち、バウン
ディングボックス内にあるものすべてを対象に処理を行
った場合、リターンする。
が、XR以下でないと判定された場合、即ち、変数yで
y座標が表されるラインを構成する画素のうち、バウン
ディングボックス内にあるものすべてを対象に処理を行
った場合、リターンする。
【0034】なお、式(2)および(3)から分かるよ
うに、合成画像は、背景画像がセットされていた変数B
[x,y]にセットされる。
うに、合成画像は、背景画像がセットされていた変数B
[x,y]にセットされる。
【0035】以上のように、バウンディングボックスを
用いた場合には、そのバウンディングボックスの外部の
領域に対応する画素については、加算や乗算を施す必要
がないから、演算対象を少なくすることができる。しか
しながら、バウンディングボックス内の画素は、基本的
に、式(1)の演算の対象とする必要がある。
用いた場合には、そのバウンディングボックスの外部の
領域に対応する画素については、加算や乗算を施す必要
がないから、演算対象を少なくすることができる。しか
しながら、バウンディングボックス内の画素は、基本的
に、式(1)の演算の対象とする必要がある。
【0036】そこで、図13に示した一行計算処理で
は、バウンディングボックス内の画素について、画素ご
とに、マット値Mを判定し(ステップS94,S9
5)、その値が0または1のいずれか場合には、式
(1)の演算の対象から除外するようにしているが、こ
の場合、バウンディングボックス内の画素すべてについ
て、マット値Mの判定を行う必要があり、効率的である
とはいえない。
は、バウンディングボックス内の画素について、画素ご
とに、マット値Mを判定し(ステップS94,S9
5)、その値が0または1のいずれか場合には、式
(1)の演算の対象から除外するようにしているが、こ
の場合、バウンディングボックス内の画素すべてについ
て、マット値Mの判定を行う必要があり、効率的である
とはいえない。
【0037】ここで、例えば、特開平8−115413
号公報には、ページ記述言語における図形画像合成処理
において、領域抽出演算に用いられるマット値が、完全
に不透明であることを表しているときには、本来行うべ
き演算操作を、それにより短時間で行うことができるク
リッピング処理操作に置き換える方法が開示されてお
り、クリッピング処理操作というのは、コピーに等しい
から、この方法によれば、処理を、高速に行うことがで
きる。
号公報には、ページ記述言語における図形画像合成処理
において、領域抽出演算に用いられるマット値が、完全
に不透明であることを表しているときには、本来行うべ
き演算操作を、それにより短時間で行うことができるク
リッピング処理操作に置き換える方法が開示されてお
り、クリッピング処理操作というのは、コピーに等しい
から、この方法によれば、処理を、高速に行うことがで
きる。
【0038】しかしながら、この方法は、マット値が0
または1の2値のみ取り得ることを前提としている。
または1の2値のみ取り得ることを前提としている。
【0039】一方、映画等の制作では、合成画像の自然
さを確保するため(不自然さを低減するため)、マット
値として、0と1の2値だけでなく、その間の中間値も
取り得る、いわゆるソフトキーと呼ばれるものが用いら
れるのが一般的である。
さを確保するため(不自然さを低減するため)、マット
値として、0と1の2値だけでなく、その間の中間値も
取り得る、いわゆるソフトキーと呼ばれるものが用いら
れるのが一般的である。
【0040】従って、映画等の制作においては、特開平
8−115413号公報に開示されている方法を適用す
るのは、合成画像の画質等の面から困難である。
8−115413号公報に開示されている方法を適用す
るのは、合成画像の画質等の面から困難である。
【0041】本発明は、このような状況に鑑みてなされ
たものであり、画像の合成を、効率良く行うことができ
るようにするものである。
たものであり、画像の合成を、効率良く行うことができ
るようにするものである。
【0042】
【課題を解決するための手段】請求項1に記載の画像合
成装置は、マット画像に対して、所定の範囲の最小値で
ないマット値すべてを包含する第1の領域と、所定の範
囲の最大値のマット値のみからなる第2の領域とを設定
する設定手段と、第1の領域の外部の領域、第1の領域
のうちの第2の領域でない領域、および第2の領域の3
つの領域それぞれに対応する第1および第2の画像につ
いて、画像合成のための合成処理を施す処理手段とを備
えることを特徴とする。
成装置は、マット画像に対して、所定の範囲の最小値で
ないマット値すべてを包含する第1の領域と、所定の範
囲の最大値のマット値のみからなる第2の領域とを設定
する設定手段と、第1の領域の外部の領域、第1の領域
のうちの第2の領域でない領域、および第2の領域の3
つの領域それぞれに対応する第1および第2の画像につ
いて、画像合成のための合成処理を施す処理手段とを備
えることを特徴とする。
【0043】請求項8に記載の画像合成方法は、マット
画像に対して、所定の範囲の最小値でないマット値すべ
てを包含する第1の領域と、所定の範囲の最大値のマッ
ト値のみからなる第2の領域とを設定する設定ステップ
と、第1の領域の外部の領域、第1の領域のうちの第2
の領域でない領域、および第2の領域の3つの領域それ
ぞれに対応する第1および第2の画像について、画像合
成のための合成処理を施す処理ステップとを備えること
を特徴とする。
画像に対して、所定の範囲の最小値でないマット値すべ
てを包含する第1の領域と、所定の範囲の最大値のマッ
ト値のみからなる第2の領域とを設定する設定ステップ
と、第1の領域の外部の領域、第1の領域のうちの第2
の領域でない領域、および第2の領域の3つの領域それ
ぞれに対応する第1および第2の画像について、画像合
成のための合成処理を施す処理ステップとを備えること
を特徴とする。
【0044】請求項9に記載の提供媒体は、マット画像
に対して、所定の範囲の最小値でないマット値すべてを
包含する第1の領域と、所定の範囲の最大値のマット値
のみからなる第2の領域とを設定する設定ステップと、
第1の領域の外部の領域、第1の領域のうちの第2の領
域でない領域、および第2の領域の3つの領域それぞれ
に対応する第1および第2の画像について、画像合成の
ための合成処理を施す処理ステップとを備える制御情報
を提供することを特徴とする。
に対して、所定の範囲の最小値でないマット値すべてを
包含する第1の領域と、所定の範囲の最大値のマット値
のみからなる第2の領域とを設定する設定ステップと、
第1の領域の外部の領域、第1の領域のうちの第2の領
域でない領域、および第2の領域の3つの領域それぞれ
に対応する第1および第2の画像について、画像合成の
ための合成処理を施す処理ステップとを備える制御情報
を提供することを特徴とする。
【0045】請求項10に記載の画像生成装置は、マッ
ト画像に対して、所定の範囲の最小値でないマット値す
べてを包含する第1の領域と、所定の範囲の最大値のマ
ット値のみからなる第2の領域とを設定する設定手段を
備えることを特徴とする。
ト画像に対して、所定の範囲の最小値でないマット値す
べてを包含する第1の領域と、所定の範囲の最大値のマ
ット値のみからなる第2の領域とを設定する設定手段を
備えることを特徴とする。
【0046】請求項14に記載の画像生成方法は、マッ
ト画像に対して、所定の範囲の最小値でないマット値す
べてを包含する第1の領域と、所定の範囲の最大値のマ
ット値のみからなる第2の領域とを設定する設定ステッ
プを備えることを特徴とする。
ト画像に対して、所定の範囲の最小値でないマット値す
べてを包含する第1の領域と、所定の範囲の最大値のマ
ット値のみからなる第2の領域とを設定する設定ステッ
プを備えることを特徴とする。
【0047】請求項15に記載の提供媒体は、マット画
像に対して、所定の範囲の最小値でないマット値すべて
を包含する第1の領域と、所定の範囲の最大値のマット
値のみからなる第2の領域とを設定する設定ステップを
備える制御情報を提供することを特徴とする。
像に対して、所定の範囲の最小値でないマット値すべて
を包含する第1の領域と、所定の範囲の最大値のマット
値のみからなる第2の領域とを設定する設定ステップを
備える制御情報を提供することを特徴とする。
【0048】請求項16に記載の提供媒体は、マット画
像における、所定の範囲の最小値でないマット値すべて
を包含する第1の領域と、所定の範囲の最大値のマット
値のみからなる第2の領域とを特定するための特定情報
とともに、マット画像を提供することを特徴とする。
像における、所定の範囲の最小値でないマット値すべて
を包含する第1の領域と、所定の範囲の最大値のマット
値のみからなる第2の領域とを特定するための特定情報
とともに、マット画像を提供することを特徴とする。
【0049】請求項1に記載の画像合成装置において
は、設定手段は、マット画像に対して、所定の範囲の最
小値でないマット値すべてを包含する第1の領域と、所
定の範囲の最大値のマット値のみからなる第2の領域と
を設定し、処理手段は、第1の領域の外部の領域、第1
の領域のうちの第2の領域でない領域、および第2の領
域の3つの領域それぞれに対応する第1および第2の画
像について、画像合成のための合成処理を施すようにな
されている。
は、設定手段は、マット画像に対して、所定の範囲の最
小値でないマット値すべてを包含する第1の領域と、所
定の範囲の最大値のマット値のみからなる第2の領域と
を設定し、処理手段は、第1の領域の外部の領域、第1
の領域のうちの第2の領域でない領域、および第2の領
域の3つの領域それぞれに対応する第1および第2の画
像について、画像合成のための合成処理を施すようにな
されている。
【0050】請求項8に記載の画像合成方法において
は、マット画像に対して、所定の範囲の最小値でないマ
ット値すべてを包含する第1の領域と、所定の範囲の最
大値のマット値のみからなる第2の領域とを設定し、第
1の領域の外部の領域、第1の領域のうちの第2の領域
でない領域、および第2の領域の3つの領域それぞれに
対応する第1および第2の画像について、画像合成のた
めの合成処理を施すようになされている。
は、マット画像に対して、所定の範囲の最小値でないマ
ット値すべてを包含する第1の領域と、所定の範囲の最
大値のマット値のみからなる第2の領域とを設定し、第
1の領域の外部の領域、第1の領域のうちの第2の領域
でない領域、および第2の領域の3つの領域それぞれに
対応する第1および第2の画像について、画像合成のた
めの合成処理を施すようになされている。
【0051】請求項9に記載の提供媒体においては、マ
ット画像に対して、所定の範囲の最小値でないマット値
すべてを包含する第1の領域と、所定の範囲の最大値の
マット値のみからなる第2の領域とを設定し、第1の領
域の外部の領域、第1の領域のうちの第2の領域でない
領域、および第2の領域の3つの領域それぞれに対応す
る第1および第2の画像について、画像合成のための合
成処理を施す処理を、情報処理装置に行わせるための制
御情報を提供するようになされている。
ット画像に対して、所定の範囲の最小値でないマット値
すべてを包含する第1の領域と、所定の範囲の最大値の
マット値のみからなる第2の領域とを設定し、第1の領
域の外部の領域、第1の領域のうちの第2の領域でない
領域、および第2の領域の3つの領域それぞれに対応す
る第1および第2の画像について、画像合成のための合
成処理を施す処理を、情報処理装置に行わせるための制
御情報を提供するようになされている。
【0052】請求項10に記載の画像生成装置において
は、設定手段が、マット画像に対して、所定の範囲の最
小値でないマット値すべてを包含する第1の領域と、所
定の範囲の最大値のマット値のみからなる第2の領域と
を設定するようになされている。
は、設定手段が、マット画像に対して、所定の範囲の最
小値でないマット値すべてを包含する第1の領域と、所
定の範囲の最大値のマット値のみからなる第2の領域と
を設定するようになされている。
【0053】請求項14に記載の画像生成方法において
は、マット画像に対して、所定の範囲の最小値でないマ
ット値すべてを包含する第1の領域と、所定の範囲の最
大値のマット値のみからなる第2の領域とを設定するよ
うになされている。
は、マット画像に対して、所定の範囲の最小値でないマ
ット値すべてを包含する第1の領域と、所定の範囲の最
大値のマット値のみからなる第2の領域とを設定するよ
うになされている。
【0054】請求項15に記載の提供媒体においては、
マット画像に対して、所定の範囲の最小値でないマット
値すべてを包含する第1の領域と、所定の範囲の最大値
のマット値のみからなる第2の領域とを設定する処理
を、情報処理装置に行わせるための制御情報を提供する
ようになされている。
マット画像に対して、所定の範囲の最小値でないマット
値すべてを包含する第1の領域と、所定の範囲の最大値
のマット値のみからなる第2の領域とを設定する処理
を、情報処理装置に行わせるための制御情報を提供する
ようになされている。
【0055】請求項16に記載の提供媒体においては、
マット画像における、所定の範囲の最小値でないマット
値すべてを包含する第1の領域と、所定の範囲の最大値
のマット値のみからなる第2の領域とを特定するための
特定情報とともに、マット画像を提供するようになされ
ている。
マット画像における、所定の範囲の最小値でないマット
値すべてを包含する第1の領域と、所定の範囲の最大値
のマット値のみからなる第2の領域とを特定するための
特定情報とともに、マット画像を提供するようになされ
ている。
【0056】
【発明の実施の形態】図1は、本発明を適用した画像処
理装置の一実施の形態の構成例を示している。この画像
処理装置は、マット画像にしたがって前景画像(第1の
画像)と背景画像(第2の画像)とを合成して合成画像
を生成する画像合成装置、およびその画像合成に用いら
れるマット画像を生成する画像生成装置のいずれとして
も機能するようになされている。
理装置の一実施の形態の構成例を示している。この画像
処理装置は、マット画像にしたがって前景画像(第1の
画像)と背景画像(第2の画像)とを合成して合成画像
を生成する画像合成装置、およびその画像合成に用いら
れるマット画像を生成する画像生成装置のいずれとして
も機能するようになされている。
【0057】即ち、ROM(Read Only Memory)1は、
例えば、IPL(Initial ProgramLoading)のためのプ
ログラムなどを記憶している。CPU(Centoral Proce
ssing Unit)2は、例えば、外部記憶装置7に記憶され
たOS(Operating System)のプログラムを読み出して
実行し、そのOSの制御の下で、やはり、外部記憶装置
7に記憶されたアプリケーションプログラムとしての合
成処理プログラムや領域情報付きマット画像生成プログ
ラムを実行することで、後述するような画像合成やマッ
ト画像(領域情報付きマット画像)の生成を行い、これ
により、画像処理装置を、画像合成装置や画像生成装置
として機能させるようになされている。RAM(Random
Access Memory)3は、CPU2が実行するプログラム
や、CPU2の処理上必要なデータを一時記憶するよう
になされている。
例えば、IPL(Initial ProgramLoading)のためのプ
ログラムなどを記憶している。CPU(Centoral Proce
ssing Unit)2は、例えば、外部記憶装置7に記憶され
たOS(Operating System)のプログラムを読み出して
実行し、そのOSの制御の下で、やはり、外部記憶装置
7に記憶されたアプリケーションプログラムとしての合
成処理プログラムや領域情報付きマット画像生成プログ
ラムを実行することで、後述するような画像合成やマッ
ト画像(領域情報付きマット画像)の生成を行い、これ
により、画像処理装置を、画像合成装置や画像生成装置
として機能させるようになされている。RAM(Random
Access Memory)3は、CPU2が実行するプログラム
や、CPU2の処理上必要なデータを一時記憶するよう
になされている。
【0058】入力装置4(操作手段)は、例えば、キー
ボードやマウス、タブレットとペンの組み合わせなどで
なり、CPU2に対して、必要なコマンドやデータを入
力するとき等に操作される。出力装置5は、例えば、C
RT(Cathode Ray Tube)や液晶ディスプレイなどで構
成され、CPU2の制御にしたがい、必要な情報の表示
を行うようになされている。外部I/F(Interface)
6は、例えば、モデムや、TA(Terminal Adapter)、
ネットワークアダプタなどでなり、外部との通信を制御
するようになされている。
ボードやマウス、タブレットとペンの組み合わせなどで
なり、CPU2に対して、必要なコマンドやデータを入
力するとき等に操作される。出力装置5は、例えば、C
RT(Cathode Ray Tube)や液晶ディスプレイなどで構
成され、CPU2の制御にしたがい、必要な情報の表示
を行うようになされている。外部I/F(Interface)
6は、例えば、モデムや、TA(Terminal Adapter)、
ネットワークアダプタなどでなり、外部との通信を制御
するようになされている。
【0059】外部記憶装置7は、例えば、HD(Hard D
isk)や、CD(Compact Disc)などで構成され、上述
したようにOSのプログラムや、合成処理プログラム、
領域情報付きマット画像生成プログラムを記憶している
他、合成処理プログラムによる画像合成の対象となる前
景画像および背景画像や、その合成に用いられるマット
画像等を記憶している。また、外部記憶装置7は、合成
処理プログラムによる画像合成によって得られる合成画
像や、領域情報付きマット画像生成プログラムによって
生成される領域情報付きマット画像等を記憶するように
もなされている。
isk)や、CD(Compact Disc)などで構成され、上述
したようにOSのプログラムや、合成処理プログラム、
領域情報付きマット画像生成プログラムを記憶している
他、合成処理プログラムによる画像合成の対象となる前
景画像および背景画像や、その合成に用いられるマット
画像等を記憶している。また、外部記憶装置7は、合成
処理プログラムによる画像合成によって得られる合成画
像や、領域情報付きマット画像生成プログラムによって
生成される領域情報付きマット画像等を記憶するように
もなされている。
【0060】なお、以上のデータ処理装置を構成する各
ブロックは、バスを介して、相互に接続されている。
ブロックは、バスを介して、相互に接続されている。
【0061】以上のように構成される画像処理装置で
は、装置の電源がオンにされると、CPU2において、
ROM1に記憶されたIPLのプログラムが実行され、
これにより、外部記憶装置7に記憶されたOSのプログ
ラムが読み出され、RAM3上に展開されて実行され
る。そして、例えば、入力装置4の操作に応じて、CP
U2は、OSの制御の下、外部記憶装置7に記憶された
合成処理プログラムや領域情報付きマット画像生成プロ
グラムを読み出し、RAM3上に展開して実行し、これ
により、画像合成や領域情報付きマット画像の生成を行
う。
は、装置の電源がオンにされると、CPU2において、
ROM1に記憶されたIPLのプログラムが実行され、
これにより、外部記憶装置7に記憶されたOSのプログ
ラムが読み出され、RAM3上に展開されて実行され
る。そして、例えば、入力装置4の操作に応じて、CP
U2は、OSの制御の下、外部記憶装置7に記憶された
合成処理プログラムや領域情報付きマット画像生成プロ
グラムを読み出し、RAM3上に展開して実行し、これ
により、画像合成や領域情報付きマット画像の生成を行
う。
【0062】即ち、画像合成が行われる場合には、外部
記憶装置7に記憶された前景画像、背景画像、およびマ
ット画像が読み出され、RAM3に記憶される。そし
て、そのRAM3に記憶された前景画像、背景画像、お
よびマット画像を用いて、各種の演算等が実行されるこ
とにより、前景画像と背景画像とをマット画像にしたが
って合成した合成画像が生成される。この合成画像は、
RAM3に記憶されるか、または、外部記憶装置7に供
給されて記憶される。あるいは、合成画像は、出力装置
5に供給されて表示され、または外部I/F6に供給さ
れて、例えば、インターネットその他の伝送媒体(図示
せず)を介して伝送されることにより、他の装置等に提
供される。
記憶装置7に記憶された前景画像、背景画像、およびマ
ット画像が読み出され、RAM3に記憶される。そし
て、そのRAM3に記憶された前景画像、背景画像、お
よびマット画像を用いて、各種の演算等が実行されるこ
とにより、前景画像と背景画像とをマット画像にしたが
って合成した合成画像が生成される。この合成画像は、
RAM3に記憶されるか、または、外部記憶装置7に供
給されて記憶される。あるいは、合成画像は、出力装置
5に供給されて表示され、または外部I/F6に供給さ
れて、例えば、インターネットその他の伝送媒体(図示
せず)を介して伝送されることにより、他の装置等に提
供される。
【0063】また、領域情報付きマット画像の生成が行
われる場合には、外部記憶装置7に記憶されたマット画
像が読み出され、RAM3に供給されて記憶される。そ
して、そのマット画像に対して、各種の演算等が実行さ
れることにより、領域情報付きマット画像が生成され
る。この領域情報付きマット画像は、例えば、RAM3
から外部記憶装置7に転送されて記憶され、あるいは、
外部I/F6に供給され、例えば、インターネットその
他の伝送媒体を介して伝送されることにより、他の装置
等に提供される。また、領域情報付きマット画像の生成
後、即座に、画像合成が行われる場合には、その領域情
報付きマット画像は、RAM3に記憶された状態とされ
る。
われる場合には、外部記憶装置7に記憶されたマット画
像が読み出され、RAM3に供給されて記憶される。そ
して、そのマット画像に対して、各種の演算等が実行さ
れることにより、領域情報付きマット画像が生成され
る。この領域情報付きマット画像は、例えば、RAM3
から外部記憶装置7に転送されて記憶され、あるいは、
外部I/F6に供給され、例えば、インターネットその
他の伝送媒体を介して伝送されることにより、他の装置
等に提供される。また、領域情報付きマット画像の生成
後、即座に、画像合成が行われる場合には、その領域情
報付きマット画像は、RAM3に記憶された状態とされ
る。
【0064】次に、図2は、前景画像と背景画像とをマ
ット画像にしたがって合成する画像合成装置として機能
する場合の、図1のデータ処理装置の機能的構成例を示
している。なお、この図2の構成は、図1のCPU2に
おいて、合成処理プログラムが実行されることにより実
現される。
ット画像にしたがって合成する画像合成装置として機能
する場合の、図1のデータ処理装置の機能的構成例を示
している。なお、この図2の構成は、図1のCPU2に
おいて、合成処理プログラムが実行されることにより実
現される。
【0065】前景画像記憶部11または背景画像記憶部
12には、外部記憶装置7に記憶された前景画像または
背景画像がそれぞれ供給されるようになされており、前
景画像記憶部11または背景画像記憶部12は、その前
景画像または背景画像を記憶するようになされている。
また、ここでは、前景画像と背景画像とを合成した合成
画像が、例えば、背景画像に上書きする形で記憶される
ようになされており、従って、背景画像記憶部12は、
その合成画像を記憶するようにもなされている。
12には、外部記憶装置7に記憶された前景画像または
背景画像がそれぞれ供給されるようになされており、前
景画像記憶部11または背景画像記憶部12は、その前
景画像または背景画像を記憶するようになされている。
また、ここでは、前景画像と背景画像とを合成した合成
画像が、例えば、背景画像に上書きする形で記憶される
ようになされており、従って、背景画像記憶部12は、
その合成画像を記憶するようにもなされている。
【0066】マット画像記憶部13には、外部記憶装置
7に記憶されたマット画像が供給されるようになされて
おり、マット画像記憶部13は、そのマット画像を記憶
するようになされている。なお、マット画像は、例え
ば、クロマキーを用いた方法その他によって生成するこ
とができる。
7に記憶されたマット画像が供給されるようになされて
おり、マット画像記憶部13は、そのマット画像を記憶
するようになされている。なお、マット画像は、例え
ば、クロマキーを用いた方法その他によって生成するこ
とができる。
【0067】領域設定部14(設定手段)(出力手段)
は、マット画像記憶部13に記憶されたマット画像に対
して、0でないマット値すべてを包含するバウンディン
グボックス(以下、適宜、第1のバウンディングボック
スという)(第1の領域)と、1のマット値のみからな
るバウンディングボックス(以下、適宜、第2のバウン
ディングボックスという)(第2の領域)とを設定する
ようになされている。即ち、領域設定部14は、例え
ば、図3に示すように、マット画像記憶部13に記憶さ
れたマット画像の半透明領域(図3において、薄い影を
付してある部分)に外接する矩形の領域を、第1のバウ
ンディングボックスとして設定するとともに、その完全
不透明領域に、2つ頂点が内接する矩形の領域を、第2
のバウンディングボックスとして設定する。
は、マット画像記憶部13に記憶されたマット画像に対
して、0でないマット値すべてを包含するバウンディン
グボックス(以下、適宜、第1のバウンディングボック
スという)(第1の領域)と、1のマット値のみからな
るバウンディングボックス(以下、適宜、第2のバウン
ディングボックスという)(第2の領域)とを設定する
ようになされている。即ち、領域設定部14は、例え
ば、図3に示すように、マット画像記憶部13に記憶さ
れたマット画像の半透明領域(図3において、薄い影を
付してある部分)に外接する矩形の領域を、第1のバウ
ンディングボックスとして設定するとともに、その完全
不透明領域に、2つ頂点が内接する矩形の領域を、第2
のバウンディングボックスとして設定する。
【0068】なお、図3は、前述の図11と同一のマッ
ト画像を示している。そして、図3においても、図11
における場合と同様の座標系をとり、第1のバウンディ
ングボックスの左下または右上の頂点の座標を、それぞ
れ、(Xmin1,Ymin1)または(Xmax1,Ymax1)と表
す。また、第2のバウンディングボックスの左下または
右上の頂点の座標を、それぞれ、(Xmin2,Ymin2)ま
たは(Xmax2,Ymax2)と表す。さらに、マット画像の
横または縦の画素数は、それぞれWまたはH画素である
とする。また、前景画像および背景画像の横または縦の
画素数も、それぞれWまたはH画素であるとする。さら
に、座標(画素)(x,y)のマット値は、配列変数
(2次元配列変数)matte[x,y]で表されるも
のとし、前景画像および背景画像の画素値は、R,G,
Bの3つの色成分が連続したパックトピクセル形式で表
されるものとする。また、前景画像または背景画像の画
素(x,y)の画素値を、それぞれ、構造体とされた配
列変数F[x,y]またはB[x,y]で表し、さら
に、前景画像の画素(x,y)のR,G,B成分は、F
[x,y].r,F[x,y].g,F[x,y].b
で、背景画像の画素(x,y)のR,G,B成分は、B
[x,y].r,B[x,y].g,B[x,y].b
で、それぞれ表されるものとする。ここで、x=0,
1,・・・,W−1であり、y=0,1,・・・,H−
1である。
ト画像を示している。そして、図3においても、図11
における場合と同様の座標系をとり、第1のバウンディ
ングボックスの左下または右上の頂点の座標を、それぞ
れ、(Xmin1,Ymin1)または(Xmax1,Ymax1)と表
す。また、第2のバウンディングボックスの左下または
右上の頂点の座標を、それぞれ、(Xmin2,Ymin2)ま
たは(Xmax2,Ymax2)と表す。さらに、マット画像の
横または縦の画素数は、それぞれWまたはH画素である
とする。また、前景画像および背景画像の横または縦の
画素数も、それぞれWまたはH画素であるとする。さら
に、座標(画素)(x,y)のマット値は、配列変数
(2次元配列変数)matte[x,y]で表されるも
のとし、前景画像および背景画像の画素値は、R,G,
Bの3つの色成分が連続したパックトピクセル形式で表
されるものとする。また、前景画像または背景画像の画
素(x,y)の画素値を、それぞれ、構造体とされた配
列変数F[x,y]またはB[x,y]で表し、さら
に、前景画像の画素(x,y)のR,G,B成分は、F
[x,y].r,F[x,y].g,F[x,y].b
で、背景画像の画素(x,y)のR,G,B成分は、B
[x,y].r,B[x,y].g,B[x,y].b
で、それぞれ表されるものとする。ここで、x=0,
1,・・・,W−1であり、y=0,1,・・・,H−
1である。
【0069】領域設定部14は、第1および第2のバウ
ンディングボックスを設定すると、それぞれを特定する
ための領域情報(特定情報)を求め、マット画像ととも
に、レンダリング部15に供給するようになされてい
る。このように、領域設定部14からは、第1および第
2のバウンディングボックスの領域情報を含むマット画
像が出力されるが、これが、領域情報付きマット画像で
あり、従って、領域設定部14は、CPU2が、領域情
報付きマット画像生成プログラムを実行することで実現
される。領域情報付きマット画像は、レンダリング部1
5に供給する他、上述したように、外部記憶装置7に供
給して記憶させたり、また、外部I/F6を介して、他
の装置に提供すること等が可能である。
ンディングボックスを設定すると、それぞれを特定する
ための領域情報(特定情報)を求め、マット画像ととも
に、レンダリング部15に供給するようになされてい
る。このように、領域設定部14からは、第1および第
2のバウンディングボックスの領域情報を含むマット画
像が出力されるが、これが、領域情報付きマット画像で
あり、従って、領域設定部14は、CPU2が、領域情
報付きマット画像生成プログラムを実行することで実現
される。領域情報付きマット画像は、レンダリング部1
5に供給する他、上述したように、外部記憶装置7に供
給して記憶させたり、また、外部I/F6を介して、他
の装置に提供すること等が可能である。
【0070】レンダリング部15(処理手段)は、図3
に示した第1のバウンディングボックスの外部の領域
(以下、適宜、外部領域という)、第1のバウンディン
グボックスの領域のうちの第2のバウンディングボック
スでない領域(以下、適宜、中間領域という)、および
第2のバウンディングボックスの領域(以下、適宜、内
部領域という)の3つの領域それぞれに対応する前景画
像および背景画像について、画像合成のための合成処理
を施し、その結果得られる合成画像を、背景画像記憶部
12に、そこに記憶された背景画像に上書きする形で書
き込むようになされている。
に示した第1のバウンディングボックスの外部の領域
(以下、適宜、外部領域という)、第1のバウンディン
グボックスの領域のうちの第2のバウンディングボック
スでない領域(以下、適宜、中間領域という)、および
第2のバウンディングボックスの領域(以下、適宜、内
部領域という)の3つの領域それぞれに対応する前景画
像および背景画像について、画像合成のための合成処理
を施し、その結果得られる合成画像を、背景画像記憶部
12に、そこに記憶された背景画像に上書きする形で書
き込むようになされている。
【0071】次に、図4のフローチャートを参照して、
図2の画像合成装置の処理について説明する。
図2の画像合成装置の処理について説明する。
【0072】まず最初に、ステップS1において、外部
記憶装置7に記憶された前景画像、背景画像、またはマ
ット画像が読み出され、前景画像記憶部11、背景画像
記憶部12、またはマット画像記憶部13にそれぞれ供
給されて記憶され、ステップS2に進む。
記憶装置7に記憶された前景画像、背景画像、またはマ
ット画像が読み出され、前景画像記憶部11、背景画像
記憶部12、またはマット画像記憶部13にそれぞれ供
給されて記憶され、ステップS2に進む。
【0073】ステップS2では、領域設定部14におい
て、マット画像記憶部13に記憶されたマット画像が読
み出され、そのマット画像に対して、第1および第2の
バウンディングボックスが設定される。即ち、例えば、
領域設定部14は、マット画像を出力装置5に供給し、
グレイスケール画像として表示させる。ユーザは、その
グレイスケール画像を見ながら、入力装置4を操作する
ことより、第1および第2のバウンディングボックスを
指定し、領域設定部14は、この指定にしたがって、第
1および第2のバウンディングボックスを設定する。
て、マット画像記憶部13に記憶されたマット画像が読
み出され、そのマット画像に対して、第1および第2の
バウンディングボックスが設定される。即ち、例えば、
領域設定部14は、マット画像を出力装置5に供給し、
グレイスケール画像として表示させる。ユーザは、その
グレイスケール画像を見ながら、入力装置4を操作する
ことより、第1および第2のバウンディングボックスを
指定し、領域設定部14は、この指定にしたがって、第
1および第2のバウンディングボックスを設定する。
【0074】具体的には、ユーザは、例えば、第1およ
び第2のバウンディングボックスの左下の頂点と右下の
頂点を指定する。あるいは、例えば、第1および第2の
バウンディングボックスの左下の頂点と、横および縦の
長さ、あるいは対角線の長さを指定する。領域設定部1
4では、このようなユーザの指定にしたがって、矩形の
第1および第2のバウンディングボックスが設定され
る。
び第2のバウンディングボックスの左下の頂点と右下の
頂点を指定する。あるいは、例えば、第1および第2の
バウンディングボックスの左下の頂点と、横および縦の
長さ、あるいは対角線の長さを指定する。領域設定部1
4では、このようなユーザの指定にしたがって、矩形の
第1および第2のバウンディングボックスが設定され
る。
【0075】領域設定部14は、第1、第2のバウンデ
ィングボックスを設定すると、それを特定するための領
域情報として、例えば、図3に示したような、それぞれ
の左下の頂点(Xmin1,Ymin1),(Xmin2,Ymin2)
と、右上の頂点(Xmax1,Ymax1),(Xmax2,
Ymax2)を求め、マット画像とともに、レンダリング部
15に出力する。即ち、領域設定部14は、領域情報付
きマット画像を、レンダリング部15に供給する。
ィングボックスを設定すると、それを特定するための領
域情報として、例えば、図3に示したような、それぞれ
の左下の頂点(Xmin1,Ymin1),(Xmin2,Ymin2)
と、右上の頂点(Xmax1,Ymax1),(Xmax2,
Ymax2)を求め、マット画像とともに、レンダリング部
15に出力する。即ち、領域設定部14は、領域情報付
きマット画像を、レンダリング部15に供給する。
【0076】レンダリング部15は、領域情報付きマッ
ト画像を受信すると、ステップS3において、y座標を
表す変数yを、Ymin1に初期化し、ステップS4に進
み、変数yが、Ymin2より小さいかどうかを判定する。
ステップS4において、変数yが、Ymin2より小さいと
判定された場合、即ち、変数yが、Ymin1以上Ymin2未
満である場合、ステップS5に進み、一行計算処理を行
う一行計算サブルーチンが、変数y、並びに第1のバウ
ンディングボックスの左右の境界のx座標Xmin1および
Xmax1の3つの変数の並びを引数として呼び出される。
ト画像を受信すると、ステップS3において、y座標を
表す変数yを、Ymin1に初期化し、ステップS4に進
み、変数yが、Ymin2より小さいかどうかを判定する。
ステップS4において、変数yが、Ymin2より小さいと
判定された場合、即ち、変数yが、Ymin1以上Ymin2未
満である場合、ステップS5に進み、一行計算処理を行
う一行計算サブルーチンが、変数y、並びに第1のバウ
ンディングボックスの左右の境界のx座標Xmin1および
Xmax1の3つの変数の並びを引数として呼び出される。
【0077】そして、ステップS5における一行計算処
理が終了すると、ステップS6に進み、変数yが1だけ
インクリメントされる。そして、ステップS4に戻り、
以下、ステップS4で、変数yがYmin2より小さくない
と判定されるまで、ステップS4乃至S6の処理が繰り
返される。
理が終了すると、ステップS6に進み、変数yが1だけ
インクリメントされる。そして、ステップS4に戻り、
以下、ステップS4で、変数yがYmin2より小さくない
と判定されるまで、ステップS4乃至S6の処理が繰り
返される。
【0078】即ち、y座標が、第1のバウンディングボ
ックスの左下の頂点のy座標であるYmin1未満のライン
(行)は、外部領域(図3)の画素だけで構成され、外
部領域には、透明領域(マット値が0の領域)しか含ま
れない。そして、ここでは、上述したように、背景画像
に上書きする形で合成画像を生成するので、そのような
透明領域のラインを構成する画素については、背景画像
記憶部12に記憶された背景画像の画素値をそのまま用
いることができ、特に処理を行う必要はない。
ックスの左下の頂点のy座標であるYmin1未満のライン
(行)は、外部領域(図3)の画素だけで構成され、外
部領域には、透明領域(マット値が0の領域)しか含ま
れない。そして、ここでは、上述したように、背景画像
に上書きする形で合成画像を生成するので、そのような
透明領域のラインを構成する画素については、背景画像
記憶部12に記憶された背景画像の画素値をそのまま用
いることができ、特に処理を行う必要はない。
【0079】また、y座標が、第1のバウンディングボ
ックスの左下の頂点のy座標であるYmin1以上で、かつ
第2のバウンディングボックスの左下の頂点のy座標で
あるYmin2未満のラインを構成する画素のうち、そのx
座標が、第1のバウンディングボックスの左下の頂点の
x座標であるXmin1未満の画素、およびその右上の頂点
のx座標であるXmax1より大きい画素も、外部領域(図
3)の画素であり、やはり、そのような画素について
は、背景画像記憶部12に記憶された背景画像の画素値
をそのまま用いることができるため、特に処理を行う必
要はない。
ックスの左下の頂点のy座標であるYmin1以上で、かつ
第2のバウンディングボックスの左下の頂点のy座標で
あるYmin2未満のラインを構成する画素のうち、そのx
座標が、第1のバウンディングボックスの左下の頂点の
x座標であるXmin1未満の画素、およびその右上の頂点
のx座標であるXmax1より大きい画素も、外部領域(図
3)の画素であり、やはり、そのような画素について
は、背景画像記憶部12に記憶された背景画像の画素値
をそのまま用いることができるため、特に処理を行う必
要はない。
【0080】さらに、y座標が、Ymin1以上Ymin2未満
のラインを構成する画素のうち、そのx座標が、第1の
バウンディングボックスの左下の頂点のx座標であるX
min1以上で、かつその右上の頂点のx座標であるXmax1
以下の画素は、中間領域(図3)の画素であり、中間領
域には、半透明領域(マット値が0より大きく、かつ1
より小さい領域)が含まれる可能性があるため、式
(1)の演算の対象とする必要がある。そこで、ステッ
プS5において、そのような画素(y座標がYmin1以上
Ymin2未満のラインを構成する画素のうち、x座標がX
min1以上Xmax1以下のもの)のみを対象にして、一行計
算処理が行われる。
のラインを構成する画素のうち、そのx座標が、第1の
バウンディングボックスの左下の頂点のx座標であるX
min1以上で、かつその右上の頂点のx座標であるXmax1
以下の画素は、中間領域(図3)の画素であり、中間領
域には、半透明領域(マット値が0より大きく、かつ1
より小さい領域)が含まれる可能性があるため、式
(1)の演算の対象とする必要がある。そこで、ステッ
プS5において、そのような画素(y座標がYmin1以上
Ymin2未満のラインを構成する画素のうち、x座標がX
min1以上Xmax1以下のもの)のみを対象にして、一行計
算処理が行われる。
【0081】ここで、図5のフローチャートは、図4の
ステップS5における一行計算処理の詳細を示してい
る。一行計算サブルーチンは、上述したように、3つの
変数の並びを引数として呼び出されるが、図5の実施の
形態では、その3つの変数の並びが、変数y,XL,X
Rに対応している。
ステップS5における一行計算処理の詳細を示してい
る。一行計算サブルーチンは、上述したように、3つの
変数の並びを引数として呼び出されるが、図5の実施の
形態では、その3つの変数の並びが、変数y,XL,X
Rに対応している。
【0082】一行計算処理では、まず最初に、ステップ
S21において、x座標を表す変数xが、XLに初期化
され、ステップS22に進み、変数xが、XR以下であ
るかどうかが判定される。ステップS22において、変
数xが、XR以下であると判定された場合、ステップS
23に進み、レンダリング部15において、変数Mに、
マット画像記憶部13に記憶されたマット画像の、座標
(画素)(x,y)のマット値matte[x,y]が
セットされる。
S21において、x座標を表す変数xが、XLに初期化
され、ステップS22に進み、変数xが、XR以下であ
るかどうかが判定される。ステップS22において、変
数xが、XR以下であると判定された場合、ステップS
23に進み、レンダリング部15において、変数Mに、
マット画像記憶部13に記憶されたマット画像の、座標
(画素)(x,y)のマット値matte[x,y]が
セットされる。
【0083】そして、ステップS24に進み、レンダリ
ング部15において、マット値Mが0であるかどうかが
判定され、0でないと判定された場合、ステップS25
に進み、マット値Mが1であるかどうかが判定される。
ステップS25において、マット値Mが1であると判定
された場合、ステップS26に進み、レンダリング部1
5において、背景画像記憶部12に記憶された背景画像
の画素(x,y)の画素値B[x,y]に、前景画像記
憶部11に記憶された前景画像の画素(x,y)の画素
値F[x,y]がコピーされ、ステップS28に進む。
即ち、ステップS26では、前述の式(2)に示した演
算が行われ、ステップS28に進む。
ング部15において、マット値Mが0であるかどうかが
判定され、0でないと判定された場合、ステップS25
に進み、マット値Mが1であるかどうかが判定される。
ステップS25において、マット値Mが1であると判定
された場合、ステップS26に進み、レンダリング部1
5において、背景画像記憶部12に記憶された背景画像
の画素(x,y)の画素値B[x,y]に、前景画像記
憶部11に記憶された前景画像の画素(x,y)の画素
値F[x,y]がコピーされ、ステップS28に進む。
即ち、ステップS26では、前述の式(2)に示した演
算が行われ、ステップS28に進む。
【0084】また、ステップS25において、マット値
Mが1でないと判定された場合、ステップS27に進
み、レンダリング部15において、前景画像記憶部11
に記憶された前景画像の画素(x,y)と、背景画像記
憶部12に記憶された背景画像の画素(x,y)とを用
いて、前述の式(3)に示した演算が行われ、ステップ
S28に進む。
Mが1でないと判定された場合、ステップS27に進
み、レンダリング部15において、前景画像記憶部11
に記憶された前景画像の画素(x,y)と、背景画像記
憶部12に記憶された背景画像の画素(x,y)とを用
いて、前述の式(3)に示した演算が行われ、ステップ
S28に進む。
【0085】一方、ステップS24において、マット値
Mが0であると判定された場合、ステップS28に進
み、変数xが1だけインクリメントされ、ステップS2
2に戻り、以下、同様の処理が繰り返される。
Mが0であると判定された場合、ステップS28に進
み、変数xが1だけインクリメントされ、ステップS2
2に戻り、以下、同様の処理が繰り返される。
【0086】そして、ステップS22において、変数x
が、XR以下でないと判定された場合、リターンする。
が、XR以下でないと判定された場合、リターンする。
【0087】図4に戻り、ステップS4において、変数
yがYmin2より小さくないと判定されると、ステップS
7に進み、レンダリング部15において、変数yが、Y
min2に初期化され、ステップS8に進み、変数yが、Y
max2以下であるかどうかが判定される。ステップS8に
おいて、変数yが、Ymax2以下であると判定された場
合、即ち、変数yが、Ymin2以上Ymax2以下である場
合、ステップS9に進み、図5に示した一行計算処理を
行う一行計算サブルーチンが、変数y、第1のバウンデ
ィングボックスの左の境界のx座標Xmin1、および第2
のバウンディングボックスの左の境界のx座標Xmin1−
1を引数として呼び出される。
yがYmin2より小さくないと判定されると、ステップS
7に進み、レンダリング部15において、変数yが、Y
min2に初期化され、ステップS8に進み、変数yが、Y
max2以下であるかどうかが判定される。ステップS8に
おいて、変数yが、Ymax2以下であると判定された場
合、即ち、変数yが、Ymin2以上Ymax2以下である場
合、ステップS9に進み、図5に示した一行計算処理を
行う一行計算サブルーチンが、変数y、第1のバウンデ
ィングボックスの左の境界のx座標Xmin1、および第2
のバウンディングボックスの左の境界のx座標Xmin1−
1を引数として呼び出される。
【0088】そして、ステップS9における一行計算処
理が終了すると、ステップS10に進み、レンダリング
部15は、前景画像記憶部11に記憶された前景画像の
画素値F[Xmin2,y]乃至F[Xmax2,y]を、背景
画像記憶部12に記憶された背景画像の画素値B[X
min2,y]乃至B[Xmax2,y]にコピーし、ステップ
S11に進む。
理が終了すると、ステップS10に進み、レンダリング
部15は、前景画像記憶部11に記憶された前景画像の
画素値F[Xmin2,y]乃至F[Xmax2,y]を、背景
画像記憶部12に記憶された背景画像の画素値B[X
min2,y]乃至B[Xmax2,y]にコピーし、ステップ
S11に進む。
【0089】ステップS11では、図5に示した一行計
算処理を行う一行計算サブルーチンが、変数y、第2の
バウンディングボックスの右の境界のx座標Xmax2+
1、および第1のバウンディングボックスの右の境界の
x座標Xmax1を引数として呼び出される。
算処理を行う一行計算サブルーチンが、変数y、第2の
バウンディングボックスの右の境界のx座標Xmax2+
1、および第1のバウンディングボックスの右の境界の
x座標Xmax1を引数として呼び出される。
【0090】そして、ステップS11における一行計算
処理が終了すると、ステップS12に進み、レンダリン
グ部15において、変数yが1だけインクリメントされ
る。そして、ステップS8に戻り、以下、ステップS8
で、変数yがYmax2以下でないと判定されるまで、ステ
ップS8乃至S12の処理が繰り返される。
処理が終了すると、ステップS12に進み、レンダリン
グ部15において、変数yが1だけインクリメントされ
る。そして、ステップS8に戻り、以下、ステップS8
で、変数yがYmax2以下でないと判定されるまで、ステ
ップS8乃至S12の処理が繰り返される。
【0091】即ち、y座標が、第2のバウンディングボ
ックスの左下の頂点のy座標であるYmin2以上、かつ第
2のバウンディングボックスの右上の頂点のy座標であ
るYmax2以下のラインを構成する画素のうち、そのx座
標が、第1のバウンディングボックスの左下の頂点のx
座標であるXmin1未満の画素、および第1のバウンディ
ングボックスの右上の頂点のx座標であるXmax1より大
きい画素は、外部領域(図3)の画素であり、外部領域
には、透明領域しか含まれない。そして、ここでは、上
述したように、背景画像に上書きする形で合成画像を生
成するので、透明領域の画素については、背景画像記憶
部12に記憶された背景画像の画素値をそのまま用いる
ことができ、特に処理を行う必要はない。
ックスの左下の頂点のy座標であるYmin2以上、かつ第
2のバウンディングボックスの右上の頂点のy座標であ
るYmax2以下のラインを構成する画素のうち、そのx座
標が、第1のバウンディングボックスの左下の頂点のx
座標であるXmin1未満の画素、および第1のバウンディ
ングボックスの右上の頂点のx座標であるXmax1より大
きい画素は、外部領域(図3)の画素であり、外部領域
には、透明領域しか含まれない。そして、ここでは、上
述したように、背景画像に上書きする形で合成画像を生
成するので、透明領域の画素については、背景画像記憶
部12に記憶された背景画像の画素値をそのまま用いる
ことができ、特に処理を行う必要はない。
【0092】また、y座標がYmin2以上Ymax2以下のラ
インを構成する画素のうち、そのx座標が、第1のバウ
ンディングボックスの左下の頂点のx座標であるXmin1
以上で、かつ第2のバウンディングボックスの左下の頂
点のx座標であるXmin2未満の画素、および第2のバウ
ンディングボックスの右上の頂点のx座標であるXma x2
より大きく、かつ第1のバウンディングボックスの右上
の頂点のx座標であるXmax1以下の画素は、中間領域
(図3)の画素であり、中間領域には、半透明領域が含
まれる可能性があるため、式(1)の演算の対象とする
必要がある。そこで、ステップS9およびS11におい
て、そのような画素のみを対象にして、一行計算処理が
行われる。
インを構成する画素のうち、そのx座標が、第1のバウ
ンディングボックスの左下の頂点のx座標であるXmin1
以上で、かつ第2のバウンディングボックスの左下の頂
点のx座標であるXmin2未満の画素、および第2のバウ
ンディングボックスの右上の頂点のx座標であるXma x2
より大きく、かつ第1のバウンディングボックスの右上
の頂点のx座標であるXmax1以下の画素は、中間領域
(図3)の画素であり、中間領域には、半透明領域が含
まれる可能性があるため、式(1)の演算の対象とする
必要がある。そこで、ステップS9およびS11におい
て、そのような画素のみを対象にして、一行計算処理が
行われる。
【0093】さらに、y座標がYmin2以上Ymax2以下の
ラインを構成する画素のうち、そのx座標が、第2のバ
ウンディングボックスの左下の頂点のx座標であるX
min2以上で、かつその右上の頂点のx座標であるXmax2
以下の画素は、内部領域(図3)の画素であり、内部領
域には、完全不透明領域(マット値が1の領域)しか含
まれない。そして、ここでは、上述したように、背景画
像に上書きする形で合成画像を生成するので、完全不透
明領域の画素については、前景画像記憶部11に記憶さ
れた前景画像の画素をコピーすれば済む。そこで、ステ
ップS10において、そのような画素については、前景
画像記憶部11に記憶された前景画像の画素値が、背景
画像記憶部12にコピーされる。
ラインを構成する画素のうち、そのx座標が、第2のバ
ウンディングボックスの左下の頂点のx座標であるX
min2以上で、かつその右上の頂点のx座標であるXmax2
以下の画素は、内部領域(図3)の画素であり、内部領
域には、完全不透明領域(マット値が1の領域)しか含
まれない。そして、ここでは、上述したように、背景画
像に上書きする形で合成画像を生成するので、完全不透
明領域の画素については、前景画像記憶部11に記憶さ
れた前景画像の画素をコピーすれば済む。そこで、ステ
ップS10において、そのような画素については、前景
画像記憶部11に記憶された前景画像の画素値が、背景
画像記憶部12にコピーされる。
【0094】その後、ステップS8において、変数y
が、Ymax2より小さくないと判定されると、ステップS
13に進み、レンダリング部15は、y座標を表す変数
yを、Ymax2+1に初期化し、ステップS14に進む。
ステップS14では、レンダリング部15において、変
数yが、Ymax1以下であるかどうかが判定される。ステ
ップS14において、変数yが、Ymax1より小さいと判
定された場合、即ち、変数yが、Ymax2以上Ymax1未満
である場合、ステップS15に進み、図5に示した一行
計算処理を行う一行計算サブルーチンが、変数y,X
min1,Xmax1を引数として呼び出される。
が、Ymax2より小さくないと判定されると、ステップS
13に進み、レンダリング部15は、y座標を表す変数
yを、Ymax2+1に初期化し、ステップS14に進む。
ステップS14では、レンダリング部15において、変
数yが、Ymax1以下であるかどうかが判定される。ステ
ップS14において、変数yが、Ymax1より小さいと判
定された場合、即ち、変数yが、Ymax2以上Ymax1未満
である場合、ステップS15に進み、図5に示した一行
計算処理を行う一行計算サブルーチンが、変数y,X
min1,Xmax1を引数として呼び出される。
【0095】そして、ステップS15における一行計算
処理が終了すると、ステップS16に進み、変数yが1
だけインクリメントされる。そして、ステップS14に
戻り、以下、ステップS14で、変数yがYmax1以下で
ないと判定されるまで、ステップS14乃至S16の処
理が繰り返される。
処理が終了すると、ステップS16に進み、変数yが1
だけインクリメントされる。そして、ステップS14に
戻り、以下、ステップS14で、変数yがYmax1以下で
ないと判定されるまで、ステップS14乃至S16の処
理が繰り返される。
【0096】即ち、y座標が、Ymax2以上Ymax1以下の
ラインを構成する画素のうち、そのx座標が、Xmin1未
満の画素、およびXmax1より大きい画素は、外部領域
(図3)の画素であり、そのような画素については、背
景画像記憶部12に記憶された背景画像の画素値をその
まま用いることができるため、特に処理を行う必要はな
い。
ラインを構成する画素のうち、そのx座標が、Xmin1未
満の画素、およびXmax1より大きい画素は、外部領域
(図3)の画素であり、そのような画素については、背
景画像記憶部12に記憶された背景画像の画素値をその
まま用いることができるため、特に処理を行う必要はな
い。
【0097】また、y座標が、Ymax2以上Ymax1以下の
ラインを構成する画素のうち、そのx座標が、Xmin1以
上Xmax1以下の画素は、中間領域(図3)の画素であ
り、中間領域には、半透明領域が含まれる可能性がある
ため、式(1)の演算の対象とする必要がある。そこ
で、ステップS15において、そのような画素のみを対
象にして、一行計算処理が行われる。
ラインを構成する画素のうち、そのx座標が、Xmin1以
上Xmax1以下の画素は、中間領域(図3)の画素であ
り、中間領域には、半透明領域が含まれる可能性がある
ため、式(1)の演算の対象とする必要がある。そこ
で、ステップS15において、そのような画素のみを対
象にして、一行計算処理が行われる。
【0098】そして、ステップS14において、変数y
がYmax1以下でないと判定されると、ステップS17に
進み、背景画像記憶部12に記憶された合成画像が、外
部記憶装置7に書き込まれ、処理を終了する。
がYmax1以下でないと判定されると、ステップS17に
進み、背景画像記憶部12に記憶された合成画像が、外
部記憶装置7に書き込まれ、処理を終了する。
【0099】即ち、y座標が、Ymax1より大きいライン
は、外部領域(図3)の画素だけで構成され、外部領域
には、透明領域しか含まれない。そして、ここでは、上
述したように、背景画像に上書きする形で合成画像を生
成するので、そのような透明領域のラインを構成する画
素については、背景画像記憶部12に記憶された背景画
像の画素値をそのまま用いることができ、特に処理を行
う必要はない。
は、外部領域(図3)の画素だけで構成され、外部領域
には、透明領域しか含まれない。そして、ここでは、上
述したように、背景画像に上書きする形で合成画像を生
成するので、そのような透明領域のラインを構成する画
素については、背景画像記憶部12に記憶された背景画
像の画素値をそのまま用いることができ、特に処理を行
う必要はない。
【0100】従って、y座標を表す変数yがYmax1以下
でなくなった時点で、背景画像記憶部12には、前景画
像と背景画像とを、マット画像にしたがって合成した合
成画像が記憶されており、ステップS17では、その合
成画像が、外部記憶装置7に書き込まれる(あるいは、
出力装置5に表示される)。
でなくなった時点で、背景画像記憶部12には、前景画
像と背景画像とを、マット画像にしたがって合成した合
成画像が記憶されており、ステップS17では、その合
成画像が、外部記憶装置7に書き込まれる(あるいは、
出力装置5に表示される)。
【0101】以上のように、マット画像に対して、第1
および第2のバウンディングボックスを設定し、第1の
バウンディングボックスの外部の領域(外部領域)、第
1のバウンディングボックスの領域のうちの第2のバウ
ンディングボックスでない領域(中間領域)、および第
2のバウンディングボックス(内部領域)の3つの領域
それぞれに対応する前景画像および背景画像について、
画像合成のための処理を施すようにしたので、画像の合
成を、効率良く行うことができる。
および第2のバウンディングボックスを設定し、第1の
バウンディングボックスの外部の領域(外部領域)、第
1のバウンディングボックスの領域のうちの第2のバウ
ンディングボックスでない領域(中間領域)、および第
2のバウンディングボックス(内部領域)の3つの領域
それぞれに対応する前景画像および背景画像について、
画像合成のための処理を施すようにしたので、画像の合
成を、効率良く行うことができる。
【0102】即ち、従来においては、第1のバウンディ
ングボックス内の画素を、式(1)の演算の対象とする
必要があったのに対して、図2(図1)の画像処理装置
によれば、第1のバウンディングボックス内の画素のう
ちの、第2のバウンディングボックス内の画素を除いた
ものだけを、式(1)の演算の対象とすれば良く、第2
のバウンディングボックス内の画素については、コピー
を行うだけで済む。
ングボックス内の画素を、式(1)の演算の対象とする
必要があったのに対して、図2(図1)の画像処理装置
によれば、第1のバウンディングボックス内の画素のう
ちの、第2のバウンディングボックス内の画素を除いた
ものだけを、式(1)の演算の対象とすれば良く、第2
のバウンディングボックス内の画素については、コピー
を行うだけで済む。
【0103】なお、図4のステップS10における前景
画像の画素値の、背景画像記憶部12へのコピーは、例
えば、図1の画像処理装置において、メモリブロックコ
ピーを行うサブルーチンプログラムが用意されている場
合等には、そのサブルーチンをコールすることで行うこ
とが可能である。即ち、メモリブロックコピーは、一般
に、複数バイト単位で、データを効率良くコピー(一括
でコピー)することができ、前景画像の画素値を、1画
素単位で、背景画像記憶部12へのコピーするような場
合に比較して効率良くコピーを行うことが可能となる。
画像の画素値の、背景画像記憶部12へのコピーは、例
えば、図1の画像処理装置において、メモリブロックコ
ピーを行うサブルーチンプログラムが用意されている場
合等には、そのサブルーチンをコールすることで行うこ
とが可能である。即ち、メモリブロックコピーは、一般
に、複数バイト単位で、データを効率良くコピー(一括
でコピー)することができ、前景画像の画素値を、1画
素単位で、背景画像記憶部12へのコピーするような場
合に比較して効率良くコピーを行うことが可能となる。
【0104】次に、上述したように、図2の画像処理装
置においては、領域設定部14に、領域情報付きマット
画像を、外部に出力させることが可能であるが、図6
は、領域設定部14が出力する領域情報付きマット画像
のデータフォーマットを示している。なお、領域情報付
きマット画像には、前景画像記憶部11に記憶された前
景画像を含ませることができ、図6は、そのように前景
画像を含ませた場合の領域情報付きマット画像のデータ
フォーマットを示している。ここで、領域情報付きマッ
ト画像に、前景画像記憶部11に記憶された前景画像を
含ませるには、図2において点線で示すように、領域設
定部14に、前景画像記憶部11に記憶された前景画像
を読み出せるようにすれば良い。
置においては、領域設定部14に、領域情報付きマット
画像を、外部に出力させることが可能であるが、図6
は、領域設定部14が出力する領域情報付きマット画像
のデータフォーマットを示している。なお、領域情報付
きマット画像には、前景画像記憶部11に記憶された前
景画像を含ませることができ、図6は、そのように前景
画像を含ませた場合の領域情報付きマット画像のデータ
フォーマットを示している。ここで、領域情報付きマッ
ト画像に、前景画像記憶部11に記憶された前景画像を
含ませるには、図2において点線で示すように、領域設
定部14に、前景画像記憶部11に記憶された前景画像
を読み出せるようにすれば良い。
【0105】図6において、第1行目(上から1行目)
のWまたはHは、前景画像およびマット画像の横または
縦の画素数をそれぞれ表している。また、第2行目の
(Xmi n1,Ymin1)または(Xmax1,Ymax1)は、第1
のバウンディングボックスの左下または右上の頂点をそ
れぞれ表しており、第3行目の(Xmin2,Ymin2)また
は(Xmax2,Ymax2)は、第2のバウンディングボック
スの左下または右上の頂点をそれぞれ表している。そし
て、第4行目以降には、前景画像を構成する画素(x,
y)のR,G,B成分Rx,y,Gx,y,Bx,yと、その画
素に対応するマット値Mx,yとが、前景画像の画素数分
だけ、即ち、W×H個だけ配列されている。
のWまたはHは、前景画像およびマット画像の横または
縦の画素数をそれぞれ表している。また、第2行目の
(Xmi n1,Ymin1)または(Xmax1,Ymax1)は、第1
のバウンディングボックスの左下または右上の頂点をそ
れぞれ表しており、第3行目の(Xmin2,Ymin2)また
は(Xmax2,Ymax2)は、第2のバウンディングボック
スの左下または右上の頂点をそれぞれ表している。そし
て、第4行目以降には、前景画像を構成する画素(x,
y)のR,G,B成分Rx,y,Gx,y,Bx,yと、その画
素に対応するマット値Mx,yとが、前景画像の画素数分
だけ、即ち、W×H個だけ配列されている。
【0106】なお、外部記憶装置7(図1)には、図6
に示したような領域情報付きマット画像を生成して記憶
させておき、図4のステップS1においては、前景画像
記憶部11に、図6の領域情報付きマット画像を記憶さ
せるようにすることができる。この場合、ステップS2
では、前景画像記憶部11に記憶された領域情報付きマ
ット画像の中の座標(Xmin1,Ymin1),(Xmax1,Y
max1),(Xmin2,Ymi n2)、および(Xmax2,
Ymax2)を読み出すことで、第1および第2のバウンデ
ィングボックスが設定される。
に示したような領域情報付きマット画像を生成して記憶
させておき、図4のステップS1においては、前景画像
記憶部11に、図6の領域情報付きマット画像を記憶さ
せるようにすることができる。この場合、ステップS2
では、前景画像記憶部11に記憶された領域情報付きマ
ット画像の中の座標(Xmin1,Ymin1),(Xmax1,Y
max1),(Xmin2,Ymi n2)、および(Xmax2,
Ymax2)を読み出すことで、第1および第2のバウンデ
ィングボックスが設定される。
【0107】また、図6の領域情報付きマット画像は、
前景画像を含んでいるが、領域情報付きマット画像は、
前景画像を含めずに構成することが可能である。この場
合、図4のステップS1においては、マット画像記憶部
13に、そのような前景画像を含まない領域情報付きマ
ット画像を記憶させるようにすることができ、ステップ
S2では、マット画像記憶部13に記憶された領域情報
付きマット画像の中の座標(Xmin1,Ymin1),(X
max1,Ymax1),(Xmin2,Ymin2)、および
(Xmax2,Ymax2)を読み出すことで、第1および第2
のバウンディングボックスが設定される。
前景画像を含んでいるが、領域情報付きマット画像は、
前景画像を含めずに構成することが可能である。この場
合、図4のステップS1においては、マット画像記憶部
13に、そのような前景画像を含まない領域情報付きマ
ット画像を記憶させるようにすることができ、ステップ
S2では、マット画像記憶部13に記憶された領域情報
付きマット画像の中の座標(Xmin1,Ymin1),(X
max1,Ymax1),(Xmin2,Ymin2)、および
(Xmax2,Ymax2)を読み出すことで、第1および第2
のバウンディングボックスが設定される。
【0108】次に、上述の場合においては、0でないマ
ット値すべてを包含する第1のバウンディングボックス
と、1のマット値のみからなる第2のバウンディングボ
ックスとを、ユーザからの頂点の入力に基づいて設定す
るようにしたが、第1および第2のバウンディングボッ
クスは、マット画像を構成するマット値に基づいて設定
することが可能である。さらに、上述の場合において
は、第1および第2のバウンディングボックスを矩形と
したことから、第1のバウンディングボックスには、0
のマット値が含まれることがあり、また、第2のバウン
ディングボックスには、1のマット値のすべてが含まれ
ないことがあったが、第1および第2のバウンディング
ボックスを任意の形とし、第1のバウンディングボック
スは、0のマット値を含まないように、また、第2のバ
ウンディングボックスは、すべての1のマット値を含む
ように構成することが可能である。即ち、図7に示すよ
うに、第1のバウンディングボックスは、半透明領域の
外周と一致するように、また、第2のバウンディングボ
ックスは、完全不透明領域の外周と一致するように、そ
れぞれ構成することが可能である。
ット値すべてを包含する第1のバウンディングボックス
と、1のマット値のみからなる第2のバウンディングボ
ックスとを、ユーザからの頂点の入力に基づいて設定す
るようにしたが、第1および第2のバウンディングボッ
クスは、マット画像を構成するマット値に基づいて設定
することが可能である。さらに、上述の場合において
は、第1および第2のバウンディングボックスを矩形と
したことから、第1のバウンディングボックスには、0
のマット値が含まれることがあり、また、第2のバウン
ディングボックスには、1のマット値のすべてが含まれ
ないことがあったが、第1および第2のバウンディング
ボックスを任意の形とし、第1のバウンディングボック
スは、0のマット値を含まないように、また、第2のバ
ウンディングボックスは、すべての1のマット値を含む
ように構成することが可能である。即ち、図7に示すよ
うに、第1のバウンディングボックスは、半透明領域の
外周と一致するように、また、第2のバウンディングボ
ックスは、完全不透明領域の外周と一致するように、そ
れぞれ構成することが可能である。
【0109】この場合、図7に示すように、例えば、マ
ット画像(上述したように、横×縦がW×H画素で構成
される)の各行について、4つのx座標を導入し、これ
により、第1および第2のバウンディングボックスを規
定する。即ち、あるy座標で表される行(以下、適宜、
第y行という)について、半透明領域の左端のx座標、
完全不透明領域の左端のx座標、完全不透明領域の右端
のx座標、および半透明領域の右端のx座標を導入す
る。ここで、第y行における半透明領域の左端のx座
標、完全不透明領域の左端のx座標、完全不透明領域の
右端のx座標、または半透明領域の右端のx座標を、そ
れぞれ、Xmin1[y],Xmin2[y],Xma x2[y]、
またはXmax1[y]と表す。この場合、0≦x<Xmin1
[y]およびXmax1[y]<x≦Wの範囲が外部領域に
なり、Xmin1[y]≦x<Xmin2[y]およびX
max2[y]<x≦Xmax1[y]の範囲が中間領域にな
り、Xmin2[y]≦x≦Xmax2[y]の範囲が内部領域
になる。
ット画像(上述したように、横×縦がW×H画素で構成
される)の各行について、4つのx座標を導入し、これ
により、第1および第2のバウンディングボックスを規
定する。即ち、あるy座標で表される行(以下、適宜、
第y行という)について、半透明領域の左端のx座標、
完全不透明領域の左端のx座標、完全不透明領域の右端
のx座標、および半透明領域の右端のx座標を導入す
る。ここで、第y行における半透明領域の左端のx座
標、完全不透明領域の左端のx座標、完全不透明領域の
右端のx座標、または半透明領域の右端のx座標を、そ
れぞれ、Xmin1[y],Xmin2[y],Xma x2[y]、
またはXmax1[y]と表す。この場合、0≦x<Xmin1
[y]およびXmax1[y]<x≦Wの範囲が外部領域に
なり、Xmin1[y]≦x<Xmin2[y]およびX
max2[y]<x≦Xmax1[y]の範囲が中間領域にな
り、Xmin2[y]≦x≦Xmax2[y]の範囲が内部領域
になる。
【0110】なお、第y行において、必ずしも、外部領
域、中間領域、および内部領域の3つの領域すべてが存
在するとは限らない。そこで、例えば、内部領域が存在
しない場合には、内部領域を規定するx座標X
min2[y]およびXmax2[y]に対して、内部領域が存
在するときに満たす関係(Xmin2[y]≦X
max2[y])を満たさない値、即ち、Xmin2[y]>X
max2[y]となるような値を設定することにより(例え
ば、Xmin2[y]=Xmax1[y]+1,Xmax2[y]=
Xmax1[y]とする)、内部領域が存在しないことを表
すこととする。
域、中間領域、および内部領域の3つの領域すべてが存
在するとは限らない。そこで、例えば、内部領域が存在
しない場合には、内部領域を規定するx座標X
min2[y]およびXmax2[y]に対して、内部領域が存
在するときに満たす関係(Xmin2[y]≦X
max2[y])を満たさない値、即ち、Xmin2[y]>X
max2[y]となるような値を設定することにより(例え
ば、Xmin2[y]=Xmax1[y]+1,Xmax2[y]=
Xmax1[y]とする)、内部領域が存在しないことを表
すこととする。
【0111】次に、図8のフローチャートを参照して、
上述のように、第1および第2のバウンディングボック
スを設定して画像合成を行う場合の、図2の画像合成装
置の処理について説明する。
上述のように、第1および第2のバウンディングボック
スを設定して画像合成を行う場合の、図2の画像合成装
置の処理について説明する。
【0112】まず最初に、ステップS31において、図
4のステップS1における場合と同様に、外部記憶装置
7に記憶された前景画像、背景画像、またはマット画像
が読み出され、前景画像記憶部11、背景画像記憶部1
2、またはマット画像記憶部13にそれぞれ供給されて
記憶され、ステップS32に進む。
4のステップS1における場合と同様に、外部記憶装置
7に記憶された前景画像、背景画像、またはマット画像
が読み出され、前景画像記憶部11、背景画像記憶部1
2、またはマット画像記憶部13にそれぞれ供給されて
記憶され、ステップS32に進む。
【0113】ステップS32では、領域設定部14にお
いて、マット画像記憶部13に記憶されたマット画像が
読み出され、そのマット画像に対して、第1および第2
のバウンディングボックスが設定される。即ち、ここで
は、領域設定部14は、マット画像記憶部13に記憶さ
れたマット画像の各行について、図7で説明したXmi n1
[y],Xmin2[y],Xmax2[y]、およびX
max1[y]を求めることで、第1および第2のバウンデ
ィングボックスを設定する。領域設定部14は、第1、
第2のバウンディングボックスを設定すると、それを特
定するための領域情報として、マット画像の各行につい
て設定されたXmin1[y],Xmin2[y],X
ma x2[y]、およびXmax1[y]を、マット画像ととも
に、レンダリング部15に出力する。即ち、領域設定部
14は、領域情報付きマット画像を、レンダリング部1
5に供給する。
いて、マット画像記憶部13に記憶されたマット画像が
読み出され、そのマット画像に対して、第1および第2
のバウンディングボックスが設定される。即ち、ここで
は、領域設定部14は、マット画像記憶部13に記憶さ
れたマット画像の各行について、図7で説明したXmi n1
[y],Xmin2[y],Xmax2[y]、およびX
max1[y]を求めることで、第1および第2のバウンデ
ィングボックスを設定する。領域設定部14は、第1、
第2のバウンディングボックスを設定すると、それを特
定するための領域情報として、マット画像の各行につい
て設定されたXmin1[y],Xmin2[y],X
ma x2[y]、およびXmax1[y]を、マット画像ととも
に、レンダリング部15に出力する。即ち、領域設定部
14は、領域情報付きマット画像を、レンダリング部1
5に供給する。
【0114】ここで、この第1および第2のバウンディ
ングボックスを設定し、領域情報付きマット画像を生成
するステップS32の処理の詳細については、後述す
る。
ングボックスを設定し、領域情報付きマット画像を生成
するステップS32の処理の詳細については、後述す
る。
【0115】レンダリング部15は、領域情報付きマッ
ト画像を受信すると、ステップS33において、y座標
を表す変数yを、0に初期化し、ステップS34に進
み、変数yが、マット画像の縦の画素数Hより小さいか
どうかを判定する。ステップS34において、変数y
が、Hより小さいと判定された場合、即ち、変数yが、
0以上H未満である場合、ステップS35に進み、図5
に示した一行計算処理を行う一行計算サブルーチンが、
変数y、並びに第y行における第1のバウンディングボ
ックスの左の境界のx座標Xmin1[y]、および第y行
における第2のバウンディングボックスの左の境界のx
座標Xmin2[y]−1の3つの変数の並びを引数として
呼び出される。
ト画像を受信すると、ステップS33において、y座標
を表す変数yを、0に初期化し、ステップS34に進
み、変数yが、マット画像の縦の画素数Hより小さいか
どうかを判定する。ステップS34において、変数y
が、Hより小さいと判定された場合、即ち、変数yが、
0以上H未満である場合、ステップS35に進み、図5
に示した一行計算処理を行う一行計算サブルーチンが、
変数y、並びに第y行における第1のバウンディングボ
ックスの左の境界のx座標Xmin1[y]、および第y行
における第2のバウンディングボックスの左の境界のx
座標Xmin2[y]−1の3つの変数の並びを引数として
呼び出される。
【0116】そして、ステップS35における一行計算
処理が終了すると、ステップS36に進み、レンダリン
グ部15は、前景画像記憶部11に記憶された前景画像
の画素値F[Xmin2[y],y]乃至F[X
max2[y],y]を、背景画像記憶部12に記憶された
背景画像の画素値B[Xmin2[y],y]乃至B[X
max2[y],y]にコピーし、ステップS37に進む。
処理が終了すると、ステップS36に進み、レンダリン
グ部15は、前景画像記憶部11に記憶された前景画像
の画素値F[Xmin2[y],y]乃至F[X
max2[y],y]を、背景画像記憶部12に記憶された
背景画像の画素値B[Xmin2[y],y]乃至B[X
max2[y],y]にコピーし、ステップS37に進む。
【0117】ステップS37では、図5に示した一行計
算処理を行う一行計算サブルーチンが、変数y、第2の
バウンディングボックスの右の境界のx座標X
max2[y]+1、および第1のバウンディングボックス
の右の境界のx座標Xmax1[y]を引数として呼び出さ
れる。
算処理を行う一行計算サブルーチンが、変数y、第2の
バウンディングボックスの右の境界のx座標X
max2[y]+1、および第1のバウンディングボックス
の右の境界のx座標Xmax1[y]を引数として呼び出さ
れる。
【0118】そして、ステップS37における一行計算
処理が終了すると、ステップS38に進み、レンダリン
グ部15において、変数yが1だけインクリメントされ
る。そして、ステップS34に戻り、以下、ステップS
34で、変数yがH未満でないと判定されるまで、ステ
ップS34乃至S38の処理が繰り返される。
処理が終了すると、ステップS38に進み、レンダリン
グ部15において、変数yが1だけインクリメントされ
る。そして、ステップS34に戻り、以下、ステップS
34で、変数yがH未満でないと判定されるまで、ステ
ップS34乃至S38の処理が繰り返される。
【0119】即ち、第y行のラインを構成する画素のう
ち、そのx座標が、第1のバウンディングボックスの左
側の境界のx座標であるXmin1[y]未満の画素、およ
び第1のバウンディングボックスの右側の境界のx座標
であるXmax1[y]より大きい画素は、外部領域(図
7)の画素であり、ここでは、外部領域には、透明領域
のみが含まれる。そして、上述したように、ここでは、
背景画像に上書きする形で合成画像を生成するので、透
明領域の画素については、背景画像記憶部12に記憶さ
れた背景画像の画素値をそのまま用いることができ、特
に処理を行う必要はない。
ち、そのx座標が、第1のバウンディングボックスの左
側の境界のx座標であるXmin1[y]未満の画素、およ
び第1のバウンディングボックスの右側の境界のx座標
であるXmax1[y]より大きい画素は、外部領域(図
7)の画素であり、ここでは、外部領域には、透明領域
のみが含まれる。そして、上述したように、ここでは、
背景画像に上書きする形で合成画像を生成するので、透
明領域の画素については、背景画像記憶部12に記憶さ
れた背景画像の画素値をそのまま用いることができ、特
に処理を行う必要はない。
【0120】また、第y行のラインを構成する画素のう
ち、そのx座標が、第1のバウンディングボックスの左
側の境界のx座標であるXmin1[y]以上で、かつ第2
のバウンディングボックスの左側の境界のx座標である
Xmin2[y]未満の画素、および第2のバウンディング
ボックスの右側の境界のx座標であるXmax2[y]より
大きく、かつ第1のバウンディングボックスの右側の境
界のx座標であるXma x1[y]以下の画素は、中間領域
(図7)の画素であり、ここでは、中間領域は、半透明
領域のみを含むため、式(1)の演算の対象とする必要
がある。そこで、ステップS35およびS37におい
て、そのような画素のみを対象にして、一行計算処理が
行われる。
ち、そのx座標が、第1のバウンディングボックスの左
側の境界のx座標であるXmin1[y]以上で、かつ第2
のバウンディングボックスの左側の境界のx座標である
Xmin2[y]未満の画素、および第2のバウンディング
ボックスの右側の境界のx座標であるXmax2[y]より
大きく、かつ第1のバウンディングボックスの右側の境
界のx座標であるXma x1[y]以下の画素は、中間領域
(図7)の画素であり、ここでは、中間領域は、半透明
領域のみを含むため、式(1)の演算の対象とする必要
がある。そこで、ステップS35およびS37におい
て、そのような画素のみを対象にして、一行計算処理が
行われる。
【0121】さらに、第y行のラインを構成する画素の
うち、そのx座標が、第2のバウンディングボックスの
左側の境界のx座標であるXmin2以上で、かつその右側
の境界のx座標であるXmax2以下の画素は、内部領域
(図7)の画素であり、内部領域には、完全不透明領域
しかふくまれない。そして、ここでは、上述したよう
に、背景画像に上書きする形で合成画像を生成するの
で、完全不透明領域の画素については、前景画像記憶部
11に記憶された前景画像の画素をコピーすれば済む。
そこで、ステップS36において、そのような画素につ
いては、前景画像記憶部11に記憶された前景画像の画
素値が、背景画像記憶部12にコピーされる。
うち、そのx座標が、第2のバウンディングボックスの
左側の境界のx座標であるXmin2以上で、かつその右側
の境界のx座標であるXmax2以下の画素は、内部領域
(図7)の画素であり、内部領域には、完全不透明領域
しかふくまれない。そして、ここでは、上述したよう
に、背景画像に上書きする形で合成画像を生成するの
で、完全不透明領域の画素については、前景画像記憶部
11に記憶された前景画像の画素をコピーすれば済む。
そこで、ステップS36において、そのような画素につ
いては、前景画像記憶部11に記憶された前景画像の画
素値が、背景画像記憶部12にコピーされる。
【0122】その後、ステップS34において、変数y
が、H未満でないと判定されると、ステップS39に進
み、背景画像記憶部12に記憶された合成画像が、外部
記憶装置7に書き込まれ、処理を終了する。
が、H未満でないと判定されると、ステップS39に進
み、背景画像記憶部12に記憶された合成画像が、外部
記憶装置7に書き込まれ、処理を終了する。
【0123】図8の実施の形態においても、第1のバウ
ンディングボックス内の画素のうちの、第2のバウンデ
ィングボックス内の画素を除いたものだけを、式(1)
の演算の対象とすれば良く、第2のバウンディングボッ
クス内の画素については、コピーを行うだけで済むの
で、画像の合成を、効率良く行うことができる。
ンディングボックス内の画素のうちの、第2のバウンデ
ィングボックス内の画素を除いたものだけを、式(1)
の演算の対象とすれば良く、第2のバウンディングボッ
クス内の画素については、コピーを行うだけで済むの
で、画像の合成を、効率良く行うことができる。
【0124】次に、図9のフローチャートを参照して、
図8のステップS32の処理の詳細について説明する。
図8のステップS32の処理の詳細について説明する。
【0125】図8のステップS32では、マット画像を
構成する各行(ライン)が走査され、その行を構成する
画素のマット値に基づいて、上述のx座標X
min1[y],Xmi n2[y],Xmax2[y]、およびX
max1[y]が設定される。
構成する各行(ライン)が走査され、その行を構成する
画素のマット値に基づいて、上述のx座標X
min1[y],Xmi n2[y],Xmax2[y]、およびX
max1[y]が設定される。
【0126】即ち、ステップS41では、y座標を表す
変数yが、0に初期化され、ステップS42に進み、変
数yが、マット画像の縦の画素数Hより小さいかどうか
が判定される。ステップS42において、変数yがH未
満であると判定された場合、即ち、変数yが、0以上H
未満である場合、ステップS43に進み、x座標を表す
変数xが、0に初期化され、ステップS44に進む。
変数yが、0に初期化され、ステップS42に進み、変
数yが、マット画像の縦の画素数Hより小さいかどうか
が判定される。ステップS42において、変数yがH未
満であると判定された場合、即ち、変数yが、0以上H
未満である場合、ステップS43に進み、x座標を表す
変数xが、0に初期化され、ステップS44に進む。
【0127】ステップS44では、変数xが、マット画
像の横の画素数W未満であるかどうかが判定される。ス
テップS44において、変数xが、マット画像の横の画
素数W未満であると判定された場合、即ち、変数xが、
0以上W未満である場合、ステップS45に進み、マッ
ト値matte[x,y](座標(x,y)のマット
値)が0に等しいかどうかが判定される。ステップS4
5において、マット値matte[x,y]が0に等し
いと判定された場合、ステップS46に進み、x座標が
1だけインクリメントされる。そして、ステップS44
に戻り、以下、ステップS44でx座標がW未満でない
と判定されるか、またはステップS45でmatte
[x,y]が0に等しくないと判定されるまで、ステッ
プS44乃至S46の処理が繰り返される。
像の横の画素数W未満であるかどうかが判定される。ス
テップS44において、変数xが、マット画像の横の画
素数W未満であると判定された場合、即ち、変数xが、
0以上W未満である場合、ステップS45に進み、マッ
ト値matte[x,y](座標(x,y)のマット
値)が0に等しいかどうかが判定される。ステップS4
5において、マット値matte[x,y]が0に等し
いと判定された場合、ステップS46に進み、x座標が
1だけインクリメントされる。そして、ステップS44
に戻り、以下、ステップS44でx座標がW未満でない
と判定されるか、またはステップS45でmatte
[x,y]が0に等しくないと判定されるまで、ステッ
プS44乃至S46の処理が繰り返される。
【0128】そして、ステップS45において、mat
te[x,y]が0に等しくないと判定された場合、即
ち、第y行のマット値を、左から右方向に走査していっ
て、0でないマット値が最初に現れた場合、ステップS
47に進み、その0でないマット値を有する画素のx座
標が、第1のバウンディングボックスの左側の境界のx
座標を表す変数Xmin1[y]にセットされ、ステップS
48に進む。
te[x,y]が0に等しくないと判定された場合、即
ち、第y行のマット値を、左から右方向に走査していっ
て、0でないマット値が最初に現れた場合、ステップS
47に進み、その0でないマット値を有する画素のx座
標が、第1のバウンディングボックスの左側の境界のx
座標を表す変数Xmin1[y]にセットされ、ステップS
48に進む。
【0129】ステップS48では、ステップS44にお
ける場合と同様に、x座標がW未満であるかどうかが判
定され、W未満であると判定された場合、ステップS4
9に進み、マット値matte[x,y]が、0より大
きく、かつ1より小さいかどうかが判定される。ステッ
プS49において、マット値matte[x,y]が、
0より大きく、かつ1より小さいと判定された場合、ス
テップS50に進み、x座標が1だけインクリメントさ
れる。そして、ステップS48に戻り、ステップS48
でx座標がW未満でないと判定されるか、またはステッ
プS49でマット値matte[x,y]が、0または
1のいずれかに等しいと判定されるまで、ステップS4
8乃至S50の処理が繰り返される。
ける場合と同様に、x座標がW未満であるかどうかが判
定され、W未満であると判定された場合、ステップS4
9に進み、マット値matte[x,y]が、0より大
きく、かつ1より小さいかどうかが判定される。ステッ
プS49において、マット値matte[x,y]が、
0より大きく、かつ1より小さいと判定された場合、ス
テップS50に進み、x座標が1だけインクリメントさ
れる。そして、ステップS48に戻り、ステップS48
でx座標がW未満でないと判定されるか、またはステッ
プS49でマット値matte[x,y]が、0または
1のいずれかに等しいと判定されるまで、ステップS4
8乃至S50の処理が繰り返される。
【0130】そして、ステップS49において、マット
値matte[x,y]が、0または1のいずれかに等
しいと判定されると、ステップS51に進み、そのマッ
ト値matte[x,y]が、1に等しいかどうかが判
定される。ステップS51において、matte[x,
y]が1に等しいと判定された場合、即ち、第y行のマ
ット値を、左から右方向に走査していって、1のマット
値が最初に現れた場合、ステップS52に進み、その1
のマット値を有する画素のx座標が、第2のバウンディ
ングボックスの左側の境界のx座標を表す変数X
min2[y]にセットされ、ステップS53に進む。
値matte[x,y]が、0または1のいずれかに等
しいと判定されると、ステップS51に進み、そのマッ
ト値matte[x,y]が、1に等しいかどうかが判
定される。ステップS51において、matte[x,
y]が1に等しいと判定された場合、即ち、第y行のマ
ット値を、左から右方向に走査していって、1のマット
値が最初に現れた場合、ステップS52に進み、その1
のマット値を有する画素のx座標が、第2のバウンディ
ングボックスの左側の境界のx座標を表す変数X
min2[y]にセットされ、ステップS53に進む。
【0131】ステップS53では、ステップS44にお
ける場合と同様に、変数xが、マット画像の横の画素数
W未満であるかどうかが判定される。ステップS53に
おいて、変数xが、マット画像の横の画素数W未満であ
ると判定された場合、ステップS54に進み、マット値
matte[x,y]が1に等しいかどうかが判定され
る。ステップS54において、マット値matte
[x,y]が1に等しいと判定された場合、ステップS
55に進み、x座標が1だけインクリメントされる。そ
して、ステップS53に戻り、以下、ステップS53で
x座標がW未満でないと判定されるか、またはステップ
S54でmatte[x,y]が1に等しくないと判定
されるまで、ステップS53乃至S55の処理が繰り返
される。
ける場合と同様に、変数xが、マット画像の横の画素数
W未満であるかどうかが判定される。ステップS53に
おいて、変数xが、マット画像の横の画素数W未満であ
ると判定された場合、ステップS54に進み、マット値
matte[x,y]が1に等しいかどうかが判定され
る。ステップS54において、マット値matte
[x,y]が1に等しいと判定された場合、ステップS
55に進み、x座標が1だけインクリメントされる。そ
して、ステップS53に戻り、以下、ステップS53で
x座標がW未満でないと判定されるか、またはステップ
S54でmatte[x,y]が1に等しくないと判定
されるまで、ステップS53乃至S55の処理が繰り返
される。
【0132】そして、ステップS54において、mat
te[x,y]が1に等しくないと判定された場合、即
ち、第y行のマット値を、左から右方向に走査していっ
て、1のマット値が現れ、その後、1でないマット値が
最初に現れた場合、ステップS56に進み、その1でな
いマット値を有する画素のx座標−1が、第2のバウン
ディングボックスの右側の境界のx座標を表す変数X
max2[y]にセットされ、ステップS57に進む。
te[x,y]が1に等しくないと判定された場合、即
ち、第y行のマット値を、左から右方向に走査していっ
て、1のマット値が現れ、その後、1でないマット値が
最初に現れた場合、ステップS56に進み、その1でな
いマット値を有する画素のx座標−1が、第2のバウン
ディングボックスの右側の境界のx座標を表す変数X
max2[y]にセットされ、ステップS57に進む。
【0133】ステップS57では、ステップS44にお
ける場合と同様に、変数xが、マット画像の横の画素数
W未満であるかどうかが判定される。ステップS57に
おいて、変数xが、マット画像の横の画素数W未満であ
ると判定された場合、ステップS58に進み、マット値
matte[x,y]が0より大きいかどうかが判定さ
れる。ステップS58において、マット値matte
[x,y]が0より大きいと判定された場合、ステップ
S59に進み、x座標が1だけインクリメントされる。
そして、ステップS57に戻り、以下、ステップS57
でx座標がW未満でないと判定されるか、またはステッ
プS58でmatte[x,y]が0より大きくないと
判定されるまで、ステップS57乃至S59の処理が繰
り返される。
ける場合と同様に、変数xが、マット画像の横の画素数
W未満であるかどうかが判定される。ステップS57に
おいて、変数xが、マット画像の横の画素数W未満であ
ると判定された場合、ステップS58に進み、マット値
matte[x,y]が0より大きいかどうかが判定さ
れる。ステップS58において、マット値matte
[x,y]が0より大きいと判定された場合、ステップ
S59に進み、x座標が1だけインクリメントされる。
そして、ステップS57に戻り、以下、ステップS57
でx座標がW未満でないと判定されるか、またはステッ
プS58でmatte[x,y]が0より大きくないと
判定されるまで、ステップS57乃至S59の処理が繰
り返される。
【0134】そして、ステップS58において、mat
te[x,y]が0より大きくないと判定された場合、
即ち、第y行のマット値を、左から右方向に走査してい
って、1のマット値が現れ、さらに、1でないマット値
が現れ、その後、0より大きくないマット値、つまり0
のマット値が最初に現れた場合、ステップS60に進
み、その0のマット値を有する画素のx座標−1が、第
1のバウンディングボックスの右側の境界のx座標を表
す変数Xmax1[y]にセットされ、ステップS61に進
む。
te[x,y]が0より大きくないと判定された場合、
即ち、第y行のマット値を、左から右方向に走査してい
って、1のマット値が現れ、さらに、1でないマット値
が現れ、その後、0より大きくないマット値、つまり0
のマット値が最初に現れた場合、ステップS60に進
み、その0のマット値を有する画素のx座標−1が、第
1のバウンディングボックスの右側の境界のx座標を表
す変数Xmax1[y]にセットされ、ステップS61に進
む。
【0135】ステップ61では、ステップS44におけ
る場合と同様に、変数xが、マット画像の横の画素数W
未満であるかどうかが判定される。ステップS61にお
いて、変数xが、マット画像の横の画素数W未満である
と判定された場合、ステップS62に進み、マット値m
atte[x,y]が0に等しいかどうかが判定され
る。ステップS62において、マット値matte
[x,y]が0に等しいと判定された場合、ステップS
63に進み、x座標が1だけインクリメントされる。そ
して、ステップS61に戻り、以下、ステップS61で
x座標がW未満でないと判定されるか、またはステップ
S62でマット値matte[x,y]が0に等しくな
いと判定されるまで、ステップS61乃至S63の処理
が繰り返される。
る場合と同様に、変数xが、マット画像の横の画素数W
未満であるかどうかが判定される。ステップS61にお
いて、変数xが、マット画像の横の画素数W未満である
と判定された場合、ステップS62に進み、マット値m
atte[x,y]が0に等しいかどうかが判定され
る。ステップS62において、マット値matte
[x,y]が0に等しいと判定された場合、ステップS
63に進み、x座標が1だけインクリメントされる。そ
して、ステップS61に戻り、以下、ステップS61で
x座標がW未満でないと判定されるか、またはステップ
S62でマット値matte[x,y]が0に等しくな
いと判定されるまで、ステップS61乃至S63の処理
が繰り返される。
【0136】そして、ステップS62において、マット
値matte[x,y]が0に等しくないと判定される
と、ステップS57に戻り、以下、同様の処理が繰り返
される。即ち、これにより、第y行が、半透明領域を複
数回横切るような場合には、ステップS60において、
最後に横切った半透明領域の右側の境界のx座標−1
が、変数Xmax1[y]にセットされる。
値matte[x,y]が0に等しくないと判定される
と、ステップS57に戻り、以下、同様の処理が繰り返
される。即ち、これにより、第y行が、半透明領域を複
数回横切るような場合には、ステップS60において、
最後に横切った半透明領域の右側の境界のx座標−1
が、変数Xmax1[y]にセットされる。
【0137】また、ステップS61において、x座標が
W未満でないと判定された場合、即ち、第y行のマット
値を、左から右方向に走査していき、その右端の画素ま
で到達した場合、ステップS64に進み、y座標が1だ
けインクリメントされる。そして、ステップS42に戻
り、以下、同様の処理が繰り返される。
W未満でないと判定された場合、即ち、第y行のマット
値を、左から右方向に走査していき、その右端の画素ま
で到達した場合、ステップS64に進み、y座標が1だ
けインクリメントされる。そして、ステップS42に戻
り、以下、同様の処理が繰り返される。
【0138】一方、ステップS44において、x座標が
W未満でないと判定された場合、即ち、第y行のマット
値を、左から右方向に走査していって、0でないマット
値を検出することができなかった場合(従って、第y行
のマット値がすべて0の場合)、ステップS65に進
み、第1のバウンディングボックスの左側の境界のx座
標を表す変数Xmin1[y]に、取り得ない値である、例
えばWがセットされ、ステップS66に進む。ステップ
S66では、第2のバウンディングボックスの左側の境
界のx座標を表す変数Xmin2[y]に、取り得ない値で
ある、例えばWがセットされ、ステップS67に進む。
ステップS67では、第2のバウンディングボックスの
右側の境界のx座標を表す変数Xmax2[y]に、変数X
min2[y]にWがセットされたときに取り得ない値であ
る、例えばW−1がセットされ、ステップS68に進
む。ステップS68では、第1のバウンディングボック
スの右側の境界のx座標を表す変数Xmax1[y]に、変
数Xmin1[y]にWがセットされたときに取り得ない値
である、例えばW−1がセットされ、ステップS64に
進み、以下、上述した場合と同様の処理が行われる。
W未満でないと判定された場合、即ち、第y行のマット
値を、左から右方向に走査していって、0でないマット
値を検出することができなかった場合(従って、第y行
のマット値がすべて0の場合)、ステップS65に進
み、第1のバウンディングボックスの左側の境界のx座
標を表す変数Xmin1[y]に、取り得ない値である、例
えばWがセットされ、ステップS66に進む。ステップ
S66では、第2のバウンディングボックスの左側の境
界のx座標を表す変数Xmin2[y]に、取り得ない値で
ある、例えばWがセットされ、ステップS67に進む。
ステップS67では、第2のバウンディングボックスの
右側の境界のx座標を表す変数Xmax2[y]に、変数X
min2[y]にWがセットされたときに取り得ない値であ
る、例えばW−1がセットされ、ステップS68に進
む。ステップS68では、第1のバウンディングボック
スの右側の境界のx座標を表す変数Xmax1[y]に、変
数Xmin1[y]にWがセットされたときに取り得ない値
である、例えばW−1がセットされ、ステップS64に
進み、以下、上述した場合と同様の処理が行われる。
【0139】また、ステップS48において、x座標が
W未満でないと判定された場合、即ち、第y行のマット
値を、左から右方向に走査していって、0でないマット
値が現れた後、その0でないマット値が、第y行の右端
まで連続する場合、ステップS66に進み、以下、上述
した場合と同様の処理が行われる。さらに、ステップS
S53において、x座標がW未満でないと判定された場
合、即ち、第y行のマット値を、左から右方向に走査し
ていって、1のマット値が現れた後、その1のマット値
が、第y行の右端まで連続する場合、ステップS67に
進み、以下、上述した場合と同様の処理が行われる。ま
た、ステップS57において、x座標がW未満でないと
判定された場合、即ち、第y行のマット値を、左から右
方向に走査していって、1のマット値が現れ、さらに、
1未満の0でないマット値が現れた後、その1未満の0
でないマット値が、第y行の右端まで連続する場合、ス
テップS68に進み、以下、上述した場合と同様の処理
が行われる。
W未満でないと判定された場合、即ち、第y行のマット
値を、左から右方向に走査していって、0でないマット
値が現れた後、その0でないマット値が、第y行の右端
まで連続する場合、ステップS66に進み、以下、上述
した場合と同様の処理が行われる。さらに、ステップS
S53において、x座標がW未満でないと判定された場
合、即ち、第y行のマット値を、左から右方向に走査し
ていって、1のマット値が現れた後、その1のマット値
が、第y行の右端まで連続する場合、ステップS67に
進み、以下、上述した場合と同様の処理が行われる。ま
た、ステップS57において、x座標がW未満でないと
判定された場合、即ち、第y行のマット値を、左から右
方向に走査していって、1のマット値が現れ、さらに、
1未満の0でないマット値が現れた後、その1未満の0
でないマット値が、第y行の右端まで連続する場合、ス
テップS68に進み、以下、上述した場合と同様の処理
が行われる。
【0140】一方、ステップS51において、matt
e[x,y]が1に等しくないと判定された場合、即
ち、第y行のマット値を、左から右方向に走査していっ
て、0より大きく、かつ1より小さいマット値が現れた
後に、1のマット値が現れず、0のマット値が現れた場
合、ステップS69に進み、ステップS60における場
合と同様に、その0のマット値を有する画素のx座標−
1が、第1のバウンディングボックスの右側の境界のx
座標を表す変数Xmax1[y]にセットされ、ステップS
70に進む。
e[x,y]が1に等しくないと判定された場合、即
ち、第y行のマット値を、左から右方向に走査していっ
て、0より大きく、かつ1より小さいマット値が現れた
後に、1のマット値が現れず、0のマット値が現れた場
合、ステップS69に進み、ステップS60における場
合と同様に、その0のマット値を有する画素のx座標−
1が、第1のバウンディングボックスの右側の境界のx
座標を表す変数Xmax1[y]にセットされ、ステップS
70に進む。
【0141】ステップS70では、ステップS44にお
ける場合と同様に、変数xが、マット画像の横の画素数
W未満であるかどうかが判定される。ステップS70に
おいて、変数xが、マット画像の横の画素数W未満であ
ると判定された場合、ステップS71に進み、マット値
matte[x,y]が0に等しいかどうかが判定され
る。ステップS71において、マット値matte
[x,y]が0に等しいと判定された場合、ステップS
72に進み、x座標が1だけインクリメントされる。そ
して、ステップS70に戻り、以下、ステップS70で
x座標がW未満でないと判定されるか、またはステップ
S71でマット値matte[x,y]が0に等しくな
いと判定されるまで、ステップS70乃至S72の処理
が繰り返される。
ける場合と同様に、変数xが、マット画像の横の画素数
W未満であるかどうかが判定される。ステップS70に
おいて、変数xが、マット画像の横の画素数W未満であ
ると判定された場合、ステップS71に進み、マット値
matte[x,y]が0に等しいかどうかが判定され
る。ステップS71において、マット値matte
[x,y]が0に等しいと判定された場合、ステップS
72に進み、x座標が1だけインクリメントされる。そ
して、ステップS70に戻り、以下、ステップS70で
x座標がW未満でないと判定されるか、またはステップ
S71でマット値matte[x,y]が0に等しくな
いと判定されるまで、ステップS70乃至S72の処理
が繰り返される。
【0142】そして、ステップS71において、マット
値matte[x,y]が0に等しくないと判定される
と、即ち、0でないマット値が現れると、ステップS4
8に戻り、以下、同様の処理が繰り返される。即ち、こ
れにより、ステップS52では、第y行を左から右に走
査していって、最初に現れる1のマット値のx座標が、
変数Xmin2[y]にセットされる。
値matte[x,y]が0に等しくないと判定される
と、即ち、0でないマット値が現れると、ステップS4
8に戻り、以下、同様の処理が繰り返される。即ち、こ
れにより、ステップS52では、第y行を左から右に走
査していって、最初に現れる1のマット値のx座標が、
変数Xmin2[y]にセットされる。
【0143】また、ステップS70において、x座標が
W未満でないと判定された場合、ステップS73に進
み、第2のバウンディングボックスの左側の境界のx座
標を表す変数Xmin2[y]に、第1のバウンディングボ
ックスとの関係で取り得ない値である、例えば、その右
側の境界のx座標を表す変数Xmax1[y]+1がセット
されるとともに、第2のバウンディングボックスの右側
の境界のx座標を表す変数Xmax2[y]に、第1のバウ
ンディングボックスとの関係で取り得ない値である、例
えば、その右側の境界のx座標を表す変数Xmax1[y]
がセットされる。そして、ステップS64に進み、以
下、上述の場合と同様の処理が繰り返される。
W未満でないと判定された場合、ステップS73に進
み、第2のバウンディングボックスの左側の境界のx座
標を表す変数Xmin2[y]に、第1のバウンディングボ
ックスとの関係で取り得ない値である、例えば、その右
側の境界のx座標を表す変数Xmax1[y]+1がセット
されるとともに、第2のバウンディングボックスの右側
の境界のx座標を表す変数Xmax2[y]に、第1のバウ
ンディングボックスとの関係で取り得ない値である、例
えば、その右側の境界のx座標を表す変数Xmax1[y]
がセットされる。そして、ステップS64に進み、以
下、上述の場合と同様の処理が繰り返される。
【0144】次に、図10は、領域設定部14におい
て、図9で説明した処理が行われることにより得られる
領域情報付きマット画像のデータフォーマットを示して
いる。なお、図10の実施の形態でも、図6における場
合と同様に、前景画像記憶部11に記憶された前景画像
を含む領域情報付きマット画像のデータフォーマットを
示している。
て、図9で説明した処理が行われることにより得られる
領域情報付きマット画像のデータフォーマットを示して
いる。なお、図10の実施の形態でも、図6における場
合と同様に、前景画像記憶部11に記憶された前景画像
を含む領域情報付きマット画像のデータフォーマットを
示している。
【0145】図10において、第1行目(上から1行
目)のWまたはHは、前景画像およびマット画像の横ま
たは縦の画素数をそれぞれ表している。また、第2行目
からのH行におけるXmin1[y],Xmin2[y],X
max2[y]、またはXmax1[y]は、マット画像の第y
行のラインにおける第1のバウンディングボックスの左
側の境界、第2のバウンディングボックスの左側の境
界、第2のバウンディングボックスの右側の境界、第1
のバウンディングボックスの右側の境界のx座標を、そ
れぞれ表している。そして、その後のW×H行には、図
6の第4行目以降と同様に、前景画像を構成する画素
(x,y)のR,G,B成分Rx,y,Gx,y,Bx, yと、
対応するマット値Mx,yとが配列されている。
目)のWまたはHは、前景画像およびマット画像の横ま
たは縦の画素数をそれぞれ表している。また、第2行目
からのH行におけるXmin1[y],Xmin2[y],X
max2[y]、またはXmax1[y]は、マット画像の第y
行のラインにおける第1のバウンディングボックスの左
側の境界、第2のバウンディングボックスの左側の境
界、第2のバウンディングボックスの右側の境界、第1
のバウンディングボックスの右側の境界のx座標を、そ
れぞれ表している。そして、その後のW×H行には、図
6の第4行目以降と同様に、前景画像を構成する画素
(x,y)のR,G,B成分Rx,y,Gx,y,Bx, yと、
対応するマット値Mx,yとが配列されている。
【0146】なお、図6や図10に示した領域情報付き
マット画像は、例えば、そこに含まれる前景画像を用い
た画像合成を複数回行うようなときに、特に有用であ
る。
マット画像は、例えば、そこに含まれる前景画像を用い
た画像合成を複数回行うようなときに、特に有用であ
る。
【0147】また、本実施の形態では、第1および第2
のバウンディングボックスを、左下および右下の頂点で
規定される矩形や、各ラインごとに設定された4つのx
座標Xmin1[y],Xmin2[y],Xmax2[y]、およ
びXmax1[y]によって表すようにしたが、第1および
第2のバウンディングボックスの表現形式は、特に限定
されるものではなく、マット画像上の点(画素)が与え
られたときに、その点が、第1および第2のバウンディ
ングボックスの内側、外側のいずれに位置するのかを判
断することができるものであれば良い。即ち、第1およ
び第2のバウンディングボックスの表現形式としては、
例えば、4分木(quad-tree)その他を用いることも可
能である。
のバウンディングボックスを、左下および右下の頂点で
規定される矩形や、各ラインごとに設定された4つのx
座標Xmin1[y],Xmin2[y],Xmax2[y]、およ
びXmax1[y]によって表すようにしたが、第1および
第2のバウンディングボックスの表現形式は、特に限定
されるものではなく、マット画像上の点(画素)が与え
られたときに、その点が、第1および第2のバウンディ
ングボックスの内側、外側のいずれに位置するのかを判
断することができるものであれば良い。即ち、第1およ
び第2のバウンディングボックスの表現形式としては、
例えば、4分木(quad-tree)その他を用いることも可
能である。
【0148】さらに、本実施の形態では、合成画像を、
背景画像に上書きする形で生成するようにしたが、合成
画像は、背景画像とは別に生成することも可能である。
但し、その場合、背景画像について、特に処理を行う必
要はないと説明した部分では、背景画像を、合成画像と
してコピーするようにする必要がある。
背景画像に上書きする形で生成するようにしたが、合成
画像は、背景画像とは別に生成することも可能である。
但し、その場合、背景画像について、特に処理を行う必
要はないと説明した部分では、背景画像を、合成画像と
してコピーするようにする必要がある。
【0149】また、本実施の形態では、前景画像および
背景画像として、RGB成分を有するものを用いるよう
にしたが、前景画像および背景画像としては、RGB以
外の、例えば、YIQその他で画素値が表現されるもの
を用いることが可能である。
背景画像として、RGB成分を有するものを用いるよう
にしたが、前景画像および背景画像としては、RGB以
外の、例えば、YIQその他で画素値が表現されるもの
を用いることが可能である。
【0150】さらに、本実施の形態では、ユーザからの
2頂点の入力に基づき、その2頂点で規定される矩形の
第1および第2のバウンディングボックスを設定するよ
うにしたが、その他、例えば、ユーザには、3頂点以上
を入力してもらい、その3頂点以上で規定される、矩形
以外の形状の第1および第2のバウンディングボックス
を設定するようにすることも可能である。
2頂点の入力に基づき、その2頂点で規定される矩形の
第1および第2のバウンディングボックスを設定するよ
うにしたが、その他、例えば、ユーザには、3頂点以上
を入力してもらい、その3頂点以上で規定される、矩形
以外の形状の第1および第2のバウンディングボックス
を設定するようにすることも可能である。
【0151】また、本実施の形態では、図3において、
半透明領域に外接する第1のバウンディングボックス、
および2頂点が完全透明領域に内接する第2のバウンデ
ィングボックスを設定するようにしたが、第1および第
2のバウンディングボックスの設定の仕方は、これに限
定されるものではない。即ち、第1のバウンディングボ
ックスは、半透明領域および完全不透明領域を包含する
ものであれば、半透明領域に外接していなくてもかまわ
ない。また、第2のバウンディングボックスは、完全不
透明領域の少なくとも一部のみを有するものであれば、
完全不透明領域に内接していなくてもかまわない。
半透明領域に外接する第1のバウンディングボックス、
および2頂点が完全透明領域に内接する第2のバウンデ
ィングボックスを設定するようにしたが、第1および第
2のバウンディングボックスの設定の仕方は、これに限
定されるものではない。即ち、第1のバウンディングボ
ックスは、半透明領域および完全不透明領域を包含する
ものであれば、半透明領域に外接していなくてもかまわ
ない。また、第2のバウンディングボックスは、完全不
透明領域の少なくとも一部のみを有するものであれば、
完全不透明領域に内接していなくてもかまわない。
【0152】さらに、本実施の形態では、CPU2に、
コンピュータプログラムを実行させることにより、画像
合成や領域情報付きマット画像の生成を行うようにした
が、これらの処理は、それ専用のハードウェアによって
行うことも可能である。
コンピュータプログラムを実行させることにより、画像
合成や領域情報付きマット画像の生成を行うようにした
が、これらの処理は、それ専用のハードウェアによって
行うことも可能である。
【0153】また、本実施の形態では、CPU2に実行
させるアプリケーションプログラムを、外部記憶装置7
に記憶させて提供するようにしたが、アプリケーション
プログラムは、例えば、インターネットその他の伝送媒
体を介して伝送して提供することも可能である。
させるアプリケーションプログラムを、外部記憶装置7
に記憶させて提供するようにしたが、アプリケーション
プログラムは、例えば、インターネットその他の伝送媒
体を介して伝送して提供することも可能である。
【0154】
【発明の効果】請求項1に記載の画像合成装置および請
求項8に記載の画像合成方法、並びに請求項9に記載の
提供媒体によれば、マット画像に対して、所定の範囲の
最小値でないマット値すべてを包含する第1の領域と、
所定の範囲の最大値のマット値のみからなる第2の領域
とが設定され、第1の領域の外部の領域、第1の領域の
うちの第2の領域でない領域、および第2の領域の3つ
の領域それぞれに対応する第1および第2の画像につい
て、画像合成のための合成処理が施される。従って、画
像の合成を、効率良く行うことが可能となる。
求項8に記載の画像合成方法、並びに請求項9に記載の
提供媒体によれば、マット画像に対して、所定の範囲の
最小値でないマット値すべてを包含する第1の領域と、
所定の範囲の最大値のマット値のみからなる第2の領域
とが設定され、第1の領域の外部の領域、第1の領域の
うちの第2の領域でない領域、および第2の領域の3つ
の領域それぞれに対応する第1および第2の画像につい
て、画像合成のための合成処理が施される。従って、画
像の合成を、効率良く行うことが可能となる。
【0155】請求項10に記載の画像生成装置および請
求項14に記載の画像生成方法、並びに請求項15に記
載の提供媒体によれば、マット画像に対して、所定の範
囲の最小値でないマット値すべてを包含する第1の領域
と、所定の範囲の最大値のマット値のみからなる第2の
領域とが設定される。また、請求項16に記載の提供媒
体によれば、マット画像における、所定の範囲の最小値
でないマット値すべてを包含する第1の領域と、所定の
範囲の最大値のマット値のみからなる第2の領域とを特
定するための特定情報とともに、マット画像が提供され
る。従って、効率良く画像の合成を行うことができるマ
ット画像を提供することが可能となる。
求項14に記載の画像生成方法、並びに請求項15に記
載の提供媒体によれば、マット画像に対して、所定の範
囲の最小値でないマット値すべてを包含する第1の領域
と、所定の範囲の最大値のマット値のみからなる第2の
領域とが設定される。また、請求項16に記載の提供媒
体によれば、マット画像における、所定の範囲の最小値
でないマット値すべてを包含する第1の領域と、所定の
範囲の最大値のマット値のみからなる第2の領域とを特
定するための特定情報とともに、マット画像が提供され
る。従って、効率良く画像の合成を行うことができるマ
ット画像を提供することが可能となる。
【図1】本発明を適用した画像処理装置の一実施の形態
の構成例を示すブロック図である。
の構成例を示すブロック図である。
【図2】図1の画像処理装置の機能的構成例を示すブロ
ック図である。
ック図である。
【図3】第1および第2のバウンディングボックスの設
定方法を説明するため図である。
定方法を説明するため図である。
【図4】図2の画像処理装置の処理を説明するためのフ
ローチャートである。
ローチャートである。
【図5】図4のステップS5の処理のより詳細を説明す
るためのフローチャートである。
るためのフローチャートである。
【図6】領域情報付きマット画像のフォーマットを示す
図である。
図である。
【図7】第1および第2のバウンディングボックスの他
の設定方法を説明するための図である。
の設定方法を説明するための図である。
【図8】図2の画像処理装置の処理を説明するためのフ
ローチャートである。
ローチャートである。
【図9】図8のステップS32の処理のより詳細を説明
するためのフローチャートである。
するためのフローチャートである。
【図10】領域情報付きマット画像のフォーマットを示
す図である。
す図である。
【図11】バウンディングボックスを使用した従来の画
像合成を説明するための図である。
像合成を説明するための図である。
【図12】バウンディングボックスを用いた従来の画像
合成を説明するためのフローチャートである。
合成を説明するためのフローチャートである。
【図13】図12のステップS84の処理のより詳細を
説明するためのフローチャートである。
説明するためのフローチャートである。
1 ROM, 2 CPU, 3 RAM, 4 入力
装置(操作手段),5 出力装置, 6 外部I/F,
7 外部記憶装置, 11 前景画像記憶部, 12
背景画像記憶部, 13 マット画像記憶部, 14
領域設定部(設定手段)(出力手段), 15 レン
ダリング部(処理手段)
装置(操作手段),5 出力装置, 6 外部I/F,
7 外部記憶装置, 11 前景画像記憶部, 12
背景画像記憶部, 13 マット画像記憶部, 14
領域設定部(設定手段)(出力手段), 15 レン
ダリング部(処理手段)
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B057 CA01 CA08 CB01 CB08 CC03 CE08 5B080 DA07 DA08 FA03 FA17 5C023 AA16 BA02 BA13 CA03 CA08 DA02 DA03 DA08 5C076 AA01 AA12
Claims (16)
- 【請求項1】 第1の画像と第2の画像とを、所定の範
囲の値によって、前記第1の画像の不透明度を表すマッ
ト値からなるマット画像にしたがって合成する画像合成
装置であって、 前記マット画像に対して、前記所定の範囲の最小値でな
いマット値すべてを包含する第1の領域と、前記所定の
範囲の最大値のマット値のみからなる第2の領域とを設
定する設定手段と、 前記第1の領域の外部の領域、前記第1の領域のうちの
前記第2の領域でない領域、および前記第2の領域の3
つの領域それぞれに対応する前記第1および第2の画像
について、画像合成のための合成処理を施す処理手段と
を備えることを特徴とする画像合成装置。 - 【請求項2】 前記処理手段は、前記第1の領域の外部
の領域に対応する前記第1および第2の画像について、
その第2の画像をコピーする処理を施すことを特徴とす
る請求項1に記載の画像合成装置。 - 【請求項3】 前記処理手段は、前記第1の領域のうち
の前記第2の領域でない領域に対応する前記第1および
第2の画像について、その第1および第2の画像を、前
記マット値にしたがって合成する処理を施すことを特徴
とする請求項1に記載の画像合成装置。 - 【請求項4】 前記処理手段は、前記第2の領域に対応
する前記第1および第2の画像について、その第1の画
像をコピーする処理を施すことを特徴とする請求項1に
記載の画像合成装置。 - 【請求項5】 前記処理手段は、前記第2の領域に対応
する前記第1の画像の連続する画素群を、一括でコピー
することを特徴とする請求項4に記載の画像合成装置。 - 【請求項6】 前記第1および第2の領域を指定すると
きに操作される操作手段をさらに備え、 前記設定手段は、前記操作手段の操作に対応して、前記
第1および第2の領域を設定することを特徴とする請求
項1に記載の画像合成装置。 - 【請求項7】 前記設定手段は、前記マット画像を構成
するマット値に基づいて、前記第1および第2の領域を
設定することを特徴とする請求項1に記載の画像合成装
置。 - 【請求項8】 第1の画像と第2の画像とを、所定の範
囲の値によって、前記第1の画像の不透明度を表すマッ
ト値からなるマット画像にしたがって合成する画像合成
方法であって、 前記マット画像に対して、前記所定の範囲の最小値でな
いマット値すべてを包含する第1の領域と、前記所定の
範囲の最大値のマット値のみからなる第2の領域とを設
定する設定ステップと、 前記第1の領域の外部の領域、前記第1の領域のうちの
前記第2の領域でない領域、および前記第2の領域の3
つの領域それぞれに対応する前記第1および第2の画像
について、画像合成のための合成処理を施す処理ステッ
プとを備えることを特徴とする画像合成方法。 - 【請求項9】 第1の画像と第2の画像とを、所定の範
囲の値によって、前記第1の画像の不透明度を表すマッ
ト値からなるマット画像にしたがって合成する処理を、
情報処理装置に行わせるための制御情報を提供する提供
媒体であって、 前記マット画像に対して、前記所定の範囲の最小値でな
いマット値すべてを包含する第1の領域と、前記所定の
範囲の最大値のマット値のみからなる第2の領域とを設
定する設定ステップと、 前記第1の領域の外部の領域、前記第1の領域のうちの
前記第2の領域でない領域、および前記第2の領域の3
つの領域それぞれに対応する前記第1および第2の画像
について、画像合成のための合成処理を施す処理ステッ
プとを備える制御情報を提供することを特徴とする提供
媒体。 - 【請求項10】 第1の画像と第2の画像とを合成する
ときに用いられる、所定の範囲の値によって、前記第1
の画像の不透明度を表すマット値からなるマット画像を
生成する画像生成装置であって、 前記マット画像に対して、前記所定の範囲の最小値でな
いマット値すべてを包含する第1の領域と、前記所定の
範囲の最大値のマット値のみからなる第2の領域とを設
定する設定手段と、 前記第1および第2の領域を特定するための特定情報
を、前記マット画像とともに出力する出力手段とを備え
ることを特徴とする画像生成装置。 - 【請求項11】 前記第1および第2の領域を指定する
ときに操作される操作手段をさらに備え、 前記設定手段は、前記操作手段の操作に対応して、前記
第1および第2の領域を設定することを特徴とする請求
項10に記載の画像生成装置。 - 【請求項12】 前記設定手段は、前記マット画像を構
成するマット値に基づいて、前記第1および第2の領域
を設定することを特徴とする請求項10に記載の画像生
成装置。 - 【請求項13】 前記出力手段は、前記特定情報を、前
記マット画像および第1の画像とともに出力することを
特徴とする請求項10に記載の画像生成装置。 - 【請求項14】 第1の画像と第2の画像とを合成する
ときに用いられる、所定の範囲の値によって、前記第1
の画像の不透明度を表すマット値からなるマット画像を
生成する画像生成方法であって、 前記マット画像に対して、前記所定の範囲の最小値でな
いマット値すべてを包含する第1の領域と、前記所定の
範囲の最大値のマット値のみからなる第2の領域とを設
定する設定ステップと、 前記第1および第2の領域を特定するための特定情報
を、前記マット画像とともに出力する出力ステップとを
備えることを特徴とする画像生成方法。 - 【請求項15】 第1の画像と第2の画像とを合成する
ときに用いられる、所定の範囲の値によって、前記第1
の画像の不透明度を表すマット値からなるマット画像を
生成する処理を、情報処理装置に行わせるための制御情
報を提供する提供媒体であって、 前記マット画像に対して、前記所定の範囲の最小値でな
いマット値すべてを包含する第1の領域と、前記所定の
範囲の最大値のマット値のみからなる第2の領域とを設
定する設定ステップと、 前記第1および第2の領域を特定するための特定情報
を、前記マット画像とともに出力する出力ステップとを
備える制御情報を提供することを特徴とする提供媒体。 - 【請求項16】 第1の画像と第2の画像とを合成する
ときに用いられる、所定の範囲の値によって、前記第1
の画像の不透明度を表すマット値からなるマット画像を
提供する提供媒体であって、 前記マット画像における、前記所定の範囲の最小値でな
いマット値すべてを包含する第1の領域と、前記所定の
範囲の最大値のマット値のみからなる第2の領域とを特
定するための特定情報とともに、前記マット画像を提供
することを特徴とする提供媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10326455A JP2000151982A (ja) | 1998-11-17 | 1998-11-17 | 画像合成装置および画像合成方法、画像生成装置および画像生成方法、並びに提供媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP10326455A JP2000151982A (ja) | 1998-11-17 | 1998-11-17 | 画像合成装置および画像合成方法、画像生成装置および画像生成方法、並びに提供媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2000151982A true JP2000151982A (ja) | 2000-05-30 |
Family
ID=18188013
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP10326455A Withdrawn JP2000151982A (ja) | 1998-11-17 | 1998-11-17 | 画像合成装置および画像合成方法、画像生成装置および画像生成方法、並びに提供媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2000151982A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001202504A (ja) * | 2000-01-21 | 2001-07-27 | Seiko Epson Corp | 画像処理プログラムを記録した媒体、画像処理装置、印刷装置および画像処理方法 |
JP2005189663A (ja) * | 2003-12-26 | 2005-07-14 | Matsushita Electric Ind Co Ltd | マルチレイヤ画像合成装置 |
JP2009032290A (ja) * | 2008-10-27 | 2009-02-12 | Namco Bandai Games Inc | プログラム、情報記憶媒体及び画像生成システム |
JP2009071737A (ja) * | 2007-09-14 | 2009-04-02 | Ricoh Co Ltd | 画像処理装置、画像処理システム、画像処理方法、プログラム、および記録媒体 |
-
1998
- 1998-11-17 JP JP10326455A patent/JP2000151982A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001202504A (ja) * | 2000-01-21 | 2001-07-27 | Seiko Epson Corp | 画像処理プログラムを記録した媒体、画像処理装置、印刷装置および画像処理方法 |
JP2005189663A (ja) * | 2003-12-26 | 2005-07-14 | Matsushita Electric Ind Co Ltd | マルチレイヤ画像合成装置 |
JP2009071737A (ja) * | 2007-09-14 | 2009-04-02 | Ricoh Co Ltd | 画像処理装置、画像処理システム、画像処理方法、プログラム、および記録媒体 |
US8223397B2 (en) | 2007-09-14 | 2012-07-17 | Ricoh Company, Limited | Image processing apparatus, image processing method, and recording medium |
JP2009032290A (ja) * | 2008-10-27 | 2009-02-12 | Namco Bandai Games Inc | プログラム、情報記憶媒体及び画像生成システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4532605A (en) | True zoom of a displayed image | |
KR960006526B1 (ko) | 화상처리장치 및 그 외부 기억장치 | |
KR100349483B1 (ko) | 폴리곤이분할되는화상처리 | |
JP2000149053A (ja) | ブレンディング処理を含む画像処理装置及びその方法 | |
CN101606179B (zh) | 用于遮罩、选择和路径的通用前端 | |
TW200529097A (en) | Image rendering with multi-level z-buffers | |
EP1031946A2 (en) | Recording medium,Image processing method and unit with integrated shaping model data | |
TW472214B (en) | Image processing apparatus, recording medium, and program | |
JP3547250B2 (ja) | 描画方法 | |
JP2000151982A (ja) | 画像合成装置および画像合成方法、画像生成装置および画像生成方法、並びに提供媒体 | |
JPS6282472A (ja) | 画像処理方法 | |
JP2000322601A (ja) | 画像生成方式 | |
JP4769230B2 (ja) | 画像処理装置および画像処理方法、並びにプログラム | |
JP2000331175A (ja) | 輪郭線生成用データ生成方法及び装置、記録システム、該データの記録されたコンピュータ可読実行媒体、並びに該データに基づいてオブジェクトに輪郭を付すエンタテインメント・システム | |
JPH0816816A (ja) | コンピュータグラフィックス表示方法 | |
JP3798561B2 (ja) | 画像表示制御装置 | |
JP2713677B2 (ja) | カラー画像色変更処理方式とカラー画像合成処理方式 | |
JP3652586B2 (ja) | 画像描画システム | |
JPH07131817A (ja) | 画像合成方法及び画像合成装置 | |
JP3255549B2 (ja) | 図形処理方法 | |
JP3453410B2 (ja) | 画像処理装置及びその方法 | |
JPH1032712A (ja) | 画像処理装置 | |
JPH0737083A (ja) | 画像処理装置及び方法 | |
JP3585036B2 (ja) | 画像生成方法 | |
JPH08329280A (ja) | 画像合成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060207 |