(57)【特許請求の範囲】
【請求項１】
サーバまたは端末デバイスによって実行される画像ステッチング方法であって、
前記サーバまたは端末デバイスが、
第１のオーバーラップ画像及び第２のオーバーラップ画像を取得するステップであって、前記第１のオーバーラップ画像が第１の画像における、第２の画像と重なる領域であり、前記第２のオーバーラップ画像が前記第２の画像における、前記第１の画像と重なる領域であり、前記第１の画像および前記第２の画像がステッチング待ちの隣接画像であるステップと、
前記第１のオーバーラップ画像における各画素点から前記第２のオーバーラップ画像における対応する画素点までの動きベクトルを決定し、オプティカルフローベクトル行列を取得するステップと、
前記オプティカルフローベクトル行列に基づいて、前記第１のオーバーラップ画像に対して再マッピングを行って第１の再マッピング画像を取得し、かつ、前記第２のオーバーラップ画像に対して再マッピングを行って第２の再マッピング画像を取得するステップと、
前記第１の再マッピング画像と前記第２の再マッピング画像を融合し、前記第１のオーバーラップ画像と前記第２のオーバーラップ画像の融合画像を取得し、前記融合画像に基づいて前記第１の画像と前記第２の画像のステッチング画像を決定するステップと、
を含む、ことを特徴とする画像ステッチング方法。
【請求項２】
前記方法は、前記サーバまたは端末デバイスが前記第１のオーバーラップ画像から前記第２のオーバーラップ画像への遷移重み行列を決定するステップをさらに含み、
前記オプティカルフローベクトル行列に基づいて、前記第１のオーバーラップ画像に対して再マッピングを行って第１の再マッピング画像を取得し、かつ、前記第２のオーバーラップ画像に対して再マッピングを行って第２の再マッピング画像を取得するステップは、
前記オプティカルフローベクトル行列と前記遷移重み行列とに基づいて、前記第１のオーバーラップ画像に対して再マッピングを行って第１の再マッピング画像を取得し、かつ、前記第２のオーバーラップ画像に対して再マッピングを行って第２の再マッピング画像を取得することを含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記第１のオーバーラップ画像から前記第２のオーバーラップ画像への遷移重み行列を決定するステップは、
前記第１のオーバーラップ画像と前記第２のオーバーラップ画像のオーバーラップ行列を決定することであって、前記第１のオーバーラップ画像と前記第２のオーバーラップ画像の共通の有効部分の画素の、前記オーバーラップ行列における対応する位置にある要素の値が第１の所定値であり、他の部分の画素の、前記オーバーラップ行列における対応する位置にある要素の値が前記第１の所定値とは異なる第２の所定値であることと、
前記オーバーラップ行列の各行における前記第１の所定値の要素の列座標範囲を決定することと、
前記列座標範囲と、当該行における各要素の列座標とに基づいて、当該要素の遷移重みを決定し、前記オーバーラップ行列における各要素の遷移重みにより前記遷移重み行列を形成することと、を含む、
ことを特徴とする請求項２に記載の方法。
【請求項４】
下式を採用して、前記オーバーラップ行列におけるｉ行目ｊ列目の要素の遷移重みを決定し、
【数２１】
0006970283.tif 000022
式では、Ｗｅｉｇｈｔ１（ｉ，ｊ）は、前記オーバーラップ行列におけるｉ行目ｊ列目の要素の遷移重みであり、ｓｔａｒｔ＿ｉは、前記オーバーラップ行列におけるｉ行目の前記列座標範囲内の最小列座標であり、ｅｎｄ＿ｉは、前記オーバーラップ行列におけるｉ行目の前記列座標範囲内の最大列座標である、
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記第１のオーバーラップ画像に対して再マッピングを行って第１の再マッピング画像を取得し、かつ、前記第２のオーバーラップ画像に対して再マッピングを行って第２の再マッピング画像を取得することは、
前記オプティカルフローベクトル行列と前記遷移重み行列とに基づいて、第１の遷移マッピング行列および第２の遷移マッピング行列を決定することであって、前記第１の遷移マッピング行列が前記第１のオーバーラップ画像から前記第２のオーバーラップ画像への遷移マッピング行列であり、前記第２の遷移マッピング行列が前記第２のオーバーラップ画像から前記第１のオーバーラップ画像への遷移マッピング行列であることと、
前記第１の遷移マッピング行列を用いて、前記第１のオーバーラップ画像に対して再マッピングを行って前記第１の再マッピング画像を取得し、かつ、前記第２の遷移マッピング行列を用いて、前記第２のオーバーラップ画像に対して再マッピングを行って前記第２の再マッピング画像を取得することと、を含む、
ことを特徴とする請求項２に記載の方法。
【請求項６】
【数２２】
0006970283.tif 000023
であれば、下式を採用して、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素を決定し、
【数２３】
0006970283.tif 000024
そうでなければ、下式を採用して、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素を決定し、
【数２４】
0006970283.tif 000025
上式では、Ｗｅｉｇｈｔ１（ｉ，ｊ）は、前記遷移重み行列におけるｉ行目ｊ列目の要素の値であり、Ｗａｒｐ１（ｉ，ｊ）は、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ１（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ１（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）は、前記オプティカルフローベクトル行列におけるｉ行目ｊ列目の要素で表される動きベクトルであり、ｆｌｏｗ（ｉ，ｊ）．ｙは、前記動きベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）．ｘは、前記動きベクトルの水平方向の成分である、
ことを特徴とする請求項５に記載の方法。
【請求項７】
前記第１のオーバーラップ画像に対して再マッピングを行って前記第１の再マッピング画像を取得することは、
下式を採用して、前記第１の再マッピング画像におけるｉ行目ｊ列目の要素の色値を決定することを含み、
【数２５】
0006970283.tif 000026
上式では、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｄｓｔ（ｉ，ｊ）は、前記第１の再マッピング画像におけるｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｓｒｃ（ｉｉ，ｊｊ）は、前記第１のオーバーラップ画像におけるｉｉ行目ｊｊ列目の画素の色値であり、ｉｉ＝Ｗａｒｐ１（ｉ，ｊ）．ｙであり、ｊｊ＝Ｗａｒｐ１（ｉ，ｊ）．ｘであり、Ｗａｒｐ１（ｉ，ｊ）は、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ１（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ１（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分である、
ことを特徴とする請求項５に記載の方法。
【請求項８】
【数２６】
0006970283.tif 000027
であれば、下式を採用して、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素を決定し、
【数２７】
0006970283.tif 000028
そうでなければ、下式を採用して、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素を決定し、
【数２８】
0006970283.tif 000029
上式では、Ｗｅｉｇｈｔ１（ｉ，ｊ）は、前記遷移重み行列におけるｉ行目ｊ列目の要素の値であり、Ｗａｒｐ２（ｉ，ｊ）は、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ２（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ２（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）は、前記オプティカルフローベクトル行列におけるｉ行目ｊ列目の要素で表される動きベクトルであり、ｆｌｏｗ（ｉ，ｊ）．ｙは、前記動きベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）．ｘは、前記動きベクトルの水平方向の成分である、
ことを特徴とする請求項５に記載の方法。
【請求項９】
前記第２のオーバーラップ画像に対して再マッピングを行って前記第２の再マッピング画像を取得することは、
下式を採用して、前記第２の再マッピング画像におけるｉ行目ｊ列目の要素の色値を決定することを含み、
【数２９】
0006970283.tif 000030
式では、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｄｓｔ（ｉ，ｊ）は、前記第２の再マッピング画像におけるｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｓｒｃ（ｉｉ，ｊｊ）は、前記第２の再マッピング画像におけるｉｉ行目ｊｊ列目の画素の色値であり、ｉｉ＝Ｗａｒｐ２（ｉ，ｊ）．ｙであり、ｊｊ＝Ｗａｒｐ２（ｉ，ｊ）．ｘであり、Ｗａｒｐ２（ｉ，ｊ）は、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ２（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ２（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分である、
ことを特徴とする請求項５に記載の方法。
【請求項１０】
前記方法は、前記サーバまたは端末デバイスが前記オーバーラップ行列における各要素の遷移重みと所定閾値との間の関係に基づいて、対応する要素の融合重みを決定し、前記オーバーラップ行列における各要素の融合重みにより融合重み行列を形成するステップをさらに含み、
前記第１の再マッピング画像と前記第２の再マッピング画像を融合することは、
前記融合重み行列を用いて、前記第１の再マッピング画像と前記第２の再マッピング画像を融合することを含む、
ことを特徴とする請求項３に記載の方法。
【請求項１１】
前記の対応する要素の融合重みを決定することは、
当該要素の遷移重みが所定閾値よりも大きい場合、当該要素に対応する融合重みを１とし、そうでなければ、当該要素に対応する融合重みを０とすることを含む、
ことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記融合重み行列を用いて、前記第１の再マッピング画像と前記第２の再マッピング画像を融合することは、
前記第１の再マッピング画像および前記第２の再マッピング画像のラプラシアンピラミッドをそれぞれ確立し、前記融合重み行列のガウシアンピラミッドを確立することと、
前記ガウシアンピラミッドを用いて、前記第１の再マッピング画像のラプラシアンピラミッドと前記第２の再マッピング画像のラプラシアンピラミッドを融合し、融合ピラミッドを取得することと
前記融合ピラミッドに対して画像復元を行って前記融合画像を取得することと、を含む、
ことを特徴とする請求項１０に記載の方法。
【請求項１３】
下式を採用して、前記第１の再マッピング画像および前記第２の再マッピング画像のラプラシアンピラミッドにおける第ｌｅｖｅｌ層のｉ行目ｊ列目の画素を決定し、
【数３０】
0006970283.tif 000031
式では、Ｒｅｓｕｌｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記融合ピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記第１の再マッピング画像のラプラシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記第２の再マッピング画像のラプラシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、Ｗｅｉｇｈｔ２＿ＧＲ（ｉ，ｊ，ｌｅｖｅｌ）は、前記ガウシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の要素の値である、
ことを特徴とする請求項１２に記載の方法。
【請求項１４】
画像ステッチング装置であって、
少なくとも１つのメモリと、
少なくとも１つのプロセッサと、を含み、
前記少なくとも１つのメモリには、前記少なくとも１つのプロセッサによって実行されるように構成される少なくとも１つの命令モジュールが記憶されており、前記少なくとも１つの命令モジュールは、
第１のオーバーラップ画像及び第２のオーバーラップ画像を取得する取得モジュールであって、前記第１のオーバーラップ画像が第１の画像における、第２の画像と重なる領域であり、前記第２のオーバーラップ画像が前記第２の画像における、前記第１の画像と重なる領域であり、前記第１の画像および前記第２の画像がステッチング待ちの隣接画像である取得モジュールと
前記第１のオーバーラップ画像における各画素点から前記第２のオーバーラップ画像における対応する画素点までの動きベクトルを決定し、オプティカルフローベクトル行列を取得する決定モジュールと、
前記オプティカルフローベクトル行列に基づいて、前記第１のオーバーラップ画像に対して再マッピングを行って第１の再マッピング画像を取得し、かつ、前記第２のオーバーラップ画像に対して再マッピングを行って第２の再マッピング画像を取得する再マッピングモジュールと、
前記第１の再マッピング画像と前記第２の再マッピング画像を融合し、前記第１のオーバーラップ画像と第２のオーバーラップ画像の融合画像を取得し、前記融合画像に基づいて前記第１の画像と前記第２の画像のステッチング画像を決定する融合モジュールと、を含む、
ことを特徴とする画像ステッチング装置。
【請求項１５】
コンピュータに、請求項1〜１３のうちのいずれか一項に記載の画像ステッチング方法を実行させるためのプログラム。
【請求項１６】
画像ステッチング装置であって、
少なくとも１つのメモリと、
少なくとも１つのプロセッサと、を含み、
前記少なくとも１つのメモリには、少なくとも１つの命令が記憶されており、前記少なくとも１つの命令は、前記少なくとも１つのプロセッサによって実行されたときに、請求項1〜１３のうちのいずれか一項に記載の画像ステッチング方法を実現する、
ことを特徴とする画像ステッチング装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、画像処理の技術分野に関し、特に、画像ステッチング（image stitching）方法、画像ステッチング装置、および記憶媒体に関する。  本願は、２０１７年０９月１５日に中国特許局に提出された、出願番号が２０１７１０８３１５３８．０であり、出願名称が「画像ステッチング方法および装置、記憶媒体」である中国特許出願の優先権を主張し、その全ての内容が、参照することにより本願に組み込まれる。
【背景技術】
【０００２】
３６０度のパノラマビデオは、視野が限られている従来のビデオとは異なる、より鮮明な没入型視聴体験をユーザに提供できるため、徐々に仮想現実の分野の主要なコンテンツの１つになる。現在、パノラマビデオを捕捉するための単一レンズシステムは比較的少量であるため、通常、パノラマビデオが複数のカメラまたは複数のレンズシステムによって捕捉されたビデオをステッチングすることによって作成される。
【発明の概要】
【課題を解決するための手段】
【０００３】
本願の実施例は、画像ステッチング方法および装置、記憶媒体を提供する。
【０００４】
一態様では、本願の実施例は、サーバまたは端末デバイスによって実行される画像ステッチング方法を提供し、前記方法は、
第１の画像において第２の画像と重なる領域である第１のオーバーラップ画像と、第２の画像において第１の画像と重なる領域である第２のオーバーラップ画像とを取得することであって、前記第１の画像と前記第２の画像はステッチング対象の隣接画像であることと、
前記第１のオーバーラップ画像における各画素点から前記第２のオーバーラップ画像における対応する画素点までの動きベクトルを決定し、オプティカルフローベクトル行列を得ることと、
前記オプティカルフローベクトル行列に基づいて、前記第１のオーバーラップ画像を再マッピングして第１の再マッピング画像を得、及び、前記第２のオーバーラップ画像を再マッピングして第２の再マッピング画像を得ることと、
前記第１の再マッピング画像と前記第２の再マッピング画像を融合して、前記第１のオーバーラップ画像と第２のオーバーラップ画像の融合画像を得て、前記融合画像に基づいて前記第１の画像と前記第２の画像のステッチング画像を決定することとを含む。
【０００５】
別の態様では、本願の実施例は、画像ステッチング装置を提供し、前記装置は、
少なくとも１つのメモリと、
少なくとも１つのプロセッサと、を備え、
ここで、前記少なくとも１つのメモリに、前記少なくとも１つのプロセッサによって実行されるように配置されている少なくとも１つの命令モジュールが記憶されており、前記少なくとも１つの命令モジュールは、
第１の画像において第２の画像と重なる領域である第１のオーバーラップ画像と、第２の画像において第１の画像と重なる領域である第２のオーバーラップ画像とを取得する取得モジュールであって、前記第１の画像と前記第２の画像はステッチング対象の隣接画像である取得モジュールと、
前記第１のオーバーラップ画像における各画素点から前記第２のオーバーラップ画像における対応の画素点までの動きベクトルを決定し、オプティカルフローベクトル行列を得る決定モジュールと、
前記オプティカルフローベクトル行列に基づいて、前記第１のオーバーラップ画像を再マッピングして第１の再マッピング画像を得、及び、前記第２のオーバーラップ画像を再マッピングして第２の再マッピング画像を得る再マッピングモジュールと、
前記第１の再マッピング画像と前記第２の再マッピング画像を融合して、前記第１のオーバーラップ画像と第２のオーバーラップ画像の融合画像を得て、前記融合画像に基づいて前記第１の画像と前記第２の画像のステッチング画像を決定する融合モジュールとを備える。
【０００６】
また、別の態様では、本願の実施例は、コンピュータプログラムが記憶されている不揮発性コンピュータ読み取り可能な記憶媒体を提供し、前記コンピュータプログラムがプロセッサによって実行される場合、上記方法のステップが実現される。
【０００７】
また、別の態様では、本願の実施例は、画像ステッチング装置を提供し、前記装置は、少なくとも１つのメモリと、少なくとも１つのプロセッサとを備え、ここで、前記少なくとも１つのメモリに、少なくとも１つの命令が記憶されており、前記少なくとも１つの命令が前記少なくとも１つのプロセッサによって実行される場合、上記方法のステップが実現される。
【発明の効果】
【０００８】
以上の技術的解決策によれば、画像を融合する前に、オプティカルフローベクトル行列を用いて第１のオーバーラップ画像と第２のオーバーラップ画像を再マッピングすることにより、重複領域の画素を1つずつ整列させるため、画像の継ぎ目によく発生する破断や違和感などの問題を改善し、ステッチング画像の品質を改善することができる。
【図面の簡単な説明】
【０００９】
本願の実施例または先行技術における技術的解決策をより明確に説明するために、以下では、実施例または先行技術の説明において必要とされる図面を簡単に説明する。明らかに、以下の説明における図面は、本願のいくつかの実施例にすぎず、当業者にとっては、創造的な労働性を行わない前提で、これらの図面に基づいて他の図面を取得することができる。
【図１】本願の実施例に係るシステムアーキテクチャの概略図である。
【図２ａ】本願の一実施例における画像ステッチング方法の概略フローチャートである。
【図２ｂ】本願の一実施例における動きベクトルを計算することの概略フローチャートである。
【図２ｃ】本願の一実施例における遷移重み行列を決定することの概略フローチャートである。
【図２ｄ】本願の一実施例における遷移重み行列とオプティカルフローベクトル行列とに基づいて、第１のオーバーラップ画像と第２のオーバーラップ画像を再マッピングすることの概略フローチャートである。
【図２ｅ】本願の一実施例における画像融合の概略フローチャートである。
【図２ｆ】本願の一実施例における多重解像度融合の概略フローチャートである。
【図３ａ】本願の一実施例におけるステッチング対象の第１の画像の階調と第２の画像の階調の概略図である。
【図３ｂ】本願の一実施例における第１のオーバーラップ画像の階調の概略図である。
【図３ｃ】本願の一実施例における第２のオーバーラップ画像の階調の概略図である。
【図３ｄ】本願の一実施例における融合画像の階調の概略図である。
【図３ｅ】ステッチングにより得られた融合画像の階調の概略図である。
【図４】本願の一実施例におけるオプティカルフローベクトル行列に対応する階調の概略図である。
【図５】本願の一実施例における第１の画像、第２の画像の境界の概略図である。
【図６】本願の一実施例におけるオーバーラップ行列に対応する概略図である。
【図７ａ】本願の一実施例における遷移重み行列に対応する概略図である。
【図７ｂ】本願の一実施例における融合重み行列に対応する概略図である。
【図８】本願の一実施例における画像ステッチング装置の構成ブロック図である。
【図９】本願の一実施例におけるコンピュータデバイスの構成ブロック図である。
【発明を実施するための最良の形態】
【００１０】
以下、本願の実施例における図面を参照しながら、本願の実施例における技術的解決策を明確かつ完全に説明し、明らかに、記載された実施例は、全ての実施例ではなく、本願の一部の実施例にすぎない。本願の実施例に基づいて、当業者が創造的な労働がなされていない前提で得られる他のすべての実施例は、本願の保護範囲に属するものである。
【００１１】
一態様では、本願は、画像ステッチング方法を提供し、この方法が適用されるシステムアーキテクチャは、図１に示すようになる。このシステムは、端末デバイス１００とサーバ２００とを備え、端末デバイス１００とサーバ２００は、通信ネットワーク３００を介して接続されてもよい。
【００１２】
上記の端末デバイス１００は、ユーザのスマートフォンまたはコンピュータであってもよく、カメラ、レンズシステムなどであってもよいし、それらには様々なアプリケーションソフトウェアのクライアントがインストールされてもよい。ユーザは、これらのクライアントにログインして使用することができ、例えば、図１におけるＡｐｐ１０１は、画像ステッチングを実行することができるクライアントである。
【００１３】
上記のサーバ２００は、１つのサーバであってもよく、サーバクラスタであってもよいし、端末デバイス１００にインストールされたクライアントに対応するものであり、対応する画像ステッチングサービスを端末デバイスに提供することができる。
【００１４】
上記の通信ネットワーク３００は、ローカルネットワーク（ＬＡＮ：Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、メトロポリタンエリアネットワーク（ＭＡＮ：Ｍｅｔｒｏｐｌｉｔｙａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、広域ネットワーク（ＷＡＮ：Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、モバイルネットワーク、有線ネットワークや無線ネットワーク、プライベートネットワークなどであってもよい。
【００１５】
本願の実施例により提供される方法は、上記のサーバ２００によって実行されてもよい。具体的には、ユーザは、端末デバイス１００でステッチング対象の画像をＡｐｐ１０１にインポートすることができ、サーバ２００は、端末デバイス１００のＡｐｐ１０１からこれらの画像を取得してステッチングし、ステッチングされた画像を端末デバイス１００のＡｐｐ１０１に返信することができ、そうすると、ユーザは、端末デバイス１００からステッチングされた画像を得ることができる。
【００１６】
もちろん、画像ステッチング方法に対応するコンピュータプログラムが端末デバイス１００に記憶され、さらに端末デバイスがこれらのコンピュータプログラムを実行できる限り、本願により提供される方法は、サーバ２００だけでなく、端末デバイス１００で実行されてもよい。この場合、端末デバイスがサーバと接続状態にある必要はなく、すなわち、端末デバイスがネットワーク接続状態にある必要はない。
【００１７】
ここから分かるように、本願の実施例により提供される方法は、画像ステッチング方法に対応するコンピュータプログラムが記憶されているサーバによってバックグラウンドで実行されてもよく、画像ステッチング方法に対応するコンピュータプログラムが記憶されている端末デバイスによってオフラインで実行されてもよいし、どのようなハードウェアデバイスによって実行されても、本願の保護範囲に含まれている。
【００１８】
図２ａに示すように、本願の実施例により提供される画像ステッチング方法は、以下のステップを含み、即ち、
Ｓ１０１で、第１の画像において第２の画像と重なる領域である第１のオーバーラップ画像と、第２の画像において第１の画像と重なる領域である第２のオーバーラップ画像とを取得し、前記第１の画像と前記第２の画像はステッチング対象の隣接画像であり、
パノラマの画像またはビデオのステッチングプロセス中に、複数のカメラまたは複数のレンズシステムによって捕捉された複数の画像には重複部分があり、つまり、隣接する２つの画像について、一部が重複しており、第１の画像において重複された部分は第１のオーバーラップ画像であり、第２の画像において重複された部分は第２のオーバーラップ画像である、ということが理解できる。
【００１９】
第１の画像と第２の画像のステッチング方式は、左右ステッチングであってもよく、上下ステッチングであってもよい。２つの画像が左右にステッチングされる場合、第１の画像が左側に位置する画像であり、第２の画像が右側に位置する画像であると仮定すると、第１のオーバーラップ画像は、第１の画像の右側の部分であり、第２のオーバーラップ画像は、第２の画像の左側の部分である。２つの画像が上下にステッチングされる場合、第１の画像が上側に位置する画像であり、第２の画像が下側に位置する画像であると仮定すると、第１のオーバーラップ画像は、第１の画像の下側の部分であり、第２のオーバーラップ画像は、第２の画像の上側の部分である。図３ａに示すように、上側の画像２０１は第１の画像であり、下側の画像２０２は第２の画像であり、第１の画像において矩形枠２０３内に位置する部分は、第１のオーバーラップ画像であり、第２の画像において矩形枠内に位置する部分は、第２のオーバーラップ画像である。図３ａから分かるように、第１のオーバーラップ画像と第２のオーバーラップ画像のサイズは同じである。
【００２０】
実際の適用中に、第１の画像と２の画像とに対してパノラマ投影変換を実行することができ、そうすると、第１のオーバーラップ画像と第２のオーバーラップ画像とを得ることができる。
【００２１】
Ｓ１０２で、前記第１のオーバーラップ画像における各画素点から前記第２のオーバーラップ画像における対応する画素点までの動きベクトルを決定し、オプティカルフローベクトル行列を得、
上記の動きベクトルは、水平方向の成分と垂直方向の成分を含む２次元ベクトルである。ある１つの画素は、第１のオーバーラップ画像での位置と第２のオーバーラップ画像での位置とが異なる可能性があり、つまり、位置が変化しており、この画素のｘ方向の変化とｙ方向の変化がこの画素の動きベクトルを構成し、第１のオーバーラップ画像における各画素の動きベクトルがオプティカルフローベクトル行列を形成する。
【００２２】
図２ｂを参照して、動きベクトルを計算する具体的なプロセスは、以下のステップを含み、即ち、
Ｓ１０２１で、前記第２のオーバーラップ画像において前記第１のオーバーラップ画像の各画素点に対応する画素点の座標を決定し、
第１のオーバーラップ画像のある１つの画素に対して、第２のオーバーラップ画像における対応する画素の座標を決定する方式はいくつかがあり、そのうちの１つは、第１のオーバーラップ画像におけるこの画素（ｉ，ｊ）を中心とする１つの領域（例えば、１つの矩形領域）内の全ての画素の各カラーチャンネルの色値の和を決定し、次に、第２のオーバーラップ画像において同じ位置での画素（ｉ，ｊ）を中心として１つの探索領域を決定し、当該探索領域内の各画素について、この画素を中心とする１つの領域（例えば、１つの矩形領域）内の全ての画素の各カラーチャンネルの色値の和を計算し、その後、各カラーチャンネルの色値の和と、第１のオーバーラップ画像における画素（ｉ，ｊ）の各カラーチャンネルの色値の和との差を取得し、差が最小となる画素を第２のオーバーラップ画像において第１のオーバーラップ画像における画素（ｉ，ｊ）に対応する画素とする。もちろん、第２のオーバーラップ画像において第１のオーバーラップ画像における画素に対応する画素を決定する他の方式もあり得る。
【００２３】
Ｓ１０２２で、前記第１のオーバーラップ画像におけるこの画素点の座標と、前記第２のオーバーラップ画像における対応する画素点の座標とに基づいて、対応する動きベクトルを決定する。
【００２４】
第１のオーバーラップ画像における画素（ｉ，ｊ）が第２のオーバーラップ画像における画素（ｉｉ，ｊｊ）に対応すると仮定すると、ｆｌｏｗ（ｉ，ｊ）．ｘ＝ｊｊ−ｊ、ｆｌｏｗ（ｉ，ｊ）．ｙ＝ｉｉ−ｉ、ｆｌｏｗ（ｉ，ｊ）＝（ｆｌｏｗ（ｉ，ｊ）．ｘ、ｆｌｏｗ（ｉ，ｊ）．ｙ）となる。ここで、ｆｌｏｗ（ｉ，ｊ）は、第１のオーバーラップ画像における画素（ｉ，ｊ）の動きベクトルであり、ｆｌｏｗ（ｉ，ｊ）．ｘは、動きベクトルの水平方向の成分であり、ｆｌｏｗ（ｉ，ｊ）．ｙは、垂直方向の成分である。図４に示すように、図４は、第１のオーバーラップ画像から第２のオーバーラップ画像までのオプティカルフローベクトル行列の階調の概略図であり、その中に、白の部分の画素の動きベクトルは（０，０）であり、すなわち、変位が発生していなく、他の色の部分の画素は変位が発生し、異なる色は異なる動きベクトルすなわち異なる変位値を表す。
【００２５】
Ｓ１０３で、前記オプティカルフローベクトル行列に基づいて、前記第１のオーバーラップ画像を再マッピングして第１の再マッピング画像を得、及び、前記第２のオーバーラップ画像を再マッピングして第２の再マッピング画像を得、
図３ｂおよび図３ｃに示すように、図３ｂは、図３ａにおける第１のオーバーラップ画像を再マッピングして得られた第１の再マッピング画像であり、図３ｃは、図３ａにおける第２のオーバーラップ画像を再マッピングして得られた第２の再マッピング画像である。
【００２６】
オプティカルフローベクトル行列は、第１のオーバーラップ画像と第２のオーバーラップ画像との違いを表すことができるため、オプティカルフローベクトル行列に基づいて、第１のオーバーラップ画像における各画素と第２のオーバーラップ画像における対応する画素との間の整列が実現されることができる。ここで、オプティカルフローベクトル行列に基づいて、第１のオーバーラップ画像と第２のオーバーラップ画像を再マッピングするプロセスは、実際には、画素を整列するプロセスである。
【００２７】
Ｓ１０４で、前記第１の再マッピング画像と前記第２の再マッピング画像を融合して、前記第１のオーバーラップ画像と第２のオーバーラップ画像の融合画像を得、
ここで、第１の再マッピング画像と第２の再マッピング画像を融合した後、第１のオーバーラップ画像と第２のオーバーラップ画像の融合画像を得ることができ、その後、この融合画像と、第１の画像および第２の画像における非重複部分とを共に第１の画像と第２の画像のステッチング画像を構成し、２つの画像のステッチングを実現する。もちろん、他の方式を採用して、第１の画像と第２の画像のステッチング画像を取得することもでき、例えば、第１の画像における第１のオーバーラップ画像を第１の再マッピング画像に置き換えて、第２の画像における第２のオーバーラップ画像を第２の再マッピング画像に置き換え、その後、置き換えられた第１の画像と置き換えられた第２の画像を融合して、第１の画像と第２の画像のステッチング画像を得ることができる。つまり、上記の画像ステッチング方法は、前記第１の画像における前記第１のオーバーラップ画像を前記第１の再マッピング画像に置き換えて、前記第２の画像における前記第２のオーバーラップ画像を前記第２の再マッピング画像に置き換えることをさらに含み、このようにして、ステップＳ１０４の具体的なプロセスは、前記第１の画像における第１の再マッピング画像と第２の画像における第２の再マッピング画像を融合し、第１の画像と第２の画像のステッチング画像を得ることを含む。第１の画像と第２の画像を融合するプロセスは、実際には、前記第１の画像における前記第１の再マッピング画像と前記第２の画像における前記第２の再マッピング画像を融合するプロセスである。上記の前者の方式は、まず融合を行って、融合画像を得てからステッチングを行うことにより、ステッチング画像を得る一方、後者の方式は、まず画像を置き換えてから融合を行って、融合画像を得てからステッチング画像を得る、ということが理解できる。いずれにしても、融合画像に基づいてステッチング画像を得ることができる。そのため、上記のステップＳ１０４で、融合画像を得た後、融合画像に基づいて第１の画像と第２の画像のステッチング画像を決定することができる。
【００２８】
本願の実施例により提供される画像ステッチング方法は、画像を融合する前に、オプティカルフローベクトル行列を用いて第１のオーバーラップ画像と第２のオーバーラップ画像を再マッピングすることにより、重複領域の画素を1つずつ整列させるため、画像の継ぎ目によく発生する破断や違和感などの問題を改善することができ、パノラマビデオのライブ放送に非常に適用することができる。図３ｄに示すように、図３ｄにおける左側は、図３ｂと図３ｃを融合して得られた融合画像であり、図３ｄにおける右側は、融合画像における破線枠領域の拡大概略図である。図３ｅに示すように、図３ｅにおける右側は、再マッピングするためにオプティカルフローベクトル行列を用いないで直接に融合を行って得られた融合画像であり、図３ｅにおける左側は、この融合画像における破線枠領域の拡大概略図であり、図３ｅにおいて継ぎ目部分に著しい破断が生じているが、図３ｄにおいて、継ぎ目部分に破断などの問題は発生しない。ここから分かるように、融合を行う前に、オプティカルフローベクトル行列を用いてオーバーラップ画像を再マッピングすることは、破断などの問題を解決するための有効な方法である。
【００２９】
いくつかの実施例では、ステッチングプロセス中に第１のオーバーラップ画像から第２のオーバーラップ画像への遷移変化を制御するために、Ｓ１０３を実行する前に、本願の実施例により提供される方法は、さらに、以下のステップを含み、即ち、
前記第１のオーバーラップ画像から前記第２のオーバーラップ画像への遷移重み行列を決定し、
このようにして、ステップＳ１０３は、前記遷移重み行列と前記オプティカルフローベクトル行列とに基づいて、前記第１のオーバーラップ画像を再マッピングして第１の再マッピング画像を得、及び、前記第２のオーバーラップ画像を再マッピングして第２の再マッピング画像を得ることを具体的に含むようにしてもよい。
【００３０】
上記のプロセスでは、遷移重み行列を決定する方式は様々があり、以下では、図２ｃを参照しながら、そのうちの１つを紹介する。
【００３１】
Ｓ２０１で、前記第１のオーバーラップ画像と前記第２のオーバーラップ画像のオーバーラップ行列を決定し、ここで、前記第１のオーバーラップ画像と前記第２のオーバーラップ画像の共通の有効部分の画素の前記オーバーラップ行列における対応する位置にある要素の値は、第１の所定値であり、他の部分の画素の前記オーバーラップ行列における対応する位置にある要素の値は、第１の所定値とは異なる第２の所定値であり、
実際に画像を撮影する際に、撮影して得られた画像は本物の長方形ではないため、図５を参照して、図５は、図３ａにおける第１の画像と第２の画像の境界の概略図であり、図から分かるように、第１の画像と第２の画像の左右両側及び下側に円弧状の凹みがあり、これは、カメラやレンズの構造に起因するものである。第１のオーバーラップ画像にとって、凹みは右側にあり、第２のオーバーラップ画像にとって、凹みは左側にあり、また、第１のオーバーラップ画像と第２のオーバーラップ画像の下側にも部分的な凹みがあり、これらの凹んだ部分には実際の画像コンテンツがないため、無効な部分になる。したがって、このステップにおいて、「有効」とは、実際の画像コンテンツがあることを意味し、「無効」とは、実際の画像コンテンツがないことを意味する。
【００３２】
オーバーラップ行列において、第１のオーバーラップ画像と第２のオーバーラップ画像の共通の有効部分、及び、第１のオーバーラップ画像と第２のオーバーラップ画像の他の部分を反映する必要があるため、オーバーラップ行列のサイズと、第１のオーバーラップ画像、第２のオーバーラップ画像のサイズとは同じであり、つまり、オーバーラップ行列における要素の個数と、第１のオーバーラップ画像、第２のオーバーラップ画像における画素の個数とはいずれも同じである。
【００３３】
上記の第１の所定値および第２の所定値は、必要に応じて設定されることができ、例えば、第１の所定値が２５５に設定され、第２の所定値が０に設定され、この場合、オーバーラップ行列が画像に変換されると、図６に示すように、第１のオーバーラップ画像と第２のオーバーラップ画像の共通の有効部分に対応する部分は白色のものになり、他の部分は黒色のものになる。
【００３４】
Ｓ２０２で、前記オーバーラップ行列の各行における前記第１の所定値の要素の列座標範囲を決定し、
図６に示す画像に対応するオーバーラップ行列を例として、列座標範囲を決定するプロセスを例示して説明する。
【００３５】
オーバーラップ行列はｏｖｅｒｌａｐで表され、オーバーラップ行列ｏｖｅｒｌａｐのｉ行目に対して、列座標範囲の最小列座標ｓｔａｒｔ＿ｉと最大列座標ｅｎｄ＿ｉとを初期化し、ｓｔａｒｔ＿ｉ＝Ｗ−１、ｅｎｄ＿ｉ＝０であり、ここで、Ｗは、オーバーラップ行列の幅である。
【００３６】
ｉ行目について、ｊ＝０から、ｊ＝Ｗ−１まで以下の動作が行われ、即ち、
ｏｖｅｒｌａｐ（ｉ，ｊ）＝２５５であれば、対応するｊがｓｔａｒｔ＿ｉより小さいかどうかを判断し、そうであれば、ｓｔａｒｔ＿ｉ＝ｊになり、そうでなければ、ｓｔａｒｔ＿ｉのままになる。その後、対応するｊがｅｎｄ＿ｉより大きいかどうかを判断し、そうであれば、ｅｎｄ＿ｉ＝ｊになり、そうでなければ、ｅｎｄ＿ｉのままになる。
【００３７】
i行目における各要素がトラバースされた後、最終的なstart_iとend_iを得、この時のstart_iは、i行目における第１の所定値の要素の最小列座標であり、end_iは、i行目における第１の所定値の要素の最大列座標である。
【００３８】
ｏｖｅｒｌａｐの各行について、ｓｔａｒｔ＿ｉ、ｅｎｄ＿ｉをいずれも初期化してトラバースし、各行における第１の所定値の要素の列座標範囲を得る。ここで、ｉは、０からＨ−１までトラバースされ、Ｈは、オーバーラップ行列ｏｖｅｒｌａｐの高さである。
【００３９】
Ｓ２０３で、前記列座標範囲とこの行における各要素の列座標とに基づいて、この要素の遷移重みを計算し、前記オーバーラップ行列における各要素の遷移重みを前記遷移重み行列に形成する。
【００４０】
オーバーラップ行列の各行における第１の所定値の要素の列座標範囲に基づいて、各要素の遷移重みを決定する方式は様々があり、そのうちの１つは、下式を採用して、前記オーバーラップ行列におけるｉ行目ｊ列目の要素の遷移重み、すなわち、遷移重み行列におけるｉ行目ｊ列目の要素の値を計算することである。
【００４１】
【数１】
0006970283.tif 000002
式では、Ｗｅｉｇｈｔ１（ｉ，ｊ）は、前記オーバーラップ行列におけるｉ行目ｊ列目の要素の遷移重みであり、ｓｔａｒｔ＿ｉは、前記オーバーラップ行列におけるｉ行目の前記列座標範囲内の最小列座標であり、ｅｎｄ＿ｉは、前記オーバーラップ行列におけるｉ行目の値が前記列座標範囲内の最大列座標である。
【００４２】
オーバーラップ行列における各要素（第１のオーバーラップ画像と第２のオーバーラップ画像の共通の有効部分に対応する要素を含み、他の部分に対応する要素も含む）は、いずれも上式（１）を採用してトラバースされ、対応する遷移重みを得る。上式（１）を採用して計算を行うプロセスでは、ある遷移重みが１より大きいまたは０より小さい場合がある可能性があり、１より大きい場合で、この１より大きい遷移重みを１に設定でき、０より小さい場合で、この０より小さい遷移重みを０に設定でき、これによって、遷移重み行列における各要素が０〜１の範囲内に維持される。図６に示すように、図６は、遷移重み行列の概略図であり、この遷移重み行列において、左から右にかけては、白から黒へ変化され、つまり、遷移重み行列における各列の要素の値が大から小へ徐々に減少されるということが分かる。
【００４３】
ここで、まず遷移重み行列を計算し、その後、遷移重み行列とオプティカルフローベクトル行列を用いてオーバーラップ画像を再マッピングし、遷移重み行列を用いない方式に対して、画像を滑らかに遷移させ、さらに、ステッチング画像の品質を向上させることができる。
【００４４】
いくつかの実施例では、図２ｄを参照して、遷移重み行列とオプティカルフローベクトル行列とに基づいて、第１のオーバーラップ画像と第２のオーバーラップ画像を再マッピングするプロセスは、以下のステップを含み、即ち、
Ｓ１０３１で、前記オプティカルフローベクトル行列と前記遷移重み行列とに基づいて、第１の遷移マッピング行列と第２の遷移マッピング行列を計算し、ここで、前記第１の遷移マッピング行列は、前記第１のオーバーラップ画像から前記第２のオーバーラップ画像への遷移マッピング行列であり、前記第２の遷移マッピング行列は、前記第２のオーバーラップ画像から前記第１のオーバーラップ画像への遷移マッピング行列である。
【００４５】
具体的に実施する際に、第1の遷移マッピング行列は、以下のように計算されてもよく、即ち、
【００４６】
【数２】
0006970283.tif 000003
であれば、下式（２）を採用して、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素を計算し、
【００４７】
【数３】
0006970283.tif 000004
そうでなければ、下式（３）を採用して、第１の遷移マッピング行列におけるｉ行目ｊ列目の要素を計算し、
【００４８】
【数４】
0006970283.tif 000005
上式（２）および（３）では、Ｗｅｉｇｈｔ１（ｉ，ｊ）は、前記遷移重み行列におけるｉ行目ｊ列目の要素の値であり、Ｗａｒｐ１（ｉ，ｊ）は、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ１（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ１（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）は、前記オプティカルフローベクトル行列におけるｉ行目ｊ列目の要素で表される動きベクトルであり、ｆｌｏｗ（ｉ，ｊ）．ｙは、前記動きベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）．ｘは、前記動きベクトルの水平方向の成分である。
【００４９】
同様に、第２の遷移マッピング行列は、以下のように計算されてもよく、即ち、
【００５０】
【数５】
0006970283.tif 000006
【００５１】
【数６】
0006970283.tif 000007
そうでなければ、下式（５）を採用して、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素を計算し、
【００５２】
【数７】
0006970283.tif 000008
上式（４）および（５）では、Ｗａｒｐ２（ｉ，ｊ）は、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ２（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ２（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分である。
【００５３】
Ｓ１０３２で、前記第１の遷移マッピング行列を用いて、前記第１のオーバーラップ画像を再マッピングして前記第１の再マッピング画像を得、及び、前記第２の遷移マッピング行列を用いて、前記第２のオーバーラップ画像を再マッピングして前記第２の再マッピング画像を得る。
【００５４】
画像に再マッピングするプロセスは、実際には、再マッピング画像における各画素の色値を求めるプロセスであり、具体的に実施する際に、下式（６）を採用して、第１の再マッピング画像におけるｉ行目ｊ列目の画素の色値を計算し、
【００５５】
【数８】
0006970283.tif 000009
上式では、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｄｓｔ（ｉ，ｊ）は、前記第１の再マッピング画像におけるｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｓｒｃ（ｉｉ，ｊｊ）は、前記第１のオーバーラップ画像におけるｉｉ行目ｊｊ列目の画素の色値であり、ｉｉ＝Ｗａｒｐ１（ｉ，ｊ）．ｙ、ｊｊ＝Ｗａｒｐ１（ｉ，ｊ）．ｘであり、Ｗａｒｐ１（ｉ，ｊ）は、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ１（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ１（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分である。
【００５６】
同様に、下式（７）を採用して、第２の再マッピング画像におけるi行目j列目の画素の色値を計算し、
【００５７】
【数９】
0006970283.tif 000010
式では、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｄｓｔ（ｉ，ｊ）は、前記第２の再マッピング画像におけるｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｓｒｃ（ｉｉ，ｊｊ）は、前記第２の再マッピング画像におけるｉｉ行目ｊｊ列目の画素の色値であり、ｉｉ＝Ｗａｒｐ２（ｉ，ｊ）．ｙ、ｊｊ＝Ｗａｒｐ２（ｉ，ｊ）．ｘであり、Ｗａｒｐ２（ｉ，ｊ）は、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ２（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ２（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分である。
【００５８】
ここで、まず遷移マッピング行列を計算し、その後、遷移マッピング行列を用いてオーバーラップ画像を再マッピングし、この方法によって、オーバーラップ画像を再マッピングすることが実現され、方法は、簡単で、実現しやすい。
【００５９】
いくつかの実施例では、ステップＳ１０４で融合を行うプロセスは、様々な方式があり、通常の画像融合技術を参照すればよく、もちろん、図２ｅを参照して以下の融合方式で画像ステッチングを実現してもよく、即ち、
Ｓ１０４１で、前記オーバーラップ行列における各要素の遷移重みと所定閾値との間の関係に基づいて、対応する要素の融合重みを決定し、前記オーバーラップ行列における各要素の融合重みを融合重み行列に形成し、
上記の所定閾値は、必要に応じて選択されてもよいし、本願の実施例ではこれに対して限定されていない。
【００６０】
融合重みを決定する具体的なプロセスは、以下のものを含み、即ち、この要素の遷移重みが所定閾値より大きい場合、この要素に対応する融合重みは１になり、そうでなければ、この要素に対応する融合重みは０になる。
【００６１】
以下、所定閾値が０．５であるということを例として、このステップを説明する。
【００６２】
前記オーバーラップ行列における各要素の遷移重みも、遷移重み行列における対応する要素の値であり、Ｗｅｉｇｈｔ１（ｉ，ｊ）にとって、Ｗｅｉｇｈｔ１（ｉ，ｊ）が０．５より大きい場合、Ｗｅｉｇｈｔ２（ｉ，ｊ）は１になり、そうでなければ、Ｗｅｉｇｈｔ２（ｉ，ｊ）は０になる。ここから分かるように、得られた融合重み行列における要素の値は１または０である。
【００６３】
図７ａに示すように、図7ａは、遷移重み行列の概略図であり、左から右にかけては、画像の色が徐々に深くなる。図７ｂに示すように、図７ｂは、融合重み行列の概略図であり、画像には、黒と白のみがあり、遷移色はないということが分かる。
【００６４】
Ｓ１０４２で、前記融合重み行列を用いて、前記第１の再マッピング画像と前記第２の再マッピング画像を融合する。
【００６５】
具体的に融合を行うプロセスでは、多重解像度融合（ｍｕｌｔｉｒｅｓｏｌｕｔｉｏｎ  ｂｌｅｎｄｉｎｇ）を用いることができ、図２ｆに示すように、具体的な融合プロセスは、以下のステップを含み、即ち、
Ｓ１０４２１で、前記第１の再マッピング画像および前記第２の再マッピング画像のラプラシアンピラミッド（Ｌａｐｌａｃｉａｎ  ｐｙｒａｍｉｄｓ）をそれぞれ確立し、前記融合重み行列のガウシアンピラミッド（Ｇａｕｓｓｉａｎ  ｐｙｒａｍｉｄ）を確立する。
【００６６】
ラプラシアンピラミッドとガウシアンピラミッドは、いずれも多重解像度表現の方式であり、違いのは、ラプラシアンピラミッドが融合プロセスにおいてより多くの詳細を維持することができ、ガウシアンピラミッドが融合プロセスにおいて継ぎ目を曖昧化にすることができ、つまり、高周波部分においては小さな融合領域を用いて、低周波部分においては大きな融合領域を用いることにより、継ぎ目を除去するとともに画像の元の詳細情報を最大限に維持することができる。
【００６７】
Ｓ１０４２２で、前記ガウシアンピラミッドを用いて、前記第１の再マッピング画像のラプラシアンピラミッドと前記第２の再マッピング画像のラプラシアンピラミッドを融合し、融合ピラミッドを得る。
【００６８】
ガウシアンピラミッドとラプラシアンピラミッドは、いずれも多層があるため、下式（８）を採用し、前記第１の再マッピング画像のラプラシアンピラミッドと前記第２の再マッピング画像のラプラシアンピラミッドにおける第ｌｅｖｅｌ層のｉ行目ｊ列目の画素を融合する。
【００６９】
【数１０】
0006970283.tif 000011
式では、Ｒｅｓｕｌｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記融合ピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記第１の再マッピング画像のラプラシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記第２の再マッピング画像のラプラシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、Ｗｅｉｇｈｔ２＿ＧＲ（ｉ，ｊ，ｌｅｖｅｌ）は、前記ガウシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の要素の値である。
【００７０】
ラプラシアンピラミッドにおける各層の各画素について、いずれも上式（８）を採用して計算し、最後に１つの融合ピラミッドを得ることができる。
【００７１】
Ｓ１０４２３で、前記融合ピラミッドに対して画像復元（image  restoration）を行い、前記融合画像を得る。
【００７２】
ここでの還元とは、画像ピラミッドを画像に還元するプロセスのことであり、前の第１の再マッピング画像と第２の再マッピング画像とに基づいてラプラシアンピラミッドを生成するプロセスとは正反対である。具体的には、最上階から最下階まで順に補間拡大を行って、次の層に加算し、最終的には１つの画像、つまり融合画像を得る。ここでの融合画像は、第１のオーバーラップ画像と第２のオーバーラップ画像の融合画像であり、第１の画像および第２の画像における非重複部分を加えて、第１の画像と第２の画像の全体的なステッチング画像を構成する必要がある。
【００７３】
ラプラシアンピラミッドは融合プロセスにおいてより多くの詳細を維持することができ、ガウシアンピラミッドは融合プロセスにおいて継ぎ目を曖昧化にすることができるため、継ぎ目を除去するとともに画像の元の詳細情報が最大限に維持され、更に、ステッチング画像の品質が改善されることができる。
【００７４】
説明すべきものとして、本願の実施例では、画像の単位は画素であり、行列の単位は要素であり、実際には、画像と行列は対応するものであり、画素と要素も対応するものである。
【００７５】
一方、本願の実施例は、図１のサーバ２００に設けられてもよく、図１の端末デバイス１００に設けられてもよい、画像ステッチング装置をも提供し、該装置は、
少なくとも１つのメモリと、
少なくとも１つのプロセッサと、を備え、
ここで、前記少なくとも１つのメモリに、前記少なくとも１つのプロセッサによって実行されるように配置されている少なくとも１つの命令モジュールが記憶されており、図８に示すように、前記画像ステッチング装置における少なくとも１つの命令モジュールは、
第１の画像において第２の画像と重なる領域である第１のオーバーラップ画像と、第２の画像において第１の画像と重なる領域である第２のオーバーラップ画像とを取得する取得モジュール８０１であって、前記第１の画像と前記第２の画像はステッチング対象の隣接画像である取得モジュール８０１と、
前記第１のオーバーラップ画像における各画素点から前記第２のオーバーラップ画像における対応する画素点までの動きベクトルを決定し、オプティカルフローベクトル行列を得る決定モジュール８０２と、
前記オプティカルフローベクトル行列に基づいて、前記第１のオーバーラップ画像を再マッピングして第１の再マッピング画像を得、及び、前記第２のオーバーラップ画像を再マッピングして第２の再マッピング画像を得る再マッピングモジュール８０３と、
前記第１の再マッピング画像と前記第２の再マッピング画像を融合して、前記第１のオーバーラップ画像と第２のオーバーラップ画像の融合画像を得る融合モジュール８０４とを備える。
【００７６】
理解できるものとして、本願の実施例により提供される画像ステッチング装置は、第１の態様における実施例により提供される画像ステッチング方法の機能アーキテクチャモジュールであるため、本願の実施例における関連内容の解釈、例、有益な効果などの部分について、第１の態様における実施例により提供される画像ステッチング方法における対応する部分を参照することができ、ここでは改めて説明しない。
【００７７】
いくつかの実施例では、決定モジュール８０２は、また、
前記第１のオーバーラップ画像から前記第２のオーバーラップ画像への遷移重み行列を決定するようにしてもよいし、
ここで、再マッピングモジュール８０３は、前記オプティカルフローベクトル行列と前記遷移重み行列とに基づいて、前記第１のオーバーラップ画像を再マッピングして第１の再マッピング画像を得、及び、前記第２のオーバーラップ画像を再マッピングして第２の再マッピング画像を得るようにしてもよい。
【００７８】
いくつかの実施例では、決定モジュール８０２が前記第１のオーバーラップ画像から前記第２のオーバーラップ画像への遷移重み行列を決定するプロセスは、以下のステップを含み、即ち、
前記第１のオーバーラップ画像と前記第２のオーバーラップ画像のオーバーラップ行列を決定し、ここで、前記第１のオーバーラップ画像と前記第２のオーバーラップ画像の共通の有効部分の画素の前記オーバーラップ行列における対応する位置にある要素の値は、第１の所定値であり、他の部分の画素の前記オーバーラップ行列における対応する位置にある要素の値は、第１の所定値とは異なる第２の所定値であり、
前記オーバーラップ行列の各行における前記第１の所定値の要素の列座標範囲を決定し、
前記列座標範囲と、この行の各要素の列座標とに基づいて、この要素の遷移重みを決定し、前記オーバーラップ行列における各要素の遷移重みを前記遷移重み行列に形成する。
【００７９】
いくつかの実施例では、決定モジュール８０２は、下式を採用して、前記オーバーラップ行列におけるｉ行目ｊ列目の要素の遷移重みを決定することができ、
【００８０】
【数１１】
0006970283.tif 000012
式では、Ｗｅｉｇｈｔ１（ｉ，ｊ）は、前記オーバーラップ行列におけるｉ行目ｊ列目の要素の遷移重みであり、ｓｔａｒｔ＿ｉは、前記オーバーラップ行列のｉ行目における前記列座標範囲内の最小列座標であり、ｅｎｄ＿ｉは、前記オーバーラップ行列のｉ行目における前記列座標範囲内の最大列座標である。
【００８１】
いくつかの実施例では、再マッピングモジュール８０３が、前記第１のオーバーラップ画像を再マッピングして第１の再マッピング画像を得、及び、前記第２のオーバーラップ画像を再マッピングして第２の再マッピング画像を得るプロセスは、以下のステップを含むようにしてもよく、即ち、
前記オプティカルフローベクトル行列と前記遷移重み行列とに基づいて、第１の遷移マッピング行列と第２の遷移マッピング行列を決定し、ここで、前記第１の遷移マッピング行列は、前記第１のオーバーラップ画像から前記第２のオーバーラップ画像への遷移マッピング行列であり、前記第２の遷移マッピング行列は、前記第２のオーバーラップ画像から前記第１のオーバーラップ画像への遷移マッピング行列であり、
前記第１の遷移マッピング行列を用いて、前記第１のオーバーラップ画像を再マッピングして前記第１の再マッピング画像を得、及び、前記第２の遷移マッピング行列を用いて、前記第２のオーバーラップ画像を再マッピングして前記第２の再マッピング画像を得る。
【００８２】
いくつかの実施例では、再マッピングモジュール８０３が第１の遷移マッピング行列を決定する方法は、以下のステップを含むようにしてもよく、即ち、
【００８３】
【数１２】
0006970283.tif 000013
【００８４】
【数１３】
0006970283.tif 000014
そうでなければ、下式を採用して、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素を計算し、
【００８５】
【数１４】
0006970283.tif 000015
上式では、Ｗｅｉｇｈｔ１（ｉ，ｊ）は、前記遷移重み行列におけるｉ行目ｊ列目の要素の値であり、Ｗａｒｐ１（ｉ，ｊ）は、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ１（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ１（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）は、前記オプティカルフローベクトル行列におけるｉ行目ｊ列目の要素で表される動きベクトルであり、ｆｌｏｗ（ｉ，ｊ）．ｙは、前記動きベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）．ｘは、前記動きベクトルの水平方向の成分である。
いくつかの実施例では、再マッピングモジュール８０３は、下式を採用して、前記第１の再マッピング画像におけるｉ行目ｊ列目の画素の色値を決定することができ、
【００８６】
【数１５】
0006970283.tif 000016
上式では、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｄｓｔ（ｉ，ｊ）は、前記第１の再マッピング画像におけるｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｓｒｃ（ｉｉ，ｊｊ）は、前記第１のオーバーラップ画像におけるｉｉ行目ｊｊ列目の画素の色値であり、ｉｉ＝Ｗａｒｐ１（ｉ，ｊ）．ｙ、ｊｊ＝Ｗａｒｐ１（ｉ，ｊ）．ｘであり、Ｗａｒｐ１（ｉ，ｊ）は、前記第１の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ１（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ１（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分である。
【００８７】
いくつかの実施例では、再マッピングモジュール８０３が第２の遷移マッピング行列を決定する方法は、以下のステップを含むようにしてもよく、即ち、
【００８８】
【数１６】
0006970283.tif 000017
【００８９】
【数１７】
0006970283.tif 000018
そうでなければ、下式を採用して、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素を計算し、
【００９０】
【数１８】
0006970283.tif 000019
上式では、Ｗｅｉｇｈｔ１（ｉ，ｊ）は、前記遷移重み行列におけるｉ行目ｊ列目の要素の値であり、Ｗａｒｐ２（ｉ，ｊ）は、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ２（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ２（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）は、前記オプティカルフローベクトル行列におけるｉ行目ｊ列目の要素で表される動きベクトルであり、ｆｌｏｗ（ｉ，ｊ）．ｙは、前記動きベクトルの垂直方向の成分であり、ｆｌｏｗ（ｉ，ｊ）．ｘは、前記動きベクトルの水平方向の成分である。
【００９１】
いくつかの実施例では、再マッピングモジュール８０３は、下式を採用して、前記第２の再マッピング画像におけるｉ行目ｊ列目の画素の色値を決定することができ、
【００９２】
【数１９】
0006970283.tif 000020
式では、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｄｓｔ（ｉ，ｊ）は、前記第２の再マッピング画像におけるｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｓｒｃ（ｉｉ，ｊｊ）は、前記第２の再マッピング画像におけるｉｉ行目ｊｊ列目の画素の色値であり、ｉｉ＝Ｗａｒｐ２（ｉ，ｊ）．ｙ、ｊｊ＝Ｗａｒｐ２（ｉ，ｊ）．ｘであり、Ｗａｒｐ２（ｉ，ｊ）は、前記第２の遷移マッピング行列におけるｉ行目ｊ列目の要素で表されるマッピングベクトルであり、Ｗａｒｐ２（ｉ，ｊ）．ｘは、前記マッピングベクトルの水平方向の成分であり、Ｗａｒｐ２（ｉ，ｊ）．ｙは、前記マッピングベクトルの垂直方向の成分である。
【００９３】
いくつの実施例では、決定モジュール８０２は、また、前記オーバーラップ行列における各要素の遷移重みと所定閾値との間の関係に基づいて、対応する要素の融合重みを決定し、前記オーバーラップ行列における各要素の融合重みを融合重み行列に形成するようにしてもよく、
ここで、融合モジュール８０４は、前記融合重み行列を用いて、前記第１の再マッピング画像と前記第２の再マッピング画像を融合するようにしてもよい。
【００９４】
いくつかの実施例では、決定モジュール８０２が、対応する要素の融合重みを決定するプロセスは、以下のステップを含むようにしてもよく、即ち、
この要素の遷移重みが所定閾値より大きい場合、この要素に対応する融合重みは１になり、そうでなければ、この要素に対応する融合重みは０になる。
【００９５】
いくつかの実施例では、融合モジュール８０４が、前記第１の再マッピング画像と前記第２のマッピング画像を融合するプロセスは、以下のステップを含むようにしてもよく、即ち、
前記第１の再マッピング画像および前記第２の再マッピング画像のラプラシアンピラミッドをそれぞれ確立し、前記融合重み行列のガウシアンピラミッドを確立し、
前記ガウシアンピラミッドを用いて、前記第１の再マッピング画像のラプラシアンピラミッドと前記第２の再マッピング画像のラプラシアンピラミッドを融合し、融合ピラミッドを得、
前記融合ピラミッドを画像復元し、前記融合画像を得る。
【００９６】
いくつかの実施例では、融合モジュール８０４は、下式を採用して、前記第１の再マッピング画像および前記第２の再マッピング画像のラプラシアンピラミッドにおける第ｌｅｖｅｌ層のｉ行目ｊ列目の画素を融合するようにしてもよく、
【００９７】
【数２０】
0006970283.tif 000021
式では、Ｒｅｓｕｌｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記融合ピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｌｅｆｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記第１の再マッピング画像のラプラシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、ｏｖｅｒｌａｐ＿ｒｉｇｈｔ＿ｄｓｔ＿ＬＳ（ｉ，ｊ，ｌｅｖｅｌ）は、前記第２の再マッピング画像のラプラシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の画素の色値であり、Ｗｅｉｇｈｔ２＿ＧＲ（ｉ，ｊ，ｌｅｖｅｌ）は、前記ガウシアンピラミッドの第ｌｅｖｅｌ層のｉ行目ｊ列目の要素の値である。
【００９８】
上記の各モジュールは、上記の方法における各ステップに対応しているため、本願の実施例により提供される画像ステッチング装置の構成は、以下のように説明されてもよい、ということが理解される。
【００９９】
前記画像ステッチング装置は、
少なくとも１つのメモリと、
少なくとも１つのプロセッサと、を備え、
ここで、前記少なくとも１つのメモリに、少なくとも１つの命令が記憶されており、前記少なくとも１つの命令が前記少なくとも１つのプロセッサによって実行される場合、上記の画像ステッチング方法のステップが実現される。
【０１００】
別の態様では、本願のいくつかの実施例は、また、不揮発性コンピュータ読み取り可能な記憶媒体を提供し、、記憶媒体には、コンピュータプログラムが記憶されてあり、このプログラムがプロセッサによって実行される場合、上記のいずれかの方法のステップが実現される。
【０１０１】
上記の記憶媒体は、例えば、Ｕディスク、モバイルハードディスク、リードオンリーメモリ（ＲＯＭ：Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ランダムアクセスメモリ（ＲＡＭ：Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、磁気ディスクまたは光ディスクなど、プログラムコードを記憶することができる様々な媒体がある。
【０１０２】
別の態様では、本願の実施例は、また、コンピュータデバイスを提供し、図９に示すように、このコンピュータデバイスは、１つまたは複数のプロセッサ（ＣＰＵ）９０２と、通信モジュール９０４と、メモリ９０６と、ユーザインターフェース９１０と、これらのコンポーネントを相互接続するための通信バス９０８とを備え、ここで、
プロセッサ９０２は、ネットワーク通信および／またはローカル通信を実現するように、通信モジュール９０４を介してデータを受送信することができる。
【０１０３】
ユーザインターフェース９１０は、１つまたは複数のスピーカおよび／または１つまたは複数の可視化ディスプレイを含む１つまたは複数の出力デバイス９１２を含む。ユーザインタフェース９１０は、例えばキーボード、マウス、音声コマンド入力ユニットまたは拡声器、タッチスクリーンディスプレイ、タッチセンサー入力ボード、姿勢キャプチャカメラまたは他の入力ボタンまたはコントロールなどを含む１つまたは複数の入力デバイス９１４をも含む。
【０１０４】
メモリ９０６は、例えばＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体記憶デバイスのような高速ランダムアクセスメモリであってもよく、または、例えば１つまたは複数の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、または他の不揮発性固体記憶デバイスのような不揮発性メモリであってもよい。
【０１０５】
メモリ９０６は、プロセッサ９０２が実行可能な命令セットを記憶し、
各基本システムサービスを処理し、かつ、ハードウェア関連タスクを実行するためのプログラムを含むオペレーティングシステム９１６と、
ビデオセリフ処理用の各種アプリケーションを含むアプリケーション９１８と、を備え、このようなアプリケーションは、上記の各実施例の処理フローを実現することができ、例えば、画像ステッチング装置８００の一部または全部の命令モジュールまたはユニットを含むことができるる。プロセッサ９０２は、メモリ９０６における各ユニットのうちの少なくとも１つにおけるマシン実行可能命令を実行することにより、上記の各ユニットまたはモジュールのうちの少なくとも１つの機能を実現することができる。
【０１０６】
説明すべきものとして、上記の各フローおよび各構成図には、すべてのステップおよびモジュールが必要ではなく、実際の必要に応じて、いくつかのステップまたはモジュールが無視されることができる。各ステップの実行順序は固定されていなく、必要に応じて調整されることができる。各モジュールの区分は、採用された機能上の区分を説明しやすくするためだけに、実際に実現される場合、１つのモジュールが複数のモジュールに分けて実現されてもよく、複数のモジュールの機能が同一のモジュールによって実現されてもよいし、これらのモジュールが同一のデバイスにあってもよく、異なるデバイスにあってもよい。
【０１０７】
各実施例におけるハードウェアモジュールは、ハードウェア方式またはハードウェアプラットフォームにソフトウェアを加えた方式で実装されてもよい。上記のソフトウェアは、不揮発性記憶媒体に記憶される機器読み取り可能な命令を含む。したがって、各実施例は、ソフトウェア製品としても具現化され得る。
【０１０８】
各実施例では、ハードウェアは、専用ハードウェアまたは機器読み取り可能な命令を実行するハードウェアによって実現され得る。例えば、ハードウェアは、特定の動作を完成するための、専門的に設計された永久回路または論理デバイス（例えば、ＦＰＧＡまたはＡＳＩＣなどのような専用プロセッサ）であってもよい。ハードウェアは、特定の動作を実行するための、ソフトウェアによって一時的に配置されたプログラム可能論理デバイスまたは回路を含む（例えば、汎用プロセッサまたは他のプログラマブルプロセッサを含む）ようにしてもよい。
【０１０９】
また、本願の各実施例は、例えばコンピュータのようなデータ処理デバイスにより実行されるデータ処理プログラムによって実現されてもよい。明らかに、データ処理プログラムは本願を構成している。また、通常、１つの記憶媒体に記憶されているデータ処理プログラムは、プログラムを直接に記憶媒体から読み出したりしたり、プログラムをデータ処理デバイスの記憶デバイス（ハードディスクやメモリ）にインストールまたはコピーしたりすることによって実行される。したがって、このような記憶媒体も本願を構成しており、本願は、また、本願の上記方法の実施例のうちのいずれかを実行できるためのデータ処理プログラムが記憶されている不揮発性の記憶媒体をも提供する。
【０１１０】
図９のモジュールに対応する機器読み取り可能な命令は、コンピュータで動作するオペレーティングシステムなどに、ここで説明する部分または全部の動作を完了させることができる。不揮発性コンピュータ読み取り可能な記憶媒体は、コンピュータ内に挿入された拡張ボードに設定されたメモリ、またはコンピュータに接続された拡張ユニットに設定されたメモリであってもよい。拡張ボードや拡張ユニットにインストールされたＣＰＵなどは、命令に従って、部分と全部の実際の操作を実行することができる。
【０１１１】
以上述べたのは、本願の一部の実施例にすぎず、本願を限定するものではない。本願の精神及び原則の範囲内で行われた、いかなる修正、均等置換、改善等は、すべて本願の保護範囲内に含まれるべきである。
【図１】
0006970283.tif 000032
【図２ａ】
0006970283.tif 000033
【図２ｂ】
0006970283.tif 000034
【図２ｃ】
0006970283.tif 000035
【図２ｄ】
0006970283.tif 000036
【図２ｅ】
0006970283.tif 000037
【図２ｆ】
0006970283.tif 000038
【図３ａ】
0006970283.tif 000039
【図３ｂ】
0006970283.tif 000040
【図３ｃ】
0006970283.tif 000041
【図３ｄ】
0006970283.tif 000042
【図３ｅ】
0006970283.tif 000043
【図４】
0006970283.tif 000044
【図５】
0006970283.tif 000045
【図６】
0006970283.tif 000046
【図７ａ】
0006970283.tif 000047
【図７ｂ】
0006970283.tif 000048
【図８】
0006970283.tif 000049
【図９】
0006970283.tif 000050