(57)【特許請求の範囲】
【請求項１】
圧縮対象の画素の画素データを入力し、入力された前記画素データを圧縮する画像符号化方法であって、
圧縮対象の画素の周辺に位置する少なくとも１つの周辺画素から、前記画素データの予測値を生成する予測画素生成ステップと、
前記画素データと、前記予測画素生成ステップで生成された前記予測値との間の差分値を、前記画素データよりも少ないビット数である量子化値へと量子化することにより、前記画素データを前記量子化値へと圧縮する量子化ステップと、
前記量子化ステップにおける量子化幅を決定する量子化幅決定ステップとを含み、
前記量子化幅決定ステップは、複数の前記画素から構成するグループ単位で、平坦部とエッジ部とが混在しているか否かを判定し、その判定結果に基づいて前記量子化ステップにおける量子化幅を画素単位で適応的に切り替える
ことを特徴とする画像符号化方法。
【請求項２】
前記請求項１記載の画像符号化方法であって、
前記量子化幅決定ステップは、
前記グループ内の前記差分値の特性から平坦部とエッジ部とが混在しているか否かを判定するエッジ判定ステップと、
前記差分値に基づいて、前記グループを構成する画素中におけるエッジ部の画素と平坦部の画素とを判別するエッジ画素判別ステップとを含み、
前記エッジ判定ステップの判定結果と、前記エッジ画素判別ステップの判別結果とに基づいて、前記量子化ステップにおける量子化幅を画素単位で適応的に切り替える
ことを特徴とする画像符号化方法。
【請求項３】
前記請求項２記載の画像符号化方法であって、
前記エッジ判定ステップは、
前記グループ内の前記差分値の最大値と最小値との差が第１の閾値以上である場合に、平坦部とエッジ部とが混在していると判定する
ことを特徴とする画像符号化方法。
【請求項４】
前記請求項３記載の画像符号化方法であって、
前記第１の閾値は、２のべき乗である
ことを特徴とする画像符号化方法。
【請求項５】
前記請求項２記載の画像符号化方法であって、
前記エッジ判定ステップは、
前記グループ内の前記差分値の最大値が第２の閾値以上であり、かつ、前記差分値の最小値が第３の閾値以下である場合に、平坦部とエッジ部とが混在していると判定する
ことを特徴とする画像符号化方法。
【請求項６】
前記請求項５記載の画像符号化方法であって、
前記第２の閾値及び第３の閾値は、２のべき乗である
ことを特徴とする画像符号化方法。
【請求項７】
前記請求項２記載の画像符号化方法であって、
前記エッジ画素判別ステップは、
前記差分値が第４の閾値以上である場合に、エッジ部の画素と判断し、それ以外は平坦部の画素と判別する
ことを特徴とする画像符号化方法。
【請求項８】
前記請求項７記載の画像符号化方法であって、
前記第４の閾値は、２のべき乗である
ことを特徴とする画像符号化方法。
【請求項９】
前記請求項２記載の画像符号化方法であって、
前記量子化幅決定ステップは、
前記量子化ステップにおける量子化幅として、前記エッジ判定ステップの判定結果に基づいて、前記グループ単位で、第１量子化幅を使用するか、又は、第２量子化幅及び第３量子化幅を使用するかを決定し、前記エッジ画素判別ステップの判別結果に基づいて、画素単位で、前記第２量子化幅を使用するか前記第３量子化幅を使用するかを決定する
ことを特徴とする画像符号化方法。
【請求項１０】
前記請求項２又は９記載の画像符号化方法であって、
前記量子化幅決定ステップは、
前記グループ中の前記差分値の最大値に応じた第１量子化幅を算出する初期量子化幅算出ステップと、
エッジ部の量子化における量子化幅である第２量子化幅、及び、平坦部の量子化における量子化幅である第３量子化幅を算出するエッジ部量子化幅算出ステップとを含む
ことを特徴とする画像符号化方法。
【請求項１１】
前記請求項１０記載の画像符号化方法であって、
前記第２量子化幅は、前記第１量子化幅に対し１加算した値となる
ことを特徴とする画像符号化方法。
【請求項１２】
前記請求項１０記載の画像符号化方法であって、
前記第３量子化幅は、前記第１量子化幅に対し量子化幅が小さくなる
ことを特徴とする画像符号化方法。
【請求項１３】
前記請求項１０記載の画像符号化方法であって、
エッジ部量子化幅算出ステップは、前記グループ内の前記差分値の最大値と最小値との差に対応する複数の前記第３量子化幅の中から、量子化幅を選択する
ことを特徴とする画像符号化方法。
【請求項１４】
前記請求項１記載の画像符号化方法であって、
パッキングステップを含み、エッジ部の画素か否かを１ビットで表されるフラグとして前記量子化値に埋め込み、出力する
ことを特徴とする画像符号化方法。
【請求項１５】
前記請求項１記載の画像符号化方法であって、
パッキングステップを含み、前記グループ単位で、前記グループを構成する画素の前記量子化値と、前記量子化幅の情報と、平坦部とエッジ部とが混在しているか否かの判定結果とのうち、少なくとも何れかを含むＳビット長（Ｓは自然数）の符号化データを生成する
ことを特徴とする画像符号化方法。
【請求項１６】
前記請求項１記載の画像符号化方法であって、
入力されたＮビット長（Ｎは自然数）の画素データと、同ビット長の前記予測値との差分値を、所定のビット長Ｍ（Ｎより小さいＭは自然数）の固定長符号に符号化する
ことを特徴とする画像符号化方法。
【請求項１７】
入力される符号化データが量子化値を含み、
前記量子化値は、画素データと前記画素データの予測値との間の差分値を量子化したものであり、前記画素データの予測値は前記画素データの画素の周辺に位置する少なくとも１つの画素から生成され、
前記量子化値を前記画素データに復号化する画像復号化方法であって、
既に復号化された過去の前記画素データから、現在の前記画素データの前記予測値を生成する予測画素生成ステップと、
前記量子化値を逆量子化し、前記量子化値が逆量子化された前記差分値を生成する逆量子化ステップと、
符号化された量子化情報及び量子化値から、前記逆量子化ステップにおける量子化幅を画素単位で決定する量子化幅決定ステップとを含み、
前記量子化幅決定ステップは、前記逆量子化ステップにおける量子化幅を画素単位で適応的に切り替える
ことを特徴とする画像復号化方法。
【請求項１８】
圧縮対象の画素の画素データを入力し、入力された前記画素データを圧縮する画像符号化装置であって、
圧縮対象の画素の周辺に位置する少なくとも１つの周辺画素から、前記画素データの予測値を生成する予測画素生成部と、
前記画素データと、前記予測画素生成部で生成された前記予測値との間の差分値を、前記画素データよりも少ないビット数である量子化値へと量子化することにより、前記画素データを、前記量子化値へと圧縮する量子化部と、
前記量子化部における量子化幅を決定する量子化幅決定部とを備え、
前記量子化幅決定部は、複数の前記画素から構成するグループ単位で、平坦部とエッジ部とが混在しているか否かを判定し、判定結果に基づいて前記量子化部における量子化幅を画素単位で適応的に切り替える
ことを特徴とする画像符号化装置。
【請求項１９】
入力される符号化データが量子化値を含み、
前記量子化値は、画素データと前記画素データの予測値との間の差分値を量子化したものであり、前記画素データの予測値は前記画素データの画素の周辺に位置する少なくとも１つの画素から生成され、
前記量子化値を前記画素データに復号化する画像復号化装置であって、
既に復号化された過去の前記画素データから、現在の前記画素データの前記予測値を生成する予測画素生成部と、
前記量子化値を逆量子化し、前記量子化値が逆量子化された前記差分値を生成する逆量子化部と、
符号化された量子化情報及び量子化値から、前記逆量子化部における量子化幅を画素単位で決定する量子化幅決定部とを備え、
前記量子化幅決定部は、前記逆量子化部における量子化幅を画素単位で適応的に切り替える
ことを特徴とする画像復号化装置。
【請求項２０】
前記請求項１８記載の画像符号化装置であって、
前記画素データは、撮像素子から入力されたＲＡＷデータである
ことを特徴とする画像符号化装置。
【請求項２１】
前記請求項１８記載の画像符号化装置であって、
前記画素データは、撮像素子から画像信号処理装置に入力されたＲＡＷデータから、前記画像信号処理装置により生成された輝度信号、又は、色差信号の画素データである
ことを特徴とする画像符号化装置。
【請求項２２】
前記請求項１８記載の画像符号化装置であって、
前記画素データは、伸張装置がＪＰＥＧ（Joint Photographic Experts Group）画像を伸張することにより、伸張装置が得る輝度信号、又は、色差信号の画素データである
ことを特徴とする画像符号化装置。
【請求項２３】
前記請求項１８記載の画像符号化装置と、前記請求項１７記載の画像復号化装置とを備えた
ことを特徴とするデジタルスチルカメラ。
【請求項２４】
前記請求項１８記載の画像符号化装置と、前記請求項１７記載の画像復号化装置とを備えたことを特徴とするデジタルビデオカメラ。
【請求項２５】
前記請求項１８記載の画像符号化装置と、前記請求項１７記載の画像復号化装置とを備えた
ことを特徴とする監視カメラ。
【請求項２６】
前記請求項１８記載の画像符号化装置を備えた
ことを特徴とする固体撮像素子。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルスチルカメラやネットワークカメラ等のように画像を扱う装置において、画像圧縮によるデータ転送の高速化やメモリの使用量削減を目的とした画像符号化方法とその装置に関するものである。
【背景技術】
【０００２】
近年、デジタルスチルカメラやデジタルビデオカメラなどの撮像装置に用いられる撮像素子の高画素化に伴い、装置に搭載される集積回路が処理する画像データ量が増大している。多くのデータ量の画像データを扱うには、集積回路内のデータ転送のバス幅を確保するために、動作周波数の高速化、メモリの大容量化等が考えられるが、これらはコストアップに直接繋がってしまう。
【０００３】
また、一般的にデジタルカメラやデジタルビデオカメラなどの撮像装置では、集積回路内での全ての画像処理を終えると、ＳＤカード等の外部記録装置に記録する。そして、その記録の際には、記録対象の画像に圧縮処理を行い、非圧縮のときに比べてより大きな画像サイズ、より多くの枚数の画像データを、同じ容量の外部記録装置に格納している。ここで、この圧縮処理には、ＪＰＥＧ、ＭＰＥＧといった符号化方式が用いられている。
【０００４】
特許文献１では、画像データの圧縮処理を、撮像素子から入力される画素信号（ＲＡＷデータ）に対しても展開することにより、撮像素子の多画素化が進んで信号処理の負荷が増大する場合でも、メモリへの書き込み及び読み出しの際に必要なバス帯域を削減し、高速操作を可能にすることを目的としている。また、バス帯域の保証と圧縮処理量の削減のために固定長符号化方式を採用している。その実装方法については、任意の画像領域の画素データから最大値と最小値を算出し、領域内の局所的なダイナミックレンジを求め、領域内の全ての画素から、算出された最小値を減算した値を、求められたダイナミックレンジに応じた量子化幅で量子化することにより、画像データの固定長符号化を行っている。
【０００５】
また、特許文献２では、一般的に連写枚数は、バッファメモリに格納可能なＲＡＷデータの枚数に依存するため、ＲＡＷデータを圧縮することによりメモリの使用量を抑え、連写枚数を増やすことを目的としている。特許文献２においても、連写枚数の保証のため固定長符号化を採用しており、その実装方法については、隣接画素との差分値から量子化幅を決定し、その量子化幅から一意に求まるオフセット値を圧縮対象の画素値から減算することにより、被量子化処理値を決定するため、メモリを必要とせず、低い符号化演算処理負荷を確保した状態で、圧縮処理を実現する画像符号化装置及び復号化装置を提供している。
【０００６】
特許文献３においても、ＲＡＷデータの圧縮について述べられており、撮像素子の欠陥画素の扱いを課題としている。特許文献３では、欠陥画素であるという情報を含む画素データが入力された場合でも、後段の画像処理において欠陥画素を正しく検出し、補正できるように符号化する画像符号化装置を提供している。その実装方法については、欠陥画素である場合は、特定の量子化代表値に割り当て、欠陥画素以外の場合には、特定の量子化代表値を除く量子化値に割り当てて符号化することにより、欠陥画素である情報を、可逆的に符号化・復号化し、後段の処理において確実に復元させて、正しく補正することを可能としている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２２８５１５号公報
【特許文献２】特開２００７−０３６５６６号公報
【特許文献３】特開２００７−１０４５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載の撮像装置では、同一領域内における最小値との差分値を量子化しており、領域内のダイナミックレンジが大きいほど量子化幅も大きくなる。これは、領域内のダイナミックレンジが広い場合は、画像として大きく変化している可能性が高く、細かいレベル変化は視覚的に感知しにくいという視覚特性を利用している。しかし、暗い画像中に白傷などの撮像素子の欠陥画素が存在した場合、欠陥画素が含まれる領域では、最大値と最小値との差が極端に大きくなってしまう。この場合、被写体の変化にかかわらず、欠陥画素が含まれる領域は、ダイナミックレンジが広いと判断される。そして、領域に含まれる画素は全て、大きな量子化幅を用いて一律量子化され、視覚的に大きな劣化として捉えられるという問題がある。
【０００９】
また、特許文献２においても、圧縮対象画素と直前の画素との差分値の最大値により量子化幅を決定し、量子化するため、同様の原理により問題が生じる。
【００１０】
図１は、特許文献３の画像符号化、復号化装置を含むデジタル信号処理回路１００の構成を示すブロック図である。特許文献３では、ＲＡＷデータのメモリへの書き込み及び読み出しの際のバス帯域の削減による、処理の高速化を目的としている。従って、前処理部１０３で前処理された画素データを画像符号化装置１０１により圧縮して、メモリ１０５上に格納し、画像復号化装置１０２では、メモリ１０５に格納された画素データを伸張して信号処理部１０４に送る。このとき、特許文献３では、画像符号化装置１０１において、画素値が特定の画素値である場合には、欠陥画素であるとして、特定の量子化代表値に割り当てて符号化する。そして、画像復号化装置１０２では、符号化された量子化代表値が特定の量子化代表値である場合には、これを欠陥画素として特定の画素値を割り当てて復号化することにより、欠陥画素であるという情報を、可逆的に符号化、復号化している。しかし、特許文献３では、予め前処理部１０３において、画像中の欠陥画素の位置を検出し、その画素値を、特定の画素値に割り当ててあることを前提としており、欠陥画素の画素値が、そのまま画像符号化装置１０１に入力されてきた場合については、言及されていない。
【００１１】
その一方で、一般的にデジタルスチルカメラ等に搭載される集積回路内の画像処理においては、撮像素子から入力された画素データを、ＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等のメモリに一時記憶させる。そして、一時記憶された画素データに対して所定の画像処理や、ＹＣ信号生成、拡大・縮小等のズーム処理等を行い、処理後の画素データを、再度ＳＤＲＡＭに一時記憶する。その際、画像の任意の領域を切り出す場合や、画素の上下間の参照・相関を必要とする画像信号処理を行う場合など、任意領域の画素データをメモリから読み出すよう要求されることが多い。この際、可変長符号データでは、符号データの途中から任意領域を読み出すことはできず、ランダムアクセス性を損なうことになる。そのため、特許文献２においては、量子化処理により固定長の符号へと変換し、メモリの使用量と、メモリのアクセス量とを削減している。
【００１２】
本発明は上記の問題を鑑みたものであり、その目的は、固定長符号化を採用した画像符号化方法により、ランダムアクセス性は維持したまま、量子化処理における量子化幅を、画素単位で適応的に切り替えることにより、欠陥画素や急峻なエッジの発生による影響が平坦な領域に伝播するのを抑圧することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の画像符号化方法は、圧縮対象の画素の画素データを入力し、入力された前記画素データを圧縮する画像符号化方法であって、圧縮対象の画素の周辺に位置する少なくとも１つの周辺画素から、前記画素データの予測値を生成する予測画素生成ステップと、前記画素データと、前記予測画素生成ステップで生成された前記予測値との間の差分値を、前記画素データよりも少ないビット数である量子化値へと量子化することにより、前記画素データを、前記量子化値へと圧縮する量子化ステップと、前記量子化ステップにおける量子化幅を決定する量子化幅決定ステップと、を含み、前記量子化幅決定ステップは、複数の前記画素から構成するグループ単位で、平坦部とエッジ部とが混在しているか否かを判定し、判定結果に基づいて前記量子化ステップにおける量子化幅を画素単位で適応的に切り替えることを特徴とする。
【００１４】
従って、本発明では、平坦部とエッジ部とが混在しているか否かを判定し、その判定結果に基づいて量子化処理における量子化幅を画素単位で適応的に切り替えるので、欠陥画素や急峻なエッジが発生している領域においても、量子化誤差が平坦な領域にまで伝播するのを抑えることが可能となる。
【００１５】
また、本発明では、画像符号化方法が固定長符号化でも実現可能であるので、生成された複数の固定長の符号化データを例えばメモリ等に記憶させた場合にも、画像内の特定の箇所の画素に対応した符号化データを容易に特定することができ、その結果、符号化データに対するランダムアクセス性を維持することができる。すなわち、本発明では、メモリへのランダムアクセス性は維持したまま、従来よりも、欠陥画素や急峻なエッジが発生している領域の画質劣化を、抑圧することができる。
【発明の効果】
【００１６】
以上説明したように、本発明の画像符号化方法によれば、欠陥画素や急峻なエッジが発生している領域においても、量子化誤差が平坦な領域にまで伝播するのを抑えることが可能である。
【００１７】
更に、本発明によれば、メモリへのランダムアクセス性は維持したまま、従来よりも欠陥画素や急峻なエッジが発生している領域の画質劣化を抑圧することが可能である。
【図面の簡単な説明】
【００１８】
【図１】特許文献３のデジタル信号処理回路を説明するブロック図である。
【図２】本発明の実施形態１における画像符号化方法を示すフローチャート図である。
【図３】同実施形態における画像符号化装置の構成を示すブロック図である。
【図４】同実施形態における画像符号化方法での量子化幅の決定方法を示すフローチャート図である。
【図５】同画像符号化装置に備える予測画素生成部における予測式を説明する図である。
【図６（ａ）】同実施形態における画像符号化処理例と各演算結果を示す図である。
【図６（ｂ）】同実施形態を適用しない従来の画像符号化処理例と各演算結果を示す図である。
【図７】画像符号化処理における差分値と量子化値のビットイメージを示し、同図（ａ）は平坦部とエッジ部とが同グループに混在しないと判断された符号化対象画素に対応する差分値Ｄと量子化値のビットイメージを示す図、同図（ｂ）はエッジ画素のビットイメージを示す図、同図（ｃ）はエッジ画素以外の画素のビットイメージを示す図である。
【図８】同実施形態における量子化情報を示す図である。
【図９】（ａ）は画像符号化前のビットイメージを示す図、同図（ｂ）は画像符号化後のビットイメージを示す図である。
【図１０】同実施形態における画像復号化処理を示すフローチャート図である。
【図１１】同実施形態における画像復号化装置の構成を示すブロック図である。
【図１２】同実施形態における画像復号化処理例と各演算結果を示す図である。
【図１３】本発明の実施形態２におけるエッジ部量子化幅及び平坦部量子化幅の選択パターンを示す図である。
【図１４】同実施形態における差分値と量子化値のビットイメージを示し、同図（ａ）はエッジ画素のビットイメージを示す図、同図（Ｂ）はエッジ画素以外の画素のビットイメージを示す図である。
【図１５】同実施形態における量子化情報を示す図である。
【図１６】本発明の実施形態３におけるデジタルスチルカメラの構成を示すブロック図である。
【図１７】本発明の実施形態４におけるデジタルスチルカメラの構成を示すブロック図である。
【図１８】本発明の実施形態５における監視カメラの構成を示すブロック図である。
【図１９】本発明の実施形態６における監視カメラの構成を示すブロック図である。
【図２０】本発明の実施形態１における画像復号化方法での量子化幅の決定方法を示すフローチャート図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について図面を参照しながら説明する。尚、以下の各実施形態や各変形例の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付してその説明を省略する。
【００２０】
（実施形態１）
本実施形態における画像符号化装置の符号化処理、及び画像復号化装置の復号化処理の全て又は一部は、ＬＳＩ（Large Scale Integration）などのハードウェアや、ＣＰＵ（Central Processing Unit）等により実行されるプログラムによって構成され、これは以下の実施形態でも同様である。
【００２１】
＜画像符号化処理＞
先ず、図２及び図３を参照し、画像符号化装置３００が行なう、画像を符号化するための処理（以下、画像符号化処理という）について説明する。前記図３に示す画像符号化装置３００は例えば固体撮像素子に備えられる。
【００２２】
図２は、本発明の実施形態１における画像符号化方法を示すフローチャートである。また、図３は、本発明の実施形態１における画像符号化装置の構成を示すブロック図である。
【００２３】
符号化対象となる画素（以下、符号化対象画素という）は、処理対象画素値入力部３０１に入力される。本実施形態において、各画素データはＮビット長のデジタルデータとし、各々の画素データに対応した量子化後の画素データ(以下、量子化値という)をＭビット長とする。また、少なくとも１画素以上の先頭の符号化対象画素の画素値（以降、初期画素値という）と、複数の画素データに対応した量子化値と、量子化値の量子化幅の情報を表す符号（以下、量子化情報という）を、パッキング部３０５によりＳビット長にパッキングする。そして、パッキングされたパッキングデータを、画像符号化装置３００から出力する。
【００２４】
尚、ここで、自然数Ｎ、Ｍ、Ｓは、予め決められているものとする。
【００２５】
処理対象画素値入力部３０１に入力された画素データは、適切なタイミングで予測画素生成部３０２と、差分演算部３０３とへと、処理対象画素値入力部３０１から出力される。但し、着目している符号化対象画素が、初期画素値として入力された場合（図２のステップＳ１０１でＹＥＳの場合）、処理対象画素値入力部３０１は、量子化処理を省き、受信した符号化対象画素をＮビット長の初期画素値として、直接、パッキング部３０５に出力する。初期画素値は、差分を演算する上で基準となる値であり、本実施形態においては、Ｓビット長のパッキングデータ毎に少なくとも一つ挿入する。
【００２６】
着目している符号化対象画素が、初期画素値でない場合（図２のステップＳ１０１でＮＯの場合）は、予測画素生成処理に移行する。予測画素生成処理において、予測画素生成部３０２に入力される画素データは、着目している符号化対象画素よりも先に入力された初期画素値、又は、以前の符号化対象画素又は先に符号化されて後述する画像復号化装置に送られて復号化された画素データの何れかである。予測画素生成部３０２は、入力された画素データを用いて、着目している符号化対象画素の予測値を生成する（図２のステップ（予測画素生成ステップ）Ｓ１０２）。
【００２７】
尚、ここで、画素データに対する符号化方法として予測符号化がある。予測符号化とは、符号化対象画素に対する予測値を生成し、符号化対象画素の画素値と予測値の差分値を符号化する符号化の方式である。予測符号化では、入力が画素データの場合、着目している符号化対象画素の値と、近接する画素の値が同一である、又は、近い可能性が高いということに基づき、近傍の画素データの画素値から、符号化対象画素の値を予測することにより、差分値をできるだけ小さくして量子化幅を抑える効果がある。
【００２８】
図５は、予測値の算出に用いられる近接する画素の配置を示す図である。図５中の“ｘ”は着目している符号化対象画素の画素値を示す。また、“ａ”、“ｂ”、“ｃ”は、符号化対象画素の予測値“ｙ”を求めるための、３つの近接画素の画素値である。以下に、一般的に用いられる予測式（１）〜（７）を示す。
ｙ＝ａ  …（１）
ｙ＝ｂ  …（２）
ｙ＝ｃ  …（３）
ｙ＝ａ＋ｂ−ｃ  …（４）
ｙ＝ａ＋（ｂ−ｃ）／２  …（５）
ｙ＝ｂ＋（ａ−ｃ）／２  …（６）
ｙ＝（ａ＋ｂ）／２  …（７）
予測画素生成部３０２は、このように、符号化対象画素の近接画素の画素値“ａ”、“ｂ”、“ｃ”を用いて符号化対象画素の予測値”ｙ”を求める。そして、予測画素生成部３０２は、この予測値“ｙ”と符号化対象画素の画素値“ｘ”との予測誤差Δ（＝ｙ−ｘ）を求め、この予測誤差Δを符号化する。予測画素生成部３０２では、前記した予測符号化で用いられる予測式（１）〜（７）の何れかの予測式を用いて予測値を算出し、差分値演算部３０３に出力する。尚、前記した予測式に限らず、圧縮処理で利用可能な、内部のメモリバッファが確保できる場合は、符号化対象画素に隣接している画素以外の周辺画素もメモリバッファに保持しておき、予測に使用することにより、予測精度を向上することも可能である。本実施形態においては、一例として、ステップＳ１０２において予測式（１）を使用する。
【００２９】
差分値演算部３０３は、処理対象画素値入力部３０１から受信した符号化対象画素の画素値と、予測画素生成部３０２から受信した予測値との差分値Ｄを算出し、予測誤差を求める。図２のステップＳ１０３で算出された差分値は、量子化幅決定部３０６と、量子化処理部（量子化部）３０４に出力される。
【００３０】
量子化幅決定部３０６は、先ず、差分値演算部３０３から受信した各符号化対象画素に対応する差分値Ｄに基づき、着目している符号化対象画素の差分値Ｄの量子化幅（以下、単位量子化幅Ｑという）を求める。
【００３１】
この単位量子化幅Ｑとは、差分値Ｄの絶対値（以下、差分絶対値という）をバイナリコードで表した際の桁数（ビット数）に１を加えた値から、量子化値のビット長Ｍを引いた値を指す。つまり、差分値Ｄの符号つき整数バイナリ表現に必要なビット数と、量子化値のビット長Ｍとの差に等しい。ここで、Ｑは正の整数であり、差分値Ｄのビット数がＭよりも小さい値をとる場合は、Ｑは“０”とする（図１のステップＳ１０４）。尚、単位量子化幅Ｑは、実質的な量子化幅を決定するための値であり、量子化処理における量子化幅そのものではない。算出された単位量子化幅Ｑは、量子化幅決定部３０６内の初期量子化幅算出部３０７と、エッジ部量子化幅算出部３０８、エッジ判定部３０９、エッジ画素判別部３１０に入力される。
【００３２】
ステップＳ１０５では、量子化幅決定部３０６が、予め決められた所定の画素数Ｐｉｘ＿Ｇの画素データ（複数の符号化対象画素）について、単位量子化幅Ｑが全て決定されたか否かの判定を行う。
【００３３】
ここで、画素数Ｐｉｘ＿Ｇは、数が多いほど、他の画素データの影響を受けるため、量子化誤差による画質劣化が発生し易くなるというデメリットがあるが、同じビット長Ｓで送信可能になる画素数が増え、圧縮率が向上するというメリットがある。
【００３４】
ステップＳ１０５において、この判定の判定結果がＮＯならば、処理はステップＳ１０２に移行し、次に処理対象画素値入力部３０１が受信した符号化対象画素に対して、ステップＳ１０２〜ステップＳ１０４までの少なくとも一つの処理を実行する。一方、ステップＳ１０５において、その判定結果がＹＥＳならば、ステップＳ１０６に移行する。
【００３５】
図４は、本実施形態における量子化幅の決定方法を示すフローチャートであり、ステップ（量子化幅決定ステップ）Ｓ１０６における処理の詳細を示している。図４を参照して、ステップＳ１０６の量子化幅決定処理について説明する。
【００３６】
ステップＳ１０６では、量子化幅決定部３０６内において、量子化幅選択部３１１が、符号化対象画素に対応する量子化幅を、初期量子化幅算出部３０７の出力結果である初期量子化幅と、エッジ部量子化幅算出部３０８の出力結果であるエッジ部量子化幅及び平坦部量子化幅とから選択する。
【００３７】
図４の量子化幅決定ステップでは、先ず、ステップＳ２０１の処理が行われる。ステップ（初期量子化幅算出ステップ）Ｓ２０１では、初期量子化幅算出部３０７が、画素数Ｐｉｘ＿Ｇから構成されるグループ単位で、そのグループの何れの符号化対象画素の量子化でも利用される、共通の量子化幅を初期量子化幅（第１量子化幅）として算出、決定する。具体的には、グループ内のＰｉｘ＿Ｇ個の符号化対象画素に対応する、Ｐｉｘ＿Ｇ個の単位量子化幅Ｑの中から、最大の幅である量子化幅Ｑ＿ＭＡＸを、初期量子化幅とする。ステップＳ２０１において、初期量子化幅を決定すると、処理はステップＳ２０２に移行する。
【００３８】
ステップ（エッジ部量子化幅算出ステップ）Ｓ２０２では、グループの絵柄が、平坦部とエッジ部とが混在している場合に使用する量子化幅を、エッジ部量子化幅算出部３０８が算出する。即ち、エッジ部量子化幅算出部３０８は、エッジ部の量子化処理における量子化幅であるエッジ部量子化幅（第２量子化幅）と、平坦部の量子化処理における量子化幅である平坦部量子化幅（第３量子化幅）との２つの量子化幅を算出する。具体的には、エッジ部量子化幅算出部３０８では、初期量子化幅に１加算した量子化幅をエッジ部量子化幅とし、初期量子化幅よりも小さい値を、平坦部量子化幅として設定する。ステップＳ２０２において、エッジ部量子化幅及び平坦部量子化幅を決定すると、処理はステップＳ２０３に移行する。
【００３９】
ステップ（エッジ判定ステップ）Ｓ２０３では、エッジ判定部３０９が、符号化対象画素が属するグループの絵柄が、平坦部とエッジ部とが混在しているか否かを判定する。エッジ判定部３０９は、グループ内のＰｉｘ＿Ｇ個の符号化対象画素に対応するＰｉｘ＿Ｇ個の単位量子化幅Ｑの最大の幅である量子化幅Ｑ＿ＭＡＸと、最小の幅である量子化幅Ｑ＿ＭＩＮとの差分をとる。そして、その差が、所定の閾値（第１の閾値）ＴＨ１以上である場合は、着目しているグループ内の絵柄が、平坦部とエッジ部とが混在していると判断する。量子化幅Ｑ＿ＭＡＸと、量子化幅Ｑ＿ＭＩＮとの値が所定の閾値ＴＨ１以上離れているということは、グループ内に、予測値との差分の大きい符号化対象画素と、差分の小さい符号化対象画素とが混在していると判断でき、即ち、平坦な領域とエッジが混在していると想定できるからである。ステップＳ２０３において、平坦部とエッジ部とが混在しているか否かを判定すると、処理はステップＳ２０４に移行する。
【００４０】
ステップ（エッジ画素判別ステップ）Ｓ２０４では、エッジ画素判別部３１０において、グループ内の各符号化対象画素が、エッジが発生している画素（以下、エッジ画素という）か否かを判別する。エッジ画素においては、符号化対象画素の画素値と予測値との差分値が十分に大きくなるため、符号化対象画素に対応する単位量子化幅Ｑの値が所定の閾値（第４の閾値）ＴＨ２以上である場合に、エッジ画素と判断する。グループ内のエッジ画素を判別すると、処理はステップＳ２０５に移行する。
【００４１】
尚、ステップＳ２０１〜ステップＳ２０４における処理は、並行して行っても構わない。
【００４２】
次に、ステップＳ２０５において、エッジ判定部３０９の判定結果により、符号化対象画素が属するグループの絵柄が、平坦部とエッジ部とが混在していると判定された場合（ステップＳ２０５でＹＥＳの場合）、処理はステップＳ２０７に移行する。一方、ステップＳ２０５において、判定結果がＮＯならば、処理は後述するステップＳ２０６に移行する。
【００４３】
ステップＳ２０７では、エッジ画素判別部３１０の判別結果により、着目している符号化対象画素がエッジ画素の場合は、処理はステップＳ２０８に移行する。
【００４４】
ステップＳ２０８では、着目している符号化対象画素がエッジ画素であるため、符号化対象画素に対応する量子化幅として、エッジ部量子化幅算出部３０８により算出されたエッジ部量子化幅を選択する。ステップＳ２０７において、この判定の判定結果がＮＯならば、処理はステップＳ２０９に移行する。
【００４５】
ステップＳ２０９では、エッジ判定部３０９の判定結果と、エッジ画素判別部３１０の判別結果により、着目している符号化対象画素は、エッジが近接する平坦部であると判断できるため、符号化対象画素に対応する量子化幅として、エッジ部量子化幅算出部３０８により算出された平坦部量子化幅を選択する。
【００４６】
ステップＳ２０５において、この判定の判定結果がＮＯならば、符号化対象画素が属するグループの絵柄が、全体的に平坦か、又は、予測値と符号化対象画素の画素値との差分値が大きくなるような変化が、複数領域に発生しているような複雑な絵柄であると判断できる。即ち、初期量子化幅が、元々、小さい量子化幅であるか、又は、絵柄が複雑であるため、グループ内の全ての符号化対象画素が、大きい量子化幅で一律量子化しても、視覚的に劣化が感知されにくい条件であると言える。そのため、ステップＳ２０６では、グループ内の符号化対象画素に対応する量子化幅は全て、初期量子化幅算出部３０７により算出された初期量子化幅とする。
【００４７】
各画素に対応する量子化幅が決定されると、処理はステップＳ１０７に移行する。
【００４８】
ステップ（量子化ステップ）Ｓ１０７では、量子化処理部３０４において量子化処理が施される。量子化処理部３０４は、量子化幅選択部３１１で決定した量子化幅により、差分値演算部３０３から受信した、符号化対象画素の画素値と、その予測値との差分値Ｄを量子化する量子化処理を行う。尚、量子化処理とは、差分値Ｄを量子化幅の数だけ下位にビットシフトする処理である。量子化処理部３０４は、量子化幅が“０”である場合、量子化は行なわない。量子化処理部３０４から出力された量子化値はパッキング部３０５へ送られる。
【００４９】
ステップＳ１０８では、グループ内の符号化対象画素の画素数Ｐｉｘ＿Ｇについて、量子化処理が全て終了したか否かの判定を行う。ステップＳ１０８においてＮＯならば処理はステップＳ１０７に移行し、同一グループ内における次の符号化対象画素に対してステップＳ１０７の量子化処理を実行する。一方、ステップＳ１０８においてＹＥＳならば、処理はステップＳ１０９に移行する。
【００５０】
ステップ（パッキングステップ）Ｓ１０９では、パッキング部３０５において、少なくとも１画素以上の初期画素値と、複数の量子化値と、少なくとも一つ以上のＪビット長（Ｊは自然数）の量子化情報とを結合させて、Ｓビットにパッキングする。更に、エッジ判定部３０９における判定結果によって、平坦部とエッジ部とが混在していると判断された場合は、量子化値にエッジフラグを１ビット埋め込む。そして、パッキング部３０５は、パッキングされたパッキングデータを外部のＳＤＲＡＭ等のメモリ、又は、後述する画像復号化装置に出力する。設定する固定ビット長Ｓとしては、使用する集積回路のデータ転送のバス幅のビット数と同じビット数が考えられる。パッキングデータのビットの後部において、未使用ビットが残存する場合は、Ｓビットに達するようダミーデータを記録する。
【００５１】
次に、本実施形態における画像符号化処理の詳細な説明を行なう。
【００５２】
図６は、本実施形態における画像符号化処理を説明するための図である。図６（ａ）は、本実施形態に係る画像符号化処理の例であり、図６（ｂ）は本実施形態を適用しない従来の画像符号化処理の例である。
【００５３】
ここで、処理対象画素値入力部３０１は、固定ビット長（Ｎビット）の画素データを、順次、受信するとする。また、処理対象画素値入力部３０１が受信する画素データのデータ量は１０ビット（Ｎ＝１０）であるとする。即ち、画素データのダイナミックレンジは１０ビットであるとする。ここで、量子化値のビット長Ｍは７ビットであるとする。また、パッキング部３０５は受信したデータをＳビットにパッキングして、パッキングされたパッキングデータを画像符号化装置３００から外部に出力する。設定する固定ビット長Ｓは、４８ビットとする。ここで、１グループを構成する画素数Ｐｉｘ＿Ｇは、例えば、“５”であるとする。
【００５４】
図６（ａ）には、一例として、処理対象画素値入力部３０１に入力される６個の符号化対象画素の画素データ（以下、符号化対象画素データという）が示される。処理対象画素値入力部３０１には、画素Ｐ１，Ｐ２…Ｐ６の順で、各画素に対応する１０ビットの画素データが入力されるとする。画素Ｐ１〜Ｐ６内に示される数値（１５０等）は、画素データが示す信号レベルである。尚、画素Ｐ１に対応する画素データは先頭の符号化対象画素であり、その画素値は初期画素値であるとする。
【００５５】
本実施形態では、符号化対象画素の予測値は、一例として、予測式（１）により予測画素生成部３０２によって算出されるものとする。この場合、算出される符号化対象画素の予測値は、符号化対象画素の左隣の画素の値（図５のａ）となる。すなわち、予測画素生成部３０２は、符号化対象画素の画素値が一つ前に入力された画素と同一の画素値（信号レベル）になる可能性が高いと予測していることになる。
【００５６】
図２の画像符号化処理では、先ず、ステップＳ１０１の処理が行なわれる。ステップＳ１０１では、処理対象画素値入力部３０１が、入力された符号化対象画素データが初期画素値であるか否かを判定する。ステップＳ１０１において、その判定がＹＥＳならば、処理対象画素値入力部１０１は、受信した画素データを内部のバッファに記憶させ、処理対象画素値入力部３０１は、入力された画素データをパッキング部３０５へ送信する。そして、処理は後述するステップＳ１０９に移行する。一方、ステップＳ１０１においてその判定がＮＯならば、処理はステップＳ１０２に移行する。
【００５７】
ここで、処理対象画素値入力部３０１は、画素Ｐ１に対応する画素データを初期画素値として受信したとする。この場合、処理対象画素値入力部３０１は、入力された画素データを内部のバッファに記憶させ、処理対象画素値入力部３０１は、受信した画素データをパッキング部３０５へ送信する。尚、バッファに画素データが記憶されている場合、処理対象画素値入力部３０１は、受信した画素データを内部のバッファに上書き記憶させる。
【００５８】
ここで、画素Ｐ２が符号化対象画素であるとする。この場合、処理対象画素値入力部３０１は、画素Ｐ２に対応する符号化対象画素データを受信したとする。符号化対象画素データが示す画素値は“１０２３”（図６（ａ）参照）であるとする。この場合、受信した画素データは、初期画素値ではないので（ステップＳ１０１でＮＯ）、処理対象画素値入力部３０１は受信した画素データを差分値演算部３０３へ送信する。
【００５９】
また、ステップＳ１０１でＮＯと判定された場合、処理対象画素値入力部３０１は内部のバッファに記憶されている画素データを予測値画素生成部３０２へ送信する。ここで、送信される画素データは、画素Ｐ１の画素値“１５０”を示すとする。
【００６０】
また、処理対象画素値入力部３０１は、受信した画素データを内部のバッファに上書き記憶させる。そして、処理はステップＳ１０２に移行する。
【００６１】
ステップＳ１０２では、予測値画素生成部３０２が符号化対象画素の予測値を算出する。具体的には、予測値画素生成部３０２は、先述の通り、例えば予測式（１）を使用して、予測値を算出する。この場合、予測値画素生成部３０２が処理対象画素値入力部３０１から受信した画素Ｐ１の画素値（“１５０”）が予測値として算出される。予測値画素生成部３０２は、算出した予測値“１５０”を差分値演算部３０３へ送信する。
【００６２】
ステップＳ１０３では、差分値演算部３０３が差分値演算処理を行う。具体的には、差分値演算部３０３が、処理対象画素値入力部３０１から受信した符号化対象画素データから、予測値画素生成部３０２から受信した予測値を減算し、差分値Ｄを算出する。ここで、受信した符号化対象画素データの画素値が“１０２３”であり、予測値が“１５０”であるとする。符号化対象画素データ（“１０２３”）から、予測値（“１５０”）を減算することにより、差分値Ｄ“８７３”を算出する。また、差分値演算部３０３は、算出した差分値Ｄを量子化処理部３０４と量子化幅決定部３０６へ各々送信する。
【００６３】
ステップＳ１０４では、量子化幅決定部３０６が、入力された画素毎に単位量子化幅Ｑを求める。量子化幅決定部３０６では、差分値Ｄの差分絶対値をバイナリコードで表した際の桁数に１を加えた値、即ち、差分値Ｄのビット数を求める。そして、差分値Ｄのビット数から量子化値のビット長Ｍを引いた値を単位量子化幅Ｑとする。ここで、差分値Ｄは、“８７３”であるとする。差分絶対値は“８７３”となり、そのビット数は１０ビットとなる。ビット長Ｍは７ビットであるとすると、Ｑ＝１０＋１−７で、画素Ｐ２の単位量子化幅Ｑは、“４”となる。尚、Ｑは正の整数であるため、差分値のビット数が量子化値のビット長Ｍよりも小さい値をとる場合は、Ｑは０とする。量子化幅決定部３０６は、求めた単位量子化幅Ｑを、量子化幅決定部３０６内の初期量子化幅算出部３０７と、エッジ部量子化幅算出部３０８、エッジ判定部３０９、エッジ画素判別部３１０にそれぞれ送信する。
【００６４】
ステップＳ１０５では、量子化幅決定部３０６が、グループを構成する画素数Ｐｉｘ＿Ｇの画素データについて、単位量子化幅Ｑが全て決定されたか否かの判定を行う。ここで、着目している符号化対象画素が画素Ｐ２であり、画素数Ｐｉｘ＿Ｇが“５”であるとする。このとき、ステップＳ１０５の判定において、判定結果はＮＯであり、処理はステップＳ１０２に移行する。次に、処理対象画素値入力部３０１が受信した画素（Ｐ３）の画素データに対して、ステップＳ１０２からステップＳ１０４までの処理を実行する。画素Ｐ６までの入力された画素に対して、単位量子化幅Ｑが全て決定されると、ステップＳ１０５の判定において、ＹＥＳと判定され、ステップＳ１０６に移行する。
【００６５】
ステップＳ１０６では、量子化幅決定部３０６内において、量子化幅選択部３１１が、符号化対象画素に対応する量子化幅を、初期量子化幅とエッジ部量子化幅及び平坦部量子化幅とから、エッジ有無の情報とエッジフラグとに基づいて選択する。
【００６６】
ステップＳ１０６では、先ず、ステップＳ２０１の処理が行われる。ステップＳ２０１では、初期量子化幅算出部３０７が、グループ内のＰｉｘ＿Ｇ個の画素に対応する、Ｐｉｘ＿Ｇ個の単位量子化幅Ｑの中から、最大の幅である量子化幅を、最大量子化幅Ｑ＿ＭＡＸとして算出する。図６（ａ）において各符号化対象画素の単位量子化幅Ｑは”４”、”４“、”０“、”０“、”０“であるため、最大量子化幅Ｑ＿ＭＡＸは、”４“となる。ここで算出した最大量子化幅Ｑ＿ＭＡＸは、量子化幅決定部３０６により、グループ内の全画素に対して共通の量子化幅となる初期量子化幅として設定される。つまり、グループに属する何れの符号化対象画素の量子化幅も、初期量子化幅は、その最大量子化幅Ｑ＿ＭＡＸである。
【００６７】
次に、ステップＳ２０２では、エッジ部量子化幅算出部３０８が、エッジ部の量子化処理における量子化幅であるエッジ部量子化幅と、平坦部の量子化処理における量子化幅である平坦部量子化幅とを算出する。エッジ部量子化幅は、初期量子化幅に１加算した量子化幅である。ここで、初期量子化幅は、“４”であるため、エッジ部量子化幅は“５”となる。
【００６８】
一方、平坦部量子化幅は、平坦部の量子化処理における量子化幅であり、エッジ画素以外の符号化対象画素の量子化処理において使用される量子化幅となる。エッジ画素か否かの判定は、エッジ画素判別部３１０が、後述する処理により判定する。その際の判定方法としては、単位量子化幅Ｑの値が所定の閾値（第４の閾値）ＴＨ２以上である場合に、エッジ画素と判断する。平坦部量子化幅は、初期量子化幅より小さい量子化幅に設定することにより、エッジ画素以外の領域の量子化誤差を低減することを目的としており、例えば量子化幅“２”とする。
【００６９】
ステップＳ２０３では、エッジ判定部３０９が、グループの絵柄が平坦部とエッジ部とが混在しているか否かを判定する。エッジ判定部３０９は、グループ内のＰｉｘ＿Ｇ個の単位量子化幅Ｑの最大の幅である量子化幅Ｑ＿ＭＡＸと、最小の幅である量子化幅Ｑ＿ＭＩＮとの差分をとり、その差が所定の閾値（第1の閾値）ＴＨ１以上である場合は、着目しているグループ内の絵柄が、平坦な領域とエッジが混在していると判断する。ここで、グループ内の最大量子化幅Ｑ＿ＭＡＸが“４”であり、また、最小量子化幅Ｑ＿ＭＩＮが“０”であったとする。そして、エッジを判定する閾値ＴＨ１の値が“３”であったとする。この場合、最大量子化幅Ｑ＿ＭＡＸと最小量子化幅Ｑ＿ＭＩＮとの差を演算すると、Ｑ＿ＭＡＸ―Ｑ＿ＭＩＮ＝４−０＝４となる。閾値ＴＨ１と比較すると、４≧３が成立するため、着目しているグループは、平坦な領域とエッジとが混在している絵柄であると判断できる。
【００７０】
尚、平坦部とエッジ部とが混在しているか否かを判定する方法として、グループ内の最大量子化幅Ｑ＿ＭＡＸと最小量子化幅Ｑ＿ＭＩＮとに各々対応する閾値（第２の閾値）ＴＨ３と閾値（第３の閾値）ＴＨ４を、それぞれ予め設定しておいてもよい。ここで、閾値ＴＨ３は、エッジ部を定義するための差分値Ｄの閾値を表し、閾値ＴＨ４は、平坦部を定義するための差分値Ｄの閾値を表す。このため、最大量子化幅Ｑ＿ＭＡＸが閾値ＴＨ３以上であり、かつ、最小量子化幅Ｑ＿ＭＩＮが閾値ＴＨ４以下である場合に、平坦部とエッジ部とが混在していると判定することができる。
【００７１】
エッジ判定部３０９は、エッジ判定処理を終了すると、エッジ有無の情報を量子化幅選択部３１１へ送信する。
【００７２】
ステップＳ２０４では、エッジ画素判別部３１０が、着目している符号化対象画素がエッジ画素か否かを判別する。エッジ画素判別部３１０は、単位量子化幅Ｑの値が所定の閾値ＴＨ２以上である場合に、エッジ画素と判断し、判別結果はエッジフラグとして量子化幅選択部３１１へ送信する。エッジフラグは、エッジ画素である場合は”１“を設定し、エッジ画素以外の場合は”０“を設定するものとする。ここで、閾値ＴＨ２の値が“２”であったとする。図６（ａ）において、画素Ｐ２〜Ｐ６の単位量子化幅Ｑは”４”、”４“、”０“、”０“、”０“であるため、それぞれ閾値ＴＨ２の値“２”と比較することにより、閾値ＴＨ２以上の符号化対象画素をエッジ画素と判断し、エッジフラグの値は、”１”、”１“、”０“、”０“、”０“となる。
【００７３】
尚、単位量子化幅Ｑの値が所定の閾値ＴＨ２以上である場合に、エッジ画素と判断するということは、符号化対象画素の画素値と予測値との差分値のビット長が所定のビット以上である画素、つまり、所定の差分値以上となる画素では、急峻なエッジが発生していると判断しているのと等しい。エッジ画素判別部３１０が、算出したエッジフラグを量子化幅選択部３１１へ送信すると、処理はステップＳ２０５へ移行する。
【００７４】
尚、ステップＳ２０１〜ステップＳ２０４における処理は、グループ内の符号化対象画素に対応する単位量子化幅Ｑが全て算出されれば、実行可能な処理であるため、初期量子化幅算出部３０７と、エッジ部量子化幅算出部３０８、エッジ判定部３０９及びエッジ画素判別部３１０に、単位量子化幅Ｑが全て入力された時点で、並行して行っても構わない。
【００７５】
ステップＳ２０５では、前述したステップＳ２０３におけるエッジ判定部３０９の判定結果により、符号化対象画素が属するグループの絵柄について、平坦部とエッジ部とが混在しているか否かを判定する。
【００７６】
ここで、着目している符号化対象画素は、画素Ｐ２であるとする。量子化幅選択部３１１が、受信した初期量子化幅が“４”、エッジ部量子化幅が“５”、平坦部量子化幅が“２”であったとする。また、符号化対象画素が属するグループの絵柄が、平坦部とエッジ部とが混在していると、エッジ判定部３０９が判定したとする。また、量子化幅選択部３１１がエッジ画素判別部３１０から受信したエッジフラグの値が“１”であったとする。
【００７７】
量子化幅決定処理（図４参照）では、平坦部とエッジ部とが混在していると判定されたため、ステップＳ２０５においてＹＥＳと判定され、ステップＳ２０７へ移行する。ステップＳ２０７では、エッジフラグの値が“１”であるため、ＹＥＳと判定され、処理はステップＳ２０８へ移行する。ステップＳ２０８では、符号化対象画素に対応する量子化幅として、エッジ部量子化幅である量子化幅“５”が選択され、画素Ｐ２の量子化幅決定処理は終了する。
【００７８】
ステップＳ１０７では、量子化処理部３０４が、量子化幅選択部３１１で決定した量子化幅により、差分値演算部３０３から受信した差分値Ｄを量子化する。量子化処理では、量子化処理部３０４が量子化幅選択部３１１から受信した量子化幅をＱ＿Ｆｉｘｅｄとした場合、差分値Ｄを量子化幅Ｑ＿Ｆｉｘｅｄの数だけ下位にビットシフトする処理であり、これは、差分値Ｄを２のＱ＿Ｆｉｘｅｄ乗で除算する処理と等価である。ここで、差分値Ｄが“８７３”、量子化幅が“５”であったとする。この場合、量子化処理では、量子化処理部３０４は、“８７３”を２の５乗で除算することにより量子化処理を行って、量子化値“５”を算出する。
【００７９】
尚、量子化処理としては、例えば、ビットシフタを利用することにより、画像符号化装置３００の回路規模を削減することが可能となる。
【００８０】
ここで、量子化処理部３０４における量子化処理により、量子化誤差が発生したとき、画像符号化処理及び画像復号化処理において、予測値自体が一致せず、画質の劣化に繋がる場合がある。そのため、ステップＳ１０７において、量子化処理部３０４が量子化処理を実行する際に、予測画素生成部３０２における予測画素生成処理（図２のステップＳ１０２）において、予測値を再度算出し、符号化の対象となる差分値を求めて直してもよい。具体的には、ｈ番目の符号化対象画素の予測値を算出する際に、（ｈ−１）番目の画素データが初期画素値である場合は、（ｈ−１）番目の画素データが示す値そのものを予測値とする。一方、（ｈ−１）番目の画素データが初期画素値でない場合は、画像符号化装置３００により、一旦、符号化された（ｈ−１）番目のデータを後述する画像復号化装置に入力させ、復号化することにより得られる画素データが示す画素値を予測値とすればよい。これにより、量子化処理部３０４における量子化処理により量子化誤差が生じるような場合でも、画像符号化処理及び画像復号化処理において、予測値を一致させ、画質の劣化を抑圧することが可能となる。
【００８１】
図６（ａ）では、予測画素生成部３０２が、画像復号化処理により得られる画素データを予測値とした際の差分値を圧縮対象値として表し、量子化処理部３０４に送信するものとする。つまり、図６（ａ）に示した圧縮対象値とは、ステップＳ１０７において、量子化処理部３０４が量子化処理を実行する対象となる値であり、復号化結果と入力値（符号化対象画素データ）との差分値に等しい。
【００８２】
次に、ステップＳ１０８で、グループ内の画素数Ｐｉｘ＿Ｇについて、量子化処理が全て終了したか否かの判定を行う。ここで、着目している符号化対象画素は、画素Ｐ２であるとする。ステップＳ１０８ではＮＯと判定され、処理はステップＳ１０７へ移行する。以降の処理は、画素Ｐ３の画像符号化処理となり、前述した処理と重複するため、詳細な説明は繰り返さない。
【００８３】
画素Ｐ４の量子化幅決定処理においては、初期量子化幅及びエッジ部量子化幅、平坦部量子化幅、エッジ有無の情報は、グループで共通する値であるため、変更はない。しかし、量子化幅選択部３１１がエッジ画素判別部３１０から受信したエッジフラグの値が“０”であったとする。ステップＳ２０５では、平坦部とエッジ部とが混在していると判定されたため、ＹＥＳと判定され、ステップＳ２０７へ移行する。ステップＳ２０７では、エッジフラグの値が“０”であるため、ＮＯと判定され、処理はステップＳ２０９へ移行する。ステップＳ２０９では、符号化対象画素に対応する量子化幅として、平坦部量子化幅である量子化幅“２”が選択され、画素Ｐ４の量子化幅決定処理は終了する。
【００８４】
同様の処理を繰り返し実行し、グループ内の画素数Ｐｉｘ＿Ｇの符号化対象画素について、量子化幅決定部３０６で、各符号化対象画素に対応する量子化幅を決定し、量子化処理部３０４により量子化処理を実行する。
【００８５】
ステップＳ１０９では、パッキング部３０５が、エッジ判定部３０９によって平坦部とエッジ部とが混在していると判断された場合は、量子化値にエッジフラグを１ビット埋め込む。そして、少なくとも１画素以上の初期画素値と、複数の量子化値と、少なくとも一つ以上の量子化情報とを結合させて、Ｓビットにパッキングする。更に、パッキング部３０５は、量子化幅決定部３０６から受信した量子化幅の情報を符号化し、ビット長Ｊの量子化情報を生成する。
【００８６】
ここで、パッキング部３０５が、パッキングする量子化値の例を図７を用いて説明する。図７は、本実施形態の画像符号化処理における差分値Ｄと量子化値とのビットイメージを示す図である。そして、量子化処理部３０４が量子化処理を実行することにより、差分値Ｄのビットデータが、量子化値のビットデータとして、どのビット位置に格納されるかを表している。また、図７（ａ）は、エッジ判定部３０９によって平坦部とエッジ部とが同グループに混在しないと判断された符号化対象画素に対応する差分値Ｄと量子化値とのビットイメージを示し、図７（ｂ）は本実施形態のエッジ画素、図７（ｃ）は本実施形態のエッジ画素以外の画素のビットイメージをそれぞれ示している。
【００８７】
ここで、処理対象画素値入力部３０１が入力する画素データのビット長Ｎは１０ビットであるため、その差分値Ｄの符号つき整数のバイナリ表現に必要なビット長は、１１ビットとなる。図７においては、差分値Ｄの１１ビット中の最上位ビット（“ｂ１０”）は、正負符号を表すビットデータであるとする。また、量子化値のビット長Ｍは７ビットであり、図７における量子化値の最上位ビット（“ｂ６”）は、差分値Ｄの正負符号を表すビットデータが格納されるものとする。つまり、差分値Ｄの最上位ビット（“ｂ１０”）の情報がそのまま量子化値の最上位ビット（“ｂ６”）に格納される。具体的には、例えば、差分値演算部３０３において符号化対象画素データから予測値を減算した結果、差分値Ｄが正数である場合は、量子化処理部３０４は、量子化値の最上位ビットには“０”を設定し、負数である場合は、“１”を設定する。
【００８８】
ここで、予測値と符号化対象画素データとの差分値が大きかった場合、差分絶対値を表現するために１０ビット必要であったとする。エッジ判定部３０９によって平坦部とエッジ部とが混在していないと判断された場合は、差分値Ｄのビットデータｂ４〜ｂ９が量子化値のビットｂ０〜ｂ５に格納される（図７（ａ）参照）。ビットデータｂ０〜ｂ３の4ビットが省かれるということは、量子化処理部３０４が、初期量子化幅（“４”）によって量子化処理を施したためである。
【００８９】
本実施形態において、エッジ判定部３０９によって平坦部とエッジ部とが混在していると判断された場合は、エッジ画素の量子化値は、差分値Ｄのビットデータｂ５〜ｂ９が量子化値のビットｂ１〜ｂ５に格納される（図７（ｂ）参照）。これは、量子化処理部３０４が、エッジ部量子化幅（“５”）により量子化処理を施したことに相当する。ここで、ビットｂ０には、前述したエッジ画素判別部３１０により判別されるエッジフラグを格納する。即ち、量子化値を符号化したＭビットのビットデータのうち、差分値Ｄについての情報を格納できるビット長は、（Ｍ−１）ビットということになる。
【００９０】
一方、本実施形態において、エッジ判定部３０９によって平坦部とエッジ部とが混在していると判断された場合の、エッジ画素以外の画素においては、図７（ｃ）のように、差分値Ｄのビットデータｂ２〜ｂ６を量子化値のビットｂ１〜ｂ５に格納する。これは、量子化処理部３０４が、平坦部量子化幅（“２”）により量子化処理を施したことに相当する。エッジ画素以外の画素においても、エッジ画素と同様に、ビットｂ０にはエッジフラグを格納する必要があるため、量子化値のうち、差分値Ｄについての情報を表すビット長は、（Ｍ−１）ビットである。
【００９１】
ここで、エッジ画素判別部３１０がエッジ画素が否かを判別する際の単位量子化幅Ｑの閾値がＴＨ２であるとする。前述の通り、エッジ判定部３０９によって平坦部とエッジ部とが混在していると判断された場合、差分値Ｄについての情報を格納できる量子化値のビット長は、（Ｍ−１）ビットである。このため、エッジ画素判別部３１０は、差分値Ｄのビット長が、以下の式（８）で求められるビット長Ｌ以上であれば、エッジ画素と判断しているのと等しい。
Ｌ＝（ＴＨ２＋（Ｍ−１））      …（８）
換言すると、差分値Ｄのビット長がＬビット以上の符号化対象画素データは、図７（ｂ）のように、エッジ部量子化幅により量子化処理が施され、Ｌビットよりも小さい符号化対象画素データはエッジ画素ではないと判断され、図７（ｃ）のように、平坦部量子化幅により量子化処理が施される。
【００９２】
また、平坦部量子化幅は、平坦な領域の量子化誤差を低減するための量子化幅であるため、できるだけ小さな値に設定するのが望ましい。しかし、閾値ＴＨ２は、式（８）の通り、エッジ画素を判断する際の閾値を導いている。このため、式（８）により、ビット長Ｌが極端に小さくなるような閾値ＴＨ２を設定すると、エッジ画素であると判断する閾値が低くなってしまい、結果、エッジ画素である場合に、符号化対象画素データのうちのほとんどのデータが失われてしまう可能性もある。
【００９３】
ここで、閾値ＴＨ２の値が“２”であったとする。量子化値のビット長Ｍは７ビットであるため、式（８）により、ＴＨ２＋（Ｍ−１）＝８となり、差分値Ｄのビット長が８ビットよりも小さい場合は、平坦部量子化幅により量子化処理が施される。従って、平坦部量子化幅による量子化処理が選択される条件を満たすための、差分値Ｄの最大ビット長は、７ビットとなる。よって、エッジ画素以外の量子化値は、差分値Ｄの７ビット目までのビットデータを量子化値として格納する必要があり、図７（ｃ）のように、差分値Ｄのビットデータｂ２〜ｂ６が量子化値のビットｂ１〜ｂ５に格納される。また、この場合の平坦部量子化幅の値は、閾値ＴＨ２の値と同じ値（“２”）となる。
【００９４】
図７（ａ）と図７（ｂ）の量子化値のビットデータを比較すると、本実施形態のエッジ画素に関しては、フラグビットとして１ビット割り当てることにより、平坦部とエッジ部とが混在していない場合よりも、量子化幅が大きな値をとることになる。しかし、被写体を撮影した際の絵柄自体が変化している場合、視覚的に局所的なエッジ部のレベル変化を量子化誤差として確認することは困難である。
【００９５】
また、被写体自体には変化はないが、撮像素子の欠陥画素を含む領域で、欠陥画素とその隣接画素との差が極端に大きくなってしまった場合を考える。エッジ画素（欠陥画素）が量子化処理により大きく劣化したとしても、一般的に、撮像素子から入力された撮像信号に対して画像信号処理を施す信号処理装置において、欠陥画素を補正する回路が搭載されている。このため、信号処理装置において、エッジ画素は、量子化誤差の少ない周辺の画素を用いて、適切な画素値に補正することが可能である。
【００９６】
更に、図７（ａ）と図７（ｃ）の量子化値のビットデータを比較すると明確なように、エッジ画素以外の符号化対象画素に対応する量子化幅においては、量子化幅が抑えられている。よって、量子化処理が施された場合に、視覚的に大きな劣化として感知し易い平坦部の画質劣化の抑圧が可能となる。
【００９７】
次に、パッキング部３０５が生成する量子化情報の例を図８に示す。ここで、量子化情報のビット長Ｊが“３”であるとする。図８は、差分値Ｄの符号つき整数のバイナリ表現に必要なビット長と、エッジ判定部３０９による判定結果と、量子化幅により決定される３ビットの量子化情報とを対応させた図である。図中のエッジ判定部３０９による判定結果は、平坦部とエッジ部とが混在していると判断された場合を“１”で、それ以外を“０”で示している。例えば、エッジ判定部３０９により平坦部とエッジ部とが混在していると判断された場合は、図８により、パッキング部３０５は、量子化情報として“１０１”を生成する。また、エッジ判定部３０９により平坦部とエッジ部とが混在していないと判断され、量子化幅決定部３０６から受信した量子化幅が“３”であったとする。この場合、図８により、パッキング部３０５は、量子化情報として“０１１”を生成する。
【００９８】
ステップＳ１０９のパッキング処理では、パッキング部３０５において、処理対象画素値入力部３０１から受信した初期画素値である画素Ｐ１の画素データを、Ｓビット長のバッファメモリに格納する。その後は、順次、量子化幅決定部３０６から受信した量子化幅、及び、エッジ判定部３０９により判定されたエッジ有無の情報を符号化したＪビット長の量子化情報、量子化処理部３０４から受信した符号化対象画素Ｐ２の量子化値を、前記のバッファメモリに格納していく。ここで、固定ビット長Ｓが“４８”、入力する符号化対象画素データのビット長Ｎが“１０”、量子化情報のビット長Ｊが“３”であるとする。量子化値のビット長Ｍは７ビットであるため、４８ビット長のバッファメモリの先頭から２０ビット分符号化データが格納されたことになる。符号化対象画素のパッキング処理が終了すると、ステップＳ１１０に移行する。
【００９９】
ステップＳ１１０では、Ｓビットにパッキングする画素数Ｐｉｘについて画像符号化処理が終了したか否かを判定する。ここで、Ｐｉｘは、予め算出されているものとする。
【０１００】
ここで、固定ビット長Ｓが“４８”、入力する符号化対象画素データのビット長Ｎが“１０”、量子化情報のビット長Ｊが“３”、量子化値は７ビットであるとき、Ｐｉｘは６画素であれば、Ｓビットにパッキングが可能となる。尚、これは、Ｓビットのパッキングデータが、１画素の初期画素値と、５画素で構成される符号化対象画素のグループが１グループで構成されることを示す。尚、Ｓビット中のグループ数は、１グループに限定しなくてもよい。
【０１０１】
ステップＳ１１０において、判定結果がＮＯならば、処理はステップＳ１０１に移行し、次に処理対象画素値入力部３０１が受信した符号化対象画素データに対して、ステップＳ１０１〜ステップＳ１０９までの少なくとも一つの処理を実行する。画素Ｐ３〜画素Ｐ６に対してステップＳ１０１〜ステップＳ１０９までの処理を繰り返し行い、順次、バッファメモリに格納していく。
【０１０２】
一方、ステップＳ１１０において、判定結果がＹＥＳならば、バッファメモリ内の符号化データをＳビット単位で画像符号化装置３００から出力し、処理はステップＳ１１１に移行する。
【０１０３】
ステップＳ１１１では、出力した符号化データで１画像についての符号化処理が全て終了したかを判別し、ＹＥＳであれば符号化処理を終了し、ＮＯであればステップＳ１０１へ移行して、ステップＳ１０１〜ステップＳ１１０の少なくとも一つの処理を実行する。
【０１０４】
以上の処理及び演算を実行した結果、算出される符号化対象画素Ｐ１〜Ｐ６の各演算結果と、パッキング部３０５にてパッキングされる７ビットの量子化値、復号化結果と入力値（符号化対象画素データ）との誤差を図６（ａ）に示す。
【０１０５】
また、図９（ａ）は、画像符号化処理を適応しない場合、つまり、量子化幅が常に“０”であると想定された場合の、Ｓビットのパッキングデータのビットイメージである。尚、このビットイメージは、実際に画像符号化装置３００により生成されるビットイメージではない。図９（ｂ）は、画像符号化処理を適応し、実際にパッキング部３０５によりバッファメモリに格納され、画像符号化装置３００から出力されるビットイメージである。
【０１０６】
図９（ｂ）は、最初に入力された画素Ｐ１は、初期画素値としてパッキング部１０７にＮ（“１０”）ビットで入力されることが、左端からの１０ビットにより示される。その後は、量子化情報をＪ（“３”）ビット、以降の画素Ｐ２〜Ｐ６に対応する量子化値をＭ（“７”）ビットの符号化データとして、最初の１０ビットのデータの後ろに続く構成となっている。画素Ｐ２〜画素Ｐ６までを符号化することによって、同じビット長Ｓでも格納可能になる画素の画素数が、より多い画素数に増えている。
【０１０７】
また、パッキング部３０５によりパッキングするデータのビット長Ｓを、使用される集積回路のデータ転送のバス幅に設定することにより、一回の転送で送信できる画素数が増え、また、バス幅は固定長にすることを保証できる。従って、ある圧縮された画素データにデータアクセスすることが要求される場合、バス幅毎にパッキングされたパッキングデータにデータアクセスするだけでよい。このとき、バス幅とパッキングデータのビット長が一致せず、未使用ビットが存在する場合は、図９（ａ）に示したように未使用ビットをダミーデータに置き換えればよい。
【０１０８】
図６（ｂ）は、本実施形態を実施しない従来の画像符号化処理の例である。従来の画像符号化処理においても、本実施形態と同様に、ステップＳ１０１〜ステップＳ１０５までの処理が実行される。ステップＳ１０６では、初期量子化幅算出部３０７が、画素数Ｐｉｘ＿Ｇから構成されるグループ単位で、そのグループの何れの符号化対象画素の量子化でも利用される、共通の量子化幅を初期量子化幅として決定する（図４のステップＳ２０１）。従来の画像符号化処理においては、ステップＳ２０１において求められた初期量子化幅がグループ共通の量子化幅となり、グループに属する符号化対象画素は、全て初期量子化幅で一律量子化されることになる。そのため、従来の画像符号化処理においては、ステップＳ２０１の処理が終了すると、ステップ（量子化幅決定ステップ）Ｓ１０６における処理は終了し、ステップＳ１０７へ移行する。
【０１０９】
従来の画像符号化処理では、グループ内の符号化対象画素が全て初期量子化幅で一律量子化されるため、画素Ｐ４〜Ｐ６のように画素の信号レベルの変化が少ない平坦な領域においても、量子化幅“４”で量子化処理が施される。その際の処理及び演算において算出される符号化対象画素Ｐ１〜Ｐ６の各演算結果と、量子化値、復号化結果と入力値（符号化対象画素データ）との誤差を図６（ｂ）に示した。図６（ａ）に示した復号化結果及び復号化結果と入力値（符号化対象画素データ）との誤差と、比較すると明確なように、画素Ｐ４〜Ｐ６の平坦な領域において、誤差が拡大している。具体的には、本実施形態を実施しない従来の画像符号化処理（図６（ｂ））では、画素Ｐ４〜Ｐ６の平坦な領域において、大きな量子化幅で量子化処理が施された影響により、誤差が、”−４”、”−５“、”８“と発生しているのに対し、本実施形態を実施した形態（図６（ａ））では、量子化幅を抑えたため、”０”、”−１“、”０“と誤差の発生を抑圧できているのが判る。
【０１１０】
尚、本実施形態においては、画像符号化処理の方法を、予測式（１）を用いた予測符号化とし、処理対象画素値入力部３０１から受信した符号化対象画素データから、予測値画素生成部３０２から受信した予測値を減算することにより、差分値を算出した。しかし、符号化処理の方法はこれに限定せず、着目している符号化対象画素データの画素値に近似する予測値を求め、予測値との差分を表す値を算出し、量子化対象とした上で、量子化処理を施す方法であれば、本発明に適用可能であることはいうまでもない。
【０１１１】
以上により、平坦部とエッジ部とが混在する場合、従来の画像符号化処理では、視覚的に劣化が目立つ平坦部の画質まで劣化してしまうのに対し、本実施形態の画像符号化処理により、平坦部の劣化の抑圧が可能となることが判る。
【０１１２】
従って、本実施形態によれば、比較的平坦な領域中に欠陥画素や急峻なエッジが発生した場合等のように、平坦部とエッジ部とが混在している場合においても、画素単位で適応的に、量子化処理における量子化幅を切り替えることにより、ランダムアクセス性は維持したまま、視覚的に劣化が目立つ平坦部の画質劣化の度合いを小さくすることができる。
【０１１３】
＜画像復号化処理＞
以下に、図１０及び図１１を参照して、画像復号化装置１１０が行う符号化データを復号化するための処理（以下、画像復号化処理という）について説明する。
【０１１４】
図１０は、本発明の実施形態１における画像復号化処理のフローチャートである。また、図１１は、本発明の実施形態１における画像復号化装置１１０の構成を示すブロック図である。
【０１１５】
例えば、アンパッキング部１１１に入力される符号化データは、図６（ａ）に示される画素Ｐ１〜Ｐ６を復元させるために必要な符号化データである。アンパッキング部１１１は、パッキング部３０５、又は、ＳＤＲＡＭ等のメモリから送られたＳビットの固定長符号化データを解析し、その固定長符号化データを複数のデータへと分離する。つまり、アンパッキング部１１１は、送られた固定長符号化データをＮビット長の初期画素値、又はＪビット長の量子化幅の情報が格納された量子化情報、Ｍビット長の復号化の対象となる画素（以下、復号化対象画素という）に対応した量子化値に分離する（図１０のステップＳ３０１）。
【０１１６】
アンパッキング部１１１で解析された符号化データは、適切なタイミングで量子化幅決定部１１２及び出力部１１６に送信される。着目している符号化データが初期画素値として入力された場合（図１０のステップＳ３０２でＹＥＳの場合）は、Ｎビット長の符号化前のダイナミックレンジを保持した画素データとして送られてくる。このため、アンパッキング部１１１は、着目している符号化データに対しては、逆量子化処理を省き、直接、出力部１１６に送信する。
【０１１７】
着目している符号化データが初期画素値でない場合（図１０のステップＳ３０２でＮＯの場合）は、アンパッキング部１１１は、量子化情報が格納されたＪビット長の符号化データ又は量子化値が格納されたＭビット長の符号化データを量子化幅決定部１１２に送信し、逆量子化処理における量子化幅の決定処理に移行する（図１０のステップＳ３０３）。
【０１１８】
ステップ（量子化幅決定ステップ）Ｓ３０３では、量子化幅決定部１１２内において、量子化幅選択部１１９が、量子化情報解析部１１７の解析結果と、エッジフラグ分離部１１８が分離したエッジフラグとを基に、逆量子化処理における量子化幅を画素毎に決定し、対応する量子化値と共に逆量子化処理部１１３に出力する。そして、処理は、逆量子化処理に移行する。
【０１１９】
図２０は、逆量子化処理における量子化幅の決定方法を示すフローチャートであり、ステップＳ３０３における処理の詳細を示している。図２０を参照して、ステップＳ３０３の逆量子化処理における量子化幅決定処理について説明する。
【０１２０】
先ず、量子化幅決定部１１２が、アンパッキング部１１１から受信した符号化データがＪビット長の量子化情報である場合（図２０のステップＳ４０１でＹＥＳの場合）は、量子化幅決定部１１２は、アンパッキング部１１１から受信した符号化データから、逆量子化処理における量子化幅の情報を解析する（図２０のステップＳ４０２）。具体的には、量子化幅決定部１１２内の量子化情報解析部１１７が、画像符号化装置３００が実施した画像符号化処理において、パッキング部３０５が生成したＪビット長の量子化情報を解析する。この解析処理により、エッジ判定部３０９による判定結果と、量子化処理部３０４において行われた量子化処理における量子化幅の情報とを抽出する。量子化情報解析部１１７は、その解析結果から、エッジ判定部３０９によるエッジ有無の判定結果をエッジフラグ分離部１１８に送信し、量子化幅の情報を量子化幅選択部１１９に送信する。
【０１２１】
一方、量子化幅決定部１１２が、アンパッキング部１１１から受信した符号化データが、量子化値が格納されたＭビット長の符号化データである場合（図２０のステップＳ４０１でＮＯの場合）は、前述のようにステップＳ４０２にて量子化情報解析部１１７が解析した結果から、着目している復号化対象画素が属するグループの絵柄について、平坦部とエッジ部とが混在するか否かを判定する（図２０のステップＳ４０３）。着目している復号化対象画素が属するグループの絵柄が、平坦部とエッジ部とが混在する場合（図２０のステップＳ４０３でＹＥＳの場合）は、エッジフラグ分離部１１８が、アンパッキング部１１１から受信した復号化対象画素に対応する量子化値に埋め込まれたエッジフラグを分離する。そして、エッジフラグ分離部１１８は、分離処理を終了すると、分離したエッジフラグの情報を量子化幅選択部１１９に送信し、また、量子化値の情報を逆量子化処理部（逆量子化部）１１３に送信する（図２０のステップＳ４０５）。
【０１２２】
量子化幅選択部１１９は、エッジフラグを受信すると、その情報から着目している復号化対象画素がエッジ画素か否かを判定する（図２０のステップＳ４０６）。エッジフラグにより着目している復号化対象画素がエッジ画素の場合は、処理はステップＳ４０７に移行する。
【０１２３】
ステップＳ４０７では、着目している復号化対象画素がエッジ画素であるため、対応する量子化幅として、量子化情報解析部１１７の解析結果からエッジ部量子化幅を選択する。ステップＳ４０６において、この判定の判定結果がＮＯならば、処理はステップＳ４０８に移行する。
【０１２４】
ステップＳ４０８では、量子化情報解析部１１７の解析結果と、エッジフラグ分離部１１８から受信したエッジフラグの情報とにより、着目している復号化対象画素は、エッジが近接する平坦部であると判断できるため、対応する量子化幅として平坦部量子化幅を選択する。
【０１２５】
ステップＳ４０３において、この判定の判定結果がＮＯならば、量子化幅選択部１１９は、復号化対象画素が属するグループの絵柄が、全体的に平坦か、又は、複雑な絵柄であると判断できるため、グループ内の全ての復号化対象画素に対応する量子化幅は、量子化情報解析部１１７の解析結果から得られた初期量子化幅とする。また、この場合、エッジフラグ分離部１１８は何もせず、アンパッキング部１１１から受信した量子化値をそのまま逆量子化処理部１１３に送信する。
【０１２６】
各復号化対象画素に対応する量子化幅が決定されると、逆量子化処理における量子化幅決定処理は終了し、逆量子化処理に移行する。
【０１２７】
逆量子化処理では、逆量子化処理部１１３が、量子化幅決定部１１２が送信した量子化幅及び量子化値が格納されたＭビット長の符号化データを受信し、受信した量子化幅により逆量子化処理を行う。量子化幅による逆量子化処理とは、量子化幅決定部１１２から受信した量子化値を表すＭビット長の符号化データを、量子化幅の数だけ上位にビットシフトする処理である。逆量子化処理部１１３は、逆量子化処理により、Ｎビットで表現された復号化対象画素とその予測画素との画素値の差分値Ｄ´を算出する。尚、逆量子化処理部１１３は、量子化幅が“０”である場合は、逆量子化は行なわない（図１０のステップ（逆量子化ステップ）Ｓ３０４）。
【０１２８】
ステップ（予測画素生成ステップ）Ｓ３０５では、予測画素生成部１１４が、復号化対象画素に対応する予測値を算出する。予測画素生成部１１４に入力されるデータは、着目している復号化対象画素よりも先に入力されて出力部１１６から出力された初期画素値、又は、先に復号化され出力部１１６から出力された画素データの何れかであり、予測画素生成部１１４は、入力された画素データ用いてＮビットで表現された予測値を生成する。予測値の生成方法は、前述した予測式（１）〜（７）の方法のうちの何れかであり、画像符号化装置３００の予測画素生成部３０２で用いた式と同様の予測式を用いて、予測画素生成部１１４は予測値を算出する。予測画素生成部１１４は、算出した予測値を復号化値生成部１１５に送信する。
【０１２９】
ステップＳ３０６では、復号化値生成部１１５が、逆量子化処理部１１３から受信した逆量子化結果と、予測画素生成部１１４から受信した復号化対象画素に対応する予測値とを加算することにより、復号化対象画素に対応する復号化値を生成し、出力部１１６へ送信する。
【０１３０】
次に、本実施形態における画像復号化処理の詳細な説明を行なう。
【０１３１】
図１２は、本実施形態における画像復号化処理を説明するための図である。
【０１３２】
ここで、アンパッキング部１１１は、４８ビット単位でパッキングデータを受信する（Ｓ＝４８）。アンパッキング部１１１は、１０ビットの初期画素値（Ｎ＝１０）、又は３ビットの量子化情報（Ｊ＝３）、又は７ビットの復号化対象画素に対応する量子化値（Ｍ＝７）を、順次受信するとする。図１２は、一例として図６（ａ）で示した６個の画素データ（画素Ｐ１〜Ｐ６）の画像符号化処理結果を、画像復号化装置１１０への入力のデータとして示した図である。
【０１３３】
アンパッキング部１１１には、例えば、外部のメモリに記憶されている複数の符号化データが、図９（ｂ）に示すように連続して入力されるとする。画素Ｐ１に対応する画素データは初期画素値であるため、１０ビットで表現されているものとする。また、画素Ｐ２〜Ｐ６のそれぞれに対応するデータは、例えば、図７（ｂ）又は図７（ｃ）で表された量子化値とエッジフラグを含む符号化データであるため、７ビットのバイナリコードで示す。
【０１３４】
画像復号化処理では、先ず、ステップＳ３０１の処理が行われる。ステップＳ３０１では、アンパッキング部１１１が、符号化データに対して、図９（ｂ）に示すように、予め決められたビットに分離し、ステップＳ３０２に移行する。
【０１３５】
ステップＳ３０２では、アンパッキング部１１１が、分離した符号化データが初期画素値であるか否かを判定する。ステップＳ３０２において、判定の結果がＹＥＳならば、アンパッキング部１１１は、受信した画素データを出力部１１６へ送信する。そして、処理は後述するステップＳ３０７に移行する。一方、ステップＳ３０２において、判定結果がＮＯならば、処理はステップＳ３０３に移行する。
【０１３６】
ここで、アンパッキング部１１１は、初期画素値として、画素Ｐ１に対応する画素データを受信したとする。初期画素値は“１５０”であるとする。この場合、アンパッキング部１１１は、入力された画素値“１５０”を出力部１１６へ送信する。出力部１１６は、受信した初期画素値を予測画素生成部１１４へ送信する。
【０１３７】
ステップＳ３０３の量子化幅決定ステップでは、量子化幅決定部１１２が、各復号化対象画素に対応する逆量子化処理における量子化幅を決定する。先ず、量子化幅決定部１１２は、アンパッキング部１１１から受信した符号化データが量子化情報であるか否かを判定する（図２０のステップＳ４０１）。ステップＳ４０１において判定結果がＮＯならば、処理は後述するステップＳ４０３に移行する。判定結果がＹＥＳならば、処理はステップＳ４０２に移行する。
【０１３８】
ここで、量子化幅決定部１１２が、アンパッキング部１１１から受信した符号化データが、Ｊビット長の量子化情報であるとする。量子化情報のビット長Ｊは３ビットであり、量子化情報が示す値は“１０１”であるとする。この場合、ステップＳ４０２に移行し、量子化幅決定部１１２が受信した量子化情報を量子化情報解析部１１７が解析し、エッジ判定部３０９による判定結果と、逆量子化処理における量子化幅とを求める。量子化幅は、画像符号化処理において、量子化処理部３０４が使用した量子化幅と一致する必要があるため、図８の表の対応関係を基に算出する。ここで、量子化幅決定部１１２が受信した量子化情報が“１０１”であるとする。図８に基づき解析すると、画像符号化処理では、エッジ判定部３０９により、平坦部とエッジ部とが混在していると判断されているため、量子化情報解析部１１７は、エッジフラグ分離部１１８に“エッジ有り”の情報を送信する。また、逆量子化処理における量子化幅は、平坦部量子化幅“２”又はエッジ部量子化幅“５”となり、量子化情報解析部１１７は、この量子化幅の情報を量子化幅選択部１１９に送信する。
【０１３９】
次に、量子化幅決定部１１２が、アンパッキング部１１１から受信した符号化データが、Ｍビット長の復号化対象画素Ｐ２に対応する量子化値であるとする。この場合、受信した符号化データは量子化情報でないので（ステップＳ４０１でＮＯの場合）、ステップＳ４０３に移行する。ここで、量子化幅決定部１１２がアンパッキング部１１１から受信した符号化データが復号化対象画素Ｐ２の量子化値であり、その量子化値が示す７ビット（Ｍ＝７）のバイナリコードの値は、“０１１０１１１”であるとする。
【０１４０】
ステップＳ４０３では、ステップＳ４０２にて例えば量子化情報解析部１１７が解析した結果を用いて、着目している復号化対象画素が属するグループの絵柄が、平坦部とエッジ部とが混在するか否かを判定する。混在する場合（ステップＳ４０３でＹＥＳの場合）は、処理はステップＳ４０５に移行する。
【０１４１】
ここで、ステップＳ４０２において、量子化情報解析部１１７が出力した解析結果により、グループの絵柄が、平坦部とエッジ部とが混在すると判定されたとする（ステップＳ４０３でＹＥＳ）。また、エッジフラグは、図７（ｂ）及び図７（ｃ）に示すように、量子化幅決定部１１２が受信した量子化値の最下位ビットに格納されているものとする。
【０１４２】
処理はステップＳ４０５に移行し、ステップＳ４０５では、エッジフラグ分離部１１８が、着目する復号化対象画素に対応する量子化値に埋め込まれたエッジフラグを分離する。そして、エッジフラグ分離部１１８は、分離したエッジフラグの情報を量子化幅選択部１１９に送信し、量子化値の情報を逆量子化処理部１１３に送信する。復号化対象画素Ｐ２の量子化値（“０１１０１１１”）の最下位ビットが“１”であるため、エッジフラグ分離部１１８は、画素Ｐ２をエッジ画素であると特定する。そして、エッジフラグ分離部１１８は、量子化値（“０１１０１１１”）に埋め込まれたエッジフラグ（量子化値の最下位ビット“１”）を、量子化値から分離する。従って、エッジフラグ分離部１１８により、量子化幅決定部１１２が受信した復号化対象画素Ｐ２の量子化値は、エッジ画素か否かを表すエッジフラグ（“１”）と、量子化値（“０１１０１１”）とに分離されたことになる。エッジフラグ分離部１１８は、分離処理を終了すると、分離したエッジフラグの情報（“１”）を量子化幅選択部１１９に送信し、量子化値の情報（“０１１０１１”）を逆量子化処理部１１３に送信し、処理はステップＳ４０６に移行する。
【０１４３】
ここで、量子化幅選択部１１９がエッジフラグ分離部１１８から受信したエッジフラグの情報が“１”であるとする。このとき、画素Ｐ２はエッジ画素であると特定できる（ステップＳ４０６でＹＥＳ）。そのため、処理はステップＳ４０７に移行する。
【０１４４】
ここで、ステップＳ４０２の処理において、量子化情報解析部１１７が、復号化対象画素の属するグループの量子化幅は、平坦部量子化幅“２”又はエッジ部量子化幅“５”であると決定しているとする。この場合、ステップＳ４０７では、画素Ｐ２の量子化幅はエッジ部量子化幅である“５”と決定され、量子化幅決定処理を終了する。逆量子化処理における量子化幅決定処理が終了すると、量子化幅選択部１１９は、決定した量子化幅を逆量子化処理部１１３に送信し、処理はステップＳ３０４に移行する。
【０１４５】
ステップＳ３０４では、逆量子化処理部１１３により逆量子化処理が行われる。逆量子化処理では、逆量子化処理部１１３が、量子化幅決定部１１２から受信した各復号化対象画素の量子化値を、量子化幅決定部１１２から受信した逆量子化における量子化幅の数だけ上位にビットシフトすることにより、逆量子化する。逆量子化により算出されるデータは、Ｎ＋１（“１１”）ビットで表現された差分値Ｄ´であるとする。
【０１４６】
ここで、逆量子化処理部１１３が量子化幅決定部１１２から受信した量子化幅が“５”であり、かつ、受信した量子化値のバイナリコードが“０１１０１１”であるとする。この場合、逆量子化処理部１１３は、“０１１０１１”を５ビット上位にビットシフトすることにより、逆量子化を行う。そして、Ｎ＋１（“１１”）ビットの差分値Ｄ´の符号つき整数バイナリ表現である“０１１０１１０００００”を算出する。図７に示すように、量子化値の最上位ビットは正負符号を表しているため、差分値Ｄ´は正数“１１０１１０００００”、つまり“８６４”が算出され、算出された結果は、逆量子化処理部１１３が復号化値生成部１１５へ送信する。
【０１４７】
尚、逆量子化処理部１１３は、量子化幅決定部１１２から受信した量子化幅が“０”の場合、逆量子化を行わず、量子化値をそのまま復号化値生成部１１５へ送信する。
【０１４８】
ステップＳ３０５では、予測値画素生成部１１４が、復号化対象画素の予測値を算出する。具体的には、予測値画素生成部１１４は、画像符号化装置３００における画像符号化処理の予測値の生成処理ステップＳ１０２と同じ予測方式をとるため、予測式（１）を使用して予測値を算出する。ここで、予測値画素生成部１１４が復号化対象画素Ｐ２の予測値を算出するとする。予測式（１）より、一つ前に受信した復号化対象画素である画素Ｐ１の画素データを予測値とするため、画素Ｐ１の画素値“１５０”を出力部１１６から受信し、予測値として算出される。
【０１４９】
ステップＳ３０６では、復号化値生成部１１５が、予測値画素生成部１１４から受信した予測値と、逆量子化処理部１１３から受信した差分値Ｄ´とから、復号化値を算出する。具体的には、図１２に示すように、復号化値生成部１１５が、予測画素生成部１１４から受信した予測値と、逆量子化処理部１１３から受信した差分値Ｄ´とを加算することにより、復号化値を生成する。ここで、予測画素生成部１１４から受信した予測値が示す値が“１５０”であるとする。また、逆量子化処理部１１３から受信した差分値Ｄ´が“８６４”であるとする。この場合、“１５０”と“８６４”とを加算することにより、Ｎ（“１０”）ビット長の復号化値 “１０１４”を算出する。得られた復号化値は、出力部１１６へ送信する。
【０１５０】
尚、本実施形態において、画像符号化処理の方法を予測式（１）を用いた予測符号化とした。そのため、画像復号化処理においては、逆量子化値と予測値とを加算することにより、復号化値を算出している。しかし、本実施形態における差分値演算部３０３の差分値の算出方法については、予測値と符号化対象画素との減算処理のみに限定しない。例えば、予測値と符号化対象画素との排他的論理和演算等のように、予測値からの変化情報を抽出できる処理であれば、本発明に適用可能であることはいうまでもない。
【０１５１】
出力部１１６は、復号化された画素データを、例えば外部のメモリ及び予測画素生成部１１４に記憶させる。また、前述した通り、画像符号化装置３００において、ｈ番目の符号化対象画素の予測値を算出する際に、一旦、符号化された後に、画像復号化装置１１０にて復号化された（ｈ−１）番目の復号化画素データを使用することも可能である。その場合は、画像符号化装置３００における予測画素生成部３０２に、出力部１１６が送信する復号化された画素データを記憶させてもよい。尚、出力部１１６は、外部のメモリに記憶させるのではなく、外部の画像を処理する回路等に出力してもよい。
【０１５２】
ステップＳ３０７では、画像符号化装置３００のパッキング部３０５により、固定ビット長Ｓビットにパッキングされた画素数Ｐｉｘについて、画像復号化処理が終了したか否かを判定する。ここで、Ｐｉｘは、画像符号化処理と同様に、予め算出されているものとする。
【０１５３】
ステップＳ３０７において、画素数Ｐｉｘについての上記の判定結果がＮＯならば、処理はステップＳ３０２に移行し、画像復号化装置１１０は、次にアンパッキング部１１１が受信した次の符号化データに対して、ステップＳ３０２〜ステップＳ３０６までのうちの、少なくとも一つの処理を実行する。そして、画像復号化装置１１０は、画素Ｐ３〜画素Ｐ６に対して、ステップＳ３０２〜ステップＳ３０６までの処理を繰り返し行い、順次、得られた復号化後の画素データを画像復号化装置１１０から出力する。
【０１５４】
一方、ステップＳ３０７において、画素数Ｐｉｘについての判定結果がＹＥＳならば、処理はステップＳ３０８に移行する。
【０１５５】
ステップＳ３０８では、出力部１１６が出力した復号化後の画素データで１画像についての復号化処理が全て終了したかを、例えばアンパッキング部１１１等が判定する。そして、この判定結果がＹＥＳであれば、復号化処理を終了し、ＮＯであれば、ステップＳ３０１へ移行して、ステップＳ３０１〜ステップＳ３０７までのうちの少なくとも一つの処理を実行する。
【０１５６】
以上の処理及び演算を実行した結果、算出される復号化対象画素Ｐ２〜Ｐ６の演算結果と、出力部１１６から出力される１０ビットで表された各画素に対応する復号化後の画素データを図１２に示した。
【０１５７】
ここで、初期画素値である画素Ｐ１に対応する演算結果が存在しないのは、画像符号化処理において、符号化対象画素が初期画素値として入力された場合（図２のステップＳ１０１でＹＥＳの場合）は、量子化処理を省き、直接、パッキング部３０５に入力する（図２のステップＳ１０９）ため、画像復号化処理においても、アンパッキング部１１１で初期画素値として画素データを受信した場合は、入力された画素データを直接、出力部１１６へ送信するためである。
【０１５８】
（実施形態２）
本実施形態２では、前記実施形態１で説明した画像符号化装置３００の他の例を説明する。
【０１５９】
実施形態２における実施形態１に対する差異は、エッジ部量子化幅算出部３０８におけるエッジ部量子化幅及び平坦部量子化幅の算出方法と、エッジ画素判別部３１０におけるエッジ画素の判別方法にある。先ず、図１３は、実施形態２におけるエッジ部量子化幅算出部３０８のエッジ部量子化幅及び平坦部量子化幅の選択パターンを示しており、図１４は、実施形態２を適用した場合の差分値Ｄと量子化値とのビットイメージの例を示す。また、図１５は、実施形態２において、パッキング部３０５が生成する量子化情報の例を示す図である。
【０１６０】
本実施形態で採用する量子化幅決定方法では、符号化対象画素が属するグループの絵柄が、平坦部とエッジ部とが混在していると判定された場合において、エッジ部量子化幅算出部３０８は、複数のエッジ部量子化幅及び平坦部量子化幅の組み合わせパターンから適当な量子化幅を選択する。具体的には、エッジ部量子化幅算出部３０８は、グループの最大量子化幅Ｑ＿ＭＡＸと最小量子化幅Ｑ＿ＭＩＮの値により、算出するエッジ部量子化幅及び平坦部量子化幅の値を切り替える。これにより、符号化対象画素の画素値と予測値との差分値Ｄのレベルに応じて、量子化幅の値を求めるため、より適当な量子化幅を、画素毎に選択できる。
【０１６１】
本実施形態では、一例として、図１３に示すようなパターンを予め用意する。図１３の上段は、実施形態１で説明したエッジ部量子化幅及び平坦部量子化幅の組み合わせパターンであり、下段が本実施形態で追加する組み合わせパターンである。
【０１６２】
エッジ部量子化幅算出部３０８は、グループ内のＰｉｘ＿Ｇ個の画素に対応するＰｉｘ＿Ｇ個の単位量子化幅Ｑの中から、最大量子化幅Ｑ＿ＭＡＸと最小量子化幅Ｑ＿ＭＩＮとを求める。そして、図１３の上段と下段に示す関係の何れの関係に当てはまるか比較する。
【０１６３】
ここで、最大量子化幅Ｑ＿ＭＡＸと最小量子化幅Ｑ＿ＭＩＮとが、それぞれ“３”、“０”であったとする。最大量子化幅Ｑ＿ＭＡＸが“３”であるとき、差分絶対値の最大値のビット数は９ビットである。即ち、図１４（ａ）に示すように、差分値Ｄのビットデータのうち、最上位ビットの正負符号を表すビットを除くと、９ビット目（“ｂ８”）までしか有効なビットデータは格納されていない。これは、実施形態１の図７と比較しても明確なように、グループの絵柄は、平坦部とエッジ部とが混在しているが、エッジ部の差分値Ｄが比較的小さい、つまり、平坦な領域にエッジが近接しているが、そのエッジ部の急峻さは、実施形態１と比較すると緩やかである場合を示している。
【０１６４】
このような場合、図１３の下段のように、エッジ画素判別部３１０におけるエッジ画素とエッジ画素以外とを判別するための閾値ＴＨ２を設定し直すことにより、平坦部の量子化幅を低減し、画質の劣化を、更に抑圧することができる。
【０１６５】
ここで、閾値ＴＨ２の値は、実施形態１では“２”であったが、“１”に設定する。量子化値のビット長Ｍを“７”とすると、式（８）により、ＴＨ２＋（Ｍ−１）＝７となり、差分値Ｄのビット長が７ビットよりも小さい場合は、平坦部量子化幅により量子化処理が施される。従って、エッジ画素以外の量子化値は、差分値Ｄの６ビット目までのビットデータを量子化値として格納する必要があり、図１４（ｂ）のように、差分値Ｄのビットデータｂ１〜ｂ５が量子化値のビットｂ１〜ｂ５に格納される。また、このときの平坦部量子化幅の値は、閾値ＴＨ２の値と同じ値（“１”）となる。
【０１６６】
尚、式（８）の通り、閾値ＴＨ２は、エッジ画素を判断する際の差分値Ｄのビット長Ｌの値を導いている。そのため、実施形態２においても、ビット長Ｌが極端に小さくなるような閾値ＴＨ２を設定すると、エッジ画素と判断された場合に、符号化対象画素データのほとんどの情報が失われてしまうことになる。そのため、実施形態２において、複数のエッジ部量子化幅及び平坦部量子化幅の組み合わせパターンを用意する場合は、式（８）で算出されるビット長Ｌとエッジ部量子化幅との差が、常に一定になるように、閾値ＴＨ２を求めればよい。
【０１６７】
実施形態２において、パッキング部３０５が生成する量子化情報は、図１５のようになる。図８と比較すると、量子化情報“１１０”が追加されていることが判る。これにより、画像復号化装置１１０においても、量子化情報解析部１１７で量子化情報を解析することにより、エッジ部量子化幅及び平坦部量子化幅の組み合わせが複数ある場合でも、切り替えることが可能である。
【０１６８】
以上の処理により、実施形態１（図１３の上段）と比較しても、平坦部量子化幅の値が“２”から“１”へ小さくなっており、平坦な領域に比較的緩やかな変化のエッジが近接している場合において、平坦部の画質劣化を更に抑圧することが可能となる。
【０１６９】
尚、予め用意しておくエッジ部量子化幅及び平坦部量子化幅の組み合わせパターンは、発生し得る差分値Ｄのビットデータに応じて、複数用意しておくことも可能である。これにより、複数のエッジの発生パターンに対応でき、より平坦部の画質の劣化を抑圧することが可能となる。
【０１７０】
（実施形態３）
本実施形態３では、実施形態１で説明した画像符号化装置３００及び画像復号化装置１１０を備えたデジタルスチルカメラの例を説明する。
【０１７１】
図１６は、実施形態３に係るデジタルスチルカメラ１６００の構成を示すブロック図である。図１６に示されるように、デジタルスチルカメラ１６００は、画像符号化装置３００と、画像復号化装置１１０とを備える。画像符号化装置３００及び画像復号化装置１１０の構成及び機能は実施形態１で説明したので、詳細な説明は繰り返さない。
【０１７２】
デジタルスチルカメラ１６００は、更に、撮像部１６１０と、画像処理部１６２０と、表示部１６３０と、圧縮変換部１６４０と、記録保存部１６５０と、ＳＤＲＡＭ１６６０とを備える。
【０１７３】
撮像部１６１０は、被写体を撮像して、被写体の撮像された像に対応するデジタルの画像データ（ＲＡＷデータ）を出力する。この例では、撮像部１６１０は、光学系１６１１と、撮像素子１６１２と、アナログフロントエンド１６１３（図中ではＡＦＥと略記）と、タイミングジェネレータ１６１４（図中ではＴＧと略記）とを含む。光学系１６１１は、レンズ等からなり、被写体の像を撮像素子１６１２上に結像させるようになっている。撮像素子１６１２は、光学系１６１１から入射した光を電気信号に変換する。撮像素子１６１２としては、ＣＣＤ（Charge Coupled Device）を用いた撮像素子や、ＣＭＯＳを用いた撮像素子等、種々の撮像素子を採用できる。アナログフロントエンド１６１３は、撮像素子１６１２が出力したアナログ信号に対してノイズ除去、信号増幅、Ａ／Ｄ変換などの信号処理を行ない、信号処理がされたデータを画像データとして出力する。タイミングジェネレータ１６１４は、撮像素子１６１２やアナログフロントエンド１６１３の動作タイミングの基準となるクロック信号をこれらに供給する。
【０１７４】
画像処理部１６２０は、撮像部１６１０から入力された画素データ（ＲＡＷデータ）に所定の画像処理を施し、画像処理後のデータを画像符号化装置３００へ出力する。一般的に、画像処理部１６２０は、図１６に示すように、傷補正回路１６２１、輝度信号生成回路１６２２、色分離回路１６２３、アパーチャ補正処理回路１６２４（図中ではＡＰと略記）、マトリクス処理回路１６２５、及び画像の拡大・縮小を行うズーム回路１６２６（図中ではＺＯＭと略記）等を備えている。
【０１７５】
傷補正回路１６２１では、電源投入時等に、撮像素子１６１２の遮光データを得ることにより欠陥画素を検出し、この検出された欠陥画素の位置情報をレジスタやメモリ等の記憶手段に保持しておく。そして、撮像時に、保持されている位置情報に基づいて、撮像素子１６１２における欠陥画素の周辺に配置する複数の画素データを用いて補間値を算出し、この補間値と欠陥画素の値とを置換する回路である。輝度信号生成回路１６２２は、ＲＡＷデータから輝度信号（Ｙ信号）を生成する。色分離回路１６２３は、ＲＡＷデータから色差信号（Ｃｒ／Ｃｂ信号）を生成する。アパーチャ補正処理回路１６２４は、輝度信号生成回路１６２２が生成した輝度信号に高周波数成分を足し合わせて、解像度を高く見せる処理を行う。マトリクス処理回路１６２５は、撮像素子の分光特性や画像処理で崩れた色相バランスの調整を色分離回路１６２３の出力に対して行う。
【０１７６】
そして、画像処理部１６２０は、一般的に、処理対象の画素データをＳＤＲＡＭ等のメモリに一時記憶させ、一時記憶されたデータに対して所定の画像処理や、ＹＣ信号生成、ズーム処理等を行い、処理後のデータを再度ＳＤＲＡＭに一時記憶することが多い。そのため、画像処理部１６２０では、画像符号化装置３００への出力と画像復号化装置１１０からの入力とが何れも発生することが考えられる。
【０１７７】
表示部１６３０は、画像復号化装置１１０の出力（画像復号化処理後の画像データ）を表示する。
【０１７８】
圧縮変換部１６４０は、画像復号化装置１１０の出力をＪＰＥＧ等の所定の規格で圧縮変換した画像データを記録保存部１６５０に出力する、また、圧縮変換部１６４０は、記録保存部１６５０によって読み出された画像データを伸張変換して、伸張変換された画像データを画像符号化装置３００へ入力する。即ち、圧縮変換部１６４０は、ＪＰＥＧ規格に基づくデータを処理可能である。このような圧縮変換部１６４０は、一般的にデジタルスチルカメラに搭載される。
【０１７９】
記録保存部１６５０は、圧縮された画像データを受信して、記録媒体（例えば不揮発性メモリ等）に記録する。また、記録保存部１６５０は、記録媒体に記録されている圧縮された画像データを読み出して、読み出した画像データを圧縮変換部１６４０に出力する。
【０１８０】
本実施形態３の画像符号化装置３００及び画像復号化装置１１０における入力信号としては、例えば、撮像部１６１０から入力されたＲＡＷデータが挙げられる。但し、画像符号化装置３００の入力信号は、ＲＡＷデータに限定されない。例えば、画像符号化装置３００及び画像復号化装置１１０が処理対象とする画素データは、画像処理部１６２０によってＲＡＷデータから生成されたＹＣ信号（輝度信号又は色差信号）のデータでもよいし、又は、一旦、ＪＰＥＧ等に圧縮変換されたＪＰＥＧ画像のデータを伸張することにより得られるデータ（輝度信号又は色差信号のデータ）等であってもよい。
【０１８１】
このように、実施形態３におけるデジタルスチルカメラ１６００は、一般的にデジタルスチルカメラに搭載される圧縮変換部１６４０以外にも、ＲＡＷデータやＹＣ信号を処理対象とする画像符号化装置３００及び画像復号化装置１１０を備える。これにより、本実施形態３におけるデジタルスチルカメラ１６００においては、同じＳＤＲＡＭ等のメモリ容量で、同じ解像度の連写枚数を増やす高速撮像動作が可能となる。また、デジタルスチルカメラ１６００においては、同じ容量のＳＤＲＡＭ等メモリに記憶させる動画像の解像度を高めることが可能になる。
【０１８２】
また、本実施形態３に示したデジタルスチルカメラ１６００の構成は、デジタルスチルカメラ１６００と同様に、撮像部、画像処理部、表示部、圧縮変換部、記録保存部、及びＳＤＲＡＭを備えるデジタルビデオカメラの構成に適用することも可能である。
【０１８３】
（実施形態４）
本実施形態４では、デジタルスチルカメラに設けられる撮像素子が、画像符号化装置３００を含む場合のデジタルスチルカメラの構成の例を説明する。
【０１８４】
図１７は、実施形態４におけるデジタルスチルカメラ１７００の構成を示すブロック図である。図１７に示されるように、デジタルスチルカメラ１７００は、図１６のデジタルスチルカメラ１６００と比較して、撮像部１６１０の代わりに撮像部１７１０を備える点と、画像処理部１６２０の代わりに画像処理部１７２０を備える点とが異なる。それ以外の構成は、デジタルスチルカメラ１６００と同様であるので、詳細な説明は繰り返さない。
【０１８５】
撮像部１７１０は、図１６の撮像部１６１０と比較して、撮像素子１６１２の代わりに撮像素子１７１２を含み、アナログフロントエンド１６１３を省略した点が異なる。それ以外は、撮像部１６１０と同様であるので、詳細な説明は繰り返さない。これは、例えば、撮像素子１７１２にＣＭＯＳセンサを用いた例であり、画素内に増幅器及びＡ／Ｄ変換回路を有し、デジタル信号を出力する。このため、図３の画像符号化装置３００を搭載することが可能となる。
【０１８６】
また、画像処理部１７２０は、図１６の画像処理部１６２０と比較して、更に、図１１の画像復号化装置１１０を含む点が異なる。それ以外の構成は、画像処理部１６２０と同様であるので、詳細な説明は繰り返さない。
【０１８７】
撮像素子１７１２に含まれる画像符号化装置３００は、撮像素子１７１２により撮像された画素信号（ＲＡＷデータ）を符号化し、その符号化により得られたデータを画像処理部１７２０内の画像復号化装置１１０に送信する。
【０１８８】
画像処理部１７２０内の画像復号化装置１１０は、画像符号化装置３００から受信したデータを復号化する。この処理により、撮像素子１７１２と集積回路内の画像処理部１７２０との間のデータ転送効率を向上させることが可能となる。
【０１８９】
従って、実施形態４のデジタルスチルカメラ１７００においては、前記実施形態３のデジタルスチルカメラ１６００よりも、同じメモリ容量で、同じ解像度の連写枚数を増やしたり、動画像の解像度を高めることが可能になる。
【０１９０】
一方、近年では、高画素の撮像素子１７１２を使用して、３０枚／秒の画像を出力することが求められている。具体的には、高画素の撮像素子から３０枚／秒の画像を出力したり、また、高画素でない場合でも、野球のボールインパクトの瞬間を撮像する高速撮像などのような、１秒当たり１００枚以上の画像を出力する高速撮像が求められている。この実現方法として、画素データの読出速度の高速化を図ることが考えられるが、単純に読出速度を高速化したのでは、消費電力の増加や、ノイズ、不要輻射の問題が起こり得る。そのため、撮像部１７１０の出力信号を高速のクロックを用いてシリアル形式のデータに変換してから外部に出力する方法があるが、本実施形態４では、更に、撮像素子１７１２内部に画像符号化装置３００を搭載する。このため、撮像部１７１０と画像処理部１７２０との間のデータ転送効率の向上が可能となり、高速撮像の実現に有効である。
【０１９１】
また、前記実施形態３と比較すると、本実施形態４のように、撮像部１７１０に画像符号化装置３００が搭載される場合、画像処理部１７２０内にある傷補正回路１６２１より前段に、画像符号化処理を実行することになる。即ち、撮像素子１７１２に欠陥画素が発生した場合、欠陥画素の画素値は補正されずに、そのままの画素値（信号レベル）で画像符号化装置３００に入力されるということを意味する。
【０１９２】
一般的に、欠陥画素としては、感度に反応せず低い画素値のみを出力する黒傷や、逆に飽和レベルに近い画素値のみを出力する白傷が挙げられる。そのため、欠陥画素の画素値が補正されずに、そのままの画素値で画像符号化装置３００に入力された場合、被写体の絵柄とは無関係に、平坦な領域に、急峻なエッジが発生する可能性がある。従って、欠陥画素が含まれる領域は大きな量子化幅を用いて量子化され、視覚的に大きな劣化として捉えられる可能性がある。
【０１９３】
しかし、本実施形態４においては、画像符号化装置３００に入力する画素データ上で、欠陥画素により急峻なエッジが発生した場合でも、量子化処理の影響が周辺の平坦な画素へ伝播するのを防ぐため、傷補正回路１６２１の前段に、画像符号化装置３００を搭載しても、問題なく画像符号化処理を施すことができる。よって、撮像部１７１０内にも画像符号化装置３００を内蔵させることが可能となり、撮像部１７１０と画像処理部１７２０との間のデータ転送効率の向上に有効である。
【０１９４】
（実施形態５）
本実施形態５では、監視カメラが受信する画像データが画像符号化装置３００からの出力である場合の監視カメラを説明する。
【０１９５】
図１８は、監視カメラ１８００の構成を示す図である。
【０１９６】
通常、監視カメラ装置においてそうであるように、監視カメラ１８００は、監視カメラ１８００から送信される画像データが第３者によって伝送経路上で盗まれないよう、伝送路上のセキュリティ性を確保するため、画像データを暗号化している。一般的には、監視カメラ用信号処理部１８１０内の画像処理部１８０１により所定の画像処理が施された画像データを、圧縮変換部１８０２によりＪＰＥＧやＭＰＥＧ４、Ｈ．２６４等の所定の規格で圧縮変換し、更に暗号化部１８０３により暗号化して、その暗号化されたデータが通信部１８０４からインターネット上に送信されることにより、個人のプライバシー保護を行っている。
【０１９７】
そこで、図１８に示すように、前述した画像符号化装置３００を含む撮像部１７１０からの出力を監視カメラ用信号処理部１８１０に入力し、監視カメラ用信号処理部１８１０内に搭載する画像復号化装置１１０により符号化データを復号化する。このことにより、撮像部１７１０で撮影された画像データを擬似的に暗号化することができるので、撮像部１７１０と監視カメラ用信号処理部１８１０との間のデータ転送効率を向上させると共に、伝送路上のセキュリティ性が確保され、従来よりも更にセキュリティ性の向上を図ることが可能になる。
【０１９８】
従って、監視カメラへの画像符号化装置３００及び画像復号化装置１１０の搭載により、監視カメラのデータ転送効率が向上し、動画像の解像度を高める等といった撮像動作を実現することが可能になる。更に、擬似的に画像データを暗号化することにより、画像データの漏洩防止やプライバシー保護を行うなどといったセキュリティ性の向上が可能となる。
【０１９９】
（実施形態６）
図１９は、本実施形態６における監視カメラ１９００の構成を示す図である。
【０２００】
また、監視カメラ装置の実現方法として、図１９に示すように、撮像部１６１０からの入力画像に対して、所定のカメラ画像処理を行う画像処理部１９０１と信号入力部１９０２とを搭載して、画像処理部１９０１が送信した画像データを受信して圧縮変換を行い、暗号化した上で、通信部１８０４からインターネット上に画像データを送信する監視カメラ用信号処理部１９１０を、別個のＬＳＩにより実現する形態がある。
【０２０１】
本実施形態６においては、画像処理部１９０１に画像符号化装置３００を搭載し、画像復号化装置１１０を監視カメラ用信号処理部１９１０に搭載する。このことにより、画像処理部１９０１が送信する画像データを擬似的に暗号化することができる。このため、画像処理部１９０１と監視カメラ用信号処理部１９１０との間のデータ転送効率を向上させると共に、伝送路上のセキュリティ性が確保され、従来よりも更にセキュリティ性の向上を図ることが可能になる。
【０２０２】
このように、各実施形態において、固定長符号化を行うことにより、ランダムアクセス性は維持したまま、量子化幅を画素単位で適応的に切り替えることにより、欠陥画素や急峻なエッジの発生による影響が平坦な領域に伝播する課題が解決される。
【０２０３】
尚、上記の説明で示される実施形態が、単なる一例であるのは当然である。即ち、権利が請求される対象の概念は、上記に示される実施形態が抽象化された上位概念である。そして、この上位概念は、一例である上記に示された実施形態により実施（実装、実現）されてもよいし、上記に示された実施形態とは一部又は全部が異なる他の実施形態により実施（実装、実現）されてもよいのは当然である。
【産業上の利用可能性】
【０２０４】
以上説明したように、本発明に係る画像符号化方法及び装置並びに画像復号化方法及び装置は、集積回路のデータ転送のバス幅等については、固定長を保証しつつ、画像データを圧縮することが可能になる。
【０２０５】
また、平坦部とエッジ部とが混在しているか否かを判定し、その判定結果を基に量子化処理における量子化幅を画素単位で適応的に切り替えるので、欠陥画素や急峻なエッジが発生している領域においても、量子化誤差が平坦な領域にまで伝播するのを抑えることが可能となる。従って、デジタルスチルカメラやネットワークカメラ等のように画像を扱う装置において、ランダムアクセス性は維持したまま、画像圧縮における画質の劣化を最小限に抑圧しつつ、画像データを符号化、復号化が可能になる。そのため、近年の画像データ処理量の増大へのキャッチアップに有用である。
【符号の説明】
【０２０６】
１００      デジタル信号処理回路
１０１      画像符号化装置
１０２      画像復号化装置
１０３      前処理部
１０４      信号処理部
１０５      メモリ
３００      画像符号化装置
３０１      処理対象画素値入力部
３０２      予測画素生成部
３０３      差分値演算部
３０４      量子化処理部（量子化部）
３０５      パッキング部
３０６      量子化幅決定部
３０７      初期量子化幅算出部
３０８      エッジ部量子化幅算出部
３０９      エッジ判定部
３１０      エッジ画素判別部
３１１      量子化幅選択部
１１０      画像復号化装置
１１１      アンパッキング部
１１２      量子化幅決定部
１１３      逆量子化処理部（逆量子化部）
１１４      予測画素生成部
１１５      復号化値生成部
１１６      出力部
１１７      量子化情報解析部
１１８      エッジフラグ分離部
１１９      量子化幅選択部
１６００，１７００    デジタルスチルカメラ
１６１０，１７１０    撮像部
１６１１    光学系
１６１２，１７１２    撮像素子
１６１３    アナログフロントエンド
１６１４    タイミングジェネレータ
１６２０，１７２０    画像処理部
１６２１    傷補正回路
１６２２    輝度信号生成回路
１６２３    色分離回路
１６２４    アパーチャ補正処理回路
１６２５    マトリクス処理回路
１６２６    ズーム回路
１６３０    表示部
１６４０    圧縮変換部
１６５０    記録保存部
１６６０    ＳＤＲＡＭ
１８００，１９００    監視カメラ
１８１０    監視カメラ用信号処理部
１８０１    画像処理部
１８０２    圧縮変換部
１８０３    暗号化部
１８０４    通信部
１９１０    監視カメラ用信号処理部
１９０１    画像処理部
１９０２    信号入力部
Ｓ１０２    予測画素生成ステップ
Ｓ２０１    初期量子化幅算出ステップ
Ｓ２０２    エッジ部量子化幅算出ステップ
Ｓ２０３    エッジ判定ステップ
Ｓ２０４    エッジ画素判別ステップ
Ｓ１０６    量子化幅決定ステップ
Ｓ１０７    量子化ステップ
Ｓ１０９    パッキングステップ
Ｑ＿ＭＡＸ  第１量子化幅
ＴＨ１      第１の閾値
ＴＨ３      第２の閾値
ＴＨ４      第３の閾値
ＴＨ２      第４の閾値
【図１】
0005529685.tif 000002
【図２】
0005529685.tif 000003
【図３】
0005529685.tif 000004
【図４】
0005529685.tif 000005
【図５】
0005529685.tif 000006
【図６（ａ）】
0005529685.tif 000007
【図６（ｂ）】
0005529685.tif 000008
【図７】
0005529685.tif 000009
【図８】
0005529685.tif 000010
【図９】
0005529685.tif 000011
【図１０】
0005529685.tif 000012
【図１１】
0005529685.tif 000013
【図１２】
0005529685.tif 000014
【図１３】
0005529685.tif 000015
【図１４】
0005529685.tif 000016
【図１５】
0005529685.tif 000017
【図１６】
0005529685.tif 000018
【図１７】
0005529685.tif 000019
【図１８】
0005529685.tif 000020
【図１９】
0005529685.tif 000021
【図２０】
0005529685.tif 000022