(57)【要約】      （修正有）【課題】ビデオシーケンスのフレームを選択する方法でを提供する。【解決手段】ビデオシーケンスの連続する複数のフレームの画像データをカメラを用いてキャプチャする。キャプチャしたイメージデータを用いて、連続する複数のフレームから、カメラが移動しているフレームを識別する。ここで、識別されるフレームは、被写体を有している、識別されたフレームの各々における被写体のサイズを判定する。識別された複数のフレームの各々の被写体のサイズに基づき、カメラがその被写体とともに当該被写体に向かって移動していることを検出することで識別されたフレームを選択する。【選択図】図４
2019071047.tif 000002
【特許請求の範囲】
【請求項１】
ビデオシーケンスのフレームを選択する方法であって、
カメラを用いたビデオシーケンスの連続する複数のフレームのイメージデータをキャプチャする工程と
前記キャプチャしたイメージデータを用いて、前記連続する複数のフレームから、カメラが移動しているフレームを識別する工程と、
ここで、前記識別されるフレームの各々は被写体を有する、
識別されたフレームの各々にキャプチャされた被写体のサイズを判定する工程と、
複数の前記識別されたフレームの各々における前記被写体のサイズに基づき、被写体とともに当該被写体に向かってカメラが移動していることを検出することで、前記識別されたフレームを選択する工程と
を有することを特徴とする方法。
【請求項２】
前記被写体のサイズは、識別された前記複数のフレームにて、実質的に同じになっていることを特徴とする請求項１に記載の方法。
【請求項３】
更に、前記連続するフレームを処理し、前記カメラの操作者が歩いているかどうかを判定する工程を有することを特徴とする請求項１に記載の方法。
【請求項４】
更に、ビデオメタデータに基づいて前記カメラの操作者が歩いているかどうかを判定する工程と有することを特徴とする請求項１に記載の方法。
【請求項５】
前記メタデータは、全地球測位システムのメタデータであることを特徴とする請求項４に記載の方法。
【請求項６】
前記メタデータは、加速度メータのメタデータであることを特徴とする請求項４に記載の方法。
【請求項７】
更に、前記カメラに関連付けられたジャイロデータに基づき、前記カメラの操作者が歩いているかどうかを判定する工程を有することを特徴とする請求項４に記載の方法。
【請求項８】
更に、前記識別されたフレームの低解像度表現を処理する工程を有することを特徴とする請求項１に記載の方法。
【請求項９】
前記低解像度表現は、輝度マトリクスであることを特徴とする請求項８に記載の方法。
【請求項１０】
前記低解像度表現は、前記フレームに関連付けられるビデオメタデータ内に含まれることを特徴とする請求項８に記載の方法。
【請求項１１】
更に、前記被写体のサイズを判定するため、前記識別された１以上のフレームにおいて画素データを処理する工程と有することを特徴とする請求項１に記載の方法。
【請求項１２】
更に、前記被写体を識別するため、テンプレートを前記被写体にマッチングする工程を有することを特徴とする請求項１に記載の方法。
【請求項１３】
更に、前記被写体のサイズの変化を探索するため、テンプレートを前記被写体にマッチングする工程を有することを特徴とする請求項１に記載の方法。
【請求項１４】
前記キャプチャされたイメージデータは画素データであることを特徴とする請求項１に記載の方法。
【請求項１５】
前記キャプチャされたイメージデータはメタデータであることを特徴とする請求項１に記載の方法。
【請求項１６】
前記キャプチャされたイメージデータは、メタデータに加えてピクセルデータであることを特徴とする請求項１に記載の方法。
【請求項１７】
前記被写体の顔は、前記フレーム内で識別不能であることを特徴とする請求項１に記載の方法。
【請求項１８】
ビデオシーケンスのフレームを選択する装置であって、
カメラを用いたビデオシーケンスの連続する複数のフレームのイメージデータをキャプチャする手段と、
前記キャプチャしたイメージデータを用いて、前記連続する複数のフレームから、カメラが移動しているフレームを識別する手段と、
ここで、前記識別されるフレームの各々は被写体を有する、
識別されたフレームの各々にキャプチャされた被写体のサイズを判定する手段と、
複数の前記識別されたフレームの各々における前記被写体のサイズに基づき、被写体とともに当該被写体に向かってカメラが移動していることを検出することで、前記識別されたフレームを選択する手段と
を有することを特徴とする方法。
【請求項１９】
ビデオシーケンスのフレームを選択するシステムであって、
データおよびコンピュータプログラムを格納するメモリと、
コンピュータプログラムを実行するために前記メモリに接続されたプロセッサと
を有し、前記コンピュータプログラムは、
カメラを用いてビデオシーケンスの連続する複数のフレームのイメージデータをキャプチャさせ、
前記キャプチャしたイメージデータを用いて、前記連続する複数のフレームから、カメラが移動しているフレームを識別させ、
ここで、前記識別されるフレームの各々は被写体を有する、
識別されたフレームの各々にキャプチャされた被写体のサイズを判定させ、
前記識別された複数のフレームの各々における前記被写体のサイズに基づき、前記被写体とともに当該被写体に向かってカメラが移動していることを検出することで、前記識別されたフレームを選択させる
コードを有することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
この開示は一般にデジタルビデオ処理に関し、特に、被写体検出に基づくビデオシーケンスのフレームを選択する方法、システム及び装置に関する。本発明は、被写体検出に基づくビデオシーケンスのフレームを選択するプログラムが記録されたコンピュータ可読媒体を含むコンピュータプログラム製品にも関するものである。
【背景技術】
【０００２】
ビデオは、シーンや展開するイベントをキャプチャする効率的な方法である。一般に、人々は、誕生パーティ、結婚式、旅行、スポーツのイベントに対してビデオをキャプチャする。静止画と違って、ビデオイメージは、展開する、体系化されないイベント、例えば、特定の自然な表情、人的交流、人的行動（遊び、パフォーマンス活動、スポーツ活動など）に対して優位性を有する。また、時には、ビデオシーンに含まれる最も思い出深いハイライト部を含むショートバージョンを生成するため、そのビデオシーケンスの断片を選択したくなることがある。また、ビデオシーケンスにおける退屈な部分、繰り返し部分、或いは、つまらない部分を除去したいこともある。そして、さらには、ビデオのハイライト部分を自動的に選択されることが望まれる。
【０００３】
ビデオのハイライト部分を自動的選択する１つの方法は、パーソナルコンピュータ上でビデオシーケンスを後処理することである。パーソナルコンピュータ上でのビデオシーケンスの後処理は、ビデオシーケンスの個々のフレームの画像解析を利用する様々な方法が利用できるように、かなりの処理能力が利用できるので好都合である。カメラが撮像し、そのビデオイメージと一緒にメタデータを記録する場合の付加的なビデオメタデータも利用できる。そのようなビデオメタデータは、ジャイロセンサ、顔検出アルゴリズム、輝度マップ、カメラ設定、および露出センサからのデータを含むことができる。しかしながら、標準ビデオフォーマットは、そのようなメタデータを含んでいず、それ故、カメラとパーソナルコンピュータ間でのデータ交換のための、専用のビデオフォーマットが要求される。
【発明の概要】
【０００４】
本発明は、既存の構成の１以上の不利益を実質的に解消、もしくは、少なくとも改良することを目的とする。
【０００５】
本開示における１つの態様によれば、以下に示す工程を有するビデオシーケンスのフレームを選択する方法が提供される。すなわち、この方法は、
カメラを用いたビデオシーケンスの連続する複数のフレームのイメージデータをキャプチャする工程と
前記キャプチャしたイメージデータを用いて、前記連続する複数のフレームから、カメラが移動しているフレームを識別する工程と、
ここで、前記識別されるフレームの各々は被写体を有する、
識別されたフレームの各々にキャプチャされた被写体のサイズを判定する工程と、
複数の前記識別されたフレームの各々における前記被写体のサイズに基づき、被写体とともに当該被写体に向かってカメラが移動していることを検出することで、前記識別されたフレームを選択する工程とを有する。
【０００６】
本開示の他の態様によれば、ビデオシーケンスのフレームを選択する装置が提供される。すなわち、この装置は、
カメラを用いたビデオシーケンスの連続する複数のフレームのイメージデータをキャプチャする手段と、
前記キャプチャしたイメージデータを用いて、前記連続する複数のフレームから、カメラが移動しているフレームを識別する手段と、
ここで、前記識別されるフレームの各々は被写体を有する、
識別されたフレームの各々にキャプチャされた被写体のサイズを判定する手段と、
複数の前記識別されたフレームの各々における前記被写体のサイズに基づき、被写体とともに当該被写体に向かってカメラが移動していることを検出することで、前記識別されたフレームを選択する手段とを有する。
【０００７】
本開示の他の態様によれば、ビデオシーケンスのフレームを選択するシステムが提供される。すなわち、このシステムは、
データおよびコンピュータプログラムを格納するメモリと、
コンピュータプログラムを実行するために前記メモリに接続されたプロセッサとを有し、前記コンピュータプログラムは、
カメラを用いてビデオシーケンスの連続する複数のフレームのイメージデータをキャプチャさせ、
前記キャプチャしたイメージデータを用いて、前記連続する複数のフレームから、カメラが移動しているフレームを識別させ、
ここで、前記識別されるフレームの各々は被写体を有する、
識別されたフレームの各々にキャプチャされた被写体のサイズを判定させ、
前記識別された複数のフレームの各々における前記被写体のサイズに基づき、前記被写体とともに当該被写体に向かってカメラが移動していることを検出することで、前記識別されたフレームを選択させるコードを有する。
【０００８】
本開示の他の態様によれば、ビデオシーケンスのフレームを選択するためのプログラムを有する、非一時的なコンピュータが読み込み可能な記憶媒体が提供される。すなわち、このプログラムは、
カメラを用いたビデオシーケンスの連続する複数のフレームのイメージデータをキャプチャさせるコードと、
前記キャプチャしたイメージデータを用いて、前記連続する複数のフレームから、カメラが移動しているフレームを識別させるコードと、
ここで、前記識別されるフレームの各々は被写体を有する、
識別されたフレームの各々にキャプチャされた被写体のサイズを判定させるコードと、
前記識別された複数のフレームの各々における前記被写体のサイズに基づき、前記被写体とともに当該被写体に向かってカメラが移動していることを検出することで、前記識別されたフレームを選択させるコードとを有する。
【０００９】
そして、他の態様も開示される。
【図面の簡単な説明】
【００１０】
本発明の１以上の実施形態が以下に示す図面を参照して記述される。
【図１Ａ】静止画及びビデオシーケンスの両方を撮影可能な画像キャプチャシステムのブロック構成図。
【図１Ｂ】図１Ａの画像キャプチャシステムの制御部のブロック構成図。
【図２】被写体を追跡するカメラ操作者を示す図。
【図３】方向を変更した図２の被写体を追跡するカメラ操作者を示す図。
【図４】入力ビデオシーケンスにおける、少なくとも或るビデオフレーム群をビデオハイライトとして選択する方法を示すフロー図。
【図５Ａ】カメラ操作者が歩いているかどうかの検出方法を示すフロー図。
【図５Ｂ】カメラ操作者が歩いているかどうかの他の検出方法を示すフロー図。
【図６】被写体を追跡しているカメラ操作者を表すビデオフレームの検出方法を示すフロー図。
【図７】被写体を追跡しているカメラ操作者に対応するビデオフレームの検出方法を示すフロー図。
【図８】被写体を追跡しているカメラ操作者を有するとしてマーク付けられたビデオフレームを示す図。
【図９Ａ】或るビデオフレームの低解像度表現を示す図。
【図９Ｂ】他のビデオフレームの低解像度表現を示す図。
【図９Ｃ】他のビデオフレームの低解像度表現を示す図。
【図１０Ａ】３つのサンプルテンプレートを示す図。
【図１０Ｂ】変換されたテンプレートとマトリクスを示す図。
【図１０Ｃ】他の変換されたテンプレートとマトリクスを示す図。
【図１０Ｄ】他の変換されたテンプレートとマトリクスを示す図。
【図１１Ａ】カメラ操作者が被写体に追跡しているときの、時間の経過における被写体のサイズの例を示すグラフ図。
【図１１Ｂ】カメラ操作者が歩行し、被写体に近づいているときの、時間の経過における被写体のサイズの例を示すグラフ図。
【図１１Ｃ】被写体がカメラ操作者からさらに離れているときの、時間の経過における被写体のサイズの例を示すグラフ図。
【発明を実施するための形態】
【００１１】
１以上の添付図面における工程や特徴に対してなされた参照符号において、同じ参照符号は、特に反対の意思が示されない限り、これら工程及び／又は特徴はこの明細書における目的において同じ機能または処理を有する。
【００１２】
図１Ａは、ここで説明される方法を実行する、一例としての撮像システム１００の断面構成図である。一般的なケースにおいて、撮像システム１００はデジタルスチルカメラまたはデジタルビデオカメラである（以降、カムコーダと称する）。ただし、以下に説明する方法は、デスクトップコンピュータ、サーバコンピュータ、および、十分大きい処理リソースを有するデバイスなど、より高いレベルの装置にて実行されてもよい。
【００１３】
撮像システム１００は、以降においては、“カメラシステム１００”、“カメラ１００”、或いは、“ビデオキャプチャデバイス１００”として参照される。用語“画像”及び“フレーム”は、以下の説明においては互換的に用いられる。
【００１４】
図１Ａに示すように、カメラシステム１００は、シーン１０１から光を受け、センサ１２１上に画像を形成する光学系１０２を有する。センサ１２１は、２次元配列の画素センサを有し、それら２次元センサは、位置関数として、光学系により形成された画像の強度を測定する。ユーザとのやりとり、および、センサ１２１からの画像データの読み出し、処理及び格納のすべての面を含むカメラ１００の処理は、特別目的のコンピュータシステムを有するメイン制御部１２２に統合される。以下、システム１００を詳細に考察する。ユーザは、ボタンセットを介して制御部１２２と通信できる。ボタンセットには、フォーカシングの開始と画像データのキャプチャに利用されるシャッターレリーズボタン１２８、フラッシュ操作などの特定のカメラ機能の制御や、表示デバイス１２３上に表示されるグラフィカルユーザインタフェースを利用した相互作用をサポートするための他の一般および特別目的のボタン１２４，１２５，１２６が含まれる。表示デバイス１２３は、更なるユーザとの相互作用を許容可能とするためにタッチスクリーンを有してもよい。ボタン及びコントロールを用いて、カメラ１００の動作を制御もしくは変更可能である。通常、必要な露光レベルを達成する際のシャッタースピードや絞りの優先度、測光、フラッシュの使用、ＩＳＯスピード、オートフォーカスなどの撮影制御機能に使用される領域などの、キャプチャに係る設定の制御を行うことができる。さらに、カラーバランスや圧縮品質などの処理オプションを制御することも可能である。表示デバイス１２３は、通常、取り込まれた画像またはビデオデータをレビューするためにも使用される。静止画像カメラが表示デバイス１２３を使用してシーンのライブプレビューを提供する。これにより、静止画像撮影前およびビデオ撮影中に構成する光学ファインダ１２７の代替物を提供できる。
【００１５】
光学系１０２は、レンズ群１１０，１１２，１１３、１１７の配列を備える。これらレンズ群１１０、１１２，１１３，１１７は、レンズ制御部１１８の制御下で、光軸１０３に平行な線１３１に沿って相対的に移動し、倍率レベルの範囲、及び、センサ１２１に形成される画像の焦点距離を達成する。レンズ制御部１１８は、また、光学系１０２によって形成された像の位置をセンサ１２１上でシフトさせるように、機構１１１を制御して、１つ以上のモーションセンサ１１５，１１６または１１６からの入力に応答して、補正レンズ群１１２の光軸１０３に垂直な平面内の任意の線１３２上の位置を変化させることができる。一般に、補正光学要素１１２は、手振れ起因などのカメラ１００の小さな動きに対し、センサ１２１上の画像の位置を補正することによる、光学画像の安定化効果のために使用される。光学系１０２は、その光学系１０２を介して光の経路を絞り込むための調整可能な絞り１１４及びシャッター機構１２０を有する。これら絞りやシャッターは一般に機構デバイスとして実装されるものであるが、電気的な制御信号の下で光学特定を変更できる、例えば液晶のような素材を用いて構築することもできる。そのような電子的光学デバイスは、制御部１２２の制御下にて、絞りの形状と不透明度の両方を継続的な変動を許容できるという優位性が有する。
【００１６】
図１Ｂは、図１Ａの制御部１２２のブロック構成図であり、カメラシステム１００における、制御部１２２と通信する他の要素を機能ブロックとして示している。特にイメージセンサ１２１、レンズ制御部１１８及びジャイロセンサ１９９は、それらの物理的構成または画像形成プロセスを参照することなく示されており、特定の事前定義されたタスクを実行し、データおよび制御信号が通過するデバイスとしてのみ扱われる。
【００１７】
図１Ｂには、低輝度における画像キャプチャ時に使用できるストロボ光の動作を制御するフラッシュ制御部１０７が示されている。補助センサ１９６は、カメラ１００が撮像中に、縦向きに構えられているかどうかを検出する姿勢センサ、周囲照明の色を検出や、オートフォーカスを補助するなどの他のセンサを含む。補助センサ１９６は、制御部１２２の一部として示しているが、この補助センサ１９６は、いくつかの実装要素内に、カメラシステム１００内の個別の構成要素として実装してもよい。ジャイロセンサ１９９は、カメラ１００の角運動を検出する。ジャイロセンサ１９９は、ピッチ及びヨーにおける角運動量を通知する。ジャイロセンサ１９９は、図１Ａに示されるセンサ１１５及び／又は１１６の一部を構成しても良いし、ジャイロセンサ１９９は個別のセンサであっても構わない。姿勢センサ（不図示）を、カメラ１００のロール軸に対する角度位置を検出するために利用しても良い。姿勢センサ情報は、ジャイロセンサ１９９から導出しても良く、方位センサは独立したセンサであっても良い。姿勢センサは９０度単位にカメラの姿勢を通知しても良い。
【００１８】
制御部１２２は、プログラムコードを実行する処理部（又はプロセッサ）１５０、リードオンリーメモリ（ＲＯＭ）１６０、および、ランダムアクセスメモリ（ＲＡＭ）１７０、並びに、不揮発性の大容量データ記憶装置１９１を有する。制御部１２２は、専用輝度モジュール１８０を有する。加えて、少なくとも１つの通信インタフェース（Ｉ／Ｆ）１９２が、プリンタ、ディスプレイ、汎用コンピュータ等の他の電子デバイスと通信するために用意されている。通信インタフェースの例には、ＵＳＢ、ＩＥＥＥ１３９４，ＨＤＭＩ（登録商標）やＥｔｈｅｒｎｅｔが含まれる。オーディオインタフェース１９３は、デジタルオーディオデータを取り込むため及び再生するため、１以上のマイクロホン、及び、スピーカを有する。制御部１２２に対するディスプレイ１２３やカメラ１００の本体に設けられコントロールとのインタフェースとなるべく、表示制御部１９４及びボタンインタフェース１９５が設けられる。カメラ１２２の各要素は、データバス１８１、およびコントロールバス１８２によって相互接続されている。
【００１９】
キャプチャモード時、制御部１２２はイメージセンサ１２１やオーディオインタフェース１９３からのデータの読み出し、および、不揮発性の大容量データ記録装置１９１に記憶できるようするためのセンサのデジタルデータへの形成のためのデータ操作を行う。静止画カメラの場合、画像データはＪＰＥＧやＴＩＦＦなどの標準画像ファイルフォーマットを用いて格納される。または、画像データは、ＲＡＷフォーマットデータを標準画像ファイルフォーマットに変換する相補的ソフトウェア製品の使用するようにデザインされた独自のＲＡＷデータフォーマットを使用して符号化されても良い。そのようなソフトウェアは、一般に、汎用目的のコンピュータ上で実行されるものである。一方、ビデオカメラの場合、取り込んだビデオを有する画像シーケンスは、ＤＶ、ＭＰＥＧ、Ｈ．２６４などの標準フォーマットを用いて格納される。これらの標準フォーマットのいくつかは、テープストレージによく利用されるＤＶのような他のフォーマットなどのデータストリームよして書き込まれるコンテナファイルを参照して、ＡＶＩやＱｕｉｃｋｔｉｍｅ等のファイルに編成される。不揮発性の大容量データ記憶装置１９１は、カメラシステム１００によってキャプチャした画像またはビデオデータを格納するための使用されるものであって、多数の実現例を有する。限定されるわけでないが、例えば、コンパクトフラッシュ（登録商標）（ＣＦ）やセキュアデジタル（ＳＤ）カードなどの可搬性フラッシュメモリ、メモリスティック、マルチメディアカード、ｍｉｎｉＳＤやｍｉｃｒｏＳＤ、書き込み可能ＣＤ、ＤＶＤやＢｌｕ−ｒａｙ（登録商標）ディスクなどの光学記憶媒体、或いは、磁気テープや極小フォームファクタＨＤＤを含むハードディスクドライブ（ＨＤＤ）である。大容量記憶装置の選択は、このカメラシステム１００の要求である、容量、速度、ユーザビリティ、電力や物理的サイズに依存する。
【００２０】
シーン輝度情報が輝度モジュール１８０より提供される。この輝度モジュール１８０は、イメージセンサ１２１からの情報を取得する、或いは、輝度モジュール１８０は独立したセンサであっても良い。輝度モジュール１８０は、ビデオシーケンスや静止画をキャプチャする際の適正な露光量を決定するように構成されている。輝度モジュール１８０は、一般に、シーン輝度を表す単一の輝度値を記憶するものであり、しばしばphotography industry standard APEX systemによる定義として決定される。輝度値は、取り込まれた静止画又はビデオシーケンスを一緒に、メタデータとして格納される。ジャイロセンサ１９９や姿勢センサがカメラシステム１００内に使用されている場合、ジャイロセンサ１９９からのカメラ動き情報、および、姿勢センサからの姿勢情報は、静止画やビデオシーケンスと一緒にメタデータとして格納されても良い。ビデオシーケンスが取り込まれているとき、メタデータはビデオシーケンスにおけるフレームに関連付けられることになる。このように、ビデオシーケンス内の各フレームには、それぞれのフレームに特有のシーン輝度情報及びカメラ動き情報がメタデータ内に存在することになる。
【００２１】
再生又はプレビューモード時、制御部１２２は大容量記憶装置１８１からのデータの読み出しと、ディスプレイ１９４とオーディオインタフェース１９３を使用して、そのデータの提示の処理を行う。
【００２２】
プロセッサ１５０は、接続されたメモリ１６０及び１７０の一方もしくは両方に格納されたプログラムを実行できる。カメラシステム１７０は最初に電源投入されたとき、ＲＯＭメモリ１６００に常駐するシステムプログラムコード１６１が実行される。ＲＯＭ１６０に恒久的に格納されているシステムプログラムは、時としてファームウェアとして呼ばれるものである。プロセッサ１５０によるファームウェアの実行は、プロセッサ管理、メモリ管理、デバイス管理、ストレージ監視及びユーザインタフェースを含む様々なハイレベル機能を実現する。
【００２３】
システムプログラムコード１６１は、例えば、以下に記述する記憶デバイスを含む、コンピュータ可読媒体に格納されても良い。システムプログラムコード１６１は、コンピュータ可読媒体からシステム１００にロードされ、そしてシステム１００により実行される。コンピュータ可読媒体に記録されたソフトウェアまたはコンピュータプログラムを持つコンピュータ可読媒体は、コンピュータプログラム製品である。
【００２４】
いくつかの例では、システムプログラムコード１６１は、１以上のＣＤ−ＲＯＭにエンコードされユーザに提供され、対応するデバイスを介して読み出される。或いは、ネットワークからユーザにより読み出されても構わない。さらにまた、ソフトウェアは他のコンピュータ可読媒体からシステム１００にロードすることもできる。コンピュータ可読記憶媒体は、実行及び／又は処理するために、システム１００に、記録された命令及び／又はデータを提供するいかなる普遍的な有体の記憶媒体をも参照できる。そのような記憶媒体の例は、システム１００の内部又は外部に設けられるか否かにしても、フロッピーディスク、磁気テープ、ＣＤ−ＲＯＭ、ＤＶＤ，Ｂｌｕ−ｒａｙ（登録商標）ディスク、ハードディスクドライブ、ＲＯＭまたは集積回路、ＵＳＢメモリ、光磁気ディスク、ＰＣＭＣＩＡカードなどのコンピュータ可読カードなどである。システム１００へのソフトウェア、アプリケーションプログラム、命令及び／又はデータを提供に関与する、一時的又は無体のコンピュータ可読の通信メディアは、無線、赤外線伝送チャネル、並びに、他のコンピュータやネットワークデバイスへのネットワーク接続、ｅメール転送やウエブサイトなどに記録された情報を含むインターネットやイントラネットである。プロセッサ１５０は、コントロールユニット（ＣＵ）１５１、演算ユニット（ＡＬＵ）１５２、デジタル信号処理エンジン（ＤＳＰ）１５３、及び、内部バッファ又はキャッシュメモリ１５５とともに、一般の原子データ素子１５６，１５７を含むレジスタセット１５４を含む多数の機能モジュールを含む。１以上の内部バス１５９が、これら機能モジュールと相互接続する。プロセッサ１５０は、一般に、システムデータバス１８１、制御バス１８２を介して、外部デバイスと通信するための１以上のインタフェース１５８を有する。
【００２５】
システムプログラム１６１は、条件分岐やループ命令などを含む参照符号１６２乃至１６３の命令シーケンスを含む。このプログラム１６１は、プログラム１６１を実行時に利用するデータを含んでも良い。プログラム１６１の実行時に利用するデータは、命令の一部として、または、ＲＯＭ１６９やＲＡＭ１７０内の独立した位置１６４に格納されても良い。
【００２６】
一般に、プロセッサ１５０には、内部で実行される命令セットが提供される。プロセッサ１５０に渡される命令セットは、特定のタスクやカメラシステム１００にて発生する特定のイベントをハンドルするブロック内にまとめられても良い。一般にシステムプログラム１６１は、イベントを待ち、続いて、そのイベントに関連付けられたコードのブロックを実行する。イベントに関連付けられたコードのブロックの実行は、カメラシステム１００の独立したプロセッサ上で走る個別のスレッドの動作への設定を伴うことになる。例えば、レンズ制御部１１８は、プロセッサ１５０上にて走るプログラムと並列に実行される。イベントは、ボタンインタフェース１９５による検出など、ユーザからの入力をトリガとなることもある。また、イベントは、カメラシステム１００における他のセンサやインタフェースに応じてトリガになることもある。
【００２７】
命令セットの実行は、読み取るべき、および変更すべき数値変数を要求することもある。そのような数値変数はＲＡＭ１７０に格納されることになる。以下に開示される方法は、メモリ１７０内の既知の位置１７２、１７３に格納された入力変数１７１を利用する。入力変数は、出力変数１７７を再生するために処理される。出力変数１７７は、メモリ１７０の既知の位置１７８，１７９に格納される。中間変数１７４が、メモリ１７０の更なるメモリ領域であり、位置１７５，１７６に格納される。なお、これとは別に、いくつかの中間変数はプロセッサ１５０のレジスタ１５４にのみ存在するようにしても良い。
【００２８】
命令シーケンスの実行は、フェッチ−実行サイクルの繰り返し適用により、プロセッサ１５０内にて実行される。プロセッサ１５０のコントロールユニット１５１は、次に実行する命令のメモリ１６０内のアドレスを収容するプログラムカウンタと呼ばれるレジスタを保持する。フェッチ実行サイクルの開始時、プログラムカウンタによって指し示されるメモリアドレスのコンテンツがコントロールユニット１７１にロードされる。ロードされた命令は、プロセッサ１５０の後続する処理を制御し、例えば、メモリ１７０からロードされるデータをプロセッサレジスタにロードさせ、レジスタの内容を他のレジスタの内容と算術的に結合させ、別のレジスタに格納された場所に書き込まれるなどが行われる。フェッチサイクルの最後では、プログラムカウンタが、プログラム１６１内の次命令を指すように更新される。実行される命令に依存するが、プログラムカウンタの更新では、そのプログラムカウンタに含まれるアドレスを増加させたり、分岐処理を実行するための新たなアドレスの読み込みが行われる。
【００２９】
フローチャートの処理における各ステップまたサブプロセスは、プログラム１６１の１以上のセグメントに関連付けられるものであり、プロセッサ１５０のフェッチ−実行サイクルの繰り返し実行、または、カメラシステム１００内の他の独立プロセッサブロックの同様のプログラム処理によって動作する。
【００３０】
いくつかの理由から、カメラ１００が自らハイライト部を選択することが望ましい。理由の１つは、カメラの操作がその機能を使用する可能性が高く、ビデオ制作プロセスを簡素化するためである。さらに、カメラ１００がネットワークに接続されている場合、カメラ１００は、選択したハイライト部を、インターネットビデオ共有サービスにそのカメラからダイレクトにアップロードされることを許可するためである。そして、ビデオシーケンスについての付加的なメタデータは、カメラ１００自身上に実行されるソフトウェアからよういにアクセスできるものとする。
【００３１】
カメラ１００にて、自動的にビデオのハイライト部を選択する際の１つの問題は、利用できる処理能力が一般に限られている点である。利用可能な汎用目的の処理パワーやメモリ容量は、カメラ１００のようなカメラでは通常限られたものとなってしまい、要求されるバッテリ持ちを最大限にする要求は、カメラ１００上で実行できる処理量をさらに減縮することになる。これらの限定は、主として、カメラ上でのハイライト部の選択のためのビデオフレーム画像処理の利用を排除するものとなる。
【００３２】
ハイライト選択は、一般のビデオフレームデータよりもはるかに少ない情報のビデオメタデータのみを使用して実行することができるので、処理をより迅速かつ安価に行うことができる。
【００３３】
幼い子供を持つ親は、しばしば、子供が走っているか歩いているときに、その子（または子のグループ）を追跡するビデオシーケンスをキャプチャする。キャプチャされたビデオシーケンスは、その子の目を通した世界をキャプチャするように見える。ビデオシーケンスは、子供が見ているものを表し、キャプチャされたビデオシーケンスは、カメラの操作者によってではなく、最終的には、カメラがどこに行くか、およびキャプチャされるシーンの一部を決定する子供によって方向づけられる。
【００３４】
例えば、図２は、歩いている、もしくは、走っている被写体３４０のビデオシーケンスをキャプチャするため、カメラ１００を利用しているカメラ操作者３１０を示している。被写体３４０は、“被追跡者（followed subject）”と称することもできる。カメラ操作者３１０の方向３３０は、被写体３４０の方向３５０により決められ、それと同じになる。そのためカメラ１００を用いてキャプチャされるシーン３５６は、被写体３４０が見ることになるビュー３５３に実質的によく似たものとなる。
【００３５】
図３に示されるように、上記ビデオシーケンスの後において、同じ被写体３４０が方向３９０へ変化すると、結果として、カメラ操作者３１０は新たな方向３７０になる。被写体３４０の視野３９３は、カメラ１００によりキャプチャされるシーン３９６と実質的に同様になる。このように、カメラ操作者が被写体の後を追跡するとき（すなわち、被写体３４０のビュー３９３がシーン３９６に実質的に同様でありつつけるとき）、カメラ操作者と被写体の動きは実質的に同期していると考えることができる。
【００３６】
この記載における例として示されるほとんどの場合は、親のカメラ操作者が、歩いている又は走っている自身の子をキャプチャするために歩行している場合であるが、歩いている被写体をキャプチャしているカメラ操作者が歩いている他のケースは一般的であり、ビデオシーケンスのハイライトとしても望ましいものである。実際、動きのある被写体を追跡するカメラを持つことは、映画効果としてよくあることである。
【００３７】
以下に示す開示は、ビデオフレームのシーケンス内の被写体を追うカメラオペレータの検出に基づいて、キャプチャされたビデオシーケンスからビデオハイライトを選択する方法を提供することに向けられた構成である。各ビデオハイライトは、ビデオシーケンスにおけるシーケンシャルな一連のビデオフレームで構成される。このビデオフレームは、ビデオのデコーディング処理におけるビデオシーケンスから抽出できる。その抽出されたフレームは、デジタル静止画撮影により得られた画像と同じように扱っても良い。
【００３８】
カメラ１００を用いてキャプチャしたビデオフレームに加えて、ビデオメタデータがビデオフレームに沿ってキャプチャされ、記録されても良い。ビデオメタデータは、加速度センサ、ジャイロセンサ、露光量センサ、輝度センサからのデータを含めることができる。ビデオメタデータは、また、全地球的測位システム（ＧＰＳ）データ、顔検出データを含めることができる。いくつかのメタデータは各フレームとともに格納できるが、ＧＰＳまたは輝度データなどのいくつかは、その更新頻度がより低くしても良い。
【００３９】
図４は、入力ビデオシーケンスの、ビデオフレームの少なくとも１つのシーケンスを、ビデオハイライトとして選択する方法４００のフロー図である。この方法４００は、カメラ操作者と、動いている被写体との関与検出に基づいて、入力ビデオシーケンスから望ましいフレームを判定する。この方法４００は、被写体の顔がフレーム内で識別できない、入力ビデオシーケンスのフレーム内にて被写体を検出するために使用できる。
【００４０】
この方向４００は、カメラ１００のＲＯＭ１６０内に常駐するシステムプログラム１６１の１以上のソフトウェアコードモジュールとして実装でき、カメラ１００のプロセッサ１５０により、その実行が制御できる。これとは別に、方法４００は、入力ビデオシーケンスがデスクトップコンピュータにダウンロードされた後、そのデスクトップコンピュータなどに実装されるようにしても良い。
【００４１】
カメラ１００自身がビデオハイライトを検出することは、いくつかの利点がある。例えば、カメラ１００にてビデオハイライトを検出することは、カメラ操作者がその特徴を使用する可能性が高めるために、ビデオ制作プロセスを単純化できる。さらに、上記のように、カメラ１００がネットワーク接続される場合、カメラ１００は選択したハイライトをカメラ１００からインターネットビデオ共有サービスに直接アップロードすることを許容することができる。ビデオハイライトは、オリジナルビデオよりも短いので、そのビデオハイライトは高速にアップロードでき、かつ、ネットワークの帯域幅の消費も少ない。ビデオシーケンスへのメタデータの付加は、カメラ１００自身上で動作するソフトウェアから容易にアクセス可能でもある。
【００４２】
上記のように、カメラ１００にてビデオハイライトを自動的に選択することの１つの問題は、一般に、利用可能な処理能力が厳しく制限される点である。この方法４００は、方法４００を、カメラ１００及びよりパワフルで適応性のあるコンピュータ環境の両方にて実行可能にするカメラの限定に対処する。
【００４３】
この方法４００は、選択したハイライトを出力とする、ビデオシーケンスの全体的な処理を示している。方法４００の入力は、カメラ１００を用いてキャプチャされたビデオシーケンスのフレーム毎の画像データである。これとは別に、方法の入力は、キャプチャされたビデオシーケンスのフレームに関連付けられるメタデータとしてもよい。キャプチャされたビデオシーケンスのフレームに関連付けられるメタデータは、カメラ１００が移動しているかどうかを判定するためのジャイロ又はＧＰＳデータ、および、キャプチャされたビデオシーケンスのフレーム内の被写体のサイズや位置を判定するための輝度データを有することができる。カメラ１００を用いてキャプチャされたフレームは、複数の連続するフレームである。しかし、方法４００は、連続しないフレームを処理するように利用することができる。詳細は以下に説明するが、方法４００のステップ４１０、４３０、４５０は、カメラ１００が移動している際にキャプチャされたビデオシーケンスのフレームから、フレームを識別するために用いられる。
【００４４】
方法４００はステップ４１０にて開始され、プロセッサ１５０の実行下で、カメラ１００の操作者が歩いているか否かの検出を行う。ステップ４１０にて実行される、カメラ操作者が歩いているかどうかを検出する方法５００は、図５Ａを参照してその詳細を後述する。また、ステップ４１０にて実行される、カメラ操作者が歩いているかどうかを検出する他の方法５００も、図５Ｂを参照して、その詳細を後述する。
【００４５】
さて、ステップ４２０にて、カメラ操作者の歩行が検出されると、方法４００はステップ４３０に進む。また、カメラ操作者の歩行が検出しなかった場合、方法４００は決定ステップ４６０に進んで、入力ビデオシーケンスの後続するフレームの処理が行われる。
【００４６】
開始ステップ４３０にて、追跡される被写体の検出がプロセッサ１５０の実行下にて開始される。ステップ４３０にて実行される、追跡される被写体の検出方法６００は、図６を参照してその詳細を後述する。
【００４７】
ステップ４４０にて、追跡される被写体が検出されると、方法はステップ４５０に進む。追跡される被写体が検出されない場合、方法はステップ４６０に進める。
【００４８】
探索ステップ４５０にて、被写体が追われるフレームの期間が、プロセッサ１５０の実行下にて判定される。ステップ４５０にて判定されるフレームの期間は、カメラ１００が移動しているフレームとして識別される。ステップ４５０においては、また、カメラ操作者が歩行している間にキャプチャされたものとして識別され、かつ、追跡される被写体が含まれたフレームはマーク付けられ、そのマーク付けられたフレームはビデオハイライトとして選択されように利用できる。ここで、マーク付けられたフレームの各々は、被追跡被写体を含むことになる。
【００４９】
ステップ４５０にて実行される、被写体を追うカメラ操作者に対応するビデオフレームの検出方法７００は、図７を参照してその詳細を後述する。ステップ４５０は、追跡される被写体がもはや検出できなくなった、或いは、入力ビデオシーケンスが全ての処理が終了した場合のいずれかのときに完了する。決定ステップ４５０にて、処理対象の入力ビデオの更なるフレームがある場合、方法４００はステップ４１０に処理を戻す。また、処理対象の入力ビデオシーケンスのフレームが無い場合、追跡される被写体に対する処理が官完了し、方法４００は選択ステップ４７０に処理を進める。
【００５０】
選択ステップ４７０にて、Ｓ４５０で追跡される被写体を有しているとしてマーク付けられたフレームが、ビデオハイライトに使用されるフレームのシーケンスを選択する目的で処理される。図８において、ビデオ８００は、方法４００によって処理されたものとして示されている。灰色で示されるフレーム８１０は、追跡される被写体を含むものとしてマーク付けられたシーケンスである。フレーム８１０は、ビデオハイライト８２０として選択される候補である。さらに、ステップ４７０にて、ビデオハイライト８２０のフレームの品質が考慮される。例えば、フレーム８１０について、ボケや適性露出がチェックされる。そして、フレーム８１０が十分な品質でない場合、そのフレームはビデオハイライトとして選択されなくなる。
【００５１】
また、ステップ４７０にて、ステップ４５０でマーク付けられたフレームが、ハイライト８２０のためのフレーム選択の際に、“追跡される被写体”以外の特徴間で調停されるように処理されても良い。例えば、大きい顔にマーク付けられたフレームがより好ましいとして考慮され、大きな顔をフレームシーケンスがビデオハイライトの候補フレームをも形成するようにしても良い。１以上の大きな顔を示すフレームは、例えば、ハイライト８２０に含まれるとしても良い。
【００５２】
方法４００は、フレームのシーケンシャル処理に基づいて行われる。しかし、代わりの方法も可能である。例えば、入力ビデオシーケンスの全てのフレームを処理して、カメラ操作者が歩いているフレームをまず決定する。そして、次の第２段階では、カメラ操作者が歩いているフレームのみをさらに処理して、追跡される被写体があるかどうかを判定することである。
【００５３】
ビデオハイライトの選択のために、他の特徴を“追跡される被写体”の判定に加えることができる。例えば、キャプチャしたフレーム内の顔の数、顔のサイズと位置、キャプチャしたビデオシーケンス内のフレーム位置などの更なる特徴を、ビデオハイライトを選択するために考慮しても良い。一般に、統計的に着目すべき被写体は、キャプチャしたビデオシーケンスの最後の３分の１に現れる。加えて、パン／ズームなどのビデオカメラの環境の変化が、着目すべき被写体の選択を案内するために利用できる。例えば、一般にズーム又はパン動作の直後のキャプチャされたビデオシーケンスのフレームは、着目すべき被写体を含む。
【００５４】
ステップ４１０にて実行される、カメラ１００の操作者が歩いているかどうかの検出の方法５００を、図５Ａを参照して例として説明する。カメラ操作者が歩いているかどうかを検出する様々な方法がＳ４１０にて利用できる。
【００５５】
方法５００は、カメラ１００のＲＯＭ１６０に常駐するシステムプログラムの１以上のソフトウェアコードモジュールとして実装でき、カメラ１００のプロセッサ１５０による実行において制御される。
【００５６】
受信ステップ５２０にて、カメラ１００は全地球的測位システム（ＧＰＳ）から受信したデータを用いて、カメラ１００の位置を判定することを繰り返し行う。ステップ５２０にてカメラ１００により受信されたＧＰＳデータは、ＲＡＭ１７０内に格納される。
【００５７】
時間に対するＧＰＳ位置の変化は、ステップ５３０にて、歩行速度およびパターンとマッチするかどうかを判定するために利用される。マッチした場合、歩行していると想定される。多くのビデオキャプチャ装置は、方法５００を可能にするＧＰＳ機能を有する。ＧＰＳ座標は、入力ビデオシーケンスのフレームに関連付けられるビデオメタデータ内に配置できる。
【００５８】
ステップ４１０の実行に代わる、カメラ１００の操作者が歩いているかどうかの判定する方法５１０を、図５Ｂを参照し例として説明する。方法５１０は、カメラ１００に関連付けられた加速度センサからの加速度データの使用するものである。
【００５９】
方法５１０は、カメラ１００のＲＯＭ１６０に常駐するシステムプログラムの１以上のソフトウェアコードモジュールとして実装でき、カメラ１００のプロセッサ１５０による実行において制御される。
【００６０】
方法５１０は、受信ステップ５５０にて開始され、加速度データはカメラ１００によって周期的に受信され、処理される。ステップ５５０で受信された加速度データは、ＲＡＭ１７０に格納される。
【００６１】
次に判定ステップ５６０にて、プロセッサ１５０の実行下にて、受信した加速度データが歩行パターンにマッチするかどうか判定される。特に、垂直加速度の期間と変化が歩行ステップと一致する。加速度データは、入力ビデオシーケンスのフレームに関連付けられるビデオメタデータ内に配置できる。
【００６２】
カメラ操作者が歩いているかどうかを検出するステップ４１０で利用可能な方法は、５００、５１０を参照した説明に限定されるものではない。ＧＰＳ及び加速度データがカメラ１００にて利用でき、そのため、方法５００や５１０がカメラ１００に実装されても良い。加えて、ＧＰＳ及び加速度データがビデオメタデータ内に配置され、そのため、ＧＰＳ及び加速度データは、入力ビデオシーケンスのフレームを処理するときはいつでも、処理できるようになる。ＧＰＳ及び加速度データは、キャプチャされる入力ビデオシーケンスに後続して、カメラ１００にて処理しても良い。ＧＰＳ及び加速度データは、ビデオメタデータを含む入力ビデオシーケンスをダウンロードしたコンピュータのような如何なるデバイス上で処理しても良い。
【００６３】
方法６００及び７００を図６及び図７を参照して以下に説明する。１つの構成においては、方法６００及び７００は、最小限の処理環境を必要とし、カメラ１００などの装置での実装に適している。方法６００および７００は、図９Ａ．９Ｂ及び９Ｃを参照し例として説明する。
【００６４】
１つの構成において、方法６００は、入力ビデオシーケンスのフレームの画素データの処理を要求しない。フレームの画像処理というよりも、方法６００は、入力ビデオシーケンスのフレームの非常に低解像度の輝度マトリクスに基づく判定を行う。方法６００は、入力ビデオシーケンスの各フレームについて、明るさ情報が提供されることを要求しない。１つの構成において、明るさ情報は毎１／２秒に処理される。つまり、明るさ情報は、連続するフレームにおける１／２秒を表すと考えることができる。
【００６５】
明るさ情報は、小さいサイズで、かつ、入力ビデオシーケンスのフレームの小さい部分しか要求しないメタデータ内に格納するのに好適である。方法６００は、入力としてビデオメタデータのみを利用し、ビデオシーケンスのフレームへの入力ビデオシーケンスのデコードを要求しないとしても良い。図９Ａ，９Ｂ及び９Ｃは、それぞれ、低解像度の輝度データのマトリクス９５５，９６５，及び、９７５を示している。輝度データマトリクス８５５，９６５及び９７５は、２４×２０の輝度値が用いられ、それぞれは、オリジナルフレーム９０５，９１５及び９２５の対応する領域の輝度を表している。
【００６６】
低解像度の使用は、偽陽性及び偽陰性の検出を引き起こしやすい。しかし、方法４００は、カメラ１００の操作者が歩いていることを検出したときの、追跡される被写体について、入力ビデオシーケンスのフレームを処理する構成でよくなる。カメラ１００の操作者が歩いていることを検出したときの、追跡される被写体の入力ビデオシーケンスのフレーム処理は、方法４００の信頼度を増加させる。被写体の検出のための信号は、それほど強くは必要ないので、信頼性が向上する。輝度マトリクスがどのように使用するかについてのさらなる詳細は、図６の方法６００、および、図７の方法７００の説明で提供される。
【００６７】
他の構成は、方法６００が、追跡される被写体の検出のための身体検出を使用できる。身体検出は、入力ビデオシーケンスのフレームの画素を処理することが要求される。身体検出方法は、通常、画像の全体、もしくは、少しだけ縮小して処理することが必要となる。関節形状モデルまたは骨格モデルを使用するアルゴリズムのような任意の適切な人体検出アルゴリズムを使用して、追跡される被写体を検出することができる。
【００６８】
方法６００は、カメラ１００のＲＯＭ１６０に常駐するシステムプログラム１６１の１以上のソフトウェアコードモジュールとして実装でき、カメラ１００のプロセッサ１５０による実行において制御される。
【００６９】
方法６００は、カメラ１００の操作者が歩いていることが検出されたときに実行される。この方法は、入力ビデオシーケンスの第１のフレーム内の被写体を“探す”ことを行い、被写体が検出されると、方法６００は、“被写体発見”ステータスを返す以前に、或る閾値数のフレームに被写体が存在することをチェックする。
【００７０】
方法６００は、第１の処理ステップ６０５で開始され、ここで入力ビデオシーケンスのフレーム（例えばフレーム９０５）が入力され、そのフレーム内にて、可能性のある被写体の検出するために処理される。１つの構成において、ステップ６０５における被写体検出では、フレーム内に現れる少なくとも人間の上半身が、幾つかのモデルに対するマッチすることが要求される。例えば、関節形状又は骨格形状モデルを、上半身とマッチングさせることができる。
【００７１】
上記のように、１つの構成においては、被写体検出は低解像度の輝度マトリクスを処理することで実現できる。図９Ａ，９Ｂ，及び９Ｃの例では、オリジナルのビデオフレーム９０５、９１５及び９２５が被写体９１０の後ろ姿のキャプチャである。カメラ操作者が被写体９１０を追うように歩き、フレーム９０５，９１５及び９２５をキャプチャするためのカメラ１００を用いている間の被写体の歩きや走りに起因し、被写体９１０はフレーム９０５，９１５及び９２５内で同じサイズ、位置となるわけでない。フレーム９０５．９１５及び９２５は、連続している必要はない。１つの構成では、処理可能な輝度マトリクスを有するフレーム間（例えば、フレーム９０５，９１５，９２５）の半秒の間隔である。
【００７２】
ビデオシーケンスが秒３０フレームを有することは一般的であるので、１５ビデオフレーム毎に輝度マトリクスを設ける。図９Ａ，９Ｂ。及び９Ｃの例では、輝度マトリクス９５５，９６５，及び、９７５は、１フレームが２４×２０のセルに分割される場合、異なるセルの輝度に対応する２４×２０個の輝度値を含むことなる。輝度値は、マトリクス９５５，９６５及び９７５に、視覚化される。図９Ａ、９Ｂ及び９Ｃでは、フレーム９０５，９１５及び９２５それぞれの被写体９１０と、輝度マトリクス９５５，９６５，及び、９７５それぞれに示される、接続された低輝度及び高輝度ブロックで表される被写体９１０とに対応関係がある。
【００７３】
１つの構成においては、テンプレートマッチングを被写体検出に用いることができる。図１０Ａに、３つのテンプレート１００５，１０１０及び１０１５の例を示す。テンプレート１００５，１０１０及び１０１５の各々は、頭部（例えば参照符号１００７）、胴体（例えば参照符号１００８）、および、肢部（例えば参照符号１００９）に対応する３つの構成要素を有する。テンプレート１００７は、暗い頭部、明るいシャツの背中、および、暗いパンツ又はドレスとマッチングする構成となっている。テンプレートは、図１０Ａに示される３つのテンプレートから拡張しても良い。つまり、例としてのテンプレート１００７，１００１０，１０１５の３つ構成要素１００７、１００８及び１００９とは異なるテンプレートを定義しても良い。また、テンプレート１００７，１０１０及び１０１５が、その低輝度と高輝度の範囲を、さらに拡張しても良い。例えば、中間の輝度の構成要素がテンプレートに加えられても良い。
【００７４】
テンプレートが輝度マトリクスにおける領域にマッチするとき、被写体が検出される。図１０Ａ，１０Ｂ、１０Ｃ及び１０Ｄの例では、テンプレート１００７が、対応する３つの輝度マトリクス９５５，９６５及び９７５で表される被写体とマッチングされる。
【００７５】
被写体９１０は、オリジナルのフレーム９０５，９１５及び９２５内にて異なるサイズと位置を持つ。そのため、テンプレート１０７と被写体８１０間のマッチングでは、マトリクス９５５，９６５及び９７５それぞれに表される被写体９１０に応じてリサイズされ、変換されたテンプレート１０２５、１０３８及び１０４５が使用される。被写体の最小サイズは、テンプレートがリサイズ可能な対応最小サイズとなるように設定されても良い。
【００７６】
テンプレートを輝度マトリクス（例えば参照符号９５５）にマッチングする１つの方法は、輝度マトリクス内の、低輝度のセルに接続された領域と、高輝度に接続される領域とを判定し、そして、その接続領域がテンプレートにマッチする垂直配列を持つかを判定することである。高輝度は、所定の高い閾値（例えば８ビットの輝度値の場合には“２００”）を用いて判定できる。同様に、低輝度は、所定の低い閾値（例えば８ビットの輝度値の場合には“５０”）を用いて判定できる。低い閾値を下回る輝度値のセルは暗を表し、高い閾値を超えるセルは明を表すことになる。
【００７７】
図９Ａ乃至９Ｃの例では、上部接続セルは暗く、中央接続セルは明るく、下部接続セルが暗い。さらに、垂直に整列された連結領域を覆うようにテンプレートがリサイズ、変換されたとき、輝度マトリクスにおける幾何学的な接続領域は、テンプレートの構成要素に“実質的に”マッチングする必要がある。この“実質的な”マッチングは、以下の式（１）に従って定義することができる。
#(resized template component cells ∩ connected cells) / #(resized template component cells) ≧ threshold T1
AND #(resized template component calls ∪ connected cells) / #(resized template component cells) ≦ threshold T2                       （１）
ここで、記号#は“数（the number of）”を示し、threshold T1は１／２の値を持ち、threshold T2は２の値を持つ。これとは異なる閾値を用いても良いし、“実質的な”のマッチングを判定するために如何なる方法を用いても構わない。
【００７８】
リサイズ及び変換後のテンプレート１０２５，１０３８及び１０４５は、マッチングするまで、式（１）を用いて処理される。
【００７９】
効果的に、被写体は、隣接する暗い/明るいセルを接続することによって形成される輝度マトリクス内の多数の暗い/明るい領域として検出される。式（１）は、検出された領域がテンプレートとどの程度厳密にマッチするかの尺度として使用することができる。マッチ判定するためには、２つの条件、すなわち、１）重複領域が最大（構成要素は閾値T1と比較される）であること、非重複領域は最小（構成要素がは閾値T2と比較される）であることが検証される。
【００８０】
１つの構成では、最初の一致が判定された後ではマッチングにおける幾つかの緩和法の使用を許容しても良い。ビデオフレームは、被写体の頭部と胴体のみをキャプチャしても良く、それ故、テンプレートの上２つの構成要素のマッチングのみで、マッチしたとして扱っても良い。
【００８１】
更に、個々のフレームが、被写体の一部の輝度にマッチする背景項目を有しても良く、この場合のマッチは、３つのテンプレート構成要素のうちの任意の２つのマッチを必要とし得る。例えば、画像の背景は明るく、被写体９１０のシャツの色と同様とし、テンプレート１００５の中間明構成要素１００８とマッチする明連結領域が検出されるのを防止する。
【００８２】
ステップ６０５に続いて、方法は判定ステップ６１０に進む。ステップ６１０にて、ステップ６０５におけるフレーム（例えばフレーム９０５）内に被写体が検出されない場合、方法６００は、被写体無しとして処理を完了する。そうでなく、ステップ６０５にて、マッチする被写体有りと判定されたとき、方法６００は判定ステップ６２０に進める。そして、ステップ６０５で検出された被写体が、“可能性のある被写体（potential subject）”として参照される。これは、検出された被写体が後続するフレームにも連続して検出されることを確認するためのいくつかのフィルタが使用されるためである。
【００８３】
次に、判定ステップ６２０にて、被追跡被写体が同じ可能性の有る被写体であり変化しないことを決定するために必要とされる特性が、プロセッサ１５０の実行において決定される。１つの構成においては、ステップ６０５でマッチングするテンプレートが、ステップ６２０での可能性の有る被写体特性として使用されることである。というのは、方法６００は、そのテンプレートにマッチすることを検索するだけであるからである。他の構成は、最初にマッチングした可能性の有る被写体の衣類や髪の色を、ステップ６０５で受信したフレームの画素データから得るようにし、後続フレーム内にマッチする可能性の有る被写体のサインとして用いるようにしても良い。
【００８４】
ステップ６２０にて可能性の有る被写体特性が判定された後、方法６００は受信工程６２５に進む。このステップ６２５にて、入力ビデオシーケンスの後続フレームが受信され、ステップ６２０にて判定されたフレームにおける被写体と被写体特性間のマッチがあるかどうかの判定のための処理が行われる。方法６００が被写体が検出されたと判定する前に、一貫した可能性の有る被写体の最小検出期間が必要であるため、ステップ６２５は必要となる。ステップ６２５は、１秒程度と短くて良い。１つの構成では、ステップ６２０で決定された可能性の有る被写体特性にマッチするものがあれば、ステップ６２５にて連続輝度マトリックスが処理される。連続する輝度マトリクスが、連続するフレームに対応すする可能性は低い。他の構成は、ステップ６２５にて、可能性の高い被写体特性にマッチする被写体の存在を、連続フレームで検査されることである。ステップ６２５の出力は、検出されたマッチングがあったかどうかを判定するために、判定ステップ６３０で用いられる。
【００８５】
ステップ６３０にて、可能性の高い被写体特定にマッチする被写体が判定された場合、方法６００は処理を決定ステップ６３５に進める。さもなければ、方法６００はマッチしないかどうかの決定６４５に処理を進める。
【００８６】
決定ステップ６３５にて、被写体と可能性の高い被写体特性との一貫したマッチングが、閾値期間より長いと判定された場合、方法６００は、被写体を検出したとして結論し、処理を復帰する。Ｓ６３５にて用いられる閾値期間は１秒に設定される。しかしながら、他の適切な閾値をステップ６３５で使用しても良い。ステップ６３５で閾値期間に達していない場合、方法６００はステップ６５５に処理を進める。以下に、Ｓ６５５を説明する。
【００８７】
単一のマッチが発生しない場合、方法６００は終了しない。可能性の高い被写体がステップ６０３で検出されない多数の理由がある。可能性の高い被写体がステップ６３０にて検出されない理由は、以下のとおりである。
・歩行しているカメラ操作者がカメラ１００を一時的に向きを変え、可能の高い被写体を見失うことがある。
・可能性の高い被写体が、他の人、または他の前景物体で一時的に隠されることがある。
・背景が、可能性の高い被写体の要素と一時的に一致することがある。これは、上述したように低解像度の輝度マトリクスが使用される配置においてより起こりやすい。
【００８８】
上記の理由により、決定ステップ６４５は、単一のフレームが可能性の高い被写体にマッチすることなく処理された場合に、方法６００から直ちに離れることを防止するために使用される。決定ステップ６３５と同様の方法がステップ６４５で使用されるが、可能性の高い被写体に不一致となる閾値期間がある。ステップ６４５で不一致閾値を超えた場合、被写体が見つからなかったと判定され、方法６００は処理を終了する。ステップ６４５では、１秒の閾値を使用することができる。
【００８９】
更に、ステップ６０５にて最初の処理が発生してから閾値期間（例えば３秒）が経過したときには、被写体が検出されなかったと判定する。ステップ６０５にて最初の処理が発生してから閾値期間が経過したか否かを判定することは、Ｓ６３０におけるマッチ、非マッチの間の交互に振動するような条件がある場合、方法６００内に残すことを防止する。
【００９０】
決定ステップ６４５の結果が非マッチである場合、方法６００は、被写体が発見できなかったとして処理を復帰する。これとは逆では、Ｓ６５５に進み、処理される入力ビデオシーケンスにさらなるフレームがあるかどうか、および、カメラ操作者がまだ歩いているかどうかが判定される。上記の方法５００又は５１０のいずれか、または他の適切な方法が、ステップ６５５にて、カメラ１００の操作者が歩いているかどうかを判定するために使用することができる。
【００９１】
ステップ６５５に続いて、方法６００は決定ステップ６６０に処理を進め、処理すべき更なるフレームが存在し、カメラオペレータがまだ歩いている場合、方法６００は処理をステップ６０５に戻す。そうでなければ、方法６００は完了し、ステップ６０５で受信されたフレーム内に被写体は見つからず、として復帰する。
【００９２】
ステップ４５０にて実行される、被写体を追うカメラ操作者に対応するビデオフレームの検出する方法７００を、図７を参照して以下により詳細に説明する。方法７００は、カメラ１００のＲＯＭ１６０に常駐し、カメラ１００のプロセッサ１５０によるその実行において制御されるシステムプログラム１６１の１以上のソフトウェアコードモジュールとして実装されても良い。
【００９３】
方法７００は、カメラ操作者が被写体を追跡し、キャプチャしている期間が終了したときを判定する。方法７００また、後段で処理することができるように、フレームの状態を表すため、決定された期間におけるフレームの各々にマーク付けも行う。方法７００における多数のステップは、方法６００におけるステップに直接的に対応する。
【００９４】
方法７００は、判定ステップ７０５にて開始する。ここでは、処理対象の入力ビデオシーケンスにおける更なるフレームがあるかどうか、および、カメラ１００の操作者がまだ歩いているかどうかが判定される。方法５００、５１０の一方、或いは、他の適当な方法が、Ｓ７０５にて、カメラ１００の操作者が歩いているか否かを判定するために用いられても良い。
【００９５】
ステップ７０５に続いて、方法７００は判定ステップ７１０に進み、処理すべき更なるフレームが有り、および、カメラ操作者がまだ歩いていると場合、方法７００はステップ７２０に処理を進める。さもなければ、方法７００は処理を完了する。
【００９６】
ステップ７２０は、方法６００のステップ６２５と同様である。ステップ７２０にて、入力ビデオシーケンスの更なるフレームは、受信され、そのフレーム内の被写体とステップ６２０にて判定された被写体特性との間にマッチがあるかどうかの判定に処理される。１つの構成は、上記のように、フレーム内に、マッチする被写体が存在するかどうかを判定するため、ステップ６２５に関連するように、連続する輝度マトリクスがステップ７２０にて処理されることである。他の構成は、上記のように、フレーム内にマッチする被写体がいるかどうかを判定するためのステップ６２５に関連するように、連続するフレーがステップ７２０にて処理されることである。方法６００のステップ６２５にて識別された被写体特性は、ステップ７２０にて、フレーム内にマッチする被写体があるか同課の判定に再利用される。決定ステップ７３０にて、マッチする被写体特性が存在する場合、方法７００はステップ７３０からチェックステップ７５０に処理を進める。また、決定ステップ７３０にてマッチする被写体特性が存在しない場合、方法７００は判定ステップ７４０に処理を進める。
【００９７】
ステップ７４０にて、被写体と非マッチの期間が閾値と比較される。ステップ７４０にて閾値を超えるとき、被写体がもはや追跡されていないと判定され、方法７００は処理を終了する。ステップ６２５にて利用される１秒の閾値と対比して、より長い閾値がステップ７４０にて使用されても良い。例えば、１．５秒の閾値がステップ７４０にて使用されても良い。ステップ７４０にて、閾値に到達した場合、方法７００は処理を終了する。まら、ステップ７４０にて、閾値に到達していない場合、方法７００はマーク付けステップ７７０に進む。
【００９８】
ステップ７５０にて、フレーム内の被写体のサイズが、単に幾つかの制限（例えばフレーム内の被写体のサイズが一貫（consistent）しているなど）に従って変化するかどうかが判定される。フレーム内の被写体のサイズが一貫しているかどうかを判定するため、各フレームの被写体のサイズがステップ７５０にて判定されても良い。ステップ７２０にて判定されたサイズ情報は、ステップ７５０にて成される判定で利用しても良い。
【００９９】
被写体サイズは、輝度マトリクス９５５，９６５，及び、９７５それぞれに示される、接続される低及び高輝度ブロックで表される被写体９１０の領域に基づいて決定する。例えば、被写体サイズは、マッチングするリサイズ後のテンプレート１０２５、１０３８、１０４５の成分の面積の組み合わせによって判定しても良い。マッチングするテンプレートの面積は、起こりえる検出エラー（照明条件、ぼけなど）のため、検出された接続低及び高ブロックの被写体９１０の面積からサイズを直接導出するよりも、より変動の少なくするために予測される。或いは、テンプレート又は検出したブロックにマッチする、または、検出された暗／明ブロックを囲む境界ボックスの面積を用いても良い。
【０１００】
カメラ操作者が被写体を追跡しいているとき、フレーム内の被写体サイズは、連続するフレーム間又は輝度マトリクス間で変化することが予想される。しかし、被写体のサイズは、各フレームに対して実質的に類似したままであり、被写体がより大きくなっていくとか、又はより小さくなっていくという傾向はない。このように、被写体のサイズが、キャプチャしたビデオの複数のフレームにまたがってまま存在し、かつ、時間とともに被写体のサイズが大きくなっていく、或いは、小さくなっていく傾向がない場合、カメラ操作者と被写体の移動は実質的に同期していると考えることができる。
【０１０１】
被写体のサイズが、フレーム内にて時間の経過に応じて大きくなる場合、被写体がカメラ操作者に向かって歩いている、もしくは、カメラ操作者が、人やモニュメントなどの構造物である、止まっている被写体に向かって歩いていることを示している。被写体が徐々に小さくなる場合、被写体がカメラ操作者よりも早い速度で移動し、被写体は追われていないことを示している可能性がある。時間の経過とともに被検体が大きくなっていっても、小さくなっていっても、ステップ７５０は、サイズの不一致を出力する。サイズの一貫性を、図１１Ａ、図１１Ｂおよび図１１Ｃを参照して、さらに説明する。
【０１０２】
図１１Ａに示すように、グラフ１１０５は、カメラ操作者が被写体を追尾しているときの時間の経過における被写体のサイズの例を表す線グラフである。図１１Ｂにおいて、グラフ１１４０は、操作者が歩いており、被写体に近づいて行くときの被写体のサイズと時間を示している。更に、図１１Ｃに示すように、グラフ１１７０は、被写体がカメラ操作者から更に離れていくときの被写体のサイズと時間経過の例を示している。ステップ７５０にて、グラフ１１４０及び１１７０に関する被写体は、一貫していないサイズとなっているものとしてマーク付けられる。
【０１０３】
図１１Ａのグラフ１１０５は、サイズ軸１１１０と時間軸１１１５を有する。参照符号１１２０は、上記の一構成における連続する輝度マトリクス、および、上記の他の構成におけるフレーム上の検出された被写体のサイズを示している。グラフ１１０５におけるラインは、異なる時点での検出された被写体のサイズを表している。図１１Ａに示される時間の経過における検出された被写体のサイズの変化は、被写体よりも一時的に素早く歩くカメラ操作者、または、カメラ操作者よりも一時的に素早く歩く被写体に起因する。参照符号１１２５の被写体のサイズが、グラフ１１０５に示される他のサイズよりも、大いに異なっている（より小さくなっている）。この時間の経過におけるサイズの差の発生する理由は、上記の被写体として不適切な被写体が検出された場合である。参照符号１１３０は、被写体が一時的に検出できなかった期間を示している。
【０１０４】
グラフ１１４０において、参照符号１１４５は、上記の一構成における連続する輝度マトリクス、および、上記他の構成におけるフレームにおける、時間の経過における検出された被写体のサイズを示している。図１１Ｂのグラフ１１４０では、カメラ操作者が被写体に近づいていることを示す、時間の経過に沿って被写体サイズが多いくなっていく傾向を示している。参照符号１１６０の円でマーク付けられた被写体のサイズは、一貫性がないものの、誤った被写体が上記被写体として検出されたことによって説明され得る。グラフ１１４０に示される参照ライン１１５０は、カメラ操作者が安定したペースで被写体に接近していった場合の傾向に一致する逆関数のグラフである。そのような傾向を決定する１つの方法は、バンク１１５５および１１６０（すなわち、丸で囲まれた被写体サイズ）における被写体のサイズを平均し、ある閾値を上回る平均の変化があったと判定することである。被写体サイズが一貫しているままの場合、換言すれば、カメラから同じ距離にとどまっている場合、キャプチャしたビデオシーケンスの複数のフレームについて、平均に有意な変化はないはずである（すなわち、変化は所定の閾値以下となる）。このように、平均の変化が所定の閾値を下回る場合、カメラ操作者は被写体に向かって移動している、換言すれば、カメラ操作者と被写体の動きは実質的に同期していると判定される。
【０１０５】
両構成において、バンク１１５５及び１１６０は、長さにして２秒でよい。１１６５におけ「異常値」は考慮されていないことに注意されたい。グラフ１１４０における傾向を判定する別の方法は、移動平均を使用することである。
【０１０６】
以下の式（２）は、被写体のサイズと、カメラ１００と被写体との間の距離の変化との間の関係を確立する。
Δ＝Ｋ（１／Ｓt−１／Ｓt+1）      （２）
ここで、Ｓtは、時間ｔにおけるサイズを示し、Ｓt+1は次の期間におけるサイズを示し、Ｋは定数であり、Δ（デルタ）はカメラ１００と被写体間の距離の変化を表す。
【０１０７】
式（２）はグラフ１１４０に見える傾向を決定するために使用できる。このように、カメラ１００と被写体との間の距離が、キャプチャされたビデオシーケンスの複数のフレームについて実質的に同じままである場合、カメラ操作者は被検体とともに、その被写体に向かって移動していると判定される（すなわち、実質的に同期している）。式（２）で決定された距離の変化が、キャプチャしたビデオシーケンスの複数のフレームにわたり一貫してほぼゼロである場合、カメラ１００と被写体との間の距離は実質的に同じである、と判定される。
【０１０８】
グラフ１１７０において、参照符号１１７５は、上記の一構成における連続する輝度マトリクス、および、上記の他の構成におけるフレームにおける、検出された被写体のサイズを示している。図１１Ｃにおけるグラフ１１７０において、時間とともに被写体が小さくなる傾向となっており、これは、カメラの操作者と被写体とが離れていくことを示している。参照符号１１８５での被写体サイズは、グラフ１１７０に示される傾向で一貫にしていないが、正しくない被写体が上記の被写体として検出されたとして説明できる。参照ライン１１８０は、カメラ操作者と被写体とが安定したペースで離れていく場合の傾向と一致する逆関数のグラフである。グラフ１１７０における傾向を判定する１つの方法は、図１１Ｃに示す、参照符号１１９０及び１１９５として示されるバンクにおけるサイズの平均値を求め、或る所定の閾値を上回る平均の変化があることを判定することである。例として、バンク１１９０と１１９５は２秒の長さでよい。なお、参照符号１１８５における「異常値」は、グラフ１１７０に示される傾向の一部として考慮されないことに注意されたい。
【０１０９】
ステップ７５０に続き、方法７００はステップ７６０に処理を進め、サイズが一致している場合、方法７００はマーク付けステップ７７０に処理を進める。或いは、ステップ７５０にて、一貫しないサイズが検出された場合、方法７００は終了する。
【０１１０】
ステップ７７０にて、ステップ７２０で読み込まれたフレームは、追跡された被写体を有するとマーク付けされる。１つの構成では、方法７００は、輝度マトリクスを持つフレームにて実行され、したがってステップ７７０では、マーク付けは輝度マトリクスに関係するフレームのシーケンスに外挿することができる。
【０１１１】
上記構成は、コンピュータおよびデータ処理産業、特に画像処理に適用可能である。
【０１１２】
上記では本発明の一部の実施形態のみを記述したが、実施形態は例示的であって限定的ではなく、本発明の範囲および精神から逸脱しないかぎり修正および/または変更を行うことができる。
【０１１３】
本明細書の文脈において、「有する（comprising）」という用語は、「主として、しかし必ずしも必須ではない」または「有する」または「含む」を意味し、「のみからなる」を意味するものではない。「有する（comprise）」および「有する（comprises）」などの用語「含む（comprising）」の変形は、対応して変化する意味を有する。
【図１Ａ】
2019071047.tif 000003
【図１Ｂ】
2019071047.tif 000004
【図２】
2019071047.tif 000005
【図３】
2019071047.tif 000006
【図４】
2019071047.tif 000007
【図５Ａ】
2019071047.tif 000008
【図５Ｂ】
2019071047.tif 000009
【図６】
2019071047.tif 000010
【図７】
2019071047.tif 000011
【図８】
2019071047.tif 000012
【図９Ａ】
2019071047.tif 000013
【図９Ｂ】
2019071047.tif 000014
【図９Ｃ】
2019071047.tif 000015
【図１０Ａ】
2019071047.tif 000016
【図１０Ｂ】
2019071047.tif 000017
【図１０Ｃ】
2019071047.tif 000018
【図１０Ｄ】
2019071047.tif 000019
【図１１Ａ】
2019071047.tif 000020
【図１１Ｂ】
2019071047.tif 000021
【図１１Ｃ】
2019071047.tif 000022