JPH09147097A - Data interpolating device - Google Patents

Data interpolating device

Info

Publication number
JPH09147097A
JPH09147097A JP7307813A JP30781395A JPH09147097A JP H09147097 A JPH09147097 A JP H09147097A JP 7307813 A JP7307813 A JP 7307813A JP 30781395 A JP30781395 A JP 30781395A JP H09147097 A JPH09147097 A JP H09147097A
Authority
JP
Japan
Prior art keywords
address
data
memory
significant bit
input
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.)
Pending
Application number
JP7307813A
Other languages
Japanese (ja)
Inventor
Kiyoshi Maenobu
潔 前信
Nobuhiko Wakayama
順彦 若山
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 Holdings Corp
Original Assignee
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP7307813A priority Critical patent/JPH09147097A/en
Publication of JPH09147097A publication Critical patent/JPH09147097A/en
Pending 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)
  • Image Processing (AREA)

Abstract

PROBLEM TO BE SOLVED: To operate interpolation data at a high speed by previously storing data in plural memories and simultaneously reading out the data required for interpolation corresponding to one or one pair of input addresses. SOLUTION: A 1st memory 109 stores the data of even-numbered addresses and a 2nd memory 111 stores the data of odd-numbered addresses. Concerning a remaining address 102 for which a least significant bit(LSB) is excluded from the integer part of an input address 101, '1' is added to the digit of that LSB by an adder 105. When an LSB 103 of the integer part is '0', the address 102 is selected by a selector 107, but when the LSB is '1', an output 106 of the adder 105 is selected. Two pieces of data 112 and 113 are simultaneously read out of the 1st and 2nd memories 109 and 111 accessed by access addresses 108 and 110 outputted from an address generating circuit 104, and the interpolated data are prepared by an arithmetic circuit 115.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は1次元または2次元
の整数値のアドレスで離散的にアドレス付けされたデー
タに対して、小数部を含むアドレスでアクセスした場合
に、その近傍アドレスのデータからその小数部を考慮し
て補間演算したデータを読み出すデータ補間装置に関す
る。例えば、コンピュータグラフィックスの画像生成に
おいて、予め離散的な画素アドレスについて用意された
テクスチャ画像から補間した画素データを読み出すデー
タ補間装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention, when data discretely addressed by one-dimensional or two-dimensional integer-valued addresses is accessed by an address including a fractional part, the The present invention relates to a data interpolating device for reading out data which is interpolated in consideration of the decimal part. For example, the present invention relates to a data interpolating device that reads pixel data interpolated from a texture image prepared in advance for discrete pixel addresses in computer graphics image generation.

【0002】[0002]

【従来の技術】近年、コンピュータグラフィックス技術
は民生用ゲーム機にも搭載され、その性能を競ってい
る。特に、ハードウエア化が容易な、ポリゴンを用いて
物体を表現して画像生成を行う方法が広く用いられてい
る。ポリゴンを用いた画像生成では物体の表現の細やか
さは、その物体を表現するポリゴンの数に依存する。し
かしながらポリゴンの数が増大するにつれて画像生成に
要する時間も増大するため、むやみにポリゴン数を増や
すことができない。そこで、それを補い、ポリゴンの表
面により写実性をもたせるための手法としてテクスチャ
マッピングといわれる手法が用いられる。テクスチャマ
ッピングについては、例えば「コンピュータグラフィッ
クス」中前栄八郎著、電子情報通信学会編、オーム社(1
987年)pp.169−170などに詳しく述べられている。
2. Description of the Related Art In recent years, computer graphics technology has been installed in consumer game machines and is competing for its performance. In particular, a method of expressing an object using a polygon and generating an image, which is easy to implement in hardware, is widely used. In image generation using polygons, the fineness of representation of an object depends on the number of polygons representing the object. However, as the number of polygons increases, the time required to generate an image also increases, so the number of polygons cannot be increased unnecessarily. Therefore, a method called texture mapping is used as a method for compensating for this and giving the surface of the polygon more realistic properties. For texture mapping, see “Computer Graphics” by Eihachiro Nakamae, The Institute of Electronics, Information and Communication Engineers, Ohmsha (1
987) pp.169-170.

【0003】この手法を簡単に説明する。予めポリゴン
の表面にマッピングするためのテクスチャと呼ばれる画
像データをメモリに用意しておき、この画像データとポ
リゴンの表面のそれぞれに定義された座標間に対応付け
を行う。ポリゴンの画像を生成する際に、その対応付け
に従って、ポリゴン上のある画素の座標からテクスチャ
の画素を参照するためのアドレス値を演算によって求
め、該当する画素を読み出して、そのポリゴンの画素に
マッピングする。
This method will be briefly described. Image data called texture for mapping on the surface of the polygon is prepared in the memory in advance, and the image data and the coordinates defined on the surface of the polygon are associated with each other. When generating a polygon image, calculate the address value to refer to the texture pixel from the coordinates of a pixel on the polygon according to the correspondence, read the corresponding pixel, and map it to the pixel of the polygon. To do.

【0004】このとき、テクスチャ側の画素を参照する
ためのアドレス値は必ずしも整数値にならず小数部分を
含む。もし十分細かい精度をもつテクスチャ画像であれ
ば、小数部分を無視して、例えば小数部を切り捨てたア
ドレスによってテクスチャ画素を参照しても問題ない
が、テクスチャ画像の精度が粗い場合、小数部を無視し
てしまうと、ポリゴン側の隣接した複数の画素に対して
同じテクスチャの画素がマッピングされてしまい、不自
然な画像となる。従って、これを解決するために、アド
レス値の小数部分を考慮して、いくつかの近傍画素から
補間した画素を計算し、それをマッピングすることが一
般に行われている。
At this time, the address value for referring to the pixel on the texture side is not necessarily an integer value and includes a decimal part. If the texture image has a sufficiently fine accuracy, it is safe to ignore the decimal part and refer to the texture pixel by an address with the decimal part truncated, but if the texture image is coarse, ignore the decimal part. If this happens, pixels with the same texture will be mapped to a plurality of adjacent pixels on the polygon side, resulting in an unnatural image. Therefore, in order to solve this, it is common practice to take into account the fractional part of the address value, calculate an interpolated pixel from several neighboring pixels, and map it.

【0005】また、コンピュータグラフィックスに限ら
ず、離散的に測定されたり、算出されたデータから、そ
の補間された値を算出することは広く行われている。
Further, not limited to computer graphics, it is widely practiced to calculate an interpolated value from data which is discretely measured or calculated.

【0006】以下に従来のデータ補間装置について説明
する。ここでは簡単のため、nビットのアドレスで1次
元にアドレス付けされたデータを更にmビットの小数部
をもつ(n+m)ビットの入力アドレスでアクセスしたと
きに、そのアドレスを内包する2つの近傍アドレスのデ
ータを用いて補間データを出力する回路について説明す
る。ここで、「内包する2つのアドレス」とは入力アド
レスの小数部を切り下げたアドレスと切り上げたアドレ
スと定義する。但し、入力アドレスの小数部が0の場合
は入力アドレスそのものとそれに1を加えたアドレスと
定義する。
A conventional data interpolation device will be described below. For the sake of simplicity, when data that is one-dimensionally addressed with an n-bit address is accessed with an (n + m) -bit input address that has an m-bit fractional part, two neighboring addresses that include that address A circuit for outputting the interpolation data using the data of will be described. Here, "two included addresses" are defined as an address obtained by rounding down the fractional part of the input address and an address obtained by rounding up. However, when the fractional part of the input address is 0, it is defined as the input address itself and the address obtained by adding 1 to it.

【0007】図6と図7は従来のデータ補間装置の各構
成例を示すブロック図であり、図6と図7において、共
通の機能をもつ信号やブロックについては共通の参照用
符号を付してある。
FIGS. 6 and 7 are block diagrams showing respective structural examples of a conventional data interpolating device. In FIGS. 6 and 7, common reference symbols are attached to signals and blocks having common functions. There is.

【0008】図6において、601は整数部nビットと小
数部mビットからなる入力アドレスを、602は入力アド
レス601の整数部を、603は入力アドレス601の小数部
を、604は入力アドレス601の整数部602の最下位ビット
に1を加える加算器を、605は加算器604の出力を、606
は入力アドレス601の整数部602と加算器604の出力605の
いずれか一方を選択し出力するセレクタを、607はセレ
クタの出力するnビットのアクセスアドレスを、608は
nビットのアクセスアドレス607でアクセスされるメモ
リを、609はメモリ608から読み出されるデータを、610
はラッチを、611はラッチ610の出力を、612は演算回路
を、613は演算回路612で補完されたデータをそれぞれ示
す。
In FIG. 6, 601 is an input address consisting of n bits of an integer part and m bits of a decimal part, 602 is an integer part of the input address 601, 603 is a decimal part of the input address 601, and 604 is an input address 601. An adder that adds 1 to the least significant bit of the integer part 602, 605 outputs the output of the adder 604,
Is a selector that selects and outputs either the integer part 602 of the input address 601 or the output 605 of the adder 604, 607 is the n-bit access address output by the selector, and 608 is the n-bit access address 607. 609, the data read from the memory 608 is 610
Is a latch, 611 is an output of the latch 610, 612 is an arithmetic circuit, and 613 is data complemented by the arithmetic circuit 612.

【0009】以上のように構成された図6の従来のデー
タ補間装置の動作を説明する。まず最初に、セレクタ60
6は入力アドレス601の整数部602を選択してメモリ608へ
のアクセスアドレス607として出力する。アクセスアド
レス607に従ってメモリ608から読み出されたデータ609
はラッチ610に格納される。
The operation of the conventional data interpolating apparatus of FIG. 6 configured as above will be described. First of all, the selector 60
6 selects the integer part 602 of the input address 601 and outputs it as the access address 607 to the memory 608. Data 609 read from memory 608 according to access address 607
Are stored in the latch 610.

【0010】次に、セレクタ606は加算器604の出力605
を選択してメモリ608へのアクセスアドレス607として出
力する。アクセスアドレス607に従ってメモリ608から読
み出されたデータ609と先にラッチ610に格納された出力
611と入力アドレス601の小数部603を用いて、演算回路6
12は補間演算を行い、補間されたデータ613を出力す
る。このとき最初のメモリアクセスで、入力アドレス60
1を上回らない整数値のアドレスをもつデータが読み出
され、次のメモリアクセスで、入力アドレス601を下回
らない整数値のアドレスをもつデータが読み出される。
このように1つの入力アドレス601に対して2サイクル
のデータの読み出しが行われる。
Next, the selector 606 outputs the output 605 of the adder 604.
Is output as the access address 607 to the memory 608. Data 609 read from memory 608 according to access address 607 and output previously stored in latch 610
By using 611 and the decimal part 603 of the input address 601, the arithmetic circuit 6
12 performs interpolation calculation and outputs interpolated data 613. At this time, at the first memory access, input address 60
Data having an integer value address that does not exceed 1 is read, and data having an integer value address that does not exceed the input address 601 is read in the next memory access.
In this way, two cycles of data are read from one input address 601.

