JPH07152730A - 離散コサイン変換装置 - Google Patents

離散コサイン変換装置

Info

Publication number
JPH07152730A
JPH07152730A JP30037593A JP30037593A JPH07152730A JP H07152730 A JPH07152730 A JP H07152730A JP 30037593 A JP30037593 A JP 30037593A JP 30037593 A JP30037593 A JP 30037593A JP H07152730 A JPH07152730 A JP H07152730A
Authority
JP
Japan
Prior art keywords
input data
data
sum
values
decoder
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
JP30037593A
Other languages
English (en)
Inventor
Riisatsupu Kimu
リーサップ キム
Toru Nagamatsu
松 徹 永
Takayasu Sakurai
井 貴 康 櫻
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.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP30037593A priority Critical patent/JPH07152730A/ja
Priority to KR1019940032077A priority patent/KR0139699B1/ko
Priority to DE1994624377 priority patent/DE69424377T2/de
Priority to EP19940118862 priority patent/EP0655694B1/en
Publication of JPH07152730A publication Critical patent/JPH07152730A/ja
Priority to US08/704,922 priority patent/US5673214A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/48Structure, shape, material or disposition of the wire connectors after the connecting process of an individual wire connector
    • H01L2224/484Connecting portions
    • H01L2224/4847Connecting portions the connecting portion on the bonding area of the semiconductor or solid-state body being a wedge bond
    • H01L2224/48472Connecting portions the connecting portion on the bonding area of the semiconductor or solid-state body being a wedge bond the other connecting portion not on the bonding area also being a wedge bond, i.e. wedge-to-wedge
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/49Structure, shape, material or disposition of the wire connectors after the connecting process of a plurality of wire connectors
    • H01L2224/491Disposition
    • H01L2224/4911Disposition the connectors being bonded to at least one common bonding area, e.g. daisy chain
    • H01L2224/49111Disposition the connectors being bonded to at least one common bonding area, e.g. daisy chain the connectors connecting two common bonding areas, e.g. Litz or braid wires
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L2224/00Indexing scheme for arrangements for connecting or disconnecting semiconductor or solid-state bodies and methods related thereto as covered by H01L24/00
    • H01L2224/01Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
    • H01L2224/42Wire connectors; Manufacturing methods related thereto
    • H01L2224/47Structure, shape, material or disposition of the wire connectors after the connecting process
    • H01L2224/49Structure, shape, material or disposition of the wire connectors after the connecting process of a plurality of wire connectors
    • H01L2224/491Disposition
    • H01L2224/4911Disposition the connectors being bonded to at least one common bonding area, e.g. daisy chain
    • H01L2224/49113Disposition the connectors being bonded to at least one common bonding area, e.g. daisy chain the connectors connecting different bonding areas on the semiconductor or solid-state body to a common bonding area outside the body, e.g. converging wires

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Multimedia (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】 分散演算方式によって離散コサイン変換の演
算を行うLSIのメモリの面積を減少する。 【構成】 N個の入力データの同一桁のN個のビット値
をアドレスとし、このアドレスに上記同一桁のN個のビ
ット値と変換行列成分との積和データが格納されている
記憶手段と、上記記憶手段から読み出されるデータを累
積加算する累積加算手段と、を有する離散コサイン変換
装置において、上記記憶手段は、同じ値の積和データを
アクセスする、少なくとも2つのアドレスからなる1つ
のアドレスグループについて1つの積和データの格納場
所が割り当てられる記憶部と、上記アドレスグループに
属するアドレスの供給に応じて上記アドレスグループに
割り当てられた格納場所をアクセスするデコーダと、を
備える。 【効果】 メモリに保持する演算結果を共用するので少
ない記憶容量で済み、メモリチップの面積を可及的に削
減することが可能となる。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は離散コサイン変換装置
(DCT,Discrete Cosine Transform )に関し、特
に、画像データの圧縮や伸長に使用される離散コサイン
変換装置に関する。
【0002】
【従来の技術】従来、順方向離散コサイン変換/逆方向
離散コサイン変換(FDCT/IDCT,Foward Discr
ete Cosine Transform/Inverse Discrete Cosine Trans
form)の演算処理を行うLSIには、大別して2種類の
演算方式が使用されている。第1の種類のものは、順方
向/逆方向離散コサイン変換の定義式に従って乗算器を
用いて演算を行うものである。すなわち、予め計算さて
いる順方向/逆方向離散コサイン変換の係数をROM
(読出専用メモリ)に記録しておく。このROMから、
対応する係数を逐次読み出し、この係数データと入力さ
れる画像データと積和演算を乗算器で行う。例えば、8
×8画素の順方向/逆方向離散コサイン変換装置であれ
ば、8個の乗算器を用いて並列に演算を行い、或いは、
1個の乗算器を使用して直列な演算を行う。
【0003】第2の種類のものは、分散演算(DA,Di
stributed Arithmetic)方式である。この方式は、第1
の種類の方式における、乗算器がLSI上で大きい面積
を占めるという不具合を回避するために、また、速い動
作速度を得るために考えられたものである。分散演算方
式では、入力画像データとコサイン係数との乗算を乗算
器で実際には行わず、予め積和計算を行った計算結果を
ROMに格納しておき、加算器を用いて累積加算を行う
ものである。この分散演算方式は、半導体メモリ技術が
非常に発達していることに着目し、乗算器よりもROM
の方が、LSI上においてより小さい面積で同じ機能を
果たし得るという前提に立つ。
【0004】分散演算方式の場合、例えば、8×8画素
の順方向/逆方向離散コサイン変換であれば、8個のR
OMを必要とする。8個のROM各々に必要な記憶容量
は256語(Word)である。一般的には、順方向離散コ
サイン変換装置への入力は1語9ビット、逆方向離散コ
サイン変換装置への入力は1語12ビットであるが、い
ずれの装置でも、装置内部では1語16ビットに拡張さ
れている。
【0005】分散演算を行う従来の離散コサイン変換装
置の例について説明する。なお、m×n画素のサンプル
データについて列方向に離散コサイン変換を行い、この
変換結果について、更に行方向に離散コサイン変換を繰
り返せば、いわゆる二次元の離散コサイン変換になるの
で、基本となる一次元の順方向離散コサイン変換装置に
ついて説明する。
【0006】分散演算を行う順方向離散コサイン変換の
場合、一次元の順方向離散コサイン変換の変換式は、
【0007】
【数1】 と表される。ここで、X(k) は変換値、x(m) は画像デ
ータ(標本値系列)である。この中で、(2/N) 1/2
(k) cos ((2m+1)kπ/2N) の部分が係数行列dに相当す
る。これをk行m列に、例えば、8入力データに対応し
て8行×8列に表現すると、上記変換式は次のマトリク
ス形式で表現される。
【0008】
【数2】 この変換行列dの第1行の8個の夫々の値(d11
12,…,d18)と、入力データx(=x0 ,x1 ,x
2 ,…x7 )の値とを、積和演算した値X0xをROMに
格納する。この場合、第1行における積和の一つの値X
0xは(d110 +d122 +d133 +…d187 )と
して表される。入力データxが8個(8画素)のとき、
この入力データが二進値で表現されていると、8個の入
力データx0,x1 ,x2 ,…x7 の各々は、各々が
“0”または“1”の値を取り得、入力データxは、2
8 =256通りの値を持つ。このため、変換行列dの一
行につき、ROMの第1の記憶領域であるバンク0に2
56個の演算値X0 〜X255 を格納する。同様に、変換
行列dの第2行の8個の夫々の値d21,d22,…,d28
と、入力データx0 ,x1 ,x2 ,…x7 とを、積和演
算して得られた256個の値をROMの第2の記憶領域
であるバンク1に格納する。これを第8行まで繰り返し
て、積和演算した値をROMのバンク0からバンク7に
格納する。このROMの各バンクは共通のアドレス信号
によってアクセスされ、各バンクからアドレスに対応す
る格納データが出力される。上記ROMへの各積和デー
タの記憶に際しては、記憶場所が、その積和演算におけ
る入力データx0 ,x1 ,x2 ,…x7 の値に対応する
場所に記憶するようにする。それにより、入力データx
をアドレスとしてROMに与えることにより、入力デー
タの数値x(=x0 ,x1 ,x2 ,…x7 )に対応する
積和演算結果X(=X0 ,X1 ,X2 ,…,X7 )が複
数の記憶場所から出力されるようになる。なお、順方向
の離散コサイン変換と逆方向の離散コサイン変換とで
は、ROMに形成される変換テーブルの内容(数値)が
異なっている。
【0009】図6は、上述したような分散演算によって
離散コサイン変換を行うLSIの機能ブロックを概略的
に示している。画像をサンプリングして得られた連続な
画素列である入力データxi は、例えば、1画素の値が
9ビットで表されるが、必要な演算精度を確保するため
に、途中で16ビットのデータに変換されてシフトレジ
スタ11に与えられる。シフトレジスタ11は、図示し
ないシステムクロックに同期して入力データの画素列を
シフトしながら、直列なデータを並列に変換し、レジス
タ120 〜127 に供給する。レジスタ120 〜127
は、1画素分の入力データのシフト周期で、シフトレジ
スタ11の出力xi ,xi+1 ,xi+2 ,…,xi+7 を取
り込む。ここで、レジスタ120 〜127 に保持される
入力データは、上述した変換行列の入力データx0 〜x
7 に対応する。入力データx0 〜x7 の8個の各値に基
づいてデコーダ13は、入力データの値に対応する、2
8=256本の読出信号線l0 〜l255 のうち一つをア
クセスする。
【0010】デコーダ13は、例えば、図7に示すよう
に、入力データx0 〜x7 が供給されるサブデコーダ1
3a〜13d、各サブデコーダの出力を入力とする4入
力アンドゲートG0 〜G255 等によって構成することが
できる。アンドゲートG0 〜G255 の出力は読出信号線
0 〜l255 に接続されている。
【0011】サブデコーダ13aは、例えば、図8に示
すように、4つの論理ゲート回路によって構成され、2
つの2進値入力“x0 1 ”の値の組み合わせ“0
0”、“01”、“10”、“11”に対応する出力に
“H”信号を出力する。サブデコーダ13b〜13dも
同様に構成される。
【0012】このデコーダ13による、入力データx0
〜x7 に対応するいずれかの読出信号線のアクセスによ
って、記憶部14のバンク0のアドレスx0 〜x7 相当
部分に記憶されたd110 +d121 +,…,d187
の、変換行列の第1行分の積和データが読み出さる。バ
ンク1のアドレスx0 〜x7 相当部分に記憶されたd21
0 +d221 +,…,d287 の、変換行列の第2行
分の積和データが読み出さる。バンク2のアドレスx0
〜x7 相当部分に記憶されたd310 +d321 +,
…,d387 の、変換行列の第3行分の積和データが読
み出さる。同様にして、バンク3〜バンク7から、変換
行列の第4行〜第8行に相当する積和データが読み出さ
れる。この記憶部14の各バンクから読み出された変換
マトリクスの各行に対応する8個の積和データは、累積
加算処理部15に与えられる。上述したように、入力デ
ータxi は、16ビットであるので、1つの入力データ
について1バンクから16個の出力がなされる。そこ
で、累積加算処理部15は、入力データxi の処理中の
桁に対応する、桁シフトを行ってバンクの出力値の累積
加算を繰り返して、16ビットデータに対応する変換デ
ータXi を得る。この累積加算処理は、各バンクの出力
について行われる。累積加算処理によって、入力データ
0 ,x1 ,x2 ,…,x7 に対応する、変換データX
0 ,X2 ,…,X7 が得られる。この変換データは、シ
フトレジスタ16に供給される。シフトレジスタ16
は、データの並列直列変換を行い、図示しないシステム
クロックに同期して、変換データX0 ,X2 ,…,X7
を出力データとして外部に直列に出力する。
【0013】
【発明が解決しようとする課題】上述した分散演算方式
は、大きい面積を占める乗算器の代わりに乗算の結果を
予め計算してROMに入れておく方式なので、この方式
がLSI上で面積的に利点があるかどうかはROMの面
積の大きさに関係する。例えば、8×8画素の順方向/
逆方向離散コサイン変換装置の場合、必要なROMの容
量は256×8語になる。これは、LSI上で非常に大
きい面積を占める。
【0014】よって、本発明は、順方向/逆方向離散コ
サイン変換の演算を行うLSIを分散演算方式によって
実現するとき、ROMの面積を可及的に減少することを
可能とする離散コサイン変換装置を提供することを目的
とする。
【0015】
【課題を解決するための手段】上記目的を達成するた
め、本発明の離散コサイン変換装置は、N個の入力デー
タの同一桁のN個のビット値をアドレスとし、このアド
レスに上記同一桁のN個のビット値と変換行列成分との
積和データが格納されている記憶手段と、上記記憶手段
から読み出されるデータを累積加算する累積加算手段
と、を有する離散コサイン変換装置において、上記記憶
手段は、同じ値の積和データをアクセスする、少なくと
も2つのアドレスからなる1つのアドレスグループにつ
いて1つの積和データの格納場所が割り当てられる記憶
部と、上記アドレスグループに属するアドレスの供給に
応じて上記アドレスグループに割り当てられた格納場所
をアクセスするデコーダと、を備えることを特徴とす
る。
【0016】
【作用】分散演算を行う順方向/逆方向離散コサイン変
換装置の構成においては、乗算器を用いる代わりに、入
力データと変換行列の行列成分との演算結果を予め記憶
部(メモリ)に格納しておく。複雑で回路面積を要する
乗算器を用いない分、面積を小さくすることができる
が、反面、メモリに大量の演算値を保持するので、メモ
リが大きい面積を占める。
【0017】そこで、メモリの記憶領域を小さくするた
めに、分散演算方式の順方向/逆方向離散コサイン変換
を行うLSIの記憶領域内に形成される変換テーブルの
内容に冗長さに着目する。すなわち、積和演算結果を保
持する変換テーブル内には同じ値が複数に保持されてい
る。同じ値を保持するアドレスのグループが変換テーブ
ル内の同一の記憶場所をアクセスしてデータを共用する
ようにして、変換テーブルの容量、従ってこれを保持す
るメモリの記憶容量を減少し、離散コサイン変換装置が
形成されるチップの面積を可及的に削減することが可能
となる。
【0018】
【実施例】以下、本発明の実施例について説明する。ま
ず、本発明の着目点について説明する。分散演算を行う
順方向離散コサイン変換の場合、一次元の順方向離散コ
サイン変換の変換式は、入力データを8画素すると、上
記したように、
【0019】
【数3】 変換行列d11,d12,d13,…d88の、8×8個の数値
を10進値で示せば、次のようになる。
【0020】
【数4】 前述したように、この変換行列dの第1行8個の夫々の
値と、2進値の入力データx0 ,x1 ,x2 ,…x7
“0”または“1”とを、積和演算した値がROMに格
納される。この場合、第1行における積和の一つの値は
110 +d122 +d133 +…d187 として表さ
れる。入力データが8個(8画素)のとき、この入力デ
ータx0 ,x1 ,x2 ,…x7 は、28 =256通りの
値を持つ。このため、変換行列dの一行につき、ROM
に256の演算値を格納する。同様に、変換行列dの第
2行の8個の夫々の値と、入力データx0 ,x1
2 ,…x7 とを、積和演算した値をROMに格納す
る。これを第8行まで繰り返して、積和演算した値をR
OMに格納している。このROMへの各積和データの記
憶場所は、その積和演算における入力データx0
1 ,x2 ,…x7 をアドレスとする場所に記憶するよ
うにする。それにより、入力データをアドレスとしてR
OMに与えることにより、入力データの数値に対応する
積和演算結果が記憶場所から出力されるようになる。
【0021】ところで、上記変換行列dの係数値を観察
すると、次の規則性があることが判る。すなわち、 1)第2行,第4行,第6行,第8行について、その第
1列、第2列、第3列、第4列の各値は、夫々第8列、
第7列、第6列、第5列と絶対値が同じで符号が異なっ
ている。また、 2)第1行,第3行,第5行,第7行について、その第
1列、第2列、第3列、第4列の各値は、夫々第8列、
第7列、第6列、第5列と値が同じである。
【0022】このような規則性によって、従来例の如
き、8画素の入力データに対応する積和データを8つの
バンクに夫々256個ずつ記憶する記憶部14の各バン
クには、同じ数値が複数含まれている。
【0023】例えば、変換行列dの第2行と、入力デー
タx(=x0 ,x1 ,x2 ,…x7)との積和計算は、 1.3870x0 +1.1759x1 +0.7857x2 +0.2759x3 −0.
2759x4 −0.7857x5−1.1759x6 −1.3870x7
となる。これを変形して、 =1.3870(x0 −x7 )+1.1759(x1 −x6 )+0.78
57(x2 −x5 )+0.2759(x3 −x4 ) と表され
る。
【0024】この式より、入力データxのうちの、
0 、x7 が共に“0”であるときと、x0 、x7 が共
に“1”であるときは、第1の項が“0”になるので、
他の入力データx1 ,x2 ,…,x6 が等しければ、積
和計算の結果は同じ値になる。
【0025】例えば、入力データxが“0110110
0”であるときと、“11101101”であるときと
は、積和の計算値は共に、0.9となる。
【0026】同様に、入力データxのうちのx1 、x6
が共に“0”であるときと、x1 、x6 が共に“1”で
あるときは、他の入力データx0 ,x2 ,…,x5 ,x
7 が等しければ、積和計算の結果は同じ値になる。入力
データxのうちのx2 、x5が共に“0”であるとき
と、x2 、x5 が共に“1”であるときは、他の入力デ
ータx0 ,x1 ,…,x4 ,x5 ,x7 が等しければ、
積和計算の結果は同じ値になる。入力データxのうちの
3 、x4 が共に“0”であるときと、x3 、x4 が共
に“1”であるときは、他の入力データx0 ,x1 ,x
2 ,x5 ,x6 ,x7 が等しければ、積和計算の結果は
同じ値になる。
【0027】従って、入力データ“0・x1 2 3
4 5 6 ・0”と入力データ“1・x1 2 3 4
5 6 ・1”とが同じアドレスをアクセスするように
すれば、いずれか一方のデータを保持せずに済む。これ
により、第1ビット及び第8ビットによる4つの組み合
わせ、“00”,“01”,“10”,“11”が、
“00”及び“11”のうち1つと、“01”と、“1
0”との3つの組み合わせになる。同じ値のデータを共
有すれば、8ビットの入力データx0 1 2 3 4
5 6 7 によって指定される256の記憶場所は、
256×(3/4)=192の記憶場所で済むことにな
る。
【0028】更に、入力データ“x0 ・0・x2 3
4 5 ・0・x7 ”と、“x0 ・1・x2 3 4 5
・1・x7 ”とが同じアドレスをアクセスするようにす
れば、いずれか一方のデータを保持せずに済む。これに
より、第2ビット及び第7ビットによる4つの組み合わ
せ、“00”,“01”,“10”,“11”が、“0
0”及び“11”のうち1つと、“01”と、“10”
との3つの組み合わせになる。同じ値のデータを共有す
れば、8ビットの入力データx0 1 2 34 5
6 7 によって指定される256の記憶場所は、25
6×(3/4)×(3/4)=144の記憶場所で済む
ことになる。
【0029】同様に、同じ値のデータを共有することに
して、入力データ“x0 1 ・0・x3 4 ・0・x6
7 ”と、“x0 1 ・1・x3 4 ・1・x6 7
とが同じアドレスをアクセスするようにし、更に、入力
データ“x0 1 2 ・0・0・x5 6 7 ”と、
“x0 1 2 ・1・1・x5 6 7 ”とが同じアド
レスをアクセスするようにすれば、上述した8ビットの
入力データx0 1 23 4 5 6 7 によって
指定される256の記憶場所は、256×(3/4)×
(3/4)×(3/4)×(3/4)=81 の記憶場
所で済むことになる。従って、ROMの容量を減少でき
る。
【0030】変換行列dの偶数行各々は、同じ規則性を
持つので、上述した第2行についての考察は、他の偶数
行についても適用できる。各偶数行当たり81個の演算
値を各行に対応して4つのバンクに夫々記憶し、これ等
の記憶された演算値を1つのデコーダでアクセスするこ
とが可能である。
【0031】次に、変換行列dの奇数行についての規則
性を説明する。変換行列dの第3行と、入力データx
(=x0 ,x1 ,x2 ,…x7 )との積和計算は、 1.3066x0 +0.5412x1 −0.5412x2 −1.3066x3 −1.
3066x4 −0.5412x5+0.5412x6 +1.3066x7
なる。これを変形して、 =1.3066(x0 +x7 )+0.5412(x1 +x6 )−0.54
12(x2 +x5 )−1.3066(x3 +x4 ) と表され
る。
【0032】この式より、入力データxのうちの、x0
が“0”かつx7 が“1”であるときと、x0 が“1”
かつx7 が“0”であるときは、第1の項が共に“1.30
66”になるので、他の入力データx1 ,x2 ,…,x6
が等しければ、積和計算の結果は同じ値になる。
【0033】例えば、入力データxが“0110110
1”であるときと、“11101100”であるときと
は、積和の計算値は共に、−0.5412となる。
【0034】同様に、入力データxのうちのx1 、x6
が夫々“0”、“1”であるときと、x1 、x6 が夫々
“1”、“0”であるときは、他の入力データx0 ,x
2 ,…,x5 ,x7 が等しければ、積和計算の結果は同
じ値になる。入力データxのうちのx2 、x5 が夫々
“0”、“1”であるときと、x2 、x5 が夫々
“1”、“0”であるときは、他の入力データx0 ,x
1 ,…,x4 ,x5 ,x7 が等しければ、積和計算の結
果は同じ値になる。入力データxのうちのx3 、x4
夫々“0”、“1”であるときと、x3 、x4 が夫々
“1”、“0”であるときは、他の入力データx0 ,x
1 ,x2 ,x5 ,x6 ,x7 が等しければ、積和計算の
結果は同じ値になる。
【0035】従って、入力データ“0・x1 2 3
4 5 6 ・1”と入力データ“1・x1 2 3 4
5 6 ・0”とが同じアドレスをアクセスするように
すれば、いずれか一方のデータを保持せずに済む。これ
により、第1ビット及び第8ビットによる4つの組み合
わせ、“00”,“01”,“10”,“11”が、
“01”及び“10”のうち1つと、“00”と、“1
1”との3つの組み合わせになる。同じ値のデータを共
有すれば、8ビットの入力データx0 1 2 3 4
5 6 7 によって指定される256の記憶場所は、
256×(3/4)=192の記憶場所で済むことにな
る。
【0036】更に、入力データ“x0 ・0・x2 3
4 5 ・1・x7 ”と、“x0 ・1・x2 3 4 5
・0・x7 ”とが同じアドレスをアクセスするようにす
れば、いずれか一方のデータを保持せずに済む。これに
より、第2ビット及び第7ビットによる4つの組み合わ
せ、“00”,“01”,“10”,“11”が、“0
1”及び“10”のうち1つと、“00”と、“11”
との3つの組み合わせになる。同じ値のデータを共有す
れば、8ビットの入力データx0 1 2 34 5
6 7 によって指定される256の記憶場所は、25
6×(3/4)×(3/4)=144の記憶場所で済む
ことになる。
【0037】同様に、同じ値のデータを共有することに
して、入力データ“x0 1 ・0・x3 4 ・1・x6
7 ”と、“x0 1 ・1・x3 4 ・0・x6 7
とが同じアドレスをアクセスするようにし、更に、入力
データ“x0 1 2 ・0・1・x5 6 7 ”と、
“x0 1 2 ・1・0・x5 6 7 ”とが同じアド
レスをアクセスするようにすれば、上述した8ビットの
入力データx0 1 23 4 5 6 7 によって
指定される256の記憶場所は、256×(3/4)×
(3/4)×(3/4)×(3/4)=81 の記憶場
所で済むことになる。従って、ROMの容量を減少する
ことができる。
【0038】変換行列dの奇数行各々は、同じ規則性を
持つので、上述した第3行についての考察は、他の奇数
行についても適用できる。各奇数行当たり81個の演算
値を各行に対応して4つのバンクに夫々記憶し、これ等
の記憶された演算値を1つのデコーダでアクセスするこ
とが可能である。
【0039】図1は、本発明の分散演算によって離散コ
サイン変換を行うLSIの機能ブロックを概略的に示し
ている。同図に示す実施例において従来装置と対応する
部分には同一符号を付し、かかる部分の説明は省略す
る。この実施例では、従来の記憶部14を複数の記憶部
によって構成する。例えば、変換行列dの偶数行の積和
計算と、奇数行の積和計算とに対応して、2つの記憶部
23及び24を用いる。記憶部23は、例えばROMの
記憶領域相当部分であり、従来の記憶部14の偶数バン
ク部分を分担し、偶数行の積和演算結果を保持する。記
憶部24は、例えばROMの記憶領域相当部分であり、
従来の記憶部14の奇数バンク部分を分担し、奇数行の
積和演算結果を保持する。記憶部23及び記憶部24
は、従来の記憶部14に比して少ない記憶領域で構成さ
れている。記憶部23は偶数バンクをデコードするデコ
ーダ21によってアクセスされ、記憶部24は奇数バン
クをデコードするデコーダ22によってアクセスされ
る。デコーダ21及び記憶部23によって1つのROM
(メモリ)が構成される。デコーダ22及び記憶部24
によって1つのROM(メモリ)が構成される。
【0040】図1において、まず、一連の入力データは
シフトレジスタ11を経て、直並列変換されてレジスタ
120 〜127 に保持される。レジスタ120 〜127
の8個の入力データx0 〜x7 の各値は、デコーダ21
及び22にアドレス信号として与えられる。
【0041】デコーダ21は、例えば、図2に示すよう
に、入力データx0 7 が供給されるサブデコーダ21
a、入力データx1 6 が供給されるサブデコーダ21
b、入力データx2 5 が供給されるサブデコーダ21
c、入力データx3 4 が供給されるサブデコーダ21
d、各サブデコーダの出力を入力とする3入力アンドゲ
ートG0 〜G80等によって構成することができる。アン
ドゲートG0 〜G80の出力は読出信号線l0 〜l80に接
続されている。
【0042】サブデコーダ21aは、例えば、図3に示
すように、一方を反転値入力とするアンドゲート、排他
的ノアゲート等の論理ゲート回路によって構成される。
そして、2つの2進値入力“x0 7 ”の値の組み合わ
せ“00”、“01”、“10”、“11”に対応する
出力端に“H”信号を出力するが、排他的ノアゲートに
よって入力データx0 7 が“00”または“11”で
あるとき、同じ出力端子に“H”信号を出力する。サブ
デコーダ21aの出力端子は3つであり、従来のサブデ
コーダ13aの出力端子数4よりも1つ少ない。他のサ
ブデコーダ21b〜21dも同様に構成される。
【0043】このデコーダ21の出力は、読出信号線l
0 〜l80を介して記憶部23の各バンクに与えられる。
デコーダ21は、与えられる入力データx0 〜x7 の値
に対応する読出信号線l0 〜l80のいずれかをアクセス
し、記憶部23の第1のバンク(バンク0),第2のバ
ンク(バンク2),第3のバンク(バンク4),第4の
バンク(バンク6)に記憶された、変換行列dの第2,
4,6,8行の係数値と入力データとの積和のデータを
読み出させる。本発明の着目点として既に説明したよう
に、変換行列dの各偶数行における積和計算値が同じも
のは、データを共用すべく、予め記憶部23に一方の積
和計算値が保持されるようになされている。そして、デ
コーダ21によって、積和計算値を同じくする一組の入
力データ(アドレス)に対して、同じ記憶場所がアクセ
スされるようになされる。記憶部23の各バンクから読
み出された変換マトリクスの各偶数行に対応する4個の
積和データは、累積加算処理部15に順番になるように
対応する入力端子に与えられる。
【0044】デコーダ22は、例えば、図2に示される
デコーダ21と同様に、サブデコーダ、アンドゲート等
によって構成され、アンドゲートG0 〜G80の出力端子
が読出信号線l0 ´〜l80´に接続されている。ただ
し、デコーダ22は、サブデコーダ21a〜21dに代
えてサブデコーダ22a〜22d(図示せず)を備えて
いる。サブデコーダ22aは、例えば、図4に示すよう
に、反転値を入力とするアンドゲート(ノアゲート)、
インバータ、排他的オアゲート、アンドゲートによって
構成することができる。そして、2つの2進値入力“x
0 7 ”の値の組み合わせ“00”、“01”、“1
0”、“11”に対応する出力端に“H”信号を出力す
るが、排他的オアゲートによって入力データx0 7
“01”または“10”であるとき、同じ第2の出力端
子に“H”信号を出力する。サブデコーダ22aの出力
端子は3つであり、従来のサブデコーダ13aの出力端
子数4よりも1つ少ない。サブデコーダ22b〜22d
も同様に構成される。
【0045】このデコーダ22の出力は、読出信号線l
0 ´〜l80´を介して記憶部24の各バンクに与えられ
る。デコーダ22は、与えられる入力データx0 〜x7
の値に対応する読出信号線l0 ´〜l80´のいずれかを
アクセスし、記憶部24の第1のバンク(バンク1),
第2のバンク(バンク3),第3のバンク(バンク
5),第4のバンク(バンク7)に記憶された、変換行
列dの第1,3,5,7行の係数値と入力データとの積
和のデータを読み出させる。変換行列dの各奇数行にお
ける積和計算値が同じものは、データを共用すべく、予
め記憶部24に一方の積和計算値が保持されるようにな
されている。そして、デコーダ22によって、積和計算
値を同じくする一組の入力データ(アドレス)に対し
て、同じ記憶場所がアクセスされるようになされる。記
憶部24の各バンクから読み出された変換マトリクスの
各奇数行に対応する4個の積和データは、累積加算処理
部15に順番に演算がなされるように対応する入力端子
に与えられる。
【0046】記憶部23及び24の各バンクから読み出
された変換マトリクスの各行に対応する8個の積和デー
タは、累積加算処理部15に与えられる。上述したよう
に、入力データxi は、16ビットであるので、1つの
入力データについて1バンクから16個の出力がなされ
る。そこで、累積加算処理部15は、入力データxi
処理中の桁に対応する、桁シフトを行ってバンクの出力
値の累積加算を繰り返して、16ビットデータに対応す
る変換データXi を得る。この累積加算処理は、各バン
クの出力について行われる。累積加算処理によって、入
力データx0 ,x1 ,x2 ,…,x7 に対応する、変換
データX1 ,X2 ,…,X7 が得られる。この変換デー
タは、シフトレジスタ16に供給される。シフトレジス
タ16は、データの並列直列変換を行い、図示しないシ
ステムクロックに同期して、変換データX1 ,X2
…,X7 を出力データとして外部に直列に出力する。
【0047】この第1の実施例によれば、従来、ROM
の1つのバンクが256個のデータを保持する必要があ
ったものが、ROMの1つのバンクが81個のデータを
保持するだけで足りることになり、ROMの面積を減ら
すことができる。
【0048】なお、積和演算の結果を保持するメモリと
して、一般的にはROMが使用されるであろうが、勿
論、DRAM、SRAM等のRAM、PROM、EPO
M、E2 −PROM、いわゆるフラッシュメモリ等の各
種のメモリが使用可能である。本発明が、特定のROM
に限定されるものではない。
【0049】また、上述した実施例では、係数行列dに
おける規則性が、奇数行同士、偶数行同士で共通性があ
るので、4バンク構成の2つの記憶部23及び24を用
いている。これを係数行列dの各行に対応する8個のR
OMを用いて構成することもできる。この場合には、各
行についての個別的な規則性に応じたデコーダを形成し
て積和データの共用化を図ることができる。
【0050】次に、本発明の他の分散演算ついての適用
例について説明する。上述した実施例は、本発明を順方
向離散コサイン変換に適用した場合であった。これを逆
方向離散コサイン変換(IDCT)についても適用する
ことができる。逆方向離散コサイン変換の定義式におけ
る係数マトリクスは、
【0051】
【数5】 で表される。
【0052】この場合にも、順方向変換ほどではない
が、一定の規則性が見出される。すなわち、各行の第1
列と、第2列の絶対値が等しい。従って、例えば、第1
行について見れば、次の積和計算となる。 1.0000x0 +1.3870x1 +1.3066x2 +1.1759x3 +1.
0000x4 +0.7857x5+0.5412x6 +0.2759x7 これ
を変形すると、 =1.0000(x0 +x4 )+1.3870x1 +1.3066x2 +1.
1759x3 +0.7857x5+0.5412x6 +0.2759x7 と表
すことができる。
【0053】これより、x0 =0かつx4 =1のとき
と、x0 =1かつx4 =0のときとは、積和の計算結果
が同じになる。これは、第4行、5行、8行についても
成り立つ。 入力データ“0・x1 2 3 ・1・x4
5 6 7 ”と入力データ“1・x1 2 3 ・0・
4 5 6 7 ”とが同じアドレスをアクセスするよ
うにすれば、いずれか一方のデータを保持せずに済む。
これにより、第1ビットx0 及び第4ビットx4 による
4つの組み合わせ、“00”,“01”,“10”,
“11”が、“01”及び“10”のうち1つと、“0
0”と、“11”との3つの組み合わせになる。
【0054】このように動作する、第1行、4行、5
行、8行に対応するROMのデコーダとして、図4に示
すサブデコーダ22aを用いて、図5に示すように、従
来のデコーダ(図7)のサブデコーダの1つを置換えて
実現できる。同図において、図7に示す従来構成のデコ
ーダと対応する部分には同一符号を付し、その説明は省
略する。前述したように、同じ値のデータを共有すれ
ば、8ビットの入力データx0 1 2 3 4 5
6 7 によって指定される256の記憶場所は、256
×(3/4)=192の記憶場所で済むことになる。
【0055】また、第2行について見れば、積和計算
は、 1.0000x0 +1.1759x1 +0.5412x2 −0.2759x3 −1.
0000x4 −1.3870x5−1.3066x6 −0.7857x7 これ
を変形すると、 =1.0000(x0 −x4 )+1.1759x1 +0.5412x2 −0.
2759x3 −1.3870x5−1.3066x6 −0.7857x7 これより、x0 =0かつx4 =0のときと、x0 =1か
つx4 =1のときとは、積和の計算結果が同じになる。
これは、第3行、6行、7行についても成り立つ。 入
力データ“0・x1 2 3 ・0・x4 5 6 7
と入力データ“1・x1 2 3 ・1・x4 5 6
7 ”とが同じアドレスをアクセスするようにすれば、い
ずれか一方のデータを保持せずに済む。これにより、第
1ビットx0 及び第4ビットx4 による4つの組み合わ
せ、“00”,“01”,“10”,“11”が、“0
0”及び“11”のうち1つと、“01”と、“10”
との3つの組み合わせになる。
【0056】これは、第2行、3行、6行、7行に対応
するROMのデコーダとして、図5に示すデコーダのサ
ブデコーダ22aを図3に示されるサブデコーダ21a
に置換えて実現できる。これ等の行に対応するROM
は、データを共有することにより、8ビットの入力デー
タx0 1 2 3 4 5 6 7 によって指定され
る256の記憶場所から、256×(3/4)=192
の記憶場所で済むことになる。
【0057】マトリクス演算を行う離散コサイン変換で
は大量の積和計算を行うので、効率的な演算手法が求め
られる。その一手法として、例えば、特願平5−267
376号に詳細に説明されているような、バタフライ(b
utterfly) 加算器を用いる高速アルゴリズムがある。こ
の高速アルゴリズムによる順方向の離散コサイン変換は
次式で表される。このような演算を行う離散コサイン変
換にも本発明を適用することができる。
【0058】
【数6】 ここで、変換行列の各係数は、A=cos π/4,B=cos
π/8,C=sin π/8,D=cos π/16 ,E=cos3π/16
,F=sin3π/16 、G=sin π/16 である。
【0059】上記偶数の変換行列の場合、第1列と第4
列の係数は絶対値が等しい関係にある。また、第2列と
第3列も絶対値が等しい。従って、前述したように、デ
コーダ回路に排他的オア、排他的ノアを用いて、積和が
同じ値となる入力値(xi +xi+1 の加算値)に対して
同じ記憶場所がアクセスされるようにして記憶データの
重複を減少し、ROMの面積を減少することができる。
【0060】また、バタフライ加算器を使用する逆方向
離散コサイン変換に本発明を適用することもできる。こ
の場合の変換マトリクスは次式のようになる。
【0061】
【数7】 ここで、変換行列の各係数は、A=cos π/4,B=cos
π/8,C=sin π/8,D=cos π/16 ,E=cos3π/16
,F=sin3π/16 、G=sin π/16 である。
【0062】上式において、偶数の入力データX0 2
4 6 についての2つのマトリクスは、共に第1列と
第3列の係数値の絶対値が等しい。従って、前述したよ
うに、デコーダ回路に排他的オア、排他的ノアを用い
て、積和が同じ値となる入力値に対して同じ記憶場所が
アクセスされるようにして記憶データの重複を減少し、
ROMの面積を減少することができる。
【0063】なお、離散コサイン変換の変換式の係数行
列の各行に対応して行数分のROM(メモリ)を使用す
ることができる。こうした場合には、各行毎に、各行毎
の規則性に適合したアドレスデコーダを用いることがで
きる。また、規則性が共通する行を纏めて、これ等の積
和データをバンク形式のROMに記憶し、より一層の回
路面積の低減を図ることも可能である。
【0064】
【発明の効果】以上説明したように、本願発明によれ
ば、分散演算方式を用いる離散コサイン変換装置(LS
I)のメモリの面積を可及的に減少することが可能とな
る。
【図面の簡単な説明】
【図1】本発明の離散コサイン変換装置の実施例を示す
ブロック図。
【図2】デコーダの構成例を示すブロック回路図。
【図3】サブデコーダの構成例を示す回路図。
【図4】他のサブデコーダの構成例を示す回路図。
【図5】他の実施例のデコーダの構成例を示すブロック
回路図。
【図6】従来の離散コサイン変換装置の例を示すブロッ
ク図。
【図7】従来の離散コサイン変換装置のデコーダの構成
例を示すブロック回路図。
【図8】従来のデコーダのサブデコーダの構成例を示す
回路図。
【符号の説明】
11 シフトレジスタ 12 レジスタ 13,21,22 デコーダ 14,23,24 記憶部(ROM) 15 累積加算処理部 16 シフトレジスタ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年1月19日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0058
【補正方法】変更
【補正内容】
【0058】
【数6】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0061
【補正方法】変更
【補正内容】
【0061】
【数7】
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 H04N 7/30 H04N 7/133 Z

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】N個の入力データの同一桁のN個のビット
    値をアドレスとし、このアドレスに前記同一桁のN個の
    ビット値と変換行列成分との積和データが格納されてい
    る記憶手段と、 前記記憶手段から読み出されるデータを累積加算する累
    積加算手段と、を有し、 前記記憶手段は、 同じ値の積和データをアクセスする、少なくとも2つの
    アドレスからなる1つのアドレスグループについて1つ
    の積和データの格納場所が割り当てられる記憶部と、 前記アドレスグループに属するアドレスの供給に応じて
    前記アドレスグループに割り当てられた格納場所をアク
    セスするデコーダと、 を備えることを特徴とする離散コサイン変換装置。
