JP5519951B2 - Array processor - Google Patents

Array processor Download PDF

Info

Publication number
JP5519951B2
JP5519951B2 JP2009094620A JP2009094620A JP5519951B2 JP 5519951 B2 JP5519951 B2 JP 5519951B2 JP 2009094620 A JP2009094620 A JP 2009094620A JP 2009094620 A JP2009094620 A JP 2009094620A JP 5519951 B2 JP5519951 B2 JP 5519951B2
Authority
JP
Japan
Prior art keywords
data
processing
input
register
output
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.)
Active
Application number
JP2009094620A
Other languages
Japanese (ja)
Other versions
JP2009289256A (en
Inventor
セドゥーキン スタニスラフ
敏明 宮崎
研一 黒田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Aizu
Original Assignee
University of Aizu
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 University of Aizu filed Critical University of Aizu
Priority to JP2009094620A priority Critical patent/JP5519951B2/en
Publication of JP2009289256A publication Critical patent/JP2009289256A/en
Application granted granted Critical
Publication of JP5519951B2 publication Critical patent/JP5519951B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Complex Calculations (AREA)

Description

本発明は、アレイプロセッサに関し、より詳細には、積和演算処理を行うプロセッシングエレメントを各軸方向に配設して概念的な三次元配置状態に形成し、各プロセッシングエレメントに設けられる入力端子と隣接する他のプロセッシングエレメントに設けられる出力端子とを前記軸方向に対応させてトーラス状に接続させたアレイプロセッサに関する。   The present invention relates to an array processor, and more specifically, processing elements that perform product-sum operation processing are arranged in each axial direction to form a conceptual three-dimensional arrangement state, and input terminals provided in each processing element; The present invention relates to an array processor in which output terminals provided in other adjacent processing elements are connected in a torus shape corresponding to the axial direction.

従来より、画像を空間座標から周波数座標に変換する処理方式として二次元直交変換処理が知られている。この二次元直交変換処理は、デジタル技術の進んだ今日において大変多く用いられる変換処理であり、例えば、JPEG等の画像圧縮技術や動画圧縮技術等においても多く用いられている。さらに、時間軸を考え三次元のデータに対して周波数座標に変換する三次元直交変換も古くから動画圧縮への応用が考えられている。   Conventionally, two-dimensional orthogonal transformation processing is known as a processing method for converting an image from spatial coordinates to frequency coordinates. This two-dimensional orthogonal transformation process is a transformation process that is very frequently used in today's advanced digital technology. For example, it is often used in an image compression technique such as JPEG or a moving picture compression technique. Furthermore, considering the time axis, three-dimensional orthogonal transformation for converting three-dimensional data into frequency coordinates has also been considered for application to moving image compression.

次述する式(1)は、一般的な三次元離散直交変換処理に用いられる数式を示している。

Figure 0005519951
The following formula (1) represents a mathematical formula used for general three-dimensional discrete orthogonal transform processing.
Figure 0005519951

ここで、n,n,nは、0以上n−1以下の整数値(つまり、0≦n≦n−1,0≦n≦n−1,0≦n≦n−1)であり、k,k,kは、0以上n−1以下の整数値(つまり、0≦k≦n−1,0≦k≦n−1,0≦k≦n−1)である。また、C(n,k),C(n,k),C(n,k)はサイズがn×nの二次元係数行列を示し、X(n1,n,n)はサイズn×n×nの三次元入力データ行列を示し、Y(k,k,k)はサイズn×n×nの三次元直交変換後のデータを表す行列である。 Here, n 1 , n 2 and n 3 are integer values of 0 or more and n−1 or less (that is, 0 ≦ n 1 ≦ n−1, 0 ≦ n 2 ≦ n−1, 0 ≦ n 3 ≦ n−). 1), and k 1 , k 2 , and k 3 are integer values of 0 or more and n−1 or less (that is, 0 ≦ k 1 ≦ n−1, 0 ≦ k 2 ≦ n−1, 0 ≦ k 3 ≦). n-1). C (n 1 , k 1 ), C (n 2 , k 2 ), and C (n 3 , k 3 ) indicate a two-dimensional coefficient matrix having a size of n × n, and X (n 1 , n 2 , n 3 ) represents a three-dimensional input data matrix of size n × n × n, and Y (k 1 , k 2 , k 3 ) is a matrix representing data after three-dimensional orthogonal transformation of size n × n × n. .

式(1)に示す数式において、C(n,k),C(n,k),C(n,k)に記録される具体的な値を変更することにより、さまざまな直交変換の方式、例えば、JPEGで採用されている離散コサイン変換(DCT:Discrete Cosine Transform)の他に、ウォルシュ・アダマール変換(WHT:Walsh-Hadamard Transform)、離散フーリエ変換(DFT:Discrete Fourier Transform)、離散サイン変換(DST:Discrete Sine Transform)などの変換処理を実行することが可能となっている。 By changing the specific values recorded in C (n 1 , k 1 ), C (n 2 , k 2 ), C (n 3 , k 3 ) In addition to the discrete cosine transform (DCT: Discrete Cosine Transform) adopted in JPEG, for example, Walsh-Hadamard Transform (WHT), Discrete Fourier Transform (DFT) ) And discrete sine transform (DST: Discrete Sine Transform).

このような三次元離散直交変換処理をコンピュータを用いて演算する場合には、メモリに格納した係数Cと入力データXとを虫食い的に何度もアクセスする必要があり、膨大なデータアクセスの発生により処理の高速化が困難であるという問題があった。このような問題を回避するために、一次元の離散直交変換専用回路を3つ用い、それぞれを接続して三次元離散直交変換処理を実現する方法が提案されている(例えば、特許文献1参照)。   When such a three-dimensional discrete orthogonal transformation process is performed using a computer, it is necessary to access the coefficient C and the input data X stored in the memory many times in an insecticidal manner, resulting in the occurrence of a huge amount of data access. Therefore, there is a problem that it is difficult to increase the processing speed. In order to avoid such a problem, a method has been proposed in which three one-dimensional discrete orthogonal transform dedicated circuits are used and connected to each other to realize three-dimensional discrete orthogonal transform processing (see, for example, Patent Document 1). ).

米国特許第5,126,962号明細書US Pat. No. 5,126,962

上述した特許文献1に記載の方法は、(1)式に示した各変数n,n,nの1つのみを変化させながら順番に計算を進める方法に該当する。この方法を用いる場合には、一の軸方向に係る離散直交変換処理が終了した後に次の軸方向において離散直交変換処理を行うために、計算途中のデータや係数データを回路に入力させる順番を調整して各データの掛け合わせ処理を行う必要が生ずる。このため、特許文献1に示す方法を用いる場合には、計算途中のデータや係数データを回路に入力させる順番を調整するための専用回路を設ける必要が生じる(例えば、特許文献1の図5参照。)。このようにデータ調整用の専用回路を設けることによって、離散直交変換処理における処理速度の向上を図ることが可能になる一方で、アレイプロセッサの回路構成が複雑になってしまうという問題が生じていた。 The method described in Patent Document 1 described above corresponds to a method in which calculation is advanced in order while changing only one of the variables n 1 , n 2 , and n 3 shown in Equation (1). When this method is used, in order to perform the discrete orthogonal transform process in the next axial direction after the discrete orthogonal transform process in one axial direction is completed, the order in which data or coefficient data during calculation is input to the circuit is changed. It is necessary to adjust and perform multiplication processing of each data. For this reason, when the method shown in Patent Document 1 is used, it is necessary to provide a dedicated circuit for adjusting the order in which data during calculation or coefficient data is input to the circuit (see, for example, FIG. 5 of Patent Document 1). .) By providing a dedicated circuit for data adjustment in this way, it is possible to improve the processing speed in the discrete orthogonal transform process, but there is a problem that the circuit configuration of the array processor becomes complicated. .

また、複数のプロセッシングエレメントによって構成されるアレイプロセッサを用いて三次元離散直交変換を実行する方法も考えられているが、各次元の計算途中においてプロセッシングエレメントの内部に蓄えられるデータおよび係数行列要素を、各プロセッシングエレメントを互いに接続させた複雑な配線構造を用いて何度も交換し合う必要が生ずるという問題があった。   In addition, a method of performing a three-dimensional discrete orthogonal transform using an array processor composed of a plurality of processing elements is also considered, but the data and coefficient matrix elements stored inside the processing elements during the calculation of each dimension are considered. There is a problem that it is necessary to exchange the processing elements many times using a complicated wiring structure in which the processing elements are connected to each other.

しかも、行列要素の交換は、隣接するプロセッシングエレメントの間だけに限定されないため、プロセッシングエレメントの間の配線構造に制約がある場合は,幾つかのプロセッシングエレメントを経由してデータの交換作業を行う必要が生じ、演算処理における処理負担が増大してしまうという問題があった。   Moreover, since the exchange of matrix elements is not limited to between adjacent processing elements, if there is a restriction in the wiring structure between the processing elements, it is necessary to exchange data via several processing elements. As a result, there is a problem that the processing load in the arithmetic processing increases.

さらに、このような問題は、式(2)に示す三次元離散直交変換の逆変換処理(三次元逆離散直交変換)においても同様に生じるものであった。

Figure 0005519951
Furthermore, such a problem also occurs in the inverse transformation process (three-dimensional inverse discrete orthogonal transformation) of the three-dimensional discrete orthogonal transformation shown in Expression (2).
Figure 0005519951

本発明は上記問題に鑑みて成されたものであり、計算途中におけるデータの入替作業を行ったり、その入替作業用の専用回路を設置したりすることなく、三次元直交変換および三次元逆直交変換を迅速に実行することが可能なアレイプロセッサを提供することを課題とする。   The present invention has been made in view of the above problems, and without performing data replacement work in the middle of calculation or installing a dedicated circuit for the replacement work, three-dimensional orthogonal transformation and three-dimensional inverse orthogonal It is an object of the present invention to provide an array processor that can execute conversion quickly.

上記課題を解決するために、本発明に係るアレイプロセッサは、積和演算機能を備えたプロセッシングエレメントを3つの軸方向にそれぞれn個ずつ配設することにより概念的な三次元配置状態を形成し、各プロセッシングエレメントに対して、前記軸方向に対応付けられた入力端子と出力端子とを各軸方向に対応付けて3組設け、同一軸方向に隣接配置される一のプロセッシングエレメントの当該軸方向における入力端子と他のプロセッシングエレメントの当該軸方向における出力端子とを接続することにより、各プロセッシングエレメントの3組の入力端子および出力端子を軸方向に対応させてそれぞれトーラス状に接続し、各プロセッシングエレメントでは、前記積和演算機能に基づいて積和演算を行った演算結果を、一の軸方向に対応する出力端子より当該一の軸方向に隣接する他のプロセッシングエレメントに出力すると共に、前記積和演算を行う際に用いた演算データを他の軸方向に対応する出力端子より当該他の軸方向に隣接する他のプロセッシングエレメントに出力し、前記演算結果と演算データとをそれぞれ異なる軸方向に隣接する他のプロセッシングエレメントより取得したプロセッシングエレメントでは、取得した前記演算結果と演算データとを用いて積和演算を行い、当該積和演算に基づく演算結果と前記演算データとを、それぞれ取得した入力端子に対応する出力端子よりそれぞれの軸方向に隣接する他のプロセッシングエレメントに対し出力することにより、一の軸方向に対してトーラス状に接続された全てのプロセッシングエレメントにおいて第一周期目のn回の積和演算処理を互いに同期させて実行し、該第一周期目のn回の積和演算処理の後に、各プロセッシングエレメントでは、前記演算結果を出力する出力端子の軸方向を変更すると共に、当該軸方向の変更に対応させて前記演算データを出力する出力端子の軸方向を変更して、第二周期目のn回の積和演算処理を互いに同期させて実行し、該第二周期目のn回の積和演算処理の後に、各プロセッシングエレメントでは、前記演算結果を出力する出力端子の軸方向を、第一周期目および第二周期目と異なる軸方向に変更すると共に、当該軸方向の変更に対応させて前記演算データを出力する出力端子の軸方向を第一周期目および第二周期目と異なる軸方向に変更して、第三周期目のn回の積和演算処理を互いに同期させて実行することによって、三次元直交変換処理を実行することを特徴とする。   In order to solve the above problems, an array processor according to the present invention forms a conceptual three-dimensional arrangement state by arranging n processing elements each having a product-sum operation function in three axial directions. For each processing element, three sets of input terminals and output terminals associated with the axial direction are provided in association with each axial direction, and the axial direction of one processing element arranged adjacently in the same axial direction By connecting the input terminal of the processing element and the output terminal of the other processing element in the axial direction, the three input terminals and the output terminal of each processing element are connected in a torus shape corresponding to the axial direction, and each processing element is connected. In the element, the calculation result obtained by performing the product-sum operation based on the product-sum operation function is processed in one axial direction. Output from the output terminal to the other processing element adjacent in the one axial direction, and the calculation data used when the product-sum operation is performed from the output terminal corresponding to the other axial direction to the other axial direction. For a processing element that is output to another adjacent processing element, and the calculation result and calculation data are acquired from other processing elements adjacent to each other in different axial directions, the product sum is obtained using the acquired calculation result and calculation data. By performing the calculation and outputting the calculation result based on the product-sum calculation and the calculation data to the other processing elements adjacent in the respective axial directions from the output terminals corresponding to the acquired input terminals, First in all processing elements connected in a torus in the axial direction The n times of the product-sum operation processes in the period are executed in synchronization with each other, and after each of the n times of the product-sum operation processes in the first period, each processing element has an axial direction of the output terminal that outputs the operation result And changing the axial direction of the output terminal that outputs the calculation data in response to the change in the axial direction, and executing n times of the product-sum calculation processes in the second period in synchronization with each other, After the nth product-sum operation processing in the second cycle, each processing element changes the axial direction of the output terminal that outputs the calculation result to a different axial direction from the first cycle and the second cycle. In addition, the axial direction of the output terminal that outputs the calculation data corresponding to the change in the axial direction is changed to an axial direction different from the first period and the second period, and the product of n times in the third period Execute sum calculation processing in synchronization with each other And performing a three-dimensional orthogonal transformation process.

このように、本発明に係るアレイプロセッサでは、各プロセッシングエレメントの入出力端子が軸方向に対応されてトーラス状に接続されているため、積和演算処理に伴う演算結果と演算処理に用いる演算データとをそれぞれ異なる軸方向に対して隣接する他のプロセッシングエレメントに順次送り出しながら(リレーのように順次伝搬させながら)、各プロセッシングエレメントにおいて個別に演算処理を行うことができる。従って、軸方向に配設されたn個のプロセッシングエレメントにおいて演算結果の送り出しを行いつつn回の演算処理を行うことにより、n回の積和演算を軸方向に沿って行うことができる。   Thus, in the array processor according to the present invention, since the input / output terminals of the processing elements are connected in a torus shape corresponding to the axial direction, the operation result associated with the product-sum operation processing and the operation data used for the operation processing Are sequentially sent to other processing elements adjacent to each other in different axial directions (sequentially propagating like a relay), and each processing element can be individually operated. Therefore, n product-sum operations can be performed along the axial direction by performing the arithmetic processing n times while sending the calculation result in n processing elements arranged in the axial direction.

また、直交変換処理を行うためには、データの掛け合わせの都合により、演算結果や演算データ等の入力順番を調整させて演算処理を行う必要があるが、第一周期目(第一回目)の演算処理が行われた後に、送り出しを行う軸方向を変更させることによって、容易にデータの入力順番の変更を行うことが可能となる。このため、従来のアレイプロセッサのように、データの入力順番を調整するための専用回路を設ける必要がなくなり、また、データの入替作業等を直接的に行うことなく直交変換処理を行うことが可能となる。   In order to perform orthogonal transformation processing, it is necessary to perform calculation processing by adjusting the input order of calculation results, calculation data, and the like for convenience of data multiplication. The first cycle (first time) After the above calculation process is performed, the data input order can be easily changed by changing the axial direction in which the feed is performed. For this reason, there is no need to provide a dedicated circuit for adjusting the data input order as in a conventional array processor, and it is possible to perform orthogonal transform processing without directly performing data replacement work. It becomes.

特に、本発明に係るアレイプロセッサは、3つの軸方向に対してそれぞれn個ずつ配設されたプロセッシングエレメントにより概念的な三次元配置状態が形成され、各プロセッシングエレメントに対して各軸方向に対応付けられた3組の入出力端子が設けられているため、3回の周期にわたりn回の積和演算処理を行うことができる。このため、上述したデータの入替処理などを直接的に行うことなく、迅速、確実かつ簡易に三次元直交変換処理を行うことが可能となる。   In particular, in the array processor according to the present invention, a conceptual three-dimensional arrangement state is formed by n processing elements arranged in three axial directions, and each processing element corresponds to each axial direction. Since three attached input / output terminals are provided, it is possible to perform n product-sum operation processing over three cycles. For this reason, it is possible to perform the three-dimensional orthogonal transformation process quickly, surely and simply without directly performing the above-described data replacement process.

なお、本発明に係るアレイプロセッサでは、各プロセッシングエレメントが概念的な三次元配置状態を形成していればよいため、必ずしも物理的な立体形状を構成する必要はない。例えば、平面状に3つの軸を設けることによって、実際には平面的な配置状態において概念的な三次元配置状態を形成するものであってもよい。   In the array processor according to the present invention, it is only necessary that the processing elements form a conceptual three-dimensional arrangement state, and therefore it is not always necessary to form a physical three-dimensional shape. For example, a conceptual three-dimensional arrangement state may be formed in a planar arrangement state by providing three axes in a planar shape.

また、前記アレイプロセッサにおいて、前記各プロセッシングエレメントが、前記積和演算に用いられる被演算値を記憶する1つの被演算値記憶手段と、前記入力端子を介して入力された前記演算結果または前記演算データを記憶する3つの入力情報記憶手段と、前記積和演算機能による演算方法に対応して決定される定数値を記憶する3つの定数値記憶手段と、前記演算結果と前記演算データと前記被演算値と前記定数値とのいずれかを用いて積和演算を行う演算処理手段と、前記3つの入力端子のいずれかより入力された情報を前記入力情報記憶手段または前記被演算値記憶手段のいずれかに案内する入力スイッチ手段と、前記演算データおよび前記演算処理手段により積和演算が行われた演算結果を前記3つの出力端子のいずれかよりそれぞれ出力させる出力スイッチ手段と、前記被演算値記憶手段と前記入力情報記憶手段と前記定数値記憶手段とのいずれかより3つのデータを読み出して前記演算処理手段に案内するセレクタ手段と、前記入力スイッチ手段、前記出力スイッチ手段および前記セレクタ手段の制御を行う制御手段とを有し、前記制御手段は、前記演算結果が前記入力端子を介して入力された場合に、前記入力スイッチ手段を制御して当該演算結果を前記入力情報記憶手段のいずれかに案内し、前記セレクタ手段を制御して当該入力情報記憶手段より読み出された演算結果を前記演算処理手段に案内し、一周期においてまだn回の演算処理が行われていない場合には、前記出力スイッチ手段を制御して前記演算処理手段により積和演算が行われた演算結果を、前記演算結果が入力された前記入力端子に対応する軸方向の出力端子より出力し、一周期においてn回目の演算処理が行われた場合には、前記出力スイッチ手段を制御して前記演算処理手段により積和演算が行われた演算結果を、前記演算結果が入力された前記入力端子とは異なる軸方向の出力端子より出力するものであってもよい。   Further, in the array processor, each processing element has one operand value storage means for storing operand values used for the product-sum operation, and the calculation result or the calculation input via the input terminal. Three input information storage means for storing data, three constant value storage means for storing constant values determined in accordance with the calculation method by the product-sum calculation function, the calculation result, the calculation data, and the target An arithmetic processing means for performing a product-sum operation using either an arithmetic value or the constant value, and information input from any of the three input terminals is stored in the input information storage means or the operand value storage means. An input switch means for guiding to any one of the three output terminals, and the calculation data and the calculation result obtained by the product-sum calculation performed by the calculation processing means. Output switch means for outputting, selector means for reading three data from any one of the operand value storage means, the input information storage means, and the constant value storage means, and guiding the data to the arithmetic processing means; Control means for controlling the input switch means, the output switch means, and the selector means, and the control means controls the input switch means when the calculation result is input via the input terminal. Control to guide the calculation result to one of the input information storage means, control the selector means to guide the calculation result read from the input information storage means to the calculation processing means, and in one cycle If n times of arithmetic processing has not yet been performed, the output switch means is controlled to calculate the result of product-sum operation performed by the arithmetic processing means, When the calculation result is output from the axial output terminal corresponding to the input terminal and the nth calculation processing is performed in one cycle, the output switch means is controlled to control the calculation processing means. The calculation result obtained by the product-sum operation may be output from an output terminal in an axial direction different from the input terminal to which the calculation result is input.

