(57)【要約】【課題】  カスタマイズ可能な指示インディシアの描画方法を提供する。【解決手段】  本方法は、アプリケーションプログラムインタフェースメッセージングを監視するとともに、特有のシステムポインタ識別子の呼び出しを中断する工程を含む。予め定義されたベクトル形状の記憶されたコレクションにアクセスし、そこから予め定義されたベクトル形状が、現用システムポインタ識別子に相関して選択される。ストロークおよびフィルの属性が、ベクトル形状に対して設定される。様々な属性を有するベクトル形状の一連のラスタライズフレームが形成されるとともに表示されて、動画化された指示インディシアの効果がもたらされる。カスタマイズされたベクトル形状がラスタライズされ、コンピュータを操作するエンドユーザに表示される。ユーザ入力に呼応して、指示インディシアのカスタマイズ、動画化、および拡大が実行され、ユーザ入力はタッチスクリーンイベント、体の動き、ハンドジェスチャ、マウスイベント、またはキーストロークである。【選択図】図１
2016529533.tif 000002
【特許請求の範囲】
【請求項１】
カスタマイズされた指示インディシアの表示方法であって、
オペレーティングシステムのアプリケーションプログラムインタフェースから、現用システムのポインタ識別子を特定する工程と、
予め定義された指示インディシアのベクトル形状の記憶されているコレクションにアクセスする工程と、
前記コレクションから予め定義されたベクトル形状を選択する工程と、前記選択されたベクトル形状は現用システムのポインタ識別子と相関するものであり、
前記選択されたベクトル形状に対して、その輪郭を定義する所定のストローク属性を設定する工程と、
前記選択されたベクトル形状をラスタライズする工程と、
前記ラスタライズされたベクトル形状を表示する工程と
を含む方法。
【請求項２】
前記ストローク属性は、色、不透明さ、幅、線端、角の形状、およびダッシュから構成されるグループから選択される、請求項１の方法。
【請求項３】
前記ラスタライズされたベクトル形状を表示する前に、前記選択されたベクトル形状の本体を定義するものに対して、所定のフィル属性を設定する工程をさらに含む、請求項１の方法。
【請求項４】
前記指示インディシアの下のバックグラウンドデスクトップのRGB値を検出するとともに、バックグラウンドデスクトップとストローク色の間にはっきりとしたコントラストをもたらすために、ストローク色を自動的に再度色付けする工程をさらに含む、請求項３の方法。
【請求項５】
前記ストローク色はフィル色と異なっており、前記指示インディシアの周囲に視覚的にはっきりした輪郭境界を形成する、請求項４の方法。
【請求項６】
再利用するためにラスタライズされた形状をキャッシングする工程をさらに含む、請求項１の方法。
【請求項７】
前記ストローク属性はユーザ入力に呼応して設定される、請求項１の方法。
【請求項８】
前記ユーザ入力は、キーストローク、マウスホイールイベント、マウスジェスチャ、およびそれらの組み合わせから構成されるグループから選択される、請求項７の方法。
【請求項９】
前記ユーザ入力はタッチスクリーンを介して受信され、前記ユーザ入力は、タッチホルド、タッチタップ、タッチドラッグ、タッチフリック、ピンチ、マルチタッチ、タッチジェスチャパターン、ステンシルインプット、およびそれらの組合せから構成されるグループから選択される、請求項７の方法。
【請求項１０】
前記ユーザ入力は、構造化光スキャナにより感知され、ユーザ指令はハンドジェスチャ、体の動き、顔の表情、およびそれらの組合せから構成されるグループから選択される、請求項７の方法。
【請求項１１】
前記ユーザ入力は、マイクを介して受信される音声指令である、請求項７の方法。
【請求項１２】
指示インディシアの動画化方法であって、
オペレーティングシステムのアプリケーションプログラムインタフェースから現用システムのポインタ識別子を特定する工程と、
予め定義された指示インディシアのベクトル形状の記憶されているコレクションにアクセスする工程と、
前記コレクションから予め定義されたベクトル形状を選択する工程と、前記選択されたベクトル形状は前記現用システムのポインタ識別子と相関しており、
前記選択されたベクトル形状の一組のラスタライズフレームを形成する工程と、前記ラスタライズフレームは異なる属性を有しており、
前記ラスタライズフレームを所定期間連続表示する工程と
を含む方法。
【請求項１３】
前記選択されたベクトル形状のラスタライズフレームの属性は、ストローク色、ストローク重量、ストロークの不透明さ、フィル色、フィルの不透明さ、拡大倍率、およびアスペクト比から構成されるグループから選択される、請求項１２の方法。
【請求項１４】
連続するラスタライズフレームの少なくとも１個の属性は、前記ラスタライズフレームが連続表示されるときに、視覚的動画効果をもたらす程度に、前のラスタライズフレームと異なる、請求項１２の方法。
【請求項１５】
再使用するためにラスタライズ形状をキャッシュする工程をさらに含む、請求項１２の方法。
【請求項１６】
一組のラスタライズフレームを形成するとともに、前記ラスタライズフレームを連続表示することにより動画化された指示インディシアを描画する工程は、ユーザ入力に呼応して実行される、請求項１２の方法。
【請求項１７】
前記ユーザ入力は、キーストローク、マウスホイールイベント、マウスジェスチャ、およびそれらの組合せから構成されるグループから選択される、請求項１６の方法。
【請求項１８】
前記ユーザ入力はタッチスクリーンを介して受信され、前記ユーザ入力はタッチホルド、タッチタップ、タッチドラッグ、タッチフリック、ピンチ、マルチタッチ、タッチジェスチャパターン、ステンシル入力、およびそれらの組み合わせから構成されるグループから選択される、請求項１６の方法。
【請求項１９】
前記ユーザ入力は構造化光スキャナにより感知され、前記ユーザ入力はハンドジェスチャ、体の動き、顔の表情、およびそれらの組み合わせから構成されるグループから選択される、請求項１６の方法。
【請求項２０】
前記ユーザ入力はマイクを介して受信される音声指令である、請求項１６の方法。
【請求項２１】
拡大された指示インディシアの描画方法であって、
ユーザ入力を受信する工程と、
前記ユーザ入力に呼応して、オペレーティングシステムのアプリケーションプログラムインタフェースから現用システムのポインタ識別子を特定する工程と、
予め定義された指示インディシアのベクトル形状の記憶されているコレクションにアクセスする工程と、
前記コレクションから予め定義されたベクトル形状を選択する工程と、前記選択されたベクトル形状は前記現用システムのポインタ識別子と相関しており、
前記ベクトル形状を拡大倍率にスケーリングする工程と、
前記スケーリングされたベクトル形状をラスタライズする工程と、
前記ラスタライズされた形状を表示する工程とを含み、前記指示インディシアはバックグラウンドの内容とは独立して拡大される
方法。
【請求項２２】
前記ユーザ入力はキーストローク、マウスホイールイベント、マウスの移動、およびそれらの組み合わせから構成されるグループから選択される、請求項２１の方法。
【請求項２３】
前記ユーザ入力はタッチスクリーンを介して受信され、前記ユーザ入力はタッチホルド、タッチタップ、タッチドラッグ、タッチフリック、ピンチ、マルチタッチ、タッチジェスチャパターン、ステンシル入力、およびそれらの組合せから構成されるグループから選択される、請求項２１の方法。
【請求項２４】
前記ユーザ入力は構造化光スキャナにより感知され、前記ユーザ入力はハンドジェスチャ、体の動き、顔の表情、およびそれらの組合せから構成されるグループから選択される、請求項２１の方法。
【請求項２５】
前記ユーザ入力はマイクを介して受信される音声指令である、請求項２１の方法。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本願は、「ベクトルに基づく拡大ポインタ」と題されて2013年5月31日に出願された米国特許出願第13/907,282号の継続であり、この出願は、「ベクトルに基づく拡大ポインタ」と題されて2010年7月1日に出願された米国特許出願第12/828,765号の一部継続であるとともに、2009年7月2日の優先日を主張しており、参照により本明細書に援用される。
【技術分野】
【０００２】
本発明は、コンピュータ表示インタフェースのカスタマイズに関し、特に、その指示インディシアのカスタマイズに関する。
【背景技術】
【０００３】
低視力者は、テキストと画像を識別するために、コンピュータスクリーンインタフェースのカスタマイズを必要とすることが多い。カスタマイズシステムは、オペレーティングシステム自体に構築され、或いは、フロリダ州セントピータースバーグに本拠地を置くフリーダムサイエンティフィック社(Freedom Scientific Inc.)により製造されるMAGICブランドとして販売されているような機能豊富な第三者製品を含む。
【０００４】
当該技術分野の現在の状況では、カーソルやキャレットなどの指示インディシアを、小さな寸法から大きな寸法へスケーリングすることができない。例えば、全てのマウスポインタは、個別の最小寸法と共通の最大寸法を備える。最小寸法は、マウスポインタでは、システム測定基準の複数個分である。一般的に、この測定基準は、ワシントン州レドモンドのマイクロソフト社(Microsoft Corporation)によりWINDOWS 7、VISTA、ＸＰのブランドで販売されているオペレーティングシステムでは、32×32ピクセルである。しかし、マウスポインタがこの測定基準内で、16×16四方のみを占めて左上に揃えられることもよくある。
【０００５】
スクリーンが高倍率、例えば16倍に拡大されるとき、マウスポインタは画素に分解され、ユーザの気が散らされることになる。画素化を低減させるために、様々な平滑化技術が利用され得るが、このプロセスではＣＰＵサイクルを消費するとともに、不完全な結果となりかねない。ジャグされた画素化指示インディシアの表示に伴う低視力ユーザへの一連の問題として、このような欠点は、低視力ユーザの明瞭に見る能力に対する自信を損なわせかねず、ユーザは、この欠点が指示インディシアの拡大によってもたらされたのかどうか、また、ユーザの低視力が認識された不完全さをもたらしたのかどうかわからない。
【０００６】
更に別の欠点としては、指示インディシアのカスタマイズが制限されていることにある。低視力ユーザの中には、特定の色を識別することが困難な人もいることから、指示インディシアがコンピュータスクリーンをナビゲートするときに、その動きを認識したり見たりすることが負担であったり、また不可能でさえある。したがって、低視力ユーザがスクリーンのバックグラウンドコンテンツから指示インディシアをより良好に区別できるように、指示インディシアの輪郭や本体が独立して色付けされたベクトルに基づく指示インディシアが必要である。
【０００７】
最後に、指示インディシアの動画化は当該技術分野では周知であるが、特に高拡大倍率で画素化されたカーソルの動画化では、上述の欠点に悩まされることになる。したがって、ベクトルに基づく指示インディシアの動画化方法が必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
マウスポインタや他のグラフィック要素を滑らかに拡大し、動画化し、或いはカスタマイズする能力は、最終描画（スクリーンへの作画）に最終的に使用される初期にキャッシュされたラスタライズ画像を作成するために、ベクトルに基づく画像を使用することにより、大きく強化される。その理由としては、ベクトルに基づく画像の形状や要素は、ビットマップではなく式によって描かれるからである。現在では、全てのマウスポインタはビットマップによって描かれている。ビットマップは拡大されたときに、本質的に「塊状」且つ「階段状」になる。スケーリングされたビットマップの人工的な「平滑化」に適用されるスケーリング後処理はあるが、スケーリングされたベクトル画像から生成される画像と同程度にくっきりとされるとともに、はっきりと縁取られた画像を生成することは不可能である。
【課題を解決するための手段】
【０００９】
本発明の一実施形態では、カスタマイズされた（即ち、色付けされた）指示インディシアの描画方法を提供する。本方法は、アプリケーションプログラムインタフェースメッセージングを監視する工程と、現用システムのポインタ識別子（そのハンドルなど）に対する呼び出しを中断する工程と、予め定義されたベクトル形状の記憶されたコレクションにアクセスする工程と、ベクトル形状のコレクションから、システムのポインタ識別子に相関する予め定義されたベクトル形状を選択する工程を含む。所定のストロークの属性が選択されたベクトル形状に対して設定され、これは次に指示インディシアとしてラスタライズされて表示される。ストロークの属性の中には、色、不透明さ、幅、線端、角の形状、およびダッシュを含む。
【００１０】
本発明の一実施形態において、指示インディシアのホットスポットの下のデスクトップ色が引き出され、ストロークは、指示インディシアの外側部分とバックグラウンドの境界にコントラストをもたらすように、自動的に修正される。例えば、ＲＧＢ値の純白バックグラウンドは、255,255,255である。カーソルのストローク色がユーザにより白色として最初に設定されたならば、ストロークは、指示インディシアが白色バックグラウンドの上を移動するときに視覚的に消失する。例証として、バックグラウンドＲＧＢおよびストロークＲＧＢ値は、リアルタイムで監視される。各ＲＧＢ値間の自然数の差の合計が閾値より小さいならば、現用のソフトウェアは、コントラストをもたらすように、ストロークの色を自動的に変更する。例えば、閾値が合計で150に設定されるならば、205,205,205（薄い灰色）のバックグラウンドＲＧＢ値は、ストローク色に自動的な変化を引き起こす。同様の機能により、105,255,255(青緑色)および245,245,125（黄色）のＲＧＢ値もまた、白色バックグラウンドから十分なコントラストをもたらすものではないので、自動的な変化が引き起こされる。閾値が検出されたときに、次の工程としては、ストローク値を自動的に変更することである。これは、ＲＧＢ値を明確に変化させる機能により行われ得る。ＲＧＢ値は0から255に及ぶ。したがって、最初の205,205,205（薄い灰色）の例であれば、値が127よりも大きいならば75を引き、値が127よりも小さいならば75を足すという単純な機能が与えられる。したがって、205,205,205は130,130,130の濃い灰色になり、白色バックグラウンドと対照して目立つようになる。105,255,255の青緑色ストロークは、茶色の180,130,130（白色に対して良好に対照する）に自動的に変更される。
【発明の効果】
【００１１】
本特徴の効果としては、ストロークの値を変更可能にして、バックグラウンドと混ざらないようにする一方で、指示インディシアの本体は一定のままである。従って、フィルは、視覚的な混乱を生じさせかねるようにデスクトップのバックグラウンドに呼応して色を変化させることはなく、エンドユーザは、ストロークの色だけの変更によって、指示インディシアの境界を明確に認識したままでいられる。本発明の別の実施形態では、ラスタライズに先立ち、ベクトル形状に対して所定のフィル属性を設定し、ひいては、指示インディシア本体の外観をカスタマイズすることによる指示インディシアのカスタマイズを提供する。フィルの属性には、色および不透明さを含む。
【００１２】
一実施形態において、現用システムのポインタ識別子に対応して、予め定義されたベクトル形状を選択する工程の後に、選択されたベクトル形状に基づき、一組のラスタライズされたフレームが形成される。各ラスタライズフレームは様々な属性、例えばストロークおよびフィルの属性や拡大倍率を有する。フレームは所定期間、連続して表示され、動画化された指示インディシアが描画される。
【００１３】
本発明の実施形態において、指示インディシアのカスタマイズ、動画化、および拡大は、ユーザ入力に呼応して行われる。ユーザ入力は、例えば、キーストローク、マウスホイールイベント、マウスの移動、多様なタッチスクリーン入力、ユーザのハンドジェスチャ、体の動き、顔の表情、音声指示等、様々な種類のものであってよい。このようなユーザ入力を検知するべく、スクリーン上で指示インディシアが拡大される電子機器には、タッチスクリーン、キーボード、マウス、構造化光スキャナ、およびマイクの少なくともいずれかを備える必要がある。
【００１４】
現用システムのポインタ識別子の呼び出しを積極的に中断することに代えて、或いはそれに加えて、オペレーティングシステムがその現在の設定に関して積極的にポーリングを行い、現用システムのポインタ識別子が解決されてもよい。
【００１５】
効率化や応答性を促すために、カスタマイズされたストロークおよびフィルの属性や拡大倍率を備え、先にラスタライズされた形状は記憶され、形状を再度カスタマイズ、スケーリング、ライスタマイズすることなく、キャッシュメモリを介して再び呼び出されてもよい。形状は、典型的には、利用可能な記憶装置に記憶されてよく、記憶装置は例えば、磁気ハードドライブ、半導体ドライブ、およびＲＡＭの少なくともいずれかを含む。
【００１６】
本発明は、ソフトフェア・プログラムをコンピュータ上で操作する方法を実行するために、コンピュータ実行可能指示を有する1またはそれより多くの非一時的コンピュータ可読媒体に具体化され得る。非一時的コンピュータ可読媒体に記憶される指示は、アプリケーションとして実行され、スクリーン出力を変更するために、ディスプレイドライバのレベルで作動および相互作用するオペレーティングシステムとは区別される。或いは、非一時的コンピュータ可読媒体は、本発明の新規の機能を達成するために、オペレーティングシステム、或いはそのアップデートを含むものであってもよい。
【００１７】
本発明をより完全に理解するために、添付の図面と合わせて、以下の詳細の説明を参照する。
【図面の簡単な説明】
【００１８】
【図１】低視力ユーザが1倍拡大の画面を見ている状態を示す本発明の一実施形態の概念図。
【図２】低視力ユーザが2倍拡大の画面を見ている状態を示す本発明の一実施形態の概念図。
【図３】低視力ユーザが4倍拡大の画面を見ている状態を示す本発明の一実施形態の概念図。
【図４】低視力ユーザが16倍拡大の画面を見ている状態を示す本発明の一実施形態の概念図。
【図５】低視力ユーザが16倍拡大の画面を見ている状態を示す本発明の一実施形態の概念図。
【図６】16倍拡大の最大ポインタインディシア寸法の収束点を示すグラフ。
【図７】マウスポインタをカスタマイズするためのグラフィックユーザインタフェースを示す図。
【図８】ベクトルに基づくファイルをインポートするとともに、それに指示インディシアを割り当てるためのグラフィックユーザインタフェースを示す図。
【図９】本発明の一実施形態の概略図。
【図１０】本発明の一実施形態の概略図。
【図１１】現在の指示インディシアの設定を得るための、オペレーティングシステムの定期的なポーリングを示す本発明の一実施形態の概略図。
【図１２】現在の指示インディシアの設定を得るための、オペレーティングシステムと表示装置ドライバの間のdvrSetPointerShapeの中断を示す本発明の一実施形態の概略図。
【図１３】指示インディシアのカスタマイズを示す本発明の一実施形態の概略図。
【図１４】指示インディシアのベクトル形状の４個の連続するフレームを示す図であり、各フレームは異なるストローク、フィル、拡大属性、および所定の継続時間を有する。
【図１５】指示インディシアの動画化を示す本発明の一実施形態の概略図。
【図１６】ユーザ入力に呼応する指示インディシアの拡大を示す本発明の一実施形態の概略図。
【図１７】ＡおよびＢは、ユーザ入力をタッチスクリーンを介して受信する本発明の一実施形態の概略図。
【図１８】ＡおよびＢは、ユーザ入力を構造化光スキャナを介して受信する本発明の一実施形態の概略図。
【発明を実施するための形態】
【００１９】
図１において、低視力ユーザ10は、マウス30およびキーボード40を介して、モニタ20上の表示を操作する。指示インディシア50は、例示として矢印カーソルで示されているが、キャレットであってもよい。カーソルは、マウスとその移動をデカルト座標面に表すグラフィック画像である。カーソルは、指示矢印、手、砂時計、Ｉ形テキストセレクタ等、多くの形状をとり得る。他方で、キャレットは、テキストを入力するために使用される点滅インディシアである。低視力ユーザ10がキーボード40に入力をすると、文字がキャレットとして現れ、キャレットは1スペースごとに前へ移動する。相対的な拡大倍率を表示するために、図１に表示テキスト60および表示グラフィック70を提供する。
【００２０】
図１は、拡大されていないGUI、指示インディシア50、表示テキスト60および表示グラフィック70を示す。図２では、指示インディシア50、表示テキスト60および表示グラフィック70は、2倍の拡大倍率で概念的に示されている。図３では、指示インディシア50、表示テキスト60および表示グラフィック70は、4倍の拡大倍率で概念的に示されている。図４では、指示インディシア50、表示テキスト60および表示グラフィック70は、16倍の拡大倍率で概念的に示されている。この倍率で、指示インディシア50はGUI領域の約20パーセントが重なる。本発明の一実施形態に係り、GUIおよび表示テキスト60の更なる拡大は、GUIと指示インディシア50のこれまでの同期的拡大を切り離す。表示テキスト60の拡大が16倍の拡大を超えて続いても、指示インディシア50の寸法は一定のままである。
【００２１】
図５において、指示インディシア50の拡大は、GUIの拡大から切り離されている。GUIは16倍に拡大される一方、指示インディシア50は4倍に拡大されているに過ぎない。低視力ユーザ10は、キーボード40、マウス30またはそれらの組み合わせを用いて、指示インディシア50とGUIの間の拡大を切り離すことができる。音声認識システムなどの他の周辺機器や入力システムを使用して、このイベントを生じさせてもよい。本発明により、自動的且つインテリジェントに、切り離されてもよい。例えば、マウスの無活動の所定の閾値を検出し、（必要に応じて）指示インディシア50の拡大を徐々に増加または減少させてもよい。
【００２２】
外的データを伴うマウスの無活動を用いて、インテリジェントな拡大決定を行ってもよい。例えば、マウスの無活動に合わせて多くのテキストが検出されるならば、ユーザはテキストを読んでいると想定される。この場合、大きく拡大されたカーソルはテキスト表示を妨げるだけである。或いは、一定期間のマウスの無活動の直後のマウス30の移動は、低視力ユーザが指示インディシア50の使用を再開する時に、指示インディシア50が低視力ユーザにより簡単に位置決めされるように、指示インディシア50の迅速かつ段階的な拡大を呼び出してもよい。段階的な拡大は、動画作用をもたらすように用いられてもよい。その他の場合において、徐々に変更される複数のベクトル形状は、移動、回転、波形等の他の動画作用をもたらし得る。形状はベクトルに基づくものであることから、拡大倍率までの寸法増大、ラスタライズ、キャッシュへの格納、グラフィックの品質、キャッシュに格納された画像のサイクル効率において、当該技術分野の最新技術よりも実質的に優れた効果を有する。
【００２３】
本発明の別の実施形態では、指示インディシア50の位置を見つけることが困難であることを示す一定期間のマウス30の無活動に続く低視力ユーザ10によるマウス30の不規則な移動を、アルゴリズムで検出する工程を含む。不規則な移動には、迅速な左右方向への移動や円形移動などを含む。不規則な移動の検出に呼応して、指示インディシア50は、本発明に係り、所定期間拡大され、続いて、予め設定された拡大倍率に戻される。従来技術よりも優れた本発明の効果としては、ユーザがこのような移動を要求するソフトウェア・アプリケーションに関わっているならば、「不規則」と認識されるマウスの移動は意図的であるので、不規則な移動は一定期間の無活動に続く。
【００２４】
図６は、小(◆)、中(■)、大(▲)、特大（X）として示される４個の異なったポインタ寸法を表す収束グラフである。小ポインタの寸法値は0.5ｘである。中ポインタの寸法値は1.0ｘである。大ポインタの寸法値は2.0ｘである。特大ポインタの寸法値は4.0ｘである。GUIの１倍拡大では、小、中、大、特大のポインタ寸法は、それぞれGUIの〜0％、3％、5％、10％を占める。GUIの拡大が増大するにつれて、ポインタ寸法の変化により、ユーザの認識が大きく異なりかねない。しかし、本発明の一実施形態では、これらのポインタ寸法は、16倍のGUI拡大で正規化される。GUIが1倍から16倍に拡大されると、小ポインタの寸法は、特大ポインタ寸法に対して、実質的により増加する。収束に対して他の拡大倍率が選択されてもよい。
【００２５】
図７において、ユーザがベクトル形状を形成するとともに、ベクトル形状をポインタ設定や個々のポインタに割り当てることを可能にするために、本発明では、ポインタオーサリングアプリケーションが考えられる。ポインタ設定は、グラフィク画像が表示される環境に依存して変化するポインタカーソルのための様々なグラフィック画像のコレクションを含む。編集するテキストを選択した時に、カーソルは垂直バー（Iビーム）に変化する。ドキュメントの周囲をパンする時には、カーソルは手として現れる。グラフィック編集カーソルは、機能に応じて、鉛筆、ブラシ、絵の具バケツとして現れる。操作完了を待機する時には、砂時計や時計などの「待機」画像が現れてもよい。他の指示オプションとしては、色、パタ−ン、透明度等に対するフィルやラインの外観の選択がある。形状は、特定のソフトフェアアプリケーションに割り当てられてもよい。これは、オペレーティングシステムを調べることにより達成されるものであり、どのアプリケーションがフォーカスを獲得しているのかを特定するためにメッセージングが行われ、必要に応じて、適切なポインタ設定やカーソル変更の少なくともいずれかを適用する。本方法は、任意の形状ではっきりとした明確な画像の迅速かつクリーンな描画を可能にするので、ポインタカーソルの動画化が可能である。ベクトル形状の寸法における一連の定型化や変更の少なくともいずれかはキャッシュに格納され、この流れが表示されるときに、カーソルは動画化されて現れる。マウスホイールのスケーリングパラメータやホットキーの組み合わせが、特定の形状や設定の少なくともいずれかに割り当てられてもよい。例えば、ユーザはキーボードの組み合わせを押下しつつ、マウスホイールを様々な方向へスクロールさせて、ポインタカーソルを拡大または縮小させる。
【００２６】
図８は、任意のベクトルに基づくグラフィックファイルを特定のポインタおよびポインタ組の少なくともいずれかに割り当てるインポートアプリケーションを示す。ベクトルファイルフォーマットは、例えば、コンピュータグラフィックスメタファイル(CGM)、スケーラブルベクトルグラフィックス(SVG)、オープンドキュメントグラフィックス(ODG)、エンキャプスレーテッドポストスクリプト(EPS)、ポータブルドキュメントフォーマット(PDF)、スモールウェブフォーマット(SWF)、ウィンドウズメタファイル(WMF)、ウィンドウズエンハンスドメタファイル(EMF)、XMLペーパスペシフィケーション(XPS)などを含む。本発明の別の効果として、低視力ユーザは、任意の拡大倍率の指示インディシアとして利用するために、予め存在するベクトルアートの多くのコレクションを有することになる。対照的に、ラスタライズされた画像は寸法の増大が困難であるが、ビットマップ画像のピクセル化により、明瞭さやシャープさを維持する。
【００２７】
図９では、本発明の一実施形態を工程70として示す。APIメッセージング80がポインタハンドルコール90のために監視される。ポインタハンドルコール90をベクトル形状データベース110内の予め存在する形状と適合させるために、クロスチェック100がベクトル形状データベース110に対して作られる。ベクトル形状データベース110は、メモリに記憶される１またはそれより多くのベクトル形状を含む。データベース110はファイル辞書、XMLなどの構造化ファイル、完全関連データベースなどであってよい。ベクトル形状データベース110は、ポインタハンドルコール90を相関するベクトル画像と関連付ける。例えば、ポインタハンドルコール90がハンドカーソル画像を要求するならば、クロスチェック100は、ベクトル画像がハンドカーソル画像について存在するか否かを判定する。存在しない場合には、ビットマップ画像が拡大されて、平滑化される。しかし、ベクトル画像が存在する場合には、適当な拡大倍率に拡大されてから、ビットマップにラスタライズされる。ベクトル形状120が読み出されるとともに、スケーリング機能130が適用されて、拡大ベクトル形状140が形成される。スケーリングは、ベクトル画像上において、画像の長さと幅を増加または減少させることにより行われる。
【００２８】
スケーリングがベクトル画像に行われるので、ビットマップスケーリングでみられるようなピクセル化は存在しない。ラスタライズ工程150が拡大されたベクトル形状140に適用され、ラスタライズ形状160が形成されてから、指示インディシアとして表示される170。
【００２９】
図１０は(工程75として示す)、ベクトル形状データベース110に対応する形状を有さないポインタハンドルコール90に適合する本発明の代替実施形態を示す。適合が得られない場合には、デフォルトのビットマップ化された指示インディシア180が、拡大ビットマップ指示インディシア190に拡大される。拡大ビットマップ指示インディシア190に平滑化工程200が適用されて、表示される170。本発明の別の実施形態では、ベクトル形状に適合が見つからない場合に、システムは、低視力ユーザ10を促し、既存のベクトル形状と適合させ、新しいベクトル形状を形成し、或いは、デフォルトのビットマップ指示インディシア180への置換物として、ベクトルに基づくファイルをインポートする。本発明の更に別の実施形態において、ベクトル形状データベース110に対応する形状がないポインタハンドルコール90に対して、デフォルトのベクトル形状が与えられる。
【００３０】
図１１は、現在の指示インディシア設定を得るための、オペレーティングシステム210の定期的なポーリング220を示す。これらの設定を読み出す際には、ポーリングされたインディシア設定と相関する予め定義されたベクトル形状が選択される。
【００３１】
図１２において、代替のポインタ形状獲得方法は、オペレーティングシステム210と表示装置ドライバ230の間のdrvSetPointerShape値240を中断する工程を含む。drvSetPointerShape値240は、drvSetPointerShape値240にインデックスが付けられた相関ベクトル形状110が存在するかを確認するために、クロスチェック100が行われる。drvSetPointerShape値240はMICROSOFT WINDOWSアプリケーションプログラミングインタフェーススペシフィケーションで利用可能な15の予め定義された(廃止されていない)カーソルの種類に対して、最も適当である。
【００３２】
図１３は、本発明の一実施形態を示しており、本実施形態では、ストローク262およびフィル264がカスタマイズ可能である。工程250において、ベクトル形状120のストローク262およびフィル264の属性は、カスタマイズされたベクトル形状260を形成するために設定される。カスタマイズされたベクトル形状260にラスタライズ工程150が適用されて、ラスタライズされたカスタマイズベクトル形状270が得られ、これが指示インディシアとして工程170で表示される。ストローク262およびフィル264の最も重要な属性は色である。なぜなら、一定の色の組み合わせは、延長された期間では認識および観察がより容易であることから、視覚が損なわれたユーザにとっては特に有益である。ストローク262の他の属性には、不透明、幅、線端、角の形状、ダッシュを含む。フィル264の不透明さも調整され得る。
【００３３】
図１４は、本発明の一実施形態を示しており、この実施形態では、指示インディシアは動画化される。動画化には、ベクトル形状120の一連のラスタライズフレーム280を形成する工程を含む。後続のラスタライズフレーム280各々の属性は、先のラスタライズフレーム280の属性とは異なり、これらの属性は、ストローク262、フィル264、および拡大倍率の少なくともいずれかを含む。
【００３４】
所定の継続時間290が各々のラスタライズフレーム280と関連付けられる。動画化効果を得るために、ラスタライズフレーム280が連続して表示され、各々のラスタライズフレーム280が対応する継続時間290で表示される。ある実施形態では、継続時間290が全てのラスタライズフレーム280について同一であってもよく、代替の実施形態では、一定のラスタライズフレーム280が他よりも長い時間表示されてもよい。一連のラスタリズされたベクトル画像は、選択されたオペレーティングシステムと互換性を有するグラフィックファイルフォーマットに記憶されてよい。例えば、ANIファイルフォーマットが、MICROSOFT WINDOWSオペレーティングシステムにおいて、動画化マウスカーソルに対して使用される。ANIファイルフォーマットは、個々のフレームを記憶するためのコンテナとして使用されるMICROSOFT RIFFファイルフォーマット(リソースインターチェンジファイルフォーマット)に基づく。好適なファイルフォーマットは、デフォルトのフレーム率と、連続情報(ラスタライズベクトル画像の順序)、カーソルホットスポット、および個々のフレーム(ICOビットマップフォーマットへのラスタライズ画像)を含む。また、この連続内の各画像に対する個々のフレーム率が設定されてもよい。
【００３５】
ベクトルに基づく指示インディシアの動画化方法を、図１５に概略的に示す。指示インディシアベクトル形状120が選択された後、ベクトル形状120の属性が異なる一組のラスタライズフレーム280が、工程300で形成される。次に、ラスタライズフレーム280が工程310において連続表示されて、動画化された指示インディシアが描画される。
【００３６】
上述の本発明の様々な実施形態は、特定のユーザ入力に呼応して実行されてよい。図１６は、ベクトルに基づく指示インディシアがユーザ入力320に呼応して拡大される実施形態を概略的に示す。ユーザ入力320は、マウスイベント340、キーストローク350、タッチスクリーンイベント360、ジェスチャ370、音声指令380、またはそれらの組み合わせとして受信される。
【００３７】
図１７A〜Bは、タッチスクリーンイベント360の一例を示す。ユーザは、タッチスクリーン390を有する任意の機器でこの種の入力を使用することができる。図１７A〜Bに示す例では、ユーザの指400は、タッチスクリーン390を触ると同時に、タッチスクリーン390の表面を触りつつ離れるように滑らせる。図１７Bに示すように、タッチスクリーンイベント360に呼応して、指示インディシア50は、ディスプレイテキスト60やディスクレイグラフィック70とは独立して、図１６に概略的に図示される工程に従い拡大される。代替実施形態において、ディスプレイテキスト60およびディスプレイグラフィック70の少なくともいずれかの拡大は、指示インディシア50の拡大と結び付けられる。或いは、タッチスクリーンイベント360は、タッチホルド、タッチタップ、タッチドラッグ、タッチフリック、ピンチ、マルチタッチ、タッチジェスチャパターン、ステンシルインプットなどの形態であってよい。
【００３８】
図１８A〜Bに示す本発明の実施形態では、ジェスチャ370が構造化光スキャナ420を介して受信される。構造化光スキャナ420は、例えばMICROSOFT KINECTのように当該技術分野で周知であるとともに、様々なジェスチャ370を特定するために使用される。図１８A〜Bは、ジェスチャ指令370に呼応するベクトルに基づく指示インディシア50の拡大を示す。ユーザ10が腕を上げると、構造化光スキャナ470はジェスチャ370を特定する。ジェスチャ370に呼応して、ベクトルに基づく指示インディシア50は、図１６に概略的に図示する工程に従い拡大される。図１８A〜Bに示す実施形態において、指示インディシア50は、ディスプレイテキスト60およびディスプレイグラフィック70とは独立して拡大される。代替実施形態において、指示インディシア50の拡大は、ディスプレイテキスト60およびディスプレイグラフィック70の少なくともいずれかの拡大と結び付けられる。
【００３９】
ハードウェアおよびソフトウェアのインフラストラクチャ例
【００４０】
本発明は、ソフトウェアに基づく指示に呼応して作用する様々なコンピューティングプラットフォームに具体化される。以下は、本発明を可能にするために利用される情報技術のための基本的な前例を提供する。
【００４１】
以下の請求の範囲に記載されるコンピュータ可読媒体は、コンピュータ可読信号媒体またはコンピュータ可読記憶媒体である。コンピュータ可読記憶媒体は、例えば、電子式、磁気式、光学式、電磁式、赤外線、または半導体式システム、装置または機器、或いはそれらの適当な組み合わせであってよい。コンピュータ可読記憶媒体のより詳細な例(非網羅的リスト)には、1またはそれより多くのワイヤを有する電気接続、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能なプログラマブルリードオンリメモリ(EPROMまたはフラッシュメモリ)、光ファイバ、ポータブルコンパクトディスクリードオンリメモリ(CD‐ROM)、光記憶装置、磁気記憶装置、またはそれらの適当な組み合わせを含む。本書の内容においては、コンピュータ可読記憶媒体は、指示実行システム、装置、またはそれらと合わせた機器による、またはそれらと併せた使用のためのプログラムを含み、または記憶する任意の有形的表現媒体であってよい。
【００４２】
コンピュータ可読信号媒体は、例えば、ベースバンド内、またはキャリア波の一部としてそこに具体化されるコンピュータ可読プログラムコードを備えた伝播データ信号を含んでもよい。このような伝播信号は、例えば、電磁式、光学式、またはそれらの適当な組み合わせなど、様々な形態をとり得る。コンピュータ可読信号媒体は、コンピュータ可読記憶媒体ではなく、また、指示実行システム、装置、または機器により、またはそれらと併せて使用するためのプログラムと通信し、伝播し、または伝達し得る任意のコンピュータ可読媒体であってよい。
【００４３】
コンピュータ可読媒体に具体化されるプログラムコードは、例えば無線、有線、光ファイバケーブル、無線周波数、またはそれらの適当な組み合わせなど、適切な媒体を使用して伝達される。本発明の態様に対して作用させるためのコンピュータプログラムコードは、Java、C#、C++などのオブジェクト指向のプログラミング言語、および「C」プログラミング言語または同様のプログラミング言語などの一般的な手続き型プログラミング言語の１またはそれより多くのプログラミング言語の任意の組み合わせで書かれていてよい。
【００４４】
本発明の態様を、本発明の実施形態に従い、方法、装置(システム)、およびコンピュータプログラム製品のフローチャート図およびブロック図の少なくともいずれかを参照して、以下に説明する。当然のことながら、フローチャートおよびブロック図の少なくともいずれかの各ブロック、およびフローチャート図およびブロック図の少なくともいずれかのブロックの組み合わせは、コンピュータプログラム指示により実行され得る。これらのコンピュータプログラム指示は、汎用コンピュータ、特別目的のコンピュータ、または他のプログラマブルデータプロセッシング装置のプロセッサに提供されて、機械が作られ、それにより、コンピュータや他のプログラマブルデータ処理装置のプロセッサを介して指示が実行され、フローチャートおよびブロック図の１または複数のブロックの少なくともいずれかに特定される機能／作用の実行手段を生成する。
【００４５】
これらのコンピュータプログラム指示は、コンピュータ、他のプログラマブルデータ処理装置、または他の機器に特定の方法で機能させるコンピュータ可読媒体に記憶されることにより、コンピュータ可読媒体に記憶された指示は、フローチャートおよびブロック図の１または複数のブロックの少なくともいずれかに詳述される機能／作用を実行する指示を含む製品を製造する。
【００４６】
コンピュータプログラム指示は、コンピュータ、他のプログラマブルデータ処理装置、または他の機器に搭載されて、一連の作動工程がコンピュータ、他のプログラマブル装置、または他の機器で行われ、コンピュータまたは他のプログラマブル装置で実行する指示が、フローチャートおよびブロック図の１または複数のブロックの少なくともいずれかに特定される機能／作用を実行するための処理をもたらすように、コンピュータ実行処理が生成される。
【００４７】
上述の効果、および前述の記載から明白な効果は、効率良くに達成される。本発明の範囲から逸脱することなく、上述の構成に一定の変更が加えられてもよいので、前述の記載に含まれ、或いは、添付の図面に示される全ての事項は、例証として解釈されるものであって、限定を意図するものではない。
【００４８】
請求の範囲の用語集
【００４９】
キャッシング：磁気式ハードドライブ、半導体ドライブ、およびRAMの少なくともいずれかなどの電子式記憶装置にデータを記憶すること。
【００５０】
デスクトップバックグラウンド：指示インディシア下のグラフィックユーザインタフェースキャンバス。これは一般的に、静止画像などの「壁紙」について言及するだけでなく、ソフトウェアアプリケーションウィンドウ、ダイアログボックス、メディア表示ウィンドウなど、指示インディシア下の任意のものを含むものとして使用される。
【００５１】
フィル：輪郭内にある形状の本体。
【００５２】
マルチタッチ：ユーザに画面表面上の２またはそれよりも多くの点を接触させる工程を含むタッチスクリーンイベントの種類。
【００５３】
ピンチ：ユーザに画面表面の２点を接触させるとともに、接触を保ちつつ、接触点間の距離を変更させる工程を含むタッチスクリーンイベントの種類。
【００５４】
指示インディシア：典型的にはマウス、トラックパッド、タッチスクリーンなどの周辺機器に呼応して、グラフィックユーザインタフェースの周りを移動するキャレットまたはカーソル視覚要素。
【００５５】
ラスタライズフレーム：ベクトル形状のラスタライズから得られるピクセル画像。
【００５６】
ラスタライズ：ベクトル形状をビデオ画面上に表示されるピクセル画像に変換するプロセス。
【００５７】
RGB：多くの色を再生するために、赤、緑、青の光が様々な方法で一緒に加えられる加色モデル。本発明では、例証実施形態として、チャンネル当たりデジタル8ビットのトリプレットアレイが使用される。
【００５８】
ストローク：形状の輪郭を形成する線
【００５９】
構造化光スキャナ：投影された光パターンおよびカメラシステムを使用してオブジェクトの三次元形状を測定する機器。この機器は体の動きとジェスチャを検出することができる。
【００６０】
システムポインタ識別子：どの指示インディシアが現時点で表示されているかをシステムに判定させるハンドルなどの識別子。
【００６１】
タッチドラッグ：ユーザに画面の表面を接触させるとともに、接触を保ちつつ画面表面に沿って接触部材を摺動させる工程を含むタッチスクリーンイベントの種類。
【００６２】
タッチフリック：ユーザに画面の表面を接触させ、画面表面に沿って接触部材を迅速に摺動させるとともに、接触を中断させる工程を含むタッチスクリーンイベントの種類。
【００６３】
タッチジェスチャパターン：ユーザに画面の表面を接触させてから、接触を保ちつつ接触部材を所定のパターンで摺動させる工程を含むタッチスクリーンイベントの種類。
【００６４】
タッチホルド：ユーザに画面の表面を所定期間連続して接触させる工程を含むタッチスクリーンイベントの種類。
【００６５】
タッチタップ：ユーザに画面の表面を短く接触させた直後に、接触を中断させる工程を含むタッチスクリーンイベントの種類。
【００６６】
タッチスクリーン：画面の表面を接触することにより、ユーザにコンピュータ機器と相互作用させる表示装置。
【００６７】
ユーザ入力：指示インディシアの様子を制御するコンピュータ・ソフトウェア・アプリケーションを作動させるコンピューティング機器により(指令として)意図的に、又は非意図的に受信されるエンドユーザフィードバック。
【００６８】
ベクトル形状：数式に基づくコンピュータ・グラフィック内の幾何形状。
【符号の説明】
【００６９】
１０    ユーザ
３０    マウス
４０    キーボード
５０    指示インディシア
６０    表示テキスト
７０    表示グラフィック
７０    本発明の一実施形態の工程
８０    ＡＰＩメッセージング
９０    ポインタハンドルコール
１００  クロスチェック
１１０  ベクトル形状
１２０  ベクトル形状の読み出し
１３０  スケーリング
１４０  拡大ベクトル形状
１５０  ラスタライズ
１６０  ラスタライズ形状
１７０  表示
【図１】
2016529533.tif 000003
【図２】
2016529533.tif 000004
【図３】
2016529533.tif 000005
【図４】
2016529533.tif 000006
【図５】
2016529533.tif 000007
【図６】
2016529533.tif 000008
【図７】
2016529533.tif 000009
【図８】
2016529533.tif 000010
【図９】
2016529533.tif 000011
【図１０】
2016529533.tif 000012
【図１１】
2016529533.tif 000013
【図１２】
2016529533.tif 000014
【図１３】
2016529533.tif 000015
【図１４】
2016529533.tif 000016
【図１５】
2016529533.tif 000017
【図１６】
2016529533.tif 000018
【図１７Ａ】
2016529533.tif 000019
【図１７Ｂ】
2016529533.tif 000020
【図１８Ａ】
2016529533.tif 000021
【図１８Ｂ】
2016529533.tif 000022
【国際調査報告】
2016529533.tif 000023
2016529533.tif 000024