KR20180066863A - 제어방법 및 기억매체 - Google Patents

제어방법 및 기억매체 Download PDF

Info

Publication number
KR20180066863A
KR20180066863A KR1020170167248A KR20170167248A KR20180066863A KR 20180066863 A KR20180066863 A KR 20180066863A KR 1020170167248 A KR1020170167248 A KR 1020170167248A KR 20170167248 A KR20170167248 A KR 20170167248A KR 20180066863 A KR20180066863 A KR 20180066863A
Authority
KR
South Korea
Prior art keywords
image
image data
template
cpu
acquired
Prior art date
Application number
KR1020170167248A
Other languages
English (en)
Other versions
KR102157494B1 (ko
Inventor
히로야스 쿠니에다
신지로 호리
료스케 이구치
마사아키 오바야시
Original Assignee
캐논 가부시끼가이샤
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 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20180066863A publication Critical patent/KR20180066863A/ko
Application granted granted Critical
Publication of KR102157494B1 publication Critical patent/KR102157494B1/ko

Links

Images

Classifications

    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/64Computer-aided capture of images, e.g. transfer from script file into camera, check of taken image quality, advice or proposal for image composition or decision on when to take image
    • 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
    • H04N5/23222
    • 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/04842Selection of displayed objects or displayed text elements
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or 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/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/1257Configuration of print job parameters, e.g. using UI at the client by using pre-stored settings, e.g. job templates, presets, print styles
    • 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/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/30Scenes; Scene-specific elements in albums, collections or shared content, e.g. social network photos or video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera

Landscapes

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

Abstract

템플릿에 화상이 배치되는 레이아웃 화상을 작성하는 화상처리장치의 제어 방법은, 선택된 화상 데이터가 나타내는 화상이, 취득된 정보에 대응하는 템플릿에 포함된 슬롯 중 미리 정해진 슬롯에 배치되는 레이아웃 화상을 출력하는 것을 포함하고, 소정의 입력에 대응하는 오브젝트를 포함하는 화상을 나타내는 제1 화상 데이터와, 소정의 입력에 대응하는 오브젝트를 포함하지 않는 화상을 나타내고, 또 제1 화상 데이터보다 평가가 더 높은 제2 화상 데이터가, 복수의 화상 데이터에 포함되는 경우, 제2 화상 데이터보다 우선해서 제1 화상 데이터가 선택된다.

Description

제어방법 및 기억매체{CONTROL METHOD AND STORAGE MEDIUM}
본 발명의 국면들은 일반적으로 화상처리장치, 제어 방법, 및 프로그램에 관한 것이다.
디지털 카메라 등을 이용해서 사진을 촬영함으로써 취득되는 화상 데이터가 나타내는 화상을 템플릿(template)에 배치함으로써 레이아웃 화상을 생성하는 처리가 알려져 있다. 이러한 처리를 "자동 레이아웃 처리"라고 한다. 특허 제5,449,460호에서는, 화상을 해석해서 화상을 평가한 후, 평가값이 높은 화상을 좌우 양 페이지 스프레드(double-page spread)에 배치해서 앨범을 작성함으로써 자동 레이아웃 처리를 실행하는 방법이 제안되어 있다.
또한, 자동 레이아웃 처리가 보급됨에 따라, 보다 유저의 만족도가 높은 레이아웃 화상을 생성하는 것이 이전보다도 더 요구되고 있다.
본 발명의 다양한 국면들은 일반적으로 유저의 만족도가 높은 레이아웃 화상을 생성하는 것과 관련이 있다.
본 발명의 일 국면에 의하면, 템플릿에 화상이 배치되는 레이아웃 화상을 작성하는 화상처리장치의 제어 방법은, 각각 다른 오브젝트에 대응하는 복수의 입력 중의 하나의 입력을 유저로부터 접수하는 단계와, 복수의 화상 데이터를 취득하는 단계와, 상기 취득된 복수의 화상 데이터의 각각을 평가하는 단계와, 상기 취득된 복수의 화상 데이터로부터, 상기 평가에 의거하여 적어도 1개의 화상 데이터를 선택하는 단계와, 화상을 배치하기 위한 적어도 한 개의 슬롯을 갖는 템플릿의 정보를 취득하는 단계와, 상기 선택된 화상 데이터가 나타내는 화상이, 상기 취득된 정보에 대응하는 템플릿에 포함된 슬롯 중의 미리 정해진 슬롯에 배치되는 레이아웃 화상을 출력하는 단계를 포함하고, 상기 취득된 복수의 화상 데이터에, 상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내는 제1 화상 데이터와, 상기 접수한 입력에 대응하는 오브젝트를 포함하지 않는 화상을 나타내고, 또 상기 제1 화상 데이터보다 평가가 더 높은 제2 화상 데이터가 포함될 경우, 상기 제2 화상 데이터보다 우선해서 상기 제1 화상 데이터가 선택된다.
본 발명의 또 다른 국면에 의하면, 템플릿에 화상을 배치해서 레이아웃 화상을 작성하는 화상처리장치의 제어 방법은, 레이아웃 화상에 각각 대응하는 복수의 레이아웃 화상으로 구성되는 앨범에 대하여, 각각 다른 오브젝트에 대응하는 복수의 모드 중의 하나의 모드를 지정하기 위한 입력을 유저로부터 접수하는 단계와, 복수의 화상 데이터를 취득하는 단계와, 상기 취득된 복수의 화상 데이터에, 상기 접수한 입력에 의해 지정된 모드에 대응하는 미리 정해진 오브젝트를 포함하는 화상을 나타내는 화상 데이터가 포함되는 경우, 미리 정해진 오브젝트를 포함하는 화상이 템플릿에 배치되는 레이아웃 화상을 출력하는 단계를 포함하고, 상기 미리 정해진 오브젝트는, 인물의 종류의 오브젝트, 동물의 종류의 오브젝트, 요리의 종류의 오브젝트, 꽃의 종류의 오브젝트, 건물의 종류의 오브젝트, 장식물의 종류의 오브젝트, 및 탈것의 종류의 오브젝트 중의 적어도 2개를 포함하는 오브젝트 군 중의 하나의 오프젝트이다.
본 발명의 다른 특징은 첨부된 도면을 참조하여 이하의 예시적인 실시 예의 설명으로부터 명백해질 것이다.
도 1은 화상처리장치의 하드웨어 구성을 나타내는 블럭도다.
도 2는 제1 예시적인 실시예에 있어서의 앨범 작성 어플리케이션의 소프트웨어 구성을 나타내는 블럭도다.
도 3은 앨범 작성 어플리케이션에 의해 표시되는 설정 화면을 나타내는 도면이다.
도 4는 앨범 작성 어플리케이션에 의해 실행되는 자동 레이아웃 처리를 나타내는 흐름도인 도 4a 및 4b로 구성된다.
도 5는 화상 데이터의 화상 해석 정보를 관리하는 테이블을 도시한 도면이다.
도 6a, 6b, 및 6c는 화상 데이터군의 분할을 설명하기 위한 도면이다.
도 7은 씬(scenes)의 분류를 설명하기 위한 도면이다.
도 8a 및 8b는 메인 슬롯과 서브 슬롯에 관한 득점화를 설명하기 위한 도면이다.
도 9a, 9b, 9c, 9d, 9e, 9f, 9g, 9h, 9i는 화상 데이터의 선택을 설명하기 위한 도면이다.
도 10은 화상 데이터의 레이아웃을 설명하기 위한 도면이다.
도 11은 화상 선택부의 구성을 더 상세하게 설명하는 도면이다.
도 12는 화상 선택 처리의 상세를 나타내는 흐름도인 도 12a 및 12b로 구성된다.
도 13은 제1 예시적인 실시예에 있어서의 템플릿을 결정하는 처리를 관리하는 소프트웨어의 블럭도다.
도 14는 제1 예시적인 실시예에 있어서의 레이아웃 화상의 생성에 이용하는 템플릿을 결정하는 처리를 나타내는 흐름도다.
도 15는 제2 예시적인 실시예의 앨범 작성 어플리케이션의 소프트웨어 구성을 나타내는 블럭도다.
도 16은 앨범의 재레이아웃시에 실행되는 처리를 나타내는 흐름도다.
도 17은 다양한 템플릿을 도시한 도면이다.
도 18은 제2 예시적인 실시예에 있어서의 템플릿을 결정하는 처리를 관리하는 소프트웨어의 블럭도다.
도 19는 제2 예시적인 실시예에 있어서의 레이아웃 화상의 생성에 이용하는 템플릿을 결정하는 처리를 나타내는 흐름도다.
도 20은 편집 후에 취득된 앨범 내의 각 오브젝트의 출현 빈도를 조정하는 화면을 나타내는 도면이다.
도 21은 각 설정값의 결합의 편집 후에 취득된 앨범이 있는 1매의 좌우 양 페이지 스프레드의 레이아웃 화상을 도시한 도면이다.
이하, 첨부된 도면을 참조해서 본 발명의 다양한 예시적인 실시예, 특징, 및 국면을 자세하게 설명한다. 또한, 이하의 예시적인 실시예는 특허청구범위에 설명되는 본 발명을 한정하는 것이 아니며, 또 본 예시적인 실시예에서 설명되어 있는 특징의 조합의 모두가 본 발명의 해결 수단에 필수적인 것이라고는 할 수 없다. 또한, 동일한 구성요소에는 동일한 참조번호를 부착하고, 그 설명을 생략한다.
이하의 예시적인 실시예에서는, 앨범 작성을 위한 애플리케이션 프로그램(이하, "앨범 작성 어플리케이션"이라고도 한다)을 동작시켜, 자동 레이아웃을 수행해 레이아웃 화상을 생성하는 순서에 관하여 설명한다. 이하에 설명하는 "화상"은, 달리 명시하지 않는 한, 정지 화상, 동화상, 및 동화상 중의 프레임 화상, 또한 SNS(social networking service) 서버상에 존재하는 정지 화상, 동화상, 및 동화상중의 프레임 화상을 포함한다.
도 1은, 본 발명의 제1 예시적인 실시예에 따른 화상처리장치의 하드웨어의 구성을 설명하는 블럭도다. 화상처리장치로서는, 예를 들면, PC(personal computer), 스마트폰, 태블릿 단말, 카메라, 프린터 등을 들 수 있고, 본 예시적인 실시예에서는, 화상처리장치를 PC이라고 한다.
도 1에 있어서, 화상처리장치(100)는, CPU(central processing unit)(101)와, ROM(read-only memory)(102)과, RAM(random access memory)(103)과, HDD(hard disk drive)(104)와, 디스플레이(105)와, 키보드(106)와, 마우스(107)와, 데이터 통신부(108)를 구비하고 있다. 이들 소자는, 데이터버스(109)에 의해 서로 접속되어 있다.
CPU(101)는, 중앙연산장치 또는 프로세서이며, 화상처리장치(100) 전체를 제어하는 시스템 제어부이다. 또한, CPU(101)는, 본 예시적인 실시예에서 설명하는 화상처리방법을 프로그램에 따라 실행한다. 또한, 도 1에 있어서, 1개의 CPU만 도시되어 있지만, CPU(101)는 이것에 한정되지 않고, 복수의 CPU를 구비할 수 있다.
ROM(102)에는, CPU(101)에 의해 실행되는 프로그램 및 OS(오퍼레이팅 시스템)이 실행된다. RAM(103)은, CPU(101)에 의한 프로그램의 실행시에 사용되는 각종 정보를 일시적으로 기억하기 위한 메모리를 제공하고 있다. HDD(하드디스크)(104)는, 화상 파일 및 화상해석 등의 처리 결과를 유지하는 데이터베이스 등을 기억하기 위한 기억매체다. 본 예시적인 실시예에서는, HDD(104)는, 상세한 것은 후술하는 앨범 작성 어플리케이션을 기억한다.
디스플레이(105)(표시부)는, UI(유저 인터페이스)나 화상의 레이아웃 결과를 유저에게 표시하는 장치다. 디스플레이(105)는, 터치 센서 기능을 가지고 있을 수 있다. 키보드(106)는, 입력장치 중의 하나이며, 예를 들면, 디스플레이(105)에 표시된 UI 위에 소정의 정보를 입력하는데도 사용된다. 소정의 정보는, 예를 들면 작성하고 싶은 앨범의 좌우 양 페이지 스프레드의 수나 페이지 수를 나타내는 정보다. 마우스(107)는, 입력장치 중의 하나이며, 예를 들면 디스플레이(105)에 표시된 UI상의 버튼을 클릭하는데도 사용된다. 또한, 예를 들면, 유저가 디스플레이(105)에 표시되어 있는 앨범 작성 어플리케이션에 대응하는 아이콘을, 마우스(107)의 조작에 의해 더블 클릭함으로써 앨범 작성 어플리케이션을 기동한다.
데이터 통신부(108)(통신부)는, 프린터나 서버 등의 외부장치와 통신하기 위한 장치다. 예를 들면, 앨범 작성 어플리케이션에 의해 생성된 데이터는, 데이터 통신부(108)를 통하여 화상처리장치(100)에 접속된 프린터(미도시)나 서버(미도시)에 송신된다. 또한, 데이터 통신부(108)는, 서버(미도시)나 SNS((social networking service) 서버(미도시)상의 정지 화상 데이터를 수신한다. 또한, 본 예시적인 실시예에서는, 데이터 통신부(108)는, SNS 서버로부터 정지 화상 데이터를 수신하지만, 이 예에 한정되지 않고, 데이터 통신부(108)는 동화상 데이터도 수신해도 된다.
데이터 버스(109)는, 상술한 각 부(102∼108)와 CPU(101)를 접속한다.
<앨범의 자동 레이아웃>
도 2는, 본 예시적인 실시예의 앨범 작성 어플리케이션의 소프트웨어 블럭도다. 본 예시적인 실시예에서는, HDD(104)에 보존되어 있는 앨범 작성 어플리케이션은, 디스플레이(105)에 나타나 있는, 앨범 작성 어플리케이션에 대응하는 아이콘을, 유저가 마우스(107)의 조작에 의해 더블 클릭함으로써 기동된다. 또한, 앨범 작성 어플리케이션은, 예를 들면 데이터 통신부(108)를 통해 외부의 서버로부터 인스톨됨으로써 HDD(104)에 보존된다.
앨범 작성 어플리케이션은 다양한 기능을 가지지만, 본 예시적인 실시예에서는, 특히 자동 레이아웃 처리부(219)에 의해 제공되는 자동 레이아웃 기능에 관해서 설명한다. 자동 레이아웃 기능은, 정지 화상이나 동화상을 그 내용이나 속성 정보에 의거하여 분류 및 선택함으로써 취득된 화상 데이터를 미리 준비된 템플릿에 레이아웃함으로써 레이아웃 화상을 생성하고, 그 생성된 레이아웃 화상을 디스플레이(105)에 표시하기 위한 기능이다.
도 2에 나타나 있는 바와 같이, 앨범 작성 어플리케이션은, 앨범 작성 조건 지정부(201)와 자동 레이아웃 처리부(219)를 포함한다.
앨범 작성 조건 지정부(201)는, 예를 들면 마우스(107)에 의한 후술의 UI 조작에 따른 앨범 작성 조건의 지정을 접수하고, 지정된 앨범 작성 조건을 자동 레이아웃 처리부(219)에 출력한다. 지정된 앨범 작성 조건에는, 예를 들면 처리의 대상이 되는 화상 데이터나 주인공의 ID(identifier), 앨범의 좌우 양 페이지 스프레드의 수, 템플릿 정보, 화상 보정의 ON/OFF 조건, 동화상 사용의 ON/OFF 조건, 앨범의 모드의 지정이 포함된다. 화상 데이터의 지정은, 예를 들면, 촬영 일시 등 개별의 화상 데이터의 부수 정보나 속성 정보에 의한 지정일 수도 있고, 디바이스나 디렉토리(폴더)의 지정 등, 화상 데이터를 포함하는 파일 시스템의 구조에 근거하는 지정일 수도 있다. 또한, 좌우 양 페이지 스프레드는, 다른 시트(또는 페이지)에 인쇄된 서로 인접하는 1쌍의 페이지에 해당한다. 또한, 본 예시적인 실시예에 있어서의 앨범 작성 어플리케이션은, 하나의 표시용 윈도우를 통해서 1개의 좌우 양 페이지 스프레드의 레이아웃을 생성하는 것으로 한다. 추가적으로, 앨범 작성 조건 지정부(201)는, 예를 들면, 도 3에 나타나 있는 바와 같은 설정 화면을 표시하고, 해당 설정 화면에 대한 입력을 수신함으로써 앨범 작성 조건의 지정을 수신한다.
동화상 취득부(202)는, 앨범 작성 조건 지정부(201)에 의해 지정된 동화상 군(동화상 데이터군)을 HDD(104) 등의 기억영역으로부터 취득한다. 또한, 동화상 취득부(202)는, 데이터 통신부(108)를 통해 네트워크상의 서버나 SNS 서버 등의 기억영역으로부터 동화상군을 취득해도 된다. 여기에서의 "동화상군"이란, 앨범 작성에 이용되는 화상 데이터의 후보를 추출하기 위해서 이용되는 동화상 데이터의 집합을 가리킨다. 동화상 취득부(202)는, 취득된 동화상 데이터를 동화상 해석부(203)에 의해 해석할 수 있도록 OS에 표준 기기로서 탑재되어 있는 디코더 기능을 사용하여 동화상 데이터를 압축된 상태로부터 전개된 상태로 한다.
동화상 해석부(203)는, 동화상 취득부(202)에서 취득된 동화상 데이터를 해석한다.
좀 더 구체적으로, 동화상 해석부(203)는, 동화상 데이터로부터 연속하는 프레임을 클립(clip)하고, 2개의 연속 프레임 간의 특징량의 차이를 특정하고, 움직임량을 특정한다. 동화상 데이터에는, 운동량이 큰 촬영 대상이 촬영됨으로써 취득되는 동화상 데이터와, 운동량이 작은 촬영 대상이 촬영됨으로써 취득되는 동화상 데이터가 포함되어 있다. 전자의 동화상 데이터로부터 취득된 화상 데이터에 관해서는, 움직임량이 많다고 간주하고, 후자의 동화상 데이터로부터 취득된 화상 데이터에 관해서는, 움직임량이 작다고 간주한다.
구체적으로는, 동화상 해석부(203)는, 클립된(clipped) 각 프레임 전체의 영역을 복수개의 영역으로 분할하고, 해당 복수개의 영역의 RBG 값에 관한 히스토그램을 작성한다. 그리고, 동화상 해석부(203)는, 2개의 연속 프레임 간의 RBG 값에 관한 히스토그램의 차분을 검출하고, 차분이 크다고 검출된 히스토그램에 대응하는 영역의 개수를 특정한다. 그리고, 동화상 해석부(203)는, 차분이 크다고 검출된 히스토그램에 대응하는 영역의 개수가 임계값 이상일 경우에는, 2개의 연속 프레임 간의 특징량의 차가 크다고 판정한다. 그리고, 동화상 해석부(203)는, 차분이 크다고 검출된 히스토그램에 대응하는 영역의 개수가 임계값 미만일 경우에는, 2개의 연속 간의 차가 작다고 판정한다.
그리고, 2개의 연속 간의 특징량의 차가 큰 경우는, 이들 프레임이 서로 유사하지 않는다는 것을 나타내기 때문에, 동화상 해석부(203)에 의해, 이들 프레임은, 피사체의 움직임이 큰(움직임량이 큰) 프레임이라고 판정된다. 2개의 연속 간의 특징량의 차가 작은 경우는, 이들의 프레임이 서로 유사하다는 것을 나타내기 때문에, 동화상 해석부(203)에 의해, 이들의 프레임은, 피사체의 움직임이 적은(움직임량이 적은) 프레임이라고 판정된다. 움직임량의 판단에 관해서는, 상술한 프레임 간의 특징량의 차분이 이용될 수 있는 것 이외에도, 동화상 포맷에서 이용하고 있는 움직임 벡터가 이용될 수 있다. 또한, 본 예시적인 실시예에 있어서는, 프레임 간의 특징량의 차분으로서, RBG 값의 차분을 검출하지만, 또 다른 구성에 있어서는, 예를 들면, 휘도값에 관한 차분을 검출할 수 있다. 이렇게, 동화상 해석부(203)는, 1개의 동화상 데이터로부터 추출된 복수의 프레임을, 움직임량이 많은 프레임군과, 움직임량이 적은 프레임군으로 분할해서 각각의 프레임군을 개별적으로 관리할 수 있다.
동화상 해석부(203)는, 동화상 데이터로부터 클립되어, 시계열순으로 관리되는 프레임을, 소정의 간격마다 추출하고 각 추출한 프레임을 해석 대상으로서 설정한다. 동화상 해석부(203)는, 움직임량이 많다고 판정된 프레임군으로부터 해석 대상의 프레임을 추출하는 간격을 짧게 설정하고, 움직임량이 적다고 판정된 프레임군으로부터 해석 대상의 프레임을 추출하는 간격을 길게 설정한다. 예를 들면, 동화상 해석부(203)는, 움직임량이 많다고 판정된 프레임군으로부터 3프레임의 간격으로 해석 대상의 프레임을 추출하고, 움직임량이 적다고 판정된 프레임군으로부터 5프레임의 간격으로 해석 대상의 프레임을 추출한다.
또한, 동화상 해석부(203)는, 추출한 해석 대상의 프레임에 대하여 해석 처리를 행한다. 구체적으로는, 동화상 해석부(203)는, 오브젝트 검출, 사이즈 특정, 웃는 얼굴(smile) 판정, 눈 감김(eye closing) 판정, 흔들림 및 흐려짐(shake and blur) 판정, 밝기 판정 등을 행한다. 오브젝트 검출이란, 해석 대상의 프레임으로부터, 인물의 얼굴, 동물, 요리 등의 오브젝트를 검출하는 처리이다. 사이즈 특정이란, 오브젝트 검출에 의해 검출된 오브젝트의 사이즈를 특정하는 처리다. 웃는 얼굴 판정이란 오브젝트 검출에 의해 검출된 오브젝트가 인물의 얼굴일 경우, 검출된 인물의 얼굴이, 웃는 얼굴인지의 여부를 판정하는 처리이다. 눈 감김 판정이란, 오브젝트 검출에 의해 검출된 오브젝트가 인물의 얼굴일 경우, 검출된 인물의 얼굴이, 눈을 감고 있는지 아닌지를 판정하는 처리이다. 흔들림 및 흐려짐 판정이란, 해석한 프레임의 흔들림이나 흐려짐의 양을 판정하는 처리이다. 밝기 판정이란, 해석한 프레임의 밝기(평균 휘도값)의 양을 판정하는 처리이다.
또한, 동화상 해석부(203)는, 상기 처리의 결과에 따라, 해석한 프레임에 득점을 부가하는 득점화 처리를 행한다. 구체적으로는, 예를 들면, 동화상 해석부(203)는, 인물의 얼굴, 동물, 요리 등의 오브젝트를 포함하는 프레임쪽이, 해당 오브젝트를 포함하지 않는 프레임보다 득점이 높아지도록, 득점화 처리를 행한다. 또한, 동화상 해석부(203)는, 어떤 프레임이 오브젝트를 포함하는지 아닌지를, 오브젝트 검출에 의해 판정할 수 있다. 또한, 예를 들면, 동화상 해석부(203)는, 큰 오브젝트를 포함하는 프레임쪽이, 작은 오브젝트를 포함하는 프레임보다 득점이 높아지도록, 득점화 처리를 행한다. 또한, 동화상 해석부(203)는, 각 프레임에 포함되는 오브젝트의 사이즈를, 사이즈 특정에 의해 특정할 수 있다. 또한, 예를 들면, 동화상 해석부(203)는, 웃는 얼굴인 얼굴을 포함하는 프레임쪽이, 웃는 얼굴이 아닌 얼굴을 포함하는 프레임보다 득점이 높아지도록, 득점화 처리를 행한다. 추가적으로, 동화상 해석부(203)는, 웃는 얼굴인 얼굴을 더 많이 포함하는 프레임쪽이, 웃는 얼굴인 얼굴을 더 적게 포함하는 프레임보다 득점이 높아지도록, 득점화 처리를 행한다. 또한, 동화상 해석부(203)는, 각 프레임에 포함되는 얼굴이 웃는 얼굴 인지의 여부나, 각 프레임에 포함되는 웃는 얼굴인 얼굴의 수를, 웃는 얼굴 판정에 의해 특정할 수 있다. 또한, 예를 들면, 동화상 해석부(203)는, 눈을 감지 않고 있는 얼굴을 포함하는 프레임쪽이, 눈을 감고 있는 얼굴을 포함하는 프레임보다 득점이 높아지도록, 득점화 처리를 행한다. 추가로, 동화상 해석부(203)는, 눈을 감고 있는 얼굴을 더 적게 포함하는 프레임쪽이, 눈을 감고 있는 얼굴을 더 많이 포함하는 프레임보다 득점이 높아지도록, 득점화 처리를 행한다. 또한, 동화상 해석부(203)는, 각 프레임에 포함되는 얼굴이 눈을 감고 있는지 아닌지나, 각 프레임에 포함되는 눈을 감고 있는 얼굴의 수를, 눈 감김 판정에 의해 특정할 수 있다. 또한, 동화상 해석부(203)는, 흔들림이나 흐려짐이 적은 프레임쪽이, 흔들림이나 흐려짐이 많은 프레임보다 득점이 높아지도록, 득점화 처리를 행한다. 또한, 동화상 해석부(203)는, 각 프레임의 흔들림이나 흐려짐의 양을, 흔들림 및 흐려짐 판정에 의해 특정할 수 있다. 추가로, 동화상 해석부(203)는, 흔들림 및 흐려짐 판정에서, 해석 대상의 프레임의 엣지량을 라플라시안(Laplacian) 필터에 의해 산출하고, 엣지량이 많을수록 흐려짐이 적다고 판정한다. 또한, 동화상 해석부(203)는, 움직임량에 따라, 흔들림 및 흐려짐 판정을 하는 영역을 변경할 수 있다. 예를 들면, 움직이고 있는 피사체를 추적해서 촬영함으로써 취득되는 동화상 데이터로부터 클립된 프레임에 대하여 흔들림 및 흐려짐 판정을 행할 경우, 피사체의 화상은 선명하게 찍히지만 배경 화상은 흐리게 찍힌다. 그 때문에, 화상 전체를 흔들림 및 흐려짐 판정의 대상 영역으로서 설정하고, 판정 대상의 프레임은 흐려짐이 많다고 판정될 수도 있다. 그 때문에, 예를 들면, 동화상 해석부(203)는, 움직임량이 많은 프레임에 관해서, 얼굴 등이 포함되어 있는 피사체 영역에 대해서만, 흔들림 및 흐려짐 판정을 실행해도 된다. 추가로, 동화상 해석부(203)는, 밝은 (평균 휘도값이 큰) 프레임쪽이, 어두운 (평균 휘도값이 작은) 프레임보다 득점이 높아지도록, 득점화 처리를 행한다.
또한, 동화상 해석부(203)는, 해석의 대상이 되는 프레임을 좁힐(narrow down) 수도 있다. 예를 들면, 동화상 해석부(203)는, 오브젝트 검출에 의해 인물의 얼굴을 검출할 때, 검출하는 얼굴의 방향을 지정한다. 이때, 동화상 해석부(203)는 모든 방향을 지정해서 얼굴을 검출하는 것보다는, 특정한 방향의 얼굴만 검출하도록 구성될 수 있다. 또한, 예를 들면, 동화상 해석부(203)는, 웃는 얼굴판정 또는 눈 감김 판정을, 특정한 방향으로 향하고 있는 얼굴을 포함하는 프레임이나, 소정값 이상의 크기의 얼굴을 포함하는 프레임에 대하여 행하도록 구성될 수 있다. 추가로, 예를 들면, 동화상 해석부(203)는 사이즈 특정, 웃는 얼굴 판정, 눈 감김 판정, 또는 흔들림 및 흐려짐 판정을, 밝기가 소정값 이상인 프레임에 대해서만 행하도록 구성될 수 있다. 이러한 구성을 이용함으로써, 동화상 데이터로부터 클립되는 프레임 수가 많은 경우에, 처리 시간을 단축할 수 있다.
또한, 동화상 해석부(203)에 의한 득점화의 방법은 상술한 방법에 한정되지 않는다. 예를 들면, 동화상 해석부(203)는, 움직임량이 많은 프레임쪽이, 움직임량이 작은 프레임보다 득점이 높아지도록, 득점화 처리를 행할 수 있다. 또한, 동화상 해석부(203)는, 줌(zooming)된 후에 취득된 프레임이나 팬(panning)된 후에 취득된 프레임에 소정의 스코어 값을 가산할 수 있다. 그렇게 함으로써 동화상 촬영시의 유저의 의도를 득점에 반영시킬 수 있다.
동화상 해석부(203)는, 이들의 해석 처리에 의해, 동화상에 있어서의 어느 프레임이 적절한 화상인지를 특정할 수 있다.
프레임 취득부(204)는, 동화상 해석부(203)에 의해 해석된 결과(평가)에 의거하여 동화상으로부터 프레임을 클립하고, 클립한 프레임을 화상 데이터로서 HDD(104)에 보존한다. 좀 더 구체적으로는, 프레임 취득부(204)는, 동화상 해석부(203)에 의해 해석·관리되는 각 프레임군으로부터 종합 득점이 소정값 이상인 프레임을 각각 취득한다. 또는, 프레임 취득부(204)는, 종합 득점이 높은 소정수의 프레임을 추출할 수 있다. 그때, 프레임 취득부(204)는 프레임과 관련지어, 해당 프레임의 움직임량, 카메라 워크, 및 득점을 보존한다. 해당 프레임의 움직임량, 카메라 워크, 및 득점은, 동화상 해석부(203)에 의해 해석됨으로써 취득된다. 또한, 앨범 작성에 이용되는 화상 또는 앨범 작성 후에 유저가 화상을 교체할 때에 이용되는 후보 화상과 같은, 화상의 용도에 관한 정보를 프레임과 관련지어 보존할 수 있다. 또한, 예를 들면, 어떤 프레임이, 앨범 작성에 이용되는 화상과 후보 화상의 어느 쪽이 될지는, 해당 프레임의 득점에 따라 결정된다. 구체적으로는, 보다 득점이 높은 프레임이, 앨범 작성에 이용되는 화상이 된다. 추가로, 예를 들면, 지정 폴더, 지정 서버, 또는 SNS 서버 등, 어느 쪽의 기억부에서 동화상 데이터를 취득했는지를 나타내는 정보, 동화상의 촬영 일시 정보, 추출한 프레임의 사이즈, 또는 동화상의 촬영 시간 등도 이때 보존될 수 있다. 또한, 추출된 프레임은, 순차적으로 화상 변환부(206)에 의해 소정의 형식의 화상 데이터로 변환된다.
화상 취득부(205)는, 앨범 작성 조건 지정부(201)에 의해 지정된 화상군(화상 데이터군)을 HDD(104) 등의 기억영역으로부터 취득한다. 또한, 동화상 취득부(202)는, 데이터 통신부(108)를 통해 네트워크상의 서버나 SNS 서버 등의 기억영역으로부터 화상군을 취득할 수 있다. 여기에서 "화상군"이란, 앨범 작성에 이용되는 화상 데이터의 후보를 가리킨다. 예를 들면, 앨범 작성 조건 지정부(201)에 있어서, 레이아웃 대상이 되는 화상 데이터가 생성되었던 (해당 화상 데이터에 대응하는 사진이 촬영되었던) 일시(이후, "촬영 일시"라고 한다.)에 관한 조건으로서 "20XX년 1월 1일∼20XX년 12월 31일"이 지정되는 경우가 있다. 이 경우, 화상 취득부(205)는, 20XX년 1월 1일∼20XX년 12월 31일에 생성된 모든 화상 데이터를 화상군으로서 취득한다.
기억영역에 보존되어 있는 화상 데이터는, 예를 들면, 정지화상 데이터나 동화상 데이터로부터 프레임을 클립함으로써 취득되는 클립된 화상 데이터다. 정지화상 데이터나 클립된 화상 데이터는, 촬상 디바이스로부터 취득된다. 촬상 디바이스는, 화상처리장치(100)에 구비될 수 있거나, 화상처리장치(100) 외부의 외부장치(PC, 스마트폰, 디지털 카메라, 태블릿 단말 등)에 구비될 수 있다. 또한, 화상처리장치(100)는, 외부장치로부터 화상 데이터를 취득하는 경우에는, 데이터 통신부(108)를 통해 화상 데이터를 취득한다. 또한, 화상처리장치(100)는, 정지화상 데이터나 클립된 화상 데이터를, 데이터 통신부(108)를 통해 네트워크나 서버로부터 취득할 수 있다. CPU(101)는, 화상 데이터에 첨부된 데이터를 해석하고, 각 화상 데이터가 어디에서 취득되는지를 판정한다. 또한, CPU(101)는, 앨범 작성 어플리케이션을 통해서 SNS 서버로부터 화상 데이터를 취득한 경우에는, 앨범 작성 어플리케이션에 의해, 해당 화상 데이터가 어디에서 취득되는지를 관리할 수 있다. 추가로, 앨범 작성 어플리케이션에 의해 이용되는 화상 데이터는, 상술한 종류의 화상 데이터에 한정되는 것이 아니고, 다른 종류의 화상 데이터여도 된다.
화상 변환부(206)는, 화상 취득부(205)에 의해 취득된 화상 데이터의 화소 수 정보와 색 정보를 변환한다. 또한, 화상 변환부(206)에 의해, 화상 데이터가 어떤 화소 수 정보 및 색 정보로 변환되었는지를 나타내는 정보가 미리 결정되고, 그러한 정보는, 앨범 작성 어플리케이션 또는 앨범 작성 어플리케이션이 사용하는 파라미터 파일에 보존되어 있다. 본 예시적인 실시예에서는, 화상 변환부(206)는, 화상 취득부(205)에 의해 취득된 화상 데이터를, 화소 수가 짧은 변의 420 화소이고 색 정보가 sRGB인 화상 데이터로 변환한다.
화상 해석부(207)는, 화상 데이터에 대하여 해석 처리를 행한다. 본 예시적인 실시예에서는, 화상 해석부(207)는, 화상 변환부(206)에 의해 행해진 변환에 의해 취득된 화상 데이터에 대하여 해석 처리를 행한다. 좀 더 구체적으로는, 화상 해석부(207)는 변환된 화상 데이터로부터 특징량을 취득하고, 변환된 화상 데이터에 있어서의 오브젝트 검출, 얼굴 검출, 검출한 얼굴의 표정 인식, 및 검출한 얼굴의 개인 인식을 행한다. 또한, 화상 해석부(207)는 화상 취득부(205)에 의해 취득된 변환 전의 화상 데이터에 첨부된 데이터(예를 들면, Exif 정보)로부터, 촬영 일시 정보를 취득한다. 촬영 일시 정보는, Exif 정보로부터의 취득된 것에 한정하지 않고, 화상 데이터를 생성 또는 갱신하는 일시를 나타내는 정보일 수도 있다. 또한, 촬영 일시 정보는 로컬 서버나 SNS 서버에 화상 데이터를 업로드거나 또는 로컬 서버나 SNS 서버로부터 화상 데이터를 다운로드하는 일시를 나타내는 정보일 수도 있다. 이러한 일시 정보도, 이하의 설명에서는 촬영 일시 정보로서 다룬다. 또한, 로컬 서버는, HDD(104) 등의, 화상처리장치(100)에 구비된 기억영역인 것으로 한다.
화상 분류부(208)는, 화상 데이터군에 대하여, 촬영 일시 정보, 촬영된 화상의 수, 및 검출한 얼굴 정보 등의 오브젝트 검출 결과 정보를 이용해서 후술하는 씬 분할 및 씬 분류를 실행한다. "씬"은, "여행", "일상", 및 "결혼식" 등의 촬영 씬이다. 씬은, 예를 들면, 특정 기간에서의 촬영 기회에 생성된 화상 데이터의 집합이라고도 할 수 있다.
주인공 정보 입력부(209)는, 앨범 작성 조건 지정부(201)에 의해 지정된 주인공의 ID(식별 정보)을 화상 득점부(210)에 입력한다.
화상 득점부(210)는, 각 화상 데이터에 대하여, 레이아웃에 알맞은 화상 데이터가 고득점이 되도록 득점(scoring)을 행한다. 득점은, 화상 해석부(207)에 의해 취득되는 정보와, 화상 분류부(208)에 의해 취득되는 정보에 따라 실행된다. 또한, 다른 정보가 부가적으로 또는 택일적으로 사용될 수도 있다. 본 예시적인 실시예에서는, 화상 득점부(210)는, 주인공 정보 입력부(209)에 의해 입력된 주인공 ID가 포함되는 화상 데이터의 득점이 고득점이 되도록, 각 화상 데이터에 대하여 득점을 행한다.
스프레드 수(a number-of-spreads) 입력부(211)는, 앨범 작성 조건 지정부(201)에 의해 지정된 앨범의 스프레드(좌우 양 페이지 스프레드)의 수를 스프레드 할당부(212)에 입력한다.
스프레드 할당부(212)는, 화상군을 분할(그룹핑)해서 각 스프레드에 할당한다. 스프레드 할당부(212)는, 입력된 스프레드 수에 따라 화상군을 분할하고, 각 스프레드에 화상군의 일부를 할당한다. 예를 들면, 스프레드 할당부(212)는, 스프레드 수가 5일 경우, 취득한 화상군을 5개의 작은 화상군으로 분할하고, 각 스프레드에 1개의 작은 화상군을 할당한다. 또한, 본 예시적인 실시예에서는, 화상군이 스프레드 수에 따라 분할되고, 분할된 화상군이 각 스프레드에 할당되는 구성을 설명하지만, 화상군이 페이지 수에 따라 분할되고, 분할된 화상군이 각 페이지에 할당되는 구성을 채용할 수 있다.
화상 선택부(213)는, 스프레드 할당부(212)에 의해 각 스프레드에 할당된 화상군으로부터, 화상 득점부(210)에 의해 주어진 득점에 의거하여 화상 데이터를 선택한다.
템플릿 설정부(214)는, 앨범 작성 조건 지정부(201)에 의해 지정된 템플릿 정보에 대응한 복수의 템플릿을 HDD(104)로부터 판독하고, 복수의 템플릿을 화상 레이아웃부(215)에 입력한다. 또한, 본 예시적인 실시예에서는, 복수의 템플릿은, HDD(104)에 보존되어 있는 앨범 작성 어플리케이션에 미리 보유되어 있는 것으로 한다. 또한, 복수의 템플릿에는, 예를 들면, 템플릿 전체의 사이즈에 관한 정보, 각 템플릿에 구비된 슬롯의 개수, 각 슬롯의 사이즈, 및 각 슬롯의 위치에 관한 정보 등이 포함된다.
화상 레이아웃부(215)는, 각 스프레드의 레이아웃을 결정한다. 좀 더 구체적으로는, 화상 레이아웃부(215)는 템플릿 설정부(214)에 의해 입력된 복수의 템플릿으로부터 화상 선택부(213)에 의해 선택된 화상 데이터에 알맞은 템플릿을 선택하고, 각 화상의 배치 위치를 결정한다. 이에 따라, 각 스프레드의 레이아웃이 결정된다.
레이아웃 정보 출력부(218)는, 화상 레이아웃부(215)가 결정한 레이아웃에 따라, 디스플레이(105)에 레이아웃 화상을 표시하기 위한 레이아웃 정보를 출력한다. 레이아웃 화상은, 예를 들면, 선택된 템플릿에 화상 선택부(213)에 의해 선택된 화상 데이터가 나타내는 화상이 배치된 화상이며, 레이아웃 정보는, 해당 레이아웃 화상을 나타내는 비트맵 데이터다.
화상 보정부(217)는, 도징(dodging) 보정(휘도 보정), 적목(red-eye) 보정, 콘트라스트(contrast) 보정 등의 다양한 보정 처리를 실행한다. 보정 조건 입력부(216)는, 앨범 작성 조건 지정부(201)에 의해 지정된 화상 보정의 ON/OFF 조건을 화상 보정부(217)에 입력한다. 화상 보정의 ON/OFF는, 보정의 종류마다 지정될 수 있고, 또는 모든 보정의 종류에 대해서 총괄하여 지정될 수 있다. 화상 보정부(217)는, 화상 보정 조건이 ON인 경우에는, 화상 데이터에 대하여 보정 처리를 행하고, 화상 보정 조건이 OFF인 경우에는, 화상 보정부(217)는, 화상 데이터에 대하여 보정 처리를 행하지 않는다. 또한, 화상 보정부(217)는, 화상 변환부(206)로부터 입력된 화상 데이터에 대하여, 화상 보정의 ON/OFF에 따라 보정 처리를 행한다. 화상 변환부(206)로부터 화상 보정부(217)에 입력되는 화상 데이터의 화소 수 정보는, 화상 레이아웃부(215)에 의해 결정된 레이아웃 화상의 사이즈에 따라 변경될 수 있다. 본 예시적인 실시예에서는, 레이아웃 화상을 생성한 후에, 각 화상 데이터에 대하여 화상 보정을 행하지만, 이 화상 보정은 이것에 한정되지 않고, 템플릿에 화상을 배치하기 전에, 각 화상 데이터를 보정할 수 있다.
레이아웃 정보 출력부(218)로부터 출력되는 화상 데이터는, 예를 들면 도 3에 나타나 있는 바와 같은 형식으로 디스플레이(105)에 표시된다.
본 예시적인 실시예에 따른 앨범 작성 어플리케이션이, 화상처리장치(100)에 인스톨되면, 화상처리장치(100)상에서 동작하는 OS에 의해 디스플레이(105)에 표시되는 탑(top) 화면(데스크탑)상에서 기동 아이콘이 생성된다. 그리고, 유저가 기동 아이콘을 마우스(107)의 조작에 의해 더블 클릭하면, HDD(104)에 보존되어 있는 앨범 작성 어플리케이션의 프로그램이 RAM(103)으로 로드된다. 그리고, RAM(103)에 로드된 프로그램이 CPU(101)에 의해 실행되어서, 앨범 작성 어플리케이션이 기동한다.
도 3은, 기동한 앨범 작성 어플리케이션이 제공하는 UI 구성 화면(301)의 일례를 도시한 도면이다. UI 구성 화면(301)은, 디스플레이(105)에 표시된다. 유저가 UI 구성 화면(301)을 통하여 후술하는 앨범의 작성 조건을 설정함으로써, 앨범 작성 조건 지정부(201)는, 유저에 의해 지정된 설정 내용을 취득한다. UI 구성 화면(301)상의 패스 박스(pass box)(302)는, 앨범 작성의 대상이 되는 화상 또는 동화상군의 HDD(104) 중의 보존 위치(패스)를 나타낸다. 폴더 선택 버튼(303)은, 유저에 의한 마우스(107)의 조작에 의해 클릭되어, 앨범 작성의 대상이 되는 화상 또는 동화상군을 포함하는 폴더를 트리(tree) 구성으로 유저가 선택 가능하게 표시한다. 그리고, 유저에 의해 선택된 화상 또는 동화상군을 포함하는 폴더 패스가 패스 박스(302)에 표시된다.
주인공 지정 아이콘(304)은, 유저가 주인공을 지정하기 위한 아이콘이며, 인물의 얼굴 화상이 아이콘으로서 표시된다. 주인공 지정 아이콘(304)에는, 복수의 다른 얼굴 화상의 아이콘이 나란히 표시되고, 유저가 마우스(107)로 클릭함으로써 유저는 표시된 아이콘 중의 어느 하나의 아이콘을 선택 가능하다. 그리고, 선택된 아이콘에 대응하는 인물이, 작성 대상의 앨범의 주인공으로서 설정된다. 또한, 각각의 얼굴 화상은 개인 ID와 관련되어 있다. 또한, 주인공 지정 아이콘(304)은, 해석 대상의 화상 데이터가 나타내는 화상에 포함된 인물에게서 중심 인물인 주인공을 특정하기 위해서 사용된다. 얼굴 화상은, 예를 들면, 미리 각 화상 데이터가 나타내는 화상으로부터 검출되어, 개인 ID와 관련지어서 얼굴 데이터베이스에 등록되어 있다. 주인공 지정 아이콘(304)은, 예를 들면, 얼굴 데이터베이스에 등록된 인물의 얼굴 화상 중, 유저에 의해 선택된 인물의 얼굴 화상이나 후술의 방법에 의해 결정된 인물의 얼굴 화상을 나타낸다. 추가로, 주인공은 또한 도 4에 나타낸 순서에 따라 자동으로 설정될 수 있다.
스프레드 수 박스(305)는, 유저로부터의 앨범의 스프레드 수의 설정을 수신하는데 사용된다. 유저는, 키보드(106)를 이용해서 스프레드 수 박스(305)에 직접 숫자를 입력할 수 있고, 또는 마우스(107)를 사용해서 리스트로부터 스프레드 수 박스(305)에 숫자를 입력할 수 있다.
템플릿 지정 아이콘(306)은, 템플릿의 테이스트(tastes)(팝(pop) 테이스트나 시크(chic) 테이스트 등)에 따라 일러스트 화상(illustrative image)을 표시한다. 템플릿 지정 아이콘(306)에는, 복수의 템플릿 아이콘이 나란히 표시되고, 유저는 마우스(107)로 클릭함으로써 표시된 아이콘 중의 어느 하나의 아이콘을 선택 가능하다. 그리고, 선택된 아이콘에 대응하는 템플릿이, 작성 대상의 앨범에 사용된 템플릿으로서 설정된다. 본 예시적인 실시예에서는, 템플릿은, 화상 데이터를 배치하기 위한 화상 배치 프레임(슬롯)을 갖는다. 그리고, 템플릿에 포함된 슬롯에, 화상 데이터가 매립됨으로써, 1개의 레이아웃 화상이 완성된다.
모드 지정부(307)는, 작성 대상의 앨범의 모드에 대응하는 아이콘이다. 또한, 앨범의 모드는, 소정의 오브젝트를 포함하는 화상을 우선해서 템플릿에 레이아웃하기 위한 모드이며, 본 예시적인 실시예에서는, "인물", "동물", "요리"의 3개의 모드를 포함한다. 또한, 앨범의 모드는, 예를 들면, 앨범의 테마로 바꿔 말할 수 있다. 예를 들면, 모드 "인물"이 선택된 경우에는, 인물을 포함하는 화상을 우선해서 템플릿에 레이아웃한다. 또한, 예를 들면, 모드 "동물"이 선택된 경우에는, 동물을 포함하는 화상을 우선해서 템플릿에 레이아웃한다. 추가로, 모드 "요리"가 선택된 경우에는, 요리를 포함하는 화상을 우선해서 템플릿에 레이아웃한다. 또한, 상기의 3개의 오브젝트 이외의 오브젝트를 포함하는 화상을 나타내는 화상 데이터를 우선해서 템플릿에 레이아웃하기 위한 모드가 있을 수 있다. 또한, 동시에 복수의 모드가 선택될 수 있다. 그 경우, 선택된 복수의 모드에 대응하는 복수의 오브젝트의 적어도 1개를 포함하는 화상을 우선해서 템플릿에 레이아웃한다. 유저는 마우스(107)로 클릭함으로써 각 모드에 대응하는 복수의 아이콘 중의 어느 하나의 아이콘을 선택 가능하다. 그리고, 선택된 아이콘에 대응하는 모드가, 작성 대상의 앨범의 모드로서 설정된다.
또한, 앨범의 모드는 상기의 3개의 모드에 한정되지 않고, 추가로 "건물", "탈것", "꽃" 등, 다른 모드를 포함할 수 있다.
또한, 본 예시적인 실시예에서는, 앨범의 모드를, 모드 지정부(307)를 통해 유저가 선택하는 구성을 설명하지만, 예를 들면, 앨범 작성 어플리케이션의 프로그램에 따라, CPU(101)가 자동으로 앨범의 모드를 선택하는 구성을 채용할 수 있다. 이 경우, 예를 들면, CPU(101)는, 화상 취득부(205)에 의해 취득된 화상 데이터군을 해석함으로써, 해당 화상 데이터군에 가장 많이 포함되는 오브젝트의 카테고리를 특정한다. 그리고, CPU(101)는, 특정된 카테고리에 대응한 모드를 선택한다.
체크 박스(308)는, 유저로부터의 화상 보정의 ON/OFF의 설정을 수신하는 데에 사용된다. 체크 박스(308)에 체크가 들어간 상태는 화상 보정 ON이 지정된 상태이며, 체크 박스(309)에 체크가 들어 있지 않은 상태는 화상 보정 OFF가 지정된 상태다. 또한, UI 구성 화면(301)은 모든 보정 처리 동작에 대해서 총괄해서 ON/OFF가 설정되도록 구성되지만, 각각의 보정 처리 동작에 대하여 개별적으로 ON/OFF를 설정 가능하게 하도록 구성될 수 있다. OK 버튼(309)은, 설정이 완료한 것을 유저로부터 접수하기 위한 버튼이다. 유저에 의해 OK 버튼(309)이 마우스(107)로 클릭되면, 앨범 작성 조건 지정부(201)는, UI 구성 화면(301)상에서 설정되어 있는 내용을 취득한다. 그리고, 앨범 작성 조건 지정부(201)는, 자동 레이아웃 처리부(219)에, 취득한 설정 정보를 출력한다. 그때, 패스 박스(302)에 입력되어 있는 패스는, 화상 취득부(205)에 전해진다. 또한, 주인공 지정 아이콘(304)으로 선택되어 있는 주인공의 개인 ID는, 주인공 정보 입력부(209)에 전해진다. 또한, 스프레드 수 박스(305)에 입력되어 있는 스프레드 수는, 스프레드 수 입력부(211)에 전해진다. 또한, 템플릿 지정 아이콘(306)으로 선택되어 있는 템플릿 정보는, 템플릿 설정부(214)에 전해진다. 또한, 체크 박스(308) 내의 화상 보정의 ON/OFF 설정은, 보정 조건 입력부(216)에 전해진다.
리셋 버튼(310)은, UI 구성 화면(301)상의 다양한 설정 정보를 리셋하는 데에 사용된다.
또한, UI 구성 화면(301)상에서는, 상술한 설정 이외의 설정을 실행할 수 있다. 예를 들면, 동화상에 관한 설정 및 화상 또는 동화상 데이터의 취득처의 설정 등을 실행할 수도 있다.
그 경우, 예를 들면, 서버명 박스, 서버 선택 버튼, 동화상 사용 체크박스, 및 대상 기간 박스 등이 UI 구성 화면(301)에 포함된다.
서버명 박스는, 앨범 작성에 이용되는 화상군을 포함하는 서버명이나 SNS명을 나타낸다. 또한, 서버 선택 버튼은, 앨범 작성에 이용되는 화상군을 포함하는 서버명이나 SNS명을, 리스트 구성에서 유저가 선택 가능하게 표시하기 위해 사용된다. 그리고, 유저에 의해 선택된 서버명이나 SNS명이 서버명 박스에 표시된다. 서버명 박스에 서버명이나 SNS명이 표시된 상태에서, OK 버튼(309)이 마우스(107)로 클릭되면, 지정된 서버나 SNS에의 로그인 화면이 표시된다. 표시된 로그인 화면을 통한 유저의 조작에 의해, 지정된 서버나 SNS에의 로그인이 완료하면, CPU(101)는, 지정된 서버나 SNS로부터의 화상 데이터의 취득이 가능해진다.
동화상 사용 체크 박스는, 패스 박스(302)에서 지정된 폴더에 저장되거나, 서버명 박스에서 지정된 서버나 SNS에 저장된 동화상을 앨범 작성에 이용할 것인지 아닌지에 관한 설정을 유저로부터 접수하는 데에 사용된다. 동화상 사용 체크 박스에 체크가 있는 상태는 앨범 작성에 동화상을 이용하는 것이 지정된 상태이며, 동화상 사용 체크박스에 체크가 없는 상태는 앨범 작성에 동화상을 이용하지 않는 것이 지정된 상태다.
대상 기간 박스는, 앨범 작성의 대상이 되는 화상군이나 동화상군의 촬영 일시 기간의 조건의 설정을 유저로부터 접수하기 위해서 사용된다. 또한, 대상 기간 박스는, 지정된 촬영 일시 기간을 표시한다. 대상 기간 박스에 촬영 일시 기간이 표시된 상태에서, OK 버튼(309)이 마우스(107)로 클릭되면, 지정된 촬영 일시 기간에 있어서 생성된 화상군이나 동화상군이 앨범 작성에 이용되는 대상으로서 추출된다.
도 4는, 본 예시적인 실시예에 따른 앨범 작성 어플리케이션에 의해 실행되는 자동 레이아웃 처리를 나타내는 흐름도인 도 4a 및 4b로 구성된다. 도 4에 나타낸 흐름도는, 예를 들면, CPU(101)가 HDD(104)에 기억된 앨범 작성 어플리케이션에 대응하는 프로그램을 ROM(102)이나 RAM(103)에 로딩해서 그 프로그램을 실행함으로써 실현된다. 도 4를 참조하면서, 자동 레이아웃 처리를 설명한다. 이하에 나타낸 바와 같이, 본 예시적인 실시예에서는 앨범을 작성할 때에, 앨범을 작성하는데 이용되는 화상군을 촬영 시간에 따라 서브 화상군으로 분할하고, 분할해서 취득된 각 서브 화상군으로부터 페이지에 배치하는 화상을 선택한다.
우선, 스텝 S401에서는, CPU(101)는, 앨범 작성 조건 지정부(201)에 의해, 앨범 작성 조건을 설정한다. 구체적으로는, 예를 들면, 도 3에 나타낸 화면을 통해서, 유저로부터 앨범 작성 조건의 설정을 접수한다. 앨범 작성 조건의 설정의 상세한 것은, 도 3을 참조하여 상기 설명한 것과 같다.
스텝 S402에서는, CPU(101)는, 동화상 취득부(202)에 의해, 검색 대상의 기억영역에 기억된 동화상 데이터를 취득한다. 동화상 데이터의 취득에 관한 상세한 것은, 동화상 취득부(202)의 설명에 관해서 상기 설명한 것과 같다. 또한, 검색 대상의 기억영역은, 도 3에 나타낸 화면(예를 들면, 서버명 박스)을 통해서 설정 가능하다. 설정되는 검색 대상의 기억영역은, 예를 들면, HDD(104), 서버, SNS 서버 등을 포함한다. CPU(101)는, 스텝 S401에서, 검색 대상의 기억영역을 파악할 수 있다.
스텝 S403에서는, CPU(101)는, 동화상 해석부(203)에 의해, 스텝 S402에서 취득한 동화상 데이터를 해석한다. 동화상 데이터의 해석에 관한 상세한 것은, 동화상 취득부(202)의 설명에 관해서 상기 설명한 것과 같다.
스텝 S404에서는, CPU(101)는, 프레임 취득부(204)에 의해, 스텝 S403에서 해석한 동화상 데이터로부터 프레임을 클립하고, 클립한 프레임을 화상 데이터로서 HDD(104)에 보존한다. 동화상 데이터로부터 프레임을 클립하는 처리의 상세한 것은, 프레임 취득부(204)의 설명에 관해서 상기 설명한 것과 같다.
스텝 S405에서는, CPU(101)는, 검색 대상의 기억영역에 기억된 동화상 데이터 모두에 대하여, 스텝 S402∼스텝 S404의 처리가 완료했는지 아닌지를 판정한다. 처리를 아직 완료하지 않았다고 판정된 경우(스텝 S405에서 NO), 처리가 스텝 S402로 돌아가서, CPU(101)는 아직 처리의 대상이 아닌 동화상 데이터를 취득한다. 처리를 완료했다고 판정된 경우(스텝 S405에서 YES)에는, 처리가 스텝 S406로 이행한다.
스텝 S406에서는, CPU(101)는, 화상 취득부(205)에 의해, 검색 대상의 기억영역에 기억되는 화상 데이터를 취득한다. 또한, 검색 대상의 기억영역은, 동화상 데이터의 취득에 관한 설정과 같이, 도 3에 나타낸 화면(예를 들면, 서버명 박스)을 통해서 설정 가능하다. 설정되는 검색 대상의 기억영역은, 예를 들면, HDD(104), 서버, SNS 서버 등을 포함한다. CPU(101)는, 스텝 S401에서, 검색 대상의 기억영역을 파악할 수 있다. 또한, 이때 취득되는 화상 데이터에는, 스텝 S401∼스텝 S405의 처리에 있어서 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터가 포함된다.
스텝 S407에서는, CPU(101)는, 화상 변환부(206)에 의해 화상 데이터의 변환을 행한다. 화상 데이터의 변환의 상세한 것은, 화상 변환부(206)의 설명에 관해서 상기 설명한 것과 같다.
스텝 S408에서는, CPU(101)는, 화상 해석부(207)에 의해, 스텝 S407에서 변환된 화상 데이터로부터 특징량을 취득한다. 특징량으로서는, 예를 들면, 포커스(focus)를 들 수 있다. 포커스에 관한 특징량을 취득하기 위한 엣지의 검출 방법으로서는, 예를 들면 일반적인 소벨 필터(Sobel filter)가 사용된다.
소벨 필터를 통해서 엣지를 검출하고, 엣지의 시점과 종점 간의 휘도차를 시점과 종점 간의 거리로 나눠서 엣지의 기울기, 즉 휘도 경사가 산출 가능하다. 화상 중의 엣지의 평균 기울기를 산출해서 얻은 결과로부터, 평균 기울기가 큰 화상은, 평균 기울기가 작은 화상보다도 더 초점이 맞는다고 간주할 수 있다. 그리고, 기울기에 대하여 서로 다른 복수의 임계값을 설정하면, 기울기가 어느 임계값 이상인지를 판정함으로써, 포커싱량의 평가값을 출력 가능하다.
본 예시적인 실시예에서는, 다른 2개의 임계값을 미리 설정해 두고, "O", "△", 및 "×"의 3레벨로 포커싱량을 판정한다. 임계값은, 앨범에 채용하고 싶은 포커스의 기울기가 레벨 "0"으로 설정되고, 허용할 수 있는 포커스의 기울기가 레벨 "△"로 설정되며, 허용할 수 없는 포커스의 기울기가 레벨 "×"로 설정되도록, 실험 등에 의해 미리 설정된다. 또한, 임계값의 설정은, 예를 들면, 앨범 작성 어플리케이션의 작성원 등에 의해 제공될 수 있고, 또는 유저 인터페이스상에서 실행될 수 있도록 구성될 수 있다.
스텝 S409에서는, CPU(101)는, 화상 해석부(207)에 의해, 스텝 S407에서 변환된 화상 데이터에 대하여 오브젝트 검출 처리를 행한다. 우선, CPU(101)는, 스텝 S407에서 변환된 화상 데이터가 나타내는 화상으로부터 인물의 얼굴을 검출한다. 얼굴 검출의 처리에는, 공지의 방법을 사용할 수 있고, 예를 들면, 복수의 미리 준비한 약식별기(weak classifiers)로부터 강식별기(strong classifiers)를 작성하는 Adaboost를 사용한다. 본 예시적인 실시예에서는, Adaboost에 의해 작성한 강식별기에 의해 인물(오브젝트)의 얼굴 화상이 검출된다. 또한, CPU(101)는, 얼굴 화상을 추출하는 동시에, 검출한 얼굴 화상의 위치의 좌상(upper left) 좌표값과 우하(lower right) 좌표값을 취득한다. 이러한 2종류의 좌표를 취득하는 것에 의해, CPU(101)는, 얼굴 화상의 위치와 얼굴 화상의 사이즈를 취득하는 것이 가능해진다. 또한, CPU(101)는, Adaboost를 사용해서 얼굴 검출 처리를 실행함으로써 검출한 오브젝트의 신뢰도에 관한 정보도 취득할 수 있다. 신뢰도의 상세에 관해서는 후술한다. 또한, 스텝 S409에서는, CPU(101)는, 얼굴에 한정하지 않고, 개나 고양이 등의 동물, 꽃, 요리, 건물, 장식물(stationary article), 탈것(vehicle) 등의 오브젝트를 검출 대상으로 해서 Adaboost에 따라 강식별기를 작성할 수 있다. 이에 따라, CPU(101)는, 얼굴 이외의 오브젝트도 검출하는 것이 가능해진다. 본 예시적인 실시예에서는, 스텝 S409에서는, CPU(101)는, 얼굴을 검출하는 처리뿐만 아니라, 동물과 요리를 검출하는 처리를 행한다.
스텝 S410에서는, CPU(101)는, 화상 해석부(207)에 의해 개인 인식 처리를 행한다. 구체적으로는, CPU(101)는, 스텝 S409에서 추출한 얼굴 화상과, 얼굴 사전 데이터베이스에 개인 ID마다 보존되어 있는 대표 얼굴 화상과의 유사성을 비교함으로써 개인 인식을 행한다. CPU(101)는, 스텝 S409에서 추출한 얼굴 화상과 각 대표 얼굴 화상과의 유사성을 판정하고, 유사성이 임계값 이상이며 또한 가장 유사성이 높은 대표 얼굴 화상의 ID를, 스텝 S409에서 추출한 얼굴 화상의 ID로서 설정한다. 즉, CPU(101)는 유사성이 임계값이상이며 또한 가장 유사성이 높은 대표 얼굴 화상에 대응하는 인물을, 스텝 S409에서 추출한 얼굴 화상에게 대응하는 인물로서 특정한다. 또한, CPU(101)는, 스텝 S409에서 추출한 얼굴 화상과, 얼굴 사전 데이터베이스에 보존되어 있는 모든 대표 얼굴 화상과의 유사성이 임계값 미만인 경우에는, 추출한 얼굴 화상에 신규 개인 ID를 할당하고, 추출한 얼굴 화상을 신규 인물로서 얼굴 사전 데이터베이스에 등록한다.
스텝 S408~스텝 S410에서 취득된 각 화상 데이터의 화상 해석 정보(500)는, 각 화상 데이터를 식별하기 위한 화상 ID(501)와 관련지어서 RAM(103)이나 HDD(104) 등의 기억영역에 기억된다. 예를 들면, 도 5에 나타나 있는 바와 같이, 스텝 S408에서 취득된 촬영 일시 정보(502)와 포커스 판별 결과(504), 및 스텝 S409에서 검출된 얼굴 화상의 수(506)와 위치 정보(507)가 테이블 형식으로 기억된다. 또한, 얼굴 화상의 위치 정보는, 스텝 S404에서 취득된 개인 ID마다 구별해서 기억된다. 또한, 1개의 화상 데이터가 나타내는 1개의 화상에는, 복수의 인물의 얼굴 화상이 포함되는 경우가 있지만, 그 경우에는, 복수의 인물의 얼굴 화상을 포함하는 화상을 나타내는 화상 데이터의 화상 ID(501)와 복수의 개인 ID가 관련되어 있다. 또한, 1개의 화상에, 얼굴 화상이 포함되어 있지 않는 경우에는, 얼굴 화상을 1개도 포함하지 않는 화상을 나타내는 화상 데이터의 화상 ID(501)와는, 어떤 개인 ID도 관련되어 있지 않는다. 추가로, 본 예시적인 실시예에서는, 인물의 얼굴 화상에 대해서, 그 수와 위치를 관리하지만, 다른 오브젝트(예를 들면, 동물의 얼굴이나 요리 등)의 수 및 위치도 관리하는 구성도 채용할 수 있다.
화상 속성(503)은, 각 화상 데이터의 속성을 나타낸다. 예를 들면, 로컬 서버로부터 취득된 정지 화상 데이터인 화상 데이터는, "정지 화상"의 속성을 갖는다. 또한, 예를 들면, 로컬 서버로부터 취득된 동화상 데이터로부터 클립된 후에 보존된 화상 데이터는, "동화상"의 속성을 갖는다. 추가로, 예를 들면, SNS 서버로부터 취득된 화상 데이터는, "SNS"의 속성을 갖는다. 이렇게, 속성은, 화상 데이터가 정지 화상 데이터로부터 취득되었는지 또는 동화상 데이터로부터 취득되었는지를 나타내는 정보일 수도 있고, 또는 화상 데이터를 보존하는 기억영역(예를 들면, SNS 서버나, HDD(104) 등)을 나타내는 정보일 수도 있다. 이와 같이, 본 예시적인 실시예에 있어서, 속성은, 화상 데이터의 취득원을 나타내는 정보라고도 말할 수가 있다. 또한, 상술한 방법 이외의 방법에 따라 속성을 구별할 수 있다. 또, 예를 들면, 디지털 카메라로 사진을 촬영함으로써 생성된 정지 화상 데이터로부터 취득된 화상 데이터와, 스마트 디바이스로 사진을 촬영함으로써 생성된 정지 화상 데이터로부터 취득된 화상 데이터를 구별하는 방식으로, 각 속성을 더 상세하게 구별할 수 있다. 또한, 본 예시적인 실시예에서는, "SNS"의 속성의 화상 데이터는, SNS 서버로부터 취득된 정지 화상 데이터다. "SNS"의 속성의 화상 데이터는, 화상 데이터가 정지 화상 데이터로부터 취득되었는지, 동화상 데이터로부터 취득되었는지에 따라 상세하게 구별될 수 있다. 추가로, 각 화상 데이터의 속성은, 각 화상 데이터가 각 속성에 해당하는지 아닌지를 나타내는 플래그에 의해 관리될 수 있다.
오브젝트 분류(505)는, 각 화상 데이터가 나타내는 화상에 포함되는 오브젝트의 카테고리(종류) 및, 카테고리의 신뢰도를 나타낸다. 또한, CPU(101)는, 각 화상 데이터가 나타내는 화상에 포함되는 오브젝트를, 예를 들면 Adaboost에 의해 검지할 수 있다. 또한, 이때, 각 화상 데이터가 나타내는 화상에 포함되는 오브젝트의 카테고리 및, 카테고리의 신뢰도도 검출된다. Adaboost에서는, 패턴을 판별하는 약판별기를 연속으로 접속하고, 1개의 강판별기를 형성한다. 또한, 앨범 작성 어플리케이션은, Adaboost를 이용해서, 소정의 카테고리에 대응하는 패턴과 일치하는 약판별기를 미리 학습하고 있다. 그리고, 어떤 화상 데이터에 있어서의 소정의 카테고리의 오브젝트의 신뢰도는, 해당 소정의 카테고리에 대응하는 패턴과 일치하는 약판별기를, 해당 화상 데이터가 나타내는 화상이 많이 포함하는 경우에 높아진다. 또한, 여기에서는, Adaboost를 사용해서 오브젝트 검출 및 신뢰도의 취득을 행하는 예를 설명했지만, 이 예시적인 실시예는 이 예에 한정되지 않는다. 예를 들면, DNN(Deep Neural Network)을 비롯한 CNN(Convolutional Neural Network)을 사용해서 오브젝트 검출 및 신뢰도의 취득을 행하는 구성도 채용할 수 있다.
본 예시적인 실시예에서는, "인물", "동물", "요리"의 3카테고리(종류)의 오브젝트가 검출되는 것으로 하고, 오브젝트 분류(505)에는, 각 화상 데이터가 나타내는 화상에서 검출된 오브젝트의 카테고리를 나타내는 정보가 기억되어 있다. 즉, 오브젝트 분류(505)는, 각 화상 데이터가 나타내는 화상이, 어느 카테고리의 오브젝트를 포함하는지를 나타내는 정보이다. 또한, 그러한 정보는, 예를 들면 플래그에 의해 관리될 수 있다. 또한, 상기한 바와 같이, 검출되는 오브젝트는 "인물", "동물", "요리"의 3카테고리에 한정되지 않기 때문에, 오브젝트 분류(505)에는 예를 들면 "꽃", "건물", "장식물", "탈것" 등의 다른 카테고리를 나타내는 정보가 기억될 수 있다.
카테고리의 신뢰도는, 화상 데이터가 나타내는 화상에 포함되는 오브젝트가, 어떤 카테고리에 포함될 가능성이 높은지를 나타내는 정보이며, 신뢰도가 높은 카테고리는, 화상 데이터가 나타내는 화상에 포함되는 오브젝트의 카테고리일 가능성이 높다. 또한, 신뢰도는, 예를 들면, 화상 데이터가 나타내는 화상에 포함된 각 오브젝트의 사이즈를 나타내는 정보일 수도 있다. 이 경우, 예를 들면, 신뢰도가 높은 카테고리의 오브젝트의 사이즈는, 신뢰도가 낮은 카테고리의 오브젝트의 사이즈보다 크다. 또한, 화상 데이터가 나타내는 화상에 포함되지 않는 오브젝트에 대응하는 카테고리에 관한 정보는, 오브젝트 분류(505)에는 기억되어 있지 않는다. 또한, 카테고리에 관한 정보는 신뢰도가 더 높은 카테고리로부터 순차적으로, 오브젝트 분류(505)에 있어서의 프레임 TOP1, TOP2, TOP3에 기억되어 있다. 추가로, 화상 데이터가 나타내는 화상에 4개 이상의 카테고리의 오브젝트가 포함되는 경우에는, 프레임 TOP4 및 TOP5 등의 추가 프레임을 제공할 수 있다.
스텝 S411에서는, CPU(101)는, 검색 대상의 기억영역에 기억되는 화상 데이터 모두에 대하여 스텝 S407로부터 스텝 S410의 처리가 완료했는지 아닌지를 판정한다. 처리가 아직 완료하지 않았다고 판정된 경우(스텝 S411에서 NO), 처리가 스텝 S406로 돌아가고, CPU(101)는 아직 처리의 대상이 아닌 화상 데이터를 취득한다. 처리가 완료했다고 판정된 경우(스텝 S411에서 YES)에는, 처리가 스텝 S412로 이행한다.
스텝 S412에서는, CPU(101)는, 화상 분류부(208)에 의해 씬 분할을 행한다. 씬 분할은, 스텝 S401∼스텝 S411에서 취득되는 모든 화상 데이터를, 씬마다 분할하고, 분할한 화상 데이터를 복수의 화상군으로서 관리하는 것을 가리킨다. 구체적으로는, CPU(101)는, 스텝 S408에서 취득한 촬영 일시 정보로부터 산출한 각 화상 데이터의 촬영 일시의 시간차에 의거하여 모든 화상 데이터를 복수의 화상군으로 분할한다. 또한, 이하의 설명에 있어서, 모든 화상 데이터(메인 화상군)를 분할함으로써 취득되는 각 화상군을, "서브 화상군"이라고 한다. 본 예시적인 실시예에서는, 예를 들면, CPU(101)는 이하의 방법에 따라 씬 분할을 행한다. 우선, 촬상 일시가 오래된 순으로 N번째의 촬상 화상 데이터의 촬상 일시와 (N+1)번째의 촬상 화상 데이터의 촬상 일시와의 차가 1일 이하이면, CPU(101)는 아래의 동작을 행한다. 촬상 일시가 오래된 순으로 N번째의 촬상 화상 데이터의 촬상 일시와 (N+1)번째의 촬상 화상 데이터의 촬상 일시와의 차가 16시간 이상이면, CPU(101)는 N번째의 촬상 화상 데이터와 (N+1)번째의 촬상 화상 데이터와의 사이에 그룹의 경계를 설정한다. 또한, 촬상 일시가 오래된 순으로 인접하는 촬상 화상 데이터 사이에서 촬상 일시의 차가, 모든 촬상 화상 데이터 사이에서 16시간 미만인 경우가 있을 수도 있다. 이 경우, 1일로 촬상한 촬상 화상 데이터군에 있어서 최초로 촬상한 촬상 화상 데이터의 촬상 일시와 최후에 촬상한 촬상 화상 데이터의 촬상 일시와의 차가 4시간 미만이면, CPU(101)는 상기 1일의 촬상 화상 데이터군을 1개의 서브 화상군으로서 설정한다. 한편, 상기 1일로 촬상한 촬상 화상 데이터군에 있어서 최초로 촬상한 촬상 화상 데이터의 촬상 일시와 최후에 촬상한 촬상 화상 데이터의 촬상 일시와의 차가 4시간 이상인 경우가 있을 수도 있다. 이 경우, 상기 1일로 촬상한 촬상 화상 데이터의 수가 50매 미만(1일로 촬상한 촬상 화상의 수가 50 미만)이면, CPU(101)는 상기 1일로 촬상한 촬상 화상 데이터군을 1개의 서브 화상군으로서 설정한다. 이러한 촬상 화상 데이터의 그룹핑의 일례를 도 6a에 나타낸다. 도 6a∼6c에 있어서, 횡축은 촬상 일시(좌측을 향할수록 오래되고, 우측을 향할수록 최근이다)를 나타내고, 종축은 촬상 화상 데이터의 수를 나타낸다. 도 6a를 참조하면, 촬상 화상 데이터군을 그룹 601∼608을 포함하는 8개의 서브 화상군으로 분할한다. 도 6a에 있어서, 각 화살표는 그룹의 경계를 나타낸다. 또한, 상기의 씬 분할 방법의 설명에 있어서 사용한 촬상 일시의 차에 대한 임계값과 촬상 화상 데이터의 수에 대한 임계값은 단지 일례이며, 이것들의 값에 한정하는 것은 아니다. 또한, 분할된 화상군을 "분할 화상군"이라고 부르고, 1개의 씬마다 1개의 분할 화상군이 설정된다.
스텝 S413에서는, CPU(101)는, 화상 분류부(208)에 의해, 씬 분류를 행한다. 구체적으로는, CPU(101)는, 스텝 S412에서 씬 분할을 행함으로써 취득되는 서브 화상군에 대하여 씬의 종류마다 득점화를 행하고, 후술하는 씬 분류의 신뢰성이 낮은 경우를 제외하고, 가장 득점이 높은 씬의 종류로, 해당 서브 화상군을 분류한다. 또한, 이하의 설명에 있어서, 스텝 S413에 있어서의 득점화 동작을 "씬 분류 득점화"라고 칭한다. 본 예시적인 실시예에서는, 씬의 종류로서, "여행", "일상", "세레모니"가 있는 것으로 해서 각 서브 화상군을 이들 씬 중의 어느 하나로 분류하는 예를 설명한다. 또한, 씬 분류 득점화는, 씬의 각 종류에 대응하는 특징량의 정보가 기억된 씬 분류 테이블을 이용해서 행해진다.
여기에서, 프로그램에 미리 기억되어 있는, 씬 분류 테이블의 작성 방법에 관하여 설명한다. 우선, "여행", "일상", "세레모니"의 각 씬으로 분류된다고 미리 판정된 복수의 화상 데이터군이 프로그램의 설계자에 의해 수집되고, 수집된 화상 데이터군에 대해서, 특징량이 취득된다. 여기에서 취득되는 특징량의 예는, 예를 들면 촬영 기간, 촬영 매수, 촬영 인원 수를 포함한다. 촬영 기간은, 각 화상 데이터군에 있어서 최초로 생성된 화상 데이터와 최후에 생성된 화상 데이터와의 촬영 시간차이다. 촬영 매수는, 각 화상 데이터군의 매수다. 촬영 인원수는, 각 화상 데이터군이 나타내는 각 화상에 포함되는 얼굴의 평균 수다. 그 결과, 예를 들면, 여행 씬이라고 미리 판정된 복수의 화상 데이터로 이루어지는 1화상 데이터군에 대해서, 촬영 기간, 촬영 매수, 및 촬영 인원수의 특징량이 취득된다. 또한, 특징량은 촬영 기간, 촬영 매수, 및 촬영 인원수에 한정되지 않고, 다른 특징량도 사용할 수 있고, 또는 이들 특징량 중의 어느 하나만 사용할 수도 있다.
그리고, 상기와 같은 촬영 기간, 촬영 매수, 및 촬영 인원수의 특징량의 취득이, 미리 수집된 다른 화상 데이터군에 관해서도 행해진다. 다음에, 씬마다 수집된 복수의 화상 데이터군으로부터 취득된 특징량에 의거하여 촬영 기간의 평균값과 표준편차, 촬영 매수의 평균값과 표준편차, 1화상당의 촬영 인원수의 평균값과 표준편차가 취득된다. 이렇게 하여 취득된 값과 씬의 각 종류를 서로 관련지어서, 씬의 종류마다의 각 평균값과 표준편차를 나타내는 씬 분류 테이블이 작성된다.
본 예시적인 실시예에서는, 씬 분류 테이블로서, 도 7에 나타낸 테이블 700이 이용되는 것으로 한다. 테이블 700에서는, 씬 ID(701)와 관련하여, 촬영 기간(702), 촬영 매수(703), 및 촬영 인원수(704) 각각의 평균값과 표준편차가 미리 등록되어 있다. CPU(101)는, 테이블 700을 ROM(102)이나 HDD(104) 등의 기억영역에 씬 분류 처리 전에 미리 기억해 둔다. 또한, 테이블 700은, 앨범 작성 어플리케이션의 프로그램에 미리 포함될 수 있고, 또는 앨범 작성 어플리케이션 이외의 프로그램에 미리 포함될 수 있다.
여기에서, 씬 분류 득점화에 관하여 설명한다. 앨범 작성 어플리케이션이 기동된 후, 유저에 의해 패스 박스(302)나 서버명 박스를 통해서 지정된 화상 데이터군이 스텝 S406에서 씬 분할됨으로써 취득되는 각 서브 화상군에 대하여, CPU(101)는, 촬영 기간, 촬영 매수, 및 촬영 인원수의 각 특징량의 득점을 산출한다. CPU(101)는, 각 서브 화상군에 대하여 촬영 기간, 촬영 매수, 및 촬영 인원수의 득점, 및 그들의 평균 득점을, 도 7에 나타낸 씬마다의 평균값과 표준편차를 사용해서 식(1) 및 식(2)에 따라 산출한다. 또한, 하기의 식에 있어서의 소정의 종류의 씬에 대응하는 소정의 특징량의 평균값 및 소정의 종류의 씬에 대응하는 소정의 특징량의 표준편차는, 테이블 700에 등록되어 있다. 또한, 특징량은, 촬영 기간, 촬영 매수, 및 촬영 인원수의 3개의 특징 항목에 대해서 취득된다. 그 때문에, 특징항목의 수는 본예에서는 3이 된다.
우선, CPU(101)는, 식(1)에 따라 서브 화상군의 씬의 각 종류 및 각 특징량 마다의 득점을 산출한다.
서브 화상군의 소정의 종류의 씬에 대응하는 소정의 특징량의 득점 = 50-|10×(소정의 종류의 씬에 대응하는 소정의 특징량의 평균값 - 서브 화상군의 소정의 특징량)/ 소정의 종류의 씬에 대응하는 소정의 특징량의 표준편차| ···(1)
이에 따라, 예를 들면, 서브 화상군에 있어서, "여행" 씬에 대응하는 촬영 기간, 촬영 매수, 촬영 인원수 각각의 득점이 취득된다. 또한, CPU(101)는, "여행" 씬뿐만 아니라, 다른 각 종류의 씬에 관해서도 득점을 취득한다.
다음에, CPU(101)는, 식(1)에 따라 취득된 각 득점을 식(2)에 따라 평균화하여, 서브 화상군의 각 종류의 씬에 관한 득점을 취득한다.
서브 화상군의 소정의 종류의 씬에 관한 득점 = (서브 화상군의 소정의 종류의 씬에 대응하는 촬영 기간의 득점 + 촬영 매수의 득점 + 촬영 인원수의 득점)/특징항목의 수 ···(2)
이에 따라, 예를 들면, 서브 화상군에 있어서, "여행", "일상", "세레모니"의 각 종류의 씬에 관한 득점이 취득된다. 또한, CPU(101)는, 씬 분류 득점화를, 각 서브 화상군에 대해서 행한다.
이상에 의해, 각 서브 화상군에 대해서 "여행", "일상", "세레모니" 마다의 득점이 산출된다. 그리고, CPU(101)는, 득점이 1위인 씬을 그 서브 화상군의 씬으로서 분류한다. 예를 들면, 도 6a에 나타낸 씬 분할에 의해 취득된 씬 5에 대응하는 서브 화상군(5)은, 촬영 기간이 36시간, 촬영 매수가 300매, 촬영 인원수가 1.7명이었다고 가정한다. 그러면, 서브 화상군(5)에 있어서, "여행"에 관한 득점은 45.32가 되고, "일상"에 관한 득점은 18.38가 되며, "세레모니"에 관한 득점은 -29.92가 되어, 서브 화상군(5)은 최고득점의 씬인 "여행"으로 분류된다. 또한, 어느 서브 화상군이 어느 씬으로서 분류되어 있는지는 식별 가능하게 씬 ID로 관리된다. 또한, 각 씬에 관한 득점 중, 동점의 득점이 있는 경우에는, CPU(101)는, 미리 정해진 우선도에 따라 서브 화상군을, 동점의 씬 중의 어느 하나의 씬으로서 분류한다. 구체적으로는, CPU(101)는, 서브 화상군을, 동점의 씬 중, 우선도가 더 높은 씬으로서 분류한다. 또한, 예를 들면, 본 예시적인 실시예에서는, 우선도의 크기의 순서는, "일상" > "세레모니" > "여행"의 순인 것으로 한다. 우선도의 크기의 순서는 이 순서에 한정되는 것이 아니고, 예를 들면, 우선도의 크기의 순서를 유저가 설정할 수 있게 구성할 수 있다.
스텝 S414에서는, CPU(101)는, 스텝 S412에서 취득된 모든 서브 화상군에 대하여 스텝 S413에서의 씬 분류가 완료했는지 아닌지를 판정한다. 씬 분류가 아직 완료하지 않았다고 판정된 경우(스텝 S414에서 NO), 처리가 스텝 S413로 돌아가서, 아직 씬 분류되지 않은 서브 화상군에 대하여 씬 분류를 행한다. 씬 분류가 완료했다고 판정된 경우(스텝 S414에서 YES), 처리가 스텝 S415로 이행한다.
스텝 S415에서는, CPU(101)는, 화상 득점부(210)에 의해 주인공 설정을 행한다. 주인공 설정은 유저가 지정한 화상군에 대하여 실행되고, 자동과 수동의 2종류의 설정 방법 중의 어느 하나에 따라 행해진다. CPU(101)는, 스텝 S410에서 실행된 개인 인식의 결과와 스텝 S412에서 실행된 씬 분할의 결과에 의거하여, 화상 데이터군에서의 각 개인 ID의 등장 횟수, 각 씬에서의 각 개인 ID의 등장 횟수, 및 각 개인 ID가 등장하는 씬의 횟수 등을 취득 가능하다. 자동의 설정 방법이 선택되었을 경우, CPU(101)는, 이들의 정보에 의거하여 유저의 지정에 의존하지 않고 자동으로 주인공을 설정한다. 본 예시적인 실시예에서는, CPU(101)는, 유저가 지정한 화상 데이터군이 씬마다 복수의 분할 화상 데이터군으로 분할되어 있는 경우에는, 복수의 씬에서의 등장 횟수가 많은 개인 ID를 주인공 ID로서 설정한다. 또한, CPU(101)는, 화상 데이터군이 단일 씬인 경우에는, 단일 씬에서의 등장 횟수가 많은 개인 ID를 주인공 ID로서 설정한다. 또한, CPU(101)는, 주인공 지정 아이콘(304)이 유저에 의해 지정되어 있는 경우에는, 주인공 정보 입력부(209)를 통해 지정되어 있는 개인 ID를 화상 득점부(210)에 전달한다. 유저에 의해 개인 ID가 지정되어 있는 경우에는, 상술한 바와 같이 자동으로 설정된 주인공 ID는 무시되고, CPU(101)는, 유저에 의해 지정된 개인 ID를 주인공 ID로서 설정한다. 또한, 이 설정을 "수동 설정"이라고 부른다.
스텝 S416에서는, CPU(101)는, 화상 득점부(210)에 의해, 화상 득점화를 행한다. 스텝 S416에 있어서의 화상 득점화는, 화상 데이터마다 후술하는 관점에서 평가한 득점을 부여하는(scoring) 것이며, 후술하는 템플릿에 배치하는 화상을 나타내는 화상 데이터의 선택시에 참조된다. 또한, 본 예시적인 실시예에서는, 동화상 데이터로부터 프레임을 클립하는 것에 의해 취득된 화상 데이터에 대해서는, 동화상 해석부(203)에 의해 행해진 해석의 결과도 고려해서 득점을 부여한다. 여기에서, 도 8a, 8b 및 도 10을 참조하여 득점화 방법에 관하여 설명한다.
도 10은, 화상 데이터의 레이아웃에 사용하는 템플릿 군을 나타낸다. 템플릿 군에 포함되어 있는 복수의 템플릿의 각각이, 각 두 페이지 스프레드에 대응하고 있다. 템플릿(1001)은, 1매의 템플릿이며, 메인 슬롯(1002)과 서브 슬롯 1003 및 1004를 포함한다. 메인 슬롯(1002)은, 템플릿(1001) 내의 메인 슬롯(화상을 레이아웃(배치)하는 프레임)이며, 서브 슬롯 1003과 1004보다도 사이즈가 크다. 또한, 1매의 템플릿에는, 각각 동일한 종류의 씬으로 분류된 화상 데이터가 나타내는 화상이 레이아웃될 수 있고, 또는 각각 다른 종류의 씬으로 분류된 화상 데이터가 나타내는 화상이 레이아웃될 수 있다. 스텝 S416에서는, CPU(101)는, 화상 득점화 처리로서, 화상 데이터가 속하는 종류의 씬에 대응하는 메인 슬롯용의 득점과 서브 슬롯용의 득점의 양쪽을 화상 데이터에 부여하는 처리를 행한다.
화상 득점화에 있어서는, 메인 슬롯과 서브 슬롯에 채용되어야 하는 화상의 특징량의 정보가 씬의 종류마다 기억되어 있는 슬롯 특징 테이블이 이용된다.
여기에서, 슬롯 특징 테이블의 작성 방법에 관하여 설명한다. 도 8a는, 메인 슬롯과 서브 슬롯에 채용되는 화상 데이터의 특징이, "여행", "일상", "세레모니"의 각 종류의 씬마다 요약되어 있는 테이블을 나타낸다. 우선, 각 종류의 씬으로 분류된 화상 데이터에 있어서, 메인 슬롯에 채용되어야 하는 화상 특징에 적합하다고 판정된 복수의 화상 데이터가, 프로그램의 설계자에 의해 수집된다. 또한, 서브 슬롯에 채용되어야 하는 화상 특징에 적합하다고 판정된 복수의 화상 데이터가 수집된다. 즉, 도 8a에 나타낸 특징에 적합한 화상 데이터가 수집된다. 그리고, 화상 해석부(205)에 의해, 수집된 각 화상 데이터에 있어서의 얼굴 화상의 수, 각 얼굴 화상의 위치, 및 각 얼굴 화상의 사이즈 등의 특징량이 추출된다. 그리고, 추출된 특징량의 평균값과 표준편차를, 각 씬 종류 및 각 슬롯 종류(메인 슬롯과 서브 슬롯)에 대하여 산출하는 것으로, 슬롯 특징 테이블이 작성된다. 또한, 슬롯 특징 테이블은, ROM(102)이나 HDD(104) 등의 기억영역에, 화상 득점화 전에 미리 기억된다. 또한, 슬롯 특징 테이블은, 앨범 작성 어플리케이션의 프로그램에 미리 포함될 수 있고, 앨범 작성 어플리케이션 이외의 프로그램에 미리 포함될 수 있다.
또한, 도 8a에 나타나 있는 바와 같이, 슬롯의 종류에 따라 득점화의 기준이 다르다. 예를 들면, 어떤 서브 화상군의 씬 종류가 "여행"일 경우, 해당 서브 화상군에 포함되는 화상 중, 인물이나 풍경을 포함하는 화상은, 메인 슬롯으로서의 득점이 높아지고, 얼굴의 클로즈업(close-up)이나 옆 얼굴을 포함하는 화상은, 서브 슬롯으로서의 득점이 높아진다. 또한, 어떤 서브 화상군의 씬 종류가 "일상"일 경우, 해당 서브 화상군에 포함되는 화상 중, 얼굴의 클로즈업이나 옆 얼굴을 포함하는 화상은, 메인 슬롯으로서의 득점이 높아지고, 인물이나 풍경을 포함하는 화상은, 서브 슬롯으로서의 득점이 높아진다. 추가로, 어떤 서브 화상군의 씬 종류가 "세레모니"일 경우, 해당 서브 화상군에 포함되는 화상 중, 거리가 가까운 두 사람의 인물을 포함하는 화상은, 메인 슬롯으로서의 득점이 높아지고, 많은 사람의 인물을 포함하는 화상은, 서브 슬롯으로서의 득점이 높아진다. 이렇게, 씬 및 슬롯의 종류에 따라, 평가하는 특징, 즉 평가 기준이 다르다.
화상 득점화에 있어서, CPU(101)는, 하기의 식을 이용하여, 해당 화상 데이터가 속하는 종류의 씬에 대응하는 템플릿의 슬롯마다 화상 데이터에 대하여 득점화를 행한다. 또한, 유저가 지정한 화상 데이터군의 각 화상 데이터가 어느 종류의 씬에 속하는지는 스텝 S413에서 행해진 씬 분류의 결과로부터 알 수 있다. 또한, 하기의 식에 있어서, 소정의 종류의 씬 및 소정의 슬롯에 대응하는 소정의 특징량의 평균값 및 소정의 종류의 씬 및 소정의 슬롯에 대응하는 소정의 특징량의 표준편차는, 슬롯 특징 테이블에 미리 등록되어 있다. 추가로, 특징량은, 주인공 ID의 얼굴 화상 수, 얼굴 화상의 위치, 및 얼굴 화상의 사이즈의 3개의 특징 항목에 대해서 취득된다. 그 때문에, 특징항목 수는 본 예에서는 3이다.
화상 데이터의, 소정의 슬롯에 대응하는 소정의 특징량에 관한 득점 = 50 - |10× (화상 데이터가 속하는 종류의 씬 및 소정의 슬롯에 대응하는 소정의 특징량의 평균값 - 화상 데이터의 소정의 특징량)/화상 데이터가 속하는 종류의 씬 및 소정의 슬롯에 대응하는 소정의 특징량의 표준편차| ···(3)
이에 따라, 예를 들면, "여행" 씬으로서 분류된 화상 데이터의, 메인 슬롯에 대응하는 "주인공 ID의 얼굴 수"에 관한 득점이 취득된다. 또한, CPU(101)는, 메인 슬롯에 대응하는 특징량뿐만 아니라, 서브 슬롯에 대응하는 특징량에 관해서도 득점을 취득한다. 추가로, CPU(101)는, "주인공 ID의 얼굴 화상 수"뿐만 아니라, "각 얼굴 화상의 위치" 및 "각 얼굴 화상의 사이즈"에 대응하는 특징량에 관해서도 득점을 취득한다.
다음에, CPU(101)는, 식(3)에 따라 취득된 각 득점을 식(4)에 따라 평균화하여, 화상 데이터의, 소정의 슬롯에 관한 득점을 취득한다.
화상 데이터의 소정의 슬롯에 관한 득점 = (화상 데이터가 속하는 종류의 씬 및 소정의 슬롯에 대응하는 얼굴 수의 득점 + 각 얼굴 화상의 위치의 득점 + 각 얼굴 화상의 사이즈의 득점)/특징항목 수 ···(4)
이에 따라, 메인 슬롯용과 서브 슬롯용의 양쪽에 관한 득점화가 화상 데이터에 대해서 실행된다.
본 예시적인 실시예에서, 또한, CPU(101)는, 상술한 바와 같이 산출된 득점에 대하여, 앨범 작성 조건 지정부(201)로 지정된 모드에 의거하여 점수를 가산한다. 구체적으로는, 예를 들면, CPU(101)는, 모드 지정부(307)에 의해 지정된 모드와, 각 화상 데이터에 대해 행해진 오브젝트 분류의 결과에 따라 점수를 가산한다. 예를 들면, 앨범의 모드가 "인물"로 설정되어 있는 경우에, 도 5에 나타낸 오브젝트 분류(505)에, "인물"의 카테고리가 포함되어 있으면, CPU(101)는, 득점을 가산하고, 거기에 "인물"의 카테고리가 포함되어 있지 않으면, CPU(101)는, 득점을 가산하지 않는다. 또한, 이때 가산되는 득점은, "인물"의 카테고리의 신뢰도나, 신뢰도의 순위에 따라 변경될 수 있다. "동물"이나 "요리"의 모드에 관해서도, "인물"의 모드와 마찬가지로 득점을 가산한다. 또한, 복수의 모드가 지정되어 있는 경우에는, CPU(101)는, 각 설정된 모드에 관해서 득점을 가산한다. 좀 더 구체적으로, 예를 들면, 앨범의 모드가 "인물" 및 "동물"로 설정되어 있으면, 오브젝트 분류(505)에, "인물"의 카테고리 및/또는 "동물"의 카테고리가 포함되어 있을 경우에, CPU(101)는, 득점을 가산한다. 또한, 오브젝트 분류(505)에, "인물"의 카테고리 및 "동물"의 카테고리가 포함되어 있으면, CPU(101)는, "인물"의 카테고리가 거기에 포함되어 있을 경우에 가산되는 득점과 "동물"의 카테고리가 포함되어 있을 경우에 가산되는 득점의 양쪽을 가산한다.
또한, CPU(101)는, 화상 득점화를, 유저가 지정한 화상 데이터군에 있어서의 각 화상 데이터에 대해서 행한다. 화상 득점화에 의해 부가된 득점이 후단의 스텝 S423에서 행해진 화상 선택 처리에 있어서의 선택 기준이 된다. 상술한 바와 같이, 같은 화상 데이터여도, 화상 데이터가 분류되는 씬에 따라 선택 기준은 다르게 된다. 또한, 앨범에 사용하는 화상은 초점이 맞는 것이 바람직하므로, 도 5에 나타낸 테이블에 있어서 초점의 특징량이 "0"인 화상 ID의 화상에 대해서는 소정의 득점을 가산할 수 있다. 또한, 화소 수가 많은 화상은, 앨범에 레이아웃했을 때에 재기(jaggies)가 적으므로, 화소 수가 많은 화상을 나타내는 화상 데이터에 대해서는 소정의 득점을 가산할 수 있다. 이러한 구성을 채용함으로써, CPU(101)는, 후술하는 화상 선택 처리에 있어서, 앨범의 모드에 대응하는 카테고리의 오브젝트가 포함되는 화상을 나타내는 화상 데이터를, 해당 오브젝트가 포함되지 않는 화상을 나타내는 화상 데이터보다 우선해서 선택할 수 있다.
도 8b는, 레이아웃 득점화에 의해 취득된 득점 결과의 예를 나타낸다. 테이블 800은, 각 화상 ID(801)의 화상 데이터에 대하여, 메인 슬롯과 서브 슬롯의 각각에 대해서 득점화가 행해진 결과를 나타내고, 각 화상 ID(801)의 화상에 대하여 득점 802가 등록되어 있다. 예를 들면, 도 8b에 있어서, 화상 ID "1"의 화상 데이터는, 메인 슬롯용으로서 20점이 부여되고, 화상 ID "2"의 화상 데이터는, 메인 슬롯용으로서 45점이 부여되어 있다. 이와 같이, 이것은, 메인 슬롯에 대해서 화상 ID "2"의 화상 데이터가 유저의 판단 기준에 더 가깝다는 것을 나타낸다.
또한, 본 예시적인 실시예에서는, CPU(101)는, 상술한 바와 같이 득점이 설정되었을 경우, 동화상 데이터로부터 클립됨으로써 취득된 화상 데이터의 메인 슬롯용과 서브 슬롯용의 양쪽 득점에 대하여, 동화상 해석부(203)에 의한 해석 결과에 대응한 득점을 가산한다. 좀 더 구체적으로는, CPU(101)는 동화상 해석부(203)에 의해 실행된 득점화 처리(오브젝트 검출, 사이즈 특정, 웃는 얼굴 판정, 눈 감김 판정, 흔들림 및 흐려짐 판정, 밝기 판정)에 대응한 득점을 가산한다. 또한, CPU(101)는, 득점화가 행해진 화상 데이터 중, 어느 화상 데이터가, 동화상 데이터로부터 클립됨으로써 취득된 화상 데이터인지를, 도 5에 나타낸 테이블의 화상 속성(503)을 참조함으로써 특정할 수 있다.
또한, 동화상 데이터로부터 클립됨으로써 취득한 화상 데이터에 점수를 가산하면, 해당 화상 데이터의 점수는, 정지 화상 데이터로부터 취득한 화상 데이터의 것보다도, 일률적으로 높아질 가능성이 높다. 그 때문에, CPU(101)는, 예를 들면, 동화상 데이터로부터 클립됨으로써 취득한 각 화상 데이터에 가산된 각 득점의 평균값을, 동화상 데이터로부터 클립됨으로써 취득한 모든 화상 데이터의 각 득점으로부터 감산하거나, 또는, 그 득점의 평균값을 정지 화상 데이터로부터 취득한 모든 화상 데이터에 가산할 수 있다. 이러한 구성을 채용함으로써, 동화상 데이터로부터 클립됨으로써 취득한 화상 데이터 중, 가산된 득점이 높은 화상 데이터에 대해서는, 정지 화상 데이터로부터 취득한 화상 데이터에 가산된 득점보다 높은 득점이 가산된다. 즉, 동화상 데이터로부터 클립됨으로써 취득한 화상 데이터 중, 가산된 득점이 높은 화상 데이터가 더 우선적으로 선택되도록, 득점화가 행해진다.
또한, 화상 득점부(210)에 의한 평가에 사용되는 평가 축과, 동화상 해석부(203)에 의한 평가에 사용되는 득점 축은 서로 다르다. 구체적으로는, 예를 들면, 평가에 사용되는 특징량이 서로 다르다. 그 때문에, 동화상 해석부(203)에 의한 해석 결과에 대응한 득점을 가산하는 구성을 채용함으로써 동화상 데이터로부터 취득된 화상 데이터의 특유의 적합성을, 득점화에 있어서 고려할 수 있다. 즉, 화상 데이터의 취득원의 차이를 평가에 반영시킬 수 있다.
본 예시적인 실시예에서는, 화상 득점부(210)가 행하는 평가는, 화상 취득부(205)가 취득한 모든 화상 데이터에 대하여 행해진다. 그리고, 화상 취득부(205)가 취득한 화상 데이터 중, 동화상 데이터로부터 취득한 화상 데이터에 대해서는, 동화상용의 평가 축에 근거한 (동화상 해석부(203)에 의한 해석 결과에 근거한) 득점이 가산된다. 그러나, 본 예시적인 실시예는 이 구성에 한정되지 않고, 예를 들면, 동화상 데이터로부터 취득한 화상 데이터와, 정지 화상 데이터로부터 취득한 화상 데이터에 의존해서 완전히 다른 평가 축이 사용될 수 있다. 즉, 화상 득점부(210)는, 정지 화상 데이터로부터 취득한 화상 데이터에 대해서는, 화상 득점부(210)에 대해 상기 설명한 평가 축에만 근거하여 득점화를 행할 수 있고, 동화상 데이터로부터 취득한 화상 데이터에 대해서는, 동화상 해석부(203)에 대해 상기 설명한 평가 축에만 근거해서 득점화를 행할 수 있다.
스텝 S417에서는, CPU(101)는, 화상 취득부(205)에 의해 취득된 모든 화상 데이터에 대하여 스텝 S416의 화상 득점화가 완료했는지 아닌지를 판정한다. 화상 득점화가 아직 완료하지 않았다고 판정된 경우(스텝 S417에서 NO), 처리가 스텝 S416에 돌아가서, CPU(101)는 아직 화상 득점화가 행해지지 않은 화상 데이터에 대하여 화상 득점화를 행한다. 화상 득점화가 완료했다고 판정된 경우(스텝 S417에서 YES), 처리가 스텝 S418로 이행한다.
본 예시적인 실시예에서는, CPU(101)는, 화상 레이아웃부(215)에 의해, 복수의 씬의 각각에 포함되는 각 화상 데이터가 나타내는 화상을, 복수의 템플릿(복수의 스프레드)의 각각에 레이아웃하여, 복수의 레이아웃 화상을 작성한다. 그 때문에, 복수의 씬의 수와, 복수의 템플릿의 수(소정의 스프레드 수)가 서로 일치할 필요가 있다.
따라서, 스텝 S418에서는, CPU(101)는, 스텝 S412의 씬 분할에 의해 취득되는 씬의 수(서브 화상군의 수)가 스프레드 수 입력부(211)에 의해 입력된 스프레드의 수(스프레드 수 박스(305)에 입력되어 있는 스프레드의 수)와 같은지 아닌지를 판정한다. 씬의 수가 스프레드의 수와 같지 않는다고 판정된 경우(스텝 S418에서 NO), 처리가 스텝 S419로 이행한다. 씬의 수가 스프레드의 수와 같다고 판정된 경우(스텝 S418에서 YES), 처리가 스텝 S422로 이행한다. 예를 들면, 도 6a에 나타낸 것처럼, 씬의 수가 8이며, 스프레드 수 입력부(211)의 입력 수가 8이면, 처리가 스텝 S422로 이행한다.
스텝 S419에서는, CPU(101)는, 스텝 S412의 씬 분할에 의해 취득된 씬의 수가 스프레드 수 입력부(211)에 의해 입력된 스프레드의 수보다 적은지 아닌지를, 스프레드 할당부(212)에 의해 판정한다. 씬의 수가 스프레드의 수보다 적지 않는다고 판정된 경우(스텝 S419에서 NO), 처리가 스텝 S421로 이행한다. 씬의 수가 스프레드의 수보다 적다고 판정된 경우(스텝 S419에서 YES)에는, 처리가 스텝 S420로 이행한다. 예를 들면, 도 6a에 나타낸 것과 같이, 씬의 수가 8이며, 스프레드 수 입력부(211)의 입력 수가 10이면, 씬의 수가 스프레드의 수보다 적기 때문에, 처리가 스텝 S420로 이행한다.
스텝 S420에서는, CPU(101)는, 스프레드 할당부(212)에 의해, 서브 씬 분할을 행한다. 서브 씬 분할은, "씬 분할 수 < 스프레드 수"의 경우에, 씬 분할에 의해 취득되는 각 씬을 더 분할하는 것을 말한다. 여기에서는, 도 6a에 나타낸 것과 같이, 씬 분할 수가 8이며, 지정 스프레드 수가 10일 경우에 관하여 설명한다. 도 6b는 도 6a에 나타낸 씬 분할의 결과에 대해서 행해진 서브 씬 분할의 결과를 나타낸다. 여기에서는, 일부 분할의 간격을 더 작은 간격으로 설정하고, 파선(dashed) 화살표로 나타낸 부분에서 분할함으로써, 분할 씬의 수를 10으로 설정한다.
분할의 기준에 관하여 설명한다. CPU(101)는 도 6a에 나타낸 분할 씬 중에서 화상 데이터의 수가 많은 분할 부분을 발견한다. 여기에서는, 분할 씬의 수를 8에서 10으로 증가시키기 위해서, CPU(101)는 화상 데이터 수가 많은 2개의 분할된 부분을 결정한다. 즉, CPU(101)는 더 분할해야 하는 씬을, 가장 많은 화상 데이터를 포함하는 분할 화상 데이터군에 대응하는 씬부터 순서대로 지정한다. 동일한 수의 화상 데이터 수를 포함하는 분할 화상 데이터군에 대응하는 씬에 대해서는, CPU(101)는 대응하는 분할 화상 데이터군에 포함되는 화상 데이터 간의 촬영 일시의 차의 최대값이 큰 씬 중의 하나를 선택한다. 그래도 씬을 선택할 수 없는 경우에는, 예를 들면, CPU(101)는 보다 빠른 시간(at earlier time)에 생성된 화상 데이터를 포함하는 분할 화상 데이터군에 대응하는 씬을 우선적으로 더 분할할 수 있다.
도 6a에 있어서, 대응하는 분할 화상 데이터군에 포함되는 화상 데이터의 수가 많은 씬은, 큰 수로부터 순차적으로 씬 5, 씬 1, 및 씬 2이다. 씬 1과 씬 2는 화상 데이터의 수가 같지만, 씬 2쪽이, 대응하는 분할 화상 데이터군에 있어서 최초에 생성된 화상 데이터로부터 최후에 생성된 화상 데이터까지의 시간차가 씬 1보다 크기 때문에, CPU(101)는 씬 2를 분할 대상으로서 설정한다. 이와 같이, 도 6a에 나타낸 경우에서는, CPU(101)는 씬 5과 씬 2를 각각 분할한다.
우선, 씬 2의 분할 방법을 설명한다. 씬 2에는 화상 데이터 수의 산(mountains)이 2개 있고, 이 2개의 산에 포함되는 화상 데이터는, 산마다 촬영일이 다르다. 따라서, CPU(101)는 촬영일이 바뀌는 부분에 대응하는 도 6b에 나타낸 파선 화살표로 나타낸 부분에서 씬 2을 분할한다. 다음에, 씬 5의 분할 방법을 설명한다. 씬 5에는 화상 데이터 수의 산이 3개 있고, 씬 2와 마찬가지로, 이 3개의 산에 포함되는 화상 데이터는, 산마다 촬영일이 다르다. 씬 5에는, 촬영일이 바뀌는 부분이 2개 있지만, 이 경우, CPU(101)는 분할된 씬 간의 화상 데이터 수의 차가 작아지도록, 촬영일의 단위로 씬 5를 분할한다. 이와 같이, CPU(101)는 도 6b에 나타낸 파선 화살표로 나타낸 부분에서 씬 5를 분할한다.
이상에 의해, CPU(101)는 분할 화상 데이터군의 수, 즉 씬의 수를 8에서 10으로 변경한다. 구체적으로, 씬의 재분할에서는, 선택한 씬에 촬영일이 다른 화상 데이터가 포함되어 있으면, 촬영일이 다른 각각의 화상 데이터군을 새로운 씬으로서 설정하도록 분할이 행해진다. 그리고, 촬영일이 3일 이상으로 연장되면, 분할된 각 씬에 포함되는 화상 데이터의 수의 차가 최소가 되고, 또한 동일한 촬영일의 화상이 동일한 씬에 포함되도록 분할이 행해진다. 또한, 여기에서는, 촬영일이 다른 부분에서 분할이 행해지는 예를 설명했지만, 분할 대상의 씬에 있어서의 화상 데이터의 촬영일이 단일 일(day)인 경우에는, 단일 일 중에서 촬영 시간의 시간 차가 최대가 되는 부분에서 분할이 행해진다. 이상의 순서에 의해 스프레드 수와 씬의 수를 일치시킨다. 또한, 분할에 의해 생성된 씬에 대해서는, 한 번 더 분류할 수 있고, 분할 전에 취득된 씬의 분류를 이어받을 수 있다.
스텝 S421에서는, CPU(101)는, 스프레드 할당부(212)에 의해 씬 통합을 행한다. 씬 통합은, "씬 분할 수 > 앨범의 스프레드 수"의 경우에, 분할된 씬(서브 화상군)을 통합하는 것을 의미한다. 구체적으로는, CPU(101)는, 씬의 수와 스프레드 수가 서로 일치하도록 씬 통합을 행한다. 여기에서는, 도 6a에 나타낸 것과 같이 씬 분할 수가 8이며, 지정 스프레드 수가 6인 경우를 예로서 설명한다. 도 6c는 도 6a에 나타낸 씬 분할의 결과에 대해서 행해진 씬 통합의 결과를 나타낸다. 파선으로 나타낸 부분 전후의 씬을 2개의 장소에서 통합함으로써, 분할 씬의 수를 6으로 설정한다.
통합의 기준에 관하여 설명한다. 우선, CPU(101)는, 분할된 각 씬 중에서 화상 데이터의 수가 작은 씬을 검출한다. 여기에서는, 씬의 수를 8에서 6으로 감소시키기 위해서, CPU(101)는 화상 데이터의 수가 작은 2개의 씬을 검출한다. 도 6a에서는, 대응하는 분할 화상 데이터군에 포함되는 화상 데이터의 수가 작은 씬은, 작은 수부터 순차적으로 씬 8, 씬 3, 씬 7이다. 또한, 씬 3과 씬 7은 화상 데이터의 수가 같다.
다음에, CPU(101)는, 대응하는 분할 화상 데이터군에 포함되는 화상 데이터의 수가 가장 작은 씬 8을 통합 대상으로서 설정한다. 다음에, 씬 3과 씬 7은, 대응하는 분할 화상 데이터군에 포함되는 화상 데이터의 수가 동일하므로, CPU(101)는 어느 씬을 통합 대상으로서 설정할지를 선택한다. 여기에서는, 씬 7에 인접하는 씬 8이 통합 대상이므로(씬 7과 씬 8은 통합되기 때문에), CPU(101)는 씬 3을 통합 대상으로서 설정한다.
다음에, CPU(101)는, 통합 대상의 서브 화상 데이터군을, 대응하는 분할 화상 데이터군에 포함되는 화상 데이터의 촬영 일시가 앞의 씬에 통합할지, 촬영 일시가 뒤의 씬에 통합할지를 결정한다. 이때, CPU(101)는, 통합 대상의 씬과 인접하는 2개의 씬 중, 대응하는 분할 화상 데이터군에 포함되는 화상 데이터의 촬영 일시의 시간차가 작은 씬을 통합의 상대로서 한다. 그 때문에, 도 6a에 나타낸 경우에, 씬 3에 대해서, CPU(101)는 거기에 인접하는 씬 2 및 4 중의 하나를 통합의 상대로서 설정한다. 여기에서, 씬 3과 그 전후의 씬 2와 씬 4의 각각과의 대응하는 분할 화상 데이터군에 포함되는 화상 데이터의 촬영 일시의 시간차를 비교하면, 씬 3과 씬 4와의 시간차가 작다. 그 때문에, CPU(101)는, 씬 3을 씬 4에 통합한다고 결정한다. 이와 같이, 여기에서는, 도 6c의 파선으로 나타낸 부분에서 씬 통합이 행해진다.
CPU(101)는, 씬 8과 같이 인접하는 씬이 1개밖에 없을 경우에는, 1개의 인접 씬만 통합의 상대으로서 설정한다.
이렇게 해서, 도 6c의 파선으로 나타낸 부분의 전후의 씬으로 씬 통합을 행한다. 또한, 씬 통합은, 예를 들면, 씬에 포함되는 화상 파일을 나타내는 정보를, 통합된 씬에 따라 갱신하는 것을 포함한다. 또한, 본 예시적인 실시예에서는, 촬영 시간의 차가 작은 서브 화상군을 함께 통합했지만, 본 예시적인 실시예는 이 구성에 한정되는 것은 아니다. 예를 들면, 통합 대상의 서브 화상군을 촬영 매수가 적은 서브 화상군과 통합할 수 있다.
스텝 S422에서는, CPU(101)는, 스프레드 할당부(212)에 의해 스프레드 할당을 행한다. 스텝 S418∼스텝 S421에 의해, 서브 화상군의 수와 지정 스프레드의 수는 서로 동일하게 된다. 본 예시적인 실시예에서는, CPU(101)는 촬영 일시가 선두의 서브 화상군으로부터 스프레드의 선두에 할당을 행한다. 이와 같이, CPU(101)는 촬영 일시의 순으로 서브 화상군을 앨범의 각 두 페이지 스프레드에 할당한다. 이에 따라, 촬영 일시의 순으로 서브 화상군이 배열된 앨범을 작성할 수 있다. 또한, 후술하는 바와 같이, 1개의 두 페이지 스프레드 내에서는, 촬영 일시의 순으로 화상을 배치할 필요는 없다.
스텝 S423에서는, CPU(101)는, 화상 선택부(213)에 의해 화상 선택을 행한다. 여기에서는, CPU(101)가 어떤 스프레드에 할당된 분할 화상 데이터군으로부터 화상 데이터를 4매 선택하는 예를, 도 9a, 9b, 9c, 9d, 9e, 9f, 9g, 9h, 9i을 참조하면서 설명한다. 또한, 스프레드는, 2페이지분의 영역이지만, 최초의 스프레드 및 최후의 스프레드의 각각은, 1페이지분의 영역이다.
도 9a는 스프레드에 할당된 분할 화상 데이터군 중, 촬영 일시가 가장 빠른 화상 데이터와 촬영 일시가 가장 늦은 화상 데이터와의 촬영 일시의 시간차(분할 촬영 기간), 즉, 분할 화상 데이터군의 촬영 기간을 나타낸다. 또한, 여기에서는, 화상 데이터의 선택을, 메인 슬롯 및 서브 슬롯의 순으로 행한다. 여기에서는, 스프레드에 대응하는 템플릿에는 1매의 메인 슬롯(1002)이 포함되는 것으로 한다(도 10). 그 때문에, 첫 번째의 화상 데이터로서 선택되는 화상 데이터는, 메인 슬롯용의 화상 데이터다. CPU(101)는, 메인 슬롯용의 화상 데이터로서, 도 9b에 나타낸 분할 촬영 기간에 대응하는 화상 데이터 중, 스텝 S416에서 할당된 메인 슬롯용의 득점이 가장 높은 화상 데이터(1)를 선택한다.
두 번째 이후의 화상 데이터로서 선택되는 화상 데이터는, 서브 슬롯용의 화상 데이터다. 두 번째 이후의 화상 데이터의 선택은 분할 촬영 기간의 일부에 집중하지 않도록, 이하에 설명하는 것과 같은 방법에 의해 행해진다. 우선, CPU(101)는, 도 9c에 나타나 있는 바와 같이 분할 촬영 기간을 2개의 기간으로 분할한다. 다음에, CPU(101)는, 도 9d에 나타나 있는 바와 같이, 첫 번째의 화상 데이터가 선택되지 않은 분할 촬영 기간(도 9d에서, 실선으로 나타낸 기간)에 생성된 화상 데이터로부터 두 번째의 화상 데이터를 선택한다. 또한, CPU(101)는, 두 번째의 화상 데이터로서는, 첫 번째의 화상 데이터가 선택되지 않은 분할 촬영 기간에 생성된 화상 데이터 중 서브 슬롯용의 득점이 가장 높은 화상 데이터(2)를 선택한다. 다음에, CPU(101)는, 도 9e에 나타나 있는 바와 같이, 도 9d에 나타낸 각 분할 촬영 기간을 2개의 기간으로 분할한다. 그리고, CPU(101)는, 도 9f에 나타나 있는 바와 같이, 첫 번째의 화상 데이터와 두 번째의 화상 데이터가 모두 선택되지 않은 분할 촬영 기간(도 9f 중, 실선으로 나타낸 기간)에 생성된 화상 데이터로부터 세 번째의 화상 데이터를 선택한다. 또한, CPU(101)는, 세 번째의 화상 데이터로서는, 첫 번째의 화상 데이터와 두 번째의 화상 데이터가 모두 선택되지 않은 분할 촬영 기간에 생성된 화상 데이터 중 서브 슬롯용의 득점이 가장 높은 화상 데이터(3)를 선택한다. 그리고, CPU(101)는, 네 번째의 화상 데이터로서는, 첫 번째, 두 번째 및 세 번째의 화상 데이터가 모두 선택되지 않은 분할 촬영 기간에 생성된 화상 데이터 중 서브 슬롯용의 득점이 가장 높은 화상 데이터를 선택한다.
다음에, 첫 번째, 두 번째 및 세 번째의 화상 데이터가 모두 선택되지 않은 분할 촬영 기간에 생성된 화상이 존재하지 않으므로, 해당 분할 촬영 기간으로부터 네 번째의 화상 데이터를 선택할 수 없는 예를 설명한다. 여기에서, 도 9g에 나타나 있는 바와 같이, 아직 화상 데이터가 선택되지 않은 분할 촬영 기간(도 9g 중, 사선으로 나타낸 기간)에 생성된 화상 데이터가 존재하지 않는 것으로 한다. 그 경우, CPU(101)는, 도 9h에 나타나 있는 바와 같이, 각 분할 촬영 기간을 2개의 기간으로 분할한다. 다음에, CPU(101)는, 도 9i에 나타나 있는 바와 같이, 기간 내에 생성된 화상 데이터가 없다고 인식된 분할 촬영 기간 이외에서, 또한 아직 화상 데이터가 선택되지 않은 분할 촬영 기간(도 9i 중, 실선으로 나타낸 기간)에 생성된 화상 데이터로부터 네 번째의 화상 데이터를 선택한다. 또한, CPU(101)는, 네 번째의 화상 데이터로서는, 해당 분할 촬영 기간에 생성된 화상 데이터 중 서브 슬롯용의 득점이 가장 높은 화상 데이터(4)를 선택한다.
도 11은, 화상 선택부(213)의 구성을 더 상세하게 설명하는 도면이다. 화상 선택부(213)는, 처리 대상의 스프레드에 할당된 서브 화상군으로부터 화상 데이터를 선택한다.
매수(a number-of-pieces) 설정부(1101)는, 처리 대상의 스프레드에 할당된 서브 화상군으로부터 선택하는 화상 데이터의 매수를 설정한다. 즉, 매수 설정부(1101)는 처리 대상의 스프레드의 레이아웃 화상에 배치하는 화상 수를 설정한다. 또한, 예를 들면, 이때 설정되는 매수는, 예를 들면, 도 3에 나타나 있는 바와 같은 설정 화면을 통해서 유저가 입력을 행함으로써 설정된 수일 수도 있고, 각 스프레드에 대하여 미리 설정된 수일 수도 있다.
화상군 취득부(1102)는, 화상 취득부(205)가 취득한 화상군으로부터, 처리 대상의 스프레드에 할당되는 서브 화상군을 취득한다. 또한, 화상군 취득부(1102)는, 각 화상 데이터의 촬영 일시 정보, 화상 종류의 정보, 오브젝트 분류의 정보, 메인 슬롯용 득점, 및 서브 슬롯용 득점을 취득한다. 화상 종류의 정보는, 도 5에 나타낸 화상 속성(503)을 참조함으로써 취득될 수 있다. 추가로, 오브젝트 분류의 정보는, 도 5에 나타낸 오브젝트 분류(505)를 참조함으로써 취득될 수 있다.
루프 카운터(1103)는, 화상군 취득부(1102)에 의해 취득된 서브 화상군으로부터 화상 데이터를 선택하는 처리(화상 선택 처리)를 실행한 횟수를 관리한다. 또한, 루프 카운터(1103)가 카운트하는 화상 선택 처리는, 구체적으로는, 스텝 S1205∼스텝 S1218에서 행해진 처리이며(도 12), 그 상세한 것은 후술한다. 관리된 횟수는, 이용하는 득점 축을 판정할 때 이용되고, 또한 처리 대상의 스프레드에 할당되는 서브 화상군의 촬영 기간을 얼마나 많은 촬영 구간으로 분할할지를 설정할 때에 이용된다. 또한, 본 예시적인 실시예에서는, 1회의 루프마다, 템플릿에 배치되는 화상이 1매 선택되기 때문에, 루프 카운터(1103)가 카운트하는 횟수는, 선택된 화상 데이터의 매수와 같다.
득점 축 설정부(1104)는, 루프 카운터(1103)로 카운트된 처리 횟수에 따라, 화상 선택 처리에 이용하는 득점 축을 설정한다. "이용하는 득점 축을 설정한다"는 것은, "어느 득점 축에 의거하여 채점된 득점을 이용할지를 설정하는" 것을 가리키고, 여기에서는, 메인 슬롯용 득점 축(메인 슬롯용 평가 기준), 및 서브 슬롯용 득점 축(서브 슬롯용 평가 기준) 중의 어느 하나를 설정하는 것이다. 또한, 루프 카운터(1103)로 카운트된 처리 횟수가 0인 경우에는, 득점 축 설정부(1104)는 메인 슬롯에 배치하는 화상(메인 화상)을 선택하기 위해서 메인 슬롯용 득점 축에 의거해 채점된 득점을 참조한다. 한편, 루프 카운터(1103)로 카운트된 처리 횟수가 1이상인 경우에는, 득점 축 설정부(1104)는 서브 슬롯에 배치하는 화상(서브 화상)을 선택하기 위해서 서브 슬롯용 득점 축에 의거해 채점된 득점을 참조한다. 또한, 메인 슬롯이 복수개 있는 경우에는, 루프 카운터(1103)로 카운트된 처리 횟수가 1이상이어도, 득점 축 설정부(1104)는 메인 슬롯용 득점 축에 의거해 채점된 득점을 참조할 수 있다. 또한, 득점 축 설정부(1104)는, 예를 들면, 템플릿에 포함되는 슬롯 중의 어느 하나의 슬롯에 배치되는 화상 데이터로서 이미 선택된 화상 데이터(이전에 선택된 화상 데이터)의 수에 의해, 설정하는 득점 축을 변경할 수 있다. 그 경우에, 예를 들면, 이전에 선택된 화상 데이터의 수가 0인 경우에는, 득점 축 설정부(1104)는 메인 슬롯에 배치하는 화상(메인 화상)을 선택하기 위해서, 메인 슬롯용 득점 축에 의거해 채점된 득점을 참조한다. 한편, 이전에 선택된 화상 데이터의 수가 1이상인 경우에는, 득점 축 설정부(1104)는 서브 슬롯에 배치되는 화상(서브 화상)을 선택하기 위해서 서브 슬롯용 득점 축에 의거해 채점된 득점을 참조한다. 또한, 이 구성이라도, 메인 슬롯이 복수개 있는 경우에는, 이전에 선택된 화상 데이터의 수가 1이상이어도, 득점 축 설정부(1104)는 메인 슬롯용 득점 축에 의거해 채점된 득점을 참조할 수 있다.
분할부(1105)는, 화상군 취득부(1102)에 의해 취득된 서브 화상군의 촬영 기간을 소정 수의 구간으로 분할한다. 우선, 분할부(1105)는 화상군 취득부(1102)에 의해 취득된 서브 화상군의 촬영 시간 정보에 의거해서 처리 대상의 스프레드에 할당된 서브 화상군의 촬영 개시 시간과 촬영 종료 시간을 특정하여, 촬영 기간을 산출한다. 즉, 분할부(1105)는 서브 화상군에 포함되는 화상 데이터 중 가장 빨리 생성된 화상 데이터의 촬영 시간 및 가장 늦게 생성된 화상 데이터의 촬영 시간을 특정하여, 촬영 기간을 산출한다. 다음에, 분할부(1105)는 루프 카운터(1103)로 카운트된 처리 횟수에 의거하여 산출된 촬영 기간을 복수의 구간으로 분할한다. 본 예시적인 실시예에서는, 분할부(1105)는, 루프 카운터(1103)로 카운트된 처리 횟수를 C라고 했을 때, 촬영 구간을, 2c개의 구간으로 대략 균등하게 분할하는 것으로 한다. 또한, 본 예시적인 실시예는 이러한 구성에 한정되지 않고, 예를 들면, 촬영 구간을, C개의 구간으로 대략 균등하게 분할할 수 있다.
화상 속성 설정부(1106)는, 루프 카운터(1103)로 카운트된 처리 횟수에 따라, 화상 선택 처리에 있어서 선택되는 화상 데이터의 속성을 설정한다. 또한, 본 예시적인 실시예에서는, 적어도 1회의 화상 선택 처리에 있어서, 정지 화상 데이터로부터 취득된 화상 데이터보다, 동화상 데이터로부터 취득된 화상 데이터를 우선적으로 선택하는 것으로 한다. 또한, 로컬 서버에 저장된 정지 화상 데이터로부터 취득된 화상 데이터는, 속성이 "정지 화상"인 화상 데이터이며, 로컬 서버에 저장된 동화상 데이터로부터 취득된 화상 데이터는 속성이 "동화상"인 화상 데이터다. 이에 따라, 앨범에 다양한 화상을 배치할 수 있다. 또한, SNS 서버에 업로드되어 있는 화상 데이터(속성이 "SNS"인 화상 데이터)는, 유저에 의해 의도적으로 선택되어서 업로드된 화상 데이터이며, 유저가 좋아하는 화상 데이터일 가능성이 높다. 그 때문에, 본 예시적인 실시예에서는, 적어도 1회의 화상 선택 처리에 있어서, 속성이 "정지 화상"인 화상 데이터보다, 속성이 "SNS"인 화상 데이터를 우선적으로 선택하는 것으로 한다. 따라서, 본 예시적인 실시예에서는, 루프 카운터(1103)로 카운트된 처리 횟수가 0인 경우에는, 화상 속성 설정부(1106)는 "SNS"를 지정 속성으로서 설정해서 속성이 "SNS"인 화상 데이터로부터 화상 데이터를 선택한다. 그리고, 루프 카운터(1103)로 카운트된 처리 횟수가 1인 경우에는, 화상 속성 설정부(1106)는, "동화상"을 지정 속성으로서 설정해서 속성이 "동화상"인 화상 데이터로부터 화상 데이터를 선택한다. 그리고, 루프 카운터(1103)로 카운트된 처리 횟수가 2이상인 경우에는, 화상 속성 설정부(1106)는, "정지 화상"을 지정 속성으로서 설정해서 속성이 "정지 화상"인 화상 데이터로부터 화상 데이터를 선택한다. 이러한 구성을 채용함으로써, 각 슬롯에 배치되는 화상 데이터의 속성을 제어할 수 있다. 또한, 본 예시적인 실시예에서는, "SNS"나 "동화상"의 속성의 화상 데이터가, "정지 화상"의 속성의 화상 데이터 전에 선택된다. 그 때문에, 예를 들면, 템플릿에 배치되는 화상이 적은 경우에도, 더 확실하게, "SNS"나 "동화상"의 속성의 화상 데이터가 나타내는 화상을 템플릿에 배치할 수 있다. 추가로, 예를 들면, 루프 카운터(1103)로 카운트된 처리 횟수가 2이상인 경우에는, 화상 속성 설정부(1106)는 지정 속성을 설정하지 않도록 구성될 수 있다. 또한, 화상 선택 처리에 있어서 선택되는 화상 데이터의 속성의 설정은, 예를 들면, 화상 선택 처리에 있어서 이미 선택되어 있는 화상 데이터의 매수에 따라 행해질 수 있다. 예를 들면, 그 경우, 화상 속성 설정부(1106)는, 화상 선택 처리에 있어서 이미 선택되어 있는 화상 데이터의 수가 0인 경우에는, "SNS"를 지정 속성으로서 설정해서 속성이 "SNS"인 화상 데이터로부터 화상 데이터를 선택한다. 그리고, 화상 선택 처리에 있어서 이미 선택되어 있는 화상 데이터의 수가 1인 경우에는, 화상 속성 설정부(1106)는 "동화상"을 지정 속성으로서 설정해서 속성이 "동화상"인 화상 데이터로부터 화상 데이터를 선택한다. 그리고, 화상 선택 처리에 있어서 이미 선택되어 있는 화상 데이터의 수가 2이상인 경우에는, 화상 속성 설정부(1106)는 "정지 화상"을 지정 속성으로서 설정해서 속성이 "정지 화상"인 화상 데이터로부터 화상 데이터를 선택한다. 추가로, 예를 들면, 화상 선택 처리에 있어서 이미 선택되어 있는 화상 데이터의 수가 2이상인 경우에는, 화상 속성 설정부(1106)는 지정 속성을 설정하지 않도록 구성될 수 있다.
또한, 루프 카운터(1103)로 카운트된 처리 횟수나, 이전에 선택된 화상 데이터의 매수에 대응한 속성은, 상술한 구성에 한정되지 않는다. 상기 설명에서는, "SNS", "동화상", 및 "정지 화상"의 순으로 화상 데이터의 속성이 설정되지만, 예를 들면, "동화상", "SNS", 및 "정지 화상"의 순으로 설정될 수도 있다. 또한, 화상 데이터의 속성을 지정하지 않는 설정이 있을 수도 있다. 그 경우, 지정 속성은 "없음"으로서 표현되고, 어떤 속성의 화상 데이터든 선택될 수 있도록 설정된다. 이와 같이, 지정 속성에 따르지 않고, 지정 오브젝트의 설정이나 득점에 따라 화상 데이터가 선택되도록 설정이 행해진다.
또한, 상술한 바와 같이, 예를 들면, "SNS"의 속성의 화상 데이터가, 정지 화상 데이터로부터 취득된 것(속성이 "정지 화상")인지, 동화상 데이터로부터 취득된 것(속성이 "동화상")인지에 따라 상세하게 구별되는 구성도 있다. 그 구성에 있어서, 루프 카운터(1103)로 카운트된 처리 횟수가 0인 경우에는, 화상 속성 설정부(1106)가, "SNS" 및 "동화상"을 지정 속성으로서 설정함으로써 속성이 "SNS" 및 "동화상"인 화상 데이터로부터 화상 데이터가 선택된다. 그리고, 루프 카운터(103)로 카운트된 처리 횟수가 1인 경우에는, 화상 속성 설정부(1106)가 "SNS" 및 "정지 화상"을 지정 속성으로서 설정함으로써 속성이 "SNS" 및 "정지 화상"인 화상 데이터로부터 화상 데이터가 선택된다. 그리고, 루프 카운터(1103)로 카운트된 처리 횟수가 2인 경우에는, 화상 속성 설정부(1106)가 "로컬" 및 "동화상"을 지정 속성으로서 설정함으로써 속성이 "로컬" 및 "동화상"인 화상 데이터로부터 화상 데이터가 선택된다. 그리고, 루프 카운터(1103)로 카운트된 처리 횟수가 3이상인 경우에는, 화상 속성 설정부(1106)가 "로컬" 및 "정지 화상"을 지정 속성으로서 설정함으로써 속성이 "로컬" 및 "정지 화상"인 화상 데이터로부터 화상 데이터가 선택된다. 이렇게 함으로써, SNS 서버로부터 취득되는 화상 데이터보다, 로컬 서버로부터 취득되는 화상 데이터를 우선해서 선택하는 구성을 채용할 수 있다.
구간 정보 설정부(1107)는, 화상군 취득부(1102)에 의해 취득된 서브 화상군에 포함되는 화상 데이터를, 분할부(1105)로 분할된 구간마다 그룹으로 나누고, 각 구간에 있어서 생성된 화상 데이터의 촬영 정보 및 득점 등의 정보를 취득한다.
모드 설정부(1108)는, 앨범 작성 조건 지정부(201)로 지정되는, 앨범의 모드 ("인물", "동물", "요리" 중 하나)를 설정한다. 모드 설정부(1108)는, 설정된 모드에 대응하는 오브젝트를 포함하는 화상이 템플릿에 배치되도록 제어한다.
화상 선택부(1109)는, 득점 축 설정부(1104)로 설정된 득점 축과, 모드 설정부(1108)로 설정된 모드와, 구간 정보 설정부(1107)로 관리되는, 각 구간에 있어서의 화상 데이터의 득점에 의거하여 화상 선택 처리를 행한다. 구체적으로는, 화상 선택부(1109)는, 각 구간에 포함되고, 지정 오브젝트를 포함하는 화상을 나타내며, 또한 지정 속성을 갖는 복수의 화상 데이터 중에서, 득점이 가장 높은 화상 데이터를 1매 선택한다. 지정 오브젝트는, 득점에만 의존하지 않고 화상 데이터를 선택하도록 설정되고, 지정 오브젝트가 설정되어 있는 경우에는, 이후의 화상 선택 처리에서는, 지정 오브젝트를 포함하는 화상을 나타내는 화상 데이터가 선택되게 된다. 예를 들면, 지정 오브젝트가 "동물"의 카테고리의 오브젝트일 경우, 이후의 화상 선택 처리에서는, "동물"의 카테고리의 오브젝트를 포함하는 화상을 나타내는 화상 데이터가 선택된다. 또한, 복수의 오브젝트를 지정 오브젝트로서 설정 가능하다. 또한, 화상 선택부(1109)는, 이전에 선택된 화상 데이터를 다시 선택하지 않는다. 바꿔 말하면, 화상 선택부(1109)는, 이전에 선택된 화상 데이터 이외의 화상 데이터를 새롭게 선택한다.
또한, 이때 참조되는 득점은, 득점 축 설정부(1104)에 의해 설정된 득점 축에 의해 채점된 득점이다. 도 9a 내지 9i을 참조하여 설명한 것처럼, 화상이 하나도 없는 구간에서는 화상 데이터가 선택되지 않는다. 또한, 본 예시적인 실시예에서는, 지정 오브젝트를 포함하는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터 중에서 가장 득점이 높은 화상 데이터를 각 구간에서 1매 선택하지만, 본 예시적인 실시예는 이 구성에 한정되지 않는다. 예를 들면, 지정 오브젝트를 포함하는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터 중에서 득점이 상위인 화상 데이터를 복수매씩 각 구간에서 선택할 수 있다. 또한, 화상 선택부(1109)는, 지정 오브젝트에 대응하는 카테고리를 오브젝트 분류(505)의 프레임 TOP3까지 포함하는 화상 데이터를, 지정 오브젝트를 포함하는 화상을 나타내는 화상 데이터로서 간주한다. 또한, 화상 데이터가 지정 오브젝트에 대응하는 카테고리를 오브젝트 분류(505)의 프레임 TOP3까지 포함하고 있어도, 해당 카테고리의 신뢰도가 임계값 이하인 경우에는, 화상 선택부(1109)는 화상 데이터를 지정 오브젝트를 포함하는 화상을 나타내는 화상 데이터로서 간주하지 않아도 된다.
유사 판정부(1110)는, 화상 선택부(1109)에 의해 선택된 화상 데이터가 나타내는 화상이, 템플릿에 배치되는 화상을 나타내는 화상 데이터로서 이미 선택되어 있는 화상 데이터가 나타내는 화상과 유사한지 아닌지를 판정한다. 유사도가 임계값 이상이면, 유사 판정부(1110)는, 2개의 화상이 서로 유사하다고 판정하고, 유사도가 임계값 미만이면, 유사 판정부(1110)는 2개의 화상이 서로 유사하지 않는다고 판정한다. 유사하지 않는다고 판정된 화상 데이터가 유지되고, 유사하다고 판정된 판정은 파기된다. 유사 판정부(1110)는, 예를 들면, 패턴 매칭이나 SHIFT법 등의 공지의 방법으로, 화상 데이터가 나타내는 화상 간의 유사도를 취득할 수 있다. 예를 들면, 화상 데이터가 나타내는 화상 간의 유사도가 0∼100의 범위에서 출력될 경우에는, 유사 판정부(1110)는 유사도가 100에 가까울수록, 2개의 화상이 서로 닮았다고 가정한다. 그 때문에, 화상 데이터가 나타내는 화상 간의 유사도가 임계값 이상이면, 유사 판정부(1110)는 2개의 화상이 서로 유사하다고 판정하고, 화상 데이터가 나타내는 화상 간의 유사도가 임계값 미만이면, 유사 판정부(1110)는 2개의 화상이 서로 유사하지 않는다고 판정한다. 또한, 유사 판정에 사용된 판정 임계값은, 비교 대상의 화상을 나타내는 화상 데이터 간의 촬영 시간의 차에 따라 변경될 수 있다. 예를 들면, 연속 촬영 등에 의해 촬영 시간차가 짧은 경우(예를 들면, 15초 이내)에는, 판정 임계값이 낮게 (예를 들면, 60으로) 설정될 수 있고, 그 이외의 경우에는, 판정 임계값이 높게 (예를 들면, 80로) 설정될 수 있다.
통합부(1111)는, 유사 판정부(1110)에 의해 유사하지 않는다고 판정된 화상 데이터 중에서, 템플릿에 배치되는 화상을 나타내는 화상 데이터를 특정한다. 구체적으로는, 통합부(1111)는, 유사 판정부(1110)에 의해 유사하지 않는다고 판정된 화상 데이터 중에서, 득점이 가장 높은 화상 데이터를 선택하고, 템플릿에 배치되는 화상을 나타내는 화상 데이터로서 선택된 화상 데이터를 특정한다. 또한, 유사하지 않는다고 판정된 화상 데이터가 1개만 있는 경우에는, 해당 1개의 화상 데이터가 선택된다. 또한, 본 예시적인 실시예는 이 구성에 한정되는 것은 아니고, 예를 들면, 이전에 선택된 화상 데이터를 포함하는 구간에 인접하고 있지 않은 구간에서 화상 데이터를 선택하는 구성을 채용할 수 있다.
화상 관리부(1112)는, 템플릿에 배치되는 화상을 나타내는 화상 데이터로서 통합부(1111)에 의해 특정된 화상 데이터를, 이전에 선택된 화상 데이터로서 관리한다. 또한, 화상 관리부(1112)는, 이전에 선택된 화상 데이터의 수가, 매수 설정부(1101)로 설정된 화상 데이터의 매수(필요한 화상 데이터의 매수)에 도달했는지 아닌지를 판정한다. 또한, 화상 관리부(1112)가 관리하는 이전에 선택된 화상 데이터의 수가 필요한 화상 데이터의 매수에 도달할 때까지, 화상 선택 처리가 반복된다. 추가로, 이때, 이전에 선택된 화상 데이터가 다시 선택되지 않도록 제어된다.
여기에서는, 메인 화상으로서 선택되는 화상 데이터와 서브 화상으로서 선택되는 화상 데이터가, 같은 오브젝트를 포함하는 예를 설명했지만, 화상 데이터가 각각 다른 오브젝트를 포함하는 구성도 채용할 수 있다. 예를 들면, 루프 카운트가 0일 때는, 메인 화상이 선택되기 때문에, 루프 카운트가 0일 때와 루프 카운트가 0 이외일 때와의 사이에서, 지정 오브젝트를 변경할 수 있다. 이러한 구성을 채용함으로써, 메인 화상으로서 선택되는 화상 데이터와 서브 화상으로서 선택되는 화상 데이터가 각각 다른 오브젝트를 포함할 수 있다.
도 12는, 스텝 S423의 화상 선택 처리의 상세를 나타내는 흐름도인 도 12a 및 12b로 구성된다. 도 12에 나타내는 흐름도는, 예를 들면, CPU(101)가 HDD(104)에 저장된 앨범 작성 어플리케이션에 대응하는 프로그램을 ROM(102)이나 RAM(103)에 로드(load)해서 그 프로그램을 실행함으로써 실현된다. 도 12의 흐름도에서는, 처리 대상의 1개의 스프레드에 할당된 서브 화상군으로부터 화상 데이터가 선택된다. 그 때문에, 앨범이 복수의 스프레드로 구성되는 경우, 도 12의 흐름도에 나타내는 처리는 스프레드의 수에 대응하는 횟수 실행되게 된다.
스텝 S1201에서는, CPU(101)는, 매수 설정부(1101)에 의해, 처리 대상의 스프레드에 할당된 서브 화상군으로부터 선택되는 화상 데이터의 매수를 설정한다. 이 처리의 상세한 것은, 매수 설정부(1101)의 설명에서 상술한 것와 같다.
스텝 S1202에서는, CPU(101)는, 화상군 취득부(1102)에 의해, 화상 취득부(205)가 취득한 화상군으로부터 처리 대상의 스프레드에 할당된 서브 화상군을 취득한다. 이 처리의 상세한 것은, 화상군 취득부(1102)의 설명에서 상술한 것과 같다.
스텝 S1203에서는, CPU(101)는, 모드 설정부(1108)에 의해, 앨범의 모드를 설정한다. 이 처리의 상세한 것은, 모드 설정부(1108)의 설명에서 상술한 것과 같다. 또한, 스텝 S1219의 처리가 행해진 경우에는, CPU(101)는, 앨범의 모드를 스텝 S1219에서 선택된 모드로 전환하고, 이후의 처리를 행한다.
스텝 S1204에서는, CPU(101)는, 루프 카운터(1103)에 의해, 스텝 S1205의 화상 선택 처리를 실행한 횟수를 카운트한다. 초기 상태에서는, 화상 선택 처리가 아직 실행되지 않았기 때문에, 루프 카운터(1103)에 의한 카운트 수는 0이 된다. 또한, 본 예시적인 실시예에서는, 루프 카운터(1103)에 의한 카운트 수가 0인 경우에는, 이후의 화상 선택 처리에 있어서 메인 화상이 선택되고, 루프 카운터(1103)에 의한 카운트 수가 1이상인 경우에는, 이후의 화상 선택 처리에 있어서 서브 화상이 선택된다.
스텝 S1205에서는, CPU(101)는, 루프 카운터(1103)에 의해 카운트되는 카운트 수에 따라, 이후의 화상 선택 처리에서 이용되는 득점 축을 득점 축 설정부(1104)에 의해 설정한다. 이 처리의 상세한 것은, 득점 축 설정부(1104)의 설명에서 상술한 것과 같다.
스텝 S1206에서는, CPU(101)는, 루프 카운터(1103)에 의해 카운트되는 카운트 수에 따라, 이후의 화상 선택 처리에 있어서 선택되는 화상 데이터의 속성을 화상 속성 설정부(1106)에 의해 설정한다. 이 처리의 상세한 것은, 화상 속성 설정부(1106)의 설명에서 상술한 것과 같다.
스텝 S1207에서는, CPU(101)는, 화상군 취득부(1102)에 의해 취득된 서브 화상군의 촬영 기간을 분할부(1105)에 의해 소정 수의 구간으로 분할한다. 이 처리의 상세한 것은, 분할부(1105)의 설명에서 상술한 것과 같다.
스텝 S1208에서는, CPU(101)는, 구간 정보 설정부(1107)에 의해, 화상군 취득부(1102)에 의해 취득된 서브 화상군에 포함되는 화상 데이터를, 분할부(1105)에 의해 서브 화상군의 촬영 기간이 분할됨으로써 관리되는 구간마다 그룹으로 나눈다. 그리고, CPU(101)는, 각 구간에 있어서 생성된 화상 데이터의 촬영 정보, 득점 등의 정보를 취득한다.
스텝 S1209에서는, CPU(101)는, 분할부(1105)에 의해 서브 화상군의 촬영 기간이 분할됨으로써 관리되는 구간 중에서, 주목하고 있는 구간에서 생성된 화상 데이터가 이미 선택되었는지 아닌지를 판정한다. 주목하고 있는 구간에서 생성된 화상 데이터가 이미 선택되어 있다고 판정되면(스텝 S1209에서 YES), 처리가 스텝 S1216로 진행된다. 주목하고 있는 구간에서 생성된 화상 데이터가 아직 선택되지 않았다고 판정되면(스텝 S1209에서 NO), 처리가 스텝 S1210로 진행된다. 또한, 첫 번째의 루프에서는, 서브 화상군의 촬영 기간이 아직 분할되어 있지 않기 때문에, 주목하고 있는 구간은, 서브 화상군의 촬영 기간 전체이다.
스텝 S1210에서는, CPU(101)는, 지정 오브젝트가 이전에 설정되어 있는지 아닌지를 판정한다. 예를 들면, 후술하는 스텝 S1221에 있어서의 지정 오브젝트의 갱신 처리에 의해, 지정 오브젝트가 "없음"으로 변경되는 경우가 있다. 그 때문에, CPU(101)가, 지정 오브젝트가 "없음"으로 변경되어, 지정 오브젝트가 설정되어 있지 않는다고 판정한 경우에는(스텝 S1210에서 NO), 처리가 스텝 S1213로 진행되고, 지정 오브젝트가 "없음"으로 변경되어 있지 않아서, 지정 오브젝트가 이전에 설정되어 있는 경우에는(스텝 S1210에서 YES), 처리가 스텝 S1211로 진행된다.
스텝 S1211에서는, CPU(101)는, 주목하고 있는 구간에서 생성된 화상 데이터 중에, 지정 오브젝트를 포함하는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터가 있는지 아닌지를 판정한다. 또한, CPU(101)는, 주목하고 있는 구간에서 생성된 각 화상 데이터의 화상 해석 정보(500)를 참조함으로써 스텝 S1211의 판정을 행할 수 있다. 구체적으로는, CPU(101)는, 주목하고 있는 구간에서 생성된 각 화상 데이터 각각에 대해서, 화상 데이터가, 지정 오브젝트를 포함하는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터인지 아닌지를 판정한다. 그리고, 지정 오브젝트를 포함하는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터라고 판정된 화상 데이터가 적어도 1개 있으면, 스텝 S1211의 판정 결과가 YES가 되고(스텝 S1211에서 YES), 처리가 스텝 S1212로 진행된다. 또한, CPU(101)는, 화상 해석 정보(500) 중 오브젝트 분류(505)의 영역에 지정 오브젝트의 카테고리가 포함되는 화상 데이터를, 지정 오브젝트를 포함하는 화상을 나타내는 화상 데이터라고 판정한다. 또한, CPU(101)는, 화상 해석 정보(500) 중 화상 속성(503)의 영역에 지정 속성이 포함되는 화상 데이터를, 지정 속성을 갖는 화상 데이터라고 판정한다.
지정 오브젝트를 포함하는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터가 하나도 없는 경우, 스텝 S1211의 판정 결과는 NO가 되고(스텝 S1211에서 NO), 주목하고 있는 구간에서 생성된 화상 데이터로부터 화상 데이터가 선택되지 않고, 처리가 스텝 S1216로 진행된다.
또한, 지정 오브젝트의 카테고리(종류)는, 루프 카운터(1103)로 카운트된 처리 횟수나 이전에 선택된 화상 데이터의 수에 따라 변화될 수 있다. 본 예시적인 실시예에서는, 루프 카운터(1103)로 카운트된 처리 횟수가 초기값(0)인 경우에는, 지정 오브젝트는, 스텝 S1221에서 지정 오브젝트가 변경될 때까지, 스텝 S1203에서 설정된 모드에 대응하는 카테고리의 오브젝트인 것으로 한다.
스텝 S1212에서는, CPU(101)는, 주목하고 있는 구간에서 생성된 화상 데이터로부터, 화상 데이터를 1매 선택한다. 이 처리의 상세한 것은, 화상 선택부(1109)의 설명에서 상술한 것과 같다. 또한, 여기에서는, 지정 오브젝트를 포함하는 화상을 나타내고, 지정 속성을 갖는 화상 데이터 중에서, 득점이 가장 높은 화상 데이터가 1매 선택된다. 그 때문에, 본 예시적인 실시예에서는, 예를 들면, 지정 오브젝트를 포함하지 않는 화상을 나타내고 득점이 높은 화상 데이터보다, 지정 오브젝트를 포함하는 화상을 나타내고 득점이 낮은 화상 데이터쪽이 우선해서 선택되게 된다. 또한, 본 예시적인 실시예에서는, 예를 들면, 지정 속성이 아니지만 득점이 높은 화상 데이터보다, 지정 속성이지만 득점이 낮은 화상 데이터쪽이 우선해서 선택되게 된다. 그 때문에, 지정 속성으로서 "SNS"가 설정되어 있을 경우, SNS 서버 이외로부터 취득된 화상 데이터보다, SNS 서버로부터 취득된 화상 데이터가 우선해서 선택되게 된다.
이렇게, 본 예시적인 실시예에서는 간단히 득점만을 참조해서 화상 데이터를 선택하는 것이 아니라, 지정 오브젝트와 지정 속성을 참조해서 화상 데이터를 선택한다. 이러한 구성을 채용함으로써, 서브 화상군에 조건에 맞는 화상 데이터가 있으면, 본 예시적인 실시예는 지정 오브젝트를 포함하는 화상을 나타내는 화상 데이터를 더 확실하게 선택할 수 있다. 또한, 본 예시적인 실시예에서는, 루프 카운터(1103)로 카운트된 처리 횟수가 0인 경우에는, 지정 오브젝트는, 유저에 의해 설정된 모드에 대응하는 카테고리의 오브젝트다. 그 때문에, CPU(101)는, 유저에 의해 설정된 모드에 대응하는 카테고리의 오브젝트를 포함하는 화상을, 해당 오브젝트를 포함하지 않는 화상보다 우선해서 템플릿에 배치해서 생성된 레이아웃 화상을 출력할 수 있다. 즉, 본 예시적인 실시예에서는 유저에 의해 설정된 모드에 대응하는 카테고리의 오브젝트를 포함하는 화상이 레이아웃된 레이아웃 결과를, 더 확실하게 출력할 수 있다. 또한, 서브 화상군에 조건에 맞는 화상 데이터가 있으면, 본 예시적인 실시예는 지정 속성의 화상 데이터를 더 확실하게 선택할 수 있고, 지정 속성의 화상 데이터가 나타내지는 화상이 레이아웃된 레이아웃 결과를, 더 확실하게 출력할 수 있다.
또한, CPU(101)는, 각 화상 데이터가 나타내는 화상이 지정 오브젝트를 포함하는지 아닌지를 특정할 수 있고, 또는 각 화상 데이터의 속성이나 득점을, 각 화상 데이터의 화상 해석 정보(500)를 참조함으로써 특정할 수 있다. 즉, CPU(101)는, 화상이 지정 오브젝트를 포함하는 것을 나타내는 정보(지정 오브젝트에 대응하는 카테고리의 정보)가 화상 해석 정보(500)에 포함되어 있으면, CPU(101)는 화상 데이터가 나타내는 화상이 지정 오브젝트를 포함한다는 것을 특정할 수 있다. 또한, CPU(101)는, 화상 데이터가 지정 속성을 갖는다는 것을 나타내는 정보(지정 속성의 정보)가 화상 해석 정보(500)에 포함되어 있으면, CPU(101)는 화상 데이터가 지정 속성을 갖는다는 것을 특정할 수 있다. 그 때문에, 스텝 S1212에서는, CPU(101)는, 주목하고 있는 구간에서 생성된 각 화상 데이터의 오브젝트 분류(505)의 영역에, 지정 오브젝트의 카테고리가 포함되고, 또한 화상속성(503)의 영역에 지정 속성이 포함되는 화상 데이터를 선택한다.
스텝 S1213에서는, CPU(101)는, 주목하고 있는 구간에서 생성된 화상 데이터로부터, 화상 데이터를 1매 선택한다. 또한, 여기에서는, 지정 오브젝트가 이전에 설정되어 있지 않기 때문에, 지정 오브젝트는 참조되지 않는다. 그 때문에, 단순히 지정 속성인 화상 데이터 중에서 득점이 가장 높은 화상 데이터가 1매 선택된다.
또한, 스텝 S1212 및 스텝 S1213에서는, 조건에 맞는 화상 데이터가 없는 경우에는, 어느 화상 데이터도 선택되지 않고, 처리가 다음 스텝으로 진행된다.
스텝 S1214에서는, CPU(101)는, 스텝 S1212 또는 스텝 S1213의 처리에서 선택된 화상 데이터가 나타내는 화상이, 이전의 루프에 있어서의 후술하는 스텝 S1218의 처리에서 이미 선택되어 있는 화상 데이터가 나타내는 화상과 유사한지 아닌지를 판정한다. 이 처리의 상세한 것은, 유사 판정부(1110)의 설명에서 상술한 것과 같다. 2개의 화상이 서로 유사하지 않는다고 판정된 경우에는(스텝 S1214에서 NO), CPU(101)가 스텝 S1212 또는 S1213에서 행해진 선택을 유지한 채, 처리가 스텝 S1216로 진행된다. 2개의 화상이 서로 유사하다고 판정된 경우에는(스텝 S1214에서 YES), 스텝 S1215에 있어서, CPU(101)가 스텝 S1212 또는 S1213에서 행해진 선택을 해제하고, 즉, 스텝 S1212 또는 S1213에서 선택된 화상 데이터를 유지하지 않고, 처리가 스텝 S1216로 진행된다. 또한, 어느 화상 데이터도 선택되지 않은 경우에는, 스텝 S1214의 처리는 생략되고, 처리가 스텝 S1216로 진행된다.
스텝 S1216에서는, CPU(101)는, 분할부(1105)에 의해 서브 화상군의 촬영 기간이 분할됨으로써 관리되는 모든 구간이 주목되어서, 스텝 S1212 또는 S1213의 처리가 그것에 대하여 실행되었는지 아닌지를 판정한다. CPU(101)에 의해, 모든 구간이 주목되었고 화상 선택 처리가 그것에 대하여 실행되었다고 판정된 경우(스텝 S1216에서 YES), 처리가 스텝 S1215로 진행된다. 한편, 모든 구간이 주목되지 않았고 화상 선택 처리가 그것에 대하여 실행되지 않았다고 판정된 경우(스텝 S1216에서 NO), CPU(101)는 아직 주목되지 않은 구간 중의 하나를 선택하고, 그 다음에 스텝 S1209 이후의 처리를 실행한다.
스텝 S1217에서는, CPU(101)는, 모든 구간이 주목되어서 화상 선택 처리가 그것에 대하여 실행됨으로써, 1매라도 화상 데이터가 선택되었는지 아닌지를 판정한다. CPU(101)에 의해, 1매라도 화상 데이터가 선택되었다고 판정된 경우(스텝 S1217에서 YES), 처리가 스텝 S1218로 진행되고, 1매도 화상 데이터가 선택되지 않은 경우에는(스텝 S1217에서 NO), 처리가 스텝 S1221로 진행된다.
스텝 S1221에서는, CPU(101)는, 지정 오브젝트의 갱신을 행한다. 또한, 갱신 후에 취득된 지정 오브젝트의 내용은, 특히 한정되지 않고, 적절하게 설정될 수 있다. 예를 들면, 미리 설정된 우선도에 따라 지정 오브젝트가 갱신될 수 있고, 또는 처리 대상의 스프레드에 할당된 서브 화상군이 나타내는 복수의 화상에 많이 포함되는 오브젝트가 지정 오브젝트로서 갱신될 수 있다. 또한, 지정 오브젝트의 설정을 "없음"으로 설정할 수 있다. 추가로, 갱신이 필요 없는 경우(마지막으로 같은 지정 오브젝트를 사용해서 화상 선택 처리를 실행하는 경우)에는, 스텝 S1221의 처리가 생략될 수 있다.
스텝 S1222에서는, CPU(101)는, 지정 속성의 갱신을 행한다. 또한, 갱신 후에 취득된 지정 속성은, 적절히 설정될 수 있다. 예를 들면, 미리 설정된 우선도에 따라 지정 속성이 갱신될 수 있고, 또는 처리 대상의 스프레드에 할당된 서브 화상군이 나타내는 복수의 화상에 많이 포함되는 속성이 지정 속성으로서 갱신될 수 있다. 또한, 지정 속성의 설정을 "없음"으로 설정할 수 있다. 추가로, 갱신의 필요가 없는 경우(마지막으로 같은 지정 속성을 사용해서 화상 선택 처리를 실행하는 경우)에는, 스텝 S1222의 처리가 생략될 수 있다. 그 후에, 처리가 스텝 S1209로 진행되고, 스텝 S1221이나 스텝 S1222에서 갱신된 정보에 의거하여 화상 선택 처리가 행해진다.
이렇게, 스텝 S1221 및 스텝 S1222의 중의 적어도 1개가 실행되면, 검색 대상의 화상 데이터의 조건이 변경되기 때문에, CPU(101)가 새롭게 화상 데이터를 선택하는 것이 가능해진다. 또한, CPU(101)는, 스텝 S1221이나 스텝 S1222에서 정보의 갱신을 행했을 경우에는, 갱신 전에 취득된 정보를 사용해서 이미 주목하고 있는 구간을 아직 주목하지 않은 구간으로서 취급하고, 다시 스텝 S1209 이후의 처리를 행한다.
또한, 본 예시적인 실시예에서는, 스텝 S1217에서 1매도 화상 데이터가 선택되지 않았다고 판정되었을 경우, 우선, CPU(101)는 지정 오브젝트를 갱신하지 않고, 지정 속성을 갱신해서 다시 화상 선택 처리를 행한다. 그리고, 지정 속성의 갱신을 반복해도 1매도 화상 데이터가 선택되지 않을 경우, CPU(101)는 지정 오브젝트의 갱신을 행한다.
스텝 S1218에서는, CPU(101)는, 통합부(1111)에 의해, 스텝 S1212에서 유사하지 않는다고 판정되어서 선택이 유지되어 있는 화상 데이터 중에서, 템플릿에 배치하는 화상을 나타내는 화상 데이터를 특정한다. 이 처리의 상세한 것은, 통합부(1111)의 설명에서 상술한 것과 같다.
스텝 S1219에서는, CPU(101)는, 화상 관리부(1112)에 의해, 스텝 S1215에서, 템플릿에 배치하는 화상을 나타내는 화상 데이터로서 특정된 화상 데이터를 이전에 선택된 화상 데이터로서 관리한다. 이 처리의 상세한 것은, 화상관리부(1112)의 설명에서 상술한 것과 같다.
스텝 S1220에서는, CPU(101)는, 화상 관리부(1112)에 의해 관리되어 있는 이전에 선택된 화상 데이터의 매수가, 매수 설정부(1101)로 설정된 화상 데이터의 매수(필요한 매수)에 도달했는지 아닌지를 판정한다. 이전에 선택된 화상 데이터의 매수가 필요한 화상 데이터의 매수에 도달했다고 판정된 경우에는(스텝 S1220에서 YES), CPU(101)는, 화상 선택 처리를 종료하고, 처리가 스텝 S424로 진행된다. 한편, 이전에 선택된 화상 데이터의 매수가 필요한 화상 데이터의 매수에 도달하지 않았다고 판정된 경우에는(스텝 S1220에서 NO), 처리가 스텝 S1204로 돌아가서, CPU(101)는, 루프 카운터(1103)에 의한 카운트를 증분해서, 다시 화상 선택 처리를 행한다. 카운트가 증분되어서, 처리 횟수 C의 값이 증가하면, 촬영 기간이 전회보다 많은 구간으로 분할된다. 본 예시적인 실시예에서는, 구체적으로는, 서브 화상군의 촬영 기간이 전회보다도 2배 많은 수의 구간으로 분할된다. 구간이 보다 정교게 관리됨으로써, 스텝 S1211에서는, 전회는 선택되지 않은 화상 데이터를 선택할 수 있게 된다. 또한, 본 예시적인 실시예에서는, 이전에 선택된 화상 데이터를 포함하는 구간에서는 화상 데이터가 선택되지 않기 때문에, 이전에 선택된 화상 데이터의 촬영 일시에 가까운 일시에 생성된 화상 데이터는 선택되지 않을 가능성이 높다. 그 때문에, 다양한 화상 데이터가 선택될 수 있다.
도 4에 되돌아가서, 스텝 S424에서는, CPU(101)는, 템플릿 설정부(214)에 의해, 앨범 작성 조건 지정부(201)에 의해 지정된 템플릿 정보에 대응한 복수의 템플릿을 취득한다.
스텝 S425에서는, CPU(101)는, 화상 레이아웃부(215)에 의해, 처리 대상의 스프레드의 화상 레이아웃을 결정한다. 이때, 우선, CPU(101)는, 스텝 S424에서 취득된 복수의 템플릿 중에서, 스텝 S423에서 선택된 화상 데이터에 알맞은 템플릿을 결정한다. 템플릿 결정의 방법을, 도 13 및 도 14를 참조하여 설명한다.
도 13은, 본 예시적인 실시예에서의 앨범 작성 어플리케이션에 기억되어 있는, 템플릿을 결정하는 처리를 주관하는 소프트웨어의 블럭도다.
선택 화상 정보 취득부(1301)는, 스텝 S424에서 선택된 화상 데이터의 매수와, 해당 화상 데이터에 관한 정보를 취득한다. 화상 데이터에 관한 정보는, 예를 들면, 해당 화상 데이터가 나타내는 화상의 폭과 높이, 해당 화상 데이터의 촬영 일시 정보, 및 해당 화상 데이터의 득점이다.
템플릿 선택부(1302)는, 스텝 S424에서 선택된 화상 데이터의 매수와 일치하는 수의 슬롯을 갖는 템플릿을, 스텝 S424에서 취득된 템플릿 중에서 선택한다.
선택 화상 소팅부(1303)는, 스텝 S424에서 선택된 화상 데이터를 촬영 일시의 순으로 소팅한다.
템플릿 선택부(1304)는, 템플릿 선택부(1302)에 의해 선택된 템플릿 중에서, 메인 화상에 알맞은 템플릿을 선택한다. 본 예시적인 실시예에서는, 템플릿의 상부 좌측 코너에 더 가까운 슬롯에 촬영 일시가 더 오래된 화상 데이터를 레이아웃하는 것으로 하고, 템플릿의 하부 우측 코너에 더 가까운 슬롯에 촬영 일시가 더 최근인 화상 데이터를 레이아웃하는 것으로 한다. 그 때문에, 우선, 템플릿 선택부(1304)는, 템플릿 선택부(1302)에 의해 선택된 템플릿 중에서, 메인 슬롯의 위치가, 메인 화상을 나타내는 화상 데이터의 촬영 일시의 순서에 대응하는 템플릿을 선택한다. 즉, 예를 들면, 메인 화상을 나타내는 화상 데이터의 촬영 일시의 순서가 세 번째인 경우에는, 메인 슬롯이 모든 슬롯의 좌측에서 세 번째의 슬롯인 템플릿이 선택된다. 또한, 선택 화상 소팅부(1303)에 의해 화상 데이터가 촬영 일시의 순으로 소팅되어 있기 때문에, 템플릿 선택부(1304)는, 메인 화상을 나타내는 화상 데이터의 촬영 일시의 순서를 파악할 수 있다. 또한, 템플릿 선택부(1305)는, 이렇게 해서 선택한 템플릿 중에서, 메인 화상을 배치하기 위해서 사용하는 슬롯의 애스펙트비(aspect ratio)가, 메인 화상의 애스펙트비와 일하는 (또한 가까운) 템플릿을 최종적으로 선택한다.
템플릿 선택부(1305)는, 템플릿 선택부(1304)에 의해 선택된 템플릿 중에서, 서브 화상에 알맞은 템플릿을 선택한다. 좀 더 구체적으로, 템플릿 선택부(1305)는, 먼저, 서브 슬롯의 위치가, 서브 화상을 나타내는 화상 데이터의 촬영 일시의 순서에 대응하는 템플릿을 선택한다. 또한, 템플릿 선택부(1305)는, 이렇게 해서 선택된 템플릿 중에서, 서브 슬롯의 애스펙트비가, 서브 화상의 애스펙트비와 일치하는 (또는 더 가까운) 템플릿을 최종적으로 선택한다.
도 14는, 본 예시적인 실시예에 있어서의, 레이아웃 화상의 작성에 이용하는 템플릿을 결정하는 처리를 나타내는 흐름도다. 도 14에 나타낸 흐름도는, 예를 들면, CPU(101)가 HDD(104)에 저장된 앨범 작성 어플리케이션에 대응하는 프로그램을 ROM(102)이나 RAM(103)에 로드해서 그 프로그램을 실행함으로써 실현된다.
우선, 스텝 S1401에서는, CPU(101)는, 선택 화상 정보 취득부(1301)에 의해, 스텝 S424에서 선택된 화상 데이터의 매수와, 해당 화상 데이터에 관한 정보를 취득한다. 또한, 여기에서는, 스텝 S424에서 선택된 화상 데이터의 매수는 3인 것으로 한다. 이 처리의 상세한 것은, 선택 화상 정보 취득부(1301)의 설명에서 상술한 것과 같다.
스텝 S1402에서는, CPU(101)는, 템플릿 선택부(1302)에 의해, 스텝 S424에서 선택된 화상 데이터의 매수와 슬롯 수가 일치하는 템플릿을 선택한다. 또한, 스텝 S424에서 선택된 화상 데이터의 매수는 3이기 때문에, 슬롯 수가 3인 템플릿이 선택된다. 여기에서는, 슬롯 수가 3인 템플릿으로서, 도 10에 나타낸 템플릿 (1-1)∼ (4-4)이 선택된 것으로 한다.
스텝 S1403에서는, CPU(101)는, 선택 화상 소팅부(1303)에 의해, 스텝 S424에서 선택된 화상 데이터를 촬영 일시의 순으로 소팅한다. 또한, 여기에서는, 3매의 각 화상 데이터가 나타내는 각 화상의 촬영 일시는 도 10에 나타낸 화살표 (A)가 나타내는 것과 같은 순서라고 가정한다. 또한, 여기에서는, 화상 1005가 메인 슬롯용의 화상(메인 화상)이며, 화상 1006과 화상 1007이 서브 슬롯용의 화상(서브 화상)이라고 가정한다.
스텝 S1404은, CPU(101)는, 템플릿 선택부(1302)에 의해 선택된 템플릿 중에서, 메인 화상에 알맞은 템플릿을, 템플릿 선택부(1304)에 의해 선택한다. 이 처리의 상세한 것은, 템플릿 선택부(1304)의 설명에서 상술한 것과 같다. 상술한 것처럼, 본 예시적인 실시예에서는, 템플릿의 상부 좌측 코너에 더 가까운 슬롯에 촬영 일시가 더 오래된 화상 데이터를 레이아웃하는 것으로 하고, 템플릿의 하부 우측 코너에 더 가까운 슬롯에 촬영 일시가 더 최근의 화상 데이터를 레이아웃하는 것으로 한다. 그리고, 메인 화상인 화상 1005는, 촬영 일시가 가장 최근이며, 또한 세로로 긴(portrait-oriented) 화상이기 때문에, 여기에서는, 도 10에 나타낸 템플릿 (3-1)∼(3-4)이 선택된다.
스텝 S1405에서는, CPU(101)는, 스텝 S1404에서 선택된 템플릿 중에서, 서브 화상에 알맞은 템플릿을, 템플릿 선택부(1305)에 의해 선택한다. 이 처리의 상세한 것은, 템플릿 선택부(1305)의 설명에서 상술한 것과 같다. 서브 화상인 화상 1006은, 촬영 일시가 가장 오래되고, 또한 세로로 긴 화상이다. 또한, 서브 화상인 화상 1007은, 촬영 일시가 두 번째로 최근이며, 또한 가로로 긴(landscape-oriented) 화상이다. 그 때문에, 도 10에 나타낸 템플릿 (3-2)이 선택된다. 또한, 이때, 어느 서브 슬롯에 어느 서브 화상이 배치되는지도 특정된다.
이렇게 해서, 스텝 S425에서는, CPU(101)는, 레이아웃 화상의 작성에 사용하는 템플릿과, 템플릿의 어느 슬롯에 어느 화상을 레이아웃할지를 결정한다. 구체적으로는, CPU(101)는, 선택한 템플릿에 포함되는 각 슬롯의 정보와, 각 슬롯에 레이아웃되는 화상에 대응하는 화상 데이터를 서로 관련지어서 관리한다.
스텝 S426에서는, CPU(101)는, 화상 보정부(217)에 의해 화상 보정을 한다. 또한, CPU(101)는, 보정 조건 입력부(216)로부터 화상 보정 ON의 설정이 입력되었을 경우에, 화상 보정을 행한다. 화상 보정으로서, 예를 들면 휘도 보정, 적목(red-eye) 보정, 콘트라스트 보정이 실행된다. 또한, CPU(101)는, 보정 조건 입력부(216)로부터 화상 보정 OFF의 설정이 입력된 경우에는, 화상 보정을 행하지 않는다. 화상 보정은, 예를 들면, 짧은 변 1200화소를 갖고, sRGB의 색공간으로 변환된 화상 데이터에 대해서도 실행 가능하다.
스텝 S427에서는, CPU(101)는, 레이아웃 정보 출력부(218)에 의해 레이아웃 정보를 작성한다. 구체적으로는, CPU(101)는, 스텝 S425에서 선택된 템플릿의 각 슬롯에 관한 정보와, 스텝 S426의 화상 보정이 실행되었던, 각 슬롯에 대응하는 화상 데이터를 서로 관련지어서 관리한다. 또한, 여기에서 사용하는 화상은, 스텝 S407에서 생성되고 스텝 S408∼S417에서 사용되는 변환된 화상과는 다른 화상이다. 그리고, CPU(101)는, 템플릿에 화상을 레이아웃한 비트맵 데이터를 생성한다. 이때, 레이아웃을 행할 때, CPU(101)는 각각의 대응하는 슬롯에 대한 사이즈 정보에 따라 레이아웃될 각 화상의 배율을 변경하거나 변경하지 않도록 한다.
스텝 S428에 있어서, CPU(101)는 스텝 S423∼스텝 S427의 처리가 모든 스프레드에 대하여 완료했는지 아닌지를 판정한다. 처리가 아직 완료되지 않았다고 판정된 경우(스텝 S428에서 NO)에는, 처리가 스텝 S423로 돌아가고, CPU(101)는 아직 처리 대상이 아닌 스프레드에 대하여, 스텝 S423∼스텝 S427의 처리를 행한다. 처리가 완료되었다고 판정된 경우(스텝 S428에서 YES)에는, 자동 레이아웃 처리를 종료한다.
자동 레이아웃 처리가 종료되면, CPU(101)는, 작성한 레이아웃 정보에 근거하여, 템플릿에 화상이 배치된 레이아웃 화상을 디스플레이(105)에 표시한다. 또한, 이때, CPU(101)는, 1개의 앨범을 작성하기 위해 사용되는 복수의 레이아웃 화상을 표시할 수 있다. 또한, CPU(101)는, 작성한 레이아웃 정보를 프린터에 송신하여, 레이아웃 화상을 인쇄할 수 있다.
이렇게, 본 예시적인 실시예에서는, CPU(101)는, 유저가 지정된 앨범의 모드 에 따라 레이아웃에 이용하는 화상을 변경한다. 구체적으로는, CPU(101)는, 적어도 1개의 슬롯에 대하여, 유저에 의해 지정된 앨범의 모드에 대응하는 오브젝트를 포함하는 화상을, 해당 오브젝트를 포함하지 않는 화상보다 우선해서 배치한다. 이에 따라, 유저에 의해 지정된 앨범의 모드에 대응하는 오브젝트를 포함하는 레이아웃 화상을 작성할 수 있다. 또한, 본 예시적인 실시예에서는, 동화상으로부터 클립됨으로써 취득된 화상 데이터의 득점화나 선택의 방법이, 동화상 해석시에 취득된 움직임량이나 득점에 따라 변경된다. 이에 따라 동화상 해석시의 결과를 이용한 화상선택이 가능해지고, 동화상의 특유의 적합성을 레이아웃에 반영할 수 있다.
<앨범의 편집>
CPU(101)는, 자동 레이아웃 처리가 종료하면, 스프레드마다 작성된 레이아웃 화상을, 디스플레이(105)에 표시한다. 본 예시적인 실시예에서는, 유저는 완성된 레이아웃 화상을 임의로 편집 가능한 것으로 한다. 예를 들면, 유저가 각 슬롯에 배치된 화상 중에서 변경하고 싶은 화상이 있는 경우에는, 유저는 마우스(107)에 의해 변경하고 싶은 화상을 클릭한다. 그 후에, 유저는, 변경하고 싶은 화상 대신에 배치하고 싶은 화상을 선택함으로써, 유저가 임의로 선택한 화상을, 클릭된 화상 대신에 새롭게 배치할 수 있다.
또한, 본 예시적인 실시예에서는, 레이아웃 화상의 편집 화면에는, 도 20에 나타낸 것과 같은, 편집 후에 취득되는 앨범 내의 각 오브젝트의 출현 빈도를 조정하는데 사용되는 UI(2001)이 표시된다. 또한, 이러한 편집 화면은, 앨범 작성 어플리케이션에 의해 제공된다. UI(2001)에는, 작성한 앨범(편집 전에 취득되는 앨범)의 모드에 응한 콘텐츠가 표시된다. 좀 더 구체적으로는, 편집 후에 취득되는 앨범에 있어서의, 앨범의 모드에 대응하는 오브젝트를 포함하는 화상의 출현 빈도(화상이 템플릿에 배치되는 화상으로서 선택되는 빈도)을 조정하기 위해 사용되는 바가 표시된다. 예를 들면, 작성한 앨범의 모드가 "동물"일 경우, 편집 후에 취득되는 앨범에 있어서의, "동물"의 오브젝트를 포함하는 화상의 출현 빈도를 조정하기 위해 사용되는 바 2004가 표시된다. 또한, 본 예시적인 실시예에서는, 편집 후에 취득되는 앨범에 있어서의, "인물"의 오브젝트를 포함하는 화상의 출현 빈도를 조정하기 위해 사용되는 바 2002에 대해서는, 앨범의 모드에 관계없이 표시되는 것으로 한다. 또한, 본 예시적인 실시예에서는, "인물" 이외의 오브젝트를 포함하는 화상의 출현 빈도를 조정하기 위해 사용되는 바는, 앨범의 모드가 "인물" 이외일 경우에만 표시되도록 구성되지만, 본 예시적인 실시예는 이 구성에 한정되지 않는다. 예를 들면, 앨범의 모드에 관계없이 바가 표시되는 구성을 채용할 수 있다.
이하, UI(2001)을 사용하여 앨범을 편집하는 방법에 대해서 자세하게 설명한다. 여기에서는, 작성한 앨범의 모드가 "동물"일 경우를 예로 들어 설명한다.
유저는, 핸들 2003이나 핸들 2005를 이동시키기 위한 입력을 행함으로써 편집 후에 취득되는 앨범에 있어서의 각 바에 대응하는 오브젝트를 포함하는 화상의 출현 빈도를 조정할 수 있다. 본 예시적인 실시예에서는, "더 자주(more frequent)" (최대값), "보통(normal)" (중간값), 및 "덜 자주(less frequent)"(최소값)의 3종류의 설정값이 미리 준비되어 있고, 유저의 입력에 대응한 설정값(핸들 2003이나 핸들 2005의 위치에 대응한 설정값)에 따라, 각 화상의 출현 빈도가 조절된다. 유저에 의해 OK 버튼(2006)이 눌러지면, 설정된 조건에 의거하여 앨범이 편집된다. 이와 같이, 설정된 조건에 의거하여 다시 자동 레이아웃 처리가 행해진다. 구체적으로는, 스텝 S416로부터 스텝 S428까지의 처리가 다시 행해진다. 또한, 이때, 편집 전에 취득된 앨범 작성시의 스텝 S401∼스텝 S415의 처리에서 취득된 각 정보는, 적당하게 다시 이용된다. 유저에 의해 캔슬 버튼(2007)이, 눌러지면, 출현 빈도의 조정을 캔슬하고, UI(2001)을 닫을 수 있다. 또한, 예를 들면, 다시 행해지는 자동 레이아웃 처리에서는, 스텝 S423로부터 스텝 S428까지의 처리가 다시 행해질 수 있다. 이 경우, 스텝 S423의 화상 선택 처리에서는, 편집 전에 취득되는 앨범 작성시의 스텝 S416에 첨부된 득점이 참조된다.
또한, 각 바에 대응하는 오브젝트를 포함하는 화상의 출현 빈도의 설정 방법은, 상술한 구성에 한정되지 않는다. 예를 들면, 풀 다운 리스트로부터 설정값을 선택하는 구성을 채용할 수 있다. 또한, 설정값은, "더 자주", "보통", "덜 자주" 가 아니고, 예를 들면, 숫자나 기호, 다른 어구 등으로 표현되어도 된다. 추가로, 설정값은, 최대값과 중간값과 최소값의 3종류에 한정되지 않고, 설정값이 더 세세하게 분류된 설정값일 수도 있다.
도 21은, 각 설정값에 있어서의 편집 후에 취득되는 앨범 내의 1매의 두 페이지 레이아웃 화상을 도시한 도면이다.
에어리어(area) 2104는, 메인 슬롯에 배치되는 화상의 종류를 나타내고, 에어리어 2105 및 2106은, 각각 서브 슬롯에 배치되는 화상의 종류를 나타낸다. "인물 + 동물"은 사람과 동물의 양쪽의 오브젝트를 포함하는 화상을 나타낸다. "인물"은 사람의 오브젝트를 포함하고, 동물의 오브젝트를 포함하지 않는 화상을 나타낸다. "동물"은 동물의 오브젝트를 포함하고, 사람의 오브젝트를 포함하지 않는 화상을 나타낸다. "물건(thing)"은 사람과 동물의 어느 쪽의 오브젝트도 포함하지 않는 화상을 나타낸다.
표 2101에 나타나 있는 바와 같이, "인물"의 설정값과 "동물"의 설정값이 모두 "더 자주"인 경우에는, 레이아웃 화상에 포함되는 모든 화상이, "인물 + 동물"의 종류의 화상이다. 또한, "인물"의 설정값이 "보통"이고, "동물"의 설정값이 "더 자주"일 경우에는, 메인 슬롯에는, "인물 + 동물"의 종류의 화상이 배치되고, 각 서브 슬롯에는, "동물"의 종류의 화상이 배치된다. 추가로 "인물"의 설정값이 "덜 자주"이고, "동물"의 설정값이 "더 자주"일 경우에는, 레이아웃 화상에 포함되는 모든 화상이, "동물"의 종류의 화상이다.
또한 "인물"의 설정값이 "더 자주"이고, "동물"의 설정값이 "보통"일 경우에는, 메인 슬롯에는, "인물 + 동물"의 종류의 화상이 배치되고, 서브 슬롯에는, "인물"의 종류의 화상이 배치된다. 또한 "인물"의 설정값이 "더 자주"이고, "동물"의 설정값이 "덜 자주"일 경우에는, 레이아웃 화상에 포함되는 모든 화상이, "인물"의 종류의 화상이다.
또한 "인물"의 설정값과 "동물"의 설정값이 모두 "보통"일 경우에는, 메인 슬롯에는, "인물 + 동물"의 종류의 화상이 배치되고, 서브 슬롯에는, "인물"의 종류의 화상과, "동물"의 종류의 화상이 배치된다. 또한 "인물"의 설정값이 "보통"이고, "동물"의 설정값이 "덜 자주"일 경우에는, 메인 슬롯에는, "인물"의 종류의 상이 배치되고, 서브 슬롯에는, "물건"의 종류의 화상이 배치된다. 추가로 "인물"의 설정값이 "덜 자주"이고, "동물"의 설정값이 "보통"일 경우에는, 메인 슬롯에는, "동물"의 종류의 화상이 배치되고, 서브 슬롯에는, "물건"의 종류의 화상이 배치된다. 또한 "인물"의 설정값과 "동물"의 설정값이 모두 "덜 자주"일 경우에는, 레이아웃 화상에 포함되는 모든 화상이, "물건"의 종류의 화상이다.
또한, 각 패턴에 있어서 배치되는 화상의 종류는 상술한 구성에 한정되지 않는다.
예를 들면, 어떤 종류의 화상이 배치될지가 설정되어 있지 않은 슬롯이 레이아웃 화상에 포함될 수 있다. 그 경우, 해당 슬롯에는 어떤 종류의 화상이든 배치될 수 있고, 예를 들면, 아직 선택되지 않은 화상 중에서 득점이 가장 높은 화상이 배치된다.
또한, 도 21에는, 각 패턴에서 레이아웃 화상의 생성에 이용되는 템플릿의 종류가 동일지만, 본 예시적인 실시예는 이 구성에 한정되지 않는다. 각 패턴에서 선택되는 화상 데이터가 다르기 때문에, 선택된 화상 데이터에 알맞은 템플릿이 각 패턴에서 적절히 선택될 수 있다.
이렇게, 본 예시적인 실시예에서는, 유저에 의해 설정된 각 오브젝트의 설정값에 따라, 편집 후에 취득된 앨범에 포함되는 각 오브젝트의 수를 변경할 수 있다. 바꿔 말하면, 편집 후에 취득된 레이아웃 화상에 포함되는 복수의 화상에 각 오브젝트가 포함되는 비율을, 유저에 의해 설정된 각 오브젝트의 설정값의 조합에 따라 변화시킬 수 있다. 또한, 본 예시적인 실시예에서는, 화상 자체를 변경할 뿐만 아니라, 편집 후에 취득된 앨범에 포함되는 화상의 종류도 변경할 수 있다. 바꿔 말하면, 유저에 의해 설정된 각 오브젝트의 설정값에 따라, 다른 종류의 화상이 포함되도록 앨범을 작성할 수 있다.
도 16은, 앨범의 재레이아웃 시에 실행되는 처리를 나타내는 흐름도다. 도 16에 나타낸 흐름도는, 예를 들면, CPU(101)가 HDD(104)에 저장된 앨범 작성 어플리케이션에 대응하는 프로그램을 ROM(102)이나 RAM(103)에 로드해서 그 프로그램을 실행함으로써 실현된다. 도 16의 흐름도에 나타낸 처리는, UI(2001)의 화면을 통해서 유저로부터 편집 내용의 입력을 접수한 후, CPU(101)가 앨범의 재배치 지시(편집 지시)를 유저로부터 접수했을 경우에(OK 버튼(2006)이 눌러졌을 경우에) 개시된다. 또한, 앨범의 재레이아웃 시에는, 지정 오브젝트가, UI(2001)로 설정된 설정값에 따라 변화된다.
스텝 S1601에서는, CPU(101)는, 화상 득점부(210)에 의해, UI(2001)을 통해 유저로부터 접수한 편집 내용에 따라 화상 득점화를 행한다. 구체적으로는, CPU(101)는, 스텝 S416의 설명에서 상술한 화상 득점화의 방법으로 각 화상 데이터에 첨부된 득점을, 각 카테고리의 설정값에 따라 증감한다. 예를 들면, CPU(101)는, 설정값이 "더 자주"인 카테고리의 오브젝트를 포함하는 화상 데이터의 득점에는, 소정의 득점을 가산하고, 설정값이 "덜 자주"인 카테고리의 오브젝트를 포함하는 화상 데이터의 득점으로부터는, 소정의 득점을 감산한다. 또한, CPU(101)는, 설정값이 "보통"인 카테고리의 오브젝트를 포함하는 화상 데이터의 득점을 증감시키지 않는다.
스텝 S1602∼S1607의 처리는, 스텝 S417∼S422의 처리와 같기 때문에, 그 설명을 생략한다.
스텝 S1608에서는, CPU(101)는, 화상 선택부(213)에 의해 화상 선택을 행한다. 재레이아웃시에 있어서 행해지는 화상 선택 처리를, 도 12를 참조하여 설명한다.
도 12는, 스텝 S1608의 화상 선택 처리의 상세를 나타내는 흐름도다. 도 12에 나타낸 흐름도는, 예를 들면, CPU(101)가 HDD(104)에 저장된 앨범 작성 어플리케이션에 대응하는 프로그램을 ROM(102)이나 RAM(103)에 로드해서 그 프로그램을 실행함으로써 실현된다. 도 12의 흐름도에서는, 처리 대상의 1개의 스프레드에 할당된 서브 화상군으로부터 화상 데이터가 선택된다. 그 때문에, 앨범이 복수의 스프레드로 구성되는 경우, 도 12의 흐름도에 나타낸 처리는 스프레드의 수에 대응하는 횟수 실행되게 된다.
또한, 본 예시적인 실시예에서는, UI(2001)을 통해 유저에 의해 설정된 각 오브젝트의 설정값 및 루프 카운터에 의한 카운트 수에 따라, 화상 선택 처리에서 선택되는 화상 데이터의 종류가 설정된다. 또한, 상술한 바와 같이, 본 예시적인 실시예에서는, 루프 카운터(1103)에 의한 카운트 수는 이전에 선택된 화상 데이터의 매수에 대응한다. 구체적으로는, UI(2001)을 통해 유저에 의해 설정된 각 오브젝트의 설정값 및 루프 카운터에 의한 카운트 수에 따라, 지정 오브젝트와 제외 오브젝트가 설정된다. 제외 오브젝트가 설정되어 있을 경우, 이후의 화상 선택 처리에서는, 제외 오브젝트를 포함하는 화상 데이터는 선택되지 않는다.
루프 카운터(1103)에 의한 카운트 수가 0인 경우에는, 화상 선택 처리에서는 메인 화상이 선택된다. 그 때문에, CPU(101)는, 유저에 의해 설정된 각 오브젝트의 설정값에 대응한 종류의 메인 화상이 선택되도록 지정 오브젝트와 제외 오브젝트를 설정한다. 예를 들면, 도 21에 나타나 있는 바와 같이, "인물"의 설정값과 "동물"의 설정값이 모두 "더 자주"일 경우나, "인물"의 설정값이 "보통"이고 "동물"의 설정값이 "더 자주"일 경우에는, 메인 슬롯에는, "인물 + 동물"의 종류의 화상이 배치된다. 그 때문에, "인물"의 오브젝트와 "동물"의 오브젝트의 양쪽을 지정 오브젝트로서 설정한다. 또한, "인물"의 설정값이 "덜 자주"이고 "동물"의 설정값이 "보통"일 경우에는, 메인 슬롯에는, "동물"의 종류의 화상이 배치된다. 그 때문에, "동물"의 오브젝트를 지정 오브젝트로서 설정하고 "인물"의 오브젝트를 제외 오브젝트로서 설정한다. 또한, "인물"의 설정값이 "보통"이고 "동물"의 설정값이 "덜 자주"일 경우에는, 메인 슬롯에는, "인물"의 종류의 화상이 배치된다. 그 때문에, "인물"의 오브젝트를 지정 오브젝트로서 설정하고 "동물"의 오브젝트를 제외 오브젝트로서 설정한다. 추가로, "인물"의 설정값과 "동물"의 설정값이 모두 "덜 자주"일 경우에는, 메인 슬롯에는, "물건"의 종류의 화상이 배치된다. 그 때문에, "인물"의 오브젝트와 "동물"의 오브젝트의 양쪽을 제외 오브젝트로서 설정한다. 이때, 제외 오브젝트로서 설정된 오브젝트 이외의 오브젝트(여기에서는, 예를 들면 "요리"의 오브젝트 등)가 지정 오브젝트로서 설정될 수 있다. 또한, 본 예시적인 실시예에서는, 소정값을 "보통"으로서 설정하고, 소정값 이상의 설정값의 오브젝트를 지정 오브젝트으로서 설명하며, 소정값 미만의 설정값의 오브젝트를 제외 오브젝트로서 설정하지만, 본 예시적인 실시예는 이 구성에 한정되지 않는다. 설정값의 조합에 따라 배치되는 화상의 종류가 변경되는 구성이면 된다.
또한, 루프 카운터(1103)에 의한 카운트 수가 1이상인 경우에는, 화상선택 처리에서는 서브 화상이 선택된다. 그 때문에, CPU(101)는, 유저에 의해 설정된 각 오브젝트의 설정값에 대응한 종류의 서브 화상이 선택되도록 지정 오브젝트와 제외 오브젝트를 설정한다. 예를 들면, 도 21에 나타나 있는 바와 같이, "인물"의 설정값과 "동물"의 설정값이 모두 "더 자주"일 경우에는, 서브 슬롯에는, "인물 + 동물"의 종류의 화상이 배치된다. 그 때문에, 제외 오브젝트는 설정되지 않고, "인물"의 오브젝트와 "동물"의 오브젝트의 양쪽을 지정 오브젝트로서 설정한다. 또한, "인물"의 설정값이 "더 자주"이고 "동물"의 설정값이 "보통"일 경우에는, 서브 슬롯에는, "인물"의 종류의 화상이 배치된다. 그 때문에, "인물"의 오브젝트를 지정 오브젝트로서 설정하고, "동물"의 오브젝트를 제외 오브젝트로서 설정한다. 추가로, "인물"의 설정값이 "보통"이고, "동물"의 설정값이 "더 자주"일 경우나, "인물"의 설정값이 "덜 자주"이고, "동물"의 설정값이 "더 자주"일 경우에는, 서브 슬롯에는, "동물"의 종류의 화상이 배치된다. 그 때문에, "동물"의 오브젝트를 지정 오브젝트로서 설정하고, "인물"의 오브젝트를 제외 오브젝트로서 설정한다. 또한, "인물"의 설정값과 "동물"의 설정값이 모두 "덜 자주"일 경우에는, 서브 슬롯에는, "물건"의 종류의 화상이 배치된다. 그 때문에, 지정 오브젝트는 설정되지 않고, "인물"의 오브젝트와 "동물"의 오브젝트의 양쪽을 제외 오브젝트로서 설정한다. 이때, 제외 오브젝트로서 설정된 오브젝트 이외의 오브젝트(여기에서는, 예를 들면, "요리"의 오브젝트 등)이 지정 오브젝트로서 설정될 수 있다.
상술한 바와 같이, UI(2001)을 통해서 유저에 의해 설정된 각 오브젝트의 설정값에 따라, 각 슬롯에 배치되는 화상 데이터의 종류를 변경할 수 있다.
스텝 S1201∼S1209의 처리는, 편집 전에 취득된 앨범 작성시에 행해진 처리와 같기 때문에, 그 설명을 생략한다.
스텝 S1210에서는, CPU(101)는, 지정 오브젝트나 제외 오브젝트가 이전에 설정되어 있었는지 아닌지를 판정한다. 앨범의 편집시에는, 상술한 바와 같이, 지정 오브젝트나 제외 오브젝트가 설정되지만, 지정 오브젝트나 제외 오브젝트가 설정되지 않는 경우도 있다. 이들 경우는 예를 들면 아직 선택되지 않은 화상 데이터 중에서 지정 오브젝트를 포함하고, 제외 오브젝트를 포함하지 않는 화상을 나타내는 화상 데이터가 없는 경우를 포함한다. 또한, 이들 경우는, 예를 들면, 어떤 종류의 화상이 배치될지가 설정되어 있지 않은 슬롯에 배치하기 위한 화상을 나타내는 화상 데이터를 선택하는 경우를 포함한다. 이 처리의 상세한 것은, 편집 전에 취득된 앨범 작성시에 행해지는 처리와 같다.
스텝 S1211에서는, CPU(101)는, 주목하고 있는 구간에서 생성된 화상 데이터 중에서, 지정 오브젝트를 포함하고, 제외 오브젝트를 포함하지 않는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터가 있는지 아닌지를 판정한다. 구체적으로는, CPU(101)는, 주목하고 있는 구간에서 생성된 각 화상 데이터가, 지정 오브젝트를 포함하고, 제외 오브젝트를 포함하지 않는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터인지 아닌지를 판정한다. 그리고, 지정 오브젝트를 포함하고, 제외 오브젝트를 포함하지 않는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터가 적어도 1개 있다고 판정된 경우에는(스텝 S1211에서 YES), 처리가 스텝 S1211로 진행된다. 지정 오브젝트를 포함하고, 제외 오브젝트를 포함하지 않는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터가 1개도 없다고 판정된 경우에는(스텝 S1211에서 NO), 주목하고 있는 구간에서 생성된 화상 데이터로부터는 화상 데이터가 선택되지 않고, 처리는 스텝 S1216로 진행된다. 또한, CPU(101)는, 화상 해석정보(500) 중 오브젝트 분류(505)의 영역에, 제외 오브젝트의 카테고리가 포함되어 있지 않는 화상 데이터를, 제외 오브젝트를 포함하지 않는 화상을 나타내는 화상 데이터라고 판정한다. 지정 오브젝트와 지정 속성에 관한 판정은, 편집 전에 취득된 앨범 작성시에 행해진 처리와 같다.
스텝 S1212에서는, CPU(101)는, 주목하고 있는 구간에서 생성된 화상 데이터로부터, 화상 데이터를 1매 선택한다. 이 처리의 상세한 것은, 화상 선택부(1109)의 설명에서 상술한 바와 같다. 또한, 여기에서는, 지정 오브젝트를 포함하고, 제외 오브젝트를 포함하지 않는 화상을 나타내고, 또한 지정 속성을 갖는 화상 데이터 중에서, 득점이 가장 높은 화상 데이터가 1매 선택된다. 그 때문에, 본 예시적인 실시예에서는, 예를 들면, 지정 오브젝트를 포함하지 않는 화상을 나타내고, 득점이 높은 화상 데이터보다, 지정 오브젝트를 포함하는 화상을 나타내고, 득점이 낮은 화상 데이터쪽이 우선해서 선택되게 된다. 또한, 본 예시적인 실시예에서는, 예를 들면, 지정 속성을 갖지 않지만 득점이 높은 화상 데이터보다, 지정 속성을 갖지만 득점이 낮은 화상 데이터쪽이 우선해서 선택되게 된다. 추가로, 본 예시적인 실시예에서는, 예를 들면, 제외 오브젝트를 포함하지만 득점이 높은 화상 데이터보다, 제외 오브젝트를 포함하지 않지만 득점이 낮은 화상 데이터쪽이 우선해서 선택되게 된다.
이렇게, 본 예시적인 실시예에서는, 각 오브젝트의 설정값에 따라, 지정 오브젝트나 제외 오브젝트를 설정한다. 이러한 구성을 채용함으로써, 서브 화상군에 조건에 맞는 화상 데이터가 있으면, 각 오브젝트의 설정값에 대응한 종류의 화상을 더 확실하게 선택할 수 있다. 이와 같이, 각 오브젝트의 설정값에 대응한 종류의 화상이 레이아웃된 레이아웃 결과를, 더 확실하게 출력할 수 있다.
스텝 S1212∼S1221의 처리는, 편집 전에 취득된 앨범 작성시에 행해진 처리와 같다.
스텝 S1222에서는, CPU(101)는, 지정 오브젝트 및/또는 제외 오브젝트의 갱신을 행한다. 또한, 갱신 후에 취득된 지정 오브젝트나 제외 오브젝트의 내용은, 특히 한정되지 않고, 적절히 설정될 수 있다. 예를 들면, 미리 설정된 우선도에 따라 지정 오브젝트나 제외 오브젝트가 갱신될 수 있고, 또는 처리 대상의 스프레드에 할당된 서브 화상군이 나타내는 복수의 화상에 많이 포함되는 오브젝트가 지정 오브젝트로서 갱신될 수 있다. 또한, 처리 대상의 스프레드에 할당된 서브 화상군이 나타내는 복수의 화상에 많이 포함되는 오브젝트 이외의 오브젝트가 제외 오브젝트로서 갱신될 수 있다. 또한, 지정 오브젝트나 제외 오브젝트의 설정을 "없음"으로 설정할 수 있다. 또한, 갱신의 필요가 없는 경우(전회와 같은 지정 오브젝트나 제외 오브젝트를 사용해서 화상 선택 처리를 행하는 경우)는, 스텝 S1222의 처리는 생략될 수 있다.
스텝 S1223의 처리는, 편집 전에 취득된 앨범 작성시에 행해진 처리와 같다.
또한, 본 예시적인 실시예에서는, 스텝 S1217에서 화상 데이터가 1매도 선택되지 않았다고 판정되었을 경우에는, 우선, CPU(101)는 지정 오브젝트나 제외 오브젝트를 갱신하지 않고, 지정 속성을 갱신해서 다시 화상 선택 처리를 행한다. 그리고, 지정 속성의 갱신을 반복해도 화상 데이터가 1매도 선택되지 않는 경우에는, CPU(101)는 지정 오브젝트나 제외 오브젝트의 갱신을 행한다.
또한, 이전에 선택된 화상 데이터의 매수가 화상 데이터의 필요한 매수에 도달했다고 판정된 경우에는(스텝 S1220에서 YES), CPU(101)는 화상 선택 처리를 종료하고, 처리는 스텝 S1609로 진행된다.
스텝 S1609∼S1613의 처리는, 스텝 S424∼S428의 처리와 같다.
이렇게, CPU(101)는 유저가 입력한 각 오브젝트의 설정값에 대응한 종류의 화상이 배치되도록 제어함으로써, 유저의 의도를 반영한 레이아웃 화상을 작성할 수 있다.
또한, 유저가 입력한 각 오브젝트의 설정값에 대응한 종류의 화상이 배치되도록 행해진 제어는, 앨범의 편집시뿐만 아니라, 편집 전에 취득된 앨범 작성시에도 적용 가능하다. 그 경우, 예를 들면, 편집 전에 취득된 앨범 작성 전에, 도 3에 나타나 있는 바와 같은 설정 화면에 입력하는 것뿐만 아니라, 도 20에 나타나 있는 바와 같은 설정 화면에도 입력하는 구성을 채용할 수 있다. 그리고, 도 4에 나타내는 스텝 S415∼S428의 처리 대신에, 도 16에 나타내는 스텝 S1601∼S1613의 처리를 실행하는 구성을 채용할 수 있다.
본 발명의 제2 예시적인 실시예에서는, 크로핑(cropping)에 의한 영향을 고려해서 템플릿을 선택하는 구성에 관하여 설명한다. 또한, 제1 예시적인 실시예와 동일한 구성요소에 관해서는 설명을 생략한다.
HDD(104)에는, 도 10에 나타낸 템플릿 이외에도, 다양한 템플릿이 저장되어 있고, 예를 들면, 본 예시적인 실시예에서는, 도 17에 나타나 있는 바와 같은 템플릿이 저장되어 있다. 템플릿 (5-1), (6-1)의 각각은, 정사각형 형상의 메인 슬롯과 정사각형 형상의 서브 슬롯을 가지고 있고, 메인 슬롯의 사이즈가 각 서브 슬롯의 사이즈보다 크다. 또한, 템플릿 (7-1)은, 정사각형 형상의 메인 슬롯과 정사각형 형상의 서브 슬롯을 가지고 있으며, 메인 슬롯의 사이즈는 템플릿 (5-1) 및 (6-1)의 각각의 메인 슬롯의 사이즈보다 작다. 또한, 템플릿 (8-1), (9-1), (10-1)의 각각은, 직사각형 형상의 메인 슬롯과 정사각형 형상이나 직사각형 형상의 서브 슬롯을 가지고 있고, 메인 슬롯의 사이즈는 도 10에 나타낸 템플릿의 메인 슬롯의 사이즈보다 작다.
이렇게, 직사각형 형상뿐만 아니라, 정사각형 형상 등의 다양한 형상을 갖는 템플릿이 준비됨으로써, 유저에 디자인성이 우수한 다양한 템플릿을 제공할 수 있다. 또한, 직사각형이나 정사각형의 슬롯을 갖는 템플릿뿐만 아니라, 원형, 타원형, 삼각형 등, 다른 형상의 슬롯을 갖는 템플릿도 제공될 수 있다. 또한, 직사각형의 메인 슬롯과 정사각형 형상의 서브 슬롯을 갖는 템플릿과 같이, 각각 다른 형상의 슬롯을 갖는 템플릿이 제공될 수 있다.
또한, 자동 레이아웃 처리에 있어서는, 화상을 슬롯에 맞는 크기 및 형상으로 하기 위해서, 화상의 일부의 영역을 제거하는 처리인 크로핑(트리밍)이 행해질 수도 있다. 추가로, 크로핑되는 영역의 위치나 양은, 슬롯의 크기나 형상과, 화상의 크기나 형상에 따라 다르다.
또한, 자동 레이아웃 처리에 있어서는, CPU(101)는, 화상을 배치하는 슬롯의 크기 및 위치의 정보를 취득 가능하다. 그 때문에, CPU(101)는, 화상에 포함되는 오브젝트의 위치의 정보를 더 취득 가능하면, 화상에 포함되는 오브젝트가 크로핑에 의해 부분적으로 잘라졌는지 아닌지를 판별 가능하다. 또한, "오브젝트가 부분적으로 잘라졌다"라는 것은, 구체적으로는, 오브젝트의 적어도 일부가 포함되는 영역이 제거되는 것을 가리킨다. 그 때문에, CPU(101)는, 화상에 포함되는 오브젝트가 부분적으로 잘라졌다고 판정한 경우에는, 사용하는 템플릿을 변경함으로써, 화상에 포함되는 오브젝트가 부분적으로 잘라지는 일없이, 템플릿에 화상을 배치하는 것이 가능하다.
그렇지만, 화상 해석부(207)는, 오브젝트의 카테고리에 따라 오브젝트의 위치를 정확하게 검출할 수 없는(위치의 정보를 취득할 수 없는) 것이 있다. 구체적으로는, 예를 들면, CPU(101)는, 화상 해석부(207)에 의해, "인물"의 오브젝트의 위치를 정확하게 검출할 수 있지만, "인물" 이외("동물"이나 "요리" 등)의 오브젝트의 위치를 정확하게 검출할 수 없다. 그 때문에, CPU(101)는, "인물" 이외의 오브젝트를 포함하는 화상에 대해서는, 크로핑에 의해 화상에 포함되는 오브젝트가 부분적으로 잘라졌는지 아닌지를 판별하는 일없이, 템플릿을 선택할 필요가 있다. 그 때문에, "인물" 이외의 오브젝트를 포함하는 화상에 대해서는, 가능한 한 크로핑량을 감소시켜서 슬롯에 화상을 배치하는 것이 바람직하다.
따라서, 제2 예시적인 실시예에서는, CPU(101)는, 앨범의 모드에 따라, 레이아웃 작성에 이용되는 템플릿을 변경한다. 구체적으로는, 위치의 정보를 정확하게 검출할 수 없는 오브젝트에 대응하는 모드가 선택되어 있는 경우에는, CPU(101)는 가능한 한 화상의 크로핑량이 감소되도록 제어한다. 이에 따라 위치에 대한 정보를 정확하게 검출할 수 없는 오브젝트가 크로핑에 의해 부분적으로 잘라지는 것을 방지한다.
또한, 촬상 디바이스에 의해 취득된 화상 데이터가 나타내지는 화상의 대부분은 직사각형이다. 직사각형과 정사각형은, 애스펙트비가 다르기 때문에, 직사각형의 화상을 상술한 바와 같은 정사각형 형상의 슬롯에 맞도록 배치하기 위해서는, 직사각형의 화상을 크로핑할 필요가 있다. 또한, 직사각형과 정사각형은, 애스펙트비가 크게 다르기 때문에, 이때 필요한 크로핑량은 커진다. 그 때문에, 제2 예시적인 실시예에서는, 앨범의 모드가 "인물" 이외인 경우에는, CPU(101)는 직사각형의 슬롯을 갖는 템플릿을 선택한다. 이에 따라 화상의 크로핑량이 작아지도록 제어할 수 있다.
제2 예시적인 실시예에 행해지는 제어에 대해서 더 상세하게 설명한다. 제2 예시적인 실시예에서는, 앨범의 모드가 "인물"일 경우에는, CPU(101)는 도 10에 나타나 있는 바와 같은 직사각형의 슬롯을 갖는 템플릿 및 도 7 에 나타나 있는 바와 같은 직사각형 이외의 슬롯을 갖는 템플릿으로부터, 레이아웃 작성에 이용하는 템플릿을 선택한다. 이것은, CPU(101)가, "인물"의 오브젝트의 위치를 정확하게 검출 가능하기 때문에, 슬롯의 형상에 관계없이 오브젝트가 부분적으로 잘라지지는 것을 방지하도록 크로핑할 수 있기 때문이다.
또한, 앨범의 모드가 "인물" 이외("동물"이나 "요리" 등)일 경우에는, CPU(101)는 도 10에 나타나 있는 바와 같은 직사각형의 슬롯을 갖는 템플릿으로부터, 레이아웃 작성에 이용하는 템플릿을 선택한다. 즉, 앨범의 모드가 "인물" 이외일 경우에는, CPU(101)는 도 7 에 나타나 있는 바와 같은 직사각형 이외의 슬롯을 갖는 템플릿으로부터, 레이아웃 작성에 이용하는 템플릿을 선택하지 않는다. 이것은, CPU(101)가, "인물" 이외의 오브젝트의 위치를 정확하게 검출할 수 없기 때문에, 직사각형 이외의 형상의 슬롯에 화상을 배치하는 경우에는, 오브젝트가 부분적으로 잘라질 가능성이 있기 때문이다.
도 15는, 제2 예시적인 실시예에서의 앨범 작성 어플리케이션의 소프트웨어 구성을 나타내는 블럭도다. 또한, 제1 예시적인 실시예에서의 앨범 작성 어플리케이션과 동일한 구성에 관해서는 설명을 생략한다.
제2 예시적인 실시예에서의 앨범 작성 어플리케이션은, 템플릿 선택부(1501)를 갖는다. 템플릿 선택부(1501)는, 템플릿 설정부(214)에 의해 HDD(104)로부터 취득되는, 앨범 작성 조건 지정부(201)에 의해 지정된 템플릿 정보에 대응한 복수의 템플릿을 취득한다.
화상 레이아웃부(1502)는, 스프레드의 레이아웃을 결정한다. 구체적으로는, 화상 레이아웃부(1502)는, 템플릿 선택부(1501)로부터 입력된 복수의 템플릿으로부터 화상 선택부(213)에 의해 선택한 화상 데이터에 알맞은 템플릿을 선택하고, 템플릿에 대한 각 화상의 배치 위치를 결정한다.
도 18은, 제2 예시적인 실시예에서의 앨범 작성 어플리케이션에 기억되어 있는, 템플릿을 결정하는 처리를 주관하는 소프트웨어의 블럭도다. 제1 예시적인 실시예와 동일한 구성소자에 관해서는 설명을 생략한다.
모드 취득부(1801)는, 앨범 작성 조건 지정부(201)에 의해 지정되는, 앨범의 모드에 관한 정보를 취득하여, 앨범의 모드를 특정한다.
템플릿 선택부(1802)는, 모드 취득부(1801)에 의해 특정된 모드에 의거하여 템플릿을 선택한다. 또한, 템플릿의 선택 방법은, 템플릿 선택부(1501)의 설명에서 상술한 바와 같다.
템플릿 선택부(1302)는, 스텝 S424에서 선택된 화상 데이터의 매수와 일치하는 수의 슬롯을 갖는 템플릿을, 템플릿 선택부(1802)에 의해 선택된 템플릿으로부터 선택한다.
템플릿 선택부(1803)는, 템플릿 선택부(1302)에 의해 선택된 템플릿 중에서, 메인 화상에 알맞은 템플릿을 선택한다. 제2 예시적인 실시예에서는, 템플릿의 상부 좌측 코너에 더 가까운 슬롯에 촬영 일시가 더 오래된 화상 데이터를 레이아웃하고, 템플릿의 하부 우측 코너에 더 가까운 슬롯에는 촬영 일시가 더 최근인 화상 데이터를 레이아웃하는 것으로 한다. 그 때문에, 우선, 템플릿 선택부(1803)는, 템플릿 선택부(1302)에 의해 선택된 템플릿 중에서, 메인 슬롯의 위치가, 메인 화상을 나타내는 화상 데이터의 촬영 일시의 순서에 대응하는 템플릿을 선택한다. 구체적으로, 예를 들면, 메인 화상을 나타내는 화상 데이터의 촬영 일시의 순서가 세 번째인 경우에는, 메인 슬롯이, 모든 슬롯의 왼쪽에서 세 번째의 슬롯인 템플릿이 선택된다. 또한, 선택 화상 소팅부(1303)에 의해 화상 데이터가 촬영 일시의 순서로 소트되어 있기 때문에, 템플릿 선택부(1803)는, 메인 화상을 나타내는 화상 데이터의 촬영 일시의 순서를 파악할 수 있다.
또한, 제2 예시적인 실시예에서는, 템플릿 선택부(1803)는, 앨범의 모드가 "인물"인 경우에는, 크로핑에 의해 오브젝트가 부분적으로 잘라지지 않는 한, 직사각형 이외의 형상의 메인 슬롯을 갖는 템플릿을 우선적으로 선택한다. 템플릿 선택부(1803)는, 직사각형 이외의 형상의 메인 슬롯에 메인 화상을 배치하기 위한 크로핑에 의해, 메인 화상에 포함되는 오브젝트가 부분적으로 잘라지는 경우에는, 직사각형의 형상의 메인 슬롯을 갖는 템플릿을 선택한다.
또한, 템플릿 선택부(1803)는, 메인 화상을 나타내는 화상 데이터가, 동화상 데이터로부터 클립된 화상 데이터이며, 움직임량이 많은 화상 데이터인 경우에는, 작은 사이즈의 슬롯을 갖는 템플릿을 선택한다. 이것은, 움직임량이 큰 화상 데이터가 나타내는 화상은 흐려짐(blurring)이나 흔들림(shaking)이 많을 가능성이 높지만, 화상이 작은 사이즈의 슬롯에 축소되어서 배치됨으로써, 화상의 흐려짐이나 흔들림이 완화되기 때문이다. 한편, 움직임량이 작은 화상 데이터가 나타내는 화상은 많은 흐려짐이나 흔들림을 가질 가능성이 적기 때문에, 템플릿 선택부(1803)는, 화상 데이터가 움직임량이 작은 화상 데이터인 경우에는, 큰 사이즈의 슬롯을 갖는 템플릿을 선택한다. 또한, 여기에서는, 움직임량이 큰지 작은지에 의거하여 템플릿을 선택하는 구성에 관하여 설명했지만, 본 예시적인 실시예는 이 구성에 한정되지 않는다. CPU(101)가 화상의 흐려짐량이나 흔들림량을 검출할 수 있는 경우에는, 그러한 검출된 값을 사용해서 템플릿 선택이 행해질 수 있다. 또한, 예를 들면, CPU(101)는, Laplace 필터를 사용해서 화상에 있어서의 엣지의 양을 검출할 수 있다. CPU(101)는, 검출된 엣지의 양이 작은 경우를 흐려짐량이나 흔들림량이 많다고 간주할 수 있다. 어떻든, 흐려짐량이나 흔들림량이 큰 화상이 작은 슬롯에 배치되고, 흐려짐량이나 흔들림량이 작은 화상이 큰 슬롯에 배치되도록 제어되면 된다.
템플릿 선택부(1804)는, 템플릿 선택부(1803)에 의해 선택된 템플릿 중에서, 서브 화상에 적합한 템플릿을 선택한다. 템플릿 선택부(1804)는, 서브 슬롯의 위치가, 스텝 S424에서 선택된 화상 데이터 중에서 서브 화상을 나타내는 화상 데이터의 촬영 일시의 순서에 대응하는 템플릿을 선택한다. 또한, 제2 예시적인 실시예에서는, 템플릿 선택부(1804)는, 앨범의 모드가 "인물"인 경우에는, 크로핑에 의해 오브젝트가 부분적으로 잘라지지 않는 한, 직사각형 이외의 형상의 서브 슬롯을 갖는 템플릿을 우선적으로 선택한다. 템플릿 선택부(1804)는, 직사각형 이외의 형상의 서브 슬롯에 서브 화상을 배치하기 위한 크로핑에 의해, 서브 화상에 포함되는 오브젝트가 부분적으로 잘라지는 경우에는, 직사각형의 형상의 서브 슬롯을 갖는 템플릿을 선택한다. 템플릿 선택부(1804)는, 이렇게 해서, 레이아웃 화상의 작성에 최종적으로 이용하는 템플릿을 선택한다.
제2 예시적인 실시예에 있어서도, 스텝 S425에서는, CPU(101)는, 화상 레이아웃부(215)에 의해, 처리 대상의 스프레드의 화상 레이아웃을 결정한다. 그리고, CPU(101)는, 스텝 S424에서 취득된 복수의 템플릿 중에서, 스텝 S423에서 선택된 화상 데이터에 적합한 템플릿을 결정한다. 템플릿의 결정 방법을, 도 19를 참조하여 설명한다.
도 19는, 제2 예시적인 실시예에 있어서의, 레이아웃 화상의 작성에 이용하는 템플릿을 결정하는 처리를 나타내는 흐름도다. 도 19에 나타낸 흐름도는, 예를 들면, CPU(101)가 HDD(104)에 저장된 앨범 작성 어플리케이션에 대응하는 프로그램을 ROM(102)이나 RAM(103)에 로드해서 그 프로그램을 실행함으로써 실현된다.
스텝 S1901에서는, CPU(101)는, 선택 화상 정보 취득부(1301)에 의해, 스텝 S423에서 선택된 화상 데이터의 매수와, 선택된 화상 데이터에 관한 정보를 취득한다. 이 처리는, 스텝 S1401의 처리와 같다.
스텝 S1902에서는, CPU(101)는, 템플릿 선택부(1302)에 의해, 스텝 S423에서 선택된 화상 데이터의 매수와 슬롯 수가 일치하는 템플릿을 선택한다. 이 처리는, 스텝 S1402의 처리와 같다.
스텝 S1903에서는, CPU(101)는, 선택 화상 소팅부(1303)에 의해, 스텝 S423에서 선택된 화상 데이터를 촬영 일시의 순서로 소트한다. 이 처리는, 스텝 S1403의 처리와 같다.
스텝 S1904에서는, CPU(101)는, 메인 화상에 대응하는 화상 데이터가, 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터인지 아닌지를 판정한다. CPU(101)는, 화상 데이터가 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터라고 판정한 경우(스텝 S1904에서 YES)에는, 처리가 스텝 S1905로 진행된다. 그리고, CPU(101)는, 화상 데이터가 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터가 아니라고 판정한 경우(스텝 S1904에서 NO)에는, 처리가 스텝 S1906로 진행된다.
스텝 S1905에서는, CPU(101)는, 메인 화상에 대응하는 화상 데이터의 움직임량이 소정의 임계값 TH보다 큰 것인지 아닌지를 판정한다. 움직임량이 소정의 임계값 TH보다 큰 경우(스텝 S1905에서 YES)에는, 처리가 스텝 S1907로 진행되고, 움직임량이 소정의 임계값 TH보다 크지 않은 경우(스텝 S1905에서 NO)에는, 처리가 스텝 S1906로 진행된다.
스텝 S1906에서는, CPU(101)는, 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하는지 아닌지를 판정한다. 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함한다고 판정된 경우(스텝 S1906에서 YES)에는, 처리가 스텝 S1909로 진행되고, 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하지 않다고 판정된 경우(스텝 S1906에서 NO)에는, 처리가 스텝 S1908로 진행된다.
스텝 S1908에서는, CPU(101)는, 스텝 S1902에서 선택된 템플릿 중에서, 메인 화상에 적합한 템플릿을, 템플릿 선택부(1803)에 의해 선택한다. 또한, 이때, 메인 화상에 대응하는 화상 데이터가, 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터가 아니며, 또한 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하지 않는다. 또는, 메인 화상에 대응하는 화상 데이터가, 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터이지만, 움직임량이 작고, 또한 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하지 않는다. 그 때문에, CPU(101)는, 우선, 큰 정사각형의 메인 슬롯을 갖는 템플릿을 선택한다. 그리고, CPU(101)는, 메인 화상이 선택한 템플릿의 메인 슬롯에 맞도록 메인 화상에 대하여 크로핑을 행했을 경우, 메인 화상에 포함되는 오브젝트가 부분적으로 잘라질 것인지 아닌지를 판정한다. CPU(101)는, 메인 화상에 포함되는 오브젝트가 부분적으로 잘라지지 않을 것이라고 판정했을 경우, CPU(101)는 큰 정사각형의 메인 슬롯을 갖는 템플릿을 선택한 채, 처리를 스텝 S1910로 진행시킨다. 한편, CPU(101)는, 메인 화상에 포함되는 오브젝트가 부분적으로 잘라질 것이라고 판정했을 경우, CPU(101)는 메인 화상의 애스펙트비와 같은 애스펙트비인, 큰 직사각형의 메인 슬롯을 갖는 템플릿을 선택하고, 그 후에 처리를 스텝 S1910로 진행시킨다.
스텝 S1910에서는, CPU(101)는, 스텝 S1908에서 선택된 템플릿 중에서, 서브 화상에 적합한 템플릿을, 템플릿 선택부(1804)에 의해 선택한다. 이때, CPU(101)는, 각 서브 화상의 애스펙트비와 같은 애스펙트비인 서브 슬롯을 갖는 템플릿을 선택할 수 있고, 정사각형의 서브 슬롯을 갖는 템플릿을 선택할 수 있다. 또한, 메인 화상 기준의 템플릿 선택과 마찬가지로, CPU(101)는 서브 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하는지 포함하지 않는지에 따라 선택하는 템플릿을 변경할 수 있다. 또한, 이때, 어느 서브 슬롯에 어느 서브 화상이 배치될지도 특정된다.
스텝 S1909에서는, CPU(101)는, 스텝 S1902에서 선택된 템플릿 중에서, 메인 화상에 적합한 템플릿을, 템플릿 선택부(1803)에 의해 선택한다. 또한, 이때, 메인 화상에 대응하는 화상 데이터가, 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터가 아니며, 또한 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함한다. 또는, 메인 화상에 대응하는 화상 데이터가, 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터이지만, 움직임량이 작고, 또한 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함한다. 그 때문에, CPU(101)는, 메인 화상의 애스펙트비와 같은 애스펙트비인, 큰 직사각형의 메인 슬롯을 갖는 템플릿을 선택하고, 처리를 스텝 S1911로 진행시킨다.
스텝 S1911에서는, CPU(101)는, 스텝 S1909에서 선택된 템플릿 중에서, 서브 화상에 적합한 템플릿을, 템플릿 선택부(1804)에 의해 선택한다. 이때, CPU(101)는, 각 서브 화상의 애스펙트비와 같은 애스펙트비인 서브 슬롯을 갖는 템플릿을 선택할 수 있고, 또는 정사각형의 서브 슬롯을 갖는 템플릿을 선택할 수 있다. 또한, 메인 화상 기준의 템플릿 선택과 마찬가지로, CPU(101)는 서브 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하는지 포함하지 않는지에 따라 선택되는 템플릿을 변경할 수 있다. 또한, 이때, 어느 서브 슬롯에 어느 서브 화상이 배치될지도 특정된다.
스텝 S1907에서는, CPU(101)는, 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하는지 아닌지를 판정한다. 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함한다고 판정된 경우(스텝 S1907에서 YES)에는, 처리가 스텝 S1913로 진행되고, 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하지 않는다고 판정된 경우(스텝 S1907에서 NO)에는, 처리가 스텝 S1912로 진행된다.
스텝 S1912에서는, CPU(101)는, 스텝 S1902에서 선택된 템플릿 중에서, 메인 화상에 적합한 템플릿을, 템플릿 선택부(1803)에 의해 선택한다. 또한, 이때, 메인 화상에 대응하는 화상 데이터가, 동화상 데이터로부터 프레임을 클립함으로써 취득되는 화상 데이터이고, 움직임량이 큰 화상 데이터이며, 또한 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하지 않는다. 그 때문에, CPU(101)는, 우선, 작은 정사각형의 메인 슬롯을 갖는 템플릿을 선택한다. 그리고, CPU(101)는, 메인 화상이 선택한 템플릿의 메인 슬롯에 적합하도록 메인 화상에 대하여 크로핑을 행했을 경우, 메인 화상에 포함되는 오브젝트가 부분적으로 잘라질 것인지 아닌지를 판정한다. CPU(101)는, 메인 화상에 포함되는 오브젝트가 부분적으로 잘라지지 않을 것이라고 판정했을 경우, CPU(101)는 작은 정사각형의 메인 슬롯을 갖는 템플릿을 선택한 채, 처리를 스텝 S1914로 진행시킨다. 한편, CPU(101)는, 메인 화상에 포함되는 오브젝트가 부분적으로 잘라질 것이라고 판정했을 경우, CPU(101)는 메인 화상의 애스펙트비와 같은 애스펙트비인, 작은 직사각형의 메인 슬롯을 갖는 템플릿을 선택하고, 그 후에 처리를 스텝 S1914로 진행시킨다.
스텝 S1914에서는, CPU(101)는, 스텝 S1912에서 선택된 템플릿 중에서, 서브 화상에 적합한 템플릿을, 템플릿 선택부(1804)에 의해 선택한다. 이때, CPU(101)는, 각 서브 화상의 애스펙트비와 같은 애스펙트비인 서브 슬롯을 갖는 템플릿을 선택할 수 있고, 또는 정사각형의 서브 슬롯을 갖는 템플릿을 선택할 수 있다. 또한, 메인 화상 기준의 템플릿 선택과 마찬가지로, CPU(101)는 서브 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하는지 포함하지 않는지에 따라 선택되는 템플릿을 변경할 수 있다. 또한, 이때, 어느 서브 슬롯에 어느 서브 화상이 배치될지도 특정된다.
스텝 S1913에서는, CPU(101)는, 스텝 S1902에서 선택된 템플릿 중에서, 메인 화상에 적합한 템플릿을, 템플릿 선택부(1803)에 의해 선택한다. 또한, 이때, 메인 화상에 대응하는 화상 데이터가, 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터이고, 움직임량이 큰 화상 데이터이며, 또한 메인 화상이 "인물" 이외의 카테고리의 오브젝트를 포함한다. 그 때문에, CPU(101)는, 메인 화상의 애스펙트비와 같은 애스펙트비인, 작은 직사각형의 메인 슬롯을 갖는 템플릿을 선택하고, 그 후에 처리를 스텝 S1915로 진행시킨다.
스텝 S1915에서는, CPU(101)는, 스텝 S1913에서 선택된 템플릿 중에서, 서브 화상에 적합한 템플릿을, 템플릿 선택부(1804)에 의해 선택한다. 이때, CPU(101)는, 각 서브 화상의 애스펙트비와 같은 애스펙트비인 서브 슬롯을 갖는 템플릿을 선택할 수 있고, 또는 정사각형의 서브 슬롯을 갖는 템플릿을 선택할 수 있다. 또한, 메인 화상 기준의 템플릿 선택과 마찬가지로, CPU(101)는 서브 화상이 "인물" 이외의 카테고리의 오브젝트를 포함하는지 포함하지 않는지에 따라 선택되는 템플릿을 변경할 수 있다. 또한, 이때, 어느 서브 슬롯에 어느 서브 화상이 배치될지도 특정된다.
이렇게 해서, 스텝 S425에서는, CPU(101)는, 레이아웃 화상의 작성에 사용하는 템플릿을 결정하고, 어느 슬롯에 어느 화상을 배치할지를 결정한다. 구체적으로는, CPU(101)는, 선택한 템플릿에 포함되는 각 슬롯의 정보와, 각 슬롯에 레이아웃되는 화상에 대응하는 화상 데이터를 서로 관련지어서 관리한다.
상술한 바와 같이, 제2 예시적인 실시예에서는, "인물" 이외의 카테고리의 오브젝트와 같이, 위치 정보를 취득할 수 없는 오브젝트가 포함되는 화상을 배치하는 경우에는, CPU(101)는, 해당 화상과 애스펙트비가 같은 슬롯을 갖는 템플릿을 선택한다. 이러한 구성을 채용함으로써, 위치 정보를 취득할 수 없는 오브젝트가 부분적으로 잘라지는 것을 방지 또는 줄일 수 있다.
또한, 상술한 바와 같이, 제2 예시적인 실시예에서는, 동화상 데이터로부터 프레임을 클립함으로써 취득되고, 움직임량이 큰 화상 데이터가 나타내는 화상을 배치하는 경우에는, CPU(101)는, 작은 슬롯을 갖는 템플릿을 선택한다. 이러한 구성을 채용함으로써, 화상의 흔들림이나 흐려짐이 유저에게 주는 시각적인 효과를 억제 또는 저감할 수 있다. 또한, 동화상 데이터로부터 프레임을 클립함으로써 취득된 화상 데이터가 나타내는 화상을 배치하는 경우에는, CPU(101)는, 화상 데이터의 움직임량이 큰지 작은지에 관계없이, 작은 슬롯을 갖는 템플릿을 선택할 수 있다.
또한, 상기 설명에서는, CPU(101)가 메인 화상에 대응하는 화상 데이터가 동화상 데이터로부터 취득된 화상 데이터인지 아닌지의 판정(동화상 판정)이나 메인 화상에 "인물" 이외의 카테고리의 오브젝트가 포함되는지 아닌지의 판정(오브젝트 판정)에 의거하여 템플릿의 선택을 행하는 구성을 설명했다. 그렇지만, 본 예시적인 실시예는 이 구성에 한정되지 않는다. 예를 들면, 동화상 판정이나 오브젝트 판정에 근거하는 템플릿의 선택을 행하지 않고, CPU(101)는 앨범의 모드에만 근거해서 템플릿의 선택을 행할 수 있다. 이 경우, CPU(101)는, 앨범 작성 조건 지정부(201)로부터, 앨범의 모드에 관한 정보를 취득하여, 앨범의 모드를 특정한다. 그리고, CPU(101)는, 템플릿 설정부(214)로부터 취득한 복수의 템플릿으로부터, 특정한 모드에 대응하는 템플릿을 선택하는 필터링 처리를 행한다. 이렇게 해서 추출된 템플릿이 화상 레이아웃부(1502)에 취득됨으로써, 선택된 템플릿을 사용할 수 있는 앨범이 작성된다. 이 경우, CPU(101)는, 특정한 앨범의 모드가 "인물"의 모드인 경우에는, 도 10에 나타나 있는 바와 같은 직사각형의 슬롯을 갖는 템플릿 및, 도 7에 나타나 있는 바와 같은 직사각형 이외의 형상의 슬롯을 갖는 템플릿을 추출한다. 그리고, CPU(101)는, 크로핑에 의해 오브젝트가 부분적으로 잘라지지 않으면, 직사각형 이외의 형상의 슬롯을 갖는 템플릿을 우선해서 선택하고, 크로핑에 의해 오브젝트가 부분적으로 잘라지면, 직사각형의 슬롯을 갖는 템플릿을 우선해서 선택한다. 또한, CPU(101)는, 특정한 앨범의 모드가 "인물" 이외의 모드인 경우에는, 도 10에 나타나 있는 바와 같은 직사각형의 슬롯을 갖는 템플릿을 추출해서 선택한다. 이와 같이, 특정한 앨범의 모드가 "인물" 이외의 모드인 경우에는, CPU(101)가 메인 화상에 "인물" 이외의 카테고리의 오브젝트가 포함되는지 아닌지에 관계없이, 직사각형의 슬롯을 갖는 템플릿을 선택하는 구성도 채용할 수 있다.
본 발명은 상술한 실시예에 한정되는 것은 아니다. 예를 들면, 상술한 예시적인 실시예에서는, 상술한 화상 선택 처리가, 앨범의 자동 레이아웃 처리에 사용되는 구성을 설명했지만, 예를 들면, 화상 선택 처리는 인쇄 대상의 화상 데이터를 자동으로 유저에게 제시하는 제시 기능 등에 사용될 수 있다. 이와 같이, 상술한 화상 선택 처리가, 해당 제시 기능을 실행하는 프로그램에 의해 실행될 수 있다. 또한, 예를 들면, 한 페이지의 인쇄물을 작성하는 구성에 대해서도 본 발명을 적용할 수 있다. 이 경우, CPU(101)는, 예를 들면, 상술한 예시적인 실시예에 있어서의 1개의 스프레드를 한 페이지의 인쇄물이라고 간주하여 처리를 행할 수 있다. 또한, 한 페이지의 인쇄물에는, 일반적으로, 1매의 화상 데이터만이 레이아웃되기 때문에, 한 페이지의 인쇄물용의 템플릿에는, 슬롯이 1개만 포함되는 것으로 한다. 이 슬롯은, 메인 슬롯이라고 간주될 수 있고, 또는 서브 슬롯이라고 간주될 수 있다. 또한, 인쇄물의 매수를 설정 가능한 구성이면, CPU(101)는, 상술한 예시적인 실시예에 있어서의 1개의 스프레드를 설정된 매수의 한 페이지의 인쇄물이라고 간주하여, 처리를 행할 수 있다. 이 경우, 예를 들면, CPU(101)는 첫 번째의 한 페이지의 인쇄물의 템플릿에 포함되는 슬롯을 메인 슬롯이라고 간주할 수 있고, 두 번째 이후의 한 페이지의 인쇄물의 템플릿에 포함되는 슬롯을 서브 슬롯이라고 간주할 수 있다.
또한, 상술한 예시적인 실시예에서는, 자동 레이아웃 처리를 실행하는 화상처리장치가, 로컬 환경에 의존하는 화상처리장치인 구성을 설명했지만, 예를 들면, 상술한 화상처리장치는 네트워크 서버상에 존재하는 화상처리장치일 수도 있다. 이 경우에는, 유저가 해당 화상처리장치에 화상 데이터를 업로드함으로써 해당 화상처리장치는 자동 레이아웃 처리를 실행 가능해진다.
상술한 예시적인 실시예에서는, 화상 득점화 등의 평가에 있어서, 점수를 부여하는 것으로 평가를 행하고 있었지만, 본 예시적인 실시예는 이 구성에 한정되지 않는다. 즉, 득점을 사용하지 않고 평가를 행할 수 있고, 예를 들면, 평가가 높은 순으로 "◎", "○", "△", "×"의 평가 결과를 부여하고, 이 평가 결과에 따라 씬 분류나 화상 선택 등이 행해지는 구성도 채용할 수 있다.
상술한 예시적인 실시예에서는, 화상 선택 처리에 있어서, 지정 오브젝트와 지정 속성의 양쪽을 참조하는 구성을 채용했지만, 본 예시적인 실시예는 이 구성에 한정되지 않는다. 예를 들면, 지정 속성의 설정을 행하지 않는 구성을 채용할 수 있다. 그 경우, 예를 들면, 스텝 S1211에서는, CPU(101)는, 지정 오브젝트를 포함하고, 또한 득점이 가장 높은 화상 데이터를 1매 선택한다. 또한, 예를 들면, 지정 오브젝트의 설정을 행하지 않는 구성을 채용할 수 있다. 그 경우, 예를 들면, 스텝 S1211에서는, CPU(101)는, 지정 속성을 포함하고, 또한 득점이 가장 높은 화상 데이터를 1매 선택한다.
상술한 예시적인 실시예에서는, 앨범의 모드에 대응하는 카테고리의 오브젝트를 포함하는 화상을, 레이아웃 화상에 배치하기 위해서, 해당 화상을 나타내는 화상 데이터의 득점이 높아지도록 제어하고, 해당 오브젝트를 지정 오브젝트로서 설정해서 화상 선택 처리를 행한다. 그렇지만, 본 예시적인 실시예는 이 구성에 한정되지 않고, 예를 들면, 해당 화상을 나타내는 화상 데이터의 득점이 높아지도록 하는 제어와, 해당 오브젝트를 지정 오브젝트로서 설정해서 화상 선택 처리를 실행하는 제어 중 하나만 실행되는 구성도 채용할 수 있다. 이와 같이, 예를 들면, 해당 화상을 나타내는 화상 데이터의 득점이 높아지도록 제어하고, 화상 선택 처리에서는, 득점만(또는 득점과 지정 속성만)을 참조하는 구성을 채용한다. 이러한 구성에서도, 앨범의 모드에 대응하는 카테고리의 오브젝트를 포함하는 화상을 나타내는 화상 데이터를, 화상 선택 처리에 있어서 우선적으로 선택하는 것이 가능하다.
또한, 본 발명은, 이하의 처리를 실행함으로써도 실현된다. 다시 말해, 상술한 예시적인 실시예의 기능을 실현하는 소프트웨어(프로그램)를, 네트워크 또는 각종 기억매체를 통해서 시스템 또는 장치에 공급하고, 그 시스템 또는 장치의 컴퓨터(또는 CPU나 MPU 등)는 프로그램을 판독해서 실행해서 처리를 수행한다. 또한, 프로그램을, 1개의 컴퓨터로 실행시킬 수 있거나, 복수의 컴퓨터와 연동시켜서 실행시킬 수도 있다. 추가로, 상술한 처리 동작의 모두를 소프트웨어로 실현할 필요는 없고, 상술한 처리 동작의 일부 또는 전부를 하드웨어로 실현할 수 있다.
그 외의 실시예
본 발명의 실시 예(들)는, 상술한 실시 예(들) 중의 하나 또는 그 이상의 기능을 행하도록 기억매체(예를 들면, '비일시 컴퓨터 판독가능한 기억매체') 상에 기록된 컴퓨터 실행가능한 명령들(예를 들면, 1개 이상의 프로그램)을 판독 및 실행하고, 상술한 실시 예(들) 중의 하나 또는 그 이상의 기능을 수행하는 1개 이상의 회로(예를 들면, ASIC(Application Specific Integrated Circuit))를 포함하는 시스템 또는 장치의 컴퓨터에 의해서 실현될 수 있고, 또 예를 들면, 상술한 실시 예(들) 중의 하나 또는 그 이상의 기능을 행하도록 기억매체로부터 컴퓨터 실행가능한 명령들을 판독 및 실행함으로써 및/또는 상술한 실시 예(들) 중의 하나 또는 그 이상의 기능을 수행하는 1개 이상의 회로를 제어함으로써 시스템 또는 장치의 컴퓨터에 의해 행해진 방법에 의해서도 실현될 수 있다. 이 컴퓨터는 CPU(Central Processing Unit), MPU(Micro Processing Unit), 또는 다른 회로 중 하나 또는 그 이상을 구비할 수도 있고, 독립된 컴퓨터 또는 독립된 컴퓨터 프로세서의 네트워크를 포함할 수도 있다. 이 컴퓨터 실행가능한 명령들은 예를 들면, 네트워크 또는 기억매체로부터 컴퓨터에 제공될 수도 있다. 이 기억매체는 예를 들면, 하드 디스크, RAM(random-access memory), ROM(read only memory), 분산 컴퓨팅 시스템의 스토리지, 광디스크(컴팩트 디스크(CD), DVD(digital versatile disc), Blue-ray Disc(BD)TM 등), 플래시 메모리 디바이스, 메모리 카드 중 어느 하나 또는 그 이상을 포함할 수도 있다.
본 발명은 예시적인 실시 예를 참조하면서 설명되었지만, 본 발명은 이 개시된 예시적인 실시 예에 한정되는 것이 아니라는 것이 이해될 것이다. 이하의 특허청구범위의 범주는 모든 변형 및 균등구조 및 기능을 포함하도록 가장 넓게 해석되어야 할 것이다.
본 출원은 2016년 12월 9일자로 출원된 일본 특허 출원 제2016-239738호의 우선권을 주장하며, 본 명세서에서 그 전체가 참고로 인용된다

Claims (19)

  1. 템플릿에 화상이 배치되는 레이아웃 화상을 작성하는 화상처리장치의 제어 방법으로서,
    각각 다른 오브젝트에 대응하는 복수의 입력 중의 하나의 입력을 유저로부터 접수하는 단계와,
    복수의 화상 데이터를 취득하는 단계와,
    상기 취득된 복수의 화상 데이터의 각각을 평가하는 단계와,
    상기 취득된 복수의 화상 데이터로부터, 상기 평가에 의거하여 적어도 1개의 화상 데이터를 선택하는 단계와,
    화상을 배치하기 위한 적어도 한 개의 슬롯을 갖는 템플릿의 정보를 취득하는 단계와,
    상기 선택된 화상 데이터가 나타내는 화상이, 상기 취득된 정보에 대응하는 템플릿에 포함된 슬롯들 중의 미리 정해진 슬롯에 배치되는 레이아웃 화상을 출력하는 단계를 포함하고,
    상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내는 제1 화상 데이터와, 상기 접수한 입력에 대응하는 오브젝트를 포함하지 않는 화상을 나타내고, 또 상기 제1 화상 데이터보다 상기 평가가 더 높은 제2 화상 데이터가, 상기 취득된 복수의 화상 데이터에 포함되는 경우, 상기 제2 화상 데이터보다 우선해서 상기 제1 화상 데이터가 선택되는, 제어 방법.
  2. 제 1 항에 있어서,
    상기 접수한 입력에 대응하는 오브젝트는, 인물의 종류의 오브젝트, 동물의 종류의 오브젝트, 요리의 종류의 오브젝트, 꽃의 종류의 오브젝트, 건물의 종류의 오브젝트, 장식물의 종류의 오브젝트, 및 탈것의 종류의 오브젝트 중의 적어도 1개인, 제어 방법.
  3. 제 1 항에 있어서,
    상기 제1 화상 데이터와, 상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내고, 또 상기 제1 화상 데이터보다 상기 평가가 더 높은 제3 화상 데이터가, 상기 취득된 복수의 화상 데이터에 포함되는 경우, 상기 제1 화상 데이터보다 우선해서 상기 제3 화상 데이터가 선택되는, 제어 방법.
  4. 제 1 항에 있어서,
    상기 취득된 복수의 화상 데이터의 각각의 특징량을 해석하는 단계를 더 포함하고,
    상기 해석된 특징량에 의거하여 상기 취득된 복수의 화상 데이터의 각각의 평가가 행해지는, 제어 방법.
  5. 제 1 항에 있어서,
    미리 정해진 득점 축에 의거하여 상기 취득된 복수의 화상 데이터의 각각에 득점이 부여됨으로써 평가가 행해지고,
    평가가 더 높은 화상 데이터에 더 높은 득점이 부여되는, 제어 방법.
  6. 제 5 항에 있어서,
    상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내는 화상 데이터에 미리 정해진 득점 축에 의거해서 부여된 점수에, 미리 정해진 점수가 가산되는, 제어 방법.
  7. 제 1 항에 있어서,
    상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내고, 또 동화상 데이터로부터 취득되는 제4 화상 데이터와, 상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내고, 또 정지 화상 데이터로부터 취득되는 제5 화상 데이터가, 상기 취득된 복수의 화상 데이터에 포함되는 경우, 상기 제5 화상 데이터보다 우선해서 상기 제4 화상 데이터가 선택되는, 제어 방법.
  8. 제 1 항에 있어서,
    상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내고, 또 소셜 네트워킹(social networking) 서비스의 서버로부터 취득되는 제6 화상 데이터와, 상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내고, 또 상기 소셜 네트워킹 서비스의 서버 이외의 영역으로부터 취득되는 제7 화상 데이터가, 상기 취득된 복수의 화상 데이터에 포함되는 경우, 상기 제7 화상 데이터보다 우선해서 상기 제6 화상 데이터가 선택되는, 제어 방법.
  9. 제 1 항에 있어서,
    상기 접수한 입력에 대응하는 오브젝트가 미리 정해진 오브젝트인 경우, 적어도 한 개의 직사각형의 슬롯을 갖는 템플릿이 취득되고,
    상기 선택된 화상 데이터가 나타내는 화상이 상기 취득된 템플릿에 포함된 직사각형의 슬롯에 배치되는 레이아웃 화상이 출력되는, 제어 방법.
  10. 제 9 항에 있어서,
    상기 미리 정해진 오브젝트는, 화상에 포함된 오브젝트를 특정하기 위한 미리 정해진 처리에 의해 화상에 있어서의 위치가 특정되지 않는 오브젝트인, 제어 방법.
  11. 제 9 항에 있어서,
    상기 미리 정해진 오브젝트는, 인물 이외의 종류의 오브젝트인, 제어 방법.
  12. 제 1 항에 있어서,
    상기 선택된 화상 데이터가 동화상 데이터로부터 취득된 화상 데이터일 경우, 상기 선택된 화상 데이터가 나타내는 화상이 상기 취득된 정보에 대응하는 템플릿에 포함된 제1 사이즈의 슬롯에 배치되는 레이아웃 화상이 출력되고, 상기 선택된 화상 데이터가 동화상 데이터로부터 취득된 화상 데이터가 아닐 경우, 상기 선택된 화상 데이터가 나타내는 화상이 상기 취득된 정보에 대응하는 템플릿에 포함된 상기 제1 사이즈보다 큰 제2 사이즈의 슬롯에 배치되는 레이아웃 화상이 출력되는, 제어 방법.
  13. 제 1 항에 있어서,
    상기 접수한 입력은, 레이아웃 화상에 각각 대응하는 복수의 레이아웃 화상으로 구성된 앨범에 대하여, 복수의 모드 중의 하나의 모드를 지정하기 위한 입력이며,
    상기 접수한 입력에 대응하는 오브젝트는, 상기 복수의 모드 중 지정된 모드에 대응하는 오브젝트인, 제어 방법.
  14. 제 1 항에 있어서,
    상기 취득된 복수의 화상 데이터가 각각 나타내는 복수의 화상의 각각에 포함된 오브젝트를 특정하는 단계를 더 포함하고,
    상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내는 것으로 특정된 제8 화상 데이터와, 상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내지 않는 것으로 특정된 제9 화상 데이터가, 상기 취득된 복수의 화상 데이터에 포함되는 경우, 상기 제9 화상 데이터보다 우선해서 상기 제8 화상 데이터가 선택되는, 제어 방법.
  15. 제 14 항에 있어서,
    상기 취득된 복수의 화상 데이터가 각각 나타내는 복수의 화상의 각각에 포함된 오브젝트가 특정되었을 경우, 상기 취득된 복수의 화상 데이터의 각각이 어떤 오브젝트를 포함하는 화상을 나타내는지를 가리키는 정보를, 상기 취득된 복수의 화상 데이터의 각각과 관련짓는 단계를 더 포함하고,
    상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내는 정보와 관련되어 있는 제10 화상 데이터와, 상기 접수한 입력에 대응하는 오브젝트를 포함하지 않는 화상을 나타내는 정보와 관련되어 있는 제11 화상 데이터가, 상기 취득된 복수의 화상 데이터에 포함되는 경우, 상기 제11 화상 데이터보다 우선해서 상기 제10 화상 데이터가 선택되는, 제어 방법.
  16. 제 1 항에 있어서,
    상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내는 화상 데이터가, 상기 취득된 복수의 화상 데이터에 포함되어 있지 않은 경우, 상기 접수한 입력에 대응하는 오브젝트와 다른 오브젝트를 포함하는 화상을 나타내는 화상 데이터가 선택되는, 제어 방법.
  17. 제 1 항에 있어서,
    레이아웃 화상이 표시부에 표시됨으로써 출력되는, 제어 방법.
  18. 컴퓨터에 의해 실행될 때, 템플릿에 화상이 배치되는 레이아웃 화상을 작성하는 화상처리장치의 제어 방법을 컴퓨터에 실행시키는 컴퓨터 실행 가능한 명령들을 기억하는 컴퓨터 판독 가능한 기억매체로서, 상기 제어 방법은,
    각각 다른 오브젝트에 대응하는 복수의 입력 중의 하나의 입력을 유저로부터 접수하는 단계와,
    복수의 화상 데이터를 취득하는 단계와,
    상기 취득된 복수의 화상 데이터의 각각을 평가하는 단계와,
    상기 취득된 복수의 화상 데이터로부터, 상기 평가에 의거하여 적어도 1개의 화상 데이터를 선택하는 단계와,
    화상을 배치하기 위한 적어도 한 개의 슬롯을 갖는 템플릿의 정보를 취득하는 단계와,
    상기 선택된 화상 데이터가 나타내는 화상이 상기 취득된 정보에 대응하는 템플릿에 포함된 슬롯들 중의 미리 정해진 슬롯에 배치되는 레이아웃 화상을 출력하는 단계를 포함하고,
    상기 접수한 입력에 대응하는 오브젝트를 포함하는 화상을 나타내는 제1 화상 데이터와, 상기 접수한 입력에 대응하는 오브젝트를 포함하지 않는 화상을 나타내며, 또 상기 제1 화상 데이터보다 상기 평가가 더 높은 제2 화상 데이터가, 상기 취득된 복수의 화상 데이터에 포함되는 경우, 상기 제2 화상 데이터보다 우선해서 상기 제1 화상 데이터가 선택되는, 기억매체.
  19. 템플릿에 화상을 배치해서 레이아웃 화상을 작성하는 화상처리장치의 제어 방법으로서,
    레이아웃 화상에 각각 대응하는 복수의 레이아웃 화상으로 구성되는 앨범에 대하여, 각각 다른 오브젝트에 대응하는 복수의 모드 중의 하나의 모드를 지정하기 위한 입력을 유저로부터 접수하는 단계와,
    복수의 화상 데이터를 취득하는 단계와,
    상기 접수한 입력에 의해 지정된 모드에 대응하는 미리 정해진 오브젝트를 포함하는 화상을 나타내는 화상 데이터가, 상기 복수의 화상 데이터에 포함되는 경우, 상기 미리 정해진 오브젝트를 포함하는 화상이 템플릿에 배치되는 레이아웃 화상을 출력하는 단계를 포함하고,
    상기 미리 정해진 오브젝트는, 인물의 종류의 오브젝트, 동물의 종류의 오브젝트, 요리의 종류의 오브젝트, 꽃의 종류의 오브젝트, 건물의 종류의 오브젝트, 장식물의 종류의 오브젝트, 및 탈것의 종류의 오브젝트 중의 적어도 2개를 포함하는 오브젝트군 중의 하나의 오브젝트인, 제어 방법.
KR1020170167248A 2016-12-09 2017-12-07 제어방법 및 기억매체 KR102157494B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JPJP-P-2016-239738 2016-12-09
JP2016239738A JP6953128B2 (ja) 2016-12-09 2016-12-09 画像処理装置、制御方法、及びプログラム

Publications (2)

Publication Number Publication Date
KR20180066863A true KR20180066863A (ko) 2018-06-19
KR102157494B1 KR102157494B1 (ko) 2020-09-18

Family

ID=60673064

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170167248A KR102157494B1 (ko) 2016-12-09 2017-12-07 제어방법 및 기억매체

Country Status (5)

Country Link
US (1) US20180164984A1 (ko)
EP (1) EP3334144B1 (ko)
JP (1) JP6953128B2 (ko)
KR (1) KR102157494B1 (ko)
CN (1) CN108228114B (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10878592B2 (en) * 2018-05-23 2020-12-29 Apical Limited Video data processing
JP6603925B1 (ja) * 2018-06-22 2019-11-13 株式会社オープンエイト 動画編集サーバおよびプログラム
US11528429B2 (en) * 2018-09-12 2022-12-13 Sony Corporation Image processing device, and image processing method
CN109542440A (zh) * 2018-11-29 2019-03-29 金蝶软件(中国)有限公司 对窗口的操作方法和装置、计算机装置及可读存储介质
JP7341677B2 (ja) * 2019-02-28 2023-09-11 キヤノン株式会社 装置、方法、及びプログラム
JP7313862B2 (ja) * 2019-03-29 2023-07-25 キヤノン株式会社 情報処理装置、方法、及びプログラム
JP2021027555A (ja) * 2019-08-08 2021-02-22 キヤノン株式会社 画像処理装置、制御方法及びプログラム
EP3772848B1 (en) * 2019-08-08 2024-04-24 Canon Kabushiki Kaisha Program and method for generating a layout image by using a template generated based on features of image data to be laid out
JP2021069067A (ja) * 2019-10-28 2021-04-30 株式会社ソルトワークス 画像処理方法及び画像処理プログラム
JP6710884B2 (ja) * 2020-01-31 2020-06-17 株式会社オープンエイト サーバおよびプログラム
JP6730757B2 (ja) * 2020-01-31 2020-07-29 株式会社オープンエイト サーバおよびプログラム、動画配信システム
JP2022003445A (ja) * 2020-06-23 2022-01-11 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
CN112446337B (zh) * 2020-12-02 2022-10-11 电子科技大学 一种基于表情识别的智慧博物馆管理系统
CN116150421B (zh) * 2023-04-23 2023-07-18 深圳竹云科技股份有限公司 图像的展示方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044646A (ja) * 2010-07-22 2012-03-01 Fujifilm Corp 画像処理装置、画像処理方法およびプログラム
JP2013033453A (ja) * 2011-06-28 2013-02-14 Fujifilm Corp 画像処理装置、画像処理方法および画像処理プログラム
JP2014075778A (ja) * 2012-09-14 2014-04-24 Fujifilm Corp 合成画像作成システム、画像処理装置および画像処理方法
US8958662B1 (en) * 2014-08-20 2015-02-17 Interactive Memories, Inc. Methods and systems for automating insertion of content into media-based projects
JP2016164748A (ja) * 2015-03-06 2016-09-08 キヤノン株式会社 情報処理装置、プログラム、及び情報処理方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4998995B2 (ja) * 2007-06-08 2012-08-15 富士フイルム株式会社 アルバム作成装置および方法ならびにプログラム
JP5719406B2 (ja) * 2012-09-14 2015-05-20 富士フイルム株式会社 合成画像作成システム、画像処理装置および画像処理方法
JP2014085814A (ja) * 2012-10-23 2014-05-12 Canon Inc 情報処理装置及びその制御方法、プログラム
US8990672B1 (en) * 2014-08-25 2015-03-24 Interactive Memories, Inc. Flexible design architecture for designing media-based projects in a network-based platform
JP6033821B2 (ja) * 2014-09-12 2016-11-30 富士フイルム株式会社 画像処理装置、画像処理方法、プログラムおよび記録媒体
US9507506B2 (en) * 2014-11-13 2016-11-29 Interactive Memories, Inc. Automatic target box in methods and systems for editing content-rich layouts in media-based projects
JP6463996B2 (ja) * 2015-03-06 2019-02-06 キヤノン株式会社 情報処理装置、方法およびプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012044646A (ja) * 2010-07-22 2012-03-01 Fujifilm Corp 画像処理装置、画像処理方法およびプログラム
JP2013033453A (ja) * 2011-06-28 2013-02-14 Fujifilm Corp 画像処理装置、画像処理方法および画像処理プログラム
JP2014075778A (ja) * 2012-09-14 2014-04-24 Fujifilm Corp 合成画像作成システム、画像処理装置および画像処理方法
US8958662B1 (en) * 2014-08-20 2015-02-17 Interactive Memories, Inc. Methods and systems for automating insertion of content into media-based projects
JP2016164748A (ja) * 2015-03-06 2016-09-08 キヤノン株式会社 情報処理装置、プログラム、及び情報処理方法

Also Published As

Publication number Publication date
US20180164984A1 (en) 2018-06-14
CN108228114B (zh) 2022-02-11
CN108228114A (zh) 2018-06-29
JP6953128B2 (ja) 2021-10-27
EP3334144B1 (en) 2022-08-31
EP3334144A1 (en) 2018-06-13
JP2018097482A (ja) 2018-06-21
KR102157494B1 (ko) 2020-09-18

Similar Documents

Publication Publication Date Title
KR102157494B1 (ko) 제어방법 및 기억매체
EP3333804B1 (en) Image processing method, image processing apparatus, and program
EP3334141B1 (en) Method and program for album image layout arrangement considering image data source
JP7487362B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7286392B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6711937B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP7286393B2 (ja) 画像処理装置、画像処理方法、及びプログラム
JP6904692B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336211B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336209B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7027101B2 (ja) 情報処理装置、制御方法、及びプログラム
JP2021144618A (ja) 画像処理装置、画像処理方法、及びプログラム
JP7336212B2 (ja) 画像処理装置、制御方法、及びプログラム
JP7336210B2 (ja) 画像処理装置、制御方法、及びプログラム
JP6700806B2 (ja) プログラム、情報処理装置および制御方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant