JP2006227666A - Matrix operation unit - Google Patents
Matrix operation unit Download PDFInfo
- 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
Links
Images
Landscapes
- Complex Calculations (AREA)
Abstract
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を取り除く右シフト演算を表す)だけで計算を行うことができる。
また、エンコーダ側で用いられる整数近似離散コサイン変換は次の数式6で示される演算となり、デコーダの場合と同様に加減算とビットシフト(2は左シフト演算を表す)だけで計算を行うことができる。
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
そして、特徴的な点として、図1に示すように、輝度信号(Y)のマクロブロック101に関しては特定モードにおいて整数近似離散コサイン変換後の各基本処理単位のDC成分のみを集めたブロック104を構成し、そのブロック104に対してアダマール変換を施す。このアダマール変換は、前記と同様に被変換データをCji、変換後データをTjiとして、次の数式7に示す演算となる。
尚、H.264の規格については次の非特許文献1に説明されており、また解説書として次の非特許文献2がある。
ところで、従来の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
そこで、本発明は、その点に着目して整数近似離散コサイン変換,整数近似逆離散コサイン変換とアダマール変換の演算を実行する回路を統合化することができる行列演算装置を提供し、もって直交変換回路の回路規模を縮小し、引いてはエンコーダやデコーダの消費電力も低減化することを目的として創作された。 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を演算する行列演算装置であって、
この発明によれば、各演算モードで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を演算する行列演算装置であって、
この発明においても、各演算モードで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
以下、本発明の行列演算装置の実施形態及びその行列演算装置を適用した直交変換回路の実施例について図2から図6を用いて説明する。
[実施形態1]
この実施形態はH.264による画像データのデコードを行う場合の直交変換処理に適用される行列演算装置に係る。先ず、上記数式5の4×4整数近似逆離散コサイン変換と数式7の4×4アダマール変換とは、それぞれ次の数式9と数式10に展開できる。
[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
そして、数式9及び数式10から被変換係数行列の列方向演算で実行される計算式は、αを4×4整数近似逆離散コサイン変換の演算時には1/2に、4×4アダマール変換の演算時には1に設定される変数として定義すると、次の数式12に示す4通りとなる。
従って、数式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
また、それら第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
前記の数式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
尚、2×2アダマール変換の演算に関しては、上記の数式11より計算式は次の数式14に示す4通りとなる。
[実施形態2]
この実施形態はH.264による画像データのエンコードを行う場合の直交変換処理に適用される行列演算装置に係る。先ず、H.264の上記数式6の4×4整数近似離散コサイン変換は次の数式15に展開できる。
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
そして、数式15及び数式10から被変換係数行列の列方向演算で実行される計算式は、βを4×4整数近似逆離散コサイン変換の演算時には2に、4×4アダマール変換の演算時には1に設定される変数として定義すると、次の数式16に示す4通りとなる。
従って、数式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
この実施例は前記の実施形態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,
この実施例の直交変換回路は、以上の構成に基づいて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
(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
(3) Primary output data {X 00 , X 01 , X 02 , X 03 }, {X 10 , X 11 , X 12 , X 13 } after the
(4) Transposed data string {X 00 , X 10 , X 20 , X 30 }, {X 01 , X 11 , X 21 , X 31 } read from the transposed
(5) Secondary output data {T 00 , T 10 , T 20 , T 30 }, {T 01 , T 11 , T 21 , T 31 }, after the
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.
この実施例の直交変換回路は、以上の構成に基づいて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
(4) The Path_mode signal is switched to “1” and the output of the
(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 ,
この実施例の直交変換回路は、以上の構成に基づいて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.
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)
前記各乗算器に対応させて設けられ、前記積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,
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 ).
前記入力側加減算器群の演算結果である(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,
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.
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)
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 |
-
2005
- 2005-02-15 JP JP2005037070A patent/JP2006227666A/en active Pending
Cited By (3)
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 |