本発明の教示については、添付の図面とともに以下の詳細な記載を鑑みて容易に理解されるであろう。
理解を容易にするよう、同じ参照符号が、図に共通する同じ要素を示すために、可能な場合には使用されている。
本発明の実施形態をより良く理解するよう、表示スクリーンの簡単な議論が、図1a〜1dを参照して提示される。
図1aは、横向きの位置付けにおいて示されるスクリーン10の概略図である(すなわち、垂直方向の寸法は水平方向の寸法よりも小さい。)。この位置付けは、今日通常使用されている大部分のコンピュータスクリーンの本来の位置付けである。ここで使用されるように、表示スクリーン又は装置の本来の位置付けとは、(通常の用途及び使用の下の)テキスト及びグラフィックスのレンダリングの方向がスクリーンの位置付けと適合する又は整列する位置付けをいう。映像又はテキストは、見る者の基準フレームにおける水平軸であるX−X’を有して横向きのスクリーンに正確に現れる又は適切に整列される(例えば、見ている者に対して垂直に現れる)ように、コンピュータ又は再生装置からレンダリングされる。これは図1aに表されている。図1aで、画像“ABC”は、スクリーン10の横向きの位置付けと適切に整列している。この場合に、スクリーン10の底辺12は、また、水平軸X−X’に対して平行である。
図1bは、横向きの位置付けから一定角度回転されているスクリーン10を表す。この例では、スクリーン10は、水平軸X−X’に対して角度αだけ時計方向に回転されている。画像“ABC”は、(本来、通常モードにおいて)スクリーンの本来の位置付け、すなわち底辺12に対して整列されたままであるが、見ている者に対して角度を持って現れる。
本発明の実施形態は、入力されたテキストに対応するレンダリング画像が、画面の位置付けにかかわらず、見る者にとって普通であるように(例えば、見る者に対して垂直な位置で)現れるように、表示されることを可能にするテキスト入力手段を提供する。これは、例えば、回転されるスクリーンの位置付けに適合する位置付けで画像を表示することによって、達成される。
これは、見る者に対して適切な位置付けで画像“ABC”を示している図1cに表され、画像“ABC”は、水平軸X−X’(X−X’と平行であるテキストボックス“ABC”の長手方向軸)と整列されている。これは、画像“ABC”を適切な位置付けまで回転すること(角度αだけ反時計方向に図1bの“ABC”を回転させることと同様)によって、達成可能である。以下で論じられるように、本発明の一態様は、そのような画像回転と、その後のスクリーン上での画像のレンダリングとを提供する。
大部分の用途に関して、見る者の基準フレームに適合するよう、又はスクリーンの位置付けに適合するよう画像回転を提供することが望ましいが、本発明は、概して、所望の位置付けを達成するためにグラフィックス及び映像のあらゆる程度の回転を提供することができる。
図1dは、縦向きの位置付けで設けられているスクリーン100の例示である。スクリーン100の垂直方向の寸法は、水平方向の寸法よりも大きい。この位置付けは、今日使用されている典型的な表示スクリーンの本来の位置付けとは異なっている。
本発明の実施形態は、スクリーンの位置付けがその本来の位置付けと異なっているとしても、結果として得られるテキストがスクリーンの位置付けと一致する又は適合する位置付けを有するように、テキスト入力のためのスクリーン表示150を提供する。例えば、縦向きモードで取り付けられているスクリーンに関して、テキストは直立して現れる。
一実施形態で、テキスト入力表示150は、例えば、ウェブページの一部として、ウェブ技術により提示される。この例では、ユーザの電子メールアドレスが、図1dに示されるように、テキスト入力の前は空白であるテキスト入力領域110に入力されるべきである。テキスト入力表示150は、また、承認(‘OK’)キー130及びキャンセル(‘Cancel’)キー140等の様々な機能キーとともに、仮想キーボード120のグラフィックスを示す。他の機能又は命令キー(図示せず。)が提供されてもよい。
英数字(例えば、アルファベット、数字、句読点及び他のシンボル)の画像が、ユーザによる選択のために仮想キーボード120に表示されている。キーボード120における夫々の文字の個々のグラフィック画像(例えば、PNG、JPEG、GIF又は他)は、後の使用(例えば、キーボード120からタッチデータを受け取る際のテキスト入力領域110への挿入)のためにページロードの際にウェブページにロードされる。これらのグラフィック画像は、ページにロードされるが、表示はされず、従って、スクリーン100において不可視である。本発明の一実施形態において、それらの画像は、ローカルハードドライブにファイルとして記憶される。他の実施形態では、それらは、セットトップボックスにおけるローカルRAMディスクに記憶される。ウェブブラウザにおいてレンダリングされる前に、それらのグラフィック画像は、(例えば、スクリーンの位置付けと一致する又は適合する)正確な位置付けにおいて回転され、それにより、スクリーン100に表示される場合に、それらは通常通りに、すなわち、横向きであるのとは対照的に垂直な位置付けにおいて現れる。
図2は、本原理に従うタッチスクリーンテキスト入力を実施するためのテキスト入力システム200の配置図である。システム200は、タッチスクリーン210、シリアルネットワークインターフェース220、サーバ230及びセットトップボックス(STB)240等のハードウェア構成要素を有する。ここで使用されるように、STB240は、映像入力信号をスクリーン上の表示のためのコンテンツに変換する装置である。シリアルネットワークインターフェース220は、シリアルポート、ネットワークインターフェース、及びデータ処理のための関連するソフトウェアを有するプロセッサ等のハードウェア構成要素を有する。STB240は、STB制御モジュール270と、オーバーレイされるタッチスクリーン210を有する表示スクリーンとへ結合されている。この例では、タッチアダプタ・モジュール250、タッチトラッカー・モジュール260及びSTB制御モジュール270等のソフトウェア構成要素は、サーバ230に組み込まれている。代替的に、STB制御モジュール270は、STB240にあってもよい。一実施形態において、表示/タッチスクリーン210、サーバ230、STB240、及び関連するソフトウェアモジュールは、ユーザがタッチスクリーン210でのデータ入力を介してシステムと対話すること(例えば、情報を要求すること、命令を与えること、等)を可能にする店内の映像広告システムの構成要素である。
テキスト入力システム200と対話するユーザは、表示スクリーン210で適切な範囲(例えば、図1dのキーボード120における特定の英数字)にタッチすることによって、文字を選択することができる。夫々のタッチ選択は、対応する位置データ(例えば、タッチされた場所を表すx及びy座標)を生成する。この例では、タッチスクリーン210は、縦向きの位置付け(すなわち、従来の横向きの位置付けとは異なる位置付け)で取り付けられており、スクリーンの長辺212、すなわち、縦の辺は、x軸としてタッチスクリーンコントローラ(図示せず。)によって解釈され、短辺214、すなわち、横の辺は、y軸として解釈される。
タッチスクリーン210からのx及びy座標は、RS−232又はUSBシリアルデータとしてシリアルネットワークインターフェース(SNI)220へ送られる。一実施形態において、SNI220は、x座標とy座標とを入れ替えることによって、x−y座標タッチデータを変換する。すなわち、x座標データはy軸データと置換され、それにより、y軸データは、目下、垂直方向(長辺212)にあり、x軸データは、目下、水平方向(短辺214)にある。この変換は、また、メディアのプログラミング及び双方向性が、一般的な方法と整合性が取れている座標システムを用いて行われることを可能にする。次いで、置換されたx−y座標データは、ネットワーク(例えば、イーサネット(登録商標))を介してタッチアダプタ・モジュール250へ送られる。
タッチスクリーン210からの置換されたx−y座標データは、更に、タッチアダプタ・モジュール250によって映像表示スクリーンの座標系に変換される(例えば、タッチスクリーン解像度を映像表示スクリーンの解像度にマッピングすることを含む。)。一例として、タッチスクリーンが1000×1000ユニット(x及びy座標)の解像度を有し、映像の解像度が1920×1200ピクセルである場合、タッチアダプタ・モジュール250は、タッチ座標データによって定義される範囲をスクリーンにおける対応する映像座標に変換する。
他の実施形態では、x−y座標データの変換又は置換は、SNI220によってではなく、タッチアダプタ・モジュール250によって行われる。従って、x−y座標タッチデータは、SNI220によってタッチアダプタ・モジュール250へ送られ、次いで、タッチアダプタ・モジュール250は、(SNI220に関して上述されたように)x及びy座標データを入れ替え、そのデータを表示スクリーンの映像座標に変換する。
タッチアダプタ・モジュール250によって処理されたデータは、次いで、タッチトラッカー・モジュール260へ送られる。タッチトラッカー・モジュール260は、STB制御モジュール270によるアクセスのために、データをバッファにキャッシュしてよい。一実施形態において、タッチスクリーン210から発せられた非同期データは、STB240におけるウェブブラウザで実行されるソフトウェアが、タッチデータが利用可能であるかどうかを確かめるようポーリングを行うまで、キャッシュされる。ブラウザにレンダリングされるウェブページは、タッチトラッカー・モジュール260に対してタッチデータのポーリングを行うようJava(登録商標)Scriptを実行する。STB制御モジュール270は、また、どのようなメディアが映像表示スクリーンにレンダリングされるのかを制御する。
図3は、システム200の上記構成要素の間のデータフローを表す概略図である。タッチスクリーン210からのタッチデータは、一定方向に、シリアルネットワークインターフェース220及びタッチアダプタ・モジュール250を通ってタッチトラッカー・モジュール260へ流れる。タッチトラッカー・モジュール260はデータを保持する。STB制御モジュール270(サーバで又はSTB240で物理的に実行してよい。)は、HTTP GETコマンドを発することによって、タッチトラッカー・モジュール260に対してタッチデータのポーリングを行う。STB制御モジュール270によるポーリングがあるかどうかに関わらず、データはタッチスクリーン210からタッチトラッカー・モジュール260へ送られる。
図3の例では、ポーリング・イベント310及び330の間、タッチトラッカー・モジュール260にはデータがないので、ポーリング後にSTB制御モジュール270によって何等の動作も行われない。
ポーリング・イベント320では、タッチスクリーン210で受け取られるタッチデータ302は、タッチスクリーン210及びタッチアダプタ・モジュール250等の中間構成要素によって処理されて(ASCII(American Standard Code for Information Interchange)フォーマットでデータ304、306及び308として示される。例えば、タッチごとに1バイトのASCII。)。タッチトラッカー・モジュール260へ送られる。STB制御モジュール270によるポーリングに応答して、タッチトラッカー・モジュール260は、更なる処理のために利用可能なデータを転送する。
STB制御モジュール270の一実施において、Java(登録商標)ScriptがSTB240のブラウザで実行され、XML HttpRequest API(XMLは「拡張可能マークアップ言語(extended markup language)」を意味し、Httpは「ハイパーテキスト転送プロトコル(HyperText Transfer Protocol)」を意味する。)等のJava(登録商標)Scriptアプリケーションプログラミングインターフェース(API)が、図3に示されるように、例えば、STB制御モジュール270を介して周期的にタッチデータのポーリングを行うために、Java(登録商標)Scriptによって使用されてよい。毎秒5回のポーリングレートが大部分の用途について十分な応答時間を得るために期待されるが、異なるポーリングレートが他のニーズに合うよう使用されてもよい。
ブラウザで実行されるJava(登録商標)ScriptコードがSTB制御モジュール270からデータを得ることに成功した場合、Java(登録商標)Scriptソフトウェアは、グラフィック形式の文字がテキスト入力領域110において現在のカーソル位置で表示されるよう文書オブジェクトモデル(DOM)機能を用いる。このテキスト表示は、従来のHTMLテキスト入力によっては行われていないことに留意すべきである。代わりに、(以前にページロードにおいてウェブページにロードされた)文字のグラフィック画像がテキスト入力領域110に挿入される。
これは、更に、図4に表されている。図4は、設計されているものとは異なった位置付けで取り付けられているスクリーン100でのテキスト入力を示す。本発明の実施形態は、入力されたテキストが、スクリーンの位置付けに適合する位置付けで表示されることを提供する。例えば、テキストは、縦向きモードにあるスクリーン100により直立の位置で表示される。仮想キーボード120でのデータ選択よりも前に、可視的な又は不可視のカーソルが、(図1dと同様の)空白画像に対応するテキスト入力領域110の開始テキスト位置402をマークする。ユーザが仮想キーボード120の対応する領域をタッチすることによって英数字を選択する場合、タッチ・イベントは、選択された英数字を知らしめるよう発生する。
上述されたように、タッチデータは、適切なテキストがJava(登録商標)Scriptソフトウェアによる検索のために利用可能であることをもたらす。Java(登録商標)Scriptソフトウェアは、テキストデータを取得するためにXHTTPRequestを生成して、文書オブジェクトモデル機能を実行する。DOM機能は、テキスト領域110におけるカーソル位置での画像を、空白画像から、選択された英数字に適合するグラフィックに変換する。従って、第1のタッチデータがキーボード120における文字“J”である場合、対応するデータが(図3に表されるように)STB240へ与えられ、図4に示されるような、テキスト入力領域110における最初の文字位置402での文字“J”の表示をもたらす。この例では、グラフィック画像は、ウェブページ全体が再描画されることを必要とすることなく、選択された文字のグラフィックを表示するようHTML文書オブジェクトモデル(DOM)を操作することによって、表示される。
選択された英数字がテキスト入力領域110に現れた後、カーソルは、次の位置404へ、例えば、カーソル位置402の右へ、更なるテキスト入力のために進められる。他の実施形態では、「バックスペース」又は「デリート」キー(図示せず。)もタッチスクリーン100に設けられてよく、これらのキーは、選択されると、前のカーソル位置にある(例えば、現在のカーソル位置の左側にある)画像を空白画像によって置換させるとともに、カーソル位置を1つだけ戻す。
一実施形態において、そのような画像置換は、Java(登録商標)ScriptにおけるDOMダイナミックHTML操作を用いて操作される。ほぼ即時の表示を達成するよう、それらの英数字の画像(「文字画像」とも呼ばれる。)は、例えばサーバ又はSTB上のローカルプロセッサにロードされ、そのプロセッサで実行されるウェブサーバ処理から供される。例えば、一実施において、ウェブサーバ処理は、STB240で、そのファイルシステムにマッピングされている文字画像を有して、実行されてよい。(ネットワーク上でフェッチを行うこととは対照的に)STB240から直接にこれらのファイルを供することは、タッチデータ選択とテキスト入力領域における対応する表示との間のレイテンシー(latency)を有意に減らすことができ、従って、システム応答性及びユーザ・エクスペリエンスを改善する。
更なる英数字がタッチスクリーン上で選択されると、タッチデータは、選択された文字の対応するグラフィックがテキスト入力領域110における適切な位置で生成されるように、処理される。
他の実施形態では、ローカルエリアネットワークは使用されない。代わりに、全てのモジュールは、セットトップボックスで実行される。ウェブページは、キーストロークを収集するようキーストロークマネージャ(Key Stroke Manager)URLに対して毎秒多くの要求を行うためにXHTTPRequest機能呼び出しを用いるJava(登録商標)Scriptを有する。キーストロークマネージャはローカルプロセッサで実行されているので、これは、ゼロ・ネットワークトラフィックを生成し、高い応答性を有する。夫々のキーストロークは、(図2〜4に関連して)上述されたように処理され、選択されたテキスト文字の表示をもたらす。
一実施で、タッチスクリーン・キーストロークデータは、デバイスグループ制御プロトコル(DGCP)を用いて伝送されてよい。DGCPは、グループ内の複数の装置への通信をサポートする非常に有効なネットワークプロトコルである。DGCPを使用する実施は、同じ論理的な方法を扱うが、タッチスクリーンデータをリッスンする複数のデバイスを有してよい。これは、例えば、独立したソフトウェアモジュールが実際のタッチスクリーン用途を妨げることなしにタッチスクリーンデータを記録することを可能にすることによって、遠隔のタッチロギング(logging)をより有効なものとすることができる。プロトコルの詳細は、2007年6月13日に出願された国際公開第2008/123858(A1)号パンフレット「Device Group Control」に記載されている。この特許文献は、その全文を参照により本願に援用される。
小売り広告システムに加えて、上記実施形態は、一般に、設計されたものとは異なった位置付けにあるディスプレイスクリーンでのテキスト入力を必要とする用途から恩恵を受ける多種多様な場所又は環境における映像表示システムに適用可能である。図1及び図4の例が縦向きモードにおけるスクリーンでのテキスト入力に係るとしても、本原理は、スクリーンの正常な位置付け(スクリーンが設計されているもの)、例えば横向きモードとは異なるスクリーンの他の位置付けにも適用可能である。
上記は本発明の様々な実施形態を対象とするが、本発明の他の及び更なる実施形態が、本発明の技術的範囲から逸脱することなしに発明されてよい。そのようなものとして、本発明の適切な適用範囲は、特許請求の範囲に従って決定されるべきである。