説明

文書編集装置、プログラムおよび記憶媒体

【課題】審美性に優れた配置のグリッド線に基づいてオブジェクトの配置を決定すること。
【解決手段】本発明は、編集対象となる文書に含まれるオブジェクトを取得するオブジェクト取得手段と、前記オブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか1つに基づいて定められる基準線であって、互いに平行な2つの基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成手段と、処理対象オブジェクトを取得する画像取得手段と、前記処理対象オブジェクトが示す画像内から、基準点を特定する特定手段と、前記基準点が、前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定手段とを有する文書編集装置を提供する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文書を編集する技術に関する。
【背景技術】
【0002】
コンピュータ装置を用いて、ある領域内にオブジェクト(デジタルコンテンツ)を配置して文書を編集または作成する技術が知られている。オブジェクトを配置するためのガイド線として、いわゆるグリッド線が広く用いられている(例えば、特許文献1〜2)。特許文献1は、画像の境界線の延長線をグリッド線に一致させるように、画像を配置する技術を開示している。特許文献2は、素材枠内の素材に連動する点をレイアウト基準点として利用する技術を開示している。具体的には、特許文献2は、文字枠、または線画を構成する線分上の点をレイアウト基準点として利用する技術を開示している。
【0003】
【特許文献1】特開2003−099794号公報
【特許文献2】特開平7−105212号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術によれば、画像は、その内容によらず画一的に配置されるため、画像の内容に応じてバランスの取れた配置をすることができないという問題があった。また、特許文献2に記載の技術は、文字および線画のみを対象とするため、画像の内容に応じてバランスの取れた配置をすることができないという問題があった。また、特許文献1および2において、そもそもバランスの取れた配置にあるグリッド線を生成するには、あるレベル以上の技能や経験が必要であった。
これに対し本発明は、使用するユーザの技能や経験によらず、バランスの取れた、すなわち審美性に優れた配置のグリッド線に基づいてオブジェクトの配置を決定する技術を提供する。
【課題を解決するための手段】
【0005】
上述の課題を解決するため、本発明は、編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、前記オブジェクト取得手段により取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか1つに基づいて定められる基準線のうち、互いに平行な2つの前記基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成手段と、前記オブジェクト取得手段により取得されたオブジェクトのうち処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得手段と、前記画像取得手段により取得された処理対象オブジェクトが示す画像内から、基準点を特定する特定手段と、前記特定手段により特定された基準点が、前記グリッド線生成手段により生成されたグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定手段とを有する文書編集装置を提供する。この文書編集装置によれば、バランスの取れた、すなわち審美性に優れた位置にオブジェクトを配置することができる。
【0006】
好ましい態様において、この文書編集装置は、前記処理対象オブジェクトにより示される画像が人物画像を含み、前記基準点が、人物の目またはあごの位置に相当する点であってもよい。この文書編集装置によれば、人物の目またはあごの位置に基づいて、オブジェクトを配置することができる。
【0007】
別の好ましい態様において、この文書編集装置は、前記処理対象オブジェクトにより示される画像内において交わる少なくとも2本の線を含み、前記基準点が、前記少なくとも2本の線の交点に相当する点であってもよい。この文書編集装置によれば、画像に含まれる2本の線の交点に基づいて、オブジェクトを配置することができる。
【0008】
さらに別の好ましい態様において、この文書編集装置は、前記処理対象オブジェクトにより示される画像内において前記画像の外周部の接線に垂直または平行な線を含み、前記基準点が、前記線上に位置する点であってもよい。この文書編集装置によれば、画像の周辺部に水平または垂直な線に基づいて、オブジェクトを配置することができる。
【0009】
さらに別の好ましい態様において、この文書編集装置は、前記処理対象オブジェクトが前記レイアウト領域からはみ出すか判断する判断手段と、前記判断手段により前記処理対象オブジェクトが前記レイアウト領域からはみ出すと判断された場合、前記処理対象オブジェクトが前記レイアウト領域に収まるように、前記処理対象オブジェクトを縮小するオブジェクト縮小手段とを有してもよい。この文書編集装置によれば、オブジェクトがレイアウト領域に収まるように配置される。
【0010】
さらに別の好ましい態様において、この文書編集装置は、前記処理対象オブジェクトと前記レイアウト領域の境界線との間の余白の大きさがしきい値を超えているか判断する判断手段と、前記判断手段により前記余白の大きさがしきい値を超えていると判断された場合、前記余白の大きさがしきい値内に収まるように、前記処理対象オブジェクトを拡大するオブジェクト拡大手段とを有してもよい。この文書編集装置によれば、オブジェクトとレイアウト領域の境界線の間の余白がしきい値内に収まるように、オブジェクトが配置される。
【0011】
さらに別の好ましい態様において、この文書編集装置は、前記特定手段により特定される基準点の数が複数であり、前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点が前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定してもよい。この文書編集装置によれば、基準点が複数ある場合でも、オブジェクトを配置することができる。
【0012】
さらに別の好ましい態様において、この文書編集装置は、前記特定手段により特定される基準点の数が複数であり、前記グリッド線生成手段により生成されるグリッド線の数が複数であり、前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点および2番目に高い基準点が、前記複数のグリッド線のうち1本または2本のグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定してもよい。この文書編集装置によれば、基準点が複数ある場合でも、オブジェクトを配置することができる。
【0013】
さらに別の好ましい態様において、この文書編集装置は、前記特定手段により特定される基準点の数が複数であり、前記グリッド線生成手段により生成されるグリッド線の数が複数であり、前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点が前記複数のグリッド線のうち1本のグリッド線上に位置するように、かつ、前記複数の基準点のうち、前記画像の中心点に対し前記優先度が最も高い基準点と点対称の位置にある点との距離が最も短い基準点が前記複数のグリッド線のうち他のグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定してもよい。この文書編集装置によれば、基準点が複数ある場合でも、オブジェクトを配置することができる。
【0014】
また、本発明は、コンピュータ装置に、編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得処理と、前記取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか1つに基づいて定められる基準線であって、互いに平行な2つの基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成処理と、処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得処理と、前記処理対象オブジェクトが示す画像内から、基準点を特定する特定処理と、前記基準点が、前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定処理とを実行させるプログラムを提供する。
さらに、本発明は、上記のプログラムを記憶した記憶媒体を提供する。このプログラムまたは記憶媒体によれば、バランスの取れた、すなわち審美性に優れた位置にオブジェクトを配置することができる。
【発明を実施するための最良の形態】
【0015】
1.構成
図1は、本発明の一実施形態に係る文書編集装置100の機能構成を示す図である。オブジェクト取得部101は、編集対象となる文書に含まれるオブジェクト(デジタルコンテンツ)を取得する。「文書」とは、レイアウト領域内に配置される少なくとも1のオブジェクトおよびレイアウト領域におけるオブジェクトの配置を示すレイアウト情報を含むデータ、またはそのデータに従って出力された結果物をいう。「オブジェクト」とは、テキスト(文字列)もしくは画像の少なくとも一方を示すデータ、またはそのデータにより示されるテキストもしくは画像をいう。「レイアウト領域」とは、出力される文書の物理的な境界に基づいて定められる領域である。レイアウト領域は、例えば、文書が印刷される1または複数の紙、1つのページ、連続する複数のページ、またはページのうち一部分の領域をいう。あるいは、レイアウト領域は、これらの領域の周辺部から余白を差し引いた領域をいう。オブジェクト取得部101は、記憶部107または文書編集装置100以外の他の装置からオブジェクトを取得する。なお、オブジェクト取得部101は、オブジェクトだけでなく文書を取得してもよい。
【0016】
グリッド線生成部102は、互いに平行な2つの基準線の間を黄金比に分割するグリッド線を生成する。基準線は、オブジェクトの形状もしくは位置、またはレイアウト領域の形状のうち少なくともいずれか1つに基づいて定められる。画像取得部103は、処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する。処理対象オブジェクトは、記憶部107または文書編集装置100以外の他の装置から取得される。あるいは、処理対象オブジェクトは、編集対象となる文書に含まれるオブジェクトの中から選択されてもよい。なお、「黄金比」とは、次式(1)で示される比をいう。式(1)の右項と左項は入れ替えられてもよい。
【数1】

