(57)【要約】【課題】  画素値の変化が緩い自然画だけでなく、ＣＧ画像や限定色画像などに見られる様な離散的な画素値を有する様な画像データに対しても効率良く符号化することを可能にする。【解決手段】  多値画像データをタイル分割部でタイルに分割する。出現レベル数カウント部１０４は、そのタイル中に何種類の輝度値が存在したかの計数結果を比較部１１４に、存在した輝度値をインデックステーブル生成部１１３に出力する。インデックステーブル生成部１１３は存在した輝度値に、連続するインデックスを割り当て、その結果をインデックステーブル用メモリ１０５に格納する。インデックス変換部は入力したタイルの画素値をインデックス値に置換え、セレクタ１０７に出力する。セレクタ１０７は、比較部１１４の比較結果に基づき、タイルの輝度値又はインデックス値のいずれか一方を選択し、タイルデータ予測符号化部１０８に出力し、予測符号処理を行わせる。【選択図】  図１
2005348390.tif 000002
【特許請求の範囲】
【請求項１】
１画素が複数ビットで表わされる多値画像データを符号化する画像符号化装置であって、
画像データを、複数画素のまとまりであるブロックに分割するブロック分割手段と、
画素値の取り得る範囲を軸とし、ブロック内に実在する画素値の、前記軸に沿った出現分布が離散的であるか否かを、ブロック単位に判定する判定手段と、
前記ブロック内に実在する画素値に対して連続したインデックス値を割り当て、前記ブロックの画素値をインデックス値に変換する画素値／インデックス値変換手段と、
該画素値／インデックス値変換手段で変換されたインデックス値、又は、画素値のいずれか一方を、前記判定手段の判定結果に基づいて選択する選択手段と、
該選択手段で選択したブロック単位のインデックス値、又は、画素値を予測符号化する予測符号化手段と、
を備えることを特徴とする画像符号化装置。
【請求項２】
さらに、ブロックを非可逆符号化する符号化する非可逆符号化手段と、
注目するブロックについて、該非可逆符号化手段により生成された符号の量と前記予測符号化手段により生成された符号の量に基づいて、いずれか一方の符号を選択する符号データ選択手段と
を備えることを特徴とする請求項１記載の画像符号化装置。
【請求項３】
前記判定手段は、注目ブロック中に何種類の画素値が存在したかを示す数を計数し、当該係数値に基づいて前記出現分布が離散的か否かを判定することを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
前記判定手段は、
注目ブロック中に何種類の画素値が存在したかを示す数を計数する計数手段と、
前記注目ブロック中に存在する最大画素値と最小画素値の差分値を演算する差分演算手段とを備え、
前記計数手段による計数値、及び、前記差分演算手段による差分値に基づいて前記出現分布が離散的と判定することを特徴とする請求項１または２に記載の画像符号化装置。
【請求項５】
前記画像データの１画素が、複数の成分の画素値で合わされる場合、各成分毎に前記判定手段、前記画素値／インデックス値変換手段、前記選択手段、前記予測符号化手段を実行することを特徴とする請求項１乃至４のいずれか１項に記載の画像符号化装置。
【請求項６】
前記予測符号化手段はハフマン符号を用いるエントロピー符号化手段であることを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記予測符号化手段はＧｏｌｏｍｂ符号を用いるエントロピー符号化手段であることを特徴とする請求項５記載の画像処理装置。
【請求項８】
請求項１または２に記載の画像符号化装置で符号化された符号データを復号する画像復号装置であって、
ブロック毎の符号化データを入力する入力手段と、
入力したブロックの符号化データが、インデックス値を用いて予測符号化された結果か、インデックス値を用いないで画素値を用いてを予測符号化された結果かを判定する判定手段と、
ブロックの符号化データを予測復号する復号手段と、
該復号手段で復号された値をインデックス値とみなし、当該インデックス値を画素値に変換するインデックス値／画素値変換手段と、
前記判定手段で注目ブロックの符号化データが前記画素値を用いた符号化結果であると判定した場合には、前記復号手段で復号された結果を復号済み画像データとして出力し、注目ブロックの符号化データが前記インデックス値を用いた符号化結果であると判定した場合には、前記インデックス値／画素値変換手段で得られた画素値を復号済み画像データとして出力する出力制御手段と
を備えることを特徴とする画像復号装置。
【請求項９】
さらに、入力したブロックの符号化データが、非可逆符号化を用いて符号化された結果か、予測可逆符号化を用いて符号化された結果かを判定する符号化方式判定手段と、
ブロックの符号化データを非可逆符号化方式により復号を行う非可逆符号化データ復号手段とを具備し、
前記符号化方式判定手段で注目ブロックの符号化データが非可逆符号化を用いて符号化された結果であると判定した場合には、入力したブロックの符号化データを前記非可逆符号化データ復号手段により復号を行い、予測符号化を用いて符号化された結果であると判定した場合には、前記復号手段により復号することを特徴とする請求項８記載の画像復号装置。
【請求項１０】
１画素が複数ビットで表わされる多値画像データを符号化する画像符号化装置の制御方法であって、
画像データを、複数画素のまとまりであるブロックに分割するブロック分割工程と、
画素値の取り得る範囲を軸とし、ブロック内に実在する画素値の、前記軸に沿った出現分布が離散的であるか否かを、ブロック単位に判定する判定工程と、
前記ブロック内に実在する画素値に対して連続したインデックス値を割り当て、前記ブロックの画素値をインデックス値に変換する画素値／インデックス値変換工程と、
該画素値／インデックス値変換工程で変換されたインデックス値、又は、前記画素値のいずれか一方を、前記判定工程の判定結果に基づいて選択する選択工程と、
該選択工程で選択したブロック単位のインデックス値、又は、画素値を予測符号化する予測符号化工程と、
を備えることを特徴とする画像符号化装置の制御方法。
【請求項１１】
さらに、ブロックを非可逆符号化する符号化する非可逆符号化工程と、
注目するブロックについて、該非可逆符号化工程により生成された符号の量と前記予測符号化工程により生成された符号の量に基づいて、いずれか一方の符号を選択する符号選択工程と
を備えることを特徴とする請求項１０記載の画像符号化装置の制御方法。
【請求項１２】
請求項１または２に記載の画像符号化装置で符号化された符号データを復号する画像復号装置の制御方法であって、
ブロック毎の符号化データを入力する入力工程と、
入力したブロックの符号化データが、インデックス値を用いて予測符号化された結果か、インデックス値を用いないで画素値を用いてを予測符号化された結果かを判定する判定工程と、
ブロックの符号化データを予測復号する復号工程と、
該復号工程で復号された値をインデックス値とみなし、当該インデックス値を画素値に変換するインデックス値／画素値変換工程と、
前記判定工程で注目ブロックの符号化データが前記画素値を用いた符号化結果であると判定した場合には、前記復号工程で復号された結果を復号済み画像データとして出力し、注目ブロックの符号化データが前記インデックス値を用いた符号化結果であると判定した場合には、前記インデックス値／画素値変換工程で得られた画素値を復号済み画像データとして出力する出力制御工程と
を備えることを特徴とする画像復号装置の制御方法。
【請求項１３】
さらに、入力したブロックの符号化データが、非可逆符号化を用いて符号化された結果か、可逆符号化を用いて符号化された結果かを判定する符号化方式判定工程と、
ブロックの符号化データを非可逆符号化方式により復号を行う非可逆符号化データ復号工程とを具備し、
前記符号化方式判定工程で注目ブロックの符号化データが非可逆符号化を用いて符号化された結果であると判定した場合には、入力したブロックの符号化データを前記非可逆符号化データ復号工程により復号を行い、予測符号化を用いて符号化された結果であると判定した場合には、前記復号工程により復号することを特徴とする請求項１２記載の画像復号装置の制御方法。
【請求項１４】
請求項１０乃至１３の各工程をコンピュータに実行させる機能を有することを特徴とするコンピュータプログラム。
【請求項１５】
請求項１４に記載のコンピュータプログラムを格納したことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像データの符号及び復号技術に関するものである。
【背景技術】
【０００２】
従来、画像処理装置を構成する一手法として予測符号化をベースとするものがある。予測符号化は、画像データを予測変換によって予測誤差へと変換する系列変換部と、系列変換部から出力される予測誤差を、ハフマン符号化等のエントロピー符号化を用いて、より冗長性の少ない符号化データへと変換するエントロピー符号化部とによって構成される。
【０００３】
予測符号化による予測誤差の発生頻度の特性は画像によって異なるので、符号化効率を良くする為には各々に最適なエントロピー符号化を施すことが望ましい。
【０００４】
これを実現する方法として、符号化処理を２パス構成とし、１パス目で予測誤差の発生頻度の特性を調べ、それに合わせてエントロピー符号化方法を決定し、２パス目に実際の符号化をするという方法が良く知られている。
【０００５】
しかしながら、処理の複雑化や、使用メモリ量の増加、あるいは最適化されたエントロピー符号化方法についての情報を別途伝送するための符号量の負荷など、様々な理由から、上述の方法が用いられることは少なく、一般的な予測誤差系列の特性に合わせてエントロピー符号化方法を決定することが多い。
【０００６】
この場合、予め幾つかの画像を符号化することにより予測誤差の発生頻度の特性を調べ、これに基づいて符号化方法が決定される。
【０００７】
図６に上述の従来方式の画像処理装置の一例を示す。同図に於いて２０１はバッファ、２０２は予測器、２０３は減算器、２０４はメモリ、２０５はハフマン符号化器、２０６，２０７は信号線である。  図２は、画像データを予測誤差に変換する系列変換の処理に周辺画素を用いた予測変換を用い、符号化処理にはハフマン符号化を用いる画像処理装置の例である。
【０００８】
同図に於いて、実際の符号化が行われる前に、予め幾つかの画像を示す画像データを系列変換して得られた予測誤差の頻度分布を調べ、これに応じてハフマンテーブルを作成し、メモリ２０４に格納される。予測誤差の頻度分布の一般的性質として予測誤差0を中心として出現頻度が高く、予測誤差の絶対値が大きくなるにつれて出現頻度が下がっていく傾向にあるため、メモリ２０４に格納されるハフマン符号では予測誤差0近辺に短い符号語が割り当てられ、予測誤差の絶対値が大きい部分には長い符号語が割り当てられる。
【０００９】
最初に信号線２０６から画像データが順に入力される。バッファ２０１は信号線２０６から入力される画像データを２ライン分格納する。予測器２０２はバッファ２０１から符号化対象画素の直前の画素ａと，１ライン前の画素ｂの画像データを取り出し、ｐ＝（ａ＋ｂ）／２の演算を行う事により予測値ｐを生成する。
【００１０】
減算器２０３は符号化対象画素の画像データｘと予測値ｐとの差分値ｅとして出力する。ハフマン符号器２０５は、予めメモリ２０４に格納されるハフマンテーブルを参照して、差分値ｅに対応する符号化データを信号線２０７から出力する。ここで予測誤差ｅは一般に“０”を中心として出現頻度が高く、“０”から離れるにつれて出現頻度が低くなる傾向にあるため、例えば図８に示すように０近辺の予測誤差に対しては短い符号語、離れるにつれて長い符号語が割り当てられたハフマンテーブルを使用する。
【００１１】
自然画、特に写真画像（写真をイメージスキャナで読取った場合やデジタルカメラで撮像した画像）を符号化対象とした場合、もともと隣り合った画素の値はほぼ等しいという特性があり、予測値と実際の画素値との差分はほとんど０か、０に近い値が発生する確率が高いので、圧縮符号化効率は高い。しかしながら、上述の従来方式による画像処理装置で、ＣＧ画像や、限定色画像等の、離散的に画素値を有する様な画像データを符号化する場合には、上述した系列変換後の予測誤差の発生頻度も離散的なものとなることがある。
【００１２】
このような場合、エントロピー符号化による符号長として短い符号長が割り当てられているにも関わらず、殆どもしくは全く発生しない予測誤差が存在することになり、圧縮率が良くならないという問題があった。
【００１３】
このような問題に対して従来から、予測誤差の発生頻度分布が離散的かどうか判別し、判別の結果に応じて予測誤差に対応する符号化データを変更してエントロピー符号化する手法（例えば特許文献１を参照）や、符号化対象画像が離散的な画素値で構成されているかどうか判別し、判別の結果に応じて予測値を修正する手法（例えば特許文献２を参照）などが開示されている。
【特許文献１】特開平１０−００４５５１号公報
【特許文献２】特開平１０−００４５５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
これらの手法は１パスでの符号化という制約のもとで、有効な改善効果を得るものであるが、２パスの符号化を用いてでも更に圧縮効率を高めたいという要求がある。
【００１５】
本発明はかかる問題点に鑑みなされたものであり、画素値の変化が緩い自然画だけでなく、ＣＧ画像や限定色画像などに見られる様な離散的な画素値を有する様な画像データに対しても簡易に且つ効率良く符号化する技術を提供しようとするものである。
【課題を解決するための手段】
【００１６】
この課題を解決する本発明の画像符号化装置は以下の構成を備える。すなわち、
１画素が複数ビットで表わされる多値画像データを符号化する画像符号化装置であって、
画像データを、複数画素のまとまりであるブロックに分割するブロック分割手段と、
画素値の取り得る範囲を軸とし、ブロック内に実在する画素値の、前記軸に沿った出現分布が離散的であるか否かを、ブロック単位に判定する判定手段と、
前記ブロック内に実在する画素値に対して連続したインデックス値を割り当て、前記ブロックの画素値をインデックス値に変換する画素値／インデックス値変換手段と、
該画素値／インデックス値変換手段で変換されたインデックス値、又は、画素値のいずれか一方を、前記判定手段の判定結果に基づいて選択する選択手段と、
該選択手段で選択したブロック単位のインデックス値、又は、画素値を予測符号化する符号化手段とを備える。
【発明の効果】
【００１７】
本発明の構成によれば、画素値の変化が緩い自然画だけでなく、ＣＧ画像や限定色画像などに見られる様な離散的な画素値を有する様な画像データに対しても効率良く符号化することが可能になる。
【発明を実施するための最良の形態】
【００１８】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１９】
＜第１の実施形態＞
図１は第１の実施形態に係る画像処理装置（画像符号化装置）のブロック構成図である。
【００２０】
同図において、１１０は画像データを入力する入力端子である。実施形態では、Ｒ、Ｇ、Ｂの各成分の輝度値が８ビット（２５６階調）の画素データを１ライン毎に入力するものとするが、入力する画像データはＲＧＢ空間に限らず、他の色空間ＹＭＣやＬａｂ、ＹＣｂＣｒ等でも良い。当業者であれば、ＹＭＣ空間の場合、各画素はＹ、Ｍ、Ｃの濃度値で表わされるので、本実施形態では輝度値に限らないことは容易に理解できよう。
【００２１】
１０１はラインバッファであり、複数のラインのカラー画像を蓄積する。実施形態では、ラインバッファ１０１に記憶するライン数をＴｈとする。１画素はＲＧＢの３つの成分であり、各成分値（輝度値）は８ビットであるから、１ラインの画素数がＷで表現できる場合、ラインバッファ１０１はＷ×Ｔｈ×３バイトの容量を有することになる。なお、ラインバッファ１０１には原画像のＴｈライン分の帯状画像が蓄積されるので、この帯状画像をストライプもしくはストライプ画像と呼ぶことにする。
【００２２】
１０２はタイル分割部であり、ラインバッファ１０１に格納されたストライプ画像を水平方向にＴｗ画素毎に区切り、Ｔｗ×Ｔｈ画素サイズの小領域に分割する。分割した１つの小領域を以下ではタイルと表現することとする。
【００２３】
１０３は１タイル分の画像を蓄積するタイルバッファであり、実施形態では、このタイルバッファ１０３に格納された部分画像が符号化単位となる。
【００２４】
なお、実施形態では、原画像の水平方向の画素数をＷ、垂直方向の画素数（ライン数）をＨとしたとき、ＷはＴｗの整数倍、ＨはＴｈの整数倍であるものとして説明する。これは説明を単純にするための便宜的なものである点を理解されたい。当業者であれば、後述する説明により、Ｗ、ＨがＴｗ、Ｔｈの整数倍ではない場合は、画像の右端、下端ではそれぞれの不完全なサイズのタイルに対して同様に処理すれば良いのは容易に理解できよう。
【００２５】
図１の説明に戻る。符号１０４は出現レベル数カウント部であって、注目タイル（タイルバッファ１０３に格納された１タイル）中の各色成分毎の実際に存在したレベルの数を計数する。実施形態の場合、各成分は８ビット、すなわち、０〜２５５のレベルのいずれかになる。１つのタイル中に、仮に、Ｒ成分の輝度値が“１００”と“２００”の２種類しか存在しなかった場合には、ここで言うＲ成分のレベルの数は“２”となる。
【００２６】
１１４は出現レベル数カウント部１０４からの出力されたレベル数と閾値ＭＬとを比較し、その比較結果を出力する比較部である。
【００２７】
１１３はインデックステーブル生成部であり、各成分の値（実施形態では輝度値）に対してインデックスを割り当てる。１０５はインデックステーブル生成部１１３で生成されたインデックステーブルを記憶保持するためのインデックステーブル用メモリである。
【００２８】
１０６は、インデックステーブル用メモリ１０５を参照して、タイルバッファ１０３からの各色成分の画素値をインデックスに変換するインデックス変換部である。
【００２９】
１０７はインデックス変換部１０６からのインデックス、タイルバッファ１０３からの各色成分の輝度値のいずれか一方を、比較部１１４から出力された情報にしたがって選択するセレクタである。１０８はタイルデータ予測符号化部であり、セレクタ１０７から出力された値（インデックス、もしくは輝度値）を、予測値との差分をとって符号化する。
【００３０】
そして、１０９はタイルデータ予測符号化部１０８からの符号化データと、その符号化データがインデックスに基づいて符号化したものであるのか、輝度値に基づいて符号化したのかを示す情報、並びに、インデックスを元にして符号化した場合のインデックステーブル情報に基づき、所定の形式の符号列データを形成して出力する符号列形成部である。
【００３１】
上記構成において、タイルバッファ１０３に１タイル分のカラー画像データが格納されると、先ず、そのＲ成分について符号化を行う。Ｒ成分の符号化処理では、先ず、Ｒ成分のインデックステーブルを生成し、再度、Ｒ成分の画素値を読み出して符号化を行う。
【００３２】
１タイルのＲ成分の符号化が完了すると、Ｇ成分について同様に行い、最後にＢ成分について行うものとする。
【００３３】
なお、１タイル分のＲ、Ｇ、Ｂの３つのインデックステーブルを先ず生成し、そのあとで、１タイル分のＲ成分用のインデックステーブルを選択してＲ成分の符号化を行い、次いでＧ、Ｂ成分と同様に符号化しても構わない。また、符号化する色成分の順番は、必ずしもＲ、Ｇ、Ｂの順番に限定されない。
【００３４】
いずれにしても、１タイルの１色成分に着目したとき、先ず、その色成分の輝度値をタイルバッファ１０３から読出してインデックステーブルを作成し、その後で再度その色成分の輝度値を読出して符号化を行うことになるので、実施形態における符号化処理は２パス符号化と言える。
【００３５】
繰り返すが、実施形態では、タイルバッファ１０３に１タイル分のカラー画像データが格納されると、先ず、Ｒ成分のインデックステーブルを生成し、再度、Ｒ成分の画素値を読み出して符号化を行うものとして説明する。Ｇ、Ｂ成分についても同様であるので、以下では、Ｒ成分に的を絞って説明することとする。すなわち、特に断わりがない限り、Ｇ、Ｂ成分の符号化では、以下の説明での「Ｒ成分」という表現を、「Ｇ成分」、「Ｂ成分」と置換えて理解されたい。
【００３６】
［出現数カウント部の説明］
出現レベル数カウント部１０４は、１タイル、すなわち、幅Ｔｗ×高さＴｈの部分カラー画像中に出現したＲ成分の輝度値の種類の数ＮＬＶ（Ｒ）を以下のようにして求める（Ｇ成分の符号化の際にはＮＬＶ（Ｇ）、Ｂ成分の符号化の際にはＮＬＶ（Ｂ）を求める）。
【００３７】
このＮＬＶ（Ｒ）を求める手順を図２のフローチャートに従って説明する。
【００３８】
先ず、実施形態でのＲ成分は８ビット、すなわち、０〜２５５の値を取り得るので、輝度値０〜２５５の２５６個の配列フラグＦ（０）〜Ｆ（２５５）を用意する。この配列フラグＦ（ｉ）（０≦ｉ≦２５５）が“１”である場合、輝度ｉのＲ成分が存在したことを示し、“０”の場合には、輝度ｉのＲ成分が存在しないことを示すこととする。
【００３９】
また、注目タイル内での水平方向の位置を変数ｘ（０≦ｘ≦Ｔｗ−１）、垂直方向の位置を変数ｙ（０≦ｙ≦Ｔｈ−１）で表わし、その座標（ｘ，ｙ）におけるＲ成分の輝度値をＰ（ｘ，ｙ）として表わすことにする。Ｐ（ｘ，ｙ）は０〜２５５の範囲にあるのは明らかである。
【００４０】
先ず、ステップＳ１では配列変数Ｆ（０）乃至Ｆ（２５５）に初期値“０”を設定する。次いで、ステップＳ２に進んで、変数ｙを“０”で初期化し、ステップＳ３で変数ｘを“０”で初期化する。
【００４１】
ステップＳ４ではタイルバッファ１０３中の座標（ｘ、ｙ）のＲ成分の輝度値をＰ（ｘ，ｙ）として読み込み、その読み込んだ輝度値を引数とする配列フラグＦ（Ｐ（ｘ，ｙ））に“１”を格納する。例えば、Ｐ（ｘ、ｙ）＝１００であった場合、輝度値“１００”が存在したことを意味する。従って、Ｆ（１００）に“１”を格納する。
【００４２】
次に、ステップＳ５に進んで変数ｘを“１”だけ増加させ、ステップＳ６にて変数ｘの示す座標が注目タイル内にあるか否かを判断する。そして、ｘ＜Ｔｗの関係を満たす場合には、ステップＳ４乃至Ｓ５を繰り返すことで、タイルの１ラインについての処理を繰り返す。
【００４３】
ステップＳ６でタイルの１ラインについての処理が終えたと判断した場合には、次のラインに処理を進めるべく、変数ｙを“１”だけ増加させる。そして、ステップＳ７にて変数ｙとタイルのライン数Ｔｈと比較し、ｙ＜Ｔｈである限りは、未処理のラインが残っているので、ステップＳ３以降の処理を繰り返すことになる。
【００４４】
上記処理を繰り返すと、１タイル中の輝度値ｉを持つＲ成分が少なくとも１回存在した場合、フラグＦ（ｉ）は“１”となる。逆に、存在しない輝度値ｊについてはフラグＦ（ｊ）は、初期化処理で設定した“０”のままということになる。
【００４５】
従って、ステップＳ９では、ΣＦ（ｉ）（＝Ｆ（０）＋Ｆ（１）＋…＋Ｆ（２５５））を算出することで、注目タイル中のＲ成分について、何種類のレベルが出現したかを演算できる。
【００４６】
上記はＲ成分についてのものであったが、Ｇ、Ｂ成分についても同様に行う。仮に、上記の処理を、Ｒ、Ｇ、Ｂについてまとめて行うとした場合、フラグ配列Ｆは、Ｆ（ｃ，ｉ）として表現できる。ここで、ｃはＲ、Ｇ、Ｂのいずれかであり、ｉは各々の色成分の輝度値になる。
【００４７】
図３は上記処理をまとめて行った場合のフラグ配列Ｆ（ｃ，ｉ）の一例である。図示のように、各色成分との出現した輝度値が“１”となり、一度も出現しなかった輝度値は“０”として得られる。ＮＬＶ（ｃ）は、縦軸の合計となる。
【００４８】
［インデックステーブル生成部の説明］
インデックステーブル生成部１１３は、出現レベル数カウント部１０４で計数した各成分の出現レベル数ＮＬＶ（Ｒ）、ＮＬＶ（Ｇ）、ＮＬＶ（Ｂ）に基づき、それぞれのインデックステーブルを作成し、インデックステーブル用メモリ１０５に格納する。ここでもＲ成分に限って説明する。
【００４９】
先に説明した出現レベル数カウント部１０４からは、ＮＬＶ（Ｒ）を入力すると共に、フラグＦ（０）乃至Ｆ（２５５）を入力する。インデックステーブル生成部１１３の処理を簡単に説明すると次の通りである。
【００５０】
注目タイル中に存在したＲ成分の輝度値が仮に、“１００”、“１２０”、“１３０”の３種類である場合には、Ｆ（１００）＝Ｆ（１２０）＝Ｆ（１３０）＝１となり、それ以外のＦ（０）〜Ｆ（９９）、Ｆ（１０１）〜Ｆ（１９９）、及びＦ（１３１）〜Ｆ（２５５）は“０”になっている。このとき、当然、ＮＬＶ（Ｒ）＝３である。
【００５１】
そこで、輝度レベル“１００”にインデックス値として“０”を割り当て、輝度レベル“１２０”にインデックス値として“１”を割り当て、輝度レベル“１３０”にインデックス値として“２”を割り当て、これ以外にはインデックス値は割り当てない。そして、割り当てたインデックス値と輝度レベルの対応テーブルをインデックステーブル用メモリ１０５に格納する処理を行う。
【００５２】
インデックステーブル生成部１１３の具体的な処理は、例えば図４のフローチャートに示す手順で行えば良い。なお、以下の説明で配列変数ＩＤＸ（）は、各輝度値に対するインデックス値を格納するための配列変数であり、変数ｉｄｘは割り当てる最新インデックス値を記憶する変数、変数ｉは輝度値を示す変数である。
【００５３】
先ず、ステップＳ１１において配列変数ＩＤＸ（０）〜ＩＤＸ（２５５）に“−１”を格納する。これは正常なインデックス値は“０”以上の整数であり、それと区別するためである。次いで、ステップＳ１２において輝度レベルを示す変数ｉを“０”で初期化し、ステップＳ１３において変数ｉｄｘを“０”で初期化する。
【００５４】
次のステップＳ１４では、Ｆ（ｉ）＝１であるか否か、注目タイル中にＲ成分の輝度値ｉが存在したか否かを判断する。Ｆ（ｉ）＝０の場合には、注目タイル中にＲ成分の輝度値ｉが存在しなかったことになる。従って、インデックスの割り当て処理（ステップＳ１５、Ｓ１６）を行わず、ステップＳ１７に進んで変数ｉを“１”だけ増加させる処理を行う。
【００５５】
一方、ステップＳ１４において、Ｆ（ｉ）＝１であると判定した場合には、注目タイル中にＲ成分の輝度値ｉが存在したことになるから、ステップＳ１５に進み、ＩＤＸ（ｉ）にそのときの変数ｉｄｘに保持された値を格納することで、輝度値ｉにインデックスを割り当てる。そして、ステップＳ１６にて、変数ｉｄｘを“１”だけ増加させ、次に割り当てるインデックス値を用意し、ステップＳ１７にて変数ｉを“１”だけ増加させる処理を行う。
【００５６】
ステップＳ１８では変数ｉの値が２５６未満であるか否かを判断する。変数ｉ＝２５６の場合、全輝度についての割り当て／非割り当ての処理が完了したことになるので、ステップＳ１９にて配列変数ＩＤＸ（０）乃至ＩＤＸ（２５５）の値と輝度値との対応関係を示すテーブルとしてインデックステーブル用メモリ１０５に格納するとともに、符号列形成部１０９にもそのテーブルを出力する。
【００５７】
上記はＲ成分についてのものであったが、Ｇ、Ｂ成分についても同様に行う。仮に、上記の処理を、Ｒ、Ｇ、Ｂについてまとめて行うとした場合、インデックス配列はＩＤＸ（ｃ，ｉ）として表現できる。ここで、ｃはＲ、Ｇ、Ｂのいずれかであり、ｉは各々の色成分の輝度値になる。
【００５８】
図５は上記処理をまとめて行った場合のインデックステーブル用メモリ１０５の状態例を示している。図３との関係で示すと、図５では、注目タイル中に出現した輝度値については０以上のインデックスが割り当てられ、出現しなかった輝度値は“−１”が割り当てられることになる。ただし、インデックステーブル用メモリ１０５における“−１”が参照されることはない。なぜなら、“−１”が格納されている輝度値ｉは、注目タイル中に存在しなかったことを意味するからである。従って、インデックステーブル用メモリ１０５には、有意なインデックス値（実施形態では“０”以上の値）と該当する輝度値のみを格納すると共に符号列形成部１０９にも同様の情報のみを格納するようにしてもよい。
【００５９】
［符号化処理の説明］
上記の出現レベル数カウント部１０４、インデックステーブル生成部１１３の処理は、タイルバッファ１０３に格納された注目するタイルデータについての１パス目の処理である。２パス目では、符号化処理が行われることになる。ここでも、Ｒ成分に限った符号化処理について説明することとする。
【００６０】
実施形態では、タイルバッファ１０３に格納されたＲ成分の輝度値（８ビット）をそのまま利用して符号化する輝度値符号化モードと、Ｒ成分値を上記のようにして求めたインデックス値０、１、２…に変換した結果を符号化するインデックス符号化モードの２つの符号化モードを有し、そのいずれか一方をタイル単位に選択する。つまり、セレクタ１０７は、輝度値符号化モードでは、タイルバッファ１０３からラスタースキャンして読出したＲ成分の輝度値を選択出力する。また、インデックス値符号化モードでは、セレクタ１０７は、タイルバッファ１０３からラスタースキャンして読出したＲ成分値をインデックス変換部１０６でインデックス値に変換されたインデックス値と選択出力する。ここで、インデックス変換部１０６であるが、タイルバッファ１０３からラスタースキャンして読出したＲ成分の輝度値が仮にｉであるとき、インデックステーブル用メモリ１０５のｉ値に対応するインデックス値ＩＤＸ（ｉ）を出力するものである。
【００６１】
これら２つの符号化モードの一方を選択する基準、すなわち、セレクタ１０７の選択基準については後述することとし、先ず、実施形態におけるタイルデータ予測符号化部１０８について説明する。
【００６２】
タイルデータ予測符号化部１０８は、注目画素位置の近傍のデータに基づいて、その注目画素の予測値を求め、その予測値と実際の注目データとの差分を演算し、その差分を符号化する。本実施形態では図６に示す構成として説明するが、画素データを予測誤差に変換して符号化する予測符号化を用いる方法であれば適用可能であり、例えば、連続階調静止画像の可逆及び準可逆圧縮の国際標準として勧告されるJPEG-LS（ISO/IEC14495-1および2）などを適用することができる。ここでもＲ成分の符号化に限って説明する。
【００６３】
バッファ２０１は、セレクタ１０７で選択されたＲ成分の輝度値又はインデックス値を入力し記憶することになる。入力されるデータが輝度値かインデックス値かは上記のようにモードに依存するが、いずれの場合でも、Ｒ成分に関する情報であることに変わりはないし、説明を単純にするため便宜的に「データ」といい、符号化する対象の注目画素のＲ成分値又はインデックス値を「注目データ」という。
【００６４】
注目データのタイル内での位置を（ｘ，ｙ）としたとき、バッファ２０１は注目データの１つ前の位置（ｘ−１，ｙ）のデータをデータａ、及び、１ラインだけ前の位置（ｘ，ｙ−１）のデータをデータｂとして出力する。バッファ２０１は、例えば、図７に示す構造で実現できる。すなわち、Ｔｗ個のデータを記憶するシフトレジスタと、１データ分遅延させるためのラッチ（もしくはレジスタ）である。シフトレジスタはＴｗ個のデータを記憶するわけであるから、セレクタ１０７より入力した注目データの１ライン前のデータｂを出力することになる。一方、ラッチでは注目データの１つ前のデータａを出力することになる。データａ，ｂは、注目データの近傍であると共に、既に符号化処理が行われたデータでもある。
【００６５】
予測器２０２は、注目データの近傍にあるデータａ，ｂの平均値を算出し、その結果を予測データｐとして出力する。差分器２０６は予測値ｐから注目データを減算し、その結果を出力する。ハフマン符号器２０５はこの差分値をメモリ２０４に格納されたハフマンテーブル（例えば図８）を参照して差分値を符号語に置換え符号化データを出力する。
【００６６】
なお、図６に示す構成そのものは一般的なものであり、より詳細な説明については省略する。また、図６の構成は、本実施形態でもその一例を示したものと理解されるべきであることを付言しておく。
【００６７】
注意したい点は、図６の構成に入力されるデータは、先に説明したように、Ｒ成分の輝度値かインデックス値のいずれかになる点と、１つのタイル中の１つの成分の符号化処理で符号化対象のデータは輝度値、インデックス値が混在することはない点である。
【００６８】
次に、実施形態におけるセレクタ１０７の選択制御信号を生成する原理、すなわち、輝度値符号化モードとインデックス符号化モードの切り換えを行う条件について説明する。
【００６９】
先に説明したように、１パス目において、出現レベル数カウント部１０４は、Ｔｗ×Ｔｈ画素サイズの注目タイル内のＲ成分の値が何種類であったかを示す出現レベル数ＮＬＶ（Ｒ）を抽出している。
【００７０】
ＮＬＶ（Ｒ）が小さな値である場合、輝度座標軸に対し、実在する輝度値は離散的なものとなる可能性が高いことを意味する。より詳しくは、差分器２０６が注目画素のＲ成分の輝度値と予測値との差分を演算するとした場合、その差分値の分布も離散的となる傾向にあり、大きな絶対値となる可能性が高い。図８に例示したように“０”に近い差分値にに短い符号を割り当て、“０”から離れるほど長くなるような符号を用いた場合には、ビット数の多い符号コードが生成される傾向になるため、符号化効率が低くなる。
【００７１】
かかる点、このインデックス値は０、１、２…と、実際の輝度値とは実質的に無関係な値であって、インデックス値を用いた予測符号化で算出される差分値は、最大でも、最大インデックス値と最小インデックス値の差である。更に、ＮＬＶ（Ｒ）が小さな値を持つというのは、インデックス値の最大値も比較的小さな値となることを意味するから、輝度値を用いた予測符号化より効率が良いのがわかる。ただし、インデックス値を用いた符号化では、インデックステーブルがないと復号できないので、インデックステーブルの容量分だけデータ量は増えることに留意すべきである。
【００７２】
一方、ＮＬＶ（Ｒ）が大きな値を持つ場合、０乃至２５５という限られた輝度範囲に、実在する輝度値の種類の数（実施形態での出現レベル数）が多いことを意味する。従って、符号化する際に輝度値を採用した場合であっても、予測符号化処理での演算で求める差分値も必然的に小さなものとなる可能性が高いことになる。また、輝度値に基づいて符号化するわけであるから、インデックステーブルも不要となる。
【００７３】
以上のように、１つのタイル中に何種類のＲ成分値が発生するかを示すＮＬＶ（Ｒ）に基づいて、Ｒ成分の輝度値を利用して符号化するか、インデックス値を用いて符号化するかを決定するようにした。このため、図１に示すように、比較器１１４は、出現レベル数カウント部１０４から出力されるＮＬＶ（Ｒ）と、予め定めた閾値ＭＬと比較し、ＮＬＶ（Ｒ）≧ＭＬである場合には、輝度値符号化モードを選択させる信号を出力し、ＮＬＶ（Ｒ）＜ＭＬの関係にある場合にはインデックス値符号化モードを選択させる信号を出力する。
【００７４】
なお、ここでは、Ｒ成分についてのものであったが、Ｇ、Ｂ成分の符号化でも同じである。閾値ＭＬは、インデックス値の取り得る範囲を示すビット数を考慮して、２のべき乗で表現される値、例えば、１６、３２、６４、１２８…等が望ましい。また、この閾値ＭＬの値はタイルのサイズであるＴｗ×Ｔｈの値に比例したものを選択することが望ましい。ただし、これは望ましい例を示しているだけであり、これによって本発明が限定されるものではない。
【００７５】
次に、実施形態における符号列形成部１０９について説明する。
【００７６】
符号列形成部１０９は、タイルデータ予測符号化部１０８から１タイルについてＲ成分の符号化データ、Ｇ成分の符号化データ、そして、Ｂ成分の符号化データを入力することになる。
【００７７】
ここで注意したい点は、入力した各色成分の符号化データが、輝度値を用いて予測符号化したのか、インデックス値を用いて符号化したのかを区別しなければならない点である。また、１つのタイルに着目したときでも、Ｒ、Ｇ成分の符号化データは輝度値を用いた符号化結果であり、Ｂ成分の符号化データはインデックス値を用いた符号化結果であることも有り得る。いずれの符号化モードで符号化したのかは、セレクタ１１４の出力信号で決定されるので、このセレクタ１１４の出力信号を符号列形成部１０９に出力する。
【００７８】
また、インデックス値符号化モードで符号化したデータを復号処理する際には、インデックス値から輝度値に変換する必要がある。そこで、インデックステーブル用メモリ１０５のデータも符号列形成部１０９に出力する。
【００７９】
符号列形成部１０９は、これらのデータに基づいて、適当なヘッダを有する符号化データを生成すれば良い。以降、符号化データのフォーマットの一例について説明することとする。
【００８０】
図９は実施形態における画像データの符号化データのデータフォーマットを示している。符号化データも先頭にはストリームヘッダがあり、ここには原画像のサイズ、タイル数等の情報が格納される。ストリームヘッダに続いて各タイル毎の符号化データが順番に並ぶことになる。
【００８１】
上記のように、１つのタイルの符号化データはＲ、Ｇ、Ｂの３つの符号化データで構成されるので、それぞれの符号化データが輝度値を用いた符号化データであるのか、インデックス値を用いた符号化データであるのかを区別しなければならない。そこで、各タイルの符号化データのヘッダ（以下、タイルヘッダという）に、３ビットの情報を含ませ、その３ビット中のビット２、ビット１、ビット０をＲ、Ｇ、Ｂそれぞれのの符号化データの種類を示す情報を割り当てた。このビットの値が“０”のとき、輝度値を用いて符号化したことを示し、“１”とした場合にはインデックス値を用いて符号化したことを示すようにした。より詳しく説明すれば、ＮＬＶ（Ｒ）＜ＭＬ、ＮＬＶ（Ｇ）＜ＭＬ、ＮＬＶ（Ｂ）＜ＭＬを、タイルヘッダのビット２、ビット１、ビット０に反映させ、それぞれの条件を満たす場合に“１”、満たさない場合に“０”をセットする。
【００８２】
なお、タイルヘッダには、これ以外にも情報を含ませることが可能であるが、ここではこの３ビットのみが格納されるものとする。従って、タイルヘッダに格納される値は０〜７範囲の値を取り得ることになる。
【００８３】
図１０（ａ）、（ｂ）はタイル符号化データのフォーマットを示している。
【００８４】
同図（ａ）では、タイルヘッダの値が０であるので、全色成分とも輝度値を用いた符号化データであることを示すことになる。
【００８５】
一方、同図（ｂ）は、タイルヘッダが１乃至７の値を持つので、ＲＧＢの各成分のうち、少なくとも１つの成分がインデックス値を用いた符号化データであることを示している。また、インデックス値を用いた符号化データが含まれるので、図示のように変換テーブル情報（インデックステーブル用メモリ１０５に格納された情報で、例えば、図５参照）を有することになる。図示の「インデックス変換テーブル情報」には、３ビットのビット２、１、０の順番で“１”となっているビットに対応する色成分の変換テーブルが、このビット位置の順番に並んで格納されることになる。
【００８６】
符号化データストリームにおける「インデックス変換テーブル」の生成は、次のようにした。
【００８７】
注目タイル内での出現したＲ成分の輝度値が０、１、２、…２５５の全輝度値が出現し、Ｇ成分の出現輝度値が０、１２８、２５５の３種類、Ｂ成分の輝度値が０、５０、１００、１２８、１９２の５種類であったとする。この場合、ＮＬＶ（Ｒ）＝２５５、ＮＬＶ（Ｇ）＝３、ＮＬＶ（Ｂ）＝５となる。今、閾値ＭＬ＝３２であった場合を説明する。
【００８８】
このとき、Ｒ成分の出現レベル数ＮＬＶ（Ｒ）（＝２５５）は閾値ＭＬ（＝３２）以上であるので、インデックス値を用いた符号化が行われないので、「インデックス変換テーブル情報」にはそのため情報は含まれない。つまり、タイルヘッダのビット２、１、０のビット情報をこの順番に示すと“０”、“１”、“１”となり、値として“３”となる。
【００８９】
一方、Ｇ成分、Ｂ成分の出現レベル数ＮＬＶ（Ｇ）、ＮＬＶ（Ｂ）は共に閾値ＭＬ未満であるので、その出現した輝度値を低輝度〜高輝度にむかうように並べて出力する。ただし、各色成分のデータの間には“０”を区切り子として挿入するものとする。
【００９０】
上記の場合、符号化データストリームにおける「インデックス変換テーブル」に格納される値は、
０、１２８、２５５、０、０、５０、１００、１２８、１９２、０
となる。
【００９１】
復号側（後述する）では、タイルヘッダの３ビットのビット２が“０”であり、ビット１、ビット０が共に“１”であるので、受信した符号化データストリームにおける「インデックス変換テーブル」には、Ｒ成分の輝度値は存在せず、Ｇ、Ｂ成分のインデックス変換テーブルを構成する輝度値のみが存在することがわかる。
【００９２】
従って、４番目と１０番目のデータ“０”が区切り子として判定され、
Ｇ成分の輝度値０、１２８、２５５
Ｂ成分の輝度値０、５０、１００、１２８、１９２を得ることができる。
【００９３】
実施形態の場合、インデックス値は、小さい輝度値から高い輝度値に向けて、“０”を初期値として割り当てているので、（インデックス値、輝度値）として対応させると、
Ｇ成分では（０、０）、（１、１２８）、（２、２５５）のインデックス逆変換テーブルを生成することが可能となる。
【００９４】
また、Ｂ成分では、（０、０）、（１、５０）、（２、１００）、（３、１２８）、（４、１９２）を得ることができるようになる。
【００９５】
以上実施形態における画像符号化装置について説明したが、本装置の全体の処理手順を示せば、図１１のフローチャートのようになる。以下、同図に従って説明する。
【００９６】
先ず、ステップＳ２１において、符号化対象の原画像から１ストライプ分の画像データ（Ｗ×Ｔｈのサイズの画像データ）をラインバッファ１０１に格納する（図１参照）。次いで、ステップＳ２２で、ラインバッファ１０１から１タイル分の画像データ（Ｔｗ×Ｔｈサイズの画像データ）を取り出し、それをタイルバッファ１０３に格納する。
【００９７】
ステップＳ２３では、タイルバッファ１０３に格納された画像データ中のＲ成分に着目し、何種類のＲ成分の輝度値が存在したかを示す出現レベル数ＮＬＶ（Ｒ）及び出現した輝度値を示すフラグ配列Ｆ（ｉ）（ｉ＝０、１、…２５５）を算出する。そして、ステップＳ２４では、これらの情報に基づきインデックステーブルＩＤＸ（ｉ）を作成し、その結果をインデックステーブル用メモリ１０５に格納する。
【００９８】
次に、処理はステップＳ２５に進み、Ｒ成分の出現レベル数ＮＬＶ（Ｒ）と閾値ＭＬとの関係が、ＮＬＶ（Ｒ）≧ＭＬを満たしているかを判定する。
【００９９】
このＮＬＶ（Ｒ）≧ＭＬの関係を満たしていると判定した場合には、注目タイルのＲ成分は離散的ではないと判定し、注目タイルのＲ成分については輝度値を用いて符号化を行う（ステップＳ２７）。また、ＮＬＶ（Ｒ）＜ＭＬであった場合には、注目タイルのＲ成分は離散的であると判定し、Ｒ成分値をインデックス値に変換し、その変換結果に対して符号化を行う（ステップＳ２６）。
【０１００】
以上の結果、注目タイルのＲ成分の符号化が行われることになるが、ステップＳ２８ではＧ成分についての符号化処理、ステップＳ２９ではＢ成分についての符号化処理を行う。このステップＳ２８、２９の処理は、処理対象の成分が異なるだけで、Ｒ成分の処理内容であるステップＳ２３〜Ｓ２７と同じである。
【０１０１】
ステップＳ３０では、注目タイルがラインバッファ１０１に格納した最後のタイルであったか否かを判断する。否の場合には、次のタイルに対する処理を行うべく、ステップＳ２２以降の処理を行う。また、注目タイルがラインバッファ１０１に格納した最後のタイルであったと判断した場合には、ステップＳ３１にて、最終ストライプの処理であったか否かを判断し、否の場合には次のストライプについてステップＳ２１以降の処理を繰り返すことになる。
【０１０２】
＜復号装置の説明＞
次に、実施形態における復号装置の構成を図１２に示し、以下にその動作を説明する。
【０１０３】
通常、復号処理は、符号化処理を表裏の関係にあるので、符号化処理についての説明で復号処理についても説明したこととなるものであるが、一応その構成と動さについて説明する。図１２は、実施形態における復号装置のブロック構成図である。
【０１０４】
入力端子１２１０から図９に示すようなフォーマットの符号化ストリームをタイル符号化データを単位に入力するものとする。
【０１０５】
入力したタイルデータのうち、タイルヘッダ及びインデックス変換テーブル情報（もしあれば）については、タイルヘッダ解析部１２０９へ供給され、各色成分の符号化データはタイルデータ復号部１２０２に供給される。
【０１０６】
タイルヘッダ解析部１２０９は、入力したタイルヘッダの３ビットで表わされる値が“０”である場合には、１タイル分の全色成分の復号処理が完了するまでの間、スイッチ１２０３を出力端子ｂ側に切り変え、逆インデックス変換部１２０５を介在させないようにする。
【０１０７】
従って、タイルデータ復号部１２０２では、タイルヘッダに後続するＲ、Ｇ、Ｂの各符号化データを復号処理した復号結果を、タイルバッファ１２０５にダイレクトに格納することになる。タイル合成部１２０７は１つのタイルの全色成分の復号処理が終わったところで、ラインバッファ１２０８に出力する処理を行う。このタイルバッファ１２０５、タイル合成部１２０７、ラインバッファ１２０８は、ちょうど、図１におけるラインバッファ１０１、タイル分割部、タイルバッファ１０３の逆の処理であると言えば分かりやすい。
【０１０８】
一方、入力したタイルヘッダの３ビットのうち、少なくとも１つのビットが“１”である場合の処理は次の通りである。
【０１０９】
タイルデータ復号部１２０２はＲ、Ｇ、Ｂの成分の順に復号処理を行うから、それと同期して、タイルヘッダの３ビットのビット２、ビット１、ビット０の順番に“１”となっているか否かを判断し、該当するビットが“１”となっていたら、スイッチ１２０３を出力端子ａ側に切り替えると共に、インデックステーブル用メモリ１２０４に該当する色成分用のインデックステーブルを生成し、格納する。また、ビットが“０”の場合、その成分の符号化データはインデックス値ではなく、輝度値を用いて符号化されたことを意味するので、スイッチ１２０３を出力ｂ側に切り換える。
【０１１０】
インデックステーブル用メモリ１２０４に格納するデータ形式は、図１３に示すような形式となる。つまり、入力値→輝度値に変換するため、インデックス値に対して、各色成分のＲＧＢの実際の輝度値を格納したものとなる。
【０１１１】
逆インデックス変換部１２０５は、復号した値がインデックス値であるとし、その際にインデックステーブル用メモリ１２０４に格納されたインデックス値から輝度値に変換し、その結果をタイルバッファ１２０５に出力する。
【０１１２】
図１４は、復号処理の全体の処理手順を示すフローチャートである。以下、同図に従って復号処理を説明する。なお、説明に先立ち、符号化データストリームのヘッダには、水平方向に幾つのタイルが存在し、画像は幾つのストライプで構成されているかを示す情報が格納されているものとする。
【０１１３】
先ず、ステップＳ４１では、１タイル分の符号化データを入力する。
【０１１４】
ステップＳ４２では、タイルヘッダのビット２が“１”か“０”か、すなわち、ＮＬＶ（Ｒ）≧ＭＬであったか否かを判断する。ビット２が“０”であると判断した場合、注目タイルのＲ成分は輝度値に基づく符号化が行われたことを示すので、ステップＳ４６でスイッチ１２０３を“ｂ”に切り換え、ステップＳ４７で復号処理を行わせる。この結果、Ｒ成分の復号結果はＲ成分の輝度値まで復号されたことになり、タイルバッファ１２０６には注目タイルのＲ成分の輝度値が格納されることになる。
【０１１５】
一方、ステップＳ４２で、タイルヘッダのビット２が“１”であったと判断した場合には、注目タイルのＲ成分はインデックス値に基づく符号化が行われたことを示すので、ステップＳ４３でスイッチ１２０３を“ａ”に切り換えると共に、インデックス値→輝度値変換用のテーブルを作成し、それをインデックステーブル用メモリ１２０４に格納する。そして、ステップＳ４４にてインデックス値に復号する。そして、ステップＳ４５にて、インデックス値を輝度値に変換し、タイルバッファ１２０６に格納する。
【０１１６】
続く、ステップＳ４８、Ｓ４９ではＧ成分の復号処理、Ｂ成分の復号処理を行う。これらの処理は、ステップＳ４２乃至Ｓ４７と同じである。異なる点は、Ｇ成分の復号処理のステップＳ４２に相当する判定処理ではタイルヘッダのビット１の状態を判定し、Ｂ成分ではビット０の状態を判定する点である。
【０１１７】
ステップＳ４９の処理を終えると注目タイルの全色成分がタイルバッファ１２０５に格納されていることになるので、続くステップＳ５０ではタイルバッファ１２０５に格納されたＲ、Ｇ、Ｂの各輝度データを、１画素がＲ、Ｇ、Ｂ形式のデータなるよう読出し、それをラインバッファ１２０８中の該当するタイル位置に出力する。
【０１１８】
ステップＳ５１では、ストライプの最終タイルの処理を終えたか否かを判断し、否の場合には、ステップＳ４１以降の処理を繰り返す。
【０１１９】
また、１ストライプ分の復号画像がラインバッファ１２０８に格納されたと判断した場合には、ステップＳ５２にて、ラインバッファ１２０８に格納された１ストライプ分の画像データを出力する。そして、ステップＳ５３にて最終ストライプの画像出力が完了したと判断するまで上記処理を繰り返す。
【０１２０】
以上説明したように、本実施形態によれば、画像データを複数の小領域であるブロック（実施形態ではタイル）に分割し、小領域ごとに各色成分の出現レベル数をカウントして、所定の出現レベル数以下である場合についてはインデクス値に変換してから予測符号化を適用する。この処理により、ＣＧ画像に見られるようなまばらな頻度分布を持つ画像データに対してはインデクスに置き換えることによって、あたかも密集した頻度分布へと変換して符号化されることになり、符号化効率を改善することができる。また、この処理を所定の出現レベル数以下の場合にのみ適用することでインデクス変換テーブル付加による符号量の増加を抑え、頻度分布に極端な偏りのない自然画像を符号化する場合の悪影響を避けることが可能である。
【０１２１】
そして、デジタルカメラ等で撮像した自然画については、これまでと同様の符号化効率を維持することも可能になる。
【０１２２】
＜変形例の説明＞
上記実施形態では、符号化装置の構成を図１、復号装置の構成を図１２に示して説明したが、コンピュータプログラムによって実現しても良い。コンピュータプログラムで実現する場合、例えば図１における、ラインバッファ、タイルバッファはＲＡＭに確保される配列変数で構成できるし、タイル分割部１０２、出現レベル数カウント部１０４をはじめとする各処理部はそれぞれ該当する処理を行うサブルーチンや関数プログラムで実現できる。図１２についても同様である。
【０１２３】
この場合の装置構成は、図１５に示す構成で良い。同図は、パーソナルコンピュータ等の汎用情報処理装置のブロック構成図でもある。同図において、１４０１は装置全体の制御を司るＣＰＵであり、１４０２はＣＰＵ１４０１のワークエリアとして用いられるＲＡＭである。１４０３はブートプログラム及びＢＩＯＳを記憶するＲＯＭであり、１４０４はキーボード、１４０５はマウス（登録商標）等のポインティングデバイス、１４０６は表示装置である。１４０７はハードディスク等の外部記憶装置であり、ここにＯＳ、画像符号化、復号処理のアプリケーション（実施形態で説明した図１、図１２に相当するアプリケーションプログラム）、並びに、各種画像ファイル等が記憶されることになる。１４０８は記憶媒体ドライブであり、ＣＤＲＯＭ等のコンピュータ可読記憶媒体をアクセスするためのものである。１４０９は外部装置と通信するためのインタフェースであり、例えば、ネットワークインタフェース、ＳＣＳＩ、ＵＳＢ等のインタフェースである。
【０１２４】
この装置で画像データを符号化する場合の符号化対象の画像、アプリケーションで作成して外部記憶装置に格納された画像ファイル、記憶媒体ドライブ１４０８にセットされた記憶媒体に格納された画像ファイル、インタフェース１４０９を介して受信した画像ファイルを対象とし得る。また、復号対象の画像も同様、如何なる経路で入手したものでも構わない。
【０１２５】
なお、コンピュータプログラムは、通常、ＣＤＲＯＭ等のコンピュータ可読記憶媒体に記憶されており、これを記憶媒体ドライブ１４０８等の装置にセットして、システムにコピーもしくはインストールすることで実行可能となるわけであるから、本発明はこのようなコンピュータ可読記憶媒体をもその範疇するのは明らかである。
【０１２６】
＜第２の実施形態＞
上記実施形態及び変形例では、タイル中の各色成分の出現する輝度値の離散してる度合（まばらさ）を、各色成分の出現レベル数ＮＬＶ（Ｒ）、ＮＬＶ（Ｇ）、ＮＬＶ（Ｂ）に現れるものとして説明した。すなわち、限られた輝度範囲（実施形態では８ビットとしているので０〜２５５の範囲）に出現する輝度の種類数が少ない場合、その輝度分布は輝度軸に対して離散的、換言すれば、まばらになる可能性が高くなるものとして説明した。しかしながら、必ずしも「出現レベル数が小＝離散度が高」の関係が成り立つとは言えない。
【０１２７】
図１６（ａ）、（ｂ）は、共に出現レベル数ＮＬＶ（）＝８の場合について、横軸に輝度、縦軸に出現頻度を示したヒストグラムである。図１６（ａ）は、出現する輝度値の間が適当に空いている例を、図１６（ｂ）は出現する輝度値が輝度軸に対して密集している例を示している。
【０１２８】
先に説明した実施形態での閾値ＭＬが仮に“３２”とした場合、図１６（ａ）、（ｂ）のいずれでもインデックス値を用いて符号化することになる。図１６（ａ）のような場合、出現輝度値に対して連続した整数のインデックス値が割り当てられるので、予測符号化で演算する差分値は必然的に小さなものとなり、高い符号化効率が期待できる。
【０１２９】
しかし、図１６（ｂ）のように、出現する輝度分布が、輝度軸に対して密集している場合、輝度値のまま予測符号化する場合と、インデックス値に置換えて予測符号化した場合との間での、「予測符号化処理で得られるデータ量」に大差はない。むしろ、インデックス値に変換した符号化を行う場合、「インデックス変換テーブル生成用のデータ」が符号化ストリームに追加される分だけ符号化効率が悪くなる可能性が高い。
【０１３０】
そこで、本第２の実施形態では、「離散度」を更に精度良く求めることで、この問題を解決する例を説明する。
【０１３１】
同じ出現レベル数ＮＬＶ（）＝８でも、図１６（ａ）、（ｂ）とで区別が可能とすればよい。
【０１３２】
そこで、実施形態では、演算処理を簡単なものとするため、１つのタイル内での色成分をｃ（ｃ＝Ｒ，Ｇ，Ｂのいずれか）における最大輝度Ｍax（ｃ）と最小輝度Ｍｉｎ（ｃ）を検出し、その距離「Ｍａｘ（ｃ）−Ｍｉｎ（ｃ）」を、閾値ＲＴと比較することを条件に更に追加する。
【０１３３】
つまり、
ＮＬＶ（ｃ）＜ＭＬ                    （１）
且つ、
Ｍａｘ（ｃ）−Ｍｉｎ（ｃ）＞ＲＴ      （２）
の２つの条件を満たす場合、注目色成分ｃは離散的であるものと判定し、インデックス値に変換した結果を用いて予測符号化する。そして、上記２つの条件の少なくともいずれか一方を満たさない場合には、輝度値を用いた通常の予測符号化を行う。
【０１３４】
上記の実現するためには、符号化装置の構成は、図１にかえて、図１７の構成することで実現できよう。図１７において図１と異なる点は、レンジ検出部１１５と、比較部１１６が追加された点である。
【０１３５】
レンジ検出部１１５は、出現レベル数カウント部１０４から出力されるフラグ配列Ｆ（ｉ）を入力し、“１”が格納されている最大輝度値ｉmaxと、“１”が格納されている最小輝度値ｉminを検出し、実在する輝度のレンジを示す値（＝ｉmax-ｉmin）を算出するものである。比較部１１６はこのレンジ値を閾値ＲＴと比較することで、先の条件式（２）の判定結果を符号列形成部１０９及びセレクタ１０７に出力する。
【０１３６】
セレクタは、比較部１１４と比較部１１６から、上記の条件式（１）、（２）を共に満た示す信号を受信した場合には、インデックス変換部１０５からのインデックス値を選択し、それ以外ではタイルバッファ１０３からの輝度値を選択することになる。また、符号列形成部１０９もセレクタ１０７と同様の判定を行い、その結果を符号化ストリームの各タイルヘッダの３ビットに反映させればよい。
【０１３７】
従って、本第２の実施形態における復号処理は、第１の実施形態の復号処理（図１４）と同じで良いことになる。
【０１３８】
以上説明したように本第２の実施形態によれば、タイル内の輝度値の離散度を更に精度良く判定することで、圧縮符号化効率を更に高めることが可能となる。
【０１３９】
なお、本第２の実施形態も、第１の実施形態と同様、コンピュータプログラム及びコンピュータ可読記憶媒体に適用できるのは明らかである。
【０１４０】
＜第３の実施形態＞
上記第１の実施形態、その変形例、及び、第２の実施形態では、全てのタイルを可逆符号化する例について示した。本発明はこれに限らず、圧縮率を高めるために非可逆方式と組み合わせて用いることもできる。本発明第３の実施形態としてタイルデータを可逆と非可逆の２通りの符号化方法で符号化し、符号量の少なくなる一方をタイルの符号化データとして選択する画像処理装置の例について説明する。国際標準符号化方式として勧告されるＪＰＥＧなど、自然画像を主対象とする非可逆符号化を用いて、できるだけ高画質に符号化した場合の符号量と、予測符号化をベースとする可逆符号化の符号量とを比較した場合、人工的に生成された文字・線画像、ＣＧ画像などでは可逆符号化の符号量が少なく、それ以外では非可逆符号化の符号量が少なくなる傾向にある。文字・線画部分の画質劣化は目につきやすいが、自然画像部分の劣化は比較的目立ちにくいので、符号量に基づいて方式を選択することで、高い圧縮性能と高画質の両立が期待できる。
【０１４１】
図１８は本第３の実施形態に係る画像処理装置（画像符号化装置）の構成を示すブロック図である。第１、第２の実施形態で説明した図１、および図１７と同様の機能を果たす部分については同じ番号を付与し、説明を省略する。本第３の実施形態の画像処理装置は、図１７に示した第２の実施形態の画像符号化装置に、タイル単位の非可逆符号化機能と、符号化方式選択機能を付加した構成となっている。同図において１８０１はタイルデータ非可逆符号化部、１８０２は非可逆符号量検出部、１８０３は可逆符号量検出部、１８０４は符号量比較部、１８０５はセレクタ、１８０６は符号列形成部、１８０７はタイル符号列形成部である。
【０１４２】
以下、第２の実施形態の画像符号化装置と異なる点にについて説明する。
【０１４３】
タイルデータ非可逆符号化部１８０１はタイル単位に非可逆符号化を行い、タイル非可逆符号化データを形成して出力する。本実施の形態では国際標準方式であるJPEG  Baselineを適用することとするが、JPEG2000(ITU-T  T.800|ISO/IEC  １５４４４−１)など、その他の非可逆符号化を用いても良い。
【０１４４】
非可逆符号量検出部１８０２はタイルデータ非可逆符号化部１８０１から出力されるタイル非可逆符号化データについて、タイル単位に符号量を計測し、着目するタイルの非可逆符号化データの符号量ＬＨを出力する。符号量ＬＨはタイルデータ非可逆符号化部１８０１における着目するタイルの非可逆符号化が終了した時点で出力される。
【０１４５】
一方、タイル符号列形成部１８０７は、第１の実施形態で説明した符号列形成部１０９と同様にして、図１０（ａ），（ｂ）に示す形式のタイル符号化データを形成する。第１の実施形態における符号列形成部１０９では先頭に画像のサイズやタイル数などの情報をストリームヘッダとして付加したり、それぞれのタイル符号化データを連結して最終出力形態となる符号列の形成を行ったが、本第３の実施形態におけるタイル符号列形成部１８０７は、着目するタイルについてタイル符号化データを形成して出力するまでの処理を行う。以降、タイルデータ非可逆符号化部１８０１から出力されるタイル非可逆符号化データと区別するため、タイル符号列形成部１８０７から出力される着目するタイルの符号化データを「タイル可逆符号化データ」と呼ぶ。
【０１４６】
可逆符号量検出部１８０３はタイル符号列形成部１８０７から出力されるタイル可逆符号化データについて、タイル単位に符号量を計測し、着目するタイルの可逆符号化データの符号量ＬＫを出力する。符号量ＬＫはタイル符号列形成部１８０７から着目するタイルの可逆符号化データの全て出力された時点で出力される。
【０１４７】
符号量比較部１８０４は非可逆符号量検出部１８０２から非可逆符号量ＬＨ、可逆符号量検出部１８０３から可逆符号量ＬＫを入力し、この２つを比較して比較結果を選択信号ＳＳとして出力する。ＬＫ≦ＬＨである場合、すなわち、可逆符号量が非可逆符号量と等しいか少ない場合には選択信号ＳＳとして「１」を出力し、ＬＫ＞ＬＨである場合、すなわち、可逆符号量が非可逆符号量よりも多い場合には選択信号ＳＳとして「０」を出力する。
【０１４８】
セレクタ１８０５は符号量比較部１８０４から出力される選択信号ＳＳに応じてタイルデータ非可逆符号化部１８０１で生成されるタイル非可逆符号化データとタイル符号列形成部１８０７から出力されるタイル可逆符号化データのいずれか一方を選択し、着目するタイルの符号化データとして出力する。選択信号ＳＳが「１」である場合にはタイル可逆符号化データを選択し、選択信号ＳＳが「０」である場合にはタイル非可逆符号化データを選択する。セレクタ１８０５は不図示のバッファを備えるものとし、タイルデータ非可逆符号化部１８０１で生成されるタイル非可逆符号化データ、およびタイル符号列形成部１８０７から出力されるタイル可逆符号化データを適宜格納できるものとする。
【０１４９】
符号列形成部１８０６はセレクタ１８０５から出力されるタイル単位の可逆または非可逆の符号化データに必要な情報を付加して、本装置の最終出力となる符号列を形成し、装置外部に出力する。
【０１５０】
第１の実施形態の画像出力装置から出力される符号化データのフォーマットの一例として図９を示し、タイル符号化データを図１０（ａ）、（ｂ）に示した。本第３の実施の形態においても同様のデータフォーマットの符号化データを形成することができる。
【０１５１】
図１９（ａ），（ｂ）は本第３の実施形態におけるタイル符号化データの構成を示す図である。復号側で正しく復号方法を選択できるように、タイル符号化データの先頭に符号量比較部１８０４から出力される選択信号ＳＳを付加する。つまり、本第３の実施形態では、図１０（ａ）、（ｂ）で示したタイルヘッダの先頭３ビットに１ビットを加えた計４ビットで構成する。説明を簡単なものとするため、タイルヘッダの４ビット中、ビット０乃至２の３ビットは第１の実施形態で示した識別情報に利用し、ビット３の１ビット（最上位ビット）に選択信号ＳＳを付加するものとする。
【０１５２】
以上本第３の実施形態における画像符号化装置について説明したが、本装置の全体の処理手順を示せば、図２０のフローチャートのようになる。第１の実施形態の処理手順として説明した図１１と共通する処理ステップについては同じ番号を付した。以下、本第３の実施形態の特徴となる処理手順について説明する。
【０１５３】
本実施形態の画像符号化装置ではステップＳ２２にて１タイル分の画像データを取り出した後、ステップＳ２３からステップＳ２９までの処理で行われる可逆符号化処理と並列して、タイルデータ非可逆符号化部１８０１による非可逆符号化が行われる（ステップＳ２００１）。ステップＳ２３からステップＳ２９までの可逆符号化処理とステップＳ２００１の非可逆符号化処理は並列に処理しても良いし、順番に行っても良い。着目するタイルについて可逆符号化処理（ステップＳ２３からステップＳ２９）と非可逆符号化処理（ステップＳ２００１）の両方が終了すると、タイルデータ非可逆符号化部１８０１により生成されたタイル非可逆符号化データの符号量ＬＨは非可逆符号量検出部１８０２によりカウントされ、タイル符号列形成部１８０７から出力されるタイル可逆符号化データの符号量ＬＫは可逆符号量検出部１８０３によりカウントされる。そこで、これらを符号量比較部１８０４で比較し、セレクタ１８０５で符号量の小さい方を選択して、符号列形成部１８０６で符号列に組み込む（ステップＳ２００２）。上記のタイル符号化処理を画像の全てのタイルに実施することにより符号化処理を行う。
【０１５４】
次に、第３の実施形態に適用する復号装置の構成を図２１に示し、以下にその動作を説明する。 第１の実施形態で説明した図１２の復号装置と同様の機能を果たすブロックについては同じ番号を付し、説明を省略する。同図において２１０１はスイッチ、２１０２はタイルデータ非可逆復号部、２１０３はタイルヘッダ解析部である。
【０１５５】
タイルヘッダ解析部２１０３は、入力したタイルヘッダの４ビットのビット３が“０”である場合には１タイル分の全色成分の復号処理が完了するまでの間、スイッチ２１０１を出力端子ｄ側に切り替え、タイルデータの復号処理をタイルデータ非可逆復号部２１０２で実施させるようにし、“１”である場合には、タイルデータ復号部１２０２で復号するため出力端子ｃに切り替える。また、“１”である場合には、それに続く３ビットのデータに基づいて第１の実施形態で説明したタイルヘッダ解析部１２０９と同様にスイッチ１２０３を切り替え、逆インデックス変換部１２０５を介在させるか否かを制御する。
【０１５６】
タイルデータ非可逆復号部２１０２ではタイルデータ非可逆符号化部１８０１と対をなす処理により、タイル非可逆符号化データからタイルデータを復号し、タイルバッファ１２０６に格納する。
【０１５７】
図２２は、復号処理の全体の処理手順を示すフローチャートである。第１の実施形態で説明した図１４の復号処理と同様の処理手順については同じ番号を付し、説明を省略する。
【０１５８】
ステップＳ４１により１タイル分の符号化データが入力されると、ステップＳ２２０１ではタイルヘッダ解析部２１０３においてタイルヘッダの解析が行われ、タイルヘッダの先頭ビット（ビット３）が“１”である場合にはステップＳ４２からステップ４９までの処理によりタイル可逆符号化データからタイルデータの復号処理を行うようスイッチ２１０１を出力端子ｃに切り替える。一方、“０”である場合にはステップＳ２２０２の処理によりタイル非可逆符号化データからタイルデータの復号処理を行うようスイッチ２１０１を出力端子ｄに切り替える。
【０１５９】
ステップＳ２２０２ではタイルデータ非可逆復号部２１０２により、タイル非可逆符号化データから着目するタイルのデータを復号し、タイルバッファ１２０６に格納する。
【０１６０】
以上、説明したように、本第３の実施形態によれば、画像データを複数の小領域であるブロック（実施形態ではタイル）に分割し、小領域ごとに各色成分の出現レベル数をカウントして、所定の出現レベル数以下である場合についてはインデクス値に変換してから予測符号化を適用し、所定の出現レベル数以上である場合にはそのまま予測符号化を適用することで可逆符号化する。また、この処理とは別に、ブロックを非可逆符号化し、可逆と非可逆の符号量を比較し、符号量の少なくなる一方を選択して符号列を形成する。画質劣化の見えにくい自然画部分を非可逆符号化して圧縮性能を向上し、画質劣化の目につきやすい文字・線画部分を可逆符号化するといったように適切に符号化方式を切り替えることで高圧縮と高画質の両立を狙うことができるが、文字・線画、ＣＧ画像部分の可逆符号量を改善することで、これらの個所が非可逆符号化される可能性が低減され、より精度の高い切り替えが実現できる。
【０１６１】
本実施形態として説明した画像符号化装置、画像復号装置は、例えば、プリンタコントローラ内部でＰＤＬから生成されたラスター画像の圧縮／伸張用に好適である。
【０１６２】
なお、本第３の実施形態も、第１の実施形態と同様、コンピュータプログラム及びコンピュータ可読記憶媒体に適用できるのは明らかである。
【０１６３】
以上、実施形態を説明したが、本発明は上記実施形態に限定されるものではない。例えば、符号化対象画素値の予測方法として注目データの直前のデータを予測値として用いても良いし、幾つかの予測方法を用意して、適時切り換えても構わない。
【０１６４】
また、ここではエントロピ符号化としてハフマン符号化を用いる例を示したが、Ｇｏｌｏｍｂ−Ｒｉｃｅ符号化など、その他のブロック符号や、静的な確率モデルを用いた算術符号化を用いも良い。さらに、ランレングス符号化と予測符号化を適応的に切り替える符号化方式などを用いても良い。
【０１６５】
また、インデクス変換の方法についても上述した実施の形態に限定されるものではない。例えば、上記各実施形態では、全輝度レベルについて出現／未出現を判定するためのフラグ配列を備え、そのフラグ配列に基づいてインデクス変換テーブルを生成したが、インデクス値への変換と符号列に含める変換テーブル情報を生成する方法であれば良く、例えば、タイルの１コンポーネントの輝度レベル値をラスタースキャン順に調べて、初めて出てきた値だけをソートしながらメモリやレジスタ配列に格納することで、直接変換テーブル情報を生成しても良い。
【０１６６】
また、第２の実施形態では、離散的な度合を求める他の手法として、実在したＭａｘ（ｃ）と最小輝度Ｍｉｎ（ｃ）の差「Ｍａｘ（ｃ）−Ｍｉｎ（ｃ）」をＮＬＶ（ｃ）で除算することで実在する輝度間の平均距離を求め、これを適当な閾値と比較し、その平均距離が閾値より大きい場合にはインデックス値に基づく符号化、平均距離が閾値以上の場合には輝度値を用いた通常の符号化を行うようにしてもよい。また、場合によっては、フラグ配列Ｆ（ｃ，０）からＦ（ｃ，２５５）までを順に調べ、０から１への変化点の個数により分布状況を判定するなどしても良い。
【０１６７】
また、実施形態では、１画素がＲ、Ｇ、Ｂの色成分で、各成分が８ビットで表わされる例を説明したが、これによって本発明は限定されないのは明らかである。例えば、ＹＭＣ色空間でも良いし、ＹＣｂＣｒでも構わない。また、カラー画像に限らず、モノクログレイスケールの画像でも構わない。
【０１６８】
また、実施形態では、符号化対象となる原画像の水平方向及び垂直方向のそれぞれのサイズが、タイルの水平方向、及び垂直方向のサイズの整数倍であるものとして説明したが、これは便宜的なものであり、必ずしも整数倍である必要はない。端部で完全なタイルサイズとならない場合、そのサイズに従って処理すればよいし、ヘッダ等にその情報を含ませておけば、復号する側でも端部のタイルでの処理を正常できできるであろう。
【図面の簡単な説明】
【０１６９】
【図１】第１の実施形態における画像符号化装置のブロック構成図である。
【図２】出現レベル数カウント部の処理内容を示すフローチャートである。
【図３】出現レベル数カウント部で生成されるフラグ配列の例を示す図である。
【図４】インデックステーブル生成部の処理内容を示すフローチャートである。
【図５】インデックステーブルの一例を示す図である。
【図６】タイルデータ予測符号化部の構成を示す図である。
【図７】図６におけるバッファ２０１の構造の一例を示す図である。
【図８】図６のメモリ２０４に格納されるハフマンテーブルを示す図である。
【図９】実施形態における画像符号化装置で生成される符号化データのフォーマットを示す図である。
【図１０】タイル毎の符号化データのフォーマットの種類を示す図である。
【図１１】本実施形態に係る画像符号化装置の全体の処理手順を示すフローチャートである。
【図１２】第１の実施形態における復号装置のブロック構成図である。
【図１３】図１２のインデックステーブル用メモリ１２０４に格納されるテーブルフォーマットを示す図である。
【図１４】第１の実施形態における復号装置の処理手順を示すフローチャートである。
【図１５】第１の実施形態の機能をコンピュータプログラムで実現する場合の装置構成を示す図である。
【図１６】第２の実施形態における課題を説明するための輝度茅野度数分布の例を示す図である。
【図１７】第２の実施形態における画像符号化装置のブロック構成図である。
【図１８】第３の実施形態における画像符号化装置のブロック構成図である。
【図１９】第３の実施形態におけるタイル毎の符号化データのフォーマットの種類を示す図である。
【図２０】第３の実施形態における画像符号化装置の全体の処理手順を示すフローチャートである。
【図２１】第３の実施形態における復号装置のブロック構成図である。
【図２２】第３の実施形態における復号装置の処理手順を示すフローチャートである。
【図１】
2005348390.tif 000003
【図２】
2005348390.tif 000004
【図３】
2005348390.tif 000005
【図４】
2005348390.tif 000006
【図５】
2005348390.tif 000007
【図６】
2005348390.tif 000008
【図７】
2005348390.tif 000009
【図８】
2005348390.tif 000010
【図９】
2005348390.tif 000011
【図１０】
2005348390.tif 000012
【図１１】
2005348390.tif 000013
【図１２】
2005348390.tif 000014
【図１３】
2005348390.tif 000015
【図１４】
2005348390.tif 000016
【図１５】
2005348390.tif 000017
【図１６】
2005348390.tif 000018
【図１７】
2005348390.tif 000019
【図１８】
2005348390.tif 000020
【図１９】
2005348390.tif 000021
【図２０】
2005348390.tif 000022
【図２１】
2005348390.tif 000023
【図２２】
2005348390.tif 000024