JP2000172674A - Inverse DCT operation device and inverse DCT operation method - Google Patents
Inverse DCT operation device and inverse DCT operation methodInfo
- Publication number
- JP2000172674A JP2000172674A JP10345710A JP34571098A JP2000172674A JP 2000172674 A JP2000172674 A JP 2000172674A JP 10345710 A JP10345710 A JP 10345710A JP 34571098 A JP34571098 A JP 34571098A JP 2000172674 A JP2000172674 A JP 2000172674A
- Authority
- JP
- Japan
- Prior art keywords
- product
- unit
- addition
- values
- sum operation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Landscapes
- Complex Calculations (AREA)
Abstract
(57)【要約】
【課題】 DCT演算等により符号化された入力データ
に対し逆DCT演算を実行するための逆DCT演算装置
および方法に関し、IEEEによる演算精度でかつ小規
模な回路でもって、高速に逆DCT演算を実行すること
を目的とする。
【解決手段】 入力データに対する逆DCT演算を分解
して1次元の行列演算を順次実行する場合、入力データ
の複数の係数値の並べ替えを行ってからシリアル形式の
係数値をパラレル形式の係数値に変換するシリアル/パ
ラレル変換部4と、シリアル/パラレル変換部の出力を
アドレスとして、既に記憶されている情報の加減算を行
う複数の加減算部を有する積和演算部1とを備え、積和
演算部内の複数の加減算部を再度使用し、積和演算部に
よる積和演算の結果である複数の値同士を加算または減
算してからパラレル/シリアル変換を行う。
(57) Abstract: An inverse DCT operation apparatus and method for performing an inverse DCT operation on input data encoded by a DCT operation or the like, with an operation accuracy by IEEE and a small circuit, An object is to perform an inverse DCT operation at high speed. When a one-dimensional matrix operation is sequentially performed by decomposing an inverse DCT operation on input data, a plurality of coefficient values of the input data are rearranged, and a serial-type coefficient value is converted into a parallel-type coefficient value. And a product-sum operation unit 1 having a plurality of addition / subtraction units for performing addition / subtraction of information already stored using the output of the serial / parallel conversion unit as an address. A plurality of addition / subtraction units in the unit are used again, and a plurality of values which are the result of the product-sum operation by the product-sum operation unit are added or subtracted from each other, and then the parallel / serial conversion is performed.
Description
【0001】[0001]
【発明の属する技術分野】本発明は、直交変換の一種で
あるDCT(discrete cosine transform :離散コサイ
ン変換)演算を行って符号化されたデータを復号化する
ために、この符号化されたデータに対し、逆DCT(in
verse discrete cosine transform :逆離散コサイン変
換)演算を実行するための逆DCT演算装置および逆D
CT演算方法に関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a technique for performing a discrete cosine transform (DCT) operation, which is a type of orthogonal transform, to decode the encoded data. On the other hand, the inverse DCT (in
Inverse DCT arithmetic unit and inverse D for performing inverse discrete cosine transform) operation
The present invention relates to a CT calculation method.
【0002】ここで、DCT演算とは、アナログの動画
像データ等の空間周波数成分の冗長度を取り除くための
高速フーリエ変換を利用した直交変換の一種であり、M
PEG(moving picture experts group )等の高能率
符号化方式に従って上記動画像データをディジタルの動
画像データに符号化して圧縮する技術をいう。本発明
は、このようにして圧縮したディジタルの動画像データ
等を復号化して元のアナログの動画像データを高精度に
て再生するために、IEEE(Institute of Electrica
l and Electronics Engineers, Inc. :エレクトロニク
ス関連の米国の学会)により規定された演算精度を満た
しつつ、小規模な回路にて逆DCT演算を実行するため
の一方策に言及するものである。Here, the DCT operation is a kind of orthogonal transform using a fast Fourier transform for removing redundancy of a spatial frequency component of analog moving image data or the like.
A technique for encoding the moving image data into digital moving image data and compressing the moving image data according to a high-efficiency encoding method such as PEG (moving picture experts group). The present invention provides an IEEE (Institute of Electrica) for decoding digital moving image data and the like compressed in this way and reproducing the original analog moving image data with high accuracy.
l and Electronics Engineers, Inc .: A technique for performing an inverse DCT operation in a small-scale circuit while satisfying the operation accuracy specified by an electronics-related American society.
【0003】[0003]
【従来の技術】図20は、従来の逆DCT演算装置の一
構成例を示すブロック図である。ただし、ここでは、例
えば、特開平4−313157号公報(出願人:三菱電
機株式会社、平成4年11月5日出願)に開示されてい
るような、DA(distributedarithmetic)法を用いた
1次元の逆DCT演算装置の構成を代表して示すことと
する。2. Description of the Related Art FIG. 20 is a block diagram showing an example of a configuration of a conventional inverse DCT operation device. However, here, for example, a one-dimensional method using a DA (distributedarithmetic) method as disclosed in Japanese Patent Application Laid-Open No. 4-313157 (applicant: Mitsubishi Electric Corporation, filed on November 5, 1992). Is representatively shown.
【0004】図20に示す1次元の逆DCT演算装置に
おいては、複数のブロックに分割して符号化された入力
データに対する逆DCT演算を、2回の1次元の8×8
の行列演算に分解し、1次元目および2次元目の8×8
の行列演算を順次実行することにより、復号化された出
力データを得るようにしている。より詳しく説明する
と、図20においては、上記入力データの係数値を出力
する順序の並べ替えを行うデータ並べ替え回路200が
設けられている。さらに、データ並べ替え回路200の
出力側は、積和演算部300の入力側に接続されてい
る。この積和演算部300は、1次元の8×8の行列演
算を実行するための複数の積和演算回路(例えば、第1
の積和演算回路〜第8の積和演算回路350−1〜35
0−8からなる8個の積和演算回路)を有しており、こ
れらの積和演算回路の出力側は、後処理部400の入力
側に接続されている。この後処理部400から、復号化
された出力データが出力される。In a one-dimensional inverse DCT operation device shown in FIG. 20, an inverse DCT operation on input data divided into a plurality of blocks and encoded is performed twice in one-dimensional 8 × 8.
Into 8 × 8 in the first and second dimensions
Are sequentially executed to obtain decoded output data. More specifically, in FIG. 20, a data rearranging circuit 200 that rearranges the order in which the coefficient values of the input data are output is provided. Further, the output side of the data rearrangement circuit 200 is connected to the input side of the product-sum operation unit 300. The product-sum operation unit 300 includes a plurality of product-sum operation circuits (for example, first
-To-eighth product-sum operation circuits 350-1 to 350-35
The output side of these eight product-sum operation circuits is connected to the input side of the post-processing unit 400. The post-processing unit 400 outputs the decoded output data.
【0005】このような構成の逆DCT演算装置におい
て、符号化された入力データに対する逆DCT演算処理
の流れを説明する。まず、データ並べ替え回路200に
て、符号化された入力データの係数値を出力する順序の
並べ替えを行う。原理的には、1ワードずつ入力される
シリアル形式の入力データについて、最下位のビットか
ら最上位のビットまで全ワード分を揃えてパラレル形式
の入力データを出力することにより、シリアル形式の入
力データの係数値をパラレル形式の係数値に並べ替える
処理を行う。[0005] The flow of the inverse DCT operation on coded input data in the inverse DCT operation device having such a configuration will be described. First, the data rearrangement circuit 200 rearranges the order in which the coefficient values of the encoded input data are output. In principle, for serial input data that is input one word at a time, parallel input data is output by aligning all words from the least significant bit to the most significant bit and outputting parallel input data. Is performed to rearrange the coefficient values in the parallel format.
【0006】つぎに、このようにして得られたパラレル
形式の係数値を積和演算部300内のメモリ等に予め記
憶しておく。このようにして記憶されているパラレル形
式の値をアドレスとして、上記積和演算部300内のメ
モリ等から得られる値を、第1〜第8の積和演算回路3
50−1〜350−8により加算または減算し、乗算器
を使用せずに累積加算を行うことにより、上記パラレル
形式の係数値の積和演算を実行する。Next, the parallel coefficient values thus obtained are stored in a memory or the like in the product-sum operation unit 300 in advance. The values obtained from the memory or the like in the product-sum operation unit 300 are stored in the first to eighth product-sum operation circuits 3 using the parallel-format values stored in this manner as addresses.
By performing addition or subtraction by 50-1 to 350-8, and performing cumulative addition without using a multiplier, the product-sum operation of the parallel format coefficient values is performed.
【0007】ただし、ここで注意すべき点は、第1〜第
8の積和演算回路による上記パラレル形式の係数値の積
和演算の結果に対しパラレル/シリアル変換を行って最
終的に復号化された出力データを得るために、上記積和
演算の結果として得られる複数の値同士を加算または減
算するといったような後処理を行う必要が生じてくるこ
とである。図20の逆DCT演算装置では、後処理部4
00において、上記パラレル形式の係数値の積和演算の
結果として得られる複数の値同士を加算または減算する
ことにより、積和演算の後処理を行っていた。However, a point to be noted here is that the result of the product-sum operation of the coefficient values in the parallel format by the first to eighth product-sum operation circuits is subjected to parallel / serial conversion and finally decoded. In order to obtain the output data, it is necessary to perform post-processing such as adding or subtracting a plurality of values obtained as a result of the product-sum operation. In the inverse DCT operation device of FIG.
At 00, post-processing of the product-sum operation is performed by adding or subtracting a plurality of values obtained as a result of the product-sum operation of the coefficient values in the parallel format.
【0008】[0008]
【発明が解決しようとする課題】上記のとおり、DA法
を用いた従来の逆DCT演算装置においては、複数の積
和演算回路の出力側に後処理部を設け、この後処理部に
おいて、複数の積和演算回路による係数値の積和演算の
結果として得られる複数の値同士を加算または減算する
ようにしていた。しかしながら、上記の後処理部のよう
な回路は冗長であり、このような余計な回路を設けるこ
とにより、無駄に逆DCT演算装置の回路規模が大きく
なるという問題が発生する。As described above, in the conventional inverse DCT operation device using the DA method, a post-processing section is provided on the output side of a plurality of product-sum operation circuits. Are added or subtracted between a plurality of values obtained as a result of the product-sum operation of the coefficient values by the product-sum operation circuit. However, the circuit such as the post-processing unit is redundant, and providing such an extra circuit causes a problem that the circuit scale of the inverse DCT operation device is increased unnecessarily.
【0009】特に、MPEGの規格に従って圧縮した大
量の動画像データを復号化する場合、IEEEにより規
定された演算精度で、複数のブロックの各々に対し2次
元の8×8の行列の逆DCT演算を行う必要がある。し
かしながら、従来の逆DCT演算装置のように、累積加
算部を8個並列にして積和演算を実行するような構成で
は、上記の演算精度を満たすために多くのクロックサイ
クルを浪費するので、上記動画像データに対する逆DC
T演算を完了させるまでに多くの時間がかかってしま
う。In particular, when decoding a large amount of moving image data compressed in accordance with the MPEG standard, the inverse DCT operation of a two-dimensional 8 × 8 matrix is performed on each of a plurality of blocks with the operation accuracy specified by IEEE. Need to do. However, in a configuration in which eight accumulators are executed in parallel and a product-sum operation is performed as in a conventional inverse DCT operation device, many clock cycles are wasted to satisfy the above operation accuracy. Inverse DC for moving image data
It takes a lot of time to complete the T operation.
【0010】本発明は上記問題点に鑑みてなされたもの
であり、IEEEにより規定された演算精度を満たしつ
つ、小規模な回路でもって高速に逆DCT演算を実行す
るための逆DCT演算装置および逆DCT演算方法を提
供することを目的とするものである。SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and has an inverse DCT operation device for executing an inverse DCT operation at high speed with a small-scale circuit while satisfying the operation accuracy specified by IEEE. It is an object of the present invention to provide an inverse DCT operation method.
【0011】[0011]
【課題を解決するための手段】図1は、本発明の原理構
成を示すブロック図である。ただし、ここでは、本発明
の逆DCT演算装置の構成を簡略化して示すこととす
る。上記問題点を解決するために、本発明の逆DCT演
算装置は、図1に示すように、任意の符号化された入力
データに対する逆DCT演算を、少なくとも2回の1次
元の行列演算に分解し、上記1次元の所定の数の行列演
算を順次実行して上記入力データの復号化を行う場合
に、上記入力データの複数の係数値の並べ替えを行って
からシリアル形式で送出される係数値を、パラレル形式
の係数値に変換するシリアル/パラレル変換部4と、こ
のシリアル/パラレル変換部4から出力される値をアド
レスとして、既に記憶されている情報の加減算を行う複
数の加減算部を有する積和演算部1とを備えている。こ
こで、上記複数の加減算部は、積和演算部1内の複数の
累積加算部(図1では、第1〜第nの累積加算部3−1
〜3−nとして示す)に含まれる。FIG. 1 is a block diagram showing the principle configuration of the present invention. However, here, the configuration of the inverse DCT operation device of the present invention is simplified. In order to solve the above problem, the inverse DCT operation device of the present invention decomposes an inverse DCT operation on arbitrary encoded input data into at least two one-dimensional matrix operations as shown in FIG. When decoding the input data by sequentially executing the predetermined number of one-dimensional matrix operations, a plurality of coefficient values of the input data are rearranged and then transmitted in a serial format. A serial / parallel conversion unit 4 for converting a numerical value into a coefficient value in a parallel format, and a plurality of addition / subtraction units for performing addition / subtraction of information already stored using a value output from the serial / parallel conversion unit 4 as an address. And a product-sum operation unit 1. Here, the plurality of addition / subtraction units are a plurality of cumulative addition units (in FIG. 1, the first to n-th cumulative addition units 3-1) in the product-sum operation unit 1.
3−3-n).
【0012】図1に示す本発明の逆DCT演算装置で
は、上記積和演算部1内の複数の加減算部を再度使用
し、上記積和演算部1による積和演算の結果として得ら
れる複数の値同士を加算または減算してから、パラレル
/シリアル変換部5によりパラレル/シリアル変換を行
うことによって、上記入力データを復号化するようにし
ている。In the inverse DCT operation device of the present invention shown in FIG. 1, a plurality of addition / subtraction units in the product-sum operation unit 1 are used again, and a plurality of product-sum operations obtained by the product-sum operation unit 1 are obtained. The input data is decoded by adding or subtracting the values, and then performing parallel / serial conversion by the parallel / serial converter 5.
【0013】さらに、本発明の第1の好ましい実施態様
に係る逆DCT演算装置は、任意の符号化された入力デ
ータに対する逆DCT演算を、2回の1次元の行列演算
に分解し、1次元目および2次元目の所定の数の行列演
算を順次実行して上記入力データの復号化を行う場合
に、上記入力データの複数の係数値の並べ替えを行う係
数値並べ替え部と、この係数値並べ替え部からシリアル
形式で送られてくる係数値を、パラレル形式の係数値に
変換するシリアル/パラレル変換部と、このシリアル/
パラレル変換部から出力される値をアドレスとして、既
に記憶されている情報の加減算を行う複数の加減算部を
有する積和演算部と、この積和演算部による1次元目の
積和演算の結果として得られる複数の値に対する転置を
行う転置部とを備えており、この転置部から送出される
パラレル形式の複数の値を上記積和演算部に入力して上
記複数の値の2次元目の積和演算を実行し、上記積和演
算部内の上記複数の加減算部を再度使用し、上記2次元
目の積和演算の結果として得られる複数の値同士を加算
または減算してからパラレル/シリアル変換を行うこと
により、上記入力データを復号化するように構成され
る。Further, the inverse DCT operation device according to the first preferred embodiment of the present invention decomposes the inverse DCT operation on arbitrary encoded input data into two one-dimensional matrix operations to perform one-dimensional operation. A coefficient value rearranging unit for rearranging a plurality of coefficient values of the input data when decoding the input data by sequentially executing a predetermined number of matrix operations in the first and second dimensions; A serial / parallel conversion unit for converting a coefficient value sent in a serial format from the numerical value rearranging unit into a parallel format coefficient value;
A product-sum operation unit having a plurality of addition / subtraction units for performing addition / subtraction of information already stored, using a value output from the parallel conversion unit as an address, and a result of a first-dimension product-sum operation performed by the product-sum operation unit A transposition unit that transposes a plurality of values obtained from the transposition unit, inputs a plurality of values in a parallel format sent from the transposition unit to the product-sum operation unit, and performs a second-dimensional product of the plurality of values. A sum operation is performed, the plurality of addition / subtraction units in the product-sum operation unit are used again, and a plurality of values obtained as a result of the second-dimensional product-sum operation are added or subtracted, and then parallel / serial conversion is performed. Is performed to decode the input data.
【0014】さらに、本発明の第2の好ましい実施態様
に係る逆DCT演算装置は、任意の符号化された入力デ
ータに対する逆DCT演算を、2回の1次元の行列演算
に分解し、1次元目および2次元目の所定の数の行列演
算を順次実行して上記入力データの復号化を行う場合
に、上記入力データの複数の係数値の並べ替えを行う2
個の係数値並べ替え部と、これらの2個の係数値並べ替
え部の各々からシリアル形式で送られてくる係数値を、
パラレル形式の係数値に変換するシリアル/パラレル変
換部と、このシリアル/パラレル変換部から出力される
値をアドレスとして、既に記憶されている情報の加減算
を行う複数の加減算部を有する積和演算部と、この積和
演算部による1次元目の積和演算の結果として得られる
複数の値に対する転置を行う2個の転置部とを備えてお
り、これらの2個の転置部の各々から送出されるパラレ
ル形式の複数の値を上記積和演算部に入力して上記複数
の値の2次元目の積和演算を実行し、上記積和演算部内
の上記複数の加減算部を再度使用し、上記2個の転置部
の各々から送出される複数の値同士を加算または減算し
てからパラレル/シリアル変換を行うことにより、上記
入力データを復号化するように構成される。Further, the inverse DCT operation device according to the second preferred embodiment of the present invention decomposes the inverse DCT operation on any encoded input data into two one-dimensional matrix operations, When decoding the input data by sequentially executing a predetermined number of matrix operations in the first and second dimensions, rearrangement of a plurality of coefficient values of the input data is performed.
Coefficient value rearranging units, and coefficient values sent in serial form from each of these two coefficient value rearranging units,
A product-sum operation unit having a serial / parallel conversion unit for converting to a coefficient value in a parallel format, and a plurality of addition / subtraction units for performing addition / subtraction of information already stored using a value output from the serial / parallel conversion unit as an address. And two transposition units that transpose a plurality of values obtained as a result of the first-dimension product-sum operation by the product-sum operation unit, and are transmitted from each of these two transposition units. The plurality of values in the parallel format are input to the product-sum operation unit, and a second-dimensional product-sum operation of the plurality of values is performed, and the plurality of addition / subtraction units in the product-sum operation unit are used again. The input data is decoded by adding or subtracting a plurality of values sent from each of the two transposition units and then performing parallel / serial conversion.
【0015】さらに、本発明の第3の好ましい実施態様
に係る逆DCT演算装置は、任意の符号化された入力デ
ータに対する逆DCT演算を、2回の1次元の行列演算
に分解し、1次元目および2次元目の所定の数の行列演
算を順次実行して上記入力データの復号化を行う場合
に、上記入力データの複数の係数値の並べ替えを行う2
個の係数値並べ替え部と、これらの2個の係数値並べ替
え部の各々からシリアル形式で送られてくる係数値を、
パラレル形式の係数値に変換するシリアル/パラレル変
換部と、このシリアル/パラレル変換部から出力される
値をアドレスとして、既に記憶されている情報の加減算
を行う複数の第1の加減算部を有する1次元目積和演算
部と、この1次元目積和演算部による1次元目の積和演
算の結果として得られる複数の値に対する転置を行う2
個の転置部とを備えている。Further, the inverse DCT operation device according to the third preferred embodiment of the present invention decomposes the inverse DCT operation on any encoded input data into two one-dimensional matrix operations, When decoding the input data by sequentially executing a predetermined number of matrix operations in the first and second dimensions, rearrangement of a plurality of coefficient values of the input data is performed.
Coefficient value rearranging units, and coefficient values sent in serial form from each of these two coefficient value rearranging units,
A serial / parallel conversion unit for converting into a coefficient value in a parallel format, and a plurality of first addition / subtraction units for performing addition / subtraction of information already stored using a value output from the serial / parallel conversion unit as an address A two-dimensional sum-of-products operation unit, and transposes a plurality of values obtained as a result of the first-dimensional sum-of-products operation by the one-dimensional sum-of-products operation unit 2
And two transposition units.
【0016】本発明の第3の好ましい実施態様に係る逆
DCT演算装置はまた、上記2個の転置部の各々から送
出されるパラレル形式の複数の値をアドレスとして、既
に記憶されている情報の加減算を行う複数の第2の加減
算部を有する2次元目積和演算部とを備えており、この
2次元目積和演算部内の上記複数の第2の加減算部を再
度使用し、2次元目積和演算部による2次元目の積和演
算の結果として得られる複数の値同士を加算または減算
してからパラレル/シリアル変換を行うことにより、上
記入力データを復号化するように構成される。The inverse DCT operation device according to a third preferred embodiment of the present invention further comprises, as an address, a plurality of values in a parallel format sent from each of the two transposed units, for the information already stored. A two-dimensional product sum calculation unit having a plurality of second addition / subtraction units for performing addition / subtraction. The second plurality of second addition / subtraction units in the two-dimensional product sum calculation unit are used again, and The input data is decoded by adding or subtracting a plurality of values obtained as a result of the second-dimensional product-sum operation by the product-sum operation unit and then performing parallel / serial conversion.
【0017】好ましくは、本発明の第1〜第3の好まし
い実施態様に係る逆DCT演算装置において、1次元目
の行列演算に係る累積加算を行うために上記積和演算部
を初期化するときに、上記パラレル形式の係数値の小数
部における最下位のビットの丸め処理を行うようにして
いる。さらに、好ましくは、本発明の第1および第2の
好ましい実施態様において、上記1次元目積和演算部
は、上記シリアル/パラレル変換部から出力される上記
パラレル形式の係数値を、最下位のビットから最上位の
ビットに向かって1ビットずつシフトしながら一時的に
保持するビット保持部と、上記複数の加減算部を用いて
累積加算を行う累積加算部とを含み、この累積加算部
は、上記ビット保持部に保持されている上記パラレル形
式の係数値の1ビットをアドレスとして、上記累積加算
部内の値記憶部に既に記憶されている情報と上記加減算
部とを用いて上記累積加算を実行するようにしている。Preferably, in the inverse DCT operation device according to the first to third preferred embodiments of the present invention, when the product-sum operation unit is initialized to perform cumulative addition relating to the first-dimensional matrix operation. Then, the least significant bit in the decimal part of the parallel format coefficient value is rounded. More preferably, in the first and second preferred embodiments of the present invention, the one-dimensional product summation unit calculates the coefficient value of the parallel format output from the serial / parallel conversion unit in the lowest order. A bit holding unit that temporarily holds the bits while shifting them one bit at a time from the bit to the most significant bit, and a cumulative adding unit that performs cumulative addition using the plurality of addition / subtraction units. Performing the cumulative addition using the information already stored in the value storage unit in the cumulative addition unit and the addition / subtraction unit, using one bit of the parallel format coefficient value stored in the bit storage unit as an address. I am trying to do it.
【0018】さらに、好ましくは、本発明の第3の好ま
しい実施態様において、上記1次元目積和演算部は、上
記シリアル/パラレル変換部から出力される上記パラレ
ル形式の係数値を最下位のビットから最上位のビットに
向かって1ビットずつシフトしながら一時的に保持する
第1のビット保持部と、上記複数の第1の加減算部を用
いて1次元目の行列演算に係る累積加算を行う第1の累
積加算部とを含み、この第1の累積加算部は、上記第1
のビット保持部に保持されている上記パラレル形式の係
数値の1ビットをアドレスとして、上記第1の累積加算
部内の第1の値記憶部に既に記憶されている情報と上記
第1の加減算部とを用いて上記1次元目の行列演算に係
る累積加算を実行し、上記2次元目積和演算部は、上記
2個の転置部の各々から送出される上記パラレル形式の
複数の値を、最下位のビットから最上位のビットに向か
って1ビットずつシフトしながら一時的に保持する第2
のビット保持部と、上記複数の第2の加減算部を用いて
2次元目の行列演算に係る累積加算を行う第2の累積加
算部とを含み、この第2の累積加算部は、上記第2のビ
ット保持部に保持されている上記パラレル形式の複数の
値の1ビットをアドレスとして、上記第2の累積加算部
内の第2の値記憶部に既に記憶されている情報と上記第
2の加減算部とを用いて上記2次元目の行列演算に係る
累積加算を実行するようにしている。Further, preferably, in the third preferred embodiment of the present invention, the one-dimensional product sum-of-products calculating unit calculates the coefficient value in the parallel format output from the serial / parallel converting unit in the least significant bit. And a first bit holding unit that temporarily holds the data while shifting one bit at a time from the first bit to the most significant bit, and performs cumulative addition related to a first-dimensional matrix operation using the plurality of first addition / subtraction units. And a first accumulative adder, wherein the first accumulative adder includes the first accumulator.
The information already stored in the first value storage unit in the first cumulative addition unit and the first addition / subtraction unit are set using, as an address, one bit of the coefficient value in the parallel format held in the bit holding unit. And the cumulative addition according to the first-dimensional matrix operation is performed, and the two-dimensional product-sum operation unit calculates the plurality of values in the parallel format sent from each of the two transposed units, The second method of temporarily storing data while shifting one bit at a time from the least significant bit to the most significant bit
And a second accumulative addition unit that performs accumulative addition relating to a two-dimensional matrix operation using the plurality of second addition / subtraction units. The second accumulative addition unit includes the second accumulative addition unit. The information already stored in the second value storage unit in the second accumulative addition unit is used as the address of one bit of the plurality of values in the parallel format held in the second bit holding unit. The addition and subtraction unit is used to execute the cumulative addition related to the above-described second-dimensional matrix operation.
【0019】さらに、好ましくは、本発明の第2および
第3の好ましい実施態様において、上記2個の係数値並
べ替え部は、上記入力データの複数の係数値に対し交互
に並べ替えを行うための第1の係数値並べ替えRAM、
および第2の係数値並べ替えRAMにより構成され、上
記第1の係数値並べ替えRAMにおいて一つのブロック
の係数値の並べ替えを行った結果の読み出しが実行され
る前に、上記第2の係数値並べ替えRAMにおいて次に
送られてくる他のブロックの係数値の書き込み動作が実
行され、それ以降に送られてくるブロックの係数値に対
し同様の読み出し動作および書き込み動作が実行される
ようになっている。Further, preferably, in the second and third preferred embodiments of the present invention, the two coefficient value rearranging sections are configured to alternately rearrange a plurality of coefficient values of the input data. The first coefficient value sorting RAM of
And the second coefficient value rearranging RAM, and before the first coefficient value rearranging RAM reads out the result of rearranging the coefficient values of one block, executes the second coefficient value rearranging. In the numerical rearrangement RAM, the writing operation of the coefficient value of another block transmitted next is executed, and the same reading operation and writing operation are performed on the coefficient value of the block transmitted thereafter. Has become.
【0020】さらに、好ましくは、本発明の第2および
第3の好ましい実施態様において、上記2個の転置部
は、上記係数値の1次元目の積和演算の結果として得ら
れる複数の値に対し交互に転置を行うための第1の転置
RAM、および第2の転置RAMにより構成され、上記
第1の転置RAMにおいて一つのブロックの値の転置を
行った結果の読み出し動作が実行される前に、上記第2
の転置RAMにおいて次に送られてくるブロックの値の
書き込み動作が実行され、それ以降に送られてくるブロ
ックの値に対し同様の読み出し動作および書き込み動作
が実行されるようになっている。Further, preferably, in the second and third preferred embodiments of the present invention, the two transposed units include a plurality of values obtained as a result of a first-order product-sum operation of the coefficient values. On the other hand, the first transposition RAM is configured by a first transposition RAM and a second transposition RAM for performing transposition alternately, and before the read operation of the result obtained by transposing the value of one block in the first transposition RAM is performed. In the second
The write operation of the value of the block transmitted next is executed in the transposition RAM, and the same read operation and write operation are performed on the value of the block transmitted thereafter.
【0021】また一方で、本発明の逆DCT演算方法
は、任意の符号化された入力データに対する逆DCT演
算を、少なくとも2回の1次元の行列演算に分解し、こ
の1次元の所定の数の行列演算を順次実行して上記入力
データの復号化を行うために、上記入力データの複数の
係数値の並べ替えを行ってからシリアル形式で送出され
る係数値を、パラレル形式の係数値に変換し、このパラ
レル形式に変換された値をアドレスとして、予め記憶さ
れている情報の加減算を行う複数の加減算部を使用し、
予め記憶されている情報と上記複数の加減算部とを用い
て累積加算を行うことにより積和演算を実行し、上記複
数の加減算部を再度使用し、上記積和演算の結果として
得られる複数の値同士を加算または減算してからパラレ
ル/シリアル変換を行うことにより、上記入力データを
復号化する。On the other hand, the inverse DCT operation method of the present invention decomposes the inverse DCT operation on any encoded input data into at least two one-dimensional matrix operations, In order to sequentially execute the matrix operation of the above and perform decoding of the input data, the coefficient values transmitted in the serial format after rearranging the plurality of coefficient values of the input data are converted into the coefficient values in the parallel format. Using a plurality of addition and subtraction units that perform addition and subtraction of information stored in advance, using the value converted and converted into the parallel format as an address,
A product-sum operation is performed by performing cumulative addition using the information stored in advance and the plurality of addition / subtraction units, and the plurality of addition / subtraction units are used again. The input data is decoded by performing parallel / serial conversion after adding or subtracting values.
【0022】ついで、本発明の逆DCT演算装置および
逆DCT演算方法の前提となっている積和演算を行う場
合に、乗算器を使用せずに、メモリ等の値記憶部に既に
記憶されている情報と加算器や減算器等からなる加減算
部を用いて累積加算を行うことにより積和演算の結果を
得るようなDA法の逆DCT演算の理論的背景を以下に
示す。Next, when performing the product-sum operation, which is the premise of the inverse DCT operation device and the inverse DCT operation method of the present invention, the multiplication operation is performed without using a multiplier, and is already stored in a value storage unit such as a memory. The theoretical background of the inverse DCT operation of the DA method that obtains the result of the product-sum operation by performing the cumulative addition using the added information and the addition / subtraction unit including the adder and the subtractor will be described below.
【0023】例えば、2次元の8×8行列の入力データ
の逆DCT演算を、 (8×8行列)*(1×8行列)の演算(すなわち、
1次元目の行列演算) ↓ 1次元目の行列演算結果の転置 ↓ (8×8行列)*(1×8行列)の演算(すなわち、2
次元目の行列演算) ↓ 2次元目の行列演算結果の転置 のように、2回の(8×8行列)*(1×8行列)の演
算(すなわち、2回の1次元の行列演算)に分解して行
う方式が一般的である。For example, an inverse DCT operation on input data of a two-dimensional 8 × 8 matrix is performed by an operation of (8 × 8 matrix) * (1 × 8 matrix) (ie,
1st dimension matrix operation) ↓ Transpose of 1st dimension matrix operation result ↓ (8 × 8 matrix) * (1 × 8 matrix) operation (ie, 2
Dimensional matrix operation) ↓ Two operations of (8 × 8 matrix) * (1 × 8 matrix) like transposition of 2D matrix operation result (that is, two one-dimensional matrix operations) In general, the method is performed by disassembling this.
【0024】上記(8×8行列)*(1×8行列)のk
行目の積和演算を、下記の〔数1〕に記載された式
(1)のように表記する。The above (8 × 8 matrix) * (1 × 8 matrix) k
The product-sum operation in the line is represented as in the following equation (1).
【0025】[0025]
【数1】 この式(1)において、x(成分xm,n )を入力デー
タ、C(成分Ckm)を1次元の8×8行列の逆DCT変
換行列、そして、yを出力データとする。(Equation 1) In this equation (1), x (component x m, n ) is input data, C (component C km ) is a one-dimensional 8 × 8 inverse DCT transformation matrix, and y is output data.
【0026】ここで、乗算器を使用せずに上記の積和演
算を実行する方法を以下に示す。この場合、xをNビッ
トの2進数表現にて表記すると、下記の〔数2〕に記載
された式(2)のようになる。Here, a method of executing the above product-sum operation without using a multiplier will be described below. In this case, if x is expressed in N-bit binary notation, it becomes as shown in the following equation (2).
【0027】[0027]
【数2】 式(2)を式(1)に代入すると、下記の〔数3〕に記
載された式(3)が得られる。(Equation 2) By substituting equation (2) into equation (1), equation (3) described in the following [Equation 3] is obtained.
【0028】[0028]
【数3】 すなわち、下記の〔数4〕に記載された式(4)のよう
に表される。(Equation 3) That is, it is represented as the following equation (4) in [Equation 4].
【0029】[0029]
【数4】 ここで、R(成分Rk )は、入力データxの各成分のn
番目のビットの値(合計8ビット)をアドレスとするメ
モリにより構成することができる。(Equation 4) Here, R (component R k ) is n of each component of input data x.
It can be constituted by a memory in which the value of the second bit (8 bits in total) is used as an address.
【0030】前述の式(1)において使用している行列
演算を成分で表すと、下記の〔数5〕に記載された式
(5)のようになる。When the matrix operation used in the above equation (1) is represented by components, it is as shown in the following equation (5).
【0031】[0031]
【数5】 この式(5)の行列演算をそのまま実行しようとする
と、Rk のワード数として、28 =256個が必要にな
る。また、kは0〜7の範囲を取るので、合計2048
ワードが必要になる。(Equation 5) If the matrix operation of the equation (5) is to be executed as it is, 2 8 = 256 are required as the number of words of R k . Also, since k takes a range of 0 to 7, a total of 2048
Word is needed.
【0032】ここで、上記変換行列Cの対称性を利用す
ると、下記の〔数6〕および〔数7〕にそれぞれ記載さ
れた式(6)および式(7)のように積和演算を分解す
ることができる。まず、以下の式(6)および式(7)
のような2種類の積和演算を行う。Here, when the symmetry of the transformation matrix C is used, the product-sum operation is decomposed as shown in the following equations (6) and (7), respectively. can do. First, the following equations (6) and (7)
Are performed.
【0033】[0033]
【数6】 (Equation 6)
【0034】[0034]
【数7】 つぎに、下記の〔数8〕に記載された式(8)に示すよ
うに、s(成分s0 〜s3 )およびt(成分t0 〜
t3 )の2種類の成分の加算および減算を行うことによ
って出力データy(成分y0 〜y7 )が得られる。(Equation 7) Next, as shown in Expression (8) described in the following [Equation 8], s (components s 0 to s 3 ) and t (components t 0 to
Output data y (component y 0 ~y 7) is obtained by performing addition and subtraction of two components of t 3).
【0035】[0035]
【数8】 上記のような演算を実行すると、Rk のワード数とし
て、は、24 =16個が必要になる。また一方で、kは
0〜7の範囲を取るので、合計64ワードが必要とな
る。すなわち、上記のように行列演算を分解することに
よって、この行列演算に必要なワード数を、前述の式
(5)の行列演算をそのまま実行する場合のワード数の
1/16にすることができる。(Equation 8) When the above-described operation is performed, the number of words of R k needs to be 2 4 = 16. On the other hand, since k ranges from 0 to 7, a total of 64 words are required. That is, by decomposing the matrix operation as described above, the number of words required for the matrix operation can be reduced to 1/16 of the number of words when the matrix operation of the above-described equation (5) is directly executed. .
【0036】従来の逆DCT演算装置の構成では、複数
の累積加算部において式(6)および式(7)の演算を
実行し、その後に式(8)の演算を実行するために、複
数の加算器や減算器を設けていた。これに対し、本発明
の逆DCT演算装置(および逆DCT演算方法)では、
図1の原理図に基づいて説明したように、複数の累積加
算部内の加減算部を再度使用して式(8)の演算を実行
することにより、従来設けていた複数の加算器や減算器
が不要になる。In the configuration of the conventional inverse DCT arithmetic unit, a plurality of accumulative adders execute the operations of Expressions (6) and (7) and then execute the operation of Expression (8). Adders and subtractors were provided. On the other hand, in the inverse DCT operation device (and the inverse DCT operation method) of the present invention,
As described with reference to the principle diagram of FIG. 1, by executing the operation of Expression (8) again using the addition / subtraction units in the plurality of accumulative addition units, a plurality of conventionally-added adders and subtractors can be realized. It becomes unnecessary.
【0037】かくして、本発明の逆DCT演算装置およ
び逆DCT演算方法によれば、積和演算の後処理用の複
数の加算器や減算器等の余計な回路が必要なくなるの
で、従来よりも小規模な回路でかつ少ないクロックサイ
クル数で少なくとも2次元の逆DCT演算を実行するこ
とが可能になる。さらに、本発明の第1の好ましい実施
態様に係る逆DCT演算装置によれば、複数の累積加算
部内の加減算部を再度使用して積和演算の後処理を行う
と共に、1次元目および2次元目の8×8行列等の積和
演算を行う積和演算部に対し1個の係数値並べ替えRA
Mと1個の転置RAM等を設けるようにしているので、
IEEEにより規定される2次元の逆DCT演算精度を
満たしつつ、従来よりも小規模な回路でかつ少ないクロ
ックサイクル数で効率の良いパイプライン処理を行うこ
とが可能になる。Thus, according to the inverse DCT operation apparatus and the inverse DCT operation method of the present invention, unnecessary circuits such as a plurality of adders and subtractors for post-processing of the product-sum operation are not required. At least two-dimensional inverse DCT operation can be performed with a large-scale circuit and with a small number of clock cycles. Furthermore, according to the inverse DCT operation device according to the first preferred embodiment of the present invention, post-processing of the product-sum operation is performed by using the addition / subtraction units in the plurality of accumulating units again, and the first and second dimensions are added. One coefficient value rearrangement RA is performed for the product-sum operation unit that performs the product-sum operation of the 8 × 8 matrix or the like.
Since M and one transposed RAM are provided,
While satisfying the two-dimensional inverse DCT operation accuracy specified by IEEE, it is possible to perform efficient pipeline processing with a smaller circuit and a smaller number of clock cycles than before.
【0038】さらに、本発明の第2の好ましい実施態様
に係る逆DCT演算装置によれば、複数の累積加算部内
の加減算部を再度使用して積和演算の後処理を行うと共
に、1次元目および2次元目の8×8行列等の積和演算
を行う積和演算部に対し2個の係数値並べ替えRAMと
2個の転置RAM等を設けているので、IEEEにより
規定される2次元の逆DCT演算精度を満たしつつ、従
来よりも小規模な回路で、かつ、第1の実施態様の場合
よりも少ないクロックサイクル数で非常に効率の良いパ
イプライン処理を行うことが可能になる。Further, according to the inverse DCT operation device according to the second preferred embodiment of the present invention, post-processing of the product-sum operation is performed by using the addition / subtraction units in the plurality of accumulation addition units again, and the first dimension Since two coefficient value rearranging RAMs and two transposed RAMs are provided for a product-sum operation unit that performs a product-sum operation of an 8 × 8 matrix or the like in the second dimension, two-dimensional data defined by IEEE While achieving the inverse DCT calculation accuracy of the first embodiment, it is possible to perform very efficient pipeline processing with a smaller circuit than before and with a smaller number of clock cycles than in the first embodiment.
【0039】さらに、本発明の第3の好ましい実施態様
に係る逆DCT演算装置によれば、複数の累積加算部内
の加減算部を再度使用して積和演算の後処理を行うと共
に、1次元目および2次元目の8×8行列等の積和演算
をそれぞれ別個に行う2個の積和演算部に対し2個の係
数値並べ替えRAMと2個の転置RAM等を設けている
ので、IEEEにより規定される2次元の逆DCT演算
精度を満たしつつ、従来よりも小規模な回路で、かつ、
第2の実施態様の場合よりも少ないクロックサイクル数
で非常に効率の良いパイプライン処理を行うことが可能
になる。Further, according to the inverse DCT operation device according to the third preferred embodiment of the present invention, post-processing of the product-sum operation is performed again by using the addition / subtraction units in the plurality of accumulation addition units again, and the first dimension And two transposition RAMs and two coefficient value rearranging RAMs are provided for two product-sum operation units for separately performing the product-sum operation of an 8 × 8 matrix or the like of the second dimension. While satisfying the two-dimensional inverse DCT operation accuracy defined by
Very efficient pipeline processing can be performed with a smaller number of clock cycles than in the case of the second embodiment.
【0040】[0040]
【発明の実施の形態】以下、添付図面(図2〜図19)
を参照しながら、本発明の好ましい実施例の構成を説明
する。図2は、本発明の逆DCT演算装置に適用される
積和演算部の具体的な構成を示すブロック図である。な
お、これ以降、前述した構成要素と同様のものについて
は、同一の参照番号を付して表すこととする。BRIEF DESCRIPTION OF THE DRAWINGS FIG.
The configuration of the preferred embodiment of the present invention will be described with reference to FIG. FIG. 2 is a block diagram showing a specific configuration of the product-sum operation unit applied to the inverse DCT operation device of the present invention. Hereinafter, the same components as those described above will be denoted by the same reference numerals.
【0041】図2においては、本発明の逆DCT演算装
置に適用される積和演算部1(図1参照)は、シリアル
/パラレル変換部4から出力されるパラレル形式の係数
値を一時的に保持するためのビット保持部(図1参照)
として機能する16個のシフトレジスタ(図2では、第
1のシフトレジスタ〜第16のシフトレジスタ20−1
〜20−16として示す)と、16個の累積加算部(図
2では、第1の累積加算部〜第16の累積加算部30−
1〜30−16として示す)とを備えている。さらに、
これらの累積加算部は、上記16個のシフトレジスタに
保持されている値の1ビットをアドレスとして、上記累
積加算部内の値記憶部(後述の図18参照)に既に記憶
されている情報と、上記累積加算部内の加算器や減算器
からなる複数の加減算部(後述の図18参照)とを用い
て累積加算を実行する。In FIG. 2, a product-sum operation unit 1 (see FIG. 1) applied to the inverse DCT operation device of the present invention temporarily stores a parallel-type coefficient value output from a serial / parallel conversion unit 4. Bit holding unit for holding (see FIG. 1)
Shift registers (in FIG. 2, the first shift register to the sixteenth shift register 20-1)
20 to 16-16) and 16 cumulative adders (in FIG. 2, the first cumulative adder to the sixteenth cumulative adder 30-
1 to 30-16). further,
These accumulative adders use, as an address, one bit of the value held in the 16 shift registers, information already stored in a value storage unit (see FIG. 18 described later) in the accumulative adder, Cumulative addition is performed using a plurality of adder / subtractors (see FIG. 18 described later) including adders and subtracters in the accumulator.
【0042】上記のような構成の積和演算部、シリアル
/パラレル変換部4およびパラレル/シリアル変換部5
により、積和演算回路10が構成される。さらに詳しく
説明すると、上記の第1〜第16のシフトレジスタ20
−1〜20−16は、シリアル/パラレル変換部4から
送られてくる係数値を受け取った後に、最下位のビット
から最上位のビットに向かって1ビットずつシフトしな
がら上記の第1〜第16の累積加算部30−1〜30−
16に上記係数値を供給する。The product-sum operation unit, the serial / parallel conversion unit 4 and the parallel / serial conversion unit 5 configured as described above.
Thus, the product-sum operation circuit 10 is configured. More specifically, the first to sixteenth shift registers 20 will be described.
After receiving the coefficient value sent from the serial / parallel conversion unit 4, -1 to 20-16 shift the bit from the least significant bit to the most significant bit one bit at a time. 16 accumulative adders 30-1 to 30-
16 is supplied with the coefficient value.
【0043】これらの第1〜第16の累積加算部では、
第1〜第16のシフトレジスタから出力される値の中で
前述の式(8)の成分s0 〜s3 または成分t0 〜t3
に対応する4ビットの係数値をアドレスとして、上記累
積加算部内の値記憶部に既に記憶されている値を参照す
る。さらに、上記累積加算部では、第1〜第16のシフ
トレジスタの値を1ビットシフトする度に値記憶部より
参照される参照値を累積して加算していく。このような
累積加算を実行する際は、累積された値(すなわち、1
サイクル前の加算の結果)を1ビット右にシフトした値
(すなわち、1/2倍した値)と参照値とを加算する。
上記の累積加算は、前述の式(6)または式(7)の演
算に対応している。In these first to sixteenth cumulative addition sections,
The first to component s 0 ~s 3 or component t 0 ~t 3 of the above formula in the value output from the sixteenth shift register (8)
Is used as an address, and a value already stored in the value storage unit in the accumulative addition unit is referred to. Further, the accumulative addition section accumulates and adds the reference values referred from the value storage section every time the values of the first to sixteenth shift registers are shifted by one bit. When performing such cumulative addition, the accumulated value (ie, 1
The value obtained by shifting the result before the cycle (the result of the addition before the cycle) to the right by one bit (that is, a value obtained by multiplying by)) and the reference value are added.
The above-described cumulative addition corresponds to the calculation of the above-described equation (6) or (7).
【0044】第1〜第16のシフトレジスタ1−16か
ら出力される値を全てシフトした時点で、第1〜第16
の累積加算部内の加算器や減算器を再度使用して、累積
した値同士を加算または減算し、16種類の積和演算の
結果を同時に得ることができる。このような加算または
減算は、前述の式(8)の演算に対応している。最終的
に、パラレル/シリアル変換部5は、第1〜第16の累
積加算部から送られてくる16種類の積和演算の結果に
それぞれ対応する16個の値を、シリアル形式の値に変
換し、復号化された出力データとして順次出力する。When all the values output from the first to sixteenth shift registers 1-16 have been shifted, the first to sixteenth
, The accumulated values can be added or subtracted again by using the adder and the subtracter in the accumulating adder of, and the results of 16 types of product-sum operations can be obtained at the same time. Such addition or subtraction corresponds to the calculation of the above-described equation (8). Finally, the parallel / serial converter 5 converts the 16 values corresponding to the results of the 16 types of product-sum operations sent from the first to sixteenth accumulators into serial values. Then, the data is sequentially output as decoded output data.
【0045】上記のような構成により、16個の累積加
算部内で入力データのパイプライン処理等の並列処理を
行うことによって、IEEEにより規定される演算精度
を満たしつつ、従来よりも少ないクロックサイクル数で
1次元および2次元の8×8行列の逆DCT演算を実行
することができるようになり、累積加算部内の加算器や
減算器を再度使用することで回路規模も節減される。With the above configuration, by performing parallel processing such as pipeline processing of input data in the 16 accumulators, the number of clock cycles can be reduced as compared with the conventional one while satisfying the operation accuracy specified by IEEE. Can perform one-dimensional and two-dimensional 8 × 8 matrix inverse DCT operations, and the circuit size can be reduced by using the adder and the subtracter in the accumulator again.
【0046】図3は、本発明の第1の実施例の構成を示
すブロック図である。図3の第1の実施例に係る逆DC
T演算装置においては、1次元目および2次元目の8×
8行列の行列演算を順次実行して16種類の積和演算の
結果を得るために、図2に示したような構成の積和演算
回路10が設けられている。この積和演算回路10は、
前述したように、入力データに関連するパラレル形式の
係数値を一時的に保持する16個のシフトレジスタと、
これらのシフトレジスタから出力される値と既に記憶さ
れている値を使用して累積加算を実行する16個の累積
加算部とを備えている。FIG. 3 is a block diagram showing the configuration of the first embodiment of the present invention. Inverse DC according to the first embodiment of FIG.
In the T arithmetic unit, the 8 × in the first and second dimensions
A product-sum operation circuit 10 having a configuration as shown in FIG. 2 is provided to sequentially execute matrix operations of eight matrices and obtain results of 16 types of product-sum operations. This product-sum operation circuit 10
As described above, 16 shift registers for temporarily holding coefficient values in parallel format related to input data;
There are 16 accumulative adders that execute accumulative addition using values output from these shift registers and values already stored.
【0047】さらに、上記第1の実施例では、入力デー
タの複数の係数値の並べ替えを行う係数値並べ替え部を
構成する係数値並べ替えRAM(random access memor
y:ランダムアクセスメモリの略)6と、上記係数値の
積和演算の結果として得られる複数の値に対する転置
(すなわち、行と列を入れ替える操作)を行う転置部を
構成する転置RAM8とが設けられている。Further, in the first embodiment, a coefficient value rearranging RAM (random access memory) constituting a coefficient value rearranging section for rearranging a plurality of coefficient values of input data is provided.
y: an abbreviation for random access memory) 6 and a transposition RAM 8 that constitutes a transposition unit that transposes a plurality of values obtained as a result of the product-sum operation of the coefficient values (that is, an operation of exchanging rows and columns). Have been.
【0048】係数値並べ替えRAM6では、積和演算回
路10による1次元目の積和演算を実行可能にするため
に、入力データのシリアル形式の係数値を書き込んでか
ら、上記係数値を出力する順序の並べ替えを行い、この
並べ替えを行った結果として得られる複数の値を読み出
すようにしている。また一方で、転置RAM8では、8
×8行列の2次元目の積和演算を実行可能にするため
に、積和演算回路10による1次元目の積和演算の結果
として得られる複数の値を書き込んでから、上記複数の
値に対する転置を行い、この転置を行った結果として得
られる複数の値を読み出すようにしている。In the coefficient value rearranging RAM 6, in order to enable the product-sum operation circuit 10 to execute the first-dimensional product-sum operation, the serial-valued coefficient value of the input data is written, and then the coefficient value is output. The order is rearranged, and a plurality of values obtained as a result of the rearrangement are read. On the other hand, in the transposition RAM 8, 8
In order to make it possible to execute the second-dimensional multiply-accumulate operation of the × 8 matrix, a plurality of values obtained as a result of the first-dimensional multiply-add operation by the multiply-accumulate operation circuit 10 are written. The transposition is performed, and a plurality of values obtained as a result of the transposition are read.
【0049】さらに、図3の第1の実施例では、係数値
並べ替えRAM6と積和演算回路10との間に、マルチ
プレクサ(MPX)7を設けている。このマルチプレク
サ7は、積和演算回路10内で1次元目の積和演算また
は2次元目の積和演算のいずれか一方を実行させるため
に、係数値並べ替えRAM6部から送出されるシリアル
形式の複数の値をパラレル形式の複数の値に変換した
値、または、転置RAM8からパラレル形式で送出され
る複数の値のいずれか一方を選択して積和演算回路10
に入力する機能を有する。Further, in the first embodiment shown in FIG. 3, a multiplexer (MPX) 7 is provided between the coefficient value rearranging RAM 6 and the product-sum operation circuit 10. The multiplexer 7 is used to execute one of the first-dimensional product-sum operation and the second-dimensional product-sum operation in the product-sum operation circuit 10, and the serial-format data transmitted from the coefficient value rearranging RAM 6 is used. A product-sum operation circuit 10 selects one of a plurality of values converted into a plurality of values in a parallel format or a plurality of values sent in a parallel format from the transposition RAM 8.
It has a function to input to
【0050】このような構成の逆DCT演算装置におい
ては、積和演算回路10内で2次元目の積和演算を行っ
た後に、16個の累積加算部内の複数の加減算部を再度
使用し、2次元目の積和演算の結果として得られる複数
の値同士を加算または減算してからパラレル/シリアル
変換を行うことにより、復号化された出力データが得ら
れる。In the inverse DCT operation device having such a configuration, after performing the second dimension product-sum operation in the product-sum operation circuit 10, a plurality of addition / subtraction units in the 16 accumulative addition units are used again. By performing parallel / serial conversion after adding or subtracting a plurality of values obtained as a result of the product-sum operation in the second dimension, decoded output data is obtained.
【0051】さらに詳しく説明すると、上記第1の実施
例において入力データの8×8行列の逆DCT演算を実
行する場合、まず第1に、図3の係数値並べ替えRAM
6からシリアル形式で送られてくる係数値を、パラレル
形式の係数値に変換する処理を行う。このようなシリア
ル/パラレル変換の処理は、図1のシリアル/パラレル
変換部4により行われる(後述の「係数ロード」)。More specifically, when performing the inverse DCT operation of the 8 × 8 matrix of the input data in the first embodiment, first, the coefficient value rearranging RAM of FIG.
The processing of converting the coefficient values sent in the serial format from No. 6 into the coefficient values in the parallel format is performed. Such serial / parallel conversion processing is performed by the serial / parallel conversion unit 4 in FIG. 1 (“coefficient loading” described later).
【0052】第2に、シリアル/パラレル変換部4から
出力されるパラレル形式の係数値は、図2の16個のシ
フトレジスタ20−1〜20−16にロードされる。こ
れらのシフトレジスタ20−1〜20−16は、最下位
のビットから最上位のビットに向かって1ビットずつシ
フトしながら、図2の16個の累積加算部30−1〜3
0−16に上記係数値を供給する。Second, the coefficient values in the parallel format output from the serial / parallel converter 4 are loaded into the 16 shift registers 20-1 to 20-16 in FIG. These shift registers 20-1 to 20-16 shift the 16-bit accumulators 30-1 to 30-3 in FIG. 2 while shifting one bit at a time from the least significant bit to the most significant bit.
The above coefficient value is supplied to 0-16.
【0053】これらの16個の累積加算部では、16個
のシフトレジスタから出力される値の中の4個の値(4
ビット)をアドレスとして、上記累積加算部内の値記憶
部に既に記憶されている値を参照し、参照値を得る。さ
らに、上記の16個の累積加算部では、16個のシフト
レジスタの値を1ビットずつシフトする度に参照される
参照値を累積して加算していく。このような累積加算を
実行する際は、累積された値を1ビット右にシフトした
値と参照値とを加算する。上記の16個のシフトレジス
タから出力される値を全てシフトした時点で、16個の
累積加算部内の加算器や減算器等の加減算部を再度使用
して、累積した値同士を加算または減算し、16種類の
1次元目の積和演算の結果を同時に得ることができる
(後述の「累積加算」)。In these 16 accumulators, four of the values output from the 16 shift registers (4
With reference to the value already stored in the value storage unit in the accumulative addition unit, using the bit) as an address, a reference value is obtained. Further, the 16 accumulative adders accumulate and add the reference values that are referred to each time the values of the 16 shift registers are shifted one bit at a time. When performing such cumulative addition, a value obtained by shifting the accumulated value to the right by one bit and a reference value are added. When all the values output from the 16 shift registers have been shifted, the adder / subtracter such as an adder or a subtractor in the 16 accumulators is used again to add or subtract the accumulated values. , And 16 types of results of the first-dimension product-sum operation can be obtained simultaneously (“cumulative addition” described later).
【0054】第3に、上記の1次元目の積和演算の結果
として得られる複数の値を転置RAM8に入力し、行と
列を入れ替える転置の操作を行ってから、上記複数の値
を積和演算回路10内の16個のシフトレジスタに再度
入力する。この積和演算回路10では、16個の累積加
算部内の値記憶部に既に記憶されている値と、16個の
シフトレジスタから出力される値を使用して2次元目の
積和演算を行う。さらに、16個の累積加算部内の加算
部や減算部を再度使用し、2次元目の積和演算の結果と
して得られる複数の値同士を加算または減算してからパ
ラレル/シリアル変換を行うことにより、復号化された
シリアル形式の出力データが得られる(後述の「結果出
力」)。Third, a plurality of values obtained as a result of the product-sum operation in the first dimension are input to the transposition RAM 8, and a transposition operation for exchanging rows and columns is performed. The data is again input to the 16 shift registers in the sum operation circuit 10. The product-sum operation circuit 10 performs a two-dimensional product-sum operation using the values already stored in the value storage units in the 16 accumulators and the values output from the 16 shift registers. . Further, the adder and the subtractor in the 16 accumulators are used again to add or subtract a plurality of values obtained as a result of the product-sum operation in the second dimension, and then perform parallel / serial conversion. Thus, decrypted serial-format output data is obtained (“result output” described later).
【0055】上記第1の実施例では、複数の係数値に対
し並列処理を行うことによって、IEEEにより規定さ
れる2次元の8×8行列の逆DCT演算精度を満たしつ
つ、比較的少ないクロックサイクル数で効率の良いパイ
プライン処理を実行することが可能になる。さらに、上
記第1の実施例では、2次元目の積和演算の後処理を行
う際に累積加算部内の加算部や減算部を利用するように
しているので、従来設けていた加算部や減算部が必要な
くなり、回路規模が少なくて済む。In the first embodiment, by performing parallel processing on a plurality of coefficient values, a relatively small number of clock cycles can be achieved while satisfying the inverse DCT operation accuracy of a two-dimensional 8 × 8 matrix defined by IEEE. This makes it possible to execute efficient and efficient pipeline processing. Further, in the first embodiment, the adder and the subtractor in the accumulator are used when performing the post-processing of the product-sum operation in the second dimension. This eliminates the need for a unit and reduces the circuit scale.
【0056】さらに、上記第1の実施例では、1次元目
の行列演算に係る累積加算を行うために積和演算回路内
の累積加算部を初期化するときに、上記パラレル形式の
係数値の小数部における最下位のビットの丸め処理(四
捨五入)を行うようにしている。このようにすれば、2
次元目の累積加算の際に係数値のビット数を少なくする
ことができるので、IEEEにより規定される逆DCT
演算精度を満たしつつ、最小限のクロックサイクル数で
パイプライン処理を実行することができる。Further, in the first embodiment, when the accumulative addition unit in the product-sum operation circuit is initialized to perform the accumulative addition related to the matrix operation of the first dimension, the coefficient value of the parallel format is initialized. The least significant bit in the decimal part is rounded (rounded). In this way, 2
Since the number of bits of the coefficient value can be reduced at the time of cumulative addition of the dimension, the inverse DCT defined by IEEE
The pipeline processing can be executed with a minimum number of clock cycles while satisfying the operation accuracy.
【0057】図4は、本発明の第2の実施例の構成を示
すブロック図である。図4の第2の実施例に係る逆DC
T演算装置においても、前述の第1の実施例の場合と同
じように、1次元目および2次元目の8×8行列の行列
演算を順次実行して16種類の積和演算の結果を得るた
めに、図2に示したような構成の積和演算回路10が設
けられている。FIG. 4 is a block diagram showing the configuration of the second embodiment of the present invention. Inverse DC according to the second embodiment of FIG.
Also in the T-operation device, as in the case of the above-described first embodiment, matrix operations of the first and second 8 × 8 matrices are sequentially performed to obtain 16 types of product-sum results. For this purpose, a product-sum operation circuit 10 having the configuration shown in FIG. 2 is provided.
【0058】さらに、上記第2の実施例では、複数の係
数値を構成する複数のブロックに対し交互に並べ替えを
行うための2個の係数値並べ替えRAM(図4では、第
1の係数値並べ替えRAM61および第2の係数値並べ
替えRAM62として示す)と、上記積和演算の結果と
して得られる複数の値のブロックに対する転置を交互に
行うための2個の転置RAM(図4では、第1の転置R
AM81および第2の転置RAM82として示す)とが
設けられている。Further, in the second embodiment, two coefficient value rearranging RAMs (in FIG. 4, the first coefficient RAM) for alternately rearranging a plurality of blocks constituting a plurality of coefficient values are described. Numerical data rearranging RAM 61 and second coefficient value rearranging RAM 62) and two transposing RAMs (in FIG. 4, in FIG. 4) for alternately transposing blocks of a plurality of values obtained as a result of the product-sum operation. First transpose R
AM 81 and a second transposed RAM 82).
【0059】さらに、図4の第2の実施例では、2個の
係数値並べ替えRAMと積和演算回路10との間に、マ
ルチプレクサ71を設けている。このマルチプレクサ7
1は、積和演算回路10内で1次元目の積和演算または
2次元目の積和演算のいずれか一方を実行させるため
に、2個の係数値並べ替えRAMから送出されるシリア
ル形式の複数の値をパラレル形式の複数の値に変換した
値、または、2個の転置RAMからパラレル形式で送出
される複数の値のいずれか一方を選択して積和演算回路
10に入力する機能を有する。Further, in the second embodiment shown in FIG. 4, a multiplexer 71 is provided between the two coefficient value rearranging RAMs and the product-sum operation circuit 10. This multiplexer 7
Reference numeral 1 denotes a serial format sent from the two coefficient value rearranging RAMs in order to execute either the first-dimensional product-sum operation or the second-dimensional product-sum operation in the product-sum operation circuit 10. A function of selecting either one of a plurality of values converted into a plurality of values in a parallel format or a plurality of values transmitted in a parallel format from two transposition RAMs and inputting the selected value to the product-sum operation circuit 10. Have.
【0060】このような構成の逆DCT演算装置におい
ては、積和演算回路10内で2次元目の積和演算を行っ
た後に、16個の累積加算部内の複数の加減算部を再度
使用し、2次元目の積和演算の結果として得られる複数
の値同士を加算または減算してからパラレル/シリアル
変換を行うことにより、復号化された出力データが得ら
れる。In the inverse DCT operation device having such a configuration, after performing the second dimension product-sum operation in the product-sum operation circuit 10, a plurality of addition / subtraction units in the 16 accumulative addition units are used again. By performing parallel / serial conversion after adding or subtracting a plurality of values obtained as a result of the product-sum operation in the second dimension, decoded output data is obtained.
【0061】上記の第1および第2の係数値並べ替えR
AM61、62では、第1の係数値並べ替えRAM61
において一つのブロックの係数値の並べ替えを行った結
果の読み出し動作が実行される前に、上記第2の係数値
並べ替えRAM62において次に送られてくる他のブロ
ックの係数値の書き込み動作が実行される。さらに、こ
れ以降に送られてくるブロックの係数値に対し、同様の
読み出し動作および書き込み動作が順次実行される。こ
の場合は、一方の係数値並べ替えRAMの読み出し動作
を実行している期間に、他方の係数値並べ替えRAMの
書き込み動作を実行することができるので、前述の第1
の実施例の場合よりも高速にて係数値の並べ替えを実行
することができる。The first and second coefficient value rearrangement R
In the AMs 61 and 62, the first coefficient value rearranging RAM 61
In the second coefficient value rearranging RAM 62, before the read operation of the result of rearranging the coefficient values of one block is performed, the writing operation of the coefficient value of another block transmitted next is performed in the second coefficient value rearranging RAM 62. Be executed. Further, the same read operation and write operation are sequentially performed on the coefficient values of the blocks transmitted thereafter. In this case, the write operation of the other coefficient value rearranging RAM can be performed while the read operation of one coefficient value rearranging RAM is being performed.
The rearrangement of the coefficient values can be executed at a higher speed than in the case of the embodiment.
【0062】また一方で、上記の第1および第2の転置
RAM81、82では、第1の転置RAM81において
一つのブロックの値の転置を行った結果の読み出し動作
が実行される前に、上記第2の転置RAM82において
次に送られてくるブロックの値の書き込み動作が実行さ
れる。さらに、これ以降に送られてくるブロックの値に
対し、同様の読み出し動作および書き込み動作が順次実
行される。この場合は、一方の転置RAMの読み出し動
作を実行している期間に、他方の転置RAMの書き込み
動作を実行することができるので、前述の第1の実施例
の場合よりも高速にて1次元目の積和演算後の転置を実
行することができる。On the other hand, in the first and second transposition RAMs 81 and 82, before the read operation of the result of transposing the value of one block in the first transposition RAM 81 is executed, In the second transposition RAM 82, the operation of writing the value of the block transmitted next is executed. Further, the same read operation and write operation are sequentially performed on the values of the blocks transmitted thereafter. In this case, the write operation of the other transposed RAM can be performed while the read operation of one transposed RAM is being performed, so that the one-dimensional one-dimensional operation can be performed at a higher speed than in the case of the first embodiment. Transposition after the product-sum operation of the eyes can be performed.
【0063】上記第2の実施例では、前述の第1の実施
例の構成に比べて係数値並べ替えRAMと転置RAMが
各々1個増えているが、第1の実施例の場合よりも少な
いクロックサイクル数で非常に効率の良いパイプライン
処理を実行することが可能になる。図5は、本発明の第
3の実施例の構成を示すブロック図である。ここでは、
入力データの複数の係数値のシリアル/パラレル変換を
行うシリアル/パラレル変換部(例えば、図2参照)
が、1次元目積和演算回路11に設けられると共に、2
次元目の積和演算の結果として得られる複数の値のパラ
レル/シリアル変換を行うパラレル/シリアル変換部
(例えば、図2参照)が、2次元目積和演算回路12に
設けられている。In the second embodiment, the coefficient value rearranging RAM and the transposition RAM are each increased by one in comparison with the configuration of the first embodiment, but are smaller than those in the first embodiment. Very efficient pipeline processing can be executed with the number of clock cycles. FIG. 5 is a block diagram showing the configuration of the third embodiment of the present invention. here,
Serial / parallel converter for serial / parallel conversion of a plurality of coefficient values of input data (for example, see FIG. 2)
Are provided in the one-dimensional product sum arithmetic circuit 11 and
A parallel / serial converter (for example, see FIG. 2) that performs parallel / serial conversion of a plurality of values obtained as a result of the product-sum operation in the dimension is provided in the two-dimensional product-sum operation circuit 12.
【0064】図5の第3の実施例に係る逆DCT演算装
置においては、1次元目の8×8行列の積和演算を実行
する1次元目積和演算回路11と、2次元目の8×8行
列の積和演算を実行する2次元目積和演算回路12とが
別個に設けられている。ただし、これらの1次元目積和
演算部11および2次元目積和演算回路12の各々の構
成は、前述の図2の積和演算回路10の構成と実質的に
同じである。In the inverse DCT operation device according to the third embodiment shown in FIG. 5, a first-dimension product-sum operation circuit 11 for executing a first-dimension 8 × 8 matrix product-sum operation and a second-dimension 8 A two-dimensional product-sum operation circuit 12 for executing a product-sum operation of a × 8 matrix is provided separately. However, the configuration of each of the one-dimensional product-sum operation unit 11 and the two-dimensional product-sum calculation circuit 12 is substantially the same as the configuration of the product-sum calculation circuit 10 of FIG.
【0065】さらに詳しく説明すると、1次元目積和演
算回路11は、シリアル/パラレル変換部から出力され
るパラレル形式の係数値を一時的に保持するための16
個のシフトレジスタと、16個の第1の累積加算部とを
備えている。さらに、これらの累積加算部の各々は、シ
リアル/パラレル変換部から出力される値をアドレスと
して、上記累積加算部内の値記憶部に既に記憶されてい
る情報と、上記累積加算部内の加算部や減算部からなる
複数の加減算部とを用いて1次元目の累積加算を実行す
る。More specifically, the one-dimensional product sum-of-arithmetic circuit 11 is a circuit for temporarily storing a coefficient value in a parallel format output from the serial / parallel converter.
Shift registers and 16 first accumulative adders. Further, each of these accumulators uses the value output from the serial / parallel converter as an address, the information already stored in the value memory in the accumulator, the adder in the accumulator, The first-order cumulative addition is performed using a plurality of addition / subtraction units including a subtraction unit.
【0066】また一方で、2次元目積和演算回路12
は、2個の転置部83、84の各々から送出されるパラ
レル形式の複数の値を一時的に保持するための16個の
シフトレジスタと、16個の第2の累積加算部とを備え
ている。さらに、これらの累積加算部の各々は、2個の
転置部の各々から送出されるパラレル形式の複数の値を
アドレスとして、上記累積加算部内の第2の値記憶部に
既に記憶されている情報と、上記累積加算部内の加算部
や減算部からなる複数の第2の加減算部とを用いて2次
元目の累積加算を実行する。On the other hand, the two-dimensional product sum operation circuit 12
Includes 16 shift registers for temporarily holding a plurality of values in the parallel format sent from each of the two transposition units 83 and 84, and 16 second accumulative addition units. I have. Further, each of these accumulative adders uses, as an address, a plurality of values in a parallel format transmitted from each of the two transposed units as information stored in a second value storage unit in the accumulative adder. And a plurality of second adding / subtracting units including an adding unit and a subtracting unit in the above-mentioned accumulating unit.
【0067】さらに、上記第3の実施例では、複数の係
数値を構成する複数のブロックに対し交互に並べ替えを
行うための2個の係数値並べ替えRAM(図5では、第
1の係数値並べ替えRAM63および第2の係数値並べ
替えRAM64として示す)と、上記係数値の1次元の
積和演算の結果として得られる複数の値のブロックに対
する転置を交互に行うための2個の転置RAM(図5で
は、第1の転置RAM83および第2の転置RAM84
として示す)とが設けられている。Further, in the third embodiment, two coefficient value rearranging RAMs (in FIG. 5, a first coefficient RAM) for alternately rearranging a plurality of blocks constituting a plurality of coefficient values. And two transpositions for alternately transposing a plurality of value blocks obtained as a result of the one-dimensional product-sum operation of the coefficient values. RAM (in FIG. 5, a first transposed RAM 83 and a second transposed RAM 84
) Are provided.
【0068】さらに、図5の第3の実施例では、2個の
係数値並べ替えRAMと1次元目積和演算回路11との
間に、第1のマルチプレクサ72を設けている。この第
1のマルチプレクサ72は、2個の係数値並べ替えRA
Mのいずれか一方の係数値並べ替えRAMから送出され
るパラレル形式の複数の値を選択して1次元目積和演算
回路10に入力する機能を有する。Further, in the third embodiment shown in FIG. 5, a first multiplexer 72 is provided between the two coefficient value rearranging RAMs and the one-dimensional product sum arithmetic circuit 11. The first multiplexer 72 includes two coefficient value rearrangements RA
It has a function of selecting a plurality of values in the parallel format sent from any one of the coefficient value rearranging RAMs of M and inputting them to the one-dimensional product sum arithmetic circuit 10.
【0069】また一方で、図5の第3の実施例では、2
個の第1の転置RAM83および第2の転置RAM84
との間に、第2のマルチプレクサ92を設けている。こ
の第2のマルチプレクサ92は、2個の転置RAMのい
ずれか一方の転置RAMから送出されるパラレル形式の
複数の値を選択して2次元目積和演算回路12に入力す
る機能を有する。On the other hand, in the third embodiment shown in FIG.
First transposed RAM 83 and second transposed RAM 84
, A second multiplexer 92 is provided. The second multiplexer 92 has a function of selecting a plurality of values in a parallel format sent from one of the two transposed RAMs and inputting the selected values to the two-dimensional product sum arithmetic circuit 12.
【0070】このような構成の逆DCT演算装置におい
ては、2次元目積和演算回路12内で2次元目の積和演
算を行った後に、16個の累積加算部内の複数の加減算
部を再度使用し、2次元目の積和演算の結果として得ら
れる複数の値同士を加算または減算してからパラレル/
シリアル変換を行うことにより、復号化された出力デー
タが得られる。In the inverse DCT operation device having such a configuration, after performing the second-dimensional product-sum operation in the two-dimensional product-sum operation circuit 12, a plurality of addition / subtraction units in the 16 accumulative addition units are again operated. To add or subtract a plurality of values obtained as a result of the product-sum operation in the second dimension,
By performing serial conversion, decoded output data is obtained.
【0071】上記の第1および第2の係数値並べ替えR
AM63、64では、第1の係数値並べ替えRAM63
において一つのブロックの係数値の並べ替えを行った結
果の読み出し動作が実行される前に、上記第2の係数値
並べ替えRAM64において次に送られてくる他のブロ
ックの係数値の書き込み動作が実行される。さらに、こ
れ以降に送られてくるブロックの係数値に対し、同様の
読み出し動作および書き込み動作が順次実行される。こ
の場合は、第1および第2の係数値並べ替えRAM6
3、64から1次元目積和演算回路11に向かって、入
力データの複数の係数値を連続的に送出することができ
るので、前述の第2の実施例の場合よりも高速にて係数
値の並べ替えを実行することができる。The first and second coefficient value rearrangement R
In the AM 63, 64, the first coefficient value rearranging RAM 63
Before the read operation of the result of the rearrangement of the coefficient values of one block is performed in the above, the operation of writing the coefficient values of another block transmitted next in the second coefficient value rearrangement RAM 64 is performed. Be executed. Further, the same read operation and write operation are sequentially performed on the coefficient values of the blocks transmitted thereafter. In this case, the first and second coefficient value rearranging RAM 6
Since a plurality of coefficient values of the input data can be continuously transmitted from the third and the 64th to the one-dimensional product-sum operation circuit 11, the coefficient values can be transmitted at a higher speed than in the second embodiment. Can be performed.
【0072】また一方で、上記の第1および第2の転置
RAM83、84では、第1の転置RAM83において
一つのブロックの値の転置を行った結果の読み出し動作
が実行される前に、上記第2の転置RAM84において
次に送られてくるブロックの値の書き込み動作が実行さ
れる。さらに、これ以降に送られてくるブロックの値に
対し、同様の読み出し動作および書き込み動作が順次実
行される。この場合は、第1および第2の転置RAM8
3、84から2次元目積和演算回路12に向かって、パ
ラレル形式の複数の値を連続的に送出することができる
ので、前述の第2の実施例の場合よりも高速にて係数値
の並べ替えを実行することができる。On the other hand, in the first and second transposition RAMs 83 and 84, before the read operation of the result of transposing the value of one block in the first transposition RAM 83 is executed, In the second transposition RAM 84, the operation of writing the value of the block transmitted next is executed. Further, the same read operation and write operation are sequentially performed on the values of the blocks transmitted thereafter. In this case, the first and second transposed RAMs 8
Since a plurality of values in the parallel format can be continuously transmitted from the third and the fourth to the two-dimensional product-sum operation circuit 12, the coefficient values can be calculated at a higher speed than in the case of the second embodiment. Sorting can be performed.
【0073】上記第3の実施例では、前述の第1の実施
例の構成に比べて係数値並べ替えRAMと転置RAMと
積和演算回路とが各々1個増えているが、第2の実施例
の場合よりもさらに少ないクロックサイクル数で非常に
効率の良いパイプライン処理を実行することが可能にな
る。このような構成では、1サイクルで一つの係数値の
演算処理を実現することができる。In the third embodiment, the coefficient value rearranging RAM, the transposition RAM, and the product-sum operation circuit are each increased by one as compared with the configuration of the first embodiment. Very efficient pipeline processing can be executed with a smaller number of clock cycles than in the example. With such a configuration, it is possible to realize the operation of calculating one coefficient value in one cycle.
【0074】図6および図7は、本発明の第1の実施例
の全体的な動作を説明するためのタイミングチャートの
その1およびその2である。ただし、ここでは、図3に
示したような構成の逆DCT演算装置を動作させた場合
の、動画像データ等からなる入力データの6ブロック分
のパイプライン処理のタイミングムチャートを図示して
いる。この場合、時間軸の1目盛りは、16サイクルに
相当する時間の長さを表している。FIGS. 6 and 7 are timing charts 1 and 2 for explaining the overall operation of the first embodiment of the present invention. However, here, a timing chart of pipeline processing for six blocks of input data composed of moving image data and the like when the inverse DCT operation device having the configuration shown in FIG. 3 is operated is illustrated. . In this case, one scale on the time axis indicates the length of time corresponding to 16 cycles.
【0075】これらの6ブロックは、MPEGの規格に
準拠した4つの輝度データY0、Y1、Y2およびY3
と、2つの色差データCb、Crとを含み、通常、マク
ロブロックとよばれる。このマクロブロック内の1ブロ
ックは、8×8=64個の値を有する。図6および図7
に示すように、入力データの複数の係数値の積和演算
を、「係数ロード」、「累積加算」および「結果出力」
の3つのステージに分け、これらの各々のステージを並
列処理(すなわち、パイプライン処理)によって実現す
る。以下、このような並列処理について説明する。These six blocks are composed of four luminance data Y0, Y1, Y2 and Y3 based on the MPEG standard.
And two pieces of color difference data Cb and Cr, and are usually called macroblocks. One block in this macro block has 8 × 8 = 64 values. 6 and 7
As shown in, the product-sum operation of multiple coefficient values of the input data is performed by "coefficient loading", "cumulative addition", and "result output".
And each of these stages is realized by parallel processing (ie, pipeline processing). Hereinafter, such parallel processing will be described.
【0076】「係数ロード」は、6ブロック分の入力デ
ータの書き込み動作(例えば、図6のY0ライト〜Cr
ライト)および読み出し動作(例えば、図6のY0リー
ド〜Crリード)を行った係数値並べ替えRAM(図3
参照)からシリアル形式で送られてくる6ブロック分の
係数値を、パラレル形式の係数値に並べ替える処理であ
る。この係数値並べ替え処理においては、1次元目およ
び2次元目の輝度データY0(1st)、Y0(2n
d)、Y1(1st)、Y1(2nd)、Y2(1s
t)、Y2(2nd)、Y3(1st)およびY3(2
nd)と、1次元目および2次元目の色差データCb
(1st)、Cb(2nd)、Cr(1st)およびC
r(2nd)に対する処理を順次実行する。上記のよう
な係数値並べ替え処理は、図2のシリアル/パラレル変
換部において実行される。“Coefficient loading” is a write operation of input data for six blocks (for example, Y0 write to Cr in FIG. 6).
Write and read operations (for example, Y0 read to Cr read in FIG. 6) are performed.
This is a process of rearranging the coefficient values of six blocks sent in serial form from the reference form (see FIG. 2) into coefficient values in parallel form. In this coefficient value rearranging process, the first and second dimension luminance data Y0 (1st) and Y0 (2n)
d), Y1 (1st), Y1 (2nd), Y2 (1s)
t), Y2 (2nd), Y3 (1st) and Y3 (2
nd), the first- and second-dimensional color difference data Cb
(1st), Cb (2nd), Cr (1st) and C
Processing for r (2nd) is sequentially executed. The coefficient value rearrangement processing as described above is executed in the serial / parallel conversion unit in FIG.
【0077】「累積加算」は、図2のシリアル/パラレ
ル変換部から出力されるパラレル形式の係数値を16個
のシフトレジスタにロードし、これらのシフトレジスタ
内で最下位のビットから最上位のビットに向かって1ビ
ットずつシフトしながら複数の累積加算部へ係数値を供
給する処理である。この累積加算処理は、図2の複数
(例えば、16個)の累積加算部において実行される。
これらの累積加算部では、16個のシフトレジスタ中の
4個の値(4ビット)をアドレスとして、既に回路上に
記憶されている値を参照し、参照値を得る。上記の累積
加算部では、16個のシフトレジスタの値をシフトする
度に参照される値を累積して加算していく。この累積加
算の際は、累積された値(すなわち、1サイクル前の加
算の結果)を1ビット右にシフトした値(すなわち、1
/2倍した値)と参照値とを加算する。16個のシフト
レジスタの値を全てシフトしたときに、複数の累積加算
部を再度使用して、累積加算した値同士を加算または減
算し、16個の積和演算の結果を同時に得ることができ
る。In the "cumulative addition", a parallel format coefficient value output from the serial / parallel conversion unit in FIG. 2 is loaded into 16 shift registers, and the least significant bit is shifted from the least significant bit to the most significant bit in these shift registers. This is a process of supplying a coefficient value to a plurality of cumulative addition units while shifting one bit at a time toward a bit. This accumulative addition process is executed by a plurality (for example, 16) of accumulative adders in FIG.
In these accumulators, four values (4 bits) in the 16 shift registers are used as addresses to refer to values already stored in the circuit and to obtain reference values. The accumulative addition unit accumulates and adds the values referred to each time the values of the 16 shift registers are shifted. In this cumulative addition, the value obtained by shifting the accumulated value (ie, the result of the addition one cycle before) to the right by one bit (ie, 1
/ 2 times) and the reference value. When all the values of the 16 shift registers have been shifted, a plurality of accumulative adders can be used again to add or subtract the accumulatively added values to simultaneously obtain the results of the 16 product-sum operations. .
【0078】「結果出力」は、図2のパラレル/シリア
ル変換部において、積和演算の結果として得られる16
個の値をシリアル形式で出力する処理である(図5に、
6ブロック分の出力データを、Y0出力、Y1出力、Y
2出力、Y3出力、Cb出力およびCr出力として示
す)。なお、図3の転置RAMでは、1次元目の積和演
算の結果として得られる16個の値の行と列を入れ替え
る転置を実行してから、転置後の16個の値を積和演算
回路内の16個のシフトレジスタに再度入力する。この
積和演算回路では、16個の累積加算部内の値記憶部に
既に記憶されている値と、16個のシフトレジスタから
出力される値を使用して2次元目の積和演算を行う。さ
らに、16個の累積加算部内の加算部や減算部を再度使
用し、2次元目の積和演算の結果として得られる複数の
値同士を加算または減算してからパラレル/シリアル変
換を行うことにより、復号化されたシリアル形式の出力
データが得られる。The “result output” is obtained as a result of the product-sum operation in the parallel / serial converter of FIG.
Is a process of outputting the values in a serial format (see FIG. 5,
Output data for six blocks is output as Y0 output, Y1 output, Y
2 output, Y3 output, Cb output and Cr output). In the transposition RAM of FIG. 3, after performing transposition for exchanging rows and columns of 16 values obtained as a result of the first-dimensional product-sum operation, the 16 values after the transposition are used to calculate the product-sum operation circuit. Are input again to the 16 shift registers. In this product-sum operation circuit, a second-dimension product-sum operation is performed using the values already stored in the value storage units in the 16 accumulators and the values output from the 16 shift registers. Further, the adder and the subtractor in the 16 accumulators are used again to add or subtract a plurality of values obtained as a result of the product-sum operation in the second dimension, and then perform parallel / serial conversion. , The decoded serial output data is obtained.
【0079】上記のような並列処理を行うことにより、
IEEEにより規定される演算精度でもって2次元の8
×8行列の逆DCT演算を、比較的少ないクロックサイ
クル数(例えば、6ブロック分のデータの逆DCT演算
に対するクロックサイクル数は960サイクル)で実行
することができるようになり、回路規模も少なくて済
む。By performing the parallel processing as described above,
Two-dimensional 8 with the arithmetic precision specified by IEEE
The inverse DCT operation of the × 8 matrix can be executed with a relatively small number of clock cycles (for example, the number of clock cycles for the inverse DCT operation of six blocks of data is 960), and the circuit scale is small. I'm done.
【0080】図8および図9は、本発明の第2の実施例
の全体的な動作を説明するためのタイミングチャートの
その1およびその2である。ただし、ここでは、図4に
示したような構成の逆DCT演算装置を動作させた場合
の、動画像データ等からなる入力データの6ブロック分
のパイプライン処理のタイミングムチャートを図示して
いる。この場合、時間軸の1目盛りは、16サイクルに
相当する時間の長さを表している。FIGS. 8 and 9 are timing charts 1 and 2 for explaining the overall operation of the second embodiment of the present invention. However, here, a timing chart of pipeline processing for six blocks of input data composed of moving image data and the like when the inverse DCT operation device having the configuration shown in FIG. 4 is operated is illustrated. . In this case, one scale on the time axis indicates the length of time corresponding to 16 cycles.
【0081】これらの6ブロックは、前述の第1の実施
例の場合と同じように、4つの輝度データY0、Y1、
Y2およびY3と、2つの色差データCb、Crとを含
む。さらに、図8および図9の第2の実施例において
も、第1の実施例にて既述したように、入力データの複
数の係数値の積和演算を、「係数ロード」、「累積加
算」および「結果出力」の3つのステージに分け、これ
らの各々のステージを並列処理によって実現する。これ
らの3つのステージについては、第1の実施例にて既に
説明しているので、ここでは、その詳細な説明を省略す
る。These six blocks are composed of four luminance data Y0, Y1,..., As in the case of the first embodiment.
Y2 and Y3 and two color difference data Cb and Cr. Further, in the second embodiment of FIGS. 8 and 9, as described in the first embodiment, the product-sum operation of a plurality of coefficient values of input data is performed by “coefficient loading” and “cumulative addition”. "And" result output ", and each of these stages is realized by parallel processing. Since these three stages have already been described in the first embodiment, a detailed description thereof will be omitted here.
【0082】上記第2の実施例では、前述の第1の実施
例の場合と異なり、2個の係数値並べ替えRAM(例え
ば、図4の第1および第2の係数値並べ替えRAM6
1、62)を用いて入力データの係数値の並べ替えを行
うと共に、2個の転置RAM(例えば、図4の第1およ
び第2の転置RAM81、82)を用いて、積和演算後
の複数の値の転置を行っている。In the second embodiment, unlike the first embodiment, two coefficient value rearranging RAMs (for example, the first and second coefficient value rearranging RAM 6 shown in FIG. 4) are used.
1, 62), and the two transposed RAMs (for example, the first and second transposed RAMs 81, 82 in FIG. 4) are used to rearrange the coefficient values of the input data. Transpose multiple values.
【0083】図8および図9に示すタイミングチャート
から明らかなように、上記第2の実施例では、2個の係
数値並べ替えRAMにより、シリアル形式で送られてく
る4つの輝度データY0、Y1、Y2およびY3と、2
つの色差データCb、Crに対し、交互に係数値並べ替
えを行うようにしている。より具体的にいえば、第1の
係数値並べ替えRAMは、輝度データY0、Y2、およ
び色差データCbの書き込み(ライト)、係数値並べ替
えおよび読み出し(リード)を実行し、第2の係数値並
べ替えRAMは、輝度データY1、Y3、および色差デ
ータCrの書き込み(ライト)、係数値並べ替えおよび
読み出し(リード)を実行する。As is clear from the timing charts shown in FIGS. 8 and 9, in the second embodiment, four luminance data Y0 and Y1 transmitted in serial form by two coefficient value rearranging RAMs. , Y2 and Y3 and 2
The coefficient values are alternately rearranged for the two color difference data Cb and Cr. More specifically, the first coefficient value rearranging RAM executes writing (writing), coefficient value rearranging and reading (reading) of the luminance data Y0, Y2 and the chrominance data Cb, and executes the second processing. The numerical value rearranging RAM executes writing (writing), coefficient value rearranging and reading (reading) of the luminance data Y1, Y3 and the color difference data Cr.
【0084】図8および図9のタイミングチャートで
は、2個の係数値並べ替えRAMを同時に動作させるこ
とによって、一方の係数値並べ替えRAMから一つのブ
ロック分の並べ替え処理後の係数値を読み出している間
に、他方の係数値並べ替えRAMに対し次のブロック分
の係数値を書き込むことができる。それゆえに、上記第
2の実施例では、前述の第1の実施例の場合よりも高速
にて係数値の並べ替え処理を実行することができる。In the timing charts of FIGS. 8 and 9, by operating two coefficient value rearranging RAMs simultaneously, one block of coefficient value rearranged RAMs is read from one coefficient value rearranging RAM. During this operation, the coefficient values for the next block can be written to the other coefficient value rearranging RAM. Therefore, in the second embodiment, the coefficient value rearrangement process can be executed at a higher speed than in the case of the first embodiment.
【0085】さらに、図8および図9のタイミングチャ
ートでは、2個の転置RAMを同時に動作させることに
よって、一方の転置RAMから一つのブロック分の積和
演算結果の転置処理後のデータを読み出している間に、
他方の転置RAMに対し次のブロック分のデータを書き
込むことができる。それゆえに、上記第2の実施例で
は、前述の第1の実施例の場合よりも高速にて積和演算
結果の転置処理を実行することができる。Further, in the timing charts of FIGS. 8 and 9, by operating two transposition RAMs at the same time, the data after transposition processing of the product-sum operation result of one block is read from one transposition RAM. While
The next block of data can be written to the other transposed RAM. Therefore, in the second embodiment, the transposition process of the product-sum operation result can be executed at a higher speed than in the case of the first embodiment.
【0086】前述の第1の実施例においては、図6およ
び図7のタイミングチャートに示したように、積和演算
回路内で1次元目の積和演算を実行してから2次元目の
積和演算を実行するまでに、複数の累積加算部が動作し
ない期間が存在する。これに対し、図8および図9に示
す第2の実施例においては、一方の係数値並べ替えRA
Mから送出されるシリアル形式の係数値をパラレル形式
の係数値に変換して複数の累積加算部に供給する動作に
続いて、他方の係数値並べ替えRAMから送出されるシ
リアル形式の係数値をパラレル形式の係数値に変換して
複数の累積加算部に供給する動作を実行しているので、
複数の累積加算部を連続して動作させることが可能にな
る。In the above-described first embodiment, as shown in the timing charts of FIGS. 6 and 7, after the first-dimension product-sum operation is performed in the sum-of-products operation circuit, the second-dimension product is calculated. There is a period during which the plurality of accumulators do not operate until the sum operation is performed. On the other hand, in the second embodiment shown in FIG. 8 and FIG.
Following the operation of converting the serial-type coefficient value sent from M to a parallel-type coefficient value and supplying it to a plurality of accumulators, the serial-type coefficient value sent from the other coefficient value rearranging RAM is Since the operation of converting to the coefficient value in the parallel format and supplying it to the multiple accumulators is performed,
It becomes possible to operate a plurality of accumulative adders continuously.
【0087】上記のように、2個の係数値並べ替えRA
Mおよび2個の転置RAMを用いて6ブロック分のデー
タの並列処理を行うことにより、IEEEにより規定さ
れる演算精度でもって2次元の8×8行列の逆DCT演
算を、前述の第1の実施例の場合よりも少ないクロック
サイクル数(例えば、6ブロック分のデータの逆DCT
演算に対するクロックサイクル数は640サイクル、6
ブロック分の積和演算の結果の出力が完了するまでのク
ロックサイクル数は864サイクル)で実行することが
できるようになる。As described above, two coefficient value rearrangements RA
By performing parallel processing of 6 blocks of data using M and two transposition RAMs, the two-dimensional 8 × 8 matrix inverse DCT operation with the operation accuracy defined by IEEE A smaller number of clock cycles than the case of the embodiment (for example, inverse DCT of 6 blocks of data)
The number of clock cycles for the operation is 640 cycles, 6
(The number of clock cycles until the output of the result of the product-sum operation for the blocks is completed is 864).
【0088】図10および図11は、本発明の第3の実
施例の全体的な動作を説明するためのタイミングチャー
トのその1およびその2である。ただし、ここでは、図
5に示したような構成の逆DCT演算装置を動作させた
場合の、動画像データ等からなる入力データの6ブロッ
ク分のパイプライン処理のタイミングムチャートを図示
している。この場合、時間軸の1目盛りは、16サイク
ルに相当する時間の長さを表している。FIGS. 10 and 11 are timing charts 1 and 2 for explaining the overall operation of the third embodiment of the present invention. However, here, a timing chart of a pipeline process for six blocks of input data composed of moving image data and the like when the inverse DCT operation device having the configuration shown in FIG. 5 is operated is illustrated. . In this case, one scale on the time axis indicates the length of time corresponding to 16 cycles.
【0089】これらの6ブロックは、前述の第1および
第2の実施例の場合と同じように、4つの輝度データY
0、Y1、Y2およびY3と、2つの色差データCb、
Crとを含む。さらに、図10および図11の第3の実
施例においても、第1の実施例にて既述したように、入
力データの複数の係数値の積和演算を、「係数ロー
ド」、「累積加算」および「結果出力」の3つのステー
ジに分け、これらの各々のステージを並列処理によって
実現する。これらの3つのステージについては、第1の
実施例にて既に説明しているので、ここでは、その詳細
な説明を省略する。These six blocks are composed of four luminance data Y as in the first and second embodiments.
0, Y1, Y2 and Y3 and two color difference data Cb,
And Cr. Further, in the third embodiment of FIGS. 10 and 11, as described in the first embodiment, the product-sum operation of a plurality of coefficient values of the input data is performed by “coefficient loading” and “cumulative addition”. "And" result output ", and each of these stages is realized by parallel processing. Since these three stages have already been described in the first embodiment, a detailed description thereof will be omitted here.
【0090】上記第3の実施例では、前述の第2の実施
例の場合と同じように、2個の係数値並べ替えRAM
(例えば、図5の第1および第2の係数値並べ替えRA
M63、64)を用いて入力データの係数値の並べ替え
を行うと共に、2個の転置RAM(例えば、図5の第1
および第2の転置RAM83、84)を用いて、積和演
算後の複数の値の転置を行っている。ただし、上記第3
の実施例では、前述の第2の実施例の場合と異なり、1
次元目の6ブロック分の積和演算を実行する1次元目積
和演算回路と、2次元目の6ブロック分の積和演算を実
行する2次元目積和演算回路12とが別個に設けられて
いる。In the third embodiment, two coefficient value rearranging RAMs are used in the same manner as in the second embodiment.
(For example, the first and second coefficient value rearrangement RA in FIG. 5)
M63, 64), the coefficient values of the input data are rearranged, and two transposed RAMs (for example, the first RAM of FIG.
And the second transposition RAMs 83 and 84) are used to transpose a plurality of values after the product-sum operation. However, the third
In this embodiment, unlike the second embodiment described above, 1
A one-dimensional product-sum operation circuit for performing the product-sum operation for six blocks in the dimension and a two-dimensional product-sum operation circuit 12 for performing the product-sum operation for six blocks in the second dimension are separately provided. ing.
【0091】図10および図11に示すタイミングチャ
ートから明らかなように、上記第3の実施例において
も、2個の係数値並べ替えRAMにより、シリアル形式
で送られてくる4つの輝度データY0、Y1、Y2およ
びY3と、2つの色差データCb、Crに対し、交互に
係数値並べ替えを行うようにしている。より具体的にい
えば、第1の係数値並べ替えRAMは、輝度データY
0、Y2、および色差データCbの書き込み(ライ
ト)、係数値並べ替えおよび読み出し(リード)を実行
し、第2の係数値並べ替えRAMは、輝度データY1、
Y3、および色差データCrの書き込み(ライト)、係
数値並べ替えおよび読み出し(リード)を実行する。As is apparent from the timing charts shown in FIGS. 10 and 11, also in the third embodiment, four luminance data Y0, The coefficient values are rearranged alternately for Y1, Y2, and Y3 and the two color difference data Cb and Cr. More specifically, the first coefficient value rearranging RAM stores the luminance data Y
Write (write), coefficient value rearrangement, and readout (read) of 0, Y2, and color difference data Cb are performed, and the second coefficient value rearrangement RAM stores the luminance data Y1,
Write (write), coefficient value rearrangement, and read (read) of Y3 and color difference data Cr are executed.
【0092】図10および図11のタイミングチャート
では、2個の係数値並べ替えRAMを同時に動作させる
ことによって、一方の係数値並べ替えRAMから一つの
ブロック分の並べ替え処理後の係数値を読み出している
間に、他方の係数値並べ替えRAMに対し次のブロック
分の係数値を書き込むことができる。さらに、2個の係
数値並べ替えRAMから読み出された係数値を、1次元
目の積和演算のみを実行する1次元目積和演算回路内の
16個のシフトレジスタにロードするようにしている。
したがって、1次元目積和演算回路では、1次元目の6
ブロック分のデータY0(1st)、Y1(1st)、
Y2(1st)、Y3(1st)、Cb(1st)、お
よびCr(1st)の係数値が連続してロードされる。
それゆえに、上記第3の実施例では、前述の第2の実施
例の場合よりも高速にて係数値の並べ替え処理を実行す
ることができる。In the timing charts of FIGS. 10 and 11, by operating two coefficient value rearranging RAMs simultaneously, the coefficient values of one block after the rearrangement processing for one block are read out from one coefficient value rearranging RAM. During this operation, the coefficient values for the next block can be written to the other coefficient value rearranging RAM. Further, the coefficient values read from the two coefficient value rearranging RAMs are loaded into 16 shift registers in the one-dimensional product-sum operation circuit that executes only the first-dimensional product-sum operation. I have.
Therefore, in the first-dimension product-sum operation circuit, the first dimension 6
Data for blocks Y0 (1st), Y1 (1st),
The coefficient values of Y2 (1st), Y3 (1st), Cb (1st), and Cr (1st) are loaded successively.
Therefore, in the third embodiment, the coefficient value rearrangement processing can be executed at a higher speed than in the case of the second embodiment.
【0093】また一方で、図10および図11のタイミ
ングチャートでは、2個の転置RAMを同時に動作させ
ることによって、一方の転置RAMから一つのブロック
分の転置処理後のデータを読み出している間に、他方の
転置RAMに対し次のブロック分のデータを書き込むこ
とができる。さらに、2個の転置RAMから読み出され
た転置処理後のデータを、2次元目の積和演算のみを実
行する2次元目積和演算回路内の16個のシフトレジス
タにロードするようにしている。したがって、1次元目
積和演算回路では、2次元目の6ブロック分のデータY
0(2nd)、Y1(2nd)、Y2(2nd)、Y3
(2nd)、Cb(2nd)、およびCr(2nd)の
値が連続してロードされる。それゆえに、上記第3の実
施例では、前述の第2の実施例の場合よりも高速にて1
次元目の積和演算結果の転置処理を実行することができ
る。On the other hand, in the timing charts of FIGS. 10 and 11, by operating two transposition RAMs at the same time, one block of transposition data is read from one transposition RAM while the data after transposition processing is being read. , The next block of data can be written to the other transposed RAM. Further, the transposed data read from the two transposition RAMs is loaded into 16 shift registers in a two-dimensional product-sum operation circuit that executes only the second-dimensional product-sum operation. I have. Therefore, in the one-dimensional product-sum operation circuit, the data Y for six blocks in the second dimension is calculated.
0 (2nd), Y1 (2nd), Y2 (2nd), Y3
The values of (2nd), Cb (2nd), and Cr (2nd) are loaded sequentially. Therefore, in the third embodiment, 1 is faster than in the case of the second embodiment.
Transposition processing of the product-sum operation result of the dimension can be executed.
【0094】上記のように、2個の係数値並べ替えRA
M、2個の転置RAM、および2個の積和演算回路を用
いて6ブロック分のデータの並列処理を行うことによ
り、IEEEにより規定される演算精度でもって2次元
の8×8行列の逆DCT演算を、前述の第2の実施例の
場合よりも少ないクロックサイクル数(例えば、6ブロ
ック分のデータの逆DCT演算に対するクロックサイク
ル数は384サイクル、6ブロック分の積和演算の結果
の出力が完了するまでのクロックサイクル数は576サ
イクル)で実行することができるようになる。As described above, two coefficient value rearrangements RA
M, by using two transposition RAMs and two multiply-accumulation circuits, to perform parallel processing of 6 blocks of data, thereby obtaining the inverse of a two-dimensional 8 × 8 matrix with the operation accuracy specified by IEEE. The DCT operation is performed by reducing the number of clock cycles (for example, the number of clock cycles for the inverse DCT operation of six blocks of data to 384 cycles, and the output of the product-sum operation of six blocks). (The number of clock cycles until the completion of the operation is 576 cycles).
【0095】上記第3の実施例では、図10および図1
1の「結果出力」を参照すれば明らかなように、第2の
実施例の場合よりもさらに少ないクロックサイクル数で
非常に効率の良いパイプライン処理を実行することによ
ってシリアル形式のデータを連続的に出力するようにし
ているので、1サイクルで一つの係数値の演算処理を実
現することが可能になる。In the third embodiment, FIG. 10 and FIG.
As is clear from reference to the "result output" of No. 1, serial data can be continuously converted by executing a very efficient pipeline processing with a smaller number of clock cycles than in the second embodiment. , The calculation of one coefficient value can be realized in one cycle.
【0096】ついで、本発明の逆DCT演算に係る積和
演算処理を、1次元目の積和演算処理と2次元目の積和
演算処理に分離して詳細に説明する。図12および図1
3は、本発明の第1の実施例における1次元目の積和演
算処理手順を説明するためのタイミングチャートのその
1およびその2であり、図14は、本発明の第1の実施
例における1次元目の積和演算処理のビットの動きを示
すタイミングチャートである。ここでは、クロックに基
づいて実行される1次元目の積和演算における「係数ロ
ード」、「累積加算」および「結果出力」の動作を示す
タイミングチャートと、1次元目の積和演算処理におけ
るデータの各ビットの動きを示すタイミングチャートを
図示することとする。Next, the product-sum operation according to the inverse DCT operation of the present invention will be described in detail by separating the product-sum operation in the first dimension and the product-sum operation in the second dimension. FIG. 12 and FIG.
3 is a first and a second part of a timing chart for explaining a first-dimension product-sum operation processing procedure in the first embodiment of the present invention, and FIG. 14 is a timing chart in the first embodiment of the present invention. 9 is a timing chart showing the movement of bits in the first-dimensional product-sum operation processing. Here, a timing chart showing operations of “coefficient loading”, “cumulative addition” and “result output” in the first-dimensional product-sum operation performed based on the clock, and data in the first-dimensional product-sum operation process A timing chart showing the movement of each bit of FIG.
【0097】図12および図13において、「係数ロー
ド」は、シリアル/パラレル変換部にシリアル形式で入
力される複数の係数(例えば、16個の係数からなる係
数1〜係数15)の係数値を、パラレル形式の係数値に
並べ替える。図12および図13から明らかなように、
この係数ロードの処理には16クロック分必要である。
この係数ロードの処理が終了すると、1クロックを使用
して、8×8行列(1ブロック分)の2列または2行分
の係数値を16個のシフトレジスタにロードする。これ
と同時に、16個の累積加算部の初期化を行う。In FIG. 12 and FIG. 13, "coefficient loading" means that the coefficient values of a plurality of coefficients (for example, coefficient 1 to coefficient 15 consisting of 16 coefficients) input to the serial / parallel conversion unit in serial form. , And rearrange them into coefficient values in a parallel format. As is clear from FIGS. 12 and 13,
16 clocks are required for this coefficient loading process.
When the coefficient loading process is completed, coefficient values for two columns or two rows of an 8 × 8 matrix (for one block) are loaded into 16 shift registers using one clock. At the same time, the 16 accumulators are initialized.
【0098】上記16個のシフトレジスタの値は、「累
積加算」の処理に使われる。16個の累積加算部では、
16個のシフトレジスタから出力される値の中でs0 〜
s3またはt0 〜t3 (前述の式(8)参照)に対応す
る4ビットをアドレスとして、累積加算部内の値記憶部
より値を参照する。これらの値記憶部より得られた20
ビットの値と、累積加算部内のレジスタの値(21ビッ
ト)を右に1ビットシフトしたもの(ここでは、符号ビ
ットを2の補数表現により表すため、最上位のビットを
符号拡張する)とを加算し、この加算結果を上記レジス
タにフィードバックして記憶する。図14に示すよう
に、上記の累積加算の処理を、16個のシフトレジスタ
のビット数に相当する回数だけ(ここでは、ビット0〜
ビット11の12ビット分)繰り返す。ただし、最後の
ビット(12ビット目)は符号ビットなので、減算を行
う。すなわち、上記の累積加算の処理は、前述の式
(5)または式(6)の演算に対応している。上記値記
憶部には、予め算出された20ビットの値が16ワード
(1ワード=16ビット)分だけ格納されている。The values of the sixteen shift registers are used in the process of "cumulative addition". In the 16 accumulators,
Of the values output from the 16 shift registers, s 0 to
s as 3 or t 0 ~t 3 address 4 bits corresponding to the (aforementioned formula (8)), and refers to the value from the value storing section in the accumulative adder. 20 obtained from these value storage units
The value of the bit and the value of the register in the accumulator (21 bits) shifted to the right by one bit (here, the sign bit is sign-extended to represent the sign bit in two's complement representation). The result of the addition is fed back to the register and stored. As shown in FIG. 14, the above-described cumulative addition process is performed a number of times corresponding to the number of bits of the 16 shift registers (here, bits 0 to 0).
(12 bits of bit 11) are repeated. However, since the last bit (the 12th bit) is a sign bit, subtraction is performed. That is, the above-described processing of the cumulative addition corresponds to the calculation of the above-described equation (5) or (6). The value storage unit stores a previously calculated 20-bit value for 16 words (1 word = 16 bits).
【0099】図14のs+tまたはs−tの部分に示す
ように、上記12ビット分の累積加算の処理が終了した
時点で、16個の累積加算部から出力される累積加算部
の結果同士を、同累積加算部に含まれる加算器または減
算器を再度使用して加算または減算し、1次元目の積和
演算が完了する。このような加算または減算は、前述の
式(7)の演算に対応する。さらに、上記1次元目の積
和演算の結果の有効なビットである14ビット分(整数
部11ビット、小数部3ビット)を切り出し、パラレル
/シリアル変換部に送出する。ただし、最下位のビット
を切り捨てる際には、丸め(小数部の4ビット目に1を
加算する操作:すなわち、四捨五入))を行った後に切
り捨てなければならない。本発明の第1〜第3の実施例
では、16個の累積加算部のうち、式(7)のs0 〜s
3 の演算に対応する累積加算部を初期化するときに、小
数部の4ビット目に対応するビットのみ“1”に初期化
し、それ以外のビットは“0”に初期化することによっ
て、予め丸めを行っている。As shown in the portion s + t or st in FIG. 14, when the above-described process of accumulating 12 bits is completed, the results of the accumulating portions output from the 16 accumulating portions are compared with each other. The addition or subtraction is performed again using the adder or the subtractor included in the accumulative addition unit, and the first-dimension product-sum operation is completed. Such addition or subtraction corresponds to the operation of Expression (7) described above. Furthermore, 14 bits (an integer part 11 bits and a decimal part 3 bits), which are valid bits of the result of the first dimension product-sum operation, are cut out and sent to the parallel / serial conversion unit. However, when rounding down the least significant bit, it is necessary to round down (operation of adding 1 to the fourth bit of the decimal part: that is, rounding off). In the first to third embodiments of the present invention, among the 16 accumulative adder, s 0 ~s of formula (7)
When initializing the accumulative adder corresponding to the operation of 3 , only the bit corresponding to the fourth bit of the decimal part is initialized to “1”, and the other bits are initialized to “0”. Rounding.
【0100】さらに、図12および図13において、
「結果出力」の処理は、16個並列に得られた14ビッ
トの累積演算結果をシリアル形式で順次出力することに
より遂行される。このように、16サイクルを一つの1
ユニットとして、上記のような「係数ロード」、「累積
加算」および「結果出力」の3つのステージに対し並列
処理を実行することによって、効率の良いパイプライン
処理を行っている。図14に示す各ビットの動きによ
り、上記の並列処理が実行される様子がよくわかるであ
ろう。このようにして得られた係数1〜係数16の値
は、転置RAMに記憶される。Further, in FIG. 12 and FIG.
The "result output" process is performed by sequentially outputting the 16-bit 14-bit cumulative operation results obtained in parallel in a serial format. Thus, 16 cycles are converted into one 1
As a unit, efficient pipeline processing is performed by executing parallel processing for the three stages of “coefficient loading”, “cumulative addition”, and “result output” as described above. It can be clearly understood that the above-described parallel processing is executed by the movement of each bit shown in FIG. The values of coefficient 1 to coefficient 16 thus obtained are stored in the transposed RAM.
【0101】図15および図16は、本発明の第1の実
施例における2次元目の積和演算処理手順を説明するた
めのタイミングチャートのその1およびその2であり、
図17は、本発明の第1の実施例における2次元目の積
和演算処理のビットの動きを示すタイミングチャートで
ある。ここでは、クロックに基づいて実行される2次元
目の積和演算における「係数ロード」、「累積加算」お
よび「結果出力」の動作を示すタイミングチャートと、
2次元目の積和演算処理におけるデータの各ビットの動
きを示すタイミングチャートを図示することとする。FIGS. 15 and 16 are timing charts 1 and 2 for explaining the procedure of the second-dimension product-sum operation in the first embodiment of the present invention.
FIG. 17 is a timing chart showing the movement of the bits in the second-dimensional product-sum operation in the first embodiment of the present invention. Here, a timing chart showing operations of “coefficient loading”, “cumulative addition”, and “result output” in a second-dimensional product-sum operation performed based on a clock,
A timing chart showing the movement of each bit of the data in the second-dimensional product-sum operation is shown.
【0102】図15および図16のタイミングチャート
に基づいて、2次元目の積和演算処理手順を説明する。
転置RAMによって、1次元目の積和演算の結果の行と
列を入れ替える操作(すなわち、転置)を行い、この転
置により得られた値を積和演算回路に再度入力する。図
15および図16において、「係数ロード」は、積和演
算回路にシリアル形式で入力される複数の係数(例え
ば、16個の係数からなる係数1〜係数16)の係数値
を、パラレル形式の係数値に並べ替える。図15および
図16から明らかなように、この係数ロードの処理には
16クロック分必要である。この係数ロードの処理が終
了すると、1クロックを使って、8×8行列(1ブロッ
ク分)の2列または2行分の係数値を16個のシフトレ
ジスタにロードする。転置RAMに格納される値は14
ビットであるため、16個のシフトレジスタには14ビ
ットの値がロードされる。The second-dimension product-sum operation processing procedure will be described with reference to the timing charts of FIGS.
The transposition RAM performs an operation of transposing rows and columns of the result of the first-dimensional product-sum operation (ie, transpose), and inputs the value obtained by the transpose to the product-sum operation circuit again. In FIG. 15 and FIG. 16, “load coefficient” means that the coefficient values of a plurality of coefficients (for example, coefficient 1 to coefficient 16 composed of 16 coefficients) input to the product-sum operation circuit in a serial form are converted into parallel form. Sort by coefficient value. As is clear from FIGS. 15 and 16, the processing of this coefficient loading requires 16 clocks. When the coefficient loading process is completed, coefficient values for two columns or two rows of an 8 × 8 matrix (for one block) are loaded into 16 shift registers using one clock. The value stored in the transpose RAM is 14
Since the bits are bits, the 16 shift registers are loaded with 14-bit values.
【0103】上記16個のシフトレジスタの値は、「累
積加算」の処理に使われる。16個の累積加算部では、
16個のシフトレジスタから出力される値の中でs0 〜
s3またはt0 〜t3 (前述の式(8)参照)に対応す
る4ビットをアドレスとして、累積加算部内の値記憶部
より値を参照する。これらの値記憶部より得られた20
ビットの値と、累積加算部内のレジスタの値(21ビッ
ト)を右に1ビットシフトしたもの(ここでも、符号ビ
ットを2の補数表現により表すため、最上位のビットを
符号拡張する)とを加算し、この加算結果を上記レジス
タにフィードバックして記憶する。図17に示すよう
に、上記の累積加算の処理を、16個のシフトレジスタ
のビット数に相当する回数だけ(ここでは、ビット0〜
ビット13の14ビット分)繰り返す。ただし、最後の
ビット(14ビット目)は符号ビットなので、減算を行
う。すなわち、上記の累積加算の処理は、前述の式
(5)または式(6)の演算に対応している。上記値記
憶部には、予め算出された20ビットの値が16ワード
分だけ格納されている。The values of the sixteen shift registers are used for "accumulative addition" processing. In the 16 accumulators,
Of the values output from the 16 shift registers, s 0 to
s as 3 or t 0 ~t 3 address 4 bits corresponding to the (aforementioned formula (8)), and refers to the value from the value storing section in the accumulative adder. 20 obtained from these value storage units
The value of the bit and the value obtained by shifting the value of the register (21 bits) in the accumulator by one bit to the right (again, sign-extending the most significant bit to represent the sign bit in two's complement representation) The result of the addition is fed back to the register and stored. As shown in FIG. 17, the above-described cumulative addition process is performed by the number of times corresponding to the number of bits of the 16 shift registers (here, bits 0 to 0).
(14 bits of bit 13) are repeated. However, since the last bit (14th bit) is a sign bit, subtraction is performed. That is, the above-described processing of the cumulative addition corresponds to the calculation of the above-described equation (5) or (6). The value storage unit stores a previously calculated 20-bit value for 16 words.
【0104】図17のs+tまたはs−tの部分に示す
ように、上記14ビット分の累積加算の処理が終了した
時点で、16個の累積加算部から出力される累積加算部
の結果同士を、同累積加算部に含まれる加算器または減
算器を再度使用して加算または減算し、2次元目の積和
演算が完了する。このような加算または減算は、前述の
式(7)の演算に対応する。最後に、1クロックを使用
して、図15、図16および図17に示すような積和演
算の結果の丸めとオーバーフロー/アンダーフロー処理
を行い、2次元目の積和演算の最終結果である9ビット
の値を得る。この2次元目の演算結果は、逆DCT演算
装置の後段の都合により出力すればよい。ただし、上記
のパイプライン処理を乱さないように出力する必要があ
る。As shown in the portion s + t or st in FIG. 17, when the above-described process of accumulating 14 bits is completed, the results of the accumulating portions output from the 16 accumulating portions are compared with each other. The adder or the subtractor included in the accumulator is used again to add or subtract, and the second-dimensional product-sum operation is completed. Such addition or subtraction corresponds to the operation of Expression (7) described above. Finally, using one clock, the result of the product-sum operation as shown in FIG. 15, FIG. 16 and FIG. 17 is rounded and overflow / underflow processing is performed to obtain the final result of the second-dimensional product-sum operation. Get a 9-bit value. The calculation result of the second dimension may be output due to the latter stage of the inverse DCT calculation device. However, it is necessary to output so as not to disturb the above pipeline processing.
【0105】前述したように、本発明の第1の実施例の
構成(図3)では、1マクロブロック(6ブロック分)
の2次元の8×8行列の逆DCT演算を、IEEEによ
り規定される演算精度を満たしつつ、960サイクルで
行うことができる。さらに、本発明の第2の実施例の構
成(図4)では、2個の係数値並べ替えRAMと2個の
転置RAMを使用することによって、1マクロブロック
の2次元の8×8行列の逆DCT演算を、IEEEによ
り規定される演算精度を満たしつつ、640サイクルで
行うことができる。As described above, in the configuration of the first embodiment of the present invention (FIG. 3), one macroblock (for six blocks)
Can be performed in 960 cycles while satisfying the operation accuracy defined by IEEE. Further, in the configuration of the second embodiment of the present invention (FIG. 4), the use of two coefficient value rearranging RAMs and two transposition RAMs allows the two-dimensional 8 × 8 matrix of one macroblock to be obtained. The inverse DCT operation can be performed in 640 cycles while satisfying the operation accuracy defined by IEEE.
【0106】さらにまた、本発明の第3の実施例の構成
(図5)では、2個の係数値並べ替えRAMと、2個の
転置RAMと、2個の積和演算部とを使用することによ
って、1マクロブロックの2次元の8×8行列の逆DC
T演算を、IEEEにより規定される演算精度を満たし
つつ、384サイクルで行うことができる。これは、1
クロックで一つの係数値を処理することができることを
意味する。Further, in the configuration of the third embodiment of the present invention (FIG. 5), two coefficient value rearranging RAMs, two transposed RAMs, and two product-sum operation units are used. Thus, the inverse DC of a two-dimensional 8 × 8 matrix of one macroblock
The T operation can be performed in 384 cycles while satisfying the operation accuracy defined by IEEE. This is 1
This means that one coefficient value can be processed by the clock.
【0107】図18は、本発明の実施例に使用される1
次元目の累積加算部の具体的な構成を示すブロック図で
ある。図18に示すように、1次元目の積和演算に使用
される累積加算部においては、シリアル/パラレル変換
部から出力されるパラレル形式の係数の値(例えば、4
ビット)を予め記憶する値記憶部31−1が設けられて
いる。さらに、この値記憶部31−1の出力側に、複数
の加算器や減算器を含む加減算部33−1と、この加減
算部33−1による加算結果または減算結果を保持する
レジスタ34−1と、このレジスタ34−1の値を右に
シフトして符号拡張を行うための右シフト符号拡張部3
2−1とが設けられている。FIG. 18 shows one example used in the embodiment of the present invention.
It is a block diagram which shows the specific structure of the accumulation | adding part of a dimension. As shown in FIG. 18, in a cumulative addition unit used for the first-dimension product-sum operation, the value of a parallel-format coefficient output from the serial / parallel conversion unit (for example, 4
Bit) is provided in advance. Further, on the output side of the value storage unit 31-1, an addition / subtraction unit 33-1 including a plurality of adders and subtractors, and a register 34-1 for holding the addition result or the subtraction result by the addition / subtraction unit 33-1 are provided. Right shift sign extension unit 3 for shifting the value of register 34-1 to the right to sign extend.
2-1 are provided.
【0108】図18において、加減算部33−1は、値
記憶部31−1より得られた20ビットの値と、右シフ
ト符号拡張部32−1によりレジスタ34−1の値(例
えば、21ビット)を右に1ビットシフトしたもの(こ
こでは、符号ビットを2の補数表現により表すため、最
上位のビットを符号拡張する)とを加算する。さらに、
加減算部33−1による加算結果は、レジスタ34−1
にフィードバックされ、2次元目の積和演算を行うため
の出力データとして記憶される。In FIG. 18, the addition / subtraction unit 33-1 stores the 20-bit value obtained from the value storage unit 31-1 and the value of the register 34-1 (for example, a 21-bit value) by the right shift code extension unit 32-1. ) Shifted to the right by one bit (here, the sign bit is sign-extended in order to represent the sign bit in two's complement representation). further,
The addition result by the addition / subtraction unit 33-1 is stored in the register 34-1.
And is stored as output data for performing the second-dimensional product-sum operation.
【0109】図19は、本発明の実施例に使用される2
次元目の累積加算部の具体的な構成を示すブロック図で
ある。図19に示すように、1次元目の積和演算に使用
される累積加算部においては、転置RAMから送出され
るパラレル形式の値(例えば、4ビット)を予め記憶す
る値記憶部31−2が設けられている。さらに、この値
記憶部31−2の出力側に、複数の加算器や減算器を含
む加減算部33−2と、この加減算部33−2による加
算結果または減算結果を保持するレジスタ34−2と、
このレジスタ34−2の値を右にシフトして符号拡張を
行うための右シフト符号拡張部32−2とが設けられて
いる。FIG. 19 is a block diagram showing a second embodiment used in the embodiment of the present invention.
It is a block diagram which shows the specific structure of the accumulation | adding part of a dimension. As shown in FIG. 19, in the accumulative addition unit used for the first-dimension product-sum operation, a value storage unit 31-2 that previously stores a parallel-format value (for example, 4 bits) sent from the transposition RAM. Is provided. Further, on the output side of the value storage unit 31-2, an addition / subtraction unit 33-2 including a plurality of adders and subtractors, a register 34-2 for holding the addition result or the subtraction result by the addition / subtraction unit 33-2, ,
There is provided a right shift code extension section 32-2 for shifting the value of the register 34-2 to the right and performing sign extension.
【0110】図19において、加減算部33−2は、値
記憶部31−2より得られた18ビットの値と、右シフ
ト符号拡張部32−2によりレジスタ34−2の値(例
えば、19ビット)を右に1ビットシフトしたもの(こ
こでは、符号ビットを2の補数表現により表すため、最
上位のビットを符号拡張する)とを加算する。さらに、
加減算部33−2による加算結果は、レジスタ34−2
にフィードバックされ、逆DCT演算処理後の出力デー
タとして記憶される。In FIG. 19, the addition / subtraction unit 33-2 stores the 18-bit value obtained from the value storage unit 31-2 and the value of the register 34-2 (for example, the 19-bit value) by the right shift code extension unit 32-2. ) Shifted to the right by one bit (here, the sign bit is sign-extended in order to represent the sign bit in two's complement representation). further,
The addition result by the addition / subtraction unit 33-2 is stored in the register 34-2.
And is stored as output data after the inverse DCT operation processing.
【0111】[0111]
【発明の効果】以上説明したように、本発明の逆DCT
演算装置によれば、第1に、複数の累積加算部内の加減
算部を再度使用して積和演算の後処理用の加算または減
算を行っているので、このような加算または減算のため
の余計な回路が節減されると共に、従来よりも少ないク
ロックサイクル数で逆DCT演算を実行することが可能
になる。As described above, the inverse DCT of the present invention is used.
According to the arithmetic device, firstly, addition or subtraction for post-processing of the product-sum operation is performed by using the addition and subtraction units in the plurality of accumulation addition units again. Circuit can be saved, and the inverse DCT operation can be performed with a smaller number of clock cycles than before.
【0112】さらに、本発明の逆DCT演算装置によれ
ば、第2に、複数の累積加算部内の加減算部を再度使用
して積和演算の後処理を行うと共に、1次元目および2
次元目の積和演算を行う積和演算部に対し1個の係数値
並べ替えRAMと1個の転置RAM等を設けるようにし
ているので、IEEEにより規定される2次元の逆DC
T演算精度を満たしつつ、従来よりも小規模な回路でか
つ少ないクロックサイクル数で効率の良いパイプライン
処理を行うことが可能になる。Further, according to the inverse DCT operation device of the present invention, secondly, post-processing of the product-sum operation is performed again by using the addition / subtraction units in the plurality of accumulative addition units, and the first and second dimensions are added.
Since one coefficient value rearranging RAM, one transposition RAM, and the like are provided for the product-sum operation unit that performs the product-sum operation of the dimension, a two-dimensional inverse DC defined by IEEE is provided.
It is possible to perform efficient pipeline processing with a smaller circuit and a smaller number of clock cycles than before, while satisfying the T operation accuracy.
【0113】さらに、本発明の逆DCT演算装置によれ
ば、第3に、複数の累積加算部内の加減算部を再度使用
して積和演算の後処理を行うと共に、1次元目および2
次元目の積和演算を行う積和演算部に対し2個の係数値
並べ替えRAMと2個の転置RAM等を設けているの
で、IEEEにより規定される2次元の逆DCT演算精
度を満たしつつ、従来よりも小規模な回路で、かつ、上
記の場合よりも少ないクロックサイクル数で非常に効率
の良いパイプライン処理を行うことが可能になる。Thirdly, according to the inverse DCT operation device of the present invention, post-processing of the product-sum operation is performed again by using the addition / subtraction units in the plurality of accumulative addition units again.
Since two coefficient value rearranging RAMs, two transposition RAMs, and the like are provided for the product-sum operation unit that performs the product-sum operation in the dimension, the two-dimensional inverse DCT operation accuracy specified by IEEE is satisfied. It is possible to perform highly efficient pipeline processing with a smaller circuit than before and with a smaller number of clock cycles than in the above case.
【0114】さらに、本発明の逆DCT演算装置によれ
ば、第4に、シリアル/パラレル変換部から出力される
パラレル形式の係数値を1ビットずつシフトしながら、
複数のシフトレジスタにより上記パラレル形式の係数値
を一時的に保持するようにしてるので、少ないクロック
サイクル数で効率良く並列処理を実行することが可能に
なる。Fourth, according to the inverse DCT operation device of the present invention, fourthly, the coefficient values in the parallel format output from the serial / parallel conversion unit are shifted one bit at a time.
Since the parallel format coefficient values are temporarily held by a plurality of shift registers, parallel processing can be efficiently executed with a small number of clock cycles.
【0115】さらに、本発明の逆DCT演算装置によれ
ば、第5に、1次元目の積和演算を行うために累積加算
部等を初期化するときに、パラレル形式の係数値の小数
部における最下位のビットの丸め処理を行うようにして
いるので、2次元目の積和演算の際に、IEEEにより
規定される演算精度を満たしつつ、少ないクロックサイ
クル数で効率良く並列処理を実行することが可能にな
る。Fifth, according to the inverse DCT operation device of the present invention, when the accumulator and the like are initialized to perform the first-dimensional product-sum operation, the decimal part of the coefficient value in the parallel format is used. , The least-significant bit is rounded, so that in the second-dimension product-sum operation, parallel processing is efficiently executed with a small number of clock cycles while satisfying the operation accuracy defined by IEEE. It becomes possible.
【0116】さらに、本発明の逆DCT演算装置によれ
ば、第6に、2個の係数値並べ替えRAMにより複数の
係数値に対し交互に並べ替えを行う場合に、一方の係数
値並べ替えRAMにおいて一つのブロックの係数値の並
べ替えを行った結果の読み出しが実行される前に、他方
の係数値並べ替えRAMにおいて次に送られてくる他の
ブロックの係数値の書き込み動作を実行するようにして
いるので、係数値並べ替えの処理を比較的高速にて実行
することが可能になる。Further, according to the inverse DCT arithmetic unit of the present invention, sixth, when two coefficient value rearranging RAMs are used to perform rearrangement on a plurality of coefficient values alternately, one coefficient value rearrangement is performed. Before reading the result of rearranging the coefficient values of one block in the RAM, the writing operation of the coefficient value of another block transmitted next is executed in the other coefficient value rearranging RAM. Thus, the coefficient value rearranging process can be executed at a relatively high speed.
【0117】さらに、本発明の逆DCT演算装置によれ
ば、第7に、2個の転置RAMにより1次元目の積和演
算の結果として得られる複数の値に対し交互に転置を行
う場合に、一方の転置RAMにおいて一つのブロックの
値の転置を行った結果の読み出し動作が実行される前
に、他方の転置RAMにおいて次に送られてくるブロッ
クの値の書き込み動作を実行するようにしているので、
転置処理を比較的高速にて実行することが可能になる。Further, according to the inverse DCT operation apparatus of the present invention, seventhly, when two transposition RAMs are used to transpose a plurality of values obtained as a result of the product-sum operation of the first dimension alternately. Before the read operation of the result of performing the transposition of the value of one block in one transposed RAM is performed, the write operation of the value of the next transmitted block is performed in the other transposed RAM. Because
The transposition process can be performed at a relatively high speed.
【0118】さらに、本発明の逆DCT演算装置によれ
ば、第8に、複数の累積加算部内の加減算部を再度使用
して積和演算の後処理を行うと共に、1次元目および2
次元目の積和演算をそれぞれ別個に行う2個の積和演算
部に対し2個の係数値並べ替えRAMと2個の転置RA
M等を設けているので、IEEEにより規定される2次
元の逆DCT演算精度を満たしつつ、従来よりも小規模
な回路で、かつ、第2の実施態様の場合よりも少ないク
ロックサイクル数で非常に効率の良いパイプライン処理
を行うことが可能になる。Eighth, according to the inverse DCT operation apparatus of the present invention, post-processing of the product-sum operation is performed again by using the addition / subtraction units in the plurality of accumulators again,
Two coefficient value rearranging RAMs and two transposition RAs are provided for two product-sum operation units that separately perform the product-sum operation of the dimension.
Since the M and the like are provided, it is possible to satisfy the two-dimensional inverse DCT operation accuracy defined by IEEE, and to use a circuit smaller than the conventional one and with a smaller number of clock cycles than in the second embodiment. It is possible to perform efficient pipeline processing.
【0119】さらに、本発明の逆DCT演算方法によれ
ば、第9に、複数の累積加算部内の加減算部を再度使用
して積和演算の後処理用の加算または減算を行っている
ので、従来よりも小規模な回路でかつ少ないクロックサ
イクル数で逆DCT演算を実行することが可能になる。Ninth, according to the inverse DCT operation method of the present invention, ninth, addition or subtraction for post-processing of the product-sum operation is performed by using the addition / subtraction units in the plurality of accumulators again. The inverse DCT operation can be performed with a smaller circuit and a smaller number of clock cycles than in the conventional case.
【図1】本発明の原理構成を示すブロック図である。FIG. 1 is a block diagram showing the principle configuration of the present invention.
【図2】本発明の逆DCT演算装置に適用される積和演
算部の具体的な構成を示すブロック図である。FIG. 2 is a block diagram showing a specific configuration of a product-sum operation unit applied to the inverse DCT operation device of the present invention.
【図3】本発明の第1の実施例の構成を示すブロック図
である。FIG. 3 is a block diagram showing a configuration of a first exemplary embodiment of the present invention.
【図4】本発明の第2の実施例の構成を示すブロック図
である。FIG. 4 is a block diagram showing a configuration of a second exemplary embodiment of the present invention.
【図5】本発明の第3の実施例の構成を示すブロック図
である。FIG. 5 is a block diagram showing a configuration of a third exemplary embodiment of the present invention.
【図6】本発明の第1の実施例の全体的な動作を説明す
るためのタイミングチャート(その1)である。FIG. 6 is a timing chart (part 1) for explaining the overall operation of the first embodiment of the present invention.
【図7】本発明の第1の実施例の全体的な動作を説明す
るためのタイミングチャート(その2)である。FIG. 7 is a timing chart (2) for explaining the overall operation of the first embodiment of the present invention.
【図8】本発明の第2の実施例の全体的な動作を説明す
るためのタイミングチャート(その1)である。FIG. 8 is a timing chart (part 1) for explaining the overall operation of the second embodiment of the present invention.
【図9】本発明の第2の実施例の全体的な動作を説明す
るためのタイミングチャート(その2)である。FIG. 9 is a timing chart (2) for explaining the overall operation of the second embodiment of the present invention.
【図10】本発明の第3の実施例の全体的な動作を説明
するためのタイミングチャート(その1)である。FIG. 10 is a timing chart (part 1) for explaining the overall operation of the third embodiment of the present invention.
【図11】本発明の第3の実施例の全体的な動作を説明
するためのタイミングチャート(その2)である。FIG. 11 is a timing chart (2) for explaining the overall operation of the third embodiment of the present invention.
【図12】本発明の第1の実施例における1次元目の積
和演算処理手順を説明するためのタイミングチャート
(その1)である。FIG. 12 is a timing chart (part 1) for explaining a first-dimension product-sum operation processing procedure in the first embodiment of the present invention.
【図13】本発明の第1の実施例における1次元目の積
和演算処理手順を説明するためのタイミングチャート
(その2)である。FIG. 13 is a timing chart (part 2) for explaining the first dimension product-sum operation processing procedure in the first embodiment of the present invention.
【図14】本発明の第1の実施例における1次元目の積
和演算処理のビットの動きを示すタイミングチャートで
ある。FIG. 14 is a timing chart showing the movement of bits in the first-dimensional product-sum operation in the first embodiment of the present invention.
【図15】本発明の第1の実施例における2次元目の積
和演算処理手順を説明するためのタイミングチャート
(その1)である。FIG. 15 is a timing chart (part 1) for describing a second-dimensional product-sum operation processing procedure in the first embodiment of the present invention.
【図16】本発明の第1の実施例における2次元目の積
和演算処理手順を説明するためのタイミングチャート
(その2)である。FIG. 16 is a timing chart (part 2) for describing a second-dimensional product-sum operation processing procedure in the first embodiment of the present invention.
【図17】本発明の第1の実施例における2次元目の積
和演算処理のビットの動きを示すタイミングチャートで
ある。FIG. 17 is a timing chart showing bit movements in a second-dimensional product-sum operation in the first embodiment of the present invention.
【図18】本発明の実施例に使用される1次元目の累積
加算部の具体的な構成を示すブロック図である。FIG. 18 is a block diagram showing a specific configuration of a first-dimensional accumulative addition unit used in the embodiment of the present invention.
【図19】本発明の実施例に使用される2次元目の累積
加算部の具体的な構成を示すブロック図である。FIG. 19 is a block diagram showing a specific configuration of a second-dimensional accumulator used in the embodiment of the present invention.
【図20】従来の逆DCT演算装置の一構成例を示すブ
ロック図である。FIG. 20 is a block diagram illustrating a configuration example of a conventional inverse DCT operation device.
1…積和演算部 2−1〜2−n…第1〜第nのデータ保持部 3−1〜3−n…第1〜第nの累積加算部 4…シリアル/パラレル変換部 5…パラレル/シリアル変換部 6…係数値並べ替えRAM 7…マルチプレクサ(MPX) 8…転置RAM 10…積和演算回路 11…1次元目積和演算回路 12…2次元目積和演算回路 20−1〜20−16…第1〜第16のシフトレジスタ 30−1〜30−16…第1〜第16の累積加算部 61…第1の係数値並べ替えRAM 62…第2の係数値並べ替えRAM 63…第1の係数値並べ替えRAM 64…第2の係数値並べ替えRAM 71…マルチプレクサ 72…第1のマルチプレクサ 81…第1の転置RAM 82…第2の転置RAM 83…第1の転置RAM 84…第2の転置RAM 92…第2のマルチプレクサ 200…データ並べ替え回路 300…積和演算部 350−1〜350−8…第1〜第8の積和演算回路 400…後処理部 DESCRIPTION OF SYMBOLS 1 ... Product-sum operation part 2-1-2-n ... 1st-nth data holding part 3-1-3-n ... 1st-nth accumulation | addition part 4 ... Serial / parallel conversion part 5 ... Parallel / Serial conversion unit 6 Coefficient value rearranging RAM 7 Multiplexer (MPX) 8 Transpose RAM 10 Product sum operation circuit 11 One-dimensional product sum operation circuit 12 Two-dimensional product sum operation circuit 20-1 to 20-20 -16 ... first to sixteenth shift registers 30-1 to 30-16 ... first to sixteenth accumulators 61 ... first coefficient value rearranging RAM 62 ... second coefficient value rearranging RAM 63 ... First coefficient value rearranging RAM 64 Second coefficient value rearranging RAM 71 Multiplexer 72 First multiplexer 81 First transposed RAM 82 Second transposed RAM 83 First transposed RAM 84 2nd transposition RAM 92 ... Multiplexer 200 ... data rearrangement circuit 300 ... product-sum operation unit 350-1~350-8 ... product-sum operation circuit 400 ... post-processing unit of the first to eighth
───────────────────────────────────────────────────── フロントページの続き (72)発明者 河野 忠美 神奈川県川崎市中原区上小田中4丁目1番 1号 富士通株式会社内 Fターム(参考) 5B056 AA05 AA06 BB11 BB31 CC01 DD06 FF02 FF03 FF05 FF08 FF16 HH03 ────────────────────────────────────────────────── ─── Continuation of front page (72) Inventor Tadami Kono 4-1-1, Kamidadanaka, Nakahara-ku, Kawasaki-shi, Kanagawa F-term within Fujitsu Limited (Reference) 5B056 AA05 AA06 BB11 BB31 CC01 DD06 FF02 FF03 FF05 FF08 FF16 HH03
Claims (10)
逆DCT演算を、少なくとも2回の1次元の行列演算に
分解し、該1次元の所定の数の行列演算を順次実行して
前記入力データの復号化を行うための逆DCT演算装置
において、 前記入力データの複数の係数値の並べ替えを行ってから
シリアル形式で送出される係数値を、パラレル形式の係
数値に変換するシリアル/パラレル変換部と、 該シリアル/パラレル変換部から出力される値をアドレ
スとして、既に記憶されている情報の加減算を行う複数
の加減算部を有する積和演算部とを備え、 該積和演算部内の前記複数の加減算部を再度使用し、前
記積和演算部による積和演算の結果として得られる複数
の値同士を加算または減算してからパラレル/シリアル
変換を行うことにより、前記入力データを復号化するこ
とを特徴とする逆DCT演算装置。1. An inverse DCT operation on arbitrary encoded input data is decomposed into at least two one-dimensional matrix operations, and a predetermined number of one-dimensional matrix operations are sequentially executed to obtain the input data. An inverse DCT arithmetic unit for decoding a plurality of input data, wherein a plurality of coefficient values of the input data are rearranged, and a coefficient value transmitted in a serial format is converted into a coefficient value in a parallel format. And a product-sum operation unit having a plurality of addition / subtraction units for performing addition / subtraction of information already stored, using a value output from the serial / parallel conversion unit as an address. The addition / subtraction unit is used again, and a plurality of values obtained as a result of the product-sum operation by the product-sum operation unit are added or subtracted from each other, and then the parallel / serial conversion is performed. An inverse DCT operation device for decoding input data.
逆DCT演算を、2回の1次元の行列演算に分解し、1
次元目および2次元目の所定の数の行列演算を順次実行
して前記入力データの復号化を行うための逆DCT演算
装置において、 前記入力データの複数の係数値の並べ替えを行う係数値
並べ替え部と、 該係数値並べ替え部からシリアル形式で送られてくる係
数値を、パラレル形式の係数値に変換するシリアル/パ
ラレル変換部と、 該シリアル/パラレル変換部から出力される値をアドレ
スとして、既に記憶されている情報の加減算を行う複数
の加減算部を有する積和演算部と、 該積和演算部による1次元目の積和演算の結果として得
られる複数の値に対する転置を行う転置部とを備え、 前記転置部から送出されるパラレル形式の複数の値を前
記積和演算部に入力して該複数の値の2次元目の積和演
算を実行し、 前記積和演算部内の前記複数の加減算部を再度使用し、
前記2次元目の積和演算の結果として得られる複数の値
同士を加算または減算してからパラレル/シリアル変換
を行うことにより、前記入力データを復号化することを
特徴とする逆DCT演算装置。2. Decomposing an inverse DCT operation on arbitrary encoded input data into two one-dimensional matrix operations,
An inverse DCT operation apparatus for sequentially executing a predetermined number of matrix operations of a second dimension and a second dimension to decode the input data, wherein a coefficient value arrangement for rearranging a plurality of coefficient values of the input data Conversion unit; a serial / parallel conversion unit for converting a coefficient value sent from the coefficient value rearrangement unit in a serial format into a parallel format coefficient value; and addressing a value output from the serial / parallel conversion unit. A product-sum operation unit having a plurality of addition / subtraction units for performing addition / subtraction of information already stored; and a transpose for transposing a plurality of values obtained as a result of the first-dimensional product-sum operation by the product-sum operation unit A plurality of values in a parallel format sent from the transposition unit are input to the product-sum operation unit, and a second-dimensional product-sum operation of the plurality of values is performed. The plurality Use the addition and subtraction part again,
An inverse DCT operation device, wherein the input data is decoded by performing parallel / serial conversion after adding or subtracting a plurality of values obtained as a result of the second-dimensional product-sum operation.
逆DCT演算を、2回の1次元の行列演算に分解し、1
次元目および2次元目の所定の数の行列演算を順次実行
して前記入力データの復号化を行うための逆DCT演算
装置において、 前記入力データの複数の係数値の並べ替えを行う2個の
係数値並べ替え部と、 該2個の係数値並べ替え部の各々からシリアル形式で送
られてくる係数値を、パラレル形式の係数値に変換する
シリアル/パラレル変換部と、 該シリアル/パラレル変換部から出力される値をアドレ
スとして、既に記憶されている情報の加減算を行う複数
の加減算部を有する積和演算部と、 該積和演算部による1次元目の積和演算の結果として得
られる複数の値に対する転置を行う2個の転置部とを備
え、 該2個の転置部の各々から送出されるパラレル形式の複
数の値を前記積和演算部に入力して該複数の値の2次元
目の積和演算を実行し、 前記積和演算部内の前記複数の加減算部を再度使用し、
前記2次元目の積和演算の結果として得られる複数の値
同士を加算または減算してからパラレル/シリアル変換
を行うことにより、前記入力データを復号化することを
特徴とする逆DCT演算装置。3. Decomposing an inverse DCT operation on arbitrary encoded input data into two one-dimensional matrix operations,
In an inverse DCT operation device for sequentially executing a predetermined number of matrix operations of a second dimension and a second dimension to decode the input data, two inverses for rearranging a plurality of coefficient values of the input data are provided. A coefficient value rearranging section; a serial / parallel converting section for converting coefficient values sent in serial form from each of the two coefficient value rearranging sections to a parallel format coefficient value; A product-sum operation unit having a plurality of addition / subtraction units for performing addition / subtraction of information already stored, using a value output from the unit as an address, and a result of a first-dimension product-sum operation performed by the product-sum operation unit Two transposition units for transposing a plurality of values, wherein a plurality of values in a parallel format sent from each of the two transposition units are input to the multiply-accumulation unit and two of the plurality of values are input. The product-sum operation of the dimension And row, again using the plurality of addition and subtraction portions in the product-sum operation unit,
An inverse DCT operation device, wherein the input data is decoded by performing parallel / serial conversion after adding or subtracting a plurality of values obtained as a result of the second-dimensional product-sum operation.
逆DCT演算を、2回の1次元の行列演算に分解し、1
次元目および2次元目の所定の数の行列演算を順次実行
して前記入力データの復号化を行うための逆DCT演算
装置において、 前記入力データの複数の係数値の並べ替えを行う2個の
係数値並べ替え部と、 該2個の係数値並べ替え部の各々からシリアル形式で送
られてくる係数値を、パラレル形式の係数値に変換する
シリアル/パラレル変換部と、 該シリアル/パラレル変換部から出力される値をアドレ
スとして、既に記憶されている情報の加減算を行う複数
の第1の加減算部を有する1次元目積和演算部と、 該1次元目積和演算部による1次元目の積和演算の結果
として得られる複数の値に対する転置を行う2個の転置
部と、 該2個の転置部の各々から送出されるパラレル形式の複
数の値をアドレスとして、既に記憶されている情報の加
減算を行う複数の第2の加減算部を有する2次元目積和
演算部とを備え、 該2次元目積和演算部内の前記複数の第2の加減算部を
再度使用し、前記2次元目積和演算部による2次元目の
積和演算の結果として得られる複数の値同士を加算また
は減算してからパラレル/シリアル変換を行うことによ
り、前記入力データを復号化することを特徴とする逆D
CT演算装置。4. Decomposing an inverse DCT operation on arbitrary encoded input data into two one-dimensional matrix operations,
In an inverse DCT operation device for sequentially executing a predetermined number of matrix operations of a second dimension and a second dimension to decode the input data, two inverses for rearranging a plurality of coefficient values of the input data are provided. A coefficient value rearranging section; a serial / parallel converting section for converting coefficient values sent in serial form from each of the two coefficient value rearranging sections to a parallel format coefficient value; A one-dimensional sum-of-products operation unit having a plurality of first addition / subtraction units for performing addition / subtraction of information already stored, using a value output from the unit as an address; And two transposition units for transposing a plurality of values obtained as a result of the product-sum operation of the two, and a plurality of values in a parallel format sent from each of the two transposition units are already stored as addresses. Of information A two-dimensional product sum operation unit having a plurality of second addition / subtraction units for performing subtraction, wherein the plurality of second addition / subtraction units in the two-dimensional product sum operation unit are used again, and the two-dimensional product sum is used. The input data is decoded by adding or subtracting a plurality of values obtained as a result of the second-dimensional product-sum operation by the sum operation unit, and then performing parallel / serial conversion, thereby decoding the input data.
CT calculation device.
レル形式の係数値を、最下位のビットから最上位のビッ
トに向かって1ビットずつシフトしながら一時的に保持
するビット保持部と、 前記複数の加減算部を用いて累積加算を行う累積加算部
とを含み、 該累積加算部は、前記ビット保持部に保持されている前
記パラレル形式の係数値の1ビットをアドレスとして、
該累積加算部内の値記憶部に既に記憶されている情報と
前記加減算部とを用いて前記累積加算を実行する請求項
1から3のいずれか一項に記載の逆DCT演算装置。5. The product-sum operation unit further shifts the coefficient value in the parallel format output from the serial / parallel conversion unit by one bit from a least significant bit to a most significant bit. A bit holding unit for temporarily holding, and a cumulative adding unit for performing cumulative addition using the plurality of adding / subtracting units, wherein the cumulative adding unit stores the coefficient values in the parallel format held in the bit holding unit. With 1 bit of the address as
4. The inverse DCT operation device according to claim 1, wherein the cumulative addition is performed using information already stored in a value storage unit in the cumulative addition unit and the addition / subtraction unit.
レル形式の係数値を、最下位のビットから最上位のビッ
トに向かって1ビットずつシフトしながら一時的に保持
する第1のビット保持部と、 前記複数の第1の加減算部を用いて1次元目の行列演算
に係る累積加算を行う第1の累積加算部とを含み、 該第1の累積加算部は、該第1のビット保持部に保持さ
れている前記パラレル形式の係数値の1ビットをアドレ
スとして、該第1の累積加算部内の第1の値記憶部に既
に記憶されている情報と前記第1の加減算部とを用いて
前記1次元目の行列演算に係る累積加算を実行し、 前記2次元目積和演算部が、さらに、 前記2個の転置部の各々から送出される前記パラレル形
式の複数の値を、最下位のビットから最上位のビットに
向かって1ビットずつシフトしながら一時的に保持する
第2のビット保持部と、 前記複数の第2の加減算部を用いて2次元目の行列演算
に係る累積加算を行う第2の累積加算部とを含み、 該第2の累積加算部は、該第2のビット保持部に保持さ
れている前記パラレル形式の複数の値の1ビットをアド
レスとして、該第2の累積加算部内の第2の値記憶部に
既に記憶されている情報と前記第2の加減算部とを用い
て前記2次元目の行列演算に係る累積加算を実行する請
求項4記載の逆DCT演算装置。6. The one-dimensional multiply-accumulate unit further calculates a coefficient value of the parallel format output from the serial / parallel converter one bit at a time from a least significant bit to a most significant bit. A first bit holding unit that temporarily holds while shifting, and a first cumulative addition unit that performs cumulative addition related to a first-dimensional matrix operation using the plurality of first addition / subtraction units, The first accumulator has already stored in the first value memory in the first accumulator an address using one bit of the coefficient value in the parallel format held in the first bit memory as an address. Performing the cumulative addition relating to the first-dimensional matrix operation using the information and the first addition / subtraction unit, wherein the two-dimensional product-sum operation unit further comprises: Multiple values in the parallel format sent from A second bit holding unit that temporarily holds the bit by shifting one bit from the least significant bit toward the most significant bit, and a second-dimensional matrix operation using the plurality of second addition / subtraction units. A second accumulator that performs accumulative addition, wherein the second accumulator has, as an address, one bit of the plurality of values in the parallel format held in the second bit holding unit. The cumulative addition according to the second-dimensional matrix operation is performed using information already stored in a second value storage unit in the second cumulative addition unit and the second addition / subtraction unit. Inverse DCT operation device.
うために前記積和演算部を初期化するときに、前記パラ
レル形式の係数値の小数部における最下位のビットの丸
め処理を行う請求項1から4のいずれか一項に記載の逆
DCT演算装置。7. A rounding process of a least significant bit in a decimal part of a coefficient value in the parallel format when the product-sum operation unit is initialized to perform cumulative addition relating to a first-dimensional matrix operation. The inverse DCT operation device according to claim 1.
力データの複数の係数値に対し交互に並べ替えを行うた
めの第1の係数値並べ替えRAM、および第2の係数値
並べ替えRAMにより構成され、前記第1の係数値並べ
替えRAMにおいて一つのブロックの係数値の並べ替え
を行った結果の読み出し動作が実行される前に、前記第
2の係数値並べ替えRAMにおいて次に送られてくる他
のブロックの係数値の書き込み動作が実行され、それ以
降に送られてくるブロックの係数値に対し同様の読み出
し動作および書き込み動作が実行される請求項3または
4記載の逆DCT演算装置。8. A first coefficient value rearranging RAM, and a second coefficient value rearranging unit, wherein the two coefficient value rearranging units perform rearrangement alternately for a plurality of coefficient values of the input data. Before the read operation of the result of rearranging the coefficient values of one block in the first coefficient value rearranging RAM is executed, the second coefficient value rearranging RAM performs the following. 5. The inverse operation according to claim 3, wherein a write operation of a coefficient value of another block sent to the block is executed, and a similar read operation and write operation are executed for a coefficient value of a block sent thereafter. DCT arithmetic unit.
元目の積和演算の結果として得られる複数の値に対し交
互に転置を行うための第1の転置RAM、および第2の
転置RAMにより構成され、前記第1の転置RAMにお
いて一つのブロックの値の転置を行った結果の読み出し
動作が実行される前に、前記第2の転置RAMにおいて
次に送られてくるブロックの値の書き込み動作が実行さ
れ、それ以降に送られてくるブロックの値に対し同様の
読み出し動作および書き込み動作が実行される請求項3
または4記載の逆DCT演算装置。9. A first transposition RAM, wherein said two transposition units alternately transpose a plurality of values obtained as a result of a product-sum operation of a first dimension of said coefficient values, and a second transposition RAM. Before the read operation of the result obtained by transposing the value of one block in the first transposed RAM is performed, the block of the next transmitted block in the second transposed RAM is constructed. 4. A value writing operation is performed, and a similar reading operation and writing operation are performed on a value of a block transmitted thereafter.
Or the inverse DCT arithmetic unit according to 4.
る逆DCT演算を、少なくとも2回の1次元の行列演算
に分解し、該1次元の所定の数の行列演算を順次実行し
て前記入力データの復号化を行うための逆DCT演算方
法であって、 前記入力データの複数の係数値の並べ替えを行ってから
シリアル形式で送出される係数値を、パラレル形式の係
数値に変換し、 該パラレル形式に変換された値をアドレスとして、予め
記憶されている情報の加減算を行う複数の加減算部を使
用し、予め記憶されている情報と前記複数の加減算部と
を用いて累積加算を行うことにより積和演算を実行し、 前記複数の加減算部を再度使用し、前記積和演算の結果
として得られる複数の値同士を加算または減算してから
パラレル/シリアル変換を行うことにより、前記入力デ
ータを復号化することを特徴とする逆DCT演算方法。10. Decomposing an inverse DCT operation on arbitrary encoded input data into at least two one-dimensional matrix operations, and sequentially executing a predetermined number of one-dimensional matrix operations to obtain the input data. An inverse DCT operation method for decoding the input data, wherein a coefficient value transmitted in a serial format after rearranging a plurality of coefficient values of the input data is converted into a coefficient value in a parallel format. Using a plurality of addition / subtraction units that perform addition / subtraction of information stored in advance using the value converted into the parallel format as an address, and performing cumulative addition using the information stored in advance and the plurality of addition / subtraction units. By executing the product-sum operation by using the plurality of addition / subtraction units again, and adding or subtracting a plurality of values obtained as a result of the product-sum operation, and then performing parallel / serial conversion, An inverse DCT operation method, wherein the input data is decoded.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10345710A JP2000172674A (en) | 1998-12-04 | 1998-12-04 | Inverse DCT operation device and inverse DCT operation method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10345710A JP2000172674A (en) | 1998-12-04 | 1998-12-04 | Inverse DCT operation device and inverse DCT operation method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2000172674A true JP2000172674A (en) | 2000-06-23 |
Family
ID=18378448
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10345710A Withdrawn JP2000172674A (en) | 1998-12-04 | 1998-12-04 | Inverse DCT operation device and inverse DCT operation method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2000172674A (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005122465A (en) * | 2003-10-16 | 2005-05-12 | Canon Inc | Product-sum operation circuit and method thereof |
-
1998
- 1998-12-04 JP JP10345710A patent/JP2000172674A/en not_active Withdrawn
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005122465A (en) * | 2003-10-16 | 2005-05-12 | Canon Inc | Product-sum operation circuit and method thereof |
| US7747668B2 (en) | 2003-10-16 | 2010-06-29 | Canon Kabushiki Kaisha | Product-sum operation circuit and method |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2646778B2 (en) | Digital signal processor | |
| US6871208B1 (en) | Parallel adder-based DCT/IDCT design using cyclic convolution | |
| JPH04313157A (en) | arithmetic processing unit | |
| JPH0526229B2 (en) | ||
| JPH08235159A (en) | Inverse cosine converter | |
| CN103369326A (en) | Transition coder applicable to HEVC ( high efficiency video coding) standards | |
| EP1018082A1 (en) | Variable block size 2-dimensional inverse discrete cosine transform engine | |
| JP6357345B2 (en) | Data processing apparatus and method for performing conversion between spatial domain and frequency domain when processing video data | |
| JP2000172674A (en) | Inverse DCT operation device and inverse DCT operation method | |
| JP3934290B2 (en) | Discrete cosine transform processing device, inverse discrete cosine transform processing device, discrete cosine transform processing device, and inverse discrete cosine transform processing device | |
| JP3046115B2 (en) | Discrete cosine transformer | |
| CN112449199B (en) | A 1D DCT/IDCT Transformer with Partial Product Addition of Parallel Bit-Vector Transform | |
| JP2003030174A (en) | Dct matrix decomposition method and dct device | |
| JP3970442B2 (en) | Discrete cosine transform device and inverse discrete cosine transform device | |
| KR100202567B1 (en) | An arithmetic apparatus for high speed idct | |
| JP3046116B2 (en) | Discrete cosine transformer | |
| JP3575991B2 (en) | Orthogonal transform circuit | |
| JP3652717B2 (en) | Discrete cosine high-speed calculator | |
| JPH0540776A (en) | Two-dimensional DCT matrix arithmetic circuit | |
| JPH05225224A (en) | Discrete cosine transformer | |
| JPH0746136A (en) | Sound or image conversion processor, sound or image data processing device, sound or image data processing method, arithmetic processor, and data processor | |
| KR960014197B1 (en) | 8 × 8 2D Discrete Cosine Transform / Inverse Transformation Processor Using Pipeline Distributed Operations | |
| Bhattacharya et al. | A VLSI implementation of the inverse discrete cosine transform | |
| JP3895031B2 (en) | Matrix vector multiplier | |
| JP3396818B2 (en) | DCT operation circuit and IDCT operation circuit |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060207 |