JP2011110808A - 印刷装置及びその処理方法 - Google Patents

印刷装置及びその処理方法 Download PDF

Info

Publication number
JP2011110808A
JP2011110808A JP2009269265A JP2009269265A JP2011110808A JP 2011110808 A JP2011110808 A JP 2011110808A JP 2009269265 A JP2009269265 A JP 2009269265A JP 2009269265 A JP2009269265 A JP 2009269265A JP 2011110808 A JP2011110808 A JP 2011110808A
Authority
JP
Japan
Prior art keywords
print data
memory
format
data
processor
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
JP2009269265A
Other languages
English (en)
Other versions
JP5675082B2 (ja
JP2011110808A5 (ja
Inventor
Takahiro Ogushi
卓広 大串
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 JP2009269265A priority Critical patent/JP5675082B2/ja
Priority to US12/912,590 priority patent/US8947684B2/en
Priority to CN201010557435.8A priority patent/CN102152668B/zh
Publication of JP2011110808A publication Critical patent/JP2011110808A/ja
Publication of JP2011110808A5 publication Critical patent/JP2011110808A5/ja
Application granted granted Critical
Publication of JP5675082B2 publication Critical patent/JP5675082B2/ja
Expired - Fee Related 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/1221Reducing or saving of used resources, e.g. avoiding waste of consumables or improving usage of hardware resources with regard to power consumption
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B41PRINTING; LINING MACHINES; TYPEWRITERS; STAMPS
    • B41JTYPEWRITERS; SELECTIVE PRINTING MECHANISMS, i.e. MECHANISMS PRINTING OTHERWISE THAN FROM A FORME; CORRECTION OF TYPOGRAPHICAL ERRORS
    • B41J29/00Details of, or accessories for, typewriters or selective printing mechanisms not otherwise provided for
    • B41J29/38Drives, motors, controls or automatic cut-off devices for the entire printing mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • 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)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】
複数のプロセッサを有する構成において、消費電力の低減を図れるようにした技術を提供する。
【解決手段】
印刷装置は、第1のメモリと接続され、印刷データを構成するページ記述言語に基づいて印刷データをイメージデータ形式に変換する第1のプロセッサと、第2のメモリと接続され、イメージデータ形式の印刷データに対して画像処理を実施し印刷部が解釈可能な形式の印刷用データを生成する第2のプロセッサと、外部から印刷データを受信するとともに、ディスクリプタに基づいて第1のメモリ又は第2のメモリのいずれかに向けて受信した印刷データをDMA転送する通信制御部とを具備する。ここで、第2のプロセッサは、外部から受信した印刷データの形式を判定し、ページ記述言語形式であれば、印刷データの転送先としてディスクリプタに第1のメモリを設定する。また、印刷データがイメージデータ形式であれば、印刷データの転送先としてディスクリプタに第2のメモリを設定する。
【選択図】 図6

Description

本発明は、印刷装置及びその処理方法に関する。
一般に、印刷装置は、ホスト装置と接続され、ホスト装置からの印刷データに従って、出力用の紙面上に画像の形成を行う。ホスト装置では、ワードプロセッサや表計算のようなアプリケーションソフトウェアがOS(オペレーティング・システム)と呼ばれる基本ソフトウェアの上で動作している。アプリケーションから印刷を行なう場合、アプリケーションがOSに用意された機能を使用し、デバイスドライバと呼ばれるソフトウェアを介してホスト装置に接続された印刷装置に印刷データを送信する。デバイスドライバでは、アプリケーションやOSが周辺装置の機能や能力といった各デバイスの依存性を吸収するための関数群で構成されている。印刷装置に対するデバイスドライバは、一般的に、プリンタドライバと呼ばれている。
プリンタドライバには、印刷データを出力時のイメージデータ(中間データ)形式に描画するタイプのものと、描画処理可能な印刷装置向けのコマンドであるPDL(Page Description Language)を生成するタイプのものとがある。一方、印刷装置には主に、イメージデータ形式のみに対応しているものと、イメージデータ形式、PDL形式の双方に対応しているものがある。
イメージデータ形式、PDL形式の双方に対応した印刷装置では、PDLデータを受信するとメモリ上の受信バッファにデータを一時格納する。受信バッファに格納されたPDLデータは、DLG(ディスプレイ・リスト・ジェネレータ)と呼ばれるコマンド解析部によりDL(ディスプレイリスト)と呼ばれる中間言語データに変換される。DLに変換されたデータは、処理単位のバンド領域に対応したリスト構造となっている。DLは、ハードウェア又はソフトウェアにより描画処理が行われ、バンド毎のイメージデータが生成される。更にその後、色変換、2値化処理等が行なわれ、印刷用データが生成される。一方、このような印刷装置において、イメージデータ形式のデータを受信した場合、メモリ上の受信バッファにデータを一時格納した後に、色変換、2値化処理等が行われ、印刷用データが生成される。
上述した通り、描画処理可能な印刷装置では、イメージデータ形式のみを受信することのできる印刷装置に比べ、処理内容が複雑であり、高速なパフォーマンスが要求される。そのため、描画処理可能な印刷装置では、複数のプロセッサを有し、並列処理を行うことによりパフォーマンスの向上を狙った技術が提案されている。
このようなパフォーマンス向上に関する技術として、特許文献1及び2に記載された技術が知られている。特許文献1には、並行処理により処理速度を向上する技術が開示されている。具体的には、第1のプロセッサにおいて、印刷データの受信処理からそれを中間コードに変換するまでの処理を行ない、第2のプロセッサにおいて、中間コードから描画データを生成する処理、色変換処理、2値化処理を行なう。
また、特許文献2には、第1のプロセッサと、それに接続される第1のメモリと、第2のプロセッサと、それに接続される第2のメモリと、通信インターフェースと、DMAコントローラとを備えた印刷装置が開示されている。ここで、通信インターフェースは、処理用データの受信に先立って、処理用データのサイズデータを受信し、当該データを第1のメモリに格納する。そして、第1のプロセッサは、第1のメモリに格納されたサイズデータに従ってDMAコントローラを制御し、第2のメモリに処理用データを格納させる。
特開2000−198240号公報 特開2008−005300号公報
上述したように、描画処理可能な印刷装置では、複数のプロセッサが設けられ、当該複数のプロセッサを並行処理させることでパフォーマンスの向上を図っている場合が多い。一方、パフォーマンスの向上に伴い、複数のプロセッサを有し並行処理させるような印刷装置では、単一のプロセッサにより処理を行なう印刷装置に比べ消費電力も大きくなっている。
上述した特許文献1の技術では、印刷データの受信から中間コードの生成までの処理を第1のプロセッサで行ない、中間コードから2値化データの生成までの処理を第2のプロセッサで行なっている。そのため、第1のプロセッサ及び第2のプロセッサは、常に稼動しており、消費電力が大きい。
また、上述した特許文献2の技術では、サイズデータを第1のプロセッサに接続されたメモリに格納し、処理用データを第2のプロセッサに接続されたメモリに格納する。そのため、それぞれのプロセッサを用いて処理を行なう必要があり、この場合も、特許文献1同様に、消費電力が大きくなってしまう。
そこで、本発明は、上記問題点に鑑みてなされたものであり、複数のプロセッサを有する構成において、消費電力の低減を図れるようにした技術を提供することを目的とする。
上記課題を解決するため、本発明の一態様は、印刷データに基づく印刷を実行する印刷部と、前記印刷データを格納する第1のメモリと接続され、前記印刷データを構成するページ記述言語に基づいて該印刷データをイメージデータ形式に変換する第1のプロセッサと、前記印刷データを格納する第2のメモリと接続され、前記イメージデータ形式の前記印刷データに対して画像処理を実施し前記印刷部が解釈可能な形式の印刷用データを生成する第2のプロセッサと、外部から前記印刷データを受信するとともに、該印刷データの転送先を規定するディスクリプタに基づいて前記第1のメモリ又は前記第2のメモリのいずれかに向けて該受信した該印刷データをDMA転送する通信制御部とを具備し、前記第1のプロセッサは、前記第1のメモリへの前記印刷データの格納を監視する監視手段と、所定時間以上、前記第1のメモリに前記印刷データが格納されなければ、通常動作可能な状態時よりも消費電力の少ない状態に前記第1のプロセッサの状態を移行させるモード移行手段とを具備し、前記第2のプロセッサは、前記外部から受信した前記印刷データの形式を判定する判定手段と、前記判定手段により前記印刷データがページ記述言語形式であると判定された場合、前記印刷データの転送先として前記ディスクリプタに前記第1のメモリを設定し、前記判定手段により前記印刷データがイメージデータ形式であると判定された場合、前記印刷データの転送先として前記ディスクリプタに前記第2のメモリを設定する設定手段とを具備することを特徴とする。
本発明によれば、複数のプロセッサを有する構成において、消費電力の低減を図れる。
本発明の一実施の形態に係わる印刷装置20を配した印刷システムの全体的な構成の一例を示す図。 図1に示す印刷装置20の外観の一例を示す斜視図。 図1に示すコントローラ部21における機能的な構成の一例を示す図。 図1に示すエンジン部22における機能的な構成の一例を示す図。 アクセラレータ部40、主制御部50、通信インターフェース32における接続関係と、アクセラレータ部40及び主制御部50に実現される機能的な構成との一例を示す図。 ディスクリプタの構成の一例を示す図。 図1に示す印刷装置20における動作の一例を示すフローチャート。 図1に示す印刷装置20における動作の一例を示すフローチャート。
以下、本発明に係わる印刷装置及びその処理方法の一実施の形態について添付図面を参照して詳細に説明する。
なお、以下の説明においては、インクジェット記録方式を採用した印刷装置を例に挙げて説明するが、これに限られず、例えば、色材にトナーを用いる電子写真方式を採用してもよい。
また、印刷装置は、例えば、印刷機能のみを有するシングルファンクションプリンタであってもよいし、また、例えば、印刷機能、FAX機能、スキャナ機能等の複数の機能を有するマルチファンクションプリンタであってもよい。また、例えば、カラーフィルタ、電子デバイス、光学デバイス、微小構造物等を所定の記録方式で製造するための製造装置であってもよい。
また、「記録媒体」とは、一般的な記録装置で用いられる紙のみならず、布、プラスチック・フィルム、金属板、ガラス、セラミックス、樹脂、木材、皮革等、その他インクを受容可能なものも表す。
更に、「インク」とは、記録媒体上に付与されることによって、画像、模様、パターン等の形成又は記録媒体の加工、或いはインクの処理(例えば、記録媒体に付与されるインク中の色剤の凝固または不溶化)に供され得る液体を表す。
(実施形態)
図1は、本発明の一実施の形態に係わる印刷装置20を配した印刷システムの全体的な構成の一例を示す図である。
印刷システムには、通信手段(例えば、LAN(Local Area Network)、USB(Universal Serial Bus)、IEEE1394)90を介して、ホスト装置10と、印刷装置20とが接続されている。
ホスト装置10は、印刷装置20に対して印刷データを供給する。ホスト装置10は、例えば、パーソナルコンピュータ、画像読取用のリーダやデジタルカメラなどで実現される。
印刷装置20は、印刷データに基づいて記録媒体上に画像を形成し印刷を行なう。なお、詳細については後述するが、印刷装置20は、各種処理を統括制御するコントローラ部21と、印刷を行なう機構であるエンジン部22とが具備される。上述した通り、本実施形態においては、エンジン部22は、インクジェット記録方式が採用される。
ここで、コントローラ部21においては、例えば、以下の処理が行なわれる。
・ホスト装置10との通信に用いられる通信手段(外部バス)のIF(Interface)制御
・ホスト装置10から送られてくる制御コマンドの解釈・イメージデータの生成
・印刷データの圧縮・伸張処理
・イメージデータ生成時における各種画像処理
・ユーザからの指示を受け付け、当該指示に基づくコマンドをエンジン部22へ送信
また、エンジン部22においては、例えば、以下の処理が行なわれる。
・コントローラ部21により生成されたイメージデータの受信
・インクジェット記録ヘッド(以下、記録ヘッドと略す)の吐出タイミングデータの生成
・印刷処理
・記録ヘッドへのインク供給・回復処理
・記録媒体の搬送、記録ヘッド動作におけるモータ制御
次に、図2を用いて、図1に示す印刷装置20の外観の一例を示す斜視図について説明する。なお、図2には、ロール紙に印刷を行なうタイプの装置が示されるが、勿論、カット紙に印刷を行なうタイプの装置であってもよい。
印刷装置20は、記録ヘッド(不図示)を有し、ホスト装置10等から受信した印刷データに基づいて記録ヘッドを制御する。具体的には、記録ヘッドに設けられた吐出口から記録媒体に対してインクを吐出する。これにより、画像(文字や記号等も含む)を記録媒体上に形成する。
印刷装置20には、記録ヘッドのインク吐出性能を維持回復するための回復装置(不図示)が配されている。印刷装置20では、一定時間経過毎又は、吐出口の目詰まり等が生じたときに、記録ヘッドを回復装置と対向する位置へ移動させて回復処理を行なう。回復処理としては、例えば、吸引回復処理、ワイピング(クリーニング)、予備吐出などが行なわれる。
図3は、図1に示すコントローラ部21における機能的な構成の一例を示す図である。
コントローラ部21は、スイッチ31と、通信インターフェース32と、アクセラレータ部40と、主制御部50とが設けられる。
アクセラレータ部40は、例えば、印刷データに基づいてバンド毎の中間データ(イメージデータ)を生成する。ここで、アクセラレータ部40には、CPU41と、バスブリッジ42と、メモリコントローラ43と、RAM(Random Access Memory)44と、ROM45と、EEPROM46とが設けられる。
ROM(Read Only Memory)45は、制御プログラム等を格納する。EEPROM(Electrically Erasable PROM)46は、各種定数データ等を格納する。RAM(以下、アクセラレータ用RAM44と呼ぶ場合もある)44は、第1のメモリとして機能し、ホスト装置10から受信したコマンド信号や画像情報等を格納する。CPU(Central Processing Unit)41は、第1のプロセッサとして機能し、ROM45に格納された制御プログラム等を用いて各種処理の実行を制御する。CPU41(以下、アクセラレータ用CPU41と呼ぶ場合もある)では、例えば、上述したメモリに格納された各種情報に基づいてページ記述言語(以下、PDLと略す)を解釈し、イメージデータを生成する。
主制御部50は、イメージデータに対して、色変換、2値化処理等を実施し、印刷用データを生成する。なお、印刷用データとは、エンジン部22が解釈可能な形式のデータを指す。ここで、主制御部50には、CPU51と、バスブリッジ52〜54と、メモリコントローラ55と、RAM56と、ROM57と、EEPROM58と、画像処理部59とが具備される。この他、主制御部50には、拡張インターフェース60、パネルインターフェース61、操作パネル62も設けられる。
ROM57は、制御プログラム等を格納する。EEPROM58は、各種定数データ等を格納する。RAM(以下、主制御用RAM56と呼ぶ場合もある)56は、第2のメモリとして機能し、ホスト装置10から受信したコマンド信号や画像情報等を格納する。CPU51は、第2のプロセッサとして機能し、ROM57に格納された制御プログラム等を用いて各種処理の実行を制御する。CPU51(以下、主制御用CPU51と呼ぶ場合もある)では、例えば、上述したメモリに格納された各種情報に基づいて印刷処理を制御する。アクセラレータ部40では、所定時間以上、処理がなければ(例えば、RAM56に印刷データが格納されない)、省電力モードに移行する省電力機能を備えている。
ここで、主制御部50には、アクセラレータ部40により生成されたイメージデータが入力される。イメージデータが入力されると、主制御部50は、それを各インク色の2値化データに変換し、エンジン部22へ出力する。コントローラ部21とエンジン部22との間の各種コマンドやステータス情報の送受信は、バスブリッジ54を介して行なわれる。
操作パネル62は、ユーザからの指示を指示情報として装置内に入力する。この指示情報は、パネルインターフェース61を介してCPU51に伝達される。また、操作パネル62では、CPU51からのパネルインターフェース61を介した命令によりLEDの点灯やLCDの表示が行なわれる。拡張インターフェース60は、機能拡張を行なるために設けられるインターフェースであり、他種の通信インターフェース等の拡張カードが接続される。
主制御用CPU51は、スイッチ31を介してアクセラレータ用CPU41と接続される。これにより、これらCPUは、相互にアクセスできる。また、これらCPUは、スイッチ31及び通信インターフェース32を介してホスト装置10に接続されている。また、主制御用CPU51は、主制御部50、アクセラレータ部40、通信インターフェース32のパワーマネージメント制御も行なう。すなわち、主制御用CPU51は、これら各部に対して、通常動作可能な状態時を示すスタンバイモードと、当該スタンバイモードよりも消費電力の少ない省電力モードとの移行制御を行なう。
スイッチ31は、主制御用CPU51により設定されたアドレス情報に基づいて、データ転送先の振り分けを行なう。振り分け先は、例えば、通信インターフェース32、バスブリッジ(主制御部側)52、バスブリッジ42(アクセラレータ部側)が挙げられる。また、通信インターフェース32は、DMA(Direct Memory Access)転送機能を有しており、外部(例えば、ホスト装置10)からデータを受信し、それを各構成部に向けて転送する。
ここで、図4を用いて、図1に示すエンジン部22における機能的な構成の一例を示す図である。
エンジン部22は、印刷部として機能し、実際に印刷を行なう機構である。ここで、エンジン部22には、CPU71と、RAM72と、ROM73と、EEPROM74と、出力ポート75と、紙搬送モータ制御回路76と、キャリッジモータ制御回路77と、モータ78及び79と、紙搬送機構80とが具備される。この他、エンジン部22には、記録ヘッド制御部84及び記録ヘッド85を備えるキャリッジ81、バンドメモリ制御部82やメモリ83も設けられる。
エンジン部22は、バンドメモリ制御部82を介してコントローラ部21と接続されている。ROM73は、制御プログラム等を格納する。EEPROM74は、各種定数データ等を格納する。RAM72は、コントローラ部21から受信したコマンド信号や画像情報等を格納する。CPU71は、ROM73に格納された制御プログラム等を用いて各種処理の実行を制御する。CPU51では、例えば、上述したメモリに格納された各種情報に基づいて印刷動作を制御する。
CPU71は、出力ポート75及びキャリッジモータ制御回路77を介してモータ79を動作させ、キャリッジ81を移動させる。また、CPU71は、出力ポート75及び紙搬送モータ制御回路76を介してモータ78を動作させ、搬送ローラなどの紙搬送機構80を動作させる。更に、CPU71は、RAM72に格納されてた各種情報に基づいて、バンドメモリ制御部82や記録ヘッド制御部84を制御する。これにより、記録ヘッド85が駆動し、記録媒体上に画像が形成される。
次に、図5を用いて、アクセラレータ部40、主制御部50、通信インターフェース32における接続関係と、アクセラレータ部40及び主制御部50に実現される機能的な構成との一例について説明する。なお、図5では、説明の便宜上、図3に示すコントローラ部21における一部の構成を省略している。
アクセラレータ用CPU41は、メモリコントローラ43を介してRAM44にアクセス可能である。主制御用CPU51は、メモリコントローラ55を介して主制御用RAM56にアクセス可能である。スイッチ31、通信インターフェース32、バスブリッジ(主制御部側)52、バスブリッジ42(アクセラレータ部側)の間は、例えば、PCI Expressで接続される。これら各部の間では、PCI Expressの規格に沿ったデータ転送が行なわれる。
アクセラレータ用CPU41は、バスブリッジ42及びスイッチ31を介して通信インターフェース32にアクセス可能である。また、主制御用RAM56には、バスブリッジ42、スイッチ31、バスブリッジ52、メモリコントローラ55を介してアクセス可能である。アクセラレータ用CPU41には、機能的な構成として、第1の変換部41aと、印刷データ監視部41cと、モード移行部41cとが設けられる。第1の変換部41aは、PDLを解釈し、イメージデータを生成する機能を有する。印刷データ監視部41bは、アクセラレータ用RAM44への印刷データの格納を監視する。モード移行部41cは、自身(アクセラレータ用CPU41)を省電力モードやスタンバイモードに移行させる。なお、省電力モードへの移行は、所定時間以上、処理がなければ(例えば、アクセラレータ用RAM44に印刷データが格納されなければ)、実施される。スタンバイモードへの移行は、主制御用CPU51からの指示に基づいて実施される。
主制御用CPU51は、バスブリッジ52及びスイッチ31を介して通信インターフェース32にアクセス可能である。また、RAM(アクセラレータ部側)44には、バスブリッジ52、スイッチ31、バスブリッジ42、メモリコントローラ43を介してアクセス可能である。主制御用CPU51に接続されるバスブリッジ52は、ルートコンプレックスとなる。これにより、主制御用CPU51は、バスブリッジ52を介して、スイッチ31、バスブリッジ42、通信インターフェース32のコンフィギュレーション設定を行なう。
ここで、主制御用CPU51には、機能的な構成として、第2の変換部51aと、印刷データ判定部51bと、ディスクリプタ設定部51cと、モード制御部51dとが設けられる。第2の変換部51aは、アクセラレータ部40により生成されたイメージデータに対して色変換処理や各インク色の2値化処理等を実施し、イメージデータを生成する機能を有する。印刷データ判定部51bは、印刷データ(又は印刷言語通知データ)を解析し、印刷データの形式がPDL形式(ページ記述言語形式)であるかイメージデータ形式であるかを判定する。ディスクリプタ設定部51cは、通信インターフェース用DMAディスクリプタ領域56aに送信用ディスクリプタ及び受信用ディスクリプタを設定する。モード制御部51dは、上述したパワーマネージメント制御を行なう。すなわち、主制御部50、アクセラレータ部40、通信インターフェース32に対して、スタンバイモードや省電力モードへの移行を指示する。
通信インターフェース32は、スイッチ31、バスブリッジ52、バスブリッジ42、メモリコントローラ55、メモリコントローラ43を介して、RAM(アクセラレータ部側)44及びRAM(主制御部側)56にアクセス可能である。
通信インターフェース32は、通信制御部として機能する。通信インターフェース32は、DMA転送機能を有しており、送信用DMAコントローラ321と、受信用DMAコントローラ325とを具備する。送信用ディスクリプタアドレス格納部323は、送信用ディスクリプタの格納先アドレスを格納する。送信用ディスクリプタ格納部324は、当該格納先アドレスに基づき取得された送信用ディスクリプタを格納する。また、受信用ディスクリプタアドレス格納部326は、受信用ディスクリプタの格納先アドレスを格納する。受信用ディスクリプタ格納部327は、当該格納先アドレスに基づき取得された受信用ディスクリプタを格納する。送信用DMAコントローラ321をイネーブルとすることでDMA転送を実現できる。送信用DMAコントローラ321及び受信用DMAコントローラ325をイネーブルとすることでDMA転送を実現できる。
ここで、送信用ディスクリプタ及び受信用ディスクリプタは、RAM(主制御部側)44における通信インターフェース用DMAディスクリプタ領域56aに格納されている。そのため、DMA転送は、主制御用CPU51により制御されることになる。
ここで、図6を用いて、送信用ディスクリプタ及び受信用ディスクリプタ(DMA転送用パラメータ)の構成の一例について説明する。
ディスクリプタ90には、チェイン情報91と、データアドレス情報92と、データサイズ情報93と、制御情報94とが含まれる。
チェイン情報91には、チェイン転送実施の有無を示すフラグと、以降の(次の)DMA転送に用いられるディスクリプタ90の格納されているアドレスとが含まれる。DMA転送終了後、チェイン転送実施のフラグが有効であれば、このアドレスに示されるディスクリプタ90が読み込まれ、DMA転送が連続的に行なわれる。
データアドレス情報92には、送信データ又は受信データを格納する領域のアドレスが含まれる。データサイズ情報93には、送信データ又は受信データのデータサイズが含まれる。データサイズに規定されたデータ分の転送が済むと、DMA転送完了となる。制御情報94には、割り込み制御パラメータ等が含まれる。
ここで、図7及び図8は、図1に示す印刷装置20における動作の一例を示すフローチャートである。まず、図7を用いて、図1に示す印刷装置20における第1の動作の一例について説明する。ここでは、第1の動作として、印刷データの受信前に印刷言語通知データが送られてくる場合の動作の一例について説明する。
印刷装置20は、印刷データの受信待ち状態にある。このとき、アクセラレータ部40は、消費電力が低減するため省電力モード状態にある。なお、アクセラレータ部40は、電源オフ状態であってもよい。
主制御用CPU51は、ディスクリプタ設定部51cにおいて、ホスト装置10からの印刷データの受信に先立って、通信インターフェース用DMAディスクリプタ領域56aにディスクリプタ90を格納する(S101)。これは、印刷言語通知データが送られてくるのに備えるために行なわれる。
次に、主制御用CPU51は、送信用DMAコントローラ321をイネーブル(有効)にし、DMA転送を有効にする(S102)。このとき、ディスクリプタ90のデータアドレス情報92には、主制御用RAM56のデータ格納領域56bを規定する。
ここで、印刷装置20は、ホスト装置10から印刷言語通知データを受信するまで待機する(S103でNO)。この待機中に当該通知データを受信すると(S103でYES)、主制御用CPU51は、通信インターフェース32のDMA転送を一時的に無効にする(S104)。そして、主制御用CPU51は、印刷データ判定部51bにおいて、印刷言語通知データを解析するとともに、その解析結果に基づいてホスト装置10から送られてくる印刷データの形式がPDL形式であるかイメージデータ形式であるかを判定する。
判定の結果、PDL形式であれば(S105でPDL)、主制御用CPU51は、モード制御部51dにおいて、アクセラレータ部40に対して省電力モードからスタンバイモードへの復帰を指示する(S106)。なお、スタンバイモードは、上述した通り、通常動作可能なモードである。
モード移行が開始すると、主制御用CPU51は、ディスクリプタ設定部51dにおいて、ディスクリプタ90のデータアドレス情報92に対して、アクセラレータ用RAM44のデータ格納領域44aを設定する(S107)。これは、通信インターフェース32によるDMA転送先をアクセラレータ用RAM44にするためである。なお、この処理は、アクセラレータ部40が省電力モードからスタンバイモードへ移行している間に実施される。
ここで、アクセラレータ部40におけるモード移行が完了し、アクセラレータ部40が起動すると(S108でYES)、主制御用CPU51は、送信用DMAコントローラ321をイネーブル(有効)にし、DMA転送を有効にする(S109)。
なお、S105における解析の結果、イメージデータ形式であれば(S105でイメージデータ)、主制御用CPU51は、送信用DMAコントローラ321をイネーブル(有効)にし、DMA転送を有効にする(S109)。この場合、ディスクリプタ90のデータアドレス情報92には、主制御用RAM56のデータ格納領域56bが規定されている。
次に、図8を用いて、図1に示す印刷装置20における第2の動作の一例について説明する。ここでは、第2の動作として、印刷データの受信前に印刷言語通知データが送られてこない場合の動作の一例について説明する。
印刷装置20は、印刷データの受信待ち状態にある。このとき、アクセラレータ部40は、消費電力が低減するため省電力モード状態にある。なお、アクセラレータ部40は、電源オフモード状態であってもよい。
主制御用CPU51は、ディスクリプタ設定部51cにおいて、ホスト装置10からの印刷データの受信に先立って、通信インターフェース用DMAディスクリプタ領域56aにディスクリプタ90を格納する(S201)。
次に、主制御用CPU51は、送信用DMAコントローラ321をイネーブル(有効)にし、DMA転送を有効にする(S202)。このとき、ディスクリプタ90のデータアドレス情報92には、主制御用RAM56のデータ格納領域56bを規定する。
ここで、印刷装置20は、ホスト装置10から印刷データを受信するまで待機する(S203でNO)。印刷データを受信すると(S203でYES)、主制御用CPU51は、印刷データ判定部51bにおいて、印刷データの一部を解析するとともに、その解析結果に基づいて印刷データの形式がPDL形式であるかイメージデータ形式であるかを判定する。
判定の結果、PDL形式であれば(S204でPDL)、主制御用CPU51は、通信インターフェース32のDMA転送を一時的に無効にする(S205)。なお、このとき、既に受信した印刷データは、一旦、主制御用RAM56のデータ格納領域56bに格納されることになる。また、主制御用CPU51は、モード制御部51dにおいて、アクセラレータ部40に対して省電力モードからスタンバイモードへの復帰を指示する(S206)。
モード移行が開始すると、主制御用CPU51は、ディスクリプタ設定部51dにおいて、ディスクリプタ90のデータアドレス情報92に対して、アクセラレータ用RAM44のデータ格納領域44aを設定する(S207)。これは、通信インターフェース32によるDMA転送先をアクセラレータ用RAM44にするためである。なお、この処理は、アクセラレータ部40が省電力モードからスタンバイモードへ移行している間に実施される。
ここで、アクセラレータ部40におけるモード移行が完了し、アクセラレータ部40が起動する(S208でYES)。すると、主制御用CPU51は、主制御用RAM56のデータ格納領域56bに受信済みの印刷データをアクセラレータ用RAM44のデータ格納領域44aに送信する(S209)。そして、送信用DMAコントローラ321をイネーブル(有効)にし、DMA転送を有効にする(S210)。
なお、S204における解析の結果、イメージデータ形式であれば(S204でイメージデータ)、そのままDMA転送が継続され、印刷データの受信が行なわれる。この場合、アクセラレータ部40は、省電力モード状態(又は電源オフモード状態)のままであり、また、印刷データは、主制御用RAM56のデータ格納領域56bに格納されることになる。
以上説明したように本実施形態によれば、イメージデータを受信した場合には、アクセラレータ部40を省電力モードからスタンバイモードへ移行させないため、消費電力を低減できる。
以上が本発明の代表的な実施形態の一例であるが、本発明は、上記及び図面に示す実施形態に限定することなく、その要旨を変更しない範囲内で適宜変形して実施できるものである。
例えば、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施態様を採ることもできる。具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。

Claims (5)

  1. 印刷データに基づく印刷を実行する印刷部と、
    前記印刷データを格納する第1のメモリと接続され、前記印刷データを構成するページ記述言語に基づいて該印刷データをイメージデータ形式に変換する第1のプロセッサと、
    前記印刷データを格納する第2のメモリと接続され、前記イメージデータ形式の前記印刷データに対して画像処理を実施し前記印刷部が解釈可能な形式の印刷用データを生成する第2のプロセッサと、
    外部から前記印刷データを受信するとともに、該印刷データの転送先を規定するディスクリプタに基づいて前記第1のメモリ又は前記第2のメモリのいずれかに向けて該受信した該印刷データをDMA転送する通信制御部と
    を具備し、
    前記第1のプロセッサは、
    前記第1のメモリへの前記印刷データの格納を監視する監視手段と、
    所定時間以上、前記第1のメモリに前記印刷データが格納されなければ、通常動作可能な状態時よりも消費電力の少ない状態に前記第1のプロセッサの状態を移行させるモード移行手段と
    を具備し、
    前記第2のプロセッサは、
    前記外部から受信した前記印刷データの形式を判定する判定手段と、
    前記判定手段により前記印刷データがページ記述言語形式であると判定された場合、前記印刷データの転送先として前記ディスクリプタに前記第1のメモリを設定し、前記判定手段により前記印刷データがイメージデータ形式であると判定された場合、前記印刷データの転送先として前記ディスクリプタに前記第2のメモリを設定する設定手段と
    を具備することを特徴とする印刷装置。
  2. 前記判定手段は、
    前記印刷データの受信に先立って送られてくる印刷言語通知データに基づいて前記形式を判定する
    ことを特徴とする請求項1記載の印刷装置。
  3. 前記判定手段は、
    前記印刷データの一部に基づいて前記形式を判定し、
    前記第2のプロセッサは、
    前記判定手段により前記印刷データがページ記述言語形式であると判定された場合、該判定に用いられた前記一部の印刷データを前記第1のメモリに転送する
    ことを特徴とする請求項1記載の印刷装置。
  4. 前記モード移行手段は、
    所定時間以上、前記第1のメモリに印刷データが格納されなければ、省電力モード又は電源オフモードに前記第1のプロセッサの状態を移行させる
    ことを特徴とする請求項1記載の印刷装置。
  5. 印刷装置の処理方法であって、
    前記印刷装置は、
    印刷データに基づく印刷を実行する印刷部と、
    前記印刷データを格納する第1のメモリと接続され、前記印刷データを構成するページ記述言語に基づいて該印刷データをイメージデータ形式に変換する第1のプロセッサと、
    前記印刷データを格納する第2のメモリと接続され、前記イメージデータ形式の前記印刷データに対して画像処理を実施し前記印刷部が解釈可能な形式の印刷用データを生成する第2のプロセッサと、
    外部から前記印刷データを受信するとともに、該印刷データの転送先を規定するディスクリプタに基づいて前記第1のメモリ又は前記第2のメモリのいずれかに向けて該受信した該印刷データをDMA転送する通信制御部と
    を具備し、
    前記方法は、
    前記第1のプロセッサにおいて、
    前記第1のメモリへの前記印刷データの格納を監視手段で監視し、
    所定時間以上、前記第1のメモリに前記印刷データが格納されなければ、通常動作可能な状態時よりも消費電力の少ない状態に前記第1のプロセッサの状態をモード移行手段で移行させ、
    前記第2のプロセッサにおいて、
    前記外部から受信した前記印刷データの形式を判定手段で判定し、
    前記判定手段により前記印刷データがページ記述言語形式であると判定された場合、設定手段により前記印刷データの転送先として前記ディスクリプタに前記第1のメモリを設定し、前記判定手段により前記印刷データがイメージデータ形式であると判定された場合、前記設定手段により前記印刷データの転送先として前記ディスクリプタに前記第2のメモリを設定する
    ことを特徴とする印刷装置の処理方法。
JP2009269265A 2009-11-26 2009-11-26 印刷装置及びその処理方法 Expired - Fee Related JP5675082B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009269265A JP5675082B2 (ja) 2009-11-26 2009-11-26 印刷装置及びその処理方法
US12/912,590 US8947684B2 (en) 2009-11-26 2010-10-26 Printing apparatus and processing method therefor
CN201010557435.8A CN102152668B (zh) 2009-11-26 2010-11-22 打印装置及其处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009269265A JP5675082B2 (ja) 2009-11-26 2009-11-26 印刷装置及びその処理方法

Publications (3)

Publication Number Publication Date
JP2011110808A true JP2011110808A (ja) 2011-06-09
JP2011110808A5 JP2011110808A5 (ja) 2013-01-17
JP5675082B2 JP5675082B2 (ja) 2015-02-25

Family

ID=44061876

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009269265A Expired - Fee Related JP5675082B2 (ja) 2009-11-26 2009-11-26 印刷装置及びその処理方法

Country Status (3)

Country Link
US (1) US8947684B2 (ja)
JP (1) JP5675082B2 (ja)
CN (1) CN102152668B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012176611A (ja) * 2011-01-31 2012-09-13 Canon Inc 画像処理装置、記録装置、及び画像処理装置の制御方法
CN102837512A (zh) * 2011-06-23 2012-12-26 佳能株式会社 打印装置及其中的数据控制方法
JP2017159523A (ja) * 2016-03-08 2017-09-14 キヤノン株式会社 印刷装置、印刷装置の制御方法、および、プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5746501B2 (ja) 2010-12-20 2015-07-08 キヤノン株式会社 印刷装置及びその処理方法
US8976405B2 (en) 2010-12-20 2015-03-10 Canon Kabushiki Kaisha Printing apparatus and control method therefor
JP6024337B2 (ja) * 2012-01-10 2016-11-16 株式会社リコー 通信装置、通信装置の制御方法及びプログラム
JP2014108831A (ja) * 2012-11-30 2014-06-12 Canon Inc 印刷システム、印刷システムの制御方法、及びプログラム
CN103342056B (zh) * 2013-07-01 2015-11-04 杭州万事利丝绸科技有限公司 一种基于多核处理器及dma技术的高速数码印花方法
JP6467996B2 (ja) * 2014-04-30 2019-02-13 セイコーエプソン株式会社 印刷装置
CN110377245B (zh) * 2019-07-17 2023-11-21 森大(深圳)技术有限公司 可变标签的动态打印方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121472A (ja) * 1993-10-25 1995-05-12 Fuji Xerox Co Ltd ターゲット装置
JPH11179979A (ja) * 1997-12-19 1999-07-06 Canon Inc 画像記録装置
JP2001257735A (ja) * 2000-03-10 2001-09-21 Fuji Xerox Co Ltd 受信装置及び通信装置
JP2005210275A (ja) * 2004-01-21 2005-08-04 Murata Mach Ltd 複合機
JP2006240095A (ja) * 2005-03-03 2006-09-14 Seiko Epson Corp 印刷装置
JP2007223241A (ja) * 2006-02-24 2007-09-06 Oki Data Corp 画像形成装置、画像処理装置、及び画像形成システム

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5113494A (en) * 1987-02-27 1992-05-12 Eastman Kodak Company High speed raster image processor particularly suited for use in an image management system
US6954278B1 (en) * 1998-02-13 2005-10-11 Lexmark International, Inc. Dynamic printer operating system
JP2000198240A (ja) * 1998-11-06 2000-07-18 Seiko Epson Corp 印刷装置及びその制御方法
US7230729B1 (en) * 2000-05-15 2007-06-12 Hewlett-Packard Development Company, L.P. Printer pipeline bypass in hardware-ready format
DE60124484T2 (de) * 2000-09-29 2007-09-06 Ricoh Company, Ltd. Datenverarbeitungsvorrichtung und DMA-Datenübertragungsverfahren
JP3967074B2 (ja) 2000-09-29 2007-08-29 株式会社リコー 画像処理装置および画像形成装置
JP2002108595A (ja) 2000-10-03 2002-04-12 Tohoku Ricoh Co Ltd 印刷装置
US7016061B1 (en) * 2000-10-25 2006-03-21 Hewlett-Packard Development Company, L.P. Load balancing for raster image processing across a printing system
JP4278884B2 (ja) * 2001-03-29 2009-06-17 株式会社リコー 通信機能を有する画像形成装置およびその制御方法
US20040004739A1 (en) * 2002-06-05 2004-01-08 Toshiaki Koike Printer system, printer, printer control method
US7420699B2 (en) * 2003-12-22 2008-09-02 Xerox Corporation Systems and methods for rapid processing of raster intensive color documents
JP2006289797A (ja) * 2005-04-11 2006-10-26 Canon Inc 印刷制御装置、その制御方法及びプログラム
JP4738948B2 (ja) * 2005-09-13 2011-08-03 キヤノン株式会社 情報処理装置、画像処理方法、及びコンピュータプログラム
JP2007295080A (ja) * 2006-04-21 2007-11-08 Ricoh Co Ltd 通信装置と通信方法とプログラムとコンピュータ読み取り可能な記録媒体
JP2008005300A (ja) 2006-06-23 2008-01-10 Seiko Epson Corp コンピュータ装置および印刷装置
JP2008112385A (ja) * 2006-10-31 2008-05-15 Canon Inc 画像処理装置、画像処理装置の制御方法、及び制御プログラム
CN101236513B (zh) * 2007-01-30 2012-07-18 阿里巴巴集团控股有限公司 一种分布式任务系统和分布式任务管理方法
JP5159377B2 (ja) * 2008-03-12 2013-03-06 キヤノン株式会社 情報処理装置及び情報処理方法
JP5061034B2 (ja) * 2008-06-05 2012-10-31 株式会社リコー 情報処理装置、情報処理装置の制御方法、プログラム及び記録媒体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121472A (ja) * 1993-10-25 1995-05-12 Fuji Xerox Co Ltd ターゲット装置
JPH11179979A (ja) * 1997-12-19 1999-07-06 Canon Inc 画像記録装置
JP2001257735A (ja) * 2000-03-10 2001-09-21 Fuji Xerox Co Ltd 受信装置及び通信装置
JP2005210275A (ja) * 2004-01-21 2005-08-04 Murata Mach Ltd 複合機
JP2006240095A (ja) * 2005-03-03 2006-09-14 Seiko Epson Corp 印刷装置
JP2007223241A (ja) * 2006-02-24 2007-09-06 Oki Data Corp 画像形成装置、画像処理装置、及び画像形成システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012176611A (ja) * 2011-01-31 2012-09-13 Canon Inc 画像処理装置、記録装置、及び画像処理装置の制御方法
CN102837512A (zh) * 2011-06-23 2012-12-26 佳能株式会社 打印装置及其中的数据控制方法
US8891124B2 (en) 2011-06-23 2014-11-18 Canon Kabushiki Kaisha Printing apparatus, data control method therein, and storage medium storing program
JP2017159523A (ja) * 2016-03-08 2017-09-14 キヤノン株式会社 印刷装置、印刷装置の制御方法、および、プログラム

Also Published As

Publication number Publication date
CN102152668A (zh) 2011-08-17
US8947684B2 (en) 2015-02-03
CN102152668B (zh) 2014-06-11
JP5675082B2 (ja) 2015-02-25
US20110122436A1 (en) 2011-05-26

Similar Documents

Publication Publication Date Title
JP5675082B2 (ja) 印刷装置及びその処理方法
US10466944B2 (en) Image forming apparatus, image forming system, and non-transitory storage medium
JP2004222234A (ja) 画像形成装置及び画像形成装置の省エネ制御方法
CN110730276B (zh) 打印装置及打印装置的控制方法
JP5728224B2 (ja) 画像形成装置
US20120243022A1 (en) Image processing system and image processing control apparatus
US20160127604A1 (en) Image processing apparatus, method for performing specific process, and computer-readable storage medium for computer program
JP2013041458A (ja) データ処理装置及びその制御方法
JP7401227B2 (ja) 画像形成装置、その制御方法、及びプログラム
JP6808387B2 (ja) 画像形成装置、画像形成装置の電力制御方法、およびプログラム
US11036668B2 (en) Electronic apparatus including device configured to be shifted to power saving state and connected to PCI device, and control method thereof
JP4748246B2 (ja) プログラム、およびコンピュータ
JP2013035153A (ja) 画像形成装置、画像形成方法、画像形成プログラム
US20150015903A1 (en) Image forming apparatus
US20110102825A1 (en) Image processing device having a plurality of control units
EP3712745B1 (en) Image forming apparatus and power supply control method
JP2010188598A (ja) 印刷装置、ドライバープログラム、印刷システム
JP4464193B2 (ja) 画像形成装置
JP2011120040A (ja) 画像処理装置
JP5298980B2 (ja) 印刷制御装置,印刷制御方法,プログラム,および記録媒体
JP2009077301A (ja) 画像処理装置およびその制御方法
JP5825290B2 (ja) 画像形成装置
JP2019165373A (ja) 画像形成装置及びプログラム
JP5808136B2 (ja) 画像形成装置、その制御方法、及びプログラム
JP2010069801A (ja) 制御装置、画像形成装置および印刷システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121126

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140313

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141104

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141224

R151 Written notification of patent or utility model registration

Ref document number: 5675082

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees