JPH10134176A - 画像信号処理方法及び装置 - Google Patents

画像信号処理方法及び装置

Info

Publication number
JPH10134176A
JPH10134176A JP8287103A JP28710396A JPH10134176A JP H10134176 A JPH10134176 A JP H10134176A JP 8287103 A JP8287103 A JP 8287103A JP 28710396 A JP28710396 A JP 28710396A JP H10134176 A JPH10134176 A JP H10134176A
Authority
JP
Japan
Prior art keywords
filter
pixel
data
input
pixels
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.)
Abandoned
Application number
JP8287103A
Other languages
English (en)
Inventor
Kenichiro Nakamura
憲一郎 中村
Masuyoshi Kurokawa
益義 黒川
Mamoru Kano
護 加納
Koji Aoyama
幸治 青山
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP8287103A priority Critical patent/JPH10134176A/ja
Publication of JPH10134176A publication Critical patent/JPH10134176A/ja
Abandoned legal-status Critical Current

Links

Landscapes

  • Image Processing (AREA)
  • Television Systems (AREA)
  • Editing Of Facsimile Originals (AREA)

Abstract

(57)【要約】 【課題】 タップ数や変換比率を変更したい時に、容易
かつ短時間でそれらの変更を可能にし、また、複数の変
換比率にて画素数変換を行う必要がある場合でもそれぞ
れの変換比率に対応する複数用意する必要を無くする。 【解決手段】 2次元画像に対してフィルタ演算を施す
画素数変換装置であり、フィルタ仕様情報に基づいて発
生された水平,垂直両方向用のフィルタプログラム及び
フィルタ係数が供給されるコントローラ26,28及び
係数メモリ27,29と、水平ラインの画素データをシ
リアル/パラレル変換する入力レジスタ24と、入力レ
ジスタ24の出力画素データに水平フィルタ演算を施す
プロセッサエレメント群21と、プロセッサエレメント
群21の出力画素データに対して垂直フィルタ演算を施
すプロセッサエレメント群22と、プロセッサエレメン
ト群22の出力データをパラレル/シリアル変換する出
力レジスタ25とを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画素数変換処理や
走査線変換等の画像信号処理を行う画像信号処理方法及
び装置に関する。
【0002】
【従来の技術】近年になって、半導体技術、半導体の処
理スピード性能の向上により、映像信号のディジタル信
号処理が行われるようになってきた。また、最近では画
像表示装置も従来のブラウン管に代わり、LCD(Liqu
id Crystal Display:液晶ディスプレイ)表示装置やプ
ラズマディスプレイ装置等に代表される固定画素表示装
置が広く普及しつつある。
【0003】また、最近は、いわゆるNTSC(Nationa
l Television System Committee)信号、PAL(Phase A
lternation by Line)信号などの標準テレビジョン放送
方式のみならず、HDTV(High Definition Televisio
n)信号や、VGA(Video Graphics Array)信号、SVG
A(Super VGA)信号、XVGA(extended VGA)信号など
様々なフォーマットの信号を表示できることが求められ
ている。
【0004】これら様々なフォーマットでは、それぞれ
扱う画素数がまちまちである。このようなそれぞれ画素
数が異なる各種のフォーマットの映像信号を表示する場
合、上記ブラウン管等のアナログ表示デバイスであれ
ば、1走査線時間当たりの画素数に応じて電子ビームの
偏向速度を変えてやれば済む。
【0005】しかし、上記固定画素表示装置において
は、扱える画素数が固定しているため、上述のブラウン
管の場合のような従来のアナログ技術は使えない。その
ため、これら様々なフォーマットの信号を上述のような
固定画素表示装置に対して表示させるためには、ディジ
タル信号処理による任意の画素数変換、或いは走査線数
変換が不可欠である。
【0006】ここで、上述したような画像の画素数変換
を行うための技術として、従来より使用されてきた補間
フィルタを用いた画素数変換の手法について、以下に説
明する。なお、例えばディジタルフィルタによる補間フ
ィルタの実現技術は、従来からディジタル信号処理分野
の各種教科書に詳しく解説されているので、ここでは簡
単に説明する。
【0007】先ず、画像の拡大や縮小と標本化周波数
(画素数)の変換について説明する。
【0008】画像の拡大や縮小を実現するための演算操
作と、画像の標本化周波数(画素数)を変換する演算操
作(解像度の異なる画像規格間の変換)は、どちらも原
画像の各画素位置に対して、最初存在しなかった位置の
画素データを求める演算として考えることにより、全く
同じ補間フィルタの演算操作でよいことがわかってい
る。これを図11を用いて説明する。
【0009】図11の(a)には原画像のモデルを示
す。この図11の(a)中の四角い枠は画面の一部分で
あるとする。また、図中丸印は画像の画素の位置を表す
ものとする。すなわち、この図11の(a)に示す部分
原画像は、(横方向8画素)×(縦方向6画素)からな
る。ここでは考え易くするために、扱いやすい少ない画
素数にしている。この原画像を例えば10/7倍に拡大
する場合を考える。なお、ここでの倍率は面積ではなく
長さの比で表現するものとする。上記原画像を10/7
に拡大するというのは、図11の(a)の画像(画素
数)を拡大するのであって、表示画像規格は変わらず、
画素の配列の仕方すなわち画素間隔などは図11の(a
と)同じであり、その拡大結果は図11の(b)のよう
になる。すなわち、図11の(a)と図11の(b)と
では、10/7倍の拡大(10/7=1.429倍)な
ので、図11の(b)の画像は図11の(a)の画像よ
りも1辺の長さが1.429倍に長くなり、図11の
(b)の拡大画面を構成する画素数は1.429の自乗
倍に増えている。
【0010】したがって、例えば水平方向で見た時は、
同じ画像が原画像で8画素であったものが拡大後は、8
×10/7=11.429画素になり、拡大後の各画素
の画像に対する位置関係は違ってくる。なお、このため
拡大後の各画素のデータ(輝度や色を表現するデータ)
の値は、原画像のそれとは異なることになる。
【0011】図11の(d)は上記10/7倍の画像拡
大の様子を水平方向についてのみ示している。図11の
(d)中の矢印の先が各画素の位置を示していて、上側
のRi(i=1,2,・・・)は原画素のデータであり、
下側のQi(i=1,2,・・・)は拡大後の補間画素
のデータである。すなわち、Riの間隔はQiの間隔の1
0/7倍になっている。なお、この図11の(d)は水
平方向の拡大の様子だけを示しているが、垂直方向につ
いても図11の(d)と同様に考えることができる。こ
こでは垂直方向の説明は省略する。
【0012】拡大後の各画素のデータ(輝度や色を表
現)の値は、その位置関係が原画像の各画素位置に対し
て図11の(d)のようになっていることから、画素1
点1点について、ここで求めようとしている補間点の周
辺のいくつかの原画像画素のデータの値を使って補間フ
ィルタ演算、すなわち補間関数の畳み込み演算をすれば
よい。この補間演算については後述する。
【0013】次に、今度は画像の大きさをそのままにし
て、標本化周波数を例えば10/7倍にする場合を考え
ることにする。これは標本化周波数変換であるが、言い
換えると、画像の大きさは同じで解像度が10/7倍高
い画像規格に変換することと同じことであり、すなわち
画素数を10/7倍にしていることと同じである。この
場合は、原画像を図11の(a)とした時、その結果は
図11の(c)のようになる。すなわち、1次元的には
画素数が1.429倍に増え、同じ面積内の画素数は
1.429の自乗倍に増えている。
【0014】この画素数の多い画像規格に変換する演算
操作は、先に説明した画像拡大の演算操作と全く同じで
よい。それは、図11の(a)と図11の(b)の関係
及び図11の(a)と図11の(c)の関係を見てわか
るように、どちらも図11の(d)の位置関係からの補
間フィルタ演算、すなわち補間関数の畳み込み演算を行
えばよいからである。
【0015】次に、今度は画像の縮小の場合を説明す
る。図11の(a)と同様の図12の(a)を原画像の
モデルとし、この原画像を例えば10/13倍に縮小す
る場合を考える。ここでは、原画像を縮小するのであっ
て表示画像規格は変えないので、画素の配列の仕方すな
わち画素間隔などは図12の(a)と同じであり、その
結果は図12の(b)のようになる。つまり、10/1
3倍(10/13=0.769)倍の縮小なので、図1
2の(b)の画像は図12の(a)の画像の1辺の長さ
が0.769倍に縮み、この縮小画面を構成する画素数
は0.769の自乗倍に減ることになる。
【0016】したがって、例えば水平方向に見た時は、
同じ画像が原画像で8画素であったものが、縮小後に8
×10/13=6.154画素になるのだから、当該縮
小後の各画素の画像に対する位置関係は違ってくる。こ
のため、縮小後の各画素のデータ(輝度や色を表現)の
値は、原画像のそれとは異なることになる。
【0017】図12の(d)は上記10/13倍の画像
縮小の様子を水平方向についてのみ示している。図中矢
印の先が各画素の位置を示していて、上側のRi(i=
1,2,・・・)は原画素のデータであり、下側のQ
i(i=1,2,・・・)は縮小後の補間画素データであ
る。すなわちRiの間隔はQiの間隔の10/13倍にな
っている。なお、図12の(d)は水平方向の拡大の様
子だけを示しているが、垂直方向についても図12の
(d)と同様に考えることができる。
【0018】上記縮小後の各画素のデータ(輝度や色を
表現)の値は、その位置関係が原画像の各画素位置に対
して図12の(d)のようになっていることから、画素
1点1点について、今求めようとしている補間点の周辺
のいくつかの原画像画素のデータの値を使って補間フィ
ルタ演算、すなわち補間関数の畳み込み演算をすればよ
い。この補間演算については後述する。
【0019】次に、今度は画像の大きさはそのままにし
て、標本化周波数を例えば10/13倍にする場合を考
えることにする。これは標本化周波数変換であるが、言
い換えると、画像の大きさは同じで解像度が10/13
倍低い画像規格に変換することと同じことであり、画素
数を10/13倍にすることと同じである。この場合
は、原画像を図12の(a)とした時の結果は図12の
(c)のようになる。すなわち1次元的には画素数が
0.769に縮み、同じ面積内の画素数は0.769の
自乗倍に減っている。
【0020】この画素数の少ない画像規格に変換する演
算操作は、先に説明した画像縮小の演算操作と全く同じ
でよい。それは、図12の(a)と図12の(b)の関
係及び図12の(a)と図12の(c)の関係を見てわ
かるように、どちらも図12の(d)の位置関係からの
補間フィルタ演算、すなわち補間関数の畳み込み演算を
すればよいからである。
【0021】図11の(d)の場合も図12の(d)の
場合も、最初原画像では存在しなかった位置の画素デー
タ値を求める補間フィルタの演算操作が必要であり、結
局、画像の拡大や縮小を実現するための演算操作も、画
像の標本化周波数(画素数)を高く(多く)変換する演
算操作も、低く(少なく)変換する演算操作も、どれも
同じ演算操作でよいことになる。以下これらは「画素数
変換」あるいは「補間フィルタ演算」と表現するものと
する。
【0022】次に、原画像には存在しなかった位置の画
素データ値を求める補間フィルタ演算、すなわち補間関
数の畳み込み演算について、図13、図14及び式
(1)〜式(4)を用いて説明する。
【0023】図13において横軸は図11の(d)や図
12の(d)と同様に表しており、水平方向の位置関係
を模式的に示している。また、図中の丸印は原画像の画
素位置で、図中Sは原画像の標本化間隔、すなわち画素
間隔を示している。そして、図中矢印hで指し示す位置
を、補間すべき位置(補間点)とする。すなわち図中丸
印の位置が図11の(d)或いは図12の(d)の前記
iであり、図中矢印hの位置が今注目している前記Qi
の位置である。前記Qiの一つ一つについて、そのQi
挟む周辺のRiを使って畳み込み演算をして補間演算が
実現される。
【0024】ここで、一般に、「標本化定理」によれ
ば、理論的理想的な「補間」は図14の(a)及び次式
(1)のようなsinc関数 f(x)=sinc(x)=sin(x)/x ・・・(1) を補間関数として、無限時間過去から無限時間将来まで
畳み込み演算をすればよい。しかし実際にはそれは実現
できず、現実的な課題としては、sinc関数をいかに有限
期間の簡単な補間関数に近似するかという問題になる。
そしてその簡単な近似法として、 1.最近傍近似法 (図14の(b),式(2)) 2.双一次近似法 (図14の(c),式(3)) 3.キュービック(Cubic)近似法 (図14の(d),式(4)) などが知られている。なお、上記最近傍近似法の近似補
間関数を図14の(b)及び式(2)に示し、上記双一
次近似法の近似補間関数を図14の(c)及び式(3)
に示し、上記キュービック(Cubic)近似法の近似補間
関数を図14の(d)及び式(4)に示す。また、図1
4の横軸は原画像の標本間隔で正規化されているものと
する。
【0025】 f(x)=1 (-0.5<x≦0.5) f(x)=0 (-0.5≧x,x<0.5) ・・・(2) f(x)=1−|x| (|x|≦1) f(x)=0 (|x|>1) ・・・(3) f(x)=|x|3−2|x|2+1 (|x|≦1) f(x)=−|x|3+5|x|2−8|x|+4 (1<|x|≦2) ・・(4) f(x)=0 (2<|x|) 補間後の1画素を演算するのに、原画像の画素データを
それぞれ、上記最近傍近似法では1画素、上記双一次近
似法では2画素、上記キュービック近似法では4画素使
って畳み込み演算をする。上記双一次近似法は加重平均
をとっているのであって、線形補間として良く知られて
いる。
【0026】ここで必要な畳み込み演算はいわゆるFI
R(非巡回型)ディジタルフィルタを用いればよく、近
似補間関数の中心を補間点に合わせた時に、所定の画素
数分だけ近傍の原画像の標本点で近似補間関数を標本化
した値を補間フィルタ係数セットとして使う。
【0027】ここで注意すべきことは、今補間しようと
している各補間点ごとの、原画像画素位置に対する相対
位置関係を示す前記図13の位相(ズレ)Pの違いによ
り、そのFIRフィルタの演算に必要な重み、すなわち
フィルタ係数のセットが異なってくると言うことであ
る。
【0028】例えば、上記双一次近似法で補間フィルタ
演算をする場合であれば、P=0.0の場合は、その場
合のフィルタ係数セットとなる2つの重み(フィルタ係
数)は1.0と0.0となり、位置が一致する原画像の
画素データ値をそのまま通すような係数セットとなる
が、P=0.5の場合は上記2つの重み(フィルタ係
数)は0.5と0.5の係数セットとなり、P=0.3
の場合は上記2つの重み(フィルタ係数)0.7と0.
3の係数セットとなる。同様に、キュービック近似法で
は、P=0.0の場合はその4つの重み(フィルタ係
数)は0.0と1.0と0.0と0.0とになり、位置
が一致する原画像画素のデータ値をそのまま通すような
係数セットとなっているが、P=0.5の場合の4つの
重み(フィルタ係数)は−0.125と0.625と
0.625と−0.125の係数セットとなり、P=
0.3の場合の4つの重み(フィルタ係数)は−0.0
63と0.847と0.363と−0.147との係数
セットとなる。これらは上記式(2)〜式(4)のxに
Pを代入して得られる。
【0029】次に、補間フィルタ演算、すなわち補間関
数の畳み込み演算を実現するハードウェア構成につい
て、その従来例を図15を用いて説明する。補間フィル
タ演算はFIRディジタルフィルタにより行われ、ただ
しそのフィルタ係数が補間点ごとに変わらなければなら
ない。したがって、図15のような構成の演算装置で積
和演算すれば実現できる。なお、図15ではキュービッ
ク近似法を想定している。
【0030】図15は、各補間位置におけるデータの妥
当な値を次々と演算(補間フィルタ演算)するFIRデ
ィジタルフィルタである。
【0031】この図15において、入力端子250に
は、水平走査された入力画像データ時系列が供給され
る。また、図中M1,M2,M3,M4として表す4つ
のレジスタ254〜258は、入力端子250から供給
された原画像の画素データ1つ分をそれぞれが記憶でき
るレジスタである。これらレジスタ254〜258は直
列接続されており、4段のシフトレジスタとして動作す
る。これらレジスタ254〜258にて構成されるシフ
トレジスタには、上記水平走査された入力画像データ時
系列がワード単位に入力され、これにより当該シフトレ
ジスタは常に連続する4つの原画像画素データを記憶す
ることになる。キュービック近似法は、補間点を挟む近
傍左右2画素づつ計4画素の原画像データから補間点の
妥当なデータ値を求める方法なので上記4段のシフトレ
ジスタが必要になっている。
【0032】また、端子251には、制御されたクロッ
ク或いはクロックの制御信号Eが入力される。この制御
信号Eは、上記4段のシフトレジスタをシフトさせた
り、停止させたり制御する信号であり、図示しないコン
トローラから供給される。
【0033】端子252には、複数のフィルタ係数セッ
ト中から、求めたい補間点Qiの位相Pに対応すフィル
タ係数セットを選ぶ選択信号Cが入力される。係数メモ
リ253は、先に説明した位相Pの種類ごとの複数のフ
ィルタ係数セットを記憶するメモリであるため、上記選
択信号はアドレスデータとなる。
【0034】乗算器259〜262では、上記係数メモ
リ253からのフィルタ係数FC1〜FC4と上記4段の
シフトレジスタの各レジスタ254〜258からの各画
素データとの乗算を行い、それぞれ得られた乗算結果を
総和加算器263に出力する。
【0035】総和加算器263では、それぞれ供給され
た乗算結果の総和加算を行い、その加算結果が出力端子
264から補間フィルタ演算結果の出力画像データ時系
列として出力される。
【0036】図15の構成は、従来よりハードウェアで
実現されている。ここで、リアルタイム画像処理の場合
においては、その標本化周期が50ナノ秒というような
オーダーの短時間であるために、リアルタイムの音の信
号処理の場合などと違って、従来はソフトウェアプログ
ラムによる実現例はほとんどなく、図15の各部分をパ
イプライン方式を多用したハードウェア専用化回路にし
て実現するのが一般的であった。
【0037】次に、上記図15のハードウェア構成にお
いて、画像をキュービック近似により例えば10/7倍
に拡大する場合の動作を図16及び図17に示す表を使
い説明する。10/7倍の画像拡大は図11で説明した
通りであり、水平方向については図11の(d)の位置
関係の各補間点ごとに図13のように考えて、図15の
ような装置で補間フィルタ演算をすればよい。図16に
示す表はその場合における図15の各部の動作手順を示
している。
【0038】図16に示す表はタイムチャートであり、
表中のサイクルとは時刻すなわちクロックサイクルを意
味している。表中のIN欄は入力データであり、図15
の入力端子250に与えられる原画像画素データ値Ri
を示す。表中のC欄は図15の端子252に供給される
フィルタ位相選択信号Cであり、係数メモリ253のど
の位相のフィルタ係数セットを使うかを選択し、そのサ
イクルで演算すべきQiのための位相Piを指定する。表
中のE欄は図15の端子251に供給されるシフトレジ
スタ制御信号で、シフト(論理「H」)か停止(論理
「L」)のどちらかの状態を指定する。この図16の表
において、C欄とE欄に示す制御入力は、予め何をする
かによって図11の(d)のような検討を行い、所定の
制御信号列を決めておき、図15の装置に与えることに
なる。なお、上記E欄の制御は次のクロックサイクルに
対してその制御が影響されるものとする。表中のM1
2,M3,M4の各欄は図15の4段のシフトレジスタ
の各段のレジスタ254〜258にそれぞれ記憶されて
いるRiを示す。表中のOUT欄は図15の出力端子2
64から、上記クロックサイクルで出力される出力デー
タQiを示す。なお、図15のようなハードウェア装置
では、その乗算や総和演算の部分で何らかのパイプライ
ン処理により、レイテンシー(高速演算実現のための本
質的でない遅延)を生ずるのが普通であるが、ここでは
そのレイテンシーはないものとして考えることにする。
【0039】また、ここで前記係数メモリ253には、
図17に示す表の8ビット表現係数の欄に示す10種類
のフィルタ係数セットが記憶されているものとし、表中
のC欄から与えられた位相Piに応じて、前記4つのフ
ィルタ係数FC1,FC2,FC3,FC4を出力するもの
とする。今想定している10/7倍の画像拡大の場合に
はその補間演算に必要な位相の種類は図11の(d)の
ように10種類しかなくて、それが繰り返し使われるだ
けだからである。
【0040】図17の表中の10種類のフィルタ係数セ
ットは図11の(d)のQ1〜Q10についての10種類
の位相Pに対応しているわけだが、これは図13でSを
10等分した場合の位置についての10種類のPになっ
ているので、図17の表ではPの小さい順、すなわち0
/10,1/10,2/10,・・・の順でPiのiの
順を決めている。そしてPiをxとして前記式(4)に
代入して得た係数が浮動小数点表現係数であり、それを
8ビットに語長制限して(ここでは最大振幅を128と
した)8ビット表現係数を得ている。
【0041】上記図16の表及び図15の構成におい
て、まず、第1サイクルではIN欄に示すようにR1
現れる。この時、レジスタ254〜258のM1,M2,M
3,M4には、R1よりひとつ前のデータをRm0、そのも
うひとつ前のデータをRm1、そのもうひとつ前をRm2
更にそのもうひとつ前をRm3とした時、それぞれRm0
m1,Rm2,Rm3が記憶されているものとする。
【0042】第1サイクルではE欄のシフト制御信号が
論理「H」であり「シフト」を示しているので、次のク
ロックの立ち上がりでシフトレジスタはシフトし、第2
サイクルではM1,M2,M3,M4としてそれぞれR1
m0,Rm1,Rm2が記憶されている状態となる。第2サ
イクルでは、IN欄に示すようにR2が与えられ、E欄
のシフト制御信号は論理「H」すなわち「シフト」なの
で、次のクロックの立ち上がりでシフトレジスタはシフ
トして第3サイクルでは各レジスタはそれぞれR2
1,Rm0,Rm1となる。第3サイクルではIN欄から
3が与えられ、シフト制御信号は論理「H」なので、
第4サイクルでは各レジスタはそれぞれR3,R2
1,Rm0となる。
【0043】この第4サイクルではIN欄からR4が与
えられ、C欄のフィルタ位相選択信号には図11の
(d)におけるRm0,R1,R2,R3に対するQ1の位置
関係、すなわち位相P0が与えらる。これは図13にお
いてRa=Rm0,Rb=R1,Rc=R2,Rd=R3とする
場合のQ1の位置関係を示すPiがi=0であるというこ
とである。よってC欄のフィルタ位相選択信号が今P0
なので、図15の係数メモリ253が出力する4つのフ
ィルタ係数FC1,FC2,FC3,FC4は、図17の表
中の位相P0の場合のフィルタ係数セットすなわち0.
0と1.0と0.0と0.0(8ビットの表現の場合0
と128と0と0)が得られ、この係数を使って図15
のような積和演算構成で畳み込みのための積和演算がな
されて、出力端子264にはR1の値がそのままQ1とな
った出力データが得られる。
【0044】なお、この第4サイクルでは図16のE欄
のシフト制御信号が論理「L」であり「停止」を示して
いるので、次の第5サイクルでもシフトレジスタの各レ
ジスタ254〜258は第4サイクルの時のデータを保
持する。そして次の第5サイクルでは、図16の表中I
N欄よりR4が継続して与えられ、C欄のフィルタ位相
選択信号には図11の(d)におけるRm0,R1,R2
3に対するQ2の位置関係、すなわち位相P7が与えら
れているので、図17の表中位相欄のP7に応じたフィ
ルタ係数セットが前記係数メモリ253から出力され
て、Q2のデータ値を求める積和演算がなされ、出力端
子264にはQ2が得られる。ここで位相がP7となって
いるのは、図11の(d)におけるRm0,R1,R2,R
3に対するQ2の位置関係に対応した、図13におけるR
a=Rm0,Rb=R1,Rc=R2,Rd=R3の場合のP
が、R1とR2の間隔Sに対して、R1とQ2の間隔が7/
10だからである。
【0045】また、第4サイクルから第5サイクルにな
る時にシフトレジスタがシフトしなかったのは、図11
の(d)においてQ1とQ2が、同じようにR1とR2の間
に位置していて、補間フィルタ演算のための原画像信号
の前後の4データの組合せが同じだからである。図16
のE欄のシフト制御信号が停止すなわち論理「L」にな
る時はこのような場合であり、その場合次のサイクルの
IN欄に与える入力データは、同じデータが連続され
る。
【0046】この第5サイクルではE欄のシフト制御信
号が論理「H」であり、第6サイクルでは各レジスタは
それぞれR4,R3,R2,R1となる。そして第6サイク
ルではIN欄よりR5が与えられ、C欄のフィルタ位相
選択信号には図11の(d)におけるR1,R2,R3
4に対するQ3の位置関係、すなわち位相P4が与えら
れているので、図17の表のP4に応じたフィルタ係数
セットが係数メモリから出力されて、Q3のデータ値を
求める積和演算がなされ、出力端子264にはQ3が得
られる。ここで位相がP4となっているのは、図11の
(d)におけるR1,R2,R3,R4に対するQ3の位置
関係に対応した、図13におけるRa=R1,Rb=R2
c=R3,Rd=R4の場合のPが、R2とR3の間隔Sに
対して、R2とQ3の間隔が4/10だからである。これ
は、Q2の時のP7の7/10に対して、更に7/10が
累加されて14/10となり、このうち10/10が原
画像データ1個分に相当するので減算されたためであ
る。
【0047】すなわち、Qiのiが1増えるごとにPは
0.7ずつ増えており、しかし整数分はデータ遅延とし
て扱えるのでモジュロ演算されるのである。このPの増
分をここでPdと定義することにする。
【0048】以下、同様にして図15の構成の上で、図
11の(d)によって決まる図16の表の手順と制御に
より、順にQiが求められ、補フィルタ間演算が実現さ
れる。
【0049】なお、図15は補間フィルタ演算の実現で
あって、ここまでの説明では正確にはデータレートの変
換は実現されていない。すなわち画像の画素数変換など
を施した時にその入出力のデータレートは必然的に違っ
てくるが、入出力データはそれぞれ画像データとして定
常的な一定速度のデータ流になっていて欲しいのが普通
である。しかし、例えば図16の表の画素数が増える変
換の例では、出力は一定になっているものの、入力デー
タ列は走ったり止まったりする必要が生じている。画素
数が減る変換の場合ならこれは逆に入力は一定になるも
のの、出力データ列が出力されたり出力されなかったす
ることとなる。この問題については、データの流れ速度
の問題であり、これは図15のような構成に前後どちら
かに、そのデータ流を一定化させたり、一定のデータ速
度を間欠化するためのバッファメモリ、或いはFIFO
メモリを配置することで容易に実現される。このための
バッファメモリの構成などについてはメモリ制御の問題
であり、説明を省略する。
【0050】
【発明が解決しようとする課題】上述したように、従来
の画素数変換は、前述の図15に示したような固定され
た積和演算回路からなる構成にて行われている。
【0051】しかし、このような固定された積和演算回
路の場合、例えばタップ数や変換比率を変更したい時に
回路設計からやり直さなければならず、手間と時間がか
かるという問題点があった。また、複数の変換比率にて
画素数変換を行う必要があるような場合には、それぞれ
の変換比率に対応する画素数変換装置を複数用意しなけ
ればならないという問題点もあった。
【0052】そこで、本発明はこのような状況に鑑みて
なされたものであり、例えばタップ数や変換比率を変更
したい時に、容易かつ短時間でそれらの変更が可能であ
り、また、複数の変換比率にて画素数変換を行う必要が
ある場合でもそれぞれの変換比率に対応する複数用意す
る必要が無い画像信号処理方法及び装置を提供すること
を目的とする。
【0053】
【課題を解決するための手段】本発明の画像信号処理方
法及び装置は、第1の方向及びそれと交差する第2の方
向に配列する複数画素からなる2次元画像に対して、フ
ィルタ演算を施す画像信号処理方法及び装置であり、フ
ィルタ仕様情報に基づいて第1,第2の両方向用のフィ
ルタ演算に必要なフィルタプログラム及びフィルタ係数
を発生し、第1の方向の画素順で順次シリアルに入力し
た画素データをパラレルに変換し、このパラレル変換さ
れた第1の方向の画素列の各画素データに対して第1の
方向用のフィルタプログラム及びフィルタ係数を用いた
所定のフィルタ演算処理を施し、その後の第1の方向の
画素列の各画素データに対して、必要に応じて更に第2
の方向用のフィルタプログラム及びフィルタ係数を用い
た所定のフィルタ演算処理を施し、得られたパラレル画
素データを第2の方向の画素順に順次シリアル出力する
ことにより、上述した課題を解決する。
【0054】ここで、本発明の画像信号処理方法及び装
置では、2次元画像を拡大または縮小するとき、その拡
大または縮小の設定に応じた第1,第2の両方向の拡大
または縮小フィルタ演算に必要なフィルタプログラム及
びフィルタ係数を発生し、第1の方向の画素順で順次入
力した画素データまたは当該画素データ間をスキップす
るためのスキップ情報を生成し、第2の方向の入力画素
列数と出力画素列数の拡大または縮小比を制御するため
のタイミング情報を生成する。
【0055】すなわち、本発明によれば、フィルタプロ
グラム及びフィルタ係数をフィルタ仕様情報に基づいて
自動的に設定し、この自動的に設定されたフィルタプロ
グラム及びフィルタ係数に基づいてフィルタ演算を行っ
ている。また、本発明によれば、2次元画像を第1の方
向と第2の方向に分けて考え、これら第1の方向と第2
の方向のそれぞれに対して分離してフィルタ演算を行う
ようにしているため、フィルタ演算のためのフィルタプ
ログラム及びフィルタ係数を容易かつ効率的に設計でき
るようにしている。さらに、このようにフィルタ演算を
分離することで、第1の方向と第2の方向のフィルタ演
算の独立性や保守性を高めるようにしている。
【0056】
【発明の実施の形態】以下、本発明の好ましい実施の形
態について、図面を参照しながら説明する。
【0057】先ず、画素数変換処理のための補間フィル
タ演算を前述の図15のようなハードウェア構成ではな
く、ソフトウェアプログラム処理にて実現する手法につ
いて説明する。
【0058】当該ソフトウェアプログラムにて補間フィ
ルタ演算を行う構成としては、例えば図1に示すような
画像用のいわゆるSIMD(Single Instruction Multip
le Data Stream)制御されるリニアアレイ型多並列プロ
セッサ120が知られている。このプロセッサ120
は、いわゆるDSP(digital signal processor)にて実
現されている。このプロセッサ120は大きく分けて、
入力SAM(serial access memory)部121と、デー
タメモリ部122と、ALU(arithmetic and logical
unit)アレイ部123、出力SAM部124、プログラ
ム制御部125とを有してなるものである。
【0059】上記入力SAM部121、データメモリ部
122、ALUアレイ部123、出力SAM部124
は、全体でリニアアレイ(直線配列)型に多数並列化さ
れた要素プロセッサ群を構成しており、この多数の要素
プロセッサは、プログラム制御部125内にある共通の
一つのプログラム制御部により連動して制御(SIMD
制御)される。プログラム制御部125には、プログラ
ムメモリとそのプログラムの歩進のためのシーケンス制
御回路などがあり、プログラムメモリに予め書き込まれ
たプログラムに従って各部分に接続されている各種制御
信号を発生して各部分を制御する。
【0060】なお、入力SAM部121、データメモリ
部122、出力SAM部124は基本的にメモリであ
り、これらのメモリのための「ロウ(ROW)」アドレスデ
コードは、詳細に説明しないが図1においては、プログ
ラム制御部125に含まれているものとして以下説明す
る。
【0061】多数並列化された要素プロセッサの単一エ
レメント分は、図1中に斜線にて示したような縦の細長
い範囲であり、これが図で横方向に直線配列で並んでい
る。すなわち一般にプロセッサと呼ばれるために必要な
図2のような一般的な構成要件を、図1の斜線で示した
縦の細長い要素プロセッサはそれぞれが満たしている。
図2の入力バッファメモリ(IQ)130に相当するのが
図1の入力SAM部121である。図2の出力バッファ
メモリ(OQ)131に相当するのが図1の出力SAM部
124である。図2のデータメモリ(RF)132に相当
するのが図1のデータメモリ部122である。データメ
モリ132のデータを、必要に応じて選んで読み出して
演算をするためのALU133に相当するのが図1のA
LUアレイ部123である。
【0062】なお、図2の構成では、入力端子DINに供
給された入力データは一旦入力バッファメモリ(IQ)1
30に入力され、そこから記憶のためのデータメモリ
(RF)132に必要な分づつ移される。そのデータメモ
リ132に今記憶された最新のデータや、過去に記憶し
たデータや演算途中のデータなどを必要に応じて選んで
読み出してはALU133で演算し、再びデータメモリ
(RF)132に書き込むという作業をプログラム制御で
繰り返し、その結果得られた演算結果をバッファメモリ
(OQ)131に移動し、所定の速度やフォーマットで出
力する。図2の構成は、様々な用途に利用できる汎用な
プロセッサ形態になっている。
【0063】普通のプロセッサではそのハードウェアは
一般にワード処理プロセッサであり、ワードを単位とし
て処理するが、図1の斜線で示した縦の細長い範囲で示
す1つの要素プロセッサにおいて、入力SAM部12
1、データメモリ部122、出力SAM部124はメモ
リの「カラム」になっており、またALUアレイ部12
3は1ビットALUであり、事実上フルアダー(全加算
器)を主体にした回路になっている。そのため普通のプ
ロセッサとは違ってビット処理プロセッサであり、ビッ
トを単位として処理する。普通のCPU(中央処理装
置)で言う8ビットマシンとか16ビットマシンという
言い方に対応させれば1ビットマシンである。ビット処
理プロセッサはハードウェアが小さく、普通には実現で
きない程多数の並列数を実現できるので、画像用の場
合、要素プロセッサ直線配列の並列数は、映像信号の一
水平走査期間の画素数(H)に一致させている。
【0064】更に、この要素プロセッサの構造は一例と
して図3のように書くことができる。ただし図3の各セ
ルの構造は、理解を容易にするために非常に一般的なも
のとしてあるし、また同じ回路が複数並ぶ部分はその要
素回路で代表して書いてある。
【0065】図1の入力SAM部121の一つの要素プ
ロセッサ分は、入力ポインタ121Aからの制御を受け
る縦に並んだ複数の入力SAMセル121Bである。入
力データバス及び入力SAMセル121Bは図1の入力
信号のビット数分(ISB)だけ縦に並べて用意されるの
だが、図3ではそれを省略して一つのセル分の図で代表
して表示している。図1のデータメモリ部122の一つ
の要素プロセッサ分は、図3におけるメモリセル122
Aを、図1のデータメモリ部122の容量のビット数分
(MB)用意して縦に並べているのだが、図3ではそれを
省略して一つのセルだけ代表して表示している。上記ビ
ット数分(MB)は演算処理の作業メモリとして必要なだ
け用意される。前記データメモリ部122のメモリセル
122Aは、2本の読み出しビット線と1本の書き込み
ビット線を持った3ポートメモリになっており、読み出
しアドレス2組と書き込みアドレス1組を同時に与える
ことができるようになっている。前記ALUアレイ部1
23の一つの要素プロセッサ分は図3におけるALUセ
ル123Aである。ここでALUセル123A中の正味
のALU123B部分は1ビットALUであり、全加算
器(フルアダー)程度の回路である、ALUセル123A
中には他に、ALUの入力選択などのためのセレクタ
(SEL)回路等がある。なおALUセル123A中でF
Fにて示す部分はフリップフロップ(1ビットレジスタ)
である。前記出力SAM部124の一つの要素プロセッ
サ分は、出力ポインタ124Aからの制御を受ける縦に
並んだ複数の出力SAMセル124Bである。出力デー
タバス及び出力SAMセル124Bは図1の出力信号ビ
ット数分(OSB)だけ縦に並べて用意されるのだが、図
3ではそれを省略して一つのセル分の図で代表して表示
している。
【0066】また、この図3の入力SAM読み出し信号
IR、メモリ書き込みアクセス信号SWA、メモリ読み出
しアクセス信号SRAA,SRBA、出力SAM書き込み信号
OWなどはメモリセルのワード線であり、セルを横に通
過すると共に、横方向に並ぶ同じ回路要素を同様に接続
しながら通過する。これらメモリセルのワード線は、図
1のプログラム制御部125内でアドレスデコードがさ
れているものとする。
【0067】さらに、図3において、セルを縦に通過す
る接続線すなわちビット線とポインタ信号線は、縦方向
に並ぶ回路要素を同様に接続しながら通過するものとす
る。入力データバスは、それぞれ横に並ぶ同じ回路要
素、すなわち入力SAMセル121Bを同様に接続しな
がら通過している。出力データバスもそれぞれ横に並ぶ
同じ回路要素、すなわち出力SAMセル124Bを同様
に接続しながら通過している。
【0068】次にこのプロセッサ120の動作を図1、
図3を使って説明する。
【0069】入力端子DINに与えられた入力映像信号デ
ータは入力データバスを介して入力SAM部121に導
かれる。入力ポインタ121Aは一つの要素プロセッサ
にだけ論理「H」を立てた1ビット信号すなわち入力ポ
インタ信号SIPを発生し、論理「H」で指定された要素
プロセッサの入力SAMセル121Bに入力映像信号デ
ータが書き込まれる。ポインタで指定された入力SAM
セル121Bでは、トランジスタTr1がONし、コン
デンサC1が入力映像信号データに応じた電位になる。
【0070】入力ポインタ信号SIPの入力指定は、入力
映像信号のクロック毎に左端の要素プロセッサから右端
の要素プロセッサに順に移動するので、入力映像信号デ
ータは左端の要素プロセッサの入力SAMセル121B
から順に右方向の要素プロセッサのSAMセルに記憶場
所が移動し、横に並んだ要素プロセッサ数が入力映像信
号の一水平走査期間の画素数分(H)以上あるので、入力
映像信号の一水平走査期間分を入力SAM部121に蓄
積することができる。このような入力動作は、水平走査
期間毎に繰り返される。
【0071】プログラム制御部125は、このようにし
て入力映像信号の一水平走査期間のデータが入力SAM
部121に蓄積される毎に、プログラムに従って入力S
AM部121、データメモリ部122、ALUアレイ部
123、出力SAM部124を以下のようにSIMD制
御して処理の実行をする。このプログラム制御は水平走
査期間ごとに繰り返される。水平走査期間の時間をこの
プロセッサの命令サイクル周期で割り算したステップ数
だけのプログラムが組める。SIMD制御であるから、
以下の動作は全ての要素プロセッサにおいて同時に同様
に実行される。
【0072】一水平走査期間分の入力SAM部121に
蓄積された入力映像信号データは、次の一水平走査期間
において、必要に応じて入力SAM部121からデータ
メモリ部122へ移され、その後の演算処理に使われ
る。
【0073】最初の入力SAM部121からデータメモ
リ部122への転送動作は、入力SAM部121の必要
なビットの記憶内容を入力SAM読み出し信号SIRによ
り選んでアクセスしては、転送先のデータメモリ部12
2の所定のメモリセルへメモリアクセス信号SWAを出し
て書き込んでいくことにより実現する。入力SAM読み
出し信号SIRにより選ばれた入力SAMセル121Bで
は、トランジスタTr2がONとなって、コンデンサC1
の電位に応じた転送データ信号が縦の書き込み用ビット
線に生じる。この時、信号SBCがイネーブルされ、メモ
リアクセス信号SWAで選択されたデータメモリ部122
の所定のメモリセルのトランジスタTr11がONとなっ
て、コンデンサC11が転送データに応じた電位になる。
このデータ転送は縦方向の書き込み用ビット線を経由し
て1サイクルに1ビットづつ行われる。入力SAM部1
21の各入力SAMセル121Bからの読み出し信号S
IRとデータメモリ部122の各メモリセル122Aへの
メモリアクセス信号SWAは同じアドレス空間にあり、し
かしそれぞれのロウデコーダでデコードされてワード線
として与えられている。
【0074】データメモリ部122には、過去に上述の
ようにして書き込まれた入力データや演算途中のデータ
が記憶されている。それらのデータ或いはALUセル1
23A中の1ビットレジスタ(FF)に記憶したデータを
用いて、ALUでのビット単位の必要な演算処理を順次
進めることができる。例えばデータメモリ部122のあ
るビットのメモリセル122Aのデータと別のビットの
メモリセル122Aのデータを加算して再びデータメモ
リ部122の更に別のビットのメモリセル122Aに加
算結果を書き込む場合は次のようになる。データメモリ
部122のあるビットのメモリセル122Aへ読み出し
信号SRAAを出して、そのセルのトランジスタTr13
ONにして、コンデンサC11に記憶されていたデータを
片方の読み出し用ビット線に出す。同時にもう一つのビ
ットのメモリセル122Aへも読み出し信号SRBAを出
して、そのセルのトランジスタTr14をONにして、コ
ンデンサC11に記憶されていたデータをもう片方の読み
出し用ビット線に出す。これら2つの読み出されたデー
タは、ALUアレイ部123のセレクタ(SEL)に所定
の経路選択をさせ、ALU123Bに加算をさせ、AL
U123Bからの出力は、信号SBCAをイネーブルして
演算結果データを書き込み用ビット線に出し、そしてデ
ータメモリ部122の所定の書き込みメモリセル122
Aへ書き込みメモリアクセス信号SWAを出してそのセル
のトランジスタTr11をONにして、コンデンサC11
ALU出力データに応じた電位になる。このALUセル
123Aでの演算動作は、ALU制御信号SALU-CONT
よりプログラムから指定される。ALUセル123Aで
演算した結果は、再びデータメモリ部122に書き込む
か、或いは必要に応じてALUセル123A中の1ビッ
トレジスタ(FF)に記憶することもできる。加算の場合
は普通、キャリーをビットレジスタ(FF)に、サムをデ
ータメモリ部121に導く。
【0075】このようにしてデータメモリ部122か
ら、プログラムに応じてデータを読み出してはALUア
レイ部123で必要な算術演算或いは論理演算を施し、
再びデータメモリ部122の所定のアドレスに書き込む
ことが出来る。この演算処理は全てビット処理であり、
サイクル当たり1ビットづつ処理を進める。例えば論理
演算を実行するには、それが8ビットのデータ同士であ
れば、1ビットづつ処理を進めるので必然的に8サイク
ルかかることになる。また8ビットのデータ同士の加算
であれば、必然的に9サイクルかかることになる。8ビ
ットのデータ同士の乗算の場合は、64回のビット加算
と等価なので、単純には64サイクル強かけて実現され
ることになる。
【0076】一水平走査期間の時間内に処理すべき演算
処理が済むと、その水平走査期間のうちに、プログラム
の最後の部分でその水平走査期間分の演算処理済みの出
力データを出力SAM部124に移す必要がある。デー
タメモリ部122の出力すべきデータが記憶されている
所定のメモリセル122Aへメモリアクセス信号SRAA
或いはSRBAを出してそのセルのトランジスタTr13
いはトランジスタTr14をONにして、コンデンサC11
に記憶されていたデータを読み出し用ビット線に出す。
ALUアレイ部123には通過する制御信号を出し、出
力SAM部124には所定のビットの出力SAMセル1
24Bにデータ転送されるようにその出力SAMセル1
24Bに書き込み信号SOWが出され、そのセルのトラン
ジスタTr17がONして、コンデンサC4がそのデータ
に応じた電位となる。データは縦方向のビット線を経由
して1ビット1ビットデータ転送される。この時データ
移動に際してALUで何らかの処理をしても良いし、し
なくてもよい。出力SAM部124の各出力SAMセル
124Bへの書き込み信号SOWとデータメモリ部122
の各メモリセル122Aへのメモリアクセス信号は同じ
アドレス空間にあり、しかしそれぞれのロウデコーダで
デコードされてワード線として与えられている。
【0077】以上のように、一水平走査期間の時間のう
ちに、入力SAM部121に蓄積された入力データのデ
ータメモリ部122への移動、必要な演算処理、そして
出力SAM部124への出力データの移動までが、ビッ
トを単位とするSIMD制御プログラムで制御され実行
される。このプログラム処理は水平走査期間を単位とし
て繰り返される。SIMD制御なので、全ての要素プロ
セッサは連動動作をしており、水平走査期間分の画素数
(H)に対して、同じ処理がなされる。
【0078】このような水平走査期間単位のプログラム
処理が終わって出力SAM部124に移された出力デー
タは、更に次の水平走査期間に次のように出力SAM部
124から出力される。出力映像信号データは出力SA
M部124から出力データバスを介して出力端子DOUT
へ導かれる。
【0079】出力ポインタ124Aは一つの要素プロセ
ッサにだけ論理「H」を立てた1ビット信号すなわち出
力ポインタ信号SOPを発生し、その論理「H」で指定さ
れた要素プロセッサの出力SAMセル124Bから出力
データが出力データバスに読み出され、出力映像信号デ
ータとなる。当該ポインタで指定された出力SAMセル
124AではトランジスタTr8がONとなって、コン
デンサC4の電位に応じた出力信号が出力データバスに
得られる。出力ポインタ信号の論理「H」が出力映像信
号のクロックごとに左端の要素プロセッサから右端の要
素プロセッサに移動することにより、出力データの読み
出しは左端の要素プロセッサの出力SAMセル124B
から順に右方向の要素プロセッサのSAMセルに移って
行き、横に並んだ要素プロセッサ数が映像信号の一水平
走査期間の画素数分(H)以上であるので、出力映像信号
の一水平走査期間分のデータを出力SAM部124から
出力できる。このような出力動作は水平走査期間毎に繰
り返される。
【0080】ここで、 1.入力データの入力SAM部121への書き込みによ
る入力動作。
【0081】2.プログラム制御部125のSIMD制
御による、入力SAM部121に蓄積された入力データ
のデータメモリ部122への移動、必要な演算処理、出
力SAM部124への出力データの移動。
【0082】3.出力データの出力SAM部124から
の読み出しによる出力動作。
【0083】の3つの動作は、映像信号の一水平走査期
間を単位とするパイプライン動作になっており、一つの
水平走査期間の入力データに注目すれば、それぞれの動
作は一水平走査期間の時間づつずれた形で実行される
が、3つの動作は連続して同時に並行して進行できる。
【0084】このような画像用リニアアレイ型多並列プ
ロセッサにおいては、水平方向の同じ画素位置では、ど
の水平走査期間についても一つの要素プロセッサがいつ
も担当するので、過去の水平走査期間の入力データを後
の水平走査期間までデータメモリ部122内に保存する
ために、データを入力SAM部121からデータメモリ
部122に移す際にそのアドレスを水平走査期間毎にず
らすメモリアドレス発生の工夫をすることにより、それ
ぞれの要素プロセッサでは、縦方向の所定の連続数の画
素データをデータメモリ部122内に持つことができ
て、垂直方向のFIRディジタルフィルタ演算が実現で
きることが知られている。
【0085】また図1や図3の説明で触れなかったが、
要素プロセッサ列において、隣接する数プロセッサ間で
はプロセッサ間通信のための接続が用意されている。具
体的には図1のデータメモリ部122とALUアレイ部
123の間にその接続配線があり、図3のALUセル1
23Aのメモリセル122A側のビット線がALUセル
123A内のセレクタSELに入出力されるところで、
自分の要素プロセッサ内のデータメモリ部122のビッ
ト線だけでなく、左右の隣接する数プロセッサのデータ
メモリ部122のビット線の中からビット線接続を選べ
るようにしているので、これを利用して各要素プロセッ
サは左右いくつかの隣接する要素プロセッサのデータメ
モリ部122をアクセスすることができる。これによっ
て、水平方向に所定の連続数の画素データを扱うことが
できて、水平方向のFIRディジタルフィルタ演算も実
現できるようになっている。
【0086】ただしこの左右いくつかの隣接する要素プ
ロセッサのデータメモリ部122のアクセスは、SIM
D制御であるから、例えば右隣の要素プロセッサのデー
タメモリ部122をアクセスするサイクルでは、全ての
要素プロセッサは右隣の要素プロセッサのデータメモリ
部122をアクセスしていることになる。もちろんこれ
は普通のFIRディジタルフィルタ実現には支障がな
い。また、直接プロセッサ間通信接続のない少し離れた
要素プロセッサのデータアクセスについては、近傍のプ
ロセッサ間通信を繰り返すことにより、多少プログラム
ステップは増えるが実現可能である。
【0087】上述したように、画素数変換処理のための
補間フィルタ演算は、SIMD制御されるリニアアレイ
型多並列プロセッサによるソフトウェアプログラム処理
にて実現可能である。
【0088】ここで、前述した図1の本発明実施例の画
像信号処理装置の構成は、さらに詳細には図4に示すよ
うに構成されるものである。
【0089】すなわち、本実施例の画像信号処理装置
は、リニアアレイ型多並列プロセッサを用いて画像処理
を行う際、水平及び垂直フィルタを2つのプロセッサエ
レメント群で独立に実行するようにしている。このよう
に、分離型フィルタ構成とすることで、効率的な水平,
垂直フィルタを一般の1次元フィルタ設計手法により実
現できる。また、これを2つの独立したプロセッサエレ
メント群で実行するという構成により、プログラムの独
立性,保守性などを高めることができ、利用し易くして
いる。
【0090】前記図1をさらに詳細に示す図4のリニア
アレイ型多並列プロセッサ20は、複数の要素プロセッ
サ(プロセッサエレメント:PE)23を有してなり、
各要素プロセッサ23は、上下2組のプロセッサエレメ
ント群21,22を形成している。プロセッサエレメン
ト群21,22の要素プロセッサ23の数は、少なくと
も画像の水平1ライン分を構成する画素の数より多く、
プロセッサエレメント群21は例えば水平用として、ま
たプロセッサエレメント群22は例えば垂直用として設
けられている。これらプロセッサエレメント群21,2
2の各要素プロセッサ23は、それぞれが前記図1のデ
ータメモリ部122及びALUアレイ部123の機能を
有するものである。
【0091】また、コントローラ26,28と係数メモ
リ27,29は前記図1のプログラム制御部125と対
応している。
【0092】コントローラ26は、プロセッサエレメン
ト群21と係数メモリ27を前述したようなSIMD制
御するものであり、係数メモリ27は演算に必要なデー
タをプロセッサエレメント群21に供給する働きを持
つ。プロセッサエレメント群21に含まれる全ての要素
プロセッサ23は、コントローラ26の制御信号に基づ
く同一の演算処理を行う。
【0093】また、コントローラ28,係数メモリ29
についても同様の関係がある。すなわち、コントローラ
28は、プロセッサエレメント群22と係数メモリ29
をSIMD制御するものであり、係数メモリ29は演算
に必要なデータをプロセッサエレメント群22に供給す
る働きを持つ。プロセッサエレメント群22に含まれる
全ての要素プロセッサ23は、コントローラ28の制御
信号に基づく同一の演算処理を行う。
【0094】このようにコントローラ26,28が2系
統設けられているので、プロセッサエレメント群21,
22はそれぞれ独立に動作できる。
【0095】入力レジスタ24は、図1の入力SAM部
121と対応し、シリアル→パラレル変換を行うメモリ
である。この入力レジスタ24では、画像データが1画
素ずつ順次入力され、1ライン分揃った時点で、並列に
読み出される。当該入力レジスタ24への画素データ入
力の際には、例えば隙間なく詰め込むのではなく、任意
の場所にゼロを挿入して全体の画素数を拡大するアップ
サンプラーとしても動作可能となっている。
【0096】出力レジスタ25は、図1の出力SAM部
124と対応しており、パラレル→シリアル変換を行う
メモリである。この出力レジスタ25では、1ライン分
の画素データを並列に入力し、それを1画素ずつ順次出
力する。当該出力レジスタ25からの画素データ出力の
際には、例えば任意の場所の画素データをスキップして
全体の画素数を縮小するダウンサンプラーとしても動作
可能となっている。
【0097】次に、この図4に示したリニアアレイ型多
並列プロセッサ20の動作について説明する。
【0098】図4において、画像入力端子10から水平
方向に1ライン分の画素データが、入力レジスタ24に
順次入力された後、並列に上側のプロセッサエレメント
群21に供給される。プロセッサエレメント群21で
は、各要素プロセッサ23が受け取った各々の画素デー
タに対して、コントローラ26からの制御命令と係数メ
モリ27からの係数データを用いてフィルタ演算処理を
行う。上側のプロセッサエレメント群21による処理結
果は、そのまま下側のプロセッサエレメント群22に並
列に入力され、必要であれば、更にフィルタ演算処理が
施される。下側のプロセッサエレメント群22による処
理結果は、出力レジスタ25に並列に入力され、1画素
ずつ順次出力されて1ライン分の処理結果が得られる。
【0099】以上により、リニアアレイ型多並列プロセ
ッサ20は、水平方向に1ラインを形成する画素を一度
に処理できる。これを垂直方向のライン数だけ繰り返す
と、2次元の画像処理ができる。当該プロセッサ20の
具体的動作については前述したように既に説明してある
ので、ここではその詳細についての説明は割愛する。
【0100】次に、上記プロセッサエレメント群21,
22によるフィルタ演算処理の内容について述べる。な
お、リニアアレイ型多並列プロセッサ20を用いて水平
フィルタ,垂直フィルタを実現する方法に関しても本件
出願人は既に開示しているので、ここでは簡単に説明す
る。
【0101】プロセッサエレメント群21,22を構成
する各要素プロセッサ23は、互いに左右の近傍の要素
プロセッサ23と通信を行うことができ、このため、同
一ライン上の複数の画素データを用いた演算ができる。
また、要素プロセッサ23は、前述したように、必要に
応じて複数ライン分の画素データを保持するメモリを備
えているので、ライン間に跨る演算も行える。
【0102】ここで、上記画素数変換として、例えば水
平,垂直方向ともに2/3倍に画素数を縮小する場合を
例に挙げると、当該2/3倍縮小画素数変換は、例えば
図5の(A)に示すように、水平方向9画素で垂直方向
6画素の画像から、例えば図5の(B)に示すように、
水平方向6画素で垂直方向4画素の画像を生成するよう
なことである。このように図5の(A)の画像から図5
の(B)画素を生成するためには、例えば図5の(C)
及び図中の式(a)のように図5の(A)中の4点の原
画素D1〜D4から補間画素Yを生成するような処理を、
当該図5の(A)の画像中の各画素について行い、得ら
れた補間画素Yから図5の(B)の画像を生成する。
【0103】この図5の画素数変換の例では、2ライン
分の入力画素データが揃えば、出力画素が演算できる。
また、水平,垂直方向に2/3倍の画素数変換が行われ
るが、水平方向に関しては出力レジスタ25のスキップ
機能を用いて、画素数を2/3に間引く。一方、垂直方
向に関しては、「2ライン入力して1ライン出力す
る」、「1ライン入力して1ライン出力する」を交互に
繰り返すことで、出力ライン数は入力ライン数の2/3
になる。
【0104】ここで、2次元フィルタのうち、上述のよ
うな水平,垂直の分離型フィルタは、2つの1次元フィ
ルタにて実現することができる。この分離型フィルタに
は、必要な演算器の数を減らせることや、多くの1次元
フィルタ設計手法が利用できることなどの利点があり、
実用上極めて重要である。簡単に説明すると、例えば図
5ような画素数変換を行うフィルタ(Y=C11+C2
2+C33+C44)は、(C1=C57,C2=C6
7,C3=C58,C4=C68)となるようなフィルタ
係数C5〜C8が存在するとき、(H1=C51+C
62,H2=C53+C64)なる水平フィルタと、
(Y=C71+C82)なる垂直フィルタに分離でき
る。
【0105】ここで、上述したような水平,垂直フィル
タを2つのプロセッサエレメント群21,22にて独立
に実行するためのプログラムや係数,画素数変換のため
の制御情報等は、図6に示すような流れにより自動的に
生成することができる。すなわち、図6に示す流れによ
り上記プログラムや係数等を自動的に発生すれば、例え
ば、フィルタの仕様を決定するだけで、そのフィルタ仕
様に基づく画素数変換装置が実現可能となり、図4の構
成では、図6の流れにて発生されたプログラムや係数を
入れ換えるだけで、回路の変更をすることなく多種の画
素数変換を含むフィルタ処理を行えるようになる。
【0106】この図6において、先ず、所望のフィルタ
を設計するための例えばタップ数や変換比率を設定する
ためのフィルタ仕様30に基づき、フィルタ設計回路3
3が水平及び垂直のフィルタプログラム34,36及び
フィルタ係数(フィルタ係数セット)35,37を発生
する。上記水平フィルタプログラム34は端子41及び
図4の端子11を介して前記コントローラ26に送ら
れ、上記水平フィルタ係数35は端子42及び図4の端
子12を介して前記係数メモリ27に送られる。また、
上記垂直フィルタプログラム36は端子43及び図4の
端子13を介して前記コントローラ28に送られ、上記
垂直フィルタ係数37は端子44及び図4の端子14を
介して前記係数メモリ29に送られる。フィルタ係数セ
ット35,37は、一般の1次元フィルタ設計ツールを
用いても、また、ライブラリから選択してもよい。画像
の拡大縮小で、画素数の変化を伴う場合は、プロセッサ
エレメント割当回路31がデータ入力レジスタ24及び
データ出力レジスタ25に対するプロセッサエレメント
スキップ情報32を発生し、水平方向の画素数を調整す
る。上記スキップ情報32は、端子45を介して図4の
端子15に送られ、入力レジスタ24或いは出力レジス
タ25に送られることになる。また、垂直方向に関して
は、入力ライン数と出力ライン数の比を制御するため
に、タイミング設計回路38がタイミング情報39を発
生し、これが垂直フィルタプログラム36に組み込まれ
る。なお、図4では、上下のプロセッサエレメント群2
1,22にそれぞれ水平,垂直フィルタを割り当ててい
るが、逆の割り当てを行っても、同一の処理結果が得ら
れる。
【0107】次に、上記プロセッサエレメント割当回路
31の具体的な動作について説明する。
【0108】当該プロセッサエレメント割当回路31
は、水平方向の画素数変換のためのスキップ情報32を
生成する。スキップ情報32は、水平フィルタプログラ
ム34において、フィルタ仕様30にて設定される変換
比率に基づき、水平画素数を変換するというように作用
する。すなわち入出力の画素数の比をNi:No(N
i,Noは互いに素)とするとき、変換比率R=No/
Niによって拡大と縮小に動作が分けられる。
【0109】先ず、R>1(拡大)の場合を説明する。
【0110】当該R>1の場合、入力レジスタ24に設
定するスキップ情報としては、例えば左からi番目の入
力レジスタに対し、(i mod Ni)<Noであれ
ば通常動作し、そうでなければスキップ動作するという
ようなスキップ情報を設定する。ただし、(i mod
Ni)は、iをNiで割った余りを表す。例えば、3
/2倍の拡大を行うときは、入力レジスタ24に対し、
次のようなスキップ情報32が送られる(ただし、○は
通常動作を、×はスキップ動作を表す)。
【0111】○○×○○×○○×・・・・ ここに、画像入力端子10から、例えば abcdefghi・・・・ なるデータが入力された場合、入力レジスタ24には ab0cd0ef0gh0i・・・ とういように格納され、データの個数が3/2倍に増え
た形でプロセッサエレメント群21に渡される。この入
力レジスタ24に格納されるデータのゼロが挿入された
位置には、後に水平フィルタプログラム34によって補
間画素が補われる。
【0112】次に、R<1(縮小)の場合を説明する。
【0113】当該R<1の場合、出力レジスタ25に設
定するスキップ情報としては、例えば、左からi番目の
出力レジスタに対して、(i mod No)<Niで
あれば通常動作し、そうでなければスキップ動作すると
いうようなスキップ情報を設定する。ただし、(i m
od No)はiをNoで割った余りを表す。例えば、
2/3倍の縮小を行うときは、出力レジスタ25に対
し、次のようなスキップ情報32が送られる(ただし○
は通常動作を、×はスキップ動作を表す)。
【0114】○○×○○×○○×・・・・ ここに、プロセッサエレメント群22から abcdefghi・・・・ なるデータが入力された場合、実際には出力レジスタ2
5からは abdegh・・・ とういうデータ列が出力され、データの個数は2/3に
減少する。
【0115】次に、上記図6のフィルタ設計回路33の
具体的動作の説明を行う。
【0116】フィルタ設計回路33は、補間演算のため
の係数セットを求める。この係数セットは、水平フィル
タ係数35、垂直フィルタ係数36として利用されるこ
とになる。上記補間関数としては、例えばいわゆるキュ
ービック関数を用いることができ、このキュービック関
数を用いた例について以下に説明する。
【0117】キュービック関数Cub(x)は、次式
(5)にて表されるものである。なお、式(5)は前記
式(4)と同じ式である。ただし、式(5)に示される
キュービック関数の横軸は原画像をデジタル信号にサン
プリングするサンプリング間隔で正規化されているもの
とする。
【0118】 Cub(x)=|x|3−2|x|2+1 (|x|≦1の時) Cub(x)=−|x|3+5|x|2−8|x|+4 (1<|x|≦2の時) Cub(x)=0 (2<|x|の時) ・・・(5) この場合、フィルタのタップ数は4となり、式(6)に
示すように、補間画素Yは左右2つずつの原画素(例え
ばD0〜D3の4つの原画素とする)と、これら4つの原
画素D0〜D3に対応するフィルタ係数セットC0〜C3
積和演算により求める。
【0119】 Y=C0*D0+C1*D1+C2*D2+C3*D3 ・・・(6) また、上記フィルタ係数セットは、次のようにして決定
する。
【0120】例えば、変換比率が3:2の場合、原画素
Dと補間画素Yの位置関係(位相関係)は図7のように
なる。
【0121】この図7において、補間画素Y0と原画素
0は位相が一致しており、補間画素Y1は原画素D1
2と1/2だけずれている。補間画素Y2以降について
は以上の繰り返しであるから、異なる2種類の係数セッ
トが必要になる。例えば、補間画素Y0に対応する係数
セットを例えばC(0.0),・・・,C(0,3)とし、補間画
素Y1に対応する係数セットをC(1,0),・・・,C(1,
3)とすると、 C(0,0)=Cub(Y0から見たD-1の位置)=Cub(-1)=0 C(0,1)=Cub(Y0から見たD0の位置)=Cub(0)=0 C(0,2)=Cub(Y0から見たD1の位置)=Cub(1)=0 C(0,3)=Cub(Y0から見たD2の位置)=Cub(2)=0 C(1,0)=Cub(Y1から見たD0の位置)=Cub(-3/2)=-0.125 C(1,1)=Cub(Y1から見たD1の位置)=Cub(-1/2)=0.625 C(1,2)=Cub(Y1から見たD2の位置)=Cub(1/2)=0.625 C(1,3)=Cub(Y1から見たD3の位置)=Cub(3/2)=-0.125 フィルタ設計回路33は、以上の係数セットを求めるた
めのプログラムを有するものである。
【0122】前記水平フィルタプログラム34、垂直フ
ィルタプログラム36は、当該フィルタ設計回路33に
て求めた係数セットを用いて、補間画素Yを次のように
計算する。
【0123】 Y0=C(0,0)×D-1+ C(0,1)×D0+C(0,2)×D1+C(0,3)×D2 Y1=C(1,0)×D0+C(1,1)×D1+C(1,2)×D2+C(1,3)×D3 Y2=C(0,0)×D1+C(0,1)×D2+C(0,2)×D3+C(0,3)×D4 Y3=C(1,0)×D2+C(1,1)×D3+C(1,2)×D4+C(1,3)×D5 同様に、変換比率が4:3の場合の例を示す。この例で
は、原画素Dと補間画素Yの位相関係は3種類であるの
で、3種類の係数セットC(0,0),・・・,C(0,3)、C
(1,0),・・・,C(1,3)、C(2,0),・・・,C(2,3)が
求められる。
【0124】この例の場合も、入出力の画素数の比をN
i:No(Ni,Noは互いに素)とするとき、No種
類の係数セットが必要になる。
【0125】この4:3の場合、原画素Dと補間画素Y
の位置関係(位相関係)は、図8のようになる。
【0126】ここで、当該4:3の例においても係数セ
ットを、前述同様にC(0,0),・・・,C(0,3)〜C(2,
0),・・・,C(2,3)とすると、 C(0,0)=Cub(Y0から見たD-1の位置) =Cub(-1)=0 C(0,1)=Cub(Y0から見たD0の位置) =Cub(0) =0 C(0,2)=Cub(Y0から見たD1の位置) =Cub(1) =0 C(0,3)=Cub(Y0から見たD2の位置) =Cub(2) =0 C(1,0)=Cub(Y1から見たD0の位置) =Cub(-4/3)=-0.148 C(1,1)=Cub(Y1から見たD1の位置) =Cub(-1/3)=0.815 C(1,2)=Cub(Y1から見たD2の位置) =Cub(2/3) =0.407 C(1,3)=Cub(Y1から見たD3の位置) =Cub(5/3) =-0.074 C(2,0)=Cub(Y2から見たD1の位置) =Cub(-5/3)=-0.074 C(2,1)=Cub(Y2から見たD2の位置) =Cub(-2/3)=0.407 C(2,2)=Cub(Y2から見たD3の位置) =Cub(1/3) =0.815 C(2,3)=Cub(Y2から見たD4の位置) =Cub(4/2) =-0.148 この例の場合のタイミング設計回路38の動作は以下の
ようになる。
【0127】当該タイミング設計回路38は垂直方向の
画素数(ライン数)変換のためのタイミング情報39を
生成するものである。タイミング情報39は、垂直フィ
ルタプログラム36において、フィルタ仕様30の変換
比率に基づき、入出力走査線のライン数を変換するよう
に作用する。入出力のライン数の比をNi:No(N
i,Noは互いに素)とするとき、変換比率R=No/
Niによって拡大と縮小に動作が分けられる。
【0128】先ず、R>1(拡大)の場合を説明する。
すなわち入力よりも出力の方がライン数が多い場合であ
る。
【0129】タイミング設計回路38は、例えばi番目
の入力ラインにおいて(i modNi)<Noであれ
ばライン入力→補間演算処理→ライン出力という順序の
タイミング情報39を生成し、(i mod Ni)≧
Noであればライン入力を待たずにライン出力を行うの
で、補間演算処理→ライン出力という順序でタイミング
情報39を生成する。
【0130】例えば、3/2倍の拡大を行うとき、次の
ようなタイミング信号39が生成される。垂直フィルタ
プログラム39は、この順序に従って処理を行う。
【0131】 以上より、入力が2ラインにつき出力が3ラインとな
り、垂直方向に3/2倍にライン数が増加する。
【0132】次に、R<1(縮小の場合)の説明を行
う。すなわち入力よりも出力の方がライン数が少ない場
合である。
【0133】i番目の入力ラインにおいて、(i mo
d Ni)<Noであればライン入力→補間演算処理→
ライン出力という順序のタイミング情報39を生成し、
(imod Ni)≧Noであればライン入力を1回多
く行うために、ライン入力のみのタイミング情報39を
生成する。
【0134】例えば、2/3倍の拡大を行うとき、次の
ようなタイミング信号39が生成される。垂直フィルタ
プログラム39は、この順序に従って処理を行う。
【0135】 ライン入力→補間演算処理→ライン出力→ ライン入力→補間演算処理→ライン出力→ ライン入力→ ライン入力→補間演算処理→ライン出力→ ライン入力→補間演算処理→ライン出力→ ライン入力→ ・ ・ ・ 以上より、入力が3ラインにつき出力が2ラインとな
り、垂直方向に2/3倍にライン数が増加する。
【0136】次に、水平フィルタプログラム34の動作
説明を行う。すなわち上側のプロセッサエレメント群2
1では、以下の図9に示すフローチャートのように水平
フィルタプログラム34を実行する。
【0137】この図9において、ステップST1ではス
キップ設定を行う。すなわち、スキップ情報32に従
い、入力レジスタ24及び出力レジスタ25にスキップ
動作の設定を行う。
【0138】ステップST2では、領域の確保を行う。
すなわち、各要素プロセッサは、ローカルメモリに4タ
ップ分の係数セットC0〜C3を格納するための領域c1
〜c4を確保する。
【0139】ステップST3では、係数設定を行う。例
えば、3:2縮小画素数変換の場合には、以下のように
する。例えば、左から1,3,5,・・・,(i+2)
番目の要素プロセッサは、係数セットC(0,0),・・
・,C(0,3)を係数メモリからローカルメモリに格納す
る。また、左から2,4,6,・・・,(i+1)番目
の要素プロセッサは、係数セットC(1,0),・・・,C
(1,3)を係数メモリからローカルメモリに格納する。
【0140】ステップST4では、データ入力を行う。
各要素プロセッサは、入力レジスタ24から入力された
データ(原画素Dのデータ)をローカルメモリの領域d
に格納する。
【0141】ステップST5では、補間演算を行う。す
なわち、各要素プロセッサは、原画素Dと係数Cとを用
いて、次の式(7)の演算を行い、結果を補間画素Yと
して領域yに格納する。ただし、式(7)中のL1(x),
2(x),R1(x),R2(x)(xは変数)は、それぞれ1つ
左、2つ左,1つ右,1つ右の要素プロセッサのローカ
ルメモリの領域dの値(原画素Dの値)を表す。
【0142】 Y=L1(D)*C0+D*C1+R1(D)*C2+R2(D)*C3 ・・・(7) このステップST5の次のステップST6では、データ
出力を行う。すなわち各要素プロセッサは、結果を下側
のプロセッサエレメント群22に転送する。
【0143】その後はステップST4に戻る。
【0144】次に、垂直フィルタプログラム36の動作
を説明する。すなわち、下側のプロセッサエレメント群
22では、以下の図10のフローチャートのように垂直
フィルタプログラム36を実行する。
【0145】この図10において、ステップST11で
は領域を確保する。すなわち、各要素プロセッサは、ロ
ーカルメモリに4ライン分の原画素D用の領域d1〜d4
を確保する。
【0146】ステップST12では各要素プロセッサ
が、タイミング情報39に従って以下の(A)から
(C)の動作を選んで実行する。
【0147】このステップST12にて(A)が選ばれ
ると、ステップST13にてライン入力が行われ、上側
のプロセッサエレメント群21からの入力データ(原画
素D)をローカルメモリの領域(d0〜d3とする)に格
納する。最新の4ライン分のデータを保持するため、以
下の手順を実行する。
【0148】ステップST14では領域d0に領域d1
原画素Dの値をコピーする。ステップST15では、領
域d1に領域d2の原画素Dの値をコピーする。ステップ
ST16では領域d2に領域d3の原画素Dの値をコピー
する。ステップST17では領域d3に入力データ(原
画素D)の値をコピーする。
【0149】また、ステップST12にて(B)が選ば
れると、ステップST18にて補間演算を行う。すなわ
ち、原画素Dと係数Cとを用いて次の式(8)の演算を
行い、結果を補間画素Yの値として領域yに格納する。
なお、フィルタ係数は全要素プロセッサで共通なので、
係数メモリから直接読み出す。
【0150】 Y=D0*C0+D1*C1+D2*C2+D3*C3 ・・・(8) さらに、ステップST12にて(C)が選ばれたとき、
ステップST19にてライン出力を行う。すなわち、各
要素プロセッサは、領域yの値(補間画素Y)を出力レ
ジスタ25に格納する。
【0151】上述したようなことから、本発明実施例の
画像信号処理装置によれば、画素数変換の処理を全て自
動的に行うことができ、フィルタの仕様を決定するだけ
で、その仕様に基づく画素数変換装置が実現できる。ま
た本実施例の装置によれば、プログラムや係数を入れ換
えるだけで、回路の変更をすることなく、多種の画素数
変換を含むフィルタ処理が行え、さらに、分離型フィル
タを利用することで効率的な水平,垂直フィルタを一般
の1次元フィルタ設計手法により実現でき、また、フィ
ルタ処理を2つの独立したプロセッサエレメント群で実
行するという構成により、プログラムの独立性,保守性
などを高めることができ、利用し易くなっている。
【0152】
【発明の効果】本発明においては、フィルタ仕様情報に
基づいて第1,第2の両方向用のフィルタ演算に必要な
フィルタプログラム及びフィルタ係数を発生し、第1の
方向の画素順で順次シリアルに入力した画素データをパ
ラレルに変換し、このパラレル変換された第1の方向の
画素列の各画素データに対して第1の方向用のフィルタ
プログラム及びフィルタ係数を用いた所定のフィルタ演
算処理を施し、その後の第1の方向の画素列の各画素デ
ータに対して、必要に応じて更に第2の方向用のフィル
タプログラム及びフィルタ係数を用いた所定のフィルタ
演算処理を施し、得られたパラレル画素データを第2の
方向の画素順に順次シリアル出力することにより、例え
ばタップ数や変換比率を変更したい時に、容易かつ短時
間でそれらの変更が可能であり、また、複数の変換比率
にて画素数変換を行う必要がある場合でもそれぞれの変
換比率に対応する複数用意する必要が無くなる。
【0153】すなわち、本発明の画像信号処理方法及び
装置においては、フィルタプログラム及びフィルタ係数
をフィルタ仕様情報に基づいて全て自動的に設定可能で
あり、したがって、回路の変更をすることなく、フィル
タの仕様を決定するだけで、プログラムやフィルタ係数
を入れ換えることができ、多種の画素数変換や走査線変
換を含むフィルタ処理が実現可能である。また、本発明
においては、2次元画像を第1の方向と第2の方向に分
けて考え、これら第1の方向と第2の方向のそれぞれに
対して分離してフィルタ演算を行うようにしているた
め、フィルタ演算のためのフィルタプログラム及びフィ
ルタ係数を容易かつ効率的に設計可能である。さらに、
本発明においては、このようにフィルタ演算を分離する
ことで、第1の方向と第2の方向のフィルタ演算の独立
性や保守性を高めることができ、利用しやすくなる。
【図面の簡単な説明】
【図1】本発明実施例のリニアアレイ型多並列プロセッ
サの基本構成を示すブロック回路図である。
【図2】リニアアレイ型多並列プロセッサの要素プロセ
ッサの単一エレメントの基本構成を示すブロック回路図
である。
【図3】リニアアレイ型多並列プロセッサの要素プロセ
ッサの具体的構造を示す回路図である。
【図4】本発明実施例のリニアアレイ型多並列プロセッ
サをより詳細に示すブロック回路図である。
【図5】画素数変換時の補間画像演算の説明に用いる図
である。
【図6】本発明実施例のリニアアレイ型多並列プロセッ
サにおけるプログラムとフィルタ係数の自動設計の流れ
を示す図である。
【図7】3:2画素数変換時の原画素と補間画素の位置
関係の説明に用いる図である。
【図8】4:3画素数変換時の原画素と補間画素の位置
関係の説明に用いる図である。
【図9】水平フィルタプログラムを実行する際の流れを
示すフローチャートである。
【図10】垂直フィルタプログラムを実行する際の流れ
を示すフローチャートである。
【図11】画像の拡大と標本化周波数(画素数)の変換
についての説明に用いる図である。
【図12】画像の縮小と標本化周波数(画素数)の変換
についての説明に用いる図である。
【図13】原画像には存在しなかった位置の画素データ
値を求める補間フィルタ演算についての説明に用い、水
平方向の画素の位置関係を模式的に示す図である。
【図14】理想的な補間関数と近似された補間関数の説
明に用いる図である。
【図15】従来のハードウェア構成による画像信号処理
装置の一例を示すブロック回路図である。
【図16】従来のハードウェア構成による画像信号処理
装置の各部の動作説明に用いる表である。
【図17】従来のハードウェア構成による画像信号処理
装置にて扱う係数等の説明に用いる表である。
【符号の説明】
20,120 リニアアレイ型多並列プロセッサ、 1
21 入力SAM部、122 データメモリ部、123
ALUアレイ部、 124 出力SAM部、 125
プログラム制御部、 130 入力バッファメモリ、
131 出力バッファメモリ、 132 データメモ
リ、 133,123B ALU、121A 入力ポイ
ンタ、 121B 入力SAMセル、 122A メモ
リセル、 123A ALUセル、 124A 出力ポ
インタ、 124B 出力SAMセル、 21,22
プロセッサエレメント群、 23 要素プロセッサ、2
4 入力レジスタ、 25 出力レジスタ、 26,2
8 コントローラ、27,29 係数メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 青山 幸治 東京都品川区北品川6丁目7番35号 ソニ ー株式会社内

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 第1の方向及び当該第1の方向と交差す
    る第2の方向に配列する複数画素からなる2次元画像に
    対して、フィルタ演算を施す画像信号処理方法におい
    て、 フィルタ仕様情報に基づいて、上記第1の方向と第2の
    方向の両方向用のフィルタ演算に必要なフィルタプログ
    ラム及びフィルタ係数を発生し、 上記2次元画像を構成する上記第1の方向の画素順で、
    順次シリアルに入力した画素データを当該第1の方向の
    画素列毎にパラレルに変換し、 上記パラレルに変換された上記第1の方向の画素列の各
    画素データに対して、当該第1の方向用のフィルタプロ
    グラム及びフィルタ係数を用いた所定のフィルタ演算処
    理を施し、 当該所定の演算処理がなされた上記第1の方向の画素列
    の各画素データに対して、必要に応じて更に上記第2の
    方向用のフィルタプログラム及びフィルタ係数を用いた
    所定のフィルタ演算処理を施し、 得られたパラレル画素データを上記第2の方向の画素順
    に順次シリアル出力することを特徴とする画像信号処理
    方法。
  2. 【請求項2】 フィルタ仕様情報に基づいて上記2次元
    画像の拡大または縮小の設定を行い、 上記2次元画像の拡大を行うときには、上記第1の方向
    と第2の方向の両方向の拡大フィルタ演算に必要なフィ
    ルタプログラム及びフィルタ係数を発生し、上記第1の
    方向の画素順で順次入力した画素データ間をスキップす
    るためのスキップ情報を生成し、上記第2の方向の入力
    画素列数と出力画素列数の拡大比を制御するためのタイ
    ミング情報を生成することを特徴とする請求項1記載の
    画像信号処理方法。
  3. 【請求項3】 フィルタ仕様情報に基づいて上記2次元
    画像の拡大または縮小の設定を行い、 上記2次元画像の拡大を行うときには、上記第1の方向
    と第2の方向の両方向の縮小フィルタ演算に必要なフィ
    ルタプログラム及びフィルタ係数を発生し、上記所定の
    フィルタ演算処理がなされた後の上記第1の方向の各画
    素データをスキップするためのスキップ情報を生成し、
    上記第2の方向の入力画素列数と出力画素列数の縮小比
    を制御するためのタイミング情報を生成することを特徴
    とする請求項1記載の画像情報処理方法。
  4. 【請求項4】 第1の方向及び当該第1の方向と交差す
    る第2の方向に配列する複数画素からなる2次元画像に
    対して、フィルタ演算を施す画像信号処理装置におい
    て、 フィルタ仕様情報に基づいて、上記第1の方向と第2の
    方向の両方向用のフィルタ演算に必要なフィルタプログ
    ラム及びフィルタ係数を発生するプログラム及び係数発
    生手段と、 上記2次元画像を構成する上記第1の方向の画素順で順
    次シリアルに入力した画素データを、当該第1の方向の
    画素列毎にパラレルに出力するシリアル/パラレル変換
    手段と、 上記パラレルに変換された上記第1の方向の画素列の各
    画素データに対して、当該第1の方向用のフィルタプロ
    グラム及びフィルタ係数を用いた所定のフィルタ演算処
    理を施す第1のフィルタ演算手段と、 当該第1のフィルタ演算手段にて所定の演算処理がなさ
    れた上記第1の方向の画素列の各画素データに対して、
    必要に応じて更に上記第2の方向用のフィルタプログラ
    ム及びフィルタ係数を用いた所定のフィルタ演算処理を
    施す第2のフィルタ演算手段と、 上記第2のフィルタ演算手段から得られたパラレル画素
    データを、上記第2の方向の画素順に順次シリアル出力
    するパラレル/シリアル変換手段とを有することを特徴
    とする画像信号処理装置。
  5. 【請求項5】 上記第1の方向の画素順で順次入力した
    画素データ間をスキップするためのスキップ情報を生成
    するスキップ情報生成手段と、 上記第2の方向の入力画素列数と出力画素列数の拡大比
    を制御するためのタイミング情報を生成するタイミング
    情報生成手段とを設け、 上記2次元画像の拡大を行うとき、上記プログラム及び
    係数発生手段は、上記第1の方向と第2の方向の両方向
    の拡大フィルタ演算に必要なフィルタプログラム及びフ
    ィルタ係数を発生することを特徴とする請求項4記載の
    画像信号処理装置。
  6. 【請求項6】 上記所定のフィルタ演算処理がなされた
    後の上記第1の方向の各画素データをスキップするため
    のスキップ情報を生成するスキップ情報生成手段と、 上記第2の方向の入力画素列数と出力画素列数の縮小比
    を制御するためのタイミング情報を生成するタイミング
    情報生成手段とを設け、 上記2次元画像の縮小を行うとき、上記プログラム及び
    係数発生手段は、上記第1の方向と第2の方向の両方向
    の縮小フィルタ演算に必要なフィルタプログラム及びフ
    ィルタ係数を発生することを特徴とする請求項4記載の
    画像情報処理装置。
  7. 【請求項7】 上記第1の方向の画素順で順次入力した
    画素データまたは当該画素データ間をスキップするため
    のスキップ情報を生成するスキップ情報生成手段と、 上記第2の方向の入力画素列数と出力画素列数の拡大ま
    たは縮小比を制御するためのタイミング情報を生成する
    タイミング情報生成手段とを設け、 上記2次元画像の拡大または縮小を行うとき、上記プロ
    グラム及び係数発生手段は、上記第1の方向と第2の方
    向の両方向の拡大または縮小フィルタ演算に必要なフィ
    ルタプログラム及びフィルタ係数を発生することを特徴
    とする請求項4記載の画像信号処理装置。
