JP3633807B2 - 中間画素演算装置 - Google Patents

中間画素演算装置 Download PDF

Info

Publication number
JP3633807B2
JP3633807B2 JP35779898A JP35779898A JP3633807B2 JP 3633807 B2 JP3633807 B2 JP 3633807B2 JP 35779898 A JP35779898 A JP 35779898A JP 35779898 A JP35779898 A JP 35779898A JP 3633807 B2 JP3633807 B2 JP 3633807B2
Authority
JP
Japan
Prior art keywords
data
intermediate pixel
register
output
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP35779898A
Other languages
English (en)
Other versions
JP2000182067A (ja
Inventor
昌俊 松尾
俊一 九郎丸
栄治 米澤
靖雄 孝橋
勝義 東島
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP35779898A priority Critical patent/JP3633807B2/ja
Publication of JP2000182067A publication Critical patent/JP2000182067A/ja
Application granted granted Critical
Publication of JP3633807B2 publication Critical patent/JP3633807B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ディジタル画像処理における画素間の中間画素値を生成する中間画素演算装置の改良を図ったものに関するものである。
【0002】
【従来の技術】
ディジタル画像処理におけるデータ圧縮処理では、効率的なデータ圧縮を行うために画素間の中間に配置すべき画素の中間画素値を求め、これを圧縮処理に用いる場合がある。図7は、本来の画素と中間画素との関係を示したもので、中間画素には水平方向、垂直方向、斜め方向の3通りのものがある。この図7では本来の画素を“○”印で、水平方向の中間画素を“■”印で、垂直方向の中間画素を“●”印で、斜め方向の中間画素を“▲”印で、それぞれ示している。
【0003】
そして、水平方向の中間画素値を算出するには、水平方向で隣り合う2つの画素のデータをそれぞれa1,a2とすれば、これを(a1+a2)/2 で求めることができる。また、垂直方向の中間画素値を算出するには、垂直方向で隣り合う2つの画素のデータをそれぞれa1,b1とすれば、これを(a1+b1)/2 で求めることができる。さらに斜め方向の中間画素値を算出するには、水平方向で隣り合う2つの画素のデータをそれぞれa1,a2とし、かつこれらと1ライン分ずれて配置され、かつ水平方向で隣り合う2つの画素のデータをそれぞれb1,b2とすれば、この中間画素を(a1+a2+b1+b2)/4 で求めることができる。
【0004】
従来、中間画素値を求める中間画素演算装置は、例えば、特開平9−311934号公報に示されているように、中間画素値を求めるために予め画像データを並び替え、もしくは分割する手段と、並び替え、もしくは分割した画像データを格納する記憶装置と、中間画素値を求めるための中間画素(ハーフペル)演算回路とを備え、前記記憶装置から決められた手順で格納されている画像データを読み出し、前記中間画素演算回路に入力することにより中間画素値を求めていた。
【0005】
図8は、上記従来の中間画素演算装置の構成を示すブロック図である。図において、801はAメモリとBメモリのアドレスを生成するアドレス生成回路、800はデータ入力端子、801aはAメモリとBメモリの書き込みを制御する書き込み制御部、801bはAメモリとBメモリの読み出しを制御する読み出し制御部、802および803は中間画素値を求めるために予め分割された画像データを格納するためのAメモリとBメモリ、804はAメモリ802とBメモリ803に格納された画像データを用いて中間画素値を求める中間画素演算回路、805および806はトライステートバッファ、810はデータ出力端子である。
【0006】
次に、上記従来の中間画素演算装置において中間画素値を生成する動作について説明する。
最初に、アドレス生成回路801は、データ入力端子800より入力されてくる画像データに対し、書き込み制御部801aによってトライステートバッファ805,806を制御し、これらを1画素幅で水平方向の二つの画素列に分割するとともに、書き込み信号を出力してAメモリ802とBメモリ803にそれぞれ書き込む。
【0007】
次いで、読み出し制御部801bより読み出し信号を出力して、Aメモリ802とBメモリ803に格納した画像データを同時に読み出し、中間画素演算回路804の入力とする。中間画素演算回路804では、Aメモリ802とBメモリ803からそれぞれ読み出された画像データを用いて、上述のような中間画素演算を行うことにより、中間画素値を生成し、データ出力端子810よりこれを出力する。
【0008】
【発明が解決しようとする課題】
従来の中間画素演算装置は上記のように構成されており、データ圧縮を行うためなどに用いる画素間の中間画素値を生成することができる。
しかしながら、上記のような中間画素演算を行う画像処理装置では、中間画素演算を行うために、予め画像データを並び替え、もしくは分割する必要があり、そのための制御手段と、並び替え、もしくは分割された画像データを格納するための記憶装置が必要であった。また、このように記憶装置を用いてデータの並び替え、分割を行うために、DMA転送中には中間画素演算を行うことができなかった。
【0009】
本発明は、上記のような従来のものの問題点を解決するためになされたもので、中間画素演算を行う際に、予めデータの並び替えや分割等を行って記憶装置に格納することなく、中間画素値を生成することが可能な中間画素演算装置を提供することを目的とする。
また、DMA転送に特別な制御を加えることなしに、生成した中間画素値を転送先に出力することで、DMA転送中に中間画素値を生成することが可能な中間画素演算装置を提供することを目的とする。
【0010】
【課題を解決するための手段】
この課題を解決するために、本願の請求項1の発明に係る中間画素演算装置は、DMA転送されてくる画像データを順次格納するためのレジスタを必要数備えたレジスタ部と、前記レジスタに格納してあるデータを、中間画素を生成する方向を設定する設定信号に応じて適宜選択し出力するデータ選択部と、前記データ選択部からの出力を入力とし、画像データを構成する画素データに対しその中間画素を生成する中間画素演算を行う中間画素値演算部と、前記中間画素値演算部における演算結果を必要に応じて加工出力するデータ出力部とを備え、画像データのDMA転送時にデータイネーブル信号を転送し、かつ前記画像データの中間画素値演算をDMA転送中に行うようにしたものである。
【0011】
また、本願の請求項2の発明に係る中間画素演算装置は、請求項1記載の中間画素演算装置において、前記画像データは複数の画素データが一緒にされたパッキングデータとして入力されるものであり、前記中間画素値演算部は前記パッキングデータを構成する画素データに対し並列に中間画素演算を行うものとしたものである。
【0012】
【発明の実施の形態】
以下、本発明の実施の形態について、図1ないし図6を用いて説明する。
(実施の形態1)
この実施の形態1は、画素間の中間画素値の生成において、2次元的に配列された画像データを順次入力して中間画素値を生成することにより、中間画素演算のために予めデータの並び替えや格納をすることなしに、DMA転送されてきたデータを順次入力して中間画素演算を行うようにしたものである。
【0013】
図1は本発明の実施の形態1による中間画素演算装置のブロック図を示し、図1において、101はDMA転送中に中間画素値を生成出力することが可能な,本実施の形態1による中間画素演算装置、117は外部メモリ、118は内部メモリであり、この図1に示した例では、外部メモリ117から内部メモリ118へ画像データをDMA転送するとともに、転送する画像データに合わせてデータイネーブル信号も転送している。また、106は中間画素演算装置101で行う中間画素演算のモードを設定するためのモード設定信号、107は外部メモリ117からDMA転送されてきたデータを、そのまま出力するか、あるいは転送されてきた画像データに対し中間画素値を生成して出力するかの切り替えを行うための演算ON/OFF信号である。
【0014】
また、中間画素演算装置101のブロックの内部において、108は外部メモリ117からDMA転送されてくる画像データとデータイネーブル信号を入力とするデータ入力部、109はデータ入力部108からのデータを順次格納していくレジスタ部、110はレジスタ部109に格納してあるデータのなかからモード設定信号106に応じて中間画素演算に必要なデータを選択しこれを出力するデータ選択部、111はデータ選択部110からの出力を入力とし、モード設定信号106によって設定された中間画素値演算により中間画素値の生成を行う中間画素値演算部、112は必要に応じて中間画素値演算部111からの演算結果出力を、データ入力部108に入力されるデータと同じ形式に加工して出力するデータ出力部、115は演算ON/OFF信号107により、外部メモリ117からのDMA転送データと、本中間画素演算装置101により生成された中間画素値のいずれかを選択し出力するセレクタ、116は演算ON/OFF信号107により、外部メモリ117からのデータイネーブル信号と、本中間画素演算装置101により生成されたデータイネーブル信号のいずれかを選択し出力するセレクタである。
【0015】
以上のように構成された中間画素演算装置について、以下、その動作を述べる。
図1のデータ入力部108は、外部メモリ117から転送される入力画像データ102とともに、画像データに合わせて転送される入力データイネーブル信号103を入力とする。レジスタ部109は、データ入力部108から入力される画像データを順次格納していく。モード設定信号106により、データ選択部110はレジスタ部109に格納されている画像データの中から必要なものを選択し、そのデータに対し中間画素値演算部111はモード設定信号106により設定された,水平または垂直あるいは斜め方向の中間画素値を生成する。データ出力部112では、中間画素値演算部111からの出力をデータ入力部108に入力される入力画像データ102と同じ形式で出力するとともに、データ出力部112から出力される中間画素データ113に合わせて、データイネーブル信号114を出力する。セレクタ115と116は、演算ON/OFF信号107により、DMA転送のみのときは、外部メモリ117からの入力画像データ102と入力データイネーブル信号103を選択してこれらを出力し、中間画素値を生成する場合は、データ出力部112からの中間画素データ113と中間画素データイネーブル信号114を選択しこれらを出力する。
【0016】
ところで、外部メモリ117からの入力画像データ102と中間画素演算装置101で生成した中間画素データ113の間には、中間画素の演算上、データの個数に違いが発生する。また、中間画素データが出力されるまでに遅延も生じてしまう。
【0017】
しかるに、本実施の形態1の中間画素演算装置101では、生成される中間画素データに合わせてデータ出力部112がデータイネーブル信号も加工し出力するため、DMA転送制御に特別な制御手段や回路を必要としない。従って、DMA転送中に中間画素値の生成が可能である。
【0018】
このように、本実施の形態1によれば、データ入力部108により、外部の装置から入力画像データ102とともに入力データイネーブル信号103を入力し、これをレジスタ部109によりその内部で順次シフトしてゆき、その際、データ選択部110で適宜中間画素値の演算に必要な画素データを取得するようにレジスタ部109の出力を選択し、中間画素値演算部111はその選択した画素データに基づき中間画素値を生成する演算を行い、データ出力部112により、その演算結果を必要に応じて加工し出力するようにしたので、中間画素演算を行うために予めデータの並び替えや格納を要することなく、DMA転送されてきたデータを順次入力して中間画素演算を行うことができる。
【0019】
(実施の形態2)
この実施の形態2は、DMA転送される画像データを順次入力し、中間画素値を生成するとともに、DMA転送に特別な制御を加えることなしに、生成した中間画素値を並列に演算し入力されてきたデータと同じパッキング形式で出力することにより、DMA転送中に、中間画素値を少ない遅延で生成することを可能としたものである。
【0020】
図2は本発明の実施の形態2による中間画素演算装置におけるレジスタ部109の構成の一例を示したものである。図2で示したレジスタ部は、4画素、8画素、16画素数の水平方向の中間画素、垂直方向の中間画素、斜め方向の中間画素を、同一のレジスタ部からのデータで生成することが可能なようにこれを構成したものである。
【0021】
図2において、109aないし109uはそれぞれ画像データを一時記憶するレジスタAないしレジスタUであり、レジスタA109a,レジスタC109c,レジスタE109e,レジスタG109g,レジスタI109i,レジスタK109k,レジスタM109m,レジスタO109o,レジスタQ109q,レジスタS109sはデータ入力部108が出力する入力画像データ102の上位8ビットを入力しこれらをこの順で順次パラレルに転送してゆくものである。また、レジスタB109b,レジスタD109d,レジスタF109f,レジスタH109h,レジスタJ109j,レジスタL109l,レジスタN109n,レジスタP109p,レジスタR109r,レジスタT109t,レジスタU109uはデータ入力部108が出力する入力画像データ102の下位8ビットを入力しこれらをこの順で順次パラレルに転送してゆくものである。
【0022】
また、これらのレジスタのなかで、レジスタA109a,レジスタB109b,レジスタD109d,レジスタE109e,レジスタF109f,レジスタG109g,レジスタH109h,レジスタI109i,レジスタJ109j,レジスタK109k,レジスタL109l,レジスタN109n,レジスタQ109q,レジスタR109r,レジスタS109s,レジスタT109t,レジスタU109uの出力はそれぞれデータ選択部110に入力されている。
【0023】
以下、8×8画素数の中間画素値を生成する場合の本実施の形態2による中間画素演算装置の動作について述べる。
図3は、2次元的に配列されている画像データを表している。a1、a2、a3、…、j9、j10 、j11 、…は個々の画素のデータである。外部メモリ117には、画像データが2画素分を一緒にしたパッキングデータとして、例えばデータa1とa2、データa3とa4をそれぞれ一緒にして16ビットで格納されている場合を例として述べる。
【0024】
表1,表2,表3はそれぞれ水平方向,垂直方向,斜め方向に対し、8画素分の中間画素演算を行う場合の、図2のレジスタ部のレジスタのサイクル毎の値の変化と中間画素演算値との関係を示したものであり、各表の枠の最上行における数字“0”ないし“12”はサイクルの値を示している。また、各表中で黒で表示したレジスタは、中間値演算を行うにあたってその出力が選択されるレジスタを示している。
【0025】
【表1】
Figure 0003633807
【0026】
【表2】
Figure 0003633807
【0027】
【表3】
Figure 0003633807
【0028】
図1の外部メモリ117からは画像データとして2画素分づつが16ビットで転送されてくる。中間画素値を生成するために、データ入力部108はレジスタ部109に転送されてくるデータを順次格納していく。図2および表1に示すように、サイクル0においてデータ入力部108から出力されたデータa1、a2はサイクル1において、レジスタAにデータa1が、レジスタBにデータa2がそれぞれ格納され、次のサイクルではレジスタAにデータa3が、レジスタBにデータa4が格納されるというように、データ入力部108からのデータを順次格納していく。水平方向の中間画素値を生成する際は、レジスタAとB、レジスタDとレジスタAに格納してあるデータを用いて並列に中間画素値演算が行われるように、モード設定信号106により、データ選択部110がデータを選択しこれが中間画素値演算部111に出力される。中間画素値演算部111では、並列に水平方向の中間画素演算を行い、2つの中間画素値を同時に生成する。これにより、例えば1サイクル目でレジスタAとBに格納されるデータa1とa2を用いてその水平方向の中間画素値(a1+a2)/2 が演算される。また2サイクル目ではレジスタDに格納されるデータa2とレジスタAに格納されるデータa3を用いてその水平方向の中間画素値(a2+a3)/2 が演算されるとともに、レジスタAに格納されるデータa3とレジスタBに格納されるデータa4を用いてその水平方向の中間画素値(a3+a4)/2 がこれと並列に演算される。
【0029】
中間画素値演算部111で生成された中間画素値は、データ出力部112によって、データ入力部108に入力されるデータと同じように2つの中間画素値を一緒にして16ビットのデータとして出力される。同時にデータ出力部112からは、出力される中間画素値に合わせてデータイネーブル信号を出力する。水平方向の中間画素値を生成する場合の、画像データとデータイネーブル信号との関係を示したのが図4である。このとき、水平方向に8画素分の中間画素値を生成するには、9画素分の画像データの入力が必要になるため、入力画像データ102と生成した中間画素値である出力画像データ104との間には、データの個数に差ができるが、出力画像データイネーブル信号105は、データ出力部112からの出力画像データ104に合わせて、中間画素値が出力されない期間は一旦ロウレベルとなり、再び中間画素値が出力される期間はハイレベルとなるようにデータイネーブル信号が出力されるため、この出力画像データイネーブル信号105により、DMA転送は特別な制御をする必要がない。
【0030】
次に、垂直方向の中間画素値を生成する場合について、その動作を述べる。外部メモリ117からDMA転送されてくる画像データをデータ入力部108を介し、レジスタ部109に順次格納していくのはモードの設定にかかわらず同じである。すなわち、図2および表2に示すように、サイクル0においてデータ入力部108から出力されたデータa1、a2はサイクル1において、レジスタAにデータa1が、レジスタBにデータa2がそれぞれ格納され、次のサイクルではレジスタAにデータa3が、レジスタBにデータa4が格納されるというように、データ入力部108からのデータを順次格納していく。8×8の中間画素値を生成する際の垂直方向の中間画素値の生成は、図2のレジスタ部109におけるレジスタIとレジスタA、レジスタJとレジスタBに格納してあるデータを用いて並列に中間画素値演算が行われるように、モード設定信号106により、データ選択部110から中間画素値演算部111にデータが選択出力されることで行われる。中間画素値演算部111では並列に垂直方向の中間画素演算を行い、2つの中間画素値を同時に生成する。
【0031】
これにより、例えば5サイクル目でレジスタIに格納されるデータa1とレジスタAに格納されるデータb1を用いてその垂直方向の中間画素値(a1+b1)/2 が演算されるとともに、5サイクル目でレジスタJに格納されるデータa2とレジスタBに格納されるデータb2を用いてその垂直方向の中間画素値(a2+b2)/2 がこれと並列に演算される。
【0032】
中間画素値演算部111で生成された中間画素値は、データ出力部112によって、データ入力部108に入力されるデータと同じように2つの中間画素値を一緒にして16ビットのデータとして出力される。このとき、垂直方向に8画素分の中間画素値を生成するには、9ライン分の画像データの入力が必要になるため、入力画像データ102と生成した中間画素値である出力画像データ104との間には、データの個数に差ができる。また、データの出力には少なくとも1ライン分のデータ入力のための遅延が発生するが、データ出力部112からの出力データに合わせてデータイネーブル信号が出力されるため、出力画像データイネーブル信号105により、DMA転送は特別な制御をする必要がない。垂直方向の中間画素値を生成する場合の、データとデータイネーブルとの関係を示したのが図5である。
【0033】
さらに、斜め方向の中間画素値を生成する場合について、その動作を述べる。外部メモリ117からDMA転送されてくる画像データをデータ入力部108を介し、レジスタ部109に順次格納していくのはモードの設定にかかわらず同じである。図2および表3に示すように、サイクル0においてデータ入力部108から出力されたデータa1、a2はサイクル1において、レジスタAにデータa1が、レジスタBにデータa2がそれぞれ格納され、次のサイクルではレジスタAにデータa3が、レジスタBにデータa4が格納されるというように、データ入力部108からのデータを順次格納していく。8×8の中間画素値を生成する際の斜め方向の中間画素値の生成は、図2のレジスタ部109におけるレジスタKとレジスタLとレジスタAとレジスタB、レジスタNとレジスタKとレジスタDとレジスタAに格納してあるデータを用いて並列に中間画素値演算が行われるように、モード設定信号106により、データ選択部110から中間画素値演算部111にデータが選択出力されることで行われる。中間画素値演算部111では、並列に斜め方向の中間画素演算を行い、2つの中間画素値を同時に生成する。
【0034】
これにより、例えば6サイクル目でレジスタK,レジスタLとレジスタA,レジスタBにそれぞれ格納されるデータa1,a2 とb1,b2 を用いてその斜め方向の中間画素値(a1+a2+b1+b2)/4 が演算され、7サイクル目でレジスタNに格納されるデータa2とレジスタKに格納されるデータa3とレジスタDに格納されるデータb2とレジスタAに格納されるデータb3を用いてその斜め方向の中間画素値(a2+a3+b2+b3)/4 が演算されるとともに、レジスタKに格納されるデータa3とレジスタLに格納されるデータa4とレジスタAに格納されるデータb3とレジスタBに格納されるデータb4を用いてその斜め方向の中間画素値(a3+a4+b3+b4)/4 が並列に演算される。
【0035】
中間画素値演算部111で生成された中間画素値は、データ出力部112によって、データ入力部108に入力されるデータと同じように2つの中間画素値を一緒にして16ビットのデータとして出力される。このとき、斜め方向に8×8画素分の中間画素値を生成するには、水平方向に1ライン9画素分、垂直方向に9ライン分の画像データの入力が必要になるため、入力画像データ102と生成した中間画素値である出力画像データ104との間には、データの個数に違いが生じる。また、中間画素値の出力までに遅延が発生するが、データ出力部112からの出力データに合わせてデータイネーブル信号が出力されるため、出力画像データイネーブル信号105により、DMA転送は特別な制御をする必要がない。斜め方向の中間画素値を生成する場合の、データとデータイネーブルとの関係を示したのが図6である。
【0036】
なお、以上の説明は8画素の場合に関するものであるが、水平,垂直,斜め方向の中間画素値を4画素分演算する場合や、16画素分演算する場合においても同様の処理により中間画素値を演算することができる。4画素の場合のレジスタのサイクル毎の値の変化と中間画素演算値との関係を表4ないし表6に、16画素の場合のレジスタのサイクル毎の値の変化と中間画素演算値との関係を表7ないし表9に、それぞれ示している。
【0037】
【表4】
Figure 0003633807
【0038】
【表5】
Figure 0003633807
【0039】
【表6】
Figure 0003633807
【0040】
【表7】
Figure 0003633807
【0041】
【表8】
Figure 0003633807
【0042】
【表9】
Figure 0003633807
【0043】
次にこのようなDMA転送の際に特別な制御を必要としないように、出力データに合わせて出力されるデータイネーブル信号の生成について説明する。
図9は本発明の実施の形態2による中間画素演算装置におけるレジスタ部109の構成の一例を示したものである。図9で示したレジスタ部は、図2で示したレジスタ部とともに設けられ、図2で示したレジスタ部が4画素、8画素、16画素数の水平方向の中間画素、垂直方向の中間画素、斜め方向の中間画素を同一のレジスタ部からのデータで生成することが可能なように構成しているのに対し、これらの中間画素を生成する際のデータイネーブル信号を、同一のレジスタ部からのデータで生成することが可能なようにこれを構成したものである。
【0044】
図9において、1091ないし10910はそれぞれデータイネーブル信号を一時記憶するレジスタ1ないしレジスタ10であり、レジスタ1 1091,レジスタ2 1092,レジスタ3 1093,レジスタ4 1094,レジスタ5 1095,レジスタ6 1096,レジスタ7 1097,レジスタ8 1098,レジスタ9 1099,レジスタ10 10910は、データ入力部108が出力する入力データイネーブル信号901を入力しこれをこの順で順次転送してゆくものである。
【0045】
また、これらのレジスタのなかで、レジスタ1 1091の出力902はデータ出力部112に入力されており、レジスタ3 1093,レジスタ4 1094,レジスタ5 1095,レジスタ6 1096,レジスタ9 1099,レジスタ10 10910の出力はそれぞれデータ選択部110に入力されている。
【0046】
また、図10は本発明の実施の形態2による中間画素演算装置におけるデータ出力部112の構成の一例を示したものである。
図10において、1007は図9のレジスタ部109のレジスタ1 1091からのデータイネーブル信号902およびデータ選択部110からの出力信号903を入力とするAND 回路、1005はAND 回路1007の出力1004およびデータイネーブル信号902を入力とするセレクタ、1002はセレクタ1005の出力1001をカウントするカウンタ部、1006はカウンタ部1002の出力1003およびAND 回路1007の出力1004を入力とするセレクタ、114はこのセレクタ1006の出力信号である中間画素データイネーブル信号である。
【0047】
また、1008および1009は中間画素値演算部111が演算し並列に出力する演算結果、1010はこの演算結果1008を入力とするレジスタ、1012はこのレジスタ1010の出力1011および演算結果1008を入力とするセレクタ、113はこのセレクタ1012の出力と中間画素値演算部111の演算結果1009がパッキングされた中間画素値生成データ113である。
【0048】
また、図11は水平方向に中間画素値を4画素生成する場合のデータイネーブル信号生成部内の信号を示すものである。
また、図12は垂直方向に中間画素値を4画素生成する場合のデータイネーブル信号生成部内の信号を示すものである。
さらに、図13は斜め方向に中間画素値を4画素生成する場合のデータイネーブル信号生成部内の信号を示すものである。
【0049】
次に、データイネーブル信号を生成する場合について、その動作を述べる。
図1の外部メモリ117からの入力データイネーブル信号103は、図9に示すように、データ入力部108により入力され、このデータ入力部108からのデータイネーブル信号901はレジスタ部109のレジスタ1 1091に格納される。このレジスタ1 1091の出力902はモード設定信号106によるモード設定にかかわらず、常にデータ出力部112に出力される。また、データイネーブル信号901はレジスタ部109のレジスタ1 1091からレジスタ2 1092,レジスタ3 1093,…,レジスタ9 1099,レジスタ10 10910に順次格納され、データ選択部110はモード設定信号106に応じて、垂直方向に中間画素を4画素生成する場合はレジスタ3 1093の出力を、斜め方向に中間画素を4画素生成する場合はレジスタ4 1094の出力を、垂直方向に中間画素を8画素生成する場合はレジスタ5 1095の出力を、斜め方向に中間画素を8画素生成する場合はレジスタ6 1096の出力を、垂直方向に中間画素を16画素生成する場合はレジスタ9 1099の出力を、斜め方向に中間画素を16画素生成する場合はレジスタ10 10910の出力を、それぞれ選択し、選択データ903として出力する。また、水平方向の中間画素値を生成する場合は、生成画素数にかかわらず、レジスタ1 1091の出力902のみをデータイネーブル信号生成に用いるものであり、データ選択部110で選択、出力された出力903はこれを必要としない。
【0050】
次に、図10において、データ出力部112に入力された,図9のレジスタ11091の出力902およびデータ選択部110の出力903はAND 回路1007によって論理積がとられ、その出力1004とレジスタ1 1091の出力902がモード設定信号106に応じてセレクタ1005によって選択され、カウンタ部1002はこのセレクタ1005の出力1001をカウント信号として、この信号1001が“H”の期間モード設定信号により設定された値までカウントを行う。中間画素値を4画素数生成する場合は、“0”,“1”,“2”,“0”,“1”,“2”,…のカウントを繰り返す。同様に、中間画素値を8画素数生成する場合は、“0”,“1”,“2”,“3”,“4”,“0”,“1”,“2”,“3”,“4”,…のカウントを繰り返す。さらに、中間画素値を16画素数生成する場合は、“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“0”,“1”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,…のカウントを繰り返す。そして、カウント値が“0”の場合はカウンタ部1002の出力1003として、“0”を出力し、他の場合は“1”を出力する。
【0051】
データイネーブル信号の生成は、水平方向の中間画素値演算の場合はレジスタ部109からの出力902をカウント信号セレクタ1005で選択し、カウンタ部1002のカウント信号1001とする。そしてこのカウンタ部1002からの出力1003をデータイネーブル出力セレクタ1006で選択し、中間画素データイネーブル信号114とする。 即ち、図11に示すように、水平方向に4画素分の中間画素を生成する場合、レジスタ部109からの入力902が“H”の期間、カウンタ部1002のカウンタは“0”,“1”,“2”,“0”,“1”,“2”,…のカウントを繰り返し、カウンタ部1002はカウント値が“0”の場合は出力1003として、“0”を出力し、他の場合は“1”を出力する。このため、図11(a) に示すように入力902が与えられると、カウンタ部1002からの出力は図11(b) に示すようになり、これがセレクタ1006で選択されて中間画素データイネーブル信号114となる。従って、o1=(a1+a2)/2, o2 =(a2+a3)/2, o3 =(a3+a4)/2, o4 =(a4+a5)/2 の4つの中間画素が演算され、これらが、o1, o2とo3, o4をそれぞれ1組として、2タイミングを要して出力すべき時に出力データイネーブル信号は“1”,“1”、即ち“H”,“H”となるように生成されており、次のタイミングで、入力画像データはa5,a6 が入力されるが、このa6は中間画素演算に用いないものであり、かつこの時カウンタ部1002のカウント値が“0”となっているため、出力データイネーブル信号は“0”、即ち“L”となるように生成される。そしてその次のタイミングで、入力画像データはb1,b2 が入力され、さらにその次のタイミングで、入力画像データはb3,b4 が入力されるが、これらはともに中間画素演算に用いるものであり、かつこの時カウンタ部1002のカウント値がそれぞれ“1”,“2”となっているため、出力データイネーブル信号は“1”,“1”、即ち“H”,“H”となるように生成される。
【0052】
これに対し、垂直方向の中間画素値演算の場合は、AND 回路1007の出力1004をデータイネーブル出力セレクタ1006で選択し、これを中間画素データイネーブル信号114とする。即ち、図12に示すように、垂直方向に4画素分の中間画素を生成する場合、レジスタ部109からの入力902とデータ選択部110からの入力903としてのレジスタ3 1093の出力の論理積をAND 回路1007でとり、これをセレクタ1006で選択し、中間画素データイネーブル信号114とする。このため、図12(a) に示すように入力902が与えられ、これよりレジスタ2 1092,レジスタ3 1093を通過する分遅れて図12(b) に示すように入力903が与えられると、AND 回路1007の出力1004は図12(c) に示すようになり、これがセレクタ1006で選択されて中間画素データイネーブル信号114となる。従って、o1=(a1+b1)/2, o2 =(a2+b2)/2, o3 =(b1+b2)/2, o4 =(b3+b4)/2 の4つの中間画素が演算され、これらが、o1, o2とo3, o4をそれぞれ1組として出力される際に、a1, a2, …よりそれぞれ2タイミング遅れて入力されるb1,b2,…の入力タイミングに合わせて出力データイネーブル信号が“H”になり、かつこの垂直方向に4画素分の中間画素を演算する場合、水平方向に4画素分の中間画素を演算する場合のように、中間画素演算に用いない画素は水平方向には存在しないので、生成される出力データイネーブル信号は、水平方向の時のように一旦“L”になることはなく、最初に遅延が発生するのみである。
【0053】
さらに、斜め方向の中間画素値演算の場合はAND 回路1007の出力1004をカウント信号セレクタ1005で選択してこれをカウンタ部1002のカウント信号1001とし、カウンタ部1002の出力1003をデータイネーブル出力セレクタ1006で選択し、これを中間画素データイネーブル信号114とする。即ち、図13に示すように、斜め方向に4画素分の中間画素を生成する場合、レジスタ部109からの入力902とデータ選択部110からの入力903としてのレジスタ3 1093の出力の論理積をAND 回路1007でとり、これをセレクタ1005で選択してカウンタ部1002への入力1001とし、このカウント部1002の出力1003をセレクタ1006で選択し、これを中間画素データイネーブル信号114とする。このため、図13(a) に示すように入力902が与えられ、これよりレジスタ2 1092,レジスタ3 1093を通過する分遅れて図13(b) に示すように入力903が与えられると、AND 回路1007の出力1004は図13(c) に示すようになり、このAND 回路1007の出力1004が“H”の期間、カウンタ部1002のカウンタは“0”,“1”,“2”,“0”,“1”,“2”,…のカウントを繰り返し、カウンタ部1002はカウント値が“0”の場合は出力1003として、“0”を出力し、他の場合は“1”を出力する。これにより、カウンタ部1002の出力は図13(d) に示すようになり、これがセレクタ1006で選択されて中間画素データイネーブル信号114となる。従って、o1=(a1+a2+b1+b2)/4, o2 =(a2+a3+b2+b3)/4, o3 =(a3+a4+b3+b4)/4, o4 =(a4+a5+b4+b5)/4 の4つの中間画素が演算される際、a1, a2, …よりそれぞれ2タイミング遅れて入力されるb1,b2,…の入力タイミングに合わせて出力データイネーブル信号が“H”になり、かつその後a5,a6 が入力されるが、このa6は水平方向に4画素分の中間画素を演算する場合と同様に画素演算に用いないものであり、従って、これ以降は、水平方向に4画素分の中間画素を演算する場合と同様に、出力データイネーブル信号は“0”,“1”,“1”、即ち“L”,“H”,“H”を繰り返すように生成される。
【0054】
一方、画像データについては、中間画素値が中間画素値演算部111で並列に演算され、出力される中間画素値演算結果1008,1009をデータ出力部112の入力とし、水平方向および斜め方向の中間画素値演算の場合は一方の演算結果1008をレジスタ1010に格納し、その出力1011をセレクタ1012で選択出力し、他方の演算結果1009と一緒にして中間画素値生成データ113とする。これに対し、垂直方向の中間画素値演算の場合は、セレクタ1012で中間画素値演算部111からの一方の入力1008を選択し、これを中間画素値演算部111からの他方の入力1009と一緒にして中間画素値生成データ113とする。
【0055】
即ち、水平方向および斜め方向に4画素分の中間画素を演算する場合、o1, o2,o3, o4,…が出力されるが、これらのなかで、o2,o4,…はo1, o3, …に対し、それぞれ1タイミング遅れて出力されるため、これを補償すべく、o1, o3, …を一旦レジスタ1010に格納している。これに対し、垂直方向に4画素分の中間画素を演算する場合、o1, o2,o3, o4,…が出力されるが、o2,o4,…はo1, o3, …と同じタイミングでそれぞれ出力されるため、o1, o3, …をレジスタ1010に格納することなくそれぞれo2,o4,…と一緒にして出力するようにしている。
【0056】
なお、以上の説明は4画素の場合に関するものであるが、水平,垂直,斜め方向の中間画素値を8画素分演算する場合や、水平,垂直,斜め方向の中間画素値を16画素分演算する場合においても同様の処理により出力データイネーブル信号を生成することができる。
【0057】
このように、この実施の形態2によれば、8ビットの画素データが2画素分ずつ入力される際に、これらに対し並列に中間画素値演算を行うようにしたので、DMA転送されてくる画像データを順次入力することにより、水平、垂直、斜め方向の中間画素値を生成することが可能であり、中間画素演算を行うために予めデータの並び替えやデータの分割を行って複数のメモリに格納する必要がなく、生成した中間画素値を入力される画像データと同じ形式で出力し、その出力データに合わせてイネーブル信号を出力することで、DMA転送に対し、特別な制御をする必要もない。また、複数の画像データを一緒に入力する場合、並列に中間画素演算を行うことで、生成した中間画素値を出力するまでの遅延を小さくすることができる。
【0058】
なお、上記実施の形態2では、最初から中間画素演算に必要な2画素が一緒にパッキングされて入力されるものとしたが、最初に1画素が入力され、その後2画素ずつ入力される等の場合は、データ入力部108で最初から2画素が一緒になるようにパッキングしなおして中間画素値を求めるようにしてもよい。
【0059】
【発明の効果】
以上のように、本願の請求項1の発明に係る中間画素演算装置によれば、DMA転送されてくる画像データを順次格納するためのレジスタを必要数備えたレジスタ部と、前記レジスタに格納してあるデータを、中間画素を生成する方向を設定する設定信号に応じて適宜選択し出力するデータ選択部と、前記データ選択部からの出力を入力とし、画像データを構成する画素データに対しその中間画素を生成する中間画素演算を行う中間画素値演算部と、前記中間画素値演算部における演算結果を必要に応じて加工出力するデータ出力部とを備え、画像データのDMA転送時にデータイネーブル信号を転送し、かつ前記画像データの中間画素値演算をDMA転送中に行うようにしたので、中間画素値の生成において、演算のためのデータを予め用意するための制御や記憶装置が不要となり、また、画像データのDMA転送中に、中間画素値の生成を行うことができるという効果が得られる。
【0060】
また、本願の請求項2の発明に係る中間画素演算装置によれば、請求項1記載の中間画素演算装置において、前記画像データは複数の画素データが一緒にされたパッキングデータとして入力されるものであり、前記中間画素値演算部は前記パッキングデータを構成する画素データに対し並列に中間画素演算を行うものとしたので、中間画素値の生成において、演算のためのデータを予め用意するための制御や記憶装置が不要となり、画像データのDMA転送中に、中間画素値の生成を行うことができ、しかも、一緒に入力した複数の画像データに対し、並列に中間画素演算を行うことで、生成した中間画素値を出力するまでの遅延を小さくすることができる効果が得られる。
【図面の簡単な説明】
【図1】本発明の実施の形態1による中間画素演算装置を示すブロック図。
【図2】本発明の実施の形態2によるレジスタ部の構成例を示す構成図。
【図3】2次元的に配列された画像データの概念図。
【図4】本発明の実施の形態2による水平方向の中間画素値生成の説明図。
【図5】本発明の実施の形態2による垂直方向の中間画素値生成の説明図。
【図6】本発明の実施の形態2による斜め方向の中間画素値生成の説明図。
【図7】中間画素の説明図。
【図8】従来のアドレス生成回路を示す一構成図。
【図9】本発明の実施の形態2によるレジスタ部の構成例を示すブロック図。
【図10】本発明の実施の形態2によるデータ出力部の構成例を示すブロック図。
【図11】本発明の実施の形態2によるデータイネーブル信号の生成過程の一例を示す信号波形図。
【図12】本発明の実施の形態2によるデータイネーブル信号の生成過程の他の例を示す信号波形図。
【図13】本発明の実施の形態2によるデータイネーブル信号の生成過程のさらに他の例を示す信号波形図。
【符号の説明】
101 中間画素演算装置
102 入力画像データ
103 入力データイネーブル
104 出力画像データ
105 出力データイネーブル
106 モード設定信号
107 演算ON/OFF信号
108 データ入力部
109 レジスタ部
109a レジスタA
109b レジスタB
109c レジスタC
109d レジスタD
109e レジスタE
109f レジスタF
109g レジスタG
109h レジスタH
109i レジスタI
109j レジスタJ
109k レジスタK
109l レジスタL
109m レジスタM
109n レジスタN
109o レジスタO
109p レジスタP
109q レジスタQ
109r レジスタR
109s レジスタS
109t レジスタT
109u レジスタU
110 データ選択部
111 中間画素値演算部
112 データ出力部
113 中間画素値生成データ
114 中間画素データイネーブル信号
115 画像データ用セレクタ
116 データイネーブル信号用セレクタ
117 外部メモリ
118 内部メモリ
901 データイネーブル信号
902 レジスタ1 1091の出力
903 データ選択部110の出力
1001 セレクタ1005の出力
1002 カウンタ部
1003 カウンタ部1002の出力
1004 AND 回路1007の出力
1005 セレクタ
1006 セレクタ
1007 AND 回路
1008 中間画素値演算結果
1009 中間画素値演算結果
1010 レジスタ
1011 レジスタ1010の出力
1012 セレクタ
1091 レジスタ1
1092 レジスタ2
1093 レジスタ3
1094 レジスタ4
1095 レジスタ5
1096 レジスタ6
1097 レジスタ7
1098 レジスタ8
1099 レジスタ9
10910 レジスタ10

Claims (2)

  1. DMA (Direct Memory Access) 転送されてくる画像データを順次格納するためのレジスタを必要数備えたレジスタ部と、
    前記レジスタに格納してあるデータを、中間画素を生成する方向を設定する設定信号に応じて適宜選択し出力するデータ選択部と、
    前記データ選択部からの出力を入力とし、画像データを構成する画素データに対しその中間画素を生成する中間画素演算を行う中間画素値演算部と、
    前記中間画素値演算部における演算結果を必要に応じて加工出力するデータ出力部とを備え、
    画像データのDMA転送時にデータイネーブル信号を転送し、かつ前記画像データの中間画素値演算をDMA転送中に行うことを特徴とする中間画素演算装置。
  2. 請求項1記載の中間画素演算装置において、
    前記画像データは複数の画素データが一緒にされたパッキングデータとして入力されるものであり、前記中間画素値演算部は前記パッキングデータを構成する画素データに対し並列に中間画素演算を行うものであることを特徴とする中間画素演算装置。
JP35779898A 1998-12-16 1998-12-16 中間画素演算装置 Expired - Fee Related JP3633807B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP35779898A JP3633807B2 (ja) 1998-12-16 1998-12-16 中間画素演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35779898A JP3633807B2 (ja) 1998-12-16 1998-12-16 中間画素演算装置

Publications (2)

Publication Number Publication Date
JP2000182067A JP2000182067A (ja) 2000-06-30
JP3633807B2 true JP3633807B2 (ja) 2005-03-30

Family

ID=18455983

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35779898A Expired - Fee Related JP3633807B2 (ja) 1998-12-16 1998-12-16 中間画素演算装置

Country Status (1)

Country Link
JP (1) JP3633807B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6361290B2 (ja) 2014-05-30 2018-07-25 セイコーエプソン株式会社 画像処理装置、表示装置および画像処理方法

Also Published As

Publication number Publication date
JP2000182067A (ja) 2000-06-30

Similar Documents

Publication Publication Date Title
JPH11103407A (ja) Ccdデータ画素補間回路およびこのccdデータ画素 補間回路を備えたデジタルスチルカメラ
JP3633807B2 (ja) 中間画素演算装置
US4647971A (en) Moving video special effects system
KR100245275B1 (ko) 컴퓨터 시스템용 그래픽스 서브시스템
JP3260913B2 (ja) 画像再生装置
JPH05100647A (ja) 画像表示装置
US20010007454A1 (en) Direct memory access transfer apparatus
US5895502A (en) Data writing and reading method for a frame memory having a plurality of memory portions each having a plurality of banks
JP2002354400A (ja) データ格納/読み出し方法及びその方法を用いた画像データ記憶装置並びにその記憶装置を用いた画像補正装置
JPH07129460A (ja) 画像処理方法及びその装置
JPH05113928A (ja) 画像メモリ装置
JP2001343966A (ja) 表示座標変換回路
JP2820068B2 (ja) 画像データ合成表示装置
JP3881475B2 (ja) 画像表示装置
KR100308586B1 (ko) 영상재생장치
JPH0563959A (ja) 画像処理方法および装置
JP2989193B2 (ja) 画像メモリインターリーブ入出力回路
JP2004040505A (ja) 画像処理装置
JPS58138163A (ja) 画信号回転装置
JPH08147478A (ja) 動画像復号化装置
JPS6113288A (ja) 画像フレ−ム・メモリのアクセス制御回路
JPS62216077A (ja) アドレス発生器
JPH0695272B2 (ja) 画像表示装置
JP2000299879A (ja) 画像処理装置及び画像処理方法
JPS6198479A (ja) 画像処理システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040913

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040921

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20041214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041221

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080107

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090107

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100107

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110107

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120107

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees