JP2005136891A - 画像符号化方法、装置、プログラム、及びこれを記憶した記憶媒体 - Google Patents

画像符号化方法、装置、プログラム、及びこれを記憶した記憶媒体 Download PDF

Info

Publication number
JP2005136891A
JP2005136891A JP2003373182A JP2003373182A JP2005136891A JP 2005136891 A JP2005136891 A JP 2005136891A JP 2003373182 A JP2003373182 A JP 2003373182A JP 2003373182 A JP2003373182 A JP 2003373182A JP 2005136891 A JP2005136891 A JP 2005136891A
Authority
JP
Japan
Prior art keywords
image
group
pixel block
transform
transform coefficient
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2003373182A
Other languages
English (en)
Inventor
Katsumi Otsuka
克己 大塚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2003373182A priority Critical patent/JP2005136891A/ja
Publication of JP2005136891A publication Critical patent/JP2005136891A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

【課題】 原画像の周波数特性を考慮して原画像を縮小し、符号化する技術を提供すること。
【解決手段】 エッジ強調処理部104は、原画像Aにおける画素ブロック毎の第1の変換係数群における有意係数の数に応じて縮小画像Bのエッジを強調し、DCT係数決定部108は、第2の変換係数群に対応する、原画像Aにおける画素ブロック集合に含まれる夫々の画素ブロックに対する有意係数の数に基づいて、第2の変換係数群に含まれる変換係数に対して割り当てる倍率を求め、第2の変換係数群内の変換係数の値を割り当てられた倍率を用いて制御する。
【選択図】 図1

Description

