(57)【要約】【課題】【解決手段】本願の実施形態は、ウェブページを表示するための方法、ウェブページを表示するためのシステム、および、ウェブページを表示するためのコンピュータプログラム製品に関する。ウェブページを表示するための方法が提供されている。その方法は：ウェブページ内の画像処理対象のテキスト情報を前処理する工程と；画像を作成する工程と；画像内の各テキストブロックの位置記述を生成する工程と；位置記述に基づいて、対応するテキストブロックを画像に埋める工程と；画像の呼び出しアドレスを生成する工程と；呼び出しアドレスと各テキストブロックの位置記述とをメタデータとして保存する工程と、を備える。ウェブページのアクセス要求が受信された場合に、メタデータを呼び出す工程と、画像をロードする工程と、少なくとも１つの対応するテキストブロックを画像から選択する工程と、少なくとも１つのテキストブロックを表示する工程とが実行される。【選択図】図１
2016531346.tif 000002
【特許請求の範囲】
【請求項１】
ウェブページを表示するための方法であって、
ウェブページ内の画像処理対象のテキスト情報を前処理する工程であって、
前記テキスト情報の表示位置に関連する表示フレームを設定する工程と、
前記表示フレームに基づいて、前記テキスト情報をテキストブロックに分割する工程と、を含む、工程と、
画像を作成する工程と、
前記画像内の各テキストブロックの位置記述を生成する工程と、
前記テキストブロックの前記位置記述に基づいて、対応するテキストブロックを前記画像に埋める工程と、
前記埋められた画像を保存する工程と、
それに応じて、前記画像の呼び出しアドレスと、前記画像内の各テキストブロックの前記位置記述とを、前記ウェブページのメタデータとして保存する工程と、
前記ウェブページのアクセス要求が受信された場合に、
前記ウェブページの前記メタデータを呼び出す工程と、
前記ウェブページの前記メタデータ内の前記呼び出しアドレスに基づいて、前記画像をロードする工程と、
前記ウェブページの前記メタデータ内の少なくとも１つの位置記述に基づいて、少なくとも１つの対応するテキストブロックを前記画像から選択する工程と、
前記少なくとも１つのテキストブロックを前記ウェブページの少なくとも１つの前記表示位置に表示する工程と、を備える、方法。
【請求項２】
請求項１に記載の方法であって、
前記表示フレームを設定する工程は、
前記ウェブページ内でのテキスト情報の前記表示位置を特定する工程と、
前記表示位置の幅に基づいて、前記表示フレームの最大行幅を設定する工程であって、前記表示フレームの高さが、応答的に、前記テキスト情報の一行の行高と一致する、工程と、を含む、方法。
【請求項３】
請求項２に記載の方法であって、
前記テキストブロックの行幅は、前記表示フレームの前記最大行幅以下であり、前記テキストブロックの高さは、前記テキスト情報の前記一行の前記行高に等しい、方法。
【請求項４】
請求項１に記載の方法であって、
前記テキスト情報を前処理する工程は、さらに、
各テキストブロック内のテキストスタイルを取得する工程と、
各テキストブロック内の前記テキストスタイルに基づいて、各テキストブロックの寸法を計算する工程と、
最大の高さを有する前記テキストブロックを特定する工程と、
前記最大の高さを有する前記テキストブロックの高さの数分の１を閾値として選択する工程と、
前記閾値と各テキストブロックの高さとに基づいて、様々な前記テキストブロックをグループ化する工程と、を含む、方法。
【請求項５】
請求項４に記載の方法であって、
前記テキスト情報を前処理する工程は、
各テキストブロックの前記寸法を対応するテキストブロックのグループと組み合わせて、すべての前記テキストブロックの連結を設定する工程と、
前記連結に基づいて、すべてのテキストブロックを収容する前記画像に寸法を割り当てる工程と、を含む、方法。
【請求項６】
請求項５に記載の方法であって、前記画像を作成する工程は、すべてのテキストブロックを収容する前記画像に割り当てられた前記寸法に基づいて、前記画像を作成する工程を含む、方法。
【請求項７】
請求項５に記載の方法であって、
前記画像内の各テキストブロックの前記位置記述を生成する工程は、
前記画像の前記寸法、すべての前記テキストブロックの前記連結、および、各テキストブロックの前記寸法に基づいて、前記画像内の各テキストブロックの境界を配置する工程と、
各テキストブロックの前記境界に基づいて、各テキストブロックの前記位置記述を生成する工程と、を含む、方法。
【請求項８】
請求項４に記載の方法であって、前記テキストスタイルは、フォント、フォントサイズ、行高、太字か否か、斜体字か否か、色つきフォント、背景色、または、それらの任意の組み合わせを含む、方法。
【請求項９】
ウェブページを表示するためのデバイスであって、
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに接続され、前記少なくとも１つのプロセッサに命令を提供するよう構成されたメモリと、を備え、
前記少なくとも１つのプロセッサは、
ウェブページ内の画像処理対象のテキスト情報を前処理であって、
前記テキスト情報の表示位置に関連する表示フレームを設定し、
前記表示フレームに基づいて、前記テキスト情報をテキストブロックに分割することを含む、前処理と、
画像の作成と、
前記画像内の各テキストブロックの位置記述の生成と、
前記テキストブロックの前記位置記述に基づいて、対応するテキストブロックを前記画像に埋めることと、
前記埋められた画像の保存と、
それに応じて、前記画像の呼び出しアドレスと、前記画像内の各テキストブロックの前記位置記述とを、前記ウェブページのメタデータとして保存することと、
前記ウェブページのアクセス要求が受信された場合に、
前記ウェブページの前記メタデータを呼び出すことと、
前記ウェブページの前記メタデータ内の前記呼び出しアドレスに基づいて、前記画像をロードすることと、
前記ウェブページの前記メタデータ内の少なくとも１つの位置記述に基づいて、少なくとも１つの対応するテキストブロックを前記画像から選択することと、
前記少なくとも１つのテキストブロックを前記ウェブページの少なくとも１つの前記表示位置に表示することと、
を実行するように構成されている、デバイス。
【請求項１０】
請求項９に記載のデバイスであって、
前記表示フレームを設定することは、
前記ウェブページ内でのテキスト情報の前記表示位置を特定し、
前記表示位置の幅に基づいて、前記表示フレームの最大行幅を設定することを含み、前記表示フレームの高さが、応答的に、前記テキスト情報の一行の行高と一致する、デバイス。
【請求項１１】
請求項１０に記載のデバイスであって、
前記テキストブロックの行幅は、前記表示フレームの前記最大行幅以下であり、前記テキストブロックの高さは、前記テキスト情報の前記一行の前記行高に等しい、デバイス。
【請求項１２】
請求項９に記載のデバイスであって、
前記テキスト情報を前処理することは、さらに、
各テキストブロック内のテキストスタイルを取得し、
各テキストブロック内の前記テキストスタイルに基づいて、各テキストブロックの寸法を計算し、
最大の高さを有する前記テキストブロックを特定し、
前記最大の高さを有する前記テキストブロックの高さの数分の１を閾値として選択し、
前記閾値と各テキストブロックの高さとに基づいて、様々な前記テキストブロックをグループ化することを含む、デバイス。
【請求項１３】
請求項１２に記載のデバイスであって、
前記テキスト情報を前処理することは、
各テキストブロックの前記寸法を対応するテキストブロックのグループと組み合わせて、すべての前記テキストブロックの連結を設定し、
前記連結に基づいて、すべてのテキストブロックを収容する前記画像に寸法を割り当てることを含む、デバイス。
【請求項１４】
請求項１３に記載のデバイスであって、前記画像を作成することは、すべてのテキストブロックを収容する前記画像に割り当てられた前記寸法に基づいて、前記画像を作成することを含む、デバイス。
【請求項１５】
請求項１３に記載のデバイスであって、
前記画像内の各テキストブロックの前記位置記述を生成することは、
前記画像の前記寸法、すべての前記テキストブロックの前記連結、および、各テキストブロックの前記寸法に基づいて、前記画像内の各テキストブロックの境界を配置し、
各テキストブロックの前記境界に基づいて、各テキストブロックの前記位置記述を生成することを含む、デバイス。
【請求項１６】
請求項１２に記載のデバイスであって、前記テキストスタイルは、フォント、フォントサイズ、行高、太字か否か、斜体字か否か、色つきフォント、背景色、または、それらの任意の組み合わせを含む、デバイス。
【請求項１７】
ウェブページを表示するためのコンピュータプログラム製品であって、有形で持続性のコンピュータ読み取り可能な記憶媒体内に具現化され、
ウェブページ内の画像処理対象のテキスト情報を前処理するためのコンピュータ命令であって、前記テキスト情報の前記前処理は、
前記テキスト情報の表示位置に関連する表示フレームを設定し、
前記表示フレームに基づいて、前記テキスト情報をテキストブロックに分割することを含む、コンピュータ命令と、
画像を作成するためのコンピュータ命令と、
前記画像内の各テキストブロックの位置記述を生成するためのコンピュータ命令と、
前記テキストブロックの前記位置記述に基づいて、対応するテキストブロックを前記画像に埋めるためのコンピュータ命令と、
前記埋められた画像を保存するためのコンピュータ命令と、
それに応じて、前記画像の呼び出しアドレスと、前記画像内の各テキストブロックの前記位置記述とを、前記ウェブページのメタデータとして保存するためのコンピュータ命令と、
前記ウェブページのアクセス要求が受信された場合に、
前記ウェブページの前記メタデータを呼び出すためのコンピュータ命令と、
前記ウェブページの前記メタデータ内の前記呼び出しアドレスに基づいて、前記画像をロードするためのコンピュータ命令と、
前記ウェブページの前記メタデータ内の少なくとも１つの位置記述に基づいて、少なくとも１つの対応するテキストブロックを前記画像から選択するためのコンピュータ命令と、
前記少なくとも１つのテキストブロックを前記ウェブページの少なくとも１つの前記表示位置に表示するためのコンピュータ命令と、
を備える、コンピュータプログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
他の出願の相互参照
本願は、２０１３年７月１２日出願の中国特許出願第２０１３１０２９３７２０．７号「Ａ  ＰＩＣＴＵＲＥ  ＰＲＯＣＥＳＳＩＮＧ−ＢＡＳＥＤ  ＷＥＢ  ＰＡＧＥ  ＤＩＳＰＬＡＹ  ＭＥＴＨＯＤ  ＡＮＤ  ＷＥＢ  ＰＡＧＥ  ＤＩＳＰＬＡＹ  ＤＥＶＩＣＥ」の優先権を主張する。当該出願は、すべての目的のために参照により本明細書に組み込まれる。
【０００２】
本願は、ウェブページを表示するための方法およびデバイスに関する。
【背景技術】
【０００３】
インターネット時代において、情報はほぼ無限である。情報取得に関する方法は、本をめくること、辞書で単語を探すこと、または、検索エンジンで検索することから、変化してきた。
【０００４】
今日、余りに情報が多く、情報の区別または選択が困難でありうる。したがって、インターネット上のデータを自動的に取り込み、データを自動的に区別し、データを分析するために、多くの従来の方法が用いられている。自動キーワード識別技術に基づいて、利用される情報が、莫大な情報から選択される。
【０００５】
従来、「ウェブページデータ取り込み」は、ウェブクローラまたは同様のツールを用いてウェブページデータを取得した後に、プログラム解析を用いて、取得したウェブページデータから有用なデータを抽出することを含む。従来の検索エンジンが行うことの一部は、ウェブページデータの抽出である。ウェブページデータ抽出の一例として、プログラムが、Ｓｉｎａ．ｃｏｍのニュースチャンネルからニュースヘッドラインを抽出する。
【０００６】
一方で、多くの企業が、他者によって自身のオンライン情報を取得されることを防止している。換言すると、企業は、他の組織または個人がウェブページデータ取得技術を用いて不正にデータを得ることを防止している。例えば、一部の企業の製品事業部が、自身の企業ウェブサイト上の認証された商業ライセンス情報が他の非企業ウェブサイトに出現したのを発見した。これらの企業の製品事業部は、商業ライセンス情報がウェブクローラまたは同様のツールによって取得されたと推定した。このように認可機関または所有者の同意なく他者の情報を不法に取得することは、違法である。しかしながら、所有者には、自らの合法的な立場を公にするために、ウェブ上のこの情報を開示する他に選択肢がない。
【０００７】
したがって、ウェブクローラまたはその他のかかるツールによるウェブ上に開示された情報の取り込みを防ぐために、一部のウェブサイトは、テキストから画像への処理方法を採用している。このように、ウェブサイトは、ウェブクローラまたはその他のかかるツールが、ウェブサイト上に開示された情報を取り込むことを防ぐことができる。
【０００８】
しかしながら、上記のテキストから画像への処理方法において、ページが表示すべき多くの「テキスト画像」を有する場合、ブラウザは、タイプにかかわらず、テキスト画像を表示するために多くのハイパーテキスト・トランスファー・プロトコル（ＨＴＴＰ）要求を発行しなければならない（画像ごとに１要求）。多くのＨＴＴＰ要求の発行は、ページ表示のフロントエンドパフォーマンスに大きな影響を及ぼす。
【０００９】
要約すると、ウェブクローラまたはその他のかかるツールがウェブ上に開示された情報を取り込むことを防ぐために用いられるテキストの画像処理は、多くの画像を有するウェブページを表示する際にブラウザの減速も引き起こす。
【図面の簡単な説明】
【００１０】
以下の詳細な説明と添付の図面において、本発明の様々な実施形態を開示する。
【００１１】
ここで説明する図面は、本願の理解を深めるよう意図されており、本願の一部を構成する。本願の実施形態およびそれらの記載は、本願を説明するよう意図されており、本願の不適切な限定となるものではない。以下の図面が含まれる：
【００１２】
【図１】ウェブページを表示するための処理の一実施形態を示すフローチャート。
【００１３】
【図２Ａ】ウェブページを表示するための処理の別の実施形態を示すフローチャート。
【００１４】
【図２Ｂ】画像処理対象のテキスト情報を前処理するための処理の一実施形態を示すフローチャート。
【００１５】
【図３Ａ】ウェブページ表示位置の一例を示す図。
【００１６】
【図３Ｂ】テキストを埋めたブロックの画像の一例を示す図。
【００１７】
【図３Ｃ】ウェブページ表示位置の別の例を示す図。
【００１８】
【図３Ｄ】テキストを埋めたブロックの画像の別の例を示す図。
【００１９】
【図４】ウェブページを表示するためのデバイスの一実施形態を示す構造図。
【００２０】
【図５】テキスト処理モジュールの一実施形態を示す構造図。
【００２１】
【図６】ウェブページを表示するためのシステムの一実施形態を示す図。
【００２２】
【図７】ウェブページを表示するようにプログラムされたコンピュータシステムの一実施形態を示す機能図。
【００２３】
【図８】表示フレームの一例を示す図。
【発明を実施するための形態】
【００２４】
本発明は、処理、装置、システム、物質の組成、コンピュータ読み取り可能な格納媒体上に具現化されたコンピュータプログラム製品、および／または、プロセッサ（プロセッサに接続されたメモリに格納および／またはそのメモリによって提供される命令を実行するよう構成されたプロセッサ）を含め、様々な形態で実装されうる。本明細書では、これらの実装または本発明が取りうる任意の他の形態を、技術と呼ぶ。一般に、開示された処理の工程の順序は、本発明の範囲内で変更されてもよい。特に言及しない限り、タスクを実行するよう構成されるものとして記載されたプロセッサまたはメモリなどの構成要素は、ある時間にタスクを実行するよう一時的に構成された一般的な構成要素として、または、タスクを実行するよう製造された特定の構成要素として実装されてよい。本明細書では、「プロセッサ」という用語は、１または複数のデバイス、回路、および／または、コンピュータプログラム命令などのデータを処理するよう構成された処理コアを指すものとする。
【００２５】
以下では、本発明の原理を示す図面を参照しつつ、本発明の１または複数の実施形態の詳細な説明を行う。本発明は、かかる実施形態に関連して説明されているが、どの実施形態にも限定されない。本発明の範囲は、特許請求の範囲によってのみ限定されるものであり、本発明は、多くの代替物、変形物、および、等価物を含む。以下の説明では、本発明の完全な理解を提供するために、多くの具体的な詳細事項が記載されている。これらの詳細事項は、例示を目的としたものであり、本発明は、これらの具体的な詳細事項の一部または全てがなくとも特許請求の範囲に従って実施可能である。簡単のために、本発明に関連する技術分野で周知の技術事項については、本発明が必要以上にわかりにくくならないように、詳細には説明していない。
【００２６】
図１は、ウェブページを表示するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理１００は、図６のサーバ６２０によって実施され、以下の工程を備える：
【００２７】
工程１１０で、サーバは、表示されるウェブページ内で画像処理の対象となるテキスト情報を前処理する。テキスト情報の前処理は、ウェブページ内に表示フレームを設定し、表示フレームに基づいてテキスト情報をテキストブロックに分割することを含む。
【００２８】
図８は、表示フレームの一例を示す図である。表示フレームとは、ウェブページ上のテキストの表示スタイルのことである。表示スタイルなどのプロパティは、テキストが太字であるか否か、テキストが斜体字であるか否か、テキストの行高などを含む。表示スタイルは、テキストブロックがウェブページ上のどれだけを占めるのかを決定するのに役立つ。表示フレームは、表示ブロックとも呼ばれる。
【００２９】
テキストを表示するためのウェブページ内のブロックには、しばしば、行高および行幅に制限がある。ブラウザは、行幅に基づいて自動的にブロック上の文字列分割を行う。例えば、図８の「Ａｐａｒｔｍｅｎｔ  Ａ２６−Ａ７」は、自動的に次の行に表示される。しかし、予め生成された画像を用いる場合、行幅が許容できるテキスト文字列の量を指定し、事前にテキストを分割するには、文字スタイルおよびその他のプロパティに基づいて、事前分割を行うことが必要である。
【００３０】
ウェブページ内に表示フレームを設定することは、ウェブページにおけるテキスト情報の表示位置を特定し、テキスト情報の表示位置の幅に従って表示フレームの最大行幅を設定することを含む。
【００３１】
いくつかの実施形態において、表示フレームの高さは、応答的に、テキスト情報の一行の行高に一致する。テキストブロックの行高は、テキストブロックの表示位置に基づいて決定され、行高が異なることは、生成されたテキストブロックが、異なる量のスペースをテキストブロックの上または下に確保される必要があることを意味する。テキストブロックの上または下に確保されるスペースは、ブラウザによって自動的に確保されるスペースの量に一致する。
【００３２】
いくつかの実施形態において、テキスト情報の行幅は、表示フレームの最大行幅以下であり、テキストブロックの高さは、テキスト情報の一行の行高に等しい。ウェブページ表示フレームすべてに、幅の制限がある。ブラウザは、テキストを処理する時、テキストの行を自動的に調整する。しかしながら、テキスト画像に対しては、画像が生成される時に行を調整しなければならない。
【００３３】
いくつかの実施形態において、テキスト情報の分割は、自然意味論的な意味を有するテキスト情報の分割を含むが、テキストブロックに分割されるテキストは、自然意味論とは関係がない場合がある。テキストブロックの寸法は、表示フレームの寸法に基づく。ただし、表示フレームは、ウェブページ上のテキスト情報の表示位置に関連する。したがって、テキスト情報の分割は、格納および表示が簡便になるように実行される。
【００３４】
図１に戻ると、工程１２０で、サーバは、画像を作成し、画像内の各テキストブロックのための位置記述を生成する。
【００３５】
事前に画像を作成する１つの理由は、画像を繰り返し作成しなければならないことを避けるためであり、また、画像は、パフォーマンスを高めるために（例えば、コンテンツ配信ネットワーク（ＣＤＮ：ｃｏｎｔｅｎｔ  ｄｉｓｔｒｉｂｕｔｉｏｎ  ｎｅｔｗｏｒｋ））上に格納できる。画像を作成するための処理は、異なるサイズの複数のテキストブロックを選んで、空白画像内にテキストブロックを適切に埋める処理を含む。画像を作成するために、すべてのテキストブロックが空白画像内に納まりうるように、特定の長さおよび幅を有する空白画像が指定される。いくつかの実施形態において、画像に埋め込まれる各テキストブロックについて、画像に対するテキストブロックの左上の角の相対座標が用いられる。これらの相対座標は、位置記述に対応する。座標は、ウェブページが表示される時、画像全体の中のテキストブロックの位置として用いられる。
【００３６】
工程１３０で、サーバは、対応する位置記述に基づいて対応するテキストブロックを画像内に埋めて、埋められた画像を保存し、画像の呼び出しアドレスを生成する。
【００３７】
いくつかの実施形態において、サーバは、呼び出しアドレスとしてユニフォーム・リソース・ロケータ（ＵＲＬ）を生成する。
【００３８】
工程１４０で、サーバは、それに応じて、画像の呼び出しアドレスと画像内の各テキストブロックの位置記述とをウェブページのメタデータとして保存する。
【００３９】
工程１５０で、ウェブページのアクセス要求を受信すると、サーバは、ウェブページメタデータを呼び出し、ウェブページメタデータ内の呼び出しアドレスに基づいて画像をロードし、ウェブページのメタデータ内の位置記述に基づいて対応するテキストブロックを画像から選択し、ウェブページ内の対応する表示位置にテキストブロックを表示する。
【００４０】
サーバがウェブページのアクセス要求を受信した時に、ウェブページのメタデータが見つからなかった場合、サーバは、工程１１０にスキップして実行し、ウェブページのメタデータを生成してウェブページを表示する。
【００４１】
いくつかの実施形態において、メタデータは、以下を含む：工程１２０で形成された画像すなわちイメージを見るための呼び出しアドレスまたはリンクと、上述の画像における長さおよび幅、オフセット、もしくは、それらの組み合わせ。
【００４２】
図２Ａは、ウェブページを表示するための処理の別の実施形態を示すフローチャートである。いくつかの実施形態において、処理２００は、図６のサーバ６２０によって実施され、以下の工程を備える：
【００４３】
工程２１０で、サーバは、画像処理されるテキスト情報を前処理する。
【００４４】
図２Ｂは、表示されるウェブページ内の画像処理対象のテキスト情報を前処理するための処理の一実施形態を示すフローチャートである。いくつかの実施形態において、処理８００は、図６のサーバ６２０によって実施され、以下の工程を備える：
【００４５】
工程８１０で、サーバは、ウェブページ内に表示フレームを設定する。
【００４６】
工程８２０で、サーバは、表示フレームに従って、テキスト情報をテキストブロックに分割する。
【００４７】
いくつかの実施形態において、表示フレームを設定する工程は、以下を含む：ウェブページにおけるテキスト情報の表示位置を特定し、表示位置の幅に従って表示フレームの最大行幅を設定する工程。いくつかの実施形態において、表示フレームの高さは、応答的に、分割されたテキスト情報の一行の行高に一致する。表示位置とは、表示ブロックのことであり、ウェブページ内のブロックを表す。ブロックは、ウェブページの一部であるため、幅の制限がある。通例、ウェブページを超えるテキストの部分は、無視される（すなわち、表示されない）か、または、改行がある。
【００４８】
テキストブロックの幅すべてが必ずしも最大幅と等しいわけではないことに注意されたい。いくつかの実施形態において、幅は、各テキストブロック内の異なる文字数および異なるテキストスタイルの結果として様々である。したがって、テキストブロックの幅は、最大行幅以下であり、テキストブロックの高さは、分割されたテキスト情報の一行の高さに等しい。
【００４９】
各テキストブロックは一行であるが、各テキストブロックが、異なるテキストスタイルを有する場合があり、異なるテキストスタイルが異なるサイズを有する場合がある。したがって、各テキストブロックの寸法が異なる場合があり、これが、テキストブロックで画像を埋めるタスクを複雑にする。したがって、いくつかの実施形態において、すべてのテキストブロックが、以下の工程８３０および８４０を用いて簡素化される。
【００５０】
工程８３０で、サーバは、各テキストブロック内のテキストスタイルを取得し、各テキストブロック内のテキストスタイルに従って各テキストブロックの寸法を計算する。
【００５１】
いくつかの実施形態において、テキストブロックが形成される時にテキストスタイルが指定され、そのテキストスタイルが構成情報として格納される。また、ウェブページがプログラムされる時に、行高および行幅が指定される。
【００５２】
テキストスタイルは、フォント、フォントサイズ、行高、太字か否か、斜体字か否か、色つきフォント、背景色、または、それらの任意の組み合わせを含む。
【００５３】
工程８４０で、サーバは、最大高さを有するテキストブロックを特定し、最大高さを有するテキストブロックの高さの数分の１を閾値として選択し、閾値と最大高さを有するテキストブロックの高さとに基づいて、様々なテキストブロックをグループ化する。
【００５４】
いくつかの実施形態において、画像に小さい記憶空間を占めさせることによって、画像内にテキストブロックをより合理的にレイアウトするために、パディングが実行される。テキストブロックは異なるサイズを有するので、その技術は、最初に最大のテキストブロックを格納し、その後、より小さい（より問題となる）ブロックを格納する。この技術では、すべてのテキストブロックが、最大のテキストブロックを得るためまたはサイズ順にテキストブロックを並べるために解析される。
【００５５】
いくつかの実施形態において、閾値の内の１または複数が選択される。例えば、閾値は、以下を含む：「最大高さを有するテキストブロックの行高」、「最大高さ／２を有するテキストブロックの行高」、「最大高さ／４を有するテキストブロックの行高」、「最大高さ／８を有するテキストブロックの行高」など。もちろん、閾値は、これらの例に限定されない。これらの閾値（例えば、（最大高さ／８、最大高さ／４］の範囲、（最大高さ／４、最大高さ／２］の範囲など）によって定義された範囲を用いることにより、様々なテキストブロックが、いくつかのグループに分けられる。任意の１つのグループ内のテキストブロックは、そのグループの範囲内の高さを有する。
【００５６】
テキストブロックをグループ化した後に連結することにより、テキストブロックの連結の外部形状が、より規則的になり長方形に近くなる。埋めるために用いられる画像は通例長方形であるので、画像充填のスペース利用率を最大化でき、作成および保存される画像の量を削減できる。テキストブロックのこのグループ化および連結は、サーバで利用される記憶空間を削減する。
【００５７】
工程８５０で、サーバは、各テキストブロックの寸法を対応するテキストブロックのグループと組み合わせて、すべてのテキストブロックの連結を設定し、すべてのテキストブロックの連結に基づいて、すべてのテキストブロックを収容する画像に各テキストブロックの寸法を割り当てる。
【００５８】
図２Ａに戻ると、工程２２０で、サーバは、すべてのテキストブロックを収容する画像に割り当てられた寸法に従って、画像を作成する。
【００５９】
工程２３０で、サーバは、画像内の各テキストブロックの位置記述を生成する。換言すると、サーバは、画像の寸法、すべてのテキストブロックの連結、および、各テキストブロックの寸法に少なくとも部分的に基づいて、画像内の各テキストブロックの境界を配置し、各テキストブロックの境界に基づいて、各テキストブロックの位置記述を生成する。
【００６０】
工程２４０で、サーバは、位置記述に基づいて対応するテキストブロックを画像内に埋めて、埋められた画像を保存し、画像の呼び出しアドレス（例えば、ＵＲＬ）を生成する。
【００６１】
工程２５０で、サーバは、それに応じて、画像の呼び出しアドレスと画像内の各テキストブロックの位置記述とをウェブページのメタデータとして保存する。
【００６２】
例えば、画像はファイルサーバに格納され、呼び出しアドレスとテキストブロックの位置はすべて、永続キャッシュ内にメタデータとして格納される（例えば、ｌｅｖｅｌｄｂに格納される）。
【００６３】
工程２６０で、ウェブページのアクセス要求を受信すると、サーバは、ウェブページのメタデータを呼び出し、ウェブページのメタデータ内の呼び出しアドレスに従って画像をロードし、ウェブページのメタデータの位置記述に基づいて対応するテキストブロックを画像から選択し、ウェブページ内の対応する表示位置にテキストブロックが表示される。
【００６４】
ウェブページのアクセス要求が受信されると、ウェブページが開かれ、画像がロードされる。ウェブページ上の対応する表示位置のためのコードが読まれて実行され、ウェブページに対応するメタデータが自動的に呼び出される。
【００６５】
ウェブページのアクセス要求が受信された時、サーバがウェブページのメタデータを発見できなかった場合、サーバは、工程２１０にスキップして実行し、ウェブページのメタデータを生成して、ウェブページを表示する。
【００６６】
いくつかの実施形態において、表示フレームを設定し、表示フレームに基づいてテキスト情報をテキストブロックに分割する実際の動作は、Ｊａｖａ(登録商標)のオリジナルのアプリケーションプログラミングインターフェース「ＬｉｎｅＢｒｅａｋＭｅａｓｕｒｅｒ」クラスによって実施される。その実施について、応用例を用いて以下で説明する。
【００６７】
図３Ａは、ウェブページ表示位置の一例である。図３Ｂは、テキストを埋めたブロックの画像の一例である。
以下、中国語文字を含む表記については、アルファベット「Ｃ」に２桁の数字を付した符号で示し、実際の表記との対応関係を文末の表１に示す。
【００６８】
図３Ａに示すように、ウェブページに表示される漢字テキスト情報は、“Ｃ０１”である。ウェブページ表示位置を特定するための最大幅は、“Ｃ０１”を表示するのには不十分である。漢字テキスト情報は、表示されるために２行に分割される。
【００６９】
文字“市”を“Ｃ０２”の中に含めるように切断するために、“ＬｉｎｅＢｒｅａｋＭｅａｓｕｒｅｒ”クラスを用いて、表示位置最大幅を計算する。切断位置が不適切である場合、例えば、切断が完全な文字を含まない場合、切断位置は、完全な文字を収容するように微調整される。通例、切断は、余分な部分が改行を引き起こす場合、表示領域の幅によって決まる。Ｃ０２という文字列については、文字「市」で表示領域の幅に達した。次に、切断が行われた。最後に、表示フレームに適切な最大行幅が選択される。
【００７０】
図３Ｂに示すように、表示フレームが、この最大行幅と、“Ｃ０２”の行高とに基づいて、設定される。表示フレームを用いて、“Ｃ０２”を以下の２つの別個のテキストブロックに分割する：“Ｃ０３”および“Ｃ０４”。いくつかの実施形態において、行の切断は、表示フレームの最大行幅に基づいて決定される。
【００７１】
図１の工程１５０および図２Ａの工程２６０の両方が、ウェブページのメタデータ内の位置記述に基づいて対応するテキストブロックを画像から選択する工程と、ウェブページ内の対応する表示位置にテキストブロックを表示する工程とを含む。いくつかの実施形態において、対応するテキストブロックを画像から選択する工程の実際の動作は、カスケーディングスタイルシート（ＣＳＳ）技術によって実施される。
【００７２】
ＣＳＳ技術を用いて、対応するテキストブロックを画像から選択する工程を実施する方法を説明するために、以下で一例を提供する。この例において、表示は、ＣＳＳオフセット技術を利用する。この技術は、画像を指定し、次いで、ウェブページ上の異なる位置に画像の異なるテキストブロックを表示するので、テキストブロックが一緒にダウンロードされ、転送回数が削減される。
【００７３】
図３Ｃは、ウェブページ表示位置の別の例を示す図である。図３Ｄは、テキストを埋めたブロックの画像の別の例を示す図である。
【００７４】
図３Ｄに示す例において、画像は、「ｔｅｘｔ−ｉｍａｇｅ−ｐｉｃ１」とタイトルをつけられている。
【００７５】
図３Ｃに示す例において、この画像内の（黒枠で囲まれた）テキストブロック“Ｃ０３”の位置記述は、“−０ｐｘ−２２ｐｘ；幅：１７９ｐｘ；高さ：２２ｐｘ”である。単位「ｐｘ」は、ピクセルに対応する。
【００７６】
ウェブページアクセス要求が受信されると、ウェブページが開かれ、画像がロードされる。ウェブページ上の対応する表示位置“Ｃ０５”のためのコードが読み込まれ、ウェブページの対応するメタデータがコードに基づいて呼び出される。“ｔｅｘｔ−ｉｍａｇｅ−ｐｉｃ１”が、ウェブページのメタデータ内の呼び出しアドレスに従ってロードされる。
【００７７】
さらに、位置記述“−０ｐｘ  −２２ｐｘ；幅：１７９ｐｘ；高さ：２２ｐｘ”を有するテキストブロックが、ＣＳＳを用いて画像“ｔｅｘｔ−ｉｍａｇｅ−ｐｉｃ１”から抽出される。ＣＳＳを用いた抽出は、画像の一部を表示するためだけに座標（例えば、幅および長さ）に基づいてＣＳＳによって提供されるメカニズムのことである。抽出されたテキストブロック“Ｃ０２”が表示される。以下のＣＳＳコードが、ウェブページ内の指定位置にテキストブロックを配置するために用いられる。このテキストブロックは、ウェブページ内の“Ｃ０６”［登録住所］に対応する表示位置に表示される。
【００７８】
テキストブロックを表示するためのＣＳＳコードの一例は：
＜ｐ  ｃｌａｓｓ＝“ｔｅｘｔ−ｉｍａｇｅ−ｐｉｃ１”ｓｔｙｌｅ＝“ｄｉｓｐｌａｙ：ｉｎｌｉｎｅ−ｂｌｏｃｋ；ｖｅｒｔｉｃａｌ−ａｌｉｇｎ：ｍｉｄｄｌｅ；ｂａｃｋｇｒｏｕｎｄ−ｐｏｓｉｔｉｏｎ：−０ｐｘ  −２２ｐｘ；ｗｉｄｔｈ：１７９ｐｘ；ｈｅｉｇｈｔ：２２ｐｘ；”＞
＜／ｐ＞
【００７９】
画像内の異なるテキストブロックが抽出され、上述のコードを用いて表示される。当業者であれば他の形態のコーディングを利用することも可能であり、コーディングのさらなる議論については簡単のために省略したことを理解されたい。
【００８０】
図４は、ウェブページを表示するためのデバイスの一実施形態を示す構造図である。いくつかの実施形態において、デバイス４００は、図１の処理１００または図２Ａの処理２００を実施し、以下を備える：テキスト処理モジュール４１０、画像生成モジュール４２０、ストレージ制御モジュール４３０、および、ウェブページ表示モジュール４４０。
【００８１】
いくつかの実施形態において、テキスト処理モジュール４１０は、ウェブページ内の画像処理対象のテキスト情報を前処理する。いくつかの実施形態において、テキスト情報の前処理は、以下を含む：表示フレームを設定し、表示フレームに基づいてテキスト情報をテキストブロックに分割すること。表示フレームを設定する時、テキスト処理モジュール４１０は、ウェブページにおけるテキスト情報の表示位置を特定し、表示位置の幅に基づいて表示フレームの最大行幅を設定する。いくつかの実施形態において、表示フレームの高さは、応答的に、分割されたテキスト情報の一行の行高に一致する。いくつかの実施形態において、テキストブロックの行幅は、最大行幅以下であり、テキストブロックの高さは、分割されたテキスト情報の一行の行高に等しい。
【００８２】
いくつかの実施形態において、画像生成モジュール４２０は、画像を作成し、画像内の各テキストブロックの位置記述を生成し、位置記述に基づいて対応するテキストブロックを画像内に埋めてし、埋められた画像を保存し、画像の呼び出しアドレスを生成する。画像を作成する時、画像生成モジュール４２０は、すべてのテキストブロックを収容する画像に対してテキスト処理モジュール４１０によって割り当てられた寸法に基づいて、画像を作成する。位置記述を生成する時、画像生成モジュール４２０は、画像の寸法、すべてのテキストブロックの連結、および、各テキストブロックの寸法に基づいて、画像内の各テキストブロックの境界を配置し、各テキストブロックの境界に基づいて、各テキストブロックの位置記述を生成する。
【００８３】
いくつかの実施形態において、ストレージ制御モジュール４３０は、それに応じて、画像の呼び出しアドレスおよび画像内の各テキストブロックの位置記述をウェブページのメタデータとして保存する。
【００８４】
いくつかの実施形態において、ウェブページ表示モジュール４４０は、ウェブページのアクセス要求を受信すると、ウェブページのメタデータを呼び出し、ウェブページのメタデータ内の呼び出しアドレスに基づいて画像をロードし、ウェブページのメタデータ内の位置記述に基づいて対応するテキストブロックを画像から選択し、ウェブページ内の対応する表示位置にテキストブロックを表示する。
【００８５】
図５は、テキスト処理モジュールの一実施形態を示す構造図である。いくつかの実施形態において、テキスト処理モジュール５００は、図４のテキスト処理モジュール４１０の実施例であり、以下を備える：テキスト分割ユニット５１０、寸法特定ユニット５２０、テキストブロックグループ化ユニット５３０、および、組み合わせ割り当てユニット５４０。
【００８６】
いくつかの実施形態において、テキスト分割ユニット５１０は、表示フレームを設定し、表示フレームに基づいて、画像処理されるテキスト情報をテキストブロックに分割する。
【００８７】
いくつかの実施形態において、寸法特定ユニット５２０は、各テキストブロック内のテキストスタイルを取得し、各テキストブロック内のテキストスタイルに基づいて各テキストブロックの寸法を計算する。寸法特定ユニット５２０によって取得されるテキストスタイルは、フォント、フォントサイズ、行高、太字か否か、斜体字か否か、色つきフォント、背景色、または、それらの任意の組み合わせを含む。
【００８８】
いくつかの実施形態において、テキストブロックグループ化ユニット５３０は、最大の高さを有するテキストブロックを特定し、最大の高さを有するテキストブロックの高さの数分の１を閾値として選択し、閾値と各テキストブロックの高さとに基づいて様々なテキストブロックをグループ化する。
【００８９】
いくつかの実施形態において、組み合わせ割り当てユニット５４０は、各テキストブロックの寸法を対応するテキストブロックのグループと組み合わせて、すべてのテキストブロックの連結を設定し、連結に基づいて、すべてのテキストブロックを収容する画像に寸法を割り当てる。
【００９０】
図６は、ウェブページを表示するためのシステムの一実施形態を示す図である。いくつかの実施形態において、システム６００は、ネットワーク６３０を介してクライアント６１０に接続されたウェブページを表示するためのサーバ６２０を備える。クライアント６１０は、ウェブページのアクセス要求をサーバ６２０に送信する。
【００９１】
図７は、ウェブページを表示するようにプログラムされたコンピュータシステムの一実施形態を示す機能図である。明らかに、ウェブページを表示するために、他のコンピュータシステムアーキテクチャおよび構成を用いることも可能である。以下に述べるような様々なサブシステムを備えるコンピュータシステム７００は、少なくとも１つのマイクロプロセッササブシステム（プロセッサまたは中央処理装置（ＣＰＵ）とも呼ばれる）７０２を備える。例えば、プロセッサ７０２は、シングルチッププロセッサまたはマルチプロセッサによって実装できる。いくつかの実施形態において、プロセッサ７０２は、コンピュータシステム７００の動作を制御する汎用デジタルプロセッサである。メモリ７１０から読み出された命令を用いて、プロセッサ７０２は、入力データの受信および操作、ならびに、出力デバイス（例えば、ディスプレイ７１８）上でのデータの出力および表示を制御する。
【００９２】
プロセッサ７０２は、メモリ７１０と双方向的に接続されており、メモリ７１０は、第１のプライマリストレージ（通例は、ランダムアクセスメモリ（ＲＡＭ））および第２のプライマリストレージ領域（通例は、読み出し専用メモリ（ＲＯＭ））を含みうる。当業者に周知のように、プライマリストレージは、一般的な記憶領域として、および、スクラッチパッドメモリとして利用可能であり、また、入力データおよび処理済みデータを格納するために利用可能である。プライマリストレージは、さらに、プロセッサ７０２上で実行される処理のための他のデータおよび命令に加えて、データオブジェクトおよびテキストオブジェクトの形態で、プログラミング命令およびデータを格納できる。また、当業者に周知のように、プライマリストレージは、通例、機能（例えば、プログラムされた命令）を実行するためにプロセッサ７０２によって用いられる基本的な動作命令、プログラムコード、データ、および、オブジェクトを備える。例えば、メモリ７１０は、例えば、データアクセスが双方向である必要があるか、単方向である必要があるかに応じて、後述する任意の適切なコンピュータ読み取り可能な記憶媒体を含みうる。例えば、プロセッサ７０２は、頻繁に必要になるデータをキャッシュメモリ（図示せず）に直接的かつ非常に迅速に格納し取り出すことができる。
【００９３】
着脱可能マスストレージデバイス７１２が、コンピュータシステム７００にさらなるデータ記憶容量を提供しており、プロセッサ７０２に対して双方向（読み出し／書き込み）または単方向（読み出しのみ）に接続されている。例えば、ストレージ７１２は、磁気テープ、フラッシュメモリ、ＰＣカード、携帯型マスストレージデバイス、ホログラフィックストレージデバイス、および、その他のストレージデバイスなどのコンピュータ読み取り可能な媒体も含みうる。固定マスストレージ７２０も、例えば、さらなるデータ記憶容量を提供しうる。マスストレージ７２０の最も一般的な例は、ハードディスクドライブである。マスストレージ７１２、７２０は、一般に、プロセッサ７０２によって通例はあまり利用されないさらなるプログラミング命令、データなどを格納する。マスストレージ７１２および７２０に保持された情報は、必要であれば、仮想メモリとしてのメモリ７１０（例えば、ＲＡＭ）の一部に標準的な方式で組み込まれてよいことが理解される。
【００９４】
プロセッサ７０２がストレージサブシステムにアクセスできるようにすることに加えて、バス７１４は、その他のサブシステムおよびデバイスへのアクセスを可能にするために用いられてもよい。図に示すように、これらは、ディスプレイモニタ７１８、ネットワークインターフェース７１６、キーボード７０４、および、ポインティングデバイス７０６、ならびに、必要に応じて、補助入力／出力デバイスインターフェース、サウンドカード、スピーカ、および、その他のサブシステムを含みうる。例えば、ポインティングデバイス７０６は、マウス、スタイラス、トラックボール、または、タブレットであってよく、グラフィカルユーザインターフェースと相互作用するのに有用である。
【００９５】
ネットワークインターフェース７１６は、図に示すように、ネットワーク接続を用いて、別のコンピュータ、コンピュータネットワーク、または、遠隔通信ネットワークにプロセッサ７０２を接続することを可能にする。例えば、ネットワークインターフェース７１６を通して、プロセッサ７０２は、方法／処理ステップを実行する過程で、別のネットワークから情報（例えば、データオブジェクトまたはプログラム命令）を受信したり、別のネットワークに情報を出力したりすることができる。情報は、しばしば、プロセッサ上で実行される一連の命令として表され、別のネットワークから受信されたり、別のネットワークへ出力されたりしうる。インターフェースカード（または同様のデバイス）と、プロセッサ７０２によって実装（例えば、実行／実施）される適切なソフトウェアとを用いて、コンピュータシステム７００を外部ネットワークに接続し、標準プロトコルに従ってデータを転送することができる。例えば、本明細書に開示された様々な処理の実施形態は、プロセッサ７０２上で実行されてもよいし、処理の一部を共有するリモートプロセッサと共に、ネットワーク（インターネット、イントラネットワーク、または、ローカルエリアネットワークなど）上で実行されてもよい。さらなるマスストレージデバイス（図示せず）が、ネットワークインターフェース７１６を通してプロセッサ７０２に接続されてもよい。
【００９６】
補助Ｉ／Ｏデバイスインターフェース（図示せず）が、コンピュータシステム７００と共に用いられてよい。補助Ｉ／Ｏデバイスインターフェースは、プロセッサ７０２がデータを送信すること、ならびに、より典型的には、他のデバイス（マイクロホン、タッチセンサ方式ディスプレイ、トランスデューサカードリーダ、テープリーダ、音声または手書き認識装置、バイオメトリクスリーダ、カメラ、携帯型マスストレージデバイス、および、他のコンピュータなど）からデータを受信することを可能にする汎用インターフェースおよびカスタマイズされたインターフェースを含みうる。
【００９７】
図７に示したコンピュータシステムは、本明細書に開示された様々な実施形態と共に利用するのに適切なコンピュータシステムの一例にすぎない。かかる利用に適した他のコンピュータシステムは、より多いまたは少ないサブシステムを含みうる。さらに、バス７１４は、サブシステムをつなぐよう機能する任意の相互接続スキームの例である。異なる構成のサブシステムを有する他のコンピュータアーキテクチャが利用されてもよい。
【００９８】
上述のユニットは、１または複数の汎用プロセッサ上で実行されるソフトウェアコンポーネントとして、特定の機能を実行するよう設計されたプログラム可能論理デバイスおよび／または特定用途向け集積回路などのハードウェアとして、もしくは、それらの組み合わせとして実装することができる。いくつかの実施形態において、ユニットは、コンピュータデバイス（パーソナルコンピュータ、サーバ、ネットワーク装置など）に本発明の実施形態に記載された方法を実行させるための複数の命令など、不揮発性記憶媒体（光学ディスク、フラッシュ記憶装置、携帯用ハードディスクなど）に格納することができるソフトウェア製品の形態で具現化されてよい。ユニットは、単一のデバイス上に実装されてもよいし、複数のデバイスにわたって分散されてもよい。ユニットの機能は、互いに統合されてもよいし、複数のサブユニットにさらに分割されてもよい。
【００９９】
本明細書に開示の実施形態に照らして説明した方法またはアルゴリズム工程は、ハードウェア、プロセッサによって実行されるソフトウェアモジュール、または、両方の組み合わせを用いて実施されうる。ソフトウェアモジュールは、ランダムアクセスメモリ（ＲＡＭ）、メモリ、リードオンリーメモリ（ＲＯＭ）、電気的プログラム可能ＲＯＭ、電気的消去可能プログラム可能ＲＯＭ、レジスタ、ハードドライブ、リムーバブルディスク、ＣＤ−ＲＯＭ、または、任意の他の形態の当業者に周知の記憶媒体内にインストールされてよい。
【０１００】
上述の実施形態は、理解しやすいようにいくぶん詳しく説明されているが、本発明は、提供された詳細事項に限定されるものではない。本発明を実施する多くの代替方法が存在する。開示された実施形態は、例示であり、限定を意図するものではない。
【表１】
2016531346.tif 000003
【図１】
2016531346.tif 000004
【図２Ａ】
2016531346.tif 000005
【図２Ｂ】
2016531346.tif 000006
【図３Ａ】
2016531346.tif 000007
【図３Ｂ】
2016531346.tif 000008
【図３Ｃ】
2016531346.tif 000009
【図３Ｄ】
2016531346.tif 000010
【図４】
2016531346.tif 000011
【図５】
2016531346.tif 000012
【図６】
2016531346.tif 000013
【図７】
2016531346.tif 000014
【図８】
2016531346.tif 000015
【国際調査報告】
2016531346.tif 000016
2016531346.tif 000017