JP4231620B2 - 画像処理方法および装置 - Google Patents
画像処理方法および装置 Download PDFInfo
- Publication number
- JP4231620B2 JP4231620B2 JP2000310502A JP2000310502A JP4231620B2 JP 4231620 B2 JP4231620 B2 JP 4231620B2 JP 2000310502 A JP2000310502 A JP 2000310502A JP 2000310502 A JP2000310502 A JP 2000310502A JP 4231620 B2 JP4231620 B2 JP 4231620B2
- Authority
- JP
- Japan
- Prior art keywords
- interpolation
- coefficient
- original
- pixel
- image processing
- 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.)
- Expired - Lifetime
Links
- 238000003672 processing method Methods 0.000 title claims description 30
- 239000000872 buffer Substances 0.000 claims description 114
- 238000012545 processing Methods 0.000 claims description 62
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000010606 normalization Methods 0.000 claims description 14
- 230000003247 decreasing effect Effects 0.000 claims description 11
- 230000006870 function Effects 0.000 description 20
- 238000000034 method Methods 0.000 description 11
- 238000000926 separation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000003384 imaging method Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/18—Image warping, e.g. rearranging pixels individually
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
- Studio Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、画像処理方法および装置に関し、特に電子カメラなどの撮像装置で撮像された2次元画像について補間演算を行うことにより、所望の画像を得る画像処理方法および装置に関するものである。
【0002】
【従来の技術】
電子カメラなどの撮像装置で撮像された2次元画像について、拡大や縮小などの画像処理を高画質で行う際には、補間演算として多数の画素と高次の補間係数による積和演算(コンボリューション演算)を行う必要がある。さらにこの際、用いる原画素の数を増やしたり補間係数の精度を上げたりするほど、補間演算に要する時間が増大する。特に、原画像の画素位置とは異なる新しい画素位置すなわち補間位置における補間係数を、その都度、計算によって求める場合には、さらに複雑な演算が増えるため、相当な時間を要する。
【0003】
撮像した画像の後処理として、このような補間演算をパソコンを用いて行う場合は、単にその処理に時間がかかるだけである。しかし、電子カメラなどの撮像装置では、補間演算に長時間かかっていては撮像した画像をすぐに確認できないし、ビデオカメラのようにリアルタイムで画像が必要な撮像装置の場合、実際には使い物にならない。
また、AC電源など十分な動作電源が供給される設置型の画像処理装置では、消費電力と引き換えに、あるいは高速動作するチップやメモリなどを用意するためのコストと引き換えに、高速の演算装置を使用して補間演算にかかる時間を短縮することも可能である。しかし、限られた動作電源しか供給されない携帯型装置の場合、このような解決法は適用できない。
【0004】
従来、このような問題を解決するため、補間演算を簡単にするためのさまざまな方法が提案されている。例えば、特開平11−25067号公報などには、補間係数の算出を高速で行うような工夫が提案されているし、特許第2807231号などには、拡大後の画素位置が属する部分領域ごとに、原画素の画素値と原画素位置における補間係数とを予め掛け合わせた値を、事前に算出してテーブルに格納しておく方法が提案されている。
【0005】
【発明が解決しようとする課題】
しかしながら、このような従来の画像処理方法では、前者のように補間位置ごとに補間係数を計算していては処理効率が悪いという問題点があった。また、後者のような場合には、近似誤差の低減を図るため、補間位置を近似する領域を小さくしたり、より高次の補間演算を行うため演算に使用する原画素の数を増やしたりすると、事前に算出するデータ数が膨大となり、参照テーブルを格納するためのメモリ領域が増えてしまうという問題点があった。
【0006】
特に後者の場合、図13に示すように、隣接する4つの原画素間を分割して設定した近似点を用いて補間演算をする場合、隣接する4つの原画素p(i,j)〜p(i+1,j+1)で囲まれる領域100と、これら4つの原画素を補間演算に用いる補間位置範囲101とにずれがある。
このため、例えば補間位置P(x,y)のように、その補間位置に近い原画素p(i−1,j),p(i−1,j+1)ではなく、より離れた原画素p(i+1,j),p(i+1,j+1)を補間演算に用いる場合もあり、原画素値によっては補間演算より得られた画素値に大きな誤差を生じる場合がある。また、これを解消するには補間位置の演算ごとにオフセットを加算(または減算)する必要があるため、演算量が増えてしまう。
【0007】
本発明はこのような課題を解決するためのものであり、補間位置ごとに補間係数を演算することなく、また高い精度を要求しても回路規模の増大を伴わずに、原画像に対する拡大・縮小などの画像処理を高速・高画質で行うことができる画像処理方法および装置を提供することを目的としている。
【0008】
【課題を解決するための手段】
このような目的を達成するために、本発明にかかる画像処理方法は、直交するX,Y座標軸に沿ってマトリクス状に配置された複数の原画素からなる原画像について、所望の画素位置から所定範囲内に位置する複数の原画素からなる補間原画素の画素値とこれら補間原画素に対応する補間係数とを用いた補間演算により所望の画素位置における新たな画素値を算出することによって、原画像を画像処理した新たな画像を生成する画像処理方法において、特に、隣接する2×2個の原画素からなる正方形のサブマトリクスをXおよびY座標軸方向にそれぞれ複数個に等分割して小さな正方形の領域を生成するとともに、これら領域の各頂点に近似点を配置し、任意の近似点を中心として所定範囲内に位置する各近似点での離散した補間係数を所定の補間関数に基づきそれぞれ導出し、さらにこれら補間係数のうち1回の補間演算に用いる各補間係数の係数値の合計が2k(kは正整数)となるように正規化した補間係数をそれぞれ求めて予め係数バッファに格納しておき、入力された原画像を一時的に原画像バッファに記憶し、原画像に対するXおよびY座標軸方向での拡大・縮小率を示す倍率に応じて、新たな画像を構成する各画素の新たな画素位置を算出し、その新たな画素位置が属するサブマトリクスに配置されている各近似点のうち、新たな画素位置に最も近い近似点をその新たな画素位置の近似点として選択し、選択した近似点とこの近似点から所定範囲内に位置する各補間原画素との位置関係に基づいて、これら補間原画素に対応する補間係数を係数バッファから読み出し、原画像バッファから読み出した各補間原画素の画素値と係数バッファから読み出した各補間係数とをそれぞれ積和演算して補間演算を行うことにより、近似点における画素値を算出し、算出した画素値を2kで除算することにより、新たな画素位置における画素値として出力するようにしたものである。
【0009】
係数バッファに格納しておく補間係数を正規化する際、補間関数から実数で導出した各補間係数をそれぞれ2k倍するとともに、各補間係数の係数値の小数部が所定桁数以内となるように正規化するようにしてもよい。
また、補間関数から実数で導出した各補間係数をそれぞれ2k倍するとともに、各補間係数が整数となるように整数化するようにしてもよい。ここで、係数バッファに格納しておく補間係数を整数化する際、整数化した各補間係数のうち、1回の補間演算に用いる各補間係数の係数値の合計が2kとならない場合は、合計が2kとなるように整数化前の各補間係数のうちのいずれかを増減し、増減する補間係数としてその増減率の最も小さいものから順に増減するようにしてもよい。
また、サブマトリクスをXおよびY座標軸方向にそれぞれ分割する数として、2n(nは2以上の整数)を用いるようにしてもよい。
【0010】
各補間原画素に対する補間係数を得る場合、係数バッファに、近似点と各補間原画素との位置関係のうち、XまたはY座標軸方向のいずれか一方向における位置関係に応じた補間係数を格納しておき、補間演算時には、一方向における補間係数をXおよびY座標軸方向で兼用し、X座標軸方向における近似点と各補間原画素との位置関係に応じた補間係数を係数バッファからそれぞれ読み出すとともに、Y座標軸方向における近似点と補間原画素との位置関係に応じた補間係数を係数バッファからそれぞれ読み出し、同一補間原画素に関するXおよびY座標軸方向での2つの補間係数を積算することにより、各補間原画素に対する補間係数を得るようにしてもよい。
【0011】
あるいは、係数バッファに、近似点と各補間原画素との位置関係のうち、X座標軸方向の位置関係に応じたX補間係数と、Y座標軸方向の位置関係に応じたY補間係数とを個別に格納しておき、補間演算時には、X座標軸方向における位置関係に応じた補間係数を係数バッファからそれぞれ読み出すとともに、Y座標軸方向における位置関係に応じた補間係数を係数バッファからそれぞれ読み出し、同一補間原画素に関するXおよびY座標軸方向での2つの補間係数を積算することにより、各補間原画素に対する補間係数を得るようにしてもよい。
【0012】
この他、各補間原画素に対する補間係数を得る場合、係数バッファに格納しておく補間係数として、近似点を中心とする対称な補間関数を用いて算出された補間係数のうち、その近似点からいずれか片側方向の補間係数のみを格納しておき、補間演算時には、近似点から片側方向の補間係数については、近似点と各補間係数との位置関係に応じて、係数バッファに格納されている補間係数から選択し、片側方向と反対方向の補間係数については、近似点と各補間係数との位置関係を符号反転した位置関係に応じて、係数バッファに格納されている補間係数から選択して用いるようにしてもよい。
係数バッファに格納しておく補間係数としては、近似点が任意の補間原画素の位置と一致した場合に、その他の補間原画素に対応する補間係数がすべてゼロとなる補間係数を用いるようにしてもよい。
【0013】
原画像バッファから各補間原画素の画素値を読み出す場合、原画素間の距離を1と見なして求めた近似点の位置の整数部に基づき、近似点が属するサブマトリクスを構成する4つの原画素のうちの基準となる基準原画素を特定し、基準原画素を元にして原画像バッファから1回の補間演算に用いる各補間原画素の画素値を読み出すようにしてもよい。
さらに、係数バッファから各補間係数を読み出す場合、原画素間の距離を1と見なして求めた近似点の位置の小数部に基づき、近似点と基準原画素との位置関係を算出し、その位置関係を元にして係数バッファから1回の補間演算に用いる各補間係数の係数値を読み出すようにしてもよい。
【0014】
新たな画像を構成する各画素の新たな画素位置を算出する際、XおよびY座標軸方向のうちいずれか一方の座標軸方向における倍率に応じて、新たな画素位置に関する一方の座標軸方向での座標値を算出し、その座標値をパラメータとする所定の関数を用いて新たな画素位置に関する他方の座標軸方向での座標値を算出するようにしてもよい。
【0015】
また、本発明にかかる画像処理装置は、直交するX,Y座標軸に沿ってマトリクス状に配置された複数の原画素からなる原画像について、所望の画素位置から所定範囲内に位置する複数の原画素からなる補間原画素の画素値とこれら補間原画素に対応する補間係数とを用いた補間演算により所望の画素位置における新たな画素値を算出することによって、原画像を画像処理した新たな画像を生成する画像処理装置において、特に、隣接する2×2個の原画素からなる正方形のサブマトリクスをXおよびY座標軸方向にそれぞれ複数個に等分割して小さな正方形の領域を生成するとともに、これら領域の各頂点に近似点を配置し、任意の近似点を中心として所定範囲内に位置する各近似点での離散した補間係数を所定の補間関数に基づきそれぞれ導出し、さらにこれら補間係数のうち1回の補間演算に用いる各補間係数の係数値の合計が2k(kは正整数)となるように正規化した補間係数をそれぞれ求めて予め格納する係数バッファと、入力された原画像を一時的に記憶する原画像バッファと、原画像に対するXおよびY座標軸方向での拡大・縮小率を示す倍率に応じて、新たな画像を構成する各画素の新たな画素位置を算出し、その新たな画素位置が属するサブマトリクスに配置されている各近似点のうち、新たな画素位置に最も近い近似点をその新たな画素位置の近似点として選択し、選択した近似点とこの近似点から所定範囲内に位置する各補間原画素との位置関係に基づいて、これら補間原画素に対応する補間係数を係数バッファから読み出す補間位置演算手段と、原画像バッファから読み出した各補間原画素の画素値と係数バッファから読み出した各補間係数とをそれぞれ積和演算して補間演算を行うことにより、近似点における画素値を算出し、算出した画素値を2kで除算することにより、新たな画素位置における画素値として出力する補間演算手段とを備えるものである。
【0016】
係数バッファでは、補間係数として、補間関数から実数で導出した各補間係数をそれぞれ2k倍するとともに、各補間係数の係数値の小数部が所定桁数以内となるように正規化した補間係数を予め格納するようにしてもよい。
また補間関数から実数で導出した各補間係数をそれぞれ2k倍するとともに、各補間係数が整数となるように整数化した補間係数を予め格納するようにしてもよい。ここで、整数化した各補間係数のうち、1回の補間演算に用いる各補間係数の係数値の合計が2kとならない場合は、合計が2kとなるように整数化前の各補間係数のうちのいずれかを増減し、増減する補間係数としてその増減率の最も小さいものから順に増減して得られた補間係数を予め格納するようにしてもよい。
また、係数バッファでは、補間係数として、サブマトリクスをXおよびY座標軸方向にそれぞれ2n(nは2以上の整数)で分割して得られた補間係数を予め格納するようにしてもよい。
【0017】
各補間原画素に対する補間係数を得る場合、係数バッファで、補間係数として、近似点と各補間原画素との位置関係のうち、XまたはY座標軸方向のいずれか一方向における位置関係に応じた補間係数を予め格納して、一方向における補間係数をXおよびY座標軸方向で兼用し、X座標軸方向における近似点と各補間原画素との位置関係に応じた補間係数を出力するとともに、Y座標軸方向における近似点と補間原画素との位置関係に応じた補間係数を出力し、補間演算部では、同一補間原画素に関するXおよびY座標軸方向での2つの補間係数を積算することにより、各補間原画素に対する補間係数を得るようにしてもよい。
【0018】
あるいは、係数バッファで、補間係数として、近似点と各補間原画素との位置関係のうち、X座標軸方向の位置関係に応じたX補間係数と、Y座標軸方向の位置関係に応じたY補間係数とを予め個別に格納し、X座標軸方向における位置関係に応じた補間係数を出力するとともに、Y座標軸方向における位置関係に応じた補間係数を出力し、同一補間原画素に関するXおよびY座標軸方向での2つの補間係数を積算することにより、各補間原画素に対する補間係数を得るようにしてもよい。
【0019】
この他、係数バッファで、補間係数として、近似点を中心とする対称な補間関数を用いて算出された補間係数のうち、その近似点からいずれか片側方向の補間係数のみを予め格納しておき、近似点から片側方向の補間係数については、近似点と各補間係数との位置関係に応じて、係数バッファに格納されている補間係数から選択し、片側方向と反対方向の補間係数については、近似点と各補間係数との位置関係を符号反転した位置関係に応じて、係数バッファに格納されている補間係数から選択するようにしてもよい。
また、係数バッファでは、補間係数として、近似点が任意の補間原画素の位置と一致した場合に、その他の補間原画素に対応する補間係数がすべてゼロとなる補間係数を予め格納するようにしてもよい。
【0020】
原画像バッファから各補間原画素の画素値を読み出す場合、補間位置演算手段で、原画素間の距離を1と見なして求めた近似点の位置の整数部に基づき、近似点が属するサブマトリクスを構成する4つの原画素のうちの基準となる基準原画素を特定し、基準原画素を元にして原画像バッファから1回の補間演算に用いる各補間原画素の画素値を読み出すようにしてもよい。
さらに、係数バッファから各補間係数を読み出す場合、補間位置演算手段で、原画素間の距離を1と見なして求めた近似点の位置の小数部に基づき、近似点と基準原画素との位置関係を算出し、その位置関係を元にして係数バッファから1回の補間演算に用いる各補間係数の係数値を読み出すようにしてもよい。
【0021】
補間位置演算手段では、新たな画像を構成する各画素の新たな画素位置を算出する際、XおよびY座標軸方向のうちいずれか一方の座標軸方向における倍率に応じて、新たな画素位置に関する一方の座標軸方向での座標値を算出し、その座標値をパラメータとする所定の関数を用いて新たな画素位置に関する他方の座標軸方向での座標値を算出するようにしてもよい。
【0022】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して説明する。
図1は本発明の一実施の形態にかかる画像処理装置を示すブロック図である。画像処理装置10は、電子カメラなどの撮像装置で撮像された2次元の原画像1について、原画像1の直交するXおよびY座標軸方向での拡大・縮小率を示す倍率2に基づき画像処理することにより新たな画像8を出力する装置である。
この画像処理装置10には、原画像バッファ11、補間位置演算部12、係数バッファ13および補間演算部14が設けられている。
【0023】
補間位置演算部12では、指定された倍率2に基づいて、新たな画像8を構成する各画素の新たな画素位置すなわち補間位置を算出する。
原画像バッファ11には、処理対象となる原画像1が入力されて一時的に記憶され、補間位置演算部12で算出された補間位置を示すX,Y座標値の整数部3に基づき、補間位置における新たな画素値を算出するのに用いられる原画素すなわち補間原画素が選択出力される。
係数バッファ13では、予め入力された係数データ9を、補間位置と補間原画素との位置関係に応じて各補間原画素に対応する補間係数として記憶しており、補間位置演算部12で算出された補間位置を示すX,Y座標値の小数部4に基づき、補間原画素に対応する補間係数6が選択出力される。
【0024】
補間演算部14には、コンボルーバー(積和演算器)15とビットシフタ16とが設けられている。
コンボルーバー15では、原画像バッファ11から選択出力された補間原画素5の画素値と、係数バッファ13から選択出力された補間係数6とを、それぞれ対応させて積和演算を行うことにより、補間位置における画素値7を算出する。ビットシフタ16では、コンボルーバー15で算出された画素値7を下位ビット方向へビットシフトすることにより除算し、得られた画素値を補間位置における新たな画素値として出力し、結果として原画像1を倍率2で画像処理した新たな画像8が生成される。
【0025】
次に、図2を参照して、補間演算を用いた画像処理の概要について、画像拡大処理を例として説明する。図2は拡大処理を示す説明図である。
原画像1は、X,Y座標軸に沿ってマトリクス状に配置された複数の原画素から構成されている。互いに隣接する4つの原画素p(i,j)、p(i,j+1)、p(i+1,j)およびp(i+1,j+1)の間の論理的な距離を「1」とする。
ここで、原画素1をX,Y座標軸方向へそれぞれ1.5倍だけ拡大する処理は、X,Y座標軸方向の画素数を1.5倍だけ増やす処理に等しい。したがって、新たな画像を構成する各画素間は1/1.5だけ狭くなり、原画素が元々存在しない新たな画素位置、例えば点Pでの画素値が必要となる。
【0026】
新たな画素位置すなわち補間位置の画素値は、その補間位置から所定距離範囲内に位置する補間原画素の画素値を用いて、補間演算により算出される。例えば、図2の点Pの画素値については、その点Pを囲む4つの補間原画素p(i,j)、p(i,j+1)、p(i+1,j)およびp(i+1,j+1)から算出してもよい。
本実施の形態では、補間位置PからX座標軸に沿って両方向に同数の補間原画素を用いて補間し、Y座標軸についても同様とする。このとき、補間位置Pから片側方向に位置する補間原画素数をm(mは正整数)とすると、1回の補間演算で4m2個の補間原画素を用いることになる。上記の例では、m=1に相当する。
【0027】
ここで、X,Y座標軸方向において隣接する原画素間の距離を「1」とし、X,Y座標軸方向における倍率をEx,Eyとした場合、補間位置Pの座標値Px,Pyは、
Px=q/Ex,Py=q/Ey
で求められる。但し、qは0以上の整数をとる。
このPx,Pyを実数「X.x」,「Y.y」で表現した場合、原画素間の距離が「1」であることから、整数部「X」,「Y」は、p(i,j)の座標値i,jに相当し、小数部「x」,「y」は、p(i,j)から補間位置Pまでの座標値に相当する。
【0028】
したがって、図1の補間位置演算部12では、指定された倍率2に基づいて、新たな画像8を構成する各画素の新たな画素位置すなわち補間位置を算出し、その整数部「X」,「Y」に基づき原画素p(i,j)を特定するとともに、この原画素p(i,j)を基準として補間位置Pのための補間演算に用いる各補間原画素を選択している。
具体的には、片方向に位置する補間原画素数をmとした場合、p(i−m+1,j−m+1),p(i−m+1,j+m),p(i+m,j−m+1),p(i+m,j+m)で囲まれる正方形の領域内に存在するすべての原画素が補間原画素として選択される。
【0029】
図3に補間位置演算部の構成例を示す。補間位置演算部12には、X補間位置算出部21、分離部23、近似部24、Y補間位置算出部25、分離部27および近似部28が設けられている。
X補間位置算出部21では、X座標軸方向の倍率すなわちX倍率2Xに基づき、新たな画像8を構成する各画素の新たな画素位置すなわち補間位置を示すX座標値22が算出される。分離部23では、実数「X.x」で表現されX座標値22が、整数部「X」と小数部「x」に分離され、その整数部「X」が、原画素選択アドレス3Xとして原画像バッファ11からの補間原画素選択に使用される。
【0030】
また、Y補間位置算出部25についても、上記と同様にして、Y座標軸方向の倍率を示すY倍率2Yに基づき、補間位置を示すY座標値26が算出される。
分離部27では、実数「Y.y」で表現されるY座標値26が、整数部「Y」と小数部「y」に分離され、その整数部「Y」は、原画素選択アドレス3Yとして原画像バッファ11からの補間原画素選択に使用される。
【0031】
一方、補間位置を示す座標値の小数部「x」,「y」は、p(i,j)から補間位置Pまでの座標値すなわち距離に相当していることから、これら小数部に基づき、各補間画素値に対応する補間係数を特定できる。
図4に補間係数選択処理の一例を示す。ここでは、理解を容易とするためX座標軸方向にだけ着目し、X座標軸上に並ぶ4つの原画像p(i−1),p(i),p(i+1)およびp(i+2)を用いて補間位置Pの画素値を求める場合(m=2)が例として示されている。
【0032】
補間位置Pは原画素p(i)とp(i+1)との間に位置している。ここで、補間位置PのX座標値が実数「X.x」である場合、上記のように、整数部「X」は原画素p(i)の座標値iに相当し、小数部「x」はp(i)から補間位置P間での距離xに相当する。
補間係数は、補間演算に用いる各補間原画素の画素値に対する重みであり、一般的には、各補間原画素と補間位置との位置関係によって変化し、この位置関係をパラメータとする関数すなわち補間関数で表現される。
例えば、図4の補間関数は、補間位置Pを中心として左右対称な特性を有しており、補間位置Pと補間原画素との位置関係に応じた関数値wが補間係数として用いられる。
【0033】
補間位置Pを基準とした場合、原画像p(i−1),p(i),p(i+1)およびp(i+2)の相対座標値は、それぞれ−1−x,−x,1−xおよび2−xとなり、各原画素の補間係数は、それぞれw(−1−x),w(−x),w(1−w),w(2−x)と表現できる。
したがって、原画像p(i−1),p(i),p(i+1)およびp(i+2)の画素値をg(i−1),g(i),g(i+1)およびg(i+2)とすると、p(i)から距離xに位置する補間位置Pの画素値Gは、
G=Σ{g(h)×w(h−i−x)}
で求められる。但し、hはi−1〜i+2(m=2の場合)の整数であり、補間位置Pの片側方向に位置する補間原画素数をmとした場合、hはi−m+1〜i+mの整数となる。
【0034】
図5は補間位置の近似処理を示す説明図である。図5では、原画像p(i,j),p(i+1,j),p(i,j+1)およびp(i+1,j+1)で形成されるサブマトリクス1Aを、X,Y座標軸方向に2n(nは2以上の整数)で等分割して2n+1個の正方形の領域1Bを生成し、各領域1Bの頂点に近似点1Cを設けてある。そして、近似範囲1D内の補間位置を、その中央の近似点へ近似する。例えばn=2とした場合、サブマトリクス1Aは16個に等分割され、21個の近似点1Cが設けられる。そして補間位置Pは、その補間位置Pを囲む近似範囲1Dの中央に位置する近似点1Cへ近似される。
【0035】
このような補間位置を示す座標値の小数部に対する近似処理は、図3の補間位置演算部12の近似部24,28で行われる。
すなわち、分離部23で分離されたX座標値22の小数部「x」が近似部24で近似処理され、X係数選択アドレス4Xとして係数バッファ13からの補間係数選択に使用される。また、分離部27で分離されたY座標値26の小数部「y」が近似部28で近似処理され、Y係数選択アドレス4Yとして係数バッファ13からの補間係数選択に使用される。
【0036】
係数バッファ13では、これらX係数選択アドレス4XおよびY係数選択アドレス4Yに基づき、各補間原画素に対応する補間係数を選択する。図6に係数バッファ13の構成例を示す。
係数バッファ13には、切替部31、ルックアップテーブル(LUT)32およびY係数ラッチ33が設けられている。
切替部31では、X係数選択アドレス4XとY係数選択アドレス4Yのうちのいずれか一方が選択される。ルックアップテーブル32には、補間位置と補間原画素との距離に応じた補間係数からなる係数データ9が予め設定されており、切替部31で選択されたアドレスに基づき各補間原画素に対応する補間係数が選択され読み出される。
【0037】
切替部31は、補間位置演算部12で算出された補間位置のY座標値が変化した場合に切り替えられる。
補間位置演算部12では、まず新たな画像を構成する最上列の画素列についてX座標方向に補間位置を順次算出し、所望の画素数だけ算出した場合は、Y座標方向に1画素分移行してX座標方向に補間位置を順次算出し、これを最下列まで順次繰り返すことにより、新たな画像を構成する各画素すなわち補間位置を算出する。
したがって、Y座標方向へ1画素分移行する際に、移行先のY座標値が必要となるため、切替部31を切り替えてY係数選択アドレス4Yをルックアップテーブル32へ入力し、Y係数を得る。
【0038】
Y係数ラッチ33では、切替部31でY係数選択アドレス4Yが選択された場合にのみ、ルックアップテーブル32の出力を記憶保持する。
これにより、切替部31でX係数選択アドレス4Xが選択されている状態では、ルックアップテーブル32からX係数6Xが出力され、これと並列してY係数ラッチ33からY係数6Yが出力される。
【0039】
図7に近似処理を用いた補間係数選択処理を示す。ここでは、切替部31においてX係数選択アドレスが選択された場合の補間係数選択処理が示されているが、Y係数選択アドレスが選択された場合も同様である。
図3で示したように、X座標値22およびY座標値26の小数部を用いて近似処理しているため、各近似点1C(図5参照)に近似される補間位置の範囲は、サブマトリクス1Aの内側に限定される。
したがって、図13で述べた従来の近似範囲の設定と比較して、近似範囲と補間原画素とのズレが発生せず、このズレに起因する画素値の誤差が抑止される。これにより補間位置の演算ごとにオフセットを加算(または減算)する必要がなく、余分な演算量を削減できる。
【0040】
補間関数については、所望の特性を用いればよく、例えば補間位置Pを挟む2つの補間原画素p(i),p(i+1)を用いる直線補間を行う場合、補間位置Pに対する補間原画素p(i)の相対的な距離をxとすれば、p(i),p(i+1)での補間係数wは、次のようになる。
0≦dのとき
w=1−d
d<0のとき
w=d+1
【0041】
また、拡大・縮小後の画像に対する高域空間周波数の強調・減衰する程度を示す強調係数aを考慮して、次のような式から補間原画素に対応する補間係数wを算出してもよい。なお、dは補間位置Pから補間原画素までの距離の絶対値、aは強調係数を示す。
0≦d<1のとき
w=(a+2)d3+(a+3)d2+1
1≦d<2のとき
w=ad3+5ad2+8ad−4a
【0042】
このようにして算出した補間係数は実数値であるため、補間演算(積和演算)を精度よく行おうとすると浮動小数点演算を行う必要があり、有効桁数もその係数値に応じた桁数だけ必要となる。
また、補間点の近似点を増やして近似誤差を減らそうとしてもやはり有効桁数を増やす必要がある。これは有効桁数を増やさなければ近似点を増やした意味がなくなってしまうからである。
【0043】
上記のような不具合を解決する方法として、補間係数の正規化を考える。図8に補間係数の正規化例を示す。
図8に示すように、各補間係数wを所定の正規化係数で定数倍して正規化補間係数Wへ正規化することにより、小数部の桁数が削減され、浮動小数点演算より処理負担が少ない固定小数点演算を用いることができ、また有効桁数をも削減できる。
したがって、係数バッファ13には、このようにして予め正規化した係数データ9を補間係数として格納しておけばよい。
【0044】
図1の補間演算部14では、このようにして補間位置Pに応じて選択された各補間原画素とこれに対応する補間係数とを用いて、コンボルーバー15において積和演算することにより、補間位置Pにおける新たな画素値7が算出される。
このとき、係数バッファ13からX係数6XとY係数6Yとが渡されるため、コンボルーバー15では、当該補間原画素ごとに、その補間原画素の画素値とこれら対応するX係数6XとY係数6Yとを積算し、その和を画素値7として出力する。
【0045】
ここで、補間係数として正規化係数で定数倍されたものを用いた場合、積和演算で得られる画素値7としては、実際の画素値の定数倍された値が算出される。このとき、補間演算時にこのゲインを調整する方法も考えられるが、毎回、補間係数の合計とそれによる除算が必要となってしまう。
そこで、図8のセットA〜Dで示してある2n個おきに存在する補間係数、すなわち1回の補間演算で用いる複数の補間係数について、各補間係数の合計が正規化係数と同一となるように予め調整しておけばよい。
このような正規化された補間係数を使用することによって、補間演算を極めて簡素化することができる。すなわち各補間原画素値、および補間原画素と補間点の相対位置によって決まる各補間係数との積和演算の結果を、正規化係数で除算すればよい。
【0046】
本実施の形態では、補間係数を正規化する場合、1回の補間演算で用いられる各補間係数の係数値の合計が2k(kは正整数)となるように正規化しておく。これにより、係数が大きくなって小数部が減るため、固定小数点の演算器で構成できコンボルーバー15も大幅に簡素化できる。さらに、各補間係数が2kという正規化係数を用いて予め正規化されているので、ビットシフタ16における除算では、どの係数が選択されるかに関係なく、すべて同一のシフト演算で実行できる。
このとき、画素値7を除算する演算処理としては、画素値7の各ビットを下位ビット方向へkビットだけシフトする演算機能すなわちビットシフタ16で実現でき、浮動小数点演算を行う場合と比較して極めて短い時間で除算できる。さらに、常に同じ正規化係数の使用を前提とする装置でれば配線のみで構成できる。
【0047】
このように、補間位置を近似点へ近似し、さらには補間係数をその合計が2kとなるように正規化しているため、高次の補間による2次元画像の拡大・縮小を行ったり、それに伴って補間演算に使用する原画素数を増やしても、演算を複雑にしたり回路規模を増大させることなく、高速で処理をに行うことができる。
これにより、高次の補間が容易に実行できるため、例えば単純間引きによる縮小時のようにエイリアスがでることもない。また、拡大時にも高域の空間周波数を強調することも容易で、単純補間による拡大時のようにぼけた画像になることもない。
さらに、原画素に囲まれた範囲内では同じ原画素を補間演算に使用するようにしているので、従来(図13参照)と比較して、近似点の算出は単純に補間位置の小数部を用いることができ容易である。また、ハードウェアとの親和性がよく、回路規模を削減できる。
【0048】
補間係数の正規化については、小数部の桁数を削減するにとどまらず、図8に示すように、正規化補間係数の各係数値を整数化した整数化補間係数Wiを用いてもよい。この整数化については、整数への丸め処理(例えば、四捨五入など)が行われる。
この整数への丸め処理に起因して、整数化後の全補間係数の合計が2kとならない場合、そのままでは補間後の画素値にゲインがかかってしまい、画素位置によって補間後の画像の明るさが変わってしまう(例えば、一様な画像がまだらになってしまう)。
【0049】
このため、整数化前の補間係数のいずれかを選択して増減することによりその整数化後の補間係数を「1」だけ増減し、整数化後の全補間係数の合計が2kとなるまでいずれかの補間係数を順次選択して増減する。
増減する補間係数としては、その増減率が最も小さい補間係数から順に選択する。これにより整数化前後の補間係数間での誤差を最小限に抑えることができる。
【0050】
このような整数化処理では多少の誤差は生じるが、結局は演算時に使用する桁数の問題といえる。係数値として必要な桁数が同じであれば、このような固定小数点演算の方が浮動小数点演算に比較して、ハードウェアによる場合でもソフトウェアによる演算でもずっと容易となる。
演算処理装置(CPU)においては、補間係数の桁数がビット数とみなされるので、上記の正規化さらには整数化による固定小数点化と相まって、汎用の演算処理装置を使用したソフトウェアによる演算においても高速化が実現可能であるし、また、最適化した演算装置(ハードウェア)を設計する上ではその回路規模を大幅に削減できる。
【0051】
整数化補間係数については、図8に示したように、補間位置を中心として対称となるように構成してもよい。すなわち、補間位置(近似点)から片側方向の補間係数については、補間位置と各補間係数との位置関係に応じて、係数バッファ13に格納されている片側の補間係数から選択し、片側方向とは反対方向の補間係数については、補間位置と各補間係数との位置関係を符号反転した位置関係に応じて、係数バッファに格納されている補間係数から選択すればよい。
これにより、補間位置から片側の補間係数から反対側の補間係数を選択できることから、ルックアップテーブルに格納する補間係数は約半分まで削減することができ、ルックアップテーブルで必要な記憶容量を大幅に削減できる。
【0052】
また、図6に示したように、XおよびY座標軸方向について同一のルックアップテーブル32を用いて、2次元の近似点での補間係数をX,Y座標軸方向ごとにテーブル参照して求めたX係数およびY係数を、コンボルーバー15により乗算して求めるようにしたので、2次元の近似点についてすべての補間係数を格納しておく場合に比べて、ルックアップテーブルの大きさを大幅に削減することができる。
これにより近似点をより細かく、補間に用いる原画素の数を増やして精度の向上を図ってもルックアップテーブルに格納するデータの数を大幅に増やすことなく演算することができる。
【0053】
補間位置演算部12において、例えば補間位置をX座標軸方向に沿ってX座標値を連続して算出していく場合、その1列分が終わるまで他方のY座標値は同じ係数値となる。したがって、X座標値が変化するごとにY座標値を毎回算出してテーブル参照する必要はなく、図6に示したように、Y係数ラッチ33でY係数値を保持しておけば、X,Y座標方向で同じ補間係数を共用しても演算速度への影響はほとんどない。
【0054】
係数バッファ13については、図9に示すように、X,Y係数ごとに別の係数データを使ってもよい。図9に係数バッファの他の構成例を示す。
この係数バッファ13には、X軸方向におけるX係数データ9Xを記憶するX係数バッファ35と、Y軸方向におけるY係数データ9Yを記憶するY係数バッファ36とが設けられている。さらに、X係数バッファ35には、補間位置演算部12からのX係数選択アドレス4Xが入力されてX係数6Xが出力され、Y係数バッファ36には、補間位置演算部12からのY係数選択アドレス4Yが入力されてY係数6Yが出力される。
このように、係数バッファ13内にX,Y係数バッファを独立して設けることにより、原画像1のアスペクト比を変えたり表示系の特性に合わせた画素数変換を行うことが可能となる。
【0055】
また、図8に示したように、補間位置Pが原画素位置と一致した場合は、他の補間原画素に対応する補間係数を「0(ゼロ)」となる補間係数を用いる。これにより、原画素位置付近に補間位置Pがある場合、例えば補間位置Pが同一原画素を挟んで存在し、これら2つの補間位置における補間演算で用いる2m個の補間原画素の組が異なる場合でも、両補間位置での新たな画素値に差が生じることがなくなり、新たな画像上における画素値の不連続性は現れない。
さらに、補間係数の数も、上記より両端の補間係数の係数値は必ず「0」となり、これを係数として格納しないようにすれば、補間係数テーブルのメモリサイズをさらに小さくすることができる。
【0056】
係数データ9については、原画像や所望する拡大・縮小後の画像に合わせて書き換えられるようにしてもよい。
さらに、図9に示したようにX,Y座標軸方向ごとに独立して係数バッファを設ける場合は、X,Y座標方向について別々の特性を与えることも可能である。すなわち、人間の目の特性上、分解能の高い水平方向(X座標軸方向)については、高い空間周波数部分がより強調される特性の補間係数を利用するといったことが可能である。
【0057】
また前述の図6では、係数バッファ13として、X,Y座標軸方向でルックアップテーブル32を兼用するようにした場合について説明したが、図10に示すように、補間位置演算部12でもX,Y座標軸方向で補間位置演算部21ほかを兼用できる。図10では、切替部20を補間位置演算部21の前段に設けてX倍率2XおよびY倍率2Yのいずれか一方を選択する。X倍率2Xを選択した場合は、前述(図3参照)と同様にして、補間演算部21でX座標軸方向での補間位置が算出され、その整数部が分離部23から原画素選択アドレス3Xとして出力される。また小数部は近似部24で近似されX座標軸方向でのアドレスを示す係数選択アドレス4XYが出力される。
【0058】
一方、Y座標方向へ1画素分移行する際には、移行先のY座標値が必要となるため、切替部20を切り替えてY倍率2Yを選択する。これにより、補間演算部21でY座標軸方向での補間位置が算出され、分離部23で分離された整数部がYアドレスラッチ29でラッチされて、原画素選択アドレス3Yとして出力される。また小数部は近似部24で近似されY座標軸方向でのアドレスを示す係数選択アドレス4XYが出力される。これにより、補間位置演算部12において、X,Y座標軸方向で補間位置演算部21ほかを兼用でき、回路規模を削減できる。
図10の補間位置演算部12では、同一の信号ラインを用いてX,Y座標軸方向における係数選択アドレス4XYを切り替え出力している。したがって、係数バッファ13では、前述した図6のうち切替部31が不要となり、図11に示すような構成となり、回路規模を削減できる。
【0059】
また、図12のように、例えば補間位置のY座標値が、そのX座標値をパラメータとする関数から算出できるような構成にすれば、拡大・縮小に加えて、画像を回転させることも可能である。図12に補間位置演算部の他の構成例を示す。
ここでは、Y補間位置算出部25において、X補間位置算出部21で算出された補間位置のX座標値22と、予め設定されるY位置関数2Fとを用いて、
Y.y=f(X.x)
から、補間位置のY座標値26を算出している。
【0060】
これによれば、このような画像の変換を行っても、装置の構成上はY補間位置算出部25での演算がほんの少し複雑になるだけであり、多少複雑な関数を使えばさまざまな画像変形を行うこともできる。例えば、出力画像の1ライン(あるいは数ライン)ごとに関数を書き換えるなどすれば、レンズなどの光学系のひずみを補正することなども可能となる。
また、倍率を画像処理途中で切り替えることももちろん可能である。内部に複数の倍率を保管し、切り替えるようにしてもよい。このような処理を組み合わせれば、画像の一部分だけを拡大したような出力画像を得ることも可能である。
【0061】
【発明の効果】
以上説明したように、本発明は、隣接する2×2個の原画素からなる正方形のサブマトリクスをXおよびY座標軸方向にそれぞれ複数個に等分割して小さな正方形の領域を生成するとともに、これら領域の各頂点に近似点を配置し、任意の近似点を中心として所定範囲内に位置する各近似点での離散した補間係数を所定の補間関数に基づきそれぞれ導出し、さらにこれら補間係数のうち1回の補間演算に用いる各補間係数の係数値の合計が2k(kは正整数)となるように正規化した補間係数をそれぞれ求めて予め係数バッファに格納しておき、入力された原画像を一時的に原画像バッファに記憶し、原画像に対するXおよびY座標軸方向での拡大・縮小率を示す倍率に応じて、新たな画像を構成する各画素の新たな画素位置を算出し、その新たな画素位置が属するサブマトリクスに配置されている各近似点のうち、新たな画素位置に最も近い近似点をその新たな画素位置の近似点として選択し、選択した近似点とこの近似点から所定範囲内に位置する各補間原画素との位置関係に基づいて、これら補間原画素に対応する補間係数を係数バッファから読み出し、原画像バッファから読み出した各補間原画素の画素値と係数バッファから読み出した各補間係数とをそれぞれ積和演算して補間演算を行うことにより、近似点における画素値を算出し、算出した画素値を2kで除算することにより、新たな画素位置における画素値として出力するようにしたものである。
したがって、従来のように、補間位置ごとに補間係数を演算することなく、また高い精度を要求しても回路規模の増大を伴わずに、原画像に対する拡大・縮小などの画像処理を高速・高画質で行うことができる。また、補間位置を近似点へ近似する場合、補間位置を囲む原画素と補間演算に用いる補間原画素とにずれがなく、そのずれに起因して発生する画素値の誤差を抑止でき、高精度な補間処理を実現できる。
【図面の簡単な説明】
【図1】 本発明の一実施の形態にかかる画像処理装置を示すブロック図である。
【図2】 拡大処理を示す説明図である。
【図3】 補間位置演算部の構成例である。
【図4】 補間係数選択処理の一例である。
【図5】 補間位置の近似処理を示す説明図である。
【図6】 係数バッファの構成例である。
【図7】 近似処理を用いた補間係数選択処理例である。
【図8】 補間係数の正規化例である。
【図9】 係数バッファの他の構成例である。
【図10】 補間位置演算部の他の構成例である。
【図11】 係数バッファの他の構成例である。
【図12】 補間位置演算部の他の構成例である。
【図13】 従来の画像処理装置における近似処理例である。
【符号の説明】
1…原画像、2…倍率、3…整数部(補間位置座標値)、4…小数部(補間位置座標値)、5…補間原画素、6…補間係数、7…画素値、8…新たな画像、9…係数データ、10…画像処理装置、11…原画像バッファ、12…補間位置演算部、13…係数バッファ、14…補間演算部、15…コンボルーバー、16…ビットシフタ、P…補間位置、p…原画素、w…補間係数。
Claims (24)
- 直交するX,Y座標軸に沿ってマトリクス状に配置された複数の原画素からなる原画像について、所望の画素位置から所定範囲内に位置する複数の原画素からなる補間原画素の画素値とこれら補間原画素に対応する補間係数とを用いた補間演算により前記所望の画素位置における新たな画素値を算出することによって、前記原画像を画像処理した新たな画像を生成する画像処理方法において、
隣接する2×2個の原画素からなる正方形のサブマトリクスをXおよびY座標軸方向にそれぞれ複数個に等分割して小さな正方形の領域を生成するとともに、これら領域の各頂点に近似点を配置し、任意の近似点を中心として所定範囲内に位置する各近似点での離散した補間係数を所定の補間関数に基づきそれぞれ導出し、さらにこれら補間係数のうち1回の補間演算に用いる各補間係数の係数値の合計が2k(kは正整数)となるように正規化した補間係数をそれぞれ求めて予め係数バッファに格納しておき、
入力された原画像を一時的に原画像バッファに記憶し、
前記原画像に対するXおよびY座標軸方向での拡大・縮小率を示す倍率に応じて、新たな画像を構成する各画素の新たな画素位置を算出し、
その新たな画素位置が属するサブマトリクスに配置されている各近似点のうち、前記新たな画素位置に最も近い近似点をその新たな画素位置の近似点として選択し、
選択した前記近似点とこの近似点から所定範囲内に位置する各補間原画素との位置関係に基づいて、これら補間原画素に対応する補間係数を前記係数バッファから読み出し、
前記原画像バッファから読み出した前記各補間原画素の画素値と前記係数バッファから読み出した前記各補間係数とをそれぞれ積和演算して補間演算を行うことにより、前記近似点における画素値を算出し、
算出した前記画素値を2kで除算することにより、前記新たな画素位置における画素値として出力することを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
前記係数バッファに格納しておく補間係数を正規化する際、前記補間関数から実数で導出した各補間係数をそれぞれ2k倍するとともに、各補間係数の係数値の小数部が所定桁数以内となるように正規化することを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
前記係数バッファに格納しておく補間係数を正規化する際、前記補間関数から実数で導出した各補間係数をそれぞれ2k倍するとともに、各補間係数が整数となるように整数化することを特徴とする画像処理方法。 - 請求項3記載の画像処理方法において、
前記係数バッファに格納しておく補間係数を整数化する際、整数化した各補間係数のうち、1回の補間演算に用いる各補間係数の係数値の合計が2kとならない場合は、前記合計が2kとなるように整数化前の各補間係数のうちのいずれかを増減し、増減する補間係数としてその増減率の最も小さいものから順に増減することを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
前記サブマトリクスをXおよびY座標軸方向にそれぞれ分割する数として、2n(nは2以上の整数)を用いることを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
前記係数バッファには、前記近似点と前記各補間原画素との位置関係のうち、XまたはY座標軸方向のいずれか一方向における位置関係に応じた補間係数を格納しておき、
前記補間演算時には、前記一方向における補間係数をXおよびY座標軸方向で兼用し、X座標軸方向における前記近似点と前記各補間原画素との位置関係に応じた補間係数を前記係数バッファからそれぞれ読み出すとともに、Y座標軸方向における前記近似点と前記補間原画素との位置関係に応じた補間係数を前記係数バッファからそれぞれ読み出し、同一補間原画素に関するXおよびY座標軸方向での2つの補間係数を積算することにより、前記各補間原画素に対する補間係数を得ることを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
前記係数バッファには、前記近似点と前記各補間原画素との位置関係のうち、X座標軸方向の位置関係に応じたX補間係数と、Y座標軸方向の位置関係に応じたY補間係数とを個別に格納しておき、
前記補間演算時には、X座標軸方向における前記位置関係に応じた補間係数を前記係数バッファからそれぞれ読み出すとともに、Y座標軸方向における前記位置関係に応じた補間係数を前記係数バッファからそれぞれ読み出し、同一補間原画素に関するXおよびY座標軸方向での2つの補間係数を積算することにより、前記各補間原画素に対する補間係数を得ることを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
前記係数バッファに格納しておく補間係数として、前記近似点を中心とする対称な前記補間関数を用いて算出された補間係数のうち、その近似点からいずれか片側方向の補間係数のみを格納しておき、
前記補間演算時には、前記近似点から前記片側方向の補間係数については、前記近似点と前記各補間係数との位置関係に応じて、前記係数バッファに格納されている前記補間係数から選択し、前記片側方向とは反対方向の補間係数については、前記近似点と前記各補間係数との位置関係を符号反転した位置関係に応じて、前記係数バッファに格納されている前記補間係数から選択することを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
前記係数バッファに格納しておく補間係数として、前記近似点が任意の補間原画素の位置と一致した場合に、その他の補間原画素に対応する補間係数がすべてゼロとなる補間係数を用いることを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
前記原画素間の距離を1と見なして求めた前記近似点の位置の整数部に基づき、前記近似点が属するサブマトリクスを構成する4つの原画素のうちの基準となる基準原画素を特定し、前記基準原画素を元にして前記原画像バッファから1回の補間演算に用いる各補間原画素の画素値を読み出すことを特徴とする画像処理方法。 - 請求項10記載の画像処理方法において、
前記原画素間の距離を1と見なして求めた前記近似点の位置の小数部に基づき、前記近似点と前記基準原画素との位置関係を算出し、その位置関係を元にして前記係数バッファから1回の補間演算に用いる各補間係数の係数値を読み出すことを特徴とする画像処理方法。 - 請求項1記載の画像処理方法において、
新たな画像を構成する各画素の新たな画素位置を算出する際、XおよびY座標軸方向のうちいずれか一方の座標軸方向における倍率に応じて、前記新たな画素位置に関する前記一方の座標軸方向での座標値を算出し、その座標値をパラメータとする所定の関数を用いて前記新たな画素位置に関する他方の座標軸方向での座標値を算出することを特徴とする画像処理方法。 - 直交するX,Y座標軸に沿ってマトリクス状に配置された複数の原画素からなる原画像について、所望の画素位置から所定範囲内に位置する複数の原画素からなる補間原画素の画素値とこれら補間原画素に対応する補間係数とを用いた補間演算により前記所望の画素位置における新たな画素値を算出することによって、前記原画像を画像処理した新たな画像を生成する画像処理装置において、
隣接する2×2個の原画素からなる正方形のサブマトリクスをXおよびY座標軸方向にそれぞれ複数個に等分割して小さな正方形の領域を生成するとともに、これら領域の各頂点に近似点を配置し、任意の近似点を中心として所定範囲内に位置する各近似点での離散した補間係数を所定の補間関数に基づきそれぞれ導出し、さらにこれら補間係数のうち1回の補間演算に用いる各補間係数の係数値の合計が2k(kは正整数)となるように正規化した補間係数をそれぞれ求めて予め格納する係数バッファと、
入力された原画像を一時的に記憶する原画像バッファと、
前記原画像に対するXおよびY座標軸方向での拡大・縮小率を示す倍率に応じて、新たな画像を構成する各画素の新たな画素位置を算出し、その新たな画素位置が属するサブマトリクスに配置されている各近似点のうち、前記新たな画素位置に最も近い近似点をその新たな画素位置の近似点として選択し、選択した前記近似点とこの近似点から所定範囲内に位置する各補間原画素との位置関係に基づいて、これら補間原画素に対応する補間係数を前記係数バッファから読み出す補間位置演算手段と、
前記原画像バッファから読み出した前記各補間原画素の画素値と前記係数バッファから読み出した前記各補間係数とをそれぞれ積和演算して補間演算を行うことにより、前記近似点における画素値を算出し、算出した前記画素値を2kで除算することにより、前記新たな画素位置における画素値として出力する補間演算手段とを備えることを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記係数バッファは、前記補間係数として、前記補間関数から実数で導出した各補間係数をそれぞれ2k倍するとともに、各補間係数の係数値の小数部が所定桁数以内となるように正規化した補間係数を予め格納することを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記係数バッファは、前記補間係数として、前記補間関数から実数で導出した各補間係数をそれぞれ2k倍するとともに、各補間係数が整数となるように整数化した補間係数を予め格納することを特徴とする画像処理装置。 - 請求項15記載の画像処理装置において、
前記係数バッファは、前記補間係数として、整数化した各補間係数のうち、1回の補間演算に用いる各補間係数の係数値の合計が2kとならない場合は、前記合計が2kとなるように整数化前の各補間係数のうちのいずれかを増減し、増減する補間係数としてその増減率の最も小さいものから順に増減して得られた補間係数を予め格納することを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記係数バッファは、前記補間係数として、前記サブマトリクスをXおよびY座標軸方向にそれぞれ2n(nは2以上の整数)で分割して得られた補間係数を予め格納することを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記係数バッファは、前記補間係数として、前記近似点と前記各補間原画素との位置関係のうち、XまたはY座標軸方向のいずれか一方向における位置関係に応じた補間係数を予め格納して、前記一方向における補間係数をXおよびY座標軸方向で兼用し、X座標軸方向における前記近似点と前記各補間原画素との位置関係に応じた補間係数を出力するとともに、Y座標軸方向における前記近似点と前記補間原画素との位置関係に応じた補間係数を出力し、
前記補間演算部は、同一補間原画素に関するXおよびY座標軸方向での前記2つの補間係数を積算することにより、前記各補間原画素に対する補間係数を得ることを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記係数バッファは、前記補間係数として、前記近似点と前記各補間原画素との位置関係のうち、X座標軸方向の位置関係に応じたX補間係数と、Y座標軸方向の位置関係に応じたY補間係数とを予め個別に格納し、X座標軸方向における前記位置関係に応じた補間係数を出力するとともに、Y座標軸方向における前記位置関係に応じた補間係数を出力し、同一補間原画素に関するXおよびY座標軸方向での前記2つの補間係数を積算することにより、前記各補間原画素に対する補間係数を得ることを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記係数バッファは、前記補間係数として、前記近似点を中心とする対称な前記補間関数を用いて算出された補間係数のうち、その近似点からいずれか片側方向の補間係数のみを予め格納しておき、前記近似点から前記片側方向の補間係数については、前記近似点と前記各補間係数との位置関係に応じて、前記係数バッファに格納されている前記補間係数から選択し、前記片側方向と反対方向の補間係数については、前記近似点と前記各補間係数との位置関係を符号反転した位置関係に応じて、前記係数バッファに格納されている前記補間係数から選択することを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記係数バッファは、前記補間係数として、前記近似点が任意の補間原画素の位置と一致した場合に、その他の補間原画素に対応する補間係数がすべてゼロとなる補間係数を予め格納することを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記補間位置演算部は、前記原画素間の距離を1と見なして求めた前記近似点の位置の整数部に基づき、前記近似点が属するサブマトリクスを構成する4つの原画素のうちの基準となる基準原画素を特定し、前記基準原画素を元にして前記原画像バッファから1回の補間演算に用いる各補間原画素の画素値を読み出すことを特徴とする画像処理装置。 - 請求項22記載の画像処理装置において、
前記補間位置演算部は、前記原画素間の距離を1と見なして求めた前記近似点の位置の小数部に基づき、前記近似点と前記基準原画素との位置関係を算出し、その位置関係を元にして前記係数バッファから1回の補間演算に用いる各補間係数の係数値を読み出すことを特徴とする画像処理装置。 - 請求項13記載の画像処理装置において、
前記補間位置演算部は、新たな画像を構成する各画素の新たな画素位置を算出する際、XおよびY座標軸方向のうちいずれか一方の座標軸方向における倍率に応じて、前記新たな画素位置に関する前記一方の座標軸方向での座標値を算出し、その座標値をパラメータとする所定の関数を用いて前記新たな画素位置に関する他方の座標軸方向での座標値を算出することを特徴とする画像処理装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000310502A JP4231620B2 (ja) | 2000-10-11 | 2000-10-11 | 画像処理方法および装置 |
US10/053,487 US6915026B2 (en) | 2000-10-11 | 2001-11-02 | Image processing method and apparatus |
EP01126130A EP1308887A1 (en) | 2000-10-11 | 2001-11-02 | Image processing method and apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000310502A JP4231620B2 (ja) | 2000-10-11 | 2000-10-11 | 画像処理方法および装置 |
US10/053,487 US6915026B2 (en) | 2000-10-11 | 2001-11-02 | Image processing method and apparatus |
EP01126130A EP1308887A1 (en) | 2000-10-11 | 2001-11-02 | Image processing method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002152498A JP2002152498A (ja) | 2002-05-24 |
JP4231620B2 true JP4231620B2 (ja) | 2009-03-04 |
Family
ID=27625145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000310502A Expired - Lifetime JP4231620B2 (ja) | 2000-10-11 | 2000-10-11 | 画像処理方法および装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US6915026B2 (ja) |
EP (1) | EP1308887A1 (ja) |
JP (1) | JP4231620B2 (ja) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4503878B2 (ja) * | 2001-04-27 | 2010-07-14 | オリンパス株式会社 | 撮像装置及び撮像方法 |
US20030058457A1 (en) * | 2001-09-21 | 2003-03-27 | Eastman Kodak Company | Selecting an image bearing product requiring a particular size converted from a high resolution digital image |
DE60234900D1 (de) * | 2001-12-21 | 2010-02-11 | Ibm | Verfahren und Schaltungen zur Bildskalierung mit Hilfe neuronaler Netzwerke |
US7155305B2 (en) * | 2003-11-04 | 2006-12-26 | Universal Electronics Inc. | System and methods for home appliance identification and control in a networked environment |
US7593600B2 (en) * | 2004-03-04 | 2009-09-22 | International Business Machines Corporation | Black white image scaling for optical character recognition |
JP4500707B2 (ja) * | 2004-03-24 | 2010-07-14 | キヤノン株式会社 | 画像データ処理装置 |
US8442108B2 (en) | 2004-07-12 | 2013-05-14 | Microsoft Corporation | Adaptive updates in motion-compensated temporal filtering |
US8340177B2 (en) | 2004-07-12 | 2012-12-25 | Microsoft Corporation | Embedded base layer codec for 3D sub-band coding |
US9071847B2 (en) | 2004-10-06 | 2015-06-30 | Microsoft Technology Licensing, Llc | Variable coding resolution in video codec |
JP4556646B2 (ja) * | 2004-12-02 | 2010-10-06 | ソニー株式会社 | 図形情報生成装置、画像処理装置、情報処理装置、および図形情報生成方法 |
JP4774736B2 (ja) * | 2004-12-27 | 2011-09-14 | カシオ計算機株式会社 | 画像拡大装置および撮像装置 |
US20060176321A1 (en) * | 2005-02-07 | 2006-08-10 | Olympus Corporation | Endoscope apparatus |
US20060178561A1 (en) * | 2005-02-07 | 2006-08-10 | Olympus Corporation | Endoscope apparatus |
CN100366050C (zh) * | 2005-03-11 | 2008-01-30 | 华亚微电子(上海)有限公司 | 一种图像缩放方法及图像缩放器*** |
US7436412B2 (en) * | 2005-08-24 | 2008-10-14 | Qualcomm Incorporated | Graphics engine with efficient interpolation |
US7956930B2 (en) * | 2006-01-06 | 2011-06-07 | Microsoft Corporation | Resampling and picture resizing operations for multi-resolution video coding and decoding |
US8237808B2 (en) * | 2007-01-17 | 2012-08-07 | Sony Corporation | Solid state imaging device and imaging apparatus adjusting the spatial positions of pixels after addition by controlling the ratio of weight values during addition |
CN101309476B (zh) * | 2007-05-15 | 2011-05-04 | 鸿富锦精密工业(深圳)有限公司 | 移动装置及其更改图片大小的方法 |
JP2009010656A (ja) * | 2007-06-27 | 2009-01-15 | Neuro Solution Corp | データ補間装置および方法、画像拡大縮小装置 |
JP4854620B2 (ja) * | 2007-07-19 | 2012-01-18 | 三洋電機株式会社 | 電子ズーム装置およびプログラム |
US8953673B2 (en) | 2008-02-29 | 2015-02-10 | Microsoft Corporation | Scalable video coding and decoding with sample bit depth and chroma high-pass residual layers |
US8711948B2 (en) | 2008-03-21 | 2014-04-29 | Microsoft Corporation | Motion-compensated prediction of inter-layer residuals |
US9571856B2 (en) | 2008-08-25 | 2017-02-14 | Microsoft Technology Licensing, Llc | Conversion operations in scalable video encoding and decoding |
US8213503B2 (en) | 2008-09-05 | 2012-07-03 | Microsoft Corporation | Skip modes for inter-layer residual video coding and decoding |
US20100150475A1 (en) * | 2008-12-17 | 2010-06-17 | Ascent Media Group, Inc. | Up-scaling images using interpolating function |
US8520971B2 (en) * | 2010-09-30 | 2013-08-27 | Apple Inc. | Digital image resampling |
JP5804818B2 (ja) * | 2011-07-23 | 2015-11-04 | キヤノン株式会社 | 画像処理装置、画像処理方法、およびプログラム |
JP2014126903A (ja) * | 2012-12-25 | 2014-07-07 | Toshiba Corp | 画像処理装置および画像処理方法、ならびに、プログラム |
US8917329B1 (en) | 2013-08-22 | 2014-12-23 | Gopro, Inc. | Conversion between aspect ratios in camera |
US10628915B1 (en) * | 2017-01-13 | 2020-04-21 | Ambarella International Lp | Multi-modal warp filter to reduce memory bandwidth |
US10200575B1 (en) | 2017-05-02 | 2019-02-05 | Gopro, Inc. | Systems and methods for determining capture settings for visual content capture |
CN111161145B (zh) * | 2019-12-18 | 2023-12-22 | 兰州恒达彩印包装有限责任公司 | 一种改进的双三次图像插值模型的参数优化方法 |
JP7027023B2 (ja) | 2020-03-16 | 2022-03-01 | 任天堂株式会社 | 画像処理装置、画像処理プログラム、画像処理方法および画像処理システム |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2807231B2 (ja) | 1988-03-17 | 1998-10-08 | 大日本印刷株式会社 | 画素密度変換方法及び装置 |
US4988984A (en) * | 1988-10-31 | 1991-01-29 | International Business Machines Corporation | Image interpolator for an image display system |
JPH06133206A (ja) * | 1992-10-19 | 1994-05-13 | Canon Inc | 撮像装置のオートフォーカス方式 |
ES2118173T3 (es) * | 1992-11-19 | 1998-09-16 | Thomson Multimedia Sa | Metodo y aparato para conversion ascendente de frecuencia de campo. |
CA2129092C (en) * | 1993-10-04 | 1999-10-19 | Leon C. Williams | Image interpolation apparatus |
US5594676A (en) * | 1994-12-22 | 1997-01-14 | Genesis Microchip Inc. | Digital image warping system |
US6023537A (en) * | 1996-07-15 | 2000-02-08 | Ricoh Company, Ltd. | Image reading apparatus using an image reading position error measuring device |
JP3951072B2 (ja) | 1997-07-04 | 2007-08-01 | ソニー株式会社 | フィルタ演算装置および方法 |
US6493469B1 (en) * | 1999-06-28 | 2002-12-10 | Xerox Corporation | Dual video camera system for scanning hardcopy documents |
US6546152B1 (en) * | 2000-05-04 | 2003-04-08 | Syscan Technology (Shenzhen) Co. Limited | Method and apparatus for providing images in portable 2-D scanners |
US6464332B1 (en) * | 2000-05-23 | 2002-10-15 | Silverbrook Research Pty Ltd. | Method and apparatus for the compensation for time varying nozzle misalignment in a drop on demand printhead |
-
2000
- 2000-10-11 JP JP2000310502A patent/JP4231620B2/ja not_active Expired - Lifetime
-
2001
- 2001-11-02 US US10/053,487 patent/US6915026B2/en not_active Expired - Lifetime
- 2001-11-02 EP EP01126130A patent/EP1308887A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
EP1308887A1 (en) | 2003-05-07 |
JP2002152498A (ja) | 2002-05-24 |
US20030086007A1 (en) | 2003-05-08 |
US6915026B2 (en) | 2005-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4231620B2 (ja) | 画像処理方法および装置 | |
JP2612939B2 (ja) | イメージ表示システム用補間装置およびイメージ表示システム | |
JP2909333B2 (ja) | 乗算不要の離散コサイン変換を実行する方法およびシステム | |
US6496609B1 (en) | Hybrid-linear-bicubic interpolation method and apparatus | |
US5202670A (en) | Image processing apparatus | |
JP2007067917A (ja) | 画像データ処理装置 | |
JP4728744B2 (ja) | 画像処理装置 | |
JP4361991B2 (ja) | 画像処理装置 | |
US6539128B1 (en) | Method and apparatus for interpolation | |
JP4280319B2 (ja) | 画像処理装置、画像処理方法及びコンピュータ読み取り可能な記憶媒体 | |
KR19990036105A (ko) | 화상 정보 변환 장치와 방법 및 적화 연산 회로와 방법 | |
Qiu | Interresolution look-up table for improved spatial magnification of image | |
JPH1049665A (ja) | 画像処理装置および方法 | |
JP3543928B2 (ja) | 画素数変換装置 | |
JP2000207391A (ja) | 補間装置、補間方法及び画像表示装置 | |
JP4409526B2 (ja) | オプティカルフロープロセッサ | |
JP5253305B2 (ja) | 縮小画像生成装置 | |
JP4266512B2 (ja) | データ処理装置 | |
US9286654B2 (en) | Image scaling processor and image scaling processing method | |
JPH11252356A (ja) | 画像変倍方法および画像変倍装置 | |
JP3634878B2 (ja) | 画像符号化装置 | |
KR100517522B1 (ko) | 보간 방법 및 장치 | |
JP3381075B2 (ja) | デジタルデータ処理装置 | |
JP2691559B2 (ja) | 画素密度変換装置及びその方法 | |
JP3108177B2 (ja) | 画像拡大装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070731 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080729 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080815 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081202 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081208 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4231620 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111212 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121212 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131212 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |