JPH02100577A - ディスクリートコサイン変換装置 - Google Patents
ディスクリートコサイン変換装置Info
- Publication number
- JPH02100577A JPH02100577A JP63251978A JP25197888A JPH02100577A JP H02100577 A JPH02100577 A JP H02100577A JP 63251978 A JP63251978 A JP 63251978A JP 25197888 A JP25197888 A JP 25197888A JP H02100577 A JPH02100577 A JP H02100577A
- Authority
- JP
- Japan
- Prior art keywords
- data
- image data
- discrete cosine
- coefficient
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009466 transformation Effects 0.000 claims description 10
- 238000013500 data storage Methods 0.000 claims description 7
- 238000006243 chemical reaction Methods 0.000 claims 2
- 239000011159 matrix material Substances 0.000 abstract description 15
- 238000004364 calculation method Methods 0.000 description 16
- 238000010586 diagram Methods 0.000 description 9
- 238000003384 imaging method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Storing Facsimile Image Data (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
技術分野
本発明はディスクリートコサイン変換装置に関し、特に
、ディジタル画像データを分割した各ブロックの画像デ
ータについて2次元ディスクリートコサイン変換を行う
ディスクリートコサイン変換装置に関する。
、ディジタル画像データを分割した各ブロックの画像デ
ータについて2次元ディスクリートコサイン変換を行う
ディスクリートコサイン変換装置に関する。
1且共遺
ディジタル画像データをメモリに記憶する場合には、デ
ータ酸を減らしてメモリの容量を少なくするため、各種
の符号化が行われている。
ータ酸を減らしてメモリの容量を少なくするため、各種
の符号化が行われている。
このような符号化として、例えば2次元ディスクリート
コサイン変換は次のように符号化を行う。1つの画面を
構成する画像データを所定の大きさのブロックに分割し
、ブロックを構成する各画素のデータにより構成される
データの配列を行列Pとする。この行列Pに対して、変
換行列CおよびCの転置行列CTを用いて演算を行う。
コサイン変換は次のように符号化を行う。1つの画面を
構成する画像データを所定の大きさのブロックに分割し
、ブロックを構成する各画素のデータにより構成される
データの配列を行列Pとする。この行列Pに対して、変
換行列CおよびCの転置行列CTを用いて演算を行う。
演算後の2次元ディスクリートコサイン変換係e!!F
は F=Cφ P ・ CT で与えられる。
は F=Cφ P ・ CT で与えられる。
このようにブロック化された画像データに対して2次元
ディスクリートコサイン変換を行う場合には、1つの画
面を、構成する画素データを所定の数、例えば8x8で
構成されるブロックに分割し、分割された各ブロックご
とに画素データを読み出して、上記の2次元ディスクリ
ートコサイン変換を行う必要がある。したがって、1画
面の画像データを記憶するメモリから画像データを読み
出す場合に、それぞれのブロック内の画素データを読み
出さなければならないため、読み出しにおいてアドレス
の制御に複雑な処理を要する欠点があった。
ディスクリートコサイン変換を行う場合には、1つの画
面を、構成する画素データを所定の数、例えば8x8で
構成されるブロックに分割し、分割された各ブロックご
とに画素データを読み出して、上記の2次元ディスクリ
ートコサイン変換を行う必要がある。したがって、1画
面の画像データを記憶するメモリから画像データを読み
出す場合に、それぞれのブロック内の画素データを読み
出さなければならないため、読み出しにおいてアドレス
の制御に複雑な処理を要する欠点があった。
このように、分割された各ブロックごとに画素データを
読み出して、2次元ディスクリートコサイン変換を行う
ものとして例えば特開昭81−135283号に開示さ
れた装置があるが、この装置においては各データの演算
のために、ブロック行列を構成するデータの行または列
の数nに比例した時間を要し、演算が高速化されていな
いという問題があった。
読み出して、2次元ディスクリートコサイン変換を行う
ものとして例えば特開昭81−135283号に開示さ
れた装置があるが、この装置においては各データの演算
のために、ブロック行列を構成するデータの行または列
の数nに比例した時間を要し、演算が高速化されていな
いという問題があった。
[1的
未発明はこのような従来技術の問題点を解消し1画像デ
ータの読み出しに複雑なアドレス制御を要せず、2次元
ディスクリートコサイン変換を高速で行うことのできる
ディスクリートコサイン変換装置を提供することを目的
とする。
ータの読み出しに複雑なアドレス制御を要せず、2次元
ディスクリートコサイン変換を高速で行うことのできる
ディスクリートコサイン変換装置を提供することを目的
とする。
発明の開示
本発明によれば、1つの画面を表すディジタル画像デー
タを複数のブロックに分割して各ブロックの画像データ
について2次元ディスクリートコサイン変換を行うディ
スクリートコサイン変換装置は、1つの画面を表すディ
ジタル画像データを蓄積し、画面の水平および垂直方向
に読み出し可能な画像データ記憶手段と、記憶手段から
読み出された画像データをすくなくともブロックの1方
向分蓄積可能な画像データ保持手段と、画像データ保持
手段から並列に読み出されたプロ・ンクの1方向分の画
像データを対称位置のデータごとに加算および減算のい
ずれかを行う加算減算選択手段と、ブロックの画像デー
タについて、2次元ディスクリートコサイン変換を行う
ために用いられる係数を格納する係数記憶手段と、加算
gn選択手段から出力された加算および減算のいずれか
を行われたデータと、係数記憶手段から読み出された係
数との乗算を行う乗算手段と、乗算手段により乗算を行
われたデータを加算する加算手段とを有し、係数記憶手
段から読み出される係数は、ブロックの1方向分の画像
データについて、画像データの数の2分の1の種類であ
り、係数の読み出しごとに加算減算選択手段による選択
を切り換えるものである。
タを複数のブロックに分割して各ブロックの画像データ
について2次元ディスクリートコサイン変換を行うディ
スクリートコサイン変換装置は、1つの画面を表すディ
ジタル画像データを蓄積し、画面の水平および垂直方向
に読み出し可能な画像データ記憶手段と、記憶手段から
読み出された画像データをすくなくともブロックの1方
向分蓄積可能な画像データ保持手段と、画像データ保持
手段から並列に読み出されたプロ・ンクの1方向分の画
像データを対称位置のデータごとに加算および減算のい
ずれかを行う加算減算選択手段と、ブロックの画像デー
タについて、2次元ディスクリートコサイン変換を行う
ために用いられる係数を格納する係数記憶手段と、加算
gn選択手段から出力された加算および減算のいずれか
を行われたデータと、係数記憶手段から読み出された係
数との乗算を行う乗算手段と、乗算手段により乗算を行
われたデータを加算する加算手段とを有し、係数記憶手
段から読み出される係数は、ブロックの1方向分の画像
データについて、画像データの数の2分の1の種類であ
り、係数の読み出しごとに加算減算選択手段による選択
を切り換えるものである。
実施例の説明
次に添付図面を参照して本発明によるディスクリートコ
サイン変換装置の実施例を詳細に説明する。
サイン変換装置の実施例を詳細に説明する。
第1図には本発明によるディスクリートコサイン変換装
置の一実施例が示されている。
置の一実施例が示されている。
本装置はl@面分の画像データを蓄積するメモリ12を
有する。メモリ12には撮像装置または外部記憶装置等
の信号源から入力端子10を通して、第2図に示すよう
な1画面を構成する画像データが入力され、記憶される
。メモリ12は、アドレス制御部14から入力される水
平、垂直読み出し切り換え信号により、記憶されている
1画面分の各画素データを、第3B図に示すように縦方
向に読み出すか、または第4B図に示すように横方向に
読み出す、第3B図に示す読み出しの場合には、第2A
図および第2B図に矢印Aで示すように、1列目の画素
データがX 00. x 10、x20、・・−x V
−10と、画面の上から下まで読み出された後、2列目
の画素データがxQl、 xll、x21、・−x’J
−11と読み出され、同様にしてすべての画素データが
読み出される。第4B図に示す横方向の読み出しの場合
には、i2A図および第2B図に矢印Bで示すように、
1行目の画素データがxoo、x 01. x 02
、・・・xOH−1と、画面の左から右に読み出された
後、2行目の画素データがxlo、xll、x12、・
・・xlH−1と読み出され、同様にしてすべての画素
データが読み出される。
有する。メモリ12には撮像装置または外部記憶装置等
の信号源から入力端子10を通して、第2図に示すよう
な1画面を構成する画像データが入力され、記憶される
。メモリ12は、アドレス制御部14から入力される水
平、垂直読み出し切り換え信号により、記憶されている
1画面分の各画素データを、第3B図に示すように縦方
向に読み出すか、または第4B図に示すように横方向に
読み出す、第3B図に示す読み出しの場合には、第2A
図および第2B図に矢印Aで示すように、1列目の画素
データがX 00. x 10、x20、・・−x V
−10と、画面の上から下まで読み出された後、2列目
の画素データがxQl、 xll、x21、・−x’J
−11と読み出され、同様にしてすべての画素データが
読み出される。第4B図に示す横方向の読み出しの場合
には、i2A図および第2B図に矢印Bで示すように、
1行目の画素データがxoo、x 01. x 02
、・・・xOH−1と、画面の左から右に読み出された
後、2行目の画素データがxlo、xll、x12、・
・・xlH−1と読み出され、同様にしてすべての画素
データが読み出される。
メモリ12から読み出された画素データは、縦列(直列
)に接続された8個のラッチ21.22、・・・28に
、ラッチ28側から順次入力され、保持される。
)に接続された8個のラッチ21.22、・・・28に
、ラッチ28側から順次入力され、保持される。
本実施例では画像データを第3A図に示すような8x8
の画素からなるブロックに分割して2次元ディスクリー
トコサイン変換を行うため、8個のラッチ21.22、
・・・28を設けているが、分割するブロックの大きさ
に応じて異なる数のラッチを設けるようにすればよい。
の画素からなるブロックに分割して2次元ディスクリー
トコサイン変換を行うため、8個のラッチ21.22、
・・・28を設けているが、分割するブロックの大きさ
に応じて異なる数のラッチを設けるようにすればよい。
ラッチ21.22、・・・28は、クロック発生回路1
6から送られるクロック信号によってデータの保持およ
び読み出し動作を行う。例えば第2B図に示すように、
1列目の画素データがxoo、xlO1x20゜・・・
xV−10の順で読み出された場合には、最初のクロッ
ク信号によって画素データx00がラッチ28に入力さ
れ、保持される0次のクロック信号によって、画素デー
タxloがラッチ2Bに入力されるとともに、ラッチ2
8から画素データがラッチ28に隣接するラッチに送ら
れる。同様にして8個のクロックによって、8個の画素
データx00、xlo、x20、・・・x70がラッチ
21.22・・・28に、それぞれ保持される。
6から送られるクロック信号によってデータの保持およ
び読み出し動作を行う。例えば第2B図に示すように、
1列目の画素データがxoo、xlO1x20゜・・・
xV−10の順で読み出された場合には、最初のクロッ
ク信号によって画素データx00がラッチ28に入力さ
れ、保持される0次のクロック信号によって、画素デー
タxloがラッチ2Bに入力されるとともに、ラッチ2
8から画素データがラッチ28に隣接するラッチに送ら
れる。同様にして8個のクロックによって、8個の画素
データx00、xlo、x20、・・・x70がラッチ
21.22・・・28に、それぞれ保持される。
ラッチ21.22、・・・28の各出力は、ラッチ30
の入力に接続されている。ラッチ30には分周器18か
らクロック信号が入力される。分周器18は、クロック
発生回路16から送られるクロック信号を、n倍の周期
に分周する分周器であり、本実施例ではクロック発生回
路16から送られるクロック信号を8倍の周期のクロッ
ク信号に変換してラッチ30へ出力する。
の入力に接続されている。ラッチ30には分周器18か
らクロック信号が入力される。分周器18は、クロック
発生回路16から送られるクロック信号を、n倍の周期
に分周する分周器であり、本実施例ではクロック発生回
路16から送られるクロック信号を8倍の周期のクロッ
ク信号に変換してラッチ30へ出力する。
ラッチ30は、ラッチ21.22、・・・28に入力さ
れるクロック信号の8倍の周期のクロック信号が分周器
18から送られることにより、ラッチ21.22、・・
・28からそれぞれ入力されるデータを保持する。した
がって、クロック発生回路18から送られるクロック信
号が8個分、ラッチ21.22、・・・28に入力され
て、8個の画素データX0O1xlO1x20、・・・
x?0がラッチ21.22・・・28に、それぞれ保持
された後、分周器18からラッチ30に送られる8倍の
周期のクロック信号によって、これらのデータがラッチ
30に入力され、保持される。
れるクロック信号の8倍の周期のクロック信号が分周器
18から送られることにより、ラッチ21.22、・・
・28からそれぞれ入力されるデータを保持する。した
がって、クロック発生回路18から送られるクロック信
号が8個分、ラッチ21.22、・・・28に入力され
て、8個の画素データX0O1xlO1x20、・・・
x?0がラッチ21.22・・・28に、それぞれ保持
された後、分周器18からラッチ30に送られる8倍の
周期のクロック信号によって、これらのデータがラッチ
30に入力され、保持される。
ラッチ30からの8個の画素データの出力は、4個の加
算器71・・・74および4個の減算器81・・・84
の入力にそれぞれ接続されている。ラッチ30の第1の
出力は、データxoOが出力され、加算器71および減
算器81の一方の入力にそれぞれ接続されている。加算
器71および減算器81の他方の入力には、ラッチ30
の第8の出力が接続され、データx?0が入力される。
算器71・・・74および4個の減算器81・・・84
の入力にそれぞれ接続されている。ラッチ30の第1の
出力は、データxoOが出力され、加算器71および減
算器81の一方の入力にそれぞれ接続されている。加算
器71および減算器81の他方の入力には、ラッチ30
の第8の出力が接続され、データx?0が入力される。
ラッチ30の第2の出力は、データxloが出力され、
加算器72および減算器82の一方の入力にそれぞれ接
続されている。加算器72および減算器82の他方の入
力には、ラッチ30の第7の出力が接続され、データx
80が入力される。同様に、加算器73および減算器8
3にはラッチ30の第3の出力および第6の出力が接続
され、加算器74および減算器84にはラッチ30の第
4の出力および第5の出力が接続されている。
加算器72および減算器82の一方の入力にそれぞれ接
続されている。加算器72および減算器82の他方の入
力には、ラッチ30の第7の出力が接続され、データx
80が入力される。同様に、加算器73および減算器8
3にはラッチ30の第3の出力および第6の出力が接続
され、加算器74および減算器84にはラッチ30の第
4の出力および第5の出力が接続されている。
ラッチ30に保持された8個の画素データx00、xl
o、x20、−・x 70は、次の8個の画素データが
ラッチ30に入力されると読み出され、加算器71・・
・74および減算器81・・・84に、それぞれ入力さ
れる。
o、x20、−・x 70は、次の8個の画素データが
ラッチ30に入力されると読み出され、加算器71・・
・74および減算器81・・・84に、それぞれ入力さ
れる。
すなわち同図に示すように、加算器71および減算器8
1にはデータxOOとx70が、加算器72および減算
器82にはデータxlOとx60が、加算器73および
減算器83にはデータx20とx50が、加算器74お
よび減算器84にはデータx30とx40が、それぞれ
入力される。したがって、例えば加算器71においては
、データX00とx70が加算され、減算器81におい
てはデータX00からx?Oが減算される。
1にはデータxOOとx70が、加算器72および減算
器82にはデータxlOとx60が、加算器73および
減算器83にはデータx20とx50が、加算器74お
よび減算器84にはデータx30とx40が、それぞれ
入力される。したがって、例えば加算器71においては
、データX00とx70が加算され、減算器81におい
てはデータX00からx?Oが減算される。
加算器71および減算器81の出力はスイッチ91に接
続され、他の加算器72.73.74および減算器82
.83.84の出力も同様に、スイッチ92.93.9
4に接続されている。スイッチ91・・・94の出力は
乗算器41・・・44に接続されている。スイッチ91
・・・94はスイッチ制御部90からの制御信号によっ
て一斉に制御され、加算器71・・・74の出力または
減算器81・・・84の出力を選択して、乗算器41、
・・・44へそれぞれ出力する。
続され、他の加算器72.73.74および減算器82
.83.84の出力も同様に、スイッチ92.93.9
4に接続されている。スイッチ91・・・94の出力は
乗算器41・・・44に接続されている。スイッチ91
・・・94はスイッチ制御部90からの制御信号によっ
て一斉に制御され、加算器71・・・74の出力または
減算器81・・・84の出力を選択して、乗算器41、
・・・44へそれぞれ出力する。
乗算器41、・・・44の他方の入力には係数発生器5
1、・・・54から送られる係数CkO〜Ck3が入力
される。係数発生器51、・・・54は、ラッチ30か
ら出力されたデータに2次元ディスクリートコサイン変
換を行うだめの係数CkO1・・・Ck3(k=o〜7
)をそれぞれ発生し、乗算器・41、・・・44へ出力
する。なお、係数CkOと第1図のC(′:)とは同一
のものを意味する。
1、・・・54から送られる係数CkO〜Ck3が入力
される。係数発生器51、・・・54は、ラッチ30か
ら出力されたデータに2次元ディスクリートコサイン変
換を行うだめの係数CkO1・・・Ck3(k=o〜7
)をそれぞれ発生し、乗算器・41、・・・44へ出力
する。なお、係数CkOと第1図のC(′:)とは同一
のものを意味する。
本実施例においてはブロックサイズを8x8としており
、後述するように、8列のデータのうち4列のデータは
他の4列のデータと対称の値となることを利用している
ため、係数発生器51.・・・54により発生される係
数は前記のように8x4種類となるが、ブロックサイズ
を一般的にNとした場合には一般に係@ Ci jは Cij= (2/N ) W(i) cos ((2j
+1)iπ/ 2 N )で表される。ここで、 W(i) = 1 /σ (i=0のとき)1
(i≠Oのとき) である。
、後述するように、8列のデータのうち4列のデータは
他の4列のデータと対称の値となることを利用している
ため、係数発生器51.・・・54により発生される係
数は前記のように8x4種類となるが、ブロックサイズ
を一般的にNとした場合には一般に係@ Ci jは Cij= (2/N ) W(i) cos ((2j
+1)iπ/ 2 N )で表される。ここで、 W(i) = 1 /σ (i=0のとき)1
(i≠Oのとき) である。
最初の8個の画素データX0O1xlo、x20、・・
・x?Oがラッチ30に入力されると、前記のように、
データx00とx70は加算器71および減算器81に
、データxloとx60は加算器72および減算器82
に、データx20とx50は加算器73および減算器8
3に、データx30とx40は加算器74および減算器
84にそれぞれ入力され、加算器71・・・74におい
ては加算が、減算器81・・・84においては減算が行
われる。
・x?Oがラッチ30に入力されると、前記のように、
データx00とx70は加算器71および減算器81に
、データxloとx60は加算器72および減算器82
に、データx20とx50は加算器73および減算器8
3に、データx30とx40は加算器74および減算器
84にそれぞれ入力され、加算器71・・・74におい
ては加算が、減算器81・・・84においては減算が行
われる。
最初の8個の画素データX0O1xlo、x20、・・
・x70による加算および減算が行われる時には、スイ
ッチ81・・・94はスイッチ制御部90からの制御信
号によって図示のように接続されている。したがって、
加算器71・・・74からの出力が乗算器41・・・4
4へ出力される。すなわちx COI x 70、x
10+ x Go、x20+ x50.x30+ x4
0が、乗算器41・44へそれぞれ送られる。
・x70による加算および減算が行われる時には、スイ
ッチ81・・・94はスイッチ制御部90からの制御信
号によって図示のように接続されている。したがって、
加算器71・・・74からの出力が乗算器41・・・4
4へ出力される。すなわちx COI x 70、x
10+ x Go、x20+ x50.x30+ x4
0が、乗算器41・44へそれぞれ送られる。
この時、クロック発生回路18からのクロック信号によ
って係数発生器51.・・・54から最初の4個の係数
COO1・・・C03(k= 0)が乗算器41・・・
44に入力され、それぞれ次のような乗算が行われる。
って係数発生器51.・・・54から最初の4個の係数
COO1・・・C03(k= 0)が乗算器41・・・
44に入力され、それぞれ次のような乗算が行われる。
COOx (x00+x70)
COI x (xlo+x80)
CO2x (x20+x50)
CO3x (x30+x40)
乗算器41、・・・44からの出力は、それぞれ多段加
算器60に入力され、多段加算器60において加算され
る。乗算器41、・・・44からの出力が、上記のデー
タである場合には、多段加算器60における加算によっ
て次のデータzoOが求められる。
算器60に入力され、多段加算器60において加算され
る。乗算器41、・・・44からの出力が、上記のデー
タである場合には、多段加算器60における加算によっ
て次のデータzoOが求められる。
z OO= COOx COI COlx lo+ C
02x 20+ C03x 30+ C0Ox?O+
C01xEiO+ C02x50+ C03x40
このZooは、係数をCkOl・・・Ck7とした場合
のz OO= C00x00+ C01x 10+ C
02x20+ C03x30+C04x40+C05x
50+C013x80+CO?x70で表されるものと
同一の値となる。この理由について次に説明する。
02x 20+ C03x 30+ C0Ox?O+
C01xEiO+ C02x50+ C03x40
このZooは、係数をCkOl・・・Ck7とした場合
のz OO= C00x00+ C01x 10+ C
02x20+ C03x30+C04x40+C05x
50+C013x80+CO?x70で表されるものと
同一の値となる。この理由について次に説明する。
前記係数C4jを表す式
%式%)
]
)]
となる。したがって、Ci N−1−’jはC1jと絶
対値が同一であり、iが偶数であるか奇数であるかによ
ってその符号が異なるのみであることがわかる。すなわ
ち、iが偶数の時には Ci N−1−j = Cijであり、iが奇数の時に
はCi N−1j = −Cijである。
対値が同一であり、iが偶数であるか奇数であるかによ
ってその符号が異なるのみであることがわかる。すなわ
ち、iが偶数の時には Ci N−1−j = Cijであり、iが奇数の時に
はCi N−1j = −Cijである。
上記のデータzoOを求める場合においては、データx
OO1xlO1x20、・・・x 70はxijのiを
0としているから、iが偶数である。したがってこの場
合にはCi N−1j = Cijの関係がなり立つか
ら、X00に用いる係数C00と、X70に用いる係数
CO7は等しいため、上記のように係数000、・・・
C03のみを用い、xooとX70、xloとx f3
0. x 20とX50、X30とX40にそれぞれ
同一の係数を用いて乗算を行うことにより、zooを求
めることができる。
OO1xlO1x20、・・・x 70はxijのiを
0としているから、iが偶数である。したがってこの場
合にはCi N−1j = Cijの関係がなり立つか
ら、X00に用いる係数C00と、X70に用いる係数
CO7は等しいため、上記のように係数000、・・・
C03のみを用い、xooとX70、xloとx f3
0. x 20とX50、X30とX40にそれぞれ
同一の係数を用いて乗算を行うことにより、zooを求
めることができる。
次に、クロック発生回路16からのクロック信号に応動
してスイッチ91・・・94が図示と反対の位置に切り
換えられ、減算器81・・・84からの出力x 00−
x 70、x 10− x 80、x、2O−X50
、x 30− x 40がそれぞれ乗算器41.・・・
44に送られる。一方、クロック発生回路16からのク
ロック信号によって係数発生器51、・・・54から次
の4個の係数Cl01・・・C13(k= 1)が乗算
器41、・・・44に入力される。
してスイッチ91・・・94が図示と反対の位置に切り
換えられ、減算器81・・・84からの出力x 00−
x 70、x 10− x 80、x、2O−X50
、x 30− x 40がそれぞれ乗算器41.・・・
44に送られる。一方、クロック発生回路16からのク
ロック信号によって係数発生器51、・・・54から次
の4個の係数Cl01・・・C13(k= 1)が乗算
器41、・・・44に入力される。
乗算器41.・・・44においてそれぞれ乗算が行われ
、乗算されたデータは多段加算器80において加算され
、次のデータzlOが求められる。
、乗算されたデータは多段加算器80において加算され
、次のデータzlOが求められる。
Z lo= C10x oo+ Cllx to+ C
I2x 20+ C13x 30− CIOx 70−
Cllx Go −C12x 50− C13x 4
0このzloは、係数をCkOl・・・Ck?とした場
合のz 10= C10x OO+ Cllx 10+
CI2x 20+ C13x 30+ C14x a
o+ C15x 50+ C18x eo+ CI7x
70で表されるものと同一の値となる。
I2x 20+ C13x 30− CIOx 70−
Cllx Go −C12x 50− C13x 4
0このzloは、係数をCkOl・・・Ck?とした場
合のz 10= C10x OO+ Cllx 10+
CI2x 20+ C13x 30+ C14x a
o+ C15x 50+ C18x eo+ CI7x
70で表されるものと同一の値となる。
同様にして、クロック信号ごとに係数発生器51、・・
・54から4個の係数CkO1・・・CK3が乗算器4
1・・・44に入力され、加算器または減算器から交互
に送られるデータx00、xlO1x20、・・・X7
0と乗算され、多段加算器60において加算され、次の
ようにデータが求められる。
・54から4個の係数CkO1・・・CK3が乗算器4
1・・・44に入力され、加算器または減算器から交互
に送られるデータx00、xlO1x20、・・・X7
0と乗算され、多段加算器60において加算され、次の
ようにデータが求められる。
X20=C20x00+C21xlO+・・・−C20
x70・・・これらのデータはそれぞれ、 X20= C20x00+ C21x 10+ ・
・・+ C2?x?0z70= C70xOO+
C71x IO+・・ + C77x70に相当する。
x70・・・これらのデータはそれぞれ、 X20= C20x00+ C21x 10+ ・
・・+ C2?x?0z70= C70xOO+
C71x IO+・・ + C77x70に相当する。
このようにして求められたデータzoo、zlo、X2
0、・・・X70は、多段加算器60からメモリ12に
送られ、第4A図に示すように第1列目に順次格納され
る。メモリ12は、データzOO1zlo、z20、・
・・X70が入力される時には、元のデータX00、x
lo、X20.・・・X70は読み出されてメモリ12
のこれらのアドレスは空となっているから、入力された
データ200、zlo、X20、−・−z 70は元の
データx 00. x 10、X20、・・・X70が
格納されていたアドレスに格納できる。
0、・・・X70は、多段加算器60からメモリ12に
送られ、第4A図に示すように第1列目に順次格納され
る。メモリ12は、データzOO1zlo、z20、・
・・X70が入力される時には、元のデータX00、x
lo、X20.・・・X70は読み出されてメモリ12
のこれらのアドレスは空となっているから、入力された
データ200、zlo、X20、−・−z 70は元の
データx 00. x 10、X20、・・・X70が
格納されていたアドレスに格納できる。
同様にして、2列目の画未データxol、xll、X2
1.・・・X71がメモリ12から読み出され、同様の
演算を施されてデータzo1. zll、 X21
.−・・X71となって再びメモリ12に格納される。
1.・・・X71がメモリ12から読み出され、同様の
演算を施されてデータzo1. zll、 X21
.−・・X71となって再びメモリ12に格納される。
以上のようなメモリ12からの画面の縦方向への画素デ
ータの読み出しと、これに対する演算によって、第6図
に示すような式 C@X=Z であられされる行列演算が行われ、行列Zが求められる
。
ータの読み出しと、これに対する演算によって、第6図
に示すような式 C@X=Z であられされる行列演算が行われ、行列Zが求められる
。
ここまでの動作を示すタイミングチャートを、第8図に
示す。同図において、矢印りで示されるのは、多段加算
器60の加算による遅延時間である。
示す。同図において、矢印りで示されるのは、多段加算
器60の加算による遅延時間である。
メモリ12からの画面の縦方向への画素データの読み出
しと、これに対する演算が終了し、第4A図に示すよう
なデータがメモリ12に格納されると、次に第2A図お
よび第2B図に矢印Bで示すような画面の横方向への画
素データの読み出しと、これに対するNtnが行われる
。
しと、これに対する演算が終了し、第4A図に示すよう
なデータがメモリ12に格納されると、次に第2A図お
よび第2B図に矢印Bで示すような画面の横方向への画
素データの読み出しと、これに対するNtnが行われる
。
第4B図に示すように、まず画素データzOO1z01
.202、・・・z07が、前記と同様の動作によりメ
モリ12から読み出され、ラッチ21・・・28および
30に保持された後、加算器71・・・74および減算
器81・・・84に送られ、前記と同様に加算および減
算をそれぞれ行われる。111j記と同様にスイッチ9
1・・・94が制御され、加算されたデータまたは減算
されたデータが交互に乗算器41・・・44に送られる
。まず加算されたデータが送られると、係数発生器51
、・・・54からは、前記のZを求める演算の時と同様
に、係数COO1・・・CO3(k= O)が出力され
、乗算器41・・・44に送られる。乗算器41・・・
44において、これらの画素データと係数が乗算され、
多段加算器60で加算され、データyOOが求められる
。yOOは、y OO= COOz OO+ COlz
01+・・・+C00z07で表され、 y00=C00z00+C01zO1+−−・+GO7
z07に相当する。
.202、・・・z07が、前記と同様の動作によりメ
モリ12から読み出され、ラッチ21・・・28および
30に保持された後、加算器71・・・74および減算
器81・・・84に送られ、前記と同様に加算および減
算をそれぞれ行われる。111j記と同様にスイッチ9
1・・・94が制御され、加算されたデータまたは減算
されたデータが交互に乗算器41・・・44に送られる
。まず加算されたデータが送られると、係数発生器51
、・・・54からは、前記のZを求める演算の時と同様
に、係数COO1・・・CO3(k= O)が出力され
、乗算器41・・・44に送られる。乗算器41・・・
44において、これらの画素データと係数が乗算され、
多段加算器60で加算され、データyOOが求められる
。yOOは、y OO= COOz OO+ COlz
01+・・・+C00z07で表され、 y00=C00z00+C01zO1+−−・+GO7
z07に相当する。
このデータyOOは、メモリ12の、前記のデータzO
Oが格納されていたアドレスに格納される。
Oが格納されていたアドレスに格納される。
次に、クロック発生回路16からのクロック信号によっ
て係数発生器51、・・・54から次の4個の係数Cl
01・・・C13(k= 1)が乗算器41、・・・4
4に入力され、多段加算器80からデータyotが出力
される。
て係数発生器51、・・・54から次の4個の係数Cl
01・・・C13(k= 1)が乗算器41、・・・4
4に入力され、多段加算器80からデータyotが出力
される。
yo1= C10z 00+ Cllz 01+・・・
−C10z 07−・・(C10z00+C11z01
+・=+C17z07に相占)同様の演算を繰り返して
、 y02= C20zOO+ C21zO1+・−・−C
20z0?・・−(C20z OO+ C21z 01
+・・・+C27zO?に相当)y07= C70z0
0+ C71z01+−・−−C70z07・−・(C
70z OO+ C71z 01+・・・+C77z0
7に相当)が順次出力され、メモリ12の1行目のアド
レスに記憶される。
−C10z 07−・・(C10z00+C11z01
+・=+C17z07に相占)同様の演算を繰り返して
、 y02= C20zOO+ C21zO1+・−・−C
20z0?・・−(C20z OO+ C21z 01
+・・・+C27zO?に相当)y07= C70z0
0+ C71z01+−・−−C70z07・−・(C
70z OO+ C71z 01+・・・+C77z0
7に相当)が順次出力され、メモリ12の1行目のアド
レスに記憶される。
同様にして、2行目の画素データzlo、zll、z1
2、・・・z17がメモリ12から読み出され、同様の
演算を施されてデータyio、yll、y12、・・・
y17となって再びメモリ12に格納される。
2、・・・z17がメモリ12から読み出され、同様の
演算を施されてデータyio、yll、y12、・・・
y17となって再びメモリ12に格納される。
同様に横方向の画素データの読み出しと演算を繰り返す
ことによって、第7図に示すような式7式% であられされる行列演算が行われ、行列Yが求められる
。
ことによって、第7図に示すような式7式% であられされる行列演算が行われ、行列Yが求められる
。
したがって、以−]−の動作によって、行列演算Y=C
@X−CT が行われたことになる。
@X−CT が行われたことになる。
このように本装置によれば、y=c−x・CTで表され
る2次元ディスクリートコサイン変換を行うことができ
る。
る2次元ディスクリートコサイン変換を行うことができ
る。
従来は、2次元ディスクリートコサイン変換にオイテ、
=記Z=C−XtたはY=Z−CTで表される演算を行
う場合に、1つの画素データに対して8個の係数CkO
,Ckl、・・・Ck7をそれぞれ乗算し、これらを加
算しなければならないため、8つのシステムクロック信
号ごとに1つの演算されたデータを得ることになり、ブ
ロックのサイズに比例した演算時間を必要とした。した
がって、1つのシステムクロックごとにデータを得るこ
とができないため、演算を高速で行うことができない欠
点があった。
=記Z=C−XtたはY=Z−CTで表される演算を行
う場合に、1つの画素データに対して8個の係数CkO
,Ckl、・・・Ck7をそれぞれ乗算し、これらを加
算しなければならないため、8つのシステムクロック信
号ごとに1つの演算されたデータを得ることになり、ブ
ロックのサイズに比例した演算時間を必要とした。した
がって、1つのシステムクロックごとにデータを得るこ
とができないため、演算を高速で行うことができない欠
点があった。
これに対して本装置によれば、順次読み出された8個の
データをラッチし、これらの8個のデータに対して同時
にそれぞれ係数を乗算してこれらを加算するから、1つ
のシステムクロックごとに1つのデータを得ることがで
き、行列演算を高速で行うことができる。
データをラッチし、これらの8個のデータに対して同時
にそれぞれ係数を乗算してこれらを加算するから、1つ
のシステムクロックごとに1つのデータを得ることがで
き、行列演算を高速で行うことができる。
本装置によれば、係数発生器51、・・・54に格納す
る係数C1jは1種類で済み、縦方向に読み出されたデ
ータXljおよび横方向に読み出されたデータZijに
対して同じように対応させて読み出して演算を行うだけ
でよい。データXijおよびデータzijはメモリ12
からの読み出し方向が異なるから、係数発生器51、・
・・54から発生され、データzijに対して乗算され
る係数は、データXijに対して乗算される係数と同一
のものとしても、Cの転置行列CTとして作用するため
、結果的に上記のように2次元ディスクリートコサイン
変換を行うことができる。
る係数C1jは1種類で済み、縦方向に読み出されたデ
ータXljおよび横方向に読み出されたデータZijに
対して同じように対応させて読み出して演算を行うだけ
でよい。データXijおよびデータzijはメモリ12
からの読み出し方向が異なるから、係数発生器51、・
・・54から発生され、データzijに対して乗算され
る係数は、データXijに対して乗算される係数と同一
のものとしても、Cの転置行列CTとして作用するため
、結果的に上記のように2次元ディスクリートコサイン
変換を行うことができる。
しかも、本実施例によれば、係数発生器51・・・54
から発生される係数C1jの種類を、Ci N−1−j
=(−1)’ Cijの関係を用いて少なくし、Nx
N行列の場合に、N/2個としており、これに伴なって
乗算器41・・・44もN/2個としているから、スペ
ースをとる乗算器を少なくすることができ、装置を小型
化できる。
から発生される係数C1jの種類を、Ci N−1−j
=(−1)’ Cijの関係を用いて少なくし、Nx
N行列の場合に、N/2個としており、これに伴なって
乗算器41・・・44もN/2個としているから、スペ
ースをとる乗算器を少なくすることができ、装置を小型
化できる。
さらに、本装置によれば、メモリ12に記憶された1画
面分の画素データをそのまま順次読み出して処理できる
ため、ブロックに分けて読み出す場合のように複雑なア
ドレス制御を必要とせず、メモリ12のアドレス生成が
容易である。したがって、アドレス制御のためのプログ
ラムや複雑なコントローラを必要としない。
面分の画素データをそのまま順次読み出して処理できる
ため、ブロックに分けて読み出す場合のように複雑なア
ドレス制御を必要とせず、メモリ12のアドレス生成が
容易である。したがって、アドレス制御のためのプログ
ラムや複雑なコントローラを必要としない。
仇−」
本発明によれば、1画面分の画素データをブロックに分
けることなく、そのまま順次読み出して行列演算処理を
行うことができるから、画素データの読み出しに複雑な
アドレス制御を要しない。
けることなく、そのまま順次読み出して行列演算処理を
行うことができるから、画素データの読み出しに複雑な
アドレス制御を要しない。
しかも、読み出された画素データをプロ、りのサイズに
応じた数ごとに保持し、これらのデータに対して係数C
1jの対称性を考慮して同面に乗算を行い、その後加算
を行うようにしているから、少ない乗算器で、行列演算
を高速で行うことができる。
応じた数ごとに保持し、これらのデータに対して係数C
1jの対称性を考慮して同面に乗算を行い、その後加算
を行うようにしているから、少ない乗算器で、行列演算
を高速で行うことができる。
第1図は、本発明によるディスクリートコサイン変換装
置の一実施例を示すブロック図、第2A図、第2B図は
、画面のブロック化を示す図、 第3A図は、ブロック化された画素データを示す図、 第3B図は、第3A図の画素データを第1図の装置によ
り最初のステップで読み出す順序を示す図、 第4A図は、第3B図に示す順序で読み出され第1図の
装置により演算処理を行われた画素データを示す図、 第4B図は、第4A図の画素データを第1図の装置によ
り次のステップで読み出す順序を示す図。 第5図は、第4B図に示す順序で読み出され第1図の装
置により演算処理を行われた画素データを示す図、 第6図は、第1図の装置の第1の動作により行われる行
列演算を示す図、 第7図は、第1図の装置の第2の動作により行われる行
列演算を示す図、 第8図は、第1図の装置の第1の動作を示すタイミング
チャートである。 主要部分の符号の説明 、メモリ 、アドレス制御部 クロック発生回路 、分周器 、ラッチ ランチ 乗算器 係数発生器 多段加算器 加算器 g算器 スイッチ !2゜ 14 。 1B。 18 。 2+、22.・・・28゜ 30゜ 41・・・44 。 51・・・54゜ 60゜ 71・・・74゜ 81・・・84゜ 91・・・94゜ そ 3A 第 ′3日 第 4−A 印 第 曙 Oゝ 口 N −m− 慴 × 日
置の一実施例を示すブロック図、第2A図、第2B図は
、画面のブロック化を示す図、 第3A図は、ブロック化された画素データを示す図、 第3B図は、第3A図の画素データを第1図の装置によ
り最初のステップで読み出す順序を示す図、 第4A図は、第3B図に示す順序で読み出され第1図の
装置により演算処理を行われた画素データを示す図、 第4B図は、第4A図の画素データを第1図の装置によ
り次のステップで読み出す順序を示す図。 第5図は、第4B図に示す順序で読み出され第1図の装
置により演算処理を行われた画素データを示す図、 第6図は、第1図の装置の第1の動作により行われる行
列演算を示す図、 第7図は、第1図の装置の第2の動作により行われる行
列演算を示す図、 第8図は、第1図の装置の第1の動作を示すタイミング
チャートである。 主要部分の符号の説明 、メモリ 、アドレス制御部 クロック発生回路 、分周器 、ラッチ ランチ 乗算器 係数発生器 多段加算器 加算器 g算器 スイッチ !2゜ 14 。 1B。 18 。 2+、22.・・・28゜ 30゜ 41・・・44 。 51・・・54゜ 60゜ 71・・・74゜ 81・・・84゜ 91・・・94゜ そ 3A 第 ′3日 第 4−A 印 第 曙 Oゝ 口 N −m− 慴 × 日
Claims (1)
- 【特許請求の範囲】 1、1つの画面を表すディジタル画像データを複数のブ
ロックに分割して各ブロックの画像データについて2次
元ディスクリートコサイン変換を行うディスクリートコ
サイン変換装置において、該装置は、 前記1つの画面を表すディジタル画像データを蓄積し、
画面の水平および垂直方向に読み出し可能な画像データ
記憶手段と、 該記憶手段から読み出された前記画像データをすくなく
とも前記ブロックの1方向分蓄積可能な画像データ保持
手段と、 該画像データ保持手段から並列に読み出された前記ブロ
ックの1方向分の画像データを対称位置のデータごとに
加算および減算のいずれかを行う加算減算選択手段と、 前記ブロックの画像データについて、2次元ディスクリ
ートコサイン変換を行うために用いられる係数を格納す
る係数記憶手段と、 前記加算減算選択手段から出力された前記加算および減
算のいずれかを行われたデータと、前記係数記憶手段か
ら読み出された前記係数との乗算を行う乗算手段と、 該乗算手段により乗算を行われたデータを加算する加算
手段とを有し、 前記係数記憶手段から読み出される前記係数は、前記ブ
ロックの1方向分の画像データについて、該画像データ
の数の2分の1の種類であり、該係数の読み出しごとに
前記加算減算選択手段による選択を切り換えることを特
徴とするディスクリートコサイン変換装置。2、請求項
1に記載の装置において、前記係数記憶手段から読み出
される前記係数は、前記画像データ記憶手段から前記画
像データを水平方向に読み出す場合と垂直方向に読み出
す場合とで同一であることを特徴とするディスクリート
コサイン変換装置。 3、請求項1に記載の装置において、前記加算減算選択
手段は、前記画像データ保持手段から並列に読み出され
た前記ブロックの1方向分の画像データを対称位置のデ
ータごとに加算する対称データ加算手段と、前記ブロッ
クの1方向分の画像データを対称位置のデータごとに減
算する対称データ減算手段と、前記対称データ加算手段
および対称データ減算手段から出力されるデータのいず
れかを選択する選択手段とからなることを特徴とするデ
ィスクリートコサイン変換装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63251978A JPH02100577A (ja) | 1988-10-07 | 1988-10-07 | ディスクリートコサイン変換装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP63251978A JPH02100577A (ja) | 1988-10-07 | 1988-10-07 | ディスクリートコサイン変換装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH02100577A true JPH02100577A (ja) | 1990-04-12 |
Family
ID=17230832
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP63251978A Pending JPH02100577A (ja) | 1988-10-07 | 1988-10-07 | ディスクリートコサイン変換装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH02100577A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03211604A (ja) * | 1990-01-17 | 1991-09-17 | Nec Corp | ディジタル信号処理装置 |
| JPH04182776A (ja) * | 1990-11-16 | 1992-06-30 | Nec Corp | 離散コサイン変換装置 |
-
1988
- 1988-10-07 JP JP63251978A patent/JPH02100577A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03211604A (ja) * | 1990-01-17 | 1991-09-17 | Nec Corp | ディジタル信号処理装置 |
| JPH04182776A (ja) * | 1990-11-16 | 1992-06-30 | Nec Corp | 離散コサイン変換装置 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4791598A (en) | Two-dimensional discrete cosine transform processor | |
| JP2646778B2 (ja) | ディジタル信号処理装置 | |
| EP0013069B1 (en) | A data processor and method of processing video information | |
| US4635292A (en) | Image processor | |
| US5331585A (en) | Orthogonal transformation processor for compressing information | |
| JPS62269519A (ja) | ディスクリ−トコサイン変換回路 | |
| WO2020160608A1 (en) | Highly parallel convolutional neural network | |
| US5867414A (en) | Compact pipelined matrix multiplier utilizing encoding and shifting circuit configurations | |
| JPH03263276A (ja) | デイジタル信号フイルタ回路 | |
| NL1001663C2 (nl) | Inrichting voor tweedimensionale discrete cosinustransformatie. | |
| JP2725544B2 (ja) | Dct及び逆dct演算装置並びにその演算方法 | |
| US5359549A (en) | Orthogonal transformation processor for compressing information | |
| JPH02100577A (ja) | ディスクリートコサイン変換装置 | |
| US5671169A (en) | Apparatus for two-dimensional inverse discrete cosine transform | |
| JP4156538B2 (ja) | 行列演算装置 | |
| JPH02100576A (ja) | ブロック画像データ演算装置 | |
| JP2822684B2 (ja) | 離散コサイン変換装置および逆離散コサイン変換装置 | |
| KR20000013653A (ko) | 정/역 최적화 정수형 여현변환장치 및 그 방법 | |
| JPH07234863A (ja) | 2次元直交変換装置 | |
| US4987557A (en) | System for calculation of sum of products by repetitive input of data | |
| JPH0298777A (ja) | 並列積和演算回路及びベクトル行列積演算方法 | |
| JPH0540776A (ja) | 二次元dctマトリクス演算回路 | |
| JP3397838B2 (ja) | 画像処理装置及び離散コサイン変換方法 | |
| KR0154919B1 (ko) | 2차원 역이산 코사인 변환 회로 | |
| NL1000763C2 (nl) | Apparaat voor tweedimensionale inverse discrete cosinustransformatie. |