(57)【要約】  画像符号化装置（１００）が行なう符号化処理は、符号化対象画素の値と予測値との差分値のバイナリデータの桁数Ｂが所定のビット数Ｍより小さい場合、余剰ビットを余らせて、符号化する処理（Ｓ１３３）と、桁数ＢがＭより大きい場合であって、かつ、余剰ビットが存在する場合、余剰ビットを使用して符号化する処理（Ｓ１３３）とを含む。符号化処理を連続するＴ個の画素のうちＵ個の画素の各々に対して行なう処理を、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成する（Ｓ１３６）。
2010035433.tif 000002
【特許請求の範囲】
【請求項１】
画像を符号化する画像符号化装置であって、
前記画像符号化装置は、画像を符号化するための符号化処理を行ない、
前記画像は、予め順序付けられた複数の画素から構成され、
前記符号化処理は、
符号化対象となる画素である符号化対象画素の値と前記符号化対象画素の値を予測した値である予測値との差分値のバイナリデータの桁数Ｂが、所定のビット数Ｍより小さい場合、Ｍ−Ｂにより算出されるＪ個のビットである余剰ビットを余らせて、Ｍより小さい桁数Ｂに対応する差分値を符号化する処理と、
前記桁数ＢがＭより大きい場合であって、かつ、Ｋ個の前記余剰ビットが存在する場合、Ｍより大きい桁数Ｂに対応する差分値をＬ（≦Ｋ）個の余剰ビットを使用して符号化する処理とを含み、
前記画像符号化装置は、前記符号化処理を連続するＴ（≧２）個の画素のうちＵ（≦Ｔ）個の画素の各々に対して行なう処理を、前記複数の画素のうち、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成し、
複数の前記所定符号量の符号化データは、前記画像を復元するためのデータであり、
各前記所定符号量の符号化データは、対応するＴ個の画素を復元するためデータである
画像符号化装置。
【請求項２】
前記画像符号化装置は、
前記所定符号量を設定する設定部と、
前記符号化対象画素の近傍の１以上の画素の画素値を使用して前記予測値を算出する予測値算出部と、
前記符号化対象画素の値と算出された前記予測値との前記差分値を算出する差分算出部と、
算出された前記差分値を符号付２進数で表現したバイナリデータの桁数Ｂに基づいて前記差分値を量子化する場合に使用する量子化幅値を設定する量子化幅設定部と、
前記桁数ＢがＭより小さい場合、前記余剰ビットの数を示すビットカウンタの値を増加させ、前記桁数ＢがＭより大きい場合、前記ビットカウンタの値を減少させるビットカウント部と、
前記ビットカウント部により前記ビットカウンタの値が減少された場合、前記量子化幅設定部により設定された前記量子化幅値より小さい値に更新した上で、前記差分値を量子化する量子化処理を行ない、該量子化処理により得られた値を符号化する量子化処理部とを備える、
請求項１に記載の画像符号化装置。
【請求項３】
前記画像符号化装置は、前記符号化処理を連続するＴ個の画素のうちＵ個の画素の各々に対して行なうことにより、Ｕ個のデータを生成し、
前記画像符号化装置は、
生成されたＵ個のデータを使用して、Ｕ個のデータを含む前記所定符号量の符号化データを生成するパッキング部
を備える、請求項１に記載の画像符号化装置。
【請求項４】
前記符号化処理は、前記桁数ＢがＭより小さい場合、前記Ｍより小さい桁数Ｂに対応する差分値をＢビットで符号化し、前記桁数ＢがＭより大きい場合であって、かつ、Ｋ個の前記余剰ビットが存在する場合、前記Ｍより大きい桁数Ｂに対応する差分値をＬ個の余剰ビットを使用して（Ｍ＋Ｌ）ビットで符号化する処理である、
請求項１に記載の画像符号化装置。
【請求項５】
前記ビットカウント部は、１つの前記所定符号量の符号化データが生成される毎に、前記ビットカウンタの値を“０”に設定する、
請求項２に記載の画像符号化装置。
【請求項６】
前記ビットカウンタに設定される値は、０以上の正の値である、
請求項２に記載の画像符号化装置。
【請求項７】
前記量子化処理部が前記量子化処理を行なうときに使用する余剰ビットの値は、前記量子化幅設定部により設定された前記量子化幅値以下である、
請求項２に記載の画像符号化装置。
【請求項８】
前記所定符号量の符号化データは、前記量子化幅設定部に設定された前記量子化幅値を示す情報を１つ以上と、１つ以上の符号化されたデータを含む、
請求項２に記載の画像符号化装置。
【請求項９】
前記符号化対象画素の値を示す画素データは、外部の撮像素子から出力されるＲＡＷデータである、
請求項１に記載の画像符号化装置。
【請求項１０】
前記符号化対象画素の値を示す画素データは、外部の撮像素子から出力されるＲＡＷデータから生成された輝度信号または色差信号のデータである、
請求項１に記載の画像符号化装置。
【請求項１１】
前記符号化対象画素の値を示す画素データは、ＪＰＥＧ（Joint Photographic Experts Group）画像のデータを伸張することにより得られる輝度信号または色差信号のデータである、
請求項１に記載の画像符号化装置。
【請求項１２】
前記符号化対象画素の値を示す画素データが、輝度信号または色差信号のデータである場合、所定符号量の符号化データを生成する処理において、輝度信号のデータより色差信号のデータを優先して符号化する、
請求項１０または１１に記載の画像符号化装置。
【請求項１３】
前記符号化対象画素の値を示す画素データが、輝度信号または色差信号のデータである場合、前記色差信号のデータをＩＱ軸変換し、Ｑ信号に割り当てるビットをＥ（Ｅ：Ｍより小さい自然数）ビットにすることで、Ｍ−Ｅにより算出されるＦ（Ｆ：自然数）個のビットを余剰ビットとして余らせて、該余剰ビットを使用して輝度信号のデータを符号化する、
請求項１０または１１に記載の画像符号化装置。
【請求項１４】
前記符号化対象画素の値を示す画素データが、輝度信号または色差信号のデータである場合、前記色差信号のデータをＩＱ軸変換し、Ｑ信号に割り当てるビットをＥ（Ｅ：Ｍより小さい自然数）ビットにすることで、輝度信号のデータに割り当てるビットをＷ（Ｗ：Ｍより大きい自然数）ビットとして符号化する
請求項１０または１１に記載の画像符号化装置。
【請求項１５】
前記画像符号化装置は、さらに、余剰ビット制御部を備え、
前記余剰ビット制御部は、符号化の処理の前に、所定符号量の符号化データに含ませる対象となる全ての符号化対象画素の値に対して、前記予測値との差分を求め、予測誤差の出現頻度を測定することにより、前記所定符号量の符号化データ内での局所的な量子化誤差を分散させるように、符号化の際に使用する余剰ビットを制御する、
請求項２に記載の画像符号化装置。
【請求項１６】
前記画像符号化装置は、さらに、最大使用ビット設定部を備え、
前記最大使用ビット設定部は、１つの符号化対象画素の符号化において使用可能な余剰ビットの最大の数を指定することにより、符号化の際に使用する余剰ビットを制御する、
請求項２に記載の画像符号化装置。
【請求項１７】
請求項１に記載の画像符号化装置を備える、
デジタルスチルカメラ。
【請求項１８】
請求項１に記載の画像符号化装置を備える、
デジタルビデオカメラ。
【請求項１９】
請求項１に記載の画像符号化装置を備える、
撮像素子。
【請求項２０】
画像を符号化する画像符号化方法であって、
画像を符号化するための符号化処理を行なうステップを備え、
前記画像は、予め順序付けられた複数の画素から構成され、
前記符号化処理は、
符号化対象となる画素である符号化対象画素の値と前記符号化対象画素の値を予測した値である予測値との差分値のバイナリデータの桁数Ｂが、所定のビット数Ｍより小さい場合、Ｍ−Ｂにより算出されるＪ個のビットである余剰ビットを余らせて、Ｍより小さい桁数Ｂに対応する差分値を符号化する処理と、
前記桁数ＢがＭより大きい場合であって、かつ、Ｋ個の前記余剰ビットが存在する場合、Ｍより大きい桁数Ｂに対応する差分値をＬ（≦Ｋ）個の余剰ビットを使用して符号化する処理とを含み、
前記画像符号化方法は、さらに、
前記符号化処理を連続するＴ（≧２）個の画素のうちＵ（≦Ｔ）個の画素の各々に対して行なう処理を、前記複数の画素のうち、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成するステップを含み、
複数の前記所定符号量の符号化データは、前記画像を復元するためのデータであり、
各前記所定符号量の符号化データは、対応するＴ個の画素を復元するためデータである
画像符号化方法。
【請求項２１】
前記画像符号化方法は、
前記所定符号量を設定する設定ステップと、
前記符号化対象画素の近傍の１以上の画素の画素値を使用して前記予測値を算出する予測値算出ステップと、
前記符号化対象画素の値と算出された前記予測値との前記差分値を算出する差分算出ステップと、
算出された前記差分値を符号付２進数で表現したバイナリデータの桁数Ｂに基づいて前記差分値を量子化する場合に使用する量子化幅値を設定する量子化幅設定ステップと、
前記桁数ＢがＭより小さい場合、前記余剰ビットの数を示すビットカウンタの値を増加させ、前記桁数ＢがＭより大きい場合、前記ビットカウンタの値を減少させるビットカウントステップと、
前記ビットカウントステップにより前記ビットカウンタの値が減少された場合、前記量子化幅設定ステップにより設定された前記量子化幅値より小さい値に更新した上で、前記差分値を量子化する量子化処理を行ない、該量子化処理により得られた値を符号化する量子化処理ステップとを備える、
請求項２０に記載の画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化する装置および方法に関する。
【背景技術】
【０００２】
近年、デジタルスチルカメラやデジタルビデオカメラなどの撮像装置に用いられる撮像素子の高画素化に伴い、装置に搭載される集積回路が処理する画像データ量が増大している。撮像装置内の集積回路が多くの画像データを扱うには、集積回路内のデータ転送のバス幅を確保するために、動作周波数の高速化、メモリの大容量化等が考えられるが、これらはコストアップに直接繋がってしまう。【０００３】
また、一般的に、デジタルスチルカメラやデジタルビデオカメラなどの撮像装置は、集積回路が全ての画像処理を終えると、ＳＤ（Secure Digital）メモリカード等の外部記録装置に画像データを記録する際、当該画像データの圧縮処理を行なう。そして、撮像装置は、圧縮処理により得られた圧縮データを外部記録装置に記憶させる。この圧縮処理には、ＪＰＥＧ（Joint Photographic Experts Group）、ＭＰＥＧ（Moving Picture Experts Group）といった符号化方式が用いられる。そのため、画像データを圧縮しない場合より、より大きなサイズの画像データ、または、より多くの画像データを外部記録装置に記憶させることができる。【０００４】
特許文献１には、画像データの圧縮処理を、画像処理後のデータに対して行なうだけでなく、撮像素子から入力される画素信号（ＲＡＷデータ）に対しても行なう技術が開示されている。この技術により、同じメモリ容量で、同じ画像サイズの連写枚数を増やすことが可能となる。また、特許文献１には、メモリを必要とせず、低い符号化演算処理負荷を確保した状態で高圧縮率を実現する、デジタル信号圧縮符号化装置およびデジタル信号復号化装置が開示されている。【０００５】
また、特許文献２には、写真等の自然画像の中に、単一色の文字あるいは図形が盛り込まれたポスターや広告のような、性質の異なる画像データが混在した印刷物を、高精度かつ高速に印刷することを可能とする画像符号化装置が開示されている。文字あるいは図形と、自然画像とは画像の性質が異なるため、共通の符号化方式を採用すると画像の品質が劣化してしまう。【０００６】
特許文献２に開示されている画像符号化装置は、画素データを固定長符号で符号化する非可逆符号化部と、可逆符号化部と、余剰符号カウンタと、符号化制御部とを備える。【０００７】
可逆符号化部は、符号化対象画素の画素データの圧縮率が規定圧縮率よりも高い圧縮率となる時には、固定長符号に対する余剰符号を余らせて符号化対象画素の画素データを符号化する。また、可逆符号化部は、符号化の対象となる符号化対象画素の画素データの圧縮率が規定圧縮率よりも低い圧縮率となる時には、固定長符号に追加される余剰符号を消費させて符号化対象画素の画素データを符号化する。【０００８】
余剰符号カウンタは、可逆符号化部が画素データを符号化した時に、固定長符号に対する余剰符号をカウントアップし、可逆符号化部により消費された余剰符号をカウントダウンする。符号化制御部は、余剰カウンタのカウント値が規定圧縮率よりも低圧縮率を示す値とならない範囲で、可逆符号化部での符号化動作を継続させる処理を行なう。以上の処理を行なう画像符号化装置は、データの再現性を向上させることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−０３６５６６号公報
【特許文献２】特開２００７−１８１０５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１に開示されているデジタル信号圧縮符号化装置では、図２１に示されるゾーン量子化幅決定部２０１が、近接する複数の画素で構成されたグループを意味する「ゾーン」に含まれる全ての画素の値を、一律の量子化幅（ゾーン量子化幅）で量子化している。【００１１】
このゾーン量子化幅は、最大画素値差に対応する量子化範囲値に１を加えた値と、圧縮符号化画素値データビット数（ｓ）との差に等しい。ここで、最大画素値差は、ゾーンに含まれる各画素の値と、近傍同色画素の値との差分値（以下、画素差分値という）の最大値である。また、量子化範囲値は、画素差分値の絶対値を２進数で表現するのに必要な桁数である。また、圧縮符号化画素値データビット数（ｓ）は、画素値データを圧縮符号化したデータのビット数である。【００１２】
つまり、ゾーン内に急峻なエッジが存在し、ある１画素の差分値のみが大きくなった場合でも、同一ゾーン内の画素は全て、その影響を受けて量子化幅が大きくなってしまう。従って、特許文献１に開示されているデジタル信号圧縮符号化装置では、差分値が小さく量子化があまり必要ない場合でも、必要以上に量子化誤差が発生する。その結果、画像の画質の劣化の度合いが大きいという問題があった。【００１３】
これに対して、特許文献２に記載された画像符号化装置は、図２２に示される余剰符号カウンタ３０１が、固定長符号に対する余剰符号をカウントアップまたはカウントダウンし、カウントされたカウント値を管理することで、可逆符号化の処理を継続させるように制御している。【００１４】
また、その可逆符号化の処理では、符号化対象画素Ｘの値が辞書に登録されていれば、そのインデックスが符号化される。また、符号化対象画素Ｘの値が辞書に登録されていない場合は、周辺画素値評価部３０２が符号化対象画素の前後に位置する複数の画素（Ｐ、Ａ、Ｂ）との相関を求めて、相関を意味するコードを符号化している。【００１５】
つまり、符号化対象画素Ｘは、Ｘの値が辞書に登録されていない場合、前後の複数の画素と共に一つのコードとして符号化される。そのため、特許文献２に記載の可逆符号化処理が行なわれると、符号化されたデータは可変長で表現される。すなわち、特許文献２に記載の可逆符号化処理により符号化されたデータは、可変長符号データとなる。そのため、可変長符号データを復号する際に、圧縮された可変長符号データの先頭から、符号化時の画素走査順と全く同じように辿っていくことになる。【００１６】
一方、一般的にデジタルスチルカメラ等に搭載される集積回路が行なう画像処理においては、撮像素子から入力されたデジタル画素信号がＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等のメモリに一時記憶される。そして、集積回路は、一時記憶されたデータに対して所定の画像処理、ＹＣ信号生成処理、拡大・縮小等のズーム処理等を行い、処理後のデータを再度ＳＤＲＡＭに一時記憶させる。【００１７】
その際、画像内の任意の領域の画像を切り出す場合や、画素の上下間の参照・相関を必要とする画像処理を行う場合などにおいて、任意領域の画素データをメモリから読み出すよう要求されることが多い。この際、メモリに記憶されている符号データが、可変長符号データであると、メモリにおいて任意領域の画素データが記憶されている領域を特定することができない。すなわち、メモリから任意領域の画素データを読み出すことはできない。そのため、メモリに記憶されている符号データが、可変長符号データであると、ランダムアクセス性を損なうことになる。【００１８】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることを可能とする画像符号化装置等を提供することである。
【課題を解決するための手段】
【００１９】
上述の課題を解決するために、この発明のある局面に従うと、画像を符号化する画像符号化装置は、画像を符号化するための符号化処理を行なう。画像は、予め順序付けられた複数の画素から構成される。符号化処理は、符号化対象となる画素である符号化対象画素の値と符号化対象画素の値を予測した値である予測値との差分値のバイナリデータの桁数Ｂが、所定のビット数Ｍより小さい場合、Ｍ−Ｂにより算出されるＪ個のビットである余剰ビットを余らせて、Ｍより小さい桁数Ｂに対応する差分値を符号化する処理と、桁数ＢがＭより大きい場合であって、かつ、Ｋ個の余剰ビットが存在する場合、Ｍより大きい桁数Ｂに対応する差分値をＬ（≦Ｋ）個の余剰ビットを使用して符号化する処理とを含む。画像符号化装置は、符号化処理を連続するＴ（≧２）個の画素のうちＵ（≦Ｔ）個の画素の各々に対して行なう処理を、複数の画素のうち、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成する。複数の所定符号量の符号化データは、画像を復元するためのデータである。各所定符号量の符号化データは、対応するＴ個の画素を復元するためデータである。【００２０】
すなわち、画像符号化装置が行なう符号化処理は、符号化対象画素の値と予測値との差分値のバイナリデータの桁数Ｂが所定のビット数Ｍより小さい場合、余剰ビットを余らせて、符号化する処理と、桁数ＢがＭより大きい場合であって、かつ、余剰ビットが存在する場合、余剰ビットを使用して符号化する処理とを含む。符号化処理を連続するＴ個の画素のうちＵ個の画素の各々に対して行なう処理を、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成する。複数の所定符号量の符号化データは、画像を復元するためのデータである。【００２１】
したがって、余剰ビットが存在する場合、余剰ビットを使用して符号化するため、符号化による、画像の画質の劣化の度合いを小さくすることができる。また、所定符号量の符号化データが複数生成される。そのため、生成された複数の所定符号量の符号化データを、たとえば、メモリ等に記憶させた場合、画像内の特定の箇所の画素に対応した符号化データを、容易に特定することができる。その結果、符号化データに対するランダムアクセス性を維持することができる。【００２２】
すなわち、本発明によれば、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
【発明の効果】
【００２３】
本発明によれば、画像符号化装置が行なう符号化処理は、符号化対象画素の値と予測値との差分値のバイナリデータの桁数Ｂが所定のビット数Ｍより小さい場合、余剰ビットを余らせて、符号化する処理と、桁数ＢがＭより大きい場合であって、かつ、余剰ビットが存在する場合、余剰ビットを使用して符号化する処理とを含む。符号化処理を連続するＴ個の画素のうちＵ個の画素の各々に対して行なう処理を、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成する。複数の所定符号量の符号化データは、画像を復元するためのデータである。【００２４】
したがって、余剰ビットが存在する場合、余剰ビットを使用して符号化するため、符号化による、画像の画質の劣化の度合いを小さくすることができる。また、所定符号量の符号化データが複数生成される。そのため、生成された複数の所定符号量の符号化データを、たとえば、メモリ等に記憶させた場合、画像内の特定の箇所の画素に対応した符号化データを、容易に特定することができる。その結果、符号化データに対するランダムアクセス性を維持することができる。【００２５】
すなわち、本発明によれば、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明の実施の形態１に係る画像符号化装置と画像復号化装置の構成を示すブロック図である。
【図２】図２は、画像符号化処理のフローチャートである。
【図３】図３は、画像符号化処理において行なわれる余剰ビットカウンタ更新処理のフローチャートである。
【図４】図４は、一例としての撮像素子を示す図である。
【図５】図５は、予測値の算出に用いられる、符号化対象画素の近傍の画素の配置を示す図である。
【図６】図６は、一例としてのデータテーブルを示す図である。
【図７Ａ】図７Ａは、余剰ビットを使用せずに符号化する処理を説明するための図である。
【図７Ｂ】図７Ｂは、余剰ビットを使用せずに符号化する処理を説明するための図である。
【図８】図８は、一例としてのデータテーブルを示す図である。
【図９Ａ】図９Ａは、本実施の形態における、余剰ビットを使用した画像符号化処理を説明するための図である。
【図９Ｂ】図９Ｂは、本実施の形態における、余剰ビットを使用した画像符号化処理を説明するための図である。
【図１０】図１０は、画像復号化処理のフローチャートである。
【図１１】図１１は、余剰ビットカウンタ更新処理Ｒのフローチャートである。
【図１２】図１２は、実施の形態２に係るデジタルスチルカメラの構成を示すブロック図である。
【図１３Ａ】図１３Ａは、ＩＱ信号および輝度信号に対する処理を説明するための図である。
【図１３Ｂ】図１３Ｂは、ＩＱ信号および輝度信号に対する処理を説明するための図である。
【図１４】図１４は、実施の形態３における画像符号化装置および画像復号化装置の構成を示すブロック図である。
【図１５Ａ】図１５Ａは、使用する余剰ビットの数を制御しない場合における画像符号化処理を説明するための図である。
【図１５Ｂ】図１５Ｂは、使用する余剰ビットの数を制御しない場合における画像符号化処理を説明するための図である。
【図１６Ａ】図１６Ａは、本実施の形態における、使用する余剰ビットの数を制御する場合における画像符号化処理を説明するための図である。
【図１６Ｂ】図１６Ｂは、本実施の形態における、使用する余剰ビットの数を制御する場合における画像符号化処理を説明するための図である。
【図１７】図１７は、余剰ビット制御処理のフローチャートである。
【図１８】図１８は、余剰ビットカウンタ更新処理Ａのフローチャートである。
【図１９】図１９は、実施の形態４における、デジタルスチルカメラの構成を示すブロック図である。
【図２０】図２０は、実施の形態５における、パソコンおよびプリンタを示す図である。
【図２１】図２１は、従来の技術を説明するための図である。
【図２２】図２２は、従来の技術を説明するための図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態や各変形例の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
【００２８】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る画像符号化装置１００と画像復号化装置１１０の構成を示すブロック図である。
【００２９】
（画像符号化装置における符号化処理）
まず、図１および図２、図３を参照し、画像符号化装置１００が行なう画像を符号化するための処理（以下、画像符号化処理という）について説明する。
【００３０】
図２は、画像符号化処理のフローチャートである。図３は、画像符号化処理において行なわれる余剰ビットカウンタ更新処理のフローチャートである。
【００３１】
画像符号化装置１００は、画素データ受信部１０１と、予測値算出部１０２と、差分算出部１０３と、量子化処理部１０８と、パッキング部１０６とを備える。
【００３２】
画素データ受信部１０１は、後述する撮像素子１３１２から、画素データを、順次、受信する。画素データ受信部１０１は、図示しないバッファを有する。バッファは、少なくとも１つの画素データを記憶可能なメモリであるとする。
【００３３】
図４は、一例としての撮像素子１３１２を示す図である。図４に示されるように、撮像素子１３１２には、複数の画素が行列状に配置される。ここで、撮像素子１３１２には、Ｘ方向にｘａ個の画素が配列され、Ｙ方向にｙａ個の画素が配列されているとする。
【００３４】
複数の画素の各々は、赤色（Ｒ）、緑色（Ｇ）、青色（Ｂ）のいずれかのカラーフィルターを有する。撮像素子１３１２が示すカラーフィルターの配列は、一例として、ベイヤ配列であるとする。この場合、１枚の画像（ピクチャ）を構成する複数の画素のうちの１つの画素は、たとえば、画素Ｐ１，Ｐ２，Ｐ２１，Ｐ２２により表現される。
【００３５】
たとえば、画素Ｐ１および画素Ｐ２は、それぞれ、緑色（Ｇ）および赤色（Ｒ）のカラーフィルターを有する。また、画素Ｐ２１および画素Ｐ２２は、それぞれ、青色（Ｂ）および緑色（Ｇ）のカラーフィルターを有する。
【００３６】
画素データ受信部１０１は、１行１列目の画素（画素Ｐ１）のデータ〜１行ｘａ列目の画素のデータを、順次、受信する。すなわち、画素データ受信部１０１は、同一行の複数の画素において、１列目〜ｘａ列目の画素のデータを、順次、受信する。たとえば、画素データ受信部１０１は、画素Ｐ１，Ｐ２，Ｐ３・・・のデータを、順次、受信する。
【００３７】
なお、画素データ受信部１０１が、同一行のｘａ列目の画素のデータを、受信した後には、画素データ受信部１０１は、次の行の１列目の画素のデータを受信する。以上の処理が繰り返されることにより、最終的に、画素データ受信部１０１は、ｙａ行ｘａ列目の画素のデータを受信する。
【００３８】
詳細は後述するが、複数の画素データは、固定ビット幅単位で符号化されるとする。固定ビット幅は、画素データを符合化することにより得られるデータ量（ビット）を示す。固定ビット幅は、ｓ（ｓ：自然数）ビットであるとする。詳細は後述するが、画像符号化装置１００は、画素データを符号化した、固定ビット幅（ｓビット）のデータを、固定ビット幅単位で出力する。
【００３９】
以下においては、固定ビット幅（ｓビット）単位で画素データを符号化する際に、最初に処理される各色（例えば、赤、青、緑等）の画素データを、初期画素値データという。たとえば、図４に示される画素Ｐ１のデータは、緑色の初期画素値データである。また、画素Ｐ２のデータは、赤色の初期画素値データである。また、本実施の形態において、画素データ受信部１０１が受信する各画素データは１２ビット長のデジタルデータ（Ｎ＝１２）であるとする。すなわち、画素データ受信部１０１が受信する各画素データは、画素値を１２ビットで表現するとする。
【００４０】
画素データ受信部１０１は、受信した画素データを、内部のバッファに記憶させる。なお、画素データ受信部１０１は、内部のバッファに画素データが記憶されている状態で、新たな画素データを受信した場合、バッファに記憶されている画素データを、予測値算出部１０２へ送信する。また、画素データ受信部１０１は、受信した新たな画素データを、差分算出部１０３へ送信する。また、画素データ受信部１０１は、新たな画素データを内部のバッファに上書き記憶させる。
【００４１】
図１に示されるように、画素データ受信部１０１は、受信した画素データを、適切なタイミングで、予測値算出部１０２および差分算出部１０３へ送信する。以下においては、画素データ受信部１０１が受信したｎ番目の画素データを、単に、ｎ番目の画素データという。
【００４２】
具体的には、画素データ受信部１０１は、ｎ（ｎ：２以上の自然数）番目の画素データを受信すると、ｎ−１番目の画素データを、予測値算出部１０２へ送信するとともに、ｎ番目の画素データを、差分算出部１０３へ送信する。
【００４３】
画素データ受信部１０１は、受信した画素データが初期画素値データである場合（図２：Ｓ１１４でＹＥＳ）、当該入力画素データを、パッキング部１０６へ送信する。
【００４４】
以下においては、符号化の対象となる画素を、符号化対象画素という。また、符号化対象画素の画素値を、符号化対象画素値という。また、符号化対象画素値を示す画素データを、符号化対象画素データという。符号化対象画素データは、前述したｎ番目の画素データである。
【００４５】
予測値算出部１０２が受信する画素データは、以下の第１画素データ、第２画素データおよび第３画素データのいずれかである。
【００４６】
第１画素データは、符号化対象画素データよりも前に画素データ受信部１０１が受信した画素データである。第２画素データは、符号化対象画素データよりも前に画素データ受信部１０１が受信した複数の画素データから演算により算出された値を示す画素データである。第３画素データは、符号化対象画素データよりも前の画素データが画像符号化装置１００により符号化されたデータが、画像復号化装置１１０により復号されることにより得られる画素データである。
【００４７】
予測値算出部１０２は、詳細は後述するが、受信した画素データを用いて符号化対象画素データの予測値を算出する（図２：Ｓ１１５）。
【００４８】
ここで、画素データの符号化方法には、予測符号化方法がある。予測符号化方法とは、符号化対象画素に対する後述する予測値を算出し、符号化対象画素の値と算出した予測値との差分値を量子化する符号化方法である。以下においては、符号化対象画素に対する予測値を、単に、符号化対象画素の予測値という。
【００４９】
符号化対象画素の予測値とは、符号化対象画素の近傍の１以上の画素の値から、符号化対象画素値を予測した値である。これは、符号化対象画素の近傍の画素の値が、符号化対象画素値と同じ値、または、符号化対象画素値に近い値である可能性が高いという特性を利用している。予測符号化方法では、符号化対象画素の予測値を利用することで、算出された差分値をできるだけ小さくして、量子化幅を抑えることができる。
【００５０】
図５は、予測値の算出に用いられる、符号化対象画素の近傍の画素の配置を示す図である。図５に示される“ｘ”は符号化対象画素値を示す。又、図５に示される“ａ”，“ｂ”，“ｃ”は、符号化対象画素の予測値“ｙ”を求めるための近傍の画素の画素値である。以下に、符号化対象画素の予測値を算出する際に一般的に用いられる予測式（１）〜（７）を示す。
ｙ＝ａ                        …（１）
ｙ＝ｂ                        …（２）
ｙ＝ｃ                        …（３）
ｙ＝ａ＋ｂ−ｃ                …（４）
ｙ＝ａ＋（ｂ−ｃ）／２        …（５）
ｙ＝ｂ＋（ａ−ｃ）／２        …（６）
ｙ＝（ａ＋ｂ）／２            …（７）
このように、予測値算出部１０２は、符号化対象画素の近傍の画素の画素値“ａ”，“ｂ”，“ｃ”を用いて、符号化対象画素の予測値“ｙ”を求める。そして、この予測値“ｙ”と符号化対象画素“ｘ”との予測誤差Δ（＝ｙ−ｘ）が算出され、この予測誤差Δが符号化される。
【００５１】
予測値算出部１０２は、入力される画素データから前述した予測式（１）〜（７）のいずれかの予測式を用いて、符号化対象画素の予測値を算出し、算出した予測値を差分算出部１０３へ送信する。
【００５２】
なお、符号化対象画素の予測値を算出する方法は、予測式（１）〜（７）のいずれかを使用した方法に限定されない。たとえば、圧縮処理における内部のメモリバッファが確保できる場合は、符号化対象画素に隣接している画素以外の周辺画素の値もメモリバッファに保持しておき、周辺画素の値を予測に使用することで予測精度を向上することも可能である。
【００５３】
画像符号化装置１００は、さらに、量子化幅設定部１０４と、固定ビット幅設定部１０７と、余剰ビットカウント部１０５とを備える。なお、画像符号化装置１００に含まれる複数の部位の全てまたは一部は、ハードウエアで構成されてもよい。また、画像符号化装置１００に含まれる複数の部位の全てまたは一部は、ＣＰＵ（Central Processing Unit）等により実行されるプログラムのモジュールであってもよい。
【００５４】
差分算出部１０３は、画素データ受信部１０１から送信された符号化対象画素の値と、予測値算出部１０２から送信された予測値との差分値を算出する。以下においては、差分算出部１０３が算出した差分値を、予測差分値という。予測差分値は、符号化対象画素の値から、予測値を減算することにより得られる値である。差分算出部１０３は、算出した予測差分値を、量子化幅設定部１０４へ送信する（図２：Ｓ１１６）。
【００５５】
固定ビット幅設定部１０７は、外部からの指示に応じて、前述した固定ビット幅を設定する。以下においては、固定ビット幅を示す情報を、固定ビット幅情報という。そして、固定ビット幅設定部１０７は、固定ビット幅情報を、パッキング部１０６、量子化幅設定部１０４および余剰ビットカウント部１０５へ送信する。
【００５６】
なお、固定ビット幅設定部１０７は、外部からの指示がなくても、固定ビット幅を設定してもよい。
【００５７】
本実施の形態では、前述したように、固定ビット幅はｓビットであるとする。固定ビット幅は、たとえば、使用される集積回路のデータ転送のバス幅に設定される（図２：Ｓ１１１）。
【００５８】
量子化幅設定部１０４は、差分算出部１０３から送信される、各符号化対象画素に対応する予測差分値に基づき、当該予測差分値の量子化幅Ｑを設定する。量子化幅設定部１０４は、予測差分値と設定した量子化幅Ｑを、量子化処理部１０８に出力する。
【００５９】
以下においては、予測差分値の絶対値を、予測差分絶対値という。また、以下においては、予測差分絶対値を２進数で表現したバイナリデータの桁数を、予測差分バイナリ桁数（単位：ビット）という。また、以下においては、予測差分値を符号付２進数で表現したバイナリデータの桁数を、符号付予測差分バイナリ桁数（単位：ビット）という。
【００６０】
量子化幅Ｑは、符号付予測差分バイナリ桁数から基準ビット幅Ｍを減算することにより算出される値である。なお、当該算出される値が負の値の場合は、量子化幅Ｑの値は“０”とされる。ここで、基準ビット幅Ｍは、一画素を表現するのに使用されるビット量である。
【００６１】
基準ビット幅Ｍは、固定ビット幅設定部１０７から送信された固定ビット幅（ｓビット）に基づいて、以下の式（８）で得られる。なお、算出された基準ビット幅Ｍの値に小数点以下の値がある場合、基準ビット幅Ｍは、小数点以下の値を切り捨てた値となる。
Ｍ＝（ｓ−Ｎ×ｑ）／（Ｐｉｘ−ｑ）−Ｃｏｄｅ      ・・・（８）
式（８）において、ｓは、固定ビット幅を示す。Ｎは、画素データ受信部１０１に入力される画素データのデータ量（単位：ビット）である。ｑは、固定ビット幅（ｓビット）での符号化において、パッキング部１０６が受信する、初期画素値データとしての画素データの数を示す。Ｐｉｘは、符号化後の固定ビット幅（ｓビット）のデータ内に含ませる画素の数を示す。Ｐｉｘの値は、予め設定された値である。
【００６２】
式（８）において、Ｃｏｄｅは、符号化対象画素が量子化されるときの量子化幅Ｑを示す量子化幅情報である。以下においては、Ｃｏｄｅを量子化幅情報Ｃｏｄｅという。量子化幅情報Ｃｏｄｅは１個以上のビットで表現される。たとえば、量子化幅情報Ｃｏｄｅが、３ビットで表現される場合、式（８）におけるＣｏｄｅの値は“３”となる。
【００６３】
量子化幅情報Ｃｏｄｅは、量子化された画素データと共にパッキング部１０６でパッキングされ、パッキングされたデータが出力される（図２：Ｓ１３６）。
【００６４】
このとき、複数の符号化対象画素の各々に対応する予測差分絶対値の最大値（以下、最大画素値差という）から量子化幅Ｑを求め、複数の符号化対象画素に対して同じ量子化幅Ｑで量子化してもよい。これにより、量子化幅情報Ｃｏｄｅに割り振られるビット数を削減することができる。
【００６５】
しかし、一つのＣｏｄｅに対応する符号化対象画素の画素数を増やした場合、特許文献１で示したように前述した最大画素値差を使用するため、画素単位における量子化決定精度が悪くなるというデメリットもある。
【００６６】
余剰ビットカウント部１０５は、余剰ビットの数を示す余剰ビットカウンタを有する。余剰ビットは、予測差分値または予測差分値が量子化された値を基準ビット幅Ｍで表現する場合において、使用されず余ったビットである。
【００６７】
余剰ビットカウンタは、初期状態では“０”を示す。余剰ビットカウント部１０５は、符号化対象画素に対応する符号付予測差分バイナリ桁数が、Ｍ（Ｍ：自然数）ビットより小さい場合、Ｍと符号付予測差分バイナリ桁数との差分値だけ、余剰ビットカウンタが示す値を増加させる（図３：Ｓ１２２）。
【００６８】
一方、符号付予測差分バイナリ桁数が、Ｍビットより大きい場合であって、かつ、余剰ビットカウンタが示す値が正の値である場合、余剰ビットカウント部１０５は、余剰ビットの数を示す情報を量子化幅設定部１０４に送信するとともに、余剰ビットカウンタが示す値を減少させる（図３：Ｓ１２４Ｎ）。
【００６９】
次に、基準ビット幅Ｍが８ビットの場合において、１２ビットの画素データを符号化する場合における、各種データを示すデータテーブルＤＴ１００を示す。
【００７０】
図６は、一例としてのデータテーブルＤＴ１００を示す図である。データテーブルＤＴ１００に示される「予測差分絶対値」は、前述した予測差分値の絶対値である。「予測差分バイナリ桁数」、「符号付予測差分バイナリ桁数」および「量子化幅Ｑ」は、前述したので詳細な説明は繰り返さない。
【００７１】
データテーブルＤＴ１００に示される量子化幅Ｑの値は、基準ビット幅Ｍが８ビットである場合に、符号付予測差分バイナリ桁数から基準ビット幅Ｍを減算することにより算出される値である。なお、当該算出される値が負の値の場合は、量子化幅Ｑの値は“０”とされる。
【００７２】
「余剰ビット数」は、余剰ビットの数を示す。余剰ビット数は、基準ビット幅Ｍから、符号付予測差分バイナリ桁数を減算することにより算出される値である。
【００７３】
ここで、固定ビット幅設定部１０７が設定した固定ビット幅が２５６ビットであるとする。また、画素データ受信部１０１に入力される画素データのデータ量は、１２ビットであるとする。また、固定ビット幅（ｓビット）での符号化において、パッキング部１０６が受信する、初期画素値データとしての画素データの数を“２”とする。符号化後の固定ビット幅（ｓビット）のデータ内に含ませる画素の数を、“２６”とする。また、量子化幅情報Ｃｏｄｅは、１ビットで表現されるとする。
【００７４】
すなわち、式（８）における、ｓ，Ｎ，ｑ，Ｐｉｘ，Ｃｏｄｅの値は、それぞれ、“２５６”，“１２”，“２”，“２６”，“１”であるとする。この場合、前述した式（８）より、Ｍ＝（２５６−１２×２）／（２６−２）−１＝２６／３＝８．７となる。
【００７５】
したがって、符号化後のデータ量を２５６ビット以下にするため、８．７の小数点以下の値を切り捨てることにより、基準ビット幅Ｍは、８となる。すなわち、基本的に、１２ビットの画素データを８ビットの画素データに圧縮することになる。この場合、２５６／１２＝２１．３より、データ圧縮前は２５６ビットのデータで２１個の１２ビットの画素データを示すことができていた。それ対し、データ圧縮後は、２５６ビットのデータで２６個の画素データを示すことができることになる。
【００７６】
図６に示されるように、符号付予測差分バイナリ桁数が基準ビット幅Ｍ“８”より小さい場合（図３：Ｓ１２１でＹＥＳ）、８−符号付予測差分バイナリ桁数により算出される値だけ、余剰ビットカウント部１０５が、余剰ビットカウンタの値を増加させる（図３：Ｓ１２２）。前述したように、余剰ビットカウンタは、余剰ビットの数を示す。なお、符号付予測差分バイナリ桁数が基準ビット幅Ｍ“８”以上の場合は、余剰ビットカウンタの値は増加されない。
【００７７】
量子化処理部１０８は、量子化幅設定部１０４によって設定された量子化幅Ｑにより、符号化対象画素に対応する予測差分値を量子化する量子化処理を行なう。そして、量子化処理部１０８は、量子化処理により得られた値を指定されたビット数で表現したデータ（以下、符号化画素データという）を、パッキング部１０６へ送信する。量子化幅Ｑによる量子化処理とは、符号化対象画素に対応する予測差分値を２のＱ乗で除算する処理である。なお、量子化処理部１０８は、量子化幅Ｑが“０”である場合、量子化は行なわない。この場合、予測差分値を指定されたビット数で表現した画素データ（以下、符号化画素データという）を、パッキング部１０６へ送信する。
【００７８】
パッキング部１０６は、少なくとも１以上の初期画素値データと、複数の符号化画素データと、少なくとも一画素以上に対応する量子化幅情報Ｃｏｄｅを結合させてｓビットのデータにパッキングする（図２：Ｓ１３６）。
【００７９】
以下においては、パッキングにより得られるデータを、パッキングデータという。パッキング部１０６は、ｓビットのパッキングデータをＳＤＲＡＭ等のメモリに記憶させる処理、または、ｓビットのパッキングデータをアンパッキング部１１６に出力する処理を行なう。なお、ｓビットのパッキングデータにおいて、未使用ビットが存在する場合、パッキング部１０６は、未使用ビットを、ダミーデータに置き換える。
【００８０】
図７Ａおよび図７Ｂは、余剰ビットを使用せずに符号化する処理を説明するための図である。
【００８１】
ここで、画素データ受信部１０１は、固定ビット幅（ｓビット）のデータ内に含ませる画素の数（２６）と同じ数の画素データを、順次、受信するとする。また、画素データ受信部１０１が受信する画素データのデータ量は１２ビットであるとする。すなわち、画素データのダイナミックレンジは１２ビットであるとする。ここで、基準ビット幅Ｍは８ビットであるとする。また、量子化幅情報Ｃｏｄｅは３ビットで表現されるとする。
【００８２】
図７Ａには、一例として、画素データ受信部１０１に入力される、２６個の画素データのうちの１１個の画素データが示される。
【００８３】
画素データ受信部１０１には、画素Ｐ１，Ｐ２，・・・，Ｐ１１の順で、各画素に対応する１２ビットの画素データが入力されるとする。画素Ｐ１〜Ｐ１１内に示される数値は、対応する画素データが示す画素値である。なお、画素Ｐ１，Ｐ２にそれぞれ対応する２つの画素データは、それぞれ、緑色および赤色の初期画素値データであるとする。
【００８４】
本実施の形態では、符号化対象画素の予測値は、一例として、予測式（１）により算出されるものとする。この場合、算出される符号化対象画素の予測値は、符号化対象画素の左隣の画素の値となる。すなわち、符号化対象画素の画素値は、一つ前に入力された画素と同一の画素値（レベル）になる可能性が高いと予測していることになる。
【００８５】
予測差分値は、ｎ番目の画素の画素値から、（ｎ−１）番目の画素の画素値を減算することにより得られる値である。
【００８６】
予測差分絶対値は、隣接する２つの画素の値の差分値の絶対値を示す。すなわち、予測差分絶対値は、予測差分値の絶対値である。たとえば、画素Ｐ１，Ｐ２の画素値が、それぞれ、“３００”，“２２０”である場合、画素Ｐ１，Ｐ２の画素値により算出される予測差分絶対値は“８０”となる。
【００８７】
予測差分絶対値が“８０”である場合、“８０”は、基準ビット幅Ｍ（８ビット）で表現可能なので、予測差分絶対値“８０”は量子化されない。すなわち、予測差分絶対値“８０”の量子化幅Ｑは“０”となる（図６参照）。
【００８８】
図７Ａでは、固定ビット幅（ｓビット）単位で符号化対象画素値を符号化する際に、複数の符号化対象画素値のうち、初期画素値データに対応する画素を除いた複数の画素を、隣接する３つの画素単位で、グループ分けされる。
【００８９】
図７Ａの例では、各グループに属する３画素にそれぞれ対応する３つの予測差分絶対値のうちの最大値（以下、最大予測差分絶対値という）を、当該グループに属する３画素の各々に対応する予測差分値を量子化するための量子化幅Ｑを求めるための値としている。また、図７Ａの例では、同一のグループに属する画素値は、同じ量子化幅Ｑで量子化される。
【００９０】
たとえば、グループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５にそれぞれ対応する３つの予測差分絶対値は、それぞれ、“４０”，“２０”，“４０”である。この場合、最大予測差分絶対値は“４０”となる。この場合、最大予測差分絶対値“４０”が図６に示される“３２”〜“６３”の範囲の値に含まれるので、グループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５を量子化するための量子化幅Ｑは“０”となる。
【００９１】
また、グループＧ２に属する画素Ｐ６，Ｐ７，Ｐ８にそれぞれ対応する３つの予測差分絶対値は、それぞれ、“２７０”，“５００”，“６６”である。この場合、最大予測差分絶対値は“５００”となる。この場合、最大予測差分絶対値“５００”が図６に示される“２５６”〜“５１１”の範囲の値に含まれるので、グループＧ２に属する画素Ｐ６，Ｐ７，Ｐ８を量子化するための量子化幅Ｑは“２”となる。すなわち、グループＧ２に属する画素Ｐ６，Ｐ７，Ｐ８に対応する全ての予測差分値は、量子化幅Ｑ“２”で量子化されることになる。
【００９２】
図７Ａに示される「使用ビット数」とは、対応する予測差分値が量子化されることにより得られる値を表現するために使用される画素データのビット数である。
【００９３】
たとえば、画素Ｐ３に対応する量子化幅Ｑは“０”であるので、画素Ｐ３に対応する予測差分値“４０”は、量子化幅Ｑ“０”で量子化される。すなわち、予測差分値“４０”は、２の０乗（＝１）で除算される。当該除算により得られる値は“４０”である。すなわち、予測差分値“４０”は量子化されてないことになる。この処理の例では、除算により得られる値“４０”を表現するために８ビットのデータが使用される。
【００９４】
また、たとえば、画素Ｐ７に対応する量子化幅Ｑは“２”であるので、画素Ｐ７に対応する予測差分値“−５００”は、量子化幅Ｑ“２”で量子化される。すなわち、予測差分値“−５００”は、２の２乗（＝４）で除算される。当該除算により得られる値は“−１２５”である。この処理の例では、除算により得られる値“−１２５”を表現するために８ビットのデータが使用される。
【００９５】
図７Ｂは、図７Ａにおいて説明した処理および演算が行なわれた場合に、画像符号化装置１００から出力される、固定ビット幅（ｓビット）のデータを示す図である。図７Ｂにおいて、画素Ｐ１〜Ｐ２内に示される数値は、対応する画素データのビット数を示す。図７Ｂに示されるように、初期画素値データに対応する画素Ｐ１，Ｐ２の画素値は、１２ビットの画素データで表現される。なお、各グループに含まれる３つの画素データの先頭には、３ビットの量子化幅情報Ｃｏｄｅがパッキング部１０６により付加される。
【００９６】
なお、図７Ｂに示されるように、各グループに含まれる３つの画素の画素値は、８ビットの画素データで表現される。
【００９７】
本実施の形態では、基準ビット幅Ｍが８ビットであり、１２ビットの画素データを符号化する場合および符号化されたデータを復号する場合において、以下のデータテーブルＤＴ１１０を使用するとする。本実施の形態では、量子化幅情報Ｃｏｄｅは、３ビットで表現されるとする。
【００９８】
図８は、一例としてのデータテーブルＤＴ１１０を示す図である。図８に示されるように、データテーブルＤＴ１１０は、図６のデータテーブルＤＴ１００と比較して、「Ｃｏｄｅ」の項目が追加されている点が異なる。それ以外は、データテーブルＤＴ１００と同様なので詳細な説明は繰り返さない。
【００９９】
「Ｃｏｄｅ」の項目には、３ビットの量子化幅情報Ｃｏｄｅにより１０進数の値として“０”〜“７”が表現される。これにより、３ビットの量子化幅情報Ｃｏｄｅは、８つに分類した予測差分絶対値に対応する量子化幅Ｑを示すことが可能となる。具体的には、データテーブルＤＴ１１０に示されるように、３ビットの量子化幅情報Ｃｏｄｅが示す８種類のコード（“０００”、“００１”等）は、８つに分類した予測差分絶対値に対応する量子化幅Ｑに対応付けられる。
【０１００】
たとえば、データテーブルＤＴ１１０では、量子化幅情報Ｃｏｄｅが示すコード“０００”を、予測差分絶対値が“０”〜“３１”の範囲の値に対応づけている。これにより、量子化幅情報Ｃｏｄｅが示すコード“０００”は、量子化幅Ｑ“０”を示すことになる。
【０１０１】
また、たとえば、データテーブルＤＴ１１０では、量子化幅情報Ｃｏｄｅが示すコード“１００”を、予測差分絶対値が“２５６”〜“５１１”の範囲の値に対応づけている。これにより、量子化幅情報Ｃｏｄｅが示すコード“１００”は、量子化幅Ｑ“２”を示すことになる。
【０１０２】
なお、データテーブルＤＴ１１０は、画像符号化装置１００および画像復号化装置１１０の各々に含まれる図示されないメモリ等の記憶装置に予め記憶させておく。すなわち、画像符号化装置１００および画像復号化装置１１０の各々では、同一のデータテーブルを使用して各種処理が行なわれる。
【０１０３】
（画像符号化処理）
次に、本実施の形態における画像符号化処理の詳細な説明を行なう。
【０１０４】
図９Ａおよび図９Ｂは、本実施の形態における、余剰ビットを使用した画像符号化処理を説明するための図である。
【０１０５】
ここで、画素データ受信部１０１は、固定ビット幅（ｓビット）のデータ内に含ませる画素の数（２６）と同じ数の画素データを、順次、受信するとする。また、画素データ受信部１０１が受信する画素データのデータ量は１２ビットであるとする。すなわち、画素データのダイナミックレンジは１２ビットであるとする。ここで、基準ビット幅Ｍは８ビットであるとする。また、量子化幅情報Ｃｏｄｅは３ビットで表現されるとする。
【０１０６】
図９Ａには、一例として、画素データ受信部１０１に入力される、２６個の画素データのうちの１１個の画素データが示される。
【０１０７】
画素データ受信部１０１には、画素Ｐ１，Ｐ２，・・・，Ｐ１１の順で、各画素に対応する１２ビットの画素データが入力されるとする。画素Ｐ１〜Ｐ１１内に示される数値は、対応する画素データが示す画素値である。なお、画素Ｐ１，Ｐ２にそれぞれ対応する２つの画素データは、それぞれ、緑色および赤色の初期画素値データであるとする。
【０１０８】
本実施の形態では、符号化対象画素の予測値は、一例として、予測式（１）により算出されるものとする。この場合、算出される符号化対象画素の予測値は、符号化対象画素の左隣の画素の値となる。すなわち、符号化対象画素の画素値は、一つ前に入力された画素と同一の画素値（レベル）になる可能性が高いと予測していることになる。
【０１０９】
図９Ａに示される「予測差分値」、「予測差分絶対値」、「量子化幅Ｑ」、「使用ビット数」は、図７Ａを使用して説明したので詳細な説明は繰り返さない。
【０１１０】
「余剰ビット数」とは、対応する予測差分値または当該予測差分値が量子化された値を、基準ビット幅Ｍで表現する場合において、使用されず余ったビット（余剰ビット）の数である。
【０１１１】
「累積余剰ビット数」とは、対応する使用ビット数で符号化が行なわれる場合における余剰ビットカウンタが示す値である。
【０１１２】
図９Ａでは、図７Ａと同様に、固定ビット幅（ｓビット）単位で符号化対象画素値を符号化する際に、複数の符号化対象画素値のうち、初期画素値データに対応する画素を除いた複数の画素を、隣接する３つの画素単位で、グループ分けされる。各グループについては、図７Ａを使用して説明したので詳細な説明は繰り返さない。
【０１１３】
ここで、図１の画像符号化装置１００内の量子化幅設定部１０４内には、データを記憶する図示しないメモリが設けられているとする。量子化幅設定部１０４内のメモリには、予め、図８のデータテーブルＤＴ１１０が記憶されているとする。なお、データテーブルＤＴ１１０を記憶するメモリは、量子化幅設定部１０４の外部に設けられていてもよい。
【０１１４】
また、画像符号化装置１００内のパッキング部１０６内には、データを記憶する図示しないメモリが設けられているとする。また、予測値算出部１０２には、データを記憶する図示しないメモリが設けられているとする。
【０１１５】
図２の画像符号化処理では、まず、ステップＳ１１１の処理が行なわれる。
【０１１６】
ステップＳ１１１では、固定ビット幅設定部１０７が、固定ビット幅（ｓビット）を設定する。固定ビット幅は、たとえば、使用される集積回路のデータ転送のバス幅に設定される。そして、固定ビット幅設定部１０７は、固定ビット幅（ｓビット）を示す固定ビット幅情報を、パッキング部１０６、量子化幅設定部１０４および余剰ビットカウント部１０５へ送信する。
【０１１７】
ステップＳ１１２では、量子化幅設定部１０４が、前述したように、式（８）より基準ビット幅Ｍを算出する。ここで、算出された基準ビット幅Ｍは“８”であるとする。量子化幅設定部１０４は、算出した基準ビット幅Ｍを、余剰ビットカウント部１０５へ送信する。
【０１１８】
ステップＳ１１３では、画素データ受信部１０１が画素データを受信する。
【０１１９】
ステップＳ１１４では、画素データ受信部１０１が、受信した画像データが初期画素値データであるか否かを判定する。ステップＳ１１４において、ＹＥＳならば、画素データ受信部１０１は、受信した画素データを内部のバッファに記憶させ、画素データ受信部１０１は、受信した画素データをパッキング部１０６へ送信する。そして、処理は後述するステップＳ１３５に移行する。一方、ステップＳ１１４において、ＮＯならば、後述する処理が行なわれた後、処理はステップＳ１１５に移行する。
【０１２０】
ここで、画素データ受信部１０１は、画素Ｐ１に対応する、初期画素値データとしての画素データを受信したとする。この場合、画素データ受信部１０１は、受信した画素データを内部のバッファに記憶させ、画素データ受信部１０１は、受信した画素データをパッキング部１０６へ送信する。なお、バッファに画素データが記憶されている場合、画素データ受信部１０１は、受信した画素データを内部のバッファに上書き記憶させる。
【０１２１】
パッキング部１０６は、初期画素値データとしての画素データを受信すると、受信した画素データ（初期画素値データ）を、内部のメモリに記憶させる。そして、ステップＳ１３５の処理が行なわれる。
【０１２２】
ステップＳ１３５では、パッキング部１０６が、受信した画素データの数が、所定値Ｐｉｘと等しいか否かを判定する。受信した画素データは、初期画素値データまたは符号化対象画素データである。Ｐｉｘは、前述したように、ｓビットの符号化データ（パッキングデータ）に含ませる画素の数を示す。Ｐｉｘの値は、一例として、“２６”であるとする。
【０１２３】
ステップＳ１３５において、ＹＥＳならば、受信した画素データの数が“０”とされる。なお、その後、たとえば、パッキング部１０６が１つの画素データを受信すると、受信した画素データの数は“１”となる。そして、処理はステップＳ１３６に移行する。
【０１２４】
一方、ステップＳ１３５において、ＮＯならば、再度、ステップＳ１１３の処理が行なわれる。ここでは、受信した画素データの数が、所定値Ｐｉｘと等しくないとして、再度、ステップＳ１１３の処理が行なわれる。
【０１２５】
次に、画素データ受信部１０１は、画素Ｐ２に対応する、初期画素値データとしての画素データを受信したとする（Ｓ１１３）。
【０１２６】
この場合、ステップＳ１１４でＹＥＳと判定され、画素データ受信部１０１は、受信した画素データを内部のバッファに上書き記憶させ、画素データ受信部１０１は、受信した画素データをパッキング部１０６へ送信する。
【０１２７】
そして、前述したステップＳ１３５の処理が行なわれ、再度、ステップＳ１１３の処理が行なわれる。
【０１２８】
ここで、画素Ｐ３が符号化対象画素であるとする。この場合、画素データ受信部１０１は、画素Ｐ３に対応する画素データ（符号化対象画素データ）を受信したとする。符号化対象画素データが示す画素値は“２６０”であるとする。この場合、受信した画素データは初期画素値データでないので（Ｓ１１４でＮＯ）、画素データ受信部１０１は、受信した画素データを差分算出部１０３へ送信する。
【０１２９】
以下においては、初期画素値データに対応する画素でない符号化対象画素が属するグループを、処理対象グループという。たとえば、符号化対象画素が画素Ｐ３である場合、画素Ｐ３が属するグループＧ１は、処理対象グループとなる。
【０１３０】
また、ステップＳ１１４でＮＯと判定された場合、画素データ受信部１０１は内部のバッファに記憶されている画素データを予測値算出部１０２へ送信する。ここで、送信される画素データは、画素Ｐ２の画素値“２２０”を示すとする。予測値算出部１０２は、画素データを受信する毎に、受信した画素データを内部のメモリに記憶させる。
【０１３１】
また、画素データ受信部１０１は、受信した画素データを内部のバッファに上書き記憶させる。また、画素データ受信部１０１は、受信した画素データ（符号化対象画素データ）を、差分算出部１０３へ送信する。そして、処理は、ステップＳ１１５に移行する。
【０１３２】
ステップＳ１１５では、予測値算出部１０２が、符号化対象画素の予測値を算出する。具体的には、予測値算出部１０２は、予測式（１）を使用して、予測値を算出する。この場合、受信した画素データが示す画素値（“２２０”）が予測値として算出される。予測値算出部１０２は、算出した予測値“２２０”を、差分算出部１０３へ送信する。
【０１３３】
また、ｈ番目の符号化対象画素の予測値を算出する際に、（ｈ−１）番目の画素データが初期画素値データである場合、（ｈ−１）番目の画素データが示す値を予測値とし、（ｈ−１）番目の画素データが初期画素値データでない場合は、画像符号化装置１００により符号化されたデータを、画像復号化装置１１０に入力させ復号化することにより得られる画素データが示す画素値を、符号化対象画素の予測値とする。これにより、量子化処理部１０８における量子化処理により誤差が生じるような場合でも、画像符号化装置１００と画像復号化装置１１０において予測値を一致させることが可能となる。
【０１３４】
ステップＳ１１６では、予測差分値が算出される。具体的には、差分算出部１０３が、受信した符号化対象画素データが示す画素値（“２６０”）から、受信した予測値“２２０”を減算することにより、予測差分値“４０”を算出する。また、差分算出部１０３は、算出した予測差分値“４０”を量子化幅設定部１０４へ送信する。
【０１３５】
以下においては、処理対象グループに属する３つの画素の各々に対応する予測差分値を、処理対象予測差分値という。たとえば、処理対象グループがグループＧ１である場合、グループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５の各々に対応する予測差分値は、処理対象予測差分値である。
【０１３６】
量子化幅設定部１０４は、差分値カウンタを有する。差分値カウンタは、予測差分値を受信した数を示すカウンタである。差分値カウンタの初期値は“０”である。量子化幅設定部１０４は、予測差分値を受信する毎に、受信した予測差分値を内部のメモリに記憶させ、かつ、差分値カウンタが示す値を“１”増加させる。
【０１３７】
ステップＳ１１７では、量子化幅設定部１０４が、予測差分値を３つ受信したか否かを判定する。すなわち、量子化幅設定部１０４は、差分値カウンタが示す値が“３”であるか否かを判定する。ステップＳ１１７において、ＹＥＳならば、量子化幅設定部１０４は差分値カウンタの値を“０”に設定し、処理はステップＳ１１８に移行する。一方、ステップＳ１１７において、ＮＯならば、再度、ステップＳ１１３の処理が行なわれる。ここでは、差分値カウンタが示す値は“１”であるとして、再度、ステップＳ１１３の処理が行なわれる。
【０１３８】
そして、前述した、ステップＳ１１３〜Ｓ１１６の処理が２回行なわれることにより、量子化幅設定部１０４は、３つの予測差分値を受信したことになる。量子化幅設定部１０４が受信した３つの予測差分値は、グループに属する３画素にそれぞれ対応する３つの予測差分値である。この場合、内部のメモリに、３つの予測差分値が記憶されていることになる。量子化幅設定部１０４は、３つの予測差分値を受信すると（Ｓ１１７でＹＥＳ）、差分値カウンタの値を“０”に設定する。
【０１３９】
ステップＳ１１８では、量子化幅設定処理が行なわれる。量子化幅設定処理では、量子化幅設定部１０４が、内部のメモリに記憶されている３つの予測差分値の各々を符号付２進数で表現したバイナリデータの桁数（符号付予測差分バイナリ桁数）を算出する。ここで、３つの予測差分値は、図９ＡのグループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５にそれぞれ対応する３つの予測差分値“４０”，“２０”，“４０”であるとする。この場合、算出される３つの符号付予測差分バイナリ桁数は、それぞれ、“７”，“７”，“７”である。
【０１４０】
また、量子化幅設定部１０４は、３つの予測差分値の絶対値（予測差分絶対値）を算出する。ここで、３つの予測差分値は、それぞれ、“４０”，“２０”，“４０”であるとする。この場合、算出される３つの予測差分絶対値は、それぞれ、“４０”，“２０”，“４０”である。
【０１４１】
そして、量子化幅設定部１０４は、３つの予測差分絶対値のうちの最大値（以下、最大予測差分絶対値という）を算出する。この場合、最大予測差分絶対値は“４０”となる。
【０１４２】
そして、量子化幅設定部１０４は、内部のメモリに記憶されている図８のデータテーブルＤＴ１１０と、最大予測差分絶対値（例えば“４０”）とを使用して、量子化幅Ｑを設定する。
【０１４３】
最大予測差分絶対値が“４０”である場合、最大予測差分絶対値“４０”は、データテーブルＤＴ１１０に示される“３２”〜“６３”の範囲の値に含まれるので、量子化幅Ｑは“０”に設定される。設定された量子化幅Ｑは、処理対象グループに属する３つの画素に対応するように設定される。この場合、処理対象グループ（例えば、グループＧ１）に属する３つの画素（例えば、画素Ｐ３，Ｐ４，Ｐ５）にそれぞれ対応する３つの量子化幅Ｑが全て“０”に設定される。
【０１４４】
また、量子化幅設定部１０４は、量子化幅情報Ｃｏｄｅを、パッキング部１０６へ送信する。この場合、最大予測差分絶対値“４０”は、データテーブルＤＴ１１０に示される“３２”〜“６３”の範囲の値に含まれるので、量子化幅情報Ｃｏｄｅはコード“００１”を示す情報とされる。
【０１４５】
なお、パッキング部１０６は、量子化幅情報Ｃｏｄｅを受信すると、受信した量子化幅情報Ｃｏｄｅを、内部のメモリに記憶させる。
【０１４６】
ステップＳ１１９では、量子化幅設定部１０４が、処理対象グループ（例えば、グループＧ１）に属する３つの画素にそれぞれ対応する３つの符号付予測差分バイナリ桁数のうち、最大の符号付予測差分バイナリ桁数を、余剰ビットカウント部１０５へ送信する。
【０１４７】
ステップＳ１２０では、余剰ビットカウンタ更新処理が行なわれる。
【０１４８】
図３に示されるように、余剰ビットカウンタ更新処理では、まず、ステップＳ１２１の処理が行なわれる。
【０１４９】
ステップＳ１２１では、余剰ビットカウント部１０５が、受信した符号付予測差分バイナリ桁数が、基準ビット幅Ｍより小さいか否かを判定する。ステップＳ１２１において、ＹＥＳならば、処理はステップＳ１２２に移行する。一方、ステップＳ１２１において、ＮＯならば、処理は後述するステップＳ１２３に移行する。ここで、受信した符号付予測差分バイナリ桁数が“７”であり、基準ビット幅Ｍが、８ビットであるとする。この場合、ＹＥＳと判定され、ステップＳ１２２の処理が行なわれる。
【０１５０】
ステップＳ１２２では、カウンタ値増加処理が行なわれる。カウンタ値増加処理では、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値を、基準ビット幅Ｍ（例えば“８”）から、受信した符号付予測差分バイナリ桁数（例えば“７”）減算することにより得られた値（例えば“１”）だけ増加させる。この処理により、余剰ビットカウンタは“１”を示すとする。
【０１５１】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２の画像符号化処理に戻り、処理はステップＳ１３０に移行する。
【０１５２】
ステップＳ１３０では、データ送信処理が行なわれる。データ送信処理では、量子化幅設定部１０４が、処理対象グループ（例えば、グループＧ１）に属するｐ番目の画素に対応する量子化幅Ｑと、処理対象グループ（例えば、グループＧ１）に属するｐ番目の画素に対応する予測差分値とを、量子化処理部１０８へ送信する。なお、ｐの初期値は“１”である。たとえば、処理対象グループが、グループＧ１である場合、グループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５は、それぞれ、１，２，３番目の画素である。
【０１５３】
ステップＳ１３１では、量子化幅設定部１０４が、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑが“０”であるか否かを判定する。ステップＳ１３１において、ＹＥＳならば、処理は、ステップＳ１３３に移行する。一方、ステップＳ１３１において、ＮＯならば、処理は後述するステップＳ１３２に移行する。
【０１５４】
ここでは、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑが“０”であるとして、処理はステップＳ１３３に移行する。
【０１５５】
ステップＳ１３３では、符号化処理が行なわれる。符号化処理では、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“０”であり、かつ、量子化処理部１０８が後述するカウンタ減少値情報を受信してない場合、以下の処理ＮＡが行なわれる。
【０１５６】
処理ＮＡでは、量子化処理部１０８が、量子化幅設定部１０４から受信した予測差分値を、当該予測差分値に対応する符号付予測差分バイナリ桁数のビットで表現したデータ（以下、符号化画素データという）を生成する。そして、量子化処理部１０８は、生成した符号化画素データを、パッキング部１０６へ送信する。
【０１５７】
ここで、受信した量子化幅Ｑが“０”であるとする。また、受信した予測差分値は、“４０”であるとする。また、予測差分値“４０”に対応する符号付予測差分バイナリ桁数は“７”であるとする。
【０１５８】
この場合、量子化処理部１０８は、予測差分値“４０”を、“７”ビットで表現した符号化画素データを生成する。すなわち、符号化画素データを生成するために使用されたビット数は、図９Ａに示されるように、“７”となる。この場合、基準ビット幅Ｍが８ビットであるとすると、１つの余剰ビットが生じることになる。
【０１５９】
そして、生成された符号化画素データが、パッキング部１０６へ送信される。なお、パッキング部１０６は、受信した符号化画素データを、内部のメモリに記憶させる。
【０１６０】
また、符号化処理では、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“０”であり、かつ、量子化処理部１０８が後述するカウンタ減少値情報を受信した場合、後述する処理ＮＢが行なわれる。
【０１６１】
また、符号化処理では、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“１”以上であり、かつ、量子化処理部１０８が後述するカウンタ減少値情報を受信した場合、後述する処理ＮＣが行なわれる。
【０１６２】
ステップＳ１３４では、量子化幅設定部１０４が、処理対象グループに対応する算出した全て（３つ）の符号付予測差分バイナリ桁数を、余剰ビットカウント部１０５へ送信したか否かを判定する。ステップＳ１３４において、ＹＥＳならば、量子化幅設定部１０４は、ｐの値を“１”に設定し、処理は、ステップＳ１３５に移行する。一方、ステップＳ１３４において、ＮＯならば、量子化幅設定部１０４が、ｐの値を“１”増加させる。そして、再度、ステップＳ１１９の処理が行なわれる。
【０１６３】
ここでは、ＮＯであるとして、再度、前述したステップＳ１１９の処理が行なわれる。この処理により、画素Ｐ４に対応する符号付予測差分バイナリ桁数“７”が、余剰ビットカウント部１０５へ送信されるとする。
【０１６４】
そして、再度、図３のステップＳ１２１，Ｓ１２２の処理が行なわれることにより、余剰ビットカウンタの示す値は“２”となったとする。
【０１６５】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２のステップＳ１３０の処理が行なわれる。この処理により、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑと、処理対象グループに属する２番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０１６６】
そして、前述したステップＳ１３１，Ｓ１３３の処理が行なわれる。この処理により、“７”ビットで表現した符号化画素データが、パッキング部１０６へ送信される。なお、パッキング部１０６は、受信した符号化画素データを、内部のメモリに記憶させる。
【０１６７】
そして、ステップＳ１３４でＮＯと判定され、量子化幅設定部１０４が、ｐの値を“１”増加させる。そして、再度、ステップＳ１１９の処理が行なわれる。この処理により、画素Ｐ５に対応する符号付予測差分バイナリ桁数“７”が、余剰ビットカウント部１０５へ送信されるとする。
【０１６８】
そして、再度、図３のステップＳ１２１，Ｓ１２２の処理が行なわれることにより、余剰ビットカウンタの示す値は“３”となったとする。
【０１６９】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２のステップＳ１３０の処理が行なわれる。この処理により、処理対象グループに属する３番目の画素に対応する量子化幅Ｑと、処理対象グループに属する３番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０１７０】
そして、前述したステップＳ１３１，Ｓ１３３の処理が行なわれる。この処理により、“７”ビットで表現した符号化画素データが、パッキング部１０６へ送信される。なお、パッキング部１０６は、受信した符号化画素データを、内部のメモリに記憶させる。
【０１７１】
そして、ステップＳ１３４で、ＹＥＳと判定され、量子化幅設定部１０４は、ｐの値を“１”に設定し、ステップＳ１３５の処理が行なわれる。
【０１７２】
ステップＳ１３５では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、ここでは、受信した画素データの数が、所定値Ｐｉｘと等しくないとして、再度、ステップＳ１１３の処理が行なわれる。
【０１７３】
なお、この時点で、パッキング部１０６は、図９Ｂに示されるように、画素Ｐ１，Ｐ２の各々に対応する初期画素値データ（１２ビット）、量子化幅情報Ｃｏｄｅ（３ビット）、画素Ｐ３，Ｐ４，Ｐ５の各々に対応する符号化画素データ（７ビット）を受信しているとする。この場合、パッキング部１０６内のメモリには、図９Ｂに示される、画素Ｐ１に対応する初期画素値データから画素Ｐ５に対応する符号化画素データまでが、図９Ｂに示されように連続して記憶されている。
【０１７４】
次に、画素データ受信部１０１が、図９Ａに示される、画素値“５９０”を有する画素Ｐ６に対応する画素データを受信したとする。
【０１７５】
この場合、ステップＳ１１４でＮＯと判定され、前述したのと同様に、ステップＳ１１５，Ｓ１１６の処理が行なわれる。
【０１７６】
前述したステップＳ１１５，Ｓ１１６の処理により、予測差分値“２７０”が算出される。また、差分算出部１０３は、算出した予測差分値“２７０”を量子化幅設定部１０４へ送信する。
【０１７７】
ステップＳ１１７では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、差分値カウンタが示す値は“１”であるとして、再度、ステップＳ１１３の処理が行なわれる。再度、ステップＳ１１３の処理が行なわれる。
【０１７８】
そして、前述した、ステップＳ１１３〜Ｓ１１６の処理が２回行なわれることにより、量子化幅設定部１０４は、図９Ａに示される、３つの予測差分値“２７０”，“−５００”，“−６６”を受信したとする。量子化幅設定部１０４は、３つの予測差分値を受信すると（Ｓ１１７でＹＥＳ）、差分値カウンタの値を“０”に設定する。
【０１７９】
ステップＳ１１８では、前述したのと同様に量子化幅設定処理が行なわれるので詳細な説明は繰り返さない。ここで、３つの予測差分値は、図９ＡのグループＧ２に属する画素Ｐ６，Ｐ７，Ｐ８にそれぞれ対応する３つの予測差分値“２７０”，“−５００”，“−６６”であるとする。この場合、算出される３つの符号付予測差分バイナリ桁数は、それぞれ、“１０”，“１０”，“８”である。この場合、算出された３つの符号付予測差分バイナリ桁数“１０”，“１０”，“８”は、それぞれ、画素Ｐ６，Ｐ７，Ｐ８に対応する。
【０１８０】
また、量子化幅設定部１０４は、前述したのと同様に、３つの予測差分絶対値“２７０”，“５００”，“６６”を算出する。この場合、最大予測差分絶対値は“５００”となる。
【０１８１】
そして、量子化幅設定部１０４は、内部のメモリに記憶されている図８のデータテーブルＤＴ１１０と、最大予測差分絶対値“５００”とを使用して、量子化幅Ｑを設定する。
【０１８２】
最大予測差分絶対値が“５００”である場合、最大予測差分絶対値“５００”は、データテーブルＤＴ１１０に示される“２５６”〜“５１１”の範囲の値に含まれるので、量子化幅Ｑは“２”に設定される。設定された量子化幅Ｑ“２”は、処理対象グループ（グループＧ２）に属する３つの画素に対応するように設定される。
【０１８３】
また、量子化幅設定部１０４は、量子化幅情報Ｃｏｄｅを、パッキング部１０６へ送信する。この場合、最大予測差分絶対値“５００”は、データテーブルＤＴ１１０に示される“２５６”〜“５１１”の範囲の値に含まれるので、量子化幅情報Ｃｏｄｅはコード“１００”を示す情報とされる。
【０１８４】
なお、パッキング部１０６は、量子化幅情報Ｃｏｄｅを受信すると、受信した量子化幅情報Ｃｏｄｅを、内部のメモリに記憶させる。
【０１８５】
そして、前述したステップＳ１１９の処理が行なわれる。この処理により、処理対象グループ（グループＧ２）に属する３つの画素にそれぞれ対応する３つの符号付予測差分バイナリ桁数のうち、最大の符号付予測差分バイナリ桁数“１０”が、余剰ビットカウント部１０５へ送信されるとする。
【０１８６】
そして、ステップＳ１２０の余剰ビットカウンタ更新処理が行なわれる。
【０１８７】
ステップＳ１２１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、受信した符号付予測差分バイナリ桁数が“１０”であり、基準ビット幅Ｍが、８ビットであるとする。この場合、ステップＳ１２１において、ＮＯと判定され、処理はステップＳ１２３に移行する。
【０１８８】
ステップＳ１２３では、余剰ビットカウント部１０５が、受信した符号付予測差分バイナリ桁数が基準ビット幅Ｍより大きいという条件、および、余剰ビットカウンタの値が“０”より大きいという条件を満たすか否かを判定する。ステップＳ１２３において、ＹＥＳならば、処理はステップＳ１２４に移行する。
【０１８９】
ここで、受信した符号付予測差分バイナリ桁数（“１０”）が基準ビット幅Ｍ“８”より大きいとする。また、前述した処理により、余剰ビットカウンタは“３”を示すとする。この場合、ステップＳ１２３において、ＹＥＳと判定され、処理はステップＳ１２４に移行する。
【０１９０】
ステップＳ１２４では、余剰ビットカウント部１０５が、余剰ビットカウンタの値が、処理対象グループ（例えば、グループＧ２）に属するｐ番目の画素に対応する量子化幅Ｑより大きいか否かを判定する。ステップＳ１２４において、ＹＥＳならば、処理はステップＳ１２４Ｎに移行する。一方、ステップＳ１２４において、ＮＯならば、処理は後述するステップＳ１２５に移行する。
【０１９１】
ここで、余剰ビットカウンタが“３”を示すとする。また、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑは“２”に設定されているとする。この場合、ステップＳ１２４において、ＹＥＳと判定され、処理はステップＳ１２４Ｎに移行する。
【０１９２】
ステップＳ１２４Ｎでは、カウンタ値減少処理が行なわれる。カウンタ値減少処理では、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値（例えば“３”）を、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑの値（例えば“２”）だけ減少させる。
【０１９３】
また、余剰ビットカウント部１０５は、カウンタ減少値情報を、量子化幅設定部１０４へ送信する。カウンタ減少値情報は、余剰ビットカウンタの値を減少させた値（たとえば、“２”）を示す情報である。この場合、カウンタ減少値情報は、後述の処理で使用可能な余剰ビットの数を示す。
【０１９４】
量子化幅設定部１０４は、カウンタ減少値情報を受信すると、受信したカウンタ減少値情報を、量子化処理部１０８へ送信する。
【０１９５】
ステップＳ１２４ＮＡでは、量子化幅零設定処理が行なわれる。量子化幅零設定処理では、余剰ビットカウント部１０５が、量子化幅零変更指示を、量子化幅設定部１０４へ送信する。量子化幅零変更指示は、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑを“０”に設定するための指示である。
【０１９６】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２の画像符号化処理に戻り、処理はステップＳ１３０に移行する。
【０１９７】
量子化幅設定部１０４は、量子化幅零変更指示を受信すると、量子化幅零変更指示により指定される画素（例えば画素Ｐ６）に対応する量子化幅Ｑの値（例えば“２”）を“０”に変更する。
【０１９８】
ステップＳ１３０では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。この処理により、処理対象グループに属する１番目の画素に対応する量子化幅Ｑ“０”と、処理対象グループに属する１番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０１９９】
ステップＳ１３１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑの値が“０”であるとして、処理はステップＳ１３３に移行する。
【０２００】
ステップＳ１３３では、前述した符号化処理が行なわれる。ここで、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“０”であり、かつ、量子化処理部１０８がカウンタ減少値情報を受信したとする。この場合、符号化処理において、以下の処理ＮＢが行なわれる。
【０２０１】
処理ＮＢでは、量子化処理部１０８が、量子化幅設定部１０４から受信した予測差分値を、（基準ビット幅Ｍ＋カウンタ減少値情報が示す値）ビットで表現したデータ（以下、符号化画素データという）を生成する。
【０２０２】
そして、量子化処理部１０８は、生成した符号化画素データを、パッキング部１０６へ送信する。
【０２０３】
ここで、受信した予測差分値は“２７０”であるとする。基準ビット幅Ｍは８ビットであるとする。また、カウンタ減少値情報が示す値は“２”であるとする。この場合、量子化処理部１０８は、予測差分値“２７０”を、“１０”ビットで表現した符号化画素データを生成する。すなわち、符号化画素データを生成するために使用されたビット数は、図９Ａに示されるように、“１０”となる。
【０２０４】
前述したように、カウンタ減少値情報が示す値は、使用可能な余剰ビットの数である。したがって、カウンタ減少値情報が示す値が“２”である場合、生成される符号化画素データは、２つの余剰ビットを使用して生成されるデータである。
【０２０５】
そして、ステップＳ１３４でＮＯと判定され、量子化幅設定部１０４が、ｐの値を“１”増加させる。そして、再度、ステップＳ１１９の処理が行なわれる。この処理により、画素Ｐ７に対応する符号付予測差分バイナリ桁数“１０”が、余剰ビットカウント部１０５へ送信されるとする。
【０２０６】
そして、ステップＳ１２０の余剰ビットカウンタ更新処理が行なわれる。
【０２０７】
ステップＳ１２１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、受信した符号付予測差分バイナリ桁数が“１０”であり、基準ビット幅Ｍが８ビットであるとする。この場合、ステップＳ１２１において、ＮＯと判定され、処理はステップＳ１２３に移行する。
【０２０８】
ステップＳ１２３では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、受信した符号付予測差分バイナリ桁数（“１０”）が基準ビット幅Ｍ“８”より大きいとする。また、余剰ビットカウンタは“１”を示すとする。この場合、ステップＳ１２３において、ＹＥＳと判定され、処理はステップＳ１２４に移行する。
【０２０９】
ステップＳ１２４では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、余剰ビットカウンタが“１”を示すとする。また、処理対象グループ（例えば、グループＧ２）に属するｐ（２）番目の画素に対応する量子化幅Ｑは“２”に設定されているとする。この場合、ステップＳ１２４でＮＯと判定され、処理はステップＳ１２５に移行する。
【０２１０】
ステップＳ１２５では、量子化幅変更処理Ｎが行なわれる。量子化幅変更処理Ｎでは、余剰ビットカウント部１０５が、量子化幅変更指示Ｎを、量子化幅設定部１０４へ送信する。量子化幅変更指示Ｎは、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑ（例えば“２”）を、余剰ビットカウンタの値（例えば“１”）だけ減算した値に変更するための指示である。
【０２１１】
量子化幅設定部１０４は、量子化幅変更指示Ｎを受信すると、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑ（例えば“２”）を、余剰ビットカウンタの値（例えば“１”）だけ減算した値（例えば“１”）に変更する。
【０２１２】
ステップＳ１２５Ｎでは、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値を、“０”に設定する。
【０２１３】
また、余剰ビットカウント部１０５は、カウンタ減少値情報を、量子化幅設定部１０４へ送信する。カウンタ減少値情報は、余剰ビットカウンタの値を減少させた値（たとえば、“１”）を示す情報である。この場合、カウンタ減少値情報は、後述の処理で使用可能な余剰ビットの数を示す。
【０２１４】
量子化幅設定部１０４は、カウンタ減少値情報を受信すると、受信したカウンタ減少値情報を、量子化処理部１０８へ送信する。
【０２１５】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２の画像符号化処理に戻り、処理はステップＳ１３０に移行する。
【０２１６】
ステップＳ１３０では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。この処理により、処理対象グループに属する２番目の画素に対応する量子化幅Ｑ“１”と、処理対象グループに属する２番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０２１７】
ステップＳ１３１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、処理対象グループに属する２番目の画素に対応する量子化幅Ｑの値が“１”であるとして、処理はステップＳ１３２に移行する。
【０２１８】
以下においては、１以上の値を示す量子化幅Ｑを、非零量子化幅Ｑという。
【０２１９】
ステップＳ１３２では、量子化処理が行なわれる。量子化処理では、量子化処理部１０８が、処理対象グループに属するｐ番目の画素に対応する非零量子化幅Ｑに対応する予測差分値を、２のＱ乗で除算することにより量子化する。以下においては、量子化により得られた値を、量子化済値という。
【０２２０】
ここで、処理対象グループに属するｐ番目の画素は、画素Ｐ７であるとする。また、画素Ｐ７に対応する予測差分値“−５００”に対応する量子化幅Ｑが“１”を示すとする。この場合、量子化処理部１０８は、予測差分値“−５００”を、２の１乗（２）により除算することにより量子化済値“−２５０”を得る。
【０２２１】
ステップＳ１３３では、前述した符号化処理が行なわれる。ここで、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“１”であり、かつ、量子化処理部１０８がカウンタ減少値情報を受信したとする。この場合、符号化処理において、以下の処理ＮＣが行なわれる。
【０２２２】
処理ＮＣでは、量子化処理部１０８が、量子化済値を、（基準ビット幅Ｍ＋カウンタ減少値情報が示す値）ビットで表現したデータ（以下、符号化画素データという）を生成する。前述したように、カウンタ減少値情報が示す値は、使用可能な余剰ビットの数である。したがって、この処理により、生成される符号化画素データは、余剰ビットを使用して生成されるデータである。
【０２２３】
そして、量子化処理部１０８は、生成した符号化画素データを、パッキング部１０６へ送信する。
【０２２４】
ここで、量子化済値は“−２５０”であるとする。基準ビット幅Ｍは８ビットであるとする。また、カウンタ減少値情報が示す値は“１”を示すとする。この場合、量子化処理部１０８は、量子化済値“−２５０”を、“９”ビットで表現した符号化画素データを生成する。すなわち、生成された符号化画素データで、使用されたビット数は、図９Ａに示されるように、“９”となる。
【０２２５】
そして、ステップＳ１３４でＮＯと判定され、量子化幅設定部１０４が、ｐの値を“１”増加させる。そして、再度、ステップＳ１１９の処理が行なわれる。この処理により、符号付予測差分バイナリ桁数“１０”が、余剰ビットカウント部１０５へ送信されるとする。
【０２２６】
そして、ステップＳ１２０の余剰ビットカウンタ更新処理が行なわれる。
【０２２７】
ステップＳ１２１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、受信した符号付予測差分バイナリ桁数が“１０”であり、基準ビット幅Ｍが８ビットであるとする。この場合、ステップＳ１２１においてＮＯと判定され、ステップＳ１２３でＮＯと判定され、そして、この余剰ビットカウンタ更新処理は終了し、再度、図２の画像符号化処理に戻り、処理はステップＳ１３０に移行する。
【０２２８】
ステップＳ１３０では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。この処理により、処理対象グループに属する３番目の画素に対応する量子化幅Ｑ“２”と、処理対象グループに属する３番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０２２９】
ステップＳ１３１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑの値が“２”であるとして、処理はステップＳ１３２に移行する。
【０２３０】
ステップＳ１３２では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。
【０２３１】
ここで、処理対象グループに属するｐ番目の画素は、画素Ｐ８であるとする。また、画素Ｐ８に対応する予測差分値“−６６”に対応する量子化幅Ｑが“２”を示すとする。この場合、量子化処理部１０８は、予測差分値“−６６”を、２の２乗（４）により除算することにより量子化済値“−１６”を得る。
【０２３２】
ステップＳ１３３では、前述した符号化処理が行なわれる。ここで、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“２”であり、かつ、量子化処理部１０８がカウンタ減少値情報を受信してないとする。この場合、量子化処理部１０８が、量子化済値を、基準ビット幅Ｍビットで表現したデータ（以下、符号化画素データという）を生成する。
【０２３３】
そして、量子化処理部１０８は、生成した符号化画素データを、パッキング部１０６へ送信する。
【０２３４】
この場合、量子化処理部１０８は、予測差分値“−１６”を、“８”ビットで表現した符号化画素データを生成する。すなわち、生成された符号化画素データで、使用されたビット数は、図９Ａに示されるように、“８”となる。
【０２３５】
そして、生成された符号化画素データが、パッキング部１０６へ送信される。なお、パッキング部１０６は、受信した符号化画素データを、内部のメモリに記憶させる。
【０２３６】
そして、ステップＳ１３４で、ＹＥＳと判定され、量子化幅設定部１０４は、ｐの値を“１”に設定し、ステップＳ１３５の処理が行なわれる。
【０２３７】
ステップＳ１３５では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、ここでは、受信した画素データの数が、所定値Ｐｉｘと等しくないとして、再度、ステップＳ１１３の処理が行なわれる。
【０２３８】
なお、この時点で、パッキング部１０６内のメモリには、図９Ｂに示される、画素Ｐ１に対応する初期画素値データから画素Ｐ８に対応する符号化画素データまでが、図９Ｂに示されように連続して記憶されている。
【０２３９】
そして、ステップＳ１３５でＹＥＳと判定されるまで、ステップＳ１１３〜Ｓ１３４の処理の少なくとも一部が繰り返し行なわれる。
【０２４０】
ステップＳ１３５でＹＥＳと判定されると、処理はステップＳ１３６に移行する。
【０２４１】
ステップＳ１３６ではパッキング処理が行なわれる。パッキング処理では、パッキング部１０６が、内部のメモリに記憶されている複数のデータ（例えば、図９Ｂに示される複数のデータ）を含む、固定ビット幅（ｓビット）のデータ（符号化データ）を生成する。すなわち、パッキング部１０６は、所定符号量の符号化データを生成する。なお、ｓビットの符号化データにおいて、未使用ビットが存在する場合、パッキング部１０６は、未使用ビットを、ダミーデータに置き換える。
【０２４２】
生成された符号化データには、たとえば、図９Ｂに示されるように、１つ以上の初期画素値データと、Ｐｉｘ個の符号化画素データと、複数の量子化幅情報Ｃｏｄｅ（３ビット）とが含まれる。Ｐｉｘは、前述したので詳細な説明は繰り返さない。
【０２４３】
また、パッキング部１０６は、生成した固定ビット幅（ｓビット）の符号化データを、図示されない外部メモリに記憶させる。なお、ステップＳ１３６の処理が繰り返される毎に、パッキング部１０６は、すでに外部メモリに記憶されている符号化データと連続するように、生成した符号化データをメモリに記憶させる。
【０２４４】
ステップＳ１３７では、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値を“０”に設定する。
【０２４５】
ステップＳ１３８では、パッキング部１０６が、処理の対象となる画像（ピクチャ）全体に対し、符号化の処理が終了したか否かを判定する。ステップＳ１３８において、ＹＥＳならば、この画像符号化処理は終了する。一方、ステップＳ１３８において、ＮＯならば、再度、ステップＳ１１３の処理が行なわれる。
【０２４６】
そして、ステップＳ１３８でＹＥＳと判定されるまで、ステップＳ１１３〜Ｓ１３７の処理の少なくとも一部が繰り返し行なわれることにより、外部メモリに複数の固定ビット幅（ｓビット）の符号化データが連続して記憶される。この場合、外部メモリに記憶された複数の符号化データは、画像を復元するためのデータである。
【０２４７】
以上の処理により、本実施の形態では、図７Ａおよび図７Ｂで説明した余剰ビットを使用せずに符号化する処理（以下、余剰ビット不使用処理という）と比較して、以下の利点を得られる。
【０２４８】
図７Ａおよび図９Ａに示されるように、たとえば、画素Ｐ６に対応する予測差分値“２７０”は、余剰ビット不使用処理では、量子化幅Ｑ“２”（２の２乗＝４）で量子化されていた。この場合、余剰ビット不使用処理では、量子化されることにより、量子化誤差が最大で“３”生じる。
【０２４９】
一方、本実施の形態では、画素Ｐ６に対応する予測差分値“２７０”は、基準ビット幅Ｍ（８ビット）に加え、２つの余剰ビットを使用して、１０ビットで表現可能となる。そのため、予測差分値“２７０”を量子化する処理が不要となる。したがって、量子化誤差が“０”に抑えられる。
【０２５０】
また、たとえば、画素Ｐ７に対応する予測差分値“−５００”は、余剰ビット不使用処理では、量子化幅Ｑ“２”（２の２乗＝４）で量子化されていた。この場合、余剰ビット不使用処理では、量子化されることにより、量子化誤差が最大で“３”生じる。
【０２５１】
一方、本実施の形態では、画素Ｐ７に対応する予測差分値“−５００”は、基準ビット幅Ｍ（８ビット）に加え、１つの余剰ビットを使用して、９ビットで表現する必要がある。この場合、予測差分値“−５００”を、量子化幅Ｑ“１”（２の１乗＝２）で量子化すれば、量子化後の値“−２５０”を、９ビットで表現することができる。この場合、量子化誤差を、最大で“１”に抑えることができる。
【０２５２】
すなわち、図７Ａに示される量子化幅Ｑ“２”で量子化されていた画素（たとえば、急峻なエッジ部分の画素）を符号化する場合、本実施の形態では、余剰ビットを使用して符号化する。そのため、本実施の形態では、量子化の処理をなくすことができたり、量子化する際の量子化幅Ｑを小さくすることができる（例えば、“２”を“１”にする）。したがって、量子化誤差による画像の画質の劣化を抑制することができる。すなわち、符号化による、画像の画質の劣化の度合いを小さくすることができる。
【０２５３】
また、本実施の形態では、外部のメモリに複数の固定ビット幅（ｓビット）の符号化データが連続して記憶される。１つの符号化データには、画素を復元するための複数の符号化画素データを含む。したがって、ある符号化画素データにデータアクセスすることが要求される場合、当該符号化画素データを含む符号化データにデータアクセスするだけでよい。したがって、データに対するランダムアクセス性は維持することができる。
【０２５４】
また、固定ビット幅（ｓビット）は、使用される集積回路のデータ転送のバス幅に設定される。なお、バス幅は固定長を保証できる。したがって、ランダムアクセス性を損なうことなく実現が可能となる。
【０２５５】
以上により、本実施の形態によれば、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
【０２５６】
なお、本実施の形態における画像符号化処理は、ＬＳＩ（Large Scale Integration）などのハードウェアで実現しても良い。
【０２５７】
（画像復号化処理）
次に、本実施の形態における画像復号化処理の詳細な説明を行なう。
【０２５８】
図１に示されるように、画像復号化装置１１０は、固定ビット幅設定部１１７と、アンパッキング部１１６と、量子化幅設定部１１４と、余剰ビットカウント部１１５と、出力部１１９と、逆量子化処理部１１８とを備える。画像復号化装置１１０に含まれる複数の部位の全てまたは一部は、ハードウエアで構成されてもよい。また、画像復号化装置１１０に含まれる複数の部位の全てまたは一部は、ＣＰＵ等により実行されるプログラムのモジュールであってもよい。
【０２５９】
余剰ビットカウント部１１５は、余剰ビットの数を示す余剰ビットカウンタＲＣを有する。余剰ビットカウンタＲＣは、初期状態では“０”を示す。
【０２６０】
ここで、前述した図２の画像符号化処理により、図示されない外部メモリに複数の固定ビット幅（ｓビット）の符号化データが連続して記憶されているとする。また、画像復号化装置１１０内のアンパッキング部１１６内には、データを記憶する図示しないメモリが設けられているとする。
【０２６１】
ここで、図１の画像復号化装置１１０内の量子化幅設定部１１４内には、データを記憶する図示しないメモリが設けられているとする。量子化幅設定部１１４内のメモリには、予め、図８のデータテーブルＤＴ１１０が記憶されているとする。
【０２６２】
図１０は、画像復号化処理のフローチャートである。画像復号化処理では、まず、ステップＳ２１１の処理が行なわれる。
【０２６３】
ステップＳ２１１では、固定ビット幅設定部１１７が、固定ビット幅（ｓビット）を設定する。固定ビット幅は、図２の画像符号化処理により生成された所定符号量の符号化データのビット量（例えば２５６ビット）に設定される。なお、固定ビット幅は、たとえば、使用される集積回路のデータ転送のバス幅に設定されてもよい。そして、固定ビット幅設定部１１７は、固定ビット幅（ｓビット）を示す固定ビット幅情報を、アンパッキング部１１６、量子化幅設定部１１４および余剰ビットカウント部１１５へ送信する。
【０２６４】
ステップＳ２１２では、量子化幅設定部１１４が、前述したように、式（８）より基準ビット幅Ｍを算出する。ここで、算出された基準ビット幅Ｍは“８”であるとする。量子化幅設定部１１４は、算出した基準ビット幅Ｍを、余剰ビットカウント部１１５へ送信する。
【０２６５】
ステップＳ２１３では、符号化データ取得処理が行なわれる。符号化データ取得処理では、アンパッキング部１１６が、外部メモリに連続して記憶されている複数の符号化データのうち、ｔ番目の符号化データを読み出すことにより取得する。なお、ｔの初期値は“１”である。なお、外部メモリから符号化データを取得するのに限定されることなく、たとえば、パッキング部１０６が出力した符号化データを取得してもよい。
【０２６６】
なお、ｔ番目の符号化データが取得されると、アンパッキング部１１６は、ｔの値を“１”増加させる。
【０２６７】
ステップＳ２１３Ｎでは、アンパッキング処理が行なわれる。アンパッキング処理では、アンパッキング部１１６が、取得したｔ番目の符号化データをアンパッキングする。すなわち、符号化データに含まれる複数のデータを取り出す。そして、アンパッキング部１１６は、取り出した複数のデータを、内部のメモリに記憶させる。この場合、内部のメモリには、図９Ｂに示されるように複数のデータが連続して記憶されるとする。
【０２６８】
以降、画素データの取得方法としては、アンパッキング部１１６が、内部のメモリに記憶されている複数の画素データのうち、ｇ番目の画素データを読み出すことにより取得する。なお、ｇの初期値は“１”である。なお、ｇは、アンパッキング部１１６が取得した画素データの数を示す。
【０２６９】
例えば、１〜１１番目の画素データは、図９Ｂに示される画素Ｐ１〜Ｐ１１にそれぞれ対応する１１個の画素データである。１１個の画素データは、初期画素値データまたは符号化画素データである。
【０２７０】
以下においては、アンパッキング部１１６が取得したｇ番目の画素データに対応する画素を、復号化対象画素という。復号化対象画素は、復号化の対象となる画素である。
【０２７１】
ステップＳ２１４では、アンパッキング部１１６が、復号化対象画素に対応する画像データが初期画素値データであるか否かを判定する。ステップＳ２１４において、ＹＥＳならば、処理はステップＳ２１３ＮＡに移行する。
【０２７２】
ステップＳ２１３ＮＡでは、初期画素値データ取得処理が行なわれる。初期画素値データ取得処理では、アンパッキング部１１６が内部のメモリに記憶されている複数の画素データのうち、初期画素値データを読み出すことにより、初期画素値データを取得する。
【０２７３】
アンパッキング部１１６は、初期画素値データとしての画素データを取得すると、取得した画素データを、出力部１１９へ送信する。そして、処理は後述するステップＳ２３５に移行する。一方、ステップＳ２１４において、ＮＯならば、処理はステップＳ２１５に移行する。
【０２７４】
なお、出力部１１９は、初期画素値データを受信すると、出力部１１９は受信した初期画素値データを外部のメモリに記憶させる。なお、出力部１１９は、受信した初期画素値データを、外部のメモリに記憶させるのではなく、外部の画像を処理する回路等に出力してもよい。
【０２７５】
ここで、取得した画素データが初期画素値データであり、処理がステップＳ２３５に移行するとする。
【０２７６】
ステップＳ２３５では、アンパッキング部１１６が、取得した画素データの数（ｇ）が、所定値Ｐｉｘと等しいか否かを判定する。取得した画素データは、初期画素値データまたは符号化画素データである。Ｐｉｘは、前述したように、固定ビット幅（ｓビット）の符号化データ（パッキングデータ）に含ませる画素の数を示す。Ｐｉｘの値は、一例として、“２６”であるとする。
【０２７７】
ステップＳ２３５において、ＹＥＳならば、アンパッキング部１１６は、ｇの値を“１”に設定して、処理はステップＳ２３７に移行する。一方、ステップＳ２３５において、ＮＯならば、アンパッキング部１１６は、ｇの値を“１”増加させる。そして、再度、ステップＳ２１４の処理が行なわれる。ここでは、取得した画素データの数（ｇ）が、所定値Ｐｉｘと等しくないとして、再度、ステップＳ２１４の処理が行なわれる。
【０２７８】
ここで、復号化対象画素に対応する画像データが、画素Ｐ２に対応する、初期画素値データであるとする。
【０２７９】
この場合、ステップＳ２１４でＹＥＳと判定され、ステップＳ２１３ＮＡの処理により、アンパッキング部１１６は、初期画素値データとしての画素データ（画素Ｐ２に対応する画素データ）を取得する。そして、アンパッキング部１１６は、取得した初期画素値データとしての画素データを、出力部１１９へ送信し、処理はステップＳ２３５に移行する。
【０２８０】
なお、出力部１１９は、初期画素値データを受信すると、出力部１１９は受信した初期画素値データを外部のメモリに記憶させる。
【０２８１】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０２８２】
次に、復号化対象画素に対応する画像データが、画素Ｐ３に対応する、符号化画素データとしての画素データであるとする。この場合、ステップＳ２１４でＮＯと判定され、処理はステップＳ２１５に移行する。
【０２８３】
ステップＳ２１５では、復号化対象画素の予測値を算出するための予測値算出処理Ｒが行なわれる。予測値算出処理Ｒでは、（ｇ−１）番目の画素データが初期画素値データである場合、以下の算出処理ＲＡが行なわれる。
【０２８４】
算出処理ＲＡでは、アンパッキング部１１６が、図２の画像符号化処理のステップＳ１１５で予測値を算出するのに使用された予測式（１）と同じ意味を有する式を使用して、復号化対象画素の予測値を算出する。すなわち、アンパッキング部１１６は、ｇ番目の画素データが処理対象である場合、（ｇ−１）番目の画素データが示す値を、復号化対象画素の予測値とする。
【０２８５】
ここで、処理対象の画素データが、画素ｐ３に対応する画素データであるとする。この場合、画素Ｐ２に対応する画素データが示す値“２２０”が算出される予測値となる。
【０２８６】
予測値算出処理Ｒでは、（ｇ−１）番目の画素データが初期画素値データでない場合、後述する算出処理ＲＢが行なわれる。
【０２８７】
ステップＳ２１６では、アンパッキング部１１６が、復号化対象画素に対応する画素データが、グループ内１番目画素データであるか否かを判定する。グループ内１番目画素データは、アンパッキング部１１６の内部のメモリに記憶されている複数の画素データのうち、ｃ番目のグループに属する３つの画素のうちの１番目の画素に対応する画素データである。ｃの初期値は“１”である。
【０２８８】
例えば、１〜３番目のグループは、それぞれ、図９Ｂに示されるグループＧ１，Ｇ２，Ｇ３である。また、ｃ番目のグループが、グループＧ１である場合、グループＧ１に属する１，２，３番目の画素は、それぞれ、画素Ｐ３，Ｐ４，Ｐ５である。
【０２８９】
ステップＳ２１６において、ＹＥＳならば、処理はステップＳ２１７に移行する。一方、ステップＳ２１６において、ＮＯならば、処理は後述するステップＳ２２０に移行する。
【０２９０】
ここでは、取得した画素データが、グループ内１番目画素データであるとする。この場合、処理は、ステップＳ２１７に移行する。
【０２９１】
ステップＳ２１７では、アンパッキング部１１６が、内部のメモリに記憶されている複数のデータのうち、ｃ番目のグループに対応する量子化幅情報Ｃｏｄｅを、当該メモリから読み出すことにより取得する。そして、アンパッキング部１１６は、取得した量子化幅情報Ｃｏｄｅを、量子化幅設定部１１４へ送信する。ｃの初期値は“１”である。
【０２９２】
例えば、１〜３番目のグループは、それぞれ、図９Ｂに示されるグループＧ１，Ｇ２，Ｇ３である。ここでは、グループＧ１に対応する量子化幅情報Ｃｏｄｅ（“００１”）が取得されたとする。
【０２９３】
ステップＳ２１８では、量子化幅設定処理Ｒが行なわれる。量子化幅設定処理Ｒでは、量子化幅設定部１１４が、内部のメモリに記憶されている図８のデータテーブルＤＴ１１０と、アンパッキング部１１６から受信した量子化幅情報Ｃｏｄｅが示すコードとを使用して、量子化幅Ｑを設定するとともに、余剰ビット数を算出する。
【０２９４】
設定される量子化幅Ｑは、ｃ番目のグループに属する３つの画素に対して設定される量子化幅である。また、算出される余剰ビット数は、ｃ番目のグループに属する３つの画素の各々に対応する余剰ビット数である。
【０２９５】
ここで、受信した量子化幅情報Ｃｏｄｅは、コード“００１”を示すとする。コード“００１”は、データテーブルＤＴ１１０に示される量子化幅Ｑ“０”と、余剰ビット数“１”とに対応する。この場合、量子化幅Ｑは“０”に設定される。また、算出された余剰ビット数は“１”となる。
【０２９６】
そして、量子化幅設定部１１４は、設定された量子化幅Ｑと、算出された余剰ビット数とを示す量子化情報を、余剰ビットカウント部１１５へ送信する。
【０２９７】
ステップＳ２２０では、余剰ビットカウンタ更新処理Ｒが行なわれる。
【０２９８】
図１１は、余剰ビットカウンタ更新処理Ｒのフローチャートである。図１１に示されるように、余剰ビットカウンタ更新処理Ｒでは、まず、ステップＳ２２１の処理が行なわれる。
【０２９９】
ステップＳ２２１では、余剰ビットカウント部１１５が、受信した量子化情報が示す量子化幅Ｑが“０”であるという条件、および、受信した量子化情報が示す余剰ビット数が“０”より大きいという条件を満たすか否かが判定される。ステップＳ２２１において、ＹＥＳならば、処理はステップＳ２２２に移行する。一方、ステップＳ２２１において、ＮＯならば、処理は後述するステップＳ２２３に移行する。
【０３００】
ここで、受信した量子化情報が示す量子化幅Ｑは“０”であるとする。また、受信した量子化情報が示す余剰ビット数は“１”であるとする。この場合、ステップＳ２２１でＹＥＳと判定され、処理はステップＳ２２２に移行する。
【０３０１】
ステップＳ２２２では、カウンタ値増加処理Ｒが行なわれる。カウンタ値増加処理Ｒでは、余剰ビットカウント部１１５が、余剰ビットカウンタＲＣの示す値を、受信した量子化情報が示す余剰ビット数だけ増加させる。この処理により、余剰ビットカウンタＲＣは“１”を示すとする。
【０３０２】
そして、この余剰ビットカウンタ更新処理Ｒは終了し、再度、図１０の画像復号化処理に戻り、処理はステップＳ２１９に移行する。
【０３０３】
ステップＳ２１９では、符号化画素データ取得処理Ｒが行われる。符号化画素データ取得処理Ｒでは、アンパッキング部１１６が、後述するカウンタ減少値情報Ｒを、量子化幅設定部１１４から受信してない場合、以下の取得処理ＲＡが行なわれる。
【０３０４】
取得処理ＲＡでは、アンパッキング部１１６が、内部のメモリに記憶されている図８のデータテーブルＤＴ１１０と、取得した量子化幅情報Ｃｏｄｅが示すコードとから余剰ビットを使用して符号化された画素データのビット数を画素毎に設定する。
【０３０５】
ここで、受信した量子化幅情報Ｃｏｄｅは、コード“００１”を示すとする。コード“００１”は、データテーブルＤＴ１１０に示される符号付予測誤差分バイナリ桁数“７”に対応する。この場合、アンパッキング部１１６が内部のメモリから読み出す画素データに使用されているビット数は“７”となる。
【０３０６】
すなわち、アンパッキング部１１６は、図９Ｂに示されるように、左側から複数の画素データが、内部のメモリに記憶されている場合、先頭から７ビット目までを画素Ｐ３の画素データとして読み出すことにより、画素データを取得する。そして、アンパッキング部１１６は、取得した画素データを、量子化幅設定部１１４へ送信する。
【０３０７】
なお、符号化画素データ取得処理Ｒでは、アンパッキング部１１６が、量子化幅設定部１１４から後述するカウンタ減少値情報Ｒを受信した場合、後述する取得処理ＲＢが行なわれる。
【０３０８】
ステップＳ２３０では、データ送信処理Ｒが行なわれる。データ送信処理Ｒでは、量子化幅設定部１１４が、復号化対象画素に対応する量子化幅Ｑと、取得した画素データと、算出した復号化対象画素の予測値とを、逆量子化処理部１１８へ送信する。
【０３０９】
ステップＳ２３１では、復号化処理が行なわれる。復号化処理では、逆量子化処理部１１８が、後述するカウンタ減少値情報Ｒを受信してない場合、以下の処理ＲＡが行なわれる。
【０３１０】
処理ＲＡでは、逆量子化処理部１１８が、受信した画素データが示す値を、画素データ受信部１０１が受信する画素データのダイナミックレンジの符号付バイナリ桁数で表現したデータ（以下、復号データという）を生成する。すなわち、本実施例における画素データのダイナミックレンジは１２ビットであるため、１３ビットの復号データを生成する。
【０３１１】
そして、逆量子化処理部１１８は、生成した復号データと算出した復号化対象画素の予測値とを、出力部１１９へ送信する。
【０３１２】
ここで、受信した画素データが示す値は“４０”であるとする。また、受信した画素データは７ビットであるとする。この場合、逆量子化処理部１１８は、受信した画素データが示す値“４０”を１３ビットで表現した復号データを生成する。
【０３１３】
なお、復号化処理では、逆量子化処理部１１８が、後述するカウンタ減少値情報Ｒを受信した場合、後述する処理ＲＢが行なわれる。
【０３１４】
ステップＳ２３２では、量子化幅設定部１１４が、復号化対象画素に対応する量子化幅Ｑが“０”であるか否かを判定する。ステップＳ２３２において、ＹＥＳならば、処理は、ステップＳ２３４に移行する。一方、ステップＳ２３２において、ＮＯならば、処理は後述するステップＳ２３３に移行する。ここでは、復号化対象画素に対応する量子化幅Ｑが“０”であるとして、処理はステップＳ２３４に移行する。
【０３１５】
ステップＳ２３４では、出力処理が行なわれる。出力処理では、出力部１１９が、復号データを受信すると、受信した復号データが示す値と、ステップＳ２１５の予測値算出処理Ｒによって算出された復号化対象画素の予測値とを加算した値を示す復号画素データを生成する。そして、出力部１１９は、生成した復号画素データを、外部のメモリに記憶させる。また、出力部１１９は、生成した復号画素データを、アンパッキング部１１６へ送信する。
【０３１６】
なお、出力部１１９は、生成した復号画素データを、外部のメモリに記憶させるのではなく、外部の画像を処理する回路等に出力してもよい。
【０３１７】
ここで、復号データが示す値は“４０”であるとする。また、（ｇ−１）番目の画素データが初期画素値データであるため、算出された復号化対象画素の予測値は、画素Ｐ２の画素値“２２０”であるとする。
【０３１８】
すなわち、出力処理においては、出力部１１９が、受信した復号データが示す値と、予測値としての取得した画素データが示す値とを加算した値を示す復号画素データを生成する。
【０３１９】
この場合、生成される復号画素データは“２６０”を示す。すなわち、生成される復号画素データは、図９Ａに示される画素Ｐ３の画素値を示す画素データである。
【０３２０】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３２１】
次に、復号化対象画素に対応する画像データが、画素Ｐ４に対応する、符号化画素データとしての画素データであるとする。この場合、ステップＳ２１４でＮＯと判定され、処理はステップＳ２１５に移行する。
【０３２２】
次に、ステップＳ２１５の予測値算出処理Ｒが行なわれる。ここで、（ｇ−１）番目の画素データが初期画素値データでないとする。この場合、予測値算出処理Ｒでは、以下の算出処理ＲＢが行なわれる。
【０３２３】
算出処理ＲＢでは、アンパッキング部１１６が、出力部１１９から受信した復号画素データが示す画素値を、復号化対象画素の予測値とする。ここで、出力部１１９から受信した復号画素データは、図９Ａに示される画素Ｐ３の画素値を示す画素データであるとする。この場合、復号化対象画素の予測値は“２６０”となる。
【０３２４】
また、アンパッキング部１１６は、前述したｃ番目のグループに属する全ての画素の予測値を算出した場合、アンパッキング部１１６は、ｃの値を“１”増加させる。
【０３２５】
ステップＳ２１６では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、ＮＯと判定され、処理は、ステップＳ２２０に移行するとする。
【０３２６】
そして、再度、図１１のステップＳ２２１，Ｓ２２２の処理が行なわれることにより、余剰ビットカウンタＲＣの示す値は“２”となったとする。
【０３２７】
そして、この余剰ビットカウンタ更新処理Ｒは終了し、再度、図１０の画像復号化処理に戻り、再度、ステップＳ２３０の処理が行なわれる。この処理により、復号化対象画素に対応する量子化幅Ｑ“０”と、取得した画素データと、算出した復号化対象画素の予測値“２６０”とが、逆量子化処理部１１８へ送信される。
【０３２８】
そして、ステップＳ２１９の符号化画素データ取得処理Ｒが行われる。ここでは、前述したのと同様に取得処理ＲＡが行なわれるとする。
【０３２９】
そして、ステップＳ２３１の復号化処理が行なわれる。ここでは、前述したのと同様に処理ＲＡが行なわれるとする。
【０３３０】
処理ＲＡでは、逆量子化処理部１１８が、受信した画素データが示す値“２０”を、画素データ受信部１０１が受信する画素データのダイナミックレンジの符号付バイナリ桁数（１３）で表現した復号データを生成する。
【０３３１】
そして、逆量子化処理部１１８は、生成した復号データを、出力部１１９へ送信する。
【０３３２】
そして、ステップＳ２３２でＹＥＳと判定され、前述したのと同様にステップＳ２３４の処理が行なわれる。この処理により、出力部１１９は、画素Ｐ４の画素値“２８０”を示す復号画素データを生成し、生成した復号画素データを、外部のメモリに記憶させる。また、出力部１１９は、生成した復号画素データを、アンパッキング部１１６へ送信する。
【０３３３】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３３４】
そして、ステップＳ２１５の処理が行なわれる。これらの処理により、復号化対象画素の予測値“２８０”が算出される。この時点で、グループＧ１に属する全ての画素の予測値が算出されたことになるので、アンパッキング部１１６は、ｃの値を“１”増加させる。ここで、ｃの値は“２”であるとする。
【０３３５】
そして、ステップＳ２１６の処理、図１１のステップＳ２２１，Ｓ２２２の処理が行なわれることにより、余剰ビットカウンタＲＣの示す値は“３”となったとする。
【０３３６】
また、ステップＳ２１９，Ｓ２３０，Ｓ２３１，Ｓ２３２，Ｓ２３４の処理が前述したのと同様に行なわれる。この処理により、画素値“３２０”を示す復号画素データが生成され、生成された復号画素データが、アンパッキング部１１６へ送信される。
【０３３７】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３３８】
そして、ステップＳ２１５の処理が行なわれる。これらの処理により、復号化対象画素の予測値“３２０”が算出される。
【０３３９】
ここで、復号化対象画素に対応する画素データは、前述したグループ内１番目画素データである。当該画素データは、図９Ｂに示される画素Ｐ６に対応する１０ビットの符号化画素データであるとする。すなわち、復号化対象画素に対応する画素データは、グループＧ２に属する１番目の画素に対応する画素データである。
【０３４０】
この場合、ステップＳ２１６でＹＥＳと判定され、前述したステップＳ２１７の処理が行なわれる。この処理により、アンパッキング部１１６が、内部のメモリに記憶されている複数のデータのうち、２番目のグループ（グループＧ２）に対応する量子化幅情報Ｃｏｄｅを、当該メモリから読み出すことにより取得する。取得された量子化幅情報Ｃｏｄｅは、コード“１００”を示すとする。
【０３４１】
ステップＳ２１８の量子化幅設定処理Ｒでは、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。この処理により、量子化幅Ｑは“２”に設定される。また、算出された余剰ビット数は“０”となる。
【０３４２】
この場合、設定される量子化幅Ｑは、２番目のグループに属する３つの画素に対して設定される量子化幅である。また、算出される余剰ビット数は、２番目のグループに属する３つの画素の各々に対応する余剰ビット数である。
【０３４３】
そして、量子化幅設定部１１４は、設定された量子化幅Ｑと、算出された余剰ビット数とを示す量子化情報を、余剰ビットカウント部１１５へ送信する。
【０３４４】
そして、再度、図１１のステップＳ２２１の処理が行なわれる。ここでは、ステップＳ２２１でＮＯと判定され、処理はステップＳ２２３に移行する。
【０３４５】
ステップＳ２２３では、余剰ビットカウント部１１５が、余剰ビットカウンタＲＣの値が、受信した量子化情報が示す量子化幅Ｑより大きいか否かを判定する。ステップＳ２２３において、ＹＥＳならば、処理はステップＳ２２４に移行する。一方、ステップＳ２２３において、ＮＯならば、処理は後述するステップＳ２２６に移行する。
【０３４６】
ここでは、余剰ビットカウンタＲＣの値は“３”であるとする。また、量子化情報が示す量子化幅Ｑは“２”であるとする。この場合、ＹＥＳと判定され、処理はステップＳ２２４に移行する。
【０３４７】
ステップＳ２２４では、カウンタ値減少処理Ｒが行なわれる。カウンタ値減少処理Ｒでは、余剰ビットカウント部１１５が、余剰ビットカウンタＲＣの値（例えば“３”）を、受信した量子化情報が示す量子化幅Ｑ（例えば“２”）の値だけ減少させる。この処理により、余剰ビットカウンタＲＣの値は“１”になったとする。
【０３４８】
また、余剰ビットカウント部１１５は、カウンタ減少値情報Ｒを、量子化幅設定部１１４へ送信する。カウンタ減少値情報Ｒは、余剰ビットカウンタＲＣの値を減少させた値（たとえば、“２”）を示す情報である。この場合、カウンタ減少値情報Ｒは、後述の処理で使用可能な余剰ビットの数を示す。
【０３４９】
量子化幅設定部１１４は、カウンタ減少値情報Ｒを受信すると、受信したカウンタ減少値情報Ｒを、逆量子化処理部１１８およびアンパッキング部１１６へ送信する。
【０３５０】
ステップＳ２２５では、量子化幅零設定処理Ｒが行なわれる。量子化幅零設定処理Ｒでは、余剰ビットカウント部１１５が、量子化幅零変更指示Ｒを、量子化幅設定部１１４へ送信する。量子化幅零変更指示Ｒは、復号化対象画素に対応する量子化幅Ｑを“０”に設定するための指示である。
【０３５１】
そして、この余剰ビットカウンタ更新処理Ｒは終了し、再度、図１０の画像復号化処理に戻り、処理はステップＳ２１９に移行する。
【０３５２】
量子化幅設定部１１４は、量子化幅零変更指示Ｒを受信すると、復号化対象画素に対応する量子化幅Ｑを“０”に変更する。
【０３５３】
ステップ２１９では、符号化画素データ取得処理Ｒが行われる。ここで、アンパッキング部１１６が、カウンタ減少値情報Ｒを受信したので、符号化画素データ取得処理Ｒでは、以下の取得処理ＲＢが行なわれる。
【０３５４】
取得処理ＲＢでは、アンパッキング部１１６が、（基準ビット幅Ｍ＋カウンタ減少値情報Ｒが示す値）ビットで表現した画素データ、すなわち、余剰ビットを消費して符号化された画素データを内部のメモリから読み出すことにより取得する。
【０３５５】
ここで、基準ビット幅Ｍは８ビットであるとする。また、カウンタ減少値情報Ｒが示す値は“２”であるとする。この場合、アンパッキング部１１６は、復号化対象画素に対応する画素データが図９Ｂに示されるグループＧ２に属する１番目の画素に対応する画素であるため、その先頭から１０ビット目までを画素Ｐ６に対応する画素データとして読み出すことにより取得する。そして、アンパッキング部１１６は、取得した画素データを、量子化幅設定部１１４へ送信する。
【０３５６】
前述したように、カウンタ減少値情報Ｒが示す値は、使用可能な余剰ビットの数である。したがって、カウンタ減少値情報Ｒが示す値が“２”である場合、読み出すことにより取得する復号化対象画素に対応する画素データは、２つの余剰ビットを使用して生成されるデータである。
【０３５７】
ステップＳ２３０では、前述したのと同様な処理が行なわれる。この処理により、復号化対象画素に対応する量子化幅Ｑ“０”と、取得した画素データと、算出した復号化対象画素の予測値“３２０”とが、逆量子化処理部１１８およびアンパッキング部１１６へ送信される。
【０３５８】
そして、ステップＳ２３１の復号化処理が行なわれる。ここで、量子化幅設定部１１４から受信した量子化幅Ｑが“０”であり、かつ、逆量子化処理部１１８が、後述するカウンタ減少値情報Ｒを受信したので、復号化処理では、以下の処理ＲＢが行なわれる。
【０３５９】
処理ＲＢでは、逆量子化処理部１１８が、受信した（基準ビット幅Ｍ＋カウンタ減少値情報Ｒが示す値）ビットで表現された画素データを、画素データ受信部１０１が受信する画素データのダイナミックレンジの符号付バイナリ桁数で表現したデータ（以下、復号データという）を生成する。
【０３６０】
そして、逆量子化処理部１１８は、生成した復号データを、出力部１１９へ送信する。
【０３６１】
ここで、受信した画素データが示す値は“２７０”であるとする。この場合、逆量子化処理部１１８は、受信した画素データが示す、１０ビットで表現した値“２７０”を１３ビットで表現した復号データを生成する。
【０３６２】
そして、ステップＳ２３２でＹＥＳと判定され、前述したのと同様にステップＳ２３４の処理が行なわれる。この処理により、画素Ｐ５の画素値“３２０”を示す画素データが出力部１１９により取得され、画素Ｐ６の画素値“５９０”を示す復号画素データが生成される。また、生成した復号画素データが、外部のメモリに記憶される。また、出力部１１９は、生成した復号画素データを、アンパッキング部１１６へ送信する。
【０３６３】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３６４】
そして、ステップＳ２１５の処理が行なわれる。これらの処理により、復号化対象画素の予測値“５９０”が算出される。
【０３６５】
そして、ステップＳ２１６でＮＯと判定され、図１１のステップＳ２２１の処理が行なわれる。ここでは、ステップＳ２２１でＮＯと判定され、処理はステップＳ２２３に移行する。
【０３６６】
ここで、余剰ビットカウンタＲＣの値は“１”であるとする。また、受信した量子化情報が示す量子化幅Ｑは“２”であるとする。この場合、ステップＳ２２３において、ＮＯと判定され、処理はステップＳ２２６に移行する。
【０３６７】
ステップＳ２２６では、量子化幅変更処理Ｒが行なわれる。量子化幅変更処理Ｒでは、余剰ビットカウント部１１５が、量子化幅変更指示Ｒを、量子化幅設定部１１４へ送信する。量子化幅変更指示Ｒは、復号化対象画素に対応する量子化幅Ｑ（例えば“２”）を、余剰ビットカウンタＲＣの値（例えば“１”）だけ減算した値に変更するための指示である。
【０３６８】
量子化幅設定部１１４は、量子化幅変更指示Ｒを受信すると、復号化対象画素に対応する量子化幅Ｑ（例えば“２”）を、余剰ビットカウンタＲＣの値（例えば“１”）だけ減算した値（例えば“１”）に変更する。
【０３６９】
ステップＳ２２７では、余剰ビットカウント部１１５が、余剰ビットカウンタＲＣの値を“０”に設定する。
【０３７０】
また、余剰ビットカウント部１１５は、カウンタ減少値情報Ｒを、量子化幅設定部１１４へ送信する。カウンタ減少値情報Ｒは、余剰ビットカウンタＲＣの値を減少させた値（たとえば、“１”）を示す情報である。この場合、カウンタ減少値情報Ｒは、後述の処理で使用可能な余剰ビットの数を示す。
【０３７１】
量子化幅設定部１１４は、カウンタ減少値情報Ｒを受信すると、受信したカウンタ減少値情報Ｒを、逆量子化処理部１１８およびアンパッキング部１１６へ送信する。
【０３７２】
そして、この余剰ビットカウンタ更新処理Ｒは終了し、再度、図１０の画像復号化処理に戻り、処理はステップＳ２１９に移行する。
【０３７３】
ステップ２１９では、前述したのと同様に取得処理ＲＢが行われる。ここで、基準ビット幅Ｍは８ビットであるとする。また、カウンタ減少値情報Ｒが示す値は“１”であるとする。この場合、アンパッキング部１１６は、復号化対象画素に対応する画素データが図９Ｂに示されるグループＧ２に属する２番目の画素に対応する画素であるため、その先頭から９ビット目までを画素Ｐ７に対応する画素データとして読み出すことにより取得する。そして、アンパッキング部１１６は、取得した画素データを、量子化幅設定部１１４へ送信する。
【０３７４】
前述したように、カウンタ減少値情報Ｒが示す値は、使用可能な余剰ビットの数である。したがって、カウンタ減少値情報Ｒが示す値が“１”である場合、読み出すことにより取得する復号化対象画素に対応する画素データは、１つの余剰ビットを使用して生成されるデータである。
【０３７５】
ステップＳ２３０では、前述したのと同様な処理が行なわれる。この処理により、復号化対象画素に対応する量子化幅Ｑ“１”と、取得した画素データと、算出した復号化対象画素の予測値“５９０”とが、逆量子化処理部１１８へ送信される。
【０３７６】
ステップＳ２３１では、前述した復号化処理が行なわれる。ここで、逆量子化処理部１１８が、量子化幅設定部１１４から受信した量子化幅Ｑが“１”であり、かつ、逆量子化処理部１１８がカウンタ減少値情報Ｒを受信したとする。この場合、復号化処理において、以下の処理ＲＢが行なわれる。
【０３７７】
処理ＲＢでは、前述したように、逆量子化処理部１１８が、受信した（基準ビット幅Ｍ＋カウンタ減少値情報Ｒが示す値）ビットで表現されたデータを、画素データ受信部１０１が受信する画素データのダイナミックレンジの符号付バイナリ桁数で表現したデータ（以下、復号データという）を生成する。
【０３７８】
ここで、受信した画素データが示す値は、“−２５０”であるとする。この場合、逆量子化処理部１１８は、受信した画素データが示す値“−２５０”を１３ビットで表現した復号データを生成する。
【０３７９】
そして、ステップＳ２３２でＮＯと判定されて、処理はステップＳ２３３に移行する。以下においては、１以上の値を示す量子化幅Ｑを、非零量子化幅Ｑという。
【０３８０】
ステップＳ２３３では、逆量子化処理が行なわれる。逆量子化処理では、逆量子化処理部１１８が、復号データが示す値に、２のＱ乗を乗算することにより逆量子化する。以下においては、逆量子化により得られた値を、逆量子化済値という。
【０３８１】
ここで、復号データが示す値は“−２５０”であるとする。また、復号化対象画素に対応する量子化幅Ｑは“１”を示すとする。この場合、逆量子化処理部１１８は、取得した画素データが示す値は“−２５０”に、２の１乗（２）を乗算することにより逆量子化済値“−５００”を得る。
【０３８２】
そして、逆量子化処理部１１８は、逆量子化済値（例えば、“−５００”）を示す復号データを、出力部１１９へ送信する。
【０３８３】
そして、前述したのと同様にステップＳ２３４の処理が行なわれる。この処理により、画素Ｐ６の画素値“５９０”を示す画素データが出力部１１９により取得され、画素Ｐ７の画素値“９０”を示す復号画素データが生成される。また、生成した復号画素データが、外部のメモリに記憶される。また、出力部１１９は、生成した復号画素データを、アンパッキング部１１６へ送信する。
【０３８４】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３８５】
そして、ステップＳ２３５でＹＥＳと判定されるまで、ステップＳ２１４〜Ｓ２３４の処理の少なくとも一部の処理が繰り返し行なわれる。
【０３８６】
ステップＳ２３５でＹＥＳと判定されると、処理はステップＳ２３７に移行する。
【０３８７】
ステップＳ２３７では、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値を“０”に設定する。
【０３８８】
ステップＳ２３８では、アンパッキング部１１６が、処理の対象となる画像（ピクチャ）全体に対し、復号化の処理が終了したか否かを判定する。ステップＳ２３８において、ＹＥＳならば、この画像復号化処理は終了する。一方、ステップＳ２３８において、ＮＯならば、再度、ステップＳ２１３の処理が行なわれる。
【０３８９】
そして、ステップＳ２３８でＹＥＳと判定されるまで、ステップＳ２１３〜Ｓ２３７の少なくとも一部の処理が繰り返し行なわれることにより、画像（ピクチャ）を復元するための複数の符号化データが全て復号化される。
【０３９０】
なお、本実施の形態における画像復号化処理は、ＬＳＩなどのハードウェアで実現しても良い。
【０３９１】
以上説明したように、本実施の形態の画像符号化処理では、画素の予測差分値を符号付２進数で表現したバイナリデータの桁数（符号付予測差分バイナリ桁数）が、基準ビット幅Ｍより小さい場合、ビットを余らせて当該予測差分値を符号化する。また、符号付予測差分バイナリ桁数が基準ビット幅Ｍより大きい場合であって、かつ、余剰ビットが存在する場合は、（基準ビット幅Ｍ＋使用可能な余剰ビットの数が示す値）で表現する。
【０３９２】
したがって、量子化の処理をなくすことができたり、量子化する際の量子化幅Ｑを小さくすることができる。その結果、量子化誤差による画像の画質の劣化を抑制することができる。すなわち、符号化による、画像の画質の劣化の度合いを小さくすることができる。
【０３９３】
また、本実施の形態では、外部のメモリに複数の固定ビット幅（ｓビット）の符号化データが連続して記憶される。１つの符号化データには、画素を復元するための複数の符号化画素データを含む。したがって、ある符号化画素データにデータアクセスすることが要求される場合、当該符号化画素データを含む符号化データにデータアクセスするだけでよい。したがって、データに対するランダムアクセス性は維持することができる。
【０３９４】
また、固定ビット幅（ｓビット）は、使用される集積回路のデータ転送のバス幅に設定される。なお、バス幅は固定長を保証できる。したがって、ランダムアクセス性を損なうことなく実現が可能となる。
【０３９５】
以上により、本実施の形態によれば、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
【０３９６】
＜実施の形態２＞
実施の形態２では、実施の形態１で説明した、画像符号化装置１００及び画像復号化装置１１０を備えたデジタルスチルカメラの例を説明する。
【０３９７】
図１２は、実施の形態２に係るデジタルスチルカメラ１３００の構成を示すブロック図である。
【０３９８】
図１２に示されるように、デジタルスチルカメラ１３００は、画像符号化装置１００と、画像復号化装置１１０とを備える。画像符号化装置１００および画像復号化装置１１０の構成および機能は、実施の形態１で説明したので詳細な説明は繰り返さない。
【０３９９】
デジタルスチルカメラ１３００は、さらに、撮像部１３１０と、画像処理部１３２０と、表示部１３３０と、圧縮変換部１３４０と、記録保存部１３５０と、ＳＤＲＡＭ１３６０とを備える。
【０４００】
撮像部１３１０は、被写体を撮像して、その像に対応するデジタルの画像データを出力する。この例では、撮像部１３１０は、光学系１３１１と、撮像素子１３１２と、アナログフロントエンド１３１３（図中ではＡＦＥと略記）と、タイミングジェネレータ１３１４（図中ではＴＧと略記）とを含む。
【０４０１】
光学系１３１１は、レンズ等からなり、被写体を撮像素子１３１２上に結像させるようになっている。撮像素子１３１２は、光学系１３１１から入射した光を電気信号に変換する。撮像素子１３１２としては、ＣＣＤ（Charge Coupled Device）を用いた撮像素子や、ＣＭＯＳを用いた撮像素子等、種々の撮像素子を採用できる。
【０４０２】
アナログフロントエンド１３１３は、撮像素子１３１２が出力したアナログ信号に対してノイズ除去、信号増幅、Ａ／Ｄ変換などの信号処理を行なう。そして、アナログフロントエンド１３１３は、当該信号処理により得られたデータを示す画像データを出力する。出力される画像データは、複数の画素データから構成される。当該画素データは、ＲＡＷデータである。
【０４０３】
タイミングジェネレータ１３１４は、撮像素子１３１２やアナログフロントエンド１３１３の動作タイミングの基準となるクロック信号を、撮像素子１３１２およびアナログフロントエンド１３１３へ供給する。
【０４０４】
画像処理部１３２０は、撮像部１３１０が出力した画素データ（ＲＡＷデータ）に所定の画像処理を施す。そして、画像処理を行なうことにより得られた画素データ（ＲＡＷデータ）を、画像符号化装置１００へ出力する。
【０４０５】
図１２に示すように、画像処理部１３２０は、一般的には、ホワイトバランス回路１３２１（図中ではＷＢと略記）と、輝度信号生成回路１３２２と、色分離回路１３２３と、アパーチャ補正処理回路１３２４（図中ではＡＰと略記）と、マトリクス処理回路１３２５と、画像の拡大・縮小を行うズーム回路１３２６（図中ではＺＯＭと略記）とを備える。
【０４０６】
ホワイトバランス回路１３２１は、白い被写体がどのような光源下でも白く撮影されるように、撮像素子１３１２のカラーフィルターによる色成分を正しい割合で補正する回路である。
【０４０７】
輝度信号生成回路１３２２は、ＲＡＷデータから輝度信号（Ｙ信号）を生成する。色分離回路１３２３は、ＲＡＷデータから色差信号（Ｃｒ／Ｃｂ信号）を生成する。
【０４０８】
アパーチャ補正処理回路１３２４は、輝度信号生成回路１３２２が生成した輝度信号に高周波数成分を足し合わせて解像度を高く見せる処理を行う。マトリクス処理回路１３２５は、色分離回路１３２３から出力されるデータに対して、撮像素子の分光特性や画像処理で崩れた色相バランスの調整を行なう。
【０４０９】
一般的に、画像処理部１３２０は、処理対象の画素データをＳＤＲＡＭ等のメモリに一時記憶させ、一時記憶されたデータに対して所定の画像処理や、ＹＣ信号（輝度信号または色差信号）の生成、ズーム処理等を行い、処理後のデータを再度ＳＤＲＡＭに一時記憶させることが多い。
【０４１０】
そのため、画像処理部１３２０は、画像符号化装置１００へデータを出力する処理および画像復号化装置１１０からデータを受信する処理を行なうことが考えられる。
【０４１１】
表示部１３３０は、画像復号化装置１１０から出力される画像データ（画像復号化後の画像データ）を表示する。
【０４１２】
圧縮変換部１３４０は、画像復号化装置１１０から出力される画像データをＪＰＥＧ等の所定の規格で圧縮変換し、変換により得られたＪＰＥＧ画像のデータを記録保存部１３５０へ出力する。また、圧縮変換部１３４０は、記録保存部１３５０によって読み出されたＪＰＥＧ画像のデータを伸張変換して、変換後のデータを、画像符号化装置１００へ出力する。
【０４１３】
すなわち、圧縮変換部１３４０は、ＪＰＥＧ規格に基づくデータを処理可能である。このような圧縮変換部１３４０は、一般的にデジタルスチルカメラに搭載される。
【０４１４】
記録保存部１３５０は、圧縮された画像データを受信して、当該画像データを記録媒体（例えば不揮発性メモリ等）に記録する。また、記録保存部１３５０は、記録媒体に記録されている、圧縮された画像データを読み出して、当該画像データを圧縮変換部１３４０に出力する。
【０４１５】
本実施の形態における画像符号化装置１００及び画像復号化装置１１０が処理対象とするデータは、ＲＡＷデータに限定されない。たとえば、画像符号化装置１００及び画像復号化装置１１０が処理対象とするデータは、画像処理部１３２０によってＲＡＷデータから生成されたＹＣ信号（輝度信号または色差信号）のデータ、一旦ＪＰＥＧ等に圧縮変換されたＪＰＥＧ画像のデータを伸張することにより得られるデータ（輝度信号または色差信号のデータ）等であってもよい。
【０４１６】
このように、本実施の形態におけるデジタルスチルカメラ１３００は、一般的にデジタルスチルカメラに搭載される圧縮変換部１３４０以外にも、ＲＡＷデータやＹＣ信号を処理対象とする画像符号化装置１００及び画像復号化装置１１０を備える。
【０４１７】
これにより、本実施の形態におけるデジタルスチルカメラ１３００は、同じメモリ容量で、同じ解像度の連写枚数を増やす高速撮像動作が可能となる。また、デジタルスチルカメラ１３００は、同じ容量のメモリに記憶させる動画像の解像度を高めることが可能になる。
【０４１８】
また、実施の形態２に示したデジタルスチルカメラ１３００の構成は、デジタルスチルカメラ１３００と同様に撮像部、画像処理部、表示部、圧縮変換部、記録保存部、及びＳＤＲＡＭを備えるデジタルビデオカメラの構成に適用することもできる。
【０４１９】
＜実施の形態２の変形例１＞
画像処理部１３２０が、画像符号化装置１００に対し出力する画素データが、ＹＣ信号（輝度信号または色差信号）のデータである場合、図１の固定ビット幅設定部１０７が設定する固定ビット幅（ｓビット）のデータを生成する処理において、輝度信号のデータより色差信号のデータを優先して符号化するようにしてもよい。当該ＹＣ信号のデータは、画像処理部１３２０の内部で変換されたデータである。
【０４２０】
色差信号は、画像処理部１３２０の内部で生成する段階で高周波成分が落ちており、輝度信号と比較すると急峻なエッジが存在しない。そのため、符号化対象画素に対応する予測値の予測精度も高く、量子化幅Ｑも低くなると想定できる。よって、余剰ビットカウンタの値が増加され易いと考えられる。
【０４２１】
そのため、固定ビット幅（ｓビット）のデータを生成する処理において、輝度信号のデータより色差信号のデータを優先して符号化することにより、多くの余剰ビットを発生させておく。これにより、視覚的に敏感な輝度信号のデータの符号化においてビットを多く割り当てることが可能となる。その結果、視覚劣化を抑圧させた上で画素データを符号化することができる。
【０４２２】
＜実施の形態２の変形例２＞
本変形例では、画像処理部１３２０が、画像符号化装置１００に対し出力する画素データがＹＣ信号（輝度信号または色差信号）のデータである場合、さらに、色差信号のデータをＩＱ軸変換して符号化する変形例を説明する。
【０４２３】
ＩＱ軸変換されたＩＱ信号とは、色差信号を変調させて得られるものであり、以下の式で表される。
Ｉ＝０．６Ｒ−０．２８Ｇ−０．３２Ｂ              ・・・（９）
Ｑ＝０．２１Ｒ−０．５２Ｇ＋０．３１Ｂ            ・・・（１０）
式（９）、式（１０）において、Ｒは、色差信号の赤信号成分を示し、Ｇは色差信号の緑信号成分を示し、Ｂは色差信号の青信号成分を示す。
【０４２４】
上記した変調で得られるＩＱ信号は、人間の視覚特性により色差信号を簡略化するために作られた信号である。色度図上において人間の目の分解能が一番良い「オレンジ−シアン軸」をＩ軸とした場合、Ｉ信号は細部まで対応するため広い帯域をもたせて伝送するために用いられる。また、色度図上においてＩ軸と直交し人間の目の分解能が一番悪い「黄色−マゼンタ軸」をＱ軸とした場合、Ｑ信号は狭帯域で伝送するために用いられる。
【０４２５】
つまり、Ｑ信号の情報量をある程度制限しても、視覚的な画質劣化を抑えて伝送することができる。従って、画像符号化装置１００内で色差信号をＩＱ信号に変調することで、Ｑ信号のビット数をできる限り減らし、人間の目が敏感な輝度信号にビットを割り当てることが可能となる。
【０４２６】
具体的には、図１３Ａに示すように、グループＧ１にＱ信号を割り当て、Ｑ信号の符号化画素データに対しては、基準ビット幅Ｍから“１”減算したビット幅を確保しておく。余ったビットは、固定ビット幅設定部１０７により設定される固定ビット幅（ｓビット）のデータ中にパッキングするＱ信号の画素数分、予め余剰ビットとして確保しておく。
【０４２７】
さらに、実施の形態２の変形例１で示したように、固定ビット幅（ｓビット）のデータ内で色信号を第１優先順位で符号化する（グループＧ２にＩ信号を割り当てる）。これにより、余剰ビットの消費を防ぎ、余剰ビットをできる限り視覚的に敏感な輝度信号に割り当てる。
【０４２８】
図１３Ａに示されるように、グループＧ２にＩ信号を割り当てた場合、余剰ビットの増減はないが、Ｉ信号の成分に急峻な変化が発生した場合は余剰ビットが消費（使用）されるし、変化がない場合は累積余剰ビット数が増えることも考えられる。
【０４２９】
図１３Ａでは、Ｉ信号においては、余剰ビットカウンタの値が変化するような画素データの入力がなかったものとする。グループの後部に輝度信号を割り当てることで、増加する余剰ビットは全て輝度信号で使用することが可能になる。すなわち、余剰ビットを使用して輝度信号のデータを符号化する。そのため、視覚劣化を抑圧させた上で画素データを符号化することができる。
【０４３０】
また、増減する余剰ビットと、消費された結果の符号化画素データのビット幅は入力される画素データに依存するため、図１３Ａでは「＊」で示してある。
【０４３１】
なお、Ｑ信号の符号化画素データのビット幅を減らした分を、予め輝度信号の符号化画素データのビット幅に割り当てておいてもよい。具体的には、Ｑ信号の符号化画素データのビット幅を基準ビット幅Ｍから“１”減算した場合であれば、同じ固定ビット幅（ｓビット）のデータ中にパッキングする輝度信号を（基準ビット幅Ｍ＋１）のビット幅で表現することが可能となる。
【０４３２】
このときの基準ビット幅Ｍを、図１３Ｂに示す。図１３Ｂに示すように、本変形例によれば、固定ビット幅（ｓビット）のデータ内で色信号を第１優先順位で符号化しなくても、予めビットを視覚的に敏感な輝度信号に多く割り当てることが可能になる。したがって、視覚劣化を抑圧させた上で画素データを符号化することができる。
【０４３３】
＜実施の形態３＞
実施の形態３では、実施の形態１で説明した画像符号化装置および画像復号化装置の各々が、さらに、余剰ビット制御部を備える例を説明する。
【０４３４】
図１４は、実施の形態３における画像符号化装置１００Ａおよび画像復号化装置１１０Ａの構成を示すブロック図である。
【０４３５】
図１４に示されるように、画像符号化装置１００Ａは、図１の画像符号化装置１００と比較して、余剰ビット制御部１０９をさらに備える点が異なる。それ以外は、画像符号化装置１００と同様なので詳細な説明は繰り返さない。また、画像復号化装置１１０Ａは、図１の画像復号化装置１１０と比較して、余剰ビット制御部１１１をさらに備える点が異なる。それ以外は、画像復号化装置１１０と同様なので詳細な説明は繰り返さない。
【０４３６】
（符号化処理）
まず、使用する余剰ビットの数を制御しない場合における画像符号化処理を説明する。
【０４３７】
図１５Ａおよび図１５Ｂは、使用する余剰ビットの数を制御しない場合における画像符号化処理を説明するための図である。
【０４３８】
図１５Ａは、一例として、画素データ受信部１０１に入力される、２６個の画素データのうちの１１個の画素データが示される。なお、図１５Ａに示される各項目は、図９Ａで説明したのと同様なので詳細な説明は繰り返さない。
【０４３９】
画素データ受信部１０１には、画素Ｐ１，Ｐ２，・・・，Ｐ１１の順で、各画素に対応する１２ビットの画素データが入力されるとする。画素Ｐ１〜Ｐ１１内に示される数値は、対応する画素データが示す画素値である。なお、画素Ｐ１，Ｐ２にそれぞれ対応する２つの画素データは、それぞれ、緑色および赤色の初期画素値データであるとする。
【０４４０】
この例では、符号化対象画素の予測値は、前述した予測式（１）を使用して算出される。すなわち、符号化対象画素の予測値は、符号化対象画素の左隣の画素の画素値となる。また、この例では、符号化対象画素の画素値と、符号化対象画素の左隣の画素の画素値との差の値（予測差分値）を量子化する。
【０４４１】
また、この例では、量子化幅情報Ｃｏｄｅと、予測差分絶対値、量子化幅Ｑおよび余剰ビット数との関係についても、図８のデータテーブルＤＴ１１０を使用する。
【０４４２】
量子化幅Ｑは、実施の形態１と同様に、各グループに属する隣接する３画素の予測差分値から算出される最大予測差分絶対値から算出する。グループに属する３画素は同じ量子化幅Ｑで量子化する。
【０４４３】
図１５Ｂは、画像符号化装置１００Ａが符号化の処理を行なうことにより得られた画素データ（符号化画素データ）を示す図である。図１５Ｂに示される、各符号化画素データ内の数値は、符号化画素データのビット数を示す。
【０４４４】
この例における、画像符号化処理では、実施の形態１と同様な処理が行なわれることにより、グループＧ１に属する３画素に対応する量子化幅Ｑは“０”に設定される。そのため、量子化幅情報Ｃｏｄｅは、コード“０００”が選択される。そのため、グループＧ１に属する３画素に対応する予測差分値を符号化した後、６個の余剰ビットが発生する。符号化画素データは３画素とも６ビットで表現できる。
【０４４５】
グループＧ２とグループＧ３においては、急峻な画素値のレベル変化が複数存在している。量子化幅ＱはグループＧ２およびグループＧ３の両方で、“４”に設定される。
【０４４６】
しかし、画素Ｐ６（画素値“１５９０”）に対応する予測差分値を符号化する際に、４個の余剰ビットが使用（消費）される。また、次の画素Ｐ７（画素値“２０００”）に対応する予測差分値を符号化する際に、２個の余剰ビットが使用（消費）されるため、その時点で累積余剰ビット数は“０”となってしまう。
【０４４７】
そのため、以後、発生する急峻なエッジは全く救済されることなく、基準ビット幅Ｍで符号化されてしまう。
【０４４８】
図１６Ａおよび図１６Ｂは、本実施の形態における、使用する余剰ビットの数を制御する場合における画像符号化処理を説明するための図である。
【０４４９】
図１６Ａは、一例として、画素データ受信部１０１に入力される、２６個の画素データのうちの１１個の画素データが示される。なお、図１６Ａに示される１１個の画素データは、図１５Ａに示した１１個の画素データと同じである。図１６Ａに示される画素Ｐ１，Ｐ２以外の複数の画素は、符号化の対象となる符号化対象画素である。
【０４５０】
本実施の形態の処理では、グループＧ１において同じ条件で、６個の余剰ビットが発生する。本実施の形態では、余剰ビット制御部１０９を用いて使用する余剰ビットの数（余剰ビットカウンタの値）を制御することで、局所的な量子化誤差を分散させることを特徴とする。
【０４５１】
本実施の形態において、使用する余剰ビットの数を制御するための処理を、余剰ビット制御処理という。まず、余剰ビット制御処理の前に、以下の処理が行なわれるとする。
【０４５２】
まず、量子化幅設定部１０４は、固定ビット幅（ｓビット）のデータ内の各グループの量子化幅Ｑの情報を余剰ビット制御部１０９へ送信する。
【０４５３】
余剰ビット制御部１０９は、受信した各グループの量子化幅Ｑの情報から予測誤差の出現頻度を測定する。この処理により、各グループにどれだけの余剰ビットを確保すればよいのかを推測する。
【０４５４】
例えば、図１６Ａに示される複数の画素データが、画像符号化装置１００Ａに入力された場合、量子化幅設定部１０４は、量子化幅情報Ｃｏｄｅであるコード"０００"，"１１０"、"１１０"を、余剰ビット制御部１０９へ送信する。
【０４５５】
そして、余剰ビット制御処理が行なわれる。
【０４５６】
図１７は、余剰ビット制御処理のフローチャートである。
【０４５７】
余剰ビット制御部１０９では、量子化幅情報Ｃｏｄｅであるコード“０００”，“１１０”、“１１０”情報を受信し、グループＧ１では１画素辺り２つの余剰ビットが発生すると判断する。そのため、余剰ビットカウンタの値は、６まで増加する（Ｓ５０１、Ｓ５０２）。
【０４５８】
グループＧ２およびグループＧ３では、対応する量子化幅Ｑが“０”より大きい。そのため、余剰ビット制御部１０９は、余剰ビットが使用（消費）されることが量子化前に先読みできる（Ｓ５０３）。そこで、余剰ビット制御処理は、６個の余剰ビットを、グループＧ２とグループＧ３で半分（３個）ずつ消費させるための命令を、余剰ビットカウント部１０５へ送る（Ｓ５０４）。
【０４５９】
さらに、１回の符号化処理（量子化処理も含む）において消費できる余剰ビットの最大ビット数を決定しておくことにより、グループ内でも余剰ビットの消費を分散させることができる。具体的には、１回の符号化において消費できる余剰ビットの最大ビット数を２ビットと予め決めておく。この場合、図１５Ａの画素Ｐ６に対応する予測差分値を符号化する際において、最大ビット数である２個の余剰ビットが消費される。
【０４６０】
画素Ｐ６の次の画素Ｐ７に対応する予測差分値を符号化する際は、４個の余剰ビットが存在しており、グループＧ２で消費できる余剰ビットの数は１つである。そのため、画素Ｐ７に対応する予測差分値を符号化する際に、１個の余剰ビットを使用（消費）する。
【０４６１】
画素Ｐ８に対応する予測差分値を符号化する際は、３個の余剰ビットが存在している。しかしながら、グループＧ２内で消費可能な余剰ビットのビット数をオーバーしてしまうため、ここでは消費せずに量子化を行う。
【０４６２】
グループＧ３においても、３個の余剰ビットが消費可能である。そのため、画素Ｐ９に対応する予測差分値を符号化する際は、最大ビット数である２個の余剰ビットが消費される。画素Ｐ１０に対応する予測差分値を符号化する際は、余剰ビットは１つ存在するため、量子化幅Ｑを“１”低減させることができる。
【０４６３】
グループＧ３に属する画素Ｐ１１に対応する予測差分値を符号化する際は、余剰ビットが存在しないため、余剰ビットは使用せずに予測差分値を符号化することになる。
【０４６４】
図１６Ａの例においては、グループＧ２およびグループＧ３に対応する量子化幅Ｑが同じであったため、発生した複数の余剰ビットを半分ずつ割り当てた。
【０４６５】
なお、図１７のステップＳ５０４の処理において、余剰ビットの割り振りは、余剰ビットを消費するグループにおける量子化幅を基準に、量子化幅が大きいほど余剰ビットを多く割り当てるように決定してもよい。
【０４６６】
次に、実施の形態３における余剰ビットカウント部１０５が行なう余剰ビットカウンタを更新するための処理（以下、余剰ビットカウンタ更新処理Ａという）について説明する。
【０４６７】
余剰ビットカウンタ更新処理Ａは、図２の画像符号化処理のステップＳ１２０の余剰ビットカウンタ更新処理の代わりに行なわれる処理である。
【０４６８】
図１８は、余剰ビットカウンタ更新処理Ａのフローチャートである。図１８に示されるように、余剰ビットカウンタ更新処理Ａは、図３の余剰ビットカウンタ更新処理と比較して、ステップＳ１２３の代わりにステップＳ１２３Ａの処理が行なわれる点と、ステップＳ１２３Ｂ，Ｓ１２３Ｃ，Ｓ１２３Ｄ，Ｓ１２３Ｅの処理がさらに行なわれる点とが異なる。
【０４６９】
なお、図１８において、図３のステップ番号と同じステップ番号の処理は、実施の形態１で説明した処理と同様な処理が行なわれるので詳細な説明は繰り返さない。
【０４７０】
まず、余剰ビットの消費が必要となる場合に行なわれるステップＳ１２３Ａの処理は、ステップＳ１２３の処理と比較して、同一グループ内で消費可能な余剰ビットが存在するかどうかの判定が追加されている。すなわち、ステップＳ１２３Ａの処理により、グループ内で消費可能な余剰ビットの数をオーバーしないように制御される。
【０４７１】
次に、ステップＳ１２３Ｂの処理では、余剰ビットの数が消費できる最大ビット数より大きいか否かが判定される。最大ビット数より大きい場合（Ｓ１２３ＢでＹＥＳ）、余剰ビットカウント部１０５は、余剰ビットカウンタの値を、消費できる最大ビット数に更新する（Ｓ１２３Ｃ）。これにより、グループ内での余剰ビットの消費が分散するように制御される。
【０４７２】
次に、ステップＳ１２３Ｄの処理では、余剰ビットカウント部１０５が、同一グループ内で消費可能な余剰ビット数のうち消費された余剰ビットの数だけ余剰ビットカウンタの値を減少させる。この処理により、同一グループ内の次の画素に対応する予測差分値の符号化時に、グループ内で消費可能な余剰ビットの数をオーバーしないように閾値が更新される。
【０４７３】
次に、ステップＳ１２３Ｅの処理では、ステップＳ１２３Ｂの処理で、余剰ビットの数が消費できる最大ビット数より大きい場合（Ｓ１２３ＢでＹＥＳ）、余剰ビットカウント部１０５が、消費できる最大ビット数に更新されている余剰ビットカウンタの値を、元の余剰ビット数（保有している総余剰ビット数）に更新する。
【０４７４】
実施の形態１では、発生する順番で量子化誤差を抑制するようにしていた。しかしながら、実施の形態３では、余剰ビット制御部１０９により、固定ビット幅（ｓビット）のデータ内の画素データを先読みする。この処理により、量子化誤差を局所的に救済するのではなく、使用可能な余剰ビットの範囲内で量子化誤差をできる限り抑制し、かつ分散することができる。
【０４７５】
（画像復号化装置１１０Ａが行なう復号化処理）
本実施形態における復号化処理においては、アンパッキング部１１６が、所得したデータを、初期画素値データと、複数の符号化画素データと、量子化幅情報Ｃｏｄｅに分離する。そのため、画像復号化装置１１０Ａの余剰ビット制御部１１１は、量子化幅情報Ｃｏｄｅのみを予め取得する。この処理により、余剰ビット制御部１１１は、各グループにどれだけの余剰ビットを確保すればよいのかを容易に推測することが可能である。
【０４７６】
余剰ビット制御部１１１の制御処理は、図１７で説明した余剰ビット制御部１０９の処理と同じになるので詳細な説明は繰り返さない。
【０４７７】
＜実施の形態３の変形例１＞
実施の形態３では、余剰ビット制御部１０９が、固定ビット幅（ｓビット）のデータ内の各グループの量子化幅Ｑの情報を、量子化幅設定部１０４から取得する。この処理により、余剰ビット制御部１０９は、固定ビット幅のデータ内の各グループにどれだけの余剰ビットを確保すればよいのかを推測していた。
【０４７８】
しかし、この方式では、図１７に示したように、固定ビット幅のデータ内の量子化幅Ｑの先読み処理が全て終了していなければ、各グループに割り当てる余剰ビットを決定することができない。そのため、画像符号化処理において処理の遅延が生じてしまう。
【０４７９】
そこで、固定ビット幅のデータ内の量子化幅Ｑの先読みはせずに、一回の量子化において消費できる最大ビット数のみを、予め決定しておいてもよい。これにより、固定ビット幅のデータ内における局所的な量子化誤差を分散させることが可能になる。
【０４８０】
しかし、この変形例１によると、固定ビット幅のデータ内に含ませるための画素データに急峻な変化が一箇所しか見られない場合でも、消費する余剰ビット数が制限されてしまうというデメリットもある。
【０４８１】
そのため、実施の形態３とその変形例１を必要に応じて切り替えるように符号化処理を行っても良い。
【０４８２】
＜実施の形態４＞
本実施の形態では、デジタルスチルカメラに設けられる撮像素子が、画像符号化装置を含む場合のデジタルスチルカメラの構成の例を説明する。
【０４８３】
図１９は、実施の形態４における、デジタルスチルカメラ２０００の構成を示すブロック図である。図１９に示されるように、デジタルスチルカメラ２０００は、図１２のデジタルスチルカメラ１３００と比較して、撮像部１３１０の代わりに撮像部１３１０Ａを備える点と、画像処理部１３２０の代わりに画像処理部１３２０Ａを備える点とが異なる。それ以外の構成は、デジタルスチルカメラ１３００と同様なので詳細な説明は繰り返さない。
【０４８４】
撮像部１３１０Ａは、図１２の撮像部１３１０と比較して、撮像素子１３１２の代わりに撮像素子１３１２Ａを含む点が異なる。それ以外は、撮像部１３１０と同様なので詳細な説明は繰り返さない。撮像素子１３１２Ａは、図１の画像符号化装置１００を含む。
【０４８５】
また、画像処理部１３２０Ａは、図１２の画像処理部１３２０と比較して、さらに、図１の画像復号化装置１１０を含む点が異なる。それ以外の構成は、画像処理部１３２０と同様なので詳細な説明は繰り返さない。
【０４８６】
撮像素子１３１２Ａに含まれる画像符号化装置１００は、撮像素子１３１２Ａにより撮像された画素信号を符号化し、符号化により得られたデータを、画像処理部１３２０Ａ内の画像復号化装置１１０へ送信する。
【０４８７】
画像処理部１３２０Ａ内の画像復号化装置１１０は、画像符号化装置１００から受信したデータを復号化する。この処理により、撮像素子１３１２Ａと集積回路内の画像処理部１３２０Ａ間のデータ転送効率を向上させることが可能となる。
【０４８８】
したがって、本実施の形態のデジタルスチルカメラ２０００は、実施の形態２のデジタルスチルカメラ１３００よりも、同じメモリ容量で、同じ解像度の連写枚数を増やしたり、動画像の解像度を高める等といった高速撮像動作を実現することが可能になる。
【０４８９】
＜実施の形態５＞
一般的に、プリンタ装置においては、印刷物を、いかに高精度でかつ高速で印刷するかが求められる。そのため、通常では以下の処理が行なわれる。
【０４９０】
まず、パーソナルコンピュータ（以下、パソコンという）が、印刷対象であるデジタルの画像データを圧縮符号化し、符号化により得られた符号化データを、プリンタへ送る。そして、プリンタは、受信した符号化データを復号化する。
【０４９１】
そこで、本実施の形態では、実施の形態１で説明した画像符号化装置１００をパソコンに搭載し、画像復号化装置１１０をプリンタに搭載することで、印刷物の画質劣化の抑圧を図る。
【０４９２】
図２０は、実施の形態５における、パソコン３０００およびプリンタ４０００を示す図である。図２０に示されるように、パソコン３０００は、画像符号化装置１００を備える。プリンタ４０００は、画像復号化装置１１０を備える。
【０４９３】
最近では、印刷対象となる画像データが示す画像には、ポスターや広告等のように、文字や図形、自然画像が混在している。このような画像においては、単色で表現された文字あるいは図形を示す画像のデータがパソコン３０００内画像符号化装置１００に入力されると、余剰ビットが生じる可能性が高い。
【０４９４】
画像符号化装置１００は、生じた余剰ビットを使用して画像を符号化する。これにより、固定ビット幅のデータ内において、文字あるいは図形と自然画像の境界となる、急峻な濃度変化が発生した場合の量子化誤差を抑制することが可能となる。
【０４９５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０４９６】
本発明に係る画像符号化装置および画像復号化装置は、集積回路のデータ転送のバス幅は固定長を保証しつつ、転送単位内での可変長符号化を行なうことができる。したがって、デジタルスチルカメラやネットワークカメラ、プリンタ等のように、画像を扱う装置において、ランダムアクセス性は維持したまま、画質の劣化を防止しつつ、画像データを符号化・復号化が可能になる。そのため、近年の画像データ処理量の増大へのキャッチアップに有用である。
【符号の説明】
【０４９７】
１００，１００Ａ  画像符号化装置
１０２  予測値算出部
１０３  差分算出部
１０４，１１４  量子化幅設定部
１０５，１１５  余剰ビットカウント部
１０６  パッキング部
１０７，１１７  固定ビット幅設定部
１０８  量子化処理部
１０９，１１１  余剰ビット制御部
１１０，１１０Ａ  画像復号化装置
１１６  アンパッキング部
１１８  逆量子化処理部
１１９  出力部
１３００，２０００  デジタルスチルカメラ
１３１０，１３１０Ａ  撮像部
１３１２，１３１２Ａ  撮像素子
１３２０，１３２０Ａ  画像処理部
３０００  パソコン
４０００  プリンタ
【図１】
2010035433.tif 000003
【図２】
2010035433.tif 000004
【図３】
2010035433.tif 000005
【図４】
2010035433.tif 000006
【図５】
2010035433.tif 000007
【図６】
2010035433.tif 000008
【図７Ａ】
2010035433.tif 000009
【図７Ｂ】
2010035433.tif 000010
【図８】
2010035433.tif 000011
【図９Ａ】
2010035433.tif 000012
【図９Ｂ】
2010035433.tif 000013
【図１０】
2010035433.tif 000014
【図１１】
2010035433.tif 000015
【図１２】
2010035433.tif 000016
【図１３Ａ】
2010035433.tif 000017
【図１３Ｂ】
2010035433.tif 000018
【図１４】
2010035433.tif 000019
【図１５Ａ】
2010035433.tif 000020
【図１５Ｂ】
2010035433.tif 000021
【図１６Ａ】
2010035433.tif 000022
【図１６Ｂ】
2010035433.tif 000023
【図１７】
2010035433.tif 000024
【図１８】
2010035433.tif 000025
【図１９】
2010035433.tif 000026
【図２０】
2010035433.tif 000027
【図２１】
2010035433.tif 000028
【図２２】
2010035433.tif 000029
【手続補正書】
【提出日】平成23年3月22日(2011.3.22)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を符号化する装置および方法に関する。
【背景技術】
【０００２】
近年、デジタルスチルカメラやデジタルビデオカメラなどの撮像装置に用いられる撮像素子の高画素化に伴い、装置に搭載される集積回路が処理する画像データ量が増大している。撮像装置内の集積回路が多くの画像データを扱うには、集積回路内のデータ転送のバス幅を確保するために、動作周波数の高速化、メモリの大容量化等が考えられるが、これらはコストアップに直接繋がってしまう。
【０００３】
また、一般的に、デジタルスチルカメラやデジタルビデオカメラなどの撮像装置は、集積回路が全ての画像処理を終えると、ＳＤ（Secure Digital）メモリカード等の外部記録装置に画像データを記録する際、当該画像データの圧縮処理を行なう。そして、撮像装置は、圧縮処理により得られた圧縮データを外部記録装置に記憶させる。この圧縮処理には、ＪＰＥＧ（Joint Photographic Experts Group）、ＭＰＥＧ（Moving Picture Experts Group）といった符号化方式が用いられる。そのため、画像データを圧縮しない場合より、より大きなサイズの画像データ、または、より多くの画像データを外部記録装置に記憶させることができる。
【０００４】
特許文献１には、画像データの圧縮処理を、画像処理後のデータに対して行なうだけでなく、撮像素子から入力される画素信号（ＲＡＷデータ）に対しても行なう技術が開示されている。この技術により、同じメモリ容量で、同じ画像サイズの連写枚数を増やすことが可能となる。また、特許文献１には、メモリを必要とせず、低い符号化演算処理負荷を確保した状態で高圧縮率を実現する、デジタル信号圧縮符号化装置およびデジタル信号復号化装置が開示されている。
【０００５】
また、特許文献２には、写真等の自然画像の中に、単一色の文字あるいは図形が盛り込まれたポスターや広告のような、性質の異なる画像データが混在した印刷物を、高精度かつ高速に印刷することを可能とする画像符号化装置が開示されている。文字あるいは図形と、自然画像とは画像の性質が異なるため、共通の符号化方式を採用すると画像の品質が劣化してしまう。
【０００６】
特許文献２に開示されている画像符号化装置は、画素データを固定長符号で符号化する非可逆符号化部と、可逆符号化部と、余剰符号カウンタと、符号化制御部とを備える。
【０００７】
可逆符号化部は、符号化対象画素の画素データの圧縮率が規定圧縮率よりも高い圧縮率となる時には、固定長符号に対する余剰符号を余らせて符号化対象画素の画素データを符号化する。また、可逆符号化部は、符号化の対象となる符号化対象画素の画素データの圧縮率が規定圧縮率よりも低い圧縮率となる時には、固定長符号に追加される余剰符号を消費させて符号化対象画素の画素データを符号化する。
【０００８】
余剰符号カウンタは、可逆符号化部が画素データを符号化した時に、固定長符号に対する余剰符号をカウントアップし、可逆符号化部により消費された余剰符号をカウントダウンする。符号化制御部は、余剰カウンタのカウント値が規定圧縮率よりも低圧縮率を示す値とならない範囲で、可逆符号化部での符号化動作を継続させる処理を行なう。以上の処理を行なう画像符号化装置は、データの再現性を向上させることができる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００７−０３６５６６号公報
【特許文献２】特開２００７−１８１０５１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、特許文献１に開示されているデジタル信号圧縮符号化装置では、図２１に示されるゾーン量子化幅決定部２０１が、近接する複数の画素で構成されたグループを意味する「ゾーン」に含まれる全ての画素の値を、一律の量子化幅（ゾーン量子化幅）で量子化している。
【００１１】
このゾーン量子化幅は、最大画素値差に対応する量子化範囲値に１を加えた値と、圧縮符号化画素値データビット数（ｓ）との差に等しい。ここで、最大画素値差は、ゾーンに含まれる各画素の値と、近傍同色画素の値との差分値（以下、画素差分値という）の最大値である。また、量子化範囲値は、画素差分値の絶対値を２進数で表現するのに必要な桁数である。また、圧縮符号化画素値データビット数（ｓ）は、画素値データを圧縮符号化したデータのビット数である。
【００１２】
つまり、ゾーン内に急峻なエッジが存在し、ある１画素の差分値のみが大きくなった場合でも、同一ゾーン内の画素は全て、その影響を受けて量子化幅が大きくなってしまう。従って、特許文献１に開示されているデジタル信号圧縮符号化装置では、差分値が小さく量子化があまり必要ない場合でも、必要以上に量子化誤差が発生する。その結果、画像の画質の劣化の度合いが大きいという問題があった。
【００１３】
これに対して、特許文献２に記載された画像符号化装置は、図２２に示される余剰符号カウンタ３０１が、固定長符号に対する余剰符号をカウントアップまたはカウントダウンし、カウントされたカウント値を管理することで、可逆符号化の処理を継続させるように制御している。
【００１４】
また、その可逆符号化の処理では、符号化対象画素Ｘの値が辞書に登録されていれば、そのインデックスが符号化される。また、符号化対象画素Ｘの値が辞書に登録されていない場合は、周辺画素値評価部３０２が符号化対象画素の前後に位置する複数の画素（Ｐ、Ａ、Ｂ）との相関を求めて、相関を意味するコードを符号化している。
【００１５】
つまり、符号化対象画素Ｘは、Ｘの値が辞書に登録されていない場合、前後の複数の画素と共に一つのコードとして符号化される。そのため、特許文献２に記載の可逆符号化処理が行なわれると、符号化されたデータは可変長で表現される。すなわち、特許文献２に記載の可逆符号化処理により符号化されたデータは、可変長符号データとなる。そのため、可変長符号データを復号する際に、圧縮された可変長符号データの先頭から、符号化時の画素走査順と全く同じように辿っていくことになる。
【００１６】
一方、一般的にデジタルスチルカメラ等に搭載される集積回路が行なう画像処理においては、撮像素子から入力されたデジタル画素信号がＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等のメモリに一時記憶される。そして、集積回路は、一時記憶されたデータに対して所定の画像処理、ＹＣ信号生成処理、拡大・縮小等のズーム処理等を行い、処理後のデータを再度ＳＤＲＡＭに一時記憶させる。
【００１７】
その際、画像内の任意の領域の画像を切り出す場合や、画素の上下間の参照・相関を必要とする画像処理を行う場合などにおいて、任意領域の画素データをメモリから読み出すよう要求されることが多い。この際、メモリに記憶されている符号データが、可変長符号データであると、メモリにおいて任意領域の画素データが記憶されている領域を特定することができない。すなわち、メモリから任意領域の画素データを読み出すことはできない。そのため、メモリに記憶されている符号データが、可変長符号データであると、ランダムアクセス性を損なうことになる。
【００１８】
本発明は、上述の問題点を解決するためになされたものであって、その目的は、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることを可能とする画像符号化装置等を提供することである。
【課題を解決するための手段】
【００１９】
上述の課題を解決するために、この発明のある局面に従うと、画像を符号化する画像符号化装置は、画像を符号化するための符号化処理を行なう。画像は、予め順序付けられた複数の画素から構成される。符号化処理は、符号化対象となる画素である符号化対象画素の値と符号化対象画素の値を予測した値である予測値との差分値のバイナリデータの桁数Ｂが、所定のビット数Ｍより小さい場合、Ｍ−Ｂにより算出されるＪ個のビットである余剰ビットを余らせて、Ｍより小さい桁数Ｂに対応する差分値を符号化する処理と、桁数ＢがＭより大きい場合であって、かつ、Ｋ個の余剰ビットが存在する場合、Ｍより大きい桁数Ｂに対応する差分値をＬ（≦Ｋ）個の余剰ビットを使用して符号化する処理とを含む。画像符号化装置は、符号化処理を連続するＴ（≧２）個の画素のうちＵ（≦Ｔ）個の画素の各々に対して行なう処理を、複数の画素のうち、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成する。複数の所定符号量の符号化データは、画像を復元するためのデータである。各所定符号量の符号化データは、対応するＴ個の画素を復元するためデータである。
【００２０】
すなわち、画像符号化装置が行なう符号化処理は、符号化対象画素の値と予測値との差分値のバイナリデータの桁数Ｂが所定のビット数Ｍより小さい場合、余剰ビットを余らせて、符号化する処理と、桁数ＢがＭより大きい場合であって、かつ、余剰ビットが存在する場合、余剰ビットを使用して符号化する処理とを含む。符号化処理を連続するＴ個の画素のうちＵ個の画素の各々に対して行なう処理を、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成する。複数の所定符号量の符号化データは、画像を復元するためのデータである。
【００２１】
したがって、余剰ビットが存在する場合、余剰ビットを使用して符号化するため、符号化による、画像の画質の劣化の度合いを小さくすることができる。また、所定符号量の符号化データが複数生成される。そのため、生成された複数の所定符号量の符号化データを、たとえば、メモリ等に記憶させた場合、画像内の特定の箇所の画素に対応した符号化データを、容易に特定することができる。その結果、符号化データに対するランダムアクセス性を維持することができる。
【００２２】
すなわち、本発明によれば、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
【発明の効果】
【００２３】
本発明によれば、画像符号化装置が行なう符号化処理は、符号化対象画素の値と予測値との差分値のバイナリデータの桁数Ｂが所定のビット数Ｍより小さい場合、余剰ビットを余らせて、符号化する処理と、桁数ＢがＭより大きい場合であって、かつ、余剰ビットが存在する場合、余剰ビットを使用して符号化する処理とを含む。符号化処理を連続するＴ個の画素のうちＵ個の画素の各々に対して行なう処理を、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成する。複数の所定符号量の符号化データは、画像を復元するためのデータである。
【００２４】
したがって、余剰ビットが存在する場合、余剰ビットを使用して符号化するため、符号化による、画像の画質の劣化の度合いを小さくすることができる。また、所定符号量の符号化データが複数生成される。そのため、生成された複数の所定符号量の符号化データを、たとえば、メモリ等に記憶させた場合、画像内の特定の箇所の画素に対応した符号化データを、容易に特定することができる。その結果、符号化データに対するランダムアクセス性を維持することができる。
【００２５】
すなわち、本発明によれば、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
【図面の簡単な説明】
【００２６】
【図１】図１は、本発明の実施の形態１に係る画像符号化装置と画像復号化装置の構成を示すブロック図である。
【図２】図２は、画像符号化処理のフローチャートである。
【図３】図３は、画像符号化処理において行なわれる余剰ビットカウンタ更新処理のフローチャートである。
【図４】図４は、一例としての撮像素子を示す図である。
【図５】図５は、予測値の算出に用いられる、符号化対象画素の近傍の画素の配置を示す図である。
【図６】図６は、一例としてのデータテーブルを示す図である。
【図７Ａ】図７Ａは、余剰ビットを使用せずに符号化する処理を説明するための図である。
【図７Ｂ】図７Ｂは、余剰ビットを使用せずに符号化する処理を説明するための図である。
【図８】図８は、一例としてのデータテーブルを示す図である。
【図９Ａ】図９Ａは、本実施の形態における、余剰ビットを使用した画像符号化処理を説明するための図である。
【図９Ｂ】図９Ｂは、本実施の形態における、余剰ビットを使用した画像符号化処理を説明するための図である。
【図１０】図１０は、画像復号化処理のフローチャートである。
【図１１】図１１は、余剰ビットカウンタ更新処理Ｒのフローチャートである。
【図１２】図１２は、実施の形態２に係るデジタルスチルカメラの構成を示すブロック図である。
【図１３Ａ】図１３Ａは、ＩＱ信号および輝度信号に対する処理を説明するための図である。
【図１３Ｂ】図１３Ｂは、ＩＱ信号および輝度信号に対する処理を説明するための図である。
【図１４】図１４は、実施の形態３における画像符号化装置および画像復号化装置の構成を示すブロック図である。
【図１５Ａ】図１５Ａは、使用する余剰ビットの数を制御しない場合における画像符号化処理を説明するための図である。
【図１５Ｂ】図１５Ｂは、使用する余剰ビットの数を制御しない場合における画像符号化処理を説明するための図である。
【図１６Ａ】図１６Ａは、本実施の形態における、使用する余剰ビットの数を制御する場合における画像符号化処理を説明するための図である。
【図１６Ｂ】図１６Ｂは、本実施の形態における、使用する余剰ビットの数を制御する場合における画像符号化処理を説明するための図である。
【図１７】図１７は、余剰ビット制御処理のフローチャートである。
【図１８】図１８は、余剰ビットカウンタ更新処理Ａのフローチャートである。
【図１９】図１９は、実施の形態４における、デジタルスチルカメラの構成を示すブロック図である。
【図２０】図２０は、実施の形態５における、パソコンおよびプリンタを示す図である。
【図２１】図２１は、従来の技術を説明するための図である。
【図２２】図２２は、従来の技術を説明するための図である。
【発明を実施するための形態】
【００２７】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の各実施形態や各変形例の説明において、一度説明した構成要素と同様の機能を有する構成要素については、同一の符号を付して説明を省略する。
【００２８】
＜実施の形態１＞
図１は、本発明の実施の形態１に係る画像符号化装置１００と画像復号化装置１１０の構成を示すブロック図である。
【００２９】
（画像符号化装置における符号化処理）
まず、図１および図２、図３を参照し、画像符号化装置１００が行なう画像を符号化するための処理（以下、画像符号化処理という）について説明する。
【００３０】
図２は、画像符号化処理のフローチャートである。図３は、画像符号化処理において行なわれる余剰ビットカウンタ更新処理のフローチャートである。
【００３１】
画像符号化装置１００は、画素データ受信部１０１と、予測値算出部１０２と、差分算出部１０３と、量子化処理部１０８と、パッキング部１０６とを備える。
【００３２】
画素データ受信部１０１は、後述する撮像素子１３１２から、画素データを、順次、受信する。画素データ受信部１０１は、図示しないバッファを有する。バッファは、少なくとも１つの画素データを記憶可能なメモリであるとする。
【００３３】
図４は、一例としての撮像素子１３１２を示す図である。図４に示されるように、撮像素子１３１２には、複数の画素が行列状に配置される。ここで、撮像素子１３１２には、Ｘ方向にｘａ個の画素が配列され、Ｙ方向にｙａ個の画素が配列されているとする。
【００３４】
複数の画素の各々は、赤色（Ｒ）、緑色（Ｇ）、青色（Ｂ）のいずれかのカラーフィルターを有する。撮像素子１３１２が示すカラーフィルターの配列は、一例として、ベイヤ配列であるとする。この場合、１枚の画像（ピクチャ）を構成する複数の画素のうちの１つの画素は、たとえば、画素Ｐ１，Ｐ２，Ｐ２１，Ｐ２２により表現される。
【００３５】
たとえば、画素Ｐ１および画素Ｐ２は、それぞれ、緑色（Ｇ）および赤色（Ｒ）のカラーフィルターを有する。また、画素Ｐ２１および画素Ｐ２２は、それぞれ、青色（Ｂ）および緑色（Ｇ）のカラーフィルターを有する。
【００３６】
画素データ受信部１０１は、１行１列目の画素（画素Ｐ１）のデータ〜１行ｘａ列目の画素のデータを、順次、受信する。すなわち、画素データ受信部１０１は、同一行の複数の画素において、１列目〜ｘａ列目の画素のデータを、順次、受信する。たとえば、画素データ受信部１０１は、画素Ｐ１，Ｐ２，Ｐ３・・・のデータを、順次、受信する。
【００３７】
なお、画素データ受信部１０１が、同一行のｘａ列目の画素のデータを、受信した後には、画素データ受信部１０１は、次の行の１列目の画素のデータを受信する。以上の処理が繰り返されることにより、最終的に、画素データ受信部１０１は、ｙａ行ｘａ列目の画素のデータを受信する。
【００３８】
詳細は後述するが、複数の画素データは、固定ビット幅単位で符号化されるとする。固定ビット幅は、画素データを符合化することにより得られるデータ量（ビット）を示す。固定ビット幅は、ｓ（ｓ：自然数）ビットであるとする。詳細は後述するが、画像符号化装置１００は、画素データを符号化した、固定ビット幅（ｓビット）のデータを、固定ビット幅単位で出力する。
【００３９】
以下においては、固定ビット幅（ｓビット）単位で画素データを符号化する際に、最初に処理される各色（例えば、赤、青、緑等）の画素データを、初期画素値データという。たとえば、図４に示される画素Ｐ１のデータは、緑色の初期画素値データである。また、画素Ｐ２のデータは、赤色の初期画素値データである。また、本実施の形態において、画素データ受信部１０１が受信する各画素データは１２ビット長のデジタルデータ（Ｎ＝１２）であるとする。すなわち、画素データ受信部１０１が受信する各画素データは、画素値を１２ビットで表現するとする。
【００４０】
画素データ受信部１０１は、受信した画素データを、内部のバッファに記憶させる。なお、画素データ受信部１０１は、内部のバッファに画素データが記憶されている状態で、新たな画素データを受信した場合、バッファに記憶されている画素データを、予測値算出部１０２へ送信する。また、画素データ受信部１０１は、受信した新たな画素データを、差分算出部１０３へ送信する。また、画素データ受信部１０１は、新たな画素データを内部のバッファに上書き記憶させる。
【００４１】
図１に示されるように、画素データ受信部１０１は、受信した画素データを、適切なタイミングで、予測値算出部１０２および差分算出部１０３へ送信する。以下においては、画素データ受信部１０１が受信したｎ番目の画素データを、単に、ｎ番目の画素データという。
【００４２】
具体的には、画素データ受信部１０１は、ｎ（ｎ：２以上の自然数）番目の画素データを受信すると、ｎ−１番目の画素データを、予測値算出部１０２へ送信するとともに、ｎ番目の画素データを、差分算出部１０３へ送信する。
【００４３】
画素データ受信部１０１は、受信した画素データが初期画素値データである場合（図２：Ｓ１１４でＹＥＳ）、当該入力画素データを、パッキング部１０６へ送信する。
【００４４】
以下においては、符号化の対象となる画素を、符号化対象画素という。また、符号化対象画素の画素値を、符号化対象画素値という。また、符号化対象画素値を示す画素データを、符号化対象画素データという。符号化対象画素データは、前述したｎ番目の画素データである。
【００４５】
予測値算出部１０２が受信する画素データは、以下の第１画素データ、第２画素データおよび第３画素データのいずれかである。
【００４６】
第１画素データは、符号化対象画素データよりも前に画素データ受信部１０１が受信した画素データである。第２画素データは、符号化対象画素データよりも前に画素データ受信部１０１が受信した複数の画素データから演算により算出された値を示す画素データである。第３画素データは、符号化対象画素データよりも前の画素データが画像符号化装置１００により符号化されたデータが、画像復号化装置１１０により復号されることにより得られる画素データである。
【００４７】
予測値算出部１０２は、詳細は後述するが、受信した画素データを用いて符号化対象画素データの予測値を算出する（図２：Ｓ１１５）。
【００４８】
ここで、画素データの符号化方法には、予測符号化方法がある。予測符号化方法とは、符号化対象画素に対する後述する予測値を算出し、符号化対象画素の値と算出した予測値との差分値を量子化する符号化方法である。以下においては、符号化対象画素に対する予測値を、単に、符号化対象画素の予測値という。
【００４９】
符号化対象画素の予測値とは、符号化対象画素の近傍の１以上の画素の値から、符号化対象画素値を予測した値である。これは、符号化対象画素の近傍の画素の値が、符号化対象画素値と同じ値、または、符号化対象画素値に近い値である可能性が高いという特性を利用している。予測符号化方法では、符号化対象画素の予測値を利用することで、算出された差分値をできるだけ小さくして、量子化幅を抑えることができる。
【００５０】
図５は、予測値の算出に用いられる、符号化対象画素の近傍の画素の配置を示す図である。図５に示される“ｘ”は符号化対象画素値を示す。又、図５に示される“ａ”，“ｂ”，“ｃ”は、符号化対象画素の予測値“ｙ”を求めるための近傍の画素の画素値である。以下に、符号化対象画素の予測値を算出する際に一般的に用いられる予測式（１）〜（７）を示す。
ｙ＝ａ                        …（１）
ｙ＝ｂ                        …（２）
ｙ＝ｃ                        …（３）
ｙ＝ａ＋ｂ−ｃ                …（４）
ｙ＝ａ＋（ｂ−ｃ）／２        …（５）
ｙ＝ｂ＋（ａ−ｃ）／２        …（６）
ｙ＝（ａ＋ｂ）／２            …（７）
このように、予測値算出部１０２は、符号化対象画素の近傍の画素の画素値“ａ”，“ｂ”，“ｃ”を用いて、符号化対象画素の予測値“ｙ”を求める。そして、この予測値“ｙ”と符号化対象画素“ｘ”との予測誤差Δ（＝ｙ−ｘ）が算出され、この予測誤差Δが符号化される。
【００５１】
予測値算出部１０２は、入力される画素データから前述した予測式（１）〜（７）のいずれかの予測式を用いて、符号化対象画素の予測値を算出し、算出した予測値を差分算出部１０３へ送信する。
【００５２】
なお、符号化対象画素の予測値を算出する方法は、予測式（１）〜（７）のいずれかを使用した方法に限定されない。たとえば、圧縮処理における内部のメモリバッファが確保できる場合は、符号化対象画素に隣接している画素以外の周辺画素の値もメモリバッファに保持しておき、周辺画素の値を予測に使用することで予測精度を向上することも可能である。
【００５３】
画像符号化装置１００は、さらに、量子化幅設定部１０４と、固定ビット幅設定部１０７と、余剰ビットカウント部１０５とを備える。なお、画像符号化装置１００に含まれる複数の部位の全てまたは一部は、ハードウエアで構成されてもよい。また、画像符号化装置１００に含まれる複数の部位の全てまたは一部は、ＣＰＵ（Central Processing Unit）等により実行されるプログラムのモジュールであってもよい。
【００５４】
差分算出部１０３は、画素データ受信部１０１から送信された符号化対象画素の値と、予測値算出部１０２から送信された予測値との差分値を算出する。以下においては、差分算出部１０３が算出した差分値を、予測差分値という。予測差分値は、符号化対象画素の値から、予測値を減算することにより得られる値である。差分算出部１０３は、算出した予測差分値を、量子化幅設定部１０４へ送信する（図２：Ｓ１１６）。
【００５５】
固定ビット幅設定部１０７は、外部からの指示に応じて、前述した固定ビット幅を設定する。以下においては、固定ビット幅を示す情報を、固定ビット幅情報という。そして、固定ビット幅設定部１０７は、固定ビット幅情報を、パッキング部１０６、量子化幅設定部１０４および余剰ビットカウント部１０５へ送信する。
【００５６】
なお、固定ビット幅設定部１０７は、外部からの指示がなくても、固定ビット幅を設定してもよい。
【００５７】
本実施の形態では、前述したように、固定ビット幅はｓビットであるとする。固定ビット幅は、たとえば、使用される集積回路のデータ転送のバス幅に設定される（図２：Ｓ１１１）。
【００５８】
量子化幅設定部１０４は、差分算出部１０３から送信される、各符号化対象画素に対応する予測差分値に基づき、当該予測差分値の量子化幅Ｑを設定する。量子化幅設定部１０４は、予測差分値と設定した量子化幅Ｑを、量子化処理部１０８に出力する。
【００５９】
以下においては、予測差分値の絶対値を、予測差分絶対値という。また、以下においては、予測差分絶対値を２進数で表現したバイナリデータの桁数を、予測差分バイナリ桁数（単位：ビット）という。また、以下においては、予測差分値を符号付２進数で表現したバイナリデータの桁数を、符号付予測差分バイナリ桁数（単位：ビット）という。
【００６０】
量子化幅Ｑは、符号付予測差分バイナリ桁数から基準ビット幅Ｍを減算することにより算出される値である。なお、当該算出される値が負の値の場合は、量子化幅Ｑの値は“０”とされる。ここで、基準ビット幅Ｍは、一画素を表現するのに使用されるビット量である。
【００６１】
基準ビット幅Ｍは、固定ビット幅設定部１０７から送信された固定ビット幅（ｓビット）に基づいて、以下の式（８）で得られる。なお、算出された基準ビット幅Ｍの値に小数点以下の値がある場合、基準ビット幅Ｍは、小数点以下の値を切り捨てた値となる。
Ｍ＝（ｓ−Ｎ×ｑ）／（Ｐｉｘ−ｑ）−Ｃｏｄｅ      ・・・（８）
式（８）において、ｓは、固定ビット幅を示す。Ｎは、画素データ受信部１０１に入力される画素データのデータ量（単位：ビット）である。ｑは、固定ビット幅（ｓビット）での符号化において、パッキング部１０６が受信する、初期画素値データとしての画素データの数を示す。Ｐｉｘは、符号化後の固定ビット幅（ｓビット）のデータ内に含ませる画素の数を示す。Ｐｉｘの値は、予め設定された値である。
【００６２】
式（８）において、Ｃｏｄｅは、符号化対象画素が量子化されるときの量子化幅Ｑを示す量子化幅情報である。以下においては、Ｃｏｄｅを量子化幅情報Ｃｏｄｅという。量子化幅情報Ｃｏｄｅは１個以上のビットで表現される。たとえば、量子化幅情報Ｃｏｄｅが、３ビットで表現される場合、式（８）におけるＣｏｄｅの値は“３”となる。
【００６３】
量子化幅情報Ｃｏｄｅは、量子化された画素データと共にパッキング部１０６でパッキングされ、パッキングされたデータが出力される（図２：Ｓ１３６）。
【００６４】
このとき、複数の符号化対象画素の各々に対応する予測差分絶対値の最大値（以下、最大画素値差という）から量子化幅Ｑを求め、複数の符号化対象画素に対して同じ量子化幅Ｑで量子化してもよい。これにより、量子化幅情報Ｃｏｄｅに割り振られるビット数を削減することができる。
【００６５】
しかし、一つのＣｏｄｅに対応する符号化対象画素の画素数を増やした場合、特許文献１で示したように前述した最大画素値差を使用するため、画素単位における量子化決定精度が悪くなるというデメリットもある。
【００６６】
余剰ビットカウント部１０５は、余剰ビットの数を示す余剰ビットカウンタを有する。余剰ビットは、予測差分値または予測差分値が量子化された値を基準ビット幅Ｍで表現する場合において、使用されず余ったビットである。
【００６７】
余剰ビットカウンタは、初期状態では“０”を示す。余剰ビットカウント部１０５は、符号化対象画素に対応する符号付予測差分バイナリ桁数が、Ｍ（Ｍ：自然数）ビットより小さい場合、Ｍと符号付予測差分バイナリ桁数との差分値だけ、余剰ビットカウンタが示す値を増加させる（図３：Ｓ１２２）。
【００６８】
一方、符号付予測差分バイナリ桁数が、Ｍビットより大きい場合であって、かつ、余剰ビットカウンタが示す値が正の値である場合、余剰ビットカウント部１０５は、余剰ビットの数を示す情報を量子化幅設定部１０４に送信するとともに、余剰ビットカウンタが示す値を減少させる（図３：Ｓ１２４Ｎ）。
【００６９】
次に、基準ビット幅Ｍが８ビットの場合において、１２ビットの画素データを符号化する場合における、各種データを示すデータテーブルＤＴ１００を示す。
【００７０】
図６は、一例としてのデータテーブルＤＴ１００を示す図である。データテーブルＤＴ１００に示される「予測差分絶対値」は、前述した予測差分値の絶対値である。「予測差分バイナリ桁数」、「符号付予測差分バイナリ桁数」および「量子化幅Ｑ」は、前述したので詳細な説明は繰り返さない。
【００７１】
データテーブルＤＴ１００に示される量子化幅Ｑの値は、基準ビット幅Ｍが８ビットである場合に、符号付予測差分バイナリ桁数から基準ビット幅Ｍを減算することにより算出される値である。なお、当該算出される値が負の値の場合は、量子化幅Ｑの値は“０”とされる。
【００７２】
「余剰ビット数」は、余剰ビットの数を示す。余剰ビット数は、基準ビット幅Ｍから、符号付予測差分バイナリ桁数を減算することにより算出される値である。
【００７３】
ここで、固定ビット幅設定部１０７が設定した固定ビット幅が２５６ビットであるとする。また、画素データ受信部１０１に入力される画素データのデータ量は、１２ビットであるとする。また、固定ビット幅（ｓビット）での符号化において、パッキング部１０６が受信する、初期画素値データとしての画素データの数を“２”とする。符号化後の固定ビット幅（ｓビット）のデータ内に含ませる画素の数を、“２６”とする。また、量子化幅情報Ｃｏｄｅは、１ビットで表現されるとする。
【００７４】
すなわち、式（８）における、ｓ，Ｎ，ｑ，Ｐｉｘ，Ｃｏｄｅの値は、それぞれ、“２５６”，“１２”，“２”，“２６”，“１”であるとする。この場合、前述した式（８）より、Ｍ＝（２５６−１２×２）／（２６−２）−１＝２６／３＝８．７となる。
【００７５】
したがって、符号化後のデータ量を２５６ビット以下にするため、８．７の小数点以下の値を切り捨てることにより、基準ビット幅Ｍは、８となる。すなわち、基本的に、１２ビットの画素データを８ビットの画素データに圧縮することになる。この場合、２５６／１２＝２１．３より、データ圧縮前は２５６ビットのデータで２１個の１２ビットの画素データを示すことができていた。それ対し、データ圧縮後は、２５６ビットのデータで２６個の画素データを示すことができることになる。
【００７６】
図６に示されるように、符号付予測差分バイナリ桁数が基準ビット幅Ｍ“８”より小さい場合（図３：Ｓ１２１でＹＥＳ）、８−符号付予測差分バイナリ桁数により算出される値だけ、余剰ビットカウント部１０５が、余剰ビットカウンタの値を増加させる（図３：Ｓ１２２）。前述したように、余剰ビットカウンタは、余剰ビットの数を示す。なお、符号付予測差分バイナリ桁数が基準ビット幅Ｍ“８”以上の場合は、余剰ビットカウンタの値は増加されない。
【００７７】
量子化処理部１０８は、量子化幅設定部１０４によって設定された量子化幅Ｑにより、符号化対象画素に対応する予測差分値を量子化する量子化処理を行なう。そして、量子化処理部１０８は、量子化処理により得られた値を指定されたビット数で表現したデータ（以下、符号化画素データという）を、パッキング部１０６へ送信する。量子化幅Ｑによる量子化処理とは、符号化対象画素に対応する予測差分値を２のＱ乗で除算する処理である。なお、量子化処理部１０８は、量子化幅Ｑが“０”である場合、量子化は行なわない。この場合、予測差分値を指定されたビット数で表現した画素データ（以下、符号化画素データという）を、パッキング部１０６へ送信する。
【００７８】
パッキング部１０６は、少なくとも１以上の初期画素値データと、複数の符号化画素データと、少なくとも一画素以上に対応する量子化幅情報Ｃｏｄｅを結合させてｓビットのデータにパッキングする（図２：Ｓ１３６）。
【００７９】
以下においては、パッキングにより得られるデータを、パッキングデータという。パッキング部１０６は、ｓビットのパッキングデータをＳＤＲＡＭ等のメモリに記憶させる処理、または、ｓビットのパッキングデータをアンパッキング部１１６に出力する処理を行なう。なお、ｓビットのパッキングデータにおいて、未使用ビットが存在する場合、パッキング部１０６は、未使用ビットを、ダミーデータに置き換える。
【００８０】
図７Ａおよび図７Ｂは、余剰ビットを使用せずに符号化する処理を説明するための図である。
【００８１】
ここで、画素データ受信部１０１は、固定ビット幅（ｓビット）のデータ内に含ませる画素の数（２６）と同じ数の画素データを、順次、受信するとする。また、画素データ受信部１０１が受信する画素データのデータ量は１２ビットであるとする。すなわち、画素データのダイナミックレンジは１２ビットであるとする。ここで、基準ビット幅Ｍは８ビットであるとする。また、量子化幅情報Ｃｏｄｅは３ビットで表現されるとする。
【００８２】
図７Ａには、一例として、画素データ受信部１０１に入力される、２６個の画素データのうちの１１個の画素データが示される。
【００８３】
画素データ受信部１０１には、画素Ｐ１，Ｐ２，・・・，Ｐ１１の順で、各画素に対応する１２ビットの画素データが入力されるとする。画素Ｐ１〜Ｐ１１内に示される数値は、対応する画素データが示す画素値である。なお、画素Ｐ１，Ｐ２にそれぞれ対応する２つの画素データは、それぞれ、緑色および赤色の初期画素値データであるとする。
【００８４】
本実施の形態では、符号化対象画素の予測値は、一例として、予測式（１）により算出されるものとする。この場合、算出される符号化対象画素の予測値は、符号化対象画素の左隣の画素の値となる。すなわち、符号化対象画素の画素値は、一つ前に入力された画素と同一の画素値（レベル）になる可能性が高いと予測していることになる。
【００８５】
予測差分値は、ｎ番目の画素の画素値から、（ｎ−１）番目の画素の画素値を減算することにより得られる値である。
【００８６】
予測差分絶対値は、隣接する２つの画素の値の差分値の絶対値を示す。すなわち、予測差分絶対値は、予測差分値の絶対値である。たとえば、画素Ｐ１，Ｐ２の画素値が、それぞれ、“３００”，“２２０”である場合、画素Ｐ１，Ｐ２の画素値により算出される予測差分絶対値は“８０”となる。
【００８７】
予測差分絶対値が“８０”である場合、“８０”は、基準ビット幅Ｍ（８ビット）で表現可能なので、予測差分絶対値“８０”は量子化されない。すなわち、予測差分絶対値“８０”の量子化幅Ｑは“０”となる（図６参照）。
【００８８】
図７Ａでは、固定ビット幅（ｓビット）単位で符号化対象画素値を符号化する際に、複数の符号化対象画素値のうち、初期画素値データに対応する画素を除いた複数の画素を、隣接する３つの画素単位で、グループ分けされる。
【００８９】
図７Ａの例では、各グループに属する３画素にそれぞれ対応する３つの予測差分絶対値のうちの最大値（以下、最大予測差分絶対値という）を、当該グループに属する３画素の各々に対応する予測差分値を量子化するための量子化幅Ｑを求めるための値としている。また、図７Ａの例では、同一のグループに属する画素値は、同じ量子化幅Ｑで量子化される。
【００９０】
たとえば、グループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５にそれぞれ対応する３つの予測差分絶対値は、それぞれ、“４０”，“２０”，“４０”である。この場合、最大予測差分絶対値は“４０”となる。この場合、最大予測差分絶対値“４０”が図６に示される“３２”〜“６３”の範囲の値に含まれるので、グループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５を量子化するための量子化幅Ｑは“０”となる。
【００９１】
また、グループＧ２に属する画素Ｐ６，Ｐ７，Ｐ８にそれぞれ対応する３つの予測差分絶対値は、それぞれ、“２７０”，“５００”，“６６”である。この場合、最大予測差分絶対値は“５００”となる。この場合、最大予測差分絶対値“５００”が図６に示される“２５６”〜“５１１”の範囲の値に含まれるので、グループＧ２に属する画素Ｐ６，Ｐ７，Ｐ８を量子化するための量子化幅Ｑは“２”となる。すなわち、グループＧ２に属する画素Ｐ６，Ｐ７，Ｐ８に対応する全ての予測差分値は、量子化幅Ｑ“２”で量子化されることになる。
【００９２】
図７Ａに示される「使用ビット数」とは、対応する予測差分値が量子化されることにより得られる値を表現するために使用される画素データのビット数である。
【００９３】
たとえば、画素Ｐ３に対応する量子化幅Ｑは“０”であるので、画素Ｐ３に対応する予測差分値“４０”は、量子化幅Ｑ“０”で量子化される。すなわち、予測差分値“４０”は、２の０乗（＝１）で除算される。当該除算により得られる値は“４０”である。すなわち、予測差分値“４０”は量子化されてないことになる。この処理の例では、除算により得られる値“４０”を表現するために８ビットのデータが使用される。
【００９４】
また、たとえば、画素Ｐ７に対応する量子化幅Ｑは“２”であるので、画素Ｐ７に対応する予測差分値“−５００”は、量子化幅Ｑ“２”で量子化される。すなわち、予測差分値“−５００”は、２の２乗（＝４）で除算される。当該除算により得られる値は“−１２５”である。この処理の例では、除算により得られる値“−１２５”を表現するために８ビットのデータが使用される。
【００９５】
図７Ｂは、図７Ａにおいて説明した処理および演算が行なわれた場合に、画像符号化装置１００から出力される、固定ビット幅（ｓビット）のデータを示す図である。図７Ｂにおいて、画素Ｐ１〜Ｐ２内に示される数値は、対応する画素データのビット数を示す。図７Ｂに示されるように、初期画素値データに対応する画素Ｐ１，Ｐ２の画素値は、１２ビットの画素データで表現される。なお、各グループに含まれる３つの画素データの先頭には、３ビットの量子化幅情報Ｃｏｄｅがパッキング部１０６により付加される。
【００９６】
なお、図７Ｂに示されるように、各グループに含まれる３つの画素の画素値は、８ビットの画素データで表現される。
【００９７】
本実施の形態では、基準ビット幅Ｍが８ビットであり、１２ビットの画素データを符号化する場合および符号化されたデータを復号する場合において、以下のデータテーブルＤＴ１１０を使用するとする。本実施の形態では、量子化幅情報Ｃｏｄｅは、３ビットで表現されるとする。
【００９８】
図８は、一例としてのデータテーブルＤＴ１１０を示す図である。図８に示されるように、データテーブルＤＴ１１０は、図６のデータテーブルＤＴ１００と比較して、「Ｃｏｄｅ」の項目が追加されている点が異なる。それ以外は、データテーブルＤＴ１００と同様なので詳細な説明は繰り返さない。
【００９９】
「Ｃｏｄｅ」の項目には、３ビットの量子化幅情報Ｃｏｄｅにより１０進数の値として“０”〜“７”が表現される。これにより、３ビットの量子化幅情報Ｃｏｄｅは、８つに分類した予測差分絶対値に対応する量子化幅Ｑを示すことが可能となる。具体的には、データテーブルＤＴ１１０に示されるように、３ビットの量子化幅情報Ｃｏｄｅが示す８種類のコード（“０００”、“００１”等）は、８つに分類した予測差分絶対値に対応する量子化幅Ｑに対応付けられる。
【０１００】
たとえば、データテーブルＤＴ１１０では、量子化幅情報Ｃｏｄｅが示すコード“０００”を、予測差分絶対値が“０”〜“３１”の範囲の値に対応づけている。これにより、量子化幅情報Ｃｏｄｅが示すコード“０００”は、量子化幅Ｑ“０”を示すことになる。
【０１０１】
また、たとえば、データテーブルＤＴ１１０では、量子化幅情報Ｃｏｄｅが示すコード“１００”を、予測差分絶対値が“２５６”〜“５１１”の範囲の値に対応づけている。これにより、量子化幅情報Ｃｏｄｅが示すコード“１００”は、量子化幅Ｑ“２”を示すことになる。
【０１０２】
なお、データテーブルＤＴ１１０は、画像符号化装置１００および画像復号化装置１１０の各々に含まれる図示されないメモリ等の記憶装置に予め記憶させておく。すなわち、画像符号化装置１００および画像復号化装置１１０の各々では、同一のデータテーブルを使用して各種処理が行なわれる。
【０１０３】
（画像符号化処理）
次に、本実施の形態における画像符号化処理の詳細な説明を行なう。
【０１０４】
図９Ａおよび図９Ｂは、本実施の形態における、余剰ビットを使用した画像符号化処理を説明するための図である。
【０１０５】
ここで、画素データ受信部１０１は、固定ビット幅（ｓビット）のデータ内に含ませる画素の数（２６）と同じ数の画素データを、順次、受信するとする。また、画素データ受信部１０１が受信する画素データのデータ量は１２ビットであるとする。すなわち、画素データのダイナミックレンジは１２ビットであるとする。ここで、基準ビット幅Ｍは８ビットであるとする。また、量子化幅情報Ｃｏｄｅは３ビットで表現されるとする。
【０１０６】
図９Ａには、一例として、画素データ受信部１０１に入力される、２６個の画素データのうちの１１個の画素データが示される。
【０１０７】
画素データ受信部１０１には、画素Ｐ１，Ｐ２，・・・，Ｐ１１の順で、各画素に対応する１２ビットの画素データが入力されるとする。画素Ｐ１〜Ｐ１１内に示される数値は、対応する画素データが示す画素値である。なお、画素Ｐ１，Ｐ２にそれぞれ対応する２つの画素データは、それぞれ、緑色および赤色の初期画素値データであるとする。
【０１０８】
本実施の形態では、符号化対象画素の予測値は、一例として、予測式（１）により算出されるものとする。この場合、算出される符号化対象画素の予測値は、符号化対象画素の左隣の画素の値となる。すなわち、符号化対象画素の画素値は、一つ前に入力された画素と同一の画素値（レベル）になる可能性が高いと予測していることになる。
【０１０９】
図９Ａに示される「予測差分値」、「予測差分絶対値」、「量子化幅Ｑ」、「使用ビット数」は、図７Ａを使用して説明したので詳細な説明は繰り返さない。
【０１１０】
「余剰ビット数」とは、対応する予測差分値または当該予測差分値が量子化された値を、基準ビット幅Ｍで表現する場合において、使用されず余ったビット（余剰ビット）の数である。
【０１１１】
「累積余剰ビット数」とは、対応する使用ビット数で符号化が行なわれる場合における余剰ビットカウンタが示す値である。
【０１１２】
図９Ａでは、図７Ａと同様に、固定ビット幅（ｓビット）単位で符号化対象画素値を符号化する際に、複数の符号化対象画素値のうち、初期画素値データに対応する画素を除いた複数の画素を、隣接する３つの画素単位で、グループ分けされる。各グループについては、図７Ａを使用して説明したので詳細な説明は繰り返さない。
【０１１３】
ここで、図１の画像符号化装置１００内の量子化幅設定部１０４内には、データを記憶する図示しないメモリが設けられているとする。量子化幅設定部１０４内のメモリには、予め、図８のデータテーブルＤＴ１１０が記憶されているとする。なお、データテーブルＤＴ１１０を記憶するメモリは、量子化幅設定部１０４の外部に設けられていてもよい。
【０１１４】
また、画像符号化装置１００内のパッキング部１０６内には、データを記憶する図示しないメモリが設けられているとする。また、予測値算出部１０２には、データを記憶する図示しないメモリが設けられているとする。
【０１１５】
図２の画像符号化処理では、まず、ステップＳ１１１の処理が行なわれる。
【０１１６】
ステップＳ１１１では、固定ビット幅設定部１０７が、固定ビット幅（ｓビット）を設定する。固定ビット幅は、たとえば、使用される集積回路のデータ転送のバス幅に設定される。そして、固定ビット幅設定部１０７は、固定ビット幅（ｓビット）を示す固定ビット幅情報を、パッキング部１０６、量子化幅設定部１０４および余剰ビットカウント部１０５へ送信する。
【０１１７】
ステップＳ１１２では、量子化幅設定部１０４が、前述したように、式（８）より基準ビット幅Ｍを算出する。ここで、算出された基準ビット幅Ｍは“８”であるとする。量子化幅設定部１０４は、算出した基準ビット幅Ｍを、余剰ビットカウント部１０５へ送信する。
【０１１８】
ステップＳ１１３では、画素データ受信部１０１が画素データを受信する。
【０１１９】
ステップＳ１１４では、画素データ受信部１０１が、受信した画像データが初期画素値データであるか否かを判定する。ステップＳ１１４において、ＹＥＳならば、画素データ受信部１０１は、受信した画素データを内部のバッファに記憶させ、画素データ受信部１０１は、受信した画素データをパッキング部１０６へ送信する。そして、処理は後述するステップＳ１３５に移行する。一方、ステップＳ１１４において、ＮＯならば、後述する処理が行なわれた後、処理はステップＳ１１５に移行する。
【０１２０】
ここで、画素データ受信部１０１は、画素Ｐ１に対応する、初期画素値データとしての画素データを受信したとする。この場合、画素データ受信部１０１は、受信した画素データを内部のバッファに記憶させ、画素データ受信部１０１は、受信した画素データをパッキング部１０６へ送信する。なお、バッファに画素データが記憶されている場合、画素データ受信部１０１は、受信した画素データを内部のバッファに上書き記憶させる。
【０１２１】
パッキング部１０６は、初期画素値データとしての画素データを受信すると、受信した画素データ（初期画素値データ）を、内部のメモリに記憶させる。そして、ステップＳ１３５の処理が行なわれる。
【０１２２】
ステップＳ１３５では、パッキング部１０６が、受信した画素データの数が、所定値Ｐｉｘと等しいか否かを判定する。受信した画素データは、初期画素値データまたは符号化対象画素データである。Ｐｉｘは、前述したように、ｓビットの符号化データ（パッキングデータ）に含ませる画素の数を示す。Ｐｉｘの値は、一例として、“２６”であるとする。
【０１２３】
ステップＳ１３５において、ＹＥＳならば、受信した画素データの数が“０”とされる。なお、その後、たとえば、パッキング部１０６が１つの画素データを受信すると、受信した画素データの数は“１”となる。そして、処理はステップＳ１３６に移行する。
【０１２４】
一方、ステップＳ１３５において、ＮＯならば、再度、ステップＳ１１３の処理が行なわれる。ここでは、受信した画素データの数が、所定値Ｐｉｘと等しくないとして、再度、ステップＳ１１３の処理が行なわれる。
【０１２５】
次に、画素データ受信部１０１は、画素Ｐ２に対応する、初期画素値データとしての画素データを受信したとする（Ｓ１１３）。
【０１２６】
この場合、ステップＳ１１４でＹＥＳと判定され、画素データ受信部１０１は、受信した画素データを内部のバッファに上書き記憶させ、画素データ受信部１０１は、受信した画素データをパッキング部１０６へ送信する。
【０１２７】
そして、前述したステップＳ１３５の処理が行なわれ、再度、ステップＳ１１３の処理が行なわれる。
【０１２８】
ここで、画素Ｐ３が符号化対象画素であるとする。この場合、画素データ受信部１０１は、画素Ｐ３に対応する画素データ（符号化対象画素データ）を受信したとする。符号化対象画素データが示す画素値は“２６０”であるとする。この場合、受信した画素データは初期画素値データでないので（Ｓ１１４でＮＯ）、画素データ受信部１０１は、受信した画素データを差分算出部１０３へ送信する。
【０１２９】
以下においては、初期画素値データに対応する画素でない符号化対象画素が属するグループを、処理対象グループという。たとえば、符号化対象画素が画素Ｐ３である場合、画素Ｐ３が属するグループＧ１は、処理対象グループとなる。
【０１３０】
また、ステップＳ１１４でＮＯと判定された場合、画素データ受信部１０１は内部のバッファに記憶されている画素データを予測値算出部１０２へ送信する。ここで、送信される画素データは、画素Ｐ２の画素値“２２０”を示すとする。予測値算出部１０２は、画素データを受信する毎に、受信した画素データを内部のメモリに記憶させる。
【０１３１】
また、画素データ受信部１０１は、受信した画素データを内部のバッファに上書き記憶させる。また、画素データ受信部１０１は、受信した画素データ（符号化対象画素データ）を、差分算出部１０３へ送信する。そして、処理は、ステップＳ１１５に移行する。
【０１３２】
ステップＳ１１５では、予測値算出部１０２が、符号化対象画素の予測値を算出する。具体的には、予測値算出部１０２は、予測式（１）を使用して、予測値を算出する。この場合、受信した画素データが示す画素値（“２２０”）が予測値として算出される。予測値算出部１０２は、算出した予測値“２２０”を、差分算出部１０３へ送信する。
【０１３３】
また、ｈ番目の符号化対象画素の予測値を算出する際に、（ｈ−１）番目の画素データが初期画素値データである場合、（ｈ−１）番目の画素データが示す値を予測値とし、（ｈ−１）番目の画素データが初期画素値データでない場合は、画像符号化装置１００により符号化されたデータを、画像復号化装置１１０に入力させ復号化することにより得られる画素データが示す画素値を、符号化対象画素の予測値とする。これにより、量子化処理部１０８における量子化処理により誤差が生じるような場合でも、画像符号化装置１００と画像復号化装置１１０において予測値を一致させることが可能となる。
【０１３４】
ステップＳ１１６では、予測差分値が算出される。具体的には、差分算出部１０３が、受信した符号化対象画素データが示す画素値（“２６０”）から、受信した予測値“２２０”を減算することにより、予測差分値“４０”を算出する。また、差分算出部１０３は、算出した予測差分値“４０”を量子化幅設定部１０４へ送信する。
【０１３５】
以下においては、処理対象グループに属する３つの画素の各々に対応する予測差分値を、処理対象予測差分値という。たとえば、処理対象グループがグループＧ１である場合、グループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５の各々に対応する予測差分値は、処理対象予測差分値である。
【０１３６】
量子化幅設定部１０４は、差分値カウンタを有する。差分値カウンタは、予測差分値を受信した数を示すカウンタである。差分値カウンタの初期値は“０”である。量子化幅設定部１０４は、予測差分値を受信する毎に、受信した予測差分値を内部のメモリに記憶させ、かつ、差分値カウンタが示す値を“１”増加させる。
【０１３７】
ステップＳ１１７では、量子化幅設定部１０４が、予測差分値を３つ受信したか否かを判定する。すなわち、量子化幅設定部１０４は、差分値カウンタが示す値が“３”であるか否かを判定する。ステップＳ１１７において、ＹＥＳならば、量子化幅設定部１０４は差分値カウンタの値を“０”に設定し、処理はステップＳ１１８に移行する。一方、ステップＳ１１７において、ＮＯならば、再度、ステップＳ１１３の処理が行なわれる。ここでは、差分値カウンタが示す値は“１”であるとして、再度、ステップＳ１１３の処理が行なわれる。
【０１３８】
そして、前述した、ステップＳ１１３〜Ｓ１１６の処理が２回行なわれることにより、量子化幅設定部１０４は、３つの予測差分値を受信したことになる。量子化幅設定部１０４が受信した３つの予測差分値は、グループに属する３画素にそれぞれ対応する３つの予測差分値である。この場合、内部のメモリに、３つの予測差分値が記憶されていることになる。量子化幅設定部１０４は、３つの予測差分値を受信すると（Ｓ１１７でＹＥＳ）、差分値カウンタの値を“０”に設定する。
【０１３９】
ステップＳ１１８では、量子化幅設定処理が行なわれる。量子化幅設定処理では、量子化幅設定部１０４が、内部のメモリに記憶されている３つの予測差分値の各々を符号付２進数で表現したバイナリデータの桁数（符号付予測差分バイナリ桁数）を算出する。ここで、３つの予測差分値は、図９ＡのグループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５にそれぞれ対応する３つの予測差分値“４０”，“２０”，“４０”であるとする。この場合、算出される３つの符号付予測差分バイナリ桁数は、それぞれ、“７”，“７”，“７”である。
【０１４０】
また、量子化幅設定部１０４は、３つの予測差分値の絶対値（予測差分絶対値）を算出する。ここで、３つの予測差分値は、それぞれ、“４０”，“２０”，“４０”であるとする。この場合、算出される３つの予測差分絶対値は、それぞれ、“４０”，“２０”，“４０”である。
【０１４１】
そして、量子化幅設定部１０４は、３つの予測差分絶対値のうちの最大値（以下、最大予測差分絶対値という）を算出する。この場合、最大予測差分絶対値は“４０”となる。
【０１４２】
そして、量子化幅設定部１０４は、内部のメモリに記憶されている図８のデータテーブルＤＴ１１０と、最大予測差分絶対値（例えば“４０”）とを使用して、量子化幅Ｑを設定する。
【０１４３】
最大予測差分絶対値が“４０”である場合、最大予測差分絶対値“４０”は、データテーブルＤＴ１１０に示される“３２”〜“６３”の範囲の値に含まれるので、量子化幅Ｑは“０”に設定される。設定された量子化幅Ｑは、処理対象グループに属する３つの画素に対応するように設定される。この場合、処理対象グループ（例えば、グループＧ１）に属する３つの画素（例えば、画素Ｐ３，Ｐ４，Ｐ５）にそれぞれ対応する３つの量子化幅Ｑが全て“０”に設定される。
【０１４４】
また、量子化幅設定部１０４は、量子化幅情報Ｃｏｄｅを、パッキング部１０６へ送信する。この場合、最大予測差分絶対値“４０”は、データテーブルＤＴ１１０に示される“３２”〜“６３”の範囲の値に含まれるので、量子化幅情報Ｃｏｄｅはコード“００１”を示す情報とされる。
【０１４５】
なお、パッキング部１０６は、量子化幅情報Ｃｏｄｅを受信すると、受信した量子化幅情報Ｃｏｄｅを、内部のメモリに記憶させる。
【０１４６】
ステップＳ１１９では、量子化幅設定部１０４が、処理対象グループ（例えば、グループＧ１）に属する３つの画素にそれぞれ対応する３つの符号付予測差分バイナリ桁数のうち、最大の符号付予測差分バイナリ桁数を、余剰ビットカウント部１０５へ送信する。
【０１４７】
ステップＳ１２０では、余剰ビットカウンタ更新処理が行なわれる。
【０１４８】
図３に示されるように、余剰ビットカウンタ更新処理では、まず、ステップＳ１２１の処理が行なわれる。
【０１４９】
ステップＳ１２１では、余剰ビットカウント部１０５が、受信した符号付予測差分バイナリ桁数が、基準ビット幅Ｍより小さいか否かを判定する。ステップＳ１２１において、ＹＥＳならば、処理はステップＳ１２２に移行する。一方、ステップＳ１２１において、ＮＯならば、処理は後述するステップＳ１２３に移行する。ここで、受信した符号付予測差分バイナリ桁数が“７”であり、基準ビット幅Ｍが、８ビットであるとする。この場合、ＹＥＳと判定され、ステップＳ１２２の処理が行なわれる。
【０１５０】
ステップＳ１２２では、カウンタ値増加処理が行なわれる。カウンタ値増加処理では、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値を、基準ビット幅Ｍ（例えば“８”）から、受信した符号付予測差分バイナリ桁数（例えば“７”）減算することにより得られた値（例えば“１”）だけ増加させる。この処理により、余剰ビットカウンタは“１”を示すとする。
【０１５１】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２の画像符号化処理に戻り、処理はステップＳ１３０に移行する。
【０１５２】
ステップＳ１３０では、データ送信処理が行なわれる。データ送信処理では、量子化幅設定部１０４が、処理対象グループ（例えば、グループＧ１）に属するｐ番目の画素に対応する量子化幅Ｑと、処理対象グループ（例えば、グループＧ１）に属するｐ番目の画素に対応する予測差分値とを、量子化処理部１０８へ送信する。なお、ｐの初期値は“１”である。たとえば、処理対象グループが、グループＧ１である場合、グループＧ１に属する画素Ｐ３，Ｐ４，Ｐ５は、それぞれ、１，２，３番目の画素である。
【０１５３】
ステップＳ１３１では、量子化幅設定部１０４が、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑが“０”であるか否かを判定する。ステップＳ１３１において、ＹＥＳならば、処理は、ステップＳ１３３に移行する。一方、ステップＳ１３１において、ＮＯならば、処理は後述するステップＳ１３２に移行する。
【０１５４】
ここでは、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑが“０”であるとして、処理はステップＳ１３３に移行する。
【０１５５】
ステップＳ１３３では、符号化処理が行なわれる。符号化処理では、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“０”であり、かつ、量子化処理部１０８が後述するカウンタ減少値情報を受信してない場合、以下の処理ＮＡが行なわれる。
【０１５６】
処理ＮＡでは、量子化処理部１０８が、量子化幅設定部１０４から受信した予測差分値を、当該予測差分値に対応する符号付予測差分バイナリ桁数のビットで表現したデータ（以下、符号化画素データという）を生成する。そして、量子化処理部１０８は、生成した符号化画素データを、パッキング部１０６へ送信する。
【０１５７】
ここで、受信した量子化幅Ｑが“０”であるとする。また、受信した予測差分値は、“４０”であるとする。また、予測差分値“４０”に対応する符号付予測差分バイナリ桁数は“７”であるとする。
【０１５８】
この場合、量子化処理部１０８は、予測差分値“４０”を、“７”ビットで表現した符号化画素データを生成する。すなわち、符号化画素データを生成するために使用されたビット数は、図９Ａに示されるように、“７”となる。この場合、基準ビット幅Ｍが８ビットであるとすると、１つの余剰ビットが生じることになる。
【０１５９】
そして、生成された符号化画素データが、パッキング部１０６へ送信される。なお、パッキング部１０６は、受信した符号化画素データを、内部のメモリに記憶させる。
【０１６０】
また、符号化処理では、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“０”であり、かつ、量子化処理部１０８が後述するカウンタ減少値情報を受信した場合、後述する処理ＮＢが行なわれる。
【０１６１】
また、符号化処理では、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“１”以上であり、かつ、量子化処理部１０８が後述するカウンタ減少値情報を受信した場合、後述する処理ＮＣが行なわれる。
【０１６２】
ステップＳ１３４では、量子化幅設定部１０４が、処理対象グループに対応する算出した全て（３つ）の符号付予測差分バイナリ桁数を、余剰ビットカウント部１０５へ送信したか否かを判定する。ステップＳ１３４において、ＹＥＳならば、量子化幅設定部１０４は、ｐの値を“１”に設定し、処理は、ステップＳ１３５に移行する。一方、ステップＳ１３４において、ＮＯならば、量子化幅設定部１０４が、ｐの値を“１”増加させる。そして、再度、ステップＳ１１９の処理が行なわれる。
【０１６３】
ここでは、ＮＯであるとして、再度、前述したステップＳ１１９の処理が行なわれる。この処理により、画素Ｐ４に対応する符号付予測差分バイナリ桁数“７”が、余剰ビットカウント部１０５へ送信されるとする。
【０１６４】
そして、再度、図３のステップＳ１２１，Ｓ１２２の処理が行なわれることにより、余剰ビットカウンタの示す値は“２”となったとする。
【０１６５】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２のステップＳ１３０の処理が行なわれる。この処理により、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑと、処理対象グループに属する２番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０１６６】
そして、前述したステップＳ１３１，Ｓ１３３の処理が行なわれる。この処理により、“７”ビットで表現した符号化画素データが、パッキング部１０６へ送信される。なお、パッキング部１０６は、受信した符号化画素データを、内部のメモリに記憶させる。
【０１６７】
そして、ステップＳ１３４でＮＯと判定され、量子化幅設定部１０４が、ｐの値を“１”増加させる。そして、再度、ステップＳ１１９の処理が行なわれる。この処理により、画素Ｐ５に対応する符号付予測差分バイナリ桁数“７”が、余剰ビットカウント部１０５へ送信されるとする。
【０１６８】
そして、再度、図３のステップＳ１２１，Ｓ１２２の処理が行なわれることにより、余剰ビットカウンタの示す値は“３”となったとする。
【０１６９】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２のステップＳ１３０の処理が行なわれる。この処理により、処理対象グループに属する３番目の画素に対応する量子化幅Ｑと、処理対象グループに属する３番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０１７０】
そして、前述したステップＳ１３１，Ｓ１３３の処理が行なわれる。この処理により、“７”ビットで表現した符号化画素データが、パッキング部１０６へ送信される。なお、パッキング部１０６は、受信した符号化画素データを、内部のメモリに記憶させる。
【０１７１】
そして、ステップＳ１３４で、ＹＥＳと判定され、量子化幅設定部１０４は、ｐの値を“１”に設定し、ステップＳ１３５の処理が行なわれる。
【０１７２】
ステップＳ１３５では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、ここでは、受信した画素データの数が、所定値Ｐｉｘと等しくないとして、再度、ステップＳ１１３の処理が行なわれる。
【０１７３】
なお、この時点で、パッキング部１０６は、図９Ｂに示されるように、画素Ｐ１，Ｐ２の各々に対応する初期画素値データ（１２ビット）、量子化幅情報Ｃｏｄｅ（３ビット）、画素Ｐ３，Ｐ４，Ｐ５の各々に対応する符号化画素データ（７ビット）を受信しているとする。この場合、パッキング部１０６内のメモリには、図９Ｂに示される、画素Ｐ１に対応する初期画素値データから画素Ｐ５に対応する符号化画素データまでが、図９Ｂに示されように連続して記憶されている。
【０１７４】
次に、画素データ受信部１０１が、図９Ａに示される、画素値“５９０”を有する画素Ｐ６に対応する画素データを受信したとする。
【０１７５】
この場合、ステップＳ１１４でＮＯと判定され、前述したのと同様に、ステップＳ１１５，Ｓ１１６の処理が行なわれる。
【０１７６】
前述したステップＳ１１５，Ｓ１１６の処理により、予測差分値“２７０”が算出される。また、差分算出部１０３は、算出した予測差分値“２７０”を量子化幅設定部１０４へ送信する。
【０１７７】
ステップＳ１１７では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、差分値カウンタが示す値は“１”であるとして、再度、ステップＳ１１３の処理が行なわれる。再度、ステップＳ１１３の処理が行なわれる。
【０１７８】
そして、前述した、ステップＳ１１３〜Ｓ１１６の処理が２回行なわれることにより、量子化幅設定部１０４は、図９Ａに示される、３つの予測差分値“２７０”，“−５００”，“−６６”を受信したとする。量子化幅設定部１０４は、３つの予測差分値を受信すると（Ｓ１１７でＹＥＳ）、差分値カウンタの値を“０”に設定する。
【０１７９】
ステップＳ１１８では、前述したのと同様に量子化幅設定処理が行なわれるので詳細な説明は繰り返さない。ここで、３つの予測差分値は、図９ＡのグループＧ２に属する画素Ｐ６，Ｐ７，Ｐ８にそれぞれ対応する３つの予測差分値“２７０”，“−５００”，“−６６”であるとする。この場合、算出される３つの符号付予測差分バイナリ桁数は、それぞれ、“１０”，“１０”，“８”である。この場合、算出された３つの符号付予測差分バイナリ桁数“１０”，“１０”，“８”は、それぞれ、画素Ｐ６，Ｐ７，Ｐ８に対応する。
【０１８０】
また、量子化幅設定部１０４は、前述したのと同様に、３つの予測差分絶対値“２７０”，“５００”，“６６”を算出する。この場合、最大予測差分絶対値は“５００”となる。
【０１８１】
そして、量子化幅設定部１０４は、内部のメモリに記憶されている図８のデータテーブルＤＴ１１０と、最大予測差分絶対値“５００”とを使用して、量子化幅Ｑを設定する。
【０１８２】
最大予測差分絶対値が“５００”である場合、最大予測差分絶対値“５００”は、データテーブルＤＴ１１０に示される“２５６”〜“５１１”の範囲の値に含まれるので、量子化幅Ｑは“２”に設定される。設定された量子化幅Ｑ“２”は、処理対象グループ（グループＧ２）に属する３つの画素に対応するように設定される。
【０１８３】
また、量子化幅設定部１０４は、量子化幅情報Ｃｏｄｅを、パッキング部１０６へ送信する。この場合、最大予測差分絶対値“５００”は、データテーブルＤＴ１１０に示される“２５６”〜“５１１”の範囲の値に含まれるので、量子化幅情報Ｃｏｄｅはコード“１００”を示す情報とされる。
【０１８４】
なお、パッキング部１０６は、量子化幅情報Ｃｏｄｅを受信すると、受信した量子化幅情報Ｃｏｄｅを、内部のメモリに記憶させる。
【０１８５】
そして、前述したステップＳ１１９の処理が行なわれる。この処理により、処理対象グループ（グループＧ２）に属する３つの画素にそれぞれ対応する３つの符号付予測差分バイナリ桁数のうち、最大の符号付予測差分バイナリ桁数“１０”が、余剰ビットカウント部１０５へ送信されるとする。
【０１８６】
そして、ステップＳ１２０の余剰ビットカウンタ更新処理が行なわれる。
【０１８７】
ステップＳ１２１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、受信した符号付予測差分バイナリ桁数が“１０”であり、基準ビット幅Ｍが、８ビットであるとする。この場合、ステップＳ１２１において、ＮＯと判定され、処理はステップＳ１２３に移行する。
【０１８８】
ステップＳ１２３では、余剰ビットカウント部１０５が、受信した符号付予測差分バイナリ桁数が基準ビット幅Ｍより大きいという条件、および、余剰ビットカウンタの値が“０”より大きいという条件を満たすか否かを判定する。ステップＳ１２３において、ＹＥＳならば、処理はステップＳ１２４に移行する。
【０１８９】
ここで、受信した符号付予測差分バイナリ桁数（“１０”）が基準ビット幅Ｍ“８”より大きいとする。また、前述した処理により、余剰ビットカウンタは“３”を示すとする。この場合、ステップＳ１２３において、ＹＥＳと判定され、処理はステップＳ１２４に移行する。
【０１９０】
ステップＳ１２４では、余剰ビットカウント部１０５が、余剰ビットカウンタの値が、処理対象グループ（例えば、グループＧ２）に属するｐ番目の画素に対応する量子化幅Ｑより大きいか否かを判定する。ステップＳ１２４において、ＹＥＳならば、処理はステップＳ１２４Ｎに移行する。一方、ステップＳ１２４において、ＮＯならば、処理は後述するステップＳ１２５に移行する。
【０１９１】
ここで、余剰ビットカウンタが“３”を示すとする。また、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑは“２”に設定されているとする。この場合、ステップＳ１２４において、ＹＥＳと判定され、処理はステップＳ１２４Ｎに移行する。
【０１９２】
ステップＳ１２４Ｎでは、カウンタ値減少処理が行なわれる。カウンタ値減少処理では、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値（例えば“３”）を、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑの値（例えば“２”）だけ減少させる。
【０１９３】
また、余剰ビットカウント部１０５は、カウンタ減少値情報を、量子化幅設定部１０４へ送信する。カウンタ減少値情報は、余剰ビットカウンタの値を減少させた値（たとえば、“２”）を示す情報である。この場合、カウンタ減少値情報は、後述の処理で使用可能な余剰ビットの数を示す。
【０１９４】
量子化幅設定部１０４は、カウンタ減少値情報を受信すると、受信したカウンタ減少値情報を、量子化処理部１０８へ送信する。
【０１９５】
ステップＳ１２４ＮＡでは、量子化幅零設定処理が行なわれる。量子化幅零設定処理では、余剰ビットカウント部１０５が、量子化幅零変更指示を、量子化幅設定部１０４へ送信する。量子化幅零変更指示は、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑを“０”に設定するための指示である。
【０１９６】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２の画像符号化処理に戻り、処理はステップＳ１３０に移行する。
【０１９７】
量子化幅設定部１０４は、量子化幅零変更指示を受信すると、量子化幅零変更指示により指定される画素（例えば画素Ｐ６）に対応する量子化幅Ｑの値（例えば“２”）を“０”に変更する。
【０１９８】
ステップＳ１３０では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。この処理により、処理対象グループに属する１番目の画素に対応する量子化幅Ｑ“０”と、処理対象グループに属する１番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０１９９】
ステップＳ１３１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑの値が“０”であるとして、処理はステップＳ１３３に移行する。
【０２００】
ステップＳ１３３では、前述した符号化処理が行なわれる。ここで、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“０”であり、かつ、量子化処理部１０８がカウンタ減少値情報を受信したとする。この場合、符号化処理において、以下の処理ＮＢが行なわれる。
【０２０１】
処理ＮＢでは、量子化処理部１０８が、量子化幅設定部１０４から受信した予測差分値を、（基準ビット幅Ｍ＋カウンタ減少値情報が示す値）ビットで表現したデータ（以下、符号化画素データという）を生成する。
【０２０２】
そして、量子化処理部１０８は、生成した符号化画素データを、パッキング部１０６へ送信する。
【０２０３】
ここで、受信した予測差分値は“２７０”であるとする。基準ビット幅Ｍは８ビットであるとする。また、カウンタ減少値情報が示す値は“２”であるとする。この場合、量子化処理部１０８は、予測差分値“２７０”を、“１０”ビットで表現した符号化画素データを生成する。すなわち、符号化画素データを生成するために使用されたビット数は、図９Ａに示されるように、“１０”となる。
【０２０４】
前述したように、カウンタ減少値情報が示す値は、使用可能な余剰ビットの数である。したがって、カウンタ減少値情報が示す値が“２”である場合、生成される符号化画素データは、２つの余剰ビットを使用して生成されるデータである。
【０２０５】
そして、ステップＳ１３４でＮＯと判定され、量子化幅設定部１０４が、ｐの値を“１”増加させる。そして、再度、ステップＳ１１９の処理が行なわれる。この処理により、画素Ｐ７に対応する符号付予測差分バイナリ桁数“１０”が、余剰ビットカウント部１０５へ送信されるとする。
【０２０６】
そして、ステップＳ１２０の余剰ビットカウンタ更新処理が行なわれる。
【０２０７】
ステップＳ１２１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、受信した符号付予測差分バイナリ桁数が“１０”であり、基準ビット幅Ｍが８ビットであるとする。この場合、ステップＳ１２１において、ＮＯと判定され、処理はステップＳ１２３に移行する。
【０２０８】
ステップＳ１２３では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、受信した符号付予測差分バイナリ桁数（“１０”）が基準ビット幅Ｍ“８”より大きいとする。また、余剰ビットカウンタは“１”を示すとする。この場合、ステップＳ１２３において、ＹＥＳと判定され、処理はステップＳ１２４に移行する。
【０２０９】
ステップＳ１２４では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、余剰ビットカウンタが“１”を示すとする。また、処理対象グループ（例えば、グループＧ２）に属するｐ（２）番目の画素に対応する量子化幅Ｑは“２”に設定されているとする。この場合、ステップＳ１２４でＮＯと判定され、処理はステップＳ１２５に移行する。
【０２１０】
ステップＳ１２５では、量子化幅変更処理Ｎが行なわれる。量子化幅変更処理Ｎでは、余剰ビットカウント部１０５が、量子化幅変更指示Ｎを、量子化幅設定部１０４へ送信する。量子化幅変更指示Ｎは、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑ（例えば“２”）を、余剰ビットカウンタの値（例えば“１”）だけ減算した値に変更するための指示である。
【０２１１】
量子化幅設定部１０４は、量子化幅変更指示Ｎを受信すると、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑ（例えば“２”）を、余剰ビットカウンタの値（例えば“１”）だけ減算した値（例えば“１”）に変更する。
【０２１２】
ステップＳ１２５Ｎでは、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値を、“０”に設定する。
【０２１３】
また、余剰ビットカウント部１０５は、カウンタ減少値情報を、量子化幅設定部１０４へ送信する。カウンタ減少値情報は、余剰ビットカウンタの値を減少させた値（たとえば、“１”）を示す情報である。この場合、カウンタ減少値情報は、後述の処理で使用可能な余剰ビットの数を示す。
【０２１４】
量子化幅設定部１０４は、カウンタ減少値情報を受信すると、受信したカウンタ減少値情報を、量子化処理部１０８へ送信する。
【０２１５】
そして、この余剰ビットカウンタ更新処理は終了し、再度、図２の画像符号化処理に戻り、処理はステップＳ１３０に移行する。
【０２１６】
ステップＳ１３０では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。この処理により、処理対象グループに属する２番目の画素に対応する量子化幅Ｑ“１”と、処理対象グループに属する２番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０２１７】
ステップＳ１３１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、処理対象グループに属する２番目の画素に対応する量子化幅Ｑの値が“１”であるとして、処理はステップＳ１３２に移行する。
【０２１８】
以下においては、１以上の値を示す量子化幅Ｑを、非零量子化幅Ｑという。
【０２１９】
ステップＳ１３２では、量子化処理が行なわれる。量子化処理では、量子化処理部１０８が、処理対象グループに属するｐ番目の画素に対応する非零量子化幅Ｑに対応する予測差分値を、２のＱ乗で除算することにより量子化する。以下においては、量子化により得られた値を、量子化済値という。
【０２２０】
ここで、処理対象グループに属するｐ番目の画素は、画素Ｐ７であるとする。また、画素Ｐ７に対応する予測差分値“−５００”に対応する量子化幅Ｑが“１”を示すとする。この場合、量子化処理部１０８は、予測差分値“−５００”を、２の１乗（２）により除算することにより量子化済値“−２５０”を得る。
【０２２１】
ステップＳ１３３では、前述した符号化処理が行なわれる。ここで、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“１”であり、かつ、量子化処理部１０８がカウンタ減少値情報を受信したとする。この場合、符号化処理において、以下の処理ＮＣが行なわれる。
【０２２２】
処理ＮＣでは、量子化処理部１０８が、量子化済値を、（基準ビット幅Ｍ＋カウンタ減少値情報が示す値）ビットで表現したデータ（以下、符号化画素データという）を生成する。前述したように、カウンタ減少値情報が示す値は、使用可能な余剰ビットの数である。したがって、この処理により、生成される符号化画素データは、余剰ビットを使用して生成されるデータである。
【０２２３】
そして、量子化処理部１０８は、生成した符号化画素データを、パッキング部１０６へ送信する。
【０２２４】
ここで、量子化済値は“−２５０”であるとする。基準ビット幅Ｍは８ビットであるとする。また、カウンタ減少値情報が示す値は“１”を示すとする。この場合、量子化処理部１０８は、量子化済値“−２５０”を、“９”ビットで表現した符号化画素データを生成する。すなわち、生成された符号化画素データで、使用されたビット数は、図９Ａに示されるように、“９”となる。
【０２２５】
そして、ステップＳ１３４でＮＯと判定され、量子化幅設定部１０４が、ｐの値を“１”増加させる。そして、再度、ステップＳ１１９の処理が行なわれる。この処理により、符号付予測差分バイナリ桁数“１０”が、余剰ビットカウント部１０５へ送信されるとする。
【０２２６】
そして、ステップＳ１２０の余剰ビットカウンタ更新処理が行なわれる。
【０２２７】
ステップＳ１２１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここで、受信した符号付予測差分バイナリ桁数が“１０”であり、基準ビット幅Ｍが８ビットであるとする。この場合、ステップＳ１２１においてＮＯと判定され、ステップＳ１２３でＮＯと判定され、そして、この余剰ビットカウンタ更新処理は終了し、再度、図２の画像符号化処理に戻り、処理はステップＳ１３０に移行する。
【０２２８】
ステップＳ１３０では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。この処理により、処理対象グループに属する３番目の画素に対応する量子化幅Ｑ“２”と、処理対象グループに属する３番目の画素に対応する予測差分値とが、量子化処理部１０８へ送信されるとする。
【０２２９】
ステップＳ１３１では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、処理対象グループに属するｐ番目の画素に対応する量子化幅Ｑの値が“２”であるとして、処理はステップＳ１３２に移行する。
【０２３０】
ステップＳ１３２では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。
【０２３１】
ここで、処理対象グループに属するｐ番目の画素は、画素Ｐ８であるとする。また、画素Ｐ８に対応する予測差分値“−６６”に対応する量子化幅Ｑが“２”を示すとする。この場合、量子化処理部１０８は、予測差分値“−６６”を、２の２乗（４）により除算することにより量子化済値“−１６”を得る。
【０２３２】
ステップＳ１３３では、前述した符号化処理が行なわれる。ここで、量子化処理部１０８が、量子化幅設定部１０４から受信した量子化幅Ｑが“２”であり、かつ、量子化処理部１０８がカウンタ減少値情報を受信してないとする。この場合、量子化処理部１０８が、量子化済値を、基準ビット幅Ｍビットで表現したデータ（以下、符号化画素データという）を生成する。
【０２３３】
そして、量子化処理部１０８は、生成した符号化画素データを、パッキング部１０６へ送信する。
【０２３４】
この場合、量子化処理部１０８は、予測差分値“−１６”を、“８”ビットで表現した符号化画素データを生成する。すなわち、生成された符号化画素データで、使用されたビット数は、図９Ａに示されるように、“８”となる。
【０２３５】
そして、生成された符号化画素データが、パッキング部１０６へ送信される。なお、パッキング部１０６は、受信した符号化画素データを、内部のメモリに記憶させる。
【０２３６】
そして、ステップＳ１３４で、ＹＥＳと判定され、量子化幅設定部１０４は、ｐの値を“１”に設定し、ステップＳ１３５の処理が行なわれる。
【０２３７】
ステップＳ１３５では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、ここでは、受信した画素データの数が、所定値Ｐｉｘと等しくないとして、再度、ステップＳ１１３の処理が行なわれる。
【０２３８】
なお、この時点で、パッキング部１０６内のメモリには、図９Ｂに示される、画素Ｐ１に対応する初期画素値データから画素Ｐ８に対応する符号化画素データまでが、図９Ｂに示されように連続して記憶されている。
【０２３９】
そして、ステップＳ１３５でＹＥＳと判定されるまで、ステップＳ１１３〜Ｓ１３４の処理の少なくとも一部が繰り返し行なわれる。
【０２４０】
ステップＳ１３５でＹＥＳと判定されると、処理はステップＳ１３６に移行する。
【０２４１】
ステップＳ１３６ではパッキング処理が行なわれる。パッキング処理では、パッキング部１０６が、内部のメモリに記憶されている複数のデータ（例えば、図９Ｂに示される複数のデータ）を含む、固定ビット幅（ｓビット）のデータ（符号化データ）を生成する。すなわち、パッキング部１０６は、所定符号量の符号化データを生成する。なお、ｓビットの符号化データにおいて、未使用ビットが存在する場合、パッキング部１０６は、未使用ビットを、ダミーデータに置き換える。
【０２４２】
生成された符号化データには、たとえば、図９Ｂに示されるように、１つ以上の初期画素値データと、Ｐｉｘ個の符号化画素データと、複数の量子化幅情報Ｃｏｄｅ（３ビット）とが含まれる。Ｐｉｘは、前述したので詳細な説明は繰り返さない。
【０２４３】
また、パッキング部１０６は、生成した固定ビット幅（ｓビット）の符号化データを、図示されない外部メモリに記憶させる。なお、ステップＳ１３６の処理が繰り返される毎に、パッキング部１０６は、すでに外部メモリに記憶されている符号化データと連続するように、生成した符号化データをメモリに記憶させる。
【０２４４】
ステップＳ１３７では、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値を“０”に設定する。
【０２４５】
ステップＳ１３８では、パッキング部１０６が、処理の対象となる画像（ピクチャ）全体に対し、符号化の処理が終了したか否かを判定する。ステップＳ１３８において、ＹＥＳならば、この画像符号化処理は終了する。一方、ステップＳ１３８において、ＮＯならば、再度、ステップＳ１１３の処理が行なわれる。
【０２４６】
そして、ステップＳ１３８でＹＥＳと判定されるまで、ステップＳ１１３〜Ｓ１３７の処理の少なくとも一部が繰り返し行なわれることにより、外部メモリに複数の固定ビット幅（ｓビット）の符号化データが連続して記憶される。この場合、外部メモリに記憶された複数の符号化データは、画像を復元するためのデータである。
【０２４７】
以上の処理により、本実施の形態では、図７Ａおよび図７Ｂで説明した余剰ビットを使用せずに符号化する処理（以下、余剰ビット不使用処理という）と比較して、以下の利点を得られる。
【０２４８】
図７Ａおよび図９Ａに示されるように、たとえば、画素Ｐ６に対応する予測差分値“２７０”は、余剰ビット不使用処理では、量子化幅Ｑ“２”（２の２乗＝４）で量子化されていた。この場合、余剰ビット不使用処理では、量子化されることにより、量子化誤差が最大で“３”生じる。
【０２４９】
一方、本実施の形態では、画素Ｐ６に対応する予測差分値“２７０”は、基準ビット幅Ｍ（８ビット）に加え、２つの余剰ビットを使用して、１０ビットで表現可能となる。そのため、予測差分値“２７０”を量子化する処理が不要となる。したがって、量子化誤差が“０”に抑えられる。
【０２５０】
また、たとえば、画素Ｐ７に対応する予測差分値“−５００”は、余剰ビット不使用処理では、量子化幅Ｑ“２”（２の２乗＝４）で量子化されていた。この場合、余剰ビット不使用処理では、量子化されることにより、量子化誤差が最大で“３”生じる。
【０２５１】
一方、本実施の形態では、画素Ｐ７に対応する予測差分値“−５００”は、基準ビット幅Ｍ（８ビット）に加え、１つの余剰ビットを使用して、９ビットで表現する必要がある。この場合、予測差分値“−５００”を、量子化幅Ｑ“１”（２の１乗＝２）で量子化すれば、量子化後の値“−２５０”を、９ビットで表現することができる。この場合、量子化誤差を、最大で“１”に抑えることができる。
【０２５２】
すなわち、図７Ａに示される量子化幅Ｑ“２”で量子化されていた画素（たとえば、急峻なエッジ部分の画素）を符号化する場合、本実施の形態では、余剰ビットを使用して符号化する。そのため、本実施の形態では、量子化の処理をなくすことができたり、量子化する際の量子化幅Ｑを小さくすることができる（例えば、“２”を“１”にする）。したがって、量子化誤差による画像の画質の劣化を抑制することができる。すなわち、符号化による、画像の画質の劣化の度合いを小さくすることができる。
【０２５３】
また、本実施の形態では、外部のメモリに複数の固定ビット幅（ｓビット）の符号化データが連続して記憶される。１つの符号化データには、画素を復元するための複数の符号化画素データを含む。したがって、ある符号化画素データにデータアクセスすることが要求される場合、当該符号化画素データを含む符号化データにデータアクセスするだけでよい。したがって、データに対するランダムアクセス性は維持することができる。
【０２５４】
また、固定ビット幅（ｓビット）は、使用される集積回路のデータ転送のバス幅に設定される。なお、バス幅は固定長を保証できる。したがって、ランダムアクセス性を損なうことなく実現が可能となる。
【０２５５】
以上により、本実施の形態によれば、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
【０２５６】
なお、本実施の形態における画像符号化処理は、ＬＳＩ（Large Scale Integration）などのハードウェアで実現しても良い。
【０２５７】
（画像復号化処理）
次に、本実施の形態における画像復号化処理の詳細な説明を行なう。
【０２５８】
図１に示されるように、画像復号化装置１１０は、固定ビット幅設定部１１７と、アンパッキング部１１６と、量子化幅設定部１１４と、余剰ビットカウント部１１５と、出力部１１９と、逆量子化処理部１１８とを備える。画像復号化装置１１０に含まれる複数の部位の全てまたは一部は、ハードウエアで構成されてもよい。また、画像復号化装置１１０に含まれる複数の部位の全てまたは一部は、ＣＰＵ等により実行されるプログラムのモジュールであってもよい。
【０２５９】
余剰ビットカウント部１１５は、余剰ビットの数を示す余剰ビットカウンタＲＣを有する。余剰ビットカウンタＲＣは、初期状態では“０”を示す。
【０２６０】
ここで、前述した図２の画像符号化処理により、図示されない外部メモリに複数の固定ビット幅（ｓビット）の符号化データが連続して記憶されているとする。また、画像復号化装置１１０内のアンパッキング部１１６内には、データを記憶する図示しないメモリが設けられているとする。
【０２６１】
ここで、図１の画像復号化装置１１０内の量子化幅設定部１１４内には、データを記憶する図示しないメモリが設けられているとする。量子化幅設定部１１４内のメモリには、予め、図８のデータテーブルＤＴ１１０が記憶されているとする。
【０２６２】
図１０は、画像復号化処理のフローチャートである。画像復号化処理では、まず、ステップＳ２１１の処理が行なわれる。
【０２６３】
ステップＳ２１１では、固定ビット幅設定部１１７が、固定ビット幅（ｓビット）を設定する。固定ビット幅は、図２の画像符号化処理により生成された所定符号量の符号化データのビット量（例えば２５６ビット）に設定される。なお、固定ビット幅は、たとえば、使用される集積回路のデータ転送のバス幅に設定されてもよい。そして、固定ビット幅設定部１１７は、固定ビット幅（ｓビット）を示す固定ビット幅情報を、アンパッキング部１１６、量子化幅設定部１１４および余剰ビットカウント部１１５へ送信する。
【０２６４】
ステップＳ２１２では、量子化幅設定部１１４が、前述したように、式（８）より基準ビット幅Ｍを算出する。ここで、算出された基準ビット幅Ｍは“８”であるとする。量子化幅設定部１１４は、算出した基準ビット幅Ｍを、余剰ビットカウント部１１５へ送信する。
【０２６５】
ステップＳ２１３では、符号化データ取得処理が行なわれる。符号化データ取得処理では、アンパッキング部１１６が、外部メモリに連続して記憶されている複数の符号化データのうち、ｔ番目の符号化データを読み出すことにより取得する。なお、ｔの初期値は“１”である。なお、外部メモリから符号化データを取得するのに限定されることなく、たとえば、パッキング部１０６が出力した符号化データを取得してもよい。
【０２６６】
なお、ｔ番目の符号化データが取得されると、アンパッキング部１１６は、ｔの値を“１”増加させる。
【０２６７】
ステップＳ２１３Ｎでは、アンパッキング処理が行なわれる。アンパッキング処理では、アンパッキング部１１６が、取得したｔ番目の符号化データをアンパッキングする。すなわち、符号化データに含まれる複数のデータを取り出す。そして、アンパッキング部１１６は、取り出した複数のデータを、内部のメモリに記憶させる。この場合、内部のメモリには、図９Ｂに示されるように複数のデータが連続して記憶されるとする。
【０２６８】
以降、画素データの取得方法としては、アンパッキング部１１６が、内部のメモリに記憶されている複数の画素データのうち、ｇ番目の画素データを読み出すことにより取得する。なお、ｇの初期値は“１”である。なお、ｇは、アンパッキング部１１６が取得した画素データの数を示す。
【０２６９】
例えば、１〜１１番目の画素データは、図９Ｂに示される画素Ｐ１〜Ｐ１１にそれぞれ対応する１１個の画素データである。１１個の画素データは、初期画素値データまたは符号化画素データである。
【０２７０】
以下においては、アンパッキング部１１６が取得したｇ番目の画素データに対応する画素を、復号化対象画素という。復号化対象画素は、復号化の対象となる画素である。
【０２７１】
ステップＳ２１４では、アンパッキング部１１６が、復号化対象画素に対応する画像データが初期画素値データであるか否かを判定する。ステップＳ２１４において、ＹＥＳならば、処理はステップＳ２１３ＮＡに移行する。
【０２７２】
ステップＳ２１３ＮＡでは、初期画素値データ取得処理が行なわれる。初期画素値データ取得処理では、アンパッキング部１１６が内部のメモリに記憶されている複数の画素データのうち、初期画素値データを読み出すことにより、初期画素値データを取得する。
【０２７３】
アンパッキング部１１６は、初期画素値データとしての画素データを取得すると、取得した画素データを、出力部１１９へ送信する。そして、処理は後述するステップＳ２３５に移行する。一方、ステップＳ２１４において、ＮＯならば、処理はステップＳ２１５に移行する。
【０２７４】
なお、出力部１１９は、初期画素値データを受信すると、出力部１１９は受信した初期画素値データを外部のメモリに記憶させる。なお、出力部１１９は、受信した初期画素値データを、外部のメモリに記憶させるのではなく、外部の画像を処理する回路等に出力してもよい。
【０２７５】
ここで、取得した画素データが初期画素値データであり、処理がステップＳ２３５に移行するとする。
【０２７６】
ステップＳ２３５では、アンパッキング部１１６が、取得した画素データの数（ｇ）が、所定値Ｐｉｘと等しいか否かを判定する。取得した画素データは、初期画素値データまたは符号化画素データである。Ｐｉｘは、前述したように、固定ビット幅（ｓビット）の符号化データ（パッキングデータ）に含ませる画素の数を示す。Ｐｉｘの値は、一例として、“２６”であるとする。
【０２７７】
ステップＳ２３５において、ＹＥＳならば、アンパッキング部１１６は、ｇの値を“１”に設定して、処理はステップＳ２３７に移行する。一方、ステップＳ２３５において、ＮＯならば、アンパッキング部１１６は、ｇの値を“１”増加させる。そして、再度、ステップＳ２１４の処理が行なわれる。ここでは、取得した画素データの数（ｇ）が、所定値Ｐｉｘと等しくないとして、再度、ステップＳ２１４の処理が行なわれる。
【０２７８】
ここで、復号化対象画素に対応する画像データが、画素Ｐ２に対応する、初期画素値データであるとする。
【０２７９】
この場合、ステップＳ２１４でＹＥＳと判定され、ステップＳ２１３ＮＡの処理により、アンパッキング部１１６は、初期画素値データとしての画素データ（画素Ｐ２に対応する画素データ）を取得する。そして、アンパッキング部１１６は、取得した初期画素値データとしての画素データを、出力部１１９へ送信し、処理はステップＳ２３５に移行する。
【０２８０】
なお、出力部１１９は、初期画素値データを受信すると、出力部１１９は受信した初期画素値データを外部のメモリに記憶させる。
【０２８１】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０２８２】
次に、復号化対象画素に対応する画像データが、画素Ｐ３に対応する、符号化画素データとしての画素データであるとする。この場合、ステップＳ２１４でＮＯと判定され、処理はステップＳ２１５に移行する。
【０２８３】
ステップＳ２１５では、復号化対象画素の予測値を算出するための予測値算出処理Ｒが行なわれる。予測値算出処理Ｒでは、（ｇ−１）番目の画素データが初期画素値データである場合、以下の算出処理ＲＡが行なわれる。
【０２８４】
算出処理ＲＡでは、アンパッキング部１１６が、図２の画像符号化処理のステップＳ１１５で予測値を算出するのに使用された予測式（１）と同じ意味を有する式を使用して、復号化対象画素の予測値を算出する。すなわち、アンパッキング部１１６は、ｇ番目の画素データが処理対象である場合、（ｇ−１）番目の画素データが示す値を、復号化対象画素の予測値とする。
【０２８５】
ここで、処理対象の画素データが、画素ｐ３に対応する画素データであるとする。この場合、画素Ｐ２に対応する画素データが示す値“２２０”が算出される予測値となる。
【０２８６】
予測値算出処理Ｒでは、（ｇ−１）番目の画素データが初期画素値データでない場合、後述する算出処理ＲＢが行なわれる。
【０２８７】
ステップＳ２１６では、アンパッキング部１１６が、復号化対象画素に対応する画素データが、グループ内１番目画素データであるか否かを判定する。グループ内１番目画素データは、アンパッキング部１１６の内部のメモリに記憶されている複数の画素データのうち、ｃ番目のグループに属する３つの画素のうちの１番目の画素に対応する画素データである。ｃの初期値は“１”である。
【０２８８】
例えば、１〜３番目のグループは、それぞれ、図９Ｂに示されるグループＧ１，Ｇ２，Ｇ３である。また、ｃ番目のグループが、グループＧ１である場合、グループＧ１に属する１，２，３番目の画素は、それぞれ、画素Ｐ３，Ｐ４，Ｐ５である。
【０２８９】
ステップＳ２１６において、ＹＥＳならば、処理はステップＳ２１７に移行する。一方、ステップＳ２１６において、ＮＯならば、処理は後述するステップＳ２２０に移行する。
【０２９０】
ここでは、取得した画素データが、グループ内１番目画素データであるとする。この場合、処理は、ステップＳ２１７に移行する。
【０２９１】
ステップＳ２１７では、アンパッキング部１１６が、内部のメモリに記憶されている複数のデータのうち、ｃ番目のグループに対応する量子化幅情報Ｃｏｄｅを、当該メモリから読み出すことにより取得する。そして、アンパッキング部１１６は、取得した量子化幅情報Ｃｏｄｅを、量子化幅設定部１１４へ送信する。ｃの初期値は“１”である。
【０２９２】
例えば、１〜３番目のグループは、それぞれ、図９Ｂに示されるグループＧ１，Ｇ２，Ｇ３である。ここでは、グループＧ１に対応する量子化幅情報Ｃｏｄｅ（“００１”）が取得されたとする。
【０２９３】
ステップＳ２１８では、量子化幅設定処理Ｒが行なわれる。量子化幅設定処理Ｒでは、量子化幅設定部１１４が、内部のメモリに記憶されている図８のデータテーブルＤＴ１１０と、アンパッキング部１１６から受信した量子化幅情報Ｃｏｄｅが示すコードとを使用して、量子化幅Ｑを設定するとともに、余剰ビット数を算出する。
【０２９４】
設定される量子化幅Ｑは、ｃ番目のグループに属する３つの画素に対して設定される量子化幅である。また、算出される余剰ビット数は、ｃ番目のグループに属する３つの画素の各々に対応する余剰ビット数である。
【０２９５】
ここで、受信した量子化幅情報Ｃｏｄｅは、コード“００１”を示すとする。コード“００１”は、データテーブルＤＴ１１０に示される量子化幅Ｑ“０”と、余剰ビット数“１”とに対応する。この場合、量子化幅Ｑは“０”に設定される。また、算出された余剰ビット数は“１”となる。
【０２９６】
そして、量子化幅設定部１１４は、設定された量子化幅Ｑと、算出された余剰ビット数とを示す量子化情報を、余剰ビットカウント部１１５へ送信する。
【０２９７】
ステップＳ２２０では、余剰ビットカウンタ更新処理Ｒが行なわれる。
【０２９８】
図１１は、余剰ビットカウンタ更新処理Ｒのフローチャートである。図１１に示されるように、余剰ビットカウンタ更新処理Ｒでは、まず、ステップＳ２２１の処理が行なわれる。
【０２９９】
ステップＳ２２１では、余剰ビットカウント部１１５が、受信した量子化情報が示す量子化幅Ｑが“０”であるという条件、および、受信した量子化情報が示す余剰ビット数が“０”より大きいという条件を満たすか否かが判定される。ステップＳ２２１において、ＹＥＳならば、処理はステップＳ２２２に移行する。一方、ステップＳ２２１において、ＮＯならば、処理は後述するステップＳ２２３に移行する。
【０３００】
ここで、受信した量子化情報が示す量子化幅Ｑは“０”であるとする。また、受信した量子化情報が示す余剰ビット数は“１”であるとする。この場合、ステップＳ２２１でＹＥＳと判定され、処理はステップＳ２２２に移行する。
【０３０１】
ステップＳ２２２では、カウンタ値増加処理Ｒが行なわれる。カウンタ値増加処理Ｒでは、余剰ビットカウント部１１５が、余剰ビットカウンタＲＣの示す値を、受信した量子化情報が示す余剰ビット数だけ増加させる。この処理により、余剰ビットカウンタＲＣは“１”を示すとする。
【０３０２】
そして、この余剰ビットカウンタ更新処理Ｒは終了し、再度、図１０の画像復号化処理に戻り、処理はステップＳ２１９に移行する。
【０３０３】
ステップＳ２１９では、符号化画素データ取得処理Ｒが行われる。符号化画素データ取得処理Ｒでは、アンパッキング部１１６が、後述するカウンタ減少値情報Ｒを、量子化幅設定部１１４から受信してない場合、以下の取得処理ＲＡが行なわれる。
【０３０４】
取得処理ＲＡでは、アンパッキング部１１６が、内部のメモリに記憶されている図８のデータテーブルＤＴ１１０と、取得した量子化幅情報Ｃｏｄｅが示すコードとから余剰ビットを使用して符号化された画素データのビット数を画素毎に設定する。
【０３０５】
ここで、受信した量子化幅情報Ｃｏｄｅは、コード“００１”を示すとする。コード“００１”は、データテーブルＤＴ１１０に示される符号付予測誤差分バイナリ桁数“７”に対応する。この場合、アンパッキング部１１６が内部のメモリから読み出す画素データに使用されているビット数は“７”となる。
【０３０６】
すなわち、アンパッキング部１１６は、図９Ｂに示されるように、左側から複数の画素データが、内部のメモリに記憶されている場合、先頭から７ビット目までを画素Ｐ３の画素データとして読み出すことにより、画素データを取得する。そして、アンパッキング部１１６は、取得した画素データを、量子化幅設定部１１４へ送信する。
【０３０７】
なお、符号化画素データ取得処理Ｒでは、アンパッキング部１１６が、量子化幅設定部１１４から後述するカウンタ減少値情報Ｒを受信した場合、後述する取得処理ＲＢが行なわれる。
【０３０８】
ステップＳ２３０では、データ送信処理Ｒが行なわれる。データ送信処理Ｒでは、量子化幅設定部１１４が、復号化対象画素に対応する量子化幅Ｑと、取得した画素データと、算出した復号化対象画素の予測値とを、逆量子化処理部１１８へ送信する。
【０３０９】
ステップＳ２３１では、復号化処理が行なわれる。復号化処理では、逆量子化処理部１１８が、後述するカウンタ減少値情報Ｒを受信してない場合、以下の処理ＲＡが行なわれる。
【０３１０】
処理ＲＡでは、逆量子化処理部１１８が、受信した画素データが示す値を、画素データ受信部１０１が受信する画素データのダイナミックレンジの符号付バイナリ桁数で表現したデータ（以下、復号データという）を生成する。すなわち、本実施例における画素データのダイナミックレンジは１２ビットであるため、１３ビットの復号データを生成する。
【０３１１】
そして、逆量子化処理部１１８は、生成した復号データと算出した復号化対象画素の予測値とを、出力部１１９へ送信する。
【０３１２】
ここで、受信した画素データが示す値は“４０”であるとする。また、受信した画素データは７ビットであるとする。この場合、逆量子化処理部１１８は、受信した画素データが示す値“４０”を１３ビットで表現した復号データを生成する。
【０３１３】
なお、復号化処理では、逆量子化処理部１１８が、後述するカウンタ減少値情報Ｒを受信した場合、後述する処理ＲＢが行なわれる。
【０３１４】
ステップＳ２３２では、量子化幅設定部１１４が、復号化対象画素に対応する量子化幅Ｑが“０”であるか否かを判定する。ステップＳ２３２において、ＹＥＳならば、処理は、ステップＳ２３４に移行する。一方、ステップＳ２３２において、ＮＯならば、処理は後述するステップＳ２３３に移行する。ここでは、復号化対象画素に対応する量子化幅Ｑが“０”であるとして、処理はステップＳ２３４に移行する。
【０３１５】
ステップＳ２３４では、出力処理が行なわれる。出力処理では、出力部１１９が、復号データを受信すると、受信した復号データが示す値と、ステップＳ２１５の予測値算出処理Ｒによって算出された復号化対象画素の予測値とを加算した値を示す復号画素データを生成する。そして、出力部１１９は、生成した復号画素データを、外部のメモリに記憶させる。また、出力部１１９は、生成した復号画素データを、アンパッキング部１１６へ送信する。
【０３１６】
なお、出力部１１９は、生成した復号画素データを、外部のメモリに記憶させるのではなく、外部の画像を処理する回路等に出力してもよい。
【０３１７】
ここで、復号データが示す値は“４０”であるとする。また、（ｇ−１）番目の画素データが初期画素値データであるため、算出された復号化対象画素の予測値は、画素Ｐ２の画素値“２２０”であるとする。
【０３１８】
すなわち、出力処理においては、出力部１１９が、受信した復号データが示す値と、予測値としての取得した画素データが示す値とを加算した値を示す復号画素データを生成する。
【０３１９】
この場合、生成される復号画素データは“２６０”を示す。すなわち、生成される復号画素データは、図９Ａに示される画素Ｐ３の画素値を示す画素データである。
【０３２０】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３２１】
次に、復号化対象画素に対応する画像データが、画素Ｐ４に対応する、符号化画素データとしての画素データであるとする。この場合、ステップＳ２１４でＮＯと判定され、処理はステップＳ２１５に移行する。
【０３２２】
次に、ステップＳ２１５の予測値算出処理Ｒが行なわれる。ここで、（ｇ−１）番目の画素データが初期画素値データでないとする。この場合、予測値算出処理Ｒでは、以下の算出処理ＲＢが行なわれる。
【０３２３】
算出処理ＲＢでは、アンパッキング部１１６が、出力部１１９から受信した復号画素データが示す画素値を、復号化対象画素の予測値とする。ここで、出力部１１９から受信した復号画素データは、図９Ａに示される画素Ｐ３の画素値を示す画素データであるとする。この場合、復号化対象画素の予測値は“２６０”となる。
【０３２４】
また、アンパッキング部１１６は、前述したｃ番目のグループに属する全ての画素の予測値を算出した場合、アンパッキング部１１６は、ｃの値を“１”増加させる。
【０３２５】
ステップＳ２１６では、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。ここでは、ＮＯと判定され、処理は、ステップＳ２２０に移行するとする。
【０３２６】
そして、再度、図１１のステップＳ２２１，Ｓ２２２の処理が行なわれることにより、余剰ビットカウンタＲＣの示す値は“２”となったとする。
【０３２７】
そして、この余剰ビットカウンタ更新処理Ｒは終了し、再度、図１０の画像復号化処理に戻り、再度、ステップＳ２３０の処理が行なわれる。この処理により、復号化対象画素に対応する量子化幅Ｑ“０”と、取得した画素データと、算出した復号化対象画素の予測値“２６０”とが、逆量子化処理部１１８へ送信される。
【０３２８】
そして、ステップＳ２１９の符号化画素データ取得処理Ｒが行われる。ここでは、前述したのと同様に取得処理ＲＡが行なわれるとする。
【０３２９】
そして、ステップＳ２３１の復号化処理が行なわれる。ここでは、前述したのと同様に処理ＲＡが行なわれるとする。
【０３３０】
処理ＲＡでは、逆量子化処理部１１８が、受信した画素データが示す値“２０”を、画素データ受信部１０１が受信する画素データのダイナミックレンジの符号付バイナリ桁数（１３）で表現した復号データを生成する。
【０３３１】
そして、逆量子化処理部１１８は、生成した復号データを、出力部１１９へ送信する。
【０３３２】
そして、ステップＳ２３２でＹＥＳと判定され、前述したのと同様にステップＳ２３４の処理が行なわれる。この処理により、出力部１１９は、画素Ｐ４の画素値“２８０”を示す復号画素データを生成し、生成した復号画素データを、外部のメモリに記憶させる。また、出力部１１９は、生成した復号画素データを、アンパッキング部１１６へ送信する。
【０３３３】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３３４】
そして、ステップＳ２１５の処理が行なわれる。これらの処理により、復号化対象画素の予測値“２８０”が算出される。この時点で、グループＧ１に属する全ての画素の予測値が算出されたことになるので、アンパッキング部１１６は、ｃの値を“１”増加させる。ここで、ｃの値は“２”であるとする。
【０３３５】
そして、ステップＳ２１６の処理、図１１のステップＳ２２１，Ｓ２２２の処理が行なわれることにより、余剰ビットカウンタＲＣの示す値は“３”となったとする。
【０３３６】
また、ステップＳ２１９，Ｓ２３０，Ｓ２３１，Ｓ２３２，Ｓ２３４の処理が前述したのと同様に行なわれる。この処理により、画素値“３２０”を示す復号画素データが生成され、生成された復号画素データが、アンパッキング部１１６へ送信される。
【０３３７】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３３８】
そして、ステップＳ２１５の処理が行なわれる。これらの処理により、復号化対象画素の予測値“３２０”が算出される。
【０３３９】
ここで、復号化対象画素に対応する画素データは、前述したグループ内１番目画素データである。当該画素データは、図９Ｂに示される画素Ｐ６に対応する１０ビットの符号化画素データであるとする。すなわち、復号化対象画素に対応する画素データは、グループＧ２に属する１番目の画素に対応する画素データである。
【０３４０】
この場合、ステップＳ２１６でＹＥＳと判定され、前述したステップＳ２１７の処理が行なわれる。この処理により、アンパッキング部１１６が、内部のメモリに記憶されている複数のデータのうち、２番目のグループ（グループＧ２）に対応する量子化幅情報Ｃｏｄｅを、当該メモリから読み出すことにより取得する。取得された量子化幅情報Ｃｏｄｅは、コード“１００”を示すとする。
【０３４１】
ステップＳ２１８の量子化幅設定処理Ｒでは、前述したのと同様な処理が行なわれるので詳細な説明は繰り返さない。この処理により、量子化幅Ｑは“２”に設定される。また、算出された余剰ビット数は“０”となる。
【０３４２】
この場合、設定される量子化幅Ｑは、２番目のグループに属する３つの画素に対して設定される量子化幅である。また、算出される余剰ビット数は、２番目のグループに属する３つの画素の各々に対応する余剰ビット数である。
【０３４３】
そして、量子化幅設定部１１４は、設定された量子化幅Ｑと、算出された余剰ビット数とを示す量子化情報を、余剰ビットカウント部１１５へ送信する。
【０３４４】
そして、再度、図１１のステップＳ２２１の処理が行なわれる。ここでは、ステップＳ２２１でＮＯと判定され、処理はステップＳ２２３に移行する。
【０３４５】
ステップＳ２２３では、余剰ビットカウント部１１５が、余剰ビットカウンタＲＣの値が、受信した量子化情報が示す量子化幅Ｑより大きいか否かを判定する。ステップＳ２２３において、ＹＥＳならば、処理はステップＳ２２４に移行する。一方、ステップＳ２２３において、ＮＯならば、処理は後述するステップＳ２２６に移行する。
【０３４６】
ここでは、余剰ビットカウンタＲＣの値は“３”であるとする。また、量子化情報が示す量子化幅Ｑは“２”であるとする。この場合、ＹＥＳと判定され、処理はステップＳ２２４に移行する。
【０３４７】
ステップＳ２２４では、カウンタ値減少処理Ｒが行なわれる。カウンタ値減少処理Ｒでは、余剰ビットカウント部１１５が、余剰ビットカウンタＲＣの値（例えば“３”）を、受信した量子化情報が示す量子化幅Ｑ（例えば“２”）の値だけ減少させる。この処理により、余剰ビットカウンタＲＣの値は“１”になったとする。
【０３４８】
また、余剰ビットカウント部１１５は、カウンタ減少値情報Ｒを、量子化幅設定部１１４へ送信する。カウンタ減少値情報Ｒは、余剰ビットカウンタＲＣの値を減少させた値（たとえば、“２”）を示す情報である。この場合、カウンタ減少値情報Ｒは、後述の処理で使用可能な余剰ビットの数を示す。
【０３４９】
量子化幅設定部１１４は、カウンタ減少値情報Ｒを受信すると、受信したカウンタ減少値情報Ｒを、逆量子化処理部１１８およびアンパッキング部１１６へ送信する。
【０３５０】
ステップＳ２２５では、量子化幅零設定処理Ｒが行なわれる。量子化幅零設定処理Ｒでは、余剰ビットカウント部１１５が、量子化幅零変更指示Ｒを、量子化幅設定部１１４へ送信する。量子化幅零変更指示Ｒは、復号化対象画素に対応する量子化幅Ｑを“０”に設定するための指示である。
【０３５１】
そして、この余剰ビットカウンタ更新処理Ｒは終了し、再度、図１０の画像復号化処理に戻り、処理はステップＳ２１９に移行する。
【０３５２】
量子化幅設定部１１４は、量子化幅零変更指示Ｒを受信すると、復号化対象画素に対応する量子化幅Ｑを“０”に変更する。
【０３５３】
ステップ２１９では、符号化画素データ取得処理Ｒが行われる。ここで、アンパッキング部１１６が、カウンタ減少値情報Ｒを受信したので、符号化画素データ取得処理Ｒでは、以下の取得処理ＲＢが行なわれる。
【０３５４】
取得処理ＲＢでは、アンパッキング部１１６が、（基準ビット幅Ｍ＋カウンタ減少値情報Ｒが示す値）ビットで表現した画素データ、すなわち、余剰ビットを消費して符号化された画素データを内部のメモリから読み出すことにより取得する。
【０３５５】
ここで、基準ビット幅Ｍは８ビットであるとする。また、カウンタ減少値情報Ｒが示す値は“２”であるとする。この場合、アンパッキング部１１６は、復号化対象画素に対応する画素データが図９Ｂに示されるグループＧ２に属する１番目の画素に対応する画素であるため、その先頭から１０ビット目までを画素Ｐ６に対応する画素データとして読み出すことにより取得する。そして、アンパッキング部１１６は、取得した画素データを、量子化幅設定部１１４へ送信する。
【０３５６】
前述したように、カウンタ減少値情報Ｒが示す値は、使用可能な余剰ビットの数である。したがって、カウンタ減少値情報Ｒが示す値が“２”である場合、読み出すことにより取得する復号化対象画素に対応する画素データは、２つの余剰ビットを使用して生成されるデータである。
【０３５７】
ステップＳ２３０では、前述したのと同様な処理が行なわれる。この処理により、復号化対象画素に対応する量子化幅Ｑ“０”と、取得した画素データと、算出した復号化対象画素の予測値“３２０”とが、逆量子化処理部１１８およびアンパッキング部１１６へ送信される。
【０３５８】
そして、ステップＳ２３１の復号化処理が行なわれる。ここで、量子化幅設定部１１４から受信した量子化幅Ｑが“０”であり、かつ、逆量子化処理部１１８が、後述するカウンタ減少値情報Ｒを受信したので、復号化処理では、以下の処理ＲＢが行なわれる。
【０３５９】
処理ＲＢでは、逆量子化処理部１１８が、受信した（基準ビット幅Ｍ＋カウンタ減少値情報Ｒが示す値）ビットで表現された画素データを、画素データ受信部１０１が受信する画素データのダイナミックレンジの符号付バイナリ桁数で表現したデータ（以下、復号データという）を生成する。
【０３６０】
そして、逆量子化処理部１１８は、生成した復号データを、出力部１１９へ送信する。
【０３６１】
ここで、受信した画素データが示す値は“２７０”であるとする。この場合、逆量子化処理部１１８は、受信した画素データが示す、１０ビットで表現した値“２７０”を１３ビットで表現した復号データを生成する。
【０３６２】
そして、ステップＳ２３２でＹＥＳと判定され、前述したのと同様にステップＳ２３４の処理が行なわれる。この処理により、画素Ｐ５の画素値“３２０”を示す画素データが出力部１１９により取得され、画素Ｐ６の画素値“５９０”を示す復号画素データが生成される。また、生成した復号画素データが、外部のメモリに記憶される。また、出力部１１９は、生成した復号画素データを、アンパッキング部１１６へ送信する。
【０３６３】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３６４】
そして、ステップＳ２１５の処理が行なわれる。これらの処理により、復号化対象画素の予測値“５９０”が算出される。
【０３６５】
そして、ステップＳ２１６でＮＯと判定され、図１１のステップＳ２２１の処理が行なわれる。ここでは、ステップＳ２２１でＮＯと判定され、処理はステップＳ２２３に移行する。
【０３６６】
ここで、余剰ビットカウンタＲＣの値は“１”であるとする。また、受信した量子化情報が示す量子化幅Ｑは“２”であるとする。この場合、ステップＳ２２３において、ＮＯと判定され、処理はステップＳ２２６に移行する。
【０３６７】
ステップＳ２２６では、量子化幅変更処理Ｒが行なわれる。量子化幅変更処理Ｒでは、余剰ビットカウント部１１５が、量子化幅変更指示Ｒを、量子化幅設定部１１４へ送信する。量子化幅変更指示Ｒは、復号化対象画素に対応する量子化幅Ｑ（例えば“２”）を、余剰ビットカウンタＲＣの値（例えば“１”）だけ減算した値に変更するための指示である。
【０３６８】
量子化幅設定部１１４は、量子化幅変更指示Ｒを受信すると、復号化対象画素に対応する量子化幅Ｑ（例えば“２”）を、余剰ビットカウンタＲＣの値（例えば“１”）だけ減算した値（例えば“１”）に変更する。
【０３６９】
ステップＳ２２７では、余剰ビットカウント部１１５が、余剰ビットカウンタＲＣの値を“０”に設定する。
【０３７０】
また、余剰ビットカウント部１１５は、カウンタ減少値情報Ｒを、量子化幅設定部１１４へ送信する。カウンタ減少値情報Ｒは、余剰ビットカウンタＲＣの値を減少させた値（たとえば、“１”）を示す情報である。この場合、カウンタ減少値情報Ｒは、後述の処理で使用可能な余剰ビットの数を示す。
【０３７１】
量子化幅設定部１１４は、カウンタ減少値情報Ｒを受信すると、受信したカウンタ減少値情報Ｒを、逆量子化処理部１１８およびアンパッキング部１１６へ送信する。
【０３７２】
そして、この余剰ビットカウンタ更新処理Ｒは終了し、再度、図１０の画像復号化処理に戻り、処理はステップＳ２１９に移行する。
【０３７３】
ステップ２１９では、前述したのと同様に取得処理ＲＢが行われる。ここで、基準ビット幅Ｍは８ビットであるとする。また、カウンタ減少値情報Ｒが示す値は“１”であるとする。この場合、アンパッキング部１１６は、復号化対象画素に対応する画素データが図９Ｂに示されるグループＧ２に属する２番目の画素に対応する画素であるため、その先頭から９ビット目までを画素Ｐ７に対応する画素データとして読み出すことにより取得する。そして、アンパッキング部１１６は、取得した画素データを、量子化幅設定部１１４へ送信する。
【０３７４】
前述したように、カウンタ減少値情報Ｒが示す値は、使用可能な余剰ビットの数である。したがって、カウンタ減少値情報Ｒが示す値が“１”である場合、読み出すことにより取得する復号化対象画素に対応する画素データは、１つの余剰ビットを使用して生成されるデータである。
【０３７５】
ステップＳ２３０では、前述したのと同様な処理が行なわれる。この処理により、復号化対象画素に対応する量子化幅Ｑ“１”と、取得した画素データと、算出した復号化対象画素の予測値“５９０”とが、逆量子化処理部１１８へ送信される。
【０３７６】
ステップＳ２３１では、前述した復号化処理が行なわれる。ここで、逆量子化処理部１１８が、量子化幅設定部１１４から受信した量子化幅Ｑが“１”であり、かつ、逆量子化処理部１１８がカウンタ減少値情報Ｒを受信したとする。この場合、復号化処理において、以下の処理ＲＢが行なわれる。
【０３７７】
処理ＲＢでは、前述したように、逆量子化処理部１１８が、受信した（基準ビット幅Ｍ＋カウンタ減少値情報Ｒが示す値）ビットで表現されたデータを、画素データ受信部１０１が受信する画素データのダイナミックレンジの符号付バイナリ桁数で表現したデータ（以下、復号データという）を生成する。
【０３７８】
ここで、受信した画素データが示す値は、“−２５０”であるとする。この場合、逆量子化処理部１１８は、受信した画素データが示す値“−２５０”を１３ビットで表現した復号データを生成する。
【０３７９】
そして、ステップＳ２３２でＮＯと判定されて、処理はステップＳ２３３に移行する。以下においては、１以上の値を示す量子化幅Ｑを、非零量子化幅Ｑという。
【０３８０】
ステップＳ２３３では、逆量子化処理が行なわれる。逆量子化処理では、逆量子化処理部１１８が、復号データが示す値に、２のＱ乗を乗算することにより逆量子化する。以下においては、逆量子化により得られた値を、逆量子化済値という。
【０３８１】
ここで、復号データが示す値は“−２５０”であるとする。また、復号化対象画素に対応する量子化幅Ｑは“１”を示すとする。この場合、逆量子化処理部１１８は、取得した画素データが示す値は“−２５０”に、２の１乗（２）を乗算することにより逆量子化済値“−５００”を得る。
【０３８２】
そして、逆量子化処理部１１８は、逆量子化済値（例えば、“−５００”）を示す復号データを、出力部１１９へ送信する。
【０３８３】
そして、前述したのと同様にステップＳ２３４の処理が行なわれる。この処理により、画素Ｐ６の画素値“５９０”を示す画素データが出力部１１９により取得され、画素Ｐ７の画素値“９０”を示す復号画素データが生成される。また、生成した復号画素データが、外部のメモリに記憶される。また、出力部１１９は、生成した復号画素データを、アンパッキング部１１６へ送信する。
【０３８４】
そして、前述したステップＳ２３５の処理が行なわれ、ｇの値が“１”増加された後、再度、ステップＳ２１４の処理が行なわれる。
【０３８５】
そして、ステップＳ２３５でＹＥＳと判定されるまで、ステップＳ２１４〜Ｓ２３４の処理の少なくとも一部の処理が繰り返し行なわれる。
【０３８６】
ステップＳ２３５でＹＥＳと判定されると、処理はステップＳ２３７に移行する。
【０３８７】
ステップＳ２３７では、余剰ビットカウント部１０５が、余剰ビットカウンタの示す値を“０”に設定する。
【０３８８】
ステップＳ２３８では、アンパッキング部１１６が、処理の対象となる画像（ピクチャ）全体に対し、復号化の処理が終了したか否かを判定する。ステップＳ２３８において、ＹＥＳならば、この画像復号化処理は終了する。一方、ステップＳ２３８において、ＮＯならば、再度、ステップＳ２１３の処理が行なわれる。
【０３８９】
そして、ステップＳ２３８でＹＥＳと判定されるまで、ステップＳ２１３〜Ｓ２３７の少なくとも一部の処理が繰り返し行なわれることにより、画像（ピクチャ）を復元するための複数の符号化データが全て復号化される。
【０３９０】
なお、本実施の形態における画像復号化処理は、ＬＳＩなどのハードウェアで実現しても良い。
【０３９１】
以上説明したように、本実施の形態の画像符号化処理では、画素の予測差分値を符号付２進数で表現したバイナリデータの桁数（符号付予測差分バイナリ桁数）が、基準ビット幅Ｍより小さい場合、ビットを余らせて当該予測差分値を符号化する。また、符号付予測差分バイナリ桁数が基準ビット幅Ｍより大きい場合であって、かつ、余剰ビットが存在する場合は、（基準ビット幅Ｍ＋使用可能な余剰ビットの数が示す値）で表現する。
【０３９２】
したがって、量子化の処理をなくすことができたり、量子化する際の量子化幅Ｑを小さくすることができる。その結果、量子化誤差による画像の画質の劣化を抑制することができる。すなわち、符号化による、画像の画質の劣化の度合いを小さくすることができる。
【０３９３】
また、本実施の形態では、外部のメモリに複数の固定ビット幅（ｓビット）の符号化データが連続して記憶される。１つの符号化データには、画素を復元するための複数の符号化画素データを含む。したがって、ある符号化画素データにデータアクセスすることが要求される場合、当該符号化画素データを含む符号化データにデータアクセスするだけでよい。したがって、データに対するランダムアクセス性は維持することができる。
【０３９４】
また、固定ビット幅（ｓビット）は、使用される集積回路のデータ転送のバス幅に設定される。なお、バス幅は固定長を保証できる。したがって、ランダムアクセス性を損なうことなく実現が可能となる。
【０３９５】
以上により、本実施の形態によれば、ランダムアクセス性は維持したまま、画像の画質の劣化の度合いを小さくすることができる。
【０３９６】
＜実施の形態２＞
実施の形態２では、実施の形態１で説明した、画像符号化装置１００及び画像復号化装置１１０を備えたデジタルスチルカメラの例を説明する。
【０３９７】
図１２は、実施の形態２に係るデジタルスチルカメラ１３００の構成を示すブロック図である。
【０３９８】
図１２に示されるように、デジタルスチルカメラ１３００は、画像符号化装置１００と、画像復号化装置１１０とを備える。画像符号化装置１００および画像復号化装置１１０の構成および機能は、実施の形態１で説明したので詳細な説明は繰り返さない。
【０３９９】
デジタルスチルカメラ１３００は、さらに、撮像部１３１０と、画像処理部１３２０と、表示部１３３０と、圧縮変換部１３４０と、記録保存部１３５０と、ＳＤＲＡＭ１３６０とを備える。
【０４００】
撮像部１３１０は、被写体を撮像して、その像に対応するデジタルの画像データを出力する。この例では、撮像部１３１０は、光学系１３１１と、撮像素子１３１２と、アナログフロントエンド１３１３（図中ではＡＦＥと略記）と、タイミングジェネレータ１３１４（図中ではＴＧと略記）とを含む。
【０４０１】
光学系１３１１は、レンズ等からなり、被写体を撮像素子１３１２上に結像させるようになっている。撮像素子１３１２は、光学系１３１１から入射した光を電気信号に変換する。撮像素子１３１２としては、ＣＣＤ（Charge Coupled Device）を用いた撮像素子や、ＣＭＯＳを用いた撮像素子等、種々の撮像素子を採用できる。
【０４０２】
アナログフロントエンド１３１３は、撮像素子１３１２が出力したアナログ信号に対してノイズ除去、信号増幅、Ａ／Ｄ変換などの信号処理を行なう。そして、アナログフロントエンド１３１３は、当該信号処理により得られたデータを示す画像データを出力する。出力される画像データは、複数の画素データから構成される。当該画素データは、ＲＡＷデータである。
【０４０３】
タイミングジェネレータ１３１４は、撮像素子１３１２やアナログフロントエンド１３１３の動作タイミングの基準となるクロック信号を、撮像素子１３１２およびアナログフロントエンド１３１３へ供給する。
【０４０４】
画像処理部１３２０は、撮像部１３１０が出力した画素データ（ＲＡＷデータ）に所定の画像処理を施す。そして、画像処理を行なうことにより得られた画素データ（ＲＡＷデータ）を、画像符号化装置１００へ出力する。
【０４０５】
図１２に示すように、画像処理部１３２０は、一般的には、ホワイトバランス回路１３２１（図中ではＷＢと略記）と、輝度信号生成回路１３２２と、色分離回路１３２３と、アパーチャ補正処理回路１３２４（図中ではＡＰと略記）と、マトリクス処理回路１３２５と、画像の拡大・縮小を行うズーム回路１３２６（図中ではＺＯＭと略記）とを備える。
【０４０６】
ホワイトバランス回路１３２１は、白い被写体がどのような光源下でも白く撮影されるように、撮像素子１３１２のカラーフィルターによる色成分を正しい割合で補正する回路である。
【０４０７】
輝度信号生成回路１３２２は、ＲＡＷデータから輝度信号（Ｙ信号）を生成する。色分離回路１３２３は、ＲＡＷデータから色差信号（Ｃｒ／Ｃｂ信号）を生成する。
【０４０８】
アパーチャ補正処理回路１３２４は、輝度信号生成回路１３２２が生成した輝度信号に高周波数成分を足し合わせて解像度を高く見せる処理を行う。マトリクス処理回路１３２５は、色分離回路１３２３から出力されるデータに対して、撮像素子の分光特性や画像処理で崩れた色相バランスの調整を行なう。
【０４０９】
一般的に、画像処理部１３２０は、処理対象の画素データをＳＤＲＡＭ等のメモリに一時記憶させ、一時記憶されたデータに対して所定の画像処理や、ＹＣ信号（輝度信号または色差信号）の生成、ズーム処理等を行い、処理後のデータを再度ＳＤＲＡＭに一時記憶させることが多い。
【０４１０】
そのため、画像処理部１３２０は、画像符号化装置１００へデータを出力する処理および画像復号化装置１１０からデータを受信する処理を行なうことが考えられる。
【０４１１】
表示部１３３０は、画像復号化装置１１０から出力される画像データ（画像復号化後の画像データ）を表示する。
【０４１２】
圧縮変換部１３４０は、画像復号化装置１１０から出力される画像データをＪＰＥＧ等の所定の規格で圧縮変換し、変換により得られたＪＰＥＧ画像のデータを記録保存部１３５０へ出力する。また、圧縮変換部１３４０は、記録保存部１３５０によって読み出されたＪＰＥＧ画像のデータを伸張変換して、変換後のデータを、画像符号化装置１００へ出力する。
【０４１３】
すなわち、圧縮変換部１３４０は、ＪＰＥＧ規格に基づくデータを処理可能である。このような圧縮変換部１３４０は、一般的にデジタルスチルカメラに搭載される。
【０４１４】
記録保存部１３５０は、圧縮された画像データを受信して、当該画像データを記録媒体（例えば不揮発性メモリ等）に記録する。また、記録保存部１３５０は、記録媒体に記録されている、圧縮された画像データを読み出して、当該画像データを圧縮変換部１３４０に出力する。
【０４１５】
本実施の形態における画像符号化装置１００及び画像復号化装置１１０が処理対象とするデータは、ＲＡＷデータに限定されない。たとえば、画像符号化装置１００及び画像復号化装置１１０が処理対象とするデータは、画像処理部１３２０によってＲＡＷデータから生成されたＹＣ信号（輝度信号または色差信号）のデータ、一旦ＪＰＥＧ等に圧縮変換されたＪＰＥＧ画像のデータを伸張することにより得られるデータ（輝度信号または色差信号のデータ）等であってもよい。
【０４１６】
このように、本実施の形態におけるデジタルスチルカメラ１３００は、一般的にデジタルスチルカメラに搭載される圧縮変換部１３４０以外にも、ＲＡＷデータやＹＣ信号を処理対象とする画像符号化装置１００及び画像復号化装置１１０を備える。
【０４１７】
これにより、本実施の形態におけるデジタルスチルカメラ１３００は、同じメモリ容量で、同じ解像度の連写枚数を増やす高速撮像動作が可能となる。また、デジタルスチルカメラ１３００は、同じ容量のメモリに記憶させる動画像の解像度を高めることが可能になる。
【０４１８】
また、実施の形態２に示したデジタルスチルカメラ１３００の構成は、デジタルスチルカメラ１３００と同様に撮像部、画像処理部、表示部、圧縮変換部、記録保存部、及びＳＤＲＡＭを備えるデジタルビデオカメラの構成に適用することもできる。
【０４１９】
＜実施の形態２の変形例１＞
画像処理部１３２０が、画像符号化装置１００に対し出力する画素データが、ＹＣ信号（輝度信号または色差信号）のデータである場合、図１の固定ビット幅設定部１０７が設定する固定ビット幅（ｓビット）のデータを生成する処理において、輝度信号のデータより色差信号のデータを優先して符号化するようにしてもよい。当該ＹＣ信号のデータは、画像処理部１３２０の内部で変換されたデータである。
【０４２０】
色差信号は、画像処理部１３２０の内部で生成する段階で高周波成分が落ちており、輝度信号と比較すると急峻なエッジが存在しない。そのため、符号化対象画素に対応する予測値の予測精度も高く、量子化幅Ｑも低くなると想定できる。よって、余剰ビットカウンタの値が増加され易いと考えられる。
【０４２１】
そのため、固定ビット幅（ｓビット）のデータを生成する処理において、輝度信号のデータより色差信号のデータを優先して符号化することにより、多くの余剰ビットを発生させておく。これにより、視覚的に敏感な輝度信号のデータの符号化においてビットを多く割り当てることが可能となる。その結果、視覚劣化を抑圧させた上で画素データを符号化することができる。
【０４２２】
＜実施の形態２の変形例２＞
本変形例では、画像処理部１３２０が、画像符号化装置１００に対し出力する画素データがＹＣ信号（輝度信号または色差信号）のデータである場合、さらに、色差信号のデータをＩＱ軸変換して符号化する変形例を説明する。
【０４２３】
ＩＱ軸変換されたＩＱ信号とは、色差信号を変調させて得られるものであり、以下の式で表される。
Ｉ＝０．６Ｒ−０．２８Ｇ−０．３２Ｂ              ・・・（９）
Ｑ＝０．２１Ｒ−０．５２Ｇ＋０．３１Ｂ            ・・・（１０）
式（９）、式（１０）において、Ｒは、色差信号の赤信号成分を示し、Ｇは色差信号の緑信号成分を示し、Ｂは色差信号の青信号成分を示す。
【０４２４】
上記した変調で得られるＩＱ信号は、人間の視覚特性により色差信号を簡略化するために作られた信号である。色度図上において人間の目の分解能が一番良い「オレンジ−シアン軸」をＩ軸とした場合、Ｉ信号は細部まで対応するため広い帯域をもたせて伝送するために用いられる。また、色度図上においてＩ軸と直交し人間の目の分解能が一番悪い「黄色−マゼンタ軸」をＱ軸とした場合、Ｑ信号は狭帯域で伝送するために用いられる。
【０４２５】
つまり、Ｑ信号の情報量をある程度制限しても、視覚的な画質劣化を抑えて伝送することができる。従って、画像符号化装置１００内で色差信号をＩＱ信号に変調することで、Ｑ信号のビット数をできる限り減らし、人間の目が敏感な輝度信号にビットを割り当てることが可能となる。
【０４２６】
具体的には、図１３Ａに示すように、グループＧ１にＱ信号を割り当て、Ｑ信号の符号化画素データに対しては、基準ビット幅Ｍから“１”減算したビット幅を確保しておく。余ったビットは、固定ビット幅設定部１０７により設定される固定ビット幅（ｓビット）のデータ中にパッキングするＱ信号の画素数分、予め余剰ビットとして確保しておく。
【０４２７】
さらに、実施の形態２の変形例１で示したように、固定ビット幅（ｓビット）のデータ内で色信号を第１優先順位で符号化する（グループＧ２にＩ信号を割り当てる）。これにより、余剰ビットの消費を防ぎ、余剰ビットをできる限り視覚的に敏感な輝度信号に割り当てる。
【０４２８】
図１３Ａに示されるように、グループＧ２にＩ信号を割り当てた場合、余剰ビットの増減はないが、Ｉ信号の成分に急峻な変化が発生した場合は余剰ビットが消費（使用）されるし、変化がない場合は累積余剰ビット数が増えることも考えられる。
【０４２９】
図１３Ａでは、Ｉ信号においては、余剰ビットカウンタの値が変化するような画素データの入力がなかったものとする。グループの後部に輝度信号を割り当てることで、増加する余剰ビットは全て輝度信号で使用することが可能になる。すなわち、余剰ビットを使用して輝度信号のデータを符号化する。そのため、視覚劣化を抑圧させた上で画素データを符号化することができる。
【０４３０】
また、増減する余剰ビットと、消費された結果の符号化画素データのビット幅は入力される画素データに依存するため、図１３Ａでは「＊」で示してある。
【０４３１】
なお、Ｑ信号の符号化画素データのビット幅を減らした分を、予め輝度信号の符号化画素データのビット幅に割り当てておいてもよい。具体的には、Ｑ信号の符号化画素データのビット幅を基準ビット幅Ｍから“１”減算した場合であれば、同じ固定ビット幅（ｓビット）のデータ中にパッキングする輝度信号を（基準ビット幅Ｍ＋１）のビット幅で表現することが可能となる。
【０４３２】
このときの基準ビット幅Ｍを、図１３Ｂに示す。図１３Ｂに示すように、本変形例によれば、固定ビット幅（ｓビット）のデータ内で色信号を第１優先順位で符号化しなくても、予めビットを視覚的に敏感な輝度信号に多く割り当てることが可能になる。したがって、視覚劣化を抑圧させた上で画素データを符号化することができる。
【０４３３】
＜実施の形態３＞
実施の形態３では、実施の形態１で説明した画像符号化装置および画像復号化装置の各々が、さらに、余剰ビット制御部を備える例を説明する。
【０４３４】
図１４は、実施の形態３における画像符号化装置１００Ａおよび画像復号化装置１１０Ａの構成を示すブロック図である。
【０４３５】
図１４に示されるように、画像符号化装置１００Ａは、図１の画像符号化装置１００と比較して、余剰ビット制御部１０９をさらに備える点が異なる。それ以外は、画像符号化装置１００と同様なので詳細な説明は繰り返さない。また、画像復号化装置１１０Ａは、図１の画像復号化装置１１０と比較して、余剰ビット制御部１１１をさらに備える点が異なる。それ以外は、画像復号化装置１１０と同様なので詳細な説明は繰り返さない。
【０４３６】
（符号化処理）
まず、使用する余剰ビットの数を制御しない場合における画像符号化処理を説明する。
【０４３７】
図１５Ａおよび図１５Ｂは、使用する余剰ビットの数を制御しない場合における画像符号化処理を説明するための図である。
【０４３８】
図１５Ａは、一例として、画素データ受信部１０１に入力される、２６個の画素データのうちの１１個の画素データが示される。なお、図１５Ａに示される各項目は、図９Ａで説明したのと同様なので詳細な説明は繰り返さない。
【０４３９】
画素データ受信部１０１には、画素Ｐ１，Ｐ２，・・・，Ｐ１１の順で、各画素に対応する１２ビットの画素データが入力されるとする。画素Ｐ１〜Ｐ１１内に示される数値は、対応する画素データが示す画素値である。なお、画素Ｐ１，Ｐ２にそれぞれ対応する２つの画素データは、それぞれ、緑色および赤色の初期画素値データであるとする。
【０４４０】
この例では、符号化対象画素の予測値は、前述した予測式（１）を使用して算出される。すなわち、符号化対象画素の予測値は、符号化対象画素の左隣の画素の画素値となる。また、この例では、符号化対象画素の画素値と、符号化対象画素の左隣の画素の画素値との差の値（予測差分値）を量子化する。
【０４４１】
また、この例では、量子化幅情報Ｃｏｄｅと、予測差分絶対値、量子化幅Ｑおよび余剰ビット数との関係についても、図８のデータテーブルＤＴ１１０を使用する。
【０４４２】
量子化幅Ｑは、実施の形態１と同様に、各グループに属する隣接する３画素の予測差分値から算出される最大予測差分絶対値から算出する。グループに属する３画素は同じ量子化幅Ｑで量子化する。
【０４４３】
図１５Ｂは、画像符号化装置１００Ａが符号化の処理を行なうことにより得られた画素データ（符号化画素データ）を示す図である。図１５Ｂに示される、各符号化画素データ内の数値は、符号化画素データのビット数を示す。
【０４４４】
この例における、画像符号化処理では、実施の形態１と同様な処理が行なわれることにより、グループＧ１に属する３画素に対応する量子化幅Ｑは“０”に設定される。そのため、量子化幅情報Ｃｏｄｅは、コード“０００”が選択される。そのため、グループＧ１に属する３画素に対応する予測差分値を符号化した後、６個の余剰ビットが発生する。符号化画素データは３画素とも６ビットで表現できる。
【０４４５】
グループＧ２とグループＧ３においては、急峻な画素値のレベル変化が複数存在している。量子化幅ＱはグループＧ２およびグループＧ３の両方で、“４”に設定される。
【０４４６】
しかし、画素Ｐ６（画素値“１５９０”）に対応する予測差分値を符号化する際に、４個の余剰ビットが使用（消費）される。また、次の画素Ｐ７（画素値“２０００”）に対応する予測差分値を符号化する際に、２個の余剰ビットが使用（消費）されるため、その時点で累積余剰ビット数は“０”となってしまう。
【０４４７】
そのため、以後、発生する急峻なエッジは全く救済されることなく、基準ビット幅Ｍで符号化されてしまう。
【０４４８】
図１６Ａおよび図１６Ｂは、本実施の形態における、使用する余剰ビットの数を制御する場合における画像符号化処理を説明するための図である。
【０４４９】
図１６Ａは、一例として、画素データ受信部１０１に入力される、２６個の画素データのうちの１１個の画素データが示される。なお、図１６Ａに示される１１個の画素データは、図１５Ａに示した１１個の画素データと同じである。図１６Ａに示される画素Ｐ１，Ｐ２以外の複数の画素は、符号化の対象となる符号化対象画素である。
【０４５０】
本実施の形態の処理では、グループＧ１において同じ条件で、６個の余剰ビットが発生する。本実施の形態では、余剰ビット制御部１０９を用いて使用する余剰ビットの数（余剰ビットカウンタの値）を制御することで、局所的な量子化誤差を分散させることを特徴とする。
【０４５１】
本実施の形態において、使用する余剰ビットの数を制御するための処理を、余剰ビット制御処理という。まず、余剰ビット制御処理の前に、以下の処理が行なわれるとする。
【０４５２】
まず、量子化幅設定部１０４は、固定ビット幅（ｓビット）のデータ内の各グループの量子化幅Ｑの情報を余剰ビット制御部１０９へ送信する。
【０４５３】
余剰ビット制御部１０９は、受信した各グループの量子化幅Ｑの情報から予測誤差の出現頻度を測定する。この処理により、各グループにどれだけの余剰ビットを確保すればよいのかを推測する。
【０４５４】
例えば、図１６Ａに示される複数の画素データが、画像符号化装置１００Ａに入力された場合、量子化幅設定部１０４は、量子化幅情報Ｃｏｄｅであるコード"０００"，"１１０"、"１１０"を、余剰ビット制御部１０９へ送信する。
【０４５５】
そして、余剰ビット制御処理が行なわれる。
【０４５６】
図１７は、余剰ビット制御処理のフローチャートである。
【０４５７】
余剰ビット制御部１０９では、量子化幅情報Ｃｏｄｅであるコード“０００”，“１１０”、“１１０”情報を受信し、グループＧ１では１画素辺り２つの余剰ビットが発生すると判断する。そのため、余剰ビットカウンタの値は、６まで増加する（Ｓ５０１、Ｓ５０２）。
【０４５８】
グループＧ２およびグループＧ３では、対応する量子化幅Ｑが“０”より大きい。そのため、余剰ビット制御部１０９は、余剰ビットが使用（消費）されることが量子化前に先読みできる（Ｓ５０３）。そこで、余剰ビット制御処理は、６個の余剰ビットを、グループＧ２とグループＧ３で半分（３個）ずつ消費させるための命令を、余剰ビットカウント部１０５へ送る（Ｓ５０４）。
【０４５９】
さらに、１回の符号化処理（量子化処理も含む）において消費できる余剰ビットの最大ビット数を決定しておくことにより、グループ内でも余剰ビットの消費を分散させることができる。具体的には、１回の符号化において消費できる余剰ビットの最大ビット数を２ビットと予め決めておく。この場合、図１５Ａの画素Ｐ６に対応する予測差分値を符号化する際において、最大ビット数である２個の余剰ビットが消費される。
【０４６０】
画素Ｐ６の次の画素Ｐ７に対応する予測差分値を符号化する際は、４個の余剰ビットが存在しており、グループＧ２で消費できる余剰ビットの数は１つである。そのため、画素Ｐ７に対応する予測差分値を符号化する際に、１個の余剰ビットを使用（消費）する。
【０４６１】
画素Ｐ８に対応する予測差分値を符号化する際は、３個の余剰ビットが存在している。しかしながら、グループＧ２内で消費可能な余剰ビットのビット数をオーバーしてしまうため、ここでは消費せずに量子化を行う。
【０４６２】
グループＧ３においても、３個の余剰ビットが消費可能である。そのため、画素Ｐ９に対応する予測差分値を符号化する際は、最大ビット数である２個の余剰ビットが消費される。画素Ｐ１０に対応する予測差分値を符号化する際は、余剰ビットは１つ存在するため、量子化幅Ｑを“１”低減させることができる。
【０４６３】
グループＧ３に属する画素Ｐ１１に対応する予測差分値を符号化する際は、余剰ビットが存在しないため、余剰ビットは使用せずに予測差分値を符号化することになる。
【０４６４】
図１６Ａの例においては、グループＧ２およびグループＧ３に対応する量子化幅Ｑが同じであったため、発生した複数の余剰ビットを半分ずつ割り当てた。
【０４６５】
なお、図１７のステップＳ５０４の処理において、余剰ビットの割り振りは、余剰ビットを消費するグループにおける量子化幅を基準に、量子化幅が大きいほど余剰ビットを多く割り当てるように決定してもよい。
【０４６６】
次に、実施の形態３における余剰ビットカウント部１０５が行なう余剰ビットカウンタを更新するための処理（以下、余剰ビットカウンタ更新処理Ａという）について説明する。
【０４６７】
余剰ビットカウンタ更新処理Ａは、図２の画像符号化処理のステップＳ１２０の余剰ビットカウンタ更新処理の代わりに行なわれる処理である。
【０４６８】
図１８は、余剰ビットカウンタ更新処理Ａのフローチャートである。図１８に示されるように、余剰ビットカウンタ更新処理Ａは、図３の余剰ビットカウンタ更新処理と比較して、ステップＳ１２３の代わりにステップＳ１２３Ａの処理が行なわれる点と、ステップＳ１２３Ｂ，Ｓ１２３Ｃ，Ｓ１２３Ｄ，Ｓ１２３Ｅの処理がさらに行なわれる点とが異なる。
【０４６９】
なお、図１８において、図３のステップ番号と同じステップ番号の処理は、実施の形態１で説明した処理と同様な処理が行なわれるので詳細な説明は繰り返さない。
【０４７０】
まず、余剰ビットの消費が必要となる場合に行なわれるステップＳ１２３Ａの処理は、ステップＳ１２３の処理と比較して、同一グループ内で消費可能な余剰ビットが存在するかどうかの判定が追加されている。すなわち、ステップＳ１２３Ａの処理により、グループ内で消費可能な余剰ビットの数をオーバーしないように制御される。
【０４７１】
次に、ステップＳ１２３Ｂの処理では、余剰ビットの数が消費できる最大ビット数より大きいか否かが判定される。最大ビット数より大きい場合（Ｓ１２３ＢでＹＥＳ）、余剰ビットカウント部１０５は、余剰ビットカウンタの値を、消費できる最大ビット数に更新する（Ｓ１２３Ｃ）。これにより、グループ内での余剰ビットの消費が分散するように制御される。
【０４７２】
次に、ステップＳ１２３Ｄの処理では、余剰ビットカウント部１０５が、同一グループ内で消費可能な余剰ビット数のうち消費された余剰ビットの数だけ余剰ビットカウンタの値を減少させる。この処理により、同一グループ内の次の画素に対応する予測差分値の符号化時に、グループ内で消費可能な余剰ビットの数をオーバーしないように閾値が更新される。
【０４７３】
次に、ステップＳ１２３Ｅの処理では、ステップＳ１２３Ｂの処理で、余剰ビットの数が消費できる最大ビット数より大きい場合（Ｓ１２３ＢでＹＥＳ）、余剰ビットカウント部１０５が、消費できる最大ビット数に更新されている余剰ビットカウンタの値を、元の余剰ビット数（保有している総余剰ビット数）に更新する。
【０４７４】
実施の形態１では、発生する順番で量子化誤差を抑制するようにしていた。しかしながら、実施の形態３では、余剰ビット制御部１０９により、固定ビット幅（ｓビット）のデータ内の画素データを先読みする。この処理により、量子化誤差を局所的に救済するのではなく、使用可能な余剰ビットの範囲内で量子化誤差をできる限り抑制し、かつ分散することができる。
【０４７５】
（画像復号化装置１１０Ａが行なう復号化処理）
本実施形態における復号化処理においては、アンパッキング部１１６が、所得したデータを、初期画素値データと、複数の符号化画素データと、量子化幅情報Ｃｏｄｅに分離する。そのため、画像復号化装置１１０Ａの余剰ビット制御部１１１は、量子化幅情報Ｃｏｄｅのみを予め取得する。この処理により、余剰ビット制御部１１１は、各グループにどれだけの余剰ビットを確保すればよいのかを容易に推測することが可能である。
【０４７６】
余剰ビット制御部１１１の制御処理は、図１７で説明した余剰ビット制御部１０９の処理と同じになるので詳細な説明は繰り返さない。
【０４７７】
＜実施の形態３の変形例１＞
実施の形態３では、余剰ビット制御部１０９が、固定ビット幅（ｓビット）のデータ内の各グループの量子化幅Ｑの情報を、量子化幅設定部１０４から取得する。この処理により、余剰ビット制御部１０９は、固定ビット幅のデータ内の各グループにどれだけの余剰ビットを確保すればよいのかを推測していた。
【０４７８】
しかし、この方式では、図１７に示したように、固定ビット幅のデータ内の量子化幅Ｑの先読み処理が全て終了していなければ、各グループに割り当てる余剰ビットを決定することができない。そのため、画像符号化処理において処理の遅延が生じてしまう。
【０４７９】
そこで、固定ビット幅のデータ内の量子化幅Ｑの先読みはせずに、一回の量子化において消費できる最大ビット数のみを、予め決定しておいてもよい。これにより、固定ビット幅のデータ内における局所的な量子化誤差を分散させることが可能になる。
【０４８０】
しかし、この変形例１によると、固定ビット幅のデータ内に含ませるための画素データに急峻な変化が一箇所しか見られない場合でも、消費する余剰ビット数が制限されてしまうというデメリットもある。
【０４８１】
そのため、実施の形態３とその変形例１を必要に応じて切り替えるように符号化処理を行っても良い。
【０４８２】
＜実施の形態４＞
本実施の形態では、デジタルスチルカメラに設けられる撮像素子が、画像符号化装置を含む場合のデジタルスチルカメラの構成の例を説明する。
【０４８３】
図１９は、実施の形態４における、デジタルスチルカメラ２０００の構成を示すブロック図である。図１９に示されるように、デジタルスチルカメラ２０００は、図１２のデジタルスチルカメラ１３００と比較して、撮像部１３１０の代わりに撮像部１３１０Ａを備える点と、画像処理部１３２０の代わりに画像処理部１３２０Ａを備える点とが異なる。それ以外の構成は、デジタルスチルカメラ１３００と同様なので詳細な説明は繰り返さない。
【０４８４】
撮像部１３１０Ａは、図１２の撮像部１３１０と比較して、撮像素子１３１２の代わりに撮像素子１３１２Ａを含む点が異なる。それ以外は、撮像部１３１０と同様なので詳細な説明は繰り返さない。撮像素子１３１２Ａは、図１の画像符号化装置１００を含む。
【０４８５】
また、画像処理部１３２０Ａは、図１２の画像処理部１３２０と比較して、さらに、図１の画像復号化装置１１０を含む点が異なる。それ以外の構成は、画像処理部１３２０と同様なので詳細な説明は繰り返さない。
【０４８６】
撮像素子１３１２Ａに含まれる画像符号化装置１００は、撮像素子１３１２Ａにより撮像された画素信号を符号化し、符号化により得られたデータを、画像処理部１３２０Ａ内の画像復号化装置１１０へ送信する。
【０４８７】
画像処理部１３２０Ａ内の画像復号化装置１１０は、画像符号化装置１００から受信したデータを復号化する。この処理により、撮像素子１３１２Ａと集積回路内の画像処理部１３２０Ａ間のデータ転送効率を向上させることが可能となる。
【０４８８】
したがって、本実施の形態のデジタルスチルカメラ２０００は、実施の形態２のデジタルスチルカメラ１３００よりも、同じメモリ容量で、同じ解像度の連写枚数を増やしたり、動画像の解像度を高める等といった高速撮像動作を実現することが可能になる。
【０４８９】
＜実施の形態５＞
一般的に、プリンタ装置においては、印刷物を、いかに高精度でかつ高速で印刷するかが求められる。そのため、通常では以下の処理が行なわれる。
【０４９０】
まず、パーソナルコンピュータ（以下、パソコンという）が、印刷対象であるデジタルの画像データを圧縮符号化し、符号化により得られた符号化データを、プリンタへ送る。そして、プリンタは、受信した符号化データを復号化する。
【０４９１】
そこで、本実施の形態では、実施の形態１で説明した画像符号化装置１００をパソコンに搭載し、画像復号化装置１１０をプリンタに搭載することで、印刷物の画質劣化の抑圧を図る。
【０４９２】
図２０は、実施の形態５における、パソコン３０００およびプリンタ４０００を示す図である。図２０に示されるように、パソコン３０００は、画像符号化装置１００を備える。プリンタ４０００は、画像復号化装置１１０を備える。
【０４９３】
最近では、印刷対象となる画像データが示す画像には、ポスターや広告等のように、文字や図形、自然画像が混在している。このような画像においては、単色で表現された文字あるいは図形を示す画像のデータがパソコン３０００内画像符号化装置１００に入力されると、余剰ビットが生じる可能性が高い。
【０４９４】
画像符号化装置１００は、生じた余剰ビットを使用して画像を符号化する。これにより、固定ビット幅のデータ内において、文字あるいは図形と自然画像の境界となる、急峻な濃度変化が発生した場合の量子化誤差を抑制することが可能となる。
【０４９５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【産業上の利用可能性】
【０４９６】
本発明に係る画像符号化装置および画像復号化装置は、集積回路のデータ転送のバス幅は固定長を保証しつつ、転送単位内での可変長符号化を行なうことができる。したがって、デジタルスチルカメラやネットワークカメラ、プリンタ等のように、画像を扱う装置において、ランダムアクセス性は維持したまま、画質の劣化を防止しつつ、画像データを符号化・復号化が可能になる。そのため、近年の画像データ処理量の増大へのキャッチアップに有用である。
【符号の説明】
【０４９７】
１００，１００Ａ  画像符号化装置
１０２  予測値算出部
１０３  差分算出部
１０４，１１４  量子化幅設定部
１０５，１１５  余剰ビットカウント部
１０６  パッキング部
１０７，１１７  固定ビット幅設定部
１０８  量子化処理部
１０９，１１１  余剰ビット制御部
１１０，１１０Ａ  画像復号化装置
１１６  アンパッキング部
１１８  逆量子化処理部
１１９  出力部
１３００，２０００  デジタルスチルカメラ
１３１０，１３１０Ａ  撮像部
１３１２，１３１２Ａ  撮像素子
１３２０，１３２０Ａ  画像処理部
３０００  パソコン
４０００  プリンタ
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
画像を符号化する画像符号化装置であって、
前記画像符号化装置は、画像を符号化するための符号化処理を行ない、
前記画像は、予め順序付けられた複数の画素から構成され、
前記符号化処理は、
符号化対象となる画素である符号化対象画素の値と前記符号化対象画素の値を予測した値である予測値との差分値のバイナリデータの桁数Ｂが、所定のビット数Ｍより小さい場合、Ｍ−Ｂにより算出されるＪ個のビットである余剰ビットを余らせて、Ｍより小さい桁数Ｂに対応する差分値を符号化する処理と、
前記桁数ＢがＭより大きい場合であって、かつ、Ｋ個の前記余剰ビットが存在する場合、Ｍより大きい桁数Ｂに対応する差分値をＬ（≦Ｋ）個の余剰ビットを使用して符号化する処理とを含み、
前記画像符号化装置は、前記符号化処理を連続するＴ（≧２）個の画素のうちＵ（≦Ｔ）個の画素の各々に対して行なう処理を、前記複数の画素のうち、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成し、
複数の前記所定符号量の符号化データは、前記画像を復元するためのデータであり、
各前記所定符号量の符号化データは、対応するＴ個の画素を復元するためデータである
画像符号化装置。
【請求項２】
前記画像符号化装置は、
前記所定符号量を設定する設定部と、
前記符号化対象画素の近傍の１以上の画素の画素値を使用して前記予測値を算出する予測値算出部と、
前記符号化対象画素の値と算出された前記予測値との前記差分値を算出する差分算出部と、
算出された前記差分値を符号付２進数で表現したバイナリデータの桁数Ｂに基づいて前記差分値を量子化する場合に使用する量子化幅値を設定する量子化幅設定部と、
前記桁数ＢがＭより小さい場合、前記余剰ビットの数を示すビットカウンタの値を増加させ、前記桁数ＢがＭより大きい場合、前記ビットカウンタの値を減少させるビットカウント部と、
前記ビットカウント部により前記ビットカウンタの値が減少された場合、前記量子化幅設定部により設定された前記量子化幅値より小さい値に更新した上で、前記差分値を量子化する量子化処理を行ない、該量子化処理により得られた値を符号化する量子化処理部とを備える、
請求項１に記載の画像符号化装置。
【請求項３】
前記画像符号化装置は、前記符号化処理を連続するＴ個の画素のうちＵ個の画素の各々に対して行なうことにより、Ｕ個のデータを生成し、
前記画像符号化装置は、
生成されたＵ個のデータを使用して、Ｕ個のデータを含む前記所定符号量の符号化データを生成するパッキング部
を備える、請求項１に記載の画像符号化装置。
【請求項４】
前記符号化処理は、前記桁数ＢがＭより小さい場合、前記Ｍより小さい桁数Ｂに対応する差分値をＢビットで符号化し、前記桁数ＢがＭより大きい場合であって、かつ、Ｋ個の前記余剰ビットが存在する場合、前記Ｍより大きい桁数Ｂに対応する差分値をＬ個の余剰ビットを使用して（Ｍ＋Ｌ）ビットで符号化する処理である、
請求項１に記載の画像符号化装置。
【請求項５】
前記ビットカウント部は、１つの前記所定符号量の符号化データが生成される毎に、前記ビットカウンタの値を“０”に設定する、
請求項２に記載の画像符号化装置。
【請求項６】
前記ビットカウンタに設定される値は、０以上の正の値である、
請求項２に記載の画像符号化装置。
【請求項７】
前記量子化処理部が前記量子化処理を行なうときに使用する余剰ビットの値は、前記量子化幅設定部により設定された前記量子化幅値以下である、
請求項２に記載の画像符号化装置。
【請求項８】
前記所定符号量の符号化データは、前記量子化幅設定部に設定された前記量子化幅値を示す情報を１つ以上と、１つ以上の符号化されたデータを含む、
請求項２に記載の画像符号化装置。
【請求項９】
前記符号化対象画素の値を示す画素データは、外部の撮像素子から出力されるＲＡＷデータである、
請求項１に記載の画像符号化装置。
【請求項１０】
前記符号化対象画素の値を示す画素データは、外部の撮像素子から出力されるＲＡＷデータから生成された輝度信号または色差信号のデータである、
請求項１に記載の画像符号化装置。
【請求項１１】
前記符号化対象画素の値を示す画素データは、ＪＰＥＧ（Joint Photographic Experts Group）画像のデータを伸張することにより得られる輝度信号または色差信号のデータである、
請求項１に記載の画像符号化装置。
【請求項１２】
前記符号化対象画素の値を示す画素データが、輝度信号または色差信号のデータである場合、所定符号量の符号化データを生成する処理において、輝度信号のデータより色差信号のデータを優先して符号化する、
請求項１０または１１に記載の画像符号化装置。
【請求項１３】
前記符号化対象画素の値を示す画素データが、輝度信号または色差信号のデータである場合、前記色差信号のデータをＩＱ軸変換し、Ｑ信号に割り当てるビットをＥ（Ｅ：Ｍより小さい自然数）ビットにすることで、Ｍ−Ｅにより算出されるＦ（Ｆ：自然数）個のビットを余剰ビットとして余らせて、該余剰ビットを使用して輝度信号のデータを符号化する、
請求項１０または１１に記載の画像符号化装置。
【請求項１４】
前記符号化対象画素の値を示す画素データが、輝度信号または色差信号のデータである場合、前記色差信号のデータをＩＱ軸変換し、Ｑ信号に割り当てるビットをＥ（Ｅ：Ｍより小さい自然数）ビットにすることで、輝度信号のデータに割り当てるビットをＷ（Ｗ：Ｍより大きい自然数）ビットとして符号化する
請求項１０または１１に記載の画像符号化装置。
【請求項１５】
前記画像符号化装置は、さらに、余剰ビット制御部を備え、
前記余剰ビット制御部は、符号化の処理の前に、所定符号量の符号化データに含ませる対象となる全ての符号化対象画素の値に対して、前記予測値との差分を求め、予測誤差の出現頻度を測定することにより、前記所定符号量の符号化データ内での局所的な量子化誤差を分散させるように、符号化の際に使用する余剰ビットを制御する、
請求項２に記載の画像符号化装置。
【請求項１６】
前記画像符号化装置は、さらに、最大使用ビット設定部を備え、
前記最大使用ビット設定部は、１つの符号化対象画素の符号化において使用可能な余剰ビットの最大の数を指定することにより、符号化の際に使用する余剰ビットを制御する、
請求項２に記載の画像符号化装置。
【請求項１７】
請求項１に記載の画像符号化装置を備える、
デジタルスチルカメラ。
【請求項１８】
請求項１に記載の画像符号化装置を備える、
デジタルビデオカメラ。
【請求項１９】
請求項１に記載の画像符号化装置を備える、
撮像素子。
【請求項２０】
画像を符号化する画像符号化方法であって、
画像を符号化するための符号化処理を行なうステップを備え、
前記画像は、予め順序付けられた複数の画素から構成され、
前記符号化処理は、
符号化対象となる画素である符号化対象画素の値と前記符号化対象画素の値を予測した値である予測値との差分値のバイナリデータの桁数Ｂが、所定のビット数Ｍより小さい場合、Ｍ−Ｂにより算出されるＪ個のビットである余剰ビットを余らせて、Ｍより小さい桁数Ｂに対応する差分値を符号化する処理と、
前記桁数ＢがＭより大きい場合であって、かつ、Ｋ個の前記余剰ビットが存在する場合、Ｍより大きい桁数Ｂに対応する差分値をＬ（≦Ｋ）個の余剰ビットを使用して符号化する処理とを含み、
前記画像符号化方法は、さらに、
前記符号化処理を連続するＴ（≧２）個の画素のうちＵ（≦Ｔ）個の画素の各々に対して行なう処理を、前記複数の画素のうち、連続するＴ個の画素毎に行なうことにより、所定符号量の符号化データを複数生成するステップを含み、
複数の前記所定符号量の符号化データは、前記画像を復元するためのデータであり、
各前記所定符号量の符号化データは、対応するＴ個の画素を復元するためデータである
画像符号化方法。
【請求項２１】
前記画像符号化方法は、
前記所定符号量を設定する設定ステップと、
前記符号化対象画素の近傍の１以上の画素の画素値を使用して前記予測値を算出する予測値算出ステップと、
前記符号化対象画素の値と算出された前記予測値との前記差分値を算出する差分算出ステップと、
算出された前記差分値を符号付２進数で表現したバイナリデータの桁数Ｂに基づいて前記差分値を量子化する場合に使用する量子化幅値を設定する量子化幅設定ステップと、
前記桁数ＢがＭより小さい場合、前記余剰ビットの数を示すビットカウンタの値を増加させ、前記桁数ＢがＭより大きい場合、前記ビットカウンタの値を減少させるビットカウントステップと、
前記ビットカウントステップにより前記ビットカウンタの値が減少された場合、前記量子化幅設定ステップにより設定された前記量子化幅値より小さい値に更新した上で、前記差分値を量子化する量子化処理を行ない、該量子化処理により得られた値を符号化する量子化処理ステップとを備える、
請求項２０に記載の画像符号化方法。
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2010035433.tif 000030
【図２】
2010035433.tif 000031
【図３】
2010035433.tif 000032
【図４】
2010035433.tif 000033
【図５】
2010035433.tif 000034
【図６】
2010035433.tif 000035
【図７Ａ】
2010035433.tif 000036
【図７Ｂ】
2010035433.tif 000037
【図８】
2010035433.tif 000038
【図９Ａ】
2010035433.tif 000039
【図９Ｂ】
2010035433.tif 000040
【図１０】
2010035433.tif 000041
【図１１】
2010035433.tif 000042
【図１２】
2010035433.tif 000043
【図１３Ａ】
2010035433.tif 000044
【図１３Ｂ】
2010035433.tif 000045
【図１４】
2010035433.tif 000046
【図１５Ａ】
2010035433.tif 000047
【図１５Ｂ】
2010035433.tif 000048
【図１６Ａ】
2010035433.tif 000049
【図１６Ｂ】
2010035433.tif 000050
【図１７】
2010035433.tif 000051
【図１８】
2010035433.tif 000052
【図１９】
2010035433.tif 000053
【図２０】
2010035433.tif 000054
【図２１】
2010035433.tif 000055
【図２２】
2010035433.tif 000056
【国際調査報告】
2010035433.tif 000057
2010035433.tif 000058
2010035433.tif 000059
2010035433.tif 000060