(57)【要約】【課題】分割パターンを用いて動き補償を行う動画像の符号化装置において、動きベクトル探索に関わる演算量を削減する。【解決手段】複数の分割パターンのうちの一つである所定の分割パターンにおける各分割領域の動きベクトルを探索し、得られた動きベクトルを動きベクトル格納手段に格納しておき、前記所定の分割パターン以外の一の分割パターンにおける一の分割領域について、動きベクトル格納手段から読み出した、当該一の分割領域に対応する前記所定の分割パターンにおける分割領域の動きベクトルを用いることにより、当該一の分割領域の探索中心を求め、当該探索中心を用いて前記一の分割領域の動きベクトルを探索する。【選択図】  図１１
2005323299.tif 000002
【特許請求の範囲】
【請求項１】
動画像におけるフレームの単位領域を複数の分割方法で分割した複数の分割パターンを用いて動き補償を行う符号化装置において実行される動きベクトル探索方法であって、
前記複数の分割パターンのうちの一つである所定の分割パターンにおける各分割領域の動きベクトルを探索し、得られた動きベクトルを動きベクトル格納手段に格納する格納ステップと、
前記所定の分割パターン以外の一の分割パターンにおける一の分割領域について、前記動きベクトル格納手段から読み出した、当該一の分割領域に対応する前記所定の分割パターンにおける分割領域の動きベクトルを用いることにより、当該一の分割領域の探索中心を求め、当該探索中心を用いて前記一の分割領域の動きベクトルを探索するステップを、前記所定の分割パターン以外の分割パターンの各分割領域に対して実行する動きベクトル探索ステップと
を有することを特徴とする動きベクトル探索方法。
【請求項２】
動画像におけるフレーム内の単位領域を複数の分割方法で分割した複数の分割パターンを用いて動き補償を行う符号化装置であって、
前記複数の分割パターンのうちの一つである所定の分割パターンにおける各分割領域の動きベクトルを探索する第１の動きベクトル探索手段と、
前記第１の動きベクトル探索手段により探索された動きベクトルを格納する動きベクトル格納手段と、
前記所定の分割パターン以外の分割パターンの各分割領域に対して動きベクトルを探索する第２の動きベクトル探索手段と、
前記第１の動きベクトル探索手段及び前記第２の動きベクトル探索手段により探索された動きベクトルを用いて動き補償を行う動き補償手段とを有し、
前記第２の動きベクトル探索手段は、前記所定の分割パターン以外の一の分割パターンにおける一の分割領域について、前記動きベクトル格納手段から読み出した、当該一の分割領域に対応する前記所定の分割パターンにおける分割領域の動きベクトルを用いることにより、当該一の分割領域の探索中心を求め、当該探索中心を用いて前記一の分割領域の動きベクトルを探索することを特徴とする符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像の符号化技術に関し、特に動画像の符号化における動き補償の技術に関する。
【背景技術】
【０００２】
動画像の符号化技術においては、画面の動きが少なければほとんど同じフレームが繰り返されるという動画像の性質に着目し、フレーム間で変化が生じた差分のみを符号化する技術が用いられている。その中で、画像の中の一部に動きがある場合でも効率的に符号化を行う技術として、動き補償（MC：Motion Compensation）の技術が一般に用いられている。
【０００３】
動き補償とは、符号化対象フレームの画像と前フレーム（以下、参照フレームと呼ぶ）の同じ位置の画像との差分をとるのではなく、符号化対象フレームにおける画像と似た画像の位置を参照フレームから探索し、その探索された画像と符号化対象フレームの画像との差分をとるものである。符号化対象フレームにおける画像と似た画像の位置を参照フレームから探索することを一般に動き推定（あるいは動き予測）（ME：Motion Estimation）と呼ぶが、ここではこれを動きベクトル探索と呼ぶ。
【０００４】
動きベクトル探索について、図１を用いて説明する。図１に示すように、動きベクトル探索は、フレーム全体でなくフレームの一部を切り出した領域単位で行われる。すなわち、フレームをあるサイズ（例えば１６画素×１６画素の矩形領域、ＭＰＥＧ等ではマクロブロックという。本明細書ではこれを単位領域と呼ぶ）に区切り、領域毎に水平成分と垂直成分を持つ動きベクトルを求めるための探索を行う。具体的には、図１における符号化対象フレームの領域Ａと同じ位置にある参照フレームの領域Ｂ及びその周囲と、領域Ａとを比較することにより、領域Ａに対する差分が最小となる領域を参照フレームの中から探索する。図１では領域Ｃが探索された領域である。領域Ａから領域Ｃへの移動量を動きベクトルという。符号化の過程では、この動きベクトルと、領域Ａと領域Ｃの差分が符号化されることになる。
【０００５】
動きベクトル探索について更に説明する。
【０００６】
上記のように、動きベクトル探索では符号化対象フレームの着目領域との差分が最小となる参照フレームの領域を探索するが、具体的な差分としては、図２に示したように、例えばＳＡＤ（Sum of Absolute Difference：各画素の差分絶対値の和）を利用する。参照フレームと符号化対象フレームの時間間隔は一般に短いため、参照フレームと符号化対象フレームとの差分が最小となる参照フレーム内の領域の位置は、一般的に符号化対象フレームの矩形領域と同じ位置の近傍に存在する。このため、例えば、図３に示すように、符号化対象フレームの領域と同じ位置の周囲±１６画素の範囲から動きベクトル探索を行うことで最適な動きベクトルを探索できる。しかし、図３に示す方法では探索点数は（１６×２＋１）２＝１０８９点となり、膨大な演算が必要となる。
【０００７】
この欠点を補うために、ある領域のＳＡＤを算出する際に、それまでに算出したＳＡＤの最小値を超えた時点で、その領域のＳＡＤの計算を打ち切る手法がある。この手法を、図４〜図７を用いて説明する。
【０００８】
ここでは説明のために、符号化対象フレームの矩形領域（対象領域）に対して、参照フレームの矩形領域（参照領域）として３つの探索点、すなわち３つの参照領域（参照領域１、参照領域２、参照領域３）に着目する。図４に各領域と画素毎の値を示している。図５は、対象領域と参照領域１との間のＳＡＤ算出過程を示し、図６は、対象領域と参照領域２との間のＳＡＤ算出過程を示し、図７は、対象領域と参照領域３との間のＳＡＤ算出過程を示す。図５〜図７には、画素毎に差分絶対値を求め、それらを累積することによりＳＡＤを算出することが示されている。
【０００９】
参照領域１→参照領域２→参照領域３の順に探索する場合、ＳＡＤの最小値はこの順に更新されるため、全ての画素の組み合わせについて差分絶対値と累積を求める必要がある。これに対し、参照領域３→参照領域２→参照領域１の順に探索する場合、参照領域３のＳＡＤは３参照領域中の最小値である１２であり、参照領域２におけるＳＡＤ算出処理（図６）においては、画素番号３の時点でその最小値を超えるので、以降の演算を省略し、参照領域１のＳＡＤ算出処理に移行する。また、参照領域１におけるＳＡＤ算出処理（図５）においては、画素番号１以降の演算を省略できる。これにより動きベクトル探索における演算量を削減できる。
【００１０】
この手法を活用することにより、図８に示すように、動きベクトル算出済みの周辺の領域から対象領域の動きベクトルを予測し、その動きベクトルが示す点を探索中心とし、例えばらせん状に所定の範囲の探索点をスキャンして、動きベクトル探索処理を高速化する手法がある。
【非特許文献１】UB Video Inc. “Emerging H.264 Standard: Overview and TMS320DM642-Based Solutions for Real-Time Video Applications” 12-2002 (URL:  http://www.ubvideo.com/public/h.264_white_paper.pdf)
【発明の開示】
【発明が解決しようとする課題】
【００１１】
さて、新しい動画像符号化規格であるＨ．２６４（例えば非特許文献１参照）が標準化段階にある。Ｈ．２６４では、従来の動画像符号化方式より圧縮効率を改善するために新たな符号化手法を用いている。その中の一つとして、１６×１６画素の矩形領域（マクロブロック）を、４×４画素の領域を最小単位として図９に示す分割パターン（Ｈ．２６４では分割モードという）に分割し、１６×１６領域内の複雑な部分と平坦な部分の状況等に応じて、複数の分割モードの中から最適な分割モードを選択して、動き補償を行う。これにより、量子化後の生成符号量を削減している。なお、本明細書では、マクロブロック等の単位領域を分割した後の当該単位領域のことを分割パターン又は分割モードと呼ぶこととする。また、単位領域における分割された領域のことを分割領域と呼ぶこととする。
【００１２】
Ｈ．２６４では、各分割モードの各分割領域において動きベクトル探索を行う。そして、複数の分割モードの中で、符号化コストが最小となる分割モードを選択している。この方法は符号量削減という利点があるが、各分割モードにおける各分割領域で動きベクトル探索が必要であるため、従来の規格に比べて演算量が増加するという問題がある。
【００１３】
ここで、図８に示した動きベクトル探索方法を用いれば、単純に画素をずらしながら探索を行う図３の方法と比較して演算量を削減することは可能である。例えば、図１０に示すように、分割モード３の下側半分を対象領域とした場合の動きベクトル探索に際し、動きベクトル算出済みの周辺の領域Ａ、Ｂ、Ｃの各動きベクトルの水平成分、垂直成分毎の中央値を対象領域の探索中心とし、そこから所定の範囲を図８で説明した方法で探索を行う。しかし、この方法を用いた場合、例えばオブジェクトの境界が図１０に点線で示す位置にある場合、点線の上側と下側とでは動きが異なる場合が多く、周辺の領域Ａ、Ｂ、Ｃから予測した探索中心は対象領域の動きベクトルと大きく異なると考えられる。従って、最適な動きベクトルを探索するには広範囲の演算を行わなければならず、演算量の増加は避けられない。
【００１４】
本発明は上記の点に鑑みてなされたものであり、分割パターンを用いて動き補償を行う動画像の符号化装置において、動きベクトル探索に関わる演算量を削減することを目的とする。
【課題を解決するための手段】
【００１５】
上記の課題は、動画像におけるフレームの単位領域を複数の分割方法で分割した複数の分割パターンを用いて動き補償を行う符号化装置において実行される動きベクトル探索方法であって、前記複数の分割パターンのうちの一つである所定の分割パターンにおける各分割領域の動きベクトルを探索し、得られた動きベクトルを動きベクトル格納手段に格納する格納ステップと、前記所定の分割パターン以外の一の分割パターンにおける一の分割領域について、前記動きベクトル格納手段から読み出した、当該一の分割領域に対応する前記所定の分割パターンにおける分割領域の動きベクトルを用いることにより、当該一の分割領域の探索中心を求め、当該探索中心を用いて前記一の分割領域の動きベクトルを探索するステップを、前記所定の分割パターン以外の分割パターンの各分割領域に対して実行する動きベクトル探索ステップとを有する動きベクトル探索方法により解決できる。
【００１６】
また、上記の課題は、動画像におけるフレーム内の単位領域を複数の分割方法で分割した複数の分割パターンを用いて動き補償を行う符号化装置であって、前記複数の分割パターンのうちの一つである所定の分割パターンにおける各分割領域の動きベクトルを探索する第１の動きベクトル探索手段と、前記第１の動きベクトル探索手段により探索された動きベクトルを格納する動きベクトル格納手段と、前記所定の分割パターン以外の分割パターンの各分割領域に対して動きベクトルを探索する第２の動きベクトル探索手段と、前記第１の動きベクトル探索手段及び前記第２の動きベクトル探索手段により探索された動きベクトルを用いて動き補償を行う動き補償手段とを有し、前記第２の動きベクトル探索手段は、前記所定の分割パターン以外の一の分割パターンにおける一の分割領域について、前記動きベクトル格納手段から読み出した、当該一の分割領域に対応する前記所定の分割パターンにおける分割領域の動きベクトルを用いることにより、当該一の分割領域の探索中心を求め、当該探索中心を用いて前記一の分割領域の動きベクトルを探索する符号化装置によっても解決できる。
【発明の効果】
【００１７】
本発明に係る動きベクトル探索方法によれば、所定の分割パターンにおける各分割領域の動きベクトルを予め探索し、求めた動きベクトルを動きベクトル格納手段に蓄積し、それ以外の分割パターンにおける分割領域の動きベクトル探索における探索中心を、その分割領域に対応する領域に対して既に求めた動きベクトルを用いて算出することとしたので、最適な動きベクトルに近い探索中心を求めることができる。従って、探索範囲を絞ることができ、結果として動きベクトル探索に係る演算量を削減できる。
【発明を実施するための最良の形態】
【００１８】
次に、図面を参照して本発明の実施の形態について説明する。本発明の実施の形態はＨ．２６４の分割モードをベースとしているが、本発明は分割パターンを用いて動き補償を行う動画像符号化方式全般に適用可能である。
【００１９】
（処理概要）
まず、本発明に係る処理の概要について説明する。図１０と同じ分割モード３の場合を例にとり、図１１を用いて説明する。
【００２０】
図１１に示すように、分割モード１〜７の動きベクトル探索を行うに際し、最も分割数の多い分割モード７の各分割領域の動きベクトル探索を最初に行い、他の分割モードの動きベクトル探索では、その分割モードを構成する各分割領域に対して既に求められている動きベクトルから求めた探索中心を利用する。例えば分割モード３の場合、図１１における領域ａ〜ｈに対し、分割モード７の動きベクトル探索で既に求められている動きベクトルを利用する。すなわち、分割モード６〜分割モード１の各分割領域は必ず分割モード７の分割領域の組み合わせで構成することができ、また、分割モード７の動きベクトル探索を既に行っているので、分割モード６〜分割モード１の各分割領域の探索中心を決定するために分割モード７の動きベクトルを用いることが可能である。
【００２１】
より具体的には、分割モード３の下半分の領域の動きベクトルを求める場合、例えば領域ａ〜ｈの既に算出された動きベクトルの水平成分の平均値、垂直成分の平均値からなる点、もしくは、水平成分の中央値、垂直成分の中央値からなる点を探索中心として動きベクトル探索を行う。なお、既に算出された動きベクトルから対象領域の探索中心を求める方法はこれに限られるものではない。
【００２２】
上記の方法を用いることにより、図１０に示す位置にオブジェクトの境界が存在したとしても、該当領域において既に求められた動きベクトルをそのまま用いるので、その領域に動きがあったとしてもその動きが反映された探索中心を求めて、動きベクトル探索に用いることができる。探索中心として精度のよい値を用いることができるので、動きベクトル探索の範囲を狭くすることができ、演算量を減少させることが可能である。
【００２３】
（装置構成）
本発明の動きベクトル探索方法が適用される符号化装置の一例を図１２に示す。図１２は、動き補償を行う一般的な符号化装置の主要構成を示すブロック図であり、本発明の動きベクトル探索は、図１２の動きベクトル探索部１０で行われる。また、図１２の動き補償部２０では、直前のフレームの画像データを使用し、次のフレームの予測画像を作成している。図１２に示す符号化装置は、ハードウェアとして実現することもできるし、各部の処理をコンピュータに実行させるプログラムを用いて実現することもできる。なお、Ｈ．２６４における符号化装置の構成は、例えば非特許文献１に記載されている。
【００２４】
このような符号化装置は、動画像の画像処理を実行する装置であればどのような装置にでも搭載することができる。符号化装置を搭載する装置の例としては、携帯電話機、パーソナルコンピュータ、ビデオカメラ等がある。
【００２５】
図１３に、本実施の形態における動きベクトル探索部１０の構成を示す。
【００２６】
図１３に示すように、動きベクトル探索部１０は、各分割モード毎の動きベクトル探索部１０１〜１０７（図ではＭＥと略記している）、モード判定部１１０、探索中心設定部１１１、動きベクトルメモリ部１１２を備えている。各動きベクトル探索部１０１〜１０７には、符号化対象フレームと参照フレーム、及び探索中心が入力され、該当の分割モードにおける動きベクトル探索が実行される。そして、探索の結果得られた動きベクトルと、符号化コスト（動きベクトルを符号化するのに必要な符号化ビット数とＳＡＤを合算した値）がモード判定部１１０に入力される。モード判定部１１０では、符号化コストが最小となる分割モードを選択し、選択された分割モードとその分割モードの動きベクトルを出力する。また、分割モード７の動きベクトル探索部１０７から出力された動きベクトルは、動きベクトルメモリ部１１２に蓄積される。また、動きベクトルメモリ部１１２は既に符号化済みの動きベクトルも蓄積する。探索中心設定部１１１は、動きベクトルメモリ部１１２に蓄積された動きベクトルを用いることにより、各分割モードでの動きベクトル探索における探索中心を設定する。
【００２７】
（詳細動作）
次に、図１４、図１５のフローチャートを参照して動きベクトル探索部１０の動作をより詳細に説明する。図１４は、全体の処理手順を示し、図１５は、図１４におけるステップＳ２の処理手順を示す。なお、以下の処理は符号化対象フレームにおける各単位領域毎に行われるものである。また、各フローチャートに従った処理の実行は、図示しない制御部が各処理部に命令を出すことにより行うことが可能である。
【００２８】
図１４のフローチャートに示すように、まず分割モード７の動きベクトル探索部１０７が分割モード７の各分割領域についての動きベクトルを算出し、動きベクトルメモリ部１１２に格納する（ステップＳ１）。
【００２９】
より詳細には、探索中心設定部１１１が動きベクトルメモリ部１１２に蓄積されている既に符号化済みの動きベクトルを取得し、例えば図１０に示した領域Ａ、Ｂ、Ｃの動きベクトルの中央値を探索中心として決定し、それを分割モード７の動きベクトル探索部１０７に出力する。分割モード７の動きベクトル探索部１０７は、符号化対象フレーム、参照フレーム及び探索中心の入力を受け、分割領域（４×４画素の領域）毎に動きベクトル探索を行う。このときの動きベクトル探索範囲は通常の範囲（例えば±１６画素）とする。そして、分割モード７の動きベクトル探索部１０７は、動きベクトル探索により得られた動きベクトルに加えて、その動きベクトルを符号化するのに必要な符号化ビット数とＳＡＤを合算した符号化コストをモード判定部１１０に対して出力する。
【００３０】
分割モード７の各領域についての動きベクトルを算出した後に、分割モード１〜分割モード６の各領域について、探索範囲を絞り込んで動きベクトル探索を行い、算出された動きベクトルと符号化コストがモード判定部１１０に出力される（ステップＳ２）。
【００３１】
そして、モード判定部は、符号化コストが最小となる分割モードと、その分割モードにおける動きベクトルを出力する（ステップＳ３）。
【００３２】
次に、分割モード１〜分割モード６の各領域についての動きベクトル探索処理について、図１５のフローチャートを参照して説明する。
【００３３】
まず、分割モードが選択される（ステップＳ２１）。例えば分割モード１から順番に分割モード６まで動きベクトル探索を行うことにすれば、分割モード１から順番に分割モード６までの選択が行われることになる。
【００３４】
次に、選択された分割モードの動きベクトル探索部は、当該分割モードの中の１つの分割領域を選択する（ステップＳ２２）。選択された領域は、探索中心設定部１１１に通知される。探索中心設定部１１１は、動きベクトルメモリ部１１２に格納されている分割モード７に対して既に探索済みの動きベクトルの中から、通知された領域に対応する動きベクトルを取得し、これらの平均値もしくは中央値を、探索中心となる動きベクトル予測値として決定し、該当の分割モードの動きベクトル探索部に出力する（ステップＳ２３）。
【００３５】
その分割モードの動きベクトル探索部は、探索中心、符号化対象フレーム、参照フレームの入力を受け、該当分割領域に対する動きベクトル探索を行う（ステップＳ２４）。このときの探索中心は分割モード７での動きベクトル探索で得られた動きベクトルから予測した予測精度の高い値であるため、動きベクトル探索範囲は通常の範囲より絞り込んでも符号化効率はほとんど低下しない。このため動きベクトル探索範囲は±１〜４画素程度とすることが可能である。
【００３６】
選択された分割モードにおいて全ての分割領域に対する動きベクトル探索が終了していなければ（ステップＳ２５のＮｏ）、ステップＳ２２に戻り、次の領域に対して動きベクトル探索処理を行う。
【００３７】
全ての分割領域に対する動きベクトル探索が終了した場合（ステップＳ２５のＹｅｓ）、分割モード１〜分割モード６のうち動きベクトル探索が終了していない分割モードがあれば（ステップＳ２６のＮｏ）ステップＳ２１に戻り、次の分割モードに対する動きベクトル探索処理を実行する。分割モード１〜分割モード６のうち動きベクトル探索が終了すれば（ステップＳ２６のＹｅｓ）、図１４のステップＳ２の処理が終了となる。
【００３８】
なお、上記の例では、最も分割数の多い分割モード７の各分割領域に対して探索した動きベクトルを動きベクトルメモリ部１１２に格納し、その動きベクトルを使用することにより他の分割モードの分割領域の動きベクトルを求めていたが、他の分割モードの分割領域の動きベクトルを求めるために使用する動きベクトルは分割モード７のものでなくてもよい。
【００３９】
例えば、分割モード６の各分割領域の動きベクトルを用いて、それより分割数の小さい分割モード１〜分割モード４の各分割領域の動きベクトルを上記と同様の方法で求めることが可能である。この場合、分割モード５、分割モード７の各分割領域については、分割モード６において対応する分割領域の動きベクトルを用いるようにする。従って、例えば、分割モード６のある分割領域の動きベクトルが、その分割領域に対応する分割モード７の複数の分割領域の各々に使用される。またこの場合、図１３において、分割モード６に対応する動きベクトル探索部１０６により探索された動きベクトルが動きベクトルメモリ１１２に格納され、探索中心設定部１１１により他の分割モードの探索中心設定の処理に用いられることになる。
【００４０】
どの分割モードをベースとするかは、一定時間内の画像の変化量、フレーム内における一様な部分と複雑な部分の状況等の評価手段を設け、その評価手段が決定する。もしくは、動きの早いシーン等、外部から入力された情報に基づき決定する。
【００４１】
これまでに説明したように、周囲の領域の動きベクトルを利用して対象領域の探索中心を予測する方法では、オブジェクトの境界が対象領域と周囲の領域との間にある場合等に探索中心の精度が低くなることから、最適な動きベクトルを探索するためには広範囲を探索する必要があり、膨大な演算量が必要になるという問題があったところ、本実施の形態で説明した動きベクトル探索方法によれば、既に探索済みの動きベクトルを利用して探索中心を求めるため、精度の高い探索中心を得ることができ、探索範囲を絞り込んでも最適な動きベクトルを算出できる。従って、符号化効率を低下させることなく演算量を削減でき、動きベクトル探索処理を高速化することができる。
【００４２】
なお、本発明は、上記の実施の形態に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【図面の簡単な説明】
【００４３】
【図１】動きベクトル探索を説明するための図である
【図２】符号化対象フレームの領域と参照フレームの領域との差分を説明するための図である。
【図３】動きベクトル探索の範囲の例を示す図である。
【図４】効率的に動きベクトル探索を行う方法の例を説明するために使用する対象領域と参照領域を示す図である。
【図５】対象領域と参照領域１との間のＳＡＤ算出過程を示す図である。
【図６】対象領域と参照領域２との間のＳＡＤ算出過程を示す図である。
【図７】対象領域と参照領域３との間のＳＡＤ算出過程を示す図である。
【図８】効率的に動きベクトル探索を行う方法の例を説明するための図である。
【図９】分割モードを示す図である。
【図１０】分割モード３の下側半分を対象領域とした場合の従来の動きベクトル探索方法を説明するための図である。
【図１１】本発明に係る処理の概要を説明するための図である。
【図１２】本発明の動きベクトル探索方法が適用される符号化装置の一例を示すブロック図である。
【図１３】動きベクトル探索部１０の構成を示す図である。
【図１４】動きベクトル探索部１０の全体の処理手順を示すフローチャートである。
【図１５】図１４におけるステップＳ２の処理手順を示すフローチャートである。
【符号の説明】
【００４４】
１０  動きベクトル探索部
２０  動き補償部
１０１〜１０７  各分割モード毎の動きベクトル探索部
１１０  モード判定部
１１１  探索中心設定部
１１２  動きベクトルメモリ部
【図１】
2005323299.tif 000003
【図２】
2005323299.tif 000004
【図３】
2005323299.tif 000005
【図４】
2005323299.tif 000006
【図５】
2005323299.tif 000007
【図６】
2005323299.tif 000008
【図７】
2005323299.tif 000009
【図８】
2005323299.tif 000010
【図９】
2005323299.tif 000011
【図１０】
2005323299.tif 000012
【図１１】
2005323299.tif 000013
【図１２】
2005323299.tif 000014
【図１３】
2005323299.tif 000015
【図１４】
2005323299.tif 000016
【図１５】
2005323299.tif 000017