(57)【特許請求の範囲】
【請求項１】
２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器であって、
上記非可逆圧縮画像を逆量子化して得られたコサイン係数のうち、２次元の周波数領域の低周波側の周波数領域に偏ってある、０でない領域の高周波側の端部のコサイン係数を補正するコサイン係数補正手段を備えることを特徴とする画像復号器。
【請求項２】
上記コサイン係数補正手段は、上記２次元の周波数領域を規定する一方の空間軸の次数を固定し、他方の空間軸に沿って高周波側から低周波側に順次探査して、０でない最初のコサイン係数を補正対象として特定する係数探査手段を有することを特徴とする請求項１に記載の画像復号器。
【請求項３】
上記係数探査手段は、上記一方の空間軸の固定した次数よりも低い次数まで、上記他方の空間軸の次数を下げて探索しないことを特徴とする請求項２に記載の画像復号器。
【請求項４】
上記コサイン係数補正手段は、上記２次元の周波数領域を規定する２つの空間軸の両方の直流成分を表す次数のコサイン係数を補正対象としないことを特徴とする請求項１に記載の画像復号器。
【請求項５】
上記コサイン係数補正手段は、上記２次元の周波数領域を規定する２つの空間軸の最高次の次数のコサイン係数を補正対象としないことを特徴とする請求項１に記載の画像復号器。
【請求項６】
上記係数探査手段が特定した補正対象のコサイン係数を逆量子化する際に用いた量子化係数に、０より大きく、かつ、１より小さい一定値を乗じて補正値を導出する補正値導出手段と、
上記補正値を上記コサイン係数の絶対値から減じるとともに、符号は維持することにより補正後のコサイン係数を演算する補正演算手段と、を備えることを特徴とする請求項２または３に記載の画像復号器。
【請求項７】
上記コサイン係数補正手段は、上記コサイン係数を、逆量子化する際に用いた量子化係数に基づいて導出した補正値によって補正することを特徴とする請求項１に記載の画像復号器。
【請求項８】
上記コサイン係数補正手段は、２次元離散コサイン逆変換する前に補正を行うことを特徴とする請求項１に記載の画像復号器。
【請求項９】
２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器の画像復号方法であって、
上記非可逆圧縮画像を逆量子化して得られたコサイン係数のうち、２次元の周波数領域の低周波側の周波数領域に偏ってある、０でない領域の高周波側の端部のコサイン係数を補正することを特徴とする画像復号方法。
【請求項１０】
請求項１から８のいずれか１項に記載の画像復号器がコンピュータによって実現され、当該コンピュータを上記の各手段として機能させるための画像復号プログラム。
【請求項１１】
請求項１０に記載の画像復号プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コサイン変換および量子化処理された非可逆圧縮画像を復号する画像復号器、画像復号方法、画像復号プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体に関するものである。
【背景技術】
【０００２】
ＪＰＥＧ（Joint Photographic Experts Group）画像の特徴は一般的な自然画像を高い圧縮率で圧縮することが可能なことである。反面、２値画像やアニメーション画像のように強コントラストの画像では圧縮率を高くすると歪みが目立ってくる面もある。
【０００３】
ここで、ＤＣＴ（Discrete Cosine Transform）を利用するベースラインプロセスのＪＰＥＧ符号化器／復号器の動作を説明する。
【０００４】
図７に、従来技術に係るＪＰＥＧ符号化器およびＪＰＥＧ復号器の構成例を示す。
【０００５】
図７に示すように、ＪＰＥＧ符号化器５１０では、まずレベルシフト部５１１においてレベルシフト処理を行う。具体的には、原画像データＤ１の明暗を表す画素レベル値から１２８を減算する。次に、２次元離散コサイン変換部５１２において、画像空間を水平８画素、垂直８画素の微少区間に区切ってこれを処理単位とし、ＤＣＴを施す。これにより微少区間内の画素データ値は、微少区間内の水平および垂直方向の周波数領域の基本波とその高調波のコサイン係数に変換される。次に、変換されたコサイン係数に、量子化部５１３において量子化処理を施す。量子化は微少区間内の各コサイン成分それぞれに設定でき、ＪＰＥＧ符号化器５１０では量子化ステップを変更することで圧縮率を制御する。量子化ステップは復号時にも使用するので、通常ＪＰＥＧ画像データＤ２内にテーブル化され埋め込まれる（量子化テーブルＴｑ）。量子化によりコサイン係数の高調波成分が除去され圧縮が可能になる。量子化された０でない有効なコサイン係数は次段でエントロピー符号化処理される。具体的には、ベースラインプロセスではハフマン符号化部５１４においてハフマン符号化される。ハフマン符号化に用いるハフマンテーブルＴｈは復号時にも使用されるためＪＰＥＧ画像データＤ２内に埋め込まれる。こうして符号化された画像データは各種マーカと共にＪＰＥＧ画像データＤ２を構成する。
【０００６】
一方、ＪＰＥＧ復号器５２０では、ＪＰＥＧ符号化器５１０の逆の処理を行う。ハフマン復号部５２４においてハフマン復号、逆量子化部５２３において逆量子化、２次元離散コサイン逆変換部５２２において２次元離散コサイン逆変換（以降ＩＤＣＴと記載する）、逆レベルシフト部５２１において逆レベルシフト処理を受けて、ＪＰＥＧ画像復号データＤ３として再生される。
【０００７】
図８は、従来技術によるＪＰＥＧ符号化時のＤＣＴおよび量子化の例である。
【０００８】
例えば、図８（ａ）のような画像データ値を有する水平８画素、垂直８画素の画像データはＤＣＴにより、図８（ｂ）のようなコサイン係数に変換される。これを図８（ｃ）の量子化テーブルで量子化すると、図８（ｄ）のように量子化されたコサイン係数となる。これらの図のように量子化のステップサイズが大きい値の場合、量子化されたコサイン係数のほとんどが０になり大きな圧縮率を得ることができる。しかし、図８（ｄ）を逆量子化しても図８（ｂ）のコサイン係数を得ることはできず、歪みの要因となる。
【０００９】
なお、本願発明に関連する先行技術文献としては、次の特許文献１がある。
【００１０】
特許文献１には、映像信号圧縮に用いる量子化および逆量子化の過程で発生する量子化誤差を低減し、画質劣化を改善することができる映像信号処理装置が記載されている。
【００１１】
具体的には、この映像信号処理装置は、離散コサイン変換された信号を入力し、入力信号の有する第１の特性に基づき、入力信号を量子化あるいは通過させる第１の量子化器と、第１の量子化器の出力信号を入力し、離散コサイン変換された信号の有する第２の特性に基づき量子化する第２の量子化器と、第１および第２の特性に基づいて第１および第２の量子化器で行われた逆演算を行う逆量子化器と、逆量子化器から供給された付加信号から第１および第２の量子化器の両方で量子化が行われたか否かを検出し、制御信号を出力する量子化判別器と、逆量子化器の出力信号に、量子化判別器の制御信号に基づきあらかじめ定められた一定値を加減算する補正器とを備えて構成されている。
【００１２】
そして、上記した構成により、量子化判別器は逆量子化器から供給された量子化条件から記録時の各量子化器での量子化を検知する。量子化判別器は量子化および逆量子化の過程で発生する量子化誤差を補正できるパターンである場合は、補正器に制御信号を出力し、逆量子化器の出力信号にあらかじめ定められた値を加減算する。以上の結果、量子化誤差は低減し、画質劣化も低減すると記載されている。
【特許文献１】特開平６−５４２９３号公報（公開日：平成６年２月２５日）
【発明の開示】
【発明が解決しようとする課題】
【００１３】
ＪＰＥＧ画像生成時の圧縮率を高くするとブロックノイズやモスキートノイズ等の歪みが目立ち画像の品位を損ねる結果を招く。
【００１４】
図９〜図１１を用いて、これら歪みの発生する様子を説明する。
【００１５】
図９の画像は、あるコンピュータアプリケーションソフトを用いて作成した画像である。元は水平１６画素、垂直１６画素の大きさであったが、説明のため水平垂直ともに８倍に拡大している。
【００１６】
図９（ａ）は、ＪＰＥＧ変換前の非圧縮ビットマップ画像で、画像の右下寄りに明るい灰色のパッチを配置している。厳密には画像全体の左上頂点を基点して((0,0)画素とする)パッチの左上頂点が(7,7)画素となるように配置し、パッチの幅および高さはともに８画素である。またパッチの明るさレベルは１９１であり、パッチを除く周辺の明るさレベルは１２７である。図９（ｂ）は、図９（ａ）の画像データ値である。
【００１７】
図９（ａ）に示した原画像をアプリケーションソフトが備えるＪＰＥＧエンコーダにかけ、さらにＪＰＥＧデコーダをかけた出力が図１０（ａ）および図１１（ａ）の画像である。なお、図１０（ａ）および図１１（ａ）は、説明のため、さらにビットマップ画像へ変換している。
【００１８】
図１０（ａ）は、低圧縮率での図９（ａ）の変換出力である。図１０（ｂ）は、図１０（ａ）の画像データ値である。
【００１９】
また、図１１（ａ）は、高圧縮率での図９（ａ）の変換出力である。図１１（ｂ）は、図１１（ａ）の画像データ値である。
【００２０】
図１１では、圧縮率を上げたために発生した歪みが顕著に表れている。ＤＣＴの処理単位である水平８画素、垂直８画素単位で歪みの現れ方が異なるためブロックノイズとして観察できる。また変換前はパッチ部分と背景部分で一様であった画像レベル値が、変換後では大きく変動している。
【００２１】
一方、図１０では、圧縮率は低いので一見歪みは表れていないように見える。画像品位としても問題ないレベルではあるが、図１０（ｂ）に示す通り画像を精査すると厳密にはデータ値が変異しており、わずかではあるが歪みが発生している。
【００２２】
一般的に、ＪＰＥＧ画像を生成する上ではこれらの歪みは避けては通れない。これはＤＣＴを行い画像情報を周波数成分に変換して、その後の量子化で画像情報の高調波成分を除去するためであり、圧縮率を高くすることは可能だが歪みの発生は避けられない。特に、２値画像やアニメーション画像のような強コントラスト画像では、この強コントラストの境界部分に周波数の高い成分が多く含まれ、これらが量子化によって除去されてしまうため歪みが発生しやすい。ＪＰＥＧ画像が２値画像やアニメーション画像に適していない理由がここにある。
【００２３】
ＤＣＴ、量子化についてさらに説明する。
【００２４】
ＤＣＴ処理は空間上に分散する画像のデータ値（エネルギー値）を周波数上のエネルギー値に変換する直交変換である。特に微少区間に区切って行うと、その変換エネルギーが低周波側に大きく偏ることが知られている。一般的に微少区間に区切ってＤＣＴを行うと最低次数(0,0)の係数（エネルギー）が最も大きな値となり、高次の係数に向かって順次値が小さくなる、いわゆる裾広がり様相を呈す。なお、エネルギーとして捉えるので、正負の別は考慮されない。
【００２５】
これは画像を特徴づける情報が低周波側に集中することを意味し、微少区間に限定すれば隣接する画素の値は近い値を取る画像の一般的特性と合致する。
【００２６】
ＤＣＴにより得られたコサイン係数は次段で量子化処理を受けるが、このとき用いる量子化係数テーブルには傾向が見られる。基本的にはアプリケーション依存で任意に設定可能であるが、コサイン係数の低周波側を大きな量子化係数で量子化すると、画像の重要な情報が大きく除去されてしまうため、低周波側よりも高周波側により大きな量子化係数を用いるのが一般的である。大きな量子化係数を用いることは圧縮率を確保するためにも必要であるが、低周波側よりも高周波側を、より大きな量子化係数で量子化した方が画像に与える影響が小さくなる。一般的にはコサイン係数の傾向とは逆に、最高次数(7,7)の係数値が最も大きく、低次に向かって順次小さな値が設定される。
【００２７】
このような傾向を持つＤＣＴおよび量子化により圧縮符号化されたＪＰＥＧ画像データを、復号時に逆量子化まで行ったコサイン係数に着目すると、ある特徴が現れる。それはＤＣＴ時に見られる低次から高次に向かう、いわゆる裾広がりの逆転現象である。
【００２８】
例えば、本発明の説明図である図３（ａ）の例では、(1,2),(2,1),(2,2)の係数が隣の低次の係数よりも大きな値となって逆量子化されている。(0,6),(6,0)の係数は隣の低次の係数と同じ値となっていて、逆転までは行かないが、いわゆる裾広がりの一般的特性から反する。
【００２９】
これらは量子化処理により除去されるわけではないが、量子化時の係数の丸め処理による誤差である。量子化時に“０”側に丸められると除去されるが、“１”側に丸められた結果であり、最も丸め誤差が大きくなる。高次側の隣の係数は傾向的に“０”となる。量子化により除去された情報（すなわち、逆量子化で復元できない高次の“０”となった係数）を元に戻すことはできない。しかし、前述の係数は逆量子化の復元時に誤差を含む可能性が高く、この誤差も最終的な画像歪みにつながる。
【００３０】
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、コサイン変換および量子化により情報量を削減された非可逆圧縮画像を復号する復号器であって、符号化時の量子化誤差を補正し画質の劣化を抑えることができる画像復号器、画像復号方法、画像復号プログラムおよびそれを記録したコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【００３１】
上記課題を解決するために、本発明に係る画像復号器は、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器であって、上記非可逆圧縮画像を逆量子化して得られたコサイン係数のうち、２次元の周波数領域の低周波側の周波数領域に偏ってある、０でない領域の高周波側の端部のコサイン係数を、２次元離散コサイン逆変換する前に補正するコサイン係数補正手段を備えることを特徴としている。
【００３２】
また、本発明に係る画像復号方法は、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器の画像復号方法であって、上記非可逆圧縮画像を逆量子化して得られたコサイン係数のうち、２次元の周波数領域の低周波側の周波数領域に偏ってある、０でない領域の高周波側の端部のコサイン係数を、２次元離散コサイン逆変換する前に補正することを特徴としている。
【００３３】
コサイン変換により低周波側にエネルギーが集中するという画像の特性を考慮すると、逆量子化後のコサイン係数で、“０”と隣接する“０”でないコサイン係数に量子化による丸め誤差が多く含まれる。
【００３４】
そこで、上記の構成によれば、量子化による丸め誤差が多く含まれる“０”と隣接する“０”でないコサイン係数を補正できるため、復号画像の歪みを抑制することが可能となる。また、逆量子化の後かつコサイン逆変換の前で補正することにより、量子化による丸め誤差をコサイン係数のまま補正することができる。
【００３５】
さらに、本発明に係る画像復号器は、上記コサイン係数補正手段は、上記２次元の周波数領域を規定する一方の空間軸の次数を固定し、他方の空間軸に沿って高周波側から低周波側に順次探査して、０でない最初のコサイン係数を補正対象として特定する係数探査手段を有することを特徴としている。
【００３６】
上記の構成によれば、さらに、補正すべき“０”と隣接する“０”でないコサイン係数を効率よく特定できる。
【００３７】
さらに、本発明に係る画像復号器は、上記係数探査手段は、上記一方の空間軸の固定した次数よりも低い次数まで、上記他方の空間軸の次数を下げて探索しないことを特徴としている。
【００３８】
上記の構成によれば、さらに、２次元の周波数領域では、一つのコサイン係数は二つの空間軸についての意味を持つ。よって、探査の際に、固定した空間軸の次数と一致するまで探査する方向の空間軸の次数を下げながら探査し、それ以上低次までは探査しないことにより、補正すべき“０”と隣接する“０”でないコサイン係数を効率よく特定できる。
【００３９】
さらに、本発明に係る画像復号器は、上記コサイン係数補正手段は、上記２次元の周波数領域を規定する２つの空間軸の両方の直流成分を表す次数のコサイン係数を補正対象としないことを特徴としている。
【００４０】
上記の構成によれば、さらに、画像を特徴づける情報が集中している低周波成分を、不要に補正することを防止できる。
【００４１】
さらに、本発明に係る画像復号器は、上記コサイン係数補正手段は、上記２次元の周波数領域を規定する２つの空間軸の最高次の次数のコサイン係数を補正対象としないことを特徴としている。
【００４２】
上記の構成によれば、さらに、誤差がどの程度含まれているか予測できない、最高次の次数のコサイン係数を補正対象から除外することができる。
【００４３】
さらに、本発明に係る画像復号器は、上記係数探査手段が特定した補正対象のコサイン係数を逆量子化する際に用いた量子化係数に、０より大きく、かつ、１より小さい一定値を乗じて補正値を導出する補正値導出手段と、上記補正値を上記コサイン係数の絶対値から減じるとともに、符号は維持することにより補正後のコサイン係数を演算する補正演算手段と、を備えることを特徴としている。
【００４４】
量子化誤差はコサイン係数に最大で量子化係数の±(１/２)含まれる。そこで、上記の構成によれば、さらに、量子化誤差を０に近づけるように補正することができる。
【００４５】
本発明に係る画像復号器は、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器であって、上記非可逆圧縮画像を逆量子化して得られたコサイン係数を、２次元離散コサイン逆変換する前に補正値によって補正するコサイン係数補正手段と、上記補正値を、補正対象のコサイン係数を逆量子化する際に用いた量子化係数に基づいて導出する補正値導出手段と、を備えることを特徴としている。
【００４６】
また、本発明に係る画像復号方法は、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器の画像復号方法であって、上記非可逆圧縮画像を逆量子化して得られたコサイン係数を、逆量子化する際に用いた量子化係数に基づいて導出した補正値によって、２次元離散コサイン逆変換する前に補正することを特徴としている。
【００４７】
よって、逆量子化の後かつコサイン逆変換の前で補正することにより、量子化による丸め誤差をコサイン係数のまま補正することができる。
【００４８】
なお、上記画像復号器は、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記画像復号器をコンピュータにて実現させる画像復号器の画像復号プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
【発明の効果】
【００４９】
以上のように、本発明に係る画像復号器は、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器であって、上記非可逆圧縮画像を逆量子化して得られたコサイン係数のうち、２次元の周波数領域の低周波側の周波数領域に偏ってある、０でない領域の高周波側の端部のコサイン係数を、２次元離散コサイン逆変換する前に補正するコサイン係数補正手段を備える構成である。
【００５０】
また、本発明に係る画像復号方法は、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器の画像復号方法であって、上記非可逆圧縮画像を逆量子化して得られたコサイン係数のうち、２次元の周波数領域の低周波側の周波数領域に偏ってある、０でない領域の高周波側の端部のコサイン係数を、２次元離散コサイン逆変換する前に補正する方法である。
【００５１】
それゆえ、量子化による丸め誤差が多く含まれる“０”と隣接する“０”でないコサイン係数を補正できるため、復号画像の歪みを抑制することが可能となるという効果を奏する。また、逆量子化の後かつコサイン逆変換の前で補正することにより、量子化による丸め誤差をコサイン係数のまま補正することができるという効果を奏する。
【００５２】
本発明に係る画像復号器は、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器であって、上記非可逆圧縮画像を逆量子化して得られたコサイン係数を、２次元離散コサイン逆変換する前に補正値によって補正するコサイン係数補正手段と、上記補正値を、補正対象のコサイン係数を逆量子化する際に用いた量子化係数に基づいて導出する補正値導出手段と、を備える構成である。
【００５３】
また、本発明に係る画像復号方法は、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去した非可逆圧縮画像を復号する画像復号器の画像復号方法であって、上記非可逆圧縮画像を逆量子化して得られたコサイン係数を、逆量子化する際に用いた量子化係数に基づいて導出した補正値によって、２次元離散コサイン逆変換する前に補正する方法である。
【００５４】
それゆえ、逆量子化の後かつコサイン逆変換の前で補正することにより、量子化による丸め誤差をコサイン係数のまま補正することができるという効果を奏する。
【発明を実施するための最良の形態】
【００５５】
本発明の一実施の形態について図１から図６、図１２から図２１に基づいて説明すれば、以下のとおりである。
【００５６】
なお、本実施の形態では、ＪＰＥＧ画像を例に説明するが、本発明は、コサイン変換および量子化により情報量が削減された非可逆圧縮画像または映像であれば、任意の形式のデータに適用できる。例えば、ＭＰＥＧ（Moving Pictures Experts Group）映像は水平８画素垂直８画素の微小部分を対象に直行変換として２次元離散コサイン変換を用いること、また、直行変換後に量子化を行い、高周波成分を除去することにおいて、ＪＰＥＧ画像と同じ技術を用いているので、本発明を適用できる。すなわち、本発明はコサイン逆変換および量子化による圧縮映像を復号するアプリケーションにも適用可能である。なお、ＪＰＥＧ画像の詳細はＩＳＯ／ＩＥＣ  １０９１８−１規格書を参照されたい。またＭＰＥＧ映像の詳細についてもその規格書を参照されたい。
【００５７】
図１は、本実施の形態に係るＪＰＥＧ復号器（画像復号器）２０の構成の概略を示す機能ブロック図である。
【００５８】
図１に示すように、上記ＪＰＥＧ復号器２０は、ＪＰＥＧ符号化器１０で符号化されたＪＰＥＧ画像データＤ２を復号してＪＰＥＧ画像復号データＤ３を出力する。
【００５９】
まず、ＪＰＥＧ符号化器１０について説明する。なお、ＪＰＥＧ符号化器１０は、従来技術に係るものが利用できる。
【００６０】
ＪＰＥＧ符号化器１０は、レベルシフト部１１、２次元離散コサイン変換部１２、量子化部１３、ハフマン符号化部１４を備えて構成されている。
【００６１】
ＪＰＥＧ符号化器１０では、まずレベルシフト部１１においてレベルシフト処理を行う。具体的には、原画像データＤ１の明暗を表す画素レベル値から所定値（例えば、１２８）を減算する。次に、２次元離散コサイン変換部１２において、画像空間を所定の微少区間（例えば、水平８画素、垂直８画素）に区切ってこれを処理単位とし、ＤＣＴを施す。これにより微少区間内の画素データ値は微少区間内の水平および垂直方向の周波数領域の基本波とその高調波のコサイン係数に変換される。次に、変換されたコサイン係数に、量子化部１３において量子化処理を施す。量子化は微少区間内の各コサイン成分それぞれに設定でき、ＪＰＥＧ符号化器１０では量子化ステップを変更することで圧縮率を制御する。量子化ステップは復号時にも使用するので、通常ＪＰＥＧ画像データＤ２内にテーブル化され埋め込まれる（量子化テーブルＴｑ）。量子化によりコサイン係数の高調波成分が除去され圧縮が可能になる。量子化された“０”でない有効なコサイン係数は、ハフマン符号化部１４でハフマン符号化される。ハフマン符号化に用いるハフマンテーブルＴｈは復号時にも使用されるためＪＰＥＧ画像データＤ２内に埋め込まれる。こうして符号化された画像データは各種マーカと共にＪＰＥＧ画像データＤ２を構成する。
【００６２】
つづいて、ＪＰＥＧ復号器２０について説明する。
【００６３】
ＪＰＥＧ復号器２０は、ＪＰＥＧ符号化器１０において、２次元離散コサイン変換で得られたコサイン係数の高周波成分を量子化により除去して生成されたＪＰＥＧ画像（非可逆圧縮画像）を復号する。そのため、ＪＰＥＧ復号器２０は、ハフマン復号部２４、逆量子化部２３、２次元離散コサイン逆変換部２２、逆レベルシフト部２１に加えて、逆量子化部２３と２次元離散コサイン逆変換部２２との間にコサイン係数補正部（コサイン係数補正手段）３０を備えて構成されている。
【００６４】
ＪＰＥＧ復号器２０では、ＪＰＥＧ符号化器１０の逆の処理を行う。ＪＰＥＧ復号器２０は、入力されたＪＰＥＧ画像データＤ２に対して、ハフマン復号部２４においてハフマン復号、逆量子化部２３において逆量子化、２次元離散コサイン逆変換部２２において２次元離散コサイン逆変換、逆レベルシフト部２１において逆レベルシフト処理を施して、ＪＰＥＧ画像復号データＤ３を生成する。
【００６５】
ここで、ＪＰＥＧ復号器２０では、特に、逆量子化部２３において逆量子化されたコサイン係数データＤｉｑから補正すべきコサイン係数を導出し、量子化係数（量子化テーブルＴｑ）から補正量を導出して、コサイン係数を補正するコサイン係数補正部３０を備えている。
【００６６】
以下、上記コサイン係数補正部３０について詳細に説明する。
【００６７】
コサイン係数補正部３０は、ＪＰＥＧ画像データＤ２を逆量子化して得られたコサイン係数のうち、２次元の周波数領域の低周波側の周波数領域に偏ってある、０でない領域の高周波側の端部のコサイン係数を、２次元離散コサイン逆変換する前に補正する。そのため、コサイン係数補正部３０は、係数探査部（係数探査手段）３１、補正値導出部（補正値導出手段）３２、補正演算部（補正値演算手段）３３を備えて構成されている。
【００６８】
上記係数探査部３１は、逆量子化後のコサイン係数から、丸め誤差が大きく含まれるコサイン係数を特定する。具体的には、係数探査部３１は、２次元の周波数領域を規定する一方の空間軸（水平方向および垂直方向の一方）の次数を固定し、他方の空間軸に沿って高周波側から低周波側に順次探査して、０でない最初のコサイン係数を補正対象として特定する。ただし、係数探査部３１は、上記一方の空間軸の固定した次数よりも低い次数まで、上記他方の空間軸の次数を下げて探索しない。また、上記２次元の周波数領域を規定する２つの空間軸の両方の直流成分を表す次数のコサイン係数を補正対象としない。さらに、上記２次元の周波数領域を規定する２つの空間軸の最高次の次数のコサイン係数を補正対象としない。
【００６９】
上記補正値導出部３２は、量子化テーブルＴｑと係数探査部３１にて特定されたコサイン係数の位置情報に対応する量子化係数を量子化テーブルＴｑから抽出し、丸め誤差に相当する補正値を導出する。具体的には、補正値導出部３２は、係数探査部３１が特定した補正対象のコサイン係数を逆量子化する際に用いた量子化係数に、０より大きく、かつ、１より小さい一定値を乗じて補正値を導出する。
【００７０】
上記補正演算部３３は、係数探査部３１にて特定されたコサイン係数から、補正値導出部３２にて導出された丸め誤差相当の補正値を減算する。具体的には、補正演算部３３は、上記補正値をコサイン係数の絶対値から減じるとともに、符号は維持することにより補正後のコサイン係数を演算する。
【００７１】
つづいて、コサイン係数補正部３０の動作を説明する。
【００７２】
まず、係数探査部３１が、補正対象のコサイン係数を特定する。具体的には、処理単位（例えば、水平８個、垂直８個）内で、水平方向または垂直方向の高調波成分側から０でない最初のコサイン係数を探査する。この探査は、水平方向であれば、垂直の次数を固定して行う。一方、垂直方向であれば、水平の次数を固定して行う。また、最高次である７次高調波成分は探査対象としない。また水平垂直共に最低次である０次の係数は探査対象としない。（具体的には、図３（ａ）の(0,0)を探索対象から除外する。なお、(0,6)等は探索対象とする。）さらに、探査方向次数と固定している方向の次数を比較して、固定方向の次数より低い次数の係数は探査対象としない。係数探査部３１は、このような条件の下にコサイン係数を探査して補正すべきコサイン係数を特定する。
【００７３】
次に、補正値導出部３２が、逆量子化されたコサイン係数Ｄｉｑの補正値を導出する。具体的には、補正値導出部３２は、係数探査部３１にて特定された補正対象のコサイン係数の周波数上の位置情報（後述する(0,6)等）に基づき、当該コサイン係数に逆量子化処理を行った際に用いた量子化係数を量子化テーブルＴｑから抽出する。そして、補正値導出部３２は、抽出した量子化係数に１以下の一定値を乗じ、小数点以下を切り捨てて補正値を導出する。
【００７４】
次に、補正演算部３３が、補正値導出部３２にて導出された補正値を、補正対象のコサイン係数の絶対値から減じ、コサイン係数の符号はそのまま維持する。つまり、コサイン係数が正値ならば減算処理、負値であれば加算処理を行う。
【００７５】
このように、コサイン係数補正部３０に逆量子化部２３から入力された、逆量子化されたコサイン係数Ｄｉｑは、係数探査部３１にて補正対象であるか否かが判定され、補正対象であれば補正演算部３３にて補正された後、２次元離散コサイン逆変換部２２に入力される。一方、係数探査部３１にて補正対象と特定されなかった、逆量子化されたコサイン係数Ｄｉｑは、そのまま２次元離散コサイン逆変換部２２に入力される。
【００７６】
ここで、図２は、係数探査部３１による、補正対象のコサイン係数の探査方法を示す説明図である。なお、図２は、処理単位が水平８個、垂直８個である場合の例である。
【００７７】
図２に示すように、微少区間内にコサイン係数は６４個存在する。（水平方向次数，垂直方向次数）と表記することとして、各微小区間に(0,0)から(7,7)と名前を付ける。
【００７８】
図の枠外に示す矢印は探査を行う方向を示す。また各微小区間を示す枠内の下段の○または×印は、当該微小区間のコサイン係数が探査対象かどうかを表す。○印が探査対象、×印が非探査対象であることを示す。○印および×印は、左側が水平方向、右側が垂直方向の探査についての表示である。
【００７９】
図３は、係数探査部３１の動作を示す説明図である。図３（ａ）は、補正対象として特定されたコサイン係数を示す。図３（ｂ）は、補正対象のコサイン係数が補正された状態を示す。
【００８０】
上述した探査方法によれば、図３（ａ）の場合、図中太枠が付された５個のコサイン係数が補正対象として特定できる。ここで、(0,6),(1,2)のコサイン係数は水平方向から、(2,1),(6,0)のコサイン係数は垂直方向から、(2,2)のコサイン係数は水平および垂直方向からの探査によって特定される。
【００８１】
そして、図３（ａ）のように特定されたコサイン係数に対して、量子化テーブル（図８（ｃ））および一定値（0.25）を用いて導出した補正値によって補正すると、図３（ｂ）となる。具体的には、(0,6)のコサイン係数71を逆量子化で用いた量子化係数は71であるから、一定値0.25をかけると、補正値は17となる。そして、この補正値17をコサイン係数71から減算して、補正されたコサイン係数54を得る。同様にして、(1,2)(2,1)のコサイン係数は29、(6,0)のコサイン係数は54と補正される。また、(2,2)のコサイン係数は水平および垂直両方向から補正されるため、補正処理を２回受ける。当該コサイン係数-47の量子化係数は47なので補正値は11、コサイン係数-47は負値なので11を2回加算処理され、-25に補正される。
【００８２】
図９の画像は、あるコンピュータアプリケーションソフトを用いて作成した画像である。元は水平１６画素、垂直１６画素の大きさであったが、説明のため水平垂直ともに８倍に拡大している。
【００８３】
図９（ａ）は、ＪＰＥＧ変換前の非圧縮ビットマップ画像で、画像の右下寄りに明るい灰色のパッチを配置している。厳密には画像全体の左上頂点を基点して((0,0)画素とする)パッチの左上頂点が(7,7)画素となるように配置し、パッチの幅および高さはともに８画素である。またパッチの明るさレベルは191であり、パッチを除く周辺の明るさレベルは127である。図９（ｂ）は、図９（ａ）の画像データ値である。
【００８４】
図４（ａ）は、図９（ａ）に示した圧縮符号化されたＪＰＥＧ画像を、上述したＪＰＥＧ復号器２０により、コサイン係数を補正して復号した画像である。なお、圧縮率は従来技術において示した図１１と同じ（高圧縮率）である。また、図４（ａ）は、説明のため、ビットマップ画像へ変換するとともに、８倍に拡大している。図４（ｂ）は、図４（ａ）の画像データ値である。
【００８５】
図４（ａ）を従来技術による図１１（ａ）と比較すると、図４（ａ）の方が歪みが減少している。また、図４（ｂ）と図１１（ｂ）との画素ごとのデータ値を比較すると、図４（ｂ）の方が画像データの誤差が小さくなっている。
【００８６】
さらに、図５は、原画像である図９（ａ）を元に求めた、図４（ａ）および図１１（ａ）の画像データの標準偏差およびＰＳＮＲ（Peak Signal-to-Noise Ratio）である。図５から、ＪＰＥＧ復号器２０を用いてコサイン係数を補正すると、画質が改善されることが数値上でも明らかである。
【００８７】
なお、ＪＰＥＧ復号器２０を例えば図１０のような元々歪みの少ない画像に適用した場合、補正すべきコサイン係数が探査で特定されなかったり、また特定されても、量子化係数からの導出した補正値が“0”であったりして、結果として無補正となり復号時の画像に対して過補正等の影響を与えることはない。
【００８８】
例えば、後述する例のように、低圧縮時の量子化テーブル（図１４（ｂ））の場合の逆量子化後のコサイン係数（図１６（ｂ））のように、コサイン係数自体に“0”の値が出現しなかったり、量子化テーブルから補正値を算出する上でその補正値が“0”になったりする。それゆえ、ＪＰＥＧ復号器２０は、任意の画像に対して一様に適用することができる。
【００８９】
以上のように、上記ＪＰＥＧ復号器２０は、コサイン変換および量子化により情報量を削減された非可逆圧縮画像を復号する復号器であって、歪みを抑えるために、量子化処理時の丸め誤差に着目して、これを補正するためのコサイン係数補正部３０を備える。このコサイン係数補正部３０は、逆量子化部２３と２次元離散コサイン逆変換部２２との間に設けられる。コサイン係数補正部３０では、係数探査部３１にて逆量子化後のコサイン係数に対して丸め誤差が大きく含まれるコサイン係数を特定し、補正値導出部３２および補正演算部３３にて前記特定されたコサイン係数から丸め誤差相当の情報量を除去する。
【００９０】
以下、本発明の特徴について補足する。
【００９１】
（ａ）補正の時期
ＪＰＥＧ復号器２０では、図１に示すように、コサイン係数を２次元離散コサイン逆変換する前に補正する。このように逆量子化の後かつコサイン逆変換の前で補正することにより、符号化時の量子化および復号時の逆量子化の過程で生じるコサイン係数（ＤＣＴ係数）上の誤差を、コサイン係数のまま補正することができる。これは、逆コサイン変換を行うと、量子化誤差が変換単位（例えば８ｘ８画素）内で散らばってしまうが、逆コサイン変換前であれば、コサイン係数列上“０”と接する“０”でない係数値に誤差が最も強く発生する傾向があることを利用したものである（図１２参照）。
【００９２】
（ｂ）補正するコサイン係数を探査するアルゴリズム
上記説明では、コサイン係数に対して、水平方向および垂直方向の一方を固定して、高周波成分側から低周波成分側に順次、０でない最初の係数を探査するアルゴリズムを示した。しかし、探査の目的が、図３（ａ）の(1,2),(2,1),(2,2),(0,6),(6,0)のような、“０”でない画素領域の端部を特定することであるため、他のアルゴリズムに従って探査してもよい。具体的には、例えば、低周波成分側から高周波成分側に探査するアルゴリズムを採用してもよい。
【００９３】
ただし、コサイン係数列の途中に“０”が含まれる場合、すなわち、“０”の高周波側に“０”でない係数が存在する場合があり、この“０”の低周波側を特定しないようにする必要がある。例えば、“-270,-156,164,-130,132,0,71,0”(先頭が低周波側)のような係数列の場合、特定すべきは132ではなく、71である。よって、低周波側から探査すると最高次数まで確認しないと71が特定できないアルゴリズムは、処理が遅くなる可能性がある。
【００９４】
（ｃ）補正対象から最高次の高調波成分を除く
補正対象から最高次の高調波成分を除外するのは、そこに誤差がどの程度含まれるか見込めないためである。
【００９５】
一般に、量子化誤差は最大で量子化係数の±(1/2)まで発生する。量子化で“０”になってしまった係数は、補正しようにも符号さえ判断できない。また、最高次数の“０”でない係数もプラスの誤差が含まれるか、マイナスの誤差が含まれるか、判断ができない。一方、“０”の低周波側の“０”でない係数には、“０”から離れるように誤差が強く含まれる傾向がある。よって、本発明ではこれを“０”に近づくように補正する。
【００９６】
図６を用いて、より詳細に説明する。図６は、元の数に量子化係数４を適用して量子化、逆量子化を行ったときの誤差および補正値を示す表である。
【００９７】
(1)逆量子化で“0”となった数からは元の数は特定できない。(2)逆量子化で“4”となった数の元の数もやはり特定はできない。なお、一般的に量子化された数を逆量子化すると誤差が含まれる。(3)図６のように元の数が分かっていて計算すれば、“6”,“2”,“-2”に誤差が大きく含まれることは容易に判別できる。
【００９８】
しかし、画像復号時のように、分かるのは逆量子化されたコサイン係数と量子化係数である場合、どの程度量子化誤差が含まれるのかは判断できない。
【００９９】
ただし、コサイン変換により低周波側にエネルギーが集中するという画像の特性を考慮すると、逆量子化後のコサイン係数で、“０”と隣接する“０”でないコサイン係数に量子化誤差が多く含まれることは推測できる。図６では、それが元の数で“2”と“-2”である。そして、本発明の処理では、元の数が“2”と“-2”である逆量子化後のコサイン係数が特定可能であり、その補正値は“1”、補正後の逆量子化された数はそれぞれ“3”と“-3”になる。
【０１００】
（ｄ）探査の制限
画像、映像は空間軸として２次元（映像は時間軸もある）であり、一つのコサイン係数は水平方向と垂直方向の２方向の意味合いを持つ。例えば、(0,5)の係数は垂直方向に０次（垂直方向にはＤＣ（直流）成分）、水平方向に５次の高周波成分を含む係数と解釈できる。値の大きい係数が低周波側に偏る画像の一般的特性からすると、水平方向の誤差の方が大きく、かつ、(0,6)の係数よりは誤差が小さいと推測できる。それゆえ、本発明では、係数の探査方向を決めたとき固定される方向の次数と比較して、より低次までは探査しないように制限を設けてある。
【０１０１】
（ｅ）量子化係数に乗じる値
上記説明では、コサイン係数の補正値を、量子化係数に一定値を乗じて求める場合について示した。
【０１０２】
既述のように、量子化誤差は最大で量子化係数の±(1/2)含まれる。よって、補正値はその半分の量子化係数の±(1/4)とし、値として“０”に近づくように補正する。それゆえ、量子化係数に乗じる値としては、例えば一定値の“0.25”に設定できる。しかし、この値は、“0.25”でなくてもよく、また、一定値でなくてもよい（例えば、乗じる量子化係数の絶対値に応じて決定される可変値であってもよい）。
【０１０３】
（ｆ）処理単位、
上記説明では、８×８を処理単位とした例を示したが、本発明は他の形状の処理単位（例えば、１６×１６や８×１６）にも適用できる。
【０１０４】
処理単位は、符号化時と同じことが要求される。つまり、符号化時に８ｘ８で離散コサイン変換が行われれば、コサイン係数の特定や補正も８ｘ８の処理単位で行う必要がある。例えばＨ.２６４等の符号化で、８ｘ４で符号化が行われれば、８ｘ４の処理単位で補正することになる。
【０１０５】
（ｇ）歪みの少ない画像に対する補正
ＪＰＥＧ復号器２０で歪みの少ない画像を処理した場合、逆量子化後のコサイン係数が“0”になることが少なくなる。また、量子化係数も“3”などの小さい数字が適用されるため、補正値自体が“0”になることが多くなる。よって、本発明を適用しても結果として補正されない。
【０１０６】
ここで、図１３〜図２１を参照して、ＪＰＥＧ復号器２０の動作を説明する。以下の例では、逆量子化されたコサイン係数をコサイン係数補正部３０を用いて補正する場合と補正しない場合との比較、ならびに、高圧縮時の量子化テーブルを使用した場合と低圧縮時の量子化テーブルを使用した場合の比較を行う。
【０１０７】
まず、図１３（ａ）は、原画像データの例である。また、図１３（ｂ）は、図１３（ａ）をコサイン変換したコサイン係数である。
【０１０８】
次に、量子化テーブルの例である。具体的には、図１４（ａ）は、高圧縮時に使用される量子化テーブルの例である。図１４（ｂ）は、低圧縮時に使用される量子化テーブルの第１例である。図１４（ｃ）は、低圧縮時に使用される量子化テーブルの第２例である。
【０１０９】
次に、図１５は、コサイン係数を量子化テーブルを用いて量子化したデータである。詳細には、図１５（ａ）は、図１３（ｂ）に示したコサイン係数を、図１３（ａ）に示した高圧縮時の量子化テーブルを用いて量子化したデータである。図１５（ｂ）は、図１３（ｂ）に示したコサイン係数を、図１３（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化したデータである。図１５（ｃ）は、図１３（ｂ）に示したコサイン係数を、図１３（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化したデータである。
【０１１０】
次に、図１６は、量子化テーブルを用いて量子化したデータを、該量子化テーブルを用いて逆量子化したデータである。詳細には、図１６（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化した、図１５（ａ）に示したデータを、該量子化テーブルを用いて逆量子化したデータである。図１６（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化した、図１５（ｂ）に示したデータを、該量子化テーブルを用いて逆量子化したデータである。図１６（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化した、図１５（ｃ）に示したデータを、該量子化テーブルを用いて逆量子化したデータである。
【０１１１】
次に、図１７は、量子化テーブルを用いて量子化および逆量子化したデータを、本発明のコサイン係数補正部３０によって補正したデータである。詳細には、図１７（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した、図１６（ａ）に示したデータを、本発明のコサイン係数補正部３０によって補正したデータである。図１７（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した、図１６（ｂ）に示したデータを、本発明のコサイン係数補正部３０によって補正したデータである。このデータは、結果的に無補正である。図１７（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した、図１６（ｃ）に示したデータを、本発明のコサイン係数補正部３０によって補正したデータである。
【０１１２】
次に、図１８は、量子化テーブルを用いて量子化および逆量子化したデータを、逆コサイン変換した復元画像のデータである。すなわち、従来技術による復元画像のデータである。詳細には、図１８（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した、図１６（ａ）に示したデータを、逆コサイン変換した復元画像のデータである。図１８（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した、図１６（ｂ）に示したデータを、逆コサイン変換した復元画像のデータである。図１８（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した、図１６（ｃ）に示したデータを、逆コサイン変換した復元画像のデータである。
【０１１３】
次に、図１９は、量子化テーブルを用いて量子化および逆量子化した後、本発明のコサイン係数補正部３０によって補正したデータを、逆コサイン変換した復元画像のデータである。すなわち、本発明による復元画像のデータである。詳細には、図１９（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した後、本発明のコサイン係数補正部３０によって補正した、図１７（ａ）に示したデータを、逆コサイン変換した復元画像のデータである。図１９（ｂ）は、図１４（ｂ）に示した低高圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した後、本発明のコサイン係数補正部３０によって補正した、図１７（ｂ）に示したデータを、逆コサイン変換した復元画像のデータである。図１９（ｃ）は、図１４（ｃ）に示した低高圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した後、本発明のコサイン係数補正部３０によって補正した、図１７（ｃ）に示したデータを、逆コサイン変換した復元画像のデータである。
【０１１４】
次に、図２０は、従来技術による復元画像と原画像間のデータ差の分散である。詳細には、図２０（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した後、逆コサイン変換した、図１８（ａ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。図２０（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した後、逆コサイン変換した、図１８（ｂ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。図２０（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した後、逆コサイン変換した、図１８（ｃ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。
【０１１５】
次に、図２１は、本発明による復元画像と原画像間のデータ差の分散である。詳細には、図２１（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した後、本発明のコサイン係数補正部３０によって補正したデータを、逆コサイン変換した、図１９（ａ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。図２１（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した後、本発明のコサイン係数補正部３０によって補正したデータを、逆コサイン変換した、図１９（ｂ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。図２１（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した後、本発明のコサイン係数補正部３０によって補正したデータを、逆コサイン変換した、図１９（ｃ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。
【０１１６】
図２０、図２１の分散値は小さい方が、復元画像が元画像により近いことを示す。よって、図２０、図２１から分かるように、本発明は高圧縮時に効果が大きい。
【０１１７】
ここで、上述したように、図１４（ｂ）および図１４（ｃ）は共に低圧縮量子化テーブルであるが、図１４（ｂ）は本発明の補正を行っても結果として無補正となり、図１４（ｃ）は本発明の補正を行うとわずかな効果が得られる点が異なっている。また、図１４（ｃ）の量子化テーブルを適用した方が圧縮率が高くなるが、復号時のひずみが大きくなる。このひずみの大きくについては、図２０（ｂ）（ｃ）図２１（ｂ）（ｃ）に示した、復号画像と元画像の分散値から読み取ることができる。すなわち、この分散値が小さい方がよりひずみが小さくなるため、図２０（ｃ）と図２１（ｃ）の分散値から本発明の効果が数値で比較できる。
【０１１８】
なお、本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。例えば、本発明は以下のように構成することができる。
【０１１９】
本発明に係る復号器は、画像または映像の水平方向および垂直方向に空間的な微小部分を処理単位として、直交変換に２次元離散コサイン変換を用い、変換後のコサイン変換係数の高周波成分を量子化により除去することで情報量を削減する圧縮画像または圧縮映像を、２次元離散コサイン逆変換で復元する復号器であって、前記微小部分のコサイン係数を２次元離散コサイン逆変換する前に補正する構成であってもよい。
【０１２０】
さらに、上記復号器は、補正の方法として、補正すべきコサイン係数を微少部分内で特定する手段を有し、コサイン係数を水平方向または垂直方向の高周波成分側から低周波成分側に順次探査して、係数値が“０”でない最初の係数に対して補正を行うように構成されていてもよい。
【０１２１】
また、上記復号器は、補正すべきコサイン係数を探査の際に、探査方向でない方向の次数を固定して探査し、かつ探査は固定した方向の次数と探査する方向の次数が一致するまで探査し、それ以上低次までは探査しないように構成されていてもよい。
【０１２２】
また、上記復号器は、コサイン係数のうち水平方向および垂直方向共に直流成分を表す次数のコサイン係数は、これを補正対象としないように構成されていてもよい。
【０１２３】
また、上記復号器は、コサイン係数のうち最高次の高調波成分を補正対象としないように構成されていてもよい。
【０１２４】
さらに、上記復号器は、補正の方法として、補正対象のコサイン係数の絶対値に対して、その当該コサイン係数を逆量子化する際に用いた量子化係数に一定割合を乗じた値を減算することで補正を行うように構成されていてもよい。
【０１２５】
最後に、ＪＰＥＧ復号器２０の各ブロック、特にコサイン係数補正部３０の係数探査部３１、補正値導出部３２および補正演算部３３は、ハードウェアロジックによって構成してもよいし、次のようにＣＰＵを用いてソフトウェアによって実現してもよい。
【０１２６】
すなわち、ＪＰＥＧ復号器２０は、各機能を実現する制御プログラムの命令を実行するＣＰＵ（central processing unit）、上記プログラムを格納したＲＯＭ（read only memory）、上記プログラムを展開するＲＡＭ（random access memory）、上記プログラムおよび各種データを格納するメモリ等の記憶装置（記録媒体）などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるＪＰＥＧ復号器２０の制御プログラムのプログラムコード（実行形式プログラム、中間コードプログラム、ソースプログラム）をコンピュータで読み取り可能に記録した記録媒体を、上記ＪＰＥＧ復号器２０に供給し、そのコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
【０１２７】
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー（登録商標）ディスク／ハードディスク等の磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤ／ＣＤ−Ｒ等の光ディスクを含むディスク系、ＩＣカード（メモリカードを含む）／光カード等のカード系、あるいはマスクＲＯＭ／ＥＰＲＯＭ／ＥＥＰＲＯＭ／フラッシュＲＯＭ等の半導体メモリ系などを用いることができる。
【０１２８】
また、ＪＰＥＧ復号器２０を通信ネットワークと接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（virtual private network）、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、ＩＥＥＥ１３９４、ＵＳＢ、電力線搬送、ケーブルＴＶ回線、電話線、ＡＤＳＬ回線等の有線でも、ＩｒＤＡやリモコンのような赤外線、Ｂｌｕｅｔｏｏｔｈ（登録商標）、８０２．１１無線、ＨＤＲ、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
【産業上の利用可能性】
【０１２９】
本発明は、コサイン変換および量子化により情報量を削減された非可逆圧縮画像または映像を復号する復号器であって、符号化時の量子化誤差を補正することで画質の劣化を抑えることができるため、圧縮画像または圧縮映像の表示機器、およびそのためのソフトウェアに適用可能であり、特に、ＪＰＥＧ画像、ＭＰＥＧ映像の表示機器または表示ソフトウェアに好適である。
【図面の簡単な説明】
【０１３０】
【図１】本発明の一実施の形態に係るＪＰＥＧ復号器の構成を示す機能ブロック図である。
【図２】図１に示したＪＰＥＧ復号器の係数探査部による、補正対象のコサイン係数の探査方法を示す説明図である。
【図３】図１に示したＪＰＥＧ復号器の係数探査部の動作を示す説明図である。図３（ａ）は、補正対象として特定されたコサイン係数を示す。図３（ｂ）は、補正対象のコサイン係数が補正された状態を示す。
【図４】図４（ａ）は、図９（ａ）の原画像を、図１に示したＪＰＥＧ復号器により高圧縮率でＪＰＥＧエンコード、デコード処理した画像であり、図４（ｂ）は図４（ａ）の画像データ値である。
【図５】原画像である図９（ａ）を元に求めた、図４（ａ）および図１１（ａ）の画像データの標準偏差およびＰＳＮＲである。
【図６】元の数に量子化係数４を適用して量子化、逆量子化を行ったときの誤差および図１に示したＪＰＥＧ復号器のコサイン係数補正部による補正値を示す表である。
【図７】従来技術に係るＪＰＥＧ符号化器およびＪＰＥＧ復号器の構成例を示す機能ブロック図である。
【図８】従来技術によるＪＰＥＧ符号化時のＤＣＴおよび量子化の例であり、図８（ａ）は原画像データ、図８（ｂ）はＤＣＴによるコサイン係数、図８（ｃ）は量子化テーブルの例、図８（ｄ）は量子化後のコサイン係数を示す。
【図９】図９（ａ）はＪＰＥＧエンコード、デコード処理するための原画像であり、図９（ｂ）は図９（ａ）の画像データ値である。
【図１０】図１０（ａ）は、図９（ａ）の原画像を、従来技術により低圧縮率でＪＰＥＧエンコード、デコード処理した画像であり、図１０（ｂ）は図１０（ａ）の画像データ値である。
【図１１】図１１（ａ）は、図９（ａ）の原画像を、従来技術により高圧縮率でＪＰＥＧエンコード、デコード処理した画像であり、図１１（ｂ）は図１１（ａ）の画像データ値である。
【図１２】従来技術によるＪＰＥＧ符号化時のＤＣＴおよび量子化の処理、ＪＰＥＧ復号時の逆量子化およびＩＤＣＴの処理における誤差の状態を示す説明図である。
【図１３】図１３（ａ）は、原画像データの例である。図１３（ｂ）は、図１３（ａ）をコサイン変換したコサイン係数である。
【図１４】図１４（ａ）は、高圧縮時に使用される量子化テーブルの例である。図１４（ｂ）は、低圧縮時に使用される量子化テーブルの第１例である。図１４（ｃ）は、低圧縮時に使用される量子化テーブルの第２例である。
【図１５】図１５（ａ）は、図１３（ｂ）に示したコサイン係数を、図１３（ａ）に示した高圧縮時の量子化テーブルを用いて量子化したデータである。図１５（ｂ）は、図１３（ｂ）に示したコサイン係数を、図１３（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化したデータである。図１５（ｃ）は、図１３（ｂ）に示したコサイン係数を、図１３（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化したデータである。
【図１６】図１６（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化した、図１５（ａ）に示したデータを、該量子化テーブルを用いて逆量子化したデータである。図１６（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化した、図１５（ｂ）に示したデータを、該量子化テーブルを用いて逆量子化したデータである。図１６（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化した、図１５（ｃ）に示したデータを、該量子化テーブルを用いて逆量子化したデータである。
【図１７】図１７（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した、図１６（ａ）に示したデータを、本発明のコサイン係数補正部によって補正したデータである。図１７（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した、図１６（ｂ）に示したデータを、本発明のコサイン係数補正部によって補正したデータである。このデータは、結果的に無補正である。図１７（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した、図１６（ｃ）に示したデータを、本発明のコサイン係数補正部によって補正したデータである。
【図１８】図１８（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した、図１６（ａ）に示したデータを、逆コサイン変換した復元画像のデータである。図１８（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した、図１６（ｂ）に示したデータを、逆コサイン変換した復元画像のデータである。図１８（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した、図１６（ｃ）に示したデータを、逆コサイン変換した復元画像のデータである。
【図１９】図１９（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した後、本発明のコサイン係数補正部によって補正した、図１７（ａ）に示したデータを、逆コサイン変換した復元画像のデータである。図１９（ｂ）は、図１４（ｂ）に示した低高圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した後、本発明のコサイン係数補正部によって補正した、図１７（ｂ）に示したデータを、逆コサイン変換した復元画像のデータである。図１９（ｃ）は、図１４（ｃ）に示した低高圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した後、本発明のコサイン係数補正部によって補正した、図１７（ｃ）に示したデータを、逆コサイン変換した復元画像のデータである。
【図２０】図２０（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した後、逆コサイン変換した、図１８（ａ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。図２０（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した後、逆コサイン変換した、図１８（ｂ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。図２０（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した後、逆コサイン変換した、図１８（ｃ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。
【図２１】図２１（ａ）は、図１４（ａ）に示した高圧縮時の量子化テーブルを用いて量子化および逆量子化した後、本発明のコサイン係数補正部によって補正したデータを、逆コサイン変換した、図１９（ａ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。図２１（ｂ）は、図１４（ｂ）に示した低圧縮時の量子化テーブル（第１例）を用いて量子化および逆量子化した後、本発明のコサイン係数補正部によって補正したデータを、逆コサイン変換した、図１９（ｂ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。図２１（ｃ）は、図１４（ｃ）に示した低圧縮時の量子化テーブル（第２例）を用いて量子化および逆量子化した後、本発明のコサイン係数補正部によって補正したデータを、逆コサイン変換した、図１９（ｃ）に示した復元画像のデータの、図１３（ａ）に示した原画像データとの分散である。
【符号の説明】
【０１３１】
２０  ＪＰＥＧ復号器（画像復号器）
３０  コサイン係数補正部（コサイン係数補正手段）
３１  係数探査部（係数探査手段）
３２  補正値導出部（補正値導出手段）
３３  補正値演算部（補正値演算手段）
【図１】
0004717649.tif 000002
【図２】
0004717649.tif 000003
【図３】
0004717649.tif 000004
【図４】
0004717649.tif 000005
【図５】
0004717649.tif 000006
【図６】
0004717649.tif 000007
【図７】
0004717649.tif 000008
【図８】
0004717649.tif 000009
【図９】
0004717649.tif 000010
【図１０】
0004717649.tif 000011
【図１１】
0004717649.tif 000012
【図１２】
0004717649.tif 000013
【図１３】
0004717649.tif 000014
【図１４】
0004717649.tif 000015
【図１５】
0004717649.tif 000016
【図１６】
0004717649.tif 000017
【図１７】
0004717649.tif 000018
【図１８】
0004717649.tif 000019
【図１９】
0004717649.tif 000020
【図２０】
0004717649.tif 000021
【図２１】
0004717649.tif 000022