このように、プロセッシングエレメントに対して、入力端子を介して取得されたデータを記録する入力情報記憶手段と被演算値を記憶する被演算値記憶手段とを設けることによって、これらの記憶手段を、n回の積和演算において内容が変更されたデータを記憶するための記憶手段(入力情報記憶手段)と、同一周期の処理では変更されないが、異なる周期において内容が変更されたデータを記録するための記憶手段として利用することが可能となる。従って、制御手段の制御に応じて入力スイッチ手段およびセレクタ手段を制御して、処理過程に応じて適切なデータを記憶手段に記憶(退避)させておくことができ、また、適切なタイミングで記憶(退避)されたデータを積和演算処理に利用させることが可能となる。このため結果として、データの入力順番を調整するための専用回路を設けることなく実質的なデータの入替処理を行うことができ、直交変換処理を迅速かつ容易に実行することが可能となる。   Thus, by providing the processing element with the input information storage means for recording the data acquired via the input terminal and the operation value storage means for storing the operation value, these storage means are In order to record data whose contents are changed in a different cycle, but not changed in the processing of the same period as the storage means (input information storage means) for storing data whose contents have been changed in n product-sum operations It can be used as a storage means. Therefore, the input switch means and the selector means can be controlled according to the control of the control means, and appropriate data can be stored (saved) in the storage means according to the processing process, and stored at an appropriate timing. The (saved) data can be used for product-sum operation processing. As a result, substantial data replacement processing can be performed without providing a dedicated circuit for adjusting the data input order, and orthogonal transformation processing can be performed quickly and easily.

また、演算方法に対応して決定される定数値を記憶する定数値記憶手段が設けられているので、この定数値を演算方法に応じて変更することにより、さまざまな種類の三次元直交変換処理を実行することが可能となる。定数値を適宜変更することにより、例えば、後述する実施の形態において説明する離散コサイン変換の他に、ウォルシュ・アダマール変換、離散フーリエ変換、離散サイン変換等を行うことが可能となる。   In addition, since constant value storage means for storing a constant value determined according to the calculation method is provided, various types of three-dimensional orthogonal transformation processing can be performed by changing the constant value according to the calculation method. Can be executed. By appropriately changing the constant value, for example, Walsh-Hadamard transform, discrete Fourier transform, discrete sine transform, etc. can be performed in addition to the discrete cosine transform described in the embodiments described later.

さらに、制御手段が、入力スイッチ手段と、セレクタ手段と、出力スイッチ手段とを、積和演算処理に対応させて適宜制御することにより、3回の周期にわたるn回の積和演算処理を適切に行うことができるので、従来のようなデータの入力順番処理などを直接的に行うことなく、迅速、確実かつ簡易に三次元直交変換処理を行うことが可能となる。   Further, the control means appropriately controls the input switch means, the selector means, and the output switch means in accordance with the product-sum operation process, thereby appropriately performing n product-sum operation processes over three cycles. Therefore, the three-dimensional orthogonal transformation process can be performed quickly, surely and easily without directly performing the conventional data input order process.

本発明に係るアレイプロセッサによれば、各プロセッシングエレメントの入出力端子が軸方向に対応されてトーラス状に接続されているため、積和演算処理に伴う演算結果と演算処理に用いる演算データとをそれぞれ異なる軸方向に対して隣接する他のプロセッシングエレメントに順次送り出しながら(リレーのように順次伝搬させながら)、各プロセッシングエレメントにおいて個別に演算処理を行うことができる。従って、軸方向に配設されたn個のプロセッシングエレメントにおいて演算結果の送り出しを行いつつn回の演算処理を行うことにより、n回の積和演算を軸方向に沿って行うことができる。   According to the array processor of the present invention, since the input / output terminals of the processing elements are connected in a torus shape corresponding to the axial direction, the calculation result associated with the product-sum calculation processing and the calculation data used for the calculation processing are obtained. While sequentially sending out to other processing elements adjacent to each other in different axial directions (sequentially propagating like a relay), it is possible to perform arithmetic processing individually in each processing element. Therefore, n product-sum operations can be performed along the axial direction by performing the arithmetic processing n times while sending the calculation result in n processing elements arranged in the axial direction.

また、直交変換処理を行うためには、データの掛け合わせの都合により、演算結果や演算データ等の入力順番を調整させて演算処理を行う必要があるが、第一周期目(第一回目)の演算処理が行われた後に、送り出しを行う軸方向を変更させることによって、第二周期目および第三周期目において、容易にデータの入力順番の変更を行うことが可能となる。このため、従来のアレイプロセッサのように、データの入力順番を調整するための専用回路を設ける必要がなくなり、入替作業等を直接的に行うことなく直交変換処理を行うことが可能となる。   In order to perform orthogonal transformation processing, it is necessary to perform calculation processing by adjusting the input order of calculation results, calculation data, and the like for convenience of data multiplication. The first cycle (first time) After the calculation process is performed, it is possible to easily change the data input order in the second period and the third period by changing the axial direction in which the feeding is performed. Therefore, unlike the conventional array processor, it is not necessary to provide a dedicated circuit for adjusting the data input order, and it is possible to perform orthogonal transform processing without directly performing replacement work or the like.

実施の形態1および実施の形態2に係るアレイプロセッサの概略構成を模式的に示した図である。It is the figure which showed typically the schematic structure of the array processor which concerns on Embodiment 1 and Embodiment 2. FIG. 実施の形態1に係るプロセッシングエレメントの概略構成を示したブロック図である。3 is a block diagram showing a schematic configuration of a processing element according to Embodiment 1. FIG. 実施の形態1に係るアレイプロセッサを用いて三次元離散コサイン変換処理を行う場合におけるレジスタR0〜R6の初期値および各処理ステップにおいて記録される内容を示した表である。6 is a table showing initial values of registers R0 to R6 and contents recorded in each processing step when a three-dimensional discrete cosine transform process is performed using the array processor according to the first embodiment. 図3に示した表において、各レジスタの内容が変更される状態を処理ステップに応じて矢印で示したものである。In the table shown in FIG. 3, the state in which the contents of each register are changed is indicated by an arrow according to the processing step. 実施の形態1に係るアレイプロセッサを用いて三次元逆離散コサイン変換処理を行う場合におけるレジスタR0〜R6の初期値および各処理ステップにおいて記録される内容を示した表である。6 is a table showing initial values of registers R0 to R6 and contents recorded in each processing step when performing a three-dimensional inverse discrete cosine transform process using the array processor according to the first embodiment. 図5に示した表において、各レジスタの内容が変更される状態を処理ステップに応じて矢印で示したものである。In the table shown in FIG. 5, the state in which the contents of each register are changed is indicated by an arrow according to the processing step. 実施の形態2に係るプロセッシングエレメントの概略構成を示したブロック図である。5 is a block diagram showing a schematic configuration of a processing element according to Embodiment 2. FIG. 実施の形態2に係るアレイプロセッサを用いて三次元離散コサイン変換処理を行う場合におけるレジスタR0〜R6の初期値および各処理ステップにおいて記録される内容を示した表である。10 is a table showing initial values of registers R0 to R6 and contents recorded in each processing step when a three-dimensional discrete cosine transform process is performed using the array processor according to the second embodiment. 図8に示した表において、各レジスタの内容が変更される状態を処理ステップに応じて矢印で示したものである。In the table shown in FIG. 8, the state in which the contents of each register are changed is indicated by an arrow according to the processing step. 実施の形態2に係るアレイプロセッサを用いて三次元逆離散コサイン変換処理を行う場合におけるレジスタR0〜R6の初期値および各処理ステップにおいて記録される内容を示した表である。10 is a table showing initial values of registers R0 to R6 and contents recorded in each processing step when performing a three-dimensional inverse discrete cosine transform process using the array processor according to the second embodiment. 図10に示した表において、各レジスタの内容が変更される状態を処理ステップに応じて矢印で示したものである。In the table shown in FIG. 10, the state in which the contents of each register are changed is indicated by an arrow according to the processing step.

以下、本発明に係るアレイプロセッサを、図面を用いて詳細に説明する。なお、後述する実施の形態1および実施の形態2では、三次元離散コサイン変換(3D Discrete Cosine Transform:3D―DCT)と三次元逆離散コサイン変換(3D Inverse Discrete Cosine Transform:3D−IDCT)とを計算するアレイプロセッサについて説明を行うが、本発明に係るアレイプロセッサは、この三次元離散コサイン変換および三次元逆離散コサイン変換の計算に用いるものだけには限定されず、上述した一般的な式(1)のCを適宜変更することによって、他の変換方式に基づく三次元直交変換処理を実行することができる。   Hereinafter, an array processor according to the present invention will be described in detail with reference to the drawings. In Embodiment 1 and Embodiment 2 described later, 3D Discrete Cosine Transform (3D-DCT) and 3D Inverse Discrete Cosine Transform (3D-IDCT) are performed. The array processor to be calculated will be described. However, the array processor according to the present invention is not limited to the one used for the calculation of the three-dimensional discrete cosine transform and the three-dimensional inverse discrete cosine transform. By appropriately changing C in 1), a three-dimensional orthogonal transformation process based on another transformation method can be executed.

[実施の形態1]
図1は、実施の形態1に係るアレイプロセッサを示した図である。アレイプロセッサ1は、8個のプロセッシングエレメントPEを有している。ここでプロセッシングエレメントPEとは、積和演算処理を行う役割を有するアレイプロセッサの演算構成部である。
[Embodiment 1]
FIG. 1 is a diagram showing an array processor according to the first embodiment. The array processor 1 has eight processing elements PE. Here, the processing element PE is an operation configuration unit of an array processor having a role of performing product-sum operation processing.

プロセッシングエレメントPEは、縦方向、横方向、高さ方向(三軸方向)にそれぞれ2個ずつ配置されており、各プロセッシングエレメントPEは、直方体を成すアレイプロセッサ1の各頂点に一つずつ配置される構成となっている。   Two processing elements PE are arranged in each of the vertical direction, the horizontal direction, and the height direction (triaxial direction), and each processing element PE is arranged at each vertex of the array processor 1 that forms a rectangular parallelepiped. It is the composition which becomes.

実施の形態1では、前述した縦方向をi軸方向、前述した横方向をj軸方向、前述した高さ方向をk軸方向とする。また、各プロセッシングエレメントPEは、それぞれを他のプロセッシングエレメントPEと区別するために、i軸、j軸、k軸により構成されるijk空間の座標位置を用いてPE(i,j,k)で特定される。   In the first embodiment, the aforementioned vertical direction is the i-axis direction, the aforementioned horizontal direction is the j-axis direction, and the aforementioned height direction is the k-axis direction. Each processing element PE is expressed by PE (i, j, k) using the coordinate position of ijk space composed of i-axis, j-axis, and k-axis in order to distinguish each processing element PE from other processing elements PE. Identified.

各プロセッシングエレメントPEは、図1及び図2に示すように、−i軸方向・−j軸方向・k軸方向に設けられる3つの入力端子(i入力端子、j入力端子、k入力端子)と、各入力端子(i入力端子、j入力端子、k入力端子)と対を成してそれぞれi軸方向・j軸方向・−k軸方向に設けられる3つの出力端子(i出力端子、j出力端子、k出力端子)とを有している。   As shown in FIGS. 1 and 2, each processing element PE includes three input terminals (i input terminal, j input terminal, k input terminal) provided in the −i axis direction, the −j axis direction, and the k axis direction. , And three output terminals (i output terminal, j output) provided in pairs with each input terminal (i input terminal, j input terminal, k input terminal) in the i axis direction, j axis direction, and -k axis direction, respectively. Terminal, k output terminal).

各出力端子は、それぞれの出力端子の設置方向(軸方向)に隣接するプロセッシングエレメントPEの対向する(同軸方向に設けられた)入力端子に接続されている。例えば、PE(1,0,1)において−i軸方向に向けて設けられるi出力端子は、PE(0,0,1)においてi軸方向に向けて設けられるi入力端子と接続される。   Each output terminal is connected to an opposing input terminal (provided in the coaxial direction) of the processing element PE adjacent in the installation direction (axial direction) of the respective output terminal. For example, an i output terminal provided in the PE (1, 0, 1) direction in the −i axis direction is connected to an i input terminal provided in the PE (0, 0, 1) direction in the i axis direction.

また、対向する方向に他のプロセッシングエレメントPEが存在しない場合には、それぞれの軸方向に沿った配設位置の両端部に位置するプロセッシングエレメントPEの入力端子および出力端子を接続させることにより、同軸方向に設けられる入力端子および出力端子同士を接続したトーラス状を構成する。   When there is no other processing element PE in the opposing direction, the input terminal and the output terminal of the processing element PE located at both ends of the arrangement positions along the respective axial directions are connected, so that A torus is formed by connecting input terminals and output terminals provided in a direction.

従って、i軸方向に整列されたプロセッシングエレメントPEは、i出力端子より−i軸方向に隣接する他のプロセッシングエレメントPEのi入力端子に対してデータの出力を行うことが可能となっており、i座標が0となる空間位置に存在するプロセッシングエレメントは、そのi出力端子を、i軸方向の他端部側に位置するプロセッシングエレメントのi入力端子にトーラス状に接続させて、データを出力することが可能となっている。この構造は、それぞれj軸方向およびk軸方向に整列されたプロセッシングエレメントPEにおいても同様である。   Therefore, the processing elements PE aligned in the i-axis direction can output data from the i output terminal to the i input terminal of another processing element PE adjacent in the −i axis direction. A processing element existing at a spatial position where the i coordinate is 0 connects its i output terminal to the i input terminal of the processing element located on the other end side in the i-axis direction, and outputs data. It is possible. This structure is also the same in the processing elements PE aligned in the j-axis direction and the k-axis direction, respectively.

このように、三次元空間に配置されたプロセッシングエレメントPEにおいて、それぞれ対応する軸方向に整列された隣接のプロセッシングエレメントPEに対してデータを順次出力することができる。このため、アレイプロセッサ1では、隣接するプロセッシングエレメントPEにおいて演算された算出結果のデータや、演算に用いる所定のデータなどを隣接する他のプロセッシングエレメントPEに順次リレーして、連続的な積和演算処理を、アレイプロセッサ1全体で行うことが可能となっている。   In this way, in the processing elements PE arranged in the three-dimensional space, data can be sequentially output to the adjacent processing elements PE aligned in the corresponding axial direction. For this reason, the array processor 1 sequentially relays data of calculation results calculated in adjacent processing elements PE, predetermined data used for the calculation, and the like to other adjacent processing elements PE to perform continuous product-sum operations. Processing can be performed by the entire array processor 1.

図2は、各プロセッシングエレメントPEの内部構成を示したブロック図である。プロセッシングエレメントPEは、7個のレジスタR0〜R6と、入力スイッチ部4と、セレクタ部5と、演算回路部6と、出力スイッチ部7と、制御回路部8とを有している。   FIG. 2 is a block diagram showing an internal configuration of each processing element PE. The processing element PE has seven registers R0 to R6, an input switch unit 4, a selector unit 5, an arithmetic circuit unit 6, an output switch unit 7, and a control circuit unit 8.

レジスタR0〜R6は、三次元直交変換処理に用いるデータを記録することが可能となっている。レジスタR4、レジスタR5、レジスタR6には、式(1)に示したCのデータが記録される。このCは、実施の形態1に係るアレイプロセッサ1を用いて三次元直交変換処理を行う際に、その演算を行う処理方式に応じて決定される初期値であり、既に説明したように、Cの初期値を変更することによって、例えば、離散コサイン変換(DCT)、ウォルシュ・アダマール変換(WHT)、離散フーリエ変換(DFT)、離散サイン変換(DST)などの演算を行うことが可能となる。   The registers R0 to R6 can record data used for the three-dimensional orthogonal transformation process. In the register R4, the register R5, and the register R6, the data C shown in Expression (1) is recorded. This C is an initial value determined according to the processing method for performing the calculation when performing the three-dimensional orthogonal transformation process using the array processor 1 according to the first embodiment. For example, it is possible to perform operations such as discrete cosine transform (DCT), Walsh Hadamard transform (WHT), discrete Fourier transform (DFT), and discrete sine transform (DST).

実施の形態1に係るアレイプロセッサ1では、三次元離散コサイン変換(3D―DCT)に適した初期値(DCT係数(固定値))が設定される。具体的には、各プロセッシングエレメントのR4に次述するC(i,k)の値が初期値として記録され、レジスタR5に次述するC(k,j)の値が初期値として記録され、レジスタR6に次述するC(i,j)の値が初期値として記録される。   In the array processor 1 according to the first embodiment, an initial value (DCT coefficient (fixed value)) suitable for three-dimensional discrete cosine transform (3D-DCT) is set. Specifically, the value of C (i, k) described below is recorded as an initial value in R4 of each processing element, and the value of C (k, j) described below is recorded as an initial value in register R5. The value of C (i, j) described below is recorded as an initial value in the register R6.

具体的に説明すると、プロセッシングエレメントPEの配置位置の座標位置(i,j,k)において、i=0であり、かつ、0≦k≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR4には、

Figure 0005519951
が記録される。ここで、nは各軸方向に向けて配設されたプロセッシングエレメントPEの個数を示しており、実施の形態1では、i軸方向、j軸方向、k軸方向のそれぞれに対して2個ずつプロセッシングエレメントが配設されているため、以下、nは2(n=2)となる。 More specifically, processing element PE (i, j, k) where i = 0 and 0 ≦ k ≦ n−1 at the coordinate position (i, j, k) of the arrangement position of processing element PE. ) Register R4
Figure 0005519951
Is recorded. Here, n indicates the number of processing elements PE arranged in each axial direction, and in the first embodiment, two each for the i-axis direction, the j-axis direction, and the k-axis direction. Since the processing element is provided, n is 2 (n = 2) below.

次に、1≦i≦n―1であり、かつ、0≦k≦1であるプロセッシングエレメントPE(i,j,k)のレジスタR4には、

Figure 0005519951
が記録される。 Next, the register R4 of the processing element PE (i, j, k) where 1 ≦ i ≦ n−1 and 0 ≦ k ≦ 1
Figure 0005519951
Is recorded.

また、k=0であり、かつ、0≦j≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR5には、

Figure 0005519951
が記録され、また、1≦k≦n−1であり、かつ、0≦j≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR5には、
Figure 0005519951
が記録される。 Further, the register R5 of the processing element PE (i, j, k) where k = 0 and 0 ≦ j ≦ n−1 holds
Figure 0005519951
Is stored in the register R5 of the processing element PE (i, j, k) where 1 ≦ k ≦ n−1 and 0 ≦ j ≦ n−1.
Figure 0005519951
Is recorded.

さらに、また、i=0であり、かつ、0≦j≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR6には、

Figure 0005519951
が記録され、また、1≦i≦n−1であり、かつ、0≦j≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR6には、
Figure 0005519951
が記録される。 Furthermore, the register R6 of the processing element PE (i, j, k) where i = 0 and 0 ≦ j ≦ n−1 is
Figure 0005519951
Is stored in the register R6 of the processing element PE (i, j, k) where 1 ≦ i ≦ n−1 and 0 ≦ j ≦ n−1.
Figure 0005519951
Is recorded.

なお、レジスタR4〜R6に記録される上述した式(3)〜式(8)の設定値(定数値)は、演算処理が終了するまで変更されることなく同一の値が維持される。   It should be noted that the set values (constant values) of the above-described equations (3) to (8) recorded in the registers R4 to R6 are not changed until the calculation process is completed, and the same value is maintained.

