JP3857820B2 - 画像圧縮装置および画像伸張装置 - Google Patents
画像圧縮装置および画像伸張装置 Download PDFInfo
- Publication number
- JP3857820B2 JP3857820B2 JP24759198A JP24759198A JP3857820B2 JP 3857820 B2 JP3857820 B2 JP 3857820B2 JP 24759198 A JP24759198 A JP 24759198A JP 24759198 A JP24759198 A JP 24759198A JP 3857820 B2 JP3857820 B2 JP 3857820B2
- Authority
- JP
- Japan
- Prior art keywords
- difference value
- value
- improved
- bit
- pixel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は、カラー静止画像を圧縮、伸張処理するための画像圧縮装置および画像伸張装置に関する。
【0002】
【従来の技術】
カラー静止画像を圧縮することによって通信回路を介した画像転送を効率的に行うため、JPEG(Joint Photographic Expert Group )方式と呼ばれる画像圧縮方式が標準化されており、JPEG方式を大きく分けると基本方式(ベースラインプロセス)を代表とする非可逆符号化方式と可逆符号化方式の2つに分類される。後者の可逆符号化方式では、1画面の画像において隣接する画素間に相関関係があることから、符号化(圧縮)対象である画素データを隣接する画素データから予測し、予測した画素データと実際の画素データとの差分値を求め、この差分値を符号化する。符号化された画素データは、復号化され、予測値と差分値に基いて元の画素データに復元され、これにより原画像が復元される。
【0003】
【発明が解決しようとする課題】
このような可逆符号化方式によれば、高解像度の画像に対して歪みを生じさせずに圧縮、伸張処理することができる。しかし、すべての画素データを符号化する必要があるために、直交変換と量子化の実行によりゼロラン(画素データを1列に並べたときの0の値である画素データが連続すること)を作り出す基本方式に比べて画像を効率的に圧縮することができない。
【0004】
本発明は、高解像度の画像に対して画質劣化を生じさせず、かつ効率的に圧縮、伸張処理するための画像圧縮装置および画像伸張装置を得ることを目的としている。
【0005】
【課題を解決するための手段】
本発明の画像圧縮装置は、入力される静止画像に対応した、複数の画素データによって構成される画像データについて、各画素データ毎に、隣接する画素データに基いて予測値を求める予測値生成手段と、予測値と画素データとの差分をとることにより、差分値を求める差分値生成手段と、予測値に対応した差分値のとりうる範囲に基いて改良差分値を生成する改良差分値生成手段と、改良差分値を符号化することにより、圧縮画像データを求める符号化手段とを備え、改良差分値生成手段が、差分値のとりうる範囲のなかで、差分値と正負の符号を反転させた差分値を、差分値のとりうる範囲における差分値の増加もしくは減少方向に対応させて、絶対値の小さい順に並べることにより、改良差分値を求めることを特徴とする。
【0006】
改良差分値生成手段は、絶対値が等しい差分値と正負の符号を反転させた差分値を、正の値と負の値が交互に現れるように並べることが望ましい。
【0007】
改良差分値生成手段は、予測値に対応した差分値のとりうる範囲を第1および第2および第3の部分的範囲に分けるとともに、第1の部分的範囲を第4の部分的範囲に置き換え、差分値の存在しない非差分値範囲に存在する数値を第3の部分的範囲に存在する差分値の代わりに使用して、第2の部分的範囲に存在する差分値と非差分値範囲に存在する数値が絶対値の小さい順に交互に並べられた第5の部分的範囲を生成し、第4および第5の部分的範囲に存在するビット列で表される改良差分値を求めることが望ましい。
【0008】
改良差分値生成手段は、第1の部分的範囲における上限の差分値と下限の差分値との絶対値が等しくなるように、差分値のとりうる範囲を第1および第2および第3の部分的範囲に分けることが望ましい。
【0009】
改良差分値生成手段は、非差分値範囲に存在する数値の合計と第3の部分的範囲に存在する差分値の合計とが等しくなるように、差分値のとりうる範囲を第1および第2および第3の部分的範囲に分けることが望ましい。
【0010】
予測値生成手段は、符号化対象の画素データに対し、1つ左隣の画素データを予測値とすることが望ましい。
【0011】
本発明の画像伸張装置は、圧縮画像データを復号化することにより、改良差分値を求める復号化手段と、改良差分値のとりうる範囲と差分値のとりうる範囲を対応させることにより、差分値を復元する手段と、差分値と予測値との差をとることで画素データを順次復元することにより、画像データを復元する手段とを備えたことを特徴とする。
【0012】
予測値は、先に復元された画素データに基いて求められることが望ましい。
【0013】
本発明の画像圧縮装置は、入力される静止画像に対応した、複数の画素データによって構成される画像データについて、各画素データ毎に、隣接する画素データに基いて予測値を求める予測値生成手段と、予測値と画素データとの差分をとることにより、差分値を求める差分値生成手段と、予測値に対応した差分値のとりうる範囲に基いてビット列で表される改良差分値を生成する改良差分値生成手段と、改良差分値のビット列を上位ビット列と下位ビット列の2つに分離し、上位ビット列で表される上位改良差分値と下位ビット列で表される下位改良差分値を求めるビット分離手段と、上位改良差分値を符号化することにより、圧縮画像データを求める符号化手段とを備え、改良差分値生成手段が、差分値のとりうる範囲のなかで、差分値と正負の符号を反転させた差分値を、差分値のとりうる範囲における差分値の増加もしくは減少方向に対応させて、絶対値の小さい順に並べることにより、改良差分値を求めることを特徴とする。
【0014】
ビット分離手段は、改良差分値のビット列を右シフト演算し、右シフト演算により変換される改良差分値のビット列を上位ビット列、右シフト演算により分離される下位ビットを下位ビット列とすることが望ましい。
【0015】
本発明の画像伸張装置は、圧縮画像データを復号化することにより、上位改良差分値を求める復号化手段と、復号化手段により得られた上位改良差分値と入力される下位改良差分値をビット合成することにより、改良差分値を求めるビット合成手段と、改良差分値のとりうる範囲と差分値のとりうる範囲を対応させることにより、差分値を復元する手段と、差分値と予測値との差をとることで前記画素データを順次復元することにより、画像データを復元する手段とを備えたことを特徴とする。
【0016】
ビット合成手段は、上位改良差分値のビット列を左シフト演算し、左シフト演算により空白になるビット部分に下位ビット列を当てはめることにより、改良差分値を求めることが望ましい。
【0017】
本発明の画像圧縮装置は、入力される静止画像に対応し、ビット列で表される画像データに対し、画像データのビット列を2つに分離して上位ビット列で表される上位画像データと下位ビット列で表される下位画像データとを求めるビット分離手段と、複数の画素データから構成される上位画像データについて、各画素データ毎に、隣接する画素データに基いて予測値を求める予測値生成手段と、予測値と画素データとの差分をとることにより、差分値を求める差分値生成手段と、予測値に対応した差分値のとりうる範囲に基いて改良差分値を生成する改良差分値生成手段と、改良差分値を符号化することにより、圧縮画像データを求める符号化手段とを備え、改良差分値生成手段が、差分値のとりうる範囲のなかで、差分値と正負の符号を反転させた差分値を、差分値のとりうる範囲における差分値の増加もしくは減少方向に対応させて、絶対値の小さい順に並べることにより、改良差分値を求めることを特徴とする。
【0018】
ビット分離手段は、画像データのビット列を右シフト演算し、右シフト演算により変換される画像データのビット列を上位ビット列、右シフト演算により分離される下位ビットを前記下位ビット列とすることが望ましい。
【0019】
本発明の画像伸張装置は、圧縮画像データを復号化することにより、前記改良差分値を求める復号化手段と、改良差分値のとりうる範囲と差分値のとりうる範囲を対応させることにより、前記差分値を復元する手段と、差分値と予測値との差をとることで画素データを順次復元することにより、上位画像データを復元する手段と、入力される下位画像データと上位画像データをビット合成することにより、画像データを求めるビット合成手段とを備えたことを特徴とする。
【0020】
ビット合成手段は、上位画像データのビット列を左シフト演算し、左シフト演算により空白になるビット部分に下位ビット列を当てはめることにより、画像データを求めることが望ましい。
【0021】
本発明の画像圧縮装置は、入力される静止画像に対応した、複数の画素データによって構成される画像データについて、各画素データ毎に、隣接する画素データに基いて予測値を求める予測値生成手段と、予測値と画素データとの差分をとることにより、差分値を求める差分値生成手段と、予測値に対応した差分値のとりうる範囲に基いてビット列で表される改良差分値を生成する改良差分値生成手段と、改良差分値が負の値である場合には改良差分値を−1で掛け算して正の値に変換する手段と、はじめから正である、もしくは−1が掛け算されたことにより正の値に変換された改良差分値のビット列を上位ビット列と下位ビット列の2つに分離し、上位ビット列で表される上位改良差分値と下位ビット列で表される下位改良差分値を求めるビット分離手段と、下位改良差分値の下位ビット列に対し、改良差分値が正の値である場合には正の付加符号ビット、改良差分値が負の値である場合には負の付加符号ビットを付加する付加手段と、改良差分値を符号化することにより、圧縮画像データを求める符号化手段とを備え、改良差分値生成手段が、差分値のとりうる範囲のなかで、差分値と正負の符号を反転させた差分値を、差分値のとりうる範囲における差分値の増加もしくは減少方向に対応させて、絶対値の小さい順に並べることにより、改良差分値を求めることを特徴とする。
【0022】
本発明の画像伸張装置は、圧縮画像データを復号化することにより、上位改良差分値を求める復号化手段と、付加符号ビットを除いた下位改良差分値と上位改良差分値をビット合成することにより、改良差分値を求めるビット合成手段と、下位改良差分値に付加されていた付加符号ビットが負の値である場合には、ビット合成手段により得られた改良差分値に−1を掛け算して負の値に変換する手段と、改良差分値のとりうる範囲と差分値のとりうる範囲を対応させることにより、差分値を復元する手段と、差分値と予測値との差をとることで前記画素データを順次復元することにより、画像データを復元する手段と、
を備えたことを特徴とする。
【0023】
【発明の実施の形態】
以下、本発明の実施形態である画像圧縮装置および画像伸張装置について図面を参照して説明する。
図1〜図10は第1の実施形態例である画像圧縮装置および画像伸張装置に関する図であり、図1は、画像圧縮装置のブロック図である。
【0024】
被写体像16( 静止画像)は、レンズ17を介して撮像素子18の受光面上に結像される。撮像素子18の受光面には光電変換素子が配設され、光電変換素子の上面にはレッド(R)、グリーン(G)、ブルー(B)の各色フィルタ要素からなるカラーフィルタが設けられている。各光電変換素子は一つの画素データに対応しており、被写体像は各光電変換素子によって所定の色に対応した電気的な画像信号に変換される。そして画像信号は、A/D変換器( 図示せず)においてアナログ信号からデジタル信号に変換される。
【0025】
デジタル化された画像信号は、信号処理回路(図示せず)において輝度データY、色差データCb、Crに変換されて画像メモリ19に画像データとして記録される。画像メモリ19には、輝度データYおよび色差データCb、Crがそれぞれ独立した領域に格納されており、各メモリ領域は1画像分の記憶容量を有している。輝度データYおよび色差データCb、Crは、画像圧縮装置10に対する入力データである。
【0026】
輝度データYおよび色差データCb、Crの画像データは、1画面において複数のブロックに分割され、ブロック単位で処理される。各ブロックは、8×8個の画素データからなる。
【0027】
輝度データYおよび色差データCb,Crは、画像メモリ19から読み出され、画像圧縮装置10内に送られる。画像圧縮装置10は、予測値生成部11、差分値生成部12、改良差分値生成部13、グループ部14、ハフマン符号化部15から構成されている。輝度データYおよび色差データCb,Crは、画像圧縮装置10内においてそれぞれ別々に圧縮処理される。
【0028】
各ブロックにおける輝度データYおよび色差データCb,Crの画素データに基き、予測値が予測値生成部11において求められる。予測値は、符号化(圧縮)対象である画素データの値を隣接する画素データの値に基いて予測した値である。
【0029】
輝度データYおよび色差データCb,Crの画素データは、差分値生成部12において差分値に変換される。この差分値は、予測値生成部11において得られた予測値から実際の画素データの値が引き算されることにより求められる。
【0030】
輝度データYおよび色差データCb,Crの差分値は、改良差分値生成部13において改良差分値に変換される。改良差分値は、予測値および差分値に基いて算出され、画素データの代わりに符号化の対象とされる。
【0031】
輝度データYおよび色差データCb,Crの改良差分値は、グループ部14においてグループ表Tに基いてグループ分けされ、改良差分値が属するグループのグループ番号とそのグループ番号に対応した付加ビットが求められる。
【0032】
グループ部14において得られたグループ番号に基いてハフマンテーブルHを参照することにより、符号語がハフマン符号化部15において求められる。ハフマン符号化部15ではエントロピー符号化が行われ、ここではエントロピー符号化の一つとしてハフマン符号化が適用される。なお、グループ分けおよびハフマン符号化を、ここでは符号化とする。符号語とグループ部14において得られた付加ビットを組み合わせた圧縮画像データ(符号化データ)が、記録媒体Mに記録される。
【0033】
図2、図3を用いて、1つの画素ブロックに対する圧縮処理について説明する。ここでは、輝度データYの画素データを対象とする。
【0034】
図2では、画素ブロックPと予測値行列Eと差分値行列Hと改良差分値行列KHが8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ画素値(画素データを以下では画素値とする)Pyx、予測値Eyx、差分値Hyx、改良差分値KHyxと表される。
【0035】
画素値Pyxにおいて、添字yは縦方向の位置を表し、上から0,1,2,・・・7である。また、添字xは横方向の位置を表し、左から0,1,2,・・・7である。例えば、x=1、y=1の場合、画素値Pyx=162である。
【0036】
まず符号化対象の画素値Pyxに隣接する画素値Pyxに基いて予測値Eyxが求められる。予測値Eyxの算出方法は幾つか知られているが、ここでは符号化対象である画素値Pyxの1つ左隣の画素値Pyx-1をそのまま予測値Eyxとする方法(前値予測)により予測値Eyxを求める。ただし、画素ブロックPにおいて最左端の列に位置する画素値Py0に対する予測値Ey0は、1つ左隣の画素ブロックPにおいて最右端の列に位置する画素値Py7から求められる。
【0037】
例えば、符号化対象である画素値P17(=132)の1つ左隣である画素値P16(=14)が予測値E17(=14)となる。
【0038】
次に予測値Eyxとそれに対応する実際の画素値Pyxに基き、画素値Pyxが差分値Hyxに変換される。すなわち、予測値Eyxから画素値Pyxが引き算されて、差分値Hyxが求められる。
【0039】
例えば、予測値E17(=14)から画素値P17=(132)が引き算されることにより、差分値H17(=−118)が求められる。
【0040】
差分値Hyxは、予測値Eyxと画素値Pyxに基いて改良差分値KHyxに変換される。改良差分値KHyxは、−128〜127の範囲のいずれかの値であり、画素値Pyxの代わりに符号化の対象とされる。例えば、差分値H17(=−118)は、改良差分値KH17(=66)に変換される。また、差分値H21(=−1)はそのまま改良差分値KH21(=−1)となる。なお、改良差分値KHyxに関しては後述する。
【0041】
図3では、グループ表TとハフマンテーブルHが示されており、具体的に改良差分値KH17(=66)がグループ分けおよびハフマン符号化されている。
【0042】
改良差分値KHyxは、グループ表Tに基いてグループ分けされる。グループ表Tは、改良差分値KHyxの属するグループを示す欄と、そのグループ番号Cを示す欄と、グループ番号Cに対応した付加ビット数を示す欄から構成されている。
【0043】
例えば、グループ表Tを参照して改良差分値KH17(=66)をグループ分けすると、グループ番号[7]が得られ、付加ビット数は7となる。
【0044】
グループ分けにより得られたグループ番号Cと付加ビット数から、付加ビットが求められる。付加ビットは、改良差分値KHyxが属するグループにおいて改良差分値KHyxの値を特定するために設けられたビットである。
【0045】
グループ番号[7]のグループにおいて66は−127から数えて67番目に大きい数であることから、改良差分値KHyx(=66)に対する付加ビットは−127が2進数「0000000」であることを考慮すれば66の2進数「1000010」である。
【0046】
グループ分けにより得られたグループ番号Cに基いてハフマンテーブルHを参照することにより、符号語が求められる。ハフマンテーブルHは、グループ番号Cを示す欄と、符号長を示す欄と、符号語を示す欄から構成され、改良差分値KHyxのグループ番号Cに対応した符号語を有している。
【0047】
改良差分値KH17(=66)のグループ番号「7」に基いてハフマンテーブルHを参照することにより、改良差分値KH17(=66)の符号語は、「11110」である。
【0048】
この符号語と付加ビットを組み合わせることで符号化データが求まる。改良差分値KH17(=66)の場合、符号語「11110」と付加ビット「1000011」を組み合わせることにより、符号化データ「111101000011」が求められる。
【0049】
このように改良差分値KHyxをグループ分け、ハフマン符号化することで符号化データ、すなわち圧縮画像データが求められる。
【0050】
図4、図5、図6を用いて、改良差分値KHyxについて詳述する。ここでは、輝度データYの改良差分値KHyxを対象とする。
【0051】
図4には、予測値E17(=14)に対する画素値Pyx、差分値Hyx、および改良差分値KHyxのとりうる範囲を載せた表Sが示されている。また図5には、予測値E17(=14)に対する画素値Pyx、差分値Hyx、改良差分値KHyxのとりうる範囲が棒線で表されており、棒線L0は画素値Pyxのとりうる範囲、棒線L1は差分値Hyxのとりうる範囲、棒線L2は改良差分値KHyxのとりうる範囲を示している。
【0052】
輝度データYの画素値Pyxのとりうる範囲は、棒線L0で示されるように0〜255である。一方予測値E17(=14)に対する差分値Hyxのとりうる範囲は、棒線L1で示されるように−241〜14である。従って予測値E17(=14)に対する差分値Hyxは、整数範囲(非差分値範囲)LF(15〜127)には存在しない。
【0053】
棒線L1で示される差分値Hyxが存在する範囲を、部分的範囲(第3の部分的範囲)LC(−241〜−129)、部分的範囲(第2の部分的範囲)LB(−128〜−15)、部分的範囲(第1の部分的範囲)LA(−14〜14)に分ける。整数範囲LFに存在する整数の合計数と部分的範囲LCに存在する差分値H yx の合計数は等しい。また、部分的範囲LAでは、差分値Hyxが−14〜14の範囲の値をとる。
【0054】
部分的範囲LCに存在する差分値Hyxの代わりに整数範囲LFに存在する整数が用いられるのが、棒線L2で示された改良差分値KHyxのとりうる範囲である。棒線L2における部分的範囲(第5の部分的範囲)LE(−128〜−15)では、整数範囲LFに存在する整数と部分的範囲LBに存在する差分値Hyxが絶対値の小さい順に交互に並べられている。この部分的範囲LEは表Sにおいて網線で表される。具体的に部分的範囲LEに存在する改良差分値KHyxの一部(−15、15、−16)がそれぞれ(n1、n2、n3)で示されている。
【0055】
この部分的範囲LEにおける改良差分値KHyxの並びは、部分的範囲LBに存在する差分値Hyxとその差分値Hyxに対して正負の符号を反転させた差分値−Hyxを、交互に絶対値が小さい順に並べたものと等しい。
【0056】
棒線L2における部分的範囲(第4の部分的範囲)LD(−14〜14)に存在する改良差分値KHyxは、棒線L1における部分的範囲LAに存在する差分値Hyxと対応している。なお、部分的範囲LA,部分的範囲LDにおける最大値(ここでは14)と最小値(ここでは−14)の絶対値は等しい。
【0057】
棒線L2で示される改良差分値KHyxのとりうる範囲と棒線L1で示される差分値Hyxのとりうる範囲を対応させることにより、差分値Hyxに対応する改良差分値KHyxが求められる。例えば、差分値Hyxが−129である場合、それに対応する改良差分値KHyxは−72である。
【0058】
図4で示されるように、改良差分値KHyxの絶対値の増加方向と、差分値Hyxの増加あるいは減少方向(ここでは減少方向)は対応している。そのため改良差分値KHyxとそれに対応する差分値Hyxをそれぞれ比べてみると、差分値Hyxの絶対値が大きければ大きいほど改良差分値KHyxの絶対値と差分値Hyxの絶対値との差はより大きい。
【0059】
ここで図3で示されたグループ表Tによるグループ分けを取り上げると、改良差分値KHyxは差分値Hyxに比べより小さいグループ番号Cのグループに属し、対応する付加ビットのビット数も少なくなる。また、グループ番号[8]に属する改良差分値KHyxは−128のみとなり付加ビットは必要としない。従って改良差分値KHyxの符号化データのビット数は差分値Hyxに比べ少なくなる。
【0060】
図6には、予測値E17(=14)に対して差分値Hyxである確率分布が示されている。この確率分布は、棒線L1で示される範囲の差分値Hyxの中で実際に差分値Hyxになる確率を表している。横軸は差分値Hyxのとりうる範囲であり、縦軸は実際に差分値Hyxとなる確率である。
【0061】
1画面の画像において隣接する画素間には相関関係があることから、差分値Hyxは0付近の値である確率が高い。従って、差分値Hyxの確率分布曲線はガウス分布曲線Vで表される。
【0062】
部分的範囲LEにおいて改良差分値KHyxは、絶対値が小さい順に正と負が交互に現れるように並べられている。従って改良差分値KH yx の絶対値の増加率(数値が大きくなっていく割合)は、部分的範囲LBにおける差分値Hyxの絶対値の増加率に対して半分の増加率となる。絶対値の小さい差分値Hyxほど実際に符号化対象となる確率が高いことを考慮すれば、絶対値の増加率が抑えられている改良差分値KHyxの符号化データのビット数は、差分値Hyxに比べて少なくなる。
【0063】
このように予測値Eyxと差分値Hyxのとりうる範囲に基いて改良差分値KHyxのとりうる範囲を生成し、差分値Hyxの代わりに改良差分値KHyxを符号化すれば、符号化データに必要とするビット数、すなわち情報量が少なくて済む。
【0064】
色差データCb,Crの改良差分値KHyxも、輝度データYと同じように求められる。ただし、色差データCb,Crの範囲は−128〜127であるため、色差データCb、Crに128が足し算されてから同じように改良差分値KHyxが求められる。
【0065】
図7は、1つの改良差分値行列KHを求める手順を示したフローチャートである。図2、図7を用いて1つの改良差分値行列KHを求める手順を説明する。
【0066】
ステップ101では、添字yが0に設定される。ステップ202では、添字xが0に設定され、求められる改良差分値KHyxが行列の横方向を表す行の中で最も左側に位置する改良差分値KHyxに決定される。求められる改良差分値KHyxが決定されると、ステップ103に移る。そしてステップ103では、予測値Eyxが128以上であるか否かが判定される。
【0067】
ステップ103において予測値Eyxが128以上であると判断されると、ステップ104に移る。ステップ104では、画素値Pyxが(1)式
Pyx<2×Eyx−255 ・・・・・(1)
を満たすか否かが判定される。画素値Pyxが(1)式を満たすと判断されると、ステップ106に移る。画素値Pyxが(1)式を満たさないと判断されると、ステップ105に移り、改良差分値KHyxが(2)式で求められ、ステップ113に移る。
KHyx=Eyx−Pyx ・・・・・(2)
【0068】
ステップ106では、画素値Pyxが偶数であるか否かが判断される。画素値Pyxが偶数であると判断されるとステップ107に移り、改良差分値KHyxが(3)式で求められる。
KHyx=Pyx/2−128 ・・・・・(3)
画素値Pyxが偶数ではないと判断されるとステップ108に移り、改良差分値KHyxが(4)式で求められる。
KHyx=128−(Pyx+1)/2 ・・・・(4)
改良差分値KHyxが求められると、ステップ113に移る。
【0069】
例えば、予測値E61(=175)に対する画素値P61(=19)は奇数であるから、改良差分値KH61は(4)式より
KH61=128−(19+1)/2=118
である。
【0070】
ステップ103において予測値Eyxが128以上ではないと判断されるとステップ109に移る。ステップ109では、画素値Pyxが(5)式を満たすか否かが判断される。
Pyx>2×Eyx ・・・・・(5)
画素値Pyxが(5)式を満たすと判断されるとステップ110に移る。画素値Pyxが上式を満たさないと判断されるとステップ105に移り、改良差分値KHyxは(2)式で求められ、ステップ113に移る。
【0071】
ステップ110では、画素値Pyxが偶数であるか否かが判定される。画素値Pyxが偶数でないと判断されるとステップ111に移り、改良差分値KHyxは(6)式で求められる。
KHyx=−(Pyx+1)/2 ・・・・・(6)
画素値Pyxが偶数であると判断されるとステップ112に移り、改良差分値KHyxが(7)式で求められる。
KHyx=Pyx/2 ・・・・・(7)
改良差分値KHyxが求められると、ステップ113に移る。
【0072】
例えば、予測値E17(=14)に対する画素値P17(=132)は偶数であることから、改良差分値KH17は(7)式より
KH17=132/2=66
となる。
【0073】
ステップ113では、添字xに1が加算される。すなわち、求められる改良差分値KHyxが1つ右隣の改良差分値KHyxに決定される。
【0074】
ステップ114では、添字xが8であるか否かが判定される。すなわち、1つ改良差分値KHyxが1つの行においてすべて求められたか否かが判定される。添字xが8であると判断されるとステップ115に移り、添字xが8でないと判断されるとステップ103に戻る。
【0075】
ステップ115では、添字yに1が加算される。すなわち、求められる改良差分値KHyxが1つ下の行の改良差分値KHyxに決定される。
【0076】
ステップ116では、添字yが8であるか否かが判定される。すなわち、改良差分値KHyxがすべて求められたか否か判定される。添字yが8であると判定されると改良差分値行列KHを求める演算は終了する。添字yが8でないと判断されるとステップ102に戻る。なお、1画面におけるすべての画素ブロックPに対してこのような改良差分値行列KHを求める演算が行われる。
【0077】
以上のように圧縮処理において差分値Hyxの代わりに改良差分値KHyxを符号化することにより、画像データを符号化するのに必要な情報量が少なくて済み、画像を効率的に圧縮することができる。
【0078】
図8は、本発明の第1の実施形態を適用した画像伸張装置のブロック図である。この画像圧縮装置では、第1の実施形態における画像圧縮装置によって圧縮された画像データを復元する。
【0079】
圧縮画像データは、記録媒体Mから読み出され、画像伸張装置20に送られる。画像伸張装置20は、ハフマン復号化部21、グループ合成部22、差分値復元部23、画素データ復元部24、予測値生成部25から構成されている。
【0080】
記録媒体Mに記録された輝度データYおよび色差データCb,Crの圧縮画像データは、ハフマン復号化部21において復号化される。すなわち、ハフマンテーブルHを参照することにより、付加ビットを除いた符号化データからグループ番号が求められる。なおハフマン符号化部21では、圧縮画像データに対するエントロピー復号化が行われ、ここではエントロピー復号化の一つであるハフマン復号化が適用される。
【0081】
復号化により得られたグループ番号と付加ビットに基いてグループ表Tを参照することにより、改良差分値KHyxがグループ合成部22において求められる。なお、ハフマン復号化とグループ合成部22において改良差分値を求めることを、ここでは復号化とする。そして輝度データYおよび色差データCb,Crの改良差分値は、差分値復元部23において差分値に変換される。
【0082】
この差分値と予測値生成部25において生成される予測値を用いることにより、画素データが画素データ復元部24において生成される。すなわち、すでに復元された画素データに基いて生成された予測値と差分値との差から画素データが求められる。求められた画素データは予測値生成部25に送られ、次に復元される画素データに対する予測値の算出に用いられる。
【0083】
順次画素データが復元されることにより、輝度データYおよび色差データCb,Crの画像データが復元され、画像データが画像メモリ19に送られる。
【0084】
図9を用いて圧縮画像データの伸張処理について説明する。ここでは、輝度データYの圧縮画像データを対象としている。
【0085】
図9には、改良差分値行列KHと差分値行列Hと予測値行列Eと画素ブロックPが8×8のマトリクスで示されている。各マトリクスの要素は、それぞれ改良差分値KHyx、差分値Hyx、予測値Eyx、画素値Pyxと表される。
【0086】
圧縮画像データは、ハフマンテーブルHとグループ表Tに基いて復号化され、改良差分値KHyxに変換される。
【0087】
。予測値Eyxにおける改良差分値KHyxのとりうる範囲と差分値Hyxのとりうる範囲を対応させることにより、改良差分値KHyxから差分値Hyxが復元される。例えば予測値EyxがE44(=167)のとき、改良差分値KH44(=116)は差分値H44(=144)に復元される。
【0088】
差分値Hyxとそれに対応する予測値Eyxから、画素値Pyxが求められる。すなわち、予測値Eyxから差分値Hyxが引き算されることで、画素値Pyxが求められる。画素値Pyxは、画素ブロックPにおいて1つずつ復元され、復元された画素値Pyxが次に復元される画素値Pyxに対する予測値Eyxとなる。
【0089】
例えば、予測値E44(=167)から差分値H44(=144)が引き算されることにより、画素値P44(=23)が求められる。画素値P44は、次に復元される画素値P45に対する予測値E45(=23)となる。
【0090】
このように順次画素値Pyxが復元されることにより、1つの画素ブロックPが復元される。
【0091】
図10は、改良差分値KHyxと予測値Eyxに基いて画素値Pyxを求める手順を示したフローチャートである。図9、図10を用いて1つの画素ブロックPを求める手順を説明する。
【0092】
ステップ201では、添字yが0に設定される。ステップ202では、添字xが0に設定され、復元される画素値Pyxが行列の横方向を表す行の中で最も左側の画素値Pyxに決定される。復元される画素値Pyxが決定されるとステップ203に移り、予測値Eyxが128以上であるか否かが判定される。
【0093】
ステップ203において、予測値Eyxが128以上であると判断されると、ステップ204に移る。 ステップ204では改良差分値KHyxが(8)式を満たすか否かが判定される。
Eyx−255≦KHyx≦255−Eyx ・・・・(8)
改良差分値KHyxが(8)式を満たすと判断されると、ステップ205に移り、画素値Pyxが(9)式で求められる。
Pyx=Eyx−KHyx ・・・・(9)
画素値Pyxが求められると、ステップ213に移る。
【0094】
例えば、改良差分値KH32(=7)に対する予測値E32(=168)は、(8)式を満たすことから、画素値P32は(9)式より
P32=168−7=161
となる。
【0095】
ステップ204において(8)式を満たさないと判断されると、ステップ206に移り、改良差分値KHyxが0以上であるか否かが判定される。改良差分値KHyxが0以上であると判定されるとステップ208に移り、画素値Pyxが(10)式で求められる。
Pyx=255−2×KHyx ・・・・・(10)
改良差分値KHyxが0以上ではない判断されると、ステップ207に移り、画素値Pyxが(11)式で求められる。
Pyx=KHyx×2+256 ・・・・・(11)
画素値Pyxが求められるとステップ213に移る。
【0096】
ステップ203において予測値Eyxが128以上でないと判断されるとステップ209に移る。ステップ209では、改良差分値KHyxが(12)式を満たすか否かが判定される。
−Eyx≦KHyx≦Eyx ・・・・・(12)
改良差分値Eが(12)式を満たすと判断されるとステップ205に移り、(9)式により画素値Pyxが求められる。改良差分値KHyxが(12)式を満たさないと判断されるとステップ210に移る。
【0097】
ステップ210では、改良差分値KHyxが0以上であるか否かが判断される。改良差分値KHyxが0以上であると判断されると、ステップ212に移り画素値Pyxが(13)式で求められる。
Pyx=2×KHyx ・・・・・(13)
改良差分値KHyxが0以上でないと判断されるとステップ211に移り画素値Pyxが(14)式で求められる。
Pyx=−2×KHyx−1 ・・・・・(14)
画素値Pyxが求められると、ステップ213に移る。
【0098】
例えば、予測値E17(=14)に対する改良差分値KH17(=66)は0以上であるから、画素値P17は(13)式より
P17=2×66=132
となる。
【0099】
ステップ213では、添字xに1が加算される。すなわち、復元される画素値Pyxが1つ右隣の画素値Pyxに決定される。
【0100】
ステップ214では、添字xが8であるか否かが判定される。すなわち、画素値Pyxが1つの行においてすべて復元されたか否かが判定される。添字xが8であると判断されるとステップ215に移り、添字xが8でないと判断されるとステップ203に戻る。
【0101】
ステップ215では、添字yに1が加算される。すなわち、復元される画素値Pyxが1つ下の行の画素値Pyxに決定される。
【0102】
ステップ216では、添字yが8であるか否かが判定される。すなわち、1つの画素ブロックPにおいて画素値Pyxがすべて復元されたか否かが判定される。添字yが8であると判定されると画素値Pyxを復元する演算は終了する。添字yが8でないと判断されるとステップ202に戻る。なお、1画面におけるすべての改良差分値行列KHyxに対してこのような画素ブロックPを求める演算が行われる。
【0103】
以上のように第1の実施形態によれば、差分値Hyxの代わりに改良差分値KHyxを符号化することにより、圧縮画像データの情報量が少なくて済み、画像を効率的に圧縮することができる。また改良差分値KHyxから画素値Pyxを復元することにより無歪みで画像を伸張することができる。
【0104】
図11〜図18は、第2の実施形態例である画像圧縮装置および画像伸張装置に関する図である。
【0105】
図11は、第2の実施形態例を適用した画像圧縮装置のブロック図である。
【0106】
第1の実施形態と同じように被写体像16の光がレンズ17を介して撮像素子18に結像される。撮像素子18において光電変換により発生した画像信号はA/D変換器および信号処理回路においてそれぞれ処理されて輝度データYおよび色差データCb,Crに変換され、画像データとして画像メモリ19に記録される。輝度データYおよび色差データCb,Crの画像データは画像メモリ19から読み出され、画像圧縮装置30に送られる。画像圧縮装置30は、予測値生成部31、差分値生成部32、改良差分値生成部33、ビット分離部34、グループ部35、ハフマン符号化部36から構成されている。
【0107】
輝度データYおよび色差データCb、Crの画像データは、1画面において複数のブロックに分割され、ブロック単位で処理される。各ブロックは、8×8個の画素データからなる。
【0108】
各ブロックにおける輝度データYおよび色差データCb,Crの画素データに基き、予測値が予測値生成部31において求められる。予測値は、符号化対象である1つの画素データに隣接する画素データに基づいて求められる。
【0109】
輝度データYおよび色差データCb,Crの画素データは、差分値生成部32において差分値に変換される。すなわち、予測値生成部31において得られた予測値から画素データが引き算されることにより、差分値が求められる。
【0110】
輝度データYおよび色差データCb,Crの差分値は、改良差分値生成部33において改良差分値に変換される。
【0111】
輝度データYおよび色差データCb,Crは、画像圧縮装置30内においてビット列で表され、輝度データYおよび色差データCb,Crの改良差分値もビット列で表される。改良差分値のビット列は、ビット分離部34において上位改良差分値のビット列(上位ビット列)と下位改良差分値のビット列(下位ビット列)に分離される。上位改良差分値はグループ部35に送られるが、下位改良差分値は符号化されずに記録媒体Mの下位記録領域M2に記録される。
【0112】
輝度データYおよび色差データCb,Crの上位改良差分値は、グループ部35においてグループ表Tに基いてグループ分けされ、上位改良差分値が属するグループのグループ番号とそれに対応した付加ビットが求められる。
【0113】
グループ部35において得られたグループ番号に基いてハフマンテーブルHを参照することにより、符号語がハフマン符号化部36において求められる。そして、符号語とグループ部35において得られた付加ビットを組み合わせた圧縮画像データが、記録媒体Mの圧縮画像データ記録領域M1に記録される。
【0114】
図12を用いて画素ブロックPに対する圧縮処理を説明する。
【0115】
図12には、改良差分値行列KHと、上位改良差分値行列DHと、下位改良差分値行列DLがそれぞれ8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ改良差分値KHyx、上位改良差分値DHyx、下位改良差分値DLyxと表される。なお、改良差分値行列KHは、第1の実施形態例の図2で示された改良差分値行列KHであり、画素値Pyxから改良差分値KHyxへの圧縮処理に関しては第1の実施形態と同じであるためここでは省略する。
【0116】
改良差分値KHyxのビット列は、ビット分離により上位ビット列と下位ビット列に分離され、上位ビット列で表される上位改良差分値DHyxと下位ビット列で表される下位改良差分値DLyxが求められる。ここでは、ビット分離されるビット数は1ビットであり、1ビットに対してもビット列として表す。
【0117】
例えば、改良差分値KH01(=6)のビット列は、ビット分離により上位ビット列と下位ビット列に分離され、上位ビット列で表される上位改良差分値DH01(=3)と下位ビット列で表される下位改良差分値DL01(=0)が求められる。ビット分離に関しては後述する。
【0118】
ビット分離により得られた上位改良差分値DHyxは、グループ表およびハフマンテーブルHに基いてグループ分けおよびハフマン符号化される。このとき、上位改良差分値DHyxは改良差分値KHyxに比べ小さい値となる。そのため、ハフマン符号化する前に実行されるジグザグスキャンにより並べられた上位改良差分値KHyxの1次元の列では、ゼロランの出現頻度が増え、ゼロラン長(ゼロランの長さ)が長くなる。したがって、上位改良差分値KHyxに対するグループ分けおよびハフマン符号化により得られる符号化データのビット数は、改良差分値Hyxに比べて少ない。すなわち、符号化データに必要な情報量が少なくて済む。
【0119】
図12、図13を用いて1ビットのビット分離を詳述する。そのため、改良差分値KHyxをビット列で表す。1つの改良差分値KHyxには、通常8ビットが割り当てられるが、ここでは16ビットを割り当てる。改良差分値KHyxは正負の値をとり、16ビットにおいて1ビットが符号ビットとして使用される。
【0120】
図13では、図12の改良差分値KH01(=6)に対するビット分離を示している。改良差分値KH01(=6)は、2進法で表すと「00000110」であり、符号ビットFは正を示す「0」である。16ビットのビット列B0において、2進数「00000110」は右端からの8ビットを使用して表される。「0」である符号ビットFは、ビット列B0の左端にある最上位ビットに置かれる。改良差分値KH01(=6)が正の値であるため、使用されていない7ビットJ0は「0000000」である。
【0121】
ビット分離の実行により、改良差分値KH01(=6)のビット列は、右シフト演算される。右シフト演算とは、ビット列における各ビットを指定されたビット数だけ右に桁移動させる演算である。1ビットの右シフト演算が実行されると、各ビットが右に1つずつ移動させられ、「0」である右端の最下位ビットKは分離される。そして右シフト演算により空白になった左端の最上位ビットには、「0」である符号ビットFが埋められる。
【0122】
このようにして、ビット列B0は右シフト演算により7ビットを使用して2進数「0000011」が表されるビット列B1に変換される。このビット列B1が上位ビット列であり、2進数「「00000011」を10進法で表した値が上位改良差分値DH01の値となる。すなわち、上位改良差分値DH01の値は3である。
【0123】
一方、右シフト演算により分離された最下位ビットKが下位ビット列であり、2進数「0」を10進法で表した値が、下位改良差分値DL01の値である。すなわち、下位改良差分値DL01の値は0である。
【0124】
このように改良差分値KH01(=6)のビット列B0は、ビット分離により上位ビット列であるビット列B1と下位ビット列である最下位ビットKに分離され、上位改良差分値DH01(=3)と下位改良差分値DL01(=0)が求められる。
【0125】
以上のようなビット分離の実行により、改良差分値KHyxのビット列が上位ビット列と下位ビット列に分離され、上位ビット列で表される上位改良差分値DHyxと下位ビット列で表される下位改良差分値DLyxが求められる。
【0126】
負である改良差分値KHyxに対しても同じようにビット分離される。ただし、符号ビットFは負を示す「1」であり、使用されない7ビットJ0は「1111111」である。また、2ビット、3ビットのビット分離を実行する場合、2ビット、3ビットの右シフト演算が実行される。
【0127】
図14は、改良差分値KHに対するnビットのビット分離の手順を示したフローチャートである。図12、図14を用いてビット分離のフローチャートを説明する。
【0128】
ステップ301では、添字yが0に設定される。ステップ302では、添字xが0に設定され、行列の横方向を表す行の中で最も左側の改良差分値KHyxがビット分離の対象とされる。改良差分値KH00が(=2)が最初のビット分離の対象である。
【0129】
ステップ303では、改良差分値KHyxに対してnビットのビット分離を実行するためにnビットの右シフト演算が実行され、上位改良差分値DHyxが求められる。
【0130】
例えば1ビットのビット分離の場合、改良差分値KH01(=6)のビット列が1ビット右シフト演算され、上位改良差分値DH01(=3)が求められる。また3ビットのビット分離の場合、改良差分値KH01(=6)のビット列が3ビット右シフト演算され、上位改良差分値DH01(=0)が求められる。
【0131】
ステップ304では、下位改良差分値DLyxが求められる。下位改良差分値DLyxを求める算術式は、(15)式のようになる。
【0132】
DLyx=KHyx−(DHyx×2n ) ・・・・・・(15)
【0133】
例えば1ビットのビット分離の場合、改良差分値KH01(=6)に対する上位改良差分値DH01の値は3であることから、下位改良差分値DL01は、
DL01=6−(3×21 )=0
となる。
【0134】
また3ビットのビット分離の場合、改良差分値KH01(=6)に対する上位改良差分値DH01の値は0であることから、下位改良差分値DL01は、
DL01=6−(0×23 )=6
となる。
【0135】
ステップ305では、添字xに1が加算される。すなわち、1つ右隣の改良差分値KHyxがビット分離の対象とされる。
【0136】
ステップ306では、添字xが8であるか否かが判定される。すなわち、1つの行に対してすべての改良差分値KHyxがビット分離されたか否かが判定される。添字xが8であると判断されるとステップ307に移り、添字xが8でないと判断されるとステップ303に戻る。
【0137】
ステップ307では、添字yに1が加算される。すなわち、1つ下の行の改良差分値KHyxがビット分離の対象とされる。
【0138】
ステップ308では、添字yが8であるか否かが判定される。すなわち、すべての改良差分値KHyxがビット分離されたか否か判定される。添字yが8であると判定されると一連のビット分離は終了する。添字yが8でないと判断されるとステップ302に戻る。
【0139】
このように第2実施形態では、第1実施形態と違って改良差分値KHyxを得た後にビット分離を実行して、ビット分離により得られる上位改良差分値を符号化する。圧縮処理においてビット分離を実行することにより、符号化データに必要な情報量が少なくて済むため、画像を効率的に圧縮することができる。
【0140】
図15は、第2の実施形態で適用される画像伸張装置のブロック図である。この画像伸張装置では、第2の実施形態における画像圧縮装置によって圧縮された画像データを復元する。
【0141】
輝度データYおよび色差データCb,Crの圧縮画像データは記録媒体Mの圧縮画像データ記録領域M1から読み出され、画像伸張装置40に送られる。画像伸張装置40は、ハフマン復号化部41、グループ合成部42、ビット合成部43、差分値復元部44、画素データ復元部45、予測値生成部46から構成されている。
【0142】
輝度データYおよび色差データCb,Crの圧縮画像データから付加ビットを除いた符号語は、ハフマン復号化部41において復号化される。すなわち、ハフマンテーブルHを参照することにより符号語からグループ番号が求められる。この復号化はハフマン符号化とは逆の作用である。
【0143】
復号化により得られたグループ番号と付加ビットに基いてグループ表Tを参照することにより、上位改良差分値がグループ合成部42において求められる。
【0144】
輝度データYおよび色差データCb、Crの上位改良差分値と記録媒体Mの下位記録領域M2から読み出された下位改良差分値がビット合成部43においてビット合成され、改良差分値が復元される。
【0145】
輝度データYおよび色差データCb,Crの改良差分値は、差分値復元部44において差分値に変換される。この差分値と予測値生成部46において生成される予測値を用いることにより、画素データが画素データ復元部45において生成される。すなわち、すでに復元された画素データに基いて生成された予測値と差分値との差から画素データが求められる。求められた画素データは予測値生成部46に送られ、次に復元される画素データに対する予測値の算出に用いられる。
【0146】
順次画素データが復元されることにより、輝度データYおよび色差データCb,Crの画像データが復元され、画像データは画像メモリ19に送られる。
【0147】
図16を用いて、輝度データYの圧縮画像データに対する伸張処理を説明する。
【0148】
図16には、上位改良差分値行列DHと下位改良差分値行列DLと改良差分値行列KHが8×8のマトリクスで例示されいてる。各マトリクスの要素は、それぞれ上位改良差分値DHyx、下位改良差分値DLyx、改良差分値KHyxと表される。
【0149】
上位改良差分値とそれに対応する下位改良差分値DL yx がビット合成され、改良差分値KHyxが復元される。ビット合成されるビット数は、ここでは1ビットである。
【0150】
例えば、上位改良差分値DH01(=3)と下位改良差分値DL01(=0)がビット合成され、改良差分値KH01(=6)が復元される。ビット合成に関しては、後述する。
【0151】
改良差分値KHから画像データまでの伸張処理に関しては図2で示したように第1の実施形態例と同じであるためここでは省略する。
【0152】
図16、図17を用いて、nビットのビット合成を詳述する。そのため、上位改良差分値DHyxをビット列で表す。
【0153】
図17では、上位改良差分値DH01(=3)と下位改良差分値DL01(=0)に対する1ビットのビット合成を示している。
【0154】
上位改良差分値DH01(=3)は、図13で示したように16ビットのビット列B1で表される。下位改良差分値DL01(=0)は2進数で「0」であり、下位ビット列K1で表される。
【0155】
ビット合成の実行により、上位改良差分値DH01(=3)のビット列B1は、左シフト演算される。左シフト演算は、各ビットを指定されたビット数だけ左に桁移動させる演算である。1ビットの左シフト演算が実行されると、各ビットが左に1つずつ移動させられ、左端の「0」である符号ビットFが分離される。そして左シフト演算によって空白になった右端の最下位ビットには、「0」である下位ビット列K1が当てはめられる。また、左端から2番目の「0」であるビットF0が左端の最上位ビットに移動され、符号ビットFとなる。
【0156】
左シフト演算により、ビット列B1は8ビットを使用して2進数「00000110」が表されるビット列B0に変換される。そして2進数「00000110」を10進法で表した値が改良差分値KH01となる。すなわち、改良差分値KH01の値は6である。
【0157】
このように、上位改良差分値DH01(=3)と下位改良差分値DL01(=0)ビット合成され、改良差分値KH01(=6)が復元される。
【0158】
なお、2ビット、3ビットのビット合成を実行する場合、2ビット、3ビットの左シフト演算が実行される。
【0159】
図18は、上位改良差分値DHyxと下位改良差分値DLyxに対するnビットのビット合成の手順を示したフローチャートである。図16、図18を用いてビット合成のフローチャートを説明する。
【0160】
ステップ401では、縦方向の位置を表すyが0に設定される。ステップ402では、横方向の位置を表す添字xが0に設定され、行列の横方向を表す行の中でもっとも左側の上位改良差分値DHyxと下位改良差分値DLyxがビット合成の対象とされる。上位改良差分値DH00と下位改良差分値DL00が最初のビット合成の対象である。
【0161】
ステップ403では、上位改良差分値DHyxに対してnビットの左シフト演算が実行され、改良差分値KHyxが求められる。改良差分値KHyxを求める算術式は、(16)式のようになる。
【0162】
KHyx=DHyx×2n +DLyx ・・・・・・(16)
【0163】
例えば、1ビットのビット合成の場合、上位改良差分値DH01(=3)と下位改良差分値DL01(=0)に対して改良差分値KH01の値は、
D01=3×21 +0=6
となる。
【0164】
例えば、3ビットのビット合成の場合、上位改良差分値DH01(=0)と下位改良差分値DL01(=6)に対して改良差分値KH01の値は
D01=0×23 +6=6
となる。
【0165】
ステップ404では、添字xに1が加算される。これによりビット合成される対象の上位改良差分値DHyxと下位改良差分値DLyxが1つ右隣の上位改良差分値DHyxと下位改良差分値DLyxに移される。
【0166】
ステップ405では、添字xが8であるか否かが判定される。すなわち、横方向の1つの行に関して全ての上位改良差分値DHyxと下位改良差分値DLyxがビット合成されたか否かが判定される。添字xが8であると判定されるとステップ406に移る。添字xが8でないと判定されるとステップ403に戻る。
【0167】
ステップ406では、添字jに1が加算される。すなわち、ビット合成される対象の上位改良差分値DHyxと下位改良差分値DLyxが、1つ下の行の上位改良差分値DHyxと下位改良差分値DLyxに移される。
【0168】
ステップ407では、添字yが8であるか否かが判定される。すなわち、全ての上位改良差分値DHyxと下位改良差分値DLyxがビット合成されたか否かが判定される。添字yが8であると判定されると、1つの上位改良差分値行列DHと下位改良差分値行列DLに対するビット合成は終了する。添字yが8でないと判定されると、ステップ402に戻る。
【0169】
以上のように第2の実施形態によれば、ビット分離を実行して改良差分値を上位改良差分値DHyxと下位改良差分値DLyxに分離することにより、符号化データに必要な情報量を少なくすることができる。すなわち、画像を効率的に圧縮することができる。また、ビット合成を実行して上位改良差分値DHyxと下位改良差分値DLyxから改良差分値KHyxを復元することにより、無歪みで画像を復元することができる。
【0170】
図19〜図26は、第3の実施形態である画像圧縮装置および画像伸張装置に関する図である。
【0171】
図19は、第3の実施形態である画像圧縮装置のブロック図である。
【0172】
第1の実施形態と同様に被写体像16の光はレンズ17を介して撮像素子18上に結像され、撮像素子18において光電変換により画像信号が発生する。画像信号はA/D変換器においてアナログ信号からデジタル信号に変換され、また信号処理回路(図示せず)において輝度データYおよび色差データCb,Crに変換される。輝度データYおよび色差データCb,Crは画像データとして画像メモリ19に記録される。
【0173】
輝度データYおよび色差データCb、Crの画像データは、1画面において複数のブロックに分割され、ブロック単位で処理される。各ブロックは、8×8個の画素データからなる。
【0174】
輝度データYおよび色差データCb,Crの画像データは、画像メモリ19から読み出され、画像圧縮装置50に送られる。画像圧縮装置50は、ビット分離部51、予測値生成部52、差分値生成部53、改良差分値生成部54、グループ部55、ハフマン符号化部56から構成されている。
【0175】
2進数のビット列で表される輝度データYおよび色差データCb,Crの画像データは、ビット分離部51において上位画像データと下位画像データに分離される。そして下位画像データは、圧縮処理されずにそのまま記録媒体Mの下位記録領域M2に記録される。
【0176】
各ブロックにおける輝度データYおよび色差データCb,Crの上位画素データに基き、予測値が予測値生成部52において求められる。予測値は、符号化(圧縮)対象である上位画素データの値を隣接する上位画素データを基にして予測した値である。
【0177】
輝度データYおよび色差データCb,Crの上位画素データは、差分値生成部53において差分値に変換される。この差分値は、予測値生成部52において得られた予測値から実際の画素データの値が引き算されることにより求められる。
【0178】
差分値は改良差分値生成部54において改良差分値に変換される。改良差分値は、画素データと予測値に基いて算出され、差分値の代わりに符号化の対象とされる。
【0179】
輝度データYおよび色差データCb,Crの改良差分値は、グループ部55においてグループ表Tに基いてグループ分けされ、改良差分値が属するグループのグループ番号とそのグループ番号に対応した付加ビットが求められる。
【0180】
グループ部55において得られたグループ番号に基いてハフマンテーブルHを参照することにより、符号語がハフマン符号化部56において求められる。そして、符号語とグループ部55において得られた付加ビットを組み合わせた圧縮画像データ(符号化データ)が、記録媒体Mに記録される。
【0181】
図20、図21を用いて1つの画素ブロックに対する圧縮処理を説明する。ただし、輝度データYの画素ブロックを対象とする。
【0182】
図20には、画素ブロックPと、上位画素ブロックPHと、下位画素ブロックPLとがそれぞれ8×8のマトリクスで示されている。各マトリクスの要素は、それぞれ画素値Pyx、上位画素値PHyx、下位画素値PLyxと表される。
【0183】
各画素値Pyxのビット列はビット分離によって上位ビット列と下位ビット列に分離され、上位ビット列で表される上位画素値PHyxと下位ビット列で表される下位画素値PLyxが求められる。ビット分離されるビット数は、ここでは1ビットである。
【0184】
例えば画素値P01(=153)は、ビット分離により上位ビット列と下位ビット列に分離され、上位ビット列で表される上位画素値PH01(=76)と下位ビット列で表される下位画素値PL01(=1)が求められる。
【0185】
図21では、上位画素ブロックPHと予測値行列Eと差分値行列Hと改良差分値行列KHが8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ上位画素値PHyx、予測値Eyx、差分値Hyx、改良差分値KHyxと表される。
【0186】
第1の実施形態と同じようにように上位画素値PHyxに基いて予測値Eyxが求められる。ここでは符号化対象の上位画素値PHyxの1つ左隣の上位画素値PHyx-1の値が、そのまま予測値Eyxとなる。
【0187】
例えば、符号化対象である上位画素値PH01(=76)の1つ左隣である上位画素値P00(=79)が予測値E01(=79)となる。
【0188】
次に予測値Eyxとそれに対応する実際の上位画素値PHyxに基き、上位画素値PHyxが差分値Hyxに変換される。すなわち、予測値Eから上位画素値Pyxが引き算されて、差分値Hyxが求められる。
【0189】
例えば、予測値E01(=79)から上位画素値P01=(76)が引き算されることにより、差分値H01(=3)が求められる。
【0190】
差分値Hyxは、予測値Eyxと画素値Pyxに基いて改良差分値KHyxに変換される。改良差分値KHyxは、−64〜63の範囲のいずれかの値であり、差分値Hyxの代わりに符号化の対象とされる。例えば、差分値H22(=69)は、改良差分値KH22(=56)に変換される。
【0191】
改良差分値KHは、グループ表TおよびハフマンテーブルHに基いてグループ分けおよびハフマン符号化され、これにより符号化データが求められる。
【0192】
図22は、上位画素ブロックPHに対してnビットのビット分離が実行された場合に1つの改良差分値行列KHを求める手順を示したフローチャートである。図21、図22を用いて改良差分値KHyxを求める手順を説明する。
【0193】
ステップ501では、添字yが0に設定される。ステップ502では、添字xが0に設定され、求められる改良差分値KHyxが行列の横方向を表す行の中で最も左側の改良差分値KHyxに決定される。すなわち、改良差分値KH00(=1)が最初に求められる。求められる改良差分値KHyxが決定されるとステップ503に移り、予測値Eyxの値が27-n 以上であるか否かが判定される。
【0194】
ステップ503において予測値Eyxが27-n 以上であると判断されるとステップ504に移る。ステップ504では、上位画素値PHyxが(17)式
PHyx<2×Eyx−28-n +1 ・・・・・(17)
を満たすか否かが判定される。上位画素値PHyxが(17)式を満たすと判断されると、ステップ506に移る。上位画素値PHyxが(17)式を満たさないと判断された場合、ステップ505移り、改良差分値Hyxが(18)式で求められる。
KHyx=Eyx−PHyx ・・・・・(18)
改良差分値KHyxが求められると、ステップ513に移る。
【0195】
ステップ506では、上位画素値PHyxが偶数であるか否かが判断される。上位画素値PHyxが偶数であると判断されるとステップ507に移り、改良差分値KHyxが(19)式で求められる。
KHyx=PHyx/2−27-n ・・・・・(19)
上位画素値PHyxが偶数ではないと判断されるとステップ508に移り、改良差分値KHyxが(20)式で求められる。
KHyx=27-n −(PHyx+1)/2 ・・・・(20)
改良差分値KHyxが求められると、ステップ513に移る。
【0196】
例えば、1ビットのビット分離により得られた奇数である上位画素値PH22(=15)と予測値E22(=84)に対する改良差分値KHyxは(20)式より、
KH22=26 −(15+1)/2=56
である。
【0197】
ステップ503において予測値Eyxが27-n 以上の値ではないと判断されるとステップ509に移る。ステップ509では、上位画素値PHyxが(21)式を満たすか否かが判定される。
PHyx>2×Eyx ・・・・・(21)
上位画素値PHyxが上式を満たすと判断されるとステップ510に移る。上位画素値PHyxが上式を満たさないと判断されるとステップ505に移り、改良差分値KHyxが(18)式で求められる。改良差分値KHyxが求められるとステップ513に移る。
【0198】
ステップ510では、上位画素値PHyxが偶数であるか否かが判定される。上位画素値PHyxが偶数でないと判断されるとステップ511に移り、改良差分値KHyxが(22)式で求められる。
KHyx=−(PHyx+1)/2 ・・・・・(22)
上位画素値PHyxが偶数であると判断されるとステップ512に移り、改良差分値KHyxが(23)式で求められる。
KHyx=PHyx/2 ・・・・・(23)
改良差分値KHyxが求められると、ステップ513に移る。
【0199】
例えば、1ビットのビット分離により得られた奇数である上位画素値PH45(=81)とそれに対応する予測値E45(=11)に対して、改良差分値KHyxは(22)式より、
KH45=−(81+1)/2=−41
となる。
【0200】
ステップ513では、添字xに1が加算される。すなわち、求められる改良差分値KHyxが1つ右隣の改良差分値KHyxに決定される。
【0201】
ステップ514では、添字xが8であるか否かが判定される。すなわち、1つ改良差分値KHyxが1つの行においてすべて求められたか否かが判定される。添字xが8であると判断されるとステップ515に移り、添字xが8でないと判断されるとステップ503に戻る。
【0202】
ステップ515では、添字yに1が加算される。すなわち、求められる改良差分値KHyxが1つ下の行の改良差分値KHyxに決定される。
【0203】
ステップ516では、添字yが8であるか否かが判定される。すなわち、改良差分値KHyxがすべて求められたか否か判定される。添字yが8であると判定されると改良差分値KHyxを求める計算は終了する。添字yが8でないと判断されるとステップ502に戻る。
【0204】
このように第3の実施形態では、第1の実施形態と異なって画素値Pyxに対してビット分離を実行し、ビット分離により得られた上位画素値PHyxに対して圧縮処理を行う。そして改良差分値KHyxはビット分離を行わないで得られる改良差分値KHyxよりも小さい値となり、ゼロラン長が長くなる。このように圧縮処理において画素値Pyxをビット分離することにより、改良差分値KHyxを符号化するのに必要な情報量が少なくて済み、効率的に画像を圧縮することができる。
【0205】
図23は、第3の実施形態例である画像伸張装置のブロック図である。
【0206】
輝度データYおよび色差データCb,Crの圧縮画像データは記録媒体Mの圧縮画像データ記録領域M1から読み出され、画像伸張装置60に送られる。画像伸張装置60は、ハフマン復号化部61、グループ合成部62、差分値復元部63、上位画素データ復元部64、ビット合成部65、予測値生成部66から構成されている。
【0207】
輝度データYおよび色差データCb,Crの圧縮画像データから付加ビットを除いた符号語は、ハフマン復号化部61において復号化される。すなわち、符号語に基いてハフマンテーブルHを参照することによりグループ番号が求められる。この復号化はハフマン符号化とは逆の作用である。
【0208】
復号化により得られたグループ番号と付加ビットに基いてグループ表Tを参照することにより、改良差分値がグループ合成部62において求められる。
【0209】
予測値生成部66において生成される予測値に基き、輝度データYおよび色差データCb,Crの改良差分値は差分値復元部63において差分値に変換される。予測値は、上位画素データ復元部64において復元された上位画素データに基いて求められる。
【0210】
輝度データYおよび色差データCb,Crの差分値と予測値に基いて、上位画素データが上位画素データ復元部64において復元される。復元された上位画素データは予測値生成部66に送られ、次に復元される上位画素データに対する予測値の算出に用いられる。
【0211】
上位画素データが復元されることにより、輝度データYおよび色差データCb,Crの上位画像データが復元される。
【0212】
輝度データYおよび色差データCb、Crの上位画像データと記録媒体Mの下位記録領域M2から読み出された下位画像データがビット合成部65においてビット合成され、画像データが復元される。復元された画像データは、画像メモリ19に送られる。
【0213】
図24、図25を用いて圧縮画像データに対する伸張処理を説明する。圧縮画像データは、ここでは輝度データYを対象としている。
【0214】
図24では、改良差分値行列KH、予測値行列E、差分値行列H、上位画素ブロックPHが8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ改良差分値KHyx、予測値Eyx,差分値Hyx、上位画素値PHyxと表される。
【0215】
ハフマンテーブルHおよびグループ表Tを参照することにより、圧縮画像データから改良差分値KHyxが求められる。そして予測値Eyxにおける改良差分値KHyxのとりうる範囲と差分値Hyxのとりうる範囲が対応されて差分値Hyxが復元される。
【0216】
差分値Hyxと対応する予測値Eyxから上位画素値PHyxが求められる。すなわち、予測値Eyxから差分値Hyxが引き算されることにより、上位画素値PHyxが求められる。
【0217】
例えば予測値E44(=83)から差分値H44(=72)が引き算されることにより、上位画素値PH44(=11)が復元される。
【0218】
復元された上位画素値PHyxは、次に復元対象となる1つ右隣の上位画素値PHyxを算出するための予測値Eyxとなる。そして順次上位画素値PHyxが復元されることにより、上位画素ブロックPHが復元される。
【0219】
図25には、上位画素ブロックPHと下位画素ブロックPLと画素ブロックPが8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ上位画素値PHyx、下位画素値PLyx、画素値Pyxと表される。
【0220】
上位画素値PHyxとそれに対応する下位画素値PLyxがビット合成され、画素値Pyxが復元される。ビット合成されるビット数は、ここでは1ビットである。
【0221】
例えば上位画素値PH01(=76)と下位画素値PL01(=1)がビット合成されると、画素値P01(=153)が復元される。
【0222】
このように圧縮画像データが伸張処理され、画像ブロックPが復元される。
【0223】
図26は、nビットのビット分離を実行した場合に上位画素値PHyxを求める手順を示したフローチャートである。図24、図26を用いて上位画素値PHyxを求める手順を説明する。
【0224】
ステップ601では、添字yが0に設定される。ステップ602では、添字xが0に設定され、復元される上位画素値PHyxが行列の横方向を表す行の中で最も左側の上位画素値PHyxに決定される。復元される上位画素値PHyxが決定されるとステップ603に移り、予測値Eyxが27-n 以上であるか否かが判定される。
【0225】
ステップ603において、予測値Eyxが27-n 以上であると判断されると、ステップ604に移る。 ステップ604では改良差分値KHyxが(24)式を満たすか否かが判定される。
Eyx−28-n +1≦KHyx≦28-n −1−Eyx ・・・(24)
改良差分値KHyxが(24)式を満たすと判断されると、ステップ605に移り、上位画素値PHyxが(25)式で求められる。
PHyx=Eyx−KHyx ・・・・・・(25)
上位画素値PHyxが求められると、ステップ613に移る。
【0226】
例えば、1ビットのビット分離が実行された場合に得られる改良差分値KH03(=3)は、予測値E03(=79)であるとき、
80−27 =−48≦3≦27 −80=48
より(24)式を満たす。よって、上位画素値PH03は(25)式より
PH03=79−3=76
である。
【0227】
ステップ604において改良差分値KHyxが(24)式を満たさないと判断されるとステップ606に移り、改良差分値KHyxが0以上であるか否かが判定される。改良差分値KHyxが0以上であると判定されるとステップ608に移り、上位画素値PHyxが(26)式で求められる。
PHyx=28-n −1−2×KHyx ・・・・・(26)
改良差分値KHyxが0以上ではないと判断されるとステップ607に移り、上位画素値PHyxが(27)式で求められる。
PHyx=KHyx×2+28-n ・・・・・(27)
上位画素値PHyxが求められると、ステップ613に移る。
【0228】
ステップ603において予測値Eyxが27-n 以上でないと判断されるとステップ609に移る。ステップ609では、改良差分値KHyxが(28)式の不等式を満たすか否かが判定される。
−Eyx≦KHyx≦Eyx ・・・・・(28)
改良差分値KHyxが(28)式を満たすと判断されるとステップ605に移り、上位画素値PHyxが(25)式で求められる。改良差分値KHyxが(28)式を満たさないと判断されるとステップ610に移る。
【0229】
ステップ610では、改良差分値KHyxが0以上であるか否かが判定される。改良差分値KHyxが0以上であると判断されるとステップ612に移り、上位画素値PHyxが(29)式で求められる。
PHyx=2×KHyx ・・・・・(29)
改良差分値KHyxが0以上でないと判断されるとステップ611に移り、上位画素値PHyxが(30)式で求められる。
PHyx=−2×KHyx−1 ・・・・・(30)
上位画素値PHyxが求められるとステップ613に移る。
【0230】
ステップ613では、添字xに1が加算される。すなわち、復元される上位画素値PHyxが1つ右隣の上位画素値PHyxに決定される。
【0231】
ステップ614では、添字xが8であるか否かが判定される。すなわち、上位画素値PHyxが1つの行においてすべて復元されたか否かが判定される。添字xが8であると判断されるとステップ615に移り、添字xが8でないと判断されるとステップ603に戻る。
【0232】
ステップ615では、添字yに1が加算される。すなわち、復元される上位画素値PHyxが1つ下の行の上位画素値PHyxに決定される。
【0233】
ステップ616では、添字yが8であるか否かが判定される。すなわち、1つの画素ブロックPにおいて上位画素値PHyxがすべて復元されたか否かが判定される。添字yが8であると判定されると上位画素値Pyxを求める計算は終了する。添字yが8でないと判断されるとステップ602に戻る。
【0234】
以上のように第3の実施形態によれば、画素値Pを上位画素値PHと下位画素値PLにビット分離することにより、符号化データに必要な情報量が少なくなり、画像を効率的に圧縮することができる。また、上位画素値PHと下位画素値PLをビット合成することにより、無歪みで画像を復元することができる。
【0235】
図27〜図34は、第4の実施形態例である画像伸張装置および画像圧縮装置に関する図である。
【0236】
図27では、第4の実施形態例である画像圧縮装置のブロック図が示されている。
【0237】
第1の実施形態と同じように被写体像16の光がレンズ17を介して撮像素子18に結像される。撮像素子18において光電変換により発生した画像信号はA/D変換器および信号処理回路においてそれぞれ処理されて輝度データYおよび色差データCb,Crに変換され、画像データとして画像メモリ19に記録される。輝度データYおよび色差データCb,Crの画像データは画像メモリ19から読み出され、画像圧縮装置70に送られる。画像圧縮装置70は、予測値生成部71、差分値生成部72、改良差分値生成部73、ビット分離部74、グループ部75、ハフマン符号化部76から構成されている。
【0238】
輝度データYおよび色差データCb、Crの画像データは、1画面において複数のブロックに分割され、ブロック単位で処理される。各ブロックは、8×8個の画素データからなる。
【0239】
各ブロックにおける輝度データYおよび色差データCb,Crの画素データに基き、予測値が予測値生成部71において求められる。予測値は、符号化対象である1つの画素データに隣接する画素データに基づいて求められる。
【0240】
輝度データYおよび色差データCb,Crの画素データは、差分値生成部72において差分値に変換される。すなわち、予測値生成部71において得られた予測値から画素データが引き算されることにより、差分値が求められる。
【0241】
輝度データYおよび色差データCb,Crの差分値は、改良差分値生成部73において改良差分値に変換される。
【0242】
輝度データYおよび色差データCb,Crは、画像圧縮装置内70において2進数のビット列で表されており、輝度データYおよび色差データCb,Crの改良差分値も2進数のビット列で表される。改良差分値のビット列は、ビット分離部74においてビット分離され、上位改良差分値のビット列(上位ビット列)と下位改良差分値のビット列(下位ビット列)に分離される。そして下位改良差分値のビット列に対して付加符号ビットが付加されることにより、符号付下位改良差分値が求められる。符号付下位改良差分値は、符号化(圧縮)されずに記録媒体Mの符号付下位記録領域M3に記録される。
【0243】
輝度データYおよび色差データCb,Crの上位改良差分値は、グループ部75においてグループ表Tに基いてグループ分けされ、上位改良差分値が属するグループのグループ番号とそれに対応した付加ビットが求められる。
【0244】
グループ部75において得られたグループ番号に基いてハフマンテーブルHを参照することにより、符号語がハフマン符号化部76において求められる。そして、符号語とグループ部75において得られた付加ビットを組み合わせた圧縮画像データが、記録媒体Mの圧縮画像データ記録領域M1に記録される。
【0245】
図28を用いて画素ブロックPに対する圧縮処理を説明する。
【0246】
図28には、改良差分値行列KHと、上位改良差分値行列DHと下位改良差分値行列DLがそれぞれ8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ改良差分値KHyx、上位改良差分値DHyx、下位改良差分値DLyxと表される。なお改良差分値行列KHは、第1の実施形態例の図2で示された改良差分値行列KHであり、画素値Pyxから改良差分値KHyxへの圧縮処理に関しては第1の実施形態と同じであるためここでは省略する。
【0247】
各改良差分値KHyxは、ビット分離により上位改良差分値DHyxと下位改良差分値DLyxに分離される。すなわち、改良差分値KHyxのビット列が上位ビット列と下位ビット列に分離され、上位ビット列で表される上位改良差分値DHyxと下位ビット列で表される下位改良差分値DLyxが求められる。このとき、正の値である改良差分値KHyxはそのままビット分離されるが、負の値である改良差分値KHyxは−1が掛け算されて正の値に変換された後ビット分離される。ここでビット分離されるビット数は、1ビットである。
【0248】
例えば、上位改良差分値KH02(=−5)のビット列は、−1が掛け算されて値が5に変換された後に上位ビット列と下位ビット列に分離され、上位ビット列で表される上位改良差分値DH02(=2)と下位ビット列で表される下位改良差分値DL02(=1)が求められる。
【0249】
そして下位改良差分値DLyxの下位ビット列に対し、 付加符号ビットが付加される。このとき、正の値である改良差分値KHyxのビット列がビット分離されたときには正の付加符号ビット(+)、負の値である改良差分値KHyxのビット列がビット分離されたときには負の付加符号ビット(−)が、下位改良差分値DLyxに付加される。正または負の付加符号ビットが付加された下位改良差分値DLyxを符号付下位改良差分値FLyxとして表す。
【0250】
例えば下位改良差分値DL02(=1)のビット列に負の付加符号ビット(−)が付加されることにより、符号付下位改良差分値FL02(=(−)1)が求められる。ただし、符号付下位改良差分値FL02の値が−1であるのではなく、1の値に付加符号ビット(−)が付加されていることを表している。
【0251】
上位改良差分値DHyxはグループ分けおよびハフマン符号化され、これにより圧縮画像データが求められる。
【0252】
図28、29を用いて付加符号ビットを取り入れたビット分離について詳述する。そのため、改良差分値KHyxをビット列で表す。通常改良差分値KHyxには8ビットが割り当てられるが、ここでは16ビットのビット列において8ビット割り当てられていることにする。また、改良差分値KHyxは正負の値をとるため正または負の符号ビットが設けられる。
【0253】
図29では、改良差分値KH02(=−5)に対する1ビットのビット分離を示している。
【0254】
改良差分値KH02(=−5)は、2進法で表すと「11111011」であり、符号ビットFは負を示す「1」である。16ビットのビット列において2進数「11111011」は右端から8ビットを使用して表され、符号ビットFはビット列A0の左端にある最上位ビットに置かれる。なお、使用されていない7ビットJ0は「1111111」である。
【0255】
改良差分値KH02(=−5)は、−1が掛け算されることで値が5に変換され、それによりビット列A0はビット列A1に変換される。ビット列A1において、8ビットを使用して2進数「00000101」が表され、符号ビットFは正を示す「0」である。更に使用されていない7ビットJ0は「0000000」となる。
【0256】
ビット分離の実行により、ビット列A1は右シフト演算される。右シフト演算とは、ビット列の各ビットを指定されたビット数だけ右に桁移動させ演算である。1ビットの右シフト演算が実行されると、各ビットが右に1つずつ移動させられ、「1」である最下位ビットKは分離される。そして右シフト演算により空白になる左端の最上位ビットには「0」である符号ビットFが当てはめられる。
【0257】
このような右シフト演算により、ビット列A1は7ビットを使用して2進数「0000010」が表されるビット列A2に変換される。このビット列A2が上位ビット列であり、2進数「0000010」を10進法で表した値が上位改良差分値DH02の値となる。すなわち、上位改良差分値DH02の値は2である。
【0258】
一方、右シフト演算により分離された最下位ビットKが下位ビット列であり、最下位ビットKの値が下位改良差分値DL02の値となる。2進数「1」は10進法で1であるから、下位改良差分値DL02の値は1である。
【0259】
改良差分値KH02(=−5)が負の値であるため、下位改良差分値DL02(=1)に対して付加符号ビットF(−)が付加され、符号付下位改良差分値FL02(=(−)1)が求められる。付加符号ビットF(−)は、負を示す「1」である。
【0260】
このように改良差分値KH02(=−5)のビット列は、−1が掛け算されて値が5に変換された後ビット分離され、上位ビット列で表される上位改良差分値DH02(=2)と下位ビット列で表される下位量改良差分値DL02(=1)が求められる。そして、下位改良差分値DL02(=1)のビット列に対して負の付加符号ビットF(−)が付加され、符号付下位改良差分値FL02(=(−)1)が求められる。
【0261】
正の値である改良差分値KHyxに対してビット分離を実行する場合、改良差分値KHyxはそのままビット分離される。そしてビット分離により得られる下位改良差分値DLyxに対して正の付加符号ビットF(+)が付加される。付加符号ビットF(+)は、正を示す「0」である。
【0262】
以上のように改良差分値KHyxのビット列は、上位ビット列と下位ビット列に分離され、上位ビット列で表される上位改良差分値DHyxと下位ビット列で表される下位改良差分値DLyxが求められる。そして下位改良差分値DLyxには、付加符号ビットF(+)もしくはF(−)が付加される。
【0263】
なお、2ビット、3ビットのビット分離を実行する場合、2ビット、3ビットの右シフト演算が実行される。
【0264】
図30は、1つの改良差分値行列に対するnビットのビット分離の手順を示すフローチャートである。図28、図30を用いてビット分離のフローチャートを説明する。
【0265】
ステップ701では、添字yが0に設定される。ステップ702では、添字xが0に設定され、行列の横方向を表す行の中で最も左側の改良差分値KHyxがビット分離の対象とされる。最初に改良差分値KH00(=2)がビット分離の対象となる。
【0266】
ステップ703では、改良差分値KHyxの値が0以上であるか否かが判定される。改良差分値KHyxの値が0以上であると判定されると、ステップ704に移り、正の付加符号ビットF(+)が設けられる。改良差分値KHyxの値が0以上でないと判断された場合、ステップ705に移る。
【0267】
ステップ705では、負の付加符号ビットF(−)が設けられる。そしてステップ706では、改良差分値KHyxに−1が掛け算され、改良差分値KHyxは正の値に変換される。
【0268】
ステップ707では、改良差分値KHyxに対してnビットの右シフト演算が実行され、上位改良差分値DHyxが求められる。
【0269】
例えば1ビットのビット分離の場合、改良差分値KH02(=−5)は−1が掛け算されて右シフト演算されることにより、上位改良差分値DH02(=2)が求められる。また3ビットのビット分離の場合、改良差分値KH02(=−5)は−1が掛け算されて右シフト演算されることにより、上位改良差分値DH02(=0)が求められる。
【0270】
ステップ708では、下位改良差分値DLyxが求められる。下位改良差分値DLyxを求める算術式は、(31)式のようになる。
【0271】
DLyx=KHyx−(DHyx×2n )・・・・・・(31)
【0272】
例えば1ビットのビット分離の場合、符号を正にした後の改良差分値KH02(=5)に対して上位改良差分値DH02の値が2であることから、下位改良差分値DL02の値は、
DL02=5−(2×21 )=1
となる。
【0273】
例えば3ビットのビット分離の場合、符号を正にした後の改良差分値KH02(=5)に対して上位改良差分値DH02の値が0がであることから、下位改良差分値DL02の値は、
DL02=5−(0×23 )=5
となる。
【0274】
ステップ709では、下位改良差分値DLyxにステップ704またはステップ705で設けられた付加符号ビットF(+)または付加符号ビットF(−)が付加され、符号付下位量子化DCT係数FLyxが求められる。
【0275】
例えば下位改良差分値DL02(=1)に対し、ステップ705で設けられた付加符号ビットF(−)が付加され、符号付下位改良差分値FL02(=(−)1)が求められる。
【0276】
ステップ710では、添字x に1が加算される。すなわち、1つ右隣の改良差分値KHyxが、ビット分離の対象とされる。
【0277】
ステップ711では、添字xが8であるか否かが判定される。すなわち、横方向の1つの行に対してすべての改良差分値KHyxがビット分離されたか否かが判定される。添字xが8であると判定されるとステップ712に移り、添字xが8でないと判定されるとステップ703に戻る。
【0278】
ステップ712では、添字yに1が加算される。すなわち、1つ下の行の改良差分値KHyxが、ビット分離の対象とされる。
【0279】
ステップ713では、添字y が8であるか否かが判定される。すなわち、すべての改良差分値KHyxがビット分離されたか否かが判定される。添字yが8であると判定されると、改良差分値行列KHに対するビット分離は終了する。添字yが8でないと判定されると、ステップ702に戻る。
【0280】
このように第4の実施形態では、第2の実施形態と異なり負の値である改良差分値KHyxには−1を掛けて正の値に変換した後ビット分離する。このため、改良差分値KHyxが−1のとき、そのままビット分離して得られる上位改良差分値KHyxは−1であるが、−1を掛けてからビット分離して得られる上位改良差分値KHyxは0となる。すなわち、ゼロランの出現頻度が高くなるため、符号化データに必要な情報量が少なくなる。従って画像を効率的に圧縮することができる。
【0281】
図31は、第4の実施形態を適用した画像伸張装置のブロック図である。この画像伸張装置では、第4の実施形態における画像圧縮装置によって圧縮された画像データを復元する。
【0282】
輝度データYおよび色差データCb,Crの圧縮画像データは、記録媒体Mの圧縮画像データ記録領域M1から読み出され、画像伸張装置80に送られる。画像伸張装置80は、ハフマン復号化部81、グループ合成部82、ビット合成部83、差分値復元部84、予測値生成部86、画素データ復元部85から構成されている。
【0283】
輝度データYおよび色差データCb,Crの圧縮画像データから付加ビットを除いた符号語は、ハフマン復号化部81において復号化される。すなわち、ハフマンテーブルHを参照することにより符号語からグループ番号が求められる。この復号化はハフマン符号化とは逆の作用である。
【0284】
復号化により得られたグループ番号と付加ビットに基いてグループ表Tを参照することにより、上位改良差分値がグループ合成部82において求められる。
【0285】
輝度データYおよび色差データCb、Crの上位改良差分値と記録媒体Mの符号付下位記録領域M3から読み出された符号付下位改良差分値から付加符号ビットを取り除いた下位改良差分値がビット合成部83においてビット合成され、これにより改良差分値が復元される。
【0286】
輝度データYおよび色差データCb,Crの改良差分値は、差分値復元部84において差分値に変換される。この差分値と予測値生成部86において生成される予測値を用いることにより、画素データが画素データ復元部85において生成される。すなわち、すでに復元された画素データに基いて生成された予測値と差分値との差から画素データが求められる。求められた画素データは予測値生成部86に送られ、次に復元される画素データに対する予測値の算出に用いられる。
【0287】
順次画素データが復元されることにより、輝度データYおよび色差データCb,Crの画像データが復元され、画像データは画像メモリ19に送られる。
【0288】
図32を用いて圧縮画像データに対する伸張処理を説明する。以下では、輝度データYの圧縮画像データを対象とする。
【0289】
図32には、図28で示された符号付下位改良差分値行列FLと、下位改良差分値行列DLと、上位改良差分値行列DHと、改良差分値行列KHとが8×8のマトリクスで例示されている。各マトリクスの要素は、それぞれ符号付下位改良差分値FLyx、下位改良差分値DLyx、上位改良差分値DHyx、改良差分値KHyxと表される。
【0290】
符号付下位改良差分値FLyxから付加符号ビットを取り除いた下位改良差分値DLyxがビット合成の対象とされる。上位改良差分値DHyxとそれに対応する下位改良差分値DLyxがビット合成されることにより、改良差分値KHyxが復元される。ただし、負の付加符号ビット(−)が付加されていた下位改良差分値DLyxがビット合成の対象である場合、復元される改良差分値KHyxは−1が掛け算され、負の値に変換される。ビット合成されるビット数は、ここでは1ビットである。
【0291】
例えば、 上位改良差分値DH02(=2)と負の付加符号ビット(−)が付加されていた下位改良差分値DL02(=1)がビット合成され、−1が掛け算されることにより、改良差分値KH02(=−5)が復元される。
【0292】
改良差分値KHyxから画素値Pyxまでの伸張処理に関しては図9で示された第1の実施形態と同じであるためここでは省略する。
【0293】
図32、図33を用いて、1ビットのビット合成を詳述する。そのため、上位改良差分値DHyxをビット列で表す。
【0294】
図33では、図32の上位改良差分値DH02(=2)と下位改良差分値DL02(=1)に対する1ビットのビット合成を示している。
【0295】
上位改良差分値DH02(=2)は、16ビットのビット列A2において、7ビットを使用して2進数「0000010」が表される。下位改良差分値DL 02 (=1)は2進数で「1」であり、下位ビット列K1で表される。
【0296】
ビット合成の実行により、上位改良差分値DH02(=2)のビット列A2は左シフト演算される。左シフト演算とは、各ビットを指定されたビット数だけ左に移動させる演算である。1ビットの左シフト演算が実行されると、ビット列A2において各ビットが1つずつ左に移動させられ、左端の「0」である符号ビットFが分離される。そして左シフト演算により空白になった右端の最下位ビットには、「1」である下位ビット列K1が当てはめられる。また、左端から2番目の「0」であるビットF0が左シフト演算により最上位ビットに移動され、符号ビットFとなる。
【0297】
このような左シフト演算により、ビット列A2は8ビットを使用して2進数「00000101」が表されるビット列A1に変換される。2進数「00000101」を10進法で表すと値は5であるが、下位改良差分値DLyx(=1)には負の付加符号ビットF(−)が付加されていたことから、5の値に対して−1が掛け算される。この掛け算によりビット列A1は、最上位ビットには負の符号ビットFが置かれ、8ビットを使用して2進数「11111011」が表されるビット列A0に変換される。そして、2進数「11111011」を10進法で表した値が改良差分値KH02となる。すなわち、負の符号ビットFを考慮すれば改良差分値KH02の値は、−5である。
【0298】
このように、上位改良差分値DH02(=2)と下位改良差分値DL02(=1)がビット合成され、付加符号ビットF(−)に対応して−1が掛け算されることにより、改良差分値KH02(=−5)が復元される。
【0299】
ビット合成の対象である下位改良差分値DLyxに対し正の付加符号ビットF(+)が付加されていた場合、左シフト演算により得られるビット列において表される2進数の値が改良差分値KHyxの値となる。
【0300】
なお、2ビット、3ビットのビット合成を実行する場合、2ビット、3ビットの左シフト演算が実行される。
【0301】
図34は、上位改良差分値行列と下位改良差分値行列に対するnビットのビット合成の手順を示したフローチャートである。図32、図34を用いてビット合成のフローチャートを説明する。
【0302】
ステップ801では、添字yが0に設定される。ステップ802では、添字xが0に設定され、行列の横方向を表す行の中で一番左側の上位改良差分値DHyxと下位改良差分値DLyxがビット合成の対象とされる。上位改良差分値DH00と下位改良差分値DL00が最初のビット合成の対象である。
【0303】
ステップ803では、上位改良差分値DHyxのビット列に対してnビットの左シフト演算が実行され、下位改良差分値DLyxを加えることにより改良差分値KHyxが求められる。改良差分値KHyxを求める算術式は、(32)式のようになる。
【0304】
KHyx=DHyx×2n +DLyx・・・・・(32)
【0305】
例えば1ビットのビット合成を実行する場合、上位改良差分値DH02(=2)と下位改良差分値DL02(=1)に対する改良差分値KH02の値は、
KH02=2×21 +1=5
となる。
【0306】
例えば3ビットのビット合成を実行する場合、上位改良差分値DH02(=0)と下位改良差分値DL02(=5)に対する改良差分値KH02の値は、
KH02=0×23 +5=5
となる。
【0307】
ステップ804では、下位改良差分値DLyxに付加されていた付加符号ビットが正の付加符号ビット(+)であるか否かが判定される。正の付加符号ビット(+)でないと判定されるとステップ805に移り、改良差分値KHyxは−1が掛け算され負の値に変換される。正の付加符号ビット(+)であると判定されると、ステップ806に移る。
【0308】
ステップ806では、添字xに1が加算される。すなわち、1つ右隣の上位改良差分値DHyxと下位改良差分値DLyxがビット合成の対象とされる。
【0309】
ステップ807では、添字xが8であるか否かが判定される。すなわち、1つの行に関してすべての上位改良差分値DHyxと下位改良差分値DLyxがビット合成されたか否かが判定される。添字xが8であると判定されると、ステップ808に移る。添字xが8でないと判定されると、ステップ803に戻る。
【0310】
ステップ808では、添字yに1が加算される。すなわち、1つ下の行の上位改良差分値DHyxと下位改良差分値DLyxがビット合成の対象とされる。
【0311】
ステップ809では、添字yが8であるか否かが判定される。すなわち、すべての上位改良差分値DHyxと下位改良差分値DLyxがビット合成されたか否かが判定される。添字yが8であると判定されると、一連のビット合成は終了する。添字yが8でないと判定されると、ステップ802に戻る。
【0312】
以上のように第4の実施形態によれば、改良差分値KHyxが正である時はそのままで、負である時は正の値に変換してビット分離し、上位改良差分値DHyxと符号付下位改良差分値FLyxを求めることにより、符号化データに必要な情報量を少なくすることができる。また上位改良差分値DHyxと符号付下位改良差分値FLyxに基いてビット合成を実行し、改良差分値KHyxを復元することにより、無歪みで原画像を復元することができる。
【0313】
【発明の効果】
以上のように本発明によれば、高解像度の画像を無歪みで圧縮、伸張することができ、かつ効率的に圧縮することができる。
【図面の簡単な説明】
【図1】第1の実施形態例である画像圧縮装置のブロック図である。
【図2】画素ブロックと予測値行列と差分値行列と改良差分値行列を示した図である。
【図3】グループ表とハフマンテーブルを示した図である。
【図4】予測値が14のときの画素値、差分値、改良差分値のとりうる範囲を示した表である。
【図5】予測値が14のときの画素値、差分値、改良差分値のとりうる範囲を棒線で示した図である。
【図6】予測値に対して実際に差分値となる確率を示した図である。
【図7】改良差分値を求める手順を示したフローチャートである。
【図8】第1の実施形態例である画像伸張装置のブロック図である。
【図9】改良差分値行列と差分値行列と予測値行列と画素ブロックを示した図である。
【図10】画素値を復元する手順を示したフローチャートである。
【図11】第2の実施形態例である画像圧縮装置のブロック図である。
【図12】改良差分値行列と上位改良差分値行列と下位改良差分値行列を示した図である。
【図13】改良差分値のビット分離を示した図である。
【図14】ビット分離の手順を示したフローチャートである。
【図15】第2の実施形態例である画像伸張装置のブロック図である。
【図16】上位改良差分値行列と下位改良差分値行列と改良差分値行列を示した図である。
【図17】上位改良差分値と下位改良差分値に対するビット合成を示した図である。
【図18】ビット合成の手順を示したフローチャートである。
【図19】第3の実施形態例である画像圧縮装置のブロック図である。
【図20】画素ブロックと上位画素ブロックと下位画素ブロックを示した図である。
【図21】上位画素ブロックと予測値行列と差分値行列と改良差分値行列を示した図である。
【図22】改良差分値を求める手順を示したフローチャートである。
【図23】第3の実施形態例である画像伸張装置のブロック図である。
【図24】改良差分値行列と差分値行列と上位画素ブロックと予測値行列を示した図である。
【図25】上位画素ブロックと下位画素ブロックと画素ブロックを示した図である。
【図26】画素値を復元する手順を示したフローチャートである。
【図27】第4の実施形態例である画像伸張装置のブロック図である。
【図28】改良差分値行列と上位改良差分値行列と下位改良差分値行列と符号付下位改良差分値行列を示した図である。
【図29】改良差分値に対するビット分離を示した図である。
【図30】ビット分離の手順を示したフローチャートである。
【図31】第4の実施形態例である画像伸張装置のブロック図である。
【図32】符号付下位改良差分値行列と下位改良差分値行列と上位改良差分値行列と改良差分値行列を示した図である。
【図33】上位改良差分値と下位改良差分値に対するビット合成を示した図である。
【図34】ビット合成の手順を示したフローチャートである。
【符号の説明】
LA 部分的範囲(第1の部分的範囲)
LB 部分的範囲(第2の部分的範囲)
LC 部分的範囲(第3の部分的範囲)
LD 部分的範囲(第4の部分的範囲)
LE 部分的範囲(第5の部分的範囲)
LF 整数範囲(非差分値範囲)
Claims (14)
- 入力される静止画像に対応した、複数の画素データによって構成される画像データについて、各画素データ毎に、隣接する画素データに基いて予測値を求める予測値生成手段と、
前記予測値と前記画素データの画素値との差分である差分値のとりうる範囲に基づいて定められる改良差分値のとりうる範囲に従い、前記画素値および前記予測値に基づいて改良差分値を生成する改良差分値生成手段と、
前記改良差分値を符号化することにより、圧縮画像データを求める符号化手段と、
前記圧縮画像データを記録媒体に記録する記録手段とを備え、
前記改良差分値のとりうる範囲が、前記画素値のとりうる範囲の中で前記予測値より大きい非差分値の範囲の値に対し、正負の符号を変えるように反転させ、さらに、前記差分値のとりうる範囲の中で絶対値が前記非差分値の部分的範囲と等しい範囲において、前記正負が反転された非差分値の範囲の値と前記部分的範囲の値を、絶対値の小さい順で正負の値が交互に現れるように並べることにより規定され、
前記改良差分値生成手段が、前記予測値に基づいて定められる、前記画素値のとりうる範囲と、前記差分値のとりうる範囲と、前記改良差分値のとりうる範囲との対応関係に従い、前記改良差分値のとりうる範囲の中で、前記画素値に対応する改良差分値を求めることを特徴とする画像圧縮装置。 - 前記予測値生成手段が、符号化対象の画素データに対し、1つ左隣の画素データを予測値とすることを特徴とする請求項1に記載の画像圧縮装置。
- 請求項1に記載された画像圧縮装置によって得られた圧縮画像データを伸張する画像伸張装置であって、
前記記録媒体に記録された前記圧縮画像データを復号化することにより、前記改良差分値を求める復号化手段と、
すでに復元された画像データから求められる予測値から定められる、前記画素値のとりうる範囲と、前記差分値のとりうる範囲と前記改良差分値のとりうる範囲との対応関係に従い、前記改良差分値から対応する画素データを順次復元し、前記画像データを復元する手段と
を備えたことを特徴とする画像伸張装置。 - 前記予測値が、先に復元された前記画素データに基いて求められることを特徴とする請求項3に記載の画像伸張装置。
- 入力される静止画像に対応した、複数の画素データによって構成される画像データについて、各画素データ毎に、隣接する画素データに基いて予測値を求める予測値生成手段と、
前記予測値と前記画素データの画素値との差分である差分値のとりうる範囲に基づいて定められる改良差分値のとりうる範囲に従い、前記画素値および前記予測値に基づいて改良差分値を生成する改良差分値生成手段と、
前記改良差分値のビット列を上位ビット列と下位ビット列の2つに分離し、前記上位ビット列で表される上位改良差分値と前記下位ビット列で表される下位改良差分値を求めるビット分離手段と、
前記上位改良差分値を符号化することにより、圧縮画像データを求める符号化手段と、
前記圧縮画像データを記録媒体に記録するとともに、前記下位改良差分値をそのまま前記記録媒体に記録する記録手段とを備え、
前記改良差分値のとりうる範囲が、前記画素値のとりうる範囲の中で前記予測値より大きい非差分値の範囲の値に対し、正負の符号を変えるように反転させ、さらに、前記差分値のとりうる範囲の中で絶対値が前記非差分値の部分的範囲と等しい範囲において、前記正負が反転された非差分値の範囲の値と前記部分的範囲の値を、絶対値の小さい順で正負の値が交互に現れるように並べることにより規定され、
前記改良差分値生成手段が、前記予測値に基づいて定められる、前記画素値のとりうる範囲と、前記差分値のとりうる範囲と、前記改良差分値のとりうる範囲との対応関係に従 い、前記改良差分値のとりうる範囲の中で、前記画素値に対応する改良差分値を求めることを特徴とする画像圧縮装置。 - 前記ビット分離手段が、前記改良差分値のビット列を右シフト演算し、前記右シフト演算により変換される前記改良差分値のビット列を上位ビット列、前記右シフト演算により分離される下位ビットを下位ビット列とすることを特徴とする請求項5に記載の画像圧縮装置。
- 請求項5に記載された画像圧縮装置によって得られた圧縮画像データを伸張する画像伸張装置であって、
前記記録媒体に記録された前記圧縮画像データを復号化することにより、前記上位改良差分値を求める復号化手段と、
前記復号化手段により得られた前記上位改良差分値と、前記記録媒体に記録された前記下位改良差分値をビット合成することにより、前記改良差分値を求めるビット合成手段と、
すでに復元された画像データから求められる予測値から定められる、前記画素値のとりうる範囲と、前記差分値のとりうる範囲と前記改良差分値のとりうる範囲との対応関係に従い、前記改良差分値から対応する画素データを順次復元し、前記画像データを復元する手段と
を備えたことを特徴とする画像伸張装置。 - 前記ビット合成手段が、前記上位改良差分値のビット列を左シフト演算し、前記左シフト演算により空白になるビット部分に前記下位ビット列を当てはめることにより、前記改良差分値を求めることを特徴とする請求項7に記載の画像伸張装置。
- 入力される静止画像に対応し、ビット列で表される画像データに対し、前記画像データのビット列を2つに分離して上位ビット列で表される上位画像データと下位ビット列で表される下位画像データを求めるビット分離手段と、
複数の画素データによって構成される前記上位画像データについて、各画素データ毎に、隣接する画素データに基いて予測値を求める予測値生成手段と、
前記予測値と前記画素データの画素値との差分である差分値のとりうる範囲に基づいて定められる改良差分値のとりうる範囲に従い、前記画素値および前記予測値に基づいて改良差分値を生成する改良差分値生成手段と、
前記改良差分値を符号化することにより、圧縮画像データを求める符号化手段と、
前記圧縮画像データおよび前記下位画像データを記録媒体に記録する記録手段とを備え、
前記改良差分値のとりうる範囲が、前記画素値のとりうる範囲の中で前記予測値より大きい非差分値の範囲の値に対し、正負の符号を変えるように反転させ、さらに、前記差分値のとりうる範囲の中で絶対値が前記非差分値の部分的範囲と等しい範囲において、前記正負が反転された非差分値の範囲の値と前記部分的範囲の値を、絶対値の小さい順で正負の値が交互に現れるように並べることにより規定され、
前記改良差分値生成手段が、前記予測値に基づいて定められる、前記画素値のとりうる範囲と、前記差分値のとりうる範囲と、前記改良差分値のとりうる範囲との対応関係に従い、前記改良差分値のとりうる範囲の中で、前記画素値に対応する改良差分値を求めることを特徴とする画像圧縮装置。 - 前記ビット分離手段が、前記画像データのビット列を右シフト演算し、前記右シフト演算により変換される前記画像データのビット列を上位ビット列、前記右シフト演算により分離される下位ビットを前記下位ビット列とすることを特徴とする請求項9に記載の画像圧縮装置。
- 請求項9に記載された画像圧縮装置によって得られた圧縮画像データを伸張する画像伸張装置であって、
前記記録媒体に記録された前記圧縮画像データを復号化することにより、前記改良差分値を求める復号化手段と、
すでに復元された上位画像データから求められる予測値から定められる、前記画素値の とりうる範囲と、前記差分値のとりうる範囲と前記改良差分値のとりうる範囲との対応関係に従い、前記改良差分値から対応する画素データを順次復元し、前記上位画像データを復元する手段と、
前記記録媒体に記録された前記下位画像データと前記上位画像データをビット合成することにより、前記画像データを求めるビット合成手段と
を備えたことを特徴とする画像伸張装置。 - 前記ビット合成手段が、前記上位画像データのビット列を左シフト演算し、前記左シフト演算により空白になるビット部分に前記下位ビット列を当てはめることにより、前記画像データを求めることを特徴とする請求項11に記載の画像伸張装置。
- 入力される静止画像に対応した、複数の画素データによって構成される画像データについて、各画素データ毎に、隣接する画素データに基いて予測値を求める予測値生成手段と、
前記予測値と前記画素データの画素値との差分である差分値のとりうる範囲に基づいて定められる改良差分値のとりうる範囲に従い、前記画素値および前記予測値に基づいて改良差分値を生成する改良差分値生成手段と、
前記改良差分値が負の値である場合には前記改良差分値を−1で掛け算して正の値に変換する手段と、
はじめから正である、もしくは−1が掛け算されたことにより正の値に変換された前記改良差分値のビット列を上位ビット列と下位ビット列の2つに分離し、前記上位ビット列で表される上位改良差分値と前記下位ビット列で表される下位改良差分値を求めるビット分離手段と、
前記下位改良差分値の前記下位ビット列に対し、前記改良差分値が正の値である場合には正の付加符号ビット、前記改良差分値が負の値である場合には負の付加符号ビットを付加する付加手段と、
前記上位改良差分値を符号化することにより、圧縮画像データを求める符号化手段と、
前記圧縮画像データと前記正および負の付加符号ビット付きで前記下位改良差分値を記録媒体に記録する記録手段とを備え、
前記改良差分値のとりうる範囲が、前記画素値のとりうる範囲の中で前記予測値より大きい非差分値の範囲の値に対し、正負の符号を変えるように反転させ、さらに、前記差分値のとりうる範囲の中で絶対値が前記非差分値の部分的範囲と等しい範囲において、前記正負が反転された非差分値の範囲の値と前記部分的範囲の値を、絶対値の小さい順で正負の値が交互に現れるように並べることにより規定され、
前記改良差分値生成手段が、前記予測値に基づいて定められる、前記画素値のとりうる範囲と、前記差分値のとりうる範囲と、前記改良差分値のとりうる範囲との対応関係に従い、前記改良差分値のとりうる範囲の中で、前記画素値に対応する改良差分値を求めることを特徴とする画像圧縮装置。 - 請求項13に記載された画像圧縮装置によって得られた圧縮画像データを伸張する画像伸張装置であって、
前記記録媒体に記録された前記圧縮画像データを復号化することにより、前記上位改良差分値を求める復号化手段と、
前記記録媒体に記録された前記付加符号ビットを除いた前記下位改良差分値と前記上位改良差分値をビット合成することにより、前記改良差分値を求めるビット合成手段と、
前記下位改良差分値に付加されていて前記記録媒体に記録された付加符号ビットが負の値である場合には、前記ビット合成手段により得られた前記改良差分値に−1を掛け算して負の値に変換する手段と、
すでに復元された画像データから求められる予測値から定められる、前記画素値のとりうる範囲と、前記差分値のとりうる範囲と前記改良差分値のとりうる範囲との対応関係に従い、前記改良差分値から対応する画素データを順次復元し、前記画像データを復元する手段と
を備えたことを特徴とする画像伸張装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24759198A JP3857820B2 (ja) | 1998-09-01 | 1998-09-01 | 画像圧縮装置および画像伸張装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP24759198A JP3857820B2 (ja) | 1998-09-01 | 1998-09-01 | 画像圧縮装置および画像伸張装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000078410A JP2000078410A (ja) | 2000-03-14 |
JP3857820B2 true JP3857820B2 (ja) | 2006-12-13 |
Family
ID=17165794
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP24759198A Expired - Fee Related JP3857820B2 (ja) | 1998-09-01 | 1998-09-01 | 画像圧縮装置および画像伸張装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3857820B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7428341B2 (en) | 2003-05-27 | 2008-09-23 | Zaxel Systems, Inc. | Method and apparatus for lossless data transformation with preprocessing by adaptive compression, multidimensional prediction, multi-symbol decoding enhancement enhancements |
-
1998
- 1998-09-01 JP JP24759198A patent/JP3857820B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000078410A (ja) | 2000-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4049792B2 (ja) | 浮動小数点形式ディジタル信号可逆符号化方法、及び復号化方法と、その各装置、その各プログラム | |
TWI521890B (zh) | Image coding apparatus, method and program, and image decoding apparatus, method and program | |
JP4343440B2 (ja) | Dwtベース技法によって圧縮された画像を符号化するための実時間アルゴリズムおよびアーキテクチャ | |
US6285796B1 (en) | Pseudo-fixed length image compression scheme | |
US8254700B1 (en) | Optimized method and system for entropy coding | |
JP7046325B2 (ja) | デジタルデータ圧縮のための方法及びデバイス | |
CN110896483A (zh) | 压缩和解压缩图像数据的方法 | |
US6396955B1 (en) | Image compression and expansion device | |
Lee et al. | An effective algorithm and architecture for the high-throughput lossless compression of high-resolution images | |
JP3033671B2 (ja) | 画像信号のアダマール変換符号化・復号化方法およびその装置 | |
US11677932B2 (en) | Image processing device | |
EP0635807B1 (en) | Coding apparatus for image compression | |
JP2000244922A (ja) | 画像データ圧縮方法 | |
JP3857820B2 (ja) | 画像圧縮装置および画像伸張装置 | |
US6947606B2 (en) | Skim encoding method for compression of a two dimensional array of data | |
JPH1188701A (ja) | 画像圧縮装置および画像伸張装置 | |
JP2000013797A (ja) | 画像圧縮装置および画像伸張装置 | |
JP4092830B2 (ja) | 画像データ圧縮方法 | |
JP6684229B2 (ja) | ウェーブレット変換行列に適応可能な高精度化及び量子化方法 | |
JP3845206B2 (ja) | 画像圧縮装置および画像伸張装置 | |
JP3845208B2 (ja) | 画像圧縮装置および画像伸張装置 | |
JP3559314B2 (ja) | 画像圧縮装置 | |
JP3796354B2 (ja) | 画像符号化方法 | |
JP3650527B2 (ja) | 画像圧縮装置および画像伸張装置 | |
JP2005151207A (ja) | 画像符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050704 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060502 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060628 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060829 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060915 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090922 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100922 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110922 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120922 Year of fee payment: 6 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130922 Year of fee payment: 7 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |