(57)【特許請求の範囲】
【請求項１】
ディジタルビデオカメラにより生成された画像内の楕円の形状のブルーミングを補償する方法であって、
前記形状の外部の複数のピクセルをサンプリングするステップと、
サンプリングされたそれぞれのピクセルの明るさを決定するステップと、
それらのサンプリングされたピクセルの明るさを平均するステップと、
前記楕円の長半径を決定するステップと、
前記形状の明るさと、前記サンプリングされたピクセルの明るさの平均との間の差に基づいて、前記形状のブルーミングを補償するステップと、を備え、
前記ブルーミングを補償するステップは、前記形状の明るさと、前記サンプリングされたピクセルの明るさの平均との間の差に基づいて、前記長半径を調整するよう写像する経験的データを適用するステップを含む
ことを特徴とする方法。
【請求項２】
前記形状の明るさは、
前記画像内の前記形状の内部の１以上のピクセルをサンプリングするステップと、
サンプリングされた前記形状の内部の１以上のピクセルのそれぞれの明るさを決定するステップと、
それらのサンプリングされたピクセルを平均して前記形状の明るさを決定するステップと、
により決定されることを特徴とする請求項１に記載の方法。
【請求項３】
前記形状の明るさは既知であることを特徴とする請求項１に記載の方法。
【請求項４】
前記形状に対応するオブジェクトは球であることを特徴とする請求項１に記載の方法。
【請求項５】
ディジタルカメラにより生成された画像内の形状のブルーミングを補償する方法であって、
前記形状の境界を決定するステップと、
複数の半径に沿って前記形状の境界の外部にある複数のピクセルをサンプリングするステップと、
サンプリングされたそれぞれのピクセルの明るさを決定するステップと、
サンプリングされたそれぞれのピクセルについて、前記形状の明るさと、サンプリングされたピクセルの明るさとの間の差に基づいて、対応する半径を調整するステップと、
を備えることを特徴とする方法。
【請求項６】
前記形状の明るさは、
前記画像内の前記形状の内部の１以上のピクセルをサンプリングするステップと、
サンプリングされた前記形状の内部の１以上のピクセルのそれぞれの明るさを決定するステップと、
それらのサンプリングされたピクセルを平均して前記形状の明るさを決定するステップと、
により決定されることを特徴とする請求項５に記載の方法。
【請求項７】
前記形状の明るさは既知であることを特徴とする請求項５に記載の方法。
【請求項８】
前記形状に対応するオブジェクトは球であり、前記形状は楕円であることを特徴とする請求項５に記載の方法。
【請求項９】
前記対応する半径を調整するステップは、経験的写像データに基づくことを特徴とする請求項５に記載の方法。
【請求項１０】
前記形状の境界を決定するステップは、前記画像内の前記形状の位置及び大きさを決定するステップを含むことを特徴とする請求項７に記載の方法。
【請求項１１】
ディジタルカメラにより生成された画像に楕円の形状として投影されたオブジェクトのブルーミングを補償するための計算装置であって、
命令を実行するプロセッサと、
前記プロセッサに結合されたメモリと、を備え、
前記メモリは、
前記形状の外部の複数のピクセルをサンプリングするステップと、
サンプリングされたそれぞれのピクセルの明るさを決定するステップと、
それらのサンプリングされたピクセルの明るさを平均するステップと、
前記楕円の長半径を決定するステップと、
前記形状の明るさと、前記サンプリングされたピクセルの明るさの平均との間の差に基づいて、前記形状のブルーミングを補償するステップと、
を含む演算を前記プロセッサに実行させる命令を格納し、
前記ブルーミングを補償するステップは、前記形状の明るさと、前記サンプリングされたピクセルの明るさの平均との間の差に基づいて、前記長半径を調整するよう写像する経験的データを適用するステップを含む
ことを特徴とする計算装置。
【請求項１２】
前記形状の明るさは、
前記画像内の前記形状の内部の１以上のピクセルをサンプリングし、
サンプリングされた前記形状の内部の１以上のピクセルのそれぞれの明るさを決定し、
それらのサンプリングされたピクセルを平均して前記形状の明るさを決定する
ことにより決定されることを特徴とする請求項１１に記載の計算装置。
【請求項１３】
前記形状の明るさは既知であることを特徴とする請求項１１に記載の計算装置。
【請求項１４】
前記形状に対応するオブジェクトは球であることを特徴とする請求項１１に記載の計算装置。
【請求項１５】
画像に形状として投影されたオブジェクトのブルーミングを補償するための計算装置であって、
命令を実行するプロセッサと、
前記プロセッサに結合されたメモリと、を備え、
前記メモリは、
前記形状の境界を決定するステップと、
複数の半径に沿って前記形状の境界の外部にある複数のピクセルをサンプリングするステップと、
サンプリングされたそれぞれのピクセルの明るさを決定するステップと、
サンプリングされたそれぞれのピクセルについて、前記形状の明るさと、サンプリングされたピクセルの明るさとの間の差に基づいて、対応する半径を調整するステップと、
を含む演算を前記プロセッサに実行させる命令を格納する
ことを特徴とする計算装置。
【請求項１６】
前記形状の明るさは、
前記画像内の前記形状の内部の１以上のピクセルをサンプリングするステップと、
サンプリングされた前記形状の内部の１以上のピクセルのそれぞれの明るさを決定するステップと、
それらのサンプリングされたピクセルを平均して前記形状の明るさを決定するステップと、
により決定されることを特徴とする請求項１５に記載の計算装置。
【請求項１７】
前記形状の明るさは既知であることを特徴とする請求項１５に記載の計算装置。
【請求項１８】
前記形状に対応するオブジェクトは球であり、前記形状は楕円であることを特徴とする請求項１５に記載の計算装置。
【請求項１９】
前記対応する半径を調整するステップは、経験的写像データに基づくことを特徴とする請求項１５に記載の計算装置。
【請求項２０】
前記形状の境界を決定するステップは、前記画像内の前記形状の位置及び大きさを決定するステップを含み、
前記形状の境界は、前記形状を隣接して囲むピクセルを含むことを特徴とする請求項１７に記載の計算装置。
【請求項２１】
プロセッサにより実行されたとき、ディジタルビデオカメラにより生成された画像内の楕円の形状のブルーミングを補償するための演算を前記プロセッサに実行させる命令を提供するコンピュータ読み取り可能な記録媒体であって、
前記演算は、
前記形状の外部の複数のピクセルをサンプリングするステップと、
サンプリングされたそれぞれのピクセルの明るさを決定するステップと、
それらのサンプリングされたピクセルの明るさを平均するステップと、
前記楕円の長半径を決定するステップと、
前記形状の明るさと、前記サンプリングされたピクセルの明るさの平均との間の差に基づいて、前記形状のブルーミングを補償するステップと、を備え、
前記ブルーミングを補償するステップは、前記形状の明るさと、前記サンプリングされたピクセルの明るさの平均との間の差に基づいて、前記長半径を調整するよう写像する経験的データを適用するステップを含む
ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２２】
前記形状の明るさは、
前記画像内の前記形状の内部の１以上のピクセルをサンプリングするステップと、
サンプリングされた前記形状の内部の１以上のピクセルのそれぞれの明るさを決定するステップと、
それらのサンプリングされたピクセルを平均して前記形状の明るさを決定するステップと、
により決定されることを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２３】
前記形状の明るさは既知であることを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２４】
前記形状に対応するオブジェクトは球であることを特徴とする請求項２１に記載のコンピュータ読み取り可能な記録媒体。
【請求項２５】
プロセッサにより実行されたとき、ディジタルカメラにより生成された画像内の形状のブルーミングを補償するための演算を前記プロセッサに実行させる命令を提供するコンピュータ読み取り可能な記録媒体であって、
前記演算は、
前記形状の境界を決定するステップと、
複数の半径に沿って前記形状の境界の外部にある複数のピクセルをサンプリングするステップと、
サンプリングされたそれぞれのピクセルの明るさを決定するステップと、
サンプリングされたそれぞれのピクセルについて、前記形状の明るさと、サンプリングされたピクセルの明るさとの間の差に基づいて、対応する半径を調整するステップと、
を備えることを特徴とする方法。
【請求項２６】
前記形状の明るさは、
前記画像内の前記形状の内部の１以上のピクセルをサンプリングするステップと、
サンプリングされた前記形状の内部の１以上のピクセルのそれぞれの明るさを決定するステップと、
それらのサンプリングされたピクセルを平均して前記形状の明るさを決定するステップと、
により決定されることを特徴とする請求項２５に記載のコンピュータ読み取り可能な記録媒体。
【請求項２７】
前記形状の明るさは既知であることを特徴とする請求項２５に記載のコンピュータ読み取り可能な記録媒体。
【請求項２８】
前記形状に対応するオブジェクトは球であり、前記形状は楕円であることを特徴とする請求項２５に記載のコンピュータ読み取り可能な記録媒体。
【請求項２９】
前記対応する半径を調整するステップは、経験的写像データに基づくことを特徴とする請求項２５に記載のコンピュータ読み取り可能な記録媒体。
【請求項３０】
前記形状の境界を決定するステップは、前記画像内の前記形状の位置及び大きさを決定するステップを含むことを特徴とする請求項２７に記載のコンピュータ読み取り可能な記録媒体。
【請求項３１】
ディジタルカメラにより生成された画像内の形状の大きさがブルーミングにより歪むのを防ぐための方法であって、
ディジタルカメラから、三次元オブジェクトの視野角を制限し、前記画像内の前記形状を囲むハローを生じさせる物質で覆われた、追跡システムにおける三次元オブジェクトに対応する前記形状を含む画像を取得するステップと、
前記画像内の前記形状の大きさを算出するステップと、
算出された前記形状の大きさを用いて、前記ディジタルカメラに対する前記三次元オブジェクトの位置を決定するステップと、
を備えることを特徴とする方法。
【請求項３２】
前記三次元オブジェクトは球であり、前記形状は楕円であることを特徴とする請求項３１に記載の方法。
【請求項３３】
前記形状の大きさを算出するステップは、前記画像内の前記形状のｘ及びｙ座標を算出するステップを含むことを特徴とする請求項３１に記載の方法。
【請求項３４】
前記形状を囲むハローは、前記画像が生成されたときに前記オブジェクトの背後に何があるかにかかわらず同じ大きさであることを特徴とする請求項３１に記載の方法。
【請求項３５】
三次元オブジェクトの視野角を制限する物質で覆われた追跡対象オブジェクトと、
前記追跡対象オブジェクトが移動するときに、前記追跡対象オブジェクトを含む複数の画像を生成し、前記複数の画像を計算装置へ送信する撮像装置と、
計算装置と、を備え、
前記追跡対象オブジェクトは、前記複数の画像に形状として投影され、
前記物質は、前記複数の画像において前記形状を囲むハローを生じさせ、
前記計算装置は、
命令を実行するプロセッサと、
前記プロセッサに結合されたメモリと、を含み、
前記メモリは、
前記複数の画像を取得するステップと、
取得したそれぞれの画像について、前記画像内の前記形状の大きさを決定するステップと、
算出された前記形状の大きさを用いて、前記撮像装置に対する前記追跡対象オブジェクトの位置を決定するステップと、
を含む演算を前記プロセッサに実行させる命令を格納することを特徴とする追跡システム。
【請求項３６】
前記形状の大きさを算出するステップは、前記画像内の前記形状のｘ及びｙ座標を算出するステップを含むことを特徴とする請求項３５に記載の追跡システム。
【請求項３７】
前記形状を囲むハローは、前記ハローを囲むピクセルの明るさの程度にかかわらず同じ大きさであることを特徴とする請求項３５に記載の追跡システム。
【請求項３８】
前記追跡対象オブジェクトは球であり、それぞれの前記形状は楕円であることを特徴とする請求項３５に記載の追跡システム。
【請求項３９】
前記追跡対象オブジェクトはゲームコントローラに結合され、前記撮像装置に対する前記追跡対象オブジェクトの位置はビデオゲームに関連したアクションを制御することを特徴とする請求項３５に記載の追跡システム。
【請求項４０】
前記追跡対象オブジェクトは、モーションキャプチャシステムにおける複数の追跡対象オブジェクトのうちの一つであることを特徴とする請求項３５に記載の追跡システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施の形態は、画像処理の分野に関し、とくに、画像内の形状のブルーミングを補償することに関する。
【背景技術】
【０００２】
ディジタルカメラに設けられたセンサの画素は、光を受光して電荷に変換する。それぞれの画素において蓄積可能な電荷の量には限りがある。その限度を超えた場合、電荷は一つの画素から別の画素へあふれ、ブルーミングと呼ばれる現象を引き起こす。ブルーミングは、一般に、画像平面内で明るいオブジェクトが暗いオブジェクトに近接する（例えば、晴れた日の窓の前にオブジェクトが置かれる）ときに発生する。ブルーミングの程度は、オブジェクト同士の露光及び明るさの差に依存する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ブルーミングは、画像においてオブジェクトがいかに形状として現れるかに影響を与える。例えば、暗いオブジェクトが明るい背景の前にあると、暗いオブジェクトは画像において実際よりも小さく現れる。逆に、明るいオブジェクトが暗い背景の前にあると、明るいオブジェクトは画像において実際よりも大きく現れる。
【課題を解決するための手段】
【０００４】
本発明は、本発明の実施の形態を説明するために用いられる、下記の説明及び添付の図面を参照することにより、最も良く理解されうる。
【図面の簡単な説明】
【０００５】
【図１】図１（ａ）は、本発明の一つの実施の形態における、ブルーミングにより歪んでいない形状の例を含む画像を示す図である。図１（ｂ）〜（ｄ）は、本発明の一つの実施の形態における、ブルーミングにより歪んだ形状の例を含む画像を示す図である。
【図２】本発明の一つの実施の形態における、ブルーミングにより歪んだ画像内の形状と、ブルーミング補償の例を示す図である。
【図３】本発明の一つの実施の形態における、ブルーミング補償機構の例を示すフロー図である。
【図４】本発明の一つの実施の形態における、ブルーミングにより歪んだ画像内の形状と、ブルーミング補償の例を示す図である。
【図５】本発明の一つの実施の形態における、ブルーミング補償機構の別の例を示すフロー図である。
【図６】本発明の一つの実施の形態に係るブルーミング補償テーブルの例を示す図である。
【図７】本発明の一つの実施の形態における、ブルーミングにより歪んだ画像内の形状と、ブルーミング補償の例を示す図である。
【図８】本発明の一つの実施の形態における、ブルーミング補償機構の別の例を示すフロー図である。
【図９】本発明の一つの実施の形態における、形状に対応するオブジェクトが、形状に対応するオブジェクトの視野角を制限する物質で覆われた場合の画像平面中の形状を示す図である。
【図１０】本発明の一つの実施の形態における、ブルーミング補償機構の例を示すフロー図である。
【図１１】本発明の一つの実施の形態における、画像を生成するときの環境の例を示す図である。
【図１２】本発明の一つの実施の形態における、追跡対象の球が設けられたゲームコントローラの例を示す図である。
【図１３】本発明の一つの実施の形態における、ユーザに配置された複数のモーションキャプチャボールを示す図である。
【図１４】本発明の一つの実施の形態に関連して用いられうるハードウェア及びユーザインタフェースを示す図である。
【図１５】本発明の一つの実施の形態における、命令の処理に利用可能な追加のハードウェアを示す図である。
【発明を実施するための形態】
【０００６】
本出願は、米国仮出願第６１／１３８，５１５号（２００８年１２月１７日出願）及び米国出願第１２／４３５，２２６号（２００９年５月４日出願）の優先権を主張し、これらの出願は本明細書に援用される。
【０００７】
下記の説明においては、特定の数値的な詳細が示される。しかしながら、本発明の実施の形態は、これらの特定の詳細なしに実施されることが可能である。別の例においては、既知の回路、構造、及び技術は、この説明の理解を不明瞭にしないために、詳細には示されない。当業者は、本明細書に含まれる説明によれば、過度の実験なしに、適切な機能を実行することができる。
【０００８】
本明細書において、「ある実施の形態」、「一つの実施の形態」、「実施例」などの言及は、説明される実施の形態は、特定の特徴、構造、又は特性を含みうるが、全ての実施の形態が必ずしも特定の特徴、構造、又は特性を含むとは限らないことを示す。さらに、このようなフレーズは、必ずしも同一の実施の形態のことを指すとは限らない。さらに、特定の特徴、構造、又は特性が実施の形態に関連して説明される場合、明示的に説明されるか否かにかかわらず、そのような特徴、構造、又は特性が別の実施の形態との関連においても有効であることは、当業者に理解されるところである。
【０００９】
下記の説明及び特許請求の範囲において、「結合される」及び「接続される」という語が、それらの派生語とともに用いられる。これらの語は、互いに類義語として意図されるものではないことが理解されるべきである。「結合される」という語は、互いに物理的に直接又は電気的に接触する又はしない２以上の要素が、互いに協働又は相互作用することを示すために用いられる。「接続される」という語は、互いに結合された２以上の要素の間における通信の確立を示すために用いられる。
【００１０】
図面に示される技術は、１以上の計算装置（例えば、汎用コンピュータ、ソニープレイステーション３（登録商標）エンタテインメントシステムなどのゲームシステム、モーションキャプチャ計算装置など）に格納され実行されるコード及びデータを用いて実現されうる。このような計算装置は、コンピュータ読み取り可能な記録メディア（例えば、磁気ディスク、光ディスク、ランダムアクセスメモリ、リードオンリーメモリ、フラッシュメモリ装置、相変化メモリ）やコンピュータ読み取り可能な通信メディア（例えば、電気、光、音響又は他の形式の伝送信号、例えば、搬送波、赤外線信号、ディジタル信号など）などのコンピュータ読み取り可能なメディアを用いて、コード及びデータを格納し、内部的に、及び、ネットワークを介して他の計算装置との間で通信する。さらに、このような計算装置は、一般に、記憶装置、１以上のユーザ入出力装置（例えば、キーボード、タッチスクリーン、及び／又はディスプレー）、及びネットワーク接続などの１以上の他の要素に結合された１以上のプロセッサのセットを含む。プロセッサのセット及び他の要素の結合は、一般に、１以上のバス及びブリッジ（バスコントローラとも呼ばれる）を介する。記憶装置及びネットワークトラフィックを搬送する信号は、それぞれ、１以上のコンピュータ読み取り可能な記録メディア及びコンピュータ読み取り可能な通信メディアに相当する。このように、所与の電子機器の記憶装置は、一般に、その電子機器の１以上のプロセッサのセットで実行するためのコード及び／又はデータを格納する。もちろん、本発明の実施の形態の１以上の部分は、ソフトウェア、ファームウェア、及び／又はハードウェアの異なる組み合わせを用いて実現されうる。
【００１１】
ブルーミングを補償するための方法及び装置が説明される。本発明の一つの実施の形態において、画像内の対象となる形状の外側にある複数の明るさのサンプルが採られ、それらのサンプルの明るさが平均され、形状の明るさとサンプルの明るさの平均との間の差に基づいて形状の大きさが調整される。
【００１２】
本発明の別の実施の形態において、追跡球などの追跡対象オブジェクトは、追跡対象オブジェクトの画像が追跡対象オブジェクトに対応する形状を囲むハローを含むように、追跡対象オブジェクトの視野角を制限する物質で覆われる。ハローの幅が算出され、形状の大きさがその幅に基づいて調整される。
【００１３】
図１（ａ）は、本発明の一つの実施の形態における、ブルーミングにより歪んでいない形状の例を含む画像を示す。本発明の一つの実施の形態において、画像１１０は、ディジタルカメラ（例えば、ソニープレイステーションアイ（登録商標）カメラ、ウェブカメラ、モーションキャプチャカメラなど）により生成される。画像１１０は、領域１１５により囲まれた形状１５０を含む。形状１５０は、楕円である（図１（ａ）では、形状１５０は円である）。形状１５０は楕円として描かれているが、本発明の実施の形態において他の形状が用いられてもよいことが理解されるべきである。本発明の一つの実施の形態において、形状１５０は、球などの三次元オブジェクトに相当し、領域１２５は、そのオブジェクトの背後にあるもの（背景）に相当する。
【００１４】
画像１１０は、輝度及び１以上のカラー値をそれぞれ有する多数のピクセルから構成される。したがって、形状１５０及び領域１１５は、それぞれ、輝度及び１以上のカラー値をそれぞれ有する多数のピクセルから構成される。画像１１０内のピクセルの数は、一般に、画像を撮像するディジタルカメラの型式及び／又は設定に依存する。ピクセルの輝度は、一般に、０（明るさなし）から２５５（最大の明るさ）までの範囲で変化する。例えば、背景が比較的明るい場合（例えば晴れた日の開いた窓など）、領域１１５のピクセルの輝度は高くなる（例えば２５５）。別の例において、背景が比較的暗い場合（例えば窓及び照明がない部屋など）、領域１１５のピクセルの輝度は低くなる。図１（ａ）では、形状１５０はブルーミングにより影響されていない。言い換えれば、背景の輝度は、形状１５０の大きさ又は形状をひずませていない。
【００１５】
図１（ｂ）は、本発明の一つの実施の形態における、ブルーミングにより歪んだ形状１５０の例を示す。画像１２０は、領域１２５により囲まれた形状１５０を含む。図１（ａ）を参照して説明したのと同様に、形状１５０は、球などの三次元オブジェクトに相当し、領域１２５は、そのオブジェクトの背後にあるもの（背景）に相当する。背景は、形状１５０に対応するオブジェクトに比べて明るい。したがって、輝度の差違に起因して、ブルーミングが形状１５０の大きさに影響を与える。具体的には、ブルーミングにより、オブジェクトの真の大きさは、本来よりも小さい形状として画像１２０に現れる。このように、オブジェクトの明るさに対する背景の明るさは、形状１５０を実際よりも小さく見せる。画像１２０において現れるべき（すなわちブルーミングがない場合の）形状の大きさは、形状１５０を囲む破線１２８により表される。背景及びオブジェクトの輝度の差が小さい場合は、ブルーミングは形状１５０にほとんど影響を及ぼさない。
【００１６】
図１（ｃ）は、本発明の一つの実施の形態における、ブルーミングにより歪んだ形状１５０の別の例を示す。画像１３０は、領域１３５により囲まれた形状１５０を含む。図１（ａ）及び図１（ｂ）を参照して説明したのと同様に、形状１５０は、球などの三次元オブジェクトに相当し、領域１３５は、そのオブジェクトの背後にあるもの（背景）に相当する。図１（ｃ）では、背景は、形状１５０に対応するオブジェクトに比べて暗い。言い換えれば、形状１５０に対応するオブジェクトは、周囲の背景よりも明るい。したがって、輝度の差違に起因して、ブルーミングが画像１３０における形状１５０の大きさに影響を与える。具体的には、ブルーミングにより、オブジェクトの真の大きさは、本来よりも大きい形状として画像１３０に現れる。このように、オブジェクトの明るさに対する背景の明るさは、形状１５０を実際よりも大きく見せる。画像１３０において現れるべき（すなわちブルーミングがない場合の）形状の大きさは、形状１５０の内部の破線１２８により表される。
【００１７】
図１（ｄ）は、本発明の一つの実施の形態における、ブルーミングにより歪んだ形状１５０の別の例を示す。画像１４０は、形状１５０を含む。形状１４０の半分は、領域１４５により囲まれており、形状１４０の別の半分は、領域１４８により囲まれている。形状１５０は、球などの三次元オブジェクトに相当し、領域１４５及び領域１４８は、合わせて、オブジェクトの背景に相当する。領域１４５に対応する背景は、オブジェクト及び領域１４８に対応する背景よりも明るい。形状１５０に対応するオブジェクトは、領域１４８に対応する背景よりも明るい。このように、背景の一部はオブジェクトよりも明るく、背景の別の一部はオブジェクトよりも暗い。それぞれの背景の一部の間の明るさの差違は、画像１４０における形状１５０の大きさに影響を与えるブルーミングの原因となる。
【００１８】
画像１４０において現れるべき（すなわちブルーミングがない場合の）形状の大きさは、破線１２８により示される。領域１４５に対応する背景はオブジェクトの部分よりも明るいので、対応する形状１５０の部分の大きさは実際よりも小さく見える。同様に、領域１４８に対応する背景はオブジェクトの部分よりも暗いので、対応する形状１５０の部分の大きさは実際よりも大きく見える。このように、形状１５０の大きさは、ブルーミングのために、一部では大きくなり、別の一部では小さくなる。
【００１９】
図２は、本発明の一つの実施の形態における、ブルーミングにより歪んだ画像内の形状と、ブルーミング補償機構の例を示す。図２は、図３の手順の例に関連して説明される。図３は、本発明の一つの実施の形態における、ブルーミング補償機構の例を示すフロー図である。図２に関連して説明される本発明の実施の形態は、図３に関連して説明される手順とは異なる手順を実行可能であり、図３は、図２に関連して説明される実施の形態とは異なる本発明の実施の形態により実行可能であることが理解されるべきである。
【００２０】
図２は、画像２１０を含む。本発明の一つの実施の形態によれば、画像２１０はディジタルカメラにより生成される。例えば、本発明の一つの実施の形態において、画像２１０を生成する際に、図１１に示されたような環境が用いられる。図１１は、ソニープレイステーション３（登録商標）エンタテインメントシステムなどの計算装置１１５０上でビデオゲームをプレーするユーザ１１６０を示す。もちろん、計算装置１１５０はプレイステーションに限られず、他の計算装置（例えば、汎用コンピュータ、他の種類のゲームシステム、モーションキャプチャシステムなど）が本発明の実施の形態において利用可能であることが理解されるべきである。本発明の一つの実施の形態によれば、ユーザは、ゲームコントローラ１１７０を介して、画面上のキャラクタ及び／又はカーソルの動きを制御する。ゲームコントローラ１１７０は、追跡球１１１０に結合される。図１２は、本発明の一つの実施の形態における、追跡球１１１０が設けられたゲームコントローラ１１７０を示す。計算システム１１５０は、球１１１０を追跡することにより、ゲームコントローラ１１７０の動きを追跡し、その動きを計算装置１１５０に対応するアクション（例えば、カーソルの制御、ビデオゲームにおけるキャラクタの制御など）に関連づけることができる。例えば、カメラ１１４０（例えば、ソニープレイステーションアイカメラ、ウェブカメラ、他のディジタルカメラになど）は、追跡される球１１１０を含む画像を撮像し、画像データを処理のために計算装置１１５０へ送信する。
【００２１】
本発明の別の実施の形態によれば、追跡されるオブジェクトは、モーションキャプチャシステムの一部であってもよい。例えば、図１３は、ユーザ１３１０に配置された複数のモーションキャプチャボール１３２０を示す。モーションキャプチャボール１３２０は、ユーザ１３１０に装着されるマーカである。画像装置は、モーションキャプチャボール１３２０の間の位置又は角度に基づいて、ユーザの動きを取得し認識することができる。本発明の一つの実施の形態において、モーションキャプチャボール１３２０は、モーションキャプチャスーツに取り付けられる。ディジタルカメラは、モーションキャプチャボールの画像を生成し、その情報を計算装置へ送信する。
【００２２】
画像２１０は、カメラ１１４０により撮像され、処理のために計算装置１１５０へ送信される。画像２１０は、領域２３０により囲まれた形状２５０を含む。本発明の一つの実施の形態によれば、球１１１０などの三次元オブジェクトが形状２５０に相当する。形状２５０は楕円として図示されるが、形状２５０は他の幾何図形の形をとってもよいことが理解されるべきである。さらに、形状２５０は円の形をとっているが（円は楕円の特別な場合である）、形状２５０は円ではない楕円であってもよいことが理解されるべきである。
【００２３】
形状２５０に対応するオブジェクト（例えば球１１１０）は、領域２３０に対応する背景よりも暗い。図１１に示したように、カメラの視野の照明条件（自然及び人工の両方）は、背景の明るさに影響を与える。例えば、自然光１１３０及び人工光１１２０は、どちらも、背景の明るさ（そして、結果としてブルーミングの量）に影響を与える。このように、背景及びオブジェクトの間の明るさの差の程度はブルーミングの原因となり、ブルーミングにより形状２５０はブルーミングが生じない場合よりも小さく写る。形状２５０の誤った大きさは、形状２５０（例えば球１１１０）に対応するオブジェクトの、カメラ（例えばカメラ１１４０）との相対位置を決定するための計算に悪影響を及ぼす可能性があることが理解されるべきである。例えば、画像における形状２５０が本来よりも小さいと、形状２５０に対応するオブジェクトは、カメラからの距離が実際よりも遠い位置にあると計算されうる。逆に、画像における形状２５０が本来よりも大きいと、形状２５０に対応するオブジェクトは、カメラからの距離が実際よりも近い位置にあると計算されうる。本発明の一つの実施の形態によれば、このブルーミングを補償するために、図３の手順例が実行される。図２において、領域２３０に対応する背景は形状２５０よりも明るく、ブルーミングにより形状２５０は本来よりも小さく写っている。画像２１０において現れるべき形状の大きさは、破線２４０により表される。
【００２４】
図３を参照して、ブロック３１０において、画像データが受信される。例えば、計算システムは、ディジタルカメラにより撮像された画像に対応する画像データを取得する。画像データは、画像内のそれぞれのピクセルの輝度及び１以上の色値を含む。図１１を参照して、カメラ１１４０は、例えばコントローラ１１７０を使用するユーザの画像を生成し、この情報を計算装置１１５０へ送信する。本発明の一つの実施の形態によれば、計算装置１１５０は、受信した画像データを内部メモリに格納する。上述したように、球１１１０の画像、とくに、画像に投影されたときの球１１１０の大きさは、画像が生成されたときの照明条件に起因して変形しうる。例えば、自然光１１３０及び人工光１１２０は、画像を歪ませうる。図２を参照して、画像２１０が受信される。フローは、ブロック３１０からブロック３１５へ移る。
【００２５】
ブロック３１５において、画像内の対象の形状が探し当てられる。例えば、図２を参照して、画像２１０内の形状２５０が発見される。画像２１０内の形状２５０の位置（ｘ、ｙ座標）を決定するために、画像２１０のピクセルが分析される。本発明の一つの実施の形態において、対象となる形状の位置は、画像を分析して所定の形状を探索することにより決定されるが、本発明の別の実施の形態において、対象となる形状は、例えば、対象の形状に対応するオブジェクトにより照射される光の色、対象の形状に対応するオブジェクトの輝度、光の色と輝度の組み合わせ、及び／又はオブジェクトの形状などに基づいて、異なる方法で探索される。対象の形状が楕円であると予め決定されている場合、画像２１０が解析されて形状２５０に対応するピクセルが決定されると、例えばピクセルの加重平均により、形状２５０の中心が決定される。フローは、ブロック３１５からブロック３２０へ移る。
【００２６】
ブロック３２０において、対象の形状（例えば形状２５０）の外部のピクセルがサンプリングされる（例えばアクセスされる）。本発明の一つの実施の形態によれば、標本化されたピクセルは、それぞれの明るさのレベルを決定するためにアクセスされる。例えば、それらのサンプリングされたピクセルの輝度を決定するために、画像データがアクセスされる。本発明の一つの実施の形態によれば、明るさの標本は、対象の形状のそれぞれの縁の周辺で分散される。もちろん、明るさのサンプルは、例えば、ランダム分布、直前のサンプルの明るさの関数など、他の方法で分布されてもよいことが理解されるべきである。
【００２７】
本発明の一つの実施の形態において、明るさのサンプルの数は、画像内の対象の形状の大きさの関数であるが、本発明の別の実施の形態において、明るさのサンプルの数は、例えば、予め決められた設定、対象の形状の種類の関数、対象の形状の明るさの関数、又は、対象の形状の大きさ、形状、及び明るさの任意の組み合わせなど、異なる方法で決定されてもよい。
【００２８】
フローは、ブロック３２０からブロック３３０へ移る。ブロック３３０において、サンプルのそれぞれの明るさが、例えばそれらのピクセルの輝度値にアクセスすることにより決定される。画像内の対象の形状の周辺の明るさのサンプルは、それぞれ異なる輝度値を有してもよい、すなわち、それぞれのサンプルの輝度値は独立していることが理解されるべきである。フローは、ブロック３３０からブロック３４０に移り、それらの明るさのサンプルの明るさの平均が算出される。フローは、ブロック３４０からブロック３５０に移る。
【００２９】
ブロック３５０において、対象の形状の明るさが既知であるか否かが判断される。対象の形状の明るさが未知であれば、フローはブロック３６０に移り、明るさが決定される。対象の形状の明るさが既知であれば、フローはブロック３７０に移る。一つの実施の形態によれば、対象の形状の明るさは既知であり、画像を通じて実質的に均一であることが予想される（反射、低い画質などが均一性に影響を与えうる）。例えば、図１１を参照して、球１１１０は、計算装置１１５０が既知である特定の明るさの光を照射する。しかしながら、本発明の別の実施の形態において、オブジェクトの明るさ（及びオブジェクトに対応する形状の明るさ）は未知であり、決定されなければならない。本発明の一つの実施の形態によれば、形状の明るさは、画像における形状の多数のピクセルをサンプリングし、それらのピクセルから輝度値を平均することにより決定されうる。
【００３０】
ブロック３７０において、形状の明るさとサンプリングされたピクセルの明るさの平均との差が算出される。本発明の一つの実施の形態によれば、明るさの差が負であることは、対象の形状が背景の明るさの平均よりも明るいことを示し、明るさの差が正であることは、対象の形状が背景の明るさの平均よりも暗いことを示し、明るさの差がないことは、対象の形状と背景の明るさの平均が同じであることを示す。もちろん、明るさの差が正であることが、対象の形状が背景の明るさの平均よりも明るいことを示すなどの場合もありうることが理解されるべきである。フローは、ブロック３７０からブロック３８０へ移る。
【００３１】
ブロック３８０において、明るさの差に基づいたブルーミングの補償が実行される。例えば、形状が背景よりも暗い場合は形状の大きさが拡張され、形状が背景よりも明るい場合は形状の大きさが縮小されてもよい。本発明の一つの実施の形態によれば、補償の量は、経験的なデータの分析に基づく。例えば、図６は、ブルーミング補償テーブル６１０の例を示す。ブルーミング補償テーブル６１０は、明るさの差を格納する列６２０と、調整量を格納する列６３０を含む。本発明の一つの実施の形態によれば、ブルーミング補償テーブル６１０の値は、経験的分析を通じて決定される。例えば、対象の形状を生成するオブジェクト（例えば球１１１０）の異なる明るさの値と、背景の異なる明るさとを用い、カメラとオブジェクトの間の既知の距離において、それぞれのモデルでブルーミングが生じれば、その量を決定するための測定を行ってもよい。この方法により、ブルーミング補償テーブル６１０の値が入力されてもよい。
【００３２】
もちろん、ブルーミング補償テーブルに代えて、他の方法がブルーミングを補償するために用いられてもよいことが理解されるべきである。例えば、ブルーミング補償テーブルに代えて、補償量を算出するためのブルーミング補償関数が適用されてもよい。一般に、追跡されるオブジェクトが、異なる明るさを有するオブジェクトに近づく又は遠ざかるように移動するにつれて、ブルーミングの効果は（非線形的に）異なる。したがって、本発明の一つの実施の形態によれば、ブルーミング補償関数は、近似的に二次関数に写像可能な非線形関数である。
【００３３】
本発明の一つの実施の形態によれば、対象の形状が楕円である場合、調整量の列６３０の値は、楕円の長半径の調整量を示す。例えば、図２を参照して、形状２５０は楕円であり（とくに、それは円である）、半径はＲ１である（円の半径は長半径でもある）。上述したように、背景２３０は形状２５０よりも明るいので、形状２５０は本来よりも小さく写っている。形状２５０と明るさのサンプル２２０の平均との明るさの差に対応する調整量の列６３０の値は、形状２５０の半径を半径Ｒ２に増加すべきであることを示す。
【００３４】
このように、形状２５０がブルーミングにより影響されていても（すなわち、形状２５０の大きさ及び外観がブルーミングにより歪んでいても）、形状２５０に対応するデータはブルーミングを補償するように調整される。画像内のオブジェクトの正しい大きさに依存するアプリケーション（例えば、図１１に例示したゲームモーション制御システムなどの追跡システムやモーションキャプチャシステムなど）は、上述したような手順の例を用いて、ブルーミングを補償できる。
【００３５】
図２及び３を参照して説明したブルーミングを補償するための手順の例は、画像を、それぞれが明るさのサンプル及び明るさの平均を有する２以上の領域に分割することにより拡張されうる。本発明の一つの実施の形態によれば、ブルーミングを補償する際に画像を複数の領域に分割することは、形状に対応するオブジェクトのある領域が他の領域よりも明るい場合に利点がある。
【００３６】
図４は、ブルーミングにより歪んだ形状と、図２及び３を参照して説明したブルーミング補償に類似し、さらに、それぞれが明るさのサンプル及び明るさの平均を有する複数の領域に形状が分割された場合のブルーミング補償の例を示す。図４は、図５の手順の例を参照して説明される。図５は、本発明の一つの実施の形態に係るブルーミング補償機構を示すフロー図である。図４を参照して説明される本発明の実施の形態は、図５を参照して説明される手順以外の手順を実行可能であり、図５は、図４を参照して説明される本発明の実施の形態以外の実施の形態により実行可能であることが理解されるべきである。
【００３７】
図４は、画像２１０が生成されるのと同様の方法でディジタルカメラにより生成される画像４１０を含む。画像４１０は、形状４５０を含む。球１１１０などのオブジェクトが形状４５０に相当することが理解されるべきである。形状４５０は、複数の領域（領域Ａ、領域Ｂ、領域Ｃ、及び領域Ｄ）に分割される。形状４５０は、画像４１０のほぼ中央に示されているが、形状４５０は画像４１０の中央になくてもよいことが理解されるべきである。
【００３８】
図５を参照して、ブロック５１０において、画像データが受信される。例えば、本発明の一つの実施の形態において、計算システムは、ディジタルカメラにより撮像された画像に対応する画像データを取得する。図１１を参照して、カメラ１１４０は、例えばコントローラ１１７０を使用するユーザの画像を生成し、この情報を計算装置１１５０に送信する。上述したように、コントローラ１１７０の画像、及び、球１１１０の大きさはとくに、照明条件（例えば、自然光１１３０及び人工光１１２０）により影響されうる。図４を参照して、画像４１０が受信される。フローは、ブロック５１０からブロック５２０へ移る。
【００３９】
ブロック５２０において、画像内の対象の形状が探索される。例えば、図４を参照して、画像４１０内の形状４５０が探索される。本発明の一つの実施の形態において、形状４５０は、ブロック３１５において形状２５０を探索するのに用いられたのと同様の機構を用いて探索される。フローは、ブロック５２０からブロック５３０へ移る。
【００４０】
ブロック５３０において、対象の形状は複数の領域に分割される。図４を参照して、形状４５０は、領域Ａ、領域Ｂ、領域Ｃ、及び領域Ｄの４つの領域に分割される。形状４５０は４つの領域に分割されるが、本発明のいくつかの実施の形態において、形状は１より大きなＮ個の領域に分割されることが理解されるべきである。本発明の一つの実施の形態によれば、対象の形状の中心が決定され、領域はその中心から分割される。言い換えれば、それぞれの領域の起点は、対象の領域の中心である。しかしながら、ここで説明される本発明の実施の形態において、形状を複数の領域に分割する別の方法が実行されてもよいことが理解されるべきである。ブローは、ブロック５３０からブロック５４０へ移る。
【００４１】
ブロック５４０〜５９５の手順は、それぞれの領域について実行される。ブロック５４０において、領域内の対象の形状の外部の複数のピクセルが、図３のブロック３２０を参照して説明したのと同様の方法でサンプリングされる。フローは、ブロック５４０からブロック５５０へ移る。ブロック５５０において、それぞれのサンプルの明るさが、例えばそれらのピクセルの輝度値にアクセスすることにより決定される。それぞれの領域内の対象の形状の周囲の明るさのサンプルは、それぞれ異なる輝度値を有してもよい（すなわち、それぞれのサンプルの輝度値は独立している）ことが理解されるべきである。フローはブロック５５０からブロック５６０に移り、それらの明るさのサンプルの明るさの平均が算出される。フローは、ブロック５６０からブロック５７０へ移る。
【００４２】
ブロック５７０において、対象の形状の明るさが既知であるか否かが判定される。対象の形状の明るさが未知であれば、フローはブロック５８０に移り、明るさが決定される。しかしながら、対象の形状の明るさが既知であれば、フローはブロック５９０に移る。一つの実施の形態によれば、対象の形状の明るさは既知であり、画像を通じて実質的に均一であることが予想される。しかしながら、反射、低い画質などが、対象の形状の明るさの均一性に影響を与えうることが理解されるべきである。図１１を参照して、球１１１０は、一般に、計算装置１１５０が既知である特定の明るさの光を照射する。しかしながら、本発明の別の実施の形態において、オブジェクトの明るさ（及びオブジェクトに対応する形状の明るさ）は未知であり、決定されなければならない。本発明の一つの実施の形態によれば、形状の明るさは、画像における形状の複数のピクセルをサンプリングし、それらのピクセルから輝度値を平均することにより決定されうる。
【００４３】
ブロック５９０において、領域内の形状の明るさとサンプリングされたピクセルの明るさの平均との差が算出される。フローはブロック５９０からブロック５９５へ移り、その領域についての明るさの差に基づいたブルーミングの補償が実行される。ブロック３８０を参照して説明したのと同様に、本発明の一つの実施の形態によれば、補償量は経験的データの分析に基づく（例えば、ブルーミング補償テーブル６１０が用いられる）。
【００４４】
図７は、本発明の一つの実施の形態における、ブルーミングにより歪んだ画像平面中のオブジェクトと、ブルーミング補償の例を示す。図７は、図８の手順の例を参照して説明される。図８は、本発明の一つの実施の形態に係るブルーミング補償機構のフロー図である。図７を参照して説明される本発明の実施の形態は、図８を参照して説明される手順以外の手順を実行可能であり、図８は、図７を参照して説明される本発明の実施の形態以外の実施の形態により実行可能であることが理解されるべきである。
【００４５】
図７は、画像２１０が生成されたのと同様の方法でディジタルカメラにより生成された画像７１０を含む。画像７１０は、形状７５０を含む。球１１１０などのオブジェクトが形状７５０に相当することが理解されるべきである。図７に示すように、画像７１０を生成する間の照明条件が、形状７５０の大きさ及び外観に影響を与えるブルーミングを生じさせる。破線７４０は、ブルーミング効果がない場合の形状７５０の大きさ及び外観を示す。図７に示すように、ブルーミングにより、形状７５０の一部は本来よりも小さく見え、形状７５０の一部は本来よりも見えている。本発明の一つの実施の形態によれば、複数の半径（例えばＲ１からＲ８）が、形状７５０の境界７８０に沿って採用された明るさのサンプルに基づいて調整される。
【００４６】
図７及び８を参照して、ブロック８１０において、画像データ７１０が受信される（例えば、図１１を参照して、カメラ１１４０が画像を生成し、計算装置１１５０に画像データを送信する）。フローはブロック８１０からブロック８２０へ移り、画像７１０内の対象の形状７５０が探索される。本発明の一つの実施の形態において、形状７５０は、ブロック３１５において形状２５０を探索するために用いられたのと同様の機構を用いて探索される。フローは、ブロック８２０からブロック８３０へ移る。
【００４７】
ブロック８３０において、画像内の形状の境界（例えば、実線７８０で示される形状７５０の境界）が決定される。本発明の一つの実施の形態によれば、形状の境界は、形状の境界にあるピクセルを決定するために画像内のピクセルを分析することにより決定される。例えば、形状７５０の中心（例えば初期中心７３０）から開始し、複数のピクセルが形状７５０の複数の半径（例えば半径Ｒ１からＲ８）について分析される。それぞれの半径に沿って、形状ではないピクセルに当たるまでピクセルが分析される。例えば、形状の色が既知であれば、異なる色に当たるまで、それぞれの半径に沿ってピクセルが分析される。形状の境界を決定するために、任意の数の半径が分析されてもよいことが理解されるべきである。例えば、図７では、８つの異なる半径（例えば、中心から４５度ごと）が計算されている。フローはブロック８３０からブロック８４０へ移り、半径の一つに沿って、形状の境界の外側にある明るさのサンプルが採られる。例えば、図７を参照して、半径Ｒ１に沿った境界７８０の外側から、境界外明るさサンプル７６５Ａが採られる。フローはブロック８４０からブロック８５０へ移り、そのサンプルの明るさが決定される。フローはブロック８５０からブロック８６０へ移り、形状の境界の内側にある同じ半径に沿った近接するピクセルの明るさが決定される。本発明の一つの実施の形態によれば、形状８５０のピクセルの輝度は、実質的に不変で既知である（例えば、形状８５０に対応する輝度は計算装置１１５０の内部に格納されている）。しかしながら、形状８５０の輝度が未知である場合、形状の境界の外側にあるサンプルに近接する形状の境界の内側にあるピクセルが、その輝度を決定するためにサンプリングされる。例えば、図７を参照して、半径Ｒ１に沿って境界７８０の内側において、境界内明るさサンプル７７０Ａが採られる。フローは、ブロック８６０からブロック８７０へ移る。
【００４８】
ブロック８７０において、半径に沿った形状（例えば形状の内部のピクセル）の明るさと、サンプリングされたピクセルの明るさとの間の差が決定される。例えば、図７を参照して、境界内明るさサンプル７７０Ａの明るさと、境界外明るさサンプル７６５Ａの明るさとの間の差が決定される。フローは、ブロック８７０からブロック８８０へ移る。ブロック８８０において、半径（例えば半径Ｒ１）は、境界外サンプルと境界内サンプルの明るさの差に基づいて調整される。ブロック３８０を参照して説明したのと同様に、本発明の一つの実施の形態によれば、補償量（すなわち半径の調整量）は経験的データ分析に基づく（例えば、ブルーミング補償テーブル６１０を用いる、ブルーミング補償関数を用いるなど）。例えば、図７を参照して、境界外明るさサンプル７６５Ａ及び境界内明るさサンプル７７０Ａに対応する半径Ｒ１が、ブルーミングを補償するために調整される。
【００４９】
本発明の一つの実施の形態によれば、ブロック８４０〜８８０の手順は、それぞれの半径（例えば半径Ｒ２からＲ８）について繰り返される。例えば、Ｎ個の半径について、Ｎ個の境界外明るさサンプルとＮ個の境界内明るさサンプルが採られる。それぞれのサンプルの対（境界外及び境界内サンプル）について、それらのサンプルに対応する半径が、サンプルの明るさの差に基づいて調整される。もちろん、サンプルの対の明るさが同じ又は非常に小さければ、半径が調整されなくてもよいことが理解されるべきである。
【００５０】
本発明の一つの実施の形態によれば、それぞれの半径についての明るさ補正が全て実行された後、更新された半径の値に基づいて、形状の中心が更新される。更新された中心を用いて、図８において上述した処理（例えば８３０から８４０の手順）が繰り返される。これは、前回算出した中心と今回算出した中心が近く（例えば１ピクセル以内に）なるまで、及び／又は、多数の反復（例えば５回）が実行されるまで、繰り返されてもよい。一般に、この処理を繰り返すことにより、ブルーミングの誤り補正の精度が向上する。
【００５１】
本発明の一つの実施の形態によれば、オブジェクトの視野角を制限する物質でオブジェクトを覆うことにより、ブルーミングが効果的に除去されうる。例えば、図９は、画像９１０内の形状９５０を示す。形状９５０に対応するオブジェクトは、オブジェクトの視野角を制限する物質（例えば、ラップトップディスプレー画面用のプライバシーフィルタに用いられるのと同様の物質）で覆われる。例えば、図１１を参照して、球１１１０がオブジェクトの視野角を制限する物質で覆われてもよい。
【００５２】
オブジェクトの視野角を制限する物質で覆われたオブジェクトの画像が撮像されたとき、画像中の形状は、黒いハローにより囲まれる。例えば、形状９５０は、ハロー９３０により囲まれる。オブジェクトが球（例えば球１１１０）である場合、画像中の対応する形状を囲むハローは実質的に均一となる（すなわち、形状の周囲のハローの厚みは実質的に同一となる）。背景の明るさにかかわらず、ハローは所期の距離において同じ厚みとなる。したがって、ハローの厚さは、オブジェクトと画像を撮像するカメラとの間の距離の因子となる。本発明の一つの実施の形態によれば、形状の大きさは、ハローの厚さに基づいて増加される。
【００５３】
本発明の一つの実施の形態において、ハローの幅は、カメラと追跡されるオブジェクトとの間の距離に関する線形関数である。ハローの幅が線形関数であり、オブジェクト又は追跡されるオブジェクトの周囲の背景の明るさによって変化しないので、ブルーミングが効果的に除去される。例えば、追跡されるオブジェクトの周囲のオブジェクトの明るさによってではなく、カメラからの距離に応じて追跡されるオブジェクトの大きさが変化する限り、ハローによる画像中のボールの大きさは、オブジェクトの追跡に影響を与えない。
【００５４】
例えば、図１１を参照して、追跡される球１１１０の視野角を制限する物質（ディジタルカメラ１１４０により生成される画像中で追跡される球１１１０を囲むハローの原因となる）で追跡される球１１１０を覆うことにより、計算装置１１５０は、画像に影響を与えるブルーミングの量を計算することなく、ディジタルカメラ１１４０に対する追跡される球１１１０の距離を算出することができる。距離の値は、水平及び垂直方向の値とともに、ディジタルカメラ１１４０に対する追跡される球１１１０の位置を決定するために用いられる。位置は、計算装置１１５０に関連づけられたアクションを制御する。
【００５５】
本発明の別の実施の形態によれば、追跡されるオブジェクトに対応する形状の大きさは、ハローの幅に基づいて調整される。図１０は、本発明の一つの実施の形態における、オブジェクトの視野角を制限する物質で覆われたオブジェクトに対応する画像中の対象の形状の大きさを算出する方法の例を示すフロー図である。図９及び１０を参照して、ブロック１０１０において、画像データ９１０が受信される。本発明の一つの実施の形態によれば、画像１０１０は、ブロック３１０を参照して説明したのと同様に、ディジタルカメラにより生成される。フローはブロック１０１０から１０２１へ移り、画像９１０中の対象の形状９５０が探索される。本発明の一つの実施の形態において、対象の形状は、ブロック３１５において説明したのと同様の機構を用いて探索される。フローは、ブロック１０２０から１０３０へ移る。
【００５６】
ブロック１０３０において、ハローの幅が決定される。前述したように、一般に、ハローの幅は均一である。本発明の一つの実施の形態によれば、ハローの幅を決定するために、画像のピクセルが分析される。フローはブロック１０３０から１０４０へ移り、形状の大きさは、ハローの幅に基づいて増加される。
【００５７】
図１４は、本発明の一つの実施の形態に関連して用いられうるハードウェア及びユーザインタフェースを示す。図１４は、三次元コントローラ位置確認システムの実装及び本発明の一つの実施の形態に係るブルーミングの補償を両立可能なコンソールであるソニープレイステーション３エンタテインメント装置の全体システム構成を概略的に示す。システムユニット１４００とともに、システムユニット１４００に接続可能な種々の周辺装置が設けられる。システムユニット１４００は、セルプロセッサ１４２８、ランバス（登録商標）ダイナミックランダムアクセスメモリ（ＸＤＲＡＭ）ユニット１４２６、専用のビデオランダムアクセスメモリ（ＶＲＡＭ）とともに設けられたリアリティシンセサイザーグラフィックスユニット１４３０、及び入出力ブリッジ１４３４を備える。システムユニット１４００は、さらに、入出力ブリッジ１４３４を介してアクセス可能な、ディスク１４４０Ａから読み出すためのブルーレイ（登録商標）ディスクＢＤ−ＲＯＭ光ディスクリーダ１４４０及び脱着可能なスロットインハードディスクドライブ（ＨＤＤ）１４３６を備える。システムユニット１４００は、オプションで、入出力ブリッジ１４３４を介して同様にアクセス可能な、コンパクトフラッシュ（登録商標）メモリカード、メモリスティック（登録商標）メモリカードなどを読み出すためのメモリカードリーダ１４３８をさらに備える。
【００５８】
入出力ブリッジ１４３４は、さらに、複数のユニバーサルシリアルバス（ＵＳＢ）２．０ポート１４２４、ギガビットイーサネット（登録商標）ポート１４２２、ＩＥＥＥ８０２．１１ｂ／ｇ無線ネットワーク（Ｗｉ−Ｆｉ）ポート１４２０、７つのブルートゥース（登録商標）接続までサポート可能なブルートゥース無線リンクポート１４１８に接続する。
【００５９】
動作中、入出力ブリッジ１４３４は、１以上のゲームコントローラ１４０２〜１４０３からのデータを含む全ての無線、ＵＳＢ及びイーサネット（登録商標）データを扱う。例えば、ユーザがゲームをプレーするとき、入出力ブリッジ１４３４は、ブルートゥースリンクを介してゲームコントローラ１４０２〜１４０３からデータを受信し、セルプロセッサ１４２８に伝える。セルプロセッサ１４２８は、ゲームの現在の状態をそのように更新する。
【００６０】
無線、ＵＳＢ及びイーサネット（登録商標）ポートは、ゲームコントローラ１４０２〜１４０３に加えて、リモートコントローラ１４０４、キーボード１４０６、マウス１４０８、ソニープレイステーションポータブル（登録商標）エンタテインメント装置などの携帯型エンタテインメント装置１４１０、アイトイ（登録商標）ビデオカメラなどのビデオカメラ１４１２、マイクロフォンヘッドセット１４１４、及びマイクロフォン１４１５などの他の周辺装置との接続も提供する。これらの周辺装置は、原則として、システムユニット１４００に無線で接続されてもよい。例えば、携帯型エンタテインメント装置１４１０は、Ｗｉ−Ｆｉアドホック接続を介して通信してもよいし、マイクロフォンヘッドセット１４１４は、ブルートゥースリンクを介して通信してもよい。
【００６１】
これらのインタフェースの提供は、プレイステーション３装置が、ディジタルビデオレコーダ（ＤＶＲ）、セットトップボックス、ディジタルカメラ、携帯型メディアプレーヤ、ボイスオーバーＩＰ電話、携帯電話、プリンタ、及びスキャナなどの他の周辺装置との互換性をも潜在的に有することを意味する。
【００６２】
さらに、プレイステーション（登録商標）又はプレイステーション２（登録商標）装置により用いられる種類のメモリカード１４４８の読み出しを可能にするレガシーメモリカードリーダ１４１６が、ＵＳＢポート１４２４を介してシステムユニットに接続されてもよい。
【００６３】
ゲームコントローラ１４０２〜１４０３は、ブルートゥースリンクを介してシステムユニット１４００と無線通信可能であるか、ＵＳＢポートを介して接続して、ゲームコントローラ１４０２〜１４０３のバッテリを充電するための電源も提供可能である。ゲームコントローラ１４０２〜１４０３は、メモリ、プロセッサ、メモリカードリーダ、フラッシュメモリなどの永続メモリ、ＬＥＤ又は赤外光などの光照射部、超音波通信のためのマイクロフォン及びスピーカ、音響チャンバ、ディジタルカメラ、内部クロック、ゲームコンソールに面した球などの認識可能な形状、及びブルートゥース、ＷｉＦｉなどのプロトコルを用いた無線通信を含んでもよい。
【００６４】
ゲームコントローラ１４０２は両手で用いられるように設計されたコントローラであり、ゲームコントローラ１４０３は、ボールが設けられた、片手で扱うコントローラである。１以上のアナログジョイスティック及び従来の制御ボタンに加えて、ゲームコントローラは、三次元位置決定が可能である。したがって、ゲームコントローラのユーザのジェスチャー及び動きが、従来のボタン又はジョイスティックのコマンドに加えて、又はそれに代えて、ゲームに対する入力として翻訳されてもよい。オプションとして、プレイステーションポータブル装置などの他の無線通信可能な周辺装置がコントローラとして用いられてもよい。プレイステーションポータブル装置の場合、装置の画面に、更なるゲーム又は制御情報（例えば、制御命令又はライフの数）が提供されてもよい。ダンスマット（図示せず）、光線銃（図示せず）、ステアリングホイール及びペダル（図示せず）、又は早押しクイズゲームのための単一又はいくつかの大きなボタンなどの専用コントローラ（図示せず）などの他の代替又は追加の制御装置が用いられてもよい。
【００６５】
リモートコントローラ１４０４は、ブルートゥースリンクを介してシステムユニット１４００と無線通信可能である。リモートコントローラ１４０４は、ブルーレイディスクＢＤ−ＲＯＭリーダ１４４０の動作及びディスク内容のナビゲーションのために適した制御を備える。
【００６６】
ブルーレイディスクＢＤ−ＲＯＭリーダ１４４０は、従来の記録済み及び記録可能なＣＤ及びいわゆるスーパーオーディオＣＤに加えて、プレイステーション及びプレイステーション２装置に互換なＣＤ−ＲＯＭを読み出し可能である。リーダ１４４０は、従来の記録済み及び記録可能なＤＶＤに加えて、プレイステーション２及びプレイステーション３装置に互換なＤＶＤ−ＲＯＭを更に読み出し可能である。リーダ１４４０は、さらに、従来の記録済み及び記録可能なブルーレイディスクだけでなく、プレイステーション３装置に互換なＢＤ−ＲＯＭを読み出し可能である。
【００６７】
システムユニット１４００は、生成された、又は、リアリティシンセサイザーグラフィックスユニット１４３０を介してプレイステーション３装置によりデコードされた音声及び映像を、音声及び映像コネクタを介して、モニタ又はディスプレー１４４４と１以上のラウドスピーカ１４４６を有するテレビジョンセットなどの表示及び音声出力装置１４４２に対して供給可能である。音声コネクタ１４５０は、従来のアナログ及びディジタル出力を含んでもよく、映像コネクタ１４５２は、コンポーネントビデオ、Ｓ−ビデオ、コンポジットビデオ、及び１以上の高解像度マルチメディアインタフェース（ＨＤＭＩ）出力などを含んでもよい。結果として、映像出力は、ＰＡＬ又はＮＴＳＣ、又は、７２０ｐ、１０８０ｉ又は１０８０ｐ高解像度の形式であってもよい。
【００６８】
音声処理（生成、デコードなど）は、セルプロセッサ１４２８により実行される。プレイステーション３装置のオペレーティングシステムは、ドルビー（登録商標）５．１サラウンド音声、ドルビーシアターサラウンド（ＤＴＳ）、及びブルーレイディスクからの７．１サラウンド音声のデコードをサポートする。
【００６９】
本発明の一つの実施の形態によれば、ビデオカメラ１４１２は、単一の電荷結合素子（ＣＣＤ）、ＬＥＤインジケータ、及びハードウェアベースのリアルタイムデータ圧縮エンコード装置を備え、圧縮されたビデオデータは、システムユニット１４００によりデコードするために、画像間ベースのＭＰＥＧ（motion picture expert group）スタンダードなどの適当な形式で送信されてもよい。カメラＬＥＤインジケータは、例えば逆光条件を知らせるなどのシステムユニット１４００からの適切な制御データに応答して光る。ビデオカメラ１４１２の実施の形態は、ＵＳＢ、ブルートゥース、又はＷｉ−Ｆｉの通信ポートを介してシステムユニット１４００に接続してもよい。ビデオカメラの実施の形態は、１以上の結合されたマイクロフォンを含み、音声データを送信可能であってもよい。ビデオカメラの実施の形態において、ＣＣＤは、高精細ビデオキャプチャに適した解像度を有してもよい。使用中、ビデオカメラにより撮像された画像は、例えば、ゲーム内に組み込まれてもよいし、ゲーム制御入力として解釈されてもよい。カメラの別の実施の形態において、カメラは、赤外光を検出するのに適した赤外線カメラである。
【００７０】
一般に、システムユニット１４００の通信ポートの一つを介して、ビデオカメラ又はリモートコントローラなどの周辺装置との間で発生するデータ通信を成功させるために、デバイスドライバなどの適切なソフトウェアが提供されるべきである。デバイスドライバの技術は既知であり、ここでは詳述しないが、本実施の形態においてデバイスドライバ又は類似のソフトウェアインタフェースが要求されることは、当業者には理解されるところである。
【００７１】
図１５は、本発明の一つの実施の形態における、命令の処理に利用可能な追加のハードウェアを示す。本発明の一つの実施の形態によれば、図１５はシステムユニット１４００を示す。図１４のセルプロセッサ１４２８は、メモリコントローラ１５６０及びデュアルバスインタフェースコントローラ１５７０Ａ、１５７０Ｂを備える外部入出力構成、パワープロセッシングエレメント（ＰＰＥ）１５５０と呼ばれるメインプロセッサ、シナジスティックプロセッシングエレメント（ＳＰＥ）１５１０Ａ〜Ｈと呼ばれる８個のコプロセッサ、要素相互接続バス１５８０と呼ばれる、上記の要素を接続する環状データバスの４つの基本要素を備えた構成を有する。セルプロセッサの全体の浮動小数点演算は、プレイステーション２装置のエモーションエンジンの６．２Ｇフロップスであるのに対して、２１８Ｇフロップスである。
【００７２】
パワープロセッシングエレメント（ＰＰＥ）１５５０は、３．２ＧＨｚの内部クロックで動作するパワーＰＣ（PowerPC）コア（ＰＰＵ）１１５５に互換な、双方向平行マルチスレッドパワー１４７０に基づいている。これは、５１２ｋＢのレベル２（Ｌ２）キャッシュ及び３２ｋＢのレベル１（Ｌ１）キャッシュを備える。ＰＰＥ１５５０は、クロックサイクルごとに８つの単精度演算を行うことができ、これは３．２ＧＨｚにおいて２５．６ギガフロップスにあたる。ＰＰＥ１５５０の主要な役割は、ほとんどの計算作業負荷を扱うＳＰＥ１５１０Ａ〜Ｈのためのコントローラとして機能することである。動作において、ＰＰＥ１５５０は、ジョブのキューを保持し、ＳＰＥ１５１０Ａ〜Ｈのジョブをスケジューリングし、それらの進行を監視する。それぞれのＳＰＥ１５１０Ａ〜Ｈは、ジョブを取ってきて実行するのが役割であるカーネルを実行し、ＰＰＥ１５５０に同期される。
【００７３】
それぞれのＳＰＥ１５１０Ａ〜Ｈは、シナジスティックプロセッシングユニット（ＳＰＵ）１５２０Ａ〜Ｈを備え、それぞれのメモリフローコントローラ（ＭＦＣ：Memory Flow Controller）１５４０Ａ〜Ｈは、ダイナミックメモリアクセスコントローラ（ＤＭＡＣ：Dynamic Memory Access Controller）１５４４Ａ〜Ｈ、メモリ管理ユニット（ＭＭＵ）１５４４Ａ〜Ｈ、及びバスインタフェース（図示せず）を備える。それぞれのＳＰＵ１５２０Ａ〜Ｈは、クロックが３．２ＧＨｚで、原則として４ＧＢまで拡張可能な２５６ｋＢのローカルＲＡＭ１５３０Ａ〜Ｈを備える、ＲＩＳＣプロセッサである。それぞれのＳＰＥは、理論上、２５．６ＧＦＬＯＰＳの単精度性能を与える。ＳＰＵは、４つの単精度浮動小数演算、４つの３２ビット演算、８つの１６ビット整数演算、又は１６の８ビット整数演算を、１つのクロックサイクルで実行可能である。同じクロックサイクルにて、メモリ命令を実行することもできる。ＳＰＵ１５２０Ａ〜Ｈは、システムメモリＸＤＲＡＭ１４２６に直接アクセスしない。ＳＰＵ１５２０Ａ〜Ｈにより生成される６４ビットのアドレスは、ＭＦＣ１５４０Ａ〜Ｈに渡され、要素相互接続バス１５８０及びメモリコントローラ１５６０を介してメモリにアクセスするためのＤＭＡコントローラ１５４２Ａ〜Ｈに命令される。
【００７４】
エレメントインタフェースバス（ＥＩＢ）１５８０は、セルプロセッサ１０２８の内部の論理的に巡回した通信バスである。ＥＩＢは、上述のプロセッサエレメント、すなわち、ＰＰＥ１５５０、メモリコントローラ１５６０、デュアルバスインタフェース１５７０Ａ、Ｂ、及び８つのＳＰＥ１５１０Ａ〜Ｈの、合計１２の要素を接続する。要素は、クロックサイクルごとに８バイトの速度でバスを同時に読み、及び書き込むことができる。前述したように、それぞれのＳＰＥ１５１０Ａ〜Ｈは、より長いリード又はライトシーケンスをスケジュールするためのＤＭＡＣ１５４２Ａ〜Ｈを備える。ＥＩＢは４つのチャンネルを備え、２つは時計回りで、２つは反時計回りの方向である。１２の要素の間で、任意の２つの要素の間のうち最も長いデータフローは、適切な方向に６ステップとなる。ＥＩＢの１２スロットの帯域の理論上のピークの瞬間は、要素間の調停を通じて全てが利用されたとき、クロックごとに９６バイトである。これは、クロックレートが３．２ＧＨｚのときの理論上のピークバンド幅の３０７．２ＧＢ／ｓ（ギガバイト毎秒）と同じである。
【００７５】
メモリコントローラ１５６０は、ランバス社により開発されたＸＤＲＡＭインタフェース１５６２を備える。メモリコントローラは、理論上はピークバンド幅毎秒２５．６ギガバイトで、ランバスＸＤＲＡＭ１４２６と接続する。
【００７６】
デュアルバスインタフェース１５７０Ａ、Ｂは、ランバスフレックスＩＯ（登録商標）システムインタフェース１５７２Ａ、Ｂを備える。インタフェースは、それぞれが８ビット幅である、入力５経路、出力７経路の１２チャンネルに組織化される。これは、セルプロセッサ及びコントローラ１７０Ａを介した入出力ブリッジ７００及びコントローラ１７０Ｂを介したリアリティシミュレータグラフィックスユニット２００の間の６２．４ＧＢ／ｓ（出力３６．４ＧＢ／ｓ、入力２６ＧＢ／ｓ）の理論的ピークバンド幅を提供する。
【００７７】
セルプロセッサ１４２８によりリアリティシミュレータ（Reality Simulator）グラフィクスユニット１４３０に送られたデータは、典型的には、表示リスト、頂点の描画命令列、ポリゴンに対するテクスチャの適用、光条件の特定などを含む。
【００７８】
図面のフロー図は、本発明の特定の実施の形態により実行される手順の特定の順序を示すが、そのような順序は例であり、例えば、別の実施の形態では、異なる順序で、特定の手順を組み合わせたり、特定の手順を重複したりして手順が実行されてもよい。
【００７９】
本発明が、いくつかの実施の形態に関して説明されたが、本発明は説明された実施の形態に限られず、添付された特許請求の範囲の精神及び範囲内で変更及び代替が可能であることは、当業者に認識されるところである。詳細な説明は、限定ではなく例示であるとみなされるべきである。
【図１】
0005396486.tif 000002
【図２】
0005396486.tif 000003
【図３】
0005396486.tif 000004
【図４】
0005396486.tif 000005
【図５】
0005396486.tif 000006
【図６】
0005396486.tif 000007
【図７】
0005396486.tif 000008
【図８】
0005396486.tif 000009
【図９】
0005396486.tif 000010
【図１０】
0005396486.tif 000011
【図１１】
0005396486.tif 000012
【図１２】
0005396486.tif 000013
【図１３】
0005396486.tif 000014
【図１４】
0005396486.tif 000015
【図１５】
0005396486.tif 000016