【0017】
基準点特定部104は、処理対象オブジェクトが示す画像内から、基準点を特定する。「基準点」とは、オブジェクトの配置を決定する際、基準となる点、またはその候補となる点をいう。基準点を特定する処理の詳細は後述する。位置決定部105は、基準点がグリッド線上に位置するように、レイアウト領域内における処理対象オブジェクトの位置を決定する。オブジェクト加工部106は、必要に応じて、処理対象オブジェクトを加工する。文書編集装置100は、以上のようにして編集された文書を出力する。
【0018】
図2は、文書編集装置100のハードウェア構成を示す図である。CPU(Central Processing Unit)110は、文書編集装置100の各構成要素を制御する制御装置である。ROM(Read Only Memory)120は、文書編集装置100の起動に必要なデータおよびプログラムを記憶する記憶装置である。RAM(Random Access Memory)130は、CPU110がプログラムを実行する際の作業領域として機能する記憶装置である。I/F(Interface)140は、種々の入出力装置や記憶装置との間でデータおよび制御信号の入出力をするインターフェースである。HDD(Hard Disk Drive)150は、各種プログラムおよびデータを記憶する記憶装置である。本実施形態に関して、HDD150は、グリッド線の生成およびオブジェクトの位置決定を行う文書編集プログラムを記憶している。キーボード・マウス160は、ユーザが文書編集装置100に対して指示入力を行うための入力装置である。ディスプレイ170は、データの内容あるいは処理の状況などを表示する出力装置である。本実施形態において、ディスプレイ170は、オブジェクト、レイアウト領域、およびグリッド線を表示する。ネットワークIF180は、ネットワーク(図示略)を介して接続された他の装置との間でデータの送受信を行うためのインターフェースである。文書編集装置100は、例えば、ネットワークおよびネットワークIF180を介して文書(正確には、文書を示す電子データ)を受信することができる。CPU110、ROM120、RAM130、およびI/F140は、バス190を介して接続されている。CPU110が文書編集プログラムを実行することにより、文書編集装置100は、図1に示される機能構成を備える。なお、文書編集装置100は、図1に示される機能構成および図2に示されるハードウェア構成を含むものであれば、どのような装置であってもよい。例えば、文書編集装置100は、いわゆるパーソナルコンピュータであってもよい。あるいは、文書編集装置100は、これらの機能を有するプリンタなどの画像形成装置であってもよい。
【0019】
2.動作
2−1.文書編集処理
図3は、本実施形態に係る文書編集処理を示すフローチャートである。ステップS100において、CPU110は処理対象の文書のレイアウト領域を黄金分割するグリッド線を生成する。「黄金分割する」とは、2つの基準線の間の距離を、黄金比となるように分割することをいう。詳細には、CPU110は、まず、グリッド線の生成に用いられる少なくとも1セットの基準線を決定する。例えば、ページの上辺および下辺、ならびにページの右辺および左辺、の2セットの基準線が用いられる。グリッド線は、互いに平行な基準線の間を黄金比に分割するように生成される。1セット(2本)の基準線から、2本のグリッド線が生成される。すなわち、2セットの基準線からは、計4本のグリッド線が生成される。CPU110は、生成されたグリッド線を特定する情報、例えば、直線の傾きおよび切片を示すパラメータをRAM130に記憶する。
【0020】
図4は、基準線およびグリッド線を例示する図である。基準線SおよびSからグリッド線Gが生成され、基準線SおよびSからグリッド線Gが生成される。
【0021】
再び図3を参照して説明する。ステップS110において、CPU110は、処理対象の画像内から基準点を特定する。基準点を特定する処理の詳細は後述する。ステップS120において、CPU110は、利用可能な基準点があるか判断する。例えば、CPU110は、処理対象の画像内に基準点が存在すれば、利用可能な基準点があると判断する。利用可能な基準点があると判断された場合(S120:YES)、CPU110は、処理をステップS130に移行する。利用可能な基準点がないと判断された場合(S120:NO)、CPU110は、処理をステップS140に移行する。
【0022】
ステップS130において、CPU110は、基準点をグリッド線に吸着させる処理を行う。ステップS140において、CPU110は、あらかじめ決められた点、例えば、オブジェクトの境界線上の点をグリッド線に吸着させる処理を行う。これらの処理の詳細は後述する。これらの処理を終えると、CPU110は、編集された文書を出力する。
【0023】
2−2.基準点特定処理
図5は、ステップS110における基準点特定処理の詳細を示すフローチャートである。ステップS111において、CPU110は、処理対象の画像から人物の顔を検出する。画像から人物の顔を検出する技術としては、公知の技術を用いることができる。画像から人物の顔を検出する技術として、例えば、画像から抽出された特徴点(目に相当する部分など)とテンプレートとをパターンマッチングにより比較する方法が知られている。あるいは、肌色情報を用いて人物の顔を検出する技術も知られている。画像から人物の顔を検出する技術は以上のものに限定されず、その他どのような方法が用いられてもよい。
【0024】
処理対象の画像から顔が検出された場合(S111:YES)、ステップS112において、CPU110は、目線の座標をRAM130に記憶する。「目線の座標」とは、抽出された顔のうち、目に相当する位置を示す情報である。処理対象の画像から顔が検出されなかった場合(S111:NO)、CPU110は、処理をステップS113に移行する。
【0025】
ステップS113において、CPU110は、処理対象の画像から水平の直線を検出する。直線を検出する技術としては、公知の技術を用いることができる。「水平の直線」とは、オブジェクトの水平方向と平行な直線、または、画像の外周部の水平方向の接線と平行な直線をいう。オブジェクトに対し、どの方向が水平方向でどの方向が垂直方向であるかはあらかじめ決められている。なお「水平の直線」は、オブジェクトの水平方向と完全に平行ではなく、あらかじめ決められた範囲内の誤差を含んでいてもよい。
【0026】
処理対象の画像から水平の直線が検出された場合(S113:YES)、ステップS114において、CPU110は、水平の直線のパラメータをRAM130に記憶する。「水平の直線のパラメータ」とは、例えば、処理対象の画像内における、水平の直線の始点および終点の座標を示す情報である。あるいは、水平の直線のパラメータは、水平の直線の傾きおよび切片を示す情報であってもよい。要は、直線を特定できる情報であれば、どのような情報が水平の直線のパラメータとして用いられてもよい。処理対象の画像から水平の直線が検出されなかった場合(S113:NO)、CPU110は、処理をステップS115に移行する。
【0027】
ステップS115において、CPU110は、処理対象の画像から垂直の直線を検出する。「垂直の直線」とは、オブジェクトの垂直方向と平行な直線、または、画像の外周部の垂直方向の接線と平行な直線をいう。垂直の直線の検出は、水平の直線の検出と同様に行われる。処理対象の画像から垂直の直線が検出された場合(S115:YES)、ステップS116において、CPU110は、垂直の直線のパラメータをRAM130に記憶する。「垂直の直線のパラメータ」とは、例えば、処理対象の画像内における、垂直の直線の始点および終点の座標を示す情報である。あるいは、垂直の直線のパラメータは、垂直の直線の傾きおよび切片を示す情報であってもよい。要は、直線を特定できる情報であれば、どのような情報が垂直の直線のパラメータとして用いられてもよい。処理対象の画像から垂直の直線が検出されなかった場合(S115:NO)、CPU110は、処理をステップS117に移行する。
【0028】
ステップS117において、CPU110は、処理対象の画像から角を検出する。「角」とは、画像内において交わる少なくとも2本の線およびそれらの交点によって形成される角をいう。角は、例えば、線の検出、またはパターンマッチングを用いて検出される。処理対象の画像から角が検出された場合(S117:YES)、ステップS118において、CPU110は、角の座標をRAM130に記憶する。処理対象の画像から角が検出されなかった場合(S117:NO)、CPU110は、図5に示される処理を終了する。
【0029】
なお、図5に示される処理において、各処理で検出された基準点に対し、優先度が付与されてもよい。例えば、先に処理されるものほど、高い優先度が付与されてもよい。図5の例によれば、目線が最も高い優先度を有し、角が最も低い優先度を有する。
【0030】
2−3.基準点吸着処理その1
図6は、ステップS130における基準点をグリッド線に吸着させる処理の例を示すフローチャートである。なお、「基準点をグリッド線に吸着させる」とは、処理対象オブジェクトの位置が、その基準点がグリッド線上に位置するように定められる状態にすることをいう。すなわち、「基準点をグリッド線に吸着させる」とは、オブジェクトとグリッド線との対応関係を示す情報を生成および記憶することをいう。例えば、基準点をグリッド線に吸着させた状態でグリッド線の位置を変更すると、オブジェクトの位置はグリッド線の移動に伴って変更される。
【0031】
ステップS1311において、CPU110は、処理対象オブジェクトの大まかな配置を決定する。大まかな配置の決定方法は任意である。例えば、CPU110は、レイアウト領域をあらかじめ決められた数に分割(例えば、9分割)する。CPU110は、分割された領域のうちどの領域にオブジェクトを配置するか決定する。オブジェクトが配置される分割領域は、ユーザの指定に基づいて決定されてもよい。あるいは、あらかじめ決められたアルゴリズムに従って、CPU110が自動的にオブジェクトが配置される分割領域を決定してもよい。
【0032】
ステップS1312において、CPU110は、基準点がグリッド線上に位置するように、処理対象オブジェクトの位置を決める。基準点が複数ある場合、処理対象となる基準点は、例えば、優先度に基づいて決められる。あるいは、処理対象となる基準点は、ランダムに決められてもよい。さらにあるいは、処理対象となる基準点は、ユーザの指定に基づいて決められてもよい。グリッド線が複数ある場合、基準点を吸着させるグリッド線として、例えば、処理対象の基準点との距離が最短であるグリッド線が採用される。あるいは、基準点を吸着させるグリッド線は、ランダムに決められてもよい。さらにあるいは、基準点を吸着させるグリッド線は、ユーザの指定により決められてもよい。要は、処理対象となる基準点を1つ、また、基準点を吸着させるグリッド線を1本選択できるものであれば、どのような方法が用いられてもよい。
【0033】
また、グリッド線上の点のうち、基準点が吸着される点である吸着点を決定する方法は任意である。例えば、2本のグリッド線の交点が、吸着点として採用されてもよい。あるいは、グリッド線上の点のうち、基準点との距離が最短である点など、基準点との位置があらかじめ決められた条件を満たす点が吸着点として採用されてもよい。
【0034】
ステップS1313において、CPU110は、オブジェクトが版面からはみ出していないか、すなわち、オブジェクトが版面に収まっているか判断する。「版面」とは、例えば、文書が出力される紙(例えば、A4版の紙)の領域すなわちレイアウト領域から周辺部の余白を除いた領域をいう。すなわち、版面は、レイアウト領域から余白を除いた領域である。版面は、本質的にはレイアウト領域と相違しない。すなわち、版面とレイアウト領域とが同一の領域を示してもよい。余白の大きさはあらかじめ決められていてもよいし、ユーザの指定に基づいて決められてもよい。
【0035】
オブジェクトが版面に収まっていると判断された場合(S1313:YES)、CPU110は、処理をステップS1316に移行する。オブジェクトが版面に収まっていないと判断された場合(S1313:NO)、CPU110は、処理をステップS1314に移行する。
【0036】
ステップS1314において、CPU110は、オブジェクトが裁ち落とし可能であるか判断する。「裁ち落とし」とは、オブジェクトの一部を文書の出力範囲から除外することをいう。オブジェクトが裁ち落とし可能であるかは、例えば、フラグに基づいて決められる。この場合、RAM130は、各オブジェクトに対応するフラグであって、そのオブジェクトが裁ち落とし可能であるか否かを示すフラグを記憶している。あるいは、CPU110は、処理対象オブジェクトの大きさなど、オブジェクトの属性を示す情報に基づいて、そのオブジェクトが裁ち落とし可能であるか判断してもよい。あるいは、CPU110は、ユーザの指定に基づいて、そのオブジェクトが裁ち落とし可能であるか判断してもよい。
【0037】
オブジェクトが裁ち落とし可能であると判断された場合(S1314:YES)、CPU110は、処理をステップS1316に移行する。オブジェクトが裁ち落とし可能でないと判断された場合(S1314:NO)、CPU110は、処理をステップS1315に移行する。ステップS1315において、CPU110は、オブジェクトを縮小する。すなわち、CPU110は、オブジェクトが版面に収まるように、オブジェクトを縮小する。縮小処理は、以下のように行われる。
【0038】
図7は、レイアウト領域からはみ出したオブジェクトを例示する図である。図7(A)において、オブジェクトO(ゴルフクラブを持つ女性の画像)は、版面Tからはみ出している。この場合、CPU110は、オブジェクトOが版面Tに収まるように、オブジェクトOの縮小率を決定する。
【0039】
図8は、縮小率の算出方法を説明する図である。CPU110は、まず、縮小処理の基準となる方向(以下「基準方向」という)を決定する。基準方向は、オブジェクトが版面からはみ出している位置に基づいて決定される。あるいは、基準方向は、あらかじめ決められていてもよい。あるいは、基準方向は、ユーザの指定に基づいて決められてもよい。さらにあるいは、基準方向は、処理対象オブジェクトの大きさなど、オブジェクトの属性に基づいて決められてもよい。CPU110は、次に、基準方向(ここでは上下方向)において、処理対象オブジェクトがレイアウト領域からはみ出ている向きの端点(ここでは下端)から、基準点Sまでの距離H1を算出する。さらに、CPU110は、基準方向のうちオブジェクトがはみ出した向き(ここでは下向き)における版面Tの端点から、基準点Sまでの距離H2を算出する。なお、図7および図8の例において、基準点Sは2本のグリッド線GおよびGの交点である。CPU110は、縮小率αを、α=H2/H1により算出する。なお、ここでいう「縮小率」は拡大率と等しい。α>1の場合は拡大といい、α<1の場合は縮小という。例えばα=70%の場合、処理対象オブジェクトの1辺の長さは、オブジェクトの縦横比を維持したまま、元の長さの70%に縮小される。このとき、処理対象オブジェクトは、基準点と吸着点とが一致した状態のままで、縮小される。
【0040】
再び図6を参照して説明する。ステップS1316において、CPU110は、以上の処理で決められた位置および縮小率(拡大率)で、処理対象オブジェクトの配置を決定する。CPU110は、処理対象オブジェクトとグリッド線との対応関係を示す情報を生成し、生成した情報をRAM130に記憶する。この情報は、例えば、オブジェクトの識別子、グリッド線の識別子、基準点の座標、吸着点の座標などを含んでもよい。CPU110は、基準点をグリッド線に吸着させる処理を完了する。
【0041】
2−4.基準点吸着処理その2
図9は、ステップS130における基準点をグリッド線に吸着させる処理の別の例を示すフローチャートである。図6に示されるフローによれば、まず基準点がグリッド線上に位置するように処理対象オブジェクトの位置が決められ、次いでオブジェクトがレイアウト領域内に収まるように縮小された。これに対し、図9に示されるフローによれば、処理対象オブジェクトがレイアウト領域内に収まるようにオブジェクトの位置が決められ、次いで基準点がグリッド線上に位置するようにオブジェクトが拡大または縮小される。
【0042】
ステップS1321において、CPU110は、処理対象オブジェクトの大まかな配置を決定する。この処理は図6のステップS1321の処理と同様に行われる。ステップS1322において、CPU110は、処理対象オブジェクトを仮配置する。具体的には、CPU110は、まず、オブジェクトの外周の辺のうち、レイアウト領域の境界線と一致させる辺である基準辺を決定する。基準辺は、オブジェクトが版面からはみ出している位置に基づいて決定される。あるいは、基準辺は、あらかじめ決められていてもよい。あるいは、基準辺はユーザの指定に基づいて決定されてもよい。さらにあるいは、基準辺は、ステップS1321においてオブジェクトが配置された分割領域およびオブジェクトの属性情報の一方または双方に基づいて決定されてもよい。さらに、CPU110は、レイアウト領域の境界線を示す辺のうち、基準辺に対応する辺(例えば、基準辺が下辺の場合は、レイアウト領域の下辺)を、基準辺と一致させる対象となる対象辺として決定する。CPU110は、基準辺と対象辺が一致するように、処理対象オブジェクトの仮配置を決定する。ここでは、基準辺としてオブジェクトの下辺が、対象辺としてレイアウト領域の下辺が用いられる場合を例に説明する。
【0043】
図10(A)は、仮配置されたオブジェクトを例示する図である。オブジェクトOの下端と、版面Tの下端とが一致するように、オブジェクトOが配置されている。この状態で、オブジェクトOの基準点Sと、グリッド線とは一致していない。
【0044】
再び図9を参照して説明する。ステップS1323において、CPU110は、基準点がグリッド線上に位置しているか判断する。基準点がグリッド線上に位置していると判断された場合(S1323:YES)、CPU110は、処理をステップS1325に移行する。基準点がグリッド線上に位置していないと判断された場合(S1323:NO)、CPU110は、処理をステップS1324に移行する。図10(A)の例では、基準点Sはグリッド線上に位置していないので、処理はステップS1324に移行される。
【0045】
ステップS1324において、CPU110は、基準点がグリッド線上に位置するように、オブジェクトを拡大または縮小する。拡大および縮小の方法は次のとおりである。
【0046】
図11は、拡大率の算出方法を説明する図である。CPU110は、まず、拡大処理(または縮小処理)の基準となる方向(以下「基準方向」という)を決定する。基準方向は、オブジェクトが版面からはみ出している位置に基づいて決定される。あるいは、基準方向は、あらかじめ決められていてもよい。あるいは、基準方向は、ユーザの指定に基づいて決められてもよい。さらにあるいは、基準方向は、処理対象オブジェクトの大きさなど、オブジェクトの属性に基づいて決められてもよい。以下、基準方向が上下方向である例について説明する。CPU110は、次に、基準方向において、基準点Sから、版面Tの対象辺(ここでは下辺)までの距離H3を算出する。さらに、CPU110は、基準方向において、版面Tの対象辺からグリッド線までの距離H4を算出する。CPU110は、拡大率αを、α=H4/H3により算出する。例えばα=120%の場合、オブジェクトの1辺の長さは、その縦横比を維持したまま、元の長さの120%に拡大される。
【0047】
再び図9を参照して説明する。ステップS1325において、CPU110は、以上の処理で決められた位置および縮小率(拡大率)で、処理対象オブジェクトの配置を決定する。CPU110は、処理対象オブジェクトとグリッド線との対応関係を示す情報を生成し、生成した情報をRAM130に記憶する。CPU110は、基準点をグリッド線に吸着させる処理を完了する。
【0048】
図10(B)は、以上の処理によって編集された文書を例示する図である。基準点Sが、グリッド線上に位置するように、かつ、オブジェクトOが版面T内に収まるように配置されている。
【0049】
2−5.基準点がない場合の吸着処理
次に、図3のステップS140における処理の詳細を説明する。利用可能な基準点がない場合、CPU110は、基準点の代わりに、あらかじめ決められた点を用いる。以下、ステップS140において基準点の代わりに用いられる点を「擬基準点」という。あらかじめ決められた点とは、例えば、オブジェクトの境界線(外周線)上の点、または、画像の外周部の接線上の点である。境界線上のどの点を擬基準点として用いるかを決定する方法は任意である。擬基準点をグリッド線に吸着させる処理は、基準点をグリッド線に吸着させる処理と同様に行われる。
【0050】
3.処理例
図12は、本実施形態により編集された文書の例を示す図である。オブジェクトOは、人物画像を含むオブジェクトである。基準点Sは、人物の目線に相当する点である。基準点Sは、2本のグリッド線GおよびGの交点に吸着している。
【0051】
図13は、本実施形態により編集された文書の別の例を示す図である。オブジェクトOは、空と陸地の画像を含むオブジェクトである。この例では、基準点は、地平線すなわち空と陸地の境界線上の点である。基準点は、グリッド線G上に吸着している。以上のように本実施形態によれば、バランスの取れた、すなわち審美性に優れた位置にオブジェクトを配置することができる。
【0052】
4.基準点が複数ある場合の処理
図14(A)は、処理対象オブジェクトが2つの基準点を有する例を示す図である。上述の実施形態においては、グリッド線に吸着させるのに、単一の基準点のみが用いられれた。しかし、複数の基準点を用いて、グリッド線への吸着処理が行われてもよい。この場合、以下のいずれかの処理が行われてもよい。
【0053】
4−1.優先度が最大のもののみを利用
基準点が複数ある場合、CPU110は、優先度が最大の基準点のみを用いて吸着処理を行ってもよい。図14(A)の例では、オブジェクトOは、基準点S(目線に相当)および基準点S(手に相当)を有している。基準点SおよびSは、それぞれ優先度を有している。例えば、基準点Sは優先度「1」を、基準点Sは優先度「2」を有している(この例では、値が小さいほど優先度が高い)。CPU110は、複数の基準点のうち、優先度が最大のもの、この例では、基準点Sがグリッド線に吸着するように、処理が行われる。
【0054】
4−2.優先度に従って複数の基準点を利用 その1
基準点が複数ある場合、CPU110は、優先度が最大の基準点を第1の基準点、その次に優先度が高いものを第2の基準点として特定してもよい。CPU110は、まず第1の基準点が第1のグリッド線上に位置するように、処理対象オブジェクトを配置する。さらに、CPU110は、第1の基準点を第1のグリッド線に吸着させたままで、第2の基準点を第2のグリッド線吸着させるように、オブジェクトを移動、拡大または縮小する。なお、オブジェクトの移動量、拡大率または縮小率にしきい値を設けてもよい。この場合、しきい値を超えたときには、第2の基準点を第2のグリッド線に吸着させる処理は行わなくてもよい。基準点の数が3つ以上の場合は、優先度が上位2つの基準点のみを用いて上記の処理が行われてもよい。
【0055】
図14(B)は、基準点Sをグリッド線Gに、基準点Sをグリッド線Gに吸着させた例を示している。この処理によれば、複数の基準点を用いて、バランスの取れた、すなわち審美性に優れた位置にオブジェクトを配置することができる。
【0056】
4−3.優先度に従って複数の基準点を利用 その2
基準点が複数ある場合、CPU110は、まず優先度が最大の基準点を第1の基準点として特定する。さらにCPU110は、第1の基準点に対し、画像の中心点についての点対象となる点に最も近い点を、第2の基準点として特定してもよい。第2の基準点を特定した後の処理は上述の場合と同様である。
【0057】
5.他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。
上述の実施形態においては、レイアウト領域またはオブジェクトに基づいて定められる線を基準線として用いる例について説明した。しかし、基準線として用いられる線はこれらの線に限定されない。既に生成されたグリッド線を、新たなグリッド線を生成する際の基準線として用いてもよい。
【0058】
また、上述の実施形態において、オブジェクトが人物画を含む場合に、目線に相当する位置が基準点として特定される例について説明した。しかし、顔から抽出される基準点は目に限定されず、あご、口、鼻など、顔のどの部位に相当するものでもよい。
【0059】
また、上述の実施形態においては、単一の装置が図1に示される機能構成を有する例について説明した。しかし、複数の装置を含むシステムが、図1に示される機能構成を有していてもよい。例えば、ある装置が図1のオブジェクト取得部101のグリッド線生成部102に相当する機能を、別の装置がそれ以外の機能を有し、これらの装置を含むシステムが全体として図1に示される機能構成を有していてもよい。
【0060】
また、図5に示される処理において、処理対象オブジェクトから、顔、水平の直線、垂直の直線、角の順番で基準点の抽出が行われる例について説明した。しかし、この順番は任意である。また、これらの基準点は、ユーザの指定に基づいて特定されてもよい。また、ある処理により基準点が検出された場合、その他の基準点抽出処理はスキップして、図5に示される処理を終了してもよい。
【0061】
また、図6に示される処理において、処理対象オブジェクトは版面内に収まっているか判断され、収まっていない場合にはオブジェクトが縮小される例について説明した。この処理と同様に、処理対象オブジェクトと版面の境界線との間の余白がしきい値より大きいか判断する処理が行われてもよい。余白がしきい値より大きいと判断された場合、オブジェクトは拡大されてもよい。
【0062】
さらに、図6に示される処理において、処理対象オブジェクトが版面内に収まっているか判断する処理は、省略されてもよい。すなわち、オブジェクトが版面内に収まっておいない場合には、自動的に裁ち落としが行われてもよい。
【0063】
図9に示される処理において、CPU110は、基準点の位置が、2つのグリッド線の交点の位置に一致するように、オブジェクトの拡大率を決定してもよい。
【0064】
また、基準点またはグリッド線が複数存在する場合、CPU110は、基準点とグリッド線の複数の組み合わせについて、それぞれ文書データを生成してもよい。この場合において、CPU110は、ユーザの指示に基づいて、これらのうちから1つの文書を最終的なものとして選択してもよい。
【0065】
また、上述の実施形態において、文書編集プログラムはHDD150に記憶される例について説明した。しかし、文書編集プログラムは、CD−ROM(Compact Disk Read Only Memory)などの記憶媒体により提供されてもよい。
【図面の簡単な説明】
【0066】
【図1】本発明の一実施形態に係る文書編集装置100の機能構成を示す図である。
【図2】文書編集装置100のハードウェア構成を示す図である。
【図3】本実施形態に係る文書編集処理を示すフローチャートである。
【図4】基準線およびグリッド線を例示する図である。
【図5】基準点特定処理の詳細を示すフローチャートである。
【図6】基準点をグリッド線に吸着させる処理の例を示すフローチャートである。
【図7】レイアウト領域からはみ出したオブジェクトを例示する図である。
【図8】縮小率の算出方法を説明する図である。
【図9】基準点をグリッド線に吸着させる処理の別の例を示すフローチャートである。
【図10】仮配置されたオブジェクトを例示する図である。
【図11】拡大率の算出方法を説明する図である。
【図12】編集された文書の例を示す図である。
【図13】編集された文書の別の例を示す図である。
【図14】処理対象オブジェクトが2つの基準点を有する例を示す図である。
【符号の説明】
【0067】
100…文書編集装置、101…オブジェクト取得部、102…グリッド線生成部、103…画像取得部、104…基準点特定部、105…位置決定部、106…オブジェクト加工部、107…記憶部、110…CPU、120…ROM、130…RAM、140…I/F、150…HDD、160…キーボード・マウス、170…ディスプレイ、180…ネットワークIF、190…バス

【特許請求の範囲】
【請求項1】
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得手段と、
前記オブジェクト取得手段により取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか1つに基づいて定められる基準線の内、互いに平行な2つの前記基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成手段と、
前記オブジェクト取得手段により取得されたオブジェクトのうち処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得手段と、
前記画像取得手段により取得された処理対象オブジェクトが示す画像内から、基準点を特定する特定手段と、
前記特定手段により特定された基準点が、前記グリッド線生成手段により生成されたグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定手段と
を有する文書編集装置。
【請求項2】
前記処理対象オブジェクトにより示される画像が人物画像を含み、
前記基準点が、人物の目またはあごの位置に相当する点である
ことを特徴とする請求項1に記載の文書編集装置。
【請求項3】
前記処理対象オブジェクトにより示される画像内において交わる少なくとも2本の線を含み、
前記基準点が、前記少なくとも2本の線の交点に相当する点である
ことを特徴とする請求項1に記載の文書編集装置。
【請求項4】
前記処理対象オブジェクトにより示される画像内において前記画像の外周部の接線に垂直または平行な線を含み、
前記基準点が、前記線上に位置する点である
ことを特徴とする請求項1に記載の文書編集装置。
【請求項5】
前記処理対象オブジェクトが前記レイアウト領域からはみ出すか判断する判断手段と、
前記判断手段により前記処理対象オブジェクトが前記レイアウト領域からはみ出すと判断された場合、前記処理対象オブジェクトが前記レイアウト領域に収まるように、前記処理対象オブジェクトを縮小するオブジェクト縮小手段と
を有する請求項1に記載の文書編集装置。
【請求項6】
前記処理対象オブジェクトと前記レイアウト領域の境界線との間の余白の大きさがしきい値を超えているか判断する判断手段と、
前記判断手段により前記余白の大きさが前記しきい値を超えていると判断された場合、前記余白の大きさが前記しきい値内に収まるように、前記処理対象オブジェクトを拡大するオブジェクト拡大手段と
を有する請求項1に記載の文書編集装置。
【請求項7】
前記特定手段により特定される基準点の数が複数であり、
前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点が前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する
ことを特徴とする請求項1に記載の文書編集装置。
【請求項8】
前記特定手段により特定される基準点の数が複数であり、
前記グリッド線生成手段により生成されるグリッド線の数が複数であり、
前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点および2番目に高い基準点が、前記複数のグリッド線のうち1本または2本のグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する
ことを特徴とする請求項1に記載の文書編集装置。
【請求項9】
前記特定手段により特定される基準点の数が複数であり、
前記グリッド線生成手段により生成されるグリッド線の数が複数であり、
前記位置決定手段が、前記複数の基準点のうち、あらかじめ決められたアルゴリズムにより付与された優先度が最も高い基準点が前記複数のグリッド線のうち1本のグリッド線上に位置するように、かつ、前記複数の基準点のうち、前記画像の中心点に対し前記優先度が最も高い基準点と点対称の位置にある点との距離が最も短い基準点が前記複数のグリッド線のうち他のグリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する
ことを特徴とする請求項1に記載の文書編集装置。
【請求項10】
コンピュータ装置に、
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得処理と、
前記取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか1つに基づいて定められる基準線であって、互いに平行な2つの基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成処理と、
処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得処理と、
前記処理対象オブジェクトが示す画像内から、基準点を特定する特定処理と、
前記基準点が、前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定処理と
を実行させるプログラム。
【請求項11】
コンピュータ装置に、
編集対象となる文書に含まれるテキストまたは画像の少なくとも一方を示すデータであるオブジェクトを取得するオブジェクト取得処理と、
前記取得されたオブジェクトの形状もしくは位置、または前記文書においてオブジェクトが配置される領域であるレイアウト領域の形状のうち少なくともいずれか1つに基づいて定められる基準線であって、互いに平行な2つの基準線の間を黄金比に分割するグリッド線を生成するグリッド線生成処理と、
処理対象となる画像を示すオブジェクトである処理対象オブジェクトを取得する画像取得処理と、
前記処理対象オブジェクトが示す画像内から、基準点を特定する特定処理と、
前記基準点が、前記グリッド線上に位置するように、前記レイアウト領域内における前記処理対象オブジェクトの位置を決定する位置決定処理と
を実行させるプログラムを記憶した記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2008−72446(P2008−72446A)
【公開日】平成20年3月27日(2008.3.27)
【国際特許分類】
【出願番号】特願2006−249242(P2006−249242)
【出願日】平成18年9月14日(2006.9.14)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】