【0011】図7において、入力アドレス601の整数部6
02と加算器604の出力605をアクセスアドレスと以下呼ぶ
こととし、この2つのアクセスアドレスから同時に2つ
のデータを読み出す701は2ポートメモリを、702はアク
セスアドレス602に従って2ポートメモリ701から読み出
されたデータを、703はアクセスアドレス605に従って2
ポートメモリ701から読み出されたデータを、それぞれ
示す。
In FIG. 7, the integer part 6 of the input address 601
The 02 and the output 605 of the adder 604 are hereinafter referred to as access addresses. Two data are simultaneously read from these two access addresses: 701 is a 2-port memory, and 702 is a 2-port memory according to the access address 602. 703 is 2 according to the access address 605.
The data read from the port memory 701 are shown respectively.

【0012】以上のように構成された図7の従来のデー
タ補間装置の動作を説明する。まず、入力アドレス601
の整数部602は2ポートメモリ701への第1のアクセスア
ドレスとして入力されるとともに、加算器604に入力さ
れる。加算器604は入力された値に1を加算し、その出
力605を2ポートメモリ701への第2のアクセスアドレス
として出力する。第1のアクセスアドレス602に従って
2ポートメモリ701から読み出されたデータ702と第2の
アクセスアドレス605に従って2ポートメモリ701から読
み出されたデータ703は演算回路612に入力され、演算回
路612は2つのデータ702と703と入力アドレス601の小数
部603を用いて補間演算を行い、補間されたデータ613を
出力する。
The operation of the conventional data interpolating apparatus of FIG. 7 configured as above will be described. First, input address 601
The integer part 602 of is input as the first access address to the 2-port memory 701 and is also input to the adder 604. The adder 604 adds 1 to the input value and outputs the output 605 as a second access address to the 2-port memory 701. The data 702 read from the 2-port memory 701 according to the first access address 602 and the data 703 read from the 2-port memory 701 according to the second access address 605 are input to the arithmetic circuit 612, and the arithmetic circuit 612 outputs 2 Interpolation calculation is performed using the two data 702 and 703 and the decimal part 603 of the input address 601, and the interpolated data 613 is output.

【0013】このときデータ702が入力アドレス601を上
回らない整数値のアドレスをもつデータであり、データ
703が入力アドレス601を下回らない整数値のアドレスを
もつデータとなる。このように1つの入力アドレス601
に対して1サイクルのデータの読み出しが行われる。
At this time, the data 702 is data having an integer address that does not exceed the input address 601.
703 is data having an integer-valued address that is not less than the input address 601. Thus one input address 601
Data is read for one cycle.

【0014】[0014]

【発明が解決しようとする課題】しかしながら、図6に
示した構成のデータ補間装置では、1つの入力アドレス
に対して2サイクルのデータの読み出しが必要となり、
入力アドレスの供給と補間されたデータの出力のバラン
スがとれないという問題点があった。
However, in the data interpolating device having the configuration shown in FIG. 6, it is necessary to read data for two cycles for one input address.
There is a problem that the supply of the input address and the output of the interpolated data cannot be balanced.

【0015】また、図7に示した構成のデータ補間装置
では、1つの入力アドレスに対して1サイクルのデータ
読み出しでよいが、2ポートメモリを実現するために必
要な単位容量当たりのトランジスタ数が増大し、メモリ
セルの構造も複雑化するという問題点があった。
Further, in the data interpolating device having the configuration shown in FIG. 7, one cycle of data reading is sufficient for one input address, but the number of transistors per unit capacity required to realize a two-port memory is small. There is a problem that the number of memory cells increases and the structure of the memory cell becomes complicated.

【0016】[0016]

【課題を解決するための手段】上記従来の問題点を解決
するために本発明は、メモリのトランジスタ数やセル構
造を複雑にすることなく、1つの入力アドレスに対して
1サイクルのメモリ読み出しで、補間演算に必要な、入
力アドレスを内包する2つのアドレスをもつ2つのデー
タの補間データ、又は2次元の入力アドレスに対して1
サイクルのメモリ読み出しで入力アドレスを内包する4
つのデータの補間データを生成することができる。
In order to solve the above-mentioned conventional problems, the present invention enables one cycle of memory read for one input address without complicating the number of transistors and cell structure of the memory. , 1 for two-dimensional interpolated data or two-dimensional interpolated data having two addresses that include the input address, which is necessary for the interpolation calculation
Includes input address in cycle memory read 4
Interpolation data of two data can be generated.

【0017】[0017]

【発明の実施の形態】本発明の第1の発明は、n(n>
0)ビットの1次元の整数値アドレスX(=xn-1n-2
…x210)でアドレス付けされたデータのうち、アド
レスの最下位ビットx0が0であるデータを保持し、ア
ドレスの上位(n−1)ビットのアドレスxn-1n-2……
21を用いてアクセスする第1のメモリと、アドレス
の最下位ビットx0が1であるデータを保持し、アドレ
スの上位(n−1)ビットのアドレスxn-1n-2……x2
1を用いてアクセスする第2のメモリと、m(m>0)
ビットの小数部を含む(n+m)ビットの入力アドレスx
n-1n-2……x2101α2……αmに対して整数部
の最下位ビットx0が0のときアドレスxn-1n-2……
21を、x0が1のときxn-1n-2……x21のx1
桁に1を加えた値を前記第1のメモリへのアクセスアド
レスとして出力するとともに、xn-1n-2……x21
前記第2のメモリへのアクセスアドレスとして出力する
アドレス生成回路と、前記アドレス生成回路の出力する
アクセスアドレスに従って前記第1のメモリから読み出
されたデータと前記第2のメモリから読み出されたデー
タと前記入力アドレスの値を用いて演算を行い、その結
果を出力する演算回路とを具備することを特徴としてい
る。
BEST MODE FOR CARRYING OUT THE INVENTION The first invention of the present invention is n (n>
0) one-dimensional integer value address X (= x n-1 x n-2 ...
X 2 x 1 x 0 ) of the data addressed, the data in which the least significant bit x 0 of the address is 0 is held, and the upper (n-1) -bit address x n-1 x n of the address is held. -2 ......
The first memory accessed by using x 2 x 1 and the data in which the least significant bit x 0 of the address is 1 and the upper (n-1) -bit address x n-1 x n-2 ...... x 2
a second memory accessed using x 1 and m (m> 0)
Input address x of (n + m) bits including fractional part of bits
n-1 x n-2 ...... x 2 x 1 x 01 α 2 ...... For α m , when the least significant bit x 0 of the integer part is 0, the address x n-1 x n-2 ......
The x 2 x 1, x 0 and outputs a value obtained by adding 1 to x n-1 x n-2 of ...... x 2 x 1 in x 1 digit when 1 as the access address to the first memory At the same time, an address generation circuit that outputs x n-1 x n-2 ... x 2 x 1 as an access address to the second memory, and an address generation circuit that outputs the address from the first memory It is characterized by comprising an arithmetic circuit for performing an arithmetic operation using the read data, the data read from the second memory and the value of the input address and outputting the result.

【0018】本発明の第2の発明は、n(n>0)ビット
の整数値の第1のアドレスX(=xn-1n-2……x21
0)とk(k>0)ビットの整数値の第2のアドレスY
(=yk-1k-2……y210)の2つのアドレスで2次
元にアドレス付けされたデータのうち、前記第1のアド
レスの最下位ビットx0が0かつ前記第2のアドレスの
最下位ビットy0が0であるデータを保持し、前記第1
のアドレスの上位(n−1)ビットのアドレスxn-1n-2
……x21を第1のアクセスアドレスとし前記第2のア
ドレスの上位(k−1)ビットyk-1k-2……y21を第
2のアクセスアドレスとしてデータをアクセスする第1
のメモリと、前記第1のアドレスの最下位ビットx0
0かつ前記第2のアドレスの最下位ビットy0が1であ
るデータを保持し、前記第1のアドレスの上位(n−1)
ビットのアドレスxn-1n-2……x21を第1のアクセ
スアドレスとし前記第2のアドレスの上位(k−1)ビッ
トyk-1k-2……y21を第2のアクセスアドレスとし
てデータをアクセスする第2のメモリと、前記第1のア
ドレスの最下位ビットx0が1かつ前記第2のアドレス
の最下位ビットy0が0であるデータを保持し、前記第
1のアドレスの上位(n−1)ビットのアドレスxn-1
n-2……x21を第1のアクセスアドレスとし前記第2
のアドレスの上位(k−1)ビットyk-1k-2……y21
を第2のアクセスアドレスとしてデータをアクセスする
第3のメモリと、前記第1のアドレスの最下位ビットx
0が1かつ前記第2のアドレスの最下位ビットy0が1で
あるデータを保持し、前記第1のアドレスの上位(n−
1)ビットのアドレスxn-1n-2……x21を第1のア
クセスアドレスとし前記第2のアドレスの上位(k−1)
ビットyk-1k-2……y21を第2のアクセスアドレス
としてデータをアクセスする第4のメモリと、m(m>
0)ビットの小数部を含む(n+m)ビットの第1の入力
アドレスxn-1n-2……x2101α2……αmに対
して整数部の最下位ビットx0が0のときアドレスxn-1
n-2……x21を、x0が1のときxn-1n-2……x2
1のx1の桁に1を加えた値を前記第1のメモリおよび
第2のメモリへの第1のアクセスアドレスとして出力
し、xn-1n-2……x21を、前記第3のメモリと第4
のメモリへの第1のアクセスアドレスとして出力する第
1のアドレス生成回路と、p(p>0)ビットの小数部を
含む(k+l)ビットの第2の入力アドレスyk-1k-2
…y2101β2……βpに対して整数部の最下位ビ
ットy0が0のときアドレスyk-1k-2……y21を、
0が1のときyk-1k-2……y21のy1の桁に1を加
えた値を前記第1のメモリおよび第3のメモリへの第2
のアクセスアドレスとして出力し、yk-1k-2……y2
1を前記第2のメモリと第4のメモリへの第2のアク
セスアドレスとして出力する第2のアドレス生成回路
と、前記第1および第2のアドレス生成回路の出力する
アクセスアドレスに従って前記第1のメモリから読み出
されたデータと前記第2のメモリから読み出されたデー
タと前記第3のメモリから読み出されたデータと前記第
4のメモリから読み出されたデータと前記第1の入力ア
ドレスの値と前記第2の入力アドレスの値を用いて演算
を行い、その結果を出力する演算回路とを具備すること
を特徴としている。
A second aspect of the present invention is the first address X (= x n-1 x n-2 ... X 2 x 1 ) of an integer value of n (n> 0) bits.
x 0 ) and the second address Y of an integer value of k (k> 0) bits
(= Y k-1 y k-2 ...... y 2 y 1 y 0 ) Of the data two-dimensionally addressed by two addresses, the least significant bit x 0 of the first address is 0 and Holding the data in which the least significant bit y 0 of the second address is 0,
(N-1) -bit address x n-1 x n-2 of the address
...... x 2 x 1 is used as a first access address, and the upper (k-1) bits of the second address y k-1 y k-2 ... y 2 y 1 is used as a second access address to access data. First to do
Memory of which the least significant bit x 0 of the first address is 0 and the least significant bit y 0 of the second address is 1, and the higher order (n-1) of the first address
It said second upper address the address x n-1 x n-2 ...... x 2 x 1 bit and the first access address (k-1) bit y k-1 y k-2 ...... y 2 y A second memory for accessing data with 1 as a second access address, and data holding the least significant bit x 0 of the first address being 1 and the least significant bit y 0 of the second address being 0 and, wherein the first upper address (n-1) address bits x n-1 x
n-2 ...... x 2 x 1 is the first access address and the second
Upper (k-1) bits of the address of y k-1 y k-2 ... y 2 y 1
A second memory for accessing data and a least significant bit x of the first address.
Data in which 0 is 1 and the least significant bit y 0 of the second address is 1 is held, and the high order (n−
1) A bit address x n-1 x n-2 ... x 2 x 1 is used as a first access address, and the higher order of the second address (k-1)
Bit y k-1 y k-2 ... y 2 y 1 is a fourth memory for accessing data with the second access address, and m (m>
0) -bit fractional part (n + m) -bit first input address x n-1 x n-2 ... x 2 x 1 x 01 α 2 ... α m Address x n-1 when lower bit x 0 is 0
x n-2 ...... x 2 x 1 when x 0 is 1 x n-1 x n-2 ...... x 2
The value obtained by adding 1 to the digit of x 1 of x 1 is output as the first access address to the first memory and the second memory, and x n-1 x n-2 ... x 2 x 1 is output. , The third memory and the fourth
A first address generation circuit for outputting as a first access address to the memory and a second input address y k-1 y k-2 of (k + 1) bits including a decimal part of p (p> 0) bits. …
... y 2 y 1 y 01 β 2 ...... β p When the least significant bit y 0 of the integer part is 0, the address y k-1 y k-2 ... y 2 y 1
When y 0 is 1, a value obtained by adding 1 to the digit of y 1 of y k-1 y k-2 ... y 2 y 1 is stored in the second memory to the first memory and the second memory.
Output as the access address of y k-1 y k-2 ...... y 2
A second address generation circuit that outputs y 1 as a second access address to the second memory and the fourth memory, and the first address according to the access addresses output from the first and second address generation circuits. Data read from the memory, the data read from the second memory, the data read from the third memory, the data read from the fourth memory, and the first input. An arithmetic circuit for performing an arithmetic operation using the value of the address and the value of the second input address and outputting the result is provided.

