(58)【調査した分野】(Int.Cl.,DB名)
前記受付手段はさらに、前記ページに新たに挿入する画像オブジェクトを受け付け、前記表示手段はさらに、前記受付手段により受け付けた画像オブジェクトが挿入された前記ページを表示することを特徴とする請求項1に記載のプログラム。
前記受付手段により受け付けたオブジェクトの属性値を、前記ページに既に配置されているオブジェクトの属性値に基づいて決定する決定手段、としてさらに前記コンピュータを機能させ、
前記表示手段は、前記受付手段により受け付けられ且つ前記決定手段により決定された属性を備えるオブジェクトが挿入された前記ページを表示することを特徴とする請求項1または2に記載のプログラム。
前記決定手段は、前記ページに含まれるオブジェクトと前記受付手段により受け付けたオブジェクトとの関連を示す第1パラメータと、当該ページに含まれるオブジェクト固有の第2パラメータと、の合算値を評価値として算出することを特徴とする請求項4に記載のプログラム。
前記受付手段により受け付けたオブジェクトを挿入する位置を、前記ページに含まれるオブジェクトの位置に基づいて決定する位置決定手段、として前記コンピュータをさらに機能させることを特徴とする請求項1乃至8のいずれか1項に記載のプログラム。
前記位置決定手段は、前記ページにおいて基準矩形領域を特定し、当該特定された基準矩形領域の各辺を近傍のオブジェクトに接するまで移動させることによって、前記受付手段により受け付けたオブジェクトを配置する矩形領域を特定することを特徴とする請求項10に記載のプログラム。
前記表示手段は、前記第1のテキストオブジェクトが、前記第2のテキストオブジェクトの位置に基づく位置に配置された矩形領域に挿入されている前記ページを表示することを特徴とする請求項1乃至12のいずれか1項に記載のプログラム。
【発明を実施するための形態】
【0012】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
【0013】
図1は、本実施形態における情報処理装置100の構成を示すブロック図である。情報処理装置100は、本実施形態では、画像データに対してレイアウト編集等の画像処理を行う画像処理装置として動作し、例えば、汎用的なPCが用いられる。
図1に示すCPU101は、情報処理装置100全体を統括的に制御し、例えば、ROM102に記憶されているプログラムをRAM103に読み出して実行することにより、本実施形態の動作を実現する。ハードディスク(HDD)104は、オペレーティングシステム(OS)、Webブラウザやその他のアプリケーション等を記憶する。
【0014】
キーボード105およびポインティングデバイス106は、ユーザからの操作指示を受付けるための入力装置である。ディスプレイ107は、例えばLCD等の表示装置(ディスプレイ)であり、本実施形態ではユーザがレイアウト編集を行うための編集画面を表示する。ユーザは、編集画面上で、キーボード105やポインティングデバイス106を用いて指示や設定を行うことができる。CD−ROM108は、不揮発性のデータソースとして使用される。キーボード105〜CD−ROM108は、不図示のデバイスインタフェースを介してシステムバス110に接続される。
【0015】
通信インタフェース(IF)109は、情報処理装置100を外部のLAN等のネットワークに接続し、外部装置との通信を可能にする。例えば、情報処理装置100は、外部のプリンタ(印刷装置)を制御するためのジョブを生成し、通信IF109を介してプリンタに送信する印刷制御装置としても動作する。システムバス110は、CPU101〜通信IF109を相互に通信可能に接続する。上記の各ブロックの他に、フロッピー(登録商標)ディスクドライブ、DVD−ROM、USBメモリ等がシステムバス110に接続される場合もある。
【0016】
本実施形態においては、情報処理装置100は、ROM102やHDD104に記憶されているデザインアプリケーションを実行する。デザインアプリケーションは、ユーザが、オフィスドキュメント、ポスター、葉書、プレゼンテーションといった各用途に応じたデザイン編集作業を行うためのアプリケーションである。デザインアプリケーションは、ユーザがデザイン作業を行うための様々なレイアウト編集機能(以下、単に編集機能という)を有する。デザインアプリケーションは、例えば、編集対象のドキュメントの構成要素(オブジェクト)に対するリサイズ、移動、回転、選択、画像に対する補正処理、テキスト編集、写真画像やテキストに対する装飾処理、背景設定といった編集機能を有する。ユーザは、それらの各機能をキーボード105やポインティングデバイス106等の入力装置を用いて指示し、実行することができる。
【0017】
図2は、デザインアプリケーションのメイン画面の一例を示す図である。
図2のメイン画面201は、CPU101がデザインアプリケーションを起動した場合にディスプレイ107に表示される。デザインアプリケーションには、ユーザが任意に選択し使用可能な、複数種類のデザインテンプレートが予め用意されている。メイン画面201は、それらの予め用意されているデザインテンプレートのうち、ユーザが選択したデザインテンプレートをプレビュー領域202に表示する。
【0018】
メイン画面201には、プレビュー領域202の他、上記の各編集機能を実行するためのメニューやツールバー、ユーザ操作を確定したりキャンセルするためのボタン等も構成されている。ユーザは、それらのメニューやツールバーを用いて、写真画像、クリップアート、写真画像フレーム、文字飾り、背景といったデザイン要素(以下、アートマークともいう)を一覧表示させ、所望のアートマークを選択することができる。
【0019】
ユーザがメイン画面201のメニューやツールバーを用いて、編集対象のドキュメントおよびドキュメント内の所望のページを選択すると、CPU101は、そのドキュメントやページをプレビュー領域202に表示する。
図2は、ユーザが選択したページがプレビュー領域202に表示された状態を示している。ユーザは、プレビュー領域202に表示されたページ上の各構成要素に対して各編集機能を実行することができる。
【0020】
本実施形態では、1ページで構成されるドキュメントを編集対象としているが、複数ページで構成されたドキュメントである場合もある。その場合には、ユーザは、メイン画面201に構成された、任意のページへ移動するためのページ移動コマンドボタンを用いることにより、編集対象のページをプレビュー領域202に表示させることができる。
【0021】
図2は、プレビュー領域202に表示されたページ上で、文字列オブジェクト203「SALE」がユーザにより選択された状態を示している。メイン画面201にはさらに、ガイド、グリッド、ルーラといった編集支援機能を実行するためのメニューやツールバーが構成されており、ユーザは、それらを用いて、選択したオブジェクトに対して各編集機能を実行することができる。
【0022】
テキスト追加ボタン204は、プレビュー領域202に表示された編集対象のページに対して所望のテキスト(文字列)を追加して挿入するための追加ボタンである。テキスト追加ボタン204が押下されると、デザインアプリケーションは、ユーザがテキストを入力するための入力画面を表示する。本実施形態では、ユーザは、プレビュー領域202に表示されたページに対して、テキスト追加ボタン204により表示された入力画面上で入力したテキストを、文字列オブジェクトとして挿入することができる。
【0023】
図2には示されていないが、メイン画面201にはさらに、プレビュー領域202の表示倍率を指定するためのドロップダウンリスト等、他の機能を実行するためのメニューやボタン等も構成されている。
【0024】
以下、ユーザが、デザインアプリケーションに予め添付されているデザインテンプレートに対して所望の文字列オブジェクトを挿入し、デザインを完成する手順について説明する。ユーザは、メイン画面201のメニューやツールバーを用いて、デザインテンプレート一覧表示機能を実行指示する。その指示に応じて、CPU101は、デザインアプリケーションに予め添付されているデザインテンプレートの一覧を表示する。ユーザは、その一覧において、デザインのモチーフや、オブジェクトのレイアウトがユーザ自身の想定に近いデザインテンプレートを選択する。その選択に応じて、CPU101は、プレビュー領域202に、ユーザが選択したデザインテンプレートを表示する。
【0025】
図3は、プレビュー領域202に表示された、ユーザが選択したデザインテンプレートの一例を示す図である。
図3に示すデザインテンプレートは、イベント告知ポスターを表わすテンプレートであり、文字列オブジェクト301、302、305、306、309、画像オブジェクト307、308、複合オブジェクト303、304を含む。文字列オブジェクト301はイベント告知ポスターのタイトルを表わし、文字列オブジェクト302はサブタイトルを表わすオブジェクトである。文字列オブジェクト305及び306は、イベントの開催時刻を表わすオブジェクトである。また、文字列オブジェクト309は、イベント主催者を表わすオブジェクトである。画像オブジェクト307は、背景画像を表わすオブジェクトである。また、画像オブジェクト308は、イベント会場の周辺地図画像を表わすオブジェクトである。複合オブジェクト303及び304は、図形オブジェクト(
図3では丸図形)と文字列オブジェクトとがグループ化されたオブジェクトである。
図3において、複合オブジェクト303及び304内の文字列オブジェクトは、イベント開催日を表わすオブジェクトである。
【0026】
図3のデザインテンプレートに含まれる各文字列オブジェクトは、表1に示すような属性値を有している。
【0028】
表1に示すように、本実施形態において、各文字列オブジェクトは、フォントフェイスを表わす文字種、文字色、文字サイズ、文字数を属性値として有する。例えば、文字列オブジェクト301は、文字種(フォントフェイス)が「丸ゴシック体A」、文字色が8ビットのRGB表現で(255,255,255)の白色、文字サイズが210ポイント、文字数が6文字の属性値を有する。なお、複合オブジェクト303及び304については、複合オブジェクト内の文字列オブジェクトについての属性値が示されている。
【0029】
次に、ユーザがデザインテンプレートに対して所望の文字列オブジェクトを挿入する手順について説明する。ユーザは、メイン画面201上のテキスト追加ボタン204を押下する。押下に応じて、CPU101は、テキスト入力画面をディスプレイ107に表示する。テキスト入力画面の表示は、例えば、メイン画面201に対するサブ画面として表示される。
【0030】
図4は、テキスト入力画面の一例を示す図である。
図4に示すようなテキスト入力画面が表示されると、ユーザは、テキスト入力領域401に、所望のテキストを、キーボード105やポインティングデバイス106を用いて入力する。OKボタン403が押下されると、CPU101は、入力されたテキスト内容を確定する。また、キャンセルボタン402が押下されると、CPU101は、入力されたテキスト内容をキャンセルする。また、テキスト入力画面を用いずに、ユーザが、他のアプリケーション上で作成した文字列を、オペレーティングシステムが提供するクリップボードを介したコピーアンドペースト操作により、プレビュー領域202で編集中のページに追加するようにしても良い。
【0031】
テキスト入力領域401にテキストが入力されてOKボタン403が押下されると、文字列オブジェクトをプレビュー領域202で編集中のページに挿入する挿入処理が開始される。挿入処理は、オブジェクトの挿入位置の決定、挿入するオブジェクトの属性決定、オブジェクトの挿入、の順で行われる。
【0032】
図5は、オブジェクトの挿入位置の決定処理の手順を示すフローチャートである。S501において、CPU101は、プレビュー領域202に表示されたページデータをm×n(m、nは整数)の各ブロックデータに分割する。
図6(a)は、ページデータが各ブロックデータに分割されたイメージを表わす。ここでは、説明のため、各ブロックを、左上から右下に向かってM1N1、M2N1、・・・、MmNnとする。
【0033】
S502〜S504において、各ブロックデータごとにオブジェクトの占有面積の割合を算出する。S502において、CPU101は、全てのブロックデータについてS503の処理がされたか否かを判定する。ここで、全てのブロックデータについて処理されたと判定された場合にはS505に進み、全てのブロックデータについて処理されていないと判定された場合にはS503に進む。
【0034】
S503において、CPU101は、現在着目しているブロックデータ内で、各オブジェクトの占有面積の割合を算出する。例えば、
図6のブロックM5N4は、画像オブジェクト307についての占有面積は100%として算出される。また、ブロック内で複数種類のオブジェクトが重なっている場合には、各オブジェクトについての占有面積の和とする。従って、S503で算出される占有面積の割合が100%を超える場合もある。
【0035】
S504において、CPU101は、次のブロックデータをS503の処理対象としてS502からの処理を繰り返す。処理対象のブロックデータの決定順序は、ページデータの全てのブロックデータを網羅できる順であれば良く、例えば、
図6での左上から右下に向かってのブロック順M1N1、M2N1、・・・、MmNnでも良い。
【0036】
S505において、CPU101は、各ブロックデータについて算出された占有面積の割合を比較し、占有面積の割合が最も小さいブロックを、挿入する文字列オブジェクトの配置位置の中心(中心ブロック)として決定する。ここで、
図6(a)のM3N7のブロックが中心ブロックとして決定されたとする。また、算出された占有面積が同じブロックデータが複数検索された場合には、いずれのブロックデータを中心ブロックとして決定するかについての選択画面を表示し、その選択に応じて中心ブロックを決定するようにしても良い。
【0037】
S506において、CPU101は、挿入する文字列オブジェクトの配置領域を決定する。ここで、配置領域とは、ユーザがテキスト入力領域401に入力した文字列が配置される矩形領域をいう。CPU101は、S505で決定された中心ブロックM3N7を初期サイズの基準矩形領域として特定する。そして、CPU101は、基準矩形領域の上下左右の各辺が近傍の他のオブジェクトに接するまで、各辺を外側に移動する。
図6(b)は、S506で決定されたオブジェクトの配置領域を示す図である。
図6(b)は、
図6(a)で決定された中心ブロックM3N7の領域が領域601まで拡張された状態を示している。
【0038】
S505での中心ブロックの決定時に、既にオブジェクトが重なっている状態も考えられる。その場合、CPU101は、中心ブロックの各辺を近傍のオブジェクトと重ならなくなるまで各辺を内側に移動し、中心ブロックの領域を縮小する。また、基準矩形領域を上記のように拡大せずに、中心ブロックのサイズをそのまま変更せずに、挿入する文字列オブジェクトの配置領域として決定しても良い。
【0039】
以上の説明においては、デザインアプリケーション上でオブジェクトの挿入位置を自動的に位置決定する処理を説明した。しかしながら、ユーザがオブジェクトの所望の挿入位置を、ポインティングデバイス106等の入力装置を用いてプレビュー領域202上で決定するようにしても良い。
【0040】
次に、S506で決定された配置領域に配置される文字列オブジェクトの属性を決定する。ユーザが
図4のテキスト入力画面上で入力したテキストは、その文字種、文字色、文字サイズによっては、
図3のデザインテンプレートに最適に適合するといえない場合がある。そこで、本実施形態では、S506で決定された配置領域における最適な属性(文字種、文字色、文字サイズ)を決定する。
【0041】
図7は、オブジェクトの属性の決定処理の手順を示すフローチャートである。本処理では、挿入するオブジェクトと同じ種類の全てのオブジェクトについて、属性ごとに評価点を算出する。デザインテンプレートに既に含まれている各オブジェクトの属性は、そのデザインテンプレートが表わす表示画像(ポスター等)に特定の影響度を与えている。従って、デザインテンプレートは、各オブジェクトの属性が与える影響度のバランスがとれている理想の状態ともいえる。従って、挿入されるオブジェクトの属性は、表示画像での他のオブジェクトの属性を考慮した属性であることが望ましい。上記の評価点は、各オブジェクトの属性が、挿入されるオブジェクトに適用できる可能性を示す指標の役割を果たしているといえる。
【0042】
本実施形態では、ページ内の各文字列オブジェクトについて、各属性(文字種、文字色、文字サイズ)ごとに評価点を算出する。複合オブジェクトについては、それに含まれる文字列オブジェクトの属性が算出対象となる。画像オブジェクトについては、挿入される文字列オブジェクトとは種別が異なるので、評価点の算出対象としない。
【0043】
S701において、CPU101は、プレビュー領域202に表示されたページデータ内の全てのオブジェクトについて、
図7の処理が行われたか否かを判定する。ここで、全てのオブジェクトについて処理が行われたと判定された場合には
図7の処理を終了する。一方、全てのオブジェクトについて処理が行われていないと判定された場合にはS702に進む。
【0044】
S702において、CPU101は、現在着目しているオブジェクトの種別を取得し、挿入されるオブジェクトと同じ種別であるか否かを判定する。ここでは、現在着目しているオブジェクトの種別が文字列オブジェクトであるか否かを判定する。同じ種別であると判定された場合にはS703に進み、同じ種別ではないと判定された場合にはS707に進む。
【0045】
S703において、CPU101は、現在着目しているオブジェクトの属性値を取得する。例えば、CPU101が現在着目しているオブジェクトが文字列オブジェクト302であれば、文字種「角ゴシック体A」、文字色「(255,255,255)」、文字サイズ「70」を取得する。次に、S704において、CPU101は、属性値とは異なる評価パラメータを取得する。評価パラメータとは、現在着目しているオブジェクトとS506で決定された領域601との間の距離、および、現在着目しているオブジェクトが文字列オブジェクトである場合の文字数である。つまり、本実施形態における評価パラメータは、現在着目しているオブジェクトと挿入されるオブジェクトとの関連を示すパラメータと、現在着目しているオブジェクト固有のパラメータとの合算値である。距離の算出については、例えば、両オブジェクトの各領域の重心点間の距離であっても良い。
【0046】
S705において、CPU101は、S704及びS705で取得された属性値と評価パラメータとに基づいて、属性ごとに評価点を算出する。評価点の算出については後述する。S706において、CPU101は、次のオブジェクトを
図7の処理対象とし、S701からの処理を繰り返す。処理対象とするオブジェクト順は、ページデータに含まれる全てのオブジェクトを網羅できる順であれば良い。
【0047】
S702で同じ種別ではないと判定された場合、S707において、CPU101は、現在着目しているオブジェクトが複合オブジェクトであるか否かを判定する。ここで、複合オブジェクトであると判定された場合にはS708に進み、複合オブジェクトではないと判定された場合にはS706に進む。例えば、ページデータが
図3に示すデザインテンプレートであり、S707で複合オブジェクトでないと判定された場合とは、画像オブジェクトが現在着目されている場合である。その場合、挿入されるオブジェクトと種別の異なる画像オブジェクトは評価点の算出対象としないので、S706に進み次のオブジェクトを処理対象とする。S708において、CPU101は、現在着目している複合オブジェクトが、挿入されるオブジェクトと同じ種別のオブジェクトを含むか否かを判定する。ここで、同じ種別のオブジェクトを含むと判定された場合にはS703に進み、同じ種別のオブジェクトを含まないと判定された場合にはS706に進む。
【0048】
次に、S705における評価点の算出方法について説明する。デザインアプリケーションは、属性ごとに評価点の算出式を予め用意している。評価点算出式は、オブジェクト距離、文字サイズ、文字数に各重み付けを行うものであり、次式(1)〜(3)により算出される。
【0049】
文字色評価点=距離×0.2+文字数×0.3+文字サイズ×0.5 ・・(1)
文字サイズ評価点=距離×0.6+文字数×0.3+文字サイズ×0.1 ・・(2)
文字種評価点=距離×0.1+文字数×0.5+文字サイズ×0.4 ・・(3)
ここで、距離は、文字オブジェクトとS506で決定された領域601との間の距離である。また、文字数は、オブジェクトの文字数であり、文字サイズは、オブジェクトの文字サイズである。
【0050】
式(1)は、オブジェクトの文字色についての評価点の算出式であり、距離に0.2、文字数に0.3、文字サイズに0.5の重み付けがされており、文字サイズの評価点への寄与が他の要素より大きい。式(2)は、文字サイズについての評価点の算出式であり、距離に0.6、文字数に0.3、文字サイズに0.5の重み付けがされており、距離の評価点への寄与が他の要素より大きい。式(3)は、文字種についての評価点の算出式であり、距離に0.1、文字数に0.5、文字サイズに0.4の重み付けがされており、文字数の評価点への寄与が他の要素より大きい。
【0051】
表2は、S705で算出されたページデータに含まれる全ての同種のオブジェクト(文字列オブジェクト。複合オブジェクトを含む。)についての各属性の評価点を示すテーブルである。また、表2には、各オブジェクトから領域601までの距離も示されている。
【0053】
例えば、文字列オブジェクト301の文字色評価点について説明する。表2から、文字列オブジェクト301の距離は650[mm]である。また、表1から、文字列オブジェクト301の文字数は「6」であり、文字サイズは210[pts]である。本実施形態では、各属性値を、ページデータ内の全ての同種オブジェクトについての属性値のうち最大値のものとの相対比率を算出する。例えば、表2において、距離の最大値は、文字列オブジェクト301の650[mm]である。従って、文字列オブジェクト301の距離の相対比率を650/650=1と算出する。また、表1において、文字数の最大値は、文字列オブジェクト302の「12」である。従って、文字列オブジェクト301の文字数の相対比率を6/12=0.5と算出する。また、表1において、文字サイズの最大値は、文字列オブジェクト301の210[pts]である。従って、文字列オブジェクト301の文字サイズの相対比率を210/210=1と算出する。
【0054】
上記のように算出された各属性値の最大値に対する相対比率を式(1)に適用する。相対比率を用いるのは、異なる単位間での数値の扱いを可能とするためである。また、式(1)から分かるように、文字数及び文字サイズについては、相対比率が大きくなるほど、文字色の評価点は大きくなる。これは、文字数が多くなり、文字サイズが大きくなるほど、表示画像に与える影響が大きくなるということを示している。但し、距離の相対比率については、上記算出された値を1から減じた値(補数)を用いることとする。これは、距離が離れるほど、挿入されるオブジェクトに与える影響度は小さくなると考えるからである。つまり、文字列オブジェクト301の文字色評価点については、以下のように算出される。
【0055】
文字色評価点=(1−1)×0.2+0.5×0.3+1×0.5=0.65
式(2)及び(3)についても、式(1)と同様の方法により算出される。
【0056】
表2に示されるように、文字色については、文字列オブジェクト301が最も評価点が高い。また、文字サイズについては、文字列オブジェクト306が最も評価点が高い。また、文字種については、文字列オブジェクト301が最も評価点が高い。つまり、各属性についてのそれらのオブジェクトは、領域601においてポスターに与える影響度が高いということを表わし、各オブジェクトの属性値を、挿入されるオブジェクトの属性値として決定する。つまり、挿入される文字列オブジェクトについて、文字色及び文字種は文字列オブジェクト301と同じ白色(255,255,255)の丸ゴシック体Aとし、文字サイズは文字列オブジェクト306と同じ80ポイントとして決定する。そして、CPU101は、挿入されるオブジェクトの属性値がそれらの属性値に変更されたオブジェクトを領域601に配置する。その結果、挿入されたオブジェクトは、
図3のデザインテンプレートのポスターに対してより自然になじむ効果が得られる。
図8は、属性値が変更された文字列オブジェクトが領域601に配置された結果を示す図である。
図8に示すように、領域601に対して文字列オブジェクト「楽しいよ!」が挿入されている。
図8のように得られたページデータは、任意の方法により出力処理される。例えば、通信インタフェース109を介して外部のプリンタに出力するよう印刷処理されたり、ディスプレイ107に出力するよう表示処理される。
【0057】
以上のように、編集対象のページデータに既存のオブジェクトから属性値を選択的に取り出して、挿入されるオブジェクトに適用することにより、ページデータの既存のデザインを崩すことなくオブジェクトを挿入したデザインを得ることができる。
【0058】
以上においては、文字列オブジェクトを挿入する場合を説明したが、所望の画像オブジェクトを挿入する場合にも適用できる。その場合、挿入される画像オブジェクトの属性値としては、画像サイズ、画像色、画像を構成する線の太さ等がある。また、画像サイズとして、例えば、画像に対する外接矩形のサイズが用いられても良い。そして、編集対象のページデータに既存の各画像オブジェクト(画像オブジェクトを含む複合オブジェクトも対象となる)の各属性について評価値を算出する。その評価値の算出式は、式(1)〜(3)と同様に予め用意されたものである。なお、挿入される画像オブジェクトの配置領域の決定は、
図5及び
図6において説明した方法が用いられる。そして、各属性について最も評価値が高い画像オブジェクトの属性値を、挿入される画像オブジェクトの属性値として決定する。その結果、所望の画像オブジェクトを挿入する場合にも、ページデータの既存のデザインを崩すことなくオブジェクトを挿入したデザインを得ることができる。
【0059】
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又はコンピュータ読取可能な各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。