KR102348317B1 - 화상 처리 장치, 화상 처리 장치를 제어하는 방법 및 비일시적 컴퓨터 판독 가능 저장 매체 - Google Patents

화상 처리 장치, 화상 처리 장치를 제어하는 방법 및 비일시적 컴퓨터 판독 가능 저장 매체 Download PDF

Info

Publication number
KR102348317B1
KR102348317B1 KR1020180118745A KR20180118745A KR102348317B1 KR 102348317 B1 KR102348317 B1 KR 102348317B1 KR 1020180118745 A KR1020180118745 A KR 1020180118745A KR 20180118745 A KR20180118745 A KR 20180118745A KR 102348317 B1 KR102348317 B1 KR 102348317B1
Authority
KR
South Korea
Prior art keywords
plug
image processing
application
processing
predetermined processing
Prior art date
Application number
KR1020180118745A
Other languages
English (en)
Other versions
KR20190040460A (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
Priority claimed from JP2018006687A external-priority patent/JP7080061B2/ja
Application filed by 캐논 가부시끼가이샤 filed Critical 캐논 가부시끼가이샤
Publication of KR20190040460A publication Critical patent/KR20190040460A/ko
Application granted granted Critical
Publication of KR102348317B1 publication Critical patent/KR102348317B1/ko

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
    • 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/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Facsimiles In General (AREA)
  • Stored Programmes (AREA)

Abstract

본 화상 처리 장치는 미리 결정된 화상 처리를 실행하라는 요구를 접수하고, 접수된 요구로부터 미리 결정된 화상 처리의 명칭을 나타내는 화상 처리명을 취득하고, 인스톨된 1개 이상의 플러그인 애플리케이션에서, 취득된 화상 처리명에 대응하는 플러그인 애플리케이션을 선택하고, 선택된 플러그인 애플리케이션에 미리 결정된 화상 처리를 행하도록 지시한다.

Description

화상 처리 장치, 화상 처리 장치를 제어하는 방법 및 비일시적 컴퓨터 판독 가능 저장 매체{IMAGE PROCESSING APPARATUS, METHOD FOR CONTROLLING THE SAME, AND NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM}
본 발명은 화상 처리 장치, 화상 처리 장치를 제어하는 방법 및 비일시적 컴퓨터 판독 가능 저장 매체에 관한 것이다.
화상 형성 장치 및 정보 처리 장치에 있어서는, 각각의 장치 내의 소프트웨어 프레임워크에, 플러그인 애플리케이션을 애드온(add on)함으로써, 나중에 기능을 추가할 수 있다. 그러한 방법을 채용함으로써, 장치 내의 기존의 소스 코드를 가능한 한 수정하지 않고, 각각의 장치로의 기능 추가가 가능하게 된다. 추가한 기능을 이용할 때, 기능의 요구원 모듈이, 소프트웨어 프레임워크에 대하여 그 기능에 대응한 플러그인 애플리케이션을 지정하고, 그 후, 소프트웨어 프레임워크에 실행 요구를 통지한다. 소프트웨어 프레임워크는, 그 요구에 따라, 지정된 플러그인 애플리케이션을 실행한다.
일본 특허 공개 제2012-162044호 공보는, 플러그인 애플리케이션이 애드온된 화상 처리 장치의 UI 상에 웹 페이지를 표시하고, 사용자가 부분을 선택할 때, 웹 페이지의 해당 부분과 연계된 스크립트를 실행하고, 대응하는 플러그인 애플리케이션을 호출하는 기술을 제안하고 있다.
그러나, 전술한 관련 기술은 후술되는 문제를 갖는다. 추가한 기능을 이용할 때, 기능의 요구원 모듈은, 적절한 플러그인 애플리케이션을 선택할 필요가 있다. 전술한 관련 기술에서, 예를 들어 기능의 요구원 모듈은 다른 정보 처리 장치에, 특정 플러그인 애플리케이션을 이용해야 할지 문의하고, 그 후, 그에 대한 회답에 따라 플러그인 애플리케이션을 선택한다. 이때, 문의하는 정보 처리 장치가 존재하지 않는 경우에는, 기능의 요구원 모듈 자체가, 특정 플러그인 애플리케이션을 이용할 것인지 판정하고, 선택할 필요가 있다. 기능의 요구원 모듈이 잘못된 플러그인을 선택한 경우, 그것은 의도하지 않는 처리를 실행할 수 있다. 또한, UI 상의 웹 페이지에 표시되는 화면 등의 선택(조작) 가능 부분과 연계된 플러그인 애플리케이션 등을 등록하는 것에 의해, 제품을 설계하고 개발하면서, 화면 구성이나 사양에 어떠한 제약이 가해진다. 그 결과, 설계의 자유도가 현저하게 저하될 수 있다.
본 발명은 이후에 장치에 추가된 기능의 요구원 모듈이 그 기능을 사용할 때 적절한 플러그인 애플리케이션을 적합하게 선택하는 메커니즘의 실현을 가능하게 한다.
본 발명의 일 양태는 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치를 제공하며, 이 장치는: 미리 결정된 화상 처리를 실행하라는 요구를 접수하는 접수 유닛; 접수 유닛에 의해 접수된 요구로부터 미리 결정된 화상 처리의 명칭을 나타내는 화상 처리명을 취득하는 취득 유닛; 인스톨된 1개 이상의 플러그인 애플리케이션에서, 취득 유닛에 의해 취득된 화상 처리명에 대응하는 플러그인 애플리케이션을 선택하는 선택 유닛, 및 선택 유닛에 의해 선택된 플러그인 애플리케이션에 미리 결정된 화상 처리를 행하도록 지시하는 지시 유닛을 포함한다.
본 발명의 다른 양태는 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치를 제공하며, 이 장치는: 미리 결정된 화상 처리를 실행하라는 요구를 접수하는 접수 유닛; 접수된 요구로부터, 미리 결정된 화상 처리의 명칭을 나타내는 화상 처리명, 및 미리 결정된 화상 처리에 관련된 파라미터를 취득하는 취득 유닛; 인스톨된 1개 이상의 플러그인 애플리케이션에서, 취득된 화상 처리명을 사용하는 것에 의해 1개 이상의 플러그인 애플리케이션을 특정하는 특정 유닛; 특정된 1개 이상의 플러그인 애플리케이션에서, 취득된 파라미터에 대응하는 플러그인 애플리케이션을 선택하는 선택 유닛; 및 선택 유닛에 의해 선택된 플러그인 애플리케이션에 미리 결정된 화상 처리를 행하도록 지시하는 지시 유닛을 포함하고, 선택 유닛은, 취득된 파라미터가 미리 결정된 값을 나타내는 경우에 화상 처리 장치의 내부에서 미리 결정된 화상 처리를 실행할 수 있는 플러그인 애플리케이션을 선택하고, 취득된 파라미터가 미리 결정된 값을 나타내지 않을 경우에 화상 처리 장치의 외부에서 미리 결정된 화상 처리의 적어도 일부를 요구하는 것에 의해 미리 결정된 화상 처리를 구현하는 플러그인 애플리케이션을 선택한다.
본 발명의 또 다른 양태는 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치를 제어하는 방법을 제공하며, 이 방법은: 미리 결정된 화상 처리를 실행하라는 요구를 접수하는 단계; 접수된 요구로부터 미리 결정된 화상 처리의 명칭을 나타내는 화상 처리명을 취득하는 단계, 인스톨된 1개 이상의 플러그인 애플리케이션에서, 취득된 화상 처리명에 대응하는 플러그인 애플리케이션을 선택하는 단계, 및 선택된 플러그인 애플리케이션에 미리 결정된 화상 처리를 행하도록 지시하는 단계를 포함한다.
그에 더하여, 본 발명의 또 다른 양태는 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치를 제어하는 방법을 제공하며, 이 방법은: 미리 결정된 화상 처리를 실행하라는 요구를 접수하는 단계; 접수된 요구로부터 미리 결정된 화상 처리의 명칭을 나타내는 화상 처리명을 취득하는 단계, 및 인스톨된 1개 이상의 플러그인 애플리케이션에서, 취득된 화상 처리명을 사용하는 것에 의해 1개 이상의 플러그인 애플리케이션을 특정하는 단계, 특정된 1개 이상의 플러그인 애플리케이션에서, 취득된 파라미터에 대응하는 플러그인 애플리케이션을 선택하는 단계, 선택된 플러그인 애플리케이션에 미리 결정된 화상 처리를 행하도록 지시하는 단계, 및 취득된 파라미터가 미리 결정된 값을 나타내는 경우에 화상 처리 장치의 내부에서 미리 결정된 화상 처리를 실행할 수 있는 플러그인 애플리케이션을 선택하고, 취득된 파라미터가 미리 결정된 값을 나타내지 않을 경우에 화상 처리 장치의 외부에서 미리 결정된 화상 처리의 적어도 일부를 요구하는 것에 의해 미리 결정된 화상 처리를 구현하는 플러그인 애플리케이션을 선택하는 단계를 포함한다.
그에 더하여, 본 발명의 또 다른 양태는 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치를 제어하는 방법에서의 각각의 단계를 컴퓨터로 하여금 실행하게 하는 프로그램을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체를 제공하며, 이 방법은: 미리 결정된 화상 처리를 실행하라는 요구를 접수하는 단계; 접수된 요구로부터 미리 결정된 화상 처리의 명칭을 나타내는 화상 처리명을 취득하는 단계, 인스톨된 1개 이상의 플러그인 애플리케이션에서, 취득된 화상 처리명에 대응하는 플러그인 애플리케이션을 선택하는 단계, 및 선택된 플러그인 애플리케이션에 미리 결정된 화상 처리를 행하도록 지시하는 단계를 포함한다.
그에 더하여, 본 발명의 또 다른 양태는 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치를 제어하는 방법에서의 각각의 단계를 컴퓨터로 하여금 실행하게 하는 프로그램을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체를 제공하며, 이 방법은: 미리 결정된 화상 처리를 실행하라는 요구를 접수하는 단계; 접수된 요구로부터 미리 결정된 화상 처리의 명칭을 나타내는 화상 처리명을 취득하는 단계, 및 인스톨된 1개 이상의 플러그인 애플리케이션에서, 취득된 화상 처리명을 사용하는 것에 의해 1개 이상의 플러그인 애플리케이션을 특정하는 단계, 특정된 1개 이상의 플러그인 애플리케이션에서, 취득된 파라미터에 대응하는 플러그인 애플리케이션을 선택하는 단계, 선택된 플러그인 애플리케이션에 미리 결정된 화상 처리를 행하도록 지시하는 단계, 및 취득된 파라미터가 미리 결정된 값을 나타내는 경우에 화상 처리 장치의 내부에서 미리 결정된 화상 처리를 실행할 수 있는 플러그인 애플리케이션을 선택하고, 취득된 파라미터가 미리 결정된 값을 나타내지 않을 경우에 화상 처리 장치의 외부에서 미리 결정된 화상 처리의 적어도 일부를 요구하는 것에 의해 미리 결정된 화상 처리를 구현하는 플러그인 애플리케이션을 선택하는 단계를 포함한다.
본 발명의 추가적인 특징은 첨부된 도면을 참고한 예시적인 실시예에 대한 이하의 설명으로부터 명확해질 것이다.
도 1은, 실시예에 따른 화상 형성 시스템의 구성예를 도시하는 도면이다;
도 2는, 실시예에 따른 화상 형성 장치의 구성예를 도시하는 블록도이다;
도 3은, 실시예에 따른 화상 형성 장치에서의 소프트웨어 구성예를 나타내는 계층도이다;
도 4는, 실시예에 따른 서버의 구성예를 도시하는 블록도이다;
도 5는, 실시예에 따른 서버에서의 소프트웨어 구성예를 나타내는 계층도이다;
도 6은, 실시예에 따른 화상 처리 플러그인 애플리케이션(303)의 호출 처리를 나타내는 흐름도이다;
도 7은, 실시예에 따른 화상 처리 플러그인 애플리케이션(303)의 호출 처리를 나타내는 흐름도이다;
도 8은, 실시예에 따른 화상 형성 장치에 인스톨되는 화상 처리 시스템의 개요를 도시하는 블록도이다;
도 9는, 실시예에 따른 화상 처리 플러그인 애플리케이션(303)의 호출 처리를 나타내는 흐름도이다; 및
도 10은, 실시예에 따른 실행 가능/불가능 판정 처리를 나타내는 흐름도이다.
이제 본 발명의 바람직한 실시예를 도면을 참조하여 상세하게 설명한다. 이들 실시예에서 설명되는 구성요소의 상대적인 배치, 수치 표현 및 수치 값은 구체적으로 달리 설명되지 않는 한 본 발명의 범위를 한정하지 않는다는 것을 유의해야 한다.
<제1 실시예>
<화상 형성 시스템의 구성>
이하, 본 발명의 제1 실시예에 대해서 설명할 것이다. 먼저, 도 1을 참조하여, 본 실시예에 따른 화상 형성 시스템의 구성예에 대해서 설명할 것이다. 도 1은, 화상 형성 시스템의 구성 일례를 도시하는 도면이다. 화상 형성 시스템은, 화상 처리 장치의 일례로서 각각 기능하는 화상 형성 장치들(101 및 102), 정보 처리 단말기들(103 및 104) 및 서버(105)를 포함한다. 화상 형성 장치들(101 및 102), 정보 처리 단말기들(103 및 104) 및 서버(105)는, 네트워크(106)를 통해 서로 접속되고, 통신된다. 네트워크(106)는, LAN(Local Area Network)이나 인터넷 등의, 화상 형성 시스템 내의 장치들이 서로 통신 가능한 네트워크이다.
도 1은, 2개의 화상 형성 장치(101 및 102)가 배열된 예를 나타낸다. 그러나, 화상 형성 시스템에서는 임의의 수(1개 이상)의 화상 형성 장치를 배열하는 것이 가능하다. 본 실시예에서는, 화상 형성 장치들(101 및 102)은 MFP(Multifunction Peripheral)들이지만, 예를 들어 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), HDD(213), 네트워크 인터페이스(I/F)(214), 프린터 I/F(215), 스캐너 I/F(216), 조작 유닛 I/F(217) 및 확장 I/F(218)를 포함한다. CPU(211)는, 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)에 로딩하고, RAM(212)에 로딩된 프로그램을 실행한다.
HDD(213)에는, CPU(211)에 의해 실행 가능한 프로그램들, 화상 형성 장치(101)에 사용되는 설정 값들 및 사용자로부터 요구된 처리에 관련하는 데이터 등이 저장될 수 있다. 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)에 송신할 수 있고, 프린터(202)로부터 통지된 프린터(202)의 상태를 CPU(211)에 통지할 수 있다. 스캐너 I/F(216)는, CPU(211)로부터 수신한 화상 판독 지시를 스캐너(203)에 송신할 수 있고, 스캐너(203)로부터 수신한 화상 데이터를 CPU(211)에 송신할 수 있다. 스캐너 I/F(216)는, 스캐너(203)로부터 통지된 스캐너(203)의 상태를 CPU(211)에 통지할 수 있다.
조작 유닛 I/F(217)은, 조작 유닛(204)에서 사용자에 의해 입력된 지시를 CPU(211)에 통지하는 것 및 사용자 조작을 접수하는 조작 화면의 화면 정보를 조작 유닛(204)에 송신할 수 있다. 확장 I/F(218)는, 화상 형성 장치(101)에 외부 장치를 접속시킬 수 있는 인터페이스이다. 확장 I/F(218)는, 예를 들어 USB(Universal Serial Bus) 형식의 인터페이스이다. 화상 형성 장치(101)는, USB 메모리 등의 외부 저장 디바이스가 확장 I/F(218)에 접속되었을 경우, 외부 저장 디바이스에 저장된 데이터의 판독 및 외부 저장 디바이스에 대한 데이터의 기입을 행할 수 있다.
프린터(202)는, 프린터 I/F(215)로부터 수신한 화상 데이터에 대응하는 화상을 시트에 인쇄할 수 있고, 프린터(202)의 상태를 프린터 I/F(215)에 통지할 수 있다. 스캐너(203)는, 스캐너 I/F(216)로부터 수신한 화상 판독 지시에 따라 원고 화상을 판독하여 화상 데이터를 생성하고, 생성한 화상 데이터를 스캐너 I/F(216)에 송신할 수 있다. 또한, 스캐너(203)는, 스캐너(203)의 상태를 스캐너 I/F(216)에 통지할 수 있다. 조작 유닛(204)은, 화상 형성 장치(101)에 대하여 각종 지시를 전송하기 위한 조작을 사용자가 행하게 하기 위한 인터페이스이다. 예를 들어, 조작 유닛(204)은, 터치 패널 기능을 갖는 표시 유닛을 포함하고, 조작 화면을 사용자에 제공하고, 조작 화면을 통해 사용자로부터의 조작을 접수한다.
<화상 형성 장치의 화상 처리 시스템>
이어서, 도 8을 참조하여, 본 실시예에 따른 화상 형성 장치(101)에 인스톨되는 화상 처리(정보 처리) 시스템의 개요에 대해서 설명할 것이다. 본 실시예에서는, 화상 처리 시스템은, 플랫폼 모듈(800), 네이티브(native) 애플리케이션(801), 확장 애플리케이션(802), 네이티브 모듈(803), 화상 처리 실행 클라이언트(804), 화상 처리 실행 서버(805) 및 확장 처리 플러그인들(1 내지 3)을 포함한다.
네이티브 애플리케이션(801) 또는 확장 애플리케이션(802)(자바(Java) 애플리케이션)은 사용자 지시에 따라 원하는 화상 처리(정보 처리)의 실행을 수행하라고 플랫폼 모듈(800)에 요구할 수 있다. 네이티브 애플리케이션(801)은, C 언어 등의 프로그램 언어에 의해 기술되고, 화상 형성 장치(101)의 표준(사전 인스톨된) 애플리케이션이다. 네이티브 애플리케이션(801)은, 예를 들어 프린트 애플리케이션, 카피 애플리케이션, 스캔 애플리케이션 및 송신 애플리케이션을 포함한다. 네이티브 애플리케이션(801)을 갱신하기 위해서는, 화상 형성 장치(101)의 펌웨어를 갱신해야 한다. 확장 애플리케이션(802)은, 예를 들어 자바 언어 등의 프로그램 언어에 의해 기술된 애플리케이션이다. 확장 애플리케이션(802)은, 화상 형성 장치(101)의 기능을 확장하기 위해 화상 형성 장치(101)에 나중에 인스톨된다. 확장 애플리케이션(802)은, 예를 들어 화상 형성 장치(101)로의 사용자 로그인을 관리하는 로그인 애플리케이션이다.
화상 형성 장치(101)에서는, 플랫폼 모듈(800) 상에, 1개 이상의 확장 처리 플러그인을 동작시키는 것이 가능하다. 본 실시예에서는, 3개의 확장 처리 플러그인(1 내지 3)이 플랫폼 모듈(800) 상에 동작된다. 확장 처리 플러그인들(1 내지 3)은, 확장 애플리케이션(802)과 마찬가지로, 화상 형성 장치(101)의 기능들을 확장하기 위해서 화상 형성 장치(101)에 나중에 인스톨된다. 확장 처리 플러그인의 기능을 갱신하기 위해서, 플러그인이 단순히 갱신되고, 화상 형성 장치(101)의 펌웨어는 갱신될 필요가 없다.
본 실시예에서는, 확장 처리 플러그인(1)은, 화상 형성 장치(101) 내의 자바 언어에 의해 기술된 라이브러리에 접속하여 처리를 실행하는 확장 처리 플러그인이다. 확장 처리 플러그인(2)은, 클라우드 등의 외부 서버에 접속하여 처리를 실행하는 확장 처리 플러그인이다. 확장 처리 플러그인(3)은, C 언어에 의해 기술된 네이티브 모듈(803)에 접속하여 처리를 실행하는 확장 처리 플러그인이다.
확장 처리 플러그인(3)은, 화상 처리 실행 클라이언트(804) 및 화상 처리 실행 서버(805)를 통해, 네이티브 모듈(803)에 접속된다. 네이티브 모듈(803)은, 네이티브 애플리케이션(801)과 마찬가지로, 화상 형성 장치(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)을 포함하는 최하위층과, Java® 언어 실행 환경(330)에 대응하는 최상위층과, 최하위층과 최상위층 사이의 중간층으로부터 형성된 계층 구조를 포함한다. 이 계층 구조는, 일부 예외들을 제외하고, 하위의 계층이 제공하는 서비스를 상위의 계층이 이용할 수 있는 관계를 갖는다. 이 예외들은, 후술하는 바와 같이, 각각의 디바이스 제어 라이브러리(309)가, 화상 처리 컨트롤러(340)를 통해, 최상위층에 포함되는 화상 처리 플러그인 애플리케이션(303)을 이용할 수 있는 것을 나타낸다는 점을 유의해야 한다.
최하위층은, 오퍼레이팅 시스템(317)을 포함하여, 프로그램 실행 관리, 메모리 관리 등을 수행하는 계층이다. 오퍼레이팅 시스템(317)에는, 프린터 제어 드라이버(318), 스캐너 제어 드라이버(319) 및 네트워크 I/F 제어 드라이버(320)가 내장된다. 프린터 제어 드라이버(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++ 언어 등의 컴파일러 언어에 의해 기술되고, CPU(211)가 직접 실행할 수 있는 오브젝트 파일의 형식으로, HDD(213)에 저장될 수 있다.
최상위층은, 자바 언어 실행 환경(330)에서 동작하는 애플리케이션을 포함하는, 애플리케이션 층이다. 최상위층은, 플러그인 애플리케이션들(301) 및 디바이스 제어 애플리케이션들(304)을 포함하고, 네이티브 클라이언트(331), 접속 라이브러리(332) 및 외부 클라이언트(333)를 추가로 포함한다. 최상위층의 각각의 애플리케이션은, 디바이스 제어 라이브러리들(309) 또는 접속 라이브러리(332) 중 대응하는 하나에 의해 제공되는 API를 이용하여 동작됨으로써, 여러가지 기능을 제공한다. 화상 형성 장치(101)의 펌웨어 갱신에 의해, 디바이스 제어 애플리케이션들(304)의 기능들을 확장할 수 있다는 점을 유의해야 한다.
본 실시예에서, 플러그인 애플리케이션들(301) 및 디바이스 제어 애플리케이션들(304)의 프로그램들은, 자바 언어에 의해 기술되고, 자바 가상 머신에 의해 해석될 수 있는 자바 바이트 코드 포맷으로, HDD(213)에 저장될 수 있다. 이 때문에, CPU(211)는, 자바 가상 머신의 프로그램을 실행하고, 자바 바이트 코드 포맷의 프로그램을 HDD(213)로부터 판독하고, 자바 가상 머신으로 하여금 이 프로그램을 실행하게 함으로써, 최상위층의 각각의 애플리케이션에 의한 처리를 구현한다.
전술한 바와 같이, 자바 언어 등의 프로그래밍 언어를 이용하는 이유들 중 하나는, 프로그램의 기술 간이성이다. 자바에서는 메모리 영역의 관리는 자동적으로 수행되기 때문에, 개발자가 메모리 영역을 관리할 필요는 없다. 이러한 이유로 인해, 프로그램을 기술할 때의 개발자의 수고가 저감될 수 있고, 개발 효율이 향상될 수 있는 것이 기대된다.
(디바이스 제어 라이브러리들(309))
이어서, 디바이스 제어 라이브러리들(309)에 대해서, 보다 상세히 설명할 것이다. 디바이스 제어 라이브러리들(309)은, 후술하는 단독 기능 플러그인 애플리케이션(302) 또는 디바이스 제어 애플리케이션들(304) 중 대응하는 하나와 정적 또는 동적으로 연계된다. 각각의 디바이스 제어 라이브러리(309)는, 최상위층의 각각의 애플리케이션에 의한 지시에 기초하여, 최하위층의 오퍼레이팅 시스템(317)을 이용한다. 또한, 각각의 디바이스 제어 라이브러리(309)는, 네이티브 접속 라이브러리(314)에 대하여 화상 처리의 실행을 요구할 수 있다. 디바이스 제어 라이브러리들(309)은, 일례로서, 프린트 라이브러리(310), 카피 라이브러리(311), 스캔 저장 라이브러리(312) 및 스캔 송신 라이브러리(313)로부터 형성된다.
프린트 라이브러리(310)는, 프린터 제어 드라이버(318)의 기능을 이용하여 프린트 작업(print job)을 제어하기 위한 API(Application Programming Interface)를 제공한다. 프린트 작업은, HDD(213)에 저장된 인쇄 데이터, 또는 외부 장치(정보 처리 단말기(103 또는 104) 등)로부터 네트워크 I/F(214)를 통해서 수신한 인쇄 데이터에 기초하여 프린터(202)에서 인쇄를 수행하는, 일련의 처리를 나타낸다. 카피 라이브러리(311)는, 스캐너 제어 드라이버(319) 및 프린터 제어 드라이버(318)의 기능들을 이용하여 카피 작업을 제어하기 위한 API를 제공한다. 카피 작업은, 스캐너(203)에서 원고 화상을 스캔하고, 얻어진 화상 데이터에 기초하여 프린터(202)에서 인쇄하는, 일련의 처리이다.
스캔 저장 라이브러리(312)는, 스캐너 제어 드라이버(319)의 기능을 이용하여 스캔 저장 작업을 제어하기 위한 API를 제공한다. 스캔 저장 작업은, 스캐너(203)에서 원고 화상의 스캔, 얻어진 화상 데이터의 인쇄 데이터 또는 범용 포맷의 데이터로의 변환, HDD(213), 또는 확장 I/F(218)에 접속된 USB 메모리 등의 외부 저장 디바이스로의 데이터의 저장을 수행하는 일련의 처리이다. 범용 포맷은, 예를 들어 PDF(Portable Document Format) 또는 JPEG(Joint Photographic Experts Group) 등의 데이터 포맷이라는 점을 유의해야 한다.
스캔 송신 라이브러리(313)는, 스캐너 제어 드라이버(319) 및 네트워크 I/F 제어 드라이버(320)의 기능들을 이용하여 스캔 송신 작업을 제어하기 위한 API를 제공한다. 스캔 송신 작업은, 스캐너(203)에서 원고 화상의 스캔, 얻어진 화상 데이터의 범용 포맷의 데이터로의 변환, 및 네트워크 I/F(214)를 통해 외부 장치로의 데이터의 송신을 수행하는 일련의 처리이다. 스캔 송신 작업에서, 네트워크 I/F(214)를 통해, 예를 들어 서버(105) 등의 파일 서버에 데이터가 송신되거나, 또는 정보 처리 단말기(103 또는 104) 등의 외부 장치에 전자 메일에 의해 데이터가 송신된다.
(화상 처리 컨트롤러(340))
이어서, 화상 처리 컨트롤러(340)에 대해서, 보다 상세히 설명할 것이다. 화상 처리 컨트롤러(340)는, 네이티브 접속 라이브러리(314), 네이티브 서버(315) 및 네이티브 모듈(316)을 포함한다. 네이티브 접속 라이브러리(314)는, 디바이스 제어 라이브러리들(309)로부터 화상 처리 실행 요구를 수신하면, 요구 내용을 접속 라이브러리(332)에 전송한다. 네이티브 서버(315)는, 자바 언어 실행 환경(330)(후술함)에서 동작하는 애플리케이션으로부터 요구를 수신하면, 네이티브 모듈(316)을 실행하는 기능을 제공한다. 네이티브 모듈(316)은, 여러 종류의 화상 처리가 실행 가능한 소프트웨어이다.
네이티브 서버(315) 및 네이티브 모듈(316)은, 도 3에 도시된 바와 같이, 네이티브 제어 프로세스(350) 상에 실행된다. 네이티브 제어 프로세스(350)는, 네이티브 서버(315) 및 네이티브 모듈(316) 이외의 소프트웨어의 논리 메모리 공간과 분리된 논리 메모리 공간을 갖는 프로그램 실행 단위이다. 이러한 메모리 공간 분리는, 일반적인 OS(오퍼레이팅 시스템)의 프로세스 메커니즘을 사용하는 방법 등의, 다른 방법에 의해 구현할 수 있다는 점을 유의해야 한다.
본 실시예에 따르면, 전술한 바와 같이, 네이티브 제어 프로세스(350)의 논리 메모리 공간은, 다른 소프트웨어의 논리 메모리 공간과 독립적이다. 이러한 이유로 인해, 네이티브 제어 프로세스(350) 상에서 메모리 조작에 에러가 발생해도, 그러한 에러가, 네이티브 서버(315)에 화상 처리의 실행을 요구하는 측의 애플리케이션의 논리 메모리 공간에 영향을 미치는 것을 방지할 수 있다. 즉, 네이티브 서버(315)에 화상 처리의 실행을 요구하는 측의 애플리케이션 동작에 에러가 방지될 수 있다.
(디바이스 제어 애플리케이션(304))
이어서, 디바이스 제어 애플리케이션들(304)에 대해서, 보다 상세히 설명할 것이다. 디바이스 제어 애플리케이션들(304)은, 일례로서, 프린트 애플리케이션(305), 카피 애플리케이션(306), 스캔 저장 애플리케이션(307) 및 스캔 송신 애플리케이션(308)을 포함한다. 디바이스 제어 애플리케이션들(304)은, 화상 형성 장치(101)에서의 상주형(resident)의 애플리케이션이다.
프린트 애플리케이션(305), 카피 애플리케이션(306), 스캔 저장 애플리케이션(307) 및 스캔 송신 애플리케이션(308)은, 각각 화면 정보(321), 화면 정보(322), 화면 정보(323), 및 화면 정보(324)를 갖는다. CPU(211)는, 화면 정보(321), 화면 정보(322), 화면 정보(323), 및 화면 정보(324)에 기초하여, 대응하는 조작 화면을, 조작 유닛 I/F(217)를 통해서 조작 유닛(204)에 표시할 수 있다. CPU(211)는, 표시한 조작 화면을 통해 사용자로부터의 지시를 접수할 수 있다.
CPU(211)는, 사용자가 조작 유닛(204)을 조작하여 디바이스 제어 애플리케이션들(304)의 설정을 변경한 것을 검출하면, 그 변경 내용을 HDD(213)에 기입한다. CPU(211)(각각의 디바이스 제어 애플리케이션(304))는 사용자가 조작 유닛(204)을 조작하여 작업 실행을 요구하는 것을 검출하면, 디바이스 제어 라이브러리들(309) 중 대응하는 하나의 API를 호출함으로써, 작업의 실행을 개시한다. 또한, CPU(211)(각각의 디바이스 제어 애플리케이션(304))는 접속 라이브러리(332)에 대하여 화상 처리의 실행을 요구할 수 있다.
예를 들어, 프린트 애플리케이션(305)은, 프린트 라이브러리(310)의 API를 호출하여, 프린트 작업을 실행한다. 카피 애플리케이션(306)은, 카피 라이브러리(311)의 API를 호출하여, 카피 작업을 실행한다. 스캔 저장 애플리케이션(307)은, 스캔 저장 라이브러리(312)의 API를 호출하여, 스캔 저장 작업을 실행한다. 스캔 송신 애플리케이션(308)은, 스캔 송신 라이브러리(313)의 API를 호출하여, 스캔 송신 작업을 실행한다.
(플러그인 애플리케이션(301))
이어서, 플러그인 애플리케이션(301)에 대해서, 더 상세히 설명할 것이다. 플러그인 애플리케이션들(301)은, 상주형의 애플리케이션인 디바이스 제어 애플리케이션들(304)과는 다르게, 화상 형성 장치(101)로 또는 화상 형성 장치(101)로부터 플러그인으로서 인스톨 또는 언인스톨(uninstall)이 가능한 애플리케이션들이다. 플러그인 애플리케이션들(301)은, 원격 UI(사용자 인터페이스) 등을 사용함으로써, 화상 형성 장치(101)에 인스톨된다. 원격 UI는, 정보 처리 단말기(103 또는 104) 등의 외부 장치에서 웹 브라우저로부터 화상 형성 장치(101)에 액세스하고, 화상 형성 장치(101)의 상황 확인, 프린트 작업의 조작 및 각종 설정을 가능하게 하는 메커니즘이라는 점을 유의해야 한다.
플러그인 애플리케이션들(301)은, 단독 기능 플러그인 애플리케이션(302) 및 화상 처리 플러그인 애플리케이션(303)을 포함한다. 플러그인 애플리케이션들(301)(단독 기능 플러그인 애플리케이션(302) 및 화상 처리 플러그인 애플리케이션(303))에는, 각각 동작들에 필요한 프로그램들이 패키징된다. 플러그인 애플리케이션들(301)은, 개별로 기동 또는 정지될 수 있다.
플러그인 애플리케이션들(301)의 인스톨로부터 기동, 정지, 및 언인스톨까지의 일련의 동작들은, 후술될 것이다. CPU(211)는, 원격 UI 등을 사용한 플러그인 애플리케이션들(301)의 인스톨(installation)을 검출하는 경우, 플러그인 애플리케이션의 정보를 HDD(213)에 저장한다. 이어서, CPU(211)는, 플러그인 애플리케이션들(301)에 대한 기동 지시를 검출하면, 플러그인 애플리케이션들에 대한 기동을 지시한다. 플러그인 애플리케이션들(301)이 기동되는 동안, 플러그인 애플리케이션들의 기능들이 제공될 수 있다.
그 후, CPU(211)가 플러그인 애플리케이션들(301)에 대한 정지 지시를 검출하는 경우, CPU(211)는 플러그인 애플리케이션들(301)에 대하여 정지 지시를 행한다. 또한, CPU(211)가 플러그인 애플리케이션들(301)에 대한 언인스톨(uninstallation) 지시를 검출하는 경우, 플러그인 애플리케이션(301)의 정보는 HDD(213)로부터 삭제됨으로써, 플러그인 애플리케이션들을 언인스톨한다. CPU(211)에 의해 검출되는 각 지시는, 예를 들어 원격 UI 또는 조작 유닛(204)으로부터 수행될 수 있다는 점을 유의한다. 그러나, 전술한 방법 이외의 방법에 의해 지시가 수행될 수 있다.
(단독 기능 플러그인 애플리케이션(302))
이어서, 단독 기능 플러그인 애플리케이션(302)에 대해서, 더 상세히 설명할 것이다. 단독 기능 플러그인 애플리케이션(302)은, 화면 정보(325)를 갖는다. CPU(211)는, 화면 정보(325)에 기초하여, 대응하는 조작 화면을, 조작 유닛 I/F(217)를 통해 조작 유닛(204)에 표시할 수 있다. 또한, CPU(211)는, 표시한 조작 화면을 통해 사용자로부터의 지시를 접수할 수 있다.
단독 기능 플러그인 애플리케이션(302)은, 디바이스 제어 라이브러리(309)가 제공하는 API를 호출함으로써, 디바이스 제어 애플리케이션들(304)과는 다른 기능 또는 화면을 사용자에 제공할 수 있다. 단독 기능 플러그인 애플리케이션(302)은, 디바이스 제어 라이브러리들(309)에 의한 복수의 기능을 조합해서 제공할 수 있다. 예를 들어, 단독 기능 플러그인 애플리케이션(302)은, 주어진 화상을 카피하고, 스캔에 의해 얻어진 화상 데이터를, 이러한 플러그인 애플리케이션 자체가 유지하는 수신처 데이터베이스 내에 특정한 수신처로 송신하는 기능을 제공할 수 있다.
단독 기능 플러그인 애플리케이션(302)은, 화상 처리 기능을 가질 필요가 없다는 점을 유의해야 한다. 이 경우, 화상 처리의 설정을 행하지 않는다. 디바이스 제어 라이브러리들(309)이 단독 기능 플러그인 애플리케이션(302)으로부터 인쇄 데이터, 또는 범용 포맷으로 변환된 화상 데이터를 수신하는 경우, 디바이스 제어 라이브러리들(309)은 오퍼레이팅 시스템(317)에 대하여 필요한 처리의 제어를 지시함으로써, 작업을 실행시킨다.
(화상 처리 플러그인 애플리케이션(303))
이어서, 화상 처리 플러그인 애플리케이션(303)에 대해서, 더 상세히 설명할 것이다. 화상 처리 플러그인 애플리케이션(303)은, 특정한 화상 처리를 제공하는 애플리케이션이다. 화상 처리 플러그인 애플리케이션(303)은, 상이한 화상 처리 동작들을 실행하는 복수의 애플리케이션으로부터 형성될 수 있다는 점을 유의해야 한다. 예를 들어, 입력 화상의 예를 들어, 화상 포맷 변환, 사행(skew) 보정, 폼(form) 인식 및 OCR 처리가 실행 가능한 복수의 애플리케이션이, 화상 처리 플러그인 애플리케이션(303)으로서 화상 형성 장치(101)에 인스톨될 수 있다. 화상 처리 플러그인 애플리케이션(303)은, 추가로 인스톨될 때, 애플리케이션에서 실행 가능한 화상 처리를 나타내는 화상 처리 정보로서, 화상 처리의 명칭(화상 처리명)을 유지하는 것이 바람직하다는 점을 유의해야 한다. 이에 의해, 도 6의 단계 S603(후술함)에서 문의되는 화상 처리명에 대응하는 화상 처리가 실행 가능한지 적합하게 판정할 수 있게 된다.
화상 처리 플러그인 애플리케이션(303)은, 단독 기능 플러그인 애플리케이션(302) 또는 디바이스 제어 애플리케이션들(304)로부터, 접속 라이브러리(332)를 통해 화상 처리 요구(화상 처리 실행 요구)를 접수할 수 있다. 또한, 화상 처리 플러그인 애플리케이션(303)은, 디바이스 제어 라이브러리들(309)로부터 또한, 네이티브 접속 라이브러리(314) 및 접속 라이브러리(332)를 통해, 화상 처리 요구를 접수할 수 있다.
화상 처리 플러그인 애플리케이션(303)은, 접수한 화상 처리 요구에 따라, 화상 처리를 실행한다. 화상 처리 요구는, 처리 대상의 화상 데이터 및 처리 파라미터들을 포함할 수 있다. 처리 파라미터들은, 예를 들어 (후술하는) 화상 처리명 및 화상 처리에 관련된 파라미터들을 포함한다. 또한, 화상 처리 플러그인 애플리케이션(303)은, 화상 처리 요구에 기초하여, 필요에 따라, 네이티브 클라이언트(331)의 화상 처리 기능을 이용할 수 있다. 화상 처리 플러그인 애플리케이션(303)이 그의 화상 처리 기능을 가질 필요는 없다는 점을 유의해야 한다. 화상 처리 플러그인 애플리케이션(303)이 화상 처리 기능을 갖고 있지 않아도, 화상 처리 플러그인 애플리케이션(303)은 네이티브 클라이언트(331)를 이용함으로써, 네이티브 모듈(316)의 화상 처리 기능을 이용할 수 있다.
화상 처리 플러그인 애플리케이션(303)이 네이티브 모듈(316)를 이용하게 하는 이유들 중 하나는, 화상 처리의 높은 처리 속도이다. 더 구체적으로는, 화상 처리를 행할 때, 대량의 복잡한 수치 연산의 실행이 필요하게 될 경우, 및 처리의 과정에서 대량의 메모리가 필요하게 될 경우가 있다. 이러한 경우, 자바와 같이 가상 머신을 통해 처리를 행하는 프로그래밍 언어에 의한 처리 시스템이 아니고, CPU가 직접 실행하는 오브젝트 파일을 생성하는 컴파일러 언어를 이용하는 처리 시스템을 이용함으로써, 더 높은 처리 속도가 기대될 수 있다.
또한, 화상 처리 플러그인 애플리케이션(303)은 또한, 외부 클라이언트(333)를 이용하는 것에 의해, 서버(외부 장치)(105)와 같은 외부 장치에 대하여 입력 화상 및 화상 처리 요구를 송신하고, 외부의 화상 처리 클라이언트에 의한 화상 처리의 실행을 요구할 수 있다. 이는, 화상 형성 장치(101)에 의해 실행될 수 없는 화상 처리를 실행하거나, 대용량 메모리를 이용한 고속의 처리를 실행하는 것을 가능하게 만든다.
<서버의 하드웨어 구성>
이어서, 도 4를 참조하여, 본 실시예에 따른 서버의 구성예에 대해서 설명할 것이다. 서버(105)는, CPU(401), RAM(402), HDD(403) 및 네트워크 I/F(404)를 포함한다. CPU(211)는, RAM(402), HDD(403) 및 네트워크 I/F(404)와 데이터를 교환할 수 있다. 또한, CPU(401)는, HDD(403)로부터 판독한 프로그램(명령어)을 RAM(402)에 로딩하고, RAM(402)에 로딩한 프로그램을 실행한다.
HDD(403)에는, CPU(401)에 의해 실행 가능한 프로그램들, 서버(105)에 사용되는 설정 값들, 사용자로부터 요구된 처리와 연관된 데이터 등이 저장될 수 있다. 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)를 포함한다. 본 발명에서의 서버의 소프트웨어 구성을 전술한 2개의 컴포넌트만으로 한정하기 위한 의도가 없고, 다른 모듈 등이 포함될 수 있다는 점을 유의해야 한다.
모듈(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)는, 화상 처리명을 사용하여, 각각의 화상 처리 플러그인 애플리케이션에 대하여 문의하지 않고서, 자체가 유지하고 있는 정보에 기초하여, 적절한 플러그인을 선택할 수 있다.
<제2 실시예>
이하에서는, 본 발명의 제2 실시예를 설명할 것이다. 전술한 제1 실시예에서는, 접속 라이브러리(332)는, 화상 처리 플러그인 애플리케이션(303)에 대하여 화상 처리명을 지정하고, 그에 대응하는 화상 처리가 실행 가능한지에 관해 문의함으로써, 플러그인을 선택한다.
그러나, 단지 화상 처리명으로부터, 화상 처리 플러그인 애플리케이션(303)은 정확하게 선택을 행하지 않을 수 있다. 여기서, 화상 처리명으로서, "OCR"이 지정된 경우를 고려할 것이다. OCR 처리를 행하는 플러그인들로서, 디바이스 내의 네이티브 모듈(316)로부터 처리를 요구하는 플러그인과, 네트워크(106)를 통해 서버(105)로부터 처리를 요구하는 플러그인이 존재한다. 전자는, 영어 등의, 디바이스 내에 OCR 사전이 존재하는 언어에 관한 처리를 행하기 위한 플러그인이다. 후자는, 디바이스 내에 사전이 존재하지 않는 언어에 관한 처리를 행하기 위한 플러그인이다. 이러한 경우에서는, "OCR"이라고 하는 화상 처리명에 대응하는 복수의 플러그인이 존재한다. 따라서, 단지 화상 처리명의 정보로부터, 정확하게 화상 처리 플러그인 애플리케이션(303)을 선택할 수 없다.
이에 대처하기 위해, 본 실시예에서는, 화상 처리 플러그인 애플리케이션(303)의 선택을 행할 때, 화상 처리명에 더하여, 화상 처리에 관련된 파라미터 정보를 이용한다. 파라미터는, 키와 값의 쌍에 의해 형성되고, 하나의 화상 처리 동작에 대하여 복수의 쌍이 지정될 수 있다. 전술한 예에 있어서, 파라미터를, "키:밸류"의 형태로 표현하면, "언어:영어"라고 하는 용어가 지정된다. 화상 처리명 "OCR", 파라미터, 및 "언어:영어"의 정보에 기초하여, 접속 라이브러리(332)는, 네이티브 모듈(316)을 이용하는 것에 의해 OCR 처리를 실행하는 화상 처리 플러그인 애플리케이션(303)을 선택할 수 있다.
다른 예로서, 파라미터로서 지정되는, "입력 화상 해상도"에 의해, 이용되는 플러그인들이 전환되는 경우가 또한 고려된다. 먼저, 파라미터로서, "입력 화상 해상도:300 DPI"가 지정된 경우에는, 디바이스 내의 네이티브 모듈(316)로부터 처리를 요구하는 플러그인을 이용한다. 한편, 파라미터로서, "입력 화상 해상도:600 DPI"가 지정된 경우에는, 서버(105)로부터 처리를 요구하는 플러그인을 이용한다. 이것은, 입력 해상도가 증가함에 따라, 처리에 필요한 RAM(212)의 공간이 증가하므로, 화상 형성 장치(101) 내에서 처리되는 입력 화상 해상도에는 미리 결정된 제한들이 부과되고, 미리 결정된 입력 해상도를 초과한 경우에는, 서버(105)로부터 처리를 요구할 필요가 있기 때문이다.
<처리 절차>
도 7을 참조하여, 본 실시예에서의, 접속 라이브러리(332)가, 화상 처리 플러그인 애플리케이션(303)을 호출할 때의 처리 절차에 대해서 설명할 것이다. 이하에서 설명하는 처리는, 예를 들어 HDD(213)에 저장된 프로그램들을 RAM(212)에 로딩하고, CPU(211)가 프로그램들을 실행하게 함으로써 구현된다. 본 실시예의 시스템 구성 및 처리 절차는, 전술한 제1 실시예에서 설명한 것과 동일하고, 그 설명을 생략하고, 상이한 부분들만을 설명할 것이라는 점을 유의해야 한다. 더 구체적으로는, 단계 S701, 단계 S704, 단계 S705 및 단계 S706은, 단계 S601, 단계 S604, 단계 S605, 및 단계 S606과 동일하므로 그 설명을 생략할 것이다.
단계 S702에서, 접속 라이브러리(332)는, 단계 S701에서 지정된, 화상 처리명과 파라미터를 참조한다. 또한, 단계 S703에서, 접속 라이브러리(332)는, 인스톨된 모든 화상 처리 플러그인 애플리케이션(303)에 대하여 화상 처리명과 파라미터를 지정하고, 그것들에 대응하는 화상 처리가 실행 가능한지에 관해 문의한다.
이상 설명한 바와 같이, 본 실시예에 따르면, 화상 처리명과 파라미터에 2개 종류의 정보에 기초하여, 더 상세한 조건 하에서, 화상 처리 플러그인 애플리케이션(303)을 선택하는 것이 가능하게 된다. 또한, 전술한 바와 같이, 전술한 단계 S703에서는, 접속 라이브러리(332)가 화상 처리명 및 파라미터를 사용하는 것에 의해 각각의 화상 처리 플러그인 애플리케이션(303)에 대하여 화상 처리명 및 파라미터에 대응하는 화상 처리가 실행 가능한지를 문의한다. 이 구성 대신에, 각각의 화상 처리 플러그인 애플리케이션(303)이 인스톨될 때, 접속 라이브러리(332)에 대하여 자체가 실행할 수 있는 화상 처리에 대응하는 화상 처리명 및 파라미터를 플러그인 애플리케이션과 연계하여 등록할 수 있다. 이에 의해, 접속 라이브러리(332)는, 화상 처리명 및 파라미터를 사용하는 것에 의해, 각각의 화상 처리 플러그인 애플리케이션에 대하여 문의하지 않고서, 자체가 유지하고 있는 정보에 기초하여, 적절한 플러그인을 선택할 수 있다.
<제3 실시예>
이하에서는, 본 발명의 제3 실시예를 설명할 것이다. 전술한 제2 실시예에 있어서는, 접속 라이브러리(332)는, 화상 처리 플러그인 애플리케이션(303)에 대하여 화상 처리명과 파라미터를 지정하고, 그것들에 대응하는 화상 처리가 실행 가능한지에 관해 문의함으로써, 플러그인을 선택한다.
그러나, 모든 화상 처리 플러그인 애플리케이션(303)에 대해서, 화상 처리명과 파라미터를 지정한 후에, 화상 처리가 실행 가능한지를 판정하면, 처리에 시간이 걸릴 수 있다. 이는 예를 들어, 화상 처리 플러그인 애플리케이션들(303)의 수가 많거나, 화상 처리가 실행 가능한지에 대한 다수의 복잡한 판정 로직이 존재하는 경우이다.
전술한 제2 실시예의 방법에서는, 화상 처리가 실행 가능한지에 관한 문의를, 화상 처리 플러그인 애플리케이션들(303)의 수와 동일한 횟수로 실행할 필요가 있다. 이러한 방법에서는, 지정된 화상 처리를 행하는 기능을 갖지 않은 화상 처리 플러그인 애플리케이션에 대해서도, 플러그인의 능력에 관한 문의 처리가 수행된다. 예를 들어, 지정된 화상 처리를 실행하는 기능을 갖지 않은 화상 처리 플러그인 애플리케이션에 대해서도, 화상 처리 플러그인 애플리케이션의 능력을 나타내는 함수를 호출하고, 지정된 파라미터로 화상 처리가 실행 가능한지를 확인하는 확인 처리가 발생한다. 이 확인 처리를 실행하기 위한 판정 로직이 복잡할 경우, 원래 실행할 필요가 없는 처리를 실행하게 된다. 또한, 애플리케이션에 따라서는, 애플리케이션이 지정된 화상 처리를 행하는 기능을 갖지 않아도, 지정된 파라미터로 화상 처리를 행할 수 있는지를 판정하기 위한 판정 처리를 실행할 수 있다. 원래 실행하는 필요가 없는 이들 처리들을 실행함으로써, 검색 시간이 증가되거나, CPU(211)의 처리 부하가 증가한다.
이에 대처하기 위해, 본 실시예에 있어서는, 2단계의 필터를 동작시키는 것에 의해, 화상 처리 플러그인 애플리케이션(303)을 선택함으로써, 처리 속도 및 유연성 양자 모두를 유지한다. 처음에, 1단계의 필터를 적용하여, 단지 지정된 화상 처리명으로부터, 화상 처리 플러그인 애플리케이션들(303)의 후보들을 좁힌다. 이것은 간단히, 지정된 화상 처리명과 일치하는 화상 처리명을 유지하는 화상 처리 플러그인 애플리케이션들(303)을 찾아내는 처리이다. 그 후, 2단계의 필터를 적용하여, 1단계의 필터에 의해 좁혀진 후보들에 대하여 파라미터를 지정하고, 처리가 가능한지에 관해 문의함으로써, 적절한 화상 처리 플러그인 애플리케이션(303)을 선택한다.
1단계의 필터 처리는, 취득한 화상 처리명을 사용하는 것에 의해, 지정된 화상 처리를 각각 실행할 수 있는 플러그인 애플리케이션들을 선택하는 제1 선택 처리이다. 또한, 2단계의 필터 처리는, 제1 선택 처리에 의해 선택된 플러그인 애플리케이션들 중에서, 파라미터에 따른 화상 처리를 실행할 수 있는 플러그인 애플리케이션을 선택하는 제2 선택 처리이다. 이는, 처리가 실행 가능한지를 판정하기 위한 로직이 복잡한 경우에도, 미리 좁혀진 후보들에만 처리를 적용할 필요가 있어서, 2단계 필터들을 동작시키지 않는 경우에 비하여, 처리 시간의 증가를 억제할 수 있게 한다.
<처리 절차>
도 9에 도시된 흐름도를 참조하여, 본 실시예에서의, 접속 라이브러리(332)가, 화상 처리 플러그인 애플리케이션(303)을 호출하는 처리의 상세에 대해서 설명할 것이다. 이하에서 설명하는 처리는, 예를 들어 HDD(213)에 저장된 프로그램들을 RAM(212)에 로딩하고, CPU(211)가 프로그램들을 실행하게 함으로써 구현된다. 본 실시예의 시스템 구성 및 처리 절차는, 전술한 제1 실시예에서 설명한 것과 동일하고, 그 설명을 생략하고, 상이한 부분들만을 설명할 것이라는 점을 유의해야 한다. 더 구체적으로는, 단계 S901, 단계 S902, 단계 S908, 및 단계 S909는, 단계 S601, 단계 S602, 단계 S605, 및 단계 S606과 동일하다.
단계 S903에서, 접속 라이브러리(332)는, 인스톨된 모든 화상 처리 플러그인 애플리케이션(303)에 대하여 화상 처리명을 지정하고, 플러그인이 그 화상 처리명에 대응하는지에 관해 문의한다. 이것은, 전술한 1단계의 필터에 대응하는 처리이다. 단계 S904에서, 접속 라이브러리(332)는, 지정된 화상 처리명에 대응하는 화상 처리 플러그인 애플리케이션(303)이 존재하는지를 판정한다. 화상 처리 플러그인 애플리케이션(303)이 존재하는 경우에, 처리는 단계 S905로 진행한다. 화상 처리 플러그인 애플리케이션(303)이 존재하지 않는 경우에, 처리는 단계 S909로 진행한다. 예를 들어, 단계 S901에서, 화상 처리명 "OCR"이 지정된 경우, "OCR"로서 동일한 화상 처리명을 유지하는 화상 처리 플러그인 애플리케이션(303)이 존재하는 경우에는, 처리는 단계 S905로 진행한다. 단계 S905에서, 접속 라이브러리(332)는, 단계 S901에서 지정된 파라미터를 참조한다. 단계 S906에서, 접속 라이브러리(332)는, 단계 S904에서 검출한 화상 처리 플러그인 애플리케이션(303)에 대하여 파라미터를 지정하고, 그것에 대응하는 화상 처리가 실행 가능한지에 관해 문의한다. 전술한 예에 있어서는, 화상 처리명 "OCR"을 갖는 화상 처리 플러그인 애플리케이션(303)에 대하여 파라미터 "언어:영어"를 지정하고, 화상 처리가 실행 가능한지에 관한 문의가 이루어진다. 이때, 전술한 제2 실시예와 마찬가지로, 화상 처리 플러그인 애플리케이션(303) 내부에서는, 미리 결정된 디렉토리 이하에, 영어를 지원하는 OCR 사전이 존재하는지에 따라, 화상 처리가 실행 가능한지에 대한 판정이 이루어진다.
또한, 동일한 화상 처리명에 대응하는 화상 처리 플러그인 애플리케이션(303)으로서, 화상 형성 장치(101) 내부에서 처리를 행하는 플러그인과, 서버(105)에 처리를 행하도록 의뢰하는 플러그인의 양자 모두가 존재하는 경우도 있다.
지정된 화상 형성 장치(101) 내부에서 화상 처리를 행하는 경우에는, 서버(105)에 처리를 행하도록 의뢰할 경우와 비교하여, 서버(105)와의 통신 시간이 불필요하기 때문에, 짧은 시간에서 처리를 실행할 수 있게 한다. 한편, 화상 형성 장치(101) 내의 다른 기능과 메모리를 공유하기 때문에, 경우에 따라서는 메모리가 부족하게 되어, 다른 기능의 동작에 영향을 줄 수 있다. 서버(105)에 화상 처리를 행하도록 의뢰할 경우에는, 화상 형성 장치(101)의 메모리를 사용하지 않아서, 화상 형성 장치(101)의 다른 기능의 동작에 영향을 주는 것을 방지한다.
즉, 화상 형성 장치(101)에서 메모리가 부족하게 되지 않을 경우에, 서버(105)에 처리를 행하도록 의뢰하는 것보다 화상 형성 장치(101)의 내부에서 화상 처리를 행하는 화상 처리 플러그인 애플리케이션(303)에 의해 처리를 실행하는 것에 의해, 처리 시간을 더 단축할 수 있을 가능성이 높다. 한편, 화상 형성 장치(101)에서 메모리가 부족하게 되는 경우에, 서버(105)에 화상 처리를 행하도록 의뢰하는 화상 처리 플러그인 애플리케이션(303)에 의해 처리를 실행하는 것이 바람직하다.
따라서, 화상 처리 플러그인 애플리케이션은, 지정된 파라미터를 만족시키는 화상 처리를 행할 때의 메모리 사용에 따라, 지정된 화상 처리를 화상 처리 플러그인 애플리케이션이 실행할 수 있는지를 판정할 수 있다.
예를 들어, 화상 형성 장치(101) 내부에서 화상 처리를 행하는 화상 처리 플러그인 애플리케이션(303)은, "입력 화상 해상도:600 DPI"와 같은, 입력 해상도에 관련된 파라미터에 기초하여, 화상 처리가 실행 가능한지를 판정한다. "입력 화상 해상도:600 DPI"에 대응하는 화상 처리를 실행하기 위해, 실행시의 RAM(212)의 사용이 많고, 다른 기능의 실행에 영향을 미칠 수 있다. 따라서, 화상 형성 장치(101)의 내부에서 처리를 행하는 화상 처리 플러그인 애플리케이션(303)은, 화상 처리가 실행 불가능한 것으로 판정한다.
또한, 서버(105)에 처리를 행하도록 의뢰하는 화상 처리 플러그인 애플리케이션(303)은, 서버(105)에서 충분히 메모리 공간을 확보할 수 있기 때문에, 화상 처리를 실행할 수 있다고 판정한다.
한편, 파라미터가 "입력 화상 해상도:300 DPI"인 경우, 실행시의 RAM(212)의 사용은, 600 DPI의 경우보다 작고, 다른 기능의 실행에 영향을 미칠 가능성이 낮다. 따라서, 화상 형성 장치(101)의 내부에서 처리를 행하는 화상 처리 플러그인 애플리케이션(303)은, 화상 처리가 실행 가능한 것으로 판정한다.
단계 S907에서, 접속 라이브러리(332)는, 지정된 파라미터에 기초하여 처리를 실행할 수 있는 화상 처리 플러그인 애플리케이션(303)이 존재하는지를 판정한다. 화상 처리 플러그인 애플리케이션(303)이 존재하는 경우에, 처리는 단계 S908로 진행한다. 화상 처리 플러그인 애플리케이션(303)이 존재하지 않는 경우에, 처리는 단계 S909로 진행한다.
본 실시예에서 나타낸 방법에 따르면, 2단계의 필터를 동작시킴으로써, 화상 처리 플러그인 애플리케이션(303)을 선택하는 것에 의해, 처리 속도 및 유연성 양자 모두를 유지할 수 있게 된다.
<변형예>
본 발명은 전술한 실시예들에 한정하지 않고 여러가지 변형들이 이루어질 수 있다. 예를 들어, 화상 형성 장치(101) 내부에서 화상 처리를 행하는 화상 처리 플러그인 애플리케이션(303)은, 화상 처리가 실행 가능한지를, 지정된 파라미터뿐만 아니라 화상 형성 장치(101)의 RAM(212)의 사용 상황에 따라서도 동적으로 판정할 수 있다.
예를 들어, 화상 형성 장치(101) 내부에서 처리를 행하는 화상 처리 플러그인 애플리케이션(303)은, 파라미터로서 "입력 화상 해상도:600 DPI"가 입력된 경우에서도, RAM(212)의 빈 공간이 미리 결정된 공간 이상인 경우에는, 화상 처리가 실행 가능한 것으로 판정한다. 한편, 화상 형성 장치(101) 내부에서 처리를 행하는 화상 처리 플러그인 애플리케이션(303)은, RAM(212)의 빈 공간이 미리 결정된 공간 미만인 경우에는, 파라미터로서 "입력 화상 해상도:600 DPI"가 수신되면, 화상 처리가 실행될 수는 없는 것으로 판정한다.
전술한 처리를, 도 10의 흐름도를 참조하여 설명할 것이다. 본 흐름도에 의한 처리는, CPU(211)가 화상 처리 플러그인 애플리케이션(303)을 실행하게 함으로써 구현된다. 이하에서 설명하는 처리는, 예를 들어 HDD(213)에 저장된 프로그램들을 RAM(212)에 로딩하고, CPU(211)가 프로그램들을 실행하게 함으로써 구현된다.
단계 S1001에서, 화상 처리 플러그인 애플리케이션(303)은, 지정된 파라미터에 따른 화상 처리를 실행하기 위해서 필요한, 메모리 빈 공간의 임계값을 취득한다. 예를 들어, 화상 처리 플러그인 애플리케이션(303)은, 화상 처리 파라미터와, 메모리 공간에 관한 임계값을 서로 연관시킨 정보를 관리하고, 이 정보를 참조하여, 지정된 파라미터에 대응하는 임계값을 취득한다. 이 연관 정보는, 예를 들어 화상 처리 플러그인 애플리케이션(303)의 인스톨 시에, 화상 형성 장치(101)의 HDD(213) 등의 저장 유닛에 저장된다.
이어서, 단계 S1002에서, 화상 처리 플러그인 애플리케이션(303)은, RAM(212)의 빈 공간을 취득한다. 단계 S1002는, 화상 형성 장치(101)의 메모리 사용 상황을 취득하는 공간 취득 처리이다. 후속하여, 단계 S1003에서, 화상 처리 플러그인 애플리케이션(303)은, 단계 S1002에서 취득한 빈 공간이, 단계 S1001에서 취득한 임계값 이상 인지를 판정한다.
화상 처리 플러그인 애플리케이션(303)은, 단계 S1002에서 취득한 빈 공간이, 단계 S1001에서 취득한 임계값 이상일 경우에, 처리는 단계 S1004로 진행하고, 지정된 화상 처리가 실행 가능한 것으로 접속 라이브러리(332)에 응답함으로써, 처리를 종료한다. 한편, 화상 처리 플러그인 애플리케이션(303)은, 단계 S1002에서 취득한 빈 공간이, 단계 S1001에서 취득한 임계값 미만일 경우에, 처리는 단계 S1005로 진행하고, 지정된 화상 처리의 실행이 불가능한 것으로 접속 라이브러리(332)에 응답함으로써, 처리를 종료한다.
전술한 바와 같이, 화상 처리 플러그인 애플리케이션(303)은, 메모리 사용 상황과, 메모리 사용 상황에 관한 임계값에 기초하여, 특정한 플러그인 애플리케이션이, 파라미터에 따른 화상 처리를 실행할 수 있는지를 판정한다. 이와 같이, 화상 형성 장치(101)의 메모리 사용 상황에 따라서 동적으로, 지정된 화상 처리의 실행 가능/불가능을 응답할 수 있다. 또한, 접속 라이브러리(332)는, 응답된 내용(판정 결과)에 기초하여, 지정된 파라미터에 따른 화상 처리가 실행 가능한 플러그인 애플리케이션을 선택할 수 있다.
본 변형예에서는, 화상 처리 플러그인 애플리케이션(303)이, 지정된 화상 처리가 실행 가능한지를 판정하는 예에 대해서 설명했다. 그러나, 이 변형예는 이에 한정되지 않고, 접속 라이브러리(332)가 판정을 행할 수 있다. 예를 들어, 접속 라이브러리(332)가, 화상 처리 플러그인 애플리케이션(303)의 식별 정보, 화상 처리 파라미터, 및 메모리 공간에 관한 임계값을 서로 연관하여 관리한다. 그 후, 판정 대상의 화상 처리 플러그인 애플리케이션(303)의 식별 정보와 연관된 파라미터와 임계값에 기초하여, 도 10에 도시된 처리와 동일한 처리가 실행될 수 있다. 이 경우, 도 10에 도시된 처리는, HDD(213)에 저장된 프로그램 코드들을 RAM(212)에 로딩하고, CPU(211)가 프로그램 코드를 실행하게 함으로써 구현된다.
단계 S1004에서, 접속 라이브러리(332)는, 판정 대상의 화상 처리 플러그인 애플리케이션(303)이 지정된 처리를 실행할 수 있는 것으로 판정한다. 또한, 단계 S1005에서, 접속 라이브러리(332)는, 판정 대상의 화상 처리 플러그인 애플리케이션(303)이 지정된 처리를 실행할 수 없는 것으로 판정한다.
전술한 방식으로, 화상 형성 장치(101)의 메모리 사용 상황에 따라서 동적으로, 지정된 화상 처리의 실행 가능/불가능을 또한 판정할 수 있다.
다른 실시예들
본 발명의 실시예(들)는, 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체(보다 완전하게는 '비일시적 컴퓨터 판독 가능 저장 매체'라 칭할수도 있음)에 기록된 컴퓨터 실행가능 명령어(예를 들어, 하나 이상의 프로그램)를 판독 및 실행하고 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하는 하나 이상의 회로(예를 들어, 주문형 집적 회로(ASIC))를 포함하는 시스템 또는 장치의 컴퓨터에 의해, 그리고 예를 들어 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 저장 매체로부터 컴퓨터 실행가능 명령어를 판독 및 실행함으로써 그리고/또는 전술한 실시예(들) 중 하나 이상의 기능을 실행하기 위해 하나 이상의 회로를 제어함으로써 시스템 또는 장치의 컴퓨터에 의해 실행되는 방법에 의해 실현될 수도 있다. 컴퓨터는 하나 이상의 프로세서(예를 들어, 중앙 처리 유닛(CPU), 마이크로 처리 유닛(MPU))를 포함할 수 있고 컴퓨터 실행가능 명령어를 판독 및 실행하기 위한 별도의 컴퓨터 또는 별도의 프로세서의 네트워크를 포함할 수 있다. 컴퓨터 실행가능 명령어는 예를 들어 네트워크 또는 저장 매체로부터 컴퓨터에 제공될 수 있다. 저장 매체는, 예를 들어 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 분산형 컴퓨팅 시스템들의 스토리지, 광 디스크(예를 들어, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD) 또는 블루레이 디스크(BD)™), 플래시 메모리 디바이스, 메모리 카드 등 중 하나 이상을 포함할 수 있다.
(기타의 실시예)
본 발명은, 상기의 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억 매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실현가능하다.
또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
본 발명을 예시적인 실시예를 참고하여 설명하였지만, 본 발명은 개시된 예시적인 실시예로 한정되지 않음을 이해해야 한다. 이하의 청구항의 범위는 이러한 모든 변형과 동등한 구조 및 기능을 포함하도록 최광의로 해석되어야 한다.

