(57)【要約】【課題】  原画像の周波数特性を考慮して原画像を縮小し、符号化する技術を提供すること。【解決手段】  エッジ強調処理部１０４は、原画像Ａにおける画素ブロック毎の第１の変換係数群における有意係数の数に応じて縮小画像Ｂのエッジを強調し、ＤＣＴ係数決定部１０８は、第２の変換係数群に対応する、原画像Ａにおける画素ブロック集合に含まれる夫々の画素ブロックに対する有意係数の数に基づいて、第２の変換係数群に含まれる変換係数に対して割り当てる倍率を求め、第２の変換係数群内の変換係数の値を割り当てられた倍率を用いて制御する。【選択図】  図１
2005136891.tif 000002
【特許請求の範囲】
【請求項１】
入力画像に対してローパスフィルタ処理を行うローパスフィルタ処理工程と、当該ローパスフィルタ処理工程でローパスフィルタ処理を施された画像から所定の周期でサンプリングした画素を並べることで当該画像の縮小画像を生成する縮小画像生成工程とを備え、前記縮小画像を符号化する画像符号化方法であって、
前記入力画像を構成する夫々の画素ブロック毎に直交変換を施し、画素ブロック毎の第１の変換係数群を生成する第１の直交変換工程と、
全ての前記第１の変換係数群において、値が０でない変換係数の数を計数する第１の計数工程と、
前記第１の計数工程による計数値に応じて、前記縮小画像のエッジ部分を構成する画素の値を制御する第１の計算工程と、
前記第１の計算工程による処理後の画像を構成する画素ブロック毎に直交変換を施し、画素ブロック毎の第２の変換係数群を生成する第２の直交変換工程と、
個々の前記第１の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が０でない変換係数の数を計数する第２の計数工程と、
前記第１の計算工程による処理後の画像を構成する画素ブロックの縦の数に一致する区分数、横の数に一致する区分数で、前記入力画像を構成する画素ブロック群を縦方向、横方向に均等に区分し、区分された画素ブロック集合に含まれる夫々の画素ブロックの前記第１の変換係数群について前記第２の計数工程で計数した計数値に基づいて、前記画素ブロック集合と位置的に対応する前記第２の変換係数群に含まれる変換係数に対して割り当てる倍率を求める倍率計算工程と、
夫々の前記第２の変換係数群内の変換係数の値を、前記倍率計算工程で割り当てられた倍率を用いて制御する第２の計算工程とを備え、
前記第２の計算工程による処理後の夫々の変換係数を符号化することを特徴とする画像符号化方法。
【請求項２】
前記第１の計数工程では、
前記第１の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が０でない変換係数の数を計数し、求めた夫々のグループについての計数値を全ての前記第１の変換係数群について合算する事で、全ての前記第１の変換係数群において夫々のグループについての計数値を得、
前記第１の計算工程では、全ての前記第１の変換係数群において夫々のグループについての計数値に基づいて計算される値に応じた倍率を、前記縮小画像のエッジ部分を構成する画素の値に掛け合わせることを特徴とする請求項１に記載の画像符号化方法。
【請求項３】
前記倍率計算工程では、前記画素ブロック集合に含まれる夫々の画素ブロックの前記第１の変換係数群について、同じグループ毎に前記第２の計数工程で計数した計数値の平均値を求め、
値が０でない変換係数の数と倍率との関係に基づいて、前記倍率計算工程で求めた夫々の平均値に応じた倍率を得、
前記第２の計数工程によるグループ分割方法と同じ分割方法で前記第２の変換係数群を複数のグループに分割した場合に、前記第２の計算工程では、当該分割した夫々のグループ内の変換係数の値に、前記第２の変換係数群を分割した夫々のグループに対応する前記倍率を掛け合わせることを特徴とする請求項１に記載の画像符号化方法。
【請求項４】
前記第１の直交変換工程、前記第２の直交変換工程は共に同じサイズの画素ブロック毎に直交変換を行うことを特徴とする請求項１に記載の画像符号化方法。
【請求項５】
入力画像に対してローパスフィルタ処理を行うローパスフィルタ処理手段と、当該ローパスフィルタ処理手段がローパスフィルタ処理を施した画像から所定の周期でサンプリングした画素を並べることで当該画像の縮小画像を生成する縮小画像生成手段とを備え、前記縮小画像を符号化する画像符号化装置であって、
前記入力画像を構成する夫々の画素ブロック毎に直交変換を施し、画素ブロック毎の第１の変換係数群を生成する第１の直交変換手段と、
全ての前記第１の変換係数群において、値が０でない変換係数の数を計数する第１の計数手段と、
前記第１の計数手段による計数値に応じて、前記縮小画像のエッジ部分を構成する画素の値を制御する第１の計算手段と、
前記第１の計算手段による処理後の画像を構成する画素ブロック毎に直交変換を施し、画素ブロック毎の第２の変換係数群を生成する第２の直交変換手段と、
個々の前記第１の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が０でない変換係数の数を計数する第２の計数手段と、
前記第１の計算手段による処理後の画像を構成する画素ブロックの縦の数に一致する区分数、横の数に一致する区分数で、前記入力画像を構成する画素ブロック群を縦方向、横方向に均等に区分し、区分された画素ブロック集合に含まれる夫々の画素ブロックの前記第１の変換係数群について前記第２の計数手段が計数した計数値に基づいて、前記画素ブロック集合と位置的に対応する前記第２の変換係数群に含まれる変換係数に対して割り当てる倍率を求める倍率計算手段と、
夫々の前記第２の変換係数群内の変換係数の値を、前記倍率計算手段が割り当てた倍率を用いて制御する第２の計算手段とを備え、
前記第２の計算手段による処理後の夫々の変換係数を符号化することを特徴とする画像符号化装置。
【請求項６】
コンピュータに請求項１乃至４の何れか１項に記載の画像符号化方法を実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の符号化技術に関するものである。
【背景技術】
【０００２】
近年のマルチメディア処理の進化に伴い、画像処理システムが処理の対象としている画像サイズの大規模化が急激に進んでいる。例えば、デジタルカメラ等の民製品の撮像素子として代表的なＣＣＤセンサは数年前には数十万画素が主流であったが、現在は数百万画素のものが多く登場している。
【０００３】
一方で、デジタルカメラ等の民生品においては画像（静止画、もしくは動画）を保存する際や、帯域幅が限られた電気通信回線や無線回線などの通信回線を通じて画像を伝送する際には、その画像のデータサイズが大きな問題となる。
【０００４】
また、動画のテレビモニタ上における再生の場合には未だＮＴＳＣに対応する７２０×４８６の画像サイズが主流であり、またコンピュータ上で画像を表示する（動画像を再生する）為のプレイヤーによる再生などの場合にも、ＶＧＡサイズ（６４０×４８０）が、ほとんどである。そのため、現在ではＣＣＤセンサから取り込まれた画像を予め定められた画像サイズに縮小する事が行われ、かつ縮小後の画像に対して静止画であればＪＰＥＧ符号化が行われる。
【０００５】
画像サイズを縮小する方法としては、「バイリニア法」、「ニアレストネイバ−法」、「バイキュービック法」などが知られている。以下、これら３つの画像縮小方法について簡単に説明する。
【０００６】
図３は、原画像に対して縦横のサイズを１／２にする場合に、バイリニア法を用いた場合の縮小方法を説明する為の図である。同図において縮小後の画像における１つの画素の位置を（ｘ１，ｙ１）、この１つの画素の周辺に位置する原画像中の任意の４つの画素の位置を（ｘ、ｙ）、（ｘ＋１、ｙ）、（ｘ、ｙ＋１）、（ｘ＋１、ｙ＋１）とした場合に、バイリニア法では、これら４つの画素を用いて、縮小後の画像の１つの画素を生成する。位置（ｘ、ｙ）における画素の値をＰ（ｘ、ｙ）で表現したとすると、縮小後の画像の１つの画素の画素値Ｐ（ｘ１，ｙ１）は以下の式に従って求められる。
【０００７】
Ｐ（ｘ１，ｙ１）＝（Ｐ（ｘ、ｙ）＋Ｐ（ｘ＋１，ｙ）＋Ｐ（ｘ、ｙ＋１）＋Ｐ（ｘ＋１，ｙ＋１））／４      （式１）
すなわち、バイリニア法では、縮小後の画像における１つの画素の周辺に位置する４つの画素の値を平均化したものを、この１つの画素の値とする。この方法では、原画像に対して平均化処理を行っている事から、一種のローパスフィルタを施した効果が縮小画像には得られるという事が特徴である。
【０００８】
図４は、ニアレストネイバ−法による縮小方法を説明するための図である。この縮小方法は特に、縮小画像の各画素の位置が、原画像の周辺画素からの距離が均等でない場合に有効である。同図において縮小後の画像における１つの画素の位置を（ｘ１，ｙ１）、この１つの画素の周辺に位置する原画像中の任意の４つの画素の位置を（ｘ、ｙ）、（ｘ＋１、ｙ）、（ｘ、ｙ＋１）、（ｘ＋１、ｙ＋１）とした場合に、ニアレストネイバー法では、これら４つの画素のうち、縮小後の画像における１つの画素の位置に最も近いものを選択し、選択した画素の値を縮小後の画像における１つの画素の値とする。
【０００９】
即ちこの縮小方法では、縮小処理の際に演算処理を必要としない点、処理が高速となるという利点があるが、原画像が高周波成分を含む場合には折り返し歪みが縮小画像に顕著に表れてしまうという問題がある。また、周辺画素の値のみに着目して出力画素（縮小後の画像の１つの画素）の値を得るという点では、式１において示すバイリニア法と同じである。
【００１０】
また、バイリニア法によるローパスフィルタによる損失した周波数成分を視覚的に補完する方法として、バイキュービック法が知られている。バイキュービック法においては、縮小後の画像における１画素に対応する原画像における１６画素に対して、sinc関数との畳み込み演算を行った結果をこの１画素の値とする。この縮小方法においては、バイリニアの式１による一次関数の演算と異なり、３次関数によって演算が行われる。よって縮小された画像がエッジを強調した画像となる点が利点である一方で、縮小画像においてシャープさが失われてしまうという問題がある。
【００１１】
これらの画像縮小方法においては、原画像において注目画素周辺の画素値のみを用いている点が共通であるため、人間の視覚的特性を必ずしも適切に考慮したものとはなっていない。そのため例えば、空間周波数分布が高周波領域に多くの分布を持つ様な原画像を上記画像縮小方法を用いて縮小しても、縮小画像に原画像の周波数特性を正しく表現する事が出来ず、画像の劣化が非常に目立ってしまうという問題がある。
【００１２】
上記の様な問題に対して、従来では、復号化手段において逆量子化した結果得られた直交係数に対してLPF（ローパスフィルタ）処理を施す事で、折り返し歪みを改善する技術が開示されている（例えば、特許文献１を参照）。
【００１３】
しかし、この方法においても依然として次の様な問題が残されている。即ち、従来においては、符号化ストリームを生成する過程における処理について言及されていない。すなわち、符号化ストリームには依然として、潜在的に折り返し歪みとなる高周波成分が含まれている事から、該提案を実装したビューワでのみ有効な手段であり汎用性に乏しい。更には、縮小処理を行う前の原画像における視覚特定を何ら考慮しておらず、単にLPFを施しているのみであるので、画質の劣化が生じてしまう。
【００１４】
次にデジタルカメラ等の民生品の画像処理システムにおいて用いられる縮小方法について説明する。図２は、このような画像処理システムの機能構成を示すブロック図である。尚同図に示した各部はハードウェアにより構成されている。
【００１５】
同図に示すような画像処理システムを構成する各部をハードウエアで実現する際には、ゲート規模の制約上、複雑な演算を行う事が困難であるという特徴があるため、処理が比較的単純である。
【００１６】
先ず、本システムに入力される原画像Ａに対して折り返し歪みを除去するためにＬＰＦ（ローパスフィルタ）処理部２０１は、高周波遮断処理を行う。図５は、ＬＰＦ処理部２０１でローパスフィルタ処理を行う際に用いる３×３のマトリクス・フィルタの一例を示す図である。
【００１７】
次にダウンサンプル処理部２０２は、原画像Ａの縮小率に応じた周期で原画像Ａを構成する画素をサンプリングし、サンプリングした順に画素を並べることで、原画像Ａの縮小画像である縮小画像Ｂを得る。図６は、ダウンサンプリング処理部２０２が行うダウンサンプリング処理の一例を説明する図である。同図では縦横共に２画素周期でサンプリングを行うので、縮小画像Ｂは原画像Ａの縦横１／２のサイズの画像となる。
【００１８】
エッジ強調処理部２０４は、ラプラシアン等の公知技術を用いて縮小画像Ｂのエッジ成分を検出し、このエッジ成分を縮小画像Ｂ上に合成することにより、縮小画像Ｂにおけるエッジ成分が強調された画像である縮小画像Ｃを得る。このようにして得られた縮小画像Ｃは符号化部２０５に入力され、符号化処理を施された後に、不図示の記憶部に記憶される。
【特許文献１】特登録３１３２１７１号
【発明の開示】
【発明が解決しようとする課題】
【００１９】
図２に示した機能構成を有する画像処理システムの問題点としては以下の２つが挙げられる。
【００２０】
＜課題１＞
原画像Ａの周波数特性に関わらず一様にローパスフィルタ処理を行うので、画質の劣化が激しい。
【００２１】
＜課題２＞
原画像Ａの周波数特性に関わらず一様にエッジ強調処理を行うので、原画像Ａにノイズを多く含む場合には、ノイズが強調されてしまう。
【００２２】
本発明は以上の問題に鑑みてなされたものであり、原画像の周波数特性を考慮して原画像を縮小し、符号化する技術を提供することを目的とする。
【課題を解決するための手段】
【００２３】
本発明の目的を達成するために、例えば本発明の画像符号化方法は以下の構成を備える。
【００２４】
即ち、入力画像に対してローパスフィルタ処理を行うローパスフィルタ処理工程と、当該ローパスフィルタ処理工程でローパスフィルタ処理を施された画像から所定の周期でサンプリングした画素を並べることで当該画像の縮小画像を生成する縮小画像生成工程とを備え、前記縮小画像を符号化する画像符号化方法であって、
前記入力画像を構成する夫々の画素ブロック毎に直交変換を施し、画素ブロック毎の第１の変換係数群を生成する第１の直交変換工程と、
全ての前記第１の変換係数群において、値が０でない変換係数の数を計数する第１の計数工程と、
前記第１の計数工程による計数値に応じて、前記縮小画像のエッジ部分を構成する画素の値を制御する第１の計算工程と、
前記第１の計算工程による処理後の画像を構成する画素ブロック毎に直交変換を施し、画素ブロック毎の第２の変換係数群を生成する第２の直交変換工程と、
個々の前記第１の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が０でない変換係数の数を計数する第２の計数工程と、
前記第１の計算工程による処理後の画像を構成する画素ブロックの縦の数に一致する区分数、横の数に一致する区分数で、前記入力画像を構成する画素ブロック群を縦方向、横方向に均等に区分し、区分された画素ブロック集合に含まれる夫々の画素ブロックの前記第１の変換係数群について前記第２の計数工程で計数した計数値に基づいて、前記画素ブロック集合と位置的に対応する前記第２の変換係数群に含まれる変換係数に対して割り当てる倍率を求める倍率計算工程と、
夫々の前記第２の変換係数群内の変換係数の値を、前記倍率計算工程で割り当てられた倍率を用いて制御する第２の計算工程とを備え、
前記第２の計算工程による処理後の夫々の変換係数を符号化することを特徴とする。
【００２５】
本発明の目的を達成するために、例えば本発明の画像符号化装置は以下の構成を備える。
【００２６】
即ち、入力画像に対してローパスフィルタ処理を行うローパスフィルタ処理手段と、当該ローパスフィルタ処理手段がローパスフィルタ処理を施した画像から所定の周期でサンプリングした画素を並べることで当該画像の縮小画像を生成する縮小画像生成手段とを備え、前記縮小画像を符号化する画像符号化装置であって、
前記入力画像を構成する夫々の画素ブロック毎に直交変換を施し、画素ブロック毎の第１の変換係数群を生成する第１の直交変換手段と、
全ての前記第１の変換係数群において、値が０でない変換係数の数を計数する第１の計数手段と、
前記第１の計数手段による計数値に応じて、前記縮小画像のエッジ部分を構成する画素の値を制御する第１の計算手段と、
前記第１の計算手段による処理後の画像を構成する画素ブロック毎に直交変換を施し、画素ブロック毎の第２の変換係数群を生成する第２の直交変換手段と、
個々の前記第１の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が０でない変換係数の数を計数する第２の計数手段と、
前記第１の計算手段による処理後の画像を構成する画素ブロックの縦の数に一致する区分数、横の数に一致する区分数で、前記入力画像を構成する画素ブロック群を縦方向、横方向に均等に区分し、区分された画素ブロック集合に含まれる夫々の画素ブロックの前記第１の変換係数群について前記第２の計数手段が計数した計数値に基づいて、前記画素ブロック集合と位置的に対応する前記第２の変換係数群に含まれる変換係数に対して割り当てる倍率を求める倍率計算手段と、
夫々の前記第２の変換係数群内の変換係数の値を、前記倍率計算手段が割り当てた倍率を用いて制御する第２の計算手段とを備え、
前記第２の計算手段による処理後の夫々の変換係数を符号化することを特徴とする。
【発明の効果】
【００２７】
本発明の構成により、原画像の周波数特性を考慮して原画像を縮小し、符号化するため、高画質な縮小画像を得る事が可能となる。
【発明を実施するための最良の形態】
【００２８】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００２９】
［第１の実施形態］
図１３は本実施形態に係る画像符号化装置として機能するコンピュータの基本構成を示す図である。
【００３０】
１３０１はＣＰＵで、ＲＡＭ１３０２やＲＯＭ１３０３に格納されているプログラムやデータを用いて、本装置全体の制御を行うと共に、後述する一連の画像符号化処理を実行する。
【００３１】
１３０２はＲＡＭで、外部記憶装置１３０７や記憶媒体ドライブ装置１３０８からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、ＣＰＵ１３０１が各種の処理を行うために用いるワークエリアも備える。
【００３２】
１３０３はＲＯＭで、ここにブートプログラムや本装置の各種設定データなどが格納されている。
【００３３】
１３０４，１３０５は夫々キーボード、マウスで、各種の指示をＣＰＵ１３０１に対して入力することができる。
【００３４】
１３０６は表示装置で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ１３０１による処理結果を画像や文字として表示する。
【００３５】
１３０７は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにＯＳ（オペレーティングシステム）や、ＣＰＵ１３０１に後述する一連の画像符号化処理を実行させるためのプログラムやデータ、画像符号化対象となる画像のデータなどが保存されており、これらは必要に応じてＣＰＵ１３０１による制御によって、ＲＡＭ１３０２にロードされるものである。
【００３６】
１３０８は記憶媒体ドライブ装置で、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなどの記憶媒体に記録されているプログラムやデータを読み出してＲＡＭ１３０２や外部記憶装置１３０７に出力する。なお、外部記憶装置１３０７に保存されているプログラムやデータの一部を上記記憶媒体に記録しておき、記憶媒体ドライブ装置１３０８によってＲＡＭ１３０２にロードするようにしても良い。
【００３７】
１３０９はＩ／Ｆで、ここに画像符号化対象となる画像を本装置に入力するための装置（例えば撮像することによりこのような画像を得るデジタルカメラ）を接続し、Ｉ／Ｆ１３０９を介してこのような装置から本装置に画像符号化対象となる画像を入力することができる。尚、このようにして入力された画像はＲＡＭ１３０２や外部記憶装置１３０７に出力される。
【００３８】
１３１０は上述の各部を繋ぐバスである。
【００３９】
図１は、本実施形態に係る画像符号化装置の機能構成を示す図である。以下の説明では、原画像のサイズを水平方向６４０画素、垂直方向４８０画素とし、このサイズを有するＶＧＡ画像としての原画像を縦横１／２のサイズに縮小し、ＱＶＧＡ画像（縮小画像）を得た後に、これをＪＰＥＧ符号化する画像符号化処理について説明するが、以下の説明の本質は、このような設定に限定されるものではない。
【００４０】
原画像ＡはＬＰＦ処理部１０１、直交変換部１０５の両方に並行して入力される。ＬＰＦ処理部１０１は、入力された原画像Ａに対して周知のローパスフィルタ処理（高周波数遮断処理）を行い、ローパスフィルタ処理が施された画像を後段のダウンサンプル処理部１０２に出力する。このローパスフィルタ処理には例えば図５に示すような３×３のマトリクス・フィルタを用いる。なおＬＰＦ処理部１０１が行うローパスフィルタ処理については周知のものであるので、ここでの説明は省略する。
【００４１】
一方、直交変換部１０５は、入力された原画像Ａを８画素×８画素の画素ブロック毎に分割し、分割した夫々の画素ブロック毎にＤＣＴ（離散コサイン変換）処理を施す。本実施形態では原画像Ａのサイズが６４０×４８０であることから、画素ブロックの数は４８００個となる。従って、直交変換部１０５は４８００回のＤＣＴ処理を行い、４８００個分の夫々の画素ブロックについて変換係数群を出力する。図７は、１つの画素ブロックに対して得られる変換係数群内の各変換係数のＪＰＥＧ符号化時における並び替えの順序を示す図である。
【００４２】
なお、直交変換部１０５から出力される４８００個分の変換係数群は後段のフィルタ計数決定部１０６、ＤＣＴ係数決定部１０８に並行して入力される。
【００４３】
ダウンサンプル処理部１０２は、ＬＰＦ処理部１０１から出力されたローパスフィルタ処理が施された画像を構成する各画素から、縦方向、横方向共に１つおきに（２画素周期に）サンプリングし、サンプリングした画素をサンプリングした順に並べることで、原画像Ａのサイズの縦横１／２のサイズの縮小画像Ｂを得る。得た縮小画像Ｂのデータは記憶部１０３に一時的に格納される。
【００４４】
記憶部１０３は少なくとも縮小画像Ｂを格納するだけの容量を有するものであり、縮小画像Ｂのデータが全て記憶部１０３に格納されるまでは、後段のエッジ強調処理部１０４には何も出力しない。
【００４５】
記憶部１０３に縮小画像Ｂのデータが順次格納されているのと並行して、フィルタ係数決定部１０６には、直交変換部１０５からの各画素ブロックの変換係数群が入力されるのであるが、フィルタ係数決定部１０６は、原画像Ａを構成する全ての画素ブロックに対する変換係数群（即ち、４８００個分の変換係数群）が得られた時点で処理を開始する。
【００４６】
４８００個分の変換係数群が得られると、フィルタ係数決定部１０６は先ず、個々の変換係数群を複数のグループに分割する。図８は、このグループ分割を説明するための図で、同図では、１つの変換係数群を、上述した変換係数の並び替え順に応じて４つのグループに分割している。例えば同図の場合、グループ１には、並び替え順番番号が０〜９の変換係数が、グループ２には、並び替え順番番号が１０〜３５の変換係数が、グループ３には、並び替え順番番号が３６〜５７の変換係数が、グループ４には、並び替え順番番号が５８〜６３の変換係数が含まれることになる。
【００４７】
このような変換係数群のグループ分割処理は、直交変換部１０５から得られる４８００個分の全ての変換係数群すべてについて行う。
【００４８】
そしてまず最初の変換係数群（例えば原画像Ａの左上隅に位置する画素ブロックの変換係数群）において、各グループ内の変換係数の値を参照して、値が０でない変換係数（有意係数）の個数を計数する。例えば図８に示したようにグループ分割を行った場合に、各グループ内で値が０でない変換係数（有意係数）の個数は以下のような処理によって計数される。
【００４９】
ＩＦ（（０≦ｋ≦９）  ＡＮＤ  （ＩＮ（ｋ）！＝０））
Ｇ１＝Ｇ１＋１
ＥＬＳＥ  ＩＦ  （（１０≦ｋ≦３５）  ＡＮＤ  （ＩＮ（ｋ）！＝０））
Ｇ２＝Ｇ２＋１
ＥＬＳＥ  ＩＦ  （（３６≦ｋ≦５７）  ＡＮＤ  （ＩＮ（ｋ）！＝０））
Ｇ３＝Ｇ３＋１
ＥＬＳＥ
Ｇ４＝Ｇ４＋１
ここでｋは並び替え順番番号を示し、ＩＮ（ｋ）は並び替え順番番号ｋにおける変換係数の値を示し、Ｇ１，Ｇ２，Ｇ３，Ｇ４は夫々、グループ１，２，３，４における有意係数の数を示す。このような処理を４８００個分の変換係数群全てについて行う。その結果、Ｇ１，Ｇ２，Ｇ３，Ｇ４は夫々４８００個分の変換係数群においてグループ１，２，３，４における有意係数の数を表す。例えばＧ１は、４８００個分の変換係数群においてグループ１に属する変換係数のうち、有意係数の数を表す。
【００５０】
次に、このようにして求めたＧ１，Ｇ２，Ｇ３，Ｇ４を用いて、フィルタ計数決定部１０６が、エッジ強調処理部１０４でエッジ強調処理に用いるフィルタ係数を決定する処理について説明する。
【００５１】
図９は、エッジ強調処理部１０４の機能構成を示すブロック図である。ラプラシアン９０３は、記憶部１０４から入力される縮小画像Ｂのエッジ成分を検出する。より具体的には、縮小画像Ｂにおいてエッジ部分だけを示す画像（エッジ画像）を生成する。エッジ画像の生成については周知の技術であるので、ここでの説明は省略する。
【００５２】
このエッジ画像におけるエッジ部分の画素の値には乗算器９０２でもって倍率ＣＲが掛け合わされ、エッジ部分の画素の値が変更されたエッジ画像は加算器９０１で記憶部１０３から入力された縮小画像Ｂと合成される。これにより、縮小画像Ｂにおいてエッジ部分がより強調された画像となる。
【００５３】
従来では上記倍率ＣＲ値は常に一定であった。本実施形態ではこの倍率ＣＲの値を原画像Ａが有する周波数特性に応じて適応的に変化させることが１つの特徴である。
【００５４】
そのために、本実施形態では先ず、フィルタ係数決定部１０６が、求めた上記のＧ１，Ｇ２，Ｇ３，Ｇ４を用いて以下の式に従ったＷを求める。
【００５５】
Ｗ＝Ｃ１×Ｇ１＋Ｃ２×Ｇ２＋Ｃ３×Ｇ３＋Ｃ４×Ｇ４
但し、Ｃ１〜Ｃ４は予め設定される定数（整数値のみを取る）であり、本実施形態ではＣ１＝−５００、Ｃ２＝−１００、Ｃ３＝１００、Ｃ４＝５００とする。尚これらの定数の設定値はこれに限定されるものではない。
【００５６】
そして次にフィルタ係数決定部１０６は図１０に示すテーブルを参照し、求めたＷに応じた倍率ＣＲを決定する。図１０は、上記式によって決まるＷと乗算器９０２で用いられる上記倍率ＣＲとの関係を示すテーブルの一例を示す図である。同図に示すように、Ｗの取りうる範囲に応じて、対応する倍率ＣＲも異なる。同図に示すようなテーブルは予め作成されている。
【００５７】
このようなテーブルを用いて決定した倍率ＣＲをエッジ画像におけるエッジ部分の画素の値に掛け合わせ、エッジ部分の画素の値が変更されたエッジ画像を記憶部１０３から入力された縮小画像Ｂと合成することで、高周波成分が多い画像（Ｗの値が大きい画像）には、ノイズ成分が多い画像と予測してエッジ強調処理を弱く行い（即ち倍率ＣＲを低くする）、低周波成分が多い画像（Ｗの値が小さい画像）にはノイズ成分が少なく、かつ視覚的にメリハリをつける事で画質を向上させる（即ち倍率ＣＲを高くする）ことができる。
【００５８】
なお、エッジ強調処理部１０４に対する記憶部１０３からの縮小画像Ｂの入力のタイミングは、フィルタ計数決定部１０６が倍率ＣＲを決定した後に速やかやに行われる。
【００５９】
そして、エッジ強調処理部１０４によりエッジ部分の画素の値が強調された画像、即ち縮小画像Ｃは、直交変換部１０７、ＤＣＴ係数決定部１０８、量子化部１０９、可変長符号化部１１０により構成されるＪＰＥＧ符号化部に入力される。ＪＰＥＧ符号化部は、入力された縮小画像Ｃに対してＪＰＥＧ符号化処理を行い、符号化データを出力する。
【００６０】
以下、このＪＰＥＧ符号化部による符号化処理について説明する。直交変換部１０７は縮小画像Ｃのデータが入力されると、直交変換部１０５と同様の動作を行い、入力された画像（ここでは縮小画像Ｃ）を構成する夫々の画素ブロック（８画素×８画素のサイズ）毎にＤＣＴを施し、画素ブロック毎の変換係数群を後段のＤＣＴ係数決定部１０８に出力する。
【００６１】
ここで、縮小画像Ｃは、原画像Ａに対して縦横のサイズが共に１／２となったのであるから、画素ブロックのサイズが原画像Ａにおけるものと同じであることから、縮小画像Ｃを構成する画素ブロックの数は、原画像Ａを構成する画素ブロックの数の１／４、即ち１２００個であることに注意されたい。
【００６２】
ＤＣＴ係数決定部１０８は、直交変換部１０７から入力される各変換係数群に対して、ＬＰＦ処理部１０１、ダウンサンプル部１０２によって損失した周波数成分を適応的に復元する処理を行う。本実施形態ではこの復元処理がもう１つの特徴である。
【００６３】
以下、本実施形態のもう１つの特徴であるＤＣＴ係数決定部１０８が行う処理についてより詳細に説明する。
【００６４】
先ず、ＤＣＴ係数決定部１０８は、直交変換部１０５から入力される個々の変換係数群を４つのグループに分割し、そのうち、後述の処理で用いる３つのグループを選出する。本実施形態では、図１１に示す如く、１つの変換係数群を均等に４分割し、夫々分割されたグループ内の変換係数の値の平均値が最も小さいグループ（同図では並び替え順番番号が０〜９，１１〜１３、１７，１８，２４の変換係数による構成されるグループ）以外の３つのグループ（同図では夫々のグループをグループ１，グループ２，グループ３としている）を上記「３つのグループ」として選出する。図１１は、ＤＣＴ係数決定部１０８が行うグループ分割処理を説明する図である。
【００６５】
そして夫々のグループ毎に、グループ内での有意係数の数を計数する。即ち、グループ１内での有意係数の数、グループ２内での有意係数の数、グループ３内での有意係数の数を夫々計数する。このような処理を直交変換部１０７から入力される夫々の変換係数毎に行い、夫々の変換係数毎にグループ１，２，３夫々に属する有意係数の数を係数する。
【００６６】
ここで、ｉ番目（０≦ｉ≦４７９９）の変換係数群におけるグループ１，２，３の夫々について計数した有意係数の数を夫々Ｑ１（ｉ）、Ｑ２（ｉ）、Ｑ３（ｉ）と、以下表現する。
【００６７】
次に、直交変換部１０７から入力される夫々の変換係数群に含まれる変換係数の値を制御することによる、変換係数の復元方法について説明する。
【００６８】
図１４は、縮小画像Ｃにおける各画素ブロック毎の変換係数群と、原画像Ａにおける各画素ブロック毎の変換係数群との関係を示す図である。
【００６９】
ここで、縮小画像Ｃを構成する画素ブロックの縦の数に一致する区分数（本実施形態では３０）、横の数に一致する区分数（本実施形態では４０）で、原画像Ａを構成する画素ブロック群を縦方向、横方向に均等に区分する事を考える。以下、区分された複数の画素ブロックを画素ブロック集合と呼称する（本実施形態では、縮小画像Ｃのサイズは原画像Ａの縦横１／２であるので、画素ブロック集合内には４つの画素ブロックが含まれることになる）。
【００７０】
この区分により、縮小画像Ｃにおける画素ブロックと位置的に対応する、原画像Ａにおける画素ブロック集合が一意に決まる。例えば縮小画像Ｃにおける画素ブロックＣには、原画像Ａにおいて「Ｃ」で示した画素ブロック群による集合が対応することになる。このように、縮小画像Ｃにおける画素ブロックと位置的に対応する、原画像Ａにおける画素ブロック集合とは対応がとれることになる。
【００７１】
本実施形態では、縮小画像Ｃにおける変換係数の値を制御するために、原画像Ａを構成する各画素ブロックのうち対応する画素ブロックの変換係数群における有意係数の数を用いるので、先ず、縮小画像Ｃにおける画素ブロックと位置的に対応する、原画像Ａにおける画素ブロック集合を特定する。
【００７２】
例えば縮小画像Ｃにおける画素ブロックＣの変換係数群に含まれる夫々の変換係数の値を制御するのであれば、原画像Ａにおいて「Ｃ」で示した夫々の画素ブロックの変換係数群に対する有意係数の数を用いることになる。
【００７３】
なお一般に、縮小画像Ｃのサイズが原画像Ａの縦横１／Ｎである場合には、縮小画像Ｃにおける１つの画素ブロックの変換係数の値を制御するのであれば、原画像ＡにおいてＮ×Ｎ個の変換係数群に対する有意係数の数を用いることになる。
【００７４】
次に、有意係数の値に基づいて、変換係数の値を制御する処理についてより詳細に説明する。
【００７５】
図１５は、縮小画像Ｃにおいて左上隅の画素ブロックの変換係数群に含まれる変換係数の値を制御する処理を説明するための図である。
【００７６】
縮小画像Ｃにおける１つの画素ブロック１４０５には上述の説明から、原画像Ａにおいて４つの画素ブロック１４０１乃至１４０４が対応することがわかる。この４つの画素ブロック１４０１乃至１４０４の夫々について、同図に示す如く３つのグループ（α、β、γ）内の有意係数の数はすでにカウントされているので、例えば画素ブロック１４０５の変換係数群から、原画像Ａにおける変換係数群と同様に３つのグループを選出した場合に、αのグループ内の変換係数の値を制御する場合には、先ず、４つの画素ブロック１４０１乃至１４０４の夫々のαのグループ内の有意係数の数を合計し、これを３で割る。即ち夫々の有意係数の数の平均値を求める。そして求めた平均値に対応する「倍率」を図１２に示す対応関係により求める。
【００７７】
図１２は、有意係数の数と、変換係数に掛け合わせる倍率（同図では「復元係数ＣＤ」）との関係を示すグラフを示す図である。従って、同図のグラフが示す対応関係により、上記４つの画素ブロック１４０１乃至１４０４の夫々のαのグループ内の有意係数の数の平均値から、得るべき「倍率」を得、画素ブロック１４０５の変換係数群内のαのグループ内の変換係数に割り当てることができる。
【００７８】
この割り当てられた「倍率」は、画素ブロック１４０５の変換係数群内のαのグループ内の変換係数の値に掛け合わされるものであるので、ＤＣＴ係数決定部１０８は、画素ブロック１４０５の変換係数群内のαのグループ内の変換係数の値に、割り当てられた「倍率」を掛け合わせ、変換係数の値を制御する。
【００７９】
このような処理は、画素ブロック１４０５の変換係数群内のβのグループ内、γのグループ内の変換係数の値を制御する場合であっても同様で、例えば、画素ブロック１４０５の変換係数群内のβのグループ内の変換係数の値に掛け合わせるための「倍率」を得る場合には、４つの画素ブロック１４０１乃至１４０４の夫々のβのグループ内の有意係数の数の平均値を求め、図１２に示す対応関係により、この平均値に対応する「倍率」を得、画素ブロック１４０５の変換係数群内のβのグループ内の変換係数に割り当てる。そして割り当てられた「倍率」を画素ブロック１４０５の変換係数群内のβのグループ内の変換係数の値に掛け合わせ、変換係数の値を制御する。
【００８０】
また、画素ブロック１４０５の変換係数群内のγのグループ内の変換係数の値に掛け合わせるための「倍率」を得る場合には、４つの画素ブロック１４０１乃至１４０４の夫々のγのグループ内の有意係数の数の平均値を求め、図１２に示す対応関係により、この平均値に対応する「倍率」を得、画素ブロック１４０５の変換係数群内のγのグループ内の変換係数に割り当てる。そして割り当てられた「倍率」を画素ブロック１４０５の変換係数群内のγのグループ内の変換係数の値に掛け合わせ、変換係数の値を制御する。
【００８１】
以上の処理により、画素ブロック１４０５内の各グループ内の変換係数の値を制御することができる。またこのような処理を、縮小画像Ｃを構成する各画素ブロックの変換係数群について行う。その場合、縮小画像Ｃ中の画素ブロックの変換係数群内の変換係数の値を制御する際に、この変換係数群と、用いるべき原画像Ａ中の複数の画素ブロックとの関係は、図１４に示す如く、一対多の関係である。
【００８２】
次に、量子化部１０９は、ＤＣＴ係数決定部１０８から出力される変換係数群毎に、量子化処理を行い、量子化下結果を後段の可変長符号化部１１０に出力する。
【００８３】
可変長符号化部１１０は、入力した、量子化された変換係数群に対して周知の可変長符号化処理を行い、符号化結果を出力するものである。
【００８４】
図１６は、以上説明した各部によって行われる、本実施形態に係る画像符号化処理のフローチャートである。尚、同図のフローチャートに従ったプログラムはＲＡＭ１３０２にロードされており、ＣＰＵ１３０１がこれを実行することにより、本実施形態に係る画像符号化装置は、以上説明した本実施形態に係る画像符号化処理を行うことになる。
【００８５】
尚、その場合、ＬＰＦ処理部１０１、ダウンサンプル処理部１０２、エッジ強調処理部１０３、直交変換部１０５、フィルタ係数決定部１０６、直交変換部１０７、ＤＣＴ係数決定部１０８、量子化部１０９、可変長符号化部１１０の各部はプログラムとしてＲＡＭ１３０２にロードされているものと解釈され、ＣＰＵ１３０１がこれら各部の機能を実現するプログラムを実行すれば、当然、本実施形態に係る画像符号化装置は、上記各部の機能を実現することになり、結果として本実施形態に係る画像符号化処理を実現することになる。
【００８６】
また、以下説明する処理の前段で、ＲＡＭ１３０２には、符号化対象の画像（原画像Ａ）のデータがロードされているものとする。また、同図における各ステップにおける処理の説明は上述の通りであるので、ここでは簡単に説明する。
【００８７】
先ず、予めＲＡＭ１３０２にロードされている、例えば図５に示すような３×３のマトリクス・フィルタのデータを用いて、原画像Ａのデータに対して、ローパスフィルタ処理処理を行う（ステップＳ１６０１）。
【００８８】
次に、ローパスフィルタ処理が施された原画像Ａを構成する各画素から縦方向、横方向共に１画素おきに画素をサンプリングし、サンプリングした画素をサンプリングした順番でＲＡＭ１３０２中の所定のエリアに格納する（ステップＳ１６０２）。これにより、この所定のエリアには、原画像Ａの縦横共にサイズが１／２の縮小画像Ｂが得られる。
【００８９】
ステップＳ１６０１，Ｓ１６０２による処理と並行して、原画像Ａを８画素×８画素の画素ブロック毎に分割し、分割した夫々の画素ブロック毎にＤＣＴ（離散コサイン変換）処理を施し、画素ブロック毎の変換係数群を得る（ステップＳ１６０３）。得た各画素ブロック毎の変換係数群のデータは一時的にＲＡＭ１３０２中の所定のエリアに格納される。
【００９０】
ステップＳ１６０３において、全ての画素ブロックについて変換係数群のデータが得られると、処理をステップＳ１６０４に進め、縮小画像Ｂに対する上記倍率ＣＲを求める（ステップＳ１６０４）。より具体的には上述の通りであるので、ここでは簡単に説明すると、先ず、個々の変換係数群を例えば図８に示す如く複数のグループに分割し、個々の変換係数群において、各グループ内で有意係数の数を計数し、全ての変換係数群において夫々のグループにおける有意係数の数Ｇ１〜Ｇ４を得る。そして得たＧ１〜Ｇ４を用いて上記式によりＷを求め、更に図１０に示すテーブルを参照して、求めたＷに対応する倍率ＣＲを特定する。尚、図１０に示すテーブルのデータは予めＲＡＭ１３０２にロードされているものとする。
【００９１】
そして処理をステップＳ１６０５に進め、縮小画像Ｂのエッジ画像を生成し、生成したエッジ画像におけるエッジ部分の画素の値にステップＳ１６０４で求めた倍率ＣＲの値を掛け合わせ、エッジ部分の画素の値が変更されたエッジ画像を縮小画像Ｂと合成することで、縮小画像Ｃを生成する（ステップＳ１６０５）。生成した縮小画像ＣのデータはＲＡＭ１３０２中の所定のエリアに一時的に格納される。
【００９２】
次に、この縮小画像Ｃを８画素×８画素の画素ブロック毎に分割し、分割した夫々の画素ブロック毎にＤＣＴ処理を施し、画素ブロック毎の変換係数群を得る（ステップＳ１６０６）。得た各画素ブロック毎の変換係数群のデータは一時的にＲＡＭ１３０２中の所定のエリアに格納される。
【００９３】
次に、ステップＳ１６０６で得た夫々の変換係数群に含まれる変換係数に対する倍率を求める処理を行う（ステップＳ１６０７）。より具体的には上述の通りであるので、ここでは簡単に説明すると、先ず、ステップＳ１６０６で生成された個々の変換係数群を４つのグループに分割し、グループ内の変換係数の値の平均値が最も小さいグループ以外の３つのグループの夫々のグループ毎に、グループ内での有意係数の数を計数する。
【００９４】
そして、縮小画像Ｃの各変換係数群に位置的に対応する原画像Ａにおける画素ブロック集合を特定し、特定した画素ブロック集合に含まれる夫々の画素ブロックの変換係数群について、グループ毎の有意係数の数の平均値を求め、求めた平均値に対応する倍率を図１２に示すテーブルを参照して特定する。尚、図１２に示すテーブルのデータは予めＲＡＭ１３０２にロードされているものとする。
【００９５】
そして、特定した夫々のグループ毎の倍率を、画素ブロック集合に対応する縮小画像Ｃにおける変換係数群における夫々のグループ毎に割り当て、この夫々のグループ内の変換係数の値に、割り当てられた倍率を掛け合わせる処理を行う（ステップＳ１６０８）。
【００９６】
尚ステップＳ１６０８による処理は、縮小画像Ｃを構成する各画素ブロック毎の変換係数群について行う。
【００９７】
ステップＳ１６０８による処理が完了すると、完了後の縮小画像Ｃの各変換係数を量子化し（ステップＳ１６０９）、可変長符号化処理を行い（ステップＳ１６１０）、符号化データを生成してＲＡＭ１３０２中の所定のエリア、もしくは外部記憶装置１３０７に出力する。
【００９８】
以上の説明により、本実施形態に係る画像符号化装置は、原画像の周波数特性分布を考慮したエッジ強調処理を行った縮小画像を生成するので、高周波成分が多い画像には、ノイズ成分が多い画像と予測してエッジ強調処理を弱く行い、低周波成分が多い画像にはノイズ成分が少なく、かつ視覚的にメリハリをつける事で画質を向上させることができる。
【００９９】
また、画像縮小処理の際に通常用いられる高域遮断処理、及びダウンサンプル処理によって失われた周波数成分を適応的に補うことができ、より高画質な縮小画像を得ることができる。
【０１００】
［第２の実施形態］
第１の実施形態では、図１に示した各部はプログラムにより実現していたが、これに限定されるものではなく、各部をハードウェアで実現することも可能であり、その場合、例えば図１に示すような構成を有するハードウェアをデジタルカメラなどの撮像装置に搭載する事で、この撮像装置は、以上説明した画像符号化処理を行うことになり、結果として本実施形態と同様の効果が得られる。
【０１０１】
また、以上の説明におけるグループ分割数や、分割方法などについてはこれに限定されるものではない。
【０１０２】
［その他の実施形態］
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１０３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０４】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１０５】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１０６】
【図１】本発明の第１の実施形態に係る画像符号化装置の機能構成を示す図である。
【図２】従来の画像処理システムの機能構成を示すブロック図である。
【図３】原画像に対して縦横のサイズを１／２にする場合に、バイリニア法を用いた場合の縮小方法を説明する為の図である。
【図４】ニアレストネイバ−法による縮小方法を説明するための図である。
【図５】ＬＰＦ処理部２０１でローパスフィルタ処理を行う際に用いる３×３のマトリクス・フィルタの一例を示す図である。
【図６】ダウンサンプリング処理部２０２が行うダウンサンプリング処理の一例を説明する図である。
【図７】１つの画素ブロックに対して得られる変換係数群内の各変換係数のＪＰＥＧ符号化時における並び替えの順序を示す図である。
【図８】グループ分割を説明するための図である。
【図９】エッジ強調処理部１０４の機能構成を示すブロック図である。
【図１０】Ｗと乗算器９０２で用いられる上記倍率ＣＲとの関係を示すテーブルの一例を示す図である。
【図１１】ＤＣＴ係数決定部１０８が行うグループ分割処理を説明する図である。
【図１２】有意係数の数と、変換係数に掛け合わせる倍率との関係を示すグラフを示す図である。
【図１３】本発明の第１の実施形態に係る画像符号化装置として機能するコンピュータの基本構成を示す図である。
【図１４】縮小画像Ｃにおける各画素ブロック毎の変換係数群と、原画像Ａにおける各画素ブロック毎の変換係数群との関係を示す図である。
【図１５】縮小画像Ｃにおいて左上隅の画素ブロックの変換係数群に含まれる変換係数の値を制御する処理を説明するための図である。
【図１６】本発明の第１の実施形態に係る画像符号化処理のフローチャートである。
【図１】
2005136891.tif 000003
【図２】
2005136891.tif 000004
【図３】
2005136891.tif 000005
【図４】
2005136891.tif 000006
【図５】
2005136891.tif 000007
【図６】
2005136891.tif 000008
【図７】
2005136891.tif 000009
【図８】
2005136891.tif 000010
【図９】
2005136891.tif 000011
【図１０】
2005136891.tif 000012
【図１１】
2005136891.tif 000013
【図１２】
2005136891.tif 000014
【図１３】
2005136891.tif 000015
【図１４】
2005136891.tif 000016
【図１５】
2005136891.tif 000017
【図１６】
2005136891.tif 000018