JP30037593A 1993-11-30 1993-11-30 離散コサイン変換装置 Pending JPH07152730A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP30037593A JPH07152730A (ja) 1993-11-30 1993-11-30 離散コサイン変換装置
KR1019940032077A KR0139699B1 (ko) 1993-11-30 1994-11-30 이산 코사인 변환장치
DE1994624377 DE69424377T2 (de) 1993-11-30 1994-11-30 Rechner für die diskrete Cosinus-Transformation
EP19940118862 EP0655694B1 (en) 1993-11-30 1994-11-30 Discrete cosine transform processor
US08/704,922 US5673214A (en) 1993-11-30 1996-08-28 Discrete cosine transform processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP30037593A JPH07152730A (ja) 1993-11-30 1993-11-30 離散コサイン変換装置

Publications (1)

Publication Number Publication Date
JPH07152730A true JPH07152730A (ja) 1995-06-16

Family

ID=17884030

Family Applications (1)

Application Number Title Priority Date Filing Date
JP30037593A Pending JPH07152730A (ja) 1993-11-30 1993-11-30 離散コサイン変換装置

Country Status (5)

Country Link
US (1) US5673214A (ja)
EP (1) EP0655694B1 (ja)
JP (1) JPH07152730A (ja)
KR (1) KR0139699B1 (ja)
DE (1) DE69424377T2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100230251B1 (ko) * 1995-12-13 1999-11-15 윤종용 동영상 부호화장치에 있어서 신호처리방법 및 회로
JPH1064078A (ja) * 1996-08-20 1998-03-06 Mitsubishi Electric Corp 光ヘッド
JP3916277B2 (ja) * 1996-12-26 2007-05-16 シャープ株式会社 読み出し専用メモリ及び演算装置
TW364269B (en) * 1998-01-02 1999-07-11 Winbond Electronic Corp Discreet cosine transform/inverse discreet cosine transform circuit
JP2001318910A (ja) * 2000-02-29 2001-11-16 Sony Corp 逆離散コサイン変換装置
JP3860545B2 (ja) * 2003-02-07 2006-12-20 誠 小川 画像処理装置及び画像処理方法
NO327346B1 (no) * 2004-08-16 2009-06-15 Norsk Hydro As Fremgangsmate og anordning for bearbeiding av karbonlegemer
KR101601864B1 (ko) * 2014-02-25 2016-03-10 숭실대학교산학협력단 동영상 코덱의 역변환 방법 및 그 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) * 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
JP2646778B2 (ja) * 1990-01-17 1997-08-27 日本電気株式会社 ディジタル信号処理装置
US5319724A (en) * 1990-04-19 1994-06-07 Ricoh Corporation Apparatus and method for compressing still images
JP2866754B2 (ja) * 1991-03-27 1999-03-08 三菱電機株式会社 演算処理装置
FR2681962B1 (fr) * 1991-09-30 1993-12-24 Sgs Thomson Microelectronics Sa Procede et circuit de traitement de donnees par transformee cosinus.
US5361220A (en) * 1991-11-29 1994-11-01 Fuji Photo Film Co., Ltd. Discrete cosine transformation with reduced components