【0019】第1の発明では、1次元にアドレス付けさ
れたデータを補間する場合、小数部をもつある入力アド
レスを内包する整数アドレスをもつ2つのデータとし
て、常に偶数すなわち最下位ビットが0のアドレスをも
つデータと、奇数すなわち最下位ビットが1のアドレス
をもつデータが用いられる。偶数のアドレスをもつデー
タが2つ同時に必要となることはなく、また奇数のアド
レスをもつデータが2つ同時に必要となることもない。
According to the first aspect of the present invention, when interpolating data which is one-dimensionally addressed, two data having an integer address including a certain input address having a fractional part are always even, that is, the least significant bit is 0. Data having an address and data having an address with an odd number, that is, the least significant bit is 1, are used. No two data with even addresses are needed at the same time, and no two data with odd addresses are needed at the same time.

【0020】また第2の発明では同様に2次元にアドレ
ス付けされたデータを補間する場合、小数部をもつある
2つの入力アドレスを内包する整数アドレスをもつ4つ
のデータとして、常に2つの次元の両方のアドレスが偶
数すなわち最下位ビットが0のアドレスをもつデータ
と、第1の次元のアドレスが偶数で第2の次元のアドレ
スが奇数すなわち最下位ビットが1のアドレスをもつデ
ータと、第1の次元のアドレスが奇数で第2の次元のア
ドレスが偶数のアドレスをもつデータと、両方のアドレ
スが奇数のアドレスをもつデータが用いられる。これら
の2次元のアドレスの偶奇の組合せが同じであるアドレ
スをもつデータが2つ以上必要となることはない。
Similarly, in the second invention, when two-dimensionally addressed data is interpolated, four data of two dimensions are always provided as four data having an integer address including two input addresses having a fractional part. Data in which both addresses are even, that is, an address whose least significant bit is 0; data whose addresses in the first dimension are even and whose addresses in the second dimension are odd, that is, whose address is 1 in the least significant bit; Data having odd addresses in the second dimension and even addresses in the second dimension, and data having odd addresses in both addresses are used. It is not necessary to have two or more data having addresses having the same even-odd combination of these two-dimensional addresses.

【0021】従って、ある入力アドレスに対する補間デ
ータを求める場合に同時に必要となることがないアドレ
スをもつデータをグループ化し、複数のメモリに分散し
て格納する。上記第1の発明においては2つのメモリ
に、上記第2の発明においては4つのメモリに格納して
いる。これにより通常の1ポートメモリを用いながら同
時に必要なデータの読み出しを実現し、高速な補間デー
タの生成ができる。
Therefore, when the interpolation data for a certain input address is obtained, data having addresses that are not required at the same time are grouped and stored in a plurality of memories in a distributed manner. In the first invention, the data is stored in two memories, and in the second invention, the data is stored in four memories. As a result, the necessary data can be read at the same time while using a normal 1-port memory, and high-speed interpolation data can be generated.

【0022】次に各本発明の各実施例を図面を用いて詳
細に説明する。
Next, each embodiment of the present invention will be described in detail with reference to the drawings.

【0023】(実施例1)図1は第1の発明における実施
例1のデータ補間装置の構成を示すブロック図である。
図1において、101は整数部nビットと小数部mビット
からなる入力アドレスを、102は入力アドレス101の整数
部nの最下位ビットを除いた(n−1)ビットのアドレス
を、103は入力アドレス101の整数部nの最下位ビット
を、104はアドレス生成回路を、108はアドレス生成回路
104の第1の出力を、109は第1のメモリを、110はアド
レス生成回路104の第2の出力を、111は第2のメモリ
を、112は第1のメモリ109から読み出されたデータを、
113は第2のメモリ111から読み出されたデータを、114
は入力アドレス101の小数部を、115は演算回路を、116
は演算回路115の補間データ出力をそれぞれ示す。
(Embodiment 1) FIG. 1 is a block diagram showing the configuration of a data interpolating apparatus according to Embodiment 1 of the first invention.
In FIG. 1, 101 is an input address consisting of n bits of an integer part and m bits of a decimal part, 102 is an (n-1) -bit address excluding the least significant bit of the integer part n of the input address 101, and 103 is an input. The least significant bit of the integer part n of the address 101, 104 is an address generation circuit, and 108 is an address generation circuit.
The first output of 104, 109 is the first memory, 110 is the second output of the address generation circuit 104, 111 is the second memory, and 112 is the data read from the first memory 109. To
113 indicates the data read from the second memory 111 by 114
Is the fractional part of the input address 101, 115 is the arithmetic circuit, and 116
Indicate the interpolation data output of the arithmetic circuit 115, respectively.

【0024】更にアドレス生成回路104において、105は
加算器を、106は加算器105の出力を、107は(n−1)ビ
ットのアドレス102と加算器105の出力106のいずれかを
選択するセレクタをそれぞれ示す。
Further, in the address generation circuit 104, 105 is an adder, 106 is an output of the adder 105, and 107 is a selector for selecting either the (n-1) -bit address 102 or the output 106 of the adder 105. Are shown respectively.

【0025】以上のように構成された図1のデータ補間
装置の動作を説明する。まず、図示されない手段によっ
て、nビットの整数アドレスでアドレス付けされたデー
タのうち、第1のメモリ109にはアドレスが偶数のデー
タが、第2のメモリ111にはアドレスが奇数のデータが
それぞれ格納されている。これら2つの第1のメモリ10
9および第2のメモリ111は元のnビットのアドレスの最
下位ビットを除いた(n−1)ビットでアクセスされる。
整数部nビット、小数部mビットからなる入力アドレス
101を2進数で、xn-1n-2……x2101α2……
αmとすると、その整数部nのうち最下位ビットx0を除
いた残り(n−1)ビットのアドレス102と整数部nの最
下位ビット103がアドレス生成回路104に入力される。
The operation of the data interpolating apparatus of FIG. 1 configured as above will be described. First, of data addressed by an n-bit integer address by means not shown, first memory 109 stores even-numbered data and second memory 111 stores odd-numbered data. Has been done. These two first memories 10
9 and the second memory 111 are accessed by (n-1) bits excluding the least significant bit of the original n-bit address.
Input address consisting of n bits for the integer part and m bits for the decimal part
101 is a binary number, x n-1 x n-2 ...... x 2 x 1 x 01 α 2 ......
Assuming α m , the address (n−1) bits remaining 102 excluding the least significant bit x 0 of the integer part n and the least significant bit 103 of the integer part n are input to the address generation circuit 104.

【0026】(n−1)ビットのアドレス102はアドレス
生成回路104の加算器105によってその最下位ビットであ
るx1の桁に1が加算される。セレクタ107は入力アドレ
ス101の整数部nの最下位ビット103が0のとき(n−1)
ビットのアドレス102を、また整数部nの最下位ビット1
03が1のとき加算器105の出力106を選択して、アドレス
生成回路104の第1の出力つまりアクセスアドレス108が
第1のメモリ109へのアクセスアドレスとして出力す
る。このアクセスアドレス108が、入力アドレス101を内
包する整数値をもつ2つのアドレスのうちの偶数アドレ
スをもつデータをアクセスするアドレスとなる。
The (n-1) -bit address 102 is added by 1 to the digit of x 1 which is the least significant bit by the adder 105 of the address generation circuit 104. When the least significant bit 103 of the integer part n of the input address 101 is 0, the selector 107 (n-1)
Bit address 102, and the least significant bit 1 of the integer part n
When 03 is 1, the output 106 of the adder 105 is selected, and the first output of the address generation circuit 104, that is, the access address 108 is output as the access address to the first memory 109. The access address 108 is an address for accessing data having an even address of two addresses having an integer value including the input address 101.

【0027】またアドレス生成回路104は(n−1)ビッ
トのアドレス102をそのまま第2の出力つまりアクセス
アドレス110が第2のメモリ111へのアクセスアドレスと
して出力する。このアクセスアドレス110が、入力アド
レス101を内包する整数値をもつ2つのアドレスのうち
の奇数アドレスをもつデータをアクセスするアドレスと
なる。
The address generation circuit 104 outputs the (n-1) -bit address 102 as it is as the second output, that is, the access address 110 as the access address to the second memory 111. This access address 110 becomes an address for accessing data having an odd address of two addresses having an integer value including the input address 101.

【0028】そして、演算回路115は第1のメモリ109か
ら読み出されたデータ112と、第2のメモリ111から読み
出されたデータ113と、入力アドレス101の整数部nの最
下位ビット103と、入力アドレス101の小数部114すなわ
ち0.α1α2……αmなる値を用いて補間演算を行い、補
間データ116を出力する。整数部nの最下位ビット103が
0のとき、データ112が入力アドレス101を上回らない整
数値のアドレスをもつデータであり、データ113が入力
アドレス101を下回らない整数値のアドレスをもつデー
タとなる。また整数部nの最下位ビット103が1のとき
データ113が入力アドレス101を上回らない整数値のアド
レスをもつデータであり、データ112が入力アドレス101
を下回らない整数値のアドレスをもつデータとなる。
The arithmetic circuit 115 then reads the data 112 read from the first memory 109, the data 113 read from the second memory 111, and the least significant bit 103 of the integer part n of the input address 101. , performs interpolation calculation using the fractional portion 114 i.e. 0.α 1 α 2 ...... α m becomes the value of the input address 101, and outputs the interpolated data 116. When the least significant bit 103 of the integer part n is 0, the data 112 is data having an integer value address not exceeding the input address 101, and the data 113 is data having an integer value address not exceeding the input address 101. . Further, when the least significant bit 103 of the integer part n is 1, the data 113 is data having an integer address that does not exceed the input address 101, and the data 112 is the input address 101.
It becomes the data which has the address of the integer value not less than.

