(57)【要約】  【課題】  画像サイズの縮小を行うことができる、回路規模が小さい画像縮小装置、及び撮像装置を提供する。  【解決手段】  演算部１１は、画像データの各画素データの入力を順に受け付け、入力に同期してカウンタ１１１がｍの間隔でインクリメントする値ａを、周期が２Ｌの窓関数ｗ（ｘ）を用いてＬＵＴ１１２がｗ（ａ／ｎ）へ変換し、乗算器１１３は入力データとｗ（ａ／ｎ）とを乗算し、加算器１１４及びシフトレジスタ１１５は乗算器１１３の出力を積算することにより、ｍ／ｎに縮小された画像データの画素データに対応する畳み込み演算が行われる。２Ｌ個の演算部を入力に対して並列に備え、カウンタの値を各演算部でｎずつずらすことにより、各演算部で、縮小後の画像データの各画素での画素データが順に計算される。演算部の数は窓関数の周期で決まり、従来よりも画像縮小装置の回路規模が小さくなる。【選択図】        図２
2005117501.tif 000002
【特許請求の範囲】
【請求項１】
２Ｌ（Ｌは自然数）の周期を有し、実数ｘの関数である窓関数ｗ（ｘ）を用い、画像データを構成する画素数を削減して画像サイズをｍ／ｎ（ｍ及びｎはｎ≧ｍの自然数）に縮小する画像縮小装置において、
縮小前の画像データの各画素データを順に受け付ける手段と、
各画素データの受け付けに同期して、ｍずつインクリメントする値ａ（ａは整数）の関数ｗ（ａ／ｎ）を発生する手段と、
該手段が発生したｗ（ａ／ｎ）と画素データとを乗算する乗算手段と、
該乗算手段の乗算結果を順に積算したデータを記憶する記憶手段と、
前記ａの値がＬ×ｎ以上になる場合に、前記記憶手段に、記憶しているデータを縮小後の画像データの画素データとして出力させ、前記データをクリアさせる手段と
を備えることを特徴とする画像縮小装置。
【請求項２】
２Ｌ（Ｌは自然数）の周期を有し、実数ｘの関数である窓関数ｗ（ｘ）を用い、画像データを構成する画素数を削減して画像サイズをｍ／ｎ（ｍ及びｎはｎ≧ｍの自然数）に縮小する画像縮小装置において、
縮小前の画像データの各画素データを順に受け付ける２Ｌ個の演算部を備え、
各演算部は、
各画素データの受け付けに同期して、ｍずつインクリメントし、Ｌ×ｎ以上の値になる場合に前記値から２Ｌ×ｎを引いた値になる値ａ（ａは整数）の関数ｗ（ａ／ｎ）を発生する手段と、
該手段が発生したｗ（ａ／ｎ）と画素データとを乗算する乗算手段と、
該乗算手段の乗算結果を順に積算したデータを記憶する記憶手段と、
前記値ａがＬ×ｎ以上の値から２Ｌ×ｎを引いた値になる場合に、前記記憶手段に、記憶しているデータを出力させ、前記データをクリアさせる手段と
を有し、
各演算部は、互いに並列に縮小前の画像データの各画素データを受け付ける構成としてあり、
前記値ａは、各演算部で順にｎずつずれているようになしてあり、
更に、
各演算部の前記記憶手段が出力したデータを、縮小後の画像データの画素データとして順に蓄積して記憶する蓄積手段を備えることを特徴とする画像縮小装置。
【請求項３】
２Ｌ（Ｌは自然数）の周期を有し、実数ｘの関数である窓関数ｗ（ｘ）を用い、画像データを構成する画素数を削減して画像サイズをｍ／ｎ（ｍ及びｎはｎ≧ｍの自然数）に縮小する画像縮小装置において、
縮小前の画像データの各画素データを順に受け付ける２Ｌ個の演算部を備え、
各演算部は、
各画素データの受け付けに同期してｍずつインクリメントする値ａ（ａは整数）を出力し、出力すべき値がＬ×ｎ以上になる場合に前記値から２Ｌ×ｎを引いた値ａを出力するカウンタと、
該カウンタが出力した値ａを、ｗ（ａ／ｎ）へ変換して出力する変換手段と、
該変換手段の出力と画素データとを乗算して出力する乗算手段と、
入力されたデータを記憶して出力する記憶手段と、
該記憶手段が記憶しているデータをフィードバックする手段と、
前記乗算手段の出力と前記記憶手段からフィードバックされた前記データとを加算して前記記憶手段へ入力する加算手段と、
前記カウンタが出力すべき値ａが、Ｌ×ｎ以上の値から２Ｌ×ｎを引いた値になる場合に、前記記憶手段が記憶しているデータをクリアさせる手段と、
前記カウンタが出力すべき値ａが、Ｌ×ｎ以上の値から２Ｌ×ｎを引いた値になる場合に、所定の信号を出力する手段と
を有し、
各演算部は、互いに並列に縮小前の画像データの各画素データを受け付ける構成としてあり、
前記カウンタは、各演算部で順にｎずつずらした値ａを出力する構成としてあり、
更に、各演算部の前記記憶手段からの出力、及び各演算部からの前記所定の信号を受け付け、一の演算部から前記信号を受け付けた場合に、前記演算部から受け付けている前記記憶手段の出力を選択して、縮小後の画像データの画素データとして出力する選択手段と、
該選択手段が出力した縮小後の画像データの画素データを順に蓄積して記憶する蓄積手段と
を備えることを特徴とする画像縮小装置。
【請求項４】
前記演算部は、縮小前の画像データの各画素データを、画像の水平方向へ順に受け付ける構成としてあり、
前記記憶手段はシフトレジスタであり、前記蓄積手段はラインメモリであることを特徴とする請求項２又は３に記載の画像縮小装置。
【請求項５】
前記演算部は、画像の各水平ライン上の複数の画素データを、画像の垂直方向へ順に受け付ける構成としてあり、
前記記憶手段はラインメモリであり、前記蓄積手段はフレームメモリであることを特徴とする請求項２又は３に記載の画像縮小装置。
【請求項６】
請求項１乃至５のいずれかひとつに記載の画像縮小装置を備えることを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル画像の縮小処理を行う画像縮小装置及び撮像装置に関する。
【背景技術】
【０００２】
近年では、ＣＣＤを利用した撮像素子で画像を読み込んで作成した画像データ、又はスキャナ装置で紙上の画像を読み取ることで作成した画像データなどの、デジタル化された画像データが大いに使用されている。また、ファクシミリ通信、又は画像放送などで扱われる画像データとして、デジタル化された画像データを使用する機会が多くなっている。デジタル画像データは、２次元配列された複数の画素から構成されている。画像データを記録媒体に記録する、又は画像をディスプレイに表示する等のために、撮像素子で作成した任意の画素数の画像データを所定の画素数で規定されたフォーマットへ変換する際、又はハイビジョンフォーマット等の高画質で記録されている画像データをＮＴＳＣフォーマット等の低画質の画像データへ変換する際などには、画像データの画素数を所定の画素数まで減らして画像サイズの縮小を行う必要がある。
【０００３】
画像サイズの縮小を行うためには、従来の方法では、ＦＩＲフィルタを用いて周波数帯域制限と画素の補間とを行うのが一般的であった。画素の補間を行う補間フィルタとして、平均補間の処理を行う平均補間フィルタ、又はｓｉｎｃ関数と呼ばれる関数を用いて演算を行うｓｉｎｃ関数フィルタ等を用いる方法が知られている。特許文献１では、撮像素子を用いて撮影した画像を、画像サイズを縮小して出力画像へ変換する撮像装置が開示されており、ＦＩＲフィルタを用いて画像データの画素数を減らし、画像サイズを縮小する技術が開示されている。
【０００４】
図１０は、ＦＩＲフィルタを用いて構成した従来の補間フィルタの構造例である。図に示した補間フィルタは、シフトレジスタ６ｎ、係数発生器８ｎ、及び係数発生器８ｎからの係数と入力信号とを乗算する乗算器７ｎを一組とする複数組の回路、並びに加算器９１からなる。各シフトレジスタは直列に接続されており、初段のシフトレジスタ６ｎと乗算器７ｎとに外部からの入力データが入力され、シフトレジスタ６ｎからの出力が次段のシフトレジスタと乗算器とに入力される構成となっている。また、各乗算器からの出力が、全て加算器９１に入力される構成となっている。そして、加算器９１にはラインメモリ９２が接続されており、加算器９１からの出力が補間フィルタの出力としてラインメモリ９２に記憶される構成となっている。
【０００５】
次に、窓関数を用いて画像サイズの縮小を行う例を示す。図１１は、窓関数の一例であるＬａｎｃｚｏｓ３関数を示す特性図である。Ｌａｎｃｚｏｓ３関数は、次式（１）で表される。
【０００６】
【数１】
2005117501.tif 000003
【０００７】
ここで、縮小率を３／４とする。図１２は、縮小率が３／４である場合の縮小前後の座標を用いて縮小の概念を示す模式図である。図中のｘ軸は縮小前の各画素に対応する座標を示し、ｙ軸は縮小後の各画素に対応する座標を示す。また、図中の曲線はＬａｎｃｚｏｓ３関数である。ｘ座標上の各点は縮小前の画像データの画素データを有しており、縮小処理によって、ｘ座標上の４点がｙ座標上の３点へ変換される。
【０００８】
ｙ座標上の３に対応する縮小後の画素データを計算するためには、Ｌａｎｃｚｏｓ３関数をｙ座標に合わせてスケーリングし、Ｌａｎｃｚｏｓ３関数の横軸の０の位置をｙ座標上の３に合わせ、更にこの関数をｘ座標上の各点に対応させて畳み込み演算を行う。このとき、ｙ座標上の０，１，２，３，４，５，６がＬａｎｃｚｏｓ３関数の横軸の−３，−２，−１，０，１，２，３に対応し、ｘ座標上の０，１，２，３，４，５，６，７の夫々は、Ｌａｎｃｚｏｓ３関数の横軸の−１２／４，−９／４，−６／４，−３／４，０，３／４，６／４，９／４の夫々に対応する。縮小前の各画素データを、Ｘ（０），Ｘ（１），…と表し、横軸の値がｘのときのＬａｎｃｚｏｓ３関数の値をＬａ（ｘ）と表すと、ｙ座標上の３に対応する畳み込み演算の結果は、以下の（２）式となり、これが、ｙ座標上の３に対応する縮小後の画素データＹ（３）となる。
Ｘ（０）Ｌａ（−３）＋Ｘ（１）Ｌａ（−９／４）＋Ｘ（２）Ｌａ（−６／４）
＋Ｘ（３）Ｌａ（−３／４）＋Ｘ（４）Ｌａ（０）＋Ｘ（５）Ｌａ（３／４）
＋Ｘ（６）Ｌａ（６／４）＋Ｘ（７）Ｌａ（９／４）      …（２）
【０００９】
図１０に示した従来技術のＦＩＲフィルタで前述の縮小処理を行うには、ＦＩＲフィルタをタップ数八で構成する必要がある。入力信号として縮小前の画像データの各画素データＸ（０），Ｘ（１），…を順にＦＩＲフィルタへ入力し、シフトレジスタ６１，６２，…，６８での値がデータＸ（０），Ｘ（１），…，Ｘ（７）であるときに係数発生器８１，８２，…，８８での係数の値をＬａ（−３），Ｌａ（−９／４），…，Ｌａ（９／４）とすると、加算器の出力は前述の（２）式となり、縮小処理が行われる。
【００１０】
図１３は、ｙ座標上の４に対応する縮小後のデータの計算の概念を示す模式図である。ｘ座標上の２，３，４，５，６，７，８，９の夫々は、Ｌａｎｃｚｏｓ３関数の横軸の−１０／４，−７／４，−４／４，−１／４，２／４，５／４，８／４，１１／４の夫々に対応し、ｙ座標上の４に対応する畳み込み演算の結果は、以下の（３）式となる。
Ｘ（２）Ｌａ（−１０／４）＋Ｘ（３）Ｌａ（−７／４）＋Ｘ（４）Ｌａ（−１）
＋Ｘ（５）Ｌａ（−１／４）＋Ｘ（６）Ｌａ（２／４）＋Ｘ（７）Ｌａ（５／４）
＋Ｘ（８）Ｌａ（２）＋Ｘ（９）Ｌａ（１１／４） …（３）
これが、ｙ座標上の４に対応する縮小後の画素データＹ（４）となり、前述と同様にしてＦＩＲフィルタを用いて縮小処理を行うことができる。
【００１１】
以上の如くにして、ＦＩＲフィルタを用いた従来の技術では、縮小後の画像データの各画素データを順に計算し、ラインメモリ９２へ入力することで、画像データの画像サイズを水平方向へ縮小することができる。また、図１０に示したＦＩＲフィルタのシフトレジスタをラインメモリへ、ラインメモリをフレームメモリへ入れ替えて構成し、水平方向へ縮小した画像データを水平ライン順に入力することで、垂直方向へ縮小することが可能である。このようにして、ＦＩＲフィルタを用い、画像データの画素数を減らして画像サイズを縮小する処理を行うことができる。
【特許文献１】特開２００１−８６３９１号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
従来のＦＩＲフィルタを用いて補間フィルタを構成する技術では、前述の如く、いくつかのタップ数を持ったＦＩＲフィルタで演算を行う。より正確な補間の処理を行うためには、タップ数を充分大きくする必要がある。このため、シフトレジスタ又は加算器などの構成要素が増加し、回路規模が大きくなるという問題がある。また、縮小率を変化させるときには、使用すべきタップ数も変化するので、回路の制御が困難になるという問題がある。
【００１３】
本発明は、斯かる事情に鑑みてなされたものであって、その目的とするところは、画像サイズの縮小を行う画像縮小装置にて、縮小前の画素データと窓関数との乗算結果を積算することで畳み込み演算を行って縮小後の画素での画素データを求める演算部を備えることにより、回路規模が小さい画像縮小装置、及び該画像縮小装置を用いた撮像装置を提供することにある。
【課題を解決するための手段】
【００１４】
本発明の画像縮小装置は、２Ｌ（Ｌは自然数）の周期を有し、実数ｘの関数である窓関数ｗ（ｘ）を用い、画像データを構成する画素数を削減して画像サイズをｍ／ｎ（ｍ及びｎはｎ≧ｍの自然数）に縮小する画像縮小装置において、縮小前の画像データの各画素データを順に受け付ける手段と、各画素データの受け付けに同期して、ｍずつインクリメントする値ａ（ａは整数）の関数ｗ（ａ／ｎ）を発生する手段と、該手段が発生したｗ（ａ／ｎ）と画素データとを乗算する乗算手段と、該乗算手段の乗算結果を順に積算したデータを記憶する記憶手段と、前記ａの値がＬ×ｎ以上になる場合に、前記記憶手段に、記憶しているデータを縮小後の画像データの画素データとして出力させ、前記データをクリアさせる手段とを備えることを特徴とする。
【００１５】
本発明においては、画像データの画像サイズを縮小するために、縮小前の画像データの画素データを順に受け付け、所定の窓関数の値と画素データとの乗算結果とを積算することによって、畳み込み演算を行い、縮小後の画像データの画素データを計算する。
【００１６】
本発明の画像縮小装置は、２Ｌ（Ｌは自然数）の周期を有し、実数ｘの関数である窓関数ｗ（ｘ）を用い、画像データを構成する画素数を削減して画像サイズをｍ／ｎ（ｍ及びｎはｎ≧ｍの自然数）に縮小する画像縮小装置において、縮小前の画像データの各画素データを順に受け付ける２Ｌ個の演算部を備え、各演算部は、各画素データの受け付けに同期して、ｍずつインクリメントし、Ｌ×ｎ以上の値になる場合に前記値から２Ｌ×ｎを引いた値になる値ａ（ａは整数）の関数ｗ（ａ／ｎ）を発生する手段と、該手段が発生したｗ（ａ／ｎ）と画素データとを乗算する乗算手段と、該乗算手段の乗算結果を順に積算したデータを記憶する記憶手段と、前記値ａがＬ×ｎ以上の値から２Ｌ×ｎを引いた値になる場合に、前記記憶手段に、記憶しているデータを出力させ、前記データをクリアさせる手段とを有し、各演算部は、互いに並列に縮小前の画像データの各画素データを受け付ける構成としてあり、前記値ａは、各演算部で順にｎずつずれているようになしてあり、更に、各演算部の前記記憶手段が出力したデータを、縮小後の画像データの画素データとして順に蓄積して記憶する蓄積手段を備えることを特徴とする。
【００１７】
本発明の画像縮小装置は、２Ｌ（Ｌは自然数）の周期を有し、実数ｘの関数である窓関数ｗ（ｘ）を用い、画像データを構成する画素数を削減して画像サイズをｍ／ｎ（ｍ及びｎはｎ≧ｍの自然数）に縮小する画像縮小装置において、縮小前の画像データの各画素データを順に受け付ける２Ｌ個の演算部を備え、各演算部は、各画素データの受け付けに同期してｍずつインクリメントする値ａ（ａは整数）を出力し、出力すべき値がＬ×ｎ以上になる場合に前記値から２Ｌ×ｎを引いた値ａを出力するカウンタと、該カウンタが出力した値ａを、ｗ（ａ／ｎ）へ変換して出力する変換手段と、該変換手段の出力と画素データとを乗算して出力する乗算手段と、入力されたデータを記憶して出力する記憶手段と、該記憶手段が記憶しているデータをフィードバックする手段と、前記乗算手段の出力と前記記憶手段からフィードバックされた前記データとを加算して前記記憶手段へ入力する加算手段と、前記カウンタが出力すべき値ａが、Ｌ×ｎ以上の値から２Ｌ×ｎを引いた値になる場合に、前記記憶手段が記憶しているデータをクリアさせる手段と、前記カウンタが出力すべき値ａが、Ｌ×ｎ以上の値から２Ｌ×ｎを引いた値になる場合に、所定の信号を出力する手段とを有し、各演算部は、互いに並列に縮小前の画像データの各画素データを受け付ける構成としてあり、前記カウンタは、各演算部で順にｎずつずらした値ａを出力する構成としてあり、更に、各演算部の前記記憶手段からの出力、及び各演算部からの前記所定の信号を受け付け、一の演算部から前記信号を受け付けた場合に、前記演算部から受け付けている前記記憶手段の出力を選択して、縮小後の画像データの画素データとして出力する選択手段と、該選択手段が出力した縮小後の画像データの画素データを順に蓄積して記憶する蓄積手段とを備えることを特徴とする。
【００１８】
また、本発明においては、窓関数ｗ（ｘ）を用いて画像データの画像サイズをｍ／ｎの縮小率で縮小するために、窓関数の周期２Ｌの数だけの演算部を縮小前の画像データの各画素データの入力に対して並列に備え、演算部では、ｍずつインクリメントする値ａを用いたｗ（ａ／ｎ）の値と縮小前の画像データの画素データとの乗算結果を積算することによって、縮小後の画素に対応する畳み込み演算を行い、ａの値を各演算部でｎずつずらすことによって、各演算部で縮小後の画素を一ずつずらした畳み込み演算を行う。これによって、複数の演算部で、縮小後の各画素での画素データを順に計算する。
【００１９】
本発明の画像縮小装置は、前記演算部は、縮小前の画像データの各画素データを、画像の水平方向へ順に受け付ける構成としてあり、前記記憶手段はシフトレジスタであり、前記蓄積手段はラインメモリであることを特徴とする。
【００２０】
また、本発明においては、各演算部は、縮小前の画像データの各画素データを画像の水平方向へ順に受け付けて縮小後の画像データの画素データを計算し、計算した画素データをラインメモリに蓄積することによって、画像データの画像サイズを水平方向へ縮小する。
【００２１】
本発明の画像縮小装置は、前記演算部は、画像の各水平ライン上の複数の画素データを、画像の垂直方向へ順に受け付ける構成としてあり、前記記憶手段はラインメモリであり、前記蓄積手段はフレームメモリであることを特徴とする。
【００２２】
更に、本発明においては、各演算部は、画像の各水平ライン上の各画素での画素データを、画像の垂直方向へ順に受け付け、各水平ライン間で画像サイズを縮小し、縮小後の画素データをフレームメモリに蓄積することにより、画像データの画像サイズを垂直方向へ縮小する。
【００２３】
本発明の撮像装置は、前記発明のいずれかひとつに記載の画像縮小装置を備えることを特徴とする。
【００２４】
また、本発明においては、撮像装置が、本発明の画像縮小装置を備えている。
【発明の効果】
【００２５】
本発明においては、縮小前の画素データを順に受け付け、所定の窓関数の値と画素データとの乗算結果とを積算することによって、畳み込み演算を行い、縮小後の画素データを計算する演算部を備えることにより、画像サイズの縮小を行う画像縮小装置を従来より少ない回路素子で構成することができる。
【００２６】
また、本発明においては、窓関数の周期の数だけの演算部を縮小前の画素データの入力に対して並列に備え、演算部では、ｍずつインクリメントするａを用いたｗ（ａ／ｎ）の値と縮小前の画素データとの乗算結果を積算することによって、縮小後の画素に対応する畳み込み演算を行い、ａの値を各演算部でｎずつずらすことによって、各演算部で縮小後の画素を一ずつずらした畳み込み演算を行い、縮小率ｍ／ｎで縮小した各画素での画素データを計算する。多くのタップ数を要するＦＩＲフィルタを用いる従来の技術に比べて、より少ない回路素子で画像サイズの縮小を行う画像縮小装置を構成することができる。また、ａのインクリメント幅を変化させることによって、回路の構成を変更することなく縮小率を容易に変更することができる。また、画像縮小装置を組み込んだ機器の小型化、又は消費電力の削減を図ることができる。
【００２７】
また、本発明においては、各演算部で、画像の水平ライン上における縮小後の画素データを水平方向へ順に計算し、水平ライン上の縮小後の画素データをラインメモリに蓄積することにより、画像データの画像サイズを水平方向へ縮小することができる。
【００２８】
また、本発明においては、各演算部で、画像の一水平ライン分の画素データを垂直方向へ順に受け付けて、一水平ラインを一単位として縮小を行い、水平ラインの単位で縮小した画素データをフレームメモリに蓄積することにより、画像データの画像サイズを垂直方向へ縮小することができる。更に、画像サイズを水平方向へ縮小する回路の出力に、垂直方向へ縮小する回路の入力が接続された画像縮小装置は、一画面分の画像データの画像サイズを逐次的に縮小することができる。
【００２９】
また、本発明においては、本発明の撮像装置は、本発明の画像縮小装置を組み込んで構成されているため、従来の撮像装置に比べて小型化することができる。また、本発明の画像縮小装置を用いることにより、画像の縮小処理に必要な消費電力の削減が可能となるので、電池を用いて撮像装置を操作させるときの動作時間を長くすることができる。又は、削減された電力を利用して撮像装置の他の機能を拡充することが可能となる等、本発明は優れた効果を奏する。
【発明を実施するための最良の形態】
【００３０】
以下本発明をその実施の形態を示す図面に基づき具体的に説明する。以下では、本発明の画像縮小装置の構成及び機能を、窓関数として周期が６であるＬａｎｃｚｏｓ３関数を用い、縮小率３／４で画像サイズを縮小する場合を例として説明する。
【００３１】
図１は、本発明の画像縮小装置の構成を示すブロック図である。本発明の画像縮小装置は、デジタル画像データの記録装置、又はディスプレイ装置など、デジタル画像データを扱う機器内に組み込まれており、画像サイズを縮小する前の画像データを受け付け、画像サイズを縮小した後の画像データを出力する構成となっている。図中に示した画像縮小装置は、窓関数として式（１）で表されるＬａｎｃｚｏｓ３関数を用いた場合の例である。
【００３２】
本発明の画像縮小装置は、畳み込み演算を行う六個の演算部１１，１２，…，１６を備え、入力データが演算部１１，１２，…，１６へ並列に入力される構成となっている。演算部１１，１２，…，１６はセレクタ（選択手段）２１に接続されており、セレクタ２１はラインメモリ３に接続されている。演算部１１，１２，…，１６の夫々は、セレクタ２１に対して出力データ及び制御信号を出力する構成となっている。セレクタ２１は、演算部１１，１２，…，１６から受け付けた出力データの内、選択した出力データをラインメモリ３へ出力し、ラインメモリ３は、セレクタ２１から受け付けた出力データを順に記憶する構成となっている。
【００３３】
図２は、演算部１１の内部の構成を示すブロック図である。演算部１１は、受け付ける入力データに同期して、所定の間隔でインクリメントする値を出力するカウンタ１１１、カウンタ１１１が出力した値を変換して出力する本発明に係る変換手段であるルックアップテーブル（ＬＵＴ）１１２、及び受け付けた入力データとＬＵＴ１１２の出力とを乗算して出力する乗算器（乗算手段）１１３を備えている。更に、演算部１１は、加算器（加算手段）１１４及びシフトレジスタ１１５を備えている。シフトレジスタ１１５は、加算器１１４から受け付けたデータを記憶し、記憶したデータをセレクタ２１へ出力し、また、記憶しているデータを加算器１１４へフィードバックする構成となっている。加算器１１４は、乗算器１１３からの出力を受け付け、受け付けた乗算器１１３からの出力とシフトレジスタ１１５のフィードバックとを加算してシフトレジスタ１５へ出力する構成となっている。更に、カウンタ１１１は、所定のタイミングで制御信号をシフトレジスタ１１５及びセレクタ２１へ出力する構成となっている。演算部１１は、入力データとして、縮小前の画像データにおける水平ライン上の各画素での画素データを、順に受け付ける構成となっている。
【００３４】
図３は、ＬＵＴ１１２が記憶している数値の対応例を示す概念図である。横軸の値がｘのときのＬａｎｃｚｏｓ３関数の値をＬａ（ｘ）と表している。ＬＵＴ１１２は、図中に示す如く、−１２〜１２までの整数ａにＬａ（ａ／４）が対応したテーブルであり、入力としてカウンタ１１１から値ａを受け付けたときにＬａ（ａ／４）を出力すべく構成されている。その他の演算部１２，１３，…，１６についても、以上のような演算部１１と同様の構成となっている。
【００３５】
次に、演算部１１の動作を説明する。図４は、カウンタ１１１の値、カウンタ１１１が出力する制御信号、演算部１１が受け付ける入力データ、ＬＵＴ１１２が出力する値、及びシフトレジスタ１１５が記憶しているデータを、時刻の経過に合わせて示した概念図である。時刻が０，１，…と経過するのに従って、演算部１１は、縮小前の画像データにおける水平ライン上の各画素での画素データＸ（０），Ｘ（１），…を順に受け付ける。カウンタ１１１は、画素データの受付に同期して、時刻０のとき−１２，時刻１のとき−９，…と、−１２から始めて３ずつインクリメントする値を出力する。また、出力すべき値が１２になった場合には、値を−１２に戻して出力し、インクリメントを続行する。更に、カウンタ１１１は、値を−１２へ戻して出力するときに、制御信号として”１”を出力する。それ以外のときは、カウンタ１１１は、制御信号として”０”を出力している。
【００３６】
ＬＵＴ１１２は、時刻０のときＬａ（−１２／４），時刻１のときＬａ（−９／４），…と、カウンタ１１１の値に対応した値を出力する。乗算器１１３は、画素データとＬＵＴ１１２の出力とを乗算して出力し、加算器１１４は、乗算器１１３の出力とシフトレジスタ１１５のフィードバックとを乗算してシフトレジスタ１１５へ出力する。シフトレジスタ１１５は、加算器１１４の出力を記憶し、記憶したデータをセレクタ２１へ出力し、記憶しているデータを加算器１１４へフィードバックする。この結果、シフトレジスタ１１５は、時刻０のときＸ（０）Ｌａ（−１２／４），時刻１のときＸ（０）Ｌａ（−１２／４）＋Ｘ（１）Ｌａ（−９／４），…と、画素データとＬＵＴ１１２の出力との乗算結果を順に積算したデータを記憶することとなる。
【００３７】
以上の動作により、時刻７のとき、シフトレジスタ１１５が記憶しているデータは、次式（４）となる。
Ｘ（０）Ｌａ（−１２／４）＋Ｘ（１）Ｌａ（−９／４）＋Ｘ（２）Ｌａ（−６／４）
＋Ｘ（３）Ｌａ（−３／４）＋Ｘ（４）Ｌａ（０／４）＋Ｘ（５）Ｌａ（３／４）
＋Ｘ（６）Ｌａ（６／４）＋Ｘ（７）Ｌａ（９／４）      …（４）
この式は、（２）式と同じ式となっている。従って、図１２に示した、縮小前のｘ座標上の４点が縮小後のｙ座標上の３点へ変換されるときの、ｙ座標上の３に対応する、窓関数Ｌａｎｃｚｏｓ３関数による畳み込み演算が行われていることとなる。即ち、時刻７のときにシフトレジスタ１１５が記憶しているデータは、ｙ座標上の３に対応する縮小後の画素データＹ（３）である。
【００３８】
時刻８のとき、カウンタ１１１は、値を−１２へ戻して出力し、また、制御信号として”１”を出力する。シフトレジスタ１１５は、”１”の制御信号を受け付けて、記憶しているデータをクリアする。データがクリアされてフィードバックが０になることにより、加算器１１４の出力はＸ（８）Ｌａ（−１２／４）となり、シフトレジスタ１１５はこの出力を記憶する。
【００３９】
また、セレクタ２１は、時刻８のとき、”１”の制御信号を受け付けて、シフトレジスタ１１５から受け付けていたデータが有効であると判定し、（４）式で表されるシフトレジスタ１１５から受け付けていたデータを、縮小後の画素データＹ（３）としてラインメモリ３へ出力する。ラインメモリ３は、セレクタ２１から受け付けた縮小後の画素データＹ（３）を記憶する。
【００４０】
次に、演算部１１，１２，…，１６が行う全体の動作を説明する。演算部１１，１２，…，１６の夫々が備えるカウンタを、カウンタ１１１，１２１，…，１６１とする。図５は、カウンタ１１１，１２１，…，１６１が出力する値を、時刻の経過に合わせて示した概念図である。各カウンタの値は、順に互いに４だけずれており、画素データの受付に同期して３ずつインクリメントする値を出力する構成となっている。また、各カウンタは、出力すべき値が１２以上になった場合には、その値から２４を引いた値へ戻して出力し、インクリメントを続行する構成となっている。また、各カウンタは、１２以上になった値から２４を引いた値へ戻して出力するときに、制御信号として”１”を出力する。
【００４１】
以上の如くに各演算部が動作することにより、縮小後の各画素での画素データが計算される。例えば演算部１６は、時刻９のとき、シフトレジスタ１６５が記憶しているデータが、次式（５）となる。
Ｘ（２）Ｌａ（−１０／４）＋Ｘ（３）Ｌａ（−７／４）＋Ｘ（４）Ｌａ（−４／４）  ＋Ｘ（５）Ｌａ（−１／４）＋Ｘ（６）Ｌａ（２／４）＋Ｘ（７）Ｌａ（５／４）
＋Ｘ（８）Ｌａ（８／４）＋Ｘ（９）Ｌａ（１１／４）    …（５）
この式は、（３）式と同じ式となっている。従って、ｙ座標上の４に対応する、窓関数Ｌａｎｃｚｏｓ３関数による畳み込み演算が行われていることとなり、このデータは、ｙ座標上の４に対応する縮小後の画素データＹ（４）である。時刻１０のとき、カウンタ１６１は制御信号として”１”を出力し、セレクタ２１は、縮小後の画素データＹ（４）を選択して出力し、ラインメモリ３は縮小後の画素データＹ（４）を記憶する。
【００４２】
図６は、縮小前後の画素に対応する座標と各演算部での計算に用いる窓関数とを示した模式図である。ｘ軸上の各点は、縮小前の画素に対応し、ｙ軸上の各点は縮小後の画素に対応する。各演算部が並列に縮小前の各画素での画素データＸ（０），Ｘ（１），…を受け付け、各カウンタが順に３ずつずれた値を出力することにより、各演算部は、順に一つずつずれた縮小後の画素での、窓関数による畳み込み演算を行い、縮小後の各画素での画素データを順に出力する。図中に示す如く、演算部１４，１３，１２，１１は、順に、縮小後の画素データＹ（０），Ｙ（１），Ｙ（２），Ｙ（３）を計算し、次に、演算部１６，１５は順に縮小後の画素データＹ（４），Ｙ（５）を計算し、以下、順に縮小後の画素データを計算する。ラインメモリ３は、縮小後の画素データを順に記憶し、水平ライン上の縮小後の画素データを全て記憶した時点で、他の処理を行うために外部へ出力する。水平ライン上の縮小後の画素データを全て計算した場合には、本発明の画像縮小装置は、次の水平ライン上の画素データを受け付け、縮小処理を行う。
【００４３】
以上詳述した如く、本発明の画像縮小装置は、畳み込み演算に用いる窓関数の周期の数だけの演算部を縮小前の画像データの画素データの入力に対して並列に備え、各演算部では、縮小後の画素に対して中心を一ずつずらした窓関数と縮小前の画素データとの乗算を積算することによって、縮小後の各画素での畳み込み演算を行う。畳み込み演算の結果は、縮小後の画素データとなるので、複数の演算部は、縮小後の各画素での画素データを順に計算することになる。画像サイズを３／４に縮小する補間フィルタをＦＩＲフィルタを用いて構成する従来の技術では、図１０にてｎ＝８とした８のタップ数を必要としていたのに対して、本発明では、六個の演算部を用いて構成することができる。即ち、本発明では、従来と同等の処理を同様の処理速度で行うことができる画像縮小装置を、より少ない回路素子で構成することができる。
【００４４】
また、本発明の画像縮小装置は、各カウンタでのインクリメントの量を変化させることにより、縮小率を変化させることができる。インクリメントの量を３にした場合の縮小率が３／４であるので、例えばインクリメントの量を１にした場合は、縮小率は１／４となる。この場合は、４点の画素が１点の画素へ変換されることとなり、カウンタ１１１の出力は、−１２，−１１，−１０，…，１０，１１となり、演算部１１の出力は、以下の（６）式となる。
Ｘ（０）Ｌａ（−１２／４）＋Ｘ（１）Ｌａ（−１１／４）＋Ｘ（２）Ｌａ（−１０／４）＋…＋Ｘ（２２）Ｌａ（１０／４）＋Ｘ（２３）Ｌａ（１１／４）      …（６）
【００４５】
演算部１１において、縮小前の各画素での画素データＸ（０），Ｘ（１），…，Ｘ（２３）から、畳み込み演算によって１／４の縮小率で縮小後の画素データＹ（３）が計算されることがわかる。各演算部にて同様の計算を行い、画像サイズを１／４に縮小する処理を行うことができる。ＦＩＲフィルタを用いた従来の技術で前述と同様の計算を行うには、２４のタップ数が必要である。
【００４６】
このように、従来の技術では、縮小率を変化させるためにタップ数を変化させる必要がある。従って、縮小率が可変である補間フィルタを構成するためには、従来の技術では、予め多いタップ数で補間フィルタを構成しておき、縮小率に応じて処理に用いるタップ数を変化できるように構成する必要がある。このため、回路の規模が大きくなり、また、制御が困難である。これに対して、本発明では、必要な演算部の数は六個のままであって、カウンタのインクリメントの量を変更するだけで縮小率を変化させることができるので、本発明の画像縮小装置は、縮小率が可変でありながら、回路の規模が小さく、制御が容易である。
【００４７】
また、本発明の画像縮小装置は、少ない回路素子で構成してあって回路の規模が小さいので、デジタル画像データの記録装置、又はディスプレイ装置などの、本発明の画像縮小装置を組み込んだ機器の小型化が可能となる。また、本発明の画像縮小装置は、回路の規模が小さく、制御が容易であるので、消費電力が小さくなる。このため、本発明の画像縮小装置を組み込んだ機器の消費電力を削減する、又は削減された電力を利用して機器の他の機能を拡充することが可能となる。
【００４８】
本実施の形態においては、水平ライン上の画素データを順に処理することにより、水平方向へ画像サイズを縮小するための形態を示したが、垂直方向へも画像サイズを縮小するための形態とすることも可能である。
【００４９】
図７は、水平方向及び垂直方向へ画像サイズを縮小することができる本発明の画像縮小装置の構成を示すブロック図である。水平方向の縮小を行うための前述の画像縮小装置のラインメモリ３に対して、演算部４１，４２，…，４６が並列に接続されており、演算部４１，４２，…，４６はセレクタ２２に接続され、セレクタ２２はフレームメモリ５に接続されている。ラインメモリ３は、演算部４１，４２，…，４６に対して、水平方向へ縮小された後の画素データを出力する構成となっている。また、演算部４１，４２，…，４６の夫々は、セレクタ２２に対して出力データ及び制御信号を出力し、セレクタ２２は、演算部４１，４２，…，４６から受け付けた出力データの内、選択した出力データをフレームメモリ５へ出力し、フレームメモリ５は、セレクタ２２から受け付けた出力データを順に記憶する構成となっている。
【００５０】
図８は、演算部４１の内部の構成を示すブロック図である。演算部４１は、演算部１１，１２，…，１６と同様のカウンタ４１１、ＬＵＴ４１２、乗算器４１３、及び加算器４１４を備えており、更にシフトレジスタの代わりにラインメモリ４１５を備えている。
【００５１】
演算部４１は、水平方向へ縮小された一ライン分の画素データを、ラインメモリ３から一度に受け付け、複数ライン分の画素データをラインの順に受け付ける。カウンタ４１１は、３のカウント幅でインクリメントし、ＬＵＴ４１２はＬａｎｃｚｏｓ３関数の値を出力し、乗算器４１３は、ＬＵＴ４１２の出力と受け付けた一ライン分の画素データとを乗算し、加算器４１４は、乗算器４１３の出力とラインメモリ４１５からのフィードバックとを加算してラインメモリ４１５に入力する。ラインメモリ４１５は、加算器４１４から受け付けたデータを記憶して出力し、記憶しているデータをフィードバックする。演算部４２，…，４６も同様の構成であり、各カウンタは、互いに４ずつずれた値でインクリメントを行う。
【００５２】
各カウンタは、カウントの値が１２以上となるときに前述と同様の制御信号を出力し、セレクタ２２は、制御信号に従って、ラインメモリからの出力を選択し、フレームメモリ５へ入力する。以上の処理により、垂直方向へ縮小した水平ライン毎に、窓関数による畳み込み演算が行われ、垂直方向へ画像サイズを縮小した水平ライン毎の画素データが計算される。フレームメモリ５には、水平方向及び垂直方向へ画像サイズを縮小した一画面分の画素データからなる画像データが記憶される。従って、この形態の画像縮小装置は、一画面分の画像データの画像サイズを逐次的に縮小する処理を行うことができる。この形態の画像縮小装置を組み込んだ機器では、フレームメモリ５が記憶している画像データをディスプレイに出力する等の処理を行うことができる。
【００５３】
また、本実施の形態においては、本発明の画像縮小装置として複数の演算部を備えた形態を示したが、単数の演算部を備え、該演算部によって縮小後の画素データを順に計算する形態であってもよい。この場合は、リアルタイムで画像サイズを縮小することは困難であるが、より小さな構成とすることができる。
【００５４】
なお、以上の説明では、窓関数として、周期が６であるＬａｎｃｚｏｓ３関数を用いる画像縮小装置を構成した例について説明したが、他の窓関数を用いる本発明の画像縮小装置を構成することもできる。他の窓関数を用いた場合は、演算部の数を、窓関数の周期と同じ数にして構成する。例えば、次式（７）で定義されるＬａｎｃｚｏｓ２関数を窓関数として用いてもよい。
【００５５】
【数２】
2005117501.tif 000004
【００５６】
Ｌａｎｃｚｏｓ２関数は周期が４であるので、この場合は、４個の演算部を用いて本発明の画像縮小装置を構成することができる。
【００５７】
本発明の画像縮小装置は、より一般的には、周期２Ｌの窓関数ｗ（ｘ）を用いて縮小率ｍ／ｎで画像サイズを縮小する場合には、２Ｌ個の演算部を備え、各演算部でのカウンタの値はｎずつずれており、カウンタの値は、ｍずつインクリメントして、出力すべき値がＬ×ｎ以上になる場合には、その値から２Ｌ×ｎを引いた値へ戻して出力し、ＬＵＴは、カウンタの値ａに対してｗ（ａ／ｎ）を出力するように構成される。ここで、Ｌ、ｍ及びｎは自然数である。この構成により、前述のごとく画像サイズの縮小を行うことができる。また、各演算部でのカウンタのインクリメントの量であるｍの値を変更することによって、縮小率ｍ／ｎを変化させることができる。水平方向及び垂直方向へ画像サイズを縮小する画像縮小装置の場合は、水平方向の縮小を行う部分と垂直方向の縮小を行う部分とで構成を変えることにより、水平方向の縮小率と垂直方向の縮小率とが異なった形態としてもよい。
【００５８】
なお、本発明の画像縮小装置が備える演算部は、ハードウェアで演算を行う形態を示したが、演算部は、演算の一部又は全部をソフトウェアで行う形態であってもよい。また、窓関数の値を発生する手段として、カウンタ及びＬＵＴを用いた形態を示したが、係数発生器を用いた形態であってもよい。また、本実施の形態においては、シフトレジスタ又はラインメモリの記憶素子が記憶しているデータをフィードバックする機構と加算器とを用いることで、畳み込み演算を行う形態を示しているが、縮小前の画素データと窓関数の値との乗算結果を順に積算して記憶することができる記憶手段を用いた形態であってもよい。
【００５９】
図９は、本発明の撮像装置の内部の構成を示すブロック図である。本発明の撮像装置は、制御プログラムを記憶するメモリ及び演算を行う演算装置などからなる制御部２００と、ＣＣＤ素子などを用いた撮像部３００と、Ａ／Ｄ変換部４００と、本発明の画像縮小装置１００と、液晶ディスプレイ等の出力部５００と、画像データを記憶する画像メモリ６００とを備えている。撮像部３００が生成したデータは、Ａ／Ｄ変換部４００によりＡ／Ｄ変換されてデジタルの画像データとなり、この画像データの画像サイズを本発明の画像縮小装置１００が縮小する。画像サイズが縮小された画像データをデータメモリ６００が記憶し、また、出力部５００が出力することができる。制御部２００は、これら各部の動作を制御する。本発明の撮像装置は、本発明の画像縮小装置１００を組み込んで構成されているため、従来の撮像装置に比べて小型化することができる。また、本発明の画像縮小装置１００を用いることにより、画像の縮小処理に必要な消費電力の削減が可能となるので、電池を用いて撮像装置を操作させるときの動作時間を長くすることができる。又は、削減された電力を利用して撮像装置の他の機能を拡充することが可能となる。
【図面の簡単な説明】
【００６０】
【図１】本発明の画像縮小装置の構成を示すブロック図である。
【図２】演算部の内部の構成を示すブロック図である。
【図３】ＬＵＴ１１２が記憶している数値の対応例を示す概念図である。
【図４】カウンタの値、カウンタが出力する制御信号、演算部が受け付ける入力データ、ＬＵＴが出力する値、及びシフトレジスタが記憶しているデータを、時刻の経過に合わせて示した概念図である。
【図５】カウンタが出力する値を、時刻の経過に合わせて示した概念図である。
【図６】縮小前後の画素に対応する座標と各演算部での計算に用いる窓関数とを示した模式図である。
【図７】水平方向及び垂直方向へ画像サイズを縮小することができる本発明の画像縮小装置の構成を示すブロック図である。
【図８】演算部の内部の構成を示すブロック図である。
【図９】本発明の撮像装置の内部の構成を示すブロック図である。
【図１０】ＦＩＲフィルタを用いて構成した従来の補間フィルタの構造例である。
【図１１】窓関数の一例であるＬａｎｃｚｏｓ３関数を示す特性図である。
【図１２】縮小率が３／４である場合の縮小前後の座標を用いて縮小の概念を示す模式図である。
【図１３】ｙ座標上の４に対応する縮小後のデータの計算の概念を示す模式図である。
【符号の説明】
【００６１】
１１，１２，…，１６、４１，４２，…，４６  演算部
１１１、４１１  カウンタ
１１２、４１２  ＬＵＴ（変換手段）
１１３、４１３  乗算器（乗算手段）
１１４、４１４  加算器（加算手段）
１１５  シフトレジスタ（記憶部）
２１、２２  セレクタ（選択手段）
３  ラインメモリ（蓄積手段）
４１５  ラインメモリ（記憶部）
５  フレームメモリ（蓄積手段）
【図１】
2005117501.tif 000005
【図２】
2005117501.tif 000006
【図３】
2005117501.tif 000007
【図４】
2005117501.tif 000008
【図５】
2005117501.tif 000009
【図６】
2005117501.tif 000010
【図７】
2005117501.tif 000011
【図８】
2005117501.tif 000012
【図９】
2005117501.tif 000013
【図１０】
2005117501.tif 000014
【図１１】
2005117501.tif 000015
【図１２】
2005117501.tif 000016
【図１３】
2005117501.tif 000017