次に、レジスタR1、R2、R3には、初期値として0が記録されている。また、レジスタR0には、三次元離散コサイン変換処理を行う三次元の入力データ、具体的には上述した式(1)のX(i,j,k)の値が記録されている。なお、図2に示すように、レジスタR0〜R3には、入力スイッチ部4を介してデータが案内される場合があり、この場合には各レジスタR0〜R3に新たなデータが上書き保存されてしまうため、演算処理に応じて記録されるデータが変更される可能性が生じる。このため、レジスタR0〜R3は、演算処理の処理経過に応じて演算結果、あるいは、演算に用いられる設定値が順次変更され得る。そして、後述するように、最終的にレジスタR3に対して、アレイプロセッサ1により演算された三次元直交変換処理の演算結果が記録される。   Next, 0 is recorded as an initial value in the registers R1, R2, and R3. The register R0 records three-dimensional input data for performing the three-dimensional discrete cosine transform processing, specifically, the value of X (i, j, k) in the above-described equation (1). As shown in FIG. 2, data may be guided to the registers R0 to R3 via the input switch unit 4. In this case, new data is overwritten and saved in the registers R0 to R3. Therefore, there is a possibility that data recorded in accordance with the arithmetic processing is changed. For this reason, in the registers R0 to R3, the calculation result or the setting value used for the calculation can be sequentially changed according to the progress of the calculation process. Then, as will be described later, the calculation result of the three-dimensional orthogonal transformation process finally calculated by the array processor 1 is recorded in the register R3.

入力スイッチ部4は、3つの入力端子(i入力端子、j入力端子、k入力端子)より入力された情報を、制御回路部8の指示に応じて切り替えて、レジスタR0〜R3のいずれかに案内して記録させる役割を有している。実際に入力端子を介して入力されるデータは、3つの入力端子(i入力端子、j入力端子、k入力端子)のうちのいずれか2つの入力端子を介して入力される。制御回路部8では、入力された情報を入力端子の種類に応じて判断し、入力スイッチ部4を制御して、入力されたデータを、それぞれ該当するレジスタ(レジスタR0〜R3のいずれか)に案内して記録させる。   The input switch unit 4 switches information input from three input terminals (i input terminal, j input terminal, k input terminal) in accordance with an instruction from the control circuit unit 8 to any one of the registers R0 to R3. It has a role to guide and record. Data that is actually input via the input terminal is input via any two of the three input terminals (i input terminal, j input terminal, k input terminal). The control circuit unit 8 determines the input information according to the type of the input terminal and controls the input switch unit 4 to transfer the input data to the corresponding register (any one of the registers R0 to R3). Guide and record.

セレクタ部5は、レジスタR0〜R6のいずれか3つのレジスタより演算回路部6の演算処理に用いられるデータを取得して演算回路部6に出力する。セレクタ部5では、取得した3つのデータを、演算回路部6の演算内容に応じて設けられる3つの入力端子(a入力端子,b入力端子およびc入力端子)に出力する。なお、b入力端子に対して出力されたデータは、b入力端子を介して演算回路部6に入力されると共に、そのまま出力スイッチ部7へと出力される。セレクタ部5において、いずれのレジスタ(レジスタR0〜R6のうち3つのレジスタ)からデータを取得するか、および、取得したデータをa入力端子,b入力端子およびc入力端子のいずれに出力するかという判断処理は、制御回路部8の指示に応じて行われる。   The selector unit 5 acquires data used for arithmetic processing of the arithmetic circuit unit 6 from any three of the registers R0 to R6 and outputs the data to the arithmetic circuit unit 6. The selector unit 5 outputs the acquired three data to three input terminals (a input terminal, b input terminal, and c input terminal) provided according to the calculation contents of the arithmetic circuit unit 6. The data output to the b input terminal is input to the arithmetic circuit unit 6 via the b input terminal and is output to the output switch unit 7 as it is. In the selector unit 5, from which register (three of the registers R0 to R6) data is acquired, and whether the acquired data is output to the a input terminal, b input terminal, or c input terminal The determination process is performed according to an instruction from the control circuit unit 8.

演算回路部6では、a入力端子より取得したデータaと、b入力端子より取得したデータbと、c入力端子より取得したデータcとに基づいて、積和演算を行う。積和演算は、演算結果をdとすると、d=a×b+cによって求められる。演算結果dは、演算回路部6の出力端子10を介して出力スイッチ部7に出力される。   The arithmetic circuit unit 6 performs a product-sum operation based on the data a acquired from the a input terminal, the data b acquired from the b input terminal, and the data c acquired from the c input terminal. The product-sum operation is obtained by d = a × b + c, where d is the operation result. The calculation result d is output to the output switch unit 7 via the output terminal 10 of the calculation circuit unit 6.

出力スイッチ部7は、セレクタ部5より演算回路部6のb入力端子に対して出力されたデータbと、演算回路部6の出力端子10を介して出力された演算結果dとを取得し、制御回路部8の指示に応じて、3つの出力端子(i出力端子、j出力端子、k出力端子)のいずれかよりデータbおよび演算結果dを出力させる役割を有している。実際に、出力端子を介して出力されるデータは、3つの出力端子(i出力端子、j出力端子、k出力端子)のうちいずれか2つの出力端子のみである。制御回路部8は、入力されたデータを判断し、出力スイッチ部7を制御することによって、データbおよび演算結果dを、それぞれ該当する出力端子(i出力端子、j出力端子、k出力端子のいずれか)に出力する。   The output switch unit 7 acquires the data b output from the selector unit 5 to the b input terminal of the arithmetic circuit unit 6 and the arithmetic result d output via the output terminal 10 of the arithmetic circuit unit 6, In accordance with an instruction from the control circuit unit 8, the data b and the operation result d are output from any of the three output terminals (i output terminal, j output terminal, k output terminal). Actually, the data output through the output terminal is only two of the three output terminals (i output terminal, j output terminal, k output terminal). The control circuit unit 8 determines the input data and controls the output switch unit 7 to convert the data b and the operation result d into the corresponding output terminals (i output terminal, j output terminal, k output terminal). To either).

制御回路部8は、上述した入力スイッチ部4、セレクタ部5、出力スイッチ部7の操作制御を行う役割を有している。制御回路部8は、入力スイッチ部4,セレクタ部5および出力スイッチ部7に入力されるデータを、その内容や入力された入力端子の種類に応じて判断し、アレイプロセッサ1の処理内容に応じて入力スイッチ部4、セレクタ部5、出力スイッチ部7の制御を行う。   The control circuit unit 8 has a role of performing operation control of the input switch unit 4, the selector unit 5, and the output switch unit 7 described above. The control circuit unit 8 determines the data input to the input switch unit 4, the selector unit 5, and the output switch unit 7 according to the content and the type of input terminal input, and according to the processing content of the array processor 1. The input switch unit 4, the selector unit 5, and the output switch unit 7 are controlled.

なお、図2には示していないが、各プロセッシングエレメントPEには、レジスタR0に対して三次元離散コサイン変換処理を行うための入力データを入力し、また、レジスタR1〜R3に対して初期値0を入力し、さらに、レジスタR4〜R6に対して初期値C(i,k),C(k,j),C(i,j)を入力するためのデータ入力手段や、最終的な演算結果が記録されるレジスタR3よりデータを取得するためのデータ取得手段などが設けられている。   Although not shown in FIG. 2, input data for performing the three-dimensional discrete cosine transform processing on the register R0 is input to each processing element PE, and initial values are input to the registers R1 to R3. 0, and data input means for inputting initial values C (i, k), C (k, j), C (i, j) to the registers R4 to R6, and final calculation Data acquisition means for acquiring data from the register R3 in which the result is recorded is provided.

次に、各プロセッシングエレメントPEの制御回路部8が、入力スイッチ部4,セレクタ部5,および出力スイッチ部7を適宜制御することにより、三次元離散コサイン変換処理(3D―DCT処理)を行う過程を説明する。   Next, a process in which the control circuit unit 8 of each processing element PE performs a three-dimensional discrete cosine transform process (3D-DCT process) by appropriately controlling the input switch unit 4, the selector unit 5, and the output switch unit 7. Will be explained.

図3は、各プロセッシングエレメントPE(i,j,k)における各レジスタR0〜R6の初期値および各処理ステップにおいて記録される内容が利用され、または変更されるレジスタを示した表であり、図4は、図3に示したレジスタの内容が変更される状態を、処理ステップに応じて矢印で示したものである。なお、図4に示した破線による矢印は後述するデータbに該当するデータの出力状態を示しており、実線による矢印は後述する演算結果dに該当するデータの出力状態を示している。   FIG. 3 is a table showing registers in which the initial values of the registers R0 to R6 and the contents recorded in the processing steps in each processing element PE (i, j, k) are used or changed. Reference numeral 4 denotes a state in which the contents of the register shown in FIG. 3 are changed by arrows according to processing steps. 4 indicates the output state of data corresponding to data b described later, and the solid arrow indicates the output state of data corresponding to calculation result d described later.

上述したレジスタR0〜R6の初期値の設定が行われた後、各プロセッシングエレメントPEの制御回路部8は、セレクタ部5を制御して、レジスタR4に記録されるデータを演算回路部6のa入力端子に出力させ、レジスタR0に記録されるデータを演算回路部6のb入力端子に出力させ、レジスタR1に記録されるデータを演算回路部6のc入力端子に出力させる処理を実行する。この処理において、図3および図4に示すように、レジスタR4に記録されるデータは、C(i,k)の初期値であり、レジスタR0に記録されるデータは、三次元離散コサイン変換処理を行うための入力データ:X(i,j,k)であり、レジスタR1に記録されるデータは、初期値の0である。   After the initial values of the registers R0 to R6 are set, the control circuit unit 8 of each processing element PE controls the selector unit 5 so that the data recorded in the register R4 is stored in the a of the arithmetic circuit unit 6. A process of outputting to the input terminal, outputting the data recorded in the register R0 to the b input terminal of the arithmetic circuit unit 6, and outputting the data recorded in the register R1 to the c input terminal of the arithmetic circuit unit 6 is executed. In this process, as shown in FIGS. 3 and 4, the data recorded in the register R4 is an initial value of C (i, k), and the data recorded in the register R0 is subjected to a three-dimensional discrete cosine transform process. Is input data: X (i, j, k), and the data recorded in the register R1 has an initial value of 0.

各プロセッシングエレメントPEの演算回路部6では、データaとして入力されたレジスタR4のデータと、データbとして入力されたレジスタR0のデータと、データcとして入力されたレジスタR1のデータとを用いて、積和演算(d=a×b+cの演算)を実行する。   The arithmetic circuit unit 6 of each processing element PE uses the data of the register R4 input as the data a, the data of the register R0 input as the data b, and the data of the register R1 input as the data c. A product-sum operation (operation of d = a × b + c) is executed.

次いで各プロセッシングエレメントPEの制御回路部8は、出力スイッチ部7を制御して演算結果dとデータbとを取得し、演算結果dをk軸方向に隣接するプロセッシングエレメントPEのk入力端子に出力し、また、データb(詳細には、レジスタR0に記録されていたデータ)を−i軸方向に隣接するプロセッシングエレメントPEのi入力端子に出力する。   Next, the control circuit unit 8 of each processing element PE controls the output switch unit 7 to acquire the calculation result d and data b, and outputs the calculation result d to the k input terminal of the processing element PE adjacent in the k-axis direction. In addition, the data b (specifically, the data recorded in the register R0) is output to the i input terminal of the processing element PE adjacent in the −i axis direction.

そして、各プロセッシングエレメントPEの制御回路部8は、入力スイッチ部4を制御して、隣接するプロセッシングエレメントPEよりk入力端子を介して演算結果dを取得し、i入力端子を介してデータb(レジスタR0のデータ)とを取得して、演算結果dをレジスタR1に記録させるとともに、データb(レジスタR0のデータ)をレジスタR0に記録する。   Then, the control circuit unit 8 of each processing element PE controls the input switch unit 4 to obtain the operation result d from the adjacent processing element PE through the k input terminal, and the data b ( And the operation result d is recorded in the register R1, and the data b (data in the register R0) is recorded in the register R0.

このようにして、各プロセッシングエレメントPEの制御回路部8は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態1では2回)だけ繰り返し実行して、i入力端子およびi出力端子の接続によりトーラス状に接続された経路と、k入力端子およびk出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定のデータを一巡させる。この一巡の処理が第一周期目のn回の積和演算処理に該当する。   In this way, the control circuit unit 8 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the first embodiment, twice), a path connected in a torus shape by connecting the i input terminal and the i output terminal, and the k input terminal and the k output terminal The calculation processing result and the predetermined data are made a round along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the first period.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR1には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果が記録されることになる。実施の形態1では、n=2であるため、2回だけ上述の処理が行われる。図3および図4に示した「0」および「1」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   By repeating this process n times, the result of product-sum operation is recorded in all the processing elements PE arranged in the k-axis direction in the register R1 of each processing element PE. In the first embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “0” and “1” shown in FIG. 3 and FIG. 4 indicate the processing contents corresponding to the above-described two processes.

続いて、各プロセッシングエレメントPEの制御回路部8は、セレクタ部5を制御して、レジスタR5に記録されるデータを演算回路部6のa入力端子に出力させ、レジスタR1に記録されるデータを演算回路部6のb入力端子に出力させ、レジスタR2に記録されるデータを演算回路部6のc入力端子に出力させる処理を実行する。この処理において、レジスタR5に記録されるデータは、C(k,j)の初期値であり、レジスタR1に記録されるデータは、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果であり、レジスタR2に記録されるデータは、初期値の0である。   Subsequently, the control circuit unit 8 of each processing element PE controls the selector unit 5 to output the data recorded in the register R5 to the a input terminal of the arithmetic circuit unit 6, and the data recorded in the register R1. A process of outputting to the b input terminal of the arithmetic circuit unit 6 and outputting the data recorded in the register R2 to the c input terminal of the arithmetic circuit unit 6 is executed. In this processing, the data recorded in the register R5 is the initial value of C (k, j), and the data recorded in the register R1 is sum of products in all the processing elements PE arranged in the k-axis direction. The calculated result and the data recorded in the register R2 has an initial value of 0.

各プロセッシングエレメントPEの演算回路部6では、データaとして入力されたレジスタR5のデータと、データbとして入力されたレジスタR1のデータと、データcとして入力されたレジスタR2のデータとを用いて、積和演算(d=a×b+cの演算)を実行する。   The arithmetic circuit unit 6 of each processing element PE uses the data of the register R5 input as the data a, the data of the register R1 input as the data b, and the data of the register R2 input as the data c. A product-sum operation (operation of d = a × b + c) is executed.

次いで各プロセッシングエレメントPEの制御回路部8は、出力スイッチ部7を制御して、演算結果dとデータbとを取得し、演算結果dを−j軸方向に隣接するプロセッシングエレメントPEのj入力端子に出力し、また、データb(詳細には、レジスタR1に記録されていたデータ)をk軸方向に隣接するプロセッシングエレメントPEのk入力端子に出力する。   Next, the control circuit unit 8 of each processing element PE controls the output switch unit 7 to acquire the operation result d and data b, and the operation result d is j input terminal of the processing element PE adjacent in the −j axis direction. The data b (specifically, data recorded in the register R1) is output to the k input terminal of the processing element PE adjacent in the k-axis direction.

そして、各プロセッシングエレメントPEの制御回路部8は、入力スイッチ部4を制御して、隣接するプロセッシングエレメントPEよりj入力端子を介して演算結果dを取得し、k入力端子を介してデータb(レジスタR1のデータ)を取得して、演算結果dをレジスタR2に記録させるとともに、データb(レジスタR1のデータ)をレジスタR1に記録する。   Then, the control circuit unit 8 of each processing element PE controls the input switch unit 4 to obtain the calculation result d from the adjacent processing element PE through the j input terminal, and the data b ( (Register R1 data) is acquired, the operation result d is recorded in the register R2, and the data b (data in the register R1) is recorded in the register R1.

このようにして、各プロセッシングエレメントPEの制御回路部8は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態1では2回)だけ繰り返し実行して、j入力端子およびj出力端子の接続によりトーラス状に接続された経路と、k入力端子およびk出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第二周期目のn回の積和演算処理に該当する。   In this way, the control circuit unit 8 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the first embodiment, twice), a path connected in a torus shape by connecting the j input terminal and the j output terminal, and the k input terminal and the k output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the second period.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR2には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)であるレジスタR1に基づいて、j軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)が記録され、レジスタR1には、k軸方向に配設された全てのプロセッシングエレメントにおいて積和演算された演算結果が記録されることになる。実施の形態1では、n=2であるため、2回だけ上述の処理が行われる。図3および図4に示した「2」および「3」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   By repeating this processing n times, the result of product-sum operation in all the processing elements PE arranged in the k-axis direction (n-th product in the first cycle) is stored in the register R2 of each processing element PE. Based on the register R1 that is the result of the sum operation process, the result of the product-sum operation on all the processing elements PE arranged in the j-axis direction (by the nth product-sum operation process in the second period) (Operation result) is recorded, and the result of the product-sum operation in all the processing elements arranged in the k-axis direction is recorded in the register R1. In the first embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “2” and “3” shown in FIG. 3 and FIG. 4 indicate the processing contents corresponding to the above-described two processes.

続いて、各プロセッシングエレメントPEの制御回路部8は、セレクタ部5を制御して、レジスタR6に記録されるデータを演算回路部6のa入力端子に出力させ、レジスタR2に記録されるデータを演算回路部6のb入力端子に出力させ、レジスタR3に記録されるデータを演算回路部6のc入力端子に出力させる処理を実行する。この処理において、レジスタR6に記録されるデータは、C(i,j)の初期値であり、レジスタR2に記録されるデータは、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて、j軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)であり、レジスタR3に記録されるデータは、初期値の0である。   Subsequently, the control circuit unit 8 of each processing element PE controls the selector unit 5 to output the data recorded in the register R6 to the a input terminal of the arithmetic circuit unit 6, and the data recorded in the register R2 A process of outputting to the b input terminal of the arithmetic circuit unit 6 and outputting the data recorded in the register R3 to the c input terminal of the arithmetic circuit unit 6 is executed. In this processing, the data recorded in the register R6 is the initial value of C (i, j), and the data recorded in the register R2 is sum of products in all the processing elements PE arranged in the k-axis direction. On the basis of the calculated calculation result (the calculation result by the n-th product-sum calculation process in the first period), the calculation result (second calculation) performed by all the processing elements PE arranged in the j-axis direction The data recorded in the register R3 is an initial value of 0.

各プロセッシングエレメントPEの演算回路部6では、データaとして入力されたレジスタR6のデータと、データbとして入力されたレジスタR2のデータと、データcとして入力されたレジスタR3のデータとを用いて、積和演算(d=a×b+cの演算)を行う。   The arithmetic circuit unit 6 of each processing element PE uses the data of the register R6 input as the data a, the data of the register R2 input as the data b, and the data of the register R3 input as the data c. A product-sum operation (operation of d = a × b + c) is performed.

次いで各プロセッシングエレメントPEの制御回路部8は、出力スイッチ部7を制御して、演算結果dとデータbとを取得して、演算結果dを−i軸方向に隣接するプロセッシングエレメントPEのi入力端子に出力し、また、データb(詳細には、レジスタR2に記録されていたデータ)を−j軸方向に隣接するプロセッシングエレメントPEのj入力端子に出力する。   Next, the control circuit unit 8 of each processing element PE controls the output switch unit 7 to acquire the operation result d and data b, and the operation result d is input to the i of the processing element PE adjacent in the −i axis direction. The data b (specifically, data recorded in the register R2) is output to the j input terminal of the processing element PE adjacent in the −j axis direction.

そして、各プロセッシングエレメントPEの制御回路部8は、入力スイッチ部4を制御して、隣接するプロセッシングエレメントPEよりi入力端子を介して演算結果dを取得し、j入力端子を介してデータb(レジスタR2のデータ)を取得して、演算結果dをレジスタR3に記録させるとともに、データb(レジスタR2のデータ)をR2に記録する。   Then, the control circuit unit 8 of each processing element PE controls the input switch unit 4 to acquire the operation result d from the adjacent processing element PE through the i input terminal, and the data b ( The data (register R2 data) is acquired and the operation result d is recorded in the register R3, and the data b (data in the register R2) is recorded in R2.

このようにして、各プロセッシングエレメントPEの制御回路部8は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態1では2回)だけ繰り返し実行して、i入力端子およびi出力端子の接続によりトーラス状に接続された経路と、j入力端子およびj出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第三周期目のn回の積和演算処理に該当する。   In this way, the control circuit unit 8 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the first embodiment, twice), a path connected in a torus shape by connecting the i input terminal and the i output terminal, and the j input terminal and the j output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the third period.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR3には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて積和演算されたj軸方向に配設される全てのプロセッシングエレメントPEの積和演算結果(第二周期目のn回の積和演算処理による演算結果)を用いて、i軸方向に配設された全てのプロセッシングエレメントPEで演算処理した演算結果(第三周期目のn回の積和演算処理による演算結果)が記録され、レジスタR2には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて、j軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)が記録されることになる。実施の形態1では、n=2であるため、2回だけ上述の処理が行われる。図3および図4に示した「4」および「5」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   As a result of repeating this process n times, the register R3 of each processing element PE stores the result of the product-sum operation in all the processing elements PE arranged in the k-axis direction (nth product in the first period). The product-sum operation results of all the processing elements PE arranged in the j-axis direction that have undergone product-sum operation based on the result of the operation of the sum operation processing (operation results of the n-th product-sum operation processing in the second period) Is used to record the calculation results (calculation results of the nth product-sum calculation processing in the third period) performed by all the processing elements PE arranged in the i-axis direction, and the register R2 stores k Based on the result of the product-sum operation in all the processing elements PE arranged in the axial direction (the operation result by the n-th product-sum operation processing in the first period), the j-axis Product-sum computed operation results in all processing elements PE arranged in direction (calculation result by n multiply and sum operation of the second round eyes) is to be recorded. In the first embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “4” and “5” shown in FIG. 3 and FIG. 4 indicate the processing contents corresponding to the above-described two processes.

このようにして実施の形態1に係るアレイプロセッサ1では、隣接するプロセッシングエレメントPEに対して、演算結果および積和演算に用いる所定データを順次出力してそれぞれのプロセッシングエレメントPEにおいて積和演算処理を行い、この隣接するプロセッシングエレメントPEへの演算結果の出力処理を、順次k軸方向、j軸方向、i軸方向へと出力方向を変えて処理を進めることにより、各演算回路部6における積和演算結果をレジスタR3に記録させることができる。従って、従来のアレイプロセッサのように、計算途中でデータや係数データの入力順番を調整するための専用回路を設ける必要がなく、回路構成の簡素化を図ることが可能となる。また、演算結果を隣接するプロセッシングエレメントPEに順次出力することによって三次元離散コサイン変換処理(三次元直交変換処理)を行うことが可能であるため、各次元の計算途中においてプロセッシングエレメントPEの内部に蓄えられるデータおよび係数行列要素を、従来のように複雑な配線構造を用いて何度も交換し合う必要がなく、処理の迅速化および簡素化を図ることが可能となる。   In this way, in the array processor 1 according to the first embodiment, the operation result and the predetermined data used for the product-sum operation are sequentially output to the adjacent processing elements PE, and the product-sum operation processing is performed in each processing element PE. The output of the calculation result to the adjacent processing element PE is sequentially processed by changing the output direction to the k-axis direction, the j-axis direction, and the i-axis direction. The calculation result can be recorded in the register R3. Therefore, unlike the conventional array processor, it is not necessary to provide a dedicated circuit for adjusting the input order of data and coefficient data during the calculation, and the circuit configuration can be simplified. Further, since the three-dimensional discrete cosine transform process (three-dimensional orthogonal transform process) can be performed by sequentially outputting the calculation result to the adjacent processing element PE, the calculation element PE can be inserted inside the processing element PE during the calculation of each dimension. The stored data and coefficient matrix elements do not need to be exchanged many times using a complicated wiring structure as in the prior art, and the processing can be speeded up and simplified.

このように、実施の形態1に係るアレイプロセッサ1を用いることにより、従来の構成において必須とされていた計算途中におけるデータ同士の入替作業を行うことなくなる。また、複数のプロセッシングエレメントPEを接続させて演算結果処理を順次行うことにより、三次元離散コサイン変換処理(三次元離散直交変換処理)を迅速に実行することができ、さらに回路構成の複雑化を抑制することが可能となる。   As described above, by using the array processor 1 according to the first embodiment, it is not necessary to perform replacement work between data during calculation, which is essential in the conventional configuration. In addition, by connecting a plurality of processing elements PE and sequentially performing calculation result processing, three-dimensional discrete cosine transform processing (three-dimensional discrete orthogonal transform processing) can be performed quickly, and the circuit configuration is further complicated. It becomes possible to suppress.

次に、上述したアレイプロセッサ1を用いて、三次元逆離散コサイン変換(3D−IDCT)を計算する方法を説明する。なお、図5は、各プロセッシングエレメントPE(i,j,k)における各レジスタR0〜R6の初期値および各処理ステップにおいて記録されるレジスタを示した表であり、図6は、図5に示したレジスタの内容が変更される状態を、処理ステップに応じて矢印で示したものである。なお、図6に示した破線による矢印は、演算処理に用いられるデータbに該当するデータの出力状態を示しており、実線による矢印は演算結果dに該当するデータの出力状態を示している。   Next, a method for calculating the three-dimensional inverse discrete cosine transform (3D-IDCT) using the array processor 1 described above will be described. FIG. 5 is a table showing the initial values of the registers R0 to R6 and the registers recorded in each processing step in each processing element PE (i, j, k), and FIG. 6 is shown in FIG. The state in which the contents of the registers are changed is indicated by arrows according to the processing steps. 6 indicates the output state of the data corresponding to the data b used in the calculation process, and the solid line arrow indicates the output state of the data corresponding to the calculation result d.

三次元逆離散コサイン変換を行う場合には、式(2)において三次元逆離散コサイン変換用の固定値(IDCT係数(固定値))として下記のようなC(k,j),C(i,k)およびC(i,j)が用いられ、それぞれの値がレジスタR4,R5,R6に初期値として記録される。   When performing the three-dimensional inverse discrete cosine transform, the following C (k, j), C (i) are used as fixed values (IDCT coefficients (fixed values)) for the three-dimensional inverse discrete cosine transform in Equation (2). , K) and C (i, j) are used, and the respective values are recorded as initial values in the registers R4, R5 and R6.

具体的に説明すると、プロセッシングエレメントPEの配置位置の座標位置(i,j,k)において、k=0であり、かつ、0≦j≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR4には、

Figure 0005519951
が記録される。ここで、nは各軸方向に向けて配設されたプロセッシングエレメントPEの個数を示しており、実施の形態1では、以下、n=2となる。 More specifically, the processing element PE (i, j, k) where k = 0 and 0 ≦ j ≦ n−1 at the coordinate position (i, j, k) of the processing element PE. ) Register R4
Figure 0005519951
Is recorded. Here, n indicates the number of processing elements PE arranged in the respective axial directions, and in the first embodiment, n = 2 hereinafter.

次に、1≦k≦n―1であり、かつ、0≦j≦n−1であるプロセッシングエレメントPE(i,j,k)のレジスタR4には、

Figure 0005519951
が記録される。 Next, in the register R4 of the processing element PE (i, j, k) where 1 ≦ k ≦ n−1 and 0 ≦ j ≦ n−1,
Figure 0005519951
Is recorded.

また、i=0であり、かつ、0≦k≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR5には、

Figure 0005519951
が記録され、また、1≦i≦n−1であり、かつ、0≦k≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR5には、
Figure 0005519951
が記録される。 Further, the register R5 of the processing element PE (i, j, k) where i = 0 and 0 ≦ k ≦ n−1 includes
Figure 0005519951
Is stored in the register R5 of the processing element PE (i, j, k) where 1 ≦ i ≦ n−1 and 0 ≦ k ≦ n−1.
Figure 0005519951
Is recorded.

さらに、また、i=0であり、かつ、0≦j≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR6には、

Figure 0005519951
が記録され、また、1≦i≦n−1であり、かつ、0≦j≦n―1であるプロセッシングエレメントPE(i,j,k)のレジスタR6には、
Figure 0005519951
が記録される。 Furthermore, the register R6 of the processing element PE (i, j, k) where i = 0 and 0 ≦ j ≦ n−1 is
Figure 0005519951
Is stored in the register R6 of the processing element PE (i, j, k) where 1 ≦ i ≦ n−1 and 0 ≦ j ≦ n−1.
Figure 0005519951
Is recorded.

また、レジスタR1、R2、R3には、初期値として0が記録されて、レジスタR0には、三次元逆離散コサイン変換処理を行う三次元の入力データ、具体的には上述した式(2)のY(i,j,k)の値が記録されている。   Also, 0 is recorded as an initial value in the registers R1, R2, and R3, and three-dimensional input data for performing the three-dimensional inverse discrete cosine transform processing, specifically, the above-described equation (2) is stored in the register R0. Y (i, j, k) values are recorded.

このレジスタR0〜R6の初期値の設定が行われた後、各プロセッシングエレメントPEの制御回路部8は、セレクタ部5を制御して、レジスタR4に記録されるデータを演算回路部6のa入力端子に出力させ、レジスタR0に記録されるデータを演算回路部6のb入力端子に出力させ、レジスタR1に記録されるデータを演算回路部6のc入力端子に出力させる処理を実行する。この処理において、レジスタR4に記録されるデータは、C(k,j)の初期値であり、レジスタR0に記録されるデータは、三次元逆離散コサイン変換処理を行うための入力データY(i,j,k)であり、レジスタR1に記録されるデータは、初期値の0である。   After the initial values of the registers R0 to R6 are set, the control circuit unit 8 of each processing element PE controls the selector unit 5 to input the data recorded in the register R4 to the a input of the arithmetic circuit unit 6. A process of outputting data to the terminal, outputting data recorded in the register R0 to the b input terminal of the arithmetic circuit unit 6, and outputting data recorded in the register R1 to the c input terminal of the arithmetic circuit unit 6 is executed. In this process, the data recorded in the register R4 is an initial value of C (k, j), and the data recorded in the register R0 is input data Y (i for performing the three-dimensional inverse discrete cosine transform process. , J, k), and the data recorded in the register R1 has an initial value of 0.

各プロセッシングエレメントPEの演算回路部6では、データaとして入力されたレジスタR4のデータと、データbとして入力されたレジスタR0のデータと、データcとして入力されたレジスタR1のデータとを用いて、積和演算(d=a×b+cの演算)を行う。   The arithmetic circuit unit 6 of each processing element PE uses the data of the register R4 input as the data a, the data of the register R0 input as the data b, and the data of the register R1 input as the data c. A product-sum operation (operation of d = a × b + c) is performed.

次いで各プロセッシングエレメントPEの制御回路部8は、出力スイッチ部7を制御して、演算結果dとデータbとを取得し、演算結果dをk軸方向に隣接するプロセッシングエレメントPEのk入力端子に出力し、また、データb(詳細には、レジスタR0に記録されていたデータ)を−j軸方向に隣接するプロセッシングエレメントPEのj入力端子に出力する。   Next, the control circuit unit 8 of each processing element PE controls the output switch unit 7 to obtain the calculation result d and data b, and the calculation result d is applied to the k input terminal of the processing element PE adjacent in the k-axis direction. Further, data b (specifically, data recorded in the register R0) is output to the j input terminal of the processing element PE adjacent in the −j axis direction.

そして、各プロセッシングエレメントPEの制御回路部8は、入力スイッチ部4を制御して、隣接するプロセッシングエレメントPEよりk入力端子を介して演算結果dを取得し、j入力端子を介してデータb(レジスタR0のデータ)を取得して、演算結果dをレジスタR1に記録させるとともに、データb(レジスタR0のデータ)をレジスタR0に記録する。   Then, the control circuit unit 8 of each processing element PE controls the input switch unit 4 to obtain the operation result d from the adjacent processing element PE through the k input terminal, and the data b ( (Register R0 data) is acquired, the operation result d is recorded in the register R1, and the data b (data in the register R0) is recorded in the register R0.

このようにして、各プロセッシングエレメントPEの制御回路部8は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態1では2回)だけ繰り返し実行して、k入力端子およびk出力端子の接続によりトーラス状に接続された経路と、j入力端子およびj出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第一周期目のn回の積和演算処理に該当する。   In this way, the control circuit unit 8 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (twice in the first embodiment), a path connected in a torus shape by connecting the k input terminal and the k output terminal, and the j input terminal and the j output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the first period.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR1には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)が記録されることになる。実施の形態1では、n=2であるため、2回だけ上述の処理が行われる。図5および図6に示した「0」および「1」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   By repeating this processing n times, the result of product-sum operation in all the processing elements PE arranged in the k-axis direction (nth product in the first cycle) is stored in the register R1 of each processing element PE. The calculation result by the sum calculation process) is recorded. In the first embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “0” and “1” shown in FIG. 5 and FIG. 6 indicate processing contents corresponding to the above-described two processes.

続いて、各プロセッシングエレメントPEの制御回路部8は、セレクタ部5を制御して、レジスタR5に記録されるデータを演算回路部6のa入力端子に出力させ、レジスタR1に記録されるデータを演算回路部6のb入力端子に出力させ、レジスタR2に記録されるデータを演算回路部6のc入力端子に出力させる処理を実行する。この処理において、レジスタR5に記録されるデータは、C(i,k)の初期値であり、レジスタR1に記録されるデータは、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果であり、レジスタR2に記録されるデータは、初期値の0である。   Subsequently, the control circuit unit 8 of each processing element PE controls the selector unit 5 to output the data recorded in the register R5 to the a input terminal of the arithmetic circuit unit 6, and the data recorded in the register R1. A process of outputting to the b input terminal of the arithmetic circuit unit 6 and outputting the data recorded in the register R2 to the c input terminal of the arithmetic circuit unit 6 is executed. In this processing, the data recorded in the register R5 is the initial value of C (i, k), and the data recorded in the register R1 is sum of products in all the processing elements PE arranged in the k-axis direction. The calculated result and the data recorded in the register R2 has an initial value of 0.

各プロセッシングエレメントPEの演算回路部6では、データaとして入力されたレジスタR5のデータと、データbとして入力されたレジスタR1のデータと、データcとして入力されたレジスタR2のデータとを用いて、積和演算(d=a×b+cの演算)を実行する。   The arithmetic circuit unit 6 of each processing element PE uses the data of the register R5 input as the data a, the data of the register R1 input as the data b, and the data of the register R2 input as the data c. A product-sum operation (operation of d = a × b + c) is executed.

次いで各プロセッシングエレメントPEの制御回路部8は、出力スイッチ部7を制御して、演算結果dとデータbとを取得し、演算結果dを−i軸方向に隣接するプロセッシングエレメントPEのi入力端子に出力し、また、データb(詳細には、レジスタR1に記録されていたデータ)をk軸方向に隣接するプロセッシングエレメントPEのk入力端子に出力する。   Next, the control circuit unit 8 of each processing element PE controls the output switch unit 7 to acquire the calculation result d and data b, and the calculation result d is input to the i input terminal of the processing element PE adjacent in the -i axis direction. The data b (specifically, data recorded in the register R1) is output to the k input terminal of the processing element PE adjacent in the k-axis direction.

そして、各プロセッシングエレメントPEの制御回路部8は、入力スイッチ部4を制御して、隣接するプロセッシングエレメントPEよりi入力端子を介して演算結果dを取得し、k入力端子を介してデータb(レジスタR1のデータ)を取得して、演算結果dをレジスタR2に記録させるとともに、データb(レジスタR1のデータ)をレジスタR1に記録する。   Then, the control circuit unit 8 of each processing element PE controls the input switch unit 4 to acquire the operation result d from the adjacent processing element PE through the i input terminal, and the data b ( (Register R1 data) is acquired, the operation result d is recorded in the register R2, and the data b (data in the register R1) is recorded in the register R1.

このようにして、各プロセッシングエレメントPEの制御回路部8は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態1では2回)だけ繰り返し実行して、i入力端子およびi出力端子の接続によりトーラス状に接続された経路と、k入力端子およびk出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第二周期目のn回の積和演算処理に該当する。   In this way, the control circuit unit 8 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the first embodiment, twice), a path connected in a torus shape by connecting the i input terminal and the i output terminal, and the k input terminal and the k output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the second period.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR2には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)であるレジスタR1に基づいて、i軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)が記録され、レジスタR1には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果が記録されることになる。図5および図6に示した「2」および「3」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   By repeating this processing n times, the result of product-sum operation in all the processing elements PE arranged in the k-axis direction (n-th product in the first cycle) is stored in the register R2 of each processing element PE. Based on the register R1 which is the result of the sum operation process, the result of the product-sum operation on all the processing elements PE arranged in the i-axis direction (by n product-sum operation processes in the second period) (Operation result) is recorded, and the result of product-sum operation in all the processing elements PE arranged in the k-axis direction is recorded in the register R1. The processing steps “2” and “3” shown in FIG. 5 and FIG. 6 indicate processing contents corresponding to the above-described two processings.

続いて、各プロセッシングエレメントPEの制御回路部8は、セレクタ部5を制御して、レジスタR6に記録されるデータを演算回路部6のa入力端子に出力させ、レジスタR2に記録されるデータを演算回路部6のb入力端子に出力させ、レジスタR3に記録されるデータを演算回路部6のc入力端子に出力させる処理を実行する。この処理において、レジスタR6に記録されるデータは、C(i,j)の初期値であり、レジスタR2に記録されるデータは、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて、i軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)であり、レジスタR3に記録されるデータは、初期値の0である。   Subsequently, the control circuit unit 8 of each processing element PE controls the selector unit 5 to output the data recorded in the register R6 to the a input terminal of the arithmetic circuit unit 6, and the data recorded in the register R2 A process of outputting to the b input terminal of the arithmetic circuit unit 6 and outputting the data recorded in the register R3 to the c input terminal of the arithmetic circuit unit 6 is executed. In this processing, the data recorded in the register R6 is the initial value of C (i, j), and the data recorded in the register R2 is sum of products in all the processing elements PE arranged in the k-axis direction. Based on the calculated calculation result (the calculation result by the n-th product-sum calculation processing in the first cycle), the calculation result (second calculation) performed by all the processing elements PE arranged in the i-axis direction The data recorded in the register R3 is an initial value of 0.

各プロセッシングエレメントPEの演算回路部6では、データaとして入力されたレジスタR6のデータと、データbとして入力されたレジスタR2のデータと、データcとして入力されたレジスタR3のデータとを用いて、積和演算(d=a×b+cの演算)を行う。   The arithmetic circuit unit 6 of each processing element PE uses the data of the register R6 input as the data a, the data of the register R2 input as the data b, and the data of the register R3 input as the data c. A product-sum operation (operation of d = a × b + c) is performed.

次いで各プロセッシングエレメントPEの制御回路部8は、出力スイッチ部7を制御して、演算結果dとデータbとを取得して、演算結果dを−j軸方向に隣接するプロセッシングエレメントPEのj入力端子に出力し、また、データb(詳細には、レジスタR2に記録されていたデータ)を−i軸方向に隣接するプロセッシングエレメントPEのi入力端子に出力する。   Next, the control circuit unit 8 of each processing element PE controls the output switch unit 7 to acquire the operation result d and data b, and the operation result d is input to the j of the processing element PE adjacent in the −j axis direction. The data b (specifically, data recorded in the register R2) is output to the i input terminal of the processing element PE adjacent in the -i axis direction.

そして、各プロセッシングエレメントPEの制御回路部8は、入力スイッチ部4を制御して、隣接するプロセッシングエレメントPEよりj入力端子を介して演算結果dを取得し、i入力端子を介してデータb(レジスタR2のデータ)を取得して、演算結果dをレジスタR3に記録させるとともに、データb(レジスタR2のデータ)をレジスタR2に記録する。   Then, the control circuit unit 8 of each processing element PE controls the input switch unit 4 to obtain the operation result d from the adjacent processing element PE through the j input terminal, and to the data b ( The data (register R2 data) is acquired, the operation result d is recorded in the register R3, and the data b (data in the register R2) is recorded in the register R2.

このようにして、各プロセッシングエレメントPEの制御回路部8は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態1では2回)だけ繰り返し実行して、j入力端子およびj出力端子の接続によりトーラス状に接続された経路と、i入力端子およびi出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第三周期目のn回の積和演算処理に該当する。   In this way, the control circuit unit 8 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the first embodiment, twice), a path connected in a torus shape by connecting the j input terminal and the j output terminal, and the i input terminal and the i output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the third period.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR3には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて積和演算されたi軸方向に配設される全てのプロセッシングエレメントPEの積和演算結果(第二周期目のn回の積和演算処理による演算結果)を用いて、j軸方向に配設された全てのプロセッシングエレメントPEで演算処理した演算結果(第三周期目のn回の積和演算処理による演算結果)が記録され、レジスタR2には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて、i軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)が記録されることになる。実施の形態1では、n=2であるため、2回だけ上述の処理が行われる。図5および図6に示した「4」および「5」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   As a result of repeating this process n times, the register R3 of each processing element PE stores the result of the product-sum operation in all the processing elements PE arranged in the k-axis direction (nth product in the first period). The product-sum operation results of all the processing elements PE arranged in the i-axis direction that are product-sum-calculated based on the result of the sum operation processing (operation results of the n-th product-sum operation processing in the second period) Are used to record the calculation results (calculation results of the nth product-sum calculation processing in the third cycle) performed by all the processing elements PE arranged in the j-axis direction, and k is stored in the register R2. Based on the result of the product-sum operation in all the processing elements PE arranged in the axial direction (the operation result by the n-th product-sum operation processing in the first period), the i-axis Product-sum computed operation results in all the processing elements PE arranged in direction (calculation result by n times of product-sum operation processing of the second round eyes) is to be recorded. In the first embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “4” and “5” shown in FIG. 5 and FIG. 6 indicate processing contents corresponding to the above-described two processings.

このようにして実施の形態1に係るアレイプロセッサ1では、隣接するプロセッシングエレメントPEに対して、演算結果および積和演算に用いる所定データを順次出力してそれぞれのプロセッシングエレメントPEにおいて積和演算処理を行い、この隣接するプロセッシングエレメントPEへの演算結果の出力処理を、順次k軸方向、i軸方向、j軸方向へと出力方向を変えて処理を進めることにより、各演算回路部6における積和演算結果をレジスタR3に記録させることができる。従って、従来のアレイプロセッサ1のように、計算途中でデータや係数データの入力順番を調整するための専用回路を設ける必要がなく、回路構成の簡素化を図ることが可能となる。また、演算結果を隣接するプロセッシングエレメントPEに順次出力することによって三次元逆離散コサイン変換処理(三次元逆直交変換処理)を行うことが可能であるため、各次元の計算途中においてプロセッシングエレメントPEの内部に蓄えられるデータおよび係数行列要素を、従来のように複雑な配線構造を用いて何度も交換し合う必要がなく、処理の迅速化および簡素化を図ることが可能となる。   In this way, in the array processor 1 according to the first embodiment, the operation result and the predetermined data used for the product-sum operation are sequentially output to the adjacent processing elements PE, and the product-sum operation processing is performed in each processing element PE. The output of the calculation result to the adjacent processing element PE is sequentially processed by changing the output direction to the k-axis direction, the i-axis direction, and the j-axis direction. The calculation result can be recorded in the register R3. Therefore, unlike the conventional array processor 1, it is not necessary to provide a dedicated circuit for adjusting the input order of data and coefficient data during calculation, and the circuit configuration can be simplified. In addition, since the three-dimensional inverse discrete cosine transform process (three-dimensional inverse orthogonal transform process) can be performed by sequentially outputting the calculation results to adjacent processing elements PE, the processing element PE of each dimension is calculated in the middle. It is not necessary to exchange the data and coefficient matrix elements stored in the inside many times using a complicated wiring structure as in the conventional case, and it becomes possible to speed up and simplify the processing.

このように、実施の形態1に係るアレイプロセッサ1を用いることにより、従来の構成において必須とされていた計算途中におけるデータ同士の入替作業を行うことがなくなる。また、複数のプロセッシングエレメントを接続させて演算結果処理を順次行うことにより、三次元逆離散コサイン変換処理(三次元逆離散直交変換処理)を迅速に実行することができ、さらに回路構成の複雑化を抑制することが可能となる。   As described above, by using the array processor 1 according to the first embodiment, it is not necessary to perform replacement work between data during calculation, which is essential in the conventional configuration. In addition, by connecting multiple processing elements and processing the results sequentially, 3D inverse discrete cosine transform processing (3D inverse discrete orthogonal transform processing) can be executed quickly, and the circuit configuration becomes more complex. Can be suppressed.

[実施の形態2]
次に、実施の形態2に係るアレイプロセッサについて説明を行う。実施の形態2に係るアレイプロセッサ1は、図1に示した実施の形態1に係るアレイプロセッサ1を構成するプロセッシングエレメントPEの構成状態(各プロセッシングエレメントPEの接続状態・配置状態)と同様の構成状態であるが、アレイプロセッサを構成するプロセッシングエレメントPEの内部構造が異なっている。
[Embodiment 2]
Next, the array processor according to the second embodiment will be described. The array processor 1 according to the second embodiment has the same configuration as the configuration state of the processing elements PE (connection state / arrangement state of each processing element PE) constituting the array processor 1 according to the first embodiment shown in FIG. In this state, the internal structure of the processing element PE constituting the array processor is different.

図7は、実施の形態2に係るプロセッシングエレメントPEの概略構成を模式的に示した図である。実施の形態2に係るプロセッシングエレメントPEは、実施の形態1に係るプロセッシングエレメントPE(図2参照)と比較して、セレクタ部15から演算回路部16のa入力端子に対して出力されるデータが、演算回路部16のa入力端子だけでなく出力スイッチ部17にも出力することができるように構成される点で相違する。このため、実施の形態2に係るプロセッシングエレメントPEでは、実施の形態1に係るプロセッシングエレメントPEに比べて、出力スイッチ部17へと延設される出力端子の端子数が1本多いという特徴を有している。   FIG. 7 is a diagram schematically showing a schematic configuration of the processing element PE according to the second embodiment. In the processing element PE according to the second embodiment, the data output from the selector unit 15 to the a input terminal of the arithmetic circuit unit 16 is compared with the processing element PE according to the first embodiment (see FIG. 2). The operation circuit unit 16 is different in that it can be output not only to the a input terminal but also to the output switch unit 17. Therefore, the processing element PE according to the second embodiment has a feature that the number of output terminals extended to the output switch unit 17 is one more than that of the processing element PE according to the first embodiment. doing.

また、実施の形態2に係るアレイプロセッサ1では、追加されたa入力端子からの入出力信号に応じて出力スイッチ部17や他の要素を制御するために、制御回路部18が設けられている。なお、出力スイッチ部17と制御回路部18以外の各要素、すなわち入力スイッチ部14,セレクタ部15,演算回路部16およびレジスタR0〜R6は、実施の形態1に係るプロセッシングエレメントPEと同一構成である。   In the array processor 1 according to the second embodiment, a control circuit unit 18 is provided to control the output switch unit 17 and other elements according to the input / output signal from the added a input terminal. . The elements other than the output switch unit 17 and the control circuit unit 18, that is, the input switch unit 14, the selector unit 15, the arithmetic circuit unit 16, and the registers R0 to R6 have the same configuration as the processing element PE according to the first embodiment. is there.

本構成のアレイプロセッサを用いて三次元離散コサイン変換処理(3D−DCT処理)を行う方法を説明する。   A method of performing a three-dimensional discrete cosine transform process (3D-DCT process) using the array processor of this configuration will be described.

まず、各プロセッシングエレメントPE内のレジスタR4〜R6には、式3〜式8に基づいて求められた値が初期値として設定される。なお、これら値は定数であり、全ての演算が終了するまで変更されることはない。また、レジスタR1〜R3には、初期値として0が記録される。さらに、レジスタR0には、三次元離散コサイン変換処理(3D−DCT処理)を行う三次元の入力データ、具体的には前述した式(1)のX(m,j,k)の値が記録されている。ここで、mは、m=(−i−j+k)mod_nで計算される値であり、mod_nはnのモジュロ演算を表している。なお、mは、(−i−j+k)をnで割った余りであり、nは、三次元の入力データn×n×nのサイズ、すなわち、アレイプロセッサ1のサイズを示している。実施の形態2に係るプロセッシングエレメントPEでは、図1に示すようにn=2である。   First, values obtained based on Expressions 3 to 8 are set as initial values in the registers R4 to R6 in each processing element PE. These values are constants and are not changed until all calculations are completed. Further, 0 is recorded as an initial value in the registers R1 to R3. Further, in the register R0, three-dimensional input data for performing the three-dimensional discrete cosine transform process (3D-DCT process), specifically, the value of X (m, j, k) in the above-described equation (1) is recorded. Has been. Here, m is a value calculated by m = (− i−j + k) mod_n, and mod_n represents a modulo operation of n. Note that m is a remainder obtained by dividing (−i−j + k) by n, and n indicates the size of the three-dimensional input data n × n × n, that is, the size of the array processor 1. In the processing element PE according to the second embodiment, n = 2 as shown in FIG.

さらに、図7に示すように、レジスタR0〜R3には、入力スイッチ部14を介してデータが案内される場合があり、この場合には各レジスタR0〜R3に新たなデータが上書き保存されてしまう。このため、後述するように、レジスタR0〜R3は、演算処理に応じて記録されるデータが変更される可能性があり、演算処理の処理経過に応じて演算結果、あるいは、演算に用いられる設定値が順次変更される。そして、最終的には、アレイプロセッサ1によって演算された三次元離散コサイン変換処理(3D−DCT処理)の演算結果が、レジスタR3に記録されることになる。   Furthermore, as shown in FIG. 7, data may be guided to the registers R0 to R3 via the input switch unit 14. In this case, new data is overwritten and saved in the registers R0 to R3. End up. For this reason, as will be described later, in the registers R0 to R3, there is a possibility that the data recorded in accordance with the calculation process may be changed, and the calculation result or the setting used for the calculation depending on the progress of the calculation process. The value is changed sequentially. Finally, the calculation result of the three-dimensional discrete cosine transform process (3D-DCT process) calculated by the array processor 1 is recorded in the register R3.

入力スイッチ部14は、制御回路部18の指示に応じて、3つの入力端子(i入力端子、j入力端子、k入力端子)を切り替えることにより、3つの入力端子を介して隣接するプロセッシングエレメントPEより入力されたデータを、レジスタR0〜R3のいずれかに案内して記録させる役割を有している。実際に入力端子を介して入力されるデータは、3つの入力端子(i入力端子、j入力端子、k入力端子)のうちのいずれか2つの入力端子を介して入力される。制御回路部18では、入力された情報を入力端子の種類に応じて判断し、入力スイッチ部14を制御して、入力されたデータを、それぞれ該当するレジスタ(レジスタR0〜R3のいずれか)に案内して記録させる。   The input switch unit 14 switches the three input terminals (i input terminal, j input terminal, k input terminal) in accordance with an instruction from the control circuit unit 18, thereby adjacent processing elements PE through the three input terminals. It has a role of guiding and recording the data input more by one of the registers R0 to R3. Data that is actually input via the input terminal is input via any two of the three input terminals (i input terminal, j input terminal, k input terminal). The control circuit unit 18 determines the input information according to the type of the input terminal, and controls the input switch unit 14 to transfer the input data to the corresponding register (one of the registers R0 to R3). Guide and record.

セレクタ部15は、レジスタR0〜R6のいずれか3つのレジスタより演算回路部16の演算処理に用いられるデータを取得して演算回路部16に出力する。セレクタ部15では、取得した3つのデータを、演算回路部16の演算内容に応じて設けられる3つの入力端子(a入力端子,b入力端子およびc入力端子)に出力する。なお、a入力端子およびb入力端子に対して出力されたデータは、a入力端子およびb入力端子を介して演算回路部16に入力されると共に、そのまま出力スイッチ部17へと出力される。セレクタ部15において、いずれのレジスタ(レジスタR0〜R6のうち3つのレジスタ)からデータを取得するか、および、取得したデータをa入力端子,b入力端子およびc入力端子のいずれに出力するかという判断処理は、制御回路部18の指示に応じて行われる。   The selector unit 15 acquires data used for the arithmetic processing of the arithmetic circuit unit 16 from any three of the registers R0 to R6 and outputs the data to the arithmetic circuit unit 16. The selector unit 15 outputs the acquired three data to three input terminals (a input terminal, b input terminal, and c input terminal) provided according to the calculation contents of the arithmetic circuit unit 16. The data output to the a input terminal and the b input terminal is input to the arithmetic circuit unit 16 through the a input terminal and the b input terminal, and is output to the output switch unit 17 as it is. In the selector unit 15, from which register (three registers out of the registers R0 to R6) data is acquired, and whether the acquired data is output to the a input terminal, b input terminal, or c input terminal The determination process is performed according to an instruction from the control circuit unit 18.

演算回路部16では、a入力端子より取得したデータaと、b入力端子より取得したデータbと、c入力端子より取得したデータcとに基づいて、積和演算を行う。積和演算は、演算結果をdとすると、d=a×b+cによって求められる。演算結果dは、演算回路部16の出力端子20を介して出力スイッチ部17に出力される。   The arithmetic circuit unit 16 performs a product-sum operation based on the data a acquired from the a input terminal, the data b acquired from the b input terminal, and the data c acquired from the c input terminal. The product-sum operation is obtained by d = a × b + c, where d is the operation result. The calculation result d is output to the output switch unit 17 via the output terminal 20 of the calculation circuit unit 16.

出力スイッチ部17は、セレクタ部15より演算回路部16のa入力端子に対して出力され、さらに、出力端子21を介して出力スイッチ部17へ出力されたデータaと、演算回路部16のb入力端子に対して出力され、さらに、出力端子22を介して出力スイッチ部17へ出力されたデータbと、演算回路部16の出力端子20を介して出力スイッチ部17へ出力された演算結果dとを取得し、制御回路部18の指示に応じて、3つの出力端子(i出力端子、j出力端子、k出力端子)のいずれか2つの端子より、データaまたはデータbのいずれか一方と、演算結果dとを出力させる役割を有している。このため、実際に出力端子を介して出力されるデータは、3つの出力端子(i出力端子、j出力端子、k出力端子)のうちいずれか2つの出力端子のみになる。制御回路部18は、入力されたデータを判断し、出力スイッチ部17を制御することによって、データaまたはデータbのいずれか一方と、演算結果dとを、それぞれ該当する出力端子(i出力端子、j出力端子、k出力端子のいずれか)に出力する。   The output switch unit 17 is output from the selector unit 15 to the a input terminal of the arithmetic circuit unit 16, and is further output to the output switch unit 17 via the output terminal 21 and b of the arithmetic circuit unit 16. The data b output to the input terminal and further output to the output switch unit 17 via the output terminal 22 and the calculation result d output to the output switch unit 17 via the output terminal 20 of the arithmetic circuit unit 16 And according to an instruction from the control circuit unit 18, either one of the data a or data b is received from any two terminals of the three output terminals (i output terminal, j output terminal, k output terminal). , And has a role of outputting the calculation result d. Therefore, the data that is actually output through the output terminal is only two of the three output terminals (i output terminal, j output terminal, k output terminal). The control circuit unit 18 determines the input data and controls the output switch unit 17 so that either the data a or the data b and the calculation result d are output to the corresponding output terminals (i output terminals). , J output terminal, or k output terminal).

制御回路部18は、上述した入力スイッチ部14、セレクタ部15、出力スイッチ部17の操作制御を行う役割を有している。制御回路部18は、入力スイッチ部14,セレクタ部15および出力スイッチ部17に入力されるデータを、その内容や入力された入力端子の種類に応じて判断し、アレイプロセッサ1の処理内容に応じて入力スイッチ部14、セレクタ部15、出力スイッチ部17の制御を行う。   The control circuit unit 18 has a role of performing operation control of the input switch unit 14, the selector unit 15, and the output switch unit 17 described above. The control circuit unit 18 determines the data input to the input switch unit 14, the selector unit 15, and the output switch unit 17 according to the content and the type of input terminal input, and according to the processing content of the array processor 1. The input switch unit 14, the selector unit 15, and the output switch unit 17 are controlled.

なお、図7には示していないが、各プロセッシングエレメントPEには、レジスタR0に対して三次元離散コサイン変換処理を行うための入力データを入力し、また、レジスタR1〜R3に対して初期値0を入力し、さらに、レジスタR4〜R6に対して初期値C(i,k),C(k,j),C(i,j)を入力するためのデータ入力手段や、最終的な演算結果が記録されるレジスタR3よりデータを取得するためのデータ取得手段などが設けられている。   Although not shown in FIG. 7, input data for performing the three-dimensional discrete cosine transform processing on the register R0 is input to each processing element PE, and initial values are input to the registers R1 to R3. 0, and data input means for inputting initial values C (i, k), C (k, j), C (i, j) to the registers R4 to R6, and final calculation Data acquisition means for acquiring data from the register R3 in which the result is recorded is provided.

次に、各プロセッシングエレメントPEの制御回路部18が、入力スイッチ部14,セレクタ部15,および出力スイッチ部17を適宜制御することにより、三次元直交変換の一つである三次元離散コサイン変換処理(3D―DCT処理)を行う過程を説明する。   Next, the control circuit unit 18 of each processing element PE appropriately controls the input switch unit 14, the selector unit 15, and the output switch unit 17, thereby performing a three-dimensional discrete cosine transform process that is one of three-dimensional orthogonal transforms. A process of performing (3D-DCT processing) will be described.

図8は、各プロセッシングエレメントPE(i,j,k)における各レジスタR0〜R6の初期値および各処理ステップにおいて記録される内容が利用され、または変更されるレジスタを示した表である。レジスタR0には、X(m,j,k)が設定される。但し、mの値には、m=(−i−j+k)mod_2で求められる値が用いられる。このため、プロセッシングエレメントPE(0,0,0)のレジスタR0にはX(0,0,0)が設定され、プロセッシングエレメントPE(0,1,0)のレジスタR0にはX(1,1,0)が設定される。また、プロセッシングエレメントPE(1,0,0)のレジスタR0にはX(1,0,0)が設定され、プロセッシングエレメントPE(1,1,0)のレジスタR0にはX(0,1,0)が設定される。さらに、プロセッシングエレメントPE(0,0,1)のレジスタR0にはX(1,0,1)が設定され、プロセッシングエレメントPE(0,1,1)のレジスタR0にはX(0,1,1)が設定される。また、プロセッシングエレメントPE(1,0,1)のレジスタR0にはX(0,0,1)が設定され、プロセッシングエレメントPE(1,1,1)のレジスタR0にはX(1,1,1)が設定される。   FIG. 8 is a table showing registers in which the initial values of the registers R0 to R6 and the contents recorded in the processing steps in each processing element PE (i, j, k) are used or changed. X (m, j, k) is set in the register R0. However, a value obtained by m = (− i−j + k) mod — 2 is used as the value of m. For this reason, X (0,0,0) is set in the register R0 of the processing element PE (0,0,0), and X (1,1) is set in the register R0 of the processing element PE (0,1,0). , 0) is set. In addition, X (1, 0, 0) is set in the register R0 of the processing element PE (1, 0, 0), and X (0, 1, 0) is set in the register R0 of the processing element PE (1, 1, 0). 0) is set. Furthermore, X (1, 0, 1) is set in the register R0 of the processing element PE (0, 0, 1), and X (0, 1, 1) is set in the register R0 of the processing element PE (0, 1, 1). 1) is set. In addition, X (0,0,1) is set in the register R0 of the processing element PE (1, 0, 1), and X (1, 1, 1) is set in the register R0 of the processing element PE (1, 1, 1). 1) is set.

その他の各レジスタの初期値は、実施の形態1において説明した値と同様とする。図9は、図8に示したレジスタR0〜R6の内容が変更される状態を、処理ステップに応じて矢印で示したものである。なお、図9に示した破線による矢印は、後述するデータaまたはデータbのいずれか一方であって、後述する処理において用いられるデータの出力状態を示している。また、実線による矢印は、後述する演算結果dに該当するデータの出力状態を示している。   The initial values of the other registers are the same as those described in the first embodiment. FIG. 9 shows a state in which the contents of the registers R0 to R6 shown in FIG. 8 are changed by arrows according to processing steps. In addition, the arrow by the broken line shown in FIG. 9 is one of data a and data b described later, and indicates the output state of data used in the processing described later. Further, solid arrows indicate the output state of data corresponding to the calculation result d described later.

上述したレジスタR0〜R6の初期値の設定が行われた後、各プロセッシングエレメントPEの制御回路部18は、セレクタ部15を制御して、レジスタR4に記録されるデータを演算回路部16のa入力端子に出力させ、レジスタR0に記録されるデータを演算回路部16のb入力端子に出力させ、レジスタR1に記録されるデータを演算回路部16のc入力端子に出力させる処理を実行する。この処理において、図8および図9に示すように、レジスタR4に記録されるデータは、C(i,k)の初期値であり、レジスタR0に記録されるデータは、三次元離散コサイン変換処理を行うための入力データ:X(m,j,k)、ただし、m=(−i−j+k)mod_2であり、レジスタR1に記録されるデータは、初期値の0である。   After the initial values of the registers R0 to R6 are set, the control circuit unit 18 of each processing element PE controls the selector unit 15 to transfer the data recorded in the register R4 to the a of the arithmetic circuit unit 16. A process of outputting to the input terminal, outputting the data recorded in the register R0 to the b input terminal of the arithmetic circuit unit 16, and outputting the data recorded in the register R1 to the c input terminal of the arithmetic circuit unit 16 is executed. In this processing, as shown in FIGS. 8 and 9, the data recorded in the register R4 is an initial value of C (i, k), and the data recorded in the register R0 is processed by a three-dimensional discrete cosine transform process. Data: X (m, j, k) where m = (− i−j + k) mod — 2, and the data recorded in the register R 1 has an initial value of 0.

各プロセッシングエレメントPEの演算回路部16では、データaとして入力されたレジスタR4のデータと、データbとして入力されたレジスタR0のデータと、データcとして入力されたレジスタR1のデータとを用いて、積和演算(d=a×b+cの演算)を実行する。   The arithmetic circuit unit 16 of each processing element PE uses the data of the register R4 input as the data a, the data of the register R0 input as the data b, and the data of the register R1 input as the data c. A product-sum operation (operation of d = a × b + c) is executed.

次いで各プロセッシングエレメントPEの制御回路部18は、出力スイッチ部17を制御して演算結果d、データaおよびデータbとを取得し、演算結果dをk軸方向に隣接するプロセッシングエレメントPEのk入力端子に出力し、また、データb(詳細には、レジスタR0に記録されていたデータ)を−i軸方向に隣接するプロセッシングエレメントPEのi入力端子に出力する。なお、取得されたデータaに関しては、隣接するプロセッシングエレメントPEに対して出力されない。   Next, the control circuit unit 18 of each processing element PE controls the output switch unit 17 to acquire the operation result d, data a, and data b, and the operation result d is input to the k of the processing element PE adjacent in the k-axis direction. The data b (specifically, data recorded in the register R0) is output to the i input terminal of the processing element PE adjacent in the -i axis direction. Note that the acquired data a is not output to the adjacent processing element PE.

そして、各プロセッシングエレメントPEの制御回路部18は、入力スイッチ部14を制御して、隣接するプロセッシングエレメントPEよりk入力端子を介して演算結果dを取得し、i入力端子を介してデータb(レジスタR0のデータ)とを取得して、演算結果dをレジスタR1に記録させるとともに、データb(レジスタR0のデータ)をレジスタR0に記録する。   Then, the control circuit unit 18 of each processing element PE controls the input switch unit 14 to obtain the operation result d from the adjacent processing element PE through the k input terminal, and the data b ( And the operation result d is recorded in the register R1, and the data b (data in the register R0) is recorded in the register R0.

このようにして、各プロセッシングエレメントPEの制御回路部18は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態2では2回)だけ繰り返し実行して、i入力端子およびi出力端子の接続によりトーラス状に接続された経路と、k入力端子およびk出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定のデータを一巡させる。この一巡の処理が第一周期目のn回の積和演算処理に該当する。なお、第一周期目のn回の積和演算処理において、出力端子21を介して出力スイッチ部17に入力されたデータaは、隣接するプロセッシングエレメントPEに対して出力されることはない。   In this way, the control circuit unit 18 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the second embodiment, twice), a path connected in a torus shape by connecting the i input terminal and the i output terminal, and the k input terminal and the k output terminal The calculation processing result and the predetermined data are made a round along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the first period. Note that, in the first-time n product-sum operation processing, the data a input to the output switch unit 17 via the output terminal 21 is not output to the adjacent processing element PE.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR1には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果が記録されることになる。実施の形態2では、n=2であるため、2回だけ上述の処理が行われる。図8および図9に示した「0」および「1」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   By repeating this process n times, the result of product-sum operation is recorded in all the processing elements PE arranged in the k-axis direction in the register R1 of each processing element PE. In the second embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “0” and “1” shown in FIGS. 8 and 9 indicate processing contents corresponding to the above-described two processings.

続いて、各プロセッシングエレメントPEの制御回路部18は、セレクタ部15を制御して、レジスタR1に記録されるデータを演算回路部16のa入力端子に出力させ、レジスタR5に記録されるデータを演算回路部16のb入力端子に出力させ、レジスタR2に記録されるデータを演算回路部16のc入力端子に出力させる処理を実行する。この処理において、レジスタR5に記録されるデータは、C(k,j)の初期値であり、レジスタR1に記録されるデータは、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果であり、レジスタR2に記録されるデータは、初期値の0である。   Subsequently, the control circuit unit 18 of each processing element PE controls the selector unit 15 to output the data recorded in the register R1 to the a input terminal of the arithmetic circuit unit 16, and the data recorded in the register R5. A process of outputting to the b input terminal of the arithmetic circuit unit 16 and outputting the data recorded in the register R2 to the c input terminal of the arithmetic circuit unit 16 is executed. In this processing, the data recorded in the register R5 is the initial value of C (k, j), and the data recorded in the register R1 is sum of products in all the processing elements PE arranged in the k-axis direction. The calculated result and the data recorded in the register R2 has an initial value of 0.

各プロセッシングエレメントPEの演算回路部16では、データaとして入力されたレジスタR1のデータと、データbとして入力されたレジスタR5のデータと、データcとして入力されたレジスタR2のデータとを用いて、積和演算(d=a×b+cの演算)を実行する。   The arithmetic circuit unit 16 of each processing element PE uses the data of the register R1 input as the data a, the data of the register R5 input as the data b, and the data of the register R2 input as the data c. A product-sum operation (operation of d = a × b + c) is executed.

次いで各プロセッシングエレメントPEの制御回路部18は、出力スイッチ部17を制御して、演算結果d、データaおよびデータbを取得し、演算結果dを−j軸方向に隣接するプロセッシングエレメントPEのj入力端子に出力し、また、データa(詳細には、レジスタR1に記録されていたデータ)をk軸方向に隣接するプロセッシングエレメントPEのk入力端子に出力する。なお、取得されたデータbに関しては、隣接するプロセッシングエレメントPEに対して出力されない。   Next, the control circuit unit 18 of each processing element PE controls the output switch unit 17 to acquire the operation result d, data a, and data b, and the operation result d is j of the processing element PE adjacent in the −j axis direction. The data a is output to the input terminal, and the data a (specifically, the data recorded in the register R1) is output to the k input terminal of the processing element PE adjacent in the k-axis direction. The acquired data b is not output to the adjacent processing element PE.

そして、各プロセッシングエレメントPEの制御回路部18は、入力スイッチ部14を制御して、隣接するプロセッシングエレメントPEよりj入力端子を介して演算結果dを取得し、k入力端子を介してデータa(レジスタR1のデータ)を取得して、演算結果dをレジスタR2に記録させるとともに、データa(レジスタR1のデータ)をレジスタR1に記録する。   Then, the control circuit unit 18 of each processing element PE controls the input switch unit 14 to obtain the operation result d from the adjacent processing element PE through the j input terminal, and the data a ( (Register R1 data) is acquired, the operation result d is recorded in the register R2, and data a (data in the register R1) is recorded in the register R1.

このようにして、各プロセッシングエレメントPEの制御回路部18は、演算結果dおよびデータaを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態2では2回)だけ繰り返し実行して、j入力端子およびj出力端子の接続によりトーラス状に接続された経路と、k入力端子およびk出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第二周期目のn回の積和演算処理に該当する。なお、第二周期目のn回の積和演算処理において、出力端子22を介して出力スイッチ部17に入力されたデータbは、隣接するプロセッシングエレメントPEに対して出力されることはない。   In this way, the control circuit unit 18 of each processing element PE performs the process of outputting the calculation result d and data a to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the second embodiment, twice), a path connected in a torus shape by connecting the j input terminal and the j output terminal, and the k input terminal and the k output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the second period. In the n-th product-sum operation processing in the second period, the data b input to the output switch unit 17 via the output terminal 22 is not output to the adjacent processing element PE.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR2には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)であるレジスタR1に基づいて、j軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)が記録され、レジスタR1には、k軸方向に配設された全てのプロセッシングエレメントにおいて積和演算された演算結果が記録されることになる。実施の形態2では、n=2であるため、2回だけ上述の処理が行われる。図8および図9に示した「2」および「3」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   By repeating this processing n times, the result of product-sum operation in all the processing elements PE arranged in the k-axis direction (n-th product in the first cycle) is stored in the register R2 of each processing element PE. Based on the register R1 that is the result of the sum operation process, the result of the product-sum operation on all the processing elements PE arranged in the j-axis direction (by the nth product-sum operation process in the second period) (Operation result) is recorded, and the result of the product-sum operation in all the processing elements arranged in the k-axis direction is recorded in the register R1. In the second embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “2” and “3” shown in FIGS. 8 and 9 indicate the processing contents corresponding to the above-described two processings.

続いて、各プロセッシングエレメントPEの制御回路部18は、セレクタ部15を制御して、レジスタR2に記録されるデータを演算回路部16のa入力端子に出力させ、レジスタR6に記録されるデータを演算回路部16のb入力端子に出力させ、レジスタR3に記録されるデータを演算回路部16のc入力端子に出力させる処理を実行する。この処理において、レジスタR6に記録されるデータは、C(i,j)の初期値であり、レジスタR2に記録されるデータは、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて、j軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)であり、レジスタR3に記録されるデータは、初期値の0である。   Subsequently, the control circuit unit 18 of each processing element PE controls the selector unit 15 to output the data recorded in the register R2 to the a input terminal of the arithmetic circuit unit 16, and the data recorded in the register R6. A process of outputting to the b input terminal of the arithmetic circuit unit 16 and outputting the data recorded in the register R3 to the c input terminal of the arithmetic circuit unit 16 is executed. In this processing, the data recorded in the register R6 is the initial value of C (i, j), and the data recorded in the register R2 is sum of products in all the processing elements PE arranged in the k-axis direction. On the basis of the calculated calculation result (the calculation result by the n-th product-sum calculation process in the first period), the calculation result (second calculation) performed by all the processing elements PE arranged in the j-axis direction The data recorded in the register R3 is an initial value of 0.

各プロセッシングエレメントPEの演算回路部16では、データaとして入力されたレジスタR2のデータと、データbとして入力されたレジスタR6のデータと、データcとして入力されたレジスタR3のデータとを用いて、積和演算(d=a×b+cの演算)を行う。   The arithmetic circuit unit 16 of each processing element PE uses the data of the register R2 input as the data a, the data of the register R6 input as the data b, and the data of the register R3 input as the data c. A product-sum operation (operation of d = a × b + c) is performed.

次いで各プロセッシングエレメントPEの制御回路部18は、出力スイッチ部17を制御して、演算結果d、データaおよびデータbとを取得して、演算結果dを−i軸方向に隣接するプロセッシングエレメントPEのi入力端子に出力し、また、データa(詳細には、レジスタR2に記録されていたデータ)を−j軸方向に隣接するプロセッシングエレメントPEのj入力端子に出力する。なお、取得されたデータbに関しては、隣接するプロセッシングエレメントPEに対して出力されない。   Next, the control circuit unit 18 of each processing element PE controls the output switch unit 17 to obtain the calculation result d, data a, and data b, and the calculation result d is processed in the processing element PE adjacent in the −i axis direction. The data a (specifically, data recorded in the register R2) is output to the j input terminal of the processing element PE adjacent in the −j axis direction. The acquired data b is not output to the adjacent processing element PE.

そして、各プロセッシングエレメントPEの制御回路部18は、入力スイッチ部14を制御して、隣接するプロセッシングエレメントPEよりi入力端子を介して演算結果dを取得し、j入力端子を介してデータa(レジスタR2のデータ)を取得して、演算結果dをレジスタR3に記録させるとともに、データa(レジスタR2のデータ)をレジスタR2に記録する。   Then, the control circuit unit 18 of each processing element PE controls the input switch unit 14 to obtain the operation result d from the adjacent processing element PE through the i input terminal, and the data a ( The data (register R2 data) is acquired, the operation result d is recorded in the register R3, and the data a (data in the register R2) is recorded in the register R2.

このようにして、各プロセッシングエレメントPEの制御回路部18は、演算結果dおよびデータaを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態2では2回)だけ繰り返し実行して、i入力端子およびi出力端子の接続によりトーラス状に接続された経路と、j入力端子およびj出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第三周期目のn回の積和演算処理に該当する。なお、第三周期目のn回の積和演算処理において、出力端子22を介して出力スイッチ部17に入力されたデータbは、隣接するプロセッシングエレメントPEに対して出力されることはない。   In this way, the control circuit unit 18 of each processing element PE performs the process of outputting the calculation result d and data a to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (twice in the second embodiment), a path connected in a torus shape by connecting the i input terminal and the i output terminal, and the j input terminal and the j output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the third period. Note that in the third product-sum operation processing in the third period, the data b input to the output switch unit 17 via the output terminal 22 is not output to the adjacent processing element PE.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR3には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて積和演算されたj軸方向に配設される全てのプロセッシングエレメントPEの積和演算結果(第二周期目のn回の積和演算処理による演算結果)を用いて、i軸方向に配設された全てのプロセッシングエレメントPEで演算処理した演算結果(第三周期目のn回の積和演算処理による演算結果)が記録される。これは、すなわち、三次元離散コサイン変換の計算結果である。また、レジスタR2には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて、j軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)が記録されることになる。これは、すなわち、i軸方向およびj軸方向で構成される二次元の離散コサイン変換の計算結果である。さらに、レジスタR1には、i軸方向の一次元の離散コサイン変換の計算結果が記録されることになる。実施の形態2では、n=2であるため、2回だけ上述の処理が行われる。図8および図9に示した「4」および「5」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   As a result of repeating this process n times, the register R3 of each processing element PE stores the result of the product-sum operation in all the processing elements PE arranged in the k-axis direction (nth product in the first period). The product-sum operation results of all the processing elements PE arranged in the j-axis direction that have undergone product-sum operation based on the result of the operation of the sum operation processing (operation results of the n-th product-sum operation processing in the second period) Are used to record the calculation results (calculation results of the nth product-sum calculation processing in the third period) performed by all the processing elements PE arranged in the i-axis direction. This is the calculation result of the three-dimensional discrete cosine transform. In addition, the register R2 stores j based on the operation result obtained by the product-sum operation in all the processing elements PE arranged in the k-axis direction (the operation result obtained by n times product-sum operation processing in the first period). The result of the product-sum operation performed by all the processing elements PE arranged in the axial direction (the operation result by the n-th product-sum operation processing in the second period) is recorded. This is a calculation result of a two-dimensional discrete cosine transform composed of the i-axis direction and the j-axis direction. Further, the calculation result of the one-dimensional discrete cosine transform in the i-axis direction is recorded in the register R1. In the second embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “4” and “5” shown in FIGS. 8 and 9 indicate the processing contents corresponding to the above-described two processings.

このようにして実施の形態2に係るアレイプロセッサ1では、隣接するプロセッシングエレメントPEに対して、演算結果および積和演算に用いる所定データを順次出力してそれぞれのプロセッシングエレメントPEにおいて積和演算処理を行い、この隣接するプロセッシングエレメントPEへの演算結果の出力処理を、順次k軸方向、j軸方向、i軸方向へと出力方向を変えて処理を進めることにより、各演算回路部16における積和演算結果をレジスタR3に記録させることができる。従って、従来のアレイプロセッサのように、計算途中でデータや係数データの入力順番を調整するための専用回路を設ける必要がなく、回路構成の簡素化を図ることが可能となる。また、演算結果を隣接するプロセッシングエレメントPEに順次出力することによって三次元離散コサイン変換処理(三次元直交変換処理)を行うことが可能であるため、各次元の計算途中においてプロセッシングエレメントPEの内部に蓄えられるデータおよび係数行列要素を、従来のように複雑な配線構造を用いて何度も交換し合う必要がなく、処理の迅速化および簡素化を図ることが可能となる。   In this manner, in the array processor 1 according to the second embodiment, the operation result and the predetermined data used for the product-sum operation are sequentially output to the adjacent processing elements PE, and the product-sum operation processing is performed in each processing element PE. The output of the calculation result to the adjacent processing element PE is sequentially processed by changing the output direction to the k-axis direction, the j-axis direction, and the i-axis direction. The calculation result can be recorded in the register R3. Therefore, unlike the conventional array processor, it is not necessary to provide a dedicated circuit for adjusting the input order of data and coefficient data during the calculation, and the circuit configuration can be simplified. Further, since the three-dimensional discrete cosine transform process (three-dimensional orthogonal transform process) can be performed by sequentially outputting the calculation result to the adjacent processing element PE, the calculation element PE can be inserted inside the processing element PE during the calculation of each dimension. The stored data and coefficient matrix elements do not need to be exchanged many times using a complicated wiring structure as in the prior art, and the processing can be speeded up and simplified.

このように、実施の形態2に係るアレイプロセッサ1を用いることにより、従来の構成において必須とされていた計算途中におけるデータ同士の入替作業を行うことなくなる。また、複数のプロセッシングエレメントPEを接続させて演算結果処理を順次行うことにより、三次元離散コサイン変換処理(三次元直交変換処理)を迅速に実行することができ、さらに回路構成の複雑化を抑制することが可能となる。   As described above, by using the array processor 1 according to the second embodiment, it is not necessary to perform replacement work of data during calculation, which is essential in the conventional configuration. In addition, by connecting a plurality of processing elements PE and sequentially performing processing result processing, three-dimensional discrete cosine transform processing (three-dimensional orthogonal transform processing) can be executed quickly, and the complexity of the circuit configuration is further suppressed. It becomes possible to do.

次に、上述したアレイプロセッサ1を用いて、三次元逆離散コサイン変換(3D−IDCT)を計算する方法を説明する。なお、図10は、各プロセッシングエレメントPE(i,j,k)における各レジスタR0〜R6の初期値および各処理ステップにおいて記録されるレジスタを示した表であり、図11は、図10に示したレジスタの内容が変更される状態を、処理ステップに応じて矢印で示したものである。なお、図11に示した破線による矢印は、演算処理に用いられるデータaまたはデータbのいずれか一方であって、後述する処理において用いられるデータの出力状態を示している。また、実線による矢印は、演算結果dに該当するデータの出力状態を示している。   Next, a method for calculating the three-dimensional inverse discrete cosine transform (3D-IDCT) using the array processor 1 described above will be described. FIG. 10 is a table showing the initial values of the registers R0 to R6 and the registers recorded in each processing step in each processing element PE (i, j, k), and FIG. 11 is shown in FIG. The state in which the contents of the registers are changed is indicated by arrows according to the processing steps. In addition, the arrow by the broken line shown in FIG. 11 is one of the data a and data b used in the calculation process, and indicates the output state of data used in the process described later. An arrow with a solid line indicates an output state of data corresponding to the calculation result d.

まず始めに、各プロセッシングエレメントPE内のレジスタR0〜R6の初期値を設定する。ここで、レジスタR4、R5、R6には、式9〜式14により求められる値が初期値として設定される。こららは、定数であり、演算終了まで変更されることはない。   First, initial values of the registers R0 to R6 in each processing element PE are set. Here, in the registers R4, R5, and R6, values obtained by Expressions 9 to 14 are set as initial values. These are constants and are not changed until the end of the operation.

また、レジスタR1〜R3には、初期値として0が記録され、レジスタR0には、三次元逆離散コサイン変換処理(3D−IDCT処理)を行う三次元の入力データ、具体的には上述した式(2)のY(i,m,k)の値が記録されている。ここで、mは、m=(−i−j+k)mod_nで計算される値であり、mod_nはnのモジュロ演算を表す。すなわち,mは、(−i−j+k)をnで割った余りである。また、nは、三次元の入力データn×n×nのサイズ、すなわち、アレイプロセッサ1のサイズを示している。実施の形態2に係るプロセッシングエレメントPEでは、図1に示すようにn=2である。   Also, 0 is recorded in the registers R1 to R3 as an initial value, and in the register R0, three-dimensional input data for performing a three-dimensional inverse discrete cosine transform process (3D-IDCT process), specifically, the above-described formula The value of Y (i, m, k) in (2) is recorded. Here, m is a value calculated by m = (− i−j + k) mod_n, and mod_n represents a modulo operation of n. That is, m is a remainder obtained by dividing (−i−j + k) by n. N indicates the size of the three-dimensional input data n × n × n, that is, the size of the array processor 1. In the processing element PE according to the second embodiment, n = 2 as shown in FIG.

従って、プロセッシングエレメントPE(0,0,0)のレジスタR0にはY(0,0,0)が設定され、プロセッシングエレメントPE(0,1,0)のレジスタR0にはY(0,1,0)が設定される。また、プロセッシングエレメントPE(1,0,0)のレジスタR0にはY(1,1,0)が設定され、プロセッシングエレメントPE(1,1,0)のレジスタR0にはY(1,0,0)が設定される。さらに、プロセッシングエレメントPE(0,0,1)のレジスタR0にはY(0,1,1)が設定され、プロセッシングエレメントPE(0,1,1)のレジスタR0にはY(0,0,1)が設定される。また、プロセッシングエレメントPE(1,0,1)のレジスタR0にはY(1,0,1)が設定され、プロセッシングエレメントPE(1,1,1)のレジスタR0にはY(1,1,1)が設定される。   Accordingly, Y (0,0,0) is set in the register R0 of the processing element PE (0,0,0), and Y (0,1,0) is set in the register R0 of the processing element PE (0,1,0). 0) is set. Further, Y (1,1,0) is set in the register R0 of the processing element PE (1, 0, 0), and Y (1, 0, 0) is set in the register R0 of the processing element PE (1, 1, 0). 0) is set. Further, Y (0,1,1) is set in the register R0 of the processing element PE (0,0,1), and Y (0,0,1) is set in the register R0 of the processing element PE (0,1,1). 1) is set. In addition, Y (1, 0, 1) is set in the register R0 of the processing element PE (1, 0, 1), and Y (1, 1, 1) is set in the register R0 of the processing element PE (1, 1, 1). 1) is set.

このレジスタR0〜R6の初期値の設定が行われた後、各プロセッシングエレメントPEの制御回路部18は、セレクタ部15を制御して、レジスタR0に記録されるデータを演算回路部16のa入力端子に出力させ、レジスタR4に記録されるデータを演算回路部16のb入力端子に出力させ、レジスタR1に記録されるデータを演算回路部16のc入力端子に出力させる処理を実行する。この処理において、レジスタR4に記録されるデータは、C(k,j)の初期値であり、レジスタR0に記録されるデータは、三次元逆離散コサイン変換処理(3D−IDCT処理)を行うための入力データY(i,m,k)、ただしm=(−i−j+k)mod_n、であり、レジスタR1に記録されるデータは、初期値の0である。   After the initial values of the registers R0 to R6 are set, the control circuit unit 18 of each processing element PE controls the selector unit 15 to input the data recorded in the register R0 to the a input of the arithmetic circuit unit 16. A process of outputting data to the terminal, outputting data recorded in the register R4 to the b input terminal of the arithmetic circuit unit 16, and outputting data recorded in the register R1 to the c input terminal of the arithmetic circuit unit 16 is executed. In this process, the data recorded in the register R4 is an initial value of C (k, j), and the data recorded in the register R0 is subjected to a three-dimensional inverse discrete cosine transform process (3D-IDCT process). Input data Y (i, m, k), where m = (− i−j + k) mod_n, and the data recorded in the register R1 has an initial value of 0.

各プロセッシングエレメントPEの演算回路部16では、データaとして入力されたレジスタR0のデータと、データbとして入力されたレジスタR4のデータと、データcとして入力されたレジスタR1のデータとを用いて、積和演算(d=a×b+cの演算)を行う。   The arithmetic circuit unit 16 of each processing element PE uses the data of the register R0 input as the data a, the data of the register R4 input as the data b, and the data of the register R1 input as the data c. A product-sum operation (operation of d = a × b + c) is performed.

次いで各プロセッシングエレメントPEの制御回路部18は、出力スイッチ部17を制御して、演算結果d、データaおよびデータbを取得し、演算結果dをk軸方向に隣接するプロセッシングエレメントPEのk入力端子に出力し、また、データa(詳細には、レジスタR0に記録されていたデータ)を−j軸方向に隣接するプロセッシングエレメントPEのj入力端子に出力する。なお、取得されたデータbに関しては、隣接するプロセッシングエレメントPEに対して出力されない。   Next, the control circuit unit 18 of each processing element PE controls the output switch unit 17 to obtain the operation result d, data a, and data b, and the operation result d is input to the k of the processing element PE adjacent in the k-axis direction. Further, the data a (specifically, data recorded in the register R0) is output to the j input terminal of the processing element PE adjacent in the −j axis direction. The acquired data b is not output to the adjacent processing element PE.

そして、各プロセッシングエレメントPEの制御回路部18は、入力スイッチ部14を制御して、隣接するプロセッシングエレメントPEよりk入力端子を介して演算結果dを取得し、j入力端子を介してデータa(レジスタR0のデータ)を取得して、演算結果dをレジスタR1に記録させるとともに、データa(レジスタR0のデータ)をレジスタR0に記録する。   Then, the control circuit unit 18 of each processing element PE controls the input switch unit 14 to obtain the operation result d from the adjacent processing element PE through the k input terminal, and the data a ( Register R0) and record the operation result d in the register R1, and record data a (data in the register R0) in the register R0.

このようにして、各プロセッシングエレメントPEの制御回路部18は、演算結果dおよびデータaを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態2では2回)だけ繰り返し実行して、k入力端子およびk出力端子の接続によりトーラス状に接続された経路と、j入力端子およびj出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第一周期目のn回の積和演算処理に該当する。なお、第一周期目のn回の積和演算処理において、出力端子22を介して出力スイッチ部17に入力されたデータbは、隣接するプロセッシングエレメントPEに対して出力されることはない。   In this way, the control circuit unit 18 of each processing element PE performs the process of outputting the calculation result d and data a to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (twice in the second embodiment), a path connected in a torus shape by connecting the k input terminal and the k output terminal, and the j input terminal and the j output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the first period. Note that, in the n-th product-sum operation processing in the first period, the data b input to the output switch unit 17 via the output terminal 22 is not output to the adjacent processing element PE.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR1には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)が記録されることになる。実施の形態2では、n=2であるため、2回だけ上述の処理が行われる。図10および図11に示した「0」および「1」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   By repeating this processing n times, the result of product-sum operation in all the processing elements PE arranged in the k-axis direction (nth product in the first cycle) is stored in the register R1 of each processing element PE. The calculation result by the sum calculation process) is recorded. In the second embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “0” and “1” shown in FIGS. 10 and 11 indicate the processing contents corresponding to the above-described two processings.

続いて、各プロセッシングエレメントPEの制御回路部18は、セレクタ部15を制御して、レジスタR5に記録されるデータを演算回路部16のa入力端子に出力させ、レジスタR1に記録されるデータを演算回路部16のb入力端子に出力させ、レジスタR2に記録されるデータを演算回路部16のc入力端子に出力させる処理を実行する。この処理において、レジスタR5に記録されるデータは、C(i,k)の初期値であり、レジスタR1に記録されるデータは、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果であり、レジスタR2に記録されるデータは、初期値の0である。   Subsequently, the control circuit unit 18 of each processing element PE controls the selector unit 15 to output the data recorded in the register R5 to the a input terminal of the arithmetic circuit unit 16, and the data recorded in the register R1. A process of outputting to the b input terminal of the arithmetic circuit unit 16 and outputting the data recorded in the register R2 to the c input terminal of the arithmetic circuit unit 16 is executed. In this processing, the data recorded in the register R5 is the initial value of C (i, k), and the data recorded in the register R1 is sum of products in all the processing elements PE arranged in the k-axis direction. The calculated result and the data recorded in the register R2 has an initial value of 0.

各プロセッシングエレメントPEの演算回路部16では、データaとして入力されたレジスタR5のデータと、データbとして入力されたレジスタR1のデータと、データcとして入力されたレジスタR2のデータとを用いて、積和演算(d=a×b+cの演算)を実行する。   The arithmetic circuit unit 16 of each processing element PE uses the data in the register R5 input as the data a, the data in the register R1 input as the data b, and the data in the register R2 input as the data c. A product-sum operation (operation of d = a × b + c) is executed.

次いで各プロセッシングエレメントPEの制御回路部18は、出力スイッチ部17を制御して、演算結果d、データaおよびデータbを取得し、演算結果dを−i軸方向に隣接するプロセッシングエレメントPEのi入力端子に出力し、また、データb(詳細には、レジスタR1に記録されていたデータ)をk軸方向に隣接するプロセッシングエレメントPEのk入力端子に出力する。なお、取得されたデータaに関しては、隣接するプロセッシングエレメントPEに対して出力されない。   Next, the control circuit unit 18 of each processing element PE controls the output switch unit 17 to obtain the calculation result d, data a, and data b, and the calculation result d is converted to i of the processing element PE adjacent in the −i axis direction. The data b is output to the input terminal, and the data b (specifically, the data recorded in the register R1) is output to the k input terminal of the processing element PE adjacent in the k-axis direction. Note that the acquired data a is not output to the adjacent processing element PE.

そして、各プロセッシングエレメントPEの制御回路部18は、入力スイッチ部14を制御して、隣接するプロセッシングエレメントPEよりi入力端子を介して演算結果dを取得し、k入力端子を介してデータb(レジスタR1のデータ)を取得して、演算結果dをレジスタR2に記録させるとともに、データb(レジスタR1のデータ)をレジスタR1に記録する。   Then, the control circuit unit 18 of each processing element PE controls the input switch unit 14 to obtain the operation result d from the adjacent processing element PE through the i input terminal, and the data b ( (Register R1 data) is acquired, the operation result d is recorded in the register R2, and the data b (data in the register R1) is recorded in the register R1.

このようにして、各プロセッシングエレメントPEの制御回路部18は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態2では2回)だけ繰り返し実行して、i入力端子およびi出力端子の接続によりトーラス状に接続された経路と、k入力端子およびk出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第二周期目のn回の積和演算処理に該当する。なお、第二周期目のn回の積和演算処理において、出力端子21を介して出力スイッチ部17に入力されたデータaは、隣接するプロセッシングエレメントPEに対して出力されることはない。   In this way, the control circuit unit 18 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the second embodiment, twice), a path connected in a torus shape by connecting the i input terminal and the i output terminal, and the k input terminal and the k output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the second period. Note that in the n-th product-sum operation processing in the second cycle, the data a input to the output switch unit 17 via the output terminal 21 is not output to the adjacent processing element PE.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR2には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)であるレジスタR1に基づいて、i軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)が記録され、レジスタR1には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果が記録されることになる。図10および図11に示した「2」および「3」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   By repeating this processing n times, the result of product-sum operation in all the processing elements PE arranged in the k-axis direction (n-th product in the first cycle) is stored in the register R2 of each processing element PE. Based on the register R1 which is the result of the sum operation process, the result of the product-sum operation on all the processing elements PE arranged in the i-axis direction (by n product-sum operation processes in the second period) (Operation result) is recorded, and the result of product-sum operation in all the processing elements PE arranged in the k-axis direction is recorded in the register R1. The processing steps “2” and “3” shown in FIG. 10 and FIG. 11 indicate the processing contents corresponding to the above-described two processings.

続いて、各プロセッシングエレメントPEの制御回路部18は、セレクタ部15を制御して、レジスタR6に記録されるデータを演算回路部16のa入力端子に出力させ、レジスタR2に記録されるデータを演算回路部16のb入力端子に出力させ、レジスタR3に記録されるデータを演算回路部16のc入力端子に出力させる処理を実行する。この処理において、レジスタR6に記録されるデータは、C(i,j)の初期値であり、レジスタR2に記録されるデータは、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて、i軸方向に配設された全てのプロセッシングエレメントPEで積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)であり、レジスタR3に記録されるデータは、初期値の0である。   Subsequently, the control circuit unit 18 of each processing element PE controls the selector unit 15 to output the data recorded in the register R6 to the a input terminal of the arithmetic circuit unit 16, and the data recorded in the register R2 A process of outputting to the b input terminal of the arithmetic circuit unit 16 and outputting the data recorded in the register R3 to the c input terminal of the arithmetic circuit unit 16 is executed. In this processing, the data recorded in the register R6 is the initial value of C (i, j), and the data recorded in the register R2 is sum of products in all the processing elements PE arranged in the k-axis direction. Based on the calculated calculation result (the calculation result by the n-th product-sum calculation processing in the first cycle), the calculation result (second calculation) performed by all the processing elements PE arranged in the i-axis direction The data recorded in the register R3 is an initial value of 0.

各プロセッシングエレメントPEの演算回路部16では、データaとして入力されたレジスタR6のデータと、データbとして入力されたレジスタR2のデータと、データcとして入力されたレジスタR3のデータとを用いて、積和演算(d=a×b+cの演算)を行う。   The arithmetic circuit unit 16 of each processing element PE uses the data of the register R6 input as the data a, the data of the register R2 input as the data b, and the data of the register R3 input as the data c. A product-sum operation (operation of d = a × b + c) is performed.

次いで各プロセッシングエレメントPEの制御回路部18は、出力スイッチ部17を制御して、演算結果d、データaおよびデータbとを取得して、演算結果dを−j軸方向に隣接するプロセッシングエレメントPEのj入力端子に出力し、また、データb(詳細には、レジスタR2に記録されていたデータ)を−i軸方向に隣接するプロセッシングエレメントPEのi入力端子に出力する。なお、取得されたデータaに関しては、隣接するプロセッシングエレメントPEに対して出力されない。   Next, the control circuit unit 18 of each processing element PE controls the output switch unit 17 to obtain the operation result d, data a, and data b, and the operation result d is adjacent to the processing element PE in the −j axis direction. The data b (specifically, data recorded in the register R2) is output to the i input terminal of the processing element PE adjacent in the -i axis direction. Note that the acquired data a is not output to the adjacent processing element PE.

そして、各プロセッシングエレメントPEの制御回路部18は、入力スイッチ部14を制御して、隣接するプロセッシングエレメントPEよりj入力端子を介して演算結果dを取得し、i入力端子を介してデータb(レジスタR2のデータ)を取得して、演算結果dをレジスタR3に記録させるとともに、データb(レジスタR2のデータ)をレジスタR2に記録する。   Then, the control circuit unit 18 of each processing element PE controls the input switch unit 14 to obtain the calculation result d from the adjacent processing element PE through the j input terminal, and the data b ( (Register R2 data) is acquired, and the operation result d is recorded in the register R3, and the data b (data in the register R2) is recorded in the register R2.

このようにして、各プロセッシングエレメントPEの制御回路部18は、演算結果dおよびデータbを隣接したプロセッシングエレメントPEに対して出力する処理を、各軸方向に配設されるプロセッシングエレメントPEの配置個数に対応する回数、つまりn回(実施の形態2では2回)だけ繰り返し実行して、j入力端子およびj出力端子の接続によりトーラス状に接続された経路と、i入力端子およびi出力端子の接続によりトーラス状に接続された経路とに沿って、演算処理結果および所定データを一巡させる。この一巡の処理が第三周期目のn回の積和演算処理に該当する。なお、第三周期目のn回の積和演算処理において、出力端子21を介して出力スイッチ部17に入力されたデータaは、隣接するプロセッシングエレメントPEに対して出力されることはない。   In this way, the control circuit unit 18 of each processing element PE performs the process of outputting the calculation result d and data b to the adjacent processing element PE, and the number of processing elements PE arranged in each axial direction. , I.e., n times (in the second embodiment, twice), a path connected in a torus shape by connecting the j input terminal and the j output terminal, and the i input terminal and the i output terminal The arithmetic processing result and the predetermined data are circulated along the path connected in a torus shape by the connection. This one-round processing corresponds to n product-sum operation processing in the third period. In the third product-sum operation process in the third period, the data a input to the output switch unit 17 via the output terminal 21 is not output to the adjacent processing element PE.

このn回の処理の繰り返しにより、各プロセッシングエレメントPEのレジスタR3には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて積和演算されたi軸方向に配設される全てのプロセッシングエレメントPEの積和演算結果(第二周期目のn回の積和演算処理による演算結果)を用いて、j軸方向に配設された全てのプロセッシングエレメントPEで演算処理した演算結果(第三周期目のn回の積和演算処理による演算結果)が記録される。これは、すなわち三次元逆離散コサイン変換処理(3D−IDCT処理)の計算結果である。また、レジスタR2には、k軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第一周期目のn回の積和演算処理による演算結果)に基づいて、i軸方向に配設された全てのプロセッシングエレメントPEにおいて積和演算された演算結果(第二周期目のn回の積和演算処理による演算結果)が記録されることになる。これは、すなわち、i軸方向およびk軸方向で構成される二次元の離散逆コサイン変換の計算結果である。さらに、レジスタR1には、i軸方向の一次元の離散逆コサイン変換の計算結果が記録されることになる。実施の形態2では、n=2であるため、2回だけ上述の処理が行われる。図10および図11に示した「4」および「5」の処理ステップは、上述したこの2回の処理に該当する処理内容を示している。   As a result of repeating this process n times, the register R3 of each processing element PE stores the result of the product-sum operation in all the processing elements PE arranged in the k-axis direction (nth product in the first period). The product-sum operation results of all the processing elements PE arranged in the i-axis direction that are product-sum-calculated based on the result of the sum operation processing (operation results of the n-th product-sum operation processing in the second period) Are used to record the calculation results (calculation results of the nth product-sum calculation processing in the third period) performed by all the processing elements PE arranged in the j-axis direction. This is a calculation result of a three-dimensional inverse discrete cosine transform process (3D-IDCT process). Further, the register R2 stores i on the basis of the operation result obtained by the product-sum operation in all the processing elements PE arranged in the k-axis direction (the operation result by the n-th product-sum operation processing in the first period). An operation result obtained by the product-sum operation in all the processing elements PE arranged in the axial direction (operation result by n times product-sum operation processing in the second period) is recorded. This is a calculation result of a two-dimensional discrete inverse cosine transform composed of the i-axis direction and the k-axis direction. Further, the calculation result of the one-dimensional discrete inverse cosine transform in the i-axis direction is recorded in the register R1. In the second embodiment, since n = 2, the above-described processing is performed only twice. The processing steps “4” and “5” shown in FIG. 10 and FIG. 11 indicate processing contents corresponding to the above-described two processings.

このようにして実施の形態2に係るアレイプロセッサ1では、隣接するプロセッシングエレメントPEに対して、演算結果および積和演算に用いる所定データを順次出力してそれぞれのプロセッシングエレメントPEにおいて積和演算処理を行い、この隣接するプロセッシングエレメントPEへの演算結果の出力処理を、順次k軸方向、i軸方向、j軸方向へと出力方向を変えて処理を進めることにより、各演算回路部16における積和演算結果をレジスタR3に記録させることができる。従って、従来のアレイプロセッサ1のように、計算途中でデータや係数データの入力順番を調整するための専用回路を設ける必要がなく、回路構成の簡素化を図ることが可能となる。また、演算結果を隣接するプロセッシングエレメントPEに順次出力することによって三次元逆離散コサイン変換処理(三次元逆直交変換処理)を行うことが可能であるため、各次元の計算途中においてプロセッシングエレメントPEの内部に蓄えられるデータおよび係数行列要素を、従来のように複雑な配線構造を用いて何度も交換し合う必要がなく、処理の迅速化および簡素化を図ることが可能となる。   In this manner, in the array processor 1 according to the second embodiment, the operation result and the predetermined data used for the product-sum operation are sequentially output to the adjacent processing elements PE, and the product-sum operation processing is performed in each processing element PE. The output of the calculation result to the adjacent processing element PE is sequentially processed by changing the output direction to the k-axis direction, the i-axis direction, and the j-axis direction. The calculation result can be recorded in the register R3. Therefore, unlike the conventional array processor 1, it is not necessary to provide a dedicated circuit for adjusting the input order of data and coefficient data during calculation, and the circuit configuration can be simplified. In addition, since the three-dimensional inverse discrete cosine transform process (three-dimensional inverse orthogonal transform process) can be performed by sequentially outputting the calculation results to adjacent processing elements PE, the processing element PE of each dimension is calculated in the middle. It is not necessary to exchange the data and coefficient matrix elements stored in the inside many times using a complicated wiring structure as in the conventional case, and it becomes possible to speed up and simplify the processing.

このように、実施の形態2に係るアレイプロセッサ1を用いることにより、従来の構成において必須とされていた計算途中におけるデータ同士の入替作業を行うことなくなる。また、複数のプロセッシングエレメントを接続させて演算結果処理を順次行うことにより、三次元逆離散コサイン変換処理(三次元逆直交変換処理)を迅速に実行することができ、さらに回路構成の複雑化を抑制することが可能となる。   As described above, by using the array processor 1 according to the second embodiment, it is not necessary to perform replacement work of data during calculation, which is essential in the conventional configuration. In addition, by connecting a plurality of processing elements and processing the results sequentially, the 3D inverse discrete cosine transform process (3D inverse orthogonal transform process) can be executed quickly, and the circuit configuration can be further complicated. It becomes possible to suppress.

以上、本発明に係るアレイプロセッサについて、図面を用いて詳細に説明を行ったが、本発明に係るアレイプロセッサは、上述した構成に限定されるものではなく、当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到しうることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。   The array processor according to the present invention has been described in detail with reference to the drawings. However, the array processor according to the present invention is not limited to the above-described configuration, and those skilled in the art can claim It is clear that various changes and modifications can be conceived within the scope described in the scope, and it is understood that these also belong to the technical scope of the present invention.

例えば、実施の形態1および実施の形態2に係るアレイプロセッサ1では、プロセッシングエレメントPEを、i軸方向,j軸方向,k軸方向のそれぞれに対して2個ずつ、合計8個配設した構成を例として用いて説明を行ったが、本発明に係るアレイプロセッサは、各軸方向に対して2個ずつ配設された構造には限定されず、2以上の個数(例えば、n個)ずつ配設した場合であってもよい。このように複数のプロセッシングエレメントを配設した場合であっても、上述した実施の形態1および実施の形態2に示した方法に従って隣接するプロセッシングエレメントPEに演算結果と所定データを出力させて一巡することにより、三次元直交変換処理および三次元逆直交変換処理に関する演算を行うことが可能となる。   For example, in the array processor 1 according to the first embodiment and the second embodiment, a configuration in which a total of eight processing elements PE are provided, two for each of the i-axis direction, the j-axis direction, and the k-axis direction. However, the array processor according to the present invention is not limited to a structure in which two array processors are arranged in each axial direction, and two or more (for example, n) arrays. The case where it arrange | positions may be sufficient. Even when a plurality of processing elements are provided in this way, the calculation result and predetermined data are output to adjacent processing elements PE according to the method described in the first and second embodiments, and the circuit is completed. This makes it possible to perform calculations related to the three-dimensional orthogonal transformation process and the three-dimensional inverse orthogonal transformation process.

また、実施の形態1および実施の形態2に係るアレイプロセッサ1では、説明の便宜上、各プロセッシングエレメントをi軸,j軸,k軸のそれぞれに対応付けた座標位置に配設する構成としたが、現実にプロセッシングエレメントPEを配設する場合には、このように物理的な三次元配設(立体的な配置)により構成する必要はなく、前述したプロセッシングエレメントPEに設けられる3個の入力端子と3個の出力端子とがそれぞれ対応するようにして接続されるものであれば、どのように配設されるものであってもよい。例えば、同一平面状に3つの軸を設定することにより、各プロセッシングエレメントを平面的に配設するものであってもよい。   In the array processor 1 according to the first embodiment and the second embodiment, the processing elements are arranged at coordinate positions corresponding to the i-axis, j-axis, and k-axis for convenience of explanation. When the processing element PE is actually arranged, it is not necessary to form the physical three-dimensional arrangement (three-dimensional arrangement) as described above, and the three input terminals provided in the processing element PE described above. And the three output terminals may be arranged in any way as long as they correspond to each other. For example, each processing element may be arranged in a plane by setting three axes on the same plane.

また、実施の形態1および実施の形態2では、三次元直交変換処理の一例である三次元離散コサイン変換と三次元逆離散コサイン変換との演算を行うアレイプロセッサについて説明を行ったが、本発明に係るアレイプロセッサは、上述した三次元離散コサイン変換と三次元逆離散コサイン変換とに関する三次元直交変換処理等だけに用いられるものではなく、C(i,k),C(k,j),C(i,j)で示された初期値(DCT係数)を適切な係数に変更することにより、他の三次元直交変換であるウォルシュ・アダマール変換(WHT)や離散フーリエ変換(DFT)等の演算処理に利用することが可能である。   In the first embodiment and the second embodiment, the array processor that performs the calculation of the three-dimensional discrete cosine transform and the three-dimensional inverse discrete cosine transform, which is an example of the three-dimensional orthogonal transform processing, has been described. The array processor according to the present invention is not used only for the three-dimensional orthogonal transform processing related to the above-described three-dimensional discrete cosine transform and three-dimensional inverse discrete cosine transform, but C (i, k), C (k, j), By changing the initial value (DCT coefficient) indicated by C (i, j) to an appropriate coefficient, other three-dimensional orthogonal transforms such as Walsh Hadamard transform (WHT), discrete Fourier transform (DFT), etc. It can be used for arithmetic processing.

さらに、実施の形態1および実施の形態2に示したアレイプロセッサ1では、物理的な専用の演算回路を用いて演算回路部6,16を構成して演算処理を行う場合について説明を行ったが、このよう物理的な回路を用いるのではなく、制御回路部8,18の演算処理機能を利用することによって演算回路部6,16の演算処理に該当する演算を行う構成とし、演算処理を行うための回路を物理的に設けない構成とするものであってもよい。   Furthermore, in the array processor 1 shown in the first embodiment and the second embodiment, the case has been described in which the arithmetic circuit units 6 and 16 are configured to perform arithmetic processing using a physical dedicated arithmetic circuit. Instead of using such a physical circuit, the arithmetic processing function of the control circuit units 8 and 18 is used to perform an operation corresponding to the arithmetic processing of the arithmetic circuit units 6 and 16, and the arithmetic processing is performed. For example, the circuit may not be physically provided.

また、実施の形態1および実施の形態2で示したアレイプロセッサ1を用いる場合において、i軸方向,j軸方向およびk軸方向におけるデータの転送方向や、どの軸方向へ最初にデータを出力するかというデータの処理順番などを自由に設定・変更することが可能である。また各プロセッシングエレメントPEに入力されるデータや初期値(DCT係数)を、各プロセッシングエレメントPE(i,j,k)内におけるレジスタR0からレジスタR6のどこに格納するかを自由に設定・変更することが可能である。このように、データの転送方向や処理順番、さらには、データの格納設定などを変更した場合であっても、実施の形態1および実施の形態2に示した内容と同一の処理結果を得ることが可能であり、また同一の結果を得る方法は、実施の形態1および実施の形態2に示した方法の他、幾通りも考えられる。しかし、これらの変更は、当業者であれば、特許請求の範囲に記載された範疇内において、容易に想到しうることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。   In the case of using the array processor 1 shown in the first embodiment and the second embodiment, the data is first output in the i-axis direction, the j-axis direction, the k-axis direction, the data transfer direction, and in which axis direction. It is possible to freely set and change the data processing order. In addition, it is possible to freely set and change where the data and initial values (DCT coefficients) input to each processing element PE are stored in the registers R0 to R6 in each processing element PE (i, j, k). Is possible. As described above, even when the data transfer direction, processing order, and data storage setting are changed, the same processing result as the contents shown in the first and second embodiments can be obtained. In addition to the methods shown in the first embodiment and the second embodiment, various methods are conceivable for obtaining the same result. However, it is obvious that those skilled in the art can easily come up with these modifications within the scope of the claims, and these modifications naturally belong to the technical scope of the present invention. It is understood.

1 …アレイプロセッサ
4、14 …入力スイッチ部
5、15 …セレクタ部
6、16 …演算回路部
7、17 …出力スイッチ部
8、18 …制御回路部
10、20 …(演算回路部の)出力端子
21、22 …(セレクト部から出力スイッチ部への)出力端子
PE …プロセッシングエレメント
R0〜R6 …レジスタ
DESCRIPTION OF SYMBOLS 1 ... Array processor 4, 14 ... Input switch part 5, 15 ... Selector part 6, 16 ... Operation circuit part 7, 17 ... Output switch part 8, 18 ... Control circuit part 10, 20 ... Output terminal (of operation circuit part) 21, 22... Output terminal PE (from select section to output switch section) Processing element R 0 to R 6. Register

Claims (1)

積和演算機能を備えたプロセッシングエレメントを3つの軸方向にそれぞれn個ずつ配設することにより概念的な三次元配置状態を形成し、
各プロセッシングエレメントに対して、前記軸方向に対応付けられた入力端子と出力端子とを各軸方向に対応付けて3組設け、同一軸方向に隣接配置される一のプロセッシングエレメントの当該軸方向における入力端子と他のプロセッシングエレメントの当該軸方向における出力端子とを接続することにより、各プロセッシングエレメントの3組の入力端子および出力端子を軸方向に対応させてそれぞれトーラス状に接続し、
各プロセッシングエレメントでは、前記積和演算機能に基づいて積和演算を行った演算結果を、一の軸方向に対応する出力端子より当該一の軸方向に隣接する他のプロセッシングエレメントに出力すると共に、前記積和演算を行う際に用いた演算データを他の軸方向に対応する出力端子より当該他の軸方向に隣接する他のプロセッシングエレメントに出力し、
前記演算結果と演算データとをそれぞれ異なる軸方向に隣接する他のプロセッシングエレメントより取得したプロセッシングエレメントでは、取得した前記演算結果と演算データとを用いて積和演算を行い、当該積和演算に基づく演算結果と前記演算データとを、それぞれ取得した入力端子に対応する出力端子よりそれぞれの軸方向に隣接する他のプロセッシングエレメントに対し出力することにより、一の軸方向に対してトーラス状に接続された全てのプロセッシングエレメントにおいて第一周期目のn回の積和演算処理を互いに同期させて実行し、
該第一周期目のn回の積和演算処理の後に、各プロセッシングエレメントでは、前記演算結果を出力する出力端子の軸方向を変更すると共に、当該軸方向の変更に対応させて前記演算データを出力する出力端子の軸方向を変更して、第二周期目のn回の積和演算処理を互いに同期させて実行し、
該第二周期目のn回の積和演算処理の後に、各プロセッシングエレメントでは、前記演算結果を出力する出力端子の軸方向を、第一周期目および第二周期目と異なる軸方向に変更すると共に、当該軸方向の変更に対応させて前記演算データを出力する出力端子の軸方向を第一周期目および第二周期目と異なる軸方向に変更して、第三周期目のn回の積和演算処理を互いに同期させて実行することによって、
三次元直交変換処理を実行するアレイプロセッサであって、
前記各プロセッシングエレメントは、
前記積和演算に用いられる被演算値を記憶する1つの被演算値記憶手段と、
前記入力端子を介して入力された前記演算結果または前記演算データを記憶する3つの入力情報記憶手段と、
前記積和演算機能による演算方法に対応して決定される定数値を記憶する3つの定数値記憶手段と、
前記演算結果と前記演算データと前記被演算値と前記定数値とのいずれかを用いて積和演算を行う演算処理手段と、
前記3つの入力端子のいずれかより入力された情報を前記入力情報記憶手段または前記被演算値記憶手段のいずれかに案内する入力スイッチ手段と、
前記演算データおよび前記演算処理手段により積和演算が行われた演算結果を前記3つの出力端子のいずれかよりそれぞれ出力させる出力スイッチ手段と、
前記被演算値記憶手段と前記入力情報記憶手段と前記定数値記憶手段とのいずれかより3つのデータを読み出して前記演算処理手段に案内するセレクタ手段と、
前記入力スイッチ手段、前記出力スイッチ手段および前記セレクタ手段の制御を行う制御手段と
を有し、
前記制御手段は、前記演算結果が前記入力端子を介して入力された場合に、前記入力スイッチ手段を制御して当該演算結果を前記入力情報記憶手段のいずれかに案内し、前記セレクタ手段を制御して当該入力情報記憶手段より読み出された演算結果を前記演算処理手段に案内し、一周期においてまだn回の演算処理が行われていない場合には、前記出力スイッチ手段を制御して前記演算処理手段により積和演算が行われた演算結果を、前記演算結果が入力された前記入力端子に対応する軸方向の出力端子より出力し、一周期においてn回目の演算処理が行われた場合には、前記出力スイッチ手段を制御して前記演算処理手段により積和演算が行われた演算結果を、前記演算結果が入力された前記入力端子とは異なる軸方向の出力端子より出力する
ことを特徴とするアレイプロセッサ。
Forming a conceptual three-dimensional arrangement state by arranging n processing elements each having a product-sum operation function in three axial directions,
For each processing element, three sets of input terminals and output terminals associated with the axial direction are provided in association with each axial direction, and one processing element arranged adjacent to the same axial direction in the axial direction. By connecting the input terminal and the output terminal in the axial direction of the other processing element, the three input terminals and the output terminal of each processing element are connected in a torus shape corresponding to the axial direction,
In each processing element, an operation result obtained by performing the product-sum operation based on the product-sum operation function is output from an output terminal corresponding to one axial direction to another processing element adjacent in the one axial direction, The operation data used when performing the product-sum operation is output from the output terminal corresponding to the other axial direction to another processing element adjacent to the other axial direction,
In the processing element obtained from the other processing elements adjacent to each other in the different axial directions, the calculation result and the calculation data are calculated using the acquired calculation result and the calculation data, and based on the product-sum calculation By outputting the calculation result and the calculation data to other processing elements adjacent to each other in the axial direction from the output terminal corresponding to the acquired input terminal, it is connected in a torus shape in one axial direction. In all the processing elements, n times product-sum operation processing in the first period is executed in synchronization with each other,
After the first product-sum operation processing in the first cycle, each processing element changes the axial direction of the output terminal that outputs the operation result, and the operation data is changed corresponding to the change in the axial direction. Change the axial direction of the output terminal to be output, and execute n times of product-sum operation processing in the second period in synchronization with each other,
After the nth product-sum operation processing in the second cycle, each processing element changes the axial direction of the output terminal that outputs the calculation result to a different axial direction from the first cycle and the second cycle. In addition, the axial direction of the output terminal that outputs the calculation data corresponding to the change in the axial direction is changed to an axial direction different from the first period and the second period, and the product of n times in the third period By performing the sum operation in sync with each other,
An array processor that performs three-dimensional orthogonal transform processing ,
Each processing element is
One operand value storage means for storing operand values used for the product-sum operation;
Three input information storage means for storing the calculation result or the calculation data input via the input terminal;
Three constant value storage means for storing constant values determined corresponding to the calculation method by the multiply-accumulate function;
Arithmetic processing means for performing a product-sum operation using any one of the calculation result, the calculation data, the operand value, and the constant value;
Input switch means for guiding information input from any of the three input terminals to either the input information storage means or the operand value storage means;
Output switch means for outputting the operation data and the operation result of the product-sum operation performed by the operation processing means from any of the three output terminals;
Selector means for reading three data from any one of the operand value storage means, the input information storage means, and the constant value storage means and guiding the data to the arithmetic processing means;
Control means for controlling the input switch means, the output switch means and the selector means;
Have
When the calculation result is input via the input terminal, the control means controls the input switch means to guide the calculation result to one of the input information storage means, and controls the selector means. Then, the calculation result read from the input information storage means is guided to the calculation processing means, and when the calculation processing is not performed n times in one cycle, the output switch means is controlled to control the output switch means. When the calculation result obtained by the product-sum operation by the calculation processing means is output from the axial output terminal corresponding to the input terminal to which the calculation result is input, and the nth calculation process is performed in one cycle The output switch means is controlled to output the operation result obtained by the product-sum operation by the operation processing means from an output terminal in an axial direction different from the input terminal to which the operation result is input. That
An array processor characterized by that.
JP2009094620A 2008-05-01 2009-04-09 Array processor Active JP5519951B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009094620A JP5519951B2 (en) 2008-05-01 2009-04-09 Array processor

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008119884 2008-05-01
JP2008119884 2008-05-01
JP2009094620A JP5519951B2 (en) 2008-05-01 2009-04-09 Array processor

Publications (2)

Publication Number Publication Date
JP2009289256A JP2009289256A (en) 2009-12-10
JP5519951B2 true JP5519951B2 (en) 2014-06-11

Family

ID=41458369

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009094620A Active JP5519951B2 (en) 2008-05-01 2009-04-09 Array processor

Country Status (1)

Country Link
JP (1) JP5519951B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10185691B2 (en) 2013-07-30 2019-01-22 Hewlett Packard Enterprise Development Lp Two-dimensional torus topology

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4057729B2 (en) * 1998-12-29 2008-03-05 株式会社日立製作所 Fourier transform method and program recording medium
JP2005189970A (en) * 2003-12-24 2005-07-14 Apriori Micro Systems:Kk Method and system for multi-dimensional array access, memory control system, and fourier conversion system

Also Published As

Publication number Publication date
JP2009289256A (en) 2009-12-10

Similar Documents

Publication Publication Date Title
US9613669B2 (en) Matrix transposing circuit
KR101098736B1 (en) Device, system, and method for solving systems of linear equations using parallel processing
JP5025658B2 (en) Platform and processing method using this platform
US5268853A (en) Orthogonal transformation processor for compressing information
CN106485669B (en) Apparatus and method for performing Fourier transform
KR20080041993A (en) Method and apparatus for motion compensation supporting multicodec
CN107783933B (en) Image processing method and apparatus
JP6357345B2 (en) Data processing apparatus and method for performing conversion between spatial domain and frequency domain when processing video data
JP2022518640A (en) Data processing methods, equipment, equipment, storage media and program products
JP5519951B2 (en) Array processor
CN107623846B (en) Method and apparatus for processing three-dimensional (3D) image
US8902474B2 (en) Image processing apparatus, control method of the same, and program
KR101395143B1 (en) Integer transform method for image processing and device threof
US5359549A (en) Orthogonal transformation processor for compressing information
CN108040257A (en) A kind of two-dimensional dct Hardware Implementation and device
JP5045652B2 (en) Correlation processing device and medium readable by correlation processing device
US10545328B2 (en) Method and apparatus for processing image
JP5760532B2 (en) PROCESSOR DEVICE AND ITS OPERATION METHOD
JP2851804B2 (en) 2D orthogonal transform device
JP2001102934A (en) Discrete cosine transformation processor, inverse discrete cosine transformation processor, and orthogonal transformation processor
JP3977003B2 (en) Discrete cosine transform / inverse discrete cosine transform method and apparatus
JP2790911B2 (en) Orthogonal transform operation unit
JPH0540776A (en) Two-dimensional dct matrix operation circuit
Wu et al. Parallel implementation of edge-directed image interpolation on a Graphics Processing Unit
JPH06274524A (en) Orthogonal transformation circuit and inverse transformation circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120326

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130731

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130930

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140401

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140404

R150 Certificate of patent or registration of utility model

Ref document number: 5519951

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250