JP8287103A 1996-10-29 1996-10-29 画像信号処理方法及び装置 Abandoned JPH10134176A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8287103A JPH10134176A (ja) 1996-10-29 1996-10-29 画像信号処理方法及び装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8287103A JPH10134176A (ja) 1996-10-29 1996-10-29 画像信号処理方法及び装置

Publications (1)

Publication Number Publication Date
JPH10134176A true JPH10134176A (ja) 1998-05-22

Family

ID=17713105

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8287103A Abandoned JPH10134176A (ja) 1996-10-29 1996-10-29 画像信号処理方法及び装置

Country Status (1)

Country Link
JP (1) JPH10134176A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000028519A1 (fr) * 1998-11-10 2000-05-18 Fujitsu General Limited Circuit d'agrandissement d'images
JP2002008025A (ja) * 2000-04-21 2002-01-11 Matsushita Electric Ind Co Ltd 画素演算装置
JP2006127460A (ja) * 2004-06-09 2006-05-18 Renesas Technology Corp 半導体装置、半導体信号処理装置、およびクロスバースイッチ
JP2008061036A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd 画像処理プログラムおよび画像処理装置
JP2008522313A (ja) * 2004-12-03 2008-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プログラマブルプロセッサ
JP2015513837A (ja) * 2012-02-24 2015-05-14 アップル インコーポレイテッド パラレルスケーラ処理

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000028519A1 (fr) * 1998-11-10 2000-05-18 Fujitsu General Limited Circuit d'agrandissement d'images
JP2002008025A (ja) * 2000-04-21 2002-01-11 Matsushita Electric Ind Co Ltd 画素演算装置
JP4686048B2 (ja) * 2000-04-21 2011-05-18 パナソニック株式会社 画素演算装置
JP2006127460A (ja) * 2004-06-09 2006-05-18 Renesas Technology Corp 半導体装置、半導体信号処理装置、およびクロスバースイッチ
JP2008522313A (ja) * 2004-12-03 2008-06-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ プログラマブルプロセッサ
US8963942B2 (en) 2004-12-03 2015-02-24 Intel Corporation Programmable processor
JP2008061036A (ja) * 2006-08-31 2008-03-13 Brother Ind Ltd 画像処理プログラムおよび画像処理装置
JP2015513837A (ja) * 2012-02-24 2015-05-14 アップル インコーポレイテッド パラレルスケーラ処理

