JP2006227666A - Matrix operation unit - Google Patents

Matrix operation unit Download PDF

Info

Publication number
JP2006227666A
JP2006227666A JP2005037070A JP2005037070A JP2006227666A JP 2006227666 A JP2006227666 A JP 2006227666A JP 2005037070 A JP2005037070 A JP 2005037070A JP 2005037070 A JP2005037070 A JP 2005037070A JP 2006227666 A JP2006227666 A JP 2006227666A
Authority
JP
Japan
Prior art keywords
matrix
data
product
adder
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2005037070A
Other languages
Japanese (ja)
Inventor
Masahiro Koyama
政洋 小山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Victor Company of Japan Ltd
Original Assignee
Victor Company of Japan Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Victor Company of Japan Ltd filed Critical Victor Company of Japan Ltd
Priority to JP2005037070A priority Critical patent/JP2006227666A/en
Publication of JP2006227666A publication Critical patent/JP2006227666A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Complex Calculations (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a matrix operation unit in which the circuit scale of an orthogonal transformation circuit for compressing and extending image data in H.264 can be reduced. <P>SOLUTION: As for 4×4 integer approximate inverse discrete cosine transformation and 4×4 Hadamard transformation in H.264, products CB and CA of a data matrix C to be transformed and a constant matrix B and a constant matrix A are calculated, and the absolute values of the partial components of the matrix B and the matrix A are made different only by 1/2 and 1. Then, a data input circuit where the components of ±1/2 of the matrix B in the line direction data of the matrix C are multiplied is provided with a ×1/2 multiplier and a data selector, and the output of the data selector in the respective arithmetic modes of the product CB and the product CA is switched by the arithmetic result of the ×1/2 multiplier and the data before arithmetic operation according to a DCT_mode signal, and the product CB and the product CA can be obtained from an adder/subtractor group. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

本発明は行列演算装置に係り、特にH.264等による画像データの圧縮・伸長に用いられている直交変換回路に適用されて、整数近似離散コサイン変換又は整数近似逆離散コサイン変換とアダマール変換とを小規模な回路で実行させるための構成に関する。 The present invention relates to a matrix operation apparatus, and is applied to an orthogonal transformation circuit used for compression / decompression of image data according to H.264, etc., and preferably includes integer approximate discrete cosine transform or integer approximate inverse discrete cosine transform and Hadamard transform. The present invention relates to a configuration for executing the above in a small circuit.

MPEG(Moving Picture Experts Group)-1,2,4に続く国際標準規格の映像符号化方式としてH.264(「MPEG-4/AVC」とも称されている)が注目されている。このH.264はITU-T(International Telecommunication Union-Telecommunication Standardization Sector)とISO(International Standardization Organization)/IEC(International Electrotechnical Commission)がJVT(Joint Video Team)を結成して共同で標準化した次世代の高能率映像圧縮方式であり、データ圧縮率がMPEG-2の3倍、MPEG-4の2倍となり、携帯電話機やデジタル・カメラや録画機等のさまざまな分野で効果が発揮されることが期待されている。 H.264 (also referred to as “MPEG-4 / AVC”) is attracting attention as an international standard video encoding system following MPEG (Moving Picture Experts Group) -1, 2, and 4. This H.264 is the next generation high standard that was jointly standardized by ITU-T (International Telecommunication Union-Telecommunication Standardization Sector) and ISO (International Standardization Organization) / IEC (International Electrotechnical Commission) forming JVT (Joint Video Team). It is an efficient video compression method, and the data compression rate is 3 times that of MPEG-2 and 2 times that of MPEG-4, and is expected to be effective in various fields such as mobile phones, digital cameras, and video recorders. ing.

H.264では画像圧縮エンジンとしてアダマール変換と整数近似離散コサイン変換が採用されている。そして、直交変換のための基本処理単位が4×4画素と小さくなっており、従来の離散コサイン変換では無限長係数を有限長に丸めて計算を行うことに起因してエンコーダとデコーダの間で誤差が発生するという問題があったが、変換係数を量子化係数と統合し、完全に整数演算で計算ができるように係数が整数近似されている。 In H.264, Hadamard transform and integer approximate discrete cosine transform are adopted as an image compression engine. The basic processing unit for orthogonal transform is as small as 4 × 4 pixels. In the conventional discrete cosine transform, calculation is performed by rounding an infinite length coefficient to a finite length. There is a problem that an error occurs, but the coefficients are integer approximated so that the transform coefficients are integrated with the quantized coefficients and can be calculated completely by integer arithmetic.

このため、被変換データをCji(但し、j=0,1,2,3、i=0,1,2,3)、変換後データをTjiとすると、デコーダで用いられる整数近似逆離散コサイン変換は次の数式5で示される演算となり、加減算とビットシフト(1/2はleast significant bitを取り除く右シフト演算を表す)だけで計算を行うことができる。

Figure 2006227666
尚、この数式5は計算順序によって変換データが異なるため、規格では変換の計算処理を被変換データCjiを列方向に計算した後、行方向に計算するように定められている。 Therefore, if the converted data is C ji (where j = 0,1,2,3, i = 0,1,2,3) and the converted data is T ji , the integer approximate inverse discrete used by the decoder The cosine transform is an operation represented by the following Equation 5, and can be calculated only by addition / subtraction and bit shift (1/2 represents a right shift operation for removing the least significant bit).
Figure 2006227666
Note that since the conversion data in Formula 5 differs depending on the calculation order, the standard specifies that the conversion calculation process is performed in the row direction after the conversion target data C ji is calculated in the column direction.

また、エンコーダ側で用いられる整数近似離散コサイン変換は次の数式6で示される演算となり、デコーダの場合と同様に加減算とビットシフト(2は左シフト演算を表す)だけで計算を行うことができる。

Figure 2006227666
The integer approximation discrete cosine transform used on the encoder side is an operation represented by the following Equation 6, and can be calculated by only addition and subtraction and bit shift (2 represents a left shift operation) as in the case of the decoder. .
Figure 2006227666

H.264では、図1に示すように、マクロブロック(16×16画素)101を4×4画素ブロックである基本単位ブロック100に分割して直交変換を施す。ここに、輝度信号(Y)のマクロブロック101は16個の基本単位ブロック100で構成され、各色差信号(Cr,Cb)のブロック102,103はそれぞれ4個の基本単位ブロック100で構成されている。 In H.264, as shown in FIG. 1, a macroblock (16 × 16 pixels) 101 is divided into basic unit blocks 100 that are 4 × 4 pixel blocks and subjected to orthogonal transformation. Here, the macro block 101 of the luminance signal (Y) is composed of 16 basic unit blocks 100, and the blocks 102 and 103 of each color difference signal (Cr, Cb) are each composed of 4 basic unit blocks 100.

そして、特徴的な点として、図1に示すように、輝度信号(Y)のマクロブロック101に関しては特定モードにおいて整数近似離散コサイン変換後の各基本処理単位のDC成分のみを集めたブロック104を構成し、そのブロック104に対してアダマール変換を施す。このアダマール変換は、前記と同様に被変換データをCji、変換後データをTjiとして、次の数式7に示す演算となる。

Figure 2006227666
一方、色差信号(Cr,Cb)については常に階層直交変換が施される。そして、各色差信号(Cr,Cb)についても整数近似離散コサイン変換後の各基本処理単位のDC成分のみを集めたブロック105,106を構成し、被変換データをHji、変換後データをDjiとして、次の数式8によるアダマール変換を施す。
Figure 2006227666
As a characteristic point, as shown in FIG. 1, with respect to the macroblock 101 of the luminance signal (Y), a block 104 in which only the DC components of each basic processing unit after integer approximation discrete cosine transform in a specific mode are collected. And Hadamard transform is applied to the block 104. This Hadamard transform is an operation shown in the following Expression 7, where C ji is the data to be converted and T ji is the post-conversion data, as described above.
Figure 2006227666
On the other hand, hierarchical orthogonal transformation is always applied to the color difference signals (Cr, Cb). Also, for each color difference signal (Cr, Cb), blocks 105 and 106 are collected that collect only the DC components of each basic processing unit after the integer approximate discrete cosine transform, and the converted data is H ji and the converted data is D ji. Then, Hadamard transformation is performed by the following formula 8.
Figure 2006227666

尚、H.264の規格については次の非特許文献1に説明されており、また解説書として次の非特許文献2がある。
「H.264規格書」 Draft ITU-T Recommendation and Final International Standard of Joint Video Specification(ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC) 角野眞也、菊池義浩、鈴木輝彦 共編 「H.264/AVC教科書」 株式会社インプレス ネットビジネスカンパニー 2004年12月1日発行
The H.264 standard is described in the following non-patent document 1, and there is the following non-patent document 2 as an explanatory document.
"H.264 Standard" Draft ITU-T Recommendation and Final International Standard of Joint Video Specification (ITU-T Rec. H.264 | ISO / IEC 14496-10 AVC) "H.264 / AVC textbook" co-edited by Junya Tsuno, Yoshihiro Kikuchi, and Teruhiko Suzuki Issued Impress Net Business Company December 1, 2004

ところで、従来のH.264の画像データを扱うエンコーダやデコーダの直交変換回路では、整数近似離散コサイン変換(エンコーダの場合),整数近似逆離散コサイン変換(デコーダの場合)とアダマール変換とが別の回路で構成されており、またアダマール変換用の回路についても輝度信号(Y)のDC成分と各色差信号(Cr,Cb)のDC成分とでそれぞれ別に構成されている。しかし、前記の数式5,6と数式7の係数の行列を比較すると、成分中の「1/2」,「2」と「1」とが相違しているだけであり、その点を除けば演算の形式が同一となる。また、数式7と数式8とでは、被変換データC00,C03,C30,C33とH00,H03,H30,H33に関してみれば、同一の係数による同一の演算になる。 By the way, in an orthogonal transform circuit of an encoder or decoder that handles conventional H.264 image data, integer approximate discrete cosine transform (in the case of an encoder), integer approximate inverse discrete cosine transform (in the case of a decoder), and Hadamard transform are different. The Hadamard transform circuit is also composed of a DC component of the luminance signal (Y) and a DC component of each color difference signal (Cr, Cb). However, comparing the matrixes of the coefficients in Equations 5 and 6 above, only “1/2”, “2” and “1” in the components are different. The calculation format is the same. In addition, in the formulas 7 and 8, regarding the converted data C 00 , C 03 , C 30 , C 33 and H 00 , H 03 , H 30 , H 33 , the same calculation is performed using the same coefficient.

そこで、本発明は、その点に着目して整数近似離散コサイン変換,整数近似逆離散コサイン変換とアダマール変換の演算を実行する回路を統合化することができる行列演算装置を提供し、もって直交変換回路の回路規模を縮小し、引いてはエンコーダやデコーダの消費電力も低減化することを目的として創作された。 In view of this, the present invention provides a matrix operation device capable of integrating a circuit that performs integer approximation discrete cosine transformation, integer approximation inverse discrete cosine transformation, and Hadamard transformation, and orthogonal transformation is performed. It was created with the aim of reducing the circuit scale of the circuit and, in turn, reducing the power consumption of the encoder and decoder.

第1の発明は、次の数式1の変数行列Cと次の数式2の定数行列B(但し、定数Kは1以外の有理数)との積CB、及び前記変数行列Cと次の数式3の定数行列Aとの積CAを演算する行列演算装置であって、

Figure 2006227666
Figure 2006227666
Figure 2006227666
パラレルに入力される前記変数行列Cの行方向データ{Cj0,Cj1,Cj2,Cj3}の内のデータCj1,Cj3に定数Kを乗算する2つの乗算器と、前記各乗算器に対応させて設けられ、前記積CBの演算モードでは前記乗算器の出力側データを出力させ、前記積CAの演算モードでは前記乗算器への入力側データを出力させる2つのデータ選択器と、入力される前記行方向データと前記各データ選択器の出力データとから(Cj0+Cj2),(Cj1+αCj3),(αCj1−Cj3),(Cj0−Cj2)[但し、αは前記積CBの演算モードではK、前記積CAの演算モードでは1]を求める第1の加減算器群と、前記第1の加減算器群による演算結果を用いて(Cj0+Cj2)+(Cj1+αCj3),(Cj0−Cj2)+(αCj1−Cj3),(Cj0−Cj2)−(αCj1−Cj3),(Cj0+Cj2)−(Cj1+αCj3)を求める第2の加減算器群とからなることを特徴とする行列演算装置に係る。 The first invention is a product CB of a variable matrix C of the following formula 1 and a constant matrix B of the following formula 2 (where the constant K is a rational number other than 1), and the variable matrix C and the following formula 3 A matrix computing device for computing a product CA with a constant matrix A,
Figure 2006227666
Figure 2006227666
Figure 2006227666
Two multipliers for multiplying data C j1 , C j3 in the row direction data {C j0 , C j1 , C j2 , C j3 } of the variable matrix C inputted in parallel by a constant K, and the respective multiplications Two data selectors that are provided in correspondence with each other and that output data on the output side of the multiplier in the operation mode of the product CB and output data on the input side to the multiplier in the operation mode of the product CA; (C j0 + C j2 ), (C j1 + αC j3 ), (αC j1 −C j3 ), (C j0 −C j2 ) [however, from the row direction data inputted and the output data of each data selector , Α is (C j0 + C j2 ) using the first adder / subtractor group for obtaining K in the operation mode of the product CB and 1 in the operation mode of the product CA and the first adder / subtractor group. + (C j1 + αC j3) , (C j0 -C j2) + (αC j1 -C j3), (C j0 -C j2) - (αC j1 -C j3) (C j0 + C j2) - (C j1 + αC j3) according to the matrix calculation apparatus characterized by comprising a second adder-subtracter group seeking.

この発明によれば、各演算モードで2つのデータ選択器の出力を切り換えることにより、第2の加減算器群の演算結果として行列の積CBと積CAが求まる。即ち、2つの異なる行列積の演算を、特定の入力回路に乗算器とデータ選択器を設けるだけで、加減算器群を共用した単一回路で実行させることができる。この行列演算装置を1組用いることで、2×2アダマール変換に関しては1回で演算結果を得ることができ、4×4整数近似逆離散コサイン変換と4×4アダマール変換に関しては1次元の演算を実行できる。また、前記行列演算装置を4組用いれば、双方の演算に関して2次元の演算が可能になり、更に8組用いることにより1回で演算結果を得ることができる。 According to the present invention, by switching the outputs of the two data selectors in each operation mode, the matrix product CB and product CA are obtained as the operation results of the second adder / subtractor group. That is, two different matrix product operations can be executed by a single circuit sharing an adder / subtractor group simply by providing a multiplier and a data selector in a specific input circuit. By using one set of this matrix calculation device, the calculation result can be obtained once for the 2 × 2 Hadamard transform, and the one-dimensional calculation for the 4 × 4 integer approximate inverse discrete cosine transform and the 4 × 4 Hadamard transform. Can be executed. Further, if four sets of the matrix calculation devices are used, two-dimensional calculation can be performed for both calculations, and further eight sets can be used to obtain a calculation result at a time.

第2の発明は、前記変数行列Cと次の数式4の定数行列D(但し、定数Rは1以外の有理数)との積CD、及び前記変数行列Cと前記定数行列Aとの積CAを演算する行列演算装置であって、

Figure 2006227666
パラレルに入力される前記変数行列Cの行方向データ{Cj0,Cj1,Cj2,Cj3}から(Cj0+Cj3),(Cj1+Cj2),(Cj1−Cj2),(Cj0−Cj3)を求める入力側加減算器群と、前記入力側加減算器群の演算結果である(Cj1+Cj2)と(Cj0−Cj3)にそれぞれ乗数Rを乗算する2つの乗算器と、前記各乗算器に対応させて設けられ、前記積CDの演算モードでは前記乗算器の出力側データを出力させ、前記積CAの演算モードでは前記乗算器への入力側データを出力させる2つのデータ選択器と、前記入力側加減算器群による演算結果と前記各データ選択器の出力データとから(Cj0+Cj3)+(Cj1+Cj2),β(Cj0−Cj3)+(Cj1−Cj2),(Cj0−Cj3)−(Cj1−Cj2),(Cj0+Cj3)−β(Cj1+Cj2)[但し、βは前記積CDの演算モードではR、前記積CAの演算モードでは1]を求める出力側加減算器群とからなることを特徴とする行列演算装置に係る。 In a second aspect of the invention, a product CD of the variable matrix C and a constant matrix D of the following Equation 4 (where the constant R is a rational number other than 1) and a product CA of the variable matrix C and the constant matrix A are: A matrix computing device for computing,
Figure 2006227666
From the row direction data {C j0 , C j1 , C j2 , C j3 } of the variable matrix C inputted in parallel, (C j0 + C j3 ), (C j1 + C j2 ), (C j1 −C j2 ), ( C j0 −C j3 ) and two multiplications for multiplying the multiplier R by (C j1 + C j2 ) and (C j0 −C j3 ), respectively, which are the calculation results of the input side adder / subtractor group. And output data of the multiplier in the calculation mode of the product CD, and output data of the input to the multiplier in the calculation mode of the product CA. (C j0 + C j3 ) + (C j1 + C j2 ), β (C j0 −C j3 ) + from the two data selectors, the calculation result of the input side adder / subtractor group and the output data of each data selector (C j1 -C j2), ( C j0 -C j3) - (C j1 -C j2), (C j0 + C j3) -β (C j1 + C j2) [ where, beta is the calculation of the product CD The over de R, in operation mode of the product CA according to the matrix calculation apparatus characterized by comprising an output-side adder unit group to obtain the 1.

この発明においても、各演算モードで2つのデータ選択器の出力を切り換えることにより、出力側加減算器群の演算結果として行列の積CBと積CAが求まる。定数行列Dは全ての行方向データに定数R(1以外の有理数)を含んでいるため、第1の発明の構成を採用すると、乗算器とデータ選択器が4組必要になるが、この発明では、演算過程における定数βの乗算項の括り方を考慮することにより、2組の乗算器とデータ選択器で足りる回路構成を実現している。 Also in the present invention, by switching the outputs of the two data selectors in each operation mode, the matrix product CB and product CA are obtained as the operation results of the output side adder / subtractor group. Since the constant matrix D includes constant R (rational number other than 1) in all the row direction data, if the configuration of the first invention is adopted, four sets of multipliers and data selectors are required. Then, by considering how to tie multiplication terms of the constant β in the calculation process, a circuit configuration that is sufficient with two sets of multipliers and a data selector is realized.

本発明の行列演算装置は、以上の構成に基づいて、次のような効果を奏する。
第1の発明は、変数行列C(数式1)と定数行列B(数式2)の積CBと、変数行列C(数式1)と定数行列A(数式3)の積CAとを同一回路で演算できるようにし、H.264のデコーダのように整数近似逆離散コサイン変換とアダマール変換を実行する直交変換回路の回路規模の縮小化と製造プロセスの簡素化を図ると共に、消費電力の低減化も実現する。
第2の発明は、変数行列C(数式1)と定数行列D(数式4)の積CDと、変数行列C(数式1)と定数行列A(数式3)の積CAとを同一回路で演算できるようにし、H.264のエンコーダ側の直交変換回路に適用されて請求項1の発明と同様の効果を有する。特に、積CDを求める場合に請求項1の行列演算装置を適用すると4組の乗算器とデータ選択器が必要になるが、2組の乗算器とデータ選択器で回路を構成できる。
The matrix operation device of the present invention has the following effects based on the above configuration.
The first invention calculates the product CB of the variable matrix C (Equation 1) and the constant matrix B (Equation 2) and the product CA of the variable matrix C (Equation 1) and the constant matrix A (Equation 3) in the same circuit. This reduces the circuit scale of the orthogonal transform circuit that performs integer approximate inverse discrete cosine transform and Hadamard transform as in the H.264 decoder, simplifies the manufacturing process, and reduces power consumption. To do.
The second invention calculates the product CD of the variable matrix C (Equation 1) and the constant matrix D (Equation 4) and the product CA of the variable matrix C (Equation 1) and the constant matrix A (Equation 3) in the same circuit. Thus, the present invention is applied to an orthogonal transformation circuit on the encoder side of H.264 and has the same effect as that of the invention of claim 1. In particular, when the matrix arithmetic apparatus according to claim 1 is applied to obtain the product CD, four sets of multipliers and data selectors are required, but a circuit can be configured with two sets of multipliers and data selectors.

以下、本発明の行列演算装置の実施形態及びその行列演算装置を適用した直交変換回路の実施例について図2から図6を用いて説明する。
[実施形態1]
この実施形態はH.264による画像データのデコードを行う場合の直交変換処理に適用される行列演算装置に係る。先ず、上記数式5の4×4整数近似逆離散コサイン変換と数式7の4×4アダマール変換とは、それぞれ次の数式9と数式10に展開できる。

Figure 2006227666
Figure 2006227666
また、数式8の2×2アダマール変換は次の数式11に展開される。
Figure 2006227666
Hereinafter, an embodiment of a matrix operation device of the present invention and an example of an orthogonal transform circuit to which the matrix operation device is applied will be described with reference to FIGS.
[Embodiment 1]
This embodiment relates to a matrix operation apparatus applied to orthogonal transform processing when decoding image data according to H.264. First, the 4 × 4 integer approximate inverse discrete cosine transform of Equation 5 and the 4 × 4 Hadamard transform of Equation 7 can be developed into the following Equations 9 and 10, respectively.
Figure 2006227666
Figure 2006227666
Further, the 2 × 2 Hadamard transform of Expression 8 is expanded into the following Expression 11.
Figure 2006227666

そして、数式9及び数式10から被変換係数行列の列方向演算で実行される計算式は、αを4×4整数近似逆離散コサイン変換の演算時には1/2に、4×4アダマール変換の演算時には1に設定される変数として定義すると、次の数式12に示す4通りとなる。

Figure 2006227666
また、被変換係数行列の行方向演算で実行される計算式は、同様にして次の数式13に示す4通りとなる。
Figure 2006227666
Then, the calculation formula executed in the column direction calculation of the transformed coefficient matrix from Equation 9 and Equation 10 is as follows: α is halved at the time of 4 × 4 integer approximate inverse discrete cosine transform, and 4 × 4 Hadamard transform is calculated. If it is defined as a variable that is sometimes set to 1, the following four formulas 12 are obtained.
Figure 2006227666
Similarly, there are four calculation formulas executed in the row direction calculation of the transform coefficient matrix as shown in the following formula 13.
Figure 2006227666

従って、数式12及び数式13の形に着目すると、図2に示す行列演算装置を用いることにより4×4整数近似逆離散コサイン変換と4×4アダマール変換に必要な演算を列単位又は行単位で一括して行うことが可能になる。この行列演算装置は、2個の加算器11,14と2個の減算器13,14とからなる第1の加減算器群11〜14と、同様に2個の加算器15,16と2個の減算器17,18とからなる第2の加減算器群15〜18と、2個の×1/2演算器19,20と、2個のデータ選択器21,22とで構成されている。そして、4つの入力IN0,IN1,IN2,IN3に対して、第1の加減算器群11〜14では、加算器11がIN0とIN1を加算し、減算器13がIN0からIN1を減算し、減算器14がIN2又はIN2に×1/2演算器19で1/2を乗算した1/2*IN2のいずれかをデータ選択器21で選択した結果からIN3を減算し、加算器12がIN3又はIN3に×1/2演算器20で1/2を乗算した1/2*IN3のいずれかをデータ選択器22で選択した結果とIN2を加算する。 Therefore, focusing on the form of Equation 12 and Equation 13, by using the matrix operation device shown in FIG. 2, the operations necessary for 4 × 4 integer approximate inverse discrete cosine transform and 4 × 4 Hadamard transform are performed in units of columns or rows. It is possible to perform all at once. This matrix arithmetic unit includes a first adder / subtractor group 11 to 14 including two adders 11 and 14 and two subtractors 13 and 14, and similarly two adders 15 and 16 and two adders 15 and 16. The second adder / subtractor group 15 to 18 including the subtracters 17 and 18, the two × 1/2 calculators 19 and 20, and the two data selectors 21 and 22 are included. In the first adder / subtractor group 11 to 14, the adder 11 adds IN0 and IN1 to the four inputs IN0, IN1, IN2, and IN3, and the subtractor 13 subtracts IN1 from IN0. The subtractor 14 subtracts IN3 from the result of selecting either 1/2 * IN2 obtained by multiplying 1/2 by IN2 or IN2 by the 1/2 calculator 19 by the data selector 21, and the adder 12 is IN3 or IN2 is added to the result of selecting either 1/2 * IN3 obtained by multiplying 1/2 by 1/2 by × 1/2 computing unit 20 by data selector 22.

また、それら第1の加減算器群11〜14の演算結果に対して、第2の加減算器群15〜18では、加算器15が加算器11と加算器12の演算結果を加算し、加算器16が減算器13と減算器14の演算結果を加算し、減算器17が減算器13の演算結果から減算器14の演算結果を減算し、減算器18が加算器11の演算結果から加算器12の演算結果を減算し、それら第2の加減算器群15〜18の演算結果を4つの出力OUT0,OUT1,OUT2,OUT3としている。但し、各データ選択器21,22はDTC_mode信号によって制御され、4×4アダマール変換の演算時にはDTC_mode信号が“0”に設定されてそれぞれIN2,IN3を選択出力し、4×4整数近似逆離散コサイン変換の演算時にはDTC_mode信号が“1”に設定されてそれぞれ×1/2演算器19,20の演算結果を選択出力するようになっている。 Further, in the second adder / subtractor groups 15-18, the adder 15 adds the operation results of the adder 11 and the adder 12 to the calculation results of the first adder / subtractor groups 11-14, and the adder 16 adds the operation results of the subtractor 13 and the subtractor 14, the subtracter 17 subtracts the operation result of the subtractor 14 from the operation result of the subtractor 13, and the subtractor 18 adds the operation result of the adder 11. Twelve calculation results are subtracted, and the calculation results of the second adder / subtractor groups 15 to 18 are set as four outputs OUT0, OUT1, OUT2, and OUT3. However, the data selectors 21 and 22 are controlled by the DTC_mode signal, and when calculating 4 × 4 Hadamard transform, the DTC_mode signal is set to “0” to select and output IN2 and IN3, respectively, and 4 × 4 integer approximate inverse discrete At the time of the cosine transform calculation, the DTC_mode signal is set to “1”, and the calculation results of the × 1/2 calculators 19 and 20 are selectively output.

前記の数式12の演算(列方向演算)に際しては、IN0,IN1,IN2,IN3に対してそれぞれCj0,Cj1,Cj2,Cj3を入力し、4×4アダマール変換ではDTC_mode信号を“0”とし、4×4整数近似逆離散コサイン変換ではDTC_mode信号を“1”として、OUT0,OUT1,OUT2,OUT3からそれぞれXj0,Xj1,Xj2,Xj3を得る。また、前記の数式13の演算(行方向演算)に際しては、IN0,IN1,IN2,IN3に対してそれぞれXj0,Xj1,Xj2,Xj3を入力することにより最終演算結果が得られる。 In the calculation of Equation 12 (column direction calculation), C j0 , C j1 , C j2 , and C j3 are input to IN0, IN1, IN2, and IN3, respectively. In the 4 × 4 Hadamard transform, the DTC_mode signal is “ In the 4 × 4 integer approximate inverse discrete cosine transform, the DTC_mode signal is set to “1”, and X j0 , X j1 , X j2 , and X j3 are obtained from OUT0, OUT1, OUT2, and OUT3, respectively. Further, in the calculation (row direction calculation) of Equation 13, the final calculation result is obtained by inputting X j0 , X j1 , X j2 , and X j3 to IN0, IN1, IN2, and IN3, respectively.

尚、2×2アダマール変換の演算に関しては、上記の数式11より計算式は次の数式14に示す4通りとなる。

Figure 2006227666
従って、図2の行列演算装置において、IN0,IN1,IN2,IN3に対してそれぞれH00,H10,H01,H11を入力し、DTC_mode信号を“0”に設定することで最終演算結果が得られる。 In addition, regarding the calculation of 2 × 2 Hadamard transform, there are four calculation formulas shown in the following formula 14 from the above formula 11.
Figure 2006227666
Therefore, in the matrix operation device of FIG. 2, the final operation result is obtained by inputting H 00 , H 10 , H 01 , and H 11 to IN0, IN1, IN2, and IN3, respectively, and setting the DTC_mode signal to “0”. Is obtained.

[実施形態2]
この実施形態はH.264による画像データのエンコードを行う場合の直交変換処理に適用される行列演算装置に係る。先ず、H.264の上記数式6の4×4整数近似離散コサイン変換は次の数式15に展開できる。

Figure 2006227666
また、数式7の4×4アダマール変換と数式8の2×2アダマール変換がそれぞれ数式10と数式11に展開できることは、実施形態1の場合と同様である。 [Embodiment 2]
This embodiment relates to a matrix operation apparatus applied to orthogonal transform processing when encoding image data according to H.264. First, the 4 × 4 integer approximate discrete cosine transform of the above equation 6 of H.264 can be expanded into the following equation 15.
Figure 2006227666
Further, the 4 × 4 Hadamard transform of Formula 7 and the 2 × 2 Hadamard transform of Formula 8 can be expanded into Formula 10 and Formula 11, respectively, as in the case of the first embodiment.

そして、数式15及び数式10から被変換係数行列の列方向演算で実行される計算式は、βを4×4整数近似逆離散コサイン変換の演算時には2に、4×4アダマール変換の演算時には1に設定される変数として定義すると、次の数式16に示す4通りとなる。

Figure 2006227666
また、被変換係数行列の行方向演算で実行される計算式は、同様にして次の数式17に示す4通りとなる。
Figure 2006227666
Then, the calculation formula executed by the column direction calculation of the transformed coefficient matrix from Formula 15 and Formula 10 is β when calculating 4 × 4 integer approximate inverse discrete cosine transform, and 1 when calculating 4 × 4 Hadamard transform. If the variables are defined as the variables set in (4), the following four formulas 16 are obtained.
Figure 2006227666
Further, the calculation formulas executed in the row direction calculation of the transformed coefficient matrix are similarly four formulas shown in the following formula 17.
Figure 2006227666

従って、数式16及び数式17の形に着目すると、図3に示す行列演算装置を用いることにより4×4整数近似逆離散コサイン変換と4×4アダマール変換に必要な演算を列単位又は行単位で一括して行うことが可能になる。この行列演算装置は、2個の加算器51,52と2個の減算器53,54とからなる入力側の加減算器群51〜54と、同様に2個の加算器55,58と2個の減算器56,57とからなる出力側の加減算器群55〜58と、2個の×2演算器59,60と、2個のデータ選択器61,62とで構成されている。そして、4つの入力IN0,IN1,IN2,IN3に対して、入力側の加減算器群51〜54では、加算器51がIN0とIN3を加算し、加算器52がIN1とIN2を加算し、減算器53がIN1からIN2を減算し、減算器54がIN0からIN3を減算する。また、出力側の加減算器群55〜58では、加算器55が加算器51と加算器52の演算結果を加算し、減算器56が加算器51の演算結果から減算器52の演算結果又はその演算結果に×2演算器59で2を乗算した演算結果のいずれかをデータ選択器61で選択した結果を減算し、減算器57が減算器54の演算結果から減算器53の演算結果を減算し、加算器58が減算器54の演算結果又はその演算結果に×2演算器60で2を乗算した演算結果のいずれかをデータ選択器62で選択した結果と減算器53の演算結果を加算し、それら出力側の加減算器群55〜58の演算結果を4つの出力OUT0,OUT1,OUT2,OUT3としている。尚、各データ選択器61,62はDTC_mode信号によって制御され、4×4アダマール変換の演算時にはDTC_mode信号が“0”に設定されてそれぞれ加算器52と減算器54の演算結果を選択出力し、4×4整数近似逆離散コサイン変換の演算時にはDTC_mode信号が“1”に設定されてそれぞれ×2演算器59,60の演算結果を選択出力するようになっている。 Therefore, focusing on the form of Equation 16 and Equation 17, by using the matrix operation device shown in FIG. 3, the operations required for 4 × 4 integer approximate inverse discrete cosine transform and 4 × 4 Hadamard transform are performed in units of columns or rows. It is possible to perform all at once. This matrix arithmetic unit includes an adder / subtractor group 51 to 54 on the input side composed of two adders 51 and 52 and two subtractors 53 and 54, and two adders 55 and 58 in the same manner. The adder / subtractor group 55 to 58 on the output side composed of the subtracters 56 and 57, the two × 2 arithmetic units 59 and 60, and the two data selectors 61 and 62 are configured. In the adder / subtractor group 51 to 54 on the input side for the four inputs IN0, IN1, IN2, and IN3, the adder 51 adds IN0 and IN3, and the adder 52 adds IN1 and IN2, and subtracts them. The subtractor 53 subtracts IN2 from IN1, and the subtractor 54 subtracts IN3 from IN0. In addition, in the adder / subtractor groups 55 to 58 on the output side, the adder 55 adds the calculation results of the adder 51 and the adder 52, and the subtractor 56 calculates the calculation result of the subtractor 52 from the calculation result of the adder 51 or its The result selected by the data selector 61 is subtracted from the operation result obtained by multiplying the operation result by 2 by the × 2 calculator 59, and the subtractor 57 subtracts the operation result of the subtractor 53 from the operation result of the subtractor 54. The adder 58 adds the calculation result of the subtractor 53 with the result of selecting the calculation result of the subtractor 54 or the calculation result obtained by multiplying the calculation result by 2 by the × 2 calculator 60 by the data selector 62. The calculation results of the adder / subtractor groups 55 to 58 on the output side are the four outputs OUT0, OUT1, OUT2, and OUT3. The data selectors 61 and 62 are controlled by the DTC_mode signal, and the DTC_mode signal is set to “0” at the time of calculation of 4 × 4 Hadamard transform, and the calculation results of the adder 52 and the subtractor 54 are selected and output, respectively. At the time of computation of 4 × 4 integer approximate inverse discrete cosine transform, the DTC_mode signal is set to “1”, and the computation results of the × 2 computing units 59 and 60 are selectively output.

この実施例は前記の実施形態1又は実施形態2の行列演算装置を1組用いた場合におけるH.264画像データ処理用の直交変換回路に係り、図4にそのシステム回路を示す。同図において、70が行列演算装置に相当し、デコーダの場合には図2の回路が、エンコーダの場合には図3の回路が1組用いられる。71は4個のデータ選択器からなる入力切換部であり、Path_mode信号を“0”又は“1”に設定することにより、それぞれの選択器が行列演算装置70のIN0,IN1,IN2,IN3に対する入力を被変換係数行列データであるCji系列と前記Cji系列について列方向演算を行って転置させた後のXij系列とに切り換えるようになっている。また、72は転置メモリであり、被変換係数行列データのCji系列から行列演算装置70が列方向演算によって求めたXji系列をセーブし、そのセーブしたXji系列から転置したXij系列を読み出して入力切換部71へ出力できる入出力構造になっている。そして、この直交変換回路の構成は、入力行列をC、係数行列をZとし、行列の転置行列生成をt()の表現とした場合に、出力行列UがU=t(Z)・{C・Z}で表され、その式はU=t(t({C・Z})・Z)と変形できるために、入力行列Cと係数行列Zの乗算として纏めることができることに基づいている。 This example relates to an orthogonal transformation circuit for processing H.264 image data in the case where one set of the matrix arithmetic apparatus of the first embodiment or the second embodiment is used, and FIG. 4 shows a system circuit thereof. In the figure, reference numeral 70 corresponds to a matrix arithmetic unit, and in the case of a decoder, the circuit of FIG. 2 is used, and in the case of an encoder, one set of the circuit of FIG. 3 is used. Reference numeral 71 denotes an input switching unit composed of four data selectors. By setting the Path_mode signal to “0” or “1”, each selector corresponds to IN0, IN1, IN2, and IN3 of the matrix arithmetic unit 70. The input is switched between a C ji sequence which is converted coefficient matrix data and an X ij sequence obtained by transposing the C ji sequence by performing column direction calculation. Reference numeral 72 denotes a transposition memory, which saves the X ji sequence obtained by the matrix operation unit 70 by the column direction calculation from the C ji sequence of the transformed coefficient matrix data, and the transposed X ij sequence from the saved X ji sequence. The input / output structure can read and output to the input switching unit 71. The configuration of this orthogonal transformation circuit is such that the output matrix U is U = t (Z) · {C when the input matrix is C, the coefficient matrix is Z, and the transpose matrix generation of the matrix is expressed as t (). Z}, which is based on the fact that it can be transformed as U = t (t ({C · Z}) · Z), and can be summarized as a multiplication of the input matrix C and the coefficient matrix Z.

この実施例の直交変換回路は、以上の構成に基づいて4×4の行列演算をクロックに同期しながら次の手順で実行する。但し、ここではエンコーダの場合(行列演算装置70が図3の回路であり、整数近似離散コサイン変換とアダマール変換を実行する場合)を例にとって説明する。
(1) 整数近似離散コサイン変換とアダマール変換のいずれを演算するかをDTC_mode信号で設定し、Path_mode信号を“0”に設定する。
(2) 入力データ列{C00,C01,C02,C03},{C10,C11,C12,C13},{C20,C21,C22,C23},{C30,C31,C32,C33}を行列演算装置70へ入力する。
(3) 入力されたデータ列について行列演算装置70が演算した後の1次出力データ{X00,X01,X02,X03},{X10,X11,X12,X13},{X20,X21,X22,X23},{X30,X31,X32,X33}を一旦転置メモリ72にセーブする。
(4) Path_mode信号を“1”に切り換え設定して転置メモリ72から読み出した転置データ列{X00,X10,X20,X30},{X01,X11,X21,X31},{X02,X12,X22,X32},{X03,X13,X23,X33}を行列演算装置70へ入力する。
(5) 入力されたデータ列について行列演算装置70が演算した後の2次出力データ{T00,T10,T20,T30},{T01,T11,T21,T31},{T02,T12,T22,T32},{T03,T13,T23,T33}が直交変換の演算結果となる。
この実施例では演算時間が最短でも8サイクル必要になるが、回路規模を小さくできるという有利性がある。尚、2×2アダマール変換に関しては前記(3)での1次出力がそのまま直列変換となる。
The orthogonal transform circuit of this embodiment executes the 4 × 4 matrix operation in the following procedure while synchronizing with the clock based on the above configuration. However, here, a description will be given by taking as an example the case of an encoder (when the matrix calculation device 70 is the circuit of FIG. 3 and executes integer approximation discrete cosine transform and Hadamard transform).
(1) Set which of integer approximation discrete cosine transform and Hadamard transform is to be calculated using the DTC_mode signal, and set the Path_mode signal to “0”.
(2) Input data string {C 00 , C 01 , C 02 , C 03 }, {C 10 , C 11 , C 12 , C 13 }, {C 20 , C 21 , C 22 , C 23 }, {C 30 , C 31 , C 32 , C 33 } are input to the matrix arithmetic unit 70.
(3) Primary output data {X 00 , X 01 , X 02 , X 03 }, {X 10 , X 11 , X 12 , X 13 } after the matrix arithmetic unit 70 operates on the input data string, {X 20 , X 21 , X 22 , X 23 }, {X 30 , X 31 , X 32 , X 33 } are temporarily saved in the transposition memory 72.
(4) Transposed data string {X 00 , X 10 , X 20 , X 30 }, {X 01 , X 11 , X 21 , X 31 } read from the transposed memory 72 by switching the Path_mode signal to “1” , {X 02 , X 12 , X 22 , X 32 }, {X 03 , X 13 , X 23 , X 33 } are input to the matrix arithmetic unit 70.
(5) Secondary output data {T 00 , T 10 , T 20 , T 30 }, {T 01 , T 11 , T 21 , T 31 }, after the matrix arithmetic unit 70 operates on the input data string, {T 02 , T 12 , T 22 , T 32 }, {T 03 , T 13 , T 23 , T 33 } are the results of the orthogonal transformation.
In this embodiment, 8 cycles are required even at the shortest calculation time, but there is an advantage that the circuit scale can be reduced. As for the 2 × 2 Hadamard transform, the primary output in (3) is directly converted into a serial transform.

この実施例は前記の実施形態1又は実施形態2の行列演算装置を4組用いた場合におけるH.264画像データ処理用の直交変換回路に係り、図5にそのシステム回路を示す。同図において、70-1〜4がそれぞれ行列演算装置に相当し、それぞれについてデコーダの場合には図2の回路が、エンコーダの場合には図3の回路が1組用いられる。71-1〜4はそれぞれが4個のデータ選択器からなる入力切換部であり、Path_mode信号を“0”又は“1”に設定することにより、4個の選択器が行列演算装置701〜4のIN0,IN1,IN2,IN3に対する入力を被変換係数行列データであるCji系列と前記Cji系列について列方向演算を行って転置させた後のXij系列とに切り換えるようになっている。また、73はフリップフロップ回路(以下、「FF回路」という)であり、被変換係数行列データのCji系列から行列演算装置70-1〜4が列方向演算によって求めたXji系列をセーブし、その出力端子が前記Xji系列の行列に対して転置行列Xijとなる条件で入力切換部71-1〜4の入力端子に接続されている。 This example relates to an orthogonal transformation circuit for processing H.264 image data in the case where four sets of the matrix arithmetic apparatuses of the first embodiment or the second embodiment are used, and FIG. 5 shows a system circuit thereof. In the figure, reference numerals 70-1 to 70-4 each correspond to a matrix arithmetic unit, and for each of the decoders, the circuit of FIG. 2 is used, and in the case of an encoder, one set of the circuit of FIG. 3 is used. Reference numerals 71-1 to 4 are input switching units each composed of four data selectors. By setting the Path_mode signal to “0” or “1”, the four selectors are changed to matrix arithmetic devices 701 to 4. The inputs to IN0, IN1, IN2, and IN3 are switched between a C ji sequence that is transformed coefficient matrix data and an X ij sequence after transposing the C ji sequence by performing a column direction calculation. Reference numeral 73 denotes a flip-flop circuit (hereinafter referred to as “FF circuit”), which saves the X ji series obtained by the matrix arithmetic units 70-1 to 70-4 by column direction calculation from the C ji series of the transformed coefficient matrix data. The output terminals are connected to the input terminals of the input switching units 71-1 to 7-4 under the condition that the transposed matrix X ij is used with respect to the matrix of the X ji series.

この実施例の直交変換回路は、以上の構成に基づいて4×4の行列演算をクロックに同期しながら次の手順で実行する。但し、ここでも、実施例1と同様に、エンコーダの場合を例にとって説明する。
(1) 整数近似離散コサイン変換とアダマール変換のいずれを演算するかをDTC_mode信号で設定し、Path_mode信号を“0”に設定する。
(2) 入力データ列{C00,C01,C02,C03,C10,C11,C12,C13,C20,C21,C22,C23,C30,C31,C32,C33}を行列演算装置70-1〜4へ入力する。
(3) 入力されたデータ列について行列演算装置701〜4が演算した後の1次出力データ{X00,X01,X02,X03,X10,X11,X12,X13,X20,X21,X22,X23,X30,X31,X32,X33}を一旦FF回路73にセーブする。
(4) Path_mode信号を“1”に切り換え設定してFF回路73の出力を行列演算装置701〜4へ入力する。[行列演算装置70-1〜4への入力条件は、前記1次出力データの行列に対する転置行列{X00,X10,X20,X30,X01,X11,X21,X31,X02,X12,X22,X32,X03,X13,X23,X33}となる。]
(5) 入力されたデータ列について行列演算装置701〜4が演算した後の2次出力データ{T00,T10,T20,T30,T01,T11,T21,T31,T02,T12,T22,T32,T03,T13,T23,T33}が直交変換の演算結果となる。
この実施例では演算時間を最短で2サイクルにできるという有利性がある。回路規模については、実施例1の場合より大きくなるが、整数近似離散コサイン変換とアダマール変換とを独立した回路で構成する場合と比較すれば遥かに小さい回路規模で足りる。尚、2×2アダマール変換に関しては、実施例1の場合と同様に前記(3)での1次出力がそのまま直列変換となる。
The orthogonal transform circuit of this embodiment executes the 4 × 4 matrix operation in the following procedure while synchronizing with the clock based on the above configuration. However, here, as in the first embodiment, the case of an encoder will be described as an example.
(1) Set which of integer approximation discrete cosine transform and Hadamard transform is to be calculated using the DTC_mode signal, and set the Path_mode signal to “0”.
(2) Input data string {C 00 , C 01 , C 02 , C 03 , C 10 , C 11 , C 12 , C 13 , C 20 , C 21 , C 22 , C 23 , C 30 , C 31 , C 32 , C 33 } is input to the matrix computing devices 70-1 to 70-4.
(3) Primary output data {X 00 , X 01 , X 02 , X 03 , X 10 , X 11 , X 12 , X 13 , X after the matrix arithmetic units 701 to 4 calculate the input data string 20 , X 21 , X 22 , X 23 , X 30 , X 31 , X 32 , X 33 } are temporarily saved in the FF circuit 73.
(4) The Path_mode signal is switched to “1” and the output of the FF circuit 73 is input to the matrix arithmetic devices 701 to 4. [Matrix input condition to the arithmetic unit 70-1~4, the transposed matrix to the primary output data of the matrix {X 00, X 10, X 20, X 30, X 01, X 11, X 21, X 31, X 02, X 12, X 22 , X 32, X 03, X 13, X 23, the X 33}. ]
(5) Secondary output data {T 00 , T 10 , T 20 , T 30 , T 01 , T 11 , T 21 , T 31 , T after the matrix arithmetic units 701 to 4 calculate the input data string 02 , T 12 , T 22 , T 32 , T 03 , T 13 , T 23 , T 33 } are the results of the orthogonal transformation.
This embodiment has the advantage that the calculation time can be reduced to two cycles. The circuit scale is larger than that of the first embodiment, but a much smaller circuit scale is sufficient as compared with the case where the integer approximate discrete cosine transform and Hadamard transform are configured by independent circuits. As for the 2 × 2 Hadamard transform, the primary output in (3) is directly converted into a serial transform as in the first embodiment.

この実施例は前記の実施形態1又は実施形態2の行列演算装置を8組用いた場合におけるH.264画像データ処理用の直交変換回路に係り、図6にそのシステム回路を示す。同図において、70-1〜4,70-5〜8がそれぞれ行列演算装置に相当し、それぞれについてデコーダの場合には図2の回路が、エンコーダの場合には図3の回路が1組用いられる。また、行列演算装置70-1〜4の出力端子と行列演算装置70-5〜8の入力端子とは、行列演算装置70-1〜4の出力データ{X00,X01,X02,X03,X10,X11,X12,X13,X20,X21,X22,X23,X30,X31,X32,X33}が行列演算装置70-5〜8に対して転置行列のデータ{X00,X10,X20,X30,X01,X11,X21,X31,X02,X12,X22,X32,X03,X13,X23,X33}となって入力される関係で接続されている。 This example relates to an orthogonal transformation circuit for H.264 image data processing in the case where eight sets of the matrix arithmetic apparatuses of the first embodiment or the second embodiment are used, and FIG. 6 shows a system circuit thereof. In the same figure, 70-1 to 4 and 70-5 to 8 correspond to matrix operation devices, respectively. In the case of a decoder, the circuit of FIG. 2 is used, and in the case of an encoder, one set of the circuit of FIG. 3 is used. It is done. Further, the output terminals of the matrix operation devices 70-1 to 70-4 and the input terminals of the matrix operation devices 70-5 to 8 are the output data {X 00 , X 01 , X 02 , X of the matrix operation devices 70-1 to 70-4. 03, with respect to X 10, X 11, X 12 , X 13, X 20, X 21, X 22, X 23, X 30, X 31, X 32, X 33} is the matrix calculation unit 70-5~8 Transposed matrix data {X 00 , X 10 , X 20 , X 30 , X 01 , X 11 , X 21 , X 31 , X 02 , X 12 , X 22 , X 32 , X 03 , X 13 , X 23 , X 33 } and are connected by the input relationship.

この実施例の直交変換回路は、以上の構成に基づいて4×4の行列演算をクロックに同期しながら次の手順で実行する。但し、この実施例でも、前記実施例1,2と同様に、エンコーダの場合を例にとって説明する。
(1) 整数近似離散コサイン変換とアダマール変換のいずれを演算するかをDTC_mode信号で設定し、Path_mode信号を“0”に設定する。
(2) 入力データ列{C00,C01,C02,C03,C10,C11,C12,C13,C20,C21,C22,C23,C30,C31,C32,C33}を行列演算装置70-1〜4へ入力する。
(3) 行列演算装置70-1〜4へ入力されたデータ列に対応する行列演算装置70-5〜8の出力データ{T00,T10,T20,T30,T01,T11,T21,T31,T02,T12,T22,T32,T03,T13,T23,T33}がそのまま直交変換の演算結果となる。
この実施例では、演算時間を最短で1サイクルにできるという有利性がある。一方、回路規模については、実施例2の場合よりも更に大きくなるが、それでも整数近似離散コサイン変換とアダマール変換とを独立した回路で構成した同一演算能力の直交変換回路と比較しても回路規模は1/2で足りることになる。尚、2×2アダマール変換に関しては、初段の行列演算装置70-1〜4の出力がそのまま直列変換となる。
The orthogonal transform circuit of this embodiment executes the 4 × 4 matrix operation in the following procedure while synchronizing with the clock based on the above configuration. However, in this embodiment as well, as in the first and second embodiments, the case of an encoder will be described as an example.
(1) Set which of integer approximation discrete cosine transform and Hadamard transform is to be calculated using the DTC_mode signal, and set the Path_mode signal to “0”.
(2) Input data string {C 00 , C 01 , C 02 , C 03 , C 10 , C 11 , C 12 , C 13 , C 20 , C 21 , C 22 , C 23 , C 30 , C 31 , C 32 , C 33 } is input to the matrix computing devices 70-1 to 70-4.
(3) Output data {T 00 , T 10 , T 20 , T 30 , T 01 , T 11 , output data of the matrix operation devices 70-5 to 8 corresponding to the data strings input to the matrix operation devices 70-1 to 70-4 T 21 , T 31 , T 02 , T 12 , T 22 , T 32 , T 03 , T 13 , T 23 , T 33 } are directly used as the result of the orthogonal transformation.
In this embodiment, there is an advantage that the calculation time can be shortened to one cycle. On the other hand, the circuit scale is even larger than in the case of the second embodiment. However, even if compared with the orthogonal transform circuit having the same arithmetic capability in which the integer approximate discrete cosine transform and Hadamard transform are configured as independent circuits, the circuit scale is still larger. Would be 1/2. Regarding the 2 × 2 Hadamard transform, the outputs of the first-stage matrix computing devices 70-1 to 70-4 are directly converted into a serial transform.

本発明の行列演算装置はH.264等の画像データ処理用の直交変換回路に適用できる。 The matrix operation apparatus of the present invention can be applied to an orthogonal transformation circuit for image data processing such as H.264.

H.264におけるマクロブロックの直交変換処理単位を示す図である。It is a figure which shows the orthogonal transformation process unit of the macroblock in H.264. 本発明の実施形態1に係る行列演算装置の構成を示すブロック図である。It is a block diagram which shows the structure of the matrix calculating apparatus which concerns on Embodiment 1 of this invention. 本発明の実施形態2に係る行列演算装置の構成を示すブロック図である。It is a block diagram which shows the structure of the matrix calculating apparatus which concerns on Embodiment 2 of this invention. 実施形態に係る行列演算装置を1組用いた直交変換回路(実施例1)のブロック図である。It is a block diagram of the orthogonal transformation circuit (Example 1) using 1 set of the matrix arithmetic units which concern on embodiment. 実施形態に係る行列演算装置を4組用いた直交変換回路(実施例2)のブロック図である。It is a block diagram of the orthogonal transformation circuit (Example 2) using 4 sets of the matrix arithmetic units which concern on embodiment. 実施形態に係る行列演算装置を8組用いた直交変換回路(実施例3)のブロック図である。It is a block diagram of an orthogonal transformation circuit (Example 3) using eight sets of matrix operation devices according to the embodiment.

符号の説明Explanation of symbols

11,12,15,16,51,52,55,57…加算器、13,14,17,18,53,54,56,58…減算器、19,20…×1/2演算器、21,22,61,62…データ選択器、59,60…×2演算器、70,70-1〜4,70-5〜8…行列演算装置、71,71-1〜4…入力切換部、72…転置メモリ、73…FF回路、101…輝度信号のマクロブロック、102…色差信号(Cb)のブロック、103…色差信号(Cr)のブロック、104…輝度信号(Y)のマクロブロックについて整数近似離散コサイン変換後における各基本処理単位のDC成分のみを集めたブロック、105…色差信号(Cb)のブロックについて整数近似離散コサイン変換後における各基本処理単位のDC成分のみを集めたブロック、106…色差信号(Cr)のブロックについて整数近似離散コサイン変換後における各基本処理単位のDC成分のみを集めたブロック。
11,12,15,16,51,52,55,57 ... adder, 13,14,17,18,53,54,56,58 ... subtractor, 19,20 ... × 1/2 calculator, 21 , 22, 61, 62 ... data selector, 59, 60 ... x 2 computing unit, 70, 70-1 to 4, 70-5 to 8 ... matrix computing device, 71, 71-1 to 4 ... input switching unit, 72: transposed memory, 73: FF circuit, 101: macro block of luminance signal, 102: block of color difference signal (Cb), 103: block of color difference signal (Cr), 104: integer for macro block of luminance signal (Y) A block that collects only the DC components of each basic processing unit after the approximate discrete cosine transform, 105... A block that collects only the DC components of each basic processing unit after the integer approximate discrete cosine transform for the block of the color difference signal (Cb) 106. A block in which only the DC components of each basic processing unit after the integer approximate discrete cosine transform are collected for the color difference signal (Cr) block.

Claims (2)

次の数式1の変数行列Cと次の数式2の定数行列B(但し、定数Kは1以外の有理数)との積CB、及び前記変数行列Cと次の数式3の定数行列Aとの積CAを演算する行列演算装置であって、
Figure 2006227666
Figure 2006227666
Figure 2006227666
パラレルに入力される前記変数行列Cの行方向データ{Cj0,Cj1,Cj2,Cj3}の内のデータCj1,Cj3に定数Kを乗算する2つの乗算器と、
前記各乗算器に対応させて設けられ、前記積CBの演算モードでは前記乗算器の出力側データを出力させ、前記積CAの演算モードでは前記乗算器への入力側データを出力させる2つのデータ選択器と、
入力される前記行方向データと前記各データ選択器の出力データとから(Cj0+Cj2),(Cj1+αCj3),(αCj1−Cj3),(Cj0−Cj2)[但し、αは前記積CBの演算モードではK、前記積CAの演算モードでは1]を求める第1の加減算器群と、
前記第1の加減算器群による演算結果を用いて(Cj0+Cj2)+(Cj1+αCj3),(Cj0−Cj2)+(αCj1−Cj3),(Cj0−Cj2)−(αCj1−Cj3),(Cj0+Cj2)−(Cj1+αCj3)を求める第2の加減算器群と
からなることを特徴とする行列演算装置。
The product CB of the variable matrix C of the following formula 1 and the constant matrix B of the following formula 2 (where the constant K is a rational number other than 1), and the product of the variable matrix C and the constant matrix A of the following formula 3 A matrix computing device for computing CA,
Figure 2006227666
Figure 2006227666
Figure 2006227666
Two multipliers for multiplying data C j1 , C j3 in the row direction data {C j0 , C j1 , C j2 , C j3 } of the variable matrix C inputted in parallel by a constant K;
Two data provided corresponding to each of the multipliers for outputting the output side data of the multiplier in the operation mode of the product CB and outputting the input side data to the multiplier in the operation mode of the product CA. A selector,
(C j0 + C j2 ), (C j1 + αC j3 ), (αC j1 −C j3 ), (C j0 −C j2 ) [however, from the row direction data inputted and the output data of each data selector α is a first adder / subtractor group for obtaining K in the calculation mode of the product CB and 1 in the calculation mode of the product CA;
Using the calculation result of the first adder / subtractor group, (C j0 + C j2 ) + (C j1 + αC j3 ), (C j0 −C j2 ) + (αC j1 −C j3 ), (C j0 −C j2 ) And a second adder / subtractor group for obtaining (αC j1 −C j3 ), (C j0 + C j2 ) − (C j1 + αC j3 ).
前記変数行列Cと次の数式4の定数行列D(但し、定数Rは1以外の有理数)との積CD、及び前記変数行列Cと前記定数行列Aとの積CAを演算する行列演算装置であって、
Figure 2006227666
パラレルに入力される前記変数行列Cの行方向データ{Cj0,Cj1,Cj2,Cj3}から(Cj0+Cj3),(Cj1+Cj2),(Cj1−Cj2),(Cj0−Cj3)を求める入力側加減算器群と、
前記入力側加減算器群の演算結果である(Cj1+Cj2)と(Cj0−Cj3)にそれぞれ乗数Rを乗算する2つの乗算器と、
前記各乗算器に対応させて設けられ、前記積CDの演算モードでは前記乗算器の出力側データを出力させ、前記積CAの演算モードでは前記乗算器への入力側データを出力させる2つのデータ選択器と、
前記入力側加減算器群による演算結果と前記各データ選択器の出力データとから(Cj0+Cj3)+(Cj1+Cj2),β(Cj0−Cj3)+(Cj1−Cj2),(Cj0−Cj3)−(Cj1−Cj2),(Cj0+Cj3)−β(Cj1+Cj2)[但し、βは前記積CDの演算モードではR、前記積CAの演算モードでは1]を求める出力側加減算器群と
からなることを特徴とする行列演算装置。
A matrix computing device that computes a product CD of the variable matrix C and a constant matrix D of the following Equation 4 (where the constant R is a rational number other than 1) and a product CA of the variable matrix C and the constant matrix A: There,
Figure 2006227666
From the row direction data {C j0 , C j1 , C j2 , C j3 } of the variable matrix C inputted in parallel, (C j0 + C j3 ), (C j1 + C j2 ), (C j1 −C j2 ), ( C j0 −C j3 ), an input side adder / subtractor group;
Two multipliers each multiplying the multiplier R by (C j1 + C j2 ) and (C j0 −C j3 ), which are the calculation results of the input side adder / subtractor group,
Two data provided corresponding to each of the multipliers for outputting the output side data of the multiplier in the operation mode of the product CD and outputting the input side data to the multiplier in the operation mode of the product CA. A selector,
(C j0 + C j3 ) + (C j1 + C j2 ), β (C j0 −C j3 ) + (C j1 −C j2 ) from the calculation result by the input side adder / subtractor group and the output data of each data selector. , (C j0 −C j3 ) − (C j1 −C j2 ), (C j0 + C j3 ) −β (C j1 + C j2 ) [where β is R in the product CD operation mode, and calculation of the product CA A matrix operation device comprising: an output side adder / subtractor group for obtaining 1] in the mode.
JP2005037070A 2005-02-15 2005-02-15 Matrix operation unit Pending JP2006227666A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005037070A JP2006227666A (en) 2005-02-15 2005-02-15 Matrix operation unit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005037070A JP2006227666A (en) 2005-02-15 2005-02-15 Matrix operation unit

Publications (1)

Publication Number Publication Date
JP2006227666A true JP2006227666A (en) 2006-08-31

Family

ID=36989030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005037070A Pending JP2006227666A (en) 2005-02-15 2005-02-15 Matrix operation unit

Country Status (1)

Country Link
JP (1) JP2006227666A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128969A (en) * 2008-11-28 2010-06-10 Fujitsu Ltd Hadamard transform circuit
JP2010128968A (en) * 2008-11-28 2010-06-10 Fujitsu Ltd Hadamard transform circuit
WO2023037882A1 (en) * 2021-09-09 2023-03-16 ローム株式会社 Machine learning device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010128969A (en) * 2008-11-28 2010-06-10 Fujitsu Ltd Hadamard transform circuit
JP2010128968A (en) * 2008-11-28 2010-06-10 Fujitsu Ltd Hadamard transform circuit
WO2023037882A1 (en) * 2021-09-09 2023-03-16 ローム株式会社 Machine learning device

Similar Documents

Publication Publication Date Title
Budagavi et al. Core transform design in the high efficiency video coding (HEVC) standard
Zhao et al. High-performance multiplierless transform architecture for HEVC
KR101036731B1 (en) Reversible transform for lossy and lossless 2-d data compression
Ahmed et al. N point DCT VLSI architecture for emerging HEVC standard
US20060029282A1 (en) Image Blocking Artifact Reduction Via Transform Pair
CN107105263B (en) The video encoding/decoding method and device of motion compensation for being executed under inter-prediction
KR20130098360A (en) Low complexity transform coding using adaptive dct/dst for intra-prediction
JPH0373689A (en) Method and apparatus for compressing image data by mathematical conversion at low custom for low speed transmission of image sequence
JP4704333B2 (en) Image encoding device, image decoding device, and integrated circuit used in the same
Brahimi et al. An efficient fast integer DCT transform for images compression with 16 additions only
US6181831B1 (en) Spatial frequency-domain video signal processing
JP5086271B2 (en) Apparatus and method for converting coding coefficient of video signal
Ishwar et al. Discrete tchebichef transform-a fast 4x4 algorithm and its application in image/video compression
JP2006227666A (en) Matrix operation unit
KR100377084B1 (en) Discrete cosine conversion circuit, discrete cosine inverse conversion circuit, MPEG video encoder and MPEG video decoder
Chang et al. A fast algorithm-based cost-effective and hardware-efficient unified architecture design of 4× 4, 8× 8, 16× 16, and 32× 32 inverse core transforms for HEVC
Tasdizen et al. A high performance and low cost hardware architecture for H. 264 transform and quantization algorithms
JP2014523673A (en) Video conversion method and apparatus, inverse conversion method and apparatus
JP2008532335A (en) Image interpolation method and pixel interpolation device
JPH0644291A (en) Discrete cosine converter and information encoder
JP2006332836A (en) Orthogonal transformation circuit
Jianhong et al. Fast parallel implementation of H. 264/AVC transform exploiting SIMD instructions
CN114531600B (en) Conversion unit, field programmable gate array, chip, electronic device, and system on chip
CN107846599B (en) decoding method and device
JP3543151B2 (en) Data compression method and data compression apparatus