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