JPH05300026A - 離散コサイン変換装置及び逆離散コサイン変換装置 - Google Patents

離散コサイン変換装置及び逆離散コサイン変換装置

Info

Publication number
JPH05300026A
JPH05300026A JP19111392A JP19111392A JPH05300026A JP H05300026 A JPH05300026 A JP H05300026A JP 19111392 A JP19111392 A JP 19111392A JP 19111392 A JP19111392 A JP 19111392A JP H05300026 A JPH05300026 A JP H05300026A
Authority
JP
Japan
Prior art keywords
inner product
circuit
matrix
data
product arithmetic
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
JP19111392A
Other languages
English (en)
Inventor
Mitsuharu Oki
光晴 大木
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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to US08/020,313 priority Critical patent/US5410500A/en
Priority to EP93400437A priority patent/EP0557204A3/en
Publication of JPH05300026A publication Critical patent/JPH05300026A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 内積演算回路の規模を小さくし、構成を簡単
にすると共に、演算回数を減少させて高速演算を可能に
する。 【構成】 入力端子INから8行8列のデータが、列順
で入力され、64ワードの第1の並べ替え回路41を介
して、4次の第1の内積演算回路42に供給される。こ
の内積演算回路42の出力は、64ワードの第2の並べ
替え回路43を介して、8次の第2の内積演算回路44
に供給される。内積演算回路44の出力が4次の第3の
内積演算回路45に供給され、内積演算回路45の出力
は64ワードの第3の並べ替え回路46を介して、出力
端子OUTに導出される。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、デジタル画像処理等に
好適な離散コサイン変換装置及び逆離散コサイン変換装
置に関するものである。
【0002】
【従来の技術】従来、デジタル画像処理に適した各種の
離散的直交変換が知られており、そのうち、離散的コサ
イン変換(Discrete Cosine Tram
sform: DCT)は帯域圧縮に適し、処理方式が
比較的簡単である。
【0003】このDCTはN次の場合、第1行のすべて
が1/√2、第2行以下は cos{(2x+1)kπ/2N} (x=0、1・・・N−1;k=1・・・N−1)の要
素からなる行列〔N〕を用いて、変換及び逆変換(ID
CT)が定義され、2次元の場合、次のように表わされ
る。
【0004】
【数1】〔Y〕=〔N〕〔X〕 t〔N〕
【数2】〔X〕= t〔N〕〔Y〕〔N〕
【0005】なお、行列の規模が2N 行2N 列のとき、
数1式には1/2N+1 の係数が掛るが、N+1ビットの
データシフトと等価であるから、この係数の記載は省略
する。
【0006】ところで、数1、数2式のような行列デー
タの乗算には、図24に示すような、内積演算回路と並
べ替え回路とからなる乗算装置が従来用いられていた。
図24において、10、20は内積演算回路であって、
簡単のために、いずれも4行4列の規模の行列に対応す
る4次構成とされ、並べ替え回路30を介して接続され
る。
【0007】即ち、端子INから次の数3式のようなデ
ータ行列〔X〕が入力され、一方の内積演算回路10に
おいて、数4式のような係数行列〔A〕との内積演算が
行なわれる。
【0008】
【数3】
【数4】
【0009】内積演算回路10は、3個の単位遅延器1
1 、112 、113 が逆順に縦続接続されて、その出
力端、両接続中点及び入力端に4個のラッチ121 、1
2、123 及び124 がそれぞれ接続され、各ラッチ
121 〜124 にそれぞれ縦続する乗算器131 〜13
4 に係数ROM141 〜144 がそれぞれ接続され、各
乗算器131 〜134 の出力が加算器15に接続され
て、有限インパルス応答(Finite Impuls
e Response: FIR)型のトランスバーサ
ルフィルタ構成とされる。
【0010】同様に、内積演算回路20もFIR型トラ
ンスバーサルフィルタ構成とされ、対応する各要素の符
号の十の位の数字を「2」に替えて重複説明を省略す
る。ただし、ROM241 〜244 に格納される係数b
ijがROM141 〜144 の係数aijと異なる。
【0011】並べ替え回路30は1対のRAM31及び
32と、入力側及び出力側の切換スイッチ33及び34
とで構成され、両スイッチ33及び34は、1対のRA
M31及び32の一方にデータが書き込まれる期間に、
他方からデータが読み出されるように連動して切り換え
られる。RAM31及び32の容量は、前述のような4
行4列の規模の行列に対応して、それぞれ16ワードと
される。
【0012】次に、図25を参照しながら、図24の従
来例の行列データ乗算について説明する。
【0013】入力端子INから、図25のAに示すよう
な16ワード単位の入力行列〔X〕のデータaが第1列
(x11、x21、x31、x41)〜第4列(x14、x24、x
34、x 44)の順序で供給される。
【0014】単位データの入力開始時点t0 から3サイ
クル分の時間3Tが経過したt1 時点では、単位遅延器
111 、112 及び113 の各出力端に第1列のデータ
11、x21及びx31が存在すると共に、4番目のデータ
41が遅延器113 の入力端に存在する。
【0015】この状態で、各ラッチに共通のイネイブル
パルスが供給されて、第1列の4個のデータx11
21、x31及びx41が4個のラッチ121 、122 、1
3 及び124 にそれぞれ取り込まれ、図25のB、
D、F及びHに示すように、入力開始時点t0 から4T
時間経過後のt2 時点から4T時間にわたって保持され
る。
【0016】ROM141 、142 、143 及び144
には係数行列〔A〕の各列の係数a i1、ai2、ai3及び
i4(i=1、2、3、4)が格納されており、同図の
C、E、G及びJに示すように、t2 時点以後の1サイ
クルごとに、対応する乗算器131 、132 、133
び134 に順次供給され、それぞれ対応するラッチ12
1 、122 、123 及び124 に保持された第1列のデ
ータxi1(i=1、2、3、4)と乗算される。
【0017】即ち、t2 時点以降の1、2、3及び4番
目の各サイクルで、係数行列の1、2、3及び4行の係
数a1j、a2j、a3j及びa4j(j=1、2、3、4)が
入力行列の第1列のデータx11、x21、x31及びx41
乗算される。
【0018】加算器15において、各乗算器131 〜1
4 の出力が加算されて、同図のKに示すように、t2
時点以降の4サイクルで次の数5式に示すような積の行
列〔U〕の第1列のデータu11、u21、u31及びu41
得られる。
【0019】
【数5】〔U〕=〔A〕〔X〕
【0020】一方、同図のAに示すように、t2 時点で
行列〔X〕の第2列のデータx12、x22、x32及びx42
の入力が開始されて、前述と同様に、t2 時点から4T
時間後の時点t3 では、第2列のデータx12、x22、x
32及びx42がそれぞれラッチ121 、122 、123
び124 にラッチされている。また、t3 時点以降の1
サイクルごとに、ROM141 、142 、143 及び1
4 から、前述と同様に、行列〔A〕の各列の係数
i1、ai2、ai3及びai4(i=1、2、3、4)が順
次出力される。
【0021】以下前述と同様にして、t3 時点以降の4
サイクルで前出数5式に示すような積の行列〔U〕の第
2列のデータu12、u22、u32及びu42が得られる。
【0022】以下同様にして、次のt4 時点以降の4サ
イクルで、積の行列〔U〕の第3列のデータu13〜 u
43が得られ、その次のt5 時点以降の4サイクルで、積
の行列〔U〕の第4列のデータu14〜u44が得られる。
【0023】上述のようにして得られた行列〔U〕の1
6ワードの列順のデータは並べ替え回路30のRAM3
1及び32に交互に書き込まれる。書き込み時のアドレ
スと読み出し時のアドレスとを変えることにより、RA
M31及び32から行順で交互に読出された行列〔U〕
のデータが第2の内積演算回路20に供給され、上述と
全く同様にして、第2の係数行列〔B〕と乗算されて、
次の数6式で表わされる積の行列〔Y〕のデータが端子
OUTに導出される。
【0024】
【数6】〔Y〕=〔U〕〔B〕=〔A〕〔X〕〔B〕
【0025】
【発明が解決しようとする課題】ところで、行列の規模
が8行8列の場合、数1式の定数行列〔N〕は、次の数
7式のように表される。
【0026】
【数7】 ここに、要素a〜nは、図26に示すように、角度π/
16を単位とする所定角の余弦である。
【0027】また、DCT及びIDCTを定義する数1
式から明らかなように、行列〔Y〕の要素yijは行列
〔X〕の要素xijの1次式で表現される。
【0028】従って、図27に示すように、8行8列の
要素x11〜x88が列順に入力されて64次のベクトルと
なる〔Xc 〕と、8行8列の要素y11〜y88が列順に出
力されて64次のベクトルとなる〔Yc 〕との間には、
次の数8式で表される関係が成立する。
【0029】
【数8】〔Yc 〕=〔M〕〔Xc 〕 ここに〔M〕は64行64列の定数行列である。
【0030】ところが、前述のような従来の行列データ
乗算装置では、この数8式の演算を行う場合、例えば6
4次の内積演算回路を用いて一挙に計算するため、回路
規模が膨大になり、構成が複雑になると共に、演算回数
が多くなって演算速度が制約されるという問題があっ
た。
【0031】かかる点に鑑み、この発明の目的は、回路
規模が小さく、構成が簡単であると共に、演算回数が減
少して高速演算が可能な行列データ乗算装置を提供する
ところにある。
【0032】
【課題を解決するための手段】この発明の第1の手段
は、行列の内積を演算する内積演算回路と、行列のデー
タ成分を所定の順序に並べ替える並べ替え回路とを備え
る離散コサイン変換装置において、係数が+1及び−1
である4次の第1の内積演算回路42と、係数が0、+
1及び−1である8次の第2の内積演算回路44と、定
数行列のデータ成分が格納されたメモリを含む第3の内
積演算回路45とを設け、8行8列の入力データを第1
の並べ替え回路41を介して上記第1の内積演算回路に
供給し、上記第1の内積演算回路の出力を第2の並べ替
え回路43を介して上記第2の内積演算回路に供給し、
上記第2の内積演算回路の出力を直接に上記第3の内積
演算回路に供給すると共に、上記第3の内積演算回路の
出力を第3の並べ替え回路46を介して導出するように
したことを特徴とする離散コサイン変換装置である。
【0033】この発明の第2の手段は、行列の内積を演
算する内積演算回路と、行列のデータ成分を所定の順序
に並べ替える並べ替え回路とを備える逆離散コサイン変
換装置において、定数行列のデータ成分が格納されたメ
モリを含む第4の内積演算回路72と、係数が0、+1
及び−1である8次の第5の内積演算回路73と、係数
が+1及び−1である4次の第6の内積演算回路75と
を設け、8行8列の入力データを第4の並べ替え回路7
1を介して上記第4の内積演算回路に供給し、上記第4
の内積演算回路の出力を直接に上記第5の内積演算回路
に供給し、上記第5の内積演算回路の出力を第5の並べ
替え回路74を介して上記第6の内積演算回路に供給す
ると共に、上記第6の内積演算回路の出力を第6の並べ
替え回路76を介して導出するようにしたことを特徴と
する逆離散コサイン変換装置である。
【0034】この発明の第3の手段は、行列の内積を演
算する内積演算回路と、行列のデータ成分を所定の順序
に並べ替える並べ替え回路とを備える離散コサイン変換
装置において、シリアルに供給される行列データを所定
個毎に並列化する並列化回路81と、係数が+1及び−
1である4次の第1の内積演算回路と、係数が0、+1
及び−1である8次の第2の内積演算回路と、定数行列
のデータ成分が格納されたメモリを含む第3の内積演算
回路とを設け、上記第1、第2、第3の内積演算回路を
それぞれ上記所定個並列に配し、8行8列の入力データ
を第1の並べ替え回路41を介して上記並列化回路に供
給し、上記並列化回路から出力された並列データの各デ
ータを上記所定個のそれぞれの第1の内積演算回路(加
算回路42′1 〜42′4 )に供給し、上記各第1の内
積演算回路の出力を直接に上記所定個の内の対応する上
記第2の内積演算回路441 〜444 に供給し、上記各
第2の内積演算回路の出力を直接に上記所定個の内の対
応する上記第3の内積演算回路451 〜454 に供給す
ると共に、上記所定個の第3の内積演算回路の出力をシ
リアルデータに変換(回路82)した後第3の並べ替え
回路46を介して導出するようにしたことを特徴とする
離散コサイン変換装置である。
【0035】この発明の第4の手段は、行列の内積を演
算する内積演算回路と、行列のデータ成分を所定の順序
に並べ替える並べ替え回路とを備える逆離散コサイン変
換装置において、シリアルに供給される行列データを所
定個毎に並列化する並列化回路91と、定数行列のデー
タ成分が格納されたメモリを含む第4の内積演算回路
と、係数が0、+1及び−1である8次の第5の内積演
算回路と、係数が+1及び−1である4次の第6の内積
演算回路とを設け、上記第4、第5、第6の内積演算回
路をそれぞれ上記所定個並列に配し、8行8列の入力デ
ータを第4の並べ替え回路71を介して上記並列化回路
に供給し、上記並列化回路から出力された並列データの
各データを上記所定個の内の対応する上記第4の内積演
算回路72 1 〜724 に供給し、上記各第4の内積演算
回路の出力を直接に上記所定個の内の対応する上記第5
の内積演算回路731 〜734 に供給し、上記各第5の
内積演算回路の出力を直接に上記所定個の内の対応する
上記第6の内積演算回路に供給すると共に、上記所定個
の第6の内積演算回路(加算回路75′1 〜75′4
の出力をシリアルデータに変換(回路92)した後第6
の並べ替え回路76を介して導出するようにしたことを
特徴とする逆離散コサイン変換装置である。
【0036】
【作用】この発明によれば、内積演算回路の規模を小さ
くし、構成を簡単にすると共に、演算回数を減少させて
高速演算を可能にすることができる。
【0037】
【実施例】以下、図1〜図19を参照しながら、この発
明による行列データ乗算装置の一実施例について説明す
る。すなわちこの発明の一実施例の構成を図1に示し、
その要部の構成を図2及び図3に示す。
【0038】図1において、入力端子INから8行8列
のデータが、前出図27のベクトル〔Xc 〕に示すよう
に、列順で入力され、64ワードの第1の並べ替え回路
41を介して、4次の第1の内積演算回路42に供給さ
れる。この内積演算回路42の出力は、64ワードの第
2の並べ替え回路43を介して、8次の第2の内積演算
回路44に供給される。内積演算回路44の出力が4次
の第3の内積演算回路45に供給され、内積演算回路4
5の出力は64ワードの第3の並べ替え回路46を介し
て、出力端子OUTに導出される。
【0039】後述のように、第1の内積演算回路42の
係数は、+1及び−1だけであり、第2の内積演算回路
44の係数は、0、+1及び−1だけである。また、第
3の内積演算回路45の係数はDCTに特有の値とな
る。
【0040】図2において、50は4次の内積演算回路
であって、図1の内積演算回路42に相当し、3個の単
位遅延器511 、512 、513 が逆順に縦続接続され
て、その出力端、両接続中点及び入力端に4個のラッチ
521 、522 、523 、524 がそれぞれ接続され
る。ラッチ521 〜524 の出力が、それぞれスイッチ
531 〜534 の+側接点に供給されると共に、2の補
数回路541 〜544 を介して、スイッチ531 〜53
4 の−側接点にそれぞれ供給される。スイッチ531
534 の各出力が加算器55に供給される。
【0041】各スイッチ531 〜534 は、各補数回路
541 〜544 と共に係数が+1、−1だけの乗算器を
構成し、システム制御回路56により互いに独立に切り
換えられる。
【0042】また、2の補数回路541 〜544 は、周
知のように、否定回路と加算回路とで構成される。
【0043】図3において、60は8次の内積演算回路
であって、図1の内積演算回路44に相当し、入力IN
が8個の切換スイッチ611 〜618 の各第1の接点に
供給されると共に、8個の補数回路621 〜628 を介
して、スイッチ611 〜61 8 の各第2の接点に供給さ
れる。スイッチ611 〜618 の第3の接点には係数0
がそれぞれ供給され、スイッチ611 〜618 の各出力
がそれぞれ加算器63 1 〜638 に供給される。
【0044】これらの加算器631 〜638 の各出力が
それぞれスイッチ641 〜648 を通じて16個のラッ
チ650 、651 〜6515に供給される。これらの各1
対のラッチ650 、651 ;652 、653 ・・・65
14、6514の出力が8個の切換スイッチ661 、662
・・・668 の各1対の接点に供給される。スイッチ6
1 〜668 の各出力がそれぞれ加算器631 〜638
に供給される。
【0045】またラッチ650 〜6515の各出力がそれ
ぞれパラレル/シリアル変換器67に供給される。この
変換器67から出力端子OUTが導出される。
【0046】ここで切換スイッチ611 〜618 は、補
数回路621 〜628 と共に、係数が0、+1、−1だ
けの乗算器をそれぞれ構成し、スイッチ641 〜6
8 、661 〜668 と共に、システム制御回路68に
より互いに独立に切り換えられる。
【0047】次に、図4〜図11をも参照しながら、図
1の実施例の動作について説明する。
【0048】図1の実施例においては、DCTのための
64行64列の定数行列〔M〕を次の数9式に示すよう
な6個の行列に分解している。
【0049】
【数9】 〔M〕=〔W〕〔V〕〔TS〕〔R〕〔L〕〔Q〕/8
【0050】行列〔Q〕、〔R〕及び〔W〕が第1、第
2及び第3の並べ替え回路41、43及び46にそれぞ
れ対応すると共に、行列〔L〕、〔TS〕及び〔V〕が
第1、第2及び第3の内積演算回路42、44及び45
にそれぞれ対応する。行列〔Q〕〜〔W〕は何れも64
行64列であり、図4〜図11に示されるように、それ
ぞれ多数の0要素を含む疎行列(Sparse Mat
rix)である。
【0051】なお、この図4〜図11において、+及び
−はそれぞれ+1及び−1を表しており、他の行列を示
す後出各図においても同様である。
【0052】並べ替え回路41では、図4に示されるよ
うに、行列〔Q〕の各行各列とも、1か所だけが+1
で、残りの63個の要素は全て0であるから、64ワー
ドの入力データ〔Xc〕の並べ替えが行われる。
【0053】内積演算回路42において、この並べ替え
られたデータ〔Q〕〔Xc〕が、図5の行列〔L〕で表
されるような演算処理を受ける。同図に明らかなよう
に、この行列〔L〕は、+1及び−1の要素のみで、同
形の4行4列の小行列が対角線上に16個並び、他の部
分が全て0要素の疎行列であるから、図2に示したよう
な4次の内積演算回路50で演算処理することができ
る。
【0054】図2において、入力端子INから、64ワ
ード単位のデータ〔Q〕〔Xc〕が供給され、それぞれ
4個のデータが4個のラッチ521 、522 、523
52 4 に取り込まれ、4T時間にわたって保持される。
【0055】4個のスイッチ531 、532 、533
534 は、行列〔L〕の4行4列の小行列の要素が+1
であるか−1であるかにより、+側または−側に切り換
えられて、各ラッチ52〜524 に保持されたデータに
+1または−1の係数が乗算され、加算器55で加算さ
れて、端子OUTから出力される。
【0056】内積演算回路42から出力された64ワー
ドのデータ〔L〕〔Q〕〔Xc〕は、第2の並べ替え回
路43において、図6及び図7〜図10に示す行列
〔R〕で表されるように並べ替えられる。
【0057】この並べ替えられたデータ〔R〕〔L〕
〔Q〕〔Xc〕が、第2の内積演算回路44において、
図11、図12の行列〔TS〕で表されるような演算処
理を受ける。同図に明らかなように、この行列〔TS〕
は、それぞれ0、+1及び−1の要素のみであり、そし
て、各列の各奇数行の要素、又はその下隣りの偶数行の
要素の少なくともどちらか一方は0であるような、16
行16列の小行列が対角線上に4個並び、他の部分が全
て0要素の疎行列であるから、図3に示したような8次
の内積演算回路60で演算処理することができる。
【0058】行列[TS]は 16×16の対角線上の
小行列以外の部分は全て0であるから、16次の内積演
算回路で計算できる。しかも、その小行列の要素は全て
0、±1のみであるから、入力されてくるデータ、その
値に対して2の補数器を介した値、及び0の3個の値を
選択した値を加算すれば良い。さらに、行列[TS]の
各16×16小行列をよくみると、各列の第0行目と第
1行目のどちらかは必ず0である。そして、各列の第2
行目と第3行目のどちらかは必ず0である。同様に、各
列の第2k行目と第2k+1行目のどちらかは必ず0で
ある(k=2〜7)。従って実際には8個の加算器を使
用した図3の回路で構成できる。
【0059】通常、16次の内積演算回路には16個の
加算器を必要とするが、上述のとおり、各列の第2k行
目と第2k+1行目のどちらかは必ず0である(k=0
〜7)から、図3に示すように8個の加算器で計算する
ことが出来る。即ち、図3の16個のラッチは、演算開
始時刻に図示省略したクリア信号により、0がセットさ
れる。
【0060】ラッチ650 には、[TSii](i=1〜
4)の第0行目と入力ベクトル(i=1のときは、
[R][L][Q][Xc]の0〜15番目の要素、i
=2のときは、[R][L][Q][Xc]の16〜3
1番目の要素、i=3のときは、[R][L][Q]
[Xc]の32〜47番目の要素、i=4のときは、
[R][L][Q][Xc]の48〜63番目の要素)
との計算途中結果、及び計算結果が格納される。
【0061】ラッチ651 には、[TSii](i=1〜
4)の第1行目と入力ベクトルとの計算途中結果、及び
計算結果が格納される。セレクト1は、[TSii](i
=1〜4)の第0行目または第1行目の0でないほうの
値が1のときは入力端子からの値を選択し、−1のとき
は入力端子からの値に対して2の補数器を介した値(−
1倍した値)を選択し、第0行目と第1行目がともに0
であるときには0を選択する。
【0062】セレクト9は、第0行目が0でないときは
ラッチ650 側にし、第1行目が0でないときはラッチ
651 側にする。第0行目または第1行目のどちらか一
方は必ず0であるから、セレクト9は上記のように選択
することにより、ラッチ65 0 とラッチ651 の両方を
選択するという矛盾は起きない。また、第0行目と第1
行目が共に0であるときは、どちらを選択しても良い。
セレクト1、セレクト9の制御信号は、制御回路68に
より制御される。
【0063】例えば、jサイクル目(j=0〜15)に
上述の入力ベクトルのj番目の要素が入力端子から入力
されてくる。この時刻において、図3においてどのよう
な計算が行われるかを以下で述べる。
【0064】上述の[TSii](i=1〜4)の第0行
第j列目の要素が1である場合、ラッチ650 に格納さ
れている値(j−1サイクル目までに計算された、第0
行目と入力されてくるデータとの計算途中結果)はスイ
ッチ661 を介して加算器631 に入力され、そして入
力ベクトルのj番目の要素もスイッチ611 を介して加
算器631 に入力される。そして加算器631 で、j−
1サイクル目までに計算された、第0行目と入力されて
くるデータとの計算途中結果と、入力ベクトルのj番目
の要素の加算が行われ、この加算結果はスイッチ641
を介してラッチ650 に格納される。
【0065】上述の[TSii](i=1〜4)の第0行
第j列目の要素が−1である場合、ラッチ650 に格納
されている値(j−1サイクル目までに計算された、第
0行目と入力されてくるデータとの計算途中結果)はス
イッチ661 を介して加算器631 に入力され、そして
入力ベクトルのj番目の要素に対して−1倍した値もス
イッチ611 を介して加算器631 に入力される。そし
て加算器631 で、j−1サイクル目までに計算され
た、第0行目と入力されてくるデータとの計算途中結果
と、入力ベクトルのj番目の要素に対して−1倍した値
の加算が行われ、この加算結果はスイッチ641 を介し
てラッチ650 に格納される。
【0066】即ち、第0行第j列目の要素が±1のとき
は、第0行目と入力されてくるデータとの計算途中結果
の更新(入力ベクトルのj番目の要素に対して±1倍し
た値の加算)が行われる。
【0067】上述の[TSii](i=1〜4)の第1行
第j列目の要素が1である場合、ラッチ651 に格納さ
れている値(j−1サイクル目までに計算された、第1
行目と入力されてくるデータとの計算途中結果)はスイ
ッチ661 を介して加算器631 に入力され、そして入
力ベクトルのj番目の要素もスイッチ611 を介して加
算器631 に入力される。そして加算器631 で、j−
1サイクル目までに計算された、第1行目と入力されて
くるデータとの計算途中結果と、入力ベクトルのj番目
の要素の加算が行われ、この加算結果はスイッチ641
を介してラッチ651 に格納される。
【0068】上述の[TSii](i=1〜4)の第1行
第j列目の要素が−1である場合、ラッチ651 に格納
されている値(j−1サイクル目までに計算された、第
1行目と入力されてくるデータとの計算途中結果)はス
イッチ661 を介して加算器631 に入力され、そして
入力ベクトルのj番目の要素に対して−1倍した値もス
イッチ611 を介して加算器631 に入力される。そし
て加算器631 で、j−1サイクル目までに計算され
た、第1行目と入力されてくるデータとの計算途中結果
と、入力ベクトルのj番目の要素に対して−1倍した値
の加算が行われ、この加算結果はスイッチ641 を介し
てラッチ651 に格納される。
【0069】即ち、第1行第j列目の要素が±1のとき
は、第1行目と入力されてくるデータとの計算途中結果
の更新(入力ベクトルのj番目の要素に対して±1倍し
た値の加算)が行われる。
【0070】また、第0行第j列目と第1行第j列目の
要素が共に0であるときは、スイッチ661 でどちらか
のラッチが選択され、加算器631 を介してスイッチ6
1で選択されたラッチに再度格納されるが、このとき
スイッチ611 で0が選択され加算器631 に入力され
るので、加算器631 では実質、加算は行われない。つ
まり実質ラッチ650 、651 ともに、データの更新は
行われない。
【0071】このようにして、16サイクル後には、ラ
ッチ650 には第0行目と入力されてくるデータとの計
算結果が格納され、ラッチ651 には第1行目と入力さ
れてくるデータとの計算結果が格納されていることにな
る。
【0072】同様に、ラッチ652 〜6515には、[T
ii](i=1〜4)の第2〜15行目と入力ベクトル
との計算途中結果が格納され、16サイクル後には、計
算結果(第2〜15行目と入力されてくるデータとの計
算結果)が格納されていることになる。
【0073】これら計算結果はパラレル/シリアル変換
器67に入力され、第0行目と入力されてくるデータと
の計算結果、第1行目と入力されてくるデータとの計算
結果、...第15行目と入力されてくるデータとの計
算結果の順にシリアル出力される。
【0074】かくして、16×16行列[TS11]との
計算、16×16行列[TS22]との計算、16×16
行列[TS33]との計算、16×16行列[TS44]と
の計算が、それぞれ16サイクルずつかけて行われる。
即ち、64サイクルかけて行列[TS]との計算が行わ
れる。
【0075】内積演算回路44から出力された64ワー
ドのデータ〔TS〕〔R〕〔L〕〔Q〕〔Xc〕は、更
に、第3の内積演算回路45において、図13、図14
の行列〔V〕で表されるような演算処理を受ける。同図
に明らかなように、この行列〔V〕は、それぞれ4行4
列の小行列が対角線上に4個並び、他の部分が全て0要
素の疎行列であるから、前出図24に示すような通常の
4次内積演算回路45で演算処理することができる。
【0076】内積演算回路45から出力された64ワー
ドのデータ〔V〕〔TS〕〔R〕〔L〕〔Q〕〔Xc〕
は、第3の並べ替え回路46において、図15及び図1
6〜図19に示す行列〔W〕で表されるように並べ替え
られて、所望の出力データ〔W〕〔V〕〔TS〕〔R〕
〔L〕〔Q〕〔Xc〕が得られる。
【0077】なお、実際には、
【数10】 〔Yc〕=〔M〕〔Xc〕 =〔W〕〔V〕〔TS〕〔R〕〔L〕〔Q〕〔Xc〕/8 であるから、この出力結果を8で割らなくてはいけない
が、これは値を3ビットシフトすればよく、回路的には
何も要らないので、図中では省略してある。
【0078】図1の実施例においては、各内積演算回路
42、44及び45の演算処理を表す行列〔L〕、〔T
S〕及び〔V〕が何れも疎行列であるため、乗算回数を
少なくして、各内積演算回路を小規模にすることができ
る。
【0079】また、内積演算回路42については、行列
〔L〕の係数が0と+1、−1だけであるため、また内
積演算回路44については、行列〔TS〕の係数が0と
+1、−1だけで各行に+1又は−1の要素が2個並ぶ
ことがないため、図2及び図3に示すように、各乗算器
の構成を簡単にすることができると共に、内積演算時に
丸め誤差が発生することがない。
【0080】ここでは図27に示すように、8行8列の
要素x11〜x88が列順に入力されて、8行8列の要素y
11〜y88が列順に出力される場合について述べたが、こ
れ以外の順番で入出力させる場合には、並べ替え回路4
1及び46を別の適切な順番にデータを並べ替える並べ
替え回路で置き替える事により対応することができる。
【0081】こうして上述の装置によれば、内積演算回
路の規模を小さくし、構成を簡単にすると共に、演算回
数を減少させて高速演算を可能にすることができるもの
である。
【0082】更に図20は、本発明による逆離散コサイ
ン変換装置の一例の構成図である。この図において、入
力端子INから8行8列のデータが64ワードの第4の
並べ替え回路71を介して、4次の第4の内積演算回路
72に供給される。この内積演算回路72の出力が8次
の第5の内積演算回路73に供給される。内積演算回路
73の出力は、64ワードの第5の並べ替え回路74を
介して、4次の第6の内積演算回路75に供給される。
内積演算回路75の出力は64ワードの第6の並べ替え
回路76を介して、出力端子OUTに導出される。
【0083】すなわち図20の実施例においては、ID
CTのための64行64列の定数行列〔IM〕を次の数
10式に示すような6個の行列に分解している。
【0084】
【数11】 〔IM〕= t〔Q〕〔L〕 t〔R〕 t〔TS〕 t〔V〕 t〔W〕/8
【0085】行列 t〔W〕、 t〔R〕及び t〔Q〕が第
4、第5及び第6の並べ替え回路71、74及び76に
それぞれ対応すると共に、行列 t〔V〕、 t〔TS〕及
び〔L〕が第4、第5及び第6の内積演算回路72、7
3及び75にそれぞれ対応する。ここで上述の行列
〔L〕、〔TS〕及び〔V〕は、それらを形成する小行
列が何れも対角線上に配列されており、各転置行列
t〔L〕、 t〔TS〕及び t〔V〕も同様の形になるた
め、逆変換の場合にも、図1の実施例と同様の構成で対
応することができる。ちなみに〔L〕= t〔L〕であ
る。
【0086】ただし、 t〔TS〕の演算を行う内積演算
回路73は、 t〔TS〕が各行の奇数列とその右隣りの
偶数列の要素のどちらか一方は少なくとも0であるか
ら、例えば図21の構成で演算を行う。
【0087】図21において、60′は8次の内積演算
回路であって、図20の内積演算回路73に相当し、1
5個の単位遅延器61′1 、61′2 〜61′15が逆順
に縦続接続されて、その出力端、各接続中点及び入力端
に16個のラッチ62′1 、62′2 〜62′16がそれ
ぞれ接続され、各1対のラッチ62′1 、62′2 ;6
2′3 、62′4 ・・・62′15、62′16の出力が8
個の切換スイッチ63′1 、63′2 ・・・63′8
各1対の接点に供給される。スイッチ63′1〜63′
8 の各出力が、8個の切換スイッチ64′1 〜64′8
の各+側接点に供給されると共に、8個の補数回路6
5′1 〜65′8 を介して、スイッチ64′1 〜64′
8 の各−側接点に供給される。スイッチ64′1 〜6
4′8 の第3の接点には係数0がそれぞれ供給され、ス
イッチ64′1 〜64′8 の各出力が加算器66′に供
給される。
【0088】切換スイッチ64′1 〜64′8 は、補数
回路65′1 〜65′8 と共に、係数が0、+1、−1
だけの乗算器をそれぞれ構成し、スイッチ63′1 〜6
3′ 8 と共に、システム制御回路67′により互いに独
立に切り換えられる。
【0089】従ってこの図21において、入力端子IN
から、64ワード単位のデータ〔TS〕〔R〕〔L〕
〔Q〕〔Xc〕が供給され、それぞれ16個のデータが
16個のラッチ62′1 〜62′16に取り込まれ、16
T時間にわたって保持される。
【0090】8個のスイッチ63′1 〜63′8 は、行
列〔TS〕の16行16列の小行列の各々隣り合う要素
のどちらかが0であるかにより、0でない側に切り換え
られて、各ラッチ62′1 〜62′16に保持されたデー
タのうち8個のデータが取り出される。ただし各々隣り
合う要素が両方とも0である場合、対応する各スイッチ
63′1 〜63′8 は、どちらの側に切り換えられても
良い。
【0091】8個のスイッチ64′1 〜64′8 は、上
記取り出された8個のデータに対応する16行16列の
小行列の要素が0、+1または−1のいずれかであるか
により、0側、+側または−側に切り換えられて、上記
取り出された8個のデータに0、+1または−1の係数
が乗算され、加算器66′で加算されて、端子OUTか
ら出力される。
【0092】また図22は、本発明による離散コサイン
変換装置において、上述の第1、第2及び第3の内積演
算回路42、44及び45をそれぞれ並列化することに
よって動作速度の高速化を図ったものである。この図に
おいて、並べ替え回路41で〔Q〕の演算を行った後、
この出力〔Q〕〔Xc〕に対して、シリアルに出力され
てくる4つのデータを1組として変換回路81でパラレ
ル化して、4入力加算回路42′1 〜42′4 に入力す
る。
【0093】この4入力加算回路42′1 では〔L〕の
第1行目、第5行目、第9行目・・・第61行目を演算
し、4入力加算回路42′2 では〔L〕の第2行目、第
6行目、第10行目・・・第62行目を演算し、4入力
加算回路42′3 では〔L〕の第3行目、第7行目、第
11行目・・・第63行目を演算し、4入力加算回路4
2′4 では〔L〕の第4行目、第8行目、第12行目・
・・第64行目を演算する。
【0094】演算〔R〕は、単なる並べ替えであるが、
それは〔L〕〔Q〕〔Xc〕の第1行目、第5行目、第
9行目・・・第61行目の16個のデータと、第2行
目、第6行目、第10行目・・・第62行目の16個の
データと、第3行目、第7行目、第11行目・・・第6
3行目の16個のデータと、第4行目、第8行目、第1
2行目・・・第64行目の16個のデータとの4つの組
に分けて、続く演算〔TS〕の4つの小行列である〔T
11〕〔TS22〕〔TS33〕〔TS44〕の演算を可能と
させる為のものである。
【0095】従って図22の回路の場合、4入力加算回
路42′1 から〔L〕〔Q〕〔Xc〕の第1行目の値、
第5行目の値、第9行目の値・・・第61行目の値が出
力され、4入力加算回路42′2 から〔L〕〔Q〕〔X
c〕の第2行目の値、第6行目の値、第10行目の値・
・・第62行目の値が出力され、4入力加算回路42′
3 から〔L〕〔Q〕〔Xc〕の第3行目の値、第7行目
の値、第11行目の値・・・第63行目の値が出力さ
れ、4入力加算回路42′4 から〔L〕〔Q〕〔Xc〕
の第4行目の値、第8行目の値、第12行目の値・・・
第64行目の値が出力されるので、演算〔R〕を行う回
路は必要なく、そのまま4入力加算回路42′1 〜4
2′4 の出力を、それぞれ内積演算回路441 〜444
に入力させればよい。
【0096】すなわち内積演算回路441 では〔L〕
〔Q〕〔Xc〕の第1行目の値、第5行目の値、第9行
目の値・・・第61行目の値を使用して、〔TS11〕の
演算を行う。内積演算回路442 、443 、444 でも
同様にして、それぞれ〔TS22〕〔TS33〕〔TS44
の演算を行う。
【0097】さらに内積演算回路441 の出力を内積演
算回路451 に入力する事で、内積演算回路451 では
〔V11〕の演算を行う。内積演算回路452 、453
45 4 でも同様にして、それぞれ〔V22〕〔V33〕〔V
44〕の演算を行う。
【0098】かくして、内積演算回路451 〜454
出力からは〔V〕〔TS〕〔R〕〔L〕〔Q〕〔Xc〕
が出力されるので、これを変換回路82でシリアル化し
て、そして最後に〔W〕を並べ替え回路46で行えば、
出力〔Yc〕が求まる。
【0099】さらに図23は、本発明による逆離散コサ
イン変換装置において、上述の第4、第5及び第6の内
積演算回路72、73及び75をそれぞれ並列化するこ
とによって動作速度の高速化を図ったものである。この
図において、並べ替え回路71で t〔W〕の演算を行っ
た後、この出力 t〔W〕〔Yc〕に対して、シリアルに
出力されてくる4つのデータを1組として変換回路91
でパラレル化して、内積演算回路721 〜724 に入力
する。
【0100】この内積演算回路721 〜724 では
t〔V11〕〜 t〔V44〕の演算を行う。この内積演算回
路721 〜724 の出力を、それぞれ内積演算回路73
1 〜73 4 に入力する。この内積演算回路731 〜73
4 では t〔TS11〕〜 t〔TS44〕の演算を行う。
【0101】この内積演算回路731 〜734 の出力
を、そのまま4入力加算回路75′1〜75′4 に入力
させる。この4入力加算回路75′1 〜75′4 では
〔L11〕〜〔L44〕の演算を行う。かくして、4入力加
算回路75′1 〜75′4 の出力からは〔L〕 t〔R〕
t〔TS〕 t〔V〕 t〔W〕〔Yc〕が出力されるの
で、これを変換回路92でシリアル化して、そして最後
t〔Q〕を並べ替え回路76で行えば、出力〔Xc〕
が求まる。
【0102】
【発明の効果】以上詳述のように、この発明によれば、
所要の定数行列を複数の疎行列に分解して、一方の疎行
列の要素を0、+1及び−1とすると共に、他方の低次
の疎行列の要素を定数行列のデータ成分とするようにし
たので、内積演算回路の回路規模が小さく、構成が簡単
になると共に、演算回数が低減して演算速度が向上した
離散コサイン変換装置及び逆離散コサイン変換装置が得
られる。
【図面の簡単な説明】
【図1】本発明による離散コサイン変換装置の一例の構
成図である。
【図2】その要部の構成を示すブロック図である。
【図3】その要部の構成を示すブロック図である。
【図4】その要部の動作を説明するための行列を示す図
である。
【図5】その要部の動作を説明するための行列を示す図
である。
【図6】その要部の動作を説明するための行列を示す図
である。
【図7】その要部の動作を説明するための行列を示す図
である。
【図8】その要部の動作を説明するための行列を示す図
である。
【図9】その要部の動作を説明するための行列を示す図
である。
【図10】その要部の動作を説明するための行列を示す
図である。
【図11】その要部の動作を説明するための行列を示す
図である。
【図12】その要部の動作を説明するための行列を示す
図である。
【図13】その要部の動作を説明するための行列を示す
図である。
【図14】その要部の動作を説明するための行列を示す
図である。
【図15】その要部の動作を説明するための行列を示す
図である。
【図16】その要部の動作を説明するための行列を示す
図である。
【図17】その要部の動作を説明するための行列を示す
図である。
【図18】その要部の動作を説明するための行列を示す
図である。
【図19】その要部の動作を説明するための行列を示す
図である。
【図20】本発明による逆離散コサイン変換装置の一例
の構成図である。
【図21】その要部の構成を示すブロック図である。
【図22】本発明による離散コサイン変換装置の他の例
の構成図である。
【図23】本発明による逆離散コサイン変換装置の他の
例の構成図である。
【図24】従来の装置の構成を示すブロック図である。
【図25】従来例の装置の動作を説明するためのタイム
チャート図である。
【図26】この発明の説明のための図である。
【図27】この発明の説明のための図である。
【符号の説明】
41 第1の並べ替え回路 42 係数が+1及び−1である4次の第1の内積演算
回路 43 第2の並べ替え回路 44 係数が0、+1及び−1である8次の第2の内積
演算回路 45 定数行列のデータ成分が格納されたメモリを含む
第3の内積演算回路 46 第3の並べ替え回路

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 行列の内積を演算する内積演算回路と、
    行列のデータ成分を所定の順序に並べ替える並べ替え回
    路とを備える離散コサイン変換装置において、 係数が+1及び−1である4次の第1の内積演算回路
    と、 係数が0、+1及び−1である8次の第2の内積演算回
    路と、 定数行列のデータ成分が格納されたメモリを含む第3の
    内積演算回路とを設け、 8行8列の入力データを第1の並べ替え回路を介して上
    記第1の内積演算回路に供給し、 上記第1の内積演算回路の出力を第2の並べ替え回路を
    介して上記第2の内積演算回路に供給し、 上記第2の内積演算回路の出力を直接に上記第3の内積
    演算回路に供給すると共に、 上記第3の内積演算回路の出力を第3の並べ替え回路を
    介して導出するようにしたことを特徴とする離散コサイ
    ン変換装置。
  2. 【請求項2】 行列の内積を演算する内積演算回路と、
    行列のデータ成分を所定の順序に並べ替える並べ替え回
    路とを備える逆離散コサイン変換装置において、 定数行列のデータ成分が格納されたメモリを含む第4の
    内積演算回路と、 係数が0、+1及び−1である8次の第5の内積演算回
    路と、 係数が+1及び−1である4次の第6の内積演算回路と
    を設け、 8行8列の入力データを第4の並べ替え回路を介して上
    記第4の内積演算回路に供給し、 上記第4の内積演算回路の出力を直接に上記第5の内積
    演算回路に供給し、 上記第5の内積演算回路の出力を第5の並べ替え回路を
    介して上記第6の内積演算回路に供給すると共に、 上記第6の内積演算回路の出力を第6の並べ替え回路を
    介して導出するようにしたことを特徴とする逆離散コサ
    イン変換装置。
  3. 【請求項3】 行列の内積を演算する内積演算回路と、
    行列のデータ成分を所定の順序に並べ替える並べ替え回
    路とを備える離散コサイン変換装置において、 シリアルに供給される行列データを所定個毎に並列化す
    る並列化回路と、 係数が+1及び−1である4次の第1の内積演算回路
    と、 係数が0、+1及び−1である8次の第2の内積演算回
    路と、 定数行列のデータ成分が格納されたメモリを含む第3の
    内積演算回路とを設け、 上記第1、第2、第3の内積演算回路をそれぞれ上記所
    定個並列に配し、 8行8列の入力データを第1の並べ替え回路を介して上
    記並列化回路に供給し、 上記並列化回路から出力された並列データの各データを
    上記所定個のそれぞれの第1の内積演算回路に供給し、 上記各第1の内積演算回路の出力を直接に上記所定個の
    内の対応する上記第2の内積演算回路に供給し、 上記各第2の内積演算回路の出力を直接に上記所定個の
    内の対応する上記第3の内積演算回路に供給すると共
    に、 上記所定個の第3の内積演算回路の出力をシリアルデー
    タに変換した後第3の並べ替え回路を介して導出するよ
    うにしたことを特徴とする離散コサイン変換装置。
  4. 【請求項4】 行列の内積を演算する内積演算回路と、
    行列のデータ成分を所定の順序に並べ替える並べ替え回
    路とを備える逆離散コサイン変換装置において、 シリアルに供給される行列データを所定個毎に並列化す
    る並列化回路と、 定数行列のデータ成分が格納されたメモリを含む第4の
    内積演算回路と、 係数が0、+1及び−1である8次の第5の内積演算回
    路と、 係数が+1及び−1である4次の第6の内積演算回路と
    を設け、 上記第4、第5、第6の内積演算回路をそれぞれ上記所
    定個並列に配し、 8行8列の入力データを第4の並べ替え回路を介して上
    記並列化回路に供給し、 上記並列化回路から出力された並列データの各データを
    上記所定個の内の対応する上記第4の内積演算回路に供
    給し、 上記各第4の内積演算回路の出力を直接に上記所定個の
    内の対応する上記第5の内積演算回路に供給し、 上記各第5の内積演算回路の出力を直接に上記所定個の
    内の対応する上記第6の内積演算回路に供給すると共
    に、 上記所定個の第6の内積演算回路の出力をシリアルデー
    タに変換した後第6の並べ替え回路を介して導出するよ
    うにしたことを特徴とする逆離散コサイン変換装置。
JP19111392A 1992-02-21 1992-07-17 離散コサイン変換装置及び逆離散コサイン変換装置 Pending JPH05300026A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US08/020,313 US5410500A (en) 1992-02-21 1993-02-19 Discrete cosine transform apparatus and inverse discrete cosine transform apparatus
EP93400437A EP0557204A3 (en) 1992-02-21 1993-02-19 Discrete cosine transform apparatus and inverse discrete cosine transform apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP3514992 1992-02-21
JP4-35149 1992-02-21

Publications (1)

Publication Number Publication Date
JPH05300026A true JPH05300026A (ja) 1993-11-12

Family

ID=12433848

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19111392A Pending JPH05300026A (ja) 1992-02-21 1992-07-17 離散コサイン変換装置及び逆離散コサイン変換装置

Country Status (1)

Country Link
JP (1) JPH05300026A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761464A (zh) * 2021-08-25 2021-12-07 安谋科技(中国)有限公司 数据处理方法、介质及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113761464A (zh) * 2021-08-25 2021-12-07 安谋科技(中国)有限公司 数据处理方法、介质及电子设备

Similar Documents

Publication Publication Date Title
CA1290854C (en) Two-dimensional discrete cosine transform processor
JP2646778B2 (ja) ディジタル信号処理装置
US5361220A (en) Discrete cosine transformation with reduced components
JP2962970B2 (ja) 周波数から時間領域への変換方法及び装置
KR100233555B1 (ko) 연산장치
JPH08235159A (ja) 逆コサイン変換装置
AU9030298A (en) Variable block size 2-dimensional inverse discrete cosine transform engine
EP0286184B1 (en) One-dimensional linear picture transformer
US5291429A (en) Circuit for matrix calculation of discrete cosine transformation
CN114007079B (zh) 变换电路、方法、装置和编码器
JP3185211B2 (ja) 行列データ乗算装置
JPH05300026A (ja) 離散コサイン変換装置及び逆離散コサイン変換装置
CN1526103B (zh) 离散余弦变换装置
JPH04330828A (ja) 離散コサイン変換回路及び離散コサイン変換の逆変換回路
JPH0540776A (ja) 二次元dctマトリクス演算回路
JP3046115B2 (ja) 離散コサイン変換器
JP3547567B2 (ja) 離散コサイン変換器
JP3046116B2 (ja) 離散コサイン変換器
JP3575991B2 (ja) 直交変換回路
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
KR100306745B1 (ko) 알에이씨를사용하는하프밴드서브밴드디씨티/아이디씨티회로및그방법
JP2001256218A (ja) 行列データ乗算装置
JP2001249799A (ja) 行列データ乗算装置
JP2001256217A (ja) 行列データ乗算装置
JP3697716B2 (ja) 行列データ乗算装置