CN109660684B - 图像处理装置及其控制方法、以及存储介质 - Google Patents

图像处理装置及其控制方法、以及存储介质 Download PDF

Info

Publication number
CN109660684B
CN109660684B CN201811154807.5A CN201811154807A CN109660684B CN 109660684 B CN109660684 B CN 109660684B CN 201811154807 A CN201811154807 A CN 201811154807A CN 109660684 B CN109660684 B CN 109660684B
Authority
CN
China
Prior art keywords
image processing
application
plug
predetermined image
name
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
CN201811154807.5A
Other languages
English (en)
Other versions
CN109660684A (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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2018006687A external-priority patent/JP7080061B2/ja
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN109660684A publication Critical patent/CN109660684A/zh
Application granted granted Critical
Publication of CN109660684B publication Critical patent/CN109660684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • 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/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • 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/5866Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, manually generated location and time information
    • 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/1229Printer resources management or printer maintenance, e.g. device status, power levels
    • G06F3/123Software or firmware update, e.g. device firmware management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0007Image acquisition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00326Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus
    • H04N1/00328Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a data reading, recognizing or recording apparatus, e.g. with a bar-code apparatus with an apparatus processing optically-read information
    • 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/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/00413Display of information to the user, e.g. menus using menus, i.e. presenting the user with a plurality of selectable options
    • 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/0035User-machine interface; Control console
    • H04N1/00501Tailoring a user interface [UI] to specific requirements
    • H04N1/00503Customising to a particular machine or model, machine function or application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00278Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a printing apparatus, e.g. a laser beam printer
    • 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/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00952Using a plurality of control devices, e.g. for different functions
    • 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/40Picture signal circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0094Multifunctional device, i.e. a device capable of all of reading, reproducing, copying, facsimile transception, file transception

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及图像处理装置及其控制方法、以及存储介质。该图像处理装置接受执行预定图像处理的请求,从所接受的请求中获取指示预定图像处理的名称的图像处理名称,从安装的一个或更多个的插件应用中选择与所获取的图像处理名称对应的插件应用,并指示所选择的插件应用进行预定图像处理。

Description

图像处理装置及其控制方法、以及存储介质
技术领域
本发明涉及图像处理装置及其控制方法、以及非暂时性计算机可读存储介质。
背景技术
在图像形成装置和信息处理装置中,可以通过将插件应用添加到各个装置中的软件框架来在之后添加功能。通过采用这种方法,可以在不修改装置中的现有源代码的情况下尽可能少地向各个装置添加功能。当使用添加的功能时,功能的请求源模块指定对应于该功能的插件应用,然后向软件框架通知执行请求。软件框架根据请求执行指定的插件应用。
日本特开2012-162044号公报提出了如下技术:在添加有插件应用的图像处理装置的UI上显示网页,当用户选择网页的相应部分时,执行与该部分关联的脚本,并调用相应的插件应用。
然而,上述现有技术具有下面要描述的问题。当使用添加的功能时,功能的请求源模块需要选择适当的插件应用。在上述现有技术中,例如,功能的请求源模块向其他信息处理装置询问要使用的特定插件应用,然后根据其答案选择插件应用。此时,如果不存在要询问的信息处理装置,则功能本身的请求源模块需要确定并选择要使用的特定插件应用。如果功能的请求源模块选择了错误的插件,则可能会执行非预期的进程。另外,在通过以插件应用等与在UI上的网页中显示的画面等的可选择(可操作)部分相关联的方式进行登记来设计和开发产品时,对画面布置或规格有一些约束。因此,可能显着降低设计中的自由度。
发明内容
本发明使得能够实现如下机制,其中,用于在之后添加到装置的功能的请求源模块,在使用该功能时优选地选择适当的插件应用。
本发明的一个方面提供了一种图像处理装置,其能够添加要通过安装插件应用提供的功能,所述图像处理装置包括:接受单元,其接受执行预定图像处理的请求;获取单元,其从接受单元接受的请求中获取指示所述预定图像处理的名称的图像处理名称;选择单元,其从安装的不少于一个的插件应用中选择与获取单元获取的图像处理名称对应的插件应用;以及指示单元,其指示由选择单元选择的插件应用进行所述预定图像处理。
本发明的另一方面提供了一种图像处理装置,其能够添加要通过安装插件应用提供的功能,所述图像处理装置包括:接受单元,其接受执行预定图像处理的请求;获取单元,其从所接受的请求中获取指示所述预定图像处理的名称的图像处理名称、以及与所述预定图像处理有关的参数;指定单元,其通过使用所获取的图像处理名称来从安装的不少于一个的插件应用中指定不少于一个插件应用;选择单元,其从所指定的不少于一个插件应用中选择与所获取的参数对应的插件应用;以及指示单元,其指示由选择单元选择的插件应用进行所述预定图像处理,并且其中,在所获取的参数指示预定值的情况下,所述选择单元选择能够在所述图像处理装置内部执行所述预定图像处理的插件应用,而在所获取的参数不指示所述预定值的情况下,所述选择单元选择通过向所述图像处理装置外部请求所述预定图像处理的至少一部分来实现所述预定图像处理的插件应用。
本发明的又一方面提供了一种图像处理装置的控制方法,所述图像处理装置能够添加要通过安装插件应用提供的功能,所述控制方法包括:接受执行预定图像处理的请求;从所接受的请求中获取指示所述预定图像处理的名称的图像处理名称;从安装的不少于一个的插件应用中选择与所获取的图像处理名称对应的插件应用;以及指示所选择的插件应用进行所述预定图像处理。
本发明的又一方面提供了一种图像处理装置的控制方法,所述图像处理装置能够添加要通过安装插件应用提供的功能,所述控制方法包括:接受执行预定图像处理的请求;从所接受的请求中获取指示所述预定图像处理的名称的图像处理名称、以及与所述预定图像处理有关的参数;通过使用所获取的图像处理名称来从安装的不少于一个的插件应用中指定不少于一个插件应用;从所指定的不少于一个插件应用中选择与所获取的参数对应的插件应用;指示所选择的插件应用进行所述预定图像处理;以及在所获取的参数指示预定值的情况下,选择能够在所述图像处理装置内部执行所述预定图像处理的插件应用,而在所获取的参数不指示所述预定值的情况下,选择通过向所述图像处理装置外部请求所述预定图像处理的至少一部分来实现所述预定图像处理的插件应用。
本发明的又一方面提供了一种非暂时性计算机可读存储介质,其存储用于使计算机执行图像处理装置的控制方法中的各个步骤的程序,所述图像处理装置能够添加要通过安装插件应用提供的功能,所述控制方法包括:接受执行预定图像处理的请求;从所接受的请求中获取指示所述预定图像处理的名称的图像处理名称;从安装的不少于一个的插件应用中选择与所获取的图像处理名称对应的插件应用;以及指示所选择的插件应用进行所述预定图像处理。
本发明的又一方面提供了一种非暂时性计算机可读存储介质,其存储用于使计算机执行图像处理装置的控制方法中的各个步骤的程序,所述图像处理装置能够添加要通过安装插件应用提供的功能,所述控制方法包括:接受执行预定图像处理的请求;从所接受的请求中获取指示所述预定图像处理的名称的图像处理名称、以及与所述预定图像处理有关的参数;通过使用所获取的图像处理名称来从安装的不少于一个的插件应用中指定不少于一个插件应用;从所指定的不少于一个插件应用中选择与所获取的参数对应的插件应用;指示所选择的插件应用进行所述预定图像处理;以及在所获取的参数指示预定值的情况下,选择能够在所述图像处理装置内部执行所述预定图像处理的插件应用,而在所获取的参数不指示所述预定值的情况下,选择通过向所述图像处理装置外部请求所述预定图像处理的至少一部分来实现所述预定图像处理的插件应用。
通过以下参考附图对示例性实施例的描述,本发明的其他特征将变得清楚。
附图说明
图1是示出根据实施例的图像形成系统的布置示例的图;
图2是示出根据实施例的图像形成装置的布置示例的框图;
图3是示出根据实施例的图像形成装置中的软件布置示例的层级图;
图4是示出根据实施例的服务器的布置示例的框图;
图5是示出根据实施例的服务器中的软件布置示例的层级图;
图6是示出根据实施例的调用图像处理插件应用303的进程的流程图;
图7是示出根据实施例的调用图像处理插件应用303的进程的流程图;
图8是示出根据实施例的图像形成装置中安装的图像处理系统的概要的框图;
图9是示出根据实施例的调用图像处理插件应用303的进程的流程图;以及
图10是示出根据实施例的执行启用/禁用确定处理的流程图。
具体实施方式
现在将参考附图详细描述本发明的优选实施例。应当注意,除非另有具体说明,否则这些实施例中阐述的部件的相对布置、数值表达式和数值不限制本发明的范围。
<第一实施例>
<图像形成系统的布置>
下面将描述本发明的第一实施例。首先,将参照图1描述根据该实施例的图像形成系统的布置示例。图1是示出图像形成系统的布置的示例的图。图像形成系统包括各自充当图像处理装置的示例的图像形成装置101和102、信息处理终端103和104以及服务器105。图像形成装置101和102,信息处理终端103和104,以及服务器105经由网络106连接到彼此并且彼此通信。网络106是诸如LAN(局域网)或因特网之类的网络,通过该网络,图像形成系统中的装置可以彼此通信。
图1例示了布置两个图像形成装置101和102的示例。然而,可以在图像形成系统中布置任意数量(一个或多个)图像形成装置。在该实施例中,图像形成装置101和102是MFP(多功能外围设备),但是可以是例如MFP,打印装置,复印机和传真装置中的任何一个。在以下描述中,假设图像形成装置101和102具有相同的布置,并且将省略对图像形成装置102的详细描述。
图像形成装置101包括打印机和扫描器,并且例如可以从信息处理终端103和104接收打印请求(打印数据)并使打印机执行打印。图像形成装置101还可以使扫描器读取原稿图像并生成图像数据。图像形成装置101可以使打印机基于由扫描器生成的图像数据执行打印,并且可以存储从信息处理终端103和104接收的打印数据。此外,图像形成装置101可以执行将由扫描器生成的图像数据发送到信息处理终端103和104,使用服务器105进行图像处理,以及打印存储在服务器105中的原稿。图像形成装置101还使用打印机和扫描器提供各种服务,并且可以布置为使得可以添加新服务(功能)。更具体地,可以通过在图像形成装置101中安装附加插件应用来实现新服务的添加。
<图像形成装置的硬件布置>
接下来,将参照图2描述图像形成装置101的硬件布置的示例。图像形成装置101包括控制器201,打印机202,扫描器203和操作单元204。控制器201包括CPU 211,RAM 212,HDD213,网络接口(I/F)214,打印机I/F 215,扫描器I/F 216,操作单元I/F 217以及扩展I/F218。CPU211可以与RAM 212,HDD 213,网络I/F 214,打印机I/F 215,扫描器I/F 216,操作单元I/F 217以及扩展I/F 218交换数据。另外,CPU 211将从HDD 213读出的程序(指令)加载到RAM 212中,并执行加载在RAM212中的程序。
可以将能够由CPU 211执行的程序、在图像形成装置101中使用的设置值、与用户请求的处理相关联的数据等存储在HDD 213中。RAM 212用于临时存储CPU 211从HDD 213读出的程序。RAM 212用于存储执行程序所需的各种数据。网络I/F 214是用于经由网络106与图像形成系统中的其他装置通信的接口。网络I/F 214可以向CPU 211通知数据的接收并将RAM 212上的数据发送到网络106。
打印机I/F 215可以将从CPU 211接收的打印数据发送到打印机202,并且向CPU211通知从打印机202通知的打印机202的状态。扫描器I/F 216可以向扫描器203发送从CPU211接收的图像读取指令,并且向CPU 211发送从扫描器203接收的图像数据。扫描器I/F216可以向CPU 211通知从扫描器203通知的扫描器203的状态。
操作单元I/F 217可以向CPU 211通知用户在操作单元204上输入的指令,并且向操作单元204发送接受用户操作的操作画面的画面信息。扩展I/F 218是能够将外部装置连接到图像形成装置101的接口。扩展I/F218是例如USB(通用串行总线)形式的接口。当诸如USB存储器的外部存储设备连接到扩展I/F 218时,图像形成装置101可以读出存储在外部存储设备中的数据并将数据写入外部存储设备。
打印机202可以在片材上打印与从打印机I/F 215接收的图像数据相对应的图像,并且向打印机I/F 215通知打印机202的状态。扫描器203可以根据从扫描器I/F 216接收的图像读取指令读取原稿图像以生成图像数据,并将生成的图像数据发送到扫描器I/F 216。此外,扫描器203可以向扫描器I/F 216通知扫描器203的状态。操作单元204是用于使用户执行用于向图像形成装置101发送各种指令的操作的接口。例如,操作单元204包括具有触摸板功能的显示单元,向用户提供操作画面,并通过操作画面接受来自用户的操作。
<图像形成装置的图像处理系统>
接下来,将参照图8描述根据该实施例的图像形成装置101中安装的图像处理(信息处理)系统的概要。在该实施例中,图像处理系统包括平台模块800,本地应用801,扩展应用802,本地模块803,图像处理执行客户端804,图像处理执行服务器805以及扩展处理插件1至3。
本地应用801或扩展应用802(Java应用)可以请求平台模块800根据用户指令执行期望的图像处理(信息处理)。本地应用801由诸如C语言的程序语言描述,并且是图像形成装置101的标准(预安装)应用。本地应用801包括例如打印应用,复印应用,扫描应用以及发送应用。为了更新本地应用801,必须更新图像形成装置101的固件。扩展应用802是由诸如Java语言的程序语言描述的应用。扩展应用802之后在图像形成装置101中安装,以扩展图像形成装置101的功能。例如,扩展应用802是用于管理到图像形成装置101的用户登录的登录应用。
在图像形成装置101中,可以在平台模块800上操作一个或多个扩展处理插件。在该实施例中,在平台模块800上操作三个扩展处理插件1至3。像扩展应用802那样,扩展处理插件1至3之后在图像形成装置101中安装,以扩展图像形成装置101的功能。为了更新扩展处理插件的功能,简单地更新插件,并且图像形成装置101的固件不需要更新。
在该实施例中,扩展处理插件1是连接到图像形成装置101中由Java语言描述的库以执行处理的扩展处理插件。扩展处理插件2是连接到诸如云服务器的外部服务器以执行处理的扩展处理插件。扩展处理插件3是连接到由C语言描述的本地模块803以执行处理的扩展处理插件。
扩展处理插件3经由图像处理执行客户端804和图像处理执行服务器805连接到本地模块803。像本地应用801那样,本地模块803被预先安装在图像形成装置101中。为了更新本地模块803,需要像本地应用801那样更新图像形成装置101的固件。根据该实施例,本地模块803是提供OCR处理的模块。注意,扩展处理插件1至3仅仅是示例,并且扩展处理插件的连接目的地和处理内容不限于上述连接目的地和处理内容。
平台模块800可以接受来自本地应用801或扩展应用802的图像处理执行请求。例如,平台模块800接受用于从扫描应用的扫描图像中提取字符图像的OCR处理的执行请求。在接受图像处理执行请求时,平台模块800根据扩展处理插件1至3中的执行请求选择用于执行图像处理的扩展处理插件,并指示使所选择的扩展处理插件执行图像处理。例如,平台模块800基于请求执行的图像处理的类型和内容(是否要求及时性、处理负荷程度等)来决定要使用的扩展处理插件。平台模块800从所使用的扩展处理插件获得所请求的图像处理的执行结果。平台模块800将获得的执行结果作为对执行请求的响应输出到执行请求的发送源的应用。
注意,图8中所示的各个元件与图3中所示的各个元件(下面将描述)具有以下对应关系。平台模块800对应于连接库332。本地应用801对应于设备控制库309。扩展应用802对应于单功能插件应用302。扩展处理插件1到3对应于图像处理插件应用303。本地模块803对应于本地模块316。图像处理执行客户端804对应于本地客户端331。图像处理执行服务器805对应于本地服务器315。
<图像形成装置的软件布置>
接下来,将参考图3描述图像形成装置101的软件布置的示例。图像形成装置101的软件布置通过例如存储在HDD 213中的程序来实现。图3所示的软件布置包括分层结构,该分层结构由包括操作系统317的最下层、对应于
Figure BDA0001818741290000081
语言执行环境330的最上层、以及最下层和最高层之间的中间层形成。该分层结构具有这样的关系,其中排除一些例外,上层可以使用由较低层提供的服务。注意,如稍后将描述的,例外指示各个设备控制库309可以经由图像处理控制器340使用包括在最上层中的图像处理插件应用303。
最下层是包括操作系统317的层,以执行程序执行管理、存储器管理等。打印机控制驱动器318,扫描器控制驱动器319和网络I/F控制驱动器320嵌入在操作系统317中。打印机控制驱动器318,扫描器控制驱动器319和网络I/F控制驱动器320可以发挥作用,以相互协作。打印机控制驱动器318是用于经由打印机I/F 215控制打印机202的软件。扫描器控制驱动器319是用于通过经由扫描器I/F 216控制扫描器203的软件。网络I/F控制驱动器320是用于控制网络I/F 214的软件。
高于最下层的中间层包括设备控制库309和图像处理控制器340。在该实施例中,设备控制库309和图像处理控制器340的程序可以通过诸如C语言或C++语言的编译器语言来描述并以目标文件的形式存储在HDD 213中,该目标文件可以由CPU 211直接执行。
最上层是包括在Java语言执行环境330中操作的应用的应用层。最上层包括插件应用301和设备控制应用304,并且还包括本地客户端331、连接库332和外部客户端333。使用由相应的一个设备控制库309或连接库332提供的API来操作最上层的各个应用,从而提供各种功能。注意,可以通过更新图像形成装置101的固件来扩展设备控制应用304的功能。
在该实施例中,插件应用301和设备控制应用304的程序可以用Java语言描述并以Java字节代码格式存储在HDD 213中,该Java字节代码格式可以由Java虚拟机解释。为此,CPU 211执行Java虚拟机的程序,从HDD 213读出Java字节代码格式的程序,并使Java虚拟机执行该程序,从而实现最上层的各个应用的处理。
如上所述,使用诸如Java语言之类的编程语言的原因之一是对程序的描述性促进。由于存储区域的管理是在Java中自动执行的,因此开发者无需管理存储区域。因此,可以减少开发者在描述程序时的劳动,并且预期可以提高开发效率。
(设备控制库309)
接下来,将更详细地描述设备控制库309。设备控制库309静态地或动态地关联到单功能插件应用302或稍后将描述的设备控制应用304中的相应一个。各个设备控制库309基于最上层的各个应用的指令使用最下层的操作系统317。另外,各个设备控制库309可以请求执行本地连接库314的图像处理。作为示例,设备控制库309由打印库310、复印库311、扫描存储库312以及扫描发送库形成。
打印库310提供用于使用打印机控制驱动器318的功能来控制打印作业的API(应用编程接口)。打印作业指示基于存储在HDD 213中的打印数据或经由网络I/F 214从外部装置(信息处理终端103或104等)接收的打印数据在打印机202处执行打印的一系列进程。复印库311提供用于使用扫描器控制驱动器319和打印机控制驱动器318的功能控制复印作业的API。复印作业是用于在扫描器203处扫描原稿图像并基于所获得的图像数据在打印机202处打印的一系列进程。
扫描存储库312提供用于使用扫描器控制驱动器319的功能来控制扫描存储作业的API。扫描存储作业是在扫描器203处执行原稿图像的扫描,将获得的图像数据转换为打印数据或通用格式的数据并将数据存储在HDD 213或外部存储设备(例如连接到扩展I/F218的USB存储器)中的一系列进程。注意,通用格式是诸如PDF(可移植文档格式)或JPEG(联合图像专家组)的数据格式。
扫描发送库313提供用于使用扫描器控制驱动器319和网络I/F控制驱动器320的功能来控制扫描发送作业的API。扫描发送作业是用于在扫描器203处执行原稿图像的扫描,将获得的图像数据转换成通用格式的数据,并经由网络I/F 214将数据发送到外部装置的一系列进程。在扫描发送作业中,数据被经由网络I/F 214发送到例如,诸如服务器105的文件服务器或通过电子邮件发送到诸如信息处理终端103或104的外部装置。
(图像处理控制器340)
接下来,将更详细地描述图像处理控制器340。图像处理控制器340包括本地连接库314,本地服务器315和本地模块316。在从设备控制库309接收到图像处理执行请求时,本地连接库314将请求内容传送到连接库332。在从Java语言执行环境330(稍后描述)中操作的应用接收到请求时,本地服务器315提供执行本地模块316的功能。本地模块316是能够执行各种类型的图像处理的软件。
如图3所示,本地服务器315和本地模块316在本地控制进程350上执行。本地控制进程350是具有与除了本地服务器315和本地模块316之外的软件的逻辑存储空间分离的逻辑存储空间的程序执行单元。注意,该存储空间分离可以通过另一种方法实现,例如使用通用OS(操作系统)的进程机制的方法。
根据该实施例,如上所述,本地控制进程350的逻辑存储空间独立于其他软件的逻辑存储空间。因此,即使在本地控制进程350上的存储器操作中发生错误,也可以防止这样的错误影响用于请求在本地服务器315上执行图像处理的一侧的应用的逻辑存储空间。即,可以防止用于请求在本地服务器315上执行图像处理的一侧的应用的操作中的错误。
(设备控制应用304)
接下来,将更详细地描述设备控制应用304。作为示例,设备控制应用304包括打印应用305,复印应用306,扫描存储应用307和扫描发送应用308。设备控制应用304是图像形成装置101中的驻留应用。
打印应用305,复印应用306,扫描存储应用307和扫描发送应用308分别具有画面信息321,画面信息322,画面信息323和画面信息324。CPU 211可以基于画面信息321,画面信息322,画面信息323和画面信息324,经由操作单元I/F 217在操作单元204上显示相应的操作画面。CPU 211可以经由显示的操作画面接受来自用户的指令。
在检测到用户操作操作单元204以改变设备控制应用304的设置时,CPU 211将改变内容写入HDD 213中。在检测到用户操作操作单元204以请求作业执行时,CPU 211(各个设备控制应用304)调用相应的一个设备控制库309的API,从而开始执行作业。另外,CPU211(各个设备控制应用304)可以请求对连接库332执行图像处理。
例如,打印应用305调用打印库310的API以执行打印作业。复印应用306调用复印库311的API以执行复印作业。扫描存储应用307调用扫描存储库312的API以执行扫描存储作业。扫描发送应用308调用扫描发送库313的API以执行扫描发送作业。
(插件应用301)
接下来,将更详细地描述插件应用301。与作为驻留应用的设备控制应用304不同,插件应用301是可以作为插件安装到图像形成装置101或从图像形成装置101卸载的应用。插件应用301通过使用远程UI(用户界面)等安装在图像形成装置101中。注意,在诸如信息处理终端103或104的外部装置中,远程UI是用于从Web浏览器访问图像形成装置101并且允许确认图像形成装置101的情况、打印作业的操作和各种设置的机制。
插件应用301包括单功能插件应用302和图像处理插件应用303。在插件应用301(单功能插件应用302和图像处理插件应用303)中,各个操作所需的程序被打包。插件应用301可以单独启动或停止。
下面将描述插件应用301的从安装到启动、停止和卸载的一系列操作。当使用远程UI等检测插件应用301的安装时,CPU 211将插件应用的信息存储在HDD 213中。接下来,在检测到对插件应用301的启动指令时,CPU 211指示启动插件应用。当插件应用301被启动时,可以提供插件应用的功能。
之后,当CPU 211检测到对插件应用301的停止指令时,CPU 211指示插件应用301的停止。此外,当CPU 211检测到对插件应用301的卸载指令时,从HDD 213中删除插件应用301的信息,从而卸载插件应用。注意,CPU 211检测到的各个指令可以从例如远程UI或操作单元204执行。然而,可以通过除上述方法之外的方法来执行指令。
(单功能插件应用302)
接下来,将更详细地描述单功能插件应用302。单功能插件应用302具有画面信息325。基于画面信息325,CPU 211可以经由操作单元I/F 217在操作单元204上显示相应的操作画面。此外,CPU 211可以经由显示的操作画面接受来自用户的指令。
单功能插件应用302可以通过调用由设备控制库309提供的API向用户提供与设备控制应用304不同的功能或画面。单功能插件应用302可以通过组合设备控制库309提供多个功能。例如,单功能插件应用302可以提供复印给定图像并将通过扫描获得的图像数据发送到保持该插件应用本身的目的地数据库中的特定目的地的功能。
注意,单功能插件应用302不需要具有图像处理功能。在这种情况下,不对图像处理执行设置。当设备控制库309从单功能插件应用302接收到转换成通用格式的打印数据或图像数据时,设备控制库309指示对操作系统317的必要处理的控制,从而执行该作业。
(图像处理插件应用303)
接下来,将更详细地描述图像处理插件应用303。图像处理插件应用303是用于提供特定图像处理的应用。注意,图像处理插件应用303可以由用于执行不同图像处理操作的多个应用形成。例如,能够执行例如图像格式转换、歪斜校正、形式识别和输入图像的OCR处理的多个应用可以安装在图像形成装置101中作为图像处理插件应用303。注意,期望图像处理插件应用303在另外安装时保持图像处理的名称(图像处理名称)作为图像处理信息,该图像处理信息表示在应用中可执行的图像处理。这使得可以优选地确定与在图6的步骤S603(稍后描述)中询问的图像处理名称对应的图像处理是否可执行。
图像处理插件应用303可以经由连接库332从单功能插件应用302或设备控制应用304接受图像处理请求(图像处理执行请求)。此外,图像处理插件应用303也可以经由本地连接库314和连接库332接受来自设备控制库309的图像处理请求。
图像处理插件应用303根据接受的图像处理请求执行图像处理。图像处理请求可以包括图像数据和处理目标的处理参数。处理参数包括与图像处理名称和图像处理(稍后描述)有关的参数。另外,图像处理插件应用303可以根据需要基于图像处理请求使用本地客户端331的图像处理功能。注意,图像处理插件应用303不需要具有其图像处理功能。即使图像处理插件应用303不具有图像处理功能,图像处理插件应用303也可以通过使用本地客户端331来使用本地模块316的图像处理功能。
使图像处理插件应用303使用本地模块316的原因之一是图像处理中的高处理速度。更具体地,当执行图像处理时,需要大量执行复杂的数值运算操作,并且需要处理过程中的大容量存储器。在这种情况下,通过使用不是使用经由诸如Java的虚拟机执行处理的编程语言的处理系统,而是使用生成由CPU直接执行的目标文件的编译器语言的处理系统,可以预期更高的处理速度。
此外,图像处理插件应用303还可以通过使用外部客户端333将输入图像和图像处理请求发送到诸如服务器(外部装置)105的外部装置,并且通过外部图像处理客户端请求执行图像处理。这使得可以执行不能由图像形成装置101执行的图像处理或者使用大容量存储器执行高速处理。
<服务器的硬件布置>
接下来,将参考图4描述根据该实施例的服务器的布置示例。服务器105包括CPU401,RAM 402,HDD 403和网络I/F 404。CPU 211可以与RAM 402,HDD 403和网络I/F 404交换数据。此外,CPU 401将从HDD 403读出的程序(指令)加载到RAM 402中,并执行加载在RAM402中的程序。
可以由CPU 401执行的程序、在服务器105中使用的设置值、与用户请求的处理相关联的数据等存储在HDD 403中。RAM 402用于临时存储由CPU 401从HDD 403读出的程序。RAM 402可以存储执行程序所需的各种数据。网络I/F 404是用于与网络上存在的其他装置进行网络通信的接口。网络I/F 404可以向CPU 401通知数据的接收并将RAM 402上的数据发送到网络106。
<服务器的软件布置>
接下来,将参考图5描述由CPU 401处理的软件结构的示例。具有图5所示结构的软件通过例如存储在服务器105的HDD 403中的程序来实现。作为软件布置,服务器105包括模块501和通信库502。注意,并不意图将本发明中的服务器的软件布置仅限于上述两个组件,并且可以包括其他模块等。
模块501接收从通信库502发送的输入图像和图像处理请求,并根据请求对输入图像执行图像处理。然后,模块501经由通信库502进行处理后的图像数据的通知。通信库502是提供用于与诸如图像形成装置101的网络106上存在的另一设备执行通信处理的API的库。通信库502接收从图像形成装置101发送的输入图像和图像处理请求,并将它们传送到模块501。此外,通信库502将由模块501生成的处理后的图像数据发送到图像形成装置101。
<处理过程>
接下来,将参考图6描述当连接库332调用图像处理插件应用303时的处理过程。下面描述的处理通过例如将存储在HDD 213中的程序加载到RAM 212中并使CPU 211执行程序来实现。
首先,在步骤S601中,连接库332用作接受单元并且接受来自单功能插件应用302或设备控制应用304的图像处理执行请求。注意,连接库332接收,图像处理名称和参数的指定,作为与请求执行的图像处理相对应的图像处理信息。例如,图像处理名称(ImagingName)可以是诸如“OCR”的字符串。另外,将与诸如“语言:日语”的图像处理相关的参数指定为参数。
接下来,在步骤S602中,连接库332从接受的请求中获取在步骤S601中指定的图像处理名称。随后,在步骤S603中,连接库332为所有安装的图像处理插件应用303指定图像处理名称,并询问与其对应的图像处理是否可执行。注意,各个图像处理插件应用303确定是否可以执行与指定的图像处理名称相对应的图像处理,并用该结果响应连接库332。因此,根据该实施例,可以优选地通过使用图像处理名称作为搜索关键字从安装的插件应用中选择适合于所请求的图像处理的插件应用。也就是说,连接库332不需要掌握与各种图像处理相对应的插件,并且可以通过从请求中提取图像处理名称并询问各插件应用来选择适当的插件应用。因此,例如,不需要诸如将安装的插件应用与菜单画面上的各个图像处理按钮相关联的登记处理,使得可以提高产品中的开发设计的自由度并且也省略额外的处理。
接下来,在步骤S604中,连接库332基于各个响应确定是否存在能够执行与作为图像处理信息的图像处理名称相对应的图像处理的图像处理插件应用303。如果存在图像处理插件应用303,则进程进入步骤S605。如果不存在图像处理插件应用303,则进程进入步骤S606。例如,在上述示例中,如果存在与图像处理名称“OCR”对应的图像处理插件应用303,则进程进入步骤S605。在步骤S605中,连接库332在向图像处理插件应用303通知在步骤S601中指定的参数之后向图像处理插件应用303通知图像处理执行指令。另一方面,在步骤S606中,连接库332通知图像处理请求源,对于设备控制应用304或各个设备控制库309,未找到能够执行图像处理的图像处理插件应用303,从而结束处理。更具体地,连接库332通知请求源不存在能够执行预定图像处理的插件应用。
如上所述,根据该实施例的图像处理装置(图像形成装置)接受执行预定图像处理的请求,并从该请求获取指示预定图像处理的名称的图像处理名称。另外,图像处理装置通过使用所获取的图像处理名称来选择能够执行接受的预定图像处理的插件应用,并指示执行处理。根据该实施例,这消除了使用添加的图像处理功能直接由请求源模块选择插件的需要,使得可以通过简单地指定图像处理名称来使用适当的插件并且降低错误选择插件的风险。
本发明不限于上述实施例,并且可以进行各种修改。例如,在上述步骤S603中,连接库332通过使用图像处理名称向各个图像处理插件应用303询问与图像处理名称相对应的图像处理是否可执行。代替这种布置,当安装各个图像处理插件应用303时,可以与连接库332的插件应用相关联地登记其自身可执行的图像处理的图像处理名称。这允许连接库332使用图像处理名称,根据自身保持的信息选择适当的插件,而不需要询问各个图像处理插件应用。
<第二实施例>
下面将描述本发明的第二实施例。在上述第一实施例中,连接库332通过指定图像处理插件应用303的图像处理名称并询问与其对应的图像处理是否可执行来选择插件。
然而,仅从图像处理名称,可能无法正确选择图像处理插件应用303。这里将考虑将“OCR”指定为图像处理名称的情况。作为执行OCR处理的插件,存在从设备中的本地模块316请求处理的插件和经由网络106从服务器105请求处理的插件。前者是用于针对诸如英语的语言(在设备中存在其OCR字典)进行处理的插件。后者是用于针对在设备中不存在其字典的语言进行处理的插件。在这种情况下,存在与图像处理名称“OCR”对应的多个插件。因此,不可能仅从图像处理名称的信息中正确地选择图像处理插件应用303。
为了解决这个问题,在本实施例中,在选择图像处理插件应用303时,除了图像处理名称之外还使用与图像处理有关的参数信息。该参数由一对关键字和值形成,并且可以为一个图像处理操作指定多个对。在上述示例中,以“key:value”的形式表达参数,指定术语“language:English”。基于图像处理名称“OCR”,参数和“language:English”的信息,连接库332可以选择通过使用本地模块316执行OCR处理的图像处理插件应用303。
作为另一示例,还考虑这样的情况,其中要使用的插件通过被指定为参数的“输入图像分辨率”来切换。首先,如果“输入图像分辨率:300DPI”被指定为参数,则使用从设备中的本地模块316请求处理的插件。另一方面,如果“输入图像分辨率:600DPI”被指定为参数,则使用从服务器105请求处理的插件。这是因为处理所需的RAM 212的空间随着输入分辨率的增加而增加,因此对要在图像形成装置101中处理的输入图像分辨率施加预定限制,并且如果超过预定的输入分辨率,则需要从服务器105请求处理。
<处理过程>
将参考图7描述当在该实施例中连接库332调用图像处理插件应用303时的处理过程。下面描述的处理通过例如将存储在HDD 213中的程序加载到RAM 212中,并使CPU 211执行程序来实现。注意,该实施例的系统布置和处理过程与上面第一实施例中描述的系统布置和处理过程相同,将省略其描述,并且将仅描述不同的部分。更具体地,步骤S701,S704,S705和S706与步骤S601,S604,S605和S606相同,因此将省略其描述。
在步骤S702中,连接库332参考在步骤S701中指定的图像处理名称和参数。此外,在步骤S703中,连接库332为所有安装的图像处理插件应用303指定图像处理名称和参数,并且询问关于与图像处理名称和参数对应的图像处理是否可执行。
如上所述,根据本实施例,可以基于图像处理名称和参数的两种信息在更详细的条件下选择图像处理插件应用303。另外,如上所述,在上述步骤S703中,连接库332通过使用图像处理名称和参数来询问各个图像处理插件应用303与图像处理名称和参数对应的图像处理是否可执行。代替这种布置,当安装各个图像处理插件应用303时,可以与连接库332的插件应用相关联地登记与其自身可执行的图像处理相对应的图像处理名称和参数。这允许连接库332在不询问各个图像处理插件应用的情况下,使用图像处理名称和参数,根据自身保持的信息选择合适的插件。
<第三实施例>
下面将描述本发明的第三实施例。在上述第二实施例中,连接库332通过为图像处理插件应用303指定图像处理名称和参数来选择插件,并且询问关于与图像处理名称和参数对应的图像处理是否可执行。
然而,如果在为所有图像处理插件应用303指定图像处理名称和参数之后确定图像处理是否可执行,则可能花费时间进行处理。这是如下情况,例如图像处理插件应用303的数量较大,或者存在图像处理是否可执行的大量复杂确定逻辑。
在上述第二实施例的方法中,关于图像处理是否可执行的询问需要执行与图像处理插件应用303的数量相同的次数。利用该方法,即使对于没有执行指定图像处理的功能的图像处理插件应用也执行关于插件能力的询问进程。例如,即使对于没有执行指定图像处理功能的图像处理插件应用,也调用指示图像处理插件应用的能力的功能,并且发生用于确认是否可以用指定参数执行图像处理的确认处理。如果用于执行该确认处理的确定逻辑复杂,则执行本来不需要执行的进程。此外,根据应用,即使应用不具有执行图像处理的功能,也可以执行用于确定是否可以利用指定参数执行指定图像处理的确定处理。通过执行根本上不需要执行的这些进程,增加了搜索时间,或者增加了CPU 211的处理负荷。
为了解决这个问题,在该实施例中,通过操作两级过滤器来选择图像处理插件应用303,从而同时保持处理速度和灵活性。首先,应用第一级的过滤器以仅从指定的图像处理名称缩小图像处理插件应用303的候选。这仅仅是找出保持与指定的图像处理名称匹配的图像处理名称的图像处理插件应用303的进程。然后,应用第二级的过滤器以通过指定由第一级的过滤器缩小的候选的参数并且询问是否可以进行处理来选择适当的图像处理插件应用303。
第一级的过滤处理是用于选择各自能够通过使用所获取的图像处理名称执行指定图像处理的插件应用的第一选择处理。另外,第二级的过滤处理是用于根据通过第一选择处理选择的插件应用中的参数来选择能够执行图像处理的插件应用的第二选择处理。这需要将处理仅应用于预先缩小的候选,使得与不操作两级过滤器的情况相比,即使用于确定处理是否可执行的逻辑是复杂的,也可以抑制处理时间的增加。
<处理过程>
将参考图9所示的流程图描述本实施例中通过连接库332调用图像处理插件应用303的处理细节。下面描述的处理通过例如将存储在HDD213中的程序加载到RAM 212中并使CPU 211执行程序来实现。注意,该实施例的系统布置和处理过程与上面第一实施例中描述的系统布置和处理过程相同,将省略其描述,并且将仅描述不同的部分。更具体地,步骤S901,S902,S908和S909与步骤S601,S602,S605和S606相同。
在步骤S903中,连接库332为所有安装的图像处理插件应用303指定图像处理名称,并询问插件是否对应于图像处理名称。这是与前述第一级的过滤器对应的进程。在步骤S904中,连接库332确定是否存在与指定的图像处理名称对应的图像处理插件应用303。如果存在图像处理插件应用303,则进程进入步骤S905。如果不存在图像处理插件应用303,则进程进入步骤S909。例如,在步骤S901中指定图像处理名称“OCR”的情况下,如果存在保持与“OCR”相同的图像处理名称的图像处理插件应用303,则进程进入步骤S905。在步骤S905中,连接库332参考在步骤S901中指定的参数。在步骤S906中,连接库332指定在步骤S904中检测到的图像处理插件应用303的参数,并询问与参数对应的图像处理是否可执行。在上述示例中,为具有图像处理名称“OCR”的图像处理插件应用303指定参数“language:English”,并且进行关于图像处理是否可执行的询问。此时,如在上述第二实施例中,根据支持英语的OCR字典是否存在于图像处理插件应用303内的预定目录或下级来确定图像处理是否可执行。
另外,作为与相同图像处理名称对应的图像处理插件应用303,还存在这样的情况:存在图像形成装置101内执行处理的插件和要求服务器105执行处理的插件二者。
如果在指定的图像形成装置101内执行图像处理,则与要求服务器105执行处理的情况相比,不需要与服务器105的通信时间,使得可以在短时间内执行处理。另一方面,由于存储器与图像形成装置101中的其他功能共享,因此存储器可能在某些情况下不足,从而影响其他功能的操作。如果要求服务器105执行图像处理,则不使用图像形成装置101的存储器,从而防止对图像形成装置101的其他功能的操作产生影响。
也就是说,如果存储器在图像形成装置101中没有不足,则通过在图像形成装置101内执行图像处理的图像处理插件应用303执行处理,与要求服务器105执行处理相比,可能可以缩短处理时间。另一方面,如果存储器在图像形成装置101中可能不足,则优选地,由要求服务器105执行图像处理的图像处理插件应用303执行处理。
因此,图像处理插件应用可以根据在执行满足指定参数的图像处理时的存储器利用率来确定图像处理插件应用是否可以执行指定的图像处理。
例如,在图像形成装置101内执行图像处理的图像处理插件应用303基于诸如“输入图像分辨率:600DPI”的输入分辨率的参数来确定图像处理是否可执行。为了执行与“输入图像分辨率:600DPI”相对应的图像处理,RAM 212在执行时的利用率很大并且可能影响其他功能的执行。因此,在图像形成装置101内执行处理的图像处理插件应用303确定图像处理不可执行。
另外,因为可以在服务器105中充分确保存储空间,因此要求服务器105执行处理的图像处理插件应用303确定可以执行图像处理。
另一方面,如果参数是“输入图像分辨率:300DPI”,则执行时RAM212的利用率小于600DPI的情况,并且不太可能影响其他功能的执行。因此,在图像形成装置101内执行处理的图像处理插件应用303确定图像处理可执行。
在步骤S907中,连接库332基于指定的参数确定是否存在能够执行处理的图像处理插件应用303。如果存在图像处理插件应用303,则进程进入步骤S908。如果不存在图像处理插件应用303,则进程进入步骤S909。
根据该实施例中所示的方法,通过操作两级过滤器来选择图像处理插件应用303,可以保持处理速度和灵活性二者。
<变型例>
本发明不限于上述实施例,并且可以进行各种修改。例如,在图像形成装置101内执行图像处理的图像处理插件应用303可以不仅根据指定的参数而且还根据图像形成装置101中的RAM 212的使用情况动态地确定图像处理是否可执行。
例如,即使在输入“输入图像分辨率:600DPI”作为参数的情况下,如果RAM 212的空闲空间等于或大于预定空间,则在图像形成装置101内执行处理的图像处理插件应用303确定图像处理可执行。另一方面,如果RAM 212的空闲空间小于预定空间,则在接收“输入图像分辨率:600DPI”作为参数时,在图像形成装置101内执行处理的图像处理插件应用303确定不能执行图像处理。
将参考图10中的流程图描述上述处理。通过使CPU 211执行图像处理插件应用303来实现该流程图的处理。下面描述的处理通过例如,将存储在HDD 213中的程序加载到RAM212中并使CPU 211执行程序来实现。
在步骤S1001中,图像处理插件应用303根据指定参数获取执行图像处理所需的存储器空闲空间的阈值。例如,图像处理插件应用303管理将图像处理参数和关于存储器空间的阈值相互关联的信息,并且参考该信息获取与指定参数对应的阈值。当安装图像处理插件应用303时,关联信息存储在例如诸如图像形成装置101的HDD 213的存储单元中。
接下来,在步骤S1002中,图像处理插件应用303获取RAM 212的空闲空间。步骤S1002是用于获取图像形成装置101的存储器的使用状况的空间获取处理。随后,在步骤S1003中,图像处理插件应用303确定在步骤S1002中获取的空闲空间是否等于或大于在步骤S1001中获取的阈值。
如果在步骤S1002中获取的空闲空间等于或大于在步骤S1001中获取的阈值,则进程进入步骤S1004,在步骤S1004中,图像处理插件应用303向连接库332做出能够执行指定的图像处理的响应,从而结束处理。另一方面,如果在步骤S1002中获取的空闲空间小于在步骤S1001中获取的阈值,则进程进入步骤S1005,在步骤S1005中,图像处理插件应用303向连接库332做出无法执行指定图像处理的响应,从而结束处理。
如上所述,图像处理插件应用303基于存储器使用情况和关于存储器使用情况的阈值,确定特定插件应用是否可以根据参数执行图像处理。因此,根据图像形成装置101的存储器使用情况,可以动态地响应启用/禁用指定图像处理的执行。另外,基于响应内容(确定结果),连接库332可以根据指定参数选择能够执行图像处理的插件应用。
在该变型例中,描述了图像处理插件应用303确定指定图像处理是否可执行的示例。然而,修改不限于此,并且连接库332可以执行确定。例如,连接库332相互关联地管理图像处理插件应用303的标识信息、图像处理参数和关于存储空间的阈值。然后,基于与确定目标的图像处理插件应用303的标识信息相关联的参数和阈值,可以执行与图10中所示的处理相同的处理。在这种情况下,通过将存储在HDD 213中的程序代码加载到RAM 212中并使CPU 211执行程序代码来实现图10所示的处理。
在步骤S1004中,连接库332确定出,确定目标的图像处理插件应用303可以执行指定处理。此外,在步骤S1005中,连接库332确定出,确定目标的图像处理插件应用303不能执行指定处理。
还可以以上述方式根据图像形成装置101的存储器使用情况动态地确定启用/禁用指定图像处理的执行。
(其他实施例)
本发明的(多个)实施例也可以通过如下实现:一种系统或装置的计算机,该系统或装置读出并执行在存储介质(其也可被更充分地称为“非暂态计算机可读存储介质”)上记录的计算机可执行指令(例如,一个或多个程序),以执行上述(多个)实施例中的一个或多个的功能,并且/或者,该系统或装置包括用于执行上述(多个)实施例中的一个或多个的功能的一个或多个电路(例如,专用集成电路(ASIC));以及由该系统或者装置的计算机执行的方法,例如,从存储介质读出并执行计算机可执行指令,以执行上述(多个)实施例中的一个或多个的功能,并且/或者,控制所述一个或多个电路以执行上述(多个)实施例中的一个或多个的功能。所述计算机可以包括一个或更多处理器(例如,中央处理单元(CPU),微处理单元(MPU)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行所述计算机可执行指令。所述计算机可执行指令可以例如从网络或存储介质被提供给计算机。例如,存储介质可以包括如下中的一个或多个:硬盘,随机存取存储器(RAM),只读存储器(ROM),分布式计算系统的存储器,光盘(例如,压缩盘(CD),数字多功能光盘(DVD),或蓝光光盘(BD)TM),闪速存储器装置,存储卡,等等。
本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(CPU)、微处理单元(MPU)读出并执行程序的方法。
虽然针对示例性实施例描述了本发明,但是,应该理解,本发明不限于公开的示例性实施例。下述权利要求的范围应当被赋予最宽的解释,以便涵盖所有这类修改以及等同的结构和功能。

Claims (9)

1.一种图像处理装置,其能够添加要通过安装插件应用提供的功能,所述图像处理装置包括:
接受单元,其接受执行预定图像处理的请求;
提取单元,其从接受单元接受的请求中提取指示所述预定图像处理的名称的图像处理名称和与所述预定图像处理有关的参数,作为字符串;
选择单元,其(i)通过使用提取单元提取的图像处理名称向安装的不少于一个的插件应用做出第一询问来选择多个插件应用候选,然后(ii)通过使用与所述预定图像处理有关的参数向所选择的插件应用候选做出第二询问来选择插件应用;以及
指示单元,其指示由选择单元选择的插件应用进行所述预定图像处理。
2.根据权利要求1所述的图像处理装置,其中,所述选择单元向安装的各个插件应用通知所述图像处理名称,以做出所述第一询问,并选择做出了插件应用能够执行所述预定图像处理的响应的多个插件应用候选。
3.根据权利要求1所述的图像处理装置,其中,所述选择单元向所选择的插件应用候选通知与所述预定图像处理有关的参数,以做出所述第二询问,并选择已做出插件应用能够执行所述预定图像处理的响应的所述插件应用。
4.根据权利要求3所述的图像处理装置,其中,在所述预定图像处理是OCR处理的情况下,所述图像处理名称包括OCR字符串并且所述参数指示OCR语言。
5.根据权利要求3所述的图像处理装置,其中,所述参数指示进行了所述预定图像处理的输入图像的分辨率。
6.根据权利要求1所述的图像处理装置,其中,在选择单元未选择能够执行所述预定图像处理的插件应用的情况下,指示单元向请求源通知,不存在能够执行所述预定图像处理的插件应用。
7.根据权利要求1所述的图像处理装置,其中,所述选择单元选择由外部装置提供的图像处理客户端作为能够执行所述预定图像处理的插件应用。
8.一种图像处理装置的控制方法,所述图像处理装置能够添加要通过安装插件应用提供的功能,所述控制方法包括:
接受执行预定图像处理的请求;
从所接受的请求中提取指示所述预定图像处理的名称的图像处理名称和与所述预定图像处理有关的参数,作为字符串;
(i)通过使用提取的图像处理名称向安装的不少于一个的插件应用做出第一询问来选择多个插件应用候选,然后(ii)通过使用与所述预定图像处理有关的参数向所选择的插件应用候选做出第二询问来选择插件应用;以及
指示所选择的插件应用进行所述预定图像处理。
9.一种非暂时性计算机可读存储介质,其存储用于使计算机执行图像处理装置的控制方法中的各个步骤的程序,所述图像处理装置能够添加要通过安装插件应用提供的功能,所述控制方法包括:
接受执行预定图像处理的请求;
从所接受的请求中提取指示所述预定图像处理的名称的图像处理名称和与所述预定图像处理有关的参数,作为字符串;
(i)通过使用提取的图像处理名称向安装的不少于一个的插件应用做出第一询问来选择多个插件应用候选,然后(ii)通过使用与所述预定图像处理有关的参数向所选择的插件应用候选做出第二询问来选择插件应用;以及
指示所选择的插件应用进行所述预定图像处理。
CN201811154807.5A 2017-10-10 2018-09-30 图像处理装置及其控制方法、以及存储介质 Active CN109660684B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017197059 2017-10-10
JP2017-197059 2017-10-10
JP2018006687A JP7080061B2 (ja) 2017-10-10 2018-01-18 画像処理装置
JP2018-006687 2018-01-18

Publications (2)

Publication Number Publication Date
CN109660684A CN109660684A (zh) 2019-04-19
CN109660684B true CN109660684B (zh) 2021-02-05

Family

ID=63708091

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811154807.5A Active CN109660684B (zh) 2017-10-10 2018-09-30 图像处理装置及其控制方法、以及存储介质

Country Status (4)

Country Link
US (2) US10706495B2 (zh)
EP (1) EP3471388A1 (zh)
KR (1) KR102348317B1 (zh)
CN (1) CN109660684B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10694252B1 (en) 2018-02-27 2020-06-23 Amazon Technologies, Inc. Service-based prevention of stream sniping
US10904223B1 (en) * 2018-02-27 2021-01-26 Amazon Technologies, Inc. Stream sniping prevention
CN110569083B (zh) * 2019-08-07 2022-11-25 上海联影智能医疗科技有限公司 图像分割处理方法、装置、计算机设备和存储介质
EP3817368A3 (en) 2019-10-30 2021-09-29 Canon Kabushiki Kaisha Image capturing apparatus, control method, and program
CN110865855B (zh) 2019-11-18 2023-10-27 百度在线网络技术(北京)有限公司 小程序处理方法及相关设备
CN114531603B (zh) * 2022-02-10 2024-03-22 广联达科技股份有限公司 一种视频流的图像处理方法、系统及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017483A (zh) * 2006-02-10 2007-08-15 联想(北京)有限公司 媒体转换装置和方法
CN104731623A (zh) * 2015-03-27 2015-06-24 北京奇虎科技有限公司 主程序中启动插件的方法及装置
CN105653335A (zh) * 2015-12-31 2016-06-08 北京锐安科技有限公司 一种插件程序的控制方法和装置

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6976165B1 (en) * 1999-09-07 2005-12-13 Emc Corporation System and method for secure storage, transfer and retrieval of content addressable information
JP2004297792A (ja) * 2003-03-13 2004-10-21 Ricoh Co Ltd 画像形成装置及び機能キー割り付け方法
KR101338980B1 (ko) * 2006-07-12 2014-01-03 삼성전자주식회사 통합 플러그인 기능을 가지는 호스트 장치 및 그의 통합플러그인 생성 방법
JP5084314B2 (ja) * 2007-03-19 2012-11-28 株式会社リコー 情報処理装置、情報処理方法、情報処理プログラム、及び情報処理プログラムを記録する記録媒体
JP4766038B2 (ja) * 2007-11-29 2011-09-07 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置の管理プログラム、画像処理装置の管理装置、および画像処理装置の管理方法
EP2386089A4 (en) * 2009-01-12 2013-01-16 Namesforlife Llc SYSTEMS AND METHOD FOR AUTOMATIC IDENTIFICATION AND CONNECTION OF NAMES IN DIGITAL RESOURCES
JP5262802B2 (ja) * 2009-02-17 2013-08-14 株式会社リコー 情報処理装置、情報処理方法、及びプログラム
JP5482011B2 (ja) * 2009-08-11 2014-04-23 株式会社リコー 画像形成装置、プログラム管理システム、プログラム管理方法、及びプログラム管理プログラム
CN103647890B (zh) * 2009-09-14 2017-01-11 株式会社理光 信息处理系统,应用约束方法和记录介质
JP5693049B2 (ja) * 2010-06-04 2015-04-01 キヤノン株式会社 画像形成装置、その制御方法、及びプログラム
JP5870490B2 (ja) 2011-02-09 2016-03-01 株式会社リコー 情報処理システム、画像形成装置、情報処理方法、及びプログラム
JP5773787B2 (ja) * 2011-07-21 2015-09-02 キヤノン株式会社 情報処理装置およびその制御方法およびプログラム
KR101833337B1 (ko) * 2011-09-09 2018-03-02 에스프린팅솔루션 주식회사 관리 서버, 워크폼을 관리하기 위한 관리 방법 및 기록 매체
JP6131551B2 (ja) * 2012-09-18 2017-05-24 株式会社リコー 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP6263952B2 (ja) * 2012-11-29 2018-01-24 株式会社リコー 機器、情報処理システム、情報処理方法、及びプログラム
JP6161314B2 (ja) * 2013-02-18 2017-07-12 キヤノン株式会社 画像形成装置、制御方法およびコンピュータプログラム
JP6295563B2 (ja) * 2013-03-04 2018-03-20 株式会社リコー 情報処理システム、機器、情報処理方法、及び情報処理プログラム
JP6376935B2 (ja) 2013-12-26 2018-08-22 キヤノン株式会社 ネットワークデバイス、ネットワークデバイスの制御方法およびそのプログラム
JP6331427B2 (ja) * 2014-01-31 2018-05-30 株式会社リコー データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム
JP6447215B2 (ja) * 2014-03-10 2019-01-09 株式会社リコー 情報配信システム、情報処理装置、情報配信方法及びプログラム
JP2015176401A (ja) * 2014-03-17 2015-10-05 株式会社リコー 情報処理システム、情報処理方法、及びプログラム
JP2015177491A (ja) * 2014-03-18 2015-10-05 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2016015007A (ja) * 2014-07-02 2016-01-28 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2016038614A (ja) * 2014-08-05 2016-03-22 株式会社リコー 機器、情報処理システム、情報処理方法、及び情報処理プログラム
JP6420591B2 (ja) 2014-08-19 2018-11-07 キヤノン株式会社 画像処理装置、その制御方法及びプログラム
JP6156880B2 (ja) 2014-09-10 2017-07-05 株式会社サンセイアールアンドディ 遊技機
JP6511946B2 (ja) * 2015-05-11 2019-05-15 富士ゼロックス株式会社 情報処理システム、情報処理装置及び情報処理プログラム
JP2017027467A (ja) * 2015-07-24 2017-02-02 富士ゼロックス株式会社 管理装置、情報処理システム及びプログラム
JP6575214B2 (ja) * 2015-08-11 2019-09-18 富士ゼロックス株式会社 情報処理装置、端末装置及びプログラム
JP2017059922A (ja) * 2015-09-15 2017-03-23 株式会社リコー 情報処理システム、画像生成装置、プログラムおよび情報処理方法
US10038808B1 (en) * 2017-01-27 2018-07-31 Xerox Corporation Methods and systems for remotely configuring a multi-function device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017483A (zh) * 2006-02-10 2007-08-15 联想(北京)有限公司 媒体转换装置和方法
CN104731623A (zh) * 2015-03-27 2015-06-24 北京奇虎科技有限公司 主程序中启动插件的方法及装置
CN105653335A (zh) * 2015-12-31 2016-06-08 北京锐安科技有限公司 一种插件程序的控制方法和装置

Also Published As

Publication number Publication date
US20190108608A1 (en) 2019-04-11
KR20190040460A (ko) 2019-04-18
US20200302569A1 (en) 2020-09-24
CN109660684A (zh) 2019-04-19
US10706495B2 (en) 2020-07-07
KR102348317B1 (ko) 2022-01-10
US11176633B2 (en) 2021-11-16
EP3471388A1 (en) 2019-04-17

Similar Documents

Publication Publication Date Title
CN109660684B (zh) 图像处理装置及其控制方法、以及存储介质
US9286141B2 (en) Image forming apparatus, program management system, program management method, and computer-readable storage medium
US9692927B2 (en) Device, information processing system, and information processing method
US11140291B2 (en) Information processing apparatus, control method thereof, and storage medium
US10416937B2 (en) Image forming apparatus, image forming method, and storage medium
JP6451053B2 (ja) 情報処理プログラム、情報処理装置、および情報処理装置の制御方法
US9904499B2 (en) Information processing system for dynamically adding a process to a sequence of processes and information processing method using same
US10996998B2 (en) Information processing apparatus and control method thereof
US11089176B2 (en) Control of apps providing same or similar services in image forming device supporting multiple platforms
US10425549B2 (en) Information processing apparatus, method of controlling information processing apparatus, and program
JP6961412B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
US20220053050A1 (en) Information processing system, process executing system, process executing method, and recording medium
US11748173B2 (en) Information processing system, information processing method, and storage medium for controlling virtual server that executes program
JP7080061B2 (ja) 画像処理装置
CN110572527B (zh) 图像处理装置、其控制方法及计算机可读存储介质
US20240146855A1 (en) Control method of information processing apparatus and information processing system
US10992834B2 (en) Image processing apparatus, method for controlling the same, and computer-readable storage medium
JP5778079B2 (ja) 画像形成装置
JP5766652B2 (ja) 画像形成装置

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