(57)【要約】
2009531789.tif 000002
【特許請求の範囲】
【請求項１】
ディジタル画像ファイルを処理するためのシステムであって、
ディジタル画像ファイルを格納するためのデータストアと、
ディジタル画像を検索し、
ディジタル画像において１つまたは複数のリフローオブジェクトを識別し、
リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを識別し、
リフローオブジェクトに関して多角形の境界領域を識別し、
各境界領域のサイズを決定し、
画像およびその対応するリフローオブジェクトベースラインに対して、各境界領域の位置を決定し、
リフローオブジェクトベースラインおよび境界領域のそれぞれのサイズおよび位置を備える画像に基づくリフロー可能なファイルを生成し、
データストアにおいて生成された画像に基づくリフロー可能なファイルを格納し、
コンピュータディスプレイ上で画像に基づくリフロー可能なファイルをレンダリングするように動作する、
データストアと通信する計算デバイスとを備える、ディジタル画像ファイルを処理するためのシステム。
【請求項２】
ディジタル画像が、印刷された文字列のコンテンツの走査画像に対応する、請求項１に記載のシステム。
【請求項３】
１つまたは複数のリフローオブジェクトのうちの少なくとも１つが、文字列のコンテンツからなる単語に対応する、請求項１に記載のシステム。
【請求項４】
ディジタル画像ファイルを処理するためのコンピュータ実装方法であって、
処理のための画像を獲得することと、
画像におけるリフローオブジェクトを識別することと、
リフローオブジェクトに関する境界領域を識別することと、
リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを識別することと、
画像に対するリフローオブジェクトと、その対応するリフローオブジェクトベースラインに対するリフローオブジェクトとを含む境界領域のそれぞれの位置を決定することと、
境界領域のそれぞれのサイズを決定することと、
境界領域のそれぞれのサイズおよび位置を格納することとを含む、コンピュータ実装方法。
【請求項５】
境界領域が、幾何形状に対応する、請求項４に記載のコンピュータ実装方法。
【請求項６】
幾何形状が、矩形であり、境界領域のそれぞれのサイズが、その幅および高さによって定義される、請求項４に記載のコンピュータ実装方法。
【請求項７】
画像に対する境界領域のそれぞれの位置が、境界領域の少なくとも１つの隅の点の座標によって定義され、その対応するリフローオブジェクトベースラインに対する境界領域のそれぞれの位置が、リフローオブジェクトベースラインからのオフセットによって定義される、請求項４に記載のコンピュータ実装方法。
【請求項８】
リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを識別することがさらに、
ラインにおいて現れるリフローオブジェクトのそれぞれに表される各文字に関して文字ごとのベースラインを識別することと、
ラインにおいて現れるリフローオブジェクトに含まれる文字ごとのベースラインを結合して、リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを生成することとを含む、請求項４に記載のコンピュータ実装方法。
【請求項９】
ラインにおいて現れるリフローオブジェクトに含まれる文字ごとのベースラインを結合することが、
最小平均誤差で、英数字ごとのベースラインのそれぞれの位置を円滑に推定するフィッティング関数を求めることと、
リフローオブジェクトのそれぞれの平均値をフィッティング関数に入力することとを含む、請求項８に記載のコンピュータ実装方法。
【請求項１０】
各リフローオブジェクトが、サブ画像を形成し、境界領域において定義され、各境界領域のサイズおよび位置が、定義され、
出力媒体のサイズを決定することと、
各境界領域のサイズに基づいて、出力媒体の水平寸法を有する複数の水平線のそれぞれに水平方向に収まる境界領域の数を決定することと、
境界領域のサイズに基づいて、各水平線に対して各境界領域の水平位置を決定することと、
境界領域のサイズに基づいて、各水平線ごとに水平方向に収まる各境界領域の垂直位置を決定することと、
境界領域の決定された水平位置および垂直位置に基づいて、境界領域において定義されるリフローオブジェクトをレンダリングすることとをさらに含む、請求項４に記載のコンピュータ実装方法。
【請求項１１】
出力媒体が、ディスプレイであり、出力媒体のサイズが、ディスプレイの垂直寸法および水平寸法によって定義されるものとする、請求項１０に記載のコンピュータ実装方法。
【請求項１２】
複数の水平線の水平方向に収まる境界領域の数が同一である、請求項１０に記載のコンピュータ実装方法。
【請求項１３】
複数の水平線の水平方向に収まる境界領域の数が異なる、請求項１０に記載のコンピュータ実装方法。
【請求項１４】
各水平線に対して各境界領域の水平位置を決定することが、各水平線ごとに水平方向に境界領域の水平位置を調整することをさらに含む、請求項１０に記載のコンピュータ実装方法。
【請求項１５】
リフローオブジェクトベースラインが、リフローオブジェクトのそれぞれに関して定義され、境界領域のサイズに基づいて、各水平線ごとに水平方向に収まる各境界領域の垂直位置を決定することがさらに、
ディスプレイのサイズに基づいて、各水平線の垂直位置を決定することと、
境界領域において定義されるリフローオブジェクトのリフローオブジェクトベースラインが、対応する水平線と位置合わせされるように、各水平線ごとに水平方向に収まる各境界領域の垂直位置を決定することとを含む、請求項１０に記載のコンピュータ実装方法。
【請求項１６】
ディスプレイのサイズに基づいて、各水平線の垂直位置を決定することが、最小間隔でディスプレイの垂直寸法を分割することを含む、請求項１４に記載のコンピュータ実装方法。
【請求項１７】
ディスプレイズームレベルを決定することと、
ディスプレイズームレベルに基づいて境界領域をサイズ調整し、複数の水平線のそれぞれに水平方向に収まるサイズ調整された境界領域の数を決定することと、
水平線に対してサイズ調整された境界領域のそれぞれの水平位置を決定することと、
水平線ごとの水平方向に収まるサイズ調整された境界領域のそれぞれの垂直位置を決定することと、
サイズ調整された境界領域の決定された水平位置および垂直位置に基づいて、サイズ調整された境界領域において定義されるリフローオブジェクトをレンダリングすることとをさらに含む、請求項１０に記載のコンピュータ実装方法。
【請求項１８】
請求項４から１７の方法のいずれかを実行するコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディジタル画像の処理に関し、さらに詳細には、その中に文字列を有するコンテンツの画像の処理および表示に関する。
【背景技術】
【０００２】
コンピュータおよびコンピュータに基づくネットワークの使用が拡大し続けているため、コンテンツプロバイダは、電子形態におけるさらに多くのコンテンツを作成して流通させている。このコンテンツは、書籍、雑誌、新聞、ニュースレター、マニュアル、ガイド、参考文献、記事、レポート、文書などの印刷物で存在する従来の媒体のほか、前述のコンテンツがディジタル形態で存在するかまたは、走査デバイスを用いて印刷形態からディジタル形態に変換される電子媒体を含む。特に、インターネットは、コンテンツの画像のダウンロードおよび表示を通じてディジタルコンテンツのより広い公開を容易にしてきた。データ伝送速度が増大するにつれて、コンテンツのページのますます多くの画像が、オンラインで利用可能になっている。ページ画像は、読者が印刷物のようにコンテンツのページを見ることを可能にする。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、一部の読者は、ページ画像が元々フォーマットされるディスプレイとは異なるサイズのディスプレイを備えた計算デバイスを有する場合もある。また、一部の読者は、ディスプレイ内の種々のサイズのウィンドウでページ画像における文字列を見たい場合もある。一実施形態において、コンテンツプロバイダは、種々のディスプレイ実施形態に適合させるために、同一のコンテンツの異なるバージョンを作成して維持することができる。しかし、この手法は、非効率的でコストがかかる可能性がある。本発明は、ページ画像ファイルを提供し、種々のサイズのディスプレイまたはウィンドウでそれ自体をレンダリングするように自動的に適合するように構成されることに関する。
【課題を解決するための手段】
【０００４】
種々の典型的実施形態によれば、本発明は、画像に基づくリフロー可能なファイルを作成するために、コンピュータ実装方法、システムおよびその中で符号化された命令を有するコンピュータによるアクセス可能な媒体を提供する。画像に基づくリフロー可能なファイルは、所与のサイズのディスプレイまたはウィンドウによって文字列のラインを「リフロー（ｒｅｆｌｏｗ）」可能にすることによって、種々のサイズのディスプレイおよびウィンドウでレンダリングされるように構成される。本明細書で用いられるとき、ラインの「リフロー」は、文字列におけるラインの区分を変化させることを指す。
【０００５】
画像に基づくリフロー可能なファイルを作成するための方法は一般に、６つのステップを含む。第一に、文字列を有するコンテンツの画像が、例えば、文字列の画像における走査によって受信される。第二に、境界領域が、文字列に含まれるリフローオブジェクトのそれぞれに関して求められる。第三に、リフローオブジェクトベースラインが文字列に含まれるリフローオブジェクトのそれぞれに関して求められる。簡単に言えば、単語に関するリフローオブジェクトベースラインは、単語において現れる大部分の文字の基本線と一致する線を指す。第四に、リフローオブジェクトを含む各境界領域の位置は、画像に対して決定され、その対応するリフローオブジェクトベースラインに対しても決定される。例えば、その対応するリフローオブジェクトベースラインに対する境界領域の位置は、境界領域の一方の側とリフローオブジェクトベースラインとの間のオフセット距離として定義されてもよい。第五に、境界領域のそれぞれのサイズが、決定される。一態様において、境界領域のサイズは、その幅および高さによって定義される。第六に、境界領域のそれぞれのサイズおよび位置が、格納される。したがって、本発明の方法によって作成される画像に基づくリフロー可能なファイルは、境界領域のそれぞれのサイズおよび位置を定義し、それぞれは、リフローオブジェクトベースラインにさらに関連付けされ、文字列を有する受信画像に現れるリフローオブジェクトを含む。
【０００６】
本発明のさらなる実施形態によれば、本発明の方法によって作成される画像に基づくリフロー可能なファイルは次に、種々のサイズのディスプレイまたはウィンドウでレンダリングされてもよい。一実施形態において、所与のサイズのディスプレイまたはウィンドウで画像に基づくリフロー可能なファイルをレンダリングする方法は一般に、６つのステップを含む。第１に、文字列を含む画像を備える画像に基づくリフロー可能なファイルが、受信される。ファイルにおいて、各リフローオブジェクトは、サブ画像を形成し、境界領域において定義され、各境界領域のサイズおよび位置は、画像に現れているように定義される。第２に、ディスプレイまたはウィンドウのサイズが、決定される。ディスプレイ／ウィンドウサイズが画像に基づくリフロー可能なファイルが作成された元のディスプレイ／ウィンドウサイズと同一である場合には、ファイルは、境界領域のそれぞれのサイズおよび位置を用いて「そのまま」レンダリングされてもよい。具体的に言えば、境界領域（したがって、その中に含まれるリフローオブジェクト）は、ファイルにおいて定義されたように、それらの位置およびサイズに基づいて、ディスプレイ／ウィンドウにレンダリングされてもよい。
【０００７】
一方、ディスプレイ／ウィンドウサイズが元のディスプレイ／ウィンドウサイズとは多少異なっている場合には、第３のステップにおいて、隣接する境界領域間の所定の最小間隔で、ディスプレイの各水平線ごとに水平方向に収まる境界領域の数は、各境界領域のサイズに基づいて決定される。例えば、ディスプレイ／ウィンドウの水平寸法、および境界領域のそれぞれの幅寸法を鑑みて、どれだけの数の境界領域が各水平線ごとに水平方向に収めることができるかを決定することができる。第４に、各水平線に対する各境界領域の水平位置が、決定される。第５に、各水平線ごとに水平方向に収まる境界領域のそれぞれの垂直位置が、境界領域のサイズに基づいて決定される。例えば、ディスプレイ／ウィンドウの垂直寸法および境界領域のそれぞれの高さ寸法を鑑みて、ディスプレイで複数の水平線に沿って水平方向に収まる境界領域から垂直かつ連続にどれだけ離隔されるかを決定され得る。さらなる特定の実施例として、各境界領域の垂直位置の決定は、（例えば、最小間隔でディスプレイの垂直寸法を分割することによって）ディスプレイのサイズに基づいて複数の水平線のそれぞれの垂直位置を最初に決定し、各境界領域の垂直位置を決定して、境界領域のリフローオブジェクトベースラインを対応する水平線と位置合わせすることによって達成され得る。第６のステップにおいて、その中に含まれるリフローオブジェクトの境界領域およびしたがって、サブ画像は、境界領域の決定された水平位置および垂直位置に基づいてレンダリングされる。
【０００８】
本発明のさらなる態様によれば、本発明の方法によって作成される画像に基づくリフロー可能なファイルは、読者によって要求されるズームレベルに基づいてディスプレイ／ウィンドウ上でレンダリングされてもよい。この実施形態において、各水平線ごとに水平方向に収まる境界領域の数を決定するステップは、要求に応じてディスプレイズームレベルに基づいて、境界領域を最初にサイズ調整することと、次に、各水平線ごとに水平方向に収まるサイズ調整された境界領域の数を決定することとからなる。各水平線に対する各境界領域の水平位置を決定するステップも同様に、水平線に対する各サイズ調整境界領域の水平位置を決定することからなる。各水平線ごとに水平方向に収まる境界領域のそれぞれの垂直位置を決定するステップは、複数の水平線に沿って水平方向に収まるサイズ調整された境界領域において、サイズ調整されたリフローオブジェクトが、垂直に連続に離隔されるように、各サイズ調整境界領域の垂直位置を決定することからなる。最後に、リフローオブジェクトのサブ画像をレンダリングするステップは、サイズ調整境界領域の決定された水平位置および垂直位置に基づいて、サイズ調整された境界領域に定義されるリフローオブジェクトのサブ画像をレンダリングすることからなる。例えば、ズームアップが必要とされる場合には、各境界領域のサイズは、拡大され、サイズ調整（拡大）された境界領域およびしたがって、その中に含まれるサイズ調整（拡大）されたリフローオブジェクトが、レンダリングされる。
【０００９】
前述の態様および本発明の付随する利点の多くは、添付図面と共に解釈すれば、以下の詳細な説明を参照することによってよりよく理解されるように、さらに容易に認識されるであろう。
【発明を実施するための最良の形態】
【００１０】
本発明は、画像に基づくリフロー可能なファイルを作成するために、コンピュータ実装方法、システムおよびその中で符号化された命令を有するコンピュータによるアクセス可能な媒体に関する。画像に基づくリフロー可能なファイルは、例えば種々のサイズのディスプレイおよびウィンドウ、印刷媒体などの種々の出力媒体の上でレンダリングされるようにそれ自身を自動的に適合させるように構成される。さらに具体的に言えば、画像に基づくリフロー可能なファイルは、ディスプレイまたはウィンドウのサイズなどの選択された出力媒体の所与の寸法および制限に基づいて、リフローオブジェクトのラインをリフローすることを可能にする。本発明の文脈において、「リフローオブジェクト」という用語は、画像において情報を表すために用いられ得る１つまたは複数の英数字、文字、記号、数字、公式、グラフィックス、線図、表の境界、文字列のコンテンツなどの選択物を含むものと理解すべきである。例示的実施形態において、単語などの識別可能なコンテンツは、単独のリフローオブジェクトとして表され得る。あるいは、識別可能なコンテンツはまた、複数のリフローオブジェクトとしても表され得る。上述したように、リフローは、リフローオブジェクトに関するラインの区分化の修正に関する。
【００１１】
以下の詳細な説明は、本発明の典型的な実装を提供する。特定のシステム構成および流れ図が示されているが、提供された実施例は、開示された正確な形態に対して包括的なものではなく、本発明を限定するものではないことを理解すべきである。コンピュータおよびディジタル画像化の分野における当業者は、他の構成要素またはステップあるいは構成要素またはステップの組み合わせによって置換可能であり、本発明の利益および利点を依然として達成し得る本明細書に記載される構成要素および処理ステップを認識するであろう。また、以下の説明は、従来のコンピュータ構成要素によって実行され得る論理および動作に関して主に示されることも理解されるべきである。これらのコンピュータ構成要素は、単独の位置でグループ化されてもよく、広範囲に分散されてもよく、一般に、コンピュータプロセッサ、メモリ格納デバイス、ディスプレイデバイス、入力デバイスなどを含む。コンピュータ構成要素が分散される環境において、コンピュータ構成要素は、通信リンクを介して互いにアクセス可能である。
【００１２】
以下の説明において、多数の特定の詳細項目は、本発明の全体的な理解を提供するために記載される。しかし、本発明は、これらの特定の詳細項目の一部またはすべてがなくても実行され得ることは当業者には明白であろう。他の場合において、公知の処理ステップは、本発明をいたずらに曖昧にしないようにするために、詳細に記載されていない。
【００１３】
図１は、本発明の実施形態が実装され得る１つの計算環境の典型的な概要を提供する。示された環境は、インターネットなどのネットワーク１６によって通信可能に接続されるリフロー可能なファイル生成サーバ１０およびクライアントシステム１２を含む。クライアントシステム１２は、ユーザ１８に関連付けられて示されている。図１においてさらに示されているように、リフロー可能なファイル生成サーバ１０は、画像に基づくリフロー可能なファイルデータベース１９を含むか、画像に基づくリフロー可能なファイルデータベース１９と通信する。示された実施形態において、クライアントシステム１２は、リフロー可能なファイル生成サーバ１０からネットワーク１６によって１つまたは複数の画像に基づくリフロー可能なファイルを受信し、それらのファイルをディスプレイスクリーンなどの出力媒体上にレンダリングするように構成される。例示的実施形態において、適切なビューア（例えば、ウェブブラウザ）アプリケーションは、クライアントシステム１２上で動作中であり、コンピュータディスプレイ上に画像に基づくリフロー可能なファイルをレンダリングさせる。
【００１４】
図１におけるネットワーク１６は、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）などのより大きなネットワーク、またはインターネットなどのネットワークの集合体であってもよい。ＴＣＰ／ＩＰなどのネットワーク通信用のプロトコルが、コンピュータネットワークの当業者には周知である。本発明は、インターネットを用いるものとして本明細書に記載される。当業者は、本発明が、関連文書および関連付けられたファイル、スクリプトおよびデータベースを格納するサーバに接続するローカルエリアネットワークまたはワイドエリアネットワークまたは音声ファイルまたは映像ファイル、文書、スクリプト、データベースなどにアクセスするセットトップ領域または他の情報機器を含む放送通信ネットワークなどの他のインタラクティブ環境において用いられてもよいことを認識されよう。
【００１５】
図２Ａおよび図２Ｂは、図１に示されるリフロー可能なファイル生成サーバ１０およびクライアントシステム１２に関する典型的なコンピュータアーキテクチャを示している。リフロー可能なファイル生成サーバ１０（図２Ａ）およびクライアントシステム１２（図２Ｂ）に関する典型的なコンピュータアーキテクチャは、本発明の１つまたは複数の実施形態を実装するために用いられ得る。当然のことながら、当業者は、リフロー可能なファイル生成サーバ１０のほか、クライアントシステム１２が、図２Ａおよび図２Ｂに示されているものより多いか、または少ない構成要素を含んでもよいことは認識されよう。
【００１６】
図２Ａにおけるリフロー可能なファイル生成サーバ１０は、ネットワークインターフェイス２０を用いてネットワーク１６（図１）に接続される。ネットワークインターフェイス２０は、リフロー可能なファイル生成サーバ１０が、コンピュータネットワーク１６を介してデータ、制御信号、データ要求および他の情報を通信することを可能にする。例えば、リフロー可能なファイル生成サーバ１０は、ネットワーク１６からネットワークインターフェイス２０を介して、リフローオブジェクトを有するコンテンツのディジタル画像を含むファイルを受信してもよい。
【００１７】
リフロー可能なファイル生成サーバ１０はさらに、プロセッサ２１、メモリ２２、コンピュータ可読媒体ドライブ２５（例えば、ディスクドライブ）および入力／出力インターフェイス２６を含み、すべて、通信バス２８によって互いにおよびネットワークインターフェイス２０に通信可能に接続される。ディスプレイデバイス２４は、コンピュータディスプレイ（例えば、ＣＲＴスクリーンまたはＬＣＤスクリーン）、テレビスクリーンなどの一般的なディスプレイデバイスであってもよい。入力／出力インターフェイス２６は、その中に文字列を有するコンテンツの画像を捕捉するために、入力デバイス２７などの１つまたは複数の外部デバイスと通信するように構成される。入力デバイス２７は、画像を捕捉することができる任意のデバイスであってもよく、ビデオカメラ、スキャナ、ディジタルカメラ、コピー、走査ペンなどを含むが、これらに限定されるわけではない。入力／出力インターフェイス２６はまた、ディスプレイアダプタ２３などの１つまたは複数の外部出力デバイスと通信するように構成されてもよい。ディスプレイアダプタ２３は、信号をディスプレイデバイス２４に提供し、ディスプレイデバイス２４は、ユーザがリフロー可能なファイル生成サーバ１０を観察して、リフロー可能なファイル生成サーバ１０と交信することを可能にする。その上、入力／出力インターフェイス２６はまた、種々の印刷アダプタ（図示せず）と通信して、印刷媒体上でリフロー可能なファイルをレンダリングするように構成されてもよい。入力／出力インターフェイス２６はまた、マウス、キーボード、ペンまたはユーザによって動作することができる他のデバイスなどの図２Ａに示されていない外部デバイスと通信してもよい。
【００１８】
プロセッサ２１は、メモリ２２などのメモリに格納されたコンピュータプログラム命令に基づいて動作するように構成される。プログラム命令はまた、プログラムされたディジタル信号プロセッサなどのハードウェアフォーマットにおいて具体化されてもよい。さらに、メモリ２２は、本発明によれば、処理、伝送および表示のためにその中にリフローオブジェクトを有するコンテンツのディジタル画像を格納するように構成されてもよい。
【００１９】
メモリ２２は一般に、ＲＡＭ、ＲＯＭおよび／または固定記憶装置を備える。メモリ２２は、リフロー可能なファイル生成サーバ１０の一般的な動作を制御するために、オペレーティングシステム２９を格納する。オペレーティングシステム２９は、Ｍｉｃｒｏｓｏｆｔ（登録商標）オペレーティングシステム、ＵＮＩＸ（登録商標）オペレーティングシステムまたはＬｉｎｕｘ（登録商標）オペレーティングシステムなどの汎用オペレーティングシステムであってもよい。メモリ２２はさらに、その中にリフローオブジェクトを含むディジタル画像を解析するように設計されたプログラムコードおよびデータから構成される光学文字認識（ＯＣＲ）アプリケーション３０を格納する。当業者は、画像において、リフローオブジェクトを解析して認識することができる種々のアルゴリズムおよび技術を認識するであろう。しかし、本発明の目的のために、多くのＯＣＲルーチンによって達成されるように、アルゴリズムおよび技術が個別の文字または記号を実際に認識するか、それらの意味を解釈する必要はない。正確に言えば、ＯＣＲのような処理を用いてもよく、そのような処理において、ディジタル画像におけるベースラインおよび文字の位置およびサイズなどの制限情報が、確認される。本明細書で用いられるとき、「文字認識」という用語は、スキャナおよびコンピュータアルゴリズムを用いた文字認識のすべての形態を指す。市販のＯＣＲソフトウェアの例としては、ＳｃａｎＳｏｆｔ，Ｉｎｃ．によるＯｍｎｉＰａｇｅ  Ｐｒｏ（商標）およびＳｍａｒｔＬｉｎｋ  ＣｏｒｐｏｒａｔｉｏｎによるＦｉｎｅＲｅａｄｅｒ（商標）が挙げられる。メモリ２２はさらに、リフロー可能なファイル生成アプリケーション３１に提供するプログラムコードおよびデータを格納する。リフロー可能なファイル生成アプリケーション３１は、画像に基づくリフロー可能なファイルを生成するために、ネットワークインターフェイス２０、入力／出力インターフェイス２６などを介して受信されるディジタル画像を処理するためのプログラムコードおよびデータを含み、画像に基づくリフロー可能なファイルは次に、格納のために画像に基づくリフロー可能なファイルデータベース１９に送信され得る。
【００２０】
図２Ｂは、図１に示されるクライアントシステム１２に関する典型的なコンピュータアーキテクチャを示している。図２Ｂにおけるクライアントシステム１２は、リフロー可能なファイル生成サーバ１０に関して上述した類似の名前の構成要素に対して同様に動作してもよい複数の構成要素を含む。クライアントシステム１２は、メモリ３３と通信するプロセッサ３２と、ディスプレイデバイス３５に連結されるディスプレイアダプタ３４と、コンピュータ可読媒体ドライブ３６と、入力デバイス３８に連結される入力／出力インターフェイス３７と、ネットワークインターフェイス３９と、を含み、すべて、バス４０によって通信可能に接続される。
【００２１】
メモリ３３は、図示されているように、クライアントシステム１２の一般的な動作を制御するオペレーティングシステム４１を格納する。メモリはさらに、ウェブブラウザプログラムなどのビューアプログラム４２を格納する。本発明の種々の典型的な実施形態によれば、プロセッサ３２は、ビューアプログラム４２およびディスプレイアダプタ３４と接続され、ディスプレイデバイス３５の特定のサイズに関係なく、ディスプレイデバイス３５上で画像に基づくリフロー可能なファイルを適応可能にレンダリングする。本明細書において、「ディスプレイ」という用語および「ウィンドウ」という用語は、置換可能に用いられてもよく、さらに、「ディスプレイ」という用語は、ディスプレイ（またはスクリーン）およびウィンドウの両方を包含するように用いられてもよい。
【００２２】
図３Ａは、その中にリフローオブジェクトを有するコンテンツのページのディジタル画像が表示されるスクリーンディスプレイの絵図である。具体的に言えば、図３Ａは、ビューアプログラム４２を動作中であるクライアントシステム１２などの計算デバイスのディスプレイ（またはウィンドウ）４３を示している。図示した実施例において、ディスプレイ４３は、書籍からの完全なページの画像を示している。ビューアプログラム４２はさらに、ユーザが、表示されているコンテンツのページによって閲覧することを可能にする「前ページ」４４および「次のページ」４５などの種々の選択可能な制御と、ユーザがディスプレイ４３内のコンテンツを上または下にスクロールすることを可能にするスクロールバー４６と、を表示している。
【００２３】
図３Ｂの異なる構成は、計算デバイスのスクリーンディスプレイを示しており、ビューアプログラム４７も動作中であってもよい。図３Ｂにおけるディスプレイ４８は、図３Ａにおけるディスプレイ４３に比べると、高さおよび幅の両方の寸法において小さい。本発明によれば、画像に基づくリフロー可能なファイルは、種々のサイズのディスプレイおよびウィンドウ上に適応可能にレンダリングされてもよい。図３Ｂにおいて、例えば、図３Ａのディスプレイ４３の場合と同一のリフローオブジェクト、例えば、文字列のコンテンツは、自動的に「リフロー」され、より小さなディスプレイ４８上でレンダリングされる。具体的に言えば、図３Ａの元のディスプレイ４３における第１行は、「Ｇｒｏｗｉｎｇ  ｕｐ  ｉｎ  Ｖｉｎｃｉ」を含み、より小さいディスプレイ４８では、第１行には、「Ｇｒｏｗｉｎｇ  ｕｐ  ｉｎ」のみが現れ、より小さいディスプレイ４８において第２行の冒頭に「Ｖｉｎｃｉ」が移動されるようにリフローされる。ディスプレイ４８は、図３Ａの元のディスプレイ４３より小さいため、ビューアプログラム４７はさらに好ましくは、ユーザがより小さいディスプレイ４８の中でコンテンツを上下にスクロールして、図３Ａの元のディスプレイ４３に含まれるような全体的な文字列のコンテンツを表示させることを可能にするために、スクロールバー４９を含んでもよい。
【００２４】
図３Ｃは、図３Ｂのディスプレイ４８と相対的に同一サイズであるが、より大きな倍率で、図３Ｂのディスプレイ４８と同一の文字列のコンテンツを示しているディスプレイ（ウィンドウ）４８’を示している。例えば、ユーザは、図３Ｂのディスプレイ４８において以前に示されていたような表示コンテンツを拡大するためにズームアップ「＋」制御ボタン５０を選択してもよい。次に、図３Ｃにおいて、図３Ｂのディスプレイ４８と同一のリフローオブジェクトが、今度は拡大され、より大きな倍率で、ディスプレイ４８’の上で自動的にリフローされレンダリングされる。具体的に言えば、図３Ｂのディスプレイ４８の第１の行は、「Ｇｒｏｗｉｎｇ  ｕｐ  ｉｎ」を含んだが、拡大された「Ｇｒｏｗｉｎｇ」部分のみが今度は、ディスプレイ４８’における第１行に現れるように拡大されてリフローされ、同様に拡大された「ｕｐ  ｉｎ」がディスプレイ４８’における第２行に移動される。既に述べたように、スクロールバー４９は、ユーザがディスプレイ４８’の中でコンテンツを上下にスクロールして図３Ａの元のディスプレイ４３に含まれるような全体的な文字列のコンテンツを表示させることを可能にするために用いられてもよい。
【００２５】
図３Ｄは、本発明のさらなる実施形態が実装され得ることを示している。具体的に言えば、図３Ｄは、第１のディスプレイ（ウィンドウ）５２および第２のディスプレイ（ウィンドウ）５４を含むビューアプログラム４２を示している。本発明の種々の典型的な実施形態において、２つのディスプレイ５２および５４は、その中に含まれるリフローオブジェクトを独立にリフローすることができる。例えば、図３Ｄにおける第１のディスプレイ５２は、図３Ａの元のディスプレイ４３と同一のサイズであり、したがって、元のディスプレイ４３と同一の文字列のコンテンツを示している。第２のディスプレイ５４は、第１のディスプレイ５２とは、文字列のコンテンツの異なる部分を、さらに第１のディスプレイ５２に示される倍率に比べて異なる倍率で示している。これは、例えば、第２のディスプレイ５２に示された表示文字列のコンテンツをズームアップするためのユーザ要求に応じて、文字列のコンテンツに対応するリフローオブジェクトを異なるようにレンダリングした結果である。
【００２６】
図４Ａは、本発明の一実施形態による画像に基づくリフロー可能なファイルを生成するためのリフロー可能なファイル生成アプリケーション３１によって実装される典型的な方法７０を示している。方法７０は、ブロック７１で、その中に１つまたは複数のリフローオブジェクトを有するコンテンツの画像を受信することによって始まる。受信画像のフォーマットは、可変であってもよく、Ａｄｏｂｅ（登録商標）Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｉｌｅ（ＰＤＦ）などのアクセス可能なフォーマットにおける画像またはＪＰＥＧ、ＴＩＦＦ、ＧＩＦまたはＢＭＰフォーマットファイルなどのアクセス不能なフォーマットファイルにおける画像を含むことができる。例示的実施形態において、画像は、印刷される素材の走査画像に対応してもよい。あるいは、画像は、種々のソフトウェアアプリケーションによって生成されるか、または第３者ソフトウェア構成要素によって変換される電子文書に対応してもよい。
【００２７】
受信画像は、「元の」ディスプレイサイズに暗黙的に関連付けられてもよい。例えば、上記の図３Ａに示されているように、コンテンツの元の印刷バージョンの元の「ルックアンドフィール」を維持するために、元の印刷に現れているのと同一のフォーマットでページ画像を表示することが望ましいことが多い。元のディスプレイサイズは、本明細書で用いられるとき、コンテンツの元の印刷バージョンと同一のフォーマットでページ画像をレンダリングすることができるディスプレイのサイズを指す。
【００２８】
ブロック７２において、リフロー可能なファイル生成アプリケーション３１は、コンテンツの画像において各リフローオブジェクトに関する境界領域を決定する。例示的実施形態において、各リフローオブジェクトに関する境界領域は、矩形、円、曲線、楕円、三角形およびさらに複雑な多角形形状をはじめとする種々の幾何学的形状に対応することができるが、これらに限定されるわけではない。リフロー可能なファイル生成アプリケーション３１は、出力媒体のタイプ、選択された出力媒体の特定の属性および／または一定のリフローオブジェクトの特定の属性などの境界領域に基づく種々の要因に関する形状を選択してもよい。例えば、リフロー可能なファイル生成アプリケーション３１は、印刷媒体とは対照的に、コンピュータディスプレイに関して異なる境界領域を選択してもよい。別の実施例において、リフロー可能なファイル生成アプリケーション３１は、楕円形のディスプレイスクリーンとは対照的な矩形のディスプレイスクリーンに関して異なる境界領域を選択してもよい。さらなる実施例において、リフロー可能なファイル生成アプリケーション３１は、ハイフンで結んだ単語の一部に対応するリフローオブジェクトなどの特殊な間隔および／またはフォーマットに関連付けられてもよい関連リフローオブジェクトに関する相補的な境界領域を選択してもよい。
【００２９】
ブロック７３で、リフロー可能なファイル生成アプリケーション３１は、画像におけるリフローオブジェクトのそれぞれに関して、リフローオブジェクトベースラインを識別する。次に、ブロック７４で、リフロー可能なファイル生成アプリケーション３１は、元々受信されたような画像に対して各境界領域の位置を決定し、その対応するリフローオブジェクトベースラインに対しても各境界領域の位置を決定する。ブロック７５で、各境界領域のサイズが、決定される。例示的実施形態において、リフロー可能なファイル生成アプリケーション３１は、境界領域サイズを決定するために、種々の数学モデルを利用することができる。さらに、図５および図６Ａから図６Ｅを参照すると、境界領域、リフローオブジェクトベースラインの概念および各境界領域の位置およびサイズが、さらに詳細に記載される。
【００３０】
図５において、受信された文字列のコンテンツ９０に関して、４つの「ラインごとの」ベースライン９１が求められる。これは、以下に詳細に記載されるように、リフローオブジェクトベースラインとは異なる。一般に、ラインごとのベースラインは、出力媒体（例えば、ディスプレイ）上のラインにおいて現れる大部分のリフローオブジェクトの基本線と一致するように求められるのに対して、リフローオブジェクトベースラインは、単独のリフローオブジェクトにおいて現れる大部分の文字の基本線と一致するように求められる。さらに、図５を参照すると、第１のラインごとのベースライン９１上で、異なるサイズの矩形９２から９５の形態の境界領域が、リフローオブジェクト「Ｇｒｏｗｉｎｇ」「ｕｐ」「ｉｎ」および「Ｖｉｎｃｉ」をそれぞれ含むように求められる。例示的実施形態において、境界領域は、相対的に各リフローオブジェクトに包含される文字列の文字に境界をなすように求められる。ラインごとのベースラインおよび境界領域の両方は、リフロー可能なファイル生成サーバ１０のメモリ２２に格納される適切なＯＣＲまたはＯＣＲに類似のソフトウェアプログラムを用いて容易に求められ得る（図２Ａ）。
【００３１】
しかし、図６Ａに示されているように、ＯＣＲまたはＯＣＲに類似のソフトウェアによって決定されるようなラインごとのベースラインは、（例えば、傾斜された走査画像に起因して）傾斜されることが多く、したがって、文字列のラインに現れる大部分の文字の基本線と正確に一致しない。図６Ａにおいて、ライン１００は、文字列「Ｔｈｅ  ｑｕｉｃｋ  ｂｒｏｗｎ  ｆｏｘ」に関する真のラインごとのベースラインを表しているのに対して、ライン１０２は、ＯＣＲまたはＯＣＲに類似のソフトウェアによって決定されたような誤ったラインごとのベースラインを表している。ＯＣＲによって決定されるラインごとのベースライン１０２は、真のラインごとのベースライン１００からわずかに傾斜されている。図示した実施例において、ＯＣＲによって決定されるラインごとのベースライン１０２は、最も左の単語「Ｔｈｅ」で真のラインごとのベースライン１００の上方にあるが、最も右の単語「ｆｏｘ」で真のラインごとのベースライン１００の下方にある。したがって、図６Ｂに示されているように、そのようなＯＣＲによって決定される誤ったラインごとのベースラインが、複数の行の文字列をレンダリングするために用いられ、単独のラインにおいてそれぞれ真のラインごとのベースライン１００および１００’を有する場合には、レンダリングされた文字列は、水平線に沿って適切に位置合わせされたものとして現れていない。したがって、ＯＣＲによって決定されるラインごとのベースラインは、一般に、リフローオブジェクトにおいて現れる大部分の文字列の基本線と一致する真の「リフローオブジェクト」ベースラインを推定するために確実に用いられることはできない。
【００３２】
図６Ｃに示されているように、ＯＣＲまたはＯＣＲに類似のソフトウェアはまた、「文字ごとの」ベースライン１０４ａから１０４ｄを識別してもよい。一般に、文字ごとのベースラインは、英数字などの単独の文字の基本線と一致するように求められる。しかし、図６Ｃに示されているように、ＯＣＲによって決定される文字ごとのベースライン１０４ａから１０４ｄは通常、複数のリフローオブジェクトを含むラインに沿って大きな量のジッタを有する。したがって、任意の所与のラインにおける文字に関して文字ごとのベースラインは、ＯＣＲによって決定されるラインごとのベースラインに対して平均化されてもよいが、分散（またはジッタ）の量は、大きすぎて、真の「リフローオブジェクト」ベースラインを推定するために用いられ得ない。
【００３３】
本発明の種々の典型的な実施形態によれば、真のリフローオブジェクトベースラインは、最小の平均誤差で複数のリフローオブジェクトを含むラインに沿って文字ごとのベースラインのそれぞれの位置を円滑に推定するフィッティング関数を求めることに基づいて識別される。線形回帰または多項式回帰を含む任意のフィッティング関数が用いられてもよいが、これらに限定されるわけではない。フィッティング関数は次に、フィッティング関数に対してリフローオブジェクトのそれぞれに関する平均値を入力することによって、ラインに沿ってリフローオブジェクトのそれぞれに関して実質的に真のリフローオブジェクトベースラインを識別するために用いられ得る。例えば、フィッティング関数が、ｙ＝０．３ｘ＋１２００で求められ、水平中心点がそれぞれｘ＝５００、１２００、１９００および２６００であるラインに沿って４つのリフローオブジェクトがある場合には、これらの４つのリフローオブジェクトに関する垂直方向のｙ軸に沿ったリフローオブジェクトベースライン値は、ｙ＝１３５０、１５６０、１７７０および１９８０としてそれぞれ計算され得る。フィッティング関数によって計算されたｙ値は、ラインに沿ってリフローオブジェクトに関してリフローオブジェクトベースラインを求め、求められたリフローオブジェクトベースラインのそれぞれは、真のラインごとのベースラインのその対応する部分に対して最小量のエラー（距離）を有する。
【００３４】
図６Ｄは、本発明の方法によるフィッティング関数を用いて求められたように、４つのリフローオブジェクト「Ｔｈｅ」「ｑｕｉｃｋ」「ｂｒｏｗｎ」および「ｆｏｘ」に関する４つの「リフローオブジェクト」ベースライン１０６ａ、１０６ｂ、１０６ｃおよび１０６ｄをそれぞれ示している。図示されているように、リフローオブジェクトベースライン１０６ａから１０６ｄのそれぞれは、真のラインごとのベースライン１００に密接に適合しており、したがって、真のラインごとのベースライン１００のその対応する部分（すなわち、その真の「リフローオブジェクト」ベースライン）に密接に適合している。
【００３５】
図６Ｅは、上記で決定されたリフローオブジェクトベースライン１０６ａから１０６ｄのそれぞれを水平線１０４と位置合わせすることによって、ディスプレイ上の水平線１０４でレンダリングされるような４つのリフローオブジェクトを示している。図示されているように、水平線１０４上でそれと整列される対応するリフローオブジェクトベースライン１０６ａから１０６ｄを用いてレンダリングされる場合、４つのリフローオブジェクトのすべては、適切に現れる。元の画像の任意の傾斜によって生じる誤差は、図６Ａおよび図６Ｂに示されているように線の両方の端部で生じる誤差のすべてとは対照的に、リフローオブジェクトの全体的なラインに関して分散されることから、そのような適正なレンダリングは、本発明の方法によれば可能である。
【００３６】
極端なジッタの場合には、リフローオブジェクトに関してリフローオブジェクトベースラインを求める方法は、最初にフィッティング関数を求め、次に、フィッティング関数に対して、すべての英数字（文字）の距離の標準偏差を求め、元のフィッティング関数の１つの標準偏差の中で英数字のすべてを最適に近似するフィッティング関数を求めることによって、さらに改良され得る。フィッティング関数技術は、上付き文字、下付き文字、脚注インジケータ、数学記号、ハイフンおよび他の類似のベースラインに適合しない英数字および記号を検討対象から除外し、それによって、決定されたリフローオブジェクトベースラインを真のラインごとのベースライン１００にさらに近づける。
【００３７】
図５に戻って参照すると、境界領域９２から９５のそれぞれの位置は、例えば、境界領域の１つまたは複数の隅の点のｘ−ｙ座標に関して元の画像に対して決定され得る。さらに、その対応するリフローオブジェクトベースラインに対する各境界領域の位置は、リフローオブジェクトベースライン（図５のラインごとのベースライン９１と一致する）から境界領域の下側（境界領域９２参照）までのオフセット距離「Ｂ」に関して、定義され得る。さらに、説明のための実施例において、各境界領域が形状において矩形であるために、各境界領域のサイズは、境界領域の高さ「Ｈ」および幅「Ｗ」に関して定義され得る。境界領域の位置およびサイズ（例えば、高さおよび幅）は、インチ、センチメートル、ピクセル数などの空間寸法に拡がる任意の適切な測定単位を用いて決定されてもよい。
【００３８】
図４Ａに戻って参照すると、ブロック７６で、リフロー可能なファイル生成アプリケーション３１は、境界領域のそれぞれの位置およびサイズを格納し、それによって、画像に基づくリフロー可能なファイルを形成する。具体的に言えば、例えば、Ｘ−Ｙ座標に関して定義される元のディスプレイ画像（または元のディスプレイサイズ）に対する各境界領域の位置および図５に示されているように、例えばオフセット距離「Ｂ」に関して定義されるその対応するリフローオブジェクトベースラインに対する各境界領域の位置は、各境界領域のサイズと共に格納される。ファイルは、ＪＰＥＧフォーマット、ＴＩＦＦフォーマット、ＧＩＦフォーマットおよびＢＭＰフォーマットをはじめとする画像データを格納するために開発された複数のコンピュータ読出し可能なフォーマットの任意の１つで格納されてもよいが、これらに限定されるわけではない。別の実施形態において、リフロー可能なファイル生成アプリケーション３１は、別の計算デバイスまたはネットワークに基づく送信先に直接的にリフロー可能なファイルを出力することができる。
【００３９】
各境界領域の位置およびサイズを定義する種々の方法が可能であることは、当業者によって認識されるべきである。例えば、各境界領域のサイズは、上述したように、その幅および高さを用いることによって明示的に定義されてもよく、または、ベクトルに基づく公式などのサイズの表示である数学的公式を用いることによって黙示的に定義されてもよい。元の画像または元のディスプレイサイズに対する各境界領域の位置は、例えば、Ｘ−Ｙ座標に関して絶対的に定義されてもよく、または隣接する境界領域の位置（例えば、直前の境界領域の位置）に対して相対的に定義されてもよい。
【００４０】
図４Ｂは、本発明によって作成される画像に基づくリフロー可能なファイルをレンダリングするために、クライアントシステム１２のメモリ３３においてビューアプログラム４２によって実装され得る典型的な方法８０を示している。前述のように、例示的実施形態において、リフロー可能なファイルは、クライアントシステム１２のディスプレイデバイス３５などの任意の所与のサイズのディスプレイまたはウィンドウなどの出力媒体の上でレンダリングされてもよい。さらに、リフロー可能なファイルは、印刷媒体などの他の出力媒体の上でレンダリングされてもよい。方法８０は、ブロック８１で、画像に基づくリフロー可能なファイルを受信することによって始まる。画像に基づくリフロー可能なファイルにおいて、画像に含まれる各リフローオブジェクトは、サブ画像を形成し、境界領域において定義される。さらに、各境界領域のサイズおよび位置は、リフロー可能なファイルにおいて定義される。さらに、リフローオブジェクトのそれぞれに関して、リフローオブジェクトベースラインが、定義されてもよい。
【００４１】
ブロック８２で、ビューアプログラム４２は、リフロー可能なファイルがレンダリングされる出力媒体のサイズを決定する。ディスプレイサイズは、ディスプレイスクリーンの形状および寸法などの出力媒体の形状および寸法によって定義されてもよい。出力媒体サイズが、画像に基づくリフロー可能なファイルが作成された元のディスプレイ／ウィンドウサイズと同一または実質的に同一である場合には、リフロー可能なファイルは、リフロー可能なファイルにおいて定義されるように、境界領域のそれぞれの位置およびサイズを用いてレンダリングされてもよい。一方、出力媒体サイズが、元のディスプレイ／ウィンドウサイズより小さいか、より大きいか、または実質的に元のディスプレイ／ウィンドウサイズとは異なる場合には、ビューアプログラム４１は、リフロー可能なファイルにおいてリフローオブジェクトを「リフロー」することができる。
【００４２】
具体的に言えば、ブロック８３で、隣接する境界領域間の最小間隔で出力媒体において複数の水平線のそれぞれに水平方向に収まる境界領域の数は、出力媒体の水平寸法および各境界領域のサイズに基づいて決定される。例えば、ディスプレイ／ウィンドウの水平寸法および境界領域のそれぞれの幅寸法を鑑みて、どれだけの境界領域がディスプレイにおいて各水平線ごとに水平方向に収まるかを決定され得る。例示的実施形態において、ビューアプログラム４２は、相補的な境界領域を有する２つのリフローオブジェクト（例えば、ハイフンでつながれた単語に対応するリフローオブジェクト）の間のより小さい水平距離に関連付けられてもよい。ブロック８４で、各水平線に対する各境界領域の水平位置が決定される。例えば、各水平線に沿った境界領域の１つまたは複数の隅の水平座標（例えば、ｘ値）が、決定されてもよい。
【００４３】
ブロック８５で、ビューアプログラム４１は、境界領域のサイズに基づいて、各水平線ごとに水平方向に収まる境界領域のそれぞれの垂直位置を決定する。例えば、ディスプレイ／ウィンドウの垂直寸法および境界領域のそれぞれの高さ寸法を鑑みて、ビューアプログラム４１は、ディスプレイ上で複数の水平線に沿って水平方向に収まる境界領域から垂直かつ連続的にどのように離隔されるかを決定することができる。さらに特定の実施例として、これは、ディスプレイのサイズに基づき、ディスプレイの複数の水平線のそれぞれの垂直位置を最初に決定することによって（例えば、最小間隔でディスプレイの垂直寸法を分割することによって）、各境界領域の垂直位置を決定して、境界領域のリフローオブジェクトベースラインを対応する水平線と位置合わせすることによって達成され得る。ディスプレイ上での複数の水平線間の最小間隔は、レンダリングされるコンテンツの最小サイズを楽に判読可能であるように確保するために、予め決定されてもよい。別の例として、ディスプレイ／ウィンドウの垂直寸法は、元のコンテンツと同一のルックアンドフィールを維持するために、元のディスプレイ／ウィンドウと同一の間隔で分割されてもよい。さらなる実施形態において、ビューアプログラム４１はまた、コンテンツがレンダリングされていない可能性がある出力媒体の特定の一部を考慮してもよい。さらに別に、ビューアプログラム４１はまた、チャート、グラフ、絵、イラスト、数式、ソフトウェアコードの列挙、詩、ヘッダ／フッタなどの適切にリフローされていないコンテンツである可能性がある任意のコンテンツを考慮してもよい。
【００４４】
最後に、ブロック８６で、境界領域および、したがってその中に含まれるリフローオブジェクトは、境界領域の決定された水平位置および垂直位置に基づいてレンダリングされる。
【００４５】
種々の典型的な実施形態において、境界領域および、したがってその中に含まれるリフローオブジェクトは、ディスプレイ上で各水平線に沿って位置調整されてもよい。具体的に言えば、隣接する境界領域間に最小間隔を有する各水平線ごとに水平方向に収まる境界領域の数が求められた後、水平線に沿って残りの空間があるのであれば、残りの空間は、適切に分散され得る。例えば、右寄せの場合には、残りの空間は、水平線の端（例えば、最も右の部分）から取り除かれ、水平線に現れる第１の（例えば、最も左の）リフローオブジェクト（または境界領域）の前に、水平線の冒頭に挿入されてもよい。中央揃えの場合には、残りの空間の２分の１が、水平線の端部から取り除かれて、水平線の冒頭に挿入されてもよい。両端揃えの場合には、残りの空間は、水平線に現れる隣接するリフローオブジェクト間のスペースの数（すなわち、水平線上のリフローオブジェクトの数より１少ない数）によって分割されてもよく、結果として生じる商の空間が、隣接するリフローオブジェクト間のスペースのそれぞれに挿入されてもよい。
【００４６】
さらに図４Ｂを参照すると、本発明のさらなる実施形態において、ユーザ（読者）によって要求されるズームレベルに基づいて、ディスプレイ／ウィンドウ上で画像に基づくリフロー可能なファイルをレンダリングするための方法が、提供される。第一に、ブロック８２で、出力媒体のサイズのほか、ユーザによって要求されるズームレベル（サイズ調整）が決定される。ブロック８３で、境界領域は、要求されるズームレベル（例えば、ズームアップまたはズームダウン）に基づいてサイズ調整され、複数の水平線のそれぞれに水平方向に収まるサイズ調整された境界領域の数が、決定される。例えば、ズームアップが要求される場合には、各境界領域のサイズは、より少数の境界領域が各水平線ごとに水平方向に収まるように拡大される。他方、ズームダウンが要求される場合には、各境界領域のサイズは、より多くの境界領域が各水平線ごとに水平方向に収まるようにより小さく構成される。例示的実施形態において、ビューアアプリケーション４１は、ズームレベルにおける変化に直接的に比例する境界領域のサイズを調整してもよい。あるいは、ビューアアプリケーション４１は、境界領域の調整を制限することができ、および／または境界領域調整に対して異なる比率を適用することができる。
【００４７】
ブロック８４で、サイズ調整される境界領域のそれぞれの水平位置は、水平線に対して決定される。ブロック８５で、サイズ調整される境界領域のそれぞれの垂直位置が、決定される。例えば、ユーザがディスプレイ／ウィンドウにおいて示される文字列（例えば、リフローオブジェクト）におけるズームを要求する場合には、境界領域は拡大され、したがって、ディスプレイ上の水平線は、拡大された境界領域に適合するように、ズームの要求されたレベルに比例してさらに離隔されてもよい。ユーザがズームアウトを要求する場合には、水平線は、ズームアウトの要求されたレベルに比例して、縮小される（例えば、より近くに配置される）。
【００４８】
最後に、ブロック８６で、拡大された境界領域および、したがって拡大された境界領域において定義されたリフローオブジェクトのサブ画像は、サイズ調整された境界領域の決定された水平位置および垂直位置に基づいて、出力媒体上でレンダリングされる。
【００４９】
本発明の例示的実施形態について図示して記載してきたが、本発明の趣旨および範囲を逸脱することなく、その中に種々の変更が成され得ることは十分に認識されよう。
【図面の簡単な説明】
【００５０】
【図１】本発明の実施形態が実装され得る具体的な計算環境を示す絵図である。
【図２Ａ】図１に示されるようなリフロー可能なファイル生成サーバにおいて組み込まれ得る構成要素の一部を示す機能ブロック図である。
【図２Ｂ】図１に示されるようなクライアントシステムにおいて組み込まれ得る構成要素の一部を示す機能ブロック図である。
【図３Ａ】その中に文字列のコンテンツを有するコンテンツのページのディジタル画像が表示される、スクリーンディスプレイの絵図である。
【図３Ｂ】より小さなサイズのディスプレイ／ウィンドウで、図３Ａのコンテンツをレンダリングするビューアプログラムの絵図である。
【図３Ｃ】図３Ｂのコンテンツをレンダリングして、拡大ズームを示すビューアプログラムの絵図である。
【図３Ｄ】それに基づいて文字列のコンテンツの２つのディジタル画像が個別にレンダリングされるウェブページを示すブラウザプログラムの絵図である。
【図４Ａ】本発明の一実施形態による画像に基づくリフロー可能なファイルを生成するための典型的な方法の流れ図である。
【図４Ｂ】本発明の一実施形態による任意の所与のサイズのディスプレイまたはウィンドウで、画像に基づくリフロー可能なファイルをレンダリングする典型的な方法の流れ図である。
【図５】それぞれがリフローオブジェクトを含むラインごとのベースラインおよび境界領域の概念を示す。
【図６Ａ】リフローオブジェクトベースラインの概念を示し、リフローオブジェクトベースラインがどのようにして、文字ごとのベースラインから導出され得るかを示している。
【図６Ｂ】リフローオブジェクトベースラインの概念を示し、リフローオブジェクトベースラインがどのようにして、文字ごとのベースラインから導出され得るかを示している。
【図６Ｃ】リフローオブジェクトベースラインの概念を示し、リフローオブジェクトベースラインがどのようにして、文字ごとのベースラインから導出され得るかを示している。
【図６Ｄ】リフローオブジェクトベースラインの概念を示し、リフローオブジェクトベースラインがどのようにして、文字ごとのベースラインから導出され得るかを示している。
【図６Ｅ】リフローオブジェクトベースラインの概念を示し、リフローオブジェクトベースラインがどのようにして、文字ごとのベースラインから導出され得るかを示している。
【図１】
2009531789.tif 000003
【図２Ａ】
2009531789.tif 000004
【図２Ｂ】
2009531789.tif 000005
【図３Ａ】
2009531789.tif 000006
【図３Ｂ】
2009531789.tif 000007
【図３Ｃ】
2009531789.tif 000008
【図３Ｄ】
2009531789.tif 000009
【図４Ａ】
2009531789.tif 000010
【図４Ｂ】
2009531789.tif 000011
【図５】
2009531789.tif 000012
【図６Ａ】
2009531789.tif 000013
【図６Ｂ】
2009531789.tif 000014
【図６Ｃ】
2009531789.tif 000015
【図６Ｄ】
2009531789.tif 000016
【図６Ｅ】
2009531789.tif 000017
【手続補正書】
【提出日】平成20年11月25日(2008.11.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ディジタル画像ファイルを処理するためのシステムであって、
ディジタル画像ファイルを格納するためのデータストアと、
ディジタル画像を検索し、
（ａ）ラインにおいて現れるリフローオブジェクトのそれぞれに表される各文字に関して文字ごとのベースラインを識別することと、（ｂ）ラインにおいて現れるリフローオブジェクトに含まれる文字ごとのベースラインを結合して、リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを生成することとによって、ディジタル画像において１つまたは複数のリフローオブジェクトを識別し、
リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを識別し、
リフローオブジェクトに関して多角形の境界領域を識別し、
各境界領域のサイズを決定し、
画像およびその対応するリフローオブジェクトベースラインに対して、各境界領域の位置を決定し、
リフローオブジェクトベースラインおよび境界領域のそれぞれのサイズおよび位置を備える画像に基づくリフロー可能なファイルを生成し、
データストアにおいて生成された画像に基づくリフロー可能なファイルを格納し、
コンピュータディスプレイ上で画像に基づくリフロー可能なファイルをレンダリングするように動作する、
データストアと通信する計算デバイスとを備える、ディジタル画像ファイルを処理するためのシステム。
【請求項２】
ディジタル画像が、印刷された文字列のコンテンツの走査画像に対応する、請求項１に記載のシステム。
【請求項３】
１つまたは複数のリフローオブジェクトのうちの少なくとも１つが、文字列のコンテンツからなる単語に対応する、請求項１に記載のシステム。
【請求項４】
ディジタル画像ファイルを処理するためのコンピュータ実装方法であって、
処理のための画像を獲得することと、
画像におけるリフローオブジェクトを識別することと、
リフローオブジェクトに関する境界領域を識別することと、
リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを識別することと、
画像に対するリフローオブジェクトと、その対応するリフローオブジェクトベースラインに対するリフローオブジェクトとを含む境界領域のそれぞれの位置を決定することと、
境界領域のそれぞれのサイズを決定することと、
境界領域のそれぞれのサイズおよび位置を格納することとを含み、
リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを識別することがさらに、（ａ）ラインにおいて現れるリフローオブジェクトのそれぞれに表される各文字に関して文字ごとのベースラインを識別することと、（ｂ）ラインにおいて現れるリフローオブジェクトに含まれる文字ごとのベースラインを結合して、リフローオブジェクトのそれぞれに関してリフローオブジェクトベースラインを生成することとを含む、コンピュータ実装方法。
【請求項５】
境界領域が、幾何形状に対応する、請求項４に記載のコンピュータ実装方法。
【請求項６】
幾何形状が、矩形であり、境界領域のそれぞれのサイズが、その幅および高さによって定義される、請求項４に記載のコンピュータ実装方法。
【請求項７】
画像に対する境界領域のそれぞれの位置が、境界領域の少なくとも１つの隅の点の座標によって定義され、その対応するリフローオブジェクトベースラインに対する境界領域のそれぞれの位置が、リフローオブジェクトベースラインからのオフセットによって定義される、請求項４に記載のコンピュータ実装方法。
【請求項８】
ラインにおいて現れるリフローオブジェクトに含まれる文字ごとのベースラインを結合することが、
最小平均誤差で、英数字ごとのベースラインのそれぞれの位置を円滑に推定するフィッティング関数を求めることと、
リフローオブジェクトのそれぞれの平均値をフィッティング関数に入力することとを含む、請求項１に記載のコンピュータ実装方法。
【請求項９】
各リフローオブジェクトが、サブ画像を形成し、境界領域において定義され、各境界領域のサイズおよび位置が、定義され、
出力媒体のサイズを決定することと、
各境界領域のサイズに基づいて、出力媒体の水平寸法を有する複数の水平線のそれぞれに水平方向に収まる境界領域の数を決定することと、
境界領域のサイズに基づいて、各水平線に対して各境界領域の水平位置を決定することと、
境界領域のサイズに基づいて、各水平線ごとに水平方向に収まる各境界領域の垂直位置を決定することと、
境界領域の決定された水平位置および垂直位置に基づいて、境界領域において定義されるリフローオブジェクトをレンダリングすることとをさらに含む、請求項４に記載のコンピュータ実装方法。
【請求項１０】
出力媒体が、ディスプレイであり、出力媒体のサイズが、ディスプレイの垂直寸法および水平寸法によって定義されるものとする、請求項９に記載のコンピュータ実装方法。
【請求項１１】
複数の水平線の水平方向に収まる境界領域の数が同一である、請求項９に記載のコンピュータ実装方法。
【請求項１２】
複数の水平線の水平方向に収まる境界領域の数が異なる、請求項９に記載のコンピュータ実装方法。
【請求項１３】
各水平線に対して各境界領域の水平位置を決定することが、各水平線ごとに水平方向に境界領域の水平位置を調整することをさらに含む、請求項９に記載のコンピュータ実装方法。
【請求項１４】
リフローオブジェクトベースラインが、リフローオブジェクトのそれぞれに関して定義され、境界領域のサイズに基づいて、各水平線ごとに水平方向に収まる各境界領域の垂直位置を決定することがさらに、
ディスプレイのサイズに基づいて、各水平線の垂直位置を決定することと、
境界領域において定義されるリフローオブジェクトのリフローオブジェクトベースラインが、対応する水平線と位置合わせされるように、各水平線ごとに水平方向に収まる各境界領域の垂直位置を決定することとを含む、請求項９に記載のコンピュータ実装方法。
【請求項１５】
ディスプレイのサイズに基づいて、各水平線の垂直位置を決定することが、最小間隔でディスプレイの垂直寸法を分割することを含む、請求項１３に記載のコンピュータ実装方法。
【請求項１６】
ディスプレイズームレベルを決定することと、
ディスプレイズームレベルに基づいて境界領域をサイズ調整し、複数の水平線のそれぞれに水平方向に収まるサイズ調整された境界領域の数を決定することと、
水平線に対してサイズ調整された境界領域のそれぞれの水平位置を決定することと、
水平線ごとの水平方向に収まるサイズ調整された境界領域のそれぞれの垂直位置を決定することと、
サイズ調整された境界領域の決定された水平位置および垂直位置に基づいて、サイズ調整された境界領域において定義されるリフローオブジェクトをレンダリングすることとをさらに含む、請求項９に記載のコンピュータ実装方法。
【手続補正書】
【提出日】平成21年6月17日(2009.6.17)
【手続補正１】
【補正対象書類名】要約書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【要約】
【要約】
コンピュータ実装方法は、画像に基づくリフロー可能なファイルを作成するために提供される。画像に基づくリフロー可能なファイルは、所与のサイズのディスプレイまたはウィンドウによってリフローオブジェクトのラインを「リフロー」可能にすることによって、種々のサイズのディスプレイおよびウィンドウでそれ自体をレンダリングするように自動的に適合するように構成される。この方法は、第一に、リフローオブジェクトを有するコンテンツの画像を受信し、画像に含まれるリフローオブジェクトを囲む境界領域を識別する。リフローオブジェクトのそれぞれに関するリフローオブジェクトベースラインが、次いで識別され、リフローオブジェクトを含む境界領域のそれぞれの位置が、画像に対して決定され、その対応するリフローオブジェクトベースラインに対しても決定される。次に、境界領域のそれぞれのサイズが、例えば、幅および高さに関して決定されて、格納される。