JP2020061637A - 画像形成装置、画像形成方法及び画像形成プログラム - Google Patents

画像形成装置、画像形成方法及び画像形成プログラム Download PDF

Info

Publication number
JP2020061637A
JP2020061637A JP2018191118A JP2018191118A JP2020061637A JP 2020061637 A JP2020061637 A JP 2020061637A JP 2018191118 A JP2018191118 A JP 2018191118A JP 2018191118 A JP2018191118 A JP 2018191118A JP 2020061637 A JP2020061637 A JP 2020061637A
Authority
JP
Japan
Prior art keywords
image forming
storage area
job
memory
forming apparatus
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.)
Granted
Application number
JP2018191118A
Other languages
English (en)
Other versions
JP7158656B2 (ja
Inventor
明彦 伊ヶ崎
Akihiko Igasaki
明彦 伊ヶ崎
慎一 橋本
Shinichi Hashimoto
慎一 橋本
邦彦 島本
Kunihiko Shimamoto
邦彦 島本
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.)
Kyocera Document Solutions Inc
Original Assignee
Kyocera Document Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Document Solutions Inc filed Critical Kyocera Document Solutions Inc
Priority to JP2018191118A priority Critical patent/JP7158656B2/ja
Priority to US16/590,202 priority patent/US10712979B2/en
Publication of JP2020061637A publication Critical patent/JP2020061637A/ja
Application granted granted Critical
Publication of JP7158656B2 publication Critical patent/JP7158656B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1218Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources
    • G06F3/122Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to computing resources, e.g. memory, CPU
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0284Multiple user address space allocation, e.g. using different base addresses
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/00954Scheduling operations or managing resources
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32106Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file
    • H04N1/32122Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title separate from the image data, e.g. in a different computer file in a separate device, e.g. in a memory or on a display separate from image 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32443Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter with asynchronous operation of the image input and output devices connected to the memory
    • H04N1/32454Controlling data flow to or from the memory in relation to the amount of data, e.g. file size
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N1/32459Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter for changing the arrangement of the stored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • G06F2212/1024Latency reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/3035In peripheral device, e.g. printer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/50Control mechanisms for virtual memory, cache or TLB
    • G06F2212/502Control mechanisms for virtual memory, cache or TLB using adaptive policy
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3212Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image
    • H04N2201/3216Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image of a job size, e.g. a number of images, pages or copies, size of file, length of message
    • 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/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3201Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N2201/3212Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image
    • H04N2201/3222Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title of data relating to a job, e.g. communication, capture or filing of an image of processing required or performed, e.g. forwarding, urgent or confidential handling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Record Information Processing For Printing (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Memory System (AREA)
  • Facsimiles In General (AREA)
  • Storing Facsimile Image Data (AREA)

Abstract

【課題】画像形成装置におけるメモリ不足に起因する問題の発生を抑制する。【解決手段】複数の機能を実現する画像形成装置は、所定の記憶領域を有する記憶部と、所定の記憶領域の一部を割り当てて、複数のプロセスを実行することによって複数の機能の少なくとも一部を実現するオペレーティングシステムと、画像形成装置が処理対象とするジョブの発生に応じて、ジョブの処理に利用されるメモリ量である消費メモリ量を予測し、消費メモリ量が所定の記憶領域においてジョブに割り当て可能であるか否かを判断する記憶領域管理部とを備える。記憶領域管理部は、割り当て可能でないと判断した場合に、複数のプロセスのうちでジョブの処理で使用されない少なくとも1つのプロセスを終了し、予測されたメモリ量をジョブに割り当て可能とする。【選択図】図1

Description

本発明は、画像形成装置、画像形成方法及び画像形成プログラムに関し、特にメモリ管理に関する。
近年、画像形成装置は、高解像度化及び多機能化に伴って多くのメモリを使用するようになっている。一方、画像形成装置はオフィスにおいて複数のユーザーによって共有され、複写や印刷、画像データの送信といった様々なジョブを並行して処理可能なので、並行処理に起因して一時的にメモリが大量に消費されることがある。さらに、画像形成装置は、複数のユーザーから多数のジョブの処理を要求されるので、メモリリークの問題にも曝されることになる。このような問題に対して、たとえば特許文献1は、画像形成装置に対して印刷ジョブを送信するパーソナルコンピュータにおいて、スプール領域として使用することができる記憶領域の容量を検出し、印刷可否メッセージを表示することによって文字抜けや文字化けを含む不適切な印刷を防止する技術を提案している。
特開2004−227390号公報
しかし、従来は、画像形成装置におけるメモリ不足に起因する問題の発生に対する対策については必ずしも十分な検討が行われていなかった。
本発明は、このような状況に鑑みてなされたものであり、画像形成装置におけるメモリ不足に起因する問題の発生を抑制する技術を提供することを目的とする。
本発明は、複数の機能を実現する画像形成装置を提供する。前記画像形成装置は、所定の記憶領域を有する記憶部と、前記所定の記憶領域の一部を割り当てて、複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現するオペレーティングシステムと、前記画像形成装置が処理対象とするジョブの発生に応じて、前記ジョブの処理に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ジョブに割り当て可能であるか否かを判断する記憶領域管理部とを備え、前記記憶領域管理部は、前記割り当て可能でないと判断した場合に、前記複数のプロセスのうちで前記ジョブの処理で使用されない少なくとも1つのプロセスを終了し、前記消費メモリ量を前記ジョブに割り当て可能とする。
本発明は、所定の記憶領域を有する記憶部を用い、複数の機能を実現する画像形成方法を提供する。前記画像形成方法は、前記所定の記憶領域の一部を割り当てて、複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現するオペレーティング工程と、前記画像形成方法が処理対象とするジョブの発生に応じて、前記ジョブの処理に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ジョブに割り当て可能であるか否かを判断する記憶領域管理工程とを備え、前記記憶領域管理工程は、前記割り当て可能でないと判断した場合に、前記複数のプロセスのうちで前記ジョブの処理で使用されない少なくとも1つのプロセスを終了し、前記消費メモリ量を前記ジョブに割り当て可能とする工程を含む。
本発明は、所定の記憶領域を有する記憶部を備え、複数の機能を実現する画像形成装置を制御する画像形成プログラムを提供する。前記画像形成プログラムは、前記所定の記憶領域の一部を割り当てて、複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現するオペレーティングシステム、及び前記画像形成装置が処理対象とするジョブの発生に応じて、前記ジョブの処理に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ジョブに割り当て可能であるか否かを判断する記憶領域管理部として前記画像形成装置を機能させ、前記記憶領域管理部は、前記割り当て可能でないと判断した場合に、前記複数のプロセスのうちで前記ジョブの処理で使用されない少なくとも1つのプロセスを終了し、前記消費メモリ量を前記ジョブに割り当て可能とする。
本発明によれば、画像形成装置におけるメモリ不足に起因する問題の発生を抑制する技術を提供する。
本発明の一実施形態に係る画像形成装置を示す概略構成図である。 一実施形態に係る画像形成装置の各機能と各プロセスの関係を示す説明図である。 一実施形態に係る画像形成装置のメインメモリの各領域の状態の一例を示す説明図である。 一実施形態に係る画像形成装置のメインメモリの各領域の状態の他の例を示す説明図である。 一実施形態に係る印刷処理手順の内容を示すフローチャートである。 一実施形態に係る印刷実行処理の内容を示すフローチャートである。
以下、本発明を実施するための形態(以下、「実施形態」という)を、図面を参照して説明する。
図1は、本発明の一実施形態に係る画像形成装置100を示す概略構成図である。画像形成装置100は、制御部110と、画像読取部120と、RIP処理部130と、記憶部140と、通信インターフェース部150(通信I/Fとも呼ばれる。)と、画像形成部160と、FAX通信部170とを備えている。RIP処理部130は、PDL解析部131と、色変換処理部132と、ハーフトーン処理部133とを備えている。画像読取部120は、原稿から画像を読み取ってデジタルデータである画像データIDを生成する。RIP処理部130は、画像データに対してRIP処理を実行してビットマップデータであるドットデータを生成する。FAX通信部170は、FAXの送受信を実行する。FAXの送信では、2値化処理が実行される。
画像形成装置100は、LAN30を介してパーソナルコンピュータ20に接続されている。画像形成装置100は、後処理装置40に接続されている。後処理装置40は、画像が形成された印刷用紙に対して、穿孔処理やステープル処理、印刷用紙の束を整合する整合処理といった後処理を実行することができる。
画像形成部160は、ドットデータに基づいて印刷媒体(図示せず)に画像を形成して排出する。本実施形態では、画像形成部160は、画像データIDやパーソナルコンピュータ20から受信した印刷ジョブに基づいて印刷媒体(図示せず)に画像を形成して排出する。ドットデータは、画像形成媒体上のドットの形成状態を表すビットマップデータである。印刷媒体は、画像形成媒体とも呼ばれる。印刷ジョブは、画像形成ジョブとも呼ばれる。
制御部110は、CPU(Central Processing Unit)等の制御手段を備えている。また、制御部110は、各種I/O、USB(Universal Serial Bus)、バス、その他ハードウェア等のインターフェースに関連するコントローラー機能を備えている。制御部110は、画像形成装置100の全体を制御する。制御部110は、この例では、オペレーティングシステムとしてLinux(登録商標)カーネルを使用して作動するものとする。
制御部110は、記憶領域管理部111と、メモリ管理ユニット(Memory Management Unit、MMUとも呼ばれる。)112と、所定の記憶領域を有するメインメモリ113とを有している。メインメモリ113は、RAM(Random Access Memory)から構成されている。CPUは、メインメモリ113内において、記憶領域管理部111によって確保された記憶領域を利用して各処理を実行する。MMU112は、仮想アドレスを物理アドレスに変換する機能を有している。
記憶部140は、非一時的な不揮発性の記録媒体であるハードディスクドライブからなる記憶装置である。記憶部140は、プログラム格納領域141と、スワップ領域142と、BOX領域143と、消費メモリ情報格納領域144とを有している。プログラム格納領域141は、制御部110が実行する各プロセスを実行するためのプログラムを記憶する。スワップ領域142は、メインメモリ113のデータをスワップアウトするために予め確保されている領域である。BOX領域143は、画像形成装置100のユーザーが画像データその他のデータを保存するために予め確保されている領域である。消費メモリ情報格納領域144は、印刷機能や複写機能といった各機能で消費されるメモリ量を表す情報を格納する領域である。
図2は、一実施形態に係る画像形成装置100の各機能と各プロセスの関係を示す説明図である。画像形成装置100は、主な機能として印刷機能、複写機能、FAX機能、送信機能、BOX機能及びメンテナンス機能を有し、各機能を実現するための複数のプロセスを実装している。印刷機能は、PDL解析プロセス、色変換プロセス及びハーフトーンプロセスによって実現されている。複写機能は、画像読取プロセス、色変換プロセス及びハーフトーンプロセスによって実現されている。FAX機能には、画像読取プロセス及び二値化プロセスが使用される。
送信機能は、この例では、画像を読み取ってpdfファイルとしてパーソナルコンピュータ20に送信する機能である。送信機能は、画像読取プロセス及びPDF化プロセスが使用される。BOX機能は、画像データ等を圧縮してBOX領域143に格納し、BOX領域143から読み出して伸張する機能である。BOX機能には、画像読取プロセス及び圧縮伸張プロセスが使用される。メンテナンス機能は、この例では、たとえば消耗品(トナー等)の残存状況や印刷枚数を記録し、サポートセンターに送信する機能である。メンテナンス機能には、管理プロセスが使用される。
図3は、一実施形態に係る画像形成装置100のメインメモリ113の各領域の状態の一例を示す説明図である。メインメモリ113は、テキスト領域113T、静的領域113S、ヒープ領域113H、空き領域113F及びスタック領域113Vから構成されている。
テキスト領域113Tは、プログラム領域とも呼ばれ、機械語に翻訳されたプログラムが格納される固定サイズの領域である。画像形成装置100は、起動時において、プログラム格納領域141から機械語に翻訳されたプログラムを読み出して、テキスト領域113Tに格納する。各プロセスは、この機械語の命令がCPUで実行されることによって作動する。
静的領域113Sは、グローバル変数などの静的変数が格納される固定サイズの領域である。静的変数とは、各プロセスの作動時において変化しない変数である。スタック領域113Vは、自動変数(局所変数)や関数の引数、戻り値といった一時変数などが格納される固定サイズの領域である。スタック領域113Vには、CPUのレジスタを一時的に退避させることもできる。
ヒープ領域113Hは、たとえばC言語においては、各プロセスがmalloc関数で物理メモリを確保し、free関数で物理メモリを開放することができる動的な領域である。各プロセスは、その動作に必要な記憶領域をmalloc関数で物理メモリを確保して動作し、その動作の完了後にfree関数で物理メモリを開放する。一方、空き領域113Fは、ヒープ領域113Hで確保された領域を除いた領域である。したがって、ヒープ領域113H及び空き領域113Fは、各プロセスの動作に応じて変動する領域である(図3の矢印参照)。
なお、空き領域113Fの領域の多くは、現実には、制御部110のLinux(登録商標)カーネルによってバッファやファイルキャッシュの用途に使用されている。しかしながら、Linux(登録商標)カーネルは、空き領域113Fの減少に応じて、バッファやファイルキャッシュ用の記憶領域を自動的に開放し、利用可能な記憶領域を増やして各プロセスで利用可能とすることができる。ただし、バッファやファイルキャッシュ用の記憶領域は、過度に制御部110の処理能力が低下しない範囲で確保される。
さらに、Linux(登録商標)カーネルは、バッファやファイルキャッシュ用の記憶領域が小さくなってくると、記憶部140のスワップ領域142にスワップアウトして利用可能な記憶領域を増やして各プロセスで利用可能とすることができる。ただし、記憶部140は、ハードディスクドライブからなる記憶装置なので、スワップアウトは、制御部110の処理能力の低下の要因となり得る。
図3(a)は、RIP処理開始前のメインメモリ113の各領域を示している。テキスト領域113T、静的領域113S及びスタック領域113Vは、各プロセスの作動中においては固定サイズの領域である。この例では、テキスト領域113Tには、全てのプロセスのプログラムが格納され、全てのプロセスが起動されているものとする。各プロセスは、ヒープ領域113Hにおいて処理開始に必要な記憶領域を確保している。RIP処理は、パーソナルコンピュータ20からの印刷ジョブの受信や複写操作に応じて開始される。
図3(b)は、RIP処理中のメインメモリ113の各領域を示している。RIP処理では、制御部110は、少なくとも色変換プロセス及びハーフトーンプロセスを起動する。色変換プロセス及びハーフトーンプロセスは、各処理に必要な記憶領域のmalloc関数での確保と、free関数での開放とを繰り返して作動する。このように、ヒープ領域113Hは、RIP処理に起因して増加することになる。
図4は、一実施形態に係る画像形成装置100のメインメモリ113の各領域の状態の他の例を示す説明図である。図4(a)は、RIP処理後のメインメモリ113の各領域を示している。RIP処理後のメインメモリ113は、非開放領域が残存してメインメモリ113の記憶領域が減少している点で、RIP処理前のメインメモリ113(図3(a)参照)と相違する。このような非開放領域の発生は、一般にメモリリークと呼ばれる。メモリリークは、ガベージコレクションによって軽減されるが、限界も指摘されている。
図4(b)は、RIP処理再開後のメインメモリ113の各領域を示している。RIP処理では、色変換プロセス及びハーフトーンプロセスは、各処理に必要な記憶領域のmalloc関数での確保と、free関数での開放とを繰り返して作動する。ただし、空き領域113Fは、メモリリークに起因する非開放領域よって減少している。画像形成装置100は、複数のユーザーから多数のジョブの処理を要求されるので、本願発明者は、メモリリークが無視できない問題である点に着目した。
図5は、一実施形態に係る印刷処理手順の内容を示すフローチャートである。印刷処理手順では、画像形成装置100は、PDL解析プロセス、色変換プロセス及びハーフトーンプロセスを使用し、パーソナルコンピュータ20から受信した印刷ジョブに基づいて印刷媒体(図示せず)に画像を形成して排出する処理である。本実施形態では、印刷ジョブの受信に基づいてジョブが発生するものとする。
ステップS100では、制御部110は、印刷ジョブ受信処理を実行する。印刷ジョブ受信処理では、パーソナルコンピュータ20からの印刷ジョブ受信に応じて、CPUは、PDL解析プロセス、色変換プロセス及びハーフトーンプロセスを必要に応じて起動する。PDL解析プロセス、色変換プロセス及びハーフトーンプロセスは、仮想メモリ空間において仮想アドレスを使用して記憶領域を設定する。MMU112は、仮想アドレスを物理アドレスに変換してメインメモリ113内の物理メモリを確保する。
ステップS200では、制御部110の記憶領域管理部111は、ジョブの属性を表す属性情報と、複数のプロセスの各起動状態とに基づいて、消費メモリ情報格納領域144において消費メモリ量を検索して取得する。消費メモリ情報は、印刷機能や複写機能といった機能の内容と、カラー印刷/モノクロ印刷や解像度といった機能(この例では印刷機能)に関する属性情報とともに消費メモリ量が紐付けられてデータベース化されている。
属性情報には、さらに、複数のプロセスの各起動状態、すなわち各プロセスが印刷ジョブの受信時に起動済みであるか否かを含むようにしてもよい。起動済みであれば、新たに割り当てられるメモリ量が少なくなるからである。消費メモリ情報は、各機能の実行中の使用メモリサイズのピーク値(最大値)を表している。
記憶領域管理部111は、属性情報が一致する消費メモリ情報が存在する場合には、処理をステップS300に進め、属性情報が一致する消費メモリ情報が存在しない場合には、処理をステップS700に進める。なお、記憶領域管理部111は、複数のプロセスの各起動状態が一致するデータが消費メモリ情報格納領域144に格納されていない場合には、画像形成装置100の複数のプロセスを制御して消費メモリ情報格納領域144に格納されている各起動状態に一致させて消費メモリ量を検索するようにしてもよい。
ステップS300では、記憶領域管理部111は、空きメモリサイズを取得する。空きメモリサイズは、オペレーティングシステムとしてLinux(登録商標)カーネルが使用されているので、たとえば/proc/meminfoコマンドを使用して取得することができる。この例では、空きメモリサイズは、各プロセスで利用可能なメモリサイズである。
本実施形態では、記憶領域管理部111は、バッファやファイルキャッシュ用の記憶領域のうち過度に処理能力を低下させないメモリ量として予め設定されたメモリ量を残して開放可能なメモリ量と、未使用のfree領域と、印刷機能に不要なデータをスワップアウトして開放可能なメモリ量との和として、空きメモリサイズを算出するものとする。ただし、スワップアウトは、制御部110の処理能力の低下の要因ともなり得るので、スワップ処理を前提とすることなく、空きメモリサイズを算出するようにしてもよい。
ステップS400では、記憶領域管理部111は、消費メモリ情報によって表されているメモリ量である消費メモリ量に対して空きメモリサイズが不足するか否かを判断する。記憶領域管理部111は、空きメモリサイズが不足する場合には、処理をステップS500に進め、空きメモリサイズが不足しない場合には、処理をステップS700に進める。
ステップS500では、記憶領域管理部111は、空きメモリを増やすために印刷機能に不要な他のプロセスを終了させる。具体的には、記憶領域管理部111は、たとえば画像読取プロセス、二値化プロセス、圧縮伸張プロセス及びPDF化プロセスを終了させることができる。これにより、記憶領域管理部111は、画像読取プロセス、二値化プロセス、圧縮伸張プロセス及びPDF化プロセスに割り当てられているメモリを解放させることによって空きメモリを増やすことができる。
図6は、一実施形態に係る印刷実行処理の内容を示すフローチャートである。ステップS600では、制御部110は、印刷処理を実行する。ステップS610では、記憶領域管理部111は、印刷ジョブ実行開始前の使用メモリサイズを取得する。記憶領域管理部111は、使用メモリサイズとして、各プロセスで利用可能でないメモリサイズを空きメモリサイズを使用して算出する。空きメモリサイズは、ステップS300の処理と同一内容の処理で算出される。
ステップS620では、制御部110は、PDL解析プロセス、色変換プロセス及びハーフトーンプロセスを作動させて、印刷ジョブの処理の実行を開始させる。一方、記憶領域管理部111は、印刷ジョブの処理と並行して使用メモリサイズを監視する。
PDL解析プロセスは、ページ記述言語で記述された印刷ジョブを解析して、印刷ジョブに含まれるテキスト(文字)やイメージ、ベクターグラフィックスといったオブジェクトを抽出し、描画処理やフォント処理を実行する。色変換プロセスは、色変換処理を実行して、オブジェクトを表しているRGB画像データを画像形成部160が使用する色材で再現可能なCMYK画像データに変換する。ハーフトーンプロセスは、CMYK画像データに対して組織的ディザや誤差拡散といった処理を実行して、画像形成部160がトナードットで再現可能な階調数に減色する。
このように、印刷実行処理は、印刷ジョブの内容によっては非常に多量のメモリを消費する処理である。このため、メモリリークの問題は、印刷実行処理において顕在化することが多く、エラーや処理遅延を引き起こすことがあった。
ステップS630では、記憶領域管理部111は、印刷ジョブの処理の完了に応じて、使用メモリサイズのピーク値(最大値)を取得する。ステップS640では、記憶領域管理部111は、消費メモリ情報生成処理を実行する。消費メモリ情報生成処理では、カラー印刷/モノクロ印刷や解像度といった印刷処理に関する属性情報を使用して消費メモリ情報を生成する。消費メモリ情報には、さらに、複数のプロセスの各起動状態、すなわち印刷機能で使用されるプロセス、たとえばPDL解析プロセス、色変換プロセス及びハーフトーンプロセスが印刷ジョブの受信時に起動済みであるか否かを含めてもよい。
ステップS650では、記憶領域管理部111は、消費メモリ情報格納処理を実行する。消費メモリ情報格納処理では、記憶領域管理部111は、消費メモリ情報格納領域144内のデータベースに消費メモリ情報を新規登録又は更新(たとえば消費メモリの最大値に更新)する。
なお、ステップS700は、ステップS600と同一内容の処理である。消費メモリ情報は、たとえば画像形成装置100の出荷検査の際に蓄積することができる。画像形成装置100は、消費メモリ情報の蓄積を目的として画像形成媒体を使用せず、メインメモリ113の使用状態を模擬するための処理、すなわち露光信号の生成までの処理を実行するためのシミュレーションモードを有するように構成されていてもよい。
ステップS800では、記憶領域管理部111は、空きメモリを増やすために終了させた他のプロセスを起動させる。この例では、記憶領域管理部111は、たとえば画像読取プロセス、二値化プロセス、圧縮伸張プロセス及びPDF化プロセスを起動させることになる。これにより、画像読取プロセス、二値化プロセス、圧縮伸張プロセス及びPDF化プロセスは、ジョブ発生に応じて迅速に処理を開始することができる。
このように、一実施形態に係る画像形成装置100は、各機能(たとえば印刷機能)で使用されるメモリ量を過去の実績値に基づいて推定し、オペレーティングシステムのメモリ管理方法に拘わらず高い信頼性でメモリ不足に起因する問題の発生を抑制することができる。画像形成装置100は、さらに、過去の実績値に基づいて空きメモリサイズの不足が予測される場合に、予め処理対象に使用されない他のプロセスを終了してメモリを解放させるので、メモリ不足の解消も実現することができる。
本発明は、上記実施形態だけでなく、以下のような変形例でも実施することができる。
変形例1:上記実施形態では、記憶領域管理部111は、メモリリークに起因する非開放領域による空きメモリサイズの減少が予め設定されている閾値に達した場合には、全てのジョブの完了後に再起動するように構成されていてもよい。こうすれば、画像形成装置100は、メモリリークによって発生するメモリ不足に起因する問題の発生を抑制することができる。
変形例2:上記実施形態では、画像形成装置は、オペレーティングシステムとしてLinux(登録商標)カーネルを採用しているが、必ずしもLinux(登録商標)カーネルに限定されない。本発明は、他のオペレーティングシステムを採用する画像形成装置に適用可能である。
100 画像形成装置
110 制御部
111 記憶領域管理部
112 メモリ管理ユニット(MMU)
113 メインメモリ
120 画像読取部
130 RIP処理部
131 PDL解析部
132 色変換処理部
133 ハーフトーン処理部
140 記憶部
141 プログラム格納領域
142 スワップ領域
143 BOX領域
144 消費メモリ情報格納領域
150 通信インターフェース部
160 画像形成部

Claims (7)

  1. 複数の機能を実現する画像形成装置であって、
    所定の記憶領域を有する記憶部と、
    前記所定の記憶領域の一部を割り当てて、複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現するオペレーティングシステムと、
    前記画像形成装置が処理対象とするジョブの発生に応じて、前記ジョブの処理に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ジョブに割り当て可能であるか否かを判断する記憶領域管理部と、
    を備え、
    前記記憶領域管理部は、前記割り当て可能でないと判断した場合に、前記複数のプロセスのうちで前記ジョブの処理で使用されない少なくとも1つのプロセスを終了し、前記消費メモリ量を前記ジョブに割り当て可能とする画像形成装置。
  2. 請求項1に記載の画像形成装置であって、さらに、
    不揮発性の記憶領域を有する不揮発性記憶部を備え、
    前記不揮発性記憶部は、前記消費メモリ量と、前記消費メモリ量に紐付けられている属性情報とを格納し、
    前記属性情報は、前記ジョブの属性情報を含み、
    前記記憶領域管理部は、前記属性情報を使用して前記消費メモリ量を検索して取得する画像形成装置。
  3. 請求項2記載の画像形成装置であって、
    前記属性情報は、さらに、前記ジョブの発生時の複数のプロセスの各起動状態を含んでいる画像形成装置。
  4. 請求項3記載の画像形成装置であって、さらに、
    不揮発性の記憶領域を有する不揮発性記憶部を備え、
    前記記憶領域管理部は、前記複数のプロセスの各起動状態が前記不揮発性記憶部に格納されていない場合には、前記複数のプロセスを制御して前記不揮発性記憶部に格納されている各起動状態に一致させて前記消費メモリ量を検索して取得する画像形成装置。
  5. 請求項2乃至4のいずれか1項に記載の画像形成装置であって、
    前記記憶領域管理部は、前記ジョブの処理に利用されないデータが前記記憶部から前記不揮発性記憶部にスワップアウトされることを前提として、前記ジョブの処理に利用可能なメモリ量である利用可能メモリ量を推定し、前記消費メモリ量が前記利用可能メモリ量よりも多い場合に、前記割り当て可能でないと判断する画像形成装置。
  6. 所定の記憶領域を有する記憶部を用い、複数の機能を実現する画像形成方法であって、
    前記所定の記憶領域の一部を割り当てて、複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現するオペレーティング工程と、
    前記画像形成方法が処理対象とするジョブの発生に応じて、前記ジョブの処理に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ジョブに割り当て可能であるか否かを判断する記憶領域管理工程と、
    を備え、
    前記記憶領域管理工程は、前記割り当て可能でないと判断した場合に、前記複数のプロセスのうちで前記ジョブの処理で使用されない少なくとも1つのプロセスを終了し、前記消費メモリ量を前記ジョブに割り当て可能とする工程を含む画像形成方法。
  7. 所定の記憶領域を有する記憶部を備え、複数の機能を実現する画像形成装置を制御する画像形成プログラムであって、
    前記所定の記憶領域の一部を割り当てて、複数のプロセスを実行することによって前記複数の機能の少なくとも一部を実現するオペレーティングシステム、及び
    前記画像形成装置が処理対象とするジョブの発生に応じて、前記ジョブの処理に利用されるメモリ量である消費メモリ量を予測し、前記消費メモリ量が前記所定の記憶領域において前記ジョブに割り当て可能であるか否かを判断する記憶領域管理部として前記画像形成装置を機能させ、
    前記記憶領域管理部は、前記割り当て可能でないと判断した場合に、前記複数のプロセスのうちで前記ジョブの処理で使用されない少なくとも1つのプロセスを終了し、前記消費メモリ量を前記ジョブに割り当て可能とする画像形成プログラム。

JP2018191118A 2018-10-09 2018-10-09 画像形成装置、画像形成方法及び画像形成プログラム Active JP7158656B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018191118A JP7158656B2 (ja) 2018-10-09 2018-10-09 画像形成装置、画像形成方法及び画像形成プログラム
US16/590,202 US10712979B2 (en) 2018-10-09 2019-10-01 Image forming apparatus, image formation method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018191118A JP7158656B2 (ja) 2018-10-09 2018-10-09 画像形成装置、画像形成方法及び画像形成プログラム

Publications (2)

Publication Number Publication Date
JP2020061637A true JP2020061637A (ja) 2020-04-16
JP7158656B2 JP7158656B2 (ja) 2022-10-24

Family

ID=70051653

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018191118A Active JP7158656B2 (ja) 2018-10-09 2018-10-09 画像形成装置、画像形成方法及び画像形成プログラム

Country Status (2)

Country Link
US (1) US10712979B2 (ja)
JP (1) JP7158656B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220357899A1 (en) * 2021-05-10 2022-11-10 Kyocera Document Solutions Inc. Image forming apparatus capable of allocating memory capacity of memory among and depending on different types of processing constituting job to create plurality of memory regions in memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110213A (ja) * 2007-10-30 2009-05-21 Fujitsu Ltd 制御プログラム及び方法並びにコンピュータ
JP2010039761A (ja) * 2008-08-05 2010-02-18 Canon Inc アプリケーションプラットフォーム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004227390A (ja) 2003-01-24 2004-08-12 Oki Data Corp 情報処理装置
US8619310B2 (en) * 2007-05-25 2013-12-31 Kyocera Document Solutions, Inc. Image forming apparatus
JP4513849B2 (ja) * 2007-10-24 2010-07-28 ブラザー工業株式会社 プリンター

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009110213A (ja) * 2007-10-30 2009-05-21 Fujitsu Ltd 制御プログラム及び方法並びにコンピュータ
JP2010039761A (ja) * 2008-08-05 2010-02-18 Canon Inc アプリケーションプラットフォーム

Also Published As

Publication number Publication date
US10712979B2 (en) 2020-07-14
US20200110558A1 (en) 2020-04-09
JP7158656B2 (ja) 2022-10-24

Similar Documents

Publication Publication Date Title
JP4715654B2 (ja) 画像データ生成装置および画像形成装置
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP5482528B2 (ja) 印刷文書変換装置及びプログラム
US6345350B2 (en) Information processing apparatus printer, method of controlling information processing apparatus and record medium
US20150134892A1 (en) Information processing apparatus, method of controlling the same, and storage medium
JP6524928B2 (ja) 画像処理装置及びメモリ制御プログラム並びにメモリ制御方法
JP7158656B2 (ja) 画像形成装置、画像形成方法及び画像形成プログラム
US6219152B1 (en) Printer and information processing apparatus
US8665460B2 (en) Print system, printing apparatus, printing method and printing program
US7202967B2 (en) Printer, control program loading method, and medium and page printer recording load control programs
JP2020059192A (ja) 画像形成装置、画像形成方法及び画像形成プログラム
US9769331B2 (en) Image forming apparatus with improved memory allocation to minimize delay in processing images
US8582153B2 (en) Image forming apparatus and method
JP2020059191A (ja) 画像形成装置、画像形成方法、分散画像形成システム及び画像形成プログラム
JP6996189B2 (ja) プリントコントローラー、画像形成システム及び画像形成装置
US8914806B2 (en) Information processing apparatus and virtual storage management method, and storage medium for restriction on process swapping based on process attributes and processor utilization
US11144803B1 (en) Image processing apparatus, image forming apparatus, and image processing method for temporarily deleting page area of ring buffer
US11144802B1 (en) Image processing apparatus, image forming apparatus, and image processing method for effectively utilizing storage capacity of ring buffer
US20220357899A1 (en) Image forming apparatus capable of allocating memory capacity of memory among and depending on different types of processing constituting job to create plurality of memory regions in memory
JP3827966B2 (ja) 画像形成装置
JP2018049511A (ja) 情報処理装置及びプログラム
JP2015136080A (ja) 画像形成装置、画像形成装置の制御方法および画像形成装置の制御プログラム
JP2023048503A (ja) プリンタ
JP5252116B2 (ja) 画像データ生成装置
JP6078954B2 (ja) 画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220622

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220822

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220912

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220925

R150 Certificate of patent or registration of utility model

Ref document number: 7158656

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150