JP2973220B2 - Digital data orthogonal transform method and apparatus - Google Patents
Digital data orthogonal transform method and apparatusInfo
- Publication number
- JP2973220B2 JP2973220B2 JP16349590A JP16349590A JP2973220B2 JP 2973220 B2 JP2973220 B2 JP 2973220B2 JP 16349590 A JP16349590 A JP 16349590A JP 16349590 A JP16349590 A JP 16349590A JP 2973220 B2 JP2973220 B2 JP 2973220B2
- Authority
- JP
- Japan
- Prior art keywords
- digit
- input
- data
- orthogonal
- orthogonal transformation
- 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
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Description
【発明の詳細な説明】 〔産業上の利用分野〕 本発明はディジタルデータを記録又は伝送するための
圧縮を施すディジタルデータの直交変換方法及びその装
置に関するものである。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a digital data orthogonal transform method and apparatus for performing compression for recording or transmitting digital data.
従来、この種の技術としては、「TV画像の多次元信号
処理」 日刊工業新聞社 吹坂敬彦著 P252〜256に開
示される離散余弦変換(以下、「DCT」と略記する)方
法がある。このDCT方法及び逆DCT方法及びその物理的意
味について以下に説明する。Conventionally, as a technique of this type, there is a discrete cosine transform (hereinafter abbreviated as “DCT”) method disclosed in “Multidimensional Signal Processing of TV Images”, pages 252 to 256, written by Nikkan Kogyo Shimbun, Ltd., Takahiko Fukisaka. The DCT method and the inverse DCT method and their physical meaning will be described below.
画像信号の自己相関関数は負指数関数で近似できる。
DCTは、この近似を行なった場合のKL変換に近いことか
ら、最近注目を集めている。従来ハードウエアが簡単な
ことから重要視されていたマダマール変換に代って、効
率を重視する立場から最も一般的な直交変換となり、規
格など広く採用されるようになった。The autocorrelation function of the image signal can be approximated by a negative exponential function.
DCT has recently attracted attention because it is close to the KL transform when this approximation is performed. Instead of the Madamal transform, which has been regarded as important because of the simplicity of hardware, it has become the most common orthogonal transform from the standpoint of efficiency, and has been widely adopted as a standard.
(1)DCT これは、標本値系列x0,x1,‥‥xM-1を1ブロックとし
て、変換行列[dk,m]により変換係数y0,y1,‥‥yM-1
に直交変換するものである。(1) DCT This is a conversion coefficient y 0 , y 1 , ‥‥ y M−1 by using a sample matrix x 0 , x 1 , ‥‥ x M-1 as one block and using a transformation matrix [d k, m ].
Is orthogonally transformed to.
(2)逆DCT DCTの変換係数[y0,y1,‥‥,yM-1]が与えられて、こ
れからもとの信号[x0,x1,‥‥xM-1]を求める変換、す
なわち逆DCTは次のようになっている。 (2) Inverse DCT Given a transform coefficient [y 0 , y 1 , ‥‥, y M-1 ] of the DCT, an original signal [x 0 , x 1 , ‥‥ x M-1 ] is obtained therefrom. The transformation, or inverse DCT, is as follows:
d0,m,dk,mはDCT(1)式の場合と同様である。即
ち、[x]=[dM]T[y]となっている。これは
[dM]-1=[dM]Tであるためである。 d 0, m , d k, m are the same as in the case of DCT (1). That is, [x] = [d M ] T [y]. This is because [d M ] −1 = [d M ] T.
(3)DCTの物理的意味 DCTの用語の由来と物理的意味を考える。標本値系
列、g0,g1,g2,‥‥,gM-1をt=0を対称軸に反転する。
この両者を合わせ2M個の標本値からなる系列をDFTす
る。標本点がT/2だけずれていること、即ち、例えばg0
がt=T/2の標本値であることと、t=0に対して対称
である(偶関数である)ことを考慮すれば、sinの項は
なくなり、 となる。DFTでは、本来のM個の標本値からなる系列に
対しては、M個の複素変換係数(あるいはsin,cos合わ
せてM個の項)が得られる。一方、DCTでは、2M個の標
本値からなる仮想的系列に対して、2M個の項が得られる
が、sinが消えM個のcosの項のみが残る。(3) Physical meaning of DCT Consider the origin and physical meaning of DCT terms. Invert the sample value series, g 0 , g 1 , g 2 , ‥‥, g M−1, with t = 0 as the symmetry axis.
A DFT is performed on a sequence composed of 2M sample values by combining these two values. The sampling points are shifted by T / 2, that is, for example, g 0
Is a sample value of t = T / 2, and symmetric (even function) with respect to t = 0, the term of sin disappears. Becomes In the DFT, M complex transform coefficients (or M terms including sin and cos) are obtained for a sequence originally composed of M sample values. On the other hand, in DCT, 2M terms are obtained for a virtual sequence composed of 2M sample values, but sin disappears and only M cos terms remain.
第2図は従来のDCT変換装置の代表的な(1)式のM
=8の時の構成例を示すブロック図である。下記に示し
た(2)式は上記(1)式のM=8の時の変換行列〔d
k,m〕を示したものである。FIG. 2 shows a typical DCT converter of the prior art (1) using M
It is a block diagram which shows the example of a structure when = 8. Expression (2) shown below is a conversion matrix [d when M = 8 in expression (1).
k, m ].
ここで、a=cos0π/16,b=cos1π/16,c=cos2π/16,
d=cos3π/16,e=cos4π/16,f=cos5π/16,g=cos6π/1
6,h=cos7π/16である。 Here, a = cos0π / 16, b = cos1π / 16, c = cos2π / 16,
d = cos3π / 16, e = cos4π / 16, f = cos5π / 16, g = cos6π / 1
6, h = cos7π / 16.
第2図に示した演算ユニット210,220,‥‥,280は
(2)式の1行分の演算をすることを示しており、例え
ばy1を求める場合には、(2)式から y1=x0cosπ/16+x1cos3π/16+x2cos5π/16 +x3cos7π/16−x4cos7π/16−x5cos5π/16 −x6cos3π/16−x7cosπ/16 を行なうのに、第2図の演算ユニット220が対応してい
る。The arithmetic units 210, 220,..., 280 shown in FIG. 2 indicate that one row of the equation (2) is operated. For example, when y 1 is obtained, y 1 = x 0 cosπ / 16 + x 1 cos3π / 16 + x 2 cos5π / 16 + x 3 cos7π / 16−x 4 cos7π / 16−x 5 cos5π / 16 −x 6 cos3π / 16−x 7 cosπ / 16 Corresponds to the arithmetic unit 220.
演算ユニット210,220,‥‥,280は全て同じ構成となっ
ており、演算ユニット220を使って内部の接続状態を説
明する。The arithmetic units 210, 220,..., 280 all have the same configuration, and the internal connection state will be described using the arithmetic unit 220.
入力端子T1からの時系列のデータから遂次入力される
時系列データは各演算ユニット210,220,‥‥,280に入力
される。Time-series data when the sequential input of a sequence of data from the input terminal T 1 is the arithmetic units 210, 220, ‥‥, is input to 280.
演算ユニット220に入力された時系列データは係数ROM
222のデータと同期して、乗算器221に入力する。この乗
算器221の出力は加算器223の入力データとなる。この加
算器223の出力はレジスタ224に一時記憶され、次のデー
タが加算器223に入力された時レジスタ224の値はフィー
ドバックされ先ほどのデータとの加算が行なわれる。こ
のようにして累積加算が行なわれる。そして所定の回数
の加算が行なわれた後、演算結果としてレジスタ225に
記憶されて、所定のタイミングで出力端子T2に出力され
る。The time series data input to the arithmetic unit 220 is a coefficient ROM
The data is input to the multiplier 221 in synchronization with the data of 222. The output of the multiplier 221 becomes the input data of the adder 223. The output of the adder 223 is temporarily stored in the register 224, and when the next data is input to the adder 223, the value of the register 224 is fed back and added to the previous data. Thus, the cumulative addition is performed. Then, after the addition of the predetermined number of times is performed, is stored in the register 225 as the operation result, is output to the output terminal T 2 at a predetermined timing.
例えば、上記(2)式のy1を求める場合、係数ROMに
は下記の8ワード分の係数データがROM222に格納されて
おり、 1/2cosπ/16,1/2cos3π/16,1/2cos5π/16,‥‥,−1/2cosπ/16 入力端子T1には下記の時系列データが順次入力され、 x0,x1,x2,‥‥,x7 先ず乗算器221に、x0と1/2cosπ/16が入力され、その乗
算が行なわれる。その結果は加算器223でクリアされた
データとの加算が行なわれるため、レジスタ224にその
まま値が記憶される。次の瞬間、入力端子T1には次のx1
の値が入力され、乗算器221に次の係数データ1/2cos3π
/16と供に入力され、乗算が行なわれる。その結果x1・1
/2cos3π/16が加算器223に入力され前回の結果x0・1/2c
osπ/16との間で加算され、その加算結果がレジスタ224
に記憶される。この手順を繰り返すことにより、y1の値
を計算することができ、その結果をレジスタ224に入力
することによって一行分の演算を完了する。For example, when obtaining the y 1 of the equation (2), the coefficient ROM 8 words of coefficient data following is stored in the ROM222, 1 / 2cosπ / 16,1 / 2cos3π / 16,1 / 2cos5π / 16, ‥‥, -1 / 2cosπ / 16 to the input terminal T 1 is the time-series data sequentially input below, x 0, x 1, x 2, ‥‥, the x 7 first multiplier 221, and x 0 1 / 2cosπ / 16 is input and the multiplication is performed. Since the result is added to the data cleared by the adder 223, the value is stored in the register 224 as it is. The next moment, the next to the input terminal T 1 x 1
Is input to the multiplier 221 and the next coefficient data 1 / 2cos3π
/ 16 is input, and multiplication is performed. As a result x 1 · 1
/ 2cos3π / 16 is input to the adder 223 and the previous result x 0・ 1 / 2c
osπ / 16 and the result of addition is stored in register 224.
Is stored. By repeating this procedure, the value of y 1 can be calculated, and by inputting the result to the register 224, the operation for one row is completed.
他の演算ユニットも係数データを(2)式に示した係
数値を使用することによって、演算ユニット220と同じ
構成で計算することが可能である。The other arithmetic units can also calculate the coefficient data with the same configuration as the arithmetic unit 220 by using the coefficient values shown in equation (2).
しかしながら、上記方法による装置では、DCT変換な
どの直交変換を行なうのに、その変換マトリックスの行
数分だけの乗算器を必要とするため、その乗算器が動作
クロックのネックとなり演算速度が遅くなるという問題
点もあった。However, in the device according to the above method, since an orthogonal transform such as a DCT transform requires a number of multipliers corresponding to the number of rows of the transform matrix, the multiplier becomes a bottleneck of an operation clock and the operation speed is reduced. There was also a problem.
本発明は上述の点に鑑みてなされたもので、上記従来
の遅延時間が長く高速処理ができないという問題点を除
去し、高速演算ができるディジタルデータの直交変換方
法及びその装置を提供することを目的とする。SUMMARY OF THE INVENTION The present invention has been made in view of the above points, and an object of the present invention is to provide a digital data orthogonal transformation method and apparatus capable of performing high-speed operation by eliminating the above-mentioned conventional problem that delay time is long and high-speed processing cannot be performed. Aim.
上記課題を解決するため本発明は、ディジタルデータ
の直交変換方法を、入力データと係数との乗算を行ない
その値を累積加算して変換後の値を求める従来の直交変
換方法の乗算器を用いず、累積加算器で代用する。つま
り、乗算後の累積加算を係数の各行ごとに先に計算し、
この計算終了後係数の各桁ごとに順次値を出力し対応す
る桁合わせを行ない累積加算して変換後の値を求めるよ
うにしたものである。例えば、直交変換を8×8のマト
リックス演算で行なうと、(3)式で表わされる。In order to solve the above-mentioned problems, the present invention uses a conventional orthogonal transform method multiplier which multiplies input data by a coefficient, accumulates the values, and obtains a converted value. Instead, use an accumulator instead. That is, the cumulative addition after multiplication is calculated first for each row of coefficients,
After the calculation is completed, the value is sequentially output for each digit of the coefficient, the corresponding digit is adjusted, the cumulative addition is performed, and the converted value is obtained. For example, if the orthogonal transformation is performed by an 8 × 8 matrix operation, it is expressed by the following equation (3).
y0を求めるためには、(4)式を計算することになる。 In order to obtain y 0 , equation (4) is calculated.
y0=d00・x0+d01・x1+d02・x2+d03・x3+d04・x4 +d05・x5+d06・x6+d07・x7 (4) 直交座標係数が5ビットだとすると(4)式を(5)式
に変換することができる。y 0 = d 00 x 0 + d 01 x 1 + d 02 x 2 + d 03 x 3 + d 04 x 4 + d 05 x 5 + d 06 x 6 + d 07 x 7 (4) If it is 5 bits, equation (4) can be converted to equation (5).
但し、ここでd02 (i)はd02の係数のi桁目の1ビット
係数データである。 Here, d 02 (i) is 1-bit coefficient data of the i-th digit of the coefficient of d 02 .
(5)式は係数の桁ごとにくくることができ(6)式
となる。Equation (5) can be made difficult for each digit of the coefficient and becomes equation (6).
このように、各桁の演算を行なう(6)式の第1項か
ら第5項までの累積加算器5つと各桁の値を考慮して累
積加算器を1つ設けることによってy0の演算を行なうこ
とができる。 As described above, the operation of y 0 is performed by providing five accumulators from the first term to the fifth term of the equation (6) for performing the operation of each digit and one accumulator in consideration of the value of each digit. Can be performed.
本発明はディジタルデータの直交変換方法を上記の如
く行なうことにより、従来のように直交変換マトリック
スの係数との演算を行なうのに乗算器を用いるのではな
く、乗算後の累積加算を係数の各行ごとに先に計算し、
この計算終了後係数の各桁ごとに順次値を出力し対応す
る桁合わせを行ない累積加算して変換後の値を求めるの
で、直交変換を加算器のみで構成でき、その動作クロッ
ク従来のものより高速にすることが可能となる。According to the present invention, by performing the orthogonal transformation method of digital data as described above, instead of using a multiplier to perform the operation with the coefficients of the orthogonal transformation matrix as in the conventional method, the cumulative addition after the multiplication is performed for each row of the coefficient. Calculate first for each
After this calculation is completed, the value is sequentially output for each digit of the coefficient, the corresponding digit is adjusted, the cumulative addition is performed, and the value after the conversion is obtained. It is possible to increase the speed.
以下、本発明の一実施例を図面を用いて説明する。 Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
第1図は本発明の一実施例であるディジタルデータの
直交変換の構成を示すブロック図である。同図におい
て、110,120,130.140.150,160,170,180はそれぞれ演算
ユニットである。演算ユニット110はプロセッシングエ
レメント(Pe0)111〜115とプロセッシングエレメント
(Pe1)116、演算ユニット120はプロセッシングエレメ
ント(Pe0)121〜125とプロセッシングエレメント(P
e1)126、演算ユニット130はプロセッシングエレメント
(Pe0)131〜135とプロセッシングエレメント(Pe1)13
6、演算ユニット140はプロセッシングエレメント(P
e0)141〜145とプロセッシングエレメント(Pe1)146、
演算ユニット150はプロセッシングエレメント(Pe0)15
1〜155とプロセッシングエレメント(Pe1)156、演算ユ
ニット160はプロセッシングエレメント(Pe0)161〜165
とプロセッシングエレメント(Pe1)166、演算ユニット
170はプロセッシングエレメント(Pe0)171〜175とプロ
セッシングエレメント(Pe1)176、演算ユニット180は
プロセッシングエレメント(Pe0)181〜185とプロセッ
シングエレメント(Pe1)186をそれぞれ具備する構成で
ある。FIG. 1 is a block diagram showing a configuration of orthogonal transformation of digital data according to one embodiment of the present invention. In the figure, 110, 120, 130.140.150, 160, 170 and 180 are arithmetic units, respectively. The arithmetic unit 110 has processing elements (Pe 0 ) 111 to 115 and a processing element (Pe 1 ) 116, and the arithmetic unit 120 has processing elements (Pe 0 ) 121 to 125 and a processing element (P
e 1 ) 126 and the processing unit 130 are composed of the processing elements (Pe 0 ) 131 to 135 and the processing elements (Pe 1 ) 13
6. The arithmetic unit 140 is a processing element (P
e 0 ) 141-145 and the processing element (Pe 1 ) 146,
The arithmetic unit 150 is a processing element (Pe 0 ) 15
1 to 155, the processing element (Pe 1 ) 156, and the arithmetic unit 160 are the processing elements (Pe 0 ) 161 to 165
And processing element (Pe 1 ) 166, arithmetic unit
Reference numeral 170 denotes a processing element (Pe 0 ) 171 to 175 and a processing element (Pe 1 ) 176, and an arithmetic unit 180 includes processing elements (Pe 0 ) 181 to 185 and a processing element (Pe 1 ) 186.
入力端子T1は各演算ユニット110,120,130.140.150,16
0,170,180内のプロセッシングエレメントPe0に接続され
ている。各演算ユニット110,120,130.140.150,160,170,
180内のプロセッシングエレメントPe0の出力は、全て各
演算ユニット内のプロセッシングエレメント116,126,13
6,146,156,166,176,186にそれぞれ接続されている。そ
してこの全てのプロセッシングエレメントPe1は出力端
子T2に接続されている。Input terminal T 1 is for each arithmetic unit 110,120,130.140.150,16
0 , 170, 180 are connected to the processing element Pe0. Each operation unit 110,120,130.140.150,160,170,
The outputs of the processing elements Pe 0 in 180 are all processed elements 116, 126, 13 in each processing unit.
6,146,156,166,176,186 respectively. And all this processing element Pe 1 is connected to the output terminal T 2.
第3図は第1図中の上記(6)式の演算を実行する演
算ユニット110の構成を示すブロック図で、プロセッシ
ングエレメントPe0とプロセッシングエレメントPe1の内
部構成を示す。第1図でも示したように、第3図でも入
力端子T1はプロセッシングエレメント111〜115に接続さ
れており、このプロセッシングエレメント111〜115の出
力は桁合せを行なった後、プロセッシング116に入力さ
れ、該プロセッシング116の出力は出力端子T2に接続さ
れている。Figure 3 is a block diagram showing the configuration of the arithmetic unit 110 to perform the calculation of the equation (6) in FIG. 1, showing the internal configuration of the processing elements Pe 0 and processing element Pe 1. As also shown in Figure 1, the input terminal T 1 in Figure 3 is connected to the processing elements 111 to 115, the output of the processing elements 111 to 115 after performing a digit combined, are input to the processing 116 , the output of the processing 116 is connected to the output terminal T 2.
プロセッシングエレメント111〜115は桁合わせ以外は
全て同じ構造になっており、以下プロセッシングエレメ
ント111を使ってその接続状態を説明する。The processing elements 111 to 115 all have the same structure except for digit alignment, and the connection state of the processing elements 111 will be described below.
入力端子T1は加算器(ADD)1111に接続されており、
加算器1111の出力はレジスタ(Re)1112に接続されてい
る。このレジスタ1112の出力は一方が加算器(ADD)111
1の入力となっており、他方はプロセッシングの結果を
保持するレジスタ(Re)1113に接続され、このレジスタ
1113の出力は桁合わせ器1115に接続しており、該桁合わ
せのために、上位又は下位に零を挿入できるようになっ
ている。係数格納回路(ROM)1114はレジスタ1112の制
御信号として入力している。桁合わせ器1115の出力はプ
ロセッシングエレメント111の出力となる。Input terminal T 1 is connected to an adder (ADD) 1111,
The output of the adder 1111 is connected to a register (Re) 1112. One of the outputs of the register 1112 is an adder (ADD) 111.
The other is connected to a register (Re) 1113 that holds the processing result.
The output of 1113 is connected to the digit matching unit 1115, and a zero can be inserted in the upper or lower order for the digit matching. A coefficient storage circuit (ROM) 1114 is input as a control signal of the register 1112. The output of the digitizer 1115 is the output of the processing element 111.
前記プロセッシングエレメント111の出力はプロセッ
シングエレメント116の入力となって加算器(ADD)1161
の入力となる。加算器1161の出力はレジスタ(Re)1162
の入力となる。このレジスタ1162の出力の一方は前記加
算器1161の入力となり、もう一方はプロセッシングエレ
メント116の演算結果としてレジスタ(Re)1163の格納
される。このレジスタ1163の出力はプロセッシングエレ
メント116の出力として出力端子T2に接続されている。The output of the processing element 111 becomes the input of the processing element 116 and becomes an adder (ADD) 1161.
Input. The output of the adder 1161 is the register (Re) 1162
Input. One of the outputs of the register 1162 becomes the input of the adder 1161, and the other is stored in the register (Re) 1163 as the operation result of the processing element 116. The output of the register 1163 is connected to the output terminal T 2 as the output of the processing element 116.
第1図,第3図はともに、直交マトリックス係数が5
ビットの場合を示したもので、その動作について以下に
説明する。ここで直交変換を行なうマトリックスは
(3)式で示したように8×8の行列で示され、演算ユ
ニット110は(6)式で示されたようなy0を求める演算
が行なわれる。1 and 3 show that the orthogonal matrix coefficient is 5
This shows the case of bits, and the operation will be described below. Here, the matrix for performing the orthogonal transformation is represented by an 8 × 8 matrix as shown in equation (3), and the arithmetic unit 110 performs an operation to find y 0 as shown in equation (6).
第1図,第3図の入力端子T1から、入力データx0,x1,
x2,‥‥,x7までが時系列に順次入力されるとそれぞれの
データは、第1図に示される各演算ユニット110,120,13
0,140,150,160,170,180のプロセッシングエレメントPe0
に入力される。(6)式で示されたy0を求める第3図の
演算ユニット110のプロセッシングエレメント111〜115
にも同様に入力される。このプロセッシングエレメント
111〜115は(6)式のそれぞれ第1項から第5項に対応
しており、プロセッシングエレメント111はマトリック
ス係数との乗算で言えば(6)式の第1項で示すよう
に、係数の最下位ビットとの乗算の累積加算を行なう回
路であり、他のプロセッシングエレメント112〜115も係
数の各桁とビットとの乗算の累積加算を行なう回路であ
る。ここでは、プロセッシングエレメント111を例に挙
げて説明する。Figure 1, from the input terminal T 1 of the FIG. 3, the input data x 0, x 1,
When up to x 2 , ‥‥, and x 7 are sequentially input in a time series, the respective data becomes the arithmetic units 110, 120, and 13 shown in FIG.
0,140,150,160,170,180 processing element Pe 0
Is input to (6) processing elements of the arithmetic unit 110 of FIG. 3 to determine the y 0 indicated in Formula 111 to 115
Is similarly input. This processing element
111 to 115 correspond to the first to fifth terms of the equation (6), respectively, and the processing element 111 is expressed by multiplication with the matrix coefficient, as shown in the first term of the equation (6). This is a circuit for performing cumulative addition of multiplication with the least significant bit, and the other processing elements 112 to 115 are also circuits for performing cumulative addition of multiplication of each digit of a coefficient and a bit. Here, the processing element 111 will be described as an example.
入力データが順次加算器1111に入力され、それまでの
累積加算結果との加算が行なわれる。係数格納回路1114
には直交交換マトリックス係数の1行分の最下位ビット
が8個格納されていて、このデータを制御信号として累
積加算の途中結果を格納しているレジスタ1112に送られ
る。この動作は今回の入力データを累積加算すべきかど
うかを制御している。つまりマトリックス係数1ビット
データと入力データの乗算結果を累積加算していること
になる。The input data is sequentially input to the adder 1111 and is added to the cumulative addition result up to that time. Coefficient storage circuit 1114
Stores the eight least significant bits of one row of the orthogonal exchange matrix coefficient, and sends this data as a control signal to a register 1112 which stores the intermediate result of the cumulative addition. This operation controls whether the current input data should be cumulatively added. That is, the result of multiplication of the 1-bit matrix coefficient data and the input data is cumulatively added.
このように、係数格納回路1114からの制御信号によっ
て、入力データx1からx7までの入力データの累積加算が
制御され、得られた累積加算結果がレジスタ1112残り、
次のタイミングでレジスタ1113に格納される。Thus, by the control signal from the coefficient storage circuit 1114 are controlled cumulative addition of the input data from the input data x 1 to x 7, obtained cumulative addition result register 1112 remain,
It is stored in the register 1113 at the next timing.
これらの動作は、プロセッシングエレメント111だけ
ではなく、プロセッシングエレメント112〜プロセッシ
ングエレメント115まで同様に行なわれており、プロセ
ッシングエレメント111のレジスタ1113に累積加算の結
果が格納されるとき、プロセッシングエレメント112〜
プロセッシングエレメント115までの各レジスタ1123,11
33,1143,1153に結果が格納される。そして各桁合わせ器
1115〜1155までの各レジスタ1123,1133,1143,1153に結
果が格納される。そして各桁合わせ器1115〜1155によっ
て桁合わせ(例えば、プロセッシングエレメント115の
場合だと演算結果に下位4ビットを付け加え、そこに零
を代入する)を行ない、順次各プロセッシングエレメン
ト111〜115の値をローカルバスb117に出力する。その値
はプロセッシングエレメント116に入力され、該プロセ
ッシングエレメント116内の加算器1161の入力となり、
入力データの累積加算をこの場合だと5回行ない、その
結果をレジスタ1163に格納し、この値が演算ユニット11
0の演算結果となり、演算ユニット120〜180とのタイミ
ングをとって出力端子T2に出力される。These operations are performed not only for the processing element 111 but also for the processing elements 112 to 115. When the result of the cumulative addition is stored in the register 1113 of the processing element 111, the processing elements 112 to
Each register 1123, 11 up to processing element 115
The results are stored in 33, 1143, and 1153. And each digitizer
The results are stored in the registers 1123, 1133, 1143, 1153 from 1115 to 1155. Then, digit matching (for example, in the case of the processing element 115, the lower 4 bits are added to the operation result and zero is substituted therein) by each of the digit matching units 1115 to 1155, and the values of the processing elements 111 to 115 are sequentially changed. Output to the local bus b117. The value is input to the processing element 116, and is input to the adder 1161 in the processing element 116.
In this case, the cumulative addition of the input data is performed five times, and the result is stored in the register 1163.
0 calculation result becomes of, is output to the output terminal T 2 timed with the operation unit 120 to 180.
第4図に示したように、各プロセッシングエレメント
111〜115間にレジスタ(Re)R111〜R114を設けても演算
ユニット110を構成できる。As shown in FIG. 4, each processing element
The arithmetic unit 110 can also be configured by providing registers (Re) R111 to R114 between 111 and 115.
演算ユニット110〜180の構成例として第3図と第4図
を挙げたが、入力データがx0からx7のデータまで入力さ
れ、x7の次のタイミングで次のデータx0が入力される場
合、第3図と第4図の構成で、変換マトリックスの演算
係数が8ビットまでプロセッシングエレメントPe0をそ
の桁分まで増加させることによって対応できる。以下、
変換マトリックスの係数が9ビット以上である場合につ
いて述べる。Is cited to FIG. 3 and FIG. 4 as an example structure of the arithmetic units 110 to 180, the input data is input from x 0 to the data of x 7, the next data x 0 at the next timing of x 7 is input that case, in FIG. 3 and FIG. 4 configuration, it corresponds by calculating the coefficients of the transformed matrix increased up to that digit amount of processing elements Pe 0 to 8 bits. Less than,
A case where the coefficient of the transformation matrix is 9 bits or more will be described.
先ず、第3図の構成で変換マトリックスの演算係数の
ビット数を9ビットにした構成例を第5図に示す。つま
り、係数のビット数だけプロセッシングエレメントPe0
を単に増やしたものである。しかしこの構成だと、入力
端子T1から入力データがx0〜x7と8個で、連続的に次の
x0〜x7が入力するような場合、直交変換を行なうことが
できなくなる。つまり、プロセッシングエレメント310
〜390は入力端子T1から入力データx0〜x7が入力される
と、累積加算が行なわれ、次に入力データx0が入力する
時に、累積加算結果がプロセッシングエレメント(P
e0)310〜390内のレジスタに格納される。しかしプロセ
ッシングエレメント(Pe1)400でその結果を累積加算を
行なう時に、プロセッシングエレメント310〜390が9個
あるので9クロック必要となる。つまり、プロセッシン
グエレメント310〜390の全ての演算結果を出力する前に
次のプロセッシングエレメントPe0内の累積加算が終了
していないので、演算はできない。そこで、1度プロセ
ッシングエレメントPe0の出力結果の累積加算を行なう
のに、最初の8個のプロセッシングエレメントPe0(310
〜380)の出力結果の累積加算を行なって小計計算を行
ない、その結果と他のプロセッシングエレメントPe0(3
90)出力結果との累積加算を行なうようにすれば、1つ
の累積加算を付加することで、係数15ビットの時まで対
応することができる。その構成例を第6図に示す。First, FIG. 5 shows a configuration example in which the number of bits of the operation coefficient of the conversion matrix is set to 9 bits in the configuration of FIG. In other words, the processing element Pe 0 has the number of bits of the coefficient
Is simply increased. However, it is this structure, the input data from the input terminal T 1 is eight and x 0 ~x 7, continuously follows
If x 0 ~x 7 is such that the input, it is impossible to perform orthogonal transform. That is, the processing element 310
To 390 are the input data x 0 ~x 7 from the input terminal T 1 is input, the cumulative addition is performed, then when the input data x 0 to the input, the cumulative addition result processing elements (P
e 0 ) Stored in a register within 310 to 390. However, when the result is cumulatively added by the processing element (Pe 1 ) 400, nine clocks are required because there are nine processing elements 310 to 390. That is, since the cumulative addition of the next processing within the element Pe 0 before outputting all operation result of processing elements 310 to 390 has not been completed, can not be calculated. Therefore, to perform cumulative addition of 1 degree output processing element Pe 0, the first eight processing elements Pe 0 (310
To 380), a subtotal calculation is performed, and the result and another processing element Pe 0 (3
90) If the cumulative addition with the output result is performed, by adding one cumulative addition, it is possible to cope with the case of a coefficient of 15 bits. An example of the configuration is shown in FIG.
第6図に示したプロセッシングエレメント(Pe0)410
〜550は、第1図や第3図に示したものと同じ構成とな
っている。レジスタ(Re)R490〜R550は各行の累積加算
結果を一時的に保持する。Processing element (Pe 0 ) 410 shown in FIG.
550 have the same configuration as those shown in FIG. 1 and FIG. Registers (Re) R490 to R550 temporarily hold the cumulative addition result of each row.
プロセッシングエレメント(Pe1)560は、下位8ビッ
トのプロセッシングエレメント(Pe0)410〜480の演算
結果を累積加算し、求める値の小計を取る累積加算器
で、プロセッシングエレメント(Pe1)570はこの累積加
算結果を含む他のプロセッシングエレメント490〜550の
結果を累積加算を行ない値を求める累積加算器である。A processing element (Pe 1 ) 560 is a cumulative adder for accumulatively adding the operation results of the processing elements (Pe 0 ) 410 to 480 of the lower 8 bits and taking a subtotal of the obtained value. The processing element (Pe 1 ) 570 This is a cumulative adder that performs cumulative addition on the results of the other processing elements 490 to 550 including the cumulative addition result to obtain a value.
このように、途中に小計を取る累積加算器を置くこと
で直交変換マトリックス係数のビット数が何ビットであ
ってもこの構成で遅延は生じるが、変換レートを変化せ
ずに直交変換を行なうことができる。In this way, by placing a cumulative adder that takes a subtotal in the middle, a delay occurs in this configuration regardless of the number of bits of the orthogonal transformation matrix coefficient, but the orthogonal transformation is performed without changing the conversion rate. Can be.
第4図の構成も第7図に示すように途中に小計計算を
行なう累積加算器としてプロセッシングエレメント(Pe
1)570を設けることにより実現可能である。As shown in FIG. 7, the configuration shown in FIG. 4 also serves as a processing element (Pe
1 ) It can be realized by providing 570.
以上、説明したように本発明によれば、従来の直交変
換マトリックスの係数との乗算を行なうのに、乗算器を
用いていたものをサンプリングデータ数がMで係数がN
である場合M×(N+1)個の累積加算器のみで構成し
たので、その動作クロックを従来のものより高速にする
ことが可能となり、高速演算を行なえるという優れた効
果が得られる。As described above, according to the present invention, when multiplication with the coefficient of the conventional orthogonal transformation matrix is performed using a multiplier, the number of sampling data is M and the coefficient is N
In this case, since only the M × (N + 1) accumulators are used, the operation clock can be made faster than the conventional one, and an excellent effect that high-speed operation can be performed can be obtained.
また、本発明ではサンプリングデータ数がMで係数の
ビット数がNでM<Nである時NをMで割った値N/M値
の少数を切り捨てた値だけ小計をとるための累積加算器
を付加し、桁ごとの累積加算の結果と、もし前段の累積
加算の小計結果があればそれも含めてM個ごとにまとめ
て累積加算を行ない小計を計算して求める値を演算する
構成とすると、たとえ直交変換マトリックス係数のビッ
ト数がサンプリング数より大きな値でも、時系列に順次
入力データを入力することが可能となり、高速演算が行
なえるという優れた効果が期待できる。Further, in the present invention, when the number of sampling data is M and the number of bits of the coefficient is N and M <N, a value obtained by dividing N by M N / M is a cumulative adder for taking a subtotal by a value obtained by truncating a decimal number. Is added, and the result of the accumulative addition for each digit and, if there is a subtotal result of the accumulative addition in the preceding stage, the M is added together for each of the M total accumulative additions to calculate the subtotal and calculate the desired value. Then, even if the number of bits of the orthogonal transformation matrix coefficient is larger than the sampling number, it is possible to sequentially input the input data in time series, and an excellent effect that high-speed operation can be performed can be expected.
第1図は本発明のディジタルデータの直交変換装置の構
成を示すブロック図、第2図は従来のディジタルデータ
の直交変換装置の構成を示すブロック図、第3図,第4
図,第5図,第6図,第7図はそれぞれ第1図の演算ユ
ニットの構成例を示すブロック図である。 図中、110,120,130,140,150,160,170,180……演算ユニ
ット、111〜115……プロセッシングエレメント(P
e0)、116……プロセッシングエレメント(Pe1)、R111
〜R114……レジスタ、310〜390……プロセッシングエレ
メント(Pe0)、400……プロセッシングエレメント(Pe
1)、410〜550……プロセッシングエレメント(Pe0)、
560,570……プロセッシングエレメント(Pe1)、R490〜
R550……レジスタ。FIG. 1 is a block diagram showing the configuration of a digital data orthogonal transform apparatus according to the present invention, FIG. 2 is a block diagram showing the configuration of a conventional digital data orthogonal transform apparatus, and FIGS.
FIGS. 5, 5, 6 and 7 are block diagrams each showing a configuration example of the arithmetic unit of FIG. In the figure, 110, 120, 130, 140, 150, 160, 170, 180 ... arithmetic unit, 111 to 115 ... processing element (P
e 0 ), 116 Processing element (Pe 1 ), R111
~ R114 ... register, 310-390 ... processing element (Pe 0 ), 400 ... processing element (Pe
1), 410-550 ...... processing elements (Pe 0),
560,570 …… Processing element (Pe 1 ), R490 ~
R550 …… Register.
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.6,DB名) G06F 17/14 H04N 1/41 H03M 7/30 H04N 7/133 ──────────────────────────────────────────────────続 き Continued on the front page (58) Field surveyed (Int.Cl. 6 , DB name) G06F 17/14 H04N 1/41 H03M 7/30 H04N 7/133
Claims (4)
係数を用いて圧縮を施すディジタルデータの直交変換方
法において、 入力データと前記直交変換マトリックス係数とのマトリ
ックス演算によって変換後の値を得る際に、前記直交変
換マトリックスの同一行の直交変換マトリックス係数の
各桁ごとに入力データの累積加算を演算し、 前記各桁の累積加算の結果を前記直交変換マトリックス
係数の示す桁数に応じて桁合わせを行ない、 前記桁合わせした各桁の累積加算結果の総合和を計算し
て、変換後の値を得ることを特徴とするディジタルデー
タの直交変換方法。1. An orthogonal transformation method for digital data in which digital data is compressed by using an orthogonal transformation matrix coefficient, wherein the orthogonal transformation is performed when a value after conversion is obtained by a matrix operation between input data and the orthogonal transformation matrix coefficient. The cumulative addition of the input data is calculated for each digit of the orthogonal transformation matrix coefficient of the same row of the transformation matrix, and the result of the cumulative addition of each digit is digit-aligned according to the number of digits indicated by the orthogonal transformation matrix coefficient. A method of orthogonally transforming digital data, comprising calculating a total sum of the accumulated addition results of the respective digit-aligned digits to obtain a converted value.
N、サンプリング数がMである場合、 前記直交変換マトリックス係数の各桁ごとに入力データ
の累積加算を計算するM×N個の累積加算器と、 前記直交変換マトリックス係数の示す桁数に応じて桁合
わせを行なうM×N個の桁合わせ器と、 前記各桁の累積加算結果の総和を計算するM個の累積加
算器と、 前記各桁の累積加算結果の総和を求めるために前記各桁
の累積加算結果の小計を計算するM×〔N/M〕個(〔〕
はガウス記号)の累積加算とを設けたことを特徴とする
ディジタルデータの直交変換装置。2. An M.times.N accumulator for calculating a cumulative addition of input data for each digit of the orthogonal transform matrix coefficient, wherein the number of bits of the orthogonal transform matrix coefficient is N and the number of samples is M. An M × N digit aligner for performing digit alignment according to the number of digits indicated by the orthogonal transformation matrix coefficient; an M number of accumulators for calculating the sum of the cumulative addition result of each digit; M × [N / M] ([]) for calculating the subtotal of the cumulative addition result of each digit to obtain the total sum of the cumulative addition result of
A digital data orthogonal transform apparatus.
に入力データの累積加算を計算する累積加算器におい
て、 入力データを順次累積加算するための加算器と、 その加算結果を一時的に保持するレジスタと、 前記直交マトリックスの同一行で直交変換マトリックス
係数の同じ桁のデータを記憶し、前記レジスタを制御す
る記憶手段とを設けたことを特徴とする請求項(2)記
載のディジタルデータの直交変換装置。3. A cumulative adder for calculating cumulative addition of input data for each digit of the orthogonal transformation matrix coefficient, wherein the adder sequentially cumulatively adds the input data, and temporarily holds the addition result. 3. The orthogonal digital data according to claim 2, further comprising a register, and storage means for storing data of the same digit of the orthogonal transformation matrix coefficient in the same row of the orthogonal matrix and controlling the register. Conversion device.
に入力データの累積加算を計算する累積加算器におい
て、 前記累積加算器と異なる時刻に入力させるために該累積
加算器に入力したデータを遅延させて次の累積加算器に
渡すための遅延素子を設けたことを特徴とする請求項
(2)記載のディジタルデータの直交変換装置。4. A cumulative adder for calculating cumulative addition of input data for each digit of said orthogonal transformation matrix coefficient, wherein data input to said cumulative adder is delayed to input at a different time from said cumulative adder. The digital data orthogonal transform apparatus according to claim 2, further comprising a delay element for passing the signal to the next accumulator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16349590A JP2973220B2 (en) | 1990-06-20 | 1990-06-20 | Digital data orthogonal transform method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP16349590A JP2973220B2 (en) | 1990-06-20 | 1990-06-20 | Digital data orthogonal transform method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0453363A JPH0453363A (en) | 1992-02-20 |
JP2973220B2 true JP2973220B2 (en) | 1999-11-08 |
Family
ID=15774954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP16349590A Expired - Fee Related JP2973220B2 (en) | 1990-06-20 | 1990-06-20 | Digital data orthogonal transform method and apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2973220B2 (en) |
-
1990
- 1990-06-20 JP JP16349590A patent/JP2973220B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0453363A (en) | 1992-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0275979B1 (en) | Circuit for computing the quantized coefficient discrete cosine transform of digital signal samples | |
JP2628493B2 (en) | Image coding device and image decoding device provided with cosine transform calculation device, calculation device and the like | |
KR100311251B1 (en) | 2D Discrete Cosine Converter, 2D Inverse Discrete Cosine Converter, and Digital Signal Processing Equipment | |
JPH0526229B2 (en) | ||
JP2949498B2 (en) | DCT circuit, IDCT circuit and DCT / IDCT circuit | |
JPH08235159A (en) | Inverse cosine transformation device | |
JPH03263276A (en) | Digital signal filter circuit | |
JP3577325B2 (en) | Data processing method by discrete cosine transform (DCT), DCT method, and DCT data processing circuit | |
JP2973220B2 (en) | Digital data orthogonal transform method and apparatus | |
JP2946612B2 (en) | IDCT processing equipment | |
Jain et al. | VLSI implementation of two-dimensional DCT processor in real time for video codec | |
US6463081B1 (en) | Method and apparatus for fast rotation | |
US5671169A (en) | Apparatus for two-dimensional inverse discrete cosine transform | |
Do et al. | A high-accuracy and high-speed 2-D 8x8 discrete cosine transform design | |
US5999958A (en) | Device for computing discrete cosine transform and inverse discrete cosine transform | |
KR0136517B1 (en) | Wavelet change processor using bit-unit pipe line | |
JP2910124B2 (en) | DCT processing equipment | |
US4899300A (en) | Circuit to perform a linear transformation on a digital signal | |
JP3396818B2 (en) | DCT operation circuit and IDCT operation circuit | |
JPH0453362A (en) | Method and apparatus for orthogonal transformation for digital data | |
Gottlieb et al. | A video rate 16× 16 discrete cosine transform IC | |
JPH05174046A (en) | Arithmetic circuit | |
JP2869668B2 (en) | Discrete Fourier or cosine transform device for digital data | |
US6327601B1 (en) | Linear transform system for decoding video data | |
KR950008961B1 (en) | Real time discrete cosine transform apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |