JP2013196602A - 画像処理装置及びプログラム - Google Patents

画像処理装置及びプログラム Download PDF

Info

Publication number
JP2013196602A
JP2013196602A JP2012065591A JP2012065591A JP2013196602A JP 2013196602 A JP2013196602 A JP 2013196602A JP 2012065591 A JP2012065591 A JP 2012065591A JP 2012065591 A JP2012065591 A JP 2012065591A JP 2013196602 A JP2013196602 A JP 2013196602A
Authority
JP
Japan
Prior art keywords
processing
page
unit
image data
auxiliary
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
JP2012065591A
Other languages
English (en)
Other versions
JP5051327B1 (ja
Inventor
Hiroki Hara
裕樹 原
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2012065591A priority Critical patent/JP5051327B1/ja
Application granted granted Critical
Publication of JP5051327B1 publication Critical patent/JP5051327B1/ja
Priority to US13/676,591 priority patent/US8760721B2/en
Priority to CN201210526453.9A priority patent/CN103034618B/zh
Publication of JP2013196602A publication Critical patent/JP2013196602A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1857Generation of the printable image characterized by its workflow involving parallel processing in the same printing apparatus
    • 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/1859Generation of the printable image characterized by its workflow involving data processing distributed amongst different data processing apparatus
    • 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/1849Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives
    • G06K15/1851Generation of the printable image using an intermediate representation, e.g. a list of graphical primitives parted in a plurality of segments per page
    • 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
    • G06K15/1865Generation of the printable image characterized by its workflow taking account of a limited available memory space or rasterization time by compressing the rasterized print data

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Record Information Processing For Printing (AREA)
  • Facsimiles In General (AREA)

Abstract

【課題】補助処理装置のすべてが有効利用されるという点を維持しつつも、ページの画像データを補助処理装置の数に応じた数の処理単位に分割する方式と比較して、処理効率をより高める。
【解決手段】各DRPはデータ入出力とデータ処理とを並列して実行するので、同時に2つの処理単位を取扱可能である。ここで、個々のDRPが1ページの画像データを処理する間に、RIP部10から分割部12に対して3ページの中間形式の画像データが入力されるとする。この場合、分割部12は、「DRP数」×「1つのDRPが同時取扱可能な処理単位数」/「ページ並列度」=6×2/3=4が、適切な分割数として求め、個々のページを4つの処理単位(例えばタイル)に分割する。分割結果の各処理単位は、分配部14により、ページ順が小さいものから順に各DRPに分配される。
【選択図】図3

Description

本発明は、画像処理装置及びプログラムに関する。
デジタルプリンタやデジタル複合機(プリンタ、スキャナ、コピー機等の機能を併せ持つ多機能装置)は、印刷等のために、ページ記述言語で記述された印刷データの解釈、解釈結果に基づくラスター画像の生成、色空間変換等のカラーマッチング処理、一時保存や転送のためのラスター画像データの圧縮及び伸張等のように各種の画像処理を実行している。印刷業務分野等で用いられる高速なシステムでは、このような画像処理の一部をハードウエアアクセラレータ等の補助処理装置に実行させることで処理の高速化を図っているケースが少なくない。更なる高速化のために、プリンタシステムにハードウエアアクセラレータを複数搭載し、1ページの画像データをバンド又はタイルと呼ばれる複数の処理単位に分割し、それら複数のハードウエアアクセラレータに並列処理させることも考えられる。
ハードウエアアクセラレータとして、内部の論理回路構成を動的に再構成可能なDRP(Dynamic Reconfigurable Processor:動的再構成可能プロセッサ)を用いる例も知られている。
特許文献1には、リコンフィギュラブル回路内部で時分割で複数のタスクを並列実行する仕組みが開示されている。
特許文献2には、再構成可能ハードウエアにおいて、ハードウエア内部のある機能オブジェクトが過負荷になったときに、空き領域にその機能オブジェクトを複製し、その複製オブジェクトに対して処理待ちメッセージを転送して実行させる方式が開示されている。
特開2006−018539号公報 特開2000−148707号公報
ところで、画像データを処理するハードウエアアクセラレータ等の補助処理装置を複数備える場合、単純には、ページごとの画像データをそれぞれ補助処理装置の数に応じた数の処理単位に分割し、それら処理単位を各補助処理装置に分配すれば、それらすべての補助処理装置が有効利用される。
一方、ページを細かく分割するほど、分割処理の処理性能は高くなる。一方、補助処理装置は、処理単位ごとに初期処理等が必要なので、ページの分割が細かくなればなるほど、初期処理等によるオーバーヘッドが増え、処理効率が低下する。
本発明は、補助処理装置のすべてが有効利用されるという点を維持しつつも、ページの画像データを補助処理装置の数に応じた数の処理単位に分割する従来の方式と比較して、処理効率をより高めることを目的とする。
請求項1に係る発明は、画像データに対してあらかじめ定められた処理を行う複数の補助処理装置と、1ページの画像データを複数の処理単位に分割して前記各補助処理装置に対して分配する分配手段と、を備え、前記分配手段は、前記補助処理装置の数と、1つの補助処理装置が同時に入力及び処理可能な処理単位の数と、1つの補助処理装置が1ページの画像データを処理する間に入力される画像データのページ数を表すページ並列度と、に基づいて、1ページの画像データをいくつの処理単位に分割するかを示す分割数を算出し、前記1ページの画像データを前記算出した分割数の処理単位に分割して前記補助処理装置に分配する画像処理装置である。
請求項2に係る発明は、各ページの画像データが入力されるのと並行してそれら各ページの入力の時間間隔を測定する測定手段を更に備え、前記分配手段は、前記測定手段が測定した前記時間間隔を用いて前記ページ並列度を更新し、更新された前記ページ並列度を用いて前記分割数を算出する、ことを特徴とする請求項1に記載の画像処理装置である。
請求項3に係る発明は、前記分配手段は、前記各補助処理装置に過去に分配した処理単位の処理負荷レベルの履歴を記録し、前記各補助処理装置に分配する処理単位を選択する際に前記履歴を参照することにより、ページ順を維持する範囲内で、前記各補助処理装置に分配される処理単位の処理負荷レベルの時間平均がそれら補助処理装置間で等しくなるよう、前記各補助処理装置に分配する処理単位を選択する、ことを特徴とする請求項1又は2に記載の画像処理装置である。
請求項4に係る発明は、前記分配手段は、補助処理装置が第1の処理単位についての処理を実行中に、次に分配する第2の処理単位を当該補助処理装置に転送し、当該補助処理装置が前記第1の処理単位の処理を完了すると、前記第2の処理単位の処理が開始されるようにし、前記1つの補助処理装置が同時に入力及び処理する処理単位の数は2である、ことを特徴とする請求項1〜3のいずれか1項に記載の画像処理装置である。

請求項5に係る発明は、コンピュータを、1ページの画像データを複数の処理単位に分割して各補助処理装置に対して分配する分配手段、として機能させるためのプログラムであって、前記分配手段は、前記補助処理装置の数と、1つの補助処理装置が同時に入力及び処理可能な処理単位の数と、1つの補助処理装置が1ページの画像データを処理する間に入力される画像データのページ数を表すページ並列度と、に基づいて、1ページの画像データをいくつの処理単位に分割するかを示す分割数を算出し、前記1ページの画像データを前記算出した分割数の処理単位に分割して前記補助処理装置に分配する、ことを特徴とするプログラムである。
請求項1又は5に係る発明によれば、補助処理装置のすべてが有効利用されるという点を維持しつつも、ページの画像データを補助処理装置の数に応じた分割数の処理単位に分割する従来の方式と比較して、処理効率をより高めることができる。
請求項2に係る発明によれば、ページ群の画像データが入力される速度が時間的に変化する場合でも、その変化に追従して適切な分割数を求めることができる。
請求項3に係る発明によれば、各補助処理装置の処理負荷を平準化することができる。
請求項4に係る発明によれば、個々の補助処理装置に対する処理単位の転送と、転送した処理単位に対する補助処理装置での画像処理とを順番に行う方式よりも、補助処理装置の処理速度を高めることができる。
実施形態の画像処理装置の一例を示す図である。 DRP内でのデータ入出力とデータ処理とを順番に行う場合と並列して行う場合との比較のための図である。 DRPを6つ備える装置において、単位時間に3ページ分の中間形式データがRIP部から供給される場合の、ページの分割及び分配の例を説明するための図である。 分割部の処理手順の一例を示す図である。 分配部の全体的な処理手順の一例を示す図である。 分配部における配信対象の処理単位を決定するための手順の一例を示す図である。
まず図1を参照して、本実施形態の画像処理装置の例を説明する。この画像処理装置は、プリンタ(図示省略)に内蔵又は接続される装置であり、プリンタに対して供給するラスター画像データを生成する。
図1の例では、RIP(Raster Image Processor)部10は、外部(例えばパーソナルコンピュータや可搬型記憶媒体)からこの画像処理装置に入力される、ページ記述言語(以下、PDLと略す。PDLは、Page Description Languageの略)で記述された印刷データを解釈し、中間形式の画像データへと変換する。中間形式には、例えばディスプレイリスト等があるが、これらに限定されるものではない。中間形式のデータの形式例としては、画像を構成する画像要素である各オブジェクト(例えば、文字フォント、グラフィックス図形、連続調イメージ)を、ラスター走査の走査線ごとやレクトアングル(Rectangle)と呼ばれる矩形に区切った集まりで表現する形式が挙げられる。矩形に区切った場合は、例えば、矩形の角の座標でそのオブジェクトの配置を管理する。例えば、オブジェクトが1つの走査線上に占める区間を表す区間データとして管理し、個々の区間データには、その区間の開始点と終了点の座標、その区間に配置されるオブジェクト種類(文字、グラフィックス、連続調イメージ等)を示す情報、区間データ上の画素値属性(文字やグラフィックスの場合は画素値、連続調イメージの場合はその区間データ上にマップされるイメージ(すなわちこの例ではイメージ本体は別の場所に記憶されている)のアドレスなど)などが含まれる。RIP部10は、PDLを処理することで、ページ順に、ページ単位の中間形式データを生成する。
RIPは、その言葉の由来からすればPDLの印刷データをラスター画像データに変換する処理乃至その処理のための処理装置を意味するが、近年ではデータの取扱(例えば一時保存や転送、或いは一部の画像処理)のしやすさから、PDLのデータをいったん中間形式に変換して取り扱うケースが増えており、このような変換又はその変換のための装置をRIPと呼ぶことも増えている。図1の例はその一例である。
なお、RIP部10は、単一の解釈プロセスで印刷データの先頭ページから順に1ページずつ処理していってもよいし、複数の解釈プロセスを実行してそれらに順にページを割り振ることで複数のページを並列に処理していくようにしてもよい。後者の場合、個々のページの処理負荷の相違等から、ページ順が後のページの中間形式データが前のものよりも先に完成する場合もあるが、このような順番の乱れは、最終的に各ページのラスター画像データをページ順にプリンタに出力するまでのいずれかのステップで修正すればよい。例えば、RIP部10から出力する際に修正してもよいし、分配部14から各DRP16に処理単位を分配する際に修正してもよいし、また分配部14が各DRP16から各処理単位についての処理結果を受け取り、それら処理結果をページのラスター画像へと合成してプリンタへと転送する際に修正してもよい(或いはそれらステップのうちの2以上でその都度修正してもよい)。
RIP部10の出力は分配処理部11に入力される。分配処理部11は分割部12と分配部14とからなる。分割部12は、RIP部10からページ順に供給される各ページの中間形式データを、バンド又はタイル等の処理単位に分割する。なお、バンドは、ページを副走査方向(印刷時の用紙の搬送方向)または主走査方向(副走査方向と垂直な方向)に沿って分割することによりできる面積の範囲であり、タイルは、ページを主走査方向(副走査方向に垂直な方向)及び副走査方向の両方について分割してできる面積の範囲である。1ページの分割結果である個々の処理単位は、必ずしも互いに等しい面積でなくてもよい。本実施形態では、この分割部12の処理において、ページを適切な数の処理単位に分割する。1ページをいくつの処理単位に分割するかを示す数を分割数と呼ぶ。分割数の求め方については後で詳しく説明する。
分配部14は、分割部12の分割処理により得られた各処理単位の中間形式データを、複数のDRP16に分配する。分配部14の分配処理については、後で詳細な例を説明する。
以上に説明したRIP部10、分割部12及び分配部14は、例えば、CPU(中央演算装置)及びメモリを備えたコンピュータにより、それら各部の処理を記述したプログラムを実行することにより実現される。このコンピュータに対して、複数のDRP16がハードウエア的な補助処理装置として接続される。このように、本実施形態の画像処理装置は、メインとなるRIP部10等の機能を果たすコンピュータと、補助処理装置としての複数のDRP16とから構成される。
DRP16は、内部の論理回路構成を動的に再構成可能なプロセッサである。この実施形態では、例えば、DRP16を、まずラスタライズ回路に再構成することで、処理対象である処理単位の中間形式データからラスター画像を生成(ラスタライズ)する。次に、そのDRP16をカラーマッチング回路に再構成することで、そのラスター画像に対してカラーマッチング処理を施し、更にそのDRP16をデータ圧縮回路として構成することでカラーマッチング後のラスター画像をデータ圧縮する。各DRP16が出力する圧縮されたラスター画像データは、図示省略した合成部に送られ、合成部にて1つのページの圧縮ラスター画像データへと統合される。そして、ページごとに統合された圧縮ラスター画像データが、例えば、この画像処理装置の後段に接続されたプリントエンジンに転送され、プリントエンジン内に設けられた伸長回路で伸張されてラスター画像データとなる。このラスター画像データに従い、プリントエンジンが用紙に画像を印刷する。なお、ここでは、DRP16が実行する画像処理の一例として、ラスタライズ、カラーマッチング、及び画像データ圧縮を例示したが、これは一例に過ぎない。DRP16にどのような画像処理を実行させるかは、用途や達成したい処理性能等を考慮して決めればよい。例えば、DRP16がラスタライズ及びカラーマッチングのみを行い、合成部(図示省略)が、各DRP16の出力をページごとのラスター画像データに統合した上で、そのページのラスター画像データを圧縮するという構成をとってもよい(これも一例に過ぎない)。
DRP16に入力された処理対象のデータは、DRP16の内部にコンフィギュレーションデータにしたがって構成されたパイプラインをなす一連の処理回路により順に処理されていく。DRP16は、そのようなパイプライン処理の結果を保持するローカルのメモリを持っていてもよい。また、DRP16を別のコンフィギュレーションデータに従って再構成することで、DRP16内の別の処理のためのパイプラインを構成し、前段のコンフィギュレーションの処理結果のデータを、この新たなコンフィギュレーションのパイプラインに入力して処理する。このような再構成及びデータ入力を繰り返すことで、DRP16により一連の画像処理が実行される。
DRP16は、画像処理装置のコンピュータとの間でのデータの入出力と、入力されたデータに対する内部の回路構成による処理とを並列して実行可能な構成を有する。例えば、DRP16は、データの入出力のための回路構成と、入力され(いったんローカルのメモリに保存され)たデータを処理するための回路構成と、を独立に動作させ、それらに別々の処理単位のデータを取り扱わせることができる。本実施形態では、このようなDRP16の機能性を利用して、DRP16の処理効率の改善を図っている。この点を、図2を参照して説明する。
図2の上段のタイムチャート(a)は、個々の処理単位のデータを単純に順番にDRP16に処理させる場合を示している。1つの処理単位のデータをDRP16に処理させる場合、まず画像処理装置のメインCPUは、DRP16に対して処理対象の処理単位データを配信する(「Write」動作)。配信が完了すると、DRP16は、内部回路を動的に再構成しながらその処理単位データを処理し(「DRP処理」)、その処理が完了するとその処理結果のデータをメインCPUに返信する(メインCPUの観点では「Read」動作)。データ入出力とデータ処理との並列性を利用しない(a)のケースでは、個々の処理単位についてこのようなデータ配信、データ処理、データ返信のサイクルが順に繰り返される。
これに対してタイムチャート(b)は、DRP16にデータ入出力とデータ処理とを並列に実行させた場合を示している。この例では、DRP16が最初の処理単位(図中最も左上のバー)についてのDRP処理を実行している間に、同じDRP16に対して次の処理単位のデータを配信している(図中の中央のバー参照)。図では最初の処理単位についてのDRP処理の完了と同時に、その次の処理単位の配信が完了するようにしているが、これは一例に過ぎない。前の処理単位についてのDRP処理が完了した時点で次の処理単位のデータ配信が完了していればよい。そして、最初の処理単位のDRP処理が完了すると、即座に、既に受信済みの次の処理単位についてのDRP処理を開始する。このDRP処理は、最初の処理単位のDRP処理の結果のメインCPUへの返信と並列に実行される。このように、DRP16においてデータの入出力とデータ処理とを並行して行うことで、データの入出力に要する時間が実質的に隠蔽され、その分だけ処理速度が向上する。
本実施形態では、一例として、各DRP16に、タイムチャート(b)のようにデータの入出力とデータ処理とを並行して行わせる。
このようにDRP16がデータ入出力とデータ処理とを並行的に実行する場合、おおまかには、DRP16に対して常に2つの処理単位が関係している(すなわち、1つは入力又は出力され、もう1つは処理されている)。したがって、このようなモードで動作するDRP16を無駄なく動作させるには、個々のDRP16に対して平均して2つずつ処理単位を分配する必要がある。
このためには、単純には、個々のページのデータをDRP16の個数×2の数に分割すればよいが、これではデータが細分化されすぎ、処理単位毎の初期化等のように、DRP16の動作のオーバーヘッドが多くなりすぎる。そこで、本実施形態では、分割部12は、そのようなオーバーヘッドを減らすために、以下のようにしてページの分割数を定める。
すなわち、まずページ並列度Pを以下の式に従い求める。
P=T1/T2
ここで、T1は1つのDRP16が1ページの中間形式データを処理するのに要する時間であり、T2は分割部12がRIP部10から1ページずつの中間形式データを受け取る時間間隔(言い換えればRIP部10が1ページの中間形式データを生成するのに要する時間)である。言い換えればページ並列度Pは、RIP部10の処理速度をDRPの処理速度で除算した値である 。すなわち、ページ並列度Pは、DRP16が1ページの中間形式データを処理する間に、RIP部10が何ページ分の中間形式データを生成するのかを示す値である。
ここで、ページ並列度Pは、固定値として画像処理装置に設定しておいてもよい。例えば、画像処理装置で取り扱う平均的な内容のページについてのRIP部10及びDRP16の処理速度を実験等で求め、この実験結果からページ並列度Pを計算して設定しておくなどである。
また、別の例として、印刷データの処理中にRIP部10又はDRP16又はその両方の処理速度を継続的に監視(例えば分割部12がRIP部10からのページの到来間隔を監視するなど)し、監視結果からページ並列度Pを動的に計算して利用してもよい。例えば、ある期間の監視結果から求めたページ並列度Pを、次の期間の分割数を計算するために用いるという、フィードバック制御を行うなどである。なお、RIP部10又はDRP16の一方しか処理速度の監視を行わない場合は、もう一方の処理速度は、実験等であらかじめ求めておいた、標準的なページについての処理速度を用いればよい。
次に、次式に従って分割数(1ページをいくつの処理単位に分割するかを示す数)Nを計算する。
分割数N=(DRP数×2)/ページ並列度P ・・・(1)
この(1)式でDRP数に2を乗じているのは、単位時間(すなわちこの例では1つのDRP16が1ページの中間形式データを処理するのに要する時間)に1つのDRP16に対して2つの処理単位を分配するからである。すなわち、この(1)式は、DRP16が同時に2つの処理単位を取扱可能(1つは入出力の対象、1つはデータ処理の対象)な場合の例である。ページ並列度Pを分母にしているのは、その単位時間にPページ分のデータが処理対象として入力されるからである。
分割部12は、RIP部10から入力される1ページの中間形式データを、このようにして求めた分割数Nの処理単位に分割する。
図3の例は、RIP部10から分割部12に対し、単位時間当たり3ページのデータが供給される場合(すなわちページ並列度Pが3)の例である。画像処理装置が備えるDRP16の数は6個であるとする。
この場合、上述の計算式から分割数N=4となり、分割部12は1ページを4つの処理単位(例えばタイル)に分割する。したがって、単位時間当たりの3ページのデータは、合計で12個の処理単位に分割され、それら12個の処理単位が6個のDRP16に対して2個ずつ分配されることになる。このように分割数を求めることで、1つ1つのDRP16に対して、単位時間当たり2つ(すなわち1つのDRP16が同時に並列して取り扱える処理単位の数)の処理単位が配信されることとなる。
このような分割部12の処理により、各ページをそれぞれ6×2=12個に分割する場合と比べて、同じ3ページのデータに対応する処理単位の数が少なくなるので、処理単位毎のDRP16の初期化等の回数が少なくて済み、DRP16の処理効率が改善される。
図4に、分割部12の処理手順の一例を示す。この手順では、分割部12は上流のRIP部10からコマンドを待ち受け(S10)、停止指示コマンドを受信した場合には処理を終了し、ページ分割指示を受けた場合には、対象となる1ページの中間形式データを受信してS12に進む。S12では、ページ並列度Pを求める。ここでは、ページ並列度Pを固定値とする例では、画像処理装置に設定されている固定値Pを取得すればよい。また、実際の処理の監視結果からページ並列度Pを動的に調整する例では、直近のRIP部10からのページ受信間隔等からページ並列度Pを計算する。このようにしてページ並列度Pが得られると、この値PとDRP数(これは画像処理装置にあらかじめ設定しておけばよい)とを用いて、分割数Nを算出する(S14)。そして、受信したページの中有関係式データを、求めた分割数Nに従って、N個の処理単位(例えばタイル)に分割する(S16)。そして、分割結果であるそれらN個の処理単位の中間形式データを、分配部14が備える処理待ちキューに登録する(S18)。なお、キューに登録する各処理単位の中間形式データには、そのデータが印刷データ中の第何ページの、何番目の処理単位であるかを示す識別情報を対応づける。
なお、分割部12は、RIP部10から与えられるページの中間形式データを、単一の分割プロセスで順に1ページずつ分割していってもよいし、複数の分割プロセスを実行してそれらに順にページを割り振ることで複数のページの分割処理を並列実行してもよい。後者の場合、個々のページの分割処理の負荷の相違(中間形式データの場合、分割するといっても、ラスター画像のように簡単にはいかない)等から、ページ順が後のページの分割が前のページの分割よりも先に完了する場合もあるが、このような順番の乱れは、最終的に各ページのラスター画像データをページ順にプリンタに出力するまでのいずれかのステップで修正すればよい。例えば、分配部14から各DRP16に処理単位を分配する際に修正してもよいし、また分配部14、又は分配部14以外の合成処理を行う合成部(図示省略)が各DRP16から各処理単位についての処理結果を受け取り、それら処理結果をページのラスター画像へと合成してプリンタへと転送する際に修正してもよい(或いはそれらステップのうちの2以上でその都度修正してもよい)。
次に、分配部14の処理手順の一例を説明する。
分割結果である個々の処理単位の中間形式データは、ラスター画像データと違って処理単位ごとにデータ量が異なる(例えば複雑な画像を含んだ処理単位は、中間形式データのデータ量が多くなる)などの理由から、DRP16での処理負荷が一般に処理単位ごとに異なる。もちろん、処理負荷を考慮せず、単純にページ順を崩さないという基準のみで各処理単位を順に各DRP16に分配してももちろんよいが、以下では、各DRP16の処理負荷ができるだけ均一になるように制御する例を示す。このような処理手順の例を図5及び図6に示す。
図5の手順では、まず分配部14は、処理待ちキュー内に、未分配の処理単位(例えばタイル)があるかどうかを判定する(S20)。無い場合には(S20の判定結果がN)、印刷データの終了等による停止指示が上位の制御部(図示省略)から到来しているかどうかを判定し(S22)、到来すればこの手順を終了し、到来していなければキューの監視(S20)を続ける。
S20で処理待ちキュー内に未分配の処理単位があることを検知した場合、分配部14は、それらキュー内の処理単位のうち、DRP16への配信対象とするものを判定し、配信する処理を実行する(S24)。このS24の処理の詳細な例を図6に示す。
図6の手順では、いずれかのDRP16から処理単位(タイル等)の配信要求を取得するごとに(S30)、S32〜S42の処理を実行する。この例では、各DRP16は、それまで実行していた処理単位の処理を完了するごとに、その処理と並行して受信した次の処理単位についての処理を開始すると共に、更にその次の処理単位の配信を分配部14に要求するものとする。
DRP16から配信要求を受けた分配部14は、そのDRP16に対する直近のあらかじめ定めた回数の配信データの処理負荷レベルの履歴情報を取得する(S32)。
ここで処理負荷レベルは、処理単位の中間形式データの処理負荷の重さを示すレベルである。処理単位の処理負荷レベルは、例えば、その処理単位内に含まれるオブジェクトの種類や数から求めればよい。例えば、連続調イメージは文字やグラフィックスよりも処理負荷が高いので、中間形式データが画像を構成する画像要素である各オブジェクトを、ラスター走査の走査線ごとやレクトアングルに区切った区間データで表現する形式を用いる場合、処理単位内のオブジェクト種類ごとの区間データの数を求め、オブジェクト種類ごとの処理負荷の重み値(これはあらかじめ定めておけばよい)を処理単位内のオブジェクト種類ごとの区間データの数に乗じて重み付け加算する等の処理により、その処理単位の処理負荷量を数値化することができる。そのようにして求めた処理負荷量を、閾値判定などにより、あらかじめ定めた処理負荷レベルにマッピングする。例えば、処理負荷レベルとしては、処理負荷が「重い」(例えば数値「1」で表す)、「標準」(例えば「0」で表す)、「軽い」(例えば「−1」で表す)の3段階などであってもよいし、必要ならもっと細かいレベルとしてもよい。もちろん、処理負荷量自体を処理負荷レベルの値として用いてもよい。例えば、分配部14が、DRP16ごとに、そのDRP16に配信した処理単位の処理負荷レベルを、例えばリングバッファのような方式で最新のあらかじめ定めた配信回数分だけ記憶するようにしておき、S32ではその記憶された直近の処理負荷レベル群を取得する。なお、DRP16が、分配部14から処理単位のデータと共に処理負荷レベルの情報を受け取って、最新のあらかじめ定めた配信回数分だけ記憶し、分配部14に次の処理単位の配信を要求する際に、その記憶情報を分配部14に通知してもよい。
そして、分配部14は、S32で取得した情報に基づき、S30で取得した要求に応じて要求元のDRP16に配信する処理単位の処理負荷レベルを判定する(S34)。この判定は、ページ順を維持しつつも、各DRP16に分配される処理単位の処理負荷レベルの時間平均がそれらDRP16間でほぼ均等になるようにするという基準に基づいて行う。
例えば、処理負荷レベルが「重い」、「標準」、「軽い」の3段階であり、S32で情報を取得する直近の過去の処理単位の数を1つ(すなわち前回配信した処理単位のみの情報のみを取得)とする。この場合、前回の処理負荷レベルが「重い」(=1)であれば今回配信するレベルは「軽い」(=−1)が適切と判定し、逆に前回の処理負荷レベルが「軽い」であれば今回配信するレベルは「重い」が適切と判定する。また、前回の処理負荷レベルが「標準」であれば今回配信するレベルは「標準」が適切と判定する。
また、直近の過去n回(nは2以上の整数)に当該DRP16に配信した処理単位の処理負荷レベルを取得し、それら取得した処理負荷レベル群と今回配信する処理単位の処理負荷レベルの平均が「標準」に近づくよう、今回配信する処理単位の処理負荷レベルを決定してもよい。
通常の印刷データであれば、どのように分割しても分割結果の処理単位の処理負荷の平均は「標準」になると考えてよいので、以上の例のように単体のDRP16ごとに配信した処理単位の処理負荷レベルの時間平均が「標準」となるようにすれば、結果として各DRP16にほぼ均等に負荷が分散されることとなる。
以上のようにDRP16ごとの履歴から判定する代わりに、各DRP16に配信した処理単位の処理負荷レベルの履歴を相互に比較し、それら履歴における各DRP16の処理負荷レベルの平均値が均等に近づくように、要求元のDRP16に対して今回配信する処理単位の処理負荷レベルを決定してもよい。
次に分配部14は、処理待ちキュー内にある処理単位の中の、ページ番号が最小である処理単位の中から、S34で求めた処理負荷レベルに該当する処理単位を探す(S36)。なお、各処理単位のデータの処理負荷レベルは、例えば分割部12がページを処理単位に分割する際に求め、処理単位のデータと対応づけて処理待ちキューに入れておけばよい。また、この代わりに、分割部12から分割結果である各処理単位のデータを受け入れる際に、分配部14がそれら各処理単位の処理負荷レベルを求めてもよい。いずれの場合でも、分配部14は、処理待ちキュー内の各処理単位の処理負荷レベルを知ることができるので、その情報からS36の条件を満たす処理単位を特定すればよい。
条件に合致する処理単位が見つかれば(S36の判定結果がY)、その処理単位をキューから取りだして(S38)、要求元のDRP16に配信する(S42)。条件に合致する処理単位が見つからなければ(S36の判定結果がN)、キュー内でページ番号が最小の処理単位の中から任意の1つを取りだして(S40)、要求元のDRP16に配信する(S42)。
このような処理手順によれば、各処理単位が、ページ順を維持しつつも、できるだけ各DRP16の負荷が平準化されるように、各DRP16に分配される。
なお、図6の手順では、要求元のDRP16に配信する処理単位の処理負荷レベルをS34で決定し、その決定した処理負荷レベルに該当する処理単位をS36で探索したが、このような処理の流れは一例に過ぎない。このような2段階のステップに分ける代わりに、処理待ちキューの中のページ番号が最小である処理単位のうち、要求元のDRP16に配信した処理単位の処理負荷レベルの時間平均を全DRP16の平均に最も近づけるものを配信対象としてもよい。
以上のようにして配信する処理単位の判定及び配信(図5のS24)が完了すると、分配部14は、その処理単位の配信先のDRP16が前回に配信された処理単位についてのパイプライン処理を実行中かどうか判定し(S26)、実行中であればDRP16からそのパイプライン処理を完了した旨の通知を待つ(S28)。そして、前回に配信した処理単位のパイプライン処理が完了したら、今回配信した処理単位についてパイプライン処理を開始するよう、そのDRP16に対して指示を送る(S29)。このあと、S20に戻る。このようなS20〜S42の処理ループを、印刷データ全部の処理が終わるまで繰り返す。
以上のような配信制御によれば、ページ順を維持しつつもすべてのDRP16が常にほぼ均等な負荷で稼働するようにでき、このことがひいてはDRP16群全体としての処理速度の改善をもたらす。
以上は、DRP16が最大2つの処理単位を同時に取扱可能(1つは入出力の対象として、もう1つはデータ処理の対象として)である場合の例であるが、本実施形態のページ分割及び分配の方式は、DRP16が同時取扱可能な処理単位の数が2以外の場合にも適用可能である。例えば、1つのDRP16内に同じ回路を複数構成することで複数の処理単位を並列に処理する場合には、その並列処理可能な処理単位の数に応じてDRP16の同時取扱可能な処理単位の数が増えるが、このような場合には、分割数を決める上述の(1)式において、係数「2」を、DRPが同時取扱可能な処理単位数に変更すればよい。
以上に例示した画像処理装置のうちのDRP16以外の部分(特に分配処理部11)は、例えば、汎用のコンピュータにそれら各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、CPU等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)およびリードオンリメモリ(ROM)等のメモリ(一次記憶)、HDD(ハードディスクドライブ)を制御するHDDコントローラ、各種I/O(入出力)インタフェース、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース等が、たとえばバスを介して接続された回路構成を有する。また、そのバスに対し、例えばI/Oインタフェース経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダライタ、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAMに読み出されCPU等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。
10 RIP部、11 分配処理部、12 分割部、14 分配部、16 DRP。
請求項5に係る発明は、前記分配手段は、前記補助処理装置の数と、1つの補助処理装置が同時に入力及び処理可能な処理単位の数と、を乗じた値を、1つの補助処理装置が1ページの画像データを処理する間に入力される画像データのページ数を表すページ並列度で除することにより、前記分割数を算出する、ことを特徴とする請求項1〜4のいずれか1項に記載の画像処理装置である。
請求項に係る発明は、コンピュータを、1ページの画像データを複数の処理単位に分割して各補助処理装置に対して分配する分配手段、として機能させるためのプログラムであって、前記分配手段は、前記補助処理装置の数と、1つの補助処理装置が同時に入力及び処理可能な処理単位の数と、1つの補助処理装置が1ページの画像データを処理する間に入力される画像データのページ数を表すページ並列度と、に基づいて、1ページの画像データをいくつの処理単位に分割するかを示す分割数を算出し、前記1ページの画像データを前記算出した分割数の処理単位に分割して前記補助処理装置に分配する、ことを特徴とするプログラムである。
請求項1又は5又は6に係る発明によれば、補助処理装置のすべてが有効利用されるという点を維持しつつも、ページの画像データを補助処理装置の数に応じた分割数の処理単位に分割する従来の方式と比較して、処理効率をより高めることができる。

