(57)【要約】【課題】補間処理によって画像の拡大／縮小を行った場合に、拡大／縮小画像が原画像に対して斜め内側方向にシフトされることによって原画像の周辺部が失われてしまうという不都合を防止できるようにする。【解決手段】原画像の有効画素の外側にｋクロック分の仮想画素を付加した範囲を処理範囲として、当該処理範囲内の互いに隣接する２×２画素からなる画素ブロック毎に代表値を算出し、算出した代表値に対して補間演算を行うことによって、所定の倍率に応じた補間位置における各画素の画素値を求めることにより、代表値により構成される画像の有効範囲２２が原画像の有効範囲２１より外側に広くシフトされるようにし、このように有効範囲が外側にシフトされた代表値に対して補間演算を行うことで、補間値により構成される画像の有効範囲が内側にシフトしても、その結果が原画像の有効範囲と同じものとなるようにする。【選択図】        図２
2008021126.tif 000002
【特許請求の範囲】
【請求項１】
２次元空間上に等間隔に配置された複数の画素によって構成される原画像について、所定の倍率に応じた補間位置における各画素の画素値を上記補間位置の周囲にある上記原画像の画素値から補間演算によって求めることによって画像の拡大／縮小を行う画像拡大縮小装置であって、
上記原画像の有効画素の外側にｋクロック分の仮想画素を付加した範囲を処理範囲として、上記処理範囲内の互いに隣接するｍ×ｎ画素（ｍ，ｎは２以上の整数）からなる画素ブロック毎に代表値を算出する代表値算出部と、
上記代表値算出部により算出された代表値に対して補間演算を行うことによって、上記所定の倍率に応じた補間位置における各画素の画素値を求める補間処理部とを備えたことを特徴とする画像拡大縮小装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像拡大縮小装置に関し、特に、デジタル画像の拡大および縮小を行う装置に用いて好適なものである。
【背景技術】
【０００２】
従来、画像の拡大あるいは縮小を簡単な処理によって行う方法として、所定間隔で同じ画素を繰り返したり間引いたりする手法が知られている。例えば、Ｘ方向およびＹ方向のそれぞれについて、５画素毎にこの５画素目と同じ画素値を有する画素を挿入することにより、簡易的に１．２倍の拡大画像を得ることができる。反対に、５画素毎に１画素を削除することにより、簡易的に０．８倍の縮小画像を得ることができる。
【０００３】
しかし、このように一定間隔で画素を挿入したり、間引いたりした場合には、拡大後あるいは縮小後の画像が歪むという欠点がある。そのため、画像の拡大や縮小を高精度に行う場合には、このような欠点のない補間処理を用いた手法が汎用されている（例えば、特許文献１参照）。その中には、リサンプリング処理と補間処理との組み合わせから成る画像の拡大縮小方式も存在する（例えば、特許文献２参照）。
【特許文献１】特開平１１−３５３４７３号公報
【特許文献２】特開平９−２５９２６５号公報
【０００４】
上記特許文献２に記載の技術では、例えば画像をｓ倍に拡大（または縮小）する処理の場合、まずは原画像の画素間隔に対して１／ｓ倍の間隔でリサンプリングを行う。これにより、リサンプル点の数は原画像の画素数に比して、縦横ともにｓ倍となる。次に、リサンプル点の近傍にある原画像の画素値を用いて、リサンプル点の画素値を補間演算により求める。そして、求めたリサンプル点の画素値を原画像と同じ元の画素間隔で描くことにより、拡大／縮小画像を得る。
【０００５】
また、原画像における複数の画素データの平均値を算出し、算出された平均値に補間演算を施すことによって原画像の拡大／縮小画像を得るようにした技術も提案されている（例えば、特許文献３，４参照）。
【特許文献３】特開２００２−１５２５０１号公報
【特許文献４】特開２００１−１３９４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１〜４を含む従来の技術では、補間処理によって生成される拡大／縮小画像の有効範囲は、原画像の有効範囲に対して斜め内側方向に所定量だけシフトされたものとなる。例えば、図１０に示すように、２×２のマトリクス（画素ブロック）から１つの補間画素を求める場合、●印で示す補間画素は、○印で示す原画素の位置に対して縦０．５クロック（１画素の間隔が１クロックに相当）×横０．５クロック分だけシフトされた位置に生成される。これにより、原画像の周辺部が失われてしまうという問題があった。
【０００７】
本発明は、このような問題を解決するために成されたものであり、補間処理によって画像の拡大／縮小を行った場合に、拡大／縮小画像が原画像に対して斜め内側方向にシフトされることによって原画像の周辺部が失われてしまうという不都合を防止できるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上記した課題を解決するために、本発明では、原画像の有効画素の外側にｋクロック分の仮想画素を付加した範囲を処理範囲として、当該処理範囲内の互いに隣接するｍ×ｎ画素からなる画素ブロック毎に代表値を算出し、算出した代表値に対して補間演算を行うことによって、所定の倍率に応じた補間位置における各画素の画素値を求めるようにしている。
【発明の効果】
【０００９】
上記のように構成した本発明によれば、原画像の有効画素の外側にｋクロック分の仮想画素を付加した上で、互いに隣接するｍ×ｎ画素からなる画素ブロック毎に代表値を算出することにより、代表値により構成される画像の有効範囲は、原画像の有効範囲より外側に所定量だけ広くシフトされる。このように有効範囲が外側にシフトされた代表値に対して補間演算を行うと、補間画素により構成される画像の有効範囲は内側にシフトするが、その結果は、原画像の有効範囲と同じものとなる。これにより、補間処理によって画像の拡大／縮小を行った場合でも、原画像の周辺部が失われてしまうという不都合を防止することができる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態を図面に基づいて説明する。図１は、本実施形態による画像拡大縮小装置の構成例を示す図である。図２は、本実施形態の画像拡大縮小装置により処理される画像の有効範囲を示す図である。図３は、本実施形態による画像拡大縮小装置の動作原理を説明するための図である。
【００１１】
図１において、１は代表値算出部であり、原画像の有効画素の外側にｋクロック分（ｋは１以上の整数）の仮想画素を付加した範囲を処理範囲として、当該処理範囲内の互いに隣接するｍ×ｎ画素（ｍ，ｎは２以上の整数）からなる画素ブロック毎に代表値を算出する。２は補間処理部であり、代表値算出部１により算出された代表値に対して補間演算を行うことによって、所定の倍率に応じた補間位置における各画素の画素値を求める。
【００１２】
図２および図３は、画像の拡大／縮小処理を行う最小画素ブロック（以下、ユニットマトリクスと呼ぶ）として、２×２画素から成る画素ブロックを設定し、原画像を１倍する処理の例を示している。ここでは、ユニットマトリクスを構成する４つの画素値に対して補間演算を行うことによって、１倍という倍率に応じた補間位置、すなわち、ユニットマトリクスの中央に１つの補間画素値を設定する例を示している。
【００１３】
図２において、○印は原画像の有効画素（原画素）であり、実線の矩形２１は原画像の有効範囲を示している。ここに示すように、原画像は、２次元空間上に等間隔に配置された複数の画素によって構成されている。また、■印は原画像の外側に付加したｋクロック分（図２の例ではｋ＝１）の仮想画素である。この仮想画素を含む画像の範囲が、代表値算出部１による演算の処理範囲である。仮想画素の値は、例えばゼロとする。
【００１４】
また、△印は代表値の画素（代表画素）であり、点線の矩形２２は代表画素によって構成される画像の有効範囲を示している。なお、図２では代表画素の一部のみを図示している。この代表画素による画像の有効範囲２２が、補間処理部２による補間演算の対象範囲である。また、△印で示す代表画素の画素値が、補間処理部２による補間演算の対象である。
【００１５】
図３に示すように、ユニットマトリクスが２×２画素から成る画素ブロックである場合、原画像の外側に付加する仮想画素は、原画像の周囲に１クロック分である。また、代表値を算出する際に設定する画素ブロックの大きさも、２×２画素となる（ｍ＝ｎ＝２）。代表値算出部１は、２×２画素からなる画素ブロック毎に代表値を算出し、算出した代表値を画素ブロックの中央に配置する（点線の矢印）。代表値を求める演算としては、例えば、画素ブロックを構成する４つの画素値を平均化する演算を用いることが可能である。
【００１６】
補間処理部２は、代表値算出部１により求められた代表画素を対象としてユニットマトリクスを設定し、ユニットマトリクスを構成する２×２画素の代表値に対して補間演算を行うことによって、１倍という倍率に応じた補間位置（ユニットマトリクスの中央）における各画素の画素値を求める（実線の矢印）。この図３から明らかなように、原画素の位置と補間画素の位置は一致している。
【００１７】
なお、ここではユニットマトリクスとして、２×２画素から成る画素ブロックを設定する例について説明したが、これに限定されない。例えば、４×４画素から成る画素ブロックをユニットマトリクスとしても良い。図４および図５は、ユニットマトリクスの大きさを４×４画素として原画像を１倍する処理の例を示す図である。
【００１８】
図４において、○印は原画像の有効画素（原画素）であり、実線の矩形４１は原画像の有効範囲を示している。また、■印は原画像の外側に付加したｋクロック分（図４の例ではｋ＝２）の仮想画素である。また、△印は代表値の画素（代表画素）であり、点線の矩形４２は代表画素によって構成される画像の有効範囲を示している。なお、図４では代表画素の一部のみを図示している。
【００１９】
図４および図５に示すように、ユニットマトリクスが４×４画素から成る画素ブロックである場合、原画像の外側に付加する仮想画素は、原画像の周囲に２クロック分である。また、代表値を算出する際に設定する画素ブロックの大きさは、２×２画素である。代表値算出部１は、２×２画素からなる画素ブロック毎に代表値を算出し、算出した代表値を画素ブロックの中央に配置する。
【００２０】
補間処理部２は、代表値算出部１により求められた代表画素を対象としてユニットマトリクスを設定し、ユニットマトリクスを構成する４×４画素の代表値に対して補間演算を行うことによって、１倍という倍率に応じた補間位置（ユニットマトリクスの中央）における各画素の画素値を求める。この図４および図５から明らかなように、原画素の位置と補間画素の位置は一致している。
【００２１】
なお、以上では説明を分かりやすくするために、原画像を１倍する例について説明したが、ｓ倍する場合には、補間処理部２による補間演算は、例えば以下のようにして行う。図６〜図８は、４×４画素の画素ブロックをユニットマトリクスとした場合の補間演算の例を説明するための図である。
【００２２】
図６は、ユニットマトリクスとその中央に設定するデータ生成エリアについて説明するための図である。図６において、四角で示したａ〜ｐの縦４個×横４個の代表画素（図５では△印で示すものに相当する）がユニットマトリクスの構成画素である。水平方向の隣接画素のクロック間隔はｃｋ０であり、垂直方向の隣接画素のクロック間隔は１水平クロックである。データ生成エリアは、ユニットマトリクスの中央部における正方形エリア（４つの互いに隣接する画素ｆ，ｇ，ｊ，ｋで囲まれるエリア）であり、補間データはこのデータ生成エリア内で生成する。
【００２３】
補間データの生成方法は、以下の通りである。すなわち、画像の拡大／縮小率ｓに応じてデータ生成エリア内に補間位置を設定し、その設定した補間位置と１６個の画素ａ〜ｐの位置との空間距離をそれぞれ算出する。そして、その空間距離に応じた係数値を所定の補間関数から求める。さらに、各画素ａ〜ｐの画素値と、画素ａ〜ｐ毎に求めた係数値とをそれぞれ乗算して、それらの乗算結果を全て加算することにより、補間データを生成する。
【００２４】
ここで、補間位置について説明する。図７は、補間位置について説明するための図である。図７において、●印は代表値算出部１により求められた代表画素を示し、×印は画像を水平方向にｓＨ倍、垂直方向にｓＶ倍した場合（ｓＨ，ｓＶは任意の正数である。図７はｓＨ≠ｓＶ，１＜ｓＨ＜２，１＜ｓＶ＜２の例）の補間画像の画素を示す。また、４つの代表画素で囲まれる点線の矩形領域の１つ１つがデータ生成エリアを示している。
【００２５】
水平方向に画像をｓＨ倍するということは、水平方向の画素間隔に対して１／ｓＨ倍の間隔で補間位置を設定し、その補間位置の画素値を補間演算により求めて、求めた補間位置の画素値を原画像と同じ元の画素間隔で描くことに相当する。１／ｓＨ倍の間隔で設定した補間位置の補間データを求めるというのは、言い換えると、基準クロックｃｋ０に対してｓＨ倍周波数のクロックｃｋ１（＝ｓＨ・ｃｋ０）の間隔でリサンプリングし、そのリサンプル点の補間データを求めることに相当する。
【００２６】
この場合、データ生成エリア内でのリサンプル点の水平方向の位置は、図７に示すように１クロックｃｋ１毎に１／ｓＨの間隔でずれていく。そして、ｃｋ１の数クロック後には元の画素位置と一致する。図７の例の場合、データ生成エリア内でのリサンプル点の水平方向の位置は、補間画素が５つ離れたところ（代表画素では４つ離れたところ）で元の画素位置と一致する。
【００２７】
また、垂直方向に画像をｓＶ倍するということは、垂直方向の画素間隔に対して１／ｓＶ倍の間隔で補間位置を設定し、その補間位置の画素値を補間演算により求めて、求めた補間位置の画素値を原画像と同じ元の画素間隔で描くことに相当する。１／ｓＶ倍の間隔で設定した補間位置の補間データを求めるというのは、言い換えると、基準クロックｃｋ０に対してｓＶ倍周波数のクロックｃｋ１’（＝ｓＶ・ｃｋ０）の間隔でリサンプリングし、そのリサンプル点の補間データを求めることに相当する。
【００２８】
この場合、データ生成エリア内でのリサンプル点の垂直方向の位置は、図７に示すように１クロックｃｋ１’毎に１／ｓＶの間隔でずれていく。そして、ｃｋ１’の数クロック後には元の画素位置と一致する。図７の例の場合、データ生成エリア内でのリサンプル点の垂直方向の位置は、補間画素が５つ離れたところ（代表画素では３つ離れたところ）で元の画素位置と一致する。
【００２９】
図８は、補間データを求める際に使用する補間関数の例を示す図である。図８に示す補間関数は、補間位置と元の画素位置との空間距離が０のときは係数値が１、当該空間距離が１（基準クロックｃｋ０の１つ分）のときは係数値が０、当該空間距離が２以上のときは係数値が０となるもので、当該空間距離が０より大きく１より小さいときは係数値が正の値、当該空間距離が１より大きく２より小さいときは係数値が負の値となるように設定されている。
【００３０】
上述のように、ユニットマトリクスは縦横４画素の領域に設定しており、データ生成エリアはそのユニットマトリクスの中央部に縦横２画素の範囲で設定している。そのため、データ生成エリア内に設定された補間位置と、ユニットマトリクスの外部にある画素の位置との空間距離は、必ず２以上となる。そして、図８に示すような補間関数を用いた場合、空間距離が２以上であれば、係数値は必ず０となる。したがって、ユニットマトリクスの外部にある代表画素の画素値は、補間データに全く影響を与えない。つまり、ユニットマトリクス内の画素値だけで全ての補間演算が完結する。
【００３１】
以上のように原画像をｓ倍（水平方向にｓＨ倍、垂直方向にｓＶ倍）するときも、代表値算出部１は、原画素に対して仮想画素を付加した処理範囲内において、互いに隣接する２×２画素からなる画素ブロック毎に代表値を算出する。ただし、算出した代表値の画素ブロック内での配置位置が、原画像を１倍するときとは異なる。すなわち、図９に示すように、１つの画素ブロックを構成する４つの画素のうち、右列側の画素から左方向に対してｓＨ倍周波数のクロックｃｋ１の間隔だけ離れていて、下列側の画素から上方向に対してｓＶ倍周波数のクロックｃｋ１’の間隔だけ離れた位置に代表画素を配置する。
【００３２】
そして、補間処理部２が、代表値算出部１により算出された代表値に対して、上述の図６〜図８で説明した補間演算を行うことによって、拡大／縮小率ｓＨ，ｓＶに応じた補間位置における各画素の画素値を求める。このとき補間位置は、４つの代表画素により構成されるデータ処理ブロック内において、左列側の画素から右方向に対してｓＨ倍周波数のクロックｃｋ１分、上列側の画素から下方向に対してｓＶ倍周波数のクロックｃｋ１’分だけシフトする。これにより、補間位置は、原画素の位置と一致する。
【００３３】
以上詳しく説明したように、本実施形態では、補間処理を行う際の最小画素ブロックであるユニットマトリクスの大きさに応じて、原画像の有効画素の外側にｋクロック分の仮想画素を付加する。そして、仮想画素を含む処理範囲内において、互いに隣接するｍ×ｎ画素からなる画素ブロック毎に代表値を算出し、算出した代表値に対して補間演算を行うことによって、所定の倍率に応じた補間位置における各画素の画素値を求めるようにしている。
【００３４】
これにより、代表値により構成される画像の有効範囲は、原画像の有効範囲より外側に所定量だけ広くシフトされる。このように有効範囲が外側にシフトされた代表値に対して補間演算を行うと、補間値により構成される画像の有効範囲は内側に所定量だけシフトするが、その結果は、原画像の有効範囲と同じものとなる。したがって、補間処理によって画像の拡大／縮小を行った場合でも、原画像の周辺部が失われてしまうという不都合を防止することができる。
【００３５】
以上に説明した本実施形態による画像拡大縮小装置は、これをハードウェア構成によって実現しても良いし、ＤＳＰ（Digital Signal Processor）やソフトウェア、ゲートアレイ、ＦＰＧＡ（Field Programmable Gate Array）などによって実現することも可能である。例えばソフトウェアによって実現する場合、上記実施形態の画像拡大縮小装置は、実際にはコンピュータのＣＰＵあるいはＭＰＵ、ＲＡＭ、ＲＯＭなどを備えて構成され、ＲＡＭやＲＯＭに記憶されたプログラムが動作することによって実現できる。
【００３６】
したがって、コンピュータが上記実施形態の機能を果たすように動作させるプログラムを例えばＣＤ−ＲＯＭのような記録媒体に記録し、コンピュータに読み込ませることによって実現できるものである。上記プログラムを記録する記録媒体としては、ＣＤ−ＲＯＭ以外に、フレキシブルディスク、ハードディスク、磁気テープ、光ディスク、光磁気ディスク、ＤＶＤ、不揮発性メモリカード等を用いることができる。また、上記プログラムをインターネット等のネットワークを介してコンピュータにダウンロードすることによっても実現できる。
【００３７】
なお、上記実施形態では、代表値を求める演算として、画素ブロックを構成する４つの画素値を平均化する演算を用いる例について説明しているが、これに限定されるものではない。例えば、所定の補間関数（例えば、図８に示す補間関数）を用いて、補間処理部２と同様の補間処理によって代表画素の画素値を求めるようにしても良い。
【００３８】
また、本実施形態の画像拡大縮小装置は、静止画の拡大／縮小にも動画の拡大／縮小にも適用することが可能である。ここで、上記実施形態では、原画像の周囲にｋクロック分の仮想画素を付加するようにしているが、動画の場合にはこれに限定されない。例えば、原画像の有効範囲の周囲に少なくともｋクロック分のブランキング期間を設定し、当該ブランキング期間中の値（ゼロ）を仮想画素として扱うようにしても良い。
【００３９】
また、上記実施形態では、仮想画素の画素値をゼロとする例について説明したが、これに限定されるものではない。例えば、原画像の最外周に位置する画素の画素値と同じ値を仮想画素の画素値とするようにしても良い。
【００４０】
その他、上記実施形態は、何れも本発明を実施するにあたっての具体化の一例を示したものに過ぎず、これによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその精神、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【産業上の利用可能性】
【００４１】
本発明は、デジタル画像の拡大／縮小を行う装置に有用である。本発明の画像拡大縮小装置は、静止画および動画の拡大／縮小に適用することが可能である。
【図面の簡単な説明】
【００４２】
【図１】本実施形態による画像拡大縮小装置の構成例を示す図である。
【図２】本実施形態の画像拡大縮小装置により処理される画像の有効範囲の一例を示す図である。
【図３】本実施形態による画像拡大縮小装置の動作原理の一例を説明するための図である。
【図４】本実施形態の画像拡大縮小装置により処理される画像の有効範囲の他の例を示す図である。
【図５】本実施形態による画像拡大縮小装置の動作原理の他の例を説明するための図である。
【図６】本実施形態において用いるユニットマトリクスとデータ生成エリアについて説明するための図である。
【図７】本実施形態による補間位置について説明するための図である。
【図８】本実施形態において用いる補間関数の例を示す図である。
【図９】本実施形態において画像をｓ倍するときに配置する代表画素の位置を示す図である。
【図１０】従来の問題点を説明するための図である。
【符号の説明】
【００４３】
１  代表値算出部
２  補間処理部
【図１】
2008021126.tif 000003
【図２】
2008021126.tif 000004
【図３】
2008021126.tif 000005
【図４】
2008021126.tif 000006
【図５】
2008021126.tif 000007
【図６】
2008021126.tif 000008
【図７】
2008021126.tif 000009
【図８】
2008021126.tif 000010
【図９】
2008021126.tif 000011
【図１０】
2008021126.tif 000012