(57)【要約】【課題】ホストコンピュータ等の上位装置から印刷データを受信し、記録紙等の記録媒体上に印刷出力する際に、バンド単位の圧縮・伸長を行うことで、少ないメモリ容量で印刷処理を実現する。【解決手段】ホストコンピュータから受信したＰＤＬで記述された印刷データは、バンド単位の符号表現に分類され（Ｓ３０２）、各バンド毎にラスターデータを生成し、その中のオブジェクトをそれぞれのオブジェクト毎に用意されたディザマトリクスを用いて２値化し、圧縮符号化し記憶していく（Ｓ３０３）。このときの符号化は、バンドのラスタデータを生成する際に、オブジェクトの種類毎に計数し、その最も多いオブジェクト用のディザマトリクスの周期性を考慮して符号化する。そして、１ページ分のバンド数の圧縮符号化データが生成されると、個々のバンドを伸長し、印刷を行っていく（Ｓ３０４）。【選択図】  図３
2004351719.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からの印刷データを受信し、所定の記録媒体上に画像を形成する印刷装置であって、
受信した印刷データをバンド毎に分類する手段と、
バンド毎に分類した印刷データに基づき、バンド単位の擬似中間調処理したラスタデータを生成するラスタデータ生成手段と、
生成されたバンドのラスタデータを圧縮符号化する符号化手段と、
符号化されたバンドのラスタデータを伸長して印刷出力する手段とを備え、
前記符号化手段は、注目しているバンド中のラスタデータを生成する際の、オブジェクトの種類別の頻度に基づき、代表オブジェクトの種類を決定し、決定したオブジェクトの種類に対応する圧縮符号化を行う
ことを特徴とする印刷装置。
【請求項２】
前記代表オブジェクトは、ラスタデータを生成する際に最頻度となったオブジェクトであることを特徴とする請求項１に記載の印刷装置。
【請求項３】
更に、圧縮後のバンドの符号化データ量と所定の閾値とを比較する手段と、
前記符号化データ量が前記閾値を越える場合、代表オブジェクトとして頻度の多い上位２つのオブジェクトの種類に基づく符号化を行う手段と
を備えることを特徴とする請求項２に記載の印刷装置。
【請求項４】
符号化の種別を決定したとき、次のバンドの符号化の種別に反映することを特徴とする請求項１に記載の印刷装置。
【請求項５】
上位装置からの印刷データを受信し、所定の記録媒体上に画像を形成する印刷装置の制御方法であって、
受信した印刷データをバンド毎に分類する工程と、
バンド毎に分類した印刷データに基づき、バンド単位の擬似中間調処理したラスタデータを生成するラスタデータ生成工程と、
生成されたバンドのラスタデータを圧縮符号化する符号化工程と、
符号化されたバンドのラスタデータを伸長して印刷出力する工程とを備え、
前記符号化工程は、注目しているバンド中のラスタデータを生成する際の、オブジェクトの種類別の頻度に基づき、代表オブジェクトの種類を決定し、決定したオブジェクトの種類に対応する圧縮符号化を行う
ことを特徴とする印刷装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はホストコンピュータ等の上位装置から出力された印刷データを受信し、印刷を行う技術に関するものである。
【０００２】
【従来の技術】
従来、レーザービームプリンタなどの、いわゆるページプリンタと呼ばれる画像形成装置においては、１ページ分のラスタデータをラスタメモリ上に保持して画像形成を行なっていた。このような画像処理装置としてのラスタデータは、テキストだけでなく、単なる図形から写真のような画像まであらゆる画像を扱うものである。
【０００３】
また、これらの画像形成装置は、近年解像度が向上し、例えば６００ｄｐｉの解像度で、Ａ４サイズ１ページ分作成するためには４ＭＢｙｔｅものメモリを必要とする。そして現在も解像度はますます増大する傾向にあり、さらに従来１画素２階調（１ビット）で表現されていた階調も、１６階調（４ビット）〜２５６階調（８ビット）へと向上しつつあり、ますます膨大なラスタメモリを必要とするようになってきている。更にまた、最近ではカラーを扱う装置も登場してきており、モノクロに比べＹＭＣＫ空間の４プレーン分を必要とし、ますますメモリサイズが膨大になってきている。
【０００４】
このようなメモリの増大によるコストアップを抑えるため、様々な省メモリ技術が提案されている。例えば１ページ分のラスタデータをラスタメモリ上にそのままもつのではなく、バンド状に分割する手法がある。この手法は、１バンド分のラスタデータを生成しては印刷するものである。この結果、装置には１ページ分のメモリを必要とせず、比較的低コスト化できるようになる。
【０００５】
更に、このバンド方式を採用しつつ、更なる印刷速度を実現するため、バンド単位にラスタデータを生成しては、そのバンドラスタデータを圧縮符号化しては格納する順次行ない、その一方で、既に圧縮符号化されたバンドデータを順次復号化してプリンタエンジンに出力することで、スループットを上げ、画像形成を高速化することも行われている。
【０００６】
【発明が解決しようとする課題】
ところで、プリンタエンジンが２値エンジンの場合に階調画像を形成する手法として知られているものにディザマトリクスを用いたディザ処理が知られている。上記のようにバンド単位にラスターデータを圧縮する際には、そのラスターデータは多値から２値へ変換させ、すなわち、１画素が多ビットで表現されていうる状態から１画素が１ビットに表現される画像に変換することで情報量が削減できるので、この２値化結果を圧縮符号化の対象とすることが望ましい。
【０００７】
ディザ処理後の画像（２値画像）を圧縮する際に有効なものは、ディザ処理で用いたディザマトリクスの周期性を利用するものである。すなわち、ディザマトリクスのサイズを仮にＭ（水平方向のサイズ）×Ｎ（垂直方向のサイズ）としたとき、その２値化結果は水平方向Ｍ画素の周期で同じになる可能性が高いし、垂直方向はＮ画素の周期で同じになる可能性が高い。すなわち、ディザマトリクスのサイズによる周期性で各２値化結果の画素の相関関係が高いと言える。
【０００８】
そこで、２値化された画素を水平方向の位置ｉを用いてＸｉと表現したとき、｛Ｘ０，ＸＭ，Ｘ２Ｍ…｝、｛Ｘ１，ＸＭ＋１，Ｘ２Ｍ＋１，…｝、…｛ＸＭ−１，Ｘ２Ｍ−１，…｝とすれば、各グループのランが稼げ高い圧縮率が期待できる。
【０００９】
しかし、最近ではより一層の高画質化を目指すために、ラスタデータの解像度によってディザパターン（ディザマトリクスのサイズ）を切り替えたり、ラスタデータの階調によってディザパターンを切り替えたり、ＹＭＣＫ色空間におけるラスタデータの各色でディザパターンを切り替えたり、ラスタデータ中の文字、イメージ、矩形といった各オブジェクト毎にディザパターンを切り替えたりと、多種多様な方法がとられるようになってきた。
【００１０】
従って、様々なオブジェクトに対してそれぞれに特化したディザパターンやディザマトリクスサイズを採用すると、２値化結果の相関が一様ではなくなり、高い圧縮率が得られにくくなるという問題があった。
【００１１】
本発明はかかる問題点に鑑みなされたものであり、ホストコンピュータ等の上位装置から印刷データを受信し、記録紙等の記録媒体上に印刷出力する際に、バンド単位の圧縮・伸長を行うことで、少ないメモリ容量で印刷処理を実現し得る技術を提供しようとするものである。
【００１２】
【課題を解決するための手段】
かかる課題を解決するため、例えば本発明に係る印刷装置は以下の構成を備える。すなわち、
上位装置からの印刷データを受信し、所定の記録媒体上に画像を形成する印刷装置であって、
受信した印刷データをバンド毎に分類する手段と、
バンド毎に分類した印刷データに基づき、バンド単位の擬似中間調処理したラスタデータを生成するラスタデータ生成手段と、
生成されたバンドのラスタデータを圧縮符号化する符号化手段と、
符号化されたバンドのラスタデータを伸長して印刷出力する手段とを備え、
前記符号化手段は、注目しているバンド中のラスタデータを生成する際の、オブジェクトの種類別の頻度に基づき、代表オブジェクトの種類を決定し、決定したオブジェクトの種類に対応する圧縮符号化を行うことを特徴とする。
【００１３】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１４】
図１は、実施形態におけるレーザビームプリンタ（以下、ＬＢＰと略す）の内部構造を示す断面図である。このＬＢＰはホストコンピュータ（図２参照）から文字パターンの登録や定型書式（フォームデータ）などの登録が行える。
【００１５】
同図において、１０００はＬＢＰ本体であり、外部に接続されているホストコンピュータ（図２の２００１）から供給される文字情報（文字コード）やフォーム情報あるいはマクロ命令などを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターンなどを作成し、記録媒体である記録紙上に像を形成する。１０１２は操作のためのスイッチおよびＬＣＤ表示器などが配されている操作パネル、１００１はＬＢＰ１０００全体の制御およびホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。この制御ユニット１００１は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ１００２に出力する。  レーザドライバ１００２は半導体レーザ１００３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１００３から発射されるレーザ光１００４をオンオフ切り替えする。レーザ１００４は回転多面鏡１００５で左右方向に振られ静電ドラム１００６上を走査する。これにより、静電ドラム１００６上には文字パターンの静電潜像が形成される。この潜像は、静電ドラム１００６周囲の現像ユニット１００７により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０００に装着した用紙カセット１００８に収納され、給紙ローラ１００９および搬送ローラ１０１０と１０１１とにより装置内に取り込まれて、静電ドラム１００６に供給される。
【００１６】
図２は、２００１はホストコンピュタなどの外部機器を示し、２００２はプリンタコントローラ部全体を示し、２００３はアドレス／データ／制御バスを示している。２００４はバッファ部を含むホストＩ／Ｆ、２００５はプリンタコントローラ部を制御するＣＰＵ、２００６はコントローラ制御などを行なうプログラムやフォントデータを格納しているＲＯＭ、２００７はＣＰＵ２００５により制御されるＤＭＡＣ、２００８は操作パネル部、２００９はエンジン２０１１（図１参照）に送るためのデータを格納しておくための出力バッファ部を含むＩ／Ｆ回路部、２０１０はＲＡＭ部を示している。
【００１７】
上記構成において、実施形態における動作を以下に説明する。
【００１８】
図３は実施形態におけるＬＢＰ１０００の全体の動作処理手順であるフローチャートである。
【００１９】
先ず、ステップＳ３０１において、ホストコンピュータなどの外部機器２００１よりホストＩ／Ｆ部２００４を介してＰＤＬ（ビットマップデータを含むページ記述言語）で記述された印刷データが入力されてくる。
【００２０】
ステップＳ３０２において、ステップ３０１のＰＤＬを解析し、バンド符号化表現の作成を行う。ここでいうバンド符号化表現とは、バンド単位に分割された「ビットマップ」、「ランレングス」、「台形」、「ボックス」、「高速境界符合化されたビットマップ」などの描画オブジェクトと背景パターン、および、それらをラスタメモリに描画する際の描画論理の総称であって、要するに、バンド毎に分類する処理である。
【００２１】
次にステップＳ３０３において、圧縮ページ作成の処理を行う。本実施形態では、ＰＤＬデータを解析し、レンダリング及び各オブジェクト毎に用意されたディザマトリクスで２値化し、それをバンド単位に行っては圧縮、記憶する処理を行う。１ページ分を構成する全バンドの圧縮処理が完了すると、ステップＳ３０４において、圧縮されたバンド単位に伸長してはプリンターエンジンに出力する処理を行う。
【００２２】
次に、ステップＳ３０３の圧縮ページ作成処理の詳細を、図４のフローチャートに従って説明する。
【００２３】
先ず、ステップＳ４０１において、ＲＡＭ２０１０からワークメモリの獲得を行う。ここでワークメモリとは、被圧縮データ  を格納するための領域のことである。次いで、ステップＳ４０２において、バンド番号を示す“Ｎ”を“１”で初期化する。
ただし、１ページ分のバンド数をＮ＿ＭＡＸとしたとき、
１≦Ｎ≦Ｎ＿ＭＡＸ  を満たすものとする。
【００２４】
次にステップＳ４０３において、バンド番号Ｎが
Ｎ≦Ｎ＿ＭＡＸ
を満たすかどうかを判定する。
【００２５】
ここで、Ｎ≦Ｎ＿ＭＡＸ  を満たすなら、未処理のバンドがあると判断してステップＳ４０４にすすみ、Ｎ＞Ｎ＿ＭＡＸであると判断した場合には１ページ分の全バンドに対する処理が終了したと判断しステップＳ４０７に進む。ここで、Ｎ≦Ｎ＿ＭＡＸであると判断し、ステップＳ４０４に進んだ場合を説明する。
【００２６】
ステップＳ４０４においては、レンダリング処理を行う。レンダリング処理についての詳細は第５図のフローチャートを用いて行う。
【００２７】
ステップＳ５０１において、ステップＳ３０２で作成したバンド符号化表現の構成されているオブジェクト構成（例えば、文字、イメージ、図形など）の種別を解析する。
【００２８】
次にステップＳ５０２において、ステップＳ５０１で解析したバンド符号化表現をオブジェクト毎に選別する。この場合も文字、イメージ、図形などである。
【００２９】
そして、ステップＳ５０３において、ステップＳ５０２で選別したオブジェクトの種別毎にその個数をカウントし、図２のＲＡＭ２０１０の一部分を利用して格納する。
【００３０】
次にステップＳ５０４において、図４のステップＳ４０１で獲得したワークメモリへ、図３のステップＳ３０１のバンド符号化表現をビットマップ化して格納し、そのオブジェクトに対応するディザマトリクスを用いて２値化する。次にステップステップＳ５０５すすみ、本レンダリング処理の処理系が終了し、図４のステップＳ４０４に戻る。
【００３１】
図４の説明に戻る。処理がステップＳ４０５に進むと、レンダリングした注目バンドの圧縮処理を行う。ここで圧縮処理とはステップＳ４０１のワークメモリにステップＳ４０４でレンダリングしたバンドデータに対して圧縮処理を行い、図２のＲＡＭ２０１０の一部に存在する不図示のページメモリへ格納することを指すものとする。ただし、この圧縮時に図５のステップＳ５０３でカウントしたオブジェクト毎の個数を図２のＲＡＭ２０１０に格納してある値を読み出す。
【００３２】
まず、Ｎ＝１、すなわち、１バンド目の場合を説明する。この場合、１回目のバンド処理であるので、レンダリングされたオブジェクトの個数が一番多いオブジェクトを選択する。理由は、一番多いオブジェクトが、そのバンドのレンダリングした際に支配的である可能性が高いからである。そして、その一番多く出現したオブジェクトのレンダリングした最に用いたディザマトリクスのサイズを検査し、それを基準に圧縮符号化を行う。
【００３３】
ディザ処理された画像を圧縮する手法としてはディザ周期を利用して行う。以下、簡単に説明する。
【００３４】
一般に、ディザマトリックスサイズをＭ×Ｎとし、バンドデータ上での任意画素の座標を（ｘ，ｙ）と表現したとき、Ｘ軸方向には座標（ｘ＋Ｍ，ｙ）の位置の画素と（ｘ，ｙ）の画素の相関関係は強く（高く）なる。同様にバンドデータ上での任意画素の座標を（ｘ，ｙ）とすると、Ｙ軸方向には座標（ｘ，ｙ＋Ｎ）の位置の画素と（ｘ，ｙ）の画素の相関関係は強くなる。従って、ディザマトリクスサイズＭ，Ｎの値を獲得し、圧縮時に適用することで、圧縮率の向上に役立てることができる。
【００３５】
すなわち、或るラインについて着目した場合、｛ｘ、ｘ＋Ｍ、ｘ＋２Ｍ、…｝、｛ｘ＋１、ｘ＋Ｍ＋１、ｘ＋２Ｍ＋１、…｝、…、｛ｘ＋Ｍ−１、ｘ＋２Ｍ−１、ｘ＋３Ｍ−１、…｝のＭ個のグループに分類したとき、各グループ内においては０、もしくは１が連続する可能性が高くなるので、各グループ毎にランレングス符号化を用いることで高い圧縮率が期待できることを利用する。
【００３６】
一方、Ｎ＝２以降、すなわち、２バンド目以降の処理の場合は、圧縮率をより向上させるために後述するステップＳ４０６の圧縮状態調査の結果を用いて、画素の相関関係を導き出すものとする。この圧縮状態調査については、ステップＳ４０６で説明する。
【００３７】
ステップ４０６において、ステップ４０５における圧縮バンドの圧縮状態調査を行う。なお、圧縮状態の調査の詳細は、図６のフローチャートを用いて説明する。
【００３８】
ステップＳ６０１において、図４のステップＳ４０５での圧縮処理の結果を調査する。圧縮処理の結果とは、ステップＳ４０４で設定した画素の相関関係と圧縮率を予め規定値を設け、その既定値との比較で圧縮効率の状態を定めるものである。ただし、本実施形態では圧縮率の既定値とは図２のＲＡＭ２０１０から予め圧縮ページ格納用に割り当てられているメモリのサイズに依存する値とする。ステップＳ６０１での比較結果で圧縮率が規定値よりも良い場合は、ステップ６０３に進み、この圧縮状態の調査の処理系を終了する。つまり、画素の相関関係は現状で問題ないことを示している。一方、ステップＳ６０１での比較結果で圧縮率が既定値よりも悪い場合は、ステップＳ６０２に進む。
【００３９】
ステップＳ６０２では、ステップＳ６０１での比較結果から画素の相関関係は現状では問題がある事を示しているので、この画素の相関関係の改善を行う。この画素の相関関係の改善方法について、以下に説明する。
【００４０】
まず図５のレンダリング処理において、レンダリングされたオブジェクトが一番多いオブジェクトに注目して、そのオブジェクトのディザパターンのマトリックス周期から画素の相関関係を求めていた。しかし、この場合、他のオブジェクトのディザパターンのマトリックス周期と同じであるとは限らないので、もし同じでない場合この周期のズレが圧縮率に影響を与えている。そこで、レンダリングされたオブジェクトで二番目に多いオブジェクトに注目し、一番多いオブジェクトとのマトリックス周期との相関関係を導き出す。本実施形態の場合は、レンダリングされた結果の一番目に多いオブジェクトのディザパターンのマトリックス周期とレンダリングされた結果の二番目に多いオブジェクトのディザパターンのマトリックス周期との最小公倍数を画素の相関関係に用いるものとする。
【００４１】
この結果を次のバンドＮ＋１のレンダリングと圧縮時に用いて適用する。これは、ＮバンドとＮ＋１バンドのように隣接するバンドにおいては、両者のバンドでは似たようなオブジェクトの状態があることが予想されるため、このような方法を適用している。これにより、最適な相関関係を導き出すことが可能になり、符号化効率の面で有効となる。
【００４２】
次にステップ６０３にすすみ、圧縮状態調査の処理系を終了し、図４のステップＳ４０６を終える。
【００４３】
次にステップ４０７において、バンド番号“Ｎ”を次のバンドを指し示すように、“１”だけ増加更新する。
【００４４】
そして、再びステップＳ４０３において、Ｎ≦Ｎ＿ＭＡＸを満たすかどうか調べる。もし満たすなら、ステップ４０４以下を前記と同様に処理する。また、Ｎ＞Ｎ＿ＭＡＸである場合には、ステップＳ４０８に進んで、ステップ４００の圧縮ページ作成の処理系が終了し、図３のステップＳ３０３を終え、ステップＳ３０４の印刷処理を行うことになる。
【００４５】
ここで、ステップＳ３０４の印刷処理について、図７のフローチャートを用いて説明する。
【００４６】
先ず、ステップＳ７０１において、バンド番号を示す“Ｎ”を“１”で初期化する。
ただしＮは、整数値で、
１≦Ｎ≦Ｎ＿ＭＡＸ
を満たすものとする。
ただし、Ｎ＿ＭＡＸは１ページのバンド数であり、
１≦Ｎ＿ＭＡＸ  を満たす整数値である。
【００４７】
次にステップＳ７０２において、バンド番号Ｎが
Ｎ≦Ｎ＿ＭＡＸ
を満たすかどうかを調査する。
【００４８】
もし、Ｎ≦Ｎ＿ＭＡＸである場合には、１ページの印刷処理が未完であると判断してステップＳ７０３に進む。また、Ｎ＞Ｎ＿ＭＡＸである場合には、１ページの印刷が完了したものと判断し、ステップＳ７０５に進む。ここでは、Ｎ≦Ｎ＿ＭＡＸである場合を説明する。
【００４９】
ステップＳ７０３において、ＮバンドのＳｈｉｐｐｉｎｇを行う。ここでＳｈｉｐｐｉｎｇとは、バンドデータをビデオ信号に変換して図２のエンジン部２０１１へ送信することを意味する。さらに図４の圧縮ページ作成処理において、既にこのページは圧縮されているので、伸長する必要がある。ここでは、伸長しながら同時にＳｈｉｐｐｉｎｇが可能なものとする。
【００５０】
次にステップＳ７０４にすすみ、バンド番号“Ｎ”を次のバンド番号を指し示すよう“１”だけ増加更新し、ステップＳ７０２へ戻る。
【００５１】
こうして、ステップＳ７０３、７０４の処理を繰り返すことで、ついにはＮ＞Ｎ＿ＭＡＸなる関係になり、本印刷処理を終了することになる。
【００５２】
以上説明したように本実施形態によれば、画素の相関関係を利用した符号化方式で符号化する場合に、高画質化されて複雑になったラスタデータの各種情報を検証し、画素の相関関係を導き出し、対応する符号化を施すことで、高い圧縮率が期待でき、印刷処理のスループット及びメモリを有効利用できるようになる。
【００５３】
なお、実施形態では、１ページ分のバンドを圧縮したのち、それを伸長して印刷処理を行ったが、圧縮するバンド数は１ページ分に限らず、メモリ容量が許すかぎり複数ページにわたって圧縮記憶するようにしてもよい。その際、印刷処理を行うときは、少なくとも１ページ分のバンド数の圧縮データが生成されたか否かで判断すればよいであろう。
【００５４】
また、上記実施形態では、レンダリングされるバンドに対して複数のディザパターンを用いる場合を扱ったが、単一であっても構わない。その場合は、解像度や階調、色などによってディザパターンの周期を獲得するような処理系であっても構わない。
【００５５】
更に、上記実施形態では、単一の圧縮方式を使う場合を扱ったが、複数の圧縮方式の中から選択する形をとる場合であっても構わない。
【００５６】
更にまた、実施形態では、特にモノクロ、カラーの区別をつけなかったが、モノクロあるいはカラーの処理に限定した場合であっても構わない。
【００５７】
また、実施形態では、注目画素との相関関係を獲得する場合を扱ったが、画素単位でなくバイト単位、その他の単位であっても構わない。
【００５８】
また、実施形態では、コントローラ内部でオブジェクトの特製を獲得する処理の場合を扱ったが、ホストコンピュータなどの外部機器でオブジェクトの特性を獲得する処理であって、コマンド等によりコントローラ部に伝える場合であっても構わない。
【００５９】
更にまた、実施形態では、ＰＤＬによる印刷装置について扱ったが、それ以外の画像処理装置であっても構わない。
【００６０】
【発明の効果】
以上説明したように本発明によれば、ホストコンピュータ等の上位装置から印刷データを受信し、記録紙等の記録媒体上に印刷出力する際に、バンド単位の圧縮・伸長を行うことで、少ないメモリ容量で印刷処理を実現することが可能になる。
【図面の簡単な説明】
【図１】実施形態における印刷装置の断面構造図である。
【図２】実施形態における印刷装置のブロック構成図である。
【図３】実施形態における印刷装置の処理手順を示すフローチャートである。
【図４】実施形態における印刷装置の処理手順を示すフローチャートである。
【図５】実施形態における印刷装置の処理手順を示すフローチャートである。
【図６】実施形態における印刷装置の処理手順を示すフローチャートである。
【図７】実施形態における印刷装置の処理手順を示すフローチャートである。
【図１】
2004351719.tif 000003
【図２】
2004351719.tif 000004
【図３】
2004351719.tif 000005
【図４】
2004351719.tif 000006
【図５】
2004351719.tif 000007
【図６】
2004351719.tif 000008
【図７】
2004351719.tif 000009