CN107958012B - 程序生成方法、程序生成装置以及控制程序 - Google Patents

程序生成方法、程序生成装置以及控制程序 Download PDF

Info

Publication number
CN107958012B
CN107958012B CN201710785209.7A CN201710785209A CN107958012B CN 107958012 B CN107958012 B CN 107958012B CN 201710785209 A CN201710785209 A CN 201710785209A CN 107958012 B CN107958012 B CN 107958012B
Authority
CN
China
Prior art keywords
image
program
similar
input image
script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710785209.7A
Other languages
English (en)
Other versions
CN107958012A (zh
Inventor
高田和丰
森川幸治
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of CN107958012A publication Critical patent/CN107958012A/zh
Application granted granted Critical
Publication of CN107958012B publication Critical patent/CN107958012B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/5838Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90324Query formulation using system suggestions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Computational Linguistics (AREA)
  • Processing Or Creating Images (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

提供一种程序生成方法、程序生成装置以及控制程序,所述方法中:取得所显示的输入图像(步骤S11),访问数据库DB(步骤S12),从存储于数据库DB的多个图像中检索与输入图像类似的图像来作为类似图像(步骤S13),在数据库DB中,选择与类似图像关联的候选脚本(步骤S14),基于类似图像的检索结果算出候选脚本的确定度(步骤S15),根据确定度来变更候选脚本所包含的参数的值,生成提示用程序(步骤S16),通过执行所生成的提示用程序,使输入图像变化(步骤S17)。

Description

程序生成方法、程序生成装置以及控制程序
技术领域
本公开涉及生成计算机程序的程序生成方法等,所述计算机程序用于使图像变化。
背景技术
现在,提供了即使不记述源代码(source code)也能够用视觉性操作来编程的可视化编程(visual programming)语言。麻省理工学院(MIT)媒体实验室开发出的Scratch是面向孩子的可视化编程语言(参照非专利文献)。在该Scratch中,孩子等初学者能够进行编程而无需记忆正确的语法的书写方法等。例如,在Scratch中,预先准备了程序制作所需的几个命令来作为视觉块(visual block)。孩子等用户描绘图像,从该准备好的几个命令中选择应用于自己描绘的图像的一个或多个命令来进行组合。进而,用户编辑该选择出的命令的参数。由此,生成对该图像的计算机程序(脚本)。通过执行该计算机程序,用户所描绘的图像如动画那样变化。
在使用了这样的Scratch的程序生成方法中,能够制作有趣的交互动画(interactive animation)等,能够使孩子等产生学习编程的兴趣。
在先技术文献
非专利文献
非专利文献1:Scratch互联网<URL:https://scratch.mit.edu/>
发明内容
然而,在上述现有的程序生成方法中,存在计算机程序的生成花费工夫这一问题。
因此,本公开的非限定性例示的一个技术方案提供一种能够简单地生成用于使图像变化的计算机程序的程序生成方法。
本公开的一个技术方案涉及的程序生成方法(a)取得显示于显示器的输入图像,(b)访问记录介质,所述记录介质存储多个图像和与所述多个图像中的每一个进行了关联的、用于使该图像变化的计算机程序,(c)从存储于所述记录介质的所述多个图像中检索与所述输入图像类似的至少一个图像来作为类似图像,(d)在所述记录介质中,从检索到的至少一个所述类似图像中的每一个所关联的计算机程序中选择一个计算机程序来作为候选程序,(e)基于至少一个所述类似图像的检索结果算出所述候选程序相对于所述输入图像的确定度,(f)根据所述确定度来变更所述候选程序所包含的、表示与所述候选程序对应的类似图像的变化的程度的参数的值,由此生成提示用程序,
(g)通过执行所生成的所述提示用程序,使所述输入图像在所述显示器上变化。
此外,该总括或具体的技术方案既可以用装置、系统、集成电路、计算机程序或计算机可读取的记录介质来实现,也可以用装置、系统、方法、集成电路、计算机程序和记录介质的任意组合来实现。计算机可读取记录介质例如包含CD-ROM(Compact Disc-Read OnlyMemory)等非易失性记录介质。
根据本公开,能够简单地生成用于使图像变化的计算机程序。根据本说明书和附图可以清楚本公开的一个技术方案的附加益处和优点。该益处和/或优点可以通过本说明书和附图所公开的各种技术方案和特征而单独提供,无需为了得到其一个以上益处和/或优点而实施全部的技术方案和特征。
附图说明
图1是表示实施方式中的程序生成系统的构成的图。
图2是表示实施方式中的终端装置的显示器上所显示的画面的一例的图。
图3是表示实施方式中的命令列表的一例的图。
图4是表示实施方式中的程序生成装置的构成的框图。
图5是表示实施方式中的数据库所存储着的各数据的关联的图。
图6是表示由实施方式中的程序生成装置生成的脚本的一例的图。
图7是表示由实施方式中的程序生成装置生成的脚本的另一例的图。
图8是表示实施方式中的程序生成装置的整体处理工作的一例的流程图。
图9是表示图8的步骤S1200的脚本生成中的详细处理工作的一例的流程图。
图10是表示图9的步骤S1210的类似图像检索中的详细处理工作的一例的流程图。
图11是表示图9的步骤S1220的确定度算出中的详细处理工作的一例的流程图。
图12是表示图9的步骤S1220的确定度算出中的详细处理工作的另一例的流程图。
图13是表示图9的步骤S1230的参数生成中的详细处理工作的一例的流程图。
图14是表示利用实施方式中的程序生成装置在终端装置上显示的画面的迁移的一例的图。
图15是表示利用实施方式中的程序生成装置在终端装置上显示的画面的迁移的另一例的图。
图16是表示根据实施方式的变形例涉及的程序生成装置的提示用脚本而变化的输入图像的一例的图。
图17是表示本公开的一个技术方案涉及的程序生成方法的一例的流程图。
标号说明
100 程序生成装置
101 接口部
102 取得部
103 图像检索部
104 脚本选择部
105 确定度算出部
106 参数变更部
107 显示控制部
200 终端装置
200d 显示器
201 脚本生成画面
202 图像输入区域
203 脚本显示编辑区域
204a~204c 图像选择按钮
208 命令列表按钮
300 通信网络
1000 程序生成系统
B1 操作按钮
B2 操作按钮
DB 数据库
R 操作按钮
S 操作按钮
具体实施方式
(成为本公开的基础的见解)
本发明人发现了在“背景技术”一栏中记载的Scratch会产生以下问题。
如上所述,在Scratch中,准备了多种命令,所述多种命令是分别用于使图像变化的计算机程序。用户通过选择图像和/或使用输入单元(例如鼠标)描绘图像,使该图像作为输入图像显示在显示器上。接着,用户从预先准备的多种命令之中选择应用于该输入图像的至少一个命令。然后,用户设定所选择的至少一个命令的每一个所包含的参数。参数表示图像的变化的程度。由此,输入图像根据由该选择出的至少一个命令构成的脚本,进行与所设定的参数所示的程度相应的变化。
然而,为了从多种命令特意选择并组合应用于输入图像的命令,会导致用户花费工夫。因此,如果自动地生成应用于输入图像的程序(脚本),则能够大幅地削减该工夫。在此,为了自动地生成应用于输入图像的程序(脚本),可以考虑从预先准备的数据库中检索与该输入图像相适合的程序。例如,如果检索到多个与输入图像相适合的程序,则将该多个程序中的一个程序应用于输入图像。
但是,在该情况下,存在用户难以知晓该脚本的检索状况这一问题。也就是说,用户难以知晓除了应用于输入图像的程序以外,是还存在与该输入图像相适合的许多程序,还是相反地与该输入图像相适合的程序很少。换句话说,用户难以知晓从预先准备的许多程序数据中,是充分地缩减了作为目标的程序,还是相反地没有缩减。
为了解决这种问题,本公开的一个技术方案涉及的程序生成方法(a)取得显示于显示器的输入图像,(b)访问记录介质,所述记录介质存储多个图像和与所述多个图像中的每一个进行了关联的、用于使该图像变化的计算机程序,(c)从存储于所述记录介质的所述多个图像中检索与所述输入图像类似的至少一个图像来作为类似图像,(d)在所述记录介质中,从检索到的至少一个所述类似图像中的每一个所关联的计算机程序中选择一个计算机程序来作为候选程序,(e)基于至少一个所述类似图像的检索结果算出所述候选程序相对于所述输入图像的确定度,(f)根据所述确定度来变更所述候选程序所包含的、表示与所述候选程序对应的类似图像的变化的程度的参数的值,由此生成提示用程序,(g)通过执行所生成的所述提示用程序,使所述输入图像在所述显示器上变化。例如,所述参数是与所述候选程序对应的类似图像的移动距离、与所述候选程序对应的图像的大小的变化量或与所述候选程序对应的类似图像的颜色成分的变化量。
由此,检索与输入图像类似的至少一个图像来作为类似图像,从该至少一个类似图像中的每一个所关联的计算机程序中选择一个计算机程序来作为候选程序。而且,通过变更该候选程序的参数,生成应用于输入图像的提示用程序。也就是说,自动地生成应用于输入图像的提示用程序。因此,在显示器上描绘输入图像的用户无需将预先准备的多种命令组合来制作应用于该输入图像的计算机程序。其结果,能够简单地生成用于使输入图像变化的计算机程序。
另外,在本公开的一个技术方案涉及的程序生成方法中,根据基于至少一个类似图像的检索结果算出的确定度来变更候选程序的参数。在此,由于在记录介质中对多个图像中的每一个关联有计算机程序,所以该类似图像的检索相当于与输入图像相适合的计算机程序的检索。另外,参数表示图像的变化的程度。因此,当执行包括变更后的参数的提示用程序时,能够通过所显示的输入图像的变化的程度,直观地容易理解地向用户传达计算机程序的检索状况。也就是说,能够容易理解地向用户传达是从在记录介质中准备的许多计算机程序中将与输入图像相适合的计算机程序进行了充分地缩减,还是相反地没有进行缩减。例如,当用户知道未缩减时,进行向该输入图像追加图形等修正。此时,能够进一步缩减计算机程序,生成与输入图像更相适合的计算机程序来作为提示用程序。也就是说,能够简单地生成适合于输入图像的计算机程序。
另外,也可以是,在所述(d)中,选择与检索到的至少一个所述类似图像中的、最类似于所述输入图像的图像所关联的计算机程序来作为所述候选程序。
由此,能够适当地选择成为提示用程序的基础的候选程序。
另外,也可以是,检索到的至少一个所述类似图像的数量越多则所述确定度是越小的值,所述类似图像的数量越少则所述确定度是是越大的值。例如,也可以是,在所述(e)中,通过从1减去检索到的至少一个所述类似图像的数量相对于存储于所述记录介质的所述多个图像的数量的比例,算出所述确定度。或者,也可以是,在所述(e)中,在检索到的至少一个所述类似图像的数量为阈值以上的情况下,算出表示第一值的所述确定度,在检索到的至少一个所述类似图像的数量小于所述阈值的情况下,算出表示比所述第一值大的第二值的所述确定度。
由此,如果计算机程序的缩减不充分,则确定度成为小的值,如果该缩减充分,则确定度成为大的值。因此,例如,在通过将确定度与参数相乘从而变更该参数的情况下,如果缩减不充分,则能够减小参数,能够将输入图像的变化抑制为小。相反地,如果缩减充分,能够增大参数,能够增大输入图像的变化。其结果,能够更直观地容易理解地向用户传达计算机程序的检索状况。
另外,也可以是,在所述(g)中,还通过使根据所述提示用程序而变化的所述输入图像还原为原样,并再次执行所述提示用程序,从而使显示于所述显示器的所述输入图像反复变化。
例如,在输入图像仅变化一次的情况下,当该变化的程度小时,用户难以注意到生成并执行了提示用程序这一情况。但是,在本公开的一个技术方案涉及的程序生成方法中,由于反复进行输入图像的变化,所以即使该变化的程度小,用户也能够容易地注意到生成并执行了提示用程序这一情况。其结果,能够直观地更容易理解地向用户传达计算机程序的检索状况。
另外,也可以是,所述程序生成方法还(h)将所生成的所述提示用程序显示在所述显示器上。
由此,由于将提示用程序显示在显示器上,所以能够学习用于使输入图像变化的编程。另外,由于也显示提示用程序的参数,所以用户能够对该参数和所显示的输入图像的变化的程度进行比较,能够基于比较结果判断该参数的修正的必要性。
另外,本公开的另一技术方案涉及的程序生成方法包括:(a)取得显示于显示器的输入图像,(b)访问记录介质,所述记录介质存储多个图像和与所述多个图像中的每一个进行了关联的、用于使该图像变化的计算机程序,(c)从存储于所述记录介质的所述多个图像中检索与所述输入图像类似的至少一个图像来作为类似图像,(d)基于在所述记录介质中检索到的至少一个所述类似图像中的每一个所关联的计算机程序,生成用于使输入图像变化的计算机程序来作为候选程序,(e)基于至少一个所述类似图像的检索结果算出所述候选程序相对于所述输入图像的确定度,(f)根据算出的所述确定度使所述输入图像在所述显示器上变化。
即使是这样的技术方案,也能够与上述同样地,简单地生成适合于输入图像的计算机程序。
以下,参照附图,具体地说明实施方式。
此外,以下说明的实施方式均为示出总括或具体的例子的实施方式。在以下实施方式中示出的数值、形状、材料、构成要素、构成要素的配置位置以及连接方式、步骤、步骤的顺序等均为一例,并不意图限定本公开。另外,关于以下实施方式的构成要素中的、在表示最上位概念的独立权利要求中没有记载的构成要素,作为任意的构成要素进行说明。
另外,各图为示意图,并不是严格地进行了图示的图。另外,在各图中,对相同的构成部件赋予相同的标号。
(实施方式)
[系统]
图1表示本实施方式中的程序生成系统的构成。
本实施方式中的程序生成系统1000例如,如图1所示,具备程序生成装置100、多个终端装置200以及通信网络300。
多个终端装置200例如分别由个人计算机、智能手机或平板终端等构成。另外,这些终端装置200根据用户的操作,在该终端装置200的显示器200d上显示输入图像。
通信网络300例如是WAN(Wide Area Network:广域网)、LAN(Local AreaNetwork:局域网)或互联网等,以能够相互通信的方式将程序生成装置100与多个终端装置200中的每一个连接。
程序生成装置100经由通信网络300与终端装置200进行通信,并生成用于使显示在终端装置200的显示器200d上的输入图像变化的计算机程序。本实施方式中的程序生成装置100生成脚本来作为计算机程序。
图2表示显示在终端装置200的显示器200d上的画面的一例。
程序生成装置100经由通信网络300,在终端装置200的显示器200d上显示用于生成脚本的脚本生成画面201。
脚本生成画面201包括:图像输入区域202、脚本显示编辑区域203、图像选择按钮204a~204c、操作按钮S、B1、B2以及命令列表按钮208。
在图像输入区域202中,显示有根据用户对终端装置200的操作而描绘出的输入图像im1~im3。此外,以下,将用户对终端装置200的操作称为输入操作。
图像选择按钮204a~204c分别用于选择显示于图像输入区域202的输入图像im1~im3。例如,当根据输入操作而选择图像选择按钮204a时,选择显示于图像输入区域202的输入图像im1~im3中的输入图像im1来作为处理对象图像。例如,如果进行输入操作,则程序生成装置100对该处理对象图像进行与该输入操作对应的处理。具体而言,程序生成装置100使对处理对象图像生成的脚本显示在终端装置200的显示器200d上,进行处理对象图像或该脚本的修正或编辑。此外,也可以是,对于新描绘的输入图像,即使没有对图像选择按钮的选择,程序生成装置100也将该输入图像作为处理对象图像来处理。
在脚本显示编辑区域203中显示有对处理对象图像生成的脚本。另外,根据输入操作,修正或编辑在脚本显示编辑区域203中显示的脚本所包含的参数。
操作按钮S用于使脚本显示编辑区域203显示由程序生成装置100生成的脚本。也就是说,当通过输入操作选择操作按钮S时,终端装置200经由通信网络300向程序生成装置100指示脚本的显示。当程序生成装置100从终端装置200接受该指示时,例如将对处理对象图像生成的脚本显示在脚本生成画面201的脚本显示编辑区域203中。
操作按钮B1用于进行在图像输入区域202中显示的处理对象图像的修正或编辑。也就是说,当通过输入操作选择操作按钮B1时,终端装置200经由通信网络300向程序生成装置100指示处理对象图像的修正。当程序生成装置100从终端装置200接受该指示时,成为等待来自该终端装置200的、与输入操作相应的对处理对象图像的修正或编辑的状态。
操作按钮B2用于在图像输入区域202中进行新的输入图像的追加。也就是说,当通过输入操作选择操作按钮B2时,终端装置200经由通信网络300向程序生成装置100指示新的输入图像的追加。当程序生成装置100从终端装置200接受该指示时,成为等待根据输入操作而新描绘的输入图像的状态。终端装置200也成为受理新的输入图像的描绘的状态,并将根据之后的输入操作而描绘的新的输入图像显示在图像输入区域202中。
命令列表按钮208用于显示命令列表(也称为脚本控制函数列表),所述命令列表包括能够在程序生成装置100中利用的多种命令。也就是说,当通过输入操作选择该命令列表按钮208时,终端装置200经由通信网络300向程序生成装置100指示命令列表的显示。当程序生成装置100从终端装置200接受该指示时,将命令列表显示在终端装置200的显示器200d上。也可以是,终端装置200根据输入操作,从该命令列表之中选择应用于输入图像的命令。
图3表示命令列表的一例。
例如,命令列表包括:属于“移动”的多种命令、属于“外观”的多种命令、属于“声音”的多种命令、属于“文字”的多种命令以及属于“控制”的多种命令等。
属于“移动”的命令是用于移动输入图像的计算机程序。例如,属于“移动”的命令有“将x坐标逐次改变[p1]”命令和“向左旋转[p5]度”命令等。另外,属于“控制”的命令有“反复进行[p17]次”命令等。在此,各命令所包含的[pn](n为1以上的整数)是表示图像的变化和声音等的变化的程度的参数。在本实施方式中,各命令所包含的参数被预先确定。
也可以是,在根据输入操作从图3所示的命令列表中选择了命令的情况下,本实施方式中的程序生成装置100根据输入操作来变更该选择出的命令的参数,由此生成应用于输入图像的新脚本。
[装置构成]
图4是表示本实施方式中的程序生成装置100的构成的框图。
程序生成装置100是生成用于使图像变化的计算机程序来作为脚本的装置。该程序生成装置100具备接口部101、取得部102、图像检索部103、脚本选择部104、确定度算出部105、参数变更部106以及显示控制部107。此外,程序生成装置100具备的上述各构成要素中,除了接口部101以外,取得部102、图像检索部103、脚本选择部104、确定度算出部105、参数变更部106以及显示控制部107具备于处理电路中。
接口部101具有用于供程序生成装置100的图像检索部103和脚本选择部104访问数据库DB的功能。具体而言,接口部101是USB(Universal Serial Bus:通用串行总线)端子、HDMI(注册商标)(High-Definition Multimedia Interface:高清晰度多媒体接口)端子或无线通信设备等。数据库DB是存储多个图像和与该多个图像中的每一个进行了关联的、用于使该图像变化的脚本的记录介质。此外,存储于数据库DB的多个脚本中的每一个相当于上述命令列表所包含的一个命令或多个命令的组合。
取得部102取得描绘在终端装置200的显示器200d上的图像来作为输入图像。另外,取得部102从终端装置200取得与操作按钮S的选择等输入操作对应的指示。
图像检索部103经由接口部101访问数据库DB。而且,图像检索部103从存储于数据库DB的多个图像中检索与取得部102取得的输入图像类似的至少一个图像来作为类似图像。
脚本选择部104经由接口部101访问数据库DB。而且,脚本选择部104在数据库DB中,从检索到的至少一个类似图像中的每一个所关联的脚本中,选择一个脚本来作为候选脚本(即候选程序)。具体而言,脚本选择部104选择与检索到的至少一个类似图像中的、与输入图像最类似的图像所关联的脚本来作为候选脚本。
确定度算出部105基于由图像检索部103检索到的至少一个类似图像的检索结果,算出候选脚本相对于输入图像的确定度。
参数变更部106从脚本选择部104取得候选脚本,从确定度算出部105取得确定度。而且,参数变更部106根据确定度变更该候选脚本所包含的表示图像的变化的程度的参数,由此生成提示用脚本(即提示用程序)。参数例如是图像的移动距离、图像的大小的变化量或图像的颜色成分的变化量等。例如,图3所示的各命令中的“将x坐标逐次改变[p1]”命令所包含的参数p1是图像的移动距离。另外,“大小逐次改变[p8]”命令所包含的参数p8是图像的大小的变化量。另外,“颜色(亮度)逐次改变[p7]”命令所包含的参数p7是图像的颜色成分的变化量。
显示控制部107通过执行所生成的提示用脚本,使显示在终端装置200的显示器200d上的输入图像变化。另外,显示控制部107将所生成的提示用脚本显示在终端装置200的显示器200d。
[数据库]
图5表示本实施方式中的存储于数据库DB的各数据的关联。
如上所述,数据库DB存储有多个图像和与该多个图像中的每一个关联的、用于使该图像变化的脚本。向存储于数据库DB的各图像赋予图像ID,所述图像ID是用于识别该图像的识别符。进而,也向存储于数据库DB的各脚本赋予脚本ID,所述脚本ID是用于识别该脚本的识别符。因此,在数据库DB中,例如,如图5所示,具有图像ID“I_x_P1_1”的图像关联有具有脚本ID“Script_x_P1_1”的脚本。另外,具有图像ID“I_x_P1_2”的图像关联有具有脚本ID“Script_x_P1_2”的脚本。
此外,在本实施方式中,由至少一个图像和与该至少一个图像中的每一个关联的脚本的组合构成项目(project)。另外,这样的项目例如由各终端装置200的用户生成,并存储于数据库DB。也就是说,由通过用户在图像输入区域202描绘出的全部输入图像和对这些输入图像生成的脚本构成项目。而且,该项目存储于数据库DB。因此,在数据库DB中,对各项目赋予项目ID,所述项目ID是用于识别该项目的识别符。并且,对生成项目的用户赋予用户ID,所述用户ID是用于识别该用户的识别符。在数据库DB中,多个图像ID按该项目ID分组,并且,多个项目ID按该用户ID分组。也就是说,一个项目所包含的至少一个图像中的每一个与该项目关联,由用户生成的至少一个项目与该用户关联。
图6表示由程序生成装置100生成的脚本的一例。此外,虽然图6表示脚本生成画面201,但省略图像输入区域202和脚本显示编辑区域203以外的构成。
例如,用户通过输入操作在图像输入区域202中描绘箭头的图像im2。程序生成装置100的取得部102取得该图像im2来作为输入图像,图像检索部103从数据库DB中检索与该输入图像im2类似的图像来作为类似图像。本实施方式中的程序生成装置100生成与该类似图像的检索结果对应的提示用脚本。
例如,有时类似图像有许多(例如数万张),对输入图像im2的类似图像的缩减并不充分。
此时,程序生成装置100的脚本选择部104选择与输入图像im2最类似的图像所关联的脚本来作为候选脚本。例如,候选脚本由“将x坐标逐次改变[12]”、“向左方旋转[40]度”以及“反复进行[12]次”构成。此外,这些脚本包括的括号内的数值是表示图像的变化的程度的参数。在该情况下,如图6所示,程序生成装置100根据缩减的状况来变更该候选脚本的参数。例如,由于缩减不充分,所以程序生成装置100的参数变更部106减小该参数。由此,参数变更部106生成由“将x坐标逐次改变[3]”、“向左方旋转[10]度”以及“反复进行[3]次”构成的新脚本来作为提示用脚本。然后,程序生成装置100的显示控制部107将该生成的提示用脚本显示在脚本显示编辑区域203,并执行该提示用脚本。其结果,显示于图像输入区域202的输入图像im2按照该脚本变化。
由于输入图像im2的变化的程度小,所以观察到这样的输入图像im2的变化的用户能够容易地获知对输入图像im2检索到的脚本的缩减不充分这一情况。
图7表示由程序生成装置100生成的脚本的另一例。此外,与图6同样地,虽然图7表示脚本生成画面201,但省略图像输入区域202和脚本显示编辑区域203以外的构成。
当用户知道没有充分地进行脚本的缩减时,想要对输入图像im2生成更适合的脚本。因此,用户例如选择图2所示的操作按钮B1,如图7所示,修正显示在图像输入区域202的箭头的输入图像im2。程序生成装置100的取得部102取得该修正后的输入图像im2,图像检索部103从数据库DB中检索与该修正后的输入图像im2类似的图像来作为类似图像。此时,例如,类似图像少(例如20张),对输入图像im2的类似图像的缩减变得充分。
在该情况下,程序生成装置100的脚本选择部104也与上述同样地,选择与修正后的输入图像im2最类似的图像所关联的脚本来作为候选脚本。例如,候选脚本由“将x坐标逐次改变[12]”、“向左方旋转[40]度”以及“反复进行[12]次”构成。而且,如图7所示,程序生成装置100根据缩减的状况变更该候选脚本的参数。
但是,与图6所示的例子不同,由于缩减充分,所以程序生成装置100的参数变更部106比图6所示的例子要降低参数的缩小率。也就是说,参数变更部106生成由“将x坐标逐次改变[10]”、“向左方旋转[30]度”以及“反复进行[10]次”构成的新脚本来作为提示用脚本。而且,程序生成装置100的显示控制部107将该生成的提示用脚本显示在脚本显示编辑区域203,并执行该提示用脚本。其结果,显示在图像输入区域202的修正后的输入图像im2按照该脚本很大地变化。
由于图7所示的输入图像im2的变化的程度大,所以用户能够容易地获知充分地进行了类似图像的缩减即脚本的缩减这一情况。也就是说,用户能够容易地获知对输入图像im2生成了更适合的脚本。
这样,在本实施方式中的程序生成装置100中,检索到的类似图像的数量越少,则提示用脚本的参数就变得越大。因此,能够直观地向用户提示类似图像的缩减状况,即候选脚本的缩减状况。
[整体工作]
图8是表示程序生成装置100的整体处理工作的一例的流程图。
(步骤S1100)
程序生成装置100首先从终端装置200中取得输入图像。
(步骤S1200)
接着,当从该输入图像的取得起经过预先确定的期间(以下称为判定期间)时,程序生成装置100开始对该输入图像的脚本的生成。该脚本是上述的提示用脚本。另外,判定期间是用于判定是否开始脚本的生成的期间。即,程序生成装置100待机(等待)该判定期间,而不是在取得输入图像时就立刻开始提示用脚本的生成,在该判定期间受理输入图像的修正。当受理该修正时,也就是说,当取得修正后的输入图像时,程序生成装置100要再次待机(等待)该判定期间。然后,当经过该判定期间时,程序生成装置100按上述方式开始提示用脚本的生成。此外,也可以是,在从终端装置200受理了脚本的生成的指示时,程序生成装置100在受理该指示的定时开始脚本的生成,而不待机到该判定期间经过。
(步骤S1300)
接着,程序生成装置100执行已生成的提示用脚本。
(步骤S1400)
接着,程序生成装置100判定是否有来自终端装置200的提示用脚本的修正指示。在此,在判定为有修正指示时(步骤S1400为是),程序生成装置100进入步骤S1700的处理。另一方面,在判定为没有修正指示时(步骤S1400为否),程序生成装置100进入步骤S1500的处理。
(步骤S1500)
程序生成装置100判定是否有来自终端装置200的、在步骤S1100中取得的输入图像的修正指示。例如,在选择了脚本生成画面201的操作按钮B1的情况下,程序生成装置100判定为有输入图像的修正指示。在此,在判定为有修正指示时(步骤S1500为是),程序生成装置100进入步骤S1800的处理。另一方面,在判定为没有修正指示时(步骤S1500为否),程序生成装置100进入步骤S1600的处理。
(步骤S1600)
程序生成装置100判定是否有来自终端装置200的、新的输入图像的追加指示。例如,在选择了脚本生成画面201的操作按钮B2的情况下,程序生成装置100判定为有新的输入图像的追加指示。在此,在判定为有追加指示时(步骤S1600为是),程序生成装置100再次执行从步骤S1100起的处理。另一方面,在判定为没有追加指示时(步骤S1600为否),程序生成装置100结束与脚本的生成相关的全部处理。
(步骤S1700)
当在步骤S1400中判定为有提示用脚本的修正指示时,程序生成装置100根据用户的输入操作修正该提示用脚本。然后,程序生成装置100进入步骤S1300的处理。
(步骤S1800)
当在步骤S1500中判定为有输入图像的修正指示时,程序生成装置100根据用户的输入操作修正该输入图像。然后,程序生成装置100进入步骤S1200的处理。
本实施方式中的程序生成装置100通过进行上述步骤S1100~S1800的处理,生成由分别根据脚本变化的至少一个图像构成的项目。
[脚本生成]
图9是表示图8的步骤S1200的脚本生成中的详细处理工作的一例的流程图。
(步骤S1210)
程序生成装置100的图像检索部103经由取得部102从终端装置200取得输入图像,并经由接口部101访问数据库DB。然后,图像检索部103从存储于数据库DB的多个图像中检索与该输入图像类似的至少一个图像来作为类似图像。
(步骤S1220)
接着,确定度算出部105基于由图像检索部103检索到的至少一个类似图像的检索结果,算出候选脚本的确定度。例如,确定度是,检索到的至少一个类似图像的数量越多则越小,类似图像的数量越少则越大的值。
(步骤S1230)
接着,脚本选择部104经由接口部101访问数据库DB。然后,脚本选择部104在数据库DB中,从检索到的至少一个类似图像中的每一个所关联的脚本中,选择一个脚本来作为候选脚本。然后,参数变更部106从该候选脚本中提取表示图像的变化的程度的参数,并根据在步骤S1220中算出的确定度来变更该参数。由此,生成新的参数。
(步骤S1240)
接着,参数变更部106通过将候选脚本所包含的参数置换为在步骤S1230中进行了变更的参数,从而生成提示用脚本。
[图像检索]
图10是表示图9的步骤S1210的类似图像检索中的详细处理工作的一例的流程图。
(步骤S1211)
程序生成装置100的图像检索部103经由取得部102从终端装置200取得输入图像。
(步骤S1212)
图像检索部103算出该输入图像的特征量。该特征量例如通过SIFT(Scale-Invariant Feature Transform:尺度不变特征变换)或SURF(Speeded Up RobustFeatures:加速鲁棒特征)等作为矢量算出。
(步骤S1213)
图像检索部103经由接口部101访问数据库DB。然后,图像检索部103从存储于数据库DB的多个图像中选择任意图像来作为选择图像。
(步骤S1214)
图像检索部103算出表示输入图像的特征量的矢量与表示选择图像的特征量的矢量之间的距离来作为图像间距离L。此外,表示选择图像的特征量的矢量可以预先保存于数据库DB,另外,图像检索部103可以算出该选择图像的特征量来作为矢量。另外,图像间距离L例如是余弦距离。此外,也可以是,数据库DB将数据库DB存储的多个图像中的每一个的特征量与该图像关联并保持。在图像检索部103从存储于数据库DB的多个图像中选择任意图像来作为选择图像的情况下,图像检索部103可以从数据库DB中与该选择图像关联地取得与该选择图像对应的特征量。
(步骤S1215)
图像检索部103判定该算出的图像间距离L是否为预先确定的阈值以上。当判定为图像间距离L为阈值以上时(步骤S1215为是),图像检索部103进入步骤S1216的处理。另一方面,当判定为图像间距离L小于阈值时(步骤S1215为否),图像检索部103进入步骤S1217的处理。
(步骤S1216)
当在步骤S1215中判定为图像间距离L为阈值以上时,即,当判定为选择图像与输入图像类似时,图像检索部103将该选择图像作为类似图像追加到列表。具体而言,图像检索部103将该类似图像的图像ID和对该类似图像算出的图像间距离L追加到列表。以下,将该列表称为类似图像列表。此外,也可以是,图像检索部103保持类似图像列表。
(步骤S1217)
图像检索部103判定是否已选择存储于数据库DB的全部图像。在此,当图像检索部103判定为没有选择全部图像时(步骤S1217为否),返回从步骤S1213起的处理。另一方面,当图像检索部103判定为已选择全部图像时(步骤S1217为是),结束类似图像的检索。当结束该类似图像的检索时,相对于输入图像的上述类似图像列表完成。
图11是表示图9的步骤S1220的确定度算出中的详细处理工作的一例的流程图。
(步骤S1221)
程序生成装置100的确定度算出部105从图像检索部103取得类似图像列表。
(步骤S1222)
确定度算出部105对该类似图像列表所包含的类似图像的数量进行计数。该计数得到的数量例如是a张。
(步骤S1223)
确定度算出部105取得存储于数据库DB的图像的数量。该取得的数量例如是b张。确定度算出部105既可以从数据库DB取得该图像的数量,也可以从数据库DB以外的记录介质取得。
(步骤S1224)
确定度算出部105使用在步骤S1222中计数得到的a张和在步骤S1223中取得的b张,例如根据Sk=1-a/b,算出候选脚本的确定度Sk。也就是说,确定度Sk是比0大且比1小的值。这样,本实施方式中的确定度算出部105通过从1减去检索到的至少一个类似图像的数量相对于存储于数据库DB的多个图像的数量的比例,从而算出确定度Sk。此外,确定度Sk可以是与类似图像的数量成反比的值,例如,可以根据Sk=b/a算出。
图12是表示图9的步骤S1220的确定度算出中的详细处理工作的另一例的流程图。
(步骤S1225)
程序生成装置100的确定度算出部105从图像检索部103取得类似图像列表。
(步骤S1226)
确定度算出部105对该类似图像列表所包含的类似图像的数量进行计数。该计数得到的数量例如是a张。
(步骤S1227)
确定度算出部105判定在步骤S1226中计数的a张是否为阈值以上。在此,当判定为小于阈值时(步骤S1227为否),确定度算出部105进入步骤S1228的处理。另一方面,当判定为是阈值以上时(步骤S1227为是),确定度算出部105进入步骤S1229的处理。此外,阈值例如可以是存储于数据库DB的图像的张数b的0.1%的值。
(步骤S1228)
由于类似图像的数量比阈值少,也就是说,由于充分地进行了来自数据库DB的类似图像的缩减,所以确定度算出部105将候选脚本的确定度Sk设定为比较高的值S1。
(步骤S1229)
由于类似图像的数量比阈值多,也就是说,由于未充分地进行来自数据库DB的类似图像的缩减,所以确定度算出部105将候选脚本的确定度Sk设定为比较低的值S2(<S1)。
这样,本实施方式中的确定度算出部105可以在检索到的至少一个类似图像的数量为阈值以上的情况下,算出表示值S2的确定度Sk。然后,确定度算出部105可以在检索到的至少一个类似图像的数量小于阈值的情况下,算出表示比该值S2大的S1的确定度Sk。
图13是表示图9的步骤S1230的参数生成中的详细处理工作的一例的流程图。
(步骤S1231)
脚本选择部104从图像检索部103取得类似图像列表。然后,脚本选择部104从该类似图像列表所示的至少一个类似图像之中,选择与输入图像最类似的一个图像来作为最类似图像。具体而言,脚本选择部104选择类似图像列表所示的至少一个类似图像的图像ID中的、与最大的图像间距离L关联的图像ID来作为最类似图像的图像ID。
(步骤S1232)
脚本选择部104从存储于数据库DB的多个脚本中选择该最类似图像(具体而言是最类似图像的图像ID)所关联的脚本来作为候选脚本。然后,脚本选择部104向参数变更部106输出该候选脚本。
(步骤S1233)
参数变更部106从脚本选择部104取得候选脚本,并提取该候选脚本所包含的参数p。
(步骤S1234)
参数变更部106还取得由确定度算出部105算出的确定度Sk。
(步骤S1235)
参数变更部106根据在步骤S1234中取得的确定度Sk变更在步骤S1233中提取的参数p。例如,参数变更部106根据pm=p×Sk,将参数p变更为参数pm。
此外,如图9所示的步骤S1240所示,候选脚本的参数p由参数变更部106置换为参数pm。其结果,生成包括参数pm的提示用脚本。
图14表示利用本实施方式中的程序生成装置100在终端装置200上显示的画面的迁移的一例。
例如,如图14的(a)所示,用户通过输入操作描绘输入图像im2。该描绘出的输入图像im2显示在脚本生成画面201的图像输入区域202。
在此,从输入图像im2的描绘起经过上述判定期间时,如图14的(b)所示,程序生成装置100开始提示用脚本的生成。此时,程序生成装置100将进度指示器PI显示在图像输入区域202中,所述进度指示器PI表示正在进行提示用脚本的生成这一情况。
然后,当提示用脚本的生成完成时,如图14的(c)所示,程序生成装置100通过执行该提示用脚本,使显示于图像输入区域202的输入图像im2变化。
接着,例如,如图4的(d)所示,根据用户的输入操作,选择脚本生成画面201的操作按钮B1。此时,终端装置200向程序生成装置100指示输入图像im2的修正或编辑。受理了该指示的程序生成装置100返回图14的(a)所示的使脚本生成画面201显示在终端装置200的显示器200d的状态,并受理输入图像im2的修正或编辑。
或者,例如,如图4的(d)所示,根据用户的输入操作,选择脚本生成画面201的操作按钮B2。此时,终端装置200向程序生成装置100指示新的输入图像的追加。受理了该指示的程序生成装置100返回图14的(a)所示的使脚本生成画面201显示在终端装置200的显示器200d的状态,并受理新的输入图像。
或者,例如,如图4的(d)所示,根据用户的输入操作,选择脚本生成画面201的操作按钮S。此时,终端装置200向程序生成装置100指示提示用脚本的显示。如图14的(e)所示,受理了该指示的程序生成装置100将所生成的提示用脚本显示在脚本生成画面201的脚本显示编辑区域203。
在图14所示的例子中,程序生成装置100最后从取得输入图像起经过待机期间后,自动地开始提示用脚本的生成。但是,程序生成装置100也可以根据来自用户的明示的指示,开始提示用脚本的生成。
图15表示利用本实施方式中的程序生成装置100在终端装置200上显示的画面的迁移的另一例。
如图15的(a)~(f)所示,程序生成装置100使操作按钮R显示在脚本生成画面201上。该操作按钮R用于向程序生成装置100指示脚本的生成开始。
如图15的(a)所示,用户通过输入操作描绘输入图像im2。该描绘出的输入图像im2显示在脚本生成画面201的图像输入区域202。
在用户想生成对输入图像im2的脚本的情况下,如图15的(b)所示,通过输入操作选择操作按钮R。此时,例如,该操作按钮R的显示颜色可以变化。当操作按钮R被选择时,终端装置200向程序生成装置100指示提示用脚本的生成开始。
其结果,如图15的(c)所示,程序生成装置100开始提示用脚本的生成。例如,如图14所示的例子同样地,程序生成装置100将进度指示器PI显示在图像输入区域202中,所述进度指示器PI表示正在进行提示用脚本的生成这一情况。
然后,当提示用脚本的生成完成时,如图15的(d)所示,程序生成装置100通过执行该提示用脚本,使显示于图像输入区域202的输入图像im2变化。
之后,与图14的(d)和(e)同样地,如图15的(e)和(f)所示,程序生成装置100变更脚本生成画面201的显示。
这样,在本实施方式中的程序生成装置100中,能够简单地生成用于使输入图像变化的脚本。进而,通过根据所生成的脚本而变化的输入图像的变化程度,能够容易理解地向用户传达该脚本的缩减状况。
(变形例)
在上述实施方式中,在生成了提示用脚本时,程序生成装置100执行一次该提示用脚本。在本变形例中,不是执行一次,而是反复执行该提示用脚本。另外,在本变形例中,也使用项目(project)来缩减类似图像。
图16是表示根据本变形例涉及的程序生成装置100的提示用脚本而变化的输入图像的一例的图。
本变形例涉及的程序生成装置100的显示控制部107反复执行由参数变更部106生成的提示用脚本。即,显示控制部107通过使根据提示用脚本变化的输入图像还原为原样(恢复原样),并再次执行该提示用脚本,从而使显示于显示器200d的输入图像反复变化。
例如,如图16的(a)所示,在图像输入区域202中描绘了表示球的输入图像im6的情况下,脚本选择部104选择使该输入图像im6移动的候选脚本。然后,通过参数变更部106根据上述检索结果来变更该候选脚本所包含的、表示移动距离的参数,从而生成提示用脚本。显示控制部107通过执行该生成的提示用脚本,使显示于图像输入区域202的输入图像im6移动。在此,本变形例涉及的显示控制部107还使通过该提示用脚本移动的输入图像im6返回到原来的位置,并再次执行提示用脚本。由此,使显示于图像输入区域202的输入图像im6反复变化。
由此,由于反复进行输入图像im6的移动,所以即使其移动范围即动作范围较小,用户也能够容易地注意到生成并执行了提示用脚本这一情况。结果,能够直观地更容易理解地向用户传达脚本的检索状况。
另外,在该输入图像im6的动作范围小的情况下,用户判断为脚本的缩减不充分。此时,用户可以在图像输入区域202描绘新的输入图像。
例如,如图16的(b)所示,在表示球的输入图像im6的旁边,描绘表示球拍的新的输入图像im7。此时,程序生成装置100的图像检索部103对输入图像im7也进行类似图像的检索。进而,图像检索部103从数据库DB之中检索包括输入图像im6的类似图像和输入图像im7的类似图像的项目。由此,进一步缩减表示球的输入图像im6的类似图像。其结果,确定度算出部105算出表示大的值的确定度Sk。因此,与图16的(a)所示的情况相比,作为候选脚本所包含的参数的移动距离不会被变更为短。因此,参数变更部106生成包括长的移动距离来作为参数的提示用脚本。显示控制部107通过执行该提示用脚本,使显示于图像输入区域202的输入图像im6大大地移动。也就是说,输入图像im6的动作范围变大。
由此,描绘于图像输入区域202的输入图像的数量越增加,即,项目所包含的输入图像的数量越增加,就越能够缩减脚本,越能够简单地生成与输入图像更适合的脚本。
(其他变形例)
<1.使用方差算出确定度>
在上述实施方式中,使用检索到的类似图像的数量算出了候选脚本的确定度,但也可以使用检索到的至少一个类似图像中的每一个的图像间距离L的方差算出确定度。例如,方差越大,则确定度算出部105算出越小的值来作为确定度,方差越小,则确定度算出部105算出越大的值来作为确定度。具体而言,确定度算出部105算出与方差成反比的值来作为确定度。或者,如果方差小于阈值,则确定度算出部105算出大的值的确定度,如果方差为阈值以上,则确定度算出部105算出小的值的确定度。
<2.调整输入图像变化的时间>
另外,在上述实施方式中通过根据确定度来变更候选脚本所包含的参数从而生成提示用脚本,但也可以不生成这样的提示用脚本。例如,显示控制部107显示该候选脚本来作为提示用脚本,而不变更候选脚本的参数。在该情况下,显示控制部107基于根据候选脚本进行的输入图像的变化所花费的既定时间和确定度,算出变化提示时间,并使输入图像在该变化提示时间内变化。既定时间是与候选脚本所包含的参数不同的预先确定的时间。在确定度小的情况下,显示控制部107算出比既定时间短的变化提示时间,以输入图像在该变化提示时间内变化的方式执行候选脚本。其结果,输入图像以快进的方式变化。相反地,在确定度大的情况下,显示控制部107算出比确定度小的情况下要长的变化提示时间,以输入图像在该变化提示时间内变化的方式执行候选脚本。由此,输入图像比确定度小的情况下要缓慢地变化。
这样,由于根据确定度变更变化提示时间,所以能够直观地容易理解地向用户传达脚本的缩减状况。
<3.以预先确定的方式变化>
另外,也可以是,在确定度小的情况下,显示控制部107使显示于图像输入区域202的输入图像以预先确定的方式变化。例如,显示控制部107使该输入图像振动。通过这样的振动,能够对用户传达对输入图像的脚本未确定这一情况。另外,在该情况下,脚本选择部104无需选择候选脚本。
<4.选择多个候选脚本>
另外,在上述实施方式中选择与输入图像最类似的最类似图像所关联的一个脚本来作为候选脚本,但也可以选择多个候选脚本。例如,脚本选择部104从类似图像列表所示的多个类似图像之中,从图像间距离L最大的类似图像起,按降序选择N(N为2以上的整数)个类似图像。而且,脚本选择部104从数据库DB中选择与该选择出的N个类似图像中的每一个关联的脚本。
接着,脚本选择部104生成该选择出的N个脚本的总和来作为候选脚本。或者,脚本选择部104生成以按照预定的顺序执行该N个脚本的方式排成的排列来作为候选脚本。该预定的顺序是与N个脚本中的每一个关联的图像的图像间距离L的降序或升序。
此外,在上述例子中,脚本选择部104选择了与N个类似图像中的每一个关联的脚本,但也可以除去重复的脚本。也就是说,如果在N个脚本中有相同种类的多个脚本,则脚本选择部104不选择属于该种类的全部的脚本,而从这些脚本选择一个脚本。
也就是说,本变形例涉及的程序生成方法是生成用于使显示的图像变化的计算机程序的程序生成方法。在该程序生成方法中,(a)取得描绘于显示器的图像作为输入图像,(b)访问记录介质,所述记录介质存储有多个图像和与该多个图像中的每一个关联的用于使该图像变化的计算机程序。然后,(c)从存储于该记录介质的多个图像检索与输入图像类似的至少一个图像作为类似图像。在此,(d)基于在该记录介质中检索到的至少一个类似图像中的每一个所关联的计算机程序,生成用于使输入图像变化的计算机程序作为候选程序。然后,(e)基于至少一个类似图像的检索结果算出该候选程序相对于输入图像的确定度,(f)根据算出的确定度使显示于显示器的输入图像变化。此外,上述计算机程序和候选程序中的每一个例如是脚本。
也就是说,在上述(d)中,通过从检索到的至少一个类似图像中的每一个所关联的计算机程序选择一个计算机程序,从而生成候选程序。另外,也可以是,在上述(e)中,使用检索到的至少一个类似图像中的每一个的图像间距离L的方差,算出相对于输入图像的确定度。也可以是,在上述(f)中,不管生成的候选程序包括的参数如何,都根据确定度使输入图像变化。例如,也可以是,在上述(f)中,在确定度比阈值小的情况下,使输入图像以预先确定的方式变化。具体而言,也可以使输入图像振动。相反地,也可以是,在确定度为阈值以上的情况下,利用候选程序使输入图像变化。
即使在这样的情况下,也能够得到与上述实施方式同样的效果。
(总结)
图17是表示本公开的一个技术方案涉及的程序生成方法的一例的流程图。
本公开的一个技术方案涉及的程序生成方法是生成用于使所显示的图像变化的计算机程序来作为脚本的方法,包括步骤S11~S17的处理。用户选择图像并使该图像显示于显示器200d,和/或使用输入单元(例如鼠标)使图像描绘显示在显示器200d上。在步骤S11中,取得显示于显示器200d的图像来作为输入图像。在步骤S12中,访问数据库DB,所述数据库DB存储有多个图像和与多个图像中的每一个进行了关联的、用于使该图像变化的脚本。在步骤S13中,从存储于数据库DB的多个图像中检索与输入图像类似的至少一个图像来作为类似图像。在步骤S14中,在数据库DB中,从检索到的至少一个类似图像中的每一个所关联的脚本中选择一个脚本来作为候选脚本。在步骤S15中,基于至少一个类似图像的检索结果算出候选脚本相对于输入图像的确定度。在步骤S16中,根据确定度变更候选脚本所包含的、表示图像的变化的程度的参数,生成提示用程序。在步骤S17中,通过执行所生成的提示用程序,使显示于显示器200d的输入图像变化。
由此,检索与输入图像类似的至少一个图像来作为类似图像,从该至少一个类似图像中的每一个所关联的脚本中选择一个脚本来作为候选脚本。而且,通过变更该候选脚本的参数,生成应用于输入图像的提示用程序。也就是说,自动地生成应用于输入图像的提示用脚本。因此,在显示器200d上描绘了输入图像的用户无需将预先准备的多种命令组合来制作应用于该输入图像的脚本。其结果,能够简单地生成用于使输入图像变化的脚本。
另外,在本公开的一个技术方案涉及的程序生成方法中,根据基于至少一个类似图像的检索结果算出的确定度来变更候选脚本的参数。在此,由于在数据库DB中对多个图像中的每一个关联有脚本,所以该类似图像的检索相当于与输入图像相适合的脚本的检索。另外,参数表示图像的变化的程度。因此,当执行包括变更后的参数的提示用脚本时,能够利用所显示的输入图像的变化的程度,直观地容易理解地向用户传达脚本的检索状况。也就是说,能够容易理解地向用户传达,是从在数据库DB中准备的许多脚本中将与输入图像相适合的脚本进行了充分地缩减,还是相反地没有进行缩减。例如,当用户知道未缩减时,进行向该输入图像追加图形等修正。此时,能够进一步缩减脚本,生成与输入图像更相适合的脚本来作为提示用脚本。也就是说,能够简单地生成适合于输入图像的脚本。
以上,基于实施方式及其变形例说明了一个或多个技术方案涉及的程序生成装置100或程序生成方法,但本公开不限定于该实施方式等。只要不脱离本公开的宗旨,对本实施方式及其变形例实施了本领域技术人员能够想到的各种变形而得到的技术方案、将实施方式和各变形例中的构成要素组合并构造的技术方案均可以包括在本公开的范围内。
例如,在上述实施方式中,程序生成装置100经由通信网络300在终端装置200的显示器200d上显示输入图像并使之变化,但也可以是,终端装置200使输入图像变化而不与程序生成装置100进行通信。也就是说,终端装置200可以通过生成脚本并执行该脚本,从而使输入图像变化。在该情况下,例如,终端装置200例如从程序生成装置100下载用于实现程序生成装置100的功能的控制程序。而且,终端装置200通过执行该控制程序,与上述实施方式或其变形例同样地生成脚本并使输入图像变化。
此外,在上述实施方式和各变形例中,各构成要素既可以由专用硬件构成,或者也可以通过执行适合于各构成要素的软件程序来实现。各构成要素也可以通过CPU或处理器等程序执行部读出并执行记录在硬盘或半导体存储器等记录介质中的软件程序来实现。在此,实现上述实施方式的程序生成装置等的软件使计算机执行图8~图13和图17所示的流程图包括的各步骤。
另外,在本公开中,单元、装置的全部或一部分,或图4所示的框图的功能块的全部或一部分也可以利用包括半导体器件、半导体集成电路(IC)或LSI(large scaleintegration:大规模集成电路)的一个或一个以上电子电路来执行。LSI或IC既可以集成在一块芯片中,也可以将多块芯片组合而构成。例如,存储元件以外的功能块可以集成在一块芯片中。在此,虽然称呼为LSI或IC,但根据集成程度的不同称呼方法也改变,也可能称为系统LSI、VLSI(very large scale integration:超大规模集成电路)或ULSI(ultra largescale integration:超大规模集成电路)。在制造LSI后被编程的、Field ProgrammableGate Array(FPGA:现场可编程门阵列),或能够重新构建LSI内部的接合关系或安装LSI内部的电路划分的reconfigurable logic device(可重构逻辑器件)也能够在相同的目的中使用。
并且,单元、装置或装置的一部分的全部或部分功能或操作能够通过软件处理来执行。在该情况下,软件记录在一个或一个以上ROM、光盘、硬盘驱动器等非易失性记录介质中,在由处理装置(processor)执行软件的情况下,软件使处理装置(processor)和周围的装置执行软件内的特定功能。系统或装置可以具备记录有软件的一个或一个以上非易失性记录介质、处理装置(processor)以及需要的硬件装置例如接口。
本公开起到能够简单地生成用于使图像变化的计算机程序这一效果,例如,能够应用于编程的学习系统等。

Claims (11)

1.一种程序生成方法,包括:
(a)取得显示于显示器的输入图像,
(b)访问记录介质,所述记录介质存储多个图像和与所述多个图像中的每一个进行了关联的、用于使该图像变化的计算机程序,
(c)从存储于所述记录介质的所述多个图像中检索与所述输入图像类似的至少一个图像来作为类似图像,
(d)在所述记录介质中,从检索到的至少一个所述类似图像中的每一个所关联的计算机程序中选择一个计算机程序来作为候选程序,
(e)基于至少一个所述类似图像的检索结果算出所述候选程序相对于所述输入图像的确定度,所述类似图像的检索相当于与输入图像相适合的计算机程序的检索,如果计算机程序的缩减不充分,则确定度成为小的值,如果该缩减充分,则确定度成为大的值,
(f)根据所述确定度来变更所述候选程序所包含的、表示与所述候选程序对应的类似图像的变化的程度的参数的值,由此生成提示用程序,
(g)通过执行所生成的所述提示用程序,使所述输入图像在所述显示器上变化。
2.根据权利要求1所述的程序生成方法,
在所述(d)中,
选择检索到的至少一个所述类似图像中的、与所述输入图像最类似的图像所关联的计算机程序来作为所述候选程序。
3.根据权利要求1或2所述的程序生成方法,
检索到的至少一个所述类似图像的数量越多,则所述确定度是越小的值,所述类似图像的数量越少,则所述确定度是越大的值。
4.根据权利要求3所述的程序生成方法,
在所述(e)中,
通过从1减去检索到的至少一个所述类似图像的数量相对于存储于所述记录介质的所述多个图像的数量的比例,算出所述确定度。
5.根据权利要求3所述的程序生成方法,
在所述(e)中,
在检索到的至少一个所述类似图像的数量为阈值以上的情况下,
算出表示第一值的所述确定度,
在检索到的至少一个所述类似图像的数量小于所述阈值的情况下,
算出表示比所述第一值大的第二值的所述确定度。
6.根据权利要求1~5中任一项所述的程序生成方法,
所述参数是与所述候选程序对应的类似图像的移动距离、与所述候选程序对应的图像的大小的变化量或者与所述候选程序对应的类似图像的颜色成分的变化量。
7.根据权利要求1~6中任一项所述的程序生成方法,
在所述(g)中,
还通过使根据所述提示用程序而变化的所述输入图像还原为原样,并再次执行所述提示用程序,由此使显示于所述显示器的所述输入图像反复变化。
8.根据权利要求1~5中任一项所述的程序生成方法,
所述程序生成方法还包括:
(h)将所生成的所述提示用程序显示在所述显示器上。
9.一种程序生成方法,包括:
(a)取得显示于显示器的输入图像,
(b)访问记录介质,所述记录介质存储多个图像和与所述多个图像中的每一个进行了关联的、用于使该图像变化的计算机程序,
(c)从存储于所述记录介质的所述多个图像中检索与所述输入图像类似的至少一个图像来作为类似图像,
(d)基于在所述记录介质中检索到的至少一个所述类似图像中的每一个所关联的计算机程序,生成用于使输入图像变化的计算机程序来作为候选程序,
(e)基于至少一个所述类似图像的检索结果算出所述候选程序相对于所述输入图像的确定度,所述类似图像的检索相当于与输入图像相适合的计算机程序的检索,如果计算机程序的缩减不充分,则确定度成为小的值,如果该缩减充分,则确定度成为大的值,
(f)根据算出的所述确定度使所述输入图像在所述显示器上变化。
10.一种程序生成装置,具备:
用于访问记录介质的接口部,所述记录介质存储多个图像和与所述多个图像中的每一个进行了关联的、用于使该图像变化的计算机程序;和
处理电路,
所述处理电路执行:
(a)取得显示于显示器的输入图像,
(b)经由所述接口部访问所述记录介质,
(c)从存储于所述记录介质的所述多个图像中检索与所述输入图像类似的至少一个图像来作为类似图像,
(d)在所述记录介质中,从检索到的至少一个所述类似图像中的每一个所关联的计算机程序中选择一个计算机程序来作为候选程序,
(e)基于至少一个所述类似图像的检索结果算出所述候选程序相对于所述输入图像的确定度,所述类似图像的检索相当于与输入图像相适合的计算机程序的检索,如果计算机程序的缩减不充分,则确定度成为小的值,如果该缩减充分,则确定度成为大的值,
(f)根据所述确定度变更所述候选程序所包含的、表示与所述候选程序对应的类似图像的变化的程度的参数的值,由此生成提示用程序,
(g)通过执行所生成的所述提示用程序,使所述输入图像在所述显示器上变化。
11.一种计算机可读取记录介质,记录有控制程序,该控制程序使作为程序生成装置的计算机执行:
(a)取得显示于显示器的输入图像,
(b)访问记录介质,所述记录介质存储多个图像和与所述多个图像中的每一个关联的、用于使该图像变化的计算机程序,
(c)从存储于所述记录介质的所述多个图像中检索与所述输入图像类似的至少一个图像来作为类似图像,
(d)在所述记录介质中,从检索到的至少一个所述类似图像中的每一个所关联的计算机程序中选择一个计算机程序来作为候选程序,
(e)基于至少一个所述类似图像的检索结果算出所述候选程序相对于所述输入图像的确定度,所述类似图像的检索相当于与输入图像相适合的计算机程序的检索,如果计算机程序的缩减不充分,则确定度成为小的值,如果该缩减充分,则确定度成为大的值,
(f)根据所述确定度变更所述候选程序所包含的、表示与所述候选程序对应的类似图像的变化的程度的参数的值,由此生成提示用程序,
(g)通过执行所生成的所述提示用程序,使所述输入图像在所述显示器上变化。
CN201710785209.7A 2016-10-17 2017-09-04 程序生成方法、程序生成装置以及控制程序 Active CN107958012B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662409018P 2016-10-17 2016-10-17
US62/409018 2016-10-17
JP2017-080780 2017-04-14
JP2017080780 2017-04-14

Publications (2)

Publication Number Publication Date
CN107958012A CN107958012A (zh) 2018-04-24
CN107958012B true CN107958012B (zh) 2023-09-12

Family

ID=61904652

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710785209.7A Active CN107958012B (zh) 2016-10-17 2017-09-04 程序生成方法、程序生成装置以及控制程序

Country Status (3)

Country Link
US (1) US10216863B2 (zh)
JP (1) JP6872703B2 (zh)
CN (1) CN107958012B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684830B2 (en) * 2017-04-03 2020-06-16 Innovation First, Inc. Mixed mode programming
CN110085097A (zh) * 2019-04-30 2019-08-02 上海励乾软件科技有限公司 一种在线可视化少儿编程系统
CN110263197B (zh) * 2019-06-12 2023-11-28 腾讯科技(深圳)有限公司 一种图像搜索方法、装置、计算机设备和存储介质
CN111782230B (zh) * 2020-07-07 2022-05-31 联想(北京)有限公司 程序安装控制方法、装置和电子设备

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1508754A (zh) * 2002-12-09 2004-06-30 ���ְ�˹��ʽ���� 图像检索程序、存储有该程序的存储介质、图像检索装置和图像检索方法
JP2005141736A (ja) * 2003-10-15 2005-06-02 Kawashima Textile Manuf Ltd 画像生成プログラムおよび画像生成装置
JP2006229480A (ja) * 2005-02-16 2006-08-31 Olympus Imaging Corp 画像処理プログラム、画像処理装置及び記録媒体
JP2007206833A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 生体照合方法および生体照合装置
CN102346398A (zh) * 2010-07-30 2012-02-08 京瓷美达株式会社 图像形成装置以及调色剂使用量计算方法
CN103674281A (zh) * 2012-09-21 2014-03-26 杭州美盛红外光电技术有限公司 诊断装置和诊断方法
US9171352B1 (en) * 2014-12-04 2015-10-27 Google Inc. Automatic processing of images
CN105912831A (zh) * 2015-02-19 2016-08-31 松下知识产权经营株式会社 信息终端的控制方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3237817B2 (ja) 1996-06-13 2001-12-10 日本電信電話株式会社 3次元仮想空間におけるオブジェクトの動作定義方法
JP2007141105A (ja) 2005-11-21 2007-06-07 Canon Inc 画像処理装置およびその方法
JP4869831B2 (ja) 2006-08-15 2012-02-08 日本電信電話株式会社 アダプタ生成装置、方法およびプログラム
US8099418B2 (en) 2007-05-28 2012-01-17 Panasonic Corporation Information search support method and information search support device
JP2011119869A (ja) 2009-12-01 2011-06-16 Nippon Hoso Kyokai <Nhk> 番組制作システム及び番組制作プログラム
JP5863375B2 (ja) * 2011-10-12 2016-02-16 キヤノン株式会社 情報処理システム、画像処理システム、情報処理方法、およびプログラム
JP2013257692A (ja) 2012-06-12 2013-12-26 Sharp Corp 情報処理装置、情報処理システム、情報処理方法およびプログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1508754A (zh) * 2002-12-09 2004-06-30 ���ְ�˹��ʽ���� 图像检索程序、存储有该程序的存储介质、图像检索装置和图像检索方法
JP2005141736A (ja) * 2003-10-15 2005-06-02 Kawashima Textile Manuf Ltd 画像生成プログラムおよび画像生成装置
JP2006229480A (ja) * 2005-02-16 2006-08-31 Olympus Imaging Corp 画像処理プログラム、画像処理装置及び記録媒体
JP2007206833A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 生体照合方法および生体照合装置
CN102346398A (zh) * 2010-07-30 2012-02-08 京瓷美达株式会社 图像形成装置以及调色剂使用量计算方法
CN103674281A (zh) * 2012-09-21 2014-03-26 杭州美盛红外光电技术有限公司 诊断装置和诊断方法
US9171352B1 (en) * 2014-12-04 2015-10-27 Google Inc. Automatic processing of images
CN105912831A (zh) * 2015-02-19 2016-08-31 松下知识产权经营株式会社 信息终端的控制方法

Also Published As

Publication number Publication date
JP6872703B2 (ja) 2021-05-19
JP2018165975A (ja) 2018-10-25
US20180107762A1 (en) 2018-04-19
CN107958012A (zh) 2018-04-24
US10216863B2 (en) 2019-02-26

Similar Documents

Publication Publication Date Title
CN107958012B (zh) 程序生成方法、程序生成装置以及控制程序
KR101729195B1 (ko) 질의동작기반 안무 검색 시스템 및 방법
US10528649B2 (en) Recognizing unseen fonts based on visual similarity
US10521567B2 (en) Digital image processing for element removal and/or replacement
US9098294B2 (en) Building block based graphical user interface design and development systems and methods
CN104281259A (zh) 信息处理装置、信息处理方法和程序
US10339642B2 (en) Digital image processing through use of an image repository
CN107957866B (zh) 程序生成方法、程序生成装置以及控制程序
US10318629B2 (en) Adaptive content rendering for optimizing page layout
CN111523021B (zh) 一种信息处理系统及其执行的方法
US20140112598A1 (en) Image processing device, image processing method and control program
US20150347369A1 (en) Annotation display assistance device and method of assisting annotation display
CN107077515B (zh) 显示控制装置、显示控制方法及显示控制媒体
CN106971004B (zh) 搜索结果提供方法及装置
KR102119730B1 (ko) 전자 문서에 적용 가능한 템플릿을 이미지로부터 추출하는 전자 장치 및 그의 동작 방법
US8756494B2 (en) Methods and systems for designing documents with inline scrollable elements
US7856620B1 (en) Systems and methods providing interaction interfaces
US9785650B2 (en) Flexible content display
JP6742643B2 (ja) アニメーション生成方法及び装置
US9792533B2 (en) Processing apparatus, processing method, and program for determining an image taking position
US20160162752A1 (en) Retrieval apparatus, retrieval method, and computer program product
US20100325123A1 (en) Media Seed Suggestion
KR102466706B1 (ko) 문서 작성 프로그램에서 종속 관계에 있는 편집 액션의 손쉬운 선택을 가능하게 하는 전자 장치 및 그 동작 방법
JP7332657B2 (ja) デジタルインク生成装置、方法及びプログラム
US20230185843A1 (en) Electronic apparatus and controlling method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant