JPH06205392A - データ圧縮伸張装置 - Google Patents

データ圧縮伸張装置

Info

Publication number
JPH06205392A
JPH06205392A JP4360895A JP36089592A JPH06205392A JP H06205392 A JPH06205392 A JP H06205392A JP 4360895 A JP4360895 A JP 4360895A JP 36089592 A JP36089592 A JP 36089592A JP H06205392 A JPH06205392 A JP H06205392A
Authority
JP
Japan
Prior art keywords
data
output
adder
serial
shifter
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
JP4360895A
Other languages
English (en)
Inventor
Toru Watanabe
亨 渡邉
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP4360895A priority Critical patent/JPH06205392A/ja
Publication of JPH06205392A publication Critical patent/JPH06205392A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

(57)【要約】 【目的】 小さな回路規模で高速にデータの圧縮伸張を
行なうことが可能なデータ圧縮伸張装置を実現する。 【構成】 データ圧縮伸張装置は、DCT演算係数を簡
単な整数比に変えた形のシリアル回路により構成され、
DCT演算式をそのままハードウェア化して、複数段の
加減算を一度に行なうとともに、クリティカルパスの解
消のためフリップフロップ(FF)を挿入して構成した
シリアル回路220を含んで構成され、クリティカルパ
スの解消のためフリップフロップ(FF)を挿入して構
成されたシリアル演算器202a〜202d,212a
〜212dから構成され、odd側もDCT演算式をそ
のままハードウェア化したシリアル回路を基に、複数段
の加減算を一度に行なうとともに、クリティカルパスの
解消のためフリップフロップ(FF)を挿入したシリア
ル回路220から構成する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、画像データの圧縮処理
等に用いられるデータ圧縮伸張装置に係り、詳細には小
さな回路規模でデータ圧縮を行うことが可能なデータ圧
縮伸張装置に関する。
【0002】
【従来の技術】ISDNやCD−ROMを前提とした画
像の高能率符号化技術において、DCT(Discrete Cos
ine Transform:離散コサイン変換)が高能率符号化技
術の主流になりつつある。このDCTに限らず、高能率
符号化して画素当りの平均ビット数を減らすと、画像の
品質は落ち、圧縮率を上げると、画質の劣化を引き起こ
す。例えば、現行の標準テレビ信号を1.5Mビット/
秒に圧縮した場合に問題となるのは、輪郭部分の劣化と
DCTで処理するブロック単位(例えば8×8画素)に
発生するブロック歪である。逆変換して画素を再生する
ときに、ブロック内のDCT出力をすべて線形和するこ
とになるが、8×8画素から成るブロックのDCT出力
64個のうち、一つでも情報損失があると、ブロック内
全体の再生画素に劣化が生じる。
【0003】ここで、DCT変換は、直交変換の一つで
あり、カールネン・レーベ変換と並んでエネルギの集中
度の最も高い変換法といわれるものである。
【0004】いま、信号f(j) (j=0、1、…、
N−1)の一次元のDCT変換による結果F(u)
(u=0、1、…、N−1)は数1で定義される。
【0005】
【数1】 また、逆DCT変換は、数2で定義される。
【0006】
【数2】 このようなDCT変換を画像に対して施すことにより、
エネルギ集中が得られることから、エネルギの多い成分
のみを符号化することが可能となり、これにより画像デ
ータの圧縮を行なうようにしている。
【0007】ところで、上記DCTを有するデータ圧縮
伸張装置に限らず、通常のデータ圧縮伸張装置では、数
値列に対し、データ変換(FFT,DCT等)を施し、
その後に量子化を行っている。
【0008】図32は従来のデータ圧縮伸張装置のブロ
ック図である。10はデータ記憶装置であり、データ記
憶装置10には圧縮を施そうとする2次元データがパラ
レルデータの形で蓄えられている。データ記憶装置10
に蓄えられているデータ(例えば、画像データ)はパラ
レル−シリアル変換装置11に入力され、パラレル−シ
リアル変換装置11はデータ記憶装置10から読み込ん
だパラレルデータをシリアルデータに変換してデータ変
換演算装置12に出力する。データ変換演算装置12は
パラレル−シリアル変換装置11から出力されたデータ
に対して一次元のDCT演算をシリアル演算の形で施
す。シリアルDCT演算されたデータはシリアル−パラ
レル変換装置13に出力され、シリアル−パラレル変換
装置13はデータ変換演算装置12から出力されたシリ
アルデータをパラレルデータに変換してデータ記憶装置
10に書き込む。上記の例は一次元の場合であり、画像
等の二次元の場合には図33に示すように上述した処理
を縦横(順不同)二次元に施す。また、量子化装置14
は、データ記憶装置10に蓄えられたデータ変換演算後
のデータに対して、例えば図34に示すような量子化テ
ーブルの値で除算をする(あるいは、逆数の乗算)こと
によって量子化演算を行なう。上記各部の動作はデータ
圧縮伸張装置の全体を制御する制御装置15によって制
御される。
【0009】上記データ変換演算装置12により実行さ
れるシリアルDCT演算を以下に説明するシリアル演算
によって行なう。
【0010】先ず、基本的な考え方としてCOS係数の値
を、数3に示すように2のべき(すなわち、2のn乗)
の和又は差で表すようにする。数3に示すように数値を
2のべきで表現する理由はシリアルの回路による演算を
実現するためである。すなわち、図35において、符号
21は、クロック入力信号に応答し、入力信号を1クロ
ック遅れた出力とするFF(フリップフロップ)からな
る1タイムディレイユニットを表すものとすると、1タ
イムディレイユニット21を通って出てくる出力と1タ
イムディレイユニット21を通らずに直接出てくる出力
とを比較すると前者が後者より1クロック分遅い。ここ
で、1タイムディレイユニット21はシフトレジスタが
並んだようなものであり、例えばLSB側から順にデー
タが入力されているものとすると、1クロック遅く出て
くるということは2倍されたことを意味する。同様に、
8倍しようとする場合には上記1タイムディレイユニッ
ト21を図36に示すように3つ並べて3クロック遅ら
せるようにすれば23で8倍となる。本実施例では上記
ユニットを組み合わせて加減算を行なうことでシリアル
演算回路を実現する。
【0011】図35は乗算部のシリアル演算構成を示し
たものであり、図35は入力データを38倍する場合の
例である。先ず、38を数4の形に分解する。
【0012】数4において、ある数値xを32倍すると
いうことは、xを左(MBS方向)へ5回シフトするこ
とであり、図37では、5段の1タイムディレイユニッ
ト271を通過させることによって実現される。また、
数4で示される2×(2+1)は、実際には、6である
から、4+2と表してもよい。しかし、図37のフルア
ダー22が1タイムディレイユニットを持っており、入
力データを2倍するため、2×(2+1)という表現形
式が採用できる。この図37のユニット自体の出力は7
6倍となるが、次段の取り込みタイミングを1クロック
遅らせることにより38倍を実現している。
【0013】以下、データ圧縮伸張装置を図面に従い説
明する。
【0014】図38は、上記シリアルDCT演算を実行
するためのデータ変換演算装置12の回路構成を示す図
であり、I〜IVの各ステージから構成される。
【0015】図38において、31はステージIの演算
回路、32はステージIIの演算回路、33はステージII
Iの演算回路、34はステージIVの演算回路であり、こ
れらのステージI〜IVの演算回路31〜34はそれぞれ
スイッチ35〜39を介して直列に接続するように構成
されている。この場合、DCT演算処理では、図38に
示すように演算回路31〜34の順で直列接続され、ま
た逆DCT演算の処理では、スイッチ35〜39の切換
え動作により演算回路34〜31の順で直接接続される
ようになっている。そして、入力端子40に与えられる
入力データに対するDCTまたは逆DCT演算結果は出
力端子41から出力されるようになる。この場合、入力
データは、シリアル8系統よりなっている。
【0016】図39は、ステージIの演算回路31の回
路構成を示す図である。演算回路31は上述したシリア
ル演算を実行するものであり、加算器1a、1b、1
c、1dと減算器1e、1f、1g、1hから構成され
ている。
【0017】図40は、ステージIIの演算回路32の回
路構成を示す図である。演算回路32は上述したシリア
ル演算を実行するものであり、シフタ2a〜2fと、CO
S(4/16)π演算(数1参照)を行なうCOS(4/16)π演算器
2g、2hから構成されている。ここで、上記シフタ2
a〜2fは、それぞれ10個のフリップフロップを直列
接続したものであり、入力されたデータを所定時間遅延
して出力するようになっている。また、上記COS(4/16)
π演算器2gは、COS(N/16)πのN=4の場合の近似式1
81=(16-1)×(2+1)×4+1の演算を実現したものであり、
加算器2g1、この加算器2g1の出力をシフトする4個
のフリップフロップからなるシフタ2g2、このシフタ
2g2の出力より加算器2g1からの出力を減算する減算
器2g3、この減算器2g3の出力をシフトする1個のフ
リップフロップからなるシフタ2g4、このシフタ2g4
の出力と上記減算器2g3の出力を加算する加算器2g
5、この加算器2g5の出力と上記加算器2g1の出力を
加算する加算器2g6から構成されている。また、上記C
OS(4/16)π演算器2hもCOS(N/16)πのN=4の場合の
近似式181=(16-1)×(2+1)×4+1の演算を実現したもので
あり、減算器2h1、この減算器2h1の出力をシフトす
る4個のフリップフロップからなるシフタ2h2、この
シフタ2h2の出力より減算器2h1の出力を減算する減
算器2h3、この減算器2h3の出力をシフトする1個の
フリップフロップからなるシフタ2h4、このシフタ2
h4の出力と減算器2h3の出力を加算する加算器2h
5、この加算器2h5の出力と減算器2h1の出力を加算
する加算器2h6から構成されている。
【0018】図41は、ステージIIIの演算回路33の
回路構成を示す図である。演算回路33は上述したシリ
アル演算を実行するものであり、加算器3a,3b、減
算器3c,3dおよび加算器3e,3f、減算器3g,
3hから構成されている。
【0019】図42は、ステージIVの演算回路34の回
路構成を示す図である。演算回路34は上述したシリア
ル演算を実行するものであり、各COS係数演算を行なうC
OS(4/16)π演算器4a,4b、COS(2/16)πおよびCOS(6
/16)π演算器4c,4d、COS(1/16)πおよびCOS(7/16)
π演算器4e,4f、COS(3/16)πおよびCOS(5/16)π演
算器4g,4hから構成されている。この場合、上記CO
S(4/16)π演算器4a,4bは、上述したステージIIの
演算回路32のCOS(4/16)π演算器2g,2hと同様で
あり、ここでは添字2を4に代えて同符号を付すること
で説明は省略する。
【0020】また、上記COS(2/16)πおよびCOS(6/16)π
演算器4cは、COS(N/16)πのN=2の場合の近似式23
6.5=4×(64-4-1)+1/2およびN=6の場合の98=2×(32+1
6+1)の演算を実現するもので、このうちCOS(2/16)πの
演算を実現するものは、7個のフリップフロップからな
るシフタ4c1、シフタ4c1の出力からシフタ4c1の
第3番目のフリップフロップの出力を減算する減算器4
c2、減算器4c2の出力からシフタ4c1の第2番目の
フリップフロップの出力を減算する減算器4c3、減算
器4c3の出力と加算器3aの出力を加算する加算器4
c4からなり、また、COS(6/16)π演算を実現するもの
は、シフタ4c1の第6番目のフリップフロップの出力
とシフタ4c1の第5番目のフリップフロップの出力を
加算する加算器4c5、加算器4c5の出力とシフタ4c
1の第2番目のフリップフロップの出力を加算する加算
器4c6からなっている。一方、上記COS(2/16)πおよび
COS(6/16)π演算器4dは、上述した演算回路4cと同
様であり、ここでは添字cをdに代えて同符号を付する
ことで説明は省略する。そして、加算器4c4と加算器
4d6の出力を加算器4c7で加算し、また、加算器4c
6の出力から加算器4d4の出力を減算器4d7で減算す
るようにしている。
【0021】一方、上記COS(1/16)πおよびCOS(7/16)π
演算器4eは、COS(N/16)πのN=1の場合の近似式251
=(128-2)×2-1およびN=7の場合の50=2×(16+8+1)の
演算を実現するもので、このうちCOS(1/16)πの演算を
実現するものは、7個のフリップフロップからなるシフ
タ4e1、シフタ4e1の出力からシフタの第1番目のフ
リップフロップの出力を減算する減算器4e2、減算器
4e2の出力からステージIIIの演算回路33の加算器3
eの出力を減算する減算器4e3からなり、COS(7/16)π
演算を実現するもので、シフタ4e1の第3番目と第4
番目のフリップフロップの出力を加算する加算器4e
4、加算器4e4、の出力とシフタ4e1の第1番目のフ
リップフロップの出力を加算する加算器4e5からなっ
ている。また、COS(1/16)πおよびCOS(7/16)π演算器4
fは、上述した演算器4eと同様であり、ここでは添字
eをfに代えて同符号を付することで説明は省略する。
そして、減算器4e3と加算器4f5の出力を加算器4e
6で加算し、この加算器4e6の出力をシフタ4e7を介
して発生する。また加算器4e5の出力から減算器4f3
の出力を減算器4f6で減算し、シフタ4f7を介して発
生するようにしている。
【0022】また、上記COS(5/16)πおよびCOS(3/16)π
演算器4gは、COS(N/16)πのN=5の場合の近似式142
=2×(64+8-1)およびN=3の場合の近似式213=(2+1)×
(64+8-1)の演算を実現するもので、このうちCOS(5/16)
πの演算を実現するものは、5個のフリップフロップか
らなるシフタ4g1、シフタ4g1の出力とシフタ4g1
の第2番目のフリップフロップの出力を加算する加算器
4g2、加算器4g2の出力からステージIIIの演算回路
3の減算器3gの出力を減算する減算器4g3、減算器
4g3の出力をシフトする2個のフリップフロップから
なるシフタ4g4からなり、COS(3/16)πの演算を実現す
るものは、上述の構成に加えて減算器4g3とシフタ4
g4の第1番目のフリップフロップの出力を加算する加
算器4g5からなっている。また、COS(5/16)πおよびCO
S(3/16)π演算器4hは、上述した演算器4gと同様で
あり、ここでは添字gをhに代えて同符号を付すること
で説明は省略する。そして、シフタ4g4と加算器4h5
の出力を加算器4g6で加算し、また、加算器4g5の出
力からシフタ4h4の出力を減算器4h6で減算するよう
にしている。
【0023】このように構成された図39〜図42に示
すステージI〜IVの演算回路31〜34は、DCT演算
処理の場合には図43に示すように接続され、逆DCT
演算処理の場合には図44に示すように接続される。ま
た、図45〜図47は図43中の各ユニットを示す図で
あり、図45はフリップフロップ(FF)からなる1タ
イムディレイユニット21を、図46は加算(a+b)
を行なう1タイムディレイユニットフルアダー(内部Ca
rry Type)22を、図47は減算(a−b)を行なう1
タイムディレイユニットフルサブトラクタ(内部Borrow
type)23をそれぞれ示している。
【0024】次に、このように構成したデータ変換演算
装置12の動作を説明する。
【0025】まず、DCT演算処理の場合を述べると、
ここでは、ステージIの演算回路31において加算器1
aに入力データf(0)とf(7)、加算器1bに入力
データf(3)、f(4)、加算器1cに入力データf
(1)、f(6)、加算器1dに入力データf(2)、
f(5)、減算器1eに入力データf(0)、f
(7)、減算器1fに入力データf(3)、f(4)、
減算器1gに入力データf(1)、f(6)、減算器1
hに入力データf(2)、f(5)が入力される。これ
により加算器1aは入力データf(0)とf(7)の加
算結果を出力し、加算器1bは入力データf(3)とf
(4)の加算結果を出力し、加算器1cは入力データf
(1)とf(6)の加算結果f(1)+f(6)を出力
し、加算器1dは入力データf(2)とf(5)の加算
結果を出力するようになる。また、減算器1eは入力デ
ータf(0)とf(7)の減算結果を出力し、減算器1
fは入力データf(3)とf(4)の減算結果を出力
し、減算器1gは入力データf(1)とf(6)の減算
結果を出力し、減算器1hは入力データf(2)とf
(5)の減算結果を出力するようになる。この場合の入
力データは、図48に示すように7bitと1bitのサイン
ビットの8bitのデータからなっている。また、出力デ
ータは、図48のIに示すように7+1bitと1bitのサ
インビットからなっている。ここで、出力データが7+
1bitになるのは、加算器1a〜1dでの加算結果を考
慮したからである。
【0026】次いで、ステージIIの演算回路32に進
む。この演算回路32では、ステージIの演算回路31
の加算器1aの出力がシフタ2aに与えられ、以下、同
様にして加算器1bの出力がシフタ2c、加算器1cの
出力がシフタ2b、加算器1dの出力がシフタ2d、減
算器1eの出力がシフタ2e、減算器1fの出力がシフ
タ2f、減算器1g、1hの出力が加算器2g1および
減算器2h1にそれぞれ与えられる。この場合、図48
の入力に示す入力データに対しシフタ2a〜2eからは
同図IIに示すように10個のフリップフロップの動作だ
け遅れて出力データを発生する。つまり、シフタ2aは
加算器1aの出力を、シフタ2bは加算器1cの出力
を、シフタ2cは加算器1bの出力を、シフタ2dは加
算器1dの出力を、シフタ2eは加算器1eの出力を、
シフタ2fは加算器1fの出力を、それぞれ所定時間遅
延して出力するようになる。
【0027】一方、上記COS(4/16)π演算器2g、2h
では、COS(N/16)πのN=4の場合の近似式181=(16-1)
×(2+1)×4+1の演算を実行する。この場合、演算器2g
には、減算器1g、1hの出力が入力データとして与え
られ、加算器2g1で、これら入力データを加算する。
そして、この加算器2g1の出力をシフタ2g2に与え、
シフタ2g2より得られた出力より加算器2g1の出力を
減算器2g3で減算すると(16-1)が求められ、次いで、
減算器2g3の出力とシフタ2g4の出力を加算器2g5
で加算することで(16-1)×(2+1)が求められる。そし
て、この加算器2g5の出力と加算器2g1の出力を加算
器2g6で加算することによりCOS(N/16)πのN=4の場
合の近似値(16-1)×(2+1)×4+1が求められることにな
る。この場合、図48の入力に示す入力データに対して
COS(4/16)π演算器2gでは、同図IIに示すタイミング
で上述の演算結果を出力データとして発生するようにな
る。
【0028】次いで、ステージIIIの演算回路33に進
む。この演算回路33では、ステージIIの演算回路32
のシフタ2a、2cの出力が加算器3aおよび減算器3
cに与えられ、同様にしてシフタ2b、2dの出力が加
算器3bおよび減算器3dに与えられ、さらにシフタ2
eとCOS(4/16)π演算部2gの出力が加算器3eおよび
減算器3gに、シフタ2fとCOS(4/16)π演算器2hの
出力が加算器3fおよび減算器3hに与えられる。これ
により、加算器3aは、ステージIIの演算回路32のシ
フタ2aと2cの出力を加算した結果を出力し、加算器
3bはステージIIの演算回路32のシフタ2bと2dの
出力を加算した結果を出力し、減算器3cはステージII
の演算回路32のシフタ2aの出力からシフタ2cの出
力を減算した結果を出力し、減算器3dはステージIIの
演算回路32のシフタ2bの出力からシフタ2dの出力
を減算した結果を出力するようになる。また、加算器3
eはステージIIの演算回路2のシフタ2eと演算器2g
の出力を加算した結果を出力し、加算器3fはステージ
IIの演算回路2のシフタ2fと加算器2hの出力を加算
した結果を出力し、加算器3gはステージIIの演算回路
32のシフタ2eの出力から演算器2gの出力を減算し
た結果を出力し、減算器3hはステージIIの演算回路3
2のシフタ2fの出力から演算器2hの出力を減算した
結果を出力するようになる。この場合、図48の入力デ
ータに対して各加算器3a、3b、3e、3fおよび減
算器3c、3d、3g、3hでは、同図IVに示すタイミ
ングで、それぞれの演算結果を出力するようになる。
【0029】次いで、ステージIVの演算回路34に進
む。この演算回路34では、ステージIIIの演算回路3
3の加算器3a、3bの出力がCOS(4/16)π演算器4
a、4bに与えられ、同様にして減算器3c、3dがCO
S(2/16)πおよびCOS(6/16)π演算器4c、4dに各別に
与えられ、加算器3e、3fの出力がCOS( 1/16)πおよ
びCOS(7/16)π演算器4e、4fに各別に与えられ、減
算器3g、3hの出力がCOS(5/16)πおよびCOS(3/16)π
演算器4g、4hに各別に与えられる。この場合、図4
8の入力に示す入力データに対してCOS(4/16)π演算器
4a、4bでは、COS(N/16)πのN=4の場合の近似値
(6-1)×(2+1)×4+1の演算を実行し、同図IVに示すタイ
ミングで、その演算結果を出力データF(0)、F
(4)として発生する。同様にして、COS(2/16)πおよ
びCOS(6/16)π演算器4c、4dについてもCOS(N/16)π
N=2の場合の近似値4×(64-4-1)+1/2およびCOS(N/16)
πのN=6の場合の近似値2×(32+16+1)の演算を実行
し、同図IVに示すタイミングで、その演算結果を出力デ
ータF(2)、F(6)として発生し、COS(1/16)πお
よびCOS(7/16)π演算器4e、4fについてもCOS(N/16)
πのN=1の場合の近似値251=(128-2)×2-1 およびCOS
(N/16)πのN=7の場合の近似値2×(16+8+1)の演算を
実行し、同図IVに示すタイミングで、その演算結果を出
力データF(1)、F(7)として発生し、さらに、CO
S(5/16)πおよびCOS(3/16)π演算器4g、4hについて
もCOS(N/16)πのN=5の場合の近似値2×(64+8-1)およ
びCOS(N/16)πのN=3の場合の近似値(2+1)×(64+8-
1)の演算を実行し、同図IVに示すタイミングで、その演
算結果を出力データF(5)、F(3)として発生する
ようになる。
【0030】以上の説明は、DCT演算処理の場合であ
るが、図44に示す逆DCT演算処理の場合も上述した
場合と同様である。
【0031】この場合は入力データがステージIVの演算
回路34〜ステージIの演算回路31の順で与えられる
ようになる。
【0032】図48は、データ変換演算装置12の入力
から出力までのタイミングチャートであり、ステージI
の演算回路31〜ステージIVの演算回路34の動作を総
合した場合のタイミングチャートを示している。同図
中、I、II、III、IVは図43における各ステージI、I
I、III、IVの出力を示している。図48では、次データ
との処理の重なりを避けるように考慮してあり全体とし
て8bitのデータを入力した場合、1ライン当りの処理
周期は28クロック必要とする。この場合の処理は、入
力データ8bitのDCT処理の場合であるが、入力デー
タのビット数が異なる場合や逆DCT処理の場合は、1
データ当りの処理周期も変化するようになる。
【0033】このように、ステージI〜ステージIVから
なるフローグラフに基づいてディスクリートコサイン変
換処理を実行するものにおいて、各ステージをシリアル
処理するように構成することにより、入力データが各ス
テージの演算回路により順次シリアル処理されるように
なり、従来のメモリに対してレジスタ、シフタおよび加
減算器からなる演算部を並列的に設けたものに比べ、回
路規模を小さくすることができるとともに、高速処理を
実現することができる。
【0034】
【発明が解決しようとする課題】しかしながら、このよ
うなシリアルDCT演算処理を行なうデータ圧縮伸張装
置にあっては、DCT演算式をそのままシリアル処理回
路上で実現する構成となっていたため、DCT演算を並
列的に行なうDCT演算装置に比べて回路規模は大幅に
小さくすることはできるものの、図43に示すようにフ
リップフロップ(FF)で126個、演算器を構成する
1bit Add(Sub)unitが 62個必要となり、未だ回路規
模が大きいという欠点があった。また、フリップフロッ
プ(FF)等を1段通るごとに1クロック分遅延するの
で演算段数を短くするようにして高速化を図りたいとい
う要望がある。
【0035】そこで本発明は、小さな回路規模で高速に
データの圧縮伸張を行なうことが可能なデータ圧縮伸張
装置を提供することを目的としている。
【0036】
【課題を解決するための手段】請求項1記載の発明は、
上記目的達成のため、所定のデータを記憶するデータ記
憶手段と、前記データ記憶手段から出力されたデータに
対して所定の係数に基づいてシリアル演算によりデータ
変換演算を実行するデータ変換演算手段と、前記データ
変換演算手段によるデータ変換後のデータに対して量子
化演算を実行する量子化手段と、前記データ記憶手段、
前記データ変換演算手段及び前記量子化手段を制御をす
る制御手段とを備えたデータ圧縮伸張装置であって、前
記データ変換演算手段は、クリティカルパスの部分に遅
延用素子を設け、該遅延用素子によりデータを保持して
クリティカルパスを解消するようにしている。
【0037】請求項2記載の発明は、所定のデータを記
憶するデータ記憶手段と、前記データ記憶手段のデータ
をパラレルデータからシリアルデータに変換するパラレ
ル−シリアル変換手段と、前記パラレル−シリアル変換
手段から出力されたデータに対して所定の係数に基づい
てシリアル演算によりデータ変換演算を実行するデータ
変換演算手段と、前記データ変換手段から出力されるシ
リアルデータをパラレルデータに変換し、前記データ記
憶手段に書き込むシリアル−パラレル変換手段と、前記
データ変換演算手段によるデータ変換後のデータに対し
て量子化演算を実行する量子化手段と、前記データ記憶
手段、前記パラレル−シリアル変換手段、前記データ変
換演算手段、前記シリアル−パラレル変換手段及び前記
量子化手段を制御をする制御手段とを備えたデータ圧縮
伸張装置であって、前記データ変換演算手段は、クリテ
ィカルパスの部分に遅延用素子を設け、該遅延用素子に
よりデータを保持してクリティカルパスを解消するよう
にしている。
【0038】請求項3記載の発明は、所定のデータを記
憶するデータ記憶手段と、前記データ記憶手段から出力
されたデータに対して所定の係数に基づいてシリアル演
算によりデータ変換演算を実行するデータ変換演算手段
と、前記データ変換演算手段によるデータ変換後のデー
タに対して量子化演算を実行する量子化手段と、前記デ
ータ記憶手段、前記データ変換演算手段及び前記量子化
手段を制御をする制御手段とを備えたデータ圧縮伸張装
置であって、前記データ変換演算手段の係数を整数の比
に置き換え、該整数の比に置き換えることにより生じた
ゲインの変化を、前記量子化手段により調整するように
するとともに、クリティカルパスの部分に遅延用素子を
設け、該遅延用素子によりデータを保持してクリティカ
ルパスを解消するようにしている。
【0039】請求項4記載の発明は、所定のデータを記
憶するデータ記憶手段と、前記データ記憶手段から出力
されたデータに対して所定の係数に基づいてシリアル演
算によりデータ変換演算を実行するデータ変換演算手段
と、前記データ変換演算手段によるデータ変換後のデー
タに対して量子化演算を実行する量子化手段と、前記デ
ータ記憶手段、前記データ変換演算手段及び前記量子化
手段を制御をする制御手段とを備えたデータ圧縮伸張装
置であって、前記データ変換演算手段のデータ変換演算
式を展開し、展開した式に従って前記データ変換演算手
段を構成するとともに、クリティカルパスの部分に遅延
用素子を設け、該遅延用素子によりデータを保持してク
リティカルパスを解消するようにしている。
【0040】請求項5記載の発明は、所定のデータを記
憶するデータ記憶手段と、前記データ記憶手段から出力
されたデータに対して所定の係数に基づいてシリアル演
算によりデータ変換演算を実行するデータ変換演算手段
と、前記データ変換演算手段によるデータ変換後のデー
タに対して量子化演算を実行する量子化手段と、前記デ
ータ記憶手段、前記データ変換演算手段及び前記量子化
手段を制御をする制御手段とを備えたデータ圧縮伸張装
置であって、前記データ変換演算手段は、複数段の加減
算を同一クロックで一度に行なうようにするとともに、
クリティカルパスの部分に遅延用素子を設け、該遅延用
素子によりデータを保持してクリティカルパスを解消す
るようにしている。
【0041】請求項6記載の発明は、所定のデータを記
憶するデータ記憶手段と、前記データ記憶手段から出力
されたデータに対して所定の係数に基づいてシリアル演
算によりデータ変換演算を実行するデータ変換演算手段
と、前記データ変換演算手段によるデータ変換後のデー
タに対して量子化演算を実行する量子化手段と、前記デ
ータ記憶手段、前記データ変換演算手段及び前記量子化
手段を制御をする制御手段とを備えたデータ圧縮伸張装
置であって、前記データ変換演算手段の係数を整数の比
に置き換え、該整数の比に置き換えることにより生じた
ゲインの変化を、前記量子化手段により調整するように
するとともに、複数段の加減算を同一クロックで一度に
行なうようにし、さらにクリティカルパスの部分に遅延
用素子を設け、該遅延用素子によりデータを保持してク
リティカルパスを解消するようにしている。
【0042】請求項7記載の発明は、所定のデータを記
憶するデータ記憶手段と、前記データ記憶手段から出力
されたデータに対して所定の係数に基づいてシリアル演
算によりデータ変換演算を実行するデータ変換演算手段
と、前記データ変換演算手段によるデータ変換後のデー
タに対して量子化演算を実行する量子化手段と、前記デ
ータ記憶手段、前記データ変換演算手段及び前記量子化
手段を制御をする制御手段とを備えたデータ圧縮伸張装
置であって、前記データ変換演算手段のデータ変換演算
式を展開し、展開した式に従って前記データ変換演算手
段を構成するとともに、複数段の加減算を同一クロック
で一度に行なうようにし、さらにクリティカルパスの部
分に遅延用素子を設け、該遅延用素子によりデータを保
持してクリティカルパスを解消するようにしている。
【0043】請求項8記載の発明は、所定のデータを記
憶するデータ記憶手段と、前記データ記憶手段から出力
されたデータに対して所定の係数に基づいてシリアル演
算によりデータ変換演算を実行するデータ変換演算手段
と、前記データ変換演算手段によるデータ変換後のデー
タに対して量子化演算を実行する量子化手段と、前記デ
ータ記憶手段、前記データ変換演算手段及び前記量子化
手段を制御をする制御手段とを備えたデータ圧縮伸張装
置であって、前記データ変換演算手段の係数を整数の比
に置き換え、該整数の比に置き換えることにより生じた
ゲインの変化を、前記量子化手段により調整するように
するとともに、データ変換演算式を展開し、展開した式
に従って前記データ変換演算手段を構成し、さらに複数
段の加減算を同一クロックで一度に行なうようにすると
ともに、クリティカルパスの部分に遅延用素子を設け、
該遅延用素子によりデータを保持してクリティカルパス
を解消するようにしている。
【0044】請求項9記載の発明は、所定のデータを記
憶するデータ記憶手段と、前記データ記憶手段から出力
されたデータに対して所定の係数に基づいてシリアル演
算によりデータ変換演算を実行するデータ変換演算手段
と、前記データ変換演算手段によるデータ変換後のデー
タに対して量子化演算を実行する量子化手段と、前記デ
ータ記憶手段、前記データ変換演算手段及び前記量子化
手段を制御をする制御手段とを備えたデータ圧縮伸張装
置であって、前記データ変換演算手段のデータ変換演算
式の係数の値を2のべきで表現するとともに、該係数の
値を2のべきで表現するとき所定以上ビット数が大きく
なる部分について該係数を整数の比に置き換え、該整数
の比に置き換えることにより生じたゲインの変化を、前
記量子化手段により調整するようにするとともに、複数
段の加減算を同一クロックで一度に行なうようにし、さ
らにクリティカルパスの部分に遅延用素子を設け、該遅
延用素子によりデータを保持してクリティカルパスを解
消するようにしている。
【0045】前記データ変換演算手段は、例えば請求項
10に記載されているように、各入力に所定の係数が表
れるようにデータ変換演算式を展開し、該展開したデー
タ変換演算式の係数部分をシリアル演算する第1のシリ
アル演算部と、該第1のシリアル演算部の出力を加減算
して該展開したデータ変換演算式の演算を実行する第2
のシリアル演算部とにより構成するようにしてもよく、
前記第1のシリアル演算部は、例えば請求項11に記載
されているように、前記展開したデータ変換演算式の係
数を2のべきに数値をかけた形で表現するとともに、該
係数を2のべきに数値をかけた形で表現した場合の数値
部分をシリアル演算するシリアル回路により構成するよ
うにしてもよく、さらに、前記第2のシリアル演算部
は、例えば請求項12に記載されているように、前記第
1のシリアル演算部から出力された数値を加減算して出
力する複数の加減算器により構成され、前記展開したデ
ータ変換演算式の係数を2のべきに数値をかけた形で表
現した場合の2のべき部分を各加減算器への入力位置に
より調整するようにしてもよい。
【0046】また、前記データ変換演算手段は、例えば
請求項13に記載されているように、複数段の加減算を
同一クロックで一度に実行するシリアル回路を含んで構
成し手もよく、前記データ変換演算手段は、例えば請求
項14に記載されているように、遅延用素子を有しない
加減算器を用いてデータ変換演算を実行するようにし手
もよく、さらに、前記データ変換演算手段は、例えば請
求項15に記載されているように、遅延用素子を有する
加減算器と、遅延用素子を有しない加減算器とからなる
シリアル回路を含んで構成され、該遅延用素子を有する
加減算器及び遅延用素子を有しない加減算器を用いて加
減算を実行するとともに、該遅延用素子を有する加減算
器の遅延用素子により該シリアル回路のクロックのタイ
ミングを合わせるようにしてもよい。
【0047】また、前記データ変換演算手段は、例えば
請求項16に記載されているように、シリアル演算を実
行するシリアル回路の動作時間が、供給されたシステム
クロックに従って動作するデータ圧縮伸張装置の全体動
作時間よりも小さいとき、所定の範囲内で該シリアル回
路を構成する加減算器の段数を減らすようにしてもよ
く、前記データ変換演算手段は、例えば請求項17に記
載されているように、シリアル演算を実行するシリアル
回路の動作時間が、供給されたシステムクロックに従っ
て動作するデータ圧縮伸張装置の全体動作時間よりも小
さいとき、所定の範囲内で該シリアル回路を構成する加
減算器を遅延用素子を有しない加減算器に置き換えるよ
うにしてもよい。
【0048】また、前記データ変換演算手段は、例えば
請求項18に記載されているように、シリアル演算によ
りデータ変換演算を実行するデータ変換演算回路を複数
のステージに分割し、各ステージのクリティカルパスの
部分に遅延用素子を設け、該遅延用素子によりデータを
保持してクリティカルパスを解消するようにしてもよ
く、前記データ変換演算手段は、例えば請求項19に記
載されているように、シリアル演算によりデータ変換演
算を実行するデータ変換演算回路を複数のステージに分
割し、各ステージのクリティカルパスの部分に遅延用素
子を設け、該遅延用素子によりデータを保持してクリテ
ィカルパスを解消するようにするとともに、各ステージ
を個別に制御して次ラインの処理を実行するようにして
もよい。また、前記データ変換演算手段による各ステー
ジの個別の制御は、例えば請求項20に記載されている
ように、クリティカルパスの部分に設けた遅延用素子に
より処理ステージにおいてデータ変換演算実行後のデー
タを保持しておくことにより、後段のステージの処理の
終了を待たずに前段のステージで次ラインのデータの取
り込みを開始して次ラインの処理を実行するようにして
もよい。
【0049】また、前記データ変換演算手段の複数のス
テージは、例えば請求項21に記載されているように、
ステージI〜ステージIIIの3ステージからなり少なく
ともステージIIの部分に遅延用素子を設け、該遅延用素
子によりデータを保持してクリティカルパスを解消する
ようにしてもよく、前記データ変換演算手段の複数のス
テージは、例えば請求項22に記載されているように、
データバスの切換えを行なうバス切換手段を介して接続
され、該バス切換手段によりデータバスを切換えて各ス
テージの接続状態を切換え、圧縮及び伸張のデータ変換
演算を実行するようにしたものであってもよく、前記デ
ータ変換演算手段のクリティカルパスは、例えば請求項
23に記載されているように、前記バス切換手段を介し
て接続された各ステージ間をデータが所定のクロック数
で授受される状態であるものでもよい。
【0050】また、前記データ変換演算手段は、例えば
請求項24に記載されているように、データに対してシ
リアル演算により直交変換を実行する直交変換手段であ
ってもよく、前記データ変換演算手段は、例えば請求項
25に記載されているように、データに対してシリアル
演算により離散コサイン変換(DCT)を実行する離散
コサイン変換手段であってもよい。また、前記データ変
換演算手段は、例えば請求項26に記載されているよう
に、入力されたデータを所定のクロックに応答して順次
移動させるシリアル演算器を含んで構成されてもよく、
前記データ変換演算手段の加減算器が有する遅延用素子
は、例えば請求項27に記載されているように、クロッ
クタイミング合わせのためのフリップフロップであって
もよい。また、前記データ変換演算手段は、例えば請求
項28に記載されているように、データ変換演算式の係
数の値を2のべきで表現したシリアル回路により構成
し、該シリアル回路によるシリアル演算によりデータ変
換演算を実行するようにしてもよく、前記データ変換演
算手段は、例えば請求項29に記載されているように、
データ変換演算式の係数の値を2のべきで表現するとと
もに、該係数の値を2のべきで表現するとき所定以上ビ
ット数が大きくなる部分について該係数を整数の比に置
き換えたシリアル回路により構成し、該シリアル回路に
よるシリアル演算によりデータ変換演算を実行するよう
にしてもよい。
【0051】また、前記データ変換演算手段で用いられ
るデータ変換演算式は、例えば請求項30に記載されて
いるように、該データ変換演算式の係数を、前記量子化
手段の量子化演算に用いる量子化係数に含ませるように
作成してもよく、前記量子化手段によるゲインの調整
は、例えば請求項31に記載されているように、前記デ
ータ変換演算手段の係数を整数の比に変えることにより
生じたゲイン変化分を吸収させるように構成された量子
化テーブルにより行なわれるものであってもよい。さら
に、前記データ変換演算手段の係数の整数の比への置き
換えは、例えば請求項32に記載されているように、該
係数を整数値に置き換えることにより行なうようにする
ものであってもよい。
【0052】
【作用】本発明の手段はの作用は次の通りである。
【0053】請求項1、2、18、19、20、21、
22及び23記載の発明では、シリアル演算によりデー
タ変換演算を実行するデータ変換演算手段において、ク
リティカルパスの部分に遅延用素子(例えば、フリップ
フロップ)が設けられ、該遅延用素子によりデータが保
持されてクリティカルパスが解消される。この場合、バ
ス切換手段を介して接続された各ステージ(例えば、ス
テージI〜ステージIIIの3ステージ)間をデータが所
定のクロック数(例えば、1クロック)で授受される状
態にあるときステージにクリティカルパスの部分が存在
すると判断され、このクリティカルパスの部分が存在す
るステージに遅延用素子が設けられる。さらに、各ステ
ージは制御手段により次ラインの処理が実行できるよう
に個別に制御される。
【0054】従って、データを保持することによってス
キューの部分を減らすことができ、クリティカルパスを
解消させることができる。また、ステージのクリティカ
ルパスの部分に設けた遅延用素子により処理ステージに
おいてデータが保持されるので、後段のステージの処理
の終了を待たずに前段のステージで次ラインの処理が開
始でき、クリティカルパス解消のために挿入された遅延
用素子による遅延を解消することができ、安定した動作
を図りつつ高速動作が可能になる。
【0055】請求項3、24、25、26、27、2
8、29、30、31及び32記載の発明では、データ
変換演算手段の係数が整数の比に置き換えられ、そのゲ
インの変化は量子化手段により調整されるとともに、ク
リティカルパスの部分に遅延用素子が設けられ、該遅延
用素子によりデータが保持されてクリティカルパスが解
消される。この場合、クリティカルパスの部分は、例え
ば複数のステージ(例えば、ステージI〜ステージIII
の3ステージ)に分割されたステージのクリティカルパ
スの部分に設けられ、さらに、各ステージは制御手段に
より次ラインの処理が実行できるように個別に制御され
る。また、データ変換演算式の係数が、量子化演算に用
いる量子化係数に含まれるようにデータ変換演算式を作
成しておき、このようにして作成されたデータ変換演算
式の係数の値を2のべきで表現してデータ変換演算回路
が構成されるとともに、このデータ変換演算回路はさら
に複数のステージに分割され、各ステージのクリティカ
ルパスの部分に遅延用素子が設けられる。また、演算式
の係数の値を2のべきで表現しようとすれば所定以上ビ
ット数が大きくなる部分については該係数が整数の比に
置き換えられ、該整数の比に置き換えられることにより
生じたゲインの変化は量子化手段により調整される。
【0056】また、クリティカルパスの部分に設けた遅
延用素子により処理ステージにおいてデータ変換演算実
行後のデータが保持されることにより、後段のステージ
の処理の終了を待たずに前段のステージで次ラインのデ
ータの取り込みが開始されて次ラインの処理が実行され
る。
【0057】従って、単にシリアル回路を実現していた
場合に比べ、回路規模を大幅に小さくすることができる
とともに、クリティカルパスを解消しつつシリアルの段
数を減少させて処理速度を向上させることができ、画像
等のデータ圧縮に利用することができる。また、クリテ
ィカルパス解消のために挿入された遅延用素子によるデ
ータ保持機能によって次ライン処理が可能になり、さら
に処理速度を向上させることができる。
【0058】請求項4、10、11及び12記載の発明
では、データ変換演算手段のデータ変換演算式を各項毎
に展開し、展開した式に従ってシリアル回路を構成する
とともに、クリティカルパスの部分に遅延用素子が設け
られ、該遅延用素子によりデータが保持されてクリティ
カルパスが解消される。この場合、展開した式に従って
構成されるシリアル回路は、例えば各入力に共通な係数
が表れるようにデータ変換演算式を展開したときに該係
数部分をシリアル演算する第1のシリアル演算部と、こ
のシリアル演算部の出力を加減算して展開したデータ変
換演算式の演算を実行する第2のシリアル演算部とによ
り構成されるとともに、クリティカルパスの部分には遅
延用素子が設けられ、各入力がこのシリアル回路に入力
されると第1のシリアル演算部により各入力をシリアル
演算して係数分を求めておき、このようにして作成され
た係数に対して第2のシリアル演算部が加減算を行なっ
て展開したデータ変換演算式の演算が実行される。
【0059】また、クリティカルパスの部分に設けた遅
延用素子により処理ステージにおいてデータ変換演算実
行後のデータが保持されることにより、後段のステージ
の処理の終了を待たずに前段のステージで次ラインのデ
ータの取り込みが開始されて次ラインの処理が実行され
る。
【0060】従って、展開したデータ変換演算式に従っ
てシリアル回路を構成することによりクリティカルパス
を解消しつつシフトレジスタ等のシリアル回路の段数を
減少させてクロック数を減らすことができ、処理速度を
向上させることができる。また、クリティカルパス解消
のために挿入された遅延用素子によるデータ保持機能に
よって次ライン処理が可能になり、さらに処理速度を向
上させることができる。
【0061】請求項5、13、14、15、16及び1
7記載の発明では、シリアル演算によりデータ変換演算
を実行するデータ変換演算手段において、複数段の加減
算が同一クロックで一度に実行されるようにシリアル回
路が構成されるとともに、クリティカルパスの部分に遅
延用素子が設けられ、該遅延用素子によりデータが保持
されてクリティカルパスが解消される。この場合、複数
段の加減算を同一クロックで一度に実行するシリアル回
路としては、例えば遅延用素子(例えば、フリップフロ
ップ)を有する加減算器と、遅延用素子を有しない加減
算器とによりシリアル回路が構成されるとともに、クリ
ティカルパスの部分には遅延用素子が設けられ、これら
加減算器を用いて加減算が行なわれ、クロックのタイミ
ング合わせはシリアル回路を構成する加減算器の遅延用
素子により行なわれる。また、例えばシリアル回路の動
作時間が、装置全体動作時間よりも小さいとき、所定の
範囲内で該シリアル回路を構成する加減算器の段数が減
らされ、若しくは該シリアル回路を構成する加減算器が
遅延用素子を有しない加減算器に置き換えられてシリア
ル回路が構成される。
【0062】また、クリティカルパスの部分に設けた遅
延用素子により処理ステージにおいてデータ変換演算実
行後のデータが保持されることにより、後段のステージ
の処理の終了を待たずに前段のステージで次ラインのデ
ータの取り込みが開始されて次ラインの処理が実行され
る。
【0063】従って、クロックのタイミング合わせのた
めの遅延動作が加減算ごとに行なわれることがなくなる
とともに、加減算器等の段数が減少することによりクリ
ティカルパスを解消しつつクロック数を減らして処理速
度を向上させることができ、回路規模を小さくすること
ができる。また、クリティカルパス解消のために挿入さ
れた遅延用素子によるデータ保持機能によって次ライン
処理が可能になり、さらに処理速度を向上させることが
できる。
【0064】請求項6及び9記載の発明では、データ変
換演算手段の係数が整数の比に置き換えられ、そのゲイ
ンの変化は量子化手段により調整されるとともに、複数
段の加減算が同一クロックで一度に行なうようにシリア
ル回路が構成されるとともに、クリティカルパスの部分
に遅延用素子が設けられ、該遅延用素子によりデータが
保持されてクリティカルパスが解消される。この場合、
データ変換演算式の係数が、量子化演算に用いる量子化
係数に含まれるようにデータ変換演算式を作成してお
き、このようにして作成されたデータ変換演算式の係数
の値を2のべきで表現してシリアル回路が構成されると
ともに、このシリアル回路はさらに複数段の加減算が同
一クロックで一度に行なうシリアル回路(例えば、FF
やシリアル演算器の段数が減らされ、また遅延用素子を
有しない加減算器により構成され、クリティカルパスの
部分には遅延用素子が設けられた回路)により構成され
る。このとき、該係数の値を2のべきで表現しようとす
れば所定以上ビット数が大きくなる部分については該係
数が整数の比に置き換えられ、該整数の比に置き換えら
れることにより生じたゲインの変化は量子化手段により
調整される。
【0065】また、クリティカルパスの部分に設けた遅
延用素子により処理ステージにおいてデータ変換演算実
行後のデータが保持されることにより、後段のステージ
の処理の終了を待たずに前段のステージで次ラインのデ
ータの取り込みが開始されて次ラインの処理が実行され
る。
【0066】従って、単にシリアル回路を実現していた
場合に比べ、回路規模を大幅に小さくすることができる
ことに加え、さらにクリティカルパスを解消しつつFF
や加減算器等の段数を大幅に減少させて処理速度を向上
させることができ、画像等のデータ圧縮伸張に利用する
ことができる。また、クリティカルパス解消のために挿
入された遅延用素子によるデータ保持機能によって次ラ
イン処理が可能になり、さらに処理速度を向上させるこ
とができる。
【0067】請求項7記載の発明では、データ変換演算
手段のデータ変換演算式を各項毎に展開し、展開した式
に従ってシリアル回路が構成されるとともに、複数段の
加減算が同一クロックで一度に行なうようにシリアル回
路が構成されるとともに、クリティカルパスの部分に遅
延用素子が設けられ、該遅延用素子によりデータが保持
されてクリティカルパスが解消される。この場合、展開
した式に従って構成されるシリアル回路は、例えば各入
力に共通な係数が表れるようにデータ変換演算式を展開
したときに該係数部分をシリアル演算する第1のシリア
ル演算部と、このシリアル演算部の出力を加減算して展
開したデータ変換演算式の演算を実行する第2のシリア
ル演算部とにより構成されるとともに、これらシリアル
演算部は複数段の加減算が同一クロックで一度に行なう
シリアル回路(例えば、FFやシリアル演算器の段数が
減らされ、また遅延用素子を有しない加減算器により構
成され、クリティカルパスの部分には遅延用素子が設け
られた回路)により構成される。
【0068】そして、各入力がこのシリアル回路に入力
されると第1のシリアル演算部により各入力をシリアル
演算して係数分を求めておき、このようにして作成され
た係数に対して第2のシリアル演算部が複数段の加減算
を一度に行なって展開したデータ変換演算式の演算が実
行される。
【0069】また、クリティカルパスの部分に設けた遅
延用素子により処理ステージにおいてデータ変換演算実
行後のデータが保持されることにより、後段のステージ
の処理の終了を待たずに前段のステージで次ラインのデ
ータの取り込みが開始されて次ラインの処理が実行され
る。
【0070】従って、展開したデータ変換演算式に従っ
てシリアル回路を構成することによりシフトレジスタ等
のシリアル回路の段数を減少させてクロック数を減らす
ことができることに加え、さらにクリティカルパスを解
消しつつFFや加減算器等の段数を大幅に減少させて処
理速度を向上させることができ、回路規模を大幅に小さ
くすることができる。また、クリティカルパス解消のた
めに挿入された遅延用素子によるデータ保持機能によっ
て次ライン処理が可能になり、さらに処理速度を向上さ
せることができる。
【0071】請求項8記載の発明では、データ変換演算
手段の係数が整数の比に置き換えられ、そのゲインの変
化は量子化手段により調整されるとともに、データ変換
演算式を展開し、展開した式に従ってシリアル回路が構
成され、さらに複数段の加減算が同一クロックで一度に
行なうようにシリアル回路が構成されるとともに、クリ
ティカルパスの部分に遅延用素子が設けられ、該遅延用
素子によりデータが保持されてクリティカルパスが解消
される。この場合、このシリアル回路(例えば、FFや
シリアル演算器の段数が減らされ、また遅延用素子を有
しない加減算器により構成され、クリティカルパスの部
分には遅延用素子が設けられた回路)は、例えば展開し
たデータ変換演算式の係数を2のべきに数値をかけた形
で表現した場合の数値部分をシリアル演算する第1のシ
リアル演算部と、このシリアル演算部から出力された数
値を加減算して出力する複数の加減算器からなる第2の
シリアル演算部とにより構成される。
【0072】そして、各入力がこのシリアル回路に入力
されると第1のシリアル演算部により各入力をシリアル
演算して係数分を求め、このようにして作成された係数
に対して第2のシリアル演算部が複数段の加減算を一度
に行なって展開したデータ変換演算式の演算が実行され
る。このとき、展開したデータ変換演算式の係数を2の
べきに数値をかけた形で表現した場合の2のべき部分は
各加減算器への入力位置により調整される。
【0073】また、クリティカルパスの部分に設けた遅
延用素子により処理ステージにおいてデータ変換演算実
行後のデータが保持されることにより、後段のステージ
の処理の終了を待たずに前段のステージで次ラインのデ
ータの取り込みが開始されて次ラインの処理が実行され
る。
【0074】従って、係数を整数の比に置き換え、その
ゲインの変化を量子化手段で調整することにより単にシ
リアル回路を実現していた場合に比べ、回路規模を大幅
に小さくすることができるとともに、展開したデータ変
換演算式に従ってシリアル回路を構成することによりク
リティカルパスを解消しつつシフトレジスタ等のシリア
ル回路の段数を減少させてクロック数を減らすことがで
き、さらにこのシリアル回路は複数段の加減算を一度に
行なう構成となっているためFFや加減算器等の段数を
大幅に減少させて処理速度をより一層向上させることが
でき、回路規模を大幅に小さくすることができる。ま
た、クリティカルパス解消のために挿入された遅延用素
子によるデータ保持機能によって次ライン処理が可能に
なり、さらに処理速度を向上させることができる。
【0075】
【実施例】以下、本発明を図面に基づいて説明する。
【0076】原理説明 (I)先ず、本実施例の基本的な考え方を説明する。図
32に示した従来のデータ圧縮伸張装置では、シリアル
演算によるDCT演算を実現するためバタフライ演算を
そのままシリアル回路上に表わしていた。具体的には、
COS係数値を2のべきで表わすことによって図43に示
すようなシリアルDCT演算回路を実現していたため、
DCT演算式の係数をすべて2のべきで表現しようとす
るとビット数が大きなものとなり、したがって、シリア
ル回路を構成するFF等の段数が大きくなってしまって
いた。
【0077】ところで、DCT演算された画像データは
後段の量子化部(例えば、図32の量子化装置14)に
おいて量子化されることになる。
【0078】本発明者はこの点に着目して、2のべきで
表現できる部分はべきで表現して取り込みに用いる一方
で、べきで表現しようとすればビット数が大きくなって
しまう部分については敢えてべきにより表現しようとし
ないで2のべきにとらわれずにDCTの演算係数を整数
比(あるいは、整数値)に置き換え、そのゲイン変化分
を量子化部によって吸収するようにする。これによって
2のべきによりシリアル回路を実現していた場合に比
べ、回路規模を大幅に小さくすることができるととも
に、シリアルの段数を減少させて処理速度を向上させる
ことができる。
【0079】(II)さらに、上述したDCT演算式をシ
リアル回路により構成する場合においてもDCT演算式
を加減算及びバタフライ演算を用いて実現していたた
め、FF等の段数をある程度以上減らすのは困難であ
り、速度向上のためには一層のFF等の段数の削減が求
められていた。
【0080】そこで本実施例では、DCT演算式を展開
することによって各入力に共通な係数(必ずしも共通で
なくてもよい)が表れるように係数を分割し、このよう
に展開したDCT演算式をバタフライ演算にとらわれず
にそのままハードウェア化する。このため、先ず、前段
のシリアル回路で各入力に用いる係数分の計算をしてお
き、続く後段のシリアル回路で計算された係数出力に対
して出力方向に符号分を含めた加減算を行なうようにし
てDCT演算式をそのままハードウェア化する。これに
よってFF等の段数を減らすことができ、クロック数
(時間)を短縮することができる。
【0081】例えば、図1に示すようにDCT演算式を
展開して各入力に共通な係数17、85、48、72が
得られたとすると、先ず、前段のシリアル回路でDCT
演算式の係数に相当する部分を作成するようにする。こ
の場合、上記係数17、85、48、72を2のべきに
ある数値をかけた形で表現し、この数値の部分(図1の
破線内の数値参照)をシリアル回路で構成する。そし
て、2のべきの部分は後段のシリアル回路への入力位置
により調整するようにする。すなわち、図1に示すよう
に後段のシリアル回路はアダー(サブトラクタも含む)
が複数個つながるように構成されており、各アダーを1
段通る度に×2が入る構成となっていて、上記係数のう
ち2のべきで表現された部分は各アダーへの接続方法に
より調整する。ここで、上記係数17、85、48、7
2のうち、基本的に奇数のもの(係数17、85)につ
いての加算を先に行なうようにするがこれは以下の理由
からである。すなわち、1度加算する度に1クロック遅
れるというシリアル回路の構造上、奇数の係数を作るの
が大変であり、奇数の係数を作るために1を足すという
動作が必要となる。このため、先ず手間のかかる奇数の
係数同士を事前に足してしまうようにする。図1では、
係数85は42×21+1、係数17は16+1と考え
てこれら奇数の係数の1同士を事前に1回足してしまう
ようにする。これにより1クロック遅れて×2倍とな
る。その次に、その他の部分を足しておいたものに上記
奇数の1同士を足したものを加えるようにするためもう
1クロック必要となり全体では×4倍となる。つまり、
奇数の係数が2個以上ある場合には2回のアダーを通す
必要があり×4が最小の形となる。なお、奇数をなくす
ようにすると演算精度が落ちることになる。
【0082】また、図1では、係数17は2×23
1、係数48は6×23で表わされ、2のべきが同じ23
であるからこの部分を1段目のアダーにより足してしま
う。以後、アダーを1段通る度に2倍されるので3段目
のアダーでこの係数の加算結果が揃うことになる。ま
た、係数72は18×22、係数85は42×21+1で
表わされるから2のべきに着目して係数72の18を2
番目のアダーに、係数85の42は3番目のアダーに入
力される。
【0083】このようにDCT演算式をそのままハード
ウェア化することによってFF等の段数を減らすことが
でき、クロック数(時間)を短縮することができる。
【0084】(III)ところで、図46に示す1bit add
erは具体的には図2(a)に示す構成となっている。図
2(a)に示すように、1bit adderは入力aと入力b
を加算するアダー1、演算桁上げCarryを検知しCarryが
あったとき桁上げcirを出力する桁上げ回路2、アダ
ー1からの加算出力を1クロック分遅らせることによっ
てタイミングとるフリップフロップ(FF)3から構成
されている。この1bit adderは、アダー1及び桁上げ
回路2により演算される演算結果(a+b+cir)の
ディレイをフリップフロップ(FF)3を用いてクロッ
クのタイミング合わせを行なうようになっている。この
フリップフロップ(FF)3によってアダー1からの出
力は1クロック分遅れることになる。このような1bit
adder等のシリアル回路は、構造が簡単なためクロック
速度は上げることができるが、クロック数が多くかかる
という特徴がある。
【0085】そこで本実施例では、クリティカルパスの
部分に遅延用素子(例えば、フリップフロップ)を挿入
することによってスキューの部分を減らしてクリティカ
ルパスを解消して安定した動作を得るようにし、また遅
延用素子を挿入することによって発生する速度の低下を
各ステージを個別に制御することにより解消するように
する。すなわち、クリティカルパスの部分にフリップフ
ロップを挿入することによって1クロック増えるが、挿
入されたフリップフロップによるデータ保持機能によっ
てこのフリップフロップにデータを取り込んだ時点で次
ラインの処理を開始することができ、全体としてクロッ
ク数の増加を招くことはない。例えば、ステージI〜II
Iをバスセレクタにより切り換えて使用するものにおい
て、ステージIIにフリップフロップによるデータ保持機
能がないものではステージIIIにデータを取り込むまで
ステージIは次の処理を始められなかった。これに対し
て、ステージIIのクリティカルパスの部分に挿入したフ
リップフロップによってステージII自体がデータ保持を
行なうのでステージIはステージIIIの処理がまだ終わ
っていなくても次ラインのデータの取り込みを開始する
ことができ、全体として1ラインあたりクロック数は同
じとなる。
【0086】ここで、データ圧縮伸張装置全体の動作タ
イミングをみた場合、データ圧縮伸張装置を構成するD
CTチップには例えば28MHz程度のシステムクロッ
クが供給されていることが多い。上記図2(a)に示す
ようなシリアル回路構成にしておくと、DCTチップに
28MHz程度のシステムクロックを供給することによ
って8倍のfscで動作させることができる。シリアル
回路自体は構造が単純であるため、より高いクロックを
供給するようにすれば更に高速なfscで動作させるこ
とができるが、フリップフロップ(FF)を1段通る度
に1クロックずつ遅れていくことになる。
【0087】このような観点から図2(a)に示すシリ
アル回路をみてみると、DCTチップに例えば28MH
z程度のシステムクロックが供給された場合にはアダー
1及び桁上げ回路2による演算部分では4〜5n secの
遅れがあるに過ぎない。これに対して、8倍のfscで
動作させようとした場合DCTチップ全体のクロック周
期は35n sec程度が必要となる。
【0088】本発明者はこの点に着目して、上述したシ
リアル回路の遅れは装置全体の所要クロック周期35n
secからみると十分小さいことを考慮して、上述したシ
リアル回路におけるタイミング合わせ用のフリップフロ
ップ(FF)を省略することを考えた。すなわち、通常
ではアダー(サブトラクタも含む)1段に対して各アダ
ー内部にフリップフロップ(FF)を内蔵していたが、
アダー等のシリアル回路の動作時間がシステムクロック
に対して十分に小さいので複数段のアダーに対してフリ
ップフロップ(FF)を1個用いるようにしても十分に
タイミングを揃えることができる。例えば、図2(b)
に示すシリアル回路において、アダー回路4,5に入力
aと入力bが図示のように入力された場合、入力から出
力までアダー回路4,5内部のフリップフロップ(F
F)2段分の2クロックが遅延されてアダー回路5から
演算結果(4a+6b)が出力されることになる。ここ
で、アダー回路5内部のフリップフロップ(FF)を取
り去った場合を考えると、このシリアル回路の遅れは概
略4〜5n secであり、遅延時間を最大限考慮しても2
0n sec程度の遅延をみれば十分に8倍のfscで動作
可能となる。図2(c)は、アダー回路内部のフリップ
フロップ(FF)を取り去ったシリアル回路を示す図で
ある。図2(c)に示すシリアル回路は、図2(b)に
示すシリアル回路のアダー回路5を、出力のフリップフ
ロップ(FF)を取り去った構造のアダー回路6に置き
換えた構成となっている。なお、回路内部のフリップフ
ロップ(FF)を取り去ったシリアル回路は、このよう
なアダーに限らずサブトラクタも含むものとし、図面上
では通常のアダー(サブトラクタ)等のシリアル回路の
□印に代えて△印で表わすものとする。いま、図2
(b)に示すシリアル回路のアダー回路5から演算結果
(4a+6b)が出力されるが、この出力は前述したよ
うに最終段のシフトレジスタ等で2のべきの形で調整で
きるから上記出力を(2a+3b)にしてみると、図2
(c)に示すシリアル回路のアダー回路6からの演算結
果(2a+3b)と同じになる。この場合、図2(b)
に示すシリアル回路では、入力から出力までアダー回路
4,5内部のフリップフロップ(FF)2段分の2クロ
ック遅れがあるのに対し、図2(c)に示すシリアル回
路では、アダー回路4内部のフリップフロップ(FF)
1段分の1クロック遅れで済み、同じ演算結果(2a+
3b)を得るのに少ないクロック数(短い時間)を実現
することができる。
【0089】(IV)上記方法によってフリップフロップ
(FF)等を取り去り複数段の加減算を一度に行なう構
成とすると回路規模及び演算速度を極めて向上させるこ
とができるが、データ入力から出力までのクロック数が
非常に少なくなることから各ステージ間でクリティカル
パスが発生する虞が生じた。例えば、後述する図15の
データ変換演算装置140、150のステージIIのod
d側のシリアル回路160の演算では2段のアダー(図
15の加算器163e3、163e5)と2段のバスセレ
クタ(図12のバスセレクタ132、133)を1クロ
ックの間に通過しなければならず、また、配線遅延分を
含めるとかなりのディレイが発生するため、クロック周
期を短くすることができず演算時間が多くかかることが
考えられる。このようなクリティカルパス状態のときに
クロック周期を短くすると間違ったデータを取り込んで
しまう不具合が生じる。
【0090】そこで本実施例では、クリティカルパスの
部分に遅延用素子(例えば、フリップフロップ)を挿入
することによってスキューの部分を減らしてクリティカ
ルパスを解消して安定した動作を得るようにし、また遅
延用素子を挿入することによって発生する速度の低下を
各ステージを個別に制御することにより解消するように
する。すなわち、クリティカルパスの部分にフリップフ
ロップを挿入することによって1クロック増えるが、挿
入されたフリップフロップによるデータ保持機能によっ
てこのフリップフロップにデータを取り込んだ時点で次
ラインの処理を開始することができ、全体としてクロッ
ク数の増加を招くことはない。例えば、ステージI〜II
Iをバスセレクタにより切り換えて使用するものにおい
て、ステージIIにフリップフロップによるデータ保持機
能がないものではステージIIIにデータを取り込むまで
ステージIは次の処理を始められなかった。これに対し
て、ステージIIのクリティカルパスの部分に挿入したフ
リップフロップによってステージII自体がデータ保持を
行なうのでステージIはステージIIIの処理がまだ終わ
っていなくても次ラインのデータの取り込みを開始する
ことができ、全体として1ラインあたりクロック数は同
じとなる。
【0091】実施例 図3〜図31は上記基本原理に基づくデータ圧縮伸張装
置の実施例を示す図であり、図3〜図7は上記基本原理
(I)に基づくデータ圧縮伸張装置を、図8〜図14は
上記基本原理(II)に基づくデータ圧縮伸張装置を、図
15〜図25は上記基本原理(III)に基づくデータ圧
縮伸張装置を、図26〜図31は上記基本原理(IV)に
基づくデータ圧縮伸張装置を説明するための図である。
【0092】先ず、図3〜図6により上記基本原理
(I)に基づくデータ圧縮伸張装置の構成を説明する。
【0093】図3はデータ圧縮伸張装置のブロック図で
あり、前記図32のデータ圧縮伸張装置に対応する図で
ある。なお、従来例と同一構成部分には同一番号を付し
ている。図3において、データ圧縮伸張装置は、圧縮を
施そうとする2次元データ及びデータ変換演算後のデー
タをパラレルデータの形で蓄えるデータ記憶装置10
と、データ記憶装置10から読み込んだパラレルデータ
をシリアルデータに変換するパラレル−シリアル変換装
装置11と、DCT演算係数を簡単な整数比(あるい
は、整数値)に変えた形のシリアル回路により構成さ
れ、バス切換えにより圧縮時にパラレル−シリアル変換
装置11から出力されたデータに対して一次元のDCT
演算をシリアル演算の形で施すとともに、伸張時にパラ
レル−シリアル変換装置11から出力された圧縮データ
に対して一次元の逆DCT演算をシリアル演算の形で施
すデータ変換演算装置50と、シリアルDCT演算され
たシリアルデータをパラレルデータに変換してデータ記
憶装置10に書き込むシリアル−パラレル変換装置13
と、データ記憶装置10に蓄えられたデータ変換演算後
のデータに対して、DCT演算係数を整数比に変えるこ
とにより生じたゲイン変化分を吸収させるようにした量
子化テーブルの値で除算する(あるいは、逆数の乗算を
行なう)ことによって量子化演算を行なう量子化装置5
1と、上記各部の動作をデータ圧縮伸張装置の全体を制
御する制御装置52により構成されている。図4は、上
記シリアルDCT演算を実行するためのデータ変換演算
装置50の回路構成を示す図であり、I〜IVの各ステー
ジから構成される。
【0094】図4において、61はステージIの演算回
路、62はステージIIの演算回路、63はステージIII
の演算回路、64はステージIVの演算回路であり、これ
らのステージI〜IVの演算回路61〜64はそれぞれス
イッチ65〜69を介して直列に接続するように構成さ
れている。この場合、DCT演算処理では、図3に示す
ように演算回路61〜64の順で直列接続され、また逆
DCT演算の処理では、上記ステージI〜IVの演算回路
61〜64に対応する逆DCT演算処理時のステージI
〜IVの演算回路71〜74とすると、基本的にはスイッ
チ65〜69の切換え動作により演算回路74〜71の
順で直接接続される。そして、入力端子75に与えられ
る入力データに対するDCTまたは逆DCT演算結果は
出力端子76から出力されるようになる。この場合、入
力データは、シリアル8系統よりなっている。
【0095】図5は前記基本原理(I)に基づくデータ
圧縮伸張装置のデータ変換演算装置50の回路構成図で
あり、データ圧縮時のデータ変換演算装置50の構成例
を示している。
【0096】図5において、ステージIの演算回路61
は上述したシリアル演算を実行するものであり、加算器
81a、81b、81c、81dと減算器81e、81
f、81g、81hから構成されている。このステージ
Iの演算回路61の構成は従来例と同様であるが、入力
データf0〜f7の入力は異なっている。
【0097】また、ステージIIの演算回路62は、原理
説明(I)で述べたシリアル演算を実行するものであ
り、係数を簡単な整数比に近似した場合のDCTシリア
ル演算を行なうシリアル演算器82a〜82hから構成
されている。ここで、上記演算器82aは、加算器81
aの出力と加算器81dの出力とを加算する加算器82
a1、この加算器82a1の出力をシフトする3個のフリ
ップフロップ(FF)からなるシフタ82a2から構成
されている。また、上記演算器82bは、加算器81b
の出力と加算器81cの出力とを加算する加算器82b
1、この加算器82b1の出力をシフトする3個のフリッ
プフロップ(FF)からなるシフタ82b2から構成さ
れている。また、上記演算器82cは、加算器81bの
出力から加算器81cの出力を減算する減算器82c
1、この減算器82c1の出力をシフトする3個のフリッ
プフロップからなるシフタ82c2、このシフタ82c2
の第1番目のフリップフロップの出力とシフタ82c2
の出力を加算する加算器82c3、シフタ82c2の第2
番目のフリップフロップの出力と加算器82c3の出力
を加算する加算器82c4から構成されている。同様
に、上記演算器82dは、加算器81aの出力から加算
器81dの出力を減算する減算器82d1、この減算器
82d1の出力をシフトする3個のフリップフロップか
らなるシフタ82d2、このシフタ82d2の第1番目の
フリップフロップの出力とシフタ82d2の出力を加算
する加算器82d3、シフタ82d2の第2番目のフリッ
プフロップの出力と加算器82d3の出力を加算する加
算器82d4から構成されている。
【0098】上記演算器82eは、減算器81eの出力
をシフトする5個のフリップフロップからなるシフタ8
2e1、このシフタ82e1の第3番目のフリップフロッ
プの出力と第4番目のフリップフロップの出力を加算す
る加算器82e2、加算器82e2の出力をシフトするシ
フタ82e3、シフタ82e1の第1番目のフリップフロ
ップの出力と第5番目のフリップフロップの出力を加算
する加算器82e4から構成されている。また、上記演
算器82fは、減算器81gの出力から減算器81fの
出力を減算する減算器82f1、この減算器82f1の出
力をシフトする4個のフリップフロップからなるシフタ
82f2、このシフタ82f2の第2番目のフリップフロ
ップの出力と第3番目のフリップフロップの出力を加算
する加算器82f3、減算器82f1の出力とシフタ82
f2の出力を加算する加算器82f4から構成されてい
る。また、上記演算器82gは、減算器81fの出力と
減算器81gの出力を加算する加算器82g1、この加
算器82g1の出力をシフトする4個のフリップフロッ
プからなるシフタ82g2、このシフタ82g2の第2番
目のフリップフロップの出力と第3番目のフリップフロ
ップの出力を加算する加算器82g3、加算器82g1の
出力とシフタ82g2の出力を加算する加算器82g4か
ら構成されている。また、上記演算器82hは、減算器
81hの出力をシフトする5個のフリップフロップから
なるシフタ82h1、このシフタ82h1の第3番目のフ
リップフロップの出力と第4番目のフリップフロップの
出力を加算する加算器82h2、加算器82h2の出力を
シフトするシフタ82h3、シフタ82h1の第1番目の
フリップフロップの出力と第5番目のフリップフロップ
の出力を加算する加算器82h4から構成されている。
【0099】また、ステージIIIの演算回路63は、原
理説明(I)で述べたシリアル演算を実行するものであ
り、演算器82aの出力と演算器82b2の出力を加算
する加算器83a、演算器82aの出力から演算器82
bの出力を減算する減算器83b、演算器82dの加算
器82d3の出力から演算器82cの加算器82c4の出
力を減算する減算器83c、演算器82cの加算器82
c3の出力と演算器82dの加算器82d4の出力を加算
する加算器83d、演算器82eの加算器82e4の出
力と演算器82fの加算器82f3の出力を加算する加
算器83e、演算器82eのシフタ82e3の出力から
演算器82fの加算器82f4の出力を減算する減算器
83f、演算器82hの加算器82h3の出力から演算
器82gの加算器82f4の出力を減算する減算器83
g、演算器82gの加算器82g3の出力と演算器82
hの加算器82h4の出力を加算する加算器83hから
構成されている。
【0100】また、ステージIVの演算回路64は、原理
説明(I)で述べたシリアル演算を実行するものであ
り、係数を簡単な整数比に近似した場合のDCTシリア
ル演算を行なうシリアル演算器84a〜84hから構成
されている。ここで、上記演算器84aは、加算器83
aの出力をシフトする6個のフリップフロップからなる
シフタ84a1、このシフタ84a1の第5番目のフリッ
プフロップの出力と第6番目のフリップフロップの出力
を加算する加算器84a2、加算器84a2の出力からシ
フタ84a1の第3番目のフリップフロップの出力を減
算して出力データF0として出力する減算器84a3から
構成されている。また、上記演算器84bは、減算器8
3bの出力をシフトする6個のフリップフロップからな
るシフタ84b1、このシフタ84b1の第5番目のフリ
ップフロップの出力と第6番目のフリップフロップの出
力を加算する加算器84b2、加算器84b2の出力から
シフタ84b1の第3番目のフリップフロップの出力を
減算して出力データF4として出力する減算器84b3か
ら構成されている。また、上記演算器84cは、減算器
83cの出力をシフトする5個のフリップフロップから
なるシフタ84c1、このシフタ84c1の第3番目のフ
リップフロップの出力と第5番目のフリップフロップの
出力を加算して出力データF6として出力する加算器8
4c2から構成されている。また、上記演算器84d
は、加算器83dの出力をシフトする5個のフリップフ
ロップからなるシフタ84d1、このシフタ84d1の第
3番目のフリップフロップの出力と第5番目のフリップ
フロップの出力を加算して出力データF2として出力す
る加算器84d2から構成されている。
【0101】上記演算器84eは、加算器83eの出力
をシフトする2個のフリップフロップからなるシフタ8
4e1、加算器83eの出力とシフタ84e1の出力を加
算して出力する加算器84e2、後述するシフタ84h1
の第1番目のフリップフロップの出力からこの加算器8
4e2の出力を減算する減算器84e3、減算器84e3
の出力をシフトする2個のフリップフロップからなるシ
フタ84e4、このシフタ84e4の出力から減算器84
e3の出力を減算して出力データF7として出力する減算
器84e5から構成されている。また、上記演算器84
fは、減算器83fの出力をシフトする2個のフリップ
フロップからなるシフタ84f1、減算器83fの出力
とシフタ84f1の第1番目のフリップフロップの出力
を加算する加算器84f2、後述する加算器g2の出力か
らこのシフタ84f1の出力を減算する減算器84f3、
減算器84f3の出力をシフトする2個のフリップフロ
ップからなるシフタ84f4、シフタ84f4の出力から
減算器84f3の出力を減算して出力データF3として出
力する減算器84f5から構成されている。また、上記
演算器84gは、減算器83gの出力をシフトする2個
のフリップフロップからなるシフタ84g1、減算器8
3gの出力とシフタ84g1の第1番目のフリップフロ
ップの出力を加算する加算器84g2、上記加算器f2の
出力とシフタ84g1の出力を加算する加算器84g3、
加算器84g3の出力をシフトする2個のフリップフロ
ップからなるシフタ84g4、シフタ84g4の出力から
加算器84g3の出力を減算して出力データF5として出
力する減算器84g5から構成されている。また、上記
演算器84hは、加算器83hの出力をシフトする2個
のフリップフロップからなるシフタ84h1、加算器8
3hの出力とシフタ84h1の出力を加算して出力する
加算器84h2、上記シフタ84e1の第1番目のフリッ
プフロップの出力と加算器84h2の出力を加算する加
算器84h3、加算器84h3の出力をシフトする2個の
フリップフロップからなるシフタ84h4、シフタ84
h4の出力から加算器84h3の出力を減算して出力デー
タF1として出力する減算器84h5から構成されてい
る。
【0102】図6はデータ圧縮伸張装置のデータ変換演
算装置50の回路構成図であり、データ伸張時のデータ
変換演算装置50の構成例を示している。この図6は前
記図5に示すデータ変換演算装置50の逆変換装置に対
応する図である。
【0103】図6において、ステージIVの演算回路74
は、原理説明(I)で述べたシリアル演算を実行するも
のであり、係数を簡単な整数比に近似した場合の逆DC
Tシリアル演算を行なうシリアル演算器94c〜94h
から構成されている。ここで、上記演算器94aは、逆
変換の入力データF0をシフトする3個のフリップフロ
ップ(FF)からなるシフタ94a1、このシフタ94
a1の第2番目のフリップフロップの出力と第3番目の
フリップフロップの出力を加算する加算器94a2、加
算器94a2の出力から入力データF0を減算する減算器
94a3から構成されている。また、上記演算器94b
は、逆変換の入力データF4をシフトする3個のフリッ
プフロップからなるシフタ94b1、このシフタ94b1
の第2番目のフリップフロップの出力と第3番目のフリ
ップフロップの出力を加算する加算器94b2、加算器
94b2の出力から入力データF4を減算する減算器94
b3から構成されている。また、上記演算器94cは、
逆変換の入力データF6をシフトする2個のフリップフ
ロップからなるシフタ94c1、このシフタ94c1の出
力と入力データF6の出力を加算する加算器94c2、こ
の加算器94c2の出力をシフトする2個のフリップフ
ロップからなるシフタ94c3、このシフタ94c3の出
力と加算器94c2の出力を加算する加算器94c4、こ
の加算器94c4の出力とシフタ94c4の第1番目のフ
リップフロップの出力を加算する加算器94c5から構
成されている。また、上記演算器94dは、逆変換の入
力データF2をシフトする2個のフリップフロップから
なるシフタ94d1、このシフタ94d1の出力と入力デ
ータF2の出力を加算する加算器94d2、この加算器9
4d2の出力をシフトする2個のフリップフロップから
なるシフタ94d3、このシフタ94d3の出力と加算器
94d2の出力を加算する加算器94d4、この加算器9
4d4の出力とシフタ94d4の第1番目のフリップフロ
ップの出力を加算する加算器94d5から構成されてい
る。
【0104】また、上記演算器94eは、逆変換の入力
データF7をシフトする2個のフリップフロップからな
るシフタ94e1、このシフタ94e1の出力から入力デ
ータF7を減算する減算器94e2から構成され、上記演
算器94fは、逆変換の入力データF3をシフトする2
個のフリップフロップからなるシフタ84f1、このシ
フタ84f1の出力から入力データF3を減算する減算器
84f2から構成されている。また、上記演算器93g
は、逆変換の入力データF5をシフトする2個のフリッ
プフロップからなるシフタ94g1、シフタ94g1の出
力から入力データF5を減算する減算器94g2から構成
され、上記演算器93hは、逆変換の入力データF1を
シフトする2個のフリップフロップからなるシフタ94
h1、シフタ94h1の出力から入力データF1を減算す
る減算器94h2から構成されている。
【0105】また、ステージIIIの演算回路73は、原
理説明(I)で述べたシリアル演算を実行するものであ
り、係数を簡単な整数比に近似した場合の逆DCTシリ
アル演算を行なうシリアル演算器93a〜93hから構
成されている。ここで、上記演算器93aは、減算器9
4aの出力と減算器94bの出力とを加算する加算器9
3a1、この加算器93a1の出力をシフトする3個のフ
リップフロップからなるシフタ93a2から構成されて
いる。また、上記演算器93bは、加算器94c4の出
力と加算器94d5の出力とを加算する加算器93b1、
この加算器93b1の出力をシフトする1個のフリップ
フロップからなるシフタ93b2から構成されている。
また、上記演算器93cは、加算器94d4の出力から
加算器94c5の出力を減算する減算器82c1、この減
算器82c1の出力をシフトする1個のフリップフロッ
プからなるシフタ93c2から構成されている。また、
上記演算器93dは、減算器94a3の出力から減算器
94b3の出力を減算する減算器93d1、この減算器9
3d1の出力をシフトする3個のフリップフロップから
なるシフタ82d2から構成されている。
【0106】上記演算器93eは、減算器94e2の出
力をシフトする5個のフリップフロップからなるシフタ
93e1、このシフタ93e1の第3番目のフリップフロ
ップの出力と第4番目のフリップフロップの出力を加算
する加算器93e2、加算器93e2の出力をシフトする
シフタ93e3、シフタ93e1の第1番目のフリップフ
ロップの出力と第5番目のフリップフロップの出力を加
算する加算器93e4から構成されている。また、上記
演算器93fは、減算器94f2の出力から減算器94
g2の出力を減算する減算器93f1、この減算器93f
1の出力をシフトする4個のフリップフロップからなる
シフタ93f2、このシフタ93f2の第2番目のフリッ
プフロップの出力と第3番目のフリップフロップの出力
を加算する加算器93f3、減算器93f1の出力とシフ
タ93f2の出力を加算する加算器93f4から構成され
ている。また、上記演算器93gは、減算器94f2の
出力と減算器94g2の出力を加算する加算器93g1、
この加算器93g1の出力をシフトする4個のフリップ
フロップからなるシフタ93g2、このシフタ93g2の
第2番目のフリップフロップの出力と第3番目のフリッ
プフロップの出力を加算する加算器93g3、減算器9
3g1の出力とシフタ93g2の出力を加算する加算器9
3g4から構成されている。また、上記演算器93h
は、減算器94h2の出力をシフトする5個のフリップ
フロップからなるシフタ93h1、このシフタ93h1の
第3番目のフリップフロップの出力と第4番目のフリッ
プフロップの出力を加算する加算器93h2、加算器9
3h2の出力をシフトするシフタ93h3、シフタ93h
1の第1番目のフリップフロップの出力と第5番目のフ
リップフロップの出力を加算する加算器93h4から構
成されている。
【0107】また、ステージIIの演算回路72は、原理
説明(I)で述べたシリアル演算を実行するものであ
り、係数を簡単な整数比に近似した場合の逆DCTシリ
アル演算を行なうシリアル演算器92a〜92hから構
成されている。ここで、上記演算器92aは、シフタ9
3a2の出力とシフタ93b2の出力とを加算する加算器
92a1、この加算器92a1の出力をシフトする3個の
フリップフロップからなるシフタ92a2から構成され
ている。また、上記演算器92bは、シフタ93a2の
出力からシフタ93b2の出力を減算する減算器92b
1、この加算器92b1の出力をシフトする3個のフリッ
プフロップからなるシフタ92b2から構成されてい
る。また、上記演算器92cは、シフタ93d2の出力
からシフタ93c2の出力を減算する減算器92c1、こ
の減算器92c1の出力をシフトする3個のフリップフ
ロップからなるシフタ92c2から構成されている。ま
た、上記演算器92dは、シフタ93c2の出力とシフ
タ93d2の出力を加算する加算器92d1、この加算器
92d1の出力をシフトする3個のフリップフロップか
らなるシフタ92d2から構成されている。
【0108】上記演算器92eは、加算器93e3の出
力から加算器93f4の出力を減算する減算器92e1、
この減算器92e1の出力をシフトするシフタ92e2、
減算器92e1の出力とシフタ92e2の第1番目のフリ
ップフロップの出力を加算する加算器92e3、後述す
る加算器92f3からシフタ92e2の出力を減算する減
算器92e4から構成されている。また、上記演算器9
2fは、加算器93h3の出力から加算器93g4の出力
を減算する減算器92f1、この減算器92f1の出力を
シフトするシフタ92f2、減算器92f1の出力とシフ
タ92f2の第1番目のフリップフロップの出力を加算
する加算器92f3、加算器92e3とシフタ92f2の
出力を加算する加算器92f4から構成されている。ま
た、上記演算器92gは、加算器93f3の出力と加算
器93e4の出力を加算する加算器92g1、この加算器
92g1の出力をシフトする2個のフリップフロップか
らなるシフタ92g2、この加算器92g1の出力とシフ
タ92g2の出力を加算する加算器92g3、後述するシ
フタh2の第1番目のフリップフロップの出力から加算
器92g3の出力を減算する減算器92g4から構成され
ている。また、上記演算器92hは、加算器93g3の
出力と加算器93h4の出力を加算する加算器92h1、
この加算器92h1の出力をシフトする2個のフリップ
フロップからなるシフタ92h2、この加算器92h1の
出力とシフタ92h2の出力を加算する加算器92h3、
シフタg2の第1番目のフリップフロップの出力と加算
器92h3の出力を加算する加算器92h4から構成され
ている。
【0109】また、ステージIの演算回路71は上述し
たシリアル演算を実行して逆変換の出力データf0〜f7
を出力するものであり、加算器91a、91b、91
c、91dと減算器91e、91f、91g、91hか
ら構成されている。
【0110】次に、図8〜図12により前記基本原理
(II)に基づくデータ圧縮伸張装置の構成を説明する。
【0111】上記図5及び図6のデータ変換演算装置5
0に前記基本原理(II)の考え方を適用することを考え
る。図5のデータ圧縮時のデータ変換演算装置50の各
ステージI〜IVの構造をみた場合、ステージIの構造は
シンプルな形であり、またステージIVの出力側の最終段
も加減算のみのシンプルな形であり簡略化は困難であ
る。これに対し、ステージII、III、IVはバタフライ演
算部を有し構造が複雑であるばかりかステージIVのev
en(偶数)側にはタイミング合わせのFFが存在す
る。特に、odd(奇数)側のステージII、III、IVに
は2段のバタフライ演算部が存在し、このodd側のバ
タフライ演算部を簡略化することによってデータ変換演
算装置50全体の演算実行速度を向上させることができ
る。本実施例では、データ変換演算装置50のodd側
に前記基本原理(II)の考え方を適用する。
【0112】図8はデータ圧縮伸張装置のデータ圧縮時
のデータ変換演算装置50の回路構成図であり、前記図
5に示すデータ圧縮時のデータ変換演算装置50と同じ
ものである。また、図14は7bitデータが入力された
場合のデータ変換演算装置50の入力から出力までのタ
イミングチャートである。図8において、構造を簡略化
するのが困難なデータ変換演算装置50のodd側に着
目し、同図破線に示すようにデータ変換演算装置50の
odd側のステージII、III及びステージIVのバタフラ
イ演算部を一纏めにし、この部分に前記基本原理(II)
の考え方を適用して簡略化する。
【0113】図9は前記基本原理(II)に基づくデータ
圧縮伸張装置のデータ圧縮時のデータ変換演算装置11
0の回路構成図であり、前記図8に示すデータ変換演算
装置50に対応する図である。図9に示すデータ変換演
算装置110は、前記図8の破線内を図11に示すよう
に構成することによってデータ変換演算装置110全体
の速度向上を図るようにしたものである。なお、図9及
び図11の説明に当たり図5と同一構成部分には同一番
号を付している。
【0114】図9において、データ変換演算装置110
はI〜IIIの各ステージから構成され、ステージIの演
算回路111はシリアル演算を実行する加算器81a、
81b、81c、81dと減算器81e、81f、81
g、81hから構成されている。減算器81e、81
f、81g、81hの出力はDCT演算式をそのままハ
ードウェア化したシリアル回路100(図11)に出力
される。
【0115】また、ステージIIの演算回路112は、原
理説明(I)で述べたシリアル演算を、原理説明(II)
で述べたDCT演算式をそのままハードウェア化したシ
リアル回路上で実行するものであり、even側は係数
を簡単な整数比に近似してDCTシリアル演算を行なう
シリアル演算器112a〜112dから構成され、od
d側はDCT演算式をそのままハードウェア化したシリ
アル回路100(図11)から構成されている。
【0116】また、上記シリアル演算器112a〜11
2dの前段は、DCTシリアル演算を行なうシリアル演
算器82a〜82dと、これら演算器82a〜82dの
出力をバタフライ演算により加減算する加減算器83a
〜83dにより構成され、前記図5のeven側のステ
ージIIとステージIIIを合わせたものに相当する。ここ
で、上記演算器82aは、加算器81aの出力と加算器
81dの出力とを加算する加算器82a1、この加算器
82a1の出力をシフトする3個のフリップフロップ
(FF)からなるシフタ82a2から構成され、また、
上記演算器82bは、加算器81bの出力と加算器81
cの出力とを加算する加算器82b1、この加算器82
b1の出力をシフトする3個のフリップフロップ(F
F)からなるシフタ82b2から構成されている。ま
た、上記演算器82cは、加算器81bの出力から加算
器81cの出力を減算する減算器82c1、この減算器
82c1の出力をシフトする3個のフリップフロップか
らなるシフタ82c2、このシフタ82c2の第1番目の
フリップフロップの出力とシフタ82c2の出力を加算
する加算器82c3、シフタ82c2の第2番目のフリッ
プフロップの出力と加算器82c3の出力を加算する加
算器82c4から構成されている。同様に、上記演算器
82dは、加算器81aの出力から加算器81dの出力
を減算する減算器82d1、この減算器82d1の出力を
シフトする3個のフリップフロップからなるシフタ82
d2、このシフタ82d2の第1番目のフリップフロップ
の出力とシフタ82d2の出力を加算する加算器82d
3、シフタ82d2の第2番目のフリップフロップの出力
と加算器82d3の出力を加算する加算器82d4から構
成されている。また、上記シリアル演算器112a〜1
12dの後段は、原理説明(I)で述べたシリアル演算
を実行するものであり、演算器82aの出力と演算器8
2b2の出力を加算する加算器83a、演算器82aの
出力から演算器82bの出力を減算する減算器83b、
演算器82cの加算器82c4の出力から演算器82d
の加算器82d3の出力を減算する減算器83c、演算
器82cの加算器82c3の出力と演算器82dの加算
器82d4の出力を加算する加算器83dから構成され
ている。
【0117】また、ステージIIの演算回路112のod
d側のシリアル回路100の構成については図11によ
り後述する。
【0118】また、ステージIIIの演算回路113は、
原理説明(I)で述べたシリアル演算を実行するもので
あり、係数を簡単な整数比に近似した場合のDCTシリ
アル演算を行なうシリアル演算器113a〜113hか
ら構成されている。
【0119】ここで、上記演算器113aは、加算器8
3aの出力をシフトする3個のフリップフロップからな
るシフタ113a1、このシフタ113a1の第2番目の
フリップフロップの出力と第3番目のフリップフロップ
の出力を加算する加算器84a2、加算器84a2の出力
から加算器83aの出力を減算して出力データF0とし
て出力する減算器84a3から構成されている。また、
上記演算器113bは、減算器83bの出力をシフトす
る3個のフリップフロップからなるシフタ113b1、
このシフタ113b1の第2番目のフリップフロップの
出力と第3番目のフリップフロップの出力を加算する加
算器84b2、加算器84b2の出力から減算器83bの
出力を減算して出力データF4として出力する減算器8
4b3から構成されている。また、上記演算器113c
は、減算器83cの出力をシフトする2個のフリップフ
ロップからなるシフタ113c1、このシフタ113c1
の第2番目のフリップフロップの出力と減算器83cの
出力を加算して出力データF6として出力する加算器8
4c2から構成されている。また、上記演算器113d
は、加算器83dの出力をシフトする2個のフリップフ
ロップからなるシフタ113d1、このシフタ113d1
の第2番目のフリップフロップの出力と加算器83dの
出力を加算して出力データF2として出力する加算器8
4d2から構成されている。
【0120】また、上記演算器113eは、シリアル回
路100の出力x0をシフトする2個のフリップフロッ
プからなるシフタ84e4、このシフタ84e4の出力か
ら減算器84e3の出力を減算して出力データF7として
出力する減算器84e5から構成され、上記演算器11
3fは、シリアル回路100の出力x1をシフトする2
個のフリップフロップからなるシフタ84f4、減算器
84f3の出力からシフタ84f4の出力を減算して出力
データF3として出力する減算器84f5から構成されて
いる。また、上記演算器113gは、シリアル回路10
0の出力x2をシフトする2個のフリップフロップから
なるシフタ84g4、シフタ84g4の出力から加算器8
4g3の出力を減算して出力データF5として出力する減
算器84g5から構成され、上記演算器113hは、シ
リアル回路100の出力x3をシフトする2個のフリッ
プフロップからなるシフタ84h4、加算器84h3の出
力からシフタ84h4の出力を減算して出力データF1と
して出力する減算器84h5から構成されている。
【0121】このように、ステージIIIのeven側の
シリアル演算器113a〜113dは、前記図5のステ
ージIVのシリアル演算器84a〜84dのシフタ84a
1〜84d1から3段のフリップフロップ(FF)を取り
去った構成となっており、また、テージIIIのodd側
のシリアル演算器113e〜113hは、前記図5のス
テージIVの演算器84e〜84hからバタフライ演算部
分(例えば、演算器84eにおいては、シフタ84e
1、加算器84e2及び減算器84e3、演算器84fに
おいては、シフタ84f1、加算器84f2及び減算器8
4f3、演算器84gにおいては、シフタ84g1、加算
器84g2及び加算器84g3、演算器84hにおいて
は、シフタ84h1、加算器84h2及び加算器84h
3)を取り去った構成となっている。
【0122】図10は前記基本原理(II)に基づくデー
タ圧縮伸張装置のデータ伸張時のデータ変換演算装置1
20の回路構成図であり、前記図6に示すデータ伸張時
のデータ変換演算装置50に対応する図である。図10
に示すデータ変換演算装置120は、上述したデータ圧
縮時のデータ変換演算装置110の場合と同様に前記図
6のodd側のステージII、III及びステージIVのバタ
フライ演算部を一纏めにし、この部分に前記基本原理
(II)の考え方を適用して簡略化して全体の速度向上を
図るようにしたものである。なお、図10及び図11の
説明に当たり図6と同一構成部分には同一番号を付して
いる。
【0123】図10において、データ変換演算装置12
0はI〜IIIの各ステージから構成される。ステージIII
の演算回路123は、原理説明(I)で述べたシリアル
演算を実行するものであり、係数を簡単な整数比に近似
した場合の逆DCTシリアル演算を行なうシリアル演算
器123a〜123hから構成されている。ここで、上
記演算器123aは、逆変換の入力データF0をシフト
する3個のフリップフロップ(FF)からなるシフタ9
4a1、このシフタ94a1の第2番目のフリップフロッ
プの出力と第3番目のフリップフロップの出力を加算す
る加算器94a2、加算器94a2の出力から入力データ
F0を減算する減算器94a3から構成されている。ま
た、上記演算器123bは、逆変換の入力データF4を
シフトする3個のフリップフロップからなるシフタ94
b1、このシフタ94b1の第2番目のフリップフロップ
の出力と第3番目のフリップフロップの出力を加算する
加算器94b2、加算器94b2の出力から入力データF
4を減算する減算器94b3から構成されている。また、
上記演算器123cは、逆変換の入力データF6をシフ
トする2個のフリップフロップからなるシフタ94c
1、このシフタ94c1の出力と入力データF6の出力を
加算する加算器94c2、この加算器94c2の出力をシ
フトする2個のフリップフロップからなるシフタ94c
3、このシフタ94c3の出力と加算器94c2の出力を
加算する加算器94c4、この加算器94c4の出力とシ
フタ94c4の第1番目のフリップフロップの出力を加
算する加算器94c5から構成されている。また、上記
演算器123dは、逆変換の入力データF2をシフトす
る2個のフリップフロップからなるシフタ94d1、こ
のシフタ94d1の出力と入力データF2の出力を加算す
る加算器94d2、この加算器94d2の出力をシフトす
る2個のフリップフロップからなるシフタ94d3、こ
のシフタ94d3の出力と加算器94d2の出力を加算す
る加算器94d4、この加算器94d4の出力とシフタ9
4d4の第1番目のフリップフロップの出力を加算する
加算器94d5から構成されている。
【0124】また、上記演算器123eは、逆変換の入
力データF7をシフトする2個のフリップフロップから
なるシフタ94e1、このシフタ94e1の出力から入力
データF7を減算してシリアル回路100の入力b2に出
力する減算器94e2から構成され、上記演算器123
fは、逆変換の入力データF3をシフトする2個のフリ
ップフロップからなるシフタ84f1、このシフタ84
f1の出力から入力データF3を減算してシリアル回路1
00の入力b1に出力する減算器84f2から構成されて
いる。また、上記演算器123gは、逆変換の入力デー
タF5をシフトする2個のフリップフロップからなるシ
フタ94g1、シフタ94g1の出力から入力データF5
を減算してシリアル回路100の入力b0に出力する減
算器94g2から構成され、上記演算器123hは、逆
変換の入力データF1をシフトする2個のフリップフロ
ップからなるシフタ94h1、シフタ94h1の出力から
入力データF1を減算してシリアル回路100の入力b3
に出力する減算器94h2から構成されている。
【0125】また、ステージIIの演算回路122は、原
理説明(I)で述べたシリアル演算を、原理説明(II)
で述べたDCT演算式をそのままハードウェア化したシ
リアル回路上で実行するものであり、even側は係数
を簡単な整数比に近似してDCTシリアル演算を行なう
シリアル演算器122a〜122dから構成され、od
d側はDCT演算式をそのままハードウェア化したシリ
アル回路100(図11)から構成されている。また、
ステージIIの演算回路122は、前記図5のeven側
のステージIIIとステージIIの一部を合わせたものに相
当する。
【0126】ここで、上記演算器122aは、減算器9
4a3の出力と減算器94b3の出力とを加算する加算器
93a1、この加算器93a1の出力をシフトする3個の
フリップフロップからなるシフタ93a2、シフタ93
a2の出力とシフタ122b1の出力とを加算する加算器
92a1から構成されている。また、上記演算器122
bは、加算器94c4の出力と加算器94d5の出力とを
加算する加算器93b1、この加算器93b1の出力をシ
フトする3個のフリップフロップからなるシフタ122
b1、シフタ93a2の出力からシフタ122b1の出力
を減算する減算器92b1から構成されている。
【0127】また、上記演算器122cは、加算器94
d4の出力から加算器94c5の出力を減算する減算器9
3c1、この減算器93c1の出力をシフトする3個のフ
リップフロップからなるシフタ122c1、このシフタ
122c1の第1番目のフリップフロップの出力とシフ
タ122c1の出力を加算する加算器122c2、シフタ
122c1の第2番目のフリップフロップの出力が入力
される加算器122c3、シフタ122d1の出力からシ
フタ122c1の第1番目のフリップフロップの出力を
減算する減算器92c1から構成されている。また、上
記演算器122dは、減算器94a3の出力から加算器
94b3の出力を減算する減算器93d1、この減算器9
3d1の出力をシフトする3個のフリップフロップから
なるシフタ122d1、このシフタ122d1の第1番目
のフリップフロップの出力とシフタ122d1の出力を
加算する加算器122d2、シフタ122d1の第2番目
のフリップフロップの出力が入力される加算器122c
3、シフタ122c1の第1番目のフリップフロップの出
力とシフタ122d1の出力を加算する加算器92d1か
ら構成されている。なお、上記演算器122cの加算器
122c2及び加算器122c3、上記演算器122dの
加算器122d2及び加算器122d3は、データ伸張時
には使用しないが図9に示すデータ圧縮時には使用する
ため図9の演算器112c、112dと同一回路に構成
し、中間出力を取り出すことによって図6のシリアル演
算を行なう。
【0128】また、ステージIIの演算回路122のod
d側のシリアル回路100の構成については図11によ
り後述する。
【0129】また、ステージIの演算回路121は上述
したシリアル演算を実行して逆変換の出力データf0〜
f7を出力するものであり、シリアル回路100の出力
x3と加算器92a1の出力を加算して出力データf0と
して出力する加算器91a、シリアル回路100の出力
x0と減算器92b1の出力を加算して出力データf3と
して出力する加算器91b、シリアル回路100の出力
x2と減算器92c1の出力を加算して出力データf2と
して出力する加算器91c、シリアル回路100の出力
x1と加算器92d1の出力を加算して出力データf1と
して出力する91d、加算器92d1の出力からシリア
ル回路100の出力x1を減算して出力データf6として
出力する減算器91e、減算器92c1の出力からシリ
アル回路100の出力x2を減算して出力データf5とし
て出力する減算器91f、減算器92b1の出力からシ
リアル回路100の出力x0を減算して出力データf4と
して出力する減算器91g、加算器92a1の出力から
シリアル回路100の出力x3を減算して出力データf7
として出力する減算器91hから構成されている。
【0130】このように、ステージIIのeven側のシ
リアル演算器122a〜122dは、前記図6のステー
ジIIのシリアル演算器92a〜92dのシフタ92a1
〜92d1から3段のフリップフロップ(FF)を取り
去った構成となっている。
【0131】図11はDCT演算式をそのままハードウ
ェア化したシリアル回路100の回路構成図である。シ
リアル回路100は、前述したように前記図8の破線に
示す部分及び前記図6に示すステージII、IIIのodd
側のシリアル回路部分に前記基本原理(II)の考え方を
適用することにより構成されている。
【0132】図8の破線内の演算について、入力をb0
〜b3、出力をx0〜x3とすると、シリアル回路100
は、DCT演算式を展開して得られた各入力b0〜b3に
共通な係数を2のべきにある数値をかけた形で表現した
場合の該数値の部分を作成する前段のシリアル回路10
1と、このシリアル回路101により計算された係数出
力に対して出力方向(DCT演算式の横方向)に符号分
を含めた加減算を行なって出力x0〜x3として出力する
後段のシリアル回路102により構成されている。すな
わち、上記シリアル回路101は、入力b0について各
入力b0〜b3に共通な係数(本実施例では、17、8
5、48、72)を2のべきにある数値(本実施例で
は、2、42、6、18)をかけた形で表現した場合に
該数値の部分を作成するシリアル演算器101e、入力
b1について各入力b0〜b3に共通な係数を2のべきに
ある数値をかけた形で表現した場合に該数値の部分を作
成するシリアル演算器101f、入力b2について各入
力b0〜b3に共通な係数を2のべきにある数値をかけた
形で表現した場合に該数値の部分を作成するシリアル演
算器101g、入力b3について各入力b0〜b3に共通
な係数を2のべきにある数値をかけた形で表現した場合
に該数値の部分を作成するシリアル演算器101hから
構成されている。
【0133】具体的には、シリアル演算器101eは、
入力b0をシフトする3個のフリップフロップからなる
シフタ101e1、入力b0とシフタ101e1の第1番
目のフリップフロップの出力を加算して出力する加算器
101e2、入力b0とシフタ101e1の出力を加算し
て出力する加算器101e3、シフタ101e1の第1番
目のフリップフロップの出力とシフタ101e1の出力
を加算して出力する加算器101e4、入力b0と加算器
101e4の出力を加算して出力する加算器101e5か
ら構成されている。同様に、シリアル演算器101f
は、入力b1をシフトする3個のフリップフロップから
なるシフタ101f1、入力b1とシフタ101f1の第
1番目のフリップフロップの出力を加算して出力する加
算器101f2、入力b1とシフタ101f1の出力を加
算して出力する加算器101f3、シフタ101f1の第
1番目のフリップフロップの出力とシフタ101f1の
出力を加算して出力する加算器101f4、入力b1と加
算器101f4の出力を加算して出力する加算器101
f5から構成されている。また、シリアル演算器101
gは、入力b2をシフトする3個のフリップフロップか
らなるシフタ101g1、入力b2とシフタ101g1の
第1番目のフリップフロップの出力を加算して出力する
加算器101g2、入力b2とシフタ101g1の出力を
加算して出力する加算器101g3、シフタ101g1の
第1番目のフリップフロップの出力とシフタ101g1
の出力を加算して出力する加算器101g4、入力b2と
加算器101g4の出力を加算して出力する加算器10
1g5から構成されている。また、シリアル演算器10
1hは、入力b3をシフトする3個のフリップフロップ
からなるシフタ101e1、入力b3とシフタ101h1
の第1番目のフリップフロップの出力を加算して出力す
る加算器101h2、入力b3とシフタ101h1の出力
を加算して出力する加算器101h3、シフタ101h1
の第1番目のフリップフロップの出力とシフタ101h
1の出力を加算して出力する加算器101h4、入力b3
と加算器101h4の出力を加算して出力する加算器1
01h5から構成されている。
【0134】また、上記シリアル回路102は、シリア
ル演算器101e〜101hにより計算された係数出力
に対して出力方向に符号分を含めた加減算を順次行なっ
て出力x3〜x0として出力するシリアル演算器102e
〜102hにより構成されている。すなわち、上記シリ
アル演算器102eは、シリアル演算器101fの加算
器101f2の出力とシリアル演算器101eのシフタ
101e1の第1番目のフリップフロップの出力を加算
する加算器102e1、この加算器102e1の出力とシ
リアル演算器101gの加算器101g3の出力を加算
する加算器102e2、この加算器102e2の出力とシ
リアル演算器101hの加算器101h5の出力を加算
する加算器102e3、この加算器102e3の出力と入
力b3を加算する加算器102e4、この加算器102e
4の出力とシリアル演算器101eのシフタ101e1の
第1番目のフリップフロップの出力を加算して出力x3
として出力する加算器102e5から構成されている。
また、上記シリアル演算器102fは、シリアル演算器
101hの加算器101h2の出力からシリアル演算器
101fのシフタ101f1の第1番目のフリップフロ
ップの出力を減算する減算器102f1、この減算器1
02f1の出力とシリアル演算器101eの加算器10
1e3の出力を加算する加算器102f2、この加算器1
02f2の出力とシリアル演算器101gの加算器10
1g5の出力を加算する加算器102f3、この加算器1
02f3の出力と入力b2を加算する加算器102f4、
この加算器102f4の出力からシリアル演算器101
fのシフタ101f1の第1番目のフリップフロップの
出力を減算して出力x2として出力する減算器102f5
から構成されている。また、上記シリアル演算器102
gは、シリアル演算器101eの加算器101e2の出
力とシリアル演算器101gのシフタ101g1の第1
番目のフリップフロップの出力を加算する加算器102
g1、シリアル演算器101hの加算器101h3の出力
から加算器102g1の出力を減算する減算器102g
2、この減算器102g2の出力からシリアル演算器10
1fの加算器101f5の出力を減算する減算器102
g3、この減算器102g3の出力から入力b1を減算す
る減算器102g4、この減算器102g4の出力からシ
リアル演算器101gのシフタ101g1の第1番目の
フリップフロップの出力を減算して出力x1として出力
する減算器102g5から構成されている。また、上記
シリアル演算器102hは、シリアル演算器101hの
シフタ101h1の第1番目のフリップフロップの出力
からシリアル演算器101gの加算器101g2の出力
を減算する減算器102h1、この減算器102h1の出
力とシリアル演算器101fの加算器101f3の出力
を加算する加算器102h2、この加算器102h2の出
力からシリアル演算器101eの加算器101e5の出
力を減算する減算器102h3、この減算器102h3の
出力から入力b0を減算する減算器102h4、この減算
器102h4の出力とシリアル演算器101hのシフタ
101h1の第1番目のフリップフロップの出力を加算
して出力x0として出力する加算器102h5から構成さ
れている。
【0135】図12は、上記シリアル回路100を含ん
で構成されたデータ圧縮時のデータ変換演算装置110
及びデータ伸張時のデータ変換演算装置120のブロッ
ク図である。
【0136】図12において、データ変換演算装置11
0、120は、上記ステージI111,121、ステー
ジII112,122、ステージIII113,123と、
各ステージをデータ圧縮時には図9のように、またデー
タ伸張時には図10のように接続するバスの切り換えを
行なうバスセレクタ131〜134とから構成される。
データ変換演算装置110、120は制御装置52(図
3)からのバス切換え信号によりバスセレクタ131〜
134を切り換えて各ステージの接続状態を切換え、圧
縮伸張両方のデータ変換演算を可能にする。
【0137】次に、図15〜図23により前記基本原理
(III)に基づくデータ圧縮伸張装置の構成を説明す
る。
【0138】図15は前記基本原理(III)に基づくデ
ータ圧縮伸張装置のデータ圧縮時のデータ変換演算装置
140の回路構成図であり、前記図9の基本原理(II)
に基づくデータ圧縮時のデータ変換演算装置110に、
さらに前記基本原理(III)の考え方を適用した例であ
る。また、図17はデータ変換演算装置140のステー
ジIIのodd側のシリアル回路160の回路構成図であ
り、前記図11のシリアル回路100に、前記基本原理
(III)の考え方を適用した例である。なお、図15及
び図17の説明に当たり図9及び図11と同一構成部分
には同一番号を付している。
【0139】図15において、データ変換演算装置14
0はI〜IIIの各ステージから構成され、ステージIの
演算回路141はシリアル演算を実行する加算器81
a、81b、81c、81dと減算器81e、81f、
81g、81hから構成されている。減算器81e、8
1f、81g、81hの出力はDCT演算式をそのまま
ハードウェア化するとともに、複数段の加減算を一度に
行なうシリアル回路160(図17)に出力される。
【0140】また、ステージIIの演算回路142は、原
理説明(I)で述べたシリアル演算及び原理説明(II)
で述べたDCT演算式をそのままハードウェア化したシ
リアル回路を基に、原理説明(III)で述べた考え方に
従って複数段の加減算を一度に行なうシリアル回路を構
成し、このように構成したシリアル回路上でデータ変換
演算を実行するものである。ここで、even側は係数
を簡単な整数比に近似してDCTシリアル演算を行なう
とともに、フリップフロップ(FF)を有しないアダー
(サブトラクタ)を含んで構成されたシリアル演算器1
42a〜142dから構成され、odd側もDCT演算
式をそのままハードウェア化したシリアル回路を基に、
原理説明(III)で述べた複数段の加減算を一度に行な
うシリアル回路160(図17)から構成されている。
【0141】また、上記シリアル演算器142a〜14
2dは、DCTシリアル演算を行なうシリアル演算器8
2a〜82dと、これら演算器82a〜82dの出力を
バタフライ演算により加減算する内部にフリップフロッ
プ(FF)を有しない加減算器142a2〜142d2に
より構成され、前記図9のeven側のステージIIに相
当する。ここで、上記演算器142aは、加算器81a
の出力と加算器81dの出力とを加算する加算器82a
1、この加算器82a1の出力をシフトする2個のフリッ
プフロップ(FF)からなるシフタ124a1、シフタ
142b1の出力とシフタ142a1の出力を加算する内
部にフリップフロップ(FF)を有しない加算器142
a2から構成されている。また、上記演算器124b
は、加算器81bの出力と加算器81cの出力とを加算
する加算器82b1、この加算器82b1の出力をシフト
する2個のフリップフロップ(FF)からなるシフタ1
42b1、シフタ142a1の出力からシフタ142b1
の出力を減算するフリップフロップ(FF)を有しない
減算器142b2から構成されている。
【0142】また、上記演算器142cは、加算器81
bの出力から加算器81cの出力を減算する減算器82
c1、この減算器82c1の出力をシフトする2個のフリ
ップフロップからなるシフタ142c1、この減算器8
2c1の出力とシフタ142c1の出力を加算する加算器
82c3、シフタ142c1の第1番目のフリップフロッ
プの出力と加算器82c3の出力を加算する加算器82
c4、演算器142dの加算器82d3の出力から演算器
142cの加算器82c4の出力を減算する内部にフリ
ップフロップ(FF)を有しない減算器142c2から
構成されている。同様に、上記演算器142dは、加算
器81aの出力から加算器81dの出力を減算する減算
器82d1、この減算器82d1の出力をシフトする2個
のフリップフロップからなるシフタ142d1、このシ
フタ142d1の出力と減算器82d1の出力を加算する
加算器82d3、この加算器82d3の出力とシフタ82
d2の第1番目のフリップフロップの出力を加算する加
算器82d4、演算器142cの加算器82c3の出力と
加算器82d4の出力を加算する内部にフリップフロッ
プ(FF)を有しない加算器142d2から構成されて
いる。
【0143】また、ステージIIの演算回路142のod
d側のシリアル回路160の構成については図17によ
り後述する。
【0144】ここで、図18及び図19は図15中の加
算器142a2、加算器142d2、減算器142b2、
減算器142c2の構造を示す図であり、図18は、前
記図46に示した加算(a+b)を行なう1タイムディ
レイユニットフルアダー(内部Carry Type)22から遅
延用のフリップフロップ(FF)を除去したアダー(内
部Carry Type)を、図19は、前記図47に示した減算
(a−b)を行なう1タイムディレイユニットフルサブ
トラクタ(内部Borrow type)23から遅延用のフリッ
プフロップ(FF)を除去したサブトラクタ(内部Borr
ow type)をそれぞれ示している。
【0145】また、ステージIIIの演算回路143は、
原理説明(I)で述べたシリアル演算を実行するもので
あり、係数を簡単な整数比に近似した場合のDCTシリ
アル演算を行なうシリアル演算器143a〜143hか
ら構成されている。
【0146】ここで、上記演算器143aは、加算器1
42a2の出力をシフトする3個のフリップフロップか
らなるシフタ113a1、このシフタ113a1の第2番
目のフリップフロップの出力と第3番目のフリップフロ
ップの出力を加算する加算器84a2、加算器84a2の
出力から加算器83aの出力を減算して出力データF0
として出力する減算器84a3から構成されている。ま
た、上記演算器143bは、減算器142b2の出力を
シフトする3個のフリップフロップからなるシフタ11
3b1、このシフタ113b1の第2番目のフリップフロ
ップの出力と第3番目のフリップフロップの出力を加算
する加算器84b2、加算器84b2の出力から減算器8
3bの出力を減算して出力データF4として出力する減
算器84b3から構成されている。
【0147】また、上記演算器143cは、減算器14
2c2の出力をシフトする2個のフリップフロップから
なるシフタ113c1、このシフタ113c1の出力と減
算器142c2の出力を加算する加算器84c2、この加
算器84c2の出力をシフトする2個のフリップフロッ
プからなるシフタ143c1、このシフタ143c1の出
力と加算器84c2の出力を加算する加算器143c2、
この加算器143c24の出力とシフタ143c1の第1
番目のフリップフロップの出力を加算する加算器143
c3から構成されている。また、上記演算器143c
は、加算器142d2の出力をシフトする2個のフリッ
プフロップからなるシフタ113d1、このシフタ11
3d1の出力と加算器142d2の出力を加算する加算器
84d2、この加算器84d2の出力をシフトする2個の
フリップフロップからなるシフタ143d1、このシフ
タ143d1の出力と加算器84d2の出力を加算する加
算器143d2、この加算器143d2の出力とシフタ1
43d1の第1番目のフリップフロップの出力を加算す
る加算器143d3から構成されている。また、上記加
算器84c2の出力は出力データF6として出力され、上
記加算器84d2の出力は出力データF2として出力され
る。なお、上記演算器143cの加算器143c2及び
加算器143c3、上記演算器143dの加算器143
d2及び加算器143d3は、データ圧縮時には使用しな
いが図16に示すデータ伸張時には使用するため図16
の演算器153c、153dと同一回路に構成し、中間
出力を取り出すことによって図15のシリアル演算を行
なう。
【0148】また、上記演算器143eは、シリアル回
路160の出力O7をシフトする2個のフリップフロッ
プからなるシフタ84e4、このシフタ84e4の出力か
ら減算器84e3の出力を減算して出力データF7として
出力する減算器84e5から構成され、上記演算器14
3fは、シリアル回路160の出力O3をシフトする2
個のフリップフロップからなるシフタ84f4、減算器
84f3の出力からシフタ84f4の出力を減算して出力
データF3として出力する減算器84f5から構成されて
いる。また、上記演算器143gは、シリアル回路16
0の出力O5をシフトする2個のフリップフロップから
なるシフタ84g4、シフタ84g4の出力から加算器8
4g3の出力を減算して出力データF5として出力する減
算器84g5から構成され、上記演算器143hは、シ
リアル回路160の出力O1をシフトする2個のフリッ
プフロップからなるシフタ84h4、加算器84h3の出
力からシフタ84h4の出力を減算して出力データF1と
して出力する減算器84h5から構成されている。
【0149】このように、データ変換演算装置140の
ステージIIのeven側のシリアル演算器142a〜1
42dは、前記図9のステージIIのシリアル演算器11
2a〜112dの各シフタ82a2、82b2、82c
2、82d2からフリップフロップ(FF)を更に1段取
り去った構成となっており、また、ステージIIのeve
n側のシリアル演算器142a〜142dの加算器14
2a2、加算器142d2、減算器142b2、減算器1
42c2は遅延用のフリップフロップ(FF)を有しな
い構造のものであるためこの点においてもクロック数を
少なくすることができる。また、ステージIIIのeve
n側のシリアル演算器143a〜143dは、前記図9
のステージIIIのeven側のシリアル演算器113a
〜113dに対応した構成となっており、また、ステー
ジIIIのodd側のシリアル演算器143e〜143h
は、図17のシリアル回路160の出力O7、O3、O
5、O1をシリアル演算する構成となっている。
【0150】図16は前記基本原理(III)に基づくデ
ータ圧縮伸張装置のデータ伸張時のデータ変換演算装置
150の回路構成図であり、前記図10の基本原理(I
I)に基づくデータ伸張時のデータ変換演算装置120
に、さらに前記基本原理(III)の考え方を適用した例
である。また、図17はデータ変換演算装置150のス
テージIIのodd側のシリアル回路160の回路構成図
であり、前記データ変換演算装置140のステージIIの
odd側のシリアル回路160と同一のものである。な
お、図16及び図17の説明に当たり図10及び図11
と同一構成部分には同一番号を付している。
【0151】図16において、データ変換演算装置15
0はI〜IIIの各ステージから構成される。ステージIII
の演算回路153は、原理説明(I)で述べたシリアル
演算を実行するものであり、係数を簡単な整数比に近似
した場合の逆DCTシリアル演算を行なうシリアル演算
器153a〜153hから構成されている。ここで、上
記演算器153aは、逆変換の入力データF0をシフト
する3個のフリップフロップ(FF)からなるシフタ9
4a1、このシフタ94a1の第2番目のフリップフロッ
プの出力と第3番目のフリップフロップの出力を加算す
る加算器94a2、加算器94a2の出力から入力データ
F0を減算する減算器94a3から構成されている。ま
た、上記演算器153bは、逆変換の入力データF4を
シフトする3個のフリップフロップからなるシフタ94
b1、このシフタ94b1の第2番目のフリップフロップ
の出力と第3番目のフリップフロップの出力を加算する
加算器94b2、加算器94b2の出力から入力データF
4を減算する減算器94b3から構成されている。また、
上記演算器153cは、逆変換の入力データF6をシフ
トする2個のフリップフロップからなるシフタ94c
1、このシフタ94c1の出力と入力データF6の出力を
加算する加算器94c2、この加算器94c2の出力をシ
フトする2個のフリップフロップからなるシフタ94c
3、このシフタ94c3の出力と加算器94c2の出力を
加算する加算器94c4、この加算器94c4の出力とシ
フタ94c3の第1番目のフリップフロップの出力を加
算する加算器94c5から構成されている。また、上記
演算器153dは、逆変換の入力データF2をシフトす
る2個のフリップフロップからなるシフタ94d1、こ
のシフタ94d1の出力と入力データF2の出力を加算す
る加算器94d2、この加算器94d2の出力をシフトす
る2個のフリップフロップからなるシフタ94d3、こ
のシフタ94d3の出力と加算器94d2の出力を加算す
る加算器94d4、この加算器94d4の出力とシフタ9
4d3の第1番目のフリップフロップの出力を加算する
加算器94d5から構成されている。
【0152】また、上記演算器153eは、逆変換の入
力データF7をシフトする2個のフリップフロップから
なるシフタ94e1、このシフタ94e1の出力から入力
データF7を減算してシリアル回路160の入力Cに出
力する減算器94e2から構成され、上記演算器153
fは、逆変換の入力データF3をシフトする2個のフリ
ップフロップからなるシフタ84f1、このシフタ84
f1の出力から入力データF3を減算してシリアル回路1
60の入力Bに出力する減算器84f2から構成されて
いる。また、上記演算器153gは、逆変換の入力デー
タF5をシフトする2個のフリップフロップからなるシ
フタ94g1、シフタ94g1の出力から入力データF5
を減算してシリアル回路160の入力Aに出力する減算
器94g2から構成され、上記演算器153hは、逆変
換の入力データF1をシフトする2個のフリップフロッ
プからなるシフタ94h1、シフタ94h1の出力から入
力データF1を減算してシリアル回路160の入力Dに
出力する減算器94h2から構成されている。
【0153】また、ステージIIの演算回路152は、原
理説明(I)で述べたシリアル演算及び原理説明(II)
で述べたDCT演算式をそのままハードウェア化したシ
リアル回路を基に、原理説明(III)で述べた考え方に
従って複数段の加減算を一度に行なうシリアル回路を構
成し、このように構成したシリアル回路上でデータ逆変
換演算を実行するものである。even側は係数を簡単
な整数比に近似してDCTシリアル演算を行なうととも
に、フリップフロップ(FF)を有しないアダー(サブ
トラクタ)を含んで構成されたシリアル演算器152a
〜152dから構成され、odd側もDCT演算式をそ
のままハードウェア化したシリアル回路を基に、原理説
明(III)で述べた複数段の加減算を一度に行なうシリ
アル回路160(図17)から構成されている。
【0154】ここで、上記演算器152aは、減算器9
4a3の出力と減算器94b3の出力とを加算する加算器
93a1、この加算器93a1の出力をシフトする2個の
フリップフロップからなるシフタ152a1、演算器1
52b1の加算器93b1の出力とシフタ152a1の出
力とを加算する内部にフリップフロップ(FF)を有し
ない加算器152a2から構成されている。また、上記
演算器152bは、加算器94c4の出力と加算器94
d5の出力とを加算する加算器93b1、この加算器93
b1の出力をシフトする2個のフリップフロップからな
るシフタ152b1、シフタ152a1の出力から加算器
93b1の出力を減算する内部にフリップフロップ(F
F)を有しない減算器152b2から構成されている。
【0155】また、上記演算器152cは、加算器94
d4の出力から加算器94c5の出力を減算する減算器9
3c1、この減算器93c1の出力をシフトする2個のフ
リップフロップからなるシフタ152c1、このシフタ
152c1の出力と減算器93c1の出力を加算する加算
器122c2、シフタ152c1の第1番目のフリップフ
ロップの出力が入力される加算器122c3、演算器1
52dのシフタ152d1の出力から減算器93c1の出
力を減算する内部にフリップフロップ(FF)を有しな
い減算器152c2から構成されている。また、上記演
算器152dは、減算器94a3の出力から加算器94
b3の出力を減算する減算器93d1、この減算器93d
1の出力をシフトする2個のフリップフロップからなる
シフタ152d1、このシフタ152d1の出力と減算器
93d1の出力を加算する加算器122d2、シフタ15
2d1の第1番目のフリップフロップの出力が入力され
る加算器122c3、減算器93c1の出力とシフタ15
2d1の出力を加算する内部にフリップフロップ(F
F)を有しない加算器152d2から構成されている。
なお、上記演算器152cの加算器122c2及び加算
器122c3、上記演算器152dの加算器122d2及
び加算器122d3は、データ伸張時には使用しないが
図15に示すデータ圧縮時には使用するため図15の演
算器142c、142dと同一回路に構成し、中間出力
を取り出すことによって図15のシリアル演算を行な
う。
【0156】また、ステージIIの演算回路152のod
d側のシリアル回路160の構成については図17によ
り後述する。
【0157】また、ステージIの演算回路151は上述
したシリアル演算を実行して逆変換の出力データf0〜
f7を出力するものであり、シリアル回路160の出力
O1と加算器152a2の出力を加算して出力データf0
として出力する加算器91a、シリアル回路160の出
力O7と減算器152b2の出力を加算して出力データf
3として出力する加算器91b、シリアル回路160の
出力O5と減算器152c2の出力を加算して出力データ
f2として出力する加算器91c、シリアル回路160
の出力O3と加算器152d2の出力を加算して出力デー
タf1として出力する91d、加算器152d2の出力か
らシリアル回路160の出力O3を減算して出力データ
f6として出力する減算器91e、減算器152c2の出
力からシリアル回路160の出力O5を減算して出力デ
ータf5として出力する減算器91f、減算器152b2
の出力からシリアル回路160の出力O7を減算して出
力データf4として出力する減算器91g、加算器15
2a2の出力からシリアル回路160の出力O1を減算し
て出力データf7として出力する減算器91hから構成
されている。
【0158】このように、データ変換演算装置150の
ステージIIのeven側のシリアル演算器152a〜1
52dは、前記図10のステージIIの演算器122a〜
122dの各シフタ93a2、122b1、122c1、
122d1からフリップフロップ(FF)を更に1段取
り去った構成となっており、また、ステージIIのeve
n側のシリアル演算器152a〜152dの加算器15
2a2、加算器152d2、減算器152b2、減算器1
52c2は遅延用のフリップフロップ(FF)を有しな
い構造のものであるためこの点においてもクロック数を
少なくすることができる。
【0159】図17はDCT演算式をそのままハードウ
ェア化するとともに、複数段の加減算を一度に行なうよ
うに構成したシリアル回路160の回路構成図であり、
このシリアル回路160は、図15に示すデータ変換演
算装置140のステージIIのodd側及び図16に示す
データ変換演算装置150のステージIIのodd側のシ
リアル回路部分を構成する。シリアル回路160は、前
記基本原理(II)の考え方に基づいて構成された前記図
11のシリアル回路100に、さらに前記基本原理(II
I)の考え方を適用したものである。なお、図17の説
明に当たり図11と同一構成部分には同一番号を付して
いる。
【0160】図17において、シリアル回路160に入
力される入力をA、B、C、D、シリアル回路160か
ら出力される出力をO1、O3、O5、O7とすると、シリ
アル回路160は、DCT演算式を展開して得られた各
入力A〜Dに共通な係数を2のべきにある数値をかけた
形で表現した場合の該数値の部分を作成するシリアル回
路を基礎として、このシリアル回路をフリップフロップ
(FF)を有しないアダー(サブトラクタ)を含んで構
成した前段のシリアル回路161と、このシリアル回路
161により計算された係数出力に対して出力方向(D
CT演算式の横方向)に符号分を含めた加減算を行なっ
て出力O1、O3、O5、O7として出力するフリップフロ
ップ(FF)を有しないアダー(サブトラクタ)を含ん
で構成した後段のシリアル回路162により構成されて
いる。すなわち、上記シリアル回路161は、入力Aに
ついて各入力A〜Dに共通な係数(本実施例では、1
7、85、48、72)を2のべきにある数値(本実施
例では、2、42、6、18)をかけた形で表現した場
合に該数値の部分を作成するシリアル演算器161e、
入力Bについて各入力A〜Dに共通な係数を2のべきに
ある数値をかけた形で表現した場合に該数値の部分を作
成するシリアル演算器161f、入力Cについて各入力
A〜Dに共通な係数を2のべきにある数値をかけた形で
表現した場合に該数値の部分を作成するシリアル演算器
161g、入力Dについて各入力A〜Dに共通な係数を
2のべきにある数値をかけた形で表現した場合に該数値
の部分を作成するシリアル演算器161hから構成され
ている。
【0161】具体的には、シリアル演算器161eは、
入力Aをシフトする3個のフリップフロップからなるシ
フタ161e1、入力Aとシフタ161e1の第1番目の
フリップフロップの出力を加算して出力する内部にフリ
ップフロップ(FF)を有しない加算器161e2、シ
フタ161e1の第1番目のフリップフロップの出力と
シフタ161e1の第2番目のフリップフロップの出力
を加算して出力する加算器161e3、入力Aとシフタ
161e1の出力を加算して出力する加算器161e4、
加算器161e2の出力と加算器161e4の出力を加算
して出力する加算器161e5から構成されている。同
様に、シリアル演算器161fは、入力Bをシフトする
3個のフリップフロップからなるシフタ161f1、入
力Bとシフタ161f1の第1番目のフリップフロップ
の出力を加算して出力する内部にフリップフロップ(F
F)を有しない加算器161f2、シフタ161f1の第
1番目のフリップフロップの出力とシフタ161f1の
第2番目のフリップフロップの出力を加算して出力する
加算器161f3、入力Bとシフタ161f1の出力を加
算して出力する加算器161f4、加算器161f2の出
力と加算器161f4の出力を加算して出力する加算器
161f5から構成されている。
【0162】また、シリアル演算器161gは、入力C
をシフトする3個のフリップフロップからなるシフタ1
61g1、入力Cとシフタ161g1の第1番目のフリッ
プフロップの出力を加算して出力する内部にフリップフ
ロップ(FF)を有しない加算器161g2、シフタ1
61g1の第1番目のフリップフロップの出力とシフタ
161g1の第2番目のフリップフロップの出力を加算
して出力する加算器161g3、入力Cとシフタ161
g1の出力を加算して出力する加算器161g4、加算器
161g2の出力と加算器161g4の出力を加算して出
力する加算器161g5から構成されている。また、シ
リアル演算器161hは、入力Dをシフトする3個のフ
リップフロップからなるシフタ161h1、入力Dとシ
フタ161h1の第1番目のフリップフロップの出力を
加算して出力する内部にフリップフロップ(FF)を有
しない加算器161h2、シフタ161h1の第1番目の
フリップフロップの出力とシフタ161h1の第2番目
のフリップフロップの出力を加算して出力する加算器1
61h3、入力Dとシフタ161h1の出力を加算して出
力する加算器161h4、加算器161h2の出力と加算
器161h4の出力を加算して出力する加算器161h5
から構成されている。
【0163】なお、上記前段のシリアル回路161の出
力は後段のシリアル回路162に入力されるが、この入
出力関係を前記図11のように図示すると接続関係が非
常に複雑になるので、ここでは接続されるシリアル演算
器161e〜161hとシリアル演算器162e〜16
2hの入出力端子同士に同一符号を付して接続関係を示
すものとする。
【0164】また、上記シリアル回路162は、シリア
ル演算器161e〜161hにより計算された係数出力
に対して出力方向に符号分を含めた加減算を順次行なう
とともに複数段の加減算を一度に行なって出力O1、O
3、O5、O7として出力するシリアル演算器162e〜
162hにより構成されている。
【0165】すなわち、上記シリアル演算器162e
は、シリアル演算器161gの加算器161g4の出力
とシリアル演算器161fの加算器161f3の出力を
加算する加算器162e1、シリアル演算器161eの
シフタ161e1の出力とシリアル演算器161gの加
算器161g5の出力を加算する内部にフリップフロッ
プ(FF)を有しない加算器162e2、入力Aと入力
Dを加算する内部にフリップフロップ(FF)を有しな
い加算器162e3、加算器162e1の出力と加算器1
62e2の出力を加算する加算器162e4、この加算器
162e4の出力と加算器162e3の出力を加算して出
力データO1として出力する内部にフリップフロップ
(FF)を有しない加算器162e5から構成されてい
る。また、上記シリアル演算器162fは、シリアル演
算器161eの加算器161e4の出力とシリアル演算
器161hの加算器161h3の出力を加算する加算器
162f1、シリアル演算器161fのシフタ161f1
の出力からシリアル演算器161gの加算器161g5
の出力を減算する内部にフリップフロップ(FF)を有
しない減算器162f2、入力Bから入力Cを減算する
内部にフリップフロップ(FF)を有しない減算器16
2f3、加算器162f1の出力と減算器162f2の出
力を加算する加算器162f4、この加算器162f4の
出力と減算器162f3の出力を加算して出力データO5
として出力する内部にフリップフロップ(FF)を有し
ない加算器162f5から構成されている。
【0166】また、上記シリアル演算器162gは、シ
リアル演算器161hの加算器161h4の出力からシ
リアル演算器161eの加算器161e3の出力を減算
する減算器162g1、シリアル演算器161gのシフ
タ161g1の出力とシリアル演算器161fの加算器
161f5の出力を加算する内部にフリップフロップ
(FF)を有しない加算器162g2、入力Cと入力B
を加算する内部にフリップフロップ(FF)を有しない
加算器162g3、減算器162g1の出力から加算器1
62g2の出力を減算する減算器162g4、この減算器
162g4の出力から加算器162g3の出力を減算して
出力データO3として出力する内部にフリップフロップ
(FF)を有しない減算器162g5から構成されてい
る。また、上記シリアル演算器162hは、シリアル演
算器161fの加算器161f4の出力からシリアル演
算器161gの加算器161g3の出力を減算する減算
器162h1、シリアル演算器161hのシフタ161
h1の出力からシリアル演算器161eの加算器161
e5の出力を減算する内部にフリップフロップ(FF)
を有しない減算器162h2、入力Dから入力Aを減算
する内部にフリップフロップ(FF)を有しない減算器
162h3、加算器162h1の出力と減算器162h2
の出力を加算する加算器162h4、この加算器162
h4の出力と減算器162h3の出力を加算して出力デー
タO7として出力する内部にフリップフロップ(FF)
を有しない加算器162h5から構成されている。
【0167】このように、シリアル回路160のシリア
ル演算器161e〜161hは、前記図11のシリアル
回路100のシリアル演算器161e〜161hの加算
器101e2、101f2、101g2、101h2を、遅
延用のフリップフロップ(FF)を有しない構造の加算
器161e2、161f2、161g2、161h2に置き
換えた構成となっており、また、シリアル回路160の
シリアル演算器162e〜162hは、前記図11のシ
リアル回路100のシリアル演算器162e〜162h
から加減算器を2段取り去るとともに、加減算器を遅延
用のフリップフロップ(FF)を有しない構造の加減算
器に置き換えた構成となっている。すなわち、シリアル
回路160のシリアル演算器162e〜162hは、ク
ロックが必要な加減算器の段数を先ず減らすとともに、
加減算器を遅延用のフリップフロップ(FF)を有しな
い構造にすることによってこの点においてもクロック数
を少なくしている。また、シフト加減算を行なっていた
加減算器を減らしたことによりできなくなった加減算
は、シフト加減算を行なっていた加算器の前段に遅延用
のフリップフロップ(FF)を有しない加減算器を置
き、これによって遅延させずに加減算のみを行なうよう
にしている。例えば、シリアル演算器162eにあって
は、図11のシリアル回路100のシリアル演算器16
2eから加算器を2段取り去るとともに、最終段の加算
器102e5を遅延用のフリップフロップ(FF)を有
しない構造の加算器162e5に置き換え、加算器16
2e4及び加算器162e5の前段に内部にフリップフロ
ップ(FF)を有しない加算器162e2及び162e3
を置くようにしている。
【0168】以上のように構成された上記シリアル回路
160を、図15に示すデータ変換演算装置140のス
テージIIのodd側及び図16に示すデータ変換演算装
置150のステージIIのodd側の回路構成部に用いる
ことによってこのステージIIのクロック数を減少させる
ことができる。同様な方法はステージI及びステージII
Iにも適用することが可能であり、このようにすれば装
置全体のクロック数を減少させることができる。以下、
ステージI及びステージIIIに上記基本原理(III)の考
え方を適用する例について説明する。
【0169】図20は上記基本原理(III)の考え方を
ステージIに適用したステージIの回路構成図、図21
はそのステージIIIの回路構成図であり、図22はこの
ステージI〜IIIから構成されるデータ圧縮時のデータ
変換演算装置180、図23はこのステージI〜IIIか
ら構成されるデータ伸張時のデータ変換演算装置190
の回路構成図である。なお、図20〜図23の説明に当
たり図15及び図16と同一構成部分には同一番号を付
している。
【0170】図20において、データ変換演算装置18
0及びデータ変換演算装置190のステージIは、入力
データI10〜I17が入力され、入力I10と入力I11を加
算して出力データO10を出力する加算器171a、入力
I10から入力I11を減算して出力O11を出力する減算器
171e、入力I12と入力I13を加算して出力データO
12を出力する加算器171b、入力I12から入力I13を
減算して出力データO13を出力する減算器171f、入
力I14と入力I15を加算して出力データO14を出力する
加算器171c、入力I14から入力I15を減算して出力
データO15を出力する減算器171g、入力I16と入力
I17を加算して出力データO16を出力する加算器171
d、入力I16から入力I17を減算して出力データO17を
出力する減算器171hから構成される。ここで、上記
加算器171a〜171d及び減算器171e〜171
hは、内部にフリップフロップ(FF)を有しないアダ
ー(サブトラクタ)により構成される。
【0171】図21において、データ変換演算装置18
0及びデータ変換演算装置190のステージIIIは、入
力データI20〜I27に対してシリアル演算を実行して出
力データO20〜O27を出力するシリアル演算器173a
〜173hから構成されている。ここで、上記演算器1
73aは、入力データI20をシフトする3個のフリップ
フロップ(FF)からなるシフタ94a1、このシフタ
94a1の第2番目のフリップフロップの出力と第3番
目のフリップフロップの出力を加算する加算器94a
2、加算器94a2の出力から入力データI20を減算して
出力データO20として出力する内部にフリップフロップ
(FF)を有しない減算器94a3から構成されてい
る。また、上記演算器173bは、入力データI24をシ
フトする3個のフリップフロップからなるシフタ94b
1、このシフタ94b1の第2番目のフリップフロップの
出力と第3番目のフリップフロップの出力を加算する加
算器94b2、加算器94b2の出力から入力データI24
を減算して出力データO27として出力する内部にフリッ
プフロップ(FF)を有しない減算器173b1から構
成されている。
【0172】また、上記演算器173cは、入力データ
I26をシフトする2個のフリップフロップからなるシフ
タ94c1、このシフタ94c1の出力と入力データI26
の出力を加算して出力データO24として出力する内部に
フリップフロップ(FF)を有しない加算器173c
1、この加算器173c1の出力をシフトする2個のフリ
ップフロップからなるシフタ94c3、このシフタ94
c3の出力と加算器173c1の出力を加算して出力デー
タO25として出力する加算器94c4、この加算器94
c4の出力とシフタ94c3の第1番目のフリップフロッ
プの出力を加算して出力データO26として出力する加算
器94c5から構成されている。また、上記演算器17
3dは、入力データI22をシフトする2個のフリップフ
ロップからなるシフタ94d1、このシフタ94d1の出
力と入力データI22の出力を加算して出力データO23と
して出力する内部にフリップフロップ(FF)を有しな
い加算器173d1、この加算器173d1の出力をシフ
トする2個のフリップフロップからなるシフタ94d
3、このシフタ94d3の出力と加算器173d1の出力
を加算して出力データO25として出力する加算器94d
4、この加算器94d4の出力とシフタ94d3の第1番
目のフリップフロップの出力を加算して出力データO26
として出力する加算器94d5から構成されている。な
お、上記演算器173cのシフタ94c3、加算器94
c4及び加算器94c5、上記演算器173dのシフタ9
4d3、加算器94d4及び加算器94d5は、図22に
示すデータ圧縮時には使用しないが図23に示すデータ
伸張時には使用するようにするため加算器173c1及
び加算器173d1から中間出力(出力データO23、O2
4)を取り出す構成となっている。
【0173】また、上記演算器173eは、入力データ
I23をシフトする2個のフリップフロップからなるシフ
タ94e1、このシフタ94e1の出力から入力データI
23を減算して出力データO30として出力する内部にフリ
ップフロップ(FF)を有しない減算器173e1から
構成され、上記演算器173fは、入力データI25をシ
フトする2個のフリップフロップからなるシフタ94f
1、このシフタ94f1の出力から入力データI25を減算
して出力データO29として出力する内部にフリップフロ
ップ(FF)を有しない減算器173f1から構成され
ている。また、上記演算器173gは、入力データI27
をシフトする2個のフリップフロップからなるシフタ9
4g1、シフタ94g1の出力から入力データI27を減算
して出力データO28として出力する内部にフリップフロ
ップ(FF)を有しない減算器173g1から構成さ
れ、上記演算器173hは、入力データI21をシフトす
る2個のフリップフロップからなるシフタ94h1、シ
フタ94h1の出力から入力データI21を減算して出力
データO31として出力する内部にフリップフロップ(F
F)を有しない減算器173h1から構成されている。
【0174】このように、ステージIIIのシリアル演算
器173a〜173hは、前記図16のステージIIIの
シリアル演算器153a〜153hの加算器94c2、
94d2、減算器94a2、94b2、94e2、94f
2、94g2、94h2を、それぞれ遅延用のフリップフ
ロップ(FF)を有しない構造の加算器173c1、1
73d1、減算器173a1、173b1、173e1、1
73f1、173g1、173h1に置き換えた構成とな
っており、これによってクロック数を少なくしている。
図22は上記ステージI、ステージIII及び前記図1
5のステージIIの各シリアル回路を結線して作成される
データ変換演算装置180の回路構成図であり、前記図
15のデータ圧縮時のデータ変換演算装置140に対応
している。
【0175】また、図23は上記ステージI、ステージ
III及び前記図16のステージIIの各シリアル回路を結
線して作成されるデータ変換演算装置190の回路構成
図であり、前記図16のデータ圧縮時のデータ変換演算
装置140に対応している。なお、図22及び図23に
おいて図15及び図16と同一構成部分には同一番号を
付している。
【0176】次に、図26〜図28により前記基本原理
(IV)に基づくデータ圧縮伸張装置の構成を説明する。
【0177】図26は前記基本原理(IV)に基づくデー
タ圧縮伸張装置のデータ圧縮時のデータ変換演算装置2
00の回路構成図であり、前記図15の基本原理(II
I)に基づくデータ圧縮時のデータ変換演算装置140
に、さらに前記基本原理(IV)の考え方を適用した例で
ある。また、図28はデータ変換演算装置200のステ
ージIIのodd側のシリアル回路220の回路構成図で
あり、前記図17のシリアル回路160に、前記基本原
理(IV)の考え方を適用した例である。なお、図26及
び図28の説明に当たり図15及び図17と同一構成部
分には同一番号を付している。
【0178】図26において、データ変換演算装置20
0はI〜IIIの各ステージから構成され、ステージIの
演算回路141はシリアル演算を実行する加算器81
a、81b、81c、81dと減算器81e、81f、
81g、81hから構成されている。減算器81e、8
1f、81g、81hの出力はDCT演算式をそのまま
ハードウェア化して複数段の加減算を一度に行なうとと
もに、クリティカルパスの解消のためフリップフロップ
(FF)を挿入したシリアル回路220(図28)に出
力される。
【0179】また、ステージIIの演算回路202は、原
理説明(III)で述べた考え方に従って複数段の加減算
を一度に行なうように構成されたシリアル回路に、原理
説明(IV)で述べた考え方に従ってクリティカルパスの
解消のためフリップフロップ(FF)を挿入したシリア
ル回路を構成し、このように構成したシリアル回路上で
データ変換演算を実行するものである。ここで、eve
n側は係数を簡単な整数比に近似してDCTシリアル演
算を行なうとともに、クリティカルパスの解消のためフ
リップフロップ(FF)を挿入して構成されたシリアル
演算器202a〜202dから構成され、odd側もD
CT演算式をそのままハードウェア化したシリアル回路
を基に、原理説明(III)で述べた複数段の加減算を一
度に行なうとともに、クリティカルパスの解消のためフ
リップフロップ(FF)を挿入したシリアル回路220
(図28)から構成されている。
【0180】また、上記シリアル演算器202a〜20
2dは、DCTシリアル演算を行なうシリアル演算器8
2a〜82dと、これら演算器82a〜82dの出力を
バタフライ演算により加減算する内部にフリップフロッ
プ(FF)を備えた加減算器202a1〜202d1によ
り構成され、前記図15のeven側のステージIIの演
算回路142の内部にフリップフロップ(FF)を有し
ない加減算器142a2〜142d2を、内部にフリップ
フロップ(FF)を備えた通常の加減算器に戻したもの
に相当する。ここで、上記演算器202aは、加算器8
1aの出力と加算器81dの出力とを加算する加算器8
2a1、この加算器82a1の出力をシフトする2個のフ
リップフロップ(FF)からなるシフタ124a1、シ
フタ142b1の出力とシフタ142a1の出力を加算す
る内部にフリップフロップ(FF)を備えた加算器20
2a1から構成されている。また、上記演算器202b
は、加算器81bの出力と加算器81cの出力とを加算
する加算器82b1、この加算器82b1の出力をシフト
する2個のフリップフロップ(FF)からなるシフタ1
42b1、シフタ142a1の出力からシフタ142b1
の出力を減算するフリップフロップ(FF)を備えた減
算器202b1から構成されている。
【0181】また、上記演算器202cは、加算器81
bの出力から加算器81cの出力を減算する減算器82
c1、この減算器82c1の出力をシフトする2個のフリ
ップフロップからなるシフタ142c1、この減算器8
2c1の出力とシフタ142c1の出力を加算する加算器
82c3、シフタ142c1の第1番目のフリップフロッ
プの出力と加算器82c3の出力を加算する加算器82
c4、演算器142dの加算器82d3の出力から演算器
142cの加算器82c4の出力を減算する内部にフリ
ップフロップ(FF)を備えた減算器202c1から構
成されている。同様に、上記演算器202dは、加算器
81aの出力から加算器81dの出力を減算する減算器
82d1、この減算器82d1の出力をシフトする2個の
フリップフロップからなるシフタ142d1、このシフ
タ142d1の出力と減算器82d1の出力を加算する加
算器82d3、この加算器82d3の出力とシフタ82d
2の第1番目のフリップフロップの出力を加算する加算
器82d4、演算器142cの加算器82c3の出力と加
算器82d4の出力を加算する内部にフリップフロップ
(FF)を有しない加算器202d1から構成されてい
る。
【0182】また、ステージIIの演算回路202のod
d側のシリアル回路220の構成については図28によ
り後述する。
【0183】また、ステージIIIの演算回路143は、
原理説明(I)で述べたシリアル演算を実行するもので
あり、係数を簡単な整数比に近似した場合のDCTシリ
アル演算を行なうシリアル演算器143a〜143hか
ら構成されている。
【0184】ここで、上記演算器143aは、加算器2
02a1の出力をシフトする3個のフリップフロップか
らなるシフタ113a1、このシフタ113a1の第2番
目のフリップフロップの出力と第3番目のフリップフロ
ップの出力を加算する加算器84a2、加算器84a2の
出力から加算器83aの出力を減算して出力データF0
として出力する減算器84a3から構成されている。ま
た、上記演算器143bは、減算器202b1の出力を
シフトする3個のフリップフロップからなるシフタ11
3b1、このシフタ113b1の第2番目のフリップフロ
ップの出力と第3番目のフリップフロップの出力を加算
する加算器84b2、加算器84b2の出力から減算器8
3bの出力を減算して出力データF4として出力する減
算器84b3から構成されている。
【0185】また、上記演算器143cは、減算器20
2c1の出力をシフトする2個のフリップフロップから
なるシフタ113c1、このシフタ113c1の出力と減
算器142c2の出力を加算する加算器84c2、この加
算器84c2の出力をシフトする2個のフリップフロッ
プからなるシフタ143c1、このシフタ143c1の出
力と加算器84c2の出力を加算する加算器143c2、
この加算器143c24の出力とシフタ143c1の第1
番目のフリップフロップの出力を加算する加算器143
c3から構成されている。また、上記演算器143c
は、加算器202d1の出力をシフトする2個のフリッ
プフロップからなるシフタ113d1、このシフタ11
3d1の出力と加算器142d2の出力を加算する加算器
84d2、この加算器84d2の出力をシフトする2個の
フリップフロップからなるシフタ143d1、このシフ
タ143d1の出力と加算器84d2の出力を加算する加
算器143d2、この加算器143d2の出力とシフタ1
43d1の第1番目のフリップフロップの出力を加算す
る加算器143d3から構成されている。また、上記加
算器84c2の出力は出力データF6として出力され、上
記加算器84d2の出力は出力データF2として出力され
る。なお、上記演算器143cの加算器143c2及び
加算器143c3、上記演算器143dの加算器143
d2及び加算器143d3は、データ圧縮時には使用しな
いが図27に示すデータ伸張時には使用するため図27
の演算器153c、153dと同一回路に構成し、中間
出力を取り出すことによって図26のシリアル演算を行
なう。
【0186】また、上記演算器143eは、シリアル回
路220の出力O7=(−85A+72B−48C+1
7D)×2をシフトする2個のフリップフロップからな
るシフタ84e4、このシフタ84e4の出力から減算器
84e3の出力を減算して出力データF7として出力する
減算器84e5から構成され、上記演算器143fは、
シリアル回路220の出力O3=(−48A−85B−
17C+72D)×2をシフトする2個のフリップフロ
ップからなるシフタ84f4、減算器84f3の出力から
シフタ84f4の出力を減算して出力データF3として出
力する減算器84f5から構成されている。また、上記
演算器143gは、シリアル回路220の出力O5=
(72A+17B−85C+48D)×2をシフトする
2個のフリップフロップからなるシフタ84g4、シフ
タ84g4の出力から加算器84g3の出力を減算して出
力データF5として出力する減算器84g5から構成さ
れ、上記演算器143hは、シリアル回路220の出力
O1=(17A+48B+72C+85D)×2をシフ
トする2個のフリップフロップからなるシフタ84h
4、加算器84h3の出力からシフタ84h4の出力を減
算して出力データF1として出力する減算器84h5から
構成されている。
【0187】このように、データ変換演算装置202の
ステージIIのeven側のシリアル演算器202a〜2
02dは、前記図9のデータ変換演算装置110と比較
するとステージIIのシリアル演算器112a〜112d
の各シフタ82a2、82b2、82c2、82d2からフ
リップフロップ(FF)を更に1段取り去った構成とな
っており、また、前記図15のデータ変換演算装置14
0と比較するとステージIIのeven側のシリアル演算
器142a〜142dの最終段の加算器142a2、加
算器142d2、減算器142b2、減算器142c2
を、遅延用のフリップフロップ(FF)を有する通常の
加減算器202a1〜202dにした構成となってい
る。また、ステージIIのodd側のシリアル回路220
は、前記図17のシリアル回路160にクリティカルパ
スの解消のためフリップフロップ(FF)を挿入したシ
リアル回路となっており、図17のシリアル回路160
の出力O7、O3、O5、O1を1クロック遅らせた構成と
なっている。また、ステージIIIのodd側のシリアル
演算器143e〜143hは、図28のシリアル回路2
20で1クロック保持された出力O7、O3、O5、O1を
シリアル演算する構成となっている。
【0188】図27は前記基本原理(IV)に基づくデー
タ圧縮伸張装置のデータ伸張時のデータ変換演算装置2
10の回路構成図であり、前記図16の基本原理(II
I)に基づくデータ伸張時のデータ変換演算装置150
に、さらに前記基本原理(IV)の考え方を適用した例で
ある。また、図28はデータ変換演算装置210のステ
ージIIのodd側のシリアル回路220の回路構成図で
あり、前記データ変換演算装置200のステージIIのo
dd側のシリアル回路220と同一のものである。な
お、図27及び図28の説明に当たり図15及び図17
と同一構成部分には同一番号を付している。
【0189】図27において、データ変換演算装置21
0はI〜IIIの各ステージから構成される。ステージIII
の演算回路153は、原理説明(I)で述べたシリアル
演算を実行するものであり、係数を簡単な整数比に近似
した場合の逆DCTシリアル演算を行なうシリアル演算
器153a〜153hから構成されている。ここで、上
記演算器153aは、逆変換の入力データF0をシフト
する3個のフリップフロップ(FF)からなるシフタ9
4a1、このシフタ94a1の第2番目のフリップフロッ
プの出力と第3番目のフリップフロップの出力を加算す
る加算器94a2、加算器94a2の出力から入力データ
F0を減算する減算器94a3から構成されている。ま
た、上記演算器153bは、逆変換の入力データF4を
シフトする3個のフリップフロップからなるシフタ94
b1、このシフタ94b1の第2番目のフリップフロップ
の出力と第3番目のフリップフロップの出力を加算する
加算器94b2、加算器94b2の出力から入力データF
4を減算する減算器94b3から構成されている。また、
上記演算器153cは、逆変換の入力データF6をシフ
トする2個のフリップフロップからなるシフタ94c
1、このシフタ94c1の出力と入力データF6の出力を
加算する加算器94c2、この加算器94c2の出力をシ
フトする2個のフリップフロップからなるシフタ94c
3、このシフタ94c3の出力と加算器94c2の出力を
加算する加算器94c4、この加算器94c4の出力とシ
フタ94c3の第1番目のフリップフロップの出力を加
算する加算器94c5から構成されている。また、上記
演算器153dは、逆変換の入力データF2をシフトす
る2個のフリップフロップからなるシフタ94d1、こ
のシフタ94d1の出力と入力データF2の出力を加算す
る加算器94d2、この加算器94d2の出力をシフトす
る2個のフリップフロップからなるシフタ94d3、こ
のシフタ94d3の出力と加算器94d2の出力を加算す
る加算器94d4、この加算器94d4の出力とシフタ9
4d3の第1番目のフリップフロップの出力を加算する
加算器94d5から構成されている。
【0190】また、上記演算器153eは、逆変換の入
力データF7をシフトする2個のフリップフロップから
なるシフタ94e1、このシフタ94e1の出力から入力
データF7を減算してシリアル回路220の入力Cに出
力する減算器94e2から構成され、上記演算器153
fは、逆変換の入力データF3をシフトする2個のフリ
ップフロップからなるシフタ84f1、このシフタ84
f1の出力から入力データF3を減算してシリアル回路2
20の入力Bに出力する減算器84f2から構成されて
いる。また、上記演算器153gは、逆変換の入力デー
タF5をシフトする2個のフリップフロップからなるシ
フタ94g1、シフタ94g1の出力から入力データF5
を減算してシリアル回路220の入力Aに出力する減算
器94g2から構成され、上記演算器153hは、逆変
換の入力データF1をシフトする2個のフリップフロッ
プからなるシフタ94h1、シフタ94h1の出力から入
力データF1を減算してシリアル回路220の入力Dに
出力する減算器94h2から構成されている。
【0191】また、ステージIIの演算回路152は、原
理説明(III)で述べた考え方に従って複数段の加減算
を一度に行なうように構成されたシリアル回路に、原理
説明(IV)で述べた考え方に従ってクリティカルパスの
解消のためフリップフロップ(FF)を挿入したシリア
ル回路を構成し、このように構成したシリアル回路上で
データ変換演算を実行するものである。ここで、eve
n側は係数を簡単な整数比に近似してDCTシリアル演
算を行なうとともに、クリティカルパスの解消のためフ
リップフロップ(FF)を挿入して構成されたシリアル
演算器212a〜212dから構成され、odd側もD
CT演算式をそのままハードウェア化したシリアル回路
を基に、原理説明(III)で述べた複数段の加減算を一
度に行なうとともに、クリティカルパスの解消のためフ
リップフロップ(FF)を挿入したシリアル回路220
(図28)から構成されている。
【0192】ここで、上記演算器212aは、減算器9
4a3の出力と減算器94b3の出力とを加算する加算器
93a1、この加算器93a1の出力をシフトする2個の
フリップフロップからなるシフタ152a1、演算器1
52b1の加算器93b1の出力とシフタ152a1の出
力とを加算する内部にフリップフロップ(FF)を備え
た加算器212a1から構成されている。また、上記演
算器212bは、加算器94c4の出力と加算器94d5
の出力とを加算する加算器93b1、この加算器93b1
の出力をシフトする2個のフリップフロップからなるシ
フタ152b1、シフタ152a1の出力から加算器93
b1の出力を減算する内部にフリップフロップ(FF)
を備えた減算器212b1から構成されている。
【0193】また、上記演算器212cは、加算器94
d4の出力から加算器94c5の出力を減算する減算器9
3c1、この減算器93c1の出力をシフトする2個のフ
リップフロップからなるシフタ152c1、このシフタ
152c1の出力と減算器93c1の出力を加算する加算
器122c2、シフタ152c1の第1番目のフリップフ
ロップの出力が入力される加算器122c3、演算器1
52dのシフタ152d1の出力から減算器93c1の出
力を減算する内部にフリップフロップ(FF)を備えた
減算器212c1から構成されている。また、上記演算
器212dは、減算器94a3の出力から加算器94b3
の出力を減算する減算器93d1、この減算器93d1の
出力をシフトする2個のフリップフロップからなるシフ
タ152d1、このシフタ152d1の出力と減算器93
d1の出力を加算する加算器122d2、シフタ152d
1の第1番目のフリップフロップの出力が入力される加
算器122c3、減算器93c1の出力とシフタ152d
1の出力を加算する内部にフリップフロップ(FF)を
備えた加算器212d1から構成されている。なお、上
記演算器212cの加算器122c2及び加算器122
c3、上記演算器152dの加算器122d2及び加算器
122d3は、データ伸張時には使用しないが図26に
示すデータ圧縮時には使用するため図26の演算器20
2c、202dと同一回路に構成し、中間出力を取り出
すことによって図27のシリアル演算を行なう。
【0194】また、ステージIIの演算回路212のod
d側のシリアル回路220の構成については図28によ
り後述する。
【0195】また、ステージIの演算回路151は上述
したシリアル演算を実行して逆変換の出力データf0〜
f7を出力するものであり、シリアル回路220の出力
O1と加算器212a1の出力を加算して出力データf0
として出力する加算器91a、シリアル回路220の出
力O7と減算器212b1の出力を加算して出力データf
3として出力する加算器91b、シリアル回路220の
出力O5と減算器212c1の出力を加算して出力データ
f2として出力する加算器91c、シリアル回路220
の出力O3と加算器212d1の出力を加算して出力デー
タf1として出力する91d、加算器212d1の出力か
らシリアル回路220の出力O3を減算して出力データ
f6として出力する減算器91e、減算器212c1の出
力からシリアル回路220の出力O5を減算して出力デ
ータf5として出力する減算器91f、減算器212b1
の出力からシリアル回路220の出力O7を減算して出
力データf4として出力する減算器91g、加算器21
2a1の出力からシリアル回路220の出力O1を減算し
て出力データf7として出力する減算器91hから構成
されている。
【0196】このように、データ変換演算装置210の
ステージIIのeven側のシリアル演算器212a〜2
12dは、前記図16のステージIIの演算器152a〜
152dの最終段の加算器152a2、加算器152d
2、減算器152b2、減算器152c2を、クリティカ
ルパスの解消のためフリップフロップ(FF)を備えた
通常の加減算器212a1〜212dにした構成となっ
ている。また、ステージIIのodd側のシリアル回路2
20は、前記図17のシリアル回路160にクリティカ
ルパスの解消のためフリップフロップ(FF)を挿入し
たシリアル回路となっており、図17のシリアル回路1
60の出力O7、O3、O5、O1を1クロック保持した出
力O7、O3、O5、O1を出力する構成となっている。
【0197】図28はDCT演算式をそのままハードウ
ェア化したシリアル回路を基に、複数段の加減算を一度
に行なうとともに、クリティカルパスの解消のためフリ
ップフロップ(FF)を挿入したシリアル回路220の
回路構成図であり、このシリアル回路220は、図26
に示すデータ変換演算装置200のステージIIのodd
側及び図27に示すデータ変換演算装置210のステー
ジIIのodd側のシリアル回路部分を構成する。シリア
ル回路220は、前記基本原理(III)の考え方に基づ
いて構成された前記図17のシリアル回路160に、さ
らに前記基本原理(IV)の考え方を適用したものであ
る。なお、図28の説明に当たり図17と同一構成部分
には同一番号を付している。
【0198】図28において、シリアル回路220に入
力される入力をA、B、C、D、シリアル回路160か
ら出力される出力をO1、O3、O5、O7とすると、シリ
アル回路160は、DCT演算式を展開して得られた各
入力A〜Dに共通な係数を2のべきにある数値をかけた
形で表現した場合の該数値の部分を作成するシリアル回
路を基に、このシリアル回路をフリップフロップ(F
F)を有しないアダー(サブトラクタ)を含んで構成し
た前段のシリアル回路161と、このシリアル回路16
1により計算された係数出力に対して出力方向(DCT
演算式の横方向)に符号分を含めた加減算を行なって出
力O1、O3、O5、O7として出力するフリップフロップ
(FF)を有しないアダー(サブトラクタ)を含んで構
成した後段のシリアル回路222により構成されてい
る。この後段のシリアル回路222は、フリップフロッ
プ(FF)を有しないアダー(サブトラクタ)を含んで
構成するとともに、その一部はクリティカルパスの解消
のためフリップフロップ(FF)を備えたアダー(サブ
トラクタ)により構成される。すなわち、上記シリアル
回路161は、入力Aについて各入力A〜Dに共通な係
数(本実施例では、17、85、48、72)を2のべ
きにある数値(本実施例では、2、42、6、18)を
かけた形で表現した場合に該数値の部分を作成するシリ
アル演算器161e、入力Bについて各入力A〜Dに共
通な係数を2のべきにある数値をかけた形で表現した場
合に該数値の部分を作成するシリアル演算器161f、
入力Cについて各入力A〜Dに共通な係数を2のべきに
ある数値をかけた形で表現した場合に該数値の部分を作
成するシリアル演算器161g、入力Dについて各入力
A〜Dに共通な係数を2のべきにある数値をかけた形で
表現した場合に該数値の部分を作成するシリアル演算器
161hから構成されている。
【0199】また、後段のシリアル回路222は、シリ
アル演算器161e〜161hにより計算された係数出
力に対して出力方向に符号分を含めた加減算を順次行な
うとともに複数段の加減算を一度に行ない、かつ、クリ
ティカルパスの解消のためフリップフロップ(FF)を
挿入することによって1クロック遅延した出力O1、O
3、O5、O7を出力するシリアル演算器222e〜22
2hにより構成されている。
【0200】すなわち、上記シリアル演算器162e
は、シリアル演算器161gの加算器161g4の出力
とシリアル演算器161fの加算器161f3の出力を
加算する加算器162e1、シリアル演算器161eの
シフタ161e1の出力とシリアル演算器161gの加
算器161g5の出力を加算する内部にフリップフロッ
プ(FF)を有しない加算器162e2、入力Aと入力
Dを加算する内部にフリップフロップ(FF)を有しな
い加算器162e3、加算器162e1の出力と加算器1
62e2の出力を加算する加算器162e4、この加算器
162e4の出力と加算器162e3の出力を加算して1
クロック遅延した出力データO1=(17A+48B+
72C+85D)×2として出力する内部にフリップフ
ロップ(FF)を備えた加算器222e1から構成され
ている。また、上記シリアル演算器162fは、シリア
ル演算器161eの加算器161e4の出力とシリアル
演算器161hの加算器161h3の出力を加算する加
算器162f1、シリアル演算器161fのシフタ16
1f1の出力からシリアル演算器161gの加算器16
1g5の出力を減算する内部にフリップフロップ(F
F)を有しない減算器162f2、入力Bから入力Cを
減算する内部にフリップフロップ(FF)を有しない減
算器162f3、加算器162f1の出力と減算器162
f2の出力を加算する加算器162f4、この加算器16
2f4の出力と減算器162f3の出力を加算して1クロ
ック遅延した出力データO5=(72A+17B−85
C+48D)×2として出力する内部にフリップフロッ
プ(FF)を備えた加算器222f1から構成されてい
る。
【0201】また、上記シリアル演算器162gは、シ
リアル演算器161hの加算器161h4の出力からシ
リアル演算器161eの加算器161e3の出力を減算
する減算器162g1、シリアル演算器161gのシフ
タ161g1の出力とシリアル演算器161fの加算器
161f5の出力を加算する内部にフリップフロップ
(FF)を有しない加算器162g2、入力Cと入力B
を加算する内部にフリップフロップ(FF)を有しない
加算器162g3、減算器162g1の出力から加算器1
62g2の出力を減算する減算器162g4、この減算器
162g4の出力から加算器162g3の出力を減算して
1クロック遅延した出力データO3=(−48A−85
B−17C+72D)×2として出力する内部にフリッ
プフロップ(FF)を備えた減算器222g1から構成
されている。また、上記シリアル演算器162hは、シ
リアル演算器161fの加算器161f4の出力からシ
リアル演算器161gの加算器161g3の出力を減算
する減算器162h1、シリアル演算器161hのシフ
タ161h1の出力からシリアル演算器161eの加算
器161e5の出力を減算する内部にフリップフロップ
(FF)を有しない減算器162h2、入力Dから入力
Aを減算する内部にフリップフロップ(FF)を有しな
い減算器162h3、加算器162h1の出力と減算器1
62h2の出力を加算する加算器162h4、この加算器
162h4の出力と減算器162h3の出力を加算して1
クロック遅延した出力データO7=(−85A+72B
−48C+17D)×2として出力する内部にフリップ
フロップ(FF)を備えた加算器222h1から構成さ
れている。
【0202】このように、シリアル回路220のシリア
ル演算器161e〜161hは、前記図17のシリアル
回路160のシリアル演算器161e〜161hと同様
に加算器161e2、161f2、161g2、161h2
が、遅延用のフリップフロップ(FF)を有しない構造
の加算器により構成されており、また、シリアル回路2
20のシリアル演算器222e〜222hは、前記図1
7のシリアル回路160のシリアル演算器162e〜1
62hの最終段の加算器162e5、加算器162f5、
減算器162g5、加算器162h5を、クリティカルパ
スの解消のためフリップフロップ(FF)を備えた通常
の加算器222e1、加算器222f1、減算器222g
1、加算器222h1にした構成となっている。すなわ
ち、シリアル回路220のシリアル演算器222e〜2
22hは、クロックが必要な加減算器の段数を先ず減ら
すとともに、加減算器を遅延用のフリップフロップ(F
F)を有しない構造を作成し、次いでその加減算器の一
部にクリティカルパスの解消のためのフリップフロップ
(FF)を挿入した構成することによって、クロック数
や回路規模を減らしつつクリティカルパスを解消してい
る。このため、クリティカルパスの解消のためにフリッ
プフロップ(FF)が挿入されたシリアル回路220か
らは、図17のシリアル回路160の出力O7、O3、O
5、O1を1クロック保持した出力(すなわち、図17の
シリアル回路160の出力O7、O3、O5、O1を×2し
た出力)O7、O3、O5、O1が出力されるようになる。
【0203】以上のように構成された上記シリアル回路
220を、図26に示すデータ変換演算装置202のス
テージIIのodd側及び図27に示すデータ変換演算装
置210のステージIIのodd側の回路構成部に用いる
とともに、ステージIIのeven側の最終段の加減算器
を、クリティカルパスの解消のためフリップフロップ
(FF)を備えた通常の加減算器にすることによってク
リティカルパスが最も厳しいと考えられるステージIIの
クリティカルパスを解消させることができる。同様なク
リティカルパスの解消方法はステージI及びステージII
Iにも適用することが可能である。
【0204】次に、本実施例の動作を説明する。
【0205】本実施例の動作の説明にあたり、まず、前
記基本原理(I)に基づくデータ圧縮伸張装置の全体動
作及びデータ変換演算装置50における動作を述べ、次
いで前記基本原理(II)に基づくデータ変換演算装置1
10、120における動作を述べ、次いで前記基本原理
(III)に基づくデータ変換演算装置140、150、
180、190における動作を述べ、次いで前記基本原
理(IV)に基づくデータ変換演算装置200、210に
おける動作を述べる。
【0206】データ圧縮伸張装置の全体動作(図3) 図3において、データ記憶装置10に蓄えられているパ
ラレルデータはパラレル−シリアル変換装置11に入力
され、パラレル−シリアル変換装置11はデータ記憶装
置10から読み込んだパラレルデータをシリアルデータ
に変換してデータ変換演算装置50に出力する。データ
変換演算装置50は、バス切換えにより圧縮時にパラレ
ル−シリアル変換装置11から出力されたデータに対し
て一次元のDCT演算をシリアル演算の形で施すととも
に、伸張時にパラレル−シリアル変換装置11から出力
された圧縮データに対して一次元の逆DCT演算をシリ
アル演算の形で施す。この場合のシリアル演算は、デー
タ変換演算装置50においてDCT演算係数を簡単な整
数比に変えた形のシリアル回路により行なわれる。シリ
アルDCT演算されたデータはシリアル−パラレル変換
装置13に出力され、シリアル−パラレル変換装置13
はデータ変換演算装置50から出力されたシリアルデー
タをパラレルデータに変換してデータ記憶装置10に書
き込む。上述した処理を縦横(順不同)二次元に施す。
また、量子化装置51は、データ記憶装置10に蓄えら
れたデータ変換演算後のデータに対して、DCT演算係
数を簡単な整数比に変えることにより生じたゲインの変
化分を吸収するように構成された量子化テーブルの値で
逆数の乗算をすることによって量子化演算を行なう。す
なわち、DCT演算係数を簡単な整数比に変え、整数比
として表されたことによって生ずる各出力のゲインの変
化分は量子化装置51において吸収する。本実施例で
は、量子化テーブルを所定数倍(後述)することによっ
てゲインの変化分を量子化装置51において吸収するよ
うにしている。ところで、このような量子化テーブルを
用いた場合、一見すると従来のものと比べて量子化演算
のbit幅が、従来のものよりも多く必要であるかのよう
にも考えられるが、実際には、量子化演算には、逆数の
乗算であるため、係数(例えば、7)の逆数も、7×2
/COS(N/16)πの逆数も、ともに無限小数となるため、
丸め近似を必要とし、ほぼ同じ程度の誤差を含む。すな
わち、従来のCOS係数を2進歩の小数で表現した時点で
丸め誤差が乗ってしまうので、整数の比に置き変えても
誤差を押さえるためにbit幅を大きくする必要はない。
【0207】上記データ変換演算装置50により実行さ
れるシリアルDCT演算を以下に説明するシリアル演算
によって行なう。
【0208】データ変換演算装置50における動作(図
5、図6) データ変換演算装置50の基本的な動作は図32に示す
従来例と同様であるが、このデータ変換演算装置50に
おけるシリアル演算では後述するように一次元当りのゲ
インが65/64倍、二次元では4225/4096倍のゲインが変化
しているので、量子化時にその補正を行なうように量子
化テーブルを4225/4096倍して、その値で除算(逆数の
乗算)することによって補正を行なう。
【0209】以下、この演算について説明する。
【0210】ステージIの演算回路61の出力について
は、図39及び図43に示す従来例と同様であるので以
後、以下のように記する。
【0211】 f0+f7=a0、f0-f7=b0、f1+f6=a1、f1-f6=b
1、f2+f5=a2、f2-f5=b2、f3+f4=a3、f3-f4=
b3 まず、図43に示す従来例においてF0〜F7がa0〜a3
およびb0〜b3によってどのように表わされていたかを
示す。
【0212】 F0=(724a0+724a1+724a2+724a3)×2048 F4=(724a0−724a1−724a2+724a3)×2048 F2=(473a0+192a1−192a2−473a3)×4096 F6=(192a0−473a1+473a2−192a3)×4096 F1=(295b0+16833b1+25883b2+15104b3)×16 F7=(−15104b0+25883b1−16833b2+2550b3) ×16 F3=(−18176b0−64255b1−12815b2+27264b3) ×16 F5=(27264b0+12815b1−64255b2+18176b3) ×16 この式を以下のように近似し簡略化する。
【0213】 F0=(92a0+92a1+92a2+92a3)×128 F4=(92a0−92a1−92a2+92a3)×128 F2=(60a0+25a1−25a2−60a3)×256 F6=(25a0−60a1+60a2−25a3)×256 F1=(17b0+48b1+72b2+85b3)×6×32 F7=(−85b0+72b1−48b2+17b3)×6×32 F3=(−48b0−85b1−17b2+72b3)×6×32 F5=(72b0+17b1−85b2+48b3)×6×32 ここで、各係数の比は従来のものと、ほぼ同等であるの
で各出力F0〜F7の比はほぼ同等と考えられるが、その
出力のゲインがどのように変化しているかについて考察
してみる。
【0214】出力F0についてみると本来のDCTの計
算式では、出力F0は入力f0〜f7の和の2√2倍となっ
ているが、この比率では2のべきを除いて23倍となっ
ている。2のべき分は、取り込みのタイミングをずらす
ことによって無視できるので23に2√2を乗ずると約6
5となる。よってゲインは65/64倍となっていることが
わかる。
【0215】このような演算式によりDCT変換を行な
うことにより、演算に必要な回路構成としてフリップフ
ロップ(FF)70個、1 Add unit 52個で済む。ま
た図7にあるようなタイミングによって一次元の処理を
行なうことができる。但し、図7はF0、F4についての
タイミングであり、他については最終出力については同
じであるが各ステージにおける出力に関しては異なる。
【0216】実際には上記の演算式をさらに以下のよう
に変形して回路を構成する。
【0217】 F0=((a0+a3)×16+(a1+a2)×16)×2×8×46 F4=((a0+a3)×16−(a1+a2)×16)×2×8×46 F6=((a0−a3)×40−(a1−a2)×96)×2×8×10 F2=((a0−a3)×96+(a1−a2)×40)×2×8×10 F7=(((48×(b1+b2)+68×b3)×2)×2 −((48×(b2−b1)+68×b0)×2)×10)×12 F3=(((96×b3−68×(b1+b2))×2)×6 −((96×b0−68×(b2−b1))×2)×4)×12 F5=(((96×b0−68×(b2−b1))×2)×6 −((96×b3−68×(b1+b2))×2)×4)×12 F1=(((48×(b2−b1)+68×b0)×2)×2 −((48×(b1+b2)+68×b3)×2)×10)×12 以下、上記演算式に従って構成されたデータ変換演算装
置50の動作を説明する。
【0218】まず、DCT演算処理の場合を述べると、
ここでは、ステージIの演算回路61において加算器8
1aに入力データf0とf7、加算器81bに入力データ
f1とf6、加算器81cに入力データf2とf5、加算器
81dに入力データf3とf4、減算器81eに入力デー
タf3とf4、減算器81fに入力データf2とf5、減算
器81gに入力データf1とf6、減算器81hに入力デ
ータf0とf7が入力される。これにより加算器81aは
入力データf0とf7の加算結果を出力し、加算器81b
は入力データf1とf6の加算結果を出力し、加算器81
cは入力データf2とf5の加算結果f2+f5を出力し、
加算器81dは入力データf3とf4の加算結果を出力す
るようになる。また、減算器81eは入力データf3と
f4の減算結果を出力し、減算器81fは入力データf2
とf5の減算結果を出力し、減算器81gは入力データ
f1とf6の減算結果を出力し、減算器81hは入力デー
タf0とf7の減算結果を出力するようになる。この場合
の入力データは、図7に示すように7bitと1bitのサイ
ンビットの8bitのデータからなっている。また、出力
データは、図7Iに示すように7+1bitと1bitのサイ
ンビットからなっている。
【0219】次いで、ステージIIの演算回路62に進
む。この演算回路62のシリアル演算器82a〜82h
には、ステージIの演算回路61で加算あるいは減算さ
れた加減算結果a0、b0、a1、b1、a2、b2、a3、
b3が入力データとして与えられる。上記演算器82a
では、係数を簡単な整数比に近似した場合のDCTシリ
アル演算式F0=((a0+a3)×16+(a1+a2)
×16)×2×8×46及び、F4=((a0+a3)×
16−(a1+a2)×16)×2×8×46に共通する
(a0+a3)×16の演算を実行する。この場合、演算
器82aには、加算器81aの出力(a0)と加算器8
1dの出力(a3)とが入力され、加算器82a1でこれ
ら入力を加算し、この加算結果がシフタ82a2に与え
られる。シフタ82a2からは、図7Iに示すように、
3個のフリップフロップの動作だけ遅延して出力され
る。また上記演算器82bでは、係数を簡単な整数比に
近似した場合のDCTシリアル演算式F0=((a0+a
3)×16+(a1+a2)×16)×2×8×46及
び、F4=((a0+a3)×16−(a1+a2)×1
6)×2×8×46に共通する(a1+a2)×16の演
算を実行する。この場合、演算器82bには、加算器8
1bの出力(a1)と加算器81cの出力(a2)とが入
力され、加算器82b1でこれら入力を加算し、この加
算結果がシフタ82b2に与えられる。シフタ82b2か
らは、図7Iに示すように、3個のフリップフロップの
動作だけ遅延して出力される。
【0220】また上記演算器82cでは、係数を簡単な
整数比に近似した場合のDCTシリアル演算式F6=
((a0−a3)×40−(a1−a2)×96)×2×8
×10及び、F2=((a0−a3)×96+(a1−a
2)×40)×2×8×10の(a1−a2)×96と
(a1−a2)×40の演算を実行する。この場合、演算
器82cには、加算器81bの出力(a1)と加算器8
1cの出力(a2)とが入力され、減算器82c1で加算
器81bの出力から加算器81cの出力で減算すると
(a1−a2)が求められる。この減算器82c1の出力
をシフタ82c2に与え、このシフタ82c2の第1番目
のフリップフロップの出力とシフタ82c2の出力を加
算器82c3により加算し、またシフタ82c2の第2番
目のフリップフロップの出力と加算器82c3の出力を
82c4により加算することにより(a1−a2)×40
と(a1−a2)×96が求められることになる。この場
合、図7の入力に示す入力データに対して演算器82c
では、同図IIに示すタイミングで上述の演算結果を出力
データとして発生するようになる。また上記演算器82
dでは、係数を簡単な整数比に近似した場合のDCTシ
リアル演算式F6=((a0−a3)×40−(a1−a
2)×96)×2×8×10及び、F2=((a0−a3)
×96+(a1−a2)×40)×2×8×10の(a0
−a3)×40と(a0−a3)×96の演算を実行す
る。この場合、演算器82dには、加算器81aの出力
(a0)と加算器81dの出力(a3)とが入力され、減
算器82d1で加算器81aの出力を加算器81dの出
力で減算すると(a0−a3)が求められる。この減算器
82d1の出力をシフタ82d2に与え、このシフタ82
d2の第1番目のフリップフロップの出力とシフタ82
d2の出力を加算器82d3により加算し、またシフタ8
2d2の第2番目のフリップフロップの出力と加算器8
2d3の出力を82d4により加算することにより(a0
−a3)×40と(a0−a3)×96が求められること
になる。この場合、図7の入力に示す入力データに対し
て演算器82dでは、同図IIに示すタイミングで上述の
演算結果を出力データとして発生するようになる。
【0221】一方、上記演算器82eでは、係数を簡単
な整数比に近似した場合のDCTシリアル演算式F7=
(((48×(b1+b2)+68×b3)×2)×2−
((48×(b2−b1)+68×b0)×2)×10)
×12とF1=(((48×(b2−b1)+68×b0)
×2)×2−((48×(b1+b2)+68×b3)×
2)×10)×12の68×b0の演算及び、F3=
(((96×b3−68×(b1+b2))×2)×6−
((96×b0−68×(b2−b1))×2)×4)×
12とF5=(((96×b0−68×(b2−b1))×
2)×6−((96×b3−68×(b1+b2))×
2)×4)×12の96×b0の演算を実行する。この
場合、演算器82eのシフタ82e1には、減算器81
eの出力(b0)が入力され、シフタ82e1の第3番目
のフリップフロップの出力が加算器82e2により加算
されるとともに、この加算結果がシフタ82e3により
1クロック遅延して出力され、また、シフタ82e1の
第1番目のフリップフロップの出力と第5番目のフリッ
プフロップの出力が加算器82e4により加算されて、
68×b0及び96×b0が求められることになる。この
場合、図7の入力に示す入力データに対して演算器82
eでは、同図IIに示すタイミングで上述の演算結果を出
力データとして発生するようになる。
【0222】また、上記演算器82fでは、係数を簡単
な整数比に近似した場合のDCTシリアル演算式F7=
(((48×(b1+b2)+68×b3)×2)×2−
((48×(b2−b1)+68×b0)×2)×10)
×12とF1=(((48×(b2−b1)+68×b0)
×2)×2−((48×(b1+b2)+68×b3)×
2)×10)×12の48×(b2−b1)の演算及び、
F3=(((96×b3−68×(b1+b2))×2)×
6−((96×b0−68×(b2−b1))×2)×
4)×12とF5=(((96×b0−68×(b2−b
1))×2)×6−((96×b3−68×(b1+b
2))×2)×4)×12の68×(b2−b1)の演算
を実行する。この場合、演算器82fには、減算器81
fの出力(b1)と減算器81gの出力(b2)が入力さ
れ、減算器82f1で加算器81gの出力を加算器81
fの出力で減算すると(b2−b1)が求められる。この
減算器82f1の出力をシフタ82f2に与え、このシフ
タ82f2の第2番目のフリップフロップの出力と第3
番目のフリップフロップの出力を加算器82f3により
加算し、またシフタ82f2の出力と減算器82f1の出
力を82f4により加算することにより(b2−b1)×
48と(b2−b1)×68が求められることになる。こ
の場合、図7の入力に示す入力データに対して演算器8
2fでは、同図IIに示すタイミングで上述の演算結果を
入力データとして発生するようになる。
【0223】また、上記演算器82gでは、係数を簡単
な整数比に近似した場合のDCTシリアル演算式F7=
(((48×(b1+b2)+68×b3)×2)×2−
((48×(b2−b1)+68×b0)×2)×10)
×12とF1=(((48×(b2−b1)+68×b0)
×2)×2−((48×(b1+b2)+68×b3)×
2)×10)×12の48×(b1+b2)の演算及び、
F3=(((96×b3−68×(b1+b2))×2)×
6−((96×b0−68×(b2−b1))×2)×
4)×12とF5=(((96×b0−68×(b2−b
1))×2)×6−((96×b3−68×(b1+b
2))×2)×4)×12の68×(b1+b2)の演算
を実行する。この場合、演算器82gには、減算器81
fの出力(b1)と減算器81gの出力(b2)が入力さ
れ、加算器82g1で加算器81fの出力と加算器81
gの出力を加算すると(b1+b2)が求められる。この
加算器82g1の出力をシフタ82g2に与え、このシフ
タ82g2の第2番目のフリップフロップの出力と第3
番目のフリップフロップの出力を加算器82g3により
加算し、またシフタ82g2の出力と加算器82g1の出
力を82g4により加算することにより(b1+b2)×
48と(b1+b2)×68が求められることになる。こ
の場合、図7の入力に示す入力データに対して演算器8
2gでは、同図IIに示すタイミングで上述の演算結果を
入力データとして発生するようになる。
【0224】また、上記演算器82hでは、係数を簡単
な整数比に近似した場合のDCTシリアル演算式F7=
(((48×(b1+b2)+68×b3)×2)×2−
((48×(b2−b1)+68×b0)×2)×10)
×12とF1=(((48×(b2−b1)+68×b0)
×2)×2−((48×(b1+b2)+68×b3)×
2)×10)×12の68×b3の演算及び、F3=
(((96×b3−68×(b1+b2))×2)×6−
((96×b0−68×(b2−b1))×2)×4)×
12とF5=(((96×b0−68×(b2−b1))×
2)×6−((96×b3−68×(b1+b2))×
2)×4)×12の96×b3の演算を実行する。この
場合、演算器82hのシフタ82h1には、減算器81
hの出力(b3)が入力され、シフタ82h1の第3番目
のフリップフロップの出力と第4番目のフリップフロッ
プの出力が加算器82h2により加算されるとともに、
この加算結果がシフタ82h3により1クロック遅延し
て出力され、また、シフタ82h1の第1番目のフリッ
プフロップの出力と第5番目のフリップフロップの出力
が加算器82h4により加算されて、68×b3及び96
×b3が求められることになる。この場合、図7の入力
に示す入力データに対して演算器82hでは、同図IIに
示すタイミングで上述の演算結果を入力データとして発
生するようになる。
【0225】次いで、ステージIIIの演算回路63に進
む。この演算回路63では、ステージIIの演算回路62
の演算器82a、82bの出力が加算器83aおよび減
算器83bに与えられ、同様にして演算器82c、82
dの出力が減算器83c及び加算器83dに与えられ、
さらに演算器82e、82fの出力が加算器83e及び
減算器83fに、演算器82g、82hの出力が減算器
83及び加算器83hに与えられる。これにより、加算
器83aは、ステージIIの演算回路82の演算器82a
と演算器82bの出力を加算した結果((a0+a3)×
16+(a1+a2)×16)×2を出力し、減算器83
bはステージIIの演算回路62の演算器82aから演算
器82bの出力を減算した結果((a0+a3)×16−
(a1+a2)×16)×2を出力し、減算器83cはス
テージIIの演算回路62の演算器82cから演算器82
dの出力を減算した結果((a0−a3)×40−(a1
−a2)×96)×2を出力し、加算器83dは、ステ
ージIIの演算回路62の演算器82cと演算器82dの
出力を加算した結果((a0−a3)×96+(a1−a
2)×40)×2を出力するようになる。また、加算器
83eは、ステージIIの演算回路82の演算器82eと
演算器82fの出力を加算した結果(48×(b2−b
1)+68×b0)×2を出力し、減算器83fはステー
ジIIの演算回路62の演算器82eから演算器82fの
出力を減算した結果(96×b0−68×(b2−b
1))×2を出力し、減算器83gはステージIIの演算
回路62の演算器82gから演算器82hの出力を減算
した結果(96×b3−68×(b1+b2))×2を出
力し、加算器83hは、ステージIIの演算回路62の演
算器82gと演算器82hの出力を加算した結果(48
×(b1+b2)+68×b3)×2を出力するようにな
る。この場合、図7の入力データに対して各加算器83
a、83d、83e、83h及び減算器83b、83
c、83f、83gでは、同図IIIに示すタイミング
で、それぞれの演算結果を出力するようになる。
【0226】次いで、ステージIVの演算回路64に進
む。この演算回路64では、ステージIIIの演算回路6
3の加算器83aの出力が演算器84aに与えられ、同
様にして減算器83bの出力が演算器84bに、減算器
83cの出力が演算器84cに、加算器83dの出力が
演算器84dに、加算器83eの出力が演算器84e
に、減算器83fの出力が演算器84fに、減算器83
gの出力が演算器84gに、加算器83hの出力が演算
器84hにそれぞれ与えられる。これにより、演算器8
4aは、ステージIIIの演算回路63の加算器83aの
出力((a0+a3)×16+(a1+a2)×16)×2
に対して×8×46の演算を実行し、その演算結果を出
力データF0として出力する。また、演算器84bは、
ステージIIIの演算回路63の減算器83bの出力
((a0+a3)×16−(a1+a2)×16)×2に対
して×8×46の演算を実行し、その演算結果を出力デ
ータF4として出力する。同様に、演算器84cは、ス
テージIIIの演算回路63の減算器83cの出力((a0
−a3)×40−(a1−a2)×96)×2に対して×
8×10の演算を実行し、その演算結果を出力データF
6として出力する。また、演算器84dは、ステージIII
の演算回路63の加算器83dの出力((a0−a3)×
96+(a1−a2)×40)×2に対して×8×10の
演算を実行し、その演算結果を出力データF2として出
力する。
【0227】また、odd側においては、演算器84e
のシフタ82e1には加算器83eの出力((48×
(b2−b1)+68×b0)×2)が入力され、このシ
フタ84e1の出力と加算器83eの出力を加算器84
e2で加算し、また、後述するシフタ84h1の第1番目
のフリップフロップの出力から、この加算器84e2の
出力を減算器84e3で減算する。減算器84e3の出力
はシフタ84e4に与えられ、このシフタ84e4の出力
から減算器84e3の出力を減算器84e5により減算
し、その演算結果を出力データF7として出力する。ま
た、演算器84fのシフタ82f1には減算器83fの
出力((96×b0−68×(b2−b1))×2)が入
力され、このシフタ84f1の第1番目のフリップフロ
ップの出力と減算器83fの出力を加算器84f2で加
算する。また、後述する加算器84g2の出力から、こ
のシフタ84f1の出力を、この減算器84f3で減算す
る。減算器84f3の出力はシフタ84f4に与えられ、
このシフタ84f4の出力から減算器84f3の出力を減
算器84f5により減算し、その演算結果を出力データ
F3として出力する。また、演算器84gのシフタ82
g1には減算器83gの出力((96×b3−68×(b
1+b2))×2)が入力され、このシフタ84g1の第
1番目のフリップフロップの出力と減算器83gの出力
を加算器84g2で加算する。また、加算器84f2の出
力と、このシフタ84g1の出力を、この加算器84g3
で加算する。加算器84g3の出力はシフタ84g4に与
えられ、このシフタ84g4の出力から加算器84g3の
出力を減算器84g5により減算し、その演算結果を出
力データF5として出力する。また、演算器84hのシ
フタ82h1には加算器83hの出力((48×(b1+
b2)+68×b3)×2)が入力され、このシフタ84
h1の出力と加算器83hの出力を加算器84h2で加算
し、また、シフタ84e1の第1番目のフリップフロッ
プの出力と、この加算器84h2の出力を加算器84h3
で減算する。加算器84h3の出力はシフタ84h4に与
えられ、このシフタ84h4の出力から加算器84h3の
出力を減算器84h5により減算し、その演算結果を出
力データF1として出力する。この場合、上記ステージI
Vの演算回路64の各演算器84a〜84hでは図7の
入力データに対してシリアル演算を実行し、同図IVに示
すタイミングで、その演算結果を出力データF0〜F7と
して発生するようになようになる。
【0228】以上の説明は、図5に示すDCT演算処理
の場合であるが、図6に示すデータ変換演算装置50に
よる逆DCT演算処理の場合も上述したDCT演算処理
の場合と同様である。
【0229】この場合は図4に示すように入力データF
0〜F7がステージIVの演算回路74〜ステージIの演算
回路71の順で与えられるようになる。
【0230】図7は、データ変換演算装置50の入力か
ら出力までのタイミングチャートであり、ステージIの
演算回路61〜ステージIVの演算回路64の動作を総合
した場合のタイミングチャートを示している。本実施例
では、2のべきにとらわれずにDCTの演算係数を整数
値に置き換え、そのゲイン変化分を量子化装置51によ
って吸収するようにすることによって図5及び図6に示
すように回路規模を大幅に小さくすることができ、8bi
tのデータを入力した場合、1ライン当りの処理周期を
21クロックに減少させることができる。
【0231】なお、上述の例は一次元の場合であり、画
素等の二次元の場合には、この処理を縦、横2度行うこ
とによって実現するようにする。
【0232】データ変換演算装置110、120におけ
る動作(図9、図10) データ変換演算装置110、120の基本的な動作は図
5及び図6に示したデータ変換演算装置50と同様であ
るが、ステージがI〜IIIとなっており、かつステージI
Iのodd側がDCT演算式をそのままハードウェア化
したシリアル回路100により構成されているためこの
部分の動作は異なっている。まず、シリアル回路100
の動作について説明し、次いで、データ圧縮時のデータ
変換演算装置110の全体の動作を述べる。
【0233】前記図8のデータ変換演算装置50の破線
内の演算について、入力をb0〜b3、出力をx0〜x3と
して考えてみる。同図中破線内の演算は以下のような式
で表わすことができる。
【0234】 x0=32×(−85b0+72b1−48b2+17b3) x1=32×(−48b0−85b1−17b2+72b3) x2=32×(72b0−17b1+85b2+48b3) x3=32×(17b0+48b1+72b2+85b3) 上記の式により、x0〜x3は各入力b0〜b3に対して、
17、48、72、85という一定の数値を乗じた値の
加減算によって得られることがわかる。この場合、上記
式に示すように、演算式のうち本来括弧内だけの比率で
求めればよいにもかかわらず従来のシリアル演算を行な
う場合には加減算及びバタフライ演算を用いていたため
×32が必要となり、結果的には32=25としてフリ
ップフロップ(FF)5段分の冗長性が存在していた。
【0235】上記式の係数17、48、72、85の比
率を同じままで高速化した回路が図8に示すシリアル回
路100である。
【0236】図11のデータ変換演算装置110及びデ
ータ変換演算装置120のシリアル回路100につい
て、入力をb0〜b3、出力をx0〜x3として考えてみ
る。図8に示すような回路構成にすると、各出力x0〜
x3は以下のような式によって表わされる。
【0237】 x0=4×(−85b0+72b1−48b2+17b3) x1=4×(−48b0−85b1−17b2+72b3) x2=4×(72b0−17b1+85b2+48b3) x3=4×(17b0+48b1+72b2+85b3) 従来の式と比べてゲインは4/32=1/8=2-3倍異
なっている。つまり、2-3から3クロック従来のものよ
りも速く出力することがわかる。ここでは、破線内のみ
を高速化したため偶数成分F0、F2、F4、F6と出力タ
イミングおよびゲインが異なってしまうので、タイミン
グおよびゲインを揃えるために、偶数成分側から不必要
なシフトレジスタを取り去った構成図が図11である。
またその時のタイミングチャートが図14であり、入力
から出力まで23クロックによって行なう。
【0238】以下、上記演算式をそのままハードウェア
化したシリアル回路100の動作を説明する。
【0239】図11において、シリアル回路100の前
段部分を構成するシリアル回路101のシリアル演算器
101e〜101hには、図9のステージIの演算回路
91で減算された減算結果b0、b1、b2、b3が入力デ
ータとして与えられ、各入力b0〜b3に共通な係数を2
のべきにある数値をかけた形で表現した場合の該数値の
部分が演算される。すなわち、上記シリアル演算器10
1eでは、入力b0が入力されると、この入力b0をシフ
トあるいはシフト加算を行なうことによって各入力b0
〜b3に共通な係数17、85、48、72を2のべき
にある数値(本実施例では、2、42、6、18)をか
けた形で表現した場合の該数値の部分が作成される。こ
の場合、上記式に示すようにDCT演算式を展開して各
入力に共通な係数17、85、48、72が得られたと
すると、図1の原理説明(II)で説明したように係数1
7は16+1、係数85は42×21+1、係数48は
6×23、係数72は18×22と表現し、この数値2、
42、6、18の部分(図1の破線内の数値参照)をシ
リアル演算器101eにより演算する。これにより、シ
リアル演算器101eのシフタ101e1の第1番目の
フリップフロップから1個のフリップフロップの動作だ
け遅延して出力された「2」が、入力b0とシフタ10
1e1の第1番目のフリップフロップの出力を加算する
ことによって加算器101e5から「42」が、入力b0
とシフタ101e1の第1番目のフリップフロップの出
力を加算することによって加算器101e2から「6」
が、入力b0とシフタ101e1の出力を加算することに
よって加算器101e3から「18」がそれぞれ出力さ
れることになる。同様に、上記シリアル演算器101f
では、入力b1がシフトあるいはシフト加算されること
によって、シリアル演算器101fのシフタ101f1
の第1番目のフリップフロップから「2」が、入力b0
と加算器101e4の出力を加算して加算器101f5か
ら「42」が、加算器101f2から「6」が、加算器
101f3から「18」がそれぞれ出力されることにな
る。また、上記シリアル演算器101gでは、入力b2
がシフトあるいはシフト加算されることによって、シリ
アル演算器101gのシフタ101g1の第1番目のフ
リップフロップから「2」が、加算器101g5から
「42」が、加算器101g2から「6」が、加算器1
01g3から「18」がそれぞれ出力されることにな
り、上記シリアル演算器101hでは、入力b3がシフ
トあるいはシフト加算されることによって、シリアル演
算器101hのシフタ101h1の第1番目のフリップ
フロップから「2」が、加算器101h5から「42」
が、加算器101h2から「6」が、加算器101h3か
ら「18」がそれぞれ出力されることになる。
【0240】上記シリアル演算器101e〜101hで
演算されたDCT演算式の係数に相当する数値「2」、
「42」、「6」、「18」はシリアル回路100の後
段部分を構成するシリアル回路102のシリアル演算器
102e〜102hに入力され、各シリアル演算器10
2e〜102hは、シリアル演算器101e〜101h
により計算された係数出力に対してDCT演算式の横方
向に符号分を含めた加減算を順次行なって出力x3〜x0
として出力する。この場合、上記係数17、85、4
8、72を2のべきにある数値をかけた形で表現したと
きの2のべきの部分は各シリアル演算器102e〜10
2hの加減算器への入力位置により調整されるととも
に、原理説明(II)で説明した理由から係数17、8
5、48、72のうち、基本的に奇数のもの(係数1
7、85)についての加減算を先に行なうようにする。
【0241】上記シリアル演算器102eでは、DCT
演算式をそのままハードウェア化した場合のシリアル演
算式x3=4×(17b0+48b1+72b2+85b
3)を実行する。この場合、シリアル演算器102eの
加算器102e1には、シリアル演算器101fの加算
器101f2の出力とシリアル演算器101eのシフタ
101e1の第1番目のフリップフロップの出力とが入
力され、加算器102e1でこれら入力を加算し、この
加算器102e1の出力とシリアル演算器101gの加
算器101g3の出力を加算器102e2で加算し、この
加算器102e2の出力とシリアル演算器101hの加
算器101h5の出力を加算器102e3で加算し、この
加算器102e3の出力と入力b3を加算器102e4で
加算し、この加算器102e4の出力とシリアル演算器
101eのシフタ101e1の第1番目のフリップフロ
ップの出力を加算器102e5で加算すると出力x3が求
められる。
【0242】また、上記シリアル演算器102fでは、
DCT演算式をそのままハードウェア化した場合のシリ
アル演算式x2=4×(72b0−17b1+85b2+4
8b3)を実行する。この場合、シリアル演算器102
fの減算器102f1には、シリアル演算器101hの
加算器101h2の出力とシリアル演算器101fのシ
フタ101f1の第1番目のフリップフロップの出力と
が入力され、減算器102f1で加算器101h2の出力
からシフタ101f1の第1番目のフリップフロップの
出力を減算し、この減算器102f1の出力とシリアル
演算器101eの加算器101e3の出力を加算器10
2f2で加算し、この加算器102f2の出力とシリアル
演算器101gの加算器101g5の出力を加算器10
2f3で加算し、この加算器102f3の出力と入力b2
を加算器102f4で加算し、この加算器102f4の出
力からシリアル演算器101fのシフタ101f1の第
1番目のフリップフロップの出力を減算器102f5で
減算すると出力x2が求められる。
【0243】また、上記シリアル演算器102gでは、
DCT演算式をそのままハードウェア化した場合のシリ
アル演算式x1=4×(−48b0−85b1−17b2+
72b3)実行する。この場合、シリアル演算器102
gの加算器102g1には、シリアル演算器101eの
加算器101e2の出力とシリアル演算器101gのシ
フタ101g1の第1番目のフリップフロップの出力と
が入力され、加算器102g1でこれら入力を加算し、
次いで減算器102g2でシリアル演算器101hの加
算器101h3の出力から加算器102g1の出力を減算
し、この減算器102g2の出力からシリアル演算器1
01fの加算器101f5の出力を減算器102g3で減
算し、この減算器102g3の出力から入力b1を減算器
102g4で減算し、この減算器102g4の出力からシ
リアル演算器101gのシフタ101g1の第1番目の
フリップフロップの出力を減算器102g5で減算する
と出力x1が求められる。
【0244】また、上記シリアル演算器102hでは、
DCT演算式をそのままハードウェア化した場合のシリ
アル演算式x0=4×(−85b0+72b1−48b2+
17b3)実行する。この場合、シリアル演算器102
hの減算器102h1には、シリアル演算器101hの
シフタ101h1の第1番目のフリップフロップの出力
とシリアル演算器101gの加算器101g2の出力と
が入力され、減算器102h1でシフタ101h1の第1
番目のフリップフロップの出力から加算器101g2の
出力を減算し、この減算器102h1の出力とシリアル
演算器101fの加算器101f3の出力を加算器10
2h2で加算し、この加算器102h2の出力からシリア
ル演算器101eの加算器101e5の出力を減算器1
02h3で減算し、この減算器102h3の出力から入力
b0を減算器102h4で減算し、この減算器102h4
の出力とシリアル演算器101hのシフタ101h1の
第1番目のフリップフロップの出力を加算器102h5
で加算すると出力x0が求められる。
【0245】上記シリアル演算の場合、図14の入力デ
ータに対してシリアル演算器102e〜102hから
は、同図IIに示すタイミングで、それぞれの演算結果を
出力するようになる。
【0246】以下、上記シリアル回路100を含んで構
成されたデータ圧縮時のデータ変換演算装置110の動
作を説明する。
【0247】まず、DCT演算処理の場合を述べると、
ここでは、ステージIの演算回路111において加算器
81aに入力データf0とf7、加算器81bに入力デー
タf3とf4、加算器81cに入力データf1とf6、加算
器81dに入力データf2とf5、減算器81eに入力デ
ータf0とf7、減算器81fに入力データf3とf4、減
算器81gに入力データf1とf6、減算器81hに入力
データf2とf5が入力される。これにより加算器81a
は入力データf0とf7の加算結果を出力し、加算器81
bは入力データf3とf4の加算結果を出力し、加算器8
1cは入力データf1とf6の加算結果f1+f6を出力
し、加算器81dは入力データf2とf5の加算結果を出
力するようになる。また、減算器81eは入力データf
0とf7の減算結果を出力し、減算器81fは入力データ
f3とf4の減算結果を出力し、減算器81gは入力デー
タf1とf6の減算結果を出力し、減算器81hは入力デ
ータf2とf5の減算結果を出力するようになる。この場
合の入力データは、図14に示すように7bitと1bitの
サインビットの8bitのデータからなっている。また、
出力データは、図14Iに示すように7+1bitと1bit
のサインビットからなっている。
【0248】次いで、ステージIIの演算回路112に進
む。この演算回路112のeven側のシリアル演算器
112a〜112dには、ステージIの演算回路111
で加算された加算結果a0、a1、a2、a3が入力データ
として与えられ、odd側のシリアル回路100には、
ステージIの演算回路111で減算された減算結果b
0、b1、b2、b3が入力データとして与えられる。上記
演算器112aでは、係数を簡単な整数比に近似した場
合のDCTシリアル演算式F0=(92a0+92a1+
92a2+92a3)×128の括弧内の演算を実行す
る。この場合、シリアル演算器112aの前段部を構成
する加算器82a1には、加算器81aの出力と加算器
81dの出力とが入力され、加算器82a1でこれら入
力データを加算し、この加算結果がシフタ82a2に与
えられる。また、上記シリアル演算器112bでは、係
数を簡単な整数比に近似した場合のDCTシリアル演算
式F4=(92a0−92a1−92a2+92a3)×1
28の括弧内の演算を実行する。この場合、シリアル演
算器112bの前段部を構成する演算器112bには、
加算器81bの出力と加算器81cの出力とが入力さ
れ、加算器82b1でこれら入力データを加算し、この
加算結果がシフタ82b2に与えられる。これにより、
シフタ82a2及びシフタ82b2からは3個のフリップ
フロップの動作だけ遅延して出力されることになる。
【0249】また、上記シリアル演算器112cでは、
係数を簡単な整数比に近似した場合のDCTシリアル演
算式F6=(25a0+60a1−60a2−25a3)×
128の括弧内の演算を実行する。この場合、シリアル
演算器92cの前段部を構成する演算器82cには、加
算器81bの出力と加算器81cの出力とが入力され、
減算器82c1で加算器81bの出力を加算器81cの
出力で減算すると(a1−a2)が求められる。この減算
器82c1の出力をシフタ82c2に与え、このシフタ8
2c2の第1番目のフリップフロップの出力とシフタ8
2c2の出力を加算器82c3により加算し、また、シフ
タ82c2の第2番目のフリップフロップの出力と加算
器82c3の出力を加算器82c4により加算することに
より「25」、「60」が求められることになる。ま
た、上記シリアル演算器112dでは、係数を簡単な整
数比に近似した場合のDCTシリアル演算式F2=(6
0a0+25a1−25a2−60a3)×128の括弧内
の演算を実行する。この場合、シリアル演算器92dの
前段部を構成する演算器82dには、加算器81aの出
力と加算器81dの出力とが入力され、減算器82d1
で加算器81aの出力を加算器81dの出力で減算する
と(a0−a3)が求められる。この減算器82d1の出
力をシフタ82d2に与え、このシフタ82d2の第1番
目のフリップフロップの出力とシフタ82d2の出力を
加算器82d3により加算し、また、シフタ82d2の第
2番目のフリップフロップの出力と加算器82d3の出
力を加算器82d4により加算することにより「6
0」、「25」が求められることになる。
【0250】次いで、上記演算器82a〜82dで求め
た演算結果は、シリアル演算器112a〜112dの後
段部を構成する加減算器に与えられる。具体的には、演
算器82a、82bの出力が加算器83aおよび減算器
83bに与えられ、演算器82c、82dの出力が減算
器83c及び加算器83dに与えられ、さらに演算器8
2e、82fの出力が加算器83e及び減算器83f
に、演算器82g、82hの出力が減算器83及び加算
器83hに与えられる。これにより、加算器83aは、
演算器82aと演算器82bの出力を加算した結果(9
2a0+92a1+92a2+92a3)を出力し、減算器
83bは、演算器82aから演算器82bの出力を減算
した結果(92a0−92a1−92a2+92a3)を出
力し、減算器83cは、演算器82cから演算器82d
の出力を減算した結果(25a0+60a1−60a2−
25a3)を出力し、加算器83dは、演算器82cと
演算器82dの出力を加算した結果(60a0+25a1
−25a2−60a3)を出力するようになる。この場
合、図14の入力に示す入力データに対して演算器83
a〜83hでは、同図IIに示すタイミングで上述の演算
結果を出力データとして発生するようになる。
【0251】なお、ステージIIの演算回路112のod
d側を構成するシリアル回路100の動作は前述してい
る。
【0252】次いで、ステージIIIの演算回路113に
進む。この演算回路113では、ステージIIの演算回路
112の加算器83aの出力が演算器113aに与えら
れ、同様にして減算器83bの出力が演算器113b
に、減算器83cの出力が演算器113cに、加算器8
3dの出力が演算器113dに、シリアル回路100の
出力x0が演算器113eに、シリアル回路100の出
力x1が演算器113fに、シリアル回路100の出力
x2が演算器113gに、シリアル回路100の出力x3
が演算器113hにそれぞれ与えられる。これにより、
演算器113aは、ステージIIの演算回路112の加算
器83aの出力(92a0+92a1+92a2+92a
3)に対して×128の演算を実行し、出力F0のゲイン
128を与え、その演算結果を出力データF0として出
力する。また、演算器113bは、ステージIIの演算回
路112の減算器83bの出力(92a0−92a1−9
2a2+92a3)に対して×128の演算を実行し、出
力F4のゲイン128を与え、その演算結果を出力デー
タF4として出力する。同様に、演算器113cは、ス
テージIIの演算回路112の減算器83cの出力(25
a0+60a1−60a2−25a3)に対して×128の
演算を実行し、出力F6のゲイン128を与え、その演
算結果を出力データF6として出力する。また、演算器
113dは、ステージIIの演算回路112の加算器83
dの出力(60a0+25a1−25a2−60a3)に対
して×128の演算を実行し、出力F2のゲイン128
を与え、その演算結果を出力データF2として出力す
る。
【0253】また、odd側においては、演算器113
eのシフタ84e4及び減算器84e5は、ステージIIの
シリアル回路100の出力x0に対して×32の演算を
実行して出力F7のゲイン32を与え、その演算結果を
出力データF7として出力する。また、演算器113f
のシフタ84f4及び減算器84f5は、ステージIIのシ
リアル回路100の出力x1に対して×32の演算を実
行して出力F3のゲイン32を与え、その演算結果を出
力データF3として出力する。同様に、演算器113g
のシフタ84g4及び減算器84g5は、ステージIIのシ
リアル回路100の出力x2に対して×32の演算を実
行して出力F5のゲイン32を与え、その演算結果を出
力データF5として出力する。また、演算器113hの
シフタ84h4及び減算器84h5は、ステージIIのシリ
アル回路100の出力x3に対して×32の演算を実行
して出力F1のゲイン32を与え、その演算結果を出力
データF1として出力する。この場合、上記ステージIII
の演算回路113の各演算器113a〜113hでは図
14の入力データに対してシリアル演算を実行し、同図
IIIに示すタイミングで、その演算結果を出力データF0
〜F7として発生するようになる。 以上の説明は、DC
T演算処理の場合であるが、図10に示すデータ伸張時
のデータ変換演算装置120による逆DCT演算処理の
場合も上述したDCT演算処理の場合と同様である。
【0254】この場合は入力データがステージIIIの演
算回路113〜ステージIの演算回路111の順で与え
られるようになる。すなわち、データ変換演算装置11
0、120は、図12に示すように制御装置52(図
3)からのバス切換え信号によりバスセレクタ131〜
134を切り換えて各ステージI〜IIIの接続状態を切
換え、圧縮伸張両方のデータ変換演算を可能にする。
【0255】図14は、データ変換演算装置110の入
力から出力までのタイミングチャートであり、ステージ
Iの演算回路111〜ステージIIIの演算回路113の
動作を総合した場合のタイミングチャートを示してい
る。本実施例では、DCT演算式を展開することによっ
て各入力に共通な係数が表れるように係数を分割し、こ
のように展開したDCT演算式をバタフライ演算にとら
われずにそのままハードウェア化することによって偶数
成分側からタイミングおよびゲインを揃えるために設け
られたシフトレジスタを取り去ることができ、図13に
示すデータ変換演算装置50のタイミングチャートと比
較して明らかなように7bitのデータを入力した場合、
1ライン当りの処理周期を26クロックから23クロッ
クに減少させることができる。
【0256】データ変換演算装置140、150、18
0、190における動作(図15〜図25) データ変換演算装置140、150、180、190の
基本的な動作は図9〜図11に示したデータ変換演算装
置110、120と同様であるが、データ変換演算装置
140、150にあっては、ステージIIが基本原理(II
I)の考え方を適用したステージとなっており、特に、
ステージIIのodd側がDCT演算式をそのままハード
ウェア化するとともに、複数段の加減算を一度に行なう
ように構成したシリアル回路160により構成されてい
るためこの部分の動作は異なっている。また、データ変
換演算装置180、190にあっては、ステージIIに加
えステージI及びステージIIIにも基本原理(III)の考
え方を適用することによって装置全体のクロック数が減
少している。
【0257】以下、シリアル回路160の動作について
説明し、次いで、データ圧縮伸張時のデータ変換演算装
置140、150の全体の動作及びデータ変換演算装置
180、190の全体の動作を述べる。
【0258】上記式の係数17、48、72、85の比
率を同じままで高速化した回路が前述した図11に示す
シリアル回路100である。
【0259】前記図11のシリアル回路100につい
て、入力をb0〜b3、出力をx0〜x3として考えてみる
と、前述したように各出力x0〜x3は以下のような式に
よって表わされる。
【0260】 x0=4×(−85b0+72b1−48b2+17b3) x1=4×(−48b0−85b1−17b2+72b3) x2=4×(72b0−17b1+85b2+48b3) x3=4×(17b0+48b1+72b2+85b3) この式から分かるように、基本原理(II)に基づいてD
CT演算式をそのままハードウェア化したシリアル回路
100を用いたとしても各出力x0〜x3の式には×4と
いう係数が残っており、本来必要とする演算式の括弧内
の値の4倍、つまり2クロック分遅れて演算値が出力さ
れることになる。また、この2クロック分遅れに対応し
てステージIIのeven側にも2クロック遅延用のフリ
ップフロップ(FF)が必要であり回路規模のより一層
の減少が望まれている。
【0261】以下、DCT演算式をそのままハードウェ
ア化するとともに、複数段の加減算を一度に行なうよう
に構成したシリアル回路160の動作を説明する。
【0262】図17において、シリアル回路160の前
段部分を構成するシリアル回路161のシリアル演算器
161e〜161hには、図15のステージI又は図1
6のステージIIIで演算された演算結果A、B、C、D
が入力データとして与えられ、各入力A、B、C、Dに
共通な係数を2のべきにある数値をかけた形で表現した
場合の該数値の部分が演算される。この場合、基本的な
作成方法として入力A〜Dに共通な係数を2のべきにあ
る数値をかけた形で表現した場合の係数(17、85、
48、72)の数値(2、42、6、18)を作成する
シリアル回路の原型をまず想定し、このシリアル回路が
フリップフロップ(FF)を有しないアダー(サブトラ
クタ)を含むように構成するようにする。ここでは、シ
リアル演算器161e〜161hの加算器161e2、
161f2、161g2、161h2が、遅延用のフリッ
プフロップ(FF)を有しない構造の加算器により構成
される。また、後述するシリアル演算器162e〜16
2hにあっては、加減算器が削減されるとともに、加減
算器が遅延用のフリップフロップ(FF)を有しない構
造のものに置き換えられる。こうした構成をとることに
よって、実際に上記シリアル演算器161e〜161h
で計算される係数の数値の値は上記数値(2、42、
6、18)とは異なる値になっており、具体的には上記
シリアル演算器161e〜161hでは各入力A、B、
C、Dについてそれぞれ1倍、12倍、8倍、18倍、
42倍した係数の数値を求めるようにしている。また、
後述するシリアル演算器162e〜162hは、前記図
11のシリアル回路100のシリアル演算器162e〜
162hのように入力に対し順次シフト加減算行なうも
のではなく、前段のシリアル演算器161e〜161h
の演算と一体となって所定の加減算を行なって、結果的
に上記式の括弧内の値(17、48、72、85)を出
力するものである。
【0263】すなわち、上記シリアル演算器161eで
は、入力Aが入力されると、後段のシリアル演算器16
2e、162hで奇数値を作成するために先ず入力Aの
一部はそのまま出力「1」され、またこの入力Aをシフ
トあるいはシフト加算を行なうことによって、シリアル
演算器161eのシフタ161e1の第2番目のフリッ
プフロップの出力と第1番目のフリップフロップの出力
を加算することによって加算器161e3から「12」
が、シフタ161e1の3個のフリップフロップの動作
だけ遅延してシフタ161e1から「8」が、入力Aと
シフタ161e1の3個のフリップフロップの動作だけ
遅延した出力を加算することによって加算器161e4
から「18」が、内部にフリップフロップ(FF)を有
しない加算器161e2の出力と加算器161e4の出力
を加算することによって加算器161e5から「42」
がそれぞれ出力されることになる。ここで、例えば42
倍の値は、上述したように加算器161e2の出力と加
算器161e4から出力された18倍の値とを加算した
ものを1クロック遅延させることにより求めることがで
きる。なお、加算器161e2は単なるアダーであり内
部にフリップフロップ(FF)を持たないため、1クロ
ックの遅延は生じない。
【0264】同様に、上記シリアル演算器161fで
は、入力Bが入力されると、後段のシリアル演算器16
2f、162gで奇数値を作成するために先ず入力Bの
一部はそのまま出力「1」され、またこの入力Bをシフ
トあるいはシフト加算を行なうことによって、シリアル
演算器161fのシフタ161f1の第2番目のフリッ
プフロップの出力と第1番目のフリップフロップの出力
を加算することによって加算器161f3から「12」
が、シフタ161f1の3個のフリップフロップの動作
だけ遅延してシフタ161f1から「8」が、入力Bと
シフタ161f1の3個のフリップフロップの動作だけ
遅延した出力を加算することによって加算器161f4
から「18」が、内部にフリップフロップ(FF)を持
たず1クロックの遅延がない加算器161f2の出力と
加算器161f4の出力を加算することによって加算器
161f5から「42」がそれぞれ出力されることにな
る。
【0265】また、上記シリアル演算器161gでは、
入力Cが入力されると、後段のシリアル演算器162
f、162gで奇数値を作成するために先ず入力Cの一
部はそのまま出力「1」され、またこの入力Cをシフト
あるいはシフト加算を行なうことによって、シリアル演
算器161gのシフタ161g1の第2番目のフリップ
フロップの出力と第1番目のフリップフロップの出力を
加算することによって加算器161e3から「12」
が、シフタ161g1の3個のフリップフロップの動作
だけ遅延してシフタ161g1から「8」が、入力Cと
シフタ161g1の3個のフリップフロップの動作だけ
遅延した出力を加算することによって加算器161g4
から「18」が、内部にフリップフロップ(FF)を持
たず1クロックの遅延がない加算器161e2の出力と
加算器161e4の出力を加算することによって加算器
161g5から「42」がそれぞれ出力されることにな
る。また、上記シリアル演算器161hでは、入力Dが
入力されると、後段のシリアル演算器162e、162
hで奇数値を作成するために先ず入力Dの一部はそのま
ま出力「1」され、またこの入力Dをシフトあるいはシ
フト加算を行なうことによって、シリアル演算器161
hのシフタ161h1の第2番目のフリップフロップの
出力と第1番目のフリップフロップの出力を加算するこ
とによって加算器161h3から「12」が、シフタ1
61h1の3個のフリップフロップの動作だけ遅延して
シフタ161h1から「8」が、入力Dとシフタ161
h1の3個のフリップフロップの動作だけ遅延した出力
を加算することによって加算器161h4から「18」
が、内部にフリップフロップ(FF)を持たず1クロッ
クの遅延がない加算器161h2の出力と加算器161
h4の出力を加算することによって加算器161h5から
「42」がそれぞれ出力されることになる。
【0266】上記シリアル演算器161e〜161hで
演算されたDCT演算式の係数に対応する数値「1」、
「12」、「8」、「18」、「42」はシリアル回路
160の後段部分を構成するシリアル回路162のシリ
アル演算器162e〜162hに入力され、各シリアル
演算器162e〜162hは、シリアル演算器161e
〜161hにより計算された係数出力に対してDCT演
算式の横方向に符号分を含めた加減算を、複数段の加減
算で同一クロックで一度に行なって出力O1、O3、O
5、O7として出力する。この場合、上記係数17、8
5、48、72を2のべきにある数値をかけた形で表現
したときの2のべきの部分は各シリアル演算器162e
〜162hの加減算器への入力位置により調整されると
ともに、原理説明(III)に基づいて複数個の(複数段
の)加減算を同一クロックで行なうようにしているた
め、原理説明(II)で述べた理由から図11では実現で
きなかった奇数倍の係数17、85の演算が実現可能に
なっている。これにより、ステージIIで必要とされる値
がNo−waitで得られる。
【0267】上記シリアル演算器162eでは、DCT
演算式をそのままハードウェア化し、かつ複数個の加減
算を同一クロックで行なうようにした場合のシリアル演
算式O1=17A+48B+72C+85D を実行す
る。この場合、シリアル演算器162eの加算器162
e1には、シリアル演算器161gの加算器161g4の
出力とシリアル演算器161fの加算器161f3の出
力が入力され、加算器162e1でこれら入力が加算さ
れ、また、内部にフリップフロップ(FF)を有しない
加算器162e2には、シリアル演算器161eのシフ
タ161e1の出力とシリアル演算器161hの加算器
161h5の出力が入力され、加算器162e2でこれら
入力が1クロックの遅延なく加算される。また、内部に
フリップフロップ(FF)を有しない加算器162e3
には、奇数値を作成するための入力Aと入力Dが入力さ
れ、加算器162e3でこれら入力Aと入力Dが1クロ
ックの遅延なく加算される。この加算器162e1の出
力と加算器162e2の出力とが加算器162e4で加算
され、さらにこの加算器162e4の出力と加算器16
2e3の出力とが内部にフリップフロップ(FF)を有
しない加算器162e5で1クロックの遅延なく加算さ
れると出力データO1が求められる。
【0268】また、上記シリアル演算器162fでは、
DCT演算式をそのままハードウェア化し、かつ複数個
の加減算を同一クロックで行なうようにした場合のシリ
アル演算式O5=72A+17B−85C+48D を
実行する。この場合、シリアル演算器162fの加算器
162f1には、シリアル演算器161eの加算器16
1e4の出力とシリアル演算器161hの加算器161
h3の出力とが入力され、加算器162f1でこれら入力
が加算され、また、内部にフリップフロップ(FF)を
有しない減算器162f2には、シリアル演算器161
fのシフタ161f1の出力とシリアル演算器161g
の加算器161g5の出力が入力され、減算器162f2
でシフタ161f1の出力から加算器161g5の出力が
1クロックの遅延なく減算される。また、内部にフリッ
プフロップ(FF)を有しない減算器162f3には、
入力Bと入力Cが入力され、減算器162f3でこの入
力Bから入力Cが1クロックの遅延なく減算される。こ
の加算器162f1の出力と減算器162f2の出力とが
加算器162f4で加算され、さらにこの加算器162
f4の出力と減算器162f3の出力とが内部にフリップ
フロップ(FF)を有しない加算器162f5で1クロ
ックの遅延なく加算されると出力データO5が求められ
る。
【0269】また、上記シリアル演算器162gでは、
DCT演算式をそのままハードウェア化し、かつ複数個
の加減算を同一クロックで行なうようにした場合のシリ
アル演算式O3=−48A−85B−17C+72D
を実行する。この場合、上記シリアル演算器162gの
減算器162g1には、シリアル演算器161hの加算
器161h4の出力とシリアル演算器161eの加算器
161e3の出力とが入力され、減算器162g1で加算
器161h4の出力から加算器161e3の出力が減算さ
れ、また、内部にフリップフロップ(FF)を有しない
加算器162g2には、シリアル演算器161gのシフ
タ161g1の出力とシリアル演算器161fの加算器
161f5の出力が入力され、加算器162g2でこれら
入力が1クロックの遅延なく加算される。また、内部に
フリップフロップ(FF)を有しない加算器162g3
には、入力Cと入力Bが入力され、加算器162g3で
この入力Cと入力Bが1クロックの遅延なく加算され
る。この減算器162g1の出力から加算器162g2の
出力が減算器162g4で減算され、さらにこの減算器
162g4の出力から加算器162g3の出力を内部にフ
リップフロップ(FF)を有しない減算器162g5で
1クロックの遅延なく減算されると出力データO3が求
められる。
【0270】また、上記シリアル演算器162hでは、
DCT演算式をそのままハードウェア化し、かつ複数個
の加減算を同一クロックで行なうようにした場合のシリ
アル演算式O7=−85A+72B−48C+17D
を実行する。この場合、上記シリアル演算器162hの
減算器162h1には、シリアル演算器161fの加算
器161f4の出力とシリアル演算器161gの加算器
161g3の出力とが入力され、減算器162h1で加算
器161f4の出力から加算器161g3の出力が減算さ
れ、また、内部にフリップフロップ(FF)を有しない
減算器162h2には、シリアル演算器161hのシフ
タ161h1の出力とシリアル演算器161eの加算器
161e5の出力が入力され、減算器162h2でシフタ
161h1の出力から加算器161e5の出力が1クロッ
クの遅延なく減算される。また、内部にフリップフロッ
プ(FF)を有しない減算器162h3には、入力Dと
入力Aが入力され、内部にフリップフロップ(FF)を
有しない減算器162h3で入力Dから入力Aが1クロ
ックの遅延なく減算される。この加算器162h1の出
力と減算器162h2の出力が加算器162h4で加算さ
れ、さらにこの加算器162h4の出力と減算器162
h3の出力とが内部にフリップフロップ(FF)を有し
ない加算器162h5で1クロックの遅延なく加算され
ると出力データO7が求められる。
【0271】ここで、シリアル演算式O1=17A+4
8B+72C+85D を実行するシリアル演算器16
2eを例に採り更に詳細な動作を説明する。上述したシ
リアル演算器162の加算処理により、シリアル演算器
162の各加算器162e1〜162e5の出力は以下の
ようになる。
【0272】 加算器162e1=(18C+12B)×2=36C+
24B 加算器162e2=(8A+42D) 加算器162e3=A+D 加算器162e4=(36C+24B+8A+42D)
×2=16A+48B+72C+84D 加算器162e5=16A+48B+72C+84D+
A+D=17A+48B+72C+85D 上記加算器162e5の出力O1=17A+48B+72
C+85Dと前記シリアル回路100を用いたときの対
応する出力x3=4×(17b0+48b1+72b2+8
5b3)と比較すれば明らかなように、加算器162e5
の出力O1では、本来必要とする演算式の括弧内の値だ
けとなっており×4という係数は削除されている。これ
は、演算値が前記シリアル回路100に比べ2クロック
分速く出力されたことを表わしている。また、シリアル
回路160の動作がこの2クロック分速くなったことに
対応してデータ変換演算装置140、150のステージ
IIのeven側も2クロック速く演算値が出力されるよ
うに変更している。
【0273】上記シリアル演算の場合、図25に示す入
力データに対してステージIIの演算回路142、152
からは、同図IIに示すタイミングで、演算結果を出力す
るようになる。
【0274】以下、上記シリアル回路160を含んで構
成されたデータ圧縮時のデータ変換演算装置140の動
作を説明する。
【0275】まず、DCT演算処理の場合を述べると、
ここでは、ステージIの演算回路141において加算器
81aに入力データf0とf7、加算器81bに入力デー
タf3とf4、加算器81cに入力データf1とf6、加算
器81dに入力データf2とf5、減算器81eに入力デ
ータf0とf7、減算器81fに入力データf3とf4、減
算器81gに入力データf1とf6、減算器81hに入力
データf2とf5が入力される。これにより加算器81a
は入力データf0とf7の加算結果を出力し、加算器81
bは入力データf3とf4の加算結果を出力し、加算器8
1cは入力データf1とf6の加算結果f1+f6を出力
し、加算器81dは入力データf2とf5の加算結果を出
力するようになる。また、減算器81eは入力データf
0とf7の減算結果を出力し、減算器81fは入力データ
f3とf4の減算結果を出力し、減算器81gは入力デー
タf1とf6の減算結果を出力し、減算器81hは入力デ
ータf2とf5の減算結果を出力するようになる。この場
合の入力データは、図25に示すように7bitと1bitの
サインビットの8bitのデータからなっている。また、
出力データは、図25の入力データに示すように7+1
bitと1bitのサインビットからなっている。
【0276】次いで、ステージIIの演算回路142に進
む。この演算回路142のeven側のシリアル演算器
142a〜142dには、ステージIの演算回路141
の加算器81a〜加算器81dで加算された加算結果a
0、a1、a2、a3が入力データとして与えられ、odd
側のシリアル回路160には、ステージIの演算回路1
41の減算器81e〜減算器81hで減算された減算結
果が入力データA、B、C、Dとして与えられる。上記
演算器142aでは、係数を簡単な整数比に近似し内部
にフリップフロップ(FF)を有しない加減算器を含ん
で構成した回路でDCTシリアル演算式F0=(92a0
+92a1+92a2+92a3)×128の括弧内の演
算を実行する。この場合、シリアル演算器142aの前
段部を構成する加算器82a1には、加算器81aの出
力と加算器81dの出力とが入力され、加算器82a1
でこれら入力データを加算し、この加算結果がシフタ1
42a1に与えられる。また、上記シリアル演算器14
2bでは、係数を簡単な整数比に近似し内部にフリップ
フロップ(FF)を有しない加減算器を含んで構成した
回路でDCTシリアル演算式F4=(92a0−92a1
−92a2+92a3)×128の括弧内の演算を実行す
る。この場合、シリアル演算器142bの前段部を構成
する演算器82bには、加算器81bの出力と加算器8
1cの出力とが入力され、加算器82b1でこれら入力
データを加算し、この加算結果がシフタ142b1に与
えられる。これにより、シフタ82a2及びシフタ82
b2からは2個のフリップフロップの動作だけ遅延して
出力されることになり、この時点で図9のステージIIの
シリアル演算器112a、112bよりも1クロック少
なくなっている。
【0277】また、上記シリアル演算器142cでは、
係数を簡単な整数比に近似し内部にフリップフロップ
(FF)を有しない加減算器を含んで構成した回路でD
CTシリアル演算式F6=(25a0+60a1−60a2
−25a3)×128の括弧内の演算を実行する。この
場合、シリアル演算器92cの前段部を構成する演算器
82cには、加算器81bの出力と加算器81cの出力
とが入力され、減算器82c1で加算器81bの出力を
加算器81cの出力で減算すると(a1−a2)が求めら
れる。この減算器82c1の出力をシフタ142c1に与
え、このシフタ142c1の出力と減算器82c1の出力
を加算器82c3により加算し、また、シフタ142c1
の第1番目のフリップフロップの出力と加算器82c3
の出力を加算器82c4により加算することにより「2
5」、「60」が求められることになる。また、上記シ
リアル演算器142dでは、係数を簡単な整数比に近似
し内部にフリップフロップ(FF)を有しない加減算器
を含んで構成した回路でDCTシリアル演算式F2=
(60a0+25a1−25a2−60a3)×128の括
弧内の演算を実行する。この場合、シリアル演算器92
dの前段部を構成する演算器82dには、加算器81a
の出力と加算器81dの出力とが入力され、減算器82
d1で加算器81aの出力を加算器81dの出力で減算
すると(a0−a3)が求められる。この減算器82d1
の出力をシフタ142d1に与え、このシフタ142d1
の出力と減算器82d1の出力を加算器82d3により加
算し、また、シフタ142d1の第1番目のフリップフ
ロップの出力と加算器82d3の出力を加算器82d4に
より加算することにより「60」、「25」が求められ
ることになる。この場合にもシフタ142c1及びシフ
タ142d1のフリップフロップの段数が2個となって
いるので、この時点で図9のステージIIのシリアル演算
器112c、112dよりも1クロック少なくなってい
る。
【0278】次いで、上記演算器142a〜142dの
前段部で求めた演算結果は、シリアル演算器142a〜
142dの後段部を構成する内部にフリップフロップ
(FF)を有しない加減算器142a2〜142d2に与
えられ、加減算器142a2〜142d2は演算器142
a〜142dの前段部からの出力をバタフライ演算によ
り1クロックの遅延なく加減算する。具体的には、シフ
タ142a1、142b1の出力が加算器142a2及び
減算器142b2に与えられ、加算器82d3、82c4
の出力が減算器142c2及び加算器142d2に与えら
れ、さらに加算器82c3、82d4の出力が減算器14
2c2及び加算器142d2に与えられる。これにより、
加算器142a2は、シフタ142a1とシフタ142b
1の出力を加算した結果(92a0+92a1+92a2+
92a3)を出力し、減算器142b2は、シフタ142
a1からシフタ142b1の出力を減算した結果(92a
0−92a1−92a2+92a3)を出力し、減算器14
2c2は、加算器82d3から加算器82c4の出力を減
算した結果(25a0+60a1−60a2−25a3)を
出力し、加算器142d2は、加算器82c3と加算器8
2d4の出力を加算した結果(60a0+25a1−25
a2−60a3)を出力するようになる。
【0279】また、ステージIIの演算回路142のod
d側を構成するシリアル回路160の動作は既に述べた
が、このシリアル回路160の動作が前述したように前
記図11のシリアル回路100に比べ2クロック分速く
なったことに対応してステージIIのeven側を構成す
る上記シリアル演算器142a〜142dおいて、シフ
タ142a1〜142d1のフリップフロップ(FF)の
段数を1段減らすとともに、遅延用のフリップフロップ
(FF)を有しない加減算器142a2〜142d2を用
いることによって2クロック速く演算値が出力されるよ
うにしている。 上記シリアル演算により、図25に示
す入力データに対してステージIIの演算回路142から
は、同図IIに示すタイミングで、演算結果を出力データ
として発生するようになる。
【0280】次いで、ステージIIIの演算回路143に
進む。この演算回路143では、ステージIIの演算回路
142の加算器142a2の出力が演算器143aに与
えられ、同様にして減算器142b2の出力が演算器1
43bに、減算器142c2の出力が演算器143c
に、加算器142d2の出力が演算器143dに、シリ
アル回路160の出力O7が演算器143eに、シリア
ル回路160の出力O3が演算器143fに、シリアル
回路160の出力O5が演算器143gに、シリアル回
路160の出力O1が演算器143hにそれぞれ与えら
れる。これにより、演算器143aは、ステージIIの演
算回路142の加算器142a2の出力(92a0+92
a1+92a2+92a3)に対して×128の演算を実
行し、出力F0のゲイン128を与え、その演算結果を
出力データF0として出力する。また、演算器143b
は、ステージIIの演算回路142の減算器142b2の
出力(92a0−92a1−92a2+92a3)に対して
×128の演算を実行し、出力F4のゲイン128を与
え、その演算結果を出力データF4として出力する。同
様に、演算器113cは、ステージIIの演算回路142
の減算器142c2の出力(25a0+60a1−60a2
−25a3)に対して×128の演算を実行し、出力F6
のゲイン128を与え、その演算結果を出力データF6
として出力する。また、演算器93dは、ステージIIの
演算回路142の加算器142d2の出力(60a0+2
5a1−25a2−60a3)に対して×128の演算を
実行し、出力F2のゲイン128を与え、その演算結果
を出力データF2として出力する。
【0281】また、odd側においては、演算器143
eのシフタ84e4及び減算器84e5は、ステージIIの
シリアル回路160の出力O7に対して×32の演算を
実行して出力F7のゲイン32を与え、その演算結果を
出力データF7として出力する。また、演算器143f
のシフタ84f4及び減算器84f5は、ステージIIのシ
リアル回路160の出力O3に対して×32の演算を実
行して出力F3のゲイン32を与え、その演算結果を出
力データF3として出力する。同様に、演算器143g
のシフタ84g4及び減算器84g5は、ステージIIのシ
リアル回路160の出力O5に対して×32の演算を実
行して出力F5のゲイン32を与え、その演算結果を出
力データF5として出力する。また、演算器143hの
シフタ84h4及び減算器84h5は、ステージIIのシリ
アル回路160の出力O1に対して×32の演算を実行
して出力F1のゲイン32を与え、その演算結果を出力
データF1として出力する。この場合、上記ステージIII
の演算回路143の各演算器143a〜143hでは図
25の入力データに対してシリアル演算を実行し、同図
IIIに示すタイミングで、その演算結果を出力データF0
〜F7として発生するようになる。 以上の説明は、DC
T演算処理の場合であるが、図16に示すデータ伸張時
のデータ変換演算装置150による逆DCT演算処理の
場合も上述したDCT演算処理の場合と同様である。
【0282】この場合は図16に示すように入力データ
がステージIIIの演算回路153〜ステージIIの演算回
路152〜ステージIの演算回路151の順で与えられ
るようになる。
【0283】このように、データ変換演算装置140及
びデータ変換演算装置150のステージIIのodd側の
シリアル回路160のシリアル演算器161e〜161
hが、遅延用のフリップフロップ(FF)を有しない構
造の加算器161e2、161f2、161g2、161
h2を用いる構成となっており、また、シリアル回路1
60のシリアル演算器162e〜162hは、前記図1
1のシリアル回路100のシリアル演算器162e〜1
62hから加減算器を2段取り去るとともに、加減算器
を遅延用のフリップフロップ(FF)を有しない構造の
加減算器に置き換えた構成となっている。これに対応し
て、データ変換演算装置140のステージIIのeven
側のシリアル演算器142a〜142dは、前記図9の
ステージIIのシリアル演算器112a〜112dの各シ
フタ82a2、82b2、82c2、82d2からフリップ
フロップ(FF)を更に1段取り去った構成となってお
り、また、ステージIIのeven側のシリアル演算器1
42a〜142dの加算器142a2、加算器142d
2、減算器142b2、減算器142c2は遅延用のフリ
ップフロップ(FF)を有しない構造のものとなってい
る。同様に、データ変換演算装置150のステージIIの
even側のシリアル演算器152a〜152dは、前
記図10のステージIIの演算器122a〜122dの各
シフタ93a2、122b1、122c1、122d1から
フリップフロップ(FF)を更に1段取り去った構成と
なっており、また、ステージIIのeven側のシリアル
演算器152a〜152dの加算器152a2、加算器
152d2、減算器152b2、減算器152c2は遅延
用のフリップフロップ(FF)を有しない構造のものと
なっている。これによって、クロック数を2クロック少
なくして速度を向上させることができ、回路規模を小さ
くすることができる。
【0284】図25は、データ変換演算装置140の入
力から出力までのタイミングチャートであり、ステージ
Iの演算回路141〜ステージIIIの演算回路143の
動作を総合した場合のタイミングチャートを示してい
る。この図25に示すタイミングチャートと図24に示
すデータ変換演算装置110のタイミングチャートと比
較して明らかなように7bitのデータを入力した場合、
1ライン当りの処理周期を24クロックから22クロッ
クに減少させることができる。
【0285】以下、上記ステージIIに加え、ステージI
及びステージIIIにも基本原理(III)の考え方を適用し
たデータ圧縮時のデータ変換演算装置180の動作を説
明する。
【0286】まず、DCT演算処理の場合を述べると、
ステージIの演算回路171の加減算器は、内部にフリ
ップフロップ(FF)を有しないアダー(サブトラク
タ)により構成され、加算器171aに入力データf0
とf7、加算器171bに入力データf3とf4、加算器
171cに入力データf1とf6、加算器171dに入力
データf2とf5、減算器171eに入力データf0とf
7、減算器171fに入力データf3とf4、減算器17
1gに入力データf1とf6、減算器171hに入力デー
タf2とf5が入力される。これにより加算器171aは
1クロックの遅延なく入力データf0とf7の加算結果を
出力し、同様に加算器171bは入力データf3とf4の
加算結果を出力し、加算器171cは入力データf1と
f6の加算結果f1+f6を出力し、加算器171dは入
力データf2とf5の加算結果を出力するようになる。ま
た、減算器171eは入力データf0とf7の減算結果を
出力し、減算器171fは入力データf3とf4の減算結
果を出力し、減算器171gは入力データf1とf6の減
算結果を出力し、減算器171hは入力データf2とf5
の減算結果を出力するようになる。この場合の入力デー
タは、図25に示すように7bitと1bitのサインビット
の8bitのデータからなっている。また、出力データ
は、図25の入力データに示すように7+1bitと1bit
のサインビットからなっている。
【0287】次いで、ステージIIの演算回路142に進
む。この演算回路142のeven側のシリアル演算器
142a〜142dには、ステージIの演算回路171
の加算器171a〜加算器171dで加算された加算結
果a0、a1、a2、a3が入力データとして与えられ、o
dd側のシリアル回路160には、ステージIの演算回
路171の減算器171e〜減算器171hで減算され
た減算結果が入力データA、B、C、Dとして与えられ
る。このステージIIの演算回路142の動作は前述した
通りであるが、このステージIIには1クロック速い演算
結果が入力されることになる。また、前述したようにこ
のステージIIからはクロック数が2クロック少ない演算
結果が出力されることになる。
【0288】次いで、ステージIIIの演算回路173に
進む。この演算回路173では、ステージIIの演算回路
142の加算器142a2の出力が演算器173aに与
えられ、同様にして減算器142b2の出力が演算器1
73bに、減算器142c2の出力が演算器173c
に、加算器142d2の出力が演算器173dに、シリ
アル回路160の出力O7が演算器173eに、シリア
ル回路160の出力O3が演算器173fに、シリアル
回路160の出力O5が演算器173gに、シリアル回
路160の出力O1が演算器173hにそれぞれ与えら
れる。これにより、演算器173aは、ステージIIの演
算回路142の加算器142a2の出力(92a0+92
a1+92a2+92a3)に対して×64の演算を実行
し、出力F0のゲイン64を与え、その演算結果を出力
データF0として出力する。また、演算器173bは、
ステージIIの演算回路142の減算器142b2の出力
(92a0−92a1−92a2+92a3)に対して×6
4の演算を実行し、出力F4のゲイン64を与え、その
演算結果を出力データF4として出力する。同様に、演
算器173cは、ステージIIの演算回路142の減算器
142c2の出力(25a0+60a1−60a2−25a
3)に対して×64の演算を実行し、出力F6のゲイン6
4を与え、その演算結果を出力データF6として出力す
る。また、演算器173dは、ステージIIの演算回路1
42の加算器142d2の出力(60a0+25a1−2
5a2−60a3)に対して×64の演算を実行し、出力
F2のゲイン64を与え、その演算結果を出力データF2
として出力する。
【0289】また、odd側においては、演算器173
eのシフタ84e4及び減算器173e1は、ステージII
のシリアル回路160の出力O7に対して×16の演算
を実行して出力F7のゲイン16を与え、その演算結果
を出力データF7として出力する。また、演算器173
fのシフタ84f4及び減算器173f1は、ステージII
のシリアル回路160の出力O3に対して×16の演算
を実行して出力F3のゲイン16を与え、その演算結果
を出力データF3として出力する。同様に、演算器17
3gのシフタ84g4及び減算器173g1は、ステージ
IIのシリアル回路160の出力O5に対して×16の演
算を実行して出力F5のゲイン16を与え、その演算結
果を出力データF5として出力する。また、演算器17
3hのシフタ84h4及び減算器173h1は、ステージ
IIのシリアル回路160の出力O1に対して×16の演
算を実行して出力F1のゲイン16を与え、その演算結
果を出力データF1として出力する。この場合、上記ス
テージIIIの演算回路173の各演算器173a〜17
3hでは図25の入力データに対してシリアル演算を実
行し、同図IIIに示すタイミングで、その演算結果を出
力データF0〜F7として発生するようになる。
【0290】以上の説明は、DCT演算処理の場合であ
るが、図23に示すデータ伸張時のデータ変換演算装置
190による逆DCT演算処理の場合も上述したDCT
演算処理の場合と同様である。
【0291】この場合は図23に示すように入力データ
がステージIIIの演算回路173〜ステージIIの演算回
路152〜ステージIの演算回路171の順で与えられ
るようになる。
【0292】このように、データ変換演算装置180及
びデータ変換演算装置190のステージIのシリアル演
算器171a〜171hの加算器171a〜171d及
び減算器171e〜171hが、内部にフリップフロッ
プ(FF)を有しないアダー(サブトラクタ)により構
成され、また、ステージIIIのシリアル演算器173a
〜173hが、前記図15のステージIIIのシリアル演
算器143a〜143hの加算器94c2、94d2、減
算器94a2、94b2、94e2、94f2、94g2、
94h2を、それぞれ遅延用のフリップフロップ(F
F)を有しない構造の加算器173c1、173d1、減
算器173a1、173b1、173e1、173f1、1
73g1、173h1に置き換えた構成となっている。こ
れによって、ステージIではクロック数を1クロック、
ステージIIIではクロック数を1クロック少なくするこ
とができ、データ変換演算装置180、190の演算速
度をデータ変換演算装置140、150よりも更に2ク
ロック向上させることができ、回路規模をより一層小さ
くすることができる。
【0293】データ変換演算装置200、210におけ
る動作(図26〜図31)上記データ変換演算装置14
0、150は、上述したようにステージI〜IIIの3つ
のステージに分けられ、データ圧縮時には図15のよう
に、またデータ伸張時には図16のように接続するため
前記図12で説明したように各ステージI〜III間にバ
スの切り換えを行なうバスセレクタ131〜134を設
け、データ変換演算装置140、150は制御装置52
(図3)からのバス切換え信号によりバスセレクタ13
1〜134を切り換えて各ステージの接続状態を切換
え、圧縮伸張両方のデータ変換演算を可能にしている。
図25はデータ変換演算装置140、150の1次元目
のタイミングチャートであり、7bitのデータを入力し
た場合、1ライン当り22クロックで処理を行なうこと
ができる。このような回路構成とした場合、データ入力
から出力までのクロック数が非常に少なくなることから
各ステージ間でクリティカルパスが発生する虞が生じ
た。例えば、図17のシリアル演算器162eの出力O
1ついてみてみると、この出力O1ついて最も速く出力さ
れる経路は加算器163e3による入力A1とD1の加
算、及びこの加算結果と加算器163e4の出力を加算
する加算器163e5による加算出力である。これら加
算器163e3、163e5は、遅延用のフリップフロッ
プ(FF)を有しない加算器であるから加算器163e
3に入力された入力は1クロックの遅延なく加算器16
3e5から出力される。また、データ変換演算装置14
0、150の各ステージI〜IIIについてみた場合、ス
テージIIの出力はNo−delayでステージIIIまで
データを渡されることになり、したがって、ステージII
とステージIIIの動作は全く同じように動作させること
になる。また、各ステージI〜III間はバスセレクタ
(図12のバスセレクタ132、133)により切え換
られ、バスセレクタ自体の遅れは小さい(ゲート1段程
度の遅れ)ものの、配線遅延分を含めるとかなりのディ
レイが発生することが考えられる。このようなクリティ
カルパス状態を考慮するとクロック周期をより短くする
ことは困難であり演算時間が多くかかることになる。
【0294】そこで、データ変換演算装置200、21
0では、クリティカルパスが特に厳しいステージIIの演
算回路の最終出力部分に遅延用素子としてフリップフロ
ップ(FF)を挿入することによってスキューの部分を
減らしてクリティカルパスを解消して安定した動作を得
るようにする。また、遅延用素子を挿入することによっ
て発生する速度の低下は各ステージI〜IIIを個別に制
御することにより解消するようにする。
【0295】このため、データ変換演算装置200、2
10の基本的な動作は図15〜図16に示したデータ変
換演算装置140、150と同様であるが、データ変換
演算装置200、210のステージIIにあっては、ステ
ージIIのeven側の最終出力段がフリップフロップ
(FF)を付加したステージとなっており、また、ステ
ージIIのodd側はDCT演算式をそのままハードウェ
ア化して、複数段の加減算を一度に行なうとともに、ク
リティカルパスの解消のためフリップフロップ(FF)
を挿入したシリアル回路220により構成されているた
めステージIIの動作は1クロック分遅くなっている。ま
た、データ変換演算装置200、210全体としては、
各ステージI〜IIIの制御を個別に行なうことによって
装置全体の速度の向上を図っている。
【0296】以下、シリアル回路220の動作について
述べ、次いで、データ圧縮伸張時のデータ変換演算装置
200、210の全体の動作を図29〜図31を参照し
ながら説明する。
【0297】図28において、シリアル回路220の前
段部分を構成するシリアル回路161のシリアル演算器
161e〜161hには、図26のステージI又は図2
7のステージIIIで演算された演算結果A、B、C、D
が入力データとして与えられ、各入力A、B、C、Dに
共通な係数を2のべきにある数値をかけた形で表現した
場合の該数値の部分が演算される。この前段部分を構成
するシリアル回路161のシリアル演算器161e〜1
61hの構成は、前期図17のシリアル回路160のシ
リアル演算器161e〜161hの構成と同様であり、
入力A〜Dに共通な係数を2のべきにある数値をかけた
形で表現した場合の係数(17、85、48、72)の
数値(2、42、6、18)を作成するシリアル回路を
想定し、このシリアル回路がフリップフロップ(FF)
を有しない加算器161e2、161f2、161g2、
161h2を含むように構成される。このため、この上
記シリアル演算器161e〜161hで計算される係数
の数値の値は前期図11のシリアル回路100のシリア
ル演算器161e〜161hで作成される数値(2、4
2、6、18)とは異なる値になっており、各入力A、
B、C、Dについてそれぞれ1倍、12倍、8倍、18
倍、42倍した係数の数値を求めるようにしている。
【0298】また、シリアル回路220の後段部分を構
成するシリアル演算器222e〜222hにあっては、
加減算器が削減されるとともに、加減算器が遅延用のフ
リップフロップ(FF)を有しない構造のものに置き換
えられ、さらにクリティカルパスの解消のため一部加減
算器がフリップフロップ(FF)を備えたもので構成さ
れる。また、このシリアル演算器222e〜222h
は、前述した図17のシリアル演算器162e〜162
hと同様に、前記図11のシリアル回路100のシリア
ル演算器162e〜162hのように入力に対し順次シ
フト加減算行なうものではなく、前段のシリアル演算器
161e〜161hの演算と一体となって所定の加減算
を行なって、結果的に前述した演算式の括弧内の値(1
7、48、72、85)を出力する。
【0299】上記シリアル演算器161e〜161hで
演算されたDCT演算式の係数に対応する数値「1」、
「12」、「8」、「18」、「42」はシリアル回路
220の後段部分を構成するシリアル回路222のシリ
アル演算器222e〜222hに入力され、各シリアル
演算器222e〜222hは、シリアル演算器161e
〜161hにより計算された係数出力に対してDCT演
算式の横方向に符号分を含めた加減算を、複数段の加減
算で一度に行なうとともに、クリティカルパスの解消の
ためフリップフロップ(FF)を挿入した加減算器によ
って1クロック遅延した出力O1、O3、O5、O7を出力
する。この場合、前述した係数17、85、48、72
を2のべきにある数値をかけた形で表現したときの2の
べきの部分は各シリアル演算器222e〜222hの加
減算器への入力位置により調整されるとともに、原理説
明(III)に基づいて複数個の(複数段の)加減算を同
一クロックで行なうようにし、かつ、原理説明(IV)に
基づいて演算結果を1クロック遅延して出力している。
これにより、ステージIIで必要とされる演算値が1クロ
ックのディレイで得られる。
【0300】上記シリアル演算器222eでは、DCT
演算式をそのままハードウェア化して複数個の加減算を
同一クロックで行なうようにし、かつ1クロック遅延し
た場合のシリアル演算式O1=(17A+48B+72
C+85D)×2 を実行する。この場合、シリアル演
算器222eの加算器162e1には、シリアル演算器
161gの加算器161g4の出力とシリアル演算器1
61fの加算器161f3の出力が入力され、加算器1
62e1でこれら入力が加算され、また、内部にフリッ
プフロップ(FF)を有しない加算器162e2には、
シリアル演算器161eのシフタ161e1の出力とシ
リアル演算器161hの加算器161h5の出力が入力
され、加算器162e2でこれら入力が1クロックの遅
延なく加算される。また、内部にフリップフロップ(F
F)を有しない加算器162e5には、奇数値を作成す
るための入力Aと入力Dが入力され、加算器162e3
でこれら入力Aと入力Dが1クロックの遅延なく加算さ
れる。この加算器162e1の出力と加算器162e2の
出力とが加算器162e4で加算され、さらにこの加算
器162e4の出力と加算器162e3の出力とがクリテ
ィカルパスの解消のため内部にフリップフロップ(F
F)を備えた加算器222e1で加算されると1クロッ
ク遅延した出力データO1が求められる。
【0301】また、上記シリアル演算器222fでは、
DCT演算式をそのままハードウェア化して複数個の加
減算を同一クロックで行なうようにし、かつ1クロック
遅延した場合のシリアル演算式O5=(72A+17B
−85C+48D)×2 を実行する。この場合、シリ
アル演算器162fの加算器162f1には、シリアル
演算器161eの加算器161e4の出力とシリアル演
算器161hの加算器161h3の出力とが入力され、
加算器162f1でこれら入力が加算され、また、内部
にフリップフロップ(FF)を有しない減算器162f
2には、シリアル演算器161fのシフタ161f1の出
力とシリアル演算器161gの加算器161g5の出力
が入力され、減算器162f2でシフタ161f1の出力
から加算器161g5の出力が1クロックの遅延なく減
算される。また、内部にフリップフロップ(FF)を有
しない減算器162f3には、入力Bと入力Cが入力さ
れ、減算器162f3でこの入力Bから入力Cが1クロ
ックの遅延なく減算される。この加算器162f1の出
力と減算器162f2の出力とが加算器162f4で加算
され、さらにこの加算器162f4の出力と減算器16
2f3の出力とがクリティカルパスの解消のため内部に
フリップフロップ(FF)を備えた加算器222f1で
加算されると1クロック遅延した出力データO5が求め
られる。
【0302】また、上記シリアル演算器222gでは、
DCT演算式をそのままハードウェア化して複数個の加
減算を同一クロックで行なうようにし、かつ1クロック
遅延した場合のシリアル演算式O3=(−48A−85
B−17C+72D)×2を実行する。この場合、上記
シリアル演算器162gの減算器162g1には、シリ
アル演算器161hの加算器161h4の出力とシリア
ル演算器161eの加算器161e3の出力とが入力さ
れ、減算器162g1で加算器161h4の出力から加算
器161e3の出力が減算され、また、内部にフリップ
フロップ(FF)を有しない加算器162g2には、シ
リアル演算器161gのシフタ161g1の出力とシリ
アル演算器161fの加算器161f5の出力が入力さ
れ、加算器162g2でこれら入力が1クロックの遅延
なく加算される。また、内部にフリップフロップ(F
F)を有しない加算器162g3には、入力Cと入力B
が入力され、加算器162g3でこの入力Cと入力Bが
1クロックの遅延なく加算される。この減算器162g
1の出力から加算器162g2の出力が減算器162g4
で減算され、さらにこの減算器162g4の出力から加
算器162g3の出力をクリティカルパスの解消のため
内部にフリップフロップ(FF)を備えた減算器222
g1で減算されると1クロック遅延した出力データO3が
求められる。
【0303】また、上記シリアル演算器222hでは、
DCT演算式をそのままハードウェア化して複数個の加
減算を同一クロックで行なうようにし、かつ1クロック
遅延した場合のシリアル演算式O7=(−85A+72
B−48C+17D)×2実行する。この場合、上記シ
リアル演算器162hの減算器162h1には、シリア
ル演算器161fの加算器161f4の出力とシリアル
演算器161gの加算器161g3の出力とが入力さ
れ、減算器162h1で加算器161f4の出力から加算
器161g3の出力が減算され、また、内部にフリップ
フロップ(FF)を有しない減算器162h2には、シ
リアル演算器161hのシフタ161h1の出力とシリ
アル演算器161eの加算器161e5の出力が入力さ
れ、減算器162h2でシフタ161h1の出力から加算
器161e5の出力が1クロックの遅延なく減算され
る。また、内部にフリップフロップ(FF)を有しない
減算器162h3には、入力Dと入力Aが入力され、内
部にフリップフロップ(FF)を有しない減算器162
h3で入力Dから入力Aが1クロックの遅延なく減算さ
れる。この加算器162h1の出力と減算器162h2の
出力が加算器162h4で加算され、さらにこの加算器
162h4の出力と減算器162h3の出力とがクリティ
カルパスの解消のため内部にフリップフロップ(FF)
を備えた加算器222h1で加算されると1クロック遅
延した出力データO7が求められる。
【0304】ここで、シリアル演算式O1=(17A+
48B+72C+85D)×2 を実行するシリアル演
算器222eを例に採り更に詳細な動作を説明する。上
述したシリアル演算器222の加算処理により、シリア
ル演算器222の各加算器162e1〜222e1の出力
は以下のようになる。
【0305】 加算器162e1=(18C+12B)×2=36C+
24B 加算器162e2=(8A+42D) 加算器162e3=A+D 加算器162e4=(36C+24B+8A+42D)
×2=16A+48B+72C+84D 加算器222e1=(16A+48B+72C+84D
+A+D)×2=(17A+48B+72C+85D)
×2 上記加算器222e1の出力O1=(17A+48B+7
2C+85D)×2と前記図17のシリアル回路160
の対応する出力O1=17A+48B+72C+85D
と比較すれば明らかなように、加算器222e1の出力
O1では、本来必要とする演算式の括弧内の値を1クロ
ックだけ遅延した×2の出力となっている。また、シリ
アル回路220の動作がこの1クロック分遅くなったこ
とに対応してデータ変換演算装置200、210のステ
ージIIのeven側も1クロック遅く演算値が出力され
るように変更している。
【0306】上記シリアル演算器222eのシリアル演
算の場合、図30に示すように加算器162e3の出力
に対して加算器222e1からは1クロック遅れた加算
結果を出力するようになり、ステージIの出力に対して
ステージIIから同図に示すタイミングで演算結果が出力
されるようになる。
【0307】以下、上記シリアル回路220を含んで構
成されたデータ圧縮時のデータ変換演算装置200の動
作を説明する。
【0308】まず、DCT演算処理の場合を述べると、
ここでは、ステージIの演算回路141の加算器81a
は入力データf0とf7の加算結果を出力し、加算器81
bは入力データf3とf4の加算結果を出力し、加算器8
1cは入力データf1とf6の加算結果f1+f6を出力
し、加算器81dは入力データf2とf5の加算結果を出
力するようになる。また、減算器81eは入力データf
0とf7の減算結果を出力し、減算器81fは入力データ
f3とf4の減算結果を出力し、減算器81gは入力デー
タf1とf6の減算結果を出力し、減算器81hは入力デ
ータf2とf5の減算結果を出力するようになる。この場
合の入力データは、前記図25に示すように7bitと1b
itのサインビットの8bitのデータからなっている。
【0309】次いで、ステージIIの演算回路202に進
む。この演算回路202のeven側のシリアル演算器
202a〜202dには、ステージIの演算回路141
の加算器81a〜加算器81dで加算された加算結果a
0、a1、a2、a3が入力データとして与えられ、odd
側のシリアル回路220には、ステージIの演算回路1
41の減算器81e〜減算器81hで減算された減算結
果が入力データA、B、C、Dとして与えられる。上記
演算器202aでは、係数を簡単な整数比に近似しシフ
タ82a2(図9)からフリップフロップ(FF)を1
段取り去るとともにクリティカルパス解消のためフリッ
プフロップ(FF)を備えた加減算器を含んで構成した
回路でDCTシリアル演算式F0=(92a0+92a1
+92a2+92a3)×128の括弧内の演算を実行す
る。この場合、シリアル演算器202aの前段部を構成
する加算器82a1には、加算器81aの出力と加算器
81dの出力とが入力され、加算器82a1でこれら入
力データを加算し、この加算結果がシフタ142a1に
与えられる。また、上記シリアル演算器202bでは、
係数を簡単な整数比に近似しシフタ82b2(図9)か
らフリップフロップ(FF)を1段取り去るとともにク
リティカルパス解消のためフリップフロップ(FF)を
備えた加減算器を含んで構成した回路でDCTシリアル
演算式F4=(92a0−92a1−92a2+92a3)
×128の括弧内の演算を実行する。この場合、シリア
ル演算器202bの前段部を構成する演算器82bに
は、加算器81bの出力と加算器81cの出力とが入力
され、加算器82b1でこれら入力データを加算し、こ
の加算結果がシフタ142b1に与えられる。これによ
り、シフタ82a2及びシフタ82b2からは2個のフリ
ップフロップの動作だけ遅延して出力されることにな
り、この時点で図9のステージIIのシリアル演算器11
2a、112bよりも1クロック少なくなっている。
【0310】また、上記シリアル演算器202cでは、
係数を簡単な整数比に近似しシフタ82c2(図9)か
らフリップフロップ(FF)を1段取り去るとともにク
リティカルパス解消のためフリップフロップ(FF)を
備えた加減算器を含んで構成した回路でDCTシリアル
演算式F6=(25a0+60a1−60a2−25a3)
×128の括弧内の演算を実行する。この場合、シリア
ル演算器92cの前段部を構成する演算器82cには、
加算器81bの出力と加算器81cの出力とが入力さ
れ、減算器82c1で加算器81bの出力を加算器81
cの出力で減算すると(a1−a2)が求められる。この
減算器82c1の出力をシフタ142c1に与え、このシ
フタ142c1の出力と減算器82c1の出力を加算器8
2c3により加算し、また、シフタ142c1の第1番目
のフリップフロップの出力と加算器82c3の出力を加
算器82c4により加算することにより「25」、「6
0」が求められることになる。また、上記シリアル演算
器202dでは、係数を簡単な整数比に近似しシフタ8
2d2(図9)からフリップフロップ(FF)を1段取
り去るとともにクリティカルパス解消のためフリップフ
ロップ(FF)を備えた加減算器を含んで構成した回路
でDCTシリアル演算式F2=(60a0+25a1−2
5a2−60a3)×128の括弧内の演算を実行する。
この場合、シリアル演算器92dの前段部を構成する演
算器82dには、加算器81aの出力と加算器81dの
出力とが入力され、減算器82d1で加算器81aの出
力を加算器81dの出力で減算すると(a0−a3)が求
められる。この減算器82d1の出力をシフタ142d1
に与え、このシフタ142d1の出力と減算器82d1の
出力を加算器82d3により加算し、また、シフタ14
2d1の第1番目のフリップフロップの出力と加算器8
2d3の出力を加算器82d4により加算することにより
「60」、「25」が求められることになる。この場合
にもシフタ142c1及びシフタ142d1のフリップフ
ロップの段数が2個となっているので、この時点で図9
のステージIIのシリアル演算器112c、112dより
も1クロック少なくなっている。
【0311】次いで、上記演算器202a〜202dの
前段部で求めた演算結果は、シリアル演算器202a〜
202dの後段部を構成する内部にフリップフロップ
(FF)を備えた加減算器202a1〜202d1に与え
られ、加減算器202a1〜202d1は演算器202a
〜202dの前段部からの出力をバタフライ演算により
加減算して1クロック遅延して出力する。具体的には、
シフタ142a1、142b1の出力が加算器202a1
及び減算器202b1に与えられ、加算器82d3、82
c4の出力が減算器202c1及び加算器202d1に与
えられ、さらに加算器82c3、82d4の出力が減算器
202c1及び加算器202d1に与えられる。これによ
り、加算器202a1は、シフタ142a1とシフタ14
2b1の出力を加算した結果(92a0+92a1+92
a2+92a3)を内部のフリップフロップ(FF)によ
って1クロック遅延して出力し、減算器202b1は、
シフタ142a1からシフタ142b1の出力を減算した
結果(92a0−92a1−92a2+92a3)を内部の
フリップフロップ(FF)によって1クロック遅延して
出力し、減算器202c1は、加算器82d3から加算器
82c4の出力を減算した結果(25a0+60a1−6
0a2−25a3)を内部のフリップフロップ(FF)に
よって1クロック遅延して出力し、加算器202d1
は、加算器82c3と加算器82d4の出力を加算した結
果(60a0+25a1−25a2−60a3)を内部のフ
リップフロップ(FF)によって1クロック遅延して出
力するようになる。
【0312】また、ステージIIの演算回路202のod
d側を構成するシリアル回路220の動作は既に述べた
が、このシリアル回路220の動作が前述したように前
記図17のシリアル回路160に比べ1クロック分遅く
なったことに対応してステージIIのeven側を構成す
る上記シリアル演算器202a〜202dおいて、最終
段の加減算器に、遅延用のフリップフロップ(FF)を
備えた加減算器202a1〜202d1を用いることによ
って1クロック遅く演算値が出力されるようにしてい
る。
【0313】上記シリアル演算により、図31に示すよ
うにステージIの出力に対してステージIIからは、1ク
ロック遅れたタイミングで演算結果が出力されるように
なる。
【0314】次いで、ステージIIIの演算回路143に
進む。この演算回路143では、ステージIIの演算回路
202の加算器202a1の出力が演算器143aに与
えられ、同様にして減算器202b1の出力が演算器1
43bに、減算器202c1の出力が演算器143c
に、加算器202d1の出力が演算器143dに、シリ
アル回路220の出力O7が演算器143eに、シリア
ル回路220の出力O3が演算器143fに、シリアル
回路220の出力O5が演算器143gに、シリアル回
路220の出力O1が演算器143hにそれぞれ与えら
れる。これにより、演算器143aは、ステージIIの演
算回路142の加算器142a2の出力(92a0+92
a1+92a2+92a3)に対して×128の演算を実
行し、出力F0のゲイン128を与え、その演算結果を
出力データF0として出力する。また、演算器143b
は、ステージIIの演算回路142の減算器142b2の
出力(92a0−92a1−92a2+92a3)に対して
×128の演算を実行し、出力F4のゲイン128を与
え、その演算結果を出力データF4として出力する。同
様に、演算器113cは、ステージIIの演算回路142
の減算器142c2の出力(25a0+60a1−60a2
−25a3)に対して×128の演算を実行し、出力F6
のゲイン128を与え、その演算結果を出力データF6
として出力する。また、演算器93dは、ステージIIの
演算回路142の加算器142d2の出力(60a0+2
5a1−25a2−60a3)に対して×128の演算を
実行し、出力F2のゲイン128を与え、その演算結果
を出力データF2として出力する。
【0315】また、odd側においては、演算器143
eのシフタ84e4及び減算器84e5は、ステージIIの
シリアル回路220の出力O7に対して×32の演算を
実行して出力F7のゲイン32を与え、その演算結果を
出力データF7として出力する。また、演算器143f
のシフタ84f4及び減算器84f5は、ステージIIのシ
リアル回路220の出力O3に対して×32の演算を実
行して出力F3のゲイン32を与え、その演算結果を出
力データF3として出力する。同様に、演算器143g
のシフタ84g4及び減算器84g5は、ステージIIのシ
リアル回路220の出力O5に対して×32の演算を実
行して出力F5のゲイン32を与え、その演算結果を出
力データF5として出力する。また、演算器143hの
シフタ84h4及び減算器84h5は、ステージIIのシリ
アル回路220の出力O1に対して×32の演算を実行
して出力F1のゲイン32を与え、その演算結果を出力
データF1として出力する。
【0316】上記ステージIIIの演算回路143の各演
算器143a〜143hのシリアル演算の場合、例えば
図30に示すように、シリアル回路220のシリアル演
算器222eの加算器222e1の出力に対して演算回
路143の減算器84h5では1クロック遅らした取込
みタイミングになり、ステージIIの出力に対してステー
ジIIIでは1クロック遅れた演算結果をシリアル演算し
てその演算結果を出力データF0〜F7として発生するよ
うになる。
【0317】以上の説明は、DCT演算処理の場合であ
るが、図27に示すデータ伸張時のデータ変換演算装置
220による逆DCT演算処理の場合も上述したDCT
演算処理の場合と同様である。
【0318】この場合は図27に示すように入力データ
がステージIIIの演算回路153〜ステージIIの演算回
路212〜ステージIの演算回路151の順で与えられ
るようになる。
【0319】このように、データ変換演算装置200及
びデータ変換演算装置210のステージIIのodd側の
シリアル回路220のシリアル演算器161e〜161
hは、遅延用のフリップフロップ(FF)を有しない構
造の加算器161e2、161f2、161g2、161
h2を用いる構成となっており、また、シリアル回路2
20のシリアル演算器222e〜222hは、前記図1
7のシリアル回路160のシリアル演算器162e〜1
62hの最終段の加減算器を遅延用のフリップフロップ
(FF)を備えた加減算器に置き換えた構成となってい
る。これに対応して、データ変換演算装置200のステ
ージIIのeven側のシリアル演算器202a〜202
dの加算器202a1、加算器202d1、減算器202
b1、減算器202c1は、遅延用のフリップフロップ
(FF)を有する構造のものとなっている。同様に、デ
ータ変換演算装置210のステージIIのeven側のシ
リアル演算器212a〜212dの加算器152a2、
加算器152d2、減算器152b2、減算器152c2
は、遅延用のフリップフロップ(FF)を有する構造の
ものとなっている。これによって、スキューの部分を減
らしてクリティカルパスを解消することができ、安定し
た動作を得ることができる。
【0320】図31は、データ変換演算装置200の入
力から出力までのタイミングチャートであり、ステージ
Iの演算回路141〜ステージIIの演算回路202〜ス
テージIIIの演算回路143の動作を総合した場合のタ
イミングチャートを示している。この図31に示すタイ
ミングチャートから明らかなように7bitのデータを入
力した場合、ステージIIにクリティカルパスの解消のた
めにフリップフロップ(FF)を挿入した加減算器を用
いているためステージIIの動作は1クロック分遅くなっ
ているが、データ変換演算装置200全体としては、各
ステージI〜IIIの制御を個別に行なうことによって装
置全体の速度の向上を図っている。すなわち、ステージ
IIの最終段の部分にフリップフロップを挿入することに
よって1クロック増えるが、図31に示すように挿入さ
れたフリップフロップによるデータ保持機能によってこ
のフリップフロップにデータを取り込んだ時点で次ライ
ンの処理を開始することができ、全体としてクロック数
の増加を招くことはない。例えば、ステージI〜IIIを
バスセレクタにより切り換えて使用するものにおいて、
ステージIIにフリップフロップによるデータ保持機能が
ないものではステージIIIにデータを取り込むまでステ
ージIは次の処理を始められなかった。これに対して、
ステージIIのクリティカルパスの部分に挿入したフリッ
プフロップによってステージII自体がデータ保持を行な
うのでステージIはステージIIIの処理がまだ終わって
いなくても次ラインのデータの取り込みを開始すること
ができ、全体として1ラインあたりクロック数は同じ2
1クロックとなる。
【0321】以上説明したように、本実施例のデータ圧
縮伸張装置は、画像データをパラレルデータの形で蓄え
るデータ記憶装置10と、データ記憶装置10から読み
込んだパラレルデータをシリアルデータに変換するパラ
レル−シリアル変換装装置11と、DCT演算係数を簡
単な整数比に変えた形のシリアル回路により構成され、
DCT演算式をそのままハードウェア化して、複数段の
加減算を一度に行なうとともに、クリティカルパスの解
消のためフリップフロップ(FF)を挿入して構成した
シリアル回路220を含んで構成され、パラレル−シリ
アル変換装装置11から出力されたデータに対して一次
元のDCT演算又は逆DCT演算をシリアル演算の形で
施すデータ変換演算装置200,210と、シリアルD
CT演算されたシリアルデータをパラレルデータに変換
してデータ記憶装置10に書き込むシリアル−パラレル
変換装置13と、データ記憶装置10に蓄えられたデー
タ変換演算後のデータに対して、DCT演算係数を整数
比に変えることにより生じたゲイン変化分を吸収させる
ように構成した量子化テーブルの値で除算することによ
って量子化演算を行なう量子化装置51と、上記データ
圧縮伸張装置の各部の動作を制御するとともに、各ステ
ージの接続状態を切換える制御を行なう制御装置52と
を有し、データ変換演算装置200,210のステージ
IIのeven側は係数を簡単な整数比に近似してDCT
シリアル演算を行なうとともに、クリティカルパスの解
消のためフリップフロップ(FF)を挿入して構成され
たシリアル演算器202a〜202d,212a〜21
2dから構成され、odd側もDCT演算式をそのまま
ハードウェア化したシリアル回路を基に、複数段の加減
算を一度に行なうとともに、クリティカルパスの解消の
ためフリップフロップ(FF)を挿入したシリアル回路
220から構成されているので、ステージIIにおいてデ
ータを保持することによってデータを1クロック遅らせ
て出力してスキューの部分を減らしてクリティカルパス
を解消させることができ、これによって安定した動作を
図りつつ各加減算器ごとに内部のフリップフロップ(F
F)によって行なわれていたクロックのタイミング合わ
せのための遅延動作をなくして、加減算器等の段数を減
らすことができ、クロック数を減らして処理速度を向上
させることができる。
【0322】すなわち、ステージIIの最終段に遅延用の
フリップフロップ(FF)を有する加減算器を用いてい
るので、スキューの部分を減らしてクリティカルパスを
解消することができ、安定した動作を得ることができる
ようになるが、このことを図29及び図30を参照しな
がら具体的に説明する。図29及び図30は各ステージ
I〜IIIの出力と各ステージI〜IIIの出力を切換えるバ
スセレクタの出力を示すタイミングチャートであり、図
29は前記図15及び図17に示すデータ変換演算装置
140の各部の出力のタイミングチャート、図30はス
テージIIの最終段に遅延用のフリップフロップ(FF)
を挿入したデータ変換演算装置200の各部の出力のタ
イミングチャートである。図29及び図30は各ステー
ジI〜IIIの出力のうちステージIIのシリアル回路16
0,220の出力O1ついての入出力に着目したもので
ある。図29に示すように、データ変換演算装置140
では、データ変換演算装置140に供給されるクロック
の立上りを受けてステージIから演算結果が出力され、
ステージIの出力はバスセレクタ132(図12)を通
してステージIIに出力される。ステージIIのシリアル回
路160のシリアル演算器162eの加算器162e3
からは同図に示すタイミングで次段のフリップフロップ
(FF)を有しない加算器162e5に加算結果が出力
され、加算器162e5からは同図に示すタイミングで
出力データO1が出力される。ステージIIの加算器16
2e5の出力O1はバスセレクタ133(図12)を通し
てステージIIIのシリアル演算器143hに出力され
る。ステージIIIのシリアル演算器143hの減算器8
4h5内部のサブトラクタからは同図に示すタイミング
で内部のフリップフロップ(FF)に減算結果が出力さ
れ、減算器84h5内部のフリップフロップ(FF)で
は同図に示すように次のクロックのタイミングで内部の
サブトラクタの出力を取り込む。このように、データ変
換演算装置140では供給されるクロックの立上りを受
けて出力されたステージIの出力が、図29に示すよう
にバスセレクタや加減算器を通過する度にディレイを重
ねながら同図に示すように次のクロックのタイミングで
ステージIIIの減算器84h5内部の最終段フリップフロ
ップ(FF)によりサブトラクタの出力として取り込ま
れることになる。従って、1クロックの間に2段の加算
器163e3、163e5と2段のバスセレクタ132、
133を通過しなければならず、図29に示すようにク
ロック周期を短くすることは困難であった。特に、デコ
ード時を考慮すればバスセレクタを通る配線を長くする
必要があり配線遅延分を含めるとかなりのディレイが発
生するため、クロック周期を短くすることができず、ク
ロック周期を短くすると間違ったデータを取り込んでし
まう可能性があった。
【0323】これに対して、図30に示すように、デー
タ変換演算装置200では、データ変換演算装置200
に供給されるクロックの立上りを受けてステージIから
演算結果が出力され、ステージIの出力はバスセレクタ
132を通してステージIIに出力される。ステージIIの
シリアル回路220のシリアル演算器222eの加算器
162e3からは同図に示すタイミングで次段のクリテ
ィカルパスの解消のためフリップフロップ(FF)を備
えた加算器222e1に加算結果が出力され、加算器2
22e1内部のアダーからは同図に示すタイミングで内
部のフリップフロップ(FF)に加算結果が出力され、
加算器222e1内部のフリップフロップ(FF)では
同図に示すように次のクロックのタイミングで内部のア
ダーの出力を取り込む。加算器222e1からは同図に
示すタイミングで出力データO1が出力され、ステージI
Iの加算器222e1の出力O1はバスセレクタ133を
通してステージIIIのシリアル演算器143hに出力さ
れる。ステージIIIのシリアル演算器143hの減算器
84h5内部のサブトラクタからは同図に示すタイミン
グで内部のフリップフロップ(FF)に減算結果が出力
され、減算器84h5内部のフリップフロップ(FF)
では同図に示すように次のクロックのタイミングで内部
のサブトラクタの出力を取り込む。このように、データ
変換演算装置200では供給されるクロックの立上りを
受けて出力されたステージIの出力が、図30に示すよ
うにバスセレクタ132を通過し、ステージIIのシリア
ル演算器222eの加算器162e3から加算結果が出
力されると、次段の加算器222e1では内部のアダー
で加算した結果を次のクロックのタイミングで加算器2
22e1内部のフリップフロップ(FF)により保持し
ておくことになる。そして、加算器222e1の出力は
バスセレクタ133を通してステージIIIのシリアル演
算器143hに出力され、その次のクロックのタイミン
グでステージIIIの減算器84h5内部の最終段フリップ
フロップ(FF)によりサブトラクタの出力として取り
込まれることになる。従って、ステージIIの最終出力が
1クロック遅れて出力されることになりステージIIの出
力からステージIIIの減算器84h5内部の最終段フリッ
プフロップ(FF)の出力の取込みまで2クロックを要
するが、クリティカルパスが解消されることによりクロ
ック周期(クロック速度)を図29の場合に比較して約
2倍にすることが可能である。また、上記クリティカル
パスの解消によるクロック周期の向上に加えてスキュー
の部分が減ることにより安定した動作を得ることがで
き、信頼性を高めて装置の歩留りを向上させることがで
きる。
【0324】また、ステージIIの最終出力部分にフリッ
プフロップ(FF)を挿入することによって発生する速
度の低下は各ステージI〜IIIを個別に制御することに
より解消することができる。以下、このことを図31を
参照しながら具体的に説明する。図31はデータ変換演
算装置200の各ステージI〜IIIを個別に制御したと
きのステージIの入力からステージIIIの出力を示すタ
イミングチャートである。前記図15に示すデータ変換
演算装置140では、ステージIIの出力はNo−del
ayでステージIIIまで渡されるのでステージIIとステ
ージIIIは同じタイミングで動作させる必要があり、ま
たステージIIにはデータを保持する機能がなく、ステー
ジIの入力からステージIIIの出力まで21クロックで
済んでいた。すなわち、ステージIIにデータを保持する
機能がなかったのでステージIIIにデータを取り込むま
でステージIは次ラインの処理を始められなかった。こ
れに対し、データ変換演算装置200では、各ステージ
において入力から出力まで1クロックを要し、各ステー
ジでは最終出力段にフリップフロップが設けられている
のでこのフリップフロップにデータを取り込んでしまえ
ば前ステージの出力は不要となる。すなわち、ステージ
IIの最終段の部分にフリップフロップを挿入することに
よってステージIIが1クロック増えるが、図31に示す
ようにステージIIでは挿入されたフリップフロップによ
るデータ保持機能があるためこのフリップフロップにデ
ータを保持してしまえば、ステージII自体がデータ保持
を行なうのでステージIはステージIIIの処理がまだ終
わっていなくても次ラインのデータの取り込みを開始す
ることができる(図31の各ステージI〜IIIのデータ
取込みタイミングMSB IN及びNext line参照)。その結
果、1ラインだけをみると23クロックを要するが、全
体としては1ラインあたり21クロックで処理を行なう
ことができ、前記データ変換演算装置140,150と
同様のクロック数で処理が可能となる。
【0325】このように、データ変換演算装置200
は、前記データ変換演算装置140,150と同様の2
1クロックで処理を可能にしながらクリティカルパスを
解消することができ、また、クリティカルパス部分が解
消できるのでより高いクロック速度を用いることが可能
になりより高速なデータ変換演算が実現できる。また、
スキューの部分が減ることにより安定した動作を得るこ
とができ、信頼性を高めることができ、さらには装置の
歩留りを向上させることができる。
【0326】また、本実施例のデータ圧縮伸張装置は、
画像データをパラレルデータの形で蓄えるデータ記憶装
置10と、データ記憶装置10から読み込んだパラレル
データをシリアルデータに変換するパラレル−シリアル
変換装装置11と、DCT演算係数を簡単な整数比に変
えた形のシリアル回路により構成されるとともに、od
d側についてはDCT演算式をそのままハードウェア化
するとともに、複数段の加減算を一度に行なうように構
成したシリアル回路160を含んで構成され、パラレル
−シリアル変換装装置11から出力されたデータに対し
て一次元のDCT演算又は逆DCT演算をシリアル演算
の形で施すデータ変換演算装置140,150,18
0,190と、シリアルDCT演算されたシリアルデー
タをパラレルデータに変換してデータ記憶装置10に書
き込むシリアル−パラレル変換装置13と、データ記憶
装置10に蓄えられたデータ変換演算後のデータに対し
て、DCT演算係数を整数比に変えることにより生じた
ゲイン変化分を吸収させるように構成した量子化テーブ
ルの値で除算することによって量子化演算を行なう量子
化装置51と、上記各部の動作をデータ圧縮伸張装置の
全体を制御する制御装置52とを有し、データ変換演算
装置140,150のステージIIのeven側は係数を
簡単な整数比に近似してDCTシリアル演算を行なうと
ともに、フリップフロップ(FF)を有しないアダー
(サブトラクタ)を含んで構成されたシリアル演算器1
42a〜142dから構成され、odd側もDCT演算
式をそのままハードウェア化したシリアル回路を基に、
複数段の加減算を一度に行なうシリアル回路160から
構成されているので、各加減算器ごとに内部のフリップ
フロップ(FF)によって行なわれていたクロックのタ
イミング合わせのための遅延動作をなくすとともに、加
減算器等の段数を減らすことができ、これによってクロ
ック数を減らして処理速度を向上させることができ、回
路規模を小さくすることができる。
【0327】すなわち、データ変換演算装置140,1
50のステージIIのodd側のシリアル回路160のシ
リアル演算器161e〜161hは、遅延用のフリップ
フロップ(FF)を有しない構造の加算器161e2、
161f2、161g2、161h2を用いて構成され、
また、シリアル回路160のシリアル演算器162e〜
162hは、前記図11のシリアル回路100のシリア
ル演算器162e〜162hから加減算器を2段取り去
るとともに、加減算器を遅延用のフリップフロップ(F
F)を有しない構造の加減算器に置き換えて構成され、
これに対応して、ステージIIのeven側のシリアル演
算器142a〜142d(152a〜152dも同様)
は、前記図9のステージIIのシリアル演算器112a〜
112dの各シフタ82a2、82b2、82c2、82
d2からフリップフロップ(FF)を更に1段取り去っ
た構成となっており、また、ステージIIのeven側の
シリアル演算器142a〜142dの加算器142a
2、加算器142d2、減算器142b2、減算器142
c2は遅延用のフリップフロップ(FF)を有しない構
造のものとなっている。従って、回路規模を小さくする
ことができるとともに、データ変換演算装置140,1
50のステージIIではクロック数を2クロック少なくす
ることができ、図25に示すデータ変換演算装置140
のタイミングチャートと図24に示すデータ変換演算装
置110のタイミングチャートと比較して明らかなよう
に7bitのデータを入力した場合、1ライン当りの処理
周期を24クロックから22クロックに減少させること
ができる。
【0328】また、データ変換演算装置180及びデー
タ変換演算装置190は、ステージIのシリアル演算器
171a〜171hが、内部にフリップフロップ(F
F)を有しないアダー(サブトラクタ)により構成さ
れ、また、ステージIIIのシリアル演算器173a〜1
73hの加減算器が、遅延用のフリップフロップ(F
F)を有しない構造の加算器173c1、173d1、減
算器173a1、173b1、173e1、173f1、1
73g1、173h1に置き換えた構成となっている。こ
れによって、ステージI及びステージIIIでクロック数
を1クロックづつ少なくすることができ、演算速度を更
に2クロック向上させることができ、回路規模をより小
さくすることができる。
【0329】なお、上記データ変換演算装置140,1
50,180,190は、これら装置を構成するシリア
ル回路の動作時間と、システムクロックに従って動作す
るデータ圧縮伸張装置の全体動作時間とを考慮に容れ
て、上述したようにシリアル回路を構成する加減算器の
段数を減らす、若しくは加減算器をフリップフロップ
(FF)を有しない加減算器に置き換えるようにするも
のである。このため、供給されるシステムクロックの速
度が上がれば、上述した加減算器の段数を減らす、若し
くは加減算器をフリップフロップ(FF)を有しない加
減算器に置き換えるといった速度向上の余裕がなくなる
ようにも考えられるが、シリアル回路自体の構造が相当
シンプルであるのに対し、上記データ変換演算装置14
0,150,180,190を制御する制御回路部は一
般にゲート段数が多く構造が複雑であるため、供給され
るクロックが上がってもそのクロックの向上分はシリア
ル回路にも反映されることになり、クロック速度の向上
に対しても本実施例のデータ圧縮伸張装置は有効なもの
となっている。
【0330】また、本実施例のデータ圧縮伸張装置は、
画像データをパラレルデータの形で蓄えるデータ記憶装
置10と、データ記憶装置10から読み込んだパラレル
データをシリアルデータに変換するパラレル−シリアル
変換装装置11と、DCT演算係数を簡単な整数比に変
えた形のシリアル回路により構成されるとともに、od
d側については演算式をそのままハードウェア化したシ
リアル回路100を含んで構成され、パラレル−シリア
ル変換装装置11から出力されたデータに対して一次元
のDCT演算又は逆DCT演算をシリアル演算の形で施
すデータ変換演算装置110,120と、シリアルDC
T演算されたシリアルデータをパラレルデータに変換し
てデータ記憶装置10に書き込むシリアル−パラレル変
換装置13と、データ記憶装置10に蓄えられたデータ
変換演算後のデータに対して、DCT演算係数を整数比
に変えることにより生じたゲイン変化分を吸収させるよ
うに構成した量子化テーブルの値で除算することによっ
て量子化演算を行なう量子化装置51と、上記各部の動
作をデータ圧縮伸張装置の全体を制御する制御装置52
とを有し、シリアル回路100は、DCT演算式を展開
して得られた各入力b0〜b3に共通な係数を2のべきに
ある数値をかけた形で表現した場合の該数値の部分を作
成するシリアル回路101と、このシリアル回路101
により計算された係数出力に対して式の横方向に符号分
を含めた加減算を行なって出力x0〜x3として出力する
シリアル回路102により構成されているので、演算式
をそのままハードウェア化することによってバタフライ
演算部をなくすとともにFF等の段数を減らすことがで
き、クロック数(時間)を短縮することができる。すな
わち、図43に示す従来のデータ変換演算装置12の回
路構成の場合、8bitのデータを入力した場合図13に
示すようにLSB入力からMSB出力まで26クロック
かかっていたが、図9に示すデータ変換演算装置110
ではステージIIのodd側にシリアル回路100を用い
ることにより偶数成分側からタイミングおよびゲインを
揃えるために設けられたシフトレジスタを3段取り去る
ことができ、図13に示すデータ変換演算装置50のタ
イミングチャートと比較して明らかなように7bitのデ
ータを入力した場合、図14に示すように1ライン当り
の処理周期を26クロックから23クロックに減少させ
ることができる。その結果、少ないクロック数によりデ
ータ変換演算を実行できるという利点があり、画像圧縮
等のデータ圧縮に利用することができる。
【0331】また、本実施例のデータ圧縮伸張装置は、
画像データをパラレルデータの形で蓄えるデータ記憶装
置10と、データ記憶装置10から読み込んだパラレル
データをシリアルデータに変換するパラレル−シリアル
変換装装置11と、DCT演算係数を簡単な整数比に変
えた形のシリアル回路により構成され、パラレル−シリ
アル変換装装置11から出力されたデータに対して一次
元のDCT演算をシリアル演算の形で施すデータ変換演
算装置50と、シリアルDCT演算されたシリアルデー
タをパラレルデータに変換してデータ記憶装置10に書
き込むシリアル−パラレル変換装置13と、データ記憶
装置10に蓄えられたデータ変換演算後のデータに対し
て、DCT演算係数を整数比に変えることにより生じた
ゲイン変化分を吸収させるように構成した量子化テーブ
ルの値で除算することによって量子化演算を行なう量子
化装置51と、上記各部の動作をデータ圧縮伸張装置の
全体を制御する制御装置52とを設け、2のべきで表現
できる部分はべきで表現してシリアル回路を構成する一
方で、べきで表現しようとすればビット数が大きくなっ
てしまう部分については敢えてべきにより表現しようと
しないで2のべきにとらわれずにDCT演算式の係数を
整数比に置き換え、そのゲイン変化分を量子化部によっ
て吸収するようにしているので、単にシリアル回路を実
現していた場合に比べ、データ変換演算装置50の回路
規模を大幅に小さくすることができるとともに、シリア
ルの段数を減少させて処理速度を向上させることがで
る。すなわち、図43に示す従来例では、フリップフロ
ップ(FF)が126個、1bitAdd(Sub)unitが 62個
必要となり未だ回路規模が大きかったが、本実施例で
は、演算に必要な回路構成としてフリップフロップ(F
F)70個、1 Add unit52個で済むことになり回路
規模を大幅に小さくすることができる。また、シリアル
回路を構成するフリップフロップ(FF)等の段数が削
減されるので、図7に示すように8bitのデータを入力
した場合、1ライン当りの処理周期を従来例の27クロ
ック(図42)から21クロックに減少させることがで
きる。また、誤差を含んだ係数による演算は量子化装置
51において一度行われるのみであり演算の大部分が誤
差を含まない整数の比によって行なうことができ、量子
化の前までの演算におけるデータビット幅を従来のもの
より大幅に小さくすることができ、小さなバス幅で高い
演算精度を得ることができる。また、データ変換演算装
置50自体が、極めて小さなFF等の組合せからなるシ
リアル回路によってDCT演算を行なうようにしている
ので、回路規模を大幅に小さくすることができ、かつ高
速に処理を行なうことが可能になる。
【0332】このように高い演算精度を持ちかつ回路規
模の小さなデータ圧縮伸張装置が実現できることからD
CTを用いた画像圧縮や音声圧縮を行うデータ圧縮伸張
装置に適用して好適である。
【0333】なお、本実施例では、データ変換演算装置
200,210のステージIIの最終段出力にフリップフ
ロップ(FF)を設けた例を示したが、これには限定さ
れず、クリティカルパスの部分に遅延用素子を設けるも
のであれば他のステージでもよくステージ中のどのよう
なシリアル回路部分であってもよいことは言うまでもな
い。本実施例のようにステージIIの最終段出力にフリッ
プフロップ(FF)を設けるようにすると、エンコード
時及びデコード時の何れの場合もステージIIが中間部分
となる、ステージI〜IIIの中間位置のデータを保持す
るのでディレイが約半分となりディレイ解消の点で有利
である、ステージIIはシリアル段数が多いのでをここを
クリアできればクリティカルパスは解消でき他のステー
ジ等に遅延用素子を設ける必要はなくなる、というメリ
ットがあり、回路規模の増大を最小限に抑えつつ確実に
クリティカルパスを解消することができる。
【0334】また、本実施例では、データ変換演算装置
200,210をステージI〜IIIの3つのステージに
分割する例を示したが、クリティカルパスの部分に遅延
用素子を設けるものであればどのようなステージやブロ
ックに分割してもよいことは勿論である。
【0335】また、本実施例では、DCT演算式の係数
を整数の比に置き換え、そのゲインの変化を量子化装置
51により調整するとともに、データ変換演算式を展開
し、展開した式に従って構成されたデータ変換演算装置
110,120を対象として、フリップフロップ(F
F)や加減算器等の段数を減らすようにしているが、こ
れには限定されず、複数段の加減算を同一クロックで一
度に行なう構成したシリアル回路であればどのようなシ
リアル回路でもよい。すなわち、DCT演算式の係数を
整数の比に置き換える処理をしないシリアル回路、若し
くはデータ変換演算式を展開し、展開した式に従って構
成したシリアル回路を対象として、複数段の加減算を同
一クロックで一度に行なう構成を適用してもよい。
【0336】また、本実施例では、図15〜図23に示
すデータ変換演算装置110,120,180,190
及びシリアル回路160において、図15〜図23に示
す位置のシフタや加減算器等の段数を減らし、また加減
算器をフリップフロップ(FF)を有しない加減算器に
置き換えるようにしているが、これには限定されず、複
数段の加減算を同一クロックで一度に行なうように構成
するものであればどのような部分に適用してもよいこと
は勿論である。
【0337】また、本実施例では、データ変換演算装置
90のステージIIのodd側にシリアル回路100を適
用した例を示したが、これには限定されず、データ変換
演算式を各項毎に展開し、展開した式に従ってシリアル
回路を構成するものであればどのような回路部分に適用
してもよいことは言うまでもない。
【0338】また、本実施例では係数を例えば所定の整
数の比とする例を示したが、これには限定されず、整数
の比で表されるものであればどのような整数比でもよく
整数値であってもことは言うまでもない。
【0339】また、演算係数を2のべき(2のn乗)の
和(差)で表現して図3に示すようなシリアルの回路に
より演算を行っているが、シリアルデータ処理が行われ
るものであればどのようなユニットの組合せでもよいこ
とは勿論である。
【0340】また、上記画像圧縮装置等を構成する回路
や部材の数、種類などは前述した実施例に限られないこ
とは言うまでもなく、ソフトウェア(例えば、C言語)
により実現するようにしてもよい。
【0341】また、本実施例では、データ変換演算装置
にDCTを適用しているが、これら符号化方式には限定
されず、符号化演算を行なうものであればどのような装
置や演算式にも適用できることは言うまでもない。例え
ば、ハール(Harr)変換、傾斜変換(スラント変換)、
対称性サイン変換などを用いたデータ圧縮伸張装置に適
用することができる。
【0342】また、入力データに対してデータ変換を行
なうものであれば、データ変換の種類は何でもよく、D
CTによる周波数成分の変換のほか、例えばFFT,L
OT(Lapped Orthogonal Transform:重合直交変換)
等の直交データ変換に適用可能である。また、データ変
換演算部の係数を量子化部で吸収させるようにしている
が、係数を調整できるものであればどのような量子化部
で調整してもよいことは勿論である。
【0343】
【発明の効果】請求項1、2、18、19、20、2
1、22及び23記載の発明によれば、シリアル演算に
よりデータ変換演算を実行するデータ変換演算手段のク
リティカルパスの部分に遅延用素子を設け、該遅延用素
子によりデータを保持してクリティカルパスを解消する
とともに、各ステージを個別に制御して次ラインの処理
を実行するようにしているので、データを保持すること
によってスキューの部分を減らすことができ、クリティ
カルパスを解消させることができる。また、ステージの
クリティカルパスの部分に設けた遅延用素子により処理
ステージにおいてデータが保持されるので、後段のステ
ージの処理の終了を待たずに前段のステージで次ライン
の処理が開始でき、クリティカルパス解消のために挿入
された遅延用素子による遅延を解消することができ、安
定した動作を図りつつ高速動作が可能になる。その結
果、クリティカルパス部分が解消できるのでより高いク
ロック速度を用いることが可能になり、より高速なデー
タ変換演算が実現できる。また、スキューの部分が減る
ことにより安定した動作を得ることができ、信頼性を高
めることができ、さらには装置の歩留りを向上させるこ
とができる。
【0344】請求項3、24、25、26、27、2
8、29、30、31及び32記載の発明によれば、デ
ータ変換演算手段の係数を整数の比に置き換え、該整数
の比に置き換えることにより生じたゲインの変化を、量
子化手段により調整するようにするとともに、クリティ
カルパスの部分に遅延用素子を設け、該遅延用素子によ
りデータを保持してクリティカルパスを解消するように
しているので、単にシリアル回路を実現していた場合に
比べ、回路規模を大幅に小さくすることができるととも
に、クリティカルパスを解消しつつシリアルの段数を減
少させて処理速度を向上させることができる。また、ク
リティカルパス解消のために挿入された遅延用素子によ
るデータ保持機能によって次ライン処理が可能になり、
さらに処理速度を向上させることができ、画像等のデー
タ圧縮に利用することができる。
【0345】請求項4、10、11及び12記載の発明
によれば、データ変換演算手段のデータ変換演算式を展
開し、展開した式に従って前記データ変換演算手段を構
成するとともに、クリティカルパスの部分に遅延用素子
を設け、該遅延用素子によりデータを保持してクリティ
カルパスを解消するようにしているので、展開したデー
タ変換演算式に従ってシリアル回路を構成することによ
りクリティカルパスを解消しつつシフトレジスタ等のシ
リアル回路の段数を減少させてクロック数を減らすこと
ができ、処理速度を向上させることができ、また、クリ
ティカルパス解消のために挿入された遅延用素子による
データ保持機能によって次ライン処理が可能になり、さ
らに処理速度を向上させることができる。
【0346】請求項5、13、14、15、16及び1
7記載の発明によれば、データ変換演算手段を、複数段
の加減算を同一クロックで一度に行なうようにするとと
もに、クリティカルパスの部分に遅延用素子を設け、該
遅延用素子によりデータを保持してクリティカルパスを
解消するようにしているので、クロックのタイミング合
わせのための遅延動作が加減算ごとに行なわれることが
なくなるとともに、加減算器等の段数が減少することに
よりクリティカルパスを解消しつつクロック数を減らし
て処理速度を向上させることができ、回路規模を小さく
することができ、また、クリティカルパス解消のために
挿入された遅延用素子によるデータ保持機能によって次
ライン処理が可能になり、さらに処理速度を向上させる
ことができる。
【0347】請求項6及び9記載の発明によれば、デー
タ変換演算手段の係数を整数の比に置き換え、該整数の
比に置き換えることにより生じたゲインの変化を、量子
化手段により調整するようにするとともに、複数段の加
減算を同一クロックで一度に行なうようにし、さらにク
リティカルパスの部分に遅延用素子を設け、該遅延用素
子によりデータを保持してクリティカルパスを解消する
ようにしているので、単にシリアル回路を実現していた
場合に比べ、回路規模を大幅に小さくすることができる
ことに加え、さらにクリティカルパスを解消しつつFF
や加減算器等の段数を大幅に減少させて処理速度を向上
させることができ、画像等のデータ圧縮伸張に利用する
ことができ、また、クリティカルパス解消のために挿入
された遅延用素子によるデータ保持機能によって次ライ
ン処理が可能になり、さらに処理速度を向上させること
ができる。
【0348】請求項7記載の発明によれば、データ変換
演算手段のデータ変換演算式を展開し、展開した式に従
って前記データ変換演算手段を構成するとともに、複数
段の加減算を同一クロックで一度に行なうようにし、さ
らにクリティカルパスの部分に遅延用素子を設け、該遅
延用素子によりデータを保持してクリティカルパスを解
消するようにしているので、展開したデータ変換演算式
に従ってシリアル回路を構成することによりシフトレジ
スタ等のシリアル回路の段数を減少させてクロック数を
減らすことができることに加え、さらにクリティカルパ
スを解消しつつFFや加減算器等の段数を大幅に減少さ
せて処理速度を向上させることができ、回路規模を大幅
に小さくすることができ、また、クリティカルパス解消
のために挿入された遅延用素子によるデータ保持機能に
よって次ライン処理が可能になり、さらに処理速度を向
上させることができる。
【0349】請求項8記載の発明によれば、データ変換
演算手段の係数を整数の比に置き換え、該整数の比に置
き換えることにより生じたゲインの変化を、量子化手段
により調整するようにするとともに、データ変換演算式
を展開し、展開した式に従ってデータ変換演算手段を構
成し、さらに複数段の加減算を同一クロックで一度に行
なうようにするとともに、クリティカルパスの部分に遅
延用素子を設け、該遅延用素子によりデータを保持して
クリティカルパスを解消するようにしているので、係数
を整数の比に置き換え、そのゲインの変化を量子化手段
で調整することにより単にシリアル回路を実現していた
場合に比べ、回路規模を大幅に小さくすることができる
とともに、展開したデータ変換演算式に従ってシリアル
回路を構成することによりクリティカルパスを解消しつ
つシフトレジスタ等のシリアル回路の段数を減少させて
クロック数を減らすことができ、さらにこのシリアル回
路は複数段の加減算を一度に行なう構成となっているた
めFFや加減算器等の段数を大幅に減少させて処理速度
をより一層向上させることができ、回路規模を大幅に小
さくすることができる。また、クリティカルパス解消の
ために挿入された遅延用素子によるデータ保持機能によ
って次ライン処理が可能になり、さらに処理速度を向上
させることができる。
【図面の簡単な説明】
【図1】データ圧縮伸張装置の原理説明図である。
【図2】データ圧縮伸張装置の原理説明図である。
【図3】データ圧縮伸張装置のブロック構成図である。
【図4】データ圧縮伸張装置のデータ変換演算装置のブ
ロック構成図である。
【図5】データ圧縮伸張装置のデータ圧縮時のデータ変
換演算装置の回路構成図である。
【図6】データ圧縮伸張装置のデータ伸張時のデータ変
換演算装置の回路構成図である。
【図7】データ圧縮伸張装置のデータ変換演算装置の動
作を説明するためのタイミングチャートである。
【図8】データ圧縮伸張装置のデータ変換演算装置の回
路構成図である。
【図9】データ圧縮伸張装置のデータ圧縮時のデータ変
換演算装置の回路構成図である。
【図10】データ圧縮伸張装置のデータ伸張時のデータ
変換演算装置の回路構成図である。
【図11】データ圧縮伸張装置のデータ変換演算装置の
シリアル回路の回路構成図である。
【図12】データ圧縮伸張装置のデータ変換演算装置の
ブロック構成図である。
【図13】データ圧縮伸張装置のデータ変換演算装置の
動作を説明するためのタイミングチャートである。
【図14】データ圧縮伸張装置のデータ変換演算装置の
動作を説明するためのタイミングチャートである。
【図15】データ圧縮伸張装置のデータ圧縮時のデータ
変換演算装置の回路構成図である。
【図16】データ圧縮伸張装置のデータ伸張時のデータ
変換演算装置の回路構成図である。
【図17】データ圧縮伸張装置のデータ変換演算装置の
シリアル回路の回路構成図である。
【図18】データ圧縮伸張装置の内部にフリップフロッ
プ(FF)を有しないシリアル演算素子を説明する図で
ある。
【図19】データ圧縮伸張装置の内部にフリップフロッ
プ(FF)を有しないシリアル演算素子を説明する図で
ある。
【図20】データ圧縮伸張装置のデータ変換演算装置の
シリアル回路の回路構成図である。
【図21】データ圧縮伸張装置のデータ変換演算装置の
シリアル回路の回路構成図である。
【図22】データ圧縮伸張装置のデータ圧縮時のデータ
変換演算装置の回路構成図である。
【図23】データ圧縮伸張装置のデータ伸張時のデータ
変換演算装置の回路構成図である。
【図24】データ圧縮伸張装置のデータ変換演算装置の
動作を説明するためのタイミングチャートである。
【図25】データ圧縮伸張装置のデータ変換演算装置の
動作を説明するためのタイミングチャートである。
【図26】データ圧縮伸張装置のデータ圧縮時のデータ
変換演算装置の回路構成図である。
【図27】データ圧縮伸張装置のデータ伸張時のデータ
変換演算装置の回路構成図である。
【図28】データ圧縮伸張装置のデータ変換演算装置の
シリアル回路の回路構成図である。
【図29】データ圧縮伸張装置のデータ変換演算装置の
各ステージI〜IIIの出力と各ステージI〜IIIの出力を
切換えるバスセレクタの出力を示すタイミングチャート
である。
【図30】データ圧縮伸張装置のデータ変換演算装置の
各ステージI〜IIIの出力と各ステージI〜IIIの出力を
切換えるバスセレクタの出力を示すタイミングチャート
である。
【図31】データ圧縮伸張装置のデータ変換演算装置の
動作を説明するためのタイミングチャートである。
【図32】従来のデータ圧縮伸張装置のブロック構成図
である。
【図33】従来のデータ圧縮伸張装置の画像データの処
理を説明するための図である。
【図34】従来のデータ圧縮伸張装置の量子化テーブル
の例を示す図である。
【図35】従来のデータ圧縮伸張装置のデータ変換演算
装置におけるシリアル演算を説明するための図である。
【図36】従来のデータ圧縮伸張装置のデータ変換演算
装置におけるシリアル演算を説明するための図である。
【図37】従来のデータ圧縮伸張装置のデータ変換演算
装置におけるシリアル演算を説明するための図である。
【図38】従来のデータ圧縮伸張装置のデータ変換演算
装置のブロック構成図である。
【図39】従来のデータ圧縮伸張装置のデータ変換演算
装置のIステージの回路構成図である。
【図40】従来のデータ圧縮伸張装置のデータ変換演算
装置のIIステージの回路構成図である。
【図41】従来のデータ圧縮伸張装置のデータ変換演算
装置のIIIステージの回路構成図である。
【図42】従来のデータ圧縮伸張装置のデータ変換演算
装置のIVステージの回路構成図である。
【図43】従来のデータ圧縮伸張装置のデータ圧縮時の
データ変換演算装置の回路構成図である。
【図44】従来のデータ圧縮伸張装置のデータ伸張時の
データ変換演算装置の回路構成図である。
【図45】従来のデータ圧縮伸張装置のシリアル演算素
子を説明する図である。
【図46】従来のデータ圧縮伸張装置のシリアル演算素
子を説明する図である。
【図47】従来のデータ圧縮伸張装置のシリアル演算素
子を説明する図である。
【図48】従来のデータ圧縮伸張装置のデータ変換演算
装置の動作を説明するためのタイミングチャートであ
る。
【符号の説明】
10 データ記憶装置 11 パラレル−シリアル変換装装置 13 シリアル−パラレル変換装置 51 量子化装置 50,110,120,140,150,180,19
0,200,210データ変換演算装置 52 制御装置 100,160,220 シリアル回路 101,161 シリアル回路(第1のシリアル演算
部) 102,162,222 シリアル回路(第2のシリア
ル演算部) 111,121,141,151,171 ステージI
の演算回路 112,122,142,152,202,212 ス
テージIIの演算回路 113,123,143,153,173 ステージII
Iの演算回路 131〜134 バスセレクタ
【数3】
【数4】
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 H04N 7/137 Z

Claims (32)

    【特許請求の範囲】
  1. 【請求項1】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段から出力されたデータに対して所定
    の係数に基づいてシリアル演算によりデータ変換演算を
    実行するデータ変換演算手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記データ変換演算手段及び前記
    量子化手段を制御をする制御手段とを備えたデータ圧縮
    伸張装置であって、 前記データ変換演算手段は、クリティカルパスの部分に
    遅延用素子を設け、該遅延用素子によりデータを保持し
    てクリティカルパスを解消するようにしたことを特徴と
    するデータ圧縮伸張装置。
  2. 【請求項2】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段のデータをパラレルデータからシリ
    アルデータに変換するパラレル−シリアル変換手段と、 前記パラレル−シリアル変換手段から出力されたデータ
    に対して所定の係数に基づいてシリアル演算によりデー
    タ変換演算を実行するデータ変換演算手段と、 前記データ変換手段から出力されるシリアルデータをパ
    ラレルデータに変換し、前記データ記憶手段に書き込む
    シリアル−パラレル変換手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記パラレル−シリアル変換手
    段、前記データ変換演算手段、前記シリアル−パラレル
    変換手段及び前記量子化手段を制御をする制御手段とを
    備えたデータ圧縮伸張装置であって、 前記データ変換演算手段は、クリティカルパスの部分に
    遅延用素子を設け、該遅延用素子によりデータを保持し
    てクリティカルパスを解消するようにしたことを特徴と
    するデータ圧縮伸張装置。
  3. 【請求項3】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段から出力されたデータに対して所定
    の係数に基づいてシリアル演算によりデータ変換演算を
    実行するデータ変換演算手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記データ変換演算手段及び前記
    量子化手段を制御をする制御手段とを備えたデータ圧縮
    伸張装置であって、 前記データ変換演算手段の係数を整数の比に置き換え、
    該整数の比に置き換えることにより生じたゲインの変化
    を、前記量子化手段により調整するようにするととも
    に、クリティカルパスの部分に遅延用素子を設け、該遅
    延用素子によりデータを保持してクリティカルパスを解
    消するようにしたことを特徴とするデータ圧縮伸張装
    置。
  4. 【請求項4】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段から出力されたデータに対して所定
    の係数に基づいてシリアル演算によりデータ変換演算を
    実行するデータ変換演算手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記データ変換演算手段及び前記
    量子化手段を制御をする制御手段とを備えたデータ圧縮
    伸張装置であって、 前記データ変換演算手段のデータ変換演算式を展開し、
    展開した式に従って前記データ変換演算手段を構成する
    とともに、クリティカルパスの部分に遅延用素子を設
    け、該遅延用素子によりデータを保持してクリティカル
    パスを解消するようにしたことを特徴とするデータ圧縮
    伸張装置。
  5. 【請求項5】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段から出力されたデータに対して所定
    の係数に基づいてシリアル演算によりデータ変換演算を
    実行するデータ変換演算手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記データ変換演算手段及び前記
    量子化手段を制御をする制御手段とを備えたデータ圧縮
    伸張装置であって、 前記データ変換演算手段は、複数段の加減算を同一クロ
    ックで一度に行なうようにするとともに、クリティカル
    パスの部分に遅延用素子を設け、該遅延用素子によりデ
    ータを保持してクリティカルパスを解消するようにした
    ことを特徴とするデータ圧縮伸張装置。
  6. 【請求項6】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段から出力されたデータに対して所定
    の係数に基づいてシリアル演算によりデータ変換演算を
    実行するデータ変換演算手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記データ変換演算手段及び前記
    量子化手段を制御をする制御手段とを備えたデータ圧縮
    伸張装置であって、 前記データ変換演算手段の係数を整数の比に置き換え、
    該整数の比に置き換えることにより生じたゲインの変化
    を、前記量子化手段により調整するようにするととも
    に、複数段の加減算を同一クロックで一度に行なうよう
    にし、さらにクリティカルパスの部分に遅延用素子を設
    け、該遅延用素子によりデータを保持してクリティカル
    パスを解消するようにしたことを特徴とするデータ圧縮
    伸張装置。
  7. 【請求項7】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段から出力されたデータに対して所定
    の係数に基づいてシリアル演算によりデータ変換演算を
    実行するデータ変換演算手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記データ変換演算手段及び前記
    量子化手段を制御をする制御手段とを備えたデータ圧縮
    伸張装置であって、 前記データ変換演算手段のデータ変換演算式を展開し、
    展開した式に従って前記データ変換演算手段を構成する
    とともに、複数段の加減算を同一クロックで一度に行な
    うようにし、さらにクリティカルパスの部分に遅延用素
    子を設け、該遅延用素子によりデータを保持してクリテ
    ィカルパスを解消するようにしたことを特徴とするデー
    タ圧縮伸張装置。
  8. 【請求項8】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段から出力されたデータに対して所定
    の係数に基づいてシリアル演算によりデータ変換演算を
    実行するデータ変換演算手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記データ変換演算手段及び前記
    量子化手段を制御をする制御手段とを備えたデータ圧縮
    伸張装置であって、 前記データ変換演算手段の係数を整数の比に置き換え、
    該整数の比に置き換えることにより生じたゲインの変化
    を、前記量子化手段により調整するようにするととも
    に、データ変換演算式を展開し、展開した式に従って前
    記データ変換演算手段を構成し、さらに複数段の加減算
    を同一クロックで一度に行なうようにするとともに、ク
    リティカルパスの部分に遅延用素子を設け、該遅延用素
    子によりデータを保持してクリティカルパスを解消する
    ようにしたことを特徴とするデータ圧縮伸張装置。
  9. 【請求項9】 所定のデータを記憶するデータ記憶手段
    と、 前記データ記憶手段から出力されたデータに対して所定
    の係数に基づいてシリアル演算によりデータ変換演算を
    実行するデータ変換演算手段と、 前記データ変換演算手段によるデータ変換後のデータに
    対して量子化演算を実行する量子化手段と、 前記データ記憶手段、前記データ変換演算手段及び前記
    量子化手段を制御をする制御手段とを備えたデータ圧縮
    伸張装置であって、 前記データ変換演算手段のデータ変換演算式の係数の値
    を2のべきで表現するとともに、該係数の値を2のべき
    で表現するとき所定以上ビット数が大きくなる部分につ
    いて該係数を整数の比に置き換え、該整数の比に置き換
    えることにより生じたゲインの変化を、前記量子化手段
    により調整するようにするとともに、複数段の加減算を
    同一クロックで一度に行なうようにし、さらにクリティ
    カルパスの部分に遅延用素子を設け、該遅延用素子によ
    りデータを保持してクリティカルパスを解消するように
    したことを特徴とするデータ圧縮伸張装置。
  10. 【請求項10】 前記データ変換演算手段は、各入力に
    所定の係数が表れるようにデータ変換演算式を展開し、
    該展開したデータ変換演算式の係数部分をシリアル演算
    する第1のシリアル演算部と、該第1のシリアル演算部
    の出力を加減算して該展開したデータ変換演算式の演算
    を実行する第2のシリアル演算部とにより構成するよう
    にしたことを特徴とする請求項4、請求項5、請求項
    6、請求項7又は請求項8の何れかに記載のデータ圧縮
    伸張装置。
  11. 【請求項11】 前記第1のシリアル演算部は、前記展
    開したデータ変換演算式の係数を2のべきに数値をかけ
    た形で表現するとともに、該係数を2のべきに数値をか
    けた形で表現した場合の数値部分をシリアル演算するシ
    リアル回路により構成するようにしたことを特徴とする
    請求項10に記載のデータ圧縮伸張装置。
  12. 【請求項12】 前記第2のシリアル演算部は、前記第
    1のシリアル演算部から出力された数値を加減算して出
    力する複数の加減算器により構成され、前記展開したデ
    ータ変換演算式の係数を2のべきに数値をかけた形で表
    現した場合の2のべき部分を各加減算器への入力位置に
    より調整するようにしたことを特徴とする請求項10に
    記載のデータ圧縮伸張装置。
  13. 【請求項13】 前記データ変換演算手段は、複数段の
    加減算を同一クロックで一度に実行するシリアル回路を
    含んで構成したことを特徴とする請求項5、請求項6、
    請求項7、請求項8、請求項9、請求項10、請求項1
    1、請求項12の何れかに記載のデータ圧縮伸張装置。
  14. 【請求項14】 前記データ変換演算手段は、遅延用素
    子を有しない加減算器を用いてデータ変換演算を実行す
    るようにしたことを特徴とする請求項1、請求項2、請
    求項3、請求項4、請求項5、請求項6、請求項7、請
    求項8、請求項9、請求項10、請求項11、請求項1
    2、請求項13の何れかに記載のデータ圧縮伸張装置。
  15. 【請求項15】 前記データ変換演算手段は、遅延用素
    子を有する加減算器と、遅延用素子を有しない加減算器
    とからなるシリアル回路を含んで構成され、該遅延用素
    子を有する加減算器及び遅延用素子を有しない加減算器
    を用いて加減算を実行するとともに、該遅延用素子を有
    する加減算器の遅延用素子により該シリアル回路のクロ
    ックのタイミングを合わせるようにしたことを特徴とす
    る請求項1、請求項2、請求項3、請求項4、請求項
    5、請求項6、請求項7、請求項8、請求項9、請求項
    10、請求項11、請求項12又は請求項13の何れか
    に記載のデータ圧縮伸張装置。
  16. 【請求項16】 前記データ変換演算手段は、シリアル
    演算を実行するシリアル回路の動作時間が、供給された
    システムクロックに従って動作するデータ圧縮伸張装置
    の全体動作時間よりも小さいとき、所定の範囲内で該シ
    リアル回路を構成する加減算器の段数を減らすようにし
    たことを特徴とする請求項1、請求項2、請求項3、請
    求項4、請求項5、請求項6、請求項7、請求項8、請
    求項9、請求項10、請求項11、請求項12、請求項
    13、請求項14又は請求項15の何れかに記載のデー
    タ圧縮伸張装置。
  17. 【請求項17】 前記データ変換演算手段は、シリアル
    演算を実行するシリアル回路の動作時間が、供給された
    システムクロックに従って動作するデータ圧縮伸張装置
    の全体動作時間よりも小さいとき、所定の範囲内で該シ
    リアル回路を構成する加減算器を遅延用素子を有しない
    加減算器に置き換えるようにしたことを特徴とする請求
    項1、請求項2、請求項3、請求項4、請求項5、請求
    項6、請求項7、請求項8、請求項9、請求項10、請
    求項11、請求項12、請求項13、請求項14、請求
    項15又は請求項16の何れかに記載のデータ圧縮伸張
    装置。
  18. 【請求項18】 前記データ変換演算手段は、シリアル
    演算によりデータ変換演算を実行するデータ変換演算回
    路を複数のステージに分割し、各ステージのクリティカ
    ルパスの部分に遅延用素子を設け、該遅延用素子により
    データを保持してクリティカルパスを解消するようにし
    たことを特徴とする請求項1、請求項2、請求項3、請
    求項4、請求項5、請求項6、請求項7、請求項8、請
    求項9、請求項10、請求項11、請求項12、請求項
    13、請求項14、請求項15、請求項16又は請求項
    17の何れかに記載のデータ圧縮伸張装置。
  19. 【請求項19】 前記データ変換演算手段は、シリアル
    演算によりデータ変換演算を実行するデータ変換演算回
    路を複数のステージに分割し、各ステージのクリティカ
    ルパスの部分に遅延用素子を設け、該遅延用素子により
    データを保持してクリティカルパスを解消するようにす
    るとともに、各ステージを個別に制御して次ラインの処
    理を実行するようにしたことを特徴とする請求項1、請
    求項2、請求項3、請求項4、請求項5、請求項6、請
    求項7、請求項8、請求項9、請求項10、請求項1
    1、請求項12、請求項13、請求項14、請求項1
    5、請求項16又は請求項17の何れかに記載のデータ
    圧縮伸張装置。
  20. 【請求項20】 前記データ変換演算手段による各ステ
    ージの個別の制御は、クリティカルパスの部分に設けた
    遅延用素子により処理ステージにおいてデータ変換演算
    実行後のデータを保持しておくことにより、後段のステ
    ージの処理の終了を待たずに前段のステージで次ライン
    のデータの取り込みを開始して次ラインの処理を実行す
    るようにしたことを特徴とする請求項19に記載のデー
    タ圧縮伸張装置。
  21. 【請求項21】 前記データ変換演算手段の複数のステ
    ージは、ステージI〜ステージIIIの3ステージからな
    り少なくともステージIIの部分に遅延用素子を設け、該
    遅延用素子によりデータを保持してクリティカルパスを
    解消するようにしたことを特徴とする請求項18、請求
    項19又は請求項20の何れかに記載のデータ圧縮伸張
    装置。
  22. 【請求項22】 前記データ変換演算手段の複数のステ
    ージは、データバスの切換えを行なうバス切換手段を介
    して接続され、該バス切換手段によりデータバスを切換
    えて各ステージの接続状態を切換え、圧縮及び伸張のデ
    ータ変換演算を実行するようにしたことを特徴とする請
    求項18、請求項19、請求項20又は請求項21の何
    れかに記載のデータ圧縮伸張装置。
  23. 【請求項23】 前記データ変換演算手段のクリティカ
    ルパスは、前記バス切換手段を介して接続された各ステ
    ージ間をデータが所定のクロック数で授受される状態で
    あることを特徴とする請求項1、請求項2、請求項3、
    請求項4、請求項5、請求項6、請求項7、請求項8、
    請求項9、請求項18、請求項19、請求項20又は請
    求項21の何れかに記載のデータ圧縮伸張装置。
  24. 【請求項24】 前記データ変換演算手段は、データに
    対してシリアル演算により直交変換を実行する直交変換
    手段であることを特徴とする請求項1、請求項2、請求
    項3、請求項4、請求項5、請求項6、請求項7、請求
    項8、請求項9、請求項10、請求項11、請求項1
    2、請求項13、請求項14、請求項15、請求項1
    6、請求項17、請求項18、請求項19、請求項2
    0、請求項21又は請求項22の何れかに記載のデータ
    圧縮伸張装置。
  25. 【請求項25】 前記データ変換演算手段は、データに
    対してシリアル演算により離散コサイン変換(DCT)
    を実行する離散コサイン変換手段であることを特徴とす
    る請求項1、請求項2、請求項3、請求項4、請求項
    5、請求項6、請求項7、請求項8、請求項9、請求項
    10、請求項11、請求項12、請求項13、請求項1
    4、請求項15、請求項16、請求項17、請求項1
    8、請求項19、請求項20、請求項21又は請求項2
    2の何れかに記載のデータ圧縮伸張装置。
  26. 【請求項26】 前記データ変換演算手段は、入力され
    たデータを所定のクロックに応答して順次移動させるシ
    リアル演算器を含んで構成されることを特徴とする請求
    項1、請求項2、請求項3、請求項4、請求項5、請求
    項6、請求項7、請求項8、請求項9、請求項10、請
    求項11、請求項12、請求項13、請求項14、請求
    項15、請求項16、請求項17、請求項18、請求項
    19、請求項20、請求項21又は請求項22の何れか
    に記載のデータ圧縮伸張装置。
  27. 【請求項27】 前記データ変換演算手段の加減算器が
    有する遅延用素子は、クロックタイミング合わせのため
    のフリップフロップであることを特徴とする請求項1、
    請求項2、請求項3、請求項4、請求項5、請求項6、
    請求項7、請求項8、請求項9、請求項14、請求項1
    5、請求項18、請求項19、請求項20又は請求項2
    1の何れかに記載のデータ圧縮伸張装置。
  28. 【請求項28】 前記データ変換演算手段は、データ変
    換演算式の係数の値を2のべきで表現したシリアル回路
    により構成し、該シリアル回路によるシリアル演算によ
    りデータ変換演算を実行するようにしたことを特徴とす
    る請求項1、請求項2、請求項3、請求項4、請求項
    5、請求項6、請求項7、請求項8、請求項9、請求項
    10、請求項13、請求項14、請求項15、請求項1
    6、請求項17、請求項18、請求項19、請求項20
    又は請求項21の何れかに記載のデータ圧縮伸張装置。
  29. 【請求項29】 前記データ変換演算手段は、データ変
    換演算式の係数の値を2のべきで表現するとともに、該
    係数の値を2のべきで表現するとき所定以上ビット数が
    大きくなる部分について該係数を整数の比に置き換えた
    シリアル回路により構成し、該シリアル回路によるシリ
    アル演算によりデータ変換演算を実行するようにしたこ
    とを特徴とする請求項1、請求項2、請求項3、請求項
    4、請求項5、請求項6、請求項7、請求項8、請求項
    11、請求項12、請求項13、請求項14、請求項1
    5、請求項16、請求項17、請求項18、請求項1
    9、請求項20又は請求項21の何れかに記載のデータ
    圧縮伸張装置。
  30. 【請求項30】 前記データ変換演算手段で用いられる
    データ変換演算式は、該データ変換演算式の係数を、前
    記量子化手段の量子化演算に用いる量子化係数に含ませ
    るように作成したことを特徴とする請求項7、請求項
    8、請求項9、請求項10、請求項11又は請求項12
    の何れかに記載のデータ圧縮伸張装置。
  31. 【請求項31】 前記量子化手段によるゲインの調整
    は、前記データ変換演算手段の係数を整数の比に変える
    ことにより生じたゲイン変化分を吸収させるように構成
    された量子化テーブルにより行なわれることを特徴とす
    る請求項3、請求項6、請求項8又は請求項9の何れか
    に記載のデータ圧縮伸張装置。
  32. 【請求項32】 前記データ変換演算手段の係数の整数
    の比への置き換えは、該係数を整数値に置き換えること
    により行なうようにしたことを特徴とする請求項3、請
    求項6、請求項8、請求項9、請求項29又は請求項3
    1の何れかに記載のデータ圧縮伸張装置。
JP4360895A 1992-12-30 1992-12-30 データ圧縮伸張装置 Pending JPH06205392A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP4360895A JPH06205392A (ja) 1992-12-30 1992-12-30 データ圧縮伸張装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4360895A JPH06205392A (ja) 1992-12-30 1992-12-30 データ圧縮伸張装置

Publications (1)

Publication Number Publication Date
JPH06205392A true JPH06205392A (ja) 1994-07-22

Family

ID=18471366

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4360895A Pending JPH06205392A (ja) 1992-12-30 1992-12-30 データ圧縮伸張装置

Country Status (1)

Country Link
JP (1) JPH06205392A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4806464B2 (ja) * 2007-03-29 2011-11-02 富士通株式会社 画像圧縮装置、画像圧縮方法、画像復元装置、及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4806464B2 (ja) * 2007-03-29 2011-11-02 富士通株式会社 画像圧縮装置、画像圧縮方法、画像復元装置、及びプログラム
US8467619B2 (en) 2007-03-29 2013-06-18 Fujitsu Limited Image compressing apparatus, image compressing method, image decompressing apparatus, and storage medium

Similar Documents

Publication Publication Date Title
JP4824703B2 (ja) 2次元フィルタ演算装置及び方法
US7236997B2 (en) Filter processing apparatus and method
WO2005122590A1 (ja) 画像符号化装置および画像復号化装置、ならびにそれらで用いられる集積回路
JP4113098B2 (ja) ラスタスキャン順序の画像データとブロックスキャン順序の画像データとの間の変換のための画像処理装置及び方法
JP2007096431A (ja) 任意の変換比率を有するデジタル・ビデオ・フォーマット下方変換装置及び方法
JPH06205392A (ja) データ圧縮伸張装置
JPH06205391A (ja) データ圧縮伸張装置
JP3099564B2 (ja) データ圧縮伸張装置
JP3626686B2 (ja) フィルタ演算装置
US9286654B2 (en) Image scaling processor and image scaling processing method
JP2002008025A (ja) 画素演算装置
JPH07177515A (ja) データ圧縮伸張装置、画像機器、電子カメラ及びテレビ電話装置
JP3034293B2 (ja) 可変長符号の固定長変換回路
JP4170173B2 (ja) ブロックマッチング演算装置
JP2001086366A (ja) デジタルフィルタ及びその処理方法
JPH06204887A (ja) データ圧縮伸張装置
JP2001298349A (ja) オーバーサンプリングディジタルフィルタ回路
JP3681940B2 (ja) 画像縮小装置
JPH06204885A (ja) データ圧縮伸張装置
JP3719677B2 (ja) レート変換装置、及びレート変換方法
JP2003258646A (ja) 5×3ウェーブレット変換装置
KR20060077196A (ko) 필터 모듈
JP4838030B2 (ja) 信号処理回路
KR970003806B1 (ko) 이산 및 역이산 코사인 변환 장치
JPH032970A (ja) 演算回路

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees