(57)【特許請求の範囲】
【請求項１】
入力される動画像から人物の顔画像を抽出する画像処理装置であって、
前記入力される動画像に基づいて動き物体領域からなる矩形領域を抽出する矩形領域抽出手段と、
前記矩形領域抽出手段によって抽出された矩形領域内の顔画像の特徴による精密座標を抽出する顔画像特徴抽出手段とを備え、
前記矩形領域抽出手段は、前フレームと現フレームの画像の差に基づいて矩形領域を抽出するとき、前フレーム矩形領域外の動き成分を判定するためのしきい値を矩形領域内の動き成分を判定するためのしきい値よりも感度を低く設定したことを特徴とする、画像処理装置。
【請求項２】
前記矩形領域抽出手段は、前記前フレームと現フレーム間の動き画素量が少ないときに、前フレームの画像により矩形領域を抽出して出力することを特徴とする、請求項１に記載の画像処理装置。
【請求項３】
前記顔画像特徴抽出手段は、前記矩形領域内の顔画像の特徴を抽出するために顔幅を判定するとき、顔幅検索範囲を頭頂座標から画面最下座標までの１／２の位置の矩形座標の左右幅に設定することを特徴とする、請求項１に記載の画像処理装置。
【請求項４】
前記顔画像特徴抽出手段は、顔幅を判定するとき、鼻成分を避けて実際の顔幅よりも狭い領域を精密座標として判定しないことを特徴とする、請求項３に記載の画像処理装置。
【請求項５】
前記顔画像特徴抽出手段は、顔画像特徴抽出による精密座標抽出ができなかったとき、ある決められた大きさの領域を矩形領域とすることを特徴とする、請求項１に記載の画像処理装置。
【請求項６】
前記顔画像特徴抽出手段は、前記顔画像特徴抽出による精密座標抽出ができなかったとき、画面全体を矩形領域とすることを特徴とする、請求項１に記載の画像処理装置。
【請求項７】
さらに、前記矩形領域抽出手段によって現フレームで動き画素より算出された矩形領域座標と、前フレームの矩形領域座標の値にローパスフィルタをかけて動き物体が画面内で急激に移動した場合でも滑らかに矩形領域が動き物体に追従させるようにしたことを特徴とする、請求項１に記載の画像処理装置。
【請求項８】
前記矩形領域抽出手段は、画面内の端の領域に有効な顔画像が存在しないとして求められた矩形領域座標値に対してクリッピング処理を行なうことを特徴とする、請求項１に記載の画像処理装置。
【請求項９】
前記顔画像特徴抽出手段は、顔画像特徴抽出による精密座標判定のための顔幅を判定するとき、前フレームで求めた精密座標と現フレームで求めた精密座標の値の差があるしきい値内であれば前フレームで算出した精密座標を現フレームの精密座標とすることを特徴とする、請求項１に記載の画像処理装置。
【請求項１０】
前記顔画像特徴抽出手段は、顔画像特徴抽出による精密座標判定のための顔幅を判定するとき、現フレームで求めた精密座標の値と過去数フレームの精密座標の値の平均値の差があるしきい値内であれば過去数フレームの精密座標の値の平均値を現フレームの精密座標値とすることを特徴とする、請求項１に記載の画像処理装置。
【請求項１１】
前記顔画像特徴抽出手段によって抽出された精密座標内の色分布標準偏差に基づいて前記入力される動画像の肌色領域を前記人物の顔画像として抽出する肌色領域抽出手段をさらに備える、請求項１〜１０のいずれか１項に記載の画像処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は画像処理装置に関し、特に、動画像符号化技術を使用し、動画像符号化技術の中でもＴＶ電話などのような対象画像内に人物などの顔画像が含まれるような画像を処理する画像処理装置に関する。
【０００２】
【従来の技術】
画像処理装置による顔画像特徴抽出技術としては、たとえば特開平７−２９０１４号公報に記載されているように、動きオブジェクトを人物の領域として矩形領域を抽出し、抽出した矩形領域内から顔画像の特徴によりさらに顔領域の肌色領域を抽出するものがある。
【０００３】
【発明が解決しようとする課題】
しかしながら、上述の特開平７−２９０１４号公報に記載された発明では、動き要素判定による動き領域抽出というアルゴリズムから生じる、人物領域以外の動き成分を誤って抽出してしまうおそれがある。また、顔画像内の縦エッジ成分を顔の両幅とすることから、鼻領域の縦エッジを顔の右頬もしくは左頬として誤って認識してしまうこともある。さらに、ハードウェアで顔画像領域抽出技術を実現する場合でなく、プロセッサなどのソフトウェアで実現する場合の不要演算によりシステム全体のパフォーマンスが低下するなどの問題点があった。
【０００４】
それゆえに、この発明の主たる目的は、動き画素による動き矩形領域抽出や矩形領域内の顔特徴抽出による顔の精密座標抽出技術において、抽出性能の向上と誤抽出の低減を図られるような画像処理装置を提供することである。
【０００５】
【課題を解決するための手段】
請求項１に係る発明は、入力される動画像から人物の顔画像を抽出する画像処理装置であって、入力される動画像に基づいて動き物体領域からなる矩形領域を抽出する矩形領域抽出手段と、抽出された矩形領域内の顔画像の特徴による精密座標を抽出する顔画像特徴抽出手段とを備え、矩形領域抽出手段は前フレームと現フレームの画像の差に基づいて矩形領域を抽出するとき、前フレーム矩形領域外の動き成分を判定するためのしきい値を矩形領域内の動き成分を判定するためのしきい値よりも感度を低く設定することにより、矩形領域の判定精度を向上させる。
【０００６】
請求項２に係る発明では、請求項１の矩形領域抽出手段は前フレームと現フレーム間の動き画素量が少ないときは前フレームの画像により矩形領域を抽出して出力することにより、対象人物領域外に矩形領域が移動しにくくすることで矩形領域の判定精度を向上させる。
【０００７】
請求項３に係る発明では、請求項１の顔画像特徴抽出手段は、矩形領域内の顔画像の特徴を抽出するために顔幅を判定するとき、顔幅検索範囲を頭頂座標から画面最下座標までの１／２の位置の矩形座標の左右幅に設定することにより、精密座標検索の精度と演算の高効率化を図る。
【０００８】
請求項４に係る発明では、請求項１の顔画像特徴抽出手段は顔幅を判定するとき、鼻成分を避けて実際の顔幅よりも狭い領域を精密座標として判定しないようにする。
【０００９】
請求項５に係る発明では、請求項１の顔画像特徴抽出手段は顔画像特徴抽出による精密座標抽出が失敗した場合、ある決められた大きさの領域を矩形領域とすることにより、矩形領域外に顔画像が存在することを低減する。
【００１０】
請求項６に係る発明では、顔画像特徴抽出による精密座標抽出が失敗した場合、画面全体を矩形領域とすることで矩形領域外に顔画像が存在することをなくす。
【００１１】
請求項７に係る発明では、矩形領域抽出手段による現フレームで動き画素より算出された矩形領域座標と、前フレームの矩形領域座標の値にローパスフィルタをかけ、動き物体が画面内で急激に移動した場合でも滑らかに矩形領域が動き物体に追従するようにする。
【００１２】
請求項８に係る発明では、画面内の端の領域には有効な顔画像が存在しないとして求められた矩形領域座標値に対してクリッピング処理を行なうことによって、後の精密座標抽出時の精度向上と演算量削減を行なう。
【００１３】
請求項９に係る発明では、顔画像特徴抽出による精密座標判定のための顔幅判定時に、前フレームで求めた精密座標と現フレームで求めた精密座標の値の差があるしきい値内であれば前フレームで算出した精密座標を現フレームの精密座標として採用することにより、精密座標が見失われることを避ける。
【００１４】
請求項１０に係る発明では、顔画像特徴抽出による精密座標判定のための顔幅を判定するとき、現フレームで求めた精密座標の値と過去数フレームの精密座標の値の平均値の差があるしきい値内であれば、過去数フレームの精密座標の値の平均値を現フレームの精密座標値として採用することにより、精密座標が見失われるのを避ける。
請求項１１に係る発明では、顔画像特徴抽出手段によって抽出された精密座標内の色分布標準偏差に基づいて入力される動画像の肌色領域を人物の顔画像として抽出する肌色領域抽出手段をさらに備え、顔画像特徴抽出手段によって抽出できなかった肌色領域をも含む顔画像を抽出できる。
【００１５】
【発明の実施の形態】
図１はＨ．２６１／Ｈ．２６３画像エンコーダと顔領域抽出部の関係を示すブロック図である。図１において、符号化器に入力されたＣＩＦ画像データは、顔領域抽出部１０１と減算器１０３とスイッチ１０４の一方の入力端ａと予測メモリ１１２とにそれぞれ与えられる。減算器１０３は入力された画像データから、ループ内フィルタ１１１の出力するビデオ信号を減算し、その差分データはスイッチ１０４の他方の入力端ｂに与えられる。スイッチ１０５は２つの入力端ａとｂとを有し、入力端ｂにもループ内フィルタ１１１の出力が与えられる。スイッチ１０５はスイッチ１０４とともに符号化制御部１０２の切換制御信号によって同期して切換えられる。
【００１６】
変換器１０７はスイッチ１０４で切換えられたフレーム内のビデオ信号とフレーム間のビデオ信号のいずれかをＤＣＴ（Discrete Cosine Transform ：離散コサイン変換）し、その出力は量子化器１０８に与えられる。量子化器１０８は変換器１０７のデータを量子化し、量子化インデックスｑを出力するとともに、この量子化インデックスｑを逆量子化器１０９に出力する。
【００１７】
逆量子化器１０９は生成された量子化インデックスｑを逆量子化し、逆変換器１１０に与える。逆変換器１１０は逆量子化器１０９で逆量子化されたデータを逆変換し、その出力を加算器１０６に与える。
【００１８】
加算器１０６はスイッチ１０５を介して与えられるループ内フィルタ１１１の出力である前フレームのビデオ信号に差分データを加算し、その出力を予測メモリ１１２に与える。予測メモリ１１２は数フレーム分の画像データを保持するとともに、前フレームの画像に対する各ブロックの画像の動きを動きベクトルｖとして出力する。ループ内フィルタ１１１は予測メモリ１１２に保持された画像における歪みをスムージングにより除去するフィルタであり、その動作の有無を示すオン／オフ信号ｆを出力する。
【００１９】
符号化制御部１０２はスイッチ１０４，１０５に切換制御信号を出力するとともに、量子化器１０８に対して量子化特性指定情報ｑｚを指示し、フレーム間／フレーム内符号化識別フラグｐと伝送／非伝送識別フラグｔをそれぞれ発生する。顔領域抽出部１０１では、フレーム内の画像データから顔領域の特徴となる領域を抽出し、座標を符号化制御部１０２に出力する。
【００２０】
以下に、顔領域の判定方法について説明する。顔領域抽出は大きく分けて物体の動きに着目した動きベースによる顔抽出と、顔の色からの色ベースによる肌色抽出の２つの処理で構成される。
【００２１】
図２は顔領域抽出の大まかな流れを示すフローチャートである。図２において、まず始めにステップ（図示ではＳＰと略称する）ＳＰ１において、動きベースによる顔領域で抽出する Still Countを０に初期化する。また、PreNoMv を１０００に初期化する。ステップＳＰ２において画像フレームが取込まれ、ステップＳＰ３で顔・肌色抽出処理の第１次段階として、動きを利用して顔領域が抽出される。ここで得られた顔領域の情報が次の処理の色ベースによる肌色抽出で使用される。そして、ステップＳＰ４で肌色の抽出の実施であるか否かが判別され、そうであればステップＳＰ５で色ベースによる肌色が抽出され、ステップＳＰ６でプリフィルタ処理がされた後、ステップＳＰ７で１フレームの画像符号化が行なわれる。
【００２２】
次に、動きベースによる顔領域の位置をもとに、動きベースによる顔抽出において抽出できなかった顔以外の肌色領域、たとえば、手，腕，首などの領域を動き物体の中から抽出する動作について説明する。
【００２３】
ここで、動きベースによる顔領域抽出の具体的な動作について説明すると、抽出対象となる顔領域は動き物体であり、動き領域の頂上が頭頂であるという特徴を用いて顔領域の抽出が行なわれる。
【００２４】
図３および図４は動きベースによる顔抽出の動作を示すフローチャートであり、図５は縮小画像の作成を示す図である。
【００２５】
はじめに、処理の高速化および細かな動きを除去して有効な働きを得るために、図３のステップＳＰ１１において現フレームおよび前フレームの入力画像の輝度成分からなるＹ画像を縮小する。縮小画像の大きさは入力画像の大きさにかかわらず、表１に示すように４４×３６画素である。
【００２６】
【表１】
0003725996.tif 000002
【００２７】
図５に示すように、入力画像がＣＩＦのときは８×８画素の平均、ＱＣＩＦおよびＳＱＣＩＦのときは４×４画素の平均を求め、縮小画像の１画素とする。ただし、ＳＱＣＩＦの場合は縮小後の大きさが３２×２４画素であるので、その外側に相当する部分に０を入れて縮小画像の大きさを４４×３６画素にする。現在のフレームの１つ前のフレームを前フレームとすることで、前フレームの縮小画像とする。すなわち、現フレームの縮小画像と前フレームの縮小画像はダブルバッファ構成でピンポン動作する。
【００２８】
次に、前フレームと現フレームの縮小画像の差を検出することで、動き画像を抽出する。雑音による動き画素の抽出を防ぐために、過去の数フレームの動き画素の履歴を参照し、あるしきい値上であったとき有意と判断し、その画素を動き画素として抽出する。
【００２９】
図６は図３のステップＳＰ１２に示すオブジェクトマスク作成の動作をより具体的に示すフローチャートであり、図７は動き履歴のアップデートを示す図であり、図８は動き画素判定しきい値適応領域を示す図であり、図９は３×３画素のウィンドウによる拡大処理を示す図であり、図１０は３×３画素のウィンドウによる縮小処理を示す図である。
【００３０】
次に、図７〜図１０を参照して、オブジェクトマスクの作成について説明する。図６のステップＳＰ４１において、前フレームの縮小画素の輝度値を PrevYi,j とし、現フレームの縮小画像の輝度値を CurrYi,j としたとき、次の第（１）式のようにそれぞれの画素の差ＡＢＳi,j を求める。
【００３１】
ABSi,j ＝｜ PrevYi,j − CurrYi,j ｜  …（１）
次に、ステップＳＰ４２において、縮小画像における画素の位置ｉ，ｊに対する各Ｎフレームの動きの履歴 HISi,j をアップデートする。 HISi,j が過去の１フレーム単位で１ビットごとに記憶されているとしてアップデート前の HISi,j を図７（ａ）とする。このとき、現フレームＴに最も時間的に近い過去のフレームはＴ−１であり、Ｎフレームの過去のフレームはＴ−Ｎとなる。ここで、動き画素を１とし、静止画素を０とすると、Ｔ−ＮフレームからＴ−１フレームまでの履歴は順に、“１，０，１，…，０，１，１”となる。
【００３２】
これに対して、アップデートを行なうことは左へ１ビットシフトすることであり、その結果図７（ｂ）に示すようにこれから処理を行なう現フレームのビット位置Ｔに新しい動き情報が入力できるように空きができ、過去の履歴はＴ−Ｎフレーム目の履歴画素であり、ＴフレームからＴ−Ｎ＋１フレームまでの“０，１，０，…，１，１，Ｘ”のビット列となる。なお、この動きの履歴は各画素を８ビットとする。
【００３３】
このようにして得られた ABSi,j をステップＳＰ４３でそのしきい値ＴＨｙによりその画素が動き画素か、動き画素でない（静止画素）かを判定する。
【００３４】
この発明の実施形態では、画面内の動き画素に、符号化すべき最も重要な要素（すなわち話者）があるとしている。よって、話者の背後で、話者とは別な動き対象があった場合は、話者とは別な対象にトラッキングしてしまう。
【００３５】
これを避けるために、以下の２つの操作が行なわれる。
すなわち、図８に示すように、画面の周囲には通話者がいることはないとし、画面の周囲のオブジェクトマスクを作成しない（上下左右とも、約１／１０の領域）。
【００３６】
動き判定しきい値を２種設ける。そして、話者の含まれる領域には感度の良いしきい値を適用し、それ以外の領域は感度を落としたしきい値を適用する。また、話者の含まれる領域とは、前フレームにて抽出された矩形領域をＸ方向にexp const X ，Y 方向にexp const Y だけ拡げた領域とする。ここで、exp const X ，exp const Y は例として、それぞれexp const X=4, exp const Y=8とする。すなわち、次の第（２）式を満足するときは、ステップＳＰ４４で CurrYi,j を動き画素とし、満足しない場合はステップＳＰ４５で静止画素とする。
【００３７】
ABSi,j > THy sense （前フレーム矩形領域内画素）
ABSi,j > THy insense （前フレーム矩形領域外画素）
…（２）
なお、THy sense,THy insense は例として、実際のフレームレートが７より小さいときはTHy sense を３とし、THy insense を１２とし、７以上のときはTHy sense を５とし、THy insense を２０とする。
【００３８】
判定された結果は、動きの履歴の現フレームの位置（LSB の位置、図７（ｂ）のＸで示す部分）に１あるいは０を書込む。
【００３９】
次に、 CurrYi,j の画素が過去Ｎフレームにおいて動き画素と判定された数 MvFramei,j を求めるために HISi,j のＮフレーム分の和を算出する。これは図７（ｂ）においてＴからＴ−Ｎ＋１までの HISi,j の位置の合計を算出して MvFramei,j とする。ここで、Ｎは８である。
【００４０】
次に、過去Ｎフレームにおける MvFramei,j の値からオブジェクト画素抽出のしきい値THobj により、
MvFramei,j > THobj   …（３）
第（３）式を満足する場合は、有意な動きがあると判定してオブジェクト画素として抽出する。なお、オブジェクト画素には、ステップＳＰ４８で１を与え、それ以外にはステップＳＰ４９で０を与える。また、THobj は例として３とする。ステップＳＰ５０で１フレーム分の処理が終了したことを判別すると、図３のステップＳＰ１３に戻り、オブジェクトマスク抽出において抽出されたオブジェクト画素の数をカウントしてNoMvとする。
【００４１】
たとえば、ＴＶ電話などの利用形態において、顔領域は通常は画面のほぼ中央に位置し、ＴＶ電話の利用中には大きく位置が変化することはない。よって、画面全体の中で画素の動き量NoMvが小さくなった場合には、顔領域抽出処理のオブジェクトマスクの拡大処理以降のラベル付けやエッジ抽出処理などといった演算をスキップし、矩形領域座標，オブジェクトマスク，エッジ画像を前回のフレームで求めた値を使うことで演算量の大幅な削減ができ、フレームレートの向上を図ることができる。ただし、始めの１０フレーム目までは顔位置が完全に定まっていないとし、スキップを行なわない。すなわち、ステップＳＰ１４で次の第（４）式を満足することを判別した場合は、オブジェクトマスク拡大処理以降をスキップする。
【００４２】
NoMv < THjudge and FrameCount > 10  …（４）
ここで、THjudge は例として１００とする。
【００４３】
また、矩形座標抽出処理以降の精密座標抽出，FaceMap 作成，HueMap作成処理のため、スキップ演算判定フラグ“Bypass flag ”を設ける。すなわち、
演算スキップ判別されたとき Bypass flag = 1
演算スキップ判定されなかったとき Bypass flag = 0
…（５）
ステップＳＰ１５でBypass flag が１の場合、矩形座標抽出処理，精密座標抽出，FaceMap 作成，HueMap作成処理では、前フレームで求めた値を返り値として使用する。
【００４４】
ステップＳＰ１６でBypass flag = 0 を０に設定し、オブジェクトマスクには、ホールや欠けが存在するため、それらを埋める処理として、ステップＳＰ１７において３×３画素のウィンドウを用いた拡大を実施する。これは、図９に示すように、オブジェクトマスクの各画素に３×３画素のウィンドウを設定して中心の画素がオブジェクト画素であるときにその８近傍をすべてオブジェクト画素とすることにより拡大が行なわれる。
【００４５】
また、SubQCIF の縮小画像は３２×２４であり、ＣＩＦ／ＱＣＩＦの縮小画像（４４×３６）よりも小さい。このため、SubQCIF のオブジェクト画素１画素が実画像で対応する領域は、ＣＩＦ／ＱＣＩＦのオブジェクト画素の１画素が実画像で対応する領域よりも大きくなる。よって、SubQCIF の場合だけ、拡大処理後に３×３画素ウィンドウを用いた縮小を実施する。
【００４６】
これは、図１０に示すように、オブジェクトマスクの各画素に３×３画素のウィンドウを設定して、中心の画素がオブジェクト画素でなかったときに、その８近傍すべてをオブジェクト画素としないことから縮小を行なう。
【００４７】
この発明の一実施形態のアルゴリズムでは、動き物体を顔領域と定義しているため、顔が静止したときにはこれらの領域の抽出ができなくなる。したがって、その場合には前フレームの領域を顔領域として使用することで動きがなくなった場合でも顔領域の消失を防ぐようにする必要がある。そのために、前フレームの動き量と現フレームの動き量との関係から動きしきい値THmvを算出する。
【００４８】
図１１は図３に示すステップＳＰ１８のTHmv算出の動作をより具体的に示すフローチャートであり、図１２は最大領域の抽出を示す図であり、図１３は頭頂の検出を示す図である。
【００４９】
THmvからオブジェクトマスクの論理和処理判定として動きが少なくなったときのオブジェクトマスクの消失を防ぐために、NoMvの値から次の第（６）式によってオブジェクトマスクの論理和を判定する。
【００５０】
NoMv < THmv  …（６）
ステップＳＰ１９において第（６）式を満足するとき、ステップＳＰ２０で前フレームのオブジェクトマスクと現フレームのオブジェクトマスクの論理和をとり、これを新たな現フレームのオブジェクトマスクとする。第（６）式を満足しない場合は、論理和処理を行なわず、次に示すオブジェクトマスクの抽出処理に進む。
【００５１】
画面には多くの動物体が存在する場合があり、その中から抽出の対象だけを選択する必要がある。たとえば、テレビ電話などにおいては、対象者がカメラに最も近い位置に立つ確率が高いので、ここでは最も大きい連結領域をオブジェクトマスクから切り離す。
【００５２】
この発明の一実施形態では、図１２に示すように、縦方向に４画素ごとに区切ったスリット内における画素の合計のｘ軸への投影を行なってラベル付けを実施することにより、ステップＳＰ２１で最大領域を抽出する。さらに、最大領域の左端，右端のスリットにおいて左端のスリットのときはそのスリットの左端の座標を求め、右端のスリットのときはそのスリットの右端の座標をそれぞれXa，Xbとして求めておく。このとき、最大領域の画素数が同じものが複数あった場合は、一番左端のものを最大領域とする。
【００５３】
現フレームのオブジェクトマスクに存在するホールや欠けを埋めるために、ステップＳＰ２２で３×３画素のウィンドウによる拡大処理を実施する。拡大の方法は前述の図９と同様である。なお、拡大前のオブジェクトマスクは次のフレームでの処理に利用するため、拡大されたオブジェクトマスクを別のエリアに書込む。したがって、拡大前のオブジェクトマスクが次フレーム処理で前フレームのオブジェクトマスクとなる。そのために、現フレームのオブジェクトマスクと前フレームのオブジェクトマスクは、縮小画像と同様にダブルバッファ構成でピンポン動作となる。
【００５４】
前述のごとく求めた最大領域の左端，右端の座標Xa，Xbの間においてステップＳＰ２３で頭頂を検出する。図１３において頭頂がオブジェクトマスクの最上部なので、まずXaとXbに挟まれるオブジェクトマスクの横方向の４画素ごとの画素の合計をＹ軸方向に投影する。次いで、投影した画像を上から調べ、最初にしきい値THtop 以上となるスリットにおいて、そのスリットの左上から右下へ走査し、最初に検出されるＹ座標を頭頂のＹ座標HeadTopYとする。さらに、HeadTopYにおいて、左側から走査して最初に検出されるオブジェクトのＸ座標をＸ１とする。同様に、HeadTopYにおいて、右側から走査して最初に検出されるオブジェクトの座標をＸ２とする。そして、Ｘ１とＸ２の中心を頭頂のＸ座標HeadTopXとする。なお、THtop は、ここでは４とする。
【００５５】
図１４は図４のステップＳＰ２４における顔幅検出の具体的な動作を示すフローチャートであり、図１５は顔幅検出範囲の決定を示す図であり、図１６は顔幅の検出を示す図である。
【００５６】
次に、図１４〜図１６を参照して、顔幅の検出処理について説明する。顔領域は通常、画面のほぼ中央に位置し、画面の下方には肩の領域がある。これを利用し、ステップＳＰ７１で顔領域の検出範囲を定める。
【００５７】
頭頂位置HeadTopYから画面の下までの領域の１／２のラインに注目し、このラインを検出ラインとする。すなわち、検出ラインのＹ座標sLineYは以下のようになる。
【００５８】
sLineY = HeadTopY+（Ymax-HeadTopY ）／２
Ymax = 35 : CIF, QCIF
Ymax = 23 : SubQCIF
…（７）
検出ラインの左から右へオブジェクト画素を検索する。最初にオブジェクト画素が見つかったＸ座標を左側の検出範囲の最大maxXa とする。同様に、検出ラインの右から左へオブジェクト画素を検索し、最初にオブジェクト画素が見つかったＸ座標を右側の検出範囲の最大maxXb とする。
【００５９】
ここで、求めたmaxXa が第（８）式を満たすときに、maxXa を左側の最大検出範囲とする。これを満たさないときは、Xaを左側の最大検出範囲とする。
【００６０】
Xa < maxXa < HeadTopX  …（８）
また、同様にmaxXb が第（９）式を満たすときに、図１５に示すように、maxXb を右側の最大検出範囲とする。これを満たさないときは、Xbを右側の最大検出範囲とする。
【００６１】
HeadTopX < maxXb < Xb   …（９）
次に、ステップＳＰ７２において画面を４画素ごとに縦方向のスリットに分割し、図１６に示すようにHeadTopXを含むエリアを求める。図１６ではエリアｂのHeadTopXが含まれている。次に、ステップＳＰ７３およびＳＰ７４においてエリアｂから左方向に隣接するエリアａとの画素数の合計の差を求める。この図１６では、エリアｂの画素数が１２０であり、エリアａの画素数が８０である。したがって、その差PelSubは、第（１０）式のようになる。
【００６２】
PelSub = 120-80 = 40  …（１０）
ここで、ステップＳＰ７５で画素の差のしきい値THsub と比較して第（１１）式を満足したとき、ステップＳＰ７６およびＳＰ７７の処理により左の顔幅の座標FaceWideX1とする。
【００６３】
PelSub > THsub  …（１１）
この例では、エリアｂとエリアａとの画素数の差が第（１１）式を満足するので、比較エリアであるエリアａの左端の座標がFaceWideX1となる。
【００６４】
左の顔幅検出終了後、右方向についても同様にステップＳＰ７９〜ＳＰ８３  の処理を行ない、右の顔幅の座標FaceWideXrを得る。
【００６５】
図１７は顔幅補正の流れを示すフローチャートである。次に、図１７を参照して、顔幅の補正処理について説明する。上述のごとく検出された顔幅は、雑音や動き不十分により検出を失敗している可能性がある。そのため、顔幅が小さ過ぎたり、顔幅がHeadTopXを基準として偏り過ぎたりしている場合がある。それを補正するために、FaceWideX1，FaceWideXrを図１７のフローチャートのステップＳＰ９１〜ＳＰ１０１に従って処理を行なう。
【００６６】
次に、顔の下座標を頭頂座標HeadTopY，顔幅の座標FaceWideX1，FaceWideXrから顔の下の座標FaceBottomY を次の第（１２）式から求める。
【００６７】
FaceBottomY = HeadTopY +（FaceWideXr- FaceWideXl）* 1.5   …（１２）
さらに、これらの値から顔領域を表わす矩形の座標を顔矩形領域として、左上および右下の座標を
（FaceWideX1，HeadTopY），（FaceWideXr，FaceBottomY ）
と定義する。
【００６８】
以上のようにして、動きベースによる矩形領域が求められる。
次に、ステップＳＰ２５およびＳＰ２６で矩形領域内の顔領域抽出による精密座標の検出処理を行なう。抽出対象となる顔領域は、頬部分の縦線が強い、目のまわりの横線に強いという特徴を使い、顔領域の抽出を行なう。ただし、処理のスキップ判定がされていた場合（Bypass flag = 1 ）は、この処理を行なわずに前フレームで求めた精密座標を現フレームの精密座標とする。
【００６９】
図１８は精密座標の検出処理の動作を示すフローチャートである。
人間の顔において頬は縦線が強く、目，鼻，口は横線が強いという特徴がある。この性質を利用することで顔の判定が可能となる。したがって、図１８のステップＳＰ１１１〜ＳＰ１２０の処理により縦および横エッジを顔矩形領域内のオブジェクトマスク内に存在する現画像のＹの画素から抽出する。その際、顔矩形領域は縮小画像の大きさであるため、それぞれの画像フォーマットの大きさに対応させて使用する。ただし、処理量を軽減するという観点からＣＩＦの場合は縦横１画素おきの処理とする。
【００７０】
図１９はエッジの検出動作を示す図であり、図２０は顔幅精密座標検出動作を示す図であり、図２１は横エッジの特徴量を示す図である。
【００７１】
まず、顔矩形領域内においてオブジェクトマスクに存在する画素を注目画素として、図２０に示すように３×３画素のウィンドウを設定する。このとき、縦エッジUX，横エッジUYは第（１３）式で表わされる。
【００７２】
DX =｜C+2F+I-A-2D-G ｜
DY =｜G+2H+I-A-2B-C ｜
UX = fix（DX-DY ）
UY = fix（DY-DX ）
ただし、 fix（a ）= a （a ≧０），０（a<０）
…（１３）
さらに、UX，UYをしきい値THedgeで２値化し、縦エッジ画素VEdge ，横エッジ画素HEdge を第（１４）式によって得る。なお、THedgeは例として６０とする。
【００７３】
UX > THedge →VEdge = 1
UX≦ THedge →VEdge = 0
UY > THedge →HEdge = 1
UY≦ THedge →HEdge = 0
…（１４）
まず、縦・横エッジ画像における顔幅の長さXlenを顔幅の座標FaceWideX1，FaceWideXrから第（１５）式で求める。
【００７４】
Xlen =（FaceWideXr - FaceWideXl +1）* 4   …（１５）
次に、Xlenの正方形を縦エッジ画像の上部に設定して、図１９に示すようにこの内部を縦エッジの探索領域とする。このとき、中心付近には鼻が存在するとし、鼻の幅を以下の式で求める。
【００７５】
NoseWidth = Xlen/4  …（１６）
また、エッジ画像の座標系である頭頂HeadCenterを、矩形座標の頭頂HeadTopYから第（１７）式により求める。
【００７６】
HeadCenter = HeadTopX ×4   …（１７）
そして、頭頂位置HeadCenterからNoseWidth の分だけを避けた左の位置を探索開始位置として、ここから左の領域を順次探索し、縦方向の画素の累積値が最初にしきい値THpeakより大きくなる位置をPeakL とする。
【００７７】
また、同様に、頭頂位置HeadCenterからNoseWidth の分だけを避けた右の位置を探索開始位置として、ここから右の領域を順次探索し、縦方向の画素の累積値が最初にしきい値THpeakより大きくなる位置をPeakR とする。
【００７８】
ここで、THpeakは次の第（１８）式より求めることができる。
THpeak = Xlen  PeakRathio/10
ただし、
PeakRathio = 2  …（１８）
PeakL ，PeakR がともにTHPeak以上であり、かつPeakL とPeakR のＸ座標の値がemnTHsub以上であったとき、顔幅が存在したと判断して精密座標抽出成功とし、後述する横エッジからの特徴抽出を行なう。また、PeakL ，PeakR のＸ座標をそれぞれEMNl，EMNrとする。
【００７９】
もし、上記の条件を満足しない場合は、顔幅精密座標抽出失敗と判断して、前フレームで求めたEMNl，EMNrを現フレームのEMNl，EMNrとする。前フレームで求めたEMNl，EMNrは現フレームの矩形座標に対して大きく外れている場合がある。この場合は、前フレームのEMNl，EMNrは不適切と判断する。現フレームの矩形座標から大きく外れているかどうかの判定には、現フレームの矩形領域の幅の左右parm x％の領域に前フレームのEMNl，EMNrが入っているかを判定する。すなわち、前フレームのEMNl，EMNrをそれぞれpreEMNl ，preEMNr としたとき、第（１９）式を判定する。
【００８０】
preEMNl>FaceWideXl×4-（FaceWideXr-FaceWideXl ）×４×parm＿x ÷100
かつ
preEMNr>FaceWideXr×4+（FaceWideXr-FaceWideXl ）×４×parm＿x ÷100
…（１９）
第（１９）式が満たされるときは、preEMNl ，preEMNr を現フレームのEMNl，EMNrとし、満たされない場合は、精密座標抽出失敗とし、後述する顔検出の失敗処理を行なう。ここで、parm xは例として１２とする。
【００８１】
人間の顔は顔幅の間に横線特徴をもつ目・鼻・口が存在することを利用し、顔幅間で横エッジの分布を調べることで顔らしさの判断を行なう。図２１のように太線で示す横エッジ探索領域を横エッジ画像の大きさに対応させた顔矩形領域の下部に設定し、この探索領域内においてEMNlとEMNrを３等分した領域を決定する。各領域ごとの横エッジの画素数の累積を求め、それぞれSY0, SY1Y, SY2とする。
【００８２】
SY0, SY1, SY2 の関係が第（２０）式を満足していたとき顔領域と判定し、縦方向の精密座標検出処理を行なう。満足しない場合は後述する顔検出の失敗処理を行なう。
【００８３】
SY0 < SY1 かつSY2 < SY1   …（２０）
顔領域の判定に成功した場合は、縦方向の精密座標の検出処理を行なう。図２２に示すように横エッジ画素をＹ軸方向に累積したときの分布を求め、上方から走査したとき初めてしきい値THemn 以上となるＹ座標を顔面の上部の座標EMNtopとする。また、下方から走査して初めてTHemn 以上となるＹ座標を顔面の下部の座標EMNbottom とする。
【００８４】
ここで、もしもEMNtopとEMNbottom の差がemnTHsubより小さかった場合は、精密座標抽出失敗とし、後述する顔検出の失敗処理を行なう。
【００８５】
顔領域の検出に成功した場合は、顔領域検出成功フラグFindFaceを第（２１）式として精密座標検出処理を終了する。
【００８６】
FindFace = 1  …（２１）
また、顔領域の検出に成功した場合は、顔領域検出成功フラグFindFaceを第（２２）式とし、精密座標検出処理を終了する。
【００８７】
FindFace = 0  …（２２）
顔検出失敗時は、抽出された領域以外に顔の存在する可能性がある。そのときは、顔領域抽出処理の後段で行なわれる符号化制御処理やフィルタ処理で、実際の顔の部分が顔領域以外の処理が行なわれ、顔の画質が低下するおそれがある。これを避けるために、顔検出失敗時には、矩形領域を実際より大きな領域とするかまたは画面全体を領域とすることで顔が顔領域処理の対象領域から外れないようにする。
【００８８】
まず、現フレームで求められた矩形領域Ｘ座標の中心を第（２３）式のようにFaceCenterとする。
【００８９】
FaceCenter =（FaceWideXr - FaceWideXl ）/2 + FaceWideXl   …（２３）
画面の中に３つの大きな領域（area0, area1, area2 ）を設定し、FaceCenterの位置より、area0, area1, area2 のうちのどれかを現フレームの矩形領域とする。すなわち、第（２４）式により現フレームの置換えを行なう。
【００９０】
0 ≦FaceCenter < Border01 →          矩形領域をarea0 に置換え
Border01 < FaceCenter ≦ Border12 →  矩形領域をarea1 に置換え
Border12 < FaceCenter ≦Ｘ座標の最大→矩形領域をarea2 に置換え
…（２３）
表２に置換え領域（area0, area1, area2 ）選択の判定値Border01, Border12の値と、（area0, area1, area2 ）の置換え値を示す。
【００９１】
【表２】
0003725996.tif 000003
【００９２】
顔検出失敗時の処理は、顔領域抽出関数をコールする符号化制御部により、FindFaceフラグにより判定されて行なわれる。これは、顔領域抽出部でフレーム間処理の連続性を断ち切らないためである。これにより、次フレームで顔検出に成功した場合は、直ちに正しい矩形領域に復帰することができる。
【００９３】
次に、前記矩形領域の抽出処理で求めた矩形領域の拡大処理を行なう。動きが少なくなったときには全体的な符号量が減少するので、その分、顔領域を拡大することができる。その判定には第（２５）式からどれだけ動きが少ないフレームが連続したかをカウントするStill Count を求め、ステップＳＰ２７、ＳＰ２８およびＳＰ２９の処理を行なう。
【００９４】
NoMv < TH still 
then : StillCount ++
NoMv≧THstill 
then : StillCount = 0
StillCount > TH still max 
then : StillCount = 0
…（２５）
そして、ステップＳＰ３０で次のようにして領域の拡大領域RgnExpを求め、FaceWideXl，FaceWideXr，HeadTopYを拡大し、それぞれFaceWideXle, FaceWideXre，HeadTopYe とする。なお、THstill はここでは２０，THexp はＣＩＦのとき２０とし、ＱＣＩＦのとき５０とし、ＳＱＣＩＦのとき７０とした。
【００９５】
RgnExp = StillCount / THexp 
FaceWideXle = FaceWideXl - RgnExp
FaceWideXre = FaceWideXr + RgnExp
HeadTopYe = HeadTopY - RgnExp
ただし、
FaceWideXle < 0 のとき、FaceWideXle = 0
FaceWideXre > 43のとき、FaceWideXre = 43
HeadTopYe < 0 のとき、HeadTopYe = 0
…（２６）
また、前フレームの顔幅PreFaceWideXle, PreFaceWideXre，頭頂PreHeadTopYeと比較し、差がTHdif より小さいときは頻繁な変動を防ぐために前フレームの値を使用する。なお、THdif はここでは３とした。
【００９６】
｜Pre FaceWideXle - FaceWideXle ｜< THdif 
then: FaceWideXle = PreFaceWideXle
｜PreFaceWideXre - FaceWideXre｜< THdif 
then: FaceWideXre = PreFaceWideXre
｜PreHeadTopYe - HeadTopYe｜< THdif 
then: HeadTopYe = PreHeadTopYe
…（２７）
さらに、移動量に第（２８）式に示すローパスフィルタをかけ、前フレーム位置からの急峻な変動を抑制する。
【００９７】
FaceWideXle = PreFaceWideXle× k + FaceWideXle×（1-k ）
FaceWideXre = PreFaceWideXre× k + FaceWideXre×（1-k ）
HeadTopYe = PreHeadTopYe× k + HeadTopYe×（1-k ）
k = 1/2
…（２８）
顔領域は、一般に画面に対して中心付近に位置する。そこで、ステップＳＰ３１で顔の長さを算出する。すなわち、画面の上下左右の位置に対して第（２９）式に示すクリッピングを施し、画面の端に矩形領域が片寄らないようにする。
【００９８】
FaceWideXle < minX
then: FaceWideXle = minX
FaceWideXre > maxX
then: FaceWideXle = maxX
HeadTopY < minY
then: HeadTopY = minY
ただし、
minX =  縮小画像の横幅×1/10
maxX =  縮小画像の横幅−（縮小画像の横幅×1/10）
minY =  縮小画像の縦幅×1/12
FaceWideXre < FaceWideXle
then: FaceWideXre = FaceWideXle
…（２９）
最後に、次のフレームのために顔幅と頭頂を記憶しておく。
【００９９】
PreFaceWideXle = FaceWideXle
PreFaceWideXre = FaceWideXre
PreHeadTopYe = HeadTopYe
…（３０）
顔幅と頭頂位置から顔の下の座標FaceBottomYeを推定する。
【０１００】
FaceBottomYe = HeadTopYe +（FaceWideXre - FaceWideXle +1）* 15
…（３１）
FaceWideXle, FaceWideXre, HeadTopYe と同様に第（３２）式によりクリッピングを施し、画面の端に矩形領域が偏らないようにする。
【０１０１】
FaceBottomYe > maxY
then: FaceBottomYe = maxY
ただし、
maxY =縮小画像の縦幅−（縮小画像の縦幅×1/12）
FaceBottomYe < HeadTopYe
then: FaceBottomYe = HeadTopYe
…（３２）
次に、ステップＳＰ３２で抽出された顔幅、頭頂、顔の長さにより得られる顔領域の矩形領域から符号化制御の際に使用するFaceMap を作成する。これは、顔幅，頭頂，顔の長さの各座標は４４×３６画素の縮小画像に対応しているが、この領域内に５０％以上含まれるマクロブロック１とし、それ以外のマクロブロックには０を表わすラベルを付ける。FaceMap は画像フォーマットごとに大きさが異なり、ＣＩＦのとき２２×１８となり、ＱＣＩＦのとき１１×９となり、ＳＱＣＩＦのとき８×６の大きさとなる。
【０１０２】
なお、動きベースによる顔抽出は動きの検出に数フレームの履歴を使用しているため、顔領域抽出処理の開始フレームからTHtrack まではFaceMap がオールゼロとする。
【０１０３】
また、処理のスキップ判定がなされていた場合（Bypass flag =1）は、この処理を行なわずに前フレームで求めたFaceMap を現フレームのFaceMap とする。
【０１０４】
次に、色ベースによる肌色抽出処理を行なう。色ベースによる肌色抽出は、前記の動きベースによる顔抽出において抽出できなかった他の肌の領域、たとえば、手，腕，首などの領域を抽出するために実施され、HueMapを作成する。
【０１０５】
ただし、処理のスキップ判定がされていた場合（Bypass flag =1）は、この処理を行なわずに前フレームで求めたHueMapを現フレームのHueMapとする。
【０１０６】
図２３は色ベースによる肌色抽出の処理の流れを示すフローチャートである。図２３において、ステップＳＰ１２１でBypass flag が１でないことを判別し、ステップＳＰ１２２において顔面の精密座標から肌色サンプル領域を設定する。顔面の精密座標EMNtop, EMNbottom, EMNl, EMNr から得られる矩形領域をCb, Crに設定して肌色サンプル領域とする。ただし、ＱＣＩＦ，ＳＱＣＩＦの場合は精密座標を半分にした値を使用する。
【０１０７】
次に、ステップＳＰ１２３において、肌色サンプル領域内の平坦領域におけるCb, Crの平均および標準偏差の算出を行なう。前述した動きベースによる顔抽出で作成した縦および横エッジ画像のエッジ画素を含まない肌色サンプル領域外のCb, Crの画素の値からCb, Crのそれぞれの平均μu,μv,標準偏差σu,σv を算出する。
【０１０８】
色ベースによる肌色抽出は動きベースによる顔抽出結果に基づいて実施されるが、動きベースによる抽出が１００％正確でないため、顔領域を誤って抽出していた場合には肌色抽出に悪影響を与える。したがって、サンプルしたCb, Crの分布により肌色抽出を実施するかどうかを判断する必要がある。これは、標準偏差σu,σv から第（３３）式を満足したときに単峰性のピークがあると考え、ステップＳＰ１２４で肌色抽出処理を実施し、肌色画素の抽出処理を行なう。
【０１０９】
σu < THσかつσv < THσ  …（３３）
第（３３）式を満足したときに単峰性のピークがあると考え、ステップＳＰ１２６〜ステップＳＰ１２８による肌色抽出処理を実施し、肌色画素の抽出処理を行なう。第（３３）式を満足しないときには色にばらつきがあり安定した肌色抽出ができないので、ステップＳＰ１２５で肌色抽出処理を中止し、FaceMap と同じ構成でHueMapを作成してオールゼロとし、処理を終了する。なお、THσはここでは２０とする。
【０１１０】
ステップＳＰ１２６〜ＳＰ１２８の肌色画素の抽出では、始めにステップＳＰ１２６でCb, Crの抽出範囲の値［Cbl, Cbh］，［Crl, Crh］を次のように決定する。
【０１１１】
［Cbl, Cbh］= ［μu - σu , μu + σu ］
［Crl, Crh］= ［μv - σv , μv + σv ］
…（３４）
次に、ステップＳＰ１２６で得られた抽出範囲に従い、Cb, Crがともにその範囲に属している画素をステップＳＰ１２７で抽出する。さらに、現フレームのオブジェクトマスク内の画素のみを抽出して肌色領域の数を作成する。
【０１１２】
このようにして作成された肌色領域をそれぞれ画像フォーマット（ＣＩＦ，ＱＣＩＦ，ＳＱＣＩＦ）に対応させ、マクロブロック内に５０％以上肌色画素を含むとき、そのマクロブロックを１とし、そうでないときは０のラベルを持つHueMapをステップＳＰ１２８で作成する。なお、顔領域抽出処理の開始フレームからTHtrack まではHueMapをオールゼロとする。
【０１１３】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１１４】
【発明の効果】
以上のように、この発明では、矩形領域抽出時に、前フレーム矩形領域外の動き成分判定しきい値を矩形領域内動き成分判定しきい値よりも感度を落とすことにより、対象人物周囲の動き成分雑音を矩形領域と判定しにくくし、対象人物顔領域外に矩形領域が移動しにくくすることで矩形領域の判定精度を向上できる。
【０１１５】
また、前フレームと現フレーム間の動き画素量により動き画素量が少ないときには、動き画素量算出以降の演算を行なわないことで、矩形領域抽出処理の全体の演算量を軽減できる。
【０１１６】
さらに、顔画像特徴抽出による精密座標判定のための顔幅判定時に、顔幅検索範囲を頭頂座標から画面最下座標までの１／２の位置の矩形座標の左右幅とすることで、精密座標検索の精度向上と演算の高効率化を行なうことができる。
【０１１７】
顔画像特徴抽出による精密座標判定のための顔幅判定時に、鼻成分を避けることにより、実際の顔幅よりも狭い領域を精密座標と判定しないようにする。
【０１１８】
さらに、顔画像特徴抽出による精密座標抽出が失敗した場合、ある決められた大きさの領域を矩形領域とすることで矩形領域外に顔画像が存在することを低減できる。
【０１１９】
さらに、ある決められた大きさの領域を矩形領域とすることに代えて、画面全体を矩形領域とすることで矩形領域外に顔画像が存在することを低減できる。
【０１２０】
さらに、現フレームで動き画素より算出された矩形領域座標と、前フレームの矩形領域座標の値にローパスフィルタをかけ、動き物体が画面内で急激に移動した場合でも滑らかに矩形領域が動き物体に追従することができる。
【０１２１】
さらに、画面内の端の領域には有効な顔画像が存在しないようにし、求められた矩形領域座標値に対してクリッピング処理を行なうことで、後の精密座標抽出時の精度向上と演算量削減を行なうことができる。
【０１２２】
さらに、顔画像特徴抽出による精密座標判定のための顔幅判定時に、前フレームで求めた精密座標と現フレームで求めた精密座標の値の差があるしきい値内であれば前フレームで算出した精密座標値を現フレームの精密座標として採用することにより、精密座標が見失われることを避けることができる。このとき、前フレームで求めた精密座標を利用することに代えて、過去数フレームの精密座標の値の平均値を用いることで同様の作用を得ることができる。
【図面の簡単な説明】
【図１】Ｈ．２６１／Ｈ．２６３画像エンコーダと顔領域抽出部の関係を示すブロック図である。
【図２】顔領域抽出の大まかな流れを示すフローチャートである。
【図３】動きベースによる顔抽出を示す前半のフローチャートである。
【図４】動きベースによる顔抽出を示す後半のフローチャートである。
【図５】縮小画像の作成例を示す図である。
【図６】オブジェクトマスク作成の流れを示すフローチャートである。
【図７】動き履歴のアップデートを示す図である。
【図８】動き画素判定しきい値適応領域を示す図である。
【図９】３×３画素のウィンドウによる拡大処理を示す図である。
【図１０】３×３画素のウィンドウによる縮小処理を示す図である。
【図１１】  THmv算出の流れを示すフローチャートである。
【図１２】最大領域の抽出を示す図である。
【図１３】頭頂の検出例を示す図である。
【図１４】顔幅検出の流れを示すフローチャートである。
【図１５】顔幅検出範囲の決定を説明するための図である。
【図１６】顔幅の検出例を示す図である。
【図１７】顔幅補正の流れを示すフローチャートである。
【図１８】精密座標の検出処理の流れを示すフローチャートである。
【図１９】エッジ検出オペレータを示す図である。
【図２０】顔幅精密座標検出例を示す図である。
【図２１】横エッジの特徴量を示す図である。
【図２２】顔面の縦方向の精密座標算出例を示す図である。
【図２３】色ベースによる肌色抽出の処理の流れを示すフローチャートである。
【符号の説明】
１０１  顔領域抽出部
１０２  符号化制御部
１０３  減算器
１０４，１０５  スイッチ
１０６  加算器
１０７  変換器
１０８  量子化器
１０９  逆量子化器
１１０  逆変換器
１１１  ループ内フィルタ
１１２  予測メモリ
【図１】
0003725996.tif 000004
【図２】
0003725996.tif 000005
【図３】
0003725996.tif 000006
【図４】
0003725996.tif 000007
【図５】
0003725996.tif 000008
【図６】
0003725996.tif 000009
【図７】
0003725996.tif 000010
【図８】
0003725996.tif 000011
【図９】
0003725996.tif 000012
【図１０】
0003725996.tif 000013
【図１１】
0003725996.tif 000014
【図１２】
0003725996.tif 000015
【図１３】
0003725996.tif 000016
【図１４】
0003725996.tif 000017
【図１５】
0003725996.tif 000018
【図１６】
0003725996.tif 000019
【図１７】
0003725996.tif 000020
【図１８】
0003725996.tif 000021
【図１９】
0003725996.tif 000022
【図２０】
0003725996.tif 000023
【図２１】
0003725996.tif 000024
【図２２】
0003725996.tif 000025
【図２３】
0003725996.tif 000026