(57)【特許請求の範囲】
【請求項１】
ａ）ユーザー動作を含む履歴を、前記履歴のイベントにリンクされる時間の関数の値と共に記録するステップ、
ｂ）ユーザー入力装置からの情報に基づき前記履歴内の所定の位置を特定するステップ、及び
ｃ）前記特定された位置に基づき前記履歴内のイベントの状態を表示するステップ
を有し、
前記ステップａ）において記録された前記履歴が、上昇／減少する時間の関数の値と一緒に記録される複数のイベントを有し、
前記ステップｂ）において、前記ユーザー入力装置からの情報が、前記上昇／減少する時間の関数の値に変換され、
前記ステップｃ）が、前記変換された上昇／減少する時間の関数の値に最も近い前後のイベントを前記履歴内において決定し、前記決定された前後のイベント及び補間アルゴリズムを用いて当該時間の関数の値に対応するイベントの状態を特定し、前記状態を表示するステップを有する、アンドゥ／リドゥ機構を提供する方法。
【請求項２】
前記上昇／減少する時間の関数は時間であり、前記関数の記録される値は時間の値である請求項１に記載の方法。
【請求項３】
前記記録される時間の値は、前記イベントのタイムスタンプである請求項２に記載の方法。
【請求項４】
前記記録される時間の値は、前記イベント間の時間ステップである請求項２に記載の方法。
【請求項５】
前記イベントは、ユーザー動作である請求項１に記載の方法。
【請求項６】
前記ステップｃ）は、前記上昇／減少する時間の関数の値に最も近い前記記録されたイベントを特定し、対応する前記状態を決定及び表示するステップを更に有する請求項１に記載の方法。
【請求項７】
前記ステップｂ）及びｃ）は、連続して行われる請求項１に記載の方法。
【請求項８】
コンピュータプログラムがコンピュータ上で実行されるとき、請求項１乃至７のいずれか１項に記載の方法の各ステップを実行するのに適したコンピュータプログラムコード手段を有するコンピュータプログラム。
【請求項９】
コンピュータ読み取り可能媒体に組み込まれる請求項８に記載のコンピュータプログラム。
【請求項１０】
請求項８に記載のコンピュータプログラムを坦持するキャリア媒体。
【請求項１１】
ａ）ユーザー動作を含む履歴を、前記履歴のイベントにリンクされる時間の関数の値と共に記録する記録手段、
ｂ）ユーザー入力装置からの情報に基づき前記履歴内の所定の位置を特定するための特定手段、及び
ｃ）前記特定された位置に基づき前記履歴内のイベントの状態を表示する表示手段
を有し、
前記記録手段に記録された前記履歴が、上昇／減少する時間の関数の値と一緒に記録される複数のイベントを有し、
前記特定手段が、前記ユーザー入力装置からの情報を、前記上昇／減少する時間の関数の値に変換し、
前記表示手段が、前記変換された上昇／減少する時間の関数の値に最も近い前後のイベントを前記履歴内において決定し、前記決定された前後のイベント及び補間アルゴリズムを用いて当該時間の関数の値に対応するイベントの状態を特定し、前記状態を表示する、アンドゥ／リドゥ機構を提供する装置。
【請求項１２】
医用装置である請求項１１に記載の装置。
【請求項１３】
電気生理学的処置を行うのに適している請求項１１に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アンドゥ(undo)／リドゥ(redo)機構を提供する方法、ソフトウェア及び装置に関する。
【背景技術】
【０００２】
アンドゥ／リドゥ機構は、多くのコンピュータアプリケーションのユーザーインタフェースに設けられている。これら機構は、前記アプリケーションに命令を１つずつ逆に連続して元に戻させるアンドゥボタンを繰り返し押すことにより先に実行した作業を"元に戻す（アンドゥする）"ための機能を備える。この点に関して、ユーザー動作の履歴は、このコンピュータのアプリケーションにより記憶される。アンドゥ命令を含む大部分のユーザーインタフェースは、たった今アンドゥした最後の命令をユーザーが繰り返す（リドゥする）ことを可能にするリドゥ命令も含む。このようにして、適当な地点に戻るまで、ユーザーはアンドゥボタンを繰り返し押すことができ、戻り過ぎた場合、すなわち、たった今アンドゥした作業をリドゥすると決めた場合、リドゥボタンを使用することができる。前記履歴内を移動するためにマウスのクリックを使用する代わりに、履歴のリストをスクロールし、そこ（ウェブブラウザ履歴）から項目を選択することも知られている。アンドゥ／リドゥは、限られた量のアンドゥ／リドゥ動作に対し上手く働く。この動作の数が多すぎる場合、例えば調査、探査、測定又は描画時に起こるような、連続的な変化の場合、不連続な動作内を移動することによるアンドゥは実行不可能となる。
【０００３】
本発明の目的は、連続的な変化を備えるアプリケーションに特に適切である、改良した方法及び装置を提供することである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明のこの及び他の目的は、請求項１に記載の方法、請求項１１に記載のコンピュータプログラム及び請求項１４に記載の装置により達成される。好ましい実施例は、従属請求項２から１０、１２、１３、１５及び１６により定義される。
【０００５】
本発明のある態様によれば、連続的なアンドゥ／リドゥ機構を提供する方法が供給される。その方法は、連続的な可逆性のユーザー動作に基づく履歴を記録するステップ、連続的なユーザー入力装置、例えばスライダー又はノブを用いて前記履歴内を移動するステップ、並びに前記連続的なユーザー入力装置の位置に基づく前記履歴の中間状態を特定及び表示するステップを有する。連続は、本発明に従ってユーザーが所望の精度で動作をアンドゥ／リドゥするので、如何なる所望の程度に近付けられる。内部のコンピュータ表示の限られた正確さは、連続の正確さを限定する。しかしながら、本記述における"連続的な"アンドゥ／リドゥ機構という用語の使用は、このアンドゥ／リドゥ機構がユーザーにより連続だと知覚されることを意味する。
【課題を解決するための手段】
【０００６】
本発明は特に、固有の粒度を持たない全てのアプリケーションに有用である。現在知られている全てのアンドゥ／リドゥ機構は、これら機構が行動のスナップショット(snapshot)を撮り、これら行動を連続に記録しないことにより、多くの履歴を処分するという意味では不十分である。本発明が有利に使用されるアプリケーションの実施例は描画／スケッチである。描画／スケッチを行うとき、ユーザーは例えばストロークの終端のような間違いをアンドゥしたいと思い、これによりユーザーが満足するまで、このストロークを効果的に連続して短くする。他の実施例は探査である。探査は、心臓の心房壁における異常なタイミング行動の位置を見つけるために、カテーテルを上下左右に動かすことにより、例えば心臓の不整脈の根源の位置特定に使用される。探査人は、自分が間違った進路上にいると判断し、代わりの探査ルートを探すために、ある時点に引き返したいと思う。
【０００７】
米国特許番号US6,459,442B1は、図１２において、イベントの履歴において時点を特定するための時間スライダーツールの使用を開示している。しかしながら、この特許において開示されるアンドゥ／リドゥ機構は不連続である。完全なストロークの削除及びストロークの収集を単に可能にしている。
【０００８】
好ましくは、本発明において、記録された前記履歴は、上昇／減少する時間の関数の値と一緒に記録される複数のイベントを有する。例えばスライダー又はノブからのアナログ入力のような連続的なユーザー入力装置の位置は、この上昇／減少する時間の関数の値に変換される。中間状態は、前記値に基づいて特定及び表示される。イベントの順序は保たれている、前記履歴のイベントと一緒に十分にスムースな単調に上昇／減少する時間の関数の値の記録は、本発明による連続的なアンドゥ／リドゥ機構を実施する非常に効果的な方法である。
【０００９】
上昇／減少する時間の関数は時間自身であり、この記録される関数の値が時間の値でもよい。この実施例は実施するのが簡単である。前記時間の値は、イベントのタイムスタンプ又はこれらイベント間における時間ステップのどちらか一方でもよい。
【００１０】
アンドゥ／リドゥ機構のために履歴を記録する方法は基本的に２つある。第１の方法は、可逆性のユーザー動作及び場合によって外部のイベントを記録することである。アンドゥを可能にするためだけに特に必要とされる情報で増えるユーザー動作が存在する。実施例はゲームの場合であり、レースゲームにおいてクラッシュから復帰するために、ユーザー動作だけでなく、例えばゲームにおける現在のオブジェクトの位置及び速度のようなゲームの状態も記録する必要がある。前記外部の値が測定値でもよい。これの実施例は、心臓の不整脈の根源の位置特定に使用される上述した探査処理である。
【００１１】
第２の方法は、全ての中間状態を記録することである。この第２の方法は、探査アプリケーションの場合に有用であるが、描画／スケッチにはあまり有用ではない。このようなアプリケーションにおいて、各々の中間状態は多くのデータを有し、これは恐らくは遅い反応の原因となる。
【００１２】
記録された履歴は連続でもよい。本発明に関し、連続する履歴は、記録されたタイムスタンプ付きのイベントは最も小さい知覚できるユーザー動作に対応していることを意味している。オブジェクトが移動する場合、これはディスプレイの解像度また代わりに例えばマウスのようなユーザー入力装置の精度によって決まる。
【００１３】
他の実施例によれば、上昇／減少する時間の関数の決められた値に最も近い記録されたイベント及び対応する中間状態が特定及び表示される。記録された履歴が連続である場合、このように、ユーザーにより連続だと知覚されるアンドゥ／リドゥ機構が提供される。
【００１４】
代替実施例によれば、上昇／減少する時間の関数の値に最も近い前後のイベントが決められる。補間アルゴリズムは、前記値に対応する中間状態を特定するのに用いられる。この代替実施例によれば、記録された履歴は連続である必要はなく、これにより、少数のイベントの記録を可能にする。このようにして、少ないメモリが必要とされ、早い反応が可能である。本実施例は特に、例えば直線を描く又はオブジェクトを直線的に移動させるような"予測がつく"ユーザー動作の場合に有用である。もちろん、記録されたイベントの密度は、それが必要とされる精度に影響を及ぼすので、低すぎる選択をするべきではない。
【００１５】
他の好ましい実施例において、前記履歴内を移動している間、連続的なユーザー入力装置の位置に最も近い状態が連続して示される。そのように、ユーザーは、キーを押す又はマウスのボタンをクリックする等により、所望の履歴の状態を選択する必要はない。このようにして、ユーザーは所望する位置に正確に移動するのに必要な情報を常に直接提供される。
【００１６】
好ましくは、本発明の方法はコンピュータプログラムを用いて実施される。
【００１７】
本発明の他の態様によれば、可逆性のユーザー動作に基づく履歴を記録する記録手段、この履歴内を移動するための連続的なユーザー入力装置、並びにこの連続的なユーザー入力装置の位置に基づく前記履歴の中間状態を特定及び表示する特定及び表示手段を有するアンドゥ／リドゥ機構を提供する装置が供給される。
【００１８】
好ましくは、前記装置は電気生理学的処置を行うための医用装置である。電気生理学的処置において、本発明による装置により提供されるように、連続的なアンドゥ／リドゥ機構を可能にするユーザーインタフェースに強く必要とされている。
【００１９】
本発明のこれら及び他の態様は、以下に記載される実施例から明らかであると共に、これら実施例を参照して説明される。
【００２０】
本発明は、よりよく理解され、本発明の多くの目的及び利点は、以下の図面を付随する明細書と一緒に参照することにより当業者には明らかとなるであろう。
【図面の簡単な説明】
【００２１】
【図１】本発明による方法を実施するのに使用されるメモリ構造を示す。
【図２】本発明による方法で用いられるスライダーを示す。
【図３】本発明による方法が有利に実施されている第１の応用を示す。
【図４】本発明による方法が有利に実施されている第２の応用を示す。
【発明を実施するための形態】
【００２２】
本発明に従って、連続的なアンドゥ／リドゥの方法が提供される。この方法は、コンピュータに読み込まれたコンピュータプログラムを用いて実施される。
【００２３】
この方法に従って、可逆性のユーザー動作に基づいた履歴が記録される。この履歴は複数のイベントで構成される。履歴を記録する方法は基本的に２つある。
【００２４】
第１の方法は、可逆性のユーザー動作及び場合により外部イベントを記憶することである。場合によってアンドゥすることを単に可能にするのに特に必要とされる情報を用いて強化されるユーザー動作がある。実施例はゲームの場合であり、レースゲームでクラッシュから復帰するために、ユーザー動作だけでなく、ゲームの状態、例えばこのゲームにおけるオブジェクトの位置及び速度も記憶する必要がある。外部の値は、測定値でもよい。これの実施例は、心臓の不整脈の根源の位置特定に使用される上述した探査手順である。
【００２５】
第２の方法は、全ての中間状態を完璧に記録することである。
【００２６】
図１は、前記履歴を記録するステップを実施するのに使用されるメモリ構造１０を概略的に示す。このメモリ構造１０は、前記履歴のイベントを記憶するための第１の部分２０を有する。これら履歴のイベントは、前記実施に応じて、ユーザー動作又は中間状態のどちらか一方である。前記メモリの第２の部分３０において、上昇する時間の関数の値が記憶され、これら値は第１の部分２０にある前記履歴のイベントとリンクしている。代わりに、減少する時間の関数の値が使用されてもよい。これら記憶された値は、前記履歴のイベントに対応する関数の値であるか又は前記イベント間のステップ値である。この上昇する時間の関数は、実施が簡単であるという理由で単純に時刻そのものでもよい。この場合、イベント又はこれらイベント間の時間ステップに対応するタイムスタンプが記憶される。しかしながら、如何なる他の十分にスムースな単調に上昇する時間の関数が使用されることも可能であり、ここでユーザーイベントの順番は保たれる。これの実施例は、多くのユーザーイベントからなる期間では比較的早く増大し、少ししかないユーザーイベントからなる期間ではゆっくりと増大する時間の関数である。これは、ユーザーが履歴内を移動するとき、この履歴における"静かな"期間を素早く通過することを可能にする。
【００２７】
前記方法はここでさらに、前記上昇する時間の関数が時刻そのものであり、前記履歴のイベントは、対応するタイムスタンプと一緒に記録される場合に対し説明される。
【００２８】
第１の実施例によれば、記録された履歴は連続である。これは、前記記録されたタイムスタンプ付きのイベントは最も小さい知覚できるユーザー動作に対応していることを意味している。オブジェクトが移動する場合、これはディスプレイの解像度又はマウスのようなユーザー入力装置の精度によって決まる。
【００２９】
図２に示される、履歴内を移動する連続的なユーザー入力装置４０がユーザーに提供される。示されるユーザー入力装置４０はスライダーであるが、例えばノブのような連続的なユーザー入力装置が使用されてもよい。ユーザーは、このスライダーを移動させることにより、前記履歴を順方向又は逆方向に移す。ユーザーが逆方向に移す場合、これは、アンドゥされた以前の動作の全てをもたらす。ユーザーが順方向に移す場合、以前にアンドゥされた如何なる動作が再度リドゥされる。このスライダーは、物理的な装置として実施されてもよいが、グラフィカルユーザーインタフェース上のボタンとして実施されてもよい。
【００３０】
前記スライダーからのアナログ入力はある時点に変換される。アンドゥ機構は、選択した時点に最も近い記憶したユーザー動作又は中間状態を特定する。
【００３１】
近似の如何なる測定も原則的に使用されることができる。基本的に、前記時点は、ユーザーが因果関係及び連続感を保つために、状態に関する近似ではなく、時間に関する近似を用いることである。前記システムは、その時点にある中間状態を表示する。
【００３２】
前記システムは、前記履歴内を移動している間、前記選択した位置に最も近い状態を連続して示す。このようにして、ユーザーは、例えばキーを押す又はマウスのボタンをクリックするような他のユーザー入力動作により、選択した中間状態を稼動させなければならないことが避けられる。
【００３３】
開示した方法によれば、ユーザーが連続だと知覚されるアンドゥ／リドゥ機構が提供される。
【００３４】
代替実施例において、前記スライダーの位置に対応する時点よりも前の一番近くにあるタイムスタンプ付きのイベントが決められ、前記スライダーの位置に対応する時点よりも後の一番近くにあるタイムスタンプ付きのイベントが決められる。補間アルゴリズムはこのとき、この時点に対応する中間状態を特定するのに用いられる。この中間状態は表示される。これは、記録された履歴のイベントの密度が減少することを可能にする。これの代替実施例は、例えばオブジェクトを一直線に移動する、直線を描く又はオブジェクトを回転するような、幾つかのユーザー動作にとって、高密度の記録した履歴を持つ必要は無い。これらの動作の予測可能性により、依然としてユーザーが連続だと知覚されるアンドゥ／リドゥ機構を提供する補間が用いられる。さらに、ユーザーは、実際には記録されなかった状態（の近く）にさえ戻ることができる。
【００３５】
補間の使用は、前記履歴が収拾不可能になるほど大きくなるのを防ぐために、時間経過による時間分解能の低下を可能にする。つまり、古い履歴の部分は、最近の履歴に必要な時間分解能を必要としない。例として、直前の１０秒は１０ミリ秒間隔で記録され、それより前の直前の１００秒は１００ミリ秒間隔で記録され、それより直前の１０００秒は１秒間隔で記録される等である。
【００３６】
前記方法は、自然粒度(natural granularity)を持たない全てのアプリケーションに使用される。これの実施例は、医療システムの分野及び特に電気生理学的処置の分野である。電子生理学的処置の実施例は、心臓の不整脈の根源の位置特定である。これは、心臓の心房壁において、異常なタイミング行動を持つ位置を見つけるためにカテーテルを上下左右に動かすことにより行われることができる。これは通常、（根源に近いほど、活性化の時間が早くなる）心臓の組織の活性化の相対的なタイミングを異なる位置で繰り返し測定することにより行われる。図３は、カテーテルが上下左右に動かされる医療システムのブロック図を概略的に示す。前記カテーテル１００の他に、前記システムは、プッシュワイヤ１１０及び駆動機構１２０を有する。医療スタッフは、コンピュータ１３０に命令を発することにより前記動きを制御する。このコンピュータは、カテーテルの位置を示すためのディスプレイ１４０並びにとりわけカテーテルを動かすためのキーボード１５０及びマウス１６０から構成される入力手段を有する。さらに、連続的なアンドゥ／リドゥのためのスライダー４０も有する。前記コンピュータ１３０は、例えばプロセッサ、メモリ等のような他の既知の要素（図示せず）も有する。
【００３７】
不整脈の根源を位置特定するためのカテーテルの動きは、バックトラッキングが非常に重要である探査処理である。オペレータは、自分が間違った進路上にいて、まだＯＫだった分かっている地点まで戻る必要があると判断し、その後代わりの探査ルートを出発する。
【００３８】
前記方法は、医療分野における他の応用、例えば位置合わせ(registration)にも有利に使用される。位置合わせとは、異なる線源（例えばＸ線及びＭＲ）による２つの画像にある解剖学的特徴が重なるように、これら画像の位置を調整する処理である。これは本質的に、ユーザーフィードバックを与えるために２Ｄ投影（図形表示）を使用して、６段階の自由度（３つの平行移動＋３つの回転）に沿って３Ｄオブジェクトを動かすることを含んでいるため、これはユーザーにとって難しい作業である。
【００３９】
これは図４において概略的に示される。図４は二次元のオブジェクト５０及び三次元のオブジェクト６０を示す。ユーザーは、ＣＴオブジェクト５０を矢印７０で示されるように連続尺度で移動させ、ＭＲＩオブジェクト６０を矢印８０で示されるように連続尺度で移動させる。この移動は、例えばマウスを用いてオブジェクトを選択し、これらオブジェクトをドラッグするような既知の方法でユーザーにより行われる。この図において、前記連続移動の間、両方のオブジェクトの多数の異なる位置が示されている。最後に、ここで説明されるような前記連続的なアンドゥ／リドゥ機構は、他のオブジェクト上に完璧にマッピングされるまで、これらオブジェクトの１つを連続尺度で微調整するのに有利に用いられる。
【００４０】
本発明はさらに、例えばハイキングのような（ＧＰＳ装置が常に全ての移動を記録する）探査を含む応用に利用されることができる。上述した方法を用いて、ユーザーは、前記移動の最後の部分（道を誤った場所）を消去することができ、最後に分かっている正しい地点に戻るために遡る。
【００４１】
他の応用は、多次元（"芸術的"）設計である、つまり多次元のパラメタ設計を操作するとき、移動処置に対し説明したのと同じことが起こり得る、つまり"ちょうどよい"設計は通過し、ユーザーは操作を止めるのが遅すぎる。
【００４２】
もちろん、前記方法は描画／スケッチのアプリケーションにも使用されることができる、つまり描画又はスケッチするとき、ユーザーは、例えばストロークの終端のような間違いをアンドゥしたいと思い、これによりユーザーが満足するまで、このストロークを連続して短くする。
【００４３】
前記方法が使用される他の応用はコンピュータゲーム／シミュレーションであり、つまり多くのゲームにおいて、ユーザーは、特定の時点に後退することができる"ゲームのセーブ"を使用する。これは、迷惑な行為（あなたのゲームをセーブするのを忘れる、ゲームのセーブは余計な作業である、ゲームから気をそらすこと）であり、これは本発明の方法を用いて回避することができる。
【００４４】
正しい方向に向ける制御を用いて、ユーザーがゲームの再開を可能にすることが重要である。レーシングゲームでユーザーが自分の車をクラッシュさせた場合、上述した方法を用いて、ユーザーはその動作に逆行することができる。しかし、一旦ゲームが再開されると、車輪が正しい方向に向いている及び加速ペダルがちょうど正しい量で押されている等を保証する必要がある。解決法は力フィードバック技術、つまりゲームを再開する前に、車輪を正しい方向に回す及びペダルを正しい深さまで移動させることである。
【００４５】
当業者は気付いているように、本発明に記載の革新的な概念は、広い範囲のアプリケーションにわたり改良及び変化されることができる。
【００４６】
従って、本発明の範囲は、論じた如何なる特定の例示的な技術にも限定されず、代わりに以下の特許請求の範囲により定義される。
【００４７】
請求項における如何なる参照符号もこれら請求項の範囲を限定するとは考えない。
【図１】
0005898830.tif 000002
【図２】
0005898830.tif 000003
【図３】
0005898830.tif 000004
【図４】
0005898830.tif 000005