【0029】図2は図1に示す演算回路115の一構成例
を示すブロック図である。図2において、図1と同じ機
能をもつ信号やブロックについては共通の参照符号を付
してある。以下、説明のため103は入力アドレス101の整
数部nの最下位ビットx0とする。112は第1のメモリ10
9から読み出されたデータをD1とする。113は第2のメ
モリ111から読み出されたデータをD2とする。114は入
力アドレス101の小数部mをαとする。これらは図1に
示すものと同じである。
FIG. 2 is a block diagram showing a configuration example of the arithmetic circuit 115 shown in FIG. In FIG. 2, signals and blocks having the same functions as those in FIG. 1 are designated by common reference numerals. Hereinafter, for the sake of explanation, 103 is the least significant bit x 0 of the integer part n of the input address 101. 112 is the first memory 10
The data read from 9 is D 1 . 113 designates the data read from the second memory 111 as D 2 . 114 designates the fractional part m of the input address 101 as α. These are the same as those shown in FIG.

【0030】また201は値α114を入力とし値(1−α)を
求める回路を示し、例えば減算回路や2の補数演算回路
で実現する(以下、減算回路と呼ぶ)。202は減算回路201
の出力を、203と204は第1,第2のセレクタを、205は
第1のセレクタ203の出力を、206は第2のセレクタ204
の出力を、207と208は第1,第2の乗算器を、209は第
1の乗算器207の出力を、210は第2の乗算器208の出力
を、211は加算器を、それぞれ示す。
Reference numeral 201 denotes a circuit that receives the value α114 as an input and obtains the value (1-α), which is realized by, for example, a subtraction circuit or a two's complement arithmetic circuit (hereinafter referred to as a subtraction circuit). 202 is the subtraction circuit 201
, 203 and 204 are the first and second selectors, 205 is the output of the first selector 203, and 206 is the second selector 204.
, 207 and 208 are first and second multipliers, 209 is an output of the first multiplier 207, 210 is an output of the second multiplier 208, and 211 is an adder. .

【0031】以上のように構成された図2の演算回路11
5の動作を説明する。第1のセレクタ203は入力アドレス
101の整数部nの最下位ビット103が0のとき値(1−α)
202を、入力アドレス101の整数部nの最下位ビット103
が1のとき値α114を選択する。また第2のセレクタ204
は入力アドレス101の整数部nの最下位ビット103が1の
とき値(1−α)202を、入力アドレス101の整数部nの最
下位ビット103が0のとき値α114を選択する。従って、
第1の乗算器207は整数部nの最下位ビット103が0のと
き値(1−α)202をデータD1に乗じ、整数部nの最下位
ビット103が1のとき値α114をデータD1に乗じる。ま
た、第2の乗算器208は整数部nの最下位ビット103が1
のとき値(1−α)202をデータD2に乗じ、整数部nの最
下位ビット103が0のとき値α114をデータD2に乗じ
る。加算器211は2つの第1,第2の乗算器207,208の
各出力209,210を加算し、整数部nの最下位ビット103
が0のとき加算器211の出力は
The arithmetic circuit 11 of FIG. 2 configured as described above.
The operation of 5 will be described. The first selector 203 is an input address
Value when the least significant bit 103 of the integer part n of 101 is 0 (1-α)
202 is the least significant bit 103 of the integer part n of the input address 101
When is 1, the value α114 is selected. The second selector 204
Selects the value (1-α) 202 when the least significant bit 103 of the integer part n of the input address 101 is 1, and the value α 114 when the least significant bit 103 of the integer part n of the input address 101 is 0. Therefore,
The first multiplier 207 multiplies the data D 1 by the value (1-α) 202 when the least significant bit 103 of the integer part n is 0, and the value α114 when the least significant bit 103 of the integer part n is 1. Multiply by 1 . The second multiplier 208 sets the least significant bit 103 of the integer part n to 1
When multiplied by the value (1-α) 202 to the data D 2, multiplied by the value α114 when the least significant bit 103 of the integer part n is 0 in the data D 2. The adder 211 adds the outputs 209 and 210 of the two first and second multipliers 207 and 208, and outputs the least significant bit 103 of the integer part n.
When is 0, the output of adder 211 is

【0032】[0032]

【数7】(1−α)・D1+α・D2 なる補間データ116が、整数部nの最下位ビット103が1
のとき加算器211の出力は
Equation 7] (1-α) · D 1 + α · D 2 becomes interpolation data 116, the least significant bit 103 of the integer part n is 1
When the output of adder 211 is

【0033】[0033]

【数8】α・D1+(1−α)・D2 なる補間データ116が出力される。[Expression 8] Interpolation data 116 of α · D 1 + (1-α) · D 2 is output.

【0034】以上のように図1および図2に示した実施
例1によれば、補間データの演算に必要なデータを同時
に読み出しながら補間演算が行える。
As described above, according to the first embodiment shown in FIGS. 1 and 2, the interpolation calculation can be performed while simultaneously reading the data necessary for the calculation of the interpolation data.

【0035】(実施例2)図3は第2の発明における実
施例2のデータ補間装置の構成を示すブロック図であ
る。図3において、301は整数部nビットと小数部mビ
ットからなる第1の入力アドレスを、302は第1の入力
アドレス301の整数部nの最下位ビットを除いた(n−
1)ビットのアドレスを、303は第1の入力アドレス301
の整数部の最下位ビットを、304は第1のアドレス生成
回路を、308は第1のアドレス生成回路304の第1の出力
を、309は第1のアドレス生成回路304の第2の出力を、
310は整数部kビットと小数部pビットからなる第2の
入力アドレスを、311は第2の入力アドレス310の整数部
kの最下位ビットを除いた(k−1)ビットのアドレス
を、312は第2の入力アドレス310の整数部kの最下位ビ
ットを、313は第2のアドレス生成回路を、317は第2の
アドレス生成回路313の第1の出力を、318は第2のアド
レス生成回路313の第2の出力を、319は第1のメモリ
を、320は第2のメモリを、321は第3のメモリを、322
は第4のメモリを、323から326は第1のメモリ319から
第4のメモリ322までの4つのメモリから読み出された
データ出力を、327は第1の入力アドレス301の小数部m
を、328は第2の入力アドレス310の小数部pを、329は
演算回路を、330は演算回路329の補間データ出力をそれ
ぞれ示す。
(Embodiment 2) FIG. 3 is a block diagram showing the configuration of a data interpolating apparatus according to Embodiment 2 of the second invention. In FIG. 3, 301 is the first input address consisting of n bits of the integer part and m bits of the decimal part, and 302 is the least significant bit of the integer part n of the first input address 301 (n-
1) bit address, 303 is the first input address 301
The least significant bit of the integer part of, 304 is the first address generation circuit, 308 is the first output of the first address generation circuit 304, and 309 is the second output of the first address generation circuit 304. ,
310 is a second input address consisting of an integer part k bits and a decimal part p bits, 311 is a (k-1) bit address excluding the least significant bit of the integer part k of the second input address 310, 312 Is the least significant bit of the integer part k of the second input address 310, 313 is the second address generation circuit, 317 is the first output of the second address generation circuit 313, and 318 is the second address generation circuit. The second output of the circuit 313, 319 is the first memory, 320 is the second memory, 321 is the third memory, 322
Is the fourth memory, 323 to 326 are the data outputs read from the four memories from the first memory 319 to the fourth memory 322, and 327 is the fractional part m of the first input address 301.
328 is a decimal part p of the second input address 310, 329 is an arithmetic circuit, and 330 is an interpolation data output of the arithmetic circuit 329.

【0036】更に第1のアドレス生成回路304におい
て、305は加算器を、306は加算器305の出力を、307は
(n−1)ビットのアドレス302と加算器305の出力306の
いずれかを選択するセレクタを、それぞれ示す。また、
第2のアドレス生成回路313において、314は加算器を、
315は加算器314の出力を、316は(k−1)ビットのアド
レス311と加算器314の出力315のいずれかを選択するセ
レクタをそれぞれ示す。
Further, in the first address generation circuit 304, 305 is an adder, 306 is the output of the adder 305, and 307 is
The selectors for selecting either the (n-1) -bit address 302 or the output 306 of the adder 305 are shown. Also,
In the second address generation circuit 313, 314 is an adder,
Reference numeral 315 denotes an output of the adder 314, and 316 denotes a selector for selecting either the (k-1) -bit address 311 or the output 315 of the adder 314.

【0037】以上のように構成された図3のデータ補間
装置の動作を説明する。まず、図示されない手段によっ
て、nビットの第1の整数アドレスとkビットの第2の
整数アドレスの2次元のアドレスでアドレス付けされた
データのうち、第1のメモリ319には第1の整数アドレ
スと第2の整数アドレスのいずれも偶数のデータが、第
2のメモリ320には第1の整数アドレスが偶数で第2の
整数アドレスが奇数のデータが、第3のメモリ321には
第1の整数アドレスが奇数で第2の整数アドレスが偶数
のデータが、第4のメモリ322には第1の整数アドレス
と第2の整数アドレスのいずれも奇数のデータが、それ
ぞれ格納されている。
The operation of the data interpolating apparatus of FIG. 3 configured as above will be described. First, of data addressed by a two-dimensional address of an n-bit first integer address and a k-bit second integer address by means not shown, the first integer address is stored in the first memory 319. And the second integer address have even data, the second memory 320 has first even address and the second integer address has odd data, and the third memory 321 has first data. Data in which the integer address is odd and the second integer address is even are stored, and in the fourth memory 322, odd data is stored in both the first integer address and the second integer address.

【0038】これら4つのメモリ319〜322は元のnビッ
トの整数アドレスの最下位ビットを除いた(n−1)ビッ
トのアドレス302とkビットの整数アドレスの最下位ビ
ットを除いた(k−1)ビットのアドレス311の2次元の
アドレスでアクセスされる。
These four memories 319 to 322 exclude the least significant bit of the original n-bit integer address (n-1) -bit address 302 and the least significant bit of the k-bit integer address (k- 1) It is accessed by the two-dimensional address of the bit address 311.

