JP2005236561A - 画像圧縮装置 - Google Patents
画像圧縮装置 Download PDFInfo
- Publication number
- JP2005236561A JP2005236561A JP2004041796A JP2004041796A JP2005236561A JP 2005236561 A JP2005236561 A JP 2005236561A JP 2004041796 A JP2004041796 A JP 2004041796A JP 2004041796 A JP2004041796 A JP 2004041796A JP 2005236561 A JP2005236561 A JP 2005236561A
- Authority
- JP
- Japan
- Prior art keywords
- coefficient
- quantization
- zero
- threshold
- unit
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】 重要な量子化係数を切り捨てることなく、情報伝送量を削減することができる画像圧縮装置を得ることを目的とする。
【解決手段】 量子化部3から出力された各画素の量子化係数に応じて係数閾値βを設定する閾値設定部4を設け、係数遅延部5から出力された各画素の量子化係数と閾値設定部4により設定された係数閾値βを比較し、その係数閾値βより小さい量子化係数を零値に変更する。これにより、重要な量子化係数の切り捨てを防止して、画質の劣化を招くことなく、情報伝送量を削減することができる。
【選択図】 図1
【解決手段】 量子化部3から出力された各画素の量子化係数に応じて係数閾値βを設定する閾値設定部4を設け、係数遅延部5から出力された各画素の量子化係数と閾値設定部4により設定された係数閾値βを比較し、その係数閾値βより小さい量子化係数を零値に変更する。これにより、重要な量子化係数の切り捨てを防止して、画質の劣化を招くことなく、情報伝送量を削減することができる。
【選択図】 図1
Description
この発明は、複数の画素からなる画像信号を圧縮して、情報伝送量を削減する画像圧縮装置に関するものである。
従来の画像圧縮装置は、入力画像の画像信号を圧縮して情報伝送量を削減するため、以下に示すような処理を実施する。
まず、画像圧縮装置は、入力画像の画像信号を離散コサイン変換して、その変換係数を量子化する。
そして、入力画像の低周波領域から高周波領域に向かって順番に、その画像信号の量子化係数が零値であるか、非零値であるかを調査する。
画像圧縮装置は、零値である量子化係数がn個以上連続している箇所を検出すると、それ以降の量子化係数をすべて零値に変更することにより、量子化係数中のゼロランを長くして、情報伝送量を削減する(例えば、特許文献1参照)。
まず、画像圧縮装置は、入力画像の画像信号を離散コサイン変換して、その変換係数を量子化する。
そして、入力画像の低周波領域から高周波領域に向かって順番に、その画像信号の量子化係数が零値であるか、非零値であるかを調査する。
画像圧縮装置は、零値である量子化係数がn個以上連続している箇所を検出すると、それ以降の量子化係数をすべて零値に変更することにより、量子化係数中のゼロランを長くして、情報伝送量を削減する(例えば、特許文献1参照)。
従来の画像圧縮装置は以上のように構成されているので、零値である量子化係数がn個以上連続している箇所が存在すれば、それ以降の量子化係数をすべて零値に変更して情報伝送量を削減することができる。しかし、零値である量子化係数が連続している個数のみを基準にしているため、例えば、中周波数領域から高周波数領域にかけて重要な量子化係数が存在していても、零値である量子化係数がn個以上連続している箇所が低周波数領域に存在していれば、重要な量子化係数が切り捨てられて、画像の劣化を招くことがある課題があった。
この発明は上記のような課題を解決するためになされたもので、重要な量子化係数を切り捨てることなく、情報伝送量を削減することができる画像圧縮装置を得ることを目的とする。
この発明に係る画像圧縮装置は、量子化手段から出力された各画素の量子化係数のうち、零値ではない量子化係数の平均値を算出したのち、零値ではない量子化係数と当該平均値の差分絶対値和を算出し、その差分絶対値和に応じて係数閾値を設定する閾値設定手段を設け、その量子化手段から出力された各画素の量子化係数と閾値設定手段により設定された係数閾値を比較し、その係数閾値より小さい量子化係数を零値に変更するようにしたものである。
この発明によれば、量子化手段から出力された各画素の量子化係数のうち、零値ではない量子化係数の平均値を算出したのち、零値ではない量子化係数と当該平均値の差分絶対値和を算出し、その差分絶対値和に応じて係数閾値を設定する閾値設定手段を設け、その量子化手段から出力された各画素の量子化係数と閾値設定手段により設定された係数閾値を比較し、その係数閾値より小さい量子化係数を零値に変更するように構成したので、重要な量子化係数を切り捨てることなく、情報伝送量を削減することができる効果がある。
実施の形態1.
図1はこの発明の実施の形態1による画像圧縮装置を示す構成図であり、図において、ブロック化部1は複数の画素からなる画像信号(あるいは、予測誤差信号)をブロック化し、各ブロックの画像信号を直交変換部2に出力する。なお、ブロック化部1はブロック化手段を構成している。
直交変換部2はブロック化部1から出力された各ブロックの画像信号を直交変換し、各画素の直交変換係数を量子化部3に出力する。なお、直交変換部2は直交変換手段を構成している。
図1はこの発明の実施の形態1による画像圧縮装置を示す構成図であり、図において、ブロック化部1は複数の画素からなる画像信号(あるいは、予測誤差信号)をブロック化し、各ブロックの画像信号を直交変換部2に出力する。なお、ブロック化部1はブロック化手段を構成している。
直交変換部2はブロック化部1から出力された各ブロックの画像信号を直交変換し、各画素の直交変換係数を量子化部3に出力する。なお、直交変換部2は直交変換手段を構成している。
量子化部3は直交変換部2から出力された直交変換係数を量子化し、各画素の量子化係数を閾値設定部4及び係数遅延部5に出力する。なお、量子化部3は量子化手段を構成している。
閾値設定部4は量子化部3から出力された各画素の量子化係数に応じて係数閾値βを設定する。なお、閾値設定部4は閾値設定手段を構成している。
閾値設定部4は量子化部3から出力された各画素の量子化係数に応じて係数閾値βを設定する。なお、閾値設定部4は閾値設定手段を構成している。
係数遅延部5は閾値設定部4が係数閾値βの設定に要する時間だけ、量子化部3から出力された各画素の量子化係数を保持し、遅延後の量子化係数を係数切り捨て処理部6に出力する。
係数切り捨て処理部6は係数遅延部5から出力された各画素の量子化係数と閾値設定部4により設定された係数閾値βを比較し、その係数閾値βより小さい量子化係数を零値に変更する切り捨て処理を実施する。なお、係数遅延部5及び係数切り捨て処理部6から係数変更手段が構成されている。
可変長符号化部7は係数切り捨て処理部6から零値ではない量子化係数を受けると、その量子化係数を可変長符号化し、その符号化データを伝送する。なお、可変長符号化部7は符号化手段を構成している。
係数切り捨て処理部6は係数遅延部5から出力された各画素の量子化係数と閾値設定部4により設定された係数閾値βを比較し、その係数閾値βより小さい量子化係数を零値に変更する切り捨て処理を実施する。なお、係数遅延部5及び係数切り捨て処理部6から係数変更手段が構成されている。
可変長符号化部7は係数切り捨て処理部6から零値ではない量子化係数を受けると、その量子化係数を可変長符号化し、その符号化データを伝送する。なお、可変長符号化部7は符号化手段を構成している。
閾値設定部4のスキャン部11は量子化部3から出力された各画素の量子化係数を所定の順序でスキャンし、そのスキャンした量子化係数を非ゼロ係数検出部12に順次出力する。非ゼロ係数検出部12はスキャン部11から出力された量子化係数が零値であるか否かを判定し、零値でなければ、その量子化係数を平均値算出部13及び係数遅延部14に出力する。
閾値設定部4の平均値算出部13は非ゼロ係数検出部12から出力された零値ではない量子化係数の平均値を算出する。係数遅延部14は平均値算出部13が零値ではない量子化係数の平均値の算出に要する時間だけ、非ゼロ係数検出部12から出力された零値ではない量子化係数を保持し、遅延後の量子化係数を分散算出部15に出力する。
閾値設定部4の分散算出部15は係数遅延部14から出力された遅延後の量子化係数と平均値算出部13により算出された平均値の差分絶対値和を算出し、その差分絶対値和に応じて係数閾値βを設定する。
図5はこの発明の実施の形態1による画像圧縮装置における係数切り捨て処理部6の処理内容を示すフローチャートである。
閾値設定部4の分散算出部15は係数遅延部14から出力された遅延後の量子化係数と平均値算出部13により算出された平均値の差分絶対値和を算出し、その差分絶対値和に応じて係数閾値βを設定する。
図5はこの発明の実施の形態1による画像圧縮装置における係数切り捨て処理部6の処理内容を示すフローチャートである。
次に動作について説明する。
まず、ブロック化部1は、複数の画素からなる画像信号(あるいは、予測誤差信号)を入力すると、その画像信号を複数のブロック毎に分割し、各ブロックの画像信号を直交変換部2に出力する。なお、各ブロックのサイズは、特に限定するものではないが、この実施の形態1では、説明の便宜上、8×8のサイズに分割する。
まず、ブロック化部1は、複数の画素からなる画像信号(あるいは、予測誤差信号)を入力すると、その画像信号を複数のブロック毎に分割し、各ブロックの画像信号を直交変換部2に出力する。なお、各ブロックのサイズは、特に限定するものではないが、この実施の形態1では、説明の便宜上、8×8のサイズに分割する。
直交変換部2は、ブロック化部1から各ブロックの画像信号を受けると、その画像信号を例えば離散コサイン変換などの直交変換を実施することにより、その画像信号を空間周波数領域に変換し、各画素の直交変換係数を量子化部3に出力する。
量子化部3は、直交変換部2から直交変換係数を受けると、その直交変換係数を量子化し、各画素の量子化係数を閾値設定部4及び係数遅延部5に出力する。
量子化部3は、直交変換部2から直交変換係数を受けると、その直交変換係数を量子化し、各画素の量子化係数を閾値設定部4及び係数遅延部5に出力する。
閾値設定部4は、量子化部3から各画素の量子化係数を受けると、各画素の量子化係数に応じて係数閾値βを設定する。
具体的には、以下のようにして、係数閾値βを設定する。
閾値設定部4のスキャン部11は、量子化部3から出力された各画素の量子化係数を受けると、所定の順序で量子化係数をスキャンし、そのスキャンした量子化係数を非ゼロ係数検出部12に順次出力する。
具体的には、以下のようにして、係数閾値βを設定する。
閾値設定部4のスキャン部11は、量子化部3から出力された各画素の量子化係数を受けると、所定の順序で量子化係数をスキャンし、そのスキャンした量子化係数を非ゼロ係数検出部12に順次出力する。
ここで、図2はスキャン部11がジグザグスキャン方式で量子化係数をスキャンする場合のスキャン順序を示しており、図中の数字がスキャン順序を示している。
また、図3はスキャン部11がオルタネートスキャン方式で量子化係数をスキャンする場合のスキャン順序を示しており、図中の数字がスキャン順序を示している。
また、図3はスキャン部11がオルタネートスキャン方式で量子化係数をスキャンする場合のスキャン順序を示しており、図中の数字がスキャン順序を示している。
閾値設定部4の非ゼロ係数検出部12は、スキャン部11から量子化係数を受ける毎に、その量子化係数が零値であるか否かを判定する。
そして、その量子化係数が零値でなければ、その量子化係数を平均値算出部13及び係数遅延部14に出力する。
そして、その量子化係数が零値でなければ、その量子化係数を平均値算出部13及び係数遅延部14に出力する。
閾値設定部4の平均値算出部13は、非ゼロ係数検出部12から出力された零値ではない量子化係数の平均値を算出する。
ここで、図4はサイズが8×8のブロックの周波数成分を示しており、C(n)が量子化部3から出力される量子化係数である。特に、C(1)はDC成分の量子化係数であり、C(2)〜C(64)はAC成分の量子化係数である。
この例では、平均値算出部13は、零値ではないAC成分の量子化係数C(2)〜C(64)の平均値を算出する。
ここで、図4はサイズが8×8のブロックの周波数成分を示しており、C(n)が量子化部3から出力される量子化係数である。特に、C(1)はDC成分の量子化係数であり、C(2)〜C(64)はAC成分の量子化係数である。
この例では、平均値算出部13は、零値ではないAC成分の量子化係数C(2)〜C(64)の平均値を算出する。
閾値設定部4の係数遅延部14は、平均値算出部13が零値ではない量子化係数の平均値の算出に要する時間だけ、非ゼロ係数検出部12から出力された零値ではない量子化係数を保持し、遅延後の量子化係数を分散算出部15に出力する。
閾値設定部4の分散算出部15は、係数遅延部14から遅延後の量子化係数を受ける毎に、遅延後の量子化係数と平均値算出部13により算出された平均値の差分を求める。
そして、分散算出部15は、各差分値の絶対値和を算出し、その差分絶対値和に応じて係数閾値βを設定する。即ち、分散算出部15は、差分絶対値和が大きいほど、係数閾値βを小さい値に設定する。
閾値設定部4の分散算出部15は、係数遅延部14から遅延後の量子化係数を受ける毎に、遅延後の量子化係数と平均値算出部13により算出された平均値の差分を求める。
そして、分散算出部15は、各差分値の絶対値和を算出し、その差分絶対値和に応じて係数閾値βを設定する。即ち、分散算出部15は、差分絶対値和が大きいほど、係数閾値βを小さい値に設定する。
例えば、その差分絶対値和が所定値Aより大きい場合、図6に示すように、小さい値の量子化係数が多く存在するので、小さい値の量子化係数のみを切り捨てるため、係数閾値βを小さい値に設定する。例えば、係数閾値βを“3”に設定する。
一方、その差分絶対値和が所定値Aより小さい場合、図7に示すように、小さい値の量子化係数は少なく、同じような値の量子化係数が多く存在するので、係数閾値βを大きい値に設定する。例えば、係数閾値βを“5”に設定する。
ただし、図6及び図7において、黒丸は量子化係数が零値であることを表しており、数字は量子化係数の値を表している。
一方、その差分絶対値和が所定値Aより小さい場合、図7に示すように、小さい値の量子化係数は少なく、同じような値の量子化係数が多く存在するので、係数閾値βを大きい値に設定する。例えば、係数閾値βを“5”に設定する。
ただし、図6及び図7において、黒丸は量子化係数が零値であることを表しており、数字は量子化係数の値を表している。
係数遅延部5は、閾値設定部4が係数閾値βの設定に要する時間だけ、量子化部3から出力された各画素の量子化係数を保持し、遅延後の量子化係数を係数切り捨て処理部6に順次出力する。
係数切り捨て処理部6は、係数遅延部5から出力された各画素の量子化係数を受ける毎に、その量子化係数と閾値設定部4により設定された係数閾値βを比較し、その係数閾値βより小さい量子化係数を零値に変更する切り捨て処理を実施する。
具体的には、以下に示すような切り捨て処理を実施する。
係数切り捨て処理部6は、係数遅延部5から出力された各画素の量子化係数を受ける毎に、その量子化係数と閾値設定部4により設定された係数閾値βを比較し、その係数閾値βより小さい量子化係数を零値に変更する切り捨て処理を実施する。
具体的には、以下に示すような切り捨て処理を実施する。
まず、係数切り捨て処理部6は、係数遅延部5から量子化係数C(n)を入力する(ステップST1)。ただし、ここではn=1である。
係数切り捨て処理部6は、その量子化係数C(n)と係数閾値βを比較し(ステップST2)、その量子化係数C(n)が係数閾値βより小さければ、その量子化係数C(n)を符号化データに含めないようにするため、その量子化係数C(n)を零値に変更する切り捨て処理を実施する(ステップST3)。
係数切り捨て処理部6は、その量子化係数C(n)と係数閾値βを比較し(ステップST2)、その量子化係数C(n)が係数閾値βより小さければ、その量子化係数C(n)を符号化データに含めないようにするため、その量子化係数C(n)を零値に変更する切り捨て処理を実施する(ステップST3)。
次に、係数切り捨て処理部6は、ブロック内の全画素について処理を終了したか否かを判定する。即ち、n=64であるか否かを判定し(ステップST4)、n<64であれば、nの値を“1”だけインクリメントして、ステップST1の処理に移行する。
一方、n=64であれば、当ブロックの切り捨て処理を完了する。
一方、n=64であれば、当ブロックの切り捨て処理を完了する。
なお、量子化部3から出力された各画素の量子化係数が図6に示す通りであり、係数閾値βが“3”に設定された場合、56番目、59番目、60番目、63番目の量子化係数を零値に変更して切り捨てることができる。
また、量子化部3から出力された各画素の量子化係数が図7に示す通りであり、係数閾値βが“5”に設定された場合、52番目、53番目、57番目、59番目、63番目の量子化係数を零値に変更して切り捨てることができる。
また、量子化部3から出力された各画素の量子化係数が図7に示す通りであり、係数閾値βが“5”に設定された場合、52番目、53番目、57番目、59番目、63番目の量子化係数を零値に変更して切り捨てることができる。
可変長符号化部7は、上記のようにして、係数切り捨て処理部6が切り捨て処理を実施し、係数切り捨て処理部6から零値ではない量子化係数を受けると、その量子化係数を可変長符号化し、その符号化データを伝送する。
以上で明らかなように、この実施の形態1によれば、量子化部3から出力された各画素の量子化係数に応じて係数閾値βを設定する閾値設定部4を設け、係数遅延部5から出力された各画素の量子化係数と閾値設定部4により設定された係数閾値βを比較し、その係数閾値βより小さい量子化係数を零値に変更するように構成したので、重要な量子化係数の切り捨てを防止して、画質の劣化を招くことなく、情報伝送量を削減することができる効果を奏する。
また、この実施の形態1によれば、量子化部3から出力された各画素の量子化係数のうち、零値ではない量子化係数の平均値を算出したのち、零値ではない量子化係数と当該平均値の差分絶対値和を算出し、その差分絶対値和に応じて係数閾値βを設定するように構成したので、画質に影響が少ない量子化係数のみを切り捨てることを可能にする係数閾値βを設定することができる効果を奏する。
即ち、閾値設定部4が、差分絶対値和が大きいほど、係数閾値βを小さい値に設定するので、小さい値の量子化係数が多く存在しているような場合には、小さい値の量子化係数のみを切り捨てることができる効果を奏する。
即ち、閾値設定部4が、差分絶対値和が大きいほど、係数閾値βを小さい値に設定するので、小さい値の量子化係数が多く存在しているような場合には、小さい値の量子化係数のみを切り捨てることができる効果を奏する。
この実施の形態1によれば、複数の画素からなる画像信号又は予測誤差信号をブロック化し、各ブロックの画像信号又は予測誤差信号を直交変換部2に出力するブロック化部1を設けるように構成したので、ブロック毎に異なる特徴を有する画像が入力されても(一般的には同一ピクチャの画像は同一の特徴を有するが、同一ピクチャの画像であっても、ブロック毎に異なる特徴を有することがある)、画質に影響が少ない量子化係数のみを切り捨てることができる効果を奏する。
さらに、この実施の形態1によれば、係数切り捨て処理部6から零値ではない量子化係数を受けると、その量子化係数を可変長符号化する可変長符号化部7を設けるように構成したので、符号化データの伝送量を削減することができる効果を奏する。
実施の形態2.
図8はこの発明の実施の形態2による画像圧縮装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
閾値設定部8は量子化部3から出力された各画素の量子化係数に応じてゼロラン閾値αと係数閾値βを設定する。なお、閾値設定部8は閾値設定手段を構成している。
閾値設定部8の非ゼロ係数検出部16はスキャン部11から出力された量子化係数が零値であるか否かを判定し、零値でなければ、その量子化係数を平均値算出部13及び係数遅延部14に出力するとともに、零値である量子化係数の連続数を示すカウントCtをゼロリセットし、その量子化係数が零値であれば、そのカウントCtを1だけインクリメントする。
閾値設定部8の分散算出部17は係数遅延部14から出力された遅延後の量子化係数と平均値算出部13により算出された平均値の差分絶対値和を算出し、その差分絶対値和に応じてゼロラン閾値αと係数閾値βを設定する。
図8はこの発明の実施の形態2による画像圧縮装置を示す構成図であり、図において、図1と同一符号は同一または相当部分を示すので説明を省略する。
閾値設定部8は量子化部3から出力された各画素の量子化係数に応じてゼロラン閾値αと係数閾値βを設定する。なお、閾値設定部8は閾値設定手段を構成している。
閾値設定部8の非ゼロ係数検出部16はスキャン部11から出力された量子化係数が零値であるか否かを判定し、零値でなければ、その量子化係数を平均値算出部13及び係数遅延部14に出力するとともに、零値である量子化係数の連続数を示すカウントCtをゼロリセットし、その量子化係数が零値であれば、そのカウントCtを1だけインクリメントする。
閾値設定部8の分散算出部17は係数遅延部14から出力された遅延後の量子化係数と平均値算出部13により算出された平均値の差分絶対値和を算出し、その差分絶対値和に応じてゼロラン閾値αと係数閾値βを設定する。
係数切り捨て処理部9は係数遅延部5から零値である量子化係数が、閾値設定部8により設定されたゼロラン閾値αを上回る個数連続して出力されている状況下で、係数遅延部5から零値ではない量子化係数が出力された場合、その量子化係数が閾値設定部8により設定された係数閾値βより小さければ、その量子化係数を零値に変更する切り捨て処理を実施する。なお、係数遅延部5及び係数切り捨て処理部9から係数変更手段が構成されている。
図9はこの発明の実施の形態2による画像圧縮装置における係数切り捨て処理部9の処理内容を示すフローチャートである。
図9はこの発明の実施の形態2による画像圧縮装置における係数切り捨て処理部9の処理内容を示すフローチャートである。
次に動作について説明する。
まず、ブロック化部1は、複数の画素からなる画像信号(あるいは、予測誤差信号)を入力すると、上記実施の形態1と同様に、その画像信号を複数のブロック毎に分割し、各ブロックの画像信号を直交変換部2に出力する。
まず、ブロック化部1は、複数の画素からなる画像信号(あるいは、予測誤差信号)を入力すると、上記実施の形態1と同様に、その画像信号を複数のブロック毎に分割し、各ブロックの画像信号を直交変換部2に出力する。
直交変換部2は、ブロック化部1から各ブロックの画像信号を受けると、上記実施の形態1と同様に、その画像信号を例えば離散コサイン変換などの直交変換を実施することにより、その画像信号を空間周波数領域に変換し、各画素の直交変換係数を量子化部3に出力する。
量子化部3は、直交変換部2から直交変換係数を受けると、上記実施の形態1と同様に、その直交変換係数を量子化し、各画素の量子化係数を閾値設定部8及び係数遅延部5に出力する。
量子化部3は、直交変換部2から直交変換係数を受けると、上記実施の形態1と同様に、その直交変換係数を量子化し、各画素の量子化係数を閾値設定部8及び係数遅延部5に出力する。
閾値設定部8は、量子化部3から各画素の量子化係数を受けると、各画素の量子化係数に応じてゼロラン閾値αと係数閾値βを設定する。
具体的には、以下のようにして、ゼロラン閾値αと係数閾値βを設定する。
閾値設定部8のスキャン部11は、量子化部3から出力された各画素の量子化係数を受けると、上記実施の形態1と同様に、所定の順序で量子化係数をスキャンし、そのスキャンした量子化係数を非ゼロ係数検出部16に順次出力する。
具体的には、以下のようにして、ゼロラン閾値αと係数閾値βを設定する。
閾値設定部8のスキャン部11は、量子化部3から出力された各画素の量子化係数を受けると、上記実施の形態1と同様に、所定の順序で量子化係数をスキャンし、そのスキャンした量子化係数を非ゼロ係数検出部16に順次出力する。
閾値設定部8の非ゼロ係数検出部16は、上記実施の形態1と同様に、スキャン部11から量子化係数を受ける毎に、その量子化係数が零値であるか否かを判定する。
そして、その量子化係数が零値でなければ、その量子化係数を平均値算出部13及び係数遅延部14に出力するとともに、零値である量子化係数の連続数を示すカウントCtをゼロリセットする。一方、その量子化係数が零値であれば、そのカウントCtを1だけインクリメントする。ただし、カウントCtの初期値は“0”である。
そして、その量子化係数が零値でなければ、その量子化係数を平均値算出部13及び係数遅延部14に出力するとともに、零値である量子化係数の連続数を示すカウントCtをゼロリセットする。一方、その量子化係数が零値であれば、そのカウントCtを1だけインクリメントする。ただし、カウントCtの初期値は“0”である。
閾値設定部8の平均値算出部13は、上記実施の形態1と同様に、非ゼロ係数検出部16から出力された零値ではない量子化係数の平均値を算出する。
閾値設定部8の係数遅延部14は、平均値算出部13が零値ではない量子化係数の平均値の算出に要する時間だけ、非ゼロ係数検出部16から出力された零値ではない量子化係数を保持し、遅延後の量子化係数を分散算出部17に出力する。
閾値設定部8の係数遅延部14は、平均値算出部13が零値ではない量子化係数の平均値の算出に要する時間だけ、非ゼロ係数検出部16から出力された零値ではない量子化係数を保持し、遅延後の量子化係数を分散算出部17に出力する。
閾値設定部8の分散算出部17は、係数遅延部14から遅延後の量子化係数を受ける毎に、遅延後の量子化係数と平均値算出部13により算出された平均値の差分を求める。
そして、分散算出部17は、各差分値の絶対値和を算出し、その差分絶対値和に応じてゼロラン閾値αと係数閾値βを設定する。即ち、分散算出部17は、差分絶対値和が大きいほど、ゼロラン閾値αと係数閾値βを小さい値に設定する。
そして、分散算出部17は、各差分値の絶対値和を算出し、その差分絶対値和に応じてゼロラン閾値αと係数閾値βを設定する。即ち、分散算出部17は、差分絶対値和が大きいほど、ゼロラン閾値αと係数閾値βを小さい値に設定する。
例えば、その差分絶対値和が所定値Aより大きい場合、図10に示すように、小さい値の量子化係数が多く存在するので、小さい値の量子化係数のみを切り捨てるため、ゼロラン閾値αと係数閾値βを小さい値に設定する。例えば、ゼロラン閾値αを“1”に設定し、係数閾値βを“3”に設定する。
一方、その差分絶対値和が所定値Aより小さい場合、図11に示すように、同じような値の量子化係数が多く存在するので、小さい値の量子化係数であっても、零値である量子化係数が連続している状況下にある場合(前にスキャンされた数個の量子化係数が零値)に限り、量子化係数を切り捨てるため、ゼロラン閾値αと係数閾値βを大きい値に設定する。例えば、ゼロラン閾値αを“2”に設定し、係数閾値βを“5”に設定する。
ただし、図10及び図11において、黒丸は量子化係数が零値であることを表しており、数字は量子化係数の値を表している。
一方、その差分絶対値和が所定値Aより小さい場合、図11に示すように、同じような値の量子化係数が多く存在するので、小さい値の量子化係数であっても、零値である量子化係数が連続している状況下にある場合(前にスキャンされた数個の量子化係数が零値)に限り、量子化係数を切り捨てるため、ゼロラン閾値αと係数閾値βを大きい値に設定する。例えば、ゼロラン閾値αを“2”に設定し、係数閾値βを“5”に設定する。
ただし、図10及び図11において、黒丸は量子化係数が零値であることを表しており、数字は量子化係数の値を表している。
係数遅延部5は、閾値設定部8がゼロラン閾値αと係数閾値βの設定に要する時間だけ、量子化部3から出力された各画素の量子化係数を保持し、遅延後の量子化係数を係数切り捨て処理部9に順次出力する。
係数切り捨て処理部9は、係数遅延部5から出力された各画素の量子化係数を受ける毎に、その量子化係数より前の量子化係数が連続して零値であるか否かを判定し、閾値設定部8により設定されたゼロラン閾値αを上回る個数の零値が連続していれば、その量子化係数と閾値設定部8により設定された係数閾値βを比較する。そして、その量子化係数が係数閾値βより小さければ、その量子化係数を零値に変更する切り捨て処理を実施する。
具体的には、以下に示すような切り捨て処理を実施する。
係数切り捨て処理部9は、係数遅延部5から出力された各画素の量子化係数を受ける毎に、その量子化係数より前の量子化係数が連続して零値であるか否かを判定し、閾値設定部8により設定されたゼロラン閾値αを上回る個数の零値が連続していれば、その量子化係数と閾値設定部8により設定された係数閾値βを比較する。そして、その量子化係数が係数閾値βより小さければ、その量子化係数を零値に変更する切り捨て処理を実施する。
具体的には、以下に示すような切り捨て処理を実施する。
まず、係数切り捨て処理部9は、係数遅延部5から量子化係数C(n)を入力する(ステップST11)。ただし、ここではn=1である。
次に、係数切り捨て処理部9は、閾値設定部8の非ゼロ係数検出部16から出力されたカウントCtとゼロラン閾値αを比較する(ステップST12)。
係数切り捨て処理部9は、そのカウントCtがゼロラン閾値αより大きければ、その量子化係数C(n)と係数閾値βを比較する(ステップST13)。
そして、係数切り捨て処理部9は、その量子化係数C(n)が係数閾値βより小さければ、その量子化係数C(n)を符号化データに含めないようにするため、その量子化係数C(n)を零値に変更する切り捨て処理を実施する(ステップST14)。
次に、係数切り捨て処理部9は、閾値設定部8の非ゼロ係数検出部16から出力されたカウントCtとゼロラン閾値αを比較する(ステップST12)。
係数切り捨て処理部9は、そのカウントCtがゼロラン閾値αより大きければ、その量子化係数C(n)と係数閾値βを比較する(ステップST13)。
そして、係数切り捨て処理部9は、その量子化係数C(n)が係数閾値βより小さければ、その量子化係数C(n)を符号化データに含めないようにするため、その量子化係数C(n)を零値に変更する切り捨て処理を実施する(ステップST14)。
次に、係数切り捨て処理部9は、ブロック内の全画素について処理を終了したか否かを判定する。即ち、n=64であるか否かを判定し(ステップST15)、n<64であれば、nの値を“1”だけインクリメントして、ステップST11の処理に移行する。
一方、n=64であれば、当ブロックの切り捨て処理を完了する。
一方、n=64であれば、当ブロックの切り捨て処理を完了する。
なお、量子化部3から出力された各画素の量子化係数が図10に示す通りであり、ゼロラン閾値αが“1”、係数閾値βが“3”に設定された場合、56番目、63番目の量子化係数を零値に変更して切り捨てることができる。
また、量子化部3から出力された各画素の量子化係数が図11に示す通りであり、ゼロラン閾値αが“2”、係数閾値βが“5”に設定された場合、54番目、63番目の量子化係数を零値に変更して切り捨てることができる。
また、量子化部3から出力された各画素の量子化係数が図11に示す通りであり、ゼロラン閾値αが“2”、係数閾値βが“5”に設定された場合、54番目、63番目の量子化係数を零値に変更して切り捨てることができる。
可変長符号化部7は、上記のようにして、係数切り捨て処理部9が切り捨て処理を実施し、係数切り捨て処理部9から零値ではない量子化係数を受けると、上記実施の形態1と同様に、その量子化係数を可変長符号化し、その符号化データを伝送する。
以上で明らかなように、この実施の形態2によれば、量子化部3から出力された各画素の量子化係数に応じてゼロラン閾値αと係数閾値βを設定する閾値設定部8を設け、係数遅延部5から零値である量子化係数がゼロラン閾値αを上回る個数連続して出力されている状況下で、係数遅延部5から零値ではない量子化係数が出力された場合、その量子化係数が係数閾値βより小さければ、その量子化係数を零値に変更するように構成したので、画像に影響のない量子化係数を切り捨てつつ、長いゼロランを発生させることができるようになり、その結果、画質の劣化を招くことなく、情報伝送量を削減することができる効果を奏する。
また、この実施の形態2によれば、量子化部3から出力された各画素の量子化係数のうち、零値ではない量子化係数の平均値を算出したのち、零値ではない量子化係数と当該平均値の差分絶対値和を算出し、その差分絶対値和に応じてゼロラン閾値αと係数閾値βを設定するように構成したので、画質に影響が少ない量子化係数のみを切り捨てることを可能にするゼロラン閾値αと係数閾値βを設定することができる効果を奏する。
即ち、閾値設定部8が、差分絶対値和が大きいほど、ゼロラン閾値αと係数閾値βを小さい値に設定するので、小さい値の量子化係数が多く存在しているような場合には、小さい値の量子化係数のみを切り捨てることができ、同じような値の量子化係数が多く存在しているような場合には、ゼロランを長くすることができる量子化係数を切り捨てることができる効果を奏する。
即ち、閾値設定部8が、差分絶対値和が大きいほど、ゼロラン閾値αと係数閾値βを小さい値に設定するので、小さい値の量子化係数が多く存在しているような場合には、小さい値の量子化係数のみを切り捨てることができ、同じような値の量子化係数が多く存在しているような場合には、ゼロランを長くすることができる量子化係数を切り捨てることができる効果を奏する。
実施の形態3.
上記実施の形態2では、閾値設定部8が零値ではない量子化係数と平均値の差分絶対値和を算出し、その差分絶対値和に応じてゼロラン閾値αと係数閾値βを設定するものについて示したが、各画素の量子化係数から差分絶対値和以外の指標(例えば、標準偏差)を算出し、その指標に応じてゼロラン閾値αと係数閾値βを設定するようにしてもよく、上記実施の形態2と同様の効果を奏することができる。
上記実施の形態2では、閾値設定部8が零値ではない量子化係数と平均値の差分絶対値和を算出し、その差分絶対値和に応じてゼロラン閾値αと係数閾値βを設定するものについて示したが、各画素の量子化係数から差分絶対値和以外の指標(例えば、標準偏差)を算出し、その指標に応じてゼロラン閾値αと係数閾値βを設定するようにしてもよく、上記実施の形態2と同様の効果を奏することができる。
実施の形態4.
上記実施の形態1〜3では、画像圧縮装置の各構成要素(例えば、ブロック化部1、直交変換部2、量子化部3、閾値設定部4、係数遅延部5、係数切り捨て処理部6、可変長符号化部7)がハードウェア化されているものについて示したが、各構成要素の処理内容が記述されたプログラムを用意し、図示せぬ画像圧縮装置のCPUが当該プログラムを実行するようにしてもよい。
上記実施の形態1〜3では、画像圧縮装置の各構成要素(例えば、ブロック化部1、直交変換部2、量子化部3、閾値設定部4、係数遅延部5、係数切り捨て処理部6、可変長符号化部7)がハードウェア化されているものについて示したが、各構成要素の処理内容が記述されたプログラムを用意し、図示せぬ画像圧縮装置のCPUが当該プログラムを実行するようにしてもよい。
1 ブロック化部(ブロック化手段)、2 直交変換部(直交変換手段)、3 量子化部(量子化手段)、4 閾値設定部(閾値設定手段)、5 係数遅延部(係数変更手段)、6 係数切り捨て処理部(係数変更手段)、7 可変長符号化部(符号化手段)、8 閾値設定部(閾値設定手段)、9 係数切り捨て処理部(係数変更手段)、11 スキャン部、12 非ゼロ係数検出部、13 平均値算出部、14 係数遅延部、15 分散算出部、16 非ゼロ係数検出部、17 分散算出部。
Claims (4)
- 複数の画素からなる画像信号又は予測誤差信号をブロック化し、各ブロックの画像信号又は予測誤差信号を出力するブロック化手段と、上記ブロック化手段から出力された各ブロックの画像信号又は予測誤差信号を直交変換し、各画素の直交変換係数を出力する直交変換手段と、上記直交変換手段から出力された直交変換係数を量子化し、各画素の量子化係数を出力する量子化手段と、上記量子化手段から出力された各画素の量子化係数のうち、零値ではない量子化係数の平均値を算出したのち、零値ではない量子化係数と当該平均値の差分絶対値和を算出し、その差分絶対値和に応じて係数閾値を設定する閾値設定手段と、上記量子化手段から出力された各画素の量子化係数と上記閾値設定手段により設定された係数閾値を比較し、その係数閾値より小さい量子化係数を零値に変更する係数変更手段と、上記係数変更手段から出力された量子化係数を可変長符号化する符号化手段とを備えた画像圧縮装置。
- 閾値設定手段は、差分絶対値和が大きいほど、係数閾値を小さい値に設定することを特徴とする請求項1記載の画像圧縮装置。
- 複数の画素からなる画像信号又は予測誤差信号をブロック化し、各ブロックの画像信号又は予測誤差信号を出力するブロック化手段と、上記ブロック化手段から出力された各ブロックの画像信号又は予測誤差信号を直交変換し、各画素の直交変換係数を出力する直交変換手段と、上記直交変換手段から出力された直交変換係数を量子化し、各画素の量子化係数を出力する量子化手段と、上記量子化手段から出力された各画素の量子化係数のうち、零値ではない量子化係数の平均値を算出したのち、零値ではない量子化係数と当該平均値の差分絶対値和を算出し、その差分絶対値和に応じて係数閾値とゼロラン閾値を設定する閾値設定手段と、上記量子化手段から零値である量子化係数が、上記閾値設定手段により設定されたゼロラン閾値を上回る個数連続して出力されている状況下で、上記量子化手段から零値ではない量子化係数が出力された場合、その量子化係数が上記閾値設定手段により設定された係数閾値より小さければ、その量子化係数を零値に変更する係数変更手段と、上記係数変更手段から出力された量子化係数を可変長符号化する符号化手段とを備えた画像圧縮装置。
- 閾値設定手段は、差分絶対値和が大きいほど、係数閾値とゼロラン閾値を小さい値に設定することを特徴とする請求項2記載の画像圧縮装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004041796A JP2005236561A (ja) | 2004-02-18 | 2004-02-18 | 画像圧縮装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004041796A JP2005236561A (ja) | 2004-02-18 | 2004-02-18 | 画像圧縮装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005236561A true JP2005236561A (ja) | 2005-09-02 |
Family
ID=35019082
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004041796A Pending JP2005236561A (ja) | 2004-02-18 | 2004-02-18 | 画像圧縮装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005236561A (ja) |
-
2004
- 2004-02-18 JP JP2004041796A patent/JP2005236561A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8102911B2 (en) | Picture coding device | |
US8150186B2 (en) | Amount-of-compressed data control method and image data compressing apparatus | |
JP2008526072A (ja) | スケーラブル符号化 | |
US8559742B2 (en) | Image encoding methods and apparatus providing improved visual results | |
JP2008510349A (ja) | グラフィックとビデオとの混合ソースを圧縮するシステムおよび方法 | |
JP2003018599A (ja) | 画像符号化装置および方法 | |
EP0659023B1 (en) | Method and apparatus for compression-coding image data | |
JP2000059782A (ja) | 空間領域デジタル画像の圧縮方法 | |
JP2006270737A (ja) | 復号化装置、分布推定方法、復号化方法及びこれらのプログラム | |
JP5642105B2 (ja) | 画像処理装置および画像形成装置 | |
JP2005236561A (ja) | 画像圧縮装置 | |
US20130279818A1 (en) | Image encoding apparatus and method, image decoding apparatus and method, and non-transitory computer readable medium | |
JP2005295075A (ja) | 画像情報量圧縮装置及び画像情報量圧縮方法 | |
JP2841197B2 (ja) | 階調画像データの圧縮方法 | |
JP2735001B2 (ja) | 画像符号化装置 | |
WO2012015312A1 (en) | Implementation of run level coding | |
JP2507104B2 (ja) | 画像デ―タ圧縮装置 | |
JP3205028B2 (ja) | 画像圧縮装置及びその方法 | |
JP2006005478A (ja) | 画像符号化装置及び画像復号装置 | |
US8203618B2 (en) | Image processing device and method | |
JP2004241808A (ja) | 画像情報量圧縮装置及び画像情報量圧縮方法 | |
JP2005204238A (ja) | 画像情報量圧縮装置および画像情報量圧縮方法 | |
JP2003299097A (ja) | 画像情報量圧縮装置および画像情報量圧縮方法 | |
JP2013175870A (ja) | 画像処理装置及び画像処理方法 | |
JPH1188884A (ja) | 画像変換符号化装置 |