JP2021027555A - 画像処理装置、制御方法及びプログラム - Google Patents

画像処理装置、制御方法及びプログラム Download PDF

Info

Publication number
JP2021027555A
JP2021027555A JP2019146637A JP2019146637A JP2021027555A JP 2021027555 A JP2021027555 A JP 2021027555A JP 2019146637 A JP2019146637 A JP 2019146637A JP 2019146637 A JP2019146637 A JP 2019146637A JP 2021027555 A JP2021027555 A JP 2021027555A
Authority
JP
Japan
Prior art keywords
template
templates
image
evaluation
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2019146637A
Other languages
English (en)
Other versions
JP7541816B2 (ja
Inventor
山田 貴之
Takayuki Yamada
貴之 山田
伸紘 北畠
Nobuhiro Kitahata
伸紘 北畠
堀 信二郎
Shinjiro Hori
信二郎 堀
寛康 國枝
Hiroyasu Kunieda
寛康 國枝
水城 早川
Mizuki Hayakawa
水城 早川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019146637A priority Critical patent/JP7541816B2/ja
Priority to US16/937,429 priority patent/US11514631B2/en
Publication of JP2021027555A publication Critical patent/JP2021027555A/ja
Application granted granted Critical
Publication of JP7541816B2 publication Critical patent/JP7541816B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Processing Or Creating Images (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】審美性の高いテンプレートが用いられたレイアウト画像を出力するプログラムを提供する。【解決手段】プログラムは、画像処理装置のコンピュータに、1又は複数の画像データを特定する第1特定ステップと、複数のテンプレートを評価する評価ステップと、複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、特定した1又は複数の画像データを配置することで複数のレイアウト画像を生成する生成ステップと、複数のレイアウト画像のうち少なくとも1つのレイアウト画像を、複数のテンプレートの評価に少なくとも基づいて特定する第2特定ステップと、特定した少なくとも1つのレイアウト画像を出力する出力ステップと、を実行させる。【選択図】図4

Description

本発明は、画像処理装置、制御方法及びプログラムに関する。
画像データをテンプレートに配置することで、レイアウト画像を生成する技術が知られている。
特開2017−117406号
ところで従来、レイアウト画像の生成に利用されるテンプレートの評価が行われていなかったことにより、審美性の低いテンプレートが用いられたレイアウト画像が出力されてしまうことがあるという課題があった。
そこで本発明では、審美性の高いテンプレートが用いられたレイアウト画像を出力することを目的とする。
上記課題を解決するために、本発明のプログラムは、
画像処理装置のコンピュータに、
1又は複数の画像データを特定する第1特定ステップと、
複数のテンプレートを評価する評価ステップと、
前記複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、前記特定された前記1又は複数の画像データを配置することで複数のレイアウト画像を生成する生成ステップと、
前記複数のレイアウト画像のうち少なくとも1つのレイアウト画像を、前記複数のテンプレートの評価に少なくとも基づいて特定する第2特定ステップと、
前記特定された前記少なくとも1つのレイアウト画像を出力する出力ステップと、
を実行させることを特徴とする。
また本発明のプログラムは、画像処理装置のコンピュータに、
1又は複数の画像データを特定する第1特定ステップと、
複数のテンプレートを評価する評価ステップと、
前記複数のテンプレートの評価に基づいて、前記複数のテンプレートのうち1又は複数のテンプレートを特定するテンプレート特定ステップと、
前記複数のテンプレートの評価に基づいて特定された前記1又は複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、前記特定された前記1又は複数の画像データを配置することで1又は複数のレイアウト画像を生成する生成ステップと、
前記生成された前記1又は複数のレイアウト画像のうち少なくとも1つのレイアウト画像を出力する出力ステップと、
を実行させることを特徴とする。
本発明によれば、審美性の高いテンプレートが用いられたレイアウト画像を出力することを目的とする。
印刷システムを示す図である。 画像処理装置のハードウェアの構成を説明するブロック図である。 アルバム作成アプリが提供する入力画面の一例を示す図である。 アルバム作成アプリにより実行される自動レイアウト処理を示すフローチャートである。 アルバム作成アプリが提供する編集画面の一例を示す図である。 アルバム作成アプリにより実行されるテンプレート生成処理を示すフローチャートである。 アルバム作成アプリにより実行されるテンプレートL又はテンプレートRを生成する処理を示すフローチャートである。 アルバム作成アプリにより実行される、縦並びと横並びによるテンプレート生成処理を示すフローチャートである。 スロットの配置方法について説明するための図である。 生成される見開き用テンプレートの一例である。 アルバム作成アプリにより実行される、スロット調整処理を示すフローチャートである。 スロットの調整について説明するための図である。 テンプレートのタイプを説明するための図である。 テンプレートの得点化について説明するための図である。 テンプレートの得点化について説明するための図である。 画像データの配置方法を説明するための図である。 レイアウト画像の得点化について説明するための図である。 アルバム作成アプリにより実行される、編集時の自動レイアウト処理を示すフローチャートである。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
以下の実施形態では、画像処理装置上で、アルバム作成のためのアプリケーションプログラム(以下、「アルバム作成アプリ」ともいう)を動作させ、自動レイアウトを生成するまでの手順について説明する。以下に説明する画像とは、特に断りが無い限り、静止画、動画、動画中のフレーム画像、また、SNS(ソーシャル・ネットワーキング・サービス)サーバ上の静止画と動画と動画中のフレーム画像を含む。
(第1実施形態)
図1は、本実施形態の印刷システムを示す図である。この印刷システムには、画像処理装置100のほかに、画像形成装置200、ネットワーク300、外部サーバ400及び画像形成装置500が含まれるものとする。
画像処理装置100は、アルバム作成アプリによってアルバムデータを生成する装置である。本実施形態においてアルバムデータとは、アルバムを注文・制作するためのデータであり、複数のレイアウト情報によって構成されるデータである。レイアウト情報とは、アルバムに含まれる見開きに配置・印刷されるレイアウト画像を印刷するための情報である。本実施形態では、後述の自動レイアウト処理により、アルバムデータやレイアウト情報が、アルバム作成アプリによって自動で生成されうる。なお画像処理装置100は、例えば、PC(パーソナルコンピュータ)、スマートフォン、タブレット端末、カメラ、プリンタ等であり、本実施形態ではPCとする。
画像形成装置200は、画像処理装置100等から受け付ける印刷ジョブに基づいて、記録剤によって記録媒体上に画像を形成する画像形成処理(印刷処理)を実行する。なお、本実施形態では、画像処理装置100が、生成したレイアウト情報を外部サーバに送信(出力)する形態を説明するが、例えば、画像処理装置100が、生成したレイアウト情報を印刷ジョブとして画像形成装置200に送信する形態であっても良い。この場合、レイアウト情報に基づくアルバムは、画像形成装置200によって作成される。なお画像形成装置200が利用する印刷方式は特に限定されず、例えば、インクジェット方式や、電子写真方式、熱昇華方式等である。
ネットワーク300は、画像処理装置100及び外部サーバ400と接続しており、両者の間における情報の伝達を行うための通信網である。なお、ネットワーク300は、有線ネットワークであっても良いし、無線ネットワークであっても良い。
外部サーバ400は、ネットワーク300を介して画像処理装置100から後述のレイアウト情報を受け付ける。すなわち、外部サーバ400は、アルバムの受注・管理を司るサーバである。外部サーバ400は、画像処理装置100を操作するユーザによってアルバム購入・注文手続きが行われたら、受け付けたレイアウト情報に基づくアルバムを、画像形成装置500に画像形成処理によって作成させる。その後、画像形成装置500によって作成されたアルバムは、アルバム購入手続きを行ったユーザに届けられる。
図2は、本発明に係る画像処理装置100のハードウェアの構成を説明するブロック図である。図2において、画像処理装置100は、CPU101と、ROM102と、RAM103と、HDD104と、ディスプレイ105と、キーボード106と、マウス107と、データ通信部108と、を備えている。これらは、データバス109により相互に接続されている。そして、CPU101や、ROM102、RAM103等によって、画像処理装置100のコンピュータが形成される。
CPU(中央演算装置/プロセッサ)101は、システム制御部であり、画像処理装置100全体を制御する。また、CPU101は、本実施形態で説明する画像処理方法をプログラムに従って実行する。なお、図中のCPUは1つとしたが、これに限定されず、複数備えられていてもよい。
ROM102には、CPU101により実行されるプログラムやOS(オペレーティングシステム)が記憶されている。RAM103は、CPU101によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。HDD(ハードディスク)104は、画像ファイルや画像解析などの処理結果を保持するデータベースなどを記憶するための記憶媒体である。本実施形態では、RAM103は、後述するアルバム作成アプリを記憶する。
ディスプレイ105(表示部)は、本実施形態のUI(ユーザインターフェイス)や画像のレイアウト結果をユーザに提示する装置である。ディスプレイ105は、タッチセンサー機能を備えていても良い。キーボード106は、入力装置の1つであり、例えば、ディスプレイ105に表示されたUI上に所定の情報を入力するのに用いられる。所定の情報とは、例えば、作成したいアルバムの見開き数やページ数等の情報である。マウス107は、入力装置の1つであり、例えば、ディスプレイ105に表示されたUI上のボタンをクリックするのに用いられる。なお、例えばユーザが、ディスプレイ105に表示されている、アルバム作成アプリに対応するアイコンを、マウス107の操作によりダブルクリックすることで、アルバム作成アプリが起動する。
データ通信部108(通信部)は、プリンタやサーバなどの外部装置と通信するための装置である。例えば、アルバム作成アプリによって作成されたデータは、データ通信部108を介して、画像処理装置100に接続された不図示のプリンタやサーバに送信される。また、データ通信部108は、不図示のサーバやSNS(ソーシャルネットワーキングサービス)サーバ上の静止画データを受信する。なお、本実施形態では、データ通信部108は、SNSサーバから静止画データを受信するが、動画データも受信しても良い。
データバス109は、上述した各部(102〜108)とCPU101とを接続する。
<アルバムの自動レイアウト>
本実施形態におけるアルバム作成アプリが、画像処理装置100にインストールされると、画像処理装置100上で動作するOSのトップ画面(デスクトップ)上にこのアプリの起動アイコンが表示される。ユーザがディスプレイ105に表示されているデスクトップ上の起動アイコンをマウス107でダブルクリックすると、HDD104に保存されているアルバム作成アプリがRAM103にロードされる。そして、RAM103にロードされたプログラムがCPU101によって実行されて、アルバム作成アプリが起動する。
本実施形態では、アルバム作成アプリは、自動でテンプレートを特定して当該テンプレートに画像を配置することでレイアウト画像を生成する処理である、自動レイアウト処理を実行する。なおレイアウト画像が生成されることで、当該レイアウト画像を出力(表示・印刷)するためのレイアウト情報も生成される。そのため、自動レイアウト処理とは、レイアウト情報を自動生成する処理でもある。しかしながら従来、自動で特定されるテンプレートは、予めアルバム作成アプリ内に保持されているものであり、スロットの形状や大きさ、位置が予め定められているものであったため、配置される画像データに適したものでないことがあるという課題があった。具体的には例えば、配置される画像データのアスペクト比と、テンプレート内のスロットのアスペクト比が大きくことなっており、配置後の画像データの審美性が低下することがあるという課題があった。そこで、本実施形態では、配置される画像データに適したテンプレートを生成する処理を実行する。
また従来、自動レイアウトにあたり、複数のレイアウト情報を生成及び評価し、当該評価に基づいて、実際に使用するレイアウト情報を決定していた。しかしながら従来、レイアウト情報の評価において、レイアウト情報に用いられているテンプレートの評価については考慮されていなかった。そこで本実施形態では、レイアウト情報に用いられているテンプレートの評価を実行する。そして、実際に使用するレイアウト情報の選択にあたり、レイアウト情報に用いられているテンプレートの評価を参照する。
<アルバム作成アプリが表示する画面>
図3は、起動したアルバム作成アプリが提供する入力画面301の一例を示す図である。入力画面301は、ディスプレイ105に表示される。ユーザが入力画面301を介して、後述するアルバムの作成条件を設定することで、アルバム作成アプリは、ユーザから指定される設定内容を取得する。
入力画面301上のパスボックス302は、アルバム作成の対象となる画像データ群のHDD104中の保存場所(パス)を示す。フォルダ選択ボタン303は、ユーザによるマウス107の操作によりクリックされることより、アルバム作成の対象とする画像データ群を含むフォルダをツリー構成でユーザが選択可能に表示する。そして、ユーザにより選択された画像データ群を含むフォルダパスがパスボックス302に表示される。なおここでは、アルバム作成の対象となる画像データの指定を、画像データを格納するフォルダを指定することで行う形態を説明したが、この形態に限定されない。フォルダ内の画像データのうち、いずれの画像データをアルバム作成の対象とするかを、ユーザが選択可能な構成としても良い。
見開き数ボックス304は、ユーザからのアルバムの見開き数の設定を受け付ける。ユーザは、キーボード106を介して見開き数ボックス304に直接数字を入力するか、マウス107を用いてリストから見開き数ボックスに数字を入力する。なお、見開きとは、アルバムにおいてそれぞれ対向する2ページ分の領域である。ここでは、アルバムに含まれる見開きのうち、テンプレートに画像が配置された画像であるレイアウト画像が印刷される見開きの数(すなわち、本身に含まれる見開きの数)が入力される。
商材指定ボックス305は、アルバムデータによって作成されるアルバムに用いられる商材の設定を受け付ける。商材の設定とは具体的には、アルバムのサイズ、アルバムの表紙の用紙種類、アルバムの表紙以外のページの用紙種類等の設定である。また例えば、アルバムデータによって作成されるアルバムの綴じ方の設定を実行可能であっても良い。
作成方法指定ボックス306は、アルバムデータの作成方法の設定を受け付ける。本実施形態では、アルバムデータの作成方法として、自動作成と手動作成があるものとする。それぞれの詳細については以下に説明する。
OKボタン307は、入力画面301において入力された情報に基づいてアルバムデータの生成を開始するためのボタンである。
リセットボタン308は、入力画面301上の各設定情報をリセットするためのボタンである。
なお、入力画面301上では、上述した設定以外の設定を実行可能であっても良い。例えば、動画に関する設定や、画像・動画データの取得先の設定を実行可能であっても良い。また例えば、アルバムの主人公の設定を実行可能であっても良い。主人公が設定された場合、主人公として設定された人物が移っている画像がより多くアルバムに含まれるように制御される。また例えば、アルバムのモードの設定を実行可能であっても良い。アルバムのモードとは、所定のオブジェクトを含む画像を優先してテンプレートにレイアウトするためのモードであり、各モードのアルバムには、各モードに応じたオブジェクトがより多く配置されることになる。このとき設定されるモードとは例えば、「人物」、「動物」、「料理」等のモードである。また図3に示す画面には、例えば、入力されている設定で生成されるレイアウト情報によって表わされるアルバムの完成予想図等を表わす領域が含まれていても良い。
本実施形態では、アルバムデータの作成方法として自動作成が選択された場合、入力画面301上で入力された条件に従ってアルバム作成アプリが自動でアルバムデータを作成した後、自動で作成されたアルバムデータの編集画面を表示する。一方、アルバムデータの作成方法として手動作成が選択された場合、画像データが配置されていないアルバムデータの編集画面を表示し、編集画面上でユーザの選択を受け付けてアルバムデータに画像データを配置する。
図5は、アルバム作成アプリが提供する編集画面501の一例を示す図である。編集画面501は、見開き一覧502、見開き表示部503、画像一覧504、注文ボタン505、候補表示領域506を有する。
見開き一覧502には、選択の候補となる見開きの一覧が表示されている。ユーザは、見開き一覧502に含まれる見開きのうちいずれかをマウス107でクリックすることで、見開きを選択することができる。
見開き表示部503には、見開き一覧502から選択された見開きが表示される。なお、自動レイアウト処理が完了することで、選択された見開きに対応するレイアウト画像が生成されている場合は、見開き表示部503には、当該レイアウト画像が表示される。
なお、見開き一覧502や見開き表示部503は、見開きを表示する形態に限定されず、例えば、1ページ分の領域を表示する形態であっても良い。また、見開き一覧502や見開き表示部503は、見開きを表わす状態と、ページを表わす状態とを切り替えても良い。この場合例えば、見開き一覧502や見開き表示部503は、表紙や裏表紙については、1ページを表わす状態で表示し、本身については、1つの見開きを表わす状態で表示する。
画像一覧504には、パスボックス302にて指定されたパスに対応する画像データ(ユーザによって選択された画像データ)のサムネイル画像の一覧が表示される。画像一覧504から選択されたサムネイル画像に対応する画像データが、見開き表示部503に表示されている見開きに配置される。すなわちユーザは、画像一覧504に含まれるサムネイル画像のうちいずれかをマウス107でクリックすることで、見開き表示部503に表示されている見開きに配置される画像データを指定することができる。なおこのときユーザは複数のサムネイル画像を選択しても良い。また、画像一覧504には、パスボックス302によってユーザに選択された画像データ以外の画像データのサムネイル画像が追加されても良い。例えば、画像一覧504に対して、いずれかのフォルダから画像データがドラック&ドロップされることで、画像一覧504に新たに画像データが追加される。なお画像一覧504に画像データが追加された場合、追加された画像データの解析が後述のS403に説明するようにして行われる。
注文ボタン505は、生成したアルバムデータに基づくアルバムを注文するためのボタンである。注文ボタン505が押下された場合、所定の注文手続きをユーザが実行した後、外部サーバ400にアルバムデータが送信される。
候補表示領域506は、見開き表示部503に表示されている見開きに配置されるレイアウト画像の生成に利用されるテンプレートの候補を表示する領域である。候補表示領域506に対する操作の詳細については後述する。
なお図5において、見開き一覧502や見開き表示部503にはレイアウト画像が表示されていないが、自動レイアウト処理等によって見開きにレイアウト画像が配置された場合、見開き一覧502や見開き表示部503には、レイアウト画像が表示される。
<自動レイアウト処理>
以下ではまず、アルバムデータの作成方法として自動生成が選択されることで実行される自動レイアウト処理について説明する。
図4は、本実施形態に係るアルバム作成アプリにより実行される自動レイアウト処理を示すフローチャートである。図4に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。また、図4に示すフローチャートは、アルバムデータの作成方法として自動生成が選択されている状態で、OKボタン307が操作された場合に開始される。
まず、S401では、CPU101は、入力画面301に対して入力されたアルバム作成条件に関する各種情報を取得する。
S402では、CPU101は、S401で取得された情報を参照し、パスボックス302にて指定されたパスに対応するフォルダに含まれる画像データを取得する。
S403では、CPU101は、S402で取得された画像データを解析する。具体的には、CPU101は、特徴量の抽出処理、オブジェクト検出処理、顔検出処理を行う。また、画像データに付随するメタデータ(Exif情報)から画像のサイズおよび撮影日時を取得する。
特徴量の抽出処理について説明する。特徴量としては、例えば、画像データにより表される画像のピントが挙げられる。ピントの特徴量を取得するためのエッジの検出方法としては、例えば、一般的なソーベルフィルタが用いられる。ソーベルフィルタでエッジ検出して、エッジの始点と終点の輝度差を始点と終点の距離で割ればエッジの傾き、すなわち輝度勾配が算出可能である。画像中のエッジの平均傾きを算出した結果から、平均傾きが大きい画像は、平均傾きが小さい画像よりもピントが合っているとみなすことができる。そして、傾きに対して異なる値の複数の閾値を設定すれば、どの閾値以上かを判定することにより、ピント量の評価値を出力可能である。本実施形態では、異なる2つの閾値を予め設定しておき、○△×の3段階により、ピント量を判定する。閾値については、アルバムに採用したいピントの傾きが「○」、許容できるピントの傾きが「△」、許容できない傾きが「×」となるようにして、実験等により予め設定される。なお、閾値の設定は、例えば、アルバム作成アプリの作成元等により提供されても良いし、ユーザインタフェース上で設定可能としても良い。また特徴量として本実施形態では、画像データの撮影日時や、画像データにより表される画像のサイズ、アスペクト比等の情報が抽出される。
顔検出処理とオブジェクト検出処理について説明する。CPU101は、顔検出処理により、S402で取得された画像データが表す画像から人物の顔を検出する。顔検出の処理には、公知の方法を用いることができ、例えば、複数用意した弱識別器から強識別器を作成するAdaboostが用いられる。本実施形態では、Adaboostにより作成した強識別器により人物(オブジェクト)の顔画像が検出される。また、CPU101は、顔画像を抽出すると共に、検出した顔画像の位置の左上座標値と右下座標値を取得する。この2種類の座標を持つことにより、CPU101は、顔画像の位置と顔画像のサイズを取得することが可能となる。また、CPU101は、オブジェクト検出処理により、Adaboostにより作成した強識別器により、顔画像以外の所定のオブジェクトを検出する。なお本実施形態では、オブジェクト検出処理において検出されるオブジェクトは、犬や猫等の動物であるものとする。犬や猫等の動物に限らず、花、料理、建物、置物、乗り物等のオブジェクトが検出されても良い。また、Adaboostではなく、ディープニュートラルネットワーク等によってオブジェクトが検索されても良い。
なおここで取得された各画像データの画像解析情報は、画像を識別するID毎に区別してHDD104に記憶される。
S404では、CPU101は、S402で取得された全ての画像データの解析が終了したか否かを判定する。CPU101は、YES判定の場合、S405に進み、NO判定の場合、S402に戻り、まだ解析していない画像データを取得する。
S405では、CPU101は、画像得点化を実行する。S405における画像得点化とは、画像データ毎に、S403での解析結果に基づいて評価した得点を付与する(スコアリング)処理である。本実施形態において画像得点化は、S403での解析結果に基づいて、複数の観点において行われる。すなわち、本実施形態において画像得点化により、各画像データに対して、複数の点数が付与される。具体的には、本実施形態では、特徴量(特に画質)に基づく得点、顔検出結果に基づく得点の2つの観点における得点が、各画像データに対して付与される。
まず、画質に基づく画像得点化について説明する。本実施形態では例えば、画質に基づく画像得点化において、ピントや画素数等の特徴量が用いられる。具体的には例えば、S403で取得されたピントの特徴量が「○」である画像データに対して付加される得点が、ピントの特徴量が「△」や「×」である画像データに対して付加される得点より高くなるように、画質に基づく得点が付加される。また例えば、画素数が高い画像を表す画像データに対して付加される得点が、画素数が低い画像を表す画像データに対して付加される得点より高くなるように、画質に基づく得点が画像データに対して付加される。なお、画質に基づく画像得点化に用いられる特徴量は、撮影時に使用されたレンズ情報などの撮影情報であっても良いし、アプリケーションに入力される画像の圧縮フォーマットであっても良い。また、画像データに基づいて表示される画像のサイズや解像度、コントラスト等であっても良い。
次に、顔検出結果に基づく画像得点化について説明する。この画像得点化は、S403で人物の顔が検出されたか否かの情報や、S403で検出された顔のサイズの情報等に基づいて行われる。例えば、人物の顔が含まれている画像データに対して付加される得点が、人物の顔が含まれていない画像データに対して付加される得点より高くなるように、得点が画像データに対して付加される。また例えば、人物の顔が占める面積(サイズ)が大きい画像データに対して付加される得点が、人物の顔が占める面積が小さい画像データに対して付加される得点より高くなるように、得点が画像データに対して付加される。また例えば、笑顔の顔が含まれる画像データに対して付加される得点が、笑顔でない顔が含まれる画像データに対して付加される得点より高くなるように、得点が画像データに対して付加される。
次に、オブジェクト検出結果に基づく画像得点化について説明する。この画像得点化は、S403で動物が検出されたか否かの情報や、S403で検出された動物のサイズの情報等に基づいて行われる。例えば、動物が含まれている画像データに対して付加される得点が、動物が含まれていない画像データに対して付加される得点より高くなるように、得点が画像データに対して付加される。また例えば、動物が占める面積(サイズ)が大きい画像データに対して付加される得点が、動物が占める面積が小さい画像データに対して付加される得点より高くなるように、得点が画像データに対して付加される。
S406では、CPU101は、S402で取得された全ての画像データに対してS405の画像得点化が終了したか否かを判定する。CPU101は、YES判定の場合、S407に進む。またCPU101は、NO判定の場合、S405に戻り、まだ画像得点化が行われていない画像データに対して画像得点化が実行される。
S407では、CPU101は、S402で取得された画像データを、グループ分けする。なおこのとき生成されるグループの数が、見開き数ボックス304に入力された見開き数と同じ数となるように、グループ分けが行われる。このとき具体的にはCPU101は、まず、S402で取得された画像データを、S403の解析により得られた特徴量(撮影日時)に基づいて、撮影日時が早いものから順に並べる。その後CPU101は、各画像データ間の撮影時間の時間差を取得する。そして、時間差が大きい画像データ間から順に画像データの並びを区切ることで、画像データをグループ分けする。その後CPU101は、このようにしてグループ化された画像データを、作成対象の各見開きに時系列順に割り当てられる。すなわちCPU101は、より撮影日時が早い画像データを含むグループを、より若いページ番号の見開きに割り当てる。これにより、各見開きにいずれの画像データが配置されるかが特定されることとなる。
S408では、CPU101は、まだ自動レイアウトが行われていない見開きのうち自動レイアウトの対象となる見開きを特定する。本実施形態では、まだ自動レイアウトが行われていない見開きのうち、より若いページ番号の見開きが特定されるものとする。なおこのときCPU101は、特定された見開きに配置される画像データや、それらの画像データの解析結果等を取得する。
S409では、CPU101は、S408で特定された見開きの自動レイアウトに用いられるテンプレートを生成する。本処理の詳細を以下に説明する。
図6は、本実施形態に係るアルバム作成アプリにより実行されるテンプレート生成処理を示すフローチャートである。図6に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。また、図6に示すフローチャートは、S409に対応する処理を示す。
S601では、CPU101は、S403の解析により得られた特徴量(撮影日時)に基づいて、S408で取得された画像データを撮影日時が早いものから順に並べる。
S602では、CPU101は、S601で並べられた画像データのアスペクト比を特定して、アスペクト比配列を生成する。アスペクト比配列とは、特定されたアスペクト比をS601における画像データの並び順と同様にして並べることで得られる値である。本実施形態においてアスペクト比とは、「画像データの表す画像の高さ/画像データの表す画像の幅」であるものとする。なお、それぞれの画像データのアスペクト比がばらついている場合、後述のテンプレート生成処理において、見栄えの良いテンプレートが生成されないことがある。そのためここでCPU101は、各画像データのアスペクト比のばらつきを抑制する処理を行う。具体的にはCPU101は、「画像データの表す画像の短辺の長さ/画像データの表す画像の長辺の長さ」の値が(2/3+3/4)/2以上1未満の画像データの数N_lを算出する。またCPU101は、「画像データの表す画像の短辺の長さ/画像データの表す画像の長辺の長さ」の値が(2/3+3/4)/2未満の画像データの数N_sを算出する。そしてCPU101は、N_s<=N_lの場合、アスペクト比が1未満である画像データのアスペクト比を3/4に置換し、アスペクト比が1より大きい画像データのアスペクト比を4/3に置換する。一方CPU101は、N_s<=N_lでない場合、アスペクト比が1未満である画像データのアスペクト比を2/3に置換し、アスペクト比が1より大きい画像データのアスペクト比を3/2に置換する。なおアスペクト比が1である画像データのアスペクト比はそのまま維持する。これにより例えば、S408で特定された見開きに割り当てられた画像データが5個である場合に、{1、1、1、4/3、3/4}等のアスペクト比配列が取得される。
S603では、CPU101は、まだ特定していないテンプレートタイプを特定する。本実施形態では、図10(a)〜(f)に示すようなタイプのテンプレートが、テンプレート生成処理により生成される。図10において各テンプレートの中心線は、見開きの中心線に相当する線であり、アルバムの綴じ部に相当する線である。なお図10には、既にスロットが配置されている形態を示しているが、破線によって示される配置領域にいずれのスロットが配置されるかは、後段の処理により決定される。テンプレート生成処理により生成されるテンプレートには例えば、右ページと左ページに跨ぐようなスロットが配置されうるタイプのテンプレートや、右ページと左ページに跨ぐようなスロットが配置されないタイプのテンプレートが含まれる。また例えば、左ページにはスロットが配置されず、右ページにのみスロットが配置されるタイプのテンプレートが含まれる。また例えば、余白量が多いタイプのテンプレートや、余白量が少ないタイプのテンプレートが含まれる。また例えば、使用される画像データの特徴に基づいて形状が定められるスロットだけでなく、予めサイズや位置、形状が定められている固定スロットを有するタイプのテンプレートが含まれる。本実施形態では、図10(a)〜(f)に示すテンプレートタイプのうち、まだ特定していないテンプレートタイプを特定する。なお図10に示したテンプレートタイプは一例であり、その他のタイプが特定されても良い。また、アルバム作成条件に基づいて、特定対象のテンプレートタイプを変更して良い。例えば、アルバムの綴じ方が中綴じや合紙綴じである場合、見開きの右ページと左ページに跨ぐ画像があったとしても、当該画像の視認性は低下しない。そのため、アルバムの綴じ方が中綴じや合紙綴じである場合、見開きの右ページと左ページに跨ぐようなスロットがあるタイプのテンプレートが用いられても良い。一方、アルバムの綴じ方が無線綴じや平綴じである場合、見開きの右ページと左ページに跨ぐ画像の視認性は低下するため、見開きの右ページと左ページに跨ぐようなスロットがあるタイプのテンプレートが用いられることは好ましくない。そのため、例えばCPU101は、アルバムの綴じ方が無線綴じや平綴じである場合、見開きの右ページと左ページに跨ぐようなスロットを含みうるテンプレートタイプ(例えば図10(b)、(d)、(e))が、S603で特定されないように制御する。なおアルバムの綴じ方が中綴じや合紙綴じである場合、全てのテンプレートタイプが、特定対象となる。また、見開きのページ番号に基づいて、特定対象のテンプレートタイプを変更して良い。例えば、アルバムの特定のページには、背景画像が配置されるものとする。そして、背景画像が配置されるページに配置されるテンプレートのタイプは、特定のタイプ(例えば、図10(a)に示すようなタイプ)となるよう制御されるとする。その場合ここでは、特定のタイプのみが特定対象となるように制御されても良い。
S604では、CPU101は、S602で取得されたアスペクト比配列を、S603で特定されたテンプレートタイプに基づいて分割し、アスペクト比配列Lと、アスペクト比配列Rとを生成する。なお本実施形態ではテンプレート生成処理において、2つのテンプレート(テンプレートLとテンプレートR)を自動生成し、それらを組み合わせて生成されるテンプレートと、1つのテンプレートのみによって生成されるテンプレートとが生成されうる。前者のテンプレートは例えば、図10(a)に示すタイプのテンプレートであり、後者のテンプレートは例えば、図10(b)〜(f)に示すタイプのテンプレートである。そして、図10(a)に示すタイプのテンプレートによりレイアウト画像を生成する場合は、S408で特定された見開きに割り当てられた画像データを2組に分割し、一方の組をテンプレートLに配置しもう一方の組をテンプレートRに配置することになる。そこでCPU101は、S603にて図10(a)に示すタイプが特定されていた場合、アスペクト比配列を2等分することで分割結果を取得する。すなわち例えば、S602で取得されたアスペクト比配列が、{1、1、4/3、3/4}である場合、分割結果として、{1、1}であるアスペクト比配列Lと、{4/3、3/4}であるアスペクト比配列Rとを得る。なおこのとき、複数の分割結果が取得されても良い。具体的には例えば、アスペクト比配列を2等分することで得られる分割結果だけでなく、アスペクト比配列を2等分した後、一方のアスペクト比配列から1乃至3つのアスペクト比をもう一方のアスペクト比配列に移すことで得られる分割結果があっても良い。また図10(b)〜(f)に示すタイプのテンプレートによりレイアウト画像を生成する場合は、S408で特定された見開きに割り当てられた画像データを、1つのテンプレートに全て配置する。そのためCPU101は、S603にて図10(b)〜(f)に示すタイプが特定されていた場合、アスペクト比配列Lに全てのアスペクト比を分配し、アスペクト比配列Rにはアスペクト比を分配しないようにして、分割結果を取得する。すなわち例えば、S602で取得されたアスペクト比配列が、{1、1、4/3、3/4}である場合、分割結果として、{1、1、4/3、3/4}であるアスペクト比配列Lを取得し、{}であるアスペクト比配列Rを取得する。なお主に、アスペクト比配列Lは、S408で特定された見開きのうち左ページ用のアスペクト比配列であるが、アスペクト比配列Lに基づき生成されるテンプレートが、右ページや、左ページと右ページ両方を含む見開きに配置されることもある。またアスペクト比配列Rは、S408で特定された見開きのうち右ページ用のアスペクト比配列である。
S605では、CPU101は、S604で取得された分割結果のうち、まだテンプレート生成に利用されていないいずれかの分割結果を特定する。
S606では、S605で特定された分割結果に基づき、テンプレートLを生成する。テンプレートLとは主に、S408で特定された見開きのうち左ページ用のテンプレートに相当するがこの限りでなく、右ページ用のテンプレートや見開き用のテンプレートに相当することもある。
S607では、CPU101は、S605で特定された分割結果に基づき、テンプレートRを生成する。テンプレートRとは、S408で特定された見開きのうち、右ページ用のテンプレートに相当する。S604とS605の処理の詳細を以下に説明する。
図7は、本実施形態に係るアルバム作成アプリにより実行されるテンプレートL又はテンプレートRを生成する処理を示すフローチャートである。図7に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。また、図7に示すフローチャートは、S606やS607に対応する処理を示す。
S701では、CPU101は、S605で特定された分割結果のうち一方のアスペクト比配列を取得する。本処理が、S606における処理であれば、アスペクト比配列Lが取得され、本処理が、S607における処理であれば、アスペクト比配列Rが取得される。
S702では、CPU101は、S701で取得されたアスペクト比配列に含まれる値の全ての組み合わせを算出し、それぞれの組み合わせに対応する二次元配列を得る。テンプレートLに配置される画像データの数がNであるとすると、2^(N−1)通りの二次元配列が生成されることとなる。より具体的には例えば、アスペクト比配列Lが{1、1、1}である場合、{{1、1、1}}、{{1}、{1、1}}、{{1、1}、{1}}、{{1}、{1}、{1}}の4パターンの二次元配列が取得されることとなる。二次元配列に含まれるそれぞれの一次元配列は、テンプレートにおけるそれぞれの列に配置される画像データのアスペクト比に相当する。なお本実施形態では、このとき取得された二次元配列の数だけ、S703〜S706の処理が繰り返される。画像データ数Nの数が多いことにより、膨大な数の二次元配列が取得された場合、S703〜S706の処理の繰り返しに多大な時間がかかってしまう。そこで例えば、このとき取得された二次元配列のうち一部を削除し、S703〜S706の処理の繰り返しにかかる時間を削減しても良い。具体的には例えば、少なくとも1つの一次元配列に含まれるアスペクト比の数が│N/10│以下である二次元配列を削除しても良い。
S703では、CPU101は、S702で取得された複数の二次元配列のうち、テンプレート生成にまだ用いていない二次元配列を特定する。
S704では、CPU101は、S703で取得された二次元配列に基づき、スロットを縦並びで配置することで、テンプレートLを生成する。本処理の詳細を以下に説明する。
図8(a)は、本実施形態に係るアルバム作成アプリにより実行される、縦並びによるテンプレート生成処理を示すフローチャートである。図8(a)に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。また、図8(a)に示すフローチャートは、S704に対応する処理を示す。
S801では、CPU101は、S703で取得された二次元配列のうちn番目の一次元配列に含まれる各アスペクト比の各スロットを、上から順に配置することでスロット領域を生成する。なおnの初期値は1であるため、ここでは1番目の一次元配列に含まれる各アスペクト比の各スロットがスロット領域に配置されることとなる。なお、スロット間には、所定の幅dの余白が設けられる。またこのときCPU101は、追加された各スロットの幅が同じになるように、アスペクト比を変えずに、スロットを拡縮する。具体的にはCPU101は、追加された各スロットの幅が予め定められた所定の幅になるようにスロットを拡縮する。例えばS703で取得された二次元配列が、{{4/3、3/4}、{4/3、3/4、3/4}}であった場合、1番目の一次元配列は、{4/3、3/4}であるため、図9(a)の(1)に示すようにして、スロット領域にスロットが配置されることとなる。
S802では、CPU101は、S703で取得された二次元配列に含まれる全ての一次元配列に基づき、スロットの配置が行われたか否かを判定する。CPU101は、YES判定の場合、S803に進み、NO判定の場合、S805に進む。
S803では、CPU101は、nの値をインクリメントした後、S703で取得された二次元配列のうちn番目の一次元配列に含まれる各アスペクト比の各スロットを、S801で配置したスロットの右隣の列に、上から順に配置する。S703で取得された二次元配列が、{{4/3、3/4}、{4/3、3/4、3/4}}であった場合、2番目の一次元配列は、{4/3、3/4、3/4}であるため、図9(a)の(2)に示すようにして、スロット領域にスロットが配置されることとなる。
S804では、CPU101は、S803で追加された列の高さが、S803で追加された列の左隣りの列の高さと同じになるように、S803で追加された列に含まれるスロットの大きさを、アスペクト比を変えずに拡縮する。S703で取得された二次元配列が、{{4/3、3/4}、{4/3、3/4、3/4}}であった場合、このとき、図9(a)の(3)に示すようにして、スロット領域にスロットが配置されることとなる。その後CPU101は、再びS802に進む。
S805では、CPU101は、S801〜S804の処理により生成されたスロット領域を、S603で特定されたタイプのテンプレートにおける配置領域に合わせて拡縮する。これにより、図9(a)の(4)に示すようにして、スロット領域が拡縮されることとなる。そしてCPU101は、拡縮後のスロット領域を、配置領域に配置する。なお本処理が、テンプレートLの生成処理における処理である場合は、スロット領域はテンプレートLの配置領域に合わせて拡縮され、テンプレートLの配置領域に配置される。一方本処理が、テンプレートRの生成処理における処理である場合は、スロット領域はテンプレートRの配置領域に合わせて拡縮され、テンプレートRの配置領域に配置される。こうして、縦並び配列により、テンプレートLやテンプレートRが生成される。
またCPU101は、スロット領域を配置領域に配置して、テンプレートLやテンプレートRを生成した後、テンプレートLやテンプレートRに含まれるスロットの大きさを調整しても良い。以下に理由を説明する。
例えば、実物のアルバムの作成過程には、レイアウト画像を見開きのサイズより大きい紙に印刷し、印刷後に紙を見開きのサイズに切断する工程が含まれる場合がある。なおこのとき、紙の切断位置には、いくらかの誤差が発生する可能性がある。そのため例えば、スロットがテンプレートの端に沿うように配置されているレイアウト画像が印刷されている見開きの切断において、切断位置が見開きに対して外側にずれた場合、本来無いはずの余白が、スロット内の画像と見開きの端との間に発生してしまう。
また例えば、スロットがテンプレートの端の近辺に位置しており、スロットの端とテンプレートの端の間に幅の狭い余白が発生していると、印刷時にも当然、見開きの端部分に幅の狭い余白が発生する。しかしながら、幅の狭い余白が生じているレイアウト画像は、審美性の点から好ましくない。
このように、スロットの位置によっては、適切でないアルバムが得られてしまう可能性がある。そのため本実施形態では、CPU101は、スロットの端がテンプレートの端に沿っている場合やスロットの端がテンプレートの端の近くに位置している場合は、スロットの大きさを拡大する。
具体的にはCPU101は、スロット領域を配置領域に配置して、テンプレートL(又はテンプレートR)を生成した後、図11に示す処理を実行する。図11は、本実施形態に係るアルバム作成アプリにより実行される、スロット調整処理を示すフローチャートである。図11に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。また、図11に示すフローチャートは、スロット領域が配置領域に配置された後に開始される。以下では、テンプレートLが生成された場合の処理について説明するが、テンプレートRが生成された場合は、テンプレートLの代わりにテンプレートRに対して処理が行われるものとする。
S1101では、CPU101は、生成したテンプレートLに含まれるスロットのうち、後段の判定処理の対象となっていないスロットを特定する。そしてさらにCPU101は、特定したスロットの、テンプレートLにおける位置を特定する。
S1102では、CPU101は、S1101で特定されたスロットのサイズを調整するか否かを判定する。具体的には、テンプレートLの所定の辺から所定の距離以内に、S1101で特定されたスロットの辺であり所定の辺と略並行の辺である特定の辺が位置するか否かを判定する。なお本実施形態では、特定の辺がテンプレートLの内側近傍にある場合だけでなく、特定の辺がテンプレートLの外側近傍にある場合も、スロットのサイズを調整する。CPU101は、YES判定の場合、S1103に進み、NO判定の場合、S1104に進む。
S1103では、CPU101は、S1101で特定されたスロットを調整する。具体的には、スロットの特定の辺の位置を、テンプレート外の領域まで移動させることで、スロットを拡大する。具体的には例えば、生成されたテンプレートLが図12(a)に示すようなテンプレート1201であったとする。その場合、テンプレートLの端に近い位置に配置されているスロット1202やスロット1204が拡大され、図12(b)に示すようなテンプレートが生成される。なお当然、テンプレートLの端に近い位置に配置されていないスロット1203は拡大されない。領域1205は、アルバム作成時に生じる切断位置の誤差の大きさを考慮して設定された領域であり、スロットが調整される場合、スロットの特定の辺は、領域1205の位置まで移動されることになる。これにより、アルバム作成時に切断位置の誤差が生じたとしても、余白が生じてしまうことを抑制できる。またテンプレート外の領域であっても、スロットが配置されている領域には、印刷が実行されるものとする。なおここではCPU101は、各スロットをひとつの方向にのみ伸ばしているが、スロットがテンプレートの複数の辺に対して近くに位置している場合は、複数の方向にスロットを伸しても良い。
その後CPU101は処理を終了し、S705に進む。
S705では、CPU101は、S703で取得された二次元配列に基づき、スロットを横並びで配置することで、テンプレートを生成する。本処理の詳細を以下に説明する。
図8(b)は、本実施形態に係るアルバム作成アプリにより実行される、横並びによるテンプレート生成処理を示すフローチャートである。図8(b)に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。また、図8(b)に示すフローチャートは、S705に対応する処理を示す。
S811では、CPU101は、S703で取得された二次元配列のうちn番目の一次元配列に含まれる各アスペクト比の各スロットを、左から順に配置することでスロット領域を生成する。なおnの初期値は1であるため、ここでは1番目の一次元配列に含まれる各アスペクト比の各スロットがスロット領域に配置されることとなる。なお、スロット間には、所定の幅dの余白が設けられる。またこのときCPU101は、追加された各スロットの幅が同じになるように、アスペクト比を変えずに、スロットを拡縮する。具体的にはCPU101は、追加された各スロットの幅が予め定められた所定の幅になるようにスロットを拡縮する。S703で取得された二次元配列が、{{4/3、3/4}、{4/3、3/4、3/4}}であった場合、1番目の一次元配列は、{4/3、3/4}であるため、図9(b)の(1)に示すようにして、スロット領域にスロットが配置されることとなる。
S812では、CPU101は、S703で取得された二次元配列に含まれる全ての一次元配列に基づき、スロットの配置が行われたか否かを判定する。CPU101は、YES判定の場合、S813に進み、NO判定の場合、S815に進む。
S813では、CPU101は、nの値をインクリメントした後、S703で取得された二次元配列に含まれるアスペクト比のうちn番目の一次元配列に含まれる各アスペクト比の各スロットを、S811で配置したスロットの下の行に、左から順に配置する。S703で取得された二次元配列が、{{4/3、3/4}、{4/3、3/4、3/4}}であった場合、2番目の一次元配列は、{4/3、3/4、3/4}であるため、図9(b)の(2)に示すようにして、スロット領域にスロットが配置されることとなる。
S814では、CPU101は、S813で追加された行の幅が、S813で追加された行の上の行の幅と同じになるように、S813で追加された行に含まれるスロットの大きさを、アスペクト比を変えずに拡縮する。S703で取得された二次元配列が、{{4/3、3/4}、{4/3、3/4、3/4}}であった場合、このとき、図9(b)の(3)に示すようにして、スロット領域にスロットが配置されることとなる。その後CPU101は、再びS812に進む。
S815では、S811〜S814の処理により生成されたスロット領域を、S603で特定されたタイプのテンプレートの配置領域に合わせて拡縮する。これにより、図9(b)の(4)に示すようにして、スロット領域が拡縮されることとなる。そしてCPU101は、拡縮後のスロット領域を、配置領域に配置する。なお本処理が、テンプレートLの生成処理における処理である場合は、スロット領域はテンプレートLの配置領域に合わせて拡縮され、テンプレートLの配置領域に配置される。一方本処理が、テンプレートRの生成処理における処理である場合は、スロット領域はテンプレートRの配置領域に合わせて拡縮され、テンプレートRの配置領域に配置される。こうして、横並び配列により、テンプレートLやテンプレートRが生成される。その後CPU101は処理を終了し、S706に進む。
なお、本実施形態のようにして、縦並びによる方法と横並びによる方法との両方でテンプレートが生成されることで、スロット列の数がそれぞれ異なる複数のテンプレートと、スロット行がそれぞれ異なる複数のテンプレートとを生成することができる。
S706では、CPU101は、全ての二次元配列に基づき、テンプレート作成が行われたか否かを判定する。CPU101は、YES判定の場合、S707に進み、NO判定の場合、S703に戻り、新たに二次元配列を特定する。
S707では、CPU101は、S704で生成されたテンプレートとS705で生成されたテンプレートのうち、重複しているテンプレートがあるか否かを特定する。そして、重複しているテンプレートがある場合、そのうちの一方を削除する。
上述のようにして、テンプレートLとテンプレートRが生成された場合、CPU101は、S608に進む。
S608では、CPU101は、見開き用のテンプレートを生成する。例えば、CPU101は、S603で特定されたテンプレートタイプが右ページと左ページに跨ぐようなスロットが配置されないタイプであり、テンプレートLとテンプレートRと生成しているとする。その場合、テンプレートLとテンプレートRとを結合することで見開き用テンプレートを生成する。このようにして例えば図10(a)に示すような見開き用テンプレートが生成される。このとき、テンプレートLやテンプレートRが複数生成されていた場合は、複数のテンプレートLのそれぞれを、複数のテンプレートRのそれぞれと結合する。すなわち本処理により、テンプレートLの数×テンプレートRの数の分だけ、見開き用のテンプレートが生成されることとなる。
また例えば、S603で特定されたテンプレートタイプが、右ページと左ページに跨ぐようなスロットが配置されうるタイプであり且つ固定スロットを有しないタイプであったとする。また例えば、S603で特定されたテンプレートタイプが、左ページにはスロットが配置されず右ページにのみスロットが配置されるタイプであったとする。その場合、テンプレートLのみが生成されているため、CPU101は、テンプレートLを、見開き用のテンプレートとして生成する。このようにして例えば図10(b)や(c)、(d)に示すような見開き用テンプレートが生成される。
また例えば、S603で特定されたテンプレートタイプが、固定スロットを有するタイプであったとする。その場合、テンプレートLのみが生成されているため、CPU101は、テンプレートLと固定スロットと結合することで、見開き用のテンプレートを生成する。このようにして例えば図10(e)や(f)に示すような見開き用テンプレートが生成される。
S609では、CPU101は、全ての分割結果をテンプレート生成に利用したか否かを判定する。CPU101は、YES判定の場合、S610に進み、NO判定の場合、S605に戻り、まだ特定していない分割結果を用いてテンプレート生成を行う。
S610では、CPU101は、全てのテンプレートタイプを特定したか否かを判定する。CPU101は、YES判定の場合、処理を終了し、NO判定の場合、S603に戻り、まだ特定していないテンプレートタイプを特定する。
上述のようにして、テンプレート生成処理が完了した場合、CPU101は、S410に進む。
S410では、CPU101は、テンプレート得点化を実行する。テンプレート得点化とは、S409で生成したテンプレートに、得点を付与する(スコアリング)処理である。本処理の詳細を、以下に説明する。本実施形態では、テンプレートにおける余白領域(スロット以外の領域)と、テンプレートに含まれる各スロットに基づいてスコアリングが行われる。
まず本実施形態では、CPU101は、余白領域に基づくスコアリングを、式(1)を用いて実行する。なお余白領域とは、テンプレートにおけるスロット領域外の領域である。
Figure 2021027555
ここで、SCOREaは、余白領域に基づく得点であり、AREAsは、テンプレートが有するスロットの総面積であり、THRauとTHRalは、余白領域に基づく得点を求めるための閾値である。AREAsがTHRauより大きい場合、SCOREaは、1となる。また、AREAsがTHRalより小さい場合、SCOREaは、0となる。AREAsがTHRal以上であり、THRau以下である場合は、SCOREaは、AREAsが大きいほど1に近い値となり、AREAsが小さいほど0に近い値となる。すなわち、上述の式により、スロットの総面積が大きい(言い換えれば、余白領域の総面積が少ない)ほど、テンプレートに高得点を付与することができる。
なお余白領域に基づくスコアリングの方法は上述の方法に限定されない。例えば、上述の説明においては、CPU101は、見開き用のテンプレートに対して点数を付与していた。しかし例えば、評価対象のテンプレートが、テンプレートLとテンプレートRを含むものであった場合は、テンプレートLとテンプレートRそれぞれに点数を付与し、その平均得点を、見開き用のテンプレートに対して付与しても良い。また、余白領域の位置に応じて、スコアリングを制御しても良い。例えば、テンプレート内部の上部分と下部分に余白があり形状が横長であるテンプレート(例えば、図13の(E))と、テンプレート内部の左部分と右部分に余白があり形状が横長であるテンプレート(例えば、図13の(F))があるものとする。この場合、それぞれの余白の面積が同じであったとしても、前者のテンプレートにおける余白量より後者のテンプレートにおける余白量の方が多いようにユーザに認識される。そのため、テンプレート内部の左部分と右部分に余白があるテンプレートのスコアリングに用いられるTHRauより、テンプレート内部の上部分と下部分に余白があるテンプレートのスコアリングに用いられるTHRauの方が大きくなるように制御されても良い。また、テンプレート内部の左部分と右部分に余白があるテンプレートのスコアリングに用いられるTHRalより、テンプレート内部の上部分と下部分に余白があるテンプレートのスコアリングに用いられるTHRalの方が大きくなるように制御されても良い。これによりテンプレート内部の左部分と右部分に余白があるテンプレートとテンプレート内部の上部分と下部分に余白があるテンプレートの余白の面積が同じであったとしても、前者の得点が後者の得点より低くなるように制御される。
次にCPU101は、スロットに基づくスコアリングを、式(2)及び(3)を用いて実行する。
Figure 2021027555
Figure 2021027555
Nsは、テンプレートが有するスロットの総数であり、AREAmは、テンプレートが有するスロットのうち最小のスロットの面積である。すなわちRATIOsは、テンプレートが有するスロットのうち最小のスロットの面積に対する、テンプレートが有するスロットの面積の平均値の倍率である。
SCOREgは、スロットに基づく得点であり、THRguとTHRglは、スロットに基づく得点を求めるための閾値である。RATIOsがTHRguより大きい場合、SCOREgは、0となる。また、RATIOsがTHRglより小さい場合、SCOREgは、1となる。RATIOsがTHRgl以上であり、THRgu以下である場合は、SCOREgは、RATIOsが小さいほど1に近い値となり、RATIOsが大きいほど0に近い値となる。すなわち、上述の式により、テンプレートが有するスロットのうち最小のスロットの面積とテンプレートが有するスロットの面積の平均値との差が小さいほど、テンプレートに高得点を付与することができる。
その後CPU101は、SCOREaとSCOREgの平均値を算出し、当該平均値を、最終的な得点であるテンプレート得点として、テンプレートに付与する。このようにすることで、複数の観点でテンプレートに対してスコアリングを行うことができる。
例えば、S408において特定された見開きに配置される画像データとしてアスペクト比が2/3の画像を表す画像データが4枚選択されており、図14(a)に示すような6枚のテンプレートがS409で生成されたものとする。その場合例えば、各テンプレートに付与された各得点は、図14(b)に示すようにして、CPU101により管理される。この形態においては、テンプレート(1)及びテンプレート(2)のテンプレート得点が最も高く、テンプレート(6)のテンプレート得点が最も低くなる。
なお、本実施形態では、SCOREaとSCOREgの平均値をテンプレート得点としたが、この形態に限定されない。SCOREaとSCOREgのうち少なくとも1つに重みを付与し、重みが付与された後のSCOREaとSCOREgの平均値をテンプレート得点としても良い。また例えば、SCOREaとSCOREgのうち点数が低い方をテンプレート得点としても良い。
また、テンプレート得点の算出のために、SCOREaとSCOREg以外の得点が参照されても良い。例えば、スロット間のマージンに応じた得点であるSCOREmが参照されても良い。ある列のマージンの位置が、隣の列のマージンの位置と近すぎるレイアウト画像は、審美性の点から好ましくない。そのため、テンプレートにおけるマージン間の距離を計算し、その距離に応じて、得点SCOREmを付与しても良い。具体的には例えばCPU101は、テンプレートにおけるある列にあるマージンと、その隣の列にあるマージンとの間の距離(例えば図14(c)の距離1401や距離1402)を算出する。そしてCPU101は、当該距離の大きさに基づいて、SCOREmを付与する。例えばSCOREmの値は、当該距離が大きいほど大きくなり、当該距離が小さいほど小さくなる。また例えば、図14(c)のように、複数の距離が算出された場合は、その平均の距離に基づいて、SCOREmが計算される。
また例えば、見開きの中心線を跨ぐようにして配置されているスロットの辺の見開きの中心線からの距離に応じた得点であるSCOREsが参照されても良い。例えば図15のように、見開きの中心線を跨ぐようにして配置されているスロットの辺が見開きの中心線と近すぎるレイアウト画像は、審美性の点から好ましくない。そのため、見開きの中心線を跨ぐようにして配置されているスロットの辺の見開きの中心線からの距離を計算し、その距離に応じて、テンプレート得点SCOREsを付与しても良い。具体的には例えばCPU101は、スロットの辺の見開きの中心線からの距離(例えば図15の距離1501と距離1502)を算出する。そしてCPU101は、当該距離の大きさに基づいて、SCOREgを付与する。例えばSCOREgの値は、当該距離が所定の閾値以下であれば小さくなり、当該距離が所定の閾値より大きければ大きくなる。
なおSCOREaとSCOREg以外の得点が算出される場合は、算出された全ての得点の平均値がテンプレート得点としてテンプレートに付与される。
なおS410において、CPU101は、評価対象のテンプレートのタイプに応じて、評価方法を切り替えても良い。具体的には例えば、評価対象のテンプレートのタイプに応じて、SCOREaとSCOREg、SCOREm、SCOREsのうち、いずれの得点を算出するかを切り替えても良い。具体的には例えばCPU101は、見開きの中心線を跨ぐようにしてスロットが配置されていないタイプのテンプレートに対しては、SCOREaとSCOREg、SCOREmのみ得点を付与しても良い。そしてCPU101は、見開きの中心線を跨ぐようにしてスロットが配置されているタイプのテンプレートに対しては、全ての得点を付与しても良い。テンプレートのタイプの判定方法を図13を用いて以下に詳細に説明する。
まずCPU101は、評価対象のテンプレートが有するスロットが、見開きの中心線を跨ぐようにして配置されているか否かを判定する。具体的にはCPU101は、スロットの角の4点が全て左ページと右ページのうち一方に含まれているか否かを判定する。スロットの角の点が全て左ページと右ページのうち一方に含まれている場合、スロットが見開きの中心線を跨ぐようにして配置されていないタイプ(例えば、図13の(A)、(B))であることが特定される。一方、スロットの角の点が全て左ページと右ページのうち一方に含まれていない場合、スロットが見開きの中心線を跨ぐようにして配置されているタイプ(例えば、図13の(C)〜(F))であることが特定される。なおスロットが四角以外の多角形である場合には、CPU101は、4点でなく、多角形の角に対応する全ての点が左ページと右ページのうち一方に含まれているか否かを判定する。
次にCPU101は、評価対象のテンプレートが有するスロットが、テンプレートの端に接しているか否かを判定する。具体的にはCPU101は、スロットの角の点のいずれかがテンプレートの端又はテンプレートの外に位置するか否かを判定する。スロットの角の点のいずれかがテンプレートの端又はテンプレートの外に位置する場合、スロットがテンプレートの端に接しているタイプ(例えば、図13の(E)、(F))であることが特定される。一方、スロットの角の点のいずれかがテンプレートの端又はテンプレートの外に位置しない場合、スロットがテンプレートの端に接していないタイプ(例えば、図13の(A)〜(D))であることが特定される。なお本特定結果は、左右に余白があるテンプレートのスコアリングに用いられるTHRauと、上下に余白があるテンプレートのスコアリングに用いられるTHRauとを異ならせる上述の制御を実行するか否かの判定に用いられる。具体的には例えば、スロットがテンプレートの端に接しているタイプについては当該制御を実行すると判定され、スロットがテンプレートの端に接していないタイプについては当該制御を実行しないと判定される。
S411では、CPU101は、S409で生成されたテンプレートの中から、1又は複数のテンプレートを、S410により付加された評価(得点)に基づき選択する。本実施形態では、CPU101は、S409で生成されたテンプレートの中から、予め定められた閾値以上のテンプレート得点を有する全てのテンプレートを選択する。なお、CPU101は、予め定められた閾値以上のテンプレート得点を有するテンプレートが1つもない場合には、S409で生成されたテンプレートの中から、一番高いテンプレート得点を有するテンプレートを選択する。なおテンプレートの選択方法は、上述の方法に限定されない。上述では閾値は固定の値であるものとしたが例えば、S409で生成されたテンプレートに付与された各テンプレート得点から所定の値を引いた値を、閾値として決定しても良い。また例えば、S409で生成されたテンプレートの中から、テンプレート得点が高いものから順に、所定の数や割合に達するまでテンプレートを選択しても良い。
このときCPU101は、類似するテンプレートが選択されないように制御してもよい。例えば、全てのテンプレートの中から最もテンプレート得点が高いテンプレートs1が選択されたとする。その場合、テンプレートs1との類似度が高いテンプレートを全て、選択対象のテンプレートから削除する。類似度は例えば、テンプレートが有する各スロットの中心点の座標の平均値に基づいて算出される。例えば、テンプレートs1が2つのスロットを有しており、各スロットの中心点の座標が、(1、5)と(3、11)であったとする。その場合、テンプレートsにおける平均値Ps1は、(2、8)となる。また、テンプレートs1とテンプレートs2との間の類似度は、│Ps1−Ps2│として計算される。そして、│Ps1−Ps2│が所定の閾値より小さい場合、テンプレートs1とテンプレートs2との間の類似度が高いものとして判定される。そして、│Ps1−Ps2│が所定の閾値より大きい場合、テンプレートs1とテンプレートs2との間の類似度が低いものとして判定される。このようにしてCPU101は、選択済みのテンプレートとの類似度が高いテンプレートを特定し、削除する。そしてCPU101は、選択済みのテンプレートとの類似度が高いテンプレートが削除された後、新たにテンプレートを選択する。その後もCPU101は、テンプレートを選択する毎に、選択済みのテンプレートとの類似度が高いテンプレートの特定及び削除を行う。このような形態とすることで、いくつかのテンプレートについては、レイアウト画像の生成処理に用いられなくなるため、レイアウト画像の生成処理かかる時間を抑制できる。
S412では、CPU101は、S411で選択されたテンプレート内の各スロットに対して、S408で特定された見開きに割り当てられた画像データを配置することで、レイアウト画像を生成する。なおこのときCPU101は、S411で複数のテンプレートが選択されていた場合は、S411で選択されたテンプレートのうち、まだ画像データの配置が行われていないいずれかのテンプレートを特定する。そしてCPU101は、このようにして特定されたテンプレートに対して画像データを配置する。画像データの配置方法について、図16を用いて以下に詳細に説明する。
図16(A)は、S408で特定された見開きに配置される画像データが表す画像の形状の一例である。図16(B)は、画像データの配置が行われるテンプレートの一例である。図16(C)は、図16(A)に対応する各画像データの情報を示すテーブルと、図16(B)に対応するテンプレートが有する各スロットの情報を示すテーブルである。各画像データの情報とは例えば、各画像データに割り振られた画像No.や、各画像データのアスペクト比、得点、撮影時間等である。また各スロットの情報とは例えば、各スロットに割り振られたスロットNo.や、各スロットデータのアスペクト比、得点、位置等である。なおスロットの位置に関する情報は、例えば整数で表されるが、テンプレートにおいてより左側に位置するスロットほど若い番号が割り当てられる。まずCPU101は、各テーブルの内容を、アスペクト比に基づいてソートする。なおCPU101は、アスペクト比が同じである行については、撮影時間が早いものや位置No.(ナンバー)が小さいものがより上の行となるように並び順を制御する。これにより例えば、図16(D)に示すようなテーブルとなる。その後CPU101は、各画像データをテーブルにおける行の順番が同じであるスロットに対して配置する。すなわち、図16(D)の例では、画像No.が1である画像データがスロットNo.が2のスロットに、画像No.が2である画像データがスロットNo.が1のスロットに、画像No.が3である画像データがスロットNo.が3のスロットに配置される。なおスロットに対する画像データの配置において、画像データの少なくとも1辺がスロットの辺と接するように、画像データは適宜拡縮される。また、拡縮後の画像データの一部がスロットに入りきらない場合、スロットに入りきらない部分がトリミングされる。しかしながら本実施形態においては、スロットの形状は、画像データのアスペクト比に基づいたものになっているため、トリミングされる部分の大きさを抑制できる。結果として例えば、図16(E)に示すようなレイアウト画像が生成される。
S413では、CPU101は、S412で生成されたレイアウト画像の得点化を行う。レイアウト画像の得点化について、図17を用いて以下に詳細に説明する。
例えば、S412におけるレイアウト画像生成処理において、図17(A)や(B)に示すようなテンプレートに対して画像データが配置されたとする。また、S408で特定された見開きに配置される各画像データに関する情報のテーブルがテーブル1701であるとする。また、図17(A)に示すテンプレート1の各スロットに関する情報のテーブルがテーブル1702であり、図17(B)に示すテンプレート2の各スロットに関する情報のテーブルがテーブル1703であるとする。なお各テーブルは、S412の説明で示したようにしてソートされているものとする。レイアウト画像の得点化においてCPU101は、レイアウト画像に配置された画像データに関する情報と、当該画像データが配置されるスロットに関する情報との相関度に基づいて、レイアウト画像の得点を算出する。具体的にはまずCPU101は、各画像データの得点の順位と各スロットの得点の順位との得点相関度や、各画像データの撮影日時の順位と各スロットの位置の順位との位置相関度を算出する。そしてCPU101は、これらの相関度の大きさに基づいて、レイアウト画像の得点を付与する。例えば、レイアウト画像の得点の値は、これらの相関度が大きいほど大きくなり、これらの相関度が小さいほど小さくなる。これは例えば、S408で特定された見開きに配置される各画像データのうち、一番得点の高い画像データが、一番得点の高いスロットに配置されるほうが、レイアウト画像の審美性が高くなるためである。また例えば、S408で特定された見開きに配置される各画像データのうち、一番撮影日時の早い画像データが、一番左側の位置にあるスロットに配置されるほうが、レイアウト画像の審美性が高くなるためである。例えば、図17に示す例では、テンプレート1が用いられたレイアウト画像における得点相関度とテンプレート2が用いられたレイアウト画像における得点相関度は同じ値となる。しかし、テンプレート1が用いられたレイアウト画像における位置相関度よりテンプレート2が用いられたレイアウト画像における位置相関度の方が高い値となる。そのため、テンプレート1が用いられたレイアウト画像よりテンプレート2が用いられたレイアウト画像の方が、高い得点が付与されることとなる。
S414では、CPU101は、S409で生成された全てのテンプレートに基づいてレイアウト画像の生成を行ったか否かを判定する。CPU101は、YES判定の場合、S415に進み、NO判定の場合、S412に戻り、まだレイアウト画像の生成が行われていないテンプレートを特定し、特定されたテンプレートに基づいてレイアウト画像の生成が実行される。
S415では、CPU101は、S412で生成された各レイアウト画像の中からS408で特定された見開きに配置されるレイアウト画像であり、見開き表示部503に表示・出力されるレイアウト画像を選択する。本実施形態ではCPU101は、S410で付加された得点とS413で付加された得点に基づいて、レイアウト画像を選択する。具体的にはCPU101は、S410で付加された得点とS413で付加された得点との合計値が一番高いレイアウト画像を選択する。例えば、レイアウト画像Aの生成に利用されたテンプレートの得点(S410で付加された得点)が70点であり、レイアウト画像Aの得点(S413で付加された得点)が80点であるとする。またレイアウト画像Bの生成に利用されたテンプレートの得点(S410で付加された得点)が90点であり、レイアウト画像Bの得点(S413で付加された得点)が70点であるとする。その場合、レイアウト画像Bがレイアウト画像Aより優先的に選択される。なおこの形態に限定されない。例えば、S410で付加された得点とS413で付加された得点の少なくとも一方に重みを設定し、S410で付加された得点とS413で付加された得点のいずれかを優先して、本選択が行われても良い。また例えば、S410で付加された得点とS413で付加された得点の一方のみに基づいて本選択が行われても良い。このようにして、複数のレイアウト画像から、実際に見開きに配置されるレイアウト画像が特定される。
S416では、CPU101は、全ての見開きを特定することで全ての見開きに対してレイアウト画像を生成したか否かを判定する。CPU101は、YES判定の場合、S417に進み、NO判定の場合、S408に戻り、新たな見開きを特定した後、当該見開きに配置されるレイアウト画像を生成する。
S417では、CPU101は、S415で選択された各レイアウト画像を、編集画面501上に表示する。具体的にはCPU101は、見開き一覧502に、各見開き及び、各見開きに配置されたレイアウト画像を表示する。そしてCPU101は、見開き一覧502からいずれかの見開きが選択された場合は、選択された見開き及び選択された見開きに配置されたレイアウト画像を見開き表示部503に拡大表示し、選択された見開きに対する編集操作を受け付け可能な状態にする。その後CPU101は、処理を終了する。
このような形態とすることで、適切なテンプレートを用いてレイアウト画像を生成することができる。
<アルバムデータの編集>
編集画面501に対してアルバムデータの編集操作が行われることで実行される自動レイアウト処理について説明する。アルバムデータの作成方法として手動生成が選択された場合や、図4に示す処理が完了した場合等に、編集画面501が表示される。編集画面501が表示されている状態においては、見開き一覧502から選択された見開きに配置されるレイアウト画像を、ユーザは適宜編集可能である。具体的に例えばユーザは、編集操作により、見開き一覧502から選択された見開きに配置されるレイアウト画像に対して1又は複数の画像データを追加したり、当該レイアウト画像に既に配置されている1又は複数の画像データを変更したりすることができる。本実施形態では、図4に示す処理においてだけでなく、編集により見開きに配置される画像データが追加された場合にも、自動レイアウトが実行されうる。なお本実施形態では、編集操作により、レイアウト画像に既に配置されている画像データが変更される場合は、自動レイアウト処理は実行されない。すなわち、変更される画像データが配置されていたスロットのサイズや形状、位置は変更されないまま、当該スロットに新たに画像データが配置される。しかしこの形態に限定されず、編集操作により、レイアウト画像に既に配置されている画像データが変更される場合においても、自動レイアウト処理が実行されても良い。すなわち、変更される画像データを除く、既に配置されている画像データと、変更により新たに配置される画像データとに基づいて、新たにテンプレートを生成しなおして、レイアウト画像を生成しても良い。
図18は、本実施形態に係るアルバム作成アプリにより実行される、編集時の自動レイアウト処理を示すフローチャートである。図18に示すフローチャートは、例えば、CPU101がHDD104に格納されたアルバム作成アプリに対応するプログラムをROM102やRAM103に読み出して実行することにより実現される。また、図18に示すフローチャートは、編集画面501に対してアルバムデータの編集操作が実行された場合に開始される。編集操作とは具体的には例えば、見開き表示部503に表示されている見開きに対して配置される画像データを追加する操作である。
S1801では、CPU101は、入力画面301に対して入力されたアルバム作成条件に関する各種情報を取得する。
S1802では、CPU101は、見開き表示部503に表示されている見開きを、編集対象の見開きとして特定する。
S1803では、CPU101は、編集に用いる画像データを特定する。具体的にはCPU101は、編集操作が受け付けられる前から見開き表示部503に表示されている見開きに配置されていた画像データと、編集操作によって新たに追加指示が行われた画像データとを特定する。なお、アルバムデータの作成方法として手動生成が選択されたことにより編集画面が表示された直後においては、見開きにはいずれの画像データも配置されていない。そのため、見開きにいずれの画像データも配置されていない状態において画像データの追加指示が行われた場合は、編集操作によって新たに追加指示が行われた画像データのみが特定される。またCPU101は、ここで特定された画像データの特徴量を取得する。
S1804では、CPU101は、S1802で特定された見開きの自動レイアウトに用いられるテンプレートを生成する。本処理の詳細は、S409と同様であるが、一部異なる点について以下に説明する。
自動生成が指示されたことに基づいて実行される自動レイアウト処理におけるS601では、画像データは時系列順に並べられていた。しかし編集操作に基づいて実行される自動レイアウト処理におけるS601では、CPU101はまず、見開きに配置されていた画像データを、見開きへの配置順に基づいて並べる。その後CPU101は、見開きへの配置順に基づいて並べた画像データの後ろに、新たに追加指示が行われた画像データを並べる。なおこの形態に限定されず、自動生成が指示されたことに基づいて実行される自動レイアウト処理と同様、CPU101は、改めて画像データを時系列順に並べても良い。
S1805では、CPU101は、CPU101は、テンプレート得点化を実行する。本処理の詳細は、S410と同様である。
S1806では、CPU101は、S1804で生成されたテンプレートの中から、1又は複数のテンプレートを、S1805により付加された評価(得点)に基づき選択する。本処理の詳細は、S411と同様である。
S1807では、CPU101は、S1806で選択されたテンプレート内の各スロットに対して、S1802で特定された見開きに対応する画像データを配置することで、レイアウト画像を生成する。本処理の詳細は、S412と同様である。
S1808では、CPU101は、S1807で生成されたレイアウト画像の得点化を行う。本処理の詳細は、S413と同様である。
S1809では、CPU101は、S1804で生成された全てのテンプレートに基づいてレイアウト画像の生成を行ったか否かを判定する。CPU101は、YES判定の場合、S1810に進み、NO判定の場合、S1807に戻り、まだレイアウト画像の生成が行われていないテンプレートを特定し、特定されたテンプレートに基づいてレイアウト画像の生成が実行される。
S1810では、CPU101は、S1807で生成された各レイアウト画像の中からS1802で特定された見開きに配置されるレイアウト画像を選択する。本処理の詳細は、S415と同様である。
S1811では、CPU101は、S1810で選択されたレイアウト画像を、見開き表示部503に表示する。
このような形態とすることで、編集操作に基づいて実行される自動レイアウト処理においても、適切なテンプレートを用いてレイアウト画像を生成することができる。
また本実施形態では、編集画面501は、見開き表示部503に表示されているレイアウト画像の編集に使用可能なテンプレートの候補を候補表示領域506に表示することができる。そして、ユーザは、当該候補からいずれかを選択することで、見開き表示部503に表示されているレイアウト画像を、選択したテンプレートを用いたレイアウト画像に変更することができる。テンプレートの候補として例えば、S412やS1806で生成されたがS415やS1809で選択されなかったレイアウト画像に用いられたテンプレートが表示される。なおこのとき例えば、S412やS1806で生成されたがS415やS1809で選択されなかったレイアウト画像に用いられたテンプレートのうち、得点の高いものから順に表示されても良い。また例えば、S412やS1806で生成されたがS415やS1809で選択されなかったレイアウト画像に用いられたテンプレートから得点が高いものが抽出されても良い。そしれ当該抽出により、得点が高いもののみ表示され得点が低いものが表示されないように制御されても良い。また例えば、S412やS1806で生成されたがS415やS1809で選択されなかったレイアウト画像に用いられたテンプレート以外のテンプレートが表示されても良い。具体的には例えば、ユーザによって選択された画像データの特徴に基づいて自動生成されたテンプレートではなく、アルバム作成アプリが予め保持しているテンプレートが表示されても良い。また例えば、S411において類似度の判定によりいくつかのテンプレートが削除されている場合、候補表示領域506には、それらのテンプレートについては表示されないように制御されても良い。これにより候補表示領域506に、同じようなテンプレートの候補が複数配置されてしまうことを抑制できる。ユーザは、候補表示領域506に表示されているテンプレートからいずれかを選択することで、見開き表示部503に表示されている見開きに配置されるレイアウト画像を、選択したテンプレートを用いたものに変更することができる。このときユーザが、S412やS1806で生成されたがS415やS1809で選択されなかったレイアウト画像に用いられたテンプレートを選択して場合は、レイアウト画像は生成済みであるため、CPU101は、生成済みのレイアウト画像を表示する。しかしユーザが、アルバム作成アプリが予め保持しているテンプレートを選択した場合は、CPU101は、当該テンプレートを用いた自動レイアウト処理を実行して、レイアウト画像を表示する。
なお候補表示領域506には、テンプレートの候補でなく、テンプレートの候補を用いて自動レイアウト処理が行われることで生成されたレイアウト情報(すなわち、レイアウト情報の候補)が表示されても良い。その場合、候補表示領域506には、S412やS1806で生成されたがS415やS1809で選択されなかったレイアウト画像が表示されることとなる。
なおユーザは、編集画面501の不図示のボタンを押す等の所定の操作を行うことで、編集画面501のモードを自動編集モードから手動編集モードに切り替えることができる。自動編集モードは、見開きに対して画像データの追加が行われた場合に、図18に示す処理が実行され、自動でレイアウト画像が生成されるモードである。手動編集モードとは、見開きに対して画像データの追加が行われた場合に、追加された画像データの配置位置やサイズをユーザが手動で指定することでレイアウト画像が生成されるモードである。ユーザはこれらのモードを切り替えることで、所望する編集方法を選択することができる。
なおこのようにして各見開きに配置されるレイアウト画像が編集された場合、レイアウト情報も、編集後のレイアウト画像を出力するためのものに編集される。ユーザは、編集後に注文ボタン505が押下することで、編集後のレイアウト情報に基づくアルバムを注文することができる。
このように、自動レイアウト処理が実行された後にも、ユーザは、適宜アルバムデータやレイアウト情報を編集することができる。
(その他の実施形態)
本発明は上述した実施形態に限定されるものではない。例えば、上述した実施形態では、上述した画像選択処理が、アルバムの自動レイアウト処理に用いられる形態を説明したが、例えば、印刷対象の画像データを自動でユーザに提示する提示機能等に用いられても良い。すなわち、上述した画像選択処理が、当該提示機能を実行するプログラムによって実行されても良い。また、例えば、単葉の印刷物を作成する形態に対しても本発明を適用することができる。この場合、CPU101は、例えば、上述の実施形態における1つの見開きを1枚の単葉の印刷物とみなして、処理を行えばよい。また、単葉の印刷物には、一般に、1枚の画像データしかレイアウトされないため、単葉の印刷物用のテンプレートには、スロットが1つのみあるものとする。なお、シーン毎の印刷物の枚数を設定可能な構成であれば、CPU101は、上述の実施形態における1つの見開きを設定された枚数の単葉の印刷物とみなして、処理を行っても良い。
また、上述した実施形態では、テンプレート生成処理において、1つの見開きやページに対して、画像データの特徴に応じた複数のテンプレートが生成されていたが、この形態に限定されない。例えば、1つの見開きやページに対して1つのテンプレートのみが生成される形態であっても良い。その形態においては例えば、テンプレートの得点化は実行されなくても良い。
また、上述した実施形態では、テンプレート生成処理において、スロットの形状が、画像データの特徴に応じて決定されることで、画像データに適したテンプレートが生成されていたが、この形態に限定されない。例えば、テンプレートにおけるスロットの位置やサイズ等が、画像データの特徴に応じて決定されても良い。具体的には例えば、大きなサイズの画像を表す画像データが配置されるスロットが、テンプレートにおける左ページに配置されるように制御することによって、テンプレートが生成されても良い。また、例えば、大きなサイズの画像を表す画像データが配置されるスロットのサイズが、小さなサイズの画像を表す画像データが配置されるスロットのサイズより大きくなるように制御されても良い。
また、上述した実施形態では、自動レイアウト処理におけるレイアウト画像の生成処理において、画像データの特徴に応じて新たに生成されたテンプレートのみが使用されていたが、この形態に限定されない。新たに生成されたテンプレートだけでなく、アルバム作成アプリが予め保持しているテンプレートを用いてレイアウト画像を生成しても良い。
また、上述した実施形態では、画像データの特徴に基づいて複数のテンプレートを生成した後、複数のテンプレートがそれぞれ有するスロットに対して画像データを配置して、複数のレイアウト画像を生成していた。そして、複数のレイアウト画像から、テンプレートの得点に基づいていずれかを特定し、特定したレイアウト画像を表示していた。しかしながらこの形態に限定されず、例えば、レイアウト画像を生成する前に、テンプレートの得点に基づいて1又は複数のテンプレートを特定し、特定したテンプレートのみを用いて1又は複数のレイアウト画像の生成を行っても良い。これにより複数のレイアウト画像が生成された場合、その中からいずれかを、見開き表示部503に表示・出力されるレイアウト画像としてS415に示すようにして特定する。なおこの特定において、テンプレートの点数が参照されても良いし、されなくとも良い(すなわち、レイアウト画像の得点のみが参照されても良い)。
なお、上述した実施形態では、画像データの特徴に基づいて新たに生成されるテンプレートに含まれるスロットが、スロット同士で重ならないように配置されていたが、この形態に限定されず、スロットの一部がスロット同士で重なるようにして配置されても良い。
また、上述した実施形態では、画像データの特徴に基づいて新たに生成されたテンプレートに対してのみ、評価(得点化)が行われていたが、この形態に限定されない。例えば、アルバム作成アプリが予め保持しているテンプレートを用いて自動レイアウト処理を実行する形態において、アルバム作成アプリが予め保持しているテンプレートに対して評価が行われても良い。そして、テンプレートに対する評価が参照されて、出力されるレイアウト画像が特定されても良い。
また、上述した実施形態では、自動レイアウト処理を実行する画像処理装置が、ローカル環境に存在する画像処理装置である形態を説明したが、例えば、ネットワークサーバ上の画像処理装置であってもよい。この場合は、ユーザが当該画像処理装置に画像データをアップロードすることで、当該画像処理装置は自動レイアウト処理を実行可能となる。
上述の実施形態では、画像得点化やテンプレートの得点化、レイアウト画像の得点化等の各評価において、点数を付すことで評価を行っていたが、この形態に限定されない。すなわち、得点を用いずに評価を行っても良く、例えば、評価が高い順に「◎」、「○」、「△」、「×」の評価を付し、付された評価によってシーン分類や画像選択等が行われるような形態であっても良い。
上述した各実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
201 画像処理装置

Claims (34)

  1. 画像処理装置のコンピュータに、
    1又は複数の画像データを特定する第1特定ステップと、
    複数のテンプレートを評価する評価ステップと、
    前記複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、前記特定された前記1又は複数の画像データを配置することで複数のレイアウト画像を生成する生成ステップと、
    前記複数のレイアウト画像のうち少なくとも1つのレイアウト画像を、前記複数のテンプレートの評価に少なくとも基づいて特定する第2特定ステップと、
    前記特定された前記少なくとも1つのレイアウト画像を出力する出力ステップと、
    を実行させることを特徴とするプログラム。
  2. 画像処理装置のコンピュータに、
    1又は複数の画像データを特定する第1特定ステップと、
    複数のテンプレートを評価する評価ステップと、
    前記複数のテンプレートの評価に基づいて、前記複数のテンプレートのうち1又は複数のテンプレートを特定するテンプレート特定ステップと、
    前記複数のテンプレートの評価に基づいて特定された前記1又は複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、前記特定された前記1又は複数の画像データを配置することで1又は複数のレイアウト画像を生成する生成ステップと、
    前記生成された前記1又は複数のレイアウト画像のうち少なくとも1つのレイアウト画像を出力する出力ステップと、
    を実行させることを特徴とするプログラム。
  3. 前記複数のテンプレートの評価は、それぞれのテンプレートが有するスロットに関する特徴、それぞれのテンプレートにおけるスロット以外の領域である余白領域に関する特徴、それぞれのテンプレートが有するそれぞれのスロット間のマージンに関する特徴のうち少なくとも1つに基づいて実行されることを特徴とする請求項1又は2に記載のプログラム。
  4. 前記複数のテンプレートの評価は、前記余白領域の大きさに少なくとも基づいて実行されることを特徴とする請求項3に記載のプログラム。
  5. 前記複数のテンプレートには、第1のテンプレートと第2のテンプレートが含まれ、
    前記第1のテンプレートが有する前記余白領域が、前記第2のテンプレートが有する前記余白領域より大きい場合、前記第1のテンプレートの評価より前記第2のテンプレートの評価の方が高くなるように制御されることを特徴とする請求項4に記載のプログラム。
  6. 前記複数のテンプレートの評価は、前記余白領域の位置に少なくとも基づいて実行されることを特徴とする請求項3乃至5のいずれか1項に記載のプログラム。
  7. 前記複数のテンプレートには、第1のテンプレートと第2のテンプレートが含まれ、
    前記第1のテンプレートが有する前記余白領域が、前記第1のテンプレート内部の左部分と右部分にあり、前記第2のテンプレートが有する前記余白領域が、前記第2のテンプレート内部の上部分と下部分にある場合、前記第1のテンプレートが有する前記余白領域の大きさと前記第2のテンプレートが有する前記余白領域の大きさが同じであったとしても、前記第1のテンプレートの評価より前記第2のテンプレートの評価の方が高くなるように制御されることを特徴とする請求項6に記載のプログラム。
  8. 前記複数のテンプレートの評価は、前記マージン間の距離に少なくとも基づいて実行されることを特徴とする請求項3乃至7のいずれか1項に記載のプログラム。
  9. 前記複数のテンプレートには、第1のテンプレートと第2のテンプレートが含まれ、
    前記第1のテンプレートは、前記第1のテンプレートが有するスロット間のマージンとして、第1のマージンと第2のマージンを有し、
    前記第2のテンプレートは、前記第2のテンプレートが有するスロット間のマージンとして、第3のマージンと第4のマージンを有し、
    前記第1のマージンと前記第2のマージンとの間の距離が、前記第3のマージンと前記第4のマージンとの間の距離より短い場合、前記第1のテンプレートが有する前記余白領域の評価より前記第2のテンプレートが有する前記余白領域の評価の方が高くなるように制御されることを特徴とする請求項8に記載のプログラム。
  10. 前記複数のテンプレートの評価は、前記スロットの大きさに少なくとも基づいて実行されることを特徴とする請求項3乃至9のいずれか1項に記載のプログラム。
  11. 前記複数のテンプレートには、第1のテンプレートと第2のテンプレートが含まれ、
    前記第1のテンプレートと第2のテンプレートは、それぞれ複数のスロットを有し、
    前記第1のテンプレートが有する複数のスロットのうち最小のスロットの大きさと前記第1のテンプレートが有する複数のスロットの大きさの平均との間の差が、前記第2のテンプレートが有する複数のスロットのうち最小のスロットの大きさと前記第2のテンプレートが有する複数のスロットの大きさの平均との間の差より大きい場合、前記第1のテンプレートの評価より前記第2のテンプレートの評価の方が高くなるように制御されることを特徴とする請求項10に記載のプログラム。
  12. 前記特定された前記1又は複数の画像データが配置される1又は複数のスロットを少なくとも有するテンプレートを、前記特定された前記1又は複数の画像データの特徴に基づいて新たに生成するテンプレート生成ステップをさらに実行させることを特徴とする請求項1乃至11のいずれか1項に記載のプログラム。
  13. 前記特定された前記1又は複数の画像データの特徴に基づいて新たに生成されたテンプレートを含む前記複数のテンプレートが評価されることを特徴とする請求項12に記載のプログラム。
  14. 新たに生成されるテンプレートの前記1又は複数のスロットの形状、サイズ、位置のうち少なくとも1つが、前記特定された前記1又は複数の画像データの特徴に基づいて特定されることを特徴とする請求項12又は13に記載のプログラム。
  15. 新たに生成されるテンプレートの前記1又は複数のスロットのアスペクト比が、前記特定された前記1又は複数の画像データのアスペクト比に基づいて特定されることを特徴とする請求項14に記載のプログラム。
  16. 新たに生成される前記テンプレートに含まれるスロットの数が、前記特定された前記1又は複数の画像データに含まれる画像データの数に基づいて特定されることを特徴とする請求項14又は15に記載のプログラム。
  17. 前記テンプレートは、前記特定された前記1又は複数の画像データの特徴に基づいて新たに複数生成され、
    新たに生成された複数の前記テンプレートがそれぞれ有する前記1又は複数のスロットに対して、前記特定された前記1又は複数の画像データが配置されることで、複数の前記レイアウト画像が生成されることを特徴とする請求項14乃至16のいずれか1項に記載のプログラム。
  18. 前記複数のテンプレートのうち第1のタイプのテンプレートの評価方法と、前記複数のテンプレートのうち第2のタイプのテンプレートの評価方法とが異なるように制御されることを特徴とする請求項14乃至17のいずれか1項に記載のプログラム。
  19. 前記第1のタイプのテンプレートの評価に使用される閾値と、前記第2のタイプのテンプレートの評価に使用される閾値とが異なるように制御されることを特徴とする請求項14乃至18のいずれか1項に記載のプログラム。
  20. テンプレート内部の上部分と下部分に余白が生じているタイプのテンプレートの前記余白領域に関する特徴に基づく評価に使用される閾値と、テンプレート内部の左部分と右部分に余白が生じているタイプのテンプレートの前記余白領域に関する特徴に基づく評価に使用される閾値とが異なるように制御されることを特徴とする請求項19に記載のプログラム。
  21. テンプレート内部の上部分と下部分に余白が生じており、且つテンプレートの端と接するスロットを含むタイプのテンプレートの前記余白領域に関する特徴に基づく評価に使用される閾値と、テンプレート内部の左部分と右部分に余白が生じており、且つテンプレートの端と接するスロットを含むタイプのテンプレートの前記余白領域に関する特徴に基づく評価に使用される閾値とが異なるように制御されることを特徴とする請求項20に記載のプログラム。
  22. 前記第1のタイプのテンプレートの所定の特徴に基づく評価が実行されるが、前記第2のタイプのテンプレートの前記所定の特徴に基づく評価が実行されないことを特徴とする請求項18乃至21のいずれか1項に記載のプログラム。
  23. 前記レイアウト画像は、2つのページによって構成される見開きに印刷される画像であり、
    前記見開きの中心線に相当する線を跨ぐようにして配置されているスロットを含むタイプのテンプレートの、前記中心線に相当する線と前記スロットの端との距離に基づく評価が実行されるが、前記見開きの中心線に相当する線を跨ぐようにして配置されているスロットを含まないタイプのテンプレートの、前記中心線に相当する線と前記スロットの端との距離に基づく評価が実行されないことを特徴とする請求項22に記載のプログラム。
  24. 前記レイアウト画像の出力は、前記レイアウト画像の表示であることを特徴とする請求項1乃至23のいずれか1項に記載のプログラム。
  25. 前記表示された前記レイアウト画像に対する編集操作を受け付ける受け付けステップと、をさらに有することを特徴とする請求項24に記載のプログラム。
  26. 前記レイアウト画像が表示された後に、前記表示された前記レイアウト画像の編集に使用可能な1又は複数のテンプレートを表示する表示ステップと、
    前記生成された前記レイアウト画像に用いられているテンプレートを変更するための前記編集操作が前記ユーザから受け付けられた場合、前記表示された前記レイアウト画像を、前記表示された前記1又は複数のテンプレートのうち前記ユーザから選択されたテンプレートが用いられて生成された前記レイアウト画像に変更する変更ステップと、さらに有することを特徴とする請求項25に記載のプログラム。
  27. 前記表示される前記レイアウト画像の編集に使用可能な1又は複数のテンプレートには、前記評価された複数のテンプレートのうち評価が高い1又は複数のテンプレートが含まれ、前記評価された複数のテンプレートのうち評価が低い1又は複数のテンプレートが含まれないように制御されることを特徴とする請求項26に記載のプログラム。
  28. 前記レイアウト画像の編集に使用可能な1又は複数のテンプレートとして、前記評価された複数のテンプレートが評価が高いものから順に表示されることを特徴とする請求項26又は27に記載のプログラム。
  29. それぞれ異なる前記1又は複数の画像データが配置されたそれぞれ異なる複数の前記レイアウト画像を生成することで、それぞれ異なる複数の前記レイアウト画像が印刷されたアルバムを作成するためのアルバムデータを生成するアルバムデータ生成ステップと、をさらに実行させることを特徴とする請求項1乃至28のいずれか1項に記載のプログラム。
  30. 前記生成されたアルバムデータにより作成されるアルバムを注文するための処理を実行する注文ステップと、をさらに実行させることを特徴とする請求項29に記載のプログラム。
  31. 画像処理装置であって、
    1又は複数の画像データを特定する第1特定手段と、
    複数のテンプレートを評価する評価手段と、
    前記複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、前記特定された前記1又は複数の画像データを配置することで複数のレイアウト画像を生成する生成手段と、
    前記複数のレイアウト画像のうち少なくとも1つのレイアウト画像を、前記複数のテンプレートの評価に少なくとも基づいて特定する第2特定手段と、
    前記特定された前記少なくとも1つのレイアウト画像を出力する出力手段と、
    を有することを特徴とする画像処理装置。
  32. 画像処理装置であって、
    1又は複数の画像データを特定する第1特定手段と、
    複数のテンプレートを評価する評価手段と、
    前記複数のテンプレートの評価に基づいて、前記複数のテンプレートのうち1又は複数のテンプレートを特定するテンプレート特定手段と、
    前記複数のテンプレートの評価に基づいて特定された前記1又は複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、前記特定された前記1又は複数の画像データを配置することで1又は複数のレイアウト画像を生成する生成手段と、
    前記生成された前記1又は複数のレイアウト画像のうち少なくとも1つのレイアウト画像を出力する出力手段と、
    を有することを特徴とする画像処理装置。
  33. 画像処理装置の制御方法であって、
    1又は複数の画像データを特定する第1特定ステップと、
    複数のテンプレートを評価する評価ステップと、
    前記複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、前記特定された前記1又は複数の画像データを配置することで複数のレイアウト画像を生成する生成ステップと、
    前記複数のレイアウト画像のうち少なくとも1つのレイアウト画像を、前記複数のテンプレートの評価に少なくとも基づいて特定する第2特定ステップと、
    前記特定された前記少なくとも1つのレイアウト画像を出力する出力ステップと、
    を有することを特徴とする制御方法。
  34. 画像処理装置の制御方法であって、
    1又は複数の画像データを特定する第1特定ステップと、
    複数のテンプレートを評価する評価ステップと、
    前記複数のテンプレートの評価に基づいて、前記複数のテンプレートのうち1又は複数のテンプレートを特定するテンプレート特定ステップと、
    前記複数のテンプレートの評価に基づいて特定された前記1又は複数のテンプレートがそれぞれ有する1又は複数のスロットに対して、前記特定された前記1又は複数の画像データを配置することで1又は複数のレイアウト画像を生成する生成ステップと、
    前記生成された前記1又は複数のレイアウト画像のうち少なくとも1つのレイアウト画像を出力する出力ステップと、
    を有することを特徴とする制御方法。
JP2019146637A 2019-08-08 2019-08-08 画像処理装置、制御方法及びプログラム Active JP7541816B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019146637A JP7541816B2 (ja) 2019-08-08 2019-08-08 画像処理装置、制御方法及びプログラム
US16/937,429 US11514631B2 (en) 2019-08-08 2020-07-23 Control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019146637A JP7541816B2 (ja) 2019-08-08 2019-08-08 画像処理装置、制御方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2021027555A true JP2021027555A (ja) 2021-02-22
JP7541816B2 JP7541816B2 (ja) 2024-08-29

Family

ID=74501733

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019146637A Active JP7541816B2 (ja) 2019-08-08 2019-08-08 画像処理装置、制御方法及びプログラム

Country Status (2)

Country Link
US (1) US11514631B2 (ja)
JP (1) JP7541816B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7216255B1 (ja) * 2021-11-05 2023-01-31 楽天グループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2023070198A (ja) * 2021-11-05 2023-05-18 楽天グループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7341677B2 (ja) * 2019-02-28 2023-09-11 キヤノン株式会社 装置、方法、及びプログラム
JP7234024B2 (ja) * 2019-04-23 2023-03-07 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5043163B2 (ja) * 2003-09-30 2012-10-10 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. オブジェクトを位置付ける方法、並びに、予め定められたスペースにイメージを位置付ける方法
WO2019132016A1 (ja) * 2017-12-28 2019-07-04 富士フイルム株式会社 画像提示システム、画像提示方法、プログラムおよび記録媒体
WO2019130823A1 (ja) * 2017-12-28 2019-07-04 富士フイルム株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11250272A (ja) * 1998-01-08 1999-09-17 Xerox Corp 自動イメ―ジレイアウト方法及びシステム
JP2003110832A (ja) * 2001-09-27 2003-04-11 Fuji Photo Film Co Ltd 画像合成方法および装置並びにプログラム
US7216295B2 (en) * 2001-12-20 2007-05-08 Canon Kabushiki Kaisha Method of automatic production of image presentations
US7634138B2 (en) * 2002-12-20 2009-12-15 Eastman Kodak Company Method for generating an image of a detected subject
US7339598B2 (en) * 2003-07-11 2008-03-04 Vistaprint Technologies Limited System and method for automated product design
US7548334B2 (en) * 2003-10-15 2009-06-16 Canon Kabushiki Kaisha User interface for creation and editing of variable data documents
JP4455302B2 (ja) * 2003-12-25 2010-04-21 富士フイルム株式会社 画像編集装置および方法並びにプログラム
US7656543B2 (en) * 2004-11-12 2010-02-02 Hewlett-Packard Development Company, L.P. Albuming images
US20060109517A1 (en) * 2004-11-23 2006-05-25 Rodrigo Catalan Personal photo book creation kit
JP2006293986A (ja) * 2005-03-15 2006-10-26 Fuji Photo Film Co Ltd アルバム作成装置、アルバム作成方法、及びプログラム
JP4800104B2 (ja) * 2005-06-13 2011-10-26 富士フイルム株式会社 アルバム作成装置、アルバム作成方法、及びプログラム
US8036489B2 (en) * 2005-07-07 2011-10-11 Shutterfly, Inc. Systems and methods for creating photobooks
US7990564B2 (en) * 2005-07-29 2011-08-02 Vistaprint Technologies Limited Automated image sizing and placement
JP4762731B2 (ja) * 2005-10-18 2011-08-31 富士フイルム株式会社 アルバム作成装置、アルバム作成方法、およびアルバム作成プログラム
JP4762827B2 (ja) * 2006-08-22 2011-08-31 富士フイルム株式会社 電子アルバム生成装置、電子アルバム生成方法、および、そのプログラム
WO2008099776A1 (ja) * 2007-02-16 2008-08-21 Sharp Kabushiki Kaisha ユーザインタフェース生成装置、情報端末、ユーザインタフェース生成制御プログラム、記録媒体、およびユーザインタフェース生成方法
WO2008117827A1 (ja) * 2007-03-26 2008-10-02 Nikon Corporation 画像表示装置、および画像表示用プログラム製品
JP2009277177A (ja) * 2008-05-19 2009-11-26 Fujifilm Corp 画像レイアウト装置、記録媒体および画像レイアウト方法
JP2010044544A (ja) * 2008-08-12 2010-02-25 Canon Inc 画像処理装置、情報処理装置、情報処理方法、及びプログラム
WO2011053293A1 (en) * 2009-10-29 2011-05-05 Hewlett-Packard Development Company, L.P. Graphic object layout templates for arranging images
US8406460B2 (en) * 2010-04-27 2013-03-26 Intellectual Ventures Fund 83 Llc Automated template layout method
JP5773618B2 (ja) * 2010-11-08 2015-09-02 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラム
JP5526193B2 (ja) * 2011-06-20 2014-06-18 富士フイルム株式会社 画像処理装置、画像処理方法および画像処理プログラム
JP6012309B2 (ja) * 2012-07-09 2016-10-25 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
JP5981789B2 (ja) * 2012-07-09 2016-08-31 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
JP6045232B2 (ja) * 2012-07-09 2016-12-14 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP6080409B2 (ja) * 2012-07-09 2017-02-15 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
US10163173B1 (en) * 2013-03-06 2018-12-25 Google Llc Methods for generating a cover photo with user provided pictures
JP6168928B2 (ja) * 2013-09-05 2017-07-26 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム
US20150143256A1 (en) * 2013-11-20 2015-05-21 Memoreze LLC Interface for Interaction with a Compendium by Members of a Group
JP6151221B2 (ja) * 2014-06-16 2017-06-21 富士フイルム株式会社 画像処理装置、画像処理方法、画像処理プログラム、及びプリント注文受付装置
KR102290419B1 (ko) * 2015-01-13 2021-08-18 삼성전자주식회사 디지털 컨텐츠의 시각적 내용 분석을 통해 포토 스토리를 생성하는 방법 및 장치
JP6422409B2 (ja) * 2015-08-07 2018-11-14 キヤノン株式会社 表示制御装置、表示制御方法、及びプログラム
JP6452574B2 (ja) * 2015-08-07 2019-01-16 キヤノン株式会社 表示制御装置、表示制御方法、及びプログラム
JP6494503B2 (ja) * 2015-08-07 2019-04-03 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP6521791B2 (ja) * 2015-08-07 2019-05-29 キヤノン株式会社 情報処理装置およびその制御方法
JP6660119B2 (ja) * 2015-08-07 2020-03-04 キヤノン株式会社 情報処理装置、情報処理方法、並びにプログラム
JP6381514B2 (ja) * 2015-12-25 2018-08-29 キヤノン株式会社 画像処理システム、情報処理装置およびその制御方法
JP6719206B2 (ja) * 2015-12-25 2020-07-08 キヤノン株式会社 画像処理装置、画像処理方法、およびプログラム
JP6494504B2 (ja) 2015-12-25 2019-04-03 キヤノン株式会社 情報処理装置、制御方法およびプログラム
JP6559609B2 (ja) * 2016-04-25 2019-08-14 富士フイルム株式会社 画像合成装置、画像合成方法および画像合成プログラム
US10713430B2 (en) * 2016-11-30 2020-07-14 Google Llc Systems and methods for applying layout to documents
JP6873678B2 (ja) * 2016-12-09 2021-05-19 キヤノン株式会社 画像処理装置、制御方法、及びプログラム
JP6904692B2 (ja) * 2016-12-09 2021-07-21 キヤノン株式会社 画像処理装置、制御方法、及びプログラム
JP6953128B2 (ja) * 2016-12-09 2021-10-27 キヤノン株式会社 画像処理装置、制御方法、及びプログラム
JP6723909B2 (ja) * 2016-12-09 2020-07-15 キヤノン株式会社 画像処理方法、画像処理装置、及びプログラム
JP6890991B2 (ja) * 2017-01-31 2021-06-18 キヤノン株式会社 画像処理装置、制御方法及びプログラム
JP6887816B2 (ja) * 2017-01-31 2021-06-16 キヤノン株式会社 画像処理装置、制御方法、及びプログラム
JP6765977B2 (ja) * 2017-01-31 2020-10-07 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP6702900B2 (ja) * 2017-01-31 2020-06-03 キヤノン株式会社 情報処理装置、表示制御方法、及びプログラム
JP7027101B2 (ja) * 2017-10-03 2022-03-01 キヤノン株式会社 情報処理装置、制御方法、及びプログラム
JP6904871B2 (ja) * 2017-10-03 2021-07-21 キヤノン株式会社 プログラム、情報処理装置、および情報処理方法
JP7076974B2 (ja) * 2017-10-03 2022-05-30 キヤノン株式会社 画像処理装置、制御方法およびプログラム
JP7024308B2 (ja) * 2017-10-13 2022-02-24 セイコーエプソン株式会社 表示装置、表示方法および表示プログラム
JP7224774B2 (ja) * 2018-04-23 2023-02-20 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US10878535B2 (en) * 2018-11-07 2020-12-29 Adobe Inc. Generating a digital collage using digital images
JP7336211B2 (ja) * 2019-02-28 2023-08-31 キヤノン株式会社 画像処理装置、制御方法、及びプログラム
US11501476B2 (en) * 2019-02-28 2022-11-15 Canon Kabushiki Kaisha Image processing apparatus, control method, and storage medium
JP7336209B2 (ja) * 2019-02-28 2023-08-31 キヤノン株式会社 画像処理装置、制御方法、及びプログラム
JP2020145659A (ja) * 2019-03-08 2020-09-10 キヤノン株式会社 フォトアルバム作成システム、フォトアルバム作成方法、およびプログラム
JP7286392B2 (ja) * 2019-04-17 2023-06-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP7286393B2 (ja) * 2019-04-17 2023-06-05 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2021015345A (ja) * 2019-07-10 2021-02-12 キヤノン株式会社 情報処理装置、情報処理方法、プログラム、および表示制御装置
JP7493919B2 (ja) * 2019-08-08 2024-06-03 キヤノン株式会社 画像処理装置、制御方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5043163B2 (ja) * 2003-09-30 2012-10-10 ヒューレット−パッカード デベロップメント カンパニー エル.ピー. オブジェクトを位置付ける方法、並びに、予め定められたスペースにイメージを位置付ける方法
WO2019132016A1 (ja) * 2017-12-28 2019-07-04 富士フイルム株式会社 画像提示システム、画像提示方法、プログラムおよび記録媒体
WO2019130823A1 (ja) * 2017-12-28 2019-07-04 富士フイルム株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7216255B1 (ja) * 2021-11-05 2023-01-31 楽天グループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
WO2023079702A1 (ja) * 2021-11-05 2023-05-11 楽天グループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP2023070198A (ja) * 2021-11-05 2023-05-18 楽天グループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP7303953B2 (ja) 2021-11-05 2023-07-05 楽天グループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP7526318B2 (ja) 2021-11-05 2024-07-31 楽天グループ株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Also Published As

Publication number Publication date
US20210042976A1 (en) 2021-02-11
US11514631B2 (en) 2022-11-29
JP7541816B2 (ja) 2024-08-29

Similar Documents

Publication Publication Date Title
JP2021027555A (ja) 画像処理装置、制御方法及びプログラム
JP2021026703A (ja) 画像処理装置、制御方法及びプログラム
US9378189B2 (en) Layout apparatus, layout method, and computer-readable recording medium
JP2018097491A (ja) 画像処理装置、画像処理方法、及びプログラム
JP7076974B2 (ja) 画像処理装置、制御方法およびプログラム
JP2020140577A (ja) 装置、方法、及びプログラム
US20180217743A1 (en) Image processing apparatus, control method, and computer readable medium
US10999454B2 (en) Information processing method, information processing apparatus, and storage medium that generate, for each of a plurality of images, reliability information indicating reliability of date and time information, and notify a user accordingly
CN108377351A (zh) 用于在模板上布局图像的图像处理装置和图像处理方法
JP7336211B2 (ja) 画像処理装置、制御方法、及びプログラム
JP6887816B2 (ja) 画像処理装置、制御方法、及びプログラム
JP2017117410A (ja) 画像処理システム、情報処理装置およびその制御方法
JP2015069426A (ja) 画像割当装置および画像割当方法
JP7207908B2 (ja) 情報処理システム、情報処理装置、プログラム、および情報処理方法
JP2022123211A (ja) プログラム、画像処理装置、及び画像処理方法
JP7336209B2 (ja) 画像処理装置、制御方法、及びプログラム
JP2017117408A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
US20210090312A1 (en) Image processing apparatus, image processing method, image processing program, and recording medium storing image processing program
JP6821536B2 (ja) 画像処理装置、制御方法及びプログラム
JP2019003326A (ja) 情報処理装置、制御方法、及びプログラム
JP7336212B2 (ja) 画像処理装置、制御方法、及びプログラム
JP6685682B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US20120075292A1 (en) Stereoscopic image display control apparatus, and method and program for controlling operation of same
JP2013054658A (ja) 情報処理装置、制御方法、プログラム
JP2020140556A (ja) 画像処理装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231031

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20231213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240412

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240716

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240819

R150 Certificate of patent or registration of utility model

Ref document number: 7541816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150