JP2004506280A - イメージおよびイメージ遷移の表示 - Google Patents
イメージおよびイメージ遷移の表示 Download PDFInfo
- Publication number
- JP2004506280A JP2004506280A JP2002518452A JP2002518452A JP2004506280A JP 2004506280 A JP2004506280 A JP 2004506280A JP 2002518452 A JP2002518452 A JP 2002518452A JP 2002518452 A JP2002518452 A JP 2002518452A JP 2004506280 A JP2004506280 A JP 2004506280A
- Authority
- JP
- Japan
- Prior art keywords
- value
- transition
- image
- destination
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000007704 transition Effects 0.000 title claims abstract description 280
- 238000000034 method Methods 0.000 claims abstract description 87
- 230000003068 static effect Effects 0.000 claims abstract description 58
- 230000006870 function Effects 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 9
- 230000008859 change Effects 0.000 claims description 14
- 230000009471 action Effects 0.000 description 58
- 230000000007 visual effect Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 11
- 241001465754 Metazoa Species 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000013459 approach Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 8
- 238000012805 post-processing Methods 0.000 description 7
- 229910003460 diamond Inorganic materials 0.000 description 6
- 239000010432 diamond Substances 0.000 description 6
- 230000003252 repetitive effect Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 3
- 238000010200 validation analysis Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 241000282979 Alces alces Species 0.000 description 1
- 241000282994 Cervidae Species 0.000 description 1
- 208000033748 Device issues Diseases 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 241001536374 Indicator indicator Species 0.000 description 1
- UVXCXZBZPFCAAJ-UHFFFAOYSA-N arc-111 Chemical compound C1=C2OCOC2=CC2=C(N(CCN(C)C)C(=O)C3=C4C=C(C(=C3)OC)OC)C4=CN=C21 UVXCXZBZPFCAAJ-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 210000000349 chromosome Anatomy 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/80—2D [Two Dimensional] animation, e.g. using sprites
-
- G06T3/18—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/44—Morphing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S345/00—Computer graphics processing and selective visual display systems
- Y10S345/949—Animation processing method
- Y10S345/959—Object path adherence
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S345/00—Computer graphics processing and selective visual display systems
- Y10S345/949—Animation processing method
- Y10S345/96—Iterative display of preconfigured images
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
Description
本特許は、DYNAGLYPHS社のためにRabbが2000年8月3日に出願した米国特許仮出願第60/223,295号に対する優先権を主張し、その全体を参照により本出願に組み込む。
【0002】
(発明の背景)
本発明は、イメージの表示(display)に関するものであり、より具体的には、値集合(value set)の一方のメンバーと値集合の他方のメンバーとの間の遷移(transition)を表示(display)することに関する。さらに具体的には、本発明は、値集合の第1のメンバーと値集合の第2のメンバー(値集合の第1のメンバーと同じメンバーであってもよい)との間の一意的遷移を表示することに関するものであり、値集合は複数のメンバーを含み、一意的遷移は値集合の第1のメンバーと値集合の第2メンバーの関数として一意的に定義される。
【0003】
写真などの静止イメージをその静止イメージのデジタル表現に変換できることは、当技術分野で知られている。同様に、動イメージ、すなわちビデオイメージをデジタル表現に変換することも当技術分野で知られている。通常、たとえば、コンピュータ・システム上のデジタル表現では、ビデオ・イメージは一連の静止イメージとして取り込まれる。各静止イメージは、ビデオ・イメージの一瞬をキャプチャ(とらえる)する。視聴者にとっては一連の静止イメージの高速表示により動いているように見える。
【0004】
多くの場合、ビデオ・イメージの第1の集まりは、ビデオ・イメージの第2の集まりに連続的に合併または遷移される。一方のビデオ・イメージから第2のビデオ・イメージへの遷移を作り出すために使用される、当技術分野で知られている一般的な手法を「スイッチ(switch)」と呼ぶ。このような「スイッチ」としては、カット(cut)、ワイプ(wipe)、フェード(fade)、およびプッシュ(push)がある。スイッチングは、テレビの生中継、たとえば、ニュース放送のときに天気予報番組の担当者からスポーツ番組の担当者にスイッチする場合に、使用されることに留意されたい。
【0005】
上述のように、デジタル表現内のビデオ・イメージは通常静止イメージ・シーケンスである。遷移を生み出すために処理されるのがこれらの静止イメージ・シーケンスである。
【0006】
しかし、これまで、ある静止イメージ(またはあるビデオ・イメージ)から別の静止イメージ(または別のビデオ・イメージ)への遷移は、一方の静止イメージ(または一方のビデオ・イメージ)または他方の静止イメージ(または他方のビデオ・イメージ)の関数として実行されておらず、むしろ、他方の静止イメージ(またはビデオ・イメージ)へと一方の静止イメージ(または一方のビデオ・イメージ)の単一、特定の操作を実行していた。たとえば、ワイプの場合、他方の静止イメージ(または統合のビデオ・イメージ)が他方の静止イメージ(または一方のビデオ・イメージ)上をワイプし、一方の静止イメージ(または一方のビデオ・イメージ)を置き換える。これは、一方の静止イメージ(または一方のビデオ・イメージ)および他の静止イメージ(または他のビデオ・イメージ)と無関係に全く同じ方法で実行される。
【0007】
たとえば、イメージ・シーケンス間の遷移を行うための方法および装置は米国特許第5353391号で開示されている。‘391特許では、コンピュータ制御表示システム上で第1のイメージ・シーケンスと第2のイメージ・シーケンスとの間の遷移を生成し、表示するための方法と装置を開示している。ここで説明している方法は、いくつかのステップを必要とし、これらは、通常コンピュータ・システムに格納されるデジタル化された第1と第2のイメージ・シーケンスを提供するステップと、第1と第2のイメージ・シーケンスの間で遷移を行う合計時間の持続時間を与えるステップと、第1と第2のイメージ・シーケンスの間の遷移を指定する遷移リソースを与えるステップと、第1のイメージ・シーケンスの第1の部分(第1の部分は持続時間が遷移の持続時間以内である)を決定するステップと、第2のイメージ・シーケンスの第2の部分(第2のイメージ・シーケンスの第2の部分は持続時間が遷移の持続時間以内である)を決定するステップと、遷移リソースから遷移テンプレートを作成し、遷移テンプレートの持続時間が遷移に等しいステップと、第1のイメージ・シーケンスの第1の部分および第2のイメージ・シーケンスの第2の部分と遷移テンプレートとを組み合わせ、第3のイメージ・シーケンスを生成するステップを含む。遷移リソースから遷移テンプレートを作成するステップはさらに、オブジェクトを選択するステップと、オブジェクトおよび/またはソース・イメージ領域の補間を行うステップと、オブジェクトをソース・イメージ領域にマッピングするステップを含む。ステップを組み合わせることで、遷移テンプレートを使用し、第1のソース・シーケンス、第2のソース・シーケンス、またはその両方のうちのどの部分を第3のイメージ・シーケンス内に表示するかを決定する。さらに、遷移全体の持続時間を修正する手段または遷移内の個別フレームの持続時間を修正する手段も提供する。
【0008】
そこで、上で示したように、現在のところ、値集合の中の各値から値集合の中の他の値への使用可能な遷移からなるマトリックス全体について、一意的な遷移を完全に列挙するアニメーション化インジケータ(animated indicator)はない。つまり、今のところ、一方の静止イメージ(または一方のビデオ・イメージ)から他方の静止イメージ(または他方のビデオ・イメージ)への遷移が一方の静止イメージ(または一方のビデオ・イメージ)または他方の静止イメージ(または他方のビデオ・イメージ)の関数として実行されるアニメーション化インジケータはない。
【0009】
使用可能な遷移の部分集合を列挙するアニメーション化インジケータは存在し、そして上述のように、これらアニメーション化インジケータは、何らかの値から別の値への遷移を行う安価な汎用的な手段を提供する。
【0010】
本発明は、上述の要求や他方の要求に、都合よく、対処する。
【0011】
(発明の概要)
本発明は、値集合の一方のメンバーから値集合の他方のメンバーへの遷移を表示し、値集合は複数の値を含み、遷移が値集合のメンバーおよび値集合の他のメンバーの関数として定義される、システムおよび方法を提供することにより、上記の要求、さらに他の要求に、有利に対処する。
【0012】
一実施形態では、本発明は、複数のソース値(source value)を含むソース値集合からソース値を受け取るステップと、複数のデスティネーション値(destination value)を含むデスティネーション値集合からデスティネーション値を受け取るステップと、受信されたソース値と受信されたデスティネーション値の関数路として遷移シーケンスを生成するステップ、を備える方法として特徴づけることができる。
【0013】
他の実施形態では、本発明は、ソース値を表すイメージを表示するステップ、デスティネーション値を表すイメージを表示するステップ、および遷移イメージを表示するステップを備える方法として特徴づけることができ、遷移イメージがソース値とデスティネーション値の関数であることを特徴とする。
【0014】
さらに他の実施形態では、本発明は、グラフィックス表示装置、メモリ、タイミング装置、および、これらメモリ、タイミング装置、およびグラフィックス表示装置に結合された処理装置、を備え、処理装置は第1の静的値から第2の静的値に遷移を提供するように構成され、遷移は第1の静的値と第2の静的値の関数であることを特徴とする。
【0015】
さらに他の実施形態では、本発明は、メモリを備える装置として特徴づけることができ、メモリはソース値からデスティネーション値への遷移を提供するように構成されたコードを備え、遷移はソース値とデスティネーション値の関数であることを特徴とする。
【0016】
他の実施形態では、本発明は、ソース値グループを作成するステップと、デスティネーション値グループを作成するステップと、ソース値グループの一メンバーからデスティネーション値グループの一メンバーへの遷移を作成するステップを備える方法として特徴づけることができ、遷移はソース値グループのメンバーとデスティネーション値グループのメンバーの関数であることを特徴とする。
【0017】
さらに他の実施形態では、本発明は、複数の下位グリフを備える第1のグリフを表示するステップ、下位グリフを操作するステップ、第2のグリフを表示するステップを備える、イメージを表示する方法として特徴づけることができる。
【0018】
他の実施形態では、本発明は、ソース値を生成するステップ、複数のデスティネーション値を生成するステップ、およびソース値からデスティネーション値への個々の遷移を生成するステップを備える、イメージを表示する方法として特徴づけることができる。
【0019】
他の実施形態では、本発明は、複数のソース値を生成するステップ、デスティネーション値を生成するステップ、およびソース値のそれぞれからデスティネーション値への個々の遷移を生成するステップを備える、イメージを表示する方法として特徴づけることができる。
【0020】
本発明の上記の態様および他の態様、特徴、および利点は、以下の図面とともに提示されている以下のさらに具体的な説明から明白になるであろう。
【0021】
対応する参照文字は、複数の図面全体を通して対応するコンポーネントを示している。
【0022】
(好ましい実施形態の詳細な説明)
現在考察している最も良い本発明の実施方法についての以下の説明は、制限するものと解釈されるべきものではなく、単に、本発明の一般的な原理を説明することを目的として、作成されている。本発明の範囲は、請求項を参照することに決定されるべきである。
【0023】
本発明の実施形態は、アニメーション化インジケータを使用し表示する新しいプロセッサ実装システムと方法である。アニメーション化インジケータは、静的値(または静止イメージ)、または一方の静的値(または一方の静止イメージ)から他方の静的値(または他方の静止イメージ)への遷移を表示する。
【0024】
静的値(または一方の静的値から他方の静的値への遷移で表示される中間値)は、複数の表示オブジェクトから構成される。これらの表示オブジェクトはそれぞれ、グリフと呼ばれる目に見えるシンボル、または一方のグリフから他方のグリフへの遷移を表示する。それぞれのグリフは、複数のグリフからなるアルファベットの一意的メンバーである。アルファベットのグリフは、2つ以上のメンバーから構成される。複数のグリフは、1つのシンボル、コード、またはインデックスを表すことができる。通常、これらは数字、英数字、またはその他の特殊文字を表す。
【0025】
複数のグリフからなるすべてのアルファベットは、それに関連付けられた複数のアニメーション・スタイルを有することができる。アニメーション・スタイルは、静的な場合にそれぞれのグリフの特定の視覚的表現を定義し、それぞれのグリフから他方のグリフへの遷移の集合を定義する。まとめると、複数のグリフからなるグループは、インジケータによって表示されるべき値を表現するのに使用される。値の視覚的表現は、表示される値を構成する表示オブジェクトのグリフの集合的スタイルにより決定される。
【0026】
インジケータは、さまざまな遷移状態にある前記値を構成する複数の表示オブジェクトを指し示すことにより、一方の値から他方の値への遷移を表示する。インジケータ、それが構成する表示オブジェクト、およびアニメーション・スタイルは、インジケータ・モデルと呼ばれる。
【0027】
複数のグリフからなるアルファベットがあるのと全く同様に、インジケータによって表示され得る有効な値の集合もある。この集合は、ここにおいては、有効値集合と呼ぶ。最大でも、この集合は値を構成するN個のグリフと、アルファベットのグリフを構成するM個のグリフとのすべての順列からなる。この集合は、完全値集合(complete value set)と呼び、M^N個のメンバーを含む。通常、有効な値集合はカウンタ、タイマー、またはクロックのすべての値、または人間の言語アルファベットの(大文字または小文字のいずれかまたは両方)文字からなるテキスト単語の集合からなる。
【0028】
本発明の実施形態により、アニメーション・スタイルは、値の表現を構成する複数のグリフのそれぞれに対して設定することができる。これらは、個別に設定することもグループとして設定することもできる。本発明の実施形態は、指定されたアニメーション時間インデックスで、複数のグリフを既存のアニメーション・スタイルに、または入力内に含まれる新しく指定したスタイルに、変更する入力を受け取ることができる。入力は、アニメーションの開始前、またはリアルタイムでインジケータが遷移を実行中のときに受け取ることができる。
【0029】
本発明の実施形態はさらに、次のような特徴を備えるのが好ましい。つまり本実施形態は、有効値集合内の任意の値から他の任意の値への使用可能なすべての遷移を表示することができること(値集合の遷移は、シーケンシャル部分集合、ランダム部分集合、または完全値遷移集合の他の任意の部分集合、に制限されない)。本実施形態は、インジケータが値集合内の値のどれに対する遷移を実行すべきかを指定する入力を、受け取ることができること(インジケータは、他の値を通じて遷移することなく進行する、という点で一意的に連続的に指定された値への遷移を実行し、インジケータは完全値遷移集合で遷移を直接実行できる)。本実施形態は、指定された値、現在値、または将来の値から、他の指定された値への遷移、その際に特定のアニメーション時間インデックスから始めること、別のアニメーション時間インデックスで終了することを、インジケータに指定する入力を受け取ることができること(入力は、アニメーションが開始する前、またはリアルタイムでインジケータが遷移の実行中に受け取ることができる)。本実施形態は、指定されたアニメーション時間インデックスに、または指定されたアニメーション時間インデックスの範囲にわたって、インジケータ・モデルの複数のプロパティ(特性)を変更する入力を受け取ることができること(入力は、アニメーションが開始する前、またはリアルタイムでインジケータ遷移の実行中に受け取ることができる)。すべてのグリフ遷移は、相互に一意的なスタイルにより定義することができること(グリフ遷移は、スタイルによって定義された他のグリフ遷移と視覚的に一致しない)。完全値遷移集合内のすべての値遷移は相互に一意的なものとすることができること(値遷移は、他の値遷移と視覚的に一致しない)。それぞれのグリフ遷移は、開始および停止グリフ・ペアに一意的に固有のものとすることができること(すべてのグリフ遷移は、グリフ・ペアの視覚的な表現(visual manifestation)に依存するだけでなく、遷移に固有の方法および/またはデータにも依存する)。すべての遷移には、汎用でない異様な形に変える手段、つまりグリフから他のグリフへの遷移を実行するのと全く同じ方法で適用できるような手段、を包含することができ、このような汎用の手法の例として、フェード・インおよびフェード・アウト、シマーリング(shimmering)、スパークリング(sparkling)、単純なスクロール、またはその他のラスター・ベース変換があること。値遷移のいかなる時点でも、遷移の開始または停止値がそれぞれの停止または開始値の境界領域にわたって単純に変換されているように見えるように、インジケータは視覚的表現を表示することはしないこと。すべてのグリフ遷移は、単一の一意的な連続的遷移であるか、または中間状態を介して3つまたはそれ以上の連結された独立の部分的遷移を使用することができること(これらの部分的遷移は、他の完全なグリフ遷移を形成する際に共有できる)。グリフ遷移が中間状態を介して2つの独立の部分的遷移の連結を包含する場合、この中間状態は完全なグリフ遷移を形成する際に他のすべてのグリフ遷移により共有されないこと。
【0030】
これらの特徴を実現するインジケータをここではダイナメート化インジケータとして引用される。
【0031】
グリフの視覚的表現をモデル化する本実施形態による手法の新規性のある組み合わせは、M^2個の遷移を完全に指定し、遷移指定情報を格納するために必要な作業量を大幅に低減する。主要な手法は、シンボルのスタイルの表現を構成する共通の視覚的下位要素の階層的分解にある。
【0032】
まず図1を参照すると、本実施形態による装置はプロセッサ(CPU)100、タイミング装置102、メモリ装置104、グラフィックス表示装置106、アプリケーション・ソフトウェア108、およびソフトウェア・エンジン110で構成される。アプリケーション・ソフトウェア108は、ソフトウェア・エンジン110が本実施形態の原理により値の表示を管理する間、この装置の目的および機能の全体、つまり実質的に全体的な目的および機能とすることができるビジネス方法を実現する。アプリケーション・ソフトウェア108により実行される全体的な目的および機能は、本実施形態には本質的なものではなく、その代わり、本実施形態に本質的なものはインジケータの表示に集中する。
【0033】
ソフトウェア・エンジン110は、インジケータ・モデルを管理し、アプリケーション・ソフトウェア108により使用される。ソフトウェア・エンジン110は、アプリケーション・ソフトウェア108から入力を受け取り、インジケータ・モデルに変更を加え、インジケータ・モデルにアニメーション動作を行わせる、つまり一方の値から他方の値に遷移させる。プロセッサ100により、ソフトウェア・エンジン110は表示メモリ104にアクセスできる。ソフトウェア・エンジン110は、定期的に、表示メモリをインジケータの現在の視覚的状態を使用して更新する。
【0034】
インジケータ・モデルは、インジケータの状態を表すオブジェクトである。インジケータ・モデルは、インジケータの値を構成するグリフを表す表示オブジェクトを含む。インジケータ・モデルはさらに、グリフの視覚的表現を指定するアニメーション・スタイルを保持する。
【0035】
スタイルはユーザ定義オブジェクトである。本実施形態のコンテキストにおける「ユーザ」は、装置のエンド・ユーザではなく、アプリケーション・ソフトウェア108で実現されているビジネス方法を実施する際にソフトウェア・エンジン110を使用する装置の実装者(implementer)、たとえば、ソフトウェア開発者である。
【0036】
したがって、本実施形態の中心となるのはソフトウェア・エンジン110である。ソフトウェア・エンジン110は、1つまたは複数のインジケータを表示するためアプリケーション・ソフトウェア108(または複数のプログラム)によりユーティリティとして使用される。アプリケーション・ソフトウェア108は、ソフトウェア・エンジン110の外部にあるソフトウェアであり、他の何らかの機能、またはビジネス方法、またはプロセスを提供する。ソフトウェア・エンジン110は、ここで実現されているように独立して使用するものではなく、アプリケーション・ソフトウェア108のサービスとして使用するものである。一方、単一のソフトウェア単位で、ソフトウェア・エンジン110によって実行されるインジケータの表示、およびアプリケーション・ソフトウェア108により実行されるビジネス方法の実行を提供するように、ソフトウェア・エンジン110およびアプリケーション・ソフトウェア108を組み合わせる、ことが考えられる。
【0037】
ソフトウェア・エンジン110およびアプリケーション・ソフトウェア108は、図2に示されているような同じコンピュータ・システム、または図3に示されているような何らかの有線または無線通信リンク、例えば、ネットワーク上を利用する分離したコンピュータ・システムのコンピュータ・メモリ内に存在することができる。
【0038】
ソフトウェア・エンジン110は、ソフトウェア・エンジン110の機能を制御するアプリケーション・ソフトウェア108から入力を受け取る。この入力は、(1)新しいダイナメート化インジケータを作成するコマンド、(2)既存のダイナメート化インジケータを破棄するコマンド、または(3)ダイナメート化インジケータのプロパティを設定するコマンド、の形式を取る。コマンドはどれも、特定の時刻に即座に、または一定期間にわたって実行するように指定することができる。コマンドへの応答として、ソフトウェア・エンジン110はアプリケーション・ソフトウェア108に出力として送り返すイメージ・データを生成する(図4を参照)。
【0039】
本実施形態を利用するためには、実装者はソフトウェア・コンポーネント(これ以降「オブジェクト」と呼ぶ)の特定の集まりを実装しなければならない。
【0040】
図5を参照すると、ソフトウェア・エンジンは以下のソフトウェア・オブジェクトからなる。
1つまたは複数のインジケータ・モデル500、
0個またはそれ以上のグリフ502、
1つまたは複数のソフトウェア・タイミング・デバイス504(つまり、タイミング・デバイスとインターフェースするソフトウェア・コンポーネント)、および
1つまたは複数のアニメーション・スタイル506。
【0041】
ソフトウェア・エンジン110(図1)が現在アプリケーション・ソフトウェア108に対して管理している、ダイナメート化インジケータ毎に1つのインジケータ・モデル500がある。各インジケータ・モデル500は、0個またはそれ以上のグリフ502で構成され、それぞれのインジケータ・モデル500は、1つまたは複数のアニメーション・スタイルに関連付けられる。インジケータ・モデル500は、その関連するアニメーション・スタイル506を使用してそのイメージの作成を管理する。各インジケータ・モデル500はさらに、図5に示されているように、単一のソフトウェア・タイミング・デバイス504に関連付けられる。ソフトウェア・タイミング・デバイス504は、1つまたは複数の関連するインジケータ・モデル500に、次のイメージのデータを作成する必要のあることを知らせるタイミング入力を供給する。
【0042】
明示的なソフトウェア・エンジン「オブジェクト」はないことに留意されたい。ソフトウェア・エンジン110(図1)は、オブジェクト・コード(つまり、実行可能コンピュータ命令)と、さらにメイン・メモリに格納されているソフトウェア・タイミング・デバイス504、アニメーション・スタイル506、インジケータ・モデル500、グリフ502、およびその他のオブジェクトからなる。
【0043】
本実施形態は、データを管理するモデルと、モデルに対するイメージの作成を管理するスタイルの2つの論理的/機能的セグメントに分けられる。インジケータ・モデル500は、関連するアニメーション・スタイル506と連携して現在のイメージを定義する。
【0044】
ソフトウェア・エンジン110内に、明示的なダイナメート化インジケータ・ソフトウェア・オブジェクトはない。ダイナメート化インジケータは、そのグリフ502、関連するアニメーション・スタイル506、および関連するソフトウェア・タイミング・デバイス504を備えるインジケータ・モデル500を組み合わせたものである。これらのオブジェクトをまとめることでダイナメート化インジケータが形成される。これ以降、「インジケータ」または「インジケータ・オブジェクト」は、インジケータ・モデルを意味するものとする。構成を参照する場合、ダイナメート化インジケータという用語を使用することにする。
【0045】
本実施形態により、インジケータ・モデル500が表すことができる有効な値集合が決定される。この有効な値集合には、表示可能イメージにより最終的に表すことができる一意的な値を含めることができる。この集合を、インジケータ・モデルのアルファベットと呼ぶ。
【0046】
例1
図6を参照すると、ダイナメート化された動物インジケータが示されているが、これはさまざまな動物、つまりDog(犬)、Cat(猫)、Bat(コウモリ)、Rat(ネズミ)、Elk(ヘラジカ)、Pig(豚)、Man(人)のイメージの集合600を示している。No animal(動物以外)の値も、ダイナメート化インジケータで、no animalが表示されるときについて定義することができる。定義により、アルファベットは8個の一意的な値で構成される。したがって、本実施形態により、AnimalIndicatorは、一意的な遷移集合602内に少なくとも64個の一意的な遷移(8×8)を持つ。
【0047】
インジケータ・モデルは、常に静的値−状態または動的値−状態の2つの一般化された状態のうちの1つを取る。インジケータ・モデルが遷移の状態にない場合、インジケータ・モデルは静的状態(または静的値−状態)にあると考えられる。インジケータ・モデルの静的状態における値−状態は、有効な値集合のうちの現在値として定義される。インジケータ・モデルに関連付けることができるプロパティは多数あるが、値−状態はその主要なプロパティである。
【0048】
インジケータ・モデルがその2つの値の間で遷移状態にある場合、それは動的状態にあると考えられる。動的状態におけるインジケータ・モデルの値−状態は、静的状態におけるその値−状態の先行する値(previous value)、および静的状態におけるその値−状態の次の値として定義され、インジケータ・モデルは、その次の値に向かって現在のステップ値に従って遷移することになる。これら2つの値−状態、つまり前の値−状態および次の値−状態は、ソース−デスティネーションのペア(src−dstと略称する)と呼ばれる。したがって、インジケータ・モデルが動的状態にあるときに、その値−状態は、現在のステップ値に従っている現在のsrc−dstペアである。現在のステップ値は、インジケータ・モデルが前の値−状態から次の値−状態までどれだけ進行したかを表す。現在のステップ値の設定値は、重要ではないが、0.0から1.0の間のパラメータ単位値に正規化するのが好ましい。
【0049】
インジケータ・モデルに関連付けることができるプロパティは多数あるが、値状態はその主要なプロパティである。
【0050】
上述のように、すべてのインジケータ・モデルはソフトウェア・タイミング・デバイスに関連付けられる。本実施形態のソフトウェア・エンジンでは、ソフトウェア・タイミング・デバイスは、(実時間から相対時間への変換を提供するような)システムのタイミング・デバイスとのインターフェースを備える。それぞれのソフトウェア・タイミング・デバイスは、特定のインジケータ・モデル(または一般的に計時されるインジケータ・モデルの集合)の時間インデックス・スケール(タイム・スケールとも呼ばれる)に適合するように、システムのタイミング・デバイスを変換する。
【0051】
ソフトウェア・エンジンが、アプリケーション・ソフトウェアから特定の時点の、または時間範囲にわたって、ダイナメート化インジケータのプロパティを設定するコマンドを受け取ると、インジケータ・モデルに関連付けられたソフトウェア・タイミング・デバイスは、コマンドの実行を時間の関数として管理する。このデバイスは、インジケータ・モデル上で実行されるときが来るまでコマンドを保管しておく。コマンドの実行の瞬間が来ると、そのデバイスは、インジケータ・モデル上の、たとえば新しい出力イメージ・データを作成する、コマンドを実行するよう信号を送る。コマンドが、ある期間(time span)にわたって実行されるアクション用のコマンドである場合、ソフトウェア・タイミング・デバイスは、インジケータ・モデルに対して定期的に、アクションの継続するように信号を送り、インジケータ・モデル状態および/またはプロパティの更新し、および、その期間にわたる新しい出力イメージの生成する。
【0052】
すべてのソフトウェア・タイミング・デバイスは、1つまたは複数のインジケータ・モデル、つまり1つのインジケータ・モデルまたは共通計時インジケータ・モデルの集合に関連付けることができる。ただし、それぞれのインジケータ・モデルは、単一のソフトウェア・タイミング・デバイスにのみ関連付けられる。インジケータ・モデルのように、ソフトウェア・タイミング・デバイスを1つまたは複数のアニメーション・スタイルに関連付けることができる。ソフトウェア・タイミング・デバイスのスタイルを、関連するインジケータ・モデルのデフォルト・スタイルとして使用することができる。
【0053】
デフォルトでは、本実施形態はソフトウェア・タイミング・デバイスを完全に実装する。実装者は、実装されているインジケータ・モデルまたはアニメーション・スタイルを操作するために新しいソフトウェア・タイミング・デバイスを実装する必要はない。
【0054】
アニメーション・スタイルは、インジケータ・モデルの視覚的表現を管理する。実装者は、ダイナメート化インジケータに関連付ける少なくとも1つのアニメーション・スタイルを定義する。アニメーション・スタイルは、複数のインジケータ・モデルに関連付けられることができる。インジケータ・モデルは、複数のアニメーションを、スタイルを使用してその外観(look)の個別の側面を定義することができる。実装者が定義することができるアニメーション・スタイルの数に制限はない。
【0055】
インジケータ・モデルと同様、アニメーション・スタイルは有効な値集合を定義する。実装者は、スタイルのアルファベットのそれぞれの値に対応する静止イメージの集合を、定義しなければならない。インジケータ・モデルに関連付けられるべきアニメーション・スタイルに対して、アニメータ・スタイルにより、インジケータ・モデルの有効な集合内の値毎に一意的な静止イメージを定義しなければならない。つまり、アニメーション・スタイルの有効な値集合は、インジケータ・モデルの有効な集合を完全に包含(つまり、上位集合)していなければならない。実装者は、さらに、関連するすべてのインジケータ・モデルのすべてのsrc−dstペアに対する一意的な遷移を持つアニメーション・スタイルを定義しなければならない。まとめると、静止イメージおよび一意的な遷移は、アニメーション・スタイルの主要なプロパティであるといえる。
【0056】
静止イメージは、アニメーション・スタイルの基部を形成し、ダイナメート化インジケータの基本的な外観(look)を定義する。実装者は、通常、静止イメージを設計する際に一貫した視覚的テーマに従うが、アニメーション・スタイルが人間によって定義されるまたは人間が理解できる美観に従う必要はない。静止イメージの唯一の要件は、視覚的に一意であり互いに区別できることである。
【0057】
静止イメージを表現する方法は重要でない。「イメージ」という用語を用いた場合、これは、イメージ・データまたはイメージを生成する手段を意味する。それぞれの静止イメージは、実際のイメージ・データ(たとえば、ビットマップ・データやベクトル・データ)、コンピュータ命令の集合、または下位構造の階層として表現することができる。これらの方法はすべてよく理解されている。静止イメージを描画する方法は重要でない。重要なのは、アニメーション・スタイルは、イメージ・データまたはイメージ生成命令を、関連するインジケータ・モデルのそれぞれの静的な値−状態に関連付けることが可能である、ということである。
【0058】
例1(続き)
ZooPictureStyle、KanjiNameStyle、およびLabDNAStyleという3つのアニメーション・スタイルが定義されている。ZooPictureStyle 40については動物園の動物のスケッチに基づくイメージが作成されている。KanjiNameStyleについては、漢字の単語を使用して記述されているすべての動物名を表すのに必要なデータが集められている。LabDNAStyleについては、AnimalIndicatorで指定された7つの動物のそれぞれの染色体(chromosomes)のイメージと、no−animalの値に対する空(empty)の背景イメージを生成するためのデータが集められている。いくつかの定義されているアニメーション・スタイルが、AnimalIndicatorのインジケータ・モデルで要求される以上の多くの静止イメージを指定することは重要でない。重要なのは、AnimalIndicatorインジケータ・モデルの静的な値−状態のそれぞれに対する一意的なイメージを、そのスタイルが収容することである。関連付けられているインジケータ・モデルの値−状態よりも大きな静止イメージ集合を定義することにより、スタイルは、この例で最初に定義した8個よりも多いさまざまな値をインジケータ・モデルに供給することができる。
【0059】
ダイナメート化インジケータが一方の値から他方の値に遷移するときに、ダイナメート化インジケータのインジケータ・モデルは、関連するソフトウェア・タイミング・デバイスから周期的信号を受信し、インジケータ・モデルの現在の値−状態のイメージを出力する。インジケータ・モデルは、アニメーション・スタイルと協調して、インジケータ・モデルの現在の値−集合に対応するイメージを出力する。これらの周期的信号により、インジケータ・モデルは、動的な値−状態を通る遷移を表すイメージ・シーケンスを生成する。
【0060】
インジケータ・モデルの関連するアニメーション・スタイル毎に、実装者は、関連するインジケータ・モデルが遷移する、使用可能なsrc−dstペアについて、一意的な遷移を指定しなければならない。最低でも、アニメーション・スタイルはN^2個の一意的な遷移を定義しなければならない。
【0061】
実装者は、それぞれの遷移の外観および振る舞いの基本として、アニメーション・スタイルの静止イメージを使用する。それぞれの遷移シーケンスには、(1)各シーケンスは、インジケータ・モデルの現在の動的な値−状態を表すsrc−dstペアの静止イメージで始まり静止イメージで終わる、(2)各遷移シーケンスは少なくとも1つの中間イメージを定義する、(3)遷移シーケンスの中間イメージのそれぞれはsrc−dstペアの静止イメージとは異なる、(4)それぞれの遷移シーケンスは他のsrc−dstペアの遷移シーケンスとは異なる、という4つの必要条件がある。src−dstペアについて生成できる使用可能な遷移の数に制限はない(また、したがって、得られる視覚的表現の数も制限はない)。
【0062】
実装者は、アニメーション・スタイルのそれぞれの遷移の外観および振る舞いを定義した後、その「遷移の手段(means of transition)」を定義しなければならない。遷移の手段は、遷移シーケンス毎に一意的なイメージのシーケンスを生成するために使用される方法である。遷移の手段は、実装者のアニメーション・スタイルの中から、選択された遷移の方法の設定に存在する。遷移の手段は、src−dst遷移のそれぞれを表す、事前に生成されているイメージ・データのシーケンスの順に、複雑なモーフィングから単純にアクセスする方法までどのようなアニメーション手法をも採用できる。しかし、採用する遷移の実際の手段は重要でない。
【0063】
アニメーション・スタイルの静止イメージの場合と同様、遷移のスタイルにより生成されるイメージの遷移シーケンスを表現することは重要なことではない。イメージは、ビットマップ・データまたはベクトル・ベースのデータ、またはコンピュータ命令、または下位構造またはその他の組成データまたは命令の階層として定義することができる。
【0064】
例1(続き)
アニメーション・スタイルのそれぞれについて、実装者はAnimalIndicatorインジケータ・モデルのすべてのsrc−dstペアに対する遷移の手段を定義する。AnimalIndicatorインジケータ・モデルは、64個の遷移が定義される8個の値からなるアルファベットを持つ。アニメーション・スタイルに関して、所望する場合、実装者はsrc−dstペア毎に遷移についての複数のオプション手段を装備することができる。遷移のオプションの手段を定義すると、遷移の数がN^2を超える。
【0065】
インジケータ・モデルが、そのプロパティの1つを設定する信号または他の方法で自動的に更新する信号を受信した場合、選択されたアニメーション・スタイルと連携して、その変更を、管理し、達成し、新しいイメージを出力する。
【0066】
この信号は、インジケータ・モデルに変更を加えるのに必要なアクションを指定する。変更が実行されるときに、その変更は、信号が発生したときの現在の時間インデックスを含むことができる。信号が、ある期間にわたって発生する変更の場合、その信号はオプションでその期間を含むことがある。その時間範囲から、0.0と1.0の間のパラメータ単位値を計算することができる。
【0067】
この場合も、重要な主要プロパティはインジケータ・モデルの現在の値−状態である。インジケータ・モデルに対し一方のスタイルから他方のスタイルへの変更するように信号を送ることができることにも留意されたい。
【0068】
インジケータ・モデルの値−状態が変化した後、インジケータ・モデルは選択したアニメーション・スタイルと連携して、出力イメージを生成する。インジケータ・モデルが静的状態にある場合、選択されたアニメーション・スタイルは単に、インジケータ・モデルの値に対応する関連する静止イメージを出力するだけである。インジケータ・モデルが動的状態にある場合、選択されたアニメーション・スタイルは遷移の手段を使用して出力イメージを決定する。
【0069】
インジケータ・モデルが動的状態にある場合、アニメーション・スタイルは、インジケータ・モデルの現在の値−状態のsrc−dstペアと現在のステップ値を、出力イメージを生成する際の主パラメータとして、使用する。実装者が特定のsrc−dstペアに対して複数の遷移シーケンスを持つようにスタイルを定義している場合、アニメーション・スタイルは、1つまたは複数の二次パラメータを使用して適切な遷移手段を選択する。アニメーション・スタイルは、さらに、出力イメージを生成するときの視認性、サイズ、および配色(color scheme)などの、インジケータの他のプロパティも考慮できる。
【0070】
アニメーション・スタイルは、インジケータ・モデルの現在の値−状態を表すイメージを生成する静的手段および動的手段の組み合わせを、使用することができる。動的手段では、一次パラメータ、二次パラメータ、およびオプション・パラメータを、リアルタイムでイメージを生成するための直接データとして使用する計算を、必然的に含んでいる。
【0071】
静的手段は、パラメータをキーとして使用して索引付けしたルックアップ・テーブルを使用することにより、さらに簡単に採用することができる。それぞれの入力でのデータは、有用な形式、たとえば、事前に生成されたイメージ、イメージを生成する個々のコンピュータによる方法、圧縮ムービーのフレームなどの有用な形式である。
【0072】
本実施形態で採用しているデフォルトの方法は、静的な手法と動的な手法の両方を組み合わせた方法である。この方法では、src−dstペアと、ルックアップ・テーブルに索引付けするキーとしての二次パラメータを組み合わせている。ルックアップ・テーブルのそれぞれのエントリには、選択された遷移シーケンスに固有のデータが含まれる。このデータは、インジケータの値−状態の現在のステップ値とともに使用され、リアルタイムで現在の出力イメージを生成する。そのデータは、イメージを生成するためにアニメーション・スタイルで使用されるパラメータの形式、またはイメージ・シーケンスの生成を行うための個別の自己充足型の方法の形式、とすることができる。
【0073】
本実施形態はさらに、データを、格納済みのイメージのあらかじめ生成されたシーケンスとするオプションも実装する。この基本的な方法では、現在のステップ値使用して、遷移シーケンスから適切なイメージ・フレームを選択する。この方法は、特定の遷移シーケンスを実行する毎に再計算する必要がないように、遷移イメージをキャッシュするため使用できる、という点でより複雑な方法のコンテキストにおいて有用である。
【0074】
テーブルの中のそれぞれのエントリにおけるデータの正確な種類は、この実施形態では重要でない。必要なのは、そのデータが、指定された一意的遷移の一部としてイメージをスタイルが出力できるようにする、という点である。同様に、テーブルを配列、マトリックス、辞書、または当分野で知られているデータ構造として実装するかどうかも重要でない。
【0075】
最終的に、本実施形態を利用することで、実装者は、選択したあるスタイル用の遷移の手段であってもそれを自由に定義することができる。
【0076】
一般に、ほとんどのインジケータ(つまり、非ダイナメート化インジケータ)は、視覚的に、類似の下位要素から構成される。同じことがほとんどのダイナメート化インジケータについてもいえる。実装者は、ここでグリフと呼んでいる下位構成要素(下位オブジェクト)を使用してインジケータ・モデルを構成することにより、この事実を活かすことができる。インジケータ・モデルは、0個またはそれ以上のグリフ(またはグリフ・オブジェクト)で構成することができる。インジケータ・モデルは、そのグリフの「コンテキスト」である。グリフは、「親」コンテキスト、つまりインジケータ・モデルを1つ持つだけである。
【0077】
あらゆる意図および目的に関して、グリフはそれ自体インジケータである。インジケータ・モデルのすべての動作はグリフにも適用される。単語グリフを使用するのは、単に説明するためにすぎない。単語グリフのすべての使用は、インジケータ・モデル、下位インジケータ、または下位オブジェクトとして解釈することができる。
【0078】
インジケータ・モデルのように、グリフは、現在のイメージを出力するため関連するスタイルと連携するという点でモデルでもある。実装者がグリフをスタイルに明示的に関連付けない場合、本実施形態ではデフォルトで、グリフにその親インジケータ・モデルのスタイルを取り込む。グリフは、インジケータ・モデルとして自らその下位オブジェクトで構成することができる。
【0079】
インジケータ・モデルが下位インジケータを収容する場合、インジケータ・モデルの出力イメージは、インジケータ・モデル自身のイメージの合成であり、インジケータ・モデルの下位インジケータによって生成されるものである。通常、インジケータ・モデルに下位インジケータがある場合、インジケータ・モデルは単に、それ自身の管轄する出力イメージに寄与することなく、下位インジケータの出力イメージを構成する(組み合わせる)。
【0080】
インジケータ・モデルは、下位インジケータを使用して、値−状態間の遷移を補助し、出力されるイメージのセクションを視覚的に構成することができる。インジケータ・モデルのそれぞれの下位インジケータは、それ自体のアニメーション・スタイルに関連付けることができる。そのため、ダイナメート化インジケータは、複数のスタイルを一度に表示しながら表示することができる。
【0081】
例2
図7を参照すると、HeartIndicatorインジケータ・モデルが、0〜200の有効な値範囲で定義されている。ハート・モニタの値が変化すると、次の心拍数値への数値の移動の表示がアニメ化される。3つのグリフ集合が、HeartIndicatorインジケータ・モデルを構成するのに使用され、ディジット毎に1つのグリフ集合が使用されている。
【0082】
2つのアニメーション・スタイルが、HeartIndicatorハート・モニタに実装された状態で使用されている。最初のスタイルDotDigitsは、実装者によって実装されている。FOLDINGDIGITS(商標)は、本実施形態によるソフトウェア・エンジンの提供者からライセンスを受けている。インジケータ・モデルの100のディジット(グリフ)は、DotDigitsアニメーション・スタイルに関連付けられている。ハート・モニタのインジケータ・モデルは、FOLDINGDIGITS(商標)アニメーション・スタイルに関連付けられている。1のディジットと10のディジットは明示的にはアニメーション・スタイルに関連付けられていないため、1のディジット(グリフ)と10のディジット(グリフ)では親のコンテキスト、つまりそれらのインジケータ・モデルから、FOLDINGDIGITS(商標)スタイルを採用する。図7の最下段にあるディジット(digit)は、ダイナメート化インジケータの現在の値−状態が129である場合のハート・モニタのダイナメート化インジケータを示すイメージを示す。ダッシュの矩形はそれぞれ、各グリフがかかわる出力イメージの領域、つまり100の位、10の位、および1の位である。上方の陰影領域は、ダイナメート化インジケータを構成する実際のオブジェクトを表す。
【0083】
それぞれの下位インジケータ(グリフ)は出力イメージの領域を管理できる。インジケータ・モデルのグリフ(複数)がこれを行う場合、共同して、それらは、それらのインジケータ・モデルの一意的な遷移の完全なマトリックスを実現する。
【0084】
本実施例によれば、10のディジット(グリフ)と1のディジット(グリフ)は値0〜9を表現できなければならない。10のディジットは、さらに、ブランク状態を表現できなければならない。FOLDINGDIGITS(商標)アニメーション・スタイルは、ブランク状態とともにすべてのディジットについて遷移の完全なダイナメート化マトリックスを実装する。そのため、FOLDINGDIGITS(商標)アニメーション・スタイルは、10のディジットまたは1のディジットのそれぞれ遷移に必要な121個および100個の遷移をすべて指示できる。100のディジットは、ディジット1および2およびブランク状態のみを表現しなければならないので異なる範囲を持つ。DotDigitsスタイルの遷移の手段は、必要な8つすべての遷移、つまりブランク−>1、ブランク−>2、1−>ブランク、1−>1、1−>2、2−>1、2−>2、および2−>ブランクについての遷移に対して、配信し、実装する。このグリフについては、ブランク−>ブランクの遷移は存在しない。
【0085】
前述のディジットのそれぞれは、それ自体完全にダイナメート化されたインジケータである。これらは共にHeartIndicatorダイナメート化インジケータを構成する。これらは全体としてHeartIndicatorダイナメート化インジケータの使用可能な40401(201×201)個のsrc−dstペアのそれぞれについて一意的な遷移を出力する。HeartIndicatorダイナメート化インジケータのそれぞれの遷移はソース値とデスティネーション値に明示的に依存する。
【0086】
上述のように、アニメーション・スタイルは、特定の種類のインジケータ・モデルを使用して操作するために実装者が実装する。特定のインジケータ・モデルに関連付けられるには、アニメーション・スタイルの有効な値集合は、インジケータの有効な値集合の上位集合(super−set)でなければならない。それとは別に、その下位インジケータ(グリフ)を代わりにサポートすることにより、アニメーション・スタイルは、インジケータ・モデルを間接的にサポートするよう実装することができる。上のハート・モニタの例では、FOLDINGDIGITS(商標)アニメーション・スタイルは、集合0〜9とブランク状態のうちの有効な値のみをサポートする。これは有効な値のHeartIndicator集合(0〜200)の部分集合(subset)にすぎない。しかし、FOLDINGDIGITS(商標)は、ディジット・ベースのすべてのカウンタ・インジケータを操作するために実装されている。関連付けられているカウンタ・インジケータがカウンタの集合内のすべての有効な値を表すのに十分な程度、ディジット下位インジケータ(グリフ)を定義することを確実にすることによって、これを行う。
【0087】
アニメーション・スタイルは、インジケータ・モデルへの下位インジケータ(グリフ)の追加または削除を行ったり、必要に応じての下位インジケータのプロパティを設定するように実装することができる。インジケータ・モデルが、そのインジケータ・モデルを明示的にはサポートしていないアニメーション・スタイルと連携しようとする場合、本実施形態で採用しているデフォルトの方法は、代わりにそのアニメーション・スタイルがそのインジケータ・モデルの下位インジケータ(グリフ)と連携するようにする方法である。アニメーション・スタイルは、サポートするすべての種類のインジケータ・モデルに対して、イメージの個々の集合と遷移の手段を収容するように、実装することができる。
【0088】
インジケータ・モデル、グリフ、およびソフトウェア・タイミング・デバイスはすべてモデルである。これらはすべて、関連するアニメーション・スタイルを備えることができ、関連するオブジェクトの階層内に組み込むことができる。ソフトウェア・エンジンは、複数のソフトウェア・タイミング・デバイスを管理することができる。ソフトウェア・エンジンのソフトウェア・タイミング・デバイスは、ソフトウェア・エンジンのモデル・オブジェクト階層のルート・オブジェクトである。それぞれのソフトウェア・タイミング・デバイスは1つまたは複数のインジケータ・モデルに関連付けられる。インジケータ・モデルのそれぞれについて、ソフトウェア・タイミング・デバイスはその親コンテキストとなる。ソフトウェア・タイミング・デバイスは明示的な親コンテキストを持たない。
【0089】
同様に、それぞれのインジケータ・モデルは、0個またはそれ以上の下位インジケータ(グリフ)に関連付けることができる。これらの下位インジケータについて、参照インジケータ・モデルは、その親コンテキストである。これらの下位インジケータのそれぞれが次々に、下位インジケータ(下位グリフ)で構成されることができる。それぞれのインジケータは、コンテキスト階層のルートに到達するまで親コンテキストの経路をたどることにより関連するソフトウェア・タイミング・デバイスにアクセスすることができる。それとは別に、インジケータ・モデルは、ソフトウェア・タイミング・デバイスへの直接参照を使用するように実装することもできる。
【0090】
このようにしてインジケータ・モデルの下位インジケータを編成することの利点の1つに、インジケータ・モデルがコンテキストの系統からプロパティを取り出すために、階層を利用できることがあげられる。インジケータ・モデル(または下位インジケータ)がそのプロパティの1つについて値を定義していない場合、インジケータ・モデルは親コンテキストによって定義された値を自分の値として使用する。親コンテキストも値を定義していない場合、その次のコンテキストに対し値のチェックが行われる。値の検索は、そのプロパティを定義しているモデルが見つかるまで、階層の最上位に向かって続く。そのプロパティが、ソフトウェア・タイミング・デバイスまたは特定の階層内のインジケータ・モデルまたは下位インジケータにより定義されていない場合、元々のインジケータ・モデル(または下位インジケータ)はそのプロパティに対してデフォルト値を使用する。
【0091】
すべてのインジケータ・モデル(または下位インジケータ)は、値−状態などのいくつかのプロパティを、直接的に、収容する。他のプロパティは、収容されず、そのプロパティに対する値またはデフォルト値を提供するインジケータの上位階層に依存する。図8を参照。
【0092】
図8は、上述のFOLDINGDIGITS(商標)アニメーション・スタイルを使用して単一ディジットのダイナメート化インジケータ例を構成するオブジェクトを示している。そのインジケータ・モデルは、現在、数6の静的な値−状態と数9の静的な値−状態の間の遷移シーケンスから得られるイメージを示している。そのインジケータ・モデルは、遷移シーケンスの始めから終わりまでの道程の40%の地点にある。祖父(または親)インジケータ・モデル(または下位インジケータ)、カウンタ(また1のディジット)のスタイルを採用するため、セグメント(下位グリフ)のどれも、自分のアニメーション・スタイルを指定していない。
【0093】
同様に、下位グリフは自己の視認性(visibility)に対する値を指定しないので、このタイミング・デバイスでは、それらの曾祖父の視認性を採用する。階層内のインジケータ・モデルのいずれも色に対し値を指定しないため、色プロパティに対するデフォルト値が使用される。
【0094】
グリフの色のほかに管理できる階層の、他のさまざまな、プロパティがある。インジケータの視覚的な面は、プロパティ、たとえば、背景、下位グリフの形状、を使用する。視覚的プロパティのように、タイミング・プロパティは、思いのままに、たとえば、遷移のテンポ、時間インデックス毎のフレーム数、タイム・スケール(つまり、インデックス当たりのフレーム数)、で設定および変更が可能である。タイミング・プロパティが通常、タイミング・デバイス内に格納され、管理されると同時に、どのインジケータ・モデルもさらに自己のタイミング・プロパティを収容することができる。
【0095】
インジケータ・モデルは、すべて、その各値−状態に対するそれら独自の値を収容する。図に示されているケースでは、第1、第2、第5、および第6の下位グリフは静的状態にあり、現在のステップ値を必要としない。第3および第4の下位グリフは動的状態にあり、それが生じている遷移がどの程度かを知るために現在のステップを必要とする。下位グリフは、それ独自の現在のステップを定義しないので、親の現在のステップ、つまりディジット・グリフを採用する。
【0096】
インジケータ・モデルのプロパティが設定されている場合、直接的にそのプロパティを収容しているのであれば、新しい値がインジケータ・モデル自体の中に格納される。そうでない場合、その値は辞書データ構造内に格納され、そこではプロパティの名前がキーとして使用される。
【0097】
この手法は、各インジケータ・モデル(または下位インジケータ)に必要なメモリを低減するために、実装者が使用することができる。通常デフォルト値に依存するプロパティ、または特定のインジケータ・モデル(または下位インジケータ)に対しあまり頻繁に必要とされないプロパティは、必要なときのみ備えることができる。この手法は、実行速度がメモリ消費量よりも重要な場合に避けることができる。
【0098】
インジケータ・モデル(または下位インジケータ)のプロパティを設定しても、そのプロパティの親コンテキストの値は影響を受けない。インジケータ・モデルが複数の下位インジケータを備えている場合、その下位インジケータが自己のプロパティに対して値を定義していないのであれば、その下位インジケータのプロパティの値は、インジケータ・モデルの値となる。
【0099】
インジケータ・モデルのプロパティを設定した場合は必ず、インジケータ・モデルは、その親コンテキストだけでなく、その下位インジケータのすべてに通知する。そのインジケータ・モデルのそれぞれに対し、その親コンテキストまたは下位インジケータで発生した変更に適応するように、それぞれのアニメーション・スタイルと連携する機会が与えられる。
【0100】
すでに述べたように、アニメーション・スタイルは、下位インジケータを他のインジケータに動的に追加したり削除したりする形で実装することができる。図8のグリフは、6個の下位グリフから成り立っている。6−>9の遷移が完了した後、そのグリフは8への遷移の入力を受け取ると仮定する。そのグリフは、アニメーション・スタイルFOLDINGDIGITS(商標)と連携して遷移を実行する。スタイルが指定されたグリフは、遷移9−>8を表示するためには7セグメントを必要とする(図30を参照)。そのグリフは現在、6セグメントの下位グリフのみを持つので、そのスタイルは、もう1つセグメントをそのグリフに追加することになる。
【0101】
グリフが、8−>4、次に4−>3の遷移の実行を指令されて、8−>4の遷移を遂行したとすると、7セグメントはまだ必要であり(図29を参照)、したがって下位グリフは追加または削除されない。しかし、遷移4−>3を実行する場合は、5セグメントで足りる(図24を参照)。グリフのスタイルは、そのグリフに下位グリフの2つを取り除かせる。
【0102】
上述のように、インジケータ・モデルが、そのプロパティの1つを特定の時間インデックス、またはある期間にわたる態様で備えるべきであるとした場合、そのソフトウェア・タイミング・デバイスが、それに信号を送信する。テンポなどのタイミング・プロパティであっても、また時間インデックス当たりのフレーム数も、特定の時間インデックスでまたはある期間にわたって設定することができる。
【0103】
インジケータ・モデルは、計時信号オブジェクトを使用して、時間インデックスでまたはある期間にわたって発生するアクションを記録する。特定の時間インデックス(の態様)で発生する信号を、ここでは「ワンショット」信号を呼び、時間インデックス期間にわたって発生する信号を、ここでは反復信号と呼ぶ。ワンショット信号のアクションは1回実行され、反復信号のアクションは複数回にわたって実行される。反復アクションは、その期間の開始時間インデックスと停止時間インデックスを備えている。ワンショット・アクションの場合、開始および停止インデックスは同じ値に設定される。すべての計時信号は、ターゲット・インジケータ・モデル、発生する(主)アクション、およびオプションにより、計時信号で実行するアクションの種類を識別するID、を備えている。
【0104】
ソフトウェア・タイミング・デバイスでは、保留計時信号を、最も早い開始時間インデックスを持つ信号を優先する優先待ち行列に格納する。複数の信号に同じ開始時間インデックスがある場合、早期の停止時間インデックスを持つ信号に優先度を与える。
【0105】
反復信号の主(反復)アクションに加えて、反復信号はオプションの設定アクションとオプションの後処理アクションを持つことができる。ソフトウェア・タイミング・デバイスの現在時間インデックスが反復信号の開始時間インデックスよりも大きいかまたは等しくなると、反復信号の設定アクションが1回だけ実行される。設定アクションは、主(反復)アクションが最初に実行される前に必ず実行される。ソフトウェア・タイミング・デバイスの現在時間インデックスが反復信号の停止時間インデックスよりも大きくなると、反復信号の後処理アクションが1回だけ実行される。後処理アクションは、主(反復)アクションが最後に実行された後に必ず実行される。
【0106】
ソフトウェア・タイミング・デバイスは、プロセッサを介して主タイミング・デバイスから送られてきた更新信号を受信し、マスター時間インデックスを追跡する。プロセッサはこれらの信号を要求されたその時間ちょうどに定期的に送るのが理想的である。しかし、現実には、多くのシステムにおいて要求された更新時間に大きな変動があることが多い。残念なことに、さまざまな理由から、コンピュータ・システムが、実行されているソフトウェアのすべてのコンポーネントに、精密なタイミングで更新信号を送信することは困難であるか、または計算処理的に非常にコストがかかることが多い、ということが当技術分野でよく理解されている。
【0107】
このような問題の対処を試みる時宜を得た態様で、信号を送信しなければならないソフトウェア・システムにおいて、さまざまな方法がある。時宜を得た態様での信号の配信が正しく処理されないと、システムのロジックに問題に生じる可能性がある。これは最終的に、システムがサポートするアニメーションにマイナスの効果を及ぼす。本実施形態ではタイミングが不規則であったり、さらには非常に遅れたとしてもインジケータ・モデルが常に特定のアクションを実行できることを確実にするために、設定アクションと後処理アクションを用いる。
【0108】
非常に遅れるということは、ソフトウェア・タイミング・デバイスがインジケータ・モデルの遷移シーケンスで受信することが「期待」される更新信号を受信したが、遷移シーケンス全体が完了してしまった後、実際に、第2の遷移シーケンスが開始されてしまった後に、非常に遅れて、その信号が発生する、ことを意味する。この様な場合、エンジンはそのタイム・スロットの間に実行されなかった遷移シーケンスをスキップすることができる。残念なことに、このようなアプローチは、第3の遷移シーケンスが、第2の遷移シーケンス、つまりスキップされた遷移シーケンスの期間に発生した特定のアクションを必要とした場合には、適切に機能しない。本実施形態による設定アクションと後処理アクションの使用は、スキップされた遷移シーケンスが依然として必要な開始および終了アクションを実行することを確実にする。
【0109】
実装者がインジケータ・モデルを定義するとき、その実装者は、インジケータ・モデルに特有のプロパティが変化する場合に実行するアクションを、定義する。実装者は、時間範囲にわたって発生する変更に関して特定の設定および後処理アクションを定義すること、を選択することもできる。
【0110】
図9を参照すると、デバイスは、主タイミング・デバイスのマスター時間インデックスを自分の時間スケールにマッピングし(ブロック900)、ソフトウェア・タイミング・デバイスの現在の時間インデックスを計算することにより更新プロセスを開始する。ソフトウェア・タイミング・デバイスは、リストを用いて反復する信号を保持し、「次回ウェイクアップ時間インデックス(next wakeup time−index)」を保持する変数を初期化する(ブロック902)。次回ウェイクアップ時間インデックスは、更新プロセスを再度開始するために、ソフトウェア・タイミング・デバイスがプロセッサから更新信号を受信する時間インデックスである。
【0111】
ソフトウェア・タイミング・デバイスは優先待ち行列内の最初の計時信号をチェックする(ブロック904)。現在の時間インデックスが第1の計時信号のアクション時間インデックスに等しいかあるいはそれ以上の場合(ブロック906)、第1の計時信号(または現在の信号)は優先待ち行列から削除され(ブロック908)、実行される。
【0112】
これが、実行中の現在の信号の最初の時間であれば(ブロック910)、ソフトウェア・タイミング・デバイスは現在の信号に類似する信号で、すでに実行された信号がないか調べる。もしあれば、前に実行された信号をプリエンプト(preempted)する。ソフトウェア・タイミング・デバイスは、反復リストに現在の信号と同じIDを持つ前の信号が含まれているか調べる(ブロック912)。もし含まれていれば、ソフトウェア・タイミング・デバイスは強制的に、前の信号で後処理アクションを実行させ(ブロック914)、前の信号をリストから削除する(ブロック914)。現在の信号に設定アクションがあれば、現在の信号の設定アクションが実行される(ブロック916)。
【0113】
これが、実行中の現在の信号の最初の時間かどうかに関係なく、現在の信号の一次アクションが実行される(ブロック918)。
【0114】
現在の時間インデックスが現在の信号停止時間インデックスよりも大きい場合(ブロック920)、現在の信号の後処理アクションが実行される(ブロック922)。大きくない場合、現在の信号がソフトウェア・タイミング・デバイスの反復リストに追加される(ブロック924)。すると現在の信号により、現在の時間インデックスと現在の信号の自更新間隔を使用して次回アクション時間インデックスを計算する。ソフトウェア・タイミング・デバイスは、この次回アクション時間インデックスが次回ウェイクアップ時間インデックスの現在値よりも早い場合(ブロック928)、これをを次回ウェイクアップ時間インデックスとして格納する(ブロック926)。
【0115】
信号のアクションが実行されると、必ず、現在の時間インデックスおよび信号自体がオプション・パラメータとしてアクションに渡される。
【0116】
プロセスは、待ち行列に残されているすべての計時信号について繰り返される。このプロセスは、現在の時間インデックスが待ち行列内の現在の最初の計時信号のアクション時間インデックスよりも小さい場合、切り上げて終了される(ブロック906)。
【0117】
ソフトウェア・タイミング・デバイスが待ち行列の実行を完了すると、ソフトウェア・タイミング・デバイスは反復リスト内のすべての計時信号を優先待ち行列に返す(ブロック930)。その後、ソフトウェア・タイミング・デバイスは、プロセッサが次回ウェイクアップ時間インデックスにおいてそれにウェイクアップ信号を送信することを要求する(ブロック932)。最後に、ソフトウェア・タイミング・デバイスは、(前の更新プロセスにより)変更された関連するすべてのインジケータ・モデルに、それ自体の妥当性を確認し、その後新しい出力イメージを生成する、命令を出す(ブロック934)。
【0118】
ソフトウェア・タイミング・デバイスのインジケータ・モデルが更新された後、それぞれのインジケータ・モデルは、自己妥当性確認を行い、新しいイメージを生成する。デフォルトでは、インジケータは、アニメーション・スタイルを連携し、その下位階層内の下位インジケータの妥当性確認を再帰的に行うことによって、自己の妥当性確認を行う。妥当性確認は、更新に適応するためにインジケータ・モデルが実行しなければならないタスクを必然的に含む。インジケータ・モデルは、新しい出力イメージを生成する前に、整合性のとれた状態(consistent state)になければならない。
【0119】
デフォルトで、イメージ生成は、妥当性確認と同じ再帰的プロセスを使用する。各インジケータ・モデルはアニメーション・スタイルと連携して、現在の値−状態を表すイメージ・データを生成する。インジケータ・モデルの階層内の下位インジケータのイメージを合成して、単一の最終的な出力イメージを作成する。
【0120】
実装者は、妥当性確認を行い、実装者が実装するインジケータ・モデルおよびスタイルによる出力イメージの生成を行うのに必要なアクションを定義しなければならない。本実施形態では、実装者は必要に応じて妥当性確認及びイメージ出力の再帰的な性質を自由に変更できる。
【0121】
本実施形態は、現在のところ、Smalltalk言語の派生言語であるSqueakを用いて実装されている。ただし、本実施形態は、決して、このオブジェクト指向プログラミング言語やその他のオブジェクト指向プログラミング言語に限定されるわけではない。本実施形態は、さまざまな他のプログラミング・システムを用いて容易に実装可能である。
【0122】
図10を参照すると、DynaGlyphソフトウェア・フレームワークのクラス階層は、modifiedUML(Unified Modeling Language)形式で表されており、これは本実施形態のコア・オブジェクト・クラスを抽象したものである。図10のそれぞれのブロックは1つのクラスを表す。クラスの名前とそのクラスの各インスタンスの定義済み属性がそれぞれ仕切り線の上下に示されている。クラスの名前は、クラスが抽象クラスであれば斜体で表記されている。スーパー・クラスは、三角形の継承マーカーによりそのサブ・クラスに接続している。波線は、フレームワークの厳密には一部でなく、実装者が実装しなければならないクラスを接続している。
【0123】
リスト内で、属性はダッシュまたは星印がその前に付いている。属性の前にダッシュが付いている場合、属性はインスタンス変数である、つまりクラスの各インスタンスはその属性に対応する自分の値を持つことができる。星印が前についている場合、属性はクラス変数である、つまりその属性はそのクラスのすべてのインスタンスにより共有される。各属性の後に、その属性の型の表示が来る。型は、基本型、またはDynaGlyphフレームワークによって定義された型(クラス)の1つへの参照、である。一重矢印は、参照クラスのインスタンスがその被参照クラスの単一インスタンスを参照することを示す。二重矢印は、1つまたは複数のインスタンスが参照されていることを示す。矢印の根元がひし形の場合、これは従属関係を示す。
【0124】
図には、各クラスの最も重要な属性のみ示されている。具象AnimationElementおよびAnimationStyleクラスのインスタンスは多くの場合、色、色の深み、背景イメージなどの他の属性を追跡する必要がある。これらのプロパティはふつうのものであるが、DynaGlyphフレームワークで明示的に要求されるわけではない。これは、実装者に任された設定上の問題であり、本実施形態の性質には直接関係するものではない。
【0125】
以下のクラスは、ほとんどのオブジェクト指向システムでは標準であり、当業者にはよく知られているかまたは容易にアクセスできる。
【0126】
Action−名前付きまたは無名関数。Smalltalkでは、アクションはアクション・プロトコルに準拠するオブジェクトである。メッセージ・セクタ(シンボル)、メッセージ、メッセージ送信、ブロックはすべて、このプロトコルに準拠する。
【0127】
Boolean−真または偽のいずれか。
Collection{Type}.−指定された型のオブジェクトのコレクション。この型がObjectの場合、任意の型のオブジェクトが受け付けられる。クラス階層のコンテキストでは、コレクションは通常ディクショナリ(辞書)を指定し、コレクションの各メンバーはSymbolキーで参照される。
Form−任意の深さのビットマップ/ピクスマップとして実装されているイメージ。フォームはさらに、イメージの原点(origin)とバウンディング・ボックス(bounding box)を表す矩形を備える。
GraphicsContext−GraphicsContextは、フォーム間のすべてのBitBLT(ビット・ブロック転送)描画を、処理し、追跡する。これは、現在の描画状態を追跡する。その描画状態はスタック可能である。
Integer−整数。
Ordered List(Type}−指定された型のオブジェクトの順序付けのあるコレクション。
Number−整数、固定小数点数、浮動小数点数、または分数。
Object−オブジェクト指向階層内の任意のオブジェクト。
Point−数値xとyからなる二次元デカルト(直交)座標の点。点は、標準コンピューター・グラフィックスの軸を使用し、x軸は右に向かって正、y軸は下に向かって正となるように取る。
Rectangle−左上と右下の2点により定義される二次元デカルト座標の矩形である。
Symbol−一意的な識別子。(通常は、一意的な文字列)。
ColorおよびUndefinedObjectは、このクラス階層図では明示的に参照していない別の重要な2つの基本型である。色は通常、RGB、またはフォーム内で使用する階調(gray scale)値である。Smalltalkでは、nilをUndefinedオブジェクトとして使用する。「nil」は、すべての高水準プログラミング言語では定義されていないが、その概念はすべてにおいて実装されている(または実装可能である)。
【0128】
DynaGlyph Class(型)
AnimationObject−AnimationObjectはDynaGlyphオブジェクト階層内のすべてのクラスの抽象スーパー・クラスである。他の基本型と同様に、Objectクラスから派生する。AnimationObjectは、フレームワーク内で使用される汎用ユーティリティ・メソッド(関数)の集積場所である。
Attributes(属性):
id−オブジェクトの一意的なidを参照する。
【0129】
AnimationContext−AnimationContextは、AnimationObjectから下降(descend)する抽象クラスである。AnimationContextは、そのインスタンスの下位要素包含階層と、要素(element)相互間の物理的レイアウトとを管理する。各AnimationContextインスタンスは、自分の局所座標系システム(its own local coordinate system)を使用する。
Attributes(属性):
AnimationContext−AnimationContextを収容するコンテキストを参照する。オブジェクトが包含コンテキストを持たないか、または最上位コンテキストの場合、AnimationContextはコンテキストそれ自体を参照する。
subcontexts−コンテキストに収容される0個またはそれ以上のAnimationContexts(AnimationElements)のコレクションを参照する。
location−包含コンテキストの座標系システムの原点からのオブジェクトの原点の距離である点を参照する。
bounds−自座標系システムの原点から測定したコンテキストのバウンディング・ボックスを参照する。
【0130】
AnimationElement−AnimationElementはAnimationContextから下降する抽象クラスである。AnimationElementは、AnimationElementオブジェクトの共通属性情報をすべて扱う。AnimationElementはさらに、要素の基本的な更新、妥当性確認および表示を扱う。
AnimationContextとAnimationElementは、まとめて、すでに述べたインジケータ・モデル・オブジェクトの実施形態である。これらの2つのクラスは、単一のクラスに組み合わせることができるが、2つの別々のクラスに分割し、インジケータ・モデルの構造面および機能面の態様を別々に抽象化した。
Attributes(属性):
style−適切な具象AnimationStyleオブジェクトを参照する。
isVisible−要素の視認性の論理値を参照する。isVisibleは、表示するかどうかを決定する。
valueState−要素の現在の(遷移)状態の主要な態様。この属性の解釈は、AnimationElementの具象下降クラスのそれぞれにより定義される。
currentStep−開始から終了までの現在の状態の遷移の進行状況を表す数値。currentStepは単位値により表すことができる(がそうする必要はない)。
properties−属性のコレクションを参照する。要素が特定のインスタンス変数(スロット)を持たない属性はこのディクショナリ内に保持することができる。(実装者側で、定義済みクラスに対し特定のスロットを追加することもできる)。
【0131】
AnimationDevice−AnimationDeviceは、AnimationElementから下降する具象クラスである。AnimationDeviceのインスタンスはアニメーションを実行するためAnimationElementインスタンス・ツリーのルートとして必要である。AnimationDeviceは、AnimationElementインスタンスのアニメーションタイミングを取る役割を持つ。
AnimationDeviceは、すでに述べているようにタイミング・デバイス・オブジェクトの実現(embodiment)である。
Attributes(属性):
timedActions−AETimedActionsの優先待ち行列または並べ替えリストを参照する。このリストは、昇順で並べ替えられ、AETimedActionsのstartTimeIndex、そのstopTimeIndex、および必要ならばそのidで優先度が設定される。
framesPerSecond−デバイスの更新頻度を参照する。
clockOffset−コンピュータ・システムのマスター時間インデックスからのデバイスのオフセットを参照する。マスター時間インデックスを自分のタイム・スケールに変換するのに使用される。
frameTick−現在のアニメーション・フレームの所望される時の刻みを参照する。frameTickは、clockOffsetとコンピュータ・システムの現在の時の刻みとともに使用し、次のframeTick時間を計算する。(刻みはハードウェア装置の設定によってサポートされているアトミックの具体的な時間単位である。)
internalGraphics−デバイスがダブル・バッファリング描画に使用する内部GraphicsContextを参照する。この属性はオプションである。
externalGraphics−デバイスの下位要素の最終的複合描画を表示するGraphicsContextを参照する。
【0132】
AETimedAction−AETimedActionは、AnimationObjectから下降する具象クラスである。そのインスタンスは、an AnimationElementインスタンス上で遅延アクション、または期間にわたって発生するアクション(遷移)を実行するために必要なすべての情報を保持する。
AETimedActionは、すでに述べているような計時信号オブジェクトの実現である。
Attributes(属性):
target−計時アクションのターゲットAnimationElementを参照する。
startTimeIndex−計時アクションの開始時間インデックスを参照する。
stopTimeIndex−計時アクションの停止時間インデックスを参照する。
actionMode−計時アクションの現在の状態を参照する(たとえば、開始待機、メイン・アクション実行中、もうじき終了)。
setupAction−主アクションが開始する直前に実行される設定アクションを参照する。設定アクションを実行すると、ターゲット・オブジェクトはターゲットの計時アクションのうち他方(たとえば、同じid、アクションをオーバーラップする期間の他のアクション)をオーバーライドする機会が与えられる。
primaryAction−計時アクションの期間にわたって繰り返される主アクションを参照する。
postAction−主アクションの期間が完了した直後に実行されるアクションを参照する。
【0133】
FrameSequence−FrameSequenceは、AnimationObjectから下降する具象クラスである。FrameSequenceインスタンスは、あらかじめ生成されているイメージのシーケンスおよびその運動経路をキャッシュするため、AnimationStyleオブジェクトにより使用される。FrameSequenceインスタンスは、1つまたは複数のイメージ、および1つまたは複数の場所の点を収容する。インスタンスが1つのイメージのみを参照する場合、この同じイメージを、順繰りにインスタンスの場所のそれぞれにある各フレーム内で使用する。インスタンスが1つの点だけを参照する場合、インスタンスのイメージのそれぞれがフレームもそれぞれの中の同じアンカー点で描画される。インスタンスが複数のイメージおよび点を参照する場合、各イメージは各アンカー点に順繰りに配置される。
Attributes(属性):
anchorPoints−点の順序付けられたコレクションを参照する。
forms−フォームの順序付けられたコレクションを参照する。
【0134】
AnimationStyle−AnimationStyleは、AnimationObjectから派生する抽象クラスである。AnimationStylesは、表示とAnimationElementsの遷移状態の管理を扱う。アニメーション・スタイルがAnimationElementインスタンスに接続された場合、アニメーション・スタイルにより下位要素または下位スタイルをインスタンスまたは下位要素に追加したり削除したりできる。
すべての具象AnimationStyleは遷移データのデータベースを持つ。デフォルトでは、データベースのキーは、スタイルでサポートしている特定の各遷移である。各キーで格納されているデータの性質はAnimationStyleのそれぞれの具象派生クラスにより定義される。
AnimationStyleのインスタンスはFrameSequencesを使用してその遷移に対するイメージ・データをキャッシュする。参照側AnimationElementインスタンスの型、バウンズ・エクステント(bounds extent)、色の深み、またはフレーム・カウントが変化した場合、AnimationStyleインスタンスのキャッシュをフラッシュしなければならない場合がある。AnimationStyleインスタンスに対してFrameSequencesを生成する場合、計算に非常に時間がかかることがある。このようなデータに対する不要な再ビルドを避けるために、それぞれの具象スタイル・クラスでそれ自身のすでにビルドされているインスタンスをキャッシュすることができる。
AnimationStyleは、すでに述べたようにアニメーション・スタイルオブジェクトの実現である。
Attributes(属性):
styleCache−このAnimationStyleのビルド済みインスタンスをキャッシュするコレクションを参照するクラス変数である。
transitionData−特定の具象AnimationStyleにより定義されているそれぞれの遷移について必要な遷移データのコレクションご参照する。(いくつかのAnimationStyleサブ・クラスはこの属性をクラス変数にすることができる。)
extent−スタイルのこのインスタンスのサイズを表す点を参照する。
depth−スタイルのこのインスタンスが表示される(色の)深みのビットを参照する。
frameCount−スタイルのこのインスタンスを使用して状態遷移を完全に段階的に通過するために使用されるフレームの個数を参照する。
frameSequences−このエクステント、深さ、およびフレーム・カウントでこのAnimationStyleを実装するために必要なFrameSequencesのデータベースを参照する。
【0135】
ConcreteAEとConcreteASクラス
ConcreteAEおよびConcreteASは、それぞれ、AnimationElementおよびAnimationStyleの実装者定義サブ・クラスを表す。DynaGlyphソフトウェア・フレームワークを使用するには、実装者側でAnimationElementおよびAnimationStyleの両方の少なくとも1つの具象サブ・クラスを定義しなければならない。具象AnimationStylesおよびAnimationElementsで、そのインスタンスに必要な追加属性を定義することができる。具象要素は、具象AnimationStyleオブジェクトを参照するだけである。それぞれの具象AnimationElementクラスはインジケータ・モデル、または実装者が定義するグリフに対応する。
【0136】
−alphaNumericonソフトウェア・フレームワークのまとめ
alphaNumericonは、複数のグリフからなるアルファベット内にある全てのグリフを他のグリフにダイナメート化するためのソフトウェア・フレームワークである。このフレームワークは、アプリケーション・ソフトウェアとともにユーティリティ・パッケージとして使用される。
alphaNumericonは、アプリケーション・ソフトウェアが、文字、数字、およびその他のグリフの表示にダイナメート化処理を利用することを可能にする。
【0137】
グリフは、具象AnimationElementsにより表される。AnimationElementは、他の具象AnimationElementsから再帰的に構成することができる。グリフ集合を表すために使用できるAnimationElementsについて、最大数はない。つまり、このフレームワークでは、一度に表現し表示できるグリフの最大数に制限を課していないということである。唯一の制限は、作業メモリ内で表すことができるオブジェクトの個数である。
【0138】
AnimationElementインスタンスのツリーをアニメーション化するために、ルートはAnimationDeviceでなければならない。デバイスには、要素の下位ツリーを開始し調整する状態情報および振る舞いのすべてが収容される。
【0139】
ソフトウェア・タイミング・デバイスとその下位要素のアニメーション化の過程で、アプリケーション・プログラムはグリフを表す要素の状態および属性を調整し、所望するアニメーションの振る舞いを実現する。
の調整は、直ちに、または設定された時間インデックスで、または時間インデックスから次の時間インデックスまでの範囲にわたって、その要素に対して行うことができる。
【0140】
フレームワーク内では、時間は、具体的な時間単位(たとえば秒)ではなく、時間インデックスのタームで表される。このため、タイム・スケールとalphaNumericonアニメーションのペースを簡単に調整できる。時間インデックスは、時間単位、たとえば、分、秒、1/10秒などを表すことができる。
【0141】
図11から19を参照すると、数種類のアニメーションの振る舞いが示されている。図に示されている振る舞いはすべて、ソフトウェア・コンポーネントの状態で実装され、そのソフトウェア・コンポーネントは、何らかの値を表すインジケータを表示する、アプリケーション・ソフトウェアのブラックボックス・コンポーネントとして、使用されている。アプリケーション・ソフトウェアとソフトウェア・コンポーネントは、プロセッサやその他のコンピュータ・ベースのデバイス上で実行される。プロセッサは、ソフトウェア・コンポーネントにより作成された出力イメージが最終的に表示される表示デバイス(display device)を、使用する。
【0142】
図11から19では、中心要素はソフトウェア・コンポーネントを表すボックスである。ボックスの左側には、ソフトウェア・コンポーネントへの1つまたは複数の入力が示されている。ソフトウェア・コンポーネントは、これらの入力を使って、イメージ出力として生成するイメージまたはイメージ・シーケンスを決定する。イメージ出力は常に、インジケータの現在の値−状態を表すイメージである。
【0143】
ボックスの中には2つの矩形長円形がある。一番上の長円形は、ソース値集合を表し、一番下の楕円形はデスティネーション値集合を表す。これらの値集合は、インジケータの使用可能な開始値とインジケータの使用可能な終了値を、表す。それぞれの長円形の中には、円があり、それぞれは、インジケータの有効な値を表す。これらの値は、状態V1からVnと呼ばれ、nは値集合の中の一意的な値の個数である。両方の長円形は同様の有効な値集合を表す。インジケータの有効な値毎に、その値を表す一意的なイメージが存在する。
【0144】
ソース値集合とデスティネーション値集合を表すそれぞれの楕円形の左に菱形がある。一番上の菱形は、ソース値からの遷移の開始時間を表す。一番下の菱形は、デスティネーション値への遷移の終了時間を表す。一番上の菱形から一番下の菱形への頭が広くなっている矢印がそこに置かれており、ソフトウェア・コンポーネント内の時間の流れの方向に注意を引くようになっている。
【0145】
図11から19では、ソース値集合からデスティネーション値集合までの1つまたは複数の太線の矢印がある。これらの矢印はそれぞれ、ソース値からデスティネーション値への遷移を行う一意的な手段を表す。実際の遷移の手段は、インジケータにとっては重要でない。アニメーションについての従来の手段を使用して、一方の値から他方の値への遷移を達成することができる。
【0146】
矢印はそれぞれ、パイプとして考えることができる。パイプを流れるものは重要でない。パイプの存在、およびその接続のレイアウトが重要なのである。
【0147】
インジケータの現在の状態は、それが表そうとしている値に密接に関連している。インジケータが静的状態にある場合、その現在状態はその値により定義される。インジケータがソース値からデスティネーション値へのアニメーション化された遷移を実行している過程にある場合、そのインジケータの現在の状態はその遷移のソース値とデスティネーション値により定義される。したがって、インジケータの状態はその値−状態と呼ばれる。
【0148】
図11を参照すると、単純なインジケータがそこに示されている。単純なインジケータとは、アニメーション化されていない基本的なインジケータである。この図は、単純な製品に見られるほとんどどのような電子的インジケータをも表すことができる。たとえば、コンピュータ画面、VCR、テレビの画面、デジタル時計、キャラクタ・ディスプレイ上のアニメーションを使用しないほとんどのインジケータがそうである。英数字ページャでは、有効な集合は、一度にその画面に表示できる数字と英字の使用可能な組み合わせを含む。空港のゲート・インジケータでは、有効な値集合は、インジケータが配置されている空港のゲートのすべての英字および数字の組み合わせを含む。
【0149】
ソース値は、インジケータの現在の値−状態である、つまり、現在表示されている静的値である。ソフトウェア・コンポーネントは、次の値の入力を受け取ると、ソフトウェア・コンポーネントの値−状態を新しい値に設定し、その新しい値に対応するイメージを出力する。その新しいイメージは、値の設定時に出力される。次の値に対する唯一の制限は、インジケータの有効な値集合にそれが含まれていなければならないという点である。
【0150】
図11では、ソース値の集合からデスティネーション値の集合まで1つのパイプしかないが、それは、遷移を実行する手段が1つしかないからである。遷移は瞬間的(または静的)なものなので、インジケータは単に、次の値−状態に設定されるだけであり、単一の新しいイメージが出力される。
【0151】
注釈: 単純なインジケータによりその値が変更され、イメージが十分速く生成される場合には、アニメーションが実行されているように見えることに留意されたい。しかし厳密にいうと、これは実際のアニメーションではない。インジケータのアニメーションは、ソース値−状態とデスティネーション値−状態の間の中間状態(複数)を表すイメージ(複数)を出力することとして定義される。これらの中間イメージ(複数)は、一意の静的ソースおよびデスティネーション・イメージとは異なっている。単純なインジケータでは、中間イメージをいっさい使用しないで1ステップだけで遷移を行うので、アニメーションにならない。
【0152】
ここでは示されていないが、図11から19までのインジケータはすべて、デフォルトで、単純なインジケータの振る舞いを行うことができる、つまり有効な値から他の有効な値への即時静的遷移を実行するということである。
【0153】
次に図12を参照すると、シーケンシャル・アニメーション化インジケータがそこに示されている。シーケンシャル・アニメーション化インジケータは、静的ソース値から静的デスティネーション値へ遷移するときに複数の一意的な中間イメージを生成するという点でアニメーション化されている。このインジケータは、任意の有効な値から他の任意の有効な値へではなく、1つの有効な値から次の(または前の)1つの有効な値に遷移することしかできないという点でシーケンシャルである。
【0154】
アプリケーション・ソフトウェアがインジケータの変更を開始すると、アプリケーション・ソフトウェアはソフトウェア・コンポーネントに2つの認可された入力値(canonical input 正規の入力値)、つまり次の値(現在の値の前の値または現在の値の後の値のいずれか)、およびアニメーション化された遷移が完了する時間、を送る。この入力は、他の明示的または暗示的入力がそのインジケータ用に定義され得るという点で、正規のものである。しかし、これらとは異なった入力も、最終的に、実効的な正規の入力に、細分化されることが可能である。
【0155】
インジケータへの有効な入力は、インジケータの現在の値−状態により制限される。次の値は、現在の値へのシーケンシャル隣接値でなければならない。この依存性は、ソース値から次のデスティネーション値入力まで延びている波線矢印で示されている。終了時間は開始時間の後にこなければならない。開始時間には、ソース値はインジケータの現在値になっている。デスティネーション値は、インジケータの次の値である。
【0156】
図12で、開始時間と終了時間の間には複数の水平矢印がある。これらの矢印を使用して、時間の経過を表す。これらの矢印はそれぞれ出力を指している。全体的に、これらの出力は、ソース値からデスティネーション値へ遷移の進行に従うインジケータの値−状態を表すために使用される複数のイメージを供給する。これらのイメージは、アニメーション化遷移のフレームとして使用される。
【0157】
図11の場合と異なり、図12には、複数のパイプ矢印がある。矢印はそれぞれ、特定のソース値から特定のデスティネーション値への遷移を行う一意的な手段を表す。たとえば、一意的なアニメーション化遷移を使用して、V2はV1またはV3に遷移することができる。シーケンシャル・アニメーション化インジケータでは、それぞれの値は2つの隣接値へのアニメーション化遷移しか実行できない。有効なかつ一意的な遷移手段の総数は、2×Nに等しい。
【0158】
図14を参照すると、アニメーション化エレベータ・インジケータが、主にシーケンシャル・インジケータの一例として示されている。このインジケータは、いくつかの値からは少数の特別な遷移(標準を超える)を持ち、また他の値についてはさらに少ない特別な遷移を持つ。しかし、まとめると、有効な遷移の一般的なパターンがシーケンシャルであり、遷移の総数が約2×Nであるという点でほとんどシーケンシャルである。
【0159】
エレベータを制御するアプリケーション・ソフトウェアでインジケータの変更を必要とする場合、これは、ソフトウェア・コンポーネントに2つの正規の入力値、つまり次の階と、アニメーション化遷移がそれ自身を完了する終了時間を送信する。終了時間は、エレベータがある階から他の階への移動に要する時間の量に基づく。他のシーケンシャル・アニメーション化インジケータと同様に、次の有効な入力値はインジケータの現在の値−状態に依存する。
【0160】
図13におけるシーケンシャル・ムービー・インジケータは、アニメーション的に一方の有効な値から他方の有効な値への値が遷移するインジケータである。シーケンシャル・アニメーション化インジケータのように、このインジケータは一方の値から他方の値に順番に遷移するときに複数のイメージを出力する。しかし、このインジケータは、アニメーション化される値があらかじめ定められているという点で、シーケンシャル・アニメーション化インジケータと異なっている。そのソフトウェア・コンポーネントは、特定の値への遷移をそのソフトウェア・コンポーネントに対して可能にする、アプリケーション・ソフトウェアからの、入力を受け付けることができない。ソフトウェア・コンポーネントが受け付けられる入力は、複数の値の所定のシーケンスにわたってそのアニメーションを開始するように、それに対して1つの指令を出すものだけである。
【0161】
そのアプリケーション・ソフトウェアは、ソフトウェア・コンポーネントに、イメージの出力を開始する入力を供給する。そのアプリケーション・ソフトウェアは、それらのイメージを受け取り、このイメージをムービーのフレームとして表示する。
【0162】
図6:共通アニメーション化インジケータ
図15で参照される共通アニメーション化インジケータは、単一の共通遷移方法を使用して有効なソース値から有効なデスティネーション値へアニメーション化するという事実から、その名前が付けられている。(実際、ソース値集合とデスティネーション値集合は無限であってもよいが、それは、ソース値からデスティネーション値への遷移がソース値またはデスティネーション値の関数となっていないからである。)シーケンシャル・アニメーション化インジケータと異なり、この共通インジケータは、次の値が有効な値集合の中に含まれていなければならないという点を除き、次の値入力に対する制限を持たない。
【0163】
このソフトウェア・コンポーネントは、汎用ラスター・ベースの遷移方法を使用して何らかの値から他の値へのアニメーション化遷移を実行することができる。この手法は、汎用のアニメーション化遷移を実行するうえで最も安価な手段である。
【0164】
遷移を生成する手段は1つしかないため、このソフトウェア・コンポーネントは、ソース値の集合からデスティネーション値の集合まで、1つのパイプしか持たない。何らかの値から別の値への遷移が一意的な外観を持つことは保証されない。
【0165】
このインジケータは、遷移の手段がソース値またはデスティネーション値に依存しないという点でシーケンシャル・アニメーション化インジケータと異なっている。共通アニメーション化インジケータなどのラスター手法は、静的ソース・イメージと静的デスティネーション・イメージを、直接的に(そのまま)使用して、遷移の中間イメージを生成する。静的ソース・イメージおよび静的停止イメージは何でも良い。ラスター手法では、ソース値またはデスティネーション値をまったく直接には使用しない。
【0166】
図16を参照すると、マルチ・モード共通アニメーション化インジケータがそこに示されている。共通インジケータは、ソース値からデスティネーション値へ遷移に、単一の汎用ラスター・ベースの手段を使用するが、同じソフトウェア・コンポーネントが、複数の汎用ラスター・ベースの手法を使用できる。ほとんどのアニメーション化電子情報表示は、表示値の間にアニメーション化された遷移を作成するさまざまなラスター・ベースの「効果」を備える。
【0167】
図16のソフトウェア・コンポーネントは、ラスター手法を使用するよう指定する追加入力を持つ。
【0168】
図17を参照すると、中間状態アニメーション化インジケータは、有効なソース値から有効なデスティネーション値へのアニメーション化遷移を実行できるという点で共通アニメーション化インジケータに類似している。これらは、2×N個のパイプを使用するという点でシーケンシャル・アニメーション化インジケータに類似している。
【0169】
一方の値から他方の値への遷移はすべて、2つの別々の下位遷移からなる。イメージ出力するプロセスのある時点で、すべての遷移が他のすべての遷移と共有する共通中間値−状態に達する。この共有中間値−状態のときに、そのエンジンは同じ共通イメージを出力する。
【0170】
共通アニメーション化インジケータよりも表現力が高いが、シーケンシャル・アニメーション化インジケータの場合のように各値の遷移が完全に一意であるとする遷移には、ならない。
【0171】
図18を参照すると、図1から10の実施形態によるダイナメート化インジケータが示されている。ダイナメート化インジケータ・ソフトウェア・コンポーネントは、すべての有効な値から他の有効な値への一意的な遷移を行う。そのことは、インジケータに対し、最も豊富で最も表現力のある使用可能なアニメーション化遷移の能力を与える。
【0172】
パイプ矢印はそれぞれ、特定のソース値から特定のデスティネーション値への遷移を行う一意的な手段を表す。図に示されている実施形態のソフトウェア・コンポーネントは、同じソース値から同じデスティネーション値への一意的なアニメーション化遷移を指定する、ことに留意されたい。
【0173】
図18には、各ソース−デスティネーションの値ペアに対するパイプが1つしか示されていないが、本実施形態では単一のソース値から単一のデスティネーション値への複数のパイプをサポートしている。そのために、ソフトウェア・コンポーネントは適切なパイプを選択することを目的に追加入力値を必要とする。
【0174】
図19を参照すると、マルチ・スタイル・ダイナメート化インジケータがそこに示されている。ソース値集合のすべてのメンバーとデスティネーション値集合のすべてのメンバの間の一意的な遷移の完全な列挙し、およびソース−デスティネーションの値集ペアに対する複数の手段(パイプ)を提供する他に、図に示されている実施形態は、ソフトウェア・コンポーネント内で複数のダイナメート化スタイルを使用することを可能にする。
【0175】
各スタイルは、完全な遷移集合に対する特定の統一された外観(look)を定義する。インジケータ全体で特定のスタイルを使用するか、またはインジケータを構成するグリフのそれぞれで異なるスタイルを同時にかつ独立に使用することができる。遷移の任意の時点に、このソフトウェア・コンポーネントはスタイルをグリフに再割り当てすることができる。
【0176】
マルチスタイル・インジケータ・ソフトウェア・コンポーネントは、使用すべき遷移スタイルと、どのグリフが使用されるべきかを指定する追加入力を受け付ける。図は、4つのスタイルを持つインジケータを示しているが、さらに多くのスタイルも可能である。
【0177】
例3
銀行の建物の外壁に、ふつうのアナログまたはデジタル・メカニズムのものではなくダイナメート化インジケータを採用した時刻−日付−温度を保持する時計がかかっている。ダイナメート化インジケータを使用すると、ふつうの時計よりも面白みがあるというだけでなく、銀行の客が時間の経過を、より視覚的にかつ瞬時に、理解することができる。別のレベルでは、ダイナメート化した時計は、銀行の建物に非常事態が発生したときに密かに警察に通報することに使用される。遷移のうち1つまたは複数に、図19のマルチ・スタイルのダイナメート化インジケータの遷移スタイルを変更することでもたらされるような、通常のものと微妙な違いがあることに気づくことで、警察はこのことに対して注意を喚起させられる。どの遷移が異なるか、またこのような遷移がどのように異なるかに応じて、さまざまな二次情報が伝達される。このような情報は、「内情に通じていない」人々にとっては実際に気づかれないものである。
【0178】
このように、ダイナメート化インジケータは、遷移のスタイルと手段を使用して、表示される一次データ以外の二次情報を伝達することができる。この2つのレベルの情報を使用することで、「秘密」情報をありふれた風景(plain sight)の中で伝達することができる。二次情報は、その二次情報が存在していることの知識のない見物人に対して、またはその二次情報のデコード方法、あるいは解釈方法についての知識のない見物人に対して「効果的に暗号化されている」といえる。ここで見物人は、人である必要はなく、動物でもよく、あるいは一次および/または二次情報を解釈するように設計された機械であってもよい。
【0179】
例4
ダイナメート化インジケータは、を使用すると、以前にはできなかったような新しい方法で時間を表示するのに使用することができる。通常、デジタル時計では、4ディジットまたは6ディジットが一度に表示され、時間と分、または時間、分、秒がそれぞれ表示される。時刻と日付を間欠的に交互に表示する時計もある。4ディジットの時計では、「時」は「月」に変わり、「分」は「日」に変わる。6ディジット時計では動作は似ているが、秒はさらに年に変わるという点が異なる。もちろん、米国以外の国では、多くの場合、その日付設定は別の配列になっているが、間欠的遷移の動作は類似している。
【0180】
ダイナメート化インジケータを使用すると、情報のこれらのモード間の遷移は、より面白く、注意を引く方法で完全にアニメーション化することができる。さらに、月および曜日についての英字略語も、間欠的なアニメーションで表示することもできる。この例は4ディジットと6ディジットの数字/文字時計の場合であるが、他の形式に対しても推定することもできる。
【0181】
行われていない形式の1つは、時刻と日付の2ディジット/文字を一度に表示するだけの時計である。これは、1)すでに4桁または6桁が使用できるときに表示される情報を2文字に減らす必要はないという広く受け入れられている考え、と、2)2文字が表している日付−時刻の部分を区別するためには、表示されている2文字だけから入手可能な手がかりは十分でない、という2つの主な理由のため行われてこなかったと推測する。
【0182】
しかし、ダイナメート化インジケータを使用すると、2つの文字だけで時刻と日付を効果的に表示することができる。そこで、滑らかなアニメーション化遷移を使用し、また時刻−日付単位の間の遷移のテンポを変えることで、表示されている日付−時刻の単位に注目し検出することができる。日付と時刻を表示するのに小さな表示面積しかない場合、2文字を使用することで、表示領域内においてその2文字をさらに大きくすることができ、その結果、読みやすくすることができる。これは特に、腕時計などの小型の製品や、PDA、電子レンジなどの小型家電製品の表示に役立つ。
【0183】
図20から30を参照すると、0から9までのディジットと「−」からなる値集合内のすべての値の遷移の例が示されている。「−」への遷移は、図20に示されている遷移と逆の遷移である。図21から30では、一番左の欄は静的開始値の結果として生成されるイメージを表し、続くそれぞれの欄(右へ移動)は、右のその欄内のイメージが生成される時刻に続いて発生する時刻の遷移イメージを表す。一番右の欄は、静的デスティネーション値の結果として生成されたイメージを表す。このアニメーション・スタイルは、FOLDING DIGITSアニメーション・スタイルという名前で販売される。
【0184】
ここで開示した発明は特定の実施形態とアプリケーションを使って説明したが、当業者であれば請求項に記載されている発明の範囲を逸脱することなく多数の修正およびバリエーションを加えることは可能である。
【図面の簡単な説明】
【図1】
示されている本発明の一実施形態によるダイナメート化されたインジケータ(dynamated indicator)装置を示すブロック図である。
【図2】
図1のダイナメート化されたインジケータ装置の一バリエーションなどのコンピュータ・メモリに格納されるソフトウェア・エンジンおよび複数のアプリケーション・ソフトウェア・システムのブロック図である。
【図3】
図1のダイナメート化されたインジケータ装置の他のバリエーションなどのコンピュータ・ネットワークを介して互いに結合された複数のコンピュータ・メモリに格納されるソフトウェア・エンジンおよび複数のアプリケーション・ソフトウェア・システムのブロック図である。
【図4】
図1のダイナメート化されたインジケータ装置の一バリエーションのソフトウェア・エンジンと複数のアプリケーション・ソフトウェアの間の通信を示すブロック図である。
【図5】
図4のソフトウェア・エンジンを備えるソフトウェア・オブジェクトを記述しているブロック図である。
【図6】
図4のソフトウェア・エンジンで使用できるような、有効値集合、静止イメージ表現の集合、および有効値集合に対する一意的な遷移シーケンスの完全に記述された集合、を示すブロック図である。
【図7】
ハート・モニタ例(heart monitor example)の、図4などのソフトウェア・エンジン内の、オブジェクト階層を示すブロック図である。
【図8】
折り返しディジット例(folding digit example)の、図4などのソフトウェア・エンジン内の、オブジェクト階層を示すブロック図である。
【図9】
一実施形態による方法を実行する際の、図4のソフトウェア・エンジンによりトラバース(traverse)されるステップを示すフローチャートである。
【図10】
図4などのソフトウェア・エンジン内のクラス階層を示すブロック図である。
【図11】
単純なインジケータの図式表現である。
【図12】
シ−ケンシャル・アニメーション化インジケータの図式表現である。
【図13】
シ−ケンシャル・ムービー・インジケータ(sequential movie indicator)の図式表現である。
【図14】
アニメーション化エレベータ・インジケータの図式表現である。
【図15】
共通アニメーション化インジケータの図式表現である。
【図16】
マルチ・モード・アニメーション化インジケータの図式表現である。
【図17】
中間値アニメーション化インジケータの図式表現である。
【図18】
図4のソフトウェア・エンジンを使用して達成できるようなダイナメート化インジケータの図式表現である。
【図19】
図4のソフトウェア・エンジンを使用して達成できるようなマルチ・スタイル・ダイナメート化インジケータの図式表現である。
【図20】
数字0から9、および「−」を備える値集合内の「−」値と他のすべての値との間の遷移のグラフィック表現である。
【図21】
数字0から9、および「−」を備える値集合内の「0」値とすべての値との間の遷移のグラフィック表現である。
【図22】
数字0から9、および「−」を備える値集合内の「1」値とすべての値との間の遷移のグラフィック表現である。
【図23】
数字0から9、および「−」を備える値集合内の「2」値とすべての値との間の遷移のグラフィック表現である。
【図24】
数字0から9、および「−」を備える値集合内の「3」値とすべての値との間の遷移のグラフィック表現である。
【図25】
数字0から9、および「−」を備える値集合内の「4」値とすべての値との間の遷移のグラフィック表現である。
【図26】
数字0から9、および「−」を備える値集合内の「5」値とすべての値との間の遷移のグラフィック表現である。
【図27】
数字0から9、および「−」を備える値集合内の「6」値とすべての値との間の遷移のグラフィック表現である。
【図28】
数字0から9、および「−」を備える値集合内の「7」値とすべての値との間の遷移のグラフィック表現である。
【図29】
数字0から9、および「−」を備える値集合内の「8」値とすべての値との間の遷移のグラフィック表現である。
【図30】
数字0から9、および「−」を備える値集合内の「9」値とすべての値との間の遷移のグラフィック表現である。
Claims (42)
- 複数のソース値を備えるソース値集合からソース値を受信すること、
複数のデスティネーション値を備えるデスティネーション値集合から、デスティネーション値を受信すること、および
受信した前記ソース値と受信した前記デスティネーション値の関数として、一意的な遷移シーケンスを生成すること
を備えることを特徴とする方法。 - さらに、
アニメーション・スタイルを選択すること、
前記ソース値の関数としてソース・イメージ出力を生成すること、
前記遷移シーケンスの関数として複数の遷移イメージ出力を生成すること、および
前記デスティネーション値の関数としてデスティネーション・イメージ出力を生成すること
を備えることを特徴とする請求項1に記載の方法。 - 前記ソース値を受信することは、さらに、少なくとも1つのグリフを含む前記ソース値を受信することを備えることを特徴とする請求項1に記載の方法。
- 前記一意的な遷移シーケンスを前記生成することは、前記グリフの操作を含むことを特徴とする請求項4に記載の方法。
- 前記ソース値を受信することは、さらに、少なくとも複数のグリフ集合を含む前記ソース値を受信することを備え、前記一意的な遷移を前記生成することは前記グリフ集合の操作を含むことを特徴とする請求項1に記載の方法。
- ソース値を表すイメージを表示(display)すること、
デスティネーション値を表すイメージを表示すること、および、
遷移イメージを表示することを備え、
前記遷移イメージは、前記ソース値および前記デスティネーション値の関数であることを特徴とする方法。 - さらに、遷移スタイルを選択することを備えることを特徴とする請求項6に記載の方法。
- さらに、複数の遷移イメージ集合を表示することを備えることを特徴とする請求項6に記載の方法。
- 前記遷移イメージは、少なくとも1つのグリフからなることを特徴とする請求項6に記載の方法。
- 前記ソース値は、使用可能なソース値の集合から選択され、
前記デスティネーション値は、使用可能なデスティネーション値の集合から選択されることを特徴とする請求項6に記載の方法。 - さらに、
使用可能なソース値の前記集合のそれぞれから使用可能なデスティネーション値の前記集合のそれぞれへの遷移を提供することを備えること特徴とする請求項10に記載の方法。 - さらに、複数の遷移スタイルを提供することを備えることを特徴とする請求項11に記載の方法。
- グラフィックス表示装置と、
メモリと、
タイミング装置と、
前記メモリ、前記タイミング装置、および前記グラフィック数表示装置に結合された処理装置とを備え、
前記処理装置は、第1の静的値から第2の静的値への遷移を提供するようにシステム構成され、
前記遷移は、前記第1の静的値および前記第2の静的値の関数であることを特徴とする装置。 - 前記処理装置は、前記第1の静的値から前記第2の静的値への遷移のテンポを変えるようにシステム構成されていることを特徴とする請求項13に記載の装置。
- 前記処理装置は、前記第1の静的値から前記第2の静的値への複数の遷移スタイルを提供するようにシステム構成されていることを特徴とする請求項13に記載の装置。
- 前記第1の静的値を表す第1のイメージは、前記グラフィックス表示装置上に表示されることを特徴とする請求項13に記載の装置。
- 前記第1のイメージは、少なくとも1つのグリフから構成されていることを特徴とする請求項16に記載の装置。
- メモリを備え、
前記メモリは、ソース値からデスティネーション値への遷移を提供するように構成されたコードを含み、
前記遷移は、前記ソース値および前記デスティネーション値の関数であることを特徴とする装置。 - 前記ソース値とデスティネーション値は、複数の下位グリフを備えることを特徴とする請求項18に記載の装置。
- 前記ソース値と前記デスティネーション値は、同じであることを特徴とする請求項18に記載の装置。
- 前記ソース値は、複数の表示オブジェクトを含むことを特徴とする請求項18に記載の装置。
- ソース値グループを作成すること、
デスティネーション値グループを作成すること、および
前記ソース値グループのメンバーから前記デスティネーション値グループのメンバーへの遷移を生成すること、を備え、
前記遷移は、前記ソース値グループの要素および前記デスティネーション値グループの要素の関数であることを特徴とする方法。 - さらに、複数の遷移スタイルを生成すること、を備えることを特徴とする請求項22に記載の方法。
- さらに、
ソース・イメージを表示すること、
遷移イメージを表示すること、および、
デスティネーション・イメージを表示すること
を備えることを特徴とする請求項22に記載の方法。 - 前記ソース・イメージと前記デスティネーション・イメージは、静止イメージであることを特徴とする請求項24に記載の方法。
- 前記ソース・イメージ、遷移イメージ、およびデスティネーション・イメージは、複数の下位グリフ群を備えることを特徴とする請求項24に記載の方法。
- イメージを表示する方法であって、
複数の下位グリフ群を備える第1のグリフを表示すること、
前記下位グリフを操作すること、および、
第2のグリフを表示すること
を備えることを特徴とする方法。 - さらに、前記下位グリフ群の数を増やすこと、を備えることを特徴とする請求項27に記載の方法。
- さらに、前記下位グリフの数を減らすこと、を備えることを特徴とする請求項28に記載の方法。
- 前記操作は、前記第1のグリフと前記第2のグリフの関数であることを特徴とする請求項27に記載の方法。
- 前記第1のグリフは、複数のプロパティを有することを特徴とする請求項27に記載の方法。
- 前記下位グリフは、前記第1のグリフから複数のプロパティを継承することを特徴とする請求項31に記載の方法。
- イメージを表示する方法であって、
ソース値を生成すること、
複数のデスティネーション値を生成すること、および、
前記ソース値から前記デスティネーション値のそれぞれへの個々の異なる遷移を生成すること
を備えることを特徴とする方法。 - 前記個々の異なる遷移は、前記ソース値とデスティネーションの1つについての関数であることを特徴とする請求項33に記載の方法。
- さらに、
複数のソース値を生成すること、および
前記ソース値のそれぞれから前記デスティネーション値のそれぞれへの個々の異なる遷移を生成すること
を備えることを特徴とする請求項33に記載の方法。 - さらに、
ソース・イメージを表示すること、
デスティネーション・イメージを表示すること、および
複数の遷移イメージを表示すること
を備えることを特徴とする請求項33に記載の方法。 - 前記ソース・イメージは、前記ソース値の関数であり、
前記デスティネーション・イメージは、前記デスティネーション値の1つについての関数である
ことを特徴とする請求項36に記載の方法。 - イメージを表示する方法であって、
複数のソース値を生成すること、
デスティネーション値を生成すること、および、
前記ソース値のそれぞれから前記デスティネーション値への個々の異なる遷移を生成することを含むことを特徴とする方法。 - 前記異なる遷移は、前記ソース値の1つとデスティネーションの関数であることを特徴とする請求項38に記載の方法。
- さらに、
複数のデスティネーション値を生成すること、および、
前記ソース値のそれぞれから前記デスティネーション値のそれぞれへの個々の異なる遷移を生成すること
を備えることを特徴とする請求項38に記載の方法。 - さらに、
ソース・イメージを表示すること、
デスティネーション・イメージを表示すること、および、
複数の遷移イメージを表示すること
を備えることを特徴とする請求項38に記載の方法。 - 前記ソース・イメージは、前記ソース値の1つについての関数であり、
前記デスティネーション・イメージは、前記デスティネーション値の1つについての関数であることを特徴とする請求項41に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US22329500P | 2000-08-03 | 2000-08-03 | |
PCT/US2001/024312 WO2002013175A2 (en) | 2000-08-03 | 2001-08-03 | Display of images and image transitions |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004506280A true JP2004506280A (ja) | 2004-02-26 |
Family
ID=22835892
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002518452A Pending JP2004506280A (ja) | 2000-08-03 | 2001-08-03 | イメージおよびイメージ遷移の表示 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7002583B2 (ja) |
EP (1) | EP1323154A2 (ja) |
JP (1) | JP2004506280A (ja) |
AU (1) | AU2001284699A1 (ja) |
CA (1) | CA2418108A1 (ja) |
WO (1) | WO2002013175A2 (ja) |
Families Citing this family (86)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7002583B2 (en) * | 2000-08-03 | 2006-02-21 | Stono Technologies, Llc | Display of images and image transitions |
CA2469415A1 (en) * | 2001-12-11 | 2003-06-19 | Superscape Group Plc | Method and apparatus for image construction and animation |
US7240075B1 (en) * | 2002-09-24 | 2007-07-03 | Exphand, Inc. | Interactive generating query related to telestrator data designating at least a portion of the still image frame and data identifying a user is generated from the user designating a selected region on the display screen, transmitting the query to the remote information system |
US20050071306A1 (en) * | 2003-02-05 | 2005-03-31 | Paul Kruszewski | Method and system for on-screen animation of digital objects or characters |
AU2003900809A0 (en) * | 2003-02-24 | 2003-03-13 | Aristocrat Technologies Australia Pty Ltd | Gaming machine transitions |
US20070097126A1 (en) * | 2004-01-16 | 2007-05-03 | Viatcheslav Olchevski | Method of transmutation of alpha-numeric characters shapes and data handling system |
US20050156931A1 (en) * | 2004-01-16 | 2005-07-21 | Olchevski Viatcheslav F. | Method of transmutation of alpha-numeric characters shapes and the data handling system |
US8443295B1 (en) * | 2004-09-17 | 2013-05-14 | Avaya Inc. | Graphical representation of definitions of statistics |
KR20070086037A (ko) | 2004-11-12 | 2007-08-27 | 목3, 인크. | 장면 간 전환 방법 |
US7442933B2 (en) | 2005-02-03 | 2008-10-28 | Lin Alice L | Bolometer having an amorphous titanium oxide layer with high resistance stability |
US7623130B1 (en) * | 2005-04-25 | 2009-11-24 | Apple Inc. | Text rendering with improved command stream operations |
US9079762B2 (en) | 2006-09-22 | 2015-07-14 | Ethicon Endo-Surgery, Inc. | Micro-electromechanical device |
US9196072B2 (en) * | 2006-11-13 | 2015-11-24 | Everyscape, Inc. | Method for scripting inter-scene transitions |
US7713265B2 (en) | 2006-12-22 | 2010-05-11 | Ethicon Endo-Surgery, Inc. | Apparatus and method for medically treating a tattoo |
US8801606B2 (en) | 2007-01-09 | 2014-08-12 | Ethicon Endo-Surgery, Inc. | Method of in vivo monitoring using an imaging system including scanned beam imaging unit |
US8273015B2 (en) | 2007-01-09 | 2012-09-25 | Ethicon Endo-Surgery, Inc. | Methods for imaging the anatomy with an anatomically secured scanner assembly |
US8216214B2 (en) | 2007-03-12 | 2012-07-10 | Ethicon Endo-Surgery, Inc. | Power modulation of a scanning beam for imaging, therapy, and/or diagnosis |
US7995045B2 (en) | 2007-04-13 | 2011-08-09 | Ethicon Endo-Surgery, Inc. | Combined SBI and conventional image processor |
US8626271B2 (en) | 2007-04-13 | 2014-01-07 | Ethicon Endo-Surgery, Inc. | System and method using fluorescence to examine within a patient's anatomy |
US8160678B2 (en) | 2007-06-18 | 2012-04-17 | Ethicon Endo-Surgery, Inc. | Methods and devices for repairing damaged or diseased tissue using a scanning beam assembly |
US7982776B2 (en) | 2007-07-13 | 2011-07-19 | Ethicon Endo-Surgery, Inc. | SBI motion artifact removal apparatus and method |
US9125552B2 (en) | 2007-07-31 | 2015-09-08 | Ethicon Endo-Surgery, Inc. | Optical scanning module and means for attaching the module to medical instruments for introducing the module into the anatomy |
US7983739B2 (en) | 2007-08-27 | 2011-07-19 | Ethicon Endo-Surgery, Inc. | Position tracking and control for a scanning assembly |
US7925333B2 (en) | 2007-08-28 | 2011-04-12 | Ethicon Endo-Surgery, Inc. | Medical device including scanned beam unit with operational control features |
US20090106447A1 (en) * | 2007-10-23 | 2009-04-23 | Lection David B | Method And System For Transitioning Between Content In Web Pages |
US20090119595A1 (en) * | 2007-11-06 | 2009-05-07 | Morris Robert P | Method And System For Presenting A Transition Effect Between Remotely-Sourced Content In A Browser |
US8314801B2 (en) * | 2008-02-29 | 2012-11-20 | Microsoft Corporation | Visual state manager for control skinning |
US8050520B2 (en) | 2008-03-27 | 2011-11-01 | Ethicon Endo-Surgery, Inc. | Method for creating a pixel image from sampled data of a scanned beam imager |
US8332014B2 (en) | 2008-04-25 | 2012-12-11 | Ethicon Endo-Surgery, Inc. | Scanned beam device and method using same which measures the reflectance of patient tissue |
US20100095371A1 (en) * | 2008-10-14 | 2010-04-15 | Mark Rubin | Visual authentication systems and methods |
KR100938992B1 (ko) * | 2009-06-02 | 2010-01-28 | 주식회사 릭스코 | 애니메이션 폰트파일 구조 및 휴대용 단말기의 텍스트 출력방법 |
KR20110055096A (ko) * | 2009-11-19 | 2011-05-25 | 삼성전자주식회사 | 휴대용 단말기에서 입체 효과 설정 방법 및 장치 |
US8648870B1 (en) * | 2010-08-02 | 2014-02-11 | Adobe Systems Incorporated | Method and apparatus for performing frame buffer rendering of rich internet content on display devices |
US8918715B2 (en) | 2010-11-16 | 2014-12-23 | Magix Ag | System and method for generating stereoscopic 3D multimedia works from 2D input material |
JP2012243077A (ja) * | 2011-05-19 | 2012-12-10 | Sony Corp | 情報処理装置、情報処理方法、及びプログラム |
US9235317B2 (en) | 2012-02-01 | 2016-01-12 | Facebook, Inc. | Summary and navigation of hierarchical levels |
US9645724B2 (en) | 2012-02-01 | 2017-05-09 | Facebook, Inc. | Timeline based content organization |
US9557876B2 (en) | 2012-02-01 | 2017-01-31 | Facebook, Inc. | Hierarchical user interface |
CN113472989A (zh) | 2012-11-28 | 2021-10-01 | 核心光电有限公司 | 多孔径成像系统以及通过多孔径成像系统获取图像的方法 |
CN108989647B (zh) | 2013-06-13 | 2020-10-20 | 核心光电有限公司 | 双孔径变焦数字摄影机 |
EP3779565A3 (en) | 2013-07-04 | 2021-05-05 | Corephotonics Ltd. | Miniature telephoto lens assembly |
CN108718376B (zh) | 2013-08-01 | 2020-08-14 | 核心光电有限公司 | 具有自动聚焦的纤薄多孔径成像系统及其使用方法 |
US9483479B2 (en) * | 2013-08-12 | 2016-11-01 | Sap Se | Main-memory based conceptual framework for file storage and fast data retrieval |
WO2015042901A1 (en) * | 2013-09-29 | 2015-04-02 | Microsoft Technology Licensing, Llc | Media presentation effects |
US9761033B2 (en) * | 2013-10-18 | 2017-09-12 | Apple Inc. | Object matching in a presentation application using a matching function to define match categories |
US8797330B1 (en) | 2013-10-18 | 2014-08-05 | Google Inc. | Systems and methods for detecting and animating changes in application state |
US9781801B2 (en) * | 2014-01-06 | 2017-10-03 | Dell Products, Lp | Performance lighting and control method |
US9392188B2 (en) | 2014-08-10 | 2016-07-12 | Corephotonics Ltd. | Zoom dual-aperture camera with folded lens |
CN107209404B (zh) | 2015-01-03 | 2021-01-15 | 核心光电有限公司 | 微型长焦镜头模块和使用该镜头模块的相机 |
KR101914894B1 (ko) | 2015-04-02 | 2018-11-02 | 코어포토닉스 리미티드 | 듀얼 광학 모듈 카메라의 듀얼 보이스 코일 모터 구조체 |
KR101963546B1 (ko) | 2015-04-16 | 2019-03-28 | 코어포토닉스 리미티드 | 소형 접이식 카메라의 오토 포커스 및 광학 이미지 안정화 |
CN110687655B (zh) | 2015-05-28 | 2022-10-21 | 核心光电有限公司 | 用于双孔径数字照相机中的光学图像稳定和自动对焦的双向刚度 |
KR102253997B1 (ko) | 2015-08-13 | 2021-05-20 | 코어포토닉스 리미티드 | 비디오 지원 및 스위칭/비스위칭 동적 제어 기능이 있는 듀얼-애퍼처 줌 카메라 |
KR102225727B1 (ko) | 2015-09-06 | 2021-03-10 | 코어포토닉스 리미티드 | 소형의 접이식 카메라의 롤 보정에 의한 자동 초점 및 광학식 손떨림 방지 |
KR102140882B1 (ko) | 2015-12-29 | 2020-08-04 | 코어포토닉스 리미티드 | 자동 조정가능 텔레 시야(fov)를 갖는 듀얼-애퍼처 줌 디지털 카메라 |
US20170236318A1 (en) * | 2016-02-15 | 2017-08-17 | Microsoft Technology Licensing, Llc | Animated Digital Ink |
CN111965919B (zh) | 2016-05-30 | 2022-02-08 | 核心光电有限公司 | 旋转滚珠引导音圈电动机 |
CN109639954B (zh) | 2016-06-19 | 2020-10-23 | 核心光电有限公司 | 双孔径摄影机中的帧同步系统和方法 |
WO2018007981A1 (en) | 2016-07-07 | 2018-01-11 | Corephotonics Ltd. | Linear ball guided voice coil motor for folded optic |
US10706518B2 (en) | 2016-07-07 | 2020-07-07 | Corephotonics Ltd. | Dual camera system with improved video smooth transition by image blending |
EP4246993A3 (en) | 2016-12-28 | 2024-03-06 | Corephotonics Ltd. | Folded camera structure with an extended light-folding-element scanning range |
KR102365926B1 (ko) | 2017-01-12 | 2022-02-23 | 코어포토닉스 리미티드 | 컴팩트 폴디드 카메라 |
EP3579040B1 (en) | 2017-02-23 | 2021-06-23 | Corephotonics Ltd. | Folded camera lens designs |
US10645286B2 (en) | 2017-03-15 | 2020-05-05 | Corephotonics Ltd. | Camera with panoramic scanning range |
WO2019048904A1 (en) | 2017-09-06 | 2019-03-14 | Corephotonics Ltd. | STEREOSCOPIC DEPTH CARTOGRAPHY AND COMBINED PHASE DETECTION IN A DOUBLE-OPENING CAMERA |
US10951834B2 (en) | 2017-10-03 | 2021-03-16 | Corephotonics Ltd. | Synthetically enlarged camera aperture |
CN113075838B (zh) | 2017-11-23 | 2022-11-29 | 核心光电有限公司 | 摄影机及制法、移动电子设备及减小凸起占用空间的方法 |
CN110352371B (zh) | 2018-02-05 | 2022-05-13 | 核心光电有限公司 | 减少高度容余的折叠摄像装置 |
WO2019155289A1 (en) | 2018-02-12 | 2019-08-15 | Corephotonics Ltd. | Folded camera with optical image stabilization |
US10694168B2 (en) | 2018-04-22 | 2020-06-23 | Corephotonics Ltd. | System and method for mitigating or preventing eye damage from structured light IR/NIR projector systems |
US11268829B2 (en) | 2018-04-23 | 2022-03-08 | Corephotonics Ltd | Optical-path folding-element with an extended two degree of freedom rotation range |
CN111316346B (zh) | 2018-08-04 | 2022-11-29 | 核心光电有限公司 | 摄像机上方的可切换连续显示信息系统 |
WO2020039302A1 (en) | 2018-08-22 | 2020-02-27 | Corephotonics Ltd. | Two-state zoom folded camera |
WO2020144528A1 (en) | 2019-01-07 | 2020-07-16 | Corephotonics Ltd. | Rotation mechanism with sliding joint |
CN111971956B (zh) | 2019-03-09 | 2021-12-03 | 核心光电有限公司 | 用于动态立体校准的方法及系统 |
EP3837662A4 (en) | 2019-07-31 | 2021-12-15 | Corephotonics Ltd. | SYSTEM AND METHOD FOR GENERATING BACKGROUND BLUR DURING CAMERA PAN or MOVEMENT |
US11659135B2 (en) | 2019-10-30 | 2023-05-23 | Corephotonics Ltd. | Slow or fast motion video using depth information |
US11949976B2 (en) | 2019-12-09 | 2024-04-02 | Corephotonics Ltd. | Systems and methods for obtaining a smart panoramic image |
US11770618B2 (en) | 2019-12-09 | 2023-09-26 | Corephotonics Ltd. | Systems and methods for obtaining a smart panoramic image |
KR20220003550A (ko) | 2020-04-26 | 2022-01-10 | 코어포토닉스 리미티드 | 홀 바 센서 보정을 위한 온도 제어 |
WO2021234515A1 (en) | 2020-05-17 | 2021-11-25 | Corephotonics Ltd. | Image stitching in the presence of a full field of view reference image |
CN114080565B (zh) | 2020-05-30 | 2024-01-19 | 核心光电有限公司 | 用于获得超微距图像的系统和方法 |
EP4202521A1 (en) | 2020-07-15 | 2023-06-28 | Corephotonics Ltd. | Point of view aberrations correction in a scanning folded camera |
US11637977B2 (en) | 2020-07-15 | 2023-04-25 | Corephotonics Ltd. | Image sensors and sensing methods to obtain time-of-flight and phase detection information |
US11946775B2 (en) | 2020-07-31 | 2024-04-02 | Corephotonics Ltd. | Hall sensor—magnet geometry for large stroke linear position sensing |
KR102480820B1 (ko) | 2020-08-12 | 2022-12-22 | 코어포토닉스 리미티드 | 스캐닝 폴디드 카메라의 광학 이미지 안정화 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08155104A (ja) * | 1994-12-05 | 1996-06-18 | Sankyo Kk | 遊技機 |
JPH105406A (ja) * | 1996-06-19 | 1998-01-13 | Sankyo Kk | 弾球遊技機 |
JPH11238141A (ja) * | 1998-02-20 | 1999-08-31 | Fujitsu Ltd | 動画像合成表示システム |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5353391A (en) | 1991-05-06 | 1994-10-04 | Apple Computer, Inc. | Method apparatus for transitioning between sequences of images |
US5359712A (en) * | 1991-05-06 | 1994-10-25 | Apple Computer, Inc. | Method and apparatus for transitioning between sequences of digital information |
US6232965B1 (en) * | 1994-11-30 | 2001-05-15 | California Institute Of Technology | Method and apparatus for synthesizing realistic animations of a human speaking using a computer |
US5966121A (en) * | 1995-10-12 | 1999-10-12 | Andersen Consulting Llp | Interactive hypervideo editing system and interface |
US5926190A (en) * | 1996-08-21 | 1999-07-20 | Apple Computer, Inc. | Method and system for simulating motion in a computer graphics application using image registration and view interpolation |
JP2927350B2 (ja) * | 1997-03-27 | 1999-07-28 | 株式会社モノリス | 多重解像度フィルタ処理方法およびその方法を利用することのできる画像マッチング方法 |
US6057833A (en) * | 1997-04-07 | 2000-05-02 | Shoreline Studios | Method and apparatus for providing real time enhancements and animations over a video image |
US6147692A (en) * | 1997-06-25 | 2000-11-14 | Haptek, Inc. | Method and apparatus for controlling transformation of two and three-dimensional images |
US6091505A (en) * | 1998-01-30 | 2000-07-18 | Apple Computer, Inc. | Method and system for achieving enhanced glyphs in a font |
JP4434355B2 (ja) * | 1998-03-27 | 2010-03-17 | キヤノン株式会社 | アニメ―ションフォント作成装置 |
US6268846B1 (en) * | 1998-06-22 | 2001-07-31 | Adobe Systems Incorporated | 3D graphics based on images and morphing |
GB9901514D0 (en) * | 1999-01-25 | 1999-03-17 | Koninkl Philips Electronics Nv | Displaying images |
US7002583B2 (en) | 2000-08-03 | 2006-02-21 | Stono Technologies, Llc | Display of images and image transitions |
-
2001
- 2001-08-02 US US09/922,498 patent/US7002583B2/en not_active Expired - Fee Related
- 2001-08-03 WO PCT/US2001/024312 patent/WO2002013175A2/en active Search and Examination
- 2001-08-03 EP EP01963776A patent/EP1323154A2/en not_active Withdrawn
- 2001-08-03 AU AU2001284699A patent/AU2001284699A1/en not_active Abandoned
- 2001-08-03 CA CA002418108A patent/CA2418108A1/en not_active Abandoned
- 2001-08-03 JP JP2002518452A patent/JP2004506280A/ja active Pending
-
2005
- 2005-09-21 US US11/233,604 patent/US7379065B2/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08155104A (ja) * | 1994-12-05 | 1996-06-18 | Sankyo Kk | 遊技機 |
JPH105406A (ja) * | 1996-06-19 | 1998-01-13 | Sankyo Kk | 弾球遊技機 |
JPH11238141A (ja) * | 1998-02-20 | 1999-08-31 | Fujitsu Ltd | 動画像合成表示システム |
Also Published As
Publication number | Publication date |
---|---|
WO2002013175A2 (en) | 2002-02-14 |
CA2418108A1 (en) | 2002-02-14 |
WO2002013175A9 (en) | 2003-04-03 |
US7379065B2 (en) | 2008-05-27 |
EP1323154A2 (en) | 2003-07-02 |
AU2001284699A1 (en) | 2002-02-18 |
US20020075284A1 (en) | 2002-06-20 |
US7002583B2 (en) | 2006-02-21 |
WO2002013175A3 (en) | 2002-04-25 |
US20060017735A1 (en) | 2006-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004506280A (ja) | イメージおよびイメージ遷移の表示 | |
US7173623B2 (en) | System supporting animation of graphical display elements through animation object instances | |
RU2324229C2 (ru) | Визуальный и пространственный графические интерфейсы | |
Frishman et al. | Online dynamic graph drawing | |
US20180374184A1 (en) | Methods and apparatuses for providing a hardware accelerated web engine | |
US7486294B2 (en) | Vector graphics element-based model, application programming interface, and markup language | |
JP4796499B2 (ja) | 映像およびシーングラフインターフェイス | |
CN105096368B (zh) | 三维对象处理方法和相关装置 | |
CN113287154A (zh) | 基础设施模型几何形状到图块格式的转换 | |
CN113287153A (zh) | Hlod树的动态前端驱动生成 | |
Peterson | Interactive cartographic animation | |
JPH0877387A (ja) | 映像提示装置 | |
US7091970B2 (en) | Mapping display space | |
Mudge et al. | 3d modeling for non-expert users with the castle construction kit v0. 5 | |
Shi et al. | A new interactive information visualization framework based on the object-oriented views of querying and visualizing databases | |
EP2377098A1 (en) | Manipulating unloaded objects | |
Wu et al. | Weather services products generation system based on GIS geoprocessing | |
Tatzmann | Dynamic exploration of large graphs | |
Che et al. | The application of GDI+ in electronic map visualization | |
CN111273977A (zh) | 三维可视化平台的场景自动更新方法及更新设备 | |
CN116149636A (zh) | 一种poi标签的分级展示方法、系统及装置 | |
Martynenko et al. | GIS for modeling cartographic design | |
Shao et al. | Modeling and simulation of virtual grinding machine | |
Jones et al. | Animation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080801 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110114 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110414 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110421 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110512 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20110519 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20110614 |
|
A072 | Dismissal of procedure [no reply to invitation to correct request for examination] |
Free format text: JAPANESE INTERMEDIATE CODE: A073 Effective date: 20111007 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20111104 |