(57)【要約】【課題】審美性に優れた配置のグリッド線に基づいてオブジェクトの配置を決定すること。【解決手段】本発明は、編集対象となる文書に含まれるオブジェクトを取得するオブジェクト取得手段と、前記オブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか１つに基づいて定められる基準線であって、互いに平行な２つの基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成手段と、処理対象オブジェクトを取得する画像取得手段と、前記処理対象オブジェクトが示す画像内から、基準点を特定する特定手段と、前記基準点が、前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定手段とを有する文書編集装置を提供する。【選択図】図１
2008072446.tif 000002
【特許請求の範囲】
【請求項１】
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、
前記オブジェクト取得手段により取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか１つに基づいて定められる基準線の内、互いに平行な２つの前記基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成手段と、
前記オブジェクト取得手段により取得されたオブジェクトのうち処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得手段と、
前記画像取得手段により取得された処理対象オブジェクトが示す画像内から、基準点を特定する特定手段と、
前記特定手段により特定された基準点が、前記グリッド線生成手段により生成されたグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定手段と
を有する文書編集装置。
【請求項２】
前記処理対象オブジェクトにより示される画像が人物画像を含み、
前記基準点が、人物の目またはあごの位置に相当する点である
ことを特徴とする請求項１に記載の文書編集装置。
【請求項３】
前記処理対象オブジェクトにより示される画像内において交わる少なくとも２本の線を含み、
前記基準点が、前記少なくとも２本の線の交点に相当する点である
ことを特徴とする請求項１に記載の文書編集装置。
【請求項４】
前記処理対象オブジェクトにより示される画像内において前記画像の外周部の接線に垂直または平行な線を含み、
前記基準点が、前記線上に位置する点である
ことを特徴とする請求項１に記載の文書編集装置。
【請求項５】
前記処理対象オブジェクトが前記レイアウト領域からはみ出すか判断する判断手段と、
前記判断手段により前記処理対象オブジェクトが前記レイアウト領域からはみ出すと判断された場合、前記処理対象オブジェクトが前記レイアウト領域に収まるように、前記処理対象オブジェクトを縮小するオブジェクト縮小手段と
を有する請求項１に記載の文書編集装置。
【請求項６】
前記処理対象オブジェクトと前記レイアウト領域の境界線との間の余白の大きさがしきい値を超えているか判断する判断手段と、
前記判断手段により前記余白の大きさが前記しきい値を超えていると判断された場合、前記余白の大きさが前記しきい値内に収まるように、前記処理対象オブジェクトを拡大するオブジェクト拡大手段と
を有する請求項１に記載の文書編集装置。
【請求項７】
前記特定手段により特定される基準点の数が複数であり、
前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点が前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項８】
前記特定手段により特定される基準点の数が複数であり、
前記グリッド線生成手段により生成されるグリッド線の数が複数であり、
前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点および２番目に高い基準点が、前記複数のグリッド線のうち１本または２本のグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項９】
前記特定手段により特定される基準点の数が複数であり、
前記グリッド線生成手段により生成されるグリッド線の数が複数であり、
前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点が前記複数のグリッド線のうち１本のグリッド線上に位置するように、かつ、前記複数の基準点のうち、前記画像の中心点に対し前記優先度が最も高い基準点と点対称の位置にある点との距離が最も短い基準点が前記複数のグリッド線のうち他のグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する
ことを特徴とする請求項１に記載の文書編集装置。
【請求項１０】
コンピュータ装置に、
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得処理と、
前記取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか１つに基づいて定められる基準線であって、互いに平行な２つの基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成処理と、
処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得処理と、
前記処理対象オブジェクトが示す画像内から、基準点を特定する特定処理と、
前記基準点が、前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定処理と
を実行させるプログラム。
【請求項１１】
コンピュータ装置に、
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得処理と、
前記取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか１つに基づいて定められる基準線であって、互いに平行な２つの基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成処理と、
処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得処理と、
前記処理対象オブジェクトが示す画像内から、基準点を特定する特定処理と、
前記基準点が、前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定処理と
を実行させるプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書を編集する技術に関する。
【背景技術】
【０００２】
コンピュータ装置を用いて、ある領域内にオブジェクト（デジタルコンテンツ）を配置して文書を編集または作成する技術が知られている。オブジェクトを配置するためのガイド線として、いわゆるグリッド線が広く用いられている（例えば、特許文献１〜２）。特許文献１は、画像の境界線の延長線をグリッド線に一致させるように、画像を配置する技術を開示している。特許文献２は、素材枠内の素材に連動する点をレイアウト基準点として利用する技術を開示している。具体的には、特許文献２は、文字枠、または線画を構成する線分上の点をレイアウト基準点として利用する技術を開示している。
【０００３】
【特許文献１】特開２００３−０９９７９４号公報
【特許文献２】特開平７−１０５２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術によれば、画像は、その内容によらず画一的に配置されるため、画像の内容に応じてバランスの取れた配置をすることができないという問題があった。また、特許文献２に記載の技術は、文字および線画のみを対象とするため、画像の内容に応じてバランスの取れた配置をすることができないという問題があった。また、特許文献１および２において、そもそもバランスの取れた配置にあるグリッド線を生成するには、あるレベル以上の技能や経験が必要であった。
これに対し本発明は、使用するユーザの技能や経験によらず、バランスの取れた、すなわち審美性に優れた配置のグリッド線に基づいてオブジェクトの配置を決定する技術を提供する。
【課題を解決するための手段】
【０００５】
上述の課題を解決するため、本発明は、編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、前記オブジェクト取得手段により取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか１つに基づいて定められる基準線のうち、互いに平行な２つの前記基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成手段と、前記オブジェクト取得手段により取得されたオブジェクトのうち処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得手段と、前記画像取得手段により取得された処理対象オブジェクトが示す画像内から、基準点を特定する特定手段と、前記特定手段により特定された基準点が、前記グリッド線生成手段により生成されたグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定手段とを有する文書編集装置を提供する。この文書編集装置によれば、バランスの取れた、すなわち審美性に優れた位置にオブジェクトを配置することができる。
【０００６】
好ましい態様において、この文書編集装置は、前記処理対象オブジェクトにより示される画像が人物画像を含み、前記基準点が、人物の目またはあごの位置に相当する点であってもよい。この文書編集装置によれば、人物の目またはあごの位置に基づいて、オブジェクトを配置することができる。
【０００７】
別の好ましい態様において、この文書編集装置は、前記処理対象オブジェクトにより示される画像内において交わる少なくとも２本の線を含み、前記基準点が、前記少なくとも２本の線の交点に相当する点であってもよい。この文書編集装置によれば、画像に含まれる２本の線の交点に基づいて、オブジェクトを配置することができる。
【０００８】
さらに別の好ましい態様において、この文書編集装置は、前記処理対象オブジェクトにより示される画像内において前記画像の外周部の接線に垂直または平行な線を含み、前記基準点が、前記線上に位置する点であってもよい。この文書編集装置によれば、画像の周辺部に水平または垂直な線に基づいて、オブジェクトを配置することができる。
【０００９】
さらに別の好ましい態様において、この文書編集装置は、前記処理対象オブジェクトが前記レイアウト領域からはみ出すか判断する判断手段と、前記判断手段により前記処理対象オブジェクトが前記レイアウト領域からはみ出すと判断された場合、前記処理対象オブジェクトが前記レイアウト領域に収まるように、前記処理対象オブジェクトを縮小するオブジェクト縮小手段とを有してもよい。この文書編集装置によれば、オブジェクトがレイアウト領域に収まるように配置される。
【００１０】
さらに別の好ましい態様において、この文書編集装置は、前記処理対象オブジェクトと前記レイアウト領域の境界線との間の余白の大きさがしきい値を超えているか判断する判断手段と、前記判断手段により前記余白の大きさがしきい値を超えていると判断された場合、前記余白の大きさがしきい値内に収まるように、前記処理対象オブジェクトを拡大するオブジェクト拡大手段とを有してもよい。この文書編集装置によれば、オブジェクトとレイアウト領域の境界線の間の余白がしきい値内に収まるように、オブジェクトが配置される。
【００１１】
さらに別の好ましい態様において、この文書編集装置は、前記特定手段により特定される基準点の数が複数であり、前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点が前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定してもよい。この文書編集装置によれば、基準点が複数ある場合でも、オブジェクトを配置することができる。
【００１２】
さらに別の好ましい態様において、この文書編集装置は、前記特定手段により特定される基準点の数が複数であり、前記グリッド線生成手段により生成されるグリッド線の数が複数であり、前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点および２番目に高い基準点が、前記複数のグリッド線のうち１本または２本のグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定してもよい。この文書編集装置によれば、基準点が複数ある場合でも、オブジェクトを配置することができる。
【００１３】
さらに別の好ましい態様において、この文書編集装置は、前記特定手段により特定される基準点の数が複数であり、前記グリッド線生成手段により生成されるグリッド線の数が複数であり、前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点が前記複数のグリッド線のうち１本のグリッド線上に位置するように、かつ、前記複数の基準点のうち、前記画像の中心点に対し前記優先度が最も高い基準点と点対称の位置にある点との距離が最も短い基準点が前記複数のグリッド線のうち他のグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定してもよい。この文書編集装置によれば、基準点が複数ある場合でも、オブジェクトを配置することができる。
【００１４】
また、本発明は、コンピュータ装置に、編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得処理と、前記取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか１つに基づいて定められる基準線であって、互いに平行な２つの基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成処理と、処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得処理と、前記処理対象オブジェクトが示す画像内から、基準点を特定する特定処理と、前記基準点が、前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定処理とを実行させるプログラムを提供する。
さらに、本発明は、上記のプログラムを記憶した記憶媒体を提供する。このプログラムまたは記憶媒体によれば、バランスの取れた、すなわち審美性に優れた位置にオブジェクトを配置することができる。
【発明を実施するための最良の形態】
【００１５】
１．構成
図１は、本発明の一実施形態に係る文書編集装置１００の機能構成を示す図である。オブジェクト取得部１０１は、編集対象となる文書に含まれるオブジェクト（デジタルコンテンツ）を取得する。「文書」とは、レイアウト領域内に配置される少なくとも１のオブジェクトおよびレイアウト領域におけるオブジェクトの配置を示すレイアウト情報を含むデータ、またはそのデータに従って出力された結果物をいう。「オブジェクト」とは、テキスト（文字列）もしくは画像の少なくとも一方を示すデータ、またはそのデータにより示されるテキストもしくは画像をいう。「レイアウト領域」とは、出力される文書の物理的な境界に基づいて定められる領域である。レイアウト領域は、例えば、文書が印刷される１または複数の紙、１つのページ、連続する複数のページ、またはページのうち一部分の領域をいう。あるいは、レイアウト領域は、これらの領域の周辺部から余白を差し引いた領域をいう。オブジェクト取得部１０１は、記憶部１０７または文書編集装置１００以外の他の装置からオブジェクトを取得する。なお、オブジェクト取得部１０１は、オブジェクトだけでなく文書を取得してもよい。
【００１６】
グリッド線生成部１０２は、互いに平行な２つの基準線の間を黄金比に分割するグリッド線を生成する。基準線は、オブジェクトの形状もしくは位置、またはレイアウト領域の形状のうち少なくともいずれか１つに基づいて定められる。画像取得部１０３は、処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する。処理対象オブジェクトは、記憶部１０７または文書編集装置１００以外の他の装置から取得される。あるいは、処理対象オブジェクトは、編集対象となる文書に含まれるオブジェクトの中から選択されてもよい。なお、「黄金比」とは、次式（１）で示される比をいう。式（１）の右項と左項は入れ替えられてもよい。
【数１】
2008072446.tif 000003
【００１７】
基準点特定部１０４は、処理対象オブジェクトが示す画像内から、基準点を特定する。「基準点」とは、オブジェクトの配置を決定する際、基準となる点、またはその候補となる点をいう。基準点を特定する処理の詳細は後述する。位置決定部１０５は、基準点がグリッド線上に位置するように、レイアウト領域内における処理対象オブジェクトの位置を決定する。オブジェクト加工部１０６は、必要に応じて、処理対象オブジェクトを加工する。文書編集装置１００は、以上のようにして編集された文書を出力する。
【００１８】
図２は、文書編集装置１００のハードウェア構成を示す図である。ＣＰＵ（Central Processing Unit）１１０は、文書編集装置１００の各構成要素を制御する制御装置である。ＲＯＭ（Read Only Memory）１２０は、文書編集装置１００の起動に必要なデータおよびプログラムを記憶する記憶装置である。ＲＡＭ（Random Access Memory）１３０は、ＣＰＵ１１０がプログラムを実行する際の作業領域として機能する記憶装置である。Ｉ／Ｆ（Interface）１４０は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。ＨＤＤ（Hard Disk Drive）１５０は、各種プログラムおよびデータを記憶する記憶装置である。本実施形態に関して、ＨＤＤ１５０は、グリッド線の生成およびオブジェクトの位置決定を行う文書編集プログラムを記憶している。キーボード・マウス１６０は、ユーザが文書編集装置１００に対して指示入力を行うための入力装置である。ディスプレイ１７０は、データの内容あるいは処理の状況などを表示する出力装置である。本実施形態において、ディスプレイ１７０は、オブジェクト、レイアウト領域、およびグリッド線を表示する。ネットワークＩＦ１８０は、ネットワーク（図示略）を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。文書編集装置１００は、例えば、ネットワークおよびネットワークＩＦ１８０を介して文書（正確には、文書を示す電子データ）を受信することができる。ＣＰＵ１１０、ＲＯＭ１２０、ＲＡＭ１３０、およびＩ／Ｆ１４０は、バス１９０を介して接続されている。ＣＰＵ１１０が文書編集プログラムを実行することにより、文書編集装置１００は、図１に示される機能構成を備える。なお、文書編集装置１００は、図１に示される機能構成および図２に示されるハードウェア構成を含むものであれば、どのような装置であってもよい。例えば、文書編集装置１００は、いわゆるパーソナルコンピュータであってもよい。あるいは、文書編集装置１００は、これらの機能を有するプリンタなどの画像形成装置であってもよい。
【００１９】
２．動作
２−１．文書編集処理
図３は、本実施形態に係る文書編集処理を示すフローチャートである。ステップＳ１００において、ＣＰＵ１１０は処理対象の文書のレイアウト領域を黄金分割するグリッド線を生成する。「黄金分割する」とは、２つの基準線の間の距離を、黄金比となるように分割することをいう。詳細には、ＣＰＵ１１０は、まず、グリッド線の生成に用いられる少なくとも１セットの基準線を決定する。例えば、ページの上辺および下辺、ならびにページの右辺および左辺、の２セットの基準線が用いられる。グリッド線は、互いに平行な基準線の間を黄金比に分割するように生成される。１セット（２本）の基準線から、２本のグリッド線が生成される。すなわち、２セットの基準線からは、計４本のグリッド線が生成される。ＣＰＵ１１０は、生成されたグリッド線を特定する情報、例えば、直線の傾きおよび切片を示すパラメータをＲＡＭ１３０に記憶する。
【００２０】
図４は、基準線およびグリッド線を例示する図である。基準線ＳａおよびＳｂからグリッド線Ｇ１が生成され、基準線ＳｃおよびＳｄからグリッド線Ｇ２が生成される。
【００２１】
再び図３を参照して説明する。ステップＳ１１０において、ＣＰＵ１１０は、処理対象の画像内から基準点を特定する。基準点を特定する処理の詳細は後述する。ステップＳ１２０において、ＣＰＵ１１０は、利用可能な基準点があるか判断する。例えば、ＣＰＵ１１０は、処理対象の画像内に基準点が存在すれば、利用可能な基準点があると判断する。利用可能な基準点があると判断された場合（Ｓ１２０：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ１３０に移行する。利用可能な基準点がないと判断された場合（Ｓ１２０：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１４０に移行する。
【００２２】
ステップＳ１３０において、ＣＰＵ１１０は、基準点をグリッド線に吸着させる処理を行う。ステップＳ１４０において、ＣＰＵ１１０は、あらかじめ決められた点、例えば、オブジェクトの境界線上の点をグリッド線に吸着させる処理を行う。これらの処理の詳細は後述する。これらの処理を終えると、ＣＰＵ１１０は、編集された文書を出力する。
【００２３】
２−２．基準点特定処理
図５は、ステップＳ１１０における基準点特定処理の詳細を示すフローチャートである。ステップＳ１１１において、ＣＰＵ１１０は、処理対象の画像から人物の顔を検出する。画像から人物の顔を検出する技術としては、公知の技術を用いることができる。画像から人物の顔を検出する技術として、例えば、画像から抽出された特徴点（目に相当する部分など）とテンプレートとをパターンマッチングにより比較する方法が知られている。あるいは、肌色情報を用いて人物の顔を検出する技術も知られている。画像から人物の顔を検出する技術は以上のものに限定されず、その他どのような方法が用いられてもよい。
【００２４】
処理対象の画像から顔が検出された場合（Ｓ１１１：ＹＥＳ）、ステップＳ１１２において、ＣＰＵ１１０は、目線の座標をＲＡＭ１３０に記憶する。「目線の座標」とは、抽出された顔のうち、目に相当する位置を示す情報である。処理対象の画像から顔が検出されなかった場合（Ｓ１１１：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１１３に移行する。
【００２５】
ステップＳ１１３において、ＣＰＵ１１０は、処理対象の画像から水平の直線を検出する。直線を検出する技術としては、公知の技術を用いることができる。「水平の直線」とは、オブジェクトの水平方向と平行な直線、または、画像の外周部の水平方向の接線と平行な直線をいう。オブジェクトに対し、どの方向が水平方向でどの方向が垂直方向であるかはあらかじめ決められている。なお「水平の直線」は、オブジェクトの水平方向と完全に平行ではなく、あらかじめ決められた範囲内の誤差を含んでいてもよい。
【００２６】
処理対象の画像から水平の直線が検出された場合（Ｓ１１３：ＹＥＳ）、ステップＳ１１４において、ＣＰＵ１１０は、水平の直線のパラメータをＲＡＭ１３０に記憶する。「水平の直線のパラメータ」とは、例えば、処理対象の画像内における、水平の直線の始点および終点の座標を示す情報である。あるいは、水平の直線のパラメータは、水平の直線の傾きおよび切片を示す情報であってもよい。要は、直線を特定できる情報であれば、どのような情報が水平の直線のパラメータとして用いられてもよい。処理対象の画像から水平の直線が検出されなかった場合（Ｓ１１３：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１１５に移行する。
【００２７】
ステップＳ１１５において、ＣＰＵ１１０は、処理対象の画像から垂直の直線を検出する。「垂直の直線」とは、オブジェクトの垂直方向と平行な直線、または、画像の外周部の垂直方向の接線と平行な直線をいう。垂直の直線の検出は、水平の直線の検出と同様に行われる。処理対象の画像から垂直の直線が検出された場合（Ｓ１１５：ＹＥＳ）、ステップＳ１１６において、ＣＰＵ１１０は、垂直の直線のパラメータをＲＡＭ１３０に記憶する。「垂直の直線のパラメータ」とは、例えば、処理対象の画像内における、垂直の直線の始点および終点の座標を示す情報である。あるいは、垂直の直線のパラメータは、垂直の直線の傾きおよび切片を示す情報であってもよい。要は、直線を特定できる情報であれば、どのような情報が垂直の直線のパラメータとして用いられてもよい。処理対象の画像から垂直の直線が検出されなかった場合（Ｓ１１５：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１１７に移行する。
【００２８】
ステップＳ１１７において、ＣＰＵ１１０は、処理対象の画像から角を検出する。「角」とは、画像内において交わる少なくとも２本の線およびそれらの交点によって形成される角をいう。角は、例えば、線の検出、またはパターンマッチングを用いて検出される。処理対象の画像から角が検出された場合（Ｓ１１７：ＹＥＳ）、ステップＳ１１８において、ＣＰＵ１１０は、角の座標をＲＡＭ１３０に記憶する。処理対象の画像から角が検出されなかった場合（Ｓ１１７：ＮＯ）、ＣＰＵ１１０は、図５に示される処理を終了する。
【００２９】
なお、図５に示される処理において、各処理で検出された基準点に対し、優先度が付与されてもよい。例えば、先に処理されるものほど、高い優先度が付与されてもよい。図５の例によれば、目線が最も高い優先度を有し、角が最も低い優先度を有する。
【００３０】
２−３．基準点吸着処理その１
図６は、ステップＳ１３０における基準点をグリッド線に吸着させる処理の例を示すフローチャートである。なお、「基準点をグリッド線に吸着させる」とは、処理対象オブジェクトの位置が、その基準点がグリッド線上に位置するように定められる状態にすることをいう。すなわち、「基準点をグリッド線に吸着させる」とは、オブジェクトとグリッド線との対応関係を示す情報を生成および記憶することをいう。例えば、基準点をグリッド線に吸着させた状態でグリッド線の位置を変更すると、オブジェクトの位置はグリッド線の移動に伴って変更される。
【００３１】
ステップＳ１３１１において、ＣＰＵ１１０は、処理対象オブジェクトの大まかな配置を決定する。大まかな配置の決定方法は任意である。例えば、ＣＰＵ１１０は、レイアウト領域をあらかじめ決められた数に分割（例えば、９分割）する。ＣＰＵ１１０は、分割された領域のうちどの領域にオブジェクトを配置するか決定する。オブジェクトが配置される分割領域は、ユーザの指定に基づいて決定されてもよい。あるいは、あらかじめ決められたアルゴリズムに従って、ＣＰＵ１１０が自動的にオブジェクトが配置される分割領域を決定してもよい。
【００３２】
ステップＳ１３１２において、ＣＰＵ１１０は、基準点がグリッド線上に位置するように、処理対象オブジェクトの位置を決める。基準点が複数ある場合、処理対象となる基準点は、例えば、優先度に基づいて決められる。あるいは、処理対象となる基準点は、ランダムに決められてもよい。さらにあるいは、処理対象となる基準点は、ユーザの指定に基づいて決められてもよい。グリッド線が複数ある場合、基準点を吸着させるグリッド線として、例えば、処理対象の基準点との距離が最短であるグリッド線が採用される。あるいは、基準点を吸着させるグリッド線は、ランダムに決められてもよい。さらにあるいは、基準点を吸着させるグリッド線は、ユーザの指定により決められてもよい。要は、処理対象となる基準点を１つ、また、基準点を吸着させるグリッド線を１本選択できるものであれば、どのような方法が用いられてもよい。
【００３３】
また、グリッド線上の点のうち、基準点が吸着される点である吸着点を決定する方法は任意である。例えば、２本のグリッド線の交点が、吸着点として採用されてもよい。あるいは、グリッド線上の点のうち、基準点との距離が最短である点など、基準点との位置があらかじめ決められた条件を満たす点が吸着点として採用されてもよい。
【００３４】
ステップＳ１３１３において、ＣＰＵ１１０は、オブジェクトが版面からはみ出していないか、すなわち、オブジェクトが版面に収まっているか判断する。「版面」とは、例えば、文書が出力される紙（例えば、Ａ４版の紙）の領域すなわちレイアウト領域から周辺部の余白を除いた領域をいう。すなわち、版面は、レイアウト領域から余白を除いた領域である。版面は、本質的にはレイアウト領域と相違しない。すなわち、版面とレイアウト領域とが同一の領域を示してもよい。余白の大きさはあらかじめ決められていてもよいし、ユーザの指定に基づいて決められてもよい。
【００３５】
オブジェクトが版面に収まっていると判断された場合（Ｓ１３１３：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ１３１６に移行する。オブジェクトが版面に収まっていないと判断された場合（Ｓ１３１３：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１３１４に移行する。
【００３６】
ステップＳ１３１４において、ＣＰＵ１１０は、オブジェクトが裁ち落とし可能であるか判断する。「裁ち落とし」とは、オブジェクトの一部を文書の出力範囲から除外することをいう。オブジェクトが裁ち落とし可能であるかは、例えば、フラグに基づいて決められる。この場合、ＲＡＭ１３０は、各オブジェクトに対応するフラグであって、そのオブジェクトが裁ち落とし可能であるか否かを示すフラグを記憶している。あるいは、ＣＰＵ１１０は、処理対象オブジェクトの大きさなど、オブジェクトの属性を示す情報に基づいて、そのオブジェクトが裁ち落とし可能であるか判断してもよい。あるいは、ＣＰＵ１１０は、ユーザの指定に基づいて、そのオブジェクトが裁ち落とし可能であるか判断してもよい。
【００３７】
オブジェクトが裁ち落とし可能であると判断された場合（Ｓ１３１４：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ１３１６に移行する。オブジェクトが裁ち落とし可能でないと判断された場合（Ｓ１３１４：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１３１５に移行する。ステップＳ１３１５において、ＣＰＵ１１０は、オブジェクトを縮小する。すなわち、ＣＰＵ１１０は、オブジェクトが版面に収まるように、オブジェクトを縮小する。縮小処理は、以下のように行われる。
【００３８】
図７は、レイアウト領域からはみ出したオブジェクトを例示する図である。図７（Ａ）において、オブジェクトＯ（ゴルフクラブを持つ女性の画像）は、版面Ｔからはみ出している。この場合、ＣＰＵ１１０は、オブジェクトＯが版面Ｔに収まるように、オブジェクトＯの縮小率を決定する。
【００３９】
図８は、縮小率の算出方法を説明する図である。ＣＰＵ１１０は、まず、縮小処理の基準となる方向（以下「基準方向」という）を決定する。基準方向は、オブジェクトが版面からはみ出している位置に基づいて決定される。あるいは、基準方向は、あらかじめ決められていてもよい。あるいは、基準方向は、ユーザの指定に基づいて決められてもよい。さらにあるいは、基準方向は、処理対象オブジェクトの大きさなど、オブジェクトの属性に基づいて決められてもよい。ＣＰＵ１１０は、次に、基準方向（ここでは上下方向）において、処理対象オブジェクトがレイアウト領域からはみ出ている向きの端点（ここでは下端）から、基準点Ｓまでの距離Ｈ１を算出する。さらに、ＣＰＵ１１０は、基準方向のうちオブジェクトがはみ出した向き（ここでは下向き）における版面Ｔの端点から、基準点Ｓまでの距離Ｈ２を算出する。なお、図７および図８の例において、基準点Ｓは２本のグリッド線Ｇ１およびＧ２の交点である。ＣＰＵ１１０は、縮小率αを、α＝Ｈ２／Ｈ１により算出する。なお、ここでいう「縮小率」は拡大率と等しい。α＞１の場合は拡大といい、α＜１の場合は縮小という。例えばα＝７０％の場合、処理対象オブジェクトの１辺の長さは、オブジェクトの縦横比を維持したまま、元の長さの７０％に縮小される。このとき、処理対象オブジェクトは、基準点と吸着点とが一致した状態のままで、縮小される。
【００４０】
再び図６を参照して説明する。ステップＳ１３１６において、ＣＰＵ１１０は、以上の処理で決められた位置および縮小率（拡大率）で、処理対象オブジェクトの配置を決定する。ＣＰＵ１１０は、処理対象オブジェクトとグリッド線との対応関係を示す情報を生成し、生成した情報をＲＡＭ１３０に記憶する。この情報は、例えば、オブジェクトの識別子、グリッド線の識別子、基準点の座標、吸着点の座標などを含んでもよい。ＣＰＵ１１０は、基準点をグリッド線に吸着させる処理を完了する。
【００４１】
２−４．基準点吸着処理その２
図９は、ステップＳ１３０における基準点をグリッド線に吸着させる処理の別の例を示すフローチャートである。図６に示されるフローによれば、まず基準点がグリッド線上に位置するように処理対象オブジェクトの位置が決められ、次いでオブジェクトがレイアウト領域内に収まるように縮小された。これに対し、図９に示されるフローによれば、処理対象オブジェクトがレイアウト領域内に収まるようにオブジェクトの位置が決められ、次いで基準点がグリッド線上に位置するようにオブジェクトが拡大または縮小される。
【００４２】
ステップＳ１３２１において、ＣＰＵ１１０は、処理対象オブジェクトの大まかな配置を決定する。この処理は図６のステップＳ１３２１の処理と同様に行われる。ステップＳ１３２２において、ＣＰＵ１１０は、処理対象オブジェクトを仮配置する。具体的には、ＣＰＵ１１０は、まず、オブジェクトの外周の辺のうち、レイアウト領域の境界線と一致させる辺である基準辺を決定する。基準辺は、オブジェクトが版面からはみ出している位置に基づいて決定される。あるいは、基準辺は、あらかじめ決められていてもよい。あるいは、基準辺はユーザの指定に基づいて決定されてもよい。さらにあるいは、基準辺は、ステップＳ１３２１においてオブジェクトが配置された分割領域およびオブジェクトの属性情報の一方または双方に基づいて決定されてもよい。さらに、ＣＰＵ１１０は、レイアウト領域の境界線を示す辺のうち、基準辺に対応する辺（例えば、基準辺が下辺の場合は、レイアウト領域の下辺）を、基準辺と一致させる対象となる対象辺として決定する。ＣＰＵ１１０は、基準辺と対象辺が一致するように、処理対象オブジェクトの仮配置を決定する。ここでは、基準辺としてオブジェクトの下辺が、対象辺としてレイアウト領域の下辺が用いられる場合を例に説明する。
【００４３】
図１０（Ａ）は、仮配置されたオブジェクトを例示する図である。オブジェクトＯの下端と、版面Ｔの下端とが一致するように、オブジェクトＯが配置されている。この状態で、オブジェクトＯの基準点Ｓと、グリッド線とは一致していない。
【００４４】
再び図９を参照して説明する。ステップＳ１３２３において、ＣＰＵ１１０は、基準点がグリッド線上に位置しているか判断する。基準点がグリッド線上に位置していると判断された場合（Ｓ１３２３：ＹＥＳ）、ＣＰＵ１１０は、処理をステップＳ１３２５に移行する。基準点がグリッド線上に位置していないと判断された場合（Ｓ１３２３：ＮＯ）、ＣＰＵ１１０は、処理をステップＳ１３２４に移行する。図１０（Ａ）の例では、基準点Ｓはグリッド線上に位置していないので、処理はステップＳ１３２４に移行される。
【００４５】
ステップＳ１３２４において、ＣＰＵ１１０は、基準点がグリッド線上に位置するように、オブジェクトを拡大または縮小する。拡大および縮小の方法は次のとおりである。
【００４６】
図１１は、拡大率の算出方法を説明する図である。ＣＰＵ１１０は、まず、拡大処理（または縮小処理）の基準となる方向（以下「基準方向」という）を決定する。基準方向は、オブジェクトが版面からはみ出している位置に基づいて決定される。あるいは、基準方向は、あらかじめ決められていてもよい。あるいは、基準方向は、ユーザの指定に基づいて決められてもよい。さらにあるいは、基準方向は、処理対象オブジェクトの大きさなど、オブジェクトの属性に基づいて決められてもよい。以下、基準方向が上下方向である例について説明する。ＣＰＵ１１０は、次に、基準方向において、基準点Ｓから、版面Ｔの対象辺（ここでは下辺）までの距離Ｈ３を算出する。さらに、ＣＰＵ１１０は、基準方向において、版面Ｔの対象辺からグリッド線までの距離Ｈ４を算出する。ＣＰＵ１１０は、拡大率αを、α＝Ｈ４／Ｈ３により算出する。例えばα＝１２０％の場合、オブジェクトの１辺の長さは、その縦横比を維持したまま、元の長さの１２０％に拡大される。
【００４７】
再び図９を参照して説明する。ステップＳ１３２５において、ＣＰＵ１１０は、以上の処理で決められた位置および縮小率（拡大率）で、処理対象オブジェクトの配置を決定する。ＣＰＵ１１０は、処理対象オブジェクトとグリッド線との対応関係を示す情報を生成し、生成した情報をＲＡＭ１３０に記憶する。ＣＰＵ１１０は、基準点をグリッド線に吸着させる処理を完了する。
【００４８】
図１０（Ｂ）は、以上の処理によって編集された文書を例示する図である。基準点Ｓが、グリッド線上に位置するように、かつ、オブジェクトＯが版面Ｔ内に収まるように配置されている。
【００４９】
２−５．基準点がない場合の吸着処理
次に、図３のステップＳ１４０における処理の詳細を説明する。利用可能な基準点がない場合、ＣＰＵ１１０は、基準点の代わりに、あらかじめ決められた点を用いる。以下、ステップＳ１４０において基準点の代わりに用いられる点を「擬基準点」という。あらかじめ決められた点とは、例えば、オブジェクトの境界線（外周線）上の点、または、画像の外周部の接線上の点である。境界線上のどの点を擬基準点として用いるかを決定する方法は任意である。擬基準点をグリッド線に吸着させる処理は、基準点をグリッド線に吸着させる処理と同様に行われる。
【００５０】
３．処理例
図１２は、本実施形態により編集された文書の例を示す図である。オブジェクトＯ２は、人物画像を含むオブジェクトである。基準点Ｓ２は、人物の目線に相当する点である。基準点Ｓ２は、２本のグリッド線Ｇ３およびＧ４の交点に吸着している。
【００５１】
図１３は、本実施形態により編集された文書の別の例を示す図である。オブジェクトＯ３は、空と陸地の画像を含むオブジェクトである。この例では、基準点は、地平線すなわち空と陸地の境界線上の点である。基準点は、グリッド線Ｇ５上に吸着している。以上のように本実施形態によれば、バランスの取れた、すなわち審美性に優れた位置にオブジェクトを配置することができる。
【００５２】
４．基準点が複数ある場合の処理
図１４（Ａ）は、処理対象オブジェクトが２つの基準点を有する例を示す図である。上述の実施形態においては、グリッド線に吸着させるのに、単一の基準点のみが用いられれた。しかし、複数の基準点を用いて、グリッド線への吸着処理が行われてもよい。この場合、以下のいずれかの処理が行われてもよい。
【００５３】
４−１．優先度が最大のもののみを利用
基準点が複数ある場合、ＣＰＵ１１０は、優先度が最大の基準点のみを用いて吸着処理を行ってもよい。図１４（Ａ）の例では、オブジェクトＯは、基準点Ｓ３（目線に相当）および基準点Ｓ４（手に相当）を有している。基準点Ｓ３およびＳ４は、それぞれ優先度を有している。例えば、基準点Ｓ３は優先度「１」を、基準点Ｓ４は優先度「２」を有している（この例では、値が小さいほど優先度が高い）。ＣＰＵ１１０は、複数の基準点のうち、優先度が最大のもの、この例では、基準点Ｓ３がグリッド線に吸着するように、処理が行われる。
【００５４】
４−２．優先度に従って複数の基準点を利用  その１
基準点が複数ある場合、ＣＰＵ１１０は、優先度が最大の基準点を第１の基準点、その次に優先度が高いものを第２の基準点として特定してもよい。ＣＰＵ１１０は、まず第１の基準点が第１のグリッド線上に位置するように、処理対象オブジェクトを配置する。さらに、ＣＰＵ１１０は、第１の基準点を第１のグリッド線に吸着させたままで、第２の基準点を第２のグリッド線吸着させるように、オブジェクトを移動、拡大または縮小する。なお、オブジェクトの移動量、拡大率または縮小率にしきい値を設けてもよい。この場合、しきい値を超えたときには、第２の基準点を第２のグリッド線に吸着させる処理は行わなくてもよい。基準点の数が３つ以上の場合は、優先度が上位２つの基準点のみを用いて上記の処理が行われてもよい。
【００５５】
図１４（Ｂ）は、基準点Ｓ３をグリッド線Ｇ７に、基準点Ｓ４をグリッド線Ｇ８に吸着させた例を示している。この処理によれば、複数の基準点を用いて、バランスの取れた、すなわち審美性に優れた位置にオブジェクトを配置することができる。
【００５６】
４−３．優先度に従って複数の基準点を利用  その２
基準点が複数ある場合、ＣＰＵ１１０は、まず優先度が最大の基準点を第１の基準点として特定する。さらにＣＰＵ１１０は、第１の基準点に対し、画像の中心点についての点対象となる点に最も近い点を、第２の基準点として特定してもよい。第２の基準点を特定した後の処理は上述の場合と同様である。
【００５７】
５．他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。
上述の実施形態においては、レイアウト領域またはオブジェクトに基づいて定められる線を基準線として用いる例について説明した。しかし、基準線として用いられる線はこれらの線に限定されない。既に生成されたグリッド線を、新たなグリッド線を生成する際の基準線として用いてもよい。
【００５８】
また、上述の実施形態において、オブジェクトが人物画を含む場合に、目線に相当する位置が基準点として特定される例について説明した。しかし、顔から抽出される基準点は目に限定されず、あご、口、鼻など、顔のどの部位に相当するものでもよい。
【００５９】
また、上述の実施形態においては、単一の装置が図１に示される機能構成を有する例について説明した。しかし、複数の装置を含むシステムが、図１に示される機能構成を有していてもよい。例えば、ある装置が図１のオブジェクト取得部１０１のグリッド線生成部１０２に相当する機能を、別の装置がそれ以外の機能を有し、これらの装置を含むシステムが全体として図１に示される機能構成を有していてもよい。
【００６０】
また、図５に示される処理において、処理対象オブジェクトから、顔、水平の直線、垂直の直線、角の順番で基準点の抽出が行われる例について説明した。しかし、この順番は任意である。また、これらの基準点は、ユーザの指定に基づいて特定されてもよい。また、ある処理により基準点が検出された場合、その他の基準点抽出処理はスキップして、図５に示される処理を終了してもよい。
【００６１】
また、図６に示される処理において、処理対象オブジェクトは版面内に収まっているか判断され、収まっていない場合にはオブジェクトが縮小される例について説明した。この処理と同様に、処理対象オブジェクトと版面の境界線との間の余白がしきい値より大きいか判断する処理が行われてもよい。余白がしきい値より大きいと判断された場合、オブジェクトは拡大されてもよい。
【００６２】
さらに、図６に示される処理において、処理対象オブジェクトが版面内に収まっているか判断する処理は、省略されてもよい。すなわち、オブジェクトが版面内に収まっておいない場合には、自動的に裁ち落としが行われてもよい。
【００６３】
図９に示される処理において、ＣＰＵ１１０は、基準点の位置が、２つのグリッド線の交点の位置に一致するように、オブジェクトの拡大率を決定してもよい。
【００６４】
また、基準点またはグリッド線が複数存在する場合、ＣＰＵ１１０は、基準点とグリッド線の複数の組み合わせについて、それぞれ文書データを生成してもよい。この場合において、ＣＰＵ１１０は、ユーザの指示に基づいて、これらのうちから１つの文書を最終的なものとして選択してもよい。
【００６５】
また、上述の実施形態において、文書編集プログラムはＨＤＤ１５０に記憶される例について説明した。しかし、文書編集プログラムは、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）などの記憶媒体により提供されてもよい。
【図面の簡単な説明】
【００６６】
【図１】本発明の一実施形態に係る文書編集装置１００の機能構成を示す図である。
【図２】文書編集装置１００のハードウェア構成を示す図である。
【図３】本実施形態に係る文書編集処理を示すフローチャートである。
【図４】基準線およびグリッド線を例示する図である。
【図５】基準点特定処理の詳細を示すフローチャートである。
【図６】基準点をグリッド線に吸着させる処理の例を示すフローチャートである。
【図７】レイアウト領域からはみ出したオブジェクトを例示する図である。
【図８】縮小率の算出方法を説明する図である。
【図９】基準点をグリッド線に吸着させる処理の別の例を示すフローチャートである。
【図１０】仮配置されたオブジェクトを例示する図である。
【図１１】拡大率の算出方法を説明する図である。
【図１２】編集された文書の例を示す図である。
【図１３】編集された文書の別の例を示す図である。
【図１４】処理対象オブジェクトが２つの基準点を有する例を示す図である。
【符号の説明】
【００６７】
１００…文書編集装置、１０１…オブジェクト取得部、１０２…グリッド線生成部、１０３…画像取得部、１０４…基準点特定部、１０５…位置決定部、１０６…オブジェクト加工部、１０７…記憶部、１１０…ＣＰＵ、１２０…ＲＯＭ、１３０…ＲＡＭ、１４０…Ｉ／Ｆ、１５０…ＨＤＤ、１６０…キーボード・マウス、１７０…ディスプレイ、１８０…ネットワークＩＦ、１９０…バス
【図１】
2008072446.tif 000004
【図２】
2008072446.tif 000005
【図３】
2008072446.tif 000006
【図４】
2008072446.tif 000007
【図５】
2008072446.tif 000008
【図６】
2008072446.tif 000009
【図７】
2008072446.tif 000010
【図８】
2008072446.tif 000011
【図９】
2008072446.tif 000012
【図１０】
2008072446.tif 000013
【図１１】
2008072446.tif 000014
【図１２】
2008072446.tif 000015
【図１３】
2008072446.tif 000016
【図１４】
2008072446.tif 000017