Claims (13)

  1. 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치로서,
    상기 기능을 사용하여 미리 결정된 처리를 실행하라는 요구를 접수하는 접수 유닛;
    상기 접수된 요구로부터, 상기 미리 결정된 처리의 식별 정보, 및 상기 미리 결정된 처리를 실행하는데 사용될 파라미터를 취득하는 취득 유닛;
    상기 식별 정보에 의해 식별된 상기 미리 결정된 처리가 실행 가능한지 여부에 관해 상기 화상 처리 장치에 인스톨된 1개 이상의 플러그인 애플리케이션에 제1 문의를 행하는 제1 문의 유닛;
    상기 미리 결정된 처리가 상기 파라미터를 사용하여 실행 가능한지 여부에 관해 상기 제1 문의의 결과로 식별된 하나 이상의 플러그인 애플리케이션에 제2 문의를 행하는 제2 문의 유닛;
    상기 제2 문의의 결과로 식별된 상기 플러그인 애플리케이션에 상기 파라미터를 사용하여 상기 미리 결정된 처리를 실행하도록 지시하는 지시 유닛
    을 포함하는, 화상 처리 장치.
  2. 제1항에 있어서,
    상기 제2 문의 유닛은, 상기 제1 문의의 결과로 식별된 각각의 인스톨된 플러그인 애플리케이션에 통지하고, 상기 미리 결정된 처리가 실행 가능한지에 관해 문의하고, 상기 플러그인 애플리케이션이 상기 미리 결정된 처리를 실행할 수 있는 것으로 응답한 플러그인 애플리케이션을 선택하는, 화상 처리 장치.
  3. 제1항에 있어서,
    상기 플러그인 애플리케이션이 인스톨될 때, 상기 플러그인 애플리케이션과, 상기 플러그인 애플리케이션에 의해 실행되는 화상 처리의 식별 정보를 서로 연계하여 등록하는 등록 유닛을 추가로 포함하고,
    상기 지시 유닛은, 상기 취득 유닛에 의해 취득된 식별 정보가 상기 등록 유닛에 의해 등록된 경우에, 상기 등록된 식별 정보와 연계하여 등록된 플러그인 애플리케이션에 지시하는, 화상 처리 장치.
  4. 제1항에 있어서,
    상기 지시 유닛은, 상기 식별 정보에 더하여, 상기 미리 결정된 처리에 관련된 파라미터를 사용하는 것에 의해, 상기 미리 결정된 처리를 실행할 수 있는 플러그인 애플리케이션에 지시하는, 화상 처리 장치.
  5. 제4항에 있어서,
    상기 미리 결정된 처리가 OCR 처리일 경우에,
    상기 식별 정보는, OCR 문자열을 포함하고,
    상기 파라미터는, OCR 언어를 나타내는, 화상 처리 장치.
  6. 제4항에 있어서,
    상기 파라미터는, 상기 미리 결정된 처리가 수행되는 입력 화상의 해상도를 나타내는, 화상 처리 장치.
  7. 제1항에 있어서,
    상기 지시 유닛은, 상기 미리 결정된 처리를 실행할 수 있는 플러그인 애플리케이션이 상기 제2 문의에 의해 식별되지 않을 경우에, 상기 미리 결정된 처리를 실행할 수 있는 상기 플러그인 애플리케이션이 존재하지 않는 것을 요구원에 통지하는, 화상 처리 장치.
  8. 제1항에 있어서,
    상기 지시 유닛은, 외부 장치가 제공하는 화상 처리 클라이언트에, 상기 미리 결정된 처리를 실행할 수 있는 플러그인 애플리케이션으로서 지시하는, 화상 처리 장치.
  9. 삭제
  10. 삭제
  11. 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치를 제어하는 방법으로서,
    상기 기능을 사용하여 미리 결정된 처리를 실행하라는 요구를 접수하는 단계;
    상기 접수된 요구로부터, 상기 미리 결정된 처리의 식별 정보, 및 상기 미리 결정된 처리를 실행하는데 사용될 파라미터를 취득하는 단계;
    상기 식별 정보에 의해 식별된 상기 미리 결정된 처리가 실행 가능한지 여부에 관해 상기 화상 처리 장치에 인스톨된 1개 이상의 플러그인 애플리케이션에 제1 문의를 행하는 제1 문의 단계;
    상기 미리 결정된 처리가 상기 파라미터를 사용하여 실행 가능한지 여부에 관해 상기 제1 문의의 결과로 식별된 하나 이상의 플러그인 애플리케이션에 제2 문의를 행하는 제2 문의 단계;
    상기 제2 문의의 결과로 식별된 상기 플러그인 애플리케이션에 상기 파라미터를 사용하여 상기 미리 결정된 처리를 실행하도록 지시하는 단계
    를 포함하는, 방법.
  12. 삭제
  13. 플러그인 애플리케이션을 인스톨함으로써, 제공하는 기능을 추가할 수 있는 화상 처리 장치를 제어하는 방법에서의 각각의 단계를 컴퓨터로 하여금 실행하게 하는 프로그램을 저장하는 비일시적 컴퓨터 판독 가능 저장 매체로서,
    상기 방법은,
    상기 기능을 사용하여 미리 결정된 처리를 실행하라는 요구를 접수하는 단계;
    상기 접수된 요구로부터, 상기 미리 결정된 처리의 식별 정보, 및 상기 미리 결정된 처리를 실행하는데 사용될 파라미터를 취득하는 단계;
    상기 식별 정보에 의해 식별된 상기 미리 결정된 처리가 실행 가능한지 여부에 관해 상기 화상 처리 장치에 인스톨된 1개 이상의 플러그인 애플리케이션에 제1 문의를 행하는 제1 문의 단계;
    상기 미리 결정된 처리가 상기 파라미터를 사용하여 실행 가능한지 여부에 관해 상기 제1 문의의 결과로 식별된 하나 이상의 플러그인 애플리케이션에 제2 문의를 행하는 제2 문의 단계;
    상기 제2 문의의 결과로 식별된 상기 플러그인 애플리케이션에 상기 파라미터를 사용하여 상기 미리 결정된 처리를 실행하도록 지시하는 단계
    를 포함하는, 비일시적 컴퓨터 판독 가능 저장 매체.
