JPH02100576A - ブロック画像データ演算装置 - Google Patents

ブロック画像データ演算装置

Info

Publication number
JPH02100576A
JPH02100576A JP63251977A JP25197788A JPH02100576A JP H02100576 A JPH02100576 A JP H02100576A JP 63251977 A JP63251977 A JP 63251977A JP 25197788 A JP25197788 A JP 25197788A JP H02100576 A JPH02100576 A JP H02100576A
Authority
JP
Japan
Prior art keywords
image data
data
block
storage means
pixel data
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
JP63251977A
Other languages
English (en)
Inventor
Yuji Shigyo
執行 祐司
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.)
Fujifilm Holdings Corp
Original Assignee
Fuji Photo Film 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 Fuji Photo Film Co Ltd filed Critical Fuji Photo Film Co Ltd
Priority to JP63251977A priority Critical patent/JPH02100576A/ja
Publication of JPH02100576A publication Critical patent/JPH02100576A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Storing Facsimile Image Data (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 技術分野 本発明はブロック画像データ演算装置に関し、特に、デ
ィジタル画像データを分割した各ブロックの画像データ
について2次元行列演算を行うブロック画像データ演算
装置に関する。
背景技術 ディジタル画像データをメモリに記憶する場合には、デ
ータ量を減らしてメモリの容量を少なくするため、各種
の符号化が行われている。
このような符号化として、例えば2次元ディスクリート
コサイン変換は次のように符号化を行う、1つの画面を
構成する画像データを所定の大きさのブロックに分割し
、ブロックを構成する各画素のデータにより構成される
データの配列を行列Pとする。この行列Pに対して、変
換行列CおよびCの転置行列CTを用いて演算を行う。
演算後の2次元ディスクリートコサイン変換係数Fは F=Cψ P−CT で与えられる。
このようにブロック化された画像データに対して2次元
行列演算を行う場合には、1つの画面を構成する画素デ
ータを所定の数、例えば8x8で構成されるブロックに
分割し、分割された各ブロックごとに画素データを読み
出して、上記の2次元行列演算を行う必要がある。した
がって、1画面の画像データを記憶するメモリから画像
データを読み出す場合に、それぞれのブロック内の画素
データを読み出さなければならないため、読み出しにお
いてアドレスの制御に複雑な処理を要する欠点があった
このように、分割された各ブロックごとに画素データを
読み出して、2次元行列演算を行うものとして例えば特
開昭131−135283号に開示された装置があるが
、この装置においては各データの演算のために、ブロッ
クを構成するデータの行列の行または列の数nに比例し
た時間を要し、演算が高速化されていないという問題が
あった。
目   的 本発明はこのような従来技術の問題点を解消し、画像デ
ータの読み出しに複雑なアドレス制御を要せず、2次元
行列演算を高速で行うことのできるブロック画像データ
演算装置を提供することを目的とする。
発明の開示 本発明によれば、1つの画面を表すディジタル画像デー
タを複数のブロフクに分割して各ブロックの画像データ
について2次元行列演算を行うブロック画像データ演算
装置は、1つの画面を表すディジタル画像データを蓄積
し、画面の水平および垂直方向に読み出し可能な画像デ
ータ記憶手段と、記憶手段から読み出された画像データ
をすくなくともブロックの1方向分蓄植可能な画像デー
タ保持手段と、ブロックの画像データについて2次元行
列演算を行うために用いられる係数を格納する係数記憶
手段と、画像データ保持手段から読み出された画像デー
タと、係数記憶手段から読み出された係数との乗算を行
う乗算手段と、乗算手段により乗算を行われたデータを
加算する加算手段とを有し、画像データ記憶手段から画
像データを水平方向に読み出して乗算手段により乗算を
行った後、加算手段により加算を行う動作と、画像デー
タ記憶手段から画像データを垂直方向に読み出して乗算
手段により乗算を行った後、加算手段により加算を行う
動作とを行うことにより、2次元行列演算を行うもので
ある。
実施例の説明 次に添付図面を参照して本発明によるブロック画像デー
タ演算装置の実施例を詳細に説明する。
第1図には本発明によるブロック画像データ演算装置の
一実施例が示されている。
木装置は1画面分の画像データを蓄積するメモリ12を
有する。メモリ12には撮像装置または外部記七〇装置
等の信号源から入力端子10を通して、第2図に示すよ
うな1画面を構成する画像データが入力され、記憶され
る。メモリ12は、アドレス制御部14から入力される
水平、垂直読み出し切り換え信号により、記憶されてい
る1画面分の各画素データを、第3B図に示すように縦
方向に読み出すか、または第4B図に示すように横方向
に読み出す、第3B図に示す読み出しの場合には、第2
A図および第2B図に矢印Aで示すように、1列目の画
素チータカx00. xl(6、X20、−・x V−
10、!:、画面の上から下まで読み出された後、2列
目の画素データカX01、xll、X21、−・xV−
11ト読み出され、同様にしてすべての画素データが読
み出される。第4B図に示す横方向の読み出しの場合に
は、第2A図および第2B図に矢印Bで示すように、1
行目の画素データがxoO1x0+、X02、・・・X
0H−1と、画面の左から右に読み出された後、2行目
の画素データがxlo、xll、xi2、・・・xi)
l−1と読み出され、同様にしてすべての画素データが
読み出される。
メモリ12から読み出された画素データは、縦列(直列
)に接続された8個のラッチ21.22、・・・28に
、ラッチ28側から順次入力され、保持される。
本実施例では画像データを第3A図に示すような8x8
の画素からなるブロックに分割して2次元行列演算を行
うため、8個のラッチ21.22.・・・28を設けて
いるが、分割するブロックの大きさに応じて異なる数の
ラッチを設けるようにすればよい。
ラッチ21.22、・・・28は、クロック発生回路1
6がら送られるクロック信号によってデータの保持およ
び読み出し動作を行う。例えば第2B図に示すように、
1列目の画素データがxoo、xlo、X20、・・・
xV−10の順で読み出された場合には、最初のクロッ
ク信号によって画素データx00がラッチ28に入力さ
れ、保持される。次のクロック信号によって、画素デー
タxlOがラッチ28に入力されるとともに、ラッチ2
8から画素データがラッチ28に隣接するラッチに送ら
れる。同様にして8個のクロックによって、8個の画素
データX00、xlo、X20.・・・X70がラッチ
21.22・・・28に、それぞれ保持される。
ラッチ21.22、・・・28の各出力は、ランチ30
の入力に接続されている。ラッチ30には分周器18か
らクロック信号が入力される。分周器18は、クロック
発生回路18から送られるクロック信号を、n倍の周期
に分周する分周器であり、本実施例ではクロック発生回
路16から送られるクロック信号を8倍の周期のクロッ
ク信号に変換してチー2千30へ出力する。
ラッチ30は、ラッチ21.22、・・・28に入力さ
れるクロー7り信号の8倍の周期のクロック信号が分周
器18かも送られることにより、ラッチ21.22、・
・・28からそれぞれ入力されるデータを保持する。し
たがって、クロック発生回路16から送られるクロック
信号が8個分、ラー、チ21.22、・・・28に入力
されて、8個の画素データx00、xlo、X20、・
・・X70がラッチ21.22・・・28に、それぞれ
保持された後、分周器18からラッチ30に送られるク
ロック信号によって、これらのデータがラッチ30に入
力され、保持される。
ラッチ30からの8個の画素データの出力は、8個の乗
算器41.42.43、・・・48の一方の入力にそれ
ぞれ接続されている。ラッチ30に保持された8個の画
素データxOO4xlO1x20、−・−x 80は、
次の8個の画素データがラッチ30に入力されると読み
出され1乗算器41.42.43、・・・48に入力さ
れる。
乗算器41.42.43、・・・48の他方の入力には
係数発生器51.52、・・・58から送られる係数C
kO−Ck?が入力される。係数発生1451.52、
・・・58は、ブロックに分割された画素データに2次
元行列演算を行うための係J?iCkOlCkl、・・
・Ck7(k=o〜7)をそれぞれ発生し11乗算器4
1.42.43、・・・48へ出力する。なお、係数C
kOと第1図の♂ゝとは同一のちのを意味する。
本実施例においてはブロックのサイズを8x8としてい
るため、係数発生器51.52、・・・58により発生
される係数は前記のように8x8種類となるがごブロッ
クを異なるサイズとした場合には一般に係数C1jは Cij= (2/N) W(i) cos ((2j+
I)iπ/ 2 N)で表される。ここで、 W(i) = l /(”’E   (i = Oのと
き)1     (+≠0のとき) である。
最初の8個の画素データx00、x 10.  x 2
0、・・・x70が乗算器4す、42.43、・・・4
8に入力されると、クロック発生回路16からの最初の
クロック信号によって係数発生器51.52、・・・5
8から最初の8個の係数COO1COI、・C07(k
= 0) カ乗算器41゜42.43、・・・48に入
力され、それぞれ乗算が行われる。
乗算器41.42.43、・・・48からの出力は、そ
れぞれ多段加算器60に入力され、多段加算器60にお
いて加算される。乗算器41.42.43、・・・48
からの出力が、最初の8個の画素データx00、xlo
、x20、・・・x70と最初の8個の係数COO1C
OI、・・・C07(k= 0)とのそれぞれの積であ
る場合には、多段加算器60における加算によって次の
データz00が求められる。
z 00= C00x00+C0Ix 10+−・・+
 C77x70次に、クロック発生回路16からのクロ
ック信号によって係数発生器51.52、・・・58か
ら次の8個の係数C10,C11,・・・CI? (k
−1)が乗算器4142.43、・・・48に入力され
る。ラッチ30からの乗算器41.42.43、・・・
48への入力は、この時にも最初の8個の画素データx
00、xlO1x20、−・−x70であるから、これ
らの間でそれぞれ乗算が行われる。乗算されたデータは
多段加算器60において加算され、次のデータzlOが
求められる。
z lO= C10xOO+ Cllx 10+・・+
 Cl7x70同様にして、クロック信号ごとに係数発
生器51、52、・・・58から8個の係数CkO1C
kl、・・・Ck7が乗算器41.42.43、・・・
48に入力され、画素データx00、xlO1x20、
−・−x 70と乗算され、多段加算器60において加
算され、次のようにデータが求められる。
z20= C20x00+C21x10+−−−+C2
7x70z  70=  C70x00+  C?1x
  10+ ・−・+  C77x70このようにして
求められたデータzoO1zlo、z20、・・・z7
0は、多段加算器60からメモリ12に送られ、第4A
図に示すように第1列11に順次格納される。メモリ1
2は、データzoO1zlo、z20、・・・z70が
入力される時には、元のデータx00、xlo、x20
、・・・x70は読み出されてメモリ12のこれらのア
ドレスは空となっているから、入力されたデータz00
、zlO1220、−・−z 70は元のデータx00
、x 10.  x 20、−x70が格納されていた
アドレスに格納できる。
同様にして、2列目の画素データx01. xll、x
21、・・・x71がメモリ12から読み出され、同様
の演算を施されてデータz01.  Zll、  22
1、・・・zllとなって再びメモリ】2に格納される
以上のようなメモリ12からの画面の縦方向への画素デ
ータの読み出しと、これに対する演算によって、第6図
に示すような式 %式%: であられされる行列演算が行われ、行列Zが求められる
ここまでの動作を示すフローチャートを、第8図に示す
。同図において、矢印りで示されるのは、多段加算器6
0の加算による遅延時間である。
メモリ12からの画面の縦方向への画素データの読み出
しと、これに対する演算が終了し、第4A図に示すよう
なデータがメモリ12に格納されると次に第2A図およ
び第2B図に矢印Bで示すような画面の横方向への画素
データの読み出しと、これに対する演算か行われる。
第4B図に示すように、まず画素データz00.20】
、z02、・・・z07が、前記と同様の動作によりメ
モリ12から読み出され、ランチ21・・・28および
30に保持され後、乗算器41・・・48に送られる。
この11!j、係数発生器51.52、・・・58から
は、前記の2を求めるxr+算の時と同様に、係数00
0、COI、・・・C07(k=o)が出力され、乗算
器41・・・48に送られる。乗算器41・・・48に
おいて、これらの画素データと係数か乗算され、多段加
算器60で加算されデータyooか求められる。yoo
は y 00= C00z OO+COlz 01+・・・
+C07z07で表される。このデータy00は、メモ
リ12の、前記のデータz00が格納されていたアドレ
スに格納される。
次に、画素データz10、zll、z12、−z17が
メモリ12から読み出され、う、チ21・・・28およ
び3゜に保持され後1乗算器41・・・48に送られる
。クロンク発生回路16からのクロック信号によって係
数発生器51.52、・・・58から次の8個の係数C
l01CI+、・・・C17(k= 1)か乗算器41
.42、・・・48に入力され、多段加算器60からデ
ータyotが出力される。
y01= Cl0zOO+ C11z01+−・・+C
17z07同様の演算を繰り返して y 02= C20z OO+ C21z 01+・・
・十〇27z07y O?= C70z 00+ C7
1z OI+ ・−+ C77z 07が順次出力され
、メモリ12の1行目のアドレスに記憶される。
同様にして、2行目の画素データzlO5zll、Z1
2.・・・z17がメモリ12から読み出され、同様の
演算を施されてデータy 10.  y 11.  V
 12、・・・y17となって再びメモリ12に格納さ
れる。
同様に横方向の画素データの読み出しと演算を縁り返す
ことによって、第7図に示すような式2式% であられされる行列演算が行われ、行列Yが求められる
したがって1以上の動作によって、行列演算Y=C−X
・CT が行われたことになる。
以上の第2のステップの動作を示すフローチャートを、
第9図に示す。
このように本装置によれば、Y=C・XφCTで表され
る2次元ディスクリートコサイン変換を行うことができ
る。
従来は、2次元ディスクリートコサイン変換において、
前記Z=CΦXまたはY=Z−CTで表される演算を行
う場合に、1つの画素デ・−夕に対して8個の係数Ck
O1Ckl、・・・Ck7をそれぞれ乗算し、これらを
加算しなければならないため、8つのシステムクロック
信号ごとに1つの演算されたデータを得ることになり、
ブロックのサイズに比例した演算時間を必要とした。し
たがって、1つのシステムクロックごとにデータを得る
ことができないため、演算を高速で行うことができない
欠点があった。
これに対して本装置によれば、順次読み出された8個の
データをランチし、これらの8個のデータに対して同時
にそれぞれ係数を乗算してこれらを加算するから、1つ
のシステムクロックごとに1つのデータを得ることがで
き、行列演算を高速で行うことができる。
本装置によれば、係数発生器51.52、・・・58に
格納する係数C1Jは1種類で済み、縦方向に読み出さ
れたデータXIjおよび横方向に読み出されたデータZ
ijに対して同じように対応させて読み出して演算を行
うだけでよい、データXijおよびデータzijはメモ
リ12からの読み出し方向が異なるから、係数発生F 
51.52、・・・58から発生されデータzIjに対
して乗算される係数は、データXijに対して乗算され
る係数と同一のものとしても、Cの転訝行列CTとして
作用するため、結果的に上記のように2次元ディスクリ
ートコサイン変換を行うことができる。
本装置によれば、メモリ12に記憶された1画面分の画
素データをそのまま順次読み出して処理できるため、ブ
ロフクに分けて読み出す場合のように複雑なアドレス制
御を必要とせず、メモリ12のアドレス生成が容易であ
る。したがって、アドレス制御のためのプログラムや複
雑なコントローラを必要としない。
本装置によれば、データを8個ごとにラッチして乗算を
行うため、画面を構成する画素データをブロックに分け
ることなく順次読み出すにもかかわらず、乗算器を8偏
設ければよく、画面のサイズ分の乗算器を設ける必要は
ない。
なお、上記の実施例においては、2次元ディスクリート
コサイン変換を行う場合について説明したか、本発明は
これに限られず、係数発生器51.52、・・・58に
格納される係数CIjを変化させることによって、アダ
マール変換その他、各種の行列演算を行うことができる
効  果 本発明によれば、1画面分の画素データをブロフクに分
けることなく、そのまま順次読み出して行列演算処理を
行うことができるから、画素データの読み出しに複雑な
アドレス制御を要しない。
しかも、読み出された画素データをブロックのサイズに
応じた数ごとに保持し、これらのデータに対して同時に
東算を行い、その後加算を行うようにしているから、行
列演算を高速で行うことができる。
【図面の簡単な説明】
第1図は、本発明によるブロック画像データ演算装置の
一実施例を示すブロック図、 282A図、第2B図は、画面のブロック化を示す図、 第3A図は、ブロック化された画素データを示す図、 第3B図は、第3A図の画素データを第1図の装置によ
り最初のステップで読み出す順序を示す図 mdA図は、第3B図に示す順序で読み出され第1図の
装置により演算処理を行われた画素データを示す図、 第4B図は、第4A図の画素データを第1図の装置によ
り次のステフプで読み出す順序を示す図、第5図は、第
4B図に示す順序で読み出され第1図の装置により演算
処理を行われた画素データを示す図、 第6図は、第1図の装置の第1の動作げより行われる行
列演算を示す図、 第7図は、第1図の装置の第2の動作により行われる行
列演算を示す図、 第8図は、751図の装置の第1の動作を示すフローチ
ャート、 第9図は、第1図の装置の第2の動作を示すフローチャ
ートである。 主要部分の符号の説明 、メモリ 、アドレス制御部 、クロック発生回路 、分周器 、ラッチ 14 。 18゜ 21.22.・・・28゜ 30゜ 41.42.・・・48゜ 5+、52.・・・58゜ 60゜ ラッチ 乗算器 係数発生器 多段加算器

Claims (1)

  1. 【特許請求の範囲】 1、1つの画面を表すディジタル画像データを複数のブ
    ロックに分割して各ブロックの画像データについて2次
    元行列演算を行うブロック画像データ演算装置において
    、該装置は、 前記1つの画面を表すディジタル画像データを蓄積し、
    画面の水平および垂直方向に読み出し可能な画像データ
    記憶手段と、 該記憶手段から読み出された前記画像データをすくなく
    とも前記ブロックの1方向分蓄積可能な画像データ保持
    手段と、 前記ブロックの画像データについて2次元行列演算を行
    うために用いられる係数を格納する係数記憶手段と、 該画像データ保持手段から読み出された前記画像データ
    と、前記係数記憶手段から読み出された前記係数との乗
    算を行う乗算手段と、 該乗算手段により乗算を行われたデータを加算する加算
    手段とを有し、 前記画像データ記憶手段から前記画像データを水平方向
    に読み出して前記乗算手段により乗算を行った後、前記
    加算手段により加算を行う動作と、 前記画像データ記憶手段から前記画像データを垂直方向
    に読み出して前記乗算手段により乗算を行った後、前記
    加算手段により加算を行う動作とを行うことにより、 前記2次元行列演算を行うことを特徴とするブロック画
    像データ演算装置。 2、請求項1に記載の装置において、前記係数記憶手段
    から読み出される前記係数は、前記画像データ記憶手段
    から前記画像データを水平方向に読み出す場合と垂直方
    向に読み出す場合とで同一であることを特徴とするブロ
    ック画像データ演算装置。
JP63251977A 1988-10-07 1988-10-07 ブロック画像データ演算装置 Pending JPH02100576A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63251977A JPH02100576A (ja) 1988-10-07 1988-10-07 ブロック画像データ演算装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63251977A JPH02100576A (ja) 1988-10-07 1988-10-07 ブロック画像データ演算装置

Publications (1)

Publication Number Publication Date
JPH02100576A true JPH02100576A (ja) 1990-04-12

Family

ID=17230817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63251977A Pending JPH02100576A (ja) 1988-10-07 1988-10-07 ブロック画像データ演算装置

Country Status (1)

Country Link
JP (1) JPH02100576A (ja)

Similar Documents

Publication Publication Date Title
EP0353223B1 (en) Two-dimensional discrete cosine transform processor
JP2646778B2 (ja) ディジタル信号処理装置
JP2945487B2 (ja) 行列乗算器
CN108205700B (zh) 神经网络运算装置和方法
JP3697717B2 (ja) 2次元離散コサイン変換装置および2次元逆離散コサイン変換装置
EP0286183A1 (en) Television transmission system using transform coding
KR0130772B1 (ko) 고속디지탈신호처리프로세서
JPS62269519A (ja) ディスクリ−トコサイン変換回路
JPH03263276A (ja) デイジタル信号フイルタ回路
US5291429A (en) Circuit for matrix calculation of discrete cosine transformation
Jang et al. A 0.8/spl mu/100-MHz 2-D DCT core processor
Yang et al. Local tone mapping algorithm and hardware implementation
JP3652018B2 (ja) 行列演算装置
JPH02100577A (ja) ディスクリートコサイン変換装置
US5157517A (en) Parallel interpolator for high speed digital image enlargement
JP4156538B2 (ja) 行列演算装置
JPS60119116A (ja) 2次元積和演算装置
US4987557A (en) System for calculation of sum of products by repetitive input of data
CN111476743A (zh) 一种基于分数阶微分的数字信号滤波与图像处理方法
JP3397838B2 (ja) 画像処理装置及び離散コサイン変換方法
KR0154919B1 (ko) 2차원 역이산 코사인 변환 회로
JPH06230768A (ja) 画像メモリ装置
EP0720103A1 (en) Two-dimensional inverse discrete cosine transform circuit
JPS61265676A (ja) 画像処理装置
US6535646B2 (en) Discrete cosine transform method and apparatus