【0039】整数部nビット、小数部mビットの第1の
入力アドレス301を2進数で、xn-1n-2……x2
101α2……αmとすると、その整数部nのうち最下
位ビットx0を除いた残り(n−1)ビットのアドレス302
と整数部nの最下位ビット303が第1のアドレス生成回
路304に入力される。(n−1)ビットのアドレス302は第
1のアドレス生成回路304の加算器305によってその最下
位ビットであるx1の桁に1が加算される。セレクタ307
は第1の入力アドレス301の整数部nの最下位ビット303
が0のとき(n−1)ビットのアドレス302を、また最下
位ビット303が1のとき加算器305の出力306を選択し
て、第1のアドレス生成回路304の第1の出力308すなわ
ち第1のメモリ319および第2のメモリ320への第1のア
クセスアドレスとしてそれぞれ出力する。
The first input address 301 having n bits for the integer part and m bits for the fractional part is expressed in binary as x n-1 x n-2 ... x 2 x
1 x 01 α 2 ...... α m , the address 302 of the remaining (n-1) bits except the least significant bit x 0 of the integer part n
And the least significant bit 303 of the integer part n is input to the first address generation circuit 304. The (n-1) -bit address 302 is added by 1 to the digit of the least significant bit x 1 by the adder 305 of the first address generation circuit 304. Selector 307
Is the least significant bit 303 of the integer part n of the first input address 301
Is selected to be the (n-1) -bit address 302, and the least significant bit 303 is selected to be the output 306 of the adder 305 to select the first output 308 of the first address generation circuit 304, that is, the first output 308. It is output as a first access address to the first memory 319 and the second memory 320, respectively.

【0040】この第1のアクセスアドレス308が、第1
の入力アドレス301を内包する整数値をもつ2つのアド
レスのうちの偶数アドレスをもつデータをアクセスする
アドレスとなる。またアドレス生成回路304は(n−1)
ビットのアドレス302をそのまま第2の出力309すなわち
第3のメモリ321および第4のメモリ322への第1のアク
セスアドレスとして出力する。この第1のアクセスアド
レス309が、第1の入力アドレス301を内包する整数値を
もつ2つのアドレスのうちの奇数アドレスをもつデータ
をアクセスするアドレスとなる。
This first access address 308 is the first
Of the two addresses having an integer value including the input address 301 of FIG. Further, the address generation circuit 304 is (n-1)
The bit address 302 is output as it is as the second output 309, that is, as the first access address to the third memory 321 and the fourth memory 322. This first access address 309 becomes an address for accessing data having an odd address of two addresses having an integer value including the first input address 301.

【0041】一方、整数部kビット、小数部pビットの
第2の入力アドレス310を2進数で、yk-1k-2……y2
101β2……βpとすると、その整数部kのうち最
下位ビットy0を除いた残り(k−1)ビットのアドレス3
11と整数部kの最下位ビット312が第2のアドレス生成
回路313に入力される。(k−1)ビットのアドレス311は
第2のアドレス生成回路313の加算器314によってその最
下位ビットであるy1の桁に1が加算される。セレクタ3
16は第2の入力アドレス310の整数部kの最下位ビット3
12が0のとき(k−1)ビットのアドレス311を、また整
数部kの最下位ビット312が1のとき加算器314の出力31
5を選択して、第2のアドレス生成回路313の第1の出力
317すなわち第1のメモリ319および第3のメモリ321へ
の第2のアクセスアドレスとして出力する。
On the other hand, the second input address 310 having an integer part of k bits and a decimal part of p bits is represented by a binary number y k-1 y k- 2.
Let y 1 y 01 β 2 ...... β p be the address (3) of the remaining (k-1) bits except the least significant bit y 0 of the integer part k.
11 and the least significant bit 312 of the integer part k are input to the second address generation circuit 313. The (k-1) -bit address 311 is added to the digit of the least significant bit y 1 by the adder 314 of the second address generation circuit 313. Selector 3
16 is the least significant bit 3 of the integer part k of the second input address 310
When 12 is 0, the (k-1) -bit address 311 is output, and when the least significant bit 312 of the integer part k is 1, the output 31 of the adder 314
Select 5 to output the first output of the second address generation circuit 313.
317, that is, the second access address to the first memory 319 and the third memory 321 is output.

【0042】この第2のアクセスアドレス317が、第2
の入力アドレス310を内包する整数値をもつ2つのアド
レスのうちの偶数アドレスをもつデータをアクセスする
アドレスとなる。また第2のアドレス生成回路313は(k
−1)ビットのアドレス311をそのまま第2の出力318す
なわち第2のメモリ320および第4のメモリ322への第2
のアクセスアドレスとして出力する。この第2のアクセ
スアドレス318が、第2の入力アドレス310を内包する整
数値をもつ2つのアドレスのうちの奇数アドレスをもつ
データをアクセスするアドレスとなる。
This second access address 317 is the second
Of the two addresses having an integer value including the input address 310 of the above is an address for accessing data having an even address. In addition, the second address generation circuit 313 outputs (k
-1) The bit address 311 is directly transmitted to the second output 318, that is, the second memory 320 and the second memory 322.
Output as the access address of. The second access address 318 becomes the address for accessing the data having the odd address of the two addresses having the integer value including the second input address 310.

【0043】演算回路329は第1のメモリ319から読み出
されたデータ323と、第2のメモリ320から読み出された
データ324と、第3のメモリ321から読み出されたデータ
325と、第4のメモリ322から読み出されたデータ326
と、第1の入力アドレス301の整数部nの最下位ビット3
03と、第1の入力アドレス301の小数部327すなわち0.
α1α2……αmなる値と、第2の入力アドレス310の整数
部kの最下位ビット312と、第2の入力アドレス310の小
数部328すなわち0.β1β2……βpなる値とを用いて補
間演算を行い、補間データ330を出力する。
The arithmetic circuit 329 reads the data 323 read from the first memory 319, the data 324 read from the second memory 320, and the data read from the third memory 321.
325 and data 326 read from the fourth memory 322
And the least significant bit 3 of the integer part n of the first input address 301
03 and the decimal part 327 of the first input address 301, that is, 0.
α 1 α 2 ...... α m , the least significant bit 312 of the integer part k of the second input address 310, and the fractional part 328 of the second input address 310, that is, β 1 β 2 ...... β p And the interpolated data 330 are output.

【0044】整数部nの最下位ビット303が0のとき、
第1のメモリ319のデータ323および第2のメモリ320の
データ324が第1の入力アドレス301を上回らない第1の
整数値のアドレスをもつデータであり、第3のメモリ32
1のデータ325および第4のメモリ322のデータ326が第1
の入力アドレス301を下回らない第1の整数値のアドレ
スをもつデータとなる。
When the least significant bit 303 of the integer part n is 0,
The data 323 of the first memory 319 and the data 324 of the second memory 320 are data having an address of a first integer value which does not exceed the first input address 301, and the third memory 32
The data 325 of 1 and the data 326 of the fourth memory 322 are the first
Data having the first integer value address that is not less than the input address 301 of

【0045】また、整数部nの最下位ビット303が1の
とき、第1のメモリ319のデータ323および第2のメモリ
320のデータ324が第1の入力アドレス301を下回らない
第1の整数値のアドレスをもつデータであり、第3のメ
モリ321のデータ325および第4のメモリ322のデータ326
が第1の入力アドレス301を上回らない第1の整数値の
アドレスをもつデータとなる。
When the least significant bit 303 of the integer part n is 1, the data 323 of the first memory 319 and the second memory 323 are stored.
The data 324 of 320 is data having a first integer-valued address that is not lower than the first input address 301, and the data 325 of the third memory 321 and the data 326 of the fourth memory 322.
Is data having a first integer address that does not exceed the first input address 301.

【0046】また、整数部kの最下位ビット312が0の
とき、第1のメモリ319のデータ323および第3のメモリ
321のデータ325が第2の入力アドレス310を上回らない
第2の整数値のアドレスをもつデータであり、第2のメ
モリ320のデータ324および第4のメモリ322のデータ326
が第2の入力アドレス310を下回らない第2の整数値の
アドレスをもつデータとなる。
When the least significant bit 312 of the integer part k is 0, the data 323 in the first memory 319 and the third memory
The data 325 of 321 is data having a second integer value address that does not exceed the second input address 310, and the data 324 of the second memory 320 and the data 326 of the fourth memory 322.
Becomes data having an address of a second integer value which is not lower than the second input address 310.

【0047】また、整数部kの最下位ビット312が1の
とき、第1のメモリ319のデータ323および第3のメモリ
321のデータ325が第2の入力アドレス310を下回らない
第2の整数値のアドレスをもつデータであり、第2のメ
モリ320のデータ324および第4のメモリ322のデータ326
が第2の入力アドレス310を上回らない第2の整数値の
アドレスをもつデータとなる。
When the least significant bit 312 of the integer part k is 1, the data 323 of the first memory 319 and the third memory
The data 325 of 321 is data having a second integer value address not lower than the second input address 310, and the data 324 of the second memory 320 and the data 326 of the fourth memory 322.
Becomes data having an address of a second integer value which does not exceed the second input address 310.

【0048】図4は図3に示す演算回路329の一構成例
を示すブロック図である。図4において、300番台の符
号を付した構成要素および信号は図3に示すものと同じ
である。ここで401,403および405はそれぞれ図3に示
した演算回路329の全体と同じものである。402は第1の
演算回路401の出力を、404は第2の演算回路403の出力
を、それぞれ示す。また406は第3の演算回路405の出力
であり、図4の演算回路329の全体の出力330でもある。
FIG. 4 is a block diagram showing a configuration example of the arithmetic circuit 329 shown in FIG. In FIG. 4, components and signals denoted by reference numerals in the 300s are the same as those shown in FIG. Here, 401, 403 and 405 are the same as the whole of the arithmetic circuit 329 shown in FIG. Reference numeral 402 denotes the output of the first arithmetic circuit 401, and 404 the output of the second arithmetic circuit 403. Further, 406 is the output of the third arithmetic circuit 405, and is also the overall output 330 of the arithmetic circuit 329 of FIG.

【0049】以上のように構成された図4の演算回路の
動作を説明する。まず、図3に示す第1のメモリ319か
ら読み出されたデータ323をD1、同じく第2のメモリ32
0から読み出されたデータ324をD2、同じく第3のメモ
リ321から読み出されたデータ325をD3、同じく第4の
メモリ322から読み出されたデータ326をD4、第1の入
力アドレス301の小数部327をα(=0.α1α2……αm)、
第2の入力アドレス310の小数部328をβ(=0.β1β2
…βp)とする。
The operation of the arithmetic circuit of FIG. 4 configured as above will be described. First, the data 323 read from the first memory 319 shown in FIG. 3 D 1, also the second memory 32
The data 324 read from 0 is D 2 , the data 325 also read from the third memory 321, D 3 , the data 326 read from the fourth memory 322 is D 4 , and the first input The decimal part 327 of the address 301 is α (= 0.α 1 α 2 ...... α m ),
The decimal part 328 of the second input address 310 is set to β (= 0.β 1 β 2 ...
… Β p ).

【0050】既に図3の演算回路の実施例2で説明した
ように、第1の入力アドレス301の整数部nの最下位ビ
ット303が0のとき第1の演算回路401は
As already described in the second embodiment of the arithmetic circuit of FIG. 3, when the least significant bit 303 of the integer part n of the first input address 301 is 0, the first arithmetic circuit 401

【0051】[0051]

【数9】(1−α)・D1+α・D3 なる値を出力し、整数部nの最下位ビット303が1のと
[Expression 9] (1-α) · D 1 + α · D 3 is output, and the least significant bit 303 of the integer part n is 1

【0052】[0052]

【数10】α・D1+(1−α)・D3 なる値を出力する。[Expression 10] A value of α · D 1 + (1-α) · D 3 is output.