Claims (5)

  1. 画像データに対してあらかじめ定められた処理を行う複数の補助処理装置と、
    1ページの画像データを複数の処理単位に分割して前記各補助処理装置に対して分配する分配手段と、
    を備え、
    前記分配手段は、前記補助処理装置の数と、1つの補助処理装置が同時に入力及び処理可能な処理単位の数と、1つの補助処理装置が1ページの画像データを処理する間に入力される画像データのページ数を表すページ並列度と、に基づいて、1ページの画像データをいくつに分割するかを示す分割数を算出し、前記1ページの画像データを前記算出した分割数の処理単位に分割して前記各補助処理装置に分配する、
    画像処理装置。
  2. 各ページの画像データが入力されるのと並行してそれら各ページの入力の時間間隔を測定する測定手段を更に備え、
    前記分配手段は、前記測定手段が測定した前記時間間隔を用いて前記ページ並列度を更新し、更新された前記ページ並列度を用いて前記分割数を算出する、
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記分配手段は、前記各補助処理装置に過去に分配した処理単位の処理負荷レベルの履歴を記録し、前記各補助処理装置に分配する処理単位を選択する際に前記履歴を参照することにより、ページ順を維持する範囲内で、前記各補助処理装置に分配される処理単位の処理負荷レベルの時間平均がそれら補助処理装置間で等しくなるよう、前記各補助処理装置に分配する処理単位を選択する、
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記分配手段は、補助処理装置が第1の処理単位についての処理を実行中に、次に分配する第2の処理単位を当該補助処理装置に転送し、当該補助処理装置が前記第1の処理単位の処理を完了すると、前記第2の処理単位の処理が開始されるようにし、
    前記1つの補助処理装置が同時に入力及び処理する処理単位の数は2である、
    ことを特徴とする請求項1〜3のいずれか1項に記載の画像処理装置。
  5. コンピュータを、1ページの画像データを複数の処理単位に分割して各補助処理装置に対して分配する分配手段、として機能させるためのプログラムであって、
    前記分配手段は、前記補助処理装置の数と、1つの補助処理装置が同時に入力及び処理可能な処理単位の数と、1つの補助処理装置が1ページの画像データを処理する間に入力される画像データのページ数を表すページ並列度と、に基づいて、1ページの画像データをいくつの処理単位に分割するかを示す分割数を算出し、前記1ページの画像データを前記算出した分割数の処理単位に分割して前記各補助処理装置に分配する、
    ことを特徴とするプログラム。
