(57)【特許請求の範囲】
【請求項１】
ディスプレイされたデジタル画像をキャプチャするためのシステムであって、
少なくとも一つのディスプレイされた画像の少なくとも一部分を選択するのにユーザにより利用される選択ツールと、
選択された部分を複製するように構成されたキャプチャルーティンと
を含み、
上記選択ツールが、全体が一つの画像の内部にある一つの部分を選択すれば、キャプチャされた画像は、上記キャプチャルーティンによって補助記憶装置から複製されるものであり、上記選択ツールが、全体が一つの画像の内部にあるのでは無い一つの部分を選択すれば、キャプチャされた画像は、上記キャプチャルーティンによって主記憶装置から複製されるものである
システム。
【請求項２】
上記選択ツールは、選択エリアを定義するように構成されたフレームである
請求項１に記載のシステム。
【請求項３】
ユーザが定義した選択ツールがサイズ変更可能である
請求項１又は２に記載のシステム。
【請求項４】
上記選択ツールが回転可能である
請求項１乃至３のうちのいずれか一に記載のシステム。
【請求項５】
上記キャプチャルーティンはユーザへフィードバックを与える
請求項１乃至４のうちのいずれか一に記載のシステム。
【請求項６】
上記フィードバックが、視覚的アニメーションの形態である
請求項５に記載のシステム。
【請求項７】
上記フィードバックが、オーディオ信号の形態である
請求項５又は６に記載のシステム。
【請求項８】
上記主記憶装置がフレームバッファメモリである
請求項１乃至７のうちのいずれか一に記載のシステム。
【請求項９】
上記補助記憶装置がハードディスクである
請求項１乃至８のうちのいずれか一に記載のシステム。
【請求項１０】
上記キャプチャルーティンが、複数のスレッド上で実行されるように構成されている
請求項１乃至９のうちのいずれか一に記載のシステム。
【請求項１１】
上記キャプチャされた画像が、画像に関するビューポートのサイズ若しくは方向を変更することにより、更に処理される
請求項１乃至１０のうちのいずれか一に記載のシステム。
【請求項１２】
上記キャプチャされた画像が、異方性テキスチャフィルタリングにより示される
請求項１乃至１１のうちのいずれか一に記載のシステム。
【請求項１３】
ディスプレイされたデジタル画像をキャプチャするための方法であって、
少なくとも一つの画像の少なくとも一部分を選択する選択ツールを利用するステップと、
選択された部分を複製するように構成されたキャプチャルーティンを開始するステップと
を含み、
上記選択ツールが、全体が一つの画像の内部にある一つの部分を選択すれば、キャプチャされた画像は、上記キャプチャルーティンによって補助記憶装置から複製されるものであり、上記選択ツールが、全体が一つの画像の内部にあるのでは無い一つの部分を選択すれば、キャプチャされた画像は、上記キャプチャルーティンによって主記憶装置から複製されるものである
方法。
【請求項１４】
上記選択ツールは、選択エリアを定義するように構成されたフレームである
請求項１３に記載の方法。
【請求項１５】
ユーザが定義した選択ツールがサイズ変更可能である
請求項１３又は１４に記載の方法。
【請求項１６】
上記選択ツールが回転可能である
請求項１３乃至１５のうちのいずれか一に記載の方法。
【請求項１７】
上記キャプチャルーティンはユーザへフィードバックを与える
請求項１３乃至１６のうちのいずれか一に記載の方法。
【請求項１８】
上記フィードバックが、視覚的アニメーションの形態である
請求項１７に記載の方法。
【請求項１９】
上記フィードバックが、オーディオ信号の形態である
請求項１７又は１８に記載の方法。
【請求項２０】
上記主記憶装置がフレームバッファメモリである
請求項１３乃至１９のうちのいずれか一に記載の方法。
【請求項２１】
上記補助記憶装置がハードディスクである
請求項１３乃至２０のうちのいずれか一に記載の方法。
【請求項２２】
上記キャプチャルーティンが、複数のスレッド上で実行されるように構成されている
請求項１３乃至２１のうちのいずれか一に記載の方法。
【請求項２３】
上記キャプチャされた画像が、画像に関するビューポートのサイズ若しくは方向を変更することにより、更に処理される
請求項１３乃至２２のうちのいずれか一に記載の方法。
【請求項２４】
上記キャプチャされた画像が、異方性テキスチャフィルタリングにより示され得る
請求項１３乃至２３のうちのいずれか一に記載の方法。
【請求項２５】
コンピュータユニットを含む、デジタル画像をキャプチャするためのシステムであって、
上記コンピュータユニットが請求項１乃至１２のうちのいずれか一に記載のシステムを実装する
システム。
【請求項２６】
請求項１乃至１２のうちのいずれか一に記載のシステムを実装するコンピュータシステムを制御するための、少なくとも一つの命令を含むコンピュータプログラム。
【請求項２７】
請求項１３乃至２４のうちのいずれか一に記載の方法を実装するコンピュータシステムを制御するための、少なくとも一つの命令を含むコンピュータプログラム。
【請求項２８】
請求項２６に記載のコンピュータプログラムを設けるコンピュータ読み取り可能な媒体。
【請求項２９】
請求項２７に記載のコンピュータプログラムを設けるコンピュータ読み取り可能な媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像をキャプチャするシステム及び方法に関する。該システム及び方法はコンピュータデバイスと共に用いられ、特に、デジタル画像キャプチャ及び管理の状況で利用されるが、それに限定されない。
【背景技術】
【０００２】
従来、コンピュータユーザにとって、追加のデジタル画像を編集し若しくは創作する目的で、デジタル画像の一部をキャプチャすることは有用である。ユーザは、特定の対象に焦点を当てた単独の画像を創作することを望むことがあるし、特有の構成で画像のグループを組み合わせることを望むこともある。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来から、コンピュータユーザは、現存のデジタル画像から新しいデジタル画像を創作するために、多数の複雑且つ退屈なステップを通過しなければならない。このことは、適切なデジタル画像編集ソフトウエアをオープンし、ユーザがキャプチャすることを望む画像の部分を注意深く選択するキャプチャツールを利用することを、含む。その後、ユーザは、画像の形を整え、若しくはサイズを変更し、新しいデジタルオブジェクトとしてファイルを保管しなければならない。
【０００４】
デジタル画像を組み合わせることを望むコンピュータユーザは、個々の画像をロードし、所望の構成を形成し、デジタル画像編集ソフトウエアを利用して組み合わせをうんざりするほどくっつけなければならない。この作業に掛かる時間を削減することを望む先進的ユーザは、“プリントスクリーン”機能を利用することがある。それは、スクリーン上に表示されるもののスナップショットを記録メモリの中に新しいデジタル画像として入れるものである。このアプローチは有用であるが、該アプローチは扱いにくいものであり、ユーザが更なる編集を行なわない限り、ユーザに有用な画像を与えられないことが多い。
【０００５】
デジタル画像をキャプチャする従来の方法は、この作業をするのに要求される様々なタイプのソフトウエアや処理には必ずしも明るくない先進的コンピュータユーザにとっても、退屈で扱いにくい。多くのユーザは新しいソフトウエアやインタフェースに関して予測できない結果を招くことが多く、更に多くのコンピュータユーザは、先進的ツールを利用することを学ばなければならないという作業を、行なおうとしない。
【課題を解決するための手段】
【０００６】
第１の形態では、本発明は、ディスプレイされたデジタル画像をキャプチャするためのシステムであって、
少なくとも一つのディスプレイされた画像の少なくとも一部分を選択するのにユーザにより利用される選択ツールと、
選択された部分を複製するように構成されたキャプチャルーティンと
を含み、
上記選択ツールが一つの画像の一つの部分のみ選択すれば、キャプチャされた画像は補助記憶装置から生じるものであり、上記選択ツールが一つの画像の一つ以上の部分を選択すれば、キャプチャされた画像は主記憶装置から生じるものである
システムである。
【０００７】
システムの実施形態では、上記選択ツールは、選択エリアを定義するように構成されたフレームである。
【０００８】
システムの実施形態では、ユーザが定義した選択ツールがサイズ変更可能である。
【０００９】
システムの実施形態では、先行する請求項において、上記選択ツールが回転可能である。
【００１０】
システムの実施形態では、先行する請求項において、上記キャプチャルーティンはユーザへフィードバックを与える。
【００１１】
システムの実施形態では、上記フィードバックが、視覚的アニメーションの形態である。
【００１２】
システムの実施形態では、上記フィードバックが、オーディオ信号の形態である。
【００１３】
システムの実施形態では、上記主記憶装置がフレームバッファメモリである。
【００１４】
システムの実施形態では、上記補助記憶装置がハードディスクである。
【００１５】
システムの実施形態では、上記キャプチャルーティンが、複数のスレッド上で実行されるように構成されている。
【００１６】
システムの実施形態では、上記キャプチャされた画像が、画像に関するビューポートのサイズ若しくは方向を変更することにより、更に処理される。
【００１７】
システムの実施形態では、上記キャプチャされた画像が、異方性テキスチャフィルタリングにより示される。
【００１８】
第２の形態では、本発明は、ディスプレイされたデジタル画像をキャプチャするための方法であって、
少なくとも一つの画像の少なくとも一部分を選択する選択ツールを利用するステップと、
選択された部分を複製するように構成されたキャプチャルーティンを開始するステップと
を含み、
上記選択ツールが一つの画像の一つの部分のみ選択すれば、キャプチャされた画像は補助記憶装置から生じるものであり、上記選択ツールが一つの画像の一つ以上の部分を選択すれば、キャプチャされた画像は主記憶装置から生じるものである
方法である。
【００１９】
第３の形態では、本発明は、コンピュータユニットを含む、デジタル画像をキャプチャするためのシステムであって、
上記コンピュータユニットが第１の形態に係るシステムを実装する
システムである。
【００２０】
第４の形態では、本発明は、第１の形態に係る方法を実装するコンピュータシステムを制御するための、少なくとも一つの命令を含むコンピュータプログラムである。
【００２１】
第５の形態では、本発明は、第２の形態に係る方法を実装するコンピュータシステムを制御するための、少なくとも一つの命令を含むコンピュータプログラムである。
【００２２】
第６の形態では、本発明は、第４の形態又は第５の形態のいずれかに係るコンピュータプログラムを設けるコンピュータ読み取り可能な媒体である。
【図面の簡単な説明】
【００２３】
本発明の範囲内に含まれ得る他の形態にもかかわらず、添付の図面を参照して、例示としてのみ好適な実施形態を記載する。
【図１】本発明の実施形態を実装するのに利用されるコンピュータシステムの概略図である。
【図２】本発明の実施形態に係る、デジタル画像をキャプチャする方法のステップを示すフロー図である。
【図３】本発明の実施形態に係る、デジタル画像をキャプチャするマルチタスクオペレーションのフローを示す低いレベルのフロー図である。
【図４Ａ】本発明の実施形態に係る、キャプチャアニメーションの一連のスクリーンショットである。
【図４Ｂ】本発明の実施形態に係る、キャプチャアニメーションの一連のスクリーンショットである。
【図４Ｃ】本発明の実施形態に係る、キャプチャアニメーションの一連のスクリーンショットである。
【図４Ｄ】本発明の実施形態に係る、キャプチャアニメーションの一連のスクリーンショットである。
【図５Ａ】本発明の実施形態に係る、キャプチャアニメーションの一連のスクリーンショットである。
【図５Ｂ】本発明の実施形態に係る、キャプチャアニメーションの一連のスクリーンショットである。
【図５Ｃ】本発明の実施形態に係る、キャプチャアニメーションの一連のスクリーンショットである。
【図５Ｄ】本発明の実施形態に係る、キャプチャアニメーションの一連のスクリーンショットである。
【発明を実施するための形態】
【００２４】
図１を参照すると、本発明の実施形態に係る方法を実装するように構成されたコンピュータシステム１００が示される。該システム１００は、表面実装ディスプレイ１０２を含む、パーソナルコンピュータ（以下、“テーブルトップコンピュータ”と称する。）の形態である。ディスプレイ１０２は、ユーザインタフェース１０４（以下、“テーブルトップ”と称する。）を表示し、更に、そこに表示されるデジタル画像をキャプチャするためのユーザインプットを受けるように構成されている。デジタル画像は、コンピュータ上の主記憶装置１０６と補助記憶装置１０８のいずれかから若しくは両方から、生じるものである。システムは、キャプチャするための少なくとも一つの画像の少なくとも一部を選択するように調整されたソフトウエア実装選択フレームと、ソフトウエア実装キャプチャルーティンを有し、一つのインスタンスは、補助記憶装置からの画像の選択された部分を、選択が一つの画像全体の一部である新しい画像へ複製するように構成されている。第２のインスタンスでは、ルーティンは、主記憶装置からの複数の画像の複数の部分を、キャプチャするユーザの選択が複数のデジタル画像である新しい画像に複製する。
【００２５】
上述の機能を達成するために、テーブルトップコンピュータ１００は、マザーボード１１０、中央処理ユニット（ＣＰＵ）１１２、グラフィック処理ユニット（ＧＰＵ）１１４、読み取り専用メモリ（ＲＯＭ）、及び、ランダムアクセスメモリ（ＲＡＭ）、レジスタ、キャッシュ、ＧＰＵにより排他的に利用されるＲＡＭ（例えば、フレームバッファ）などの主記憶装置１０６、及び、ディスクドライブ、ハードディスク、不揮発性メモリモジュールなどの補助記憶装置１０８、並びに、イーサネット（登録商標）ポートなどのインプット／アウトプットデバイスを、含む。サーバ、パーソナルコンピュータ、端末、無線若しくは携帯式コンピュータデバイスなどの、一つ若しくはそれ以上の他のコンピュータデバイスに接続する複数の通信リンクが設けられてもよい。複数の通信リンクのうちの少なくとも一つが、電話線、若しくは他のタイプの通信リンクを介する外部コンピュータネットワークと接続されてもよい。
【００２６】
テーブルトップコンピュータは、テーブルトップコンピュータに接続するプロジェクタ１２０を含むディスプレイも含む。プロジェクタはユーザインタフェースを表面に投影する。ディスプレイは、ユーザインタフェース上にディスプレイされたオブジェクトを操作するための、ユーザインプットを検出できるセンサ１２２も含む。一つの実施形態では、ユーザインプットは、手動（即ちジェスチャ）及び／又はスタイラス若しくはペンからのインプットを含み得る。
【００２７】
ハードウエアに加えて、テーブルトップコンピュータは、ハードディスク上に存在する（マイクロソフトコーポレーションにより供給されるマイクロソフトウインドウＸＰオペレーティングシステムなどの）オペレーティングシステムを含み、該オペレーティングシステムは、ハードウエアと協働してソフトウエアアプリケーションが実行され得る環境を与える。この点において、テーブルトップコンピュータ１００には、ユーザインタフェースにディスプレイされるデジタル画像の一部、若しくはユーザインタフェースにディスプレイされる複数のデジタル画像などの、ユーザインタフェースの一部を、ユーザがキャプチャできるデジタル画像キャプチャソフトウエアアプリケーションが、ロードされる。本明細書に記載される実施形態では、デジタル画像は、ハードディスク、光学ドライブ、若しくは不揮発性メモリソース（例えば、ＵＳＢメモリデバイス）などの（但しこれらに限定されない）補助記憶装置、及び／又は、ＲＡＭ、キャッシュ、レジスタ、若しくはグラフィック処理ユニットによりアクセス可能なメモリ（フレームバッファ）などの主記憶装置などに格納されるデジタルデータの形態である。
【００２８】
デジタル画像キャプチャアプリケーションは、テーブルトップコンピュータディスプレイに表示されユーザ操作に応答する選択フレームを、ユーザに与える。該フレームは、どんなテーブルトップディスプレイも覆うように若しくは境界付けるように配置され、更に、サイズ変更され、回転され若しくは再形成され得る。該フレームは、テーブルトップ上にて、一つのデジタル画像、一つのデジタル画像の一部、若しくは、デジタル画像の複数の部分を覆って、配置され得る。選択フレームは、ユーザがキャプチャリクエストを開始できるキャプチャアクションを設ける。キャプチャリクエストが為されると、キャプチャアプリケーションがキャプチャルーティンを呼び出し、これにより、選択フレームにより境界付けされる画像が複製される。
【００２９】
図２を参照すると、キャプチャルーティンは、選択フレーム全体が表示されたデジタル画像の内部にあるのか（２０２）、又は、選択フレームがテーブルトップの一部若しくはテーブルトップの他のデジタル画像の一部を阻害するのか（２０４）によって、選択フレームの内容を複製するための様々なタイプのプロシージャを利用する。選択フレーム全体が、ディスプレイされたデジタル画像の内部にあれば、キャプチャルーティンは、クロップし（２０６）、補助記憶装置内のデジタルデータを利用してフレーム内部のデジタル画像の部分を複製する（２０８）。補助記憶装置内に含まれるデジタルデータを用いると、複製された画像は、元の画像の解像度に等しい解像度を含む。キャプチャルーティンは、デジタルデータの固有の解像度、及び、補助記憶装置内で利用可能な記憶空間の量によって、等しい若しくはより高い解像度で複製された部分を表示する。
【００３０】
選択フレーム全体が、ディスプレイされたデジタル画像の内部になければ（２０４）、キャプチャルーティンは、クロップし（２０６）、ＧＰＵによりアドレスされるメモリコンテンツであるフレームバッファなどの（但しこれに限定されない）、主記憶装置からのデジタルデータを用いて、選択フレーム内部にディスプレイされたコンテンツを複製する（２１２）。この新しい画像は、テーブルトップ２１０にディスプレイされた画像の解像度と等しい解像度を有する。
【００３１】
デジタル画像の複製に続いて、キャプチャルーティンは、生成された新しい画像を新しいファイルに格納し、該ファイルを補助記憶装置にセーブする（２１２）。この処理の間、画像は、ユーザが更に視覚し操作するために、テーブルトップディスプレイ上にディスプレイされる。
【００３２】
この実施形態により、ユーザは、キャプチャされた画像の解像度レベルを選ぶ複雑なステップや、ファイルをセーブする面倒だが重要なプロセス無しに、画像の部分を素早く複製できる。キャプチャされた画像をリロードしたり再配置したりする更なるステップ無しで、視覚による調査やユーザによる操作のために、キャプチャされた画像を一斉にディスプレイできる。
【００３３】
一つの実施形態では、キャプチャされた画像は、フレームバッファからの選択フレームの境界内部でピクセルの（例えば、矩形、円形若しくは他の形状での）直交配置ブロックをコピーし、該ピクセルを新しい画像としてロードすることにより、形成される。
【００３４】
別の実施形態では、キャプチャルーティンのパフォーマンスがユーザへのよりスムーズなグラフィックフィードバックを可能にし、テーブルトップインタフェースの利用し易さを拡張するように、キャプチャルーティンは、マルチタスク環境での並列実行のために実装される。この実施形態では、ペン、スタイラス、若しくは指を１秒以上動かさずに選択フレーム上で保持することで、キャプチャルーティンが開始される（３０２）と、キャプチャイベントがイベントキューに配置される（３０４）。通常数ミリ秒内で、シーンが次に再描画されると、パーソナルスペースポリゴンやメニューバーなどの非キャプチャオブジェクト無しで、再描画される。選択フレーム自身が再描画されると、キャプチャルーティンが代わりに選択フレームの境界を計算し（３０８）、部分的に描画されたフレームバッファ内部のピクセルをシステムメモリにコピーし（３１０）、２つのイベント、つまり、イベントキューへの完全な再描画（３１２）及びセーブキャプチャイベント（３１４）をエンキューし、それらは、特にメモリ内でスクリーンキャプチャをエンコードして補助記憶装置にセーブするために、実行のスレッドにポストされる。
【００３５】
メインイベントキュー（３１６）では、ルーティンは、全体シーンを再描画し、通常のようにイベントを処理し続ける。同時に、セーブキャプチャスレッド３１４では、ルーティンは、セマフォポストを介してイベントを受けるが、該イベントは、コピーされたフレームバッファデータに向くものである。これにより、相互作用インタフェースが敏感さをキープし（３２０）、一方で、プロセッサ集中タスクが、並行して実行するルーティン内のフレームバッファデータで、発生する。ルーティンは先ず、二つの最も近いパワーであるディメンジョンを元の値（幅、高さ）にあわせるように見積もり且つミップマップを生成する（３２２）ことによって、フレームバッファデータ上でテキスチャのプリプロセッシングを実行する。ここでミップマップは、異方性フィルタリングのために要求されるディメンジョン２ｎ×２ｍ、２ｎ−１×２ｍ−１、・・・１×１を伴う画像の集合である（例えば、モダングラフィックカード上の３次元内で高質で迅速に示され得る画像を与える）。ミップマップは、システムメモリ内に一時的に保持される。テキスチャプロセッシング（３２０）には少し時間が掛かる。例えば、キャプチャが大きかったら、ルーティンが開始以来多数の再描画及び他の操作イベントのプロセッシングが生じたかもしれない。
【００３６】
テキスチャプロセッシング３２０が完了すると、低い優先度“テキスチャ準備”イベント（３２４）がイベントキューに置かれる。再描画の間に、他のイベント（例えば、ペン動作）が無ければ、低い優先度イベントが処理される（３２６）。テキスチャ準備イベントは、予め生成されたミップマップをシステムメモリからテキスチャメモリに移送し、新しい画像オブジェクトを作成する（３２８）。新たに作成された画像をスクリーンのコーナからスクリーンの中央のスパイラル上の位置に移動するアニメーションオブジェクトが作成される（３３０）。他のスレッドがグラフィックカードにアクセスできないので、このことはメインスレッド内で発生する。バックグラウンドスレッドでは、テキスチャ準備イベント（３２４）が配置される直後に、ルーティンが、キャプチャされたピクセルをＪＰＥＧ画像に変換する（３３２）。まず、ルーティンは、別途の座標系をサポートするために行を反転し、続いて、オープンソース“ｌｉｂｊｐｅｇ”ライブラリを利用して画像を変換する。画像は、タイムスタンプ、及び、フレームキャプチャを開始するユーザを識別する識別子と共に、ディスクにセーブされる。このうち、グラフィックカードへのアクセスを要求するものは無く、この処理が生じている間、ルーティンは、インプットイベントを処理し且つ新たにロードされたテキスチャによりシーンを再描画することを継続する。新しい画像がディスクにセーブされると、ルーティンは、キャプチャセマフォ上で次のキャプチャを待機する（３３４）。しかしながら、既に待っているキャプチャイベントがあると、ルーティンは上記処理を即座に繰り返す。
【００３７】
別の実施形態では、画像は更に、ディスプレイの前に処理され得る。例えば、フレームバッファピクセルは画像データから取得され得る情報の全てを含むものではなく、ピクセルオリエンテーションは、選択フレームのオリエンテーションを反映していない。ルーティンは、第１の再描画の前に選択フレームを全体に包囲するために、サイズを変更することにより、このために最小の計算インパクトで、“ビューポート”のオリエンテーション及び形状を調整する。“ビューポート”は、３次元“世界”座標系の画像データをディスプレイのための２次元スクリーン座標に効率よく変換するための、グラフィックプロセッサにより利用される変換マトリクスの集合である。つまり、ユーザが選択フレーム上に残ると、アクションは、バーチャルカメラ、テーブルトップにディスプレイされるグラフィックが描画されるレファレンスポイントを再配置し、デジタル画像の回転の保持を行なう。この後、アクションキャプチャは、合成されたフルスクリーン画像をディスクにセーブし、（バーチャルカメラの再配置がユーザから見えないように、ディスプレイを実際に再描画しないで）それをロードする。オリエンテーションは重要であるから、選択フレームの表示は、“アップ”を示す矢印を含む。
【００３８】
再配置を達成するために、フレームオブジェクトの中央頂部のポイントは、ワールド座標に変換され、新しいバーチャルカメラ配置の所望の“トップ”となる。ワールド座標のフレームの中央は、新しいビューポートの中央となり、バーチャルカメラは、この中央から正のｚ方向のポイントで配置される。これら３つのポイント（頂部、中央及び目）により、縦の、即ち“ｙ”方向の視角は、２つのベクトル（中央−目）及び（頂部−目）のドット積のアークコサインとして計算されて、共に掛け算された大きさの平方により割られる。この情報、及びフレームのアスペクト比は、グラフィックプロセッサが、フレームバッファを全体に埋めるフレームの下で直接にディスプレイコンテンツと共にシーンを表示するための、テンポラリのビューポートを計算するのに十分である。
【００３９】
この実施形態は、オリエンテーションの問題を解決し、選択フレームが小さいときの画質を向上させる。更なる計算のためのオーバヘッドも殆ど必要とせず、ディスクにセーブするスクリーン（例えば、１０２４×７６８）と同じサイズで画像を生成するが、これで十分である。というのは、セーブされたフレームが意図された大抵の目的（例えば、電子メールへの添付）には、より大きいサイズは非現実的であるからである。
【００４０】
この実施形態の実装を示す方法として、実装の一つの方法のためのコードのリストが、表１（付属１、Ａｎｎｅｘｔｕｒｅ  １）に示される。
【００４１】
別の実施形態では、ルーティンは、選択フレームが別の画像に全体に含まれるかどうかを検出する（即ち、ルーティンは単体の画像のクロップを実行している）。含まれないならば、ルーティンは、形成されたバーチャルカメラ再配置画像を保持し、テキスチャメモリにロードして停止する。含まれるならば、ルーティンは、（イベント結果の低質バージョンであるとして）この画像を保持してディスクにセーブするが、ルーティンは更なる処理を実行する。閉じ込めを検出するために、ルーティンは、同じ画像が中央に配置されたかどうかを判定し、選択フレームの全４つのコーナにおいてそれらピクセルにおけるオブジェクトを選択することにより、選択フレーム自身を無視する。同時に、ルーティンはデジタル画像にてコーナがどこにあるか（オフセットは何か）判定し、そのデジタル画像のテキスチャへのオフセットを判定する。（未だ補助記憶装置にセーブされている）スクリーングラブをロードする代わりに、ルーティンは、ターゲット画像のテキスチャを共有するが、前に見つけられたテキスチャオフセットを利用する、特別のリソースをロードする、ということになる。この新しい画像を表示するために、ルーティンは、テキスチャを、キャプチャされた画像と共有するディスプレイリストを作成するが、テキスチャのバインディングポイント（０、０）、（０、１）、（１、０）、（１、１）ではなく、ルーティンは、キャプチャされている画像上に変換される、キャプチャ選択フレームのコーナのポイントをバインドする。この実施形態の実装を示す方法として、実装の一つの方法のためのコードのリストが、表２（付属２、Ａｎｎｅｘｔｕｒｅ  ２）に示される。
【００４２】
付属を参照して、ルーティンは、選択フレームがディスプレイされたデジタル画像内部に全体として存在するか否かを示すブールを戻す。内部に存在するならば、選択フレームのコーナがどこに位置するかに対応する、ディスプレイされたデジタル画像のためのオブジェクト座標は、最初の引数で呼び出し側に戻される。これらは、ディスプレイされるデジタル画像テキスチャのためのテキスチャオフセットに容易に変換され得る。まず、ルーティンは、選択フレームに対する、選択フレームのコーナのためのオブジェクト座標を形成する。これらは４ポイント（±ａ／２、±１／２）であり、“ａ”は選択フレームのアスペクト比である。我々は、選択フレームをバーチャル環境内に配置するのに用いられる、キャッシュされた変換マトリクスを利用して、これらをワールド座標へ変換し、次に、ディスプレイされたデジタル画像をバーチャル環境内に配置するのに用いられる変換マトリクスの逆変換を利用して、それらをソースオブジェクト座標に変換する。これらの変換されたポイントのいずれかが、ディスプレイされたデジタル画像のためのオブジェクト座標の境界の外部（即ち、“ａ”がディスプレイされたデジタル画像のアスペクトであるとして、（±ａ／２、±１／２）の範囲の外部）にあるならば、ルーティンは、選択フレームのコーナがディスプレイされたデジタル画像の内部に全体として含まれるものではない、ということが、分かっている。ルーティンがこれらのポイントを有すると、選択フレームと同じ位置でアニメーションと共にルーティンがロードする新たに形成された“参照された”画像のコーナに対して、ディスプレイされたデジタル画像内の現存するテキスチャの対応するポイントをバインドするのに、それらは用いられる。この新しい“参照された”画像は、キャプチャフレームの同じ寸法及びアスペクトを最初与えられ、同じ位置に現れる。その内容はまさに、その下に存在するものであり、新しい画像を目立たせるものであり、またアニメーションを与えられる。一つの実施形態では、このアニメーションは、１秒を越えて徐々に、ある因子により新しい画像のスケールを増大する。よって、キャプチャフレームがアクティブ化すると、新しい画像は下の画像から“成長する”ように見える。この振る舞いは図４Ａ−図４Ｄに示される。
【００４３】
更なる実施形態では、ルーティンは、元のデジタル画像ファイルから完全な詳細を得るが、これは“ズームイン”要求には特に有用である。この実施形態では、元のファイルがロードされると１０２４×１０２４を超えるテキスチャ詳細が廃棄されるという、改良が示される。つまり、より詳細には、ルーティンは、補助記憶装置のファイルを参照する。しかしながら、ルーティンは、選択フレームオブジェクトの下でエリアを構成する画像についての、クリッピング、スケーリング、回転、及び合成のための、グラフィックカードをもはや用いることができない。ルーティンは、オープンソース“ＩｍａｇｅＭａｇｉｃｋ”ツールキットからの“ｃｏｎｖｅｒｔ”などのプログラムを利用し、補助記憶装置のファイルを操作することによりこれらのタスクを実行する。
【００４４】
この実施形態では、ルーティンは、ディスクの画像ファイルへのアクセスを有し、参照画像をロードした後、ルーティンは、上述のように、“ＩｍａｇｅＭａｇｉｃｋ”からの変換プログラムのための３ステップ変換を策定する。このことは、（次のステージをスピードアップする）ローテーションの境界ボックスへのクロップ、ローテーションを含み、別のクロップが続く。これはディスク上の新しいファイルとなるが、これは、メモリ内のテキスチャではなく元の画像、即ち、利用可能な最も良いデータから作られる。オペレーションが完了すると、ルーティンは、補助記憶装置から、新たに形成された画像をリロードする。特にこの実施形態では、ルーティンは２度クロップする。クロップは回転よりもずっと早く実行されるオペレーションであり、よってルーティンは、回転を実行するのに要求される最小限のピクセル数まで下げるために、最初のクロップを実行する。その結果、回転された部分が最終のクロップの外部にある“廃棄部”が分かり、その後除去されることになる。オフ[０]．ｘ、オフ[０]．ｙ、・・・オフ[３]．ｘ、オフ[３]．ｙの値は、前述のテキスチャオフセット計算から見出された（夫々、[０．０、１．０]の範囲にある）テキスチャオフセットである。この実施形態の実装を示す方法として、実装の一つの方法のためのコードのリストが、表３（付属３、Ａｎｎｅｘｔｕｒｅ  ３）に示される。
【００４５】
図４Ａから図４Ｄを参照して、キャプチャシステムを利用するために、ユーザは、元のデジタル画像をテーブルトップディスプレイ４０２にディスプレイするように構成してもよく、このことは補助記憶装置から画像をロードすることにより為され得るのであり、プロジェクタはテーブルトップにデジタル画像をディスプレイする。一つの例では、ユーザは、３つの顕著な対象（例えば、家の３つの特徴）を含む特定の画像を選んでもよく、一つのみの対象の新しい画像を形成することを望んでもよく、壁のより良く定義された特徴などの、その一つの対象のためのより詳細を新しい画像に与えてもよい。ユーザは、スタイラス、ペン若しくは指を利用して、テーブルトップ上で選択フレームを引っ張ったりインプットで方向付けしたりすることで、特定の対象（例えば、壁）を超えて選択フレームを配置してもよい（４０４）。ユーザは又、スタイラス、ペン若しくは指によりフレームをなぞったりして、キャプチャルーティンを開始する命令を与える（４０６）。その際、選択フレームの下にあったエリアから成る新しいデジタル画像がロードされる（４０８）。この例では、選択フレームは全体としてデジタル画像内部にあったのであり、デジタル画像は補助記憶装置から再生されたので、新しいデジタル画像はより大きく且つより多くの詳細を有する（４１０）。ここで、元のデジタル画像は、フレームバッファに記録されているものよりもより解像度の高いファイルに記録されている。この新しいデジタル画像は、新しいファイルとして補助記憶装置に自動的にセーブされるのであり、更なるキャプチャ若しくは他の利用のための新しい画像として利用され得る対象のみから成る。この実施形態では、ユーザは、最小のステップで、デジタル画像の一部のキャプチャを迅速に生成することができる。新しい画像がファイルとしてディスプレイされセーブされるその容易さは、全体プロセスのために要求される基礎的インプットにより実演される。新しい画像は、テーブルトップの拡張構成でもディスプレイされ、更に詳細な視覚による調査が即座に可能になる。
【００４６】
図５Ａから図５Ｄに示されるように、ユーザは、テーブルトップディスプレイにディスプレイされる元のデジタル画像の組み合わせをキャプチャするようにしてもよい（５０２）。この例では、ユーザは、複数の画像をテーブルトップディスプレイ上に特定の順序で配置してもよい（５０４）。選択フレームを利用して、ユーザは、ディスプレイされる個々の元のデジタル画像の部分を囲むように、フレームを配置する（５０６）。ユーザは、選択フレームのサイズを変更し若しくは選択フレームを回転して、元のデジタル画像の各々をキャプチャしてもよい。元のデジタル画像の間にスペースが存在するので、選択フレーム内部に、テーブルトップの背景の一部があってもよい。フレームを配置して、ユーザは、キャプチャルーティンを開始する命令を与える（５０８）。選択フレームの下にあるテーブルトップの背景の部分を含む、選択フレームの下のエリアから成る新しい画像が、ロードされる（５１０）。選択フレームの全体が一つのデジタル画像の内部になかったら、バーチャルカメラを再配置して更にキャプチャされたコンテンツがテーブルトップディスプレイを埋めるように再描画した後に、新しいデジタル画像がフレームバッファから複製される。バーチャルディスプレイは、その元の位置に戻され、ディスプレイは、フレームバッファをアクティブ化する前に再び描画され、よって、この再配置はユーザには気付かれない。コーナからテーブルトップに向かって螺旋を描き、終には、ユーザが画像を選択できるテーブルトップで静止する画像のアニメーションとして、新しいデジタル画像は最初にディスプレイされる（５１２）。この新しいデジタル画像は、新しいファイルとして補助記憶装置内に自動的にセーブされ、更なるキャプチャ若しくは他の用途のための新しい画像として利用され得る。この実施形態では、ユーザは、最小数のステップで、複数のデジタル画像の複数部分の組み合わせキャプチャを迅速に生成できる。新しい画像がファイルとしてディスプレイされセーブされるその容易さは、全体プロセスのために要求される基礎的インプットにより実演される。新しい画像は、テーブルトップにディスプレイされる際にユーザが視覚的に追跡できるアニメーションプロセスによっても、ディスプレイされ得る。
【００４７】
上述のディスプレイは、投影された画像をディスプレイする表面の形態であったが、当然ながらディスプレイはどんな形態でもよい。例えば、ディスプレイはタッチスクリーンディスプレイの形態でもよいし、単に、キーボードやマウス等の従来のインプットによりディスプレイへのインプットが受けられる従来のディスプレイであってもよい。
【００４８】
要求されていないが、図面を参照して記載される実施形態は、開発者の利用のために、アプリケーションプログラミングインタフェース（ＡＰＩ）を経由して、若しくは、一連のライブラリとして、実装されてもよく、端末若しくはパーソナルコンピュータのオペレーティングシステム、又は、携帯式コンピュータデバイスのオペレーティングシステムなどの、別のソフトウエアアプリケーション内に含まれてもよい。一般に、プログラムモジュールは、特定機能を実施する若しくは特定機能の実施をアシストする、ルーティン、プログラム、オブジェクト、コンポーネント、及び、データファイルを含むのであり、当然ながら、ソフトウエアアプリケーションの機能は、複数のルーティン、オブジェクト及びコンポーネントに分散されて、既述の実施形態及び本明細書に記載の広範な発明と同じ機能が達成され得る。それらの変更及び修正は、当業者の視野の範囲内である。
【００４９】
【表１】
0005616223.tif 000002
【００５０】
【表２】
0005616223.tif 000003
【００５１】
【表３】
0005616223.tif 000004
【符号の説明】
【００５２】
１００・・・コンピュータシステム、１０２・・・ディスプレイ、１０４・・・ユーザインタフェース（テーブルトップ）、１２０・・・プロジェクタ、１２２・・・センサ。
【図１】
0005616223.tif 000005
【図２】
0005616223.tif 000006
【図３】
0005616223.tif 000007
【図４Ａ】
0005616223.tif 000008
【図４Ｂ】
0005616223.tif 000009
【図４Ｃ】
0005616223.tif 000010
【図４Ｄ】
0005616223.tif 000011
【図５Ａ】
0005616223.tif 000012
【図５Ｂ】
0005616223.tif 000013
【図５Ｃ】
0005616223.tif 000014
【図５Ｄ】
0005616223.tif 000015