【0053】また、第1の入力アドレス301の整数部n
の最下位ビット303が0のとき第2の演算回路403は
The integer part n of the first input address 301
When the least significant bit 303 of is 0, the second arithmetic circuit 403

【0054】[0054]

【数11】(1−α)・D2+α・D4 なる値を出力し、整数部nの最下位ビット303が1のと
[Expression 11] (1-α) · D 2 + α · D 4 is output, and the least significant bit 303 of the integer part n is 1

【0055】[0055]

【数12】α・D2+(1−α)・D4 なる値を出力する。ここで、出力402をD5、出力404を
6としたとき、第2の入力アドレス310の整数部kの最
下位ビット312が0のとき第3の演算回路405は
[Equation 12] The value α · D 2 + (1-α) · D 4 is output. Here, when the output 402 is D 5 and the output 404 is D 6 , when the least significant bit 312 of the integer part k of the second input address 310 is 0, the third arithmetic circuit 405

【0056】[0056]

【数13】(1−β)・D5+β・D なる値を出力し、整数部kの最下位ビット312が1の
とき
[Expression 13] (1-β) · D 5 + β · D 6 is output, and the least significant bit 312 of the integer part k is 1.

【0057】[0057]

【数14】β・D5+(1−β)・D6 なる値を出力406する。[Expression 14] A value of β · D 5 + (1−β) · D 6 is output 406.

【0058】以上をまとめると、第1の入力アドレス30
1の整数部nの最下位ビット303が0かつ第2の入力アド
レス310の整数部kの最下位ビット312が0のとき、
Summarizing the above, the first input address 30
When the least significant bit 303 of the integer part n of 1 is 0 and the least significant bit 312 of the integer part k of the second input address 310 is 0,

【0059】[0059]

【数15】(1−β)・{(1−α)・D1+α・D3}+β
・{(1−α)・D2+α・D4} なる補間データが、第1の入力アドレス301の整数部n
の最下位ビット303が0かつ第2の入力アドレス301の整
数部kの最下位ビット312が1のとき、
[Equation 15] (1-β) · {(1-α) · D 1 + α · D 3 } + β
The interpolation data of {(1-α) · D 2 + α · D 4 } is the integer part n of the first input address 301.
When the least significant bit 303 of is 0 and the least significant bit 312 of the integer part k of the second input address 301 is 1,

【0060】[0060]

【数16】β・{(1−α)・D1+α・D3}+(1−β)
・{(1−α)・D2+α・D4} なる補間データが、第1の入力アドレス301の整数部n
の最下位ビット303が1かつ第2の入力アドレス310の整
数部kの最下位ビット312が0のとき、
[Formula 16] β ・ {(1-α) ・ D 1 + α ・ D 3 } + (1-β)
The interpolation data of {(1-α) · D 2 + α · D 4 } is the integer part n of the first input address 301.
When the least significant bit 303 of is 1 and the least significant bit 312 of the integer part k of the second input address 310 is 0,

【0061】[0061]

【数17】(1−β)・{α・D1+(1−α)・D3}+β
・{α・D2+(1−α)・D4} なる補間データが、第1の入力アドレス301の整数部n
の最下位ビット303が1かつ第2の入力アドレス310の整
数部kの最下位ビット312が1のとき、
[Expression 17] (1-β) · {α · D 1 + (1-α) · D 3 } + β
Interpolation data of {α · D 2 + (1-α) · D 4 } is the integer part n of the first input address 301.
When the least significant bit 303 of is 1 and the least significant bit 312 of the integer part k of the second input address 310 is 1,

【0062】[0062]

【数18】β・{α・D1+(1−α)・D3}+(1−β)
・{α・D2+(1−α)・D4} なる補間データがそれぞれ出力406として図4の演算回
路から出力される。
[Formula 18] β · {α · D 1 + (1-α) · D 3 } + (1-β)
Interpolated data of {α · D 2 + (1-α) · D 4 } is output from the arithmetic circuit of FIG. 4 as the output 406.

【0063】以上のように図3および図4に示した実施
例2によれば、補間データの演算に必要なデータを同時
に読み出しながら補間演算が行える。
As described above, according to the second embodiment shown in FIGS. 3 and 4, the interpolation calculation can be performed while simultaneously reading the data necessary for the calculation of the interpolation data.

【0064】図5は図3に示す演算回路329の別の構成
例を示すブロック図である。図5において、300番台の
符号を付した構成要素および信号は図3に示すものと同
じである。ここで、501,503および505はそれぞれ図3
に示した演算回路329の全体と同じものである。502は第
1の演算回路501の出力を、504は第2の演算回路503の
出力を示す。また506は第3の演算回路505の出力であ
り、図5の演算回路329の全体の出力330でもある。
FIG. 5 is a block diagram showing another configuration example of the arithmetic circuit 329 shown in FIG. In FIG. 5, components and signals denoted by reference numerals in the 300s are the same as those shown in FIG. Here, 501, 503 and 505 are respectively shown in FIG.
This is the same as the entire arithmetic circuit 329 shown in FIG. 502 indicates the output of the first arithmetic circuit 501, and 504 indicates the output of the second arithmetic circuit 503. Also, 506 is the output of the third arithmetic circuit 505, and is also the overall output 330 of the arithmetic circuit 329 of FIG.

【0065】以上のように構成された図5の演算回路の
動作を説明する。まず、図3に示す第1のメモリ319か
ら読み出されたデータ323をD1、同じく第2のメモリ32
0から読み出されたデータ324をD2、同じく第3のメモ
リ321から読み出されたデータ325をD3、同じく第4の
メモリ322から読み出されたデータ326をD4、第1の入
力アドレス301の小数部327をα(=0.α1α2……αm)、
第2の入力アドレス310の小数部328をβ(=0.β1β2
…βp)とする。
The operation of the arithmetic circuit of FIG. 5 configured as above will be described. First, the data 323 read from the first memory 319 shown in FIG. 3 D 1, also the second memory 32
The data 324 read from 0 is D 2 , the data 325 also read from the third memory 321, D 3 , the data 326 read from the fourth memory 322 is D 4 , and the first input The decimal part 327 of the address 301 is α (= 0.α 1 α 2 ...... α m ),
The decimal part 328 of the second input address 310 is set to β (= 0.β 1 β 2 ...
… Β p ).

【0066】既に図3の演算回路の実施例2で説明した
ように、第2の入力アドレス310の整数部kの最下位ビ
ット312が0のとき第1の演算回路501は
As already described in the second embodiment of the arithmetic circuit of FIG. 3, when the least significant bit 312 of the integer part k of the second input address 310 is 0, the first arithmetic circuit 501

【0067】[0067]

【数19】(1−β)・D1+β・D2 なる値を出力し、整数部kの最下位ビット312が1のと
When the value of (1-β) · D 1 + β · D 2 is output and the least significant bit 312 of the integer part k is 1,

【0068】[0068]

【数20】β・D1+(1−β)・D2 なる値を出力する。また、第2の入力アドレス310の整
数部kの最下位ビット312が0のとき第2の演算回路503
[Expression 20] A value of β · D 1 + (1-β) · D 2 is output. When the least significant bit 312 of the integer part k of the second input address 310 is 0, the second arithmetic circuit 503
Is

【0069】[0069]

【数21】(1−β)・D3+β・D4 なる値を出力し、最下位ビット312が1のとき[Expression 21] When the value of (1-β) · D 3 + β · D 4 is output and the least significant bit 312 is 1,

【0070】[0070]

【数22】β・D3+(1−β)・D4 なる値を出力する。ここで、出力502をD5、出力504を
6としたとき、第1の入力アドレス301の整数部nの最
下位ビット303が0のとき第3の演算回路505は
[Equation 22] A value of β · D 3 + (1-β) · D 4 is output. Here, when the output 502 is D 5 and the output 504 is D 6 , when the least significant bit 303 of the integer part n of the first input address 301 is 0, the third arithmetic circuit 505

【0071】[0071]

【数23】(1−α)・D5+α・D6 なる値を出力し、整数部nの最下位ビット303が1のと
(23) When the value (1-α) · D 5 + α · D 6 is output and the least significant bit 303 of the integer part n is 1

【0072】[0072]

【数24】α・D5+(1−α)・D6 なる値を出力する。[Expression 24] The value α · D 5 + (1-α) · D 6 is output.

【0073】以上をまとめると、第1の入力アドレス30
1の整数部nの最下位ビット303が0かつ第2の入力アド
レス310の整数部kの最下位ビット312が0のとき、
In summary, the first input address 30
When the least significant bit 303 of the integer part n of 1 is 0 and the least significant bit 312 of the integer part k of the second input address 310 is 0,

【0074】[0074]

【数25】(1−β)・{(1−α)・D1+α・D3}+β
・{(1−α)・D2+α・D4} なる補間データが、第1の入力アドレス301の整数部n
の最下位ビット303が0かつ第2の入力アドレス310の整
数部kの最下位ビット312が1のとき、
[Expression 25] (1-β) · {(1-α) · D 1 + α · D 3 } + β
The interpolation data of {(1-α) · D 2 + α · D 4 } is the integer part n of the first input address 301.
When the least significant bit 303 of 0 is 0 and the least significant bit 312 of the integer part k of the second input address 310 is 1,

【0075】[0075]

【数26】β・{(1−α)・D1+α・D3}+(1−β)
・{(1−α)・D2+α・D4} なる補間データが、第1の入力アドレス301の整数部n
の最下位ビット303が1かつ第2の入力アドレス310の整
数部kの最下位ビット312が0のとき、
[Equation 26] β · {(1-α) · D 1 + α · D 3 } + (1-β)
The interpolation data of {(1-α) · D 2 + α · D 4 } is the integer part n of the first input address 301.
When the least significant bit 303 of is 1 and the least significant bit 312 of the integer part k of the second input address 310 is 0,

【0076】[0076]

【数27】(1−β)・{α・D1+(1−α)・D3}+β
・{α・D2+(1−α)・D4} なる補間データが、第1の入力アドレス301の整数部n
の最下位ビット303が1かつ第2の入力アドレス310の整
数部kの最下位ビット312が1のとき、
(27) (1-β) ・ {α ・ D 1 + (1-α) ・ D 3 } + β
Interpolation data of {α · D 2 + (1-α) · D 4 } is the integer part n of the first input address 301.
When the least significant bit 303 of is 1 and the least significant bit 312 of the integer part k of the second input address 310 is 1,

【0077】[0077]

【数28】β・{α・D1+(1−α)・D3}+(1−β)
・{α・D2+(1−α)・D4} なる補間データが、それぞれ出力506として図5の演算
回路から出力される。
[Equation 28] β · {α · D 1 + (1-α) · D 3 } + (1-β)
Interpolated data of {α · D 2 + (1-α) · D 4 } is output from the arithmetic circuit of FIG. 5 as the output 506.

【0078】以上のように図3および図5に示した実施
例2によれば、補間データの演算に必要なデータを同時
に読み出しながら補間演算が行える。
As described above, according to the second embodiment shown in FIGS. 3 and 5, the interpolation calculation can be performed while simultaneously reading the data necessary for the calculation of the interpolation data.