JP2012065591A 2012-03-22 2012-03-22 画像処理装置及びプログラム Expired - Fee Related JP5051327B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012065591A JP5051327B1 (ja) 2012-03-22 2012-03-22 画像処理装置及びプログラム
US13/676,591 US8760721B2 (en) 2012-03-22 2012-11-14 Image processing apparatus and non-transitory computer readable medium
CN201210526453.9A CN103034618B (zh) 2012-03-22 2012-12-07 图像处理设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012065591A JP5051327B1 (ja) 2012-03-22 2012-03-22 画像処理装置及びプログラム

Publications (2)

Publication Number Publication Date
JP5051327B1 JP5051327B1 (ja) 2012-10-17
JP2013196602A true JP2013196602A (ja) 2013-09-30

Family

ID=47189478

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012065591A Expired - Fee Related JP5051327B1 (ja) 2012-03-22 2012-03-22 画像処理装置及びプログラム

Country Status (3)

Country Link
US (1) US8760721B2 (ja)
JP (1) JP5051327B1 (ja)
CN (1) CN103034618B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017052221A (ja) * 2015-09-11 2017-03-16 富士ゼロックス株式会社 画像処理装置および画像形成装置
WO2021234936A1 (ja) * 2020-05-22 2021-11-25 株式会社Tvt データ送信装置、プログラム及びシステム

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5641825B2 (ja) * 2010-08-26 2014-12-17 キヤノン株式会社 装置およびその制御方法、並びにプログラム
CN104102475B (zh) * 2013-04-11 2018-10-02 腾讯科技(深圳)有限公司 分布式并行任务处理的方法、装置及系统
AU2013260722A1 (en) * 2013-11-22 2015-06-11 Canon Kabushiki Kaisha Scheduling interpreting and rasterising tasks in a multi-threaded RIP
JP2016111633A (ja) * 2014-12-09 2016-06-20 キヤノン株式会社 回路情報に従って論理回路を構成可能な回路を持つデバイスと、複数の制御手段とを有する情報処理システム
JP6821926B2 (ja) * 2016-03-10 2021-01-27 富士ゼロックス株式会社 描画データ作成装置
CN108255590B (zh) * 2017-12-07 2021-07-30 深圳比特微电子科技有限公司 一种数据流控制方法和装置
JP2021094798A (ja) * 2019-12-18 2021-06-24 富士フイルムビジネスイノベーション株式会社 画像処理装置
IL297653B2 (en) * 2022-10-25 2024-03-01 Geox Gis Innovations Ltd A system and method for segment-aware semantic segmentation

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3573614B2 (ja) 1998-03-05 2004-10-06 株式会社日立製作所 画像処理装置及び画像処理システム
JP3472913B2 (ja) * 1998-11-06 2003-12-02 日本電信電話株式会社 再構成可能なハードウェアにおける負荷分散方法
JP2000148997A (ja) * 1998-11-13 2000-05-30 Minolta Co Ltd 画像処理装置
DE10109974B4 (de) 2001-03-01 2006-02-16 Infineon Technologies Ag Verfahren und System zur digitalen Echtzeit-Datenverarbeitung
JP2003216943A (ja) 2002-01-22 2003-07-31 Toshiba Corp 画像処理装置、この装置に用いられるコンパイラおよび画像処理方法
US7225324B2 (en) * 2002-10-31 2007-05-29 Src Computers, Inc. Multi-adaptive processing systems and techniques for enhancing parallelism and performance of computational functions
EP1756751A2 (en) 2004-04-08 2007-02-28 Silicon Optix Method and apparatus for high density storage and handling of bit plane data
JP4546775B2 (ja) * 2004-06-30 2010-09-15 富士通株式会社 時分割多重処理可能なリコンフィギュラブル回路
JP2006140601A (ja) * 2004-11-10 2006-06-01 Canon Inc 画像処理装置及び画像処理装置の制御方法
JP2011002952A (ja) 2009-06-17 2011-01-06 Sony Corp 演算処理装置、処理ユニット、演算処理システム及び演算処理方法
JP5453996B2 (ja) * 2009-08-11 2014-03-26 富士ゼロックス株式会社 画像処理装置及びプログラム
JP2011143576A (ja) * 2010-01-13 2011-07-28 Konica Minolta Business Technologies Inc 印刷データ生成装置、画像形成装置及びプログラム
JP5333259B2 (ja) * 2010-01-25 2013-11-06 コニカミノルタ株式会社 画像形成装置、プログラム及び画像形成方法
JP5552855B2 (ja) * 2010-03-19 2014-07-16 富士ゼロックス株式会社 画像処理装置、画像形成システム及び画像処理プログラム
JP5663941B2 (ja) * 2010-04-30 2015-02-04 富士ゼロックス株式会社 印刷文書変換装置およびプログラム
JP5699448B2 (ja) * 2010-05-11 2015-04-08 株式会社リコー 情報処理装置
JP5655392B2 (ja) * 2010-06-23 2015-01-21 富士ゼロックス株式会社 印刷画像処理装置及びプログラム
JP5482528B2 (ja) * 2010-07-14 2014-05-07 富士ゼロックス株式会社 印刷文書変換装置及びプログラム
JP5573524B2 (ja) * 2010-09-10 2014-08-20 株式会社リコー 画像処理装置、画像処理方法、プログラムおよび記録媒体

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017052221A (ja) * 2015-09-11 2017-03-16 富士ゼロックス株式会社 画像処理装置および画像形成装置
WO2021234936A1 (ja) * 2020-05-22 2021-11-25 株式会社Tvt データ送信装置、プログラム及びシステム

