(57)【特許請求の範囲】
【請求項１】
画像データをブロックごとに離散コサイン変換し量子化して係数を出力する変換符号化手段と、該変換符号化手段が出力する係数を符号化する係数符号化手段とからなる画像符号化装置において、
前記係数符号化手段の符号出力の許容回数を記憶する許容回数記憶手段と、
画像データの画像における位置に応じて前記許容回数記憶手段の記憶する許容回数を増加させる空間的許容回数増加手段と、
画像データの画像における位置に応じて係数の閾値を指定する空間的閾値指定手段と、
を備え、
前記係数符号化手段は、前記変換符号化手段が出力する係数のジグザグスキャン順の位置を表すカウンタ値を前記空間的閾値指定手段が指定する閾値と比較し、前記カウンタ値が前記閾値より低いときは係数を符号化して符号を出力し、前記許容回数記憶手段の記憶する許容回数が正ならばその係数を符号化して符号を出力し、許容回数が正でなければその係数を零として扱うことにより符号を出力せず、
更に、前記係数符号化手段が符号を出力した場合、出力した前記符号の個数だけ前記許容回数記憶手段が記憶している許容回数を減少させるよう制御することを特徴とする画像符号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像データを圧縮符号化する画像符号化装置に関し、特に出力符号量に制限がある場合に画質をなるべく良好に保ちながら符号量を制限内に収める画像符号化装置に関する。
【０００２】
【従来の技術】
従来離散コサイン変換を利用した画像の圧縮符号化方法の規格としてＪＰＥＧが知られている。これは画像データをブロックごとに離散コサイン変換し、変換値を量子化する方式である。変換符号化に分類される離散コサイン変換は画像データを空間周波数領域へ変換する公知の変換方式であり、画像データに対しては情報エントロピーを減少させる性能が高いことから広く使用されている。
【０００３】
離散コサイン変換と量子化によって画像は非可逆な歪を受け、情報エントロピーが減少する。離散コサイン変換とＪＰＥＧの量子化は動作上は一体であるので、まとめて変換符号化部とみなせる。これより後さらにエントロピー符号化が施される。エントロピー符号化は出力符号が情報エントロピーに近づくように符号化するものであり、符号化による歪は導入されない。これを実施する部分は係数符号化部である。
【０００４】
係数符号化部では、量子化して得られた係数のうち直流係数は前のブロックの直流係数値との差分を求め差分値をハフマン符号化する。一方交流係数はジグザグ順にスキャンして零の個数と零でない係数の組み合わせとして二次元ハフマン符号化する。離散コサイン変換と量子化はともに交流係数において零の出現頻度を多くするので、零の連続する個数と零でない係数の組み合わせに対してハフマン符号を割り当てている。このため係数符号化部は零でない係数を発見するか、ブロックの終わりに達すると符号を出力する。ＪＰＥＧに従って圧縮された画像は劣化を伴うが、量子化に使用する量子化テーブルを適切に設定することにより主観評価値を良好に保ったまま大幅なデータ圧縮が可能である。
【０００５】
また時々刻々変化する画像を伝送する画像通信を目的とした、ＴＶ会議用の動画像コーデックが従来知られている。動画像コーデックは圧縮率が高く優れているが、専用のＬＳＩが必要な上に高速なクロックで動作させる必要があり、消費電力が大きくなってしまう。携帯通信機器のように消費電力を極力抑える必要がある機器においては、動画像コーデックではなくＪＰＥＧコーデックを用いて画像伝送を行うことができる。ＪＰＥＧの処理方法は動画像コーデックに比べて簡易であり、専用のＬＳＩを使わずにＣＰＵとソフトウエアで実現することも可能である。動画像コーデックの演算量が大きくなる理由の一つは、フレーム間差分を符号化して伝送するためであり、このとき符号化器側ではローカルデコーダを用いて、相手が復号したものと同じ画像を生成しなけばならないことにある。これに対しＪＰＥＧコーデックを用いてフレーム間差分を利用しなければ要求される演算性能を低くし、このため消費電力も抑えられるというメリットがある。
【０００６】
しかしＪＰＥＧ符号化器では動画像コーデックほどの圧縮率が達成できないため、画像サイズ、画質、フレームレートなどを犠牲にして発生符号量を低減させる必要にせまられる。
【０００７】
従来符号量を制御する画像符号化装置として、特許公報第２６４７２７２号の画像符号化における伝送レート制御方式が知られており、これを図７に示してある。これによると単位時間当たりの平均符号量と瞬時符号量がレート計算回路２０５で計算され、ＶＬＣ制御回路２０４に通知され、ＶＬＣ制御回路２０４はそれらのレートが設定値を超えると、ＶＬＣ部２０３を制御して、途中までの係数の符号を送り、強制的に残りの係数の符号を送らないようにする。これによって符号量の制御が実現される。またこの際に量子化器２０２の特性を変更しないため、復号側では符号量制御がされているかどうかに配慮する必要がなく、汎用的で簡易な復号器を用いることができるという長所がある。また係数の零置換は高周波数側の係数から行われるため、符号量が制限された場合でも画質が大きくは損なわれないという長所がある。
【０００８】
また従来、ブロックの画像内での位置に応じて量子化器を制御して、重要な部分を精度よく、重要でない部分の情報を削減して符号化する画像符号化装置が特許公開平４−２４７７８９の符号化装置および復号化装置として知られている。
【０００９】
【発明が解決しようとする課題】
しかしながら従来の特許公報第２６４７２７２号の符号量を制御する画像符号化装置においては、画像における位置を考慮して画質に差を設けた符号量制御ができないという問題がある。画像の中で重要な部分はたいてい中央付近であり、周辺ほど重要性は少ない。画質を犠牲にして符号量を削減する必要が生じた場合には、周辺部の画質劣化は許容できるが、中央部の画質劣化は避けるべきである。このため画像の中央部に位置するブロックには多くの符号量を割り当て、画像の周辺に位置するブロックには少ない符号量を割り当てることが望ましいが、従来の画像符号化装置ではできなかった。この理由は、従来の装置においてブロックの係数を切り捨てる判定基準はブロックの画像における位置を考慮していないからである。
【００１０】
これに対してブロックの位置に応じて量子化器を制御する従来の特許公開平４−２４７７８９の画像符号化装置はこの問題を克服しているが、復号器が符号化器に対応した専用のものでなければならず、広く普及しているＪＰＥＧ復号器を用いることができず、画像の伝送は可能であるが、伝送した画像を他の用途に利用したり、電子メールに添付する際にはＪＰＥＧ符号化器で圧縮しなおさなければならないという問題がある。さらにこの画像符号化装置はブロックの位置に応じて重み付けを変えることはできるが、発生符号量を一定の制限内に収めるという符号量制御の機能がない。つまり個々のブロックの符号量のバランスは制御できるけれども、それらを合計した総符号量を制御できないという問題があった。
【００１１】
【課題を解決するための手段】
上記の問題を解決するために請求項１記載の画像符号化装置は、画像データをブロックごとに離散コサイン変換し量子化して係数を出力する変換符号化手段と、該変換符号化手段が出力する係数を符号化する係数符号化手段とからなる画像符号化装置において、
前記係数符号化手段の符号出力の許容回数を記憶する許容回数記憶手段と、
画像データの画像における位置に応じて前記許容回数記憶手段の記憶する許容回数を増加させる空間的許容回数増加手段と、
画像データの画像における位置に応じて係数の閾値を指定する空間的閾値指定手段と、を備え、
前記係数符号化手段は、前記変換符号化手段が出力する係数の空間周波数を前記空間的閾値指定手段が指定する閾値と比較し、前記係数の空間周波数が前記閾値より低いときは係数を符号化して符号を出力し、前記許容回数記憶手段の記憶する許容回数が正ならばその係数を符号化して符号を出力し、許容回数が正でなければその係数を零として扱うことにより符号を出力せず、
更に、前記係数符号化手段が符号を出力した場合、出力した前記符号の個数だけ前記許容回数記憶手段が記憶している許容回数を減少させるよう制御することを特徴とする。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。図１は本発明の好適な実施の形態を示すブロック図である。さらに図２はその動作の手順を示すフローチャートである。
【００１３】
本発明の画像符号化装置ではＭＣＵ（Minimum Coded Unit）の画像における位置をもとにして動作をする。ＭＣＵとは複数のブロックを含んだ符号化単位であり、その中には輝度成分のブロックと色差成分のブロックが含まれ、カラー画像としての最小の符号化単位である。画像符号化装置がＭＣＵを処理する順番は一定しているため、ＭＣＵに通し番号を定めて、これをＭＣＵカウンタで数えることによりＭＣＵの位置を特定することができる。各処理部にはＭＣＵカウンタの値を通知されることによりＭＣＵの画像における位置に応じた処理を行うことができる。
【００１４】
図２で処理を開始するとまず処理Ｓ０１においてＭＣＵを指定するＭＣＵカウンタを0 に初期化し、許容回数記憶手段１０５を0 に初期化する。
【００１５】
続く処理Ｓ０２は画像を構成する全てのＭＣＵを処理し終えたかを調べる判定処理である。判定結果がＹｅｓのとき１画像分の処理は終わりである。判定結果がＮｏのとき処理Ｓ０３へ進む。
【００１６】
処理Ｓ０３ではＭＣＵカウンタの値を空間的許容回数増加手段１０４に通知する。空間的許容回数増加手段１０４は許容回数の増分値をＭＣＵの番号に対応させて記憶している。空間的許容回数増加手段１０４は処理Ｓ０３において通知を受けると、この記憶値を用いて許容回数記憶手段１０５の記憶値を増加させ更新する。さらにＭＣＵカウンタの値は空間的閾値指定手段１０３へも通知される。空間的閾値指定手段１０３はそのＭＣＵの画像における位置に応じて閾値を設定する。
【００１７】
続いて処理Ｓ０４において、ＭＣＵカウンタで指定されたＭＣＵの画像データは８×８画素のブロック単位で、変換符号化部１０１に入力される。ひとつのＭＣＵには複数のブロックが存在しており、ブロックごとに順に処理される。変換符号化部１０１は入力されたブロックに対して処理Ｓ０４において二次元離散コサイン変換を実行し、さらに量子化を実行する。ＪＰＥＧに適合する量子化は離散コサイン変換された係数値に量子化ステップの逆数を乗算し、四捨五入によって整数化する処理である。量子化の動作は乗算であるから、乗算を大量に実行する離散コサイン変換と一体化し、両者を変換符号化部１０１としている。
【００１８】
量子化テーブルには、入力される画像の性質や画像符号化装置が出力する画像の画質や符号量に応じて、量子化ステップサイズをあらかじめ設定しておく。公知のように離散コサイン変換によって出力される８×８の係数ブロックは空間周波数領域上の係数であり、各係数のブロックにおける位置と空間周波数とが１対１に対応している。量子化ステップサイズは低周波数側の係数では小さく、高周波数側の係数では大きくすることにより、低周波数側の係数には多くの情報量を割り当て、高周波数側の係数には少ない情報量を割り当てることができる。また量子化テーブルは、データブロックが画像の輝度成分であるか色差成分であるかに応じて切り替えることができ、統計的な性質の異なる色成分ごとに適した量子化ステップを指定することができる。
【００１９】
処理Ｓ０５において、変換符号化部１０１が出力する係数は係数符号化部１０２に入力される。係数符号化部１０２は量子化された８×８の係数ブロックを入力とし、これをエントロピー符号化する。
【００２０】
ＭＣＵに含まれる複数のブロックの処理を終えたら処理Ｓ０６に移り、ＭＣＵカウンタはインクリメントされ、判定処理Ｓ０２へ戻る。
【００２１】
次に、本発明の特徴である空間的な位置を考慮した符号量制御が実行されるのは係数符号化部１０２である。図３はその動作を示すフローチャートであり、これをもとにして説明する。
【００２２】
係数ブロックの入力を受けた係数符号化部１０２は処理Ｓ１１において直流係数を符号化し符号を出力する。直流係数は同じ色成分の前の直流係数との差分を求め、差分値をそれが属するレベル値とそのレベル内での残りビットとに分解し、レベル値をハフマン符号化し、続いて残りビットを添付する。
【００２３】
係数符号化部１０２が交流係数を符号化するときは、低周波数から高周波数への順にブロックをジグザグにスキャンし、値が零の係数の数を数えながら零でない係数を探す。
【００２４】
ここでジグザグスキャンの順序を図４に示す。図４は変換符号化部１０１が離散コサイン変換と量子化を実行した結果である８×８の係数ブロックと、これをジグザグスキャンする順番を示しており、ブロックの左ほど、また上ほど空間周波数が低くなっている。係数符号化部１０２は図４において番号１から番号６３の順に係数をスキャンし零であるか零でないかを調べる。ただし番号０の係数は直流係数なのでジグザグスキャンは行わない。
【００２５】
図３の処理Ｓ１２はジグザグスキャンをはじめる準備処理であり、係数を指定するカウンタを1 に初期化し、零係数の数を数えるカウンタを0 に初期化する。
【００２６】
処理Ｓ１３はブロックのジグザグスキャンが終了したかどうかを調べる判定処理である。これは係数を指定するカウンタが６４未満であるかどうかを調べ、結果がＹｅｓなら処理Ｓ１４へ進み、結果がＮｏなら処理Ｓ１９へ進む。
【００２７】
処理Ｓ１４はカウンタが指定する係数が０であるかを調べる判定処理である。結果がＹｅｓであればその係数は０であるので処理Ｓ２１へ進み、Ｎｏであれば処理Ｓ１５へ進む。
【００２８】
処理Ｓ１５はその係数の空間周波数が空間的閾値指定手段１０３が指定する閾値と比較して低周波数側であるかどうかを調べる判定処理である。処理Ｓ１５ではその係数の位置を指定するカウンタ値を空間的閾値指定手段１０３の指定する閾値と比較し、カウンタ値が閾値未満であるかどうかを調べる。結果がＹｅｓの場合には処理Ｓ１６へ進み、Ｎｏの場合は処理Ｓ１８へ進む。空間的閾値指定手段１０３はＭＣＵカウンタ値に基づいて閾値を変化させる。ＭＣＵカウンタが画像の中央付近を指定している場合は画質を重視するために閾値は６４に設定される。閾値が６４に指定されると零でない係数は全て閾値未満と判定され処理Ｓ１６において符号化され符号が出力される。これに対してＭＣＵカウンタが画像の周辺を指定している場合には閾値は１５に設定される。これによって、係数カウンタが１から１４の間に零でない係数が存在した場合に、零に置換されず処理Ｓ１６で符号化されることが保証される。
【００２９】
このように画質を重視しない周辺のＭＣＵであっても低周波数側の係数を符号量制御の対象から外すのは、低周波数側の係数を零置換すると復号画像における影響が大きいためである。これに対して高周波数側の係数は零置換しても影響が比較的小さいため符号量制御を実行する際には係数を削除する。また空間的閾値指定手段１０３が通知されたＭＣＵの画像における位置に応じて閾値を変化させるのは、画像中央付近に位置する画像データブロックに対しては符号量制御を無効にして画質を保証し、画像周辺に位置するブロックに対しては画質の低下を許して符号量制御を有効にするためである。
【００３０】
処理Ｓ１６において係数符号化部１０２は符号化を実行して符号を出力し、許容回数記憶手段１０５を出力した符号の個数だけデクリメントする。符号化は次のように行う。零係数の数が１６以上の間はＺＲＬ符号を出力し零係数の数から１６を引く動作を繰り返す。ＺＲＬとはZero Run Length のことで、符号シンボルの一つとして二次元ハフマン符号のテーブルの中に存在するものである。零の係数の数が１６未満になったならば、符号化すべき零でない係数をその係数が属するレベル値とそのレベル内での残りビットとに分解し、零の係数の数と零でない係数のレベル値との組を二次元ハフマン符号化し、続いて残りビットを添付する。ＺＲＬ符号と二次元ハフマン符号との双方とも符号出力の度に許容回数記憶手段１０５を1 個デクリメントする。符号を出力した後、処理Ｓ１６においてさらに零係数のカウンタを0 に初期化する。この後処理Ｓ１７へ進む。
【００３１】
処理Ｓ１７では係数の位置を指定するカウンタをインクリメントして判定処理Ｓ１３へ戻る。
【００３２】
全ての交流係数のジグザグスキャンを終えた場合、判定処理Ｓ１３から処理Ｓ１９に至る。処理Ｓ１９は零係数の数が0 個であるかを調べる判定処理である。判定結果がＹｅｓであればそのブロックに対する符号化処理は終了する。結果がＮｏであればＥＯＢ符号を出力し、許容回数記憶手段１０５を1 個デクリメントする。ＥＯＢとは、End Of Blockのことで、符号シンボルの一つとして二次元ハフマン符号のテーブルの中に存在するものである。
【００３３】
係数符号化部１０２が二次元ハフマン符号を出力するのは、零でない交流係数を符号化する場合、ＺＲＬを出力する場合、ＥＯＢを出力する場合、のいずれかである。ブロックの最後に交流係数が出現することはまれであるので、多くの場合ブロックの最後にはＥＯＢ符号が出力される。本発明では係数符号化部の符号出力の回数と符号量との相関が高いことを利用しており、符号出力の回数を測定し、これが許容回数内に収まるように符号出力の回数を制御するものである。本実施の形態では符号出力の回数を数える際にＺＲＬやＥＯＢを含めることにするが、これらを含めずに数えるような画像符号化装置を作成してもよい。
【００３４】
本発明において符号量制御が働いて実際に削減動作が実行されるのは処理Ｓ１８である。処理Ｓ１８は許容回数記憶手段１０５の記憶する値が正であるか調べる判定処理である。判定結果がＹｅｓであれば処理Ｓ１６に進んで符号を出力する。Ｎｏの場合は処理Ｓ２１へ進む。処理Ｓ２１は値が零の係数の数を数えるカウンタを1 個インクリメントする処理であり、その後処理Ｓ１７へ進む。処理Ｓ１８から処理Ｓ２１へ進むときに、量子化時点では零でなかった係数が零として処理されることになるのである。
【００３５】
次に画像における位置に応じて画質を変えながら符号量制御を実現する方法について説明する。図５には画像１１０と画像１１０を構成するＭＣＵが示されている。ＭＣＵのサイズは横１６画素、縦１６画素であり、輝度成分のブロックが4 個と色差成分のブロックが２個含まれている。画像１１０の横方向には６個のＭＣＵ、縦方向には７個のＭＣＵが並び、計４２個のＭＣＵで構成されている。横のインデクスと縦のインデクスの組でＭＣＵを指定することにすると、（0,0 ）のＭＣＵはＭＣＵ１１１であり、（5,0 ）のＭＣＵはＭＣＵ１１６である。ＭＣＵカウンタとしては、縦のインデクス×6 ＋横のインデクスを用いることにより、一つのカウンタ値でＭＣＵの画像における位置を指定することができる。図５において画像１１０の中央付近に位置するＭＣＵ１１８などは実線で描かれ、画像１１０の周辺に位置するＭＣＵ１１１からＭＣＵ１１７などは点線で示されているが、これは点線で示されたＭＣＵは周辺に位置するため重要度が低く、実線で示されたＭＣＵは中央に位置するため重要度が高く、画質の優先度に差を設けていることを表している。
【００３６】
本発明の符号化装置は空間的許容回数増加手段１０４の動作によって、空間的な符号量配分を制御しており、図２の処理Ｓ０３において許容回数記憶手段１０５の記憶値をいくつ増加させるかを対象とする画像サイズと符号量に合わせて設計しなければならない。
【００３７】
まず二次元ハフマン符号を画像全体で何個出力してよいか、全体の許容回数を予め決める。符号化結果において画像の符号量と符号化された二次元ハフマン符号の数とは強い相関があるため、対象とする標準的な画像について目標符号量内で符号化できる量子化テーブルを試行錯誤によって求め、このとき画像全体で出力される二次元ハフマン符号の数を測定し、これをＮi とする。
【００３８】
次に求めたＮi を総ＭＣＵ数で割り、ＭＣＵの1 個あたりの二次元ハフマン符号の数を求めこれをＮm とする。ここではＭＣＵの1 個あたりの二次元ハフマン符号出力Ｎm を４０個に設定する。これはＭＣＵあたりの目標符号量を約１７ bitに設定し、量子化テーブルを選択した結果の数字である。
【００３９】
ブロックの画像における空間的位置に応じて符号量の配分を行うために、空間的許容回数増加手段１０４はＭＣＵの画像における位置に応じて許容回数増加値を記憶しており、ＭＣＵの画像における位置が入力されると許容回数増加値を読み出して許容回数記憶手段１０５の記憶値に加算し更新する。
【００４０】
各ＭＣＵに対する許容回数の増加値を図６に示す。図６は画像１１０を構成する各ＭＣＵの位置に許容回数の増加値を示したもので、空間的許容回数増加手段１０４はこの値をテーブルに記憶しておく。
【００４１】
まずＭＣＵ１１１に対して符号化を行うが、ＭＣＵの位置は（0,0 ）であり、この位置を表すＭＣＵカウンタの値が図２の処理Ｓ０３において空間的許容回数増加手段１０４へ通知され、許容回数増加手段１０４はテーブルの（0,0 ）の位置を参照し、許容回数記憶手段１０５の記憶値を４０増加させる。これはＮm が４０であることからＭＣＵ１個分の割り当てを行うことを意味し、４０個の符号を出力するまでは符号量制御が働かない。係数符号化部１０２はＭＣＵ１１１の係数を符号化し、二次元ハフマン符号を出力するたびに、許容回数記憶手段１０５の記憶値を1 だけ減少させる。
【００４２】
ＭＣＵ１１１は周辺に位置しており、空間的閾値指定手段１０３は閾値を小さく設定しているので、出力される符号が多い場合には許容回数記憶手段１０５の記憶値が正でなくなり、係数符号化部１０２は閾値以上の高周波数側の係数を零とみなして符号出力を制限するようになる。
【００４３】
ＭＣＵ１１１の符号化が終わると次に（0,1 ）の位置にあるＭＣＵ１１２を符号化する前に、空間的許容回数増加手段１０４は許容回数記憶手段１０５の記憶値を２４０増加させる。これはＭＣＵの６個分すなわち、６Ｎm 個の許容回数であり、（0,1 ）の位置にあるＭＣＵ１１２から、（1,0 ）の位置にあるＭＣＵ１１７までを符号化するための割り当てである。以後ＭＣＵ１１３からＭＣＵ１１７までの符号化に際しての許容回数増加値は０に設定する。これらの増加値は空間的許容回数増加手段１０４の中のテーブルに記憶される。
【００４４】
ＭＣＵ１１２から順に符号化していくと、先に符号化されるＭＣＵには許容回数が多くあるため、符号出力制限を受けることなく全ての係数が符号化される。このため先に符号化されるＭＣＵが多くの係数を出力すると、後で符号化されるＭＣＵでは許容回数記憶手段１０５の値が正でなくなり高周波数側係数の出力が制限されやすくなる。とくに位置（1,0 ）のＭＣＵ１１７と、位置（0,6 ）のＭＣＵ１１６において出力制限が発生しやすいため、画像の周辺の画質が低下する。一方位置（0,1 ）のＭＣＵ１１２やその後続のＭＣＵ１１３などにおいては、許容回数記憶手段１０５の値が豊富にあるため、符号の出力制限は発生せず、その画質は量子化テーブルで量子化したとおりの画質になる。
【００４５】
同様に図６に示すように、j を１から５までの整数として位置（1,j ）におけるＭＣＵに対する許容回数増加値を以降のＭＣＵの分を含めて２４０に設定し、他のＭＣＵに対する許容回数増加値を０に設定する。これによって位置（1,j ）のＭＣＵは常に良好な画質が保証され、位置（0,j+1 ）や位置（5,j ）にあるＭＣＵの画質は低下しやすくなる。j が６のときも同様に図６に示すように位置（1,6 ）にあるＭＣＵを符号化する前に、空間的許容回数増加手段１０４は許容回数記憶手段１０５の記憶値を２００増加させる。これは５個分すなわち５Ｎm 個の許容数である。
【００４６】
画像中央付近に位置するＭＣＵ、例えば図５のＭＣＵ１１８については、画質劣化を避けるために係数符号化部１０２による符号の出力制限を行わない。これは空間的閾値指定手段１０３が指定する閾値を画像データの画像における位置に応じて変化させることによって実現する。８×８の係数ブロックは図４に示す順番でジグザグスキャンされるので、係数の空間周波数は横と縦のインデクスの和が一定になるようなバンドに区分することができる。よって空間的閾値指定手段１０３は図４のジグザグスキャンの順番における閾値を通知し、これによって係数符号化部１０２は係数の空間周波数を判定する。
【００４７】
そこで図５で点線で示される周辺のＭＣＵにおいては、空間的閾値指定手段１０３は閾値として１５を通知する。係数の空間周波数が１５未満の係数とは、図４において番号が１から１４までの１４個の交流係数のことであり、係数の横と縦のインデクスの和が５未満であれば低周波数側と判定していることになる。係数符号化部１０２は図３の判定処理Ｓ１４で零でない係数を見つけると、判定処理Ｓ１５でその係数の位置を表すカウンタが閾値未満かどうか調べ、結果がＹｅｓであれば符号を出力し、Ｎｏであれば判定処理Ｓ１８において許容回数記憶手段１０５の値が正であるかを調べ、結果がＹｅｓであれば処理Ｓ１７で符号を出力し、Ｎｏであればその係数の二次元ハフマン符号の出力を制限する。
【００４８】
一方図５で実線で示されるＭＣＵが処理される際、図２の処理Ｓ０３でＭＣＵカウンタの値が空間的閾値指定手段１０３に通知されると閾値は６４に設定される。これにより全ての交流係数は判定処理Ｓ１５において閾値未満と判定されることになり、係数符号化部１０２は符号の出力制限を実行しない。つまり判定処理Ｓ１４において見つけた零でない係数全てが処理Ｓ１６において符号化され、許容回数記憶手段１０５の記憶値は符号の出力のたびにデクリメントされる。これによって画像中央付近の画質を良好に保ちながら、画像周辺部の画質と符号量の制御を実現する画像符号化装置が得られる。
【００４９】
なお本実施の形態では空間的許容回数増加手段１０４はテーブルに許容回数の増加値を記憶しておき、テーブルを参照して許容回数記憶手段１０５の値を更新しているが、他の方法を用いることもできる。例えばＭＣＵのアドレスをもとに演算によって増加値を求めて許容回数記憶手段１０５の値を更新してもよい。またこのプログラムには、過去の符号の発生状況を反映させて、次のＭＣＵにおいて必要となる許容回数増加値を予測し、許容回数の不足による画質劣化を近傍のＭＣＵに分散させるような適応的な制御を実行することもできる。
【００５０】
さらにまた本実施の形態ではＭＣＵを単位として、ＭＣＵの符号化の前に許容回数記憶手段１０５の値を更新するように、空間的許容回数増加手段１０４を動作させているが、ブロックの位置を入力し、より細かくブロック単位で空間的許容回数増加手段１０４を動作させることもできる。
【００５１】
【発明の効果】
本発明の画像符号化装置によれば次のような効果が得られる。一定の符号量内に収めるために符号量制御を実行しながら、画像における位置に応じて画質を制御することができる。とくに画質劣化が画像周辺部において発生し、画像中央部においては一定の画質が保証され、画像において重要な中央部の情報を劣化させることがない。また出力される符号は国際標準のＪＰＥＧ復号器でデコードすることができ、専用の復号器を必要とせず、普及している様々なＪＰＥＧ復号器を利用することができ、システムの自由度を大きくしかつ復号器の製作コストを削減できる。さらに出力された符号はフォーマット変換をすることなく様々な用途に再利用が可能である。
【図面の簡単な説明】
【図１】本発明による画像符号化装置のブロック図。
【図２】本発明の画像符号化装置の動作を表すフローチャート。
【図３】本発明における係数符号化部がブロックを符号化する動作を表すフローチャート。
【図４】８ｘ８の係数ブロックのジグザグスキャンの順番を示す図。
【図５】画像を構成するＭＣＵのうち周辺部に位置するＭＣＵと中央部に位置するＭＣＵを示す図。
【図６】各ＭＣＵを符号化する前に空間的許容回数増加手段が増加させる許容回数の増加値をＭＣＵの位置に対応させて示した図。
【図７】従来の画像符号化装置のブロック図。
【符号の説明】
１０１：変換符号化部
１０２：係数符号化部
１０３：空間的閾値指定手段
１０４：空間的許容回数増加手段
１０５：許容回数記憶手段
１１０：画像
１１１〜１１８：ＭＣＵ
２０１：ＤＣＴ演算部
２０２：量子化部
２０３：ＶＬＣ部
２０４：ＶＬＣ制御回路
２０５：レート計算回路
【図１】
0004041245.tif 000002
【図２】
0004041245.tif 000003
【図３】
0004041245.tif 000004
【図４】
0004041245.tif 000005
【図５】
0004041245.tif 000006
【図６】
0004041245.tif 000007
【図７】
0004041245.tif 000008