(57)【特許請求の範囲】
【請求項１】
画像をブロック化する画像切り出し回路と、
ブロック画像をDCT処理して、DCT係数を算出する離散コサイン変換回路と、
算出された前記DCT係数を指定された量子化ステップサイズによって量子化する量子化回路と、
前記算出されたDCT係数から前記ブロック画像が平坦状態および非平坦状態のいずれにあるのかを判定する歪判定回路と、
前記ブロック画像が平坦状態にある場合、前記DCT係数のうち基底関数の垂直成分が直流である水平方向の１次元DCT係数に相当するDCT係数、及び前記基底関数の水平成分が直流である垂直方向の１次元DCT係数に相当するDCT係数、に対する量子化ステップサイズとして、前記１次元DCT係数に相当するDCT係数の値以下の値をもつ調整ステップサイズを前記量子化回路に指定し、前記DCT係数のうち前記１次元DCT係数に相当するDCT係数以外のDCT係数に対する量子化ステップサイズとして基準ステップサイズを前記量子化回路に指定する量子化パラメータ生成回路と、
を備えた画像符号化装置。
【請求項２】
前記歪判定回路は、前記算出されたDCT係数を複数のグループに分割し、
第１の前記グループは、前記１次元DCT係数に相当するDCT係数からなり、
第２の前記グループは、非直流成分のDCT係数のうち、前記１次元DCT係数に相当するDCT係数以外のDCT係数からなり、
前記歪判定回路は、前記第１のグループに含まれるDCT係数のうちゼロ以外のものの個数が第１の閾値以上であり、かつ、前記第２のグループに含まれるDCT係数のうち所定値以下のものの個数が第２の閾値以上である場合は、前記ブロック画像は平坦状態であると判定することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記量子化パラメータ生成回路は、圧縮率が入力され、入力された前記圧縮率に応じた個数のDCT係数を、前記１次元DCT係数に相当するDCT係数の中から選択し、選択したDCT係数について前記調整ステップサイズを指定し、残りのDCT係数については前記基準ステップサイズを指定する、
ことを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
前記ブロック画像が第１画素分布パターンおよび第２画素分布パターンのいずれをもつかを解析するブロック解析回路をさらに備え、
前記量子化パラメータ生成回路は、
前記ブロック画像が前記第１画素分布パターンをもつ場合は、前記１次元DCT係数に相当するDCT係数のうち、奇関数の基底関数が割り当てられたDCT係数について前記調整ステップサイズを指定し、偶関数の基底関数が割り当てられたDCT係数については前記基準ステップサイズを指定し、
一方、前記ブロック画像が前記第２画素分布パターンをもつ場合は、前記１次元DCT係数に相当するDCT係数のうち、前記偶関数の基底関数が割り当てられたDCT係数について前記調整ステップサイズを指定し、前記奇関数の基底関数が割り当てられたDCT係数については前記基準ステップサイズを指定する、
ことを特徴とする請求項１または２に記載の画像符号化装置。
【請求項５】
画像をブロック化し、
ブロック画像をDCT処理して、DCT係数を算出し、
算出された前記DCT係数を指定された量子化ステップサイズによって量子化し、
前記算出されたDCT係数から前記ブロック画像が平坦状態および非平坦状態のいずれにあるのかを判定し、
前記ブロック画像が平坦状態にある場合、前記DCT係数のうち基底関数の垂直成分が直流である水平方向の１次元DCT係数に相当するDCT係数、及び前記基底関数の水平成分が直流である垂直方向の１次元DCT係数に相当するDCT係数、に対する量子化ステップサイズとして、前記１次元DCT係数に相当するDCT係数の値以下の値をもつ調整ステップサイズを指定し、前記DCT係数のうち前記１次元DCT係数に相当するDCT係数以外のDCT係数に対する量子化ステップサイズとして基準ステップサイズを指定する、
画像符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像を圧縮符号化するための画像符号化装置および画像符号化方法に関する。
【背景技術】
【０００２】
従来、静止画データや動画データ等を効率よく圧縮符号化するための符号化方式として、ブロックDCT（離散コサイン変換）符号化等のブロック符号化が知られている。
【０００３】
このようなブロック符号化による画像データの圧縮/伸張の際には、ブロック歪が発生することがあり、圧縮率が高くなるほど歪を発生させ易い。このブロック歪は、DCT符号化等がブロック内の閉じた空間で変換を行っており、ブロック境界を越えた相関を考慮していないため、ブロック境界で連続性が保存できず、隣接ブロックとの境界部における再生データ値のずれが歪として知覚されるのである。また圧縮率を上げようとして、高周波成分を削除すると、隣接ブロックとの境界部分で連続性が保持できず、歪が生じる。画像データをブロック符号化した場合に発生するブロック歪は、一種の規則性を有するため一般のランダム雑音に比べて知覚されやすく、画質劣化の大きな要因となっている。
【０００４】
このブロック歪を低減するために、例えば、「井田、駄竹、”MC-DCT符号化方式におけるノイズ除去フィルタ”、1990年電子情報学会春季全国大会講演論文集、7-35」の文献においては、画像本来の情報であるエッジを保存し、それらのノイズを除去するため、フィルタのオン/オフの決定に量子化ステップサイズを用いたり、処理していく方向を変えて複数回処理を行う技術が開示されている。この方法では、処理が簡単な反面、画像の高周波成分が欠落して、解像度が劣化するという欠点がある。
【０００５】
また、「井澤、”画像のブロック符号化における適応形雑音除去フィルタの特性”、信州大学工学部紀要  第74号,pp.89-100」の文献においては、周辺ブロックまで抜き出してDCT変換を行い、ノイズ周波数成分を除去する技術が開示されている。この方法では、解像度が保存されながら効果的なブロック歪の低減が行えるものの、処理が複雑でコストがかかり、特に民生用機器等に適用するのは不適当である。
【０００６】
またこれら上記の方法は、画像を復号する際に利用される技術であり、また、他にも多くの技術が報告されているが、復号時にブロック歪を低減させるに伴い、ブロック歪の誤判定や擬似エッジを発生させる可能性もある。そこで符号化時にブロック歪をなるべく目立たせない方法として、特開平8-130735公報では、ブロック分割の基準となる座標位置をフレーム毎に違えて指定する方法により、ブロック歪を各フレーム毎に移動させて目立たなくなる方法が報告されている。しかしながらこの方法では、符号化と復号化がセットのアルゴリズムであり、これを適用できる機会は大きく限定される。
【０００７】
また特開2001-268580公報では、動きベクトルを利用して動きの大きな部分には高周波成分を抑えて符号化し圧縮率を上げ、逆に動きの小さな部分には解像度を確保するため高周波成分をあまり削らないで符号化を行う方法が提案されている。しかしこの方法では動きベクトルが正しく検出されることが前提であり、動きベクトルが誤検出される場合には、逆に画質が劣化してしまう問題がある。
【０００８】
なお画像データのブロック符号化方式の一例としては、画面内の相関を利用したDCT変換、画像間の相関を利用した動き補償、および符号列の相関を利用したハフマン符号化を組み合わせたMPEG(Moving pictures experts group)を挙げることができる。
【０００９】
MPEG圧縮処理においては、重み付け量子化により画像データの空間周波数の高域成分を削減することにより圧縮を実現している。よって圧縮率を上げようとすれば、その分高域成分を削除することに成り、ブロック歪が発生する問題が生じる。また画像データの入力段階で高域成分を十分落としておけば、その後に量子化によって落とされる高域成分は少なくなり、圧縮処理に伴う歪が減少する。しかし、入力段階で高域成分を落としすぎると、再生画像がぼやけて鮮鋭感が損なわれてしまう。特に動きの少ない画像ではその影響が顕著に表れる。
【特許文献１】特開平5-328329公報
【特許文献２】特開平8-130735公報
【特許文献３】特開2001-268580公報
【非特許文献１】”MC-DCT符号化方式におけるノイズ除去フィルタ”（井田、駄竹、1990年電子情報学会春季全国大会講演論文集、7-35）
【非特許文献２】”画像のブロック符号化における適応形雑音除去フィルタの特性”（井澤、信州大学工学部紀要  第74号,pp.89-100）
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、ブロック歪として現れる画像の劣化を抑えつつ、画像データ、特に動画像データの圧縮率を高めることができる画像符号化装置および画像符号化方法を提供する。
【課題を解決するための手段】
【００１１】
画像をブロック化する画像切り出し回路と、ブロック画像をDCT処理して、DCT係数を算出する離散コサイン変換回路と、算出された前記DCT係数を指定された量子化ステップサイズによって量子化する量子化回路と、前記算出されたDCT係数から前記ブロック画像が平坦状態および非平坦状態のいずれにあるのかを判定する歪判定回路と、前記ブロック画像が平坦状態にある場合、前記DCT係数のうち基底関数の垂直成分が直流である水平方向の１次元DCT係数に相当するDCT係数、及び前記基底関数の水平成分が直流である垂直方向の１次元DCT係数に相当するDCT係数、に対する量子化ステップサイズとして、前記１次元DCT係数に相当するDCT係数の値以下の値をもつ調整ステップサイズを前記量子化回路に指定し、前記DCT係数のうち前記１次元DCT係数に相当するDCT係数以外のDCT係数に対する量子化ステップサイズとして基準ステップサイズを前記量子化回路に指定する量子化パラメータ生成回路と、を備えた画像符号化装置が提供される。
【００１２】
画像をブロック化し、ブロック画像をDCT処理して、DCT係数を算出し、算出された前記DCT係数を指定された量子化ステップサイズによって量子化し、前記算出されたDCT係数から前記ブロック画像が平坦状態および非平坦状態のいずれにあるのかを判定し、  前記ブロック画像が平坦状態にある場合、前記DCT係数のうち基底関数の垂直成分が直流である水平方向の１次元DCT係数に相当するDCT係数、及び前記基底関数の水平成分が直流である垂直方向の１次元DCT係数に相当するDCT係数、に対する量子化ステップサイズとして、前記１次元DCT係数に相当するDCT係数の値以下の値をもつ調整ステップサイズを指定し、前記DCT係数のうち前記１次元DCT係数に相当するDCT係数以外のDCT係数に対する量子化ステップサイズとして基準ステップサイズを指定する、画像符号化方法が提供される。
【発明の効果】
【００１３】
本発明により、ブロック歪として現れる画像の劣化を抑えつつ、画像データ、特に動画像データの圧縮率を高めることができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施の形態について説明する。
【００１５】
図１は、本発明の第１実施の形態に係る画像符号化装置の構成を示すブロック図である。図２は、図１の画像符号化装置により行われる処理を概略的に説明するための図である。
【００１６】
図１において、メモリ11は原画像Ｐを入力し蓄積する。
【００１７】
画像切り出し回路12は、メモリ11から原画像Ｐを読み出し、読み出した原画像Pをn×n画素にブロック化して、複数のブロック画像を生成する。本例では各ブロック画像は例えば８×８画素を有する。
【００１８】
離散コサイン変換回路13は、画像切り出し回路12からブロック画像を入力し（図2では8×8（=64）画素からなるブロック画像Cを入力する例が示される）（S1）、ブロック画像Ｃに対して、離散コサイン変換(DCT)を行う（S2）。離散コサイン変換回路13は、離散コサイン変換の結果として生成されたDCT係数（本例では64個）を、量子化回路14、歪判定回路16および量子化パラメータ生成回路17に入力する。
【００１９】
歪判定回路16は、離散コサイン変換回路13から入力されたDCT係数から、ブロック画像Ｃとこれに隣接する他のブロック画像との境界において、目立つブロック歪が生じるかどうかの判定を行う。すなわち、歪判定回路16は、ブロック画像Cが、ブロック歪が目立つ平坦画像であるかブロック歪が目立たない非平坦画像であるかの判定を行う。歪判定回路16は、判定結果を量子化パラメータ生成回路17に入力する。
【００２０】
量子化パラメータ生成回路17は、歪判定回路16からの判定結果と、離散コサイン変換回路13からのDCT係数と、外部から入力されるパラメータとに応じて、各DCT係数を量子化する際の各々の量子化ステップサイズを算出し、量子化回路14に入力する。
【００２１】
量子化回路14は、離散コサイン変換回路13から入力された各DCT係数を、量子化パラメータ生成回路17から入力された各々の量子化ステップサイズにより量子化し（S3）、量子化された各DCT係数を可変長符号化回路15に入力する。
【００２２】
可変長符号化回路15は、量子化回路14から入力された各量子化されたDCT係数を可変長符号化して（S4）、出力する。可変長符号化としては例えばハフマン符号化がある。
【００２３】
以下、歪判定回路16および量子化パラメータ生成回路17についてさらに詳細に説明する。
【００２４】
まずブロック歪が生じる原因について説明する。
【００２５】
図３は、ブロック歪が生じる原因を説明する図である。
【００２６】
ブロック歪が目立つ原因として、複数個（図３では64個）存在するDCT係数の中で、ブロック歪に大きく関係している係数がある。それは、ｘ方向１次元DCT係数に相当する係数x1,x2,…x7と、ｙ方向１次元DCT係数に相当する係数y1,y2,…y7である。
【００２７】
ブロック歪が目立つ画像とは、一般的に平坦な画像である。この平坦な画像に対しDCTを行うと、ブロック歪に関係している上記DCT係数（ｘ方向１次元DCT係数に相当する係数、ｙ方向１次元DCT係数に相当する係数）の値が小さいことから、重み付け量子化の処理によって、これらのDCT係数の一部がゼロになってしまい、ブロック歪が目立つことが多い。したがって、平坦な画像において、これらのDCT係数がゼロにならなければ、すなわちこれらのDCT係数がゼロにならない程度の量子化を行えば、ブロック歪を低減しつつ（ブロック歪を目立ちにくくしつつ）圧縮を行うことができる。
【００２８】
ここで、DCT係数x1,x2…x7は、1次元DCT係数に相当するものであるため、これらのDCT係数に対して逆DCTを行うと、復元画像は、例えば符号A1に示すように、縦線状の境界線を有した画像になる。同様に、DCT係数y1,y2…y7に対して逆DCTを行うと、復元画像は、例えば符号A2に示すように、横線状の境界線を有した画像になる。つまり、これらの係数x1,x2…x7およびy1,y2,…y7の全部または一部がゼロになってしまうと、直線状の境界線がより強調されてしまい（例えば符号A1、A2に示す画像における境界線のうちのいくつかが消滅してしまう）、この結果、歪が視覚的に目立つようになる（例えば本来緩やかに変化する輝度変化が急激に変化してしまう）。
【００２９】
図５は、歪判定回路16による処理を説明する図である。
【００３０】
歪判定回路16は、離散コサイン変換回路13から入力されたDCT係数を複数のグループに分類する。ここでは、DCT係数を、４つのグループG1、G2、G3、G4に分類する。グループG1は直流（DC）成分のDCT係数に対応し、グループG2はｙ方向１次元DCT係数に相当する係数に対応し、グループG3はｘ方向１次元DCT係数に相当する係数に対応し、グループG4は２次元DCT係数に対応する。
【００３１】
平坦な画像においては、グループG2,G3におけるDCT係数は非ゼロが多く、グループG4におけるDCT係数は、ゼロもしくは小さな値が多いという特徴がある。周波数領域でこの特徴を利用することにより、ブロック画像が、ブロック歪みが目立つ平坦な画像か否か（平坦状態および非平坦状態のいずれであるか）を容易に判定できる。判定の具体例を以下に説明する。
【００３２】
グループG4において、閾値（所定値）以下の値を有するDCT係数の数をカウントし、カウントの結果が閾値α以上であるか否かを判定する（第１判定）。
【００３３】
グループG2において、ゼロでないDCT係数の数をカウントし、カウントの結果が閾値β１以上であるか否かを判定する（第２判定）。
【００３４】
グループG3において、ゼロでないDCT係数の数をカウントし、カウントの結果が閾値β2以上であるか否かを判定する（第３判定）。
【００３５】
第１判定の結果が真（カウント結果が閾値α以上）であり、かつ、第２判定の結果が真（カウント結果がβ１以上）であり、かつ、第３判定の結果が真（カウント結果がβ２以上）である場合は、上記ブロック画像は、ブロック歪が目立つ平坦画像（歪有り）であると判定する。それ以外の場合は、上記ブロック画像は、ブロック歪が目立たない画像（歪無し）と判定する。
【００３６】
量子化パラメータ生成回路17は、歪判定回路16において歪無しと判定されれば、グループG1〜G4に含まれる各DCT係数の各々に対応する量子化ステップサイズとして、外部から第１パラメータとして指定された値（基準ステップサイズ）を採用する。第１パラメータは、個々のDCT係数ごとの基準ステップサイズを含む。
【００３７】
一方、量子化パラメータ生成回路17は、歪判定回路16において歪有りと判定されれば、グループG2、G3に含まれる各DCT係数の量子化ステップサイズを、上記基準ステップサイズと、外部（例えばユーザ）から第２パラメータとして指定された圧縮率と、グループG2、G3に含まれる各DCT係数とに応じて、調整ステップサイズとして決定する。グループG1、G4に含まれる各DCT係数の量子化ステップサイズについては、上記基準ステップサイズを採用する。以下、グループG2、G3に含まれる各DCT係数の量子化ステップサイズを決定する手法について詳細に説明する。
【００３８】
まず、上記第２パラメータ（圧縮率）に基づいて、図５に示すグループG2,G3のそれぞれに含まれるDCT係数のうち少なくとも保存すべきDCT係数（量子化処理の際に消滅させないようにするDCT係数）を決定する。例えば上記圧縮率が高圧縮率である場合はグループG2、G3の各々に含まれるDCT係数をそれぞれ３つずつ保存（例えばx1,x2,x3と、y1,y2,y3とを保存）することを決定し、低圧縮率である場合はそれぞれ５つ保存（例えばx1,x2,x3,x4,x5と、y1,y2,y3,y4,y5とを保存）することを決定する。
【００３９】
次に、保存することが決定されたすべてのDCT係数が、量子化回路14において量子化が施されてもゼロにならないような、つまり量子化を行っても値が残るような量子化ステップサイズを、保存が決定された各DCT係数について算出する。すなわち、保存することが決定されたDCT係数と同一の値（または同一の値未満の値）を、保存が決定された各DCT係数の量子化ステップサイズとして算出する。具体的には、保存が決定されたDCT係数と、当該DCT係数に対する上記基準ステップサイズとを比較し、基準ステップサイズがDCT係数より小さければ基準ステップサイズを量子化ステップサイズとする（これは画質の良さを優先する場合。そうでない場合は、DCT係数の値自体を量子化ステップサイズとしてもよい）。一方、基準ステップサイズがDCT係数以上であれば、DCT係数そのものの値を量子化ステップサイズとして算出する（すなわち、この場合、DCT係数を量子化ステップサイズで割ると１になる）。当然ながら、量子化ステップサイズとして、DCT係数より大きな値を採択すると、量子化処理において、当該DCT係数が消滅してしまう（ゼロになってしまう）。グループG2、G3に含まれるDCT係数のうち、保存が決定された以外のDCT係数については、基準ステップサイズを量子化ステップサイズとする。以上により、ブロック歪を可及的に低減する、最大の量子化ステップサイズを容易に求めることが可能となる。
【００４０】
図４は、図１の画像符号化装置による処理の流れを示したフローチャートである。
【００４１】
画像切り出し回路12は、メモリ11から原画像を読み出し、読み出した原画像をブロック化する（S11）。
【００４２】
離散コサイン変換回路13は、ブロック画像をDCT処理して、DCT係数を算出する（S12）。
【００４３】
歪判定回路16は、算出されたDCT係数からブロック画像が平坦状態および非平坦状態のいずれにあるのかを判定する（S13）。
【００４４】
量子化パラメータ生成回路17は、ブロック画像が平坦状態にある場合（S14のYES）、DCT係数のうち１次元DCT係数に相当するDCT係数に対する量子化ステップサイズとして、１次元DCT係数に相当するDCT係数以下のステップサイズを量子化回路14に指定する（S15）。また、DCT係数のうち１次元DCT係数に相当するDCT係数以外のDCT係数に対する量子化ステップサイズとして基準ステップサイズを量子化回路14に指定する（S15）。
【００４５】
量子化回路14は、量子化パラメータ生成回路17から指定された量子化ステップサイズによって、離散コサイン変換回路13によって算出されたDCT係数を量子化する（S16）。
【００４６】
S14において、ブロック画像が非平坦状態である場合は（S14のNO）全てのDCT係数に対する量子化ステップサイズとして基準ステップサイズを量子化回路14に指定する。量子化回路14は、量子化パラメータ生成回路17から指定された量子化ステップサイズによって、離散コサイン変換回路13によって算出されたDCT係数を量子化する（S17）。
【００４７】
以上のように、本実施の形態によれば、ブロック歪が目立ちやすい平坦なブロック画像を容易に見つけ出すことが可能であり、誤って他のブロック画像に変更を加えることはない。またブロック歪を可及的に低減する、最大の量子化ステップサイズを容易に求めることが可能であり、この結果、一定の画質を保持しつつ、圧縮率を向上させることが可能になる。
【００４８】
図６は、本発明の第2実施の形態に係る画像符号化装置の構成を示すブロック図である。
【００４９】
メモリ21は原画像を入力し蓄積する。
【００５０】
画像切り出し回路22は、メモリ21から原画像を読み出し、読み出した原画像をn×n画素にブロック化する。画像切り出し回路22は、ブロック画像を離散コサイン変換回路23およびブロック解析回路28に出力する。
【００５１】
離散コサイン変換回路23は、ブロック画像に対して離散コサイン変換を行い、その結果であるDCT係数を量子化回路24、歪判定回路26および量子化パラメータ生成回路27に出力する。
【００５２】
歪判定回路26は、離散コサイン変換回路23から入力されたDCT係数に基づき、第１実施の形態と同様にして、ブロックの境界において、目立つブロック歪が生じるかどうかの判定を行い、判定結果を量子化パラメータ生成回路27に出力する。
【００５３】
ブロック解析回路28は、画像切り出し回路22から入力されたブロック画像を解析し、ブロック画像内の画素分布を解析する。より詳細には、ブロック解析回路28は、入力されたブロック画像を解析して、２次元方向（x方向およびｙ方向）の各々について、ブロック画像内の画素分布が、奇関数および偶関数のどちらによって、より適正に表現できるかを求める。奇関数によってより適正に表現できる画素分布のパターンを奇関数分布パターン（第１画素分布パターン）と称し、偶関数によってより適正に表現できる画素分布のパターンを偶関数分布パターン（第２画素分布パターン）と称する。つまり、ブロック解析回路28は、入力されたブロック画像が奇関数分布パターンおよび偶関数分布パターンのいずれを有するかを解析する。ブロック解析回路28は、解析結果を量子化パラメータ生成回路27に出力する。
【００５４】
図９は、ブロック解析回路28による解析の具体例を説明する図である。
【００５５】
図９にブロック画像の一例が示される。ブロック画像の画素は画素値M00〜M77を有する。ここではブロック画像のｙ方向が奇関数分布パターンおよび偶関数分布パターンのいずれを有するかを解析する例を示す。ｘ方向についても同様して行えばよい。ブロック画像をｘ方向に２分割する中心線Lを考え、まず、第０行目について、|M00-M07|+|M01-M06|+|M02-M05|+|M03-M04|（＝SUM０）を計算する。同様にして、第１行目について、|M10-M17|+|M11-M16|+|M12-M15|+|M13-M14|（＝SUM１）。さらに、同様にして第２行目〜第７行目についても計算を行い、SUM２〜SUM7を求める。そして、SUM0+SUM1+SUM2+SUM3+ SUM4+SUM5+SUM6+SUM7（=TOTAL）を計算する。TOTALが閾値より大きければ、このブロック画像はｙ方向については奇関数分布パターンを有すると判断し、閾値以下であれば偶関数分布パターンを有すると判断する。奇関数分布パターンは、例えばｙ方向に沿って輝度が緩やかに一次的に変化する分布（ブロック画像の上端側と下端側との輝度が離れている）であるということができ（後述する図８の左側参照）、偶関数分布パターンは、例えばｙ方向に沿って輝度が途中まで一次的に上昇または下降するが、途中から一次的に下降または上昇する分布（ブロック画像の上端側と下端側との輝度が近い）であるということができる（後述する図８の右側参照）。奇関数分布パターンのブロック画像は、ブロック画像の中心を原点とする奇関数によってより適正に表現でき、偶関数分布パターンのブロック画像は、ブロック画像の中心を原点とする偶関数によってより適正に表現できる。
【００５６】
量子化パラメータ生成回路27は、歪判定回路26においてブロック画像が歪無しと判定された場合は、第１実施の形態と同様に、グループG1〜G4に含まれる各DCT係数の量子化ステップサイズとして、外部から入力された第１パラメータ（基準ステップサイズ）を量子化ステップサイズとして採用する。
【００５７】
一方、量子化パラメータ生成回路27は、歪判定回路26においてブロック画像が歪有りと判定された場合は、グループG2、G3に含まれる各DCT係数の量子化ステップサイズについて、各DCT係数と、上記基準ステップサイズと、ブロック解析回路28の解析結果とに応じて算出し、グループG1、G4に含まれる各DCT係数の量子化ステップサイズとしては、上記基準ステップサイズを採用する。
【００５８】
第１実施の形態では、グループG2、G3に含まれる各DCT係数の量子化ステップサイズを決定する際、保存すべき（量子化処理において消滅させない）DCT係数を、x1,x2,x3…またはy1,y2,y3…の優先順位で、上記第２パラメータ（圧縮率）に従って、決定したが、本実施の形態では、ブロック解析回路28の解析結果に応じて決定する。ただし、外部から第２パラメータ（圧縮率）を量子化パラメータ生成回路27に入力し、上記ブロック解析回路28の解析結果とともに、この第２パラメータを用いて、保存すべきDCT係数を決定してもよい。
【００５９】
量子化回路24は、離散コサイン変換回路23から入力された各DCT係数を、量子化パラメータ生成回路27から入力された各々の量子化ステップサイズにより量子化し、量子化された各DCT係数を可変長符号化回路25に入力する。可変長符号化回路25は、量子化された各DCT係数を可変長符号化して出力する。
【００６０】
以下、量子化パラメータ生成回路27についてさらに詳細に説明する。
【００６１】
図７は、グループG2、G3に含まれる各DCT係数に対応する基底関数を示す。
【００６２】
位置番号が奇数であるDCT係数(x1,x3,x5,x7,y1,y3,y5,y7)の基底関数は、ブロックの中心を原点に考えた場合、奇関数である。逆に位置番号が偶数であるDCT係数(x2,x4,x6,y2,y4,y6)の基底関数は、ブロックの中心を原点に考えた場合、偶関数である。このことを利用し、基底関数の選択方法を説明する図８に示すように、ブロック画像が有する画素分布パターンに応じて、ブロック画像の特徴をより少ない基底関数によって表現する。
【００６３】
つまり、ブロック解析回路28による解析の結果、ブロック画像が偶関数分布パターンを有する場合は、基底関数が偶関数であるDCT係数の保存を決定する。例えば、ｘ方向においてブロック画像が偶関数分布パターンを有する場合は、DCT係数x2,x4,x6の保存を決定する（第２パラメータにしたがいDCT係数を例えば４つ以上保存する場合は、x2,x4,x6に加えてさらにx1,x3,x5をこの優先順序で保存するとする）。同様に、y方向においてブロック画像が偶関数分布パターンを有する場合は、DCT係数y2,y4,y6の保存を決定する（第２パラメータにしたがいDCT係数を例えば４つ以上保存する場合は、y2,y4,y6に加えてさらにy1,y3,y5をこの優先順序で保存するとする）。なお、経験的にDCT係数x1,y1は量子化処理において消滅させない方が高精度の画像を復元できるため、DCT係数x1,y1については無条件に保存を決定してもよい（図８の破線参照）。すなわち01係数および10係数については無条件に保存を決定しもよい。01係数および10係数について以下に簡単に説明する。
【００６４】
一般に、２次元逆DCTの式は、
【数１】
0004621574.tif 000002
と表される。
【００６５】
このとき、u = a,v=bの2次元DCT係数F(u,v)をab係数と呼ぶことにする。例えば、u = 0,v= 1の2次元DCT係数F(u,v)を01(ゼロイチ）係数と呼び、u =1,v=0の2次元DCT係数F(u,v)を10(イチゼロ）係数と呼ぶ。この場合、図８のx1,y1に対応する基底関数は2次元逆DCTにおける01係数および10係数の基底関数と呼ぶことができる。
【００６６】
ここで、ブロック解析回路28による解析の結果、ブロック画像が奇関数分布パターンを有する場合は、基底関数が奇関数であるDCT係数の保存を決定する。例えば、ｘ方向においてブロック画像が奇関数分布パターンを有する場合は、DCT係数x1,x3,x5の保存を決定する。また、例えば、y方向においてブロック画像が奇関数分布パターンを有する場合は、DCT係数y1,y3,y5の保存を決定する。
【００６７】
このように保存が決定されたDCT係数については第１実施の形態と同様にして量子化ステップサイズを決定する。例えば基準ステップサイズがDCT係数より小さければ基準ステップサイズを量子化ステップサイズとし、基準ステップサイズがDCT係数以上であればDCT係数の値（またはこれ未満の値）を量子化ステップサイズとする。保存が決定された以外のDCT係数については第１実施の形態と同様に基準ステップサイズを量子化ステップサイズとする。
【００６８】
以上のように、本実施の形態によれば、ブロック画像を解析することにより各ブロック画像ごとに最適な離散コサイン変換の基底関数を選ぶことができるため、不要なDCT係数を削減することができ、画質を一定に保持しつつ、第１実施の形態に比べてより圧縮率を向上させ得る。
【図面の簡単な説明】
【００６９】
【図１】本発明の第１実施の形態に係る画像符号化装置の構成を示すブロック図である。
【図２】MPEGにおける符号化過程の概略を示す図である。
【図３】ブロック歪が生じる原因を説明する図である。
【図４】図１の画像符号化装置による処理の流れを詳細に示すフローチャートである。
【図５】DCT係数を、４つのグループG1、G2、G3、G4に分類した状態を示す図である。
【図６】本発明の第２実施の形態に係る画像符号化装置の構成を示すブロック図である。
【図７】離散コサイン変換の基底関数を表した図である。
【図８】本発明の第２実施の形態に係る基底関数選択方法を説明する図である。
【図９】ブロック解析回路による解析の具体例を説明する図である。
【符号の説明】
【００７０】
１１、２１  メモリ
１２、２２  画像切り出し回路
１３、２３  離散コサイン変換回路
１４、２４  量子化回路
１５、２５  可変長符号化回路
１６、２６  歪判定回路
１７、２７  量子化パラメータ生成回路
２８  ブロック解析回路
【図１】
0004621574.tif 000003
【図２】
0004621574.tif 000004
【図３】
0004621574.tif 000005
【図４】
0004621574.tif 000006
【図５】
0004621574.tif 000007
【図６】
0004621574.tif 000008
【図７】
0004621574.tif 000009
【図８】
0004621574.tif 000010
【図９】
0004621574.tif 000011