(57)【特許請求の範囲】
【請求項１】
画像をＭ×Ｎ画素のブロックに分割し、該ブロック単位に直交変換した変換係数について所定の量子化テーブルを用いて量子化し、得られた量子化係数を符号化する画像圧縮装置において、前記量子化係数を格納する量子化係数格納手段と、該量子化係数格納手段に格納されている前記量子化係数を異なる複数の走査方法に従って読み出して有意な前記量子化係数の連続数を重み付けした値の総和に基づいて前記複数の走査方法のうちの１つを決定する走査方法判別手段と、該走査方法判別手段で決定した走査方法に従って前記量子化係数格納手段から前記量子化係数を読み出して符号化する符号化手段を有していることを特徴とする画像圧縮装置。
【請求項２】
前記走査方法判別手段は、それぞれの前記走査方法についての評価値を算出する複数の評価量算出手段と、前記複数の評価量算出手段で算出された評価値をもとに走査方法を決定する評価量判定手段を有し、前記評価量算出手段は、所定の走査方法によって前記量子化係数格納手段から前記量子化係数を読み出す読出手段と、前記量子化係数格納手段から読み出された前記量子化係数を２値化して２値化量子化係数を得る２値化手段と、前記２値化量子化係数から有意係数の連続数を計数する計数手段と、前記連続数をＬ乗する演算手段と、前記演算手段による演算結果を累積加算する累積加算手段を有することを特徴とする請求項１に記載の画像圧縮装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像の圧縮伸長に関する技術であり、特に、画像をＭ×Ｎ画素のブロックに分割し、該ブロック単位に直交変換した変換係数について所定の量子化テーブルを用いて量子化し、符号化する画像圧縮装置に関するものである。
【０００２】
【従来の技術】
静止画を圧縮、すなわちデータ量を元の画像より少なくする技術の一つとして、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｃｏｄｉｎｇ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ，ＩＴＵ−Ｔ．８０，Ｔ．８１，Ｔ．８２、暫定勧告Ｔ．８２）に代表される非可逆圧縮の技術が広く利用されている。
【０００３】
図１０は、従来の画像圧縮装置の一例を示すブロック図である。図中、１はブロック画像生成部、２は直交変換部、３は量子化部、４は量子化係数格納部、４１はジグザグスキャンアドレス生成部、４２はエントロピー符号化部である。ブロック画像生成部１は、入力された画像をＭ×Ｎ画素（例えば８×８画素など）のブロックに分割する。直交変換部２は、ブロック画像生成部１で分割されたブロックの画像を直交変換し、直交変換係数を算出する。量子化部３は、直交変換部２で算出した直交変換係数を量子化し、量子化係数を算出する。量子化係数は、量子化係数格納部４に格納される。
【０００４】
ジグザグスキャンアドレス生成部４１は、ジグザグスキャンと呼ばれる走査方法に従って量子化係数格納部４に格納されている量子化係数を読み出すためのアドレスを生成する。図１１は、ジグザグスキャンの説明図である。図中、各マス目は量子化係数を示しており、左上が直流成分であって、右及び下へゆくに従って高周波成分となる。一般に高周波成分は画像の見た目に影響しにくく、量子化時に多くの高周波成分がカットされるので、図１１に示すようなジグザグスキャンを行うと高周波部分において有意の量子化係数が存在しない場合が多くなる。そのため、ジグザグスキャンによって順に読み出された量子化係数の列では、列の最初の方に有意の量子化係数が連続し、後の方にゆくほど有意の量子化係数が存在しなくなる。
【０００５】
このようなジグザグスキャンによって読み出された量子化係数の列がエントロピー符号化部４２に入力される。エントロピー符号化部４２は、例えばハフマン符号化方式のようなエントロピー符号化方式によって量子化係数の列を符号化する。このとき、同じ大きさの有意の量子化係数が連続するほど短い符号を割り当てることによって、符号化効率を向上させている。また、有意の量子化係数がなくなった場合にはＥＯＢ（Ｅｎｄ  Ｏｆ  Ｂｌｏｃｋ）符号を用いて符号を早く終了することができ、結果的に符号量を小さくすることができる。
【０００６】
しかし、有意でない量子化係数が有意の量子化係数の間に出現すると、有意の量子化係数の連続が途切れるため、符号化効率が低下してしまう。また、読み出された量子化係数の列の後の方に有意の量子化係数が現れると、なかなかＥＯＢ符号を出力して符号化を打ち切ることができず、やはり符号化効率が低下してしまう。
【０００７】
図１２〜図１４は、ブロックに分割された画像と、その画像における量子化係数の一例の説明図である。各図において、（Ａ）はブロック分割された視覚的な画像を示し、（Ｂ）にそのブロック画像の各画素毎の濃度を示している。ここで、濃度は０〜２５５とし、２５５の濃度部分を（Ａ）において黒く塗りつぶしている。また、このようなブロック画像を直交変換し、量子化した量子化係数を（Ｃ）に示している。
【０００８】
図１２（Ａ）に示すように、垂直なエッジが存在する画像では、量子化係数は図１２（Ｃ）に示すように、横方向に有意の量子化係数が並ぶのみであり、他の量子化係数については０となる。また、図１３（Ａ）に示すように、水平にエッジが存在する画像では、量子化係数は図１３（Ｃ）に示すように縦方向に有意の量子化係数が並ぶのみであり、他の量子化係数については０となる。さらに、図１４（Ａ）に示すように斜めにエッジが存在する画像では、図１４（Ｃ）に示すように多くの有意の量子化係数は斜め方向に並ぶことになる。
【０００９】
このように、直交変換係数、量子化係数は、画像によってその傾向が異なる。しかし、例えば図１２（Ｃ）や図１３（Ｃ）に示すような量子化係数に対してジグザグスキャンを行うと、有意の量子化係数の間に多くの０の量子化係数が含まれてしまう。また図１４に示す場合でも、０の量子化係数が存在していても、最後（右下）の量子化係数までエントロピー符号化を行わなければならず、ＥＯＢ符号によって符号化を打ち切ることができない。そのため、符号化効率が低下するという問題がある。
【００１０】
このような符号化効率の低下を抑えるため、例えば特開平６−８６０７６号公報に記載されているように、いくつかの走査方法によって量子化係数を走査し、最後に有意係数が現れた位置によっていずれかの走査方法を選択する技術が開示されている。図１５は、ジグザグスキャン以外の走査方法の一例の説明図である。図１５（Ａ）では、図中の縦方向に走査する方法であり、例えば図１３に示すように量子化係数が縦方向に多く存在する場合に有効な走査方法である。また、図１５（Ｂ）では、図中の横方向に走査する方法であり、例えば図１２に示すように量子化係数が横方向に多く存在する場合に有効な走査方法である。
【００１１】
このように、上述の特開平６−８６０７６号公報に記載されている技術を用いることによって、最後に現れる有意でない量子化係数の列を長くすることができ、ＥＯＢ符号による符号化処理の打ち切りを速めて、符号量の低減を図ることができる。
【００１２】
しかしこの方法では、いくつかの走査方法において同じ位置に最後の有意な量子化係数が現れ、それらが選択対象となった場合、いずれが最も効率がよいかは判断することができない。最後に現れる有意の量子化係数までの間に有意でない量子化係数が現れる場合、その位置によって有意の量子化係数の連続性が変わるため、符号量にも影響する。しかし、最後の有意な量子化係数の位置の違いからだけでは、このような符号量の相違を判断することはできない。
【００１３】
また、例えば特開平８−２６５７５５号公報には、例えば図１２〜図１４に示すような量子化係数のマトリクスにおいて、最左列の量子化係数の和、最上行の量子化係数の和、左上隅に近い量子化係数の和をそれぞれ求めて、そのうちの最も大きい値を示したものに対応して、図１１あるいは図１５（Ａ），（Ｂ）に示す走査方法のいずれかを選択して用いる技術が開示されている。しかし、このような判定法では、図１２，図１３に示すような極端な場合は判定できるものの、それ以外の画像の場合にはほとんどが図１１に示す走査方法が選択されてしまう。そのため、特別な場合を除いて符号化効率を向上させることができない。
【００１４】
さらに、いくつかの走査方法により走査した量子化係数を、それぞれの走査方法毎に実際に符号化し、符号長を算出して比較し、最も符号長が短いものを採用することも考えられている。これによって、確実に符号長を最短として符号化効率を向上させることができる。
【００１５】
しかしこの方法では、それぞれの走査方法毎に符号化装置を設けなければならず、回路規模が大きくなるとともにコストもかかってしまう。また、１つの符号化装置で走査方法の数だけ繰り返して符号化することも考えられるが、最終的に符号が出力できるまでに要する時間が長くなるとともに、それぞれの走査方法で符号化した符号をバッファなどに蓄積しておかなければならず、やはり回路規模が大きくなってしまうという問題があった。
【００１６】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、回路規模がそれほど増大せず、しかも正確に圧縮率の高い直交変換係数の走査方法を決定でき、これによって符号化効率を向上させることができる画像圧縮装置を提供することを目的とするものである。
【００１７】
【課題を解決するための手段】
本発明は、画像をブロックに分割し、分割された画像を直交変換して直交変換係数を算出した後、直交変換係数を量子化し、量子化係数を算出して量子化係数格納手段に格納しておく。そして、量子化係数格納手段に格納されている量子化係数を、所定の複数の走査方法に従って読み出し、いずれの走査方法を採用するかを決定する。このとき、有意な量子化係数の連続数を重み付けした値の総和に基づいて走査方法を決定する。そして、決定された走査方法により量子化係数格納手段から量子化係数を読み出し、符号化手段で符号化すればよい。
【００１８】
このように、走査方法の決定の際に、有意な量子化係数の連続数を重み付けした値の総和に基づいて行うが、この総和は、重み付けによって有意の量子化係数が長く連続するほど大きな値となる。例えばいくつかの走査方法において最終の有意の量子化係数の位置が同じであっても、それまでに有意の量子化係数が長く続くほど符号化効率は向上する。得られた総和の値は、このような傾向を反映しており、符号化効率のよい走査方向を選択することができる。
【００１９】
走査方法を選択するための総和の値を求めるため、例えば、所定の走査方法に従って読み出した量子化係数を２値化して２値化量子化係数を算出し、有意の２値化量子化係数の連続量を計数して、計数値をＬ乗した総和を求めることができる。２値化量子化係数は、例えば量子化係数が０か０以外かにより０，１とすることができる。これによって、有意の量子化係数の計数を、値が１の２値化量子化係数をカウントすればよく、構成を簡素化することができる。また、重み付けとしてＬ乗の演算を採用することによって、有意の量子化係数が長く連続する場合に、その特徴を良好に抽出することができる。
【００２０】
【発明の実施の形態】
図１は、本発明の画像圧縮装置の実施の一形態を示すブロック図である。図中、１はブロック画像生成部、２は直交変換部、３は量子化部、４は量子化係数格納部、５はスキャン順序判定部、６はエントロピー符号化部である。ブロック画像生成部１から量子化係数格納部４までの構成は従来と同様であり、ブロック画像生成部１は、入力された画像をＭ×Ｎ画像のブロックに分割する。直交変換部２は、ブロックに分割された画像データを、空間周波数に変換して、変換係数を得る。量子化部３は、直交変換部２で得られた変換係数を、所定の量子化テーブルを用いて量子化し、量子化係数を得る。量子化係数は、量子化係数格納部４に格納される。
【００２１】
スキャン順序判定部５は、量子化係数格納部４に格納されている量子化係数を異なる複数の走査方法に従って読み出す。そして、各走査方法ごとに、有意な量子化係数の連続数を重み付けした値の総和を計算し、その値に基づいて、複数の走査方法のうちの１つを決定する。走査方法ごとに計算する有意な量子化係数の連続数を重み付けした値の総和の計算方法の一例としては、まず、量子化係数格納部４から読み出された量子化係数を、有意な量子化係数（０以外）を１、有意でない量子化係数（０）を０とするように２値化して、２値化量子化係数を得る。そして、この２値化量子化係数が１の値である連続数を計数し、その連続数をＬ乗（例えば２乗）して重み付けする。そして連続数のＬ乗値の総和を計算すればよい。
【００２２】
エントロピー符号化部６は、スキャン順序判定部５で決定された走査方法に従って量子化係数格納部４から量子化係数を読み出し、エントロピー符号化を行い、画像の符号を算出する。
【００２３】
図２は、スキャン順序判定部の一例を示すブロック図である。図中、１１−１〜１１−Ｋは評価量算出部、１２は評価量判定部である。スキャン順序判定部５では、上述のように走査方法ごとに有意な量子化係数の連続数を重み付けした値の総和を計算する。その計算を評価量算出部１１−１〜１１−Ｋで行い、評価量として出力する。この計算は走査方法ごとに行うため、Ｋ個の走査方法について１つずつ評価量算出部１１が設けられている。
【００２４】
また評価量判定部１２は、それぞれの評価量算出部１１−１〜１１−Ｋで算出された評価量をもとに、走査方法を決定する。例えば、評価量算出部１１−１〜１１−Ｋで算出された総和の値が最も大きな走査方法を決定することができる。また、最大の総和の値を示す走査方法が複数存在する場合には、従来より用いられている各種の方法、例えば最後の有意でない量子化係数の長さが最も長くなる走査方法を選択する等といった方法を併用してもよい。
【００２５】
次に、スキャン順序判定部５を構成する評価量算出部１１−１〜１１−Ｋ、および、評価量判定部１２の具体例について示す。図３は、評価量算出部の一例を示すブロック図である。図中、２１は２値化部、２２はカウンタ、２３は２乗演算部、２４は加算部、２５は評価量記憶部、２６は読み出しアドレス生成部である。読み出しアドレス生成部２６は、所定の走査方法に従って量子化係数を読み出すようにアドレスを生成し、量子化係数格納部４に対して量子化係数の読み出しを行う。量子化係数格納部４から読み出された量子化係数は、順次、２値化部２１に入力される。
【００２６】
２値化部２１は、量子化係数格納部４から読み出された量子化係数を２値化し、２値化量子化係数を出力する。このとき、例えば有意な量子化係数（０以外）を１、有意でない量子化係数（０）を０とするように２値化することができる。これによって、２値化量子化係数は、量子化係数が有意か否かを示す値とすることができる。
【００２７】
カウンタ２２は、２値化部２１から出力される２値化量子化係数が連続して１である連続数を計数する。すなわち、ブロックの最初及び２値化量子化係数が０となるとリセットされ、２値化量子化係数が１のとき、１ずつカウントアップする。これによって、２値化量子化係数が連続して１であるとき、その連続数を計数することができる。この値は、有意の量子化係数の連続数に等しいものである。
【００２８】
２乗演算部２３は、カウンタ２２において計数された２値化量子化係数が１である連続数を取得し、その連続数に対する重み付けとして連続数の２乗を演算する。この例では重み付けとして連続数の２乗を演算しているが、これに限らず、Ｌ乗（Ｌ≧２）でよい。また、任意の重み付け関数を定義しておき、その重み付け関数を用いて連続数に対する重み付けを行ってもよい。
【００２９】
加算部２４は、２乗演算部２３で重み付けされた連続数と、評価量記憶部２５に記憶されている値とを加算し、評価量記憶部２５に記憶されている評価量を更新する。このように、加算部２４と評価量記憶部２５によって、重み付けされた連続数の総和を計算することができる。
【００３０】
評価量記憶部２５は、ブロックの処理が開始される前にリセットされ、加算部２４によって計算された評価量の中間データが順次格納される。そして、ブロックの終了時に格納されている値が、そのブロックにおける所定の走査方法による評価値となる。
【００３１】
このような図３に示す評価量算出部１１が、走査方法の個数だけ配置される。各評価量算出部１１において異なるのは、読み出しアドレス生成部２６によって生成されるアドレス順序、すなわち、量子化係数の読み出し順序である。そのほかの構成は同じでよい。このような評価量算出部１１の構成は、非常に簡単なハードウェアで構成可能であり、それぞれの走査方法ごとに設けてもそれほどのハードウェアの増加にはつながらない。
【００３２】
図４は、評価量算出部の動作の一例を示すフローチャートである。この図４に示す処理は、読み出しアドレス生成部２６によって量子化係数格納部４から１つの量子化係数が読み出されて入力されるごとに実行される処理である。すなわち、１つのブロックについて、Ｍ×Ｎ回、繰り返して実行される。
【００３３】
まずＳ５１において、１つのブロックの開始時か否かを判定し、ブロックの開始時のみ、Ｓ５２において評価量記憶部２５に記憶されている値をクリアして初期化する。
【００３４】
Ｓ５３において、量子化係数格納部４から読み出された量子化係数を２値化部２１で２値化し、２値化量子化係数とする。Ｓ５４において、２値化量子化係数の値を判定し、２値化量子化係数が１であれば、Ｓ５５においてカウンタ２２を１だけカウントアップする。そしてブロックの終了か否かを判定し、ブロックの途中であれば、読み出された１つの量子化係数に対する評価量算出部の処理を終了する。
【００３５】
Ｓ５４において２値化量子化係数が０であった場合、及び、Ｓ５６においてブロックの終了を検出した場合には、Ｓ５７において、２乗演算部２３でカウンタ２２の値を２乗する。そしてＳ５８において、加算部２４は２乗値を評価量記憶部２５の値と加算し、その加算値を評価量記憶部２５に格納して評価量を更新する。さらにＳ５９において、カウンタ２２の値をクリアし、読み出された１つの量子化係数に対する評価量算出部の処理を終了する。
【００３６】
なお、Ｓ５７〜Ｓ５９の処理は、２値化量子化係数が１から０に変化したとき、および、ブロックの終了時のみ行ってもよい。しかし、０の２値化量子化係数が連続する場合でも実行してもかまわない。その場合にはカウンタ２２の値が０であるので２乗しても値は０であり、評価量記憶部２５に格納されている評価量と加算しても値は変わらない。また、ブロックの最終の２値化量子化係数が０の場合についても、Ｓ５７〜Ｓ５９の処理は任意である。
【００３７】
図４に示す処理を、１ブロック分の量子化係数について繰り返すことにより、ブロック終了時には評価量記憶部２５に評価量が格納されている。評価量判定部１２は、それぞれの走査方法に対応する評価量算出部１１−１〜Ｋの評価量記憶部２５から評価量を取り出し、例えば最も評価量の大きいものを選択することによって走査方法を決定する。
【００３８】
図５は、評価量判定部の一例を示すブロック図である。図中、３１〜３３は評価量比較部、３４〜３６は評価量選択部である。ここでは、４つの走査方法の中から選択するものとし、４つの評価量算出部１１−１〜４で計算された評価量を受け取って走査方法を決定する。
【００３９】
図５に示す構成では、評価量比較部と評価量選択部の組をツリー状に接続し、最大の評価量を選択出力している。すなわち、評価量選択部３４は評価量算出部１１−１及び評価量算出部１１−２の評価量記憶部２５からそれぞれ評価量を読み出す。評価量比較部３１は、読み出された評価量算出部１１−１及び評価量算出部１１−２で算出された評価量を比較し、比較結果を評価量選択部３４に伝える。評価量選択部３４は、評価量比較部３１からの比較結果に応じて評価量算出部１１−１及び評価量算出部１１−２の評価量記憶部２５から読み出した評価量のいずれか大きい方を選択する。同様に、評価量選択部３５は評価量算出部１１−３及び評価量算出部１１−４の評価量記憶部２５からそれぞれ評価量を読み出す。評価量比較部３２は、読み出された評価量算出部１１−３及び評価量算出部１１−４で算出された評価量を比較し、比較結果を評価量選択部３５に伝える。評価量選択部３５は、評価量比較部３２からの比較結果に応じて評価量算出部１１−３及び評価量算出部１１−４の評価量記憶部２５から読み出した評価量のいずれか大きい方を選択する。
【００４０】
評価量選択部３６は、評価量選択部３４及び評価量選択部３５から選択した評価量を出力させる。評価量比較部３３は、評価量選択部３４及び評価量選択部３５で選択した評価量を比較し、比較結果を評価量選択部３６に伝える。評価量選択部３６は、評価量比較部３３からの比較結果に応じて、評価量選択部３４の選択出力あるいは評価量選択部３５の選択出力のいずれか大きい方を選択し、出力する。このようにして、４つの評価量のうち、最も大きい評価量を出力することができる。以後、出力された最も大きい評価量を算出した評価量算出部を特定し、その評価量算出部に対応する走査方向を使用するものと決定すればよい。
【００４１】
なお、評価量選択部３４，３５から、評価量算出部１１−１または２、あるいは、評価量算出部１１−３または４のいずれを選択したかを示す情報も出力し、評価量選択部３６ではその情報を評価量比較部３３の比較結果により選択出力してもよい。これによって、最も大きい評価量を出力していた評価量算出部がいずれであったかが評価量選択部３６から出力されることになり、走査方法を容易に特定することができる。
【００４２】
このようにして決定した走査方法を示す情報は、エントロピー符号化部６に通知される。エントロピー符号化部６は、通知された走査方法に従って量子化係数格納部４から量子化係数を読み出し、エントロピー符号化を行う。
【００４３】
具体例を用いて上述の構成における動作について概略を説明する。図６は、走査方法の具体例の説明図である。ここではブロックサイズを４×４としている。図６（Ａ）〜（Ｃ）は、それぞれ図１１，図１５（Ａ）、（Ｂ）と同じ走査方法である。図６（Ｄ）は、左上から右下への対角線を優先して走査する走査方法の一例を示している。この４つの走査方法を選択して用いるものとする。
【００４４】
図７〜図９は、具体的な画像における走査方法の選択例の説明図である。具体的な画像の例として、図１２〜図１４に示したように、縦のエッジがある場合、横のエッジがある場合、斜めのエッジがある場合について、それぞれ図７〜図９において説明してゆく。図７は図１２に示した縦のエッジがブロック中に存在する場合の例である。図１２で説明したように、図７（Ａ）に示す画像から、例えば図７（Ｂ）に示すような量子化係数が得られる。これを２値化すると、図７（Ｃ）に示す２値化量子化係数が得られる。この２値化量子化係数を、図６に示す各走査方法で走査し、「１」の連続数を２乗して総和を求める。すると、図７（Ｄ）に示すような結果が得られる。すなわち、図６（Ａ）、（Ｃ）、（Ｄ）に示す走査方法では、左上とその右隣の２値化量子化係数が連続して取り出されるので、総和は２2 ＋１2 ＝５となる。また、図６（Ｂ）に示す走査方法では、有意の２値化量子化係数が連続しないで取り出されるため、総和は１2 ＋１2 ＋１2 ＝３となる。従って、図６（Ａ）、（Ｃ）、（Ｄ）に示す走査方法のいずれかを用いるとよいことが分かる。このように総和が同じ走査方法が複数存在する場合には、例えば従来の方法によって１つを決定すればよい。例えば最後に続く０が多い走査方法を選択することができ、その場合には図６（Ｃ）に示す走査方法が選択される。
【００４５】
図８は図１３に示した横のエッジがブロック中に存在する場合の例である。図１３で説明したように、図８（Ａ）に示す画像から、例えば図８（Ｂ）に示すような量子化係数が得られる。これを２値化すると、図８（Ｃ）に示す２値化量子化係数が得られる。この２値化量子化係数を、図６に示す各走査方法で走査し、「１」の連続数を２乗して総和を求める。すると、図８（Ｄ）に示すような結果が得られる。すなわち、図６（Ａ）、（Ｃ）、（Ｄ）に示す走査方法では、有意の２値化量子化係数が連続しないで取り出されるため、総和は１2 ＋１2 ＋１2 ＝３となる。また、図６（Ｂ）に示す走査方法では、左上とその直下の２値化量子化係数が連続して取り出されるので、総和は２2 ＋１2 ＝５となる。従って、図６（Ｂ）に示す走査方法が選択される。
【００４６】
図９は図１４に示した斜めのエッジがブロック中に存在する場合の例である。図１４で説明したように、図９（Ａ）に示す画像から、例えば図９（Ｂ）に示すような量子化係数が得られる。これを２値化すると、図９（Ｃ）に示す２値化量子化係数が得られる。この２値化量子化係数を、図６に示す各走査方法で走査し、「１」の連続数を２乗して総和を求める。すると、図９（Ｄ）に示すような結果が得られる。すなわち、図６（Ａ）に示す走査方法では、左上の３つが連続した後、０が現れ、１が現れ、さらに０が現れ、その後１が４つ連続した後、０が現れ、１が現れ、さらに０が現れ、最後に１が３つ連続する。そのため、総和は３2 ＋１2 ＋４2 ＋１2 ＋３2 ＝３６となる。図６（Ｂ）に示す走査方法では、左上から１が２つ続いた後、０が現れ、その後１が４つ連続し、０が２つ現れ、再び１が４つ連続した後、０が現れ、最後に１が２つ連続する。そのため、総和は２2 ＋４2 ＋４2 ＋２2 ＝４０となる。図６（Ｃ）に示す走査方法も同様であり、総和は２2 ＋４2 ＋４2 ＋２2 ＝４０となる。また、図６（Ｄ）に示す走査方法では、最初に１が１０個連続し、０が２つ出現した後、１が２つ連続し、０が２つ出現する。そのため、総和は１０2 ＋２2 ＝１０４となる。従って、図６（Ｄ）に示す走査方法が選択されることになる。
【００４７】
このようにして、それぞれの量子化係数の配列に応じて、２値化量子化係数が１、すなわち有意の量子化係数がなるべく連続する走査方法を選択することができる。これによって効率よく符号化することが可能になる。なお、走査方法は図６に示した方法に限られるものではなく、任意の走査方法を適用することができる。もちろん、選択可能な走査方法の個数も４つに限られるものではなく、複数用意しておけばよい。
【００４８】
【発明の効果】
以上の説明から明らかなように、本発明によれば、有意係数の連続量に重み付けをして総和を求め、その総和に従って走査方法を選択しているので、なるべく有意係数が連続するような走査方法を選択することができる。これによって、有意係数の終了位置だけで走査方法を選択する構成に比べてより適切に走査方法を選択することができ、また、実際に符号化を行って符号量を求めてから走査方法を選択する構成に比べて、小さな回路規模で実現することができる。したがって、安価な小規模の回路構成によって、符号化効率を向上させることができるという効果がある。このように符号化効率が向上することから、例えば画像をある一定の容量しかない画像伝送路を用いて画像を伝送する場合に、伝送時間を短縮することができる。また、ある決められた容量の記憶容量により多くの画像を蓄えておくことが可能になる。
【図面の簡単な説明】
【図１】  本発明の画像圧縮装置の実施の一形態を示すブロック図である。
【図２】  スキャン順序判定部の一例を示すブロック図である。
【図３】  評価量算出部の一例を示すブロック図である。
【図４】  評価量算出部の動作の一例を示すフローチャートである。
【図５】  評価量判定部の一例を示すブロック図である。
【図６】  走査方法の具体例の説明図である。
【図７】  縦にエッジが存在する具体的な画像における走査方法の選択例の説明図である。
【図８】  横にエッジが存在する具体的な画像における走査方法の選択例の説明図である。
【図９】  斜めにエッジが存在する具体的な画像における走査方法の選択例の説明図である。
【図１０】  従来の画像圧縮装置の一例を示すブロック図である。
【図１１】  ジグザグスキャンの説明図である。
【図１２】  ブロックに分割された縦にエッジが存在する画像と、その画像における量子化係数の一例の説明図である。
【図１３】  ブロックに分割された横にエッジが存在する画像と、その画像における量子化係数の一例の説明図である。
【図１４】  ブロックに分割された斜めにエッジが存在する画像と、その画像における量子化係数の一例の説明図である。
【図１５】  ジグザグスキャン以外の走査方法の一例の説明図である。
【符号の説明】
１…ブロック画像生成部、２…直交変換部、３…量子化部、４…量子化係数格納部、５…スキャン順序判定部、６…エントロピー符号化部、１１−１〜１１−Ｋ…評価量算出部、１２…評価量判定部、２１…２値化部、２２…カウンタ、２３…２乗演算部、２４…加算部、２５…評価量記憶部、２６…読み出しアドレス生成部、３１〜３３…評価量比較部、３４〜３６…評価量選択部、４１…ジグザグスキャンアドレス生成部、４２…エントロピー符号化部。
【図１】
0004273284.tif 000002
【図２】
0004273284.tif 000003
【図３】
0004273284.tif 000004
【図４】
0004273284.tif 000005
【図５】
0004273284.tif 000006
【図６】
0004273284.tif 000007
【図７】
0004273284.tif 000008
【図８】
0004273284.tif 000009
【図９】
0004273284.tif 000010
【図１０】
0004273284.tif 000011
【図１１】
0004273284.tif 000012
【図１２】
0004273284.tif 000013
【図１３】
0004273284.tif 000014
【図１４】
0004273284.tif 000015
【図１５】
0004273284.tif 000016