(57)【要約】  テンプレートに基づく電子出版物の組合せシステムは、電子出版物用のマークアップを指定し、複数のコンテンツスロットを有する、テンプレートを提供し、コンテンツプロバイダは、コンテンツを提供し、パブリッシャは、テンプレートに応じてコンテンツをフォーマットし、テンプレートを自動的に横断し、コンテンツをコンテンツスロットに適用する言語プロセッサを含み、電子読出装置は、フォーマットされたコンテンツを表示する。方法は、テンプレートを受け取るステップと、コンテンツスロットを識別するのにテンプレートを横断するステップと、識別されたコンテンツスロットに挿入するコンテンツを検索するステップと、マークアップをコンテンツの一部分に適用するステップと、コンテンツの一部分を識別されたコンテンツスロットに挿入することによりコンテンツをフォーマットするステップと、フォーマットされたコンテンツを電子読出装置上にレンダリングするステップとを含む。コンピュータ読出可能媒体は、電子出版物用のコンテンツを受け取る命令と、それぞれが電子出版物用のマークアップを指定し、コンテンツスロットを有する、テンプレートを受け取る命令と、ユーザから所望のテンプレートの選択を受け取る命令と、選択されたテンプレートに応じてコンテンツをレンダリングする命令を含む。
2013506936.tif 000002
【特許請求の範囲】
【請求項１】
テンプレートに基づく電子出版物の組合せ用のシステムであって、
前記電子出版物用のマークアップを指定し、複数のコンテンツスロットを有するテンプレートを提供するテンプレートプロバイダと、
コンテンツを提供するコンテンツプロバイダと、
前記テンプレートに応じて前記コンテンツをフォーマットし、前記テンプレートを自動的に横断(traverse)し、前記コンテンツを前記複数のコンテンツスロットに適用する言語プロセッサを含む、パブリッシャと、
前記フォーマットされたコンテンツを表示する電子読出装置と
を含む、システム。
【請求項２】
少なくとも1つの広告を提供する広告プロバイダ
をさらに含み、
前記テンプレートは、広告スロットをさらに含み、前記言語プロセッサは、前記広告を前記テンプレートの前記広告スロットに適用する、請求項1に記載のシステム。
【請求項３】
前記言語プロセッサは、XML方言を使用する、請求項1に記載のシステム。
【請求項４】
前記パブリッシャは、前記電子装置の一部分である、請求項1に記載のシステム。
【請求項５】
前記コンテンツプロバイダおよび前記テンプレートプロバイダは、同じエンティティである、請求項1に記載のシステム。
【請求項６】
前記コンテンツは、少なくとも1つの新聞記事を含む、請求項1に記載のシステム。
【請求項７】
前記少なくとも1つの広告は、前記パブリッシャにストリーミングされる、請求項2に記載のシステム。
【請求項８】
テンプレートに基づく電子出版物の自動組合せの方法であって
テンプレートプロバイダから少なくとも1つのテンプレートを受け取るステップと、
コンテンツスロットを識別するのに前記少なくとも1つのテンプレートのうちの1つを横断するステップと、
前記識別されたコンテンツスロットに挿入するコンテンツを検索するステップと、
マークアップを前記コンテンツの少なくとも一部分に適用するステップと、
前記コンテンツの少なくとも一部分を前記識別されたコンテンツスロットに挿入することにより前記コンテンツをフォーマットするステップと、
前記フォーマットされたコンテンツを電子読出装置上にレンダリングするステップと
を含む、方法。
【請求項９】
広告スロットを識別するのに前記テンプレートを横断するステップと、
前記識別された広告スロットに挿入する広告を受け取るステップと
をさらに含み、
前記コンテンツの少なくとも一部分を前記識別されたコンテンツスロットに挿入することにより前記コンテンツをフォーマットするステップは、
前記広告を前記識別された広告スロットに挿入するステップ
をさらに含む、請求項8に記載の方法。
【請求項１０】
複数のテンプレートが受け取られる、請求項8に記載の方法であって、
ユーザから、前記複数のテンプレートのうちの所望のテンプレートの選択を受け取るステップ
をさらに含む、方法。
【請求項１１】
前記コンテンツは、少なくとも1つの新聞記事を含む、請求項8に記載の方法。
【請求項１２】
前記広告はストリーミングされる、請求項9に記載の方法。
【請求項１３】
前記広告は、ユーザの特徴にターゲットを絞る、請求項9に記載の方法。
【請求項１４】
前記広告は、複数の広告を含み、前記複数の広告は、前記フォーマットされたコンテンツをレンダリングするときに変化する、請求項9に記載の方法。
【請求項１５】
電子出版物用のコンテンツを受け取るステップと、
それぞれが前記電子出版物用のマークアップを指定し、複数のコンテンツスロットを有する、複数のテンプレートを受け取るステップと、
ユーザから所望のテンプレートの選択を受け取るステップと、
前記選択されたテンプレートに応じて前記コンテンツをレンダリングするステップと
を実行する命令を含む、コンピュータ読出可能媒体。
【請求項１６】
前記選択されたテンプレートに応じて前記コンテンツをレンダリングするステップは、
前記コンテンツスロットを識別するのに前記所望のテンプレートを横断するステップと、
前記識別されたコンテンツスロットに挿入するコンテンツを検索するステップと、
前記コンテンツの少なくとも一部分を前記識別されたコンテンツスロットに挿入することにより前記コンテンツをフォーマットするステップと
を含む、請求項16に記載のコンピュータ読出可能媒体。
【請求項１７】
前記選択されたテンプレートに応じて前記コンテンツをレンダリングするステップは、
広告スロットを識別するのに前記所望のテンプレートを横断するステップと、
前記識別された広告スロットに挿入する広告を受け取るステップと、
前記識別された広告スロットに前記広告を挿入するステップと
を含む、請求項17に記載のコンピュータ読出可能媒体。
【請求項１８】
前記コンテンツは新聞記事である、請求項16に記載のコンピュータ読出可能媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テンプレートに基づく出版物の組合せ用のシステムおよび方法に関する。
【背景技術】
【０００２】
印刷出版物および電子出版物は、しばしば、それら独特の特徴的なレイアウトを連想させる。例えばNew York Timesは、即座に認識可能なレイアウトを有し、すなわち、長く垂直な欄に記事が書かれ、また、新聞名ならびに記事のヘッドライン、署名入り記事、およびテキストに特徴的なフォントを使用する。USA Today新聞は、異なるレイアウトを有し、すなわち、広い欄を有し、より大きいフォントを使用する。これら、および他の出版物のレイアウトは、それらのテンプレートとみなすことができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本発明は、別の目的および利点と共に、添付の図面と併せて、同様の参照番号が同様の要素を特定する、いくつかの図において行う以下の説明を参照することにより、最も良く理解することができる。
【図面の簡単な説明】
【０００４】
【図１】一実施形態による、テンプレートに基づく出版物の組合せ用のシステムを示す図である。
【図２】一実施形態による電子読出装置の概略図である。
【図３】一実施形態による、テンプレートに基づく出版物の組合せ用のシステムを示す図である。
【図４】一実施形態による、テンプレートに基づく出版物の組合せ用の方法を示すフローチャートである。
【図５ａ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図５ａ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｂ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｂ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｃ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｃ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｄ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｄ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｅ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｅ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｆ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｆ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｇ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｇ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｈ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｈ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図５ｉ】一実施形態による、テンプレートの例示的なコードを示す。
【図６ａ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図６ａ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図６ｂ】一実施形態による、テンプレートの例示的なコードを示す。
【図７ａ−１】一実施形態による、テンプレートの例示的なコードを示す。
【図７ａ−２】一実施形態による、テンプレートの例示的なコードを示す。
【図７ｂ】一実施形態による、テンプレートの例示的なコードを示す。
【図８】一実施形態による、電子出版物をレンダリングする方法を示す。
【図９】一実施形態による、1つのテンプレートを使用した表示のスクリーンショットを示す。
【図１０】一実施形態による、1つのテンプレートを使用した表示のスクリーンショットを示す。
【発明を実施するための形態】
【０００５】
本発明のいくつかの実施形態およびそれらの利点は、同様の参照番号が同様の要素を指す図1〜10を参照することにより、理解することができる。
【０００６】
図1を参照すれば、テンプレートに基づく出版物の組合せ用のシステムを開示する。システム100は、コンテンツプロバイダ110、テンプレートプロバイダ120、およびパブリッシャ130を含む。一実施形態では、コンテンツプロバイダ110、テンプレートプロバイダ120、およびパブリッシャ130は、別個のエンティティとすることができる。別の実施形態では、コンテンツプロバイダ110、テンプレートプロバイダ120、およびパブリッシャ130のいくつかまたは全ては、同じエンティティの一部分とすることができ、または同じエンティティとすることができる。
【０００７】
コンテンツプロバイダ110は、電子読出装置上にレンダリングすることができるコンテンツを提供する。コンテンツプロバイダ110の例は、新聞発行者、定期刊行物発行者、本発行者、インターネット著者、学校、政府機関などを含む。
【０００８】
一実施形態では、コンテンツプロバイダ110は、コンテンツの著者とすることができる。別の実施形態では、コンテンツプロバイダ110は、コンテンツの配給業者とすることができる。
【０００９】
一実施形態では、テンプレートは、コンテンツの様々な部分に適用する、少なくとも1つのマークアップを指定することができる。
【００１０】
一実施形態では、広告プロバイダ150を提供することができる。広告プロバイダ150は、例えば、広告をパブリッシャ130に提供するビジネスエンティティとすることができる。広告プロバイダ150は、個人とすることもできる。別の実施形態では、広告プロバイダ150は、広告のアグリゲータとすることができる。
【００１１】
テンプレートプロバイダ120は、コンテンツに適用することができるテンプレートを提供することができる。一実施形態では、テンプレートは、コンテンツを電子読出装置上にレンダリングしているとき、コンテンツに適用することができる。別の実施形態では、テンプレートは、コンテンツを電子読出装置に提供する前にコンテンツに適用することができる。さらに別の実施形態では、テンプレートは、コンテンツを印刷するとき、または印刷する直前にコンテンツに適用することができる。
【００１２】
一実施形態では、コンテンツプロバイダ110は、テンプレートにそのコンテンツを提供することができる。別の実施形態では、コンテンツプロバイダ110は、他のコンテンツプロバイダ110により提供されるコンテンツ用のテンプレートに執筆することもできる。
【００１３】
一実施形態では、テンプレートは、コンテンツを受け取る複数のスロットを有することができる。例えば、テンプレートは、テキスト、写真などを含む、あるコンテンツを受け取るいくつかの領域を含むことができる。一実施形態では、スロットの数、サイズ、位置などは、テンプレートのレイアウトに依存することができる。
【００１４】
一実施形態では、テンプレートは、広告を受け取る複数の広告スロットを有することができる。一実施形態では、広告スロットの数は、テンプレートのコストにより様々である可能性がある。例えば、無料のテンプレートは、顧客が購入するテンプレートよりも、より多くの広告スロットを有する可能性がある。
【００１５】
一実施形態では、コンテンツ、広告、およびテンプレートは、コンテンツプロバイダ110、テンプレートプロバイダ120、および広告プロバイダ150からパブリッシャ130に個別に伝送することができる。一実施形態では、複数のパブリッシャ130を提供することができる。最終的なレイアウトおよび組合せは、例えば、コンテンツプロバイダ110、集中型配信サーバ、フィールド内のクライアント装置上などを含む、複数の場所に生じる可能性がある。
【００１６】
一実施形態では、広告をパブリッシャ130にストリーミングすることができる。別の実施形態では、広告はターゲットを絞ることができる。例えば、様々な広告を様々な電子読出装置に供給することができる。別の実施形態では、顧客の場所、人口統計などに基づいて、様々な広告を供給することができる。別の実施形態では、出版物をレンダリングするとき、広告は変化することができる。必要および/または要求に応じて、他のタイプの広告、および/または広告を表示する技術を使用することができる。
【００１７】
パブリッシャ130は、テンプレートプロバイダ120により提供されるテンプレートを、コンテンツプロバイダ110により提供されるコンテンツおよび広告プロバイダ150により提供される広告に適用することができる。一実施形態では、パブリッシャ130は、電子読出装置内にレンダリングするのに適用されるテンプレートをコンテンツに提供することができる。
【００１８】
パブリッシャ130は、各記事を顕在的に配置することを必要とせずに、電子出版物のスタイルを校正および修正することができる可能性がある。各記事用のコンテンツスロットは、記事の特徴に基づいてプログラムで決定することができる。一実施形態では、記事の特徴は、記事語数、記事タイトルの長さ、署名入記事の長さ、フォントのサイズ、写真または画像の数、写真または画像のサイズなどを含むことができる。
【００１９】
一実施形態では、記事、写真、および広告の配置は、発見的に決定することができる。
【００２０】
一実施形態では、パブリッシャ130は、データベース135および言語プロセッサ145を含むことができる。データベース135は、任意の適当なデータベースとすることができる。一実施形態では、データベース135は、関係データベースとすることができる。別の実施形態では、データベース135は、複数のデータベースを含むことができる。さらに別の実施形態では、データベース135は、パブリッシャ130から遠隔に配置することができる。
【００２１】
データベース135は、コンテンツおよびテンプレートを受け取り、それらを保存することができる。
【００２２】
別の実施形態では、広告プロバイダ150を、データベースとしてパブリッシャ130に提供することができる。
【００２３】
別の実施形態では、データベース135は、電子読出装置200のメモリ210とすることができる。
【００２４】
言語プロセッサ140は、プロセッサにより実行されるソフトウェアアプリケーションとすることができる。一実施形態では、言語プロセッサ140は、拡張マークアップ言語(XML)方言で動作することができる。別の実施形態では、言語プロセッサ140は、JSONで動作することができる。必要および/または要求に応じて、他の言語および/または構文を使用することができる。
【００２５】
例えば、以下の要素のいくつかまたは全ては、XML方言の一部分とすることができる。
【００２６】
<Select Trigger="field" Identifier="field">--Selectノード内のデータは、SQL select文であると仮定される。select文を使用して照会が行われ、返される行は、<Select>タグのレベル以上で処理される任意の他のノードに代入するのにデータとして使用される。変数の代入を要求すれば、ユーザは、"@variable@"を指定する。これにより、"variable"の現在値を全ての活動状態の照会において探索し、代入する。
【００２７】
Trigger="field"--Trigger属性は、Ad要求が行われるとき、Adサーバに渡されるコンテキスト識別子のリスト内でIdentifier属性により識別されるフィールドの現在値の保存値をトリガするデータベース内のフィールドを識別する。これにより、所与のテンプレート内から参照される記事のためにArticleIDなどの識別子を収集することができる。一実施形態では、Trigger属性が指定されるとき、Identifier属性を提供することができる。これは、Trigger="Text"と指定することができる。
【００２８】
Identifier="field"--Identifier属性は、Adサーバに渡される識別子のリスト内でTrigger属性により識別されるフィールドが参照されるときはいつでも保存することができる、データベース内のフィールドを識別する。これにより、所与のテンプレート内から実際に参照される全ての記事のためにArticleIDなどの識別子を収集することができる。Identifier属性が指定されるとき、Trigger属性を提供することができることに留意されたい。これは、Identifier="ArticleID"と指定することができる。
【００２９】
<Execute>--SQL文を実行する。
【００３０】
<ExecuteIfCreated>--出力ブックの作成が成功したとき、SQL文を実行する。
【００３１】
<Head>--Headノードは、他のタグとは別個のストリーミングに出力することができ、出力される全ての本体データの前に配置される。Head部は、1度だけ出力される。
【００３２】
<BookID,Title,Author,Category,Encrypt>--これらのサブ要素は、ブックを作成するとき、エンジンにより参照することができる変数として保存することができる。
【００３３】
<Img>--Img要素は、XHTML<img>要素と同じオプションを提供することができる。それに加えて、ScaleToFit="Y"属性を指定することができる。この属性が指定されるとき、画像の実サイズを決定することができ、幅および高さの属性値は、最初に指定された幅および高さの矩形内の挿入画像のアスペクト比を保存する幅および高さと置き換えることができる。一実施形態では、幅および高さをピクセルで指定すべきである。
【００３４】
<Ad Width="x" Height="y" other_img_properties/>--Ad要素は、Adサーバからの広告を挿入すべき場所を指定する。News Managerは、検出される各Ad要素に関するAdサーバへの要求を生成することができる。各Adサーバ要求は、adを使用するコンテキストを含むことができる。Adサーバは、適当な広告を返すことができる。News Managerは、供給される広告画像を検索し、News Managerサーバに出版物の情報の残りと共にその画像を保存することができる。
【００３５】
Width="x"--広告を挿入する領域の幅を指定する。この値は、任意の寸法単位(mm、px、pt、inなど)を使用して指定することができる。
【００３６】
Height="y"--広告を挿入する領域の高さを指定する。この値は、任意の寸法単位(mm、px、pt、inなど)を使用して指定することができる。
【００３７】
幅および高さの属性に加えて、他の属性を指定することができる。これにより、ScaleToFitなどの関数をAd要素と併せて使用することができる。
【００３８】
<NewAdContext/>--NewAdContext要素は、保留中のAd要素のそれぞれに関してAdサーバへの要求を発することにより、保留中のAd要素を処理することができる。Adサーバに渡されるコンテキスト情報は、前のNewAdContent要素またはエディション開始のいずれか最新のもの以後、蓄積された全ての記事識別子を含む。これは、どのAdを提供すべきかを決定するとき、Adサーバがどの記事を考慮すべきかを識別する方法を出版物デザイナーに与える。コンテキスト識別子リストは、NewAdContent要素を処理するときはいつでも消去される。
【００３９】
<If>--If要素は、含まれる要素を条件付きで処理させることができる。各属性名は、変数名を"@"文字で取り囲むように、ある変数名と仮定することができる。この変数は、検索され、属性値として指定されたデータ(変数代入により)と比較することができる。指定された全ての属性/値と等しいとき、要素を処理することができ、それ以外は要素を無視する。
【００４０】
全ての比較値が等しいことを要求することから、単一の比較値のみが等しいことを要求することまで、処理を変化させるのに、特別の属性"And"および/または"Or"を指定することもできる。
【００４１】
<IfOption>--IfOption要素は、<If>要素が照会する値を除いて、そこにマッチするハッシュテーブル内で"_"が<If>要素に先行することができるのと全く同じように機能する。これは、変数およびフィールド値の残りからこれらの値を分離する。これにより、ユーザがアクセス可能なオプションをテンプレート内で識別することができる。
【００４２】
特殊制御を行うのに、値内で、以下のいくつかの特別な変数を参照することができる。
【００４３】
_Previous--特定の欄の前の行の値。
【００４４】
_PreviousIgnoreBlanks--空白またはゼロの特定の欄を有する任意の行を無視する特定の欄の前の行の値。
【００４５】
_UniqueID--システム内の各スレッドに固有の数値ID。数値IDは、ProcessIDおよびThreadIDを取得し、それらを組み合わせることにより構築される。
【００４６】
_FirstRow--検索データ内で指定された現在の行数が0であるとき、変数@_FirstRow@との比較が真となる。
【００４７】
"!"文字は、比較を否定する属性値の最初の文字として指定することができる。例えば、CustomerID="!3"は、データベース内のCustomerIDフィールドが3でないとき、真である。
【００４８】
<Include Src="file"/>--Include要素は、それ自体をそのSrc属性により参照されるファイルと置き換える。
【００４９】
<Set variable="text"/>--内部変数をテキスト内に指定された値に設定する。
【００５０】
<Unset Variables="regular expression"/>--供給される正規表現にマッチする全ての変数を削除する。これにより、<Set>命令を使用して以前設定された1つまたは複数の値に対する復元が容易になる。
【００５１】
<Evaluate variable1="variable2">--variable1を、検索されるvariable2の値に設定する。
【００５２】
<Filter Data="x" Start="x" Length="x" ReplaceLinefeed="x" TranslateFrom="abc" TranslateTo="def"/>--Filter要素により、データストリーミングへのその出力の前のデータフィールドの変更が可能になる。その処理は、指定された属性に依存する。
【００５３】
現在の属性オプションは、以下のものを含む。
【００５４】
Data="x"--テキスト処理に使用するのにデータベース内のフィールド(x)を指定する。
【００５５】
Start="x"--供給データの最初のx文字を無視する。
【００５６】
Length="x"--供給データをx文字で打ち切る。
【００５７】
ReplaceLinefeed="x"--全ての改行文字を文字列xに置き換える。
【００５８】
TranslateFrom="abc"--指定された文字列内の文字にマッチする文字を探索し、TranslateTo文字列内に対応する文字を返す。
【００５９】
TranslateTo="def"--指定された文字列内の文字にマッチする文字を探索し、TranslateTo文字列内に対応する文字を返す。
【００６０】
選択フィールドの全てに加えて、以下の特別な変数は、テンプレートファイル内の@variable@構文を使用して参照用に利用することができる。
【００６１】
_Date--構築される日付。これは、形式"01/01/2006"にすることができる。
【００６２】
_DD--形式"01"による月内の日。
【００６３】
_D--形式"1"による月内の日。
【００６４】
_MMMM--形式"January"による月。
【００６５】
_MMM--形式"Jan"による月。
【００６６】
_MM--1月を表す形式"01"による月。
【００６７】
_M--1月を表す形式"1"による月。
【００６８】
_YYYY--形式"2006"による年。
【００６９】
_YY--形式"06"による年。
【００７０】
_#Date--形式"01/01/2006"で構築される日付(アジアの数)。
【００７１】
_#DD--形式"01"による月内の日(アジアの数)。
【００７２】
_#D--形式"1"による月内の日(アジアの数)。
【００７３】
_#MMMM--形式"January"による月(アジアの数)。
【００７４】
_#MMM--形式"Jan"による月(アジアの数)。
【００７５】
_#MM--1月を表す形式"01"による月(アジアの数)。
【００７６】
_#M--1月を表す形式"1"による月(アジアの数)。
【００７７】
_#YYYY--形式"2006"による年(アジアの数)。
【００７８】
_#YY--形式"06"による年(アジアの数)。
【００７９】
_DayOfWeek--形式"Monday"による曜日。
【００８０】
_Key--最近構築されたブックのキー。
【００８１】
_Size v--バイトによる最近構築されたブックのサイズ。
【００８２】
_ContentBase--輸入コンテンツに関するベースディレクトリ。
【００８３】
_OutputBase--出力に関するベースディレクトリ。
【００８４】
_PageSelection--所望のページを選択するのに使用するページ数。
【００８５】
_CategorySelection--所望のカテゴリを選択するのに使用するカテゴリ。
【００８６】
_ContentFeedID--この出版物が構築されるフィード。
【００８７】
テンプレートは、コンテンツの様々な部分(例えば、記事など)をどこに流すべきか、またそのコンテンツの様々な部分(例えば、タイトル、署名入記事、写真など)がどのXHTMLを含むべきかを決定するのに使用することができる。出力は、EPUBドキュメントである。
【００８８】
図2を参照して、電子読出装置のブロック図を供給する。通常、電子読出装置200は、マイクロプロセッサ205、メモリ210、ソフトウェアおよびアプリケーション215、ディスプレイおよびディスプレイドライバ220、ユーザインタフェース225、電源230、データインタフェース235、ならびにオーディオ240を含むことができる。必要および/または要求に応じて、他の機能を提供することができる。
【００８９】
プロセッサ205は、電子読出装置200に処理能力を提供する。プロセッサ205は、マイクロプロセッサ、プログラム式マイクロプロセッサ、マイクロコントローラ、周辺集積回路要素、CSIC(顧客仕様集積回路)もしくはASIC(特定用途向集積回路)、論理回路、デジタル信号プロセッサ、FPGA、PLD、PLA、もしくはPALなどのプログラム可能論理デバイス、またはマイクロプロセッサの関数を実行することができる他の任意のデバイスもしくはデバイスの配列を含む、任意の適当なプロセッサまたは集積回路とすることができる。
【００９０】
メモリ210は、任意の適当なメモリとすることができ、ソフトウェアおよびアプリケーション215を保存するのに使用することができる。メモリ210は、必要および/または要求に応じて、揮発性または不揮発性とすることができる。メモリ210は、スタティックRAM、ダイナミックRAM、フラッシュメモリ、磁気メモリなどを含むことができる。
【００９１】
一実施形態では、メモリ210は、電子コンテンツファイル、スタイルシートなどを含むデータファイルを保存することができる。一実施形態では、ソフトウェアおよびアプリケーション215は、電子読出装置200のディスプレイ上に画像をレンダリングする。
【００９２】
ディスプレイおよびドライバ220は、ユーザに文字、画像、ビデオ、写真などを表示するのに提供される。ディスプレイは、柔軟なディスプレイ、接触感知ディスプレイなどを含む、任意の適当なディスプレイとすることができる。
【００９３】
ユーザが電子読出装置200と対話するのに、ユーザインタフェース225を提供することができる。任意の適当な入力機構を提供することができる。一実施形態では、ボタンを提供することができる。別の実施形態では、上述のように、接触感知スクリーンを提供することができる。さらに別の実施形態では、音声を検出するのに、マイクを提供することができる。別の実施形態では、カメラを提供することができる。用途により、必要および/または要求に応じて、他の入力部を提供することができる。
【００９４】
一実施形態では、ユーザは、コンテンツを拡大表示するのにユーザインタフェース225を使用することができる。
【００９５】
電子読出装置200は、バッテリ、AC電源、ACアダプタによるDC電源などの電源230により電力供給することができる。
【００９６】
電子読出装置200にデータインタフェース235を提供することもできる。一実施形態では、データインタフェースは、移動体通信、USBインタフェース、非シールドのツイストペアインタフェース、高周波(RF)、赤外線(IR)、ブルートゥース、近距離通信、WiFi(例えば、任意の適当なIEEE802.11プロトコル)などを含む、任意の適当な有線または無線通信方法とすることができる。
【００９７】
一実施形態では、電子読出装置200にオーディオ能力240を提供することができる。
【００９８】
一実施形態では、電子読出装置200は、言語プロセッサ245を含むことができる。言語プロセッサ245は、上述の言語プロセッサ140と同様とすることができる。言語プロセッサ245は、ユーザのコンテンツをレンダリングするのに、例えば、原記事、画像、タイトルなどを含む原コンテンツデータを、テンプレートと組み合わせることができる。言語プロセッサ245を以下により詳細に説明する。
【００９９】
電子読出装置の例は、電子ブックリーダ、電子新聞リーダ、電子ペーパリーダなどを含む。電子表示装置の例は、その開示内容全体が参照により組み込まれている、「Flexible Electronic Device And Method Of Manufacture」という名称の米国特許出願第12/481,677号に開示されている。電子読出装置の他の例は、Amazon Kindle、Sony Reader、およびPlastic Logic Readerを含む。
【０１００】
電子読出装置の他の例は、コンピュータ(デスクトップ、ノートブック、ラップトップ、タブレットなど)、個人用デジタル補助装置(PDA)、音楽プレーヤ、電話などを含む。必要および/または要求に応じて、電子コンテンツをレンダリングすることができる任意の電子読出装置を使用することができる。例えば、画面またはディスプレイを有する任意の電子装置を使用することができる。
【０１０１】
図3を参照して、テンプレートに基づく出版物の組合せ用のシステムを開示する。システム300は、コンテンツプロバイダ110、テンプレートプロバイダ120、および広告プロバイダ150を含むことができ、それらは全て上述した。システム300は、電子読出装置200をさらに含む。
【０１０２】
図4を参照して、電子出版物を自動的に作成する方法を開示する。ステップ410で、テンプレートを受け取る。一実施形態では、テンプレートは、コンテンツに適用されるマークアップを指定する。一実施形態では、テンプレートは、上述のXML方言を使用することができる。
【０１０３】
一実施形態では、ユーザは、複数のテンプレートから選択することもできる。例えば、ユーザは、New York Times新聞の伝統的なレイアウトを好む可能性があり、その形式に満足している。したがって、ユーザは、New York Timesのテンプレートを別の出版物に適用する可能性がある。
【０１０４】
図5a〜5bを参照して、New York Timesのテンプレートと同様の例示的なテンプレートを提供する。このテンプレートは、2つのファイル、すなわちNYTimes.incおよびNYTimesCSS.incを指す。これらは、ファイルを含み、それらの例は、図6a〜bおよび7a〜bとして、それぞれ提供される。
【０１０５】
別の実施形態により、水平レイアウトおよび垂直レイアウトなどの他の方向のテンプレートを提供することができる。必要および/または要求に応じて、例えば、Washington Post、LA Times、USA Today、Wall Street Journalなどの他の新聞のテンプレートを提供することができる。
【０１０６】
一実施形態では、テンプレートは、電子読出装置用のデバイスメモリ内に保存することができる。
【０１０７】
再び図4を参照して、ステップ415で、コンテンツを受け取る。どんな種類のコンテンツでも提供することができる。一実施形態では、電子出版物用のコンテンツを提供することができる。別の実施形態では、電子ブック用のコンテンツを提供することができる。さらに別の実施形態では、デジタル写真を提供することができる。電子ディスプレイ装置上でユーザに表示することができる、どんなコンテンツでも使用することができる。
【０１０８】
ステップ420で、広告プロバイダからの広告を提供することができる。別の実施形態では、広告は、データベースから検索することができる。別の実施形態では、クライアントが広告を提供し、組み合わせることができる。別の実施形態では、広告をストリーミングすることができる。必要および/または要求に応じて、広告を提供する他の方法を使用することができる。
【０１０９】
ステップ425で、言語プロセッサは、テンプレートをコンテンツに適用する。一実施形態では、言語プロセッサは、テンプレート内に指定されたマークアップに応じて、データベースから原データを検索する。
【０１１０】
ステップ430で、テンプレートに応じて、出版物を表示する。
【０１１１】
図8を参照して、一実施形態による、電子出版物をレンダリングする方法を提供する。
【０１１２】
ステップ810で、複数のテンプレートを受け取る。一実施形態では、コンテンツプロバイダからテンプレートを受け取ることができる。別の実施形態では、データベースからテンプレートを受け取ることができる。さらに別の実施形態では、記憶媒体からテンプレートを受け取ることができる。
【０１１３】
ステップ815で、コンテンツを受け取る。一実施形態では、コンテンツプロバイダからコンテンツを受け取ることができる。別の実施形態では、データベースからコンテンツを受け取ることができる。さらに別の実施形態では、記憶媒体からコンテンツを受け取ることができる。
【０１１４】
ステップ820で、広告プロバイダからの広告を提供することができる。別の実施形態では、データベースから広告を受け取ることができる。別の実施形態では、クライアントが広告を提供し、組み合わせることができる。別の実施形態では、広告をストリーミングすることができる。必要および/または要求に応じて、広告を提供する他の方法を使用することができる。
【０１１５】
ステップ825で、ユーザは、コンテンツに適用したいテンプレートを選択することができる。一実施形態では、この選択は、電子読出装置上の任意の適当な入力装置を通して行うことができる。
【０１１６】
ステップ830で、テンプレートをコンテンツに適用する。一実施形態では、この適用は、上述のように行うことができる。
【０１１７】
ステップ835で、選択されたテンプレートに従って、出版物をレンダリングすることができる。
【０１１８】
図9〜10を参照して、原コンテンツに適用されるテンプレートの例を提供する。図9の例では、テンプレートは、記事の一部分が上部に提供される一方、他の記事の部分が下部に提供される、New York Timesのテンプレートである。図10の例では、記事全体を提供する。
【０１１９】
一実施形態によれば、レイアウト方法は、サイズ変更できる解像度非依存の出版物を提供することができる。この方法は、ユーザ選択可能なフォントサイズを含む読出実績を提供する。
【０１２０】
一実施形態によれば、この手法は、例えば、SQL、およびEPUBなどのマークアップ言語を含むデータベース照会言語の能力を組み合わせ、それを活用する。
【０１２１】
一実施形態によれば、ハンドデザインの外観を有する出版物を自動的にレイアウトすることを可能にすることにより、コスト削減を認識することができる。
【０１２２】
一実施形態によれば、本発明は、集中型サーバからの情報のレイアウトを制御する能力を依然として維持しながら、各ユーザの個人用の情報を使用して装置上に魅力的な出版物を作成する能力を提供する。
【０１２３】
テンプレートに基づく電子出版物の組合せ用のシステムを開示する。一実施形態によれば、本システムは、電子出版物用のマークアップを指定し、複数のコンテンツスロットを有する、テンプレートを提供するテンプレートプロバイダと、コンテンツを提供するコンテンツプロバイダと、テンプレートに応じてコンテンツをフォーマットし、テンプレートを自動的に横断(traverse)し、コンテンツを複数のコンテンツスロットに挿入する言語プロセッサを含む、パブリッシャと、フォーマットされたコンテンツを表示する電子読出装置とを含む。
【０１２４】
テンプレートに基づく電子出版物の自動組合せの方法を開示する。一実施形態によれば、本方法は、(1)テンプレートプロバイダから少なくとも1つのテンプレートを受け取るステップと、(2)コンテンツスロットを識別するのに少なくとも1つのテンプレートの1つを横断するステップと、(3)識別されたコンテンツスロットに挿入するコンテンツを検索するステップと、(4)マークアップをコンテンツの少なくとも一部分に適用するステップと、(5)コンテンツの少なくとも一部分を識別されたコンテンツスロットに挿入することによりコンテンツをフォーマットするステップと、(6)フォーマットされたコンテンツを電子読出装置上にレンダリングするステップとを含む。
【０１２５】
コンピュータ読出可能媒体を開示する。一実施形態によれば、コンピュータ読出可能媒体は、電子出版物用のコンテンツを受け取るステップと、それぞれが電子出版物用のマークアップを指定し、複数のコンテンツスロットを有する、複数のテンプレートを受け取るステップと、ユーザから所望のテンプレートの選択を受け取るステップと、選択されたテンプレートに応じてコンテンツをレンダリングするステップとを実行する命令を含む。
【０１２６】
本発明のシステムまたは本発明のシステムの一部分は、例えば、汎用コンピュータなどの「処理装置」の形式にすることができる。本明細書に使用する用語「処理装置」は、少なくとも1つのメモリを使用する、少なくとも1つのプロセッサを含むものと理解されたい。少なくとも1つのメモリは、1組の命令を保存する。これらの命令は、処理装置の1つのメモリまたは複数のメモリに長期間または一時的に保存することができる。プロセッサは、データを処理するために1つのメモリまたは複数のメモリに保存された命令を実行する。1組の命令は、フローチャートに上述した特定のタスクなどの、特定の1つのタスクまたは複数のタスクを実行する様々な命令を含むことができる。特定のタスクを実行する、そうした1組の命令は、プログラム、ソフトウェアプログラム、または単なるソフトウェアとして特徴づけることができる。
【０１２７】
上述のように、処理装置は、データを処理するのに1つのメモリまたは複数のメモリに保存された命令を実行する。このデータ処理は、例えば、処理装置の1人のユーザまたは複数のユーザによる命令、前の処理、別の処理装置および/または他の任意の入力による要求に応答することができる。
【０１２８】
本発明を実施するのに使用される処理装置は、適当なオペレーティングシステムを使用することができる。したがって、本発明の実施形態は、Microsoft Windows(登録商標)Vista(登録商標)オペレーティングシステム、Microsoft Windows(登録商標)XP(登録商標)オペレーティングシステム、Microsoft Windows(登録商標)NT(登録商標)オペレーティングシステム、Windows(登録商標)2000オペレーティングシステム、Unix(登録商標)オペレーティングシステム、Linux(登録商標)オペレーティングシステム、Xenixオペレーティングシステム、IBM AIX(登録商標)オペレーティングシステム、Hewlett-Packard UX(登録商標)オペレーティングシステム、Novell Netware(登録商標)オペレーティングシステム、Sun Microsystems Solaris(登録商標)オペレーティングシステム、OS/2(登録商標)オペレーティングシステム、BeOS(登録商標)オペレーティングシステム、Macintoshオペレーティングシステム、Apacheオペレーティングシステム、OpenStep(登録商標)オペレーティングシステム、または別のオペレーティングシステムもしくはプラットフォームを実行する処理装置を含むことができる。
【０１２９】
上述のように、1組の命令は、本発明の処理に使用することができる。1組の命令は、プログラムまたはソフトウェアの形式にすることができる。ソフトウェアは、例えば、システムソフトウェアまたはアプリケーションソフトウェアの形式にすることができる。ソフトウェアは、例えば、別個のプログラムの集合、より大きいプログラム内のプログラムモジュール、またはプログラムモジュールの一部分の形式にすることもできる。使用されるソフトウェアは、オブジェクト指向プログラミングの形式のモジュラープログラミングを含むこともできる。ソフトウェアは、処理されるデータに対して何をすべきかを処理装置に命令する。
【０１３０】
本発明の実施および運用に使用される複数の命令または1組の命令は、処理装置がこれらの命令を読み出すことができるように適当な形式にすることができることが理解されよう。例えば、プログラムを形成する命令は、1つのプロセッサまたは複数のプロセッサが命令を読み出すことを可能にする機械語またはオブジェクトコードに変換される、適当なプログラミング言語の形式にすることができる。すなわち、特定のプログラミング言語のプログラミングコードまたはソースコードの書込行は、コンパイラ、アセンブラ、インタプリタを使用して機械語に変換される。機械語は、特定のタイプの処理装置、すなわち特定のタイプのコンピュータなどに固有のバイナリコードの機械命令である。コンピュータは、機械語を理解する。
【０１３１】
任意の適当なプログラミング言語は、本発明の様々な実施形態に応じて使用することができる。例えば、使用されるプログラミング言語は、例えば、アセンブリ言語、Ada、APL、Basic、C、C++、COBOL、dBase、Forth、Fortran、Java(登録商標)、Modula-2、Pascal、Prolog、REXX、Visual Basic、および/またはJavaScript(登録商標)を含むことができる。さらに、本発明のシステムおよび方法の運用に関して1つのタイプの命令または単一のプログラミング言語を使用することは必要でない。むしろ、必要および/または要求に応じて、任意の数の異なるプログラミング言語を使用することができる。
【０１３２】
また、本発明の実施に使用される命令および/またはデータは、要求に応じて、任意の圧縮もしくは暗号化技術またはアルゴリズムを使用することができる。データを暗号化するのに、暗号化モジュールを使用することができる。さらに、例えば、適当な復号モジュールを使用して、ファイルまたは他のデータを復号することができる。
【０１３３】
本発明のシステムおよび方法では、本発明を実施するのに使用される1つの処理装置または複数の処理装置とユーザが対話することができるように、様々な「ユーザインタフェース」を使用することができる。本明細書に使用されるユーザインタフェースは、任意のハードウェア、ソフトウェア、またはユーザが処理装置と対話することを可能にする、処理装置により使用されるハードウェアとソフトウェアとの組合せを含む。ユーザインタフェースは、例えば、ダイアログ画面の形式にすることができる。ユーザインタフェースは、マウス、タッチスクリーン、ライトペン、キーボード、ボイスリーダ、音声認識装置、ダイアログ画面、メニューボックス、リスト、チェックボックス、トグルスイッチ、プッシュボタン、または1組の命令を処理し、および/もしくは処理装置に情報を提供するとき、処理装置の動作に関する情報をユーザが受け取ることを可能にする他の任意の装置のいずれかを含むこともできる。したがって、ユーザインタフェースは、ユーザと処理装置との間の伝達を行う任意の装置である。ユーザインタフェースを通してユーザが処理装置に提供する情報は、例えば、命令、データの選択、または他のいくつかの入力の形式にすることができる。
【０１３４】
本発明が広い用役および用途を許容することは、当業者には容易に理解されよう。本明細書に説明したもの以外の本発明の多くの実施形態および適合形態、ならびに多くの変形形態、変更形態、および均等な構成は、本発明の内容または範囲から逸脱することなく、本発明および上述のその説明より明らかであり、またはそれらにより合理的に示されよう。
【０１３５】
上述の明細書では、添付の図面を参照して、様々な好ましい実施形態を説明した。しかし、続く特許請求の範囲に記載する発明のより広い範囲から逸脱することなく、本発明に対して様々な変更および変形を行うことができ、追加の実施形態を実施することができることは明らかであろう。したがって、明細書および図面は、限定的な意味ではなく、例示的なものとみなされるべきである。
【符号の説明】
【０１３６】
100  システム
110  コンテンツプロバイダ
120  テンプレートプロバイダ
130  パブリッシャ
135  データベース
140  言語プロセッサ
150  広告プロバイダ
200  電子読出装置
205  マイクロプロセッサ
210  メモリ
215  ソフトウェアおよびアプリケーション
220  ディスプレイおよびディスプレイドライバ
225  ユーザインタフェース
230  電源
235  データインタフェース
240  オーディオ
245  言語プロセッサ
300  システム
410  テンプレートを受け取る
415  パブリッシャからコンテンツを受け取る
420  広告を受け取る
425  言語プロセッサがテンプレートを適用する
430  出版物をレンダリングする
810  テンプレートを受け取る
815  コンテンツを受け取る
820  広告を受け取る
825  テンプレートの選択を受け取る
830  テンプレートをコンテンツに適用する
835  出版物をレンダリングする
【図２】
2013506936.tif 000003
【図３】
2013506936.tif 000004
【図４】
2013506936.tif 000005
【図５ａ−１】
2013506936.tif 000006
【図５ａ−２】
2013506936.tif 000007
【図５ｂ−１】
2013506936.tif 000008
【図５ｂ−２】
2013506936.tif 000009
【図５ｃ−１】
2013506936.tif 000010
【図５ｃ−２】
2013506936.tif 000011
【図５ｄ−１】
2013506936.tif 000012
【図５ｄ−２】
2013506936.tif 000013
【図５ｅ−１】
2013506936.tif 000014
【図５ｅ−２】
2013506936.tif 000015
【図５ｆ−１】
2013506936.tif 000016
【図５ｆ−２】
2013506936.tif 000017
【図５ｇ−１】
2013506936.tif 000018
【図５ｇ−２】
2013506936.tif 000019
【図５ｈ−１】
2013506936.tif 000020
【図５ｈ−２】
2013506936.tif 000021
【図５ｉ】
2013506936.tif 000022
【図６ａ−１】
2013506936.tif 000023
【図６ａ−２】
2013506936.tif 000024
【図６ｂ】
2013506936.tif 000025
【図７ａ−１】
2013506936.tif 000026
【図７ａ−２】
2013506936.tif 000027
【図７ｂ】
2013506936.tif 000028
【図８】
2013506936.tif 000029
【図９】
2013506936.tif 000030
【図１０】
2013506936.tif 000031
【図１】
2013506936.tif 000032
【国際調査報告】
2013506936.tif 000033