KR1020180118745A 2017-10-10 2018-10-05 화상 처리 장치, 화상 처리 장치를 제어하는 방법 및 비일시적 컴퓨터 판독 가능 저장 매체 KR102348317B1 (ko)

Applications Claiming Priority (4)

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

Publications (2)

Publication Number Publication Date
KR20190040460A KR20190040460A (ko) 2019-04-18
KR102348317B1 true KR102348317B1 (ko) 2022-01-10

Family

ID=63708091

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180118745A KR102348317B1 (ko) 2017-10-10 2018-10-05 화상 처리 장치, 화상 처리 장치를 제어하는 방법 및 비일시적 컴퓨터 판독 가능 저장 매체

Country Status (4)

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

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10904223B1 (en) * 2018-02-27 2021-01-26 Amazon Technologies, Inc. Stream sniping prevention
US10694252B1 (en) 2018-02-27 2020-06-23 Amazon Technologies, Inc. Service-based prevention of stream sniping
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191610A (ja) 2009-02-17 2010-09-02 Ricoh Co Ltd 情報処理装置、情報処理方法、及びプログラム
JP2015187837A (ja) * 2014-03-10 2015-10-29 株式会社リコー 情報配信システム、情報処理装置、情報配信方法及びプログラム
JP2017027467A (ja) * 2015-07-24 2017-02-02 富士ゼロックス株式会社 管理装置、情報処理システム及びプログラム
JP2017038257A (ja) 2015-08-11 2017-02-16 富士ゼロックス株式会社 情報処理装置、端末装置及びプログラム
JP2017059922A (ja) * 2015-09-15 2017-03-23 株式会社リコー 情報処理システム、画像生成装置、プログラムおよび情報処理方法

