(57)【要約】【課題】ＰＣ用ｗｅｂページを比較的忠実にモバイル用ｗｅｂページに変換することを可能とする。【解決手段】変換サーバ１５０は、モバイル端末１１０からＰＣ用マークアップ言語文書のリクエストを受けると、リクエストされたＰＣ用マークアップ言語文書をＰＣ用ｗｅｂサーバ１３０から取得してレンダリングし、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認する。ついで、確認された各表示要素およびその配置座標に基づいてＰＣ用マークアップ言語文書を、前記モバイル端末の仕様に対応して表示要素の配置替えを行ったモバイル用マークアップ言語文書に変換する。【選択図】図１
2009163326.tif 000002
【特許請求の範囲】
【請求項１】
第１のマークアップ言語で記述された第１マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得する手段と、
取得された第１マークアップ言語文書と前記データおよびプログラムの少なくとも一方とをレンダリングし、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認する手段と、
確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第２のマークアップ言語で記述された第２マークアップ言語文書に変換する手段と、
変換された第２マークアップ言語文書を記憶する手段と
を備えたことを特徴とするマークアップ言語文書変換装置。
【請求項２】
前記第１のマークアップ言語はＰＣ用のマークアップ言語であり、前記第２のマークアップ言語は非ＰＣ用のマークアップ言語であり、前記変換は個々の非ＰＣ端末の仕様に対応して行われる請求項１に記載のマークアップ言語文書変換装置。
【請求項３】
第１のマークアップ言語で記述された第１マークアップ言語文書のリクエストを受けるステップと、
リクエストされた第１のマークアップ言語で記述された第１マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得するステップと、
取得された第１マークアップ言語文書および前記データおよびプログラムの少なくとも一方をレンダリングするステップと、
規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認するステップと、
確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第２のマークアップ言語で記述された第２マークアップ言語文書に変換するステップと
を備えたことを特徴とするマークアップ言語文書変換方法。
【請求項４】
前記第１のマークアップ言語はＰＣ用のマークアップ言語であり、前記第２のマークアップ言語は非ＰＣ用のマークアップ言語であり、前記変換は個々の非ＰＣ端末の仕様に対応して行われる請求項３に記載のマークアップ言語文書変換方法。
【請求項５】
第１のマークアップ言語で記述された第１マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とをレンダリングするステップと、
規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認するステップと、
確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第２のマークアップ言語で記述された第２マークアップ言語文書に変換するステップと
をコンピュータに実行させることを特徴とするマークアップ言語文書変換プログラム。
【請求項６】
前記第１のマークアップ言語はＰＣ用のマークアップ言語であり、前記第２のマークアップ言語は非ＰＣ用のマークアップ言語であり、前記変換は個々の非ＰＣ端末の仕様に対応して行われる請求項３に記載のマークアップ言語文書変換プログラム。
【請求項７】
所定の条件に基づいて横並びの複数の表示要素を縦並びに変換し、かつ、それらの複数の表示要素を折り畳むステップをさらに含む請求項３に記載のマークアップ言語文書変換プログラム。
【請求項８】
折り畳み状態を非折り畳み状態に切り替える、または、非折り畳み状態を折り畳み状態に切り替えるための記述を前記第２マークアップ言語文書内に含める請求項７に記載のマークアップ言語文書変換プログラム。
【請求項９】
前記変換するステップは、前記非ＰＣ端末の仕様に応じて前記第２マークアップ言語文書のページ分割を行うステップを含む請求項５に記載のマークアップ言語文書変換プログラム。
【請求項１０】
通信ネットワークで互いに接続される端末とマークアップ言語文書変換装置とを含むマークアップ言語文書変換システムであって、
端末は、
マークアップ言語文書変換装置に対して、第１のマークアップ言語で記述された第１マークアップ言語文書を指定して、その文書を自端末に対応した第２のマークアップ言語で記述された第２マークアップ言語文書へ変換して返送することを要求する手段と、
マークアップ言語文書変換装置から第２マークアップ言語文書を受信する手段と、
受信した第２マークアップ言語文書を表示する手段とを備え、
マークアップ言語文書変換装置は、
端末からの要求に応じて当該第１マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得する手段と、
取得された第１マークアップ言語文書と前記データおよびプログラムの少なくとも一方とをレンダリングし、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認する手段と、
確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第２のマークアップ言語で記述された第２マークアップ言語文書に変換する手段と、
変換された第２マークアップ言語文書を端末へ返送する手段とを備えた
ことを特徴とするマークアップ言語文書変換システム。
【請求項１１】
第１マークアップ言語文書を蓄積したｗｅｂサーバをさらに備え、前記マークアップ言語文書変換装置は、第１マークアップ言語文書を蓄積したｗｅｂサーバから当該第１マークアップ言語文書を取得する請求項１０に記載のマークアップ言語文書変換システム。
【請求項１２】
前記第１のマークアップ言語はＰＣ用のマークアップ言語であり、前記第２のマークアップ言語は非ＰＣ用のマークアップ言語であり、前記変換は個々の非ＰＣ端末の仕様に対応して行われる請求項１１に記載のマークアップ言語文書変換システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣ用マークアップ言語文書のような第１マークアップ言語文書を、モバイル端末の仕様に対応して表示要素の配置替えを行った非ＰＣ用マークアップ言語文書のような第２マークアップ言語文書に変換するマークアップ言語文書変換装置、マークアップ言語文書変換方法、マークアップ言語文書変換プログラム、およびマークアップ言語文書変換システムに関する。
【背景技術】
【０００２】
最近、携帯電話端末や通信機能付きＰＤＡなどの移動通信端末装置では、インターネット上のＰＣ用のｗｅｂサイトでのｗｅｂページを閲覧することができるようになってきている。移動通信端末装置を本明細書ではモバイル端末ともいう。
【０００３】
モバイル端末の表示画面のサイズは一律ではないが、通常、ＰＣ用の表示装置の表示画面に比べてその解像度（縦横画素数）は小さい。そのため、ＰＣ用ｗｅｂページをそのままモバイル端末の表示画面に表示させようとすると、表示されたｗｅｂページが垂直方向のみならず水平方向にも、画面から大きくはみ出し、水平、垂直両方向に頻繁にスクロール操作を行う必要が生じる。
【０００４】
また、全体像を把握するためにｗｅｂページの表示を縮小することも考えられるが、その場合には細部が見づらくなり、文字が読めなくなる場合も生じうる。
【０００５】
このような問題に対して、特許文献１には、大サイズのｗｅｂページを解析してより小さいサイズのサブページに分割し、これをモバイル端末で閲覧する技術が開示されている。
【０００６】
特許文献２にはＰＣ用のｗｅｂページを解析して無線端末での表示に適した情報に変換する技術が開示されている。
【特許文献１】米国特許第７２０３９０１号公報
【特許文献２】米国特許第７０４７０３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、最近のｗｅｂサイトで用いられているＨＴＭＬ文書はＣＳＳ（Cascading Style Sheet）を利用するのが通例である。ＣＳＳとは、ＨＴＭＬ文書の装飾部分（修飾情報）を一括管理する機能であり、ＣＳＳファイルを用いて文字や背景の装飾部分を定義するものである。
【０００８】
また、ｗｅｂページ中で特定の処理を実行したい場合、ＨＴＭＬ文書中にＪａｖａＳｃｒｉｐｔ（登録商標）のような一種のプログラムが内蔵されることがある。
【０００９】
このようなＣＳＳが適用されたＨＴＭＬ文書や、ＪａｖａＳｃｒｉｐｔ等を含むＨＴＭＬ文書では、単にその解析をしただけではモバイル用マークアップ言語（ＭＬ）文書への変換が適正に行えない場合があった。
【００１０】
例えば、ＰＣ用ｗｅｂページを構成するＨＴＭＬ文書の構造から推測されるＰＣ画面上での各表示要素の位置は、ＣＳＳが適用された後またはＪａｖａＳｃｒｉｐｔが実行された後の実際の位置と必ずしも一致しない場合がある。このような場合、ＨＴＭＬ文書の解析結果のみに基づいてモバイル用ＭＬ文書への変換を行うと、特定の表示要素の配置位置が極端に変わったり（例えばＰＣ用の実表示ページでは先頭に来るべき表示要素がモバイル用の実表示ページでは最後に来る等）、特定の表示要素が表示されなかったりする、ということが起こりうる。
【００１１】
本発明はこのような背景においてなされたものであり、ＰＣ用ｗｅｂページなどに対応する第１マークアップ言語文書を、比較的忠実にモバイル用ｗｅｂページなどに対応する第２マークアップ言語文書に変換することができるマークアップ言語文書変換装置、マークアップ言語文書変換方、マークアップ言語文書変換プログラム、およびマークアップ言語文書変換システムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によるマークアップ言語文書変換装置は、第１のマークアップ言語で記述された第１マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得する手段と、取得された第１マークアップ言語文書と前記データおよびプログラムの少なくとも一方とをレンダリングし、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認する手段と、確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第２のマークアップ言語で記述された第２マークアップ言語文書に変換する手段と、変換された第２マークアップ言語文書を記憶する手段とを備えたことを特徴とする。
【００１３】
また、本発明によるマークアップ言語文書変換方法は、  第１のマークアップ言語で記述された第１マークアップ言語文書のリクエストを受けるステップと、
【００１４】
リクエストされた第１のマークアップ言語で記述された第１マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とを取得するステップと、取得された第１マークアップ言語文書および前記データおよびプログラムの少なくとも一方をレンダリングするステップと、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認するステップと、確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第２のマークアップ言語で記述された第２マークアップ言語文書に変換するステップとを備えたことを特徴とする。
【００１５】
さらに、本発明によるマークアップ言語文書変換プログラムは、第１のマークアップ言語で記述された第１マークアップ言語文書と、これに付随するデータおよびプログラムの少なくとも一方とをレンダリングするステップと、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認するステップと、確認された各表示要素およびその配置座標に基づいて表示要素の配置替えを行った、第２のマークアップ言語で記述された第２マークアップ言語文書に変換するステップとをコンピュータに実行させることを特徴とする。
【００１６】
本発明の構成によれば、第１マークアップ言語文書を単に解析するだけでなく、規定のサイズの表示画面上で描画すべき各表示要素の配置座標を確認することにより、例えばＰＣ用の表示画面上に表示される各種表示要素が実際にどこにどのように表示されるかを確認することができ、この確認結果に基づいて、比較的忠実に、当該各種表示要素を非ＰＣ用の表示画面に再配置することが可能となる。
【００１７】
前記表示要素の配置座標は、当該表示要素の矩形占有領域の対角座標である。これにより、各表示要素の位置と大きさが分かる。
【００１８】
所定の条件に基づいて横並びの複数の表示要素を縦並びに変換し、かつ、それらの複数の表示要素を折り畳むステップをさらに含んでもよい。これにより、冗長な表示要素の羅列を表示省略することができる。
【００１９】
折り畳まれた複数の表示要素を縦並びの状態に復元する記述を前記変換後のモバイル用ＭＬ文書に含めるようにすれば、必要に応じて省略前の表示要素を確認することができる。
【発明の効果】
【００２０】
本発明によれば、自動的に、ＰＣ用ｗｅｂページを比較的忠実にモバイル用ｗｅｂページに変換し、ＰＣ用コンテンツをモバイル端末等で閲覧可能とすることができる。しかも、そのためにコンテンツプロバイダ（通常、企業）ではＰＣ用ｗｅｂページ毎にそれに対応するモバイル用のｗｅｂページを別途用意しておく必要がなくなる。その結果、ＰＣ用コンテンツとモバイル用コンテンツの双方を作成し、かつ双方を同様にメンテナンス（同期）しなければならない、という煩雑な処理負担から当該コンテンツプロバイダを開放することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の好適な実施の形態について図面を参照しながら詳細に説明する。
【００２２】
図１は、本実施の形態におけるマークアップ言語文書変換システムの全体の概略の構成を示している。
【００２３】
このシステムは、携帯電話端末や通信機能付きＰＤＡなどの移動通信端末装置であるモバイル端末１１０と、ｗｅｂコンテンツを提供するｗｅｂサーバ１２０（ＰＣ用、モバイル用を問わない）と、ＰＣ用ｗｅｂコンテンツを提供するＰＣ用ｗｅｂサーバ１３０と、本願発明のマークアップ言語文書変換装置に相当する変換サーバ１５０と、各サーバが接続されるインターネットのような通信ネットワーク１４０とにより構成される。
【００２４】
変換サーバ１５０は、ＰＣ用ｗｅｂページを構成するＰＣ用マークアップ言語（ＭＬ）文書（すなわち第１マークアップ言語文書）を、リアルタイムに、モバイル用ｗｅｂページを構成するモバイル用ＭＬ文書（すなわち第２マークアップ言語文書）に変換するためのサーバであり、トランスコーダともいう。通信ネットワーク１４０には、モバイル用パケット通信網とこれをインターネットに接続するゲートウェイ（図示せず）を含みうる。ｗｅｂサーバ１２０はインターネットではなくモバイル用パケット通信網に接続されたサーバであってもよい。
【００２５】
モバイル端末１１０のユーザの操作に従い、モバイル端末１１０のｗｅｂブラウザはｗｅｂサーバ１２０に対して特定のｗｅｂページをリクエストする（１）。このリクエストにはモバイル端末のｗｅｂブラウザからユーザエージェント（ＵＡ）と呼ばれる情報が含めて送信される。
【００２６】
ｗｅｂサーバ１２０は、受け取ったユーザエージェント情報に基づいて当該モバイル端末の機種ＩＤを判別でき、これによりその機種の仕様情報を確認することができる。この仕様情報には、例えば、表示画面サイズや利用可能なメモリサイズ、一度に処理できるｗｅｂデータ量、サポートフォーマットなどが含まれる。このようなリクエストに対するレスポンスとして、ｗｅｂサーバ１２０からモバイル端末１１０に対してリダイレクト（変換サーバ１５０のＵＲＬを含む）が返送される（２）。リダイレクトとは、ｗｅｂページを要求してきた端末がモバイル端末であることをそのユーザエージェント情報に基づいてｗｅｂサーバ１２０が認識したとき、アクセス先を自身から他の特定のサイト（ここでは変換サーバ１５０）へ移動させるためのレスポンスである。
【００２７】
モバイル端末１１０は、このリダイレクト情報を受けて、変換サーバ１５０へアクセスし、目的のＰＣ用ｗｅｂページをリクエストする（３）。すなわち、このリクエストにはＰＣ用ｗｅｂサーバ１３０のＵＲＬも含んでいる。
【００２８】
なお、リダイレクトによらず、モバイル端末１１０がモバイル用ｗｅｂページ内に組み込まれた変換サーバ１５０のＵＲＬから、または、ＵＲＬの手動入力に基づいて、変換サーバ１５０へ直接アクセスしてもよい。
【００２９】
変換サーバ１５０は、このようなリクエストを受けると、指定されたＰＣ用ｗｅｂサーバ１３０にアクセスして当該モバイル端末用に変換すべきＰＣ用マークアップ言語文書で記述されたＰＣ用ｗｅｂページをリクエストする（４）。さらに、ＰＣ用ｗｅｂサーバ１３０からそのレスポンスとして当該ＰＣ用ｗｅｂページのＭＬ文書を取得する（５）。変換サーバ１５０は、取得したＰＣ用ＭＬ文書ならびに必要に応じて取得されるそのＰＣ用ＭＬ文書に付随するデータおよびプログラムをレンダリングして、その結果に基づいてモバイル用ＭＬ文書を自動的に生成し、レスポンスとしてモバイル端末１１０へ返送する（６）。モバイル端末１１０は返送されたモバイル用ＭＬ文書を受信し、ｗｅｂブラウザにより処理し、必要な付随するデータおよびプログラムをさらに取得して、レンダリングを行い、その結果をモバイル用表示画面に表示する。「付随するデータおよびプログラム」とは、例えば、ＣＳＳなどのＭＬ文書から参照される修飾情報、画像（広告画像も含む）、ＪａｖａＳｃｒｉｐｔなどのスクリプト、Ｆｌａｓｈなどのプラグイン用のデータ、等を含む。レンダリングとは、一般に数値データとして与えられた物体や図形に関する情報をデータ処理によって画像化することであり、本明細書では、ＨＴＭＬなどのマークアップ言語文書をｗｅｂブラウザが読み込んで種々のタグを解釈し、各種の表示要素を表示画面上のどこにどのように表示するかを確定し、表示用の描画データを生成することをいう。レンダリングにはＣＳＳの解析、ＪａｖａＳｃｒｉｐｔなどの実行等も含む。
【００３０】
変換サーバ１５０は、好ましくは、リクエストを受けた端末の「一度に処理できるｗｅｂデータ量」に基づいて、これに対応する単位量毎に、モバイル用ＭＬ文書のデータを区切ることにより、ページ分割を行う。ページ分割の方法としては、任意の既存の手法を用いることができる。例えば、モバイル用ＭＬ文書内の各ページの最後に、次のページの内容にリンクした「次のページ」等の名称のアンカータグを設定する。なお、モバイル端末から変換サーバ１５０へのリクエストにもユーザエージェントが含まれており、変換サーバ１５０は、受け取ったユーザエージェント情報に基づいて当該モバイル端末の機種ＩＤを判別でき、これによりその機種の仕様情報を確認することができる。そのために、変換サーバ１５０は、図示しないが、機種ＩＤと機種の仕様情報との対応データを保持している。
【００３１】
図２は、本発明における変換サーバ１５０の基本概念を説明するための図である。変換サーバ１５０は、従来のｗｅｂブラウザのブラウザエンジンと同等の機能を有するブラウザエンジン２０と、変換処理部１６１とを含む。ブラウザエンジン２０は、ＨＴＭＬファイルのようなＰＣ用ＭＬ文書１０を読み込んで、レンダリングを行う。その結果として得られる、予め想定されている標準的な規定のサイズ（例えば縦６００画素×横８００画素）のＰＣ表示画面上に配置される表示要素としての各パーツおよびその親子関係の情報である描画ドキュメントツリーや、そのパーツの占有領域（ブロック）の配置座標情報を変換処理部１６１へ伝える。変換処理部１６１は、パーツの親子関係や配置座標情報に基づいて、パーツの配置をモバイル端末での表示に適したモバイル用ＭＬ文書（例えばｃＨＴＭＬ文書）を生成する。
【００３２】
図３は、図２に示したブラウザエンジン２０の内部構成を示す。ブラウザエンジン２０は、パーサ２１、ページメーカ２３、およびフォーマッタ２５の各機能を有する。パーサ２１は、表示対象のマークアップ言語（ＭＬ）文書１０の論理的な構造を解釈し、その構造に関するドキュメントツリー２２を生成する。ページメーカ２３は、ドキュメントツリー２２を基に、各タグで決められた表現形式（block, inline, table, list, itemなど）の情報を含むレイアウトツリー２４を生成する。このレイアウトツリー２４は、block, inline, tableなどがどのような順番に存在しているかを表している。但し、レイアウトツリー２４は、まだ、これらの要素が画面のどこにどのような幅と高さで表示されるか、文字列がどこで折り返されるか、等のレイアウトに関する情報までは含んでいない。フォーマッタ２５は、レイアウトツリー２４を基に、既知の表示画面幅などの実際の表示画面に関する情報を用いてレイアウトを行う。すなわち、レイアウトツリー２４を実際の表示画面に配置していき、文字の折り返しや、画面上の位置、幅、高さを決定する。この段階で、描画ドキュメントツリー（レンダリングツリーともいう）２６が生成される。本実施の形態では、描画ドキュメントツリー２６には各パーツのブロックの対角座標を含めている。
【００３３】
図４に、本実施の形態における変換サーバ１５０の機能構成例を示す。
【００３４】
トランスコーダエンジン１６０は、変換サーバ１５０の中枢部であり、ブラウザエンジン２０と変換処理部１６１とを含む。ブラウザエンジン２０の構成及び機能については上述したとおりである。変換処理部１６１は、ブラウザエンジン２０の処理結果を用いてＰＣ用ＭＬ文書をモバイル用ＭＬ文書に変換する処理を行う部位である。この具体的な処理手順については後述する。
【００３５】
本発明を用いれば、コンテンツプロバイダはＰＣ用ｗｅｂサイトとは別途にモバイル向けのｗｅｂサイトをつくりこむ手間を省くことができる。
【００３６】
コンテンツデータ内部キャッシュ管理部１５８は、変換前のｗｅｂページのデータ（ＭＬ文書、ＪａｖａＳｃｒｉｐｔ、ＣＳＳ、Ｃｏｏｋｉｅ、画像等）を一時的に保存するための装置である。
【００３７】
コンテンツ取得情報内部キャッシュ管理部１５７は、キャッシュのメタ情報として、各データの有効期限、対応ＵＲＬなどの情報を一時的に保存するための装置である。
【００３８】
セッション管理部１５２は、ｗｅｂサイトにアクセスした時にセッションを管理するための装置である。ユーザが継続的にそのサイトを使えるように，そのユーザの状態をページに埋め込むことがｗｅｂの世界ではしばしばある。埋め込む場所はＵＲＬクエリ内やＣｏｏｋｉｅ内である。このような動作はセッションと呼ばれる。
【００３９】
トランスコーダフロントエンド１６２は、ＨＴＭＬ埋め込み型のサーバサイド・スクリプト言語を用いてＣＧＩ（Common Gateway Interface：コモン・ゲートウェイ・インタフェース）のような機能を実現するサーバサイド・スクリプト処理部である。ＣＧＩとは、ｗｅｂサーバ上でユーザプログラムを動作させるための仕組みであり、そのユーザプログラムがサーバサイド・スクリプトである。トランスコーダフロントエンド１６２は、端末においてユーザが何かをクリックしたり、フォームで何かを送信したときに、それに基づいてプログラムを実行し、新たなＭＬの記述を生成してブラウザに対して送信する。スクリプト言語としては本実施の形態ではＰＨＰ(PHP: Hypertext Preprocessor)を使用しているが、これに限るものではない。
【００４０】
変換結果キャッシュ管理部１５６は、変換処理部１６１での変換結果であるモバイル用ＭＬ文書を一時的に保存する装置である。
【００４１】
ｈｔｔｐｄ(Hyper Text Transfer Protocol Daemon)１５４はｈｔｔｐデーモンと呼ばれるｗｅｂサーバのプログラムであり、ユーザからの要求に応じてサーバ内に蓄積されたコンテンツを送信したり、サーバサイド・スクリプトを起動したりするためのものである。
【００４２】
なお、変換サーバ１５０のハードウェア構成は特に示さないが、ＣＰＵ、主記憶装置、外部記憶装置、通信装置、各種入出力装置、等、既存のハードウェア構成により実現される。
【００４３】
以下、本実施の形態における変換サーバ１５０の動作を、具体的なｗｅｂページ例を示して説明する。
【００４４】
図５は出願人のホームページの概略画面を示している。このｗｅｂページを構成するＨＴＭＬ文書の概略構成を図６に示す。
【００４５】
ＨＴＭＬ文書は各種のタグを含むテキストで記述されており、ｗｅｂページを構成する表示要素は主として「ブロック要素」と「インライン要素」に分類される。
【００４６】
ブロック要素は、文書の骨組みとなる要素で、例えば見出しや段落などである。このタイプの要素は与えられた領域の横幅一杯の領域を持ち、要素の前後には自動的に改行が入る。ブラウザの画面上で、ブロック要素の占有する領域は、文字列や画像等のある部分だけではなく、それらを含む矩形の(ブロック状の)領域である。具体的には、見出し(h1〜h6)、(意味)段落(p)、章/意味段落(div)、区切り線(hr)、引用(blockquote)、テーブル(table)等がブロック要素である。リスト(ul/ol/dl)及びその項目(li/dt/dd)もブロック要素である。
【００４７】
インライン要素は、文章中の一部として扱われる要素(例えばリンクや文字の強調など)である。このタイプの要素は行の一部として扱われるので、要素の前後には改行は入らない。具体的には、リンク/アンカー(a)、語・文節・文単位の強調(em/strong)、プログラムの出力結果(samp)、プログラムのソースコード(code)、引用元の明示(cite)、強制改行(br)等がインライン要素である。画像(img)もインライン要素に含まれる。
【００４８】
ブロック要素の中には、別のブロック要素やインライン要素が入り得る。インライン要素の中には、別のインライン要素が入りうる。インライン要素の中には、ブロック要素は入らない。
【００４９】
多くのタグは開始タグ＜＞と終了タグ＜／＞から構成される。開始タグと終了タグの間の他のタグが含まれる、すなわち入れ子状態となりうる。入れ子関係にあるタグのうち外側のタグが「親」、内側がタグが「子」となる。
【００５０】
上述したように、ブラウザエンジン２０はＨＴＭＬ文書を読み込んで、解釈し、レンダリングを行う。その結果として、図７に示すように、ブロック要素等の表示要素（すなわちパーツ）毎にその表示位置（配置座標）およびサイズ（矩形占有領域の対角座標）が求められる。図８にその様子をツリー形式で模式的に示す。この図における「ブロック」は図７に示した各表示要素のブロックに対応している。各ブロックには、（Ｘ１，Ｙ１，Ｘ２，Ｙ２）の形式の対角座標が定められている。（Ｘ１，Ｙ１）は矩形状のブロックの左上角の座標であり、（Ｘ２，Ｙ２）はブロックの右下角の座標である。
【００５１】
図８の描画ドキュメントツリーは、ＣＳＳを解釈した後の結果に基づくものである。ＨＴＭＬ文書中にＪａｖａＳｃｒｉｐｔが含まれ、それにより表示要素が決定される場合には、その実行結果をも反映したものである。例えば、図６の記述２００内のＪａｖａＳｃｒｉｐｔにおいて、予め用意された複数の画像のなかからランダムに選択した画像を表示するという処理が行われる場合、図７の「画像Ａ」はその選択された画像がｗｅｂページ上に実際に表示された状態に相当する。ＣＳＳでは座標を指定してブロックを配置する場合があり、そのような場合にはＣＳＳを適用した結果のブロックの位置が考慮される。また、ＣＳＳのコメント行も表示対象から確実に削除される。
【００５２】
変換処理部１６１は、パーツの親子関係や座標情報に基づいて、パーツの配置をモバイル端末での表示に適して組み替える。この組み替えに際して、モバイル端末の表示画面では水平方向のスクロールは行わなくて済むようなｗｅｂページ構成が望ましい。そこで、複数のパーツを画面の横方向（水平方向）に羅列すると、モバイル端末の表示画面からはみ出してしまうような場合には、複数のパーツの横並びを縦並びに変更する。例えば、図７の上部のブロック２１１、ブロック２２１〜２２９、ブロック２３１〜２３７は、図９の位置３００に示すように縦並びに配置を変更する。図９は図７のＰＣ用ｗｅｂページがモバイル用に変換されてモバイル画面上に表示される様子を模式的に示した図である。実際には、図９の内容の全体がモバイル画面内に収まるわけではなく、縦方向にはページ送りおよび／またはスクロール操作により隠れた部分をモバイル画面上に移動させて見ることができる。横方向についてはページの幅全体がモバイル画面に収まることを想定している。
【００５３】
一つの画像（イメージ）の横幅がモバイル表示画面サイズより大きいものについては、その横幅がモバイル表示画面サイズに収まるように、全体の画像サイズを縮小するよう最適化する。図７の画像２４１（画像Ａ）は最適化された画像２４１’（画像Ａ’）として、図９の位置３００の直下の位置３４０に配置されている。
【００５４】
図７のブロック２５１〜２５６は元々縦並びで、すべてモバイル表示画面サイズに収まるため、図９の位置３４０の直下の位置３５０に配置している。
図７の画像のブロック２５７は、その横幅がモバイル表示画面サイズに収まるので、図９の位置３５０の直下の位置３５５に配置している。
図７のブロック２６１〜２６５についても、同様に、図９の位置３５５の直下の位置３６０に配置している。
図７のブロック２７１〜２７２については、同様に、図９の位置３６０の直下の位置（図示省略）に配置する。
図７の画像のブロック２８１についてはその横幅がモバイル表示画面サイズに収まるので、図９のブロック２７２の直下の位置に配置する。なお、画像の配置位置はその親のブロック要素の座標により決まる。画像を縮小または拡大する場合にはその画像サイズを参照する。
図７のブロック２９１についてはブロック２８１の直下の位置に配置する。このブロック２９１は縦横比が大きいので後述する「折り畳み」を行うことができるが、折り畳んでも情報量が変わらないので、ここでは折り畳まないものとしている。モバイル表示画面の横幅より文字列が長い場合は、ブラウザの機能により折り返して表示される。
図７のブロック２９２〜２９５については、全体としてモバイル表示画面サイズに収まるので、ブロック２９１の直下の位置に配置する。但し、ブロック２９２〜２９５を縦並びに配置替えしてもよい。
【００５５】
複数のパーツをモバイル表示画面用に上から順に配置していく際に、ＰＣ用画面上でのパーツをどのような順でピックアップしていくかについては、予め定めた規則に従う。上述した例では、ＰＣ画面上の複数のパーツは、最上部の左から右に順次選択していき、右端に達したらその下に移動して、左から右に順次選択していく。
【００５６】
ただし、複数の小パーツが、モバイル画面の横幅に収まる一つの大ブロックに含まれる場合にはそれらの小パーツを一体として扱う。（図７のブロック２５２〜２５６等）
【００５７】
同じ横幅サイズで、縦並びに並んでいる複数のパーツはそれらの上から下まで選択したあと、右へ移動する。（ブロック２５１、（２５２〜２５６）、２５７等）
【００５８】
なお、このような規則はあくまで例示であり、本発明はこれに限定されるものではない。
【００５９】
ところで、ＰＣ用ｗｅｂページにおいていわゆるナビゲーションと呼ばれるような横長の記述部（図７のブロック２３１〜２３７）は図９から判るように、初期状態でモバイル画面で縦に並べるとモバイル画面の大半を占有して煩わしく感じられる場合がある。
【００６０】
そこで、図９の最上部に示すように、モバイル画面上に[Close this section]という指示部を設けて、そのマイナスマーク２１０ａをモバイル端末のユーザが指示すると、縦並びになっている複数の要素の一群をまとめて１つの要素に代表させる仕組みを設ける。この仕組みを「折り畳み」と呼ぶ。一つの要素であっても、大サイズの場合により小さい要素で代替表示することも可能である。このような処理も折り畳みに含まれる。
【００６１】
図１０は、複数の要素に対応するブロック２１１〜２３７を１つの要素であるブロック２１１に代表させて折り畳んだ状態を示している。この際、モバイル画面上でブロック２１１の傍にプラスマーク２１０ｂの指示部を設けて、モバイル端末のユーザがこれを指示すると、再度図９の表示状態に戻る（すなわち折り畳まれた複数の表示要素を縦並びの状態に復元）ようにする。
【００６２】
マイナスマーク２１０ａやプラスマーク２１０ｂの指示部の仕組みは通常のｗｅｂブラウザの機能でサポートされているものではないので、この機能は上述したＣＧＩで実現することができる。
【００６３】
図６に示した例では、ＨＴＭＬ埋め込み型のサーバサイド・スクリプト言語であるＰＨＰを用いてＣＧＩを実現する例を示している。ＰＨＰスクリプトは、ｗｅｂサーバ上で動作し、ｗｅｂサーバ上の文書が要求されるたびに、この文書に記述されたＰＨＰのプログラムを実行し、その結果をブラウザに対して送信する。
【００６４】
折り畳みのための具体的なＰＨＰスクリプトの具体的な記述例としては、特に具体的に示さないが、ＰＨＰスクリプトの実行する処理は、モバイル端末からの、折り畳み後の状態からのリクエストに対しては折り畳み前（非折り畳み）の状態に戻し、折り畳み前の状態からのリクエストに対しては折り畳み後の状態に戻す、という処理である。
【００６５】
なお、デフォルトとして図９が最初に表示されるものとして説明したが、図１０の方が図９より先に表示される形態であってもよい。いずれをデフォルトとするかはモバイル端末からのリクエストにおいてＵＲＬのクエリで指定することができる。
【００６６】
図１１は、変換サーバ１５０の処理手順を示したフローチャートである。
【００６７】
まず、ユーザ端末からのｗｅｂページのリクエストを受領する（Ｓ１１）。この際、リクエストに含まれるユーザエージェント情報に基づいて当該ユーザ端末の仕様を確認する（Ｓ１２）。
【００６８】
ついで、変換サーバ１５０のブラウザエンジン２０が変換対照のＰＣ用ＭＬ文書を、指定されたｗｅｂサーバに要求して読み込む（Ｓ１３）。そのＰＣ用ＭＬ文書がキャッシュされている場合には、キャッシュ部から読み込みを行う。
【００６９】
そこで、ＰＣ用ＭＬ文書のレンダリングを行う（Ｓ１４）。このレンダリングに際して、ＨＴＭＬの解析のみならず、ＣＳＳの解析およびＪａｖａＳｃｒｉｐｔ等の実行も含む。その結果、描画ドキュメントツリーが確定される（Ｓ１５）。すなわち、ＰＣ用表示画面上に表示されるべき各パーツの位置およびサイズが、各ブロックの対角座標によって定まる。
【００７０】
変換サーバ１５０の変換処理部１６１は、描画ドキュメントツリーの内容を読み込んで、上述したような予め定められた規則にしたがって各パーツの再配置を行う（Ｓ１６）。この再配置の際には、パーツの移動、カット、折り畳み、追加等を含む。「追加」は任意の新たな要素を追加するものであり、例えば、広告の追加が考えられる。さらに必要に応じて、上述したようなイメージ（画像）を縮小する等の最適化を行う（Ｓ１７）。さらに、当該端末に応じたページ分割を行う（Ｓ１８）。Ｓ１６〜Ｓ１８の処理に際して変換処理部１６１は、ユーザ端末の仕様を参照し、その仕様を処理に反映させる。
【００７１】
このようにして、モバイル用ＭＬ文書を所定の記憶領域に書き出す（Ｓ１９）。
【００７２】
図１２に、図１１のステップＳ１６内の「折り畳み」処理の処理例を示す。
【００７３】
まず、複数のブロックのサイズおよび配置が所定の条件を満足するかどうかをチェックする（Ｓ２１）。所定の条件とは、例えば高さが所定値以下のブロックが横方向に所定個以上並び、モバイル用に変換した場合に所定個以上の縦並びになるような場合である。あるいは、１個のブロックであっても、その面積が所定値以上となるような場合である。
【００７４】
所定の条件が満足されなければ、図１２の処理を終了する。所定の条件が満足されれば、それらの複数のブロックの先頭ブロックまたは新たに設けたブロック（新設ブロック）でそれらの全ブロックを代替し、ユーザの指示で全ブロックを表示するためのＣＧＩ用メタ情報を生成してモバイル用ＭＬ文書に追加する（Ｓ２２）。この際、包含されたブロックの記述はモバイル用ＭＬ文書から削除する。また、対応するサーバ・サイドスクリプトを生成して、変換サーバ側に保持する。この処理は、閉じた状態をデフォルトとした場合を想定している。開いた状態をデフォルトとした場合には、所定のブロックをユーザの指示により閉じるためのＣＧＩ用メタ情報を生成してモバイル用ＭＬ文書に追加する。同時に対応するサーバ・サイドスクリプトを生成して、変換サーバ側に保持する。
【００７５】
そのようなＣＧＩ用メタ情報はモバイル用ＭＬ文書内で、例えば次のような形式で記述される。
＜！−−ｓｅｃｔｉｏｎ＝１，ｓｕｍｍａｒｙ＝”＜ｉｍｇ  ｓｒｃ＝”．．．ｇｉｆ”＞．．．”−−＞
【００７６】
ｓｅｃｔｉｏｎは変換サーバに対する折り畳みの指示を表し、ｓｅｃｔｉｏｎ＝１は折り畳みの通し番号を示すセクション番号を表す。ｓｕｍｍａｒｙ＝の後にモバイル用ＭＬ文書の自動生成時にＭＬ文書に付加するデータが続く。
【００７７】
他方、このようなＣＧＩ用メタ情報に対応して、変換サーバ側に用意され、変換サーバで実行されるスクリプトは、例えば上述したようなＰＨＰスクリプトである。ＰＨＰスクリプトは、開状態または閉状態に応じて、上述したマイナスマーク２１０ａやプラスマーク２１０ｂ（例えばイメージデータ）にリンクを設定したモバイル用ＭＬ文書を出力する。
【００７８】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。
【００７９】
例えば、変換サーバは１台としたが、複数台設けて、負荷を分散するようにしてもよい。
【００８０】
本発明のマークアップ言語文書変換装置は、通信ネットワーク上の変換サーバとして説明したが、通信ネットワークに接続されない単体の装置であってもよい。あるいは、ホームサーバ（ホームゲートウェイ）に搭載され、ホームネットワークでつながれた他の家電機器などに、本発明のマークアップ言語文書変換の機能を適用することも可能である。
【００８１】
ｗｅｂブラウザ上で動作するスクリプトとしてＪａｖａＳｃｒｉｐｔのみに言及したが、ＥＣＭＡＳｃｒｉｐｔ等の他のスクリプトにも本発明は適用可能である。
【図面の簡単な説明】
【００８２】
【図１】本発明の実施の形態におけるシステム全体の概略の構成を示す図である。
【図２】本発明の発明における変換サーバの基本概念を説明するための図である。
【図３】図２に示したブラウザ内の主要機能部としてのブラウザエンジンの内部構成を示す図である。
【図４】本発明の実施の形態における変換サーバの機能構成例を示す図である。
【図５】出願人のホームページの概略画面を示した図である。
【図６】図５のｗｅｂページを構成するＨＴＭＬ文書の概略構成を示す図である。
【図７】ブロック要素等の表示要素（すなわちパーツ）毎にその表示位置およびサイズ（矩形占有領域の対角座標）が求めることの説明図である。
【図８】図７の各表示要素の様子をツリー形式で模式的に示した図である。
【図９】図７の各表示要素の配置換え結果の説明図である。
【図１０】複数の要素に対応するブロックを１つの要素であるブロックに代表させて折り畳んだ様子を示した図である。
【図１１】変換サーバの処理手順を示したフローチャートである。
【図１２】図１１のステップＳ１６内の「折り畳み」処理の処理例を示すフローチャートである。
【符号の説明】
【００８３】
１０…文書、２０…ブラウザ、２１…パーサ、２２…ドキュメントツリー、２３…ページメーカ、２４…レイアウトツリー、２５…フォーマッタ、２６…描画ドキュメントツリー、１１０…モバイル端末、１２０…ｗｅｂサーバ、１３０…ＰＣ用ｗｅｂサーバ、１４０…通信ネットワーク、１５０…変換サーバ、１５２…セッション管理部、１５６…変換結果キャッシュ管理部、１５７…コンテンツ取得情報内部キャッシュ管理部、１５８…コンテンツデータ内部キャッシュ管理部、１６０…トランスコーダエンジン、１６１…変換処理部、１６２…トランスコーダフロントエンド、２１０ａ…マイナスマーク、２１０ｂ…プラスマーク、２１１…ブロック、２４１…画像
【図２】
2009163326.tif 000003
【図３】
2009163326.tif 000004
【図６】
2009163326.tif 000005
【図８】
2009163326.tif 000006
【図９】
2009163326.tif 000007
【図１０】
2009163326.tif 000008
【図１１】
2009163326.tif 000009
【図１２】
2009163326.tif 000010
【図１】
2009163326.tif 000011
【図４】
2009163326.tif 000012
【図５】
2009163326.tif 000013
【図７】
2009163326.tif 000014