(57)【要約】【課題】全体としてバランスの取れた、すなわち審美性に優れた配置にするためにオブジェクトの配置を変更すること。【解決手段】文書編集装置は、編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、前記オブジェクト取得手段により取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するオブジェクト選択手段と、前記オブジェクト選択手段により選択された対象オブジェクトのうち少なくとも１つの対象オブジェクトの大きさまたは位置に基づいて、前記少なくとも１つの対象オブジェクトと所定の位置関係を有する黄金矩形を形成する黄金矩形形成手段と、前記黄金矩形形成手段により形成された黄金矩形に内接するように、前記対象オブジェクトの位置を変更する位置変更手段とを有する。【選択図】図１
2011090692.tif 000002
【特許請求の範囲】
【請求項１】
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、
前記オブジェクト取得手段により取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するオブジェクト選択手段と、
前記オブジェクト選択手段により選択された対象オブジェクトのうち少なくとも１つの対象オブジェクトの大きさまたは位置に基づいて、前記少なくとも１つの対象オブジェクトと所定の位置関係を有する黄金矩形を形成する黄金矩形形成手段と、
前記黄金矩形形成手段により形成された黄金矩形に内接するように、前記対象オブジェクトの位置を変更する位置変更手段と
を有する文書編集装置。
【請求項２】
前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、
前記オブジェクト選択手段は、前記少なくとも３つのオブジェクトのうちの少なくとも２つのオブジェクトの組み合わせのなかで、外接する外接矩形が最も黄金矩形に近い組み合わせを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項３】
前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、
前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうちテキストのオブジェクト同士または画像のオブジェクト同士の組み合わせを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項４】
前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうちテキスト量の多いものから順に少なくとも２つのオブジェクトを選択する
ことを特徴とする請求項３に記載の文書編集装置。
【請求項５】
前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、
前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうち面積が大きいものから順に少なくとも２つのオブジェクトを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項６】
前記オブジェクト取得手段が、カテゴリを示すカテゴリ情報を有する少なくとも３つのオブジェクトを取得し、
前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトうち特定のカテゴリ情報を有する少なくとも２つのオブジェクトを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項７】
前記オブジェクト取得手段が、属性を示す属性情報を有する少なくとも３つのオブジェクトを取得し、
前記オブジェクト取得手段により取得されたオブジェクトの属性情報から、各オブジェクトの重要度を決定する重要度決定手段を有し、
前記オブジェクト選択手段が、前記重要度決定手段により決定された重要度が高いものから順に少なくとも２つのオブジェクトを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項８】
コンピュータ装置に、
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するステップと、
前記取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するステップと、
前記選択された対象オブジェクトのうち少なくとも１つの対象オブジェクトの大きさまたは位置に基づいて、前記少なくとも１つの対象オブジェクトと所定の位置関係を有する黄金矩形を形成するステップと、
前記形成された黄金矩形に内接するように、前記対象オブジェクトの位置を変更するステップと
を実行させるプログラム。
【請求項９】
コンピュータ装置に、
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するステップと、
前記取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するステップと、
前記選択された対象オブジェクトのうち少なくとも１つの対象オブジェクトの大きさまたは位置に基づいて、前記少なくとも１つの対象オブジェクトと所定の位置関係を有する黄金矩形を形成するステップと、
前記形成された黄金矩形に内接するように、前記対象オブジェクトの位置を変更するステップと
を実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書を編集する技術に関する。
【背景技術】
【０００２】
データ化されたテキスト（文字列）または画像などのオブジェクト（デジタルコンテンツ）を含む文書を編集する技術が知られている。例えば特許文献１は、ユーザが部品の配置や形状などを変更すると、その部品に関する視覚快適度を算出するプレゼンテーション資料作成支援システムを開示している。特許文献２および３は、デザインを評価および作成する装置を開示している。特許文献２および３によれば、記憶されたプロポーションデータと入力されたデザインデータは合成されて表示される。特許文献４は、画像から構図情報を抽出し、抽出された構図情報に基づいて絵を再構成する技術を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−１８００３７号公報
【特許文献２】特開平１０−２８９２６２号公報
【特許文献３】特開平１０−３０１９８０号公報
【特許文献４】特開２０００−２００３５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし特許文献１〜４によっても、文書全体としてバランスの取れた、すなわち審美性に優れた配置にするためにオブジェクトの配置を変更することは困難であった。
これに対し本発明は、全体としてバランスの取れた、すなわち審美性に優れた配置にするためにオブジェクトの配置を変更する技術を提供する。
【課題を解決するための手段】
【０００５】
上述の課題を解決するため、本発明は、編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、前記オブジェクト取得手段により取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するオブジェクト選択手段と、前記オブジェクト選択手段により選択された対象オブジェクトのうち少なくとも１つの対象オブジェクトの大きさまたは位置に基づいて、前記少なくとも１つの対象オブジェクトと所定の位置関係を有する黄金矩形を形成する黄金矩形形成手段と、前記黄金矩形形成手段により形成された黄金矩形に内接するように、前記対象オブジェクトの位置を変更する位置変更手段とを有する文書編集装置を提供する。
この文書編集装置によれば、黄金矩形に内接するように対象オブジェクトの位置が変更される。
【０００６】
好ましい態様において、この文書編集装置は、前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうち少なくとも２つのオブジェクトの組み合わせであって、その外接矩形が最も黄金矩形に近い組み合わせを選択してもよい。
この文書編集装置によれば、初期位置が最も黄金矩形に近い対象オブジェクトが黄金矩形に内接するように対象オブジェクトの位置が変更される。
【０００７】
別の好ましい態様において、この文書編集装置は、前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、前記オブジェクト選択手段は、前記少なくとも３つのオブジェクトのうちの少なくとも２つのオブジェクトの組み合わせのなかで、外接する外接矩形が最も黄金矩形に近い組み合わせを選択してもよい。
この文書編集装置によれば、オブジェクトの種類が同じものが対象オブジェクトとして選択される。
【０００８】
さらに別の好ましい態様において、この文書編集装置は、前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうちテキスト量の多いものから順に少なくとも２つのオブジェクトを選択してもよい。
この文書編集装置によれば、テキスト量の多いものから順に対象オブジェクトとして選択される。
【０００９】
さらに別の好ましい態様において、この文書編集装置は、前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうち面積が大きいものから順に少なくとも２つのオブジェクトを選択してもよい。
この文書編集装置によれば、面積の大きいものから順に対象オブジェクトとして選択される。
【００１０】
さらに別の好ましい態様において、この文書編集装置は、前記オブジェクト取得手段が、カテゴリを示すカテゴリ情報を有する少なくとも３つのオブジェクトを取得し、前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトうち特定のカテゴリ情報を有する少なくとも２つのオブジェクトを選択してもよい。
この文書編集装置によれば、特定のカテゴリのオブジェクトの組み合わせが対象オブジェクトとして選択される。
【００１１】
さらに別の好ましい態様において、この文書編集装置は、前記オブジェクト取得手段が、属性を示す属性情報を有する少なくとも３つのオブジェクトを取得し、前記オブジェクト取得手段により取得されたオブジェクトの属性情報から、各オブジェクトの重要度を決定する重要度決定手段を有し、前記オブジェクト選択手段が、前記重要度決定手段により決定された重要度が高いものから順に少なくとも２つのオブジェクトを選択してもよい。
この文書編集装置によれば、重要度の高い順に対象オブジェクトが選択される。
【００１２】
また、本発明は、コンピュータ装置に、編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するステップと、前記取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するステップと、前記選択された対象オブジェクトのうち少なくとも１つの対象オブジェクトの大きさまたは位置に基づいて、前記少なくとも１つの対象オブジェクトと所定の位置関係を有する黄金矩形を形成するステップと、前記形成された黄金矩形に内接するように、前記対象オブジェクトの位置を変更するステップとを実行させるプログラムを提供する。
さらに、本発明は、上記のプログラムを記憶した記憶媒体を提供する。
このプログラムによれば、黄金矩形に内接するように対象オブジェクトの位置が変更される。
【図面の簡単な説明】
【００１３】
【図１】一実施形態に係る文書編集装置１００の機能構成を示す図である。
【図２】文書編集装置１００のハードウェア構成を示す図である。
【図３】文書編集装置１００の動作を示すフローチャートである。
【図４】対象文書である文書Ｄ１を示す図である。
【図５】オブジェクト選択処理の詳細を示すフローチャートである。
【図６】黄金矩形形成処理の詳細を示すフローチャートである。
【図７】移動前のオブジェクトを例示する図である。
【図８】移動前のオブジェクトの別の例を示す図である。
【図９】編集後の文書を例示する図である。
【図１０】編集後の文書の別の例を示す図である。
【図１１】編集後の文書のさらに別の例を示す図である。
【図１２】編集後の文書のさらに別の例を示す図である。
【図１３】変形例１に係るオブジェクト選択処理の詳細を示すフローチャートである。
【図１４】変形例２に係るオブジェクト選択処理の詳細を示すフローチャートである。
【図１５】変形例３に係るオブジェクト選択処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１４】
１．構成
図１は、本発明の一実施形態に係る文書編集装置１００の機能構成を示す図である。文書編集装置１００は、複数のオブジェクトで黄金矩形が形成されるように文書を編集する。「文書」とは、レイアウト領域内に配置される少なくとも１のオブジェクトおよびレイアウト領域におけるオブジェクトの配置を示すレイアウト情報を含むデータ、またはそのデータに従って出力された結果物をいう。「オブジェクト」とは、テキスト（文字列）もしくは画像の少なくとも一方を示すデータ、またはそのデータにより示されるテキストもしくは画像をいう。「レイアウト領域」とは、出力される文書の物理的な境界をいう。レイアウト領域は、例えば、文書が印刷される１または複数の紙、１つのページ、連続する複数のページ、またはページのうち一部分の領域をいう。
【００１５】
オブジェクト取得部１０１は、編集対象となる文書に含まれるオブジェクトを取得する。オブジェクト選択部１０２は、取得されたオブジェクトから少なくとも２つの対象オブジェクトを選択する。ここで「対象オブジェクト」とは、処理の対象となるオブジェクトをいう。黄金矩形形成部１０３は、少なくとも１つの対象オブジェクトの大きさまたは位置に基づいて黄金矩形を形成する。ここで、黄金矩形は、少なくとも１つの対象オブジェクトと所定の位置関係を有するように形成される。位置変更部１０４は、形成された黄金矩形に内接するように対象オブジェクトの位置を変更する。なお、「黄金矩形」とは、隣り合う２辺の長さの比が次式（１）で示される比（いわゆる黄金比）である四角形をいう。なお、式（１）の右項と左項とを入れ替えてもよい。
【数１】
2011090692.tif 000003
【００１６】
図２は、文書編集装置１００のハードウェア構成を示す図である。ＣＰＵ（Central Processing Unit）１１０は、文書編集装置１００の各要素を制御する制御装置である。Ｒ
ＯＭ（Read Only Memory）１２０は、文書編集装置１００の起動に必要なデータおよびプログラムを記憶する記憶装置である。ＲＡＭ（Random Access Memory）１３０は、ＣＰＵ１１０がプログラムを実行する際の作業領域として機能する記憶装置である。Ｉ／Ｆ（Interface）１４０は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出
力をするインターフェースである。ＨＤＤ（Hard Disk Drive）１５０は、各種プログラ
ムおよびデータを記憶する記憶装置である。本実施形態に関して、ＨＤＤ１５０は、文書の編集を行う文書編集プログラムを記憶している。キーボード・マウス１６０は、ユーザが文書編集装置１００に対して指示入力を行うための入力装置である。ディスプレイ１７０は、データの内容あるいは処理の状況などを表示する出力装置である。ネットワークＩＦ１８０は、ネットワーク（図示略）を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。文書編集装置１００は、例えば、ネットワークおよびネットワークＩＦ１８０を介して文書（正確には、文書を示す電子データ）を受信することができる。ＣＰＵ１１０、ＲＯＭ１２０、ＲＡＭ１３０、およびＩ／Ｆ１４０は、バス１９０を介して接続されている。ＣＰＵ１１０が文書編集プログラムを実行することにより、文書編集装置１００は、図１に示される機能構成を備える。なお、文書編集装置１００は、図１に示される機能構成および図２に示されるハードウェア構成を含むものであれば、どのような装置であってもよい。例えば、文書編集装置１００は、いわゆるパーソナルコンピュータである。なお、以上のハードウェア構成のうち一部の要素は省略されてもよい。
【００１７】
２．動作
図３は、文書編集装置１００の動作を示すフローチャートである。ステップＳ１００において、ＣＰＵ１１０は、オブジェクトを取得する。本実施形態において、オブジェクトは、編集対象となる文書（以下「対象文書」という）の一部として取得される。ＨＤＤ１５０は、対象文書を記憶している。ＣＰＵ１１０は、ＨＤＤ１５０から対象文書を読み出す。
【００１８】
図４は、対象文書である文書Ｄ1を示す図である。文書Ｄ1は、レイアウト領域Ｌ内にオブジェクトＴ1、Ｔ2およびＩ1の３つのオブジェクトを有する。オブジェクトＴ1およびＴ2は、テキストのオブジェクトである。オブジェクトＴ1は、「黄金比は美しい」という文字列と、自身の属性を示す属性情報を含んでいる。オブジェクトＴ1は、属性情報として、オブジェクトの種類「テキスト」、カテゴリ「タイトル」、フォントサイズ「４８ポイント」、フォントの種類「ゴシック」、フォントのスタイル「太字」、オブジェクトＴ1の大きさを示す情報を含んでいる。オブジェクトＴ2もオブジェクトＴ1と同様に、文字列および属性情報を含んでいる。特に、オブジェクトＴ2は、カテゴリ「本文」という属性を有する。オブジェクトＩ1は画像のオブジェクトである。オブジェクトＩ1は、画像情報と、属性情報を示している。オブジェクトＩ1は、属性情報として、オブジェクトの種類「画像」、カテゴリ「メイン画像」、オブジェクトＩ1の大きさを示す情報を含んでいる。また、文書Ｄ1は、レイアウト領域ＬにおけるオブジェクトＴ1、Ｔ2およびＩ1の配置を示す情報（以下「レイアウト情報」という）を含んでいる。
【００１９】
再び図３を参照して説明する。ステップＳ１１０において、ＣＰＵ１１０は、文書Ｄ1から対象オブジェクトを選択する。
【００２０】
図５は、オブジェクト選択処理の詳細を示すフローチャートである。ステップＳ１１１において、ＣＰＵ１１０は、オブジェクトを配列として、ＲＡＭ１３０に記憶する。以下、配列においてｘ番目のオブジェクトをＯ（ｘ）と表す。いま、Ｏ（１）＝オブジェクトＴ1、Ｏ（２）＝オブジェクトＴ2、Ｏ（３）＝オブジェクトＩ1である。
【００２１】
ステップＳ１１２において、ＣＰＵ１１０は、変数ｉ、ｊおよびｎを初期化する。変数ｉは、比較を行うオブジェクトを示す。変数ｊは、比較される（すなわち比較の相手となる）オブジェクトを示す。変数ｎは、文書Ｄ1に含まれるオブジェクトの総数を示す。ここで、ＣＰＵ１１０は、ｉ＝１、ｊ＝ｉ＋１＝２、ｎ＝３に初期化する。
【００２２】
ステップＳ１１３において、ＣＰＵ１１０は、オブジェクトＯ（ｉ）とオブジェクトＯ（ｊ）の外接矩形を求める。さらに、ＣＰＵ１１０は、外接矩形の長辺と短辺の比ｒをＲＡＭ１３０に記憶する。ここで、ｒ＝（長辺の長さ）／（短辺の長さ）である。なお「オブジェクトＯ（ｉ）とオブジェクトＯ（ｊ）の外接矩形」とは、（１）あらかじめ決められた方向（例えば、上下方向および左右方向）の辺を有し、（２）オブジェクトＯ（ｉ）およびオブジェクトＯ（ｊ）の両方を内部に含む４角形のうち、（３）面積が最小であるものをいう。比ｒは、その値を算出するのに用いられた２つのオブジェクトを特定する情報（ここでは変数ｉおよびｊの値）と対応するように記憶される。
【００２３】
ステップＳ１１４において、ＣＰＵ１１０は、比較の対象となっていないオブジェクトがあるか、すなわち、変数ｊおよびｎが条件ｊ＜ｎを満たすか判断する。まだ比較の相手となっていないオブジェクトがあると判断された場合（Ｓ１１４：ＹＥＳ）、ステップＳ１１５において、ＣＰＵ１１０は、変数ｊをｊ＝ｊ＋１として更新する。変数ｊを更新すると、ＣＰＵ１１０は、処理をステップＳ１１３に移行する。比較の相手となっていないオブジェクトがないと判断された場合（Ｓ１１４：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１１６に移行する。
【００２４】
ステップＳ１１６において、ＣＰＵ１１０は、比較を行っていないオブジェクトがあるか、すなわち、変数ｉおよびｎが条件ｉ＜ｎ−１を満たすか判断する。まだ比較を行っていないオブジェクトがあると判断された場合（Ｓ１１６：ＹＥＳ）、ステップＳ１１７において、ＣＰＵ１１０は、変数ｉおよびｊをｉ＝ｉ＋１およびｊ＝ｉ＋１として更新する。変数ｉおよびｊを更新すると、ＣＰＵ１１０は、処理をステップＳ１１３に移行する。比較を行っていないオブジェクトがないと判断された場合（Ｓ１１６：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１１８に移行する。
【００２５】
ステップＳ１１８において、ＣＰＵ１１０は、黄金比に最も近い外接矩形に対応する２つのオブジェクトを選択する。すなわちＣＰＵ１１０は、ＲＡＭ１３０に記憶された比ｒのうち、黄金比との差が最も小さいオブジェクトの組み合わせを対象オブジェクトとして選択する。
【００２６】
再び図３を参照して説明する。ステップＳ１２０において、ＣＰＵ１１０は、対象オブジェクトに基づいて黄金矩形を形成する。
【００２７】
図６は、黄金矩形形成処理の詳細を示すフローチャートである。ステップＳ１２１において、ＣＰＵ１１０は、対象オブジェクトを幅（横方向の長さ）が広い順に並べ替える。ステップＳ１２２において、ＣＰＵ１１０は、最も幅の広い対象オブジェクト（以下、「基準オブジェクト」という）を基準として黄金矩形を形成する。ここで、ＣＰＵ１１０は、基準オブジェクトの幅と長さが等しい長辺を有する黄金矩形（すなわち横長の黄金矩形）および基準オブジェクトの幅と長さが等しい短辺を有する黄金矩形（すなわち縦長の黄金矩形）を形成する。また、黄金矩形は、基準オブジェクトおよび黄金矩形のあらかじめ決められた辺（以下「基準辺」という）が一致する位置に形成される。例えば上辺が基準線である場合、黄金矩形の上辺と基準オブジェクトの上辺が一致する。いま、縦長の黄金矩形に対しては上辺および下辺が基準線として、横長の黄金矩形に対しては右辺および左辺が基準線として決められている。すなわちＣＰＵ１１０は、２つの縦長の黄金矩形（上辺を基準辺とするものおよび下辺を基準辺とするもの）および２つの横長の黄金矩形（右辺を基準辺とするものおよび左辺を基準辺とするもの）を形成する。
【００２８】
なお、ここで「黄金矩形を形成する」とは、黄金矩形を特定するのに必要なパラメータを算出することをいい、必ずしもディスプレイ１７０に黄金矩形が表示される必要はない。黄金矩形を特定するのに必要なパラメータは、例えば、４つの頂点の座標、または基準点の座標ならびに長辺および短辺の長さである。
【００２９】
ステップＳ１２３において、ＣＰＵ１１０は、形成された黄金矩形のうち、あらかじめ決められた条件を満たす黄金矩形を選択する。ＣＰＵ１１０は、選択された黄金矩形を用いて以降の処理を行う。本実施形態では、以下の条件が用いられる。
（１）黄金矩形が、その黄金矩形の形成に用いられなかったオブジェクトと重ならない。（２）黄金矩形がレイアウト領域からはみ出さない。
【００３０】
再び図３を参照して説明する。ステップＳ１３０において、ＣＰＵ１１０は、形成された黄金矩形に基づいて対象オブジェクトの配置を変更する。ここで、ＣＰＵ１１０は、対象オブジェクトの外接矩形が黄金矩形に一致するように、すなわち、対象オブジェクトが黄金矩形に内接するように、対象オブジェクトのうち基準オブジェクト以外の他のオブジェクトの配置を変更する。オブジェクトの配置はレイアウト情報で定められるので、ＣＰＵ１１０はレイアウト情報を書き換える。
【００３１】
図７は、移動前のオブジェクトを例示する図である。図７は、他のオブジェクトＯ0が黄金矩形Ｇ0の内部に位置している場合を示している。ＣＰＵ１１０は、あらかじめ決められた方向、例えば上下方向に、他のオブジェクトＯ0を移動させる。この場合、移動させる向きは、基準オブジェクト内のある点（例えば重心）と、他のオブジェクト内のある点（たとえば重心）の距離が長くなる方向である。ＣＰＵ１１０は、黄金矩形と接する位置まで他のオブジェクトＯ0を移動させる。他のオブジェクトＯ0を上下方向に移動しても対象オブジェクトの外接矩形が黄金矩形に一致しない場合、ＣＰＵ１１０は、別の方向、例えば左右方向に他のオブジェクトＯ0を移動させる。
【００３２】
図８は、移動前のオブジェクトの別の例を示す図である。図８は、他のオブジェクトＯ0が黄金矩形Ｇ0からはみ出している場合を示している。ＣＰＵ１１０は、あらかじめ決められた方向、例えば上下方向に、他のオブジェクトＯ0を移動させる。この場合、移動させる向きは、基準オブジェクト内のある点（例えば重心）と、他のオブジェクト内のある点（たとえば重心）の距離が短くなる方向である。ＣＰＵ１１０は、上下方向において他のオブジェクトＯ0が黄金矩形からはみ出さなくなるまで他のオブジェクトを移動させる。上下方向に移動してもなお他のオブジェクトＯ0が黄金矩形からはみ出している場合、ＣＰＵ１１０は、別の方向、例えば左右方向に他のオブジェクトＯ0を移動させる。
【００３３】
図９は、編集後の文書を例示する図である。この例では、オブジェクトＴ1およびＩ1が対象オブジェクトとして選択されている。オブジェクトＴ1およびＩ1が黄金矩形Ｇ1に内接するように配置されている。黄金矩形Ｇ1は縦長の黄金矩形である。なお図９は、後述するようにステップＳ１２３の条件（１）が適用されていない例を示している。
【００３４】
図１０は、編集後の文書の別の例を示す図である。この例では、オブジェクトＴ1およびＴ2が対象オブジェクトとして選択されている。オブジェクトＴ1およびＴ2が黄金矩形Ｇ2に内接するように配置されている。黄金矩形Ｇ2は縦長の黄金矩形である。なお図１０は、後述するようにステップＳ１２３の条件（１）が適用されていない例を示している。
【００３５】
図１１は、編集後の文書のさらに別の例を示す図である。この例では、オブジェクトＴ1およびＴ2が対象オブジェクトとして選択されている。オブジェクトＴ1およびＴ2が黄金矩形Ｇ3に内接するように配置されている。黄金矩形Ｇ3は横長の黄金矩形である。
【００３６】
図１２は、編集後の文書のさらに別の例を示す図である。この例では、オブジェクトＴ1およびＴ2が対象オブジェクトとして選択されている。オブジェクトＴ1およびＴ2が黄金矩形Ｇ4に内接するように配置されている。黄金矩形Ｇ4は横長の黄金矩形である。
【００３７】
以上で説明したように本実施形態によれば、黄金矩形に基づいて、レイアウト領域全体でバランスの取れた、すなわち審美性に優れた文書が編集される。
【００３８】
３．他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。なお以下の変形例において、実施形態と共通する事項についてはその説明を省略する。また、実施形態と共通する要素については共通の参照符号が用いられる。
【００３９】
３−１．変形例１
図１３は、変形例１に係るオブジェクト選択処理の詳細を示すフローチャートである。変形例１において、対象オブジェクトは、その種類に基づいて選択される。変形例１においては、図５のフローに代わり図１３のフローが用いられる。
【００４０】
ステップＳ２０１において、ＣＰＵ１１０は、取得されたオブジェクトを配列に記憶する。ステップＳ２０２において、ＣＰＵ１１０は、変数ｉおよびｎを初期化する。変数ｉは、判断の対象となるオブジェクトを示す。変数ｎは、取得されたオブジェクトの総数を示す。ここでＣＰＵ１１０は、ｉ＝１、ｎ＝３に設定する。ステップＳ２０３において、ＣＰＵ１１０は、オブジェクトＯ（ｉ）がテキストのオブジェクトであるか判断する。各オブジェクトは属性情報として、オブジェクトの種類を示す情報を有しているので、ＣＰＵ１１０は、属性情報に基づいてオブジェクトの種類を判断する。オブジェクトＯ（ｉ）がテキストのオブジェクトであると判断された場合（Ｓ２０３：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ２０４に移行する。オブジェクトＯ（ｉ）がテキストのオブジェクトでないと判断された場合（Ｓ２０３：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ２０５に移行する。
【００４１】
ステップＳ２０４において、ＣＰＵ１１０は、オブジェクトＯ（ｉ）の識別子をＲＡＭ１３０に記憶する。あるいは、ＣＰＵ１１０は、オブジェクトＯ（ｉ）をＲＡＭ１３０に記憶してもよい。こうして、テキストのオブジェクトの識別子がＲＡＭ１３０に記憶される。
【００４２】
ステップＳ２０５において、ＣＰＵ１１０は、まだ判断の対象となっていないオブジェクトが存在するか、すなわち変数ｉおよびｎが条件ｉ＜ｎを満たすか判断する。まだ判断の対象となっていないオブジェクトが存在すると判断された場合（Ｓ２０５：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ２０６に移行する。判断の対象となっていないオブジェクトが存在しないと判断された場合（Ｓ２０５：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ２０７に移行する。
【００４３】
ステップＳ２０６において、ＣＰＵ１１０は、変数ｉをｉ＝ｉ＋１に更新する。変数ｉを更新すると、ＣＰＵ１１０は、処理をステップＳ２０３に移行する。
ステップＳ２０７において、ＣＰＵ１１０は、ＲＡＭ１３０に識別子が記憶されているオブジェクト、すなわち、テキストのオブジェクトを対象オブジェクトとして選択する。このように変形例１によれば、テキストのオブジェクトが対象オブジェクトとして選択される。図１０〜図１３はテキストのオブジェクトが対象オブジェクトとして選択された例である。
【００４４】
なお、テキストのオブジェクトとして抽出されたものから、条件に基づいてオブジェクトの数を絞り込んでもよい。条件としては、例えば「文字数の多いものから順にｍ個（ｍは、ｍ≧２を満たす正の整数）のオブジェクトを選択する」というものが用いられる。この場合ＣＰＵ１１０は、ステップＳ２０４において、各オブジェクトの文字数を求め、識別子とともにＲＡＭ１３０に記憶する。ステップＳ２０７において、ＣＰＵ１１０は、文字数の多いものから順にｍ個のオブジェクトを対象オブジェクトとして選択する。
また、ステップＳ２０３においてテキストのオブジェクトが抽出されたが、画像のオブジェクトが抽出されてもよい。
【００４５】
３−２．変形例２
図１４は、変形例２に係るオブジェクト選択処理の詳細を示すフローチャートである。変形例２において、対象オブジェクトは、その面積に基づいて選択される。変形例２においては、図５のフローに代わり図１４のフローが用いられる。
【００４６】
ステップＳ３０１において、ＣＰＵ１１０は、取得されたオブジェクトを配列に記憶する。ステップＳ３０２において、ＣＰＵ１１０は、オブジェクトを、面積の大きいものから順に並べ替える。各オブジェクトは属性情報としてオブジェクトの面積を示す情報を有しているので、ＣＰＵ１１０は、属性情報に基づいてオブジェクトの面積を判断する。ステップＳ３０３において、ＣＰＵ１１０は、面積が大きいものから順にｍ個のオブジェクトを選択する。このように変形例２によれば、面積の大きいオブジェクトが対象オブジェクトとして選択される。
【００４７】
なお、面積に代わり重要度が用いられてもよい。各オブジェクトは属性情報としてオブジェクトの優先度を示す情報を有しているので、ＣＰＵ１１０は、属性情報に基づいてオブジェクトの重要度を判断する。あるいは、ＣＰＵ１１０は、あらかじめ決められたアルゴリズムに従って、カテゴリや優先度などの属性情報から、そのオブジェクトの重要度を算出してもよい。この場合、ＨＤＤ１５０は、属性を重要度に変換するテーブルまたは関数を記憶している。ＣＰＵ１１０は、このテーブルまたは関数に従って、オブジェクトの重要度を算出する。この際、複数の属性情報の組み合わせに応じて重要度が算出されてもよい。さらにあるいは、ＣＰＵ１１０は、誘目度など公知の技術により得られる指標を用いて重要度を算出してもよい。
【００４８】
３−３．変形例３
図１５は、変形例３に係るオブジェクト選択処理の詳細を示すフローチャートである。変形例３において、対象オブジェクトは、オブジェクトのカテゴリに基づいて選択される。変形例３においては、図５のフローに代わり図１５のフローが用いられる。
【００４９】
ステップＳ４０１において、ＣＰＵ１１０は、取得されたオブジェクトを配列に記憶する。ステップＳ４０２において、ＣＰＵ１１０は、変数ｉおよびｎを初期化する。変数ｉは、判断の対象となるオブジェクトを示す。変数ｎは、取得されたオブジェクトの総数を示す。ここでＣＰＵ１１０は、ｉ＝１、ｎ＝３に設定する。
【００５０】
ステップＳ４０３において、ＣＰＵ１１０は、オブジェクトＯ（ｉ）のカテゴリが「タイトル」であるか判断する。各オブジェクトは属性情報としてカテゴリを示す情報を有しているので、ＣＰＵ１１０は、属性情報に基づいてオブジェクトのカテゴリを判断する。オブジェクトＯ（ｉ）のカテゴリが「タイトル」であると判断された場合（Ｓ４０３：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ４０４に移行する。オブジェクトＯ（ｉ）のカテゴリが「タイトル」でないと判断された場合（Ｓ４０３：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ４０５に移行する。
【００５１】
ステップＳ４０４において、ＣＰＵ１１０は、オブジェクトＯ（ｉ）の識別子をＲＡＭ１３０に記憶する。あるいは、ＣＰＵ１１０は、オブジェクトＯ（ｉ）をＲＡＭ１３０に記憶してもよい。こうして、カテゴリが「タイトル」であるオブジェクトの識別子がＲＡＭ１３０に記憶される。
【００５２】
ステップＳ４０５において、ＣＰＵ１１０は、オブジェクトＯ（ｉ）のカテゴリが「メイン画像」であるか判断する。オブジェクトＯ（ｉ）のカテゴリが「メイン画像」であると判断された場合（Ｓ４０５：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ４０６に移行する。オブジェクトＯ（ｉ）のカテゴリが「メイン画像」でないと判断された場合（Ｓ４０５：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ４０７に移行する。
【００５３】
ステップＳ４０６において、ＣＰＵ１１０は、オブジェクトＯ（ｉ）の識別子をＲＡＭ１３０に記憶する。こうして、カテゴリが「メイン画像」であるオブジェクトの識別子がＲＡＭ１３０に記憶される。
【００５４】
ステップＳ４０７において、ＣＰＵ１１０は、未処理のオブジェクトが存在するか、すなわち、変数ｉおよびｎが条件ｉ＜ｎを満たすか判断する。未処理のオブジェクトが存在すると判断された場合（Ｓ４０７：ＹＥＳ）、ステップＳ４０８において、ＣＰＵ１１０は、変数ｉをｉ＝ｉ＋１に更新する。変数ｉを更新すると、ＣＰＵ１１０は、処理をステップＳ４０３に移行する。
【００５５】
未処理のオブジェクトが存在しないと判断された場合（Ｓ４０７：ＮＯ）、ＣＰＵ１１０は、ＲＡＭ１３０に識別子が記憶されているオブジェクト、すなわち、カテゴリが「タイトル」または「メイン画像」であるオブジェクトを対象オブジェクトとして選択する（Ｓ４０９）。このように変形例３によれば、特定のカテゴリのオブジェクトが対象オブジェクトとして選択される。
【００５６】
３−５．その他の変形例
ステップＳ１００において、オブジェクトは、対象文書と一緒に取得されなくてもよい。すなわち、各オブジェクトおよびレイアウト情報は、同一の出所から同時に取得されなくてもよい。オブジェクトおよび対象文書は、例えば、ネットワークおよびネットワークＩＦ１８０を介して他の装置から取得されてもよい。あるいは、オブジェクトおよび対象文書は、ユーザがキーボード・マウス１６０を操作することにより入力されてもよい。
【００５７】
ステップＳ１２１において、基準オブジェクトとして選択されるオブジェクトは、最も幅の広い対象オブジェクトに限定されない。最も高さ（縦方向の長さ）が高い対象オブジェクトが、基準オブジェクトとして選択されてもよい。また、基準オブジェクトと黄金矩形との位置関係は、基準辺が一致するものに限定されない。例えば、基準オブジェクトのある基準点（例えば左上の頂点）と黄金矩形のある基準点（例えば左上の頂点）とが一致するような位置関係が用いられてもよい。
【００５８】
ステップＳ１２３において用いられる条件は、実施形態で説明したものに限定されない。例えば、条件（１）および（２）のいずれか一方だけが用いられてもよい。図９は、条件（２）のみが用いられた例を示している。他のオブジェクトであるオブジェクトＴ2が黄金矩形Ｇ1と重なっているが、黄金矩形Ｇ1は採用されている。あるいは、黄金矩形の面積があらかじめ決められたしきい値以上ある、という条件のように、条件（１）および（２）以外の他の条件が用いられてもよい。
【００５９】
ステップＳ１２３に相当する処理は、ステップＳ１３０の後に行われてもよい。この場合、図６のフローでは、ステップＳ１２３の処理は行われない。ステップＳ１３０において、ＣＰＵ１１０は、複数の黄金矩形（すなわち黄金矩形の候補）について、オブジェクトの配置変更処理を行う。ステップＳ１３０の処理の後で、ＣＰＵ１１０は、複数の黄金矩形の候補の中から、配置変更後のオブジェクト同士が重なっていないものを選択する。
【００６０】
ステップＳ１３０の後で、編集後の文書があらかじめ決められた条件、例えば、オブジェクト同士が重なっていないという条件を満たしているか判断する処理が行われてもよい。この場合ＣＰＵ１１０は、判断の結果を示すメッセージをディスプレイ１７０に表示する。あるいは、条件が満たされていない場合、ＣＰＵ１１０は、条件が満たされるようにさらに文書を編集する処理を行ってもよい。この場合ＣＰＵ１１０は、ある点、例えば重心を基準として、黄金矩形を拡大する。ＣＰＵ１１０は、拡大後の黄金矩形に内接するように、基準オブジェクトおよび他のオブジェクトを移動する。さらにＣＰＵ１１０は、重なりを解消するため、各オブジェクトをあらかじめ決められた方向、例えばタイトルを左に、本文を右に移動する。図１２はこのようにして編集された例を示している。
【００６１】
オブジェクトおよび対象オブジェクトの数は、実施形態および変形例で説明したものに限定されない。対象文書は、４つ以上のオブジェクトを含んでいてもよい。また、３つ以上のオブジェクトが対象オブジェクトとして選択されてもよい。３つ以上のオブジェクトが対象オブジェクトとして選択された場合、すべての対象オブジェクトが黄金矩形に内接している必要はない。ステップＳ１１３で説明した条件（１）〜（３）が満たされていればよい。
【００６２】
各オブジェクトが有する属性情報は、上述の実施形態または変形例で説明したものに限定されない。例えば以下のものが属性として用いられてもよい。（１）オブジェクトの種類（「テキスト」、「画像」など）、（２）オブジェクトのカテゴリ（「タイトル」、「サブタイトル」、「本文」、「メイン画像」、「サブ画像」など）、（３）フォントサイズ、（４）フォントの種類（「明朝」、「ゴシック」など）、（５）フォントのスタイル（「標準」、「太字」、「斜体」など）、（６）オブジェクトのサイズ（面積、文字数、画素数など）、（７）オブジェクトの優先度（「高」、「中」、「低」、または指数など）、（８）画像の内容（「人物」、「風景」、「山」、「花」など）。なお、各オブジェクトは以上に例示した属性情報のすべてを有している必要はない。
【００６３】
各オブジェクトは、属性情報を有していなくてもよい。オブジェクトの属性は、レイアウト情報などオブジェクトとは別のデータにより定められてもよい。あるいは、オブジェクトの属性はあらかじめ決められていてもよい。
【００６４】
上述の実施形態および変形例においてＨＤＤ１５０に記憶されているデータ、情報およびパラメータの類は、ＨＤＤ１５０以外の装置に記憶されていてもよい。例えば、文書データは、文書編集装置１００以外の他の装置に記憶されていてもよい。この場合文書編集装置１００は、ネットワークを介した通信または直接接続により他の装置からデザインルールを取得する。なおこの場合文書編集装置１００はあらかじめデザインルールを記憶している必要はない。あるいは、データ、情報およびパラメータの類は、ユーザにより入力されてもよい。
【００６５】
上述の実施形態および変形例において「あらかじめ決められている」とされたデータ、情報およびパラメータの類は、ユーザの指示に応じて決定されてもよい。あるいは、これらのデータ、情報およびパラメータの類は、あらかじめ決められたアルゴリズムに従ってＣＰＵ１１０により決定されてもよい。
【００６６】
上述の実施形態および変形例において「黄金比」として説明された比は、黄金比以外の比率であってもよい。また、対象オブジェクトの数が１つである例について説明したが、対象オブジェクトの数は複数であってもよい。
【００６７】
上述の実施形態および変形例において、動画生成プログラムはＨＤＤ１５０に記憶されていた。しかし、動画生成プログラムは、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの記憶媒体により提供されてもよい。
【符号の説明】
【００６８】
１００…文書編集装置、１０１…オブジェクト取得部、１０２…オブジェクト選択部、１０３…黄金矩形形成部、１０４…位置変更部、１１０…ＣＰＵ、１２０…ＲＯＭ、１３０…ＲＡＭ、１４０…Ｉ／Ｆ、１５０…ＨＤＤ、１６０…キーボード・マウス、１７０…ディスプレイ、１８０…ネットワークＩＦ、１９０…バス
【図１】
2011090692.tif 000004
【図２】
2011090692.tif 000005
【図３】
2011090692.tif 000006
【図４】
2011090692.tif 000007
【図５】
2011090692.tif 000008
【図６】
2011090692.tif 000009
【図７】
2011090692.tif 000010
【図８】
2011090692.tif 000011
【図９】
2011090692.tif 000012
【図１０】
2011090692.tif 000013
【図１１】
2011090692.tif 000014
【図１２】
2011090692.tif 000015
【図１３】
2011090692.tif 000016
【図１４】
2011090692.tif 000017
【図１５】
2011090692.tif 000018
【手続補正書】
【提出日】平成22年11月29日(2010.11.29)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、
前記オブジェクト取得手段により取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するオブジェクト選択手段と、
前記オブジェクト選択手段により選択された対象オブジェクトのうち第１の対象オブジェクトを基準オブジェクトとして、前記基準オブジェクトと一頂点を共通にし、前記基準オブジェクトが内接する黄金矩形を形成する黄金矩形形成手段と、
前記選択された対象オブジェクトのうち第２の対象オブジェクトを、前記一頂点と対角にある他の頂点において前記黄金矩形に内接させる変更手段と
を有する文書編集装置。
【請求項２】
前記黄金矩形形成手段は、前記対象オブジェクトのうち、特定方向の辺の長さが最も長いものを前記基準オブジェクトとする
ことを特徴とする請求項１に記載の文書編集装置。
【請求項３】
前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、
前記オブジェクト選択手段は、前記少なくとも３つのオブジェクトのうちの少なくとも２つのオブジェクトの組み合わせのなかで、外接する外接矩形が最も黄金矩形に近い組み合わせを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項４】
前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、
前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうちテキストのオブジェクト同士または画像のオブジェクト同士の組み合わせを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項５】
前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうちテキスト量の多いものから順に少なくとも２つのオブジェクトを選択する
ことを特徴とする請求項３に記載の文書編集装置。
【請求項６】
前記オブジェクト取得手段が少なくとも３つのオブジェクトを取得し、
前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトのうち面積が大きいものから順に少なくとも２つのオブジェクトを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項７】
前記オブジェクト取得手段が、カテゴリを示すカテゴリ情報を有する少なくとも３つのオブジェクトを取得し、
前記オブジェクト選択手段が、前記少なくとも３つのオブジェクトうち特定のカテゴリ情報を有する少なくとも２つのオブジェクトを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項８】
前記オブジェクト取得手段が、属性を示す属性情報を有する少なくとも３つのオブジェクトを取得し、
前記オブジェクト取得手段により取得されたオブジェクトの属性情報から、各オブジェクトの重要度を決定する重要度決定手段を有し、
前記オブジェクト選択手段が、前記重要度決定手段により決定された重要度が高いものから順に少なくとも２つのオブジェクトを選択する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項９】
コンピュータ装置を、
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、
前記オブジェクト取得手段により取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するオブジェクト選択手段と、
前記オブジェクト選択手段により選択された対象オブジェクトのうち第１の対象オブジェクトを基準オブジェクトとして、前記基準オブジェクトと一頂点を共通にし、前記基準オブジェクトが内接する黄金矩形を形成する黄金矩形形成手段と、
前記選択された対象オブジェクトのうち第２の対象オブジェクトを、前記一頂点と対角にある他の頂点において前記黄金矩形に内接させる変更手段と
して機能させるためのプログラム。
【請求項１０】
コンピュータ装置を、
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、
前記オブジェクト取得手段により取得されたオブジェクトのうち、処理対象となるオブジェクトである対象オブジェクトを少なくとも２つ選択するオブジェクト選択手段と、
前記オブジェクト選択手段により選択された対象オブジェクトのうち第１の対象オブジェクトを基準オブジェクトとして、前記基準オブジェクトと一頂点を共通にし、前記基準オブジェクトが内接する黄金矩形を形成する黄金矩形形成手段と、
前記選択された対象オブジェクトのうち第２の対象オブジェクトを、前記一頂点と対角にある他の頂点において前記黄金矩形に内接させる変更手段と
して機能させるためのプログラムを記憶した記憶媒体。