JP2000182037A - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法

Info

Publication number
JP2000182037A
JP2000182037A JP10358807A JP35880798A JP2000182037A JP 2000182037 A JP2000182037 A JP 2000182037A JP 10358807 A JP10358807 A JP 10358807A JP 35880798 A JP35880798 A JP 35880798A JP 2000182037 A JP2000182037 A JP 2000182037A
Authority
JP
Japan
Prior art keywords
data
pixel
input
phase
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.)
Withdrawn
Application number
JP10358807A
Other languages
English (en)
Inventor
Takushi Okuda
拓史 奥田
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 JP10358807A priority Critical patent/JP2000182037A/ja
Publication of JP2000182037A publication Critical patent/JP2000182037A/ja
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4007Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multi Processors (AREA)
  • Image Processing (AREA)
  • Studio Circuits (AREA)
  • Television Systems (AREA)

Abstract

(57)【要約】 【課題】 画像を効率的に処理して、補間による拡大を
行う。 【解決手段】 SIMD型プロセッサ3は、2系統のス
キップレジスタ群211および212と、2系統の入力S
AM(Serial Access Memory)部221および222を有
している。そして、スキップレジスタ群211または2
2を構成するスキップレジスタは、入力SAM部221
または222それぞれの対応する入力SAMセル(図示
せず)に対して、データの記憶をスキップするかどうか
を指示するフラグを記憶するようになされており、これ
により、入力SAM部221または222それぞれについ
て、独立に、スキップを行うかどうかの設定を行うこと
ができるようになされている。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データ処理装置お
よびデータ処理方法に関し、特に、例えば、複数の要素
プロセッサに画素データを供給し、その複数の要素プロ
セッサをSIMD(Single Instruction Multiple Data
Stream)制御して、各要素プロセッサで、画像処理を
並列に行う場合などに用いて好適なデータ処理装置およ
びデータ処理方法に関する。
【0002】
【従来の技術】例えば、テレビジョン受像機などの画像
表示装置(ディスプレイ)は、CRT(Cathode Ray Tu
be)を使用しているものが多い。このようなディスプレ
イにおいて、各種画像方式に対応してアナログ的に画像
信号を取り扱い、画像を表示する場合、水平走査周波数
を変えて対応することが多い。
【0003】一方、ディジタル的に画像信号を取り扱う
場合、NTSC(National Television System Committ
ee)やPAL(Phase Alternating by Line color tele
vision system)などの放送伝送方式に応じて、画像の
解像度が異なるので、それらの方式でディジタル化され
た画像の縦方向と横方向の画素数は、放送伝送方式毎に
異なる。また、放送伝送方式としては、HDTV(High
Density Television)まで含めて様々な方式があり、
その画素数(解像度)の規格は多様である。そのため、
画像データに対してディジタル処理を施すシステムにお
いては、これらのすべての伝送方式に対応させる場合、
画素数を、いわゆる補間フィルタで変換する必要があ
る。
【0004】そこで、画像の画素数を変換するための補
間フィルタの一例について説明するが、その前に、画像
の拡大、および標本化周波数(画素数)の変換について
説明する。
【0005】画像の拡大(縮小に関しても同様)と、画
像の標本化周波数(画素数)の変換(解像度の異なる画
像規格間の変換)は、どちらも、原画像の各画素位置に
対して、元の画像において存在しなかった画素のデータ
を求める補間演算を行うことにより実現される。従っ
て、補間演算操作を行う補間フィルタを利用することに
より、上述の2つの処理を行うことが可能である。
【0006】図17は、原画像の一部分の一例を示して
いる。図中の丸印は画素の位置を表している。この部分
においては、横方向に8画素、縦方向に6画素が含まれ
ている(便宜上、ここでは画素数を小さい値に設定して
いる)。
【0007】次に、この原画像を、例えば10/7倍に
拡大する場合について説明する。なお、倍率は面積では
なく長さの比で表現するものとする。図17の画像を拡
大する場合、表示画像規格は変えずに、画素の配列(即
ち画素間隔など)を、図17と同一に保つ。そのように
して、拡大の処理を行った場合、その結果の画像は、図
18のようになる。この場合、倍率は、約1.429
(=10/7)であるので、画像の1辺の長さは、1.
429倍され、画素数は、約1.4292倍に増加す
る。
【0008】例えば水平方向(水平走査の方向)に対し
て、原画像においては画素数が8であるが、拡大後に
は、11または12(8×10/7=11.429に近
い整数)画素になる。従って、拡大後の相似画像(拡大
画像)における画像の同じ部分に対応する各画素の位置
関係は、原画像における位置関係とは異なるので、拡大
後の各画素のデータ(輝度や色を表現する)の値は、原
画像のそれとは異なることになる。
【0009】図19は、(10/7)倍の倍率で、画像
の拡大した場合における、原画像と拡大後の画像におけ
る水平方向の画素の位置関係について示している。
【0010】図中、上側のRi(i=1,2,・・・)
は、原画像の画素データを表しており、下側のQi(i
=1,2,・・・)は、拡大後の補間画素のデータを表
している。Riに対応する画素は、Qiに対応する画素
の間隔の(10/7)倍の間隔で配置されている。な
お、図19は、水平方向の拡大の様子だけを示している
が、垂直方向についても同様であるので、その説明は省
略する。
【0011】拡大後の各画素のデータの値は、図19に
示すような原画像の各画素の位置との対応関係に応じ
て、周辺(拡大後の画素の位置の近傍)のいくつかの原
画像の画素データの値から、補間フィルタ演算、即ち補
間関数の畳み込み演算を行うことにより算出することが
できる。
【0012】次に、画像の大きさを変化させずに、標本
化周波数を、例えば10/7倍にする場合を考える。こ
の標本化周波数変換は、解像度が(10/7)倍だけ高
い画像規格に変換することと等価である。即ち、水平方
向の画素数は、(10/7)倍に変更される。この場
合、図17の原画像は、図20に示すように、1次元的
には約1.429倍の画素数、即ち1.4292倍の面
密度を有する画像に変換される。
【0013】図17の各画素と図18の各画素との対応
関係と、図17の各画素と図20の各画素との対応関係
は、両者とも、図19に示すようになり、同一であるの
で、画素数の多い画像規格に変換する演算操作は、上述
の画像の拡大の演算操作と同様に行われる。
【0014】次に、補間フィルタにおいて行われる演算
について説明する。
【0015】いま、原画像のある画素Rの位置から距離
(位相)xだけ離れた位置を、補間により生成する画素
Qの位置(補間点)とすると、画素Qの値は、その周辺
の原画像の画素の値Rを用いた畳み込み演算により算出
される。
【0016】即ち、標本化定理によれば、f(x)=s
in(x)/xを補間関数として、無限時間過去の画素
から無限時間将来の画素までについて畳み込み演算を行
うことで、理想的な補間を行うことができる。
【0017】しかしながら、実際には、有限時間内に補
間値を算出する必要があるので、sin(x)/x関数
を、有限の範囲で近似した補間関数が用いられる。ここ
で、近似の方法としては、最近傍近似法、双一次近似
法、Cubic近似法などが知られている。
【0018】上述のような演算を行う補間フィルタは、
例えば、乗算器や、加算器、遅延のためのレジスタなど
で構成されるFIR(Finite Impulse Response)型デ
ィジタルフィルタとして実現されることが多いが、かか
る構成のFIR型ディジタルフィルタでは、画素数の変
換とともに同時に行うことが要求されるテレビジョン信
号の処理やノイズ除去等の各種信号処理を行うのは困難
である。即ち、この場合、各種信号処理を行うための装
置が、補間フィルタとしてのFIR型ディジタルフィル
タとは別に必要となり、装置全体の規模が大型化するこ
とになる。
【0019】そこで、例えば、特開平8−123683
号公報に記載されているように、SIMD(Single Ins
truction Multiple Data stream)形式の並列プロセッ
サ(SIMD型プロセッサ)を利用して、FIR型ディ
ジタルフィルタを実現し、上述のような補間処理を行う
のと同時に、その他の各種信号処理を行う方法がある。
【0020】図21は、従来のSIMD型プロセッサの
一例の構成を示している。
【0021】このSIMD型プロセッサは、入力ポイン
タ回路21、入力SAM(Serial Access Memory)部2
2、データメモリ部23、ALU(Arithmatic Logic U
nit)アレイ部24、出力SAM部25、出力ポインタ
回路26、および、プログラム制御部27で構成されて
いる。
【0022】入力SAM部22、データメモリ部23、
ALUアレイ部24、および、出力SAM部25は、リ
ニアアレイ(直線配列)型に並列化された要素プロセッ
サ31群を構成している。これらの要素プロセッサ31
は、プログラム制御部27が有する1つのプログラムに
従って、連動して制御される(即ち、SIMD制御され
る)。プログラム制御部27は、プログラムメモリや、
そのプログラムを進行させるシーケンス制御回路などを
有し(いずれも図示せず)、プログラムメモリに予め書
き込まれたプログラムに従って、各種制御信号を発生し
て、各ブロックを制御する。
【0023】なお、入力SAM部22、データメモリ部
23、出力SAM部25は、主にメモリで構成されてい
る。詳細に説明しないが、図21の装置において、これ
らのメモリのための「ロウ(ROW)」アドレスデコーダ
は、プログラム制御部27に含まれているものとする。
【0024】並列化された要素プロセッサ31(単一エ
レメント分)の群の1つは、図21において、斜線で示
した部分に対応し、複数の要素プロセッサ31が、図中
において横方向に配列されている。即ち、図21の斜線
の部分だけで、1つのプロセッサに対応する構成要素を
有している。
【0025】次に、図21のSIMD型プロセッサの動
作について説明する。
【0026】入力端子DINに与えられた入力データ
(1画素分の画像データ)は、入力SAM部22に供給
され、入力ポインタ回路21の指示にしたがって書き込
まれる。
【0027】即ち、入力ポインタ回路21は、1つの入
力データに対して1つの要素プロセッサ31だけに、値
「H」の1ビット信号、即ち入力ポインタ信号を出力す
る。そして、値「H」で指定された要素プロセッサ31
の入力SAM部22を構成するメモリセルである入力S
AMセル(図示せず)に、その入力データが書き込まれ
る。
【0028】入力ポインタ信号による、データを供給す
る要素プロセッサ31の指定は、入力データのクロック
ごとに、例えば図中の左端の要素プロセッサ31から右
端の要素プロセッサ31に向けて順次移動するので、入
力データは、左端の要素プロセッサ31の入力SAM部
22(入力SAMセル)から、右側の要素プロセッサ3
1の入力SAMセルに順次供給されて記憶される。
【0029】要素プロセッサ31の数は、画像信号(入
力SAM部22に入力される画像信号、または出力SA
M部25から出力される画像信号のうち、1水平走査期
間の画素数の多い方)の1水平走査期間の画素数H以上
に設計されているので、画像信号の1水平走査期間分の
画素データを、入力SAM部22に蓄積することができ
る。このような入力動作は、水平走査期間毎に繰り返さ
れる。なお、各画素プロセッサ31を構成する入力SA
M部22または出力SAM部25は、少なくとも、入力
データのビット数ISBまたは出力データのビット数O
SBをそれぞれ記憶することのできる数のメモリセルか
ら構成されている。
【0030】プログラム制御部27は、このようにして
画像信号の1水平走査期間のデータが入力SAM部22
に蓄積されるごとに、プログラムに従って入力SAM部
22、データメモリ部23、ALUアレイ部24、およ
び、出力SAM部25を以下のようにSIMD制御して
処理を実行する。
【0031】なお、このプログラム制御は水平走査期間
ごとに繰り返される。従って、水平走査期間に対応する
時間を、このプロセッサの命令サイクル周期で割算して
算出されるステップ数だけのプログラムを処理すること
ができる。SIMD制御であるから、以下の動作は全て
の要素プロセッサ31において並行して同様に実行され
る。
【0032】入力SAM部22に蓄積された1水平走査
期間分の入力データは、次の水平ブランキング期間にお
いて、入力SAM部22からデータメモリ部23へ転送
され、その後の演算処理に使われる。
【0033】入力SAM部22からデータメモリ部23
へのデータの転送においては、プログラム制御部27
は、入力SAM読み出し信号により入力SAM部22の
所定のビット(メモリセル)のデータを選択してアクセ
スした後、メモリアクセス信号を出して、そのデータ
を、データメモリ部23を構成する所定のメモリセル
(図示せず)へ書き込んでいく。
【0034】次に、プログラム制御部27は、プログラ
ムに応じて、各要素プロセッサ31のALUアレイ部2
4に、その要素プロセッサ31のデータメモリ部23に
保持されているデータを供給し、そのデータに対して算
術演算あるいは論理演算を行わせる。そして、その演算
結果は、データメモリ部23の所定のアドレスに書き込
まれる。
【0035】なお、ALUアレイ部24における演算
は、全てビット単位で行われるので、1サイクル当たり
1ビットづつ処理が進行する。例えば、8ビットのデー
タ同士の論理演算を行う場合、少なくとも8サイクルか
かることになる。また、8ビットのデータ同士の加算を
行う場合、少なくとも9サイクルかかることになる。8
ビットのデータ同士の乗算を行う場合、その乗算は64
回のビット加算と等価であるので、少なくとも64サイ
クルかかることになる。
【0036】また、要素プロセッサ31は、近傍の要素
プロセッサ31に接続されており、プロセッサ間通信を
行うことができる。ただし、近傍の要素プロセッサ31
のデータメモリ部23へのアクセスを行う場合、SIM
D制御に起因して、例えば右隣りの要素プロセッサ31
のデータメモリ部23をアクセスするときは、すべての
要素プロセッサ31が、右隣りの要素プロセッサ31の
データメモリ部23をアクセスすることになる。
【0037】なお、このように動作することは、FIR
型ディジタルフィルタの実現には特に問題とはならな
い。また、直接接続されていない要素プロセッサ31の
データを読み出す場合、プログラムステップは多少増え
るが、近傍のプロセッサ間通信を繰り返すことにより、
データを読み出すことができる。
【0038】このような通信を利用して、近傍の要素プ
ロセッサ31が保持するデータを取得し、画像の水平方
向のFIR型ディジタルフィルタ演算を実現することが
できる。
【0039】なお、以上のようなSIMD型プロセッサ
においては、水平方向の同じ位置の画素のデータは、す
べての水平走査期間において、所定の1つの要素プロセ
ッサ31により処理されるので、データを入力SAM部
22からデータメモリ部23に転送するときに、水平走
査期間ごとに、データを記憶するアドレス(データメモ
リ部23がデータを記憶するメモリセル)を変更するこ
とにより、過去の水平走査期間の入力データを、それ以
降の水平走査期間まで、データメモリ部23の内部に保
持することができる。このようにすることにより、画像
の垂直方向の補間についても、その演算に必要なデータ
をデータメモリ部23に順次保持させていくことができ
る。
【0040】即ち、各要素プロセッサ31では、上述の
ようにして、垂直方向(水平走査方向に対して垂直な方
向)の所定の連続数の画素データを、データメモリ部2
3の内部に保持することにより、垂直方向のFIR型デ
ィジタルフィルタ演算が実現される。なお、各画素プロ
セッサ31を構成するデータメモリ部23は、少なくと
も、そのような演算に用いられるデータを記憶すること
のできる数Lだけのメモリセルから構成されている。
【0041】以上のようにして1水平走査期間に割り当
てられている演算が終了すると、その水平走査期間のう
ちに、その水平走査期間に演算したデータは、出力SA
M部25に転送される。
【0042】以上のように、1水平走査期間のうちに、
入力SAM部22に蓄積された入力データのデータメモ
リ部23への転送、ALUアレイ部24による演算、お
よび、出力SAM部25へのデータの転送が、ビットを
単位とするSIMD制御プログラムに従って実行され
る。そして、この処理は、水平走査期間を単位として、
順次繰り返される。
【0043】そして、出力SAM部25に転送された出
力データは、さらに次の水平走査期間において、出力S
AM部25の出力端子DOUTから出力される。即ち、出
力SAM部25では、ALUアレイ部24から転送され
てきた出力データが記憶され、次の水平走査期間におい
て、入力ポインタ回路21が出力する入力ポインタ信号
と同様の、出力ポインタ回路26より供給される出力ポ
インタ信号にしたがって、その記憶されたデータが読み
出される。
【0044】以上のように、入力データを入力SAM部
22に書き込む入力処理、プログラム制御部27によ
る、入力SAM部22に蓄積された入力データのデータ
メモリ部23への転送、ALUアレイ部24による演
算、および出力SAM部25への出力データの転送の演
算処理、並びに出力データを出力SAM部25から出力
する出力処理の3つの処理が、各入力データに対して行
われる。なお、これらの3つの処理は、画像信号の1水
平走査期間を単位とするパイプライン処理として実行さ
れる。
【0045】1つの水平走査期間の入力データに注目す
れば、その入力データに対する3つの処理には、各処理
において1水平走査期間に対応する時間が経過するの
で、合計水平走査期間の3倍に対応する時間がかかる
が、3つの処理がパイプライン処理として並行に実行さ
れるので、平均して、1水平走査期間分の入力データあ
たり1水平走査期間に対応する時間で処理を行うことが
できる。
【0046】ところで、SIMD型プロセッサによれ
ば、例えば、帯域制限等のための一般的なFIR型ディ
ジタルフィルタの実現は容易に可能であるが、補間の演
算が必要とされる画像の拡大を行う場合(画素数を多く
して解像度を向上させる場合)において、SIMDプロ
セッサを補間を行うFIR型ディジタルフィルタとして
機能させたときには、1水平走査期間の画素について、
入力SAM部22に保持されるデータの数と、出力SA
M部25に出力されるデータの数が異なるので、入力S
AM部22において、入力データを、密に配列すると、
処理効率が劣化することになる。
【0047】即ち、例えば、いま、1水平走査線(1水
平ライン)上の画素数を、例えば、500画素から10
00画素に増加させる場合(水平方向を2倍に拡大する
場合)、要素プロセッサ31は、1000画素の出力デ
ータを得るために、少なくとも1000個必要となる。
この場合において、入力SAM部22に、500画素の
入力データを、左端の入力SAMセルから密に配列して
記憶させると、左から500画素目の入力データは、左
から500番目の要素プロセッサ31の位置にある。一
方、左から1000画素目の出力データは、左から10
00番目の要素プロセッサにおいて補間により求められ
るが、その補間には、補間前と補間後の画素の対応関係
から、500画素目の入力データが必要となる。
【0048】従って、この場合、500番目の要素プロ
セッサ31の位置にある500画素目の入力データを、
そこから、1000番目の要素プロセッサまで転送する
必要があり、例えば、いま、データの転送が、隣接する
画素プロセッサ31どうしの間でのみ行われるとする
と、500回の転送が必要となり、そのような数多くの
転送を行うのは、処理効率を劣化させることになる。
【0049】そこで、入力ポインタ回路21は、スキッ
プレジスタ群21Aを有している。即ち、スキップレジ
スタ群21Aは、要素プロセッサ31の数と同一の数の
スキップレジスタから構成されており、各スキップレジ
スタは、例えば、1ビットのレジスタで、入力SAM部
22の対応する入力SAMセルに対して、入力データの
記憶をスキップするかどうかを指示する1ビットのフラ
グSKIPを記憶するようになされている。
【0050】スキップレジスタ群21AへのフラグSKIP
のセットは、ALUアレイ部24によって行われるよう
になされている。即ち、ALUアレイ部24は、入力S
AM部22を構成する入力SAMセルのうち、入力デー
タの記憶をスキップさせるものに対応するスキップレジ
スタには、例えば1のフラグSKIPをセットし、入力デー
タの記憶をスキップさせないものに対応するスキップレ
ジスタには、例えば0のフラグSKIPをセットするように
なされている。即ち、上述したように、入力ポインタ信
号による画素プロセッサ31(を構成する入力SAM部
22の入力SAMセル)の指定は、左端から右端の画素
プロセッサ31に順次移動していくが、指定しようとす
る画素プロセッサ31に対応するスキップレジスタに、
1のフラグSKIPがセットされている場合には、入力ポイ
ンタ信号は、その画素プロセッサ31の右隣の画素プロ
セッサ31を指定するようにスキップされる。その結
果、入力データは、入力ポインタ信号が指定しようとし
ていた画素プロセッサ31をスキップして、その右隣の
画素プロセッサ31に供給されて記憶される。
【0051】ここで、スキップが生じる場合について説
明する。
【0052】例えば、いま、図22に示すように、入力
データ(原画像)の水平方向に隣接する4画素(図22
において○印で示す)を用いて補間を行うことにより
(以下、適宜、補間に用いる原画像の画素をタップとい
う)、拡大画像となる出力データとしての補間画素(図
22において×印で示す)を求めることとする。即ち、
例えば、補間によって得られる補間画素Qの位置から左
方向に最も近い位置にある原画像の画素DCを基準画素
とし、原画像において、その基準画素DCの左隣の画素
DL、基準画素DCの右隣の画素DR1、およびその画
素DR1のさらに右隣の画素DR2の4画素を用いて補
間を行うことにより、補間画素Qを求めることとする。
【0053】また、ここでは、例えば、8ビット精度で
補間による画像の拡大を行うものとし、その拡大率を、
正の整数をとる変数MAGを用いて、28/MAGと表す(従
って、変数MAGは、拡大率の逆数に相当する)。なお、
ここでは、拡大を対象としているので、変数MAGは2
8(=256)以下である。
【0054】さらに、原画像、拡大画像それぞれについ
て、画素番号NUMを定義する。ここでは、例えば、1水
平ライン上の左端の画素から右端の画素に、シーケンシ
ャルに1からの整数を、画素番号NUMとして付すること
とする。また、画素番号NUMの画素を、以下、適宜、画
素NUMと表す。
【0055】この場合、拡大画像を構成する画素となる
補間画素NUMの絶対的な位置(位相)(以下、適宜、絶
対位相という)は、原画像の左端の画素の位置を1とし
て、その画素間の距離も1とすると(従って、原画像の
画素の画素番号NUMが、絶対的な位置(水平方向の座
標)を表すとすると)、NUM×MAG/28で表される。こ
こで、拡大画像の画素番号NUMの補間画素の絶対的な位
相NUM×MAG/28の整数部分が、その補間画素について
の基準画素となる原画像の画素の画素番号NUMを表すこ
とになる。
【0056】さらに、この場合、補間画素NUMについて
の、その基準画素からの相対的な距離(位相)(以下、
適宜、相対位相という)は、NUM×MAG/28の小数部分
によって表される。
【0057】いまの場合、処理の精度を8ビットとして
いるため、原画像の隣接する画素どうしの間のある位置
は、その間を28等分した精度で表すことができるが、
原画像の隣接する画素どうしの間を、そのように28
分した尺度で考えると、補間画素NUMについての基準画
素からの相対位相PCは、MAG×NUMの下位8ビットで表す
ことができる。
【0058】このような場合において、今回得られた補
間画素NUMについての基準画素からの相対位相PCが、拡
大率の逆数に相当する変数MAG未満である場合には、図
23(A)に示すように、前回得られた補間画素NUM-1
(図中、△印で示す)は、今回得られた補間画素NUM
(図中、×印で示す)よりMAGだけ左に位置するから、
前回得られた補間画素NUM-1についての基準画素と、今
回得られた補間画素NUMについての基準画素とは、原画
像の異なる画素となる。即ち、今回得られた補間画素NU
Mについては、前回得られた補間画素NUM-1を求めるとき
に基準画素とされた原画像の画素の右隣の画素を基準画
素として、タップが構成される。
【0059】一方、今回得られた補間画素NUMについて
の基準画素からの相対位相PCが、拡大率の逆数に相当す
る変数MAG以上である場合には、図23(B)に示すよ
うに、前回得られた補間画素NUM-1は、今回得られた補
間画素NUMよりMAGだけ左に位置するから、前回得られた
補間画素NUM-1についての基準画素と、今回得られた補
間画素NUMについての基準画素とは、原画像の同一の画
素となる。従って、この場合、今回得られた補間画素NU
Mについては、前回得られた補間画素NUM-1を求めるとき
に基準画素とされた画素を基準画素として、タップが構
成される。
【0060】SIMD型プロセッサにおいて、補間によ
る画像の拡大を行う場合に、上述したようなデータの転
送回数を少なくして処理効率を向上させるには、補間画
素を求める各要素プロセッサ31が、その補間画素を求
めるのに用いる原画像の画素を、少ない転送回数で取得
することができるように、入力SAM部22に、原画像
の画素等を疎らに記憶させるのが望ましい。
【0061】即ち、補間画素NUMの相対位相PCが変数MAG
以上となる図23(B)に示した場合において、前回得
られた補間画素NUM-1についての基準画素となる原画像
の画素が、その補間画素NUM-1を求める要素プロセッサ
31の入力SAMセルに記憶されたときに、原画像の次
の画素(右隣の画素)を、補間画素NUMを求める要素プ
ロセッサ31の入力SAMセルに記憶させると、原画像
の画素は、入力SAM部22に密に記憶されることにな
り、データの転送回数が増加する。そこで、この場合に
は、補間画素NUMを求める要素プロセッサ31の入力S
AMセルにおける画素の記憶がスキップされ、原画像の
次の画素は、次の補間画素NUM+1を求める要素プロセッ
サ31の入力SAMセルに渡される(スキップされ
る)。そして、次の補間画素NUM+1を求める要素プロセ
ッサ31の入力SAMセルにおいてスキップを行うかど
うかは、その補間画素NUM+1の相対位相PCが、変数MAG未
満かどうかで決められる。即ち、補間画素NUM+1の相対
位相PCが、変数MAG未満である場合には、スキップされ
てきたデータが記憶され、変数MAG未満である場合に
は、スキップされてきたデータが、さらに、右隣の要素
プロセッサ31(ここでは、補間画素NUM+2を求める要
素プロセッサ31)の入力SAMセルにスキップされ
る。以上のようにして、原画像の画素は、各画素プロセ
ッサ31が、補間に用いる原画像の画素を少ない転送回
数で取得することができるように、入力SAM部22に
疎らに記憶される。
【0062】ここで、図24に、MAG=180とした場
合(従って、拡大率を、約1.42倍とした場合)の、
画素番号NUMと、原画像の画素番号を尺度とした補間画
素の絶対位相(補間画素の位置)、基準画素の画素番号
(基準となる画素)、原画像の画素間を28等分した尺
度で表した補間画素の相対位相PC、フラグSKIP、および
入力SAMセルに保持される原画像の画素番号(入力S
AMセルの記憶値)との関係を示す。なお、図24にお
いて、「入力SAMセルの記憶値」の欄における×印
は、スキップが行われることにより、記憶値が不定であ
ることを表す。
【0063】以上のようなスキップを行うことにより、
基本的に、補間画素NUMを求める要素プロセッサ31の
入力SAMセルに、その補間画素NUMについての基準画
素が記憶されるような疎らな状態に原画像の画素が記憶
され、その結果、補間による画像の拡大を行う場合に、
データの転送回数を少なくして処理効率を向上させるこ
とができる。
【0064】ここで、図24に示したように、入力SA
Mセルに、原画像の画素(画素値)を記憶させた場合に
おいては、タップを構成する画素を保持している入力S
AMセルの位置関係のパターンが多数になり、その結
果、タップを構成する画素を取得する際の場合分けが多
くなって、処理が煩雑になる。そこで、例えば、図24
の「左隣のコピー」の欄に示したように、スキップが行
われた入力SAMセルには、その左隣の入力SAMセル
の記憶値のコピーを記憶させるようにすることができ
る。この場合、タップを構成する画素を保持している入
力SAMセルの位置関係のパターン数が少数化し、その
結果、タップを構成する画素を取得する際の場合分けを
少なくして、処理が煩雑化することを防止することがで
きる。なお、このようにして処理の煩雑化を防止する方
法については、本件出願人が先に提案した特開平10−
124656号公報(特願平8−275996号)に、
その詳細が開示されている。
【0065】また、補間によって、画像の拡大ではな
く、縮小を行う場合には、入力データの画素数よりも、
出力データの画素数が少なくなるため、出力SAM部2
6を構成するメモリセルとしての出力SAMセル(図示
せず)において、出力データは、疎らに配列される。こ
のように疎らに配列された出力データが記憶された出力
SAM部25の左端から右端方向に、順次読み出しを行
うことは、出力データが記憶されていない出力SAMセ
ルからの読み出しも行うことになり、その結果、処理効
率を劣化させることになる。
【0066】そこで、出力ポインタ回路26も、入力ポ
インタ回路21におけるスキップレジスタ群21Aと同
様に構成されるスキップレジスタ群26Aを有してお
り、このスキップレジスタ群26Aには、左隣の出力S
AMセルからのデータの読み出しをスキップするかどう
かを指示するためのフラグSKIPが、ALUアレイ部24
によってセットされるようになされている。即ち、これ
により、出力SAM部26では、疎らに配列された出力
データが密に配列された状態で出力されるようになされ
ている。
【0067】
【発明が解決しようとする課題】ところで、最近では、
コンピュータにおいて処理するディジタル画像データの
フォーマットとして、XGAや、SXGA,UXGAと
などいった高解像度のものが提案されている。このよう
な高解像度の画像データのドットクロックは高速である
ため、これを対象に、上述したようなSIMD型プロセ
ッサによって、補間による画像の拡大を行う場合には、
高速なSIMD型プロセッサが必要となる。しかしなが
ら、高速なSIMD型プロセッサの製作には、コストを
要し、また、回路基板の作成も難しい。
【0068】本発明は、このような状況に鑑みてなされ
たものであり、データレートの高いデータであっても、
容易に処理することができるようにするものである。
【0069】
【課題を解決するための手段】本発明のデータ処理装置
は、入力された入力データを一時記憶する複数の記憶単
位を有する複数系統の入力データ記憶手段と、複数系統
の入力データ記憶手段が有する記憶単位に対して、入力
データの記憶をスキップするかどうかをそれぞれ指示す
る複数の指示手段と、入力データ記憶手段に記憶された
入力データを処理し、その処理結果としての出力データ
を出力する処理手段と、出力データを一時記憶する複数
の記憶単位を有する複数系統の出力データ記憶手段とを
備えることを特徴とする。
【0070】本発明のデータ処理方法は、入力された入
力データを一時記憶する複数の記憶単位を有する複数系
統の入力データ記憶手段の記憶単位に対して、入力デー
タの記憶をスキップするかどうかをそれぞれ指示するこ
とを特徴とする。
【0071】本発明のデータ処理装置においては、複数
系統の入力データ記憶手段は、入力された入力データを
一時記憶する複数の記憶単位を有し、複数の指示手段
は、複数系統の入力データ記憶手段が有する記憶単位に
対して、入力データの記憶をスキップするかどうかをそ
れぞれ指示するようになされている。処理手段は、入力
データ記憶手段に記憶された入力データを処理して、そ
の処理結果としての出力データを出力し、複数系統の出
力データ記憶手段は、出力データを一時記憶する複数の
記憶単位を有している。
【0072】本発明のデータ処理方法においては、入力
された入力データを一時記憶する複数の記憶単位を有す
る複数系統の入力データ記憶手段の記憶単位に対して、
入力データの記憶をスキップするかどうかをそれぞれ指
示するようになされている。
【0073】
【発明の実施の形態】以下に、本発明の実施の形態を説
明するが、その前に、特許請求の範囲に記載の発明の各
手段と以下の実施の形態との対応関係を明らかにするた
めに、各手段の後の括弧内に、対応する実施の形態(但
し、一例)を付加して、本発明の特徴を記述すると、次
のようになる。
【0074】即ち、請求項1に記載のデータ処理装置
は、複数のプロセッサを有し、その複数のプロセッサ
に、単一の命令で複数のデータ処理を並列に行わせるデ
ータ処理装置であって、入力された入力データを一時記
憶する複数の記憶単位を有する複数系統の入力データ記
憶手段(例えば、図4に示す入力SAM部221および
222など)と、複数系統の入力データ記憶手段が有す
る記憶単位に対して、入力データの記憶をスキップする
かどうかをそれぞれ指示する複数の指示手段(例えば、
図4に示すスキップレジスタ群211および212など)
と、入力データ記憶手段に記憶された入力データを処理
し、その処理結果としての出力データを出力する処理手
段(例えば、図4に示すALUアレイ部24など)と、
出力データを一時記憶する複数の記憶単位を有する複数
系統の出力データ記憶手段(例えば、図4に示す出力S
AM部251および252など)とを備えることを特徴と
する。
【0075】請求項4に記載のデータ処理装置は、入力
データ記憶手段または出力データ記憶手段それぞれを2
系統備え、画像の1水平ライン上の画素データを1つず
つ選択することにより2系統の画素データに変換し、2
系統の入力データ記憶手段のうちの一方の入力データ記
憶手段に、一方の系統の画素データを供給するととも
に、他方の入力データ記憶手段に、他方の系統の画素デ
ータを供給する第1の選択手段(例えば、図1に示すD
MUX(デマルチプレクサ)2など)をさらに備えるこ
とを特徴とする。
【0076】請求項6に記載のデータ処理装置は、2系
統の出力データ記憶手段に記憶された2系統の出力デー
タを交互に選択することにより1系統の出力データに変
換する第2の選択手段(例えば、図1に示すMUX(マ
ルチプレクサ)4など)をさらに備えることを特徴とす
る。
【0077】請求項7に記載のデータ処理装置は、処理
手段が、出力データとしての画素データを、その位置の
近傍にある入力データとしての画素データを用いて補間
を行うことにより求め、補間に用いられる入力データと
しての画素データが、2系統の画素データのいずれに属
するかを表す系統情報に基づいて、入力データとしての
画素データの記憶をスキップするかどうかを設定する設
定手段(例えば、図5に示すプログラムの処理ステップ
S3など)をさらに備え、指示手段が、設定手段の設定
にしたがって、スキップを行うかどうかを指示すること
を特徴とする。
【0078】請求項8に記載のデータ処理装置は、系統
情報に基づいて、2系統の入力データ記憶手段に記憶さ
れた入力データとしての2系統の画素データそれぞれの
並びを、出力データとしての画素データを補間により求
めるのに用いるものが近傍に位置するように並べ替える
並べ替え手段(例えば、図5に示すプログラムの処理ス
テップS7など)をさらに備えることを特徴とする。
【0079】請求項9に記載のデータ処理装置は、並び
替えられた入力データとしての2系統の画素データか
ら、出力データとしての画素データを補間により求める
のに用いるタップを構成する構成手段(例えば、図5に
示すプログラムの処理ステップS8など)をさらに備え
ることを特徴とする。
【0080】なお、勿論この記載は、各手段を上記した
ものに限定することを意味するものではない。
【0081】図1は、本発明を適用した画像処理装置の
一実施の形態の構成例を示している。この画像処理装置
においては、そこに入力される原画像を構成する画素デ
ータを用いて補間を行うことにより、その原画像を拡大
した(画素数を増加させた)拡大画像を生成して出力す
るようになされている。
【0082】即ち、原画像を構成する画素データ(以
下、適宜、原画素データという)は、例えば、フレーム
メモリ1に供給される。フレームメモリ1では、原画素
データが1フレーム単位で記憶される。ここで、フレー
ムメモリ1は、1フレーム分の画素データを記憶するこ
とのできるバンクを複数有しており、そのバンクを切り
替えることで、そこに入力される画素データの記憶と、
記憶したデータの、後段のDMUX2への供給とを同時
に行うことができるようになされている。
【0083】DMUX2は、フレームメモリ1に記憶さ
れた原画像の画素データを、例えば、いわゆるラインス
キャン順に読み出すようになされている。そして、DM
UX2では、図2に示すように、1水平走査期間の原画
素データ(1水平ライン上の原画素データ)が、1画素
ずつ選択されることにより、2つの系統の原画素データ
に変換され、即ち、例えば、(左端から)奇数番目の原
画素データと偶数番目の原画素データとに変換され、そ
れぞれが、SIMD型プロセッサ3に供給される。従っ
て、SIMD型プロセッサ3に供給される2つの系統の
原画素データそれぞれのデータレートは、元の(1系統
の)原画素データのデータレートの1/2になってい
る。
【0084】ここで、DMUX2が出力する2つの系統
の原画素データとしての奇数番目の原画素データまたは
偶数番目の原画素データそれぞれを、第1相または第2
相の原画素データという。
【0085】SIMD型プロセッサ3では、第1相およ
び第2相の原画素データを用いて補間を行うことによ
り、拡大画像を構成する画素(補間画素)データを求め
る拡大処理が行われる。即ち、SIMD型プロセッサ3
では、例えば、前述の図22と同様の図3に示すよう
に、原画像の水平方向に隣接する4つの原画素データ
(図3において○印で示す)からタップを構成して補間
を行うことにより、拡大画像を構成する補間画素データ
(図3において×印で示す)が求められる。具体的に
は、補間によって得られる補間画素データQの位置から
左方向に最も近い位置にある原画素データDCを基準画
素とし、原画像において、その基準画素データDCの左
隣の画素データDL、基準画素データDCの右隣の画素
データDR1、およびその画素データDR1のさらに右
隣の画素データDR2の4つ画素データからタップを構
成して補間を行うことにより、補間画素データQが求め
られる。
【0086】なお、ここでは、例えば、Cubic近似
法によって補間を行うこととする。Cubic近似法で
は、次式で示されるタップ係数f(x)と、4つの原画
素データとの演算積和演算によって、1の補間画素デー
タが演算される。
【0087】 f(x)=|x|3-2|x|2+1(但し、|x|≦1のとき) f(x)=-|x|3+5|x|2-8|x|+4(但し、1<|x|≦2のとき) f(x)=0(但し、2<|x|のとき) ・・・(1) なお、式(1)において、xは、求める補間画素データ
の位置を基準とする、原画素データの位置を表す。
【0088】SIMD型プロセッサ3では、以上のよう
にして、第1相および第2相の原画素データから、奇数
番目の補間画素データである第1相の補間画素データ
と、偶数番目の補間画素データである第2相の補間画素
データとが生成され、MUX4に出力される。
【0089】MUX4では、図2で説明したDMUX2
における場合とは逆に、SIMD型プロセッサ3からの
第1相の補間画素データと、第2相の補間画素データと
が交互に選択されることにより1系統の補間画素データ
に変換され、即ち、拡大画像の1水平ラインの補間画素
データの並びに変換され、フレームメモリ5に出力され
る。フレームメモリ5では、MUX4からの1水平ライ
ンごとの補間画素データが順次記憶され、1フレーム分
の補間画素データが記憶されると、その1フレーム分の
補間画素データで構成される拡大画像が出力される。な
お、フレームメモリ5も、フレームメモリ1と同様に、
複数バンクで構成されており、これにより、HUX4か
らのデータの記憶と、既に記憶したデータの出力とを同
時に行うことができるようになされている。
【0090】以上のように、SIMD型プロセッサ3に
供給される2つの系統の原画素データそれぞれのデータ
レートは、元の(1系統の)原画素データのデータレー
トの1/2になっている。従って、SIMD型プロセッ
サ3として、それほど高速なものを用いなくても、原画
像を拡大画像に変換することができる。即ち、データレ
ートの高い原画像であっても、容易に拡大することがで
きる。
【0091】次に、図4は、図1のSIMD型プロセッ
サ3の構成例を示している。なお、図中、図21におけ
る場合と対応する部分については、同一の符号を付して
あり、以下では、その説明は、適宜省略する。即ち、図
4のSIMD型プロセッサ3は、1系統の入力SAM部
22または出力SAM部25にそれぞれ替えて、2系統
ずつの入力SAM部221および222、または出力SA
M部251および252が設けられているとともに、入力
ポインタ回路21または出力ポインタ回路27が、1系
統のスキップレジスタ群21Aまたは26Aにそれぞれ
替えて、2系統ずつのスキップレジスタ群211および
212、または261および262を有している他は、図
21のSIMD型プロセッサと基本的に同様に構成され
ている。
【0092】従って、図21においては、入力SAM部
22、データメモリ23,ALUアレイ部24、および
出力SAM部25の1列部分によって、1の要素プロセ
ッサ31が構成されていたが、図4の実施の形態では、
2系統の入力SAM部221および222、データメモリ
23,ALUアレイ部24、並びに2系統の出力SAM
部251および252の1列部分によって、1の要素プ
ロセッサ31が構成されている。
【0093】さらに、図21では、要素プロセッサ31
の数は、入力SAM部22に入力される画像、または出
力SAM部25から出力される画像のうち、1水平ライ
ン上の画素数の多い方の画像の1水平ライン上の画素数
H以上に設計されていたが、図4の実施の形態では、1
水平ライン上の画素数Hの1/2の画素数H’以上に設
計されている。このように、要素プロセッサ31の数が
1水平ライン上の画素数Hの1/2の画素数H’以上で
足りるのは、上述したように、SIMD型プロセッサ3
に対して、原画素データが、第1相および第2相の2相
に分けて入力されるとともに、SIMD型プロセッサ3
からは、補間画素データが、やはり、第1相および第2
相の2相に分けて出力されるからである。
【0094】また、DMUX2が出力する2つの系統の
原画素データとしての第1相または第2相の原画素デー
タは、それぞれ入力SAM部221または222に入力さ
れるようになされている。さらに、SIMD型プロセッ
サ3において、上述したようにして、第1相および第2
相の原画素データから得られる第1相の補間画素データ
または第2相の補間画素データは、それぞれ出力SAM
部251または252を介して出力されるようになされて
いる。
【0095】なお、スキップレジスタ群211および2
2は、図21のスキップレジスタ群21Aと同様に構
成され、それぞれを構成するスキップレジスタは、入力
SAM部221または222それぞれの対応する入力SA
Mセルに対して、データの記憶をスキップするかどうか
を指示するフラグを記憶するようになされている。ま
た、スキップレジスタ群261および262も、図21の
スキップレジスタ群26Aと同様に構成され、それぞれ
を構成するスキップレジスタは、出力SAM部251
たは252それぞれの対応する出力SAMセルに対し
て、データの読み出しをスキップするかどうかを指示す
るフラグを記憶するようになされている。
【0096】従って、図4の実施の形態においては、入
力SAM部221または222それぞれについて、独立
に、スキップを行うかどうかの設定を行うことができる
ようになされている。同様に、出力SAM部251また
は252それぞれについても、独立に、スキップを行う
かどうかの設定を行うことができるようになされてい
る。
【0097】次に、図5のフローチャートを参照して、
図4のSIMD型プロセッサ3において行われる原画像
を拡大して拡大画像とする拡大処理について説明する。
【0098】SIMD型プロセッサ3では、まず最初
に、ステップS1において、原画像を拡大するときの拡
大率が設定される。即ち、例えば、ユーザは、図示せず
操作部を操作することにより、拡大率を入力し、ステッ
プS1では、その入力に基づいて、拡大率が設定され
る。あるいは、例えば、プログラム制御部27が内蔵す
る図示せぬメモリに、拡大率が記憶されており、それを
読み出すことにより、拡大率が設定される。
【0099】ここで、本実施の形態においても、例え
ば、前述の図21における場合と同様に、8ビット精度
で画像の拡大処理を行うものとし、その拡大率を、正の
整数をとる変数MAGを用いて、28/MAGと表す。ステッ
プS1では、実際には、変数MAGが設定され、これによ
り、実質的に、拡大率が設定される(例えば、MAG=1
28とされた場合には、拡大率は2(=256/12
8)となる)。
【0100】なお、ここでは、拡大を対象としているの
で、変数MAGは28(=256)以下である。
【0101】その後、SIMD型プロセッサ3に対し
て、原画像の供給が開始されると、上述したように、そ
の原画像を構成する原画素データは、フレームメモリ1
に記憶され、DMUX2を介することにより、第1相お
よび第2相の原画素データとされる。そして、第1相ま
たは第2相の原画素データは、入力端子DIN1またはDI
N2を介して、入力SAM部221または222にそれぞれ
入力される。
【0102】一方、ステップS1の処理後は、ステップ
S2に進み、後述するフラグSKIP1およびSKIP2、フラグ
FLAG1およびFLAG2、並びに原画素データをタップとし
て、そのタップと乗算することにより、補間画素データ
を求めるのに用いるタップ係数を求めるSKIP/FLAG/タ
ップ係数設定処理が行われ、ステップS3に進む。ステ
ップS3では、入力ポインタ回路21が有するスキップ
レジスタ群211および222を構成する各スキップレジ
スタに、データの記憶をスキップするかどうかを指示す
るフラグが設定される。
【0103】ここで、本実施の形態では、画像を拡大す
る場合を考えているので、出力SAM部251および2
2の出力SAMセルにおいて、補間画素データが、疎
らに配列されことはなく、密に配列される。従って、出
力SAM部251および252の出力SAMセルにおい
て、データの読み出しをスキップすることはないので、
出力ポインタ回路26が有するスキップレジスタ群26
1および262を構成する各スキップレジスタには、ここ
では、常に、スキップを行わないことを表すフラグが設
定される。このため、以下では、出力ポインタ回路26
が有するスキップレジスタ群261および262を構成す
る各スキップレジスタの設定の説明は、省略する。
【0104】なお、ステップS2および3の処理は、原
画像の垂直帰線(ブランキング)区間内に行われる。
【0105】ステップS2および3の処理が終了し、さ
らに、原画像の垂直帰線区間が終了して、入力SAM部
221または222に対して、原画素データの入力が開始
されると、ステップS4に進み、入力SAM部221
たは222を構成する入力SAMセルそれぞれでは、ス
キップレジスタ群211または212を構成する対応する
スキップレジスタの設定値にしたがって、第1相または
第2相の原画素データが記憶、あるいは右隣の入力SA
Mセルにスキップされていく。そして、ステップS5に
進み、1水平ライン上のすべての第1相または第2相の
原画素データが、入力SAM部221または222にそれ
ぞれ記憶されたかどうかが判定され、まだ記憶されてい
ないと判定された場合、ステップS4に戻り、次の第1
相および第2相の原画素データの記憶や、あるいは右隣
の入力SAMセルへのスキップが繰り返される。
【0106】また、ステップS5において、1水平ライ
ン上のすべての第1相または第2相の原画素データが、
入力SAM部221または222にそれぞれ記憶されたと
判定された場合、即ち、1水平ライン上のすべての第1
相または第2相の原画素データが、入力SAM部221
または222にそれぞれ記憶され、水平帰線区間となっ
た場合、ステップS6に進み、入力SAM部221また
は222にそれぞれ記憶された第1相または第2相の原
画素データが、データメモリ部23に転送されるととも
に、データメモリ部23に記憶されている前の水平ライ
ンの演算結果(後述するステップS9の演算結果)が、
出力SAM部251および252に転送される。
【0107】その後、ステップS7に進み、入力SAM
部221または222にそれぞれからデータメモリ部23
に転送された第1相または第2相の原画素データの並び
を並び替える並び替え処理が行われる。
【0108】そして、ステップS8に進み、ステップS
7で並び替えられた第1相および第2相の原画素データ
からタップを構成するタップ構成処理が行われ、ステッ
プS9に進む。ステップS9では、ステップS2で求め
られたタップ係数と、ステップS8で求められたタップ
とを用いて積和演算が行われることにより補間画素デー
タを求める演算処理が行われ、これにより、図6(A)
または図6(B)にそれぞれ示すような第1相または第
2相の補間画素データが求められる。この第1相および
第2相の補間画素データは、上述したように、その後に
行われるステップS6において、出力SAM部251
よび252に転送され、さらに、図1のMUX4に出力
され、そこで、図6(C)に示すように、1相の補間画
素データ(拡大画像のある1水平ライン上に並ぶ画素デ
ータ)とされる。この補間画素データは、フレームメモ
リ5に供給されて記憶され、その後、フレームメモリ5
において、1フレーム分の補間画素データが記憶される
と、その1フレーム分の補間画素データで構成される拡
大画像が出力される。
【0109】図5に戻り、ステップS9の処理後は、ス
テップS10に進み、1フレームの原画像を構成するす
べての水平ラインについて処理を行ったかどうかが判定
され、まだ処理を行っていないと判定された場合、ステ
ップS4に戻り、次に処理すべき1水平ライン上の第1
相および第2相の原画素データについて、同様の処理が
繰り返される。なお、ステップS4乃至S10の処理
は、水平帰線区間内に行われる。また、入力SAM部2
1および222への画素データの記憶、補間演算処理、
並びに出力SAM部251および252からの画素データ
の出力は、並行して行われる(図21で説明した場合と
同様に、SIMD型プロセッサ3では、パイプライン処
理が行われる)。
【0110】一方、ステップS10において、1フレー
ムの原画像を構成するすべての水平ラインについて処理
を行ったと判定された場合、即ち、1フレームの原画像
を構成するすべての水平ラインについて処理を行い、垂
直帰線区間となった場合、ステップS2に戻り、以下、
同様の処理が繰り返される。
【0111】ここで、図7は、前述の図24における場
合と同様に、MAG=180とした場合の、第1相の画素
の画素番号NUM1および第2相の画素の画素番号NUM2と、
原画像の画素番号を尺度とした補間画素の絶対位相(補
間画素の位置)、基準画素の画素番号(基準となる画
素)、およびその基準画素の相(基準画素が第1相の原
画素または第2相の原画素のうちのいずれであるか)
(基準画素の位置)との関係を示している。なお、図7
(A)または図7(B)が、第1相または第2相につい
ての上述の関係を、それぞれ示している。
【0112】図7と図24とを比較して分かるように、
図7を、第1相の画素と第2相の画素について交互に見
ていくと、画素番号と、補間画素の位置および基準とな
る画素との関係は、図24に示した場合と同一になる。
【0113】なお、画素番号NUM1およびNUM2は、データ
メモリ部23に記憶領域が確保され、その記憶領域に記
憶されるようになされている。また、以下に説明する変
数は、特に断らない限り、画素番号NUM1およびNUM2にお
ける場合と同様に、データメモリ部23に記憶領域が確
保され、その記憶領域に記憶されるものとする。
【0114】次に、図8のフローチャートを参照して、
図5のステップS2におけるSKIP/FLAG/タップ係数設
定処理の詳細について説明する。
【0115】SKIP/FLAG/タップ係数設定処理では、ま
ず最初に、ステップS21において、第1相の補間画素
NUM1についての基準画素からの相対位相PC1が求められ
る。ここで、相対位相PC1は、前述の図22で説明した
相対位相PCに相当し、また、ここでは、処理の精度を8
ビットとしているため、MAG×NUM1の下位8ビットによ
って表される。
【0116】そして、ステップS22に進み、相対位相
PC1が、変数MAG未満であるかどうかが判定される。ステ
ップS22において、相対位相PC1が、変数MAG未満であ
ると判定された場合、ステップS23に進み、前述した
1ビットのフラグSKIPに相当する1ビットのフラグSKIP
1が、データの記憶をスキップしない旨を表す0にセッ
トされ、ステップS25に進む。即ち、相対位相PC1
が、変数MAG未満となる画素番号の画素については、図
23で説明したように、スキップを行う必要がないか
ら、フラグSKIP1には、その旨を表す0がセットされ
る。
【0117】一方、ステップS22において、相対位相
PC1が、変数MAG未満でないと判定された場合、ステップ
S24に進み、フラグSKIP1が、データの記憶をスキッ
プする旨を表す1にセットされ、ステップS25に進
む。即ち、相対位相PC1が、変数MAG未満とならない画素
番号の画素については、図23で説明したように、スキ
ップを行う必要があり、フラグSKIP1には、その旨を表
す1がセットされる。
【0118】従って、第1相の画素についてのフラグSK
IP1は、前述の図24における画素番号が奇数の画素に
注目すれば、その画素についてのフラグSKIPと一致す
る。
【0119】ステップS25では、MAG×NUM1を8ビッ
ト右シフトしたものの否定と、1B(Bは2進数を表
す)との論理積が演算され、1ビットのフラグFLAG1に
セットされる。即ち、フラグFLAG1には、MAG×NUM1のL
SB(Least Significant Bit)から9ビット目の否定
がセットされる。
【0120】ここで、拡大画像を構成する第1相の補間
画素NUM1の絶対位相は、原画像の左端の画素の位置を1
として、その画素間の距離も1とすると、前述したこと
から、NUM1×MAG/28で表される。そして、拡大画像の
画素番号NUM1の補間画素の絶対位相NUM1×MAG/28の整
数部分が、その補間画素についての基準画素となる原画
像の画素の画素番号を表すことになるから、絶対位相NU
M1×MAG/28の整数部分を2進数で表したときの1ビッ
ト目、即ち、MAG×NUM1のLSBから9ビット目は、補
間画素NUM1について、基準画素となる原画像の画素の画
素番号が偶数または奇数のいずれであるかを表す。
【0121】即ち、補間画素NUM1についての基準画素と
なる原画像の画素の画素番号が奇数または偶数である場
合には、MAG×NUM1のLSBから9ビット目は、それぞ
れ1または0となる。
【0122】一方、原画像において、画素番号が奇数ま
たは偶数の画素は、それぞれ第1相または第2相の原画
素であり、従って、第1相の補間画素NUM1についてのフ
ラグFLAG1には、基準画素が、第1相または第2相の原
画素である場合に、それぞれ1または0の否定がセット
される。即ち、第1相の補間画素NUM1についてのフラグ
FLAG1には、基準画素が、第1相の補間画素NUM1と同一
の相の原画素(従って第1相の原画素)であるとき0が
セットされ、基準画素が、第1相の補間画素NUM1と異な
る相の原画素(従って第2相の原画素)であるとき1が
セットされる。
【0123】その後、ステップS26に進み、第1相の
補間画素NUM1を求めるのに用いるタップ係数が、式
(1)にしたがって求められる。
【0124】即ち、本実施の形態では、上述の図3に示
したように、補間画素データQの位置から左方向に最も
近い位置にある原画素データDCを基準画素とし、原画
像において、その基準画素データDCの左隣の画素デー
タDL、基準画素データDCの右隣の画素データDR
1、およびその画素データDR1のさらに右隣の画素デ
ータDR2の4つ画素データからタップを構成してCu
bic近似法による補間を行うことにより、補間画素デ
ータQが求められるが、その補間に用いるタップ係数
が、式(1)にしたがって求められる。
【0125】具体的には、第1相の補間画素NUM1につい
ての基準画素DC、その左隣の原画素DL、基準画素D
Cの右隣の原画素DR1、またはその原画素DR1のさ
らに右隣の原画素DR2それぞれと乗算するタップ係数
を、それぞれFC1,FL11,FR11、またはFR21とすると、
これらのタップ係数FC1,FL11,FR11、およびFR21は、
ステップS26において、次のようにして求められる。
【0126】即ち、第1相の補間画素NUM1の相対位相PC
1どうしが乗算され、その乗算結果が、テンポラリの変
数T1にセットされる。さらに、変数T1と、相対位相PC1
とが乗算され、その乗算結果が、テンポラリの変数T2に
セットされる。そして、変数T2から変数T1が減算され、
その減算結果が、変数FR21にセットされる。また、変数
FR21から変数T1が減算され、その減算結果が、変数FC1
にセットされる。さらに、相対位相PC1と変数FC1とが加
算され、その加算結果が、変数FL11にセットされる。ま
た、変数FC1と256とが加算され、その加算結果が、
変数FC1にセットされる。そして、変数FR21と−1とが
乗算され、変数FR21にセットされる。
【0127】従って、タップ係数FC1,FL11,FR21は、
結局、次式にしたがって求められることになる。
【0128】 FC1=(PC1)3-2(PC1)2+256 FL11=(PC1)3-2(PC1)2+(PC1) FR21=-((PC1)3-(PC1)2)・・・(2)
【0129】ここで、タップ係数FC1と乗算される基準
画素DCの補間画素からの距離は、相対位相PC1に等し
くなるが、タップ係数FL11と乗算される、基準画素DC
の左に隣接する原画素DLの補間画素からの距離は、相
対位相PC1よりもさらに1原画素分だけ離れている。同
様に、タップ係数FR21と乗算される、基準画素DCの右
隣のさらに右隣に隣接する原画素DR2の補間画素から
の距離も、相対位相PC1よりもさらに1原画素分だけ離
れている。このため、相対位相PC1を用いて、式(1)
のタップ係数を計算する場合には、タップ係数FL11およ
びFR21については、xの替わりにx+1を用いる必要が
あり、このため、式(2)におけるタップ係数FL11およ
びFR21を求める式は、式(1)と形式的に異なるものと
なっている(実質的には同一のものである)。
【0130】また、本実施の形態では、処理の精度を8
ビットとしており、従って、256(=28)が1を意
味する(例えば、PC1=200は、補間画素から基準画素ま
での距離が、原画素どうしの間を256分割したときの
200分割分、即ち、200/256であることを表
す)。その結果、図8のステップS26では、例えば、
変数T1には、相対位相PC1の2乗がセットされ、変数T2
には、相対位相PC1の3乗がセットされるが、相対位相P
C1、変数T1,T2の小数点の位置は、それぞれLSBから
8ビット目と9ビット目との間、16ビット目と17ビ
ット目との間、24ビット目と25ビット目との間にな
る。
【0131】さらに、式(2)では、FC1を求める式の
右辺において256を加算しているが、これは、式
(1)における一番上の式の右辺における1の加算に相
当する。
【0132】また、式(2)においては、第1相の補間
画素NUM1についての基準画素DCの右隣の原画素DR1
と乗算するタップ係数FR11を求める式がないが、タップ
係数FR11は、次のようにして求められる。即ち、タップ
係数FC1,FL11,FR11,FR21のうち、FC1,FR11は正にな
り、FL11,FR21は負になる。また、タップ係数の総和は
1(ここでは、1に相当する256)である必要があ
る。さらに、ここでは、タップ係数FC1,FL11,FR11,F
R21をアンサインド(unsigned)(符号なし)で扱うこ
ととしている。従って、タップ係数FC1,FL11,FR11,F
R21は、式FC1+FR11-FL11-FR21=1を満たす必要があり、
その結果、式(2)において求められていないタップ係
数FR11は、式1-FC1+FL11+FR21によって求めることがで
きる。ステップS26では、このようにしてタップ係数
FR11も求められるようになされている。
【0133】その後、ステップS27以降に順次進み、
ステップS27乃至S32において、第2相の補間画素
NUM2について、ステップS21乃至S26における場合
とそれぞれ基本的に同様の処理が行われる。
【0134】即ち、ステップS27では、第2相の補間
画素NUM2についての基準画素からの相対位相PC2が求め
られる。即ち、MAG×NUM2が演算され、その下位8ビッ
トが、相対位相PC2にセットされる。
【0135】そして、ステップS28に進み、相対位相
PC2が、変数MAG未満であるかどうかが判定される。ステ
ップS28において、相対位相PC2が、変数MAG未満であ
ると判定された場合、ステップS29に進み、前述した
1ビットのフラグSKIPに相当する1ビットのフラグSKIP
2が、データの記憶をスキップしない旨を表す0にセッ
トされ、ステップS31に進む。また、ステップS28
において、相対位相PC2が、変数MAG未満でないと判定さ
れた場合、ステップS30に進み、フラグSKIP2が、デ
ータの記憶をスキップする旨を表す1にセットされ、ス
テップS31に進む。
【0136】従って、第2相の画素についてのフラグSK
IP2は、前述の図24における画素番号が偶数の画素に
注目すれば、その画素についてのフラグSKIPと一致す
る。
【0137】ステップS31では、MAG×NUM2を8ビッ
ト右シフトしたものと、1Bとの論理積が演算され、1
ビットのフラグFLAG2にセットされる。即ち、フラグFLA
G1には、MAG×NUM2のLSBから9ビット目がセットさ
れる。
【0138】ここで、拡大画像を構成する第2相の補間
画素NUM2の絶対位相も、第1相の補間画素NUM1の絶対位
相と同様に、NUM2×MAG/28で表される。そして、拡大
画像の画素番号NUM2の補間画素の絶対位相NUM2×MAG/
8の整数部分が、その補間画素についての基準画素と
なる原画像の画素の画素番号を表すことになるから、絶
対位相NUM2×MAG/28の整数部分を2進数で表したとき
の1ビット目、即ち、MAG×NUM2のLSBから9ビット
目は、補間画素NUM2について、基準画素となる原画像の
画素の画素番号が偶数または奇数のいずれであるかを表
す。
【0139】即ち、補間画素NUM2についての基準画素と
なる原画像の画素の画素番号が奇数または偶数である場
合には、MAG×NUM2のLSBから9ビット目は、それぞ
れ1または0となる。
【0140】一方、原画像において、画素番号が奇数ま
たは偶数の画素は、それぞれ第1相または第2相の原画
素であり、従って、第2相の補間画素NUM2についてのフ
ラグFLAG2には、基準画素が、第1相または第2相の原
画素である場合に、それぞれ1または0がセットされ
る。即ち、第2相の補間画素NUM2についてのフラグFLAG
2には、基準画素が、第2相の補間画素NUM2と同一の相
の原画素(従って第2相の原画素)であるとき0がセッ
トされ、基準画素が、第2相の補間画素NUM2と異なる相
の原画素(従って第1相の原画素)であるとき1がセッ
トされる。
【0141】その後、ステップS32に進み、第2相の
補間画素NUM2を求めるのに用いるタップ係数が、式
(1)にしたがい、ステップS26における場合と同様
にして求められる。
【0142】即ち、第2相の補間画素NUM2についての基
準画素DC、その左隣の原画素DL、基準画素DCの右
隣の原画素DR1、またはその原画素DR1のさらに右
隣の原画素DR2それぞれと乗算するタップ係数を、そ
れぞれFC2,FL12,FR12、またはFR22とすると、これら
のタップ係数FC2,FL12,FR12、およびFR22は、次式に
したがって求められる。
【0143】 FC2=(PC2)3-2(PC2)2+256 FL12=(PC2)3-2(PC2)2+(PC2) FR22=-((PC2)3-(PC2)2) FR12=1-FC2+FL12+FR22・・・(3)
【0144】以上のようにして、タップ係数FC2,FL1
2,FR12、およびFR22が求められた後は、リターンす
る。
【0145】なお、以上の処理は、いま処理の対象とな
っている1水平ライン上のすべての画素(第1相および
第2相の画素)について行われる。また、図8の実施の
形態では、第1相についての処理(ステップS21乃至
S26)を行った後に、第2相についての処理(ステッ
プS27乃至S32)を行うようにしたが、第2相につ
いての処理を最初に行い、その後に第1相についての処
理を行うようにすることも可能である。
【0146】ここで、図9に、MAG=180とした場合
の、第1相の画素の画素番号NUM1および第2相の画素の
画素番号NUM2と、相対位相PC1およびPC2、フラグSKIP1
およびSKIP2、並びにフラグFLAG1およびFLAG2との関係
を示す。図7および図9から、第1相の画素についての
フラグFLAG1は、図7(A)において、「基準画素の位
置」の欄が第1相または第2相となっているときに、そ
れぞれ0または1となっており、第2相の画素について
のフラグFLAG2は、図7(B)において、「基準画素の
位置」の欄が第1相または第2相となっているときに、
それぞれ1または0となっていることが分かる。即ち、
フラグFLAG1およびFLAG2は、補間画素についての基準画
素が、その補間画素と同じ相または異なる相にあるとき
に、それぞれ0または1となる。従って、フラグFLAG1
およびFLAG2は、補間画素についての基準画素が、その
補間画素と同じ相にあるのか、あるいは異なる相にある
のかを表す。
【0147】次に、図10のフローチャートを参照し
て、図5のステップS3におけるスキップレジスタ設定
処理の詳細について説明する。
【0148】スキップレジスタ設定処理では、まず最初
に、ステップS41において、フラグFLAG1(系統情
報)が1であるかどうかが判定され、フラグFLAG1が1
であると判定された場合、即ち、第1相の補間画素につ
いての基準画素が、第2相の原画素である場合、ステッ
プS42,S43に順次進み、テンポラリの変数IS1
に、フラグSKIP2がセットされるとともに、同じくテン
ポラリの変数IS2に、フラグSKIP1がセットされ、ステッ
プS46に進む。
【0149】ステップS46では、変数IS1にセットさ
れた値が、第1相の原画素データを記憶する入力SAM
部221におけるスキップを指示するスキップレジスタ
群211を構成するスキップレジスタにセットされ、ス
テップS47に進む。ステップS47では、変数IS2に
セットされた値が、第2相の原画素データを記憶する入
力SAM部222におけるスキップを指示するスキップ
レジスタ群212を構成するスキップレジスタにセット
され、リターンする。
【0150】従って、フラグFLAG1が1である場合、即
ち、第1相の補間画素についての基準画素が、第2相の
原画素である場合には、第1相についてのフラグSKIP1
にしたがって、第2相の原画素データのスキップを指示
するスキップレジスタ群212の記憶値が設定されると
ともに、第2相についてのフラグSKIP2にしたがって、
第1相の原画素データのスキップを指示するスキップレ
ジスタ群211の記憶値が設定される。
【0151】一方、フラグFLAG1が1でない(0であ
る)と判定された場合、即ち、第1相の補間画素につい
ての基準画素が、第1相の原画素である場合、ステップ
S44,S45に順次進み、テンポラリの変数IS1に、
フラグSKIP1がセットされるとともに、同じくテンポラ
リの変数IS2に、フラグSKIP2がセットされる。
【0152】そして、ステップS46,S47に順次進
み、上述したように、変数IS1またはIS2にしたがって、
スキップレジスタ群211または212それぞれを構成す
るスキップレジスタの記憶値が設定され、リターンす
る。
【0153】従って、フラグFLAG1が0である場合、即
ち、第1相の補間画素についての基準画素が、第1相の
原画素である場合には、第1相についてのフラグSKIP1
にしたがって、第1相の原画素データのスキップを指示
するスキップレジスタ群211の記憶値が設定されると
ともに、第2相についてのフラグSKIP2にしたがって、
第2相の原画素データのスキップを指示するスキップレ
ジスタ群212の記憶値が設定される。
【0154】なお、以上の処理は、いま処理の対象とな
っている1水平ライン上の第1相の補間画素に対して設
定されたフラグFLAG1すべてについて行われる。また、
図10の実施の形態においては、フラグFLAG1の値によ
って、スキップレジスタ群211および212の設定の仕
方を変えたが、フラグFLAG2の値によって、スキップレ
ジスタ群211および212の設定の仕方を変えるように
することも可能である。
【0155】以上のようにして、スキップレジスタ群2
1、および212の設定がなされた後は、図4のステッ
プS4において、その設定にしたがい、第1相または第
2相の原画像データが、入力SAM部22、または22
2にそれぞれ記憶される。
【0156】ここで、図11に、MAG=180とした場
合の、第1相の画素の画素番号NUM1および第2相の画素
の画素番号NUM2と、相対位相PC1およびPC2、フラグSKIP
1およびSKIP2、フラグFLAG1およびFLAG2、変数IS1およ
びIS2、並びに入力SAM部221を構成する入力SAM
セルに保持される第1相の原画素データの画素番号(第
1相の入力SAM部の記憶値)および入力SAM部22
2を構成する入力SAMセルに保持される第2相の原画
素データの画素番号(第2相の入力SAM部の記憶値)
との関係を示す。なお、図11において、「第1相の入
力SAM部の記憶値」および「第2相の入力SAM部の
記憶値」の欄における×印は、スキップが行われること
により、記憶値が不定であることを表す。
【0157】次に、図12のフローチャートを参照し
て、図5のステップS7における並び替え処理の詳細に
ついて説明する。
【0158】並び替え処理では、まず最初に、ステップ
S51において、フラグFLAG1が1であるかどうかが判
定され、1であると判定された場合、即ち、第1相の補
間画素NUM1についての基準画素が、第2相の原画素であ
る場合、ステップS52に進み、第2相の原画素データ
が記憶された入力SAM部222の入力SAMセルに記
憶された原画素データがデータメモリ部23に転送さ
れ、テンポラリの変数DATA1にセットされて、ステップ
S54に進む。
【0159】また、ステップS51において、フラグFL
AG1が1でない(0である)と判定された場合、即ち、
第1相の補間画素NUM1についての基準画素が、第1相の
原画素である場合、ステップS53に進み、第1相の原
画素データが記憶された入力SAM部221の入力SA
Mセルに記憶された原画素データがデータメモリ部23
に転送され、変数DATA1にセットされて、ステップS5
4に進む。
【0160】ステップS54では、フラグFLAG2が1で
あるかどうかが判定され、1であると判定された場合、
即ち、第2相の補間画素NUM2についての基準画素が、第
1相の原画素である場合、ステップS55に進み、第1
相の原画素データが記憶された入力SAM部221の入
力SAMセルに記憶された原画素データがデータメモリ
部23に転送され、テンポラリの変数DATA2にセットさ
れて、リターンする。
【0161】また、ステップS54において、フラグFL
AG2が1でない(0である)と判定された場合、即ち、
第2相の補間画素NUM2についての基準画素が、第2相の
原画素である場合、ステップS56に進み、第2相の原
画素データが記憶された入力SAM部222の入力SA
Mセルに記憶された原画素データがデータメモリ部23
に転送され、変数DATA2にセットされて、リターンす
る。
【0162】なお、以上の処理は、いま処理の対象とな
っている1水平ライン上の第1相および第2相のフラグ
FLAG1およびFLAG2すべてについて行われる。また、図1
2の実施の形態では、第1相についての処理(ステップ
S51乃至S53)を行った後に、第2相についての処
理(ステップS54乃至S56)を行うようにしたが、
第2相についての処理を最初に行い、その後に第1相に
ついての処理を行うようにすることも可能である。
【0163】ここで、図11に示したように、フラグFL
AG1およびFLAG2が設定され、入力SAM部221および
222に原画素データが記憶された場合に、図12の並
び替え処理が行われることにより、変数DATA1およびDAT
A2に記憶される原画素データの画素番号を、図13に示
す。なお、図13においても、×印は、記憶値が不定で
あることを表す。
【0164】次に、図14のフローチャートを参照し
て、図5のステップS8におけるタップ構成処理の詳細
について説明する。
【0165】タップ構成処理では、まず最初に、ステッ
プS61において、フラグSKIP1(第1相の補間画素デ
ータNUM1が求められる、左からINT(NUM1/2)+1
番目の要素プロセッサ31を構成するデータメモリ部2
3に記憶されたフラグSKIP1)(INT(x)は、x以
下の最大の整数を意味する)が1であるかどうかが判定
される。ステップS61において、フラグSKIP1が1で
あると判定された場合、ステップS62に進み、第1相
の補間画素データNUM1を求めるのに用いるタップを構成
する4つの原画素のうちの左から2番目の原画素、即
ち、基準画素を表す変数DC1に、変数L1:DATA2がセット
され、ステップS64に進む。
【0166】ここで、第1相の補間画素データNUM1は、
図4のSIMD型プロセッサ3において、左から、IN
T(NUM1/2)+1番目の要素プロセッサ31で求めら
れるが、L1:DATA2は、この要素プロセッサ31の1つ左
隣の要素プロセッサ31を構成するデータメモリ部23
に確保された変数DATA2にセットされた値(原画素デー
タ)を意味する。
【0167】一方、ステップS61において、フラグSK
IP1が1でない(0である)と判定された場合、ステッ
プS63に進み、変数DC1に、変数DATA1(左からINT
(NUM1/2)+1番目の要素プロセッサ31を構成する
データメモリ部23に確保された変数DATA1にセットさ
れた値)がセットされ、ステップS64に進む。
【0168】ステップS64では、フラグSKIP2(第2
相の補間画素データNUM2が求められる、左からINT
(NUM2/2)番目の要素プロセッサ31を構成するデー
タメモリ部23に記憶されたフラグSKIP2)が1である
かどうかが判定され、1であると判定された場合、ステ
ップS65に進み、第2相の補間画素データNUM2を求め
るのに用いるタップを構成する4つの原画素のうちの左
から2番目の原画素、即ち、基準画素を表す変数DC2
に、変数DATA1(左からINT(NUM2/2)番目の要素
プロセッサ31を構成するデータメモリ部23に確保さ
れた変数DATA1にセットされた値)がセットされ、ステ
ップS67に進む。
【0169】また、ステップS64において、フラグSK
IP2が1でない(0である)と判定された場合、ステッ
プS66に進み、変数DC2に、変数DATA2(左からINT
(NUM2/2)番目の画素プロセッサ31を構成するデー
タメモリ部23に確保された変数DATA2にセットされた
値)がセットされ、ステップS67に進む。
【0170】ステップS67では、ステップS61にお
ける場合と同様に、フラグSKIP1が1であるかどうかが
判定され、1であると判定された場合、ステップS68
に進み、第1相の補間画素データNUM1を求めるのに用い
るタップを構成する4つの原画素のうちの最も左の原画
素を表す変数DL11に、変数L1:DC1がセットされ、ステッ
プS70に進む。
【0171】ここで、L1:DC1は、第1相の補間画素デー
タNUM1が求められる、左からINT(NUM1/2)+1番
目の要素プロセッサ31の1つ左隣の要素プロセッサ3
1を構成するデータメモリ部23に確保された変数DC1
にセットされた値(原画素データ)を意味する。
【0172】一方、ステップS67において、フラグSK
IP1が1でない(0である)と判定された場合、ステッ
プS69に進み、変数DL11に、変数L1:DC2がセットさ
れ、ステップS70に進む。
【0173】ここで、L1:DC2は、第1相の補間画素デー
タNUM1が求められる、左からINT(NUM1/2)+1番
目の要素プロセッサ31の1つ左隣の要素プロセッサ3
1を構成するデータメモリ部23に確保された変数DC2
にセットされた値(原画素データ)を意味する。
【0174】ステップS70では、ステップS64にお
ける場合と同様に、フラグSKIP2が1であるかどうかが
判定され、1であると判定された場合、ステップS71
に進み、第2相の補間画素データNUM2を求めるのに用い
るタップを構成する4つの原画素のうちの最も左の原画
素を表す変数DL12に、変数L1:DC2(左からINT(NUM2
/2)番目の要素プロセッサ31の1つ左隣の要素プロ
セッサ31を構成するデータメモリ部23に確保された
変数DC2にセットされた値)がセットされ、ステップS
73に進む。
【0175】また、ステップS70において、フラグSK
IP2が1でない(0である)と判定された場合、ステッ
プS72に進み、変数DL12に、変数DC1(左からINT
(NUM2/2)番目の要素プロセッサ31を構成するデー
タメモリ部23に確保された変数DC1にセットされた
値)がセットされ、ステップS73に進む。
【0176】ステップS73では、フラグSKIP2(第1
相の補間画素データNUM1が求められる、左からINT
(NUM1/2)+1番目の要素プロセッサ31を構成する
データメモリ部23に記憶されたフラグSKIP2)が1で
あるかどうかが判定され、1であると判定された場合、
ステップS74に進み、第1相の補間画素データNUM1を
求めるのに用いるタップを構成する4つの原画素のうち
の左から3番目の原画素を表す変数DR11に、変数R1:DAT
A1がセットされ、ステップS76に進む。
【0177】ここで、R1:DATA1は、第1相の補間画素デ
ータNUM1が求められる、左からINT(NUM1/2)+1
番目の要素プロセッサ31の1つ右隣の要素プロセッサ
31を構成するデータメモリ部23に確保された変数DA
TA1にセットされた値(原画素データ)を意味する。
【0178】一方、ステップS73において、フラグSK
IP2が1でない(0である)と判定された場合、ステッ
プS75に進み、変数DR11に、変数DATA2(左からIN
T(NUM1/2)+1番目の要素プロセッサ31を構成す
るデータメモリ部23に確保された変数DATA2にセット
された値)がセットされ、ステップS76に進む。
【0179】ステップS76では、第2相の補間画素デ
ータNUM2が求められる、左からINT(NUM2/2)番目
の要素プロセッサ31の1つ右隣の要素プロセッサ31
を構成するデータメモリ部23に記憶されたフラグSKIP
1であるR1:SKIP1が1であるかどうかが判定される。
【0180】ステップS76において、フラグR1:SKIP1
が1であると判定された場合、ステップS77に進み、
第2相の補間画素データNUM2を求めるのに用いるタップ
を構成する4つの原画素のうちの左から3番目の原画素
を表す変数DR12に、変数R1:DATA2(左からINT(NUM2
/2)番目の要素プロセッサ31の1つ右隣の要素プロ
セッサ31を構成するデータメモリ部23に確保された
変数DATA2にセットされた値)がセットされ、ステップ
S79に進む。
【0181】また、ステップS76において、フラグR
1:SKIP1が1でない(0である)と判定された場合、ス
テップS78に進み、変数DR12に、変数R1:DATA1(左か
らINT(NUM2/2)番目の要素プロセッサ31の1つ
右隣の要素プロセッサ31を構成するデータメモリ部2
3に確保された変数DATA1にセットされた値)がセット
され、ステップS79に進む。
【0182】ステップS79では、ステップS73にお
ける場合と同様に、フラグSKIP2が1であるかどうかが
判定され、1であると判定された場合、ステップS80
に進み、第1相の補間画素データNUM1を求めるのに用い
るタップを構成する4つの原画素のうちの最も右の原画
素を表す変数DR21に、変数R1:DR11(左からINT(NUM
1/2)+1番目の要素プロセッサ31の1つ右隣の要
素プロセッサ31を構成するデータメモリ部23に確保
された変数DR11にセットされた値)がセットされ、ステ
ップS82に進む。
【0183】また、ステップS79において、フラグSK
IP2が1でない(0である)と判定された場合、ステッ
プS81に進み、変数DR21に、変数DR12(左からINT
(NUM1/2)+1番目の要素プロセッサ31を構成する
データメモリ部23に確保された変数DR12にセットされ
た値)がセットされ、ステップS82に進む。
【0184】ステップS82では、第2相の補間画素デ
ータNUM2が求められる、左からINT(NUM2/2)番目
の要素プロセッサ31の1つ右隣の要素プロセッサ31
を構成するデータメモリ部23に記憶されたフラグSKIP
1であるR1:SKIP1が1であるかどうかが判定される。
【0185】ステップS82において、フラグR1:SKIP1
が1であると判定された場合、ステップS83に進み、
第2相の補間画素データNUM2を求めるのに用いるタップ
を構成する4つの原画素のうちの最も右の原画素を表す
変数DR22に、変数R1:DR12(左からINT(NUM2/2)
番目の要素プロセッサ31の1つ右隣の要素プロセッサ
31を構成するデータメモリ部23に確保された変数DR
12にセットされた値)がセットされ、リターンする。
【0186】また、ステップS82において、フラグR
1:SKIP1が1でない(0である)と判定された場合、ス
テップS84に進み、変数DR22に、変数R1:DR11(左か
らINT(NUM2/2)番目の要素プロセッサ31の1つ
右隣の要素プロセッサ31を構成するデータメモリ部2
3に確保された変数DR11にセットされた値)がセットさ
れ、リターンする。
【0187】タップ構成処理では、以上のようにして、
第1相の補間画素データNUM1を求めるのに用いるタップ
DL11,DC1,DR11,DR21が構成されるとともに、第2相
の補間画素データNUM2を求めるのに用いるタップDL12,
DC2,DR12,DR22が構成される。
【0188】なお、以上の処理は、いま処理の対象とな
っている1水平ライン上の第1相および第2相の補間画
素すべてについて行われる。
【0189】ここで、フラグSKIP1およびSKIP2が図11
に示したように設定されるとともに、変数DATA1およびD
ATA2が図13に示したように設定された場合に、図14
のタップ構成処理が行われることにより、変数DL11,DC
1,DR11,DR21,DL12,DC2,DR12,DR22それぞれにセッ
トされる原画素データの画素番号を、図15に示す。図
15および上述の図7から分かるように、第1相の補間
画素データNUM1を求めるのに用いるタップDL11,DC1,D
R11、およびDR21、並びに第2相の補間画素データNUM2
を求めるのに用いるタップDL12,DC2,DR12、およびDR2
2は、いずれも、図3で説明したように、基準画素、基
準画素データの左隣の原画素、基準画素の右隣の原画
素、およびそのさらに右隣の原画素の4つ原画素から構
成されている。
【0190】次に、図16のフローチャートを参照し
て、図5のステップS9における演算処理の詳細につい
て説明する。
【0191】演算処理では、まず最初に、ステップS9
1において、図5のステップS2で求められたタップ係
数FL11,FC1,FR11,FR21それぞれと、ステップS8で
求められたタップDL11,DC1,DR11,DR21それぞれとが
乗算される。さらに、式FC1×DC1+FR11×DR11−FL11×
DL11−FR21×DR21が演算され、その演算結果が、第1相
の補間画素データNUM1とされる。
【0192】そして、ステップS92に進み、図5のス
テップS2で求められたタップ係数FL12,FC2,FR12,F
R22それぞれと、ステップS8で求められたタップDL1
2,DC2,DR12,DR22それぞれとが乗算される。さらに、
式FC2×DC2+FR12×DR12−FL12×DL12−FR22×DR22が演
算され、その演算結果が、第2相の補間画素データNUM2
とされる。
【0193】以上のようにして、すべての第1相の補間
画素データNUM1および第2相の補間画素データNUM2が求
められた後、ステップS93に進み、第1相の補間画素
データNUM1は出力SAM部251に、第2相の補間画素
データNUM2は出力SAMB252に、それぞれ転送さ
れ、リターンする。
【0194】以上、本発明を、原画像を拡大する画像処
理装置に適用した場合について説明したが、本発明は、
原画像を縮小する場合にも適用可能である。但し、原画
像を縮小する場合においては、要素プロセッサ31の数
は、原画像の1水平ラインの画素数以上必要となる。ま
た、入力ポインタ回路21が有するスキップレジスタ群
211および212を構成する各スキップレジスタは、常
に、スキップを行わないように設定するとともに、出力
ポインタ回路26が有するスキップレジスタ群261
よび262を構成する各スキップレジスタは、出力SA
M部251および252に疎らに配列される、縮小後の画
像を構成する画素データを、効率的に読み出すことがで
きるように設定する必要がある。
【0195】また、本発明は、画像の拡大や縮小以外の
画像処理にも適用可能である。
【0196】なお、本実施の形態においては、画像デー
タを処理の対象としたが、その他、例えば、音声データ
を処理の対象とし、サンプル点を増加させるようにする
ことなども可能である。
【0197】また、本実施の形態では、SIMD型プロ
セッサ3において、タップ係数を求めるようにしたが、
タップ係数は、あらかじめ求めておき、プログラム制御
部27に記憶させておくようにすることも可能である。
【0198】さらに、本実施の形態では、入力SAM部
221または222それぞれについて、独立に、スキップ
を行うかどうかの設定を行うことができるように、2系
統のスキップレジスタ群211および212を設けるよう
にしたが、スキップレジスタ群は、1系統だけ設けるよ
うにし、その1系統のスキップレジスタ群によって、入
力SAM部221および222の両方について、スキップ
を行うかどうかを指示するようにすることも可能であ
る。但し、この場合、入力SAM部221および222
同一の列の入力SAMセルにおいて、スキップを行うか
どうかを独立に制御することができなくなるため、独立
に制御することができる場合に比較して、タップを構成
する処理が複雑になる。このことは、出力SAM部25
1および252についても同様である。
【0199】また、本実施の形態では、原画素データ
を、第1相および第2相の2相の原画素データに分割す
るようにしたが、原画素データは、その他、3相以上に
分割することも可能である。この場合、その相の数と同
一の系統数だけ、入力SAM部やスキップレジスタ群が
必要となるが、より高いデータレートの画像データを、
容易に処理することが可能となる。
【0200】さらに、本実施の形態では、補間にあたっ
て、Cubic近似法を用いるようにしたが、その他の
手法を用いることも可能である。
【0201】また、実施の形態では、水平方向の補間に
ついてしか言及しなかったが、図4のSIMD型プロセ
ッサ3には、垂直方向や斜め方向の補間を行わせること
も可能である。
【0202】さらに、本実施の形態では、図1の画像処
理装置において、フレームメモリ1および5を設けるよ
うにしたが、画像処理装置は、フレームメモリ1および
5を設けずに構成することも可能である。
【0203】
【発明の効果】以上の如く、本発明のデータ処理装置お
よびデータ処理方法によれば、入力された入力データを
一時記憶する複数の記憶単位を有する複数系統の入力デ
ータ記憶手段に対して、入力データの記憶をスキップす
るかどうかがそれぞれ指示される。従って、データレー
トの高いデータを、効率良く処理することが可能とな
る。
【図面の簡単な説明】
【図1】本発明を適用した画像処理装置の一実施の形態
の構成例を示すブロック図である。
【図2】図1のDMUX2の処理を説明するための図で
ある。
【図3】図1のSIMD型プロセッサ3において行われ
る補間に用いられるタップを示す図である。
【図4】図1のSIMD型プロセッサ3の構成例を示す
ブロック図である。
【図5】図5のSIMD型プロセッサ3による拡大処理
を説明するためのフローチャートである。
【図6】図1のMUX4の処理を説明するための図であ
る。
【図7】補間画素の絶対位相と、その補間画素を求める
ときの基準画素となる原画素の画素番号との関係を示す
図である。
【図8】図5のステップS2の処理のより詳細を説明す
るためのフローチャートである。
【図9】図8のフローチャートにしたがった処理の処理
結果を示す図である。
【図10】図5のステップS3の処理のより詳細を説明
するためのフローチャートである。
【図11】図10のフローチャートにしたがった処理の
処理結果を示す図である。
【図12】図5のステップS7の処理のより詳細を説明
するためのフローチャートである。
【図13】図12のフローチャートにしたがった処理の
処理結果を示す図である。
【図14】図5のステップS8の処理のより詳細を説明
するためのフローチャートである。
【図15】図14のフローチャートにしたがった処理の
処理結果を示す図である。
【図16】図5のステップS9の処理のより詳細を説明
するためのフローチャートである。
【図17】原画像の一例を示す図である。
【図18】原画像を拡大した画像の一例を示す図であ
る。
【図19】原画像の画素と、拡大した画像の画素の位置
関係の一例を示す図である。
【図20】原画像の解像度を高くした画像の一例を示す
図である。
【図21】従来のSIMD型プロセッサの一例の構成を
示すブロック図である。
【図22】スキップが生じる場合を説明するための図で
ある。
【図23】スキップが生じる場合を説明するための図で
ある。
【図24】フラグSKIPと、図21の入力SAM部22の
記憶値との関係を示す図である。
【符号の説明】
1 フレームメモリ, 2 DMUX, 3 SIMD
型プロセッサ, 4MUX, 5 フレームメモリ,
21 入力ポインタ回路, 211,212スキップレジ
スタ群, 221,222 入力SAM部, 23 デー
タメモリ部, 24 ALUアレイ部, 251,252
出力SAM部, 26 出力ポインタ回路, 2
1,262 スキップレジスタ群, 27 プログラム
制御部,31 要素プロセッサ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) H04N 7/01 G06F 15/66 355C Fターム(参考) 5B045 AA01 GG14 5B057 CA01 CA08 CA12 CA16 CB01 CB08 CB12 CB16 CC01 CD05 CD06 CE06 CH04 CH09 5C023 AA02 AA21 AA40 DA04 EA02 EA03 EA05 EA06 EA10 5C063 AA02 AA03 AA11 AB03 CA16 CA25 CA40

Claims (10)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサを有し、その複数のプ
    ロセッサに、単一の命令で複数のデータ処理を並列に行
    わせるデータ処理装置であって、 入力された入力データを一時記憶する複数の記憶単位を
    有する複数系統の入力データ記憶手段と、 前記複数系統の入力データ記憶手段が有する前記記憶単
    位に対して、入力データの記憶をスキップするかどうか
    をそれぞれ指示する複数の指示手段と、 前記入力データ記憶手段に記憶された入力データを処理
    し、その処理結果としての出力データを出力する処理手
    段と、 前記出力データを一時記憶する複数の記憶単位を有する
    複数系統の出力データ記憶手段とを備えることを特徴と
    するデータ処理装置。
  2. 【請求項2】 前記入力データは画像であり、 前記処理手段は、前記画像の画素数を変換し、その変換
    結果を、前記出力データとして出力することを特徴とす
    る請求項1に記載のデータ処理装置。
  3. 【請求項3】 前記処理手段は、前記画像を用いて補間
    を行うことにより、その画素数を増加させることを特徴
    とする請求項2に記載のデータ処理装置。
  4. 【請求項4】 前記入力データ記憶手段または前記出力
    データ記憶手段それぞれを2系統備え、 前記画像の1水平ライン上の画素データを1つずつ選択
    することにより2系統の画素データに変換し、2系統の
    入力データ記憶手段のうちの一方の入力データ記憶手段
    に、一方の系統の画素データを供給するとともに、他方
    の入力データ記憶手段に、他方の系統の画素データを供
    給する第1の選択手段をさらに備えることを特徴とする
    請求項2に記載のデータ処理装置。
  5. 【請求項5】 前記処理手段は、前記2系統の画素デー
    タを処理して得られる2系統の出力データを出力し、 2系統の出力データ記憶手段は、前記2系統の出力デー
    タをそれぞれ記憶することを特徴とする請求項4に記載
    のデータ処理装置。
  6. 【請求項6】 前記2系統の出力データ記憶手段に記憶
    された2系統の出力データを交互に選択することにより
    1系統の出力データに変換する第2の選択手段をさらに
    備えることを特徴とする請求項5に記載のデータ処理装
    置。
  7. 【請求項7】 前記処理手段は、前記出力データとして
    の画素データを、その位置の近傍にある前記入力データ
    としての画素データを用いて補間を行うことにより求
    め、 補間に用いられる前記入力データとしての画素データ
    が、前記2系統の画素データのいずれに属するかを表す
    系統情報に基づいて、前記入力データとしての画素デー
    タの記憶をスキップするかどうかを設定する設定手段を
    さらに備え、 前記指示手段は、前記設定手段の設定にしたがって、ス
    キップを行うかどうかを指示することを特徴とする請求
    項4に記載のデータ処理装置。
  8. 【請求項8】 前記系統情報に基づいて、前記2系統の
    入力データ記憶手段に記憶された入力データとしての2
    系統の画素データそれぞれの並びを、前記出力データと
    しての画素データを補間により求めるのに用いるものが
    近傍に位置するように並び替える並び替え手段をさらに
    備えることを特徴とする請求項7に記載のデータ処理装
    置。
  9. 【請求項9】 並び替えられ変換された前記入力データ
    としての2系統の画素データから、前記出力データとし
    ての画素データを補間により求めるのに用いるタップを
    構成する構成手段をさらに備えることを特徴とする請求
    項8に記載のデータ処理装置。
  10. 【請求項10】 複数のプロセッサを有し、その複数の
    プロセッサに、単一の命令で複数のデータ処理を並列に
    行わせるデータ処理装置のデータ処理方法であって、 前記データ処理装置は、 入力された入力データを一時記憶する複数の記憶単位を
    有する複数系統の入力データ記憶手段と、 前記入力データ記憶手段に記憶された入力データを処理
    し、その処理結果としての出力データを出力する処理手
    段と、 前記出力データを一時記憶する複数の記憶単位を有する
    複数系統の出力データ記憶手段とを備え、 前記複数系統の入力データ記憶手段が有する記憶単位に
    対して、入力データの記憶をスキップするかどうかをそ
    れぞれ指示することを特徴とするデータ処理方法。