本発明は、画像の符号化技術に関するものである。
近年のマルチメディア処理の進化に伴い、画像処理システムが処理の対象としている画像サイズの大規模化が急激に進んでいる。例えば、デジタルカメラ等の民製品の撮像素子として代表的なCCDセンサは数年前には数十万画素が主流であったが、現在は数百万画素のものが多く登場している。
一方で、デジタルカメラ等の民生品においては画像(静止画、もしくは動画)を保存する際や、帯域幅が限られた電気通信回線や無線回線などの通信回線を通じて画像を伝送する際には、その画像のデータサイズが大きな問題となる。
また、動画のテレビモニタ上における再生の場合には未だNTSCに対応する720×486の画像サイズが主流であり、またコンピュータ上で画像を表示する(動画像を再生する)為のプレイヤーによる再生などの場合にも、VGAサイズ(640×480)が、ほとんどである。そのため、現在ではCCDセンサから取り込まれた画像を予め定められた画像サイズに縮小する事が行われ、かつ縮小後の画像に対して静止画であればJPEG符号化が行われる。
画像サイズを縮小する方法としては、「バイリニア法」、「ニアレストネイバ−法」、「バイキュービック法」などが知られている。以下、これら3つの画像縮小方法について簡単に説明する。
図3は、原画像に対して縦横のサイズを1/2にする場合に、バイリニア法を用いた場合の縮小方法を説明する為の図である。同図において縮小後の画像における1つの画素の位置を(x1,y1)、この1つの画素の周辺に位置する原画像中の任意の4つの画素の位置を(x、y)、(x+1、y)、(x、y+1)、(x+1、y+1)とした場合に、バイリニア法では、これら4つの画素を用いて、縮小後の画像の1つの画素を生成する。位置(x、y)における画素の値をP(x、y)で表現したとすると、縮小後の画像の1つの画素の画素値P(x1,y1)は以下の式に従って求められる。
P(x1,y1)=(P(x、y)+P(x+1,y)+P(x、y+1)+P(x+1,y+1))/4 (式1)
すなわち、バイリニア法では、縮小後の画像における1つの画素の周辺に位置する4つの画素の値を平均化したものを、この1つの画素の値とする。この方法では、原画像に対して平均化処理を行っている事から、一種のローパスフィルタを施した効果が縮小画像には得られるという事が特徴である。
図4は、ニアレストネイバ−法による縮小方法を説明するための図である。この縮小方法は特に、縮小画像の各画素の位置が、原画像の周辺画素からの距離が均等でない場合に有効である。同図において縮小後の画像における1つの画素の位置を(x1,y1)、この1つの画素の周辺に位置する原画像中の任意の4つの画素の位置を(x、y)、(x+1、y)、(x、y+1)、(x+1、y+1)とした場合に、ニアレストネイバー法では、これら4つの画素のうち、縮小後の画像における1つの画素の位置に最も近いものを選択し、選択した画素の値を縮小後の画像における1つの画素の値とする。
即ちこの縮小方法では、縮小処理の際に演算処理を必要としない点、処理が高速となるという利点があるが、原画像が高周波成分を含む場合には折り返し歪みが縮小画像に顕著に表れてしまうという問題がある。また、周辺画素の値のみに着目して出力画素(縮小後の画像の1つの画素)の値を得るという点では、式1において示すバイリニア法と同じである。
また、バイリニア法によるローパスフィルタによる損失した周波数成分を視覚的に補完する方法として、バイキュービック法が知られている。バイキュービック法においては、縮小後の画像における1画素に対応する原画像における16画素に対して、sinc関数との畳み込み演算を行った結果をこの1画素の値とする。この縮小方法においては、バイリニアの式1による一次関数の演算と異なり、3次関数によって演算が行われる。よって縮小された画像がエッジを強調した画像となる点が利点である一方で、縮小画像においてシャープさが失われてしまうという問題がある。
これらの画像縮小方法においては、原画像において注目画素周辺の画素値のみを用いている点が共通であるため、人間の視覚的特性を必ずしも適切に考慮したものとはなっていない。そのため例えば、空間周波数分布が高周波領域に多くの分布を持つ様な原画像を上記画像縮小方法を用いて縮小しても、縮小画像に原画像の周波数特性を正しく表現する事が出来ず、画像の劣化が非常に目立ってしまうという問題がある。
上記の様な問題に対して、従来では、復号化手段において逆量子化した結果得られた直交係数に対してLPF(ローパスフィルタ)処理を施す事で、折り返し歪みを改善する技術が開示されている(例えば、特許文献1を参照)。
しかし、この方法においても依然として次の様な問題が残されている。即ち、従来においては、符号化ストリームを生成する過程における処理について言及されていない。すなわち、符号化ストリームには依然として、潜在的に折り返し歪みとなる高周波成分が含まれている事から、該提案を実装したビューワでのみ有効な手段であり汎用性に乏しい。更には、縮小処理を行う前の原画像における視覚特定を何ら考慮しておらず、単にLPFを施しているのみであるので、画質の劣化が生じてしまう。
次にデジタルカメラ等の民生品の画像処理システムにおいて用いられる縮小方法について説明する。図2は、このような画像処理システムの機能構成を示すブロック図である。尚同図に示した各部はハードウェアにより構成されている。
同図に示すような画像処理システムを構成する各部をハードウエアで実現する際には、ゲート規模の制約上、複雑な演算を行う事が困難であるという特徴があるため、処理が比較的単純である。
先ず、本システムに入力される原画像Aに対して折り返し歪みを除去するためにLPF(ローパスフィルタ)処理部201は、高周波遮断処理を行う。図5は、LPF処理部201でローパスフィルタ処理を行う際に用いる3×3のマトリクス・フィルタの一例を示す図である。
次にダウンサンプル処理部202は、原画像Aの縮小率に応じた周期で原画像Aを構成する画素をサンプリングし、サンプリングした順に画素を並べることで、原画像Aの縮小画像である縮小画像Bを得る。図6は、ダウンサンプリング処理部202が行うダウンサンプリング処理の一例を説明する図である。同図では縦横共に2画素周期でサンプリングを行うので、縮小画像Bは原画像Aの縦横1/2のサイズの画像となる。
エッジ強調処理部204は、ラプラシアン等の公知技術を用いて縮小画像Bのエッジ成分を検出し、このエッジ成分を縮小画像B上に合成することにより、縮小画像Bにおけるエッジ成分が強調された画像である縮小画像Cを得る。このようにして得られた縮小画像Cは符号化部205に入力され、符号化処理を施された後に、不図示の記憶部に記憶される。
特登録3132171号
図2に示した機能構成を有する画像処理システムの問題点としては以下の2つが挙げられる。
<課題1>
原画像Aの周波数特性に関わらず一様にローパスフィルタ処理を行うので、画質の劣化が激しい。
<課題2>
原画像Aの周波数特性に関わらず一様にエッジ強調処理を行うので、原画像Aにノイズを多く含む場合には、ノイズが強調されてしまう。
本発明は以上の問題に鑑みてなされたものであり、原画像の周波数特性を考慮して原画像を縮小し、符号化する技術を提供することを目的とする。
本発明の目的を達成するために、例えば本発明の画像符号化方法は以下の構成を備える。
即ち、入力画像に対してローパスフィルタ処理を行うローパスフィルタ処理工程と、当該ローパスフィルタ処理工程でローパスフィルタ処理を施された画像から所定の周期でサンプリングした画素を並べることで当該画像の縮小画像を生成する縮小画像生成工程とを備え、前記縮小画像を符号化する画像符号化方法であって、
前記入力画像を構成する夫々の画素ブロック毎に直交変換を施し、画素ブロック毎の第1の変換係数群を生成する第1の直交変換工程と、
全ての前記第1の変換係数群において、値が0でない変換係数の数を計数する第1の計数工程と、
前記第1の計数工程による計数値に応じて、前記縮小画像のエッジ部分を構成する画素の値を制御する第1の計算工程と、
前記第1の計算工程による処理後の画像を構成する画素ブロック毎に直交変換を施し、画素ブロック毎の第2の変換係数群を生成する第2の直交変換工程と、
個々の前記第1の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が0でない変換係数の数を計数する第2の計数工程と、
前記第1の計算工程による処理後の画像を構成する画素ブロックの縦の数に一致する区分数、横の数に一致する区分数で、前記入力画像を構成する画素ブロック群を縦方向、横方向に均等に区分し、区分された画素ブロック集合に含まれる夫々の画素ブロックの前記第1の変換係数群について前記第2の計数工程で計数した計数値に基づいて、前記画素ブロック集合と位置的に対応する前記第2の変換係数群に含まれる変換係数に対して割り当てる倍率を求める倍率計算工程と、
夫々の前記第2の変換係数群内の変換係数の値を、前記倍率計算工程で割り当てられた倍率を用いて制御する第2の計算工程とを備え、
前記第2の計算工程による処理後の夫々の変換係数を符号化することを特徴とする。
本発明の目的を達成するために、例えば本発明の画像符号化装置は以下の構成を備える。
即ち、入力画像に対してローパスフィルタ処理を行うローパスフィルタ処理手段と、当該ローパスフィルタ処理手段がローパスフィルタ処理を施した画像から所定の周期でサンプリングした画素を並べることで当該画像の縮小画像を生成する縮小画像生成手段とを備え、前記縮小画像を符号化する画像符号化装置であって、
前記入力画像を構成する夫々の画素ブロック毎に直交変換を施し、画素ブロック毎の第1の変換係数群を生成する第1の直交変換手段と、
全ての前記第1の変換係数群において、値が0でない変換係数の数を計数する第1の計数手段と、
前記第1の計数手段による計数値に応じて、前記縮小画像のエッジ部分を構成する画素の値を制御する第1の計算手段と、
前記第1の計算手段による処理後の画像を構成する画素ブロック毎に直交変換を施し、画素ブロック毎の第2の変換係数群を生成する第2の直交変換手段と、
個々の前記第1の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が0でない変換係数の数を計数する第2の計数手段と、
前記第1の計算手段による処理後の画像を構成する画素ブロックの縦の数に一致する区分数、横の数に一致する区分数で、前記入力画像を構成する画素ブロック群を縦方向、横方向に均等に区分し、区分された画素ブロック集合に含まれる夫々の画素ブロックの前記第1の変換係数群について前記第2の計数手段が計数した計数値に基づいて、前記画素ブロック集合と位置的に対応する前記第2の変換係数群に含まれる変換係数に対して割り当てる倍率を求める倍率計算手段と、
夫々の前記第2の変換係数群内の変換係数の値を、前記倍率計算手段が割り当てた倍率を用いて制御する第2の計算手段とを備え、
前記第2の計算手段による処理後の夫々の変換係数を符号化することを特徴とする。
本発明の構成により、原画像の周波数特性を考慮して原画像を縮小し、符号化するため、高画質な縮小画像を得る事が可能となる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図13は本実施形態に係る画像符号化装置として機能するコンピュータの基本構成を示す図である。
1301はCPUで、RAM1302やROM1303に格納されているプログラムやデータを用いて、本装置全体の制御を行うと共に、後述する一連の画像符号化処理を実行する。
1302はRAMで、外部記憶装置1307や記憶媒体ドライブ装置1308からロードされたプログラムやデータを一時的に記憶するためのエリアを備えると共に、CPU1301が各種の処理を行うために用いるワークエリアも備える。
1303はROMで、ここにブートプログラムや本装置の各種設定データなどが格納されている。
1304,1305は夫々キーボード、マウスで、各種の指示をCPU1301に対して入力することができる。
1306は表示装置で、CRTや液晶画面などにより構成されており、CPU1301による処理結果を画像や文字として表示する。
1307は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置として機能するものであり、ここにOS(オペレーティングシステム)や、CPU1301に後述する一連の画像符号化処理を実行させるためのプログラムやデータ、画像符号化対象となる画像のデータなどが保存されており、これらは必要に応じてCPU1301による制御によって、RAM1302にロードされるものである。
1308は記憶媒体ドライブ装置で、CD−ROMやDVD−ROMなどの記憶媒体に記録されているプログラムやデータを読み出してRAM1302や外部記憶装置1307に出力する。なお、外部記憶装置1307に保存されているプログラムやデータの一部を上記記憶媒体に記録しておき、記憶媒体ドライブ装置1308によってRAM1302にロードするようにしても良い。
1309はI/Fで、ここに画像符号化対象となる画像を本装置に入力するための装置(例えば撮像することによりこのような画像を得るデジタルカメラ)を接続し、I/F1309を介してこのような装置から本装置に画像符号化対象となる画像を入力することができる。尚、このようにして入力された画像はRAM1302や外部記憶装置1307に出力される。
1310は上述の各部を繋ぐバスである。
図1は、本実施形態に係る画像符号化装置の機能構成を示す図である。以下の説明では、原画像のサイズを水平方向640画素、垂直方向480画素とし、このサイズを有するVGA画像としての原画像を縦横1/2のサイズに縮小し、QVGA画像(縮小画像)を得た後に、これをJPEG符号化する画像符号化処理について説明するが、以下の説明の本質は、このような設定に限定されるものではない。
原画像AはLPF処理部101、直交変換部105の両方に並行して入力される。LPF処理部101は、入力された原画像Aに対して周知のローパスフィルタ処理(高周波数遮断処理)を行い、ローパスフィルタ処理が施された画像を後段のダウンサンプル処理部102に出力する。このローパスフィルタ処理には例えば図5に示すような3×3のマトリクス・フィルタを用いる。なおLPF処理部101が行うローパスフィルタ処理については周知のものであるので、ここでの説明は省略する。
一方、直交変換部105は、入力された原画像Aを8画素×8画素の画素ブロック毎に分割し、分割した夫々の画素ブロック毎にDCT(離散コサイン変換)処理を施す。本実施形態では原画像Aのサイズが640×480であることから、画素ブロックの数は4800個となる。従って、直交変換部105は4800回のDCT処理を行い、4800個分の夫々の画素ブロックについて変換係数群を出力する。図7は、1つの画素ブロックに対して得られる変換係数群内の各変換係数のJPEG符号化時における並び替えの順序を示す図である。
なお、直交変換部105から出力される4800個分の変換係数群は後段のフィルタ計数決定部106、DCT係数決定部108に並行して入力される。
ダウンサンプル処理部102は、LPF処理部101から出力されたローパスフィルタ処理が施された画像を構成する各画素から、縦方向、横方向共に1つおきに(2画素周期に)サンプリングし、サンプリングした画素をサンプリングした順に並べることで、原画像Aのサイズの縦横1/2のサイズの縮小画像Bを得る。得た縮小画像Bのデータは記憶部103に一時的に格納される。
記憶部103は少なくとも縮小画像Bを格納するだけの容量を有するものであり、縮小画像Bのデータが全て記憶部103に格納されるまでは、後段のエッジ強調処理部104には何も出力しない。
記憶部103に縮小画像Bのデータが順次格納されているのと並行して、フィルタ係数決定部106には、直交変換部105からの各画素ブロックの変換係数群が入力されるのであるが、フィルタ係数決定部106は、原画像Aを構成する全ての画素ブロックに対する変換係数群(即ち、4800個分の変換係数群)が得られた時点で処理を開始する。
4800個分の変換係数群が得られると、フィルタ係数決定部106は先ず、個々の変換係数群を複数のグループに分割する。図8は、このグループ分割を説明するための図で、同図では、1つの変換係数群を、上述した変換係数の並び替え順に応じて4つのグループに分割している。例えば同図の場合、グループ1には、並び替え順番番号が0〜9の変換係数が、グループ2には、並び替え順番番号が10〜35の変換係数が、グループ3には、並び替え順番番号が36〜57の変換係数が、グループ4には、並び替え順番番号が58〜63の変換係数が含まれることになる。
このような変換係数群のグループ分割処理は、直交変換部105から得られる4800個分の全ての変換係数群すべてについて行う。
そしてまず最初の変換係数群(例えば原画像Aの左上隅に位置する画素ブロックの変換係数群)において、各グループ内の変換係数の値を参照して、値が0でない変換係数(有意係数)の個数を計数する。例えば図8に示したようにグループ分割を行った場合に、各グループ内で値が0でない変換係数(有意係数)の個数は以下のような処理によって計数される。
IF((0≦k≦9) AND (IN(k)!=0))
G1=G1+1
ELSE IF ((10≦k≦35) AND (IN(k)!=0))
G2=G2+1
ELSE IF ((36≦k≦57) AND (IN(k)!=0))
G3=G3+1
ELSE
G4=G4+1
ここでkは並び替え順番番号を示し、IN(k)は並び替え順番番号kにおける変換係数の値を示し、G1,G2,G3,G4は夫々、グループ1,2,3,4における有意係数の数を示す。このような処理を4800個分の変換係数群全てについて行う。その結果、G1,G2,G3,G4は夫々4800個分の変換係数群においてグループ1,2,3,4における有意係数の数を表す。例えばG1は、4800個分の変換係数群においてグループ1に属する変換係数のうち、有意係数の数を表す。
次に、このようにして求めたG1,G2,G3,G4を用いて、フィルタ計数決定部106が、エッジ強調処理部104でエッジ強調処理に用いるフィルタ係数を決定する処理について説明する。
図9は、エッジ強調処理部104の機能構成を示すブロック図である。ラプラシアン903は、記憶部104から入力される縮小画像Bのエッジ成分を検出する。より具体的には、縮小画像Bにおいてエッジ部分だけを示す画像(エッジ画像)を生成する。エッジ画像の生成については周知の技術であるので、ここでの説明は省略する。
このエッジ画像におけるエッジ部分の画素の値には乗算器902でもって倍率CRが掛け合わされ、エッジ部分の画素の値が変更されたエッジ画像は加算器901で記憶部103から入力された縮小画像Bと合成される。これにより、縮小画像Bにおいてエッジ部分がより強調された画像となる。
従来では上記倍率CR値は常に一定であった。本実施形態ではこの倍率CRの値を原画像Aが有する周波数特性に応じて適応的に変化させることが1つの特徴である。
そのために、本実施形態では先ず、フィルタ係数決定部106が、求めた上記のG1,G2,G3,G4を用いて以下の式に従ったWを求める。
W=C1×G1+C2×G2+C3×G3+C4×G4
但し、C1〜C4は予め設定される定数(整数値のみを取る)であり、本実施形態ではC1=−500、C2=−100、C3=100、C4=500とする。尚これらの定数の設定値はこれに限定されるものではない。
そして次にフィルタ係数決定部106は図10に示すテーブルを参照し、求めたWに応じた倍率CRを決定する。図10は、上記式によって決まるWと乗算器902で用いられる上記倍率CRとの関係を示すテーブルの一例を示す図である。同図に示すように、Wの取りうる範囲に応じて、対応する倍率CRも異なる。同図に示すようなテーブルは予め作成されている。
このようなテーブルを用いて決定した倍率CRをエッジ画像におけるエッジ部分の画素の値に掛け合わせ、エッジ部分の画素の値が変更されたエッジ画像を記憶部103から入力された縮小画像Bと合成することで、高周波成分が多い画像(Wの値が大きい画像)には、ノイズ成分が多い画像と予測してエッジ強調処理を弱く行い(即ち倍率CRを低くする)、低周波成分が多い画像(Wの値が小さい画像)にはノイズ成分が少なく、かつ視覚的にメリハリをつける事で画質を向上させる(即ち倍率CRを高くする)ことができる。
なお、エッジ強調処理部104に対する記憶部103からの縮小画像Bの入力のタイミングは、フィルタ計数決定部106が倍率CRを決定した後に速やかやに行われる。
そして、エッジ強調処理部104によりエッジ部分の画素の値が強調された画像、即ち縮小画像Cは、直交変換部107、DCT係数決定部108、量子化部109、可変長符号化部110により構成されるJPEG符号化部に入力される。JPEG符号化部は、入力された縮小画像Cに対してJPEG符号化処理を行い、符号化データを出力する。
以下、このJPEG符号化部による符号化処理について説明する。直交変換部107は縮小画像Cのデータが入力されると、直交変換部105と同様の動作を行い、入力された画像(ここでは縮小画像C)を構成する夫々の画素ブロック(8画素×8画素のサイズ)毎にDCTを施し、画素ブロック毎の変換係数群を後段のDCT係数決定部108に出力する。
ここで、縮小画像Cは、原画像Aに対して縦横のサイズが共に1/2となったのであるから、画素ブロックのサイズが原画像Aにおけるものと同じであることから、縮小画像Cを構成する画素ブロックの数は、原画像Aを構成する画素ブロックの数の1/4、即ち1200個であることに注意されたい。
DCT係数決定部108は、直交変換部107から入力される各変換係数群に対して、LPF処理部101、ダウンサンプル部102によって損失した周波数成分を適応的に復元する処理を行う。本実施形態ではこの復元処理がもう1つの特徴である。
以下、本実施形態のもう1つの特徴であるDCT係数決定部108が行う処理についてより詳細に説明する。
先ず、DCT係数決定部108は、直交変換部105から入力される個々の変換係数群を4つのグループに分割し、そのうち、後述の処理で用いる3つのグループを選出する。本実施形態では、図11に示す如く、1つの変換係数群を均等に4分割し、夫々分割されたグループ内の変換係数の値の平均値が最も小さいグループ(同図では並び替え順番番号が0〜9,11〜13、17,18,24の変換係数による構成されるグループ)以外の3つのグループ(同図では夫々のグループをグループ1,グループ2,グループ3としている)を上記「3つのグループ」として選出する。図11は、DCT係数決定部108が行うグループ分割処理を説明する図である。
そして夫々のグループ毎に、グループ内での有意係数の数を計数する。即ち、グループ1内での有意係数の数、グループ2内での有意係数の数、グループ3内での有意係数の数を夫々計数する。このような処理を直交変換部107から入力される夫々の変換係数毎に行い、夫々の変換係数毎にグループ1,2,3夫々に属する有意係数の数を係数する。
ここで、i番目(0≦i≦4799)の変換係数群におけるグループ1,2,3の夫々について計数した有意係数の数を夫々Q1(i)、Q2(i)、Q3(i)と、以下表現する。
次に、直交変換部107から入力される夫々の変換係数群に含まれる変換係数の値を制御することによる、変換係数の復元方法について説明する。
図14は、縮小画像Cにおける各画素ブロック毎の変換係数群と、原画像Aにおける各画素ブロック毎の変換係数群との関係を示す図である。
ここで、縮小画像Cを構成する画素ブロックの縦の数に一致する区分数(本実施形態では30)、横の数に一致する区分数(本実施形態では40)で、原画像Aを構成する画素ブロック群を縦方向、横方向に均等に区分する事を考える。以下、区分された複数の画素ブロックを画素ブロック集合と呼称する(本実施形態では、縮小画像Cのサイズは原画像Aの縦横1/2であるので、画素ブロック集合内には4つの画素ブロックが含まれることになる)。
この区分により、縮小画像Cにおける画素ブロックと位置的に対応する、原画像Aにおける画素ブロック集合が一意に決まる。例えば縮小画像Cにおける画素ブロックCには、原画像Aにおいて「C」で示した画素ブロック群による集合が対応することになる。このように、縮小画像Cにおける画素ブロックと位置的に対応する、原画像Aにおける画素ブロック集合とは対応がとれることになる。
本実施形態では、縮小画像Cにおける変換係数の値を制御するために、原画像Aを構成する各画素ブロックのうち対応する画素ブロックの変換係数群における有意係数の数を用いるので、先ず、縮小画像Cにおける画素ブロックと位置的に対応する、原画像Aにおける画素ブロック集合を特定する。
例えば縮小画像Cにおける画素ブロックCの変換係数群に含まれる夫々の変換係数の値を制御するのであれば、原画像Aにおいて「C」で示した夫々の画素ブロックの変換係数群に対する有意係数の数を用いることになる。
なお一般に、縮小画像Cのサイズが原画像Aの縦横1/Nである場合には、縮小画像Cにおける1つの画素ブロックの変換係数の値を制御するのであれば、原画像AにおいてN×N個の変換係数群に対する有意係数の数を用いることになる。
次に、有意係数の値に基づいて、変換係数の値を制御する処理についてより詳細に説明する。
図15は、縮小画像Cにおいて左上隅の画素ブロックの変換係数群に含まれる変換係数の値を制御する処理を説明するための図である。
縮小画像Cにおける1つの画素ブロック1405には上述の説明から、原画像Aにおいて4つの画素ブロック1401乃至1404が対応することがわかる。この4つの画素ブロック1401乃至1404の夫々について、同図に示す如く3つのグループ(α、β、γ)内の有意係数の数はすでにカウントされているので、例えば画素ブロック1405の変換係数群から、原画像Aにおける変換係数群と同様に3つのグループを選出した場合に、αのグループ内の変換係数の値を制御する場合には、先ず、4つの画素ブロック1401乃至1404の夫々のαのグループ内の有意係数の数を合計し、これを3で割る。即ち夫々の有意係数の数の平均値を求める。そして求めた平均値に対応する「倍率」を図12に示す対応関係により求める。
図12は、有意係数の数と、変換係数に掛け合わせる倍率(同図では「復元係数CD」)との関係を示すグラフを示す図である。従って、同図のグラフが示す対応関係により、上記4つの画素ブロック1401乃至1404の夫々のαのグループ内の有意係数の数の平均値から、得るべき「倍率」を得、画素ブロック1405の変換係数群内のαのグループ内の変換係数に割り当てることができる。
この割り当てられた「倍率」は、画素ブロック1405の変換係数群内のαのグループ内の変換係数の値に掛け合わされるものであるので、DCT係数決定部108は、画素ブロック1405の変換係数群内のαのグループ内の変換係数の値に、割り当てられた「倍率」を掛け合わせ、変換係数の値を制御する。
このような処理は、画素ブロック1405の変換係数群内のβのグループ内、γのグループ内の変換係数の値を制御する場合であっても同様で、例えば、画素ブロック1405の変換係数群内のβのグループ内の変換係数の値に掛け合わせるための「倍率」を得る場合には、4つの画素ブロック1401乃至1404の夫々のβのグループ内の有意係数の数の平均値を求め、図12に示す対応関係により、この平均値に対応する「倍率」を得、画素ブロック1405の変換係数群内のβのグループ内の変換係数に割り当てる。そして割り当てられた「倍率」を画素ブロック1405の変換係数群内のβのグループ内の変換係数の値に掛け合わせ、変換係数の値を制御する。
また、画素ブロック1405の変換係数群内のγのグループ内の変換係数の値に掛け合わせるための「倍率」を得る場合には、4つの画素ブロック1401乃至1404の夫々のγのグループ内の有意係数の数の平均値を求め、図12に示す対応関係により、この平均値に対応する「倍率」を得、画素ブロック1405の変換係数群内のγのグループ内の変換係数に割り当てる。そして割り当てられた「倍率」を画素ブロック1405の変換係数群内のγのグループ内の変換係数の値に掛け合わせ、変換係数の値を制御する。
以上の処理により、画素ブロック1405内の各グループ内の変換係数の値を制御することができる。またこのような処理を、縮小画像Cを構成する各画素ブロックの変換係数群について行う。その場合、縮小画像C中の画素ブロックの変換係数群内の変換係数の値を制御する際に、この変換係数群と、用いるべき原画像A中の複数の画素ブロックとの関係は、図14に示す如く、一対多の関係である。
次に、量子化部109は、DCT係数決定部108から出力される変換係数群毎に、量子化処理を行い、量子化下結果を後段の可変長符号化部110に出力する。
可変長符号化部110は、入力した、量子化された変換係数群に対して周知の可変長符号化処理を行い、符号化結果を出力するものである。
図16は、以上説明した各部によって行われる、本実施形態に係る画像符号化処理のフローチャートである。尚、同図のフローチャートに従ったプログラムはRAM1302にロードされており、CPU1301がこれを実行することにより、本実施形態に係る画像符号化装置は、以上説明した本実施形態に係る画像符号化処理を行うことになる。
尚、その場合、LPF処理部101、ダウンサンプル処理部102、エッジ強調処理部103、直交変換部105、フィルタ係数決定部106、直交変換部107、DCT係数決定部108、量子化部109、可変長符号化部110の各部はプログラムとしてRAM1302にロードされているものと解釈され、CPU1301がこれら各部の機能を実現するプログラムを実行すれば、当然、本実施形態に係る画像符号化装置は、上記各部の機能を実現することになり、結果として本実施形態に係る画像符号化処理を実現することになる。
また、以下説明する処理の前段で、RAM1302には、符号化対象の画像(原画像A)のデータがロードされているものとする。また、同図における各ステップにおける処理の説明は上述の通りであるので、ここでは簡単に説明する。
先ず、予めRAM1302にロードされている、例えば図5に示すような3×3のマトリクス・フィルタのデータを用いて、原画像Aのデータに対して、ローパスフィルタ処理処理を行う(ステップS1601)。
次に、ローパスフィルタ処理が施された原画像Aを構成する各画素から縦方向、横方向共に1画素おきに画素をサンプリングし、サンプリングした画素をサンプリングした順番でRAM1302中の所定のエリアに格納する(ステップS1602)。これにより、この所定のエリアには、原画像Aの縦横共にサイズが1/2の縮小画像Bが得られる。
ステップS1601,S1602による処理と並行して、原画像Aを8画素×8画素の画素ブロック毎に分割し、分割した夫々の画素ブロック毎にDCT(離散コサイン変換)処理を施し、画素ブロック毎の変換係数群を得る(ステップS1603)。得た各画素ブロック毎の変換係数群のデータは一時的にRAM1302中の所定のエリアに格納される。
ステップS1603において、全ての画素ブロックについて変換係数群のデータが得られると、処理をステップS1604に進め、縮小画像Bに対する上記倍率CRを求める(ステップS1604)。より具体的には上述の通りであるので、ここでは簡単に説明すると、先ず、個々の変換係数群を例えば図8に示す如く複数のグループに分割し、個々の変換係数群において、各グループ内で有意係数の数を計数し、全ての変換係数群において夫々のグループにおける有意係数の数G1〜G4を得る。そして得たG1〜G4を用いて上記式によりWを求め、更に図10に示すテーブルを参照して、求めたWに対応する倍率CRを特定する。尚、図10に示すテーブルのデータは予めRAM1302にロードされているものとする。
そして処理をステップS1605に進め、縮小画像Bのエッジ画像を生成し、生成したエッジ画像におけるエッジ部分の画素の値にステップS1604で求めた倍率CRの値を掛け合わせ、エッジ部分の画素の値が変更されたエッジ画像を縮小画像Bと合成することで、縮小画像Cを生成する(ステップS1605)。生成した縮小画像CのデータはRAM1302中の所定のエリアに一時的に格納される。
次に、この縮小画像Cを8画素×8画素の画素ブロック毎に分割し、分割した夫々の画素ブロック毎にDCT処理を施し、画素ブロック毎の変換係数群を得る(ステップS1606)。得た各画素ブロック毎の変換係数群のデータは一時的にRAM1302中の所定のエリアに格納される。
次に、ステップS1606で得た夫々の変換係数群に含まれる変換係数に対する倍率を求める処理を行う(ステップS1607)。より具体的には上述の通りであるので、ここでは簡単に説明すると、先ず、ステップS1606で生成された個々の変換係数群を4つのグループに分割し、グループ内の変換係数の値の平均値が最も小さいグループ以外の3つのグループの夫々のグループ毎に、グループ内での有意係数の数を計数する。
そして、縮小画像Cの各変換係数群に位置的に対応する原画像Aにおける画素ブロック集合を特定し、特定した画素ブロック集合に含まれる夫々の画素ブロックの変換係数群について、グループ毎の有意係数の数の平均値を求め、求めた平均値に対応する倍率を図12に示すテーブルを参照して特定する。尚、図12に示すテーブルのデータは予めRAM1302にロードされているものとする。
そして、特定した夫々のグループ毎の倍率を、画素ブロック集合に対応する縮小画像Cにおける変換係数群における夫々のグループ毎に割り当て、この夫々のグループ内の変換係数の値に、割り当てられた倍率を掛け合わせる処理を行う(ステップS1608)。
尚ステップS1608による処理は、縮小画像Cを構成する各画素ブロック毎の変換係数群について行う。
ステップS1608による処理が完了すると、完了後の縮小画像Cの各変換係数を量子化し(ステップS1609)、可変長符号化処理を行い(ステップS1610)、符号化データを生成してRAM1302中の所定のエリア、もしくは外部記憶装置1307に出力する。
以上の説明により、本実施形態に係る画像符号化装置は、原画像の周波数特性分布を考慮したエッジ強調処理を行った縮小画像を生成するので、高周波成分が多い画像には、ノイズ成分が多い画像と予測してエッジ強調処理を弱く行い、低周波成分が多い画像にはノイズ成分が少なく、かつ視覚的にメリハリをつける事で画質を向上させることができる。
また、画像縮小処理の際に通常用いられる高域遮断処理、及びダウンサンプル処理によって失われた周波数成分を適応的に補うことができ、より高画質な縮小画像を得ることができる。
[第2の実施形態]
第1の実施形態では、図1に示した各部はプログラムにより実現していたが、これに限定されるものではなく、各部をハードウェアで実現することも可能であり、その場合、例えば図1に示すような構成を有するハードウェアをデジタルカメラなどの撮像装置に搭載する事で、この撮像装置は、以上説明した画像符号化処理を行うことになり、結果として本実施形態と同様の効果が得られる。
また、以上の説明におけるグループ分割数や、分割方法などについてはこれに限定されるものではない。
[その他の実施形態]
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体(または記憶媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態に係る画像符号化装置の機能構成を示す図である。 従来の画像処理システムの機能構成を示すブロック図である。 原画像に対して縦横のサイズを1/2にする場合に、バイリニア法を用いた場合の縮小方法を説明する為の図である。 ニアレストネイバ−法による縮小方法を説明するための図である。 LPF処理部201でローパスフィルタ処理を行う際に用いる3×3のマトリクス・フィルタの一例を示す図である。 ダウンサンプリング処理部202が行うダウンサンプリング処理の一例を説明する図である。 1つの画素ブロックに対して得られる変換係数群内の各変換係数のJPEG符号化時における並び替えの順序を示す図である。 グループ分割を説明するための図である。 エッジ強調処理部104の機能構成を示すブロック図である。 Wと乗算器902で用いられる上記倍率CRとの関係を示すテーブルの一例を示す図である。 DCT係数決定部108が行うグループ分割処理を説明する図である。 有意係数の数と、変換係数に掛け合わせる倍率との関係を示すグラフを示す図である。 本発明の第1の実施形態に係る画像符号化装置として機能するコンピュータの基本構成を示す図である。 縮小画像Cにおける各画素ブロック毎の変換係数群と、原画像Aにおける各画素ブロック毎の変換係数群との関係を示す図である。 縮小画像Cにおいて左上隅の画素ブロックの変換係数群に含まれる変換係数の値を制御する処理を説明するための図である。 本発明の第1の実施形態に係る画像符号化処理のフローチャートである。

Claims (7)

  1. 入力画像に対してローパスフィルタ処理を行うローパスフィルタ処理工程と、当該ローパスフィルタ処理工程でローパスフィルタ処理を施された画像から所定の周期でサンプリングした画素を並べることで当該画像の縮小画像を生成する縮小画像生成工程とを備え、前記縮小画像を符号化する画像符号化方法であって、
    前記入力画像を構成する夫々の画素ブロック毎に直交変換を施し、画素ブロック毎の第1の変換係数群を生成する第1の直交変換工程と、
    全ての前記第1の変換係数群において、値が0でない変換係数の数を計数する第1の計数工程と、
    前記第1の計数工程による計数値に応じて、前記縮小画像のエッジ部分を構成する画素の値を制御する第1の計算工程と、
    前記第1の計算工程による処理後の画像を構成する画素ブロック毎に直交変換を施し、画素ブロック毎の第2の変換係数群を生成する第2の直交変換工程と、
    個々の前記第1の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が0でない変換係数の数を計数する第2の計数工程と、
    前記第1の計算工程による処理後の画像を構成する画素ブロックの縦の数に一致する区分数、横の数に一致する区分数で、前記入力画像を構成する画素ブロック群を縦方向、横方向に均等に区分し、区分された画素ブロック集合に含まれる夫々の画素ブロックの前記第1の変換係数群について前記第2の計数工程で計数した計数値に基づいて、前記画素ブロック集合と位置的に対応する前記第2の変換係数群に含まれる変換係数に対して割り当てる倍率を求める倍率計算工程と、
    夫々の前記第2の変換係数群内の変換係数の値を、前記倍率計算工程で割り当てられた倍率を用いて制御する第2の計算工程とを備え、
    前記第2の計算工程による処理後の夫々の変換係数を符号化することを特徴とする画像符号化方法。
  2. 前記第1の計数工程では、
    前記第1の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が0でない変換係数の数を計数し、求めた夫々のグループについての計数値を全ての前記第1の変換係数群について合算する事で、全ての前記第1の変換係数群において夫々のグループについての計数値を得、
    前記第1の計算工程では、全ての前記第1の変換係数群において夫々のグループについての計数値に基づいて計算される値に応じた倍率を、前記縮小画像のエッジ部分を構成する画素の値に掛け合わせることを特徴とする請求項1に記載の画像符号化方法。
  3. 前記倍率計算工程では、前記画素ブロック集合に含まれる夫々の画素ブロックの前記第1の変換係数群について、同じグループ毎に前記第2の計数工程で計数した計数値の平均値を求め、
    値が0でない変換係数の数と倍率との関係に基づいて、前記倍率計算工程で求めた夫々の平均値に応じた倍率を得、
    前記第2の計数工程によるグループ分割方法と同じ分割方法で前記第2の変換係数群を複数のグループに分割した場合に、前記第2の計算工程では、当該分割した夫々のグループ内の変換係数の値に、前記第2の変換係数群を分割した夫々のグループに対応する前記倍率を掛け合わせることを特徴とする請求項1に記載の画像符号化方法。
  4. 前記第1の直交変換工程、前記第2の直交変換工程は共に同じサイズの画素ブロック毎に直交変換を行うことを特徴とする請求項1に記載の画像符号化方法。
  5. 入力画像に対してローパスフィルタ処理を行うローパスフィルタ処理手段と、当該ローパスフィルタ処理手段がローパスフィルタ処理を施した画像から所定の周期でサンプリングした画素を並べることで当該画像の縮小画像を生成する縮小画像生成手段とを備え、前記縮小画像を符号化する画像符号化装置であって、
    前記入力画像を構成する夫々の画素ブロック毎に直交変換を施し、画素ブロック毎の第1の変換係数群を生成する第1の直交変換手段と、
    全ての前記第1の変換係数群において、値が0でない変換係数の数を計数する第1の計数手段と、
    前記第1の計数手段による計数値に応じて、前記縮小画像のエッジ部分を構成する画素の値を制御する第1の計算手段と、
    前記第1の計算手段による処理後の画像を構成する画素ブロック毎に直交変換を施し、画素ブロック毎の第2の変換係数群を生成する第2の直交変換手段と、
    個々の前記第1の変換係数群を複数のグループに分割し、当該分割した夫々のグループにおいて、含む変換係数の値の平均が最も小さいグループ以外の夫々のグループ毎に、値が0でない変換係数の数を計数する第2の計数手段と、
    前記第1の計算手段による処理後の画像を構成する画素ブロックの縦の数に一致する区分数、横の数に一致する区分数で、前記入力画像を構成する画素ブロック群を縦方向、横方向に均等に区分し、区分された画素ブロック集合に含まれる夫々の画素ブロックの前記第1の変換係数群について前記第2の計数手段が計数した計数値に基づいて、前記画素ブロック集合と位置的に対応する前記第2の変換係数群に含まれる変換係数に対して割り当てる倍率を求める倍率計算手段と、
    夫々の前記第2の変換係数群内の変換係数の値を、前記倍率計算手段が割り当てた倍率を用いて制御する第2の計算手段とを備え、
    前記第2の計算手段による処理後の夫々の変換係数を符号化することを特徴とする画像符号化装置。
  6. コンピュータに請求項1乃至4の何れか1項に記載の画像符号化方法を実行させることを特徴とするプログラム。
  7. 請求項6に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2003373182A 2003-10-31 2003-10-31 画像符号化方法、装置、プログラム、及びこれを記憶した記憶媒体 Withdrawn JP2005136891A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003373182A JP2005136891A (ja) 2003-10-31 2003-10-31 画像符号化方法、装置、プログラム、及びこれを記憶した記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003373182A JP2005136891A (ja) 2003-10-31 2003-10-31 画像符号化方法、装置、プログラム、及びこれを記憶した記憶媒体

Publications (1)

Publication Number Publication Date
JP2005136891A true JP2005136891A (ja) 2005-05-26

Family

ID=34649347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003373182A Withdrawn JP2005136891A (ja) 2003-10-31 2003-10-31 画像符号化方法、装置、プログラム、及びこれを記憶した記憶媒体

Country Status (1)

Country Link
JP (1) JP2005136891A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007109204A (ja) * 2005-09-15 2007-04-26 Fujitsu Ltd 画像処理装置及び画像処理方法
US7826677B2 (en) 2006-10-03 2010-11-02 Quanta Computer Inc. Image processing apparatus and method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007109204A (ja) * 2005-09-15 2007-04-26 Fujitsu Ltd 画像処理装置及び画像処理方法
US8630511B2 (en) 2005-09-15 2014-01-14 Spansion Llc Image processing apparatus and method for image resizing matching data supply speed
US7826677B2 (en) 2006-10-03 2010-11-02 Quanta Computer Inc. Image processing apparatus and method

Similar Documents

Publication Publication Date Title
JP4455364B2 (ja) 解像度変換方法及び装置
KR101137753B1 (ko) 고속의 메모리 효율적인 변환 구현 방법
US20070047828A1 (en) Image data processing device
WO2012132183A1 (ja) 画像処理装置、画像処理方法、画像処理のためのコンピュータプログラム及び記録媒体
JP2011180798A (ja) 画像処理装置、および画像処理方法、並びにプログラム
JP2010213284A (ja) 多次元画像の画質向上のためのシステムおよび方法
JPH0944657A (ja) 画像処理方法および装置
US20090022402A1 (en) Image-resolution-improvement apparatus and method
JP4611535B2 (ja) 符号化された画像を評価するための処理、装置及び、使用
WO2014008329A1 (en) System and method to enhance and process a digital image
US20120093227A1 (en) Data compression method and data compression device
US20060181644A1 (en) Spatial image conversion
US20070279434A1 (en) Image processing device executing filtering process on graphics and method for image processing
JP2001136527A (ja) 直交変換画像の解像度変換装置及び方法
US7522189B2 (en) Automatic stabilization control apparatus, automatic stabilization control method, and computer readable recording medium having automatic stabilization control program recorded thereon
JP2001223888A (ja) 画像処理方法および装置並びに記録媒体
JPWO2017203941A1 (ja) 画像処理装置、および画像処理方法、並びにプログラム
JP4945533B2 (ja) 画像処理装置及び画像処理方法
JP2005136891A (ja) 画像符号化方法、装置、プログラム、及びこれを記憶した記憶媒体
TW440804B (en) Method and apparatus for resizing image information
JP2005141722A (ja) 画像信号処理方法、画像信号処理装置、及び画像信号プログラム
JP2010211552A (ja) 画像処理方法及びコンピュータプログラム
KR100998220B1 (ko) 적응적 영상 크기 조정 방법
JP5410231B2 (ja) 不等間隔標本化装置、そのプログラム、及び、多次元不等間隔標本化装置
JP4355445B2 (ja) 画像処理装置、画像処理システム、画像処理方法、及び記憶媒体

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20070109