JP2790911B2 - 直交変換演算装置 - Google Patents

直交変換演算装置

Info

Publication number
JP2790911B2
JP2790911B2 JP2253573A JP25357390A JP2790911B2 JP 2790911 B2 JP2790911 B2 JP 2790911B2 JP 2253573 A JP2253573 A JP 2253573A JP 25357390 A JP25357390 A JP 25357390A JP 2790911 B2 JP2790911 B2 JP 2790911B2
Authority
JP
Japan
Prior art keywords
orthogonal transform
address
memory device
data
dimensional
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.)
Expired - Fee Related
Application number
JP2253573A
Other languages
English (en)
Other versions
JPH04531A (ja
Inventor
正文 田中
和穂 坂本
達也 藤井
良 福井
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to US07/616,418 priority Critical patent/US5268853A/en
Priority to DE4038240A priority patent/DE4038240A1/de
Publication of JPH04531A publication Critical patent/JPH04531A/ja
Priority to US08/058,546 priority patent/US5359549A/en
Priority to US08/058,475 priority patent/US5331585A/en
Application granted granted Critical
Publication of JP2790911B2 publication Critical patent/JP2790911B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 (産業上の利用分野) 本発明はデジタル・スチル・ビデオカメラ、ファクシ
ミリ、カラーコピー、テレビ電話などに用いられ、カラ
ー画像の圧縮や伸長を行なうための離散コサイン変換
(以下DCT又はDCT変換という)や離散サイン変換(以下
DST又はDST変換という)などの直交変換を行なう演算装
置に関するものである。
(従来の技術) 情報圧縮のための変換符号化方法の1つとして、DCT
やDSTなどの直交変換演算が知られている。
DCT処理を経てデータ圧縮を行なう例を第14図に示
す。
CCD読取り素子150で読み取られた画像情報がA/D変換
器152でデジタル信号に変換されて1画面分がフレーム
メモリ154に一時記憶される。フレームメモリ154のデー
タはDCT処理回路156によりDCT変換され、量子化回路158
で量子化され、ハフマン符号化回路160でハフマン変換
され、メモリ装置162に記憶される。メモリ装置162に記
憶されているデータが画像が再生されるときは、ハフマ
ン復号化回路164により復号化され、逆量子化回路166を
経た後、IDCT回路168により画像データに戻され、D/A変
換器170でアナログ信号に変換されて出力される。
画像を(N×N)画素で構成するブロックに分割し、
その各ブロックを二次元DCT変換する場合について説明
すると、二次元DCT演算は式で表現すると次の(1)式
になる。
f(i,j)は画素のデータである。
二次元DCT演算はjについて一次元DCT演算を行なった
後、iについても一次元DCT演算を行なえばよい。N=
8の場合について一次元DCT演算式をベクトル演算式に
変換すると、次の(2)式になる。
ここで、 α=cos(2/8)π β=cos(1/8)π δ=sin(1/8)π λ=cos(1/16)π μ=sin(3/16)π γ=cos(3/16)π ν=sin(1/16)π である。
DCT演算を経て画像圧縮処理を行なうと、圧縮された
画像を元のデータに戻す伸長操作においてはDCT演算の
逆操作であるIDCT演算(Inverse DCT演算)が行なわれ
る。IDCT演算を式で表現すると次の式になる。
二次元IDCT演算はVについて一次元IDCT演算を行なっ
た後、Uについても一次元IDCT演算を行なえばよく、一
次元IDCT演算はベクトル計算式で表現すると次の(4)
式のように表わされる。
(2)式や(4)式のベクトル計算式を演算しようとす
ると、変換係数とデータxやZとの乗算を行なう必要が
ある。
(1)式を実行する二次元DCT演算器は、第15図に示さ
れるように、(N×N)画素で構成される元の画像130
に対して変換係数w(i,j)の変換行列132を掛けるたた
み込み演算を行ない、それに係数4C(U)C(V)/N2
をかけることにより、変換画素F(U,V)を得る。
この演算を乗算器と加算器で実行すると、第16図に示
されるようにN2個の乗算器36−1〜36−N2と、N2ビット
の加算器138及び係数4C(U)C(V)/N2を掛ける乗算
器140とが必要となる。
乗算を行なうのに、乗算器の代わりにROMテーブルを
使用するROMルックアップテーブル法がある。例えば
(2)式のベクトル計算を行なおうとすれば、第17図に
示されるように、各変換係数と入力データの積に対応す
るデータを保持したROM102を用意しておき、変換係数デ
ータと入力データをアドレスとしてROM102を読み出せば
よい。104はアドレスジェネレータである。変換係数デ
ータと入力データがそれぞれ複数ビットでアドレスジェ
ネレータ104に入力される。
(発明が解決しようとする課題) 画像圧縮のための一次元のDCT演算及びその伸長のた
めの一次元のIDCT演算は、例えば画像を(8×8)画素
で構成するブロックに分割したとすれば、64回の乗算と
56回の加算を実行する必要がある。そのため、DCT処理
時間及びIDCT処理時間が長くなり、また回路規模が大き
くなるため、集積回路化するのが困難となる。
直交変換としてDCT演算に代えてDST演算を行なう場合
も、同様にして処理時間が長く、回路規模が大きくなる
問題が生じる。
ROMルックアップテーブル法においては、入力データ
をnビット、変換係数の種類をm個とした場合、ROM102
のアドレス空間はm×2nとなる。これを、(8×8)の
DCT変換を行なう場合に当て嵌めてみると、変換係数が
8種類で固定されているものとし、入力データは8ビッ
トの画素が8個であるので、n=64となり、アドレス空
間は8×264となる。このような大規模の容量を実現す
ることは困難である。
本発明はDCT演算器やDST演算器の構成を簡単にして集
積回路化することを可能にすることを目的とするもので
ある。
本発明はDCTなどの直交変換演算をROMルックアップテ
ーブル法で実現するに際し、ROMの容量を小さくするこ
とを目的とするものである。
(課題を解決するための手段) 実施例を示す第1図により本発明を説明する。
本発明は、第1の一次元DCT演算器のなどの一次元直
交変換演算器4と、その出力を一時記憶するメモリ装置
2と、メモリ装置2の出力を入力とする第2の一次元DC
T演算器などの一次元直交変換演算器6と、メモリ装置
2のアドレス指定を行なうとともにメモリ装置2の書込
みと読出しの動作の切換えに合わせて行アドレスと列ア
ドレスを入れ換えるアドレス発生器8とを備えている。
10はアドレスデコーダ、12は読出し・書込み制御部であ
る。
高速動作をさせるためには、実施例の第5図に示され
るように、メモリ装置2は一対2a,2b設けられ、第1の
一次元直交変換演算器4と第2の一次元直交変換演算器
6をそれぞれ切換えスイッチ回路20,22を介して両メモ
リ装置2a,2bに接続し、第1の一次元直交変換演算器4
が一方のメモリ装置2a(又は2b)に接続されるときは第
2の一次元直交変換演算器6が他方のメモリ装置2b(又
は2a)に接続されるように切換えスイッチ回路20,22を
切り換えるようにする。
本発明ではまた、第1図でアドレス発生器8はメモリ
装置2のアドレス指定を行なうとともに第1の一次元直
交変換演算器4及び第2の一次元直交変換演算器6の演
算の実行に合わせて行アドレスと列アドレスを入れ換え
る動作を行ない、読出し・書込み制御部12はメモリ装置
2の1個のデータを読み出し後に同一アドレスに第1の
一次元直交変換演算器4の新たな演算結果を書き込む動
作を行なうようにすることもできる。
本発明ではまた、離散コサイン変換又は離散サイン変
換を行なう直交変換処理の際に係数の一部が0になるよ
うに入力データ間の加算及び減算を行なう前処理回路を
設け、直交変換処理回路は前記前処理回路で加算又は減
算されたデータについて0でない係数との乗算及びその
乗算結果の加算を行なうようにすることもできる。
本発明ではさらに、ROMテーブルを用いるROMルックア
ップテーブル法による直交変換を行ない、入力データの
1ビットずつと複数ビットの変換係数データとをアドレ
スとし、ROMテーブルから読み出されたデータをそのア
ドレスの入力データにおけるビット位置に応じて上位又
は下位方向にシフトさせて入力画像データの全ビットに
ついて加算するようにすることもできる。
また、本発明では、ROMルックアップテーブル法にお
いて、直交変換回路の前段に、直交変換処理の際に変換
係数の一部が0になるように入力データ間の加算及び減
算を行なう前処理回路を備えてもよい。
(作用) 本発明では二次元直交変換演算を1組の一次元直交変
換演算器によって実現する。画像を(N×N)画素で構
成するブロックに分割し、その各ブロックを二次元DCT
変換する場合について説明する。
二次元DCT演算は式で表現するとすでに述べた(1)
式になる。
(1)式を変形すると、 となる。ここで、(5)式はF(i,V)の一次元DCT演算
を表わしており、(6)式は(f,j)の一次元DCT演算を
表わしている。したがって、Nタップ(N×N)の二次
元DCT演算は、行(又は列)について一次元DCT演算
(6)式を実行し、続けて列(又は行)について一次元
DCT演算(5)式を実行することにより二次元DCT演算の
結果を得ることができる。
第1図で第1の一次元DCT演算器4がメモリ装置2の
行方向又は列方向にデータを書き込んだものを第2の一
次元DCT演算器6が列方向又は行方向に読み出してDCT演
算を行なう。
以上は圧縮についての説明であるが、逆動作である伸
長は変換式が変わるだけで同様の方式で処理することが
できる。
伸長の二次元IDCT(Inverse DCT)演算は式で表現す
るとすでに述べた(3)になる。
(3)式を変形すると、 となる。ここで、(7)式はf(V,i)の一次元IDCT演
算を表わしており、(8)式はF(U,V)の一次元IDCT
演算を表わしている。したがって、Nタップ(N×N)
の二次元IDCT演算は、行(又は列)について一次元IDCT
演算(8)式を実行し、続けて列(又は行)について一
次元IDCT演算(7)式を実行することにより二次元IDCT
演算の結果を得ることができる。
直交変換演算としてDST変換を用いる場合も同様であ
る。
本発明による(8×8)のDCT演算を行なう場合、変
換係数の種類が8個であり、8画素の入力データについ
て各画素の1ビットずつを演算するので、n=8とな
り、必要なアドレス空間は8×28となる。この程度の規
模であれば半導体集積回路化することが可能になる。
さらに、変換係数マトリックスの対称性を利用して前
処理を施し、変換係数の一部が0になるようにすれば、
4画素の入力データについて各画素の1ビットずつを演
算すればよいようになるのでn=4となり、必要なアド
レス空間は8×24に減少し、さらに実現が容易になる。
前処理回路は次の演算を行なうものである。
画像を(8×8)画素で構成するブロックに分割し、
その各ブロックを一次元DCT変換する場合について説明
する。前処理回路では入力データx0,x1,……x7を(x0
x7),(x2+x5),(x1+x6),(x3+x4),(x0
x7),(x2−x5),(x1−x6),(x3−x4)に変換す
る。前処理回路で変換されたデータを変数とするように
(2)式のDCT変換式を表現すると、次の(9)式とな
る。
ここで a=cos(1/4)π b=cos(1/8)π d=sin(1/8)π e=cos(1/16)π f=cos(3/16)π g=sin(1/16)π h=sin(3/16)π である。
(9)式によれば、変換係数の半数が0となる。係数
が0の部分については乗算を行なう必要がない。
伸長過程ではIDCT演算の計算式は次の(10)式にな
る。
(10)式によるIDCT演算の後に、(x0+x7),(x2
x5),(x1+x6),(x3+x4),(x0−x7),(x2
x5),(x1−x6),(x3−x4)をx0,x1,…x7に戻す後処
理を施す。
(実施例) 第1図は一実施例を表わす。
2はトランスポート用メモリ装置であり、N×Nワー
ドのRAMである。Nを8とすれば64ワードの容量を備え
たものである。4,6は一次元DCT演算器であり、それぞれ
N個ずつ備えられている。DCT演算を行なう単位のブロ
ックを(8×8)画素とすれば、Nは8である。一次元
DCT演算器4の演算結果をメモリ装置2に書き込む際の
アドレス指定し、メモリ装置2に書き込まれたデータを
一次元DCT演算器6へ読み出すためのアドレス指定をす
るために、アドレス発生器8が設けられている。メモリ
装置2が64ワードとすれば、アドレスとして6ビットの
アドレスがアドレス発生器8から発生する。10はそのア
ドレスを入力し、メモリ装置2のアドレス指定を行なう
アドレスデコーダである。12はメモリ装置2における書
込みと読出しを制御するための読出し・書込み制御部で
ある。
アドレス発生器8の一例を第2図に示す。
6ビットのアドレスを発生するために2個の3ビット
カウンタ14,16が設けられており、それぞれの3ビット
ずつの出力を組み合わせて6ビットのアドレスが構成さ
れる。カウンタ14からは(A0,A1,A2)の3ビットのアド
レスが出力され、カウンタ16からは(A3,A4,A5)の3ビ
ットのアドレスが出力されるものとする。この3ビット
ずつのアドレスを組み合わせて6ビットのアドレスを構
成する。18は3ビットずつのアドレスの組み合わせを切
り換えるスイッチ回路であり、このスイッチ回路18を一
方に切り換えるとアドレスは(A0,A1,A2,A3,A4,A5)と
なり、他方に切り換えると(A3,A4,A5,A0,A1,A2)とな
る。これらの切り換えられたアドレスの関係は、メモリ
装置2における行アドレスと列アドレスを入れ換えたも
のに相当している。スイッチ回路18は、読出し・書込み
動作と連動して切り換えられる。書込み時にはアドレス
が行方向に進むように切り換えられ、読出し時には列方
向に進むように切り換えられる。又はその逆に、書込み
時にはアドレスが列方向に進むように切り換えられ、読
出し時には行方向に進むように切り換えられる。
次に、本実施例の動作を第3図と第4図により説明す
る。
第3図はメモリ装置2におけるアドレスを表わしてい
る。書込み時にはアドレスが行方向に進むように、すな
わち、(0,0),(1,0),(2,0),(3,0),……(N
−1,N−1)の順序に進むようにアドレスが与えられる
ものとする。これにより一次元DCT演算器4の演算結果
がメモリ装置2の行方向のアドレスに従って書き込まれ
ていく。これは第4図では破線の矢印で示されるように
書き込まれていくことである。
次に、動作モードが読出しに変わり、アドレス発生器
のスイッチ回路18が切り換えられて行アドレスと列アド
レスが切り換えられる。これにより、メモリ装置2での
アドレス指定は第4図で実線で示されるように、列方向
に(0,0),(0,1),(0,2),(0,3),……(N−1,
N−1)の順序に変わり、メモリ装置2のデータが一次
元DCT演算器6へ読み出されていく。(N−1,N−1)ア
ドレスまでの読出しが終わると、再び書込みモードに変
わり、アドレスが再び行方向に進むように切り換えられ
る。このように、DCT演算が繰り返されていく。
メモリ装置2での書込みを列方向に行ない、行方向に
読み出すようにしてもよい。
他の実施例では、読出し・書込み制御部12で、例えば
第5図に示されるように、指定されたアドレスにおいて
クロックCKの1サイクルのローレベルでそのアドレスの
データを一次元DCT演算器6へ読み出し、そのサイクル
のハイレベルの期間に一次元DCT演算器4の演算結果を
同じアドレスに書き込むように制御する。
次に、本実施例の動作を第3図と第6図により説明す
る。
初めに、例えばアドレスが行方向に進むように、すな
わち第3図で(0,0),(1,0),(2,0),(3,0),…
…(N−1,N−1)の順序に進むようにアドレスが与え
られる。これにより一次元DCT演算器4の演算結果がメ
モリ装置2の行方向のアドレスに従って書き込まれてい
く。これは第6図では破線の矢印で示されるように書き
込まれていくことである。
次に、アドレス発生器のスイッチ回路18が切り換えら
れて行アドレスと列アドレスが切り換えられる。これに
より、メモリ装置2でのアドレス指定は第3図で(0,
0),(0,1),(0,2),(0,3),……(N−1,N−
1)の順序に変わる。まず、(0,0)のアドレスのデー
タが一次元DCT演算器6へ読み出され、その後、続いて
一次元DCT演算器4の演算結果が同じ(0,0)アドレスに
データとして書き込まれる。次にメモリアドレスが(0,
1)に変わり、一次元DCT演算器6がそのアドレスのデー
タを読み出し、続いて一次元DCT演算器4の演算結果が
その(0,1)アドレスにデータとして書き込まれる。第
6図で実線で示された列方向の矢印は1回目の読出し動
作の方向を表わし、1点鎖線の列方向の矢印は2回目の
書込み動作の方向を表わしている。この動作を繰り返し
てメモリアドレス(N−1,N−1)まで実行されると再
びメモリアドレスの行アドレスと列アドレスが切り換え
られ、今度は行方向に沿って一次元DCT演算器6による
データの読出しと続いて同じアドレスへの一次元DCT演
算器4からの演算結果の書込みが(N−1,N−1)アド
レスまで実行される。
第7図はさらに他の実施例を表わす。
本実施例では、RAMにてなる一対のトランスポート用
メモリ装置2a,2bを設ける。20は一次元DCT演算器4をメ
モリ装置2a,2bに切り換えて接続するスイッチ回路、22
は一次元DCT演算器6をメモリ装置2a,2bに切り換えて接
続するスイッチ回路である。図示は省略されているが、
メモリ装置2a,2bには第1図と同様にアドレス発生器、
アドレスデコーダ、読出し・書込み制御部が接続されて
いる。
第7図の実施例の動作について説明する。
スイッチ回路20,22が図の状態にあるとき、メモリ装
置2aでは一次元DCT演算器4の演算結果が行方向に書き
込まれていき、一次元DCT演算器6はメモリ装置2bに書
き込まれているデータを列方向に読み出していく。メモ
リ装置2aの書込み、メモリ装置2bの読出しが終わると、
スイッチ回路20,22が切り換えられる。今度は一次元DCT
演算器4の演算結果がメモリ装置2bに行方向に書き込ま
れていき、一次元DCT演算器6はメモリ装置2aに書き込
まれているデータを列方向に読み出していく。このよう
に、一方のメモリ装置で書込みを行ないながら、同時に
他方のメモリ装置では読出しを行なう。これをスイッチ
回路20,22を切り換えながら繰り返していく。
第7図では第1図に比べて2倍の速度で二次元DCT演
算を行なうことができる。
第1の一次元DCT演算と第2の一次元DCT演算を逐次演
算する装置を第8図と第9図により説明する。
第8図は原理を説明したものである。
まず、(A)に示されるように、iサイクル目に元の
画像の画素f(i,j)に対して行方向変換係数wi(j)
(=cos((2j+1)Vπ/2N))を掛けて行方向に足し
あわせ、それに係合2C(V)/Nを掛ける行方向一次元DC
T演算を施して行方向変換画素F(i,V)を演算し、(i
+1)サイクル目には同様にしてF(i+1,V)を演算
する。
Nサイクルの行方向一次元DCT演算が終了した時点
で、列方向一次元DCT演算に入り、(B)に示されるよ
うに、被変換画素F(i,V)に対して画素(U,V)の列方
向変換係数wv(i)(=cos((2i+1)Uπ/2N))を
掛けて列方向に足しあわせ、それに係数2C(U)/Nをか
けて変換画素F(U,V)を算出する。
第9図はこの実施例を実行する装置を表わしている。
元の画像の1行の画素f(i,0),f(i,1)……f(i,
N−1)に対してそれぞれ画素(U,V)の行方向変換係数
wi(j)を掛けるために、N個の乗算器54−1〜54−N
が設けられている。56はそれらの乗算器54−1〜54−N
の演算結果を加算する加算器であり、58はその加算され
た結果に係数2C(V)/Nを掛ける乗算器である。これに
より、行方向の一次元のDCT演算が行なわれる。
次に、列方向の一次元DCT演算を行なうために、N個
の乗算器62−1〜62−Nが設けられている。乗算器58と
乗算器62−1〜62−Nの間にはそれぞれセレクタスイッ
チ60−1〜60−Nが設けられており、行の位置iによっ
て対応するセレクタスイッチが選択的にオンにされ、各
乗算器62−1〜62−Nで変換係数wv(0)〜wv(N−
1)が掛けられる。64は乗算器62−1〜62−Nによる乗
算結果を加算する加算器であり、66はその加算結果に係
数2C(U)/Nをかける乗算器であり、その乗算結果によ
り変換画素F(U,V)が算出される。
第10図は前処理回路を備えた実施例を表わしたもので
あり、例として画像を(8×8)画素のブロックに分割
してDCT演算を行なう場合を表わしている。
32−0〜32−7はそれぞれ入力データx0〜x7をクロッ
クCLOCK1のタイミングで歩進し保持するシフトレジスタ
及びラッチ回路である。34−1〜34−4はシフトレジス
タ及びラッチ回路32−0〜32−7に保持された所定の2
個のデータを取り込み、セレクト信号に応じて加算又は
減算をおこなう加算減算回路である。36−1〜36−4、
38−1〜38〜4は加算減算回路34−1〜34−4で計算さ
れたデータをクロックCLOCK2のタイミングで歩進し保持
するシフトレジスタ及びラッチ回路である。
40はDCT処理回路であり、(9)式で表現された乗算
及び加算を行なうために、係数a,b,d,e,f,g,hを保持
し、32回の乗算を行なうための乗算器と31回の加算を行
なうための加算器を備えている。
IDCT演算を行なう演算装置についても同様の回路構成
となる。
DST演算及びIDST演算を行なう演算装置についても同
様の構成となる。
第11図はROMルックアップテーブル法による実施例のD
CT変換装置における一次元DCT演算で、1個の演算に相
当するROMルックアップテーブル回路を表わしている。
76はアドレスジェネレータであり、複数ビットの変換
係数データと1ビットずつの入力データとがアドレスと
して入力される。変換係数の種類が例えば8個とすれ
ば、変換係数データは3ビットデータである。入力デー
タは最大ビット(LSB)又は最小ビット(MSB)から順に
1ビットずつ入力される。78はデータを保持しているRO
Mである。入力データが“1"の場合は変換係数データをR
OM78のアドレスとし、入力データが“0"の場合はROM78
のアドレスとして0を使用する。80は加算器82は加算器
80からのデータを一時保持するレジスタ、84はレジスタ
82のデータを入力データが最大ビットから入力されると
きにはレジスタ84に保持されたデータのビット位置を上
位方向にシフトさせ、入力データが最小ビットから入力
されるときにはレジスタ82に保持されたデータのビット
位置を下位方向にシフトさせる1ビットシフタである。
加算器80には1ビットシフタ84で上位方向又は下位方向
に1ビットシフトされたデータとROM78からのデータが
加算される。
入力データが最大ビットから1ビットずつ入力される
ものとして説明すると、まず最大ビットnの1ビットの
入力データと変換係数データとをROM78のアドレスとし
てROM78をアクセスし、データDnを得る。データDnは加
算器80を経てレジスタ82に保持される。レジスタ82に保
持されたものを出力Dとする。次に、入力データの(n
−1)ビット目の1ビットのデータと変換係数データが
ROM78のアドレスとしてROM78がアクセスされ、ROM78か
らはデータDn-1が出力される。加算器80ではこのデータ
Dn-1と、レジスタ82のデータDを2倍するために1ビッ
トシフタ84によって上位方向に1ビットシフトされたデ
ータとが加算され、その加算されたものがレジスタ82に
保持されて出力Dが更新される。
この操作が入力データが最小ビットになるまで繰り返
されることにより、最終的な出力Dが得られる。
この場合、ROM78の容量は変換係数の種類の数m(こ
の例では8)となる。
第12図に(2)式で表わされる一次元DCT演算を行な
う場合のDCT処理回路の一例を表わす。
86は8ビットで表現された画素を8個含む1ライン分
のデータが送られるシフトレジスタ、88は8ビットずつ
の各画素x0〜x7を保持するラッチである。90はROMルッ
クアップテーブル法によるDCT処理回路であり、各DCT処
理回路90には第1図に示された回路が8個ずつと、それ
らの8個の回数の出力を加算する加算器が含まれてい
る。各DCT処理回路90には入力データx0〜x7が最大ビッ
トから(又は最小ビットから)1ビットずつ順に入力さ
れ、図には示されていないが変換係数データも入力され
て第11図で示された演算が行なわれる。各DCT処理回路9
0の出力は8ビットの出力データZ0〜Z7である。92はシ
フトレジスタであり、Z0〜Z7を順に配列して出力する。
第12図ではZ0〜Z7の出力データを得るために必要なRO
M容量は8×28である。
第13図はROMテーブルの容量をさらに小さくするため
に、DCT変換係数の対称性を利用した(9)式で表現さ
れる演算を行なうための実施例を表わしたものである。
シフトレジスタ88とDCT処理回路90a,90bの間に前処理
回路94が設けられている。前処理回路94により変換係数
マトリックスが(9)式のように整理されて半数が0に
なり、出力Z0,Z2,Z4,Z6を得る4個のDCT処理回路90aで
は後半の4個の変換係数が0であるので、これらの0と
掛け算を行なう入力データは不要になり、4個のDCT処
理回路90aには入力データ(x0+x7),(x1+x6),(x
2+x5),(x3,x4)からの各1ビットずつの4ビットが
入力されている。出力Z1,Z3,Z5,Z7を得る4個のDCT処理
回路90bでは前半の4個の変換係数が0であるので、、
これらの0と掛け算を行なう入力データは不要になり、
4個のDCT処理回路90bには入力データ(x0−x7),(x1
−x6),(x2−x5),(x3−x4)からの各1ビットずつ
の4ビットが入力されている。各DCT処理回路90a,90bは
第11図の回路を4個ずつと、それらの4個の回路の出力
を加算する加算器とを備えている。
第13図では、Z0〜Z7の出力データを得るために必要な
ROM容量は8×24に減少する。
(発明の効果) 本発明で二次元直交変換演算を1組の一次元直交変換
演算器により実現すれば、必要な乗算器の数は、例えば
直交変換演算の単位を(8×8)画素のブロックとすれ
ば、従来の方法では64個の乗算器が必要であるのに対
し、本発明では8+8=16個の乗算器で足りることにな
り、装置が簡単になって集積回路化することが可能にな
る。
また、第1の一次元DCT演算器の演算結果を一時記憶
するメモリ装置においては、行方向に書き込んだものを
列方向に読み出すとともに列方向に新たなデータを書き
込み、列方向に書き込んだデータを行方向に読み出すと
ともに行方向に新たなデータを書き込むようにアドレス
指定と読出し・書込み制御を行なえば、必要なメモリ装
置の容量は演算単位のブロックが(N×N)画素とすれ
ば(N×N)ワードの1ブロックのもので足りることに
なる。その結果、メモリ容量が少なくてすむとともに、
高速動作を行なわせることができるようになる。
メモリ装置を一対とし、一方のメモリ装置の書込みと
他方のメモリ装置の読出しを同時に行なうようにするこ
とにより、高速動作が可能になる。
二次元DCT演算や二次元DST演算における一部の係数を
0にするような入力データの前処理回路を備えると、DC
T処理回路やDST処理回路の乗算器及び加算器の数が少な
くなり、それだけ処理スピードが速くなる。
また、回路規模も小さくなり、集積回路化するのが容
易になる。
直交変換処理をROMルックアップテーブル法により実
現するに際して入力データを1ビットずつアドレスに用
いることにより、少ないROM容量で直交変換処理を実現
できるようになる。
変換係数の対称姓を利用した前処理回路を備えて変換
係数の一部を0とすれば、さらにROM容量を減少させる
ことができる。
【図面の簡単な説明】
第1図は一実施例を示すブロック図、第2図は同実施例
におけるアドレス発生器の一例を示すブロック図、第3
図は同実施例におけるメモリ装置のアドレスを示す図、
第4図は同実施例の動作を示すメモリ装置のアドレス指
定方法を示す図、、第5図は他の実施例の読出し・書込
み制御部の動作を示すタイミング図、第6図は同実施例
の動作を示すメモリ装置のアドレス指定方法を示す図、
第7図はさらに他の実施例を示すブロック図、第8図は
さらに他の実施例の演算の概念を示す図、第9図は同実
施例の回路図、第10図はさらに他の実施例のDCT演算装
置を示すブロック図、第11図はさらに他の実施例におけ
るROMルックアップテーブル法の1個の乗算器相当部分
を示すブロック図、第12図及び第13図はそれぞれ実施例
におけるDCT演算装置を示すブロック図である。第14図
はデータ圧縮・伸長系を示すブロック図、第15図は従来
の二次元DCT演算を表わす概念図、第16図は同従来例の
回路図、第17図は従来の方式によるROMルックアップテ
ーブル法の1個の乗算器相当部分を示すブロック図であ
る。 2,2a,2b……メモリ装置、4,6……一次元DCT演算器、8
……アドレス発生器、12……読出し・書込み制御部、1
4,16……3ビットカウンタ、18,20,22……切換えスイッ
チ回路、32−0〜32−7……シフトレジスタ及びラッチ
回路、、34−1〜34−4……加算減算回路、36−1〜36
−4,38−1〜38−4……シフトレジスタ及びラッチ回
路、40……一次元DCT処理回路、76……アドレスジェネ
レータ、78……ROM、80……加算器、82……レジスタ、8
4……1ビットシフタ、86……シフトレジスタ、88……
ラッチ、90,90a,90b……ROMルックアップテーブル法に
よるDCT処理回路。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 特願平2−67500 (32)優先日 平2(1990)3月16日 (33)優先権主張国 日本(JP) (31)優先権主張番号 特願平2−110757 (32)優先日 平2(1990)4月25日 (33)優先権主張国 日本(JP) (72)発明者 福井 良 東京都大田区中馬込1丁目3番6号 株 式会社リコー内 (56)参考文献 特開 昭57−146345(JP,A) 特開 昭59−95783(JP,A) 特開 昭63−102476(JP,A) 特開 昭63−109664(JP,A) 特開 昭63−198420(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 7/548 G06F 15/66 H04N 1/415

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】第1の一次元直交変換演算器と、その出力
    を一時記憶するメモリ装置と、前記メモリ装置の出力を
    入力とする第2の一次元直交変換演算器と、前記メモリ
    装置のアドレス指定を行なうとともに前記メモリ装置の
    書込みと読出しの動作の切換えに合わせて行アドレスと
    列アドレスを入れ換えるアドレス発生器とを備えた直交
    変換演算装置。
  2. 【請求項2】第1の一次元直交変換演算器と、その出力
    を一時記憶するメモリ装置と、前記メモリ装置の出力を
    入力とする第2の一次元直交変換演算器と、前記メモリ
    装置のアドレス指定を行なうとともに前記第1及び第2
    の一次元直交変換演算器の演算の実行に合わせて行アド
    レスと列アドレスを入れ換えるアドレス発生器と、前記
    メモリ装置の1個のデータを読み出した後に同一アドレ
    スに前記第1の一次元直交変換演算器の新たな演算結果
    を書き込む読出し・書込み制御部とを備えた直交変換演
    算装置。
  3. 【請求項3】前記メモリ装置は一対設けられ、第1の一
    次元直交変換演算器と第2の一次元直交変換演算器をそ
    れぞれ切替えスイッチ回路を介して前記両メモリ装置に
    接続し、第1の一次元直交変換演算器が一方のメモリ装
    置に接続されるときは第2の一次元直交変換演算器が他
    方のメモリ装置に接続されるように前記切換えスイッチ
    回路を切り換える請求項1に記載の直交変換演算装置。
  4. 【請求項4】離散コサイン変換又は離散サイン変換を行
    なう直交変換処理回路を備えた直交変換演算装置におい
    て、直交変換処理の際に係数の一部が0になるように入
    力データ間の加算及び減算を行なう前処理回路を設け、
    直交変換処理回路は前記前処理回路で加算又は減算され
    たデータについて0でない係数との乗算及びその乗算結
    果の加算を行なうことを特徴とする直交変換演算装置。
  5. 【請求項5】1個の画像を複数の画素を含むブロックに
    分割し、各ブロックごとに直変換処理を行なう直交変換
    回路を備えた直交変換演算装置において、前記直交変換
    回路はROMテーブルを用いるROMルックアップテーブル法
    による演算を行なうものであり、入力データの1ビット
    ずつと複数ビットの変換係数データとをアドレスとし、
    ROMテーブルから読み出されたデータをそのアドレスの
    入力データにおけるビット位置に応じて上位又は下位方
    向にシフトさせて入力データの全ビットについて加算す
    る加算回路を備えたことを特徴とする直交変換演算装
    置。
  6. 【請求項6】前記直交変換回路の前段には、直交変換処
    理の際に変換係数の一部が0になるように入力データ間
    の加算及び減算を行なう前処理回路を備え請求項6に記
    載の直交変換演算装置。
JP2253573A 1989-12-01 1990-09-20 直交変換演算装置 Expired - Fee Related JP2790911B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US07/616,418 US5268853A (en) 1989-12-01 1990-11-21 Orthogonal transformation processor for compressing information
DE4038240A DE4038240A1 (de) 1989-12-01 1990-11-30 Prozessor zum durchfuehren einer orthogonaltransformation
US08/058,546 US5359549A (en) 1989-12-01 1993-05-05 Orthogonal transformation processor for compressing information
US08/058,475 US5331585A (en) 1989-12-01 1993-05-05 Orthogonal transformation processor for compressing information

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
JP31401889 1989-12-01
JP1-314018 1989-12-01
JP32893689 1989-12-18
JP1-328936 1989-12-18
JP6198490 1990-03-12
JP2-61984 1990-03-12
JP2-67500 1990-03-16
JP6750090 1990-03-16
JP11075790 1990-04-25
JP2-110757 1990-04-25

Publications (2)

Publication Number Publication Date
JPH04531A JPH04531A (ja) 1992-01-06
JP2790911B2 true JP2790911B2 (ja) 1998-08-27

Family

ID=27523687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2253573A Expired - Fee Related JP2790911B2 (ja) 1989-12-01 1990-09-20 直交変換演算装置

Country Status (1)

Country Link
JP (1) JP2790911B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697525B1 (en) * 1998-10-02 2004-02-24 Parthusceva Ltd. System method and apparatus for performing a transform on a digital image
JP5532132B2 (ja) * 2009-11-26 2014-06-25 日本電気株式会社 Simdモードで動作するプロセッシング・エレメントの内部メモリに分散記憶された正方マトリックス及びその転置マトリックスに、時間と面積の効率良いアクセスを可能とする装置及び方法

Also Published As

Publication number Publication date
JPH04531A (ja) 1992-01-06

Similar Documents

Publication Publication Date Title
US5331585A (en) Orthogonal transformation processor for compressing information
US4635292A (en) Image processor
JP5025658B2 (ja) プラットフォームおよびこのプラットフォームを用いた処理方法
JPH03180965A (ja) 単一のマルチプライヤ/アキュムレータと単一のランダムアクセスメモリを用いてdct/idct演算を繰り返す集積回路装置
JP2959104B2 (ja) 信号処理プロセッサ
US6052703A (en) Method and apparatus for determining discrete cosine transforms using matrix multiplication and modified booth encoding
KR20010023031A (ko) 가변 블록 사이즈의 2-차원 역 이산 코사인 변환 엔진
JP3577325B2 (ja) 離散余弦変換(dct)によるデータ処理方法、dct方法、およびdctデータ処理回路
US5359549A (en) Orthogonal transformation processor for compressing information
JP2790911B2 (ja) 直交変換演算装置
KR0139699B1 (ko) 이산 코사인 변환장치
US5847980A (en) Product-summing arithmetic circuit
JP2960328B2 (ja) シストリックアーキテクチャ内に配置される「n+1」個の演算子にオペランドを供給するための装置
JP3052516B2 (ja) 符号化データ処理装置
JP2526287B2 (ja) 演算回路
JP4170173B2 (ja) ブロックマッチング演算装置
JP3547567B2 (ja) 離散コサイン変換器
JPH06274524A (ja) 直交変換回路および逆変換回路
KR910008454B1 (ko) 변환 회로
CN117372495A (zh) 一种加速数字图像处理中不同位宽点积的计算方法
JP4155102B2 (ja) 画素値演算装置、動画像符号化装置及び動画像復号化装置
JP3895031B2 (ja) 行列ベクトル乗算器
JP2002108843A (ja) 離散コサイン変換・逆離散コサイン変換手法及びその装置
JPS63102467A (ja) 画像デ−タ解像度変換装置
JPH08305684A (ja) バタフライ演算装置及び逆離散余弦変換装置

Legal Events

Date Code Title Description
FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080612

Year of fee payment: 10

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090612

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees