(57)【要約】【課題】  １次元または２次元的な配列で構成される情報が持つ意味を可能な限り再現しつつ比較的小さな表示画面に表示することができる方法を提供する。【解決手段】  コンテンツ内の、タグ<table>を用いて定義されたテーブルの行方向の幅に関し所定の判定基準にしたがって判定を行い、該判定の結果にしたがって、(1)テーブルをそのまま端末装置の表示画面内に表示する、(2)テーブルの少なくとも一つの行の行方向に配列される複数のセルについて、所定のアルゴリズムにしたがって、テーブルの少なくとも一つの行の行方向において隣り合わせに配列されるべき複数のセルのうち、所定の幅よりも狭い幅を有するセルを、隣り合わせに配列されるべき隣接セルと同じ行の行方向に並べて、かつ当該隣接セルとともに端末装置の表示画面幅内に収まるよう表示する、を含むテーブルレイアウト処理のいずれか一つを選択して実行する。【選択図】    図１０
2008123560.tif 000002
【特許請求の範囲】
【請求項１】
比較的大きな表示画面サイズを有する装置を対象として作成された大画面用コンテンツを、比較的小さな表示画面幅を有する端末装置上に表示するための方法であって、
前記コンテンツ内の、タグ<table>を用いて定義されたテーブルの行方向の幅に関し所定の判定基準にしたがって判定を行い、該判定の結果にしたがって、
(1)  前記テーブルをそのまま前記端末装置の表示画面内に表示する、
(2)  前記テーブルの少なくとも一つの行の行方向に配列される複数のセルについて、所定のアルゴリズムにしたがって、前記テーブルの少なくとも一つの行の行方向において隣り合わせに配列されるべき複数のセルのうち、所定の幅よりも狭い幅を有するセルを、隣り合わせに配列されるべき隣接セルと同じ行の行方向に並べて、かつ当該隣接セルとともに前記端末装置の表示画面幅内に収まるよう表示する、
を含むテーブルレイアウト処理のいずれか一つを選択して実行すること、
を特徴とするテーブルレイアウト方法。
【請求項２】
前記(2)のテーブルレイアウト処理における所定のアルゴリズムは、以下の、
(b1)  前記テーブルの少なくとも一つの行の行方向に配列される複数のセルについて、前記テーブルを表示すべき前記表示画面幅に入る分のセルを決定する、
(b2)  前記表示画面幅に入る分だけのセルを決定したならば、該決定されたセルの幅の合計値を算出し、該合計値が前記表示画面幅よりも小さい所定の幅よりも小さい値であるか否かを判定する、
(b2-1)  前記(b2)による判定の結果、前記合計値が前記所定幅より小さい場合には、並べきれないと決定されていた残りのセルの一つも並べる対象とする、
(b2-2)  前記(b2)による判定の結果、前記合計値が前記所定の幅より小さくないと判定された場合には、並べきれないと決定されていた残りのセルを次の行に前記(b1),(b2)の手順で並べる、
(b3)  前記(b1)および(b2-1)において並べる対象とされたセル群の幅の合計値が前記表示画面幅よりも大きい場合に当該セル群が前記表示画面幅内に収まるよう縮小して表示する、
という処理からなること、を特徴とする請求項１に記載のテーブルレイアウト方法。
【請求項３】
前記(2)のテーブルレイアウト処理における所定のアルゴリズムは、さらに、
(b4)  前記(b2-1)の後に、並べきれないと決定されている残りのセルの幅の合計値を算出し、前記所定の幅よりも小さいかどうか判定する、
(b4-1)  前記(b4)による判定の結果、前記合計値が前記所定の幅より小さい場合には、残りのセルも並べる対象とする、
(b4-2)  前記(b4)による判定の結果、前記合計値が前記所定の幅より大きい場合には残りのセルは次の行に並べることとする、
(b5)  前記(b1)、(b2-1)、および(b4-1)において並べる対象とされたセル群の幅の合計値が前記表示画面幅よりも大きい場合に当該セル群が前記表示画面幅内に収まるよう縮小して表示する、
という処理からなること、を特徴とする請求項２に記載のテーブルレイアウト方法。
【請求項４】
請求項１から請求項３の何れかに記載されたテーブルレイアウト方法をコンピュータに実行させるためのテーブルレイアウトプログラム。
【請求項５】
比較的小さな表示画面の幅を有し、比較的大きな表示画面サイズを有する装置を対象として作成された大画面用コンテンツを前記表示画面に表示する端末装置であって、
前記コンテンツに含まれるテーブルの行方向の幅に関し所定の判定基準にしたがって判定を行い、該判定の結果にしたがって、
(1)前記テーブルをそのまま前記端末装置の表示画面内に表示する、
(2)前記テーブルの少なくとも一つの行の行方向に配列される複数のセルについて、所定のアルゴリズムにしたがって、前記テーブルの少なくとも一つの行の行方向において隣り合わせに配列されるべき複数のセルのうち、所定の幅よりも狭い幅を有するセルを、隣り合わせに配列されるべき隣接セルと同じ行の行方向に並べて、かつ当該隣接セルとともに前記端末装置の表示画面幅内に収まるよう表示する、
という処理を含むテーブルレイアウト処理のいずれか一つを選択して実行するテーブルレイアウト手段を備えること、
を特徴とする端末装置。
【請求項６】
前記(2)のテーブルレイアウト処理における所定のアルゴリズムは、以下の、
(b1)  前記テーブルの少なくとも一つの行の行方向に配列される複数のセルについて、前記テーブルを表示すべき前記表示画面幅に入る分のセルを決定する、
(b2)  前記表示画面幅に入る分だけのセルを決定したならば、該決定されたセルの幅の合計値を算出し、該合計値が前記表示画面幅よりも小さい所定の幅よりも小さい値であるか否かを判定する、
(b2-1)  前記(b2)による判定の結果、前記合計値が前記所定幅より小さい場合には、並べきれないと決定されていた残りのセルの一つも並べる対象とする、
(b2-2)  前記(b2)による判定の結果、前記合計値が前記所定の幅より小さくないと判定された場合には、並べきれないと決定されていた残りのセルを次の行に前記(b1),(b2)の手順で並べる、
(b3)  前記(b1)および(b2-1)において並べる対象とされたセル群の幅の合計値が前記表示画面幅よりも大きい場合に当該セル群が前記表示画面幅内に収まるよう縮小して表示する、
という処理からなること、を特徴とする請求項５に記載の端末装置。
【請求項７】
前記(2)のテーブルレイアウト処理における所定のアルゴリズムは、さらに、
(b4)  前記(b2-1)の後に、並べきれないと決定されている残りのセルの幅の合計値を算出し、前記所定の幅よりも小さいかどうか判定する、
(b4-1)  前記(b4)による判定の結果、前記合計値が前記所定の幅より小さい場合には、残りのセルも並べる対象とする、
(b4-2)  前記(b4)による判定の結果、前記合計値が前記所定の幅より大きい場合には残りのセルは次の行に並べることとする、
(b5)  前記(b1)、(b2-1)、および(b4-1)において並べる対象とされたセル群の幅の合計値が前記表示画面幅よりも大きい場合に当該セル群が前記表示画面幅内に収まるよう縮小して表示する、
という処理からなること、を特徴とする請求項６に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネット上のコンテンツを閲覧するためのブラウザプログラムに関し、さらに詳細には、このようなコンンツに含まれるテーブルのレイアウトに関する。
【背景技術】
【０００２】
インターネット利用の拡大を背景として、近年、携帯電話やＰＤＡ等の比較的画面の小さな端末装置でも、インターネット上のＨＴＭＬ（HyperText Markup Language）等で記述されたコンテンツ（以下、インターネット上のＷＷＷサーバー等で提供されるテキストやグラフィックなどの内容を「コンテンツ」と記す。）を閲覧したいという要望が広がりつつある。しかし、インターネット上のコンテンツは、通常、画面が比較的大きいＰＣ（Personal Computer）用に作成されているため、このような比較的画面の小さな端末装置でコンテンツを閲覧することは一般的には困難である。ＰＣ用に作成されたコンテンツには、携帯電話等の画面サイズを超える大きなサイズの画像、テーブル（タグ<table>で定義される）などが含まれるからである。
【０００３】
テーブルを用いることによって、セルの２次元的な配置を行うことができる。また、テーブルを用いることによって、１つの比較的大きな画像が、部分的な画像の張り合わせとして表現される場合もある。
【０００４】
ＰＣ用に作成されたコンテンツに含まれテーブルを携帯電話などの表示画面の比較的小さな端末装置で閲覧するための一つの方式として、テーブル内で行方向に並んだ複数のセルについて、一律に、各セルを縦方向に並べるという方式が提案されている。この方式を用いることで、利用者は、携帯電話の例えば上下キーを操作することで、このようなテーブル内の表示データを閲覧することができることになる。
【０００５】
また、下記特許文献１および２には、コンテンツ内の画像データを端末の画面サイズに合わせて縮小することについて記載されている。
【０００６】
また、下記特許文献３には、フレームセット（タグ<frameset>によって定義される）を表示する場合に、アクティブなフレームを太枠で示すこと、フレーム切り替えの操作のためにフレーム切替キーを用いることについて記載されている。
【０００７】
【特許文献１】特開平９−９１６０号公報
【特許文献２】特開２００１−２４３１５１号公報
【特許文献３】特開２０００−２９８５４３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、２次元的に配置されたテーブル中の行方向に配列されたセルを分割して一律に縦方向に並べた場合、テーブルが持つ１次元または２次元的な配列の意味は失われてしまう。
【０００９】
また、上記特許文献１および２には、端末の表示画面サイズに合わせて画像データを縮小することについて記載されているのみであり、テーブルについてどのように端末装置上に表示するかについて説明していない。
【００１０】
ＰＣ用に作成されたコンテンツを携帯電話の表示画面のような比較的狭い画面で閲覧する場合における、快適なブラウジングを阻害する原因のもう一つとしてフレームセット（<frameset>〜</frameset>のタグで定義される）の存在がある。フレームセットは、ウインドウをいくつかのフレームに分割表示する「フレーム表示」を宣言するタグである。フレームセットの中でフレーム<frame src="...">で指定されたURLのコンテンツは、そのフレームに表示される。
【００１１】
フレームセットを用いることで、テーブルと同様に表示データを２次元的に配列することができる。フレームセットはフレーム内にURLコンテンツを表示するものであるため、フレームセット を単純に携帯電話などの表示画面に表示すると、URLコンテンツが狭い部分に表示されることになる。従来のブラウザでは、フレームセット中の <frame cols=",">や<frame rows=",">で定義された通りに画面を行方向や列方向に分割していくため、このような従来のブラウザの機能をそのまま携帯電話などの表示画面の小さい端末装置での表示に適用すると、小さい画面をさらにフレームで切り刻むことになり、１フレームあたりの表示画面がさらに小さくなり、その中でのコンテンツ表現はより一層制限されてしまう。
【００１２】
上記特許文献３に記載されているのは、フレームセットを単純に表示すると，フレーム切り替えの操作が利用者にとって面倒なので、アクティブなフレームを太枠で表示しつつ、フレーム切替キーを操作するたびに順番にアクティブなフレームを切り替えることができるようにすることである。上記特許文献３には、フレームセットの２次元的な配列の意味を維持できるように表示するための手法についての開示はない。
【００１３】
本発明は、このような事情に鑑みてなされた。すなわち、本発明は、ＰＣ用に作成されたコンテンツを比較的小さな表示画面サイズの端末装置で閲覧する場合に、テーブル、フレームセットなどの１次元または２次元的な配列で構成される情報が持つ意味を可能な限り再現しつつ比較的小さな表示画面にコンテンツを表示することができる方法、プログラムおよび装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記課題を解決するために、本発明の一つの側面によれば、比較的大きな表示画面サイズを有する装置を対象として作成された大画面用コンテンツを、比較的小さな表示画面幅を有する端末装置上に表示するための方法であって、
コンテンツ内の、タグ<table>を用いて定義されたテーブルの行方向の幅に関し所定の判定基準にしたがって判定を行い、該判定の結果にしたがって、
(1)  テーブルをそのまま端末装置の表示画面内に表示する、
(2)  テーブルの少なくとも一つの行の行方向に配列される複数のセルについて、所定のアルゴリズムにしたがって、テーブルの少なくとも一つの行の行方向において隣り合わせに配列されるべき複数のセルのうち、所定の幅よりも狭い幅を有するセルを、隣り合わせに配列されるべき隣接セルと同じ行の行方向に並べて、かつ当該隣接セルとともに端末装置の表示画面幅内に収まるよう表示する、
を含むテーブルレイアウト処理のいずれか一つを選択して実行することを特徴とするテーブルレイアウト方法が提供される。
【００１５】
本方法によれば、テーブル内の表示データの配列が持つ意味をできるだけ維持しつつ、ＰＣ用に作成されたコンテンツ内のテーブルを端末装置の表示画面に表示することができる。
【００１６】
また(2)のテーブルレイアウト処理における所定のアルゴリズムは、以下の、
(b1)  テーブルの少なくとも一つの行の行方向に配列される複数のセルについて、テーブルを表示すべき表示画面幅に入る分のセルを決定する、
(b2)  表示画面幅に入る分だけのセルを決定したならば、該決定されたセルの幅の合計値を算出し、該合計値が表示画面幅よりも小さい所定の幅よりも小さい値であるか否かを判定する、
(b2-1)  上記(b2)による判定の結果、合計値が所定幅より小さい場合には、並べきれないと決定されていた残りのセルの一つも並べる対象とする、
(b2-2)  上記(b2)による判定の結果、合計値が所定の幅より小さくないと判定された場合には、並べきれないと決定されていた残りのセルを次の行に上記(b1),(b2)の手順で並べる、
(b3)  上記(b1)および(b2-1)において並べる対象とされたセル群の幅の合計値が表示画面幅よりも大きい場合に当該セル群が表示画面幅内に収まるよう縮小して表示する、
という処理からなるとしてもよい。
【００１７】
当該所定のアルゴリズムは、さらに、
(b4)  上記(b2-1)の後に、並べきれないと決定されている残りのセルの幅の合計値を算出し、所定の幅よりも小さいかどうか判定する、
(b4-1)  上記(b4)による判定の結果、合計値が所定の幅より小さい場合には、残りのセルも並べる対象とする、
(b4-2)  上記(b4)による判定の結果、合計値が所定の幅より大きい場合には残りのセルは次の行に並べることとする、
(b5)  上記(b1)、(b2-1)、および(b4-1)において並べる対象とされたセル群の幅の合計値が表示画面幅よりも大きい場合に当該セル群が表示画面幅内に収まるよう縮小して表示する、
という処理からなるとしてもよい。
【００１８】
以上述べたレイアウトに関する方法は、コンピュータにより実行されたとき、いずれかの方法が実行されるようなコンピュータプログラムとして構成することができる。
【００１９】
上記課題を解決する為に、本発明の別の側面によれば、比較的小さな表示画面の幅を有し、比較的大きな表示画面サイズを有する装置を対象として作成された大画面用コンテンツを表示画面に表示する端末装置であって、
コンテンツに含まれるテーブルの行方向の幅に関し所定の判定基準にしたがって判定を行い、該判定の結果にしたがって、
(1)  テーブルをそのまま端末装置の表示画面内に表示する、
(2)  テーブルの少なくとも一つの行の行方向に配列される複数のセルについて、所定のアルゴリズムにしたがって、テーブルの少なくとも一つの行の行方向において隣り合わせに配列されるべき複数のセルのうち、所定の幅よりも狭い幅を有するセルを、隣り合わせに配列されるべき隣接セルと同じ行の行方向に並べて、かつ当該隣接セルとともに端末装置の表示画面幅内に収まるよう表示する、
という処理を含むテーブルレイアウト処理のいずれか一つを選択して実行するテーブルレイアウト手段を備える端末装置が提供される。
【発明の効果】
【００２０】
以上説明したように本発明によれば、ＰＣ用に作成されたコンテンツ中に表示データの配列に意味を持つ情報が含まれる場合に、これらの表示データの配列が持つ意味を維持できるように、比較的小さな表示画面に表示を行うことができる。
【発明を実施するための最良の形態】
【００２１】
第１実施形態
本発明の第１実施形態について説明する。
図１は、本発明の第１実施形態としての端末装置１０の構成を示すブロック図である。また、図２は、端末装置１０のＣＰＵ３の制御の下で動作する閲覧ソフトウェアであるブラウザ２０の機能をブロック単位で表した図である。端末装置１０は、ＰＣと比較して小さな表示画面を持つものであるものとする。例えばＰＣを横方向の画素数が８００ドット以上であると仮定した場合、端末装置１０には、表示画面の横方向の画素数が、１００〜２００ドットの携帯電話、１５０〜６４０ドットのＰＤＡ、６４０ドット以下のカーナビゲーション装置などが含まれることになる。
【００２２】
本第１実施形態では、一例として、端末装置１０が、表示画面の横方向の画素数が２００ドットである携帯電話であるものとして以下の説明を行う。
【００２３】
図１に示すように端末装置１０は、全体の制御を司るＣＰＵ３に、端末装置１０に所定の動作を行わせる為の各種のプログラムが格納されたＲＯＭ５を含め、ＲＡＭ７、ネットワークインタフェース９、ディスプレイドライバ１１、およびユーザインタフェースデバイスＩ／Ｆ１５等がバス１９を介して接続されて構成される。また、ＣＰＵ３には、ディスプレイドライバ１１を介してディスプレイ１３が、ユーザインタフェースデバイスＩ／Ｆ１５を介してユーザインタフェースデバイス１７が接続される。
【００２４】
ユーザインタフェースデバイス１７は、上下キー、数字キー等を含むキー操作部である。ＲＯＭ５には、以下で説明するブラウザの機能を実現するプログラムが格納されており、利用者がユーザインタフェースデバイスを用いて所定の操作を行ったときにブラウザ２０が起動する。
【００２５】
図２に示すように、ブラウザ２０は、パーサー３１、ページメーカ３２、およびフォーマッタ３３の各機能ブロックから構成される。パーサー３１は、ネットワークインタフェース９を介して取得されるＨＴＭＬ文書２１の論理的な構造を解釈し、そのＨＴＭＬ文書の構造に関するドキュメントツリー２３を生成する。なお、ドキュメントツリー２３は、ドキュメントの表現に関する情報までは含んでいない。次に、ページメーカ３２は、ドキュメントツリー２３を基に、各tagで決められた表現形式（block, inline, table, list, itemなど）の情報を含むレイアウトツリー２５を生成する。レイアウトツリー２５は、block, inline, tableなどがどのような順番に存在しているかを表している。ただし、レイアウトツリー２５は、まだ、これらの要素が画面の何処にどのような幅と高さで表示されるか、文字がどこで折り返されるか等のレイアウトに関する情報までは含んでいない。
【００２６】
フォーマッタ３３は、レイアウトツリー２５を基に、表示画面幅などの実際の表示画面に関する情報を用いてレイアウトを行う。つまり、レイアウトツリー２５を実際の表示画面に配置していき、文字の折り返しや、画面上の位置、幅、高さを決定する。パーサー３１、ページメーカ３２、フォーマッタ３３による以上のような処理を経て、ＨＴＭＬ文書２１が端末装置１０の表示画面に表示される。
【００２７】
さらに、フォーマッタ３３は、ＰＣ用に作成されたコンテンツを端末装置１０で見やすくするための機能として、テーブルレイアウト処理を行うように構成されている。このテーブルレイアウト処理は、ＰＣ用に作成されたコンテンツがテーブルを含む場合に、そのテーブルの２次元配列の意味が失われない様に端末装置１０の表示画面上に表示することを達成する。
【００２８】
図３は、テーブルレイアウト処理を表すフローチャートである。このテーブルレイアウト処理によって、コンテンツに含まれるテーブルは次のように表示される。
１．テーブルを端末装置１０の表示画面幅に合わせて通常通りレイアウトして、表示画面幅に収まるのであればそのまま表示を行う。
２．表示画面幅に収まらない場合
2-1. テーブルが画像の張り合わせであると判断した場合には、テーブルを縮小し、テーブル全体が一つの画像として端末装置１０の表示画面内に表示されるように縮小する縮小レイアウト（ステップＳ２０）処理を行う。
2-2. テーブルが画像の張り合わせではないと判断した場合には、テーブルを構成する各セルを分割して表示するスプリット処理（ステップＳ２１）を行う。
【００２９】
図３に示すテーブルレイアウト処理について、図４〜図１４に示す例を参照しつつ説明する。図３に示すように、テーブルレイアウト処理が起動すると、まず、画像やテキストを含むテーブルについて、テーブルのセル幅を最小化した場合のテーブル幅である、テーブルの幅の最小値を調べる。詳細には、テーブル幅の最小値は、一つの行を構成する各セルに含まれる表データを表示するために必要な最小の画素数であり、セルに含まれる画像幅、文字を含むセルについては最低限１文字を表示するために必要な幅（１文字幅）の最大幅、およびセル間のボーダーの幅を、一つの行を構成する全てのセルに関して合計した数である。そしてこのテーブル幅の最小値が表示画面幅（２００ドット）より大きいかどうかを判定する（Ｓ１１）。
【００３０】
例えば、端末装置１０が取得したＰＣ用のＨＴＭＬ文書が、図４のような内容であったとする。図４のＨＴＭＬ文書は、画像とテキストが混合されたテーブルを含んでいる。このＨＴＭＬ文書をＰＣで表示した場合、ＰＣは十分な表示画面幅を有するので、図５のように、画像およびテキストを含む３つのセルを表示画面横方向に配列して表示することができる。
【００３１】
図４のテーブルについてのテーブル幅の最小値は次のように算出される。なお、テーブルの各セルに含まれる画像“aaa_b.gif”は、幅方向の画素数が１０５ピクセルであるものとしている。
テーブル幅の最小値＝(画像幅(105px)と１文字幅の最大幅)×３個分＋α（３つのセルについてのテーブルボーダーの加算値）
この場合、テーブル幅の最小値は３１５ピクセル以上であり、端末装置１０の表示画面幅２００ピクセルより大きいので、ステップＳ１１において、ＹＥＳと判定され、スプリット処理（Ｓ２１）または縮小レイアウト処理（Ｓ２０）の対象となる。ステップＳ１１において、テーブル幅の最小値が表示画面幅以下であると判定される場合には（Ｓ１１：ＮＯ）、テーブルは表示画面幅２００ピクセル内に表示可能なので、テーブルはそのまま表示される（Ｓ１２）。
【００３２】
ステップＳ１３〜Ｓ１９は、テーブルが画像の張り合わせで有るかどうか、つまり、テーブルが、例えば図１１に示すような部分的な画像を含む各セルの張り合わせとして構成された一つの画像であるか否かを判定するための処理である。テーブルを構成する全セルのうち、画像のセルが所定の割合以上で存在する場合に、そのテーブルが画像の張り合わせで有るとみなし縮小レイアウト処理（Ｓ２０）を行うようにしている。テーブルが画像の張り合わせではないと判断される場合には（Ｓ１９：ＮＯ）、セルを分割して表示するスプリット処理（Ｓ２１）が実行される。
【００３３】
テーブルを構成する全てのセルについて、Ｓ１３〜Ｓ１７の判定の処理が繰り返し行われる。まず、ステップＳ１３では、テーブルを構成する１つのセルについて、ステップＳ１４、Ｓ１５およびＳ１６での判定に必要なパラメータが取得される。ステップＳ１４では、セルがテキストを含んでいるかどうかを判定する。セルがテキストを含んでいる場合には（Ｓ１４：ＹＥＳ）、張り合わせの画像を構成するセルではないとみなすことができるので、処理はステップＳ１８に移り、残りのセルについての処理がさらに続行される。
【００３４】
一方、セルがテキストを含んでいないと判定される場合には（Ｓ１４：ＮＯ）、処理はステップＳ１５に進む。Ｓ１５では、セルが、さらにテーブルを含んでいるかどうかを判定する。セルがさらにテーブルを含んでいる場合には（Ｓ１５：ＹＥＳ）、張り合わせの画像を構成するセルではないとみなすことができるので、処理はステップＳ１８に移り、残りのセルについての処理がさらに続行される。
【００３５】
セルがテーブルを含んでいないと判定される場合には（Ｓ１５：ＮＯ）、処理はステップＳ１６に進む。Ｓ１６では、セルが所定サイズ以上の画像を含むかどうかが判定される。画像が所定サイズ未満であれば（Ｓ１６：ＮＯ）、処理はステップＳ１８に移り、残りのセルについての処理がさらに続行される。画像が所定サイズ以上である場合には（Ｓ１６：ＹＥＳ）、そのセルについては張り合わせの画像を構成するものの一つとしてカウントするために変数Ｎをインクリメントする（Ｓ１７）。このように、所定サイズ未満の画像をカウントしないようにしているのは、所定サイズ未満の画像は、単にテーブルの表示書式を整えるためのだけのスペーサなどが含まれるので、このようなスペーサなどを、張り合わせの画像を構成するものとみなさない様にするためである。
【００３６】
ステップＳ１８では、Ｓ１３〜Ｓ１７の一連の処理を未だ行っていない残りセルがあるかどうかが判定され、残りのセルがある場合には（Ｓ１８：ＹＥＳ）、そのセルについてＳ１３からの処理が行われる。テーブルを構成する全てのセルについて、Ｓ１３〜Ｓ１７の一連の処理が終了した場合には（Ｓ１８：ＮＯ）、変数Ｎが全セル数の２／３以上であるかどうかが判定される（Ｓ１９）。すなわち、テーブルを構成する全セルの内、張り合わせの画像を構成する画像とみなされるものの数が２／３以上存在する場合には、テーブルは画像の張り合わせであるとみなしている。なお、この２／３という数値は一つの例であり、これ以外にも様々な数値を用いることができることはいうまでもない。
【００３７】
画像の張り合わせであると判定された場合には（Ｓ１９：ＹＥＳ）、処理はステップＳ２０に進み、張り合わせ画像を全体的に縮小して表示する縮小レイアウト処理が行われる（Ｓ２０）。画像の張り合わせではないと判定された場合には（Ｓ１９：ＮＯ）、処理はステップＳ２１に進み、セルを分割して表示するスプリット処理が行われる（Ｓ２１）。
【００３８】
以上のように、テーブルレイアウト処理（図３）では、
1)セルがテキストを含まない、
2)セルがテーブルを含まない、
3)セルに含まれる画像は、所定サイズ（例えば１０ピクセル）以上である、
という３つの条件が満たされるとき、張り合わせの画像を構成するセルの一つであるとみなしている。
【００３９】
次に、スプリット処理（Ｓ２１）について説明する。
スプリット処理（Ｓ２１）では、具体的には次のような所定のアルゴリズムでセルを分割する処理が行われる。
a1)テーブルを行単位で独立して考え、まず一つの行を処理の対象として決定する。例えば、先頭の行から順に処理対象の行としても良い。
a2)次に、a1)で処理対象となった行を構成するセルについて、テーブルを表示すべき場所の横幅（つまり、端末装置１０の表示画面幅２００ピクセル）に入る分だけセルを表示画面の幅方向に並べる。
a3)表示画面幅に並べきれなかった残りのセルを次の行にa2)の規則で並べる。
a4)一つの行についてa2)、a3)の処理が終了したら、テーブルの他の行についてa1)からの処理を繰り返す。
なお、以上の処理において、ボーダー（Border）、背景色（background color）などのセルに関する各種の修飾情報は、そのまま残す形で画面表示を行う。
【００４０】
例えば、テーブルが図６（ａ）のようなほぼ等しいサイズの３×３のセルによって構成されている場合に、テーブルの先頭の１行について、上記のスプリット処理が行われたとする。また、ここで表示画面（２００ピクセル）の幅方向に並べることができるのは２つのセルであるとする。この場合、表示画面上ではセルは、図６（ｂ）に示すように配置される。図６（ｂ）の例では、２行目に送り出された第３セルを画面の中心に配置させている。
【００４１】
なお、セルの並べ方は図６（ｂ）のような例に限られず、例えば図６（ｃ）のように第１セルを表示画面の中央に表示し、第２および第３セルを次の行に並べて表示する構成とすることも可能である。或いは、図６（ｄ）のように縦方向に並べる構成としても良い。なお、図６（ｂ）〜（ｄ）いずれの場合でも、ボーダー等のセルの修飾情報は維持された形で表示を行う。
【００４２】
図７は、図４で示したコンテンツ（ＰＣでの表示画面は図５）について上記テーブルレイアウト処理を行った場合の表示画面の例である。この場合、各セルは表示画面内に一つしか並べることができないサイズであるため、各セルが縦に並べられる形式で表示が行われている。但しテーブルの修飾は維持されている。
【００４３】
本実施形態によるスプリット処理による表示結果（図７）と比較するための比較例を図８と図９に示す。図８は、図４のＨＴＭＬ文書のテーブルを、セルの分割を行うこと無く、単に表示画面幅２００ドットに入るように各セル幅を縮小して表示する場合の比較例である。セル幅が大きく縮小されるため、文字の折り返しが非常に多くなり、利用者にとって見にくい表示となっている。一方、図９は、テーブルについては、一律に、セル内のデータを縦方向に分割して表示する場合の比較例である。また、図９の例では、セルの修飾情報が失われるため、本実施形態による表示結果（図７）の方が利用者にとって好適な表示である。なお、図９の場合のセル分割アルゴリズムでは、たとえセルを横方向に２つ以上並べることができる場合であっても、セルは一律に縦に分割されるので、テーブルの２次元の配列が持つ意味は失われる。
【００４４】
ここで上記スプリット処理（Ｓ２１）の変形例について説明する。上記スプリット処理では、処理の対象となった行のセルについて、テーブルを表示すべき場所の横幅に入るだけのセルを幅方向に並べ、並べきれなかったセルを次の行に並べている。それに対して、この変形例では、上記スプリット処理と同様にテーブルを表示すべき場所の横幅に入る分のセルを決定した後、並べきれないと判断された残りのセルも所定の条件を満たすならば、対象の行に並べる。
【００４５】
この変形例のアルゴリズムは、以下の通りである。
d1) テーブルを行単位で独立して考え、まず一つの行を処理の対象として決定する。例えば、先頭の行から順に処理対象の行としても良い。
d2) 次に、d1)で処理対象となった行を構成するセルについて、テーブルを表示すべき場所の横幅（端末装置１０の表示画面幅２００ピクセル）に入る分のセルを決定する。
d3) 表示画面幅に入る分だけのセルを決定したならば、これらの横幅の合計値を算出し、その合計値が、表示画面幅よりも小さい所定の幅（例えば、２０ピクセル）よりも小さいかどうか判定する。
d3-1) 手順d3)による判定の結果、合計値が所定の幅より小さい場合には、並べきれないと決定されていた残りのセルの一つも並べる対象とする。
d3-2) 手順d3)による判定の結果、合計値が所定の幅より小さくないと判定された場合には、並べきれないと決定されていた残りのセルを次の行にd2),d3)の手順で並べる。
d4) 手順d3-1)の後に、さらに、並べきれないと決定されている残りのセルの横幅の合計値を算出し、所定の幅よりも小さいかどうか判定する。
d5) 手順d4)による判定の結果、合計値が所定の幅より小さい場合には、残りのセルも並べる対象に加える。一方、合計値が所定の幅より大きい場合には残りのセルは次の行に並べることとする。
なお、以上の処理により、並べる対象となったセルの横幅の合計値は表示画面幅よりも大きいので、これに納まるように縮小処理を行う。
【００４６】
上記変形例のアルゴリズム（d1）-(d5)を用いることによる、処理の具体例について図１０（ａ）から図１０（ｃ）により説明する。図１０（ａ）は、処理の対象となったテーブルの行を示している。図１０（ａ）に示されているように、表示画面幅（２００ピクセル）に入るのはセルＥ１のみであるが、手順（d3,d3-1）により、セルＥ１の幅は所定の幅（２０ピクセル）よりも小さいと判定され、セルＥ２も並べる対象とされる。また、セルＥ１とセルＥ２の横幅の合計値は所定の幅よりも大きいので、手順（d3-1）までの処理によれば、セルＥ１とセルＥ２が同じ行に並べる対象となる。
【００４７】
しかし、セルＥ３は、所定の幅（２０ピクセル）よりも小さいので、手順（d4,d5）により、残りのセルＥ３も並べる対象に加えられる。以上の処理によりセルＥ１〜Ｅ３が同じ行に並べる対象になったので、これらを表示画面幅に納まるように縮小して表示する。この結果、テーブルを、ユーザが見てより適切な状態で表示することができる。図１０（ｂ）は、以上の変形例での処理により、図１０（ａ）のテーブルの行を処理して表示画面上に表示した場合の状態を示している。一方、図１０（ａ）の例に対して上記アルゴリズム（a1-a4）を用いると、セルＥ１〜Ｅ３は、図１０（ｃ）に示すように縦に分割して表示されることになる。
【００４８】
なお、以上で説明したスプリット処理では、テーブルを行単位で独立して考え、さらに処理対象となった一つの行に関してセル単位で各判定を行なっている。このようにセル単位で判定を行うことに替えて、列単位で判定を行なう構成も有り得る。つまり、テーブル内のある列（列方向に並ぶ複数のセルを含む）の幅が所定の幅（例えば２０ピクセル）よりも小さければ、その列と前の列（左隣の列）との間、および、その列と次の列（右隣の列）との間ではセルの分割は行なわないようにすることである。これにより、スプリット処理を行うかどうかを行単位で判定する必要がなくなる。なお、上記所定の幅は、Webコンテンツ中で指定されたコンテナブロック（containing block）の幅に応じて変更しても良い。
【００４９】
次に、テーブルが画像の張り合わせであると判断された場合に実行される縮小レイアウト処理（Ｓ２０）について説明する。縮小レイアウト処理では、具体的には次のような処理が行われる。
(b1) テーブルを表示すべき場所の横幅（例えば、端末装置１０の表示画面幅２００ピクセル）に合わせて、テーブルの各列の幅を同一の縮小率で縮小させ、各セルの横幅を決定する。
(b2) セルの横幅が決定したので、その横幅に合わせて各セルの内容についてのレイアウトを次のように決定する。
(b2-1)セルの内容がテキストであれば、セルの幅に合わせてテキストの折り返しを行う。
(b2-2)セルの内容が画像であれば、セルの幅に収まるように縮小する。
(b2-3)セルの内容がテーブル（第２のテーブル）であれば、そのセルの幅を、「テーブルを表示すべき場所の横幅」として、第２のテーブルについて(b1)、(b2)の処理を実行する。
(b3) 上記(b2)までの処理によりセルの高さが決定するので、端末装置１０の表示画面にテーブルの表示を行う場合の行の高さは、その行に含まれるセルの高さの最大値となる。また、テーブルの高さは行の高さの和となる。
【００５０】
図１１に、張り合わせ画像を表すコンテンツの例を示す。図１２は、図１１のコンテンツをＰＣ上で表示した場合の例である。図１２の画像は、図１１のＨＴＭＬの記述では、５×３のセルとして構成され、それぞれのセルは部分的な画像データからなる。例えば、図１１のＨＴＭＬ文書における画像データa1.gif、a2.gif、a3.gif、a4.gif、a5.gifが、それぞれ、図１２における先頭の１行の画像部分、５１、５２、５３、５４および５５に対応している。
【００５１】
図１１のコンテンツは、テーブルレイアウト処理（図３）によって画像の張り合わせであると判断され、縮小レイアウト処理（Ｓ２０）の対象になる。図１３は、縮小レイアウト処理によって図１２の張り合わせの画像が、端末装置１０の表示画面内に縮小表示された状態を示している。このように、本実施形態によれば、テーブルが画像の張り合わせである場合には縮小表示されるので、端末装置１０において、ＰＣ用に作成されたコンテンツを、それが本来持つ情報を維持した形で閲覧することができる。
【００５２】
図１４は、比較例として、テーブルを構成するセルを一律に縦にならべるとした場合に、図１２の張り合わせの画像がどのように表示されるかを示した例である。この場合、図１４にみられるように、張り合わせの画像を構成する各画像５１−５５が縦に表示されることになるので、ＰＣ用に作成されたコンテンツを、それが本来持つ情報を維持した形で閲覧することはできない。
【００５３】
以上説明した本発明の第１実施形態の様々な特徴はその全てが必ずしも必要ではなく、特徴の一部の削除、置換などを行った様々な変形例を考えることができる。
【００５４】
例えば、図３に示したテーブルレイアウト処理のステップＳ１１における、テーブルレイアウト処理の対象とするか否かの判定については様々な変形を行うことができる。上述の実施形態では、テーブル幅の最小値を求め、その最小値が端末装置１０の表示画面幅以下であり、テーブルが端末装置１０の表示画面内に表示できると判定されれば（Ｓ１１：ＮＯ）、Ｓ１３以降のテーブルレイアウト処理の対象としないように構成している。ステッテＳ１１の判定にさらに次のような判定基準C1、C2、C3を加え、たとえ算出されたテーブル幅の最小値が表示画面幅以内であっても、C1、C2、C3の少なくとも一つが満たされる場合には、ステップＳ１３からのテーブルレイアウト処理の対象とするように構成しても良い。
C1. セル内でのテキストの折り返し数が所定値以上である
C2. セルの縦方向の長さが所定値以上である（または、セルの縦横比をみたとき縦の長さの比率が所定の割合以上である）
C3. 文字を含むセルの絶対幅が所定値以下である。
【００５５】
上記のようにC1、C2を加えるのは、たとえ算出されたテーブル幅の最小値が表示画面幅以内であっても、上記C1またはC2が成立する場合には、テーブルのセルが縦方向に長くなり利用者が見にくい表示になる可能性があるので、スプリット処理（図３、Ｓ２１）の対象とするのが好ましいからである。また、C3の基準を用いることによって、たとえ算出されたテーブル幅の最小値が表示画面幅以内であっても、セルの幅が、本質的に小さくなるような場合にスプリット処理（図３、Ｓ２１）の対象とすることできるからである。
【００５６】
第２実施形態
次に本発明の第２実施形態について説明する。
上述の第１実施形態は、ＰＣ用に作成されたコンテンツのテーブル<table>についてレイアウト処理を行うものであった。第２実施形態では、ＰＣ用に作成されたコンテンツにフレームセット（<frameset>〜</frameset>）が含まれる場合に、フレームセットで指定されたパラメータを＜table＞のパラメータに変換し、変換後のテーブルを、上述の第１実施形態におけるテーブルレイアウト処理（図３）の対象として処理することで、フレームセットが含んでいる２次元的な配列の意味を維持できるようヲ端末装置１０の表示画面上に表示する。
【００５７】
したがって、第２実施形態における端末装置１０の構成、ブラウザの機能の構成、テーブルレイアウト処理の構成は第１実施形態と同等である。以下では、第２実施形態における特徴部分であるフレームセットからテーブルへの変換について説明する。
【００５８】
フレームセットをテーブルとして表示するために（つまり<frameset>で指定されたパラメータを＜table＞のパラメータに変換するために）、以下のような変換規則を用いる。
規則１．  <FRAMESET> → [</TD>][</TR><TR>][<TD>]<TABLE><TBODY><TR>
規則２．  </FRAMESET> → </TR></TBODY></TABLE>
規則３．  <FRAME src = “url” name = “name_str”> →
[</TD>][</TR><TR>]<TD><A href =“url”>name_str</A></TD>
なお、上記変換規則において、下記の補足的な事項を適用する。
・[<TD>][</TD>] がつくのは フレームセットが入れ子になっている場合
・[</TR><TR>]は FRAMESET cols 属性の情報から列を区切るため、必要に応じて
つける
・name 属性が無い場合には "name_str" の代わりに "url" を使用する
・装飾のための属性としては、
<TABLE width=100% border=1 frames=void rules=all cellspacing=0>
<TD style="background-color: #ccf0ff; border-width: 1; border-color:
white;">
を用いる。
【００５９】
上記変換規則を適用してフレームセットをテーブルに変換した場合の例を以下に示す。
変換前（フレームセット）
<FRAMESET cols = "1*, 2*, 3*">
<FRAME src = "1.htm" name = left>
<FRAMESET rows = "1*, 2*, 3*">
<FRAME src = "2-1.htm">
<FRAME src = "2-2.htm">
<FRAME src = "2-3.htm">
</FRAMESET>
<FRAME src = "3.htm" name = right>
</FRAMESET>
変換後（テーブル）
<TABLE><TBODY><TR>
<TD><A href = "1.htm">left</A></TD>
<TD><TABLE><TBODY><TR>
<TD><A href = "2-1.htm">2-1.htm</A></TD>
</TR><TR><TD><A href = "2-2.htm">2-2.htm</A></TD>
</TR><TR><TD><A href = "2-3.htm">2-3.htm</A></TD>
<TR></TBODY></TABLE>
</TD><TD><A href = "3.htm">right</A></TD>
</TR></TBODY></TABLE>
なお、上記変換後のテーブルにおいて装飾のための属性については省略している。
【００６０】
以上のように変換された後のテーブルに対して上述のテーブルレイアウト処理（図３）を適用することによって、フレームセットをスプリット処理（Ｓ２１）または縮小レイアウト処理（Ｓ２０）の対象とすることが可能となる。したがって、ＰＣ用に作成されたコンテンツにフレームセットが含まれている場合にも、フレームセットの表示データ配列が持つ意味を維持できるように、端末装置１０の表示画面に表示することが可能である。
【００６１】
図１５は、フレームセットを通常のＰＣ画面で表示させた場合の例である。なお、図１５において、フレーム１０１は、topmainのフレーム、フレーム１０２は、メニュー（menu）のフレーム、フレーム１０３は、メインニュース（main）のフレーム、フレーム１０４は天気予報（weather）のフレーム、フレーム１０５はバナー広告（banner）のフレームである。図１６は、ＰＣ画面上に図１５のように表示されるフレームセットを上記変換規則によりテーブルに変換し、端末装置１０の表示画面上に表示させた例である。図１５の各フレーム１０１〜１０５が、図１６のテーブルの表示における各部分２０１〜２０５にそれぞれ対応している。
【００６２】
フレームセットが図１６のようにテーブルとして表示されるので、フレームセットを端末装置１０で閲覧するために、フレーム切替えキーのような特殊なキーを用いる必要はなく、携帯電話などに通常設けられている上下左右キーでフレームを移動させて選択することができる。すなわち、図１６のようにテーブル内に配置されたアンカーの選択と決定で、フレームの選択を行うことができる。このように第２実施形態によれば、フレームセットの２次元的な配列がもつ意味が失われないように、フレームセットを表示画面の小さい端末装置上に表示することができる。
【００６３】
本発明は、テーブル、フレームセットの例に限らず、ＰＣ用に作成されたコンテンツ中に表示データの配列に意味を持つ情報が含まれる場合に、これらの表示データの配列が持つ意味を維持できるように、比較的小さな表示画面に表示を行うことに適用することが可能である。
【００６４】
なお、上述の実施形態は、ＰＣ用に作成されたコンテンツを携帯電話で閲覧する例であった。ＰＣ用に限らず、比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツを、その表示画面サイズよりも小さな表示サイズで閲覧するための構成としても、本発明を適用することができる。大画面で且つ高解像度なデータ放送用テレビ又はインターネットテレビを対象に作成されたコンテンツを、比較的小さな画面の携帯電話端末で閲覧する場合に本発明を好適に適用することができる。
【図面の簡単な説明】
【００６５】
【図１】本発明の第１実施形態としての端末装置の構成を示すブロック図である。
【図２】図１の端末装置のＣＰＵの制御の下で動作する閲覧ソフトウェアであるブラウザの機能をブロック単位で表した図である。
【図３】図２のブラウザの機能としてのテーブルレイアウト処理を表すフローチャートである。
【図４】ＰＣ用に作成されたＨＴＭＬ文書の例である。
【図５】図４のＨＴＭＬ文書をＰＣで表示した場合の例である。
【図６】本発明の第１実施形態にしたがい、テーブルに対してスプリット処理を行った場合の例を説明する図である。
【図７】図４のコンテンツについて本発明の第１実施形態によるテーブルレイアウト処理を行った場合の表示画面の例である。
【図８】図４のＨＴＭＬ文書のテーブルを、セルの分割を行うこと無く、単に表示画面幅に入るように各セル幅を縮小して表示する場合の比較例である。
【図９】図４のＨＴＭＬ文書のテーブルについて、一律に、セル内のデータを縦方向に分割して表示する場合の比較例である。
【図１０】図１０（ａ）は、処理の対象となったテーブルの行の例を示し、図１０（ｂ）は、スプリット処理の変形例（d1-d5）での処理により図１０（ａ）のテーブルの行を処理して表示画面上に表示した場合の状態を示し、図１０（ｃ）はスプリット処理（a1-a4）により図１０（ａ）のテーブルの行を処理して表示画面上に表示した場合の状態を示している。
【図１１】張り合わせ画像としての、ＰＣ用に作成されたＨＴＭＬ文書の例である。
【図１２】図１１のＨＴＭＬ文書をＰＣで表示した場合の例である。
【図１３】図１２の張り合わせの画像が、本発明の第１実施形態による縮小レイアウト処理によって、端末装置の表示画面内に縮小表示された状態を示している。
【図１４】テーブルを構成するセルを一律に縦にならべるとした場合に、図１２の張り合わせの画像がどのように表示されるかを示した比較例である。
【図１５】ＰＣ用に作成されたコンテンツとしてのフレームセットを、ＰＣ上に表示した場合の例を表す図である。
【図１６】本発明の第２実施形態にしたがい、図１５のフレームセットをテーブルに変換して端末装置上に表示した例を示す図である。
【符号の説明】
【００６６】
３  ＣＰＵ
５  ＲＯＭ
７  ＲＡＭ
９  ネットワークインタフェース
１１  ディスプレイドライバ
１３  ディスプレイ
１５  ユーザインタフェースデバイスＩ／Ｆ
１７  ユーザインタフェースデバイス
３１  パーサー
３２  ページメーカ
３３  フォーマッタ
【図１】
2008123560.tif 000003
【図２】
2008123560.tif 000004
【図３】
2008123560.tif 000005
【図４】
2008123560.tif 000006
【図５】
2008123560.tif 000007
【図６】
2008123560.tif 000008
【図７】
2008123560.tif 000009
【図８】
2008123560.tif 000010
【図９】
2008123560.tif 000011
【図１０】
2008123560.tif 000012
【図１１】
2008123560.tif 000013
【図１２】
2008123560.tif 000014
【図１３】
2008123560.tif 000015
【図１４】
2008123560.tif 000016
【図１５】
2008123560.tif 000017
【図１６】
2008123560.tif 000018