(57)【要約】【課題】テーブルの１次元または２次元的な配列で構成される情報が持つ意味を保持して，使用者端末装置の表示画面上にテーブルを表示する方法を提供する。【解決手段】コンテンツ又は中間コードに含まれるテーブルの列の幅（高さ）に関し所定の判定基準に従って，少なくとも１つの列（行）をブロックとしてテーブルを分割し，ブロックを縦（横）方向に並べて表示する，又は少なくとも１つの列（行）をブロックとしてテーブルを分割する列（行）番号を求め，列（行）番号をもとにテーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，コンテンツ又は中間コードを変換し，変換後コンテンツ又は変換後中間コードを使用者端末装置上に表示する。【選択図】  図５
2006127082.tif 000002
【特許請求の範囲】
【請求項１】
比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内の，テーブルの列の幅に関し所定の判定基準に従って，少なくとも１つの列をブロックとして前記テーブルを分割し，前記ブロックを縦方向に並べて表示するテーブルレイアウト処理を行うことを特徴とするテーブルレイアウト方法。
【請求項２】
前記所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各列について最大となる前記セルの幅から前記各列の幅を求め，求められた列の幅，ブロックの幅及び表示画面幅に関し，
（ブロックの幅＋列の幅）＞ 表示画面幅
が成立するか否かという第１の基準を含み，前記第１の基準が成立する場合には前記列を次のブロックの要素とすることを特徴とする請求項１に記載のテーブルレイアウト方法。
【請求項３】
前記所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各列について最大となる前記セルの幅から前記各列の幅を求め，求められた列の幅が所定値以下になっているか，という第２の基準を含み，前記第１の基準が成立する場合であっても，前記第２の基準が成立する場合には，前記列をブロックの要素とすることを特徴とする請求項２に記載のテーブルレイアウト方法。
【請求項４】
比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内の，テーブルの列の幅に関し所定の判定基準に従って，少なくとも１つの列をブロックとして前記テーブルを分割する列番号を求めるステップと，前記列番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は前記中間コードを変換するステップと，変換後コンテンツ又は変換後中間コードを使用者端末装置上に表示するステップを備えることを特徴するテーブルレイアウト方法。
【請求項５】
前記所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各列について最大となる前記セルの幅から前記各列の幅を求め，求められた列の幅，ブロックの幅及び表示画面幅に関し，
（ブロックの幅＋列の幅）＞ 表示画面幅
が成立するか否かという第１の基準を含み，前記第１の基準が成立する場合には前記列を次のブロックの要素とすることを特徴とする請求項４に記載のテーブルレイアウト方法。
【請求項６】
前記所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各列について最大となる前記セルの幅から前記各列の幅を求め，求められた列の幅が所定値以下になっているか，という第２の基準を含み，前記第１の基準が成立する場合であっても，前記第２の基準が成立する場合には，前記列をブロックの要素とすることを特徴とする請求項５に記載のテーブルレイアウト方法。
【請求項７】
比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内の，テーブルの行の高さに関し所定の判定基準に従って，少なくとも１つの行をブロックとして前記テーブルを分割し，前記ブロックを横方向に並べて表示するテーブルレイアウト処理を行うことを特徴とするテーブルレイアウト方法。
【請求項８】
前記所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各行について最大となる前記セルの高さから前記各行の高さを求め，求められた行の高さ，ブロックの高さ及び表示画面の高さに関し，
（ブロックの高さ＋行の高さ）＞ 表示画面の高さ
が成立するか否かという第１の基準を含み，前記第１の基準が成立する場合には前記行を次のブロックの要素とすることを特徴とする請求項７に記載のテーブルレイアウト方法。
【請求項９】
前記所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各行について最大となる前記セルの高さから前記各行の高さを求め，求められた行の高さが所定値以下になっているか，という第２の基準を含み，前記第１の基準が成立する場合であっても，前記第２の基準が成立する場合には，前記行をブロックの要素とすることを特徴とする請求項８に記載のテーブルレイアウト方法。
【請求項１０】
比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内の，テーブルの行の高さに関し所定の判定基準に従って，少なくとも１つの行をブロックとして前記テーブルを分割する行番号を求めるステップと，前記行番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は前記中間コードを変換するステップと，変換後コンテンツ又は変換後中間コードを前記使用者端末装置上に表示するステップを備えることを特徴するテーブルレイアウト方法。
【請求項１１】
前記所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各行について最大となる前記セルの高さから前記各行の高さを求め，求められた行の高さ，ブロックの高さ及び表示画面の高さに関し，
（ブロックの高さ＋行の高さ）＞ 表示画面の高さ
が成立するか否かという第１の基準を含み，前記第１の基準が成立する場合には前記行を次のブロックの要素とすることを特徴とする請求項１０に記載のテーブルレイアウト方法。
【請求項１２】
前記所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各行について最大となる前記セルの高さから前記各行の高さを求め，求められた行の高さが所定値以下になっているか，という第２の基準を含み，前記第１の基準が成立する場合であっても，前記第２の基準が成立する場合には，前記行をブロックの要素とすることを特徴とする請求項１１に記載のテーブルレイアウト方法。
【請求項１３】
比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内のテーブルを縦方向に並べて表示するか，又は横方向に並べて表示するかを選択するステップと，選択された表示方法に従って，請求項１から請求項１２に記載のテーブルレイアウト方法のいずれか一つを実行することを特徴とするテーブルレイアウト方法。
【請求項１４】
コンピュータにより実行されたとき，請求項１から請求項１３のいずれかに記載の方法が実行されるように構成されたコンピュータプログラム。
【請求項１５】
比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを表示画面に表示する端末装置であって，前記コンテンツ又は前記中間コードに含まれるテーブルの列の幅に関し所定の判定基準に従って，少なくとも１つの列をブロックとして前記テーブルを分割し，前記ブロックを縦方向に並べて表示する，又は，テーブルの列の高さに関し所定の判定基準に従って，少なくとも１つの行をブロックとして前記テーブルを分割し，前記ブロックを横方向に並べて表示する，という処理を含むテーブルレイアウト処理のいずれか一つを選択して実行するテーブルレイアウト手段を備えることを特徴とする端末装置。
【請求項１６】
比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを表示画面に表示する端末装置であって，前記コンテンツ又は前記中間コードに含まれるテーブルの列の幅に関し所定の判定基準に従って，少なくとも１つの列をブロックとして前記テーブルを分割する列番号を求める手段と，前記列番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は前記中間コードを変換する手段と，変換後コンテンツ又は変換後中間コードを表示画面に表示する，又は，テーブルの列の高さに関し所定の判定基準に従って，少なくとも１つの行をブロックとして前記テーブルを分割する行番号を求める手段と，前記行番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は前記中間コードを変換する手段と，変換後コンテンツ又は変換後中間コードを表示画面に表示する，という処理を含むテーブルレイアウト処理のいずれか一つを選択して実行するテーブルレイアウト手段をさらに備えることを特徴とする請求項１５に記載の端末装置。
【請求項１７】
コンテンツ提供サーバ又は中間コードサーバが該当コンテンツを使用者端末装置へ提供するコンテンツ提供システムであって，前記コンテンツ又は前記中間コードがテーブルを含む場合，前記コンテンツ提供サーバ又は前記中間コードサーバから変換サーバが前記コンテンツの提供を受け，前記コンテンツの変換を行う手段と，前記変換後コンテンツを前記コンテンツ提供サーバ又は前記中間コードサーバが前記使用者端末装置へ提供する手段とを備えることを特徴とするコンテンツ提供システム。
【請求項１８】
コンテンツ提供サーバ又は中間コードサーバが該当コンテンツを使用者端末装置へ提供するコンテンツ提供方法であって，前記コンテンツ又は前記中間コードがテーブルを含む場合，前記コンテンツ提供サーバ又は前記中間コードサーバから変換サーバが前記コンテンツの提供を受け，前記コンテンツの変換を行うステップと，前記変換後コンテンツを前記コンテンツ提供サーバ又は前記中間コードサーバが前記使用者端末装置へ提供するステップとを備えることを特徴とするコンテンツ提供方法。
【請求項１９】
コンテンツ提供サーバ又は中間コードサーバが使用者端末装置へ提供する該当コンテンツがテーブルを含む場合，前記コンテンツ又は前記中間コードを変換するプログラムであって，少なくとも１つの列をブロックとして前記テーブルを分割する列番号を求めるステップと，前記列番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は前記中間コードを変換するステップと，少なくとも１つの行をブロックとして前記テーブルを分割する行番号を求めるステップと，前記行番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は前記中間コードを変換するステップとを備えることを特徴とするテーブル再構成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，テーブルレイアウトを行うブラウザプログラム，方法及び装置，コンテンツ提供システム及び方法，テーブル再構成プログラムに関する．
【背景技術】
【０００２】
インターネットの普及に伴い，パーソナルコンピュータ，携帯電話機やＰＤＡ（Personal Digital Assistance）のような携帯型無線端末機，またインターネットテレビのような情報家電など（本明細書では，これらをまとめて使用者端末装置とも総称する），インターネットに接続可能な様々な装置が存在している中で，これら装置の種類に応じた膨大なコンテンツが提供されている．現在では，比較的画面サイズの小さい携帯電話機やＰＤＡ等からコンピュータ使用者向けに作成されたコンテンツへのアクセスが可能となっている．
【０００３】
しかし，コンピュータ使用者向けに作成されたコンテンツを比較的画面サイズの小さい携帯電話機等の装置で閲覧することは一般的には困難である．コンピュータ使用者向けに作成されたコンテンツは, 携帯電話機等の表示装置で表示可能なサイズを越える大きなサイズのテーブルや画像等を含むからである．また，テーブルは数階層にもなる入れ子構造を有することもある．
【０００４】
そこで，コンピュータ使用者向けに作成されたコンテンツに含まれるテーブルを比較的画面サイズの小さい携帯電話機等で閲覧するための一つの方式として，テーブル内で行方向に並んだ複数のセルについて一律に各セルを縦方向に並べるという方式が提案されている．この方式を用いることで，利用者は上下スクロールによりテーブル内の表示データを閲覧することができることになる．
【０００５】
また，下記特許文献１には，テーブルの一つの行の行方向において隣り合わせに配列されるべき２以上のセルを一つの行方向に並べて表示するテーブルレイアウトについて記載されている．
【０００６】
【特許文献１】特開２００４−２６５３９０
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら，２次元的に配列されたテーブルの行方向に配列されたセルを分割して一律に縦方向に並べた場合，テーブルが持つ１次元又は２次元的な配列の意味は失われてしまう．
【０００８】
また，上記特許文献１に記載されているテーブルレイアウトは，１つの行中に２つ以上のセルを並べることに主眼が置かれているため，次のような問題が生じる．
【０００９】
第１に，テーブルを構成する一つ一つの行に注目し，それぞれのセル単独での大きさの最小値に注目するため，図７のようなＨＴＭＬ文書を表示した場合には，図１０のような表示となることから，２次元的な配置をユーザが認識することが非常に困難であるという問題が生じる．
【００１０】
第２に，空のセルがあった場合，そのセルの最小値は（０，０）となるが，これを表示しない場合，ユーザは２次元的なテーブルの構成を理解できなくなるという問題が生じる．
【００１１】
第３に，テーブルのセルの内容を記述するタグ<td>の属性であるcolspan，rowspanのように，一つのセルがテーブル中で複数のセルに対応するような構成が記述されていないため，テーブルの２次元的な構成をユーザが認識することが困難になるという問題が生じることが考えられる．
【００１２】
本発明は，このような事情に鑑みてなされた．すなわち，本発明の目的は，横軸，もしくは縦軸，どちらかの軸に注目することによって，テーブルを全体として分割 (以下，テーブルの「折り返し」と呼ぶ) して複数段にまたがって表示することにより,テーブルの１次元または２次元的な配列で構成される情報が持つ意味を保持して，使用者端末装置へテーブルを表示する方法，ブラウザプログラム及び装置，コンテンツ提供システム及び方法並びにテーブル再構成プログラムを提供することにある．
【課題を解決するための手段】
【００１３】
上記課題を解決するために，本発明に係るテーブルレイアウト方法は，比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上（例えば携帯電話機やＰＤＡなどの携帯端末機．インターネットテレビ，冷蔵庫，家庭内電話機，ＦＡＸ装置などの情報家電．パーソナルコンピュータなどを含む．）に表示するための方法であって，前記コンテンツ又は前記中間コード内の，テーブルの列の幅に関し所定の判定基準に従って，少なくとも１つの列をブロックとして前記テーブルを分割し，前記ブロックを縦方向に並べて表示するテーブルレイアウト処理を行うことを特徴とする（請求項１）．
【００１４】
本方法によれば，ＰＣ等の比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ内のテーブルを，テーブル内の表示データの２次元的配列が持つ意味を維持しつつ，使用者端末装置の表示画面に表示することができる．
【００１５】
ここで，本発明における中間コードとは，特定の装置の種別に依存せず，ＨＴＭＬ（Hyper Text Markup Language），ＣＨＴＭＬ（Compact HTML），ＨＤＭＬ（Handheld Device Markup Language）などのマークアップ言語における冗長なデータを削除し，使用者端末装置で行われる解析等の負荷を軽減するために，タグの整合性の検証等といった事前の構文解析を行ったものを，バイト単位で表現したものである．この中間コードは，中間コードを提供できるコンテンツサーバと使用者端末装置との間，中間コードを提供できるコンテンツサーバと中間コードサーバとの間，もしくは中間コードサーバと使用者端末装置との間でネットワークを用いて送受信される場合には，一時的に圧縮された形態をとることもある．また，一般にコンテンツ提供サーバという場合，中間コードを有するコンテンツ提供サーバ及び中間コードを有さないコンテンツ提供サーバを含む．
【００１６】
また，本発明におけるテーブルとは，ＨＴＭＬなどのマークアップ言語では，<table> タグによって指示されるテーブルレイアウト処理をおこなうべきテーブル要素を意味し，また，中間コードでは，同様にテーブル識別子をもつバイトコードによって指示されるテーブル要素を意味する．また，セルとは，ＨＴＭＬなどのマークアップ言語では <td> もしくは <th> タグによって指示されるテーブル中のセル要素を意味し，また，中間コードでは，同様にセル識別子をもつバイトコードによって指示されるセル要素を意味する．
【００１７】
所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各列について最大となる前記セルの幅から前記各列の幅を求め，求められた列の幅，ブロックの幅及び表示画面幅に関し，
（ブロックの幅＋列の幅）＞ 表示画面幅
が成立するか否かという第１の基準を含んでいても良い．そして，本方法は，第１の基準が成立する場合には列を次のブロックの要素とするように構成されていても良い（請求項２）．
【００１８】
ここで,表示画面幅とは，使用者端末装置における表示装置のもつ物理的な横方向の表示可能ピクセル数を意味するものではなく，同装置において，コンテンツ表示領域として割り当てられた横方向の表示可能ピクセル数のことである．すなわち，
(表示画面幅) ＜＝ (表示装置のもつ物理的な横方向の表示可能ピクセル数)
が成立する．表示画面の高さについても，同様に，使用者端末装置において，コンテンツ表示領域として割り当てられたピクセル数のことである．
【００１９】
所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各列について最大となる前記セルの幅から前記各列の幅を求め，求められた列の幅が所定値以下になっているか，という第２の基準を含んでいても良い．そして，本方法は，前記第１の基準が成立する場合であっても，前記第２の基準が成立する場合には，前記列をブロックの要素とするように構成されていても良い（請求項３）．
【００２０】
また, 本発明に係るテーブルレイアウト方法は，比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内の，テーブルの列の幅に関し所定の判定基準に従って，少なくとも１つの列をブロックとして前記テーブルを分割する列番号を求めるステップと，前記列番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は中間コードを変換するステップと，変換後コンテンツ又は変換後中間コードを使用者端末装置上に表示するステップを備えることを特徴する（請求項４）．
【００２１】
所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各列について最大となる前記セルの幅から前記各列の幅を求め，求められた列の幅，ブロックの幅及び表示画面幅に関し，
（ブロックの幅＋列の幅）＞ 表示画面幅
が成立するか否かという第１の基準を含んでいても良い．そして，本方法は，第１の基準が成立する場合には列を次のブロックの要素とするように構成されていても良い（請求項５）．
【００２２】
所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各列について最大となる前記セルの幅から前記各列の幅を求め，求められた列の幅が所定値以下になっているか，という第２の基準を含んでいても良い．そして，本方法は，前記第１の基準が成立する場合であっても，前記第２の基準が成立する場合には，前記列をブロックの要素とするように構成されていても良い（請求項６）．
【００２３】
また, 本発明に係るテーブルレイアウト方法は，比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内の，テーブルの行の高さに関し所定の判定基準に従って，少なくとも１つの行をブロックとして前記テーブルを分割し，前記ブロックを横方向に並べて表示するテーブルレイアウト処理を行うことを特徴とする（請求項７）．
【００２４】
所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各行について最大となる前記セルの高さから前記各行の高さを求め，求められた行の高さ，ブロックの高さ及び表示画面の高さに関し，
（ブロックの高さ＋行の高さ）＞ 表示画面の高さ
が成立するか否かという第１の基準を含んでいても良い．そして，本方法は，第１の基準が成立する場合には前記行を次のブロックの要素とするように構成されていても良い（請求項８）．
【００２５】
所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各行について最大となる前記セルの高さから前記各行の高さを求め，求められた行の高さが所定値以下になっているか，という第２の基準を含んでいても良い．そして，本方法は，前記第１の基準が成立する場合であっても，前記第２の基準が成立する場合には，前記行をブロックの要素とするように構成されていても良い（請求項９）．
【００２６】
また, 本発明に係るテーブルレイアウト方法は，比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内の，テーブルの行の高さに関し所定の判定基準に従って，少なくとも１つの行をブロックとして前記テーブルを分割する行番号を求めるステップと，前記行番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は中間コードを変換するステップと，変換後コンテンツ又は変換後中間コードを使用者端末装置上に表示するステップを備えることを特徴する（請求項１０）．
【００２７】
所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各行について最大となる前記セルの高さから前記各行の高さを求め，求められた行の高さ，ブロックの高さ及び表示画面の高さに関し，
（ブロックの高さ＋行の高さ）＞ 表示画面の高さ
が成立するか否かという第１の基準を含んでいても良い．そして，本方法は，第１の基準が成立する場合には行を次のブロックの要素とするように構成されていても良い（請求項１１）．
【００２８】
所定の判定基準は，前記テーブルを構成する全てのセルの最小領域を求め，各行について最大となる前記セルの高さから前記各行の高さを求め，求められた行の高さが所定値以下になっているか，という第２の基準を含んでいても良い．そして，本方法は，前記第１の基準が成立する場合であっても，前記第２の基準が成立する場合には，前記行をブロックの要素とするように構成されていても良い（請求項１２）．
【００２９】
また, 本発明に係るテーブルレイアウト方法は，比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを，使用者端末装置上に表示するための方法であって，前記コンテンツ又は前記中間コード内のテーブルを縦方向に並べて表示するか，又は横方向に並べて表示するかを選択するステップと，選択された表示方法に従って，請求項１から請求項１２に記載のテーブルレイアウト方法のいずれか一つを実行することを特徴とする（請求項１３）．
【００３０】
以上述べたレイアウトに関する方法は，コンピュータにより実行されたとき，いずれかの方法が実行されるようなコンピュータプログラムとして構成することができる（請求項１４）．
【００３１】
上記課題を解決するために，本発明に係る端末装置は，比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを表示画面に表示する端末装置であって，前記コンテンツ又は前記中間コードに含まれるテーブルの列の幅に関し所定の判定基準に従って，少なくとも１つの列をブロックとして前記テーブルを分割し，前記ブロックを縦方向に並べて表示する，又は，テーブルの列の高さに関し所定の判定基準に従って，少なくとも１つの行をブロックとして前記テーブルを分割し，前記ブロックを横方向に並べて表示する，という処理を含むテーブルレイアウト処理のいずれか一つを選択して実行するテーブルレイアウト手段を備えることを特徴とする（請求項１５）．
【００３２】
また,本発明に係る端末装置は，比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ又は中間コードを表示画面に表示する端末装置であって，前記コンテンツ又は前記中間コードに含まれるテーブルの列の幅に関し所定の判定基準に従って，少なくとも１つの列をブロックとして前記テーブルを分割する列番号を求める手段と，前記列番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は前記中間コードを変換する手段と，変換後コンテンツ又は変換後中間コードを表示画面に表示する，又は，テーブルの列の高さに関し所定の判定基準に従って，少なくとも１つの行をブロックとして前記テーブルを分割する行番号を求める手段と，前記行番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は前記中間コードを変換する手段と，変換後コンテンツ又は変換後中間コードを表示画面に表示する，という処理を含むテーブルレイアウト処理のいずれか一つを選択して実行するテーブルレイアウト手段をさらに備えることを特徴とする（請求項１６）．
【００３３】
上記課題を解決するために，本発明に係るコンテンツ提供システムは，コンテンツ提供サーバ又は中間コードサーバが該当コンテンツを使用者端末装置へ提供するコンテンツ提供システムであって，前記コンテンツ又は前記中間コードがテーブルを含む場合，コンテンツ提供サーバ又は中間コードサーバから変換サーバがコンテンツの提供を受け，前記コンテンツの変換を行う手段と，前記変換後コンテンツをコンテンツ提供サーバ又は中間コードサーバが前記使用者端末装置へ提供する手段とを備えることを特徴とする（請求項１７）．
【００３４】
また, 本発明に係るコンテンツ提供システムは，コンテンツ提供サーバ又は中間コードサーバが該当コンテンツを使用者端末装置へ提供するコンテンツ提供方法であって，前記コンテンツ又は前記中間コードがテーブルを含む場合，コンテンツ提供サーバ又は中間コードサーバから変換サーバがコンテンツの提供を受け，前記コンテンツの変換を行うステップと，前記変換後コンテンツをコンテンツ提供サーバ又は中間コードサーバが前記使用者端末装置へ提供するステップとを備えることを特徴とする（請求項１８）．
【００３５】
また,本発明に係るテーブル再構成プログラムは，コンテンツ提供サーバ又は中間コードサーバが使用者端末装置へ提供する該当コンテンツがテーブルを含む場合，前記コンテンツ又は前記中間コードを変換するプログラムであって，少なくとも１つの列をブロックとして前記テーブルを分割する列番号を求めるステップと，前記列番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は中間コードを変換するステップと，少なくとも１つの行をブロックとして前記テーブルを分割する行番号を求めるステップと，前記行番号をもとに前記テーブルを分割されるブロックからなる少なくとも１つのテーブルになるように，前記コンテンツ又は中間コードを変換するステップとを備えることを特徴とする（請求項１９）．
【発明の効果】
【００３６】
以上述べたように，本発明によれば，ＰＣ等の比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツ中に表示データの配列に意味を持つ情報が含まれる場合に，これらの表示データの配列が持つ意味を維持しつつ，使用者端末装置の表示画面に表示を行うことができる．
【発明を実施するための最良の形態】
【００３７】
第１実施形態
以下，本発明を実施する場合の第１実施形態を，図面を参照して具体的に説明する．
図１は，本発明の第１実施形態に関わるシステム構成図である．インターネット１０２には，中間コードを有するコンテンツ提供サーバ１００，中間コードを有さないコンテンツ提供サーバ１０１，中間コードサーバ１０７，インターネットテレビ，冷蔵庫，家庭内電話機，ＦＡＸ装置などの情報家電１０５，パーソナルコンピュータ１０６が接続されている．また，携帯電話機やＰＤＡなどの携帯端末機１０４は，ゲートウェイ１０３を経由しインターネット１０２に接続されている．
【００３８】
携帯端末機１０４，情報家電１０５，及びパーソナルコンピュータ１０６は，それぞれ以下で説明する機能を実現するブラウザプログラムを搭載している．
【００３９】
コンテンツ提供サーバ１００は，中間コードを含むコンテンツを提供する．コンテンツ提供サーバ１０１は，中間コードを有さずコンピュータ使用者向けに作成されたコンテンツを提供する．
【００４０】
中間コードサーバ１０７は，使用者端末装置１０４，１０５，１０６からの要求を受けてコンテンツ提供サーバ１００，１０１からコンテンツ情報を取得し，必要があれば中間コードに変換を行い使用者端末装置へコンテンツを提供する．図２に中間コードサーバ１０７の構造がより具体的に図示されている．
【００４１】
本発明の第１実施形態の中間コードサーバ１０７は，図２に示されているように，データコントロール部２０１，コンテンツ変換部２０２，中間コード生成部２０３，データキャッシュ部２０４，及び登録サーバＤＢ２０５を含む．
【００４２】
コンテンツ変換部２０２は，コンテンツ提供サーバから提供されたコンテンツを使用者端末装置１０４，１０５，１０６の要求に応じてコンテンツの変換をおこなうものであって，コンテンツデータが画像データである場合には，画像サイズの変換又は画像種別の変換又はアンチエイリアス処理を行い，動画像の場合には特定のフレームからなる静止画像への変換等といった，使用者端末装置１０４，１０５，１０６が要求する所定の形式への変換を行う．変換する対象が画像である場合，画像サイズの変換は，使用者端末装置１０４，１０５，１０６が指定するサイズに変換するか，あらかじめ定められたルールに従って変換するか，或いはサイズの変換を行わずにコンテンツ提供サーバから提供された画像データサイズを保持する．
【００４３】
中間コード生成部２０３は，コンテンツ提供サーバから提供されたコンテンツデータを中間コードに変換し中間コードを生成する．このとき，コンテンツ提供サーバから提供されるコンテンツデータは，ＨＴＭＬや ＣＨＴＭＬなどのマークアップ言語などで記述されている．中間コードは冗長なデータを削除し極めて少ないデータとして表現したものであって，データの軽量化を可能とする．このため，トラフィックの軽減を可能とし，データ送受信速度が比較的遅いネットワーク環境下であっても，効率的なコンテンツの提供を可能とする．
【００４４】
データキャッシュ部２０４は，コンテンツ提供サーバから提供された中間コード，画像データなどのコンテンツデータ，もしくは，コンテンツ変換部２０２で使用者端末装置１０４，１０５，１０６の指定する形式に変換された画像などを含むコンテンツデータ，中間コード生成部２０３で生成された中間コードが登録されている．登録されたデータは，データのアクセス頻度に応じて削除される．このため，無駄な中間コードの生成や画像変換を避けることができるため，中間コードサーバ１０７の負荷を軽減することができる．また，無駄なデータ領域の確保を避けることもできる．
【００４５】
登録サーバＤＢ２０５は，中間コードを有するコンテンツ提供サーバが登録されている．図１では，コンテンツ提供サーバ１００が登録サーバＤＢ２０５に登録されている．
【００４６】
データコントロール部２０１は，中間コードサーバ１０７を通過する情報を監視し，必要があればコンテンツ変換部２０２或いは中間コード生成部２０３を呼び出す．送受信可能なデータサイズに制限のある使用者端末装置に対しては，そのデータサイズに応じた分割を行いデータの送信を行う．
【００４７】
ここに，中間コードサーバ１０７やコンテンツ提供サーバ１００，１０１は，一台のコンピュータではなく，複数台のコンピュータで構成される場合もある．
【００４８】
図３は，本発明の第１実施形態に関する使用者端末装置の構成を示すブロック図である．図３(a)は携帯端末機１０４，図３(b)はＰＣ１０６のそれぞれ一例を示している．また，図４は，使用者端末装置のＣＰＵ３０１の制御下で動作する閲覧ソフトウェアであるブラウザ４００の機能構成を示すブロック図である．
【００４９】
図３(a)に示す携帯端末機１０４は，装置を制御するＣＰＵ３０１，装置に所定の動作を行わせるための各種プログラムが格納されたＲＯＭ（Read Only Memory）３０２，データを一時的に記憶するＲＡＭ（Random Access Memory）３０３，ネットワークインタフェース３０４，液晶ディスプレイ等の表示装置３０５，入力装置３０６から構成される．
【００５０】
ＲＯＭ３０２には，以下で説明するブラウザの機能を実現するプログラムが格納されており，ユーザが入力装置３０６を用いて所定の操作を行ったときにブラウザ４００が起動する．また，前記プログラムは外部の装置（例えば，コンテンツプロバイダのサーバ等）から提供され，ＣＰＵ３０１がこれをＲＡＭ３０３に読み出して実行する構成であっても良い．
【００５１】
図３(b)に示すＰＣ１０６は，ハードディスク３０７，磁気ディスク，光ディスク，光磁気ディスク，ＣＤ（Compact Disc），ＤＶＤ（Digital Video Disc）等のコンピュータ読み取り可能なプロクラム記録媒体からデータを読み取る読取装置３０８をさらに含む．
【００５２】
ハードディスク３０７には，以下で説明するブラウザの機能を実現するプログラムが格納されており，ＣＰＵ３０１がこれをＲＡＭ３０３に読み出して実行する．また，前記プログラムは必ずしもハードディスクに格納されていなくともよく，上記コンピュータ読み取り可能なプロクラム記録媒体や，外部の装置（例えば，ＡＳＰ（アプリケーション・サービス・プロバイダのサーバなど）から提供され，ＲＡＭ３０３に読み出して実行する構成であっても良い．
【００５３】
図４に示すように，ブラウザ４００はＨＴＭＬ解析部４０２，中間コード解析部４０４，レイアウト処理部４０６を備えている．ＨＴＭＬ解析部４０２は，ネットワークインタフェース３０４を介して取得されるＨＴＭＬ文書４０１の解析を行い，複数存在するタグを解釈し，プログラムの処理に適したデータ形式（以下，「内部コード」と呼ぶ）に変換する．中間コード解析部４０４は，ネットワークインタフェース３０４を介して取得される中間コード４０３の解析を行い，内部コードに変換する．次に，レイアウト処理部４０６は，内部コード４０５を基に表示画面幅などの実際の表示装置３０５に関する情報を用いてレイアウトを行う．つまり，内部コード４０５を実際の表示装置３０５に配置していき，文字の折り返しや，画面上の位置，幅，高さを決定する．以上のような処理を経て，ＨＴＭＬ文書４０１又は中間コード４０３が表示装置３０５に表示される．
【００５４】
さらに，レイアウト処理部４０６は，コンテンツ提供サーバ１００，１０１,又は中間コードサーバ１０７から提供されたコンテンツがテーブルを含む場合，そのテーブルの２次元的な意味が失われないようなテーブルレイアウト処理を行う．
【００５５】
テーブルレイアウト処理を示す処理フローを図５及び図６を用いて説明する．図５は，テーブルレイアウト処理を表したフローチャートである．
【００５６】
テーブルレイアウト処理で決定されるセルの表示位置は，テーブルレイアウトを行う開始点からの相対位置であり，表示装置３０５に物理的にレイアウトされる表示位置ではない．以下，使用者端末装置が，表示画面の横方向の画素数が２４０ピクセルであり，この表示画面の描画可能領域とレイアウト処理が対象とする表示画面領域が等しい携帯電話機であると仮定して説明を行う．
【００５７】
最初に，画像やテキストを含むテーブルについて，テーブルを構成する全てのセルの最小領域（矩形）を算出する．セルの最小領域は，セルの最小幅が，０ <=（セルの最小幅）<=（画面幅）を満たすものとする．このとき，事前にセルのサイズ指定があれば，そのサイズをセル幅としてもよい．ただし，このセル幅は前記条件式を満たさなくてはならない．また，セルが画像を含むとき，画像の幅は前記条件式の通り画面幅を超えないように所定のルールに従って縮小する．例えば画像の幅及び高さが所定のサイズ（例えば４８ピクセル）以下であれば画像をそのまま表示する．画像の幅或いは高さが所定のサイズを超える場合は，画像の幅及び高さを半分にして表示する．このとき半分にしたサイズが画面幅を超える場合は画面幅に合わせて縮小を行う．また画像の縮小を行った場合，アンチエイリアス処理も併せて行うことにより，画質の低下を抑えることができる．セルがセル内にテーブルを含む場合には，セル内に配置されたテーブル（以下，「内包的テーブル」と呼ぶ）について本テーブルレイアウト処理を再帰的に適用し，求められた内包的テーブルのそれぞれのブロックについての横方向の最大値，および縦方向の長さを，それぞれ本セルの幅，および高さと決定し，最小領域を算出する（Ｓ５０１）．
【００５８】
例えば，使用者端末装置が取得したコンピュータ使用者向けのＨＴＭＬ文書が，図７のような内容であったとする．図７のＨＴＭＬ文書は，テキスト及び画像の両方を含むデータから構成されるテーブルを含んでいる．図７に示されたＨＴＭＬ文書をＰＣで表示した場合，ＰＣは十分な表示画面幅を有するので，図８のように４行１４列からなるテーブルの１４列を全て表示画面の横方向に配列して表示することができる．
【００５９】
図７のＨＴＭＬ文書に含まれるテーブルにおいて，画像“star.gif”（幅４２ピクセル，高さ４２ピクセルとする）を含むセルの最小領域は次のように算出される．幅及び高さの両方とも４２ピクセルであるので，所定のサイズ（４８ピクセル）を超えず，かつ使用者端末装置の表示画面幅２４０ピクセル以下であるため，このセルの最小領域は幅４２ピクセル高さ４２ピクセルの矩形となる．
【００６０】
Ｓ５０１で算出した全てのセルの最小領域をもとに，テーブルを構成する各列に注目し，各列を構成するセルの中で最大の幅を持つセルの幅を，それぞれテーブルの各列の幅とする（Ｓ５０２）．
【００６１】
図７のＨＴＭＬ文書に含まれるテーブルにおいて，例えば２列目に注目する．２列目を構成するセルの幅が，それぞれ３０ピクセル，４２ピクセル，２０ピクセル，２０ピクセルとすると，最大のセル幅は４２ピクセルとなるので，２列目の列の幅は４２ピクセルとなる．
【００６２】
Ｓ５０２で算出した各列の幅を利用して，各セルを表示するための表示領域を決定する（Ｓ５０３）．Ｓ５０３における各セルの表示領域決定処理フローを図６を用いて説明する．
【００６３】
最初に，表示対象となる列を要素とするブロックの幅に列の幅を加えた値が，使用者端末装置の表示画面幅以下の場合（Ｓ６０１：ＮＯ），その列を表示対象となるブロックの要素とする（Ｓ６０２）．列が，テーブルを構成する最後の列の場合（Ｓ６０３：ＹＥＳ），処理はＳ６０４に進む．列が，テーブルを構成する最後の列でない場合（Ｓ６０３：ＮＯ），処理はＳ６０８に進む．Ｓ６０８では，全ての列について表示領域が決定したかどうかを判定する．全ての列について表示領域が決定していない場合（Ｓ６０８：ＮＯ），処理はＳ６０１に移り，残りの列についての処理が行われる．
【００６４】
ブロックの幅に列の幅を加えた値が，使用者端末装置の表示画面幅より大きい場合（Ｓ６０１：ＹＥＳ），表示対象となる１列或いは複数列からなるブロックにおいて，そのブロックを構成するセルの中で最大の高さを持つセルの高さを，各行について算出する（Ｓ６０４）．
【００６５】
図７のＨＴＭＬ文書に含まれるテーブルにおいて，５列目までが表示対象となるブロックとする．例えば２行目に注目する．２行目を構成するセルの高さが，それぞれ２０ピクセル，４２ピクセル，４２ピクセル，４２ピクセル，４２ピクセルとすると，最大のセルの高さは４２ピクセルとなるので，２行目の行の高さは４２ピクセルとなる．
【００６６】
Ｓ５０２で算出した各列の幅及びＳ６０４で算出した各行の高さを利用して，使用者端末装置の表示画面における，表示対象となるブロックを構成する各セルの表示領域を算出する（Ｓ６０５）．
【００６７】
表示対象となるブロックの高さを算出する．このブロックの高さは，Ｓ６０４において算出した各行の高さの総和により算出することができる（Ｓ６０６）．
【００６８】
列を次のブロックの要素とする．また，ブロックの表示位置にＳ６０６で算出したブロックの高さを加えた値を次のブロックの表示位置とする（Ｓ６０７）．
【００６９】
以上のように，全ての列についての表示位置の算出が終了するまで，Ｓ６０１からＳ６０７の処理を繰り返す．全ての列についての表示位置の算出が終了した場合（Ｓ６０８：ＹＥＳ），Ｓ５０４に移る．
【００７０】
Ｓ５０３において算出した，各セルの表示領域を利用して，使用者端末装置の表示画面に各セルを表示する（Ｓ５０４）．尚，背景色等のセルに関する各種修飾情報は，そのまま残す形で画面表示を行う．
【００７１】
各ブロックに分割されたテーブルのそれぞれのブロックは，テーブルが分割されていない状態でテーブル全体をレイアウトするために用いられる位置指定の方法，例えばセンタリング等に従ってそれぞれのブロックをレイアウトする．ユーザからの指定があれば，分割を明示的に示すために，折り返されたテーブルの最大幅の中で，すべてのブロックを左詰表示してもよい．
【００７２】
図９は，図７で示したＨＴＭＬ文書（ＰＣにおける表示例は図８）について，上記テーブルレイアウト処理を行った場合の表示例である．テーブルが持つ２次元的配列の意味を保持したまま，表示画面幅に合わせてテーブルが折り返されて表示されている．そのため,テーブルが持つ２次元的意味が損なわれず，ユーザにとって非常に理解し易い表示が実現されている．
【００７３】
図１０は，図７で示したＨＴＭＬ文書について,テーブルの一つの行の行方向において隣り合わせに配列されるべき２以上のセルを一つの行方向に並べて表示する，というテーブルレイアウト処理を行った場合の表示例である．テーブルが持つ２次元的配列の意味が失われているため,ユーザにとって理解しにくく見にくい表示となっている．また, 図７で示したＨＴＭＬ文書について，一律にセルを縦方向に分割して表示した場合，ユーザがテーブルの２次元的配列の意味を理解することは，もはや不可能と言ってもよい．上記により，本実施形態におけるテーブルレイアウト処理による表示結果（図９）が，ユーザにとってより好適な表示である．
【００７４】
ここで，上記図６に示した各セルの表示領域決定処理の変形例について，図１１(a)乃至図１１(c)に示す例を用いて説明する．上記セルの表示領域決定処理では，表示画面幅に表示可能な列を表示対象ブロックとし，表示画面幅に表示できない列は，テーブルを折り返した次の表示対象ブロックの要素となる．それに対して，この変形例では，表示画面幅に表示しきれないと判断された列も，所定の条件を満たすならば表示対象ブロックの要素とする．
【００７５】
図１１(a)は，レイアウト処理を行うテーブルの例である．図１１(a)に示されているように，表示画面幅に表示可能な列はＣ１のみであるため，図５及び図６に示したテーブルレイアウト処理を用いると，図１１(a)は図１１(b)のような折り返しが行われテーブルが表示される．変形例は，Ｃ２及びＣ３の列もＣ１が含まれる表示対象ブロックとして扱う．
【００７６】
具体的には，列Ｃ１の幅が所定の幅（例えば２４ピクセル）より小さい場合，その次の列Ｃ２も表示対象とする．さらに，その次の列Ｃ３に対しても，所定の幅より列幅が小さい場合，Ｃ３も表示対象とする．このとき，列Ｃ３については，最後の列であるかどうかの判定を追加して処理を行ってもよい．以上のように表示領域の決定を行うと，図１１(a)は図１１(c)に示すように，折り返しが行われること無く，表示画面幅に合わせて縮小処理を行いテーブルが表示される．
【００７７】
このとき，縮小処理は全列を等しい縮小率で縮小してもよい．また，各列について，所定の縮小率で縮小してもよい．
【００７８】
第２実施形態
以下，本発明を実施する場合の第２実施形態を，図面を参照して具体的に説明する．
第１実施形態は，コンテンツ提供サーバから取得したＨＴＭＬ文書又は中間コードをもとに，テーブルのレイアウト処理を行うものであった．第２実施形態では，取得したＨＴＭＬ文書又は中間コード自身をブラウザが変換することにより，テーブルのレイアウト処理を行う．
【００７９】
したがって，第２実施形態におけるシステム構成，使用者端末装置の構成は第１実施形態と同等である．
【００８０】
図１２に示すように，ブラウザ１２００はＨＴＭＬ解析部１２０２，中間コード解析部１２０４，テーブルレイアウト解析部１２０６，ＨＴＭＬ再構成部１２０７，中間コード再構成部１２０９を備えている．ＨＴＭＬ解析部１２０２は，ネットワークインタフェース３０４を介して取得されるＨＴＭＬ文書１２０１の解析を行い，複数存在するタグを解釈し，プログラムの処理に適したデータ形式（以下，「内部コード」と呼ぶ）に変換する．中間コード解析部１２０４は，ネットワークインタフェース３０４を介して取得される中間コード１２０３の解析を行い，内部コードに変換する．
【００８１】
次に，テーブルレイアウト解析部１２０６は，内部コード１２０５を基に表示画面幅などの実際の表示装置３０５に関する情報を用いてレイアウトを行った場合の，テーブルの折り返し位置を決定する．ＨＴＭＬ再構成部１２０７又は中間コード再構成部１２０９は，テーブルレイアウト解析部１２０６で算出されたテーブル折り返し位置をもとに，取得したＨＴＭＬ文書１２０１又は中間コード１２０３を変換し，変換後ＨＴＭＬ文書１２０８又は変換後中間コード１２１０を生成する．ＨＴＭＬ解析部１２０２，中間コード解析部１２０４は，変換後ＨＴＭＬ文書１２０８,変換後中間コード１２１０の解析をそれぞれ行い内部コード１２０５に変換する．レイアウト処理部１２１１は，内部コード１２０５をもとに表示画面幅などの実際の表示装置３０５に関する情報を用いてレイアウトを行う．以上のような処理を経て，変換後ＨＴＭＬ文書１２０８又は変換後中間コード１２１０が表示装置３０５に表示される．
【００８２】
テーブルレイアウト処理で決定されるセルの表示位置は，テーブルレイアウトを行う開始点からの相対位置であり，表示装置３０５に物理的にレイアウトされる表示位置ではない．以下，使用者端末装置が，表示画面の横方向の画素数が２４０ピクセルであり，この表示画面の描画可能領域とレイアウト処理が対象とする表示画面領域が等しい携帯電話機であると仮定して説明を行う．
【００８３】
テーブルレイアウト解析処理を示す処理フローを図１３を用いて説明する．図１３は，テーブルレイアウト解析処理を表したフローチャートである．
【００８４】
最初に，画像やテキストを含むテーブルについて，テーブルを構成する全てのセルの最小領域（矩形）を算出する．セルの最小領域は，セルの最小幅が，０ <=（セルの最小幅）<=（画面幅）を満たすものとする．このとき，事前にセルのサイズ指定があれば，そのサイズをセル幅としてもよい．ただし，このセル幅は前記条件式を満たさなくてはならない．また，セルが画像を含むとき，画像の幅は前記条件式の通り画面幅を超えないように所定のルールに従って縮小する．例えば画像の幅及び高さが所定のサイズ（例えば４８ピクセル）以下であれば画像をそのまま表示する．画像の幅或いは高さが所定のサイズを超える場合は，画像の幅及び高さを半分にして表示する．このとき半分にしたサイズが画面幅を超える場合は画面幅に合わせて縮小を行う．また画像の縮小を行った場合，アンチエイリアス処理も併せて行うことにより，画質の低下を抑えることができる．セルがセル内にテーブルを含む場合には，セル内に配置されたテーブル（以下，「内包的テーブル」と呼ぶ）について本テーブルレイアウト処理を再帰的に適用し，求められた内包的テーブルのそれぞれのブロックについての横方向の最大値，および縦方向の長さを，それぞれ本セルの幅，および高さと決定し，最小領域を算出する（Ｓ１３０１）．
【００８５】
Ｓ１３０１で算出した全てのセルの最小領域をもとに，テーブルを構成する各列に注目し，各列を構成するセルの中で最大の幅を持つセルの幅を，それぞれテーブルの各列の幅とする（Ｓ１３０２）．
【００８６】
Ｓ１３０３からＳ１３０７により，テーブルの折り返し位置を算出する．最初に，ブロックの幅に列の幅を加えた値が，使用者端末装置の表示画面幅以下の場合（Ｓ１３０３：ＮＯ），列を表示対象ブロックの要素とする（Ｓ１３０４）．
【００８７】
ブロックの幅に列の幅を加えた値が，使用者端末装置の表示画面幅より大きい場合（Ｓ１３０３：ＹＥＳ），その列の列の番号，すなわちテーブルを折り返す列番号を記憶する（Ｓ１３０５）．列を次のブロックの要素とする（Ｓ１３０６）．
【００８８】
全ての列について解析が終了したか判定する．全ての列についての解析が終了していない場合（Ｓ１３０７：ＮＯ），解析が終了するまでＳ１３０３からＳ１３０６の処理を繰り返す．全ての列について解析終了した場合（Ｓ１３０７：ＹＥＳ），レイアウト処理解析の処理を終了する．
【００８９】
上記，セルのレイアウト解析処理により算出したテーブルを折り返す位置を示す列番号をもとに，ＨＴＭＬ文書又は中間コードが含むテーブルを，テーブルを折り返すことにより分割されるブロックからなる１以上のテーブルになるように，ＨＴＭＬ文書又は中間コードを変換する．
【００９０】
ここで変換されたそれぞれのブロックは，テーブルが分割されていない状態でテーブル全体をレイアウトするために用いられる位置指定の方法，例えばセンタリング等に従ってそれぞれのブロックをレイアウトする．ユーザからの指定があれば，分割を明示的に示すために，折り返されたテーブルの最大幅の中で，すべてのブロックを左詰表示してもよい．
【００９１】
図７で示したＨＴＭＬ文書をＰＣで表示すると，図８のように表示される．上記テーブルレイアウト解析処理を行った場合，６列目及び１１列目でテーブルを折り返すことが算出される．つまり,図８に示したテーブルは図９のように３つに分割されたブロックとなることが分かる．よって，図７で示されたＨＴＭＬ文書に記述されたテーブルを，３つのブロックが３つのテーブルとなるように変換すればよい．
【００９２】
図１４は，図７で示されたＨＴＭＬ文書について,上記テーブルレイアウト解析処理及びテーブル再構成処理を行い，３つのテーブルとして変換された後の例である．このように変換されたＨＴＭＬ文書を使用者端末装置の表示画面へ表示した場合，図９のように表示される．上記の方法により，第１実施形態におけるテーブルレイアウト処理の結果と同様な表示結果を得ることができる．
【００９３】
ここで，上記図１３に示したテーブル折り返し位置算出処理の変形例について，図１１(a)乃至図１１(c)に示す例を用いて説明する．上記テーブル折り返し位置算出処理では，表示画面幅に表示可能な列を表示対象ブロックとし，表示画面幅に表示できない列をテーブルを折り返す列として記憶する．それに対して，この変形例では，表示画面幅に表示しきれないと判断された列も，所定の条件を満たすならば表示対象ブロックの要素とする．
【００９４】
図１１(a)は，レイアウト処理を行うテーブルの例である．図１１(a)に示されているように，表示画面幅に表示可能な列はＣ１のみであるため，図１３に示したレイアウト解析処理を用いると，図１１(a)は図１１(b)のような折り返しが行われテーブルが表示される．変形例は，Ｃ２及びＣ３の列もＣ１が含まれる表示対象ブロックとして扱う．
【００９５】
具体的には，列Ｃ１の幅が所定の幅（例えば２４ピクセル）より小さい場合，その次の列Ｃ２も表示対象とする．さらに，その次の列Ｃ３に対しても，所定の幅より列幅が小さい場合，列Ｃ３も表示対象とする．このとき，列Ｃ３については，最後の列であるかどうかの判定を追加して処理を行ってもよい．以上のようにテーブル折り返し位置の決定を行うと，図１１(a)は図１１(c)に示すように，折り返しが行われること無く，表示画面幅に合わせて縮小処理を行いテーブルが表示される．
【００９６】
このとき，縮小処理は全列を等しい縮小率で縮小してもよい．また，各列について，所定の縮小率で縮小してもよい．
【００９７】
第３実施形態
以下，本発明を実施する場合の第３実施形態を，図面を参照して具体的に説明する．
第２実施形態では，使用者端末装置において，取得したＨＴＭＬ文書又は中間コード自身をブラウザが変換することにより，テーブルのレイアウト処理を行うものであった．第３実施形態では，使用者端末装置から要求を受けたコンテンツをあらかじめサーバ側でテーブルレイアウトを考慮した変換を行い，使用者端末装置へ提供を行う．
【００９８】
したがって，第３実施形態における使用者端末装置の構成，テーブル再構成処理の構成は第２実施形態と同等である．
【００９９】
図１５は，本発明の第３実施形態に関わるシステム構成図である．以下では，図１に示したシステム構成と重複する説明は省略する．
【０１００】
変換サーバ１０８は，中間コードを有するコンテンツ提供サーバ１００，中間コードを有さないコンテンツ提供サーバ１０１，中間コードサーバ１０７それぞれと同じＬＡＮ（Local Area Network）に存在している．ここで，変換サーバ１０８はインターネット１０２に接続してもよい．
【０１０１】
変換サーバ１０８は，第２実施形態と同様に，使用者端末装置から要求を受けたＨＴＭＬ文書又は中間コードを，使用者端末装置の表示装置に適したレイアウトを行うように変換する．図１６に変換サーバ１０８の構造がより具体的に図示されている．
【０１０２】
以下では，図１２に示した機能ブロックと重複する説明は省略する．変換後ＨＴＭＬ文書又は変換後中間コードは，コンテンツ提供サーバ１００，１０１又は中間コードサーバ１０７から使用者端末装置に提供される．ここで，変換サーバ１０８の機能はコンテンツ提供サーバ１００，１０１，中間コードサーバ１０７に備えることもできる．
【０１０３】
本発明は，テーブルの例に限らず，ＰＣ用に作成されたコンテンツ中に表示データの配列に意味を持つ情報が含まれる場合に，これらの表示データの配列が持つ意味を維持できるように表示を行うことに適用することが可能である．
【０１０４】
尚，上述の実施形態は，ＰＣ用に作成されたコンテンツを携帯電話機で閲覧する例であった．ＰＣ用に限らず，大画面で且つ高解像度なデータ放送用テレビ及びインターネットテレビのように，比較的大きな表示画面サイズを有する装置を対象として作成されたコンテンツを，その表示画面サイズよりも小さな表示サイズで閲覧するための構成としても，本発明を適用することができる．また,ＰＣでコンテンツを閲覧する場合，画面に表示されたブラウザのウインドウサイズに応じてレイアウト処理を行うようにして，本発明を適用することができる．
【０１０５】
更に，上述の実施形態のテーブルレイアウト処理は，横軸に注目したテーブルレイアウト処理を行っている．これに替えて，縦軸に注目したテーブルレイアウト処理を行う構成も容易に実現できる．つまり，列単位ではなく，行単位で所定の高さ（例えば，表示画面の高さ）を超える場合，テーブルを分割することである．例えば，図１７(a)のようなテーブルを，横軸に注目してテーブルレイアウト処理を行うと，図１７(b)のように列単位でテーブルが分割される．縦軸に注目してテーブルレイアウト処理を行うと，図１７(c)のように行単位でテーブルが分割される．上述の実施形態におけるコンテンツ提供者は，インターネットを通じてコンテンツを提供するが，その他にも他の形態のネットワークを通じてコンテンツを提供することもできる．
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１実施形態によるコンテンツ提供システムの概要を示す図．
【図２】図１に示された中間コードサーバの構造を具体的に示した図．
【図３（ａ）】本発明の第１実施形態による使用者端末装置の構成例を示すブロック図．
【図３（ｂ）】本発明の第１実施形態による使用者端末装置の構成例を示すブロック図．
【図４】図３の使用者端末装置のＣＰＵの制御下で動作する閲覧ソフトウェアであるブラウザの機能をブロック単位で表した図．
【図５】図４のブラウザの機能としてのテーブルレイアウト処理の動作を示す図．
【図６】図５に示された各セルの表示領域を決定する処理の動作を具体的に示した図．
【図７】ＰＣ用に作成されたＨＴＭＬ文書の例を示す図．
【図８】図７のＨＴＭＬ文書をＰＣで表示した場合の例を示す図．
【図９】図７のコンテンツについて本発明の第１実施形態によるテーブルレイアウト処理を行った場合の表示画面の例を示す図．
【図１０】図７のＨＴＭＬ文書のテーブルを，一つの行の行方向において隣り合わせに配列されるべき２以上のセルを一つの行方向に並べて表示する場合の比較例を示す図．
【図１１（ａ）】処理の対象となったテーブルの例を示す図．
【図１１（ｂ）】本発明の第１実施形態によるテーブルレイアウト処理により図１１(a)のテーブルを処理して表示画面上に表示した場合の例を示す図．
【図１１（ｃ）】本発明の第１実施形態によるテーブルレイアウト処理の変形例により図１１(a)のテーブルを処理して表示画面上に表示した場合の例を示す図．
【図１２】本発明の第２実施形態によるブラウザの機能をブロック単位で表した図．
【図１３】図１２に示されたレイアウト解析部の動作を具体的に示した図．
【図１４】図７のコンテンツを図１２に示されたＨＴＭＬ再構成部により変換した変換後コンテンツの例を示す図．
【図１５】本発明の第３実施形態によるコンテンツ提供システムの概要を示す図．
【図１６】図１５に示された変換サーバの構造を具体的に示した図．
【図１７（ａ）】処理の対象となったテーブルの例を示す図．
【図１７（ｂ）】横軸に注目したテーブルレイアウト処理により図１７(a)のテーブルを処理して表示画面上に表示した場合の例を示す図．
【図１７（ｃ）】縦軸に注目したテーブルレイアウト処理により図１７(a)のテーブルを処理して表示画面上に表示した場合の例を示す図．
【符号の説明】
【０１０７】
１００，１０１    コンテンツ提供サーバ
１０２    インターネット
１０３    ゲートウェイ
１０４    携帯端末機
１０５    情報家電
１０６    パーソナルコンピュータ
１０７    中間コードサーバ
１０８    変換サーバ
２０１    データコントロール部
２０２    コンテンツ変換部
２０３    中間コード生成部
２０４    データキャッシュ部
２０５    登録サーバＤＢ
３０１    ＣＰＵ
３０２    ＲＯＭ
３０３    ＲＡＭ
３０４    ネットワークインタフェース
３０５    表示装置
３０６    入力装置
３０７    ハードディスク
３０８    読取装置
４０２，１２０２    ＨＴＭＬ解析部
４０３，１２０４    中間コード解析部
４０６，１２１１    レイアウト処理部
１２０６    テーブルレイアウト解析部
１２０７    ＨＴＭＬ再構成部
１２０９    中間コード再構成部
【図１】
2006127082.tif 000003
【図２】
2006127082.tif 000004
【図３（ａ）】
2006127082.tif 000005
【図３（ｂ）】
2006127082.tif 000006
【図４】
2006127082.tif 000007
【図５】
2006127082.tif 000008
【図６】
2006127082.tif 000009
【図７】
2006127082.tif 000010
【図８】
2006127082.tif 000011
【図９】
2006127082.tif 000012
【図１０】
2006127082.tif 000013
【図１１（ａ）】
2006127082.tif 000014
【図１１（ｂ）】
2006127082.tif 000015
【図１１（ｃ）】
2006127082.tif 000016
【図１２】
2006127082.tif 000017
【図１３】
2006127082.tif 000018
【図１４】
2006127082.tif 000019
【図１５】
2006127082.tif 000020
【図１６】
2006127082.tif 000021
【図１７（ａ）】
2006127082.tif 000022
【図１７（ｂ）】
2006127082.tif 000023
【図１７（ｃ）】
2006127082.tif 000024