(57)【特許請求の範囲】
【請求項１】
撮像素子から出力される画像データをブロック単位に分割する画像データ分割手段と、上記画像データ分割手段により分割された画像データが示す各画素の階調レベルを参照して、各ブロックにおける階調レベルの最大値及び最小値を検出する信号レベル範囲検出手段と、上記信号レベル範囲検出手段により検出された最大値及び最小値を用いて、各ブロックにおける各画素の階調レベルを量子化して符号化データを作成する符号化手段とを備えた画像符号化装置において、上記符号化手段は、予め用意されている複数のデータ量子化方法に対応するものとして、上記信号レベル範囲検出手段により検出された最大値及び最小値から各ブロックにおける階調レベルの基準レベル及び変動幅を算出する複数の符号化準備手段と、上記符号化準備手段により算出された基準レベル及び変動幅から各ブロックにおける階調レベルの量子化閾値を算出するとともに、その基準レベル及び変動幅から、量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベルを算出する複数の量子化閾値算出手段と、各ブロックにおける各画素の階調レベルと上記量子化閾値算出手段により算出された量子化閾値を比較して、各画素の階調レベルに対応する固有の符号を特定し、その固有の符号を量子化データとして各画素に割り当てる複数の量子化手段と、上記量子化閾値算出手段により算出された固有の符号が復号化された場合の各画素の階調レベルと上記量子化手段により量子化データが割り当てられる前の各画素の階調レベルとの誤差の絶対値をブロック毎に積算する複数の量子化誤差積算手段とを備えているとともに、ブロック毎に、上記複数の量子化手段により割り当てられた量子化データのうち、上記量子化誤差積算手段により積算された誤差の絶対値が許容閾値を超えない条件の下で、データ量が最も少ない量子化データを選択し、上記量子化データ、上記量子化データに係る量子化方法を示す方法識別情報、及び上記符号化準備手段により算出された基準レベル及び変動幅からなる符号化データを作成する符号化データ作成手段を備え、上記符号化データ作成手段は、画像１フレーム当りの目標符号量と、処理済のブロックの積算符号量と、未処理のブロックの数とから、上記未処理のブロックの１ブロック当りの目標符号量を算出し、上記未処理のブロックの１ブロック当りの目標符号量から許容閾値を決定することを特徴とする画像符号化装置。
【請求項２】
撮像素子から出力される画像データをブロック単位に分割する画像データ分割手段と、上記画像データ分割手段により分割された画像データが示す各画素の階調レベルを参照して、各ブロックにおける階調レベルの最大値及び最小値を検出する信号レベル範囲検出手段と、上記信号レベル範囲検出手段により検出された最大値及び最小値を用いて、各ブロックにおける各画素の階調レベルを量子化して符号化データを作成する符号化手段とを備えた画像符号化装置において、上記符号化手段は、予め用意されている複数のデータ量子化方法に対応するものとして、上記信号レベル範囲検出手段により検出された最大値及び最小値から各ブロックにおける階調レベルの基準レベル及び変動幅を算出する複数の符号化準備手段と、上記符号化準備手段により算出された基準レベル及び変動幅から各ブロックにおける階調レベルの量子化閾値を算出するとともに、その基準レベル及び変動幅から、量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベルを算出する複数の量子化閾値算出手段と、各ブロックにおける各画素の階調レベルと上記量子化閾値算出手段により算出された量子化閾値を比較して、各画素の階調レベルに対応する固有の符号を特定し、その固有の符号を量子化データとして各画素に割り当てる複数の量子化手段と、上記量子化閾値算出手段により算出された固有の符号が復号化された場合の各画素の階調レベルと上記量子化手段により量子化データが割り当てられる前の各画素の階調レベルとの誤差の絶対値をブロック毎に積算する複数の量子化誤差積算手段とを備えているとともに、ブロック毎に、上記複数の量子化手段により割り当てられた量子化データのうち、上記量子化誤差積算手段により積算された誤差の絶対値が許容閾値を超えない条件の下で、データ量が最も少ない量子化データを選択し、上記量子化データ、上記量子化データに係る量子化方法を示す方法識別情報、及び上記符号化準備手段により算出された基準レベル及び変動幅からなる符号化データを作成する符号化データ作成手段を備え、上記符号化データ作成手段は、外部から指定された特定のブロックについては、上記量子化誤差積算手段により積算された誤差の絶対値に関わらず、所定のデータ量子化方法に対応する上記量子化手段により割り当てられた量子化データを選択することを特徴とする画像符号化装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、撮像素子から出力される画像データが示す各画素の階調レベルを量子化して符号化データを作成する画像符号化装置と、画像符号化装置から出力された符号化データを復号化して画像データを作成する画像復号化装置とに関するものである。
【背景技術】
【０００２】
ＦＢＴＣ符号化方式の画像符号化装置では、画像をＭ×Ｎ（Ｍ、Ｎは自然数）のブロックに分割し、それぞれのブロックに関して、ブロック内の画素値が平均された画素基準レベルＬＡと、画素値の最大値と最小値の差違を示す画素値変動幅ＬＤを求めるようにしている。
そして、画素基準レベルＬＡと画素値変動幅ＬＤから各画素の画素値を量子化する際の量子化閾値を算出し、各画素の画素値を量子化閾値と比較して、各画素の画素値を量子化値に変換することで画像の圧縮を行うようにしている。
【０００３】
例えば、以下の特許文献１には、ブロック毎に量子化閾値を求める際の内分比率を可変化し、外部から内分比率を指定できるようにしている構成が開示されている。
また、ブロック毎に内分比率を選択し、その内分比率を示す情報を付加情報として符号化する場合の構成についても開示されている。
さらに、ブロック毎に、画像データの分布にしたがって内分比率を選択する構成についても開示されている。
【０００４】
ただし、以下の特許文献１に開示されている画像符号化装置では、各ブロックの符号化サイズが固定されている。
これはＦＢＴＣ符号化方式の特徴の一つであるが、一般的な画像の特性では、画素値の変動が少ない情報量が小さい領域と、画素値の変動が大きい情報量が多い領域とが混在している。
このため、画像全体が同一の符号化サイズで固定されていると、情報量が多い領域と少ない領域で画質の差違が大きくなることがある。
【０００５】
また、伸張後の画像において、カメラ画像等の自然画領域と、地図や図面等の領域とが混在している場合にも、自然画領域は、含まれる情報量が大きいため画質の劣化が大きくなる一方、図面領域は、画質の劣化が小さくなる。
このため、表示画像全体として、画質の一貫性が保てなくなることがある。
【０００６】
【特許文献１】特開平６−２９２０２７号公報（段落番号［００１５］から［００１６］、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
従来の画像符号化装置は以上のように構成されているので、画像全体が同一の符号化サイズで固定されており、画素値の変動が少ない情報量が小さい領域と、画素値の変動が大きい情報量が多い領域とが混在している画像の場合、情報量が多い領域と少ない領域で画質の差違が大きくなることがある課題があった。
【０００８】
この発明は上記のような課題を解決するためになされたもので、符号化効率の向上と画像全体の画質の向上を図ることができる画像符号化装置を得ることを目的とする。
また、この発明は、画像全体で画質の差違が少ない均質な画像を生成することができる画像復号化装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係る画像符号化装置は、予め用意されている複数のデータ量子化方法に対応するものとして、信号レベル範囲検出手段により検出された最大値及び最小値から各ブロックにおける階調レベルの基準レベル及び変動幅を算出する複数の符号化準備手段と、符号化準備手段により算出された基準レベル及び変動幅から各ブロックにおける階調レベルの量子化閾値を算出するとともに、その基準レベル及び変動幅から、量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベルを算出する複数の量子化閾値算出手段と、各ブロックにおける各画素の階調レベルと量子化閾値算出手段により算出された量子化閾値を比較して、各画素の階調レベルに対応する固有の符号を特定し、その固有の符号を量子化データとして各画素に割り当てる複数の量子化手段と、量子化閾値算出手段により算出された固有の符号が復号化された場合の各画素の階調レベルと量子化手段により量子化データが割り当てられる前の各画素の階調レベルとの誤差の絶対値をブロック毎に積算する複数の量子化誤差積算手段とを備えているとともに、ブロック毎に、複数の量子化手段により割り当てられた量子化データのうち、量子化誤差積算手段により積算された誤差の絶対値が許容閾値を超えない条件の下で、データ量が最も少ない量子化データを選択し、その量子化データ、その量子化データに係る量子化方法を示す方法識別情報、及び符号化準備手段により算出された基準レベル及び変動幅からなる符号化データを作成する符号化データ作成手段を備え、符号化データ作成手段は、画像１フレーム当りの目標符号量と、処理済のブロックの積算符号量と、未処理のブロックの数とから、未処理のブロックの１ブロック当りの目標符号量を算出し、未処理のブロックの１ブロック当りの目標符号量から許容閾値を決定することを特徴とするものである。
【発明の効果】
【００１０】
この発明によれば、予め用意されている複数のデータ量子化方法に対応するものとして、信号レベル範囲検出手段により検出された最大値及び最小値から各ブロックにおける階調レベルの基準レベル及び変動幅を算出する複数の符号化準備手段と、符号化準備手段により算出された基準レベル及び変動幅から各ブロックにおける階調レベルの量子化閾値を算出するとともに、その基準レベル及び変動幅から、量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベルを算出する複数の量子化閾値算出手段と、各ブロックにおける各画素の階調レベルと量子化閾値算出手段により算出された量子化閾値を比較して、各画素の階調レベルに対応する固有の符号を特定し、その固有の符号を量子化データとして各画素に割り当てる複数の量子化手段と、量子化閾値算出手段により算出された固有の符号が復号化された場合の各画素の階調レベルと量子化手段により量子化データが割り当てられる前の各画素の階調レベルとの誤差の絶対値をブロック毎に積算する複数の量子化誤差積算手段とを備えているとともに、ブロック毎に、複数の量子化手段により割り当てられた量子化データのうち、量子化誤差積算手段により積算された誤差の絶対値が許容閾値を超えない条件の下で、データ量が最も少ない量子化データを選択し、量子化データ、量子化データに係る量子化方法を示す方法識別情報、及び符号化準備手段により算出された基準レベル及び変動幅からなる符号化データを作成する符号化データ作成手段を備え、符号化データ作成手段は、画像１フレーム当りの目標符号量と、処理済のブロックの積算符号量と、未処理のブロックの数とから、未処理のブロックの１ブロック当りの目標符号量を算出し、未処理のブロックの１ブロック当りの目標符号量から許容閾値を決定することを特徴とするように構成したので、符号化効率の向上と画像全体の画質の向上を図ることができる効果がある。
【発明を実施するための最良の形態】
【００１１】
実施の形態１．
図１はこの発明の実施の形態１による画像符号化装置を示す構成図であり、図において、画像データ分割部１は撮像素子から出力される画像データをＭ×Ｎ（Ｍ、Ｎは自然数）のブロックに分割する処理を実施する。なお、画像データ分割部１は画像データ分割手段を構成している。
信号レベル範囲検出部２は画像データ分割部１により分割された画像データが示す各画素の階調レベルＸｉｊ（例えば、１≦ｉ≦４，１≦ｊ≦４）を参照して、各ブロックにおける階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎを検出する処理を実施する。なお、信号レベル範囲検出部２は信号レベル範囲検出手段を構成している。
【００１２】
符号化部３は信号レベル範囲検出部２により検出された各ブロックにおける階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎを用いて、各ブロックにおける各画素の階調レベルを量子化して符号化データを作成する処理を実施する。なお、符号化部３は符号化手段を構成している。
量子化部４ａは予め用意されているデータ量子化方法ａで、各ブロックにおける各画素の階調レベルを量子化する処理を実施する。
量子化部４ｂは予め用意されているデータ量子化方法ｂで、各ブロックにおける各画素の階調レベルを量子化する処理を実施する。
量子化部４ｃは予め用意されているデータ量子化方法ｃで、各ブロックにおける各画素の階調レベルを量子化する処理を実施する。
この実施の形態１では、３つの量子化部４ａ〜４ｃが実装されているものを示しているが、これは一例に過ぎず、４つ以上の量子化部が実装されていてもよい。
【００１３】
量子化部４ａの符号化準備部５ａは信号レベル範囲検出部２により検出された最大値Ｌｍａｘ及び最小値Ｌｍｉｎから各ブロックにおける階調レベルの画素基準レベルＬＡａ及び画素値変動幅ＬＤａを算出する処理を実施する。
量子化閾値算出部６ａは符号化準備部５ａにより算出された画素基準レベルＬＡａ及び画素値変動幅ＬＤａから各ブロックにおける階調レベルの量子化閾値Ｌａ１を算出するとともに、画素基準レベルＬＡａ及び画素値変動幅ＬＤａから、量子化処理部７ａにより量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベルＱａ１〜Ｑａ２を算出する処理を実施する。
量子化処理部７ａは各ブロックにおける各画素の階調レベルＸｉｊと量子化閾値算出部６ａにより算出された量子化閾値Ｌａ１を比較して、各画素の階調レベルＸｉｊに対応する固有の符号を特定し、その固有の符号を量子化データφａｉｊ（例えば、１≦ｉ≦４，１≦ｊ≦４）として各画素に割り当てる処理を実施する。
量子化誤差積算部８ａは量子化閾値算出部６ａにより算出された固有の符号が復号化された場合の各画素の階調レベルＱａ１〜Ｑａ２と量子化処理部７ａにより量子化データが割り当てられる前の各画素の階調レベルＸｉｊとの誤差δａｉｊ（例えば、１≦ｉ≦４，１≦ｊ≦４）の絶対値をブロック毎に積算する処理を実施する。
【００１４】
量子化部４ｂの符号化準備部５ｂは信号レベル範囲検出部２により検出された最大値Ｌｍａｘ及び最小値Ｌｍｉｎから各ブロックにおける階調レベルの画素基準レベルＬＡｂ及び画素値変動幅ＬＤｂを算出する処理を実施する。
量子化閾値算出部６ｂは符号化準備部５ｂにより算出された画素基準レベルＬＡｂ及び画素値変動幅ＬＤｂから各ブロックにおける階調レベルの量子化閾値Ｌｂ１〜Ｌｂ３を算出するとともに、画素基準レベルＬＡｂ及び画素値変動幅ＬＤｂから、量子化処理部７ｂにより量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベルＱｂ１〜Ｑｂ４を算出する処理を実施する。
量子化処理部７ｂは各ブロックにおける各画素の階調レベルＸｉｊと量子化閾値算出部６ｂにより算出された量子化閾値Ｌｂ１〜Ｌｂ３を比較して、各画素の階調レベルＸｉｊに対応する固有の符号を特定し、その固有の符号を量子化データφｂｉｊ（例えば、１≦ｉ≦４，１≦ｊ≦４）として各画素に割り当てる処理を実施する。
量子化誤差積算部８ｂは量子化閾値算出部６ｂにより算出された固有の符号が復号化された場合の各画素の階調レベルＱｂ１〜Ｑｂ４と量子化処理部７ｂにより量子化データが割り当てられる前の各画素の階調レベルＸｉｊとの誤差δｂｉｊ（例えば、１≦ｉ≦４，１≦ｊ≦４）の絶対値をブロック毎に積算する処理を実施する。
【００１５】
量子化部４ｃの符号化準備部５ｃは信号レベル範囲検出部２により検出された最大値Ｌｍａｘ及び最小値Ｌｍｉｎから各ブロックにおける階調レベルの画素基準レベルＬＡｃ及び画素値変動幅ＬＤｃを算出する処理を実施する。
量子化閾値算出部６ｃは符号化準備部５ｃにより算出された画素基準レベルＬＡｃ及び画素値変動幅ＬＤｃから各ブロックにおける階調レベルの量子化閾値Ｌｃ１〜Ｌｃ７を算出するとともに、画素基準レベルＬＡｃ及び画素値変動幅ＬＤｃから、量子化処理部７ｃにより量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベルＱｃ１〜Ｑｃ８を算出する処理を実施する。
量子化処理部７ｃは各ブロックにおける各画素の階調レベルＸｉｊと量子化閾値算出部６ｃにより算出された量子化閾値ＬＣ１〜Ｌｃ７を比較して、各画素の階調レベルＸｉｊに対応する固有の符号を特定し、その固有の符号を量子化データφｃｉｊ（例えば、１≦ｉ≦４，１≦ｊ≦４）として各画素に割り当てる処理を実施する。
量子化誤差積算部８ｃは量子化閾値算出部６ｃにより算出された固有の符号が復号化された場合の各画素の階調レベルＱｃ１〜Ｑｃ８と量子化処理部７ｃにより量子化データが割り当てられる前の各画素の階調レベルＸｉｊとの誤差δｃｉｊ（例えば、１≦ｉ≦４，１≦ｊ≦４）の絶対値をブロック毎に積算する処理を実施する。
【００１６】
なお、符号化準備部５ａ，５ｂ，５ｃは符号化準備手段を構成し、量子化閾値算出部６ａ，６ｂ，６ｃは量子化閾値算出手段を構成している。
また、量子化処理部７ａ，７ｂ，７ｃは量子化手段を構成し、量子化誤差積算部８ａ，８ｂ，８ｃは量子化誤差積算手段を構成している。
【００１７】
符号化データ作成部９はブロック毎に、量子化処理部７ａ，７ｂ，７ｃにより割り当てられた量子化データφａｉｊ，φｂｉｊ，φｃｉｊのうち、量子化誤差積算部８ａ，８ｂ，８ｃにより積算された誤差δａｉｊ，δｂｉｊ，δｃｉｊの絶対値が許容閾値ΔＴを超えない条件の下で、データ量が最も少ない量子化データφｎｉｊ（ｎ＝“ａ”ｏｒ“ｂ”ｏｒ“ｃ”）を選択し、その量子化データφｎｉｊ、その量子化データφｎｉｊに係るデータ量子化方法ｎを示すフラグ（方法識別情報）、及び符号化準備部５ｎにより算出された画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎからなる符号化データを作成する処理を実施する。なお、符号化データ作成部９は符号化データ作成手段を構成している。
図２はこの発明の実施の形態１による画像符号化装置の処理内容を示すフローチャートである。
【００１８】
次に動作について説明する。
画像データ分割部１は、撮像素子から画像データを受けると、その画像データをＭ×Ｎ（Ｍ、Ｎは自然数）のブロックに分割する（ステップＳＴ１）。
この実施の形態１では、説明の便宜上、各ブロックが水平４画素、垂直４画素の１６画素からなるものとして説明する。
【００１９】
信号レベル範囲検出部２は、画像データ分割部１が画像データをＭ×Ｎのブロックに分割すると、Ｍ×Ｎのブロックの中から、未だ符号化処理を実施していない未処理のブロックを一つ選択する（ステップＳＴ２）。
信号レベル範囲検出部２は、未処理のブロックを選択すると、そのブロックにおける各画素の階調レベルを参照して、そのブロックにおける階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎを検出する（ステップＳＴ３）。
【００２０】
量子化部４ａの符号化準備部５ａは、信号レベル範囲検出部２が階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎを検出すると、データ量子化方法ａが係る算出方法で、その階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎから当該ブロックにおける階調レベルの画素基準レベルＬＡａ及び画素値変動幅ＬＤａを算出する（ステップＳＴ４ａ）。
また、量子化部４ｂの符号化準備部５ｂは、信号レベル範囲検出部２が階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎを検出すると、データ量子化方法ｂが係る算出方法で、その階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎから当該ブロックにおける階調レベルの画素基準レベルＬＡｂ及び画素値変動幅ＬＤｂを算出する（ステップＳＴ４ｂ）。
また、量子化部４ｃの符号化準備部５ｃは、信号レベル範囲検出部２が階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎを検出すると、データ量子化方法ｃが係る算出方法で、その階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎから当該ブロックにおける階調レベルの画素基準レベルＬＡｃ及び画素値変動幅ＬＤｃを算出する（ステップＳＴ４ｃ）。
以下、符号化準備部５ｎ（ｎ＝“ａ”ｏｒ“ｂ”ｏｒ“ｃ”）における画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎの算出方法を具体的に説明する。
【００２１】
まず、符号化準備部５ｎは、下記の式（１）（２）に示すように、画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎを算出する際の参照画素を決めるための閾値Ｐ１ｎ，Ｐ２ｎを算出する。
Ｐ１ｎ＝（Ｋ１ｎ×Ｌｍａｘ＋Ｋ２ｎ×Ｌｍｉｎ）／（Ｋ１ｎ＋Ｋ２ｎ）    （１）
Ｐ２ｎ＝（Ｋ２ｎ×Ｌｍａｘ＋Ｋ１ｎ×Ｌｍｉｎ）／（Ｋ１ｎ＋Ｋ２ｎ）    （２）
ここでは、閾値Ｐ１ｎ，Ｐ２ｎを、階調レベルの最大値Ｌｍａｘ及び最小値Ｌｍｉｎを加重平均した値として算出しているが、この際、加重平均に適用する係数Ｋ１ｎ，Ｋ２ｎは、画像の階調レベル分布状態や、各画素の階調レベル変換の際に割り当てられるビット数や、本技術を適用するシステムの画像の特性に応じて、量子化誤差がなるべく小さくなる値を選択することが可能である。
【００２２】
この実施の形態１では、例えば、データ量子化方法ａは符号に割り当てる階調数を１ｂｉｔ２階調、データ量子化方法ｂは符号に割り当てる階調数を２ｂｉｔ４階調、データ量子化方法ｃは符号に割り当てる階調数を３ｂｉｔ８階調として、係数Ｋ１ｎ，Ｋ２ｎの値を図３の通りとする。
また、当該ブロックの各画素の階調レベルＸｉｊ（１≦ｉ≦４，１≦ｊ≦４）について、Ｘｉｊ≦Ｐ１ｎを満たす画素の階調レベル平均値をＱｍｉｎ＿ｎとする。
また、Ｘｉｊ＞Ｐ２ｎを満たす画素の階調レベル平均値をＱｍａｘ＿ｎとする。
【００２３】
符号化準備部５ｎは、階調レベル平均値Ｑｍｉｎ＿ｎ，Ｑｍａｘ＿ｎを下記の式（３）（４）に代入して、画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎを算出する。
ＬＡｎ＝（Ｑｍｉｎ＿ｎ＋Ｑｍａｘ＿ｎ）／２                          （３）
ＬＤｎ＝（Ｑｍａｘ＿ｎ−Ｑｍｉｎ＿ｎ）                              （４）
【００２４】
量子化部４ａの量子化閾値算出部６ａは、符号化準備部５ａが画素基準レベルＬＡａ及び画素値変動幅ＬＤａを算出すると、その画素基準レベルＬＡａ及び画素値変動幅ＬＤａから当該ブロックにおける階調レベルの量子化閾値Ｌａ１を算出するとともに、その画素基準レベルＬＡａ及び画素値変動幅ＬＤａから、量子化処理部７ａにより量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベル（復号レベル）Ｑａ１〜Ｑａ２を算出する（ステップＳＴ５ａ）。
また、量子化部４ｂの量子化閾値算出部６ｂは、符号化準備部５ｂが画素基準レベルＬＡｂ及び画素値変動幅ＬＤｂを算出すると、その画素基準レベルＬＡｂ及び画素値変動幅ＬＤｂから当該ブロックにおける階調レベルの量子化閾値Ｌｂ１〜Ｌｂ３を算出するとともに、その画素基準レベルＬＡｂ及び画素値変動幅ＬＤｂから、量子化処理部７ｂにより量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベル（復号レベル）Ｑｂ１〜Ｑｂ４を算出する（ステップＳＴ５ｂ）。
また、量子化部４ｃの量子化閾値算出部６ｃは、符号化準備部５ｃが画素基準レベルＬＡｃ及び画素値変動幅ＬＤｃを算出すると、その画素基準レベルＬＡｃ及び画素値変動幅ＬＤｃから当該ブロックにおける階調レベルの量子化閾値Ｌｃ１〜Ｌｃ７を算出するとともに、画素基準レベルＬＡｃ及び画素値変動幅ＬＤｃから、量子化処理部７ｃにより量子化データとして割り当てられる固有の符号が復号化された場合の各画素の階調レベル（復号レベル）Ｑｃ１〜Ｑｃ８を算出する（ステップＳＴ５ｃ）。
【００２５】
量子化閾値算出部６ａ，６ｂ，６ｃにより算出される量子化閾値の数は、階調レベルを変換する符号に割り当てられるビット数に対応させる必要がある。
データ量子化方法ａは符号に割り当てる階調数を１ｂｉｔ２階調、データ量子化方法ｂは符号に割り当てる階調数を２ｂｉｔ４階調、データ量子化方法ｃは符号に割り当てる階調数を３ｂｉｔ８階調としているので、データ量子化方法ａに対応する量子化閾値算出部６ａでは量子化閾値を１個、データ量子化方法ｂに対応する量子化閾値算出部６ｂでは量子化閾値を３個、データ量子化方法ｃに対応する量子化閾値算出部６ｃでは量子化閾値を７個算出するようにしている。
【００２６】
量子化閾値算出部６ａ，６ｂ，６ｃによる量子化閾値の算出式は、下記の式（５）〜（１５）の通りである。
ただし、式（５）〜（１５）による量子化閾値の算出方法は一例であり、画像の階調レベル分布状態や本技術を適用するシステムの画像の特性に応じて、量子化誤差がなるべく小さくなる算出方法とすればよく、必ずしも、ここで挙げた式（５）〜（１５）に限定されるものではない。
【００２７】
［データ量子化方法ａの場合］
Ｌａ１＝ＬＡａ                                                    （５）
［データ量子化方法ｂの場合］
Ｌｂ１＝ＬＡｂ−ＬＤｂ／４                                        （６）
Ｌｂ２＝ＬＡｂ                                                    （７）
Ｌｂ３＝ＬＡｂ＋ＬＤｂ／４                                        （８）
［データ量子化方法ｃの場合］
Ｌｃ１＝ＬＡｃ−ＬＤｃ×３／８                                    （９）
Ｌｃ２＝ＬＡｃ−ＬＤｃ×１／４                                    （１０）
Ｌｃ３＝ＬＡｃ−ＬＤｃ×１／８                                    （１１）
Ｌｃ４＝ＬＡｃ                                                    （１２）
Ｌｃ５＝ＬＡｃ＋ＬＤｃ×１／８                                    （１３）
Ｌｃ６＝ＬＡｃ＋ＬＤｃ×１／４                                    （１４）
Ｌｃ７＝ＬＡｃ＋ＬＤｃ×３／８                                    （１５）
【００２８】
また、固有の符号が復号化された場合の各画素の階調レベルとして、データ量子化方法ａでは２個、データ量子化方法ｂでは４個、データ量子化方法ｃでは８個求める必要がある。
量子化閾値算出部６ａ，６ｂ，６ｃによる各画素の階調レベルの算出式は、下記の式（１６）〜（２９）の通りである。
ただし、式（１６）〜（２９）による階調レベルの算出式は一例である。量子化閾値の算出式である式（５）〜（１５）が変更された場合には、その変更に対応するように、式（１６）〜（２９）も変更される。
【００２９】
［データ量子化方法ａの場合］
Ｑａ１＝ＬＡａ−ＬＤａ／２                                        （１６）
Ｑａ２＝ＬＡａ＋ＬＤａ／２                                        （１７）
［データ量子化方法ｂの場合］
Ｑｂ１＝ＬＡｂ−ＬＤｂ／２                                        （１８）
Ｑｂ２＝ＬＡｂ−ＬＤｂ／８                                        （１９）
Ｑｂ３＝ＬＡｂ＋ＬＤｂ／８                                        （２０）
Ｑｂ４＝ＬＡｂ＋ＬＤｂ／２                                        （２１）
［データ量子化方法ｃの場合］
Ｑｃ１＝ＬＡｃ−ＬＤｃ／２                                        （２２）
Ｑｃ２＝ＬＡｃ−ＬＤｃ×５／１６                                  （２３）
Ｑｃ３＝ＬＡｃ−ＬＤｃ×３／１６                                  （２４）
Ｑｃ４＝ＬＡｃ−ＬＤｃ／１６                                      （２５）
Ｑｃ５＝ＬＡｃ＋ＬＤｃ／１６                                      （２６）
Ｑｃ６＝ＬＡｃ＋ＬＤｃ×３／１６                                  （２７）
Ｑｃ７＝ＬＡｃ＋ＬＤｃ×５／１６                                  （２８）
Ｑｃ８＝ＬＡｃ＋ＬＤｃ／２                                        （２９）
【００３０】
量子化部４ａ，４ｂ，４ｃの量子化処理部７ａ，７ｂ，７ｃは、量子化閾値算出部６ａ，６ｂ，６ｃが当該ブロックにおける階調レベルの量子化閾値Ｌａ１，Ｌｂ１〜Ｌｂ３，Ｌｃ１〜Ｌｃ７を算出すると、当該ブロック内の未処理の画素を選択する（ステップＳＴ６）。
量子化部４ａの量子化処理部７ａは、未処理の画素を選択すると、その画素の階調レベルＸｉｊと量子化閾値算出部６ａにより算出された量子化閾値Ｌａ１を比較して、その画素の階調レベルＸｉｊに対応する固有の符号を特定し、その固有の符号を量子化データφａｉｊとして当該画素に割り当てる処理を行う（ステップＳＴ７ａ）。
即ち、量子化処理部７ａは、量子化閾値Ｌａ１により分けられる２つの領域のうち、その画素の階調レベルＸｉｊがどちらの領域に属するかを判定し、属する領域に対応する固有の符号を量子化データφａｉｊとして当該画素に割り当てる処理を行う。
【００３１】
量子化部４ｂの量子化処理部７ｂは、未処理の画素を選択すると、その画素の階調レベルＸｉｊと量子化閾値算出部６ｂにより算出された量子化閾値Ｌｂ１〜Ｌｂ３を比較して、その画素の階調レベルＸｉｊに対応する固有の符号を特定し、その固有の符号を量子化データφｂｉｊとして当該画素に割り当てる処理を行う（ステップＳＴ７ｂ）。
即ち、量子化処理部７ｂは、量子化閾値Ｌｂ１〜Ｌｂ３により分けられる４つの領域のうち、その画素の階調レベルＸｉｊがどの領域に属するかを判定し、属する領域に対応する固有の符号を量子化データφｂｉｊとして当該画素に割り当てる処理を行う。
【００３２】
量子化部４ｃの量子化処理部７ｃは、未処理の画素を選択すると、その画素の階調レベルＸｉｊと量子化閾値算出部６ｃにより算出された量子化閾値Ｌｃ１〜Ｌｃ７を比較して、その画素の階調レベルＸｉｊに対応する固有の符号を特定し、その固有の符号を量子化データφｃｉｊとして当該画素に割り当てる処理を行う（ステップＳＴ７ｃ）。
即ち、量子化処理部７ｃは、量子化閾値Ｌｃ１〜Ｌｃ７により分けられる８つの領域のうち、その画素の階調レベルＸｉｊがどの領域に属するかを判定し、属する領域に対応する固有の符号を量子化データφｃｉｊとして当該画素に割り当てる処理を行う。
【００３３】
量子化処理部７ａ，７ｂ，７ｃによる固有の符号の割当方法を下記の式（３０）〜（４３）で例示する。
［データ量子化方法ａの場合］
Ｘｉｊ≦Ｌａ１          →    φａｉｊ＝０（２進数）              （３０）
Ｌａ１＜Ｘｉｊ          →    φａｉｊ＝１（２進数）              （３１）
［データ量子化方法ｂの場合］
Ｘｉｊ≦Ｌｂ１          →    φｂｉｊ＝００（２進数）            （３２）
Ｌｂ１＜Ｘｉｊ≦Ｌｂ２  →    φｂｉｊ＝０１（２進数）            （３３）
Ｌｂ２＜Ｘｉｊ≦Ｌｂ３  →    φｂｉｊ＝１０（２進数）            （３４）
Ｌｂ３＜Ｘｉｊ          →    φｂｉｊ＝１１（２進数）            （３５）
［データ量子化方法ｃの場合］
Ｘｉｊ≦Ｌｃ１          →    φｃｉｊ＝０００（２進数）          （３６）
Ｌｃ１＜Ｘｉｊ≦Ｌｃ２  →    φｃｉｊ＝００１（２進数）          （３７）
Ｌｃ２＜Ｘｉｊ≦Ｌｃ３  →    φｃｉｊ＝０１０（２進数）          （３８）
Ｌｃ３＜Ｘｉｊ≦Ｌｃ４  →    φｃｉｊ＝０１１（２進数）          （３９）
Ｌｃ４＜Ｘｉｊ≦Ｌｃ５  →    φｃｉｊ＝１００（２進数）          （４０）
Ｌｃ５＜Ｘｉｊ≦Ｌｃ６  →    φｃｉｊ＝１０１（２進数）          （４１）
Ｌｃ６＜Ｘｉｊ≦Ｌｃ７  →    φｃｉｊ＝１１０（２進数）          （４２）
Ｌｃ７＜Ｘｉｊ          →    φｃｉｊ＝１１１（２進数）          （４３）
【００３４】
量子化部４ａの量子化誤差積算部８ａは、量子化閾値算出部６ａにより算出された固有の符号が復号化された場合の各画素の階調レベルＱａ１〜Ｑａ２と、量子化処理部７ａにより量子化データφａｉｊが割り当てられる前の各画素の階調レベルＸｉｊとの誤差δａｉｊを算出し、当該ブロックにおいて、その誤差δａｉｊの絶対値を積算する（ステップＳＴ８ａ）。
また、量子化部４ｂの量子化誤差積算部８ｂは、量子化閾値算出部６ｂにより算出された固有の符号が復号化された場合の各画素の階調レベルＱｂ１〜Ｑｂ４と、量子化処理部７ｂにより量子化データφｂｉｊが割り当てられる前の各画素の階調レベルＸｉｊとの誤差δｂｉｊを算出し、当該ブロックにおいて、その誤差δｂｉｊの絶対値を積算する（ステップＳＴ８ｂ）。
また、量子化部４ｃの量子化誤差積算部８ｃは、量子化閾値算出部６ｃにより算出された固有の符号が復号化された場合の各画素の階調レベルＱｃ１〜Ｑｃ８と、量子化処理部７ｃにより量子化データφｃｉｊが割り当てられる前の各画素の階調レベルＸｉｊとの誤差δｃｉｊを算出し、当該ブロックにおいて、その誤差δｃｉｊの絶対値を積算する（ステップＳＴ８ｃ）。
【００３５】
量子化誤差積算部８ａ，８ｂ，８ｃによる誤差δｎｉｊの算出式と積算値Δｎ（ｎ＝“ａ”ｏｒ“ｂ”ｏｒ“ｃ”）の算出式は、下記の式（４４）〜（６０）の通りである。
ただし、積算値Δｎの値は、新たなブロックの処理の開始時に初期化され、ブロック処理中は、個々の画素の誤差δｎｉｊを累積する。
【００３６】
［データ量子化方法ａの場合］
φａｉｊ＝０（２進数）      →    δａｉｊ＝｜Ｘｉｊ−Ｑａ１｜      （４４）
φａｉｊ＝１（２進数）      →    δａｉｊ＝｜Ｘｉｊ−Ｑａ２｜      （４５）
Δａ＝Σδａｉｊ（１≦ｉ≦４，１≦ｊ≦４）                          （４６）
［データ量子化方法ｂの場合］
φｂｉｊ＝００（２進数）    →    δｂｉｊ＝｜Ｘｉｊ−Ｑｂ１｜      （４７）
φｂｉｊ＝０１（２進数）    →    δｂｉｊ＝｜Ｘｉｊ−Ｑｂ２｜      （４８）
φｂｉｊ＝１０（２進数）    →    δｂｉｊ＝｜Ｘｉｊ−Ｑｂ３｜      （４９）
φｂｉｊ＝１１（２進数）    →    δｂｉｊ＝｜Ｘｉｊ−Ｑｂ４｜      （５０）
Δｂ＝Σδｂｉｊ（１≦ｉ≦４，１≦ｊ≦４）                          （５１）
［データ量子化方法ｃの場合］
φｃｉｊ＝０００（２進数）  →    δｃｉｊ＝｜Ｘｉｊ−Ｑｃ１｜      （５２）
φｃｉｊ＝００１（２進数）  →    δｃｉｊ＝｜Ｘｉｊ−Ｑｃ２｜      （５３）
φｃｉｊ＝０１０（２進数）  →    δｃｉｊ＝｜Ｘｉｊ−Ｑｃ３｜      （５４）
φｃｉｊ＝０１１（２進数）  →    δｃｉｊ＝｜Ｘｉｊ−Ｑｃ４｜      （５５）
φｃｉｊ＝１００（２進数）  →    δｃｉｊ＝｜Ｘｉｊ−Ｑｃ５｜      （５６）
φｃｉｊ＝１０１（２進数）  →    δｃｉｊ＝｜Ｘｉｊ−Ｑｃ６｜      （５７）
φｃｉｊ＝１１０（２進数）  →    δｃｉｊ＝｜Ｘｉｊ−Ｑｃ７｜      （５８）
φｃｉｊ＝１１１（２進数）  →    δｃｉｊ＝｜Ｘｉｊ−Ｑｃ８｜      （５９）
Δｃ＝Σδｃｉｊ（１≦ｉ≦４，１≦ｊ≦４）                          （６０）
【００３７】
量子化部４ａ，４ｂ，４ｃは、当該ブロック内の全ての画素について処理が終了しているかを確認し（ステップＳＴ９）、処理が終了していなければ、ステップＳＴ６の処理に戻り、処理が終了していれば、ステップＳＴ１０の処理に移行する。
【００３８】
符号化データ作成部９は、量子化処理部７ａ，７ｂ，７ｃが当該ブロック内の全ての画素に量子化データφａｉｊ，φｂｉｊ，φｃｉｊを割り当てると、その量子化データφａｉｊ，φｂｉｊ，φｃｉｊのうち、誤差δａｉｊ，δｂｉｊ，δｃｉｊの絶対値の積算値Δａ，Δｂ，Δｃが許容閾値ΔＴを超えない条件の下で、データ量が最も少ない量子化データを選択する（ステップＳＴ１０）。
【００３９】
量子化データの具体的な選択例は下記の通りである。
Δａ≦ΔＴ                →      量子化データφａｉｊ
Δａ＞ΔＴ、Δｂ≦ΔＴ    →      量子化データφｂｉｊ
Δａ＞ΔＴ、Δｂ＞ΔＴ    →      量子化データφｃｉｊ
上記の通り、誤差の絶対値の積算値Δｎが許容閾値ΔＴ以下になる量子化データφｎｉｊの中で、データ量が最も少ない量子化データが選択されるが、いずれの積算値Δｎも許容閾値ΔＴを超過する場合には、極力画質の保存を図るため、データ量が最も多い量子化データφｎｉｊを選択する。
【００４０】
量子化部４ａ，４ｂ，４ｃは、全てのブロックについて処理が終了しているかを確認し（ステップＳＴ１１）、処理が終了していなければ、ステップＳＴ２の処理に戻り、処理が終了していれば、ステップＳＴ１２の処理に移行する。
【００４１】
符号化データ作成部９は、ブロック毎に、選択した量子化データφｎｉｊと、その量子化データφｎｉｊに係るデータ量子化方法ｎを示すフラグと、符号化準備部５ｎにより算出された画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎとを組み合わせて、符号化データを作成する（ステップＳＴ１２）。
例えば、量子化部４ａにより算出された量子化データφａｉｊが選択された場合には、その量子化データφａｉｊと、量子化部４ａが使用するデータ量子化方法ａを示すフラグと、符号化準備部５ａにより算出された画素基準レベルＬＡａ及び画素値変動幅ＬＤａとを組み合わせて、符号化データを作成する。
【００４２】
ここで、図４は符号化データ作成部９により作成されるブロック毎の符号化データの構成例を示す説明図である。
符号化データの先頭には、使用されたデータ量子化方法を示す２ｂｉｔのフラグが付加される。
例えば、データ量子化方法ａの場合には“００”、データ量子化方法ｂの場合には“０１”、データ量子化方法ｃの場合には“１０”が付加される。
次に、符号化準備部５ｎにより算出された８ｂｉｔの画素基準レベルＬＡｎと、８ｂｉｔの画素値変動幅ＬＤｎが付加される。
【００４３】
次に、量子化部４ａにより割り当てられた量子化データφａｉｊが選択された場合には、１ｂｉｔ×１６の量子化データφａｉｊが付加されて、符号化データが作成される。
量子化部４ｂにより割り当てられた量子化データφｂｉｊが選択された場合には、２ｂｉｔ×１６の量子化データφｂｉｊが付加されて、符号化データが作成される。
量子化部４ｃにより割り当てられた量子化データφｃｉｊが選択された場合には、３ｂｉｔ×１６の量子化データφｃｉｊが付加されて、符号化データが作成される。
【００４４】
図４では、データ量子化方法を示すフラグが２ｂｉｔの情報である例を示したが、予め用意されているデータ量子化方法の数に応じてｂｉｔ数を決定するようにしてもよい。
例えば、予め用意されているデータ量子化方法の数が２つであれば１ｂｉｔ、８つであれば、３ｂｉｔのように決定する。
また、画素基準レベルＬＡｎと画素値変動幅ＬＤｎについては、符号量を削減する目的で、下位ｂｉｔを削除することにより、精度を落として、７ｂｉｔ又は６ｂｉｔ以下にしてもよい。
【００４５】
また、この実施の形態１では、各画素の画素値レベルの階調数を２、４、８階調（２のべき乗の値）としているものについて示したが、これはデータ圧縮時に、データ毎にビットが割り当てられ、処理が簡易化できるようにするためである。
したがって、処理の簡易化を考慮せず、符号化効率の向上を目的とする場合には、各画素に割り当てる階調数を３階調や５階調としてもよい。この場合は、例えば、３階調のデータであれば、３の１６乗を表現することができるビット幅を画素値データ用に準備し、一旦、３進数１６桁の形でデータを表現した後、値を２進数に変換して記録することになる。
【００４６】
以上で明らかなように、この実施の形態１によれば、予め用意されている複数のデータ量子化方法ｎに対応するものとして、信号レベル範囲検出部２により検出された最大値Ｌｍａｘ及び最小値Ｌｍｉｎから各ブロックにおける階調レベルの画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎを算出する符号化準備部５ａ，５ｂ，５ｃと、符号化準備部５ａ，５ｂ，５ｃにより算出された画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎから各ブロックにおける階調レベルの量子化閾値Ｌａ１，Ｌｂ１〜Ｌｂ３，Ｌｃ１〜Ｌｃ７を算出するとともに、その画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎから固有の符号が復号化された場合の各画素の階調レベルＱａ１〜Ｑａ２，Ｑｂ１〜Ｑｂ４，Ｑｃ１〜Ｑｃ８を算出する量子化閾値算出部６ａ，６ｂ，６ｃと、各ブロックにおける各画素の階調レベルＸｉｊと量子化閾値算出部６ａ，６ｂ，６ｃにより算出された量子化閾値Ｌａ１，Ｌｂ１〜Ｌｂ３，Ｌｃ１〜Ｌｃ７を比較して、各画素の階調レベルに対応する固有の符号を特定し、その固有の符号を量子化データφａｉｊ，φｂｉｊ，φｃｉｊとして各画素に割り当てる量子化処理部７ａ，７ｂ，７ｃと、量子化閾値算出部６ａ，６ｂ，６ｃにより算出された固有の符号が復号化された場合の各画素の階調レベルＱａ１〜Ｑａ２，Ｑｂ１〜Ｑｂ４，Ｑｃ１〜Ｑｃ８と量子化処理部７ａ，７ｂ，７ｃにより量子化データが割り当てられる前の各画素の階調レベルＸｉｊとの誤差δａｉｊ，δｂｉｊ，δｃｉｊの絶対値をブロック毎に積算する量子化誤差積算部８ａ，８ｂ，８ｃとを備え、符号化データ作成部９が、ブロック毎に、量子化処理部７ａ，７ｂ，７ｃにより割り当てられた量子化データφａｉｊ，φｂｉｊ，φｃｉｊのうち、量子化誤差積算部８ａ，８ｂ，８ｃにより積算された誤差の絶対値が許容閾値ΔＴを超えない条件の下で、データ量が最も少ない量子化データφｎｉｊを選択し、その量子化データφｎｉｊ、その量子化データφｎｉｊに係る量子化方法ｎを示すフラグ、画素基準レベルＬＡｎ及び画素値変動幅ＬＤｎからなる符号化データを作成するように構成したので、符号化効率の向上と画像全体の画質の向上を図ることができる効果を奏する。
即ち、画像の特性に応じた効率的な符号化処理を行うことができるとともに、符号量の誤差がブロック間で均一化されて、画像全体で画質の差違が少ない均質な画像を得ることができる。
【００４７】
実施の形態２．
上記実施の形態１では、符号化データ作成部９が固定の許容閾値ΔＴを使用しているものについて示したが、符号化データ作成部９が画像１フレーム当りの目標符号量と、処理済のブロックの積算符号量と、未処理のブロックの数とから、未処理のブロックの１ブロック当りの目標符号量を算出し、未処理のブロックの１ブロック当りの目標符号量から許容閾値ΔＴを決定するようにしてもよい。
この実施の形態２では、許容閾値ΔＴを動的に変更することにより、ブロック毎のデータ量を画像の特性に応じて切り替えながら、画像１フレーム当りの符号化データ量を一定に保つものについて説明する。
【００４８】
まず、符号化データ作成部９は、画像１フレーム当りの目標符号量をＳ、処理済のブロックの積算符号量をＤ、未処理のブロックの数をＢとすると、下記の式（６１）に示すように、未処理のブロックの１ブロック当りの目標符号量Ｇを算出する。
Ｇ＝（Ｓ−Ｄ）／Ｂ                                              （６１）
【００４９】
符号化データ作成部９は、未処理のブロックの１ブロック当りの目標符号量Ｇを算出すると、例えば、その目標符号量Ｇと許容閾値ΔＴの対応関係が記録されているルックアップテーブルＴ（ｎ）を参照することにより、その目標符号量Ｇから許容閾値ΔＴを決定する。
ΔＴ＝Ｔ（Ｇ）                                                  （６２）
【００５０】
ただし、ルックアップテーブルＴ（ｎ）の値を定める際には、下記の条件を満たすようにする。
（１）ｎの値の増加に対して、Ｔ（ｎ）の値を単調現象させる。
即ち、１ブロック当りの目標符号量Ｇが大きければ、ブロックに割り当てられる符号量を大きくすることが可能であるため、許容閾値ΔＴの値を低くし、画質を向上させて１ブロック当りのデータ量を増やす制御を行う。
逆に、１ブロック当りの目標符号量Ｇが小さければ、許容閾値ΔＴの値を大きくすることによって画質を低下させる代わりに、１ブロック当りのデータ量を抑える制御を行う。
（２）ｎの値が選択可能なデータ量子化方法の中で、１ブロック当りの符号化データ量が最低値以下の範囲では、許容閾値ΔＴの無効を示す値（例えば、“−１”）を設定する。
これにより、画像１フレームの符号量が目標符号量Ｓをオーバーすることを防止して、常に符号量を一定化することができる。
【００５１】
図５は処理済のブロック毎の積算符号量と符号化誤差許容閾値の関係を示す説明図である。
符号化データ作成部９は、図２のステップＳＴ１２において、最終的な符号化データを作成する際に、もし、積算符号量が画像１フレーム当りの目標符号量Ｓを下回っている場合には、ダミーデータを付加して、画像１フレームの符号量を一定にする処理を行う。
【００５２】
この実施の形態２では、画像１フレーム当りの符号量を一定化する処理を導入しているため、ブロック毎のデータサイズを可変化することによる画像符号化効率の向上と、元来ＦＢＴＣ圧縮方式のメリットである符号化データ量が固定であるといる性質を両立させることが可能である。
【００５３】
実施の形態３．
上記実施の形態１，２では、符号化データ作成部９がブロック毎に、量子化処理部７ａ，７ｂ，７ｃにより割り当てられた量子化データφａｉｊ，φｂｉｊ，φｃｉｊのうち、量子化誤差積算部８ａ，８ｂ，８ｃにより積算された誤差の絶対値が許容閾値ΔＴを超えない条件の下で、データ量が最も少ない量子化データφｎｉｊを選択するものについて示したが、外部から指定された特定のブロックについては、量子化誤差積算部８ａ，８ｂ，８ｃにより積算された誤差の絶対値に関わらず、所定のデータ量子化方法に対応する量子化処理部７ｎにより割り当てられた量子化データφｎｉｊを選択するようにしてもよい。
【００５４】
具体的には、符号化データ作成部９は、予め、データ量子化方法を固定する特定のブロックの座標番号と、そのデータ量子化方法との対応関係を記録している参照テーブルを作成する。
符号化データ作成部９は、該当する座標番号のブロックについて量子化データφｎｉｊを取得する場合、上記実施の形態１のように、許容閾値ΔＴに基づく量子化データφｎｉｊの選択処理を実施せずに、参照テーブルに記録されているデータ量子化方法を確認し、そのデータ量子化方法を使用している量子化処理部７ｎにより割り当てられた量子化データφｎｉｊを選択するようにする。
【００５５】
なお、上記実施の形態２のように、画像１フレーム当りの符号量を一定化する場合には、未処理のブロックの１ブロック当りの目標符号量Ｇを算出する際、未処理のブロックの数Ｂから、未処理のブロックの中に含まれているデータ量子化方法を固定するブロックの数を減算するとともに、処理済のブロックの積算符号量Ｄに対して、未処理のブロックの中に含まれているデータ量子化方法を固定するブロックの符号化データ量を加算するようにする。
これにより、データ量子化方法が固定されたブロックの影響を取り除いて、許容閾値ΔＴの値を動的に変更することが可能となる。
【００５６】
この実施の形態３では、外部から指定された特定のブロックについては、固定されたデータ量子化方法で割り当てられた量子化データφｎｉｊが得られる。このため、予め画像の性質が分かっている領域を指定することにより、データ量子化方法を固定し、周囲のブロックの画像の特性や１フレーム当りの符号量に左右されない安定した処理を実現することが可能である。
【００５７】
実施の形態４．
図６はこの発明の実施の形態４による画像復号化装置を示す構成図であり、図において、符号化データ分割部２１は図１の画像符号化装置から出力された符号化データ（データ量子化方法ｎを示すフラグ、画素基準レベルＬＡｎ、画素値変動幅ＬＤｎ、量子化データφｎｉｊ）をＭ×Ｎ（Ｍ、Ｎは自然数）のブロックに分割する処理を実施する。なお、符号化データ分割部２１は符号化データ分割手段を構成している。
復号化部２２は符号化データ分割部２１により分割された符号化データを復号化して画像データを作成する処理を実施する。なお、復号化部２２は復号化手段を構成している。
【００５８】
逆量子化部２３ａは予め用意されているデータ復号化方法ａ（データ量子化方法ａに対応する復号化方法）で、量子化データφａｉｊに対応する階調レベルＸｉｊを各画素に割り当てる処理を実施する。
逆量子化部２３ｂは予め用意されているデータ復号化方法ｂ（データ量子化方法ｂに対応する復号化方法）で、量子化データφｂｉｊに対応する階調レベルＸｉｊを各画素に割り当てる処理を実施する。
逆量子化部２３ｃは予め用意されているデータ復号化方法ｃ（データ量子化方法ｃに対応する復号化方法）で、量子化データφｃｉｊに対応する階調レベルＸｉｊを各画素に割り当てる処理を実施する。
【００５９】
逆量子化部２３ａの階調レベル算出部２４ａは符号化データ分割部２１により分割された符号化データに含まれているフラグがデータ復号化方法ａに対応するデータ量子化方法ａを示している場合、その符号化データに含まれている画素基準レベルＬＡａと画素値変動幅ＬＤａから、その符号化データに含まれている量子化データφａｉｊ（固有の符号）に対応する階調レベルＱａ１〜Ｑａ２を算出する処理を実施する。
階調レベル割当部２５ａは階調レベル算出部２４ａにより算出された階調レベルＱａ１〜Ｑａ２のうち、符号化データに含まれている量子化データφａｉｊの値に対応する階調レベルをＸｉｊとして各画素に割り当てる処理を実施する。
【００６０】
逆量子化部２３ｂの階調レベル算出部２４ｂは符号化データ分割部２１により分割された符号化データに含まれているフラグがデータ復号化方法ｂに対応するデータ量子化方法ｂを示している場合、その符号化データに含まれている画素基準レベルＬＡｂと画素値変動幅ＬＤｂから、その符号化データに含まれている量子化データφｂｉｊ（固有の符号）に対応する階調レベルＱｂ１〜Ｑｂ４を算出する処理を実施する。
階調レベル割当部２５ｂは階調レベル算出部２４ｂにより算出された階調レベルＱｂ１〜Ｑｂ４のうち、符号化データに含まれている量子化データφｂｉｊの値に対応する階調レベルをＸｉｊとして各画素に割り当てる処理を実施する。
【００６１】
逆量子化部２３ｃの階調レベル算出部２４ｃは符号化データ分割部２１により分割された符号化データに含まれているフラグがデータ復号化方法ｃに対応するデータ量子化方法ｃを示している場合、その符号化データに含まれている画素基準レベルＬＡｃと画素値変動幅ＬＤｃから、その符号化データに含まれている量子化データφｃｉｊ（固有の符号）に対応する階調レベルＱｃ１〜Ｑｃ８を算出する処理を実施する。
階調レベル割当部２５ｃは階調レベル算出部２４ｃにより算出された階調レベルＱｃ１〜Ｑｃ８のうち、符号化データに含まれている量子化データφｃｉｊの値に対応する階調レベルをＸｉｊとして各画素に割り当てる処理を実施する。
なお、階調レベル算出部２４ａ，２４ｂ，２４ｃは階調レベル算出手段を構成し、階調レベル割当部２５ａ，２５ｂ，２５ｃは階調レベル割当手段を構成している。
【００６２】
画像データ作成部２６は逆量子化部２３ａ，２３ｂ，２３ｃのうち、符号化データ分割部２１により分割された符号化データに含まれているフラグに対応する逆量子化部２３ｎを選択し、その逆量子化部２３ｎの階調レベル割当部２５ｎにより割り当てられた各画素の階調レベルＸｉｊから画像データを作成する処理を実施する。なお、画像データ作成部２６は画像データ作成手段を構成している。
図７はこの発明の実施の形態４による画像復号化装置の処理内容を示すフローチャートである。
【００６３】
次に動作について説明する。
符号化データ分割部２１は、図１の画像符号化装置から符号化データ（データ量子化方法ｎを示すフラグ、画素基準レベルＬＡｎ、画素値変動幅ＬＤｎ、量子化データφｎｉｊ）を受けると、その符号化データをＭ×Ｎ（Ｍ、Ｎは自然数）のブロックに分割する（ステップＳＴ２１）。
即ち、符号化データ分割部２１は、図１の画像符号化装置により符号化される前の画像データが分割された各ブロックの対応部分に分割する。
【００６４】
この際、従来のＦＢＴＣ符号化方式と異なり、画像データにおける各ブロックの符号化サイズは、ブロック毎に選択されたデータ量子化方法によって異なり、固定長ではない。
ただし、選択されたデータ量子化方法が分かれば、そのデータ量子化方法に対応するブロックの符号化データサイズは一意に定められる。そのため、符号化データ分割部２１では、ブロック毎のデータ量子化方法を示すフラグを読み出し、対応するデータサイズの符号化データを読み出して１ブロック分の符号化データとして分割し、その次のデータを次のブロックの符号化データの先頭とみなして、ブロック毎のデータ量子化方法を示すフラグを読み出す動作を繰り返し実施することにより、符号化データの分割処理を行う。
【００６５】
復号化部２２の逆量子化部２３ａ，２３ｂ，２３ｃは、符号化データ分割部２１が符号化データをＭ×Ｎのブロックに分割すると、未だ復号化処理を実施していない未処理のブロックを一つ選択する（ステップＳＴ２２）。
逆量子化部２３ａの階調レベル算出部２４ａは、その選択したブロックの符号化データに含まれているフラグがデータ復号化方法ａに対応するデータ量子化方法ａを示していれば（ステップＳＴ２３）、その符号化データを入力する。
即ち、その符号化データの先頭の２ｂｉｔを参照し、２ｂｉｔの値が“００”であれば、その符号化データを入力する。
【００６６】
逆量子化部２３ｂの階調レベル算出部２４ｂは、その選択したブロックの符号化データに含まれているフラグがデータ復号化方法ｂに対応するデータ量子化方法ｂを示していれば（ステップＳＴ２３）、その符号化データを入力する。
即ち、その符号化データの先頭の２ｂｉｔを参照し、２ｂｉｔの値が“０１”であれば、その符号化データを入力する。
逆量子化部２３ｃの階調レベル算出部２４ｃは、その選択したブロックの符号化データに含まれているフラグがデータ復号化方法ｃに対応するデータ量子化方法ｃを示していれば（ステップＳＴ２３）、その符号化データを入力する。
即ち、その符号化データの先頭の２ｂｉｔを参照し、２ｂｉｔの値が“１０”であれば、その符号化データを入力する。
この実施の形態４では、選択可能なデータ復号化方法が３種類であるため、もし、２ｂｉｔの値が“１１”であれば、復号エラーとする。
【００６７】
逆量子化部２３ａの階調レベル算出部２４ａは、当該ブロックの符号化データを入力すると、その符号化データに含まれている画素基準レベルＬＡａと画素値変動幅ＬＤａから、その符号化データに含まれている量子化データφａｉｊ（固有の符号）に対応する階調レベルＱａ１〜Ｑａ２を算出する（ステップＳＴ２４ａ）。
逆量子化部２３ｂの階調レベル算出部２４ｂは、当該ブロックの符号化データを入力すると、その符号化データに含まれている画素基準レベルＬＡｂと画素値変動幅ＬＤｂから、その符号化データに含まれている量子化データφｂｉｊ（固有の符号）に対応する階調レベルＱｂ１〜Ｑｂ４を算出する（ステップＳＴ２４ｂ）。
逆量子化部２３ｃの階調レベル算出部２４ｃは、当該ブロックの符号化データを入力すると、その符号化データに含まれている画素基準レベルＬＡｃと画素値変動幅ＬＤｃから、その符号化データに含まれている量子化データφｃｉｊ（固有の符号）に対応する階調レベルＱｃ１〜Ｑｃ８を算出する（ステップＳＴ２４ｃ）。
【００６８】
階調レベル算出部２４ａ，２４ｂ，２４ｃによる階調レベルの算出式は、例えば、下記の式（６３）〜（７６）である。
［データ復号化方法ａの場合］
Ｑａ１＝ＬＡａ−ＬＤａ／２                                          （６３）
Ｑａ２＝ＬＡａ＋ＬＤａ／２                                          （６４）
［データ復号化方法ｂの場合］
Ｑｂ１＝ＬＡｂ−ＬＤｂ／２                                          （６５）
Ｑｂ２＝ＬＡｂ−ＬＤｂ／８                                          （６６）
Ｑｂ３＝ＬＡｂ＋ＬＤｂ／８                                          （６７）
Ｑｂ４＝ＬＡｂ＋ＬＤｂ／２                                          （６８）
［データ復号化方法ｃの場合］
Ｑｃ１＝ＬＡｃ−ＬＤｃ／２                                          （６９）
Ｑｃ２＝ＬＡｃ−ＬＤｃ×５／１６                                    （７０）
Ｑｃ３＝ＬＡｃ−ＬＤｃ×３／１６                                    （７１）
Ｑｃ４＝ＬＡｃ−ＬＤｃ／１６                                        （７２）
Ｑｃ５＝ＬＡｃ＋ＬＤｃ／１６                                        （７３）
Ｑｃ６＝ＬＡｃ＋ＬＤｃ×３／１６                                    （７４）
Ｑｃ７＝ＬＡｃ＋ＬＤｃ×５／１６                                    （７５）
Ｑｃ８＝ＬＡｃ＋ＬＤｃ／２                                          （７６）
【００６９】
式（６３）〜（７６）は、上記実施の形態１において、量子化閾値が式（５）〜（１５）で算出された場合に対応している。
したがって、量子化閾値が式（５）〜（１５）以外の算出式で算出された場合には、その算出式に対応するように、階調レベルの算出式も変更する必要がある。
【００７０】
逆量子化部２３ａの階調レベル割当部２５ａは、階調レベル算出部２４ａが階調レベルＱａ１〜Ｑａ２を算出すると、当該ブロック内で未処理の画素を一つ選択する（ステップＳＴ２５）。
そして、階調レベル割当部２５ａは、階調レベル算出部２４ａにより算出された階調レベルＱａ１〜Ｑａ２のうち、符号化データに含まれている量子化データφａｉｊの値に対応する階調レベルをＸｉｊとして、当該画素に割り当てる処理を行う（ステップＳＴ２６）。
【００７１】
逆量子化部２３ｂの階調レベル割当部２５ｂは、階調レベル算出部２４ｂが階調レベルＱｂ１〜Ｑｂ４を算出すると、当該ブロック内で未処理の画素を一つ選択する（ステップＳＴ２５）。
そして、階調レベル割当部２５ｂは、階調レベル算出部２４ｂにより算出された階調レベルＱｂ１〜Ｑｂ４のうち、符号化データに含まれている量子化データφｂｉｊの値に対応する階調レベルをＸｉｊとして、当該画素に割り当てる処理を行う（ステップＳＴ２６）。
【００７２】
逆量子化部２３ｃの階調レベル割当部２５ｃは、階調レベル算出部２４ｃが階調レベルＱｃ１〜Ｑｃ８を算出すると、当該ブロック内で未処理の画素を一つ選択する（ステップＳＴ２５）。
そして、階調レベル割当部２５ｃは、階調レベル算出部２４ｃにより算出された階調レベルＱｃ１〜Ｑｃ８のうち、符号化データに含まれている量子化データφｃｉｊの値に対応する階調レベルをＸｉｊとして、当該画素に割り当てる処理を行う（ステップＳＴ２６）。
【００７３】
階調レベル割当部２５ａ，２５ｂ，２５ｃによる具体的な階調レベルの割当方法の一例は下記の通りである。
［データ復号化方法ａの場合］
φａｉｊ＝０（２進数）      →    Ｘｉｊ＝Ｑａ１                    （７７）
φａｉｊ＝１（２進数）      →    Ｘｉｊ＝Ｑａ２                    （７８）
［データ復号化方法ｂの場合］
φｂｉｊ＝００（２進数）    →    Ｘｉｊ＝Ｑｂ１                    （７９）
φｂｉｊ＝０１（２進数）    →    Ｘｉｊ＝Ｑｂ２                    （８０）
φｂｉｊ＝１０（２進数）    →    Ｘｉｊ＝Ｑｂ３                    （８１）
φｂｉｊ＝１１（２進数）    →    Ｘｉｊ＝Ｑｂ４                    （８２）
［データ復号化方法ｃの場合］
φｃｉｊ＝０００（２進数）  →    Ｘｉｊ＝Ｑｃ１                    （８３）
φｃｉｊ＝００１（２進数）  →    Ｘｉｊ＝Ｑｃ２                    （８４）
φｃｉｊ＝０１０（２進数）  →    Ｘｉｊ＝Ｑｃ３                    （８５）
φｃｉｊ＝０１１（２進数）  →    Ｘｉｊ＝Ｑｃ４                    （８６）
φｃｉｊ＝１００（２進数）  →    Ｘｉｊ＝Ｑｃ５                    （８７）
φｃｉｊ＝１０１（２進数）  →    Ｘｉｊ＝Ｑｃ６                    （８８）
φｃｉｊ＝１１０（２進数）  →    Ｘｉｊ＝Ｑｃ７                    （８９）
φｃｉｊ＝１１１（２進数）  →    Ｘｉｊ＝Ｑｃ８                    （９０）
【００７４】
逆量子化部２３ａ，２３ｂ，２３ｃは、当該ブロック内の全ての画素について処理が終了しているかを確認し（ステップＳＴ２７）、処理が終了していなければ、ステップＳＴ２５の処理に戻り、処理が終了していれば、ステップＳＴ２８の処理に移行する。
逆量子化部２３ａ，２３ｂ，２３ｃは、全てのブロックについて処理が終了しているかを確認し（ステップＳＴ２８）、処理が終了していなければ、ステップＳＴ２２の処理に戻り、処理が終了していれば、ステップＳＴ２９の処理に移行する。
【００７５】
画像データ作成部２６は、符号化データ分割部２１により分割された符号化データに含まれているフラグがデータ復号化方法ａに対応するデータ量子化方法ａを示していれば、逆量子化部２３ａの階調レベル割当部２５ａにより割り当てられた各画素の階調レベルＸｉｊをまとめて画像データを作成する（ステップＳＴ２９）。
画像データ作成部２６は、符号化データ分割部２１により分割された符号化データに含まれているフラグがデータ復号化方法ｂに対応するデータ量子化方法ｂを示していれば、逆量子化部２３ｂの階調レベル割当部２５ｂにより割り当てられた各画素の階調レベルＸｉｊをまとめて画像データを作成する（ステップＳＴ２９）。
画像データ作成部２６は、符号化データ分割部２１により分割された符号化データに含まれているフラグがデータ復号化方法ｃに対応するデータ量子化方法ｃを示していれば、逆量子化部２３ｃの階調レベル割当部２５ｃにより割り当てられた各画素の階調レベルＸｉｊをまとめて画像データを作成する（ステップＳＴ２９）。
【００７６】
以上で明らかなように、この実施の形態４によれば、符号化データ分割部２１により分割された符号化データに含まれているフラグを参照して、階調レベル割当部２５ａ，２５ｂ，２５ｃのいずれかに割り当てられた各画素の階調レベルＸｉｊをまとめて画像データを作成するように構成したので、ブロック毎にデータ量子化方法が異なる符号化データが作成されている場合でも、正しく復号化処理を行うことができるようになり、画像全体で画質の差違が少ない均質な画像を生成することができる効果を奏する。
【００７７】
実施の形態５．
図８はこの発明の実施の形態５による画像復号化装置を示す構成図であり、図において、図６と同一符号は同一または相当部分を示すので説明を省略する。
逆量子化部３１は予め用意されているデータ復号化方法ａ，ｂ，ｃのいずれかで、量子化データφｎｉｊに対応する階調レベルＸｉｊを各画素に割り当てる処理を実施する。
【００７８】
階調レベル算出部３２は符号化データ分割部２１により分割された符号化データに含まれているフラグに対応する階調レベル算出方法で、その符号化データに含まれている画素基準レベルＬＡｎと画素値変動幅ＬＤｎから、その符号化データに含まれている量子化データφｎｉｊ（固有の符号）に対応する階調レベルＱａ１〜Ｑａ２（または、Ｑｂ１〜Ｑｂ４，Ｑｃ１〜Ｑｃ８）を算出する処理を実施する。なお、階調レベル算出部３２は階調レベル算出手段を構成している。
階調レベル割当部３３は符号化データ分割部２１により分割された符号化データに含まれているフラグに対応する階調レベル割当方法で、階調レベル算出部３１により算出された階調レベルＱａ１〜Ｑａ２（または、Ｑｂ１〜Ｑｂ４，Ｑｃ１〜Ｑｃ８）のうち、符号化データに含まれている量子化データφｎｉｊの値に対応する階調レベルをＸｉｊとして各画素に割り当てる処理を実施する。なお、階調レベル割当部３３は階調レベル割当手段を構成している。
【００７９】
上記実施の形態４では、データ復号化方法ａを使用する逆量子化部２３ａと、データ復号化方法ｂを使用する逆量子化部２３ｂと、データ復号化方法ｃを使用する逆量子化部２３ｃとを設けているものについて示したが、図８に示すように、データ復号化方法ａ，ｂ，ｃのいずれも使用可能な逆量子化部３１を設け、逆量子化部３１が、符号化データ分割部２１により分割された符号化データに含まれているフラグを参照して、使用するデータ復号化方法を選択するようにしてもよい。
【図面の簡単な説明】
【００８０】
【図１】この発明の実施の形態１による画像符号化装置を示す構成図である。
【図２】この発明の実施の形態１による画像符号化装置の処理内容を示すフローチャートである。
【図３】係数Ｋ１ｎ，Ｋ２ｎの値の一例を示す説明図である。
【図４】符号化データ作成部９により作成されるブロック毎の符号化データの構成例を示す説明図である。
【図５】処理済のブロック毎の積算符号量と符号化誤差許容閾値の関係を示す説明図である。
【図６】この発明の実施の形態４による画像復号化装置を示す構成図である。
【図７】この発明の実施の形態４による画像復号化装置の処理内容を示すフローチャートである。
【図８】この発明の実施の形態５による画像復号化装置を示す構成図である。
【符号の説明】
【００８１】
１  画像データ分割部（画像データ分割手段）、２  信号レベル範囲検出部（信号レベル範囲検出手段）、３  符号化部（符号化手段）、４ａ，４ｂ，４ｃ  量子化部、５ａ，５ｂ，５ｃ  符号化準備部（符号化準備手段）、６ａ，６ｂ，６ｃ  量子化閾値算出部（量子化閾値算出手段）、７ａ，７ｂ，７ｃ  量子化処理部（量子化手段）、８ａ，８ｂ，８ｃ  量子化誤差積算部（量子化誤差積算手段）、９  符号化データ作成部（符号化データ作成手段）、２１  符号化データ分割部（符号化データ分割手段）、２２  復号化部（復号化手段）、２３ａ，２３ｂ，２３ｃ  逆量子化部、２４ａ，２４ｂ，２４ｃ  階調レベル算出部（階調レベル算出手段）、２５ａ，２５ｂ，２５ｃ  階調レベル割当部（階調レベル割当手段）、２６  画像データ作成部（画像データ作成手段）、３１  逆量子化部、３２  階調レベル算出部（階調レベル算出手段）、３３  階調レベル割当部（階調レベル割当手段）。
【図１】
0005036626.tif 000002
【図２】
0005036626.tif 000003
【図３】
0005036626.tif 000004
【図４】
0005036626.tif 000005
【図５】
0005036626.tif 000006
【図６】
0005036626.tif 000007
【図７】
0005036626.tif 000008
【図８】
0005036626.tif 000009