JPH06149862A - 行列データ乗算方法及び行列データ乗算装置 - Google Patents
行列データ乗算方法及び行列データ乗算装置Info
- Publication number
- JPH06149862A JPH06149862A JP30402892A JP30402892A JPH06149862A JP H06149862 A JPH06149862 A JP H06149862A JP 30402892 A JP30402892 A JP 30402892A JP 30402892 A JP30402892 A JP 30402892A JP H06149862 A JPH06149862 A JP H06149862A
- Authority
- JP
- Japan
- Prior art keywords
- matrix
- constant matrix
- constant
- elements
- addition
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
(57)【要約】
【目的】 行列演算において、演算量を従来よりも減ら
す。 【構成】 定数行列[TS]が、定数行列[TSC]、
[TSB]、[TSA]の3つの行列に分解される。そ
して要素A1〜A16が入力される第1段目の加減算
(加減算器11 〜116)により、定数行列[TSC]の
1〜16行目の計算が行われる。この第1段目の加減算
出力が図示のように所定の配列で入力される第2段目の
加減算(加減算器21 〜216)により、定数行列[TS
B]の1〜16行目の計算が行われる。さらに第2段目
の加減算出力が図示のように所定の配列で入力される第
3段目の加減算(加減算器31 〜316)により、定数行
列[TSA]の1〜16行目の計算が行われる。これに
よって、第1〜3段目の加減算全体で、定数行列[T
S]の1〜16行目の計算が行われて、要素B1〜B1
6が出力される。
す。 【構成】 定数行列[TS]が、定数行列[TSC]、
[TSB]、[TSA]の3つの行列に分解される。そ
して要素A1〜A16が入力される第1段目の加減算
(加減算器11 〜116)により、定数行列[TSC]の
1〜16行目の計算が行われる。この第1段目の加減算
出力が図示のように所定の配列で入力される第2段目の
加減算(加減算器21 〜216)により、定数行列[TS
B]の1〜16行目の計算が行われる。さらに第2段目
の加減算出力が図示のように所定の配列で入力される第
3段目の加減算(加減算器31 〜316)により、定数行
列[TSA]の1〜16行目の計算が行われる。これに
よって、第1〜3段目の加減算全体で、定数行列[T
S]の1〜16行目の計算が行われて、要素B1〜B1
6が出力される。
Description
【0001】
【産業上の利用分野】本発明は、画像データの圧縮等に
利用する離散コサイン変換(Discrete Cos
ine Transform:DCT)及び逆離散コサ
イン変換(Inverse DCT:IDCT)などに
おける行列データ乗算方法及び装置に関するものであ
る。
利用する離散コサイン変換(Discrete Cos
ine Transform:DCT)及び逆離散コサ
イン変換(Inverse DCT:IDCT)などに
おける行列データ乗算方法及び装置に関するものであ
る。
【0002】
【従来の技術】本願発明者は、先に特願平4−1911
13号(離散コサイン変換装置及び逆離散コサイン変換
装置)において、2次元8×8DCT及び2次元8×8
IDCTのために行う行列計算を適切な行列分解によ
り、演算量を減らす工夫を提案している。
13号(離散コサイン変換装置及び逆離散コサイン変換
装置)において、2次元8×8DCT及び2次元8×8
IDCTのために行う行列計算を適切な行列分解によ
り、演算量を減らす工夫を提案している。
【0003】すなわち2次元8×8DCTは、実空間上
の8×8マトリクスの64個の要素から周波数空間上の
8×8マトリクスの64個の要素への変換である。そこ
でこの実空間上の8×8マトリクスの64個の要素を縦
ベクトル(64個の要素から成るベクトル:Xc)とみ
なし、さらにこの周波数空間上の8×8マトリクスの6
4個の要素も縦ベクトル(64個の要素から成るベクト
ル:Yc)とみなすことにより、2次元8×8DCTは
ベクトルXcからベクトルYcへの線形1次変換とな
る。
の8×8マトリクスの64個の要素から周波数空間上の
8×8マトリクスの64個の要素への変換である。そこ
でこの実空間上の8×8マトリクスの64個の要素を縦
ベクトル(64個の要素から成るベクトル:Xc)とみ
なし、さらにこの周波数空間上の8×8マトリクスの6
4個の要素も縦ベクトル(64個の要素から成るベクト
ル:Yc)とみなすことにより、2次元8×8DCTは
ベクトルXcからベクトルYcへの線形1次変換とな
る。
【0004】即ち、 [Yc]=[M][Xc] となる。但し、[M]は64×64定数行列である。
【0005】そして、上述の先願においては、64×6
4定数行列[M]を、 [M]=[W][V][TS][R][L][Q]/8 と行列分解できる点に着目して、演算量を減らす工夫を
提案している。但し、[Q]、[L]、[R]、[T
S]、[V]、[W]は、それぞれ64×64定数行列
である。これら行列の詳細を図13〜図18に示す。
4定数行列[M]を、 [M]=[W][V][TS][R][L][Q]/8 と行列分解できる点に着目して、演算量を減らす工夫を
提案している。但し、[Q]、[L]、[R]、[T
S]、[V]、[W]は、それぞれ64×64定数行列
である。これら行列の詳細を図13〜図18に示す。
【0006】即ち、図13は64×64定数行列[Q]
の要素を示し、図14は64×64定数行列[L]の要
素を示し、図15は64×64定数行列[R]の要素を
示し、図16は64×64定数行列[TS]の要素を示
し、図17は64×64定数行列[V]の要素を示し、
図18は64×64定数行列[W]の要素を示してい
る。
の要素を示し、図14は64×64定数行列[L]の要
素を示し、図15は64×64定数行列[R]の要素を
示し、図16は64×64定数行列[TS]の要素を示
し、図17は64×64定数行列[V]の要素を示し、
図18は64×64定数行列[W]の要素を示してい
る。
【0007】図中において、空白は0を、+は1を、−
は(−1)を表しており、そして、 a=−e=cos(π/16) b=−f=cos(3π/16) c=−g=cos(5π/16) d=−h=cos(7π/16) i=−j=cos(4π/16) k=−m=cos(2π/16) l=−n=cos(6π/16) である。
は(−1)を表しており、そして、 a=−e=cos(π/16) b=−f=cos(3π/16) c=−g=cos(5π/16) d=−h=cos(7π/16) i=−j=cos(4π/16) k=−m=cos(2π/16) l=−n=cos(6π/16) である。
【0008】即ち上述の先願において、具体的には、並
べ変え回路により定数行列[Q]の演算を行い、係数が
1及び(−1)の4次内積演算回路にて定数行列[L]
の演算を行い、並べ変え回路により定数行列[R]の演
算を行い、係数が0、1及び(−1)の8次内積演算回
路にて定数行列[TS]の演算を行い、4次内積演算回
路にて定数行列[V]の演算を行い、並べ変え回路によ
り定数行列[W]の演算を行うことで、2次元8×8D
CTの回路を構成していた。
べ変え回路により定数行列[Q]の演算を行い、係数が
1及び(−1)の4次内積演算回路にて定数行列[L]
の演算を行い、並べ変え回路により定数行列[R]の演
算を行い、係数が0、1及び(−1)の8次内積演算回
路にて定数行列[TS]の演算を行い、4次内積演算回
路にて定数行列[V]の演算を行い、並べ変え回路によ
り定数行列[W]の演算を行うことで、2次元8×8D
CTの回路を構成していた。
【0009】また2次元8×8IDCTは、周波数空間
上の8×8マトリクスの64個の要素から実空間上の8
×8マトリクスの64個の要素への変換である。さて、
この周波数空間上の8×8マトリクスの64個の要素を
縦ベクトル(64個の要素から成るベクトル:Yc)と
みなし、さらに、この実空間上の8×8マトリクスの6
4個の要素も縦ベクトル(64個の要素から成るベクト
ル:Xc)とみなすことにより、2次元8×8IDCT
はベクトルYcからベクトルXcへの線形1次変換とな
る。即ち、 [Xc]=[IM][Yc] となる。但し、[IM]は64×64定数行列である。
上の8×8マトリクスの64個の要素から実空間上の8
×8マトリクスの64個の要素への変換である。さて、
この周波数空間上の8×8マトリクスの64個の要素を
縦ベクトル(64個の要素から成るベクトル:Yc)と
みなし、さらに、この実空間上の8×8マトリクスの6
4個の要素も縦ベクトル(64個の要素から成るベクト
ル:Xc)とみなすことにより、2次元8×8IDCT
はベクトルYcからベクトルXcへの線形1次変換とな
る。即ち、 [Xc]=[IM][Yc] となる。但し、[IM]は64×64定数行列である。
【0010】そして、上述の先願においては、64×6
4定数行列[IM]を [IM]=t[Q][L]t[R]t[TS]t[V]
t[W]/8 と行列分解できる点に着目して、演算量を減らす工夫を
提案している。但し、t[Q]は64×64定数行列
[Q]の転置行列であり、t[R]は64×64定数行
列[R]の転置行列であり、t[TS]は64×64定
数行列[TS]の転置行列であり、t[V]は64×6
4定数行列[V]の転置行列であり、t[W]は64×
64定数行列[W]の転置行列である。
4定数行列[IM]を [IM]=t[Q][L]t[R]t[TS]t[V]
t[W]/8 と行列分解できる点に着目して、演算量を減らす工夫を
提案している。但し、t[Q]は64×64定数行列
[Q]の転置行列であり、t[R]は64×64定数行
列[R]の転置行列であり、t[TS]は64×64定
数行列[TS]の転置行列であり、t[V]は64×6
4定数行列[V]の転置行列であり、t[W]は64×
64定数行列[W]の転置行列である。
【0011】即ち上述の先願において、具体的には、並
べ変え回路により定数行列t[W]の演算を行い、4次
内積演算回路にて定数行列t[V]の演算を行い、係数
が0、1及び(−1)の8次内積演算回路にて定数行列
t[TS]の演算を行い、並べ変え回路により定数行列
t[R]の演算を行い、係数が1及び(−1)の4次内
積演算回路にて定数行列[L]の演算を行い、並べ変え
回路により定数行列t[Q]の演算を行うことで、2次
元8×8IDCTの回路を構成していた。
べ変え回路により定数行列t[W]の演算を行い、4次
内積演算回路にて定数行列t[V]の演算を行い、係数
が0、1及び(−1)の8次内積演算回路にて定数行列
t[TS]の演算を行い、並べ変え回路により定数行列
t[R]の演算を行い、係数が1及び(−1)の4次内
積演算回路にて定数行列[L]の演算を行い、並べ変え
回路により定数行列t[Q]の演算を行うことで、2次
元8×8IDCTの回路を構成していた。
【0012】さて、定数行列[TS]の演算は、64個
の要素(Ai)から成る縦ベクトル[A]を入力とし
て、
の要素(Ai)から成る縦ベクトル[A]を入力とし
て、
【数1】 を計算して、64個の要素(Bi)から成る縦ベクトル
[B]を出力する計算である。
[B]を出力する計算である。
【0013】この計算は、上述の先願においては、8次
内積演算回路にて行っており、即ち、64個のデータに
対してそれぞれ8次内積演算を計算するので、合計64
×8=512回もの加減算を行わなくてはいけなかっ
た。
内積演算回路にて行っており、即ち、64個のデータに
対してそれぞれ8次内積演算を計算するので、合計64
×8=512回もの加減算を行わなくてはいけなかっ
た。
【0014】また、定数行列t[TS]の演算は、64
個の要素(Ci)から成る縦ベクトル[C]を入力とし
て、
個の要素(Ci)から成る縦ベクトル[C]を入力とし
て、
【数2】 を計算して、64個の要素(Di)から成る縦ベクトル
[D]を出力する計算である。
[D]を出力する計算である。
【0015】この計算は、上述の先願においては、8次
内積演算回路にて行っており、即ち、64個のデータに
対してそれぞれ8次内積演算を計算するので、合計64
×8=512回もの加減算を行わなくてはいけなかっ
た。
内積演算回路にて行っており、即ち、64個のデータに
対してそれぞれ8次内積演算を計算するので、合計64
×8=512回もの加減算を行わなくてはいけなかっ
た。
【0016】さらに、定数行列[L]の演算は、64個
の要素(Ei)から成る縦ベクトル[E]を入力とし
て、
の要素(Ei)から成る縦ベクトル[E]を入力とし
て、
【数3】 を計算して、64個の要素(Fi)から成る縦ベクトル
[F]を出力する計算である。
[F]を出力する計算である。
【0017】この計算は、上述の先願においては、4次
内積演算回路にて行っており、即ち、64個のデータに
対してそれぞれ4次内積演算を計算するので、合計64
×4=256回もの加減算を行わなくてはいけなかっ
た。
内積演算回路にて行っており、即ち、64個のデータに
対してそれぞれ4次内積演算を計算するので、合計64
×4=256回もの加減算を行わなくてはいけなかっ
た。
【0018】
【発明が解決しようとする課題】解決しようとする問題
点は、例えば上述の定数行列[TS]及びt[TS]の
演算において、それぞれ512回もの加減算を行わなく
てはいけなく、そのために演算量が多くなり過ぎていた
というものである。また、上述の定数行列[L]の演算
において、256回もの加減算を行わなくてはいけな
く、そのために演算量が多くなり過ぎていたというもの
である。
点は、例えば上述の定数行列[TS]及びt[TS]の
演算において、それぞれ512回もの加減算を行わなく
てはいけなく、そのために演算量が多くなり過ぎていた
というものである。また、上述の定数行列[L]の演算
において、256回もの加減算を行わなくてはいけな
く、そのために演算量が多くなり過ぎていたというもの
である。
【0019】
【課題を解決するための手段】本発明による第1の手段
は、入力ベクトルを入力(要素A1〜A16)し、要素
が0、1及び(−1)より成る定数行列を乗算して、そ
の出力結果を出力ベクトル(要素B1〜B16)として
取り出す行列データ乗算方法において、上記定数行列
を、要素が0、1及び(−1)より成る複数の定数行列
に行列分解([TS]=[TSA]・[TSB]・[T
SC])し、上記行列分解された各定数行列との乗算を
加減算(加減算器11 〜116、21 〜216、31 〜
316)を用いて行っていくことを特徴とする行列データ
乗算方法である。
は、入力ベクトルを入力(要素A1〜A16)し、要素
が0、1及び(−1)より成る定数行列を乗算して、そ
の出力結果を出力ベクトル(要素B1〜B16)として
取り出す行列データ乗算方法において、上記定数行列
を、要素が0、1及び(−1)より成る複数の定数行列
に行列分解([TS]=[TSA]・[TSB]・[T
SC])し、上記行列分解された各定数行列との乗算を
加減算(加減算器11 〜116、21 〜216、31 〜
316)を用いて行っていくことを特徴とする行列データ
乗算方法である。
【0020】本発明による第2の手段は、上記行列分解
された複数の定数行列は、それぞれ各行各列における0
でない要素が2つ以下である定数行列であることを特徴
とする第1の手段記載の行列データ乗算方法である。
された複数の定数行列は、それぞれ各行各列における0
でない要素が2つ以下である定数行列であることを特徴
とする第1の手段記載の行列データ乗算方法である。
【0021】本発明による第3の手段は、入力ベクトル
(要素A1〜A16)を入力し、要素が0、1及び(−
1)より成る定数行列を乗算して、その出力結果を出力
ベクトル(要素B1〜B16)として取り出す行列デー
タ乗算装置において、上記定数行列を、要素が0、1及
び(−1)より成る複数の定数行列に行列分解([T
S]=[TSA]・[TSB]・[TSC])し、上記
行列分解された各定数行列との乗算を加減算回路(加減
算器11 〜116、21 〜216、31 〜316)を用いて行
っていくことを特徴とする行列データ乗算装置である。
(要素A1〜A16)を入力し、要素が0、1及び(−
1)より成る定数行列を乗算して、その出力結果を出力
ベクトル(要素B1〜B16)として取り出す行列デー
タ乗算装置において、上記定数行列を、要素が0、1及
び(−1)より成る複数の定数行列に行列分解([T
S]=[TSA]・[TSB]・[TSC])し、上記
行列分解された各定数行列との乗算を加減算回路(加減
算器11 〜116、21 〜216、31 〜316)を用いて行
っていくことを特徴とする行列データ乗算装置である。
【0022】本発明による第4の手段は、上記行列分解
された複数の定数行列は、それぞれ各行各列における0
でない要素が2つ以下である定数行列であり、上記加減
算回路は、2入力の加減算回路であることを特徴とする
第3の手段記載の行列データ乗算装置である。
された複数の定数行列は、それぞれ各行各列における0
でない要素が2つ以下である定数行列であり、上記加減
算回路は、2入力の加減算回路であることを特徴とする
第3の手段記載の行列データ乗算装置である。
【0023】
【作用】これによれば、64×64定数行列[TS]
を、各要素が0、1及び(−1)の3つの行列に行列分
解し、その行列に対応した計算を行わせる回路構成にす
ることにより、演算量を従来の512回よりも減らすこ
とができる。また、64×64定数行列t[TS]を、
各要素が0、1及び(−1)の3つの行列に行列分解
し、その行列に対応した計算を行わせる回路構成にする
ことにより、演算量を従来の512回よりも減らすこと
ができる。さらに、64×64定数行列[L]を、各要
素が0、1及び(−1)の2つの行列に行列分解し、そ
の行列に対応した計算を行わせる回路構成にすることに
より、演算量を従来の256回よりも減らすことができ
る。
を、各要素が0、1及び(−1)の3つの行列に行列分
解し、その行列に対応した計算を行わせる回路構成にす
ることにより、演算量を従来の512回よりも減らすこ
とができる。また、64×64定数行列t[TS]を、
各要素が0、1及び(−1)の3つの行列に行列分解
し、その行列に対応した計算を行わせる回路構成にする
ことにより、演算量を従来の512回よりも減らすこと
ができる。さらに、64×64定数行列[L]を、各要
素が0、1及び(−1)の2つの行列に行列分解し、そ
の行列に対応した計算を行わせる回路構成にすることに
より、演算量を従来の256回よりも減らすことができ
る。
【0024】
【実施例】本発明(第1の実施例)においては、図16
の64×64定数行列[TS]を、例えば図4に示す6
4×64定数行列[TSC]、図5に示す64×64定
数行列[TSB]、図6に示す64×64定数行列[T
SA]の3つの行列に分解できる点に着目している。
の64×64定数行列[TS]を、例えば図4に示す6
4×64定数行列[TSC]、図5に示す64×64定
数行列[TSB]、図6に示す64×64定数行列[T
SA]の3つの行列に分解できる点に着目している。
【0025】即ち、 [TS]=[TSA]・[TSB]・[TSC] である。
【0026】定数行列[TSA]、定数行列[TS
B]、定数行列[TSC]の要素は、全て係数が0、1
及び(−1)である。そして、各行各列における0でな
い要素は2つ以下である。係数が0であるものは計算を
せず、係数が1であるものは加算により、係数が(−
1)であるものは減算により、計算できる。従って、図
1、図2、図3に示す構成で計算をしていくことが出来
る。
B]、定数行列[TSC]の要素は、全て係数が0、1
及び(−1)である。そして、各行各列における0でな
い要素は2つ以下である。係数が0であるものは計算を
せず、係数が1であるものは加算により、係数が(−
1)であるものは減算により、計算できる。従って、図
1、図2、図3に示す構成で計算をしていくことが出来
る。
【0027】そこで図1、図2、図3は、本発明の一実
施例を示したものである。
施例を示したものである。
【0028】図1において、要素A1〜A16が入力さ
れる第1段目の加減算(加減算器1 1 〜116)により、
定数行列[TSC]の1〜16行目の計算が行われる。
この第1段目の加減算出力が図示のように所定の配列で
入力される第2段目の加減算(加減算器21 〜216)に
より、定数行列[TSB]の1〜16行目の計算が行わ
れる。そして第2段目の加減算出力が図示のように所定
の配列で入力される第3段目の加減算(加減算器31 〜
316)により、定数行列[TSA]の1〜16行目の計
算が行われる。これによって、第1〜3段目の加減算全
体で、定数行列[TS]の1〜16行目の計算が行われ
て、要素B1〜B16が出力される。
れる第1段目の加減算(加減算器1 1 〜116)により、
定数行列[TSC]の1〜16行目の計算が行われる。
この第1段目の加減算出力が図示のように所定の配列で
入力される第2段目の加減算(加減算器21 〜216)に
より、定数行列[TSB]の1〜16行目の計算が行わ
れる。そして第2段目の加減算出力が図示のように所定
の配列で入力される第3段目の加減算(加減算器31 〜
316)により、定数行列[TSA]の1〜16行目の計
算が行われる。これによって、第1〜3段目の加減算全
体で、定数行列[TS]の1〜16行目の計算が行われ
て、要素B1〜B16が出力される。
【0029】この図1における加減算の数は、48回で
ある。
ある。
【0030】図2において、要素A17〜A32が入力
される第1段目の加減算(加減算器117〜132)によ
り、定数行列[TSC]の17〜32行目の計算が行わ
れる。この第1段目の加減算出力が図示のように所定の
配列で入力される第2段目の加減算(加減算器217〜2
32)により、定数行列[TSB]の17〜32行目の計
算が行われる。そして第2段目の加減算出力が図示のよ
うに所定の配列で入力される第3段目の加減算(加減算
器317〜332)により、定数行列[TSA]の17〜3
2行目の計算が行われる。これによって、第1〜3段目
の加減算全体で、定数行列[TS]の17〜32行目の
計算が行われて、要素B17〜B32が出力される。
される第1段目の加減算(加減算器117〜132)によ
り、定数行列[TSC]の17〜32行目の計算が行わ
れる。この第1段目の加減算出力が図示のように所定の
配列で入力される第2段目の加減算(加減算器217〜2
32)により、定数行列[TSB]の17〜32行目の計
算が行われる。そして第2段目の加減算出力が図示のよ
うに所定の配列で入力される第3段目の加減算(加減算
器317〜332)により、定数行列[TSA]の17〜3
2行目の計算が行われる。これによって、第1〜3段目
の加減算全体で、定数行列[TS]の17〜32行目の
計算が行われて、要素B17〜B32が出力される。
【0031】図2における加減算の数は、48回であ
る。
る。
【0032】定数行列[TS]の33〜48行目の計算
は、定数行列[TS]の17〜32行目である図2と全
く同じであり、その詳細図を省略する。これは、定数行
列[TS]、定数行列[TSA]、定数行列[TS
B]、定数行列[TSC]のそれぞれの17〜32行目
と33〜48行目の要素(A33〜A48、B33〜B
48)が同じだからである。
は、定数行列[TS]の17〜32行目である図2と全
く同じであり、その詳細図を省略する。これは、定数行
列[TS]、定数行列[TSA]、定数行列[TS
B]、定数行列[TSC]のそれぞれの17〜32行目
と33〜48行目の要素(A33〜A48、B33〜B
48)が同じだからである。
【0033】図3において、要素A49〜A64が入力
される第1段目の加減算(加減算器149〜164)によ
り、定数行列[TSC]の49〜64行目の計算が行わ
れる。この第1段目の加減算出力が図示のように所定の
配列で入力される第2段目の加減算(加減算器249〜2
64)により、定数行列[TSB]の49〜64行目の計
算が行われる。そして第2段目の加減算出力が図示のよ
うに所定の配列で入力される第3段目の加減算(加減算
器349〜364)により、定数行列[TSA]の49〜6
4行目の計算が行われる。これによって、第1〜3段目
の加減算全体で、定数行列[TS]の49〜64行目の
計算が行われて、要素B49〜B64が出力される。
される第1段目の加減算(加減算器149〜164)によ
り、定数行列[TSC]の49〜64行目の計算が行わ
れる。この第1段目の加減算出力が図示のように所定の
配列で入力される第2段目の加減算(加減算器249〜2
64)により、定数行列[TSB]の49〜64行目の計
算が行われる。そして第2段目の加減算出力が図示のよ
うに所定の配列で入力される第3段目の加減算(加減算
器349〜364)により、定数行列[TSA]の49〜6
4行目の計算が行われる。これによって、第1〜3段目
の加減算全体で、定数行列[TS]の49〜64行目の
計算が行われて、要素B49〜B64が出力される。
【0034】図3における加減算の数は、46回であ
る。
る。
【0035】かくして、64×64定数行列[TS]の
演算に必要な加減算の総数は、48+48+48+46
=190回である。すなわち従来、定数行列[TS]の
演算において512回もの加減算を行わなくてはいけな
かったのに対し、本発明においては、たったの190回
で済み、演算量を減らすことができた。
演算に必要な加減算の総数は、48+48+48+46
=190回である。すなわち従来、定数行列[TS]の
演算において512回もの加減算を行わなくてはいけな
かったのに対し、本発明においては、たったの190回
で済み、演算量を減らすことができた。
【0036】さらに、本発明(第2の実施例)において
は、64×64定数行列t[TS]を 例えば64×6
4定数行列t[TSA]、64×64定数行列t[TS
B]、64×64定数行列t[TSC]の3つの行列に
分解できる点に着目している。(但し、t[TS]、t
[TSA]、t[TSB]、t[TSC]は、それぞ
れ、[TS]、[TSA]、[TSB]、[TSC]の
転置行列である。)
は、64×64定数行列t[TS]を 例えば64×6
4定数行列t[TSA]、64×64定数行列t[TS
B]、64×64定数行列t[TSC]の3つの行列に
分解できる点に着目している。(但し、t[TS]、t
[TSA]、t[TSB]、t[TSC]は、それぞ
れ、[TS]、[TSA]、[TSB]、[TSC]の
転置行列である。)
【0037】即ち、 t[TS]=t[TSC]・t[TSB]・t[TS
A] である。
A] である。
【0038】定数行列t[TSA]、定数行列t[TS
B]、定数行列t[TSC]の要素は、全て係数が0、
1及び(−1)である。そして、各行各列における0で
ない要素は2つ以下である。係数が0であるものは計算
をせず、係数が1であるものは加算により、係数が(−
1)であるものは減算により、計算できる。従って、図
7、図8、図9に示す構成で計算をしていくことが出来
る。
B]、定数行列t[TSC]の要素は、全て係数が0、
1及び(−1)である。そして、各行各列における0で
ない要素は2つ以下である。係数が0であるものは計算
をせず、係数が1であるものは加算により、係数が(−
1)であるものは減算により、計算できる。従って、図
7、図8、図9に示す構成で計算をしていくことが出来
る。
【0039】図7において、要素C1〜C16が入力さ
れる第1段目の加減算(加減算器4 1 〜416)により、
定数行列t[TSA]の1〜16行目の計算が行われ
る。この第1段目の加減算出力が図示のように所定の配
列で入力される第2段目の加減算(加減算器51 〜
516)により、定数行列t[TSB]の1〜16行目の
計算が行われる。そして第2段目の加減算出力が図示の
ように所定の配列で入力される第3段目の加減算(加減
算器61 〜616)により、定数行列t[TSC]の1〜
16行目の計算が行われる。これによって、第1〜3段
目の加減算全体で、定数行列t[TS]の1〜16行目
の計算が行われて、要素D1〜D16が出力される。
れる第1段目の加減算(加減算器4 1 〜416)により、
定数行列t[TSA]の1〜16行目の計算が行われ
る。この第1段目の加減算出力が図示のように所定の配
列で入力される第2段目の加減算(加減算器51 〜
516)により、定数行列t[TSB]の1〜16行目の
計算が行われる。そして第2段目の加減算出力が図示の
ように所定の配列で入力される第3段目の加減算(加減
算器61 〜616)により、定数行列t[TSC]の1〜
16行目の計算が行われる。これによって、第1〜3段
目の加減算全体で、定数行列t[TS]の1〜16行目
の計算が行われて、要素D1〜D16が出力される。
【0040】図7における加減算の数は、48回であ
る。
る。
【0041】図8において、要素C17〜C32が入力
される第1段目の加減算(加減算器417〜432)によ
り、定数行列t[TSA]の17〜32行目の計算が行
われる。この第1段目の加減算出力が図示のように所定
の配列で入力される第2段目の加減算(加減算器517〜
532)により、定数行列t[TSB]の17〜32行目
の計算が行われる。そして第2段目の加減算出力が図示
のように所定の配列で入力される第3段目の加減算(加
減算器617〜632)により、定数行列t[TSC]の1
7〜32行目の計算が行われる。これによって、第1〜
3段目の加減算全体で、定数行列t[TS]の17〜3
2行目の計算が行われて、要素D17〜D32が出力さ
れる。
される第1段目の加減算(加減算器417〜432)によ
り、定数行列t[TSA]の17〜32行目の計算が行
われる。この第1段目の加減算出力が図示のように所定
の配列で入力される第2段目の加減算(加減算器517〜
532)により、定数行列t[TSB]の17〜32行目
の計算が行われる。そして第2段目の加減算出力が図示
のように所定の配列で入力される第3段目の加減算(加
減算器617〜632)により、定数行列t[TSC]の1
7〜32行目の計算が行われる。これによって、第1〜
3段目の加減算全体で、定数行列t[TS]の17〜3
2行目の計算が行われて、要素D17〜D32が出力さ
れる。
【0042】図8における加減算の数は、48回であ
る。
る。
【0043】定数行列t[TS]の33〜48行目の計
算は、定数行列t[TS]の17〜32行目である図8
と全く同じであり、その詳細図を省略する。これは、定
数行列t[TS]、定数行列t[TSA]、定数行列t
[TSB]、定数行列t[TSC]のそれぞれの17〜
32行目と33〜48行目の要素(C33〜C48、D
33〜D48)が同じだからである。
算は、定数行列t[TS]の17〜32行目である図8
と全く同じであり、その詳細図を省略する。これは、定
数行列t[TS]、定数行列t[TSA]、定数行列t
[TSB]、定数行列t[TSC]のそれぞれの17〜
32行目と33〜48行目の要素(C33〜C48、D
33〜D48)が同じだからである。
【0044】図9において、要素C49〜C64が入力
される第1段目の加減算(加減算器449〜464)によ
り、定数行列t[TSA]の49〜64行目の計算が行
われる。この第1段目の加減算出力が図示のように所定
の配列で入力される第2段目の加減算(加減算器549〜
564)により、定数行列t[TSB]の49〜64行目
の計算が行われる。そして第2段目の加減算出力が図示
のように所定の配列で入力される第3段目の加減算(加
減算器649〜664)により、定数行列t[TSC]の4
9〜64行目の計算が行われる。これによって、第1〜
3段目の加減算全体で、定数行列t[TS]の49〜6
4行目の計算が行われて、要素D49〜D64が出力さ
れる。
される第1段目の加減算(加減算器449〜464)によ
り、定数行列t[TSA]の49〜64行目の計算が行
われる。この第1段目の加減算出力が図示のように所定
の配列で入力される第2段目の加減算(加減算器549〜
564)により、定数行列t[TSB]の49〜64行目
の計算が行われる。そして第2段目の加減算出力が図示
のように所定の配列で入力される第3段目の加減算(加
減算器649〜664)により、定数行列t[TSC]の4
9〜64行目の計算が行われる。これによって、第1〜
3段目の加減算全体で、定数行列t[TS]の49〜6
4行目の計算が行われて、要素D49〜D64が出力さ
れる。
【0045】図9における加減算の数は、46回であ
る。
る。
【0046】かくして、64×64定数行列t[TS]
の演算に必要な加減算の総数は、48+48+48+4
6=190回である。
の演算に必要な加減算の総数は、48+48+48+4
6=190回である。
【0047】従来、定数行列t[TS]の演算において
512回もの加減算を行わなくてはいけなかったのに対
し、本発明においては、たったの190回で済み、演算
量を減らすことができた。
512回もの加減算を行わなくてはいけなかったのに対
し、本発明においては、たったの190回で済み、演算
量を減らすことができた。
【0048】そして、本発明(第3の実施例)において
は、図14の64×64定数行列[L]を、例えば図1
1に示す64×64定数行列[LB]、図12に示す6
4×64定数行列[LA]の2つの行列に分解できる点
に着目している。
は、図14の64×64定数行列[L]を、例えば図1
1に示す64×64定数行列[LB]、図12に示す6
4×64定数行列[LA]の2つの行列に分解できる点
に着目している。
【0049】即ち、 [L]=[LA]・[LB] である。
【0050】定数行列[LA]、定数行列[LB]の要
素は、全て係数が0、1及び(−1)である。そして、
各行各列における0でない要素は2つである。係数が0
であるものは計算をせず、係数が1であるものは加算に
より、係数が(−1)であるものは減算により、計算で
きる。従って、図10に示す構成で計算をしていくこと
が出来る。
素は、全て係数が0、1及び(−1)である。そして、
各行各列における0でない要素は2つである。係数が0
であるものは計算をせず、係数が1であるものは加算に
より、係数が(−1)であるものは減算により、計算で
きる。従って、図10に示す構成で計算をしていくこと
が出来る。
【0051】図10は、本発明のその他の実施例を示し
たものである。
たものである。
【0052】図10において、要素E1〜E4が入力さ
れる第1段目の加減算(加減算器7 1 〜74 )により、
定数行列[LB]の1〜4行目の計算が行われる。この
第1段目の加減算出力が図示のように所定の配列で入力
される第2段目の加減算(加減算器81 〜84 )によ
り、定数行列[LA]の1〜4行目の計算が行われる。
これによって、第1〜2段目の加減算全体で、定数行列
[L]の1〜4行目の計算が行われて、要素F1〜F4
が出力される。
れる第1段目の加減算(加減算器7 1 〜74 )により、
定数行列[LB]の1〜4行目の計算が行われる。この
第1段目の加減算出力が図示のように所定の配列で入力
される第2段目の加減算(加減算器81 〜84 )によ
り、定数行列[LA]の1〜4行目の計算が行われる。
これによって、第1〜2段目の加減算全体で、定数行列
[L]の1〜4行目の計算が行われて、要素F1〜F4
が出力される。
【0053】図10における加減算の数は、8回であ
る。
る。
【0054】定数行列[L]の4m+1〜4m+4(m
=1、2、...、15)行目の計算は、定数行列
[L]の1〜4行目である図10と全く同じであり、そ
の詳細図を省略する。これは、定数行列[L]、定数行
列[LA]、定数行列[LB]のそれぞれの1〜4行目
と4m+1〜4m+4行目の要素(E4m+1〜E4m
+4、F4m+1〜F4m+4)が同じだからである。
=1、2、...、15)行目の計算は、定数行列
[L]の1〜4行目である図10と全く同じであり、そ
の詳細図を省略する。これは、定数行列[L]、定数行
列[LA]、定数行列[LB]のそれぞれの1〜4行目
と4m+1〜4m+4行目の要素(E4m+1〜E4m
+4、F4m+1〜F4m+4)が同じだからである。
【0055】かくして、64×64定数行列[L]の演
算に必要な加減算の総数は、8×16=128回であ
る。
算に必要な加減算の総数は、8×16=128回であ
る。
【0056】従来、定数行列[L]の演算において25
6回もの加減算を行わなくてはいけなかったのに対し、
本発明においては、たったの128回で済み、演算量を
減らすことができた。
6回もの加減算を行わなくてはいけなかったのに対し、
本発明においては、たったの128回で済み、演算量を
減らすことができた。
【0057】
【発明の効果】この発明によれば、64×64定数行列
[TS]を、各要素が0、1及び(−1)の3つの行列
に行列分解し、その行列に対応した計算を行わせる回路
構成にすることにより、演算量を従来の512回よりも
減らすことができるようになった。また、64×64定
数行列t[TS]を、各要素が0、1及び(−1)の3
つの行列に行列分解し、その行列に対応した計算を行わ
せる回路構成にすることにより、演算量を従来の512
回よりも減らすことができるようになった。さらに、6
4×64定数行列[L]を、各要素が0、1及び(−
1)の2つの行列に行列分解し、その行列に対応した計
算を行わせる回路構成にすることにより、演算量を従来
の256回よりも減らすことができるようになった。
[TS]を、各要素が0、1及び(−1)の3つの行列
に行列分解し、その行列に対応した計算を行わせる回路
構成にすることにより、演算量を従来の512回よりも
減らすことができるようになった。また、64×64定
数行列t[TS]を、各要素が0、1及び(−1)の3
つの行列に行列分解し、その行列に対応した計算を行わ
せる回路構成にすることにより、演算量を従来の512
回よりも減らすことができるようになった。さらに、6
4×64定数行列[L]を、各要素が0、1及び(−
1)の2つの行列に行列分解し、その行列に対応した計
算を行わせる回路構成にすることにより、演算量を従来
の256回よりも減らすことができるようになった。
【図1】本発明による行列データ乗算装置の第1の実施
例の一部分の構成図である。
例の一部分の構成図である。
【図2】本発明による行列データ乗算装置の第1の実施
例の他の部分の構成図である。
例の他の部分の構成図である。
【図3】本発明による行列データ乗算装置の第1の実施
例のさらに他の部分の構成図である。
例のさらに他の部分の構成図である。
【図4】第1の実施例の説明に用いる定数行列[TS
C]の図である。
C]の図である。
【図5】第1の実施例の説明に用いる定数行列[TS
B]の図である。
B]の図である。
【図6】第1の実施例の説明に用いる定数行列[TS
A]の図である。
A]の図である。
【図7】本発明による行列データ乗算装置の第2の実施
例の一部分の構成図である。
例の一部分の構成図である。
【図8】本発明による行列データ乗算装置の第2の実施
例の他の部分の構成図である。
例の他の部分の構成図である。
【図9】本発明による行列データ乗算装置の第2の実施
例のさらに他の部分の構成図である。
例のさらに他の部分の構成図である。
【図10】本発明による行列データ乗算装置の第3の実
施例の一部分の構成図である。
施例の一部分の構成図である。
【図11】第3の実施例の説明に用いる定数行列[L
B]の図である。
B]の図である。
【図12】第3の実施例の説明に用いる定数行列[L
A]の図である。
A]の図である。
【図13】2次元8×8DCTの計算を行うための定数
行列[Q]の図である。
行列[Q]の図である。
【図14】2次元8×8DCTの計算を行うための定数
行列[L]の図である。
行列[L]の図である。
【図15】2次元8×8DCTの計算を行うための定数
行列[R]の図である。
行列[R]の図である。
【図16】2次元8×8DCTの計算を行うための定数
行列[TS]の図である。
行列[TS]の図である。
【図17】2次元8×8DCTの計算を行うための定数
行列[V]の図である。
行列[V]の図である。
【図18】2次元8×8DCTの計算を行うための定数
行列[W]の図である。
行列[W]の図である。
A1〜A16 入力要素 B1〜B16 出力要素 11 〜116 第1段目の加減算器 21 〜216 第2段目の加減算器 31 〜316 第3段目の加減算器
Claims (4)
- 【請求項1】 入力ベクトルを入力し、要素が0、1及
び(−1)より成る定数行列を乗算して、その出力結果
を出力ベクトルとして取り出す行列データ乗算方法にお
いて、 上記定数行列を、要素が0、1及び(−1)より成る複
数の定数行列に行列分解し、 上記行列分解された各定数行列との乗算を加減算を用い
て行っていくことを特徴とする行列データ乗算方法。 - 【請求項2】 上記行列分解された複数の定数行列は、
それぞれ各行各列における0でない要素が2つ以下であ
る定数行列であることを特徴とする請求項1記載の行列
データ乗算方法。 - 【請求項3】 入力ベクトルを入力し、要素が0、1及
び(−1)より成る定数行列を乗算して、その出力結果
を出力ベクトルとして取り出す行列データ乗算装置にお
いて、 上記定数行列を、要素が0、1及び(−1)より成る複
数の定数行列に行列分解し、 上記行列分解された各定数行列との乗算を加減算回路を
用いて行っていくことを特徴とする行列データ乗算装
置。 - 【請求項4】 上記行列分解された複数の定数行列は、
それぞれ各行各列における0でない要素が2つ以下であ
る定数行列であり、 上記加減算回路は、2入力の加減算回路であることを特
徴とする請求項3記載の行列データ乗算装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30402892A JPH06149862A (ja) | 1992-11-13 | 1992-11-13 | 行列データ乗算方法及び行列データ乗算装置 |
| US08/150,371 US5933361A (en) | 1992-11-13 | 1993-11-10 | Method of and apparatus for multiplying matrix data |
| US09/197,508 US6006246A (en) | 1992-11-13 | 1998-11-23 | Method of and apparatus for multiplying matrix data |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP30402892A JPH06149862A (ja) | 1992-11-13 | 1992-11-13 | 行列データ乗算方法及び行列データ乗算装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH06149862A true JPH06149862A (ja) | 1994-05-31 |
Family
ID=17928200
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP30402892A Pending JPH06149862A (ja) | 1992-11-13 | 1992-11-13 | 行列データ乗算方法及び行列データ乗算装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5933361A (ja) |
| JP (1) | JPH06149862A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102022794B1 (ko) * | 2018-03-23 | 2019-09-18 | 포항공과대학교 산학협력단 | 데이터 압축방법 및 이를 수행하기 위한 데이터 압축장치 |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB0213242D0 (en) * | 2002-06-07 | 2002-07-17 | Koninkl Philips Electronics Nv | AES MixColumn transform |
Family Cites Families (23)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE2625973C3 (de) * | 1976-06-10 | 1981-12-24 | Philips Patentverwaltung Gmbh, 2000 Hamburg | Verfahren und Anordnung zur redundanzvermindernden Transformation von Bildern |
| US4293920A (en) * | 1979-09-04 | 1981-10-06 | Merola Pasquale A | Two-dimensional transform processor |
| US4481605A (en) * | 1982-03-05 | 1984-11-06 | Sperry Corporation | Display vector generator utilizing sine/cosine accumulation |
| DE3482627D1 (de) * | 1983-04-11 | 1990-08-09 | Nec Corp | Orthogonale transformation und geraet zu ihrer durchfuehrung. |
| US4621337A (en) * | 1983-08-11 | 1986-11-04 | Eastman Kodak Company | Transformation circuit for implementing a collapsed Walsh-Hadamard transform |
| FR2582424B1 (fr) * | 1985-05-22 | 1989-06-30 | Guichard Jacques | Circuit de calcul rapide de la transformee en cosinus, directe ou inverse, d'un signal discret |
| US4829465A (en) * | 1986-06-19 | 1989-05-09 | American Telephone And Telegraph Company, At&T Bell Laboratories | High speed cosine transform |
| US4866653A (en) * | 1986-08-04 | 1989-09-12 | Ulrich Kulisch | Circuitry for generating sums, especially scalar products |
| US4791598A (en) * | 1987-03-24 | 1988-12-13 | Bell Communications Research, Inc. | Two-dimensional discrete cosine transform processor |
| GB8713455D0 (en) * | 1987-06-09 | 1987-07-15 | Sony Corp | Television standards converters |
| US4914615A (en) * | 1987-09-04 | 1990-04-03 | At&T Bell Laboratories | Calculator of matrix products |
| US5054103A (en) * | 1987-09-24 | 1991-10-01 | Matsushita Electric Works, Ltd. | Picture encoding system |
| US5001663A (en) * | 1989-05-03 | 1991-03-19 | Eastman Kodak Company | Programmable digital circuit for performing a matrix multiplication |
| US5008848A (en) * | 1989-05-30 | 1991-04-16 | North American Philips Corporation | Circuit for performing S-transform |
| IT8921420V0 (it) * | 1989-07-13 | 1989-07-13 | Telettra Spa | Sistema e circuito per il calcolo di trasformata discreta bidimensionale. |
| JPH0375868A (ja) * | 1989-08-17 | 1991-03-29 | Sony Corp | 行列データ乗算装置 |
| JPH03102567A (ja) * | 1989-09-18 | 1991-04-26 | Sony Corp | 行列乗算回路 |
| US5007100A (en) * | 1989-10-10 | 1991-04-09 | Unisys Corporation | Diagnostic system for a parallel pipelined image processing system |
| JP3185211B2 (ja) * | 1989-12-15 | 2001-07-09 | ソニー株式会社 | 行列データ乗算装置 |
| US5126962A (en) * | 1990-07-11 | 1992-06-30 | Massachusetts Institute Of Technology | Discrete cosine transform processing system |
| JPH04242861A (ja) * | 1990-12-28 | 1992-08-31 | Sony Corp | 内積演算回路 |
| US5257213A (en) * | 1991-02-20 | 1993-10-26 | Samsung Electronics Co., Ltd. | Method and circuit for two-dimensional discrete cosine transform |
| JP2866754B2 (ja) * | 1991-03-27 | 1999-03-08 | 三菱電機株式会社 | 演算処理装置 |
-
1992
- 1992-11-13 JP JP30402892A patent/JPH06149862A/ja active Pending
-
1993
- 1993-11-10 US US08/150,371 patent/US5933361A/en not_active Expired - Fee Related
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102022794B1 (ko) * | 2018-03-23 | 2019-09-18 | 포항공과대학교 산학협력단 | 데이터 압축방법 및 이를 수행하기 위한 데이터 압축장치 |
Also Published As
| Publication number | Publication date |
|---|---|
| US5933361A (en) | 1999-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0353223B1 (en) | Two-dimensional discrete cosine transform processor | |
| JP2949498B2 (ja) | Dct回路、idct回路及びdct/idct回路 | |
| KR100311251B1 (ko) | 2차원이산코사인변환장치,2차원역이산코사인변환장치및디지탈신호처리장치 | |
| JPH02503241A (ja) | Svdブロック変換を使用したディジタル画像雑音抑制方法 | |
| Barannik et al. | Video data compression methods in the decision support systems | |
| Hu et al. | Quaternion Fourier and linear canonical inversion theorems | |
| US5748792A (en) | Large kernel filtering using a fixed-size block processor | |
| EP0450260A1 (en) | Digital signal filter circuit | |
| JPH06149862A (ja) | 行列データ乗算方法及び行列データ乗算装置 | |
| US6006246A (en) | Method of and apparatus for multiplying matrix data | |
| US6044176A (en) | Method of performing inverse discrete cosine transform | |
| JP3652717B2 (ja) | 離散コサイン高速演算器 | |
| JPH0644291A (ja) | 離散コサイン変換器及び情報符号化器 | |
| JP2003030174A (ja) | Dct行列分解方法及びdct装置 | |
| US7693326B1 (en) | Method and system for implementing a low-complexity scheme in color conversion and down-sampling of image codecs | |
| CN111476743A (zh) | 一种基于分数阶微分的数字信号滤波与图像处理方法 | |
| JP3136785B2 (ja) | データ圧縮装置 | |
| Panicker et al. | 2-D GMRT: GCD based Mapped Real Transform for 2-D Signals | |
| JP3046115B2 (ja) | 離散コサイン変換器 | |
| Gomez et al. | Commutative Quaternion Algebra with Quaternion Fourier Transform-Based Alpha-Rooting Color Image Enhancement | |
| Kim et al. | Variable radix-2 multibit coding for 400 Mpixel/s DCT/IDCT of HDTV video decoder | |
| JPS63187373A (ja) | 演算回路 | |
| KR0130441B1 (ko) | 2차원 이산 코사인 변환기 | |
| JP3214831B2 (ja) | データ処理装置 | |
| EP0544356A2 (en) | Device for performing a one-dimensional forward transformation, and inverse transformation |