Also Published As

Publication number Publication date
US20130250353A1 (en) 2013-09-26
CN103034618A (zh) 2013-04-10
CN103034618B (zh) 2014-03-26
US8760721B2 (en) 2014-06-24
JP5051327B1 (ja) 2012-10-17

Similar Documents

Publication Publication Date Title
JP5051327B1 (ja) 画像処理装置及びプログラム
US6327050B1 (en) Printing method and apparatus having multiple raster image processors
CN102236531B (zh) 打印文档转换设备和打印文档转换方法
US7800772B2 (en) Data processing apparatus, image forming apparatus, image forming method, and printing system
US8625133B2 (en) Print data processing apparatus, print data processing method, and storage medium
JP5655392B2 (ja) 印刷画像処理装置及びプログラム
JP2012059093A (ja) 印刷制御装置、印刷システムおよびプログラム
JP5691688B2 (ja) 印刷制御装置及び印刷制御プログラム、印刷制御方法
US20100253972A1 (en) Printing device and method for parallel processing of data
US8928914B2 (en) Image processing apparatus, information processing method, and storage medium
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
JP6135329B2 (ja) 印刷データ処理装置、プログラム、及びシステム
JP2012071544A (ja) 画像形成装置、画像処理方法
US7170628B2 (en) Efficient processing of images in printers
US20040012797A1 (en) Load balancing in image generation
JP6471660B2 (ja) 情報処理装置及びプログラム
US8526052B2 (en) Print data processing apparatus, control method for print data processing apparatus, and storage medium
JP2013119242A (ja) 画像形成装置、画像形成方法、およびプログラム
JP2011053944A (ja) 画像形成装置、画像形成方法及び制御プログラム
JP6185745B2 (ja) 印刷制御装置、印刷制御方法、およびプログラム
JP2011143576A (ja) 印刷データ生成装置、画像形成装置及びプログラム
US20100067058A1 (en) Image processing apparatus and image processing method
JP5574242B2 (ja) 印刷制御装置及び印刷制御プログラム並びに印刷制御方法
JP2010282489A (ja) 画像形成装置、制御方法及び制御プログラム
US20190310810A1 (en) Image processing apparatus and image processing method

Legal Events

Date Code Title Description
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: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120709

R150 Certificate of patent or registration of utility model

Ref document number: 5051327

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees