JP6655963B2 - 画像処理装置、画像処理装置の制御方法。 - Google Patents

画像処理装置、画像処理装置の制御方法。 Download PDF

Info

Publication number
JP6655963B2
JP6655963B2 JP2015232519A JP2015232519A JP6655963B2 JP 6655963 B2 JP6655963 B2 JP 6655963B2 JP 2015232519 A JP2015232519 A JP 2015232519A JP 2015232519 A JP2015232519 A JP 2015232519A JP 6655963 B2 JP6655963 B2 JP 6655963B2
Authority
JP
Japan
Prior art keywords
image
buffer
drawing data
compression
processing unit
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
JP2015232519A
Other languages
English (en)
Other versions
JP2017098918A (ja
JP2017098918A5 (ja
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
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015232519A priority Critical patent/JP6655963B2/ja
Priority to US15/356,391 priority patent/US10389912B2/en
Publication of JP2017098918A publication Critical patent/JP2017098918A/ja
Publication of JP2017098918A5 publication Critical patent/JP2017098918A5/ja
Application granted granted Critical
Publication of JP6655963B2 publication Critical patent/JP6655963B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/41Bandwidth or redundancy reduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1803Receiving particular commands
    • G06K15/1805Receiving printer configuration commands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/181Receiving print data characterized by its formatting, e.g. particular page description languages
    • G06K15/1811Receiving print data characterized by its formatting, e.g. particular page description languages including high level document description only
    • G06K15/1813Page description language recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1801Input data handling means
    • G06K15/1817Buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1835Transforming generic data
    • G06K15/1836Rasterization
    • G06K15/184Rasterization from compressed bitmap data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • G06K15/18Conditioning data for presenting it to the physical printing elements
    • G06K15/1848Generation of the printable image
    • G06K15/1856Generation of the printable image characterized by its workflow
    • G06K15/1861Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time
    • 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/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Storing Facsimile Image Data (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、圧縮画像データを扱う画像処理技術に関する。
MFP(Multi Function Peripheral)に代表される画像処理装置は、描画処理部・圧縮処理部・伸張処理部などの複数の処理部を有する。これら複数の処理部においては、ある処理部からの出力データが他の処理部に入力されるようなパイプライン処理構成が採用されている。パイプライン処理では、データを出力する処理部とデータが入力される処理部との間にローカルメモリをバッファとして備えることで、各処理部の処理速度に差が生じた場合でもその差分を吸収する。特許文献1では、このローカルメモリの容量を、処理対象となる画像データがカラーであるかモノクロであるかに応じて変更する技術が開示されている。
特開2014−53822号公報
画像処理装置では、次のような一連の処理が行われる。描画処理部が描画データに基づいて描画処理を行うことでビットマップ形式の画像データを生成する際に、描画データに圧縮画像データが含まれている場合には、伸張処理部がこの圧縮画像データを伸張して第1のローカルメモリに記憶する。描画処理部は、第1のローカルメモリに記憶されたその伸張された画像データを用いて描画処理を行う。このとき描画処理部は、描画処理によって生成された画像データを第2のローカルメモリに記憶する。次に圧縮処理部は、第2のローカルメモリに記憶された画像データをJPEGなどの符号化方式で圧縮する。このとき圧縮処理部は圧縮画像データをDRAMなどのメインメモリに記憶する。
従来は、描画データに圧縮画像データが含まれているか否かにかかわらず、確保される第1のローカルメモリの容量は固定的であった。そのため、描画データに圧縮画像データが含まれていない場合、第1のローカルメモリは使用されないので、メモリ資源は効率的に用いられてはいなかった。
本発明の画像形成装置は、描画データを保持する保持手段と、前記保持手段の状態が所定の状態となった場合に、1ページ分の描画データの一部の描画データに基づいて第1の画像を描画する描画手段と、前記描画手段により描画された前記第1の画像を圧縮バッファに記憶させる制御を行う記憶制御手段と、前記圧縮バッファに記憶された前記第1の画像を圧縮してフォールバック画像を生成する圧縮手段と、を有し、前記フォールバック画像は1ページ分の描画データの一部として前記保持手段に保持され、前記記憶制御手段は、前記保持手段に保持された描画データに前記フォールバック画像が含まれると判定したことに基づいて、前記圧縮バッファとして用いられたメモリ領域のうちの一部のメモリ領域を伸張バッファとして割り当てる制御を行い、前記圧縮バッファとして用いられたメモリ領域のうち他の部分のメモリ領域は圧縮バッファとして使用され、前記保持手段に保持された前記描画データに含まれる前記フォールバック画像を伸張手段が伸張し、前記伸張手段が伸張した後の前記第1の画像が前記伸張バッファに記憶され、前記描画手段は、前記伸張バッファに記憶された前記第1の画像と、前記1ページ分の描画データの他の部分の描画データとに基づいて、1ページ分の画像である第2の画像を描画し、前記第2の画像は前記圧縮バッファとしての前記他の部分のメモリ領域に記憶され、前記圧縮手段は、当該圧縮バッファに記憶された前記第2の画像を圧縮して圧縮画像を生成することを特徴とする。
本発明によれば、描画データに圧縮画像データが含まれていない場合でも、メモリ資源を効率的に用いることができる。
画像処理装置のコントローラ構成を示すブロック図である。 描画データに圧縮画像データが含まれている場合の描画処理を説明する図である。 描画データに圧縮画像データが含まれていない場合の描画処理を説明する図である。 PDLプリント処理を説明するフローチャートである。 描画処理を説明するフローチャートである。 描画処理時のローカルメモリとRAMの使用状況を説明する概念図である。
図1は、本発明の画像処理装置の一実施形態であるMFPのコントローラ構成を示すブロック図である。なお、本発明の画像処理装置は、SFP(Single Function Printer)であっても良い。以下では、本実施形態のMFPのことを、単に画像処理装置と呼ぶ。図1に示すように、画像処理装置は、コントローラ100、ネットワーク200、スキャンエンジン300、プリントエンジン400で構成される。
ネットワーク200は、LANやWANなどで実現され、ホストコンピュータやサーバなどの外部装置と画像処理装置との間で画像データやデバイス情報を送受信する通信路である。
スキャナエンジン300は、画像入力デバイスであって、光学センサなどを用いて画像処理装置の内部に画像データを取り込む処理部である。
プリンタエンジン400は、画像出力デバイスであって、画像処理装置の内部の画像データを紙などの記録媒体に印刷する。このプリンタエンジンは、電子写真方式でもインクジェット方式でもその他の方式でも良い。
コントローラ100は、ネットワーク200、スキャンエンジン300、プリンタエンジン400と接続され、画像処理装置全体の制御を行う制御部である。コントローラ100内では、CPU101、伸張処理部102、描画処理部103、圧縮処理部104、ネットワークI/F105、RAM106、HDD108、プリント画像処理部110などがシステムバス113を介して互いに接続されて構成される。
CPU(中央処理装置)101は、画像処理装置全体を制御する処理部である。CPU101は、特に、PDLプリント処理においては、ネットワーク200を介して外部装置から受信したPDLデータを解釈して、ページを構成する複数の描画オブジェクト情報を持つ描画データ(DL:ディスプレイリスト)に変換する。この段階では、描画データは、ラスタライズ前のいわゆるベクタデータの形式で表現されている。この描画データへの変換のことを描画データの生成とも呼び、描画データはページ毎に生成される。また生成された描画データは、RAM106にページ毎に記憶される。
伸張処理部102は、画像伸張器である。伸張処理部102は、JPEG、ランレングス、MMRなどの符号化方式で圧縮された画像データに対して伸張処理(復号処理)を実行することで、ビットマップなどのラスタデータ形式の非圧縮の画像データを生成する。
描画処理部103は、ラスターイメージプロセッサー(RIP)である。描画処理部103は、CPU101によってPDLデータから生成されたベクタデータ形式の描画データ(DL)を、ラスタライズによって、ラスタデータ形式の画像データに変換する。このラスタデータ形式の画像データへの変換処理のことを、描画データに対する描画処理とも呼ぶ。この描画処理部103は、ベクタデータ形式の描画データだけでなく、ラスタデータ形式の描画データを用いても描画処理を行うことができる。
圧縮処理部104は、画像圧縮器である。圧縮処理部104は、ラスタデータ形式の非圧縮の画像データに対して圧縮処理(符号化処理)を実行することで、JPEG、ランレングス、MMRなどの符号化方式で圧縮された画像データを生成する。
ネットワークI/F105は、例えばLANカードなどで実現され、ネットワーク200を介してホストコンピュータやサーバなどの外部装置と画像処理装置との間で画像データやデバイス情報を送受信するためのインタフェース部である。
RAM106は、DRAMなどの揮発性メモリであり、CPU101がシステム上で動作するためのワーク領域として使用されたり、画像データを一時記憶するためのバッファ領域とし使用されたりする記憶部である。このバッファ領域には描画データも記憶される。ROM107は、EPROMなどの不揮発性メモリであり、CPU101がシステムを起動するためのブートプログラムが記憶されている記憶部である。HDD108は、ハードディスクドライブであり、主に画像処理装置の内部に、画像データを記憶しておくための大容量記憶部である。
スキャン画像処理部109は、スキャナであるスキャンエンジン300とシリアルバスによって接続される。この接続はパラレルバスによって実現されても良い。スキャン画像処理部109は、スキャンエンジン300から入力された画像データに対して、スキャンエンジン300のデバイス特性に合わせた補正のための画像処理を行う画像処理部である。なお、スキャン画像処理部109は、スキャンエンジン300から入力された画像データをコントローラ100内部の限られたメモリ容量とシステムバス帯域で扱うため、送信部で圧縮処理してから圧縮画像データとして転送する機能を備えた処理部である。
プリント画像処理部110は、プリンタであるプリントエンジン400とシリアルバスによって接続される。この接続はパラレルバスによって実現されても良い。プリント画像処理部110は、RAM106に記憶された圧縮画像データに対して伸張処理を行う。プリント画像処理部110は圧縮画像データを扱うので、コントローラ100内部の限られたメモリ容量とシステムバス帯域を効率良く扱える。そしてプリント画像処理部110は、伸張された画像データに対してプリントエンジン400のデバイス特性に合わせた補正の画像処理を行い、その画像処理後の画像データをプリントエンジン400に出力する画像処理部である。
ローカルメモリ111は、SRAMなどで実現され、伸張処理部102、描画処理部103、圧縮処理部104のそれぞれと信号線114a、114b、114c、114dで互いに接続されている。伸張処理部102は、生成した画像データ(伸張された画像データ)を、信号線114aを介してローカルメモリ111に記憶する。描画処理部103は、ローカルメモリ111に記憶された伸張済みの画像データを、信号線114bを介して取得し、描画処理済みの画像データを、信号線114cを介してローカルメモリ111に記憶する。圧縮処理部104は、ローカルメモリ111に記憶された描画処理済みの画像データを、信号線114dを介して取得する。なお本実施形態では2本の信号線114b、114cを用いているが、1本の信号線を、本実施形態の信号線114b、114cとして用いても良い。
このように、ローカルメモリ111は、伸張処理部102が伸張した非圧縮画像データを一時記憶する緩衝メモリ(伸張バッファ)や、描画処理部103が描画した非圧縮画像データを圧縮処理のために一時記憶する緩衝メモリ(圧縮バッファ)として機能する。
このローカルメモリ111には、後述の第1記憶部1111と第2記憶部1112とが含まれる。第1記憶部1111及び第2記憶部1112のそれぞれは、ローカルメモリ111内の異なるアドレスに対応する記憶領域である。本実施形態では、第1記憶部1111は、ローカルメモリ111のアドレス[XXXX]から[YYYY−1]までの第1のアドレス範囲の記憶領域である。また、第2記憶部1112は、ローカルメモリ111のアドレス[YYYY]から[ZZZZ−1]までの第2のアドレス範囲の記憶領域である。
ローカルメモリ制御部112は、伸張処理部102、描画処理部103、圧縮処理部104のそれぞれと信号線115a、115b、115cで互いに接続されている。ローカルメモリ制御部112は、内部にレジスタ(不図示)を備える。そしてローカルメモリ制御部112は、CPU101からシステムバス113を介して送信された制御情報を、そのレジスタに記憶することで、ローカルメモリ111内の記憶領域の割り当てを制御する。この制御情報とは、伸張処理部102、描画処理部103、圧縮処理部104の動作モードを示す情報である。ローカルメモリ制御部112は、レジスタに記憶された制御情報によって示される動作モードを、各処理部に対して信号線115a〜cを介して設定する。本実施形態では、動作モードは後述される2つのモードがある。
1つ目の動作モード(動作モードA)は、第1記憶部1111および第2記憶部1112のそれぞれを伸張バッファおよび圧縮バッファとして用いる動作モードである。この動作モードAでは、伸張処理部102、描画処理部103、圧縮処理部104は次のように動作するように構成されている。伸張処理部102および描画処理部103は、第1記憶部1111を伸張バッファとして用いながら、各処理を実行する。また描画処理部103および圧縮処理部104は、第2記憶部1112を圧縮バッファとして用いながら、各処理を実行する。
2つ目の動作モード(動作モードB)は、第1記憶部1111および第2記憶部1112を圧縮バッファとして用いる動作モードである。この動作モードBでは、伸張処理部102、描画処理部103、圧縮処理部104は次のように動作するように構成されている。伸張処理部102は処理を開始せずに、描画処理部103および圧縮処理部104は、第1記憶部1111および第2記憶部1112を圧縮バッファとして用いながら、各処理を実行する。
以上の2つの動作モードを適切に設定することで、ローカルメモリ111のメモリ資源を有効に活用することができるのが本実施形態の効果の1つである。動作モードは、図4のフローチャートに従って後述のように設定される。
システムバス113は、コントローラ100を構成する各処理部を互いに接続し、各処理部の間で画像データや、処理の開始指示などの制御情報の送受信を行う。
次に、図2及び図3を用いて、次の2つの場合での、画像処理装置のPDLプリント機能における描画処理時のローカルメモリ111内の記憶領域の割り当て制御(動作モードの設定)について説明する。ポイントは、次の通りである。RAM106に記憶された描画データ(DL)に圧縮画像データが含まれる場合には、上述の動作モードAで各処理部は動作する。RAM106に記憶された描画データに圧縮画像データが含まれない場合には、上述の動作モードBで各処理部は動作する。
<描画データに圧縮画像データが含まれる場合>
図2は、PDLデータを変換して生成した描画対象のページに関して、メインメモリであるRAM106に記憶された描画データ1061に圧縮画像データ1063が含まれる場合のローカルメモリ111内の記憶領域の割り当て制御を説明する図である。なお、図2では、描画処理時に使用する記憶領域が分かるように、図1で示したコントローラ100内部におけるローカルメモリ111とRAM106の内部の記憶領域を詳細化したものになっている。図2を用いて、CPU101がPDLデータを元に生成した描画データ1061をRAM106に記憶した時点から、描画処理部103がRAM106上の描画データ1061を入力として圧縮画像データ1062を生成する時点までの一連の描画処理を説明する。
まず、CPU101は、1ページ分の描画データ1061の生成時点から描画処理開始時点までの間で、RAM106に記憶された1ページ分の描画データ1061に、JPEGなどの符号化方式を用いた圧縮画像データ1063が含まれることを検知する。検知の方法は、後述の図4のフローチャートのS403で説明される。
次に、CPU101は、描画データに圧縮画像データが含まれることに基づいて、システムバス113を介してローカルメモリ制御部112が持つ内部レジスタに動作モードAを示す制御情報を記憶する。すると、ローカルメモリ制御部112は、信号線115a〜cを介して、動作モードAを、各処理部(伸張処理部102、描画処理部103、圧縮処理部104)に設定する。
すなわち、この場合、第1記憶部1111が、伸張処理部102と描画処理部103の間の伸張バッファとして使用され、かつ、第2記憶部1112が、描画処理部103と圧縮処理部104の間の圧縮バッファとして使用されるような設定がなされる。
次に、CPU101は、伸張処理部102、描画処理部103、圧縮処理部104それぞれに対して処理を開始するように指示する。すると、伸張処理部102及び描画処理部103は、RAM106に記憶された1ページ分の描画データ1061に基づいて、伸張処理、描画処理、圧縮処理を開始する。
具体的には、伸張処理部102は、RAM106に記憶された描画データ1061に含まれる圧縮画像データ1063に対して伸張(復号化)処理を実行する。伸張処理部102は、この伸張処理によって得られた非圧縮画像データを第1記憶部1111に一時記憶する。また、描画処理部103は、RAM106に記憶された1ページ分の描画データ1061に基づいて描画処理を実行する。この描画処理では、描画処理部103は、第1記憶部1111に一時記憶された非圧縮画像データを描画オブジェクトとして取得し、これを用いる。このように第1記憶部1111が伸張バッファとして用意されるので、伸張処理部102の処理速度と描画処理部103の処理速度とに差が生じた場合でも、その差を吸収することができる。
描画処理部103は、以上の描画処理によって得られた非圧縮画像データを、第2記憶部1112に一時記憶する。そして圧縮処理部104は、第2記憶部1112に一時記憶された非圧縮画像データに対して圧縮(符号化)処理を実行する。圧縮処理部104は、この圧縮処理によって得られた圧縮画像データ1062をRAM106に記憶する。このように第2記憶部1112が圧縮バッファとして用意されるので、描画処理部103の処理速度と圧縮処理部104の処理速度とに差が生じた場合でも、その差を吸収することができる。
<描画データに圧縮画像データが含まれない場合>
図3は、PDLデータを変換して生成した描画対象のページに関して、メインメモリであるRAM106に記憶された描画データ1061に圧縮画像データ1063が含まれない場合のローカルメモリ111内の記憶領域の割り当て制御を説明する図である。なお、図3では、描画処理時に使用する記憶領域が分かるように、図1で示したコントローラ100内部におけるローカルメモリ111とRAM106の内部の記憶領域を詳細化したものになっている。図3を用いて、CPU101がPDLデータを元に生成した描画データ1061をRAM106に記憶した時点から、描画処理部103がRAM106上の描画データ1061を入力として圧縮画像データ1062を生成する時点までの一連の描画処理を説明する。
まず、CPU101は、1ページ分の描画データ1061の生成時点から描画処理開始時点までの間で、RAM106に記憶された1ページ分の描画データ1061に、JPEGなどの符号化方式を用いた圧縮画像データ1063が含まれないことを検知する。検知の方法は、後述の図4のフローチャートのS403で説明される。
次に、CPU101は、描画データに圧縮画像データが含まれないことに基づいて、システムバス113を介してローカルメモリ制御部112が持つ内部レジスタに動作モードBを示す制御情報を記憶する。すると、ローカルメモリ制御部112は、信号線115a〜cを介して、動作モードBを、各処理部(伸張処理部102、描画処理部103、圧縮処理部104)に設定する。
すなわち、この場合、第1記憶部1111及び第2記憶部1112は、描画処理部103と圧縮処理部104の間の圧縮バッファとして使用されるような設定がなされる。
次に、CPU101は、伸張処理部102、描画処理部103、圧縮処理部104に対して処理を開始するように指示する。すると、描画処理部103は、RAM106に記憶された1ページ分の描画データ1061に基づいて描画処理、圧縮処理を開始する。ここでは描画データに圧縮画像データは含まれないので、結局のところ、伸張処理部102は伸張処理を行わない。
具体的には、描画処理部103は、RAM106に記憶された1ページ分の描画データ1061に対して描画処理を実行する。描画処理部103は、この描画処理によって得られた非圧縮画像データを、ローカルメモリ111内の第1記憶部1111及び第2記憶部1112に一時記憶する。この記憶においては、描画処理部103は、第1記憶部1111及び第2記憶部1112の記憶領域のうち、空いている部分に、非圧縮画像データを記憶する。続いて、圧縮処理部104は、ローカルメモリ111内の第1記憶部1111及び第2記憶部1112に一時記憶された非圧縮画像データに対して圧縮(符号化)処理を実行する。すなわち、ここでの第1記憶部1111及び第2記憶部1112は、圧縮バッファとして機能している。圧縮処理部104は、この圧縮処理によって得られた圧縮画像データ1062をRAM106に記憶する。
このように第2記憶部1112だけでなく、第1記憶部1111も、非圧縮画像データの一時記憶領域として利用可能なため、ローカルメモリ111のメモリ資源を効率的に利用できる。また、圧縮バッファの容量は、大きければ大きいほど、描画処理と圧縮処理の処理速度差の変動を吸収する能力が高い。そのため、第2記憶部1112だけでなく第1記憶部1111も圧縮バッファとして利用する本実施形態は、圧縮バッファの容量が少ないことに起因するパフォーマンス低下を抑制することができる。
<PDLプリント処理>
次に、図4及び図5のフローチャートを用いて、本実施形態の画像処理装置におけるPDLプリント処理及びローカルメモリ内の記憶領域の割り当て制御に関わる描画処理の流れを説明する。
まず、図4を用いて、PDLプリント処理の処理フローを説明する。この図4のフローはページ毎に行われる。すなわち、ページ単位で、動作モードが設定される。
S401において、CPU101は、ホストコンピュータやサーバからネットワーク200上に送信されたPDLデータを、ネットワークI/F105を介して、画像処理装置のコントローラ100内部で受信して、HDD108に記憶する。
次に、S402において、CPU101は、HDD108に記憶されたPDLデータをRAM106に転送し、PDLデータを描画データ(DL)に変換し、この描画データをRAM106に記憶する。この変換は次のようにして行われる。CPU101は、PDLデータに含まれる1つ以上のPDLコマンドを、コマンド毎に順次、描画データ(描画コマンド)へと変換して、変換された描画データをRAM106へ記憶していく。この1ページ分の描画データの変換(生成)の際(途中)に、それまでに生成されてRAM106に記憶された描画データの合計データサイズが閾値を越える場合に、次の一連の処理(フォールバック処理)が行われる。すなわち、PDLデータの一部に基づいて得られる描画データの合計データサイズがその閾値を越える場合に、次のフォールバック処理が行われる。描画処理部103は、既にRAM106に記憶された描画データに対して描画処理を行うことで、そのページの背景画像として扱われるビットマップをローカルメモリ111(第1記憶部1111および第2記憶部1112)に生成する。そして圧縮処理部104は、ローカルメモリ111に生成されたビットマップに対して圧縮処理を行うことで、そのページの背景画像にあたる圧縮画像データをRAM106に生成して記憶する。この記憶された圧縮画像データは描画データに含まれるものとして扱われる。そしてCPU101は、背景画像にあたる圧縮画像データが描画データに含まれていることを示すフラグ情報(フォールバックフラグON)を、RAM106に記憶された描画データに付与する。そしてCPU101はPDLデータに含まれる残りのPDLコマンド(PDLデータの残りの部分)の変換を引き続き行う。
ここで、上記のフォールバック処理が行われずにそのページの描画データがRAM106に生成された場合には、CPU101は次の処理を行う。CPU101は、背景画像にあたる圧縮画像データが描画データに含まれていないことを示すフラグ情報(フォールバックフラグOFF)を、RAM106に記憶された描画データに付与する。
次に、S403において、CPU101は、S402で生成した描画データに圧縮画像データが含まれているか否かを検知(判定)する。
ここで、検知方法としては、例えば、描画データ生成時のPDLコマンド解析によって、JPEGなどの符号化方式を用いた写真などの描画オブジェクトに対する伸張コマンドの有無(個数)を検知すれば良い。
また、別の検知方法としては、例えば、描画データに付与される上記のフラグ情報を参照することで、描画データにJPEGなどの符号化方式を用いた背面画像の圧縮画像データが含まれるか否かを検知すれば良い。
また、別の検知方法としては、例えば、伸張処理部102を起動制御するレジスタアクセスのリセット解除などの有無によって、JPEGなどの符号化方式を用いた描画オブジェクトに対する伸張処理の有無を検知すれば良い。
また、別の検知方法としては、例えば、伸張処理部102を起動制御するレジスタ設定後の内部ステータスを読み取って、JPEGなどの符号化方式を用いた描画オブジェクトに対する伸張処理の有無を検知すれば良い。
次に、S404において、CPU101は、S403での検知結果(判定結果)に従って、圧縮画像データが描画データに含まれればS405に遷移し、圧縮画像データが描画データに含まれなければ、S406に遷移する。
次に、S405において、第1記憶部1111を伸張バッファとし、且つ、第2記憶部1112を圧縮バッファとして用いる設定が行われる。具体的には、次の通り。CPU101は、ローカルメモリ制御部112の内部レジスタに動作モードAを示す制御情報を記憶する。そして、ローカルメモリ制御部112は、記憶された制御情報に従って、対応する動作モード(動作モードA)を、信号線115a〜cを介して、各処理部(伸張処理部102、描画処理部103、圧縮処理部104)に設定する。この設定による各処理部の動作は、<描画データに圧縮画像データが含まれる場合>で説明したとおりである。
一方で、S406において、第1記憶部1111および第2記憶部1112を圧縮バッファとして用いる設定が行われる。具体的には、次の通り。CPU101は、ローカルメモリ制御部112の内部レジスタに動作モードBを示す制御情報を記憶する。そして、ローカルメモリ制御部112は、記憶された制御情報に従って、対応する動作モード(動作モードB)を、信号線115a〜cを介して、各処理部(伸張処理部102、描画処理部103、圧縮処理部104)に設定する。この設定による各処理部の動作は、<描画データに圧縮画像データが含まれない場合>で説明したとおりである。
すなわち、S403、S404でYes、S406の一連の処理によって、描画データに圧縮画像データが含まれていれば(含まれていると判定されれば)、ローカルメモリ111の割り当て制御を図2で示した記憶領域として確保するような設定となる。他方、S403、S404でNo、S407の一連の処理によって、描画データに圧縮画像データが含まれていなければ(含まれていないと判定されれば)、ローカルメモリ111の割り当て制御を図3で示した記憶領域として確保するような設定となる。
次に、S408において、CPU101は、伸張処理部102、描画処理部103に処理を開始するように指示する。すると描画処理部103は、S402でRAM106に記憶された描画データに対する描画処理を開始する。描画処理部103は、描画データを入力データとして、単一のページを構成する複数の描画オブジェクトの描画処理を行い、描画処理結果の非圧縮画像データをS405あるいはS406で確保したローカルメモリ111の圧縮バッファに一時記憶する。なお、S408の描画処理の処理フローは、図5を用いて別途詳細に説明する。
次に、S409において、CPU101は、圧縮処理部104に処理を開始するよう指示する。すると、圧縮処理部104は、S408で実行した描画処理結果の非圧縮画像データに対して圧縮処理を実行することで圧縮画像データを生成し、その圧縮画像データをRAM106に記憶する。
次に、S410において、CPU101は、プリント画像処理部110に画像処理を開始するよう指示する。すると、プリント画像処理部110は、S409でRAM106に記憶された圧縮画像データを取得し、その取得された圧縮画像データに対して伸張(復号化)処理を実行する。
次に、S411において、プリント画像処理部110は、プリントエンジン400のデバイス特性に合わせた補正のためのプリント画像処理を、伸張された画像データに対して実行し、画像処理後の画像データをプリントエンジン400に出力する。プリントエンジン400は、出力された画像データに基づいて、画像を記録媒体に印刷する。
<描画処理フロー>
次に、図5を用いて、図4で説明したPDLプリント処理のうちのS408における描画処理の処理フローを説明する。
S501において、描画処理部103は、RAM106に記憶された描画データに含まれる描画コマンドを解釈する。次に、描画処理部103は、S501で解釈した描画コマンドとして、JPEGなどの符号化方式を用いた写真などの描画オブジェクトに対する伸張コマンドを含むか否かを判定する。この判定では、伸張コマンドがあれば、描画データには圧縮画像データが含まれると判定される。伸張コマンドがなければ、描画データには圧縮画像データが含まれないと判定される。
あるいは、描画処理部103は、S501の解釈対象であるページの描画データ中のフラグ情報が、背景画像にあたる圧縮画像データが描画データに含まれていることを示すか否かを判定する。この判定では、フラグ情報が背景画像にあたる圧縮画像データが描画データに含まれていることを示せば、描画データには圧縮画像データが含まれると判定される。フラグ情報が背景画像にあたる圧縮画像データが描画データに含まれていることを示さなければ、描画データには圧縮画像データが含まれないと判定される。
S502で、描画データに伸張対象の圧縮画像データが含まれれば、S503に遷移し、描画データに伸張対象の圧縮画像データが含まれなければ、S506に遷移する。
次に、S503で、伸張処理部102は、描画処理部103と連携して、描画データに含まれる圧縮画像データの伸張処理を実行する。
次に、S504で、伸張処理部102は、S405で確保した伸張バッファに空き領域があるか否かを検知し、空き領域が有れば、S505に遷移し、空き領域が無ければ、再びS504に遷移して空き領域ができるまで待機する。空き領域がない、とは、伸張バッファが描画処理部103へ未送信の伸張済み画像データ(非圧縮画像データ)で埋められていることである。
次に、S505で、伸張処理部102は、S405で確保したローカルメモリ111内部の伸張バッファに伸張処理後の非圧縮画像データを記憶する。
次に、S506で、描画処理部103は、描画データに含まれる描画コマンドを元に、スキャンライン毎に描画対象となる描画オブジェクトを検出し、描画オブジェクトが持つ主走査方向の長さ情報を生成し、スパン情報として保持する。
次に、S507で、描画処理部103は、S506で生成したスパン情報に従い、描画オブジェクトの色塗り処理を実行し、フィル情報として保持する。ここで、例えば、描画オブジェクトが圧縮画像データであれば、描画処理部103は、S503で伸張処理してS505で伸張バッファに記憶されている画像データを取得する。
次に、S508で、描画処理部103は、S507で保持しているフィル情報を参照し、各描画オブジェクトの上下関係(Zオーダー)を示すレベル情報に従って、ROP演算による合成(コンポジット)処理を実行する。S508において、描画処理部103は、ページ単位の非圧縮画像データをピクセル単位で順に生成して、ローカルメモリ111に対して出力する。
次に、S509において、描画処理部103は、S405あるいはS406で確保した圧縮バッファに空き領域があるか否かを検知し、空き領域が有れば、S510に遷移し、空き領域が無ければ、再びS509に遷移して空き領域ができるまで待機する。空き領域がない、とは、圧縮バッファが圧縮処理部104へ未送信の描画処理済みの非圧縮画像データで埋められていることである。
次に、S510で、描画処理部103は、S405あるいはS406で確保したローカルメモリ111内部の圧縮バッファに圧縮処理前の非圧縮画像データを記憶する。
<ローカルメモリとRAMの使用状況>
最後に、図6の概念図(タイミングチャート)を用いて、本実施形態における描画処理時のローカルメモリ111とRAM106の使用状況を説明する。図6は、ホストコンピュータやサーバ上のドライバで作成されたPDLデータを受信してから、画像処理装置のコントローラ100内部で生成した画像データをプリントエンジン400に送信するまでのタイミングチャートを示している。図6では、上記のPDLデータが2ページで構成される場合を例として説明を行う。なお、1ページ目は、描画データ(DL)用にRAM106上で必要なメモリ容量がシステム全体で確保可能な前記閾値よりも小さく、描画処理の繰り返し(フォールバック処理)を必要としない場合とする。また、2ページ目は、描画データ(DL)用にRAM106上で必要なメモリ容量がシステム全体で確保可能な前記閾値よりも大きく、描画処理の繰り返し(言い換えるとフォールバック処理)を必要とする場合とする。以上の条件下で、本実施形態の画像処理装置が、圧縮画像データが描画データに含まれるか否かを、フォールバックフラグを参照することで判定し、その判定結果に従ってローカルメモリ111の割り当て制御を行う例を説明する。なおフォールバック処理によって得られた背面画像の画像データ(描画オブジェクト)は、描画データに含まれる圧縮画像データである。
図6は、横軸を時間軸としたタイミングチャートであって、時刻T0〜T6の間の各処理部の処理内容と、時刻T0〜T6のそれぞれにおけるローカルメモリ111及びRAM106の使用状況を示している。ここで説明されることは、以下の点に集約される。本実施形態でのローカルメモリ111内の記憶領域の割り当て制御は、第1記憶部1111および第2記憶部1112(以下では単にローカルメモリ111とだけ呼ぶ)に未処理の画像データが記憶されていない状態(空き状態)を確認してから実行される。つまり、未処理の画像データが第1記憶部1111および第2記憶部1112の少なくとも一方に残っている状態では、割り当て制御は行われない。具体的には、割り当て制御は、ページ毎の描画処理の開始直前、および、終了直後に行われる。
時刻T0〜T1で、画像処理装置は、ホストコンピュータやサーバ上のドライバで作成された上記のPDLデータをネットワークI/F105経由で受信し、コントローラ100内部のHDD108に記憶する。
時刻T1〜T2で、1ページ目に対して、CPU101は、PDLデータを解釈して、描画データ(DL)を生成する。ここで、時刻T1〜T2では、描画処理部103による描画処理を実行していないため、ローカルメモリ111は未使用のままである。
次に、時刻T2〜T3で、1ページ目に対して、描画処理部103が描画処理して圧縮処理部104が圧縮処理を実行し、2ページ目に対して、CPU101は、PDLデータを解釈して、描画データ(DL)を生成する。ここで2ページ目のPDLデータは、1ページ目の描画データに対する描画処理が完了してから、HDD108からRAM106に記憶される。そのためCPU101は、2ページ目の描画データへの生成処理を、時刻T2の時点から開始しようとするが、実際に生成処理が行われるのはPDLデータがRAM106に記憶されてからである。この時刻T2〜T3の期間では、描画処理部103による圧縮画像データ(背面画像)の伸張処理を伴わない描画処理を実行しているため、ローカルメモリ111を圧縮バッファとしてのみ使用する。すなわち、時刻T2では、時刻T2〜T3で圧縮画像データ(背面画像)に対する伸張処理する必要がないことを検知して、ローカルメモリ111の割り当て制御で圧縮バッファのみを確保するように実行する(動作モードB)。なお、1ページ目の描画処理の開始時の時刻T2では、圧縮バッファへ非圧縮画像データが記憶される前なので、ローカルメモリ111が未使用の状態(空き状態)になる。また1ページ目の描画処理の終了時の時刻T3では、圧縮バッファからの非圧縮画像データの読み出しを完了しているので、ローカルメモリ111が未使用の状態になる。
次に、時刻T3〜T4で、1ページ目に対して、プリント画像処理部110はプリント画像処理を実行してプリントエンジン400に送信する。その一方で、2ページ目に対しては、フォールバック処理が行われる。すなわち、描画処理部103が描画処理を行い、圧縮処理部104が圧縮処理を行う。ここで、時刻T3〜T4では、描画処理部103による圧縮画像データ(背面画像)の伸張処理を伴わない描画処理(フォールバック処理)を実行しているため、ローカルメモリ111を圧縮バッファとしてのみ使用する。すなわち、時刻T3では、時刻T3〜T4で圧縮画像データ(背面画像)に対する伸張処理する必要がないことを検知して、ローカルメモリ111の割り当て制御で圧縮バッファのみを確保するように実行する。なお、フォールバック処理の開始時の時刻T3では、圧縮バッファへ非圧縮画像データが記憶される前なので、ローカルメモリ111が未使用の状態になる。またフォールバック処理の修了時の時刻T4では、圧縮バッファから非圧縮画像データの読み出しを完了しているので、ローカルメモリ111が未使用の状態になる。
次に、時刻T4〜T5で、2ページ目に対して、描画処理部103が再び描画処理して圧縮処理部104が圧縮処理を実行する。ここで、時刻T4〜T5では、描画処理部103は圧縮画像データ(背面画像)の伸張処理を伴う描画処理を実行しているため、ローカルメモリ111を圧縮バッファと伸張バッファとして割り当て制御を行って使用する。すなわち、時刻T4では、時刻T3〜T4で生成した圧縮画像データ(背面画像)に対して、時刻T4〜T5で伸張処理する必要があることを検知して、ローカルメモリ111の割り当て制御で伸張バッファを確保するように実行する。なお、2ページ目の描画処理の開始時の時刻T4では、圧縮バッファへ非圧縮画像データが記憶される前なので、ローカルメモリ111が未使用の状態(空き状態)になる。また2ページ目の描画処理の終了時の時刻T5では、圧縮バッファからの非圧縮画像データの読み出しを完了しているので、ローカルメモリ111が未使用の状態になる。
最後に、時刻T5〜T6で、2ページ目に対して、プリント画像処理部110でプリント画像処理を実行してプリントエンジン400に送信する。
このように、時刻T0〜T6のうち、ページ間の時刻T3、T4及びT5において、ローカルメモリ111の伸張バッファ及び圧縮バッファには未処理の非圧縮画像データが記憶されていない状態(空き状態)になる。従って、本実施形態の画像処理装置において、描画処理部103は、これらのタイミングで図2及び図3で説明したローカルメモリ111の割り当てを切り替えることができる。
以上で説明したように、本発明の実施形態によれば、PDLプリント時に、描画データ中に圧縮画像データが含まれるか否かを判定し、圧縮画像データが含まれる場合は、ローカルメモリにおいて伸張バッファと圧縮バッファの両方を割り当てるように制御する。逆に、描画データ中に圧縮画像データが含まれない場合は、ローカルメモリにおいて伸張バッファを確保せずに圧縮バッファの記憶領域として割り当てるように制御する。このように、描画データの内容に従ってローカルメモリ内の記憶領域の割り当てを切り替える(変更する)ことで、ローカルメモリの増加に伴うコスト増加を抑制し、コストパフォーマンスを向上した画像処理装置を提供することができる。
<変形例>
上述の実施形態では、CPU101がローカルメモリ制御部112の内部レジスタに制御情報を記憶することで2つの動作モードのうちの何れかを選択するようにした。この他に次のような画像処理装置の実施形態も考えられる。なおここで特に説明のない構成については上述の実施形態と同じである。
CPU101はローカルメモリ制御部112の内部レジスタに対して、伸張バッファとして機能させるローカルメモリ111のアドレス範囲Aと、圧縮バッファとして機能させるローカルメモリ111のアドレス範囲Bを記憶する。次にローカルメモリ制御部112は、伸張処理部102および描画処理部103のそれぞれに対して、伸張バッファとして使用可能なローカルメモリ111のアドレス範囲Aを設定する。またローカルメモリ制御部112は、描画処理部103および圧縮処理部104のそれぞれに対して、圧縮バッファとして使用可能なローカルメモリ111のアドレス範囲Bを設定する。そして、伸張処理部102、描画処理部103、圧縮処理部104のそれぞれは、設定されたアドレス範囲にしたがったローカルメモリ111の記憶領域にアクセスしながら、必要に応じて伸張処理、描画処理、圧縮処理を行う。
このような構成を持つ画像処理装置において、描画データに圧縮画像データが含まれることを検知したCPU101は、次の処理を行う。CPU101は、ローカルメモリ制御部112に対して、ローカルメモリ111のアドレス[XXXX」から[YYYY−1]までの第1のアドレス範囲をアドレス範囲Aとして記憶する。またこの場合、CPU101は、ローカルメモリ制御部112に対して、ローカルメモリ111のアドレス[YYYY]から[ZZZZ−1]までの第2のアドレス範囲をアドレス範囲Bとして記憶する。
一方で、描画データに圧縮画像データが含まれないことを検知したCPU101は、ローカルメモリ制御部112に対して、設定されるべきアドレス範囲が無効であることを示す「Null」をアドレス範囲Aとして記憶する。またこの場合、CPU101は、ローカルメモリ制御部112に対して、ローカルメモリ111のアドレス[XXXX]から[ZZZZ−1]までの第3のアドレス範囲(第1のアドレス範囲から第2のアドレス範囲の和)をアドレス範囲Bとして記憶する。
以上の変形例での、アドレス範囲AおよびBは、一例であり、上記とは異なるアドレス範囲でも良い。このように、伸張バッファおよび圧縮バッファのそれぞれに用いられる記憶領域のアドレス範囲(すなわちメモリサイズ)をCPU101からの指示で動的に設定するようにしても本発明は成り立つ。
<その他の実施形態>
以上の実施形態では、描画データ中の圧縮画像データとは、再描画処理時の背面画像として含まれた描画オブジェクトや、PDLデータあるいは描画データ生成時に埋め込まれるJPEGなどの描画オブジェクトであるという前提であった。ここで、再描画処理時の背面画像であれば、ページ内に単一の描画オブジェクトのみを有することが予め分かっているのに対して、ページ内の写真などは複数の描画オブジェクトを含む場合も多い。このような圧縮画像データを含む描画データに対しては、伸張処理部において、ページ内の圧縮画像データの有無と同時に個数も含めて管理することも可能である。すなわち、描画処理中に伸張処理部102において全ての圧縮画像データの伸張が完了し、更に、描画処理部103において全ての非圧縮画像データの読み出しが完了したことを検知すれば、以降の処理でローカルメモリ111の割り当て制御を変更できる。これを実現するための仕組みとしては、例えば、描画処理部103に、描画データ中の圧縮画像データの描画オブジェクト数に対する描画処理済の描画オブジェクト数を保持する内部レジスタを用意すれば良い。
以上で説明したように、各実施形態によれば、PDLプリント時に、描画データ中に圧縮画像データが含まれるか否かを判定する。描画データに圧縮画像データが含まれる場合は、ローカルメモリ111において伸張バッファと圧縮バッファの両方を割り当てるように制御する。更に、描画処理対象のページ内の全ての圧縮画像データの描画処理が完了した場合は、当該ページの以降の描画処理において、ローカルメモリにおいて伸張バッファを確保せずに圧縮バッファの記憶領域として割り当てるように制御する。このように、描画データの内容に従って必要な緩衝メモリを確保できるようにローカルメモリ内の記憶領域の割り当てを切り替えることで、ローカルメモリの増加に伴うコスト増加を抑制し、コストパフォーマンスを向上した画像処理装置を提供することができる。なお、上述の圧縮バッファの記憶容量は一例であり、描画データに圧縮画像データが含まれる場合に確保される圧縮バッファの記憶容量よりも、含まれない場合に確保される圧縮バッファの記憶容量の方が大きければよい。
なお上記実施形態では、ローカルメモリ内の記憶領域の割り当てを制御していたが、本発明はこれに限られない。すなわち、一方を伸張バッファ、他方を圧縮バッファとして使用できる、2つの物理的に異なるローカルメモリを用意して、描画データに圧縮画像データが含まれない場合には次のように構成すれば良い。伸張バッファを、圧縮バッファと同じように、描画処理部および圧縮処理部の両方からアクセス可能に構成し、描画処理部が描画処理後の画像データを伸張バッファに記憶し、且つ、圧縮処理部がその画像データに対して圧縮処理を行うようにする。
また上記の実施形態では、描画データに圧縮画像データが含まれている場合、伸張バッファと圧縮バッファをローカルメモリ111に設ける。その一方で、描画データに圧縮画像データが含まれていない場合、伸張バッファをローカルメモリ111に設けずにその伸張バッファ分のメモリ使用量を圧縮バッファとして利用可能なように、圧縮バッファをローカルメモリ111に設ける。ここでローカルメモリ111にバッファを設けるということは、上述の実施形態のように、ローカルメモリ111の少なくとも一部の記憶領域を、そのバッファとして機能させることである。ところで、本発明は、描画データに圧縮画像データが含まれていない場合に、伸張バッファ分のメモリ使用量を圧縮バッファとして利用させないようにしても良い。例えばローカルメモリ111に伸張処理部102、描画処理部103、圧縮処理部104以外の他の処理部Aが接続されているようなシステム構成を考える。このシステム構成において描画データに圧縮画像データが含まれていない場合には、伸張バッファ分のメモリ使用量をその他の処理部Aが利用できるようにしても良い。すなわち、本発明は、次のような装置あるいはシステムにも適用可能である。描画データに圧縮画像データが含まれていて伸張処理部102による圧縮画像データの伸張が必要な場合には、ローカルメモリ111に伸張バッファを設ける設定を行う装置あるいはシステム。また、描画データに圧縮画像データが含まれていなくて伸張処理部102による圧縮画像データの伸張が必要ない場合には、ローカルメモリ111中の伸張バッファ分のメモリを、伸張処理部102とは異なる処理部が利用可能となる設定を行う装置あるいはシステム。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。

Claims (7)

  1. 描画データを保持する保持手段と、
    前記保持手段の状態が所定の状態となった場合に、1ページ分の描画データの一部の描画データに基づいて第1の画像を描画する描画手段と、
    前記描画手段により描画された前記第1の画像を圧縮バッファに記憶させる制御を行う記憶制御手段と、
    前記圧縮バッファに記憶された前記第1の画像を圧縮してフォールバック画像を生成する圧縮手段と、
    を有し、
    前記フォールバック画像は1ページ分の描画データの一部として前記保持手段に保持され、
    前記記憶制御手段は、前記保持手段に保持された描画データに前記フォールバック画像が含まれると判定したことに基づいて、前記圧縮バッファとして用いられたメモリ領域のうちの一部のメモリ領域を伸張バッファとして割り当てる制御を行い、
    前記圧縮バッファとして用いられたメモリ領域のうちの他の部分のメモリ領域は圧縮バッファとして使用され、
    前記保持手段に保持された前記描画データに含まれる前記フォールバック画像を伸張手段が伸張し、
    前記伸張手段が伸張した後の前記第1の画像が前記伸張バッファに記憶され、
    前記描画手段は、前記伸張バッファに記憶された前記第1の画像と、前記1ページ分の描画データの他の部分の描画データとに基づいて、1ページ分の画像である第2の画像を描画し、
    前記第2の画像は前記圧縮バッファとしての前記他の部分のメモリ領域に記憶され、
    前記圧縮手段は、当該圧縮バッファに記憶された前記第2の画像を圧縮して圧縮画像を生成する
    ことを特徴とする画像形成装置。
  2. 前記記憶制御手段は、前記保持手段に保持された描画データに前記フォールバック画像が含まれないと判定したことに基づいて、前記伸張バッファのメモリ領域として割り当てられたメモリ領域を圧縮バッファのメモリ領域に割り当てることを特徴とする請求項1に記載の画像形成装置。
  3. 前記記憶制御手段は、前記フォールバック画像が前記描画データに含まれるか否かを示すフラグを管理し、前記フォールバック画像が前記描画データに含まれることを前記フラグが示す場合に、前記圧縮バッファとして用いられたメモリ領域のうちの一部のメモリ領域を伸張バッファとして割り当てる制御を行うことを特徴とする請求項1に記載の画像形成装置。
  4. 前記記憶制御手段は、前記フォールバック画像が前記描画データの一部として前記保持手段に保持された場合に前記フラグをONにし、前記フォールバック画像が生成されずに1ページ分の描画データが前記保持手段に保持された場合に前記フラグをOFFにし、前記フラグがONである場合に、前記圧縮バッファとして用いられたメモリ領域のうちの一部のメモリ領域を伸張バッファとして割り当てる制御を行うことを特徴とする請求項3に記載の画像形成装置。
  5. 前記記憶制御手段は、前記フォールバック画像とは異なる画像データが前記描画データに含まれているか否かに関わらず、前記保持手段に保持された描画データに前記フォールバック画像が含まれると判定したことに基づいて、前記圧縮バッファとして用いられたメモリ領域のうちの一部のメモリ領域を伸張バッファとして割り当てることを特徴とする請求項1から4のうち何れか1項に記載の画像形成装置。
  6. 前記描画データは、前記画像形成装置が受信したPDLデータを解釈した結果に基づいて生成され、
    前記描画手段は、前記保持手段に保持された描画データのサイズが所定の閾値を超える場合に、前記保持手段に保持された描画データに基づいて前記第1の画像を描画することを特徴とする請求項1から5のうち何れか1項に記載の画像形成装置。
  7. 描画データを保持手段に保持する第1の保持ステップと、
    前記保持手段の状態が所定の状態となった場合に、1ページ分の描画データの一部の描画データに基づいて第1の画像を描画する第1の描画ステップと、
    前記第1の描画ステップにおいて描画された前記第1の画像を圧縮バッファに記憶させる制御を行う第1の記憶制御ステップと、
    前記圧縮バッファに記憶された前記第1の画像を圧縮してフォールバック画像を生成する第1の圧縮ステップと、
    を有し、
    前記フォールバック画像を、1ページ分の描画データの一部として前記保持手段に保持する第2の保持ステップと、
    前記保持手段に保持された描画データに前記フォールバック画像が含まれると判定されたことに基づいて、前記圧縮バッファとして用いられたメモリ領域のうちの一部のメモリ領域を伸張バッファとして割り当てる第2の記憶制御ステップと、前記圧縮バッファとして用いられたメモリ領域のうちの他の部分のメモリ領域は圧縮バッファとして使用され、
    前記保持手段に保持された前記描画データに含まれる前記フォールバック画像を伸張する伸張ステップと、
    前記伸張ステップにおいて伸張した後の前記第1の画像を前記伸張バッファに記憶する第1の記憶ステップと、
    前記伸張バッファに記憶された前記第1の画像と、前記1ページ分の描画データの他の部分の描画データとに基づいて、1ページ分の画像である第2の画像を描画する第2の描画ステップと、
    前記第2の画像を前記圧縮バッファとしての前記他の部分のメモリ領域に記憶する第2の記憶ステップと、
    当該圧縮バッファに記憶された前記第2の画像を圧縮して圧縮画像を生成する第2の圧縮ステップと
    をさらに有することを特徴とする画像形成装置の制御方法。
JP2015232519A 2015-11-28 2015-11-28 画像処理装置、画像処理装置の制御方法。 Active JP6655963B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015232519A JP6655963B2 (ja) 2015-11-28 2015-11-28 画像処理装置、画像処理装置の制御方法。
US15/356,391 US10389912B2 (en) 2015-11-28 2016-11-18 Image processing apparatus and method for controlling image processing apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015232519A JP6655963B2 (ja) 2015-11-28 2015-11-28 画像処理装置、画像処理装置の制御方法。

Publications (3)

Publication Number Publication Date
JP2017098918A JP2017098918A (ja) 2017-06-01
JP2017098918A5 JP2017098918A5 (ja) 2019-01-17
JP6655963B2 true JP6655963B2 (ja) 2020-03-04

Family

ID=58777642

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015232519A Active JP6655963B2 (ja) 2015-11-28 2015-11-28 画像処理装置、画像処理装置の制御方法。

Country Status (2)

Country Link
US (1) US10389912B2 (ja)
JP (1) JP6655963B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102298242B1 (ko) 2017-05-18 2021-09-07 나믹스 가부시끼가이샤 수지 조성물
JP2020019250A (ja) * 2018-08-02 2020-02-06 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
JP2021013149A (ja) * 2019-07-09 2021-02-04 キヤノン株式会社 画像処理システム、画像処理装置とその制御方法、及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999710A (en) * 1997-06-17 1999-12-07 Hewlett-Packard Company Merge plane generation for a data processing pipeline
CN104247101A (zh) * 2012-04-11 2014-12-24 旭硝子株式会社 锂离子二次电池用正极活性物质
US9609374B2 (en) * 2012-06-27 2017-03-28 Rovi Guides, Inc. System and methods for automatically obtaining cost-efficient access to a media content collection
JP6128782B2 (ja) 2012-09-07 2017-05-17 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、プログラム、及び記憶媒体
JP5928505B2 (ja) * 2014-02-26 2016-06-01 コニカミノルタ株式会社 画像処理装置、同装置における画像処理方法及び画像処理プログラム

Also Published As

Publication number Publication date
JP2017098918A (ja) 2017-06-01
US20170155799A1 (en) 2017-06-01
US10389912B2 (en) 2019-08-20

Similar Documents

Publication Publication Date Title
JP6655963B2 (ja) 画像処理装置、画像処理装置の制御方法。
JP2016063434A (ja) 画像処理装置、同装置における画像処理方法及び画像処理プログラム
JP6748445B2 (ja) 画像形成装置、画像形成装置の制御方法、および、プログラム
US7864359B2 (en) Data compression and decompression unit
US10325189B2 (en) Image processing apparatus and image processing method that perform, in units of band areas, rasterization based on second intermediate data stored in a first memory area and compressed raster data stored in a second memory area
US10565294B2 (en) Image processing apparatus, image processing method, and non-transitory computer-readable storage medium
JP5233608B2 (ja) 画像形成装置、画像データ転送方法、及びプログラム
US10089561B2 (en) Generating a raster image region by rendering in parallel plural regions of smaller height and segmenting the generated raster image region into plural regions of smaller width
US10853005B2 (en) Image processing apparatus and image processing method
JP5097788B2 (ja) データ処理装置およびデータ処理プログラム
US10121098B2 (en) Image forming apparatus having plurality of processing units for generating intermediate data, and method for controlling the image forming apparatus
JP5093576B2 (ja) 印刷制御装置と画像形成システム
JP4200884B2 (ja) 画像伸長装置及びその方法、画像処理システム
KR102568052B1 (ko) 화상 신장장치, 그 제어방법 및 컴퓨터 프로그램
US10282318B2 (en) Image processing apparatus, method of controlling image processing apparatus, and recording medium
US8064073B2 (en) Adaptive rasterizer buffer
JP2002052763A (ja) 印刷装置
JP4246187B2 (ja) 画像形成装置
JP4182428B2 (ja) 画像伸長装置及びその方法、画像処理システム
JP6809158B2 (ja) 画像処理装置及びプログラム
JP6078954B2 (ja) 画像処理装置
JP6260372B2 (ja) 画像処理装置および画像データ処理方法
JP6264757B2 (ja) 画像形成装置、画像形成システム、画像形成装置の制御方法、及び画像形成装置の制御プログラム
JP2014026422A (ja) 情報処理システム、画像出力装置及びプログラム
JPH11188932A (ja) 印刷制御装置および印刷制御装置のバンド処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181128

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181128

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191003

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191015

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191213

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: 20200107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200204

R151 Written notification of patent or utility model registration

Ref document number: 6655963

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151