Family Cites Families (29)

* 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 画像形成装置及び機能キー割り付け方法
CN100517322C (zh) * 2006-02-10 2009-07-22 联想(北京)有限公司 媒体转换装置和方法
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
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 株式会社リコー データ処理装置、データ処理システム、データ処理方法、及びデータ処理プログラム
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 株式会社サンセイアールアンドディ 遊技機
CN104731623B (zh) * 2015-03-27 2016-11-16 北京奇虎科技有限公司 主程序中启动插件的方法及装置
JP6511946B2 (ja) * 2015-05-11 2019-05-15 富士ゼロックス株式会社 情報処理システム、情報処理装置及び情報処理プログラム
CN105653335A (zh) * 2015-12-31 2016-06-08 北京锐安科技有限公司 一种插件程序的控制方法和装置
US10038808B1 (en) * 2017-01-27 2018-07-31 Xerox Corporation Methods and systems for remotely configuring a multi-function device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010191610A (ja) 2009-02-17 2010-09-02 Ricoh Co Ltd 情報処理装置、情報処理方法、及びプログラム
JP2015187837A (ja) * 2014-03-10 2015-10-29 株式会社リコー 情報配信システム、情報処理装置、情報配信方法及びプログラム
JP2017027467A (ja) * 2015-07-24 2017-02-02 富士ゼロックス株式会社 管理装置、情報処理システム及びプログラム
JP2017038257A (ja) 2015-08-11 2017-02-16 富士ゼロックス株式会社 情報処理装置、端末装置及びプログラム
JP2017059922A (ja) * 2015-09-15 2017-03-23 株式会社リコー 情報処理システム、画像生成装置、プログラムおよび情報処理方法

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102348317B1 (ko) 화상 처리 장치, 화상 처리 장치를 제어하는 방법 및 비일시적 컴퓨터 판독 가능 저장 매체
US11140291B2 (en) Information processing apparatus, control method thereof, and storage medium
US10416937B2 (en) Image forming apparatus, image forming method, and storage medium
US10996998B2 (en) Information processing apparatus and control method thereof
JP2008305004A (ja) 画像形成装置、アプリケーション実行方法及びアプリケーション実行プログラム
US9756211B2 (en) Apparatus equipped with fax function, control method thereof, and storage medium
JP6961412B2 (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
US10425549B2 (en) Information processing apparatus, method of controlling information processing apparatus, and program
US11625205B2 (en) Information processing apparatus, server apparatus, control method, and storage medium
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
CN113168296B (zh) 信息处理装置、服务器装置、控制方法、以及控制程序
JP2017175229A (ja) Fax送信装置、Fax送信システム、Fax送信方法及びプログラム
US9531904B2 (en) Information processing apparatus, control method of information processing apparatus, and recording medium
JP5766652B2 (ja) 画像形成装置
JP2014170366A (ja) 機器、情報処理システム、情報処理方法、及びプログラム

Legal Events

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