JP7207908B2 - 情報処理システム、情報処理装置、プログラム、および情報処理方法 - Google Patents

情報処理システム、情報処理装置、プログラム、および情報処理方法 Download PDF

Info

Publication number
JP7207908B2
JP7207908B2 JP2018162153A JP2018162153A JP7207908B2 JP 7207908 B2 JP7207908 B2 JP 7207908B2 JP 2018162153 A JP2018162153 A JP 2018162153A JP 2018162153 A JP2018162153 A JP 2018162153A JP 7207908 B2 JP7207908 B2 JP 7207908B2
Authority
JP
Japan
Prior art keywords
image
image data
analysis
user
printing
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.)
Active
Application number
JP2018162153A
Other languages
English (en)
Other versions
JP2020036237A (ja
Inventor
智也 石田
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 JP2018162153A priority Critical patent/JP7207908B2/ja
Priority to US16/537,907 priority patent/US10992827B2/en
Publication of JP2020036237A publication Critical patent/JP2020036237A/ja
Application granted granted Critical
Publication of JP7207908B2 publication Critical patent/JP7207908B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00143Ordering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1208Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/125Page layout or assigning input pages onto output media, e.g. imposition
    • G06F3/1252Page layout or assigning input pages onto output media, e.g. imposition for sheet based media
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1287Remote printer device, e.g. being remote from client or server via internet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00185Image output
    • H04N1/00188Printing, e.g. prints or reprints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00185Image output
    • H04N1/00196Creation of a photo-montage, e.g. photoalbum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • H04N1/3871Composing, repositioning or otherwise geometrically modifying originals the composed originals being of different kinds, e.g. low- and high-resolution originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Processing Or Creating Images (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、情報処理システム、情報処理装置、プログラム、及び情報処理方法に関する。
ユーザーが撮りためた写真に対応する画像データをレイアウトしてフォトアルバムを作成する技術が特許文献1に開示されている。
特開2018-124780号公報
ところで、写真に対応する画像データを保持する装置と、画像データを解析する装置が異なる場合、写真に対応する画像データを保持する装置は解析処理を実行する装置に画像データを送信する必要がある。この場合、効率よく画像データを送信することでユーザーの利便性の向上を図ることが求められる。
本発明は、上記課題に鑑み、画像データの送信を効率的に行うことでユーザーの利便性をより高めることを目的とする。
ユーザーが選択した画像に基づいて解析用画像データを生成する第1生成手段と、前記第1生成手段により生成された解析用画像データをサーバーシステムに送信する第1信手段と、前記ユーザーが選択した画像に対応し、かつ、前記解析用画像データよりもデータサイズが大きい印刷用画像データを、前記解析用画像データの送信が完了した後に、前記サーバーシステムに送信する第2送信手段と、前記解析用画像データに基づいて実行されたレイアウト処理により得られるレイアウト結果を受信した後に、前記レイアウト結果に含まれる画像からユーザにより選択された画像を新規画像へ入れ替える入れ替え手段と、を有し、前記入れ替え手段により入れ替えられた前記新規画像に対応する画像データについては、前記新規画像に対応する前記解析用画像データを送信することなく前記新規画像に対応する前記印刷用画像データが送信されることを特徴とする。
本発明により、ユーザーの利便性をより高めることが可能となる。
情報処理システムの構成を示す図である。 情報処理装置のハードウェア構成を示す図である。 クライアントサイドWebアプリケーションの構成を示す図である。 ユーザーインターフェースを示す図である。 自動レイアウトエンジンを示す図である。 自動レイアウト処理の流れを示すフローチャートである。 自動レイアウト処理における画像解析情報を説明する図である。 自動レイアウト処理における画像群分割を説明する図である。 自動レイアウト処理におけるシーン分類を説明する図である。 自動レイアウト処理における画像得点を説明する図である。 自動レイアウト処理における画像選択を説明する図である。 自動レイアウト処理における画像レイアウトを説明する図である。 本実施形態のシーケンス図である。 本実施形態のシーケンス図である。 本実施形態のシーケンス図である。 本実施形態のシーケンス図である。 本実施形態のシーケンス図である。 本実施形態のシーケンス図である。
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
<実施形態1>
図1は、フォトアルバム作成/注文のための情報処理システムの構成の一例を示す図である。図1に示すように、情報処理システムは、クライアント1と、サーバーサイド2とを有し、クライアント1とサーバーサイド2は、各々のネットワーク7を経由してインターネット3で接続されている。クライアント1の例としては、パーソナルコンピュータやスマートフォンが挙げられる。サーバーサイド2の例としては、サーバーサイド2で動作する物理サーバーや仮想サーバーが挙げられる。なお、サーバーサイド2は、複数のサーバー群で構成されても良いし、1台のサーバーで構成されても良い。なお、サーバーサイド2全体をサーバーシステムと呼ぶこともある。ネットワーク7の例としては、一般家庭用のホームネットワークが挙げられる。
クライアント1にはWebブラウザ4があり、Webブラウザ4でフォトアルバムを作成するためのクライアントサイドWebアプリケーション8が動作する。クライアントサイドWebアプリケーション8はHTML(HyperText Markup Language)、CSS(Cascading Style Sheets)、JavaScript(登録商標)などで構成される。Webブラウザ4は、WWW(World Wide Web)を利用する際に用いられるブラウザである。
サーバーサイド2には、管理システム5、ショッピングサイト6がある。管理システム5は、静的Webサーバー9、自動レイアウトエンジン10、ストレージ11、データベース12、管理サーバー13を備える。なお、管理システム5も、1台のサーバーで構成されても良いし、複数のサーバー群で構成されても良い。そのため管理システム5を、単にサーバーシステム(またはレイアウトシステム)と呼ぶこともある。
静的Webサーバー9はクライアントサイドWebアプリケーション8を構成するHTML、CSS、JavaScriptなどのデータを保有している。Webブラウザ4が、それらのデータを取得することでクライアントサイドWebアプリケーション8がWebブラウザ4で動作する。
ショッピングサイト6はユーザーがフォトアルバムを注文する際に利用され、ユーザーが作成したフォトアルバムの決済などを行う。
自動レイアウトエンジン10とは、フォトアルバムの自動レイアウト機能を実装したプログラムがインストールされている物理サーバーや仮想サーバー、または、サーバーのアプリケーション実行環境であるコンテナで動作するプログラムのことである。
ストレージ11は、パブリッククラウドなどが提供するストレージサービスや、物理サーバーまたは仮想サーバーが保有するストレージなどのことである。ストレージ11はユーザーがWebブラウザ4上で選択した画像などのデータを保存しておくために使われる。
データベース12は、パブリッククラウドなどが提供するデータベースサービスや、物理サーバーまたは仮想サーバーが保有するデータベースなどのことである。データベース12には、ストレージ11にアップロードされた画像に関する情報や、自動レイアウトエンジン10が行なった画像解析結果やレイアウト結果などが保持される。
管理サーバー13はユーザーが最終的に注文するフォトアルバムのデータを生成したり、フォトアルバムのデータをショッピングサイト6に転送したりする。
図2は、クライアント1のハードウェア構成の一例を表す図である。なお、サーバーサイド2における各物理サーバーも同様の構成を有するものとする。ただし、クライアント1とサーバーサイド2の各物理サーバーは、同一の構成からなる必要はない。図2に示すように、クライアント1は、CPU204、RAM201、ROM203、HDD202、表示部205、入力部208、通信制御部207を有し、それぞれがシステムバス206により接続されている。また、通信制御部207がネットワーク7に接続する。CPU(中央演算装置/プロセッサ)204は、システム制御部であり、クライアント1全体を制御する。また、CPU204は、本実施形態で説明する表示制御方法をプログラムに従って実行する。RAM201は、ランダムアクセスメモリであり、CPU204によるプログラムの実行時に、各種情報を一時的に記憶するためのメモリを提供している。ROM203は、CPU204により実行されるプログラムが記憶されている。HDD(ハードディスク)202は、画像ファイルや画像解析などの処理結果を保持するデータベースなどを記憶するための記憶媒体である。
図3はクライアントサイドWebアプリケーション8の構成図である。クライアントサイドWebアプリケーション8は、画像選択部31、解析用画像生成部32、解析用画像アップロード部33、印刷用画像アップロード部34、フォトアルバム編集部35から構成される。ユーザーがフォトアルバムに配置したい所望の写真を選択すると、画像選択部31は、ユーザーの指示に従って写真に対応する画像データを選択する。解析用画像生成部32では、自動レイアウト機能が処理できるサイズに元画像を縮小した解析用画像データを生成する。解析用画像アップロード部33では、解析用画像生成部32で生成された解析用画像データを管理システム5にアップロードする。印刷用画像アップロード部34では、ユーザーが選択した写真に対応する元画像データをアップロードする。なお、印刷用画像アップロード部34は、元画像データを印刷品位が保てるサイズに縮小することで印刷用画像データを生成し、管理システム5にアップロードしても良い。フォトアルバム編集部35では、自動レイアウト機能によって作られたフォトアルバムをユーザーが編集する機能を提供する。
図4は、クライアントサイドWebアプリケーション8の実行によりCPU204によって提供される表示画面であり、ユーザーがフォトアルバムを編集するための編集画面の一例である。編集画面401は、クライアントサイドWebアプリケーション8により提供される。表示領域402は、フォトアルバムの各ページのサムネイルを一覧表示する領域である。表示領域403は、表示領域402で選択されたページのプレビュー画像を表示する領域であり、レイアウト画像の編集を行うことができる。
表示領域402において、ユーザーが各ページのサムネイルの中から所望のサムネイルを選択することで、そのページが選択状態の表示404になる。図4では、3~4ページの2ページ分(見開き1つ分)が選択状態であり、このページのレイアウト画像が表示領域403に表示される。なお見開きとは、たとえば表示においてはひとつの表示用ウィンドウに相当し、印刷においては印刷された互いに隣接する1対のページに相当する。
表示領域403では、フォトアルバムの編集操作が可能となる。レイアウト画像において表示されるテンプレートは、1以上のスロットを有する。図4では、3ページ目(図中左ページ)に3つのスロット405を有し、4ページ目(図中右ページ)に1つのスロット405を有する。スロット405には、写真に対応する画像データが割り当てられる。なお、本実施形態では、各スロット405には、上述した処理によりアップロードされた解析用画像データが後述の処理により自動的に割当てられている。テキストボックス406にはユーザーにより任意のテキストが入力される。
ボタン407は、アプリケーションにより作成した(編集した)フォトアルバムをカートに入れるためのボタンである。このボタン407を押すことにより、編集したフォトアルバムのレイアウト情報がインターネット3経由でサーバーサイド2のショッピングサイト6にアップロードされる。
(自動レイアウト処理部の構成)
図5は、自動レイアウトエンジン10の一部の機能のソフトウェアブロック図である。自動レイアウトエンジン10は様々な機能を持つが、図5では、特に自動レイアウト処理部916により提供される自動レイアウト機能に関して説明する。自動レイアウト機能は、解析用画像データをその内容や属性に基づいて分類し、あるいは選択して各スロットにレイアウトし、表示部205に表示するアルバム画像を生成する。
本実施形態では、自動レイアウトエンジン10は、クライアントサイドWebアプリケーション8が管理システム5において提供されるWebAPIを呼ぶことにより起動される。図5に示すように、自動レイアウトエンジン10は、アルバム作成条件指定部901と、自動レイアウト処理部916と、を含む。マウス等の入力部208を介したUI操作に応じてアルバム作成条件を自動レイアウト処理部916に指定する。
画像取得部902は、アルバム作成指定部から指定された画像群をHDD202から取得する。ここでいう画像群とは、1つのアルバム作成の際にレイアウトする候補画像群を指し、アップロードされた解析用画像データ群に対応する。
画像変換部903は、解析用画像データを所望の画素数や色情報に変換する。本実施形態では、予め決められた短辺画素の画素数、短辺画素の画素数と解析用画像データのアスペクト比から算出される長辺画素の画素数およびsRGBの色情報の解析画像に変換する。
画像解析部904は、解析画像から後述の特徴量取得、顔検出、表情認識、個人認識を実施する処理である。また、解析用画像データに付随したデータ、例えばExif情報から撮影日時を取得する処理も画像解析部904が実施する。
画像分類部905は、画像群に対して撮影日時情報や枚数、検出した顔情報を使って後述のシーン分割、シーン分類を実施する。シーンとは、旅行や日常、結婚式等の撮影シーンのことである。シーンとは、例えば、一つの撮影対象について一時期の撮影機会に撮影された画像の集まりであるということもできる。
主人公情報入力部906は、アルバム作成条件指定部901から指示された主人公のID(識別情報)を画像得点部907に入力する。
画像得点部907は、解析画像に対して得点を付与する。本実施形態では、レイアウトに適した画像が高得点になるように得点が付与される。レイアウトに適した解析画像が高得点になるように得点が付与される場合、画像解析部904で得られた情報、画像分類部905で得られた情報が使用される。画像得点部907は、主人公情報入力部906から入力された主人公IDに対応するオブジェクトが含まれる解析画像の得点が高得点になるように、各解析画像に対して得点を付与する。
見開き割当部909は、画像群を分割して各見開きに割り当てる。ここでいう見開きとは、例えばアルバムを作成した際の見開きであり2ページ分に相当する。
見開き入力部908は、アルバム作成条件指定部901から指定されたアルバムの見開き数を見開き割当部909に入力する。
見開き割当部909は、入力された見開き数に応じて画像群を分割して各見開きに画像群の一部を割り当てる。例えば、見開き数が5である場合、取得した画像群を分割して5つのサブ画像群を生成し、各見開きに1つのサブ画像群を割り当てる。
画像選択部910は、見開き割当部909で各見開きに割り当てられたサブ画像群から画像得点部907で付けた得点に基づいて画像を選択する。
テンプレート入力部911は、アルバム作成条件指定部901から指定されたテンプレート情報に応じた複数のテンプレートを画像レイアウト部912に入力する。
画像レイアウト部912は、画像のレイアウトを決定する。具体的には、テンプレート入力部911が入力した複数のテンプレートのうち、画像選択部910が選択した画像に適したテンプレートを選択し、各画像のレイアウト(配置位置)を決定する。
画像補正条件入力部913は、アルバム作成条件指定部901から指定された画像補正のON/OFF条件を画像補正部914に入力する。
画像補正部914は、覆い焼き補正、赤目補正、コントラスト補正をする。画像補正部914は画像補正条件ONの場合は、画像に対して補正を実施する。画像補正条件OFFの場合は、補正を実施しない。尚、画像補正部914には、画像変換部903から入力された画像に対して補正のON/OFFを実施する。画像変換部903から画像補正部914に入力する画像の画素数は、画像レイアウト部912で決定したレイアウトのサイズに合わせて変えられる構成となっている。
レイアウト情報出力部915は、画像レイアウト部912が決定した画像レイアウトに従って、ディスプレイに表示する為のレイアウト情報を出力する。レイアウト情報は例えば、選択したテンプレートに選択した画像をレイアウトしたビットマップデータである。
(自動レイアウト処理のフロー)
図6は本実施形態に係る自動レイアウト処理部916において実行される処理を示すフローチャートである。図6に示すフローチャートは、例えば、サーバーサイド2側の自動レイアウトエンジン10が搭載された物理サーバーのCPU204がHDD202に格納されたプログラムをROMやRAM201に読み出して実行することにより実現される。なお、以下の説明では、Stepを単にSと記載する。
S01において、CPU204は、解析用画像生成部32を用いて解析画像を生成する。上述したようにクライアント1から解析用画像データがアップロードされるため、この解析用画像データに基づいて解析画像が生成される。具体的には、画像取得部902により取得された解析用画像データを所望の画素数と色情報に変換する。なお、ここで変換する画素数及び色情報は、予め決められている。本実施形態では、短辺画素とsRGBの色情報の解析画像に変換する。
S02において、CPU204は、画像解析部904を用いて画像特徴量を取得する。アップロードされた解析用画像データに付随する例えばExif情報から画像特徴量として撮影日時が取得される。また、S01で生成された解析画像から特徴量としてピントに関する情報が取得される。ここでピントに関する情報の取得方法について説明する。エッジの検出方法として一般的にソーベルフィルタが知られている。ソーベルフィルタでエッジ検出して、エッジの始点と終点の輝度差を始点と終点の距離で割ればエッジの傾きを算出できる。画像中のエッジの平均傾きを算出して、平均傾き大の画像は平均傾き小の画像よりもピントが合っていると考えることが出来る。傾きに対して異なる値の複数の閾値を設定し、どの閾値以上かを判別することでピント量を出せる。本実施形態では異なる2つの閾値を設定し、○△×の3段階でピント量を判別する。アルバムに採用したいピントの傾きを○、許容できるピントの傾きを△、許容できない傾きを×として、実験を通して閾値を設定する。
S03においてCPU204は、画像解析部904を用いて顔検出を実施する。S01で生成された解析画像から顔オブジェクトを検出する。顔の検出は、公知の方法を用いることができ、例えば、複数用意した弱識別器から強識別器を作成するAdaboostが挙げられる。本実施形態では、CPU204は、Adaboostにより作成した強識別器により人物(オブジェクト)の顔オブジェクトを検出する。CPU204は、顔オブジェクトを検出すると共に、検出した顔オブジェクトの左上座標値と右下座標値を取得する。この2種の座標を特定することにより、人物の顔の位置と顔のサイズを特定することができる。なお、ここでは、人物の顔オブジェクトを検出するものとしたが、人物の顔に限らず、犬や猫等の動物、花、食べ物、建物、置物等の顔以外のオブジェクトが検出されるようにしてもよい。
S04においてCPU204は、画像解析部904を用いて個人認識をする。具体的には、CPU204は、まずS03で抽出した顔オブジェクトと顔辞書データベースに個人ID毎に保存されている代表顔オブジェクトとの類似性を比較する。そして、CPU204は、類似性が閾値以上で最も類似性が高いIDを抽出した顔オブジェクトのIDとして設定する。なお、CPU204は、類似性が閾値未満の場合は新規の顔と判断して、顔辞書データベースに検出した顔オブジェクトを登録する。
S02からS04で取得した画像解析情報は、図7に示すように各画像を識別するID毎に区別して記憶される。なお、図7に示すように、S02で取得した撮影日時情報、ピント判別結果、S03で検出した顔オブジェクトの数と位置情報が保存される。顔の位置情報はS04で取得した個人ID毎に区別して記憶される。解析画像において顔オブジェクトが検出されない場合、S02で取得した撮影日時情報及びピント判別結果が保存され、顔に関わる情報は保存されない。
S05においてCPU204は、アップロードされた全ての解析用画像データに対してS01からS04が終了したか否かを判定する。終了していない場合(S05でNo)、S01に戻る。終了している場合(S05でYes)はS06に移行する。
S06においてCPU204は、画像分類部905を用いてシーン分割を実行する。シーン分割とは、取得した画像群をシーンに応じて複数のサブ画像群に分割することを指す。具体的には、CPU204は、S02で取得済みの撮影日時情報により示される解析画像間の時間差に基づいて画像群を複数のサブ画像群に分割する。解析画像と解析画像の撮影日が連続していない場合、すなわち、解析画像間に撮影していない日が存在する場合、CPU204は、その撮影していない日の前後で画像群を分割する。次に、撮影日が連続する場合について説明する。本実施形態では、解析画像間の撮影時間の差が16時間以上空いている場合、CPU204は、その16時間の空き時間の前後で画像群を分割する。解析画像間の撮影時間の差が16時間未満の場合、CPU204は、連続する各日の最初の撮影から最後の撮影までの時間差が4時間未満なら、日にち単位で画像群を分割する。なお、4時間以上の場合は、連続する各日の撮影枚数が50枚未満である場合、CPU204は、日にち単位で画像群を分割し、50枚以上であれば分割しない。なお、分割の際の時間差の閾値や枚数の閾値は、これに限定されるものではない。図8(A)は、上述したシーン分割方法で分割した結果を示し、画像群が8個のサブ画像群に分割された結果を示す。
S07においてCPU204は、画像分類部905を用いてシーン分類を実行する。本実施形態では、各サブ画像群を旅行、日常、セレモニーの3つに分類する場合を例に挙げて説明するが、分類はこれに限定されるものではない。まず、CPU204は、旅行に分類されたサンプル画像群、日常に分類されたサンプル画像群、セレモニーに分類されたサンプル画像群を取得する。そして、各サンプル画像群について、CPU204は、撮影の特徴量を取得する。本実施形態で取得する特徴量は、例えば、撮影期間、撮影枚数、撮影人数である。撮影期間は、画像群の最初の撮影から最後の撮影までの時間差である。撮影枚数は、サブ画像群に含まれる画像の数(写真の枚数)である。撮影人数は、顔が写っている画像における顔の数である。すなわち、1つの画像に含まれる顔オブジェクトの数である。そして、複数のサンプル画像群に対して、撮影期間の平均値と標準偏差、撮影枚数の平均値と標準偏差、1画像あたりの人数の平均値と標準偏差を求める。図9は、撮影期間(時間)、撮影枚数(枚)、撮影人数(人)の各平均値と標準偏差を示す。これらの求めた値は、自動レイアウトエンジン10のプログラムに予め組み込まれている。自動レイアウトエンジン10が起動された後、S06のシーン分割により生成された各サブ画像群に対して、CPU204は、撮影期間と撮影枚数、撮影人数の平均値を算出する。そして、シーン毎に、前記各サブ画像群の撮影期間、撮影枚数、撮影人数の特徴量について、それぞれの平均値と標準偏差に基づいて、以下の式により得点化を実施する。
得点=50-|10×(平均値-特徴量)/標準偏差| (式1)
平均得点=(撮影期間の得点+撮影枚数の得点+人数の得点)/特徴量項目数 (式2)
以上によって、1つのサブ画像群に対して、旅行、日常、セレモニー毎の平均得点が算出される。サブ画像群毎に最高点のシーンをそのサブ画像群のシーンとして分類する。2以上のシーンが同点の場合は、優先シーンに分類する。例えば本実施形態では、日常>セレモニー>旅行の順であり、日常の優先度を最も高くしている。
例えば、図8(A)のシーン分割された後のサブ画像群(5)の撮影期間が36時間、撮影枚数が300枚、撮影人数が1.7人であったとする。この場合、サブ画像群(5)における旅行の平均得点は45.32、日常の平均得点は18.38、セレモニーの平均得点は-29.92となる。その結果、サブ画像群(5)のシーンは旅行に分類される。分類したシーンは識別ができるようにシーンIDで管理する。
S08においてCPU202は、S06で生成された全サブ画像群に対してS07のシーン分類が終了したか否かを判定する。終了していない場合(S08でNo)、S07に戻る。終了している場合(S08でYes)、S09に移行する。
S09においてCPU204は、画像得点部907を用いて主人公設定を実行する。主人公設定はユーザーが指定した画像群に対して実施され、自動と手動の2種類がある。自動で主人公を設定する場合、S04の個人認識の結果と、S06のシーン分割の結果に基づいて設定が実行される。S04で取得した結果から、CPU204は、サブ画像群に登場する各個人IDの回数、各シーンに登場する各個人IDの回数、各個人IDが登場するシーンの回数等を特定し、これらの情報から自動で主人公を設定する。本実施形態では、サブ画像群に複数シーンがある場合は複数のシーンに登場する個人IDが主人公IDとして設定され、サブ画像群が単一シーンである場合は、単一シーンの登場回数が多い個人IDが主人公IDとして設定される。主人公設定部304でユーザーが特定のアイコンを指定している場合は、選択されたアイコンに対応する個人IDが主人公情報入力部906を介して画像得点部907に伝えられる。ユーザー指定に対応する個人IDがある場合は、上述した自動設定の主人公IDは無視して、ユーザー指定に対応する個人IDが主人公IDとして設定される。このように、主人公設定部304の指定に基づく設定を手動設定とする。
S10においてCPU204は、画像得点部907を用いて得点化処理を実行する。得点化処理とは、後述する観点で評価した得点を各解析画像に付与する。なお、付与された得点は、後述するS17の画像選択時に参照される。
図12は、3枚の画像をレイアウトする際に用いるテンプレート群を示している。図12の(1-1)に示すテンプレート1601は1枚のテンプレートであり、メインスロット1602と、サブスロット1603、サブスロット1604を有する。メインスロット1602とは、テンプレート1601でメインとなるスロット(画像をレイアウトする枠)であり、サブスロット1603とサブスロット1604よりもサイズが大きい。また、サブスロットとは、各テンプレートにおいて、メインスロット以外のスロットである。メインスロット用の得点とサブスロット用の得点の両方が各解析画像に付与される。
次に、図10(A)に得点化の基準を示す。図10(A)は旅行、日常、セレモニーのシーン毎に得点が高くなる画像の特徴を、メインスロットとサブスロットに分けてまとめた表である。なお、図10(A)に示すように、スロットの種類に応じて、得点が高くなる特徴が異なる。例えば、サブ画像群のシーン分類が旅行である場合、人物と風景が入ったひいた画像は、メインスロットとしての得点が高くなり、顔のアップや横顔の画像は、サブスロットとしての得点が高くなる。なお、他のシーンについては図10(A)に記載した通りである。このように、シーン及びスロットの種類に応じて、得点が高くなる特徴、言い換えれば、評価基準が異なる。本実施形態では、シーン及びスロットの種類に応じた得点が高くなる特徴は、自動レイアウトエンジン10に予め設定されており、プログラムに含まれるものとする。なお、得点が高くなる特徴は、上述したものに限定されるものではない。図10(A)に示す各シーンのメインスロットとサブスロットのそれぞれの特徴に基づいて、各サブ画像群に含まれる各解析画像に得点が付与される。CPU204は、各解析画像における顔オブジェクトの数、各解析画像における顔オブジェクトの位置、各解析画像における顔オブジェクトのサイズを取得する。そして、CPU204は、各解析画像について、平均値と標準偏差を各シーンおよび各スロット種類(メインスロットとサブスロット)に対して算出して、記憶する。ユーザーが指定した画像群の各解析画像がいずれのシーンに属するか(分類されるか)は、S07のシーン分類の結果から特定される。そして、注目解析画像のシーンに対応する予め求めた前記平均値と標準偏差および注目解析画像における主人公IDの顔オブジェクトの数、顔オブジェクトの位置、顔オブジェクトのサイズの各特徴量に基づいて以下の式を使って得点と平均得点を出す。
得点=50-|10×(平均値-特徴量)/標準偏差|
平均得点=(顔数の得点+顔位置の得点+顔サイズの得点)/特徴量項目数
なお、得点化処理は、メインスロット用とサブスロット用の両方に対して実施される。また、図7に示すピントの特徴量が○である解析画像に対しては得点を加算してもよい。これにより、ピントが合っている解析画像の得点を高くすることができる。図10(B)は、各解析画像の得点結果の一例を示しており、各解析画像のIDに対して、メインスロットとサブスロットの得点が付与されている。
S11においてCPU204は、画像得点部907を用いてユーザー指定の画像群の全解析画像に対してS10の得点化処理が終了したか否かを判定する。終了していない場合(S11でNo)、S10に戻る。終了している場合(S11でYes)、S12に移行する。
S12においてCPU204は、見開き割当部909を用いて、画像分類部905のシーン分割により得られたシーン数(サブ画像群の数)が見開き数入力部908により入力される見開き数と同じか否かを判定する。同じでない場合(S12でNo)、S13に移行する。同じ場合(S12でYes)、S16に移行する。例えば、図8(A)のサブ画像群の数が8であり、見開き数入力部908の入力数が8であればS16に移行する。
S13においてCPU204は、見開き割当部909を用いて画像分類部905のシーン分割により得られたサブ画像群の数が見開き数入力部908により入力される見開き数より少ないか否かを判定する。サブ画像群の数が見開き数より少なくない場合(S13でNo)、S15に移行する。サブ画像群の数が見開き数より少ない場合(Step13でYes)はStep14に移行する。例えば、図8(A)のサブ画像群の数が8であり、見開き数入力部908の入力数が10であれば、サブ画像群の数が見開き数より少ないため、S14に移行する。
S14においてCPU204は、見開き割当部909を用いてサブシーン分割を実行する。サブシーン分割とは、シーン分割数<見開き数の場合に分割されたサブ画像群を更に分割することを指す。図8(A)のサブ画像群の数8に対して指定見開き数が10である場合を例に挙げて説明する。図8(B)では、図8(A)をサブシーン分割した結果である。破線矢印の箇所でサブ画像群をさらに分割したことで、サブ画像群の数を10に増やしている。サブシーン分割する基準は、画像枚数および撮影日時である。CPU204は、図8(A)のサブ画像群の中で画像枚数が多いサブ画像群を特定する。ここでは、シーン数を8から10に2つ増やしたいため、画像枚数が多い2つのサブ画像群を特定する。多い方からサブ画像群(5)、次にサブ画像群(1)とサブ画像群(2)が特定される。
本実施形態では、サブ画像群に含まれる枚数が同じである場合は、サブ画像群に含まれる最初の画像と最後の画像の時間差が大きい方のサブ画像群を分割する。サブ画像群(1)とサブ画像群(2)は、含まれる画像の同じ枚数だが、サブ画像群(2)の方が最初の画像から最後の画像の時間差が大きいため、サブ画像群(2)を分割対象とする。すなわち、図8(B)では、サブ画像群(5)とサブ画像群(2)をそれぞれさらに分割する。
まず、図8(A)におけるサブ画像群(2)の分割方法について説明する。サブ画像群(2)には、画像枚数の山が2つあり、この2つは撮影日が違う。この場合は、撮影日が変わる箇所(図8(B)の破線矢印の箇所)で分割する。
次に、図8(A)におけるサブ画像群(5)の分割を説明する。サブ画像群(5)には画像枚数の山が3つあり、この3つは撮影日が違う。この場合も、撮影日が変わる箇所で分割する。このとき、撮影日が変わる箇所が2箇所あるが、分割後の各画像群の枚数差が小さくなるように分割する。図8(A)のサブ画像群(5)は、2日目と3日目の境目で分割した方が、1日目と2日目の境目で分割するよりも分割後の各サブ画像群の枚数差が小さくなるので、2日目と3日目の境目で分割する。すなわち、図8(B)の破線矢印の箇所で分割する。以上により分割数を8から10にする。ここでは撮影日の違う箇所で分割したが、画像枚数が多いサブ画像群が単一日で撮影されたものである場合は、単一日の中で時間差が最大の箇所で分割する。
S15においてCPU204は、見開き割当部909を用いてシーン統合を実行する。シーン統合とは、シーン数が見開き数よりも多い場合、分割されたシーン(サブ画像群)を統合する。具体的には、サブ画像群の数と見開き数が一致するように、シーン統合をする。図8(C)は、見開き数が6の場合、図8(A)をシーン統合してサブ画像群の数を6に減らした結果である。破線の箇所を統合、言い換えれば、破線の箇所での分割をしないことで、シーン数(サブ画像群の数)を6にする。シーン統合では、画像枚数が少ないサブ画像群を特定する。ここでは、分割数を8から6に2つ減らしたいため、画像の枚数が少ないサブ画像群を特定する。
図8(A)において画像枚数が少ないサブ画像群は、少ない方からサブ画像群(8)、サブ画像群(3)、サブ画像群(7)である。したがって、CPU204は、まず、サブ画像群(8)を統合対象とする。次に、サブ画像群(3)とサブ画像群(7)は、画像の枚数は同じである。ただし、サブ画像群(7)に隣接するサブ画像群(8)が統合対象であるため、サブ画像群(3)を統合対象とする。次に、CPU204は、統合対象のサブ画像群を、撮影日時が前のサブ画像群に統合するか、撮影日時が後のサブ画像群に統合するかを決定する。まず、サブ画像群(3)の統合を説明する。CPU204は、図8(A)におけるサブ画像群(3)の前後のサブ画像群(2)とサブ画像群(4)との時間差を比較する。その結果、サブ画像群(3)の最後の解析画像とサブ画像群(4)の最初の解析画像との撮影時間の差の方がサブ画像群(3)の最初の解析画像とサブ画像群(2)の最後の解析画像との撮影時間の差よりも小さい。したがって、図8(A)のサブ画像群(3)は、サブ画像群(4)に統合すると決定される。すなわち、図8(C)の破線の箇所を統合する。次に、サブ画像群(8)の統合を説明する。図8(A)におけるサブ画像群(8)は、後のサブ画像群がない為、前のサブ画像群(7)と統合する。すなわち、図8(C)の破線箇所で統合する。なお、本実施形態では、撮影時間の差が小さいサブ画像群同士を統合することにしたが、これに限定されるものではない。例えば、統合対象のサブ画像群を撮影枚数が少ないサブ画像群に統合するようにしてもよい。
S16においてCPU204は、見開き割当部909を用いて見開き割当を実行する。S12~S15によって、サブ画像群の数と指定見開き数は同じになっている。本実施形態では、CPU204は、撮影日時の順序に従いサブ画像群を見開きに割り当てる。すなわち、CPU204は、撮影日時が先頭のサブ画像群を先頭の見開きに割り当て、撮影日時が2番目のサブ画像群を2番目の見開きに割り当てる。すなわち、撮影日時順にサブ画像群をアルバムの各見開きのページに割当てる。これにより、撮影日時順にサブ画像群が並んだアルバムを作成することができる。なお、後述する通り、1つの見開きページ内では、解析画像は撮影日時に並んでいなくてもよい。
S17においてCPU204は、画像選択部910を用いて各サブ画像群から所定枚数の解析画像を選択する。図11を用いて、ある見開きに割り当てられたサブ画像群から解析画像を4枚選択する場合を例に挙げて説明する。なお、ここでは、見開きとは、2ページを指し、最初の見開き及び最後の見開きは、1ページとする。図11(A)は、見開きに割り当てられたサブ画像群に含まれる最初の解析画像から最後の解析画像までの撮影日時の時間差、言い換えれば、サブ画像群の撮影期間を示す。図11(B)を使って、CPU204が、1枚目の解析画像を選択する方法を説明する。テンプレートには、1つのメインスロット1002がある。CPU204は、1枚目として、メインスロット用の解析画像を選択する。CPU204は、図11(B)に示すサブ画像群の撮影期間に撮影された全ての解析画像のうちS10で付与されたメインスロット用の得点が最高点の解析画像を選択する。そして、CPU204は、2枚目以降についてサブスロット用の解析画像を選択する。本実施形態では、サブ画像群の撮影期間を細分化して画像を選択することにより、アルバムに使用される解析画像の撮影期間の分散化を図る。まず、図11(C)のように、CPU204は、サブ画像群の撮影期間を2分割して、2つの撮影期間とする。すなわち、サブ分割撮影期間を2等分して2つの撮影期間にする(グループ分けする)。次に、CPU204は、図11(D)のように1枚目が選ばれていない撮影期間(実線の区間)からサブスロット用の得点が最高点の画像を2枚目として選択する。次に、図11(E)のように、CPU204は、図11(D)の各撮影期間をそれぞれ2等分する。CPU204は、図11(F)の実線区間、すなわち、1枚目と2枚目が選ばれていない2つの撮影期間に撮影された解析画像(2つの撮影期間に対応する画像)のうちサブスロット用の得点が最高点の解析画像を3枚目として選択する。次に、画像を選択する撮影期間に画像が存在せず、画像選択できない例を4枚目の選択を例に挙げて説明する。本実施形態では、画像の枚数に関わらず、時間に応じて撮影期間を分割している。したがって、分割して得られた撮影期間に画像が存在しない場合がある。例えば、図11(G)のように、CPU204は、まだ画像が選ばれていない撮影期間(斜線の区間)から4枚目を選択したいが、この斜線区間には画像が存在しないとする。この場合は、CPU204は、図11(H)のように、画像を選択済みの各撮影期間をそれぞれ2分割する。次に、CPU204は、図11(I)のように、1~3枚目が選ばれていない実線の撮影期間に撮影された解析画像のうちサブスロット用の最高点の解析画像を4枚目として選択する。
S18においてCPU204は、画像レイアウト部912を用いて処理対象の見開きの画像レイアウトを決定する。テンプレート入力部911が、指定のテンプレート情報に従ってある見開きに対して図12(A)の(1-1)~(4-4)のテンプレートを入力した場合を例に挙げて説明する。入力されたテンプレートのスロット数は3である。また、S17により選択された画像3枚の画像の向きが縦方向か横方向かを撮影日時の順に並べた結果が図12(B)であったとする。ここでは、画像1605がメインスロット用として選択された解析画像であり、画像1606と画像1607がサブスロット用として選択された解析画像とする。本実施形態では、テンプレートの左上に撮影日時のより古い画像、右下に撮影日時のより新しい画像をレイアウトするものとする。画像1605は、縦画像であり、撮影日時が一番新しく且つメインスロット用の画像であるため、図12(3-1)~(3-4)のテンプレートが候補となる。そして、サブスロット用の古い方の画像1606、すなわち、左上に配置したい画像が縦画像で、新しい方の画像1607が横画像である。したがって、(3-2)が、選択された解析画像に最も適したテンプレートとして決定される。そして決定されたテンプレートの各スロットに配置される解析画像が決定される。このようにS18では、レイアウトに用いるテンプレートと、テンプレートのいずれのスロットにいずれの画像をレイアウトするかを識別できる情報が決定される。図12では、スロット数が3の場合を例に挙げて説明を行ったが、S17で、必要枚数が4枚となった場合には、スロット数4のテンプレートセットを用意して、それらに対して同様に、スロット状態と画像の状態の合致具合を判定する。
S19においてCPU204は、画像補正部914を用いて画像補正を実行する。画像補正の条件入力部がONを入力した場合は、画像補正を実施する。本実施形態では、画像補正として、覆い焼き補正、赤目補正、コントラスト補正を自動で実施する。画像補正の条件入力部がOFFを入力した場合は、画像補正を実施しない。補正する画像の画素数は短辺1200画素で、sRGBの色空間に変換した画像に対して画像補正ON/OFFを実施する。
S20においてCPU204は、レイアウト情報出力部915を用いてレイアウト情報を作成する。CPU204は、S18で決まった通りに各解析画像をレイアウトする。このとき、テンプレートが有する各スロットのサイズ情報に合わせてレイアウトする解析画像を変倍してレイアウトする。そして、テンプレートのスロットに解析画像をレイアウトしたビットマップデータが生成される。
S21はS17~S20が全ての見開きに対して終了したか否かを判定する。終了していない場合(S21でNo)はS17に戻る。終了している場合(S21でYes)は自動レイアウト処理を終了する。
以上の処理結果が管理システム5からクライアントサイドWebアプリケーション8に送信されることで、図4のような画面がクライアント側に表示される。
(本発明全体のシーケンス)
図13~14では、ユーザーが指定した写真に対応する元画像データを縮小した解析用画像データを全てアップロードした後に、元画像データをアップロードする例について説明する。図13~14はクライアント1、ストレージ11、データベース12、自動レイアウトエンジン10におけるデータのやり取りをシーケンス図で示している。クライアント1の例としては、クライアントサイドWebアプリケーション8が挙げられるが、本発明はそれに限定されるものではなくパーソナルコンピュータやスマートフォンで動作するネィティブアプリなどであっても良い。ストレージ11とはサーバー上に構築されたストレージ、データベース12とはサーバー上に構築されたストレージ、自動レイアウトエンジン10とは自動レイアウト機能をサーバー上で実装したものである。
S601では、クライアント1がユーザーの選択した写真に対応する元画像データを縮小して解析用画像データを生成する。解析用画像データのサイズは、例えば、自動レイアウトエンジン10が処理できるサイズである。
S602では、クライアント1がS601で生成した解析用画像データをストレージ11にアップロードする。
S603では、クライアント1がS601で生成した解析用画像データに関する情報をデータベース12に書き込む。データベース12に書き込む情報の例としては、解析用画像データを識別するためのIDや、解析用画像データのステータス情報が挙げられる。解析用画像データを識別するためのIDの値の例としては、解析用画像データを入力値としたハッシュ値が挙げられる。このハッシュ値は、例えば、MD5(Message Digest Algorithm 5)などのハッシュ関数で計算されるものである。このように、解析用画像データのハッシュ値をIDとしてデータベース12に書き込むことにより、既にアップロードした解析用画像データと同じ画像データを再アップロードしないように制御することができる。例えば、S602で解析用画像データをアップロードする際に、クライアント1は、データベース12の情報を取得する。そして、クライアント1は、アップロードしようとしている解析用画像データと同じハッシュ値のデータがアップされていないか確認し、アップロードされている場合は再アップロードしないように制御する。解析用画像のステータス情報が取り得る値としては、「解析用画像をアップロード済み」、「解析用画像に関する画像解析済み」などが考えらえる。ここでは、解析用画像をアップロードしただけでまだ画像解析は行っていないため、画像のステータスは「解析用画像をアップロード済み」になる。なお、クライアント1がデータベース12に書き込むステータス情報は、「解析用画像をアップロード済み」である。一方、自動レイアウトエンジン10は、「解析用画像に関する画像解析済み」を書き込む。
S604では、クライアント1がユーザーの選択した写真の元画像データ(または印刷用画像データ)をストレージ11にアップロードする。ここで、印刷用画像データとは、クライアント1が元画像を印刷品位が保てるサイズまで縮小した画像データである。例えば、フォトアルバムを印刷する印刷装置において印刷品位を保てる解像度が100dpi、フォトアルバムのテンプレートに含まれる写真スロットの最大サイズが縦10インチ、横10インチであるとする。この場合、画像データが、縦1000ピクセル(100dpix10インチ)以上、横1000ピクセル(100dpix10インチ)以上であれば印刷品位を保つことができる。そのため、この例では、ユーザーが選択した写真に対応する元画像データを、縦1000ピクセル以上、横1000ピクセル以上のサイズに縮小することで印刷用画像データが得られる。なお、データサイズの大きさ順にならべると、元画像データのサイズが一番大きく、次が印刷用画像データであり、解析用画像データのサイズが一番小さい。なお、以降では、説明の簡略化のために解析用画像データがアップロードされた後に印刷用画像データがアップロードされるものとして説明するが、図にも記載される通り元画像データがアップロードされても良い。
S605では、クライアント1がS604でアップロードした印刷用画像データに関する情報をデータベース12に書き込む。この情報の例としては、印刷用画像データを識別するためのIDや、印刷用画像データのステータス情報が挙げられる。印刷用画像データを識別するためのIDの値の例としては、ユーザーが選択した写真に対応する印刷用画像データを入力値としたハッシュ値が挙げられ、基本的には解析用画像データにおいて説明した通りである。このように、印刷用画像のハッシュ値をIDとしてデータベース12に書き込むことの効果も解析用画像データにおいて説明した通りである。印刷用画像データのステータス情報が取り得る値としては、「印刷用画像をアップロード済み」などが考えらえる。
図13では、全ての解析用画像データに対してS601~S603の処理が終わった後にS604~S605が実行されるにように記載されている。このような順序で処理することで、クライアント1は図6で上述したレイアウト処理に使用される解析用画像データを早期に管理システムにアップロードすることができる。特に、解析用画像データが送信されている最中に印刷用画像データのアップロードが行われないことにより、S601~S603におけるネットワークの負荷が増大しないため、解析用画像データを早期にアップロードすることが可能となる。
また図13のように全ての解析用画像データのアップロードが完了した後に印刷用画像データを管理システム5にアップロードすると、印刷用画像データのアップロードが完了する前に自動レイアウトエンジン10が解析処理やレイアウト処理を開始できる。そのため、ユーザーは、早期に自動レイアウトされた結果(例えば、図4)を確認することが可能となる。自動レイアウトされた結果を見たユーザーはそれを基に編集作業を開始するが、編集作業中も元画像または印刷用画像のアップロード処理はバックグラウンドで非同期処理される。バックグランドで非同期処理されることにより、元画像または印刷用画像のアップロード処理によってフォトアルバムの編集操作が出来なくなるというような弊害を防ぐことができる。
図14は、解析用画像データを管理システム5にアップロードした後の管理システム5上のやりとりを主に記載したシーケンス図である。S602およびS603は、図13で説明したため説明は割愛する。
S611では、ストレージ11が自動レイアウトエンジン10に解析用画像データのアップロード完了を通知する(S611)。ストレージ11は、「解析用画像をアップロード済み」が書き込まれた場合にS611を実行する。図14の例では、ストレージ11が自動レイアウトエンジン10に通知を行っているが、本発明はそれに限定されるものではない。自動レイアウトエンジン10がストレージ11やデータベース12をポーリングし、自動レイアウトエンジン10が解析用画像データのアップロードを検知しても良い。
S612では、自動レイアウトエンジン10が解析用画像データに基づく解析画像を使って画像解析を行う。画像解析はS611の解析用画像データのアップロード完了通知を受けて開始される。画像解析は、図6で説明した画像の得点化や、画像の人物検出などの処理が行われる。
S613では、自動レイアウトエンジン10がS612で行った画像解析結果に関する情報をデータベース12に書き込む。画像解析結果に関する情報の例としては、画像解析によって算出された得点や検出された人物情報などが挙げられる。
S614では、自動レイアウトエンジン10がS612の画像解析によって得られた人物検出の結果を基に人物識別を行う。具体的には複数の解析画像の人物検出結果からどのような人物が解析画像に含まれているかを判定し、登場回数の多い人物は主人公と判断するなどの人物に関する識別処理を行う。このシーケンス図では全ての画像の解析を終了した後に人物検出を行っているが、本特許はそれに限定されるものではなく画像解析が終わったものから人物検出を行ってもよい。
S615では、自動レイアウトエンジン10がS614で行った人物識別の結果をデータベース12に書き込む。例えば、主人公に設定された人物に関する情報などが書き込まれる。
S616では、自動レイアウトエンジン10が、S612の画像解析の結果、及び、S614の人物識別の結果に基づいて、フォトアルバムのテンプレートに画像をレイアウトする。
S617では、自動レイアウトエンジン10がS616で行ったフォトアルバムのレイアウト結果をデータベース12に書き込む。例えば、採用されたテンプレートの情報や、テンプレートの画像スロットに採用された画像などの情報がデータベース12に書き込まれる。
S618では、自動レイアウトエンジン10がフォトアルバムのレイアウト結果をクライアント1に通知する。クライアント1はこの通知を受け、データベース12からレイアウト結果を取得する。これにより、自動レイアウトエンジンによるレイアウト結果をユーザーに提示することができる。例えば、図4に示したような画面がユーザーに提示される。ユーザーはこの画面上でフォトアルバムの編集操作を行う。
図15~16では、図13~14のようにユーザーが選択した全ての写真に対応する印刷用画像データをアップロードするのではなく、レイアウトされた解析画像に対応する印刷用画像データだけをアップロードする例について説明する。
図15について説明する。なお、S701~S703、S711~S718については、それぞれS601~S603、S611~S618と同様であるため説明は割愛する。
S721では、クライアント1はデータベース12の情報を参照し、レイアウトされた解析画像の情報を取得する。これにより、クライアント1は、ユーザーが選択した写真の中で自動レイアウトエンジン10によってどの写真がフォトアルバムに採用されたかを特定することができる。
S722では、クライアント1はストレージ11にレイアウトされた解析画像に対応する写真の元画像データから印刷用画像データを作成してアップロードする。尚、印刷用画像データとは図13で説明した印刷用画像データである。
S723では、クライアント1はS722でアップロードした画像データに関する情報をデータベース12に書き込む。アップロードした画像に関する情報の例としては、画像のハッシュ値などが挙げられる。
図16について説明する。図16は自動レイアウトが完了した後に、例えば図4の画面を用いてユーザーが所望の画像に入れ替える編集操作をした場合のシーケンスを示している。
S731では、クライアント1はユーザーの指示によって画像の入れ替えを行う。例えば、ユーザーが入れ替えたい画像の入った対象スロットを指定し、そのスロットの画像をユーザーが所望する新たな画像に入れ替える。なお、この新たな画像とは、アップロード済みの解析用画像データに対応する画像から選択されても良いし、解析用画像データとは異なる新規の画像でも良い。
S732では、クラアント1は入れ替えた画像に関する情報をデータベース12から取得する。
S733では、クライアント1はユーザーが入れ替えた画像の印刷用画像データが管理システム5にアップロードされているか否かをS732で取得した情報を基に判断する。例えば、S732で取得した情報に、入れ替えた画像に対応するハッシュ値が無い場合、クライアント1は入れ替えた画像に対応する印刷用画像データはアップロードされていないと判断する。アップロードされていなければ、クライアント1は、入れ替えた画像の元画像データから印刷用画像データを作成してストレージ11にアップロードし(S722)、アップロードした画像に関する情報をデータベース12に書き込む(S723)。
図15~16のように、実際にフォトアルバムにレイアウトされた画像に対応する印刷用画像データだけをアップロードすることで、フォトアルバムにレイアウトされていない画像に対応する印刷用画像データを管理システム5にアップロードすることがなくなる。そのため、ネットワークトトラフィックの軽減に繋がる。また、ネットワークトラフィックの軽減だけでなく、ストレージ11の容量削減を削減することも可能となる。
図17~18は、クライアント1が対象スロットで印刷品位を保てるサイズまで縮小した印刷用画像データをアップロードする例を示している。
図17について説明する。なお、S801~S803、S811~S818については、それぞれS601~S603、S611~S618と同様であるため説明は割愛する。
S821では、クライアント1はデータベース12の情報を参照し、レイアウトされた解析画像の情報、及び、レイアウトされた画像スロットの情報を取得する。レイアウトされた解析画像の情報とは、例えば画像のハッシュ値などが挙げられる。クライアント1はこのハッシュ値を取得することにより、自動レイアウトエンジン10によってどの写真がフォトアルバムに採用されたかを特定することができる。レイアウトされた画像スロットの情報とは、例えば画像スロットの縦と横のサイズなどである。
S822では、クライアント1は、S821で取得した画像スロットのサイズ情報に基づいて、画像スロットに対応する印刷用画像データを生成する。画像スロットに対応する印刷用画像データについて例を挙げて説明する。フォトアルバムを印刷する装置には、印刷品位を保てる解像度が決められていることが多く、その解像度以下の画像は印刷されたときに画像がボケたりして印刷品位が保てない。例えば、フォトアルバムを印刷する装置の印刷品位を保てる解像度が100dpi、対象の画像スロットのサイズが縦1インチ、横2インチ、元画像データのサイズが縦1000ピクセル、横2000ピクセルの場合について説明する。この画像スロットに対して、印刷品位が保てる画像のサイズは、縦100ピクセル(1インチx100dpi)、横200ピクセル(1インチx200dpi)となる。そのため、縦1000ピクセル、横2000ピクセルの元画像データを、縦100ピクセル以上、横200ピクセル以上に縮小したものが印刷品位を保てる印刷用画像データとなる。このように、画像スロットのサイズ情報を基に作成した画像を「画像スロットに対応する印刷用画像データ」と呼ぶことにする。
S823では、クライアント1はS822で生成した画像スロットに対応する印刷用画像データをストレージ11にアップロードする。
S824では、クライアント1がS823でアップロードした画像に関する情報をデータベース12に書き込む。なお、ここで書き込まれる情報とは、画像のサイズに関する情報であり、例えば縦、横のピクセル数である。
ここでS824が行われた後に、S831において、クライアント1はユーザーの指示によって画像の入れ替えを行う。例えば、ユーザーが入れ替えたい画像の入った対象スロットを指定し、そのスロットの画像をユーザーが所望する任意の画像に入れ替える。
S832では、クラアント1は入れ替えた画像に関する情報をデータベース12から取得する。
S833では、クライアント1は画像スロットに対応する印刷用画像データが管理システム5にアップロードされているか否かをS832で取得した情報を基に判断する。もし、画像スロットに対応する印刷用画像データに関する情報がなければアップロードされていないと判断する。
ここでクライアント1は画像スロットに対応する印刷用画像データが管理システム5にアップロードされていると判断した場合はS834を実行する。つまり、クライアント1は、S832で取得した画像スロットに対応する印刷用画像データに関する情報から、その印刷用画像データが入れ替え先の画像スロットに対しても印刷品位を満たすかを判断する。例えば、縦100ピクセル、横200ピクセルの印刷用画像データがアップロードされているとする。また、フォトアルバムを印刷する装置の印刷品位を保てる解像度が100dpi、入れ替え先の画像スロットのサイズが縦2インチ、横4インチだとする。この場合、印刷品位が保てる画像のサイズは、縦200ピクセル(2インチx100dpi)、横400ピクセル(4インチx200dpi)となる。そのため、既にアップロードされている印刷用画像データのサイズ(縦100ピクセル、横200ピクセル)では印刷品位を保つことができないと判断される。
もし、印刷品位を満たさない場合、クライアント1は、入れ替え先の画像スロットで印刷品位を保てるサイズで画像スロットに対応する印刷用画像データを再作成し(S822)、再生成された印刷用画像データをストレージ11にアップロードする(S823)。印刷用画像データをアップロードしたら、クライアント1はその画像に関する情報をデータベース12に書き込む(S824)。
なお、S822~S824の詳細については、図17で説明したため、詳細の説明は割愛する。
図17~18では画像スロットに対応する印刷用画像データを作成し、それを管理システム5にアップロードした。このように画像スロットに対応する印刷用画像をアップロードすることで、最小限のサイズまで画像サイズを小さくしてストレージ11にアップロードすることができる。そのため、元画像データをアップロードする場合などに比べて、ネットワークトラフィックを軽減させることができる。また、ネットワークトラフィックの軽減だけでなく、ストレージ11の容量削減を削減することも可能となる。
図13~18では、元画像または印刷用画像をアップロードしたが、通信環境が悪い場合や、通信会社の契約で通信速度の制限などを受けている場合などで、印刷用画像がアップロードできない場合がある。このような場合は解析用画像でフォトアルバムのデータを作ってもよい。
図13~18では、自動レイアウトエンジン10でのレイアウトが完了したら元画像データまたは印刷用画像データをアップロードしていた。しかし、ユーザーの編集操作が終了して注文を行うタイミングで元画像データまたは印刷用画像データのアップロードを行ってもよい。こうすると、注文を行うタイミングで元画像データまたは印刷用画像データをアップロードすることになるが、レイアウトされていない写真の元画像データや印刷用画像データをアップロードすることがなくなる。その結果、全体でのネットワークトラフィックが抑えられる。また、ネットワークトラフィックの軽減だけでなく、ストレージ11の容量削減を削減することも可能となる。
図13~18では、ストレージ11やデータベース12は、自動レイアウトエンジン10とは異なる構成にしたが、本発明はそれに限定されるものではなく、自動レイアウトエンジン10内にストレージやデータベースを構築して、それらを利用してもよい。ただし、ストレージ11やデータベース12は、自動レイアウトエンジン10とは異なる構成にした場合、パブリッククラウドに代表されるようなストレージサービスやデータベースサービスを利用することができるため可用性が高くなる。
なお、最後に実際にフォトアルバムを印刷するための管理システム5の処理について説明する。管理システム5は、図4をクライアント1に提供した後、クライアント1での編集結果に対応するレイアウト情報を受信する。その後、例えば、ユーザーが、「Add to Cart」を操作することで表示される画面において決済処理を実行した場合、管理システム5は、レイアウト情報に基づいて、実際にアルバムに使用される写真に対応する印刷用画像データを特定する。そして、管理システム5は、ネットワーク7を介して不図示の印刷システム(例えば、情報処理装置と印刷装置を含む印刷システム)に、レイアウト情報とアルバムに使用される写真に対応する印刷用画像データを送信することで印刷指示を発行する。その結果、印刷システムでは、レイアウト情報と印刷用画像データに基づいて印刷処理を実行することでアルバムを印刷することが可能となる。
<他の実施形態>
上述した実施形態では、解析用画像データのアップロードが全て完了した後に印刷用画像データのアップロードを開始するものとして説明したが他の形態でも構わない。例えば、複数の解析用画像データのうち一部のアップロードが終わったら印刷用画像データのアップロードが開始されてもよい。このような形態であっても、印刷用画像データの送信よりも前に解析用画像データが送信されるためユーザーに早期に図4の結果を提示することが可能である。
上述した実施形態では、ユーザー選択した静止画からフォトアルバムを生成する例について説明したが、本発明はそれに限定されるものではない。例えば、ユーザーが動画を選択し、その動画からクライアントが任意の枚数の静止画を切り出し、切り出された静止画をユーザーが選択した画像として本発明を適用しても良い。
上述した実施形態では、自動レイアウトエンジン10を使って自動レイアウト処理を実行する例を説明したが、例えば、オペレータによる手動操作に従って管理システム5がレイアウト処理を行っても構わない。
上述した実施形態では、自動レイアウトエンジン10を使って自動レイアウト処理を実行する例を説明したが、例えば、サーバーサイド2では、画像の解析だけを行い得点化などを行い、その情報をクライアント1に返す。クライアント1においてユーザーが、これらの情報をもとに手動でレイアウトするような構成であってもよい。 上述した実施形態では、フォトアルバムのテンプレートに画像を設定する例について説明したが、本発明はそれに限定されるものではない。例えば、ハガキのテンプレートに画像を設定するようなものであっても良く、最終的に印刷される商品はフォトアルバムに限定されない。
上述した各実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPUやMPU等)がプログラムを読み出して実行する処理である。また、プログラムは、1つのコンピュータで実行させても、複数のコンピュータで連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をASIC等のハードウェアで実現するようにしてもよい。また、CPUも1つのCPUで全ての処理を行うものに限らず、複数のCPUが適宜連携をしながら処理を行うものとしてもよい。
80 アプリケーション
204 CPU
201 RAM
202 HDD

Claims (16)

  1. 情報処理装置とサーバーシステムにより構成される情報処理システムにおいて、
    前記情報処理装置は、
    ユーザーが選択した画像に基づいて解析用画像データを生成する第1生成手段と、
    前記第1生成手段により生成された解析用画像データを前記サーバーシステムに送信する第1送信手段と、
    前記ユーザーが選択した画像に対応し、かつ、前記解析用画像データよりもデータサイズが大きい印刷用画像データを、前記解析用画像データの送信が完了した後に、前記サーバーシステムに送信する第2送信手段を有し、
    前記サーバーシステムは、
    前記第1送信手段により送信された前記解析用画像データに基づいてレイアウト処理を実行するレイアウト手段と、
    前記レイアウト手段によるレイアウト結果を前記情報処理装置に送信する送信手段と、
    を備え、
    前記情報処理装置は、
    前記レイアウト結果を受信した後に、前記レイアウト結果に含まれる画像からユーザにより選択された画像を新規画像へ入れ替える入れ替え手段と、
    前記入れ替え手段により入れ替えられた前記新規画像に対応する画像データについては、前記第2送信手段は、前記新規画像に対応する前記解析用画像データを送信することなく前記新規画像に対応する前記印刷用画像データを送信する
    ことを特徴とする情報処理システム。
  2. ユーザーが選択した画像に基づいて解析用画像データを生成する第1生成手段と、
    前記第1生成手段により生成された解析用画像データをサーバーシステムに送信する第1送信手段と、
    前記ユーザーが選択した画像に対応し、かつ、前記解析用画像データよりもデータサイズが大きい印刷用画像データを、前記解析用画像データの送信が完了した後に、前記サーバーシステムに送信する第2送信手段と、
    前記解析用画像データに基づいて実行されたレイアウト処理により得られるレイアウト結果を受信した後に、前記レイアウト結果に含まれる画像からユーザにより選択された画像を新規画像へ入れ替える入れ替え手段と、
    を有し、
    前記入れ替え手段により入れ替えられた前記新規画像に対応する画像データについては、前記新規画像に対応する前記解析用画像データを送信することなく前記新規画像に対応する前記印刷用画像データが送信されることを特徴とする情報処理装置。
  3. 前記解析用画像データは、ユーザーにより選択された画像に対応する元画像データを縮
    小することで生成されることを特徴とする請求項2に記載の情報処理装置。
  4. 前記印刷用画像データは、ユーザーが選択した画像に対応する元画像データであることを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記印刷用画像データは、ユーザーにより選択された画像に対応する元画像データを縮小することで生成されることを特徴とする請求項2または3に記載の情報処理装置。
  6. ユーザーが選択した画像の中でレイアウト処理に使用される画像を特定する特定手段と、
    前記特定された画像に対応する印刷用画像データが前記サーバーシステムに送信され、
    前記特定された画像とは異なる画像に対応する印刷用画像データは前記サーバーシステムに送信されないことを特徴とする請求項2乃至5のいずれか1項に記載の情報処理装置。
  7. 前記レイアウト処理により画像が配置されたスロットのサイズに基づいて前記印刷用画像データが生成されることを特徴とする請求項2乃至6のいずれか1項に記載の情報処理装置。
  8. 前記新規画像に対応する前記印刷用画像データが送信されているか否かを判定する判定手段を更に有し、
    前記新規画像に対応する前記印刷用画像データが送信されていないと判定された場合、前記新規画像に対応する前記解析用画像データを送信することなく前記新規画像に対応する前記印刷用画像データが送信されることを特徴とする請求項2乃至7のいずれか1項に記載の情報処理装置。
  9. コンピュータを、
    ユーザーが選択した画像に基づいて解析用画像データを生成する第1生成手段と、
    前記第1生成手段により生成された解析用画像データをサーバーシステムに送信する第1送信手段と、
    前記ユーザーが選択した画像に対応し、かつ、前記解析用画像データよりもデータサイズが大きい印刷用画像データを、前記解析用画像データの送信が完了した後に、前記サーバーシステムに送信する第2送信手段と、
    前記解析用画像データに基づいて実行されたレイアウト処理により得られるレイアウト結果を受信した後に、前記レイアウト結果に含まれる画像からユーザにより選択された画像を新規画像へ入れ替える入れ替え手段として機能させ、
    前記入れ替え手段により入れ替えられた前記新規画像に対応する画像データについては、前記新規画像に対応する前記解析用画像データを送信することなく前記新規画像に対応する前記印刷用画像データが送信されることを特徴とする前記コンピュータが読み取り可能なプログラム。
  10. 前記解析用画像データは、ユーザーにより選択された画像に対応する元画像データを縮小することで生成されることを特徴とする請求項9に記載のプログラム。
  11. 前記印刷用画像データは、ユーザーが選択した画像に対応する元画像データであることを特徴とする請求項9または10に記載のプログラム。
  12. 前記印刷用画像データは、ユーザーにより選択された画像に対応する元画像データを縮小することで生成されることを特徴とする請求項9または10に記載のプログラム。
  13. 前記コンピュータを、
    さらにユーザーが選択した画像の中でレイアウト処理に使用される画像を特定する特定手段として機能させ、
    前記特定された画像に対応する印刷用画像データが前記サーバーシステムに送信され、前記特定された画像とは異なる画像に対応する印刷用画像データは前記サーバーシステムに送信されないことを特徴とする請求項9乃至12のいずれか1項に記載のプログラム。
  14. 前記レイアウト処理により画像が配置されたスロットのサイズに基づいて前記印刷用画像データが生成されることを特徴とする請求項9乃至13のいずれか1項に記載のプログラム。
  15. 前記新規画像に対応する前記印刷用画像データが送信されているか否かを判定する判定手段として前記コンピュータを更に機能させ、
    前記新規画像に対応する前記印刷用画像データが送信されていないと判定された場合、前記新規画像に対応する前記解析用画像データを送信することなく前記新規画像に対応する前記印刷用画像データが送信されることを特徴とする請求項9乃至14のいずれか1項に記載のプログラム。
  16. ユーザーが選択した画像に基づいて解析用画像データを生成する第1生成工程と、
    前記第1生成工程により生成された解析用画像データをサーバーシステムに送信する第1送信工程と、
    前記ユーザーが選択した画像に対応し、かつ、前記解析用画像データよりもデータサイズが大きい印刷用画像データを、前記解析用画像データの送信が完了した後に、前記サーバーシステムに送信する第2送信工程と、
    前記解析用画像データに基づいて実行されたレイアウト処理により得られるレイアウト結果を受信した後に、前記レイアウト結果に含まれる画像からユーザにより選択された画像を新規画像へ入れ替える入れ替え工程とを有し、
    前記入れ替え工程により入れ替えられた前記新規画像に対応する画像データについては、前記新規画像に対応する前記解析用画像データを送信することなく前記新規画像に対応する前記印刷用画像データが送信されることを特徴とする情報処理方法。
JP2018162153A 2018-08-30 2018-08-30 情報処理システム、情報処理装置、プログラム、および情報処理方法 Active JP7207908B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018162153A JP7207908B2 (ja) 2018-08-30 2018-08-30 情報処理システム、情報処理装置、プログラム、および情報処理方法
US16/537,907 US10992827B2 (en) 2018-08-30 2019-08-12 Information processing system, information processing apparatus, information processing method, and storage medium to execute layout processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018162153A JP7207908B2 (ja) 2018-08-30 2018-08-30 情報処理システム、情報処理装置、プログラム、および情報処理方法

Publications (2)

Publication Number Publication Date
JP2020036237A JP2020036237A (ja) 2020-03-05
JP7207908B2 true JP7207908B2 (ja) 2023-01-18

Family

ID=69639138

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018162153A Active JP7207908B2 (ja) 2018-08-30 2018-08-30 情報処理システム、情報処理装置、プログラム、および情報処理方法

Country Status (2)

Country Link
US (1) US10992827B2 (ja)
JP (1) JP7207908B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7341677B2 (ja) * 2019-02-28 2023-09-11 キヤノン株式会社 装置、方法、及びプログラム
JP7423444B2 (ja) * 2020-06-24 2024-01-29 富士フイルム株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体
JP2022025480A (ja) * 2020-07-29 2022-02-10 キヤノン株式会社 情報処理システム、情報処理方法、及びプログラム
US11695822B2 (en) * 2021-07-16 2023-07-04 Adp, Inc. Unified integration pattern protocol for centralized handling of data feeds

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004120486A (ja) 2002-09-27 2004-04-15 Fuji Photo Film Co Ltd アルバム作成方法および装置並びにプログラム
JP2007116658A (ja) 2005-09-26 2007-05-10 Fujifilm Corp 画像集作成システム、画像集作成方法および画像集作成プログラム
JP2018124776A (ja) 2017-01-31 2018-08-09 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5883843B2 (ja) * 2013-12-13 2016-03-15 富士フイルム株式会社 画像評価装置,画像評価方法,画像評価プログラム,およびそのプログラムを格納した記録媒体
US20160112586A1 (en) * 2014-10-15 2016-04-21 Canon Kabushiki Kaisha Image processing apparatus for processing moving image and print control apparatus for controlling layout, and control method and storage medium thereof
JP6723937B2 (ja) 2017-01-31 2020-07-15 キヤノン株式会社 プログラム、画像処理装置、および画像処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004120486A (ja) 2002-09-27 2004-04-15 Fuji Photo Film Co Ltd アルバム作成方法および装置並びにプログラム
JP2007116658A (ja) 2005-09-26 2007-05-10 Fujifilm Corp 画像集作成システム、画像集作成方法および画像集作成プログラム
JP2018124776A (ja) 2017-01-31 2018-08-09 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
US10992827B2 (en) 2021-04-27
JP2020036237A (ja) 2020-03-05
US20200076963A1 (en) 2020-03-05

Similar Documents

Publication Publication Date Title
CN108230262B (zh) 图像处理方法、图像处理装置和存储介质
JP6711937B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7207908B2 (ja) 情報処理システム、情報処理装置、プログラム、および情報処理方法
JP2019191830A (ja) 画像処理装置、画像処理方法、およびプログラム
US10977845B2 (en) Image processing apparatus and control method
JP6702900B2 (ja) 情報処理装置、表示制御方法、及びプログラム
JP2020140577A (ja) 装置、方法、及びプログラム
US20200336608A1 (en) Image processing apparatus, image processing method, and storage medium
JP6422409B2 (ja) 表示制御装置、表示制御方法、及びプログラム
JP2020140567A (ja) 装置、方法、及びプログラム
JP7336211B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7493919B2 (ja) 画像処理装置、制御方法及びプログラム
JP2020140568A (ja) 装置、方法、及びプログラム
JP6887816B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336209B2 (ja) 画像処理装置、制御方法、及びプログラム
JP6723938B2 (ja) 情報処理装置、表示制御方法、及びプログラム
JP2017117408A (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP7027101B2 (ja) 情報処理装置、制御方法、及びプログラム
JP6765978B2 (ja) 情報処理装置及びプログラム
US11320965B2 (en) Image processing apparatus, control method, and recording medium
JP7451242B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP2019003326A (ja) 情報処理装置、制御方法、及びプログラム
JP2021149196A (ja) 画像処理装置、画像処理方法、及びプログラム
JP7336212B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336210B2 (ja) 画像処理装置、制御方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210826

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220419

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220927

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221124

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: 20221206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230105

R151 Written notification of patent or utility model registration

Ref document number: 7207908

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151