Similar Documents

Publication Publication Date Title
KR100901073B1 (ko) 다중 필터링 모드를 갖는 재구성 가능한 디지털 필터
US7492376B2 (en) Graphics resampling system and method for use thereof
JP2975585B2 (ja) イメージをアップスケーリングする方法及び装置
US5230064A (en) High resolution graphic display organization
JPH10134176A (ja) 画像信号処理方法及び装置
EP0827082B1 (en) Semiconductor memory having arithmetic function
WO2016197393A1 (zh) 并行多相位图像插值装置和方法
JP2000148578A (ja) 記憶装置および画像データ処理装置
JP3444112B2 (ja) 画像信号処理装置
JP2000324337A (ja) 画像拡大縮小装置
JPH10134175A (ja) 画像処理装置および方法
US6108746A (en) Semiconductor memory having an arithmetic function and a terminal arrangement for coordinating operation with a higher processor
JP2002197454A (ja) 画像変換装置及び方法
JP2510019B2 (ja) 画像表示方法および装置
KR100665485B1 (ko) 디지털 신호 처리 장치 및 디지털 신호 처리 방법
US5819106A (en) Method of transposing data buffer by selectively merging pairs of rows, interleaving two operands of equal length yielding output twice the length of each operand
US11562460B1 (en) High performance hardware scaler
JP4465570B2 (ja) 画像処理装置および方法、並びに記録媒体
JPH0571113B2 (ja)
JP2647379B2 (ja) 画像処理装置
JPH11283023A (ja) 画像拡大縮小装置及び方法
JP2647378B2 (ja) 画像処理装置
JP2001036735A (ja) 画像拡大縮小装置及び方法
JPS62263580A (ja) 補間拡大回路
JP2000148975A (ja) 画像処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060322

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20060522