(57)【要約】      （修正有）【課題】情報の広範な全体像からユーザに関心のあるアイテムを選択させ、それらのアイテムが詳細に表示されるようにする。【解決手段】各々の連続する出力表示において、表示を展開しているビジュアル・コンポーネント（ＶＣ）が再配列およびスケーリングされる。第１のレイアウト内のＶＣは、第１のレンダリング・サイズで表示される。複数のＶＣの第１のレンダリング・サイズを第２のレンダリング・サイズへ変更するズーム入力に応答して、複数のＶＣの中間可視表示が、１と第２のレンダリング・サイズ対第１のレンダリング・サイズの比との中間にある中間ズームファクタを計算し、中間ズームファクタに応じて複数のＶＣの第２のレイアウトを計算し、複数のＶＣを倍率レベルによってスケーリングすることによって生成される。生成された中間可視表示は表示領域で表示され、第２のレンダリング・サイズのＶＣは第３のレイアウトで表示される。【選択図】図１
2006293989.tif 000002
【特許請求の範囲】
【請求項１】
複数のビジュアル・コンポーネントを表示する方法であって、
ビジュアル・コンポーネントを第１のレイアウトの中に第１のレンダリング・サイズで表示するステップと、
ズーム入力を受け取って、複数のビジュアル・コンポーネントの第１のレンダリング・サイズを第２のレンダリング・サイズへ変更するステップと、
i）１と第２のレンダリング・サイズ対第１のレンダリング・サイズ比との中間にある中間ズームファクタを計算し、
ii）中間ズームファクタに応じて複数のビジュアル・コンポーネントの第２のレイアウトを計算し、
iii）複数のビジュアル・コンポーネントを倍率レベルによってスケーリングすることによって、複数のビジュアル・コンポーネントの中間可視表示を生成するステップと、
生成された中間可視表示を表示領域の中で表示するステップと、
ビジュアル・コンポーネントを第３のレイアウトの中に第２のレンダリング・サイズで表示するステップと、
を備える方法。
【請求項２】
一連の追加の中間可視表示を生成するステップを備え、一連の中間可視表示の中の各々の追加の中間可視表示が、前の中間可視表示のレンダリング・サイズと第２のレンダリング・サイズとの間にあるレンダリング・サイズで複数のビジュアル・コンポーネントを含み、複数のビジュアル・コンポーネントが、各々の追加の中間表示の中で、対応する中間レイアウトへ再配列される、請求項１に記載の方法。
【請求項３】
各々のレイアウトの中で、複数のビジュアル・コンポーネントが、表示領域の幅と合致するように配列およびスケーリングされる、請求項２に記載の方法。
【請求項４】
表示領域をリサイズするステップを備える、請求項１〜３のいずれか一項に記載の方法。
【請求項５】
第２のレイアウトを計算するステップが、第１のレイアウトの中で垂直に配列されたビジュアル・コンポーネントを第２のレイアウトの中の水平配列へ配列する工程を含む、請求項１〜４のいずれか一項に記載の方法。
【請求項６】
第２のレイアウトを計算するステップが、第１のレイアウトの中で水平に配列されたビジュアル・コンポーネントを第２のレイアウトの中の垂直配列へ配列する工程を含む、請求項１〜５のいずれか一項に記載の方法。
【請求項７】
第２のレンダリング・サイズが第１のレンダリング・サイズよりも大きい、請求項１〜６のいずれか一項に記載の方法。
【請求項８】
第２のレンダリング・サイズが第１のレンダリング・サイズよりも小さい、請求項１〜６のいずれか一項に記載の方法。
【請求項９】
ビジュアル・コンポーネントがテキストのストリングを含み、複数のビジュアル・コンポーネントの第２のレイアウトを計算するステップが、テキストのストリングにおける行の中断位置を修正して、異なったレイアウト・サイズへ合致させる工程を含み、テキストのストリングにおける行の中断位置が、一連の中間可視表示の中の各々の中間可視表示について再計算される、請求項１〜８のいずれか一項に記載の方法。
【請求項１０】
ビジュアル・コンポーネントがテキストのストリングを含み、複数のビジュアル・コンポーネントの第２のレイアウトを計算するステップが、テキストの複数の行を単一の表示行へ結合する工程を含む、請求項１〜９のいずれか一項に記載の方法。
【請求項１１】
ユーザがメニュー・システムをナビゲートするコントロールの同じセットからズーム入力が受け取られる、請求項１〜１０のいずれか一項に記載の方法。
【請求項１２】
第３のレイアウトがユーザ選好レイアウトに対応し、第３のレイアウトに従って、連続的に処理されるビジュアル・コンポーネントを最初に表示するステップを含む、請求項１〜１１のいずれか一項に記載の方法。
【請求項１３】
ビジュアル・コンポーネントが、メニュー・システムを介してアクセスされるドキュメントを構成する、請求項１〜１２のいずれか一項に記載の方法。
【請求項１４】
各々のビジュアル・コンポーネントのレンダリング・サイズが個別にコントロール可能である、請求項１〜１３のいずれか一項に記載の方法。
【請求項１５】
ビジュアル・コンポーネントが、テキスト・コンポーネント、画像、メニュー・アイテム、グラフィック・オブジェクト、およびアイコンの少なくとも１つを含む、請求項１〜１４のいずれか一項に記載の方法。
【請求項１６】
第２のレンダリング・サイズを受け取るステップが、ユーザ・コントロールの連続的作動を検出する工程を含む、請求項１〜１５のいずれか一項に記載の方法。
【請求項１７】
第２のレンダリング・サイズを受け取るステップが、ユーザ・コントロールの断続的作動を検出する工程を含む、請求項１〜１６のいずれか一項に記載の方法。
【請求項１８】
表示領域が可視画面領域である、請求項１〜１７のいずれか一項に記載の方法。
【請求項１９】
表示領域がウィンドウである、請求項１〜１８のいずれか一項に記載の方法。
【請求項２０】
最初に開始レイアウトの中に配列された複数のビジュアル・コンポーネントを表示するシステムであって、
第１のズームファクタを受け取る入力と、
入力によって受け取られた第１のズームファクタに基づいて初期レンダリング・サイズから最終レンダリング・サイズへ複数のビジュアル・コンポーネントを漸増的にズームするため、入力と通信して、少なくとも最終レイアウト・サイズおよび開始レイアウト・サイズ、並びに最終レイアウト・サイズとの間の中間レイアウト・サイズを含む一連の少なくとも２つのレイアウト・サイズ、および一連のレイアウト・サイズの中のレイアウト・サイズに対応する一連の少なくとも２つの倍率レベルを計算する計算モジュールと、
i）複数のビジュアル・コンポーネントおよび一連の計算されたレイアウト・サイズを受け取り、
ii）複数のビジュアル・コンポーネントを、一連のレイアウト・サイズの中のレイアウト・サイズに対応する一連のレイアウトの中へ配列し、
iii）複数のビジュアル・コンポーネントおよび一連のレイアウトを出力するため、計算モジュールと通信するレイアウト・エンジンと、
レイアウト・エンジンおよび計算モジュールと通信して、複数のビジュアル・コンポーネント、一連のレイアウト、および一連の倍率レベルを受け取り、表示デバイス上で表示するための一連の出力フレームを出力するレンダリング・モジュールであって、一連の出力フレームの中の各々の出力フレームが、一連の倍率レベルからの対応する倍率レベルおよび一連のレイアウトからの対応するレイアウトに基づいて生成されるレンダリング・モジュールと、
を備えるシステム。
【請求項２１】
複数のビジュアル・コンポーネントがグラフィカル・ユーザ・インタフェース・コンポーネントを含み、レイアウト・エンジンが、グラフィカル・ユーザ・インタフェース・コンポーネントを配列する第１の配列ロジックを含む、請求項２０に記載のシステム。
【請求項２２】
複数のビジュアル・コンポーネントがドキュメント・コンポーネントを含み、レイアウト・エンジンが、ドキュメント・コンポーネントを配列する第２の配列ロジックを含む、請求項２０または２１に記載のシステム。
【請求項２３】
複数のビジュアル・コンポーネントがドキュメント・コンテンツ・コンポーネントおよびグラフィカル・ユーザ・インタフェース・コンポーネントを含み、レイアウト・エンジンが、ドキュメント・コンテンツ・コンポーネントを配列するための第１の配列ロジック、およびグラフィカル・ユーザ・インタフェース・コンポーネントを配列するための第２の配列ロジックを含む、請求項２０〜２２のいずれか一項に記載のシステム。
【請求項２４】
第１の配列ロジックが、ドキュメント・コンポーネントを所定のレイアウト・サイズへフローするための規則を含む、請求項２１または２３に記載のシステム。
【請求項２５】
ドキュメント・コンポーネントがテキスト・ストリングを含み、第１の配列ロジックが、行にわたってテキスト・ストリングを中断する規則を含む、請求項２４に記載のシステム。
【請求項２６】
第２の配列ロジックが、グラフィカル・ユーザ・インタフェース・コンポーネントを、所定の幅を有する表示領域へフローするための規則を含む、請求項２２または２３に記載のシステム。
【請求項２７】
ユーザ・インタフェースが第２のズームファクタを受け取り、計算モジュールが、第１のズームファクタに基づいてドキュメント・コンテンツ・コンポーネントのために第１の一連のレイアウト・サイズおよび第１の一連の倍率レベルを計算し、第２のズームファクタに基づいてグラフィカル・ユーザ・インタフェース・コンポーネントのために第２の一連のレイアウト・サイズおよび第２の一連の倍率レベルを計算する、請求項２３に記載のシステム。
【請求項２８】
複数のビジュアル・コンポーネントが単一のドキュメントを構成する、請求項２０に記載のシステム。
【請求項２９】
一連の倍率レベルの各々が、表示デバイス上の表示領域の幅を、一連のレイアウト・サイズの中の対応するレイアウト・サイズで除したものと実質的に等しくなるように計算される、請求項２０〜２８のいずれか一項に記載のシステム。
【請求項３０】
Ｄｓｔａｒｔが開始レイアウト・サイズに対応し、Ｚｎが、１とユーザによって入力されたズームファクタＺとの間の中間ズームファクタに対応する際、計算モジュールが、次の式、
【数１】
2006293989.tif 000006
に従って一連のレイアウト・サイズＤｌａｙｏｕｔ（ｎ）を計算する、請求項２０〜２９のいずれか一項に記載のシステム。
【請求項３１】
Ｎが、一連のレイアウト・サイズの中のレイアウト・サイズの数に対応する際、計算モジュールが、次の式、
【数２】
2006293989.tif 000007
に従って中間ズームファクタを計算する、請求項３０に記載のシステム。
【請求項３２】
複数のビジュアル・コンポーネントが一連の出力フレームの各々における表示領域の幅と合致するように、一連の倍率レベルおよび一連のレイアウトが計算される、請求項２０〜３１のいずれか一項に記載のシステム。
【発明の詳細な説明】
【発明の分野】
【０００１】
本発明は、表示アイテムをダイナミックにズームおよび再配列するシステムおよび方法に関する。
【発明の背景】
【０００２】
近年、モバイル・コンピューティングおよび電気通信の分野で急速な成長が見られる。モバイル・デバイス、例えばＰＤＡおよび携帯電話は、典型的には比較的小さい表示画面を有する。その結果、現代のコンテンツ豊かなユーザ・インタフェースの中に典型的に含まれる大量のテキストおよびグラフィック情報を、これらのデバイスで表示することは困難である。
【０００３】
この問題を克服する１つのアプローチは、そのような情報の広範な全体像を提供し（例えばアイコンまたはメモ形式で）、ユーザに関心のあるアイテムを選択させ、それらのアイテムが（例えば、より大きな倍率または焦点で）非常に詳細に表示されるようにすることである。
【０００４】
表示の１つの画面から同じ表示の他の画面へズームする従来の方法は、メニューから特定のズームまたはサイズを選択する方法に基づいて操作される。これは、最初の表示から、選択された尺度を有する新しい表示へ、表示を変化させる。しかし、これらの方法は、新しい表示の最初および最終のバージョンを見せるのみである。更に、それらの方法は、「ズームイン」操作によって、表示の一部分が可視画面領域を越えて存在するようになった場合、表示している情報をユーザがパンまたは再配置することを必要とする。
【発明の概要】
【０００５】
本発明は、一般的に、漸増方式でコンテンツをダイナミックにズームおよび再配列する方法およびシステムに関する。一態様において、本発明は複数のビジュアル・コンポーネントを表示する方法に関する。複数のビジュアル・コンポーネントは、1つ以上のドキュメントの中のコンポーネント、およびユーザ・インタフェース・コンポーネントを含むことができる。ビジュアル・コンポーネントは、テキスト・ストリング、画像、メニュー・アイテム、グラフィック・オブジェクト、およびアイコンを含むことができる。
【０００６】
本方法は、ビジュアル・コンポーネントを、第１のレイアウトの中に第１のレンダリング・サイズで表示し、次にズーム入力を受け取って、第１のレンダリング・サイズを第２のレンダリング・サイズへ変更することを含む。第２のレンダリング・サイズは、第１のレンダリング・サイズよりも大きいか小さくてもよい。この変更を達成するため、本方法は、中間表示を生成することを含む。中間表示は、１と第２のレンダリング・サイズ対第１のレンダリング・サイズの比との間にある中間ズームファクタを計算し、少なくとも部分的に中間ズームファクタに基づき複数のビジュアル・コンポーネントに関して第２のレイアウトを計算することによって生成される。中間可視表示の生成は、更に、倍率ファクタによってビジュアル・コンポーネントをスケーリングすることを含む。本方法は、中間可視表示を表示し、次に、更なる可視表示を表示し、該更なる可視表示の中で複数のビジュアル・コンポーネントが第３のレイアウトの中に第２のレンダリング・サイズで配列されることを含む。
【０００７】
一実施形態において、本方法は、一連の中間可視表示を生成することを含む。各々の可視表示において、新しいレイアウトが計算され、複数のビジュアル・コンポーネントが、前の可視表示におけるビジュアル・コンポーネントのレンダリング・サイズと第２のレンダリング・サイズとの間にあるレンダリング・サイズで表示される。１つの特徴によれば、複数のビジュアル・コンポーネントが、表示領域、例えば表示画面または表示画面上のウィンドウの幅に適合するように、各々の新しいレイアウトが生成される。例えば、各々の中間レイアウトの生成は、テキスト・ストリングの行の中断を再配置し、それによって１行のテキストを複数行へ分割するか、複数行のテキストを、より少ない行数のテキストへ結合することを含む。他の例において、本方法は、１つのレイアウトでは垂直の相互関係で配列されたビジュアル・コンポーネントを、後で生成されたレイアウトでは水平の相互関係で配列する再配列を含む。同様に、１つのレイアウトでは水平の相互関係で配列されたビジュアル・コンポーネントが、後のレイアウトでは垂直の相互関係で配列されてもよい。
【０００８】
他の特徴によれば、本方法は、メニュー・システムに関して使用可能である。メニュー・システムは、複数のビジュアル・コンポーネントにアクセスするように使用可能である。更に、メニュー・システムをナビゲートするためにユーザが操作するコントロールの同じセットを使用して、ズームファクタを提供することができる。コントロールを連続的または断続的に作動させて、ズームファクタを提供することができる。更に、他の複数のビジュアル・コンポーネントを呈示するためのユーザ選好として、受け取られたズームファクタを記憶することができる。
【０００９】
他の実施形態において、本方法は、複数のビジュアル・コンポーネントの他のビジュアル・コンポーネントから独立して、複数のビジュアル・コンポーネントの1つ以上のビジュアル・コンポーネントのレンダリング・サイズをコントロールすることを含む。例えば、本方法は、ドキュメントのコンテンツに対応するビジュアル・コンポーネントのサイズを調整することなく、ドキュメントとインタラクトするために利用可能なユーザ・インタフェース要素に対応するビジュアル・コンポーネントのレンダリング・サイズを調整することができる。
【００１０】
他の態様において、本発明は、複数のビジュアル・コンポーネント、例えば前述したビジュアル・コンポーネントを表示するシステムに関する。本システムは、ズームファクタを受け取る入力、計算モジュール、レイアウト・エンジン、およびレンダリング・モジュールを含む。計算モジュールは、初期レイアウト・サイズ、中間レイアウト・サイズ、および最終レイアウト・サイズを含む一連の少なくとも３つのレイアウト・サイズを計算する。一実施形態において、各々のレイアウト・サイズは、中間ズームファクタで除された初期レイアウト・サイズと実質的に等しい。計算モジュールは、更に、上記一連のレイアウト・サイズの中のレイアウト・サイズに対応する一連の少なくとも３つの倍率レベルを計算する。一連の中の各々の倍率レベルは、１回の実装において、対応するレイアウト・サイズによって除された表示領域の幅と実質的に等しくなるように計算される。一連のレイアウト・サイズおよび一連の倍率レベルの双方は、受け取られたズームファクタに基づいて、複数のビジュアル・コンポーネントを第１のレンダリング・サイズから第２のレンダリング・サイズへ漸増的にズームするために使用される。
【００１１】
レイアウト・エンジンは、一連のレイアウト・サイズの中のレイアウト・サイズに対応する複数のビジュアル・コンポーネントのために、一連のレイアウトを生成する。レイアウト・エンジンは、一連のレイアウトおよび複数のビジュアル・コンポーネントをレンダラへ出力する。レンダラは、複数のビジュアル・コンポーネントを含む一連の出力フレームを生成する。一実施形態において、対応する倍率レベルがレイアウトへ適用された場合、ビジュアル・コンポーネントが表示される表示領域の幅にビジュアル・コンポーネントが合致するように、レイアウトが生成される。他の実施形態において、レイアウト・エンジンは1つ以上の配列ロジックを含む。例えば、レイアウト・エンジンは、グラフィカル・ユーザ・インタフェース・コンポーネントを配列する第１の配列ロジック、およびドキュメント・コンポーネントを配列する第２の配列ロジックを含む。各々の配列ロジックは、特定タイプのビジュアル・コンポーネントを表示領域へフローする場合の規則が対応するセットを含む。
【００１２】
レンダラは、一連のレイアウトからの対応するレイアウト、および一連の倍率レベルからの対応する倍率レベルに基づいて、一連の出力フレームを生成する。次に、出力フレームは表示領域で表示される。
【００１３】
添付の図面を参照して、ここに、本発明の実施形態を単なる例として説明する。
【詳細な説明】
【００１４】
作成者がドキュメントを作成する際、その作成者は、典型的には、特定のサイズになるようにドキュメントをデザインし、それに従ってドキュメントの中にオブジェクト（テキストおよび画像）を配置し、オブジェクトのサイズを決める。創作ドキュメント・サイズ（Ｄｉｎｉｔ）という用語は、作成者によって作成されたドキュメントの実際の物理的サイズになっている（例えば、Ａ４ページに適合するように創作されたドキュメントの創作ドキュメント・サイズは、２１０×２９７ミリメートルである）。同様に、創作コンポーネント・サイズという用語は、ドキュメント内のオブジェクト各々の創作者が指定するサイズを意味する（例えば、テキスト・オブジェクトは、１２ポイント・サイズを有するように指定されてもよい）。
【００１５】
ドキュメントが、本発明の実施形態に従って設計されたシステムによって処理される場合、そのドキュメントは、作成者によって意図されたサイズＤｉｎｉｔ以外のサイズに適合するようにレイアウトされてもよい（即ち、オブジェクトがページ上に配置される）。ドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）という用語は、処理されたドキュメントの物理的サイズを意味し、例えば、処理されたドキュメントを１のスケーリングで印刷またはレンダリングすると、実際の物理的サイズがドキュメント・レイアウト・サイズに等しいドキュメントを生成することになる。１つの例として、Ａ４寸法の創作ドキュメント・サイズを有するドキュメントは、２１０×２９７ｍｍとは異なるドキュメント・レイアウト・サイズを設定することによって、Ａ４とは異なる実際のページ幅および高さの寸法に適合するように処理されてもよい。
【００１６】
ドキュメントのレンダリング・サイズとは、表示画面デバイス上でレンダリングされた後のドキュメントのサイズを意味する。同様に、ドキュメント内に含まれるビジュアル・コンポーネントのレンダリング・サイズとは、表示画面上でレンダリングされた後のビジュアル・コンポーネントのサイズを意味する。レンダリング・サイズは、ドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）および倍率ファクタ（Ｍ）を含む多数のパラメータによって影響を受ける。
【００１７】
倍率ファクタ（Ｍ）は、ドキュメントのレンダリング・サイズをドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）と異なるものとするスケーリングファクタである。例えば、２（または２００％）の倍率ファクタは、（ドキュメント・レイアウト・サイズ２１０×２９７ｍｍを有する）Ａ４ドキュメントが、４２０×５９４ｍｍのレンダリング・サイズを有するようにレンダリングさせる。この例から、ドキュメントのレンダリング・サイズは変化したが（画面上、ドキュメントおよびそのオブジェクトは２倍の大きさで現れるため）、ドキュメント・レイアウト・サイズも、その中のオブジェクトの創作コンポーネント・サイズも、変化しない点が留意される。
【００１８】
以後、「ズーム」という用語は、以後、倍率ファクタの値を変化させる操作を意味する場合に使用する。前述したように、ドキュメントがズームされる際、そのレンダリング・サイズは変化するが、そのドキュメント・レイアウト・サイズおよび創作コンポーネント・サイズのパラメータは変化しない。
【００１９】
同様に、「コンポーネント・リサイズ」という用語は、以後、1つ以上の創作コンポーネント・サイズを変化させる操作を意味する場合に使用する。最も一般的な例は、テキストのポイント・サイズを変更することである。コンポーネント・リサイズ操作の間、創作ドキュメント・サイズ、ドキュメント・レイアウト・サイズ、および倍率パラメータの値は変化しないままである。その代わりに、「コンポーネント・リサイズ」操作によって、ドキュメント内の選択されたビジュアル・コンポーネントは、最終的にレンダリングされたドキュメント内で、異なったレンダリング・サイズを採用するようになる。しかし、ドキュメント内の他のコンポーネントのレンダリング・サイズは変化しないままである。
【００２０】
「リフロー」という用語は、以後、ドキュメント・レイアウト・サイズ・パラメータの変化から生じる操作を意味するように使用される。この操作において、ビジュアル・コンポーネントは、修正されたドキュメント・レイアウト・サイズに適合するように配列内でレイアウトされ、それらのビジュアル・コンポーネントは異なるページ位置を占めるようになるが、同じレンダリング・サイズを有する。
【００２１】
ビジュアル・コンポーネントをダイナミックにズームおよび再配列するシステムは、以後、ズーム／リフロー・システムと呼ぶ。同様に、表示アイテムをダイナミックにズームおよび再配列する方法は、以後、ズーム／リフロー方法と呼ぶ。
【００２２】
本発明は、表示をダイナミックにスケーリングおよび再フォーマットして表示の中のビジュアル・コンポーネントのサイズを増加または減少し、同時に表示アイテムのダイナミックな再配列を実行して利用可能な画面領域の使用を最適化するシステムおよび方法を提供する。
【００２３】
他方では、前述した用語を使用すると、ズーム／リフロー・システムおよび方法は「ズーム」および「リフロー」操作を単一の操作へ結合する。その場合、ビジュアル・コンポーネントのレンダリング・サイズは、ドキュメント・レイアウト・サイズの変化に応答して、オブジェクトがドキュメント内で再配列される際に同時に変化する。
【００２４】
ズーム／リフロー・システムおよび方法は、主として携帯電話の応用に関して説明されるが、これは純粋に例示的なものであることが理解されるであろう。具体的には、ズーム／リフロー・システムおよび方法は、携帯電話での使用に限定されず、任意の表示デバイスで使用されてもよい。
【００２５】
システム・アーキテクチャ
図１は、ズーム／リフロー・システム１０のブロック図である。ズーム／リフロー・システム１０は、ドキュメント表示ソフトウェア・パッケージ２２とホスト・デバイスの画面１８との間に介在する。ズーム／リフロー・システム１０は、入力１１、レイアウト・エンジン１２、レンダラ１４、配列ロジックモジュール１６、および計算モジュール１９を備える。
【００２６】
使用に当たって、ズーム／リフロー・システム１０は、創作ドキュメント・サイズ（Ｄｉｎｉｔ）の所望の表示アイテム２０を受け取る。表示アイテムは、複数のビジュアル・コンポーネント、例えばテキスト・ストリング、グラフィック・オブジェクト、画像、および／またはアイコンを含む。ズーム／リフロー・システム１０は、更に、多数の他のパラメータを利用する。それらパラメータの幾つかは、ユーザまたはドキュメント表示ソフトウェア・パッケージ２２によってズーム／リフロー・システム１０へ入力され（以後、入力パラメータと解釈する）、またそれらパラメータの幾つかは、ズーム／リフロー・システム１０内の計算モジュール１９によって計算される（以後、計算パラメータと解釈する）。
【００２７】
ズーム／リフロー・システム１０への入力パラメータは、次のものを含む。
（ａ）通常、ドキュメント表示ソフトウェア・パッケージ２２によって確立され、ズーム／リフロー・システム１０によって受け取られた際、レイアウト・エンジン１２および計算モジュール１９へ適用される創作ドキュメント・サイズ（Ｄｉｎｉｔ）、
（ｂ）入力１１を使用するユーザによって入力され、計算モジュール１９へ適用されるズームファクタ（Ｚ）、および
（ｃ）画面パラメータおよびウィンドウ・パラメータ。
【００２８】
画面およびウィンドウ・パラメータは、画面１８の物理的な幅および高さを表す画面サイズ・パラメータ（Ｓ）、および所望の表示アイテムを呈示するために利用できる表示ウィンドウ（または表示作業空間）の物理幅を表すウィンドウ・サイズ・パラメータ（Ｗ）を含む。ＳおよびＷの双方は、ホスト・デバイスより受け取られ、計算モジュール１９へ入力される。しかし、ウィンドウ・サイズ・パラメータ（Ｗ）は、ホスト・デバイス上にウィンドウイング・システムが存在することを想定しない。
【００２９】
ズーム／リフロー・システム１０内の計算パラメータは、次のものを含む。
（ａ）ドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）、および
（ｂ）倍率ファクタ（Ｍ）。
【００３０】
更に具体的には、ユーザからの所望のズームファクタ（Ｚ）およびドキュメント表示ソフトウェア・パッケージ２２からの所望の表示アイテムの創作ドキュメント・サイズ（Ｄｉｎｉｔ）を受け取ると、計算モジュール１９はドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）を計算することができる。次に、ドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）はレイアウト・エンジン１２へ出力される。
【００３１】
レイアウト・エンジン１２は、所望の表示アイテム２０内に含まれるビジュアル・コンポーネントの創作コンポーネント・サイズおよびドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）パラメータを配列ロジックモジュール１６へ渡す。配列ロジックモジュール１６は、配列ロジックを一式含んでいる。配列ロジックは各々、ドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）のバーチャル・ページ上にビジュアル・コンポーネントを配置する命令およびアルゴリズムを含む。配列ロジックモジュール１６は、ドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）が所望の表示アイテム２０の創作ドキュメント・サイズ（Ｄｉｎｉｔ）とは異なる場合にアクティブになる。
【００３２】
配列ロジックモジュール１６は、ドキュメントのサイズが作成者によって予想されるサイズから変化する場合に、ドキュメント内のオブジェクトの空間関係および配置を変化させるメカニズムを提供する。例えば、もしドキュメント・レイアウト幅が減少する場合は、作成者によって単一の行へ当て嵌められたテキストは改行されてもよい。同様に、画像の相対的配置は、ドキュメント・サイズの変化と共に変更されてもよい。ドキュメントのドキュメント・レイアウト・サイズが、ドキュメントの創作ドキュメント・サイズとは異なる場合、ドキュメント内のビジュアル・コンポーネントを再配列するため、当分野で公知の任意数のアルゴリズムを使用することができる。同様に、ドキュメントの寸法が、表またはカラムを作成する際に想定された寸法から変化した場合、カラムまたは表を再配列するため、カラム形式または表形式のドキュメントへ配列ロジックが適用されてもよい。
【００３３】
次に、レイアウト・エンジン１２は、配列ロジックユニットからの命令に従って所望の表示アイテム２０のビジュアル・コンポーネントを配列し、結果のバーチャル・ページをレンダラ１４へ送信する。
【００３４】
ドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）を計算することに加えて、計算モジュール１９は、画面サイズ・パラメータ（Ｓ）（および任意に、ウィンドウ・サイズ・パラメータ（Ｗ））から倍率スケーリングファクタＭを計算する。倍率スケーリングファクタＭは、所望の表示アイテム２０を所望の出力サイズへスケーリングするためレンダラ１４によって使用される。
【００３５】
例えば、所望の表示アイテム２０が、８インチの創作ドキュメント・サイズ（Ｄｉｎｉｔ）幅を有するドキュメント２０であり、このドキュメントが、同じく８インチのドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）幅を有するバーチャル・ページの上にレイアウトされたと仮定する。ハンドヘルドまたはモバイル・デバイスの場合、画面幅は４インチである（即ち、画面サイズ・パラメータＳ＝４インチ）。簡単になるように、この例では、レンダリングに利用可能なウィンドウは全画面を含むと仮定する。
【００３６】
倍率スケーリングファクタ（Ｍ）を変更することは、画面１８上で見ることのできるドキュメントの釣り合いを変更する。例えば、１に等しい倍率スケーリングファクタ（Ｍ）は、サイズがドキュメント・レイアウト・サイズに等しい表示ドキュメントを生成する。その結果、現在の例を使用すると、もし倍率スケーリングファクタ（Ｍ）が１に等しければ、所望の表示アイテム２０の半分だけが４インチ画面上で見えることになる。
【００３７】
しかし、０．５の倍率スケーリングファクタ（Ｍ）を適用することによって、レンダラ１４は、８インチ幅の所望の表示アイテム２０を４インチの出力幅へスケーリングする（即ち、４’＝０．５×８’）。その結果、０．５の倍率スケーリングファクタ（Ｍ）は、所望の表示アイテム２０の全幅が、４インチ画面上で見えるようになる。０．５よりも小さいか、１．０よりも大きい倍率スケーリングファクタ（Ｍ）を含む他の倍率スケーリングファクタ（Ｍ）が可能である。現在の例を使用すると、０．５よりも小さい倍率スケーリングファクタ（Ｍ）は、出力ドキュメントが画面幅よりも狭く見えるようにする。
【００３８】
図２は、ドキュメントを画面幅に当て嵌めるため計算モジュール１９によって使用される方法２００のフローチャートである。本方法は、ステップ２５で、所与のドキュメントを構成している複数のビジュアル・コンポーネントをドキュメント・レイアウト・サイズ（Ｄｌａｙｏｕｔ）のバーチャル・ページへレイアウトすることを含む。ビジュアル・コンポーネントは、ドキュメント・コンテンツおよびユーザ・インタフェース要素を表示することができる。ステップ２６で、計算モジュール１９は画面パラメータＳを受け取る。ステップ２７で、計算ジュール１９はＳ／Ｄｌａｙｏｕｔに等しい倍率スケーリングファクタ（Ｍ）を計算する。ここで、Ｓは画面サイズになっている。ステップ２８で、計算モジュールは、倍率スケーリングファクタ（Ｍ）をレンダラへ渡す。ステップ２９で、レンダラはドキュメントをレンダリングする。利用可能なウィンドウ・サイズ（Ｗ）が画面サイズ（Ｓ）とは異なる場合、ステップ２７で、画面サイズ・パラメータ（Ｓ）をウィンドウ・サイズ・パラメータ（Ｗ）で置換することによって、ドキュメントをウィンドウへ当て嵌めてもよい。
【００３９】
前述した手順を使用して、ズーム／リフロー・システム１０は、ドキュメントの全幅を画面１８の幅へ当て嵌めるための好都合なメカニズムを提供する。これによって、ユーザは、ドキュメントのコンテンツを見るため１つの側から他の側へパンする必要がなくなる。更に、もしドキュメントが画面の長さを越えて延長する場合、ドキュメントは垂直方向へのみ好都合にスクロールしてもよい。この配列は、片手での操作を意図したモバイル・デバイス、例えば携帯電話で特に有利である。
【００４０】
ダイナミック・ズームおよびリフロー操作
図３は、図１で示されたズーム／リフロー・システム１０によって実行されるズーム／リフロー方法３００のフローチャートである。初期表示状態から、ズーム／リフロー方法３００は、ズーム／リフロー・システム１０がステップ３０でユーザ命令を受け取り、表示アイテム２０の現在のサイズに対してズームファクタＺだけが表示アイテム２０をズームおよびリフローすることから始まる。Ｚが１よりも大きい場合、表示はズームインするように見え（即ち、表示アイテム内のコンポーネントは、それらの初期状態よりもＺ倍だけ大きいサイズへレンダリングされるように増大され）、Ｚが１よりも小さい場合、表示はズームアウトする。例えば、ファクタＺが２に等しい場合、表示は２のファクタだけ「ズームイン」され、ズーミング前のレンダリング・サイズの２倍の大きさのレンダリング・サイズで表示アイテム２０内のビジュアル・コンポーネントを呈示する。
【００４１】
ステップ３１で、ズーム／リフロー・システムは、表示アイテム２０の初期呈示と最終レンダリング・サイズにおける表示アイテム２０の最終呈示との間で呈示される多数の中間表示を計算する。１つの実装において、漸増の数はズームファクタＺとの関連で変更される。その他の実装において、漸増の数Ｎは、ズームファクタＺとは独立して一定である。ズーム／リフロー方法３００で漸増的な中間ズーム状態を提供するプロセスは、ズーミングの可視効果を向上させる。それは、ユーザには、手作業でコントロールされる光学ズームと同じように、表示がダイナミックに変化するように見える理由からである。中間表示の数に基づいて、本方法は、ステップ３２で、特定の中間表示のために中間ズームファクタ（Ｚ（ｎ））を計算することを含む。中間ズームファクタは、次の式から計算されてもよい。
【数３】
2006293989.tif 000003
【００４２】
本発明の範囲から逸脱することなく、漸増ズームファクタを計算する他の式を使用してもよい。
【００４３】
ステップ３２で中間表示のために中間ズームファクタＺ（ｎ）を計算した後、ステップ３３で、各々の中間表示の中間ドキュメント・レイアウト・サイズ・パラメータ（Ｄｌａｙｏｕｔ（ｎ））が次の式に従って計算される。
【数４】
2006293989.tif 000004
【００４４】
この式において、分子のＤｓｔａｒｔは、ズーム命令の前の初期ドキュメント・レイアウト・サイズになっている。ステップ３４で、中間ドキュメント・レイアウト・サイズ・パラメータＤｌａｙｏｕｔ（ｎ）に従って所望の表示アイテム２０のビジュアル・コンポーネントを再レイアウトさせてビジュアル・ページを形成するため、レイアウト・エンジンが呼び出される。
【００４５】
好ましくは、前述したように、全ての中間表示で、バーチャル・ページがスケーリングされてホスト・デバイスの画面幅に当て嵌まるように、ダイナミック・ズーム操作が実行される。これは、ユーザの方向感覚の喪失を防止し、ズーミング操作が可視画面幅の限界内へ完全に拘束される効果をもたらす。したがって、ステップ３５では、逆数測度
【数５】
2006293989.tif 000005
を使用して中間倍率スケーリングファクタ（Ｍ（ｎ））を計算し、ドキュメント・レイアウト・サイズが増加する場合レンダリング・プロセスをスケールダウンし、ドキュメント・レイアウト・サイズが減少する場合レンダリング・プロセスをスケールアップさせ、各々のバーチャル・ページがスケーリングされて画面幅（Ｓ）に当て嵌まることを確実ならしめる。
【００４６】
ステップ３６で、中間倍率スケーリングファクタ（Ｍ（ｎ））はレンダラへ渡され、それに従って表示アイテム２２がステップ３７で画面へレンダリングされる。ステップ３８で、漸増操作の他のループ（ステップ３３〜３７）が反復され、ｎが１だけ漸増し（ステップ３９）、全てのＮ個の中間表示がレンダリングされて最終表示状態を達成するまで（ステップ４０）、次の中間ドキュメント・レイアウト・サイズ・パラメータＤｌａｙｏｕｔ（ｎ）および中間倍率スケーリングファクタＭ（ｎ）が再計算される。
【００４７】
前述したように、同じ方法３００は、更に、ウィンドウイング・システムで使用されてもよく、所望の表示アイテムは、画面幅よりも狭いウィンドウへダイナミックに当て嵌められる。これは、上記の式の画面サイズ・パラメータ（Ｓ）の代わりにウィンドウ・サイズ・パラメータ（Ｗ）を代入することによって簡単に達成される。
【００４８】
ダイナミック・ズーム／リフロー方法３００を作動させる様々な手段が実装されてもよい。これらの手段は、コントロール、例えばメニュー・コマンドまたはハードウェア・ボタンを含み、各々の作動で定められた量だけダイナミックにリフローおよびズームする。本方法は、更に、連続作動状態のもとで適用されてもよく（例えば、コントロールが単一の短い押し下げによって作動されるのではなく、連続的に押し下げられ）、滑らかな漸増ステップで表示を連続的にズームし、同時に各々のステップで、コントロールが解放されるまでドキュメントをリフローしてもよい。そのような行動のための適切なアクチュエータは、押し下げホールドボタン、ホイール、ダイアル、ソフトウェア・スライダ、およびスクロールバーを含む。
【００４９】
ズーミングおよびリフロー方法３００は、ユーザ・インタフェース・アイテム（例えばメニュー）およびドキュメントの双方に適用可能である。したがって、以下では、最初にユーザ・インタフェース・アイテムへ適用されるズーミングおよびリフロー方法について説明し、次にドキュメントに適用される方法について説明する。
【００５０】
図４の（ａ）〜（ｃ）は、ズーム・リフロー方法３００によって影響を受けるユーザ・インタフェース表示領域の概略図である。図４の（ａ）は、メニューに対応するユーザ・インタフェースビジュアル・コンポーネントを初期ドキュメント・レイアウト・サイズ（Ｄｓｔａｒｔ）で呈示するユーザ・インタフェース表示領域４００を含む。ユーザ・インタフェースビジュアル・コンポーネントは、テキスト・ストリング４２および２つのグラフィック・アイコン４４および４６を含むメニュー・フィールド４１を含む。図４の（ａ）のユーザ・インタフェース表示領域４１０は、以後、初期メニュー表示４００と呼ぶ。更に具体的には、初期メニュー表示４００において、グラフィック・アイコン４４および４６は、テキスト・ストリング４２の下に隣接して置かれる。
【００５１】
図４の（ｂ）は、初期メニュー表示４００のズームイン表示を含む。ズームイン表示は、例えば初期メニュー表示４００をズームインしている間に作成された中間表示または最終表示である。ズーム／リフロー・システム１０は、２つのステップでズームイン表示を生成する。最初に、レイアウト・エンジン１２は、メニューのビジュアル・コンポーネントをバーチャル・ページの中へレイアウトする。バーチャル・ページは、前のメニュー表示のレイアウト・サイズよりも小さいレイアウト・サイズを有する。小さいレイアウト・サイズに順応するため、グラフィック・アイコン４４および４６は、水平方向から垂直方向へダイナミックに再配列される。次に、レンダラ１４は、バーチャル・ページをスケールアップして、ユーザ・インタフェース表示領域４０２に当て嵌める。結果のユーザ・インタフェース表示において、初期メニュー表示に含まれてメニュー・フィールド４１、４８、５０、テキスト・ストリング４２、グラフィック・アイコン４４、および４６を含むビジュアル・コンポーネントが、大きいレンダリング・サイズでレンダリングされる。
【００５２】
対照的に、図４の（ｃ）は初期メニュー表示４００のズームアウト表示を含む。ズームアウト表示は関連方式で生成される。最初に、レイアウト・エンジン１２はビジュアル・コンポーネントをバーチャル・ページの中へレイアウトする。バーチャル・ページは、前のメニュー表示のレイアウト・サイズよりも大きいレイアウト・サイズを有する。バーチャル・ページの中で利用可能な追加の空間を利用するため、レイアウト・エンジン１２は、テキスト・ストリング４２、２つのグラフィック・オブジェクト４４、４６の全てを同じ水平行に配置する。次に、レンダラ１４は、バーチャル・ページをスケールダウンして、ユーザ・インタフェース表示領域４０４へ当て嵌める。
【００５３】
図４の（ｂ）および（ｃ）で表示領域を再配列するために使用されるアルゴリズムは、配列ロジックモジュール１６の中で提供される。モジュール１６内のロジックおよびアルゴリズムを変更することによって、他の表示効果が達成されてもよい。
【００５４】
ユーザ・インタフェース表示領域のズームインおよびズームアウトされたバージョンは、ユーザ選好設定として記憶可能である。これは、選択されたサイズのアイコンおよびテキストを有する表示フォーマットをユーザに選択させる。ユーザ選好は、メニュー・システムの全体、またはメニュー・システムの選択された部分へ適用され、将来のユーザ・インタフェース表示に使用されてもよい。
【００５５】
図５の（ａ）〜（ｃ）は、非ユーザ・インタフェース表示アイテム（例えば、メニュー・システムを介してアクセスされるテキスト・ドキュメント）をスケーリングする例を示す。図５の（ａ）において、コンテンツ（即ち、ドキュメントのビジュアル・コンポーネント）は、最初にスケーリングされて利用可能な画面（またはウィンドウ）へ当て嵌められるが、サイズをダイナミックに増加または減少されてもよい。例えば、２００５年２月１０日に出願された同時係属米国出願第１１／０６１，１８５号で説明されるメニュー・システムのナビゲーションと同じように、メニュー・システムをナビゲートする場合のコントロールの使用と矛盾しない仕方で、ユーザはキーパッド上のセレクトまたはバック・コントロールをアクティブにし、ズームインおよびズームアウトしてもよい。上記同時係属米国出願は、参照してその全体をここに組み込まれる。
【００５６】
スケーリングプロセスの各々の段階で、ドキュメント内のテキストのレイアウトが再配列され、テキスト行は画面（ウィンドウ）領域内で改行される。これはテキストをパンする必要性を除く。テキストのパンは、テキストが再フォーマットされない従来のズーミング手法で問題となる。任意の所与のズーム・レベルで、例えば、キーパッド上のアップおよびダウン・ポインティング・コントロールを使用して、スクロールを実行できることが理解されるであろう。
【００５７】
ズーミングおよびリフロー方法のダイナミックな態様は、図５の（ａ）〜（ｃ）に示された様々な表示段階を参照することによって理解される。ここで、図５の（ａ）は初期表示５００ａを表し、図５の（ｂ）は中間表示５００ｂであり、図５の（ｃ）は最終表示５００ｃである。前述したように、中間表示５００ｂはダイナミックなズーム操作の可視効果をユーザに提供する。
【００５８】
このダイナミック・ズーム機能は、更に、グラフィカル・ユーザ・インタフェース（ＧＵＩ）内のメニュー・ナビゲーションの説明に使用されてもよい。例えば、もしユーザがメニュー・システムを下方へナビゲートしてドキュメントを開く場合は、一度ドキュメントが開かれて更に（キーパッド上の）セレクト・ボタンを押すと、前述したようなドキュメント・コンテンツのスケーリングおよびダイナミックな再フォーマッティングが実行される。ダイナミック・ズーム機能は、更に、「ユーザ選好」の設定を介して実行されてもよい。その場合、ユーザは、ドキュメントが開かれた場合に適用されるデフォルトのレンダード・テキスト・サイズを選択することができる。
【００５９】
所望の表示アイテムは、複数のビジュアル・コンポーネント（例えば、テキスト、グラフィック、ビデオクリップなど）を含むドキュメントと、ユーザ・インタフェースビジュアル・コンポーネントとして呈示される1つ以上のユーザ・インタフェース要素（例えば、メニュー・フィールド、インタラクティブ・アイコン、タイトルバー）との組み合わせを含んでもよい。通常、そのような混合表示は、ユーザ・インタフェース要素の中にズーム・コントロールを含むが、これらのズーム・コントロールは、ドキュメントのビジュアル・コンポーネントのドキュメント表示のみに影響し、ユーザ・インタフェース自身のビジュアル・コンポーネントには影響せず、ユーザ・インタフェース自身は不変のままである。更に、前述したように、通常の表示システムは、典型的には、ズーム操作と同時にリフローを実行しない。
【００６０】
同じズームおよびリフロー・メカニズム（即ち、同じレイアウト・エンジン１２およびレンダラ１４）を使用して、ドキュメントおよびユーザ・インタフェースの双方のビジュアル・コンポーネントを処理することによって、（ドキュメントおよびユーザ・インタフェースのビジュアル・コンポーネントを含む）混合表示の全体をダイナミックにズームおよびリフローするように、ズーム／リフロー・システム１０を使用してもよい。これは、ユーザ・インタフェースビジュアル・コンポーネントおよびドキュメント要素の各々について別々のコントロールを使用するか、全体の表示を単一の操作でズームおよびリフローする単一のコントロールによって実現することができる。
【００６１】
ドキュメントビジュアル・コンポーネントと対比して、ユーザ・インタフェースビジュアル・コンポーネントをリフローするため、異なった規則および配列ロジックを使用してもよい。特に、ユーザ・インタフェースビジュアル・コンポーネントおよびドキュメントビジュアル・コンポーネントに利用可能な画面領域の釣り合いを、ダイナミックに調整してもよい。同様に、ユーザ・インタフェースビジュアル・コンポーネントおよびドキュメントビジュアル・コンポーネントへ適用されるズーミングファクタの範囲に、異なった制限／閾値を設定してもよい。したがって、例えば、ユーザ・インタフェースビジュアル・コンポーネントおよびドキュメントビジュアル・コンポーネントは、最初、特定の閾値に達するまで同じファクタによってズームインされ、特定の閾値に達したとき、ユーザ・インタフェースビジュアル・コンポーネントのズームが中止され、ドキュメントビジュアル・コンポーネントのズームが継続されてもよい。
【００６２】
更に、ユーザ・インタフェースおよびドキュメントを一緒にダイナミックにズームおよびリフローする単一のコマンドに応答する際も、ユーザ・インタフェースビジュアル・コンポーネントへ適用されるレイアウト・サイズは、同じ画面を占めるドキュメントビジュアル・コンポーネントのレイアウト・サイズとは異なっていてもよい。同様に、改行規則は、ドキュメントビジュアル・コンポーネントへ適用される場合とは異なるように、ユーザ・インタフェースビジュアル・コンポーネントへ適用されてもよい。
【００６３】
本発明の範囲から逸脱することなく、前述した実施形態を変更および修正することができる。
【図面の簡単な説明】
【００６４】
【図１】本発明の例示的な実施形態に従って、表示アイテムをダイナミックにズームおよび再配列するシステムのアーキテクチャのブロック図である。
【図２】本発明の例示的な実施形態に従って、ドキュメントを表示画面の幅へ当て嵌めるため、図１で示されるシステムによって使用されるアルゴリズムを示すフローチャートである。
【図３】本発明の例示的な実施形態に従って、図１で示されるシステムによって実行されるダイナミックなズームおよびリフローする方法を示すフローチャートである。
【図４】本発明の例示的な実施形態に従って、ユーザ・インタフェース・アイテムへ適用される場合の、ビジュアル・コンポーネントのダイナミックなズームおよび再配列する方法の概略図である。
【図５】本発明の例示的な実施形態に従って、ドキュメントのコンテンツへ適用される場合の、表示アイテムのダイナミックなズームおよび再配列方法の概略図である。
【符号の説明】
【００６５】
１０…ズーム／リフロー・システム、１１…入力、１２…レイアウト・エンジン、１４…レンダラ、１６…配列ロジックモジュール、１８…画面、１９…計算モジュール、２０…所望の表示アイテム、２２…ドキュメント表示ソフトウェア・パッケージ、４０…、４１…メニュー・フィールド、４２…テキスト・ストリング、４４…グラフィック・アイコン、４６…グラフィック・アイコン、４８…メニュー・フィールド、５０…メニュー・フィールド、２００…ドキュメントを画面幅に当て嵌める方法、３００…ズーム／リフロー方法、４００…ユーザ・インタフェース表示領域（初期メニュー表示）、４０２…ユーザ・インタフェース表示領域、４０４…ユーザ・インタフェース表示領域、５００ａ…初期表示、５００ｂ…中間表示、５００ｃ…最終表示。
【図１】
2006293989.tif 000008
【図２】
2006293989.tif 000009
【図３】
2006293989.tif 000010
【図４】
2006293989.tif 000011
【図５】
2006293989.tif 000012
【外国語明細書】
2006293989000001.pdf