(57)【特許請求の範囲】
【請求項１】
表示されるウェブページを示すデジタルコンテンツを受け付けることと、
ウェブページをレイアウトすることと、
第１倍率でウェブページのレイアウト部分をオーバービューウインドウに表示することと、前記レイアウトの複数要素が前記オーバービューウインドウに於いてよりも、拡大されたビューウインドウに於いてより大きく見えるようにする第２倍率の状態にある前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウト部分のサブパートを拡大されたビューウインドウに表示することと、前記拡大されたビューウインドウに現在表示されている前記オーバービューウインドウに表示された前記レイアウト部分の前記サブパートを示す拡大されたビューインジケータを、前記オーバービューウインドウに表示することと、を同時に行うことで、分割ビューである前記ウェブページの第１ビューを形成することによって、ユーザからの第１ビュー選択入力に対応することと、
前記分割ビューが表示される際に、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対して、前記オーバービューウインドウに表示されたレイアウトに関連して前記拡大されたビューインジケータを移動させることと、によって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトのサブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトのサブパートに継続して対応することと、
前記オーバービューウインドウ及び前記拡大されたビューウインドウに関する前記分割ビューの組み合わせを有していない第２ビューを形成することによって、ユーザからの第２ビュー選択入力に対応することと、を備える、コンピュータデバイスに於けるメディア表示方法であって、
前記デジタルコンテンツは前記ウェブページの一部として表示されるテキストを有し、
第２ビュー選択入力に対する前記対応は、新しいテキストコラムのラインを越えて、前記新しいコラムのライン幅に関連して、前記分割ビューで使用された前記レイアウトに於ける前記選択されたテキストのレイアウト幅に関連した前記選択されたテキストのフォントサイズよりも大きい一つ又は複数のフォントサイズで、テキストの前記選択された部分をリフローすることを含む、前記ウェブページのテキストの選択された部分の第２レイアウトの実行を有し、
前記第２ビューは、前記新しいテキストコラムの最大幅が前記スクリーンに表示されるリフローされたテキストウインドウを有し、
前記第２ビューは、前記リフローされたテキストウインドウの表示と、前記レイアウトの複数要素を前記拡大されたビューに於いてよりも小さく見えるようにし、テキストを前記リフローされたテキストウインドウに於いてよりも小さなフォントに見えるようにする倍率で、前記ウェブページのレイアウト部分を表示する第２オーバービューウインドウと、の表示を同時に有する分割ビューに関する第２形式であり、
前記第２オーバービューウインドウは、前記リフローされたテキストウインドウに現在表示されているテキストの前記部分の表示を含む、コンピュータデバイスに於けるメディア表示方法。
【請求項２】
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてよりも、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態にある前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、
前記拡大されたビューウインドウに現在表示されている前記オーバービューウインドウに示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを、前記オーバービューウインドウで表示することと、を同時に行うことによって、前記ウェブページの分割ビューを生成することと、
前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対応して、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記拡大されたビューインジケータを移動させることと、によって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトの前記サブパートに継続して対応することと、で構成され、
前記オーバービューウインドウに関連して、前記ウェブページレイアウトをスクロールし、これにより、以前に非表示であった部分が前記オーバービューウインドウにスクロールされることと、前記拡大されたビューインジケータの前記部分を、前記ウェブページレイアウトの前記以前非表示であった部分の上に移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートをスクロールし、これにより、前記拡大されたビューウインドウに表示された前記サブパート、がそうした移動後に前記拡大されたビューインジケータによって示された前記ウェブページレイアウトの前記サブパートに対応することと、によって、前記ナビゲーション入力が生成される前に、前記オーバービューウインドウに表示された前記ウェブページレイアウトの前記一部を越えて、前記ウェブページレイアウトの以前非表示であった部分の上に、ナビゲーション入力への前記対応が、前記拡大されたビューインジケータの一部を移動させるナビゲーション入力への対応を含む、コンピュータデバイスに於けるメディア表示方法であって、
前記分割ビューは、デジタルコンテンツをブラウズ可能なブラウザコンピュータの一部であるスクリーン上に表示され、
前記ブラウザコンピュータは、コンピュータネットワーク上のプロキシサーバから所定のウェブページを要求することにより、当該ウェブページを要求するユーザ入力に対応するブラウザプログラムを含み、
前記プロキシサーバは、コンピュータネットワーク上で、ユーザ要求を前記要求されたウェブページを保存または動的に生成する一つまたは複数のサーバと通信し、
前記一つまたは複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバは、前記デジタルコンテンツの受信として、ダウンロードされたウェブページを受信し、
前記プロキシサーバは、前記ウェブページのレイアウトを実行し、
前記プロキシサーバは、前記ブラウザコンピュータに前記ウェブページのレイアウトをダウンロードし、
前記ブラウザプログラムが、前記ブラウザコンピュータ上で、その後、前記オーバービューウインドウ及び拡大されたビューウインドウに、前記ダウンロードされたウェブページレイアウトの前記表示を行うとともに、前記スクロールで前記ナビゲーション入力に対応することによって、前記分割ビューを生成する、コンピュータデバイスに於けるメディア表示方法。
【請求項３】
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率でレイアウトされた前記ウェブページの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてより、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態となっている前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、現在、前記拡大されたビューウインドウに表示されている前記オーバービューウインドウに表示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを前記オーバービューウインドウに表示することと、を同時に行うことによって、前記ウェブページの分割ビューを生成することと、
これに対応して、前記拡大されたビューウインドウと、前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部との範囲内で、かつ、前記ビューウインドウ及びウェブページレイアウトの前記一部に関連して、カーソルを移動させることによって、ユーザからのナビゲーション入力に対応すること、で構成され、
ナビゲーション入力への前記対応が、前記所定のナビゲーション入力が生成される前に、前記拡大されたビューウインドウに表示された前記ウェブページの前記サブパートを越えて、前記拡大されたビューウインドウに非表示であった前記ウェブページレイアウトの一部の上に、前記カーソルを移動させることと、前記カーソルが移動される前記以前非表示であった部分が前記拡大されたビューウインドウにスクロールされ、表示されるように、前記拡大されたビューウインドウに関連して前記ウェブページレイアウトをスクロールすることと、これに対して、前記オーバービューウインドウに於いて前記拡大されたビューインジケータをスクロールし、これにより、前記拡大されたビューインジケータによって示された前記ウェブページレイアウトの前記サブパートが前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記サブパートに継続して対応すること、による、前記カーソルを前記拡大されたビューの境界に押しつける所定のナビゲーション入力への対応を含む、コンピュータデバイスに於けるメディア表示方法であって、
デジタルコンテンツを閲覧可能なブラウザコンピュータの一部であるスクリーン上に前記分割ビューが表示され、
前記ブラウザコンピュータは、所定のウェブページを要求するユーザ入力に対してコンピュータネットワーク上でプロキシサーバからそのウェブページを要求することによって対応するブラウザプログラムを含み、
前記プロキシサーバは、コンピュータネットワーク上で、前記ユーザ要求を、前記要求されたウェブページを保存、又は、動的に生成する、一つ又は複数のサーバに伝達し、
前記一つ又は複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバはデジタルコンテンツの前記受信として、前記ダウンロードされたウェブページを受信し、
前記プロキシサーバは、前記ウェブページの前記レイアウトを実行し、
前記プロキシサーバは前記ウェブページレイアウトを前記ブラウザコンピュータにダウンロードし、
前記ブラウザプログラムが、前記ブラウザコンピュータ上で、その後、前記オーバービューウインドウ及び拡大されたビューウインドウに、前記ダウンロードされたウェブページレイアウトの前記表示を行うことによって、前記分割ビューを生成する、コンピュータデバイスに於けるメディア表示方法。
【請求項４】
ウェブページの一部として表示されるテキストを含む、表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてより、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態で、前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、現在、前記拡大されたビューウインドウに表示されているオーバービューウインドウに表示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを前記オーバービューウインドウに表示することと、を同時に行うことによって、前記ウェブページの分割ビューを作成することと、
前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対応して、前記オーバービューウインドウに表示されたレイアウトに関連して、前記拡大されたビューインジケータを移動させることと、によって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトの前記サブパートに継続して対応することと、で構成され、
文字形状及びピクセル配置が前記文字形状の端部の配置の割合を増加させるために選択されているフォントビットマップによって、前記拡大されたビューウインドウに於ける前記フォントビットマップのピクセル解像度を前提として、前記フォントビットマップのピクセル境界を用いて、前記ウェブページに於ける複数のテキスト文字のそれぞれが前記拡大されたビューウインドウに表示される、コンピュータデバイスに於けるメディア表示方法。
【請求項５】
前記ウェブページレイアウトは、前記拡大されたビューウインドウで使用される前記フォントビットマップのレイアウトを定義し、
前記オーバービューウインドウに於いて表示された前記ウェブページレイアウトの表示は、低解像度表示が前記オーバービューウインドウに表示された低解像度フォントビットマップ表示のピクセル境界を用いて、文字形状の端部の配置の前記割合を増加させるために選択された文字形状及びピクセル配置を有していない、前記レイアウトに含まれた前記フォントビットマップに関する縮小された低ピクセル解像度表示を含む、請求項４に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項６】
前記拡大されたビューウインドウに於いて文字を表示するために使用されたフォントビットマップは、前記フォントビットマップが前記拡大されたビューウインドウに於いて表示される解像度に対して、アンチエイリアスが実行される、アンチエイリアスフォントビットマップである、請求項４に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項７】
拡大されたビューウインドウに表示されたテキストはラテンアルファベット文字で構成され、小文字の大部分が４ピクセル又はそれ未満のアドバンス幅で表示されるフォントで表示される、請求項６に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項８】
前記オーバービューウインドウ及び前記拡大されたビューウインドウは、個別アドレス可能な、異なる色のサブピクセルの所定の配置で構成されたピクセルを有するスクリーン上に表示され、
前記拡大されたビューウインドウに於いて文字を表示するために使用された前記アンチエイリアスフォントビットマップは、前記フォントビットマップによって示されている文字形状によって覆われる所定のサブピクセルの割合を表すカバレッジ値と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、所定のサブピクセルに関するカバレッジ値と、異なる色の一つ又は複数の近傍のサブピクセル一式に関するカバレッジ値との間の差異から生じるカラーアンバランスを回避するために作成された、異なる色のサブピクセルを含む、前記所定のカバレッジ値から近傍サブピクセルのカバレッジ値への前記所定のサブピクセルのカバレッジ値の割合に関するカラーバランス分配と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、一つ又は複数の近傍のサブピクセルからのカバレッジ値から、所定のサブピクセルのカバレッジ値への一つ又は複数の前記カラーバランス分配と、の機能として、異なる色のサブピクセルに関する前記所定の配置を有するスクリーンピクセルのそれぞれの所定のサブピクセルに対して、輝度値を割り当てるサブピクセル最適化ビットマップであり、
前記カラーバランス分配は、一部となっている全ピクセル内に於いて、カラーアンバランスを引き起こすサブピクセルのカバレッジ値の一部の分配に実質的に制限される、請求項６に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項９】
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することであって、前記レイアウトの要素をオーバービューウインドウにより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたサブパートがより大きな前記第２倍率で表示されることにより、前記レイアウトの前記拡大されたサブパートは、前記拡大されたビューウインドウによって覆われた前記レイアウトのサブポーション全部よりも少なく、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、で構成されるコンピュータデバイスに於けるメディア表示方法であって、
前記拡大されたビューウインドウに覆われた前記オーバービューウインドウに表示された前記レイアウトのサブポーションに関連して、前記拡大されたビューウインドウ上に表示された前記レイアウトの前記サブパートの前記位置を示す、一つ又は複数の拡大されたサブパートマーカを表示すること、を含み、
一つ又は複数の前記拡大されたサブパートマーカは、前記オーバービューに表示された前記レイアウトに関連して、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートの水平及び／又は垂直の範囲及び位置のそれぞれが略同一である範囲及び位置で、一つ又は複数の前記拡大されたビューウインドウの端部の幅、及び／又は、高さのサブパートに沿って延伸する、コンピュータデバイスに於けるメディア表示方法。
【請求項１０】
前記拡大されたビューウインドウは、前記オーバービューウインドウと略同一の幅を有しており、
前記ユーザによるナビゲーション入力への前記対応は、前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを垂直に移動させることと、前記レイアウトに関連して、前記拡大されたビューウインドウに表示された前記レイアウトの前記拡大されたサブパートの位置を垂直に移動させることと、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記レイアウトの前記拡大されたサブパートの垂直位置に於ける前記変化に対応するために、一つ又は複数の前記拡大されたサブパートマーカを垂直に移動させることと、によって、垂直ナビゲーション入力に対応することと、前記レイアウトに関連して、前記拡大されたビューウインドウに表示されたレイアウトの前記拡大されたサブパートの前記位置を水平に移動させることと、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記レイアウトの前記拡大されたサブパートの水平位置に於ける前記変化に対応するために、一つ又は複数の前記拡大されたサブパートマーカを水平に移動させることと、によって、前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを実質的に移動させることなく、水平ナビゲーション入力に対応することと、を含む、請求項９に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項１１】
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素をオーバービューウインドウに於いてより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、で構成されるコンピュータデバイスに於けるメディア表示方法であって、
前記デジタルコンテンツは、テキストを含み、
前記レイアウトは、前記テキストを前記ウェブページレイアウトにレイアウトし、
前記拡大されたビューウインドウに表示される前記解像度で、前記フォントビットマップのピクセル境界を使用して、前記文字形状及びピクセル配置が前記文字形状の端部の配置の割合を増加させるために選択されているフォントビットマップによって、前記テキストの複数文字のそれぞれが前記拡大されたビューウインドウに表示される、コンピュータデバイスに於けるメディア表示方法。
【請求項１２】
前記拡大されたビューウインドウに於いて表示されたフォントビットマップと同一のフォントビットマップを使用するが、前記文字形状及びピクセル配列が選択されているピクセル解像度よりも、低ピクセル解像度に縮小して、前記オーバービューウインドウが、前記拡大されたビューウインドウに表示された同一のウェブページレイアウトの縮小された表現を表示する、請求項１１に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項１３】
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素をオーバービューウインドウに於いてより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、で構成されるコンピュータデバイスに於けるメディア表示方法であって、
前記デジタルコンテンツは、一つ又は複数の画像、及び、一つ又は複数のテキスト文字列を含み、
前記レイアウトに於ける水平及び垂直の仮想位置を、前記画像のそれぞれ、及び、所定のラインに表示されたテキストの文字列のそれぞれの部分に割り当てるために、前記ウェブページの前記レイアウトは、前記画像及びテキストに対するレイアウトピクセルサイズを使用する仮想ピクセル解像度で、前記画像及びテキストをレイアウトすることを含み、
前記仮想ピクセル解像度で実行されたレイアウトに於ける対応する部分に関連して、前記第２倍率によって縮小されるピクセル解像度で、前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの一部が表示され、
前記拡大されたビューウインドウに於ける画像及びテキストは、前記第２倍率によって縮小されているように、仮想ウェブページレイアウトに於ける前記画像及びテキストの位置に対応するピクセル座標に表示され、
前記第２倍率によって縮小されるように、仮想レイアウトに於ける前記画像及びテキストに対して使用された前記ピクセルサイズに対応する縮小されたピクセルサイズで、前記画像及びテキストは前記拡大されたビューウインドウに描画され、
前記拡大されたビューウインドウに於けるテキストの文字列の前記画像は、前記仮想レイアウトに於ける前記文字列の前記文字に割り当てられた前記サイズに関連して、前記第２倍率によって縮小されたピクセルサイズを有し、それぞれのそうしたフォントビットマップによって表示された前記文字形状の前記形状及びピクセル配置が、ビットマップのピクセル境界を用いて、前記文字形状の端部の配置の割合を増加させるために選択されている、フォントビットマップの連続で構成されている、コンピュータデバイスに於けるメディア表示方法。
【請求項１４】
前記一つまたは複数の拡大されたサブパートマーカは、少なくともナビゲーションコマンドに対応して、前記拡大されたビューウインドウに応じて移動する、請求項９に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項１５】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下で情報をユーザに表示可能な表示スクリーンと、で構成されるコンピュータデバイスであって、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサは、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを示すデジタルコンテンツを受け付けることと、
ウェブページをレイアウトすることと、
第１倍率でウェブページのレイアウト部分をオーバービューウインドウに表示することと、前記レイアウトの複数要素が前記オーバービューウインドウに於いてよりも、拡大されたビューウインドウに於いてより大きく見えるようにする第２倍率の状態にある前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウト部分のサブパートを拡大されたビューウインドウに表示することと、前記拡大されたビューウインドウに現在表示されている前記オーバービューウインドウに表示された前記レイアウト部分の前記サブパートを示す拡大されたビューインジケータを、前記オーバービューウインドウに表示することと、を同時に行うことで、分割ビューである前記ウェブページの第１ビューを形成することによって、ユーザからの第１ビュー選択入力に対応することと、
前記分割ビューが表示される際に、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対して、前記オーバービューウインドウに表示されたレイアウトに関連して前記拡大されたビューインジケータを移動させることとによって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトのサブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトのサブパートに継続して対応することと、
前記オーバービューウインドウ及び前記拡大されたビューウインドウに関する前記分割ビューの組み合わせを有していない第２ビューを形成することによって、ユーザからの第２ビュー選択入力に対応することと、を実行し、
前記デジタルコンテンツは前記ウェブページの一部として表示されるテキストを有し、
第２ビュー選択入力に対する前記対応は、新しいテキストコラムのラインを越えて、前記新しいコラムのライン幅に関連して、前記分割ビューで使用された前記レイアウトに於ける前記選択されたテキストのレイアウト幅に関連した前記選択されたテキストのフォントサイズよりも大きい一つ又は複数のフォントサイズで、テキストの前記選択された部分をリフローすることを含む、前記ウェブページのテキストの選択された部分の第２レイアウトの実行を有し、
前記第２ビューは、前記新しいテキストコラムの最大幅が前記スクリーンに表示されるリフローされたテキストウインドウを有し、
前記第２ビューは、前記リフローされたテキストウインドウの表示と、前記レイアウトの複数要素を前記拡大されたビューに於いてよりも小さく見えるようにし、テキストを前記リフローされたテキストウインドウに於いてよりも小さなフォントに見えるようにする倍率で、前記ウェブページのレイアウト部分を表示する第２オーバービューウインドウと、の表示を同時に有する分割ビューに関する第２形式であり、
前記第２オーバービューウインドウは、前記リフローされたテキストウインドウに現在表示されているテキストの前記部分の表示を含む、コンピュータデバイス。
【請求項１６】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下で情報をユーザに表示可能な表示スクリーンと、で構成されるコンピュータデバイスであって、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサは、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてよりも、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態にある前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、
前記拡大されたビューウインドウに現在表示されている前記オーバービューウインドウに示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを、前記オーバービューウインドウで表示することと、を同時に行うことによって、前記ウェブページの分割ビューを生成することと、
前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対応して、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記拡大されたビューインジケータを移動させることと、によって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトの前記サブパートに継続して対応することと、を実行し、
前記オーバービューウインドウに関連して、前記ウェブページレイアウトをスクロールし、これにより、以前に非表示であった部分が前記オーバービューウインドウにスクロールされることと、前記拡大されたビューインジケータの前記部分を、前記ウェブページレイアウトの前記以前非表示であった部分の上に移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートをスクロールし、これにより、前記拡大されたビューウインドウに表示された前記サブパート、がそうした移動後に前記拡大されたビューインジケータによって示された前記ウェブページレイアウトの前記サブパートに対応することと、によって、前記ナビゲーション入力が生成される前に、前記オーバービューウインドウに表示された前記ウェブページレイアウトの前記一部を越えて、前記ウェブページレイアウトの以前非表示であった部分の上に、ナビゲーション入力への前記対応が、前記拡大されたビューインジケータの一部を移動させるナビゲーション入力への対応を含む、コンピュータデバイスであって、
前記分割ビューは、デジタルコンテンツをブラウズ可能なブラウザコンピュータの一部であるスクリーン上に表示され、
前記ブラウザコンピュータは、コンピュータネットワーク上のプロキシサーバから所定のウェブページを要求することにより、当該ウェブページを要求するユーザ入力に対応するブラウザプログラムを含み、
前記プロキシサーバは、コンピュータネットワーク上で、ユーザ要求を前記要求されたウェブページを保存または動的に生成する一つまたは複数のサーバと通信し、
前記一つまたは複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバは、前記デジタルコンテンツの受信として、ダウンロードされたウェブページを受信し、
前記プロキシサーバは、前記ウェブページのレイアウトを実行し、
前記プロキシサーバは、前記ブラウザコンピュータに前記ウェブページのレイアウトをダウンロードし、
前記ブラウザプログラムが、前記ブラウザコンピュータ上で、その後、前記オーバービューウインドウ及び拡大されたビューウインドウに、前記ダウンロードされたウェブページレイアウトの前記表示を行うとともに、前記スクロールで前記ナビゲーション入力に対応することによって、前記分割ビューを生成する、コンピュータデバイス。
【請求項１７】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下で情報をユーザに表示可能な表示スクリーンと、で構成されるコンピュータデバイスであって、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサは、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率でレイアウトされた前記ウェブページの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてより、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態となっている前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、現在、前記拡大されたビューウインドウに表示されている前記オーバービューウインドウに表示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを前記オーバービューウインドウに表示することと、を同時に行うことによって、前記ウェブページの分割ビューを生成することと、
これに対応して、前記拡大されたビューウインドウと、前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部との範囲内で、かつ、前記ビューウインドウ及びウェブページレイアウトの前記一部に関連して、カーソルを移動させることによって、ユーザからのナビゲーション入力に対応すること、を実行し、
ナビゲーション入力への前記対応が、前記所定のナビゲーション入力が生成される前に、前記拡大されたビューウインドウに表示された前記ウェブページの前記サブパートを越えて、前記拡大されたビューウインドウに非表示であった前記ウェブページレイアウトの一部の上に、前記カーソルを移動させることと、前記カーソルが移動される前記以前非表示であった部分が前記拡大されたビューウインドウにスクロールされ、表示されるように、前記拡大されたビューウインドウに関連して前記ウェブページレイアウトをスクロールすることと、これに対して、前記オーバービューウインドウに於いて前記拡大されたビューインジケータをスクロールし、これにより、前記拡大されたビューインジケータによって示された前記ウェブページレイアウトの前記サブパートが前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記サブパートに継続して対応すること、による、前記カーソルを前記拡大されたビューの境界に押しつける所定のナビゲーション入力への対応を含む、コンピュータデバイスであって、
デジタルコンテンツを閲覧可能なブラウザコンピュータの一部であるスクリーン上に前記分割ビューが表示され、
前記ブラウザコンピュータは、所定のウェブページを要求するユーザ入力に対してコンピュータネットワーク上でプロキシサーバからそのウェブページを要求することによって対応するブラウザプログラムを含み、
前記プロキシサーバは、コンピュータネットワーク上で、前記ユーザ要求を、前記要求されたウェブページを保存、又は、動的に生成する、一つ又は複数のサーバに伝達し、
前記一つ又は複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバはデジタルコンテンツの前記受信として、前記ダウンロードされたウェブページを受信し、
前記プロキシサーバは、前記ウェブページの前記レイアウトを実行し、
前記プロキシサーバは前記ウェブページレイアウトを前記ブラウザコンピュータにダウンロードし、
前記ブラウザプログラムが、前記ブラウザコンピュータ上で、その後、前記オーバービューウインドウ及び拡大されたビューウインドウに、前記ダウンロードされたウェブページレイアウトの前記表示を行うことによって、前記分割ビューを生成する、コンピュータデバイス。
【請求項１８】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下で情報をユーザに表示可能な表示スクリーンと、で構成されるコンピュータデバイスであって、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサは、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
ウェブページの一部として表示されるテキストを含む、表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてより、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態で、前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、現在、前記拡大されたビューウインドウに表示されているオーバービューウインドウに表示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを前記オーバービューウインドウに表示することと、を同時に行うことによって、前記ウェブページの分割ビューを作成することと、
前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対応して、前記オーバービューウインドウに表示されたレイアウトに関連して、前記拡大されたビューインジケータを移動させることと、によって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトの前記サブパートに継続して対応することと、を実行し、
文字形状及びピクセル配置が前記文字形状の端部の配置の割合を増加させるために選択されているフォントビットマップによって、前記拡大されたビューウインドウに於ける前記フォントビットマップのピクセル解像度を前提として、前記フォントビットマップのピクセル境界を用いて、前記ウェブページに於ける複数のテキスト文字のそれぞれが前記拡大されたビューウインドウに表示される、コンピュータデバイス。
【請求項１９】
前記ウェブページレイアウトは、前記拡大されたビューウインドウで使用される前記フォントビットマップのレイアウトを定義し、
前記オーバービューウインドウに於いて表示された前記ウェブページレイアウトの表示は、低解像度表示が前記オーバービューウインドウに表示された低解像度フォントビットマップ表示のピクセル境界を用いて、文字形状の端部の配置の前記割合を増加させるために選択された文字形状及びピクセル配置を有していない、前記レイアウトに含まれた前記フォントビットマップに関する縮小された低ピクセル解像度表示を含む、請求項１８に記載のコンピュータデバイス。
【請求項２０】
前記拡大されたビューウインドウに於いて文字を表示するために使用されたフォントビットマップは、前記フォントビットマップが前記拡大されたビューウインドウに於いて表示される解像度に対して、アンチエイリアスが実行される、アンチエイリアスフォントビットマップである、請求項１８に記載のコンピュータデバイス。
【請求項２１】
拡大されたビューウインドウに表示されたテキストはラテンアルファベット文字で構成され、小文字の大部分が４ピクセル又はそれ未満のアドバンス幅で表示されるフォントで表示される、請求項２０に記載のコンピュータデバイス。
【請求項２２】
前記オーバービューウインドウ及び前記拡大されたビューウインドウは、個別アドレス可能な、異なる色のサブピクセルの所定の配置で構成されたピクセルを有するスクリーン上に表示され、
前記拡大されたビューウインドウに於いて文字を表示するために使用された前記アンチエイリアスフォントビットマップは、前記フォントビットマップによって示されている文字形状によって覆われる所定のサブピクセルの割合を表すカバレッジ値と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、所定のサブピクセルに関するカバレッジ値と、異なる色の一つ又は複数の近傍のサブピクセル一式に関するカバレッジ値との間の差異から生じるカラーアンバランスを回避するために作成された、異なる色のサブピクセルを含む、前記所定のカバレッジ値から近傍サブピクセルのカバレッジ値への前記所定のサブピクセルのカバレッジ値の割合に関するカラーバランス分配と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、一つ又は複数の近傍のサブピクセルからのカバレッジ値から、所定のサブピクセルのカバレッジ値への一つ又は複数の前記カラーバランス分配と、の機能として、異なる色のサブピクセルに関する前記所定の配置を有するスクリーンピクセルのそれぞれの所定のサブピクセルに対して、輝度値を割り当てるサブピクセル最適化ビットマップであり、
前記カラーバランス分配は、一部となっている全ピクセル内に於いて、カラーアンバランスを引き起こすサブピクセルのカバレッジ値の一部の分配に実質的に制限される、請求項２０に記載のコンピュータデバイス。
【請求項２３】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下で情報をユーザに表示可能な表示スクリーンと、で構成されるコンピュータデバイスであって、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサは、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することであって、前記レイアウトの要素をオーバービューウインドウにより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたサブパートがより大きな前記第２倍率で表示されることにより、前記レイアウトの前記拡大されたサブパートは、前記拡大されたビューウインドウによって覆われた前記レイアウトのサブポーション全部よりも少なく、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、
前記拡大されたビューウインドウに覆われた前記オーバービューウインドウに表示された前記レイアウトのサブポーションに関連して、前記拡大されたビューウインドウ上に表示された前記レイアウトの前記サブパートの前記位置を示す、一つ又は複数の拡大されたサブパートマーカを表示すること、を実行し、
一つ又は複数の前記拡大されたサブパートマーカは、前記オーバービューに表示された前記レイアウトに関連して、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートの水平及び／又は垂直の範囲及び位置のそれぞれが略同一である範囲及び位置で、一つ又は複数の前記拡大されたビューウインドウの端部の幅、及び／又は、高さのサブパートに沿って延伸する、コンピュータデバイス。
【請求項２４】
前記拡大されたビューウインドウは、前記オーバービューウインドウと略同一の幅を有しており、
前記ユーザによるナビゲーション入力への前記対応は、前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを垂直に移動させることと、前記レイアウトに関連して、前記拡大されたビューウインドウに表示された前記レイアウトの前記拡大されたサブパートの位置を垂直に移動させることと、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記レイアウトの前記拡大されたサブパートの垂直位置に於ける前記変化に対応するために、一つ又は複数の前記拡大されたサブパートマーカを垂直に移動させることと、によって、垂直ナビゲーション入力に対応することと、前記レイアウトに関連して、前記拡大されたビューウインドウに表示されたレイアウトの前記拡大されたサブパートの前記位置を水平に移動させることと、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記レイアウトの前記拡大されたサブパートの水平位置に於ける前記変化に対応するために、一つ又は複数の前記拡大されたサブパートマーカを水平に移動させることと、によって、前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを実質的に移動させることなく、水平ナビゲーション入力に対応することと、を含む、請求項２３に記載のコンピュータデバイス。
【請求項２５】
前記一つまたは複数の拡大されたサブパートマーカは、少なくともナビゲーションコマンドに対応して、前記拡大されたビューウインドウに応じて移動する、請求項２３に記載のコンピュータデバイス。
【請求項２６】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下で情報をユーザに表示可能な表示スクリーンと、で構成されるコンピュータデバイスであって、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサは、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素をオーバービューウインドウに於いてより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、を実行し、
前記デジタルコンテンツは、テキストを含み、
前記レイアウトは、前記テキストを前記ウェブページレイアウトにレイアウトし、
前記拡大されたビューウインドウに表示される前記解像度で、前記フォントビットマップのピクセル境界を使用して、前記文字形状及びピクセル配置が前記文字形状の端部の配置の割合を増加させるために選択されているフォントビットマップによって、前記テキストの複数文字のそれぞれが前記拡大されたビューウインドウに表示される、コンピュータデバイス。
【請求項２７】
前記拡大されたビューウインドウに於いて表示されたフォントビットマップと同一のフォントビットマップを使用するが、前記文字形状及びピクセル配列が選択されているピクセル解像度よりも、低ピクセル解像度に縮小して、前記オーバービューウインドウが、前記拡大されたビューウインドウに表示された同一のウェブページレイアウトの縮小された表現を表示する、請求項２６に記載のコンピュータデバイス。
【請求項２８】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下で情報をユーザに表示可能な表示スクリーンと、で構成されるコンピュータデバイスであって、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサは、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素をオーバービューウインドウに於いてより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、を実行し、
前記デジタルコンテンツは、一つ又は複数の画像、及び、一つ又は複数のテキスト文字列を含み、
前記レイアウトに於ける水平及び垂直の仮想位置を、前記画像のそれぞれ、及び、所定のラインに表示されたテキストの文字列のそれぞれの部分に割り当てるために、前記ウェブページの前記レイアウトは、前記画像及びテキストに対するレイアウトピクセルサイズを使用する仮想ピクセル解像度で、前記画像及びテキストをレイアウトすることを含み、
前記仮想ピクセル解像度で実行されたレイアウトに於ける対応する部分に関連して、前記第２倍率によって縮小されるピクセル解像度で、前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの一部が表示され、
前記拡大されたビューウインドウに於ける画像及びテキストは、前記第２倍率によって縮小されているように、仮想ウェブページレイアウトに於ける前記画像及びテキストの位置に対応するピクセル座標に表示され、
前記第２倍率によって縮小されるように、仮想レイアウトに於ける前記画像及びテキストに対して使用された前記ピクセルサイズに対応する縮小されたピクセルサイズで、前記画像及びテキストは前記拡大されたビューウインドウに描画され、
前記拡大されたビューウインドウに於けるテキストの文字列の前記画像は、前記仮想レイアウトに於ける前記文字列の前記文字に割り当てられた前記サイズに関連して、前記第２倍率によって縮小されたピクセルサイズを有し、それぞれのそうしたフォントビットマップによって表示された前記文字形状の前記形状及びピクセル配置が、ビットマップのピクセル境界を用いて、前記文字形状の端部の配置の割合を増加させるために選択されている、フォントビットマップの連続で構成されている、コンピュータデバイス。
【請求項２９】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して、情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下でユーザに情報を表示可能な表示スクリーンと、を含むコンピュータデバイスに用いられ、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサに、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを示すデジタルコンテンツを受け付けることと、
ウェブページをレイアウトすることと、
第１倍率でウェブページのレイアウト部分をオーバービューウインドウに表示することと、前記レイアウトの複数要素が前記オーバービューウインドウに於いてよりも、拡大されたビューウインドウに於いてより大きく見えるようにする第２倍率の状態にある前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウト部分のサブパートを拡大されたビューウインドウに表示することと、前記拡大されたビューウインドウに現在表示されている前記オーバービューウインドウに表示された前記レイアウト部分の前記サブパートを示す拡大されたビューインジケータを、前記オーバービューウインドウに表示することと、を同時に行うことで、分割ビューである前記ウェブページの第１ビューを形成することによって、ユーザからの第１ビュー選択入力に対応することと、
前記分割ビューが表示される際に、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対して、前記オーバービューウインドウに表示されたレイアウトに関連して前記拡大されたビューインジケータを移動させることとによって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトのサブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトのサブパートに継続して対応することと、
前記オーバービューウインドウ及び前記拡大されたビューウインドウに関する前記分割ビューの組み合わせを有していない第２ビューを形成することによって、ユーザからの第２ビュー選択入力に対応することと、を実行させ、
前記デジタルコンテンツは前記ウェブページの一部として表示されるテキストを有し、
第２ビュー選択入力に対する前記対応は、新しいテキストコラムのラインを越えて、前記新しいコラムのライン幅に関連して、前記分割ビューで使用された前記レイアウトに於ける前記選択されたテキストのレイアウト幅に関連した前記選択されたテキストのフォントサイズよりも大きい一つ又は複数のフォントサイズで、テキストの前記選択された部分をリフローすることを含む、前記ウェブページのテキストの選択された部分の第２レイアウトの実行を有し、
前記第２ビューは、前記新しいテキストコラムの最大幅が前記スクリーンに表示されるリフローされたテキストウインドウを有し、
前記第２ビューは、前記リフローされたテキストウインドウの表示と、前記レイアウトの複数要素を前記拡大されたビューに於いてよりも小さく見えるようにし、テキストを前記リフローされたテキストウインドウに於いてよりも小さなフォントに見えるようにする倍率で、前記ウェブページのレイアウト部分を表示する第２オーバービューウインドウと、の表示を同時に有する分割ビューに関する第２形式であり、
前記第２オーバービューウインドウは、前記リフローされたテキストウインドウに現在表示されているテキストの前記部分の表示を含む、コンピュータプログラム。
【請求項３０】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して、情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下でユーザに情報を表示可能な表示スクリーンと、を含むコンピュータデバイスに用いられ、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサに、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてよりも、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態にある前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、
前記拡大されたビューウインドウに現在表示されている前記オーバービューウインドウに示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを、前記オーバービューウインドウで表示することと、を同時に行うことによって、前記ウェブページの分割ビューを生成することと、
前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対応して、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記拡大されたビューインジケータを移動させることと、によって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトの前記サブパートに継続して対応することと、を実行させ、
前記オーバービューウインドウに関連して、前記ウェブページレイアウトをスクロールし、これにより、以前に非表示であった部分が前記オーバービューウインドウにスクロールされることと、前記拡大されたビューインジケータの前記部分を、前記ウェブページレイアウトの前記以前非表示であった部分の上に移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートをスクロールし、これにより、前記拡大されたビューウインドウに表示された前記サブパート、がそうした移動後に前記拡大されたビューインジケータによって示された前記ウェブページレイアウトの前記サブパートに対応することと、によって、前記ナビゲーション入力が生成される前に、前記オーバービューウインドウに表示された前記ウェブページレイアウトの前記一部を越えて、前記ウェブページレイアウトの以前非表示であった部分の上に、ナビゲーション入力への前記対応が、前記拡大されたビューインジケータの一部を移動させるナビゲーション入力への対応を含み、
前記分割ビューは、デジタルコンテンツをブラウズ可能なブラウザコンピュータの一部であるスクリーン上に表示され、
前記ブラウザコンピュータは、コンピュータネットワーク上のプロキシサーバから所定のウェブページを要求することにより、当該ウェブページを要求するユーザ入力に対応するブラウザプログラムを含み、
前記プロキシサーバは、コンピュータネットワーク上で、ユーザ要求を前記要求されたウェブページを保存または動的に生成する一つまたは複数のサーバと通信し、
前記一つまたは複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバは、前記デジタルコンテンツの受信として、ダウンロードされたウェブページを受信し、
前記プロキシサーバは、前記ウェブページのレイアウトを実行し、
前記プロキシサーバは、前記ブラウザコンピュータに前記ウェブページのレイアウトをダウンロードし、
前記ブラウザプログラムが、前記ブラウザコンピュータ上で、その後、前記オーバービューウインドウ及び拡大されたビューウインドウに、前記ダウンロードされたウェブページレイアウトの前記表示を行うとともに、前記スクロールで前記ナビゲーション入力に対応することによって、前記分割ビューを生成する、コンピュータプログラム。
【請求項３１】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して、情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下でユーザに情報を表示可能な表示スクリーンと、を含むコンピュータデバイスに用いられ、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサに、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率でレイアウトされた前記ウェブページの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてより、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態となっている前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、現在、前記拡大されたビューウインドウに表示されている前記オーバービューウインドウに表示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを前記オーバービューウインドウに表示することと、を同時に行うことによって、前記ウェブページの分割ビューを生成することと、
これに対応して、前記拡大されたビューウインドウと、前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部との範囲内で、かつ、前記ビューウインドウ及びウェブページレイアウトの前記一部に関連して、カーソルを移動させることによって、ユーザからのナビゲーション入力に対応すること、を実行させ、
ナビゲーション入力への前記対応が、前記所定のナビゲーション入力が生成される前に、前記拡大されたビューウインドウに表示された前記ウェブページの前記サブパートを越えて、前記拡大されたビューウインドウに非表示であった前記ウェブページレイアウトの一部の上に、前記カーソルを移動させることと、前記カーソルが移動される前記以前非表示であった部分が前記拡大されたビューウインドウにスクロールされ、表示されるように、前記拡大されたビューウインドウに関連して前記ウェブページレイアウトをスクロールすることと、これに対して、前記オーバービューウインドウに於いて前記拡大されたビューインジケータをスクロールし、これにより、前記拡大されたビューインジケータによって示された前記ウェブページレイアウトの前記サブパートが前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記サブパートに継続して対応すること、による、前記カーソルを前記拡大されたビューの境界に押しつける所定のナビゲーション入力への対応を含み、
デジタルコンテンツを閲覧可能なブラウザコンピュータの一部であるスクリーン上に前記分割ビューが表示され、
前記ブラウザコンピュータは、所定のウェブページを要求するユーザ入力に対してコンピュータネットワーク上でプロキシサーバからそのウェブページを要求することによって対応するブラウザプログラムを含み、
前記プロキシサーバは、コンピュータネットワーク上で、前記ユーザ要求を、前記要求されたウェブページを保存、又は、動的に生成する、一つ又は複数のサーバに伝達し、
前記一つ又は複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバはデジタルコンテンツの前記受信として、前記ダウンロードされたウェブページを受信し、
前記プロキシサーバは、前記ウェブページの前記レイアウトを実行し、
前記プロキシサーバは前記ウェブページレイアウトを前記ブラウザコンピュータにダウンロードし、
前記ブラウザプログラムが、前記ブラウザコンピュータ上で、その後、前記オーバービューウインドウ及び拡大されたビューウインドウに、前記ダウンロードされたウェブページレイアウトの前記表示を行うことによって、前記分割ビューを生成する、コンピュータプログラム。
【請求項３２】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して、情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下でユーザに情報を表示可能な表示スクリーンと、を含むコンピュータデバイスに用いられ、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサに、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
ウェブページの一部として表示されるテキストを含む、表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素を前記オーバービューウインドウに於いてより、拡大されたビューウインドウに於いて、より大きく見せる第２倍率の状態で、前記拡大されたビューウインドウに於ける表示を用いて、前記オーバービューウインドウに表示された前記レイアウトの前記一部のサブパートを拡大されたビューウインドウに表示することと、現在、前記拡大されたビューウインドウに表示されているオーバービューウインドウに表示された前記レイアウトの前記一部の前記サブパートを示す拡大されたビューインジケータを前記オーバービューウインドウに表示することと、を同時に行うことによって、前記ウェブページの分割ビューを作成することと、
前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートを移動させることと、これに対応して、前記オーバービューウインドウに表示されたレイアウトに関連して、前記拡大されたビューインジケータを移動させることと、によって、ユーザからのナビゲーション入力に対応し、これにより、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートが、そうした移動後に前記拡大されたビューインジケータによって示された前記レイアウトの前記サブパートに継続して対応することと、を実行させ、
文字形状及びピクセル配置が前記文字形状の端部の配置の割合を増加させるために選択されているフォントビットマップによって、前記拡大されたビューウインドウに於ける前記フォントビットマップのピクセル解像度を前提として、前記フォントビットマップのピクセル境界を用いて、前記ウェブページに於ける複数のテキスト文字のそれぞれが前記拡大されたビューウインドウに表示される、コンピュータプログラム。
【請求項３３】
前記ウェブページレイアウトは、前記拡大されたビューウインドウで使用される前記フォントビットマップのレイアウトを定義し、
前記オーバービューウインドウに於いて表示された前記ウェブページレイアウトの表示は、低解像度表示が前記オーバービューウインドウに表示された低解像度フォントビットマップ表示のピクセル境界を用いて、文字形状の端部の配置の前記割合を増加させるために選択された文字形状及びピクセル配置を有していない、前記レイアウトに含まれた前記フォントビットマップに関する縮小された低ピクセル解像度表示を含む、請求項３２に記載のコンピュータプログラム。
【請求項３４】
前記拡大されたビューウインドウに於いて文字を表示するために使用されたフォントビットマップは、前記フォントビットマップが前記拡大されたビューウインドウに於いて表示される解像度に対して、アンチエイリアスが実行される、アンチエイリアスフォントビットマップである、請求項３２に記載のコンピュータプログラム。
【請求項３５】
拡大されたビューウインドウに表示されたテキストはラテンアルファベット文字で構成され、小文字の大部分が４ピクセル又はそれ未満のアドバンス幅で表示されるフォントで表示される、請求項３４に記載のコンピュータプログラム。
【請求項３６】
前記オーバービューウインドウ及び前記拡大されたビューウインドウは、個別アドレス可能な、異なる色のサブピクセルの所定の配置で構成されたピクセルを有するスクリーン上に表示され、
前記拡大されたビューウインドウに於いて文字を表示するために使用された前記アンチエイリアスフォントビットマップは、前記フォントビットマップによって示されている文字形状によって覆われる所定のサブピクセルの割合を表すカバレッジ値と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、所定のサブピクセルに関するカバレッジ値と、異なる色の一つ又は複数の近傍のサブピクセル一式に関するカバレッジ値との間の差異から生じるカラーアンバランスを回避するために作成された、異なる色のサブピクセルを含む、前記所定のカバレッジ値から近傍サブピクセルのカバレッジ値への前記所定のサブピクセルのカバレッジ値の割合に関するカラーバランス分配と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、一つ又は複数の近傍のサブピクセルからのカバレッジ値から、所定のサブピクセルのカバレッジ値への一つ又は複数の前記カラーバランス分配と、の機能として、異なる色のサブピクセルに関する前記所定の配置を有するスクリーンピクセルのそれぞれの所定のサブピクセルに対して、輝度値を割り当てるサブピクセル最適化ビットマップであり、
前記カラーバランス分配は、一部となっている全ピクセル内に於いて、カラーアンバランスを引き起こすサブピクセルのカバレッジ値の一部の分配に実質的に制限される、請求項３４に記載のコンピュータプログラム。
【請求項３７】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して、情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下でユーザに情報を表示可能な表示スクリーンと、を含むコンピュータデバイスに用いられ、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサに、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することであって、前記レイアウトの要素をオーバービューウインドウにより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたサブパートがより大きな前記第２倍率で表示されることにより、前記レイアウトの前記拡大されたサブパートは、前記拡大されたビューウインドウによって覆われた前記レイアウトのサブポーション全部よりも少なく、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、
前記拡大されたビューウインドウに覆われた前記オーバービューウインドウに表示された前記レイアウトのサブポーションに関連して、前記拡大されたビューウインドウ上に表示された前記レイアウトの前記サブパートの前記位置を示す、一つ又は複数の拡大されたサブパートマーカを表示すること、を実行させ、
一つ又は複数の前記拡大されたサブパートマーカは、前記オーバービューに表示された前記レイアウトに関連して、前記拡大されたビューウインドウに表示された前記レイアウトの前記サブパートの水平及び／又は垂直の範囲及び位置のそれぞれが略同一である範囲及び位置で、一つ又は複数の前記拡大されたビューウインドウの端部の幅、及び／又は、高さのサブパートに沿って延伸する、コンピュータプログラム。
【請求項３８】
前記拡大されたビューウインドウは、前記オーバービューウインドウと略同一の幅を有しており、
前記ユーザによるナビゲーション入力への前記対応は、前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを垂直に移動させることと、前記レイアウトに関連して、前記拡大されたビューウインドウに表示された前記レイアウトの前記拡大されたサブパートの位置を垂直に移動させることと、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記レイアウトの前記拡大されたサブパートの垂直位置に於ける前記変化に対応するために、一つ又は複数の前記拡大されたサブパートマーカを垂直に移動させることと、によって、垂直ナビゲーション入力に対応することと、前記レイアウトに関連して、前記拡大されたビューウインドウに表示されたレイアウトの前記拡大されたサブパートの前記位置を水平に移動させることと、前記オーバービューウインドウに表示された前記レイアウトに関連して、前記レイアウトの前記拡大されたサブパートの水平位置に於ける前記変化に対応するために、一つ又は複数の前記拡大されたサブパートマーカを水平に移動させることと、によって、前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを実質的に移動させることなく、水平ナビゲーション入力に対応することと、を含む、請求項３７に記載のコンピュータプログラム。
【請求項３９】
前記一つまたは複数の拡大されたサブパートマーカは、少なくともナビゲーションコマンドに対応して、前記拡大されたビューウインドウに応じて移動する、請求項３７に記載のコンピュータプログラム。
【請求項４０】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して、情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下でユーザに情報を表示可能な表示スクリーンと、を含むコンピュータデバイスに用いられ、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサに、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素をオーバービューウインドウに於いてより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、を実行させ、
前記デジタルコンテンツは、テキストを含み、
前記レイアウトは、前記テキストを前記ウェブページレイアウトにレイアウトし、
前記拡大されたビューウインドウに表示される前記解像度で、前記フォントビットマップのピクセル境界を使用して、前記文字形状及びピクセル配置が前記文字形状の端部の配置の割合を増加させるために選択されているフォントビットマップによって、前記テキストの複数文字のそれぞれが前記拡大されたビューウインドウに表示される、コンピュータプログラム。
【請求項４１】
前記拡大されたビューウインドウに於いて表示されたフォントビットマップと同一のフォントビットマップを使用するが、前記文字形状及びピクセル配列が選択されているピクセル解像度よりも、低ピクセル解像度に縮小して、前記オーバービューウインドウが、前記拡大されたビューウインドウに表示された同一のウェブページレイアウトの縮小された表現を表示する、請求項４０に記載のコンピュータプログラム。
【請求項４２】
プログラム情報を含む情報を保存するための一つまたは複数のメモリデバイスと、
前記プログラム情報に対応して、情報を処理する一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサに供給可能なユーザからの入力を受け付けるための一つまたは複数の入力デバイスと、
前記一つまたは複数のプロセッサの制御下でユーザに情報を表示可能な表示スクリーンと、を含むコンピュータデバイスに用いられ、
前記プログラム情報は、前記一つまたは複数のプロセッサの制御下で、前記コンピュータデバイスを実行させるためのプログラムを含み、
前記プロセッサに、前記メモリデバイスの前記プログラム情報の前記プログラムにより、
表示されるウェブページを表示するデジタルコンテンツを受信することと、
前記ウェブページをレイアウトすることと、
第１倍率で、前記ウェブページレイアウトの一部をオーバービューウインドウに表示することと、前記レイアウトの要素をオーバービューウインドウに於いてより、より大きく見せる第２倍率で、前記拡大されたビューウインドウが前記オーバービューウインドウに表示されるレイアウトの覆われたサブポーションの拡大されたサブパートを表示し、前記拡大されたビューウインドウが前記オーバービューウインドウの前記レイアウトのサブポーションを有効に覆うように、前記オーバービューウインドウに表示された前記レイアウトのサブポーション上に拡大されたビューウインドウを表示することと、を同時に行うことにより、前記ウェブページのビューを生成することと、
前記オーバービューウインドウに関連して、前記拡大されたビューウインドウを移動させることと、これに対応して、前記拡大されたビューウインドウに表示された前記レイアウトの拡大されたサブパートを移動させ、これにより、拡大されたビューウインドウに表示された前記ウェブページレイアウトの前記一部が、そうした移動後に、前記オーバービューウインドウに表示された前記レイアウトの前記覆われたサブポーションのサブパートに継続して対応することと、によって、ユーザからのナビゲーション入力に対応することと、を実行させ、
前記デジタルコンテンツは、一つ又は複数の画像、及び、一つ又は複数のテキスト文字列を含み、
前記レイアウトに於ける水平及び垂直の仮想位置を、前記画像のそれぞれ、及び、所定のラインに表示されたテキストの文字列のそれぞれの部分に割り当てるために、前記ウェブページの前記レイアウトは、前記画像及びテキストに対するレイアウトピクセルサイズを使用する仮想ピクセル解像度で、前記画像及びテキストをレイアウトすることを含み、
前記仮想ピクセル解像度で実行されたレイアウトに於ける対応する部分に関連して、前記第２倍率によって縮小されるピクセル解像度で、前記拡大されたビューウインドウに表示された前記ウェブページレイアウトの一部が表示され、
前記拡大されたビューウインドウに於ける画像及びテキストは、前記第２倍率によって縮小されているように、仮想ウェブページレイアウトに於ける前記画像及びテキストの位置に対応するピクセル座標に表示され、
前記第２倍率によって縮小されるように、仮想レイアウトに於ける前記画像及びテキストに対して使用された前記ピクセルサイズに対応する縮小されたピクセルサイズで、前記画像及びテキストは前記拡大されたビューウインドウに描画され、
前記拡大されたビューウインドウに於けるテキストの文字列の前記画像は、前記仮想レイアウトに於ける前記文字列の前記文字に割り当てられた前記サイズに関連して、前記第２倍率によって縮小されたピクセルサイズを有し、それぞれのそうしたフォントビットマップによって表示された前記文字形状の前記形状及びピクセル配置が、ビットマップのピクセル境界を用いて、前記文字形状の端部の配置の割合を増加させるために選択されている、フォントビットマップの連続で構成されている、コンピュータプログラム。
【請求項４３】
前記表示は、携帯情報端末（ＰＤＡ）のスクリーン上で実行される、請求項１ないし４の何れかに記載のコンピュータデバイスに於けるメディア表示方法。
【請求項４４】
前記表示は、携帯情報端末（ＰＤＡ）のスクリーン上で実行される、請求項１５ないし１８の何れかに記載のコンピュータデバイス。
【請求項４５】
前記表示は、携帯情報端末（ＰＤＡ）のスクリーン上で実行される請求項２９ないし３２の何れかに記載のコンピュータプログラム。
【請求項４６】
前記表示は、携帯電話のスクリーン上で実行される、請求項１ないし４の何れかに記載のコンピュータデバイスに於けるメディア表示方法。
【請求項４７】
前記表示は、携帯電話のスクリーン上で実行される請求項１５ないし１８の何れかに記載のコンピュータデバイス。
【請求項４８】
前記表示は、携帯電話のスクリーン上で実行される請求項２９ないし３２の何れかに記載のコンピュータプログラム。
【請求項４９】
前記カーソルは、前記ナビゲーションの入力に対応して移動するときに、前記拡大されたビューウインドウ、及び、前記オーバービューウインドウの両方で、前記ウェブページレイアウトに関連して、同一の位置に表示される、請求項３に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項５０】
前記カーソルは、前記ナビゲーション入力に対応して移動するときに、前記拡大されたビューウインドウ、及び、前記オーバービューウインドウの両方で、前記ウェブページレイアウトに関連して、同一の位置に表示される、請求項１７に記載のコンピュータデバイス。
【請求項５１】
前記カーソルは、前記ナビゲーション入力に対応して移動するときに、前記拡大されたビューウインドウ及び前記オーバービューウインドウの両方で、前記ウェブページレイアウトに関連して、同一の位置に表示される、請求項３１に記載のコンピュータプログラム。
【請求項５２】
前記拡大されたビューウインドウに於いて文字を表示するために使用された前記フォントビットマップは、フォントビットマップが前記拡大されたビューウインドウに表示される解像度に対して、アンチエイリアスが実行されるアンチエイリアス化フォントビットマップである、請求項１１に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項５３】
前記拡大されたビューウインドウに於いて文字を表示するために使用された前記フォントビットマップは、フォントビットマップが前記拡大されたビューウインドウに表示される解像度に対してアンチエイリアスが実行されるアンチエイリアス化フォントビットマップである、請求項２６に記載のコンピュータデバイス。
【請求項５４】
前記拡大されたビューウインドウに於いて文字を表示するために使用された前記フォントビットマップは、フォントビットマップが前記拡大されたビューウインドウに表示される解像度に対してアンチエイリアスが実行されるアンチエイリアス化フォントビットマップである、請求項４０に記載のコンピュータプログラム。
【請求項５５】
前記拡大されたビューウインドウに表示されたテキストは、ラテンアルファベットの文字で構成され、小文字の大部分が４ピクセル又はそれ未満のアドバンス幅で表示されるフォントで表示される、請求項５２に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項５６】
前記拡大されたビューウインドウに表示されたテキストは、ラテンアルファベットの文字で構成され、小文字の大部分が４ピクセル又はそれ未満のアドバンス幅で表示されるフォントで表示される、請求項５３に記載のコンピュータデバイス。
【請求項５７】
前記拡大されたビューウインドウに表示されたテキストは、ラテンアルファベットの文字で構成され、小文字の大部分が４ピクセル又はそれ未満のアドバンス幅で表示されるフォントで表示される、請求項５４に記載のコンピュータプログラム。
【請求項５８】
前記オーバービューウインドウ及び前記拡大されたビューウインドウが表示される前記スクリーンは、個別アドレス可能な、異なる色のサブピクセルに関する所定の配置で構成されたピクセルを有しており、
前記拡大されたビューに於いて文字を表示するために使用される前記アンチエイリアスフォントビットマップは、前記フォントビットマップによって示されている文字形状によって覆われた所定のサブピクセルの割合を示すカバレッジ値と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、異なる色のサブピクセルを含み、前記所定のサブピクセルに関するカバレッジ値と、異なる色の所定の一つ又は複数の近傍のサブピクセル一式に関するカバレッジ値との差異から生じるカラーアンバランスを回避するために作成された、前記カバレッジ値から近傍のサブピクセルのカバレッジ値までの所定のサブピクセルのカバレッジ値の割合に関するカラーバランス分配と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、一つ又は複数の近傍のサブピクセルからの前記カバレッジ値から、前記所定のサブピクセルのカバレッジ値への一つ又は複数の前記カラーバランス分配と、の関数として、異なる色のサブピクセルの前記所定の配置を有するスクリーンピクセルのそれぞれの所定のサブピクセルに輝度値を割り当てるサブピクセル最適化ビットマップであり、
前記カラーバランス分配は、一部となっている全ピクセル内でカラーアンバランスを引き起こすサブピクセルのカバレッジ値の一部の分配に実質的に制限されている、請求項５２に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項５９】
前記オーバービューウインドウ及び前記拡大されたビューウインドウが表示される前記スクリーンは、個別アドレス可能な、異なる色のサブピクセルに関する所定の配置で構成されたピクセルを有しており、
前記拡大されたビューに於いて文字を表示するために使用される前記アンチエイリアスフォントビットマップは、前記フォントビットマップによって示されている文字形状によって覆われた所定のサブピクセルの割合を示すカバレッジ値と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、異なる色のサブピクセルを含み、前記所定のサブピクセルに関するカバレッジ値と、異なる色の所定の一つ又は複数の近傍のサブピクセル一式に関するカバレッジ値との差異から生じるカラーアンバランスを回避するために作成された、前記カバレッジ値から近傍のサブピクセルのカバレッジ値までの所定のサブピクセルのカバレッジ値の割合に関するカラーバランス分配と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、一つ又は複数の近傍のサブピクセルからの前記カバレッジ値から、前記所定のサブピクセルのカバレッジ値への一つ又は複数の前記カラーバランス分配と、の関数として、異なる色のサブピクセルの前記所定の配置を有するスクリーンピクセルのそれぞれの所定のサブピクセルに輝度値を割り当てるサブピクセル最適化ビットマップであり、
前記カラーバランス分配は、一部となっている全ピクセル内でカラーアンバランスを引き起こすサブピクセルのカバレッジ値の一部の分配に実質的に制限されている、請求項５３に記載のコンピュータデバイス。
【請求項６０】
前記オーバービューウインドウ及び前記拡大されたビューウインドウが表示される前記スクリーンは、個別アドレス可能な、異なる色のサブピクセルに関する所定の配置で構成されたピクセルを有しており、
前記拡大されたビューに於いて文字を表示するために使用される前記アンチエイリアスフォントビットマップは、前記フォントビットマップによって示されている文字形状によって覆われた所定のサブピクセルの割合を示すカバレッジ値と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、異なる色のサブピクセルを含み、前記所定のサブピクセルに関するカバレッジ値と、異なる色の所定の一つ又は複数の近傍のサブピクセル一式に関するカバレッジ値との差異から生じるカラーアンバランスを回避するために作成された、前記カバレッジ値から近傍のサブピクセルのカバレッジ値までの所定のサブピクセルのカバレッジ値の割合に関するカラーバランス分配と、少なくとも前記フォントビットマップの幾つかのサブピクセルの場合、一つ又は複数の近傍のサブピクセルからの前記カバレッジ値から、前記所定のサブピクセルのカバレッジ値への一つ又は複数の前記カラーバランス分配と、の関数として、異なる色のサブピクセルの前記所定の配置を有するスクリーンピクセルのそれぞれの所定のサブピクセルに輝度値を割り当てるサブピクセル最適化ビットマップであり、
前記カラーバランス分配は、一部となっている全ピクセル内でカラーアンバランスを引き起こすサブピクセルのカバレッジ値の一部の分配に実質的に制限されている、請求項５４に記載のコンピュータプログラム。
【請求項６１】
前記デジタルコンテンツは、画像及びテキスト文字列の両方を有し、
前記レイアウトに於ける水平及び垂直の仮想位置を、前記画像のそれぞれと、所定のラインに表示されたテキストの文字列のそれぞれの位置に割り当てるために、前記ウェブページの前記レイアウトは、前記画像及びテキストに対する仮想レイアウトピクセルサイズを使用する仮想ピクセル解像度で、前記画像及びテキストをレイアウトすることを含み、
前記第２倍率は、前記拡大されたビューウインドウで表示された前記ウェブページレイアウトの前記一部を、前記仮想ピクセル解像度で実行された前記レイアウトに於ける対応する位置に関連して、前記第２倍率で縮小されるピクセル解像度を用いて表示させる、非単一値を有し、
前記第２倍率によって縮小されるように、仮想ウェブページレイアウトに於ける前記画像及びテキストの位置に対応するピクセル座標に、前記拡大されたビューウインドウに於ける画像及びテキストが表示され、
前記第２倍率によって縮小されるように、仮想レイアウトに於ける前記画像及びテキストに使用されるピクセルサイズに対応する縮小されたピクセルサイズで、前記拡大されたビューウインドウに前記画像及びテキストが描画され、
前記拡大されたビューウインドウに於ける前記テキストの文字列の画像は、前記仮想レイアウトに於ける前記文字列の文字に割り当てられたサイズに関連して、前記第２倍率によって縮小されたピクセルサイズを有するフォントビットマップの連続で構成され、
前記拡大されたビューウインドウに於ける前記文字の一つを表示するために使用されるフォントビットマップによって示された文字の前記形状及びピクセル配置は、前記フォントビットマップが前記拡大されたビューウインドウに表示される解像度で、ビットマップのピクセル境界を用いて、前記文字形状の端部の配置の割合を増加させるために選択されている、請求項４に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項６２】
前記デジタルコンテンツは、画像及びテキスト文字列の両方を有し、
前記レイアウトに於ける水平及び垂直の仮想位置を、前記画像のそれぞれと、所定のラインに表示されたテキストの文字列のそれぞれの位置に割り当てるために、前記ウェブページの前記レイアウトは、前記画像及びテキストに対する仮想レイアウトピクセルサイズを使用する仮想ピクセル解像度で、前記画像及びテキストをレイアウトすることを含み、
前記第２倍率は、前記拡大されたビューウインドウで表示された前記ウェブページレイアウトの前記一部を、前記仮想ピクセル解像度で実行された前記レイアウトに於ける対応する位置に関連して、前記第２倍率で縮小されるピクセル解像度を用いて表示させる、非単一値を有し、
前記第２倍率によって縮小されるように、仮想ウェブページレイアウトに於ける前記画像及びテキストの位置に対応するピクセル座標に、前記拡大されたビューウインドウに於ける画像及びテキストが表示され、
前記第２倍率によって縮小されるように、仮想レイアウトに於ける前記画像及びテキストに使用されるピクセルサイズに対応する縮小されたピクセルサイズで、前記拡大されたビューウインドウに前記画像及びテキストが描画され、
前記拡大されたビューウインドウに於ける前記テキストの文字列の画像は、前記仮想レイアウトに於ける前記文字列の文字に割り当てられたサイズに関連して、前記第２倍率によって縮小されたピクセルサイズを有するフォントビットマップの連続で構成され、
前記拡大されたビューウインドウに於ける前記文字の一つを表示するために使用されるフォントビットマップによって示された文字の前記形状及びピクセル配置は、前記フォントビットマップが前記拡大されたビューウインドウに表示される解像度で、ビットマップのピクセル境界を用いて、前記文字形状の端部の配置の割合を増加させるために選択されている、請求項１８に記載のコンピュータデバイス。
【請求項６３】
前記デジタルコンテンツは、画像及びテキスト文字列の両方を有し、
前記レイアウトに於ける水平及び垂直の仮想位置を、前記画像のそれぞれと、所定のラインに表示されたテキストの文字列のそれぞれの位置に割り当てるために、前記ウェブページの前記レイアウトは、前記画像及びテキストに対する仮想レイアウトピクセルサイズを使用する仮想ピクセル解像度で、前記画像及びテキストをレイアウトすることを含み、
前記第２倍率は、前記拡大されたビューウインドウで表示された前記ウェブページレイアウトの前記一部を、前記仮想ピクセル解像度で実行された前記レイアウトに於ける対応する位置に関連して、前記第２倍率で縮小されるピクセル解像度を用いて表示させる、非単一値を有し、
前記第２倍率によって縮小されるように、仮想ウェブページレイアウトに於ける前記画像及びテキストの位置に対応するピクセル座標に、前記拡大されたビューウインドウに於ける画像及びテキストが表示され、
前記第２倍率によって縮小されるように、仮想レイアウトに於ける前記画像及びテキストに使用されるピクセルサイズに対応する縮小されたピクセルサイズで、前記拡大されたビューウインドウに前記画像及びテキストが描画され、
前記拡大されたビューウインドウに於ける前記テキストの文字列の画像は、前記仮想レイアウトに於ける前記文字列の文字に割り当てられたサイズに関連して、前記第２倍率によって縮小されたピクセルサイズを有するフォントビットマップの連続で構成され、
前記拡大されたビューウインドウに於ける前記文字の一つを表示するために使用されるフォントビットマップによって示された文字の前記形状及びピクセル配置は、前記フォントビットマップが前記拡大されたビューウインドウに表示される解像度で、ビットマップのピクセル境界を用いて、前記文字形状の端部の配置の割合を増加させるために選択されている、請求項３２に記載のコンピュータプログラム。
【請求項６４】
前記表示は、デジタルコンテンツを閲覧可能なブラウザコンピュータの一部であるスクリーン上で実行され、
前記ブラウザコンピュータは、コンピュータネットワーク上でプロキシサーバから、所定のウェブページを要求することによって、そのウェブページを要求するユーザ入力に対応するブラウザプログラムを有しており、
前記プロキシサーバは、コンピュータネットワーク上で前記ユーザ要求を、前記要求されたウェブページの保存、又は、動的な生成を行う一つ又は複数のサーバに伝達し、
前記一つ又は複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバは前記デジタルコンテンツの受信として前記ダウンロードされたウェブページを受信し、
前記プロキシサーバは前記ウェブページの前記レイアウトを実行し、
前記プロキシサーバは前記ウェブページレイアウトを前記ブラウザにダウンロードし、
その後、前記ブラウザコンピュータ上で実行している前記ブラウザプログラムが、前記ウインドウに於ける前記ウェブページレイアウトの前記表示を実行する、請求項４及び１３に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項６５】
前記表示は、デジタルコンテンツを閲覧可能なブラウザコンピュータの一部であるスクリーン上で実行され、
前記ブラウザコンピュータは、コンピュータネットワーク上でプロキシサーバから、所定のウェブページを要求することによって、そのウェブページを要求するユーザ入力に対応するブラウザプログラムを有しており、
前記プロキシサーバは、コンピュータネットワーク上で前記ユーザ要求を、前記要求されたウェブページの保存、又は、動的な生成を行う一つ又は複数のサーバに伝達し、
前記一つ又は複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバは、前記デジタルコンテンツの受信として前記ダウンロードされたウェブページを受信し、
前記プロキシサーバは前記ウェブページの前記レイアウトを実行し、
前記プロキシサーバは前記ウェブページレイアウトを前記ブラウザにダウンロードし、
その後、前記ブラウザコンピュータ上で実行している前記ブラウザプログラムが、前記ウインドウに於ける前記ウェブページレイアウトの前記表示を実行する、請求項１８及び２８に記載のコンピュータデバイス。
【請求項６６】
前記表示は、デジタルコンテンツを閲覧可能なブラウザコンピュータの一部であるスクリーン上で実行され、
前記ブラウザコンピュータは、コンピュータネットワーク上でプロキシサーバから、所定のウェブページを要求することによって、そのウェブページを要求するユーザ入力に対応するブラウザプログラムを有しており、
前記プロキシサーバは、コンピュータネットワーク上で前記ユーザ要求を、前記要求されたウェブページの保存、又は、動的な生成を行う一つ又は複数のサーバに伝達し、
前記一つ又は複数のサーバは、前記要求されたウェブページを前記プロキシサーバに送信し、
前記プロキシサーバは、前記デジタルコンテンツの受信として前記ダウンロードされたウェブページを受信し、
前記プロキシサーバは前記ウェブページの前記レイアウトを実行し、
前記プロキシサーバは前記ウェブページレイアウトを前記ブラウザにダウンロードし、
その後、前記ブラウザコンピュータ上で実行している前記ブラウザプログラムが、前記ウインドウに於ける前記ウェブページレイアウトの前記表示を実行する、請求項３２および４２に記載のコンピュータプログラム。
【請求項６７】
前記ブラウザコンピュータは携帯電話である、請求項６４に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項６８】
前記ブラウザコンピュータは携帯電話である、請求項６５に記載のコンピュータデバイス。
【請求項６９】
前記ブラウザコンピュータは携帯電話である、請求項６６に記載のコンピュータプログラム。
【請求項７０】
前記ブラウザコンピュータは、ハンドヘルドコンピュータ、又は、ウェアラブルコンピュータである、請求項６４に記載のコンピュータデバイスに於けるメディア表示方法。
【請求項７１】
前記ブラウザコンピュータは、ハンドヘルドコンピュータ、又は、ウェアラブルコンピュータである、請求項６５に記載のコンピュータデバイス。
【請求項７２】
前記ブラウザコンピュータは、ハンドヘルドコンピュータ、又は、ウェアラブルコンピュータである、請求項６６に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ウェブページを表示するための方法、システム、及び、プログラムに関し、特に、小型スクリーン、低解像度スクリーン、又は、ユーザの視野の比較的小さな部分を占め、視聴者から十分離れているスクスクリーン上での表示に有用なウェブページを表示するための方法に関する。
【背景技術】
【０００２】
本特許出願は、幾つかの特徴が大型スクリーンコンピュータ上で使用可能であるが、ハンドヘルドコンピュータ、携帯電話コンピュータ、ワールドワイドウェブ（ＷＷＷ）、又は、同様のメディアを閲覧するための手首又は頭部装着型表示装置を備えたコンピュータなど、小型スクリーン、又は、低解像度スクリーンを備えたコンピュータデバイスの使用を改善することに関する多くの特徴を有している。
【０００３】
本出願の出願時点で、対角約４インチの約２４０×３２０ピクセルスクリーンを有する、所謂「携帯情報端末（ＰＤＡ）」など、複数のハンドヘルドコンピュータが存在している。これらは、コンパック社のｉＰａｑ  Ｐｏｃｋｅｔ  ＰＣ、カシオ社のＣａｓｓｉｏｐｅｉａ、ヒューレットパッカード社のＪｏｒｎａｄｏを含む。残念ながらそうした解像度は低過ぎるので、閲覧すべく設計された方法で殆どの現在のウェブページを表示することは出来ない。現在、殆どのウェブページは６４０×４８０解像度スクリーンで（ウェブサイトの中には、この解像度でさえ容易に見ることが出来ないものもあるが）かなり適切に見ることが出来る。より大型のスクリーンでウェブサイトを容易に見ることが出来る状態に近い方法で、そうしたハンドヘルドデバイスを用いて、殆どのウェブページを見ることが出来ることが望ましいだろう。
【０００４】
また、本出願の提出時点で、特にユーザがウェブページを閲覧することが出来るように設計された複数の携帯電話が存在する。例えばマイクロソフト社は、１７６×２２０ピクセルサイズのスクリーンを有し、ウェブ閲覧ソフトウェアを有する携帯電話用の「スマートフォン」のソフトウェア規格を支援している。残念ながら、該パッケージの一部として提供された閲覧ソフトウェアでは、ユーザがより大型のコンピュータでウェブページを容易に閲覧可能な状態に近い方法で、殆どのウェブページを小型スクリーンで閲覧することは出来ない。
【０００５】
他の電話機メーカーは、他のスクリーンサイズを有する携帯電話を提供している。例えば、現在、ノキア社は１７６×２０８ピクセルサイズのスクリーンを有する携帯電話を販売している。しかし、現段階では、デスクトップコンピュータやラップトップコンピュータで一般的に見られるサイズのスクリーン上で、そうしたウェブページを閲覧する場合と同様に多くのウェブページの閲覧を容易にする、こうしたコンピュータのスクリーン上でウェブページを閲覧するソフトウェアは存在しない。
【０００６】
現在、液晶表示装置メーカーは、現在市場に存在する表示装置よりも実質的に高解像度を有する小型スクリーンを製造することが可能である。有機ＬＥＤ表示装置メーカーは、さらに高解像度でさえ実現可能だと主張している。これは、上記に列挙したハンドヘルドコンピュータに現在搭載されているサイズの対角４インチスクリーンは、４８０×６８０、又は、それを越える解像度を有することが可能であることを意味する。そうしたスクリーンは多くのウェブサイトに対して受容可能な解像度を提供するが、多くのウェブページを閲覧するためには、さらに効果的な高解像度が望ましい。
【０００７】
更に、比較的高解像度でそうしたスクリーンを見るためには、ユーザの視界の間近にスクリーンを保持されなければならない。このことは、多くのアプリケーションで満たされる可能性があるのだが、多くの場合、ユーザはハンドヘルドコンピュータを常に視界の間近に保持することに対して疲労を感じたり、不便を感じたりする可能性がある。
【０００８】
また、表示解像度に於けるそうした進歩は、３２０×２４０ピクセルスクリーンが２インチまたはそれ未満の対角長で製造可能であることを意味する。そうした表示装置は、現在多くのマルチメディア携帯電話機に一般的に搭載されている表示装置のサイズよりも小型であり、腕時計に適合することも可能である。そうした表示装置は、現在ハンドヘルドコンピュータで使用されている多くのアプリケーション形式を、携帯電話、腕時計、又は、その他類似の小型コンピュータ上で使用可能にするであろう。残念ながら、これらの表示装置は、ユーザによる殆どのウェブページの閲覧を困難にさせる傾向がある比較的低解像度を有するという問題と、物理的にあまりにも小型であるために、ユーザによるそうした解像度での閲覧を可能にするためには、ハンドヘルドコンピュータをユーザの視界に極めて接近した位置に設置しなければならないという問題を有している。さらに、そうした装置をユーザの視界の間近に保持することは、所定時間であれば申し分ないであろうが、長時間に渡る場合、又は、所定の状況下では不便になる可能性がある。
【０００９】
現在、眼鏡のような外観の装置を介して、或いは、ユーザの眼の上方、下方、又は、横にずれた位置に設置された鏡から、ユーザの眼に対して反射される光を受けて、ユーザがコンピュータスクリーンの画像を見ることが可能な頭部装着型表示装置を提供する幾つかの企業が存在する。ユーザがそうした頭部装着型表示装置を使用中に、周囲とのやりとりを容易に行うことが出来るように、多くの場合、そうした投影されたコンピュータスクリーンがユーザの視野の比較的小さな領域を占めるようにすることが望ましい。このように、そうした表示装置のユーザは、小型ハンドヘルドスクリーンのユーザが直面する問題と同一の問題の多くに直面する可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明の幾つかの特徴は、比較的制限された演算能力、メモリ、又は、インターネット回線容量を有するコンピュータ上でのウェブページの閲覧を最適化する方法に関する。例えば、現在、殆どのデスクトップコンピュータやラップトップコンピュータで使用されている種類の標準的なウェブブラウザでは、多くのメガバイトを有するメモリや比較的大量の演算能力が必要となる。またそれらは、所望の速さで、ワールドワイドウェブのより頻繁に使用されるウェブページの多くに含まれるウェブコンテンツの種類が動作するためには、少なくとも高速モデムの通信速度を有するインターネット接続を必要とする。残念ながら、多くのハンドヘルドコンピュータは、そうしたウェブページの多くを効果的に表示することが可能な記憶装置、又は、演算能力を有していない。また、最も一般的に利用可能なワイヤレスシステムは、多くのウェブページにとって好ましい回線容量よりも実質的に低い回線容量を有している。このような要因の結果として、本出願に含まれる技術的革新の幾つかの内、焦点となる一つの技術的革新は、制限された記憶装置、通信速度、回線容量を用いて、コンピュータがワールドワイドウェブや類似のメディアをより適切にブラウズすることが可能な方法に関する。
【課題を解決するための手段】
【００１１】
本発明は、必ずしもそうとは限らないが、一般的に、携帯電話、携帯情報端末（ＰＤＡ）、リストウォッチコンピュータ等の小型コンピュータデバイスでメディアを表示するための方法に関する。
【００１２】
本発明は複数の特徴を有しており、すべてが分割ビューの使用を有するメディア表示方法に関連しているということが第１の特徴である。
【００１３】
こうした分割ビュー方法は、表示されるウェブページを表現するデジタルコンテンツの受信、ウェブページのレイアウト、及び、ウェブページの分割ビューの形成を含む。第１倍率でレイアウトされたウェブページの一部をオーバービューウインドウで同時に表示することと、オーバービューウインドウに比して拡大されたビューウインドウに於いてレイアウトの要素を大きく見えるようにする第２倍率で、拡大されたビューウインドウに於ける表示を用いて、オーバービューウインドウに表示されたレイアウト部分のサブパートを拡大されたビューウインドウで表示することによって、分割ビューが形成される。また、分割ビューは、拡大されたビューウインドウに現在表示されているオーバービューウインドウに表示された、レイアウトの一部のサブパートを示す拡大されたビューインジケータのオーバービューウインドウに於ける表示を含む。
【００１４】
本発明の分割ビュー方法には、ユーザが拡大されたビューに表示されるレイアウトの部分の境界をナビゲート可能にする方法もある。そうした拡大されたビューナビゲーションに於いて、拡大されたビューウインドウに表示されたレイアウトのサブパートを移動させ、これに対して、オーバービューウインドウに表示されたレイアウトに関連して拡大されたビューインジケータを移動させることによって、ユーザからのナビゲーション入力に対応し、これにより、拡大されたビューウインドウに示されたレイアウトのサブパートは、そうした移動後に、拡大されたビューインジケータによって示されたレイアウトのサブパートに引き続き対応する。
【００１５】
幾つかの拡大されたビューナビゲーション方法に於いて、オーバービューウインドウ及び拡大されたビューウインドウは、所定の幅及び高さを有する単一の矩形表示スクリーンの異なる部分に同時に表示され、オーバービューウインドウ及び拡大されたウインドウのそれぞれは、スクリーンと実質的に同様の幅の広さであるが、それぞれはスクリーンの高さの異なる部分を占めている。
【００１６】
本発明の特徴に関する幾つかの実施形態に於いて、拡大されたビューウインドウの高さは、拡大されたビューウインドウ及びオーバービューウインドウを併せた高さの半分よりも少ない高さを占める。
【００１７】
本発明の該特徴に関する幾つかの実施形態に於いて、ウェブページレイアウトが拡大されたビューウインドウ及びオーバービューウインドウに表示される方向に関連して、スクリーンが縦方向を有する。幾つかのそうした実施形態に於いて、オーバービューウインドウ及び拡大されたビューウインドウのそれぞれは、高さよりも長い幅を有しており、これにより、それらの両方が表示されるスクリーンは縦方向を有するという事実にもかかわらず、それらのそれぞれは横方向を有することになる。
【００１８】
分割ビュー方法の幾つかは、マルチビュー方法である。上述されているように、これらの方法は、ウェブページの第１ビューを作成することと、オーバービューウインドウ及び拡大されたビューウインドウに関する分割ビューの組み合わせを有していない第２ビューを作成するために、ユーザからの入力を選択する第２ビューに対応することによる、ユーザからの入力を選択する第１ビューへの対応を含む。分割ビューが表示される場合、上述されているように、その方法はユーザからのナビゲーション入力に対応する。
【００１９】
本発明の該特徴に関する幾つかの実施形態に於いて、第１及び第２の対応は、異なるハードウェア又はソフトウェアのボタン又はキーの押下であり、他の実施形態に於いては、それは、その方法のユーザインターフェースが異なる状態にある場合、同一ボタンの押下であっても良い。
【００２０】
幾つかのそうしたマルチビュー方法に於いて、第２ビューはオーバービューオンリービューである。このビューに於いて、ウェブページの一部は、レイアウトの要素が拡大されたビューに於いてよりも小さく見えるようにする倍率で表示される。このオーバービューオンリービューは、オーバービューウインドウと分割ビューに於ける拡大されたビューウインドウを組み合わせたサイズと表示サイズの合計が実質的に等しい。
【００２１】
多くの実施形態に於いて、オーバービューオンリービュー、及び、分割ビューのオーバービューウインドウの倍率が同一である。
【００２２】
幾つかのマルチビュー方法に於いては、第２ビューは拡大オンリービューである。このビューに於いて、ウェブページレイアウトの一部は、レイアウトの要素をオーバービューウインドウに於いてより、より大きく見せる倍率で表示される。拡大オンリービューは、オーバービューウインドウ及び分割ビューに於ける拡大されたビューウインドウを組み合わせたサイズと表示サイズの合計が実質的に等しい。
【００２３】
多くのそうした実施形態に於いて、拡大オンリービュー、及び、分割ビューの拡大されたビューウインドウの倍率は同一である。
【００２４】
幾つかのマルチビュー示方法に於いて、第２ビューはリフローされたテキストウインドウである。第２ビュー選択入力に対する対応は、例えば、第２ビュー選択入力の受信前に、カーソル、又は、拡大されたビューインジケータが位置されるテキストのコラム、又は、この時、カーソル又は拡大されたビューインジケータに最も近いテキストのコラム等、ウェブページのテキストの選択された部分の第２レイアウトを実行することを含む。
【００２５】
第２レイアウトは、分割ビューに於ける選択されたテキストのレイアウト幅に関連した選択されたテキストのフォントサイズよりも、新しいコラムのライン幅に関連したより大きな一つ又は複数のフォントサイズで、新しいテキストコラムのラインを越えて、テキストの選択された部分をリフローすることを含む。この新しいテキストコラムの最大幅は、リフローされたテキストウインドウに於けるスクリーン上に表示される。
【００２６】
幾つかのそうした実施形態に於いて、第２ビューのリフローされたテキストウインドウは、分割ビューの拡大されたビューウインドウ及びオーバービューウインドウの組み合わせと実質的に同程度に大きい。
【００２７】
そうしたリフローされたテキストウインドウを使用する幾つかの実施形態に於いて、第２ビューは、リフローされたテキストウインドウ及び第２オーバービューウインドウの表示を同時に含む分割ビューの第２形態である。レイアウトの要素を拡大されたビューに於いてより、より小さく見せ、テキストをリフローされたテキストウインドウに於いてより、より小さなフォントで見せる倍率で、第２オーバービューウインドウはウェブページレイアウトの一部を表示する。
【００２８】
そうしたリフローされたテキスト分割ビューに於いて、第２オーバービューウインドウは、リフローされたテキストウインドウに現在表示されているテキストの一部の表示を含むことが望ましい。例えば、そうした表示されたテキストインジケータは、テキストを反転映像に於けるリフローされたテキストウインドウが位置するオーバービューウインドウ、又は、それを取り囲むボックスを用いて表示することを含む。
【００２９】
リフローされたテキストウインドウを有する実施形態に於いて、この方法が、リフローされたテキストウインドウで表示されたテキストの一部を移動させることによって、ユーザからのナビゲーション入力に対応することを含むことが望ましい。同時に表示されたオーバービューウインドウに表示されたテキストインジケータを有するそうした実施形態に於いて、そうしたナビゲーション入力に対応して、オーバービューウインドウに表示されたレイアウトに関連して、表示されたテキストインジケータが移動し、これにより、リフローされたテキストウインドウに表示されたテキストのサブパートが、そうした移動後に、表示されたテキストインジケータによって示されたテキストのサブパートに継続して対応することが望ましい。
【００３０】
当然のことながら、メディアの表示に於いて、今述べたタイプのリフローされたテキストウインドウの本発明の使用は、上記種類のオーバービューウインドウ及び拡大されたウインドウを表示可能な分割スクリーンモードも含むマルチビュー方法に限定されない。
【００３１】
例えば、本発明の幾つかの特徴によれば、表示されるウェブページを表示するデジタルコンテンツを受信し、その後、ウェブページの第１レイアウト及び第２レイアウトを実行するメディア表示方法を提供することが可能である。第２レイアウトは、第１レイアウトに於ける選択されたテキスト幅に対応した、選択されたテキストのフォントサイズに比して、新しいコラムのライン幅に対応した、より大きな一つ又は複数のフォントサイズで、新しいテキストコラムのラインを越えて、テキストの選択された部分をリフローする。そして、この方法は、ウェブページの分割ビューを作り出す。この分割ビューは、オーバービューウインドウに於ける第１倍率のウェブページレイアウトの一部の表示を含む。また、それはリフローされたテキストウインドウに於けるリフローされた選択されたテキストの同時表示を含む。新しいテキストコラムの最大幅は、リフローされたテキストウインドウに表示されたテキストの一部を、オーバービューウインドウに於いてより、大きなフォントで表示させる第２倍率で、スクリーン上のリフローされたテキストウインドウに表示される。
【００３２】
本発明の幾つかの特徴によれば、ナビゲーション入力への対応が、ウェブページレイアウトの以前非表示であった部分の上に、ナビゲーション入力の生成前に、オーバービューウインドウに表示されたウェブページレイアウトの一部を越えて、拡大されたビューインジケータの所定の部分（即ち、すべて又は一部）を移動させるナビゲーション入力に対応することを含む場合、オーバービュー／拡大されたビューの分割ビューが提供される。その方法は、オーバービューウインドウに対応して、ウェブページレイアウトをスクロールすることによってそうした入力に対応し、これにより、以前非表示であった部分がオーバービューウインドウにスクロールされる。それは、ウェブページレイアウトの以前非表示であった部分の上に、拡大されたビューインジケータの所定の部分を移動させる。また、これに対して、それは拡大されたビューウインドウに表示されるレイアウトのサブパートをスクロールし、これにより、拡大されたビューウインドウに表示されたサブパートはそうした移動後に拡大されたビューインジケータによって示されたウェブページレイアウトのサブパートに対応する。
【００３３】
本発明の幾つかの特徴によれば、ナビゲーション入力への対応が、ナビゲーション入力の第１形態及び第２形態に別々に対応することを含む場合、オーバービュー／拡大されたビューの分割ビューが提供される。その方法は、拡大されたビューインジケータ、及び、拡大されたビューウインドウに表示されたウェブページレイアウトの一部を直接移動させることによって、ナビゲーション入力の第１形態に対応する。それは、拡大されたビューに表示されたウェブページレイアウトの一部に関連して、カーソルを直接移動することによって、ナビゲーション入力の第２形態に対応する。
【００３４】
一般に、ウェブページを見る際に、ユーザはリンクを選択することと、ウェブページのコントロール及びフィールドに於いて情報を入力することに関心がある。これを実行するために、ユーザは、拡大表示に関連してカーソルをナビゲート可能であることを望む場合が多い。しかし、ウェブページをざっと見渡す又は読む際に、ユーザは拡大されたビュー自体を移動させることに最も関心がある場合が多い。本発明のこの特徴によれば、ユーザは拡大されたビューに関連して、ナビゲーションに関するこれら２つの形態の両方を有することが可能である。
【００３５】
本発明のこのデュアルナビゲーションの特徴に関する幾つかの実施形態に於いて、ナビゲーション入力の第２形態への対応は、ナビゲーション入力の第２形態の形成前に、拡大されたビューウインドウに表示されたウェブページレイアウトのサブパートを越えて、拡大されたビューウインドウに於ける以前非表示であったウェブページレイアウトの一部の上に、カーソルを移動させるそうした入力への対応を含む。そうした実施形態は、（１）拡大されたビューウインドウに表示されたウェブページレイアウトのサブパートを越えて、拡大されたビューウインドウに以前非表示であったウェブページレイアウトの一部の上に、カーソルを移動させることと、（２）拡大されたビューウインドウに関連してウェブページレイアウトをスクロールし、これにより、カーソルが移動される以前非表示であった部分が、拡大されたビューウインドウに於いてスクロール、表示されることと、（３）これに対して、オーバービューウインドウに於いて拡大されたビューインジケータをスクロールし、これによって、拡大されたビューインジケータによって示されたウェブページレイアウトのサブパートが、拡大されたビューウインドウに表示されたウェブページレイアウトのサブパートに継続して対応することと、によってそうした入力に対応する。これにより、ユーザはそのビューの境界に対してカーソルを移動させることによって、拡大されたビューに表示されたウェブページレイアウトの一部をスクロールすることが出来る。
【００３６】
本発明のデュアルナビゲーションの特徴に関する多くの実施形態に於いて、拡大されたビューウインドウ及びオーバービューウインドウの両方に於けるウェブページレイアウトに関連して、同一の位置にカーソルが表示される。
【００３７】
本発明の他の特徴によれば、それが必ずしも直接カーソルを移動させるためのものとは異なる、ナビゲーション入力の形態への対応を含まないという点を除いて、２つ前の段落に記載された本発明の特徴に類似するオーバービュー／拡大されたビューの分割ビューが提供される。本発明のこの特徴によれば、ナビゲーション入力への対応は、（１）拡大されたビューウインドウに以前表示されたウェブページレイアウトのサブパートを越えて、拡大されたビューウインドウに以前非表示であったウェブページの一部の上に、カーソルを移動させることと、（２）カーソルが移動される以前非表示の状態であった部分が、拡大されたビューウインドウに於いてスクロール、表示されるように、拡大されたビューウインドウに関連して、ウェブページレイアウトをスクロールすることと、（３）これに対応して、オーバービューウインドウに於ける拡大されたビューインジケータをスクロールし、これにより、拡大されたビューインジケータによって示されたウェブページレイアウトのサブパートは、拡大されたビューウインドウに表示されたウェブページレイアウトのサブパートに継続して対応することと、によって、所定のナビゲーション入力の形成る前に、拡大されたビューウインドウに表示されたウェブページレイアウトのサブパートを越えて、拡大されたビューウインドウに以前非表示であったウェブページレイアウトの一部の上に、カーソルを移動させる所定のナビゲーション入力に対応することを含む。
【００３８】
このスクロールは、水平スクロール及び垂直スクロールの両方を含むことが望ましく、ナビゲーション入力に対応して移動されるように、ウェブページレイアウトに関連して、拡大されたビューウインドウ、及び、オーバービューウインドウの両方に於いて、同一位置にカーソルが表示されることが望ましい。
【００３９】
本発明の一つの特徴によれば、拡大されたビューウインドウは、オーバービューウインドウに関連して移動する場合、オーバービュー／拡大されたビューの分割ビューが提供され、拡大鏡のような機能にみえる。本発明のこの拡大鏡に関する特徴によれば、ユーザからのナビゲーション入力は、オーバービューウインドウに関連して拡大されたビューウインドウを移動させることと、これに対応して、拡大されたビューウインドウに表示されるレイアウトの拡大されたサブパートを移動させることと、によって対応される。結果として、拡大されたビューウインドウに表示されるウェブページレイアウトの一部は、そうした移動後に、オーバービューウインドウに表示されるレイアウトの覆われたサブポーションのサブパートに継続して対応する。
【００４０】
本発明のこの拡大鏡の特徴に関する幾つかの実施形態は、さらに、オーバービューウインドウに表示されるレイアウトに関連して、拡大されたビューウインドウに表示されたレイアウトのサブパートの位置を示す、一つ又は複数の拡大されたサブパートマーカを表示することを含む。幾つかのそうした実施形態に於いて、一つ又は複数の拡大されたサブパートマーカは、拡大されたビューウインドウの一つ又は複数の端部の幅及び／又は高さのサブパートに沿って伸びており、水平方向及び／又は垂直方向の範囲、及び、オーバービューに表示されるレイアウトに関連して、拡大されたビューウインドウに表示されるレイアウトのサブパートの位置をそれぞれ示す。
【００４１】
本発明の拡大鏡の特徴に関する幾つかの実施形態に於いて、拡大されたビューは、ナビゲーション入力に対応して、水平及び垂直方向に移動することが出来るように、オーバービューウインドウよりも小さな幅及び高さの両方を有する。
【００４２】
しかし、本発明のこの特徴に関する幾つかの実施形態に於いて、拡大されたビューウインドウは、オーバービューウインドウと実質的に同一幅を有する。そうした実施形態は、殆どの水平及び垂直ナビゲーション入力に別々に対応する。それらは、多くの場合、（１）オーバービューウインドウに関連して、拡大されたビューウインドウを垂直方向に移動することと、（２）レイアウトに関連して、拡大されたビューウインドウに表示されたレイアウトの拡大されたサブパートの位置を垂直方向に移動させることと、（３）必要に応じて、オーバービューウインドウに表示されたレイアウトに関連して、レイアウトの拡大されたサブパートの垂直位置に於ける変化に対応するために、一つ又は複数の拡大されたサブパートマーカを垂直方向に移動させることと、によって垂直ナビゲーション入力に対応する。そうした実施形態は、多くの場合、（１）レイアウトに関連して拡大されたビューウインドウに表示されるレイアウトの拡大されたサブパートの位置を水平方向に移動させることと、（２）必要に応じて、オーバービューウインドウに表示されたレイアウトに関連して、レイアウトの拡大されたサブパートの水平位置に於ける変化に対応するために、オーバービューウインドウに表示されたレイアウトに関連して、レイアウトの拡大されたサブパートの水平位置に於ける変化に対応する為の一つ又は複数の拡大されたサブパートマーカを、水平方向に移動させることと、によって、オーバービューウインドウに関連して、拡大されたビューウインドウを実質的に移動させることなく水平方向ナビゲーション入力に対応する。
【００４３】
この記載に於いて、水平方向とは、テキストが表示上のラインにレイアウトされる方向について言及している。拡大されたビューをスクリーンと同様の幅にすることの利点は、テキストが最も読み取り可能な場合、それが拡大されたウインドウでレイアウトの幅の広い部分を見せることを可能にするということであり、このように、拡大されたビューを移動させる必要なく、テキストコラムの全体幅をユーザが読み取る能力を向上させる。
【００４４】
実質的にスクリーンと同様の幅の拡大鏡を有する他の実施形態は、水平方向に固定された拡大されたビューに関連して、レイアウトのオーバービュー表示を水平方向に移動させることによって、水平方向ナビゲーション入力に対応することが可能である。
【００４５】
本発明の他の特徴は、ウェブページテキストコラムが表示される幅を制限するウェブページを表示する方法に関連している。
【００４６】
本発明のこの特徴に関する方法は、複数の表示可能なテキストの文字列、及び、複数のコラムの仕様を含む、マルチコラムウェブページのコンテンツにアクセスする。それぞれのコラム仕様は、コラムに於ける文字列の仕様、コラムのレイアウト幅、及び、コラムの水平レイアウト置換を含む。こうした仕様は、明示的であっても暗黙的であっても良い。場合によっては、それらは、コラムが表示されるスクリーン領域に関連してコラム幅を定義し、時としてピクセル全体の観点でそれを特定する。
【００４７】
ウェブページにアクセスした時点で、その方法は、レイアウト倍率を有するマルチコラムフォーマットにウェブページをレイアウトする。それぞれのコラムの水平レイアウト位置がコラムの水平置換仕様の関数として決定される場合、このレイアウトはコラムのそれぞれに対するレイアウト位置を決定することを含む。
【００４８】
その方法によって、ユーザは、複数の異なる水平方向に置換されたレイアウトのサブパートの中から、マルチコラムレイアウトの所定のサブパートを選択することができ、それは、所定の表示倍率で所定の水平解像度を有する所定のスクリーンウインドウ上のユーザが選択したレイアウトの部分を表示する。マルチコラムレイアウトは、横方向に配置されたコラム一式の一番左のコラムの一番左の端部から、このコラム一式の一番右のコラムの一番右の端部までの、マルチコラムレイアウト幅の合計を有する、横方向に配置されたコラム一式を有する。そのレイアウトは、一つ又は複数の横方向に配置されたコラムにおけるテキストがレイアウトされる幅を、最大所望コラム幅より短い、又は、同等の幅に制限することを含む。レイアウト倍率によって拡大／縮小されるように、コラムの特定されたレイアウト幅に対応する幅が最大所望コラム幅よりも長い場合、この制限はコラムの幅を変更する。
【００４９】
最大所望コラム幅は、所定の倍率でウインドウに表示された場合の、所定のスクリーンウインドウの幅と同等又はそれ未満のレイアウトに於ける幅である。多くの実施形態に於いて、最大所望コラム幅は、コラムのテキストの正確及び／又は容易な読み取りを可能にする解像度で、表示ウインドウ内に適合するピクセル幅に対応する。
【００５０】
本発明のコラム幅制限の特徴に関する幾つかの実施形態に於いて、アクセスされたウェブページのコンテンツは、一つ又は複数の画像を含み、それぞれのコラムの仕様は、テキスト、及び／又は、一つ又は複数の画像がコラムに位置する仕様を含む。ウェブページのレイアウトは、それぞれのコラムに於いて、テキスト、及び／又は、コラムに位置する一つ又は複数の画像の位置をレイアウトすることを含む。一つ又は複数の横方向に配置されたコラムに於けるテキストがレイアウトされる幅の制限は、レイアウト倍率によって拡大／縮小されるように、画像に対応する幅が最大所望コラム幅よりも大きい場合、そうした画像のサイズを縮小することによって、そうしたコラムにレイアウトされる任意の画像の幅を、最大所望コラム幅よりも短い、又は、同等の幅に制限することを含む。
【００５１】
横方向に配置されたコラムの一つが、最大所望コラム幅よりも小さいコラムの特定された幅に対応するレイアウト幅を有する多くのコラム幅制限に関する実施形態に於いて、そのコラムに於けるテキストは、多くの場合、コラムの特定された幅に対応するレイアウト幅でレイアウトされる。
【００５２】
多くのコラム幅制限に関する実施形態に於いて、横方向に配置されたコラムのテキストの第１コラムが配置される幅が、幅制限によって減少される場合、第１コラムの右側にレイアウトされる横方向に配置されたコラムの第２コラムは、第１コラムのテキストのレイアウト幅に於ける減少の関数として、レイアウト倍率で拡大／縮小されているように、第２コラムの水平置換仕様に関連して減少される右側水平置換でレイアウトされる。
【００５３】
多くのコラム幅制限の実施形態に於いて、レイアウト倍率及び／又は表示倍率によって、所定の表示倍率で所定のスクリーンウインドウ上のユーザが選択したレイアウトの部分が、テキストコラムのレイアウト幅の制限に関する動作とは独立して、縮小されたピクセル解像度で、テキストの文字を含むウェブページの要素を表示する。そうした実施形態に於いて、それらの特定されたコラム幅が、別の方法でそれらのレイアウトされた幅をあまりにも広くして、そうした縮小されたピクセル解像度でさえ所定のスクリーンウインドウ内に適合することが出来なくなる場合、コラム幅が制限される。
【００５４】
幾つかのコラム幅制限の実施形態は、上述の実施形態に類似した、オーバービューウインドウ及び拡大されたビューウインドウの両方を同時に表示するウェブページの分割ビューを作成し、拡大されたビューウインドウは、レイアウトのユーザが選択した部分が表示されるウインドウである。これらの実施形態に於いて、最大所望コラム幅は、その幅と同等、又は、それ未満の幅を有するレイアウトの一部が拡大されたビューウインドウ内に適合することを確実にするために選択されている。
【００５５】
拡大されたビューウインドウを有する上述の本発明に関する多くの実施形態に於いて、拡大されたビューウインドウに表示されるウェブページのテキストは、そのウインドウに表示される解像度での可読性を改善するために選択されたそれらの文字アウトラインに関する形状及びピクセル配置を有するフォントビットマップで表示される。ここでは、そうしたフォントビットマップが表示される解像度で表示する為に最適化されているものとする。
【００５６】
多くのそうした実施形態に於いて、使用される解像度最適化フォントビットマップは、例えば、１０ピクセル／ｅｍ又はそれ未満、若しくは、８ピクセル／ｅｍ又はそれ未満の一般的にウェブ閲覧用に使用されるフォントビットマップよりも小さい。これは、多くのそうした実施形態に於いて、拡大されたビューがオーバービューに関連して拡大されるが、デスクトップコンピュータ及びノートブックコンピュータで通常表示されるよりも、かなり小さい縮尺で実際にウェブページを表示するからである。
【００５７】
幾つかのそうした解像度最適化フォントビットマップの実施形態に於いて、ウェブページレイアウトは、拡大されたビューウインドウで使用されるフォントビットマップのレイアウトを定義し、オーバービューウインドウで表示されたウェブページレイアウトの表示は、そのレイアウトに含まれるフォントビットマップの縮小された、低ピクセル解像度表現を含む。オーバービューに表示される低解像度表現は、文字形状、及び、オーバービューウインドウで使用される低解像度で可読性を向上させるために選択されるピクセル配置を有していない。
【００５８】
幾つかのそうした解像度最適化フォントビットマップの実施形態に於いて、拡大されたビューウインドウに於いて文字を示すために使用されるフォントビットマップは、フォントビットマップが拡大されたビューウインドウで表示される解像度に対してアンチエイリアスが実行される、アンチエイリアスフォントビットマップである。
【００５９】
幾つかのそうした解像度最適化フォントビットマップの実施形態に於いて、拡大されたビューウインドウで表示されるテキストがラテンアルファベットの文字で構成され、小文字の大部分が４ピクセル又はそれ未満のアドバンス幅で表示されるフォントで表示される。
【００６０】
幾つかのそうした解像度最適化フォントビットマップの実施形態に於いて、オーバービューウインドウ及び拡大されたビューウインドウは、個別アドレス可能で、異なる色のサブピクセルに関する所定の配置で構成されるピクセルを有するスクリーン上に表示される。拡大されたビューウインドウに於いて文字を示すために使用されるアンチエイリアスフォントビットマップは、異なる色のサブピクセルの所定の配置を有するスクリーンピクセルのそれぞれの所定のサブピクセルに輝度値を割り当てる、サブピクセル最適化ビットマップである。
【００６１】
この色の割り当ては、（１）フォントビットマップによって表現される文字形状によって覆われる所定のサブピクセルの割合を示すカバレッジ値と、（２）少なくともフォントビットマップの幾つかのサブピクセルの場合、所定のサブピクセルのカバレッジ値と、所定の一つ又は複数の異なる色の近傍のサブピクセル一式のカバレッジ値との間の差異から生じるカラーアンバランスを防止する為に実行される、所定のカバレッジ値から異なる色のサブピクセルを含む近傍のサブピクセルカバレッジ値への所定のサブピクセルのカバレッジ値の割合に関するカラーバランス分配と、（３）少なくともフォントビットマップの幾つかのサブピクセルの場合、一つ又は複数の近傍のサブピクセルからのカバレッジ値から、所定のサブピクセルのカバレッジ値への、一つ又は複数のカラーバランス分配、に関する関数である。カラーバランス分配は、一部となっている全ピクセル内でカラーアンバランスを引き起こすサブピクセルのカバレッジ値の一部の分配に実質的に制限される。
【００６２】
本発明の様々な特徴に関する幾つかの実施形態に於いて、デジタルコンテンツは、画像及びテキスト文字列の両方を含んでおり、ウェブページのレイアウトは、画像のそれぞれ、及び、所定ラインに表示されるテキストの文字列のそれぞれの部分に、レイアウトに於ける水平及び垂直位置を割り当てるために、画像及びテキストに対して仮想レイアウトピクセルサイズを使用する仮想ピクセル解像度で、画像及びテキストをレイアウトすることを含む。
【００６３】
そうした仮想レイアウトの実施形態に於いて、レイアウト倍率は、拡大されたビューウインドウに表示されたウェブページレイアウトの位置を、仮想ピクセル解像度で実行されるレイアウトに於ける対応する位置に関連して、レイアウト倍率で縮小されるピクセル解像度で表示させる、非単一値を有する。
【００６４】
多くのそうした仮想レイアウトの実施形態に於いて、拡大されたビューウインドウに於ける画像及びテキストは、レイアウト倍率で縮小されているように、仮想ウェブページレイアウトに於ける画像及びテキストの位置に対応するピクセル座標に表示される。画像及びテキストは、レイアウト倍率で縮小されているように、仮想レイアウトに於ける画像及びテキストに対して使用されるピクセルサイズに対応する縮小されたピクセルサイズで、拡大されたビューウインドウに描画される。
【００６５】
多くのそうした仮想レイアウトの実施形態に於いて、拡大されたビューウインドウに於けるテキストの文字列の画像は、仮想レイアウトに於いて文字列の文字に割り当てられたサイズに関連して、レイアウト倍率で縮小されたピクセルサイズを有するフォントビットマップの連続で構成される。拡大されたビューウインドウに於ける文字の一つを表示するために使用されるフォントビットマップによって表現された文字の形状及びピクセル配列は、フォントビットマップが拡大されたビューウインドウに表示される解像度で、ビットマップのピクセル境界と共に、文字形状の端部の配列の割合を増加させるために選択されている。
【００６６】
ウェブページコラムが表示される幅の制限に関連する本発明の特徴に関する多くの実施形態に於いても、上記種類の解像度最適化フォントビットマップを用いて使用される。
【００６７】
上述の発明の様々な特徴に関する幾つかの実施形態に於いて、ウェブページコンテンツは、ウェブページのレイアウトなど、閲覧プロセスの一部を実行するためのリモートプロキシサーバに依存するクライアントブラウザコンピュータのスクリーンに表示される。多くの実施形態に於いて、クライアントコンピュータは、携帯電話、携帯情報端末（ＰＤＡ）、又は、大型コンピュータによって実行されるレイアウト処理を有することから恩恵を得られる他の小型コンピュータである。
【００６８】
そうしたクライアントプロキシ実施形態に於いて、クライアントは、ユーザによるデジタルコンテンツの閲覧を可能にするプログラムを含む。クライアントコンピュータは、コンピュータネットワーク上で、プロキシサーバからそのウェブページを要求することによって、所定のウェブページを要求するユーザ入力に対応する閲覧プログラムを含む。プロキシサーバは、コンピュータネットワーク上で、要求されたウェブページを保存、又は、動的に形成する一つ又は複数のサーバにユーザ要求を伝達する。一つ又は複数のサーバは、要求されたウェブページをプロキシサーバに送信する。プロキシサーバは、デジタルコンテンツの受信として、ダウンロードされたウェブページを受信する。プロキシサーバは、ウェブページのレイアウトを実行する。プロキシサーバは、ウェブページレイアウトをクライアントコンピュータにダウンロードする。そして、その後、クライアントコンピュータ上で実行する閲覧プログラムは、オーバービューウインドウ、及び、拡大されたビューウインドウに於いてダウンロードされたウェブページレイアウトの表示を行うことによって、分割ビューを生成する。
【００６９】
また、本発明は、本発明の要約（即ち、課題を解決するための手段）に於いて上述された関数を実行するためにプログラム、及び／又は、ハードウェアに組み込まれたコンピュータデバイス、及び、コンピュータデバイスにそうした関数を遂行させる為の機械可読形式で記録されたプログラムに関係している。
【００７０】
上記に於いて要約されていない本発明の他の特徴に関しては、下記の「幾つかの好ましい実施形態に関する詳細な説明」（即ち、発明を実施するための最良の形態）に於いて明らかにされる。
【００７１】
本発明に関するこれらの特徴及びその他の特徴は、下記に付随する図面に関連して、最良の実施形態に関する下記の記述を読むことで、より明白になるであろう。
【発明を実施するための最良の形態】
【００７２】
図１は、特に、低解像度の表示装置を有するシステム上で、ウェブブラウズ、及び／又は、他の種類のコンピュータによって生成されたコンテンツの表示を改善するために、本発明の幾つかの特徴に従って使用される可能性のある、基本的な処理及びデータ表示を示す高レベルの図面である。
【００７３】
図１の最上部に図示された１つ又は複数のビットマップ画像１０２及びテキスト１０４を含むデジタルコンテンツ１００は、その図面の最下部に表示されたサブピクセル最適化され縮小されたフォーマット１０６で表示されている。
【００７４】
本発明の一実施形態において、ステップ１０８で構成される差分処理は、テキストコンテンツの表示をサブピクセル最適化するために使用されるというよりは、むしろ、ビットマップ画像１０２の表示をサブピクセル最適化するために使用される。ステップ１０８は、特に、カラービットマップからのサブピクセル最適化された画像の生成に適したサブピクセル最適化ルーチンを使用している。また、処理１０８は、現在殆どのウェブコンテンツが表示されている解像度よりも低い解像度を有するスクリーン上での表示のために、ビットマップを縮小する。
【００７５】
デジタルコンテンツ１００に含まれるテキスト１０４は、ステップ１１０及び１１２を使用することによって、低解像度サブピクセルアドレス可能スクリーン上での表示を行うために処理される。ステップ１１０は、通常テキスト表示に使用されるフォントを、サブピクセル最適化スクリーン上で低解像度の表示を行うために最適化されたフォントと置換する。ステップ１１２は、例えばフォント形状の定義に一般的に使用される数学的に定義されたアウトラインの様な、同一色の形状の高解像度画像の表現に特に適したサブピクセル最適化ルーチンによって生成された代替フォントからのフォントビットマップを使用する。
【００７６】
本発明に関する一つの利用方法としては、インターネットからダウンロードされているマークアップ言語によって表現された、画像、及び／又は、テキストを表示するポータブルで、低解像度のウェブブラウザのコンテンツに於ける利用がある。
【００７７】
現在まで、多数の所謂マークアップ言語が存在している。最も古く、最も支持された言語の１つがＳＧＭＬ(Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ)である。ＳＧＭＬは、データに関する情報を提供する記述的な「メタデータ」を用いてデータを「マークアップ」するために使用可能なテキストベースの言語である。例としては、データが意図する目的、又は、データが配置される文書の視覚的提示の範囲内の位置を示すためにマークアップメタデータを使用することが出来る。また、それは、テキスト中、又は、マークアップ言語で記述された文書中の所定の位置に挿入される、例えば画像のような他の種類のデータへのリンクを示すために使用可能である。今日一般的に使用されている、例えばＨＴＭＬやＸＭＬ等の幾つかのマークアップ言語は、ＳＧＭＬから派生したものである。
【００７８】
本発明の最良の一実施形態に於いて、上記図１において参照されたデジタルコンテンツ１００は、例えばＨＴＭＬのようなマークアップ言語で表現された画像、及び／又は、テキストを含む標準的なウェブコンテンツであっても良い。おそらくウェブサイトのホームページを表現する、この標準的なウェブコンテンツ１００は、図２乃至図４に図示されたポータブル低解像度ブラウザ装置２００上に表示するために、下記に記述された様々な装置及び方法でダウンロードすることが可能である。ブラウザ装置２００上に表示する前に、デジタルコンテンツ１００は、判読性向上のために、例えば以下に記述するような様々な方法や処理によって拡大／縮小、及び／又は、サブピクセル最適化される可能性がある。
【００７９】
図２は、本発明の一実施形態に従って実施される、ネットワークコンピュータ環境を図示している。薄型クライアントブラウザ２００のプログラムは、例えば液晶表示装置（ＬＣＤ）スクリーンのような小型表示スクリーン上にテキスト及び／又はグラフィックの取り込み、及び、表示を実行することが可能なハンドヘルドコンピュータデバイス、又は、他の小型コンピュータデバイスに於いて実行される。このブラウザによって、ユーザはリモートソース（例えばインターネット）からのデジタル情報を要求し、それをスクリーン上に表示させることが出来る。
【００８０】
図２に図示された本発明の実施形態に於いて、ユーザは薄型クライアントブラウザ２００のコントロールボタンを操作することによって、画像、及び／又は、テキストを含むデジタルコンテンツの取り込み、及び、表示を要求する。要求されるデジタルコンテンツは、インターネットを介してアクセス可能な特定のウェブページであっても良い。そして、薄型クライアントブラウザ２００は、例えばＬＡＮ、ＷＡＮ、又は、インターネットであり得るネットワーク１３８上で物理的に遠隔にあるプロキシサーバ２１０を介してコンテンツに対する要求２０２を実行する。
【００８１】
プロキシサーバ２１０は、ユーザによって要求されたデジタルコンテンツ１００を有する物理的に遠隔にあるウェブサーバ２２０に対応する要求２１４を生成することによって、デジタルコンテンツの要求に対するプロキシプロセス２１６を実行する。プロキシサーバ２１０に対するネットワーク１３８上のデジタルコンテンツ１００のダウンロード２２２によって、サーバ２２０はプロキシサーバの要求２１４に応答する。
【００８２】
次に、プロキシサーバ２１０内のプロキシプロセス２１６は、図１に図示された機能１０８及び１１０の実行を含む、デジタルコンテンツ１１０を拡大／縮小、及び、サブピクセル最適化するための計算リソースを使用する。拡大／縮小、及び、サブピクセル最適化は、小型表示装置上で例えばテキスト及び／又はグラフィックのような画像の判読性向上を生み出す本発明の特徴である。これらについては、次のセクションに於いてより詳細に議論する。
【００８３】
プロキシサーバ２１０は、ここで拡大／縮小され、サブピクセル最適化されたコンテンツのブラウザ２００へのダウンロード２１２を完了させる。この時点で、ユーザはブラウザ２００のスクリーン上でコンテンツを見ることが出来る。
【００８４】
図２に図示された本発明の実施形態に於いて、デジタルコンテンツのテキスト部分は、１つ又は複数の文字の文字列、及び、フォントファミリー、フォントサイズ、及び、他のフォント属性の関連指定を含む形式でブラウザにダウンロードされる。個々のサブピクセル最適化されたフォントビットマップで構成された画像を用いて文字列を表示することによって、薄型クライアントブラウザは、図１に図示された関数１１２を実行する。指定されたフォントサイズ及びフォントファミリーに於けるそうした文字列で、任意の文字に対するビットマップを有していなければ、薄型クラインアントはフォントサーバ２３０から一つ又は複数のそうしたビットマップを要求する。図２乃至図８に図示された本発明の様々な実施形態に於いて、プロキシサーバはそうしたフォントビットマップを提供することが可能であり、又、薄型クライアントは（ブラウザソフトウェアのサイズを増大させることになるが、）それらのビットマップをソフトウェアの標準的な部分として有することも可能である。他の実施形態に於いてもなお、フォントはアウトラインフォントになり得る。フォントビットマップの一つ利点は、フォント取り扱い業者の中には、そうしたフォントのアウトラインに比して、それらのフォントのビットマップをより自由に頒布可能にすることを望む傾向の強い業者が存在するという点である。
【００８５】
本発明に関する代替実施形態の一つが図３に図示されている。この実施形態に於いては、図２のプロキシサーバ２１０及びウェブサーバ２２０が１台のリモートサーバ２２０Ａに置き換えられている。薄型クライアントブラウザ２００は、ネットワーク１３８上のリモートサーバ２２０Ａに対して、デジタルコンテンツ１００の要求２０２Ａを実行する。例えば、ネットワーク１３８はインターネット又はＬＡＮであっても良く、デジタルコンテンツ１００は特定のウェブページであっても良い。リモートサーバ２２０Ａは、要求されたデジタルコンテンツ１００を有しており、要求２０２Ａに応答するプロキシプロセス２１６Ａを実行する。プロキシ処理２１６Ａは、クライアントブラウザ上に表示するために、ウェブコンテンツを動的に拡大／縮小、及び／又は、サブピクセル最適化するサーバ上で実行される如何なる処理であっても良い。プロキシ処理２１６Ａは、保存されたデジタルコンテンツ１００に対して実行され、図１のステップ１０８及び１１０を実行することによって、デジタルコンテンツ１００を図１に図示された形式１０６に動的に変換する。リモートサーバ２２０Ａは、薄型クライアントブラウザ２００への拡大／縮小、及び／又は、サブピクセル最適化されたコンテンツのダウンロード２１２を完了する。
【００８６】
本発明に係る他の代替実施形態は図４に図示されている。図３と同様に、薄型クライアントの要求は、ネットワーク１３８上で、リモートサーバ（ここでは、サーバ２２０Ｂ）に直接要求される。
【００８７】
この実施形態に於いて、リモートサーバ２２０Ｂは、標準的なブラウザコンピュータで使用される標準形式１００と、拡大／縮小、及び／又は、サブピクセル最適化されたコンテンツ１００Ａとの両方の状態で、要求されたデジタルコンテンツを有している。標準的なデジタルコンテンツ１００から拡大／縮小、及び／又は、サブピクセル最適化された形式への変換は予め実行されており、これにより、プロキシ処理が動的にそれを変換する必要がなくなる。薄型クライアントは、要求されたコンテンツの拡大／縮小、及び／又は、サブピクセル最適化されたバージョンを受け取るはずだということを示す情報をサーバに提供する。リモートサーバ２２０Ｂは、薄型クライアントブラウザ２００に対して、拡大／縮小、及び／又は、サブピクセル最適化されたコンテンツ１００のダウンロード２１２を完了する。
【００８８】
さらなる代替実施形態が図５に図示されている。ブラウザ２００Ａは、拡大／縮小、及び／又は、サブピクセル最適化処理５１０をさらに含むフルスケールブラウザである。ブラウザ２００Ａは、ネットワーク１３８上のリモートサーバ２２０Ｃに対して、デジタルコンテンツ１００の要求２０２Ｂを行う。サーバ２２０Ｃは、ブラウザ２００Ａに対して要求されたデジタルコンテンツ１００のダウンロード２１２Ａを完了する。デジタルコンテンツ１００の拡大／縮小、及び／又は、サブピクセル最適化された形式への変換は、ブラウザ２００Ａで実行される処理５１０によって取り扱われる。
【００８９】
図６は、デジタルコンテンツ１００を拡大／縮小、及び／又は、サブピクセル最適化することが可能な単一のコンピュータシステム６００を図示している。この最良の実施形態に於いて、デジタルコンテンツは予めコンピュータシステム６００に於いて生成されるか、又は、読み込まれている。コンピュータシステム６００は、サブプロセス６４０を拡大／縮小、及び／又は、サブピクセル最適化することを含む、ブラウザ処理６２０を有している。ここで、ユーザは、付属の入力装置（例えばキーボード又はマウス）によって、コンピュータシステム６００に対してデジタルコンテンツ１００を表示する要求を行う。ブラウザプロセス６２０は、コンピュータシステムの記憶素子（例えば、電気的なメモリやディスク記憶装置）の１つから、要求されたデジタルコンテンツ１００を取り込む。次に、ブラウザプロセス６２０は、デジタルコンテンツ１００を取り込んだ時点で、これを拡大／縮小、及び／又は、サブピクセル最適化するサブ処理６４０に送信する。変換が完了すると、変換されたコンテンツは、コンピュータシステム６００の表示スクリーン上に表示される。本発明に係るこの実施形態は、ネットワーク又はリモートサーバを必要とすることなく動作する。
【００９０】
図７は単一のコンピュータシステムに関する代替実施形態を図示している。この実施形態に於いて、コンピュータシステム７００は、予め形成、又は、読み込まれている（例えば、特定のウェブページのコンテンツ）等のデジタルコンテンツ１００、プロキシ処理７４０、及び、ブラウザ処理７２０を有している。プロキシ処理７４０は、拡大／縮小、及び／又は、サブピクセル最適化プログラム７６０を実行する。ブラウザ処理は、デジタルコンテンツ１００を表示するためのユーザ要求をプロキシ処理７４０に送信する。次に、プロキシ処理７４０は、コンピュータシステム７００の記憶素子からデジタルコンテンツ１００を取り込む。デジタルコンテンツ１００が取り込まれた時点で、プログラム７６０は、後にコンピュータシステム７００の表示装置で表示するためのブラウザプロセス７４０に送信される、拡大／縮小、及び／又は、サブピクセル最適化された形式にデジタルコンテンツ１００を変換する。
【００９１】
図８は、単一のコンピュータシステムに関する第２の代替実施形態を図示している。ここでは、コンピュータシステム８００は、拡大／縮小、及び／又は、サブピクセル最適化されたウェブコンテンツ８１０を有している。ブラウザ処理８２０は、ユーザからのコンテンツ１００Ａを表示する要求を処理し、コンピュータシステム８００の記憶素子からそれを取り込み、コンピュータシステム８００のスクリーン上にこれを表示する。
【００９２】
上記に示した本発明に係る実施形態に於いては、ソースの画像の解像度からサブピクセルでアドレスされたスクリーンの解像度への画像の拡大／縮小は、部分的に、ソース画像及びサブピクセルでアドレスされた表示スクリーンの各解像度によって決定されている。
【００９３】
本発明の幾つかの実施形態に於いて、ソース画像の解像度とサブピクセルアドレス可能表示スクリーン上に表示される解像度との間の倍率決定は、ブラウザ装置のユーザにより特定可能である。この実施形態に於いて、ブラウザのユーザは、記憶装置から読み出される画像を縮小する処理に倍率を伝達することにより、複数倍率の中から倍率を選択する。次に、記憶装置から読み出された画像を縮小する処理は、選択された倍率に比例する水平及び垂直方向の倍率で、画像を縮小、及び／又は、サブピクセル最適化する。
【００９４】
殆どの他のユーザがブラウザ装置に入力する場合と同様に、このような縮尺の選択は、物理的な又はＧＵＩのボタン、メニュー項目、ダイアログボックス、又は、ブラウザ装置上のその他周知のユーザインターフェース装置を使用することにより実行可能である。
【００９５】
そうした幾つかの実施形態に於いて、ブラウザ装置のユーザは、画像が以前に記憶装置から取り込まれ、第１倍率でサブピクセル最適化された形式で表示された後、デジタルコンテンツが再度、拡大／縮小、及び、サブピクセル最適化されて、再表示されることに応じて、複数倍率の中から第２倍率を選択しても良い。
【００９６】
そうした実施形態に於いて、第１の拡大／縮小、及び、サブピクセル最適化された表示に於いて使用される倍率は、デフォルト又は所望の倍率の結果生じたものであっても良く、又、ブラウザ装置のユーザによって以前選択された倍率の結果生じたものであっても良い。ブラウザ装置のユーザは、ブラウザ装置の入力装置を操作する方法で、デジタルコンテンツを再表示する複数倍率から倍率を選択しても良い。そうしたブラウザ装置の入力装置の操作によって、第２の選択された倍率に従って画像が表示される。
【００９７】
そうした第２の拡大／縮小は、ブラウザ装置内、又は、物理的に離れたサーバ内の何れかで実行される処理の結果生じるものとしても良い。ブラウザ装置のユーザは、引き続き再表示するために複数倍率の中から倍率を継続して選択しても良い。
【００９８】
整数倍の縮小では、ソース画像に於ける整数のピクセルを結果として生じる縮小画像に於ける所定のピクセルに適合させる整数倍によって、デジタル画像を縮小することが最も簡単である。例えば、６４０×４８０解像度から３２０×２４０解像度への縮尺は、倍率２の縮小である。本発明に係る幾つかの実施形態では、非整数の縮小倍率を含む複数の縮小倍率からユーザが倍率を選択することが出来る。非整数の縮小倍率の例は、６４０×４８０解像度のソース画像の４８０×３６０ピクセル部分を、３２０×２４０解像度表示スクリーン上に表示するために拡大／縮小、及び／又は、サブピクセル最適化する、縮小倍率２分の３の例である。
【００９９】
本明細書に於いてウェブページの解像度について言及する場合、通常、レイアウトを実施するブラウザプログラムがウェブページのコンテンツをレイアウトするよう要求されている解像度のことを意味する。下記に示す通り、特定の最小レイアウト幅を必要とする複数要素を有するウェブページもあり、ウェブページをそうした最小レイアウト幅よりも短い幅で表示するよう要求される場合、要求されたレイアウト幅よりもその幅が長い場合であっても、それらの要素は自身に必要な最小幅でレイアウトされる。
【０１００】
例えば陰極線管（ＣＲＴ）のようなコンピュータグラフィック表示装置や、液晶表示装置（ＬＣＤ）スクリーンは、ほぼ例外なく色空間に関するＲＧＢモデルを使用している。但し、該発明は、例えばＣＭＹＫカラーモデルのような他のカラーモデルに適用可能である。ＲＧＢモデルでは、加法３原色、赤、緑、青が混合され、人間の目で認識されるように所望の色を形成する。
【０１０１】
ほとんどのポータブルコンピュータデバイス、又は、画像装置は、ＲＧＢモデルを使用するＬＣＤスクリーンを有する。そうしたＬＣＤスクリーンは、何千ものグリッド素子からなるピクセルと呼ばれる矩形配列で構成されており、該ピクセルは全体として認識される場合には画像を形成し、各ピクセルはＲＢＧ色空間からの多くの色値の内、一つを表示可能である。ＬＣＤスクリーンは、該スクリーンが有する水平及び垂直ピクセルの数により特徴付けられている。
【０１０２】
同様に、各ピクセルは、ここではサブピクセルと称す、個々にアドレス可能な３つのサブコンポーネントによって構成されている。最も一般的には、サブピクセルは赤、緑、青の矩形要素である。最も一般的な実施形態に於いて、赤、緑、青の３つのサブピクセルは、サブピクセルが混合されてピクセル全体が所望の色に見えるように、各々に光度の値が割り当てられている。同様に、ＬＣＤスクリーン上の全てのピクセルが混合され、所望の画像が見えるようになる。
【０１０３】
該サブピクセルは個々にアドレス可能であるとされているが、これは、個々のピクセルに割り当てられた色値が、別々の赤、緑、青のカラーコンポーネント、又は、輝度値を有しており、ピクセルの赤、緑、青のサブピクセルによってそれぞれ表示されるからである。それ故、ピクセルに割り当てられた色値に於いて、関連付けられたカラーコンポーネントの輝度値の値を制御することによって、各サブピクセルの輝度を別々に制御することが可能である。
【０１０４】
ＬＣＤ装置、及び、例えばカラーＬＥＤ（有機発光ダイオード（ＯＬＥＤ）を使用するスクリーンを含む）やガスプラズマ表示装置のような、他の「サブピクセルアドレス可能」表示装置では、各サブピクセルのそれぞれが、表示上に固定の既知の位置を有する。例えば、殆ど全ての陰極線管（ＣＲＴ）等の多くの表示装置は、サブピクセルアドレス可能ではない。例えば、ＣＲＴの各ピクセルは赤、緑、青のカラーコンポーネントのそれぞれに対して個別に輝度値を有しているが、それらの異なる色値に関連する光を生成する要素のそうした各ピクセル内での正確な物理的配置は、通常知られていない。これは、スクリーンの個々の発光パターン、水平及び垂直スキャンの解像度、個々のピクセルがスクリーン上に描画される正確な位置を制御する電圧に関する現在の正確な状態、に関する関数に比例するからである。
【０１０５】
図９は、複数のピクセル行（Ｒ１−Ｒ１２）、及び、ピクセル列（Ｃ１−Ｃ１２）で構成されるＬＣＤスクリーン９００の１２×１２の部分を図示している。行と列のそれぞれの交点がピクセル要素を構成している。実際のＬＣＤスクリーンは、任意の数の行列を有することが可能である。但し、頻繁に見られるのは、３２０×２４０、６４０×４８０、８００×６００、１０２４×７６８、１２８０×１０２４のグリッドである。
【０１０６】
波線の円部９１０内にピクセルＲ１−Ｃ１が図示されている。ピクセルＲ１−Ｃ１は、それ自身が３つのピクセルサブコンポーネント（以下、サブピクセル要素と称す）で構成されている。ピクセルＲ１−Ｃ１の拡大図は、図９の最下部の拡大されたピクセル９２０として図示されている。サブピクセル要素９０２は赤として表示され、サブピクセル要素９０４は緑として表示され、サブピクセル要素９０６は青として表示される。個々のサブピクセル要素９０２、９０４、９０６は、幅がピクセル全体の約３分の１の幅であり、高さがピクセル全体の高さに等しい。
【０１０７】
ＬＣＤスクリーン９００に図示されているように、そうした複数ピクセルが格子状に配列される場合、垂直のカラーストライプがＬＣＤスクリーン９００上に現れる。この周知のピクセル配列は、垂直ＲＧＢストライプと呼ばれることがある。他の周知の配列では、水平ストライプが生じるような直角方向で、ピクセル要素がレイアウトされる（この場合、スクリーンを９０°回転することによって、水平ストライプスクリーンを垂直ストライプスクリーンに変換される）。
【０１０８】
一般的な使用に於いては、ピクセルの３つのサブピクセル要素に関する光度は、ピクセルが人間の目に所望の色合い、彩度、及び、明度で認識されるように設定される。ＲＧＢサブピクセル要素は、表示される画像の１つのサンプルを表現するために、単一のカラーピクセルを形成するために同時に使用される。
【０１０９】
本発明の１つの特徴は、例えば３２０×２４０、又は、２４０×３２０（この場合、３２０×２４０の解像度を有するために、９０度回転することが可能）の行列ピクセル比を有する表示のような低解像度スクリーン上での、ダウンロードされたウェブコンテンツ、テキスト及び画像を含むその他のデジタルコンテンツの可読性の向上に関する。詳細に議論し、図示した本発明に係る実施形態の多くは、６４０×４８０の仮想レイアウト解像度から３２０×２４０ピクセル解像度を有するスクリーン上に画像及びテキストをマッピングする。しかし、他の解像度スクリーンに本発明を使用することが出来る。ほんの２、３例を挙げると、５１２×３８４解像度スクリーンで１０２４×７６８解像度を見るように凡そレイアウトされたコンテンツを表示するために使用可能であり、又、４００×３００スクリーンで８００×６００ピクセルを見るように凡そレイアウトされたコンテンツを表示するために使用可能である。他の実施形態に於いては、本発明はパーソナルコンピュータのスクリーン上で一般的な偶数比の水平ピクセル次元、及び／又は、垂直ピクセル次元以外のピクセル次元を有する比較的低解像度の表示で使用される。
【０１１０】
概して、低解像度スクリーンについて言及する場合には、所定のデジタルコンテンツやデジタルコンテンツの所定のレイアウトが通常表示される予定のスクリーンよりも低解像度のスクリーンを意味する。また、そうした小型スクリーンによって そうした低解像度を有する、例えば、より大型のスクリーン上のウインドウ等、大型スクリーンの一部を含むことを意味する。
【０１１１】
図１０に於いて、画像コンテンツ１０５、及び／又は、テキストコンテンツ１０７は、図１のサブピクセル最適化された表示の一部を示している。図１に図示された画像は、テキスト及び画像の両方のサブピクセル最適化された表示に関連した実際の色値のグレースケール拡大図である。図１０の矩形部１０００内の画像コンテンツ１０５の部分は、個々のピクセルをより見易くするために１０２０で拡大図示されている。これに対応して、矩形部１０４０内に含まれるテキストコンテンツ１０７の一部が１０６０で拡大図示されている。
【０１１２】
１０２０及び１０６０で図示されたピクセルがピクセル全体を表現していることに留意しておくことが大切であるが、これは、画像１０２０及び１０６０を生成するために使用されるソフトウェアが、全ピクセルのそれぞれに関連付けられたＲＧＢ色値に対応するグレースケールを単に表現しているからである。サブピクセル拡大表示１０２０Ａ及び１０６０Ａは、それぞれ、拡大表示１０２０及び１０４０における各ピクセルに関連付けられた３つのサブピクセルの各々の明度を表現しようとしている。１０２０Ｂは、縮尺及び位置が拡大表示１０２０Ａ及び１０２０に対応する拡大表示である。そこでは、画像のピクセル格子が相対的に太い線で表示され、それぞれの各ピクセル内の３つのサブピクセル区分が相対的に細い線で表示されている。この合成格子は、拡大表示１０２０及び１０２０Ａに図示されたピクシレーションパターンが由来する図１の元々の高解像度カラービットマップ画像１０２の最上部に重ね合わされる。図示された特定の画像において、カラービットマップ１０２の解像度は、垂直及び水平方向の両方向において、図１０の最下部に図示された画像１０５に於ける全ピクセル解像度の２倍程度の解像度である。
【０１１３】
拡大表示１０６０Ｂは、含まれる１つ又は複数の文字の高解像度フォントアウトラインの適用を受ける各サブピクセルの領域の一部を決定することにより、サブピクセル最適化されたフォントの画像が如何に生成されるかを図示している。
【０１１４】
サブピクセル解像度の拡大表示１０２０Ａ及び１０６０Ａと、それぞれに対応する全ピクセルの拡大表示１０２０及び１０６０とを比較することから分かるように、サブピクセル解像度での画像及びテキストのサブピクセル最適化された表現による表示は、より適切な空間解像度を提供する。
【０１１５】
図１１は、標準的なウェブコンテンツを３２０×２４０カラー表示上で表示した際に、本発明の一実施形態によって提供される可読性の質を表現するものである。同図の最上部に図示されたビットマップ１１００はグレースケールであり、ウェブページ「ｐｒｉｎｃｅｌｉｎｅ．ｃｏｍ」の一部の標準的な６４０×４８０レイアウトから生成された実際のビットマップに関する全ピクセルの拡大表示である。この画像は、図１１の最下部に図示されたウェブページの全画面３２０×２４０画像に図示された矩形部１１３０内に含まれるウェブページの一部に対応している。同図の真ん中に図示されたビットマップ１１２０はグレースケールであり、上記３２０×２４０画像の同一部分のカラービットマップの全ピクセルの拡大表示である。図１１の最下部に図示された２００Ｂは、図２に関して記載された種類の薄型クライアントブラウザとして機能するハンドヘルドコンピュータ装置を表している。ウェブページの６４０×４８０レイアウトを表現する３２０×２４０サブピクセル最適化ビットマップの表現が、このブラウザのスクリーン上に図示されている。図１０の拡大表示１０２０のように、図１１の最下部に図示されたビットマップ１１３０は、全ピクセルの平均輝度に対応するグレースケールレベルで個々のピクセルを図示している。図１０に於ける拡大表示１０２０Ａ及び１０６０Ａに示されているように、横方向に於ける垂直サブピクセルストライプを有する３２０×２４０スクリーン上でこの画像を見ると、実際の画像は、むしろ高解像度を有するように見える。
【０１１６】
本発明の多くの特徴に関する目的に対して、カラービットマップのサブピクセル最適化された画像を得る任意の周知のアルゴリズムを使用することが出来る。本発明の一実施形態に於いて、所定の色の所定のサブピクセルのそれぞれに割り当てられた輝度は、所定のサブピクセルに関連するソース画像に於ける矩形ウインドウ内に完全、又は、部分的に存在するソース画像のそれぞれのピクセルに於ける所定の色値の平均強度で決定される。このソース画像ウインドウは、その縮小された画像に於ける所定のサブピクセルの位置を中心に存在する縮小画像に於ける全ピクセルの領域に対応するソース画像に関連したサイズ及び位置を有している。サブピクセルに割り当てられた平均強度は、全体又は部分的にソース画像ウインドウを覆う各ソース画像ピクセルの強度と、そうしたソース画像ピクセルのそれぞれによって覆われたウインドウの領域の割合との乗算によって算出される。
【０１１７】
図１２は、解像度が低減された表示装置のサブピクセルグリッドへの、より高解像度のソース画像１０２のマッピングを図示している。この図は、図１に図示された元のより高解像度のカラービットマップ１０２の一部に重ねられているサブピクセルグリッド１２１０を図示している。円部１２２０は、所望のより低解像度の表示装置に於ける１ピクセルに対応するグリッドの領域を囲んでいる。グリッドパターンの位置及びサイズは、より高解像度のソースビットマップ画像と、結果として得られるサブピクセル最適化画像のピクセルグリッドとの関係によって決定される。図１２に図示された特定のグリッドパターン１２１０は、カラービットマップ画像１０２のピクセル解像度から、水平及び垂直方向の両方向においてソース画像の２分の１程度のピクセルを有する表示スクリーン解像度への拡大／縮小を表現している。この拡大／縮小の一例として、６４０×４８０表示上の表示に適切なピクシレーションを有する画像を、３２０×２４０表示スクリーン上に比例して表示するために縮小する例がある。このように、グリッドパターン１２１０のそれぞれの太い線の区分は、カラービットマップ画像１０２の４ピクセルに及んでいる。破線円部１２２０は、４つのより高解像度のソースのソースピクセルを含む、そうした太い線の区分の一つを囲んでいる
図１３は、図１２のサークル１２２０を中心とした９つの太い線の区分（即ち、９つの全ピクセル）の拡大図である。円部１３００内のピクセルは、所望の表示装置の１つのピクセルを表現している。図１３が明らかにしているように、グリッドパターン１２１０の太い線の区分のそれぞれは、４つのより高解像度のソース画像を囲んでいる。また、図１３は、所望の表示装置のそれぞれのピクセルが、夫々「Ｒ」、「Ｇ」、「Ｂ」とラベル付与された赤、緑、青のサブピクセルを含む、３つのカラーサブピクセルで構成されていることを図示している。
【０１１８】
図１４、１５、及び１６は、それぞれ、所望の表示装置に於ける、赤、緑、青のカラーサブピクセルの輝度が決定されるソース画像に於ける矩形ウインドウの位置を説明している。そうした各ソース画像ウインドウの領域は、輝度を算出するために使用されるサブピクセルに対応するソース画像の一部を中心とした、縮小画像に於ける全ピクセルの領域に対応する。
【０１１９】
図１４の矩形部１４００は、より低解像度の表示装置の赤色サブピクセルの輝度を算出するために使用されるソース画像ウインドウの領域を囲んでいる。同様に、図１５及び図１６は、所望の表示装置の緑及び青色サブピクセルのそれぞれ対応するソース画像ウインドウを囲んでいる。
【０１２０】
上述したように、所定の色のサブピクセルに割り当てられた輝度は、以下の関数、又は、関数の近似によって決定される。この輝度は、全体又は部分的にサブピクセルの対応するソース画像ウインドウ内にあるソース画像の各ピクセルに於けるピクセルの色の強度と、そうした各ソース画像ピクセルよって覆われたウインドウの領域の割合との乗算に一致するように設定される。
【０１２１】
図１７、１８、及び１９において、赤、緑、青のサブピクセルの輝度は、所定のサブピクセルに対応するソース画像の一部を中心とした、ソース画像ウインドウ内に含まれた全体又は部分的なソース画像ピクセルの各色の輝度に関する関数である。これは、ウインドウ領域１７００がそのサブピクセルに対応するソース画像の一部を中心とする赤色（Ｒ）サブピクセルに関して、図１７に図示されている。図１８のウインドウ１８００は、緑色（Ｇ）サブピクセルに対して同一内容を図示しており、図１９のウインドウ領域１９００は、青色（Ｂ）サブピクセルに対して同一内容を図示している。
【０１２２】
各サブピクセルに対するソース画像ウインドウ間に於ける移動の結果として、各サブピクセルに対して得られる色値は、全体としてそのピクセルの位置に対応するというよりは、むしろ、各サブピクセル自体の位置に対応するソース画像の位置に於けるサブピクセルの対応する色を表している。その結果、所定のピクセルの異なるサブピクセルに対して異なるソース画像ウインドウを使用することによって、結果として生じる画像の空間解像度が向上する。
【０１２３】
図１７、１８、及び１９に図示された本発明の実施形態では、何れのピクセルがサブピクセルのソース画像ウインドウに含まれるか、及び、そうしたピクセルが覆うウインドウの割合は、そうしたソース画像で覆われた水平及び垂直方向のスキャンラインの割合に基づいて決定される。図１７では、赤色サブピクセルの色値は、個々のソース画像ピクセルに覆われた水平カバレッジライン１７２０及び垂直カバレッジライン１７４０の割合と、そうした各ピクセルの赤色の色値とを乗算した結果として決定される。これは、各色値に関して、即ち、図１８の拡大／縮小された画像の緑色（Ｇ）サブピクセル、及び、水平及び垂直カバレッジライン１８２０及び１８４０のそれぞれ、並びに、図１９の拡大／縮小された画像の青色（Ｂ）サブピクセル、及び、水平及び垂直カバレッジライン１９２０及び１９４０のそれぞれに関しても同様である。注目すべきは、水平カバレッジライン１７２０、１８２０、１９２０は、それらに対応する矩形領域の垂直方向に於ける中点の上方及び下方の垂直位置を表すことを目的としているということである。このため、カバレッジラインは、垂直ピクセル間の境界を表すソース画像に於ける位置とは完全に一致しない。同様に、垂直カバレッジライン１７４０は、矩形領域１７００の水平方向の中点の直左及び直右の水平位置を表すことを目的としている。
【０１２４】
上記で定義されたカバレッジラインは、所定のサブピクセルに関連付けられた元の画像の領域が、所定の色又は形状で覆われる程度を決定するための連続関数（例えば、５ビット解像度、又は、それを越えるビット解像度を有するもの等、連続関数に相当する任意の適度に高解像度であるものを含む）の使用に関連する本発明の１つの特徴に関する実施形態を表している。連続カバレッジ関数に於いては、カバレッジ値がサンプリングではなく、むしろ、１次元、又は、それを越える次元で所定のカバレッジが開始、及び、終了する境界位置を決定し、そうした１つ又は複数の境界間、又は、そうした境界と所定のサブピクセルに関連付けられたソース画像ウインドウの境界との間の、長さ又は面積の関数としてカバレッジを計算する数学的な関数によって決定される。
【０１２５】
図１７、１８、１９、並びに、図３０、３１、３２に図示された本発明に関する実施形態に於いて、この連続カバレッジ関数の計算は、ウインドウ内の１つ又は複数のソース画像のピクセルのそれぞれによって覆われたソース画像ウインドウ内の一つ又は複数のスキャンライン部分を決定することにより、所定のサブピクセルに対応するソース画像ウインドウ領域に存在する各ソース画像ピクセルの領域を評価することによって、加速される。所定のピクセルによって覆われたウインドウのスキャンライン全体の長さの割合は、そのピクセルに於けるサブピクセルの色値で乗算される。そうした計算結果は、サブピクセルの色値を生成するために、任意のウインドウのスキャンラインを覆う全ピクセルに対して総和される。このようにして、カラービットマップの拡大／縮小された画像の生成時に、サブピクセルの輝度を決定するために「ラインカバレッジ」型の連続カバレッジ関数を使用することが出来る。
【０１２６】
図２０、２１、２２は、より低解像度の表示スクリーンに於ける赤色（Ｒ）サブピクセルに関連するソース画像ウインドウ２０００内の単一の水平カバレッジライン、及び、単一の垂直カバレッジラインの使用を図示している。図２１に於いて、水平スキャンライン２０２０に関連付けられたカバレッジ値は、ブラケット（括弧）２１２０で覆われたピクセルの赤色の値と、ブラケット（括弧）２１２０によって覆われた図２０の水平スキャンライン２０２０の１／３の部分との乗算値）＋（中ブラケット２１４０によって覆われたピクセルの赤色の値と、ブラケット２１４０によって覆われた水平スキャンライン２０２０の２分の１の部分との乗算値）＋（ブラケット２１６０によって覆われたピクセルの赤色の値と、ブラケット２１６０によって覆われた水平スキャンライン２０２０の６分の１の部分との乗算値）によって得られる合計である。
【０１２７】
同様に、垂直スキャンライン２０４０に関連付けられたカバレッジ値は、（ブラケット２２２０によって覆われたピクセルの赤色の値と、ブラケット２２２０によって覆われた図２０の垂直スキャンライン２０４０の２分の１の部分との乗算値）＋（ブラケット２２４０によって覆われたピクセルの赤色の値と、ブラケット２２４０によって覆われた垂直スキャンライン２０４０の２分の１の部分との乗算値）によって得られる合計である。
【０１２８】
赤色サブピクセルに対する全カバレッジ値は、水平スキャンラインについて計算されたカバレッジ値の２分の１と、垂直スキャンラインについて計算されたカバレッジ値の２分の１との和である。
【０１２９】
同様に、図２３、２４、２５は、より低解像度の表示スクリーンに於ける緑色（Ｇ）サブピクセルに関連付けられたソース画像ウインドウ２３００内にある単一の水平カバレッジライン、及び、単一の垂直カバレッジラインの使用を図示したものであり、図２６、２７、２８は、より低解像度の表示スクリーンに於ける青色（Ｂ）サブピクセルに関連付けられたソース画像ウインドウ２６００内にある単一の水平カバレッジライン、及び、単一の垂直カバレッジラインの使用を図示したものである。
【０１３０】
図２９は、上記図１７乃至２８に関して記載された種類のラインカバレッジを使用するソースビットマップ画像から、拡大／縮小された、サブピクセル最適化された画像を得るための、アルゴリズム２９００に関する高度に簡略化された擬似コード表記である。
【０１３１】
このアルゴリズムは、出力画像（即ち、拡大／縮小され、サブピクセル最適化された画像）の各ピクセル行に対して、ループ２９０１を実行する。
【０１３２】
このループは、現在の行に於ける各ピクセルに対して、インナーループ２９０２を実行する。そうした各ピクセルについて、ループ２９０２は、ループ２９０４及び関数２９１４を実行する。
【０１３３】
ループ２９０４は、ループ２９０２の現在のピクセルの各サブピクセルに対して実行される。ループ２９０４は、例えば、図１７乃至２８に図示されたスキャンライン等、現在のサブピクセルのスキャンラインのそれぞれに対して実行されるインナーループ２９０６で構成されている。
【０１３４】
ループ２９０６は、関数２９０８及びループ２９１０を含んでいる。関数２９０８は、スキャンラインとピクセル境界との各交点を計算する。通常、そうした交点計算、及び、このアルゴリズムに於けるその他の計算は、そうした演算処理に関する記憶容量及び計算要件を低減するために、例えば、６〜８ビットの精度等、限られた精度で実行される。
【０１３５】
その後、ループ２９１０は、スキャンラインの両端、スキャンラインの端部、及び、ピクセル境界、又は、両ピクセル境界に於いて生じるスキャンラインの各部分に対して関数２９１２を実行する。関数２９１２は、ループ２９１０の現在の部分に覆われたスキャンラインの割合に、現在のサブピクセルの色に対応する部分を覆うピクセルのカラーコンポーネント値を乗算したものの倍数をサブピクセルのスキャンラインの数で除算し、ループ２９０４の現在のサブピクセルに関連付けられたカバレッジ値に加算する。
【０１３６】
ループ２９０４が現在のピクセルの各サブピクセルについてサブピクセル輝度値を計算した時点で、関数２９１４は、それらの計算されたサブピクセル輝度値に等しい赤、緑、青のコンポーネント値を有する複合ＲＢＧ値を備えた色と同様に現在のピクセルの色値を設定する。
【０１３７】
本発明に係る他の実施形態に於いて、例えば、２４ビット、１６ビット、１２ビットの色値等、異なる長さの色値を使用することが出来る。このシステムは、限られたカラーパレットで使用することが可能であるが、赤、緑、青のサブピクセルのそれぞれについて、少なくとも４ビットのばらつきを有するトゥルーカラーで最適に機能する。通常、赤色と青色に５ビットを割り当て、（緑色に対して目が敏感であるため）緑色に６ビットを割り当てる１６ビットカラーは、より良好な視覚効果を提供する。
【０１３８】
上記図１７乃至２８で記述された本発明に関する実施形態では、単一の水平スキャンラインと単一の垂直スキャンラインを利用しているが、本発明の該特徴に関する他の実施形態では、より多くのスキャンライン、及び／又は、水平及び垂直方向以外の方向のスキャンラインを使用しても良い。
【０１３９】
図３０は、サブピクセル最適化された画像の赤色（Ｒ）サブピクセルに関連付けられたカラーカバレッジ値を評価するために使用可能な、ソース画像ウインドウ３０２０内の２本の水平カバレッジラインと２本の垂直カバレッジラインの使用を図示している。
【０１４０】
図３１は、サブピクセル最適化された画像の緑色（Ｇ）サブピクセルに関連付けられたソース画像ウインドウ３１２０内にある２本の対角カバレッジラインの使用を図示している。
【０１４１】
図３２は、サブピクセル最適化された画像の青色（Ｂ）サブピクセルに関連付けられたソース画像ウインドウ３２２０内にある２本の対角カバレッジライン、１本の水平カバレッジライン、１本の垂直カバレッジラインの使用を図示している。
【０１４２】
言うまでもなく、図３０乃至３１の各図に図示されたカバレッジラインの各配置は、赤、緑、青のサブピクセルに使用することが可能である。
【０１４３】
図３３乃至３８は、サブピクセルの輝度値を計算するラインカバレッジ法が、ソース画像のサイズ、及び、結果として生じるサブピクセル最適化された画像のサイズとの間に於ける、より広い範囲の異なる拡大／縮小に適用することが出来ることを図示している。例えば、多くのサンプリング技術と比較しても、ラインカバレッジ法がラインカバレッジをかなり高解像度で測定するので、このことは正しいと言える。これは、非整数比の倍率の使用時に多くの場合生じるように、サブピクセルのソースピクセルウインドウに於いて部分的にのみ存在するピクセルのカバレッジの測定が比較的上手くいくことを意味している。
【０１４４】
本発明のこの特徴に関する実施形態に於いて、７ビット解像度がラインカバレッジ値の計算に使用され、十分な結果を生んでいる。より高解像度、又は、より低解像度を使用することは可能であるが、通常、ラインカバレッジ解像度は、１６（４×４）〜２５６（１６×１６）ポイントの配列で、サブピクセルのソース画像ウインドウ内のサンプリングカバレッジによってカバレッジを計測する技術に使用される、２〜４ビット／次元の解像度よりも高解像度であることが望ましい。
【０１４５】
図３３は、ソース画像解像度から、水平ピクセル及び垂直ピクセルの半分を有する目的のピクセル最適化された画像へのマッピングのために、青色（Ｂ）サブピクセルに関連付けられたソース画像ウインドウ内の様々なソース画像ピクセルによる２本の水平カバレッジラインのカバレッジを図示するために、ブラケット（括弧）を使用している。図３４は、そうしたサブピクセル輝度計算方法を用いて使用される２本の垂直カバレッジラインについて同一の内容を図示している。図３３及び３４は、ソース及び低減された画像におけるピクセル数間の整数比を図示している。
【０１４６】
図３５及び３６は、低減されたサブピクセル最適化された画像がソース画像の約４０％の水平及び垂直ピクセルのみを有している倍率に対して、同一ソース画像のピクセルによって、水平及び垂直スキャンラインのカバレッジをそれぞれ図示している。
【０１４７】
図３７及び３８は、サブピクセル最適化された画像がソース画像の約６６．６６％の水平及び垂直サブピクセルを有する倍率に対して、同一内容を図示している。
【０１４８】
図３３乃至３８に図示されたスキャンラインカバレッジ技術は、比較的少ない演算能力で、それぞれの異なる縮尺の各ソース画像に覆われた各ソース画像ウインドウの割合に関する正確な推定値を提供することが分かる。
【０１４９】
図３９及び４０は、「領域」タイプの連続カバレッジ関数に関する図を図示している。本発明の幾つかの実施形態に於いては、それぞれの関連するソース画像ピクセルで覆われた所定のサブピクセルのソース画像ウインドウの割合が、上述したラインカバレッジ近似ではなく、むしろ、サブピクセルのソース画像ウインドウ内に位置するそうした各ソース画像のその部分の領域の実際の計算によって算出される。そうした各ソースピクセルに対して、現在のサブピクセルの色に対応するピクセルのコンポーネント色値が決定される。次に、各サブピクセルの輝度値は、カバレッジ値の割合の倍数と、そのソース画像ウインドウ内に現れる各ソース画像ピクセルに対するサブピクセルの色値とを合計して算出される。
【０１５０】
図３９は、青色（Ｂ）サブピクセルに関連付けられたソース画像ウインドウ領域３９００を図示している。ソースピクセル３９２０は、８つの他のソースピクセルの一部と同様に、ソース画像ウインドウ３９００内に含まれている。ソースピクセル３９２０によって覆われたソース画像ウインドウ３９００の割合は、全ソース画像ウインドウ４０００の領域に対する図４０の網掛け部４０２０の領域の比率を獲得することによって計算される。同様に、そこに含まれる他のソースピクセルによって覆われたソース画像ウインドウ４０００の割合は、ウインドウ４０００の異なる網掛け領域によって示されているように、ソース画像ウインドウの全領域に対するソース画像ウインドウ内に存在するそれらの領域の割合を獲得することによって計算される。
【０１５１】
図４１は、図３９及び４０に関して議論された種類のエリアカバレッジ関数を実行するために使用可能なアルゴリズム４１００に関する高度に簡略化された擬似コード表記を提供している。
【０１５２】
このアルゴリズムは、生成されるサブピクセル最適化された画像に於いて各ピクセル行に対して実行されるループ４１０２を含んでいる。そうした各行に対して、ループ４１０２は、その行に於ける各ピクセルに対するインナーループ４１０４を実行する。
【０１５３】
このインナーループ４１０４は、ループ４１０６と関数４１１６で構成されている。ループ４１０６は、ループ４１０４の現在のピクセルに於ける各サブピクセルに対して実行される。このインナーループ４１０６は、関数４１０８及びループ４１１０とで構成されている。関数４１０８は、上述したように、ソース画像のどのピクセルが、サブピクセルに関連付けられたソース画像ウインドウ内に存在するかを決定する。これが実行された時点で、ループ４１１０は各ソース画像ピクセルに対して実行される。
【０１５４】
ループ４１１０は、関数４１１２及び関数４１１４とで構成されている。関数４１１２は、ループ４１１０の現在のソース画像ピクセルによって覆われたサブピクセルの対応するソース画像ウインドウ領域の割合を計算する。ステップ４１１４は、ループ４１０６の現在のサブピクセルに対して計算されている輝度値に、現在のソース画像ピクセルで覆われたサブピクセルのソース画像ウインドウ領域の割合の倍数と、現在のサブピクセルの色に対応するソース画像ピクセルのカラーコンポーネント値とを乗算したものを加える。
【０１５５】
ループ４１０６が現在のピクセルに於ける各サブピクセルに対して実行された時点で、
関数４１１６は現在の画素の色値を、ループ４１０６で計算された赤、緑、青のサブピクセル輝度値に一致するＲＧＢカラーコンポーネント値を有する色と同様に設定する。
【０１５６】
図４２乃至５３は２色サブピクセル最適化された画像に関する本発明の特徴に関する。
【０１５７】
「２色」画像は、個々のピクセル色が２つの異なる色値の間で変化する画像である。一般に、これらの２つの異なる色値は黒と白であり、ソースのピクセル及びサブピクセル画像のピクセルは、黒及び白に限定された値を有しており、場合によっては、黒及び白の中間のグレースケールに限定された値を有する。しかしながら、幾つかの実施形態に於いて、２つの異なる色値によって、任意の均一な前景色及び背景色と、それらの中間色とを表現することが出来る。多くの場合、テキストの表示は前景色及び背景色を含む色で色付けされているので、多くの場合、２色画像がテキストを表現するために使用される。しかし、他の２色形状、２色ビットマップ、色づけされた多色ビットマップの一部、又は、例えばグレースケール画像のような２色出力で表現される多色ビットマップを表現するために、２色画像を使用することも可能である。例えば、３色コンポーネントの各々の平均輝度に対応するグレースケール値を有するピクセルのそれぞれを単に処理することによって、グレースケール画像として多色ソース画像を処理することが可能である。
【０１５８】
そうした２色サブピクセル最適化された出力画像を使用する利点は、多くの場合、該画像が多色サブピクセル最適化された出力画像に比して、より高度な空間解像度を提供することが出来るという点にある。そうしたより高度な解像度は、２色が黒及び白、グレースケール値、又は、不透明及び透明である場合に許容されるが、これは、そうした各２色ペアの各色が、赤、緑、青の同等のコンポーネントを有しているので、各サブピクセルが、そうした２色ペアの前景及び背景の両方を他のものと同様に表現することが可能であるからである。カラーバランスを実行する必要を除いて、以下に示すように、各サブピクセルの輝度は、出力画像中の自身の領域に一致するソース画像の一部が前景色又は背景色で覆われる程度に関する関数として決定される。より小さなソースウインドウ（即ち、ピクセルのサイズよりも、むしろサブピクセルのサイズに一致するソースウインドウ）をこのように使用することによって、ソース画像のより正確な空間解像度を実現することが出来る。
【０１５９】
前景色及び背景色が黒及び白ではない場合、前景色及び背景色のそれぞれが比較的輝度の等しい赤、緑、青の値を有し、可能な限り異なった前景色及び背景色の平均輝度を有すれば、２色サブピクセル最適化画像で生成される解像度は最良となる。実際、２色サブピクセル最適化画像に関する本発明の特徴に関する幾つかの実施形態に於いては、出力画像の空間解像度を向上させるために、対応するグレースケール色に移行することで、出力の２色の一方又は両方が、対応する入力の２色から変更される。
【０１６０】
２色サブピクセル最適化された出力画像のサブピクセルが前景色を表示する程度は、アルファ値、又は、不透明値によって表現されることがある。そうしたアルファ値は、サブピクセルの輝度が前景色又は背景色に於けるサブピクセルのカラーコンポーネントに対応すべき程度を示している。アルファ値「１」は、サブピクセルのカラーコンポーネント値が、前景色に於ける対応するカラーコンポーネントに等しくなることを意味している。アルファ値「０」は、サブピクセルのカラーコンポーネント値が、背景色に於ける対応するカラーコンポーネントに等しくなることを意味している。中間のアルファ値は、サブピクセルのカラーコンポーネント値が、前景色及び背景色の両方に於ける対応するカラーコンポーネントの加重された混合値となることを意味している。サブピクセル最適化ビットマップがアルファ値の観点で表現される時点で、異なる前景色及び背景色を使用する所定のパターンの２色画像を表現するために、アルファ値を使用することが出来る。フォントの表示に於いて、所定のサイズの所定の文字フォント形状のビットマップパターンは、多くの場合、異なる前景色及び背景色で表示されるので、これは一般的にフォント形状を表現するために使用される。
【０１６１】
ビットマップ画像の２色サブピクセル最適化に関する本発明の特徴に関する幾つかの実施形態に於いて、ビットマップ画像の拡大／縮小されたサブピクセル最適化された画像は、以下の（ａ）〜（ｃ）の関数として、前景又は背景２色カバレッジ値と、拡大／縮小された画像の各サブピクセルとを関連付けることによって生成される。即ち、（ａ）サブピクセルの領域に対応するソース画像ウインドウに於ける各ソース画像ピクセルに対する前景色又は背景色の比率、（ｂ）そうした各ソース画像ピクセルによって覆われたそのウインドウの割合、（ｃ）カラーアンバランスを低減するためにサブピクセルカバレッジ値を分散するカラーバランス関数、である。２色出力画像がグレースケール入力画像、又は、多色入力画像に対して生成される場合には、そのソース画像ウインドウを覆うソース画像ピクセルの全ピクセル輝度に関する関数として、個々のサブピクセル対して計算されるカバレッジ値を獲得することが出来る。幾つかの実施形態に於いては、所定のサブピクセルのソース画像ウインドウに関連付けられた所定の輝度値が他のサブピクセルに分配される程度は、輝度値がカラーアンバランスを発生させる程度に関する関数である。
【０１６２】
図４２乃至４４は、ビットマップ画像のグレースケール２色画像の各サブピクセルの輝度を決定する方法に関する。図４２に於いて、矩形部４２００は、拡大／縮小された画像の赤色（Ｒ）サブピクセルに関連付けられるソース画像のウインドウを囲んでいる。そうした赤色（Ｒ）サブピクセルに関連付けられた輝度は、そうした各ソース画像ピクセルによって覆われたソース画像ウインドウの割合でそれぞれ乗算された、ソース画像ウインドウ４２００を覆う１つ又は複数のソース画像ピクセルの全ピクセル輝度に関する関数である。そうしたカバレッジの割合を計算又は推定する任意の周知の方法を使用することが出来る。
【０１６３】
図４２に図示された実施形態に於いて、ソース画像ウインドウ４２００は、２本の水平スキャンライン４２１０及び４２２０、及び、２本の垂直スキャンラインをそれと関連付けている。図４３及び４４は、緑色及び青色のサブピクセルのそれぞれに対する、ソース画像ウインドウ４３００及び４４００に対応するカバレッジラインを図示している。前述の通り、ソース画像ウインドウ領域がソースピクセルによって覆われた程度を推定するために、各スキャンラインに沿って所定のカバレッジが開始及び停止する境界位置を決定する数学的な関数が実行される。１つ又は複数のそうした境界の間の長さ、又は、そうした境界と所定のサブピクセルに関連付けられたソース画像ウインドウの境界との間の長さに関する関数として、カバレッジが計算される。これは、図２９に於いて上述した方法と同様の方法で実行することが出来る。
【０１６４】
２色サブピクセル最適化された画像の計算時に、カラーアンバランスが発生する可能性がある。これは、２色法が前景色及び背景色、及び、ソース画像が中間色を有する場合には、前景色及び背景色との間のスペクトルに於ける色のみで構成されているものとして、ユーザに知覚される出力画像を生成しようとしているからである。しかし、ピクセルの個々の赤、緑、青のサブピクセルのカバレッジ値は、そうした各サブピクセルに於ける前景色の割合によって決定され、このことは、多くの場合、個々の出力ピクセルの色が、そうしたカラーバランスの無い状態で、所望の２色スペクトル（通常はグレースケール）とは関連性が無いことを意味している。
【０１６５】
例えば、グレースケール画像では、ソース画像が、サブピクセル最適化された出力画像に於ける赤及び緑のサブピクセルの間の境界に対応する位置で、全体的に白色から全体的に黒色に変化する場合、出力画像に於ける対応するピクセルは、そのサブピクセルを全体的にオンの状態に切り換える傾向のある赤色サブピクセルカバレッジ値と、そうしたサブピクセルを全体的にオフの状態に切り換える傾向のある緑色及び青色サブピクセルカバレッジ値とを有する。この例では、出力画像がグレースケール画像であるということになっているのだが、これによってピクセルに対する視認可能な赤色が生じる結果となる。
【０１６６】
図４５乃至４７は、２色ビットマップから生成されるカバレッジ値をカラーバランスするために、フォントアウトラインのラスタ化に基づいて計算されたサブピクセルカバレッジ値をカラーバランスするための従来技術で使用されている種類の従来の線形カラーバランス法を、如何にして使用することが出来るかを図示している。
【０１６７】
図４５は、ＲＧＢグリッド４６００下での一組のグレースケールソース画像ピクセルを図示している。グリッド４６００は、太い線の区分で囲まれた４つのピクセル領域を有する。そうした各ピクセル領域は、出力画像が表示されるサブピクセルアドレス可能スクリーンに於ける全ピクセルに関連付けられている。各ピクセル領域は、サブピクセルアドレス可能スクリーン上で関連付けられたピクセルのサブピクセルに関連付けられた３つの領域にさらに分割される。サブピクセルに関連付けられた領域４６１０は、赤色（Ｒ）サブピクセルに関連付けられており、サブピクセルに関連付けられた領域４６１２は、緑色（Ｇ）サブピクセルに関連付けられており、サブピクセルに関連付けられた領域４６１４は、青色（Ｂ）サブピクセルに関連付けられている。同様に、サブピクセルに関連付けられた領域４６１６乃至４６３２は、それぞれの表示スクリーンサブピクセルに関連付けられている。
【０１６８】
サブピクセルに関連付けられた領域４６１４乃至４６３０は、今回の例では黒色の前景色の様々な程度に対応する、非白色輝度値を有するソース画像ピクセルによって、全体的又は部分的に覆われている。サブピクセルに関連付けられた領域４６１４乃至４６３０のそれぞれに於けるソース画像ピクセルの黒色輝度値の合計（白色を差し引いた値、又は、通常の輝度値に相当）は、図４６のＲＧＢグリッド４７００に於ける対応するサブピクセル領域にマッピングされる。各サブピクセル領域４７４４乃至４７６０内の斜線領域の高さは、対応するサブピクセル領域４６１４乃至４６３０の非白色輝度値の合計によって決定される。
【０１６９】
図４６の最下部は、例えば、サブピクセル４７５０等、所定のサブピクセルに関連付けられたカバレッジ値を、その所与のサブピクセル４７５０を中心とする５つのサブピクセルに対して分配するために使用可能な、中央部重点対称カラーフィルタの使用を図示している。サブピクセル４７５０のカバレッジ値の９分の３は、サブピクセル４７５０自身に分配される。サブピクセル４７５０のカバレッジ値の９分の２は、サブピクセル４７５０の直左及び直右にそれぞれ位置するサブピクセル４７４８及び４７５２に分配される。サブピクセル４７５０の色分配を完了するために、カバレッジ値の９分の１は、それぞれ、サブピクセル４７５０の左側２つ目のサブピクセル、及び、右側２つ目のサブピクセルであるサブピクセル４７４６及び４７５４に分配される。
【０１７０】
概して、カラーバランスは、近傍のサブピクセルの近傍圏内にある色値を割り当てる。例えば、図４６に示された実施形態等、多くの実施形態に於いては、そうした割り当てが実施される近傍サブピクセルは、輝度が割り当てられているサブピクセルからピクセル一つ分の距離に過ぎないが、今回の例では、輝度が割り当てられているサブピクセルからピクセル２つ分に相当する距離内にあるものとして近傍サブピクセルが定義されている。
【０１７１】
図４７は、図４６の中央部重点対称カラーバランスフィルタが、図４６の上半分に図示されたサブピクセル４７４４乃至４７６０のそれぞれに対して計算されたカバレッジ値に、直線的に適用された場合の結果を図示している。
【０１７２】
図４７に於いては、図４７の最上部に図示された各サブピクセル４７４４乃至４７６０に関連付けられたカバレッジ値は、自身のサブピクセルに対して、そして、図４６に図示されているように、左側及び右側にある２つのサブピクセルに対して、同一の比率でカバレッジ値が分配されるカラーバランスフィルタを使用して分配される。図４７の中央のグリッド４８０２は、そうした分配がサブピクセル４７４０乃至４７６２のそれぞれに対して行われる寄与分の大きさを図式化して説明している。所定のサブピクセル４７４４乃至４７６０のそれぞれに関連付けられた分配は、各サブピクセルの直下に位置する垂直コラムを中心に配置されている。
【０１７３】
図４７の最下部に図示されたＲＧＢサブピクセルグリッドパターン４８０４は、中央のパネル４８０２に図示された全てのカバレッジ値の分配によって行われた、全ての寄与分を合計することによって、サブピクセル４７４０乃至４７６２のそれぞれに対して計算される輝度値を図示している。この方法を完了するために、グリッド４８０４に於ける各ピクセルの赤、緑、青のサブピクセルの輝度値が、そうした各サブピクセルの色を特定する３つのカラーコンポーネント値として使用される。
【０１７４】
この線形法で拡大／縮小された画像のカラーアンバランスは低減されるが、これは空間解像度に於ける実質的な低下を代償に実行される。これは、サブピクセル最適化された出力画像に於けるサブピクセル輝度値を表す図４７の最下部のＲＧＢグリッドパターン４８０４における値と、出力画像のサブピクセルに対応する領域に於けるソース画像ピクセルに関する、輝度又は前景色カバレッジを表す図４７の最上部に位置するＲＧＢグリッドパターン４８００に於ける値とを、比較することによって理解することが出来る。図４７から判る通り、出力画像の空間解像度はソース画像の空間解像度に比して不鮮明である。
【０１７５】
本発明は、サブピクセル最適化出力画像に関する類似のカラーバランスを提供するが、多くの場合、出力画像に関して不鮮明度をより少なくしてカラーバランスを提供する技術革新を含んでいる。これは、非線形カラーバランスフィルタリング法の使用により実行される。該非線形フィルタリングを適用する方法は、図４８及び４９に図示されている。
【０１７６】
図４８のＲＧＢグリッドパターン４９００は、図４６のＲＧＢグリッドパターン４７００の複写である。今回の場合も、総合輝度、又は、前景色カバレッジ、即ち、関連するサブピクセルに対応するソース画像ピクセルの値は、斜線領域の高さで表現されている。
【０１７７】
非線形カラーバランス法の第１段階が、図４８に図示されている。前述の通り、ＲＧＢグリッドパターン４９００は、太い線の区分によって４分割されており、４等分された各部分、即ち、括弧４９０２、４９０４、４９０６、４９０８は、拡大／縮小された、又は、出力された画像の全ピクセルに関連付けられている。ピクセル領域４９０２、４９０４、４９０６、４９０８のそれぞれは、生成される出力画像に於けるサブピクセルに対応するサブピクセルソース画像ウインドウにさらに分割されている。各ピクセルに対して、サブピクセルの対応するソース画像ウインドウの何れが最も低いサブピクセル輝度、又は、前景カバレッジ値を有しているのかが決定される。最小輝度／カバレッジ値に等しい輝度（又はアルファ）値は、図４８の下半分に図示されたＲＧＢグリッドパターン４９１０の出力画像ピクセル４９１２、４９１４、４９１６、４９１８の各サブピクセルに対して計算される輝度／アルファ値に加算される。
【０１７８】
図４８の上部半分に於いて、破線４９２０は、ピクセル領域４９０２の最小輝度値／アルファ値がゼロであることを示しているが、これは、そのピクセルの最初の２つのサブピクセルソース画像ウインドウが輝度値「ゼロ」を有しているからである。このように、図４８に図示されたステップは、ピクセル４９１２の赤、緑、青のサブピクセル領域に対して輝度値／アルファ値をゼロに設定する。同様にして、ピクセル領域４９０４の最小輝度値は、ピクセル４９０４の赤色サブピクセルソース画像ウインドウ４９２２の値によって決定される。この最小輝度値は、同図の下半分に図示された対応するピクセル領域４９１４にマッピングされる。同様に、ピクセル領域４９０６及び４９０８の最小輝度値は、図４８の下半分に図示されたピクセル領域４９１６及び４９１８にマッピングされる。このステップの完了後に生じる部分的に計算された輝度値／アルファ値は、図４８の最下部のＲＧＢグリッドパターン４９１０によって表されている。
【０１７９】
非線形カラーバランス法の第２段階は、図４９に図示されている。第２段階に関するこの例では、関連するピクセルの最小輝度値／アルファ値を超える各サブピクセルの輝度値／アルファ値の一部は、図４６及び４７に関して上述された種類のカラーバランス分配フィルタを利用することによって、ＲＧＢグリッドパターン４９１０にマッピングされている。
【０１８０】
図４９の最上部のピクセルグリッド５０００は、対応するピクセルに対する最小サブピクセル輝度値／アルファ値の値（低密度の斜線で示す）が除かれた後に残存する各サブピクセルの輝度値／アルファ値（高密度の斜線で示す）の部分が表現されている点を除いて、図４８の最上部のピクセルグリッド４９００に対応する（そして、同一サブピクセル４７４０乃至４７６２を有する）。
【０１８１】
図４９に於いては、高密度の斜線を有する図４９の最上部に図示されたサブピクセル輝度値／カバレッジ値の超過部分のみが、図４６に図示された種類のカラーバランスフィルタを使用して分配されるという点を除いて、  図４９の中央に位置するサブピクセルグリッド５００２は、図４７の中央に位置する類似の形状のピクセルグリッド４８０２に対応している。
【０１８２】
同図のこの部分から判る通り、各サブピクセルに対する超過分の輝度値／アルファ値は、図４６に図示された同一の比率のフィルタを使用して、そのサブピクセル自身、左側の２つのサブピクセル、及び、右側の２つのサブピクセルに分配される。図４９の最下部近傍の数字５００４が付与された部分は、非線形法に関するこの例に於いて、サブピクセル４７４０乃至４７６２のそれぞれに分配される輝度値／アルファ値のそうした超過分の合計を図示している。
【０１８３】
図４９の最下部に図示したように、出力画像に於ける各サブピクセルに対して使用される輝度値／アルファ値の合計を生成するために、各サブピクセルに対して計算された輝度値／アルファ値の超過分の合計は、図４８に図示されたステップによって以前にそのサブピクセルに加算された最小輝度値／アルファ値に加算される。非線形カラーバランス処理を完了するために、ＲＧＢグリッドパターン４９１０の各サブピクセルに対して合計された輝度値／アルファ値は、それが関連付けられたピクセルの赤、緑、青のカラーコンポーネント値を決定するために使用される。そうした表示に於ける個々の各ピクセルの赤、緑、青の色値は等しくない可能性があるが、ピクセル行の５つ分程度隣接するサブピクセルの任意の近傍における赤、緑、青の色値の合計は、実質的に等しい、又は、バランスが取れているはずだ。
【０１８４】
線形及び非線形カラーバランスフィルタリング法の使用により達成された結果の比較は、図５０、５１、５２に図示されている。
【０１８５】
図５０は、図４６のＲＧＢグリッドパターン４７００、及び、図４８のＲＧＢグリッドパターン４９００に最初にマッピングされたように、元々のフィルタ処理されているソースピクセル輝度値／カバレッジ値を図示している。
【０１８６】
図５１は、図４９の最下部に図示されているように、非線形フィルタリング法の結果を示している。
【０１８７】
図５２は、図４７のＲＧＢグリッドパターン４８０４に図示されているように、線形フィルタリング法の結果を示している。
【０１８８】
図５１が示すように、非線形カラーバランス法の出力は、図５２に示されている線形法の結果よりも、図５０の輝度値／アルファ値に関する元々の空間分布によく似ている。図５１の非線形法によって生成された輝度値は、かなり不鮮明度が低く、これにより、線形法で生成された出力よりもより高度で可視的な空間解像度を提供する。これは、比線形法が空間解像度をぼかす有害な結果を有するカラーバランス分配を実行しようとしており、カラーアンバランスを防止するためにそうした分配を必要とする、サブピクセル輝度値／カバレッジ値のそうした部分に対してのみ実行しようとしているからである。これは、図４９の数字５００４で示されるような、非線形方法を使用して各サブピクセルに分配されたサブピクセル輝度値／カバレッジ値の合計と、図４７の最下部の各サブピクセルに対して図示されたクロスハッチ模様の領域全体で示されるような、線形法を使用して各サブピクセルに分配された対応する合計とを比較することで理解できる。
【０１８９】
図５３は、非線形カラーバランス法を使用して、ビットマップソース画像からサブピクセル最適化された２色出力ビットマップを生成する方法の一実施例を、高度に簡略化した擬似コード記述で表したものである。
【０１９０】
同図に於けるアルゴリズム５３００は、画像の各ピクセル行に対して実行されるループ５３０１で構成されている。このループは、各ピクセル行に対して、２つのサブループ５３０２及び５３２２を実行する。
【０１９１】
ループ５３０２は、ループ５３９１の現在の行に於ける各ピクセルに対して実行される。そうした各ピクセルに対して、ループ５３０２はループ５３０４、関数５３１４、及び、ループ５３１６を実行する。
【０１９２】
ループ５３０４は、ループ５３０２の現在のピクセルに於ける各サブピクセルに対して実行される。そうした各サブピクセルに対して、ループ５３０４は、関数５３０６及びループ５３０８を実行する。
【０１９３】
関数５３０６は、ソース画像の何れかのピクセルが、拡大縮小された画像に於けるサブピクセルの領域に対応するソース画像のウインドウ内に位置するかを決定する。これは、図１７乃至４４に関して上述したものを含む、任意の周知のカバレッジ計算及び推定関数によって実行することが可能である。
【０１９４】
関数５３１０及び５３１２で構成されるループ５３０８は、現在のサブピクセルのソース画像ウインドウ内に全体的又は部分的に含まれる各ソース画像ピクセルに対して実行される。関数５３１０は、ソース画像ピクセルの領域によって覆われたソース画像ウインドウの領域の割合を計算する。関数５３１２は、ソース画像ピクセルによって覆われたウインドウ領域の割合の倍数と、ソース画像ピクセルの平均前景色強度との乗算を、現在のサブピクセルに対して計算された輝度値／カバレッジ値に加える。
【０１９５】
２色画像がグレースケール画像である場合には、前景色強度（上記に於いて、多くの場合、輝度、又は輝度値／カバレッジ値、と称した）は、白又は黒のそれぞれが前景色であるかに応じて、全ソース画像ピクセルのそれぞれに関する一般に輝度と称されるものか、一般に輝度と称されるものの逆数の何れかに対応することが可能である。ソース画像が多色画像である場合、関数５３１２の目的のために前景色強度の計算する際に、ソース画像ピクセルに対して使用可能な輝度値を決定するために、各ソース画像ピクセルのカラーコンポーネントの平均輝度値を使用することが出来る。
【０１９６】
図４６に図示された種類の輝度値／カバレッジ値を決定するために、ループ５３０４を使用することが出来る。
【０１９７】
ループ５３０４が現在のピクセルに於ける各サブピクセルに対して実行される時点で、関数５３１４は、図４８の上半分に図示されているように、現在のピクセル対して計算された最小のサブピクセル輝度値／カバレッジ値を求める。
【０１９８】
これが実行された時点で、関数５３１８及び５３２０で構成されるループ５３１６は、現在のピクセルに於ける各サブピクセルに対して実行される。
【０１９９】
図４８の下半分に図示されているように、関数５３１８は、サブピクセルに対して計算されている輝度値／アルファ値を、関数５３１４によって当該ピクセルに対して決定された最小のサブピクセル輝度値／カバレッジ値に設定する。
【０２００】
図４９に示されているように、関数５３２０は、ピクセルの最小のサブピクセル輝度値／カバレッジ値を超過する、サブピクセル輝度カバレッジ値の一部を、カラーバランス分配フィルタを使用して現在のピクセル行に於けるサブピクセル及び近傍のサブピクセルに対して計算されている輝度値／アルファ値に分配する。
【０２０１】
本発明の一実施形態に於いて、所定のサブピクセルに対して実行されたそうした分配の合計が、最大限に許容された輝度値／出力値を超える場合、サブピクセルの輝度値／アルファ値はその最大値に制限される。こうしたクリッピングによって何らかのカラーアンバランスが生じる可能性があるが、本発明者には、結果として生じるアンバランスが殆ど注目に値しないものであることが判っている。
【０２０２】
輝度値／アルファ値が当該行の各サブピクセルに対して計算され、ループ５３０２が完了した時点で、ループ５３２２によって、関数５３２４が当該行の各ピクセルに対して実行される。この関数は、ピクセル色値を、ピクセルの赤、緑、青のサブピクセルのそれぞれに対して計算された輝度値／アルファ値に対応する赤、緑、青のコンポーネント値を備えた複合ＲＧＢ値を有する色に等しくなるように設定する
図５４は、ソース画像から生成されたサブピクセル最適化された画像が、多色サブピクセル最適化処理又は２色サブピクセル最適化処理によって生成される範囲に於けるトレードオフを、表示装置のユーザが動的に実行可能な本発明の１つの特徴を図示している。この例に於ける２色サブピクセル最適化によって、グレースケール出力画像のみを生成可能である一方で、多色サブピクセル最適化により生成された出力画像によって、妥当な色の精度で縮小カラー画像を表現可能である。しかし、場合によっては、そうしたグレースケール出力画像は、多色サブピクセル最適化によって生成された出力画像に比して、より精度の高い空間解像度を有し、特にソース画像がくっきりとした縁部を備えた白色部分及び黒色部分を有する場合には、知覚し難いカラーアンバランスを有する。
【０２０３】
拡大／縮小、及び、サブピクセル最適化されたグレースケールビットマップ５４４０を生成するために、例えば図４２乃至５３に関して上述された一例など、２色サブピクセル最適化法を使用する関数５４１０及び５４３０を利用することによって、カラービットマップ画像５４００を拡大／縮小、及び、サブピクセル最適化することが出来る。拡大／縮小、及び、サブピクセル最適化されたカラービットマップ５４５０を生成するために、図１７乃至４１に関して上述された一例など、多色サブピクセル最適化法を使用するプロセス５４２０によって、カラービットマップ５４００を拡大／縮小、及び、サブピクセル最適化することも可能である。
【０２０４】
図５４に図示された本発明の実施形態によれば、表示装置のユーザは、カラービットマップ５４５０及びグレースケールビットマップ５４４０の混合を実現するために、関数５４６０を使用して、例えばポインティングデバイス、キーボード、又は、他の入力装置など、表示装置の制御装置を操作することが可能である。例えば、スライドバーの操作によってこれを実行することが出来る。関数５４８０は、グレースケールビットマップ５４４０及びカラービットマップ５４５０と、ユーザが選択したカラー／グレースケールトレードオフ情報を受け付け、ユーザが選択したカラー／グレースケールトレードオフ５４６０の関数として、各々の色値に重み付けをして、グレースケールビットマップ５４４０及びカラービットマップ５４５０からの対応するピクセルの色値を混合する。
【０２０５】
図５４に図示された種類の幾つかの実施形態に於いて、ユーザがカラー／グレースケールスペクトルの何れかの極限でトレードオフ値を選択する場合、この処理によって、選択された極限に対応するビットマップ５４４０又は５４５０を計算するだけで、演算処理を低減することが出来る。
【０２０６】
本発明の該特徴に関する利点は、カラーバランス、及び／又は、位置的精度が最重要である場合、又は、それがより容易に読み取り可能な表示を求めるためにトレードオフ選択を単純に変化させる場合に、それが最重要であるか、色に正確であれば、表示装置のユーザがそれを支持することが出来るという点にある。
【０２０７】
本発明の全ての特徴がサブピクセル最適化されたテキストを必要とする訳ではなく、そうするものの多くは、サブピクセル最適化されたフォントのフォント形状を生成する従来技術の方法を使用することが出来る。しかしながら、本発明の幾つかの特徴は、サブピクセル最適化されたフォントビットマップを生成するための改良された方法に関する。
【０２０８】
図５５乃至９７は、サブピクセル最適化されたフォントビットマップの形成及び使用に関連する本発明の特徴に関する。
【０２０９】
図５５は、フォントアウトライン５５００を図示しており、この例では、タイムズローマンフォントの大文字「Ｂ」のアウトラインを図示している。このアウトラインは、それぞれが赤、青、緑のサブピクセル５５０６、５５０８、５５１０をそれぞれ含む個々の全ピクセル５５０４を複数用いて構成されるサブピクセルグリッド５５０２上に重ねて表示されている。
【０２１０】
図５５に図示されたフォントアウトラインは、比較的通常のテキストサイズでの表示に使用可能なアウトラインであり、本発明者のサブピクセル最適化文字フォント形状の方法が、広範囲のアプリケーションで適用可能であり、図１１の最下部に図示された種類の小型スクリーン表示に限定されないことを示している。しかしながら、本発明のこの特徴が小型スクリーン表示、及び／又は、極めて小さいピクセルサイズでのフォントの表示に適用される場合、例えば、幾つかの実施形態では１０ピクセル／ｅｍまたはそれ未満のサイズで、そして、他の実施形態では８ピクセル／ｅｍまたはそれ未満のサイズで、使用されるフォントを小さなサイズで表示するために最適化することが望ましい。
【０２１１】
図５６は、サブピクセルアドレス可能スクリーン上に於けるそうした小型表示のために最適化されたフォントを図示したものである。図５７は、同一ビットマップを２倍のサイズで図示している。残念ながら、図５６及び５７に図示されたビットマップの印刷物は、全ピクセルの平均輝度を表示しており、そうしたビットマップがサブピクセルアドレス可能表示上に表示された際に可能となる、より高い解像度を獲得することが出来ていない。
【０２１２】
図５６及び５７に図示されたフォントは、選択された個々のフォントアウトライン境界を、ピクセル境界、サブピクセル境界、及び、サブピクセル境界間の水平及び垂直次元の中間に変更するヒンティング処理によって生成されている。そうした高解像度ヒンティングは、サブピクセル表示上で最適な可読性を達成するために使用される。文字がそうした小型フォントサイズで表示される際に、文字が可能な限り鮮明であるとユーザが比較的満足感を覚えるまで、フォントデザイナーに様々なヒンティング値を用いて個々の文字のサブピクセル最適化ビットマップを見させることによって、これを実行する。そうしたフォントヒンティングの有識者が理解しているように、フォントは、そのフォントの全てのサイズのレンダリングを越えてフォントアウトラインの個々の部分の配置を命令するヒントと、特定のピクセルサイズで文字フォント形状に適用される特別ヒントを有することが出来る。図５６及び５７に図示されたフォントは、８ピクセル／ｅｍでのそれらの表示を最適化するようにヒンティングされており、それらの幾つかは、そうした小さなサイズでのみ適用される特定のヒントを有している。
【０２１３】
実際、本出願の同図に図示された、３２０×２４０ピクセル解像度のスクリーンショットに於ける殆どのフォントは、そのサイズで表示するために特別にヒンティングされた８ピクセル／ｅｍのフォントである。比較的高水準の可読性が可能となる一方で、これらのフォントによって、比較的大量のウェブテキストは小型スクリーン上に適合可能である。これらのフォントによって、ラテンアルファベットの小文字の大多数を、隣接する文字同士を隔てるスペースが在ればそれを含んで、４ピクセルコラム又はそれ未満で表示することが出来る。これらのフォントによって、大文字の大部分は５ピクセルコラム又はそれ未満で表示することが出来る。
【０２１４】
そうした小さなフォントの可読性は、サブピクセル最適化、又は、アンチエイリアスの何れかを使用することによって大幅に向上されるのであるが、これは、これらの技術によって、文字形状が所定のピクセルを覆う程度に関する情報が、全ピクセルレベルでの２進法表示以上の方法で表現可能であるからである。実際、サブピクセル最適化はアンチエイリアスの一種であるが、これは、従来のアンチエイリアスと同様に、サブピクセル最適化によって、フォント形状により部分的に覆われたピクセルが、そうしたカバレッジの程度に関する関数に比例する色値を有するからである。
【０２１５】
図５８及び５９は、本発明によって生成されたサブピクセル最適化ビットマップを、フォントアウトライン、及び／又は、フォントビットマップとして表現することが可能であるということを図示している。フォントアウトライン記述５８０２は、好ましくは、文字アウトラインの境界を１つ又は複数の異なるフォントサイズで最適に配置するように設計されたヒンティング情報と共に、所定のフォントの１つ又は複数の文字の形状に関する数学的幾何学的記述を含んでいる。これらのフォントアウトラインは、例えばここで議論されたような、サブピクセルアドレス可能表示上で最適にレンダリングされるように設計され、及び／又は、サブピクセルアドレス可能表示上で表示するために最適化されているヒンティングを有するものであっても良い。
【０２１６】
以下に記述されるように、フォントレンダラ５８０６をそうしたアウトラインからサブピクセル最適化ビットマップ５８０４を生成するために使用することが出来る。
【０２１７】
本発明の幾つかの実施形態に於いて、図５８に図示されているように、コンピュータ５８０８、及び／又は、そのコンピュータ上で実行するアプリケーションは、フォントサーバ５８１２からコンピュータネットワーク５８１４を介してアクセスされたフォントビットマップ又はフォントアウトラインを使用して、テキストを表示する。他の実施形態に於いて、図５９に図示されているように、コンピュータ５９００、及び／又は、そのコンピュータ上で実行されるアプリケーション５９０２は、それらの中に保存されたテキストをレンダリングするために必要なフォントビットマップ５８０４を有している。そうしたコンピュータ、及び／又は、アプリケーションは、フォントビットマップのみを保持可能であるか、又は、それらは拡大／縮小可能なフォントアウトライン５８０２を保存し、異なるサイズで随時フォントビットマップ５８０４をレンダリングすることが出来る。
【０２１８】
フォントビットマップのみを保存する利点は、コンピュータ５９００上にフォントアウトライン及びフォントレンダラを保存する必要性がなくなる点にある。また、それによりフォントレンダリングに関わる演算も必要性なくなる。さらに、多くのフォント業者は、フォントビットマップが比較的自由にインターネット上で使用可能になり、その後フォントアウトラインも使用可能になることをさらに望んでいる。
【０２１９】
フォントアウトラインを保存する利点は、ユーザが各種サイズでフォントをレンダリングすることに関心を持っている場合、全ての異なるサイズの文字に対してフォントビットマップを保存することに比して、フォントレンダラに必要なコードを保存することと、拡大／縮小可能なフォントアウトライン記述を保存することの方が、実際には効率的であるという点にある。
【０２２０】
図５８に図示されているように、フォントサーバからフォントを受信する利点は、それによって、クライアントコンピュータ５８０８が、例えば図５８に表現されているように、大容量のフォントライブラリを保存する必要なく、随時そうしたフォントをダウンロードすることによって、多数の異なるフォント及びサイズの任意のもので、テキストを表現することが可能であるという点にある。クライアントコンピュータ５８０８は、文字列を表示しようとする度にネットワーク５８１４を介して通信する必要がないように、妥当な数の文字フォントビットマップをキャッシュすることが望ましい。
【０２２１】
図６０は、サブピクセル最適化フォントビットマップの生成に関する本発明の特徴に関する幾つかの実施形態で使用されたアルゴリズム６００の高度に簡略化された擬似コード記述である。このアルゴリズムは、図４８及び４９に関して上述された種類の非線形カラーバランスを使用している。そうしたサブピクセル最適化アルゴリズムは、テキスト文字の表示に使用する際に特に最適であるが、これは、全ピクセル境界を有するテキストアウトライン境界の配置が、ヒンティングの使用のために、ラスタ化されたフォント形状に於いて極めて一般的であるからである。
【０２２２】
図６０のアルゴリズム６０００は、所定のピクセル解像度での個々の文字フォント形状のラスタ化に於いて、各ピクセル行に対して実行されるループ６００２を含んでいる。このループ６００２は、各ピクセル行に対して順次実行される３つのサブループ６００４、６００８、６０２０で構成されている。
【０２２３】
ループ６００４は、ループ６００２の現在の繰り返しが実行されているピクセル行に於ける各サブピクセルに対して実行される。そうした各サブピクセルに対して、ループ６００４は、画像が生成されている文字フォント形状によって覆われるサブピクセルの領域の割合に関する関数として、そうした各サブピクセルに対するカバレッジ値を決定する、関数６００６を実行する。
【０２２４】
図６１乃至９０は、図６０のステップ６００６における各サブピクセルのカバレッジ値を決定するために使用可能な方法を議論するために使用される。
【０２２５】
図６１、６２、６３に示されているように、そうしたカバレッジ値が所定のピクセル５５０４に対して計算される、文字フォント形状の画像に於ける領域は、赤、緑、青のサブピクセル５５０６、５５０８、５５１０によってそれぞれ表示される画像の領域に対応している。これは、上記図１４乃至１６に於いて示されているように、通常、各サブピクセルに対応するソース画像ウインドウがより大きいサブピクセル最適化された多色画像の場合とは異なっている。図６０の方法で使用されたソース画像ウインドウは、図４２乃至４４に関して上述された２色ビットマップに使用されたソース画像ウインドウの領域と同一サイズを有する。
【０２２６】
そうしたより高い解像度のソース画像ウインドウを使用可能であるのは、殆どのフォントアウトライン記述によって記述された文字フォントの形状は、前景色（殆どの場合、アルファ値「１」で表現される）に関連していると見なされるフォントアウトラインと、背景色（殆どの場合、アルファ値「０」で表現される）に関連している画像の全ての他部分とに覆われた領域を備えた２色画像であるからである。
【０２２７】
図６０の関数６００６に於けるカバレッジ値の計算は、図５５に図示されたグリッド５５０２のサブピクセルの解像度と同一の空間解像度を有するピクセル配列に関連して、文字フォントアウトラインをラスタ化可能な任意の従来技術の方法を使用して実行することが出来る。
【０２２８】
図６４乃至６７は、フォント形状６４０２によって覆われたラスタ化グリッドに於けるユニットの割合を計算するために使用されている従来の方法の幾つかを図示している。この従来技術に於いて、ラスタ化ユニット６４００は、通常、出力画像に於ける全ピクセルに対応している。図６０の方法に於いては、それは出力画像のサブピクセルに対応している。
【０２２９】
図６４は、フォント形状６４０２によって覆われたユニットの領域を正確に計算するための数学的技術を使用するラスタ化ユニット６４００のカバレッジ値を決定するための一方法を図示している。これは比較的コンピュータの費用がかかるので、かつて殆ど使用されたことはない。
【０２３０】
実質的によりコンピュータを効果的に使用出来る方法は図６５に記載されており、この方法は、フォント形状の境界に関する区分的線形近似６５０４を使用することによって、フォント形状６４０２で覆われたラスタ化ユニット６４００の割合を計算する。
【０２３１】
図６６は、実質的により制度の低い結果を生み出しているが、さらにコンピュータを効果的に使用できる方法を図示している。この方法により、サンプルポイント６６００一式がどの程度の割合でフォント形状６４０２内に収まるかを決定することによって、ラスタ化ユニット６４００のカバレッジ値の割合が決定される。
【０２３２】
図６７は、図６６の方法と同一の、比較的低度の演算処理に対してより正確な結果を提供するカバレッジ値を決定する方法を図示している。それは、フォント形状６４０２によって覆われた多数のスキャンライン６７００及び６７０２の平均的な割合に関する関数として、ラスタ化ユニットのカバレッジを決定する。
【０２３３】
図６８乃至８７は、ラスタ化ユニットのカバレッジ値を計算する、コンピュータを極めて効果的に使用可能な方法を図示しており、該方法は、例えば同一量の演算処理に対して図６６に図示された方法など、サンプリング法に比して一般的に良い結果を生む。
【０２３４】
この方法に関する一実施形態は、本発明の発明者の一人、サンポ・ジェイ・カーシラの名義で出願された米国特許出願に於いて、より詳細に記載されている。この米国特許出願は、出願番号０９／３６３，５１３である。該米国特許出願は、１９９９年７月２９日に出願され、名称は「Ｓｙｓｔｅｍｓ  Ｆｏｒ  Ｒａｐｉｄｌｙ  Ｐｅｒｆｏｒｍｉｎｇ  Ｓｃａｎ  Ｃｏｎｖｅｒｓｉｏｎ  Ｗｉｔｈ  Ａｎｔｉ−Ａｌｉａｓｉｎｇ  Ｕｐｏｎ  Ｏｕｔｌｉｎｅ  Ｆｏｎｔｓ  Ａｎｄ  Ｏｔｈｅｒ  Ｇｒａｐｈｉｃ  Ｅｌｅｍｅｎｔｓ」である。この出願は、２００２年８月２０日付けで、米国特許第６，４３７，７９３号として特許が発行された。また、この出願は、ＰＣＴ出願「ＰＣＴ／ＵＳ００／２１５５９」で公開された発明の開示を有している。この出願及び該出願から取得された特許は、それらの全文を参照することにより本書に組み込まれる。
【０２３５】
図６８乃至８７の方法に於いて、ラスタ化ユニットに対するカバレッジ値は、フォントアウトラインの形状６４０２によって覆われる２本のスキャンライン、即ち、水平スキャンライン６８０４又は垂直スキャンライン６８０２の１本の割合によって決定される。カバレッジ値がラスタ化ユニットに対するカバレッジ値として使用されるスキャンラインは、より中間的なカバレッジ値を有するスキャンラインである。例えば、水平及び垂直スキャンラインのカバレッジが０〜１２６の値の範囲で計算される実施形態に於いて、選択されるスキャンラインは、５０％のカバレッジを示す、値が６３に最も近いスキャンラインである。
【０２３６】
図６８乃至７１に於いて、ラスタ化ユニット６４００のカバレッジの割合を表すために使用されるのは、垂直スキャンライン６８０２のカバレッジの割合である。図７２乃至７５に於いて、最も中間に近い値を有するのは水平スキャンライン６８０４であり、それ故、それは全ラスタ化ユニットに関する実際のカバレッジの割合を表現するのに使用されるかバレー時の割合を有している。
【０２３７】
図７６乃至８７の残り全てに於いて、より中間に近いカバレッジ値を有するスキャンラインのカバレッジ値は、通常、全ラスタ化ユニットに対する実際のカバレッジ値に非常に近く、それは、通常、全ラスタ化ユニットに関する実際のカバレッジ値から２５％以上は決して変化しないということがわかる。
【０２３８】
図８８乃至９０は、それらのラインカバレッジ値がより多くの中間カバレッジ値を有する関数として、それらの関連するラスタ化ユニットに関する推定されたカバレッジ値に対して、個々のスキャンラインに関するカバレッジ値の寄与を重み付けする方法に従って使用可能な、スキャンラインの他の組み合わせを示している。そうした方法に於いて、全ラスタ化ユニットに対して計算されたカバレッジ値は、各スキャンラインのカバレッジ値の合計と、そのカバレッジラインの中間とを乗算し、各スキャンラインの中間の合計で除算したものに等しく設定することが出来る。この計算では、スキャンラインの中間は、スキャンラインの真ん中の取り得る割合のカバレッジ値から、真ん中の割合のカバレッジ値とスキャンラインの実際の割合のカバレッジ値との差の絶対値を減算したものに等しい。
【０２３９】
図９１は、ピクセル５５０４の行９１００の赤、緑、青色のサブピクセル５５０６、５５０８、５５１０のそれぞれに対してマッピングされた、仮想フォントアウトライン９１０２を図示している。
【０２４０】
図９２は、行９１００におけるサブピクセルのそれぞれに対して計算されている、対応するカバレッジ値９２０２を図示している。
【０２４１】
図９３は、個々のサブピクセルに対して決定されたカバレッジ値が、線形カラーバランス法を使用して、どのように分配することが可能かを図示している。ビットマップソース画像のサブピクセル最適化表示というよりは、フォントアウトラインのサブピクセル最適化表示に適応されている点を除いて、該線形カラーバランスは、図４６に関して上述したものと同一である。
【０２４２】
ここで再び図６０を簡単に参照すると、同図のステップ６００６が１行の各サブピクセルに対するカバレッジ値を計算又は推定した時点で、図９２に示されているように、ループ６００８がその行における各ピクセルに対して実行される。このループ色は、１行のサブピクセルに対して計算されたカバレッジ値のバランスをとる。それは、図９３に図示され、図４６及び４７に関して上述された種類の線形カラーバランスルーチンを使用しない。その代わりに、それは、図４８乃至５３に関して上述された技術に類似した非線形カラーバランス技術を使用することによって、より高度に知覚可能な空間解像度を達成する。
【０２４３】
ループ６００８は、そうした各ピクセルに対して、２つの関数６０１０及び６０１２と、ループ６０１４を実行する。
【０２４４】
関数６０１０は、現在のピクセルのサブピクセルがそのサブピクセルに対して計算された最小カバレッジ値を有していることを求める。次に、ステップ６０１２は、この最小カバレッジ値を、現在のピクセルの各サブピクセルに対して計算されている、暫定的なアルファ地、又は、不透明値に加算する。これは、図４８に図示された関数に類似している。
【０２４５】
次に、ループ６０１４は、現在のピクセルの各サブピクセルに対して関数６０１６及び６０１８を実行する。関数６０１６は、ループ６０１４の現在のサブピクセルに対して、サブピクセルが一部を成すピクセルに対して求められた最小カバレッジ値を超える、それに対して計算されたカバレッジ値の超過分を決定する。次に、関数６０１８は、この超過値を、現在のピクセル行に於ける現在のサブピクセルと、その左側の２つのサブピクセルと、その右側の２つのサブピクセルに対して計算されているサブピクセルアルファ値に分配する。この関数は、図４９に関して上述された関数に対応する。
【０２４６】
図９４及び９５は、本発明の一実施形態に於いて使用される、２つの異なるカラーバランス分配フィルタを図示している。この実施形態に於いて、図９４に図示された非対称中央部重点カラーバランスフィルタが、赤色及び緑色のサブピクセルに関連付けられたカバレッジ値を分配するために使用される。一方、図９５に図示された非対称カラーバランスフィルタは、青色のサブピクセルに関連付けられたカバレッジ値を分配するために使用される。それ故、本発明のこの実施形態は、ある色に対して、他の色に対する分配フィルタとは形状が異なる分配フィルタを使用している点で、図４９に関して上述された処理とは異なっている。
【０２４７】
本出願の発明者の一人は、人間の目では青色に比して緑色を知覚し易いので、異なる色のサブピクセルに関連するカラーバランスカバレッジ値は、そうした異なる分配フィルタを使用するはずだということを発見した。非線形カラーバランス（２色画像に関する非線形カラーバランスを含む）に関連する本発明の異なる実施形態に於いて、異なるカラーバランスフィルタを、各異なるサブピクセル色に対して使用することが可能な、同一カラーバランスフィルタを、そうした色のすべてに対して使用することが可能であり、対称カラーバランスフィルタ、又は、非対称カラーバランスフィルタの何れかを使用することが出来る。
【０２４８】
図９４及び９５に図示された特定のカラーバランスフィルタは、０〜１２６の尺度で計算されるカバレッジ値を用いて使用するために設計されている。０〜１２６の値を有する所定の計算されたカバレッジ値は、テーブルの左側にある関連するカバレッジ値が、それ自身のカバレッジ値に最も近い、図９４及び９５のテーブルの右側にある、５つの分配値から成る分配値一式に関連付けられている。例えば、所定の赤色又は青色のサブピクセルに対して計算されたカバレッジ値が１２６である場合、所定のサブピクセルの左側２つ、及び、右側２つのサブピクセルに対して計算されているアルファ値に「１」加算され、所定のサブピクセルの左側１つ、及び、右側１つにあるサブピクセルに対して計算されているアルファ値に「３」加算され、所定のサブピクセル自体に対して計算されているアルファ値に「４」加算される。この特定の実施形態では、アルファ値は０〜１２のスケールで計算される。
【０２４９】
図９４及び９５の最後の行に図示されたカラーバランス分配の相対的なサイズは、所望の分配比率をより正確に反映している。これは、これらの最後の行のそれぞれに於いて分配されたより大きな値が、最後の行のそれぞれの上方に位置する行で見られるよりも、大きな数値の解像度を許容するからである。
【０２５０】
当然のことながら、バランスがとられているカバレッジ値又は輝度値を記述するために、より高い数値精度を使用する幾つかの他の実施形態において、広範囲の輝度で使用されるバランス分配は、図９４及び９５の最後の行に於いて反映されたそれらの比率にむしろ近い、異なるサブピクセルへの寄与間の比率を有する。このことが特に当てはまるのは、図９４、及び／又は、図９５に図示された一般的な種類のフィルタが、図４８乃至５２に関して上述されているように、画像の２色サブピクセル最適化に関するカラーバランスに使用される場合である。これは、ビットマップ画像に関するそうした２色サブピクセル最適化に於いて、サブピクセル最適化されているビットマップに於いて使用されるものに比して、低い解像度で出力画像の輝度を算出することが、一般的に望ましくないからである。
【０２５１】
図６０のループ６００８によって、ステップ６０１８が１行の各ピクセルの各サブピクセルに対して実行された時点で、そうした各ピクセルは、その３つのサブピクセルのそれぞれに対して計算された別々のアルファ値を有し、そうした各アルファ値は１３の不透明度レベルの内、１つを有する。このことは、各ピクセルが異なる２１９７の取り得る結合アルファ値の内、一つ（即ち、１３の２乗）を有することが可能であることを意味する。本発明の他の実施形態に於いては、より高い又はより低い解像度を有するアルファ値を使用することが出来る。
【０２５２】
本発明の多くの実施形態に於いて、特に、制限された演算能力を有するコンピュータ上に於いて、又は、フォントビットマップを保存又はダウンロードするために必要な回線容量又は記憶容量を低減することが望ましいシステムに於いて実行するように設計された実施形態に於いては、そうしたカラーバランス後に取り得る異なるサブピクセルアルファ値の２１９７の組み合わせである比較的大きな色空間から、より小さな色空間にマッピングすることが好ましい。
【０２５３】
図６０に於ける本発明の実施形態は、ループ６０２０に於けるそうしたマッピングを実行する。ループ６００８が現在の行に於ける各ピクセルに対して実行された時点で、ループ６０２０はそうした各ピクセルに対してさらなる関数６０２２を実行する。関数６０２２は、ピクセルのサブピクセルのそれぞれに対して計算された３つのアルファ値を取得し、それらを、ピクセルの３つのアルファ値の取り得る組み合わせによって定義された２１９７の取り得る色値のそれぞれから、１２２の値の内、１つの値にマッピングするルックアップテーブルの入力値として使用する。この実施形態に於いては、色空間はそうした少数の色に低減されている。その結果、２５６値の色空間を有する機械装置が、そのように制限された色空間の半分以上をその他で利用するために、なお有している一方で、サブピクセル最適化されたフォントの表示に於ける使用のために選択された１２２の値のそれぞれを表示することが出来る。フォントビットマップを表示するためのそうした小さなカラーパレットを使用することによって、そうしたフォントビットマップを保存するために必要とされるビット数が低減され、ダウンロードするためにより効率的になる。本発明のこの特徴に関する他の実施形態に於いて、そうしたマッピングで使用されるソース及び送信先の色空間は、異なるサイズを有する可能性がある。
【０２５４】
図９６は、本発明の一実施形態に於いて、そうしたカラーマッピングを生成するために使用されている方法９６００を図示している。当然のことながら、他の実施形態に於いては、他の種類のマッピングを使用することが可能である。幾つかの実施形態に於いては、より小さな色空間へのそうしたマッピングを全く必要としない。
【０２５５】
図９６の方法は、図６０乃至９５に関して上述した非線形カラーバランスサブピクセル最適化アルゴリズムによって計算される制限された色空間を使用してビットマップが表示される、一つ又は複数のフォントから複数文字を実行するステップ９６０２で始まる。これが実行される場合、ヒストグラムは、それぞれの取り得る２１９６の異なる複合ピクセルアルファ値が任意のピクセルに対して計算される回数を保持する。このヒストグラムは有用であるが、これは、サブピクセル最適化ビットマップに於けるピクセルに対して計算された３色のアルファ値の殆どが、２１９６のそうした３色アルファ値の取り得る色空間全体の様々な小さな領域に集中する傾向があるからである。この集中は恐らく非線形カラーバランスに関してより顕著になるが、これは、それがカラーバランスに起因する輝度分配の量を実質的に低減するからである。
【０２５６】
次に関数９６０４は、関数９６０６及び９６０８を実行することによって、この例では１２２色を有する制限されたカラーパレットを生成する。関数９６０６は、形成されているパレットの一部として、各サブピクセルが１３のアルファレベルの内、１つのレベルを有することが可能な場合、全ピクセルアルファ値に対して取り得る、１３のグレースケール値を選択する。次に、関数９６０８は、以前ステップ９６０２によって計算されたヒストグラムに於ける最も頻繁に出現する１０９の他の色を選択する。
【０２５７】
制限されたカラーパレットが選択された時点で、ループ９６１０が２１９６の取り得る全ピクセルアルファ値のそれぞれに対して実行される。そうしたそれぞれの取り得るアルファ値に対して、条件９６１２は、その入力色が１２２色の内の１色と正確に一致するかを確認するためにテストを行う。一致する場合、関数９６１４は、入力色と、構成されたルックアップテーブルに於けるその同一出力色とを関連付ける。条件９６１２が満たされない場合、ループ９６１８及び関数９６２８は、ループ９６１０の現在の入力色に対して実行される。
【０２５８】
ループ９６１８は、パレットに於ける１２２の出力色のそれぞれに対して実行される。それは、マッピングされる入力色の赤のアルファ値とループ９６１８の現在の出力色との差（ｒｉ−ｒｏ）が、現在の入力色の緑のアルファ値と現在の出力色に対する緑の出力アルファ値との差（ｇｉ−ｇｏ）と同一符号であるかを確認するためにテストを行う条件９６２０を有している。また、条件９６２０は、現在の出力色に関する赤のアルファ値と緑のアルファ値との差（ｒｏ−ｇｏ）が、入力色に関する赤のアルファ値と緑のアルファ値との差（ｒｉ−ｇｉ）（いくらかの余裕を持たせる為に、取り得る値Ｘを加算）よりも小さいかを確認するためにテストを行う。入力色と該入力色がマッピングされる出力色間の比較的顕著な差を防止することを目的とした、これら２つの条件が満たされる場合、関数９６２２乃至９６２６が実行される。
【０２５９】
関数９６２２は、入力色から出力色までの距離を計算する。関数９６２４は、その距離が現在のループ９６１８に於ける入力色までのこれまでで最短距離であるかを確かめるためにテストを行う。関数９６２４のテストが満たされる場合、ステップ９６２６はループ９６１８の現在の出力色を、許容可能な最も近いパレット色として保存する。ループ９６１８が制限されたパレットの１２２の出力色のそれぞれに対して実行された後、ステップ９６２８は、ループ９６１０の現在の入力色を、ループ９６１８で計算された許容可能な最も近いパレット色に関連付ける。
【０２６０】
ループ９６１０が、取り得る入力色のそれぞれに対して実行された時点で、それらの入力色のそれぞれは、１２２出力色の１色にマッピングされる。
【０２６１】
図９６に図示された特定のカラーマッピングスキームでは、カラーバランスによって生成された非グレースケールピクセルの色値がステップ９６０８で選択された１０９の最も頻繁に発生する非グレースケールの色値の内の１つにマッピングされなければ、グレースケールの色値にマッピングされる。一般に、これは全てのビットマップをグレースケールアルファ値で表示する従来のアンチエイリアスと、少なくとも同程度に良好な結果をもたらす。
【０２６２】
図９７は、図６０及び９６の方法で生成される種類のフォントビットマップをサブピクセルアドレス可能スクリーン上に表示するために使用されるアルゴリズム９７００を図示している。
【０２６３】
関数９７０４と、ループ９７０６及び９７１４で構成されたループ９７０２は、表示される各文字列に対して実行される。
【０２６４】
関数９７０４は、文字列が、その文字列に対する平均背景色値を決定するために描画されるビットマップの矩形に於けるポイント一式をサンプリングする。他の実施形態に於いては、背景色が各文字に対して、又は、各文字の各ピクセルに対して別々に決定されるが、図示された実施形態に於いては、演算処理を節約するために背景色が各文字列に対して１回だけ決定される。
【０２６５】
文字列に対する背景色が決定された時点で、ループ９７０６は、図９６に関して上述された１２２の全ピクセルアルファ値のそれぞれに対して、サブループ９７０８及び関数９７１２を実行する。
【０２６６】
ループ９７０８は、３つのサブピクセル色のそれぞれに対して関数９７１０を実行する。この関数９７１０は、現在のサブピクセル色に対応する現在の全ピクセルアルファ値のコンポーネントに関する関数として、現在のサブピクセル色に対して輝度値を算出する。
関数９７１０は、算出している輝度値を、描画される文字列の前景色に於ける現在のサブピクセルの対応する色に関する輝度によって乗算されたサブピクセルのアルファ値に、関数９７０４によって決定された背景色に於ける現在のサブピクセルの対応する色に関する輝度によって乗算された現在のサブピクセルのアルファ値を減算したものを加えた値に等しく設定する。
【０２６７】
このループが３つのサブピクセルのそれぞれに対して実行された時点で、関数９７１２は、ループ９７０６の現在の全ピクセルアルファ値を、ループ９７０８で計算された３つのサブピクセル輝度で構成された全ピクセルの色値にマッピングする。
【０２６８】
次に、ループ９７１４は、サブピクセルアドレス可能な表示上に表示される現在の文字列の各文字に対して、関数９７１６及びループ９７１８を実行する。
【０２６９】
関数９７１６は、現在の文字に対するフォントビットマップにアクセスする。次に、ループ９７１８はそのビットマップの各ピクセルに対して、関数９７２０及び９７２２を実行する。関数９７２０は、文字のフォントビットマップに於ける現在のピクセルに対して示された、ループ９７０６によって現在の全ピクセルアルファ値にマッピングされている色値を求める。この色値が求められた時点で、関数９７２２は、サブピクセルアドレス可能表示に於ける対応するピクセルを全ピクセルの色値に設定する。
【０２７０】
ループ９７１８が文字列の各文字の各ピクセルに対して実行された時点で、文字列がサブピクセル最適化法で完全に表示される。
【０２７１】
図９８乃至１０１は、画像及びフォントの拡大／縮小、及び、サブピクセル最適化に関する技術が如何にうまくいくかを図示している。図９８及び１００は、一般的なブラウザプログラムを使用して、６４０×４８０ピクセルでレイアウトされ、表示された２つの異なるウェブページの概要を図示している。図９９及び１０１は、それらの画像及びテキストが３２０×２４０表示上に適合するように上述した方法で拡大／縮小された後に於ける、同一ウェブページを図示している。残念ながら、３２０×２４０ピクセル画像は全ピクセルの平均輝度によって決定されたグレースケール値で印刷されおり、それ故、サブピクセル解像度によって加えられた実際の明瞭さは、これらの画像に於いて示されていない。
【０２７２】
図１０２乃至１１３は、本発明の一実施形態に於けるプロキシサーバと薄型クライアントコンピュータとの間の相互作用をより詳細に図示している。
【０２７３】
図１０２は、図２に関して上述した種類のプロキシサーバ２１０及び薄型クライアント２００を含むシステムの高度に概略化したブロック図である。
【０２７４】
プロキシサーバ２１０は、完全なウェブブラウザの標準機能を実行するためのプログラム１０２０２を含むブラウザ１０２００を有している。このプログラムが変更されているのは、ブラウザが薄型クライアントに対するプロキシとして動作するからである。プロキシブラウザが要求されたウェブページのＨＴＭＬ記述１０２０４をネットワーク上で受信する場合、それはそのウェブページの２次元レイアウト１０２０６を生成する。
【０２７５】
図１０３は、表示が図９８及び９９に図示されたウェブページのＨＴＭＬ記述の一部を図示している。図１０３に図示された数字１０３００は、図９８及び９９に図示されたウェブページの左側コラムに図示されたＨＴＭＬに於けるテキスト部分を図示している。数字１０３０２は、同一コラムに図示された単語「Ｓｅｃｔｉｏｎ」を表示するために使用されたビットマップを識別する画像タグを指し示している。
【０２７６】
プロキシブラウザコードがウェブページのダウンロードを受信する場合、それは仮想レイアウト解像度でウェブページのレイアウト１０２０６を作成しようとする。仮想レイアウト解像度は多くの場合、それがウェブページの全て又は一部を表示しているとプロキシブラウザが見なすウインドウのサイズとなっている仮想スクリーンサイズの幅に対応する。それがウェブページを表示しているとブラウザが見なすウインドウを、仮想スクリーン１０２０８と呼ぶことにする。
【０２７７】
図１０４は、図９８及び９９に図示されたウェブページのレイアウト１０２０６を図示しており、それは、黒色太線矩形部１０２０８に於いて、そのレイアウトへの仮想スクリーン画面のマッピングを図示している。レイアウト１０２０６に対する図１０４に図示され仮想スクリーンの位置を前提として、１０２２０は薄型クライアント上に表示された仮想スクリーン画像を図示している。
【０２７８】
今日のウェブページの多くは、記載例のシステムに於いて使用された６４０×４８０の仮想スクリーン解像度よりも大きな要素を有している。そのレイアウトは、ウェブページのオブジェクトをレイアウトするために必要な最小ピクセル幅、又は、仮想スクリーン幅の何れかの内、何れか大きい方を有する。例えば、今日、多くのウェブページが８００ピクセルの最小可能幅の解像度でレイアウトされることは一般的である。この場合、仮想画面はレイアウトよりも小さなピクセル幅を有する。これは、図１０４に図示された例の場合である。仮想レイアウト幅を前提として、仮想レイアウトの高さは、ウェブページのすべてを表示するために必要な高さである。
【０２７９】
図１０２に図示されたビューウインドウ１０２１０は、薄型クライアントのスクリーン上に実際に表示される仮想スクリーンの一部を表している。図９９、１０１、１０４に図示されたビューに於いては、ビューウインドウは仮想スクリーンに相当する。
【０２８０】
しかし、ユーザが仮想スクリーンの部分上で拡大表示する場合、図１０２に図示されたズームの倍率制御１０２１６が変化し、ビューウインドウは仮想スクリーンのサブセットにマッピングされる。
【０２８１】
図１０２に図示されたスクロール制御１０２１８によって、ビューウインドウはレイアウトに対応して移動する。ビューウインドウが仮想スクリーン上の現在位置に位置していないレイアウトの部分を含むように移動される場合、仮想スクリーンをスクロールするためにブラウザソフトウェアに命令が送信される。イベント待ち行列１０２２０は、イベント、即ち、薄型クライアント上で受信され、ブラウザによって対応するアクションに対するプロキシサーバにアップロードされているユーザ入力を保存する。薄型クライアントのスクリーン上で発生するイベントは、ビューウインドウを介して仮想スクリーン上の対応する位置にマッピングされ、その後、プロキシブラウザのイベント待ち行列に配置されるので、プロキシブラウザは、あたかもそれが映像出力装置上に直接描画していると見なす仮想スクリーン上の適切な位置で受信されたかのように、そうした入力に対応する。
【０２８２】
図１０２のブラウザプログラム１０２０２は、それが仮想スクリーン上にオブジェクトを描画しているとみなす度に、ダウンロード表示リスト１０２１２に於ける、これに対応する拡大／縮小された位置に、対応する縮小されたオブジェクトを生成するように変更される。
【０２８３】
この表示リストは、ネットワーク１０２２２を介して、数字１０２１２Ａによって示されるように、表示リストを保存するクライアントコンピュータにダウンロードされる。この表示リストによって参照される縮小された画像１０２１４もダウンロードされる。薄型クライアント上に位置するプログラム１０２１８は、表示リストに含まれる文字列、画像、及び、他の要素を、薄型クライアントスクリーン１０２２１上に表示する。ユーザが薄型クライアントスクリーン上でクリックする場合、薄型クライアントのオペレーティングシステム１０２２２は、薄型クライアントスクリーン上でのそうしたクリック、及び、クリック位置を、イベント待ち行列１０２２４にセットする。薄型クライアント上でローカルに取り扱われるプログラムに関係しないそうした各イベントは、上述の通り、プロキシサーバのイベント待ち行列１０２２０にアップロードされる。
【０２８４】
図１０５Ａ乃至１１０は、薄型クライアントがプロキシを介してウェブページをブラウズすることが出来るように、これらの相互作用を制御するために設計された、ブラウザ及び薄型クライアントコンピュータ上のプログラム及びデータ構造に関する高度に簡略化された擬似コード記述である。
【０２８５】
図１０５Ａ及び１０５Ｂは、薄型クライアントに対するプロキシとして機能することを促進するために使用される、図１０２に図示されたブラウザのコード１０２０２の一部に関する高度に簡略化された擬似コード表記である。
【０２８６】
これらの図で図示された特定の実施形態に於いて、通常使用するために設計された大規模ウェブブラウザは、それがプロキシとして機能するようにパッチ修正されている。当然のことながら、本発明の他の実施形態に於いて、プロキシとしてブラウザを動作させるのに必要な機能を、より密接かつ見事にブラウザのコードに統合することが出来る。さらに他の実施形態では、オペレーティングシステムに於けるコード、又は、オペレーティングシステムの呼び出しに割り込む関数に於けるコードは、薄型クライアントに対するプロキシとして標準ウェブブラウズプログラムを動作させるために使用することが出来る。
【０２８７】
図１０５Ａに図示された実施形態に於いて、プロキシブラウザがウェブページに対する薄型クライアントからの要求を受信する場合、ステップ１０５０２及び１０５０４は、その要求を当該要求のＵＲＬに示されたサーバコンピュータに伝達する。
【０２８８】
ブラウザが図１０２に関して上述された仮想スクリーン１０２０８の描画又は再描画を完了したという指示を自身のコードから受信する場合、関数１０５０６及び１０５１０は、図１０６Ａ乃至１０６Ｃに図示されたスクリーンキャプチャ及びダウンロードルーチンを呼び出す。
【０２８９】
図１０６Ａ乃至１０６Ｃは、スクリーンキャプチャ及びダウンロードルーチン１０６００に関する高度に簡略化された擬似コード記述である。
【０２９０】
このルーチンが、前述の図１０５Ａの関数１０５１０によって呼び出される場合、そのステップ１０６０２は、仮想スクリーン内に全体的又は部分的に適合するウェブページのレイアウトに於ける各要素を描画するためのルーチンがブラウザによって呼び出される、スクリーン再描画をブラウザに対して要求する。図１０６Ａ乃至１０６Ｂのルーチンは、これらの描画呼び出しの各々に含まれる情報を記録し、図１０２に図示されたダウンロード表示リスト１０２１２を生成するためにこれを使用する。
【０２９１】
ブラウザが図１０６Ａの測定文字列ルーチン１０６０６を呼び出す場合、このルーチンによって関数１０６０８乃至１０６１８が実行される。そうした呼び出しは、仮想スクリーンにレイアウトしようとしているテキストのサイズを決定するために、ブラウザによって形成される。図示されていないが、図１０６Ａ乃至１０６Ｂに図示されたスクリーンキャプチャ及びダウンロードルーチンが実行中ではないとしても、これら同一の関数１０６０８乃至１０６１８は、ブラウザが文字列のサイズを測定するために呼び出しを行う際は何時でも実行される。これにより、ウェブページの全ての仮想レイアウトは関数１０６８乃至１０６１８によって提供されたフォントマトリクスを使用する。 
【０２９２】
関数１０６０８は、測定文字列呼び出しに於いて特定されたフォントを、異なるフォントファミリー、及び、異なるフォントサイズを有するフォントにマッピングする。このフォント置換は、数字１０６１０乃至１０６１６によって示された３つの事項によって制御される。
【０２９３】
事項１０６１０は、測定文字列ルーチンに対する呼び出しに於ける、要求されたフォントサイズの関数として、置換フォントに対するサイズを選択し、表示倍率を選択しようとする。
【０２９４】
表示倍率は、ビューウインドウが薄型クライアント上に表示される同一次元に沿った、ビューウインドウ及び解像度に対応する仮想スクリーン１０２８の一部に関する所定の次元に沿った解像度の比率である。場合によっては、表示倍率は水平及び垂直方向に沿って使用される異なる縮尺比率を表すための異なるコンポーネントを有するが、多くの場合、表示倍率は、水平及び垂直解像度の両方に対して使用される単一縮尺比率で構成される。
【０２９５】
記載されている特定の実施形態に於いて、ウェブページのレイアウトが実行される場合、該レイアウトは非ズーム表示倍率に対して実行される。非ズーム表示倍率は、図１０２のビューウインドウ１０２１０が仮想スクリーン１０２０８と同一サイズである倍率である。その結果、非ズーム表示倍率は、仮想スクリーンが表示されるスクリーンの解像度に対する、仮想スクリーンの解像度の比率と等しい。ウェブページの表示後、ユーザがレイアウトの一部に於いて拡大表示を行う場合、ビューウインドウ１０２１０は仮想スクリーンの下位部分にのみ対応し、表示倍率は  レイアウト要素がより大きなサイズで表示される事実を反映させるために、その非ズーム値から変更する。現在の実施形態は、仮想スクリーン全体の表示に対して、テキストのレイアウトを最適化するための非ズーム表示倍率を使用する内容をレイアウトするのだが、これは、このようにしてユーザが一般にレイアウトを見たいと考えているのだということを仮定しているからである。他の実施形態に於いて、仮想レイアウトを非ズーム表示倍率以外の表示倍率に対して最適化することが出来る。
【０２９６】
図１０２に図示された実施形態に於いて、この倍率がズーム／倍率制御１０２１６に保存されている。仮想スクリーンが６４０×４８０の解像度を有し、ビューウインドウが仮想スクリーンのサイズに等しく、ビューウインドウが３２０×２４０表示の全体に表示される場合、倍率は「２」であり、このことは、ブラウザがその仮想スクリーン上に要素を描画しているとみなす２分の１ピクセル解像度で、薄型クライアントのスクリーン上に要素が描画されることを意味している。
【０２９７】
図１０６Ａの事項１０６１２は、事項１０６１０のみによって選択されるフォントの平均ピクセルサイズよりも狭く高いフォントファミリーで、薄型クライアントスクリーン上に表示された場合に小さくなる、全てのフォントサイズを置換する。６４０×４８０仮想スクリーンから３２０×２４０表示スクリーンに低減する場合、ビットマップ形式とは対照的に、これは文字に於いて表現された殆ど又は全てのウェブページテキストを有することが出来る。この置換が実行されるのは、一つには、本発明の本実施形態を用いて使用されるサブピクセルアドレス可能表示が、垂直方向に於けるサブピクセル解像度に比して、３倍の水平方向に於けるサブピクセル解像度を有するからである。この理由により、文字幅の低減は、文字高の低減に比して、可読性に与える負の影響が少ない。このように、そうしたサブピクセルアドレス可能表示スクリーン上に比較的容易に読み取り可能なテキストの最大量を表示するために、この置換によって、文字幅が表示倍率を超える倍率で効果的に縮小され、そうした文字の高さは、表示倍率未満の倍率で効果的に縮小される。例えば、図５６、５７、９９、１０１、１６８、１６９、１７２、１７３、１７４に図示された小型スクリーン表示のフォントは、そうした方法で拡大／縮小されたフォントによって全て置換されている。
【０２９８】
これらの図中のフォントは、８ピクセル／ｅｍのピクセルサイズを有している。このフォントに於ける殆どの小文字は、４ピクセルコラム又はそれ未満のアドバンス幅内に適合する。４ピクセル又はそれ未満の幅は、あるとすれば、そうした幅を有する文字の形状の間に発生する間隔を含む。これらの特別なフォントでは、ローマ字の小文字の内、８０％を越える小文字がそうしたアドバンス幅内に適合する。これらの文字は、一般に幅よりもかなり高くする、４ピクセル行以上の高さ「ｘ」を有する。一般に、そうした比較的幅の狭いフォントは、幅の広いフォントに比して、所定の可読性レベルで所定の領域内にあるより多くのテキストを表示することが出来る。
【０２９９】
数字１０６１４及び１０６１６によって表現された事項は、最小フォントサイズを制限するためにフラグが設定されているか否かを確かめるためにテストを行うが、このテストは、所定のピクセルサイズ未満で薄型クライアントの表示上に表示されるフォントは存在しないはずだということを示している。一般に、このフラグは、小さ過ぎて読むことが出来ないテキストの表示を防止するために設定される。仮想スクリーンサイズを有する表示上に実際に表示される場合、ウェブページテキストを通常、どのように表示するかということに関して、より正確な縮小表現をユーザが見たいと考える際には、それは設定されない。表示倍率が大きい、即ち、テキストサイズに対してそうした最小制限を行うことで、ウェブページのレイアウトの概観を劇的に変化させる場合、そうした要求が特に起こり易い。
【０３００】
大抵の場合、システムが最小フォントサイズを制限している場合、ステップ１０６１４及び１０６１６は、置換フォントサイズが最小ピクセルサイズ未満になることを防止する。本発明の現在の実施形態に於いて、この最小ピクセルサイズは８ピクセル／ｅｍである。本実施形態の開発者は、７ピクセル／ｅｍでのサブピクセル表示用のヒントフォントを開発し、そうしたフォントが比較的読み易いと考えたのだが、そうした小さなフォントは読み難いというフィードバックを他のユーザから受け付けた。
【０３０１】
最小フォントサイズへの制限は、多くの場合、ウェブページの様々なサイズのフォントが実際に表示される相対的なフォントのサイズを実質的に変更する。
【０３０２】
本発明の幾つかの実施形態に於いて、全てのウェブテキストは１つのフォントサイズで表示される。殆どのウェブページに於いては、実際に大きなフォントがビットマップによって表現されるので、実際にこの方法は殆どのウェブページで非常にうまくいっている。
【０３０３】
測定文字列ルーチンが呼び出されたフォントが何れのフォントファミリーとフォントサイズに置き換わるのかを、関数１０６０８が決定した時点で、その測定が非ズーム表示倍率によって拡大された後に、置換されたフォント及びフォントサイズにおける文字列の個々の文字のサイズを前提として、関数１０６１８がルーチンが呼び出された文字列の文字列測定に戻る。
【０３０４】
この値に戻ることによって、ブラウザのレイアウトエンジンは、非ズーム表示倍率、即ち、仮想スクリーンが薄型クライアントスクリーン上に表示される仮想スクリーンの解像度と実際の解像度の比率によって、それらの文字が実際に表示されるピクセルサイズに関連して、拡大／縮小される文字に対するフォントマトリクスを使用するウェブページをレイアウトする。このことは、仮想スクリーンが、そのレイアウトの結果として表示される実際のフォントマトリクスとは異なるフォントマトリクスを使用してレイアウトされていることを意味している。
【０３０５】
スクリーンキャプチャ及びダウンロードルーチンが、図１０６Ａの文字列描画ルーチン１０６２０に対する呼び出しを受信する場合、このルーチンによって関数１０６２１及び１０６２４が実行される。
【０３０６】
関数１０６２１は、文字列の描画が始まるスクリーン位置を文字列が最終的に表示される薄型クライアントスクリーン上の対応する位置に変換する。この変換は、ビューウインドウ１０２１０、及び、図１０２に図示された仮想スクリーン１０２０８との間のマッピングを考慮している。このマッピングは、制御１０２１６によって保存された現在のズーム設定と、図１０２に図示されたスクロール制御１０２１８によって保存された現在のスクロール設定の両方を反映している。
【０３０７】
関数１０６２２は、数字１０６０６乃至１０６１８に関して上述された、測定文字列ルーチンに対する以前の呼び出しによる、文字列に関連付けられた置換されたフォントファミリー及びサイズと、現在の文字列を表示するために要求された任意の他の属性とが、そうしたフォント属性に対する現在の値と異なるかどうかを確認するためにテストを行う。そうした各フォント属性に対する現在の値は、図１０２に図示されたダウンロード表示リスト１０２１２に既に記録されたフォントコマンドによって定義された、そうした各属性に対する最後の値によって決定される。そうした相違が発見される場合、関数１０６２３は、そうしたフォント属性を現在の文字列の表示に適した属性に変更する表示リストの現在の最後に、フォントコマンドを保存する。
【０３０８】
関数１０６２４は、文字列描画ルーチンが呼び出された文字列と、図１０２に図示された、ダウンロード表示リスト１０２１２の最後に、ステップ１０６２２によって計算され、変換されたスクリーン位置を保存する。図１０８に関して後述するように、文字列の変換された開始位置とその文字を含む表示リストに於ける文字列コマンドを設定することによって、これを実行する。
【０３０９】
スクリーンキャプチャ及びダウンロードルーチンが矩形描画ルーチン１０６２６に対する呼び出しを受信する場合、このルーチンによって関数１０６２８乃至１０６３４が実行される。異なる背景色を有するウェブページの領域を生成するだけでなく、テキストの下線、又は、ウェブページのレイアウトの別々の部分の間の境界として使用可能な水平及び垂直ラインを描画するために、通常、ブラウザが矩形描画コマンドを呼び出す。
【０３１０】
関数１０６２８は、呼び出しに含まれた幾何学的な値を、対応する矩形が薄型クライアントの表示上に描画される、対応する幾何学的な値に変換する。これは、矩形の開始スクリーン位置、矩形の幅、及び、矩形の高さを変換することを含む。
【０３１１】
関数１０６３０は、矩形の色が、表示リストに於ける現在（即ち、最後）の矩形色と異なるかどうかを確認するためにテストを行う。異なる場合、関数１０６３２は、現在の背景色を矩形描画ルーチンに対する現在の呼び出しに於いて指定された色に変更する表示リストの最後に背景色コマンドを追加する。
【０３１２】
次に、関数１０６３４は、矩形と、矩形の変換されたスクリーン位置、幅、高さを、矩形コマンドとともに、ダウンロード表示リストの最後に保存する。
【０３１３】
スクリーンキャプチャ及びダウンロードルーチンが、図１０６Ｂに図示されたビットマップ描画ルーチン１０６３６に対する呼び出しを受信する場合、このルーチンによって、関数１０６３８乃至１０６７０が実行される。図形、フォントの図形、バナー広告、及び、ホットゾーン及びページの他のグラフィカルユーザインターフェース（ＧＵＩ）ビットマップに関連した画像を表示するために、ブラウザはビットマップ画像ルーチンを呼び出す。
【０３１４】
幾つかの実施形態に於いて、ウェブページを表示するために必要な回線容量を低減するために、所定のアニメーションに関する第１スクリーンのみがダウンロード表示リストに取り込まれ、記録される。他の実施形態に於いては、特に、より高度な回線容量リンクに対してそうした制約を適用する必要はない。
【０３１５】
図１０６Ａ乃至１０６Ｃに関して上述された本発明の実施形態に於いては、特定のグラフィカルユーザインターフェース（ＧＵＩ）に関連付けられたビットマップ描画が無視されるが、これは、薄型クライアントのプログラムがそうした制御に対してサブピクセル最適化され、縮小されたビットマップを保存するからである。
【０３１６】
ステップ１０６３８は、ビットマップ描画ルーチンが呼び出された画像のＵＲＬが、ダウンロード表示リストにおいて参照された画像のそれぞれを含むダウンロード画像リスト（図示せず）に既に存在するかどうかを確かめるためにテストを行う。存在しない場合、要求されたビットマップは、まだ現在のダウンロードに対して処理されておらず、関数１０６４２乃至１０６６２をそれに対して実行する必要はない。
【０３１７】
関数１０６４２は、ビットマップがカラービットマップかどうかを確かめるためにテストを行う。カラービットマップの場合、関数１０６４２によって、関数１０６４４乃至１０６５４が実行される。関数１０６４４は、それぞれが単一の２色スペクトルからの色のみを含む別々の処理を正当化するために、十分なサイズの１つ又は複数の個々の領域に対してカラー画像をスキャンする。２色スペクトルは、ＲＧＢカラーキューブにおけるラインにある色一式に対応する（即ち、赤、緑、青の値によって定義されたカラーキューブは、３つの主要な次元のそれぞれに分布している）。
【０３１８】
個々の処理を正当化するには十分大きいと思われる画像の２色部分のそれぞれに対して、関数１０６４６によって、関数１０６４８及び１０６５０が実行される。関数１０６４８は、画像の現在の部分に於いて、その前景色及び背景色として、その２色スペクトルの最も極端な端部を使用し、それが画像のその部分を縮小する程度を決定するための現在の表示倍率を使用して、図４２乃至５３に関して上述した種類の２色サブピクセル最適化を実行する。下記の数段落に記載されたステップ１０６５４及び１０６５８に於いて実行されるサブピクセル最適化は、プロキシブラウザの仮想レイアウトに於ける画像の解像度と、薄型クライアントのスクリーン上に表示される解像度との比率である表示倍率によって画像を縮小する。
【０３１９】
このサブピクセル最適化が実行された後、関数１０６５０は、前景色が色彩的にあまりにもアンバランスであるかどうかを決定する。即ち、それが純粋な赤、緑、又は、青に近いということである。この場合、そうした色の純粋さによって、それがカラー画像の空間解像度を表示可能な精度が低減される。この場合、グレースケール値により似通った対応する色によって、前景色を置換することが可能であり、それ故、より正確な空間解像度を可能にする。
【０３２０】
本発明の幾つかの実施形態に於いて、そうした前景色の置換は使用されないが、これは、それによってカラー画像の色のバランスが乱されるからである。一般に、前景色がカラー画像全体のかなりの部分に現れていない限り、そうした前景色の置換を使用しない方が良い。小型フォント又は他の形状が最適化されているビットマップ画像によって表現されている場合、そうした色の置換が最もうまくいく。 本発明の他の実施形態に於いて、２色画像に関連付けられた背景色を変更することが出来る。しかし、ウェブページ上で画像の背景色を変更することは、多くの場合勧めることは出来ない。
【０３２１】
現在の画像の非２色部分のそれぞれに対して、関数１０６５２によって、ステップ１０６５４は、現在の表示倍率でビットマップのその部分に於いて、図１４乃至４１に関して上記した種類の多色サブピクセル最適化を実行する。
【０３２２】
ビットマップ描画ルーチンが呼び出されたビットマップが、グレースケールビットマップである場合、関数１０６５６によって、ステップ１０６５８は、現在の表示倍率で前景色及び背景色として黒及び白を使用するビットマップ上で、２色サブピクセル最適化を実行する。
【０３２３】
関数１０６６２は、縮小され、サブピクセル最適化されたビットマップを、固有の画像ＩＤ、そのＵＲＬ、及び、拡大／縮小された幅と高さとともに、画像リストの最後に保存する。
【０３２４】
ビットマップ描画ルーチンが呼び出された画像が予め画像リストに存在したか否かに関わらず、プログラムが関数１０６６４まで進む時までには、それはそのリストに存在し、ＩＤ番号、及び、変換された幅及び高さが割り当てられている。この時、関数１０６６４は、ビットマップ描画ルーチンが画像に対して呼び出されたスクリーン位置を、薄型クライアントのスクリーンに適用可能な位置に変換し、次に、画像の画像ＩＤ、その変換されたスクリーン位置、及び、ダウンロード表示リストの最後にあるその変換された幅及び高さを有する、図１０８に図示された種類の画像位置コマンドを保存する。
【０３２５】
本発明の幾つかの実施形態に於いて、全てのビットマップ画像は、多色サブピクセル最適化ルーチンを使用して、サブピクセル最適化されている。他の実施形態に於いては、グレースケールビットマップのみが任意の２色サブピクセル最適化処理を受ける。
【０３２６】
本発明の幾つかの実施形態に於いて、ベクトル記述によって定義された形状に対してサブピクセル最適化を実行することによって、ベクトル画像を処理することが出来る。そうした幾つかの実施形態に於いて、サブピクセル最適化がプロキシ上で実行されるが、他の実施形態に於いては、薄型クライアント上で実行される。ベクトル、又は幾何学的に定義された描画の利点の１つは、それらの記述によって画像を表現することが可能であるという簡潔さにある。このように、薄型クライアントに対する回線容量が第一の制限である場合、画像に関するベクトル記述をダウンロードし、その後、薄型クライアントにサブピクセル最適化を使用してそれらをレンダリングさせることはあり得ることである。
【０３２７】
幾つかの実施形態に於いて、画像に対して画像認識を実行し、その後、認識された画像を記号表記で薄型クライアントにダウンロードすることが可能である。例えば、多くのウェブページに於いて大きなテキストをビットマップで表示することが一般的である。そうしたビットマップ上で光学的文字認識を実行することができ、該当する文字及びそれらのフォント、又は、それらのフォントの近似が、そのページを記述するために必要な回線容量を低減するために、薄型クライアントに記号的にダウンロードされる。
【０３２８】
スクリーンキャプチャ及びダウンロードルーチンが、例えば、ラジオボタン、チェックボックス、テキストフィールド、又は、ブラウザからのボタンなど、制御オブジェクトを生成するルーチンに対する呼び出しを受信する場合、図１０６Ｃに図示された制御生成ルーチン１０６６６によって、関数１０６６７乃至１０６７０が実行される。関数１０６６７は、ブラウザが描画される制御を要求したスクリーン位置を、それが薄型クライアントのスクリーンに描画される位置に変換する。図１０８に図示されているように、関数１０６６８は、対応するテキストラベルを含むダウンロード表示リストに対応する制御生成コマンドをセットし、関数１０６７０は制御オブジェクトの対応するブラウザ側の部分を生成する。
【０３２９】
本発明の本実施形態に於いて、薄型クライアントのスクリーンに表示された制御オブジェクトの機能性は、プロキシと薄型クライアントとの間で共有されている。例えば、チェックボックスがチェックされたかどうか、どのラジオボタン一式が押下されたかどうか等の状態情報は、薄型クライアントに保存されている。これにより、ユーザが制御オブジェクトに情報を入力する度に、薄型クライアントからプロキシに通信する必要性が回避される。一般に、クライアントがそうしたサーバへの中継のために、そうした情報をプロキシに送信する必要があるのは、そうした制御に対して保存された情報が、元々ウェブページを生成したリモートサーバコンピュータに送信されることを示す、何らかのボタンをユーザがクリックする場合に限られる。
【０３３０】
薄型クライアントにリンクする、より高い回線容量を有する本発明の他の実施形態に於いて、プロキシ上で実行される個々の制御オブジェクトに関連付けられた機能性をより多く、又は、実質的に全て有することによって、薄型クライアントのコードを簡略化することが望ましい。
【０３３１】
スクリーンキャプチャ、及び、ダウンロードルーチンが、図１０６Ａの関数１０６０２によって要求されたスクリーン再描画の完了を決定する場合、図１０６Ｃの関数１０６７２によって、関数１０６７４が図１０７に図示されたダウンロード表示リストルーチン１０７００を呼び出す。
【０３３２】
図１０７に示すように、ダウンロード表示リストルーチンは、ダウンロードストリームで新たな薄型クライアントのスクリーン上に新たに全部又は一部が表示される、ダウンロード表示リストに全ての要素をセットする関数１０７０２を含んでいる。通常、これは、現在のビューウインドウ内で発生するブラウザの仮想スクリーンに於ける任意の要素を含んでいる。しかしながら、以下で説明するように、薄型クライアントのスクリーン上で先のビットマップのかなりの部分を再利用可能なスクロールの場合に於いては、薄型クライアントスクリーンの現在のビットマップの再利用可能な部分に存在しないビューウインドウの部分に於いて、少なくとも部分的に発生する要素のみがダウンロードストリームにセットされる。
【０３３３】
本発明の多くの実施形態に於いて、ダウンロード表示リストを生成する図１０６Ａ乃至１０６Ｃの関数は、それがビューウインドウ内に適合しない場合、ダウンロード表示リスト上の要素を入力しない。他の実施形態に於いて、このフィルタリングは関数１０７０２に於いて行われる。
【０３３４】
本発明の多くの実施形態に於いて、薄型クライアントスクリーン内に実際に適合するそうした要素の部分のみをダウンロードするために、ダウンロードされる要素が切り取られる。これは、ダウンロードに必要なビット数を低減するという利点を有するが、演算の複雑化を招く。
【０３３５】
薄型クライアントスクリーン上に表示されるダウンロード表示リスト上の全ての要素がダウンロードストリームにセットされた時点で、図１０８に於ける数字項目１０８１８によって示されているように、関数１０７０４は、ダウンロードストリームに於ける対応する画像位置コマンドを有する全ての画像のビットマップを、ダウンロードストリームの最後に設置する。そうしたビットマップをダウンロードストリームの最後にセットする前に、本発明の幾つかの実施形態はそれらに非可逆圧縮を実行する。幾つかの実施形態に於いて、使用されるアルゴリズムは、緑の色値の差異が赤の色値の差異に比してより知覚可能であり、赤の色値の差異が青の色値の差異に比してより知覚可能である事実を考慮したメトリックを使用し、画像中の色値を、ＲＧＢ色値に於ける視覚的に知覚不能な差異を有する色のクラスタに集合させるアルゴリズムである。
【０３３６】
次に関数１０７０５は、可逆圧縮アルゴリズムを使用して、非可逆アルゴリズムによって以前圧縮された画像を含むダウンロードストリームを圧縮する。この目的のために、標準的な従来技術の可逆圧縮アルゴリズムを使用することが出来る。
【０３３７】
図１０８は、そうしたダウンロード表示ストリームに関する概略図である。幾つかの実施形態に於いて、そうしたストリームは実際にはマークアップ言語を使用して表現される。
【０３３８】
図１０８に図示されたフォントコマンド１０８１２は、図１０６Ａの関数１０６２３による表示リストに記録されたフォントコマンドを表している。
【０３３９】
図１０８の文字列コマンド１０８１４は、図１０６Ａのステップ１０６２４によるダウンロード表示リストに記録されたコマンドを表している。
【０３４０】
図１０８の背景色コマンド１０８０６は、図１０６Ａに図示された関数１０６３２によって入力された背景色コマンドを表している。
【０３４１】
図１０８の矩形コマンド１０８０８は、図１０６Ａの関数１０６３４によって保存された矩形情報を表している。
【０３４２】
図１０８に図示された画像位置コマンド１０８１０は、図１０６Ｂの関数１０６６４によって記録された画像位置コマンドを表している。
【０３４３】
図１０８の制御コマンド１０８１６は、図１０６Ｃの関数１０６６８によってダウンロード表示リストにセットされた制御コマンドを表している。
【０３４４】
ここで図１０７を再び参照すると、ダウンロードストリームに対する全ての要素が選択され、送信する準備が完了する時点で、関数１０７０６は、ブラウザコンピュータと薄型クライアントとの間のソケット接続を開き、次に、関数１０７０８は、薄型クライアントに、ダウンロードストリームの表示リスト情報を送信する。次に、薄型クライアントは、図１０９Ａ乃至１０９Ｃに関して以下で詳細に記載するように、情報を表示する。
【０３４５】
ここで図１０６Ｃを再び参照すると、関数１０６７４に於けるダウンロード表示リストルーチンへの呼び出しが完了する時点で、関数１０６７６は表示リストをクリアし、薄型クライアントにダウンロードされる次のスクリーンに対して、新たな表示リストを生成することが可能である。
【０３４６】
ここで図１０５Ａを再び参照すると、同図に図示された関数１０５１０によって呼び出されたスクリーンキャプチャ及びダウンロードルーチンの完了については今説明した通りである。
【０３４７】
図１０５Ａに図示されているように、ブラウザのプロキシコードが、薄型クライアントのスクリーン上に表示された１つ又は複数の制御オブジェクトの状態に関してブラウザコードの他の部分からクエリを受信する場合、関数１０５１４によって、関数１０５１６及び１０５１８が実行される。関数１０５１６は、その一つ又は複数の制御オブジェクトの状態に関して、薄型クライアントにクエリを送信する。そうした状態情報を薄型クライアントから受信する場合、関数１０５１８は、そうした状態情報に対する要求を行ったプログラムにそれを戻す。
【０３４８】
図１０６Ｃの関数１０６６６乃至１０６７０に関して上述したように、本発明のこの実施形態は、そうした制御が表示されるウェブページのウェブサイトに送信されたそうした状態情報を有する選択を行う前に、ユーザが情報を変更するので、通信回線容量を低減するために、例えばラジオボタン、チェックボックス、及びテキスト入力フィールドなど、個々の制御オブジェクトに関する状態情報について実際にクライアントに描画及び保存をさせる。一般に、ユーザが送信ボタンをクリックする場合、関連するクリックイベントがプロキシコンピュータまで送信され、それによりスクリーン座標が仮想レイアウトスクリーン上に於ける対応する座標に変換され、次に、仮想スクリーン解像度を有し、ブラウザが表示していると見なすスクリーン上であたかもクリックイベントが生成されているかのように、そのクリックイベントに対応するためのブラウザコードに対して、ブラウザのイベント待ち行列にそれがセットされる。これが実行される時点で、ブラウザコードは従来、現在のウェブページの全ての制御オブジェクトに関する状態を要求し、これにより、現在のウェブページが由来するウェブサーバに情報が戻ることを知らせることが出来る。関数１０５１４乃至１０５１８の操作を引き起こすのは、そうした要求である。
【０３４９】
ブラウザのプロキシコードがスクロール又は移動コマンドを薄型クライアントから受信する場合、関数１０５２０によって、図１０５Ａの関数１０５２２乃至１０５３４が実行される。
【０３５０】
関数１０５２２は、スクロール又は移動に対応して、図１０２に図示されたビューウインドウ１０２１０をブラウザのレイアウト１０２０６に関連して移動させる。次に、関数１０５２６は、移動前にビューウインドウに存在したビューウインドウの任意のかなりの部分が、移動後に未だビューウインドウに存在するかどうかを確認するためにテストを行う。かなりの部分がビューウインドウに存在する場合、このことは、薄型ブラウザスクリーン上に現在表示されているビットマップの実質的な部分が、要求されたスクロール又は移動の実行後に、表示に於いて再利用可能であることを意味する。この場合、関数１０５２８は、図１０８に於けるダウンロードストリームの最上部付近に図示されたスクロールコマンド１０８０４を、スクロールされたスクリーンに対して生成される新しい表示リストの開始位置にセットする。そうしたスクロールコマンドは、薄型クライアントの画面の以前のスクリーンビットマップのどの部分を再利用するかを示すＸＹシフト値を含んでいる。
【０３５１】
図１０８に於いて、クリアコマンド１０８０２及びスクロールコマンド１０８０４は、ダウンロードストリームの開始位置に図示されており、これにより、両コマンドを説明することが出来る。本実施形態に於いて、２つのコマンドの内、クリアコマンド又はスクロールコマンドの一つだけが所定のダウンロードストリームを開始し、クリアコマンドは、薄型クライアントのスクリーンが全体的に再描画される場合に使用され、スクロールコマンドは、薄型クライアントの先のビットマップの部分が新しいスクリーンで再利用するためにシフトされる場合に使用される。
【０３５２】
以前ダウンロード及び描画が実行され、スクロールコマンドを使用可能となる、スクリーン表示の実質的な部分を再利用することによって位置を比較的小さく変更することを含むスクロールに於いて、薄型クライアントにダウンロードされるデータ量を実質的に低減することが出来る。例えば、本出願の出願時点に於いて一般的な、比較的低速度のデジタル携帯電話リンクを介してブラウザと薄型クライアントが通信する状況など、特に、ブラウザと薄型クライアント間の回線容量が制限されている状況に於いて、これは、スクロールされたスクリーンが薄型クライアント上に表示可能な割合を実質的に向上させることが出来る。
【０３５３】
スクロールコマンド又は移動コマンドの結果生じる移動されたビューウインドウが、図１０２に概略的に図示された、仮想スクリーン１０２０６に現在存在しないウェブページのレイアウトの部分を含む場合、図１０５Ａの関数１０５３０によって、関数１０５３２及び１０５３４が実行される。関数１０５３２は、ビューウインドウの全てがブラウザの仮想スクリーン内に含まれるように、ブラウザの仮想スクリーンをスクロールさせ、次に、関数１０５３４が新たに移動された仮想スクリーンに対して、ブラウザからの再描画を要求する。この描画が完了する時点で、関数１０５０６及び１０５１０は、図１０６Ａ乃至１０６Ｃに関して上述されているように、新たに描画された要素を取り込み、描画する。
【０３５４】
ブラウザのプロキシが薄型クライアントからズームコマンドを受信する場合、図１０５Ａの関数１０５３６によって、関数１０５３８乃至１０５５２が実行される。
【０３５５】
関数１０５３８は、ズーム変更に従って表示倍率を変更する。
【０３５６】
関数１０５４０は、選択されたズームに従って、ビューウインドウをブラウザの仮想ウインドウに関連して拡大／縮小する。
【０３５７】
関数１０５４２は、拡大／縮小されたビューウインドウが仮想スクリーン内に現在含まれていないウェブページのレイアウトの部分を含むかどうかを確かめるためにチェックを行う。ウェブページのレイアウト部分を含む場合、関数１０５４２によって、関数１０５４４が仮想スクリーンをスクロールする、又は、縮尺ビューウインドウを仮想スクリーン内に適合させるために解像度を変更する。
【０３５８】
仮想スクリーンをスクロールすることによって、新しいビューウインドウが仮想スクリーンに適合することが出来る場合、ウェブページを再びレイアウトする必要がなく、仮想スクリーン内にある異なる場所を表示すること、及び／又は、異なる倍率で仮想スクリーン表示することによって、ズーム前に存在した同一レイアウトを表示するために、ズームを使用することが出来る。しかし、ズームが、図１０５Ａに図示された実施形態に於いて、ビューウインドウを仮想スクリーンサイズに比して大きくするズームアウトである場合、プロキシブラウザはクライアント上に表示されたビューウインドウの任意の部分に供給された任意の入力を、それがあたかもプロキシブラウザの仮想スクリーン上の対応する位置で発生したかのように処理することが出来るように、ビューウインドウが仮想スクリーン内に完全に適合可能な新たな仮想スクリーンサイズで、ウェブページを表示することが必要となる。記載されている実施形態に於いて、新しい仮想スクリーン解像度が先のレイアウトに於いて使用されたレイアウト解像度に比して大きい場合、これによりウェブページは新しいレイアウトで表示され、異なる位置で改行させることが出来る
例えば、プロキシブラウザがパッチを適用されるというよりは、ズームされた表示をサポートするために設計された実施形態、レイアウト全体のダウンロードに関連してクライアントが直接ズームを行う図１１５に関して上述された実施形態など、本発明に関する他の実施形態に於いて、極端なズームアウトはウェブページの再レイアウトを必要としない。
【０３５９】
最後に、関数１０５５２は、スクリーン再描画を呼び出す。これにより、スクリーンキャプチャ及びダウンロードルーチンが、新しいズーム倍率で現在のビューウインドウの再描画を取得し、対応する表示情報を薄型クライアントにダウンロードするので、新しいズーム設定でウェブページを表示することが出来る。
【０３６０】
図１０５Ｂに示されているように、ブラウザのプロキシが薄型クライアントから仮想解像度変更コマンドを受信する場合、関数１０５５４によって、関数１０５５６乃至１０５６０が実行される。関数１０５５６は、図１０２に図示された仮想解像度制御１０２１４に保存されたブラウザの仮想スクリーン解像度を要求された解像度に変更する。次に、ステップ１０５６０は、スクリーン再描画を要求する。これは、ブラウザが新しい仮想スクリーン解像度で現在のウェブページを再びレイアウトし、ビューウインドウが薄型クライアントスクリーン上に有するピクセル数に対する、ビューウインドウが仮想スクリーンに有するピクセル数の比率に対応する表示の倍率で、仮想スクリーンの全てを再描画するからである。
【０３６１】
仮想解像度に於けるそうした変更によって、そうしたレイアウト内の画像及びテキストのサイズに関連してレイアウトが実行されるサイズを変更する。ユーザが、サイズに於けるそうした変更をキャンセルする仮想スクリーンに関連して、ビューウインドウの相対的なサイズに於ける変更をユーザが行わない限り、相対的なレイアウトサイズに於けるそうした変更によって、スクリーン上に表示される画像及びテキストのサイズを変更する。相対的なビューウインドウサイズに於けるそうした補償的な変更がない場合、仮想解像度を低減することによって、画像及びテキストがスクリーン上に表示されるサイズを大きくし、テキストラインのより多くをより大きなテキストサイズで一度にスクリーン上に適合させるように、それらに表示されたフォントのサイズに関連して、テキストラインをより短くする傾向がある。それ故、ある特定の種類のズーム機能をウェブページの表示に供給するために、仮想レイアウトサイズに於ける変更を使用することが出来る。
【０３６２】
発明者は、倍率２でレイアウトを縮小することを含む、典型的なＰＤＡのサイズである３２０×２４０スクリーン上にウェブページを表示する際に、６４０×４８０の仮想スクリーンを使用して、極めて良好な可読性を供給することが出来るということを発見した。しかしながら、より大きな解像度表示に対して表示された場合に、ウェブページがどのように見えるかをユーザが見ることが出来るようにするためには、可読性が犠牲になるとしても、例えば、ＰＤＡサイズの３２０×２４０画面上に８００×６００の仮想スクリーン解像度を表示する場合など、ウェブページをさらに低減された縮尺で表示することに本発明を利用することが出来る。言うまでもなく、ページのレイアウトは、結果的に生じるフォントサイズに於ける相対的な増大のために、そうした解像度で表示するために元々意図したレイアウトとは全く異なるが、最小フォントサイズが制限されることをユーザが選択する場合、図１０６Ａの関数１０６１４に関して上述されたように、より大きな仮想解像度を有するテキストでさえ、読み取り可能なフォントで表示される。
【０３６３】
図１０５Ｂの関数１０５６２によって示されているように、ブラウザのプロキシコードが、薄型クライアントのスクリーン上でのクリックに関連して薄型クライアントから他のユーザ入力を受信する場合、関数１０５６４は、仮想スクリーン上の対応する位置に対するクリックに関連して、薄型クライアントスクリーンの位置を変換し、殆どのブラウザのコードが、それがレイアウトしていると見なす仮想スクリーン上でユーザが実際にクリックしたかのように、ブラウザがイベントに対応することが出来るように、関数１０５６６はこのイベントをブラウザのイベント待ち行列に中継する。
【０３６４】
これが、ウェブリンクがテキストリンクであろうと画像リンクであろうと、薄型クライアント上に表示されたウェブページ上のウェブリンクを選択するために、プロキシ上のブラウザが薄型クライアントのユーザからの入力に対応する方法である。例えば、ユーザが薄型クライアントスクリーン上に表示されたリンクをクリックする場合、それが表示していると見なす仮想スクリーンに於ける同一リンクをユーザがクリックしたかのように動作するプロキシ上のブラウザに対応するクリックが中継される。次に、プロキシのブラウザは、リンクに対応してインターネットを介してＨＴＴＰ要求を発することによって対応する。そのリンクに対応するウェブページが受信される場合、ブラウザはそれを仮想画面上にレイアウトし、表示しようとし、これによって、図１０５Ａの関数１０５０６及び１０５１０が、ビューウインドウに対応するレイアウトのその部分に含まれた情報を取り込み、そのスクリーン上に表示するために薄型クライアントにそれをダウンロードさせる。その結果、薄型クライアントのユーザは、通常のブラウズコンピュータのユーザと略同一の方法で、ウェブをブラウズすることができる。
【０３６５】
図１０９Ａ乃至１０９Ｃは、薄型クライアントコンピュータのユーザがそのスクリーンを使用して、ワールドワイドウェブ（ＷＷＷ）をブラウズ出来るように、プロキシブラウザに関連して動作するのに役立つように設計された、薄型クライアントコンピュータ上に於けるコード１０９００に関する高度に簡略化された擬似コード表記である。
【０３６６】
図１０９Ａの関数１０９０２は、図１０７の関数１０７０８によって薄型クライアントに送信されたダウンロードストリームの全て又は最初の部分の受信に対応する。関数１０９０２は、受信される順番でそのストリームに含まれた、図１０８に図示された種類の個々のコマンドへの対応を開始することにより、このような対応を行う。ダウンロードストリームが完全に受信されるまで、新しいスクリーンの描画作業を遅延する必要がないように、関数１０９０２は、１つ又は複数のコマンドが受信され次第、これを開始する。ダウンロードストリームに含まれた各種異なるコマンドへの対応については、図１０９Ａ乃至１０９Ｂに於いて数字１０９０４乃至１０９５６が付与された関数によって示されている。
【０３６７】
関数１０９０４及び１０９０６によって示されているように、薄型クライアントがダウンロードストリームに於けるクリアコマンドを読み取る場合、例えば、全体的に白の値に設定されることによって、スクリーン上に表示されたビットマップがクリアされる。
【０３６８】
薄型クライアントが、ダウンロードストリームに於けるスクロールコマンドを読み取る場合、関数１０９０８によって、関数１０９１０及び１０９１２が実行される。関数１０９１０は、コマンドに含まれたＸＹシフト値によって示されたスクリーン上の新しい位置へのスクロールコマンドに於いて指定されたスクロールの後で再利用される薄型クライアントスクリーンのビットマップの一部をコピーする。そして、関数１０９１２は、スクリーンの残りの部分をクリアする。
【０３６９】
薄型クライアントが、ダウンロードストリームに於ける背景色コマンドを読み取る場合、関数１０９１４及び１０９１６は、現在の矩形背景色変数を、コマンドで指定された色に設定する。これにより、背景色の値が変更されるまで、矩形コマンドに対応して薄型クライアントによって描画された全ての矩形は、その特定の色値を有する。
【０３７０】
薄型クライアントがダウンロードストリームに於ける矩形コマンドを読み取る場合、関数１０９１８及び１０９２０は、現在の背景色を使用し、コマンドに於いて指定されたスクリーン位置、幅、及び、高さを有する矩形を描画する。
【０３７１】
薄型クライアントが画像位置コマンドを読み取る場合、関数１０９２２及び１０９２３はこの時点で何も実行しない。これは、通常、そうした画像位置コマンドに於いて参照された画像を描画するために必要なビットマップが、そうした場合に受信されていないからである。他の実施形態に於いて、ブラウザは矩形描画コマンドを画像に関連付け、これにより、画像に関連付けられたブラウザスクリーンの一部が、ビットマップ画像の表示位置を示す画像上に描画された矩形を有することになる。
【０３７２】
薄型クライアントがフォントコマンドを読み取る場合、関数１０９２４及び１０９２６は、フォントコマンドに記載された全てのフォント属性を、そのコマンドに於けるそれらの属性に対して記載された値に設定する。
【０３７３】
本発明の異なる実施形態に於いて、異なるフォント属性を使用することが出来る。少なくとも、フォントファミリー、フォントサイズ、及び、フォントの前景色が、フォント属性でサポートされることが好ましい。
【０３７４】
薄型クライアントがダウンロードストリームに於ける文字列コマンドを読み取る場合、関数１０９２８によって、関数１０９３０乃至１０９４０が実行される。
【０３７５】
関数１０９３０は、薄型クライアントがフォントビットマップキャッシュに於いて、現在のフォント属性値によって指定された現在のサイズ及びフォントファミリーに於ける現在の文字列の各文字に対するビットマップを有するかどうかを確認するためにテストを行う。このビットマップを有していない場合、関数１０９３２乃至１０９３６が実行される。
【０３７６】
関数１０９３２は、図２に関して上述したフォントサーバ１３４に、クライアントのインターネット接続を介してＨＴＴＰ要求を送信する。要求されたフォントがフォントサーバから受信される場合、関数１０９３４及び１０９３６は、それを薄型クライアントのフォントビットマップキャッシュにセットする。
【０３７７】
注目すべきは、本発明の幾つかの実施形態では、関数１０９３０及び１０９３６を使用する必要がないように、薄型クライアントブラウザソフトウェアの一部として、永続的にフォントビットマップを十分に保存することである。他の実施形態に於いては、図１０９Ａに図示された例に於けるフォントビットマップに図示されているように、サブピクセル最適化フォントアウトラインは、薄型クライアントによって永続的に保存されるか、必要に応じて要求される。
【０３７８】
薄型クライアントが現在の文字列をレンダリングするために必要なフォントビットマップの全てを有する場合、関数１０９３８及び１０９４０は、前景色を含む現在のフォント属性値を使用して、文字列を指定されたスクリーン位置でスクリーン上に描画する。現在の実施形態に於いて、フォントビットマップは、図６０、９６、９７に関して上述された種類のアルファ値ビットマップとして表される。そのように実行する場合、文字列が描画されるスクリーンビットマップの一部から、背景色が抽出される。
【０３７９】
幾つかの実施形態に於いて、演算を低減するために、文字列が描画されるスクリーンの部分の色値は、比較的少ない数のポイントでサンプリングされ、これらのサンプリングされた色値の平均値は、図９７に関して上述しているように、文字列表示全体に対する背景色として使用される。
【０３８０】
記載されている実施形態に於いて、ダウンロードストリームに含まれる文字列の全ては、単一のラインテキスト文字列であり、これらの多くがプロキシブラウザのレイアウトエンジンによるライン境界を越えた連続テキストのラッピングから生じている。結果として、この実施形態では、薄型クライアントがそうしたテキストの任意のラッピングを実行する必要はない。
【０３８１】
関数１０９４０は、文字列のビットマップ画像を、文字列の文字に対応する別々の複数のフォントビットマップで構成することによって描画する。通常、そうした構成では、各種別々の文字は、異なる別々のフォントビットマップによって表される。
【０３８２】
異なるフォントサイズ（例えば表示倍率に於ける変化によって生じた異なるフォントサイズ）でのそうした構成に於いて使用されたフォントは、そうした各フォントサイズで可読性を向上させるために選択された各文字の形状及びピクセル配列を有している。殆どの実施形態に於いて、ビットマップのピクシレーションを用いて文字形状の配列を改善するために、フォントビットマップに関連して、文字の形状及び位置を選択することによって、こうした改善された可読性を実現する。そのような形状及びピクセル配列は、１０ピクセル／ｅｍ又はそれ未満のフォントビットマップを扱う場合に特に重要であるが、８ピクセル／ｅｍ又はそれ未満では、さらに重要である。これは、フォントビットマップのより粗いピクシレーションのために、フォントビットマップが小さくなるにつれて読み難くなるからであり、それ故、フォントビットマップがそうしたピクシレーションに適合するために選択された文字の形状及び配置を有することがより一層重要になる。
【０３８３】
本発明の多くの実施形態に於いて、より小さな縮尺のステップ１０９４０によって使用されたフォントビットマップは、ピクセル内で発生するカラーアンバランスのみが分配される、上述の種類の非線形カラーバランスによって生成されたサブピクセル最適化されたビットマップである。そうしたサブピクセル最適化が、それらの粗いビットマップピクシレーションにうまく適合するように、適切に形成され、配置されたアウトラインに組み合わされる場合、描画された結果として生じるビットマップは、それらの小さなピクセルサイズを考慮すると、極めて読み易い。本発明の他の実施形態に於いて、そうした小さなピクセルサイズでの可読性を改善するために形成され、位置されたアウトラインを同様に有する非サブピクセル最適化されたアンチエイリアスフォントが使用される。
【０３８４】
ここで図１０９Ｂを参照すると、薄型クライアントがダウンロードストリームからの制御コマンドを読み取る場合、関数１０９４２によって関数１０９４４乃至１０９４８が実行される。関数１０９４４は、現在の制御コマンドに於いて指定された制御ＩＤに対応するデータ、又は、プログラムオブジェクトを既に生成しているかどうかを確認するためにテストを行う。生成していない場合、関数１０９４６は、制御コマンドに於いて指定された種類のデータ又はプログラムオブジェクトを生成し、それをそのコマンドで指定された制御ＩＤに関連付ける。
【０３８５】
次に、ステップ１０９４８は、指定された種類の制御オブジェクトのサブピクセル最適化されたビットマップを、制御コマンドに於いて指定された位置に於いて、薄型クライアントのスクリーン上に描画する。次に、ステップ１０９４８は、サブピクセル最適化されたフォントを使用して、制御オブジェクトのビットマップ上に、制御に関連付けられたテキストを描画する。次に、ステップ１０９４８は、制御のビットマップに対応する表示スクリーン位置を有するホットゾーンを、薄型クライアント上で制御を表すデータオブジェクト又はプログラムオブジェクトと関連付ける。
【０３８６】
薄型クライアントがダウンロードストリームからの画像コマンドを読み取る場合、関数１０９５０によって、関数１０９５２乃至１０９５６が実行される。
【０３８７】
関数１０９５２は、現在の画像コマンドと同一の画像ＩＤを有する画像位置コマンドが発生する毎に、現在の表示ストリームをスキャンする。そうした各画像位置コマンドに対して、関数１０９５２によって、関数１０９５４は薄型クライアントのスクリーン上の画像位置コマンドで指定された位置にビットマップを描画する。全ての薄型クライアントの描画関数と同様に、薄型クライアントスクリーン上に適合しない画像の任意の部分は、そうした描画操作に於いて切り取られる。
【０３８８】
次に、関数１０９５６は、これらの描画された任意のビットマップと同一位置で発生する表示リストに於ける、他の全てのアイテムを再描画する。これが必要なのは、ウェブページがテキストを画像の最上部にセットすることが一般的であり、それ故、ビットマップ画像と同一位置に表示されるはずの任意の文字列は、これらの画像が描画された後で再描画されることが望ましい。本発明の一実施形態に於いて、薄型クライアントは、そのリストに於ける最初の画像位置コマンドの後に発生する、ダウンロードストリームの表示リストの全ての非画像要素を単に再描画する。
【０３８９】
図１１０に図示されているように、テキスト入力フィールドに関連付けられたホットゾーン上でユーザがクリックする場合、図１０９Ｂの関数１０９５８及び１０９６０によって、関数１０９６２乃至１０９７８で構成されるキーボードルーチンが実行される。
【０３９０】
関数１０９６２は、図１１１に図示されているように、薄型クライアントのスクリーン上に、ポップアップユーザキーボード１１１０２、及び、テキスト編集フィールド１１１０４を表示する。次に、ユーザがポップアップキーボードの「Ｅｎｔｅｒ（入力）」キーを押下するまで、ループ１０９６４が実行される。このループ中に、ユーザがテキスト文字を打ち込む度に、関数１０９６６によって、関数１０９６８は文字に関するサブピクセル最適化テキストビットマップをポップアップキーボードのテキスト編集ライン上の現在のカーソル位置にセットし、カーソルのビットマップを新たに描画された文字の後ろの位置に移動させる。そして、関数１０９７０は、ポップアップキーボードのプログラムに関連付けられた一時的なテキスト編集文字列に打ち込まれた文字を追加する。
【０３９１】
ユーザがポップアップキーボードの「Ｅｎｔｅｒ（入力）」キーを押下する場合、関数１０９７２によって、関数１０９７４乃至１０９７８が実行される。関数１０９７４は、ポップアップキーボードが引き起こされるテキスト編集制御に於けるポップアップキーボードに関連付けられた、一時的なテキスト編集文字列の値を保存する。関数１０９７６は、サブピクセル最適化ビットマップを使用して、図１１２に示されるように、薄型クライアントのスクリーン上の制御オブジェクトのテキスト入力フィールド１１０００のビットマップに、テキスト編集文字列の文字を描画する。
【０３９２】
次に、関数１０９７８は、ポップアップキーボードの上に、ポップアップキーボードが描画される前にスクリーン上に表示されたビットマップを描画することによって、薄型クライアントのスクリーンからポップアップキーボードを取り除く。
【０３９３】
図１１３は、ポップアップキーボードルーチンをテキスト入力フィールドにテキストを入力する以外の目的で使用することが出来ることを図示している。図１０９Ａ乃至１０９Ｃの擬似コードに表示されていないが、ポップアップキーボードは、薄型クライアントに表示されたユーザが見たいと考えているウェブページのＵＲＬを入力するために使用することも出来る。
【０３９４】
ボタンバー又はツールバーをグラフィカルユーザインターフェース（ＧＵＩ）の最上部に有する本発明の一実施形態を図示しているという点を除いて、図１１４は実質的に図１１３と同一である。このボタンバーは、その左端に、一般的にウェブブラウザで見られる種類の「Ｂａｃｋ（戻る）」ボタン及び「Ｆｏｗａｒｄ（進む）」ボタンを有している。またそれは、こちらも一般的にウェブブラウザで見られるボタンであるが、リフレッシュボタン、ブックマークボタン、及び、ヒストリーボタンにそれぞれ対応する「Ｒ」、「Ｂ」、「Ｈ」でラベル付けされたボタンを有している。また、ボタンバーは、クリックされた場合に図１１４に図示されたポップアップキーボードが現れるＵＲＬテキスト入力フィールドを有する。ポップアップキーボードが表示されていない場合、このテキスト入力フィールドは、薄型クライアントのスクリーン上に表示された現在のウェブページのＵＲＬを表示する。本発明の一実施形態に於いて、ユーザは、ハードウェアのボタンを押下することによって、そうしたツールバーの表示、非表示を選択することが出来る。この実施形態に於いて、そのようなツールバーが表示されていないとしても、ユーザは、例えばバックコマンドやフォーワードコマンドなど、より一般的なウェブブラウズ機能の幾つかを呼び出すために、ハードウェアボタンを使用することが出来る。
【０３９５】
本発明の他の実施形態に於いて、そうしたグラフィカルユーザインターフェース（ＧＵＩ）のツールバーもまた、ウェブページの表示のズーム、及び／又は、相対的なレイアウトサイズ（即ち、仮想レイアウト解像度）を含む、ブラウザの他の機能にユーザがアクセスすることが可能なボタン又はメニューを有することが好ましい。
【０３９６】
ここで図１０９Ｂを再び参照すると、ユーザが、ボタン又はメニューアイテム制御のホットゾーン上でクリックする場合、関数１０９８０によって関数１０９８１及び１０９８２が実行される。
【０３９７】
関数１０９８１は、ボタン又はメニューアイテムの外見を適切に変更する。ボタンの場合であれば、ボタンに関連付けられたビットマップがボタンが、押下されていることを示すために再描画される。メニューアイテムの場合であれば、最終的な選択がなされたか否かに応じて、サブメニューが表示されるか、又は、メニューアイテムの表示が取り除かれる。
【０３９８】
メニューアイテムの場合に於いて、最終的な選択が成された場合、又は、ボタンが押下され、解除された場合、関数１０９８２は、ボタンの制御ＩＤ又はメニューアイテムの制御ＩＤ、及び、それが選択されたという指示をブラウザに送信し、ブラウザはブラウザ上の対応するボタン又はメニューアイテムの制御オブジェクトをあたかも押下されたように動作させることによって対応する。
【０３９９】
ユーザが、他の種類の薄型クライアント制御に関連付けられたホットゾーン上でクリックする場合、関数１０９８３は、これに応じて、薄型クライアントの表示上の制御のビットマップの外見を変更する。例えば、チェックボックスの場合であれば、スクリーン上の制御の表示にチェックが表示されるか、又は、表示から取り除かれる。次に、ステップ１０９８５は、制御オブジェクトに対応して、対応する状態変更を保存する。上述したように、記載の実施形態に於いて、通信の要求を低減するために、ブラウザがそうした情報を要求するまでは、そうした制御オブジェクトの状態は、ブラウザに伝達されない。
【０４００】
クライアントプログラム、又は、コンピュータの制御インターフェースに関連付けられていない薄型クライアントのスクリーンの他の部分上でユーザがクリックする場合、関数１０９８６及び１０９８７は、クリックが発生したスクリーン位置に加えて、そのクリックに関連するイベントを、プロキシブラウザに送信する。図１０５Ｂの関数１０５６２乃至１０５５６に関して上述されたように、ブラウザは、そうしたクリックの位置を仮想スクリーン上の対応する位置に変換し、仮想スクリーンの解像度で、それが描画しているとブラウザが見なすスクリーン上で、クリックがあたかも発生したかのように、そうしたクリックに対応する。幾つかの実施形態に於いて、通信の要求をさらに低減するために、他のクリックが、プロキシのブラウザが対応することになっているユーザ入力に一致すると考える根拠を薄型クライアントが有する場合に限り、薄型クライアントはそうした他のクリックをブラウザに報告する。
【０４０１】
ここで図１０９Ｃを再び参照すると、薄型クライアントが、一つ又は複数の制御オブジェクトの状態を要求するプロキシブラウザからのクエリを受信する場合、関数１０９８８によって、関数１０９８９は薄型クライアント上の対応する制御の状態を問い合わせ、関数１０９０９は、そうした状態情報をプロキシブラウザに送信する。図１０５Ａの関数１０５１８に関して上記されたように、次にプロキシブラウザは、あたかもその情報が、仮想スクリーンに関連した対応する制御オブジェクトの現在の状態の一部であるかのように、それを要求したブラウザの部分に、そうした要求された情報を返す。
【０４０２】
薄型クライアントのユーザが、そのスクリーンをスクロールするためにコマンドを入力する場合、関数１０９９１及び１０９９２は、そのスクロールコマンドをプロキシにアップロードする。これによって、図１０５Ａに関して上記された関数１０５２０乃至１０５３４は、新たにスクロールされた位置に、現在のウェブページを表示するために、新しいダウンロードストリームを生成し、ダウンロードする。
【０４０３】
ユーザが、薄型クライアント上に表示された画像のズーム（即ち、縮尺）を変更するためにコマンドを入力する場合、関数１０９９３及び１０９９４は、対応するズームコマンドをプロキシにアップロードする。これによって、図１０５Ａに関して上述された関数１０５３６及び１０５５２は、新しいズーム設定で現在のウェブページを表示するために、薄型クライアントにダウンロードされた新しいダウンロードストリームをもたらす。
【０４０４】
ユーザが薄型クライアントの表示に関する仮想解像度を変更するためにコマンドを入力する場合、即ち、プロキシブラウザ上の仮想スクリーンがレイアウトされる解像度を変更する場合、関数１０９９５及び１０９９６は、選択された仮想解像度をプロキシにアップロードする。これにより、図１０５Ｂに関して上述された関数１０５５４乃至１０５６０は、プロキシブラウザの仮想スクリーン解像度を変更し、新しい解像度で仮想スクリーンを再びレイアウトし、対応するダウンロードストリームを薄型クラインアントに送信するので、それは、ウインドウに対応する仮想スクリーンの一部を現在のズーム設定で薄型クライアントスクリーン上に表示することが出来る。仮想解像度に於ける変更は、仮想レイアウトの幅に関連して、例えばテキスト及びイメージ等のレイアウト要素の相対的なサイズを変更する傾向があるので、本明細書中では、仮想解像度は相対的なレイアウトサイズとして言及される場合がある。
【０４０５】
図１０９Ｃの最下部に図示されているように、ユーザが薄型クライアントの制御グラフィカルユーザインターフェース（ＧＵＩ）に関連付けられた他のコマンドを入力する場合、関数１０９９７によって、省略記号１０９９９によって示された、これに対する適切な応答が実行される。そのような他の関数は、ブックマークの選択、ブックマークされたウェブページへのアクセス、Ｂａｃｋ（戻る）及びＦｏｗａｒｄ（進む）機能、ブラウザのユーザインターフェースの一部となり得る任意の他の関数を含む。物理的なボタンの使用、又は、薄型クライアントコンピュータへの他の物理的入力、例えばボタン、メニューアイテム、又は、ダイアログボックス制御などのグラフィックオブジェクトの選択、又は、仮想のその他任意の周知のグラフィカルユーザインターフェース（ＧＵＩ）技術によって、そうした要求を選択することが出来る。
【０４０６】
図１１５乃至１１７は、薄型クライアントがプロキシサーバを介してウェブをブラウズ可能にする代替方法に関する。この実施形態に於いて、図１１７に図示されているように、プロキシコンピュータによって生成されたウェブページの全体的なレイアウト１０２０６は、薄型クライアントによってダウンロードされキャッシュされる。後述するように、これにより薄型クライアントは実質的により速くレイアウト内をスクロールすることが出来るのであるが、これにより、薄型クライアントが視認される各ウェブページに対してレイアウト全体及び全画像をダウンロードしようとするので、ダウンロードされる総ビット数を増加させる可能性がある。
【０４０７】
図１１５は、そうしたページレイアウトキャッシュスキームで使用可能なプロキシブラウザコード１１５００の一部を図示している。
【０４０８】
本発明のこの実施形態に於いて、プロキシブラウザは薄型クライアントからウェブページに対する要求を受信する場合、関数１１５０２によって関数１１５０４乃至１１５２４が実行される。
【０４０９】
図１１５の関数１１５０２に関連付けられた擬似コードによって図示されているように、この特別なウェブキャッシングに関する実施形態に於いては、薄型クライアントは、所望の仮想解像度、ズーム設定、及び、ビューウインドウ位置を含む、ページに対する所望のビュー設定でウェブページを要求することが出来る。これを実行するのは、ページが要求される度に、そうした設定値を別々に入力する必要なく、所望の仮想解像度、ズーム設定、及び、ビューウインドウ位置で、ユーザがそうしたウェブページを自動的に視認出来るように、ユーザがそうしたビュー設定を、特定のＵＲＬ又はＵＲＬパス名の部分を含むブックマークに関連付けることを可能にするためである。例えば、これにより、ユーザはそのページの所望箇所に於いて自動的にズームされた表示で、通常アクセスされたウェブページを視認することが出来る。
【０４１０】
ウェブページに対する要求が薄型クライアントから受信された時点で、プロキシブラウザ上の関数１１５０４は、薄型クライアントから要求されたＵＲＬに於いて識別されたサーバからそのウェブページを要求する。ウェブページがサーバから受信される場合、関数１１５０６によって、関数１１５０７乃至１１５１６が実行される。
【０４１１】
関数１１５０７によって、プロキシ上のブラウザのレイアウトエンジンは、ウェブページに対する薄型クライアントからの要求に於いて指定されたビュー設定に関連付けられた仮想スクリーン解像度で、受信されたウェブページをレイアウトする。図１０６Ａの関数１０６０６乃至１０６１８に関して上記されたものと同様の方法で、置換されたフォントに対して拡大／縮小された文字列測定を使用して、このレイアウトを実行する。使用される倍率は、現在のページに対する要求において指定されたビュー設定によって決定される。
【０４１２】
関数１１５０８は、現在の要求に関するビュー設定に於いて潜在的なビューウインドウを含む、結果として生じたレイアウトに関連して、仮想スクリーン位置を特定する。それ故、例えばビュー設定がレイアウトの一番右の６４０×４８０部分を見ることを要求し、レイアウトが８００ピクセル幅を有するように強制される場合、仮想スクリーン位置は、レイアウトに於いて、約ピクセルコラム１６０からピクセルコラム８００に拡張する。
【０４１３】
図１１７に於いて概略的に図示されているように、関数１１５１８によって、関数１１５２０はレイアウトされているウェブページに関連して受信されたそれぞれの画像１１７０２を拡大／縮小、及び、サブピクセル最適化する。
【０４１４】
ウェブページに於いて参照された全画像が受信され、拡大／縮小され、サブピクセル最適化された時点で、関数１１５２２によって、関数１１５２３はそのレイアウトに対して表示リストを作成し、その表示リスト、及び、全ての関連するサブピクセル最適化、拡大／縮小された画像を圧縮する。次に、関数１１５２４は、後に縮小されたサブピクセル最適化された画像が続く、ウェブページレイアウトを含むダウンロードストリームで、その圧縮されたデータを薄型クライアントに送信する。
【０４１５】
本発明の該特徴に関する他の実施形態に於いて、画像の全て又はその一部でさえもプロキシサーバにダウンロードされる前に、レイアウトの部分を薄型クライアントにダウンロードすることが出来る。これにより、薄型クライアントはウェブページのテキストの表示をより迅速に開始することが出来る。多くのウェブページは、それらの画像全てのサイズに関する記述を含んでいるので、多くの場合、そうしたレイアウトを実行するソフトウェアによって画像が受信される前に、ウェブページの適切なレイアウトを実行することが出来る。そうではない場合、そのページは全画像のサイズを確認する際に、再びレイアウトされなければならず、その後で、こうした新たなレイアウトをクライアントまで送信することが出来る。
【０４１６】
異なる縮尺で以前ダウンロードされた一つ又は複数の画像を再び拡大／縮小し、サブピクセル最適化するために、ユーザが薄型クライアントから要求を受信する場合、関数１１５２６乃至１１５３２は、そうした画像を再び拡大／縮小及びサブピクセル最適化し、圧縮し、そして薄型クライアントにダウンロードする。これにより、ユーザが異なるズーム設定でダウンロードされたウェブページレイアウトを見ようとする場合、ユーザは異なるサブピクセル最適化されたサイズでウェブページを見ることが出来る。
【０４１７】
スクリーン入力のイベントが薄型クライアントから受信されると、関数１１５３４によって、関数１１５３６乃至１１５４２が実行される。
【０４１８】
関数１１５３６は、コマンドに関連付けられたページレイアウト座標が、図１１７に示された、現在プロキシブラウザの仮想スクリーン１０２０８にマッピングされているウェブページレイアウト１０２０６の部分１０２０６Ａに一致するかどうかを確かめるためにテストを行う。一致しない場合、関数１１５３８は、そのコマンドに関連付けられたレイアウト座標を含むレイアウトの新しい部分１０２０６Ｂまで仮想スクリーンをスクロールする。
【０４１９】
関数１１５４０は、受信されたスクリーンイベントのページレイアウト座標に対応する仮想スクリーン座標を計算する。そして、あたかもユーザが仮想スクリーン自体に於ける対応する仮想スクリーン座標でクリックしたかのように、例えばリンクのクリック等のイベントにそれが対応出来るように、関数１１５４２は仮想スクリーン座標と共に入力スクリーンイベントをブラウザのイベント待ち行列にセットする。
【０４２０】
図１１６は、図１１５及び１１７に図示されたページレイアウトキャッシュスキームをサポートするために使用可能な薄型クライアントコードの一部に関する高度に簡略化された擬似コード記述である。
【０４２１】
薄型クライアントがページレイアウトの表示リストを含むダウンロードストリームを受信開始する場合、関数１１６０２によって、関数１１６０４及び１１６０６が実行される。
【０４２２】
関数１１６０４は、ビューウインドウ（例えば、図１１７に図示されたビューウインドウ１０２１０Ａ）のマッピングをページレイアウトに関連して設定し、次に、そのマッピングに基づいて現在のクライアント側の表示倍率を計算する。
【０４２３】
関数１１６２０は、現在のクライアント側の倍率を使用して、現在のビューウインドウ内に適合するダウンロードされたページレイアウトの任意の部分を表示する。このプロセスは、関数１１６２２乃至１１６３０を含む。
【０４２４】
関数１１６２２は、現在のクライアント側の倍率に関する関数であるフォントサイズを用いて、現在のビューウインドウ内に発生する各文字列要素を表示する。それが実行され場合、そうした文字が表示されるピクセルサイズが変化する際に、必要に応じて、それがフォントのヒンティングによる不均一な影響から生じる可能性のある、文字の相対的なサイズに於ける任意の不均一な変更に対して調整を行う。コンピュータスクリーン上でのテキスト表示と、さらに高解像度で印刷される際の該テキストの外観との間のＷＹＳＩＷＹＧ通信を提供するために、従来から使用されている技術に類似した、例えば文字間の間隔の変更など、不連続及び不均衡を補う技術を使用することによって、関数１１６２２はこれを実行する。以前表示されたサイズとは異なるサイズを有するフォントビットマップが要求される場合、そうした異なるサイズの文字に対するフォントビットマップに対して、薄型クライアント上の記憶装置からアクセスすることと、ネットワークフォントサーバからアクセスすることと、フォントアウトラインから必要なサイズでラスタ化することの何れかを行うことが出来る。
【０４２５】
関数１１６２０によって生成された表示が、ビットマップ画像１０８１８が縮小された倍率とは異なる倍率の場合、関数１１６２４によって、関数１１６２６乃至１１６３０が実行される。これらはプロキシサーバに対して、ビューウインドウ内に全体的又は部分的に存在する全画像を新しい倍率で再び拡大／縮小し、サブピクセル最適化するように要求する。その後、同一画像のビットマップは、そうした画像に対する一時的な表示を提供するために、薄型クライアント上に保存、表示された、以前縮小されたサブピクセル最適化画像１０８１８からローカルに再び拡大／縮小される。そして、元のサイズから再び拡大／縮小され、要求された画像、及び、ウェブページに関連付けられたより高い解像度のビットマップが、プロキシサーバから薄型クライアントにより受信された場合、それらは表示スクリーン上の適切な位置に描画される。
【０４２６】
幾つかの実施形態に於いて、ユーザが表示のズームを変更する場合、新しい倍率でスクリーン上のページの部分に対応する任意の画像のビットマップは、適切にサブピクセル最適化された画像がダウンロードされるまで、ユーザにそうした画像の一時的な表示を提供するために、薄型クライアント上に生成された画像に関する迅速であるが粗い表現で表示される。新しい倍率が以前ダウンロードされたビットマップの倍率の整数倍である場合、そうした迅速な表示を比較的生成し易い。ビットマップ倍率の整数倍ではない場合、多くの方法の内、任意の方法で一時的な表示を生成することが出来る。例えば、それらは図１２乃至５３に関して上述された方法の内一つの方法で生成されたサブピクセル最適化された画像になり得る。ソース画像が出力画像に比して低解像度である場合でさえも、これらの方法に記載された基本的な手順を適用することが出来る。さらにコンピュータ処理的に単純な方法は、整数の換算比を有する画像として、及び、以前の画像に対して描画されることを目的とする適切に拡大／縮小された画像よりも多くの空間を占めないように、適切な縮尺と同一、又は、それより小さなサイズで切り取られた画像、又は、拡大／縮小された画像として、以前の画像を表示することである。
【０４２７】
ユーザがプロキシブラウザに送信されるスクリーン入力を生成する場合、関数１１６３２乃至１１６３６は、その入力の薄型クライアントスクリーン座標を、対応するページレイアウト座標に変換する。そして、スクリーン入力及び対応するページレイアウト座標がプロキシブラウザにアップロードされる。次に、プロキシブラウザは図１１５に関して上述された関数１１５３４乃至１１５４２を使用して、そうした入力に対応する。これにより、あたかもユーザがプロキシブラウザの仮想スクリーン上のウェブページの対応する部分でクリックしたかのように、プロキシブラウザがそうしたスクリーン入力に対応する。
【０４２８】
ユーザがウェブページのコンテンツに関連してより迅速にスクロール、及び／又は、ズームを行うことが出来るように、例えば図１１５乃至１１７に関して上述したような、薄型クライアントが現在スクリーン上に表示されているウェブページの部分よりも多くの部分を保存可能なキャッシングスキームを使用することが出来る。このことが特に当てはまるのは、薄型クライアントがプロキシサーバに対して比較的低い回線容量を有する場合である。
【０４２９】
この出願の時点で一般的に利用可能な現在のデジタル携帯電話通信速度に関連した回線容量と同程度に低い回線容量を使用した場合でさえ、ウェブの比較的迅速なブラウズを可能にするために、ここで記載したそうしたキャッシングスキームに関する実施形態を実行することが出来る。これは、通常、殆どのウェブページに含まれる画像を除く全コンテンツを、３０００バイト、又は、それ未満に適合するように圧縮することが出来るからである。それ故、現在のデジタル携帯電話の通信速度で、殆どのウェブページのテキスト部分全体を数秒でダウンロードすることができ、テキストの最初の部分をさらに短い時間で描画することが出来る。言うまでもなく、画像のダウンロードにはより多くの時間を要する可能性はあるが、ウェブページの最初の画像の内、大型画像以外は、一般的に数秒以内で表示することが出来る。そして、より高速の通信回線でこの遅延を大幅に低減することが出来る。
【０４３０】
図１１８乃至１２０は、仮想的なウェブブラウズ環境に於いて使用可能であるが、小型スクリーン上でウェブをブラウズする際に特に有用である、本発明に関する特徴を図示したものである。これは、例えば、上記に於いて議論した薄型クライアントコンピュータなどの小型スクリーン装置上での使用を含む。本発明のこれらの特徴は、ウェブページの選択された部分へのズームイン又はズームアウトを含んでいるので、ここで説明したレイアウトキャッシングスキームを使用することによって、薄型クライアントコンピュータ上で迅速に動作させるために実行することが出来る。
【０４３１】
図１１８は、６４０×４８０の仮想解像度でレイアウトされ、その後、３２０×２４０スクリーン上で表示するために縮小され、サブピクセル最適化された、標準的なウェブページの図を示している。視力の良い人であれば、殆どの人が通常ハンドヘルドコンピュータを使用する距離でそうしたコンテンツを読み取ることが出来る。しかし、より大きなサイズで表示される場合には、殆どのウェブページのコンテンツをさらに容易に読み取り可能にすることが出来る。殆どのウェブページがマルチコラムでレイアウトされているので、多くの場合、ユーザが読み始めたいと考えるコラム部分の最上部に表示を迅速にズーム可能であることが好ましい。ユーザがズームされたビューで表示スクリーンの最上部付近に表示したいと考える垂直方向の位置に、所望のテキストコラムを越えて、ポインティングデバイス１１９０２をドラッグすることによって、ユーザはこれを実行することができる。表示がこの種類のズームを実行するモードの状態である場合、図１１９に図示された種類の水平線形ドラッグによって、その表示がスクリーンの幅に適合するように、ドラッグによって示されたウェブページレイアウトの幅を拡大／縮小する。図１１９に図示された例に於いて、このユーザ入力によって、図１２０に図示されたように、その表示がズームされる。
【０４３２】
また、ユーザインターフェースによって、ユーザはスクリーン上に図示されたウェブページレイアウトに於ける領域の周囲の選択ボックスをドラッグすることが可能となり、ウェブページに於いて選択された領域がスクリーンに適応するように、システムがウェブページの表示をズームすることが好ましい。
【０４３３】
また、そうしたドラッグに於いて、ユーザがスクリーンの所定の端部に関連付けられた境界を越えて、ポインティングデバイスをドラッグ可能であることが望ましく、これが実行される場合、これに対応して、そうしたドラッグの開始として、スクリーン内に全体的に適合するには大き過ぎる、又は、不適切に位置づけられているウェブページレイアウト内で、幅、高さ、又は、領域に適合させるためのズームをユーザが実行することを選択可能にするために、スクリーン上に表示されたウェブページの部分がスクロールするそうしたドラッグによって、大き過ぎてドラッグ中に表示される倍率でスクリーン上に適合出来ないレイアウトの部分が選択される場合、テキスト及び画像が表示されるサイズを低減するために倍率を変更する。
【０４３４】
レイアウトに於ける選択された幅、高さ、領域がスクリーンに適合するように拡大／縮小されるということは、その最大次元が、スクリーンの３分の２、及び、完全に対応する次元との間の範囲に分布するように拡大／縮小されるということを意味する。一般的には、そうした拡大／縮小によって、選択された長さ及び領域が、スクリーンの８０乃至９０％から完全に対応する次元の範囲まで分布する最大次元を有することが望ましい。
【０４３５】
図１２１乃至図１２８は、ズームクリックと呼ばれる本発明の特徴を図示している。この特徴によって、低解像度で見られるスクリーン、極めて小さなスクリーン、又は所望のスクリーン位置に関連して正確に容易に配置出来ないポインティングデバイスと共に使用されるスクリーン内で、ユーザがより簡単に、且つ、正確にアイテムを選択することが出来る。これが特に有用であるのは、携帯電話サイズのスクリーン、ポインティングデバイスとして指を使用するタッチスクリーンデバイス、及び／又は、ポインティングデバイスを正確にセットすることが困難な走行中の車などの環境で使用されるタッチスクリーンデバイスを取り扱う場合である。
【０４３６】
ズームクリックに於いて、ユーザがスクリーンに於ける所定の位置でクリックダウンする場合、ユーザがクリックしたスクリーンの部分が拡大された縮尺で表示される。その後、ユーザは、所望の位置にポインティングデバイスが位置するまで、この拡大された表示に於いて、押下されたポインティングデバイスで自由にナビゲートする。この時点で、ユーザはポインティングデバイスの押下を終了し、解除することができ、これにより、押下の解除に於ける現在の位置が、従来のグラフィカルユーザインターフェース（ＧＵＩ）のクリックに対応する目的の為に選択された位置として取り扱われる。
【０４３７】
ズームクリックを使用して、ダブルクリックを異なる方法で表現することが出来る。最も簡単な方法の一つは、単にズームクリック直後の素早い第２のクリック及び解除を記録し、ズームクリックをダブルクリックに変換するように、ズームクリックと同一位置に接近することということである。
【０４３８】
ズームクリックに関する他の実施形態では、異なって動作するが、好ましい実施形態によって、ズームクリックに於けるダウンクリック中の拡大図に於けるポインタの動きは、そうした拡大／縮小図に於ける通常のポインタナビゲーションと同一の割合で発生する。これは、例えば、表示解像度を２倍にするズームクリックに於いて、ユーザが他の場合に比して２倍のポインティング解像度を有することを意味する。また、ズームクリックモードでダウンクリックを維持する間にユーザがポインタを移動させると同時に、スクリーンの端部、又は端部付近に到達する場合、このモードでユーザがページ全体をナビデートすることが出来るように、画像がスクロールすることが望ましい。
【０４３９】
図１２１乃至１２８の例に於いて、２つ折りの携帯電話機／コンピュータ１２０Ｃが図示されている。この例では、携帯電話機が３２０×２４０全ピクセル解像度、及び、カラーサブピクセルアドレス指定能力を有することが想定されている。言うまでもなく、本発明の他の実施形態に於いては、他の解像度を使用することが出来る。使い易くするために、携帯電話機は、ユーザの指で操作可能なタッチセンシティブスクリーンを有すると仮定されている。他の実施形態に於いては、タッチパッド、消しゴム付きポインタ、マウス、ナビゲーションボタン、超音波ビジュアルタッチスクリーンポインタ位置検出装置など、他の種類のポインティングデバイスをズームクリックと共に使用することが出来る。
【０４４０】
図１２１は、図１１及び図１１０に示す「ｐｒｉｃｅｌｉｎｅ．ｃｏｍ」のウェブページと同一の画像を有する携帯電話機を図示している。
【０４４１】
図１２２は、ズームクリックモードで、ユーザが図１１０に関して議論したものと同一のテキスト入力フィールド１１０００を選択するために、スクリーン上にユーザの指１２１０２を押下しようとする場合に、何が起こるかを図示している。ユーザが自分の指をタッチスクリーンに接触させる際に、カーソルが置かれる正確な位置を前もって推定することは困難な場合が多い。ズームクリックがこれに対して役立つのは、任意の選択がなされる前に、タッチスクリーンを接触している指から生じるカーソル１７０の位置をユーザが確認することが出来るからである。また、それは、例えば図１２３に図示された所望のテキスト入力フィールド１１００など、ユーザが所望のリンクや制御の上にカーソル１２２０４を位置付けすることを容易にする、より大きな表示尺度のスクリーンを図示している。
【０４４２】
ユーザが図１２３に図示された位置に於けるカーソルを備えたタッチスクリーンから、指を離す時点で、図１２４に図示されているように、上述の図１１１に於いてポップアップキーボードが現れる場合と同様に、ポップアップキーボード１１１０２が現れる。
【０４４３】
図１２５に図示されているように、ズームクリックモードで、ユーザが、ポップアップキーボード１１１０２に於いて所望の文字（この例では「ｂ」）に接触しようとする場合、接触されたキーボードの部分の画像が大きく拡大される。図１２５に図示された例に於いて、ユーザは最初にタッチスクリーンを押下した時点では、カーソル１２２０４を正確に所望の位置に位置付けていない。ユーザは、図１２６に図示された位置にカーソル１１１０２を位置付けるために、指１２２０２をドラッグすることによって、ズームクリックモードに於けるこの問題を容易に修正することが出来る。その後、ユーザがスクリーンから指を離す場合、スクリーン画像は通常の縮尺に戻るが、これにより、次の文字がキーボード内の何処に位置しようが、ポップアップキーボード１１１０２の全体が表示されて、次の文字を迅速に選択することが可能となる。
【０４４４】
図１２７に図示されているように、図１２６に於ける選択された文字「ｂ」は、ポップアップキーボードのテキスト入力フィールド１１１０４に入力されたように表示される。      
【０４４５】
ユーザが、図１２５乃至１２７に図示された処理によって文字の選択を継続する場合、ユーザは、「Ｅｎｔｅｒ（入力）」キーの選択を受けて、テキストの全文字列を入力することが出来るようになり、これにより、図１２８に示されたように、ウェブページの所望の位置に所望のテキストが入力される。
【０４４６】
本発明の多くの実施形態に於いて、ズームクリックで使用されるズームは、スクリーン上の全部又は一部に以前表示されたビットマップを、例えば２倍、３倍などの整数倍で拡大することを含む。これにより、比較的処理能力の低いプロセッサを使用した場合でも、そうしたズーミングを実質的に瞬間に実行することが出来るので、ズームクリックは極めて速いユーザインターフェースとなる。
【０４４７】
図１２９乃至１３７は、ウェブブラウザのユーザが、実質的により大きな倍率でライン境界を越えて、リフロー、又は、再レイアウトされるウェブページからテキストの部分を選択することが出来る発明の特徴を図示している。そうしたテキストのリフローは、小型スクリーンを有する表示上で特に有用であるが、これは、テキストのリフローによって、選択されたウェブテキストが、さらに大きなフォントで表示され、同時に、そうしたテキストの全ラインがそうしたスクリーン内に適合することが出来るからである。これにより、そうしたテキストの連続するラインを読むために、繰り返し水平方向にスクロールを進めたり戻したりする必要がなく、そうしたラインを素早く読むことが出来る。
【０４４８】
小型スクリーン表示の解像度がどの程度高解像度であるかに関わらず、表示が比較的接近して保持されていない限り、人間の目では比較的大きな解像度でそれが表示するもののみを視認することが出来る。本発明のこの特徴によって、ウェブテキストを、比較的大きな倍率で表示の幅内に適合するラインを越えて一塊として表示することが出来る。例えば、それにより、対角４インチスクリーンを有するハンドヘルドコンピュータのユーザは、５、６フィート離れて立っている人のグループが見るのに充分な大きさの縮尺でテキストを表示することが出来る。同様に、それにより、ユーザは携帯電話や腕時計サイズの表示を顔の近くまで保持することなく、これらの表示上でテキストを視認することが出来る。また、スクリーンから比較的遠くに離れた人や、視力が正常ではない人に対して、ウェブテキストを表示するために、通常のサイズのコンピュータ表示スクリーンと共にそれを使用することが出来る。
【０４４９】
図１２９は、本発明の該特徴に従って、ウェブテキストを再表示するためにクライアントコンピュータで使用可能なプログラム１２９００に関する、高度に簡略化された擬似コード記述を示している。
【０４５０】
当然のことながら、本発明の該特徴はクライアントコンピュータでの使用に制限されない。事実、図１４０乃至１４１に関して後述する種類のシステムに於いて見られるように、ウェブブラウザ以外のアプリケーションによって生成されたビジュアル出力を見る際に、変更を加えて、本発明の該特徴を使用することが出来る。
【０４５１】
多くのウェブページは、異なるコラムにテキストをレイアウトするように、即ち、そうしたレイアウトに関連して異なる水平方向の位置にテキストをレイアウトするように設計されている。ウェブページは、テーブルやフレームの使用を含む複数の異なる方法で、そうした異なる所望の水平置換を示すことが出来る。好ましい実施形態に於いて、異なる所望の水平置換に関するそうした指示を反映するために、そうした複数コラムレイアウトで、ウェブページのテキストを表示するオプションを有するウェブブラウザを用いて、そうしたテキストのリフローが使用される。ユーザが、新しい倍率で１つのコラムに於けるテキストのリフローに対して、そうしたマルチコラムウェブページレイアウトの領域を選択する場合、関数１２９０２によって、関数１２９０４乃至１２９０８が実行される。
【０４５２】
本発明の幾つかの実施形態に於いて、ユーザがより大きな縮尺でリフローしたいと考えているウェブページの幅の部分を越えて、例えば図１３０に図示されたスタイラス１１９０２等のポインティングデバイスをドラッグすることによって、そうした選択を実行する。現在議論している方法によって、テキストをライン境界を越えてリフローすることができ、テキストの選択されたコラムをさらに大きなフォントで表示し、同時にそうしたテキストのライン全体をスクリーン内に適合させるという点を除いて、これは、図１１９に関して既に議論した内容と同様である。
【０４５３】
図１２９の関数１２９０４は、選択されたレイアウト領域内に実質的に存在する、現在のウェブページのレイアウトに於ける全ての文字列と対応する下線部（即ち、リンクとしてのテキストのラベリング）を選択する。
【０４５４】
図１３１は、図１１７の下半分に示された図に類似した、図１３０に図示されたウェブページのレイアウト１０２０６Ａの最上部を図示している。図１３１に於いて、破線の矩形１３１０２は、図１３０に於いてユーザによって選択されたコラムに対応するウェブページのレイアウトの部分を表している。
【０４５５】
本発明の幾つかの実施形態に於いて、かなりの部分、例えば、その長さの３分の２、又は、４分の３が、ユーザによって選択された領域内に適合する場合、文字列は選択された領域内に存在すると見なされる。例えば、図１３０に於いて、ユーザは同図に表示されたスクリーンの右側部分でテキストを選択しようとしていた。しかし、図１３０の例では、ユーザは、スタイラスのドラッグで、意図したコラムの幅を正確に選択することが出来なかった。それにも関わらず、関数１２９０４は、選択された領域内に実質的に存在する全文字列を選択するので、あたかもユーザが意図したコラムを正確に選択したかのように、テキストリフローが実行される。
【０４５６】
図１３２は、選択された領域内に含まれる、図１３１に図示されたウェブページのレイアウトに於ける文字列の最初の部分を図示している。この図に於いて、下線部はリンクに対応するテキストの部分を示している。
【０４５７】
選択された領域の文字列の全てが選択された時点で、関数１２９０６は、レイアウトに於ける接近性又は他の特質によって、それらが同一パラグラフの一部であることを示す、１つ又は複数の連続する文字列の内、任意のグループをラベル付けする。これは、パラグラフブラケット（Ｐが付された括弧）１３２０２によって、図１３２に図示されている。
【０４５８】
図１３２に図示されたように、この方法は、パラグラフである文字の全グループ分けを検出しない可能性があるが、そのテキストに対応するＨＴＭＬを参照する必要なく、それらの多くを検出するのである。記載されている本発明の実施形態に於いて、そうしたＨＴＭＬがプロキシサーバに保存されるが、これは、そのようなアクセスがクライアントコンピュータ及びプロキシサーバ間の通信に関連付けられた遅延が必要となることを意味している。他の実施形態に於いて、特に、クライアントコンピュータが常駐するフルブラウザを有する実施形態、又は、プロキシコンピュータへの高いアクセス回線容量接続を有する実施形態に於いて、選択された文字列が如何にしてパラグラフに於いてグループ化されるべきかを、より正確に決定するために、ＨＴＭＬコードへのアクセスを使用することが出来る。他の実施形態に於いて、プロキシサーバにダウンロードされたレイアウト情報は、ウェブページのＨＴＭＬ内に含まれるパラグラフ境界に関する任意の情報を有することが出来る。幾つかの実施形態に於いて、そうしたリフローされたテキストを表示する薄型クライアント上ではなく、プロキシサーバ上で、そうしたテキストのリフローを実行することができ、これにより、プロキシサーバは、ウェブページの表示に含まれたパラグラフのグループ分けに関する任意の情報に直接アクセスすることが出来る。
【０４５９】
選択された文字列がパラグラフにグループ化された時点で、関数１２９０８は、表示スクリーン（又は、画像が表示スクリーン全体よりも小さい領域に表示されている場合には、表示ウインドウ）の幅を越えて、選択された拡大倍率を使用して、各パラグラムのテキストをリフローする。
【０４６０】
このテキストリフロー処理は、図１３２の最上部に於ける文字列が新しい倍率でレイアウトされている図１３３に図示されている。図示されている例に於いて、図１３０のテキストは、同一スクリーン内に於いて元のサイズの２倍でリフローするために選択されている。薄型クライアントのユーザインターフェースによって、ユーザが適度なフォントサイズから極端に大きなフォントサイズに及ぶ、選択されたテキストリフロー関数を用いて使用される、複数の異なる倍率を選択可能であることが好ましい。
【０４６１】
図１３３に於いて、下線部は図１３２の下線部とは異なるものを表示するために使用されている。図１３３に於いて、図１３２に於ける通常のレイアウト文字列から生じた各ライン上のテキストは、連続するアンダーラインで図示されている。図１３２に於ける異なる文字列から生じる、図１３３に於ける同一ライン上のテキスト部分の間に於ける下線部の間隔は、それらの違いをより簡単に見ることが出来るように誇張されている。
【０４６２】
図１３３に於いて、ラインの境界を越えて一塊になっている図１３２に図示された元のレイアウトから生じる個々の文字列の全てが、１つのライン上の部分から、次のライン上の継続する部分まで、矢印によって示されている。
【０４６３】
図１３４は、図１３０及び１３１に図示された元のレイアウトの選択された文字列が、薄型クライアントのスクリーン上に約２倍のサイズでリフローされた時点で、どのように見えるかを示す概略図である。図１３４を参照して分かる通り、ウェブテキストはそうしたテキストリフローによって、遠くから格段に見易くなる。２倍の代わりに、４倍又は６倍で同一テキストをリフローすることによって、表示スクリーンから相当離れた場所にいるユーザに対して、同一ウェブコンテンツを表示することが可能になる。
【０４６４】
図１３５乃至１３７は、リフローされるテキストの部分をユーザが選択可能な他の方法を図示している。
【０４６５】
図１３５は、他のテキストの一部分、又は、複数部分が侵入するテキストの中央コラムを有するウェブページの部分を図示している。
【０４６６】
図１３６は、ウェブページ全体のレイアウトの縮小ビューをユーザがどのように取得したかを図示している。多くの実際の実施形態に於いては、小さ過ぎるので個々の文字としてそうした縮小ビューで表示することが出来ないテキストの部分を示すために、テキストグリーキングが使用される。ウェブページ全体のレイアウトが薄型クライアント自体に保存された、図１１５乃至１１７に関して上述されたような、薄型クライアントコンピュータ上で、そうした縮小ビューを迅速に生成することが出来る。
【０４６７】
図１３６に於いて、多角形領域に於ける角部でウェブページの表示をクリックすることによって、ユーザが拡大ウェブページビュー上のそうした領域を定義可能なモードを、ユーザが選択している。これが実行される時点で、何れのテキストがリフローされるかを選択するために、選択された領域が図１２９に図示された関数１２９０４によって使用される。
【０４６８】
図１３７は、選択されたテキストがリフローされ、表示された時点で、選択されたテキストがどのように見えるかを図示している。
【０４６９】
図１３８乃至１３９は、図２に関して上述されたフォントサーバ２３０をより詳細に説明している。
【０４７０】
図１３８に於いては、複数のクライアントブラウザ２００が存在し、各クライアントブラウザが、同一のプロキシサーバ２１０を介して１つ又は複数のサーバ２２０からのコンテンツにアクセスし、同一フォントサーバ２３０からのフォントにアクセスするという点を除いて、図１３８は図２に対応している。
【０４７１】
これは、各薄型クライアントブラウザで使用するために販売され、ライセンスを受け、又は、頒布されたソフトウェアが、クライアントが有していないフォントを同一フォントサーバ２３０から検索するようにプログラムされ、同一プロキシサーバ２１０を介してウェブ要求を実行するようにプログラムされているからである。言うまでもなく、本発明の該特徴に関する他の実施形態に於いて、薄型クライアントは、それらの地理的位置、又は、インターネットサービスプロバイダなどの要因に基づいて、一般的な複数のプロキシサーバの内、何れのプロキシサーバを使用すべきかを選択するようにプログラムされている。フォントを要求、受信する一般的な複数のフォントサーバの内、何れかのフォントサーバを選択するために、薄型クライアントは同様の内容を検討することが出来る。
【０４７２】
図１３９は、図１３８に図示された種類のフォントサーバ上で使用可能なプログラム１３９００の高度に簡略化された擬似コード記述である。また、通常のブラウザコンピュータに加えて、ウェブブラウザ以外のアプリケーションを実行するコンピュータに対してフォントを供給するために、このフォントサーバを使用することが出来る。
【０４７３】
フォントサーバが、コンピュータから指定されたフォントの文字に対するＨＴＴＰ要求を受信する場合、関数１３９０２によって、ステップ１３９０４乃至１３９２２が実行される。
【０４７４】
図１３９に図示されたフォントサーバコードの特定の実施形態は、指定されたサイズで指定されたフォントに対して設計された各文字を別個のＨＴＴＰ要求で特定するプロトコルと共に使用するために設計されている。それは、所望のフォント、フォントサイズ、及び、文字を、ＵＲＬパス名の一部として指定する。言うまでもなく、他の実施形態に於いては、フォントサーバによって、ＨＴＴＰ要求が複数の文字、複数のフォントを指定可能であり、そして／又は、ＵＲＬパス名以外でフォントを指定することが可能である。
【０４７５】
各文字フォント形状を別々に要求するシステムに於いて、ＨＴＴＰプロトコル１．１又はそれ以降のプロトコルが使用されることが好ましいが、これは、そうした各要求を処理するために別個の接続をオープン、又は、クローズする必要なく、そうしたプロトコルによって、複数のＨＴＴＰ要求を所定のクライアントコンピュータからサーバによって処理することが出来るからである。
【０４７６】
図１３９に図示された本発明の実施形態に於いて、フォントサーバが、要求に於いて指定されたＵＲＬパス名に一致するフォントビットマップを現在保存していると判断する場合、関数１３９０４によって、関数１３９０６が、ＵＲＬ要求がなされたネットワークアドレスに対するＨＴＴＰの応答に於いて、そのフォントを送信し、その後、関数１３９０８が関連するアカウントに処理を命令する。そのようにダウンロードされたフォントは、フォントビットマップ、又は、フォントアウトライン記述の何れかであっても良い。
【０４７７】
そうしたアカウントの命令は、本発明のすべての実施形態に於いて使用される訳ではない。それが使用される実施形態の幾つかに於いて、命令されたアカウントは、フォントが送信されるコンピュータに関連するアカウントである。他の実施形態に於いては、命令は、そうしたフォントの仕様を含んだウェブページに関連付けられたグループのアカウントに対して行われる。さらに他の実施形態に於いては、命令は、上述した種類のプロキシサーバに関連付けられたアカウント、又は、そうしたプロキシサーバのサービスのユーザに対して行われる。
【０４７８】
要求されたフォントがフォントサーバの記憶装置に存在せず、要求されたフォントがフォントサーバの対応するアウトラインフォントを有するビットマップである場合、関数１３９１０によって、関数１３９１２乃至１３９２２が実行される。
【０４７９】
関数１３９１２は、ＨＴＴＰ要求のフォントパス名によって示されたサイズ及び実行可能な変換などの属性を有するビットマップを生成する。この関数は、要求されたフォントのパス名によって、サブピクセル最適化バージョンのフォントが望まれていることが示されたかどうかを決定することを含む。それが示された場合、関数１３９１４及び１３９１６は、好ましくは、図５５乃至９６に関して上述された非線形カラーバランス法を使用して、サブピクセル最適化バージョンのフォントを生成する。
【０４８０】
フォントビットマップが生成された時点で、関数１３９１８は、ネットワークを介して、要求中のアドレスに対するＨＴＴＰの応答に於いてビットマップを送信する。関数１３９２０は、要求に於いて指定されたパス名に対応するアドレスで、フォントビットマップをキャッシュする。関数１３９２２は、関数１３９１０に関して既に議論したように、命令が実行される実施形態に於いて、処理に関連するアカウントに命令する。
【０４８１】
図１４０は、リモートコンピュータ１４００上で起動する１つ又は複数のアプリケーションによって、薄型クライアントコンピュータ２００が、スクリーン出力として生成されたテキスト及び画像に対応するデジタルコンテンツを表示することが出来るように、本発明の特定の特徴を使用することが出来ることを図示している。そうしたアプリケーションは、ウェブブラウザ、表計算、ワードプロセッサ、データベースプログラム、又は、仮想スクリーン表示を生成可能な以如何なる種類のソフトウェアであっても良い。
【０４８２】
リモートコンピュータは、リモートコンピュータのオペレーティングシステム１４００４のディスパッチテーブル１４００８に於けるフックを含む、リモートスクリーン生成プログラム１４００６を含む。これらのフックは、所定の表示解像度でスクリーンに対して、テキスト、形状、ライン、制御オブジェクト、ビットマップを描画するために、一つ又は複数のアプリケーション１４００２によって実行されたオペレーティングシステムに対する呼び出しを遮る。幾つかの実施形態に於いて、そうした描画コマンドによって、コンテンツがリモートコンピュータに関連付けられたスクリーン上に実際に表示され、その他の実施形態に於いては、リモートコンピュータにはスクリーンが存在しないので、そうした描画コマンドが仮想スクリーンに対して実行される。以下のテキストに於いて、簡略化するために、仮想スクリーンとして、所定のクライアントコンピュータ上でグラフィック出力を表示し、ユーザ入力を受信しているとこれらのアプリケーションが判断する映像空間について言及する。
【０４８３】
アプリケーション１４００２の１つがオペレーティングシステムに対して表示要素を描画するように要求する場合、リモートスクリーンジェネレータの対応するルーチン１４０１０への対応する呼び出しを行うために、オペレーティングシステムのディスパッチテーブルに於けるフックの一つによって、その呼び出しが遮られる。図１０２、及び、１０６Ａ乃至１０６Ｃに関して上述した方法と同様の方法に於いて、これにより、図１０２及びそれに続く図に関して上述された表示リスト１０２１２と実質的に類似した、ダウンロード表示リスト１０２１２Ａが生成される。そうしたシステムに関する多くの実施形態に於いて、ビットマップ描画ルーチンの呼び出しによって、上述の種類の縮小及びサブピクセル最適化された画像がダウンロード用に生成され、測定文字列ルーチン及び文字列描画ルーチンへの呼び出しは、８ピクセル／ｅｍ又はそれ未満と同様に小さなサイズのフォントを含む、サブピクセル最適化されたフォント又は他のアンチエイリアス処理されたフォントの置換及びフォントマトリクスを含む。
【０４８４】
図１０２に図示された制御１０２１４乃至１０２１８に対応する、ズーム、スクロール、及び、仮想レイアウト制御１４１２は、仮想スクリーンへの薄型クライアントのビューウインドウのマッピングを制御し、したがって、アプリケーションによって仮想スクリーンに描画された要素が、ダウンロード表示リスト１０２１２Ａに描画され配置される表示倍率を制御する。これが画像ビットマップのサブピクセル最適化と、図１０６Ａ乃至１０６Ｃに関して上述された種類のフォント置換とを含むことが好ましい。
【０４８５】
ダウンロード表示リストが所定の仮想スクリーンに対して生成された時点で、図１０９Ａ乃至１０９Ｃに関して上述された方法と同様の方法で、後にそのスクリーン上にダウンロード表示リストを描画する、対応するクライアントコンピュータにダウンロード表示リストが圧縮され、ダウンロードされる。
【０４８６】
本発明の幾つかの実施形態に於いて、仮想スクリーンに対する個々の描画は、薄型クライアントにダウンロードされた対応する描画コマンドを有する。仮想スクリーンへの対応する変更に応答して、薄型クライアントスクリーンに対する僅かな変更を実行可能な速度を速めるために、これを利用することが出来る。
【０４８７】
図１４０に図示された実施形態に於いて、スクリーン位置に関連付けられたユーザ入力が、薄型クライアントからリモートコンピュータにアップロードされ、スクリーン位置は、薄型クライアントのビューウインドウと仮想スクリーン間のマッピングを反映するために、スクリーン座標を変換させる。これが実行される時点で、そうしたイベントは。それらの変換されたスクリーン座標を用いてリモートコンピュータオペレーティングシステムのイベント待ち行列にセットされ、これにより、関連するアプリケーション１４００２は、あたかもそれがリモートコンピュータの対応する仮想スクリーン上に入力されたかの様に、そのイベントに対応する。
【０４８８】
例えば、ラップリンク社（所在地：ＺＩＰコード９８０１１、アメリカ合衆国  ワシントン州  ボセル  ノースクリークパークウェイ  １８９１２  スイート１００）のＬａｐＬｉｎｋ、又は、シマンテック社（所在地：ＺＩＰコード９５０１４  アメリカ合衆国  カリフォルニア州  クパティーノ  スティーヴンスクリークブルバード  ２０３３０）のｐｃＡｎｙｗａｒｅ等の、スクリーン共有アプリケーションによって使用される技術の多くを、図１４０に図示された種類の本発明の実施形態と共に使用することが出来る。実際、同図に於けるリモートコンピュータが自身のスクリーンを有する場合、図１４０に図示された実施形態を、クライアントコンピュータとリモートコンピュータ間でのスクリーン共有を実行するために使用することが出来る。
【０４８９】
当然のことながら、クライアントコンピュータが十分な演算能力を有する実施形態に於いては、クライアント及びリモートコンピュータは、ピアツーピアの方法で動作可能である。リモートコンピュータは、専用のアプリケーションサーバコンピュータであっても良いし、例えば、デスクトップコンピュータ、ラップトップコンピュータ、又は、タブレットコンピュータを含むパーソナルコンピュータ等の如何なる種類のコンピュータであっても良い。
【０４９０】
図１４１は、上述した本発明の特徴に従って、そうしたアプリケーションによって生成されたスクリーン表示が、縮小、及び／又は、サブピクセル最適化されるように、１つ又は複数のアプリケーション１４００２によって生成されたオペレーティングシステムの呼び出しを遮るために、コンピュータのオペレーティングシステム１４００４のディスパッチテーブル１４００８に於いてフックを用いている点で、図１４０に図示された実施形態に幾分類似している本発明の実施形態を図示している。図１４１の実施形態が図１４０に図示されたクライアントサーバの実施形態と異なるのは、図１４１に図示されているように、それが１つのコンピュータシステム１４１００上で動作するように設計されている点である。それらの出力があたかも高解像度を有する仮想スクリーンに表示されているかのように、修正することなく、そうしたプログラムを実行するために、低解像度スクリーンであるが、デスクトップアプリケーションの起動に十分なパワーを備えるコンピュータ上で、このシステムのプログラミングを使用することが出来る。また、より大型のスクリーンの一部に、アプリケーションの出力スクリーンに関する縮小版を描画するために、それを使用することが出来る。 
【０４９１】
この実施形態に於いては、それらの出力がスクリーン１０２２０Ａ上に表示される解像度に比して、より大きな仮想解像度で、スクリーン上で動作していることがアプリケーション１４００２に報告される。そうしたアプリケーションが、スクリーンに対して要素を描画するために、オペレーティングシステムに対する呼び出しを行う場合、ＯＳディスパッチテーブル１４００８にセットされたフックによって、拡大／縮小されたサブピクセル最適化スクリーンジェネレータプログラム１４００６Ａの一部分１４０１０Ａ内の対応する描画ルーチンが起動される。この置換描画ルーチンは、上述されたように、縮小、及び／又は、サブピクセル最適化されたビットマップの作成を含む、仮想スクリーン表示リスト１０２０６Ｂに対応する要素を描画する。また、それによって、現在のビューウインドウ１０２１０Ｃ内に適合する仮想スクリーンの部分に描画されたそうしたスクリーン要素の任意の部分が、オペレーティングシステムで描画コマンドを呼び出すこと、又は、それら自身をそのスクリーン上に直接描画することによって、コンピュータ１４１００の表示スクリーン１０２２０Ａ上に、縮小、及び／又は、サブピクセル最適化された方法で即座に表示される。
【０４９２】
アプリケーションプログラムが測定文字列コマンドに対してオペレーティングシステムを呼び出す際に、そのコマンドも同様に遮られ、これにより、その呼び出しは、図１０６Ａの関数１０６０８乃至１０６１８に関して上述された方法で、置換されたフォントサイズに対するフォントマトリクスを返す。
【０４９３】
コンピュータのスクリーンへのスクリーンイベント入力は、オペレーティングシステムのイベント待ち行列から抽出され、そうしたイベントがスクリーン上で生成されたスクリーン座標を、そうした変換を制御するために、その仮想スクリーンへのビューウインドウのマッピングを使用して、表示リストによって表現された仮想スクリーンのレイアウトに於ける対応する位置に変換するイベント位置スケーラに送られる。イベントの座標が適切に変換された時点で、イベントはオペレーティングシステムのイベント待ち行列に戻され、オペレーティングシステムによって、あたかもイベントが仮想スクリーン上に入力されたかのように、アプリケーションがイベントに対応する。
【０４９４】
図１４１に図示された種類の本発明に関する実施形態によって、コンピュータのユーザは、標準的なコンピュータアプリケーション１４００２によって生成されたスクリーン上で、それらのアプリケーションが、選択されたテキストリフローをサブピクセル最適化、縮小、ズーム、及び、実行する機能をサポートするべく設計されていない場合であっても、これらの機能を行うことが出来る。
【０４９５】
図示しない本発明の他の実施形態に於いて、コンピュータのオペレーティングシステムは、図１４１に図示された拡大／縮小されたサブピクセル最適化スクリーンジェネレータ１４００６Ａに図示された種類の機能性を含むように変更することが出来る。さらに本発明の他の実施形態に於いて、ブラウザプログラムを含むアプリケーションプログラム１４００２を、そうした機能性の全部又は一部を直接的にサポートするために変更することが出来る。
【０４９６】
図１４２は、例えば、同図に図示された薄型クライアントコンピュータ２００Ａ乃至２００Ｄなどの薄型クライアントコンピュータを、ワイヤレスネットワークを介して、インターネットコンテンツ、又は、アプリケーションプログラムにアクセスするために使用することが出来るように、図１０２及び１４０に図示された本発明の実施形態を如何にして使用することが出来るかを図示している。
【０４９７】
この図に於いて、コンピュータ２００Ａ乃至２００Ｄは、図１０２及び１４０に図示された薄型ライアントコンピュータ２００に対応する。コンピュータ２００Ａはハンドヘルドコンピュータである。薄型クライアントコンピュータ２００Ｂは、携帯電話機である。薄型クライアントコンピュータ２００Ｃは、腕時計型コンピュータである。薄型クライアントコンピュータ２００Ｄは、頭部装着型コンピュータ、又は、ポータブルコンピュータ用の頭部装着型ディスプレイである。これらの薄型クライアントコンピュータのそれぞれは、サブピクセルアドレス可能な表示を有することが出来る。
【０４９８】
本出願の出願時に於いて、本発明の殆どの特徴で使用するのに充分高い解像度を有するうした種類の各装置に対して、現在スクリーンを製造することは可能である。例えば、現時点で、２インチ又はそれ未満の対角長を有する３２０×２４０カラーＬＣＤ表示を製造することは可能である。現在、さらに高解像度を有する有機ＬＥＤ装置を製造することが出来る。近い将来、そうした小型スクリーンのコストは低下するはずであり、それらの利用可能性及び解像度は増大するはずである。
【０４９９】
図１４２に図示された薄型クライアントコンピュータの全ては、図１０２に図示された種類のリモートプロキシサーバコンピュータ２１０、又は、図１４０に関して図示された種類のリモートアプリケーションサーバ１４０００に関して上述された種類の情報を、送受信可能にするワイヤレストランシーバを有している。そうしたトランシーバは、ワイヤレスＬＡＮトランシーバ１４２０４と通信するためのワイヤレスＬＡＮトランシーバであってもよく、ワイヤレスインターネットトランシーバ１４２０２と通信するためのデジタル携帯電話ワイヤレストランシーバであってもよく、また、両方の種類のワイヤレストランシーバと通信するように設計されたトランシーバであることが望ましい。他の実施形態に於いて、例えば、Ｂｌｕｅｔｏｏｔｈ又は赤外線通信など、他の種類の無線通信を使用することが出来る。
【０５００】
図１４２に図示されたリモートコンピュータ１４０００ＡＡ乃至１４０００ＡＣは、図１４０に図示されたリモートサーバコンピュータ１４０００に対応する。
【０５０１】
図１４２に図示されたリモートアプリケーションサーバコンピュータ１４０００ＡＡは、ラップトップコンピュータ、デスクトップコンピュータ、サーバコンピュータ、又は、リモートアプリケーションサーバコンピュータ１４０００として動作するようにプログラム可能な他の種類のコンピュータを表現している。サブピクセル最適化されたアプリケーションサーバ１４０００ＡＢは、そうしたクライアントに関連したＬＡＮ又はＷＡＮに接続された複数の薄型クライアントコンピュータ用のアプリケーションを実行するために設計されている、図１４０に図示された一般的な種類のリモートコンピュータである。リモートコンピュータ１４０００ＡＡ及び１４０００ＡＢは、プライベートローカルエリアワイヤレストランスミッタ１４２０４を介して、薄型クライアントと通信可能であるか、又は、数字１０２２２及び１４２０２によって示されているように、ワイヤレスインターネットを介して薄型クライアントと通信可能である。
【０５０２】
サブピクセル最適化されたアプリケーションサーバ１４０００ＡＣは、複数の薄型クライアントコンピュータ２００がインターネットを介して、数字１４２０２によって示されたワイヤレストランスミッションネットワークによって、アプリケーションを使用することが出来るように、直接的にインターネットに接続されている点を除いて、サーバ１４０００ＡＢに類似したアプリケーションサーバである。
【０５０３】
図１４２に於いて、図１０２に関して上述された種類のプロキシサーバ２１０は、ＬＡＮ又はＷＡＮ１４２０４に接続されていることが図示されている。例えば、これは、企業がインターネットに接続しないことを希望するウェブブラウズを処理しようとするプロキシサーバであっても良い。当然のことながら、例えば、商業的なプロキシ提供サービスを供給する企業によって運営されているプロキシサーバなど、他のプロキシサーバは、通常、図１４２に於いても同様に図示されたインターネット１０２２２に直接的に接続される。
【０５０４】
図１４２に図示されたシステムによって、実質、常に都合良く持ち運び可能な小型コンピュータは、ウェブページ及び殆どのアプリケーションプログラムの出力にアクセスし、表示することが出来る。本出願の出願時に於いて、例えば、図１４２に図示されたＬＡＮトランシーバ１４２０４などの比較的安価なワイヤレスＬＡＮトランシーバの回線容量は、ケーブルモデムに接続されたデスクコンピュータ上でそうしたデジタルコンテンツを見ることが出来る速さと略同様の速さで、図１４２に図示された種類の薄型クライアントが、ウェブコンテンツ又はアプリケーションプログラムの出力を見ることが出来る程、充分に高速である。そして、これは、ポケットの中、手首の上、又は、眼鏡の一部として持ち運び可能な機械であり、スイッチがオンの状態になって数秒以内にそうしたメディアにアクセス可能な機械装置である。
【０５０５】
本出願の出願時にアメリカで一般的に利用可能なデジタル携帯電話の回線容量に於いて、通常、殆どのウェブページのテキスト全体をダウンロードするためには数秒かかり、ウェブページの画像をダウンロードするには、さらに時間がかる。言うまでもなく、本発明の多くの実施形態は、テキストの一部が受信され次第、テキストの表示を開始し、ユーザはダウンロードされたページの一部を極めて迅速に見始めることが出来る。
【０５０６】
本出願時に於いて、数十万ビット／秒、又は、数百万ビット／秒の範囲で回線容量を提供可能な、新規のより高速なデジタル携帯電話システムが開発されている。そのような、より高速のシステムが一般的に展開されるようになった時点で、本発明のユーザは、ＤＳＬやケーブルモデム接続を介して、デスクトップ又はラップトップ上でウェブページにアクセスする場合と殆ど同じスピードと快適さで、ユーザが移動する殆どの場所で数秒以内にスイッチをオンの状態にすることが可能な小型のポータブルデバイス上で、ウェブページ及びアプリケーションスクリーンを読み取ることができ、やり取りすることが出来る。
本発明のユーザは、ＤＳＬ又はケーブルモデムを介してデスクトップコンピュータ又はラップトップコンピュータ上でアクセスしているかのように、移動先の大抵の場所でスイッチオンから数秒以内に使用され得る小型の携帯装置上で、ウェブページやアプリケーション画面を読んで相互に対話出来る様になる。
【０５０７】
図１４３乃至１４４は、図１０２に関して上述された種類のプロキシサーバ、又は、図１４０に関して上述された種類のリモートアプリケーションサーバコンピュータの何れかに対して、薄型クライアントとして機能することが出来る、ハンドヘルドコンピュータ２００Ａに関する２つの図を示している。
【０５０８】
図１４３に於いて、コンピュータは、使用するために設計された縦方向で図示されている。コンピュータ上のネイティブオペレーティングシステムは、フォント及びグラフィカルユーザインターフェース（ＧＵＩ）要素を縦方向で描画するように設計されている。これは、本出願の出願時に販売されたハンドヘルドコンピュータの多くが設計され、構築された方法である。例えば、今日、２４０×３２０全ピクセル解像度を有するサブピクセルアドレス可能スクリーンを有する、複数のそうしたハンドヘルドコンピュータが市場に存在する。また、これらのコンピュータの多くは、表示が意図された縦方向に位置する時に、水平方向に走るサブピクセルストライプを有する。
【０５０９】
残念ながら、そうした縦方向では、殆どの人がコンピュータの使用時に慣れており、且つ、殆どのウェブページが設計されている横方向の縦横比の種類を提供しない。更に、そうしたコンピュータが水平方向のサブピクセルストライプを有する場合、そうしたストライプは、垂直方向に於いて、サブピクセル解像度の全ての潜在的増加をもたらす。残念ながら、テキストの表示は、そうした垂直方向の解像度に於ける増加に比して、水平方向の解像度に於ける増加から、実質的に恩恵を受ける傾向がある。
【０５１０】
これらの全ての理由のために、そうした縦向きの機械を使用する本発明の多くの実施形態は、図１４４に図示されているように、そうした機械を９０度回転させた場合に、それらを使用するように設計されており、それ故、殆どのコンピュータスクリーンのレイアウトに関する縦横比にむしろ近い、横方向の縦横比を有しており、その結果、それらのサブピクセルは、テキストの表示に最も有用な水平方向の解像度に於ける増加を提供する。そうした多くの実施形態に於いて、上述の薄型クライアント２００は、横方向の機械装置として見られるために回転され、縮小フォント及び画像ビットマップが横方向で描画される縦方向の携帯情報端末（ＰＤＡ）である。サブピクセル最適化を使用するそうした実施形態に於いて、そうしたＰＤＡを使用するために設計された縦方向でピクセルが見られる場合に現れるサブピクセルの直交配置というよりは、そうしたピクセルが横方向で見られる場合に現れる各ピクセル内のサブピクセルの空間配置に対してサブピクセル最適化された画像、及び／又は、フォントビットマップを使用して、ウェブページが表示される。
【０５１１】
図１４５は、サブピクセル最適化を使用して、例えば、矩形、楕円、線、及び、曲線などの基本的な形状を描画する要求に対応するために、本実施形態の幾つかの特徴を如何にして使用することが出来るかを示す、高度に簡略化された擬似コード表記である。多くの異なる種類のアプリケーション、オペレーティングシステム、及び、薄型クライアントソフトウェアに於いて、そうした機能を使用することが出来る。
【０５１２】
図１４５の例では、図示された擬似コードは、他の使用方法の中でも、図１０９Ａに関して上述された矩形コマンド１０９１８の代わりに使用可能な矩形描画関数１４５００に関連している。そうしたルーチンは、その位置、幅、及び／又は高さが、表示されるサブピクセルアドレス可能スクリーンの全ピクセル解像度に比して、より高度な解像度で定義された矩形を描画するための呼び出しによって、呼び出される。これに対応して、関数１４５０２は、そうしたより高度な解像度で定義された矩形の画像をレンダリングするために、サブピクセル解像度でサブピクセル最適化ルーチンを使用する。例えば上述のスキームのように、多くの場合、非線形カラーフィルタリングを有する２色最適化スキームが、最高の視認可能な空間解像度を提供する傾向のあるモノクロ矩形を別にすれば、仮想の任意のサブピクセル最適化スキームを使用して、これを実行することが出来る。
【０５１３】
図１４６は、サーバからダウンロードされたアプレットによって、クライアントのスクリーン上にサブピクセル最適化したスクリーン要素を描画可能とするための、サーバ及び／又はプロキシコンピュータ上で起動可能なコード１４６０２、及び、薄型クライアントコンピュータを含む、クライアントコンピュータ上で起動可能なコード１４６０４に関する高度に簡略化された擬似コード表記１４６００である。
【０５１４】
そうした実施形態に於いて、クライアントの関数１４６０６は、サーバからメディアを要求する。クライアントコンピュータ上で起動可能な１つ又は複数のアプレットプログラムを含む、メディア又はデータをダウンロードすることによって、サーバは関数１４６０８で対応する。関数１４６１０に於いて、クライアントコンピュータは、アプレットを含むメディアを受信し、関数１４６１２はそのアプレットをロード及び実行する。関数１４６１４に於いて、クライアントコンピュータ上のサブピクセルアドレス可能スクリーンにサブピクセル最適化された要素を描画する。
【０５１５】
サブピクセル最適化されたビットマップを複製又は生成すること、サブピクセル最適化されたフォントでテキストをレンダリングすること、例えばベクトル定義されたグラフィック、又は、例えばライン、矩形、及び、楕円などの比較的単純な幾何学的形状など、サブピクセル最適化された形状を描画すること、の何れかによって、アプレットはサブピクセル最適化された要素を描画することが出来る。
【０５１６】
図１４７及び１４８は、ロールオーバ画像、及び、ＧＩＦＦアニメーションのそれぞれに対して、サブピクセル最適化を如何にして適用することが出来るかを図示している。 
【０５１７】
図１４７に図示されたサブピクセル最適化ルーチン１４７００に於いて、ポインティングデバイスが検知出来るように、画像に関連付けられたスクリーンの部分に存在しない場合に表示される非ロールオーバ画像１４７０２と、ポインティングデバイスが検知出来るように、そのスクリーン部分に存在する場合に表示されるロールオーバ画像１４７０４は、両方とも、関数１４７０６によって縮小され、サブピクセル最適化される。これにより、拡大／縮小され、サブピクセル最適化された非ロールオーバ画像１４７０８、及び、拡大／縮小され、サブピクセル最適化されたロールオーバ画像１４７１０が生成される。次に関数１４７１２は、ポインタがそれらの関連付けられたスクリーン領域上に検出可能に存在するか否かということに基づいて、これらの２つのサブピクセル最適化された画像の内、何れを表示させるのかを選択するために使用される。これにより、２つのサブピクセル最適化された画像は、複合「ロールオーバ」グラフィックとして機能する。
【０５１８】
本発明のこの特徴に関する他の実施形態に於いて、同様の技術を、ボタンに関連付けられた２つの画像、即ち、ボタンが押下されてない場合に表示される画像と、ボタンが押下されている場合に表示される画像、に適用することが出来る。
【０５１９】
図１４８に図示された方法１４８００は、図１４７に関して上述された方法に類似している。それは、ＧＩＦＦアニメーションの別個の画像１４８０２乃至１４８９０６のそれぞれを取得し、縮小され、サブピクセル最適化された対応するＧＩＦＦアニメーション一式を生成するために、関数１４８０８に於いてサブピクセル最適化する。次に、関数１４８１６は、サブピクセル最適化されていないＧＩＦＦアニメーションが表示される方法と実質的に同一の方法で、サブピクセル最適化された画像を表示する。
【０５２０】
薄型クライアントコンピュータ上のスクリーンを含む、サブピクセルアドレス可能スクリーン上のウェブページへのアクセスを含む上述の発明に関する他の特徴を用いて、図１４７及び１４８に関して上述されたサブピクセル最適化を使用することが出来る。
【０５２１】
図１４９は、３Ｄアニメーションをサブピクセル最適化する方法１４９００を図示している。この方法は、アニメーションの連続フレームのそれぞれに対して、関数１４９０４乃至１４９０８一式を実行することを含んでいる。
【０５２２】
関数１４９０４は、現在のフレームのビットマップ、又は、最後のフレームから変更された画像の少なくともそれらの部分のビットマップを作成するために、３Ｄアニメーションエンジンを実行する。この関数は、そうしたビットマップのサブピクセル最適化されたバージョンが表示される全ピクセル解像度よりも高解像度で、そうしたビットマップを生成する。
【０５２３】
次に関数１４９０６は、フレームビットマップ、又は、少なくとも最終フレームからのフレームビットマップに於いて実行された変更を、縮小及びサブピクセル最適化するために、例えば上述された技術などの技術を使用する。
【０５２４】
次に、関数１４９０８は、フレームビットマップの、縮小され、サブピクセル最適化された画像、又は、少なくともフレームの変更された部分の、縮小され、サブピクセル最適化された画像を、サブピクセルアドレス可能スクリーン上に表示する。
【０５２５】
ユーザがゲームを実行することができ、サブピクセル最適化によって可能となるより高度な解像度で、そうしたゲームで生成される画像を視認することが出来るようにするためには、図１４９に図示された方法が特に有用である。小型スクリーンを有するハンドヘルドデバイスに於いて、そうした目的をその方法に使用することが出来る。リモートコンピュータ上で生成されたアニメーション画像を表示するクライアントコンピュータ、及び、そうした動画をローカルに生成するコンピュータの両方にその方法を使用することが出来る。
【０５２６】
図１５０及び１５１は、図１４９の方法がクライアントサーバのゲームアプリケーションで使用可能な一つの方法を図示している。
【０５２７】
図１５０は、そうした実施形態に於いて使用されるゲームサーバコンピュータ上でのプログラム１５０００を図示している。数字１５００２及び１５００４で示されているように、ゲームサーバが、１つ又は複数のゲームクライアントコンピュータからユーザ入力を受信する場合、入力をゲームエンジンに送信する。そうした入力がスクリーン入力の場合、ユーザのスクリーン解像度と、ゲームエンジンがスクリーン入力と関連付ける空間との差を補正するために、入力が適切に拡大／縮小される。
【０５２８】
関数１５００６に於いて、ゲームエンジンのコンピュータは、現在のフレーム、又は、以前の表示リストに対する現在のフレームに関連付けられた任意の変更に対する表示リストを算出する。次に、関数１５００８は、３Ｄレンダリングプログラムに、現在のフレームに対して生成された表示リストに対応するフレームビットマップをレンダリングさせ、現在のフレームのビットマップに必要な変更をレンダリングさせる。そうしたビットマップは、関数１５０１０によって生成されるサブピクセル最適化画像の解像度よりもより高度な解像度で生成される。
【０５２９】
クライアントが異なるクライアントに対して異なるスクリーン画像を生成する場合、これらの別個のビューのそれぞれに対して、関数１５００８が別個に実行される。
【０５３０】
次に、関数１５０１０は、現在のフレームのビットマップ、又は、フレームに対する現在の変更のビットマップを、縮小し、サブピクセル最適化する。また、この関数がそうした変更のビットマップのみを縮小している場合、これに対して、それはそれらの変更に関連付けられたスクリーン位置を縮小する。
【０５３１】
次に、関数１５０１２は、サブピクセル最適化されたビットマップを圧縮し、そして適切な場合には、それらの位置を圧縮し、関数１５０１４は、圧縮され、拡大／縮小され、サブピクセル最適化された画像と、クライアントに表示するための任意のそうした位置をダウンロードする。
【０５３２】
図１５１は、図１５０のプログラムに使用するために設計されたゲームクライアント上のプログラム１５１００を図示している。
【０５３３】
関数１５１０１は、ダウンロードされた画像を受信し、関数１５１０２はそれらを解凍する。次に、関数１５１０４は、拡大／縮小された、サブピクセル最適化されたアニメーションフレームビットマップを表示、又は、以前のアニメーションスクリーンの画像に対する変更のビットマップを、そうした変更に適用された位置に表示する。これはサブピクセルアドレス可能表示に於いて実行される。
【０５３４】
数字１５１０６及び１５１０８によって示されているように、クライアントがユーザ入力を受信する場合、そうした入力に関連付けられた任意のスクリーン座標が適切に変換されるように、その入力をゲームサーバにアップロードする。
【０５３５】
本発明の該特徴に関する他の実施形態に於いて、ゲームサーバとゲームクライアント間の機能性の配分は異なる可能性がある。幾つかの実施形態に於いて、プロキシサーバとは異なるゲームサーバ上で元々生成されたゲームコンテンツを薄型クライアント上に表示するために、一般的に上述のプロキシサーバに類似したプロキシサーバをサブピクセル最適化の実行に使用することが出来る。さらに他の実施形態に於いて、ゲームクライアント自身がサブピクセル最適化を実行することが出来る。
【０５３６】
図１５２は、関連付けられた透明マップを有する画像が、そうした画像、及び、関連付けられた透明マップの両方のサブピクセル最適化で表示することが可能な、本発明の特徴に関する高度に簡略化された擬似コード記述である。
【０５３７】
図１５２に図示されたプログラム１５２００は、前景画像、即ち、背景又は他の以前のビットマップの最上部の表示が関連付けられた透明ビットマップによって制御される画像、に関する拡大／縮小されサブピクセル最適化されたビットマップを生成する関数１５２０２を含む。使用されるサブピクセル最適化は、２色サブピクセル最適化、又は、多色カラーサブピクセル最適化の何れか、或いは、これら２つの組み合わせであっても良い。上述の方法を含めて、画像のサブピクセル最適化された表現を生成する方法として周知の任意の方法を使用することが出来る。
【０５３８】
関数１５２０４は、画像の関連付けられた透明マップのサブピクセル最適化を実行する。２色サブピクセル最適化を使用することが望ましいが、これは、アルファ値が０から１の範囲に及び、３コンポーネント色空間における直線に沿って変化する透明値を、透明マップの高解像度ソース画像が有するからである。そうしたソース画像アルファ値はグレースケールカラーに対応するが、これは、そのマップのサブピクセル最適化された出力画像に於ける任意のピクセルに対応する透明マップソース画像の領域が、一定の透明値で覆われる場合、その出力ピクセルのサブピクセルのすべてが同一のアルファ値を有する傾向があるからである。上述の非線形カラーバランスを使用して、透明マップの２色サブピクセル最適化を実行することが望ましい。
【０５３９】
前景画像、及び、それに関連付けられた透明マップに関するそうしたサブピクセル最適化が実行された時点で、関数１５２０６は、サブピクセル最適化表示にこの組み合わせを表示する。この処理は、表示された画像の各ピクセル列の各サブピクセルに対するループ１５２１０を含む、各ピクセル列に対するループ１５２０８を実行することを含む。関数１５２１０によって、関数１５２１２及び１５２１４が各サブピクセルに対して実行される。関数１５２１２は、現在のアルファ値をサブピクセル最適化透明マップの対応するサブピクセルのアルファ値に設定する。次に、関数１５２１４は、現在のサブピクセルの輝度を、「現在のアルファ値」に「サブピクセル最適化された前景画像の対応するサブピクセルの輝度値」を乗算した値に、「１から現在のアルファ値を減算した値」に「透明画像が描画されている背景ビットマップに於ける現在のサブピクセルの以前の輝度値」を乗算した値を加算した値に設定する。
【０５４０】
これは、前景画像が以前のビットマップ上に描画される場合に、個々のサブピクセルのそれぞれの輝度値が前景画像の対応するサブピクセル値、又は、以前のビットマップの対応するサブピクセル値から算出される程度が、サブピクセル最適化された透明マップの対応するサブピクセルアルファ値の関数として規定されることを意味する。
【０５４１】
本発明の幾つかの実施形態に於いて、透明マップに関連付けられた画像は、サーバ又はブラウザコンピュータ上で拡大／縮小及びサブピクセル最適化され、ダウンロードされ、そして、クライアントコンピュータ上に関数１５２０６によって表示される。本発明の他の実施形態に於いて、そうしたサブピクセル最適化透明画像は、記録されたデジタルメディア上で利用可能になる。さらに本発明の他の実施形態に於いて、上記画像は、それらを表示する同一のコンピュータによって生成される。
【０５４２】
本発明の他の実施形態に於いて、サブピクセル最適化されていない透明マップに含まれるアルファ値を使用して、サブピクセル最適化された前景画像を表示することが出来る。
【０５４３】
本発明の幾つかの実施形態に於いて、１つの色に知覚的に近い色のグループを表すために、非可逆カラー圧縮を使用する。１次元透明値、図７０、９６、及び、９７に関して上述された種類の３次元透明（即ち、不透明度又はアルファ）値、又は、ＲＧＢコンポーネント値と同様に、特別色次元として透明コンポーネント値を有する色値で、そうした圧縮を実行することが出来る。そうした圧縮に於いて、１又は０のアルファ値、或いは１又は０に極めて近い値を示す透明値又はコンポーネント色値が、それぞれ１又は０から懸け離れた透明値で表現されることを回避することが一般的には望ましい。これは、透明度の範囲の両極での不透明性に於ける僅かな変化に対して、透明度の範囲の他の部分に於けるそうした変化に比して、目はより敏感であるからである。
【０５４４】
サブピクセル最適化されていない画像が透明マップに使用される全ての目的のために、サブピクセル最適化された表示上で、透明マップを有するサブピクセル最適化画像を使用することが出来る。これは、アニメーション及びウェブページのレイアウトに於ける使用を含む。
【０５４５】
図１５３乃至１６２は、映像、及び／又は、アニメーションのサブピクセル最適化に関する本発明の特徴に関する、高度に簡略化された擬似コード記述である。映像及びアニメーションが使用される仮想の他のコンテンツだけでなく、ウェブブラウズのコンテンツに於いて、そうしたサブピクセル最適化を使用することが出来る。
【０５４６】
図１５３は、映像キーフレーム間の補間を使用して表示された映像をサブピクセル最適化するために使用されるプログラム１５３００を示している。このプログラムは、サブピクセル最適化される映像が圧縮フォーマットで受信される場合に使用される関数１５３０２を含む。それはそうした映像を解凍し、サブピクセル最適化することが出来る。
【０５４７】
関数１５３０４は、映像のキーフレームを縮小し、サブピクセル最適化する。関数１５３０６はキーフレーム間の補間された変更を縮小するが、サブピクセル最適化を行わない。図１５３に図示された本発明のこの特徴に関する幾つかの実施形態に於いて、そうした補間された変更をサブピクセル最適化することが出来るが、これを実行することによる利益は殆んどない。これは、そうした変更がスクリーン上にあまりにも速くあらわれるので、それらのサブピクセル最適化が認識されず、それらのサブピクセル最適化を回避することによって、コンピュータ上の負荷を低減するからである。
【０５４８】
関数１５３０８は、サブピクセル最適化されたキーフレーム、及び、サブピクセル最適化されていないフレーム間の補間を用いて、縮小された映像をサブピクセルアドレス可能表示上に表示する。
【０５４９】
本発明の他の実施形態に於いて、明確に認識するのに充分長い一つの位置で、スクリーン上に存在する映像の部分を単にサブピクセル最適化するというこの概念を、他の方法で使用することが出来る。
【０５５０】
図１５４は、表示フレームに対して描画される、部分−全体−フレーム画像要素の連続によって、全体的又は部分的に表現された映像をサブピクセル最適化するために使用することが出来るプログラムを図示している。一般的に、そうした映像もまた、全体フレーム画像を含み、必要に応じて、その中に存在する１つ又は複数のオブジェクトの動きを表すためにスクリーンを徐々に変更するために、一部−全体−フレーム描画の連続を使用する。これは、図１４９に関して上述した種類のアニメーションを含む。またそれは、図１５３に関して上述した一般的な種類のキーフレーム及びフレーム間の補間を有する映像を含む、映像圧縮の様々な方法を含むことが出来る。
【０５５１】
図１５４のプログラムは、サブピクセル最適化される映像が圧縮形式で受信される場合に使用される関数１５４０２を含んでおり、この場合、その関数がその映像を解凍する。次に、関数１５４０４は、映像に含まれる任意のフレーム画像を拡大／縮小し、サブピクセル最適化し、表示倍率でそれらを縮小する。次に、関数１５４０６は、任意の変更ビットマップを拡大／縮小し、サブピクセル最適化し、そうした画像のサイズとそれらの位置を、その倍率で拡大／縮小する。
【０５５２】
関数１５４０７及び１５４０８は、映像シーケンスに於ける拡大／縮小及びサブピクセル最適化された任意の映像フレームを、サブピクセルアドレス可能スクリーン上に繰り返し表示する。そうした映像フレームの表示後、関数１５４０６によって、その変更ビットマップに関連付けられた拡大／縮小位置で、そのフレームのビットマップに対して、任意の一つ又は複数の拡大／縮小され、サブピクセル最適化された変更ビットマップを表示する。
【０５５３】
図１５４の方法によって、サブピクセル最適化された映像及びアニメーションが、サブピクセル最適化に必要な演算量を低減する方法で描画可能になるということが分かるが、これは、図１５４の方法では、その映像画像に対して変更が加えられる度に、フレーム全体のサブピクセル最適化を必要とする訳ではないからである。
【０５５４】
図１５５及び１５６は、フレームに関連して移動するサブピクセル最適化された画像を表示可能な２つの異なる方法を図示している。
【０５５５】
より大きな画像に関連して、サブピクセルアドレス可能表示上で、画像が全ピクセルの値を増加させて移動するように、図１５５は固定のサブピクシレーションで画像を表示するプログラム１５５００を含む。それは、上述した方法を含む任意の方法で生成可能なサブピクセル最適化画像を保存する関数１５５０２を含む。それは、各連続フレーム時間に対して実行されるループ１５５０３を含む。このループは、関数１５５０４及び１５５０６で構成されている。関数１５５０４は、より大きな画像に関連して、画像に対する動きを算出する。この移動計算に於いて、各表示フレームでオブジェクトに対して計算された位置は、最も近い水平及び垂直方向の全ピクセル位置に近似され、画像のサイズと方向は変更されない。関数１５５０６は、それに対して計算された全ピクセル解像度位置で、関数１５５０４によって画像を表示する。画像のサブピクセル最適化されたビットマップを１つだけ計算しなければならず、その単一の画像がスクリーン上を横切るように繰り返し使用されるので、この方法はコンピュータ処理的に極めて効率的である。
【０５５６】
図１５６は、サブピクシレーションの変更によって動画を表示するプログラム１５６００を図示している。それは、移動される画像の高解像度ソース画像を保存する関数１５６０２を含んでいる。またそれは、各連続フレーム時間に対して実行されるループ１５６０３を含んでいる。このループは、あるとすれば、現在のフレームに対して、現在の変換、回転、及び／又は、高解像度ソース画像の転換を計算する関数１５６０４を含む。次に、そのループの関数１５６０６は、そのように生じた、変換、回転、及び／又は、転換されたビットマップの、縮小及びサブピクセル最適化されたビットマップを生成する。このサブピクセル最適化では、それが全ピクセル解像度よりも高度な解像度で表示されるサブピクセル配列に関連して、この変換されたビットマップの位置が考慮される。次に、フレームループの関数１５６０８は、サブピクセルアドレス可能表示上に、結果として生じるサブピクセル最適化されたビットマップを表示する。
【０５５７】
ゲームアニメーションに於ける妖精に加えて、動画文字、又は、より大きなフレームに関連して移動されるその他の視覚表現を表示するために、図１５５又は１５６に関して上述された方法の何れかを使用することが出来る。
【０５５８】
図１５５の方法は、ビジュアルオブジェクトの動きに関するより精度の低い表現を提供する傾向にあるが、コンピュータ処理的にはより効率的である。図１５６の方法は、より精度の高い視覚表現を提供するが、コンピュータ処理的には費用がかかる。
【０５５９】
本発明の幾つかの実施形態に於いて、これら２つの方法の組み合わせを使用することが出来る。例えば、オブジェクトとサブピクセル配列間に於ける可能なマッピングの小さなサブセットを保存することができ、オブジェクトが移動すると、それが表示されるサブピクセル配列に関連して、その現在位置に関するより高度な解像度の表現を最も詳細に表現する、そうした保存されたマッピングの方法で表示される。
【０５６０】
図１５７及び／又は１５８は、サブピクセルアドレス可能スクリーン上に表示するために、ＤＶＤ又はＨＤＴＶ映像を縮小し、サブピクセル最適化することによって、ＤＶＤ又はＨＤＴＶ映像の表示を最適化するために使用される、本発明の特徴を図示している。これが特に有用であるのは、垂直方向よりも水平方向に於いて、より高度なサブピクセル解像度を有するサブピクセルアドレス可能スクリーンと共に使用される場合であり、これは、一般にＤＶＤ及びＨＤＴＶ映像が、高さが高いと言うよりは実質的に幅が広い縦横比を有しているからである。
【０５６１】
図１５９は、異なる属性を有する別個のオブジェクトとして、映像画像のサブコンポーネントを表す映像フォーマットに適用可能な本発明の特徴を図示している。図１５９に於ける特別な例は、ＭＰＥＧ４映像の表示をサブピクセル最適化するプログラム１５９００を含んでいる。
【０５６２】
図１５９に図示されたプログラムは、ＭＰＥＧ４映像を受信し、解凍する関数１５９０２を含んでいる。それは、ＭＰＥＧ４映像に於いて異なる種類のオブジェクトを縮小する際に、異なるサブピクセル最適化方法を使用する関数１５９０４及び１５９０６を含んでいる。この関数は、好ましくは非線形カラーバランスを用いて、２色オブジェクトに２色サブピクセル最適化を使用し、多色オブジェクトに多色サブピクセル最適化を使用する。関数１５９０８は、サブピクセル最適化スクリーン上に、２色オブジェクト及び多色オブジェクトの組み合わせを表示し、ＭＰＥＧ４の記述によって指示されているように、スクリーンに関連して、そうしたサブピクセル最適化オブジェクトを移動させ、図１５５及び／又は１５６に関して既に議論した種類の方法を使用する。
【０５６３】
本発明の幾つかの特徴は、ＭＰＥＧ４データストリームに於ける異なるオブジェクトタイプに対して、異なるサブピクセル最適化アルゴリズムを使用することに限定されない。しかし、そうした異なるサブピクセル最適化アルゴリズムを使用することによって、例えばテキストなど、２色オブジェクトに対してより高度な知覚解像度を提供することができ、これにより、幾分改善された画像を提供するという利点を有するのである。  
【０５６４】
図１６０及び１６１は、ユーザがコンピュータネットワーク上のサブピクセル最適化映像にアクセスするシステムに関する。
【０５６５】
図１６０は、サブピクセル最適化され、縮小された映像を提供するサーバコンピュータによって使用されるプログラム１６０００を図示している。そうしたサーバは、さらに他のサーバコンピュータから、クライアントによって要求された映像にアクセスし、その後、クライアントにダウンロードする前に、それを縮小し、サブピクセル最適化するプロキシサーバであっても良い。他の実施形態に於いて、サブピクセル最適化された映像の提供は、そうした仲介プロキシサーバを介さずに実行される。
【０５６６】
図１６０のプログラムは、クライアントコンピュータから特定の映像に対する要求を受信する関数１６００２を含む。例えば、図１６０に図示された実施形態など、多くの実施形態に於いて、この要求は、映像がサブピクセル最適化される水平及び垂直方向のサブピクセル解像度も記述する。１つの固定サブピクセル解像度を有するクライアント一式を提供するだけの実施形態に於いては、要求の一部として、そうした情報を必要としない。
【０５６７】
関数１６００４は、要求された映像コンテンツを受信する。上述したように、リモートサーバから映像コンテンツにアクセスすること、実行中のコンピュータに関連付けられたＲＡＭ又は大容量記憶装置から映像コンテンツにアクセスすること、そうしたコンテンツを動的に生成させること、又は、幾つかのソースから入力された映像を選択すること、によって、これを実行することが出来る。
【０５６８】
関数１６００６は、関数１６００２の要求に関連付けられたサブピクセル解像度に受信された映像を縮小し、サブピクセル最適化する。次に、関数１６００８は、サブピクセル最適化映像を圧縮し、関数１６０１０は、要求している装置に、その圧縮された映像をダウンロードする。
【０５６９】
そうしたサブピクセル最適化画像に使用される圧縮アルゴリズムは、そうしたサブピクセル最適化された画像に於ける任意のピクセルに関連付けられた色値の位置が、比較的限られた色の距離以上の距離でＲＧＢ色空間に於いて移動されない限り、サブピクセル最適化によって可能となる増大された空間解像度を実質的に減少させることなく、ある程度の損失を有した圧縮アルゴリズムを有することが出来る。
【０５７０】
図１６１は、図１６０に記載された本発明の特徴に使用可能なシステム１６１００を表している。このシステムは、プロキシコンピュータコード１６１００、及び、薄型クライアントコンピュータコード１６１１２を有しており、これらの両方が高度に簡略化された擬似コードによって図１６１に図示されている。
【０５７１】
薄型クライアントが所定の映像に対するユーザ要求を受信する場合、関数１６１１３は、映像がプロキシに表示されるサブピクセル解像度を含む、映像に対する要求を送信することによって対応する。プロキシがそうした映像に対する要求を受信する場合、その関数１６１００によって、関数１６１０３は、映像を取得可能なサーバに、映像への対応する要求を送信する。多くの実施形態に於いて、これは、そうした要求のＵＲＬに於いて識別されたサーバである。
【０５７２】
要求された映像がプロキシサーバによって受信される場合、関数１６１０４によって、関数１６１０６乃至１６１１０が実行される。関数１６１０６は、映像を、クライアントからの要求に関連図けられたサブピクセル解像度まで縮小し、サブピクセル最適化し、関数１６１０８は、そのサブピクセル最適化された映像を圧縮し、関数１６１１０は、それを要求したクライアントに、それをダウンロードする。
【０５７３】
クライアントがプロキシから要求された映像を受信する場合、関数１６１１４によって、関数１６１１５は映像を解凍し、関数１６１１６はサブピクセルアドレス可能表示上に、その縮小され、解凍された映像を表示する。
【０５７４】
図１６２乃至１６６は、デジタルインクの見た目を向上させるために、本発明の特徴をどのように使用することが出来るかを図示している。デジタルインクは、通常、ユーザがポインティングデバイスによって文字を書く、又は、図形を描画しようとすることに対応して、スクリーン上に描画される白黒のビットマップである。従来、デジタルインクビットマップは、各ピクセルが黒、白、又は、デバイスによってはグレースケール値として表示される全ピクセル解像度で通常表現されている。
【０５７５】
本発明の１つの特徴は、より高解像度でデジタルインクを表現するためのサブピクセル最適化を使用することにある。デジタルインクがコンピュータメモリ内に於いて、点及び線、又は、そうした複数点間の曲線で表現される場合、そうした複数点間の線に関する結果的として生じる数学的記述は、スクリーンの全ピクセル解像度に比して、遙かに高い解像度を有することが出来る。
【０５７６】
図１６２は、デジタルインクを視認可能な透明度を最適化するために使用することが出来るプログラムに関する高度に簡略化された擬似コード記述である。
【０５７７】
図１６２に図示されたデジタルインクコード１６２００は、点の集合、及び、そうした複数点間の曲線又は直線として、ポインティングデバイスのストロークを記録することによって、デジタルインク描画モードの状態で、ポインティングデバイスを用いてユーザ入力に応答する関数１６２０２を含む。関数１６２０６は、直線及び曲線のサブピクセル最適化を使用して、スクリーン上にインクを描画する。実質的に任意のサブピクセル最適化スキームを用いてこれを実行することが出来るが、例えば、上述の非線形カラーバランスを使用する２色サブピクセル最適化スキームなど、２色サブピクセル最適化スキームを用いて実行することが望ましい。
【０５７８】
図１６３は、ハンドヘルドコンピュータ１６３００のスクリーン上に描画された、幾つかのデジタルインク１６３０２を図示している。この図示は、全ピクセル輝度値のみを表現可能なプリンタで印刷されるので、図１６３に図示されたデジタルインクは、グレースケールアンチエイリアスとしてサブピクセル最適化を表示する。当然のことながら、サブピクセルアドレス可能表示上で画像を見る場合、図１６３に図示されている画像も、さらに明瞭に見える。
【０５７９】
デジタルインクプログラムのユーザが、デジタルインクの部分の表現を拡大することを選択する場合、関数１６２０８によって、関数１６２１２は、非線形カラーバランスと共に２色サブピクセル最適化を使用して、ユーザが選択した拡大サイズで、デジタルインクの直線及び曲線のサブピクセル最適化されたビットマップを生成する。次に、関数１６２１２は、ユーザのスクリーン上に、その拡大された画像を表示する。
【０５８０】
図１６４は、図１６３に図示されたデジタルインク１６３０２の一部分に関する拡大された表現１６３０２Ａを図示している。これにより、図１６５に図示されたビットマップ１６３０２Ｂによって図示されているように、図１６３に図示されたデジタルインクの表現１６３０２のピクシレーションを単に拡大することによって生成される表現に比して、実質的により明瞭なデジタルインクの表現が提供される。
【０５８１】
注目すべきは、図１６５に図示されたビットマップの表現は、実際には、デジタルインクの幾つかの拡大された表現に比して、より見易いということである。これは、幾つかのデジタルインクの表現で使用されていないアンチエイリアスを用いて、図１６３に図示されたビットマップが全ピクセルグレースケール値で印刷されているからである。
【０５８２】
関数１６２１４によって、関数１６２１６は、非線形カラーバランスと共に２色サブピクセル最適化を使用して、選択された縮小されたサイズで、インクの直線及び曲線のサブピクセル最適化されたビットマップを生成し、関数１６２１８は、サブピクセルアドレス可能表示上にその縮小されたビットマップを表示する。そうした処理の結果は、図１６６に図示されたビットマップ１６３０２Ｃによって図示されている。
【０５８３】
オン又はオフの全ピクセルとして記録されたデジタルインクに対応するために、本発明のこれらの特徴を修正することが出来る。そうした「オン」のピクセルで表現された各ストロークの中心線をルーチンに評価させ、その後、上述されているように、様々なスケールでデジタルインクの中心線のサブピクセル最適画像を生成することによって、これを実行することが出来る。さらに正確ではあるが、コンピュータ処理的に費用のかかるアプローチは、そうしたデジタルインクの連続部分と、例えばベジエ曲線などの対応する直線及び曲線の連続との間の最適な適合を求める。
【０５８４】
他の実施形態に於いて、そうしたビットマップ上でサブピクセル最適化された拡大／縮小を単に実行することによって、デジタルインク描画によって生成されたビットマップ上で、サブピクセル最適化を実行することが出来る。
【０５８５】
サブピクセル最適化をグレースケールアンチエイリアスで置換することによって、デジタルインクに関する本発明の幾つかの実施形態を、サブピクセル最適化されていない表示と共に使用することが出来る。
【０５８６】
図１６７は、サーバ、クライアント、プロキシサーバ、薄型クライアント、リモート、デスクトップ、又は、上述された他のコンピュータの多くが有することが出来るコンポーネントを図示している。当然のことながら、図１６７に図示されたコンポーネントの全てが、そうした全てのコンピュータに存在する訳ではなく、殆どのそうしたコンピュータは、図１６７に図示されたコンポーネント以外に他のコンポーネントを有する。
【０５８７】
本発明の様々な特徴を用いて使用される殆どのコンピュータが、本発明のそうした特徴に関する関数を実行し、そうした特徴の方法に従ってデータ１６７０４を読み出し及び書き出しをするために、プログラム１６７０２を実行可能な何らかの種類のプロセッサ１６７１６を有している、ということを明確にするために同図が示されている。本発明は、方法だけでなく、そうしたコンピュータプログラム及びデータに関し、さらには、そうした方法を実行、又は、そうしたデータを使用するために、プログラムされた、及び／又は、ハードウェアに組み込まれたコンピュータシステムに関する。
【０５８８】
殆どのそうしたコンピュータに於いて、本発明のプログラムは、機械可読形式で、ＲＡＭ１６７０６、ＲＯＭ１６７０７、又は、例えば、ハードドライブ１６７０８、フロッピドライブ１６７０９、ＣＤ−ＲＯＭドライブ１６７１１、及び／又は、ＤＶＤドライブ１６７１３など、大容量記憶装置に保存される。また、例えば、フロッピディスク１６７１０、ＣＤ−ROM１６７１２、ＤＶＤ−ROM１６７１４、又は、仮想の任意の他の機械可読記憶媒体に、本発明のプログラムを保存することが出来る。また、例えばネットワークインターフェース１６７２０など、ある種の通信ポートを介してコンピュータが受信可能な数字１６７１９で示された伝搬信号として、本発明のプログラム及び／又はデータを表現することが出来る。
【０５８９】
図１６８は、図６０乃至９７に関して上述された非線形カラーバランス法を使用して、生成された小型のサブピクセル最適化されたフォントを示す３２０×２４０スクリーンの全ピクセルグレースケール表現を提供している。同図は、そのテキストの部分が破線部１６８００で囲まれている点を除いて、図５６と同じである。
【０５９０】
図１６９は、破線部１６８００内の図１６８に図示したビットマップの部分に関する８倍の拡大図である。図１６９は、図１６８に図示されたフォントに於ける垂直ストロークの殆どが、その左側に、そうしたフォントの明瞭さをぼかすカラーバランス分配を含んでいることを図示している。この同一の僅かなぼかしが、図１、１０、１１、９９、１０１、１０４、１１０乃至１１４、１２１乃至１２８、１３０、及び、１４４に図示された小型フォントに於いて生じている。 
【０５９１】
サブピクセル最適化フォントビットマップを生成する非線形カラーバランス法の主な利点の一つが、そうした分配がカラーバランスに必要ない場合、輝度値の分配を防止しようとする非線形法によって、文字フォント形状のぼかしを低減するための能力である。
【０５９２】
図１６９に図示された種類のフォントの主なストロークの左に、色値の望ましくない拡散を観測した場合、本発明のこの特徴の発明者は、そうした拡散を低減することが出来るかどうかを確かめようとした。この発明者は、そうした拡散のソースが何かを割り出そうとした。
【０５９３】
ここで再び図１７０を参照すると、この発明者は、非線形カラーバランス処理が行われたビットマップの生成に使用されるアルゴリズムが、サブピクセル１７０００の２つのパディングコラムを、実際の非ゼロカバレッジ値１７００４を含む（即ち、ラスタ化で表現されている文字フォント形状の一部分によって実際に覆われた）文字フォント形状のラスタ化に於ける左端のサブピクセルコラム１７００２の左側に自動的に設定するよう設計されていたことを発見した。そうした非ゼロカバレッジ値を含む左端のサブピクセルコラムの左側にある、２つのサブピクセルコラムにカラーバランス色値を拡散可能にする余地を与えるために、これを実行する。これが望ましいのは、部分的に覆われたサブピクセルの左側２ピクセルにカラーバランス分配を可能にする、上述された非線形カラーバランスアルゴリズによって、そうした左側の分散が必要とされる場合である。
【０５９４】
残念ながら、２つのそうしたサブピクセルコラム１７０００のみを用いて、ラスタ化サブピクセル配列をパディングすることは、そうしたカバレッジ値を含む左端のサブピクセルコラム１７００２を、２つのパディングサブピクセルコラムを含むピクセルコラムの右端サブピクセルコラムにするという、好ましくない影響を有する傾向がある。ＲＧＢ表示では、これにより、実際のカバレッジ値を有する左端のサブピクセルコラムが青色サブピクセルに対応する。
【０５９５】
これが望ましくないのは、それによって、フォントビットマップに於ける一番左のピクセルコラムのピクセルが、実際のカバレッジ値を有していない２つの一番左のサブピクセルと、非ゼロカバレッジ値を有する一番右のサブピクセルを有し、カラーバランスを達成するために、その非ゼロカバレッジ値が分配されることが要求されるからである。これが、図１６９に図示された主要な垂直ストロークの殆どの左方向の不鮮明な状態に関する理由である。
【０５９６】
発明者は、サブピクセルコラムの幅に比して垂直ストロークの境界を適切に段階的に位置づけ可能なシステムでヒンティングされた文字フォント形状が、例えば図１７１に図示された端部１７１００など、一番左の垂直ストロークの一番左の端部を、非ゼロカバレッジ値１７００２を含む一番左のサブピクセルコラムへの極僅かな距離で開始するために、これらの文字フォント形状をヒンティングした者によって、多くの場合設計されていることを言及した。これは、非線形カラーバランスが分配しなければならなかったサブピクセルコラム１７００２内に含まれた非ゼロカバレッジ値の量を実質的に低減し、これにより、文字のサブピクセル最適化された表現に於ける好ましくない不鮮明な状態を大幅に低減する。
【０５９７】
例えば、発明者は、最良のヒンティングの組み合わせの多くがそうしたアルゴリズムに使用された場合、結果として生じるビットマップに於ける第２の一番左のピクセルコラム１７１０３に、如何なるカラーバランス拡散をも要求しないために、全体的に覆われた１つ又は複数のピクセルを有するように、例えば図１７１に図示された垂直ストローク１７１０２などの文字の第１垂直ストロークが、右側に３つの連続するサブピクセルコラムにおける合計カバレッジを用いて、１つのサブピクセルコラムに僅かに入る一番左の端部を有することを発見した。
【０５９８】
そうした最適化されたヒンティング処理に於いて、第１垂直ストロークの一番右の端部から３、６、又は、９サブピクセルコラムの距離で始まる３つの隣接するサブピクセルコラムを覆うように、次の垂直ストロークが配置される。これにより、例えば図１７１に図示された垂直ストローク１７１０４及び１７１０６など、次の垂直ストロークが、如何なるカラーバランスも必要としないように、全体的に覆われた複数のピクセルを有する。
【０５９９】
図１６８乃至１７１に図示された種類のフォントは、従来技術の方法によって生成された殆どのサブピクセル最適化フォントビットマップに比して読みやすいが、これらの調査の結果、本発明者は、図１７２乃至１７４に図示されているように、より明瞭なサブピクセル最適化フォントの生成方法を発見した。
【０６００】
フォントビットマップを生成及び表示するための新たなより明瞭な方法を使用していることを除いて、図１７２は、図１６８に図示された種類のウェブページのサブピクセル最適化された３２０×２４０ピクセル表示を表現する、全ピクセルグレースケールビットマップを図示している。
【０６０１】
図１７３は、１７２００の数字が割り当てられた破線ボックスに図示された図１７２の部分の４倍拡大図を示している。
【０６０２】
図１７４は、図１７３の破線部１７３００に図示されたテキストの部分をさらに４倍拡大した図を示している。
【０６０３】
図１７２乃至１７４を見ると分かるように、これらの図に図示されたフォントビットマップに含まれる垂直ストロークの多くから発生する色値の水平方向の拡散は比較的少ない。注目すべきは、カラーバランスに起因する任意の拡散のためではなく、これらの図中のテキストが、背景色を有する図１７２のウェブページの部分から選択されたために、図１７３及び１７４における規則的な薄い灰色の背景が生じるということである。これらの図に図示されたフォントは、図１６８及び１６９に図示されたフォントに比して実質的に明瞭である。
【０６０４】
本発明者は、文字の一番左側の垂直ストロークの一番左の端部を、ピクセル境界の左端に揃えることによって、こうした改善を行った。多くの実施形態に於いて、図１７５に図示された３つのパディングサブピクセルコラム１７５００を、非ゼロカバレッジ値を有する一番左のサブピクセルコラムの前に挿入することによって、これを実行する。これは、文字のアウトラインによって全体的又は部分的に覆われた一番左のラスタ化ユニット（即ち、サブピクセル）を、ピクセルコラムの一番左の端部に自動的に揃える。一番左のアウトライン端部がラスタ化ユニットの一番左の端部に揃えられるように、文字がヒンティングされる場合、これにより、一番左のアウトライン端部が、結果として生じるフォントビットマップに於けるピクセルの一番左の端部に自動的に揃えられる。フォントアウトラインの一番左の端部が垂直ストロークである場合、これにより、非線形カラーバランスの後でさえ、明瞭な一番左の垂直ストロークを有するフォントビットマップを非常に簡単に生成することができる。
【０６０５】
図１７６は、本発明に使用可能な多くの可能なヒンティングインターフェースの１つを図示している。このヒンティングインターフェースに於いて、破線１７６０２は、所望の文字の左側ベアリングを対話形式で定義するために、ユーザによって移動可能なラインである。破線１７６０４は、右側ベアリングを定義する移動可能なラインである。左側ベアリングは、ペン位置と呼ばれることもある、文字が描画される位置に対する第１参照ポイントと、描画される文字のビットマップの一番左の端部との間の距離である。ライン１７６０４は、テキストのラインに沿って、ペン位置が次の連続する文字の描画開始点に通常配置されるビットマップに対する位置に対応する。右側ベアリングは、ライン１７６０４と描画される文字のビットマップの一番右の端部との間の距離である。アドバンス幅は、ライン１７６０４とライン１７６０２との間の距離として定義される。これは、文字のビットマップの描画前のペン位置と描画後のペン位置との間の通常の全幅を表している。他の実施形態に於いて該当する必要はないが、幾つかの実施形態に於いては、左側ベアリングとアドバンス幅は、複数のピクセル幅に近似される。場合によっては、左側ベアリング値、及び／又は、右側ベアリング値は負の値になり得る。例えば、連続する文字に関連付けられたビットマップは、多くの場合、互いのアドバンス幅の部分に重なるようなイタリック体のフォントでは、しばしばこのような事態が発生する。
【０６０６】
図１７６に図示された小型の矩形ドット１７６０６のそれぞれは、サブピクセル最適化フォントビットマップにおいて、個々のサブピクセルに対応するラスタ化ユニットの中心に対応する。この特別なヒンティングインターフェースに於いて、文字フォント形状のアウトラインに半分以上覆われたラスタ化ユニットが黒色で示される。但し、さらに進んだインターフェースでは、そうしたラスタ化ユニットをグレースケールカバレッジ値で表示することが出来る。文字フォント形状のアウトラインは同図に図示されており、アウトラインに於いてセグメントを定義する各ポイントは、制御ポイントであろうがセグメントエンドポイントであろうが、数字が割り当てられている。
【０６０７】
図１７７乃至１８１は、図１８２に含まれた高度に簡略化された擬似コードに記載されたステップの幾つかを説明する一助となるように使用される。
【０６０８】
図１８２に図示された擬似コードが、図１７２乃至１７５に関して上述された、より明瞭な非線形のカラーバランスサブピクセル最適化ビットマップを生成するための改良された方法に関連する計算上の特徴に焦点を当てていることを除けば、図１８２は、図６０に図示された疑似コードに一般的に対応するプログラム６０００Ａに関する高度に簡略化された擬似コード記述である。
【０６０９】
この擬似コードが、文字フォント形状を配置可能なラスタ化ユニットの最もタイトな矩形配列を決定する関数１８２０２を有しており、ヒンティングによって定義されたそうしたラスタ化ユニットに対する文字フォント形状の配列を考慮に入れている。
【０６１０】
それが発生する個々のラスタ化ユニットに対するフォントアウトラインの位置は、この関数によって変更されない。したがって、そうしたアウトラインの一番左側のポイントが、それが位置するラスタ化ユニットの左側端部以外で発生する場合、そのラスタ化ユニットは、関数１８２０２によって生成される最もタイトな矩形配列の一番左側の端部で発生し、アウトラインの一番左側のポイントは、その矩形の一番左側のラスタ化ユニットコラム内で発生するが、その一番左側のコラムの一番左側の端部では発生しない。
【０６１１】
図１７７及び１７８は、この関数を説明する一助となるべく使用される。図１７７は、ヒンティングされた文字フォント形状のアウトラインに対応する。図１７８は、図１７７に図示された文字アウトラインに対して、関数１８２０２によって返される、（それぞれのサイズがサブピクセルに対応する）ラスタ化ユニットの矩形を図示している。このグリッドは、文字フォント形状を含むラスタ化ユニットが適合する、最も緊密で、最小の矩形に対応する。
【０６１２】
関数１８２０２が完了した時点で、関数６００２Ａ乃至６００６が実行される。これらは、図６０のステップ６００２乃至６００６に対応する。それらは、関数１８２０２によって返された矩形に含まれる各ラスタ化ユニットに対するカバレッジ値を決定するために使用される。そうした各カバレッジ値は、ラスタ化されている高解像度文字フォント形状アウトラインによって覆われたサブピクセルの割合を表している。
【０６１３】
図１７９は、図１７８に図示された配列に於ける各ラスタ化ユニットに対して計算されたカバレッジ値を図示している。そこでは、カバレッジが黒に色付けされたラスタ化ユニットの割合で表現される。図１７９に於いて、文字フォント形状アウトラインによって覆われたユニットの対応する部分がラスタ化ユニットの最上部で発生する場合、カバレッジを表す各ラスタ化ユニットに於ける結果として生じる棒グラフの部分は、ラスタ化ユニットの最上部に設置される。
【０６１４】
図１８０に於いて、個々のラスタ化ユニットの全てに対する棒グラフは、上述した図４６乃至５２、及び、図９２乃至９３に図示されたカバレッジ値の表現により厳密に対応させるために、対応するサブピクセルユニットの最下部から設置される。
【０６１５】
文字フォント形状がラスタ化された時点で、ステップ１８２０４は、サブピクセルカバレッジ値の結果として生じる配列を、サブピクセルアドレス可能ピクセルの配列にマッピングする。上述のタイトな矩形に於けるラスタ化ユニットの第１コラムをピクセル行の一番左のサブピクセルに揃えることによって、ステップ１８２０４はこれを実行する。これによって、非ゼロカバレッジ値を有するラスタ化ユニットの一番左側のコラムが、図１７５に関して上述された全ピクセルに一番左のサブピクセルコラムとして配置される。図１７７乃至１８１で図示された例では、これによって、結果として生じるサブピクセル配列が、図１８１に於いて１８１０２とラベル付けされた中央の５つのピクセルコラムに図示されているように見える。
【０６１６】
次に、ステップ１８２０６は、現在の文字に対して生成されているビットマップ配列を、３つのサブピクセルで構成されるピクセルコラム１８０４に当てる。実際の非ゼロカバレッジ値を含む一番左側のサブピクセルコラムを有するピクセルの左側にこのパディングコラムを設置する。これにより、この例のサブピクセル配列が、図１８１のピクセルコラム１８１０４及び１８１０２の組み合わせによって示されるように見える。
【０６１７】
次に、ステップ１８２０８は、ビットマップのサブピクセルコラムの合計が３の偶数倍、即ち、全ピクセルコラムの偶数倍になるように、ビットマップ配列に右側の２つ又はそれを超えるサブピクセルコラムを当てる。これにより、この例のサブピクセル配列が、図１８１のピクセルコラム１８１０４，１８１０２，及び、１８１０６の組み合わせによって示されるように見える。
【０６１８】
ステップ１８２１０は、パディングピクセルコラムの追加を相殺するために、左側ベアリング値、及び／又は、右側ベアリング値を調整する。したがって、例えば、さもなければ１ピクセル幅の左側ベアリングを有するビットマップは、左側パディングコラムの追加を相殺するために、ゼロの左側ベアリングを有するように変更される。同様に、右側に追加された余分のピクセルコラムを有するビットマップは、１ピクセル幅だけ右側ベアリングを減少させる。
【０６１９】
次に、関数１８２１２は、多くの実施形態において、上記図６０に図示されたループ６００８によって記載されたステップに対応する非線形カラーバランスを実行する。
【０６２０】
これが実行された時点で、上述の図９６に記載された種類のパックト色値表現を使用する実施形態に於いて、ステップ１８２１４は、カラーバランス処理後に生じるピクセル色値を、より制限されたカラーパレットからの対応値に変換する。
【０６２１】
ここで留意すべきは、図１８２の方法によって、図１６８及び１６９に関して上述された不要な色拡散を引き起こしがちになることなく、必要となる可能性のある任意のカラーバランスのための余地が与えられるということである。図１８２の方法は、ラスタ化されているフォント形状によって覆われた領域に対応する任意のサブピクセルの左側及び右側に少なくとも２つのサブピクセルが存在することを確実にすることによって、これを実行する。
【０６２２】
本発明のこの特徴に関する他の実施形態に於いて、不鮮明さを低減する非線形カラーバランスの能力を最大限に利用するために、フォント形状及び垂直ストロークの一番左の端部及び一番右の端部を全ピクセル境界に揃えるための他の方法が使用される。幾つかのそうした実施形態に於いて、パッディングピクセルコラムがフォントビットマップの左側又は右側に追加されたかどうかは、カラーバランス分配がそうした位置で必要とされたかどうかという関数となり得る。
【０６２３】
図１８３は、図１８２に記載された方法によって生成されたビットマップを使用して、文字の文字列を描画するための関数を記載している。この擬似コードは、図１８２の方法で生成されたビットマップに使用された本発明の特徴に焦点を当てているという点を除いて、図９７に関して上述された擬似コードに類似している。
【０６２４】
図１８３に図示された描画文字列関数１８３００が呼び出される場合、ステップ１８３０２は、ペン位置を文字列の表示が先頭になっている場所を示す描画文字列呼び出しによって特定された開始位置に設定する。
【０６２５】
次に、図９７に記述されたループ９７１４に類似するループ９７１４Ａが、表示に対する文字列の各文字に対して実行される。
【０６２６】
このループに於いて、ステップ９７１６は、現在の文字のフォントビットマップにアクセスする。次に、ステップ１８３０４は、文字の開始点を現在のペン位置に設定する。次に、ステップ１８３０６は、左側ベアリングによって現在のペン位置を調整する。上記に於いて既に述べたように、左側ベアリングは、文字ビットマップに余分な１ピクセルコラムがその左側に当てられているという事実を考慮するために、通常の状態から変更されているので、左側ベアリングが１ピクセルコラムの幅だけ減少されている。
【０６２７】
次に、ステップ９７１８Ａがフォントビットマップに於ける各ピクセルに対して実行される。これは、現在のピクセルの値が非ゼロであるかどうかを確認するためにテストを行うサブステップ１８３０８を有する。現在のピクセルの値が非ゼロであれば、画面上に於いて、現在のペン位置の関数として定義された位置にピクセルを描画する。
【０６２８】
現在のピクセルの値がゼロの場合、それは全体的に透明なピクセルを表現し、これは、以前、現在のピクセルの位置に存在した背景色が変更されずに残されていることを意味する。本発明のこの実施形態に於いて、図９６に記載された関数は、そうした全体的に透明なピクセルを表現するために、ゼロの値を保持している。
【０６２９】
透明なピクセルを書き込まないようにすることは、図１８３に記載された実施形態に於いて、ビットマップの全てのピクセルに適用される。透明なピクセルを書き込まないようにすることは、図１８２に関して上記したステップ１８２０６によって、文字フォントビットマップの一番左側の端部に設置されたパディングコラムに於けるピクセルに関しては特に重要である。これは、そうしたパディングコラムに於けるピクセルが、垂直ストローク境界が垂直ピクセル境界に揃えられている場合に非線形カラーバランスの結果として、パディングコラムに拡散された色値を有さないからである。その結果、そのようなピクセルは透明になり、左側の文字によってピクセル位置に設置されている可能性のある色値は、変化のない状態を保持することが可能でり、これにより、カバレッジ又はカラーバランス情報を有する隣接文字のピクセルコラムを互いに近接して設置することが出来る。
【０６３０】
透明で、記載のない、「ｅ」に関連付けられた左側のパディングコラムを通じて表示可能となっている「ｗ」からの色値を有する場合、例えば、図１７３の数字１７３０２によって示された位置においてこれを確認することが出来る。また、「ｒ」と「ｅ」の間のピクセルコラムが、「ｅ」の透明なパディングピクセルコラムに重ねられていない「ｒ」からの色値を有する図１７４の数字１７４０２によって示された位置でこれを確認することが出来る。
【０６３１】
当業者には理解可能であるが、関数９７１８Ａは、ビットマップのそれぞれを適切な位置に描画するために、ピクセルが描画される位置を制御するある種の繰り返しが、フォントビットマップの各行に対して繰り返されることを要求する。
【０６３２】
当然のことながら、本発明の他の実施形態に於いて、次の文字の対応するピクセルが透明な場合に、一つの文字からの非透明色値を単に透けて見えるようにする関数というよりは、むしろ、隣接文字からの非透明ピクセル値との重なりを結合可能な関数を提供することが出来る。
【０６３３】
そうした処理がサブピクセル対サブピクセルに基づいて、そうした透明値の結合を可能にすることが望ましい。そうした処理は、さらに演算処理が必要ではあるが、間隔の近い文字のさらに正確な表現を提供することが出来る。
【０６３４】
この結果を達成する一つの方法は以下の通りである。即ち、文字間の任意の重複するピクセルに関連付けられた３つの対応するアルファコンポーネント値のそれぞれを追加し、任意のコンポーネント値を最大可能値で切り取る。そして、結果として生じるピクセルのそれぞれを描画し、前景色及び背景色がその位置でどの程度描画されるべきかを決定するために、結合されたコンポーネントアルファ値を使用する。
【０６３５】
ユーザによって移動可能なライン又は制御で構成されたインターフェース特性１８４０２を有するという点を除いて、図１８４は図１７６に関して上述されたインターフェースに類似したヒンティングインターフェースを図示している。この制御によって、ユーザは、自身の文字フォント形状アウトラインに対して、一番左側のパディングピクセルコラムに付随するピクセルコラムの一番左の端部に位置を揃えるように選択的に位置付けることが出来る。
【０６３６】
そうしたインターフェース特性が望ましいのは、単一の垂直ストローク以外の一番左の端部を有するフォントをヒンティングする場合である。例えば、最大ピクセル幅未満で、その左端部に突き出ている小型のセリフ活字を備えた一番左の主要な垂直ストロークを有する文字フォント形状を処理する場合、ヒンティング実行者が、より左側のセリフ活字ではなく、むしろ、全ピクセル境界に揃えられた主要な一番左の端部を有することを望んでいる可能性がある。図１８４に図示されたインターフェース特性は、ヒンティング実行者がそうした配列を選択し易いものにする。
【０６３７】
ヒンティング実行者に同等の能力を与える他の方法によって、図１７０又は１７１に関して上述されているように、２つのサブピクセルパディングコラムのみを追加するかどうか、または、図１７５、１８１、及び、１８２に関して上述されているように、３つ又はそれを超えるそうしたサブピクセルパディングコラムを追加するかどうかをユーザが選択することが出来る。
【０６３８】
今述べた非線形カラーバランスサブピクセル最適化画像をより明瞭にするための方法は、図１７２乃至１７４に図示された種類の小型フォントだけでなく、例えば図５５に図示された比較的大型のフォントなど、より大きなフォントにも適用することが出来る。
【０６３９】
当然のことながら、サブピクセル最適化は、通常、３つの異なる種類のピクセル、即ち、前景ピクセル、背景ピクセル、及び、中間的にカラーバランスされたピクセルで、フォントビットマップを表現することが出来る。前景ピクセルは、表現されているフォント形状によって全体的に覆われたフォント画像の部分を表現しており、文字が表現される前景色で描画される。背景画素は、フォント形状によって全体的に覆われていないフォント画像の部分を表現しており、背景色でフォントが表示される最上部に描画される。中間ピクセルは、フォント形状で部分的に覆われたピクセル、及び／又は、部分的に覆われた近傍ピクセルに対してカラーバランス分配を受け付けるピクセルを表現している。サブピクセルのそれぞれの色は、カラーバランスによって別々に決定される。
【０６４０】
図４６、４７、５２、及び、９３に関して上述された種類の従来技術の非線形カラーバランスがフォントに適用された場合、文字形状の端部が完全にピクセル境界に揃えられたとしても、文字形状の各端部を越えて、サブピクセルの色の変化の方向に、カラーバランスが実行される。ヒンティングがどんなに上手くいっても、これが全ての文字の形状の空間的な不鮮明さをもたらす。
【０６４１】
図４８、４９、５１、及び、９１に関して上述した種類の非線形カラーバランスがフォントに適用される場合、カラーバランスによって生じる空間的な不鮮明さを大いに低減するために、ヒンティングを使用することが出来る。端部がピクセル境界に揃えられている文字の形状の部分に於いて、カラーバランス分配がピクセル境界を越えて必要にならない場合が多い。これは、そうした非線形カラーバランスのみが所定のピクセル内で生じるカラーアンバランスを分配するからである。これは、前景ピクセルをそうした位置に於いて、サブピクセルの色の変化の方向に沿って背景ピクセルの次に配置させ、フォント形状の知覚される明瞭さを大幅に向上させる。このことは、図１７３及び１７４に図示されており、これらの図中で、垂直ストロークの端部がピクセル境界と一直線になるように、垂直ストロークの実質的な部分が図示された８ピクセル／ｅｍでヒンティングされている。その結果、前景ピクセルは、多くのそうした垂直ストロークの端部の実質的な部分に沿って、背景ピクセルの次に水平方向に配置される。図１６８及び１６９に図示された一番左側の垂直ストローク端部のそれ程最適ではないヒンティングを使用する場合でさえ、カラーバランスの不明瞭さの合計は、従来技術の線形カラーバランスから生じる不明瞭さの合計に比して実質的に小さい。
【０６４２】
図１８５乃至１９０は、特に、比較的小さい又は比較的低解像度のスクリーン上でブラウズが実行される場合に、ウェブページのブラウズを向上させるために使用可能なユーザインターフェースの技術革新に関する高度に簡略化された擬似コード記述である。
【０６４３】
図１８５は、図１２９乃至１３４に関して上述された選択テキストリフロー法に関するより高度なレベルの記述である。この方法１８５００は、ウェブページのコンテンツにアクセスする関数１８５０２と、ウェブページのコンテンツの最初のレイアウトを実行する関数１８５０４とを含み、ウェブページ内のテキストについて示された異なる水平方向の位置にテキストをセットする。
【０６４４】
ウェブページの記述に使用されるマークアップ言語は、テキストの異なる部分が異なる水平方向の位置、又は、ウェブページの異なる水平方向の範囲に描画されることを指示する複数の方法（２つだけ例を挙げると、テーブルとフレームの使用）を有している。
【０６４５】
そうしたレイアウトが実行された段階で、関数１８５０６は、レイアウトの要素を所定の縮尺、及び、最初のレイアウトで決定された相対的な位置に表示する。この表示が実行された後、ステップ１８５０８は、最初のレイアウトの表示に於ける所定の水平方向位置でテキストの一部を、ユーザが選択出来るようにする。これを可能にする１つの方法は、図１３０に関して上述されている。
【０６４６】
そうした選択が実行される場合、関数１８５１０によって、関数１８５１２及び１８５１４が実行される。関数１８５１２は、ユーザが選択したテキストの第２レイアウトを実行する。コラムのライン幅に比して、異なった、通常より大きなフォントサイズをテキストが有する新しいコラムのラインを越えて、この２番目のレイアウトが選択されたテキストをリフローする。この第２レイアウトが実行される場合、関数１８５１４は、ウェブページが表示されているスクリーン、又は、スクリーンウインドウ幅の少なくとも３分の２を満たす縮尺で、新しいコラムのレイアウトを表示する。
【０６４７】
図１３５乃至１３７に関して上述したように、そのように選択されたテキストリフロー法に於ける第２レイアウトによって、ユーザはウェブページのレイアウトの選択部分を、全体的に読み易いフォントサイズで見ることが出来る。小型スクリーン、及び／又は、視聴者から比較的離れたスクリーンの両方の低解像度スクリーンに関して、非常に大きな利点である。そうした方法に於ける第１レイアウトによって、ユーザはウェブページがより通常に近い表示でどのように見えるよう計画されているかを視認することができ、見たいと考えるテキストのどの部分をより大きなフォントサイズで再表示するかを、より迅速に選択することが出来る。
【０６４８】
図１８６は、図１１８乃至１２０に関して上述した一般的な種類のズーム・トゥ・フィット法１８６００に関する高水準の擬似コード記述である。
【０６４９】
この方法は、ウェブページのコンテンツにアクセスする関数１８６０２と、ウェブページのコンテンツをレイアウトする関数１８６０４を含んでいる。
【０６５０】
そうしたレイアウトの表示がスクリーン上に表示される時点で、関数１８６０８によって、ユーザはこの表示を越えてポインティングデバイスをドラッグすることが出来る。そうしたドラッグ中、スクリーンの端部に関連付けられた境界を越えてドラッグが継続する場合、関数１８６１０によって、関数１８６１２がスクリーン端部の反対側で以前にはスクリーン上に存在しなかったレイアウトの部分を、スクリーン上でスクロールさせる。これを実行するのは、大き過ぎて現在の表示縮尺でスクリーン上に全体的に適合することが出来ないレイアウトの部分、又は、一部だけがスクリーン上に存在するように、ドラッグの開始時点で位置したレイアウトの部分を、ユーザがドラッグで選択できるようにするためである。
【０６５１】
ユーザがドラッグを解除する場合、関数１８６１４によって、関数１８６１６及び１８６１８が実行される。関数１８６１８によって、レイアウトの一部がドラッグの最初と最後に一致するレイアウト上の位置に基づいて選択されたものとして定義される。そのように選択された部分は、ドラッグの水平又は垂直方向の範囲を有するレイアウトの部分、又は、そうしたドラッグの最初と最後に対応する対角部を有する領域を備えたレイアウトの部分に対応することが可能である。そして、関数１８６１８は、レイアウトの選択された部分を実質的にスクリーンに適合する縮尺で表示する。実質的にスクリーンに適合するということは、選択された幅、高さ、又は、領域が、対応する寸法又はスクリーンの寸法、或いは、表示が実行されているスクリーンの部分の、少なくとも３分の２を占めることを意味する。 
【０６５２】
図１８７は、ユーザがウェブページのレイアウトの表示内で、容易にナビゲート可能なドラッグスクロール法１８７００に関する高水準の擬似コード記述である。
【０６５３】
この方法は、ウェブページのコンテンツにアクセスする関数１８７０２、ウェブページのコンテンツのレイアウトを実行する関数１８７０４、及び、所定の倍率でレイアウトの全部又は一部を表示する関数１８７０６を含む。その後、関数１８７０８によって、ユーザはレイアウトの表示を越えてポインティングデバイスをドラッグすることが出来る。関数１８７１０は、以前スクリーン上に存在しなかったレイアウトの部分を、スクリーン端部を越えてスクリーン上でスクロールすることにより、スクリーン端部に関連付けられた境界を越えて、そうした任意のドラッグに対応する。
【０６５４】
ズーム選択関数の一部、又は、ズーム選択関数から独立したものとして、この方法を使用することが出来る。この方法には、表示スクリーンの端部、又は、表示スクリーンの端部近傍で、境界を越えてポインティングデバイスを単にドラッグさせることにより、ユーザがウェブページのレイアウトの表示をスクロール出来るという利点を有する。この方法は、スクロールバーを利用したスクロールに比して、かなり自然で速い。
【０６５５】
図１８８は、ウェブページのレイアウトの所望の部分に於いて、ユーザが即座にズームインすることを選択可能なクリックズーム法１８８００に関する高水準の擬似コード記述である。この方法は、ウェブページのコンテンツにアクセスする関数１８８０２、ウェブページのコンテンツのレイアウトを実行する関数１８８０４、及び、ウェブページのレイアウトの全部又は一部を第１縮尺で表示する関数１８８０６を含む。関数１８８０８によって、ユーザは第１縮尺で表示されたレイアウトの表示に於いて、選択された位置でポインティングデバイスをクリックすることができ、関数１８８１０は、クリックが実行されたレイアウトに於ける位置の周囲でレイアウトの部分のズームイン表示を実行することによって、そうしたクリックに応答する。一般的に、ズームイン表示は、クリックが実行されたレイアウトに於ける位置を中心とする。
【０６５６】
図１８９は、図１２１乃至１２８に関して上述されたズームクリック法１８９００に関する高度に簡略化された擬似コード記述である。
【０６５７】
この方法は、ウェブページのコンテンツにアクセスする関数１８９０２、そのコンテンツのレイアウトを実行する関数１８０９４、及び、関連付けられたポインティングデバイスを有する表示スクリーン上に、ウェブページのレイアウトの前部又は一部を第１縮尺で表示する関数１８９０６を含む。図１８９に記載されたこの方法に関する特定の実施形態に於いて、スクリーンはタッチスクリーンであり、ポインティングデバイスを人の指にすることが可能であることが意図されている。
【０６５８】
第１縮尺でレイアウトの表示が実行された時点で、タッチスクリーン表示に対して押下が実行された際に、関数１８９０８が対応する。そうした押下が発生する場合、この関数によって、関数１８９１０乃至１８９２２が実行される。
【０６５９】
関数１８９１０は、スクリーン上で、第１縮尺のウェブページの部分の表示を、より大きな縮尺のウェブページの部分のズームイン表示に置換する。このズームされた部分は、タッチスクリーンの押下に関連付けられたレイアウトに於ける選択された位置を含む。選択レイアウト位置は、選択時の第１縮尺での表示に於いて有していた位置と、実質的に同一の位置をスクリーン上に有することが望ましい。実質的に同一位置ということは、選択された位置が、ズームの直前及び直後のスクリーン上に、スクリーン上に位置する同一の接触に対応するように見える位置を有するはずだということを意味する。これは、選択された位置のスクリーン位置に於ける変化が、そうしたズームの直後に於いて、スクリーンの幅又は高さの２０％を超える割合で（そして、望ましくは、その量に比してかなり少ない量で）変更しないことを意味することが望ましい。
【０６６０】
ズームイン表示が表示された時点で、関数１８９１２は、接触に関連付けられたウェブページのレイアウトに於ける選択された位置を示すために、スクリーンが接触されている位置の上方にカーソルを表示する。タッチスクリーンデバイスによっては、特に、比較的精密なポイントを有するスタイラスを用いて使用するように設計されたデバイスでは、そうしたカーソルを必要としないが、これは、スクリーンが接触されているポイントをユーザが相当正確に見ることが出来るからである。しかし、ポインティングデバイスとして指を用いて使用するように設計されたタッチスクリーンに於いて、ユーザがそうした接触に関連付けられたスクリーンの表示に於ける位置を正確に確認できるように、多くの場合、スクリーンが接触されている位置の上にカーソルをセットすることが望ましい。これが特に望ましいのは、例えば図１２１乃至１２８に図示された、人間の指の大きさに比して比較的小さな表示を用いてこの方法が使用される場合である。
【０６６１】
接触が続く間、関数１８９１４は、ズーム表示に於いてカーソルを対応させて移動させることによって、接触の任意の動きに対応する。また、そうした接触が続く間、スクリーンの端部を越えて、以前スクリーン上に表示されていなかったレイアウトの部分を、ズームされた縮尺でスクリーン上でスクロールすることによって、関数１８９１６はスクリーン端部に関連付けられた境界を越えて、接触の任意の動きに対応する。これにより、ユーザは、ズームクリックモードの状態でウェブページのズームされた表示内で迅速に、且つ、便利にスクロールすることが出来る。
【０６６２】
関数１８９１８は、ユーザがウェブページのズーム表示に於ける所定の位置で接触を解除する場合に応答する。接触が解除される場合、関数１８９２０は、あたかも解除位置に対応するウェブページに於ける位置でポインティングデバイスのクリックが発生したかのように動作する。例えば、ウェブリンクに対応するレイアウト位置で接触が解除される場合、システムはリンクを選択することによって対応し、ラジオボタンの位置で接触が解除される場合には、システムは、ラジオボタンの状態を切り替えることによって対応する。
【０６６３】
これが実行された時点で、関数１８９２２は、スクリーン上でズームインされたレイアウトの表示を、ポインティングデバイスの押下が関数１８９０８によって検知される前にウェブページが表示されていた同一の倍率でレイアウトの表示に置換する。
【０６６４】
図１２１乃至１２８に関して上述したように、ズームクリックによって、選択された部分のコンテンツを読み易く、且つ、ポインティングデバイスで正確に選択し易くするズームインの縮尺で、ウェブページの所望の部分をユーザが迅速に視認及び選択できるようにするための有益な技術を提供する。
【０６６５】
図１９０は、ユーザがテキストラインを表現するためにグリーキングを使用してウェブページのズームアウトビューを視認することが可能な方法１９０００に関する高度に簡略化された擬似コード記述である。グリーキングは、読み取り不可能なグラフィック表現でテキストの部分が文書中にレイアウトされるサイズに関する表現である。
【０６６６】
この方法は、ウェブページのコンテンツにアクセスする関数１９００２、ウェブページのコンテンツのレイアウトを実行する関数１９００４、及び、ウェブページのコンテンツ表示のレイアウトを有するようにユーザが選択した縮尺を検出する関数１９００６及び１９０１４を含む。
【０６６７】
ユーザがウェブページのレイアウトを所定のより大きな縮尺で表示することを選択した場合、関数１９００６によって、関数１９００８はウェブページのレイアウトの部分をそのより大きなスケールで表示させる。これは、より大きな縮尺で表示するために拡大／縮小されたビットマップ画像でレイアウトの画像を表現するための関数１９０１０を実行することと、より大きな縮尺での表示に適したサイズを有する別々のビットマップで構成されたビットマップでウェブページの文字列のレイアウトを表現する関数１９０１２を実行することを含む。
【０６６８】
一方、小さ過ぎるので、読み取り可能なサイズで、少なくとも幾つかのウェブページのテキストを所定のより小さな表示縮尺で表示することが不可能なそうした表示縮尺をユーザが選択した場合、関数１９０１４によって、関数１９０１６はより小さな縮尺でウェブページのレイアウトの部分を表示させる。これは、より小さな縮尺で表示するために縮小されたビットマップ画像を用いてレイアウト画像を表現する関数１９０１８を実行することと、より小さな縮尺での表示に於いて、個々の文字列のサイズ及び位置を示すグリーキングされたテキスト表現で構成されるビットマップを用いて、少なくとも幾つかの文字列を表現する関数１９０２０を実行することを含む。
【０６６９】
多くの場合、そうしたグリーキングに於ける文字列を表現するために使用されるビットマップは、小さな縮尺でウェブページのレイアウトに於ける対応する文字列のサイズに一致する幅、及び／又は、高さを有する直線又は矩形に過ぎない。
【０６７０】
テキストが小さすぎて読めないようなサイズでレイアウトを表示する場合、テキストのグリーキングされた表現を使用することによって、そうした表示をより容易、且つ、快適に見ることが出来るようになり、一般に、そうしたグリーキングは、読み取り不可能な小さなフォントビットマップから対応する文字列画像を生成する場合に比して、その生成に必要な演算処理が少ない。
【０６７１】
図１９０に図示された方法に関する主要な使用方法の１つは、ユーザに対してウェブページのレイアウトのオーバービューを即座に視認可能とさせ、例えば、図１３６及び１３７に関して上述されたウェブページなど、そうしたウェブページの異なる部分を即座に選択可能にさせることである。
【０６７２】
コンピュータユーザインターフェースの当業者は、図１８５乃至１９０に記載された方法の幾つかを、互いの組み合わせ、及び、単一ユーザインターフェースモードの一部として上述された本発明の他の特徴との組み合わせで使用することが出来るが、その他の方法を、一般的に異なるユーザインターフェース、又は、異なるユーザインターフェースモーで使用するということを評価するだろう。
【０６７３】
図１９１乃至２２９は、例えば携帯電話など、非常に小型のスクリーン表示に於いて特に有用であるが、他の種類のコンピュータに於いても使用可能な発明の特徴を説明している。この明細書では、本発明のこれらの特徴をまとめて本発明の新規特徴と呼び、本出願が優先権を主張する本出願の開始時点でリストに上げられた関連出願の何れにも特許請求されていないと信ずる。
【０６７４】
図２１７は、図２１７乃至２２５に関して記述されている本発明の新規特徴に関する実施形態に於いて、プロキシサーバ上で実行されたメインループ２１７００の高度に簡略化された表現である。この実施形態は、図１１５及び１１６に関して上述した種類のクライアントプロキシシステムを使用している。図２１７のテキスト２１７０２によって図示されているように、このメインループのステップは、テキスト２１７０４乃至２１７０６によって示された相違点を除いて、図１１５に関して上述したステップに類似している。 
【０６７５】
テキスト２１７０４で図示されているように、図２１７乃至２２５に図示された特定の実施形態は、図１１５の関数１１５２６乃至１１５３２に記述された再スケール（拡大／縮小）をサポートしない。本発明の新規特徴に関する他の実施形態は、オーバービューウインドウ、及び／又は、拡大ビューウインドウに於けるそうした拡大／縮小をサポートすることが出来る。
【０６７６】
テキスト２１７０６で示されているように、図２１７乃至２２５に記載された本発明の新規特徴に関する特定の実施形態に於いて、プロキシは、所望の仮想スクリーン幅を要求するという事実以外に、レイアウト幅の決定に役立てるために、レイアウトのサブセットとして、仮想スクリーンに関するコンセプトを有していない。 レイアウトエンジンは、レイアウト要素のサイズがより大きな仮想レイアウト幅を要求しない限り、仮想レイアウトをこの要求された幅に限定しようとする。図１１５に記載された実施形態に於いては、仮想スクリーンを最初に移動させる必要があるが、この実施形態に於いて、プロキシは仮想スクリーンとしてレイアウト全体を処理し、最初に仮想スクリーンを移動させる必要なく、仮想レイアウトに於ける任意の倍所で発生するクリックに対応することが出来る。
【０６７７】
図２１７乃至２２５に図示された実施形態は、図１１５に関して記載された実施形態のように、所定のウェブページのレイアウト全体の表示リストを薄型クライアントにダウンロードする。これにより、クライアントコンピュータは、ウェブページの連続部分をプロキシにダウンロードさせるために必要な遅延を被ることなく、ウェブページの新たな部分に移動されたクライアントの表示として、ダウンロードされたウェブページに於ける任意の位置にその表示を即座に移動させることが出来る。
【０６７８】
本発明の他の実施形態に於いては、ウェブページ全体を一度にダウンロードしなくても良い。例えば、本発明のこうした新規特徴の一つの代表例では、プロキシサーバの仮想レイアウトの８００×９４５部分に対応する、４００×４７３ピクセルの表示リストをダウンロードした。そうした実施形態に於いて、ユーザがウェブページの以前ダウンロードされた部分から移動した場合、クライアントは、その後でウェブページのレイアウトの新規部分をダウンロードしたプロキシに通知する。
【０６７９】
図２１８は、本発明の新規特徴に関連するクライアントコンピュータのブラウザプログラムのメインループ２１８００の一部を説明している。同図には図示されていないが、当然のことながら、クライアントのメインループは図１１６に関して上述されたそうしたステップに類似のステップを含む。さらに、それは数字２１８０２乃至２１８７８で示された関数を含む。
【０６８０】
関数２１８０２は、関数２１８０４乃至２１８０６を実行させることによって、プロキシサーバからの要求されたウェブページに関する表示リストの受信に対応する。関数２１８０４は、表示の最初に選択された部分、即ち、任意のスクリーンウインドウに最初に示される部分を、ダウンロードされた表示リストで示されているように、ウェブページのレイアウトの上部左隅にセットする。これは、ユーザがウェブページの他の部分を表示目的で選択するために何らかの対処をする前に、任意の表示スクリーンに表示されるウェブページレイアウトの部分である。
【０６８１】
代替実施形態に於いて、表示目的で最初に選択されたウェブページの部分は、例えば、図１１５のステップ１１５０２に関して上述した種類のビュー設定の使用等、他の手段で設定可能である。
【０６８２】
関数２１８０６は、ダウンロードされた表示リストの連続する要素をクライアントコンピュータ上に保存される表示リストデータ構造に変換することによって、それらの要素のクライアントによる受信に対応する。現在の実施形態に於いて、ダウンロードされた表示リストは、クライアント上のウェブページを示す表示リストにセットされることになる対応するデータ構造を決定するために、ステップ２１８０６に於けるクライアントブラウザで後に解析されるページ記述言語で実際に伝達される。
【０６８３】
幾つかの実施形態に於いて、オーバービュー及び拡大ビューウインドウに対するビットマップは、ダウンロードされたウェブページレイアウトに対応する表示リストから動的に生成される。他の実施形態に於いて、レイアウトビットマップは、ダウンロードされた表示リストから該表示リストで指定された縮小された解像度で作成され、拡大表示は単に最大解像度で該ビットマップの一部を表示し、オーバービューは該ビットマップのさらに縮小されたバージョンを表示する。
【０６８４】
関数２１８０８は、図２１８の受信された種類の入力の下で意図された一つ又は複数の関数にプログラムフローを向かわせることによって、所定種類の入力の受信に対応する、分岐関数を示している。
【０６８５】
仮想的な任意の適切なユーザインターフェースハードウェア、及び／又は、ソフトウェアルーチンによって、分岐関数２１８０８が対応する入力を生成することが出来る。図１９１に図示された種類の携帯電話を使用する場合、図１９１及び１９２に図示された携帯電話に類似の種類のメニュー１９１０４を使用することによって、及び、そうした携帯電話のフォンパッド１９１０５に於ける所望のメニューアイテムに対応する数字を有するキーの押下によって、そうした選択を実行することが可能である。また、ボタン１９１０８及び１９１１２の一つを押下することによって、そうした入力の一つ又は複数を選択することが可能であり、ボタン（１９１０８）及び１９１１２のそれぞれは、所定時間でキー定義タブ１９１０６及び１９１１０のそれぞれに定義された現在の関数を有する。例えば図２２９に図示された実施形態など、携帯情報端末（ＰＤＡ）で実行する実施形態を含む他の実施形態に於いて、ユーザ入力の入力に適切な任意のユーザインターフェースを使用することが出来る。
【０６８６】
関数２１８１０及び２１８１２によって図示しているように、ユーザが図１９５乃至１９９に図示された種類の分割ビューを見たいという要望を示す入力を生成する場合、プログラムはビューモードを分割ビューモードに設定する。これにより、図２１９の関数に対応する、図２１８に図示された数字２１８５６及び２１８５８によって示された関数を実行することによって、クライアントブラウザを分割ビューモードで実行する。
【０６８７】
関数２１８１４及び２１８１６は、ビューモードをオーバービューオンリーモードに設定することによって、図１９１乃至１９３に図示された種類のオーバービューオンリーモードを見るというユーザ選択に対応する。これにより、クライアントブラウザは、図２２０の関数に対応する、図２１８に於ける数字２１８６０及び２１８６２で示された機能を実行することによって、オーバービューオンリーモードで機能する。
【０６８８】
関数２１８１８及び２１８２０によって示されているように、図１９４に図示されたタ種類の拡大オンリービューをユーザが選択する場合、該ビューモードは拡大オンリーモードに設定される。これにより、図２２１の関数に対応する、数字２１８６０及び２１８６２で示された拡大オンリーモード関数が実行される。
【０６８９】
関数２１８２２及び２１８２４は、ビューモードを拡大鏡モードに設定することによって、図２０８乃至２１１に図示された種類の拡大鏡ビューを見るためのユーザ選択に対応する。これにより、図２２４の関数に対応する数字２１８６４及び２１８６６で示された拡大鏡モード機能が実行される。
【０６９０】
ユーザが図２０５乃至２０７に図示された種類のリフローテキストオンリービューを選択する場合、関数２１８２６及び２１８３０は、ビューモードをリフローテキストロンリービューに設定する。これにより、図２２２の関数に対応する、数字２１８６８及び２１８７０で示された関数が実行される。
【０６９１】
関数２１８３２及び２１８３４は、ビューモードをリフローテキスト分割ビューモードに設定することにより、図２０１乃至２０３に図示された種類のリフローテキスト分割ビューを見るためのユーザ選択に対応する。これにより、図２２３Ａ及び２２３Ｂの関数に対応する、数字２１８７２及び２１８７４で示された関数が実行させる。
【０６９２】
ユーザがリフローテキストサイズ選択を実行する場合、関数２１８３６及び２１８３８は、現在のリフローテキストサイズを選択されたサイズに設定する。多くの好ましい実施形態に於いて、リフローテキストサイズは、例えば、「小」、「中」、「大」、及び、「特大」としてラベル付け可能な複数の一連のサイズの内、選択されたサイズを示す。それぞれのそうしたサイズ選択によって、通常、関連付けられた異なるサイズのフォントを有するウェブページテキストが、例えば、ヘディングテキストをボディテキストに比して大きくすることにより、そうした異なるサイズに幾分比例する方法で拡大／縮小される。
【０６９３】
ユーザがコラム幅制限のオン／オフの状態を切り換えることを選択する場合、関数２１８４０及び２１８４２は、コラム幅制限が予めオフの状態であればオンの状態に切り換えて、予めオンの状態であればオフの状態に切り換える。図２２５乃至２２８に関して後述するように、コラム幅制限は、拡大ビューウインドウ内で適合する幅にウェブページのレイアウトに於けるテキストコラムの幅を制限する。
【０６９４】
ユーザがカーソルナビゲーションを選択する場合、関数２１８４４及び２１８４６はナビゲーションモードをカーソルナビゲーションに設定する。多くの携帯電話に関する実施形態に於いて、これにより、例えば図１９１に図示されたスイッチ１９１１４で、ナビゲーションロッカースイッチの上下左右の動きが、図１９１乃至２００に図示されたカーソル１９１１６を対応する方向に直接移動させる。
【０６９５】
ユーザがビューナビゲーションを選択する場合、関数２１８４８及び２１８５０は、ナビゲーションモードをビューナビゲーションに設定する。これにより、ナビゲーションスイッチの上下左右の動きが、対応する方向に拡大ビュー、テキストリフロービュー、又は、他の種類のビューを直接移動させる。
【０６９６】
例えば、カーソルがウェブページに表示されたリンク上に位置する際に選択ボタンを押下することによって、ユーザがリンクを選択する場合、関数２１８５２及び２１８５４は、プロキシサーバに該リンクに関連付けられたウェブページに対する要求を送信し、そのソースからのウェブページに対する要求を含む、図１１５及び２１７に関して上述された方法でプロキシサーバに対応させ、ウェブページのレイアウトを実行し、その後、該レイアウトに対応する縮小された表示リストを作成し、クライアントにダウンロードする。
【０６９７】
上述の通り、数字２１８５６及び２１８５８、数字２１８６０及び２１８６２、数字２１８６４及び２１８６６、数字２１８６８及び２１８７０、数字２１８７２及び２１８７４、数字２１８７６及び２１８７８に対応する関数については、それぞれ、図２１９、２２０、２２１，２２２、２２３Ａ及び２２３Ｂ、及び、２２４に於いて、さらに詳細に説明されている。
【０６９８】
図２１９は、ビューモードが分割ビューに設定される場合に実行される、一連の関数２１９００を説明している。これらの関数により作り出されたスクリーンショットは、図１９５乃至１９９に図示されている。
【０６９９】
関数２１９０２は、表示関数２１９０４乃至２１９１０によって作り出された要素を同時に表示する。
【０７００】
スクリーンユーザインターフェースの当業者が理解しているように、多くの実施形態に於いて、同図、及び、図２２０乃至２２４に図示された表示関数は、通常、イベント駆動型であり、これは、それらの表示関数が、関連付けられた表示要素の表示を作成し、変更し、移動させることを示すイベントに対応して、通常、スクリーン上に表示されたビットマップに対して変更を加えるだけだということを意味する。
【０７０１】
関数２１９０４は、例えば図１９５に図示されたオーバービューウインドウ１９２００Ａ等のオーバーウインドウをスクリーンの第１水平部分に表示する。
【０７０２】
図１９５乃至１９９に図示された分割スクリーンに関する実施形態は、マイクロソフト社によってサポートされたスマートフォン仕様に於いて使用された１７６×２２０ピクセル解像度で表示されている。この実施形態に於いて、オーバービューウインドウは、その中に位置する可能性のある任意のスクロールバーを含め、合計１７６×１３２ピクセルのサイズを有しており、殆どのデスクトップコンピュータ及びラップトップコンピュータに対して一般的な、同一の縦横比４対３をそのサイズに割り当てている。
【０７０３】
詳細に説明されている実施形態に於いて、プロキシサーバの仮想レイアウトに於ける８００ピクセル幅、及び、ダウンロードされた表示リストによって表示された縮小レイアウトに於ける４００ピクセル幅に対応するレイアウトの一部に適合するように、オーバービューウインドウ１９２００Ａは、表示リストに記載された解像度から水平方向及び垂直方向に縮小された、ダウンロード済みの表示リストで説明されたレイアウトの一部を示す。オーバービューウインドウが垂直スクロールバーを含む場合、表示されたレイアウトの部分は、スクロールバーに必要とされる幅に減少される。
【０７０４】
他の実施形態に於いて、オーバービューウインドウに適合するために拡大／縮小されたウェブページ全体を有する能力をユーザに提供することが出来るが、ウェブページのサイズが大き過ぎて、視聴者にとって、そのように拡大／縮小されたビューが殆ど役に立たなくなるのであれば、多くの場合、これは望ましくない。
【０７０５】
関数２１９０６は、図１９５に図示された拡大された表示ウインドウ１９４００Ａをスクリーンの第２水平部分に表示する。図１９５乃至１９９に図示された実施形態に於いて、全体的に拡大されたウインドウは、それが表示されるスクリーンの最大１７６ピクセル幅、及び、８８ピクセル高を有する。これは、プロキシサーバ上に形成されたプロキシサーバの仮想レイアウトに於ける３５２×１７６ピクセルのサイズに対応する。
【０７０６】
拡大されたビューウインドウは、ダウンロードされた表示リストに記載された最大解像度でオーバービューウインドウに図示されたレイアウトの一部のサブパートを表示している。図示された実施形態に於いて、拡大されたビューウインドウは、オーバービューウインドウに関連して「拡大」される。実際、プロキシサーバ上で形成された仮想レイアウト、及び、その要素の多くが殆どのデスクトップコンピュータ又はラップトップコンピュータ上で見られるサイズに関連して、それは倍率２で縮小される。
【０７０７】
拡大されたビューウインドウに於けるテキストはアンチエイリアスフォントビットマップで表示され、該ビットマップは、拡大されたビューウインドウに表示される実際の解像度に対して、可読性を最適化、又は、改善するために選択された文字アウトラインの形状及びピクセル配置を有する。拡大されたウインドウを表示するスクリーンが、垂直方向で実行されるサブピクセル文字列を有する場合、図５５乃至９７、及び、図１６８乃至１８４に関して上述されたフォントと全く同一、又は、類似の垂直方向にサブピクセル最適化されたフォントを使用することが出来る。水平方向でサブピクセルストリッピングが実行される場合、上述の非線形サブピクセル最適化の水平換算を使用するフォントなど、水平方向にサブピクセル最適化されたフォントを使用することが出来る。
【０７０８】
関数２１９０８は、図１９５乃至１９９のオーバービューウインドウに表示された、拡大されたビューインジケータ１９５０４を表示する。これは、オーバービューウインドウに表示されたウェブページレイアウトに関連して、拡大されたビューウインドウに現在表示されているレイアウトの一部の位置を示す。
【０７０９】
関数２１９１０は、オーバービューウインドウ、及び、拡大されたビューウインドウの両方に於いて、図１９５乃至１９９に図示されているカーソル１９１１６を表示する。該カーソルは、オーバービュー及び拡大されたビューの両方のそれぞれに於けるレイアウトに関連して、同一位置を有する。
【０７１０】
このカーソルは、異なる実施形態、異なるビューウインドウに於いて、又は、選択可能なリンク、テキスト、テキスト領域、他の種類のウェブコンテンツの上に位置するかどうかに関する関数として、異なる形状を有することが出来る。図１９１乃至２１１に関する様々な実施形態に於いて、カーソルは、小型の十字形状１９１１６、リンク選択記号１９１１６Ａ、又は、テキストカーソル１９１１６Ｂとして図示されている。
【０７１１】
低解像度表示に於いて、カーソルは比較的大きくなる傾向があり、これにより、高解像度表示に比して、テキスト及び画像の視認をさらに妨害する傾向にあるので、幾つかの実施形態に於いては、ユーザは、カーソルの表示をオフの状態に切り替える為のすべて、又は、幾つかの視認モードに於ける選択肢が与えられる。
【０７１２】
分割ビューに於いて、関数２１９１４乃至２１９４８を実行させることによって、関数２１９１２は、例えば図１９１に図示されたロッカースイッチの押下など、ナビゲーション入力の受信に対応する。
【０７１３】
現在のナビゲーションモードがビューナビゲーションモード、即ち、ユーザが拡大されたウインドウに表示されたレイアウトの一部を直接移動させることによってナビゲート可能なモードにある場合、関数２１９１４によって、関数２１９１６乃至２１９２８が実行される。
【０７１４】
関数２１９１６によって、関数２１９１８及び２１９２０は、これに対応して、受信されたナビゲーション入力によって示された方向で、（ａ）拡大されたビューウインドウに表示されたウェブページレイアウトの一部と、（ｂ）オーバービューウインドウに於けるレイアウトに関連した拡大されたビューインジケータ、の両方を移動させる。
【０７１５】
関数２１９１６乃至２１９２０によって実行された移動によって、オーバービューウインドウに於けるウェブページレイアウトの一部を越えて、そして、ウェブページレイアウトの以前非表示であった部分の上に、拡大されたビューインジケータの一部を移動させる場合、関数２１９２２によって、関数２１９２４乃至２１９２８もまた、その移動の一環として実行される。
【０７１６】
関数２１９２４は、レイアウトの以前非表示であった部分をオーバービューウインドウでスクロールする。関数２１９２６は、ウェブページレイアウトの以前非表示であった部分の上に拡大されたビューインジケータを移動させる。そして、関数２１９２８は、拡大されたビューウインドウに表示されたレイアウトのサブパートをこれに対してスクロールする。異なる実施形態に於いて、そうした関数の命令を変更することが出来る。
【０７１７】
図１９６乃至１９９は、分割スクリーンモードに於ける関数２１９１４乃至２１９２８によって実行されるビューナビゲーションを図示している。
【０７１８】
図１９６は、ウェブページレイアウトの左端部に、拡大されたビューインジケータ１９５０４を使用した分割ビューを図示している。図１９７は、関数２１９１６及び２１９２０の動作によって、拡大されたビューインジケータ、及び、拡大されたビューに於けるレイアウトの一部を右に移動した後の分割ビューを図示している。
【０７１９】
図１９８は、図１９７に於ける拡大されたビューの位置から、オーバービューウインドウに表示されたレイアウトの一部の下端まで、ユーザが拡大されたビューを下方向にナビゲートした後の分割ビューを図示している。
【０７２０】
図１９９は、関数２１９１６乃至２１９２０の動作だけでなく、関数２１９２２乃至２１９２８の動作を介して、図１９８に於けるオーバービューウインドウに表示されたオーバービューの一部の下方に、ユーザが拡大されたビューを下方向にナビゲートした後の分割ビューを表示している。
【０７２１】
関数２１９２２乃至２１９２８の動作、及び、同図の何処かに含まれた類似の関数の動作によって、ユーザは、オーバービューウインドウに図示されたレイアウトの一部の境界を越えて、拡大されたウインドウをスムーズにナビゲートすることが出来る。
【０７２２】
図１９６乃至１９９に図示された実施形態に於いて、拡大されたビュー内に保持するように、自動的にカーソルを移動させる。他の実施形態に於いて、カーソルの位置を拡大されたビューの位置から独立させることが出来る。通常、そうした他の実施形態がカーソルナビゲーションモードの状態にあった場合、拡大されたビューはそのビューにカーソルを保持するために移動し、これにより、ユーザは拡大されたビューに表示されたより大きな縮尺で、カーソルの位置を継続して視認することが可能となる。
【０７２３】
現在のナビゲーションモードが、分割スクリーンの表示時に、カーソルナビゲーションモード、即ち、ユーザが直接カーソルを移動させることが出来るモードの状態にある場合、関数２１９３０によって、関数２１９３２乃至２１９４８が実行される。
【０７２４】
関数２１９３２は、入力によって示された方向で、拡大されたビュー、及び、オーバービューの両方に表示されたウェブページレイアウトの一部に関連して、カーソルを直接移動させる。
【０７２５】
この関数は、拡大されたビューウインドウに表示されたウェブページレイアウトのサブパートを越えて、拡大されたビューウインドウに於ける以前非表示であったウェブページレイアウトの一部の上に、カーソルを移動させる場合、関数２１９３４によって、関数２１９３６乃至２１９４０がこの移動の一環として実行される。
【０７２６】
関数２１９３６は、ウェブページレイアウトの以前非表示であった部分の上にカーソルを移動させる。関数２１９３８は、拡大されたビューウインドウに関連してウェブページレイアウトをスクロールし、これにより、カーソルが移動される以前に非表示であった部分が、拡大されたビューウインドウに於いてスクロールされる。そして、関数２１９４０は、これに対して、オーバービューウインドウに於いて拡大表示インジケータを移動させる。
【０７２７】
関数２１９３４乃至２１９４０によって、カーソルモードの状態で、拡大されたビューの境界に対してカーソルを押下することによって、レイアウトに関連して拡大されたビューウインドウをユーザがスクロールすることが出来るということが分かる。本発明に関する代替実施形態に於いて、ユーザは拡大されたビューの外側でカーソルをスクロール可能としても良い。
【０７２８】
関数２１９３２によって実行された移動によって、オーバービューウインドウに於けるウェブページレイアウトの部分を越えて、ウェブページレイアウトの以前に非表示であった部分の上に、拡大されたビューインジケータの部分を移動させる場合、関数２１９４２によって、関数２１９４４乃至２１９４８がこの移動の一環として実行される。
【０７２９】
関数２１９４４は、レイアウトの以前に非表示であった部分を、オーバービューウインドウに於いてスクロールする。関数２１９４６は、拡大されたビューインジケータをウェブページレイアウトの以前に非表示であった部分の上に移動させる。そして、関数２１９４８は、これに対して、拡大されたビューウインドウに於いて表示されたレイアウトのサブパートをスクロールする。
【０７３０】
図２２０は、ユーザがクライアントブラウザをオーバービューオンリーモードにすることを選択した場合に、クライアントブラウザによって実行される一連の関数２２０００を図示している。図１９１乃至１９３は、このモードで生成された１７６×２２０解像度のスクリーンショットである。
【０７３１】
関数２２００２によって、関数２２００４及び２２００６は、オーバービューウインドウ１９２００及びカーソル１９１１６を同時にクライアントブラウザの表示スクリーン上に表示させる。
【０７３２】
関数２２００４によって表示されたオーバービューウインドウは、スクリーンの略全てに表示される。オーバービューウインドウは、ダウンロードされた表示リストによって記載されたレイアウトの一部を表示し、その表示リストに記載された解像度から縮小される。
【０７３３】
図示された実施形態に於いて、オーバービューオンリーモードでのオーバービューウインドウは、図２１９に関して上述された分割モードに於いて図示されたオーバービューウインドウと同一の倍率で、このレイアウトを縮小する。
【０７３４】
幾つかの実施形態に於いて、例えば、図１９３の最下部に図示された「メニュー（Ｍｅｎｕ」」タブや、「終了（Ｑｕｉｔ）」タブなど、制御や、その他の目的の余地を残すために、オーバービューウインドウは、スクリーンの全てではなく、略全てを覆っている。
【０７３５】
オーバービューオンリーウインドウのサイズを記述する場合に、「略全て」という用語を使用しているが、これは、スクリーンの領域の少なくとも８０％を覆っていることを意味する為に使用されることがあるという状況に比べると、それ程極端ではない意味である。幾つかの実施形態に於いて、そうした「略全て」のカバレッジは、ブラウザプログラムによって占められたスクリーンの一部に関連している。
【０７３６】
現在のナビゲーションモードがビューナビゲーションモードである場合に、クライアントコンピュータがオーバービューオンリーモードの状態で、ユーザからナビゲーション入力を受信する場合、関数２２０１０及び２２０１２は、入力によって示された方向でオーバービューウインドウに表示されたレイアウトの一部をスクロールする。
【０７３７】
一方、クライアントがナビゲーション入力を受信する際に、カーソルナビゲーションの状態にある場合、関数２２０１４によって、関数２２０１６乃至２２０２２が実行される。
【０７３８】
関数２２０１６は、入力によって示された方向で、オーバービューウインドウに表示されたウェブページレイアウトの一部に関連してカーソルを直接移動させる。
【０７３９】
関数２２０１６によって実行されたこの移動によって、オーバービューウインドウに於けるウェブページレイアウトの一部を越えて、ウェブページレイアウトの以前に非表示であった部分の上にカーソルを移動させる場合、関数２２０１８によって、関数２２０２０及び２２０２２もまた、この移動の一環として実行される。関数２２０２０は、レイアウトの以前に非表示であった部分をオーバービューウインドウにスクロールする。そして、関数２２０２２は、ウェブページレイアウトの以前非表示であった部分の上にカーソルを移動させる。これらの関数によって、ユーザはオーバービューウインドウをスクロールすることが出来る。
【０７４０】
図２２１は、クライアントブラウザが拡大オンリービューモードの状態にある場合、クライアントブラウザプログラムによって実行される一連の関数２２１００を図示している。このモードで生成された表示に関する１７６×２２０解像度のスクリーンショットは、図１９４に図示されている。
【０７４１】
図１９４に図示されているように、関数２２１０２によって、関数２２１０４及び２２１０６が拡大されたビューウインドウ１９４００及びカーソル１９１１６を同時に表示させる。拡大オンリービューに於いて、拡大されたビューウインドウは、クライアントのスクリーンの略全て（即ち、少なくともクライアントのスクリーンの８０％）を占めている。
【０７４２】
図示された本発明の実施形態に於いて、この拡大されたビューウインドウは、（ａ）ダウンロードされた表示リストに記載された最大解像度でウェブページレイアウトの一部を表示し、（ｂ）拡大されたビューに表示される解像度に対する可読性を改善、又は、最適化するために、ビットマップのピクセルを用いて形成され配置された文字アウトラインを有する、同一のアンチエイリアス処理、又は、サブピクセル最適化処理が行われたフォントビットマップを使用してテキストを表示する、という点で、図２１９に関して上述された分割ビューに表示されたウインドウに類似している。
【０７４３】
ナビゲーション入力が拡大オンリービューに於いて受信される場合、図２２１に於いて略最大スクリーンオーバービューというよりは、むしろ、略最大スクリーン拡大ビューに関連して、ナビゲーションが実行されるという点を除いて、関数２２１１０乃至２２１２２は、それぞれがオーバービューオンリービューで実行する場合と同一の方法で、ナビゲーションを実行する。
【０７４４】
図２２２は、リフローテキストオンリービューモードの状態にある場合、クライアントコンピュータによって、一連の関数２２２００が実行されることを図示している。このモードで生成されたスクリーンショットのシミュレーションが、図２０５乃至２０７に図示されている。
【０７４５】
カーソルが現在位置する、又は、最も近くにあるコラムのテキストが、リフローテキストサイズでリフローされていなかった場合、図２２２の関数２２２０１及び２２２０２は、現在選択されたリフローテキストサイズで、新たにリフローされたテキストコラムのラインを越えて、そのコラムのテキストをレイアウトする。
【０７４６】
図示された実施形態に於いて、ユーザがリフローされるコラムの幅を選択する必要がない点を除いて、図１３０乃至１３４に関して上述された方法に類似の方法で、このテキストのリフローを実行することが出来る。その代わりに、このシステムは、リフローされるコラムとして、カーソルが現在位置するコラムを選択するか、又は、任意のテキストを含むコラムにカーソルが現在位置していない場合、現在のカーソル位置に最も近いものとして、そのテキストを含むコラムが選択される。
【０７４７】
幾つかの実施形態に於いて、分割スクリーンが表示される場合、及び、ユーザがリフローテキストモードへの変更を選択する際に、システムが拡大ビューナビゲーションモードの状態にある場合、リフローの為に自動的に選択されたテキストコラムは、拡大ビューの中心に最も近いコラムである。
【０７４８】
ここで説明された実施形態に於いて、リフローされたテキストのより迅速な表示を可能にするために、テキストコラムのリフローがクライアントブラウザ上で実行される。このレイアウトに関連する演算は、通常、多くのウェブページのレイアウトに関連した演算に比して、それ程複雑ではないので、テキストコラムのリフローを容易に実行することが出来る。他の実施形態に於いて、リフローされたテキストビューに対するテキストコラムのリフローを、プロキシサーバ上で実行することが出来る。
【０７４９】
現在選択されたリフローテキストサイズで決定されたサイズを有するフォントを使用して、テキストリフローを実行する。通常、リフローされたコラムの幅に関連してリフローされたテキストのサイズは、ウェブページのレイアウトに於けるコラムの幅に関連して選択されたテキストのフォントに比して大きい。テキストコラムが異なるサイズのフォントを有する場合、概ね比例する方法で、一つ又は複数のそうした個別のフォントサイズを、選択されたリフロー済みのフォントサイズの関数として個別に拡大／縮小することが出来る。
【０７５０】
関数２２２０３によって、関数２２２０４及び２２２０６は、図２０５乃至２０７に図示されたリフローされたテキストウインドウ２０５０２、及び、カーソル１９１１６Ａ又は１９１１６Ｂの両方を同時に表示させる。関数２２２０４は、リフローされたテキストウインドウをクライアントコンピュータのスクリーンの略全て（即ち、８０％又はそれより大きな割合）に表示する。スクリーンを右、そして、左に交互に移動させる必要なく、テキストのラインを読み取ることが出来るように、この表示はリフローされたテキストコラムの最大幅を表示する。
【０７５１】
図２０５乃至２０７の疑似スクリーンショットに図示されていないが、文字アウトラインの形状及びピクセル配置がそのウインドウで表示される解像度に対して、可読性を改善、又は、最適化するために選択されているアンチエイリアスフォントビットマップを用いて、このウインドウに於けるテキストを表示することが望ましい。幾つかの実施形態に於いて、これは、例えば、図５５乃至９７、及び、図１６８乃至１８４に関して上述された垂直サブピクセル最適化フォント等、非線形サブピクセル最適化フォントのユーザを含む。
【０７５２】
関数２２２０１乃至２２２０６の動作については、図２０４及び２０５に於いて説明されている。図２０４は、図２１９の関数によって形成された分割ビューに於けるウェブページに関連して、カーソル１９１１６の位置を図示している。図２０５は、図２０４に図示された位置にカーソルが位置する際に、ユーザがそのビューモードを選択する場合に生じる、リフローテキストオンリービューを図示している。図２０４及び２０５の比較から判る通り、カーソル１９１１６に最も近いテキストコラムが、図２０５に図示された、結果的に生じるリフローされたテキストウインドウ２０５０２に表示される。
【０７５３】
ビューナビゲーションが選択された際に、リフローテキストオンリービューモードでナビゲーション入力を受信する場合、関数２２２１０によって、関数２２２１２乃至２２２３２が実行される。
【０７５４】
ナビゲーション入力が水平移動を目的とする場合、関数２２２１２によって、関数２２２１４が実行される。この関数は、この入力の受信以前に表示されたテキストコラムの左側、又は、右側にテキストコラムが存在するか否かを確かめるためにテストを行い、テキストコラムが存在する場合、この関数によって、関数２２２１６乃至２２２２０が実行される。
【０７５５】
関数２２２１６は、そのコラムに於ける最も近い位置にカーソルを移動させる。関数２２２１８は、関数２２２０２に関して上述された方法と同一の方法で、そのコラムに存在するテキストを、リフローされたテキストコラムにリフローする。関数２２２２０は、リフローされたテキストウインドウにあるカーソルに最も近い、この新たにリフローされたテキストコラムにテキストを表示する。
【０７５６】
図２０５及び２０７は、関数２２２１６乃至２２２２０の動作を説明している。図２０７は、ユーザがそのビューを右側に移動させるナビゲーションコマンドを送信する場合に生じる、図２０５に図示されたコラムの右にあるコラムに於けるテキストの表示を図示している。図２０５に於いて、表示されたテキストは、図２０４に於ける拡大されたビューの殆どを占めるテキストコラムに対応する。図２０７に於いて、表示されたテキストは、図２０４に於ける拡大されたビューの右側から始まるコラムに於けるテキストに対応する。
【０７５７】
リフローテキストオンリービューに於いて、ビューナビゲーションで垂直移動を受信する場合、関数２２２２２によって、関数２２２２４乃至２２２３２が実行される。
【０７５８】
関数２２２２４は、リフローされたテキストウインドウに表示されたリフローされたテキストコラムの一部を、入力によって示された垂直方向にスクロールする。そうしたスクロールは、図２０５と、図２０５に図示されたテキストの下位部を表示する図２０６との間の変化によって示されている。
【０７５９】
そうしたスクロールがリフローされたコラムの最上部又は最下部に到達する場合、関数２２２２６によって、関数２２２２８乃至２２２３２が実行される。関数２２２２８は、上方又は下方の最も近くにあるテキスト又はテキストコラムの最下部又は最上部に、それぞれカーソルを設置する。関数２２２３０は、リフローされたテキストウインドウ内に適合するように、新しいコラムのテキストをリフローする。そして、関数２２２３２は、リフローされたテキストウインドウにあるカーソル、及び、その近傍のテキストを表示する。
【０７６０】
システムがカーソルナビゲーションモードの状態の場合、ナビゲーション入力の受信時に、関数２２２３４によって関数２２２３６乃至２２２５４が実行される。
【０７６１】
関数２２２３６は、リフローされたテキストウインドウに表示されたリフローされたコラムのテキストの一部に関連して、ナビゲーション入力によって示された方向に、カーソルを直接移動させる。
【０７６２】
所定のラインの端部を越えて、水平方向の左、又は、右の移動のそれぞれでカーソルを移動させる場合、関数２２２３８及び２２２４０は、上方のラインの最後、又は、下方のラインの最初にカーソルを移動させる。
【０７６３】
関数２２２３６又は２２２４０の移動が、現在のリフローされたコラムの最上部又は最下部を越える場合、関数２２２４２によって、関数２２２４４乃至２２２４８が実行される。関数２２２４４は、上方又は下方の最も近いテキストコラムの最下部又は最上部にそれぞれカーソルを設置する。関数２２２４６は、リフローされたテキストウインドウ内に適合させるために、新しいコラムのテキストをリフローする。関数２２２４８は、カーソル及びその近傍のテキストをリフローされたテキストウインドウに表示する。
【０７６４】
２２２３６又は２２２４０の移動によって、ナビゲーション入力が生成される前に、リフローされたテキストウインドウに表示されたテキストコラムの一部を越えて、リフローされたテキストウインドウに以前非表示であったテキストコラムの一部の上に、カーソルを移動させる場合、関数２２２５０によって、関数２２２５２乃至２２２５４がそうした移動の一環として実行される。
【０７６５】
関数２２２５２は、リフローされたテキストコラムの以前非表示であった部分の上にカーソルを移動させ、関数２２２５２は、リフローされたテキストウインドウに関連して、リフローされたテキストコラムをスクロールさせ、これにより、カーソルが移動される以前非表示であった部分が、リフローされたテキストウインドウにスクロールされる。
【０７６６】
図２２３Ａ及び２２３Ｂは、クライアントがリフローテキスト分割ビューにある場合に実行される一連の関数２２３００を図示している。図２０１乃至２０３は、この表示モードで生成されるビューに関する疑似スクリーンショットである。
【０７６７】
カーソルが現在位置する、又は、最も近くに位置するコラムのテキストが、現在のリフローされたテキストサイズでリフローされていない場合、図２２２に於ける類似の数字が割り当てられた関数に一致し得る図２２３Ａの関数２２２０１及び２２２０２は、現在選択されたリフローテキストサイズで、新たにリフローされたテキストコラムのラインを越えて、そのコラムのテキストをレイアウトする。
【０７６８】
図２２３Ａの関数２２３０２によって、関数２２３０４乃至２２３１０が、リフローされたテキスト分割ビューの要素を同時に表示する。
【０７６９】
関数２２３０４は、表示スクリーンの第１水平部分にオーバービューウインドウ１９２００Ａを表示する。このオーバービューウインドウは、ダウンロードされた表示リストによって表現されたレイアウトの一部を表示し、表示リストに於いて表現された解像度から縮小される。図示された実施形態に於いて、このオーバービューウインドウは、図１９５乃至１９９及び図２１９に関して上述された分割ビューのウインドウに一致する。
【０７７０】
関数２２３０６は、図２０１乃至２０３に図示された、リフローされたテキストウインドウ２０１０２をスクリーンの第２水平部分に表示する。このウインドウは、リフローされたテキストコラムの最大幅を表示し、これにより、それぞれのラインに対して左右にスクロールする必要なく、そのテキストを読み取ることが出来る。
【０７７１】
図２０５乃至２０７に図示された、略最大スクリーンでリフローされたテキストウインドウ２０５０２に関して上述されたビットマップと同一のアンチエイリアスフォントビットマップを使用して、部分的なスクリーンでリフローされたテキストウインドウ２０１０２にテキストを表示することが望ましい。
【０７７２】
関数２２３００は、図２０１乃至２０３に図示された表示されたテキストインジケータ２０１０４を、リフローされたテキストウインドウに現在表示されているオーバービューウインドウに表示されたテキストの一部を示すオーバービューウインドウに表示する。
【０７７３】
関数２２３１０は、それぞれのそうしたウインドウに於けるテキストに対して、同一位置を有するオーバービューウインドウ、及び、リフローされたテキストウインドウの両方にカーソルを表示する。
【０７７４】
図２２３Ａ及び２２３Ｂに於ける関数の残りの部分は、リフローされたテキスト分割ビューに於けるナビゲーションを図示している。変更又は追加に対応する図２２３Ａ及び２２３Ｂに於いて下線が付されたテキストを除いて、これらの関数は、図２２２に図示された関数２２２１０乃至２２２５４に一致する。図２２３Ａ及び２２３Ｂに於いて、図２２２に図示された関数に対応する関数は、後に文字「Ａ」が続く同一の番号を有する。
【０７７５】
図２２２に図示されたナビゲーションに対する図２２３Ａ及び２２３Ｂのナビゲーション間の相違は、（１）関数２２３１２、２２３１４、２２３１６、２２３２４、２２３２６、及び２２３２８によって示されているように、リフローされたテキストウインドウに表示されたテキストに於ける変化に対応するための、表示されたテキストインジケータの移動と、（２）関数２２３１８乃至２２３２４、及び、関数２２３０乃至２２３２６で示されているように、リフローされたウインドウに表示されたテキストの一部を、オーバービューウインドウ上の表示されたテキストインジケータに表示可能にする必要がある場合に於ける、オーバービューウインドウに表示されたウェブページレイアウトの一部のスクロールと、（３）関数２２２３６Ａで示されているように、リフローされたテキストウインドウ及びオーバービューウインドウの両方に於けるカーソルの移動、を含む。
【０７７６】
図２２４は、ビューモードが拡大鏡ビューに設定される場合に機能する一連の関数２２４００を図示している。こうした一連の関数は、関数２２４０２乃至２２４５４を含む。このモードのスクリーンショットが、図２０８乃至２１１に図示されている。
【０７７７】
関数２２４０２によって、関数２２４０４乃至２２４１０が拡大鏡表示の要素を同時に表示させる。
【０７７８】
拡大鏡ウインドウによって覆われた部分を除いて、関数２２４０４は、表示スクリーンの略全てに於いて、オーバービューウインドウ１９２００Ｂを表示する。このオーバービューウインドウは、ダウンロードされた表示リストによって表現されたレイアウトの一部を表示し、表示リストに表現された解像度から縮小される。図示された実施形態に於いて、オーバービューは、分割ビュー、オーバービューオンリーモード、及び、リフローテキスト分割ビューに於ける、オーバービューウインドウと同一の解像度でウェブページレイアウトを表示する。
【０７７９】
オーバービューウインドウが拡大ビューウインドウで「覆われている」と表現する場合、オーバービューウインドウの一部が、ユーザインターフェースの観点から、表示上で拡大されたビューによって覆われているように見えるということを意味する。オーバービューウインドウが拡大されたビューで覆われているように見えるのは、拡大されたビューが、図２０９と２１０の間、及び、図２１０と２１１との間に位置するように移動される場合に、オーバービューウインドウの以前に「覆われた」部分から拡大されたビューが離れるように、以前に「覆われた」部分が表示されるからである。当然のことながら、殆どの実施形態に於いて、任意の時点で拡大されたビューによって覆われている表示スクリーンの部分に於けるピクセルが、拡大されたウインドウのビットマップのみを表示する。
【０７８０】
関数２２４０８は、オーバービューウインドウに図示されたレイアウトの一部を越えて、拡大されたビューウインドウ１９４００Ｂを表示する。拡大されたビューは、ダウンロードされた表示リストに表現された最大解像度で、オーバービューウインドウに表示されたレイアウトの覆われたサブポーションの内、拡大されたサブパートを表示する。
【０７８１】
関数２２４０８は、オーバービューに表示されたレイアウトに関連して、拡大されたビューに表示されたレイアウトのサブパートの位置を示す、一つ又は複数の拡大されたサブパートマーカを表示する。図示された実施形態に於いて、拡大されたサブパートマーカは、図２０８乃至２１１に於いて２０８０４及び２０８０６としてラベル付けされ、拡大されたビューウインドウの端部に設置される。マーカ２０８０４は、拡大されたビューウインドウに表示されたレイアウトの一部のオーバービューウインドウに対して垂直位置を示しており、マーカ２０８０６は、オーバービューウインドウのレイアウトのその部分の水平位置を表示する。
【０７８２】
関数２２４１０は、ユーザ可動カーソル１９１１６を拡大されたビューウインドウに表示する。カーソルの位置に対応するオーバービューウインドウの一部が拡大されたビューで覆われているので、カーソルはこのモードでオーバービューウインドウに表示されない。
【０７８３】
拡大鏡モードの状態で、クライアントコンピュータがナビゲーション入力を受信する場合、関数２２４１２によって、関数２２４１４乃至２２４２６が実行される。
【０７８４】
入力が垂直ナビゲーション入力の場合、関数２２４１４によって、関数２２４１６乃至２２４２０が実行される。関数２２４１６は、余裕が有れば、入力に対応する垂直方向で、オーバービューウインドウに関連して拡大されたビューウインドウを垂直に移動させる。関数２２４１８は、拡大されたビューで表示されたレイアウトの拡大されたサブパートの位置を垂直に移動させる。そして、関数２２４２０は垂直拡大されたサブパートマーカを垂直に移動させ、これにより、それらの位置は、そうした移動後にオーバービューウインドウに於けるレイアウトに関連して、拡大されたサブパートの垂直位置に対応する。
【０７８５】
通常、関数２２４１６乃至２２４２０の動作によって、拡大されたビューを移動するので、その垂直中心は、オーバービューウインドウに関連して、ウェブページレイアウトの拡大された部分の位置を覆った状態を維持している。この状態が生じる場合、垂直に拡大されたサブパートマーカの位置は、表示スクリーン全体に関連して移動されるが、拡大されたウインドウに関連して同一位置を維持する。図示された実施形態に於いて、拡大されたビューが、最大オーバービューウインドウに対応する空間の最上部又は最下部に達する場合、さらなる上方向ナビゲーション又は下方向ナビゲーションが、それぞれ、拡大されたビューウインドウを移動させないが、垂直に拡大されたサブパートマーカを上方向又は下方向に移動させる。
【０７８６】
図２０９と２１１との間の相違は、関数２２４１４乃至２２４２０によって実行される種類の拡大されたビューの垂直ナビゲーションを図示している。
【０７８７】
水平ナビゲーション入力を受信する場合、関数２２４２２によって、関数２２４２４及び２２４２６が実行される。
【０７８８】
関数２２４２４は、レイアウトの拡大されたサブパートの位置を水平に移動させる。そして、関数２２４２６は、オーバービューウインドウに於けるレイアウトに関連して、拡大されたサブポーションの水平位置に於ける変化に対応するために、垂直に拡大されたサブポーションマーカを水平に移動させる。
【０７８９】
図２０８と２０９との間の相違は、拡大鏡ビューモードに於ける水平ナビゲーションについて図示している。ここで留意すべきは、拡大ビュー自体は水平方向に移動しないが、拡大ビューに表示されるレイアウト部分と、水平サブポーションマーカ２０８０６のみが移動するという点である。これは、図示された実施形態に於いて、テキストのより長いラインの表示を可能にするために、拡大されたビューがスクリーンの最大幅を拡大し、これにより、水平方向に移動する余地がなくなるからである。
【０７９０】
他の実施形態に於いて、オーバービューウインドウは、拡大されたビューの中心の下方に位置する拡大されたビューに表示されたレイアウトの部分を保持するために、拡大されたビューウインドウの下方で、水平にスクロールすることが可能であり、その結果、それはさらに実際の拡大鏡のように動作する。
【０７９１】
他の実施形態、そして、特に、より広い、又は、より高解像度のスクリーンを有する実施形態に於いて、実際に拡大鏡の幅はスクリーンの幅よりも狭く、このため、図示された実施形態に於いて拡大鏡が垂直移動することが可能な方法と同様の方法で、水平に移動することが可能である。
【０７９２】
カーソルナビゲーションモードの状態で、拡大鏡表示ビューを表示するクライアントのブラウザがナビゲーション入力を受信する場合、関数２２４２８によって、関数２２４３０乃至２２４３８が実行される。
【０７９３】
関数２２４３０は、拡大されたビューに表示されたウェブページレイアウトの一部に関連して、入力によって示された方向にカーソルを直接移動させる。関数２２４３２は、関数２２４３０の移動によって、拡大されたビューウインドウに表示されたウェブページレイアウトのサブパートを越えて、拡大されたビューウインドウに於いて以前に非表示であったウェブページレイアウトの一部の上に、カーソルを移動させるか否かを確かめるためにテストを行う。カーソルが上記のように移動する場合、関数２２４３２によって、関数２２４３４乃至２２４３８がその移動の一環として実行される。
【０７９４】
関数２２４３４は、ウェブページレイアウトの以前非表示であった部分の上にカーソルを移動させる。関数２２４３４は、拡大されたビューウインドウに関連して、ウェブページレイアウトをスクロールするので、カーソルが移動される以前に非表示であった部分は、拡大された表示ウインドウにスクロールされる。そして、そうしたインジケータを拡大されたビューで表示されたウェブページの一部に対応するオーバービューに関連した位置に対応させることが必要な場合、関数２２４３８は、これに対して拡大されたビューインジケータをスクロールする。
【０７９５】
ビューナビゲーションとカーソルナビゲーションモードの何れかで実行される移動によって、拡大されたビューによって覆われた部分を含む、全体的なオーバービューウインドウに対応するレイアウトの一部を越えて、ウェブページレイアウトの以前に非表示であった部分の上に、レイアウトの拡大されたサブパートのサブポーションを移動させる場合、関数２２４４０によって、関数２２４４２乃至２２４４６がそうした移動の一環として実行される。
【０７９６】
関数２２４４２は、全体的なオーバービューウインドウに対応する領域に、レイアウトの以前に非表示であった部分をスクロールする。これに対して、関数２２４４４は、拡大されたビューウインドウに表示されたレイアウトのサブパートをスクロールする。そして、必要に応じて、拡大されたビューに表示されたウェブページの一部に対応するオーバービューウインドウに於ける位置に関連した対応を維持するために、関数２２４４８は拡大されたサブポーションマーカを移動させる。
【０７９７】
図２１２乃至２１６、及び、図２２５乃至２２８は、マルチコラムウェブページのレイアウトに於ける、それぞれのコラムの幅を制限する本発明の一つの特徴に関連している。
【０７９８】
上述の本発明の多くの特徴、及び、特に図２１９及び２２１に関して上述された拡大オンリービュー、及び、分割スクリーンビューと併せて、本発明のこの特徴を使用することが出来る。各ラインを読むために右にスクロールし、その後、左にスクロールする必要なく、そうしたコラムの複数のラインのそれぞれに於けるテキスト全体を読むことが出来るように、個々のテキストコラムをウェブページのズームイン／拡大されたビューの範囲に適合する程度に十分狭くさせるという利点を有している。
【０７９９】
ウェブページプログラムの当業者に知られているように、ウェブページは、コラム中に何が存在するかという定義、コラムの幅、及び、コラムの水平置換を含む、コラムの仕様を有している。所定のコラムの幅及び水平置換は、所定のコラムのコンテンツのサイズによって、又は、所定のコラムの右又は左のコラムの幅によって、例えば、使用可能な表示ウインドウサイズの割合として、無制限のピクセルで仕様が指定される等、複数の方法で定義される。そうした仕様が明示的な場合もあるし、黙示的な場合もある。
【０８００】
図２２６は、ＨＴＭＬテーブルとして定義された３つのコラムの仕様例を提示している。
【０８０１】
同図に於いて２２６０２でラベル付けされたラインは、テーブル定義の第１ラインである。ライン２２６０４は、テーブル行の定義を開始する。この特別のテーブルは、３つのコラムで形成された１行のみを有する。
【０８０２】
ライン２２６０６は、第１コラムの幅が２００ピクセルとなる仕様を定めている。ライン２２６０８は、第１コラムのコンテンツとなるテキストを示している。
【０８０３】
ライン２２６１０は、中央のコラムを定義しており、該コラムに対して明確に指定された幅を与えていないが、そのコラム幅はテーブルが定義される方法で自動的に定義されている。これによって、コラム幅は、他の２つのコラムによって占められていない表示ウインドウに於いて、全ての使用可能な幅を有するように拡大する。ライン２２６１２は、中央のコラムのコンテンツを含んでいる。
【０８０４】
ライン２２６１４は、第１コラムと同様に、第３コラムが２００ピクセルの幅を有するように仕様を指定している。最後に、ライン２２６１６は、第３コラムのコンテンツの仕様を指定する。
【０８０５】
図２２７は、図２２８に図示された外部カスケーディングスタイルシート（ＣＳＳ）への参照を使用して、図２２６に定義されたコラムに類似した３つのコラム一式を定義する他の方法を図示している。
【０８０６】
図２１２は、図２１３乃至２１６に表示されているウェブページのコンテンツの一部を図示している。図２１２は、例えば、図２２６又は２２７に図示された方法等、ウェブページコラムを定義可能な一つ又は複数の異なる方法を使用して、指定されているマルチコラムに配置されたコンテンツを表示している。同図に於いて、コラムの垂直及び水平方向の境界が灰色のラインで示されている。
【０８０７】
図２１３は、コラム幅に制限がない場合に於ける、図２１２に図示されたウェブページコンテンツのレイアウトに関する図１９３に図示された種類のオーバービューオンリービュー１９２００のシミュレーションである。
【０８０８】
図２１４は、図２１３に図示されたレイアウトの分割ビューのシミュレーションである。同図は、ウェブページの主要なテキストコラムに於けるテキストラインの幅が、あまりにも広いので、図１９５乃至１９９に於いて既に図示された種類の拡大されたビューウインドウ１９４００Ａに適合することが出来ないことを図示している。これは、主要なコラムのテキストのそれぞれの最大ラインを読み取るためには、そうしたテキストの読み取りを遅く、且つ、面倒なものにする傾向のある左右のスクロールが必要となることを意味する。
【０８０９】
図２１５は、図２２５に関して後述するコラム幅制限プロセスを用いてレイアウトされた同一のウェブページのオーバービューオンリービュー１９２００のシミュレーションである。
【０８１０】
図２１６は、図２１５に於けるレイアウトと同一のレイアウトの分割ビューに関するシミュレーションである。図２１６は、図２２５の幅制限プロセスによって、幅制限を行う前に、ウェブページ上の最も広い幅のテキストコラムであったコラムの幅全体が、分割ビューの拡大されたビューウインドウ１９４００Ａ内に一度で適合可能となり、そうしたテキストを一層読み易くすることを示している。
【０８１１】
本発明のこの特徴に関する多くの好ましい実施形態に於いて、そうした幅制限されたコラムのテキストが、そうしたテキストが表示されるピクセル解像度に対して可読性を改善、又は、最適化する為に選択された、それらの文字アウトラインの形状及びピクセル配置を有するアンチエイリアスフォントビットマップで表示される。そうしたフォントは、図５５乃至９７、及び、図１６８乃至１８４に関して上述された種類のサブピクセル最適化フォントに成り得る。
【０８１２】
図２１４及び２１６に於いては、拡大されたビューウインドウ１９４００Ａは、そうしたウインドウが実際に有する近似値に過ぎないが、これは、それらのウインドウに於けるフォントが、その図に於いてそれらがレンダリングされた解像度に対して選択されたそれらの文字アウトラインの形状及びピクセル配列を有する、上記段落で議論した種類のフォントではないからである。これが、図２１４及び２１６の拡大されたビューウインドウに於けるテキストが、図１９４、１９５乃至１９９、及び、図２０８乃至２１１のそれぞれに図示され、且つ、レンダリングされるピクセル解像度に対して選択された、文字アウトラインの形状及びピクセル配置をフォントビットマップが有する拡大されたビューウインドウ１９４００、１９４００Ａ、及び、１９４００Ｂのテキストに比して読み難い理由なのである。
【０８１３】
図２２５は、マルチコラムウェブページの要素をそれぞれのコラムの幅が制限されるレイアウトにセットするために使用可能な一連の関数２２５００を図示している。ウェブページのコンテンツをレイアウトする方法は、当該技術分野に於いては周知である。図２２５に図示された関数は、本発明の幅制限の特徴に関連した動作に焦点を当てている。
【０８１４】
図２１７乃至２２４で説明されたクライアントプロキシブラウザスキームに於いて、図２２５のマルチコラムレイアウトは、図１１５の関数１１５０７で説明されたレイアウトプロセスの一環として、プロキシサーバで実行される。本発明の他の実施形態に於いて、任意の仲介プロキシコンピュータを必要とすることなく、要求されたウェブページを表示しているエンドユーザのコンピュータ上で、そうしたレイアウトをローカルに実行することが出来る。小型コンピュータがさらなるメモリ容量と演算能力を獲得するにつれて、クライアント上でローカルにウェブページレイアウトを実行することはより魅力的になる。
【０８１５】
図２２５の関数２２５０２は、ウェブページに於いて指定されたそれぞれのコラムに対してループを実行する。このループは、関数２２５０４乃至２２５２４を含む。
【０８１６】
関数２２５０４は、２つの要因の関数として、定義された水平位置にコラムをレイアウトする。これら２つの要因の内、第１要因は、ライン２２５０６に図示されているように、コラムの指定された水平置換である。コラム幅制限が選択される場合、第２要因は、ライン２２５０８及び２２５１０上に図示されているように、そうしたコラム幅制限によって引き起こされた、現在のコラムの左側にレイアウトされたコラムの指定された幅に於ける任意の減少である。
【０８１７】
この明細書及び付随する特許請求の範囲に於いて使用されているように、コラムの指定された水平置換は、例えば、表示スクリーンの幅に関する固定ピクセル位置及び割合などの観点に於ける、その水平置換に関する任意の明確な定義だけでなく、何れのコラムがその左右に位置するかということに関する定義を含んでいる。このように、コラム水平置換が、その左側にあるコラム幅の減少によって変更される場合でさえも、それはやはりその左側に同一コラムを有するので、その位置は依然としてその水平置換に関する関数なのである。
【０８１８】
コラム幅制限が選択される場合、関数２２５１２によって、関数２２５１４及び２２５１６がループ２２５０２の現在のコラム内にある任意の画像を、最大の所望コラム幅内に適合するサイズまで縮小させる。
【０８１９】
図示された実施形態に於いて、所望の最大コラム幅は、表示時に図２１６に図示された拡大されたビュー１９４００Ａ内に適合する幅である。他の実施形態に於いて、所望の最大コラム幅は、そうした実施形態に使用される幅であって、分割スクリーン、又は、スクリーンウインドウ全体としても良い、所定の表示ウインドウ内に適合する幅である。
【０８２０】
関数２２５１８は、ライン２２５２０乃至２２５２４で示された２つの要因の関数として決定された幅で、現在のコラムに任意のテキスト及び／又は画像の位置をレイアウトする。テキスト２２５２０に示されているように、これらの要因の内、第１要因は、コラムの指定された幅である。コラム幅制限が選択される場合、これらの要因の内、第２要因は、数字２２５２２及び２２５２４で示されているように、コラム幅が最大の所望コラム幅を越えないようにするために必要な指定された幅の任意の減少である。
【０８２１】
図２１２に図示されたウェブページコンテンツは、その最上部に、２つの幅の狭いテキストコラム２１２０６、及び、そうした幅の狭いテキストコラムのそれぞれに関連した画像コラム２１２０８を有する、メインテキストコラム２１２０４を含む。図２２５に於ける擬似コードに図示されていないが、そうした幅制限なしで、それらの幅が最大の所望コラム幅に比して狭かったとしても、図２１５に図示されているように、コラム幅制限は、それらの２つの幅の狭いテキストコラムの幅を減少させる。ウェブページのメインコラム２１２０４の幅を減少させるために、これが実行される。しかし、可読性及びウェブページの全体的な様相を維持するためには、テキストコラムや画像が一部となっている包括的なコラムの幅を減少させる為に、コラム幅制限プロセスが、そうしたテキストコラム及び画像を縮小する幅に関して下限を有していることが好ましい。
【０８２２】
この下限のために、これら２つの小型テキストコラム、及び、それらに関連する画像を含むメインコラム２１２０４は、最大の所望コラム幅よりも幅が広い状態にされる。
【０８２３】
したがって、メインコラムに於けるテキストのメインボディは、図２１５に於ける双頭の矢印で示された、そのメインボディが一部となっているメインコラム２１２０４のコラム幅に比して幅が狭い幅２１５０４でレイアウトされている。
【０８２４】
本発明の他の実施形態に於いては、コラムに於ける画像又は非テキスト要素の幅を縮小又は制限するために、労力が割かれることはなく、コラムに於けるテキストの幅だけが最大の所望コラム幅に制限される。これにより、テキストラインを所望のビューウインドウ内に適合するサイズまで短くするという価値のある結果を達成することになるが、それにより、多くのコラムの大部分は、テキストで満たされた幅の一部のみを有する傾向となり、図２１５に図示された空白２１５０６に類似した空白を作り出す。
【０８２５】
図２１７乃至２２５に於ける擬似コードは、低解像度表示上にウェブページを表示するように設計されており、これにより、所謂「拡大されたビューウインドウ」に於いてさえ、それはウェブページコンテンツを縮小する。この実施形態に於いて、ウェブページは、レイアウト倍率１（即ち、その要素が仮想レイアウトで縮小されていない）を有する仮想解像度で、プロキシサーバによってレイアウトされ、その後、仮想レイアウトのコンテンツは、クライアントによってダウンロードされ表示される表示リストに於いて、表示倍率２で縮小される。
【０８２６】
他の低解像度に関する実施形態に於いて、ウェブページのコンテンツを縮小するレイアウト倍率で元のレイアウトを実行することによって、そうした縮小を実行することができ、その後、レイアウトが本来レイアウトされる縮小された縮尺で表示されるように、表示倍率１を使用する。
【０８２７】
そうした低解像度表示に関する実施形態に於いて、レイアウト倍率及び／又は表示倍率によって、ウェブページのレイアウトの表示が、コラム幅制限とは独立して、画像及びテキスト文字を含むウェブページの要素の殆ど又は全てを縮小されたピクセル解像度で表示させる。そうした実施形態に於いて、コラム幅制限は、あまりにも広いので、ウェブページの表示に関する他の特徴のすべてを圧縮するために使用される縮小を用いても、所望のウインドウに適合することが出来ないコラムの幅を狭くする。
【０８２８】
図１９１乃至２２８に関して議論された本発明の特徴に関する幾つかの実施形態に於いて、レイアウト及び倍率は、両方とも１とすることができ、また、組み合わされた場合、ウェブページのコンテンツが全く縮小されず、もしかしたら、拡大さえされる値を有することが出来る。
【０８２９】
別の実施形態に於いては、コラム幅制限のプロセスを別の方法で実行することが出来る。例えば、幾つかの実施形態に於いて、幅制限なしに所定のコラムが有する幅と、最大の所望の幅とを比較することと、必要に応じて、コラム幅が過剰な長さになることを防ぐ為に、所定のコラムの幅を狭くすることによって、コラム幅制限のプロセスを達成することが出来る。恐らく多くのウェブページの魅力を低減させてしまうだろうが、幾つかの実施形態に於いて、コラム幅制限のプロセスは、コラムの指定された幅とは関係なく、同一幅を有するように全てのコラム幅を狭くすることを含めることが出来る。したがって、幅制限がない場合には、最大の所望の幅に比して幅の狭いコラムを、そうしたより狭い幅で表示することが望ましい。
【０８３０】
そうした実施形態に於いて、コラム幅が低減されないという規則の例外は、図２１５に関して図示されたような状況に於いて、コラム幅が別の方法で最大の所望コラム幅より狭い幅となる場合である。即ち、発生した多数のコラムが全面的なコラム内の行に水平方向に配列される場合、それ自体がテキストを直接含むという例外、及び、コラム幅制限がない場合に最大の所望コラム幅を越える幅を有するという例外が発生する可能性がある。このような場合、全面的なコラムの幅を減少することが出来るように、図２１５に図示されているように、水平方向の行にあるコラムが、最大の所望コラム幅に比して実質的に短い長さまで減少された幅を有しても良い。
【０８３１】
図２２９は、図１９１乃至２２８に関して上述された本発明の特徴もまた、携帯電話に加えて、他の種類のコンピュータデバイスに適用することが出来ることを図示するために提示されている。図２２９は、携帯情報端末（ＰＤＡ）上の分割スクリーンビューのシミュレーションを図示している。この例に於いては、図示されたウェブページの指定されたレイアウトとＰＤＡのより大きなピクセル幅の組み合わせによって、最も幅の広いテキストコラムが幅制限を必要とすることなく表示可能であるので、コラム幅制限を必要としないが、分割ビューが表示され、コラム幅制限が実施されている。分割ビューは、オーバービューウインドウ１９２００Ｃ、拡大されたビューウインドウ１９４００Ｃ、オーバービューウインドウに於ける拡大されたビューインジケータ１９５０４Ｃ、及び、オーバービュー及び拡大されたビューの両方に表示されたカーソル１９１１６を含む。
【０８３２】
当然のことながら、他の実施形態に於いて、図１９１乃至２２８に図示された本発明の幾つかの特徴は、他の種類のコンピュータデバイス、又は、デスクトップコンピュータ、ラップトップコンピュータ、手首装着型コンピュータ、頭部装着型ディスプレイ、さらに大きな表示スクリーンのサブポーション上に形成されたウインドウに於ける表示を含む、他の種類の表示に於いて動作可能である。
【０８３３】
また、他の実施形態に於いて、他の解像度を表示スクリーンに対して使用可能であり、様々なウインドウのサイズに対して使用可能である。
【０８３４】
当然のことながら、前述の記載及び図面は、説明及び図解を行うためだけに使用されるものであり、本発明は添付の特許請求の解釈がそのように限定されている場合を除いて、それに限定されるものではない。情報開示を有する当業者は、本発明の範囲を逸脱することなく、そこに修正及び変形を加えることが出来る。
【０８３５】
広く特許請求されているように、本出願の発明に関する多くの特徴は、任意の１種類のオペレーティングシステム、コンピュータハードウェア、又は、コンピュータネットワークでの使用に限定されず、それ故、本発明の他の実施形態は、異なるソフトウェア及びハードウェアシステムを使用することが出来る。
【０８３６】
さらに、当然のことながら、実質的に異なる構成又は手順を用いて、多くの異なるプログラム及びデータ構造によって、以下の特許請求の範囲に記載された関数を実行することが出来る。これは、プログラムというものが、どんな複雑な所定の発想も当業者に理解された時点で、実質的に無制限の方法で表現することが出来る極端に柔軟な技術だからである。このように、特許請求の範囲は図面に記載された正確なステップ、及び／又は、ステップの順番に限定されることを意味していない。このことが特に当てはまるのは、不必要に詳細を提示することでユーザに負担をかけることなく、本発明を実施するために、当業者が知る必要のある事項をより効果的に伝達させるために、上記のテキストに記載された擬似コードが高度に簡略化されたからである。そうした簡略化のために、上述した擬似コードの構造は、多くの場合、本発明を実施する際に当業者のプログラマーが使用する実際のコードの構造とは相当異なる。さらに、明細書中のソフトウェアで実行されることが示されたプログラム化した動作の多くを、他の実施形態に於けるハードウェアで実行することが出来る。
【０８３７】
上記で議論した本発明の特徴に関する多くの実施形態に於いて、本発明のそうした特徴に関する他の実施形態に於いて別々に生じる可能性のある本発明の様々な特徴は、同時に発生することが示されている。
【０８３８】
本明細書の様々な部分に於いて記載されたサブピクセル最適化及び非線形カラーバランスに関する様々な図面の殆どは、垂直方向のサブピクセルストライピングを有するＲＧＢサブピクセルアドレス可能表示に関する。当然のことながら、非線形カラーバランス及びサブピクセル最適化に関連する本発明の多くの特徴を、水平方向のサブピクセルストライピングを有するサブピクセル表示と同様に、ＢＧＲ又は他の種類のサブピクセルアドレス可能性を有するサブピクセル表示を用いて使用することが出来る。
【０８３９】
上記で示した非線形カラーバランス法に於いて、カラーバランスによって分配されたサブピクセルの輝度の部分のみが、ピクセル内の最小サブピクセル輝度値よりも高い部分である。しかし、他の実施形態に於いては、例えば、ピクセルの平均サブピクセル輝度、又は、最大サブピクセル輝度とは異なる部分など、ピクセル内でカラーアンバランスを引き起こすサブピクセルの輝度の他の部分を分配することが出来る。そうした実施形態に於いて、実際に、平均値又は最大値よりも低いサブピクセル輝度は、そうしたサブピクセルの近傍に於いてサブピクセル輝度の重み付けられた減少で分配可能な負の輝度値となる。
【０８４０】
上記に図示した全ての非線形カラーバランス法は、ピクセルに対応するサブピクセル内でカラーアンバランスを引き起こすサブピクセルの輝度の部分を分配するだけである。これが実行されるのは、全ピクセル内で一般的に発見される３つの連続するＲＧＢ又はＢＧＲサブピクセルの配列が、知覚的に良好にカラーバランスされているからである。そうした全ピクセルのサブピクセルが等しい輝度である場合、緑色が中央の色ではない順番で、同一強度で表示された同一の３色のサブピクセルの分離したセットに比して、表面上、より色のバランスが取れているように見える傾向がある。これが、全ピクセル境界以外で現れるフォントの端部がカラーアンバランスしているように見える理由の１つなのである。
【０８４１】
しかし、他の非線形カラーバランスに関する実施形態を、個々の全ピクセル内でカラーアンバランスを引き起こすサブピクセル輝度を分配することだけに制限する必要はない。他の非線形カラーバランスに関する実施形態は、全ピクセル以外の領域内でのサブピクセルカラーアンバランスの割合を決定し、全体的又は部分的にアンバランスに基づいたサブピクセル輝度値をそうした領域に分配することが出来る。例えば、一般的に生じる複数のアンバランスパターンのそれぞれに対して、カラーバランスの知覚を維持しながら、アンバランスカバレッジ値のどの分配が最小の空間拡散を生成したかを発見するための研究を行うことができ、全ピクセル領域以外の空間領域で発生するカラーアンバランスを分配するために、そうした知覚的に選択された分配を使用することが出来る。
【０８４２】
本発明のある特徴は、ラインカバレッジ技術によって、個々のピクセルに対して輝度値を計算するサブピクセル最適化画像の生成及び使用に関する。当然のことながら、下記に特許請求された本発明に関する他の特徴は、そうしたラインカバレッジ関数、又は、エリアカバレッジ関数に関する特定の詳述なしに、サブピクセル輝度を決定するそうした方法に限定されるものではなく、例えば、領域サンプリング技術を含むがこれに限定されないカラービットマップ、グレースケールビットマップ、フォント、及び、他の形状で構成されるソース画像を用いてカバレッジ値を決定するための他の周知の方法を使用することが出来る。
【０８４３】
上記議論では、サブピクセル最適化ビットマップに於ける輝度値又はカバレッジ値を割り当てるために使用されるソース画像ウインドウは矩形であり、多色サブピクセル最適化画像に於ける全ピクセルに一致するサイズ、及び、２色サブピクセル最適化画像に於いてサブピクセルに一致するサイズを有する。他の実施形態に於いては、異なる形状及びサイズのウインドウを使用することが出来る。例えば、多色サブピクセル最適化画像に於いて、ソース画像ウインドウは、全出力画像ピクセルに一致するサイズに比して幾分小さなサイズを有しても良い。幾つかの実施形態に於いて、ソース画像ウインドウに於けるカバレッジ値又は輝度値を出力画像に於けるカバレッジ値又は輝度値に変換するために、不規則な重み付け関数を使用することが出来る。例えば、多色サブピクセル最適化画像に於いて、サイズ及び位置が、輝度を決定しているサブピクセルに一致するソース画像ウインドウの部分に於ける輝度に対して、より重み付けをすることが好ましい。事実、図１７乃至１９に関して議論されたラインカバレッジ配置は、そうした中央重み付けを提供しているが、これは、ラインカバレッジ値を決定しようとしているサブピクセルの位置に一致するソース画像ウインドウの部分を通じてのみ、垂直線が延びているからである。
【０８４４】
本発明の幾つかの特徴は、サブピクセル最適化の使用に明確に関連しているが、多くの他の特徴は、サブピクセル最適化に依存していない。本発明の幾つかのそうした特徴に於いては、サブピクセル最適化を含まないアンチエイリアスの形式を使用することが出来る。サブピクセル最適化を含まないアンチエイリアスの形式によって、そうしたアンチエイリアスを使用せずに提供可能な解像度に比して、画像がより高度な解像度を有しているように見せることが出来る。これは、特にフォント画像の場合に当てはまる。例えば、適切なサブピクセル最適化によって、小型フォントはより読み易くなるが、フォントが適切な形状を有し、適切にヒンティングされ、サブピクセル最適化と共に、又は、サブピクセル最適化を用いずにアンチエイリアスを使用した場合、７ピクセル／ｅｍと同程度に小さなフォントを比較的容易に読み取ることが可能である。
【０８４５】
本明細書、及び、付随する特許請求の範囲に於いて、「スクリーン」、特に、縮小された画像、テキスト、又は、ウェブページレイアウトが表示されるスクリーンについて言及することによって、一般には、例えばスクリーン上のグラフィックウインドウなど、スクリーン全体又はスクリーンの一部の何れかを含むことが出来る。例えば、参照される縮小スクリーン画像を、かなり大きなスクリーン上のウインドウに於いて表示しても良いし、例えば図１１４に図示されたツールバーのように、特定のグラフィカルユーザインターフェース（ＧＵＩ）要素にスペースが設けられた後に残される小型スクリーンの一部に表示しても良い。また、当然のことながら、例えば大型スクリーンによって、非サブピクセル最適化技術を用いて可能となる、より高度な空間解像度でコンテンツを見ることが出来るように、大型スクリーンの全て又はかなりの部分を越えて、画像及び／又はテキストを表示するために、本発明の特定のサブピクセル最適化の特徴を使用することが出来る。
【図面の簡単な説明】
【０８４６】
【図１】特に、比較的低解像度のスクリーンを備えたシステム上で、ウェブブラウズ、及び／又は、他の種類のコンピュータで作成されたコンテンツの表示を向上させるための本発明に係る幾つかの特徴に従って使用される処理を示す図。
【図２】ポータブルブラウザ、プロキシサーバ、ウェブサーバ、及び、フォントサーバを有する、本発明が実行可能なネットワークコンピューティング環境を示す図。
【図３】ブラウザ、及び、ウェブサーバを有する、本発明が実行可能な代替ネットワークコンピューティング環境を示す図。
【図４】ブラウザ、及び、ウェブサーバを有する、本発明が実行可能な第２代替ネットワークコンピューティング環境を示す図。
【図５】ブラウザ、及び、ウェブサーバを有する、本発明が実行可能な第３代替ネットワークコンピューティング環境を示す図。
【図６】表示される標準的なウェブコンテンツと、そのコンテンツを拡大／縮小、及び／又は、サブピクセル最適化するための処理を含むブラウザ機能と、を有する本発明が実行可能なコンピュータシステムを示す図。
【図７】表示されるコンテンツ、そのコンテンツを拡大／縮小、及び／又は、サブピクセル最適化するためのプロキシ処理、及び、ブラウザ機能を有する、本発明が実行可能な代替コンピュータシステムを示す図。
【図８】以前に拡大／縮小、及び／又は、サブピクセル最適化されたコンテンツを有する本発明が実行可能な第２代替コンピュータシステムを示す図。
【図９】従来の垂直ストライプ型ＲＧＢ液晶表示装置を示す図。
【図１０】図１のステップ１０８及び１１２のそれぞれに関して参照された、画像及びテキストの両方に関するサブピクセル最適化の実行に含まれる本発明の幾つかの特徴を示す図。
【図１１】３２０×２４０カラーディスプレイ上に標準的なウェブコンテンツを表示する際に、本発明に関する現在の実施形態によって提供される可読性のレベルを示す図。
【図１２】より高解像度のソースビットマップ画像１０２の一部にわたって行われるピクセルとサブピクセルグリッドのマッピングを示す図。
【図１３】図１２のマッピンググリッドの一部分に関する拡大図。
【図１４】低解像度の表示装置の赤色（Ｒ）サブピクセルの輝度を算出するために用いられるソース画像上のウインドウの位置決めを示す図。
【図１５】低解像度の表示装置の緑色（Ｇ）サブピクセルの輝度を算出するために用いられるそうしたウインドウの位置決めを示す図。
【図１６】低解像度の表示装置の青色（Ｂ）サブピクセルの輝度を算出するために用いられるそうしたウインドウの位置決めを示す図。
【図１７】一つ又は複数の異なる色のピクセルによって覆われた、より高解像度のソース画像に於いて、赤色ピクセルの関連ウインドウの一部を推定することによって、比較的低解像度を有する表示装置上の赤色サブピクセルに関するサブピクセル輝度を算出するためのスキャンラインカバレッジ法で使用されるスキャンラインを説明する図。
【図１８】図１７に図示された低解像度表示装置の緑色（Ｇ）サブピクセルの輝度を算出するために使用される類似のスキャンラインを示す図。
【図１９】図１７及び１８に図示された低解像度表示装置の青色（Ｂ）副画素の輝度を算出するために使用される類似のスキャンラインを示す図。
【図２０】単純比較の為に図２１及び２２と同一シート上に示された図１７を繰り返す図。
【図２１】赤色ピクセルのソース画像ウインドウ内に於いて、異なるソース画像ピクセルで覆われた、図２０に図示された水平スキャンラインの複数部分を示す図。
【図２２】赤色ピクセルのソース画像ウインドウ内に於いて、異なるソース画像ピクセルで覆われた、図２０に図示された垂直スキャンラインの複数部分を示す図。
【図２３】図１８と同一であり、単純比較の為に図２４及び２５と同一シート上に示された図。
【図２４】緑色ピクセルのソース画像ウインドウ内に於いて、異なるソース画像ピクセルで覆われた、図２３に図示された水平スキャンラインの複数部分を示す図。
【図２５】緑色ピクセルのソース画像ウインドウ内に於いて、異なるソース画像ピクセルで覆われた、図２３に図示された垂直スキャンラインの複数部分を示す図。
【図２６】図１９と同一であり、単純比較の為に図２７及び２８と同一シート上に示された図。
【図２７】青色ピクセルのソース画像ウインドウ内に於いて、異なるソース画像ピクセルで覆われた、図２６に図示された水平スキャンラインの複数部分を示す図。
【図２８】青色ピクセルのソース画像ウインドウ内に於いて、異なるソース画像ピクセルで覆われた、図２６に図示された垂直スキャンラインの複数部分を示す図。
【図２９】例えば、図１７乃至図２８に関して説明したラインカバレッジ値等のラインカバレッジ値に基づいてサブピクセル輝度値を算出する、サブピクセル最適化方法に関する高度に簡略化された擬似コード記述を示す図。
【図３０】サブピクセル最適化され、拡大／縮小された画像に於いてピクセルの色を算出するための「ラインカバレッジ」法に関する代替実施形態に於いて、２本の水平スキャンライン及び２本の垂直スキャンラインをどのように使用することが出来るかを示す図。
【図３１】サブピクセル最適化され、拡大／縮小された画像に於いてピクセルの色を算出するための「ラインカバレッジ」法に関する代替実施形態に於いて、２本の対角スキャンラインをどのように使用することが出来るかを示す図。
【図３２】サブピクセル最適化された画像に於いて画素の色を算出するための「ラインカバレッジ」法に関する代替実施形態に於いて、２本の対角スキャンライン、１本の水平スキャンライン、及び、１本の垂直スキャンラインの組み合わせをどのように使用することが出来るかを示す図。
【図３３】２分の１水平及び垂直スケーリングに於いて、２本の水平カバレッジラインに対するラインカバレッジを示す図。
【図３４】図３３に図示された２分の１水平及び垂直スケーリングに於いて、２本の垂直カバレッジラインに対するラインカバレッジを示す図。
【図３５】約５分の２水平及び垂直スケーリングに於いて、２本の水平カバレッジラインに対するラインカバレッジを示す図。
【図３６】図３５に図示された約５分の２水平及び垂直スケーリングに於いて、２本の垂直カバレッジラインに対するラインカバレッジを示す図。
【図３７】約３分の２水平及び垂直スケーリングに於いて、２本の水平カバレッジラインに対するラインカバレッジを示す図。
【図３８】図３７に図示された約３分の２水平及び垂直スケーリングに於いて、２本の垂直カバレッジラインに対するラインカバレッジを示す図。
【図３９】サブピクセル最適化され、拡大／縮小された画像の色値を算出するための「エリアカバレッジ」法で使用されるソース画像ピクセルウインドウを示す図。
【図４０】一つのそうした「エリアカバレッジ」法に従って、サブピクセルの輝度値を算出するために使用されるソース画像ウインドウ内に於いて、異なるソース画像ピクセルの領域を示すために異なるハッチングを使用している点を除いて、図３９に類似する図。
【図４１】例えば、図３９及び図４０に関して議論されたエリアカバレッジ値に基づいてサブピクセル輝度値を算出する、サブピクセル最適化法に関する高度に簡略化された擬似コード記述を示す図。
【図４２】赤色サブピクセルに輝度値を関連付けるために、ビットマップ画像に関する拡大／縮小された２色サブピクセル最適化画像の生成に於いて使用可能な、ソース画像ウインドウ、及び、関連付けられたスキャンラインを図示する図。
【図４３】緑色サブピクセルに輝度値を関連付けるために、ビットマップ画像に関する拡大／縮小された２色サブピクセル最適化画像の生成に於いて使用可能な、ソース画像ウインドウ、及び、関連付けられたスキャンラインを図示する図。
【図４４】青色サブピクセルに輝度値を関連付けるために、ビットマップ画像に関する拡大／縮小された２色サブピクセル最適化画像の生成に於いて使用可能な、ソース画像ウインドウ、及び、関連付けられたスキャンラインを図示する図。
【図４５】ＲＧＢサブピクセル表示グリッドの一部に関連付けられた、一連のソース画像グレースケールピクセルの輝度を図示する図。
【図４６】図４５に図示された個別のサブピクセルに関連する輝度が、従来の線形フィルタリング法でどのように分配されるかを示す図。
【図４７】１ピクセル行に於ける複数のサブピクセルに適用されている図４６に図示された従来の線形フィルタリング法の結果によって生じるサブピクセル輝度値を図示する図。
【図４８】非線形フィルタリング下での、最小サブピクセル輝度値の分配を示す図。
【図４９】図４８に図示された非線形フィルタリング法下での、超過輝度値の分配を示す図。
【図５０】元のソースピクセル輝度と、線形及び非線形フィルタリング法の結果とを比較する図。
【図５１】元のソースピクセル輝度と、線形及び非線形フィルタリング法の結果とを比較する図。
【図５２】元のソースピクセル輝度と、線形及び非線形フィルタリング法の結果とを比較する図。
【図５３】２色ビットマップのサブピクセル最適化された表現を作成するためのソフトウェアの方法に関する高度に簡略化された擬似コード記述。
【図５４】ユーザが色と位置的な解像度を動的にトレードオフ可能な処理に関するフローチャート。
【図５５】アウトラインフォント記述により定義された文字フォント形状と、サブピクセルでアドレス可能なディスプレイ上に形状を表現するために使用されるサブピクセルを有するピクセル配列との間のマッピングを示す図。
【図５６】本発明の一実施形態で作成されたウェブページの３２０×２４０スクリーンに関するスクリーンショット。
【図５７】図５６に図示されたスクリーンショットの２倍拡大図。
【図５８】コンピュータが如何にしてフォントビットマップ、又は、フォントサーバからのフォントアウトラインにアクセスすることが可能かを示す図。
【図５９】コンピュータが如何にしてフォントビットマップ、又は、コンピュータ内に蓄積したフォントアウトラインにアクセスすることが可能かを示す図。
【図６０】図４８乃至図５２に記載された種類の非線形カラーバランスを使用する文字フォント形状のサブピクセル最適化ビットマップを算出するためのアルゴリズムに関する高度に簡略化した擬似コード表現。
【図６１】例えば図５５に図示されたピクセル配列に関する個々のピクセルの３つのサブピクセルの各々に対してカバレッジ値を決定するために使用される、例えば図５５に図示された文字フォント形状画像におけるソース画像ウインドウのサイズを示す図。
【図６２】例えば図５５に図示されたピクセル配列に関する個々のピクセルの３つのサブピクセルの各々に対してカバレッジ値を決定するために使用される、例えば図５５に図示された文字フォント形状画像におけるソース画像ウインドウのサイズを示す図。
【図６３】例えば図５５に図示されたピクセル配列に関する個々のピクセルの３つのサブピクセルの各々に対してカバレッジ値を決定するために使用される、例えば図５５に図示された文字フォント形状画像におけるソース画像ウインドウのサイズを示す図。
【図６４】非スクエアラスタ化ユニット（通常、従来技術に於ける全ピクセル）に対するカバレッジ値を算出するために使用されている幾つかの従来技術を示す図。
【図６５】非スクエアラスタ化ユニット（通常、従来技術に於ける全ピクセル）に対するカバレッジ値を算出するために使用されている幾つかの従来技術を示す図。
【図６６】非スクエアラスタ化ユニット（通常、従来技術に於ける全ピクセル）に対するカバレッジ値を算出するために使用されている幾つかの従来技術を示す図。
【図６７】非スクエアラスタ化ユニット（通常、従来技術に於ける全ピクセル）に対するカバレッジ値を算出するために使用されている幾つかの従来技術を示す図。
【図６８】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図６９】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７０】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７１】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７２】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７３】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７４】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７５】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７６】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７７】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７８】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図７９】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８０】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８１】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８２】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８３】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８４】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８５】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８６】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８７】サブピクセルに対するカバレッジ値を算出するための本発明に関する幾つかの実施形態で使用される加重ラインカバレッジ値を使用する、ラスタ化ユニットのカバレッジ値を算出するためのコンピュータを利用した効率的な方法を示す図。
【図８８】図６８乃至図８７に関して上述した一般的な種類の加重ラインカバレッジアルゴリズムを用いて使用可能なカバレッジラインに関する他の配置の幾つかを示す図。
【図８９】図６８乃至図８７に関して上述した一般的な種類の加重ラインカバレッジアルゴリズムを用いて使用可能なカバレッジラインに関する他の配置の幾つかを示す図。
【図９０】図６８乃至図８７に関して上述した一般的な種類の加重ラインカバレッジアルゴリズムを用いて使用可能なカバレッジラインに関する他の配置の幾つかを示す図。
【図９１】仮想フォントアウトラインの一部の画像へのピクセル配置及び各サブピクセルのマッピングを示す図。
【図９２】図９１に図示された配列のサブピクセルに対して計算されている、対応するカバレッジ値を示す図。
【図９３】図４６に対応しており、図４６のように、従来技術の線形カラーバランス法が、所定のピクセル行内に於ける一連の隣接するサブピクセルに対して、個々のサブピクセルのカバレッジ値の全てを如何にして分配するかを示す図。
【図９４】図６０に関して記載された非線形カラーバランス法を用いて使用可能なカラーバランスフィルタを示す図。
【図９５】図６０に関して記載された非線形カラーバランス法を用いて使用可能なカラーバランスフィルタを示す図。
【図９６】例えば図６０に図示された方法によって、フォントビットマップに対して算出された全ピクセルのアルファ値を、そうした全ピクセルのアルファ値のより制限された色空間に表現するために使用可能な、アルゴリズムに関する高度に簡略化された擬似コード記述。
【図９７】図６０及び図９６に図示された方法の組み合わせによって作成されたフォントビットマップを使用する、サブピクセルアドレス可能ディスプレイに於いてテキスト文字列を表示するためのアルゴリズムに関する高度に簡略化された擬似コード記述。
【図９８】それぞれが異なるウェブページの６４０×４８０レイアウトに関するスクリーンショットである図９８及び図１００と、本発明が３２０×２４０スクリーン上にこれら２つのウェブページのそれぞれを如何にして表示可能かを示す図９９及び図１０１を用いて、本発明が３２０×２４０スクリーン上にウェブページを如何にして適切に表示可能かを示す図。
【図９９】それぞれが異なるウェブページの６４０×４８０レイアウトに関するスクリーンショットである図９８及び図１００と、本発明が３２０×２４０スクリーン上にこれら２つのウェブページのそれぞれを如何にして表示可能かを示す図９９及び図１０１を用いて、本発明が３２０×２４０スクリーン上にウェブページを如何にして適切に表示可能かを示す図。
【図１００】それぞれが異なるウェブページの６４０×４８０レイアウトに関するスクリーンショットである図９８及び図１００と、本発明が３２０×２４０スクリーン上にこれら２つのウェブページのそれぞれを如何にして表示可能かを示す図９９及び図１０１を用いて、本発明が３２０×２４０スクリーン上にウェブページを如何にして適切に表示可能かを示す図。
【図１０１】それぞれが異なるウェブページの６４０×４８０レイアウトに関するスクリーンショットである図９８及び図１００と、本発明が３２０×２４０スクリーン上にこれら２つのウェブページのそれぞれを如何にして表示可能かを示す図９９及び図１０１を用いて、本発明が３２０×２４０スクリーン上にウェブページを如何にして適切に表示可能かを示す図。
【図１０２】幾つかのデータ構造と、プロキシサーバ及び薄型クライアントコンピュータによって、薄型クラインアントコンピュータのユーザが縮小され、サブピクセル最適化されたスクリーン上でウェブコンテンツにアクセス可能にするために使用されるプログラムに関する概略ブロック図。
【図１０３】図９８及び図９９で説明されたウェブページのＨＴＭＬコードの一部。
【図１０４】プロキシサーバと、この例で図９９に図示されたウェブページの一部に対応する、プロキシサーバの仮想スクリーン内に収まるレイアウトの一部によって作成されるウェブページのレイアウトを示す図。
【図１０５Ａ】図１０２に図示されたプロキシサーバ上でのプログラムに関する高度に簡略化された擬似コード記述。
【図１０５Ｂ】図１０２に図示されたプロキシサーバ上でのプログラムに関する高度に簡略化された擬似コード記述。
【図１０６Ａ】ウェブページの一部に表現をキャプチャし、縮小し、サブピクセル最適化し、薄型クライアントコンピュータにそれをダウンロードするためのプロキシサーバプログラムに関する高度に簡略化された擬似コード記述。
【図１０６Ｂ】ウェブページの一部に表現をキャプチャし、縮小し、サブピクセル最適化し、薄型クライアントコンピュータにそれをダウンロードするためのプロキシサーバプログラムに関する高度に簡略化された擬似コード記述。
【図１０６Ｃ】ウェブページの一部に表現をキャプチャし、縮小し、サブピクセル最適化し、薄型クライアントコンピュータにそれをダウンロードするためのプロキシサーバプログラムに関する高度に簡略化された擬似コード記述。
【図１０７】図１０６Ａ乃至図１０６Ｃのプログラムによってキャプチャされたウェブページの表現を実際にダウンロードするためのプログラムに関する高度に簡略化された疑似コード記述。
【図１０８】図１０７に於いて説明されたプログラムによって薄型クライアントコンピュータにダウンロードされたデータに関する高度に簡略化された表現。
【図１０９Ａ】図１０２に図示された薄型クライアントにおけるプログラムに関する高度に簡略化された擬似コードの表現。
【図１０９Ｂ】図１０２に図示された薄型クライアントにおけるプログラムに関する高度に簡略化された擬似コードの表現。
【図１０９Ｃ】図１０２に図示された薄型クライアントにおけるプログラムに関する高度に簡略化された擬似コードの表現。
【図１１０】図１０２に図示された薄型クライアントにおけるウェブページの表示上のテキスト入力フィールド上でユーザがクリックした場合、ユーザがテキスト入力フィールドにテキストを入力可能になるポップアップキーボードが如何にして表示されるかを説明する図。
【図１１１】図１０２に図示された薄型クライアントにおけるウェブページの表示上のテキスト入力フィールド上でユーザがクリックした場合、ユーザがテキスト入力フィールドにテキストを入力可能になるポップアップキーボードが如何にして表示されるかを説明する図。
【図１１２】図１０２に図示された薄型クライアントにおけるウェブページの表示上のテキスト入力フィールド上でユーザがクリックした場合、ユーザがテキスト入力フィールドにテキストを入力可能になるポップアップキーボードが如何にして表示されるかを説明する図。
【図１１３】所望のウェブページにユーザがアクセス可能なＵＲＬを入力するために、同一のポップアップキーボードをユーザがどのように使用することが出来るかを説明する図。
【図１１４】グラフィカルユーザインターフェース（ＧＵＩ）ボタン、及び、ＵＲＬのテキスト入力フィールドを含む薄型クライアントコンピュータスクリーンの最上部にツールバーを有する、本発明の一実施形態を説明する点以外は、実質的に図１３と同一である図。
【図１１５】ウェブページに関連して、クライアントコンピュータがより迅速にスクロール及びズーム出来るように、ウェブページ全体のレイアウトを保存する本発明の代替実施形態で使用される、プロキシサーバ及び薄型クライアントコンピュータとのそれぞれに於けるプログラムに関する高度に簡略化された疑似コード表現。
【図１１６】ウェブページに関連して、クライアントコンピュータがより迅速にスクロール及びズーム出来るように、ウェブページ全体のレイアウトを保存する本発明の代替実施形態で使用される、プロキシサーバ及び薄型クライアントコンピュータとのそれぞれに於けるプログラムに関する高度に簡略化された疑似コード表現。
【図１１７】図１１５及び図１１６で説明された擬似コードの動作説明に役立てるために使用される概略図。
【図１１８】本発明によって、ユーザが如何にしてウェブページ又はスクリーンの一部を迅速に選択し、その後、選択された部分にズームすることが可能となるかを説明する図。
【図１１９】本発明によって、ユーザが如何にしてウェブページ又はスクリーンの一部を迅速に選択し、その後、選択された部分にズームすることが可能となるかを説明する図。
【図１２０】本発明によって、ユーザが如何にしてウェブページ又はスクリーンの一部を迅速に選択し、その後、選択された部分にズームすることが可能となるかを説明する図。
【図１２１】ユーザがウェブページ又はスクリーンの一部をより正確に視認し、選択可能になる本発明のズームクリックに関する一つの特徴を説明する図。
【図１２２】ユーザがウェブページ又はスクリーンの一部をより正確に視認し、選択可能になる本発明のズームクリックに関する一つの特徴を説明する図。
【図１２３】ユーザがウェブページ又はスクリーンの一部をより正確に視認し、選択可能になる本発明のズームクリックに関する一つの特徴を説明する図。
【図１２４】ユーザがウェブページ又はスクリーンの一部をより正確に視認し、選択可能になる本発明のズームクリックに関する一つの特徴を説明する図。
【図１２５】ユーザがウェブページ又はスクリーンの一部をより正確に視認し、選択可能になる本発明のズームクリックに関する一つの特徴を説明する図。
【図１２６】ユーザがウェブページ又はスクリーンの一部をより正確に視認し、選択可能になる本発明のズームクリックに関する一つの特徴を説明する図。
【図１２７】ユーザがウェブページ又はスクリーンの一部をより正確に視認し、選択可能になる本発明のズームクリックに関する一つの特徴を説明する図。
【図１２８】ユーザがウェブページ又はスクリーンの一部をより正確に視認し、選択可能になる本発明のズームクリックに関する一つの特徴を説明する図。
【図１２９】ユーザが、大きな倍率で所定のスクリーンを越えてリフローされたテキストを選択可能にするためのプログラムに関する高度に簡略化された擬似コード記述。
【図１３０】図１２９に図示されたテキストのリフロー機能が如何に実行されるかを説明するために使用される図。
【図１３１】図１２９に図示されたテキストのリフロー機能が如何に実行されるかを説明するために使用される図。
【図１３２】図１２９に図示されたテキストのリフロー機能が如何に実行されるかを説明するために使用される図。
【図１３３】図１２９に図示されたテキストのリフロー機能が如何に実行されるかを説明するために使用される図。
【図１３４】図１２９に図示されたテキストのリフロー機能が如何に実行されるかを説明するために使用される図。
【図１３５】図１２９に図示されたテキストのリフロー機能が如何に実行されるかを説明するために使用される図。
【図１３６】図１２９に図示されたテキストのリフロー機能が如何に実行されるかを説明するために使用される図。
【図１３７】図１２９に図示されたテキストのリフロー機能が如何に実行されるかを説明するために使用される図。
【図１３８】複数のクライアントコンピュータが共通のフォントサーバ、及び／又は、共通のプロキシサーバにアクセスするために如何にしてプログラムすることが出来るかを説明するために使用される図。
【図１３９】１つ又は複数のフォントサーバ上で使用可能なプログラムに関する高度に簡略化された擬似コード記述。
【図１４０】（一つ又は複数のウェブブラウザを有することが出来るが、これに限定されない）アプリケーションによって実行されたリモートコンピュータのオペレーティングシステムに対する割り込み要求によって、縮小され、サブピクセル最適化された方法で、リモートコンピュータ上で実行するこうしたアプリケーションによって描画されるスクリーンをクライアントコンピュータが視認可能にするために、本発明の特定の特徴を如何にして使用することが出来るかを説明する図。
【図１４１】所定のコンピュータ上で実行する（一つ又は複数のウェブブラウザを有することが出来るが、これに限定されない）アプリケーションが、所定のコンピュータのスクリーン上でサブピクセル最適化され、縮小されたビューを生成するためにプログラムされていないとしても、そうしたアプリケーションによって実行されたコンピュータのオペレーティングシステムに対する割り込み要求によって、サブピクセル最適化され、縮小されたビューが、そうしたアプリケーションプログラムによって生成されたスクリーン出力を如何にして有することが出来るかを説明する図。
【図１４２】ポータブル小型スクリーンの薄型クライアントコンピュータが、ローカル、及び／又は、インターネットのワイヤレス通信を介して、ウェブコンテンツ、及び／又は、種々のアプリケーションプログラムのスクリーン出力にアクセス出来るように、本発明に関する特定の特徴を如何にして使用することが出来るかを説明する図。
【図１４３】本発明に関する幾つかの実施形態において、縦方向で実行するようにプログラムされたオペレーティングシステムを有するコンピュータデバイスを回転させることによって、サブピクセル最適化された出力が如何にして横方向で表示されるのかを説明するために使用される図。
【図１４４】本発明に関する幾つかの実施形態において、縦方向で実行するようにプログラムされたオペレーティングシステムを有するコンピュータデバイスを回転させることによって、サブピクセル最適化された出力が如何にして横方向で表示されるのかを説明するために使用される図。
【図１４５】サブピクセル最適化の解像度を用いて、単純な形状を描画するために使用されるプログラムに関する、高度に簡略化された擬似コード記述。
【図１４６】コンピュータのスクリーン上にサブピクセル最適化された要素を描画するためにウェブアプレットをどのように使用することが可能かということに関する高度に簡略化された擬似コード記述。
【図１４７】ロールオーバ画像をどのようにサブピクセル最適化することが出来るかを説明する高度に簡略化されたブロック図。
【図１４８】ＧＩＦＦアニメーションをどのようにサブピクセル最適化することが出来るかを説明する高度に簡略化されたブロック図。
【図１４９】３Ｄアニメーションをどのようにサブピクセル最適化することが出来るかということに関する高度に簡略化された擬似コード記述。
【図１５０】クライアントコンピュータ上にサブピクセル最適化されたゲーム画像を提供するために、クライアント／サーバゲームシステムをどのように使用することが可能かということに関する高度に簡略化された擬似コード記述。
【図１５１】クライアントコンピュータ上にサブピクセル最適化されたゲーム画像を提供するために、クライアント／サーバゲームシステムをどのように使用することが可能かということに関する高度に簡略化された擬似コード記述。
【図１５２】サブピクセル最適化されたディスプレイが、如何にして対応する透過マップを有する画像で構成することが出来るかということに関する高度に簡略化された擬似コード記述。
【図１５３】キーフレーム間の補間を使用する映像が、どのようにしてサブピクセル最適化することが出来るかということに関する高度に簡略化された擬似コード記述。
【図１５４】表現が全フレームよりも少ない部分へのスクリーン変化を描画することを含む映像を、どのようにしてサブピクセル最適化することが可能かということに関する高度に簡略化された擬似コード記述。
【図１５５】ディスプレイウィンドウに関連して移動する画像を表示するための異なる方法に関する高度に簡略化された疑似コード記述。
【図１５６】ディスプレイウィンドウに関連して移動する画像を表示するための異なる方法に関する高度に簡略化された疑似コード記述。
【図１５７】種々の圧縮技術によって表現された映像に対して、サブピクセル最適化を如何にして適用することが出来るかということに関する高度に簡略化された疑似コード表示。
【図１５８】種々の圧縮技術によって表現された映像に対して、サブピクセル最適化を如何にして適用することが出来るかということに関する高度に簡略化された疑似コード表示。
【図１５９】種々の圧縮技術によって表現された映像に対して、サブピクセル最適化を如何にして適用することが出来るかということに関する高度に簡略化された疑似コード表示。
【図１６０】サーバコンピュータが、クライアントコンピュータにサブピクセル最適化され、縮小されたビデオをダウンロード可能にするためのプログラムに関する高度に簡略化された擬似コード表記。
【図１６１】クライアントコンピュータ、及び、プロキシコンピュータの両方に於いて、クライアントコンピュータがプロキシコンピュータを介して、他のサーバからの縮小された、サブピクセル最適化された映像にアクセス可能になるプログラムに関する高度に簡略化された擬似コード表記。
【図１６２】電子インクをより明瞭に視認することが可能なプログラムに関する高度に簡略化された擬似コード表記。
【図１６３】図１６２に関して記載されたプログラムの利点を説明するのに役立てるために使用される図。
【図１６４】図１６２に関して記載されたプログラムの利点を説明するのに役立てるために使用される図。
【図１６５】図１６２に関して記載されたプログラムの利点を説明するのに役立てるために使用される図。
【図１６６】図１６２に関して記載されたプログラムの利点を説明するのに役立てるために使用される図。
【図１６７】本発明が方法だけでなく、機械可読形式で保存された方法に関連した、又は、伝搬信号で具体化される、プログラム及びデータ、そして、そうした方法を実行するため及び／又はそうしたプログラム及び／又はデータを使用するためのプログラムされたコンピュータシステム、及び／又は、ハードウェアに組み込まれたコンピュータシステム、に関連することを説明する図。
【図１６８】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１６９】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７０】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７１】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７２】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７３】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７４】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７５】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７６】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７７】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７８】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１７９】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１８０】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１８１】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１８２】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１８３】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１８４】本発明によって作成された、カラーバランスされ、サブピクセル最適化されたフォントビットマップの明瞭さを向上させるための本発明に対するさらなる改善を説明するために使用される図。
【図１８５】図１２９乃至図１３４に関して記載された選択されたテキストのリフロー法に関するより高レベルな記述。
【図１８６】図１１８乃至図１２０に関して記載された一般的な種類のズームトゥフィット(ｚｏｏｍ−ｔｏ−ｆｉｔ)法に関する高レベル疑似コード記述。
【図１８７】ユーザがウェブページのレイアウトのディスプレイ内で容易にナビゲート可能なドラッグスクロール法に関する高レベル擬似コード記述。
【図１８８】ユーザがウェブページのレイアウトの表示の所望部分に速やかにズームインを選択出来るようにする、クリックズーム法に関する高レベル擬似コード記述。
【図１８９】図１２１乃至図１２８に関して記載された、ズームクリック法に関する高度に簡略化された擬似コード記述。
【図１９０】ユーザがグリーキングを使用するウェブページのズームアウト表示を視認可能な方法に関する高度に簡略化された擬似コード記述。
【図１９１】２２０×１７６ピクセルスクリーンに於いて、図１９２乃至図２１６に図示されたスクリーンショットを生成するために使用可能な、マイクロソフト社のスマートフォン仕様と互換性のある携帯電話の上面図。
【図１９２】ウェブページの縮小されたオーバービューが表示され、ユーザによってそのウェブページの異なる表示が選択可能であり、また、ウェブの閲覧に共通する他の機能を実行可能なメニューが表示される、図１９１に図示された携帯電話のスクリーンの画像を図示するスクリーンショット。
【図１９３】表示中のメニューを有していない図１９２に於けるウェブページオーバービューと同一のウェブページのオーバービューを図示するスクリーンショット。
【図１９４】デスクトップコンピュータ、又は、ラップトップコンピュータ上で通常見られるサイズの約２分の１のサイズで、拡大されたビューによって多くのウェブページの要素を実際に表示している図１９３に図示されたオーバービューの一部に関する拡大されたビューを図示するスクリーンショット。
【図１９５】スクリーンの最上部が、図１９３に図示されたビューの縮尺をオーバービューウインドウが有することを図示しており、スクリーンの最下部が、図１９４に図示された縮尺を有する拡大されたビューウインドウを図示している分割ビューを図示するスクリーンショット。
【図１９６】同一シート上に存在する図１９７乃至図１９９との単純比較の為に、図１９５のスクリーンショットと同一のスクリーンショットを図示するスクリーンショット。
【図１９７】ユーザがウインドウに於ける表示を図１９６に図示された位置から右にナビゲートする場合に生じる拡大されたビューに於けるビューを図示するスクリーンショット。
【図１９８】ユーザがウインドウに於ける表示を図１９７に於ける位置から下方向にナビゲートする場合に生じる拡大されたビューウインドウに於けるビューを示すスクリーンショット。
【図１９９】オーバービューウインドウに於ける表示をスクロールさせる為に、ユーザがそのウインドウに於けるビューを図１９８に於ける位置からさらに下方向にナビゲートする場合に生じる拡大されたビューウインドウに於けるビューを図示するスクリーンショット。
【図２００】同一シート上に存在する図２０１乃至２０３との単純比較の為に提供された図１９８のスクリーンショットと同一のスクリーンショット。
【図２０１】最上部のウインドウが図２００に見られるオーバービューウインドウであるが、最下部のウインドウは、オーバービューウインドウに図示されたテキストの選択された部分をより簡単に読むことが出来るように、スクリーンの幅に関連してより大きなフォントサイズでリフローしている、リフローされたテキストウインドウである、分割ビューを図示する模擬スクリーンショット。
【図２０２】ユーザがリフローされたテキストコラムで下方向にスクロールを行った後の図２０１に図示された種類の分割ビューを図示するスクリーンショット。
【図２０３】ユーザが右方向にスクロールを行った後、図２０１の分割ビューと同一の分割ビューを図示するスクリーンショットであり、右側の次のコラムに於けるテキストをリフローされたテキストウインドウに表示させる図。
【図２０４】同一シート上に存在する図２０５乃至２０７との単純比較の為に提供された、図２００のスクリーンショットと同一のスクリーンショット。
【図２０５】図２０４に於けるカーソル位置に最も近いコラムに於けるテキストに関する略全スクリーンのリフローされたテキストビューを図示する、模擬スクリーンショット。
【図２０６】ユーザが図２０５に図示されたテキストコラムに於いて下方向にスクロールした後のそうしたリフローされたテキストビューを図示する模擬スクリーンショット。
【図２０７】ユーザが右方向にスクロールした後のそうしたリフローされたテキストビューを図示する模擬スクリーンショットであり、ウェブページの次のコラムから右側にテキストを表示させる図。
【図２０８】拡大されたビューウインドウがオーバービューウインドウの一部を越えて表示される、図１９１乃至２０７に図示されているものと同一のウェブページの拡大鏡ビューを図示するスクリーンショット。
【図２０９】ユーザが拡大されたビューで表示されたレイアウトの一部を、図２０８に於けるビューに関連して右にスクロールした後の拡大鏡ビューを図示するスクリーンショット。
【図２１０】ユーザが図２０９に於けるビューに関連して、拡大されたビューで表示されたレイアウトの一部を下方向にスクロールした後の拡大鏡ビューを図示するスクリーンショット。
【図２１１】ユーザが図２１０に於けるビューに関連して、拡大されたビューに於いて表示されたレイアウトの一部をさらに下方向にスクロールした後の拡大鏡ビューを図示するスクリーンショット。
【図２１２】ウェブページのコンテンツの一部に関する表現であり、細い灰色のラインでそのコラムの多くに関する側部、最上部、及び／又は、最下部を図示する図。
【図２１３】コラム幅制限が使用されない場合、図２１２に図示されたウェブページコンテンツが如何にしてレイアウトされる可能性があるのかを説明する模擬スクリーンショット。
【図２１４】図１９５乃至図１９９に図示された一般的な種類の分割スクリーンビューを図示する模擬スクリーンショットであり、図２１３にレイアウトされているように、表示中のウェブページのテキストのメイン部分のライン幅があまりにも広いので、一度に拡大表示ウインドウに適合することが出来ないことを図示する図。
【図２１５】図２１２に図示されたウェブページコンテンツが如何にしてコラム幅制限を使用してレイアウトすることが可能であるかを図示する模擬スクリーンショット。
【図２１６】図２１４に図示されたものと同一種類の分割スクリーンビューを図示するスクリーンショットであり、コラム幅制限を使用した場合、ウェブページのテキストのメイン部分のライン幅は、一度に拡大されたビューウインドウに適合させるためには十分狭いことを図示する図。
【図２１７】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２１８】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２１９】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２２０】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２２１】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２２２】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２２３Ａ】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２２３Ｂ】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２２４】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２２５】図１９１乃至図２１１、及び、図２１３乃至図２１６に図示されたスクリーンショットを作成するために使用可能な、プログラムされた関数に関する高度に簡略化された擬似コード表示。
【図２２６】ウェブページコンテンツが、横方向に配置された一連のコラムに関するコンテンツ、幅、及び、水平置換に対する仕様を提供可能な多くの方法の内、２つの方法を図示する図。
【図２２７】ウェブページコンテンツが、横方向に配置された一連のコラムに関するコンテンツ、幅、及び、水平置換に対する仕様を提供可能な多くの方法の内、２つの方法を図示する図。
【図２２８】ウェブページコンテンツが、横方向に配置された一連のコラムに関するコンテンツ、幅、及び、水平置換に対する仕様を提供可能な多くの方法の内、２つの方法を図示する図。
【図２２９】本発明に関するその特徴が、同図に図示された携帯情報端末（ＰＤＡ）など、携帯電話以外のコンピュータ上で使用可能であることを図示する図。
【図１】
0004498146.tif 000002
【図２】
0004498146.tif 000003
【図３】
0004498146.tif 000004
【図４】
0004498146.tif 000005
【図５】
0004498146.tif 000006
【図６】
0004498146.tif 000007
【図７】
0004498146.tif 000008
【図８】
0004498146.tif 000009
【図９】
0004498146.tif 000010
【図１０】
0004498146.tif 000011
【図１１】
0004498146.tif 000012
【図１２】
0004498146.tif 000013
【図１３】
0004498146.tif 000014
【図１４】
0004498146.tif 000015
【図１５】
0004498146.tif 000016
【図１６】
0004498146.tif 000017
【図１７】
0004498146.tif 000018
【図１８】
0004498146.tif 000019
【図１９】
0004498146.tif 000020
【図２０】
0004498146.tif 000021
【図２１】
0004498146.tif 000022
【図２２】
0004498146.tif 000023
【図２３】
0004498146.tif 000024
【図２４】
0004498146.tif 000025
【図２５】
0004498146.tif 000026
【図２６】
0004498146.tif 000027
【図２７】
0004498146.tif 000028
【図２８】
0004498146.tif 000029
【図２９】
0004498146.tif 000030
【図３０】
0004498146.tif 000031
【図３１】
0004498146.tif 000032
【図３２】
0004498146.tif 000033
【図３３】
0004498146.tif 000034
【図３４】
0004498146.tif 000035
【図３５】
0004498146.tif 000036
【図３６】
0004498146.tif 000037
【図３７】
0004498146.tif 000038
【図３８】
0004498146.tif 000039
【図３９】
0004498146.tif 000040
【図４０】
0004498146.tif 000041
【図４１】
0004498146.tif 000042
【図４２】
0004498146.tif 000043
【図４３】
0004498146.tif 000044
【図４４】
0004498146.tif 000045
【図４５】
0004498146.tif 000046
【図４６】
0004498146.tif 000047
【図４７】
0004498146.tif 000048
【図４８】
0004498146.tif 000049
【図４９】
0004498146.tif 000050
【図５０】
0004498146.tif 000051
【図５１】
0004498146.tif 000052
【図５２】
0004498146.tif 000053
【図５３】
0004498146.tif 000054
【図５４】
0004498146.tif 000055
【図５５】
0004498146.tif 000056
【図５６】
0004498146.tif 000057
【図５７】
0004498146.tif 000058
【図５８】
0004498146.tif 000059
【図５９】
0004498146.tif 000060
【図６０】
0004498146.tif 000061
【図６１】
0004498146.tif 000062
【図６２】
0004498146.tif 000063
【図６３】
0004498146.tif 000064
【図６４】
0004498146.tif 000065
【図６５】
0004498146.tif 000066
【図６６】
0004498146.tif 000067
【図６７】
0004498146.tif 000068
【図６８】
0004498146.tif 000069
【図６９】
0004498146.tif 000070
【図７０】
0004498146.tif 000071
【図７１】
0004498146.tif 000072
【図７２】
0004498146.tif 000073
【図７３】
0004498146.tif 000074
【図７４】
0004498146.tif 000075
【図７５】
0004498146.tif 000076
【図７６】
0004498146.tif 000077
【図７７】
0004498146.tif 000078
【図７８】
0004498146.tif 000079
【図７９】
0004498146.tif 000080
【図８０】
0004498146.tif 000081
【図８１】
0004498146.tif 000082
【図８２】
0004498146.tif 000083
【図８３】
0004498146.tif 000084
【図８４】
0004498146.tif 000085
【図８５】
0004498146.tif 000086
【図８６】
0004498146.tif 000087
【図８７】
0004498146.tif 000088
【図８８】
0004498146.tif 000089
【図８９】
0004498146.tif 000090
【図９０】
0004498146.tif 000091
【図９１】
0004498146.tif 000092
【図９２】
0004498146.tif 000093
【図９３】
0004498146.tif 000094
【図９４】
0004498146.tif 000095
【図９５】
0004498146.tif 000096
【図９６】
0004498146.tif 000097
【図９７】
0004498146.tif 000098
【図９８】
0004498146.tif 000099
【図９９】
0004498146.tif 000100
【図１００】
0004498146.tif 000101
【図１０１】
0004498146.tif 000102
【図１０２】
0004498146.tif 000103
【図１０３】
0004498146.tif 000104
【図１０４】
0004498146.tif 000105
【図１０５Ａ】
0004498146.tif 000106
【図１０５Ｂ】
0004498146.tif 000107
【図１０６Ａ】
0004498146.tif 000108
【図１０６Ｂ】
0004498146.tif 000109
【図１０６Ｃ】
0004498146.tif 000110
【図１０７】
0004498146.tif 000111
【図１０８】
0004498146.tif 000112
【図１０９Ａ】
0004498146.tif 000113
【図１０９Ｂ】
0004498146.tif 000114
【図１０９Ｃ】
0004498146.tif 000115
【図１１０】
0004498146.tif 000116
【図１１１】
0004498146.tif 000117
【図１１２】
0004498146.tif 000118
【図１１３】
0004498146.tif 000119
【図１１４】
0004498146.tif 000120
【図１１５】
0004498146.tif 000121
【図１１６】
0004498146.tif 000122
【図１１７】
0004498146.tif 000123
【図１１８】
0004498146.tif 000124
【図１１９】
0004498146.tif 000125
【図１２０】
0004498146.tif 000126
【図１２１】
0004498146.tif 000127
【図１２２】
0004498146.tif 000128
【図１２３】
0004498146.tif 000129
【図１２４】
0004498146.tif 000130
【図１２５】
0004498146.tif 000131
【図１２６】
0004498146.tif 000132
【図１２７】
0004498146.tif 000133
【図１２８】
0004498146.tif 000134
【図１２９】
0004498146.tif 000135
【図１３０】
0004498146.tif 000136
【図１３１】
0004498146.tif 000137
【図１３２】
0004498146.tif 000138
【図１３３】
0004498146.tif 000139
【図１３４】
0004498146.tif 000140
【図１３５】
0004498146.tif 000141
【図１３６】
0004498146.tif 000142
【図１３７】
0004498146.tif 000143
【図１３８】
0004498146.tif 000144
【図１３９】
0004498146.tif 000145
【図１４０】
0004498146.tif 000146
【図１４１】
0004498146.tif 000147
【図１４２】
0004498146.tif 000148
【図１４３】
0004498146.tif 000149
【図１４４】
0004498146.tif 000150
【図１４５】
0004498146.tif 000151
【図１４６】
0004498146.tif 000152
【図１４７】
0004498146.tif 000153
【図１４８】
0004498146.tif 000154
【図１４９】
0004498146.tif 000155
【図１５０】
0004498146.tif 000156
【図１５１】
0004498146.tif 000157
【図１５２】
0004498146.tif 000158
【図１５３】
0004498146.tif 000159
【図１５４】
0004498146.tif 000160
【図１５５】
0004498146.tif 000161
【図１５６】
0004498146.tif 000162
【図１５７】
0004498146.tif 000163
【図１５８】
0004498146.tif 000164
【図１５９】
0004498146.tif 000165
【図１６０】
0004498146.tif 000166
【図１６１】
0004498146.tif 000167
【図１６２】
0004498146.tif 000168
【図１６３】
0004498146.tif 000169
【図１６４】
0004498146.tif 000170
【図１６５】
0004498146.tif 000171
【図１６６】
0004498146.tif 000172
【図１６７】
0004498146.tif 000173
【図１６８】
0004498146.tif 000174
【図１６９】
0004498146.tif 000175
【図１７０】
0004498146.tif 000176
【図１７１】
0004498146.tif 000177
【図１７２】
0004498146.tif 000178
【図１７３】
0004498146.tif 000179
【図１７４】
0004498146.tif 000180
【図１７５】
0004498146.tif 000181
【図１７６】
0004498146.tif 000182
【図１７７】
0004498146.tif 000183
【図１７８】
0004498146.tif 000184
【図１７９】
0004498146.tif 000185
【図１８０】
0004498146.tif 000186
【図１８１】
0004498146.tif 000187
【図１８２】
0004498146.tif 000188
【図１８３】
0004498146.tif 000189
【図１８４】
0004498146.tif 000190
【図１８５】
0004498146.tif 000191
【図１８６】
0004498146.tif 000192
【図１８７】
0004498146.tif 000193
【図１８８】
0004498146.tif 000194
【図１８９】
0004498146.tif 000195
【図１９０】
0004498146.tif 000196
【図１９１】
0004498146.tif 000197
【図１９２】
0004498146.tif 000198
【図１９３】
0004498146.tif 000199
【図１９４】
0004498146.tif 000200
【図１９５】
0004498146.tif 000201
【図１９６】
0004498146.tif 000202
【図１９７】
0004498146.tif 000203
【図１９８】
0004498146.tif 000204
【図１９９】
0004498146.tif 000205
【図２００】
0004498146.tif 000206
【図２０１】
0004498146.tif 000207
【図２０２】
0004498146.tif 000208
【図２０３】
0004498146.tif 000209
【図２０４】
0004498146.tif 000210
【図２０５】
0004498146.tif 000211
【図２０６】
0004498146.tif 000212
【図２０７】
0004498146.tif 000213
【図２０８】
0004498146.tif 000214
【図２０９】
0004498146.tif 000215
【図２１０】
0004498146.tif 000216
【図２１１】
0004498146.tif 000217
【図２１２】
0004498146.tif 000218
【図２１３】
0004498146.tif 000219
【図２１４】
0004498146.tif 000220
【図２１５】
0004498146.tif 000221
【図２１６】
0004498146.tif 000222
【図２１７】
0004498146.tif 000223
【図２１８】
0004498146.tif 000224
【図２１９】
0004498146.tif 000225
【図２２０】
0004498146.tif 000226
【図２２１】
0004498146.tif 000227
【図２２２】
0004498146.tif 000228
【図２２３Ａ】
0004498146.tif 000229
【図２２３Ｂ】
0004498146.tif 000230
【図２２４】
0004498146.tif 000231
【図２２５】
0004498146.tif 000232
【図２２６】
0004498146.tif 000233
【図２２７】
0004498146.tif 000234
【図２２８】
0004498146.tif 000235
【図２２９】
0004498146.tif 000236