JP10358807A 1998-12-17 1998-12-17 データ処理装置およびデータ処理方法 Withdrawn JP2000182037A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10358807A JP2000182037A (ja) 1998-12-17 1998-12-17 データ処理装置およびデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10358807A JP2000182037A (ja) 1998-12-17 1998-12-17 データ処理装置およびデータ処理方法

Publications (1)

Publication Number Publication Date
JP2000182037A true JP2000182037A (ja) 2000-06-30

Family

ID=18461221

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10358807A Withdrawn JP2000182037A (ja) 1998-12-17 1998-12-17 データ処理装置およびデータ処理方法

Country Status (1)

Country Link
JP (1) JP2000182037A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094812A (ja) * 2005-09-29 2007-04-12 Renesas Technology Corp 並列演算装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007094812A (ja) * 2005-09-29 2007-04-12 Renesas Technology Corp 並列演算装置

Similar Documents

Publication Publication Date Title
JP3276886B2 (ja) 拡大宛先画像のピクセル値の生成方法
US6587602B2 (en) Resolution conversion system and method
WO2004019607A1 (ja) 画像処理装置と画像処理システム及び画像処理方法
JP2011041306A (ja) 映像信号のデインタレース
US6188803B1 (en) Image processing device
US5973707A (en) Scan converting method and apparatus for raster to block and block to raster using a shared block buffer and two input/output buffers, one being raster, the other scan
US6741759B2 (en) Method and apparatus for interpolation
US5307167A (en) Digital zooming system utilizing image buffers and employing an approximated bilinear interpolation method
JP3596194B2 (ja) 画像処理装置および方法
JPH0495463A (ja) 画像処理方法及びその装置
JP2000182037A (ja) データ処理装置およびデータ処理方法
JP3444112B2 (ja) 画像信号処理装置
KR100665485B1 (ko) 디지털 신호 처리 장치 및 디지털 신호 처리 방법
JPH10124656A (ja) 画像処理装置および方法
JPS61227477A (ja) 画像処理装置
JP2002101426A (ja) 画像処理装置および方法、並びに記録媒体
JP2799075B2 (ja) 画素密度変換方式
JP2823433B2 (ja) デジタル画像のズーム処理用補間回路
JP2002057994A (ja) 画像信号処理装置およびその方法
JP3800522B2 (ja) 映像信号処理装置
JP2002101340A (ja) 画像処理装置および方法、並びに記録媒体
JP2001036735A (ja) 画像拡大縮小装置及び方法
JP2002101336A (ja) 画像処理装置および方法、並びに記録媒体
JPH09231350A (ja) 画像処理方法とその装置
JPH02222992A (ja) 映像信号の倍率変換回路

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060307