(57)【要約】【課題】階層構造を有する電子データの一部分を正しくかつ高速に処理する。【解決手段】ブロック情報データ１０２は、構造化された電子データ１０１を複数のブロックに分割し、分割された各ブロック毎に所定の処理を実行させるデータである。ブロック補助データ１０３は、電子データ１０１とブロック情報データ１０２とに関して、上記分割された各ブロック毎に所定の処理を実行させるデータであり、固定長のデータを含む。データ処理装置１１５において電子データ１０１の一部のブロックのデータが処理される際、当該データ処理装置１１５においてデータの読込みの際に使用されるメモリの容量に応じて構成され固定長のデータを含むブロック補助データ１０３が用いられるため、ブロック補助データ１０３をはじめ、ブロック情報データ１０２および電子データ１０１の一部のデータのみを効率よく読込んで処理することができる。【選択図】        図１
2004280278.tif 000002
【特許請求の範囲】
【請求項１】
階層構造を有する電子データを処理するデータ処理装置であって、
前記電子データには、当該電子データを複数のブロックに分割して処理するために当該複数のブロックのそれぞれに対応する階層構造についてのデータを含むブロック情報データと、前記電子データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第１のデータおよび前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第２のデータを含むブロック補助データとが付随し、
前記電子データの中で処理対象となるブロックを指示する情報を受付ける指示処理手段と、
前記第１のデータに基づいて、前記電子データの中の前記指示されたブロックに対応するデータを読込む第１の読込み手段と、
前記第２のデータに基づいて、前記ブロック情報データの中の前記指示されたブロックに対応するデータを読込む第２の読込み手段と、
前記第２の読込み手段に読込まれたデータに基づいて、前記指示されたブロックの電子データを処理するための階層構造を解析する解析手段と、
前記解析手段の解析結果に基づいて、前記第１の読込み手段に読込まれたデータを処理するデータ処理手段とを含む、データ処理装置。
【請求項２】
前記電子データは、階層構造を有する文書データであり、
前記データ処理手段の実行する、前記第１の読込み手段に読込まれたデータに対する処理は、前記指示されたブロックの電子データに対して、表示レイアウトを計算しかつ表示することである、請求項１に記載のデータ処理装置。
【請求項３】
前記指示手段において処理対象とされた電子データに、対応する前記ブロック情報データが存在するか否かを判断する判断手段と、
前記判断手段によって前記ブロック情報データが存在しないと判断された場合、当該処理対象とされた電子データに対応するブロック情報データを作成する情報作成手段とをさらに含む、請求項１または請求項２に記載のデータ処理装置。
【請求項４】
前記判断手段は、前記指示手段において処理対象とされた電子データに、対応する前記ブロック補助データが存在するか否かを判断し、
前記情報作成手段は、前記判断手段によって前記ブロック補助データが存在しないと判断された場合、当該処理対象とされた電子データに対応するブロック補助データを作成する、請求項３に記載のデータ処理装置。
【請求項５】
前記第１のデータは、前記電子データの中の前記複数のブロックの各ブロックに対応するデータの記憶場所を示す情報を含み、
前記第２のデータは、前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータの記憶場所を示す情報を含み、
前記第１の読込み手段は、前記第１のデータに基づいて前記電子データの中の前記指示されたブロックに対応するデータの記憶場所を決定し、当該記憶場所においてデータの読込みを実行し、
前記第２の読込み手段は、前記第２のデータに基づいて前記ブロック情報データの中の前記指示されたブロックに対応するデータの記憶場所を決定し、当該記憶場所においてデータの読込みを実行する、請求項１〜請求項４のいずれかに記載のデータ処理装置。
【請求項６】
前記第１または第２のデータにおける、前記各ブロックに対応するデータの記憶場所を示す情報は、前記各ブロックに対応するデータの記憶の開始される場所を示す情報と終了する場所を示す情報からなる、請求項５に記載のデータ処理装置。
【請求項７】
前記第１または第２のデータにおける、前記各ブロックに対応するデータの記憶場所を示す情報は、前記各ブロックに対応するデータの記憶の開始される場所を示す情報と当該各ブロックに対応するデータのサイズを示す情報からなる、請求項５に記載のデータ処理装置。
【請求項８】
前記第１または第２のデータにおける、前記各ブロックに対応するデータの記憶場所を示す情報は、前記各ブロックに対応するデータの記憶の開始される場所を示す情報と前記複数のブロックの中の最後のブロックの記憶が終了する場所を示す情報からなる、請求項５に記載のデータ処理装置。
【請求項９】
前記第１または第２のデータにおける、前記各ブロックに対応するデータの記憶場所を示す情報は、前記各ブロックに対応するデータの記憶の開始される場所を示す情報と前記複数のブロックの中の最後のブロックに対応するデータのサイズを示す情報からなる、請求項５に記載のデータ処理装置。
【請求項１０】
階層構造を有する電子データを処理するデータ処理方法であって、
前記電子データには、当該電子データを複数のブロックに分割して処理するために当該複数のブロックのそれぞれに対応する階層構造についてのデータを含むブロック情報データと、前記電子データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第１のデータおよび前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第２のデータを含むブロック補助データとが付随し、
前記電子データの中で処理対象となるブロックを指示する情報を受付けるステップと、
前記第１のデータに基づいて、前記電子データの中の前記指示されたブロックに対応するデータを読込むステップと、
前記第２のデータに基づいて、前記ブロック情報データの中の前記指示されたブロックに対応するデータを読込むステップと、
前記ブロック情報データの中の前記指示されたブロックに対応するデータに基づいて、前記指示されたブロックの電子データを処理するための階層構造を解析するステップと、
前記解析するステップの解析結果に基づいて、前記電子データの中の前記指示されたブロックに対応するデータを処理するステップとを含む、データ処理方法。
【請求項１１】
階層構造を有する電子データを処理するためのデータ処理プログラムであって、
前記電子データには、当該電子データを複数のブロックに分割して処理するために当該複数のブロックのそれぞれに対応する階層構造についてのデータを含むブロック情報データと、前記電子データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第１のデータおよび前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第２のデータを含むブロック補助データとが付随し、
コンピュータに、
前記電子データの中で処理対象となるブロックを指示する情報を受付けるステップと、
前記第１のデータに基づいて、前記電子データの中の前記指示されたブロックに対応するデータを読込むステップと、
前記第２のデータに基づいて、前記ブロック情報データの中の前記指示されたブロックに対応するデータを読込むステップと、
前記ブロック情報データの中の前記指示されたブロックに対応するデータに基づいて、前記指示されたブロックの電子データを処理するための階層構造を解析するステップと、
前記解析するステップの解析結果に基づいて、前記電子データの中の前記指示されたブロックに対応するデータを処理するステップとを実行させる、データ処理プログラム。
【請求項１２】
コンピュータによる読取りが可能な記録媒体であって、請求項１１に記載のデータ処理プログラムを記録した記録媒体。
【請求項１３】
階層構造を有する電子データを記録する記録媒体であって、
前記電子データを複数のブロックに分割して処理するために当該複数のブロックのそれぞれに対応する階層構造についてのデータを含むブロック情報データ、および、前記電子データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第１のデータならびに前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第２のデータを含むブロック補助データとを記録する、記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ処理装置、データ処理方法、データ処理プログラム、および、記録媒体に関し、特に、電子データを複数のブロックに分割して処理するための、データ処理装置、データ処理方法、データ処理プログラム、および、記録媒体に関する。
【０００２】
【従来の技術】
文書記述言語の定義に従って所定の処理を実行させるための構造化された電子データであって、階層構造を有する構造化文書を記録するためのデータ形式として、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌｉｚｅｄ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などが知られている。特にＸＭＬは、インターネットで交換する電子文書や電子データなどで近年盛んに使用されている。
【０００３】
ＸＭＬ形式の電子データを扱う処理方法として、ＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）形式とＳＡＸ（Ｓｉｍｐｌｅ  ＡＰＩ  ｆｏｒ  ＸＭＬ）形式が存在する。
【０００４】
ＤＯＭ形式とは、対象とする電子データをすべて読込み、電子データ内の全要素の階層構造を把握してから、電子データの各要素にアクセスする処理方法である。例えば、図１５のような階層構造を有する電子データがある場合、ＤＯＭ形式では、一旦電子データ全体を読込み、全要素の階層構造を解析する。なお、図１５では、電子データの階層構造のみが示され、本文および内容は省略されている。そして、ＤＯＭ形式では、図１５の階層構造を有する電子データから、図１６のような木構造が作成された後、各要素（ＴＩＴＬＥ，ＡＵＴＨＯＲなど）へのアクセスがなされる。よって、ＤＯＭ形式には、電子データの階層構造を把握した後に処理する事になるため、任意の要素にアクセスしやすいという特徴がある。
【０００５】
これに対し、ＳＡＸ形式は、電子データを先頭から順に読込みながら、読込んだ要素のみ構造解析し、処理していく形式である。そのため、電子データ全体の解析処理を待たずに、順次処理していくことができ、処理速度的にもメモリ容量的にもオーバヘッドが少ないというメリットがある。
【０００６】
以上のように、ＤＯＭ形式、ＳＡＸ形式ともにそれぞれのメリットがあるが、反面、次のようなデメリットがそれぞれにある。
【０００７】
ＤＯＭ形式の場合、電子データ内の一部のデータだけを処理したい場合であっても、木構造を生成するために、電子データ全体の構造解析をしなくてはならず、処理に無駄が生じるという欠点があった。さらに、電子データのサイズが大きくなると、木構造を作成するための処理時間、および、木構造を記憶しておくためのメモリ使用量が大きくなるという欠点があった。
【０００８】
また、ＳＡＸ形式の場合、電子データの先頭から順に処理することを前提にしたアクセス形式であるため、電子データの内容を先頭から順に処理せず任意の要素を任意の順番に扱う場合には、無駄な読込み処理および構造解析処理が入るという欠点が存在する。また、電子データの後半の要素を処理したい時であっても、電子データの先頭から読込み、構造解析をする必要があるため、処理時間的に無駄が生じるという欠点があった。
【０００９】
一方、特許文献１には、ＤＯＭ形式やＳＡＸ形式ではなく、処理対象となる電子データの取出したい領域以外にある要素であって階層構造に関与する要素のみを、階層構造を解析すること無く、取出す技術が開示されている。このような技術について、以下に、説明する。
【００１０】
まず、この技術の前提として、取出したい領域が、階層構造に関してどのような要素の下に含まれるかによって、取出したい領域に含まれる要素の意味が変わったり、当該領域を表示する位置やサイズ、属性などが変わってしまうという事実がある。そして、このような事実のために、取出したい領域のみのデータを処理したのでは、適切な処理ができない。例えば、図１７のような、階層構造を有するＸＨＴＭＬ（ｅＸｔｅｎｓｉｂｌｅ  ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書の例を考える。
図１７において、領域７１の先頭部分は、＜ｈｔｍｌ＞、＜ｂｏｄｙ  ｂｇｃｏｌｏｒ＝“ｙｅｌｌｏｗ”＞、＜ｐ＞に挟まれている。このうち、＜ｂｏｄｙ  ｂｇｃｏｌｏｒ＝“ｙｅｌｌｏｗ”＞は、このタグで挟まれた領域が本文データであることを示すとともに、本文の背景を黄色にすることを意味しており、このタグがあるかないかにより、本文の背景が黄色になるか、白色（省略時のデフォルト値）になるか変わってしまう。したがって、領域７１だけをファイルから読込んで表示処理が行なわれると、当該処理を行なう装置が本文の背景が黄色であるという情報を得ることができず、正しい表示処理ができない。つまり、一般的な事実として、階層構造をもつ電子データに対しては、処理したい領域のみを読込んで処理しようとしても、当該処理を実行する装置は、処理したい領域以外に書かれた制御情報（タグや属性などの要素）を知ることができないため、正しく処理できないという問題があった。
【００１１】
そこで、特許文献１に開示された技術では、階層構造を有する電子データを処理する装置が、電子データをいくつかの部分（ブロックと呼ぶ）に分割し、そのブロックの開始位置で閉じられていない要素と、終了位置で閉じられていない要素を補助データとして記録しておき、電子データとこの補助データを組合わせて、当該電子データの処理を実行する。これにより、当該処理をする装置は、処理したい領域のデータと、処理したい領域以外に書かれた制御情報等の要素とを効率良く読込むことができるため、処理時間を短縮する方法が考えられる。
【００１２】
【特許文献１】
国際公開第０２／１０３５５４号パンフレット
【００１３】
【発明が解決しようとする課題】
しかしながら、上記した特許文献１における補助データに記録された要素は、対応する電子データの内容によって大きさが変動するため、上記の補助データを処理するためには、可変長な領域または十分に大きなサイズの固定長領域を確保する必要がある。したがって、電子データの情報をブロック単位で直接扱うことは可能となるが、処理時間の短縮という点に関しては十分な効果を得ることができない。
【００１４】
本発明は上述したかかる実情に鑑み考え出されたものであり、その目的は、階層構造を有する電子データの一部分を正しくかつ高速に処理できるデータ処理装置、データ処理方法、データ処理プログラム、および、記録媒体を提供することである。
【００１５】
【課題を解決するための手段】
本発明に従ったデータ処理装置は、階層構造を有する電子データを処理するデータ処理装置であって、前記電子データには、当該電子データを複数のブロックに分割して処理するために当該複数のブロックのそれぞれに対応する階層構造についてのデータを含むブロック情報データと、前記電子データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第１のデータおよび前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第２のデータを含むブロック補助データとが付随し、前記電子データの中で処理対象となるブロックを指示する情報を受付ける指示処理手段と、前記ブロック補助データに基づいて、前記電子データおよび前記ブロック情報データにおいて前記指示されたブロックに対応する情報の記憶場所を決定する場所決定手段と、前記場所決定手段の決定した記憶場所に基づいて、前記電子データの中の前記指示されたブロックに対応するデータを読込む第１の読込み手段と、前記場所決定手段の決定した記憶場所に基づいて、前記ブロック情報データの中の前記指示されたブロックに対応するデータを読込む第２の読込み手段と、前記第２の読込み手段に読込まれたデータに基づいて、前記指示されたブロックの電子データを処理するための階層構造を解析する解析手段と、前記解析手段の解析結果に基づいて、前記第１の読込み手段に読込まれたデータを処理するデータ処理手段とを含むことを特徴とする。
【００１６】
本発明のある局面に従うと、ブロック情報データおよびブロック補助データの付随する電子データの、或るブロックについての処理が実行される際、ブロック情報データの中の対応するデータに基づいて当該或るブロックの電子データを処理するための階層構造が解析され、当該解析結果に基づいて、当該或るブロックの電子データが処理される。なお、電子データの中の当該或るブロックに対応するデータの読込みは、ブロック補助データの第１の情報に基づいて行なわれる。
また、ブロック情報データの中の当該或るブロックに対応するデータの読込みは、ブロック補助データの第２のデータに基づいて行なわれる。
【００１７】
また、本発明に従ったデータ処理装置では、前記電子データは、階層構造を有する文書データであり、前記データ処理手段の実行する、前記第１の読込み手段に読込まれたデータに対する処理は、前記指示されたブロックの電子データに対して、表示レイアウトを計算しかつ表示することであることが好ましい。
【００１８】
また、本発明に従ったデータ処理装置は、前記指示手段において処理対象とされた電子データに、対応する前記ブロック情報データが存在するか否かを判断する判断手段と、前記判断手段によって前記ブロック情報データが存在しないと判断された場合、当該処理対象とされた電子データに対応するブロック情報データを作成する情報作成手段とをさらに含むことが好ましい。
【００１９】
また、本発明に従ったデータ処理装置では、前記判断手段は、前記指示手段において処理対象とされた電子データに、対応する前記ブロック補助データが存在するか否かを判断し、前記情報作成手段は、前記判断手段によって前記ブロック補助データが存在しないと判断された場合、当該処理対象とされた電子データに対応するブロック補助データを作成することが好ましい。
【００２０】
また、本発明に従ったデータ処理装置では、前記第１のデータは、前記電子データの中の前記複数のブロックの各ブロックに対応するデータの記憶場所を示す情報を含み、前記第２のデータは、前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータの記憶場所を示す情報を含み、前記第１の読込み手段は、前記第１のデータに基づいて前記電子データの中の前記指示されたブロックに対応するデータの記憶場所を決定し、当該記憶場所においてデータの読込みを実行し、前記第２の読込み手段は、前記第２のデータに基づいて前記ブロック情報データの中の前記指示されたブロックに対応するデータの記憶場所を決定し、当該記憶場所においてデータの読込みを実行することが好ましい。
【００２１】
また、本発明に従ったデータ処理装置では、前記第１または第２のデータにおける、前記各ブロックに対応するデータの記憶場所を示す情報は、前記各ブロックに対応するデータの記憶の開始される場所を示す情報と終了する場所を示す情報からなることが好ましい。
【００２２】
また、本発明に従ったデータ処理装置では、前記第１または第２のデータにおける、前記各ブロックに対応するデータの記憶場所を示す情報は、前記各ブロックに対応するデータの記憶の開始される場所を示す情報と当該各ブロックに対応するデータのサイズを示す情報からなることが好ましい。
【００２３】
また、本発明に従ったデータ処理装置では、前記第１または第２のデータにおける、前記各ブロックに対応するデータの記憶場所を示す情報は、前記各ブロックに対応するデータの記憶の開始される場所を示す情報と前記複数のブロックの中の最後のブロックの記憶が終了する場所を示す情報からなることが好ましい。
【００２４】
また、本発明に従ったデータ処理装置では、前記第１または第２のデータにおける、前記各ブロックに対応するデータの記憶場所を示す情報は、前記各ブロックに対応するデータの記憶の開始される場所を示す情報と前記複数のブロックの中の最後のブロックに対応するデータのサイズを示す情報からなることが好ましい。
【００２５】
本発明に従ったデータ処理方法は、階層構造を有する電子データを処理するデータ処理方法であって、前記電子データの中で処理対象となるブロックを指示する情報を受付けるステップと、前記第１のデータに基づいて、前記電子データの中の前記指示されたブロックに対応するデータを読込むステップと、前記第２のデータに基づいて、前記ブロック情報データの中の前記指示されたブロックに対応するデータを読込むステップと、前記ブロック情報データの中の前記指示されたブロックに対応するデータに基づいて、前記指示されたブロックの電子データを処理するための階層構造を解析するステップと、前記解析するステップの解析結果に基づいて、前記電子データの中の前記指示されたブロックに対応するデータを処理するステップとを含むことを特徴とする。なお、前記電子データには、当該電子データを複数のブロックに分割して処理するために当該複数のブロックのそれぞれに対応する階層構造についてのデータを含むブロック情報データと、前記電子データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第１のデータおよび前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第２のデータを含むブロック補助データとが付随している。
【００２６】
本発明に従ったデータ処理プログラムは、階層構造を有する電子データを処理するためのデータ処理プログラムであって、コンピュータに、前記電子データの中で処理対象となるブロックを指示する情報を受付けるステップと、前記第１のデータに基づいて、前記電子データの中の前記指示されたブロックに対応するデータを読込むステップと、前記第２のデータに基づいて、前記ブロック情報データの中の前記指示されたブロックに対応するデータを読込むステップと、前記ブロック情報データの中の前記指示されたブロックに対応するデータに基づいて、前記指示されたブロックの電子データを処理するための階層構造を解析するステップと、前記解析するステップの解析結果に基づいて、前記電子データの中の前記指示されたブロックに対応するデータを処理するステップとを実行させることを特徴とする。なお、前記電子データには、当該電子データを複数のブロックに分割して処理するために当該複数のブロックのそれぞれに対応する階層構造についてのデータを含むブロック情報データと、前記電子データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第１のデータおよび前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第２のデータを含むブロック補助データとが付随している。
【００２７】
本発明のある局面に従った記録媒体は、コンピュータによる読取りが可能な記録媒体であって、上記したデータ処理プログラムを記録していることを特徴とする。
【００２８】
本発明の他の局面に従った記録媒体は、階層構造を有する電子データを記録する記録媒体であって、前記電子データを複数のブロックに分割して処理するために当該複数のブロックのそれぞれに対応する階層構造についてのデータを含むブロック情報データ、および、前記電子データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第１のデータならびに前記ブロック情報データの中の前記複数のブロックの各ブロックに対応するデータについてのデータであって固定長のデータである第２のデータを含むブロック補助データとを記録していることを特徴とする。
【００２９】
【発明の実施の形態】
［第１の実施の形態］
図１は、本発明の第１の実施の形態であるデータ処理装置のブロック図の一例を、当該データ処理装置を含むデータ処理システムを構成する装置とともに示す図である。
【００３０】
データ処理システムは、サーバ１１１、ネットワーク１１２、パーソナルコンピュータ（以下「パソコン」と略す）１１３、記録媒体１１４、および、データ処理装置１１５を含む。
【００３１】
サーバ１１１は、ユーザからの要求を受信し、データベースに記録された電子データをネットワーク１１２を介して他の装置に送信する。ネットワーク１１２により、サーバ１１１とパソコン１１３とが接続される。パソコン１１３は、ユーザがサーバ１１１からの電子データを受信するために用いられる。記録媒体１１４は、パソコン１１３から電子データを取出してデータ処理装置１１５に電子データを供給するために用いられる。データ処理装置１１５は、記録媒体１１４から供給された電子データを処理して目的に応じて例えば表示などをするための装置である。
【００３２】
上記パソコン１１３をコンビニストア、駅構内などに設置された電子データ受信装置に代え、当該電子データ受信装置から電子データを取出し、記録媒体１１４に記録する方式としてもよい。この場合、当該電子データ受信装置から電子データを取出して記録媒体に記録する際に課金することが可能である。
【００３３】
また、サーバ１１１から送信される電子データを、パソコン１１３を介することなく、データ処理装置１１５が受信して記録媒体１１４に記録するように構成してもよい。
【００３４】
記録媒体１１４には、電子データ１０１、ブロック情報データ１０２、および、ブロック補助データ１０３が記録されている。ブロック情報データ１０２は、電子データ１０１に付随するデータである。また、ブロック補助データ１０３は、電子データ１０１とブロック情報データ１０２とに付随するデータである。
【００３５】
上記電子データ１０１は、文書記述言語の定義に従って所定の処理を実行させるための構造化された電子データであって、階層構造を有する構造化文書を記録するためのデータ形式であるＳＧＭＬやＸＭＬなどを用いて記録されている。ブロック情報データ１０２は、上記構造化された電子データ１０１を複数のブロックに分割し、分割された各ブロック毎に所定の処理を実行させるデータである。ブロック補助データ１０３は、電子データ１０１とブロック情報データ１０２とに関して、上記分割された各ブロック毎に所定の処理を実行させるデータであり、固定長のデータを含む。
【００３６】
データ処理装置１１５は、電子データ１０１とブロック情報データ１０２とブロック補助データ１０３とを読込む入力部１０４、電子データ１０１とブロック情報データ１０２とブロック補助データ１０３とから電子データ１０１の階層構造を解析するデータ構造解析部１０５、データ構造解析部１０５で解析した階層構造に基づき所定の処理を行なう処理部１０６、および、入力部１０４とデータ構造解析部１０５と処理部１０６における処理を制御する制御部１１０を含む。
【００３７】
処理部１０６の実行する処理は、対象とされる電子データの内容およびユーザから指示される内容によって異なる。つまり、処理部１０６の構成も、これらによって異なる。例えば、上記データ処理装置１１５が、インターネットで交換する電子文書や電子データ、単行本、教科書、雑誌、小説や論文のような文章などの表示を行なう表示装置である場合には、処理部１０６の構成は、図１に示すように、データ構造解析部１０５の解析結果に基づいて文章の表示レイアウトを計算するレイアウト計算部１０７と、計算された表示レイアウトに基づいて表示する表示部１０８と、スクロールなどのユーザからの指示に応じて処理を実行するユーザ指示処理部１０９とから構成される。なお、対象とされる電子データが音声データである場合は、処理部１０６は、読上げ装置に変更され、また表示部１０８には音声再生部が使用され、レイアウト計算部１０７は読む部分と読まない部分を判定したり、強調して読む部分とそうでない部分を判定したり、また各読上げの間隔を取る部分に変更される。また、音声データが処理される場合、階層構造に応じて音声属性を変えて読上げるようにしてもよい。さらに音声データが処理される場合には、シナリオ解釈部、音声出力部、再生源を管理するために、各要素の同期を取る同期部が必要になる。
【００３８】
図２に、データ処理装置１１５の一例である、携帯型機器で構成された表示装置を示す。
【００３９】
図２に示したデータ処理装置１１５では、表示部１０８は、レイアウト計算部１０７で計算した表示レイアウトに基づき表示し、ディスプレイなどから構成される。記録媒体１１４は、電子データ１０１とブロック情報データ１０２とブロック補助データ１０３を記録しており、データ処理装置１１５に対して着脱可能に構成されている。なお、電子データ１０１とブロック情報データ１０２とブロック補助データ１０３は、図１に示したように、パソコン１１３や電子データ受信装置によって、サーバ１１１またはネットワーク１１２等を介して文書データベースから取出され、記録媒体１１４に記録されている。記録媒体１１４がデータ処理装置１１５本体に挿入されることにより、データ処理装置１１５内に設けられた入力部（図１の入力部１０４、図２では図示略）を通して、上記３つのデータが読込まれる。
【００４０】
データ処理装置１１５本体には、ユーザが文書のスクロール指示や表示させたい書籍や文書を選択する場合などに使う十字キー１１６が設置されている。また、データ処理装置１１５には、データ処理装置１１５本体に対して着脱可能に、電子データにリンク機能が含まれる時にリンク先にジャンプするために使われるペン１１７が備えられている。なお、ペン１１７は、データ処理装置１１５から求められた確認事項にユーザが返答のための入力を行なうためにも使用される。
【００４１】
なお、データ処理装置１１５には、必ずしも、記録媒体１１４のように電子データ１０１とブロック情報データ１０２とブロック補助データ１０３の全てまたは一部を記録する記録媒体が適用される必要はない。データ処理装置１１５の内部に電子データ１０１とブロック情報データ１０２とブロック補助データ１０３の全てまたは一部を記録する領域を設け、そこに、これらの３つのデータの一部または全てを記録するようにしてもよい。また、ネットワーク１１２上のサーバ１１１あるいはデータベースにこれらの３つのデータの一部または全てを記録し、データ処理装置１１５は、これらをダウンロードしながら処理するようにしてもよい。
【００４２】
次に、図３を参照しつつ、ブロック情報データ１０２について説明する。図３は、ブロック情報データ１０２の構造の一例を示す図である。
【００４３】
ブロック情報データ１０２は、ブロック情報１とリンク先情報２を含む。
ブロック情報１は、電子データ１０１中におけるブロックデータ開始位置制御コードおよび終了位置制御コードなどから構成される。ブロックデータ開始位置制御コードとは、電子データ１０１の各ブロックの開始位置において、それまでに開始されかつ終了されて（閉じられて）いないタグ（制御コード）である。
【００４４】
リンク先情報２は、電子データ１０１中におけるリンク先データラベルなどから構成される情報である。ブロック情報データは、その長さが各ブロックに含まれるタグの内容に依存するため、基本的に可変長データで構成されるが、固定長データを含んでもよい。
【００４５】
次に、図４を参照して、ブロック補助データ１０３について説明する。図４は、ブロック補助データの構造の一例を示す図である。
【００４６】
ブロック補助データ１０３は、ファイル名３、ブロック情報４、および、リンク先情報５を含む。
【００４７】
ファイル名３は、ブロック情報データファイル名（対応するブロック情報データ１０２のファイル名）、および、電子データファイル名（対応する電子データ１０１のファイル名）等を含む。
【００４８】
ブロック情報４は、対応するブロック情報データ１０２におけるブロックデータ開始位置および終了位置、対応する電子データ１０１における各ブロックのデータ開始位置および終了位置、ならびに、電子データ１０１における各ブロックの次のブロックとの接続関係を示す情報（ブロック接続関係）等を含む。ブロック情報データ１０２において、ブロック情報１は、図３に示すように、各ブロックごとに設けられている。そして、ブロック情報データ１０２におけるブロックデータ開始位置，終了位置とは、それぞれ、ブロック情報データ１０２における各ブロックについてのブロック情報１の開始位置，終了位置である。
【００４９】
リンク先情報５は、ブロック情報データ１０２におけるリンク先データ開始位置および終了位置、ならびに、電子データ１０１におけるリンク先データ開始位置および終了位置等を含む。
【００５０】
ブロック情報４およびリンク先情報５は、固定長データからなる。なお、本実施の形態では、固定長データとは、電子データの内容に応じて情報が変動しても予め準備する所定のサイズ（例えば４バイト）を超えないようなデータを指す。
したがって、例えば、図４に示すように、ブロックデータ開始位置として４バイトが割り当てられた場合、ファイルの先頭からのバイト数を示す０から４２９４９６７２９５のいずれかの値を必要がある。また、図４に示すように、ファイル名領域として１６バイトが割り当てられた場合、アスキーコードであれば半角１５文字以内のファイル名が用いられなければならない。なお、各領域に対するサイズの割り当ては、取り扱う電子データや、データ処理装置１１５の処理能力に応じて決定すればよい。なお、各領域に対するサイズの割り当ては、図４に示されたものに限定されるものではない。例えば、各領域に対するサイズの割り当ては、取り扱う電子データや、データ処理装置の処理能力に応じて決定することができる。
【００５１】
ファイル名３は、当該ブロック補助データ１０３が、どの電子データ１０１またはブロック情報データ１０２に対するものかを記録するために用意された領域である。当該ブロック補助データ１０３が、電子データ１０１内または電子データ１０１に連結して記録される場合には、ファイル名３において、電子データファイル名の領域は省略してもよい。また、当該ブロック補助データ１０３が、ブロック情報データ１０２内もしくはブロック情報データ１０２に連結して記録される場合には、ファイル名３において、ブロック情報ファイル名の領域は省略してもよい。
【００５２】
また、ブロック補助データ１０３において、処理対象となる電子データ１０１によっては、リンク先情報５の領域は存在しないことがある。
【００５３】
また、詳細は後述するが、電子データ１０１が指定されたときに、データ処理装置１１５は、当該指定された電子データ１０１に対応するブロック補助データ１０３全体を読込むため、データ処理装置１１５における読込み保存用のメモリ容量などの制約によっては、固定長データの一部を、ブロック補助データ１０３ではなく、ブロック情報データ１０２に含めてもよい。読込み保存用のメモリ容量が十分に大きいときは、固定長データの大部分または全てをブロック補助データ１０３に含めることにより、ブロックデータ（電子データ１０１の中の処理対象となるブロックのデータ）を読込むときの読込み時間を短縮できる。
【００５４】
次に、ブロック情報データ１０２内およびブロック補助データ１０３内の各領域の書式について、文書記述言語の定義にしたがって記述され、階層構造を有する電子データの具体例であるＸＨＴＭＬ文書を用いて、説明していく。
【００５５】
図５は、図１７のＸＨＴＭＬ文書を、４つのブロック（ブロック１１，１２，１３，１４）に分割する場合の一例である。また、図６は、図１７に示されたＸＨＴＭＬ文書に対するブロック情報データ１０２の一例である。
【００５６】
図６のブロック情報２１〜２８は、図３のブロック情報１に含まれる情報である。なお、図５に示したブロック１１，１２，１３，１４のそれぞれの大きさについては、図７の説明とともに後述する。また、図６のブロック情報２１〜２２，２３〜２４，２５〜２６，２７〜２８は、それぞれ、図５のブロック１１，１２，１３，１４に対するブロック情報である。一般に、電子データ１０１をｎ個のブロックに分割する場合、ブロック情報データ１０２では、ブロック情報２１〜２２の構造がｎ回繰返し記録される。
【００５７】
ブロック情報２１，２３，２５，２７には、電子データ１０１の各ブロックの開始位置において、終了されていない開始タグが記録されている。
【００５８】
具体的には、ブロック情報２１は、ブロック１１の開始位置において終了されていない開始タグを記録する領域である。なお、ブロック１１は、ファイルの先頭から始まっているため、ブロック情報２１には、記録される制御コードが存在しない。
【００５９】
ブロック１２の開始位置では、＜ｈｔｍｌ＞が閉じられていない状態であるため、ブロック情報２３には＜ｈｔｍｌ＞が記録されている。
【００６０】
また、ブロック１３の開始位置のように、複数のタグ（＜ｈｔｍｌ＞，＜ｂｏｄｙ  ｂｇｃｏｌｏｒ＝“ｙｅｌｌｏｗ”＞，＜ｐ＞）が閉じられていない状態にある場合には、これらのタグが、＜ｈｔｍｌ＞，＜ｂｏｄｙ  ｂｇｃｏｌｏｒ＝“ｙｅｌｌｏｗ”＞，＜ｐ＞のように、出現順に連結してブロック情報２５に記録される。なお、＜ｂｏｄｙ＞タグのように属性（ｂｇｃｏｌｏｒ＝“ｙｅｌｌｏｗ”）を持つ場合は、当該属性がつけられたまま記録される。
【００６１】
ブロック１４についても同様に、＜ｈｔｍｌ＞，＜ｂｏｄｙ  ｂｇｃｏｌｏｒ＝“ｙｅｌｌｏｗ”＞というタグが、ブロック情報２７に記録されている。
【００６２】
ブロック情報２２，２４，２６，２８には、電子データ１０１の中の対応する各ブロックの終了位置において閉じられていないタグの終了タグが記録される。
【００６３】
具体的には、ブロック１１の終了位置においては、＜ｈｔｍｌ＞タグが終了されていない状態であるため、ブロック情報２２には、＜／ｈｔｍｌ＞が記録される。
【００６４】
また、ブロック１２の終了位置においては、＜ｈｔｍｌ＞，＜ｂｏｄｙ  ｂｇｃｏｌｏｒ＝“ｙｅｌｌｏｗ”＞，＜ｐ＞タグが閉じられていないため、出現順とは逆の順番で、上記の終了タグが、＜／ｐ＞＜／ｂｏｄｙ＞＜／ｈｔｍｌ＞と連結されて、ブロック情報２４に記録される。
【００６５】
同様にして、ブロック１３に対しては＜／ｂｏｄｙ＞＜／ｈｔｍｌ＞というタグが記録される。
【００６６】
ブロック１４の終了位置では、すべてのタグが閉じられている状態であるので、ブロック情報２８には何も記録されない。
【００６７】
図６のリンク先ラベル２９は、図３のリンク先情報２に含まれる情報であり、リンク先ラベルについての情報を記録される。具体例を示すと、図５のリンク先情報７には、＜ａ＞タグのｎａｍｅ属性に記録されたラベル名「ＳＵＭＭＡＲＹ」が含まれる。そして、当該ラベル名が、リンク先ラベル２９の欄に記録されている。なお、リンクについては、図７を参照して、後述する。
【００６８】
図７は、図１７のＸＨＴＭＬ文書に対するブロック補助データ１０３の一例を示す図である。
【００６９】
図７のブロック情報３１〜３２は、図４のファイル名３に含まれる情報である。ブロック情報３１は、ブロック情報データファイル名であり、対応するブロック情報データ１０２（図６参照）のファイル名が記録される。ブロック情報３２は、電子データファイル名であり、図１７のＸＨＴＭＬ文書（電子データ１０１）のファイル名が記録される。
【００７０】
図７のブロック情報３３〜５３は、図４のブロック情報４に含まれる情報である。ブロック情報３３は、電子データ１０１におけるブロック数を記録する領域であり、電子データ１０１が４つのブロックに分割される場合には４が記録される。電子データ１０１が複数のブロックに分割される際の１つのブロックの大きさは、データ処理装置１１５の処理能力によって決められる。ブロックの大きさは、例えば、主としてデータ処理装置の画面の大きさ、電子データを処理する速度で決められ、その他には電子データの大きさ、メモリ容量、通信速度、表示文字のフォント数、行間の大きさ、画面周囲の余白の大きさによっても決められる。
【００７１】
図７のブロック情報３４〜３８，３９〜４３，４４〜４８，４９〜５３は、それぞれ、図５のブロック１１，１２，１３，１４に対応するブロック情報である。一般に、電子データ１０１がｎ個のブロックに分割される場合、ブロック補助データ１０３では、ブロック情報３４〜３８の構造が、ｎ回繰返して記録される。
【００７２】
ブロック情報３４，３９，４４，４９には、対応するブロックのブロック情報データ１０２における開始位置が、ブロック情報３５，４０，４５，５０には、その終了位置が、それぞれ、ブロック情報データ１０２のファイルの先頭からのバイト数の形で、記録される。
【００７３】
ブロック情報３６，４１，４６，５１には、対応するブロックの電子データ１０１における開始位置が、ブロック情報３７，４２，４７，５２には、その終了位置が、それぞれ、電子データ１０１のファイルの先頭からのバイト数の形で、記録される。
【００７４】
ブロック情報３８，４３，４８，５３には、対応するブロックの電子データ１０１における前後のブロックとの接続関係が、ビットフラグまたは状態番号の形で、記録される。ここで、ブロック接続関係とは、各ブロックの論理的な前後ページへの表示制限を示し、ブロック間に改ページや改行が存在するかどうか、前後ブロックへの移動を許可するかどうか、などの情報から構成される。
【００７５】
データ処理装置１１５において、ブロック１２に属するデータを取出す場合、まず、ブロック補助データ１０３においてブロック情報３９，４０の値が調べらる。そして、値を調べられた結果、ブロック情報データ１０２のファイルの先頭から数えて１０バイト目から３５バイト目までを読込めばよいことが認識される。次に、ブロック補助データ１０３においてブロック情報４１と４２の値が調べられる。そして、値を調べられた結果、電子データ１０１のファイルの先頭から数えて２１２バイト目から４２３バイト目までを読込めばよいことが認識される。そして、さらに、ブロック補助データ１０３においてブロック情報４３の値が調べられる。そして、値を調べられた結果、ブロック２についての前後のブロックとの接続関係を表す情報が取得される。
【００７６】
図７のリンク先情報５４〜５８は、図４のリンク先情報５に含まれる情報である。リンク先情報５４〜５８には、図１７のＸＨＴＭＬ文書のうち、リンク先として指定されたラベルに関して、ラベル数と、ブロック情報ファイル中におけるラベル名記録位置と、電子データファイル中におけるラベル位置とが記録される。
【００７７】
ここで、ＸＨＴＭＬ文書のリンクについて簡単に説明する。ＸＨＴＭＬ文書では、＜ａ＞タグによって他のファイルやファイルの一部へリンクをはることができる。例えば、図５のリンク先情報６，７は、同一ファイルの一部へのリンクがはられた例である。この例で、リンク先情報６の＜ａ＞タグで囲まれた文字列”ＢＢＢ”がクリックされると、ｈｒｅｆ属性で指定されたラベル”ＳＵＭＭＡＲＹ”が設定されている場所、つまり、＜ａ＞のｎａｍｅ属性に”ＳＵＭＭＡＲＹ”が設定されているリンク先情報７に表示位置をジャンプさせる。
【００７８】
図１７のＸＨＴＭＬ文書の場合、ｎａｍｅ属性を持つ＜ａ＞タグは一つしか存在しないため、ブロック情報５４には１が記録され、ブロック補助データ１０３には、ブロック情報５５〜５８の組み合わせが１回だけ記録される。一般的に、ｎａｍｅ属性を持つ＜ａ＞タグがｎ個ある場合は、ブロック補助データ１０３において、ブロック情報５５〜５８の構造がｎ回繰返される。ブロック情報５５，５６には、ブロック情報データ１０２における＜ａ＞タグのｎａｍｅ属性に記録されたラベル名の記録の開始位置，終了位置が、当該ブロック情報データ１０２のファイルの先頭からのバイト数の形で、それぞれ、記録されている。ブロック情報５７，５８には、電子データ１０１における＜ａ＞タグに挟まれた文字列の記録の開始位置，終了位置が、電子データ１０１のファイル先頭からのバイト数の形で、それぞれ、記録されている。
【００７９】
ブロック情報データ１０２およびブロック補助データ１０３は、対象とする電子データ１０１の種類によって、その構成および書式が若干変更可能である。たとえば、上記したブロック情報データ１０２のリンク先情報２、および、ブロック補助データ１０３のリンク先情報５は、ＸＨＴＭＬ文書の機能であるリンク機能のための情報であるため、ＸＨＴＭＬ文書などの電子書籍以外の電子データに対しては存在しないこともある。しかし、対象となる電子データ１０１が、他のブロック内のデータを参照しながら処理を進めるような電子データや、ユーザの動作に応じて他ブロック内のデータを表示または再生させたりする機能を持つような電子データである場合には、アクセスしやすくするために、当該他のブロック内のデータがどこにあるかを上記したリンク先情報２およびリンク先情報５に記録しておくとよい。
【００８０】
また、本実施の形態において示した電子データ１０１，ブロック情報データ１０２およびブロック補助データ１０３が適用可能な電子データは、ＸＭＬ形式のデータに限られない。一般に、階層構造を有する構造化文書に対して適用可能であり、具体的には、ブロック情報データ１０２のブロック情報１およびブロック補助データ１０３のブロック情報４の、開始／終了位置制御コードに、ブロックの開始／終了位置での階層構造がわかるように、それぞれの書式で記録しておけばよい。
【００８１】
また、データ処理装置１１５においてデータの読込みの際に使用できるメモリ容量などの制約に応じて、上記したブロック補助データ１０３のファイル名３をブロック情報データ１０２の方に記録させてもいいし、或いは、電子データ１０１およびブロック情報データ１０２が一つずつしか存在しない場合は省略されてもいい。また、上記のメモリ容量などの制約（制限）に応じて、上記したブロック補助データ１０３のリンク先情報５をブロック情報データ１０２の方に記録させてもいいし、省略してもいい。
【００８２】
また、説明を簡単にするためにブロック補助データは固定長情報のみで構成されると説明してきたが、実際には少なくとも図４のブロック情報４に相当する領域がブロック単位に固定長で表現され（図４の場合１ブロックにつき１８バイト）、上記ブロック単位の固定長情報が、ブロック数だけ繰返されて、記録されていればよい。さらには、ブロック数も可変長であってもよい。この場合、少なくともブロック単位の固定長情報のみがブロック数だけ繰返されて記録されていればよい。
【００８３】
本発明では、ブロック補助データ１０３内のブロック情報が固定長データを含むことが特徴であり、例えば、ブロック補助データ１０３が、ブロック数、および、ブロック数だけ繰返して出現するブロック情報データ開始位置，終了位置のみから構成されていてもよい。
【００８４】
次に、上記電子データ１０１とブロック情報データ１０２とブロック補助データ１０３とを用いて、電子データ１０１内の一部のブロックのデータを処理する際に、データ処理装置１１５において実行される動作について説明する。なお、以下の説明では、データ処理装置１１５として表示装置が採用された際の例を示す。
【００８５】
図８は、データ処理装置１１５（表示装置）の制御部１１０が実行する処理のフローチャートである。
【００８６】
図８を参照して、まず、ユーザ指示処理部１０９を通じてユーザから表示したい電子データ１０１の指定を受付ける（ステップＳ１０１、以下「ステップ」を省略し単に「Ｓ１０１」と記述する）。
【００８７】
次に、指定された電子データ１０１に対して用意された固定長のブロック補助データ１０３を、入力部１０４から読込む（Ｓ１０２）。
【００８８】
次に、Ｓ１０２で読込んだブロック補助データ１０３のうち、各ブロックの電子データ１０１における開始／終了位置と、画面に表示しようとしている領域のファイル先頭からの位置をもとに、当該電子データ１０１の中のどのブロックを読込むか（処理対象とするか）判断する（Ｓ１０３）。
【００８９】
そして、ブロック情報データ１０２から必要なブロックのデータのみを、入力部１０４から読込む（Ｓ１０４）。
【００９０】
そして、電子データ１０１の中の必要なブロックのデータのみを、入力部１０４から読込む（Ｓ１０５）。
【００９１】
ここで、Ｓ１０３における読込み対象ブロックの決定において、ブロック補助データ１０３の少なくともブロック情報４を構成するデータが固定長であることを利用して、電子データ１０１における各ブロックの開始／終了位置を効率よく読出すことができる。また、ブロック補助データ１０３において固定長データが記録される領域は、連続した領域で構成することが好ましい。連続した領域に記録されることにより、ブロック補助データ１０３の一部またはすべてのデータが固定長であることを利用して、電子データ１０１における各ブロックの開始／終了位置を効率よく読出すことができる。
【００９２】
具体的には、ブロック補助データ１０３のすべてのデータが可変長である場合、ブロック補助データ１０３全体の最初から総当りで所望のデータ（各ブロックの電子データにおける開始／終了位置）であるかどうかを判定していく必要がある。しかしながら、少なくともブロック情報４を構成するデータが固定長である場合には、所望のデータ（電子データ１０１における各ブロックの開始／終了位置）がブロック補助データ１０３の何バイト目に存在するのかを計算して、直接アクセスして読出すことが可能となる。
【００９３】
また、Ｓ１０３で説明したように、ブロック補助データ１０３における固定長領域が、連続した領域で構成される場合、ブロック補助データ１０３が固定長のデータを含むことを利用して、ブロック補助データ１０３において、電子データ１０１における各ブロックの開始／終了位置を効率よく読出すことができる。これにより、効率よく、読出した開始／終了位置を用いて電子データ１０１を読出すことができる。
【００９４】
また、Ｓ１０４では、読込んだブロック情報データ１０２の内容を参照し、対象となるブロックの開始／終了位置における制御コードを調べる。なお、Ｓ１０３で説明したように、ブロック補助データ１０３において固定長データで構成される領域が、連続した領域で構成される場合、ブロック補助データ１０３が固定長であることを利用して、ブロック補助データ１０３において、ブロック情報データ１０２における各ブロックの開始／終了位置を効率よく読出すことができる。これにより、効率よく、読出した開始／終了位置を用いてブロック情報データ１０２を読出すことができる。
【００９５】
そして、Ｓ１０４でブロック情報データ１０２を読込んだ結果に基づいて、開始位置制御コード、ブロックデータ、終了位置制御コードを順に連結させ、電子データ１０１の対象とするブロックについての階層構造を解析し、木構造を作成する（Ｓ１０６）。
【００９６】
例えば、図５のブロック１３を読込んだ場合には、図６のブロック情報２５とブロック情報２６とを前後に連結した、図９のようなデータを作成し、階層構造を解析する。図９において、制御コード６２は、ブロック情報２５に記録された制御コードであり、データ６３は、Ｓ１０５で読込まれたブロック１３のデータであり、制御コード６４は、ブロック情報２６に記録された制御コードである。
なお、図９のように、必要ならば、先頭に６１のようなＸＭＬ宣言と文書型宣言を付けても良い。このステップＳ１０６の処理はデータ構造解析部１０５で行なわれる。
【００９７】
次に、レイアウト計算部１０７に、Ｓ１０６で作成した１ブロック分の木構造をもとに、表示画面内でのレイアウトを計算させる（Ｓ１０７）。
【００９８】
そして、Ｓ１０７における計算の結果、表示部１０８が持つ表示画面全体のレイアウトが決まれば（Ｓ１０８でＹＥＳ判断時）、Ｓ１０９で、表示部１０８に、レイアウト計算結果に基づく画面を表示させる。
【００９９】
一方、Ｓ１０８において、まだ表示画面のうちレイアウトが決まっていない領域があれば（Ｓ１０８でＮＯ判断時）、Ｓ１０４に処理を戻し、次のブロックについての各データ（ブロック情報データ１０２，電子データ１０１）を読込み（Ｓ１０４，Ｓ１０５）、そして、当該次のブロックの木構造を作成して（Ｓ１０６）、レイアウト計算部１０７に、一つ前のブロックに対して求めたレイアウト画面の続きから、現在のブロックのレイアウト処理（計算）を行なわせる（Ｓ１０７）。そして、Ｓ１０８，Ｓ１０９の処理を、先に説明したのと同様に行なう。
【０１００】
Ｓ１０９で表示部１０８に表示させた後は、Ｓ１１０で、ユーザからの指示を待つ。ユーザからの指示があるまで、Ｓ１１０で待機する。
【０１０１】
ここで、ユーザから表示処理の終了が指示された場合、表示処理を終了する。
なお、Ｓ１１０において、ユーザから次ページ、あるいは前ページのスクロール指示があった場合、Ｓ１１２に処理を移行させ、ユーザから受けたスクロール指示の結果、次に表示する内容が現在のブロックと同じかどうか判断する。もし同じならば（ＹＥＳ判断時）、Ｓ１０７に処理を移行させ、先に作成した木構造を元にレイアウト処理をし、以下先に説明したのと同様にして、Ｓ１０８以降の処理を続ける。一方、Ｓ１１２の判断の結果、現在と異なるブロックと判断された場合は（ＮＯ判断時）、Ｓ１０４に処理を移行させ、表示に必要なブロックについての各データ（ブロック情報データ１０２，電子データ１０１）を読込み（Ｓ１０４，Ｓ１０５）、以下先に説明したのと同様にして、Ｓ１０６以降の処理を続ける。
【０１０２】
一方、Ｓ１１０において、リンクジャンプなどにより、他の領域へ表示領域を移動するように指示された場合、Ｓ１１１に処理を移行させ、移動先が他ファイル（他の電子データ１０１）への移動か自ファイル内（現在処理対象となっている電子データ１０１）への移動かを調べる。例えば、ＸＨＴＭＬ文書では、ｈｒｅｆ属性を持つ＜ａ＞タグで挟まれた文字列がクリックされると、ｈｒｅｆ属性の値から、他ファイルへのリンクか、自ファイル内へのリンクかが判断される。その結果、自ファイル内へのリンクであった場合（ＮＯ判断時）、Ｓ１１２に処理を移行させ、リンク先が現在のブロックと同じかどうか判断する。
【０１０３】
ここでＳ１１２の処理が実行される際、ブロック補助データ１０３に記録されたリンク先情報５を参照して、リンク先がどのブロックに含まれるかが調べられる。例えば、図７の例でいえば、ブロック情報５４〜５８の領域を参照し、＜ａ＞のｈｒｅｆ属性で指定されたリンク先のラベルが、ファイル内のどの位置にあるかを調べる。その後、ブロック情報３６〜３７，４１〜４２，４６〜４７，５１〜５２を参照して、その位置がどのブロックに含まれるかを調べることでリンク先のブロックを調べる。求められたリンク先のブロックが現在のブロックと同じであれば（ＹＥＳ判断時）、Ｓ１０７に処理が移行され、以降、先に説明したのと同様の処理を行なう。一方、リンク先のブロックが現在のブロックと別のブロックであれば（ＮＯ判断時）、Ｓ１０４に処理が戻され、そのブロックについての各データ（ブロック情報データ１０２，電子データ１０１）を読込み、以降、先に説明したのと同様の処理を行なう。
【０１０４】
また、Ｓ１１１における判断の結果、リンク先が他のファイルであった場合（ＹＥＳ判断時）は、Ｓ１０２に処理が戻され、リンク先のファイルに対して用意されたブロック補助データ１０３を読込み、以降、先に説明したのと同様の処理を行なう。
【０１０５】
以上説明したように、データ処理装置１１５においてデータの読込みの際に使用されるメモリの容量に応じて構成された、固定長のデータを含むブロック補助データ１０３を用いて処理することで、ブロック補助データ１０３をはじめ、ブロック情報データ１０２および電子データ１０１の一部のデータのみを効率よく読込んで処理することができるため、高速かつ低メモリでの処理ができる。このような特徴を有する本発明は、データ処理装置１１５においてデータの読込みの際に使用されるメモリの容量が小さいときに、特に大きな効果を発揮する。具体的には、ブロック補助データ１０３の読込み（Ｓ１０２）において、ブロック補助データ１０３に可変長情報が含まれる場合、ブロック補助データ１０３が上記のメモリの容量をオーバーする危険がある。本発明では、ブロック補助データ１０３に固定長データを含ませ、また、ブロック情報４のようにブロック情報データ１０２および電子データ１０１の読込むべき位置を示すようなデータについては固定長データに限定することにより、記録媒体１１４の記録容量などから電子データ１０１の最大サイズを見積もり、上記のメモリの容量をオーバーしないブロック補助データ１０３の構造を予め作成しておくことができる。
【０１０６】
なお、本実施の形態では、電子データ１０１としてＸＨＴＭＬ文書を例に挙げながら説明したが、以上の説明から明らかなように、電子データ１０１はＸＨＴＭＬ文書に限定されるものではない。また、データ処理装置１１５は、表示装置に対象を限定されるものではない。
【０１０７】
ただし、ＸＨＴＭＬ文書のようなリンク機能を持ち、階層構造を有する電子データ１０１の表示装置（データ処理装置１１５）に対しては、図３のブロック情報データと、図４のブロック補助データと、図８のフローチャートとが適用可能である。
【０１０８】
そして、電子データ１０１がリンク機能を持たない場合、図３のリンク先情報２と、図４のリンク先情報５と、図８のステップＳ１１１とが省略されることで、本発明は適用可能である。例えば、日本電子出版協会が標準化を進めているＪｅｐａＸ（ＪＥＰＡ電子出版交換フォーマット）、日本電子ブックコミッティーが提案しているネットワーク電子ブックフォーマット（Ｎｅｔｗｏｒｋ  Ｅｌｅｃｔｒｏｎｉｃ  Ｂｏｏｋ  Ｆｏｒｍａｔ）など、ＸＭＬなどにより記録された階層構造を有する電子データであれば、図８と同様にして処理ができる。
【０１０９】
また、本発明は、電子データ１０１に付随させて、固定長のデータを含むブロック補助データ１０３を用意することにより、階層構造をもつ電子データ１０１の一部分のみを効率よく読出して処理できることに特徴がある。そのため、図１のブロック図において、処理部１０６を、処理装置固有の処理を実行する要素に代えることにより、表示装置に限らず、他の処理装置に対しても本発明を適用できる。そして、このように代えられた場合、図８のフローチャートにおいては、Ｓ１０７〜Ｓ１０９の処理が、処理装置固有の処理に代えられる。例えば、文章の読上げ装置の場合、これらの処理は、電子データのうち読上げる箇所と読上げない箇所を判断したり箇所に応じて読上げる音質や強度を設定したりする処理と音声再生する処理等、適切な処理に、置き換えられる。
【０１１０】
一方、本実施の形態においては、ＸＭＬなどのように階層構造を有する電子データを対象に説明をしてきたが、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）文書のように、完全には階層構造を有しない電子データに対しても適用可能である。
【０１１１】
図１０に、ＨＴＭＬ文書の一例を示す。図１０を参照して、ＨＴＭＬ文書には、例えば＜ｂａｓｅｆｏｎｔ＞という基準フォントのサイズを指定するタグがある。図１０に示すように、タグ７２としてサイズを指定すると、それ以降の文章の階層構造に関係なく、次の＜ｂａｓｅｆｏｎｔ＞というタグによる指定が出現するまで、基準フォントのサイズが３（ｓｉｚｅ＝”３”で指定）に設定される。例えば、タグ７２の＜ｂａｓｅｆｏｎｔ＞は、＜ｐ＞タグや＜ｕ＞タグなどに挟まれているが、＜ｐ＞や＜ｕ＞の終了タグが現れてもタグ７２による設定が持続されるため、階層構造が崩れてしまっている。このように、階層構造を無視して効果が持続するようなタグが存在する場合、そのようなタグを含むブロックの終了位置制御コードにそのタグの終了タグも記録し、次ブロック以降にも、開始位置制御コードにそのタグを、終了位置制御コードにそのタグの終了タグを追加しておけば良い。このように処理されることにより、別のブロックのみを処理する場合でも、そのタグの効果がそのブロックにかかっていることを、データ処理装置１１５側で認識できるため、図８と同様な処理が可能となる。
【０１１２】
［第２の実施の形態］
次に、本発明の第２の実施の形態について説明する。
【０１１３】
図１１は、本発明の第２の実施の形態であるデータ処理装置のブロック図の一例を示す図である。
【０１１４】
データ処理装置２１４は、記録媒体２１３に記録される各種のデータを読込む。記録媒体２１３には、処理する対象となる電子データ２０１、電子データ２０１に付随するブロック情報データ２０２、電子データ２０１およびブロック情報データ２０２に付随するブロック補助データ２０３が記録されている。
【０１１５】
また、データ処理装置２１４は、電子データ２０１とブロック情報データ２０２とブロック補助データ２０３とを読込む入力部２０４、電子データ２０１とブロック情報データ２０２とブロック補助データ２０３とからデータの階層構造を解析するデータ構造解析部２０５、ブロック情報データ２０２が存在しない場合にそれを電子データ２０１から作成するブロック情報データ作成部２１１、ブロック補助データ２０３が存在しない場合にそれを電子データ２０１から作成するブロック補助データ作成部２１２、データ構造解析部２０５で解析した階層構造に基づき所定の処理を行なう処理部２０６、入力部２０４とデータ構造解析部２０５とブロック情報データ作成部２１１とブロック補助データ作成部２１２と処理部２０６における処理を制御する制御部２１０である。
【０１１６】
電子データ２０１とブロック情報データ２０２とブロック補助データ２０３とは、第１の実施の形態の電子データ１０１とブロック情報データ１０２とブロック補助データ１０３と同様に、記録媒体２１３に記録され、かつ、データ処理装置２１４に読込まれる。
【０１１７】
処理部２０６は、対象とする電子データ２０１の内容および処理内容によって構成が異なるが、データ処理装置２１４が文章などの表示を行なう表示装置である場合には、図１１に示すような構成とされる。つまり、図１１では、処理部２０６は、データ構造解析部２０５の解析結果に基づいて文章の表示レイアウトを計算するレイアウト計算部２０７と、計算した表示レイアウトに基づいて表示する表示部２０８と、スクロールなどのユーザからの指示を処理するユーザ指示処理部２０９とから構成される。
【０１１８】
図１２に、図１１に示したデータ処理装置２１４において電子データ２０１に対する処理が実行される際の、制御部２１０の処理のフローチャートを示す。
【０１１９】
図１２を参照して、まず、ユーザによって、キーボード、マウス、ペン等を使用して、処理する電子データ２０１が指定されると（Ｓ２０１）、ユーザ指示処理部２０９を通じて上記電子データ２０１に対するブロック情報データ２０２が存在するかどうかを判定する（Ｓ２０２）。そして、存在しない場合（Ｓ２０２でＮＯ判断時）Ｓ２０４に処理を進め、存在する場合（Ｓ２０２でＹＥＳ判断時）、Ｓ２０３で、ブロック補助データ２０３が存在するかどうかを判定する。
【０１２０】
ブロック補助データ２０３が存在する場合（Ｓ２０３でＹＥＳ判断時）、前記第１の実施の形態と同様の処理となり、図８のステップＳ１０２以降の処理が行なわれる。一方、Ｓ２０３において対応するブロック補助データが存在しないと判定された場合（Ｓ２０３でＮＯ判断時）、Ｓ２０４に処理が進められる。
【０１２１】
Ｓ２０４では、ブロック情報データ２０２およびブロック補助データ２０３の中で存在しないと判断されたものが作成され、そして、引き続き、図８のＳ１０２以降の処理が行なわれる。
【０１２２】
ここで、Ｓ２０２における判定処理と、Ｓ２０３における判定処理の順序は逆であってもよい。Ｓ１０２以降の処理は、第１の実施の形態で説明した通りなので説明を繰返さない。
【０１２３】
次に、Ｓ２０４の処理について、詳しく説明する。ブロック情報データ作成部２１１またはブロック補助データ作成部２１２では、入力部２０４より入力した電子データ２０１を複数のブロックに分割し、それぞれのブロックの開始／終了位置での制御コードを調べる。制御コードを調べる処理は、ブロック情報データ作成部２１１またはブロック補助データ作成部２１２のどちらで処理するように構成してもよい。また、ブロック情報データ作成部２１１は図３に示したブロック情報データを作成し、ブロック補助データ作成部２１２は図４に示したブロック補助データを作成する。
【０１２４】
Ｓ２０４においてブロック情報データおよび／またはブロック補助データを作成する処理のサブルーチンのフローチャートを図１３に示す。
【０１２５】
まず、ブロックサイズの目標値を設定する（Ｓ３０１）。目標とするブロックサイズは、例えば、主としてデータ処理装置の処理能力であるデータの処理速度、表示画面の大きさで決められ、その外に文書データの量、メモリ容量、通信速度、表示文字のフォント数、行間、表示画面の周囲の余白の大きさなどで決められる。なお、処理装置があらかじめ持つデフォルト値、もしくはユーザにより指定された値を用いてもよい。この第２の実施の形態では、ブロックサイズの目標値が２００バイトの大きさに決められた例を示す。なお、図６および図７は、ブロックサイズの目標値を２００バイトに設定して作成したものである。
【０１２６】
ここで、設定するブロックサイズを目標値としたのは、一般に、ブロック分割できる箇所に制限があるためである。詳しくは後述するＳ３０３の説明で述べる。
【０１２７】
Ｓ３０１によりブロックサイズの目標値Ｔが設定されると、ファイル先頭からＴバイト目を挟んだ前後Ｘバイトの領域を、ブロック境界の探索範囲に設定する（Ｓ３０２）。Ｘの値は、例えば、ブロックサイズの目標値Ｔの半分に設定される。
【０１２８】
そして、その探索範囲内における境界候補を抽出する（Ｓ３０３）。境界候補は、対象とする電子データの種類によって変わるが、例えば、電子データがＸＭＬ文書である場合は、区切る箇所はタグやコメント、文字列の途中ではなく、タグの直前か直後で区切る。例えば、”＜ｄｉｖ  ｉｄ＝”ＩＤ１”＞ａｂｃｄｅｆ＜／ｄｉｖ＞”というデータ列がある場合、”＜ｄｉｖ  ｉｄ＝”ＩＤ１”＞”の直前もしくは直後、または”＜／ｄｉｖ＞”の直前か直後にブロックの境界を設定する。タグの途中で区切られないのは、”＜ｄｉｖ  ｉｄ＝”ＩＤ１”＞”の途中で区切られると、タグ名や属性名、属性値が途中で切れてしまう可能性があるためであり、文字列要素”ａｂｃｄｅｆ”の途中で区切られないのは、タグで挟まれた文字列／文章が、それ自身で一つの意味のある文字列／文章を形成している場合が多く、意味のある文字列／文章を途中で分断する事は避けた方が望ましいためである。さらに、処理装置がＸＨＴＭＬ文書のような電子書籍を表示する表示装置である場合は、上記の制限に加え、改行タグの直後や、段落の先頭など、行頭から表示が始まる箇所を境界候補とする事が望ましい。
【０１２９】
例えば、図１４（Ａ）のようなＸＨＴＭＬ文書を、行の途中で２つのブロック８１，８２に区切った場合を考える。
【０１３０】
この時、ＸＨＴＭＬ文書の先頭から表示した場合の表示例を図１４（Ｂ）に示す。ブロック８１が行の途中で終わる場合、このようにブロック８２は行の途中（３行目の７文字目以降）からレイアウトされる事になる。
【０１３１】
一方、ユーザの指示などにより、ブロック８２の先頭から表示するよう指示された場合、ブロック８１のみを読込んでレイアウト計算がされるため、図１４（Ｃ）のようにブロック８２は行の先端から表示される。そのため、ユーザによって、ブロック８２から８１へ、文章とは逆方向にスクロール指示がされると、図１４（Ｂ）と図１４（Ｃ）のようにブロック８２の表示開始位置が異なるため、ブロック切り替わり時に表示が乱れてしまう。
【０１３２】
これに対し、ブロックの分割位置を行頭から表示が始まる箇所に限定しておくと、直前のブロックのレイアウト結果によることなく、常に行頭からレイアウトすることになるため、このような問題が生じない。よって、ＸＨＴＭＬ文書のような電子書籍の場合は、ブロックの境界候補を、タグの直前もしくは直後であり、しかも表示が常に行頭となる箇所から抽出する。
【０１３３】
次に、Ｓ３０３において抽出された境界候補の数により、条件分岐される（Ｓ３０４）。もし境界候補が見つからなければ（ＮＯ判断時）、Ｓ３０２に処理を移行させ、探索範囲をファイルの下方にずらして、先に述べたのと同様にしてＳ３０２以降の処理をする。一方、境界候補が存在していれば（ＹＥＳ判断時）、Ｓ３０２で設定した探索範囲の中心に一番近い候補を選び、境界に設定する（Ｓ３０５）。
【０１３４】
そして、ブロックの開始／終了位置の、ファイル先頭からの位置および階層関係を調べ、図３のブロック情報１並びに図４のブロック情報４に記録する１ブロック分の情報を取得する（Ｓ３０６）。
【０１３５】
そして、上記ブロックの終端がファイルの終端かどうかを調べ（Ｓ３０７）、終端でなければ（ＮＯ判断時）、Ｓ３０２に処理を移行させ、次のブロックの調査を続ける。一方、ファイルの終端と一致すれば（ＹＥＳ判断時）、Ｓ３０１からＳ３０７で調べたブロック情報中の可変長データ（開始位置制御コードおよび終了位置制御コード）をブロック情報データ２０２に記録する（Ｓ３０８）。この時、もし必要ならばリンク先情報も調査し、ブロック情報データにリンク先情報中の可変長データ（ラベル名）を記録するようにする。
【０１３６】
次に、固定長で記録されるファイル名（ブロック情報データファイル名、電子データファイル名）と、Ｓ３０１からＳ３０７で調べたブロック情報中の固定長データ（ブロック数、電子データ内のブロック開始／終了位置）と、Ｓ３０８で記録したブロック情報データ並びに必要に応じてリンク先情報データのブロック情報データ内の開始／終了位置とを、ブロック補助データ２０３に記録する（Ｓ３０９）。
【０１３７】
Ｓ３０９の処理を終えると、ブロック情報作成処理を終了させる。
なお、本実施の形態はブロック情報データ作成部２１１およびブロック補助データ作成部２１２がデータ処理装置２１４内にある場合について説明したが、ブロック情報データ作成部２１１またはブロック補助データ作成部２１２が第１の実施の形態で説明した文書データベース、あるいはサーバ１１１に備えられ、文書データベースまたはサーバ１１１で、ブロック情報データ２０２および／またはブロック補助データ２０３を作成することも可能である。この場合の処理の流れは、本実施の形態で図１２および図１３を参照して説明した通りである。
【０１３８】
また、本実施の形態では所々で表示装置を例に挙げて説明したが、以上の説明から明らかなように、本発明は、可変長を含むブロック情報データ２０２、および／または、固定長のデータを含むブロック補助データ２０３を作成して処理することによって、階層構造をもつ電子データ２０１の一部分のみを効率よく読出して処理できることに特徴がある。そのため、図１１のブロック図において、処理部２０６を処理装置固有の処理部に代えることにより、表示装置に限らず、一般のデータ処理装置に対しても本発明を適用できる。
【０１３９】
また、本発明は、第１の実施の形態および第２の実施の形態で説明した記録媒体１１４（または２１３）を介することなく、サーバ１１１と、データ処理装置１１５（または２１４）との間でサーバ−クライアント方式の処理を行ない、データを直接通信して実施することもできる。この場合、記録媒体１１４（または２１３）は存在しないが、通信に用いられるデータの形態が、これまでに説明してきた通り、電子データ１０１（または２０１）と、ブロック情報データ１０２（または２０２）と、固定長情報を含んで構成されるブロック補助データ１０３（または２０３）とを備える構造であればよい。
【０１４０】
また、図４に示した、本発明の特徴の一つとなる固定長情報を含んで構成されるブロック補助データの例では、ファイル名を記録しているが、電子データと連続してデータを記録する場合や、予め別途ファイル名とデータの対応がわかっている場合には、ファイル名を記録しなくてもよい。
【０１４１】
また、ブロック情報と、リンク先情報とについて、ブロック情報データならびに電子データ内における、ブロック開始／終了位置と、リンク先情報開始／終了位置とを記録しているが、ブロック終了位置をブロックサイズに、またリンク先情報終了位置をリンク先情報サイズに置き換えることによって、固定長で割り当てる領域を小さくすることができる。例えば、第２の実施の形態で説明したように、ブロックサイズが２００バイト前後になるようにブロック情報を作成した場合、１００００バイト前後の電子データであれば、最後のブロックの開始位置は９８００バイト前後、終了位置は１００００バイト前後となる。同じ条件下において、終了位置をブロックサイズで表現した場合、最後のブロックのブロックサイズは２００バイト前後となり、電子データのサイズに関わらず、どのブロックも２００バイト前後の値をとる。したがって、ブロックサイズに割り当てられる固定長領域はブロック作成に用いるブロックサイズに適当なマージンを与えたサイズであればよい。
【０１４２】
さらに、終了位置もブロックサイズも省略して、開始位置のみを記録することにより、さらに固定長割り当て領域を小さくすることができる。図７に示したブロック補助データの例を見ればわかるように、ブロックＮ（＞１）の開始位置は、ブロックＮの前のブロック（たとえば「ブロック（Ｎ−１）」と記述される）の終了位置に１を加えた値である。したがって、ブロック毎のデータ開始位置のみを記録するとともに、最終ブロックの終了位置を記録しておくことにより、固定長で割り当てる領域をさらに小さくすることができる。
【０１４３】
また上記の説明からもわかるように、ブロック毎のデータ開始位置のみを記録するとともに、最終ブロックのデータサイズを記録しておくことにより、固定長で割り当てる領域をさらに小さくすることができる。
【０１４４】
今回開示された各実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなく特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。なお、各実施の形態は、単独でも、また、可能な限り組合せても、適用することができる。
【０１４５】
【発明の効果】
以上説明した本発明によると、電子データの中の一部のブロックについてのデータを処理が行なわれる際、まず、固定長のデータにより構成される上記の第１および第２のデータが読込まれることにより、当該ブロックについてのデータの処理に必要な２つのデータである、当該ブロックの電子データおよびそれを処理するための階層構造を得るためのデータについての情報が提供される。なお、当該ブロックの電子データ、および、それを処理するための階層構造を得るためのデータは、ブロックに含まれるデータの内容等に依存するため、その長さがブロックごとに変動する。つまり、本発明によると、データの処理に必要な２つの可変長のデータについての情報が、固定長のデータを読込むことにより得られる。
したがって、電子データの中の一部のブロックについてのデータを処理が行なわれる際、固定長のデータの読込みにより、可変長のデータについての情報が得られるため、可変長のデータを先頭から順に読込むという無駄な処理を回避できる。つまり、階層構造を有する電子データの一部分を処理する際、当該処理を、階層構造の解析結果を用いることにより正しく実行でき、かつ、可変長のデータを先頭から順に読込むという無駄な処理を回避できるため高速に実行できる。
【０１４６】
また、本発明によると、ブロック情報データまたはブロック補助データの付随していない電子データであっても、当該電子データに対応するブロック情報データおよびブロック補助データを作成することもできる。これにより、ブロック情報データまたはブロック補助データの付随していない電子データに対しても、これらが付随している電子データと同様に、正しくかつ高速に処理することができる。
【０１４７】
また、本発明によると、ブロック補助データにおいて、第１のデータを、電子データの中の複数のブロックの各ブロックに対応するデータの記憶場所を示すデータとされ、第２のデータを、ブロック情報データの中の複数のブロックの各ブロックに対応するデータの記憶場所を示すデータとされることができる。これにより、電子データの中の一部のブロックについてのデータを処理が行なわれる際、固定長のデータの読込みにより、可変長のデータの中で読込みを行なうべき場所についての情報が得られるため、可変長のデータを先頭から順に読込むという無駄な処理をより確実に回避できる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態であるデータ処理装置のブロック図の一例を、当該データ処理装置を含むデータ処理システムを構成する装置とともに示す図である。
【図２】図１のデータ処理装置の一例である、携帯型機器で構成された表示装置を示す図である。
【図３】図１のデータ処理装置に適用されるブロック情報データの構造の一例を示す図である。
【図４】図１のデータ処理装置に適用されるブロック補助データの構造の一例を示す図である。
【図５】ＸＨＴＭＬ文書を４つのブロックに分割する場合の一例を示す図である。
【図６】図５のＸＨＴＭＬ文書についてのブロック情報データの一例を示す図である。
【図７】図５のＸＨＴＭＬ文書についてのブロック補助データの一例を示す図である。
【図８】図１のデータ処理装置において制御部が実行する処理のフローチャートである。
【図９】図８に示された処理に基づいて、１ブロック分の電子データとブロック情報データとブロック補助データとから作成されたデータの一例を示す図である。
【図１０】図１のデータ処理装置において処理が可能な、完全には階層構造を有しない電子データの一例を示す図である。
【図１１】本発明の第２の実施の形態であるデータ処理装置のブロック図の一例を示す図である。
【図１２】図１１のデータ処理装置において電子データに対する処理が実行される際の、制御部の処理のフローチャートを示す。
【図１３】図１２のブロック情報データおよび／またはブロック補助データを作成する処理のサブルーチンのフローチャートである。
【図１４】行の途中でブロック分割するデータ例と表示例を示す図である。
【図１５】階層構造を有する電子データの一例を示す図である。
【図１６】階層構造を有する電子データから取出した木構造を説明するための図である。
【図１７】階層構造を有する電子データの一例を示す図である。
【符号の説明】
１０１，２０１  電子データ、１０２，２０２  ブロック情報データ、１０３，２０３  ブロック補助データ、１０４，２０４  入力部、１０５，２０５  データ構造解析部、１０６，２０６  処理部、１０７，２０７  レイアウト計算部、１０８，２０８  表示部、１０９，２０９  ユーザ指示処理部、１１０，２１０  制御部、１１１  サーバ、１１２  ネットワーク、１１３  パソコン、１１４，２１３  記録媒体、１１５，２１４  データ処理装置、２１１  ブロック情報データ作成部、２１２  ブロック補助データ作成部。
【図１】
2004280278.tif 000003
【図２】
2004280278.tif 000004
【図３】
2004280278.tif 000005
【図４】
2004280278.tif 000006
【図５】
2004280278.tif 000007
【図６】
2004280278.tif 000008
【図７】
2004280278.tif 000009
【図８】
2004280278.tif 000010
【図９】
2004280278.tif 000011
【図１０】
2004280278.tif 000012
【図１１】
2004280278.tif 000013
【図１２】
2004280278.tif 000014
【図１３】
2004280278.tif 000015
【図１４】
2004280278.tif 000016
【図１５】
2004280278.tif 000017
【図１６】
2004280278.tif 000018
【図１７】
2004280278.tif 000019