【0079】なお、上記の各実施例1,2においてメモ
リに格納されるデータはスカラー値として図示または説
明したが、必ずしもこの限りではない。メモリに格納さ
れるデータがベクトル量の場合、演算回路において使用
する加算器を入力されたベクトルの対応する要素同士を
加算するベクトル加算器に、また乗算器を入力されたベ
クトルの各要素にスカラー値を乗算するベクトル乗算器
に置き換えればよい。
Although the data stored in the memory is illustrated or described as a scalar value in each of the first and second embodiments, the present invention is not limited to this. If the data stored in memory is a vector quantity, the adder used in the arithmetic circuit is added to the vector adder that adds the corresponding elements of the input vector, and the multiplier is added to each element of the input vector. It may be replaced with a vector multiplier that multiplies the values.

【0080】[0080]

【発明の効果】以上説明したように本発明によれば、メ
モリのトランジスタ数やセル構造を複雑にすることな
く、1つの入力アドレスに対して1サイクルのメモリ読
み出しで、入力アドレスを内包するアドレスをもつ2つ
のデータの補間データ、または2次元の入力アドレスに
対して1サイクルのメモリ読み出しで、入力アドレスを
内包する4つのデータの補間データを生成することがで
きる。このように補間データの演算に必要なデータを同
時に読み出しながら補間演算を行うことができる。
As described above, according to the present invention, an address including an input address can be read by one cycle of memory reading for one input address without complicating the number of transistors and cell structure of the memory. It is possible to generate interpolation data of four data including the input address, by interpolating data of two data having one or two-dimensional input address by one-cycle memory reading. In this way, the interpolation calculation can be performed while simultaneously reading the data required for the calculation of the interpolation data.

【図面の簡単な説明】[Brief description of the drawings]

【図1】第1の発明における実施例1のデータ補間装置
の構成を示すブロック図である。
FIG. 1 is a block diagram showing a configuration of a data interpolation device according to a first embodiment of the first invention.

【図2】図1に示す演算回路の一構成例を示すブロック
図である。
FIG. 2 is a block diagram showing a configuration example of an arithmetic circuit shown in FIG.

【図3】第2の発明における実施例2のデータ補間装置
の構成を示すブロック図である。
FIG. 3 is a block diagram showing a configuration of a data interpolating device according to a second embodiment of the second invention.

【図4】図3に示す演算回路の一構成を示すブロック図
である。
FIG. 4 is a block diagram showing a configuration of an arithmetic circuit shown in FIG.

【図5】図3に示す演算回路の別の構成例を示すブロッ
ク図である。
5 is a block diagram showing another configuration example of the arithmetic circuit shown in FIG.

【図6】従来のデータ補間装置の構成を示すブロック図
である。
FIG. 6 is a block diagram showing a configuration of a conventional data interpolation device.

【図7】従来のデータ補間装置の別の構成を示すブロッ
ク図である。
FIG. 7 is a block diagram showing another configuration of a conventional data interpolation device.

【符号の説明】[Explanation of symbols]

101…整数部nビットと小数部mビットからなる入力ア
ドレス、 102…入力アドレスの整数部の最下位ビット
を除いた(n−1)ビットのアドレス、 103…入力アド
レスの整数部の最下位ビット、 104…アドレス生成回
路、 105,211,305,314…加算器、 106,306,315
…加算器の出力、 107,307,316…セレクタ、 108…
アドレス生成回路の第1の出力、 109,319…第1のメ
モリ、 110…アドレス生成回路の第2の出力、 111,
320…第2のメモリ、 112…第1のメモリからの読み出
しデータ、 113…第2のメモリからの読み出しデー
タ、 114…入力アドレスの小数部、 115,329…演算
回路、 116,330…演算回路の出力、 201…減算回路
または補数演算回路、 202…減算回路または補数演算
回路の出力、 203…第1のセレクタ、 204…第2のセ
レクタ、 205…第1のセレクタの出力、 206…第2の
セレクタの出力、 207…第1の乗算器、 208…第2の
乗算器、 209…第1の乗算器の出力、 210…第2の乗
算器の出力、 301…整数部nビットと小数部mビット
からなる第1の入力アドレス、 302…第1の入力アド
レスの整数部の最下位ビットを除いた(n−1)ビットの
アドレス、303…第1の入力アドレスの整数部の最下位
ビット、 304…第1のアドレス生成回路、 308…第1
のアドレス生成回路の第1の出力、 309…第1のアド
レス生成回路の第2の出力、 310…整数部kビットと
小数部pビットからなる第2の入力アドレス、 311…
第2の入力アドレスの整数部の最下位ビットを除いた
(k−1)ビットのアドレス、 312…第2の入力アドレ
スの整数部の最下位ビット、313…第2のアドレス生成
回路、 317…第2のアドレス生成回路の第1の出力、
318…第2のアドレス生成回路の第2の出力、 321…
第3のメモリ、 322…第4のメモリ、 323…第1のメ
モリから読み出されたデータ、 324…第2のメモリか
ら読み出されたデータ、 325…第3のメモリから読み
出されたデータ、 326…第4のメモリから読み出され
たデータ、 327…第1の入力アドレスの小数部、 328
…第2の入力アドレスの小数部、 401,501…第1の演
算回路、402,502…第1の演算回路の出力、 403,503
…第2の演算回路、 404,405…第2の演算回路の出
力、 405,505第3の演算回路、 406,506…第3の演
算回路の出力。
101 ... Input address consisting of n bits of integer part and m bits of decimal part, 102 ... (n-1) bit address excluding the least significant bit of integer part of input address, 103 ... Least significant bit of integer part of input address , 104 ... Address generation circuit, 105, 211, 305, 314 ... Adder, 106, 306, 315
… Adder output, 107, 307, 316… Selector, 108…
First output of address generation circuit, 109, 319 ... First memory, 110 ... Second output of address generation circuit, 111,
320 ... second memory, 112 ... read data from first memory, 113 ... read data from second memory, 114 ... fractional part of input address, 115, 329 ... arithmetic circuit, 116, 330 ... arithmetic circuit 201 ... Subtraction circuit or complement arithmetic circuit, 202 ... Subtraction circuit or complement arithmetic circuit output, 203 ... First selector, 204 ... Second selector, 205 ... First selector output, 206 ... Second Output of selector of 207, first multiplier, 208, second multiplier, 209, output of first multiplier, 210, output of second multiplier, 301, integer n bits and fractional part First input address consisting of m bits 302 ... (n-1) -bit address excluding the least significant bit of the integer part of the first input address 303 ... Least significant bit of the integer part of the first input address , 304 ... first address generation circuit, 308 ... first
First output of the address generating circuit of 309 ..., Second output of the first address generating circuit of 310, Second input address consisting of k bits of integer part and p bits of decimal part, 311 ...
Removed the least significant bit of the integer part of the second input address
(k-1) -bit address, 312 ... least significant bit of integer part of second input address, 313 ... second address generation circuit, 317 ... first output of second address generation circuit,
318 ... Second output of second address generation circuit, 321 ...
Third memory, 322 ... Fourth memory, 323 ... Data read from first memory, 324 ... Data read from second memory, 325 ... Data read from third memory , 326 ... Data read from the fourth memory, 327 ... Fractional part of the first input address, 328
... Second input address decimal part, 401,501 ... First arithmetic circuit, 402,502 ... First arithmetic circuit output, 403,503
... second arithmetic circuit, 404, 405 ... output of second arithmetic circuit, 405, 505 third arithmetic circuit, 406, 506 ... output of third arithmetic circuit.

Claims (4)

