(57)【要約】【課題】複数種類の画像処理のリソースをすべて同じ方法でキャッシュ制御すると、メモリ使用量が少ないが生成に時間がかかる種類のリソースや、将来使われる可能性が高い種類のリソースであっても、他のリソースと同じ条件でキャッシュから破棄されてしまう。【解決手段】  画像処理のリソースを一時保持するキャッシュを有し、キャッシュされた画像処理のリソースで画像処理を行う画像処理装置であって、描画命令に必要な画像処理リソースがキャッシュされていない場合、所定のアルゴリズムに基づきキャッシュされている画像処理リソースを破棄し、必要なリソースを確保するよう制御する画像処理装置。【選択図】図３
2019030985.tif 000002
【特許請求の範囲】
【請求項１】
画像処理リソースを保持するキャッシュを有し、キャッシュされた画像処理のリソースで画像処理を行う画像処理装置であって、
画像データを処理するのに必要な画像処理リソースがキャッシュされていない場合、該画像処理リソースが分類されるリソースの種類のキャッシュに空きがあるか判断する判断手段を有し、
前記判断手段が、キャッシュに空きがないと判断した場合は、該リソースの種類のキャッシュから所定のアルゴリズムに基づきキャッシュされている画像処理リソースを破棄し、必要な画像処理リソースをキャッシュするよう制御する制御手段とを、
有することを特徴とする画像処理装置。
【請求項２】
前記キャッシュは、画像処理のリソースの種類毎にリソースのキャッシュエントリ数が設定でき、各リソース毎にリソースのキャッシュに保持する優先度を設定できることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
入力される画像データに応じて、各リソースのキャッシュに保持する優先度を変更することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記画像データは、描画命令と色変換指定であることを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記画像処理は、色処理であることを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
前記キャッシュは、色名指定の色処理リソースのキャッシュエントリ数は、他の種類の色処理リソースのエントリ数よりも多いことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
前記画像データに色変換指定がされていた場合に、同じリソースの種類の色処理リソースの優先度を低く変更し、前記色変換指定の色処理リソースの優先度を高く設定することを特徴とする請求項５〜６の何れか１項に記載の画像処理装置。
【請求項８】
前記所定のアルゴリズムは、優先度つきＬＲＵアルゴリズムであることを特徴とする請求項１〜７の何れか1項に記載の画像処理装置。
【請求項９】
画像処理リソースを保持するキャッシュを有し、キャッシュされた画像処理のリソースで画像処理を行う画像処理装置の制御方法であって、
描画命令に必要な画像処理リソースがキャッシュされていない場合、該画像処理リソースが分類されるリソースの種類のキャッシュに空きがあるか判断する判断工程と、
前記判断工程において、キャッシュに空きがないと判断された場合は、該リソースの種類のキャッシュから所定のアルゴリズムに基づきキャッシュされている画像処理リソースを破棄し、必要な画像処理リソースをキャッシュするよう制御する制御工程とを、
有することを特徴とする画像処理装置の制御方法。
【請求項１０】
入力される描画命令に応じて、各リソースのキャッシュに保持する優先度を変更することを特徴とする請求項９に記載の画像処理装置の制御方法。
【請求項１１】
請求項９〜１０何れか１項に記載の画像処理装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理リソースのキャッシュを適切に制御し、画像処理の効率を高めた画像処理装置、画像処理装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
画像形成装置は、接続されたネットワークを介して外部のコンピュータから、または直接的にＵＳＢ等の記憶媒体から印刷データを受け付け、そのデータを画像形成装置内で自身が画像処理を行い印刷可能なデータに変換した後、印刷を行っている。例えば、外部コンピュータから印刷データをＰＤＬ（Page Description Language）で受け付け、その後、画像形成装置で印刷するのに適した色空間に変換し、ラスター画像を生成する処理を行う。その後、中間色を表現するためにディザなどの中間調処理を行った後に、処理済みのデータをプリンタエンジンに引き渡して、印刷が行われる。
【０００３】
これらの画像処理の中で、色変換処理は、入力された色空間（例えばＲＧＢなど）から、出力の色空間へと変換するものであり、変換には色変換ＬＵＴ（ルックアップテーブル）を参照することにより、データの変換を行なっている。
ところで、このデータ変換の度に、色変換を行う処理部が、色変換ＬＵＴを読み込んで、変換していたのでは読み込みに時間がかかる。そこで、使用頻度が高い色変換ＬＵＴは、色変換を行う処理部にメモリにキャッシュしておくことにより、変換の時間の節約が可能となる。しかし、メモリを無尽蔵に増やすこともできないため、限られたハードウェアリソースを有効に活用することが肝要である。
一つの方法として、使用回数が少ない色処理リソースのキャッシュを破棄することで、限られたメモリで色処理を行うシステムが知られている(特許文献１)。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2007-189674号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献1では複数種類存在する色処理リソースをすべて同じ方法でキャッシュ制御している。このような色処理リソースのキャッシュ制御では、メモリ使用量が少ないが生成に時間がかかる種類のリソースや、将来使われる可能性が高い種類のリソースであっても、使用回数が少ないなどの同じ条件でキャッシュから破棄されてしまう。
上記課題を解決するために、本願発明は、以下の特徴を有する。
【課題を解決するための手段】
【０００６】
本発明は、画像処理リソースを保持するキャッシュを有し、キャッシュされた画像処理リソースで画像処理を行う画像処理装置であって、描画命令に必要な画像処理リソースがキャッシュされていない場合、該画像処理リソースが分類されるリソースの種類のキャッシュに空きがあるか判断する判断手段を有し、前記判断手段が、キャッシュに空きがないと判断した場合は、該リソースの種類のキャッシュから所定のアルゴリズムに基づきキャッシュされている画像処理リソースを破棄し、必要な画像処理リソースをキャッシュするよう制御する制御手段とを、有することを特徴とする。
【発明の効果】
【０００７】
キャッシュのリソースは、所定のアルゴリズムに基づき破棄を行うことにより、生成に時間がかかるリソースや、将来使われる可能性が高い種類のリソースは、キャッシュに残すことができ、キャッシュヒット率を向上し、画像処理の速度向上が図れる。
【図面の簡単な説明】
【０００８】
【図１】実施例１の画像処理装置の構成図
【図２】実施例１の出力色処理部のキャッシュ構造
【図３】実施例１の出力色処理部の処理のフローチャート
【図４】実施例２の画像処理装置の構成図
【図５】実施例２の出力色処理部の色変換指定受信時のキャッシュ構造
【図６】実施例２の出力色処理部の色変換指定受信時の処理のフローチャート
【発明を実施するための形態】
【０００９】
以下、本発明を実施するための形態について図面を用いて説明する。本発明では、画像処理として、色処理について説明するが、本発明は、画像処理一般において、その画像処理リソースのキャッシュを効率よく制御するものであって、色処理に特に限定されるものではない。
【実施例１】
【００１０】
実施例１は、色処理リソースの種類ごとに色処理リソースのキャッシュエントリ数及び、色処理リソース毎にキャッシュに保持する優先度を最適化する。これにより、生成に時間がかかる種類の色処理リソースや、使用頻度の高い色処理リソースなどのキャッシュヒット率の向上を図り、画像処理速度の向上させるものである。
【００１１】
図１は、実施例１における画像処理装置100の構成を示す。画像処理装置100はＰＤＬデータ取得部101、出力色処理部102、描画部103、中間調処理部104、プリンタエンジン105より構成される。画像処理装置100は、ＰＤＬデータを出力する外部コンピュータ110と接続されている。
画像処理装置100は、図示していないＣＰＵ、ＲＯＭ及びＲＡＭを内部に備えている。ＣＰＵはＲＯＭから画像処理装置100のプログラムをロードし、一次記憶領域としてＲＡＭを利用して画像処理装置100のプログラムを実行する。以上の動作により、各部（101〜105）の処理が実行される。
【００１２】
＜ＰＤＬデータ取得部101＞
ＰＤＬデータ取得部101は、外部コンピュータ110からネットワークを介してＰＤＬデータを受信し、出力色処理部102にＰＤＬデータを出力する。ＰＤＬデータは主に複数のオブジェクトの描画命令から構成されるデータであり、描画命令の一例として文字・図形・画像の描画命令が存在する。
【００１３】
描画命令の文字や図形の描画色や画像のデータは任意の入力色空間を指定することができ、描画命令の中にはその任意の色空間をプリンタエンジン105の出力色空間に変換するための指定（以下「色処理指定」という。）がされている。これにより、あらかじめ画像処理装置100の図示されないＵＩやＰＤＬデータ内で設定される標準のＧｒａｙ/ＲＧＢ/ＣＭＹＫの変換方法を用いる指定だけでなく、ＰＤＬデータによる多彩な色指定が可能になる。一例として、ＰＤＬデータに付加したＩＣＣプロファイル、ＣＳＡ(Color Space Array)やＣＲＤ(Color Rendering Dictionary)を用いる指定、シミュレーションするインクの色名で指定することなどが挙げられる。また、上記以外に、ＵＣＲ(Under Color Removal)関数、ＢＧ(Black Generation)関数、Transfer関数を利用した指定が挙げられる
【００１４】
＜出力色処理部102＞
出力色処理部102は、ＰＤＬデータ取得部101からＰＤＬデータを受け取り、各々の描画命令について色処理指定に基いて描画色や画像データを色処理し、描画部103に出力する。具体的には、出力色処理部102は色処理指定に基づいて作成した色処理リソースを用いて画像データを色処理し、描画命令ごとに色処理リソースを作成することを防ぐため色処理リソースをキャッシュする。
【００１５】
＜描画部103、中間調処理部104、プリンタエンジン105＞
描画部103は、出力色処理部102から受け取ったＰＤＬデータをもとに描画イメージを作成し、中間調処理部104に出力する。
中間調処理部104は、出力色処理部103から受け取った多値のＣＭＹＫイメージをプリンタエンジン105の色材の潜像画像である２値のＣＭＹＫイメージに変換し、プリンタエンジン105に出力する。
最後にプリンタエンジン105は中間調処理部から受け取った２値のＣＭＹＫイメージに基づいて各色材を紙などの出力媒体上に形成する。
【００１６】
＜出力色処理部102の詳細説明＞
次に、本発明の特徴である出力色処理部102のキャッシュ構造の詳細を説明する。
実施例１はリソースのキャッシュエントリ数を設定できること、リソースごとにリソースのキャッシュに保持する優先度を設定できるキャッシュを備えることを特徴としている。
【００１７】
出力色処理部102は色処理リソースを図２に示すキャッシュを用いながら各描画命令の色値をプリンタエンジン105の色空間の色値に変換する。
出力色処理部102のキャッシュは一例として色処理リソースの種類201ごとに分類されており、同じ色処理リソースの種類の中で各エントリにインデックス202が付与されている。色処理リソースの種類201に記載されるエントリ数の項目に示されるように、出力色処理部102のキャッシュできる色処理リソースのエントリ数は色処理リソースの種類ごとに異なる。これら色処理リソースのエントリ数は、色処理リソースの生成にかかる処理時間、色処理リソースのデータ量、出力色処理部102が利用可能なメモリ量、ＰＤＬデータの色処理指定の個数の予測値などに応じて静的または動的に決定することが望ましい。
【００１８】
図２の例では、出力色処理部102の構成の一例として、ＲＧＢ入力やＣＭＹＫ入力の色処理リソースのキャッシュエントリ数は10、色名指定の色処理リソースのエントリ数は100、Transfer関数の色処理リソースのエントリ数は5としている。
色名指定の色処理リソースはＲＧＢ入力やＣＭＹＫ入力の色処理リソースに比べてメモリ使用量小さいが、色名指定の色処理リソースはプロファイル内から色名を検索するため生成時間が長い特徴がある。また、色名指定の色処理リソースはひとつのＰＤＬデータに大量に指定されることから、エントリ数を多く設定している。
一方、ＣＭＹＫ入力についてはメモリ使用量が多いため、エントリ数は少なく設定している。
【００１９】
利用中フラグ203は、各エントリはそのエントリが使われているか否かを保持している。
優先度指定204には、キャッシュに保持する優先度を保持する。優先度指定204についても生成にかかる処理時間、色処理リソースのデータ量、出力色処理部102が利用可能なメモリ量、色処理リソースの使用頻度の予測値などに応じて静的または動的に決定することが望ましい。
図２の例では、標準のＲＧＢ色空間を入力とする色処理リソースの優先度が「最高」に設定されている。標準のＧｒａｙ/ＲＧＢ/ＣＭＹＫの変換方法の色処理リソースは使用される可能性が非常に高いためである。また、色名指定のリソースはすべて優先度指定が「高」に設定され、Transfer関数の優先度指定が「低」と設定されている。この理由は、エントリ数を決定したのと同様、色名指定のリソースは、メモリ使用量小さいが、色名指定の色処理リソースはプロファイル内から色名を検索するため生成時間が長いためである。
【００２０】
色処理リソースの詳細205には、色処理リソースの内容を保持する。色処理リソースの詳細205の内容が一致するか否かでキャッシュのヒットを判断する。なお、図２においては色処理リソースの詳細を文字列にて表示したが、設定を番号で表す、プロファイル名や色名や付加されたプロファイルなどをMD5やSHA1などのハッシュ値で保管するなど他の形式で保持してもよい。
最終利用時間206には最終利用時間を保持する。最終利用時間206は出力色処理部102のキャッシュの破棄アルゴリズムであるＬＲＵ(Least Recently Used)アルゴリズムで用いられる。
【００２１】
＜出力色処理部102の処理フローチャート＞
出力色処理部の処理の詳細について、図３に示すフローチャートを用いて説明する。
出力色処理102は、ＰＤＬデータ取得部101から受けたＰＤＬデータの描画命令を順に1つずつ選択する（S301）。
続いて、選択した描画命令の色処理指定で必要となる色処理リソースがキャッシュされているか判定する（S302）。
【００２２】
色処理リソースがキャッシュされていない場合（S302の判定結果が偽）は、出力色処理部102は色処理リソースを色処理指定に基づいて作成する必要があるため、続いて作成する色処理リソースのキャッシュに空きがあるか判定する（S303）。ここでは、図２のキャッシュ構造の利用中フラグ203を用いて、該当する色処理リソースのキャッシュに空きを確認する。
色処理ソースのキャッシュに空きがなかった場合（S303の判定結果が偽）は、キャッシュに空きをつくるため、キャッシュから作成する色処理リソースの種類の色処理リソースを1つ優先度つきＬＲＵアルゴリズムで破棄する（S304）。優先度つきＬＲＵの一例としては、優先度指定204が最も低い色処理リソース中から、最終利用時間206を利用して最近最も使われていない色処理リソースを検索し、その色処理リソースをキャッシュから破棄することで実現する。
【００２３】
次に、色処理リソースを作成するためのワークメモリが十分に存在するかを判定する（S305）。ワークメモリが十分にない場合（S305の判定結果が偽）は、ワークメモリが十分に足りるようになるまでキャッシュを優先度つきＬＲＵアルゴリズムで破棄を繰り返し、ワークメモリを確保する（S306）。
S305で、ワークメモリが十分に存在していた場合（S305の判定結果が真）、又はS306 でメモリが十分に足りるようになるまで、使用済みのキャッシュの破棄を繰り返して、メモリを確保できた後、色処理リソースを作成する（S307）。そして、優先度や最終利用時間などの値とともに作成した色処理リソースをキャッシュに追加する（S308）。
【００２４】
次に、作成した色処理リソースを処理に用いる色処理リソースとして選択し（S309）、色処理を行う(S310）。そして、すべての描画命令を処理したかを判定し（S311）、処理が終了していなければ（S311の判定結果が偽）、S301に戻る。一方、処理が終了していれば（S311の判定結果が真）、すべてのキャッシュを破棄して出力色処理部の使うメモリを開放して（S313）フローチャートを終了する。
一度、色処理リソースが作成されるとS302の判定結果が真である場合が生じる、この場合はキャッシュ済みの色処理リソースを処理に用いる色処理リソースとして選択して最終利用時間を更新し（S312）、S310以降の処理を行う。
【００２５】
以上の実施例１では、色処理リソースのキャッシュエントリ数を色処理リソースの種類毎に変化させ、色処理リソース毎にキャッシュに保持する優先度を決定した。これにより、生成に時間がかかる種類の色処理リソースのキャッシュヒット率を向上させることや、使用頻度の高い色処理リソースのキャッシュヒット率を向上させることができた。
【実施例２】
【００２６】
実施例１では、色処理リソースの種類毎に色処理リソースのキャッシュエントリ数を変え、また、色処理リソース毎にキャッシュに保持する優先度を変更する例を説明した。また、実施例１では、描画命令の色処理指定で必要となる色処理リソースについてキャッシュを確保した。
実施例２では、ＰＤＬデータ内に描画命令の外に標準のＧｒａｙ/ＲＧＢ/ＣＭＹＫの変換方法を指定する命令(以下「色変換指定」という。)を有する場合に、色処理リソースの優先度を変更する方法について説明する。これにより、色変換指定により標準の色変換方法が変更されても、適切な優先度で色処理リソースを保持することができる。
【００２７】
図４は、実施例２の画像処理装置の構成を示す。画像処理装置100はＰＤＬデータ取得部101、出力色処理部401、描画部103、中間調処理部104、プリンタエンジン105より構成される。出力色処理部401以外は実施例１示される構成と同じであるので、以下では、出力色処理部401についてのみ説明する。
【００２８】
＜出力色処理部401＞
実施例２における出力色処理部401は、ＰＤＬデータ取得部101からＰＤＬデータとして描画命令と色変換指定を受信する。描画命令については実施例１の出力色処理部102と同じ動作を行い、色変換指定を受信した場合は、新しい色変換方法の色処理リソースを作るとともにキャッシュに色処理リソースを追加する。図５に色変換指定を受信する前後の出力色処理部401のキャッシュ構造の一例（ＲＧＢ入力だけ抜粋)を示す。
【００２９】
図５の例は、色変換指定受信前は標準のＲＧＢ変換方法はｓＲＧＢ色空間からデバイスのＣＭＹＫ色空間にＵＣＲ(Under Color Reduction)処理を行い鮮やかさ優先で変換をしている。そして、色変換指定受信後は、色変換指定として標準のＲＧＢ変換として、Gamma 1.5色空間からデバイスのＣＭＹＫ色空間にＵＣＲ(Under Color Reduction)処理を行い鮮やかさ優先で変換することを指定された例である。
色変換指定命令受信前、後の色処理リソースの種類を501、511に示す。図５では説明を簡略化するため色処理ソースの種類が、ＲＧＢ入力である場合のみを記載する。
【００３０】
色変換指定命令受信前、後のインデックスを502、512に示す。本実施例ではＲＧＢ入力の色処理リソースのエントリ数を10としたため、インデックスは0から9が存在する。
色変換指定命令受信前、後の利用中フラグを503、513に示す。色変換指定命令により新しい色処理リソースが作成されるため、インデックス2の利用中フラグが受信前では「いいえ」であるが受信後は「はい」になる。
【００３１】
色変換指定命令受信前、後の優先度指定を504、514に示す。色変換指定前の優先度設定504ではインデックス502が「0」の色処理リソースが標準の色処理であり優先度指定が「最高」となっている。色変換指定後の優先度設定514ではインデックス512が「2」の色処理リソースが標準の色処理であるため優先度指定が「最高」となり、インデックス512が「0」の色処理リソースの優先度が「中」となっている。
【００３２】
色変換指定命令受信前、後の色処理リソースの詳細は505、515に、また、最終利用時間は、506、516に示す。これらは適宜色変換指定命令により色処理リソースが追加された分が差分として生じている。
【００３３】
＜出力色処理部401のフローチャート＞
図６に出力色処理部401の色変換指定受信時のフローチャートを示す。初めに、出力色処理部401は、色変換指定と同じ色空間で優先度が高くなっている色処理リソースの優先度を変更する（S601）。
ここで、S601での優先度の変更の一例としてはその入力色空間の色処理リソースの標準的な優先度とすることが考えられる。また、別の設定として、色処理リソースの標準的な優先度よりは高い優先度をつけることも考えられる。図５の例では、インデックス「0」のリソースが優先度指定「最高」から「中」に変更になっている。
【００３４】
次に、出力色処理部401は色変換指定を受信するとその色処理リソースがキャッシュされているかを判断する（S602)。
その色処理リソースがキャッシュされていなかった場合（S602の判定結果が偽）は、S303からS308の処理を行い、新たに該色処理リソースをキャッシュする。ここで、図６中のS303からS308の動作については、図３中のS303からS308の動作と同じであるので説明は省略する。ただし、S308で色処理リソースをキャッシュに追加する際に標準の色変換リソースとするため、該リソースの優先度指定は「最高」となる。
一方、受信した色変換指定の色処理リソースがキャッシュされている場合（S602の判定結果が真）は、指定されたキャッシュ済みの色処理リソースの優先度の設定を「最高」にする(S603)。
【００３５】
このように、実施例２では、ＰＤＬデータ内に標準のＧｒａｙ/ＲＧＢ/ＣＭＹＫの変換方法を指定する場合に、キャッシュされている色処理リソースの優先度を変更する。これにより、色変換指定により標準の色変換方法が変更されても、標準の色変換方法に関して優先度を変更するのみであるので、その他については、適切な優先度で色処理リソースが保持される。
【００３６】
＜その他の実施例＞
以上の例では、処理S304やS306において、優先度つきＬＲＵアルゴリズムでキャッシュ破棄する例を示したが、キャッシュアルゴリズムはこれに限られない。例えば、優先度を加味したうえで最も使われた回数が少ない色処理リソースを破棄してもよく、優先度を加味したうえで最も古い色処理リソースを破棄してもよい。
また、以上の例では、キャッシュのリソースの破棄について所定のアルゴリズムとして、優先度つきＬＲＵアルゴリズムを使用した。その時、優先度の高低を判定してから最終利用時間で判定したが、最終利用時間と現時刻の差分を優先度で重み付けした評価値を用い、その評価値の低い色処理リソースを破棄する処理としてもよい。
【００３７】
さらに、現在処理しているＰＤＬデータより前に作成した色処理リソースや、現在処理しているページより前に作成した色処理リソースを積極的に破棄するように重みづけをしてもよい。さらに、これら複数のアルゴリズムを組み合わせてもよい。
また、ＬＲＵ以外のキャッシュ破棄アルゴリズムを利用する場合は、最終利用時間206の欄は、利用するキャッシュ破棄アルゴリズムに必要な情報を適宜格納する。
なお、本実施例では出力色処理部102、401のキャッシュの全体をＰＤＬデータの処理後に破棄したが（S313)、ＰＤＬデータの処理後に出力色処理部102、401のキャッシュに登録されている色処理リソースの一部または全体を保持してもよい。例えば、色名指定の色処理リソースの使用頻度の高い色名のみを保持するなど、優先度指定や最終利用時間などに基づいた処理が考えられる。また、この色処理リソースを画像処理装置の動作がOFFになる前に図示していない不揮発性のＲＯＭまたはＲＡＭに保持してもよい。
【００３８】
なお、実施例においては色処理リソースのキャッシュ方法を示したが、フォントや画像データなどの画像処理装置100の他のリソースの管理に前記の方法を適用してもよい。
また、本実施例は画像処理装置100本体内に出力色処理部102がある形態に基づいて説明をしたが、出力色処理部102が外部コンピュータ110にあってもよい。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ＡＳＩＣ)によっても実現可能である。また、本発明の実施形態は画像処理装置に限られず、キャッシュ機構を有するデータを処理装置に適応可能である。
【符号の説明】
【００３９】
100  画像処理装置
101  ＰＤＬデータ取得部
102、401  出力色処理部
103  描画部
110  外部コンピュータ
【図１】
2019030985.tif 000003
【図２】
2019030985.tif 000004
【図３】
2019030985.tif 000005
【図４】
2019030985.tif 000006
【図５】
2019030985.tif 000007
【図６】
2019030985.tif 000008