(57)【特許請求の範囲】
【請求項１】
装置の１つ以上の位置センサから位置情報を得る段階と、
装置から第１及び第２の画像を得る段階と、
前記第１画像における複数の領域を前記第２画像における対応する複数の領域と整列させて複数の対応領域を識別する段階と、
前記複数の対応領域の各々に対してサーチベクトルを決定する段階であって、前記第１画像の特徴部を、前記第２画像の対応特徴部に整列させるために移動する必要のある方向を決定することを含む、段階と、
前記複数の対応領域から、前記位置情報に一致するサーチベクトルを有する対応領域だけを選択して、複数の一致領域を識別する段階であって、サーチベクトルを計算できない領域及び前記位置情報により指示された移動の方向とは逆の又は実質的に逆のサーチベクトルを有する領域を破棄することを含む、段階と、
前記複数の一致領域を使用して前記第１及び第２の画像を位置合わせする段階と、
を備えた画像位置合わせ方法。
【請求項２】
前記位置情報を得る段階は、装置の加速度計またはジャイロメータから位置情報を得ることを含む、請求項１に記載の方法。
【請求項３】
前記第１及び第２の画像を得る段階は、
第１のフルサイズ画像を得、
全部より少ない前記第１のフルサイズ画像を選択して前記第１画像を発生し、
第２のフルサイズ画像を得、
全部より少ない前記第２のフルサイズ画像を選択して前記第２画像を発生する、
ことを含む、請求項１に記載の方法。
【請求項４】
前記第１画像における複数の領域を前記第２画像における対応する複数の領域と整列させる段階は、特徴部検出を使用して前記第１及び第２画像における個々の特徴部を識別することを含む、請求項１に記載の方法。
【請求項５】
前記第１画像における複数の領域を前記第２画像における対応する複数の領域と整列させる段階は、クロス相関を使用することを含む、請求項１に記載の方法。
【請求項６】
前記第１画像における複数の領域を前記第２画像における対応する複数の領域と整列させて複数の対応領域を識別する段階は、
前記選択する段階がスレッシュホールド数以上の一致領域を識別する場合には、特徴部検出を使用し、
前記選択する段階がスレッシュホールド数未満の一致領域を識別する場合には、クロス相関を使用する、
段階を含む請求項１に記載の方法。
【請求項７】
前記クロス相関を使用する段階が第２のスレッシュホールド数未満の一致領域を識別する場合には前記得られた位置情報を使用する段階を更に含む、請求項５に記載の方法。
【請求項８】
前記位置合わせする段階は、前記第１及び第２の画像を含むパノラマ画像を発生する、請求項１に記載の方法。
【請求項９】
メモリと、
画像センサと、
位置センサと、
メモリに通信結合されたディスプレイと、
前記メモリ、ディスプレイ、位置センサ、及び画像センサに通信結合されたプログラム可能なコントロール装置と、
を備え、前記メモリは、前記プログラム可能なコントロール装置が請求項１に記載の方法を遂行するようにさせるインストラクションを含むものである、電子装置。
【請求項１０】
装置により捕獲された第１画像を受け取る段階と、
１つ以上の位置センサから装置移動データを受け取る段階と、
装置により捕獲された第２画像を受け取る段階と、
前記装置移動データ及び第１画像を使用して前記第２画像において画像位置合わせを遂行する段階と、
を備え、
前記装置移動データは、前記画像位置合わせを遂行する段階で使用されるサーチベクトルを与え、
前記サーチベクトルは、前記第１画像における特徴部又は強度パターンを、前記第２画像における対応する特徴部又は強度パターンと整列させるために移動する必要のある方向を表わし、
前記画像位置合わせを遂行する段階は、前記第２画像を構成する複数の領域から、サーチベクトルを計算できない領域及び前記受け取られた装置移動データにより指示された移動の方向とは逆の又は実質的に逆のサーチベクトルを有する領域を破棄することを含み、そして
前記第２画像は、前記第１画像より後の時点で装置により捕獲される、
画像位置合わせ方法。
【請求項１１】
前記画像位置合わせを遂行する段階は、前記第１及び第２の画像において特徴部検出を遂行し、そして前記第１画像と第２画像との間で対応する検出された特徴部をマッチングさせることを含む、請求項１０に記載の方法。
【請求項１２】
前記画像位置合わせを遂行する段階は、相関メトリックを経て前記第１画像の強度パターンを前記第２画像の強度パターンとクロス相関させることを含む、請求項１０に記載の方法。
【請求項１３】
前記画像位置合わせを遂行する段階は、
特徴部検出を遂行し、そして特徴部検出の遂行により充分なデータが発生されない場合には画像位置合わせを遂行し、次いで、
クロス相関を遂行し、そしてクロス相関の遂行により充分なデータが発生されない場合には画像位置合わせを遂行し、次いで、
前記受け取られた装置移動データを使用して画像位置合わせを遂行する、
ことを含む請求項１０に記載の方法。
【請求項１４】
前記１つ以上の位置センサから装置移動データを受け取る前記段階は、装置の加速度計またはジャイロメータから情報を得ることを含む、請求項１０に記載の方法。
【請求項１５】
前記装置移動データは、更に、前記第２画像を構成する複数の領域各々に対するサーチベクトルを与える、請求項１０に記載の方法。
【請求項１６】
メモリと、
画像センサと、
位置センサと、
メモリに通信結合されたディスプレイと、
前記メモリ、ディスプレイ、位置センサ、及び画像センサに通信結合されたプログラム可能なコントロール装置と、
を備え、前記メモリは、前記プログラム可能なコントロール装置が請求項１０に記載の方法を遂行するようにさせるインストラクションを含むものである、電子装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、パノラマ写真に関する。より詳細には、本発明は、画像センサを伴うハンドヘルドパーソナル電子装置のためのパノラマ写真改善技術に関する。
【０００２】
関連出願の相互参照：本出願は、２０１１年５月１７日に各々出願された共通に譲渡された米国特許出願第１３／１０９，８７５号、第１３／１０９，８７８号、第１３／１０９，８８３号、及び第１３／１０９，９４１号に関連しており、それらは、各々、参考としてここにそのまま援用される。
【背景技術】
【０００３】
パノラマ写真とは、一般的に、細長い視野で画像を捕獲するための写真技術として定義される。人間の目を近似するか又はそれより大きい視野、例えば、約１６０°巾×７５°高さを示す画像を「パノラマ」と称する。従って、パノラマ画像は、一般的に、縦横比が２：１以上であり、画像の巾が高さの少なくとも２倍である（又は逆に、垂直パノラマ画像の場合には、高さが巾の２倍である）ことを意味する。ある実施形態では、パノラマ画像は、３６０°までの視野をカバーし、即ち「全回転」パノラマ画像となる。
【０００４】
視覚的に魅力のあるパノラマ画像を撮影する多数の挑戦が文書に残され良く知られている。これらの挑戦は、写真上の問題を含み、例えば、パノラマシーンを横切る照明条件の相違によって生じる適切な露出設定の決定の困難さ、パノラマシーン内の対象物の動きにより生じる画像の繋ぎ目にわたるボケ、及び視差の問題、即ちパースペクティブの中心（ＣＯＰ）以外の軸の周りでカメラを回転することにより連続捕獲画像のパノラマシーンにおける対象物の見掛け上の変位又は見掛け上の位置の差で生じる問題を含む。ＣＯＰは、カメラから見た視線が収斂する点と考えられる。又、ＣＯＰは、「入射瞳(entrance pupil)」とも称される。カメラのレンズの設計にもよるが、カメラの光学軸上の入射瞳の位置は、レンズシステムの後方、その中、又はその前方にある。通常、パノラマシーンの捕獲中にカメラがそのＣＯＰの周りで回転されるよう保証するため、ある程度の捕獲前実験、及びカメラスライドアッセンブリを伴う回転可能な三脚構成体が要求される。明らかに、このタイプの準備及び計算は、ハンドヘルド、パーソナル電子装置、及びアドホックパノラマ画像捕獲の世界では望ましくない。
【０００５】
視覚的に魅力のあるパノラマ画像を撮影することに関連した他の良く知られた挑戦は、後処理問題を含み、例えば、全パノラマ画像を構成するのに使用される種々の画像を適切に整列させ、全パノラマ画像を構成するのに使用される種々の画像の重畳領域間を混合し、パノラマ写真の写真的に重要な部分を歪ませることのない画像投影修正（例えば、長方形、円筒形、メルカトール）を選択し、及びその後に捕獲される画像間のパースペクティブ変化を修正することを含む。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、ハンドヘルド、パーソナル電子装置、例えば、移動電話、パーソナルデータアシスタント（ＰＤＡ）、ポータブルミュージックプレーヤ、デジタルカメラ、並びにラップトップ及びタブレットコンピュータシステムにおけるパノラマ写真の捕獲及び処理を改善する技術が要望される。ハンドヘルドパーソナル電子装置、例えば、マイクロ・電気・機械的システム（ＭＥＭＳ）加速度計及びジャイロメータに埋め込まれるか又はそれと通信する位置センサから返送される情報にアクセスすることにより、ここに述べるような有効なパノラマ写真技術は、繋ぎ目のない且つユーザに直観的な仕方で視覚的に魅力のあるパノラマ写真結果を達成するのに使用できる。
【課題を解決するための手段】
【０００７】
ここに開示するパノラマ写真技術は、ハンドヘルドパーソナル電子装置によって捕獲されるある範囲のパノラマシーンを取り扱うように設計される。ここに述べるパノラマ写真技術を実施するための一般的ステップは、１）電子装置の画像センサの画像ストリームから画像データを取得し（これは、ユーザがパノラマシーンを横切って装置をパンするときにシリアルに捕獲される画像フレームの形態で生じる）、２）取得した画像データに対して「モーションフィルタリング」を実行し（例えば、ハンドヘルドパーソナル電子装置の位置センサから得た情報を使用して、画像データの処理を通知し）、３）隣接する捕獲画像間で画像位置合わせを実行し、４）捕獲画像データに対して幾何学的修正を実行し（例えば、パースペクティブの変化及び／又は非ＣＯＰ点の周りでのカメラの回転による）、及び５）捕獲画像を一緒に「結合(stitching)」してパノラマシーンを生成し、即ち隣接捕獲画像間の重畳エリアで画像データを混合すること、を含む。画像投影修正、パースペクティブ修正、整列、等により、得られた結合されたパノラマ画像は、不規則な形状となる。従って、得られた結合されたパノラマ画像は、最終的な記憶の前に必要に応じて長方形に切断することも任意である。これらの一般的ステップの各々を以下に詳細に述べる。
【０００８】
１．画像取得
近代的なカメラの画像センサは、毎秒３０フレーム（ｆｐｓ）、即ちほぼ０．０３秒に１フレームの割合で画像フレームを捕獲する。この高い画像捕獲率で、ユーザが撮影する平均パノラマ写真のパン速度が与えられると、画像センサによって捕獲される多くの画像データは、冗長なものとなり、即ちその後又はそれ以前に捕獲された画像フレームの画像データと重畳することになる。実際に、以下に更に詳細に述べるように、ある実施形態では、各画像フレームが捕獲された後にその狭い「スリット」又は「スライス」だけを保持するのが好都合である。ある実施形態では、スリットは、画像フレームの中央の１２．５％のみで構成される。隣接捕獲画像スリット間に充分な量の重畳が保持される限り、ここに述べるパノラマ写真技術は、視覚的に満足なパノラマ結果を生成しつつ、大量の不必要な及び／又は冗長なデータが破棄されるために高い効率で動作することができる。近代的な画像センサは、低ダイナミックレンジ（ＬＤＲ）及び高ダイナミックレンジ（ＨＤＲ）の両画像を捕獲することができ、そしてここに述べる技術は、その各々に適用することができる。
【０００９】
２．モーションフィルタリング
ハンドヘルドパーソナル電子装置でのアドホックパノラマ画像発生中に現在直面している問題の１つは、装置の処理能力が何を取り扱うことができるか、及び装置の内部データ経路の容量に調和して、パノラマ画像の発生に実際に使用されるデータの量を保持することである。装置の位置センサ、例えば、ジャイロメータ及び／又は加速度計から到来する以前のフレーム位置合わせ、加速度の変化、及びカメラ回転情報の変化に基づいてカメラの動きのヒューリスティックを使用することにより、カメラ位置の充分な変化に欠けるために冗長な画像データしか発生しない画像スリットを「フィルタリング除去」することができる。このフィルタリングは、計算上厳しいものではなく、パノラマ画像処理動作の計算上より厳しい部分へ通過する画像スリットの数を減少する。又、モーションフィルタリングは、画像データの必要な部分のみを保持することによりパノラマ画像処理動作のメモリ占有面積も減少する。
【００１０】
３．画像位置合わせ
画像位置合わせは、１組の画像における特徴部を一致させ又は直接整列方法を使用して重畳ピクセル間の絶対的差の和を最小にする画像整列をサーチすることを含む。パノラマ写真の場合には、２つの連続的に捕獲された画像間又は重畳する画像間に画像位置合わせが一般的に適用される。画像位置合わせを助けるため、特徴部検出及びクロス相関のような種々の既知の技術が使用される。装置の位置センサから返送される情報にアクセスすることにより、特徴部検出及びクロス相関のような画像位置合わせ技術を改善し、より効率的なものとすることができる。装置センサから受信された位置情報は、位置合わせされる２つの画像の種々の特徴部又は領域間で計算されるサーチベクトルに対するチェックとして働く。例えば、あり画像フレームから次の画像へのパノラマシーン内の対象物の移動であってユーザのパンの動きとは逆の移動は、２つの画像間の実際の動きとは逆のローカルサーチベクトルを示唆する。装置の位置センサから受け取られた情報に対してローカルサーチベクトル情報をチェックすることにより、画像の一貫性のない及び／又は役に立たないセグメントが画像位置合わせ計算から捨てられ、従って、計算を計算上厳しくないものとし、且つパノラマ画像処理動作のメモリ占有面積を減少させる。
【００１１】
４．幾何学的修正
その後に捕獲される画像フレーム（又は画像スリット）間のパースペクティブ変化は、連続する画像フレーム（又はスリット）間の重畳エリアに位置する対象物の不整列を招き得る。ここに述べる技術では、装置の位置センサ、例えば、ＭＥＭＳジャイロスコープから受け取られた情報が、フレームからフレームへのカメラの回転変化を計算できるようにする。次いで、このデータを使用し、捕獲された画像フレームに対する全パースペクティブ修正を使用することができる。画像データに対してパースペクティブ又は他の幾何学的修正を行うことは、ある例では次々に捕獲される画像フレームの整列及び結合の前の重大なステップである。種々の既知のワープ技術、例えば、キュービック補間又はキュービックスプライン（即ち、多項式解釈）を使用して、パースペクティブを修正し、そして次々に捕獲される画像フレーム間を補間することができる。
【００１２】
５．画像結合
ある実施形態によりパノラマ画像をアッセンブルする上での最終的なステップは、次々に保持された画像フレームを一緒に「結合」することである。画像フレームがアッセンブリバッファに入れられ、そこで、画像（又は画像の部分）間の重畳領域が決定され、そして重畳領域の画像ピクセルデータが、混合式、例えば、一次式、多項式、又は他のアルファ混合式に基づいて最終結果の画像領域へと混合される。２つの次々に保持される画像フレーム間の混合は、フレーム間の小さな差を隠すように試みるが、その領域において画像をぼかす影響も及ぼす。これは、重畳領域に生じる当該対象物にとって理想的ではなく、重畳領域に生じる人間の顔にとって特に望ましくないものである。というのは、それらは、混合により歪まされると、パノラマ画像の観察者に対して非常に目立つものになるからである。結合される画像フレームに顔を位置することにより、ここに述べるパノラマ写真プロセスの１つの実施形態は、混合される画像フレームの１つのみから顔が使用されるようにシーングラフを生成することにより顔を横切る混合を回避する。非常に多数の重畳する画像スリットが捕獲されるため、人間の顔情報として使用すべき画像フレームの選択に対して更なる洗練化を使用することもでき、例えば、次々に保持される画像スリットにわたって顔の存在を比較して、例えば、顔の目が閉じているスリットではなく、顔の目が開いているスリットが選択される。
【００１３】
従って、ここに述べる１つの実施形態において、装置の画像センサから第１シーケンスの画像を受け取り、装置の回転情報を受け取り、その回転情報に少なくとも一部分基づいて、前記第１シーケンスの画像のうちのサブセットを選択して、第２シーケンスの画像を発生し、その第２シーケンスの画像各々の一部分を合成して、第２シーケンスの画像における各画像の各部分が第２シーケンスの画像における１つの他の画像の少なくとも１つの他の部分に重畳するようにし、そして第２シーケンスの画像における画像の部分間の重畳の各々を混合して、パノラマ画像を発生することを含む画像処理方法が開示される。
【００１４】
ここに述べる別の実施形態において、第１画像に対して画像位置合わせを遂行し、その第１画像は、第１位置において装置で撮られたものであり、第１位置から第２位置への装置移動を表わすデータを受け取り、装置移動がスレッシュホールド移動量を越えないとの決定に少なくとも一部分基づいて複数の画像から第２画像をフィルタリング除去し、第２画像は、第２位置において撮られたものであり、複数の画像からの１つ以上の付加的な画像に対して画像位置合わせを遂行し、そして第１画像及び１つ以上の付加的な画像を使用してパノラマ画像を発生することを含む画像処理方法が開示される。
【００１５】
ここに述べる更に別の実施形態において、装置から位置情報を得、装置から第１及び第２画像を得、第１画像における複数の領域を第２画像における対応する複数の領域と整列して、複数の対応領域を識別し、複数の対応領域の各々に対してサーチベクトルを決定し、位置情報に一貫するサーチベクトルを有する対応領域のみを複数の対応領域から選択して、複数の一貫する領域を識別し、そしてその複数の一貫する領域を使用して第１及び第２画像を位置合わせすることを含む画像位置合わせ方法が開示される。
【００１６】
ここに述べる更に別の実施形態において、装置により捕獲された第１画像を受け取り、１つ以上の位置センサから装置移動データを受け取り、装置により捕獲された第２画像を受け取り、そして装置移動データ及び第１画像を使用して第２画像において画像位置合わせを遂行することを含み、装置移動データは、画像位置合わせを遂行する動作に使用されるサーチベクトルを与え、そして第２画像は、第１画像より後の時点で装置により捕獲されるものである方法が開示される。
【００１７】
ここに述べる更に別の実施形態において、第１時間に装置から第１画像を得、第２時間に装置から第２画像を得、第１時間と第２時間との間の装置の位置の変化量を示す位置情報を装置のセンサから受け取り、その受け取られた位置情報に基づいて第１画像又は第２画像に幾何学的修正を適用し、そして第１画像を第２画像と位置合わせすることを含む画像処理方法が開示される。
【００１８】
ここに述べる別の実施形態において、複数の画像フレームのための画像データを装置で受け取り、複数の画像フレームのうちの第１画像フレームの捕獲と複数の画像フレームのうちの第２画像フレームの捕獲との間の装置移動を表わすセンサデータを受け取り、そしてその受け取られたセンサデータに基づいて複数の画像フレームのうちの第１又は第２のいずれかの画像フレームにパースペクティブ修正を適用することを含む画像処理方法が開示される。
【００１９】
ここに述べる更に別の実施形態において、パノラマ画像を発生する方法であって、第１領域及び第２領域を有する第１画像を得、第２領域は顔の第１表現を含み、第１画像は、第１メモリに記憶され、第３領域及び第４領域を有する第２画像を得、第３領域は、顔の第２表現を含み、第２画像は、第２メモリに記憶され、第１及び第２画像を整列させて、第２及び第３領域が重畳して重畳領域を発生するようにし、その重畳領域において顔の第１表現に対応するエリアをマスクしてマスク領域を発生し、そのマスク領域を除いて重畳領域において第１及び第２画像を混合して混合領域を発生し、そして第１領域、第４領域及び混合領域を含む結果画像を発生し、マスク領域に対応する混合領域のエリアは、顔の第１表現と置き換えられる、ことを含む方法が開示される。
【００２０】
ここに述べる更に別の実施形態において、パノラマ画像を発生する方法であって、シーンを構成する複数の画像を表わすデータを装置で受け取り、複数の画像からの第１画像と第２画像との間の重畳領域を決定し、第１画像及び第２画像各々の位置に表現された当該特徴部を識別し、各表現は、重畳領域に位置され、第１画像から当該特徴部の表現を選択し、重畳領域において第１画像と第２画像との間を混合して、結果の重畳領域を発生し、そしてその結果の重畳領域を使用して、第１画像及び第２画像をアッセンブルして、第１画像と第２画像との間の重畳領域に置き換わり、前記混合動作は、識別された当該特徴部の位置を除外し、更に、前記選択された表現は、前記結果の重畳領域において前記識別された当該特徴部の位置に使用される、ことを含む方法が開示される。
【００２１】
ここに述べる別の実施形態において、パノラマ画像を発生する方法であって、複数の画像を表わすデータを装置で受け取り、複数の画像において１つ以上の顔がある１つ以上の位置を識別し、そして複数の画像の重畳領域を混合してパノラマ画像を形成し、その混合動作は、重畳領域に１つ以上の顔位置を有する画像の領域を除外する、ことを含む方法が開示される。
【００２２】
ここに述べる種々の実施形態によるハンドヘルドパーソナル電子装置のための位置センサ支援型パノラマ写真技術は、装置のハードウェア及び／又はソフトウェアにより直接具現化され、従って、これらの頑健なパノラマ写真技術を、適当な位置センサ及び処理能力をもつ多数の電子装置、例えば、移動電話、パーソナルデータアシスタント（ＰＤＡ）、ポータブルミュージックプレーヤ、デジタルカメラ、並びにラップトップ及びタブレットコンピュータシステムに容易に適用することができる。
【図面の簡単な説明】
【００２３】
【図１】一実施形態による位置センサ支援を伴うパノラマ写真システムを示す。
【図２】一実施形態による位置センサ支援でのパノラマ画像生成プロセスを示す。
【図３】一実施形態による電子装置で捕獲された規範的なパノラマシーンを示す。
【図４】一実施形態によるパノラマ写真の位置センサ支援型モーションフィルタリングを遂行するプロセスを示す。
【図５Ａ】一実施形態により一定速度でシーンを横切ってパンする電子装置により捕獲された規範的なパノラマシーンを示す。
【図５Ｂ】一実施形態により非一定速度でシーンを横切ってパンする電子装置により捕獲された規範的なパノラマシーンを示す。
【図６】一実施形態による「スリット」又は「スライス」を示す。
【図７Ａ】一実施形態による規範的な弧状パノラマスイープを示す。
【図７Ｂ】一実施形態による規範的なほぼ直線のパノラマスイープを示す。
【図７Ｃ】一実施形態による規範的な「ショートアーム」パノラマスイープを示す。
【図７Ｄ】一実施形態による規範的な「ロングアーム」パノラマスイープを示す。
【図８】一実施形態によるパノラマ写真のための画像位置合わせを遂行するプロセスを示す。
【図９】一実施形態による位置情報支援型特徴部検出を示す。
【図１０】一実施形態による所与の画像フレームに対するサーチベクトルセグメントを示す。
【図１１】一実施形態による画像位置合わせのための判断フローチャートである。
【図１２】一実施形態によるパノラマ写真の幾何学的修正を遂行するプロセスを示す。
【図１３】一実施形態による画像スリット又はスライスのコンテクストにおいてカメラの回転によるパースペクティブの変化を示す。
【図１４】一実施形態によるパノラマ写真の画像結合を遂行するプロセスを示す。
【図１５】従来技術による規範的な結合画像を示す。
【図１６】従来技術によりアッセンブルされた結合パノラマ画像に生じる規範的な混合エラーを示す。
【図１７】一実施形態による結合パノラマ画像における規範的な当該領域を示す。
【図１８】一実施形態による当該領域が分かる結合パノラマ画像の規範的シーングラフを示す。
【図１９】ディスプレイを所有する代表的電子装置の簡単な機能的ブロック図を示す。
【発明を実施するための形態】
【００２４】
本開示は、ハンドヘルドパーソナル電子装置の位置センサ支援型パノラマ写真技術を遂行する装置、方法及びコンピュータ読み取り可能な媒体に関する。一般的なステップは、１）電子装置の画像センサから画像データを取得し、２）その取得した画像データに対して、例えば、電子装置の位置センサから得た情報を使用して「モーションフィルタリング」を遂行して、画像データの処理を通知し、３）隣接する捕獲画像間で画像位置合わせを遂行し、４）例えば、パースペクティブの変化及び／又は非パースペクティブ中心（ＣＯＰ）カメラ点の周りでのカメラ回転による捕獲画像データに対して幾何学的な修正を遂行し、及び５）捕獲画像を一緒に「結合」してパノラマシーンを生成し、例えば、隣接する捕獲画像間の重畳エリアにおいて画像データを混合することを含む、ここに述べるパノラマ写真技術を実施するのに使用される。それにより得られる結合されたパノラマ画像は、最終的な記憶の前に、必要に応じて切断される。
【００２５】
ここに開示する技術は、デジタルカメラ、デジタルビデオカメラ、移動電話、パーソナルデータアシスタント（ＰＤＡ）、ポータブルミュージックプレーヤ、並びにラップトップ及びタブレットコンピュータシステムのような、光学的センサを伴ういかなる数の電子装置にも適用できる。
【００２６】
明瞭化のため、実際の具現化の全ての特徴が説明されるのではない。もちろん、実際の具現化の開発において（開発プロジェクトと同様に）、開発者特有の目標（例えば、システム及びビジネス関連制約との適合）を達成するために多数の判断をなさねばならず、そしてそれらの目標は、ある具現化から別の具現化へと変化することが明らかである。更に、そのような開発努力は、複雑で且つ時間浪費であるが、本開示の利益を得る当業者にとっては日常的な仕事であることが明らかである。
【００２７】
以下の記述において、説明上、本発明の概念を完全に理解するために多数の特定の細部について述べる。この記述の一部分として、本発明を不明瞭にしないために幾つかの構造及び装置は、ブロック図形態で示す。更に、本開示に使用する言語は、主として読み易さ及び教授の目的で選択されたもので、発明の要旨を描写又は描くために選択されたものではなく、そのような発明の要旨を決定するには請求項に頼ることが必要である。本開示において「１つの実施形態」又は「一実施形態」を言及するときには、その実施形態に関して述べる特定の特徴、構造又は特性が本発明の少なくとも１つの実施形態に包含されることを意味し、そして「１つの実施形態」又は「一実施形態」を何回も言及するときには、必ずしも全てが同じ実施形態を指すと理解してはならない。
【００２８】
図１を参照すれば、一実施形態による位置センサ支援型パノラマ写真システム１００が示されている。図１に示すこのシステム１００は、論理的に４つの個別のレイヤに分割される。そのようなレイヤは、パノラマ写真システムの機能を論理的に編成する１つの仕方として示されているに過ぎない。実際に、種々のレイヤが同じ装置内にあってもよいし、又は複数の装置にわたって分散されていてもよい。或いは又、ある実施形態では、幾つかのレイヤが全く存在しなくてもよい。
【００２９】
先ず、カメラレイヤ１２０について説明する。カメラレイヤ１２０は、例えば、画像ストリームの形態の画像データ１２６のストリーム又は個々の画像フレーム１２８のビデオストリームを捕獲することのできる１つ以上の画像センサを所有するパーソナル電子装置を備えている。ある実施形態では、画像は、３０ｆｐｓのレートで装置１２２の画像センサにより捕獲される。又、装置１２２は、位置センサ１２４も備えている。位置センサ１２４は、例えば、フレームからフレームへのカメラ装置の回転変化を計算できるＭＥＭＳジャイロスコープ、又は超コンパクトな低電力３軸直線加速度計のようなＭＥＭＳ加速度計を含む。加速度計は、感知素子と、シリアルインターフェイスを通して装置の測定加速度を与えることのできる集積回路（ＩＣ）インターフェイスとを含む。画像ストリーム１２６の画像フレーム１２８に示すように、対象物である木１３０は、装置１２２がパノラマシーンを横切ってパンするときに装置１２２により捕獲されたものである。図１の内実の矢印は、画像データの動きを表わし、一方、破線は、実際の画像データを記述するメタデータ又は他の情報の動きを表わす。
【００３０】
次いで、フィルタレイヤ１４０について説明する。フィルタレイヤ１４０は、装置１２２の位置センサ１２４から入力１４６を受け取るモーションフィルタモジュール１４２を備えている。位置センサ１２４から受け取られるそのような情報は、モーションフィルタモジュール１４２によって使用され、結果のパノラマシーンを構成するために画像ストリーム１２６のどの画像フレーム１２８を使用するかの決定をなす。モーションフィルタリングされた規範的な画像ストリーム１４４を検査することにより明らかなように、モーションフィルタは、装置１２２の画像センサにより捕獲されたほぼ３つごとの画像フレーム１２８のうちの１つしか保持しない。例えば、装置１２２の位置センサ１２４から受け取られる位置情報により駆動されるインテリジェントで且つ効率的な仕方で冗長な画像データを排除することにより、モーションフィルタモジュール１４２は、充分な量の無関係な画像データをフィルタ除去して、パノラマ処理レイヤ１６０が、理想的な重畳をもつ画像フレームを受け取り、それ故、画像データの高解像度及び／又は低解像度バージョンに対してパノラマ処理をリアルタイムで遂行して、パノラマ画像をそれがアッセンブルされるときにリアルタイムで装置１２２のディスプレイスクリーンに任意に表示できるようにする。
【００３１】
前記のパノラマ処理レイヤ１６０は、パノラマ処理モジュール１６２を備え、これは、フィルタレイヤ１４０からモーションフィルタリングされた画像ストリーム１４４を入力として受け取る。パノラマ処理モジュール１６２は、装置１２２のオペレーティングシステムにおいて実行されるアプリケーションのレベルにあるのが好ましい。パノラマ処理モジュール１６２は、画像位置合わせ、幾何学的修正、整列、及び「結合」又は混合のようなタスクを遂行し、その各々について、以下に詳細に説明する。最終的に、パノラマ処理モジュール１６２は、最終的なパノラマ画像を、記憶ユニット１８２に永久的又は一時的に記憶するために記憶レイヤ１８０へ送る前に、切断するのも任意である。記憶ユニット１８２は、例えば、１つ以上の異なるタイプのメモリ、例えば、キャッシュ、ＲＯＭ及び／又はＲＡＭである。又、パノラマ処理モジュール１６２は、画像位置合わせ情報１６４をモーションフィルタモジュール１４２へフィードバックして、モーションフィルタモジュール１４２が、装置の位置移動を画像ストリームにおける次々の画像フレーム間の重畳量に相関させることに関してより正確な判断を行えるようにする。この情報フィードバックは、モーションフィルタモジュール１４２が、モーションフィルタリングされた画像ストリーム１４４へ入れるための画像フレームをより効率的に選択できるようにする。
【００３２】
図２を参照すれば、位置センサの支援でパノラマ画像を生成するためのプロセス２００が、一実施形態により、高レベルフローチャート形態で示されている。先ず、電子装置、例えば、１つ以上の画像センサ及び１つ以上の位置センサを含むハンドヘルドパーソナル電子装置は、画像データを捕獲することができ、その捕獲された画像データは、画像フレームの画像ストリームの形態をとる（ステップ２０２）。次いで、その取得した画像データに対して、モーションフィルタリングの判断を助けるために、例えば、ジャイロメータ又は加速度計を使用して、モーションフィルタリングが遂行される（ステップ２０４）。モーションフィルタリングされた画像ストリームが生成されると、プロセス２００は、画像ストリームからの次々に捕獲される画像フレーム間で画像位置合わせを遂行するように試みる（ステップ２０６）。以下に述べるように、画像位置合わせプロセス２０６は、装置内の位置センサから受け取られる情報を使用することにより合理化され且つより効率的にされる。次いで、捕獲された画像データに対して必要な幾何学的修正が遂行される（ステップ２０８）。捕獲された画像フレームの幾何学的修正の必要性は、例えば、次々に捕獲される画像フレーム間でのカメラの動き又は回転によって生じ、これは、カメラのパースペクティブを変化させると共に、カメラがそのＣＯＰ点の周りを回転しない場合には視差エラーを生じる。次いで、パノラマ画像プロセス２００は、取得した画像データの「結合」及び／又は混合を遂行する（ステップ２１０）。以下に詳細に説明するように、パノラマ写真に見られる通常の混合エラーは、ここに述べる幾つかの技術を適用することで回避できる。結果のパノラマ画像に添付されるべき画像データがもっと残っている場合には（ステップ２１２）、プロセス２００は、ステップ２０２へ戻り、そしてプロセス２００を通して、処理及びパノラマ画像へ添付されるべき次の画像フレームが取得される。そうではなくて、ステップ２１２において、それ以上の画像データが残っていない場合には、最終的画像が切断され（ステップ２１４）、及び／又はある形態の揮発性又は不揮発性メモリに記憶される（ステップ２１６）。又、画像取得ステップであるステップ２０２は、実際には、パノラマ画像捕獲プロセス中に連続的に行われ、即ちステップ２０４−２１０の実行と同時に行われることにも注意されたい。従って、図２は、単なる例示に過ぎず、画像データを捕獲する動作が、ステップ２０４−２１０の実行中に中止される個別の事象であることを示唆するものではない。画像取得は、カメラ装置のユーザがパノラマ画像捕獲プロセスを停止する希望を指示するとき、又はカメラ装置がプロセスに割り当てられた空きメモリを使い果たしたときであるステップ２１２まで続く。
【００３３】
パノラマ画像プロセス２００は、系統的及び手順的の両方において高レベルで説明されたが、画像捕獲装置自体における位置センサによって支援されてパノラマ写真を効率的に且つ有効に生成するプロセスに更に詳細に注意を向けることにする。
【００３４】
図３を参照すれば、規範的なパノラマシーン３００が、１つの実施形態に基づき、電子装置３０８により捕獲されて示されている。図３に示したように、パノラマシーン３００は、都市の輪郭線を構成する一連の建築作品を含む。都市の輪郭線は、しばしばパノラマ写真で捕えてみたい広い視野のシーンの一例である。パノラマ写真は、おおよそ、人間の目が１８０°に近い視野でシーンを捕えるという仕方でシーンを描くのが理想的である。図３に示すように、パノラマシーン３００は、１６０°の視野を含む。
【００３５】
‘ｘ’で示す軸３０６は、パノラマシーン３００の捕獲中のカメラ装置３０８の方向性移動軸を表わす。図３に示すように、カメラ装置３０８は、所与の時間インターバルｔ1−ｔ5にわたりｘ軸に対して右へ並進移動され、そのパノラマ経路に沿って移動するにつれてパノラマシーン３００の次々の画像を捕獲する。他の実施形態では、パノラマスイープは、軸の周りでのカメラ装置の回転を含むか、又は軸の周りでのカメラの回転と軸に沿ったカメラの並進移動との組み合わせを含む。カメラ装置３０８の破線形態で示されたように、図３に示す仮説的パノラマシーン捕獲中に、カメラ装置３０８は、時間ｔ1に位置３０８1にあり、次いで、時間ｔ2に位置３０８2にあり、等々となって、時間ｔ5に位置３０８5に到達し、その時点で、パノラマ経路が完了し、カメラ装置３０８のユーザ３０４は、パノラマシーン３００の次々の画像の捕獲を停止することを装置に指示する。
【００３６】
画像フレーム３１０1−３１０5は、図３に示す仮説的パノラマシーン捕獲中の対応する時間及び位置にカメラ装置３０８により捕獲された画像フレームを表わす。即ち、画像フレーム３１０1は、位置３０８1及び時間ｔ1にある間にカメラ装置３０８により捕獲された画像フレームに対応する。位置３０８1にある間のカメラ装置３０８の視野３０２1は、ユーザ３０４と捕獲中のパノラマシーン３００との間の距離と結合されて、単一の画像フレーム３１０で捕獲されるパノラマシーンの量を指令することに注意されたい。慣習的なパノラマ写真では、写真家が多数の異なる設定位置においてパノラマシーンの一連の個々の写真を撮影して、パノラマシーンの完全なカバレージを得るよう試みながら、隣接する写真間に、例えば、コンピュータ又はカメラ装置自体で実行される後処理ソフトウェアを使用して、それらを整列させ及び一緒に「結合」させるに充分な重畳を許すようにする。ある実施形態では、隣接する写真間の重畳量が充分あって、後処理ソフトウェアが、隣接する写真をどのように互いに整列させるか決定し、次いで、その重畳領域においてそれらを一緒に結合し且つ任意に混合して、結果のパノラマシーンを生成できるようにすることが望まれる。図３に示すように、個々のフレーム３１０は、隣接する画像フレームとの約２５％の重畳を示す。ある実施形態では、使用するカメラ装置及び後処理ソフトウェアのメモリ及び処理制約に基づいて隣接画像フレーム間により多くの重畳が望まれる。
【００３７】
カメラ装置３０８がビデオカメラ装置である場合には、カメラは、毎秒１５以上のフレームを捕獲することができる。以下に詳細に説明するように、この捕獲率では、画像データの多くが冗長なものとなり、結果のパノラマ画像を生成するために結合ソフトウェアにより必要とされる以上に多くの重畳を隣接画像間に与える。従って、本発明者は、捕獲した画像フレームのどれを結果のパノラマ画像の生成に使用するか、及び捕獲した画像フレームのどれを過度に冗長なものとして破棄するか知的に且つ効率的に決定する位置センサ支援のパノラマ写真のための新規な且つ驚くべき技術を発見した。
【００３８】
図４を参照すれば、１つの実施形態によりパノラマ写真のための位置センサ支援型モーションフィルタリングを遂行するプロセス２０４がフローチャート形態で示されている。図４は、図２を参照して上述したモーションフィルタリングステップ２０４の詳細図である。先ず、例えば、ハンドヘルドパーソナル電子装置のような電子装置の画像センサから画像フレームが取得され、モーションフィルタリングの説明上、「現在画像フレーム」と呼称される（ステップ４００）。次いで、例えば、装置のジャイロメータ又は加速度計を使用して、位置データが取得される（ステップ４０２）。この点において、まだ行われていなければ、プロセス２０４は、加速度計及び／又はジャイロメータから取得した位置データを、取得した画像フレームと時間的に相関させる必要がある。カメラ装置の画像センサ及び位置センサは、サンプリングレートが異なり及び／又はデータ処理レートが異なるので、位置センサデータの所与のセットがどの画像フレーム（１つ又は複数）にリンクされるか正確に知ることが重要である。１つの実施形態では、プロセス２０４は、画像データを位置データと同期させるための第１のシステム割り込みを基準点として使用し、次いで、それ以降の種々のセンサのサンプリングレートの知識に基づいて、画像データを位置データと適切に時間同期状態に保持することができる。別の実施形態では、周期的なシステム割り込みを使用して、同期情報を更新又は維持することができる。
【００３９】
次いで、モーションフィルタリングプロセス２０４は、位置センサデータ（及び以下に詳細に述べるように画像位置合わせプロセスからのフィードバック）を使用して現在画像フレームと以前に分析された画像フレーム（もしあれば）との間の回転角度を決定する（ステップ４０６）。例えば、モーションフィルタリングプロセス２０４（例えば、モーションフィルタモジュール１４２によって遂行される）は、以前に捕獲された画像フレームのインターバルの回転角度にわたって積分を行い、そして現在画像フレームに対する平均回転角度を計算することにより回転角度を計算する。ある実施形態では、「ルックアップテーブル」（ＬＵＴ）を調べる。そのような実施形態では、ＬＵＴは、種々の回転量に対するエントリーを所有し、その回転量は、ここでは、結果のパノラマ画像のアッセンブリからフィルタ除去される画像の数にリンクされる。現在画像フレームに対する回転角度が回転スレッシュホールドを越える場合には（ステップ４０８）、プロセス２０４は、図２に示すプロセスフローチャートのステップ２０６へ進んで、画像位置合わせを遂行する（ステップ４１０）。そうではなくて、ステップ４０８において、現在画像フレームに対してスレッシュホールド回転量を越えないと決定されると、現在画像フレームが破棄されて（ステップ４１２）、プロセス２０４は、ステップ４００へ復帰し、次の捕獲画像フレームを取得し、その時点でプロセス２０４は、モーションフィルタリング分析を繰り返し、次のフレームが結果のパノラマ写真に対して価値があるかどうか決定する。換言すれば、モーションフィルタリングでは、破棄される画像フレームは、丁度３番目ごと又は５番目ごとのフレームではなく、むしろ、破棄されるべき画像フレームは、結果的にアッセンブルされるパノラマ画像に対してどんな画像フレームが完全なカバレージを与える見込みが高いか計算するモーションフィルタリングモジュールによって決定される。一実施形態において、回転角度（°）をおおよその画像中心位置変化（例えば、並進移動量）へ換算する式は、次の通りである。並進移動＝ｆ＊sin（３．１４１５９２６＊角度／１８０）。但し、ｆは、焦点長さである。厳密に言うと、回転はパースペクティブの変化を導入するので、画像内の各ピクセルは、異なる位置変化を有するが、前記式は、比較的細い成分画像を使用してパノラマ画像を構成するときに良好な推定を与える。
【００４０】
図５Ａを参照すれば、１つの実施形態により、一定の速度でスクリーンを横切ってパンする電子装置３０８により規範的なパノラマシーン３００が捕獲されて示されている。図５Ａは、パノラマシーンを横切る一定速度のパノラマスイープ中にモーションフィルタモジュール１４２により行われる規範的な判断を示す。図５Ａに示すように、パノラマスイープは、装置位置３０８STARTで始まり、そして位置３０８STOPで終わる。装置３０８のパノラマスイープ経路を表わす軸３０６に平行な破線は、“(dx/dt>0、d2x/d2t=0”と表示され、装置がある速度で移動する間に、その速度は、パノラマスイープ中変化しないことを示している。
【００４１】
図５Ａの規範的実施形態において、装置３０８は、例えば、毎秒３０フレームのフレームレートでビデオ画像ストリーム５００を捕獲する。従って、例示のために、２．５秒間継続するスイープは、図５Ａに示すように、７５個の画像フレーム５０２を捕獲する。画像フレーム５０２は、パノラマシーン３００のパノラマスイープ中にそれらが捕獲された順序を指示するため５０２1−５０２75の範囲の下付き文字で示されている。多数の捕獲された画像フレーム５０２から明らかなように、結果のパノラマ写真をアッセンブルするのに後処理ソフトウェアによって画像フレームの個別のサブセットが必要とされるだけである。冗長なデータを知的に排除することで、パノラマ写真プロセス２００は、装置３０８に対してより滑らかに実行され、装置３０８は、パノラマシーンが捕獲されるにつれてプレビューを与えると共に結果のパノラマ写真をリアルタイムでアッセンブルすることができる。
【００４２】
結果のパノラマ写真をアッセンブルする際に含ませるために捕獲画像フレームを選択する頻度は、装置３０８の視野３０２；カメラ装置３０８と、捕獲されるパノラマシーン３００との間の距離；及びカメラ装置３０８でパンする速度及び／又は加速度；を含む多数のファクタに依存する。図５Ａの規範的な実施形態では、モーションフィルタモジュールは、結果のパノラマ写真の構成に含ませるために画像フレーム５０２2、５０２20、５０２38、５０２56及び５０２74が必要であることを決定する。換言すれば、ほぼ１８番目ごとの捕獲画像フレームが、図５Ａの例において結果のパノラマ写真の構成に含まれる。図５Ｂを参照して以下で明らかとなるように、含ませるためにモーションフィルタモジュールにより選択される画像フレーム間に捕獲される画像フレームの数は、１８より大きくても小さくてもよく、そして実際には、例えば、スイープ中のカメラ装置３０８の速度、スイープ中の加速度又は減速度、及びパノラマスイープ中のカメラ装置３０８の回転に基づいて、パノラマスイープ全体にわたり且つパノラマスイープ中に変化する。
【００４３】
図５Ａに示すように、選択された隣接画像フレーム間にほぼ２５％の重畳がある。幾つかの実施形態では、カメラ装置のメモリ及び処理制約、並びに使用される後処理ソフトウェアに基づいて、選択された隣接画像フレーム間にはより多くの重畳が望まれる。図６を参照して以下に詳細に述べるように、毎秒のフレーム捕獲レートが充分大きい状態では、全捕獲画像フレームではなく各捕獲画像フレームの「スリット」又は「スライス」を分析するだけでパノラマ写真プロセス２００に更に高い効率が達成される。
【００４４】
図５Ｂを参照すれば、１つの実施形態により、非一定速度でスクリーンを横切ってパンする電子装置３０８により規範的なパノラマシーン３００が捕獲されて示されている。図５Ｂは、パノラマシーンを横切る非一定速度のパノラマスイープ中にモーションフィルタモジュールにより行われる規範的な判断を示す。図５Ｂに示すように、パノラマスイープは、装置位置３０８STARTで始まり、そして位置３０８STOPで終わる。装置３０８のパノラマスイープ経路を表わす軸３０６に平行な破線は、“(dx/dt>0、d2x/d2t≠0”と表示され、装置がある非ゼロ速度で移動し、そしてその速度がパノラマ経路に沿って変化することを示している。
【００４５】
図５Ｂの規範的実施形態において、装置３０８は、例えば、毎秒３０フレームのフレームレートでビデオ画像ストリーム５０４を捕獲する。従って、例示のために、２．１秒間継続するスイープは、図５Ｂに示すように、６３個の画像フレーム５０６を捕獲する。画像フレーム５０６は、パノラマシーン３００のパノラマスイープ中にそれらが捕獲された順序を指示するため５０６1−５０６63の範囲の下付き文字で示されている。
【００４６】
図５Ｂの規範的実施形態では、モーションフィルタモジュールは、結果のパノラマ写真の構成に画像フレーム５０６2、５０６8、５０６26、５０６44及び５０６62を含ませる必要があると決定する。換言すれば、モーションフィルタモジュールにより選択された画像フレーム間に捕獲される画像フレームの数は、例えば、スイープ中のカメラ装置３０８の速度、スイープ中の加速度又は減速度、及びパノラマスイープ中のカメラ装置３０８の回転に基づいて、パノラマスイープ全体にわたり且つパノラマスイープ中に変化する。
【００４７】
図５Ｂに示すように、装置３０８の移動は、パノラマスイープの第１の四半分中に高速である（パノラマスイープの開始における破線の長いダッシュと、パノラマスイープの終了における破線の短いダッシュとを比較されたい）。従って、モーションフィルタモジュールは、選択画像フレーム５０６2の後に、カメラ装置３０８が丁度６個の後続画像フレームを捕獲するときまでに、結果のパノラマ写真に含ませるために画像フレーム５０６8を選択しなければならないほど、パノラマシーン３００を横切ってカメラが充分に移動したことを決定する（カメラ装置の回転、並進移動又はその組み合わせにより）。画像フレーム５０６8を捕獲した後に、パノラマスイープ中のカメラ装置３０８の移動は、図５Ａを参照して上述したパノラマスイープのペースに類似したレベルに低速化される。従って、モーションフィルタモジュールは、１８番目ごとのフレームを捕獲することで、パノラマシーンの充分なカバレージが与えられることを再び決定する。従って、結果のパノラマ写真の構成に含ませるために画像フレーム５０６26、５０６44及び５０６62が選択される。カメラ装置３０８の動きにリアルタイムで反応することにより、パノラマ写真プロセス２００は、パノラマ写真プロセスの計算上より費用のかかる位置合わせ及び結合部分へ送信すべき画像データを知的に且つ効率的に選択する。換言すれば、モーションフィルタリングの動作が生じるレートは、画像捕獲中に装置が加速され及び／又は回転されるレートに直接関係している。
【００４８】
上述したように、近代的な画像センサは、例えば、８メガピクセル画像のような非常に大きな画像を、例えば、毎秒３０フレームのような非常に高い捕獲レートで捕獲することができる。平均パノラマ写真のパン速度が与えられると、それらの画像センサは、非常に大量のデータを非常に短い時間内に発生できるが、必ずしも処理はできない。この発生された画像データの多くは、次々に捕獲される画像フレーム間で大きく重畳する。従って、本発明者は、各選択された画像フレームの一部分、例えば、画像フレームの「スリット」又は「スライス」だけを動作することで、高い効率が達成されることが分かった。好ましい実施形態では、スリットは、各画像フレームの中央の１／８部分で構成される。他の実施形態では、画像の他の部分が「スリット」又は「スライス」に使用されてもよく、例えば、画像の１／３、１／４、又は１／５が使用されてもよい。
【００４９】
図６を参照すれば、１つの実施形態による画像「スリット」又は「スライス」６０４が示されている。図６において、パノラマシーン６００は、一連の選択された画像フレーム６０２1−６０２4を経て捕獲されている。モーションフィルタリングを参照して上述したように、選択された画像フレーム６０２1−６０２4は、パノラマシーン６００の全カバレージを得るのに必要な画像フレームを表わす。トレース線６０６は、第１の捕獲画像フレーム６０２1に対応するパノラマシーン６００の部分を示す。各捕獲画像フレーム６０２の中央部分６０４は、結果のパノラマ写真の構成に使用される選択された画像スリット又はスライスを表わす。図６に示すように、画像スリットは、画像フレームのほぼ中央１２．５％で構成される。画像フレーム６０２の対角陰影エリアは、他の捕獲画像データの全冗長部として同様に破棄される。ここに述べる１つの実施形態によれば、選択された画像スリット６０４1−６０４4の各々は、その後、重畳領域において整列され、一緒に結合されそして混合されて、結果のパノラマ画像部分６０８を発生する。この部分６０８は、４つの画像スリット６０４1−６０４4で捕獲されたパノラマシーンの領域を表わす。更に、本発明者は、モーションフィルタによる付加的な処理のために選択された各画像フレームの部分、例えば、各選択された画像フレームの中央部分のみで動作することで、たる形歪又は糸巻き形歪、レンズシェーディング、口径食、等の幾つかの光学的アーティファクト（捕獲画像の縁の近くでより顕著になる）が減少されるか、又は全く排除される。更に、各選択された画像フレームの部分のみにおいて動作することで、パノラマ写真プロセスのための瞬時メモリ占有面積が小さくなり、これは、全解像度パノラマ画像をアッセンブルするときに重要となる。
【００５０】
図７Ａを参照すれば、一実施形態による規範的な弧状パノラマスイープ７００が示されている。図７Ａにおいて、カメラ装置は、３つの個別の画像を捕獲する間に４５°の角度を経て回転される。実線は、画像１を捕獲する間のカメラの視野に対応し、太い実線は、画像１の平面を表わし、破線は、画像２を捕獲する間のカメラの視野に対応し、太い破線は、画像２の平面を表わし、そして点線は、画像３を捕獲する間のカメラの視野に対応し、太い点線は、画像３の平面を表わす。「ターゲット混合ゾーン」と示されたエリアは、画像１と２との間の重畳領域を表わす。画像２と３との間にも対応するターゲット混合ゾーンがあるが、簡単化のために示されていない。カメラが空間において移動しない回転パノラマスイープの場合には、ターゲット混合ゾーンのサイズは、次々に捕獲される画像フレーム間のカメラの角度回転の量に強く依存する。上述したように、１つの好ましい実施形態では、次々に捕獲される画像間の重畳量は、約２５％であるが、使用する画像位置合わせアルゴリズムに基づいてそれより大きくても小さくてもよい。
【００５１】
又、図７Ａには、ポイント［ｘ1、ｙ1］及び［ｘ2、ｙ2］も示されている。これらポイントのセットは、画像１及び画像２の両方に位置する規範的な特徴部又は縁又は他の検出可能な部分に対応する。画像２において画像１の同じ特徴部又は縁又は他の部分を探索し、次いで、画像２及び画像１におけるその位置間の差を記録することによって、ここに［ｔx、ｔy］と称される値が画像２について計算される。１つの実施形態では、画像２における所与のポイントに対する［ｔx、ｔy］値が式［(ｘ2−ｘ1)、(ｙ2−ｙ1)］に基づいて計算される。次いで、［ｔx、ｔy］値を使用して、パノラマ写真プロセス２００は、該当する２つの画像を良好に整列し、即ちそれらの間の画像位置合わせを遂行することができる。画像位置合わせを助けるのに加えて、［ｔx、ｔy］値の使用は、装置の位置センサから得られる位置情報に相関される。換言すれば、画像位置合わせプロセス２０６は、装置のどれほどの移動が捕獲画像におけるどれほどの実際の移動に対応するかに関連してモーションフィルタモジュールによりなされる計算を洗練化することができる。例えば、モーションフィルタモジュールが、１°の回転がその後の捕獲画像における１０ピクセルの移動に対応するという仮定の下で動作するが、画像位置合わせプロセス２０６が、次々に捕獲される画像間の１０°の回転に対して特定特徴部が１５０ピクセル移動したと決定した場合には、モーションフィルタモジュールは、その仮定をアップ方向に調整して、それ以降は、１°のカメラ回転が、１０ピクセルだけの移動ではなくて、その後の捕獲画像において１５ピクセルの移動という仮定に相関されるようにする。画像位置合わせプロセス２０６からモーションフィルタモジュールへのこの情報フィードバックは、図２においても「フィードバック」と示されたステップ２０６からステップ２０４を指す破線を経て表わされている。
【００５２】
図７Ｂを参照すると、一実施形態による規範的なほぼ直線のパノラマスイープ７２５が示されている。図７Ｂにおいて、カメラ装置は、パノラマスイープにおいて最初に１５°にわたって回転され、次いで、５つの個別の画像を捕獲する間にそれ以上回転せずに位置的に並進移動される。実線は、画像１を捕獲する間のカメラの視野に対応し、太い実線は、画像１の平面を表わし、破線は、画像２から５を捕獲する間のカメラの視野に対応し、太い破線は、画像２から５の平面を各々表わす。「ターゲット混合ゾーン」と示されたエリアは、画像１と２との間の重畳領域を表わす。画像２と３との間の対応するターゲット混合ゾーン、及び次々に捕獲される画像の互いの対があるが、簡単化のために示されていない。ほぼ直線のパノラマスイープの場合には、ターゲット混合ゾーンのサイズは、次々に捕獲される画像フレーム間にカメラが移動される速度に強く依存する。ほぼ直線のパノラマスイープでは、カメラの視野が、単なる回転スイープ中よりも迅速に変化するので、潜在的により多くの画像が必要となるが、次々に捕獲される画像フレーム間に充分な重畳が保持される限り、パノラマプロセス２００は、結果の画像を発生することができる。
【００５３】
もちろん、他のタイプのパノラマスイープも考えられる。例えば、図７Ｃは、「ショートアーム」パノラマスイープ７５０、即ち比較的多くの回転及び少ない並進移動のパノラマスイープを示す。一方、図７Ｄは、「ロングアーム」パノラマスイープ７７５の一例、即ち回転角度当たりの変位が「ショートアーム」パノラマスイープより大きいパノラマスイープを示す。カメラ装置内の位置センサの使用を経て、考えられる無限に多くのタイプのパノラマスイープ間を区別できるようにすることで、モーションフィルタリングモジュールは、パノラマ写真プロセスに対して適当な調整を行って、視覚的に満足なパノラマ写真結果が依然として効率的に発生されるようにすることができる。
【００５４】
図８を参照すれば、一実施形態によるパノラマ写真のための画像位置合わせを遂行するプロセス２０６がフローチャート形態で示されている。図８は、図２を参照して上述した画像位置合わせステップ２０６の詳細である。第１に、プロセス２０６は、位置合わせされるべき２つの画像を取得する（ステップ８００）。次いで、各画像が複数のセグメントに分割される（ステップ８０２）。画像セグメントは、所定サイズの画像の一部分として定義される。画像情報に加えて、プロセス２０６は、メタデータ情報、例えば、位置合わせされるべき画像フレームに対応する位置情報を取得する（ステップ８０４）。例えば、特徴検出アルゴリズム（“ＦＡＳＴ”ｐｌｕｓ“ＲＡＮｄｏｍ  ＳＡｍｐｌｅ  Ｃｏｎｓｅｎｓｕｓ”（ＲＡＮＳＡＣ）アルゴリズム、Ｈａｒｒｉｓ、ＳＩＦＴ、又はＫａｎａｄｅ−Ｌｕｃａｓ−Ｔｏｍａｓｉ（ＫＬＴ）特徴トラッカーアルゴリズム、等）、又はクロス相関アルゴリズム（即ち、相関メトリックを経て第１画像の強度パターンを第２画像の強度パターンとクロス相関させる方法）を伴う画像位置合わせアルゴリズムの使用を通して、画像の各セグメントに対しサーチベクトルが計算される。セグメントサーチベクトルとは、第１画像からセグメントに適用して第２画像におけるその位置を与えるために必要となる情報を表わすベクトルとして定義される。サーチベクトルが計算されると、プロセス２０６は、装置の位置センサから取得した位置情報を考慮して、計算されたサーチベクトルが取得した位置データに一致しないセグメントについてサーチベクトルをドロップさせる（ステップ８０８）。即ち、プロセス２０６は、位置情報により指示された移動方向とは逆の、又は実質的に逆の、サーチベクトルを破棄する。例えば、カメラが次々の画像フレーム間で右へ回転され、そして画像内の対象物が右へ（即ちカメラの移動が与えられたときに予想される方向とは逆に）移動するか又はある捕獲画像から次の捕獲画像へ固定のままであることを位置情報が指示する場合には、プロセス２０６は、その特定セグメントがアウトライアー又は他の役に立たないサーチベクトルを表わすと決定する。次いで、位置センサ情報が与えられたときに予想される動きとは逆のセグメントサーチベクトルが全体的な画像位置合わせ計算からドロップさせられる（ステップ８０８）。
【００５５】
画像位置合わせのためにクロス相関アルゴリズムを使用する場合には、第１画像である画像Ａにおける所与のピクセルであるピクセルＡと、第２画像である画像Ｂにおける対応ピクセルであるピクセルＡ’との間の直接の差が評価される。次いで、ピクセルＢとＢ’との間の差が同様に取り出され、等々となって、全ての望ましいピクセルが評価される。その時点で、全ての差が一緒に加算される。次いで、クロス相関プロセスは、１ピクセルだけスライドさせて、ピクセルＡとＢ’との間、ＢとＣ’との間、等々の間の直接の差を取り出し、等々となって、全ての望ましいピクセルが評価される。その時点で、新たな「１ピクセルだけスライドした」位置について全ての差が一緒に加算される。クロス相関は、全ての当該方向に１ピクセルだけ評価プロセスをスライドさせてこのプロセスを繰り返し、やがて、全ての和の最小値が見つかり、これは、最小の和を生じる方向に第１画像が移動されたときに画像が一致することを指示する。位置合わせされるべき所与の画像対について、最小差の方向を決定するために各々の考えられる方向に問合せするのではなく、問合せされる方向の数は、装置の位置センサからキューが与えられると、意味のあるものだけに制限される。問合せの数をクロス相関アルゴリズムの各レベルに制限することで、位置合わせプロセス２０６は、潜在的に著しくスピードアップされる。スレッシュホールド数を越えるセグメントがいずれか１つの画像についてドロップされた場合には（ステップ８１０）、プロセス２０６は、以前に分析された画像フレームについて計算された並進移動ベクトルを使用して位置合わせを遂行し、現在画像フレームについて加速度計及び／又はジャイロメータから受け取られた位置情報により示唆される必要な調整を行う（ステップ８１６）。ある実施形態では、スレッシュホールドセグメント数は、画像が分割された全てのセグメントの約５０％である。次いで、プロセス２０６は、ステップ８００へ戻り、位置合わせすべき次の画像対を待機する。ステップ８１０において、スレッシュホールド数より多くのセグメントが画像に対してドロップされなかった場合には、プロセス２０６は、次いで、画像に対する全並進移動ベクトルを、位置情報から取り出されたキューに基づき破棄されなかった残りのベクトルと共に計算し（ステップ８１２）、そして新たに取得した画像を位置合わせした（ステップ８１４）後に、ステップ８００へ戻り、位置合わせすべき新たな画像対を待機する。
【００５６】
画像セグメントの移動が、位置情報キューが与えられたときに予想される動きとは逆である１つの特殊なケースは、ミラー内を反射が移動するケースである。これらのケースにおいて、図８を参照して上述した画像位置合わせプロセス２０６が、カメラの移動が与えられると、ほとんどの又は全てのベクトルがアウトライアーであり／予想されないものであることを指示する場合には、プロセス２０６が、いわゆる「デッドレコニング(dead reckoning)」プロセスで続けられ、即ち以前に計算された並進移動ベクトルを使用し、次いで、例えば、加速度計又はジャイロメータデータから得られるキューを考慮することによりそれを変更する。
【００５７】
図９を参照すれば、一実施形態による位置情報支援型特徴部検出が示されている。図９において、第１フレーム９００が示されて「フレーム１」と表示され、そして第２フレーム９５０が示されて「フレーム２」と表示されている。フレーム１は、カメラのパン中にフレーム２の直前又はほぼ直前に捕獲された画像を表わす。フレーム１の下では、カメラの動きがカメラのパン中に右へ動くとして示されている。従って、画像内の固定物の予想される動きは、画像を見る者に対して左となる。従って、カメラの動き方向とは逆の局部的対象物の動きは、右となる（又は物体がカメラとほぼ同じ相対的速度で移動する場合には静止して見える）。もちろん、局部的対象物の動きは、任意の多数の方向、任意の速度にあり、そして画像全体を通じて位置される。行うべき重要な観察は、所与の画像に対して計算されたサーチベクトルの大多数に従わない局部的対象物の動きが、画像位置合わせの計算を助けるのではなく、実際にはそれらを妨げることである。
【００５８】
テーブル９７５を参照すると、フレーム１及びフレーム２に位置する５つの規範的特徴部に対するサーチベクトルが詳細に調査される。特徴部１及び２は、パノラマシーンにおける１つのビルの縁又は角に対応する。フレーム２に示されたように、これら２つの特徴部は、フレームとフレームとの間で左方向に移動している。これは、（カメラの位置センサにより証明される）右へのカメラ移動方向が与えられたときに予想される移動である。特徴部３も、同様に、カメラの移動方向が与えられると、フレームとフレームとの間で予想される方向に移動する固定特徴部、例えば、木を表わす。特徴部４及び５は、鳥の翼端付近の縁に対応する。パノラマシーンが捕獲されるにつれて、鳥は、カメラの移動方向に飛行し、従って、特徴部４及び５について計算されるサーチベクトルは、右へ向けられ、特徴部１、２及び３の方向とは逆になる。このタイプの局部的対象物移動は、フレーム１からフレーム２への全並進移動ベクトルを実際に証明するものではないから、画像位置合わせの決定を悪化させることがある。従って、パノラマシーンを捕獲する装置内の位置センサから受け取られるキューを使用して、そのような特徴部（又は、より正確には、そのような特徴部を取り巻く画像データの領域）が画像位置合わせの決定から破棄される。
【００５９】
図１０を参照すれば、一実施形態による所与の画像フレーム１０００に対するサーチベクトルセグメント１００４が示されている。上述したように、各画像フレームは、局部的サーチベクトルを計算するために複数のコンポーネントセグメントに分割される。画像フレーム１０００における各破線ブロック１００４は、サーチベクトルセグメントを表わす。画像フレーム１０００に示されたように、あるサーチベクトル、例えば、１００２は、一般的には、予想される移動方向にある。画像フレーム１０００の仮説的な例では、装置から取得された位置センサ情報が与えられると、予想される移動方向は、左となる。他のサーチベクトル、例えば、１００６は、予想される移動方向とは逆である。更に別のセグメント、例えば、１００８は、例えば、見分けられる特徴部の欠如、又は首尾良くクロス相関できないランダムな繰り返しパターン、又はフレームからフレームへ一致する特徴部のために、画像位置合わせプロセス２０６がサーチベクトルを計算できない場合に存在する。これが生じる主題の例は、雲のない青空、又は海岸の砂である。図１０の凡例に示すように、対角線状の陰影をもつサーチベクトルは、画像位置合わせの計算からドロップされる。画像フレーム１０００に示すように、計算からドロップされるサーチベクトルセグメントは、装置から受信した位置情報により指示される移動方向とは逆の又は実質的に逆のセグメント、及び／又は方向を決定できないセグメントを含む。位置合わせの計算から画像の大部分を戦略的に排除することにより、性能改善を達成することができる。
【００６０】
図１１を参照すれば、一実施形態による画像位置合わせのための判断フローチャート１１００が示されている。先ず、ステップ１１０２において、判断プロセス１１００が開始する。この時点で、位置合わせされるべき画像に対して好ましい特徴部検出アルゴリズムが実行される（ステップ１００４）。特徴部検出アルゴリズムは、ＦＡＳＴ又はＫＬＴ特徴部トラッカーのような望ましい方法でよい。そのようなアルゴリズムが画像を首尾良く位置合わせできる場合には（ステップ１１０６）、位置合わせが完了となる（ステップ１１１４）。そうではなくて、特徴部検出方法が満足な結果を生じさせない場合には、クロス相関アルゴリズムが使用される（ステップ１１０８）。
【００６１】
上述したように、クロス相関アルゴリズムは、画像内の特定ピクセルで開始し、そして相関メトリックを経てソース画像の強度パターンをターゲット画像の強度パターンとクロス相関させることにより画像フレーム間の最も生じ易い移動の方向について次第に高くなる周囲ピクセルレベルを検査するよう試みる。各々高くなる検査レベルにおいて、サーチの方向がその手前の検査レベルで計算された移動方向により通知される。例えば、第１のサーチレベルにおいて、クロス相関アルゴリズムは、２ピクセル隣接部（２0＋１）について最も生じ易い方向を与える。第１レベルの決定に基づいて、次のレベルは、３ピクセル隣接部（２1＋１）について最も起き易い方向を与え、等々となる。５メガピクセル（ＭＰ）程度の画像サイズの場合に、５つの検査レベル、即ち１７（２4＋１）移動ピクセルで、位置合わせされるフレーム間の充分な移動情報を与えることが実験的に決定されている。
【００６２】
クロス相関アルゴリズムの各レベルにおいて、最も生じ易い移動方向のサーチが、装置から取得される位置情報により洗練化される。例えば、クロス相関を遂行しそして最も生じ易い移動の方向を決定するよう試みるときに中心ピクセルを取り巻く８個のピクセルの各々に問合せするのではなくて、プロセス１１００は、その問合せを、装置から取得した位置情報に基づいて、最も修正し易い方向に限定する。例えば、次々に捕獲される画像フレーム間で装置が右へ回転することを装置のジャイロメータが指示する場合には、生じ易い並進移動ベクトルは、ある角度で左方向を向く。従って、中心ピクセルを取り巻く隣接ピクセルにおける８個のピクセル全部に問合せするのではなく、３つのピクセル、即ち左上、左、及び左下のピクセルだけに問合せすればよい。そのような洗練化は、生じ易い移動方向に関して優先的誘導をもたない慣習的なクロス相関アルゴリズムに勝る６２．５％（即ち、５／８）までの性能改善を与える。
【００６３】
上述したように、ある画像、例えば、多数の見分けられる特徴部又は縁に欠ける画像、或いは大量のノイズを伴う画像では、特徴部検出も及びクロス相関も、どちらも、満足な回答を発生することができない。従って、ステップ１１１０において、クロス相関が満足な結果を生じない場合には、プロセス１１００は、「デッドレコニング」解決策を使用し、即ち以前に位置合わせされた画像に対して計算された並進移動ベクトルで続けられて、位置センサ情報からの当該キューで助成され（ステップ１１１２）、位置合わせを完了する（ステップ１１１４）。例えば、以前の画像が右へ１０ピクセルの並進移動であると決定されたが、加速度計が現在画像フレームに対してカメラの移動の突然の停止を指示した場合には、プロセス１１００は、１０ピクセルを右への仮定で単純に前方に搬送するのではなく、１０ピクセルをゼロピクセル移動まで右へダウン並進移動するようにダウン調整する。一方、慣習的な特徴部検出及びクロス相関方法の両方が失敗となり、且つ装置から取得した位置情報が急激な動きの変化を示さない場合には、より正確な位置合わせ計算を再び行えるまで、１０ピクセルを右への仮定で使用し続けることが適当である。
【００６４】
図１２を参照すれば、一実施形態によるパノラマ写真の幾何学的修正を遂行するプロセス２０８がフローチャート形態で示されている。図１２は、図２を参照して上述した幾何学的修正ステップ２０８を詳細に示す。第１に、プロセス２０８は、パノラマ写真プロセス全体にわたって参照された装置の加速度計及び／又はジャイロメータから位置データを取得する（ステップ１２００）。次いで、装置から受け取られた位置情報に基づき、プロセス２０８は、現在の画像フレームに適用する必要のあるパースペクティブ修正量を決定する（ステップ１２０２）。例えば、カメラの１０°の回転は、無限焦点を仮定すれば、４０ピクセルのパースペクティブ歪に相関される。ある実施形態では、ＬＵＴが調査される。そのような実施形態では、ＬＵＴは、種々の回転量に対するエントリーを所有し、その回転量は、ここでは、パースペクティブ修正量にリンクされる。例えば、ＬＵＴの回転量に対応するパースペクティブ修正量は、装置の画像センサの解像度又はカメラ装置のレンズの特性によって少なくとも一部分決定される。次いで、任意の画像投影修正が、必要に応じて遂行される（ステップ１２０４）。しかしながら、動作されている画像スリット又はスライスが充分に狭い場合には、必要な投影修正量がかなり少ないか、又は全く必要とされない。最終的に、パースペクティブ修正は、既知のワープ技術、例えば、キュービック補間、バイキュービック補間、キュービックスプライン、又はバイキュービックスプラインに基づいて遂行される（ステップ１２０６）。或いは又、ステップ２０６で遂行される特徴部検出プロセスの結果からパースペクティブ変化を推測できるが、そのようなルートは、計算上より厳しいものであることが分かっている。
【００６５】
図１３を参照すれば、一実施形態により、画像スリット又はスライスのコンテクストにおいてカメラの回転によるパースペクティブの変化が示されている。図１３に示すように、２つの画像、即ち画像Ａ及び画像Ｂがカメラ装置により捕獲されている。図１３では、画像Ａが細い線で表され、そして画像Ｂが太い線で表されている。この例において、画像Ｂは、カメラ装置の回転についてパースペクティブ修正され、即ち画像Ｂの台形状の画像輪郭で示されたように、画像Ａとの混合の準備においてワープされる。各画像の中央部分内には、画像スリットがあり、即ち実際に分析されて結果のパノラマ画像の生成に向けて貢献する各画像の部分がある。図示したように、画像スリットＡ及び画像スリットＢは、「重畳領域」と表示されて対角線で陰影付けされた重畳領域を有し、これは、結果のパノラマ画像部分を生成するために混合される画像Ａと画像Ｂとの間のエリアである。図１３に示すように、動作される画像スリットは比較的狭い寸法であり、且つ重畳領域の巾も狭いので、画像Ａ及び画像Ｂを整列させるのに必要なパースペクティブ修正量は、かなり小さくなる。更に、パースペクティブ整列されるスリットの狭い性質のために画像投影修正は不要である。これは、カメラ装置により返送される全画像フレームではなく画像スリットに対して動作するという更に別の利益がある。
【００６６】
図１４を参照すれば、一実施形態によるパノラマ写真の画像結合を遂行するプロセス２１０がフローチャート形態で示されている。図１４は、図２を参照して上述した画像結合ステップ２１０を詳細に示す。先ず、プロセス２１０は、一緒に結合されるべき２つ以上の画像フレームを取得し、そしてそれらに作用するためにアッセンブルバッファに入れる（ステップ１４００）。パノラマ写真プロセスのこの時点で、２つの画像は、種々の実施形態に基づいて上述したように、必要に応じて、モーションフィルタリングされ、位置合わせされ、幾何学的に修正され、等々がなされていてもよい。
【００６７】
従来のパノラマ写真後処理ソフトウェアシステムでは、結合プロセスの一部分は、２つの次々に捕獲された画像フレーム間の重畳領域において混合を行い、フレーム間の小さな差を隠すように試みる。しかしながら、この混合プロセスは、重畳領域の画像をぼかすという影響を及ぼす。本発明者は、当該物体が重畳領域にある場合にこの解決策はパノラマ写真にとって理想的なものではなく、且つ人間の顔が重畳領域に生じる場合には、それが混合プロセスにより歪められ且つパノラマ画像の観察者（人間）にとって非常に目立つので、特に望ましくないことを警告している。従って、ここに開示する１つの実施形態による結合プロセスでは、次いで、現在結合される２つの画像フレーム間の重畳領域において当該物体を探索する（ステップ１４０２）。上述したように、１つの実施形態では、当該物体は、人間の顔を含む。人間の顔は、多数の良く知られた顔検出アルゴリズム、例えば、Ｖｉｏｌａ  Ｊｏｎｅｓフレームワーク又はＯｐｅｎＣＶ（オープンソースコンピュータビジョンライブラリー）を使用して探索される。人間の顔又は他の当該物体が探索されると、プロセス２１０は、ある基準に基づき、結合されている２つの画像フレームの一方から当該物体の表現を選択する（ステップ１４０４）。例えば、当該物体が人間の顔であり、そして２つの重畳する画像フレームに人間の顔が生じる場合に、プロセス２１０は、両眼が開いた顔の表現、又は顔が微笑んでいる表現、或いは赤目アーティファクトが少ない表現を選択する。使用する基準、及び当該物体の表現を選択するのに含まれる処理の量は、個々のアプリケーション及び利用可能なリソースに基づいて決定される。１つの実施形態において、結合されている２つの画像の一方から顔の表現を選択する動作は、各画像における顔の表現の計算されたスコアに少なくとも一部分基づく。顔の表現のスコアの計算は、例えば、次のもの、即ち顔が微笑んでいるとの確信、顔の赤目アーティファクトの検出、又は顔の開いた目又は閉じた目の検出、の少なくとも１つを考慮することを含む。
【００６８】
その表現が検出されると、プロセス２１０は、当該物体の周りの画像のエリアを混合プロセスから除外しつつ、画像間の重畳領域における画像データを、選択された混合式に基づいて混合する（ステップ１４０６）。例えば、画像データは、当該ソース画像の中心から混合されるピクセルまでの距離に基づく簡単な一次又は多項式関数或いはアルファ混合スキームに従って重畳領域にわたって混合される。画像間の重畳領域が、例えば、人間の顔等の当該物体を含まない全てのエリアで混合されると、プロセス２１０は、次いで、当該物体の選択された表現のエリアの周りの柔軟な又は「フェザー付き」縁を任意に使用して、その選択された表現を重畳領域へ追加する（ステップ１４０８）。当該物体の周りのエリアを正確に画成するために種々の技術を使用することができる。例えば、人間の顔の場合には、参考としてここにそのまま援用される２００９年６月５日に出願された共通に譲渡された米国特許出願第１２／４７９，６５１号に開示された技術に従って、当該顔の周りにスキントーンマスクが生成される。別の実施形態では、当該物体の周りのエリアを囲む境界ボックスが画成される。他の実施形態では、境界ボックスは、当該物体の周りの少なくとも１つの方向、好ましくは、当該物体の周りの４つの全ての基本方向に付加的な数のピクセルが詰められる。当該物体の周りの領域を囲むように指定されたスキントーンマスク又は他のそのような領域は、次いで、ぼかし式、例えば、１０ピクセル巾にわたる境界の「フェザリング」又は他の領域フォールオフ関数に従って混合画像データへと移行される。当該挿入領域の周りに「柔軟な」又は「フェザー付き」縁を生成する計画は、重畳領域における他のピクセルから明確に異なるものとして画像の観察者に目立つことがないように使用される。最終的に、結果の結合画像（以前の画像、現在画像、及び当該物体が分かる混合(object-of-interest-aware blended)重畳領域を含む）が、カメラ装置それ自体又は他のどこかのメモリに記憶される（ステップ１４１０）。
【００６９】
図１５を参照すれば、従来技術による規範的な結合されたパノラマ画像１５００が示されている。図１５に示すパノラマ画像１５００は、３つの個別画像、即ち画像Ａ、画像Ｂ及び画像Ｃからの画像データを含む。各画像の輪郭は、破線で示されており、そして各画像の限度は、対応画像表示を伴う波括弧で示されている。更に、画像内の重畳領域も、対応表示「Ａ／Ｂ重畳」及び「Ｂ／Ｃ重畳」を伴う波括弧で示されている。パノラマ画像１５００において左から右へ移動すると、画像Ａ（‘Ａ’で表示された）からの画像データのみを含む領域があり、次いで、両画像Ａ及びＢ（‘Ａ／Ｂ’で表示された）からの混合画像データを含む重畳領域があり、次いで、画像Ｂ（‘Ｂ’で表示された）からの画像データのみを含む領域があり、次いで、両画像Ｂ及びＣ（‘Ｂ／Ｃ’で表示された）からの混合画像データを含む重畳領域があり、そして最後に、画像Ｃ（‘Ｃ’で表示された）からの画像データのみを含む領域がある。
【００７０】
上述した規範的なパノラマ画像１５００をアッセンブルするのに使用されるパノラマ画像結合スキームは、幾つかのパノラマシーンに対して満足に機能するが、他のパノラマシーンでは顕著な望ましからぬ作用を招くことがある。特に、人間の顔のような画像内の当該物体が重畳領域の一方に生じた場合には、混合プロセスが望ましからぬ視覚的アーティファクトを生じることがある。例えば、重畳領域に生じる当該物体の２つの形態のうち、１つは、焦点が合っていて、もう１つは、焦点が外れていることがある。或いは又、１つは、目が開いた顔を含み、もう１つは、目が閉じた顔を含むことがある。重畳領域に表現された画像のどちらが当該物体についてより望ましい表現を有するかに基づいて、混合プロセスは、準最適な又は一風変わった見掛けの画像を重畳領域に生じ、例えば、片方の目が開き、片方の目が閉じた顔を生じることがある。規範的なパノラマ画像１５００では、「Ａ／Ｂ重畳」領域に位置する人間の顔は、以下に述べるように、従来の結合技術では、準最適な混合を生じる。
【００７１】
図１６を参照すれば、従来技術によりアッセンブルされた結合パノラマ画像１６００に生じる規範的な混合エラー１６０２が示されている。図１５を参照して上述したように、「Ａ／Ｂ重畳」領域に位置した人間の顔を混合する試みは、準最適な混合を生じ得る。図１６に示すように、パノラマ画像の２つの重畳画像間の「継ぎ目」に人間の当該対象者が位置するパノラマ画像に共通の破線の円内に規範的な混合エラー１６０２が生じている。特に、「Ａ／Ｂ重畳」領域に位置する人間の対象者は、画像Ａが捕獲されたときには目が開いているように見えたが、画像Ｂが捕獲された瞬間にはまばたきをし、その結果、画像Ｂでは目が閉じている。従来の混合技術によれば、画像Ａからのピクセル値は、「Ａ／Ｂ重畳」領域の左側で優勢となり、次いで、「Ａ／Ｂ重畳」領域の右側へと徐々に混合されて、最終的な結合画像では画像Ｂからのピクセル値が優勢となる。人間の対象者の問題とする顔に対するこの混合のために、最終結合画像では左目が開きそして右目が閉じた状態で終了となる。このような結果、及び画像の当該領域における他の顕著な混合エラーは、インテリジェントな画像結合プロセスでは回避されるのが好ましい。
【００７２】
図１７を参照すれば、一実施形態による結合パノラマ画像１７００における規範的な当該領域１７０２／１７０４が示されている。図１６を参照して上述した従来のパノラマ結合技術に伴う問題に対処するために、本発明者は、潜在的な当該領域に対してパノラマ画像コンポーネントをスキャンしてシーングラフを生成した後に画像間の重畳領域において混合を行うという「当該領域が分かる(region-of-interest-aware)」結合プロセス２１０を使用した。図１７に示す規範的画像１７００では、人間の顔が特定の当該領域である。従って、捕獲された画像データに対して顔検出アルゴリズムを実行した後に、パノラマ画像１７００内の人間の対象者の顔に対応する規範的当該領域１７０２／１７０４が探索される。各当該領域は、太い黒線で輪郭が描かれている。図１７に示す規範的画像１７００において、１つの当該領域１７０２は、重畳領域に生じるが、他の当該領域１７０４は、重畳領域には生じない。ここに述べるインテリジェントな画像結合プロセス２１０の一実施形態によれば、これら２つのタイプの領域は、最終的画像混合プロセスにおいて異なる仕方で処理される。
【００７３】
図１８を参照すれば、一実施形態による「当該領域が分かる」結合パノラマ画像の規範的シーングラフが示されている。人間の対象者の顔に対応する当該領域１８０２が探索され、「Ａ／Ｂ重畳」領域内にあると決定される。従って、規範的な「当該領域が分かる」結合プロセス２１０は、人間の対象者の顔の表現を完全に画像Ａから使用することを決定する。画像Ｂではなく画像Ａから顔の表現を使用するという判断は、画像に実際に生じる顔の量、画像における顔の向き、画像における顔の焦点又は露出特性、或いは画像における微笑み又は開いた目の検出のような多数のファクタに基づく。当該顔は、パノラマ写真の具現化に画像スリットが使用される場合には多数の画像スリットにわたって生じるが、当該顔が少なくとも１つのスリットにある限り、顔検出プロセスは、顔を探索し、そしてそれを取り巻くエリアを、潜在的に望ましからぬ混合から除外することができる。
【００７４】
従って、画像Ａから顔の表現を選択することにより、画像Ａ及び画像Ｂにおいて顔の表現を混合することで生じる視覚的に不調和な混合エラーを回避し又は減少することができる。上述したように、図１８は、当該領域１８０２を当該顔上の長方形挿入画として示しているが、より精巧なマスクが当該領域上に組み込まれて、当該領域の境界が当該物体の輪郭をより厳密に追跡するようにすることができる。顔の例では、スキントーンマスクを使用して、当該領域を画成する。又、多数の既知のぼかし技術のいずれかを使用して、当該領域の縁から「Ａ／Ｂ重畳」混合領域へ戻る移行を柔軟なものにさせることもできる。図１８と図１６を比較すると、図１８を参照して述べる技術は、結果のパノラマ画像における人間の対象者の表現が両目を開いたものにし、そして人間の対象者の顔に対する他の潜在的なぼけ又は混合エラーの影響を減少することができる。これは、人間の顔における混合エラーが、パノラマ写真の観察者にとって、例えば、空や壁に生じる混合より目立ったものになるので、特に重要である。
【００７５】
結果のパノラマ画像に含まれるべき各画像が一緒に結合されると、それらは、望ましい形状に任意に切り落とされる（ステップ２１４）。というのは、アッセンブルプロセス中に画像に適用される種々の整列及び／又はパースペクティブ修正で、最終的な結合画像が不規則な形状をもつことがあるからである。切り落とされると、最終的な結果のパノラマ画像は、カメラ装置にローカル記憶されるか、又はカメラ装置の外部に記憶される（ステップ２１６）。ここに述べる技術を使用して得られる効率のために、パノラマ画像は、それらがアッセンブルされるときにリアルタイムで装置に記憶され及び／又は表示される。又、このタイプのメモリ融通性では、ユーザがパノラマスイープのスタート点及びストップ点をオンザフライで定義できるようにし、３６０°を越えるパノラマ回転も許す。
【００７６】
図１９を参照すれば、ここに示す実施形態によるディスプレイを所有する代表的な電子装置１９００、例えば、カメラ装置３０８の簡単な機能的ブロック図が示されている。電子装置１９００は、プロセッサ１９１６と、ディスプレイ１９２０と、接近センサ／周囲光センサ１９２６と、マイクロホン１９０６と、オーディオ／ビデオコーディック１９０２と、スピーカ１９０４と、通信回路１９１０と、位置センサ１９２４と、関連カメラハードウェアを伴う画像センサ１９０８と、ユーザインターフェイス１９１８と、メモリ１９１２と、記憶装置１９１４と、通信バス１９２２とを備えている。プロセッサ１９１６は、適当なプログラム可能なコントロール装置であり、画像メタデータの発生及び／又は処理、電装置１９００により遂行される他の機能のような多数の機能の動作をコントロールすることができる。プロセッサ１９１６は、ディスプレイ１９２０を駆動し、そしてユーザインターフェイス１９１８からユーザ入力を受け取る。ＡＲＭ（登録商標）ｖ７−Ａアーキテクチャーを伴うＣｏｒｔｅｘ（登録商標）Ａ８のような埋め込み型のプロセッサは、ここに開示した技術を実施するのに使用できる融通性があり且つ頑強なプログラマブルコントロール装置をなす。（Ｃｏｒｔｅｘ及びＡＲＭは、英国のＡＲＭリミテッドカンパニーの登録商標である。）
【００７７】
記憶装置１９１４は、メディア（例えば、画像及びビデオファイル）、ソフトウェア（例えば、装置１９００において種々の機能を具現化するための）、好みの情報、装置プロフィール情報、及び他の適当なデータを記憶する。又、記憶装置１９１４は、例えば、ハード・ドライブ、ＲＯＭのような永久メモリ、ＲＡＭのような半永久メモリ、又はキャッシュを含めて、画像データ及びプログラムインストラクションを有形に記録するための１つ以上の記憶媒体を含む。プログラムインストラクションは、望ましい言語（例えば、Ｃ又はＣ＋＋  ）でエンコードされたソフトウェア実施を含む。
【００７８】
メモリ１９１２は、装置の機能を遂行するのに使用される１つ以上の異なるタイプのメモリを含む。例えば、メモリ１９１２は、キャッシュ、ＲＯＭ及び／又はＲＡＭを含む。通信バス１９２２は、少なくとも記憶装置１９１４、メモリ１９１２、及びプロセッサ１９１６へ、又はそれらから、又はそれらの間でデータを転送するためのデータ転送経路をなす。ユーザインターフェイス１９１８は、ユーザが電子装置１９００と相互作用できるようにする。例えば、ユーザ入力装置１９１８は、ボタン、キーパッド、ダイヤル、クリックホイール、又はタッチスクリーンのような種々の形態をとることができる。
【００７９】
１つの実施形態において、パーソナル電子装置１９００は、画像及びビデオファイルのようなメディアを処理して表示できる電子装置である。例えば、パーソナル電子装置１９００は、移動電話、パーソナルデータアシスタント（ＰＤＡ）、ポータブル音楽プレーヤ、モニタ、テレビ、ラップトップ、デスクトップ、及びタブレットコンピュータ、或いは他の適当なパーソナル装置のような装置である。
【００８０】
好ましい実施形態及び他の実施形態の以上の説明は、本出願人が想像する本発明概念の範囲又は利用性を制限又は限定するものではない。１つの例として、本開示は、ハンドヘルドパーソナル電子装置に焦点を当てたが、本開示の教示は、慣習的なデジタルカメラのような他の具現化に適用できることが明らかであろう。ここに含まれた本発明概念を開示するのと引き換えに、本出願人は、特許請求の範囲により与えられる全ての特許権を希望する。それ故、特許請求の範囲は、請求項又はその等効物の範囲に含まれる全ての修正や変更を包含するものとする。
【符号の説明】
【００８１】
１００：システム
１２０：カメラレイヤ
１２２：パーソナル電子装置
１２４：位置センサ
１２６：画像ストリーム
１２８：画像フレーム
１３０：対象物である木
１４０：フィルタレイヤ
１４２：モーションフィルタモジュール
１４４：モーションフィルタリングされた画像ストリーム
１４６：入力
１６０：パノラマ処理レイヤ
１６２：パノラマ処理モジュール
１６４：画像位置合わせ情報
１８０：記憶レイヤ
１８２：記憶ユニット
３００：パノラマシーン
３０８：電子装置
３１０：画像フレーム
１９００：電子装置
１９０２：ＣＯＤＥＣ
１９０４：スピーカ
１９０６：マイクロホン
１９０８：画像センサ／カメラハードウェア
１９１０：通信回路
１９１２：メモリ
１９１４：記憶装置
１９１６：プロセッサ
１９１８：ユーザインターフェイス
１９２０：ディスプレイ
１９２２：通信バス
１９２４：位置センサ
１９２６：接近センサ／周囲光センサ
【図１】
0005972969.tif 000002
【図２】
0005972969.tif 000003
【図３】
0005972969.tif 000004
【図４】
0005972969.tif 000005
【図５Ａ】
0005972969.tif 000006
【図５Ｂ】
0005972969.tif 000007
【図６】
0005972969.tif 000008
【図７Ａ】
0005972969.tif 000009
【図７Ｂ】
0005972969.tif 000010
【図７Ｃ】
0005972969.tif 000011
【図７Ｄ】
0005972969.tif 000012
【図８】
0005972969.tif 000013
【図９】
0005972969.tif 000014
【図１０】
0005972969.tif 000015
【図１１】
0005972969.tif 000016
【図１２】
0005972969.tif 000017
【図１３】
0005972969.tif 000018
【図１４】
0005972969.tif 000019
【図１５】
0005972969.tif 000020
【図１６】
0005972969.tif 000021
【図１７】
0005972969.tif 000022
【図１８】
0005972969.tif 000023
【図１９】
0005972969.tif 000024