【特許請求の範囲】[Claims] 【請求項1】 n(n>0)ビットの1次元の整数値アド
レスX(=xn-1n-2……x210)でアドレス付けさ
れたデータのうち、アドレスの最下位ビットx0が0で
あるデータを保持し、アドレスの上位(n−1)ビットの
アドレスxn-1n-2……x21を用いてアクセスする第
1のメモリと、アドレスの最下位ビットx0が1である
データを保持し、アドレスの上位(n−1)ビットのアド
レスxn-1n-2……x21を用いてアクセスする第2の
メモリと、m(m>0)ビットの小数部を含む(n+m)ビ
ットの入力アドレスxn-1n-2……x2101α2
…αmに対して整数部の最下位ビットx0が0のときアド
レスxn-1n-2……x21を、x0が1のときxn-1
n-2……x21のx1の桁に1を加えた値を前記第1のメ
モリへのアクセスアドレスとして出力するとともに、x
n-1n-2……x21を前記第2のメモリへのアクセスア
ドレスとして出力するアドレス生成回路と、前記アドレ
ス生成回路の出力するアクセスアドレスに従って前記第
1のメモリから読み出されたデータと前記第2のメモリ
から読み出されたデータと前記入力アドレスの値を用い
て演算を行い、その結果を出力する演算回路とを具備す
ることを特徴とするデータ補間装置。
1. Among data addressed by n (n> 0) -bit one-dimensional integer value address X (= x n-1 x n-2 ... X 2 x 1 x 0 ), the least significant bit x 0 holds the data is 0, the first memory to be accessed using the upper (n-1) address bits x n-1 x n-2 ...... x 2 x 1 address, A second memory which holds data in which the least significant bit x 0 of the address is 1 and is accessed by using the address x n-1 x n-2 ... x 2 x 1 of the upper (n-1) bits of the address And an input address of (n + m) bits including a fractional part of m (m> 0) bits x n-1 x n-2 ... x 2 x 1 x 01 α 2 ...
... alpha least significant bit x 0 of the integer part of the address x n-1 x n-2 ...... x 2 x 1 when 0 for m, when x 0 is 1 x n-1 x
n-2 ... The value obtained by adding 1 to the digit of x 1 of x 2 x 1 is output as the access address to the first memory, and x
n-1 x n-2 ... x 2 x 1 is output from the first memory according to an address generation circuit that outputs the access address to the second memory, and an access address output from the address generation circuit. And a data read from the second memory and a value of the input address, and a calculation circuit that outputs the calculation result.
【請求項2】 前記演算回路は、前記アドレス生成回路
の出力するアクセスアドレスに従って前記第1のメモリ
から読み出されたデータD1と前記第2のメモリから読
み出されたデータD2と前記入力アドレスの小数部の値
α(=0.α1α2……αm)を用いて、前記入力アドレスの
整数部の最下位ビットx0が0のとき、 【数1】(1−α)・D1+α・D2 なる演算を行い、x0が1のとき、 【数2】α・D1+(1−α)・D2 なる演算を行うことを特徴とする請求項1記載のデータ
補間装置。
2. The arithmetic circuit inputs the data D 1 read from the first memory, the data D 2 read from the second memory, and the input according to an access address output from the address generation circuit. When the least significant bit x 0 of the integer part of the input address is 0, using the value α (= 0.α 1 α 2 ... α m ) of the fractional part of the address, the following equation (1) (1-α) The calculation of D 1 + α · D 2 is performed, and when x 0 is 1, the calculation of α · D 1 + (1-α) · D 2 is performed. Data interpolator.
【請求項3】 n(n>0)ビットの整数値の第1のアド
レスX(=xn-1n-2……x210)とk(k>0)ビッ
トの整数値の第2のアドレスY(=yk-1k-2……y2
10)の2つのアドレスで2次元にアドレス付けされた
データのうち、前記第1のアドレスの最下位ビットx0
が0かつ前記第2のアドレスの最下位ビットy0が0で
あるデータを保持し、前記第1のアドレスの上位(n−
1)ビットのアドレスxn-1n-2……x21を第1のア
クセスアドレスとし前記第2のアドレスの上位(k−1)
ビットyk-1k-2……y21を第2のアクセスアドレス
としてデータをアクセスする第1のメモリと、前記第1
のアドレスの最下位ビットx0が0かつ前記第2のアド
レスの最下位ビットy0が1であるデータを保持し、前
記第1のアドレスの上位(n−1)ビットのアドレスx
n-1n-2……x21を第1のアクセスアドレスとし前記
第2のアドレスの上位(k−1)ビットyk-1k-2……y
21を第2のアクセスアドレスとしてデータをアクセス
する第2のメモリと、前記第1のアドレスの最下位ビッ
トx0が1かつ前記第2のアドレスの最下位ビットy0
0であるデータを保持し、前記第1のアドレスの上位
(n−1)ビットのアドレスxn-1n-2……x21を第1
のアクセスアドレスとし前記第2のアドレスの上位(k
−1)ビットyk-1k-2……y21を第2のアクセスア
ドレスとしてデータをアクセスする第3のメモリと、前
記第1のアドレスの最下位ビットx0が1かつ前記第2
のアドレスの最下位ビットy0が1であるデータを保持
し、前記第1のアドレスの上位(n−1)ビットのアドレ
スxn-1n-2……x21を第1のアクセスアドレスとし
前記第2のアドレスの上位(k−1)ビットyk-1k-2
…y21を第2のアクセスアドレスとしてデータをアク
セスする第4のメモリと、m(m>0)ビットの小数部を
含む(n+m)ビットの第1の入力アドレスxn-1n-2
…x2101α2……αmに対して整数部の最下位ビ
ットx0が0のときアドレスxn-1n-2……x21を、
0が1のときxn-1n-2……x21のx1の桁に1を加
えた値を前記第1のメモリおよび第2のメモリへの第1
のアクセスアドレスとして出力し、xn-1n-2……x2
1を前記第3のメモリと第4のメモリへの第1のアク
セスアドレスとして出力する第1のアドレス生成回路
と、p(p>0)ビットの小数部を含む(k+l)ビットの
第2の入力アドレスyk-1k-2……y2101β2
…βpに対して整数部の最下位ビットyが0のときア
ドレスyk−1k-2……y21を、y0が1のときy
k-1k-2……y21のy1の桁に1を加えた値を前記第
1のメモリおよび第3のメモリへの第2のアクセスアド
レスとして出力し、yk-1k-2……y21を前記第2の
メモリと第4のメモリへの第2のアクセスアドレスとし
て出力する第2のアドレス生成回路と、前記第1および
第2のアドレス生成回路の出力するアクセスアドレスに
従って前記第1のメモリから読み出されたデータと前記
第2のメモリから読み出されたデータと前記第3のメモ
リから読み出されたデータと前記第4のメモリから読み
出されたデータと前記第1の入力アドレスの値と前記第
2の入力アドレスの値を用いて演算を行い、その結果を
出力する演算回路とを具備することを特徴とするデータ
補間装置。
3. A first address X (= x n-1 x n-2 ... X 2 x 1 x 0 ) of an integer value of n (n> 0) bits and an integer of k (k> 0) bits. Numerical second address Y (= y k-1 y k-2 ...... y 2 y
1 y 0 ), the least significant bit x 0 of the first address of the two-dimensionally addressed data
Holds 0 and the least significant bit y 0 of the second address is 0, and holds the upper (n−
1) A bit address x n-1 x n-2 ... x 2 x 1 is used as a first access address, and the higher order of the second address (k-1)
A first memory for accessing data using bits y k-1 y k-2 ... Y 2 y 1 as a second access address;
Holds the data in which the least significant bit x 0 of the address is 0 and the least significant bit y 0 of the second address is 1, and the upper (n-1) -bit address x of the first address is held.
n-1 x n-2 ... x 2 x 1 is the first access address, and the upper (k-1) bits y k-1 y k-2 ... y of the second address.
2nd memory for accessing data by using 2 y 1 as a second access address, and data in which the least significant bit x 0 of the first address is 1 and the least significant bit y 0 of the second address is 0 And holds the upper part of the first address
(n-1) address bits x n-1 x n-2 ...... x 2 a x 1 first
Access address of the second address above (k
-1) bits y k-1 y k-2 ...... y 2 y 1 and a third memory for accessing data as a second access address, the first least significant bit x 0 of the address is 1 and the Second
Holds the data whose least significant bit y 0 of the address is 1 and stores the upper (n-1) -bit address x n-1 x n-2 ... x 2 x 1 of the first address as the first As the access address, the upper (k-1) bits of the second address y k-1 y k-2 ...
A fourth memory for accessing data using y 2 y 1 as a second access address, and a (n + m) -bit first input address x n-1 x n including a fractional part of m (m> 0) bits -2 ...
... x 2 x 1 x 01 α 2 ...... α m when the least significant bit x 0 of the integer part is 0, the address x n-1 x n-2 ... x 2 x 1
When x 0 is 1, the value obtained by adding 1 to the digit of x 1 of x n-1 x n-2 ... x 2 x 1 is first stored in the first memory and the second memory.
Output as an access address of x n-1 x n-2 ... x 2
a first address generation circuit for outputting x 1 as a first access address to the third memory and the fourth memory; and a second (k + 1) -bit second part including a fractional part of p (p> 0) bits. Input address y k-1 y k-2 ...... y 2 y 1 y 01 β 2
If y 0 is 0, the least significant bit y 0 of the integer part with respect to β p is y k-1 y k-2 ... y 2 y 1 ; if y 0 is 1, y
The value obtained by adding 1 to the digit of y 1 of k-1 y k-2 ... y 2 y 1 is output as the second access address to the first memory and the third memory, and y k-1 a second address generation circuit for outputting y k-2, ..., Y 2 y 1 as a second access address to the second memory and the fourth memory, and the first and second address generation circuits. The data read from the first memory, the data read from the second memory, the data read from the third memory, and the data read from the fourth memory according to the output access address. A data interpolating device, comprising: an arithmetic circuit that performs an operation using the data, the value of the first input address, and the value of the second input address, and outputs the result.
【請求項4】 前記演算回路は、前記第1および第2の
アドレス生成回路の出力するアクセスアドレスに従って
前記第1のメモリから読み出されたデータD1と前記第
2のメモリから読み出されたデータD2と前記第3のメ
モリから読み出されたデータD3と前記第4のメモリか
ら読み出されたデータD4と前記第1の入力アドレスの
小数部の値α(=0.α1α2……αm)と前記第2の入力ア
ドレスの小数部の値β(=0.β1β2……βp)を用いて、
前記第1の入力アドレスの整数部の最下位ビットx0
0かつ前記第2の入力アドレスの整数部の最下位ビット
0が0のとき、 【数3】(1−β)・{(1−α)・D1+α・D3}+β・
{(1−α)・D2+α・D4} なる演算を行い、x0が0かつy0が1のとき、 【数4】β・{(1−α)・D1+α・D3}+(1−β)・
{(1−α)・D2+α・D4} なる演算を行い、x0が1かつy0が0のとき、 【数5】(1−β)・{α・D1+(1−α)・D3}+β・
{α・D2+(1−α)・D4} なる演算を行い、x0が1かつy0が1のとき、 【数6】β・{α・D1+(1−α)・D3}+(1−β)・
{α・D2+(1−α)・D4} なる演算を行うことを特徴とする請求項3記載のデータ
補間装置。
4. The arithmetic circuit reads data D 1 read from the first memory and read from the second memory according to an access address output from the first and second address generation circuits. The data D 2 , the data D 3 read from the third memory, the data D 4 read from the fourth memory, and the fractional value α (= 0.α 1 of the first input address α 2 ...... α m ) and the fractional value β (= 0.β 1 β 2 ...... β p ) of the second input address,
When the least significant bit x 0 of the integer part of the first input address is 0 and the least significant bit y 0 of the integer part of the second input address is 0, (3) (1-β) · (( 1-α) ・ D 1 + α ・ D 3 } + β ・
{(1-α) · D 2 + α · D 4 } is performed, and when x 0 is 0 and y 0 is 1, β · {(1-α) · D 1 + α · D 3 } + (1-β) ・
The calculation of {(1-α) · D 2 + α · D 4 } is performed, and when x 0 is 1 and y 0 is 0, (5) (1-β) · {α · D 1 + (1- α) ・ D 3 } + β ・
{Α · D 2 + (1-α) · D 4 } is performed, and when x 0 is 1 and y 0 is 1, β · {α · D 1 + (1-α) · D 3} + (1-β ) ·
The data interpolating device according to claim 3, wherein a calculation of {α · D 2 + (1-α) · D 4 } is performed.
JP7307813A 1995-11-27 1995-11-27 Data interpolating device Pending JPH09147097A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7307813A JPH09147097A (en) 1995-11-27 1995-11-27 Data interpolating device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7307813A JPH09147097A (en) 1995-11-27 1995-11-27 Data interpolating device

Publications (1)

Publication Number Publication Date
JPH09147097A true JPH09147097A (en) 1997-06-06

Family

ID=17973528

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7307813A Pending JPH09147097A (en) 1995-11-27 1995-11-27 Data interpolating device

Country Status (1)

Country Link
JP (1) JPH09147097A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9336565B2 (en) 2014-05-30 2016-05-10 Seiko Epson Corporation Image processing device, display apparatus, and image processing method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9336565B2 (en) 2014-05-30 2016-05-10 Seiko Epson Corporation Image processing device, display apparatus, and image processing method

Similar Documents

Publication Publication Date Title
US5606650A (en) Method and apparatus for storage and retrieval of a texture map in a graphics display system
JP3081774B2 (en) Texture pattern memory circuit
JPH04500421A (en) Digital interpolator with multiple interpolation algorithm
JP2002171401A (en) Simd arithmetic unit provided with thinning arithmetic instruction
JP3166447B2 (en) Image processing apparatus and image processing method
JP3861957B2 (en) Storage device, writing method and reading method
KR100424511B1 (en) Semiconductor memory having computation function and processing device using the same
JP2814860B2 (en) Image scaling device
US20040172517A1 (en) Synchronous periodical orthogonal data converter
JPH09147097A (en) Data interpolating device
JP2541758B2 (en) Remainder calculation circuit
JP4796148B2 (en) Table lookup multiplier
JP6995629B2 (en) Arithmetic circuit
US6108746A (en) Semiconductor memory having an arithmetic function and a terminal arrangement for coordinating operation with a higher processor
JP3515170B2 (en) Multiplier for real or complex numbers
EP0189524B1 (en) Memory unit having arithmetic and logic functions, in particular for graphic processing
JP4381778B2 (en) Texture processing device
JP3937418B2 (en) Storage device and storage read control method
JP5072558B2 (en) Data processing device
JP4325038B2 (en) Image processing device
JPH09231351A (en) Method for resizing picture and computer program product for the method
JPS63102467A (en) Converting device for resolution of picture data
JP2799075B2 (en) Pixel density conversion method
JPH06230768A (en) Image memory device
JP2546011B2 (en) Delay phasing address generator

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040831

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20041227