Also Published As

Publication number Publication date
DE69424377D1 (de) 2000-06-15
KR950016004A (ko) 1995-06-17
US5673214A (en) 1997-09-30
EP0655694A2 (en) 1995-05-31
KR0139699B1 (ko) 1998-07-01
EP0655694B1 (en) 2000-05-10
EP0655694A3 (en) 1995-11-02
DE69424377T2 (de) 2000-10-12

Similar Documents

Publication Publication Date Title
CA1290854C (en) Two-dimensional discrete cosine transform processor
US5053985A (en) Recycling dct/idct integrated circuit apparatus using a single multiplier/accumulator and a single random access memory
US5249146A (en) Dct/idct processor and data processing method
US5475631A (en) Multiport RAM based multiprocessor
KR920001618B1 (ko) 직교변환 프로세서
US5321510A (en) Serial video processor
US5331585A (en) Orthogonal transformation processor for compressing information
US4675836A (en) Discrete cosine transform calculation processor
US4768159A (en) Squared-radix discrete Fourier transform
JPH07152730A (ja) 離散コサイン変換装置
US5867414A (en) Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations
US6003058A (en) Apparatus and methods for performing arithimetic operations on vectors and/or matrices
EP0650128B1 (en) Discrete cosine transform processor
JPH09259115A (ja) ビット−シリアルマトリックス転置のための超大規模集積回路
JP3333779B2 (ja) 行列演算装置
JPH1074141A (ja) 信号処理装置
JPH07200539A (ja) 二次元dct演算装置
JPH07210545A (ja) 並列処理プロセッサ
EP0988604A1 (en) Device for converting series of data elements
WO1999053419A2 (en) Device for converting series of data elements
JP2002207591A (ja) ディジタル信号処理装置及び方法
JPH06274524A (ja) 直交変換回路および逆変換回路
JPH09282869A (ja) ランダムアクセスメモリ
Brown et al. A VLSI architecture for the wavelet transform
Wijshoff et al. Data Communication and Data Organization in Parallel Computations: Classification and Overview