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

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

Info

Publication number
JP3970442B2
JP3970442B2 JP31169598A JP31169598A JP3970442B2 JP 3970442 B2 JP3970442 B2 JP 3970442B2 JP 31169598 A JP31169598 A JP 31169598A JP 31169598 A JP31169598 A JP 31169598A JP 3970442 B2 JP3970442 B2 JP 3970442B2
Authority
JP
Japan
Prior art keywords
calculation
subtraction
matrix
addition
calculation means
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP31169598A
Other languages
English (en)
Other versions
JP2000137703A (ja
Inventor
一雅 鬼追
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP31169598A priority Critical patent/JP3970442B2/ja
Publication of JP2000137703A publication Critical patent/JP2000137703A/ja
Application granted granted Critical
Publication of JP3970442B2 publication Critical patent/JP3970442B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Complex Calculations (AREA)
  • Image Processing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像信号の符号化やフィルタ処理などに使用される離散コサイン変換(DCT)装置および逆離散コサイン変換(IDCT)装置に関するものである。
【0002】
【従来の技術】
画像信号の圧縮処理や拡大縮小処理およびフィルタ処理などにおいて下記の(1)式および(2)式に示すようなN点の離散コサイン変換や逆離散コサイン変換の演算が用いられる。1次元N点DCT演算は、N個の入力データをxk(k=0,1,2,・・・,N−1)、N個の出力データをXn(n=0,1,2,・・・,N−1)とすると、
N点1次元DCTの定義式:
【0003】
【数1】
Figure 0003970442
【0004】
で表される。また、1次元N点IDCTは、N個の入力データをXn(n=0,1,2,・・・,N−1)、N個の出力データをxk(k=0,1,2,・・・,N−1)とすると、
N点1次元IDCTの定義式:
【0005】
【数2】
Figure 0003970442
【0006】
で表される。このようなN点のDCTおよびIDCTの演算を前述の(1)式および(2)式のままで計算するとN行N列の係数行列とN行1列の入力行列との乗算が必要になる。そのため、その演算回数を削減する方法として、次に示すように偶数行と奇数行とに分割する方法が広く用いられている。(1)式をn=2l(l=0,1,2,・・・,(N/2)−1)である偶数行とn=2l+1(l=0,1,2,・・・,(N/2)−1)である奇数行とに分割すると、
N点1次元DCTの偶数n行:
【0007】
【数3】
Figure 0003970442
【0008】
N点1次元DCTの奇数n行:
【0009】
【数4】
Figure 0003970442
【0010】
となる。同様に、(2)式をn=2l(l=0,1,2,・・・,(N/2)−1)である偶数行とn=2l+1(l=0,1,2,・・・,(N/2)−1)である奇数行とに分割すると、
IDCTの偶数n行:
【0011】
【数5】
Figure 0003970442
【0012】
IDCTの奇数n行:
【0013】
【数6】
Figure 0003970442
【0014】
となる。(3)式,(4)式,(5)式,(6)式に従えば、N点の1次元DCTおよび1次元IDCTはともにN/2行N/2列の係数行列とN/2行1列の入力行列との乗算を、偶数行と奇数行とについて実行すればよいことになる。DCTについては演算回数をさらに削減する方法として、Yeonsik Jeong,et.al.,Electronics Letters,vol.34,No8,pp723-724,April 1998に示された方法がある。
【0015】
このJeongの方法について、以下に説明する。上述の方法と同様に、DCT変換式を偶数行と奇数行に分割する。さらに、DCTの奇数行の変換式(4)式について、三角関数の積和公式:
【0016】
【数7】
Figure 0003970442
【0017】
を用いると、DCTの奇数n行(Jeong):
【0018】
【数8】
Figure 0003970442
【0019】
となる。このようにして、DCTの変換式として(3)式と(8)式を用いる。DCTの偶数n行の(3)式は(N/2)点DCTの式
kからYlへのN/2点DCTの定義式:
【0020】
【数9】
Figure 0003970442
【0021】
と比べると、
【0022】
【数10】
Figure 0003970442
【0023】
であるから、(3)式と(8)式においてN→N/2と置き換えるとlが偶数の行とlが奇数の行とに分解することができる。さらに、lが偶数の行については(3)式と(8)式においてN→N/4と置き換えて分解することができるので、偶数行は再帰的に分解を行うことができる。
【0024】
一般に画像データを符号化する場合には、画像データを8行8列のブロックごとに分割し、2次元離散コサイン変換を行うことが行われている。ここでは、N=8の場合について具体的に説明する。
【0025】
すなわち、8点1次元DCTは8点1次元DCTの偶数n行:
【0026】
【数11】
Figure 0003970442
【0027】
8点1次元DCTの奇数n行:
【0028】
【数12】
Figure 0003970442
【0029】
と分解し、更に、4点1次元DCTの偶数l行(l=2j):
【0030】
【数13】
Figure 0003970442
【0031】
4点1次元DCTの奇数l行(l=2j+1):
【0032】
【数14】
Figure 0003970442
【0033】
から、nが偶数の行(11)式は4点1次元DCTの(13)式、(14)式で表現できる。係数をまとめて式を整理すると、
【0034】
【数15】
Figure 0003970442
【0035】
【数16】
Figure 0003970442
【0036】
【数17】
Figure 0003970442
【0037】
【数18】
Figure 0003970442
【0038】
(3)式と(8)式を用いた従来の方法による演算フロー図を図5に示す。(12)式と(15)〜(18)式に従えば、8点1次元DCTは加減算が28回、乗算が13回で行える。汎用の計算機を用いて計算する場合、一般に乗算は加減算に比べて計算に大幅に時間がかかるので、この計算方法を用いると全体の計算回数が少ないだけでなく、各変換結果Xnを得るために必要な乗算回数が最大でも2回しか必要でないので、計算結果を得るまでの手順が少なくてすむという特徴を有する。
【0039】
【発明が解決しようとする課題】
しかしながら、離散コサイン変換および逆離散コサイン変換はそれだけで計算量が多いため、携帯機器等の小型情報処理装置においては、汎用演算装置で処理されることは少なく、集積回路内部の専用回路ブロックとして実現される場合が多い。集積回路内部の専用回路として実現しようとした場合には、計算量そのものよりも回路規模が問題となる。
【0040】
上述したような従来(Jeong)の方法では、上記の(12)式と(15)〜(18)式に従うことにより、計算手順そのものは少ない計算結果を得るまでの手順が少なくてすむという特徴をもつが、乗算及び加減算の回数に着目した手順としてしか与えられておらず、規則性が少なく、また逆離散コサイン変換については何ら考慮されていないため、専用回路としては回路規模を小さくできないという問題点があった。つまり、集積回路においてはできるだけ同一回路の繰り返し構造で実現されるような規則性を持つ方法の方が回路の共通化によって回路規模を小さくできるので、低消費電力化にも有効である。また、設計・検証の容易さという観点からも望ましい。
【0041】
従って、本発明の目的は、演算手順を変更することによって、離散コサイン変換と逆離散コサイン変換のすべての係数行列の大きさをN/4行N/4列とし、演算回路の構造を小規模な行列演算回路の繰り返し構造で実現することによって離散コサイン変換及び逆離散コサイン変換装置の回路規模を小型化することを目的とする。
【0042】
【課題を解決するための手段】
上記目的を達成するために本発明においては、まずN点1次元DCTおよびN点1次元IDCTの定義式の変形を行う。
N個の入力数列xk(k=0,1,2,・・・,N−1)からN個の出力数列Xn(n=0,1,2,・・・,N−1)へのN点1次元DCTの(1)式において、Nはrを3以上の自然数としてN=2rとする。
【0043】
(DCTの変形1(従来と同じ))
従来の方法と同様に、nが偶数行(n=2lとする)と奇数行(n=2l+1とする)に分割し、(3)式と(4)式を得る。
【0044】
(DCTの変形2(偶数n行の分割))
偶数n行の(3)式はさらにlの偶数行(l=2mとする)と奇数行(l=2m+1とする)に分割して(m=0,1,2,・・・(N/4)+1),
:DCTの偶数n行の分割:
【0045】
【数19】
Figure 0003970442
【0046】
【数20】
Figure 0003970442
【0047】
を得る。(19)式と(20)式を行列表示すると、
【0048】
【数21】
Figure 0003970442
【0049】
【数22】
Figure 0003970442
【0050】
と分解できる。
【0051】
(DCTの変形3(奇数n行の分割))
奇数n行の変換式(4)はζk≡xk−xN-1-kと置きなおし、Jeongの方法と同様に三角関数の積和公式を用いて、
【0052】
【数23】
Figure 0003970442
【0053】
と変形できる。(23)式において、ζk-1とζkの係数を考えて同じcos係数で括り、cos関数の性質を考慮すると、
【0054】
【数24】
Figure 0003970442
【0055】
と書ける。(24)式の右辺のcos関数をkが偶数の場合(k=2jとする)と奇数の場合(k=2j+1とする)に分割する(j=0,1,2,・・・,(N/4)−1)。
【0056】
【数25】
Figure 0003970442
【0057】
(25)式から、変換式の第(N/2)−1−l行は
【0058】
【数26】
Figure 0003970442
【0059】
(25)式と(26)式から次の2式を得る。
【0060】
【数27】
Figure 0003970442
【0061】
【数28】
Figure 0003970442
【0062】
(27)式と(28)式を行列表記すると、
【0063】
【数29】
Figure 0003970442
【0064】
【数30】
Figure 0003970442
【0065】
(29)式と(30)式の演算結果(即ち左辺)から、
【0066】
【数31】
Figure 0003970442
【0067】
を得ることができる。
【0068】
以上の手順によって、N点1次元DCTのすべての係数行列をN/4行N/4列の行列に分解できる。さらに、以上の手順をr−1回繰り返して適用すると、N点1次元DCTのすべての係数行列を2行2列の行列に分解できる。
【0069】
次に、逆離散コサイン変換装置に用いる分解方法について説明する。N個の入力数列Xn(n=0,1,2,・・・,N−1)からN個の出力数列xk(k=0,1,2,・・・,N−1)へのN点1次元IDCTの(2)式においても同様に、Nはrを3以上の自然数としてN=2rとする。
【0070】
(IDCTの変形1(従来と同じ))
従来の方法と同様に、nが偶数のとき(n=2lとする)と奇数の時(n=2l+1とする)に分割し、(5)式と(6)式を得る。
【0071】
(IDCTの変形2(偶数n項の分割))
IDCTの偶数n項の(5)式においてはDCTの場合と同様にして、yk≡xk+xN-1-kを使うと、
【0072】
【数32】
Figure 0003970442
【0073】
【数33】
Figure 0003970442
【0074】
を得ることができる。(32)式,(33)式を行列表示すると、
【0075】
【数34】
Figure 0003970442
【0076】
【数35】
Figure 0003970442
【0077】
以上で、IDCTの偶数項の係数行列は(N/4)×(N/4)の行列2個に分解できた。
【0078】
(IDCTの変形3(奇数n項の分割))
IDCTの奇数項の(6)式において、DCTの奇数行の変換と同様に、
【0079】
【数36】
Figure 0003970442
【0080】
と書き直すと、(6)式は、
【0081】
【数37】
Figure 0003970442
【0082】
(37)式から、
【0083】
【数38】
Figure 0003970442
【0084】
を得る。ここで、三角関数の積和公式を用いると、
【0085】
【数39】
Figure 0003970442
【0086】
となる。(39)式において、2項めのcos関数はkを含まないのでX2l+1とまとめて扱うことにする。X2l+12l+1のcos係数はcos{2k(2l+1)π/2N}であり、X2{(N/2-1)-(2l-1)}2{(N/2-1)-(2l-1)}のcos係数を考えると、式(39)はkが偶数の時(k=2jとする)とkが奇数の時(k=2j+1とする)に分割できて、
【0087】
【数40】
Figure 0003970442
【0088】
【数41】
Figure 0003970442
【0089】
となる。式(40)と(41)を行列表示すると、
【0090】
【数42】
Figure 0003970442
【0091】
【数43】
Figure 0003970442
【0092】
以上で、IDCTの奇数項の係数行列もN/4行N/4列の行列に分解できた。
【0093】
以上のような手順によって導き出された関係から、離散コサイン変換装置は、N個の入力データに対して所定の演算を実行する第1の演算手段と、第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた離散コサイン変換装置であって、前記第1の演算手段が、入力データに対して加減算を実行する第1の加減算手段と第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段から構成され、前記第2の演算手段が、前記第1の演算手段から出力されるN個の演算結果をN/4行1列の行列データの組として4組に分け、前記4組の行列データに対して各々、N/4行N/4列の係数行列を乗じる行列演算手段から構成され、前記第3の演算手段が、前記第2の演算手段から出力されるN個の演算結果の内のN/2個の演算結果に対して加減算処理を実行する第3の加減算手段と、第3の加減算手段から出力される演算結果に対して乗算を実行する第1の乗算手段とから構成し得る。
【0094】
本発明に係る離散コサイン変換装置は、N個の入力データに対して所定の演算を実行する第1の演算手段と、第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた離散コサイン変換装置であって、前記第1の演算手段が、入力データに対して加減算を実行する第1の加減算手段と第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段から構成され、前記第2の演算手段が、前記第1の演算手段から出力されるN個の演算結果をN/4行1列の行列データの組として4組に分け、前記4組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、前記第3の演算手段が、前記第2の演算手段から出力されるN個の演算結果の内のN/2個の演算結果をN/4行1列の行列データの組として2組に分け、2組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第2の行列演算手段から構成されていることを特徴としている
【0095】
また、逆離散コサイン変換装置は、N個の入力データに対して所定の演算を実行する第1の演算手段と、第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた逆離散コサイン変換装置であって、前記第1の演算手段が、N個の入力データの内のN/2個の入力データに対して乗算を実行する第1の乗算手段と第1の乗算手段から出力される演算結果に対して加減算を実行する第1の加減算手段とから構成され、前記第2の演算手段が、前記第1の演算手段から出力される演算結果及びN個の入力データの内第1の演算手段で用いられていないN/2個の入力データとをN/4行1列の行列データの組として4組に分け、4組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、前記第3の演算手段が、前記第2の演算手段から出力される演算結果に対して加減算を実行する第2の加減算手段と、第2の加減算手段から出力される演算結果に対して加減算を実行する第3の加減算手段とから構成し得る。
【0096】
本発明に係る逆離散コサイン変換装置は、N個の入力データに対して所定の演算を実行する第1の演算手段と、第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた逆離散コサイン変換装置であって、前記第1の演算手段が、N個の入力データの内のN/2個の入力データをN/4行1列の行列データの組として2組に分け、2組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、前記第2の演算手段が、前記第1の演算手段から出力される演算結果及びN個の入力データの内第1の演算手段で用いられていないN/2個の入力データとをN/4行1列の行列データの組として4組に分け、4組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第2の行列演算手段から構成され、前記第3の演算手段が、前記第2の演算手段から出力される演算結果に対して加減算を実行する第1の加減算手段と、第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段とから構成されていることを特徴としている。
【0097】
本発明に係る離散コサイン/逆離散コサイン変換装置は、選択信号が離散コサイン変換を指示した場合には、N個の入力データに対して所定の演算を実行する第1の演算手段と、
第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた離散コサイン変換装置として動作し、前記選択信号が逆離散コサイン変換を指示した場合には、N個の入力データに対して所定の演算を実行する第4の演算手段と、
第4の演算手段から出力される演算結果に対して所定の演算を実行する第5の演算手段と、第5の演算手段から出力される演算結果に対して所定の演算を実行する第6の演算手段とを備えた逆離散コサイン変換装置として動作する、離散コサイン/逆離散コサイン変換装置において、前記第1の演算手段が、入力データに対して加減算を実行する第1の加減算手段と第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段から構成され、前記第2の演算手段が、前記第1の演算手段から出力されるN個の演算結果をN/4行1列の行列データの組として4組に分け、前記4組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、前記第3の演算手段が、前記第2の演算手段から出力されるN個の演算結果の内のN/2個の演算結果をN/4行1列の行列データの組として2組に分け、2組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第2の行列演算手段から構成されており、前記第4の演算手段が、N個の入力データの内のN/2個の入力データをN/4行1列の行列データの組として2組に分け、2組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第3の行列演算手段から構成され、前記第5の演算手段が、前記第2の演算手段に含まれる第1の行列演算手段から構成構成され、前記第6の演算手段が、前記第5の演算手段から出力される演算結果に対して加減算を実行する第3の加減算手段と、第3の加減算手段から出力される演算結果に対して加減算を実行する第4の加減算手段とから構成されている、ことを特徴としている。また、本発明に係る離散コサイン/逆離散コサイン変換装置は、選択信号が離散コサイン変換を指示した場合には、N個の入力データに対して所定の演算を実行する第1の演算手段と、第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた離散コサイン変換装置として動作し、前記選択信号が逆離散コサイン変換を指示した場合には、N個の入力データに対して所定の演算を実行する第4の演算手段と、第4の演算手段から出力される演算結果に対して所定の演算を実行する第5の演算手段と、第5の演算手段から出力される演算結果に対して所定の演算を実行する第6の演算手段とを備えた逆離散コサイン変換装置として動作する、離散コサイン/逆離散コサイン変換装置において、前記第1の演算手段が、入力データに対して加減算を実行する第1の加減算手段と第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段から構成され、前記第2の演算手段が、前記第1の演算手段から出力される演算結果をN/4行1列の行列データの組として4組に分け、4組の行列データに対して各々、所定のN/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、前記第3の演算手段が、前記第2の演算手段から出力されるN個の演算結果の内のN/2個の演算結果に対して加減算処理を実行する第3の加減算手段と、第3の加減算手段から出力される演算結果に対して所定の乗算を実行する第1の乗算手段とから構成されており、前記第4の演算手段が、N個の入力データの内のN/2個の入力データに対して所定の乗算を実行する第2の乗算手段と第2の乗算手段から出力される演算結果及びN個の入力データの内第1の演算手段で用いられていないN/2個の入力データとに対して所定の加減算を実行する第4の加減算手段とから構成され、前記第5の演算手段が、前記第2の演算手段に含まれる前記第1の行列演算手段から構成され、前記第6の演算手段が、前記第5の演算手段から出力される演算結果に対して所定の加減算を実行する第5の加減算手段と、第5の加減算手段から出力される演算結果に対して所定の加減算を実行する第6の加減算手段とから構成されていることを特徴と ている。
【0098】
また、離散コサイン/逆離散コサイン変換装置は、選択信号が離散コサイン変換を指示している場合には、N個の入力データに対して所定の演算を実行する第1の演算手段と、第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた離散コサイン変換装置として動作し、前記選択信号が逆離散コサイン変換を指示している場合には、N個の入力データに対して所定の演算を実行する第4の演算手段と、第4の演算手段から出力される演算結果に対して所定の演算を実行する第5の演算手段と、第5の演算手段から出力される演算結果に対して所定の演算を実行する第6の演算手段とを備えた逆離散コサイン変換装置として動作する、離散コサイン/逆離散コサイン変換装置であって、前記第1の演算手段が、入力データに対して加減算を実行する第1の加減算手段と第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段から構成され、前記第2の演算手段が、前記第1の演算手段から出力される演算結果をN/4行1列の行列データの組として4組に分け、4組の行列データに対して各々、所定のN/4行N/4列の係数行列を乗じる前記第1の行列演算手段から構成され、前記第3の演算手段が、前記第2の演算手段から出力されるN個の演算結果の内のN/2個の演算結果に対して加減算処理を実行する第3の加減算手段と、第3の加減算手段から出力される演算結果に対して所定の乗算を実行する第1の乗算手段とから構成されており、前記第4の演算手段が、N個の入力データの内のN/2個の入力データに対して所定の乗算を実行する第2の乗算手段と第2の乗算手段から出力される演算結果及びN個の入力データの内第1の演算手段で用いられていないN/2個の入力データとに対して所定の加減算を実行する第4の加減算手段とから構成され、前記第5の演算手段が、前記第4の演算手段から出力される演算結果をN/4行1列の行列データの組として4組に分け、前記4組の行列データに対して各々、所定のN/4行N/4列の係数行列を乗じる前記第1の行列演算手段から構成され、前記第6の演算手段が、前記第2の演算手段から出力される演算結果に対して所定の加減算を実行する第3の加減算手段と、第3の加減算手段から出力される演算結果に対して所定の加減算を実行する第4の加減算手段とから構成し得る。
【0099】
【発明の実施の形態】
以下、本発明を実施例に従って詳細な説明を行う。近年、急速に普及しつつあるMPEG方式やディジタルVCR方式など、映像信号のディジタル画像処理ではN=8のDCTおよびIDCTが使用されることが多いので、以下の実施例ではN=8の場合について説明する。N=8の場合の1次元DCTは上記手段の結果、(21),(22),(29),(30)式から
【0100】
【数44】
Figure 0003970442
【0101】
【数45】
Figure 0003970442
【0102】
【数46】
Figure 0003970442
【0103】
【数47】
Figure 0003970442
【0104】
と表される。
【0105】
また、N=8の場合の1次元IDCTは、(34),(35),(42),(43)式から
【0106】
【数48】
Figure 0003970442
【0107】
【数49】
Figure 0003970442
【0108】
【数50】
Figure 0003970442
【0109】
【数51】
Figure 0003970442
【0110】
である。
【0111】
(第1の実施例)
図1は本発明の第1実施例である1次元離散コサイン変換器の演算フロー図であって、この回路は入力されたxk(k=0〜7)に対して、第1の演算手段においては、前処理として、
【0112】
【数52】
Figure 0003970442
【0113】
【数53】
Figure 0003970442
【0114】
【数54】
Figure 0003970442
【0115】
【数55】
Figure 0003970442
【0116】
【数56】
Figure 0003970442
【0117】
【数57】
Figure 0003970442
【0118】
【数58】
Figure 0003970442
【0119】
【数59】
Figure 0003970442
【0120】
の演算を行い、第2の演算手段においては、(44)〜(47)式に示した行列演算を行う。最後に、第3の演算手段においては後処理として、
【0121】
【数60】
Figure 0003970442
【0122】
【数61】
Figure 0003970442
【0123】
【数62】
Figure 0003970442
【0124】
【数63】
Figure 0003970442
【0125】
の演算を行う。
【0126】
図6は本発明の第1実施例の基本回路構成を示すブロック図である。以下に、この回路の動作について説明する。第1の演算手段622は第1の加減算手段623と第2の加減算手段624とからなり、入力端子601から第1の演算手段622に入力された8個のデータx0〜x7は入力順に第1の加減算手段623の中のレジスタ602〜609へ順次転送され、それぞれレジスタ609〜602に保持される。レジスタ609〜602のそれぞれの出力x0〜x7は加算器/減算器610で加算あるいは減算されて加算結果y0≡x0+x7,y11+x6,y2≡x2+x5,y3≡x3+x4がそれぞれレジスタ611〜614に保持され、減算結果ζ0≡x0−x7,ζ1≡x1−x6,ζ2≡x2−x5,ζ3≡x3−x4がそれぞれレジスタ615〜618に保持される。次にレジスタ611〜618のそれぞれの出力y0,y1,y2,y3,ζ0,ζ1,ζ2,ζ3は加算器/減算器619で加算あるいは減算されて,加算結果z0≡y0+y3,z2≡y1+y2,z5≡ζ0+ζ1,z3≡ζ1+ζ2,z7≡ζ2+ζ3,とz1≡ζ0および減算結果z4≡y0−y3,z6≡y1−y2が第2の演算手段620へ出力される。
【0127】
次に、図7に第2の演算手段620の回路構成を示すブロック図を示す。第2の演算手段620では図6に示した第1の演算手段622からの出力z0〜z7がそれぞれレジスタ700〜707に保持され、ビット分配器708において各ビット位置ごとに分解されて読み出し専用メモリ(ROM)710〜720へ入力される。ROM710〜720にはあらかじめ式(44)〜(47)に示した行列演算の係数行列と任意の2ビット数との乗算結果が記憶されており、ビット分配器708の出力と行列選択回路709の出力の組み合わせによってROM710〜720の出力が決まる。ROM710〜720の出力は各桁の積和演算結果になっており、桁位置を考慮したうえでこれらを加算すると式(44)〜(47)に示した行列演算の結果が得られるようになっている。この図では出力z0〜z7がそれぞれ11ビットの数値の場合を示しているが、ビット長が異なる場合にも基本的には同じ方法で演算できる。
【0128】
次に、レジスタ700〜707のそれぞれの出力z0〜z7を入力するビット分配器708の動作について、この構成を示す図8を用いて説明する。ビット分配器708において、レジスタ700と702のそれぞれの出力は、ビット操作部800により、それぞれ最上位ビットから最下位ビットまでの11本の信号線(最上位[10]〜最下位[0])に分けられ、同一ビット位置の2本の信号線が組み合わされた2ビットの信号線が11組構成されて、信号線[10]の2ビットの信号線はセレクタ804に、信号線[9]の2ビットの信号線はセレクタ805に、・・・、信号線[0]の2ビットの信号線はセレクタ814にというようにそれぞれセレクタ804〜814に入力される。
【0129】
同様に、レジスタ704と706のそれぞれの出力は、ビット操作部801により、それぞれ最上位ビットから最下位ビットまでの11本の信号線(最上位[10]〜最下位[0])に分けられ、同一ビット位置の2本の信号線が組み合わされた2ビットの信号線が11組構成されて、信号線[10]の2ビットの信号線はセレクタ804に、信号線[9]の2ビットの信号線はセレクタ805に、・・・、信号線[0]の2ビットの信号線はセレクタ814にというようにそれぞれセレクタ804〜814に入力される。
【0130】
同様に、レジスタ701と703のそれぞれの出力は、ビット操作部802により、それぞれ最上位ビットから最下位ビットまでの11本の信号線(最上位[10]〜最下位[0])に分けられ、同一ビット位置の2本の信号線が組み合わされた2ビットの信号線が11組構成されて、信号線[10]の2ビットの信号線はセレクタ804に、信号線[9]の2ビットの信号線はセレクタ805に、・・・、信号線[0]の2ビットの信号線はセレクタ814にというようにそれぞれセレクタ804〜814に入力される。
【0131】
同様に、レジスタ705と707のそれぞれの出力は、ビット操作部803により、それぞれ最上位ビットから最下位ビットまでの11本の信号線(最上位[10]〜最下位[0])に分けられ、同一ビット位置の2本の信号線が組み合わされた2ビットの信号線が11組構成されて、信号線[10]の2ビットの信号線はセレクタ804に、信号線[9]の2ビットの信号線はセレクタ805に、・・・、信号線[0]の2ビットの信号線はセレクタ814にというようにそれぞれセレクタ804〜814に入力される。
【0132】
このようにセレクタ804〜814はX0、X4を算出する場合にはz0、z2の同一ビット位置のビットからなる2ビット列をROM710〜720に出力し、X2,X6を算出する場合にはz4,z6の同一ビット位置のビットからなる2ビット列をROM710〜720に出力し、ζ1,ζ3を算出する場合にはz1,z3の同一ビット位置のビットからなる2ビット列をROM710〜720に出力し、ζ5,ζ7を算出する場合にはz5,z7の同一ビット位置のビットからなる2ビット列をROM710〜720に出力するようになっている。以上が、ビット分配器708の動作である。
【0133】
次に、積和演算ブロック721の動作について図7を用いて説明する。積和演算ブロック721はビット分配器708から11組の2ビット列を同時に入力して、式(44)、(45)および式(46),(47)に示した行列演算を構成する8個の積和演算を所定の順に行い、X0,X4,X2,X6,ζ1,ζ3,ζ5,ζ7を順次計算する。積和演算ブロック721に設けられたROM710〜720は,行選択回路709からの3ビットの行選択番号と、この行選択番号とは別に2ビット列を入力し、行選択信号が(000)であれば、2ビット列が、(00)であるときは0を、(01)であるときはC4を、(10)であるときはC4を、(11)であるときは2C4を、それぞれ出力し、また行選択信号が(001)であれば、2ビット列が、(00)であるときは0を、(01)であるときは−C4を、(10)であるときはC4を、(11)であるときは0を、それぞれ出力し、・・・また行選択信号が(111)であれば、2ビット列が、(00)であるときは0を、(01)であるときは−C2を、(10)であるときはC6を、(11)であるときはC6−C2を、それぞれ出力するようになっている。これにより、式(44)、(45)および式(46)、(47)からして、入力する行選択信号が(000)で2ビット列がz0、z2の同一ビット位置のビットからなるものであれば、X0の部分和を出力することになり、入力する行選択信号が(001)で2ビット列がz0、z2の同一ビット位置のビットからなるものであれば、X4の部分和を出力することになり、・・・・、入力する行選択信号が(111)で2ビット列がz5、z7の同一ビット位置のビットからなるものであればζ7の部分和を出力することになる。
【0134】
以下、式(44)に示した第1行目の演算、つまり、X0を計算する動作を例にとって説明を行う。
まず、行選択回路709から行選択信号として(000)がROM710〜720に入力されるとともに、ビット分配器708からz0、z2の、最上位ビットからなる2ビット列がROM710に、ビット位置1のビットからなる2ビット列がROM711に、・・・、最下位ビット(ビット位置10のビット)からなる2ビット列がROM720に、それぞれ入力され、これにより、ROM710からは最上位ビットからなる2ビット列を構成要素とするX0の部分和が、ROM711からはビット位置1のビットからなる2ビット列を構成要素とするX0の部分和が、・・・、ROM720からは最下位ビットからなる2ビット列を構成要素とするX0の部分和が、それぞれ出力されることになる。
【0135】
次に、ROM711、713、715、717、719の出力は、それぞれ、シフタ722、723、724、725、726にて1ビット上にシフトされた後、加算器727、728、729、730、731において、ROM712、714、716、718、720の出力と加算される。従って、加算器727、728、729、730、731の出力は、それぞれ、ビット位置1のビットからなる2ビット列を構成要素とするX0の部分和(1ビット上にシフトされている)とビット位置2のビットからなる2ビット列を構成要素とするX0の部分和との加算結果、ビット位置3のビットからなる2ビット列を構成要素とするX0の部分和(1ビット上にシフトされている)とビット位置4のビットからなる2ビット列を構成要素とするX0の部分和との加算結果、・・・ビット位置9のビットからなる2ビット列を構成要素とするX0の部分和(1ビット上にシフトされている)と最下位ビット(ビット位置10)のビットからなる2ビット列を構成要素とするX0の部分和との加算結果となる。
【0136】
次に、ROM710および加算器728、730の出力はそれぞれ、シフタ732、733、734にて2ビット上にシフトされた後、加算器735、736、737において、加算器727、729、731の出力と加算される。従って、加算器735の出力はビット位置0のビットからなる2ビット列を構成要素とするX0の部分和(2ビット上にシフトされている)と、ビット位置1のビットからなる2ビット列を構成要素とするX0の部分和(1ビット上にシフトされている)と、ビット位置2のビットからなる2ビット列を構成要素とするX0の部分和との加算結果となり、加算器736の出力はビット位置3のビットからなる2ビット列を構成要素とするX0の部分和(3ビット上にシフトされている)と、ビット位置4のビットからなる2ビット列を構成要素とするX0の部分和(2ビット上にシフトされている)と、ビット位置5のビットからなる2ビット列を構成要素とするX0の部分和(1ビット上にシフトされている)と、ビット位置6のビットからなる2ビット列を構成要素とするX0の部分和との加算結果となり、更に、加算器737の出力は、ビット位置7のビットからなる2ビット列を構成要素とするX0の部分和(3ビット上にシフトされている)と、ビット位置8のビットからなる2ビット列を構成要素とするX0の部分和(2ビット上にシフトされている)と、ビット位置9のビットからなる2ビット列を構成要素とするX0の部分和(1ビット上にシフトされている)と、最下位ビットからなる2ビット列を構成要素とするX0の部分和との加算結果となる。同様にして、加算器736の出力は、シフタ738で4ビット上にシフトされた後、加算器739において、加算器737の出力と加算される。
【0137】
次に、加算器735の出力はシフタ740で8ビット上にシフトされた後、加算器741において、加算器739の出力と加算される。そして、加算器741の出力は丸め、回路742で9ビットに丸められ、積和演算ブロック721からの出力端子743へ出力される。以上の動作により、z0とz2の各同一ビット位置からなる11組の2ビット列をそれぞれ構成要素とするX0の11個の部分和(すべての部分和)が同時に生成され、これらがビット位置に応じてシフトされて加算されるのでX0が計算されることになる。また、積和演算ブロック721において、ビット分配器708からはz0とz2の最上位ビットからなる2ビット列〜最下位ビットからなる2ビット列の11組の2ビット列がそれぞれROM710〜720に入力され、行選択回路709からROM710〜720に入力される行選択信号が(001)である場合はX4が計算されることになる。
【0138】
また、積和演算ブロック721において、ビット分配器708からはz4とz6の最上位ビットからなる2ビット列〜最下位ビットからなる2ビット列の11組の2ビット列がそれぞれROM710〜720に入力され、行選択回路709からROM710〜720に入力される行選択信号が(010)あるいは(011)である場合はそれぞれX2あるいはX6が計算されることになる。また、積和演算ブロック721において、ビット分配器708からはz1とz3の最上位ビットからなる2ビット列〜最下位ビットからなる2ビット列の11組の2ビット列がそれぞれROM710〜720に入力され、行選択回路709からROM710〜720に入力される行選択信号が(100)あるいは(101)である場合はそれぞれζ1あるいはζ3が計算されることになる。
【0139】
また、積和演算ブロック721において、ビット分配器708からはz5とz7の最上位ビットからなる2ビット列〜最下位ビットからなる2ビット列の11組の2ビット列がそれぞれROM710〜720に入力され、行選択回路709からROM710〜720に入力される行選択信号が(110)あるいは(111)である場合はそれぞれζ5あるいはζ7が計算されることになる。そして、行選択回路709から3ビットの行選択信号として(000)、(001)、・・・、(111)のどれが出力されるか、および、ビット分配器708から11組の2ビット列として、レジスタ700、702のそれぞれの出力であるz0とz2の各同一ビット位置のビットからなるものが同時に出力されるか、あるいはレジスタ704、706のそれぞれの出力であるz4とz6の各同一ビット位置のビットからなるものが同時に出力されるか、あるいはレジスタ701、703のそれぞれの出力であるz1とz3の各同一ビット位置のビットからなるものが同時に出力されるか、あるいはレジスタ705、707のそれぞれの出力であるz5とz7の各同一ビット位置のビットからなるものが同時に出力されるかが、それぞれ適切に切り替わるようになっており、X0、X4、X2、X6、ζ1、ζ3、ζ5、ζ7の計算が完了する。この計算結果は端子743から第3の演算手段へ出力される。
【0140】
第1の実施例の第3の演算手段の構成例を図9に示す。第2の演算手段における計算結果は端子743からセレクタ901を通じてX0、X4、X2、X6がそれぞれレジスタ902〜905へ転送され、ζ1、ζ3、ζ5、ζ7がそれぞれレジスタ906〜909へ転送される。レジスタ906〜909のデータは加算器/減算器910へ入力され、ζ1+ζ5すなわち2C11がレジスタ911へ、ζ1−ζ5すなわち2C77がレジスタ912へ、ζ3+ζ7すなわち2C33がレジスタ913へ、ζ3−ζ7すなわち2C55がレジスタ914へ、それぞれ転送される。レジスタ911〜914のデータはセレクタ915によって2C11、2C77、2C33、2C55がひとつずつ、乗算回路916へ転送され、行選択回路917の指定によって、それぞれ1/2C1倍、1/2C7倍、1/2C3倍、1/2C5倍されて、順次レジスタ918〜921へX1、X7、X3、X5が転送される。最後にセレクタ922によって、X0、X1、X2、X3、X4、X5、X6、X7が順次、出力端子923から出力されて、8点1次元DCT演算が完了する。この例では、第2の演算手段620における積和演算ブロック721は、1行毎に演算を行う場合を示したが、積和演算ブロック721の構成要素を2個、並列に設置することによって、2行2列の係数行列演算を同時に実行するようにも構成できる。その場合、行選択回路からの出力は2ビットであり、行選択信号として(00)、(01)、(10)、(11)のときに、それぞれ、X0とX4、X2とX6、ζ1とζ3、ζ5とζ7を計算する。
【0141】
(第2の実施例)
図2は本発明の第2実施例である1次元離散コサイン変換器の演算フロー図であって、この回路は入力されたxk(k=0〜7)に対して、第1の演算手段においては、前処理として第1実施例と同様に、式(52)〜(59)の演算を行い、第2の演算手段においては、式(44)〜(47)に示した行列演算を行う。最後に第3の演算手段においては後処理として、
【0142】
【数64】
Figure 0003970442
【0143】
【数65】
Figure 0003970442
【0144】
の演算を行う。
【0145】
図6は本発明の第2実施例の基本回路構成を示すブロック図であって、これは第1実施例と同じである。第1の演算手段622および第2の演算手段620の構成は第1実施例と同じである。第3の演算手段の構成例を図10に示す。第2の演算手段における計算結果は端子743からX0、X4、X2、X6、ζ1、ζ3、ζ5、ζ7がそれぞれレジスタ1001〜1008へ転送される。レジスタ1005〜1008のデータはビット分配器1009へ入力される。ビット分配器1009の構成は、基本的には第1実施例のビット分配器708と同じで、図11にその構成を示す。本実施例では、第2の演算手段620の出力743は丸め回路742において9ビットに丸められているので、レジスタ1005〜1008の出力は9ビットである。レジスタ1005とレジスタ1007の出力はビット操作部1101へ入力され、ビット分配器1009において、レジスタ1005と1007のそれぞれの出力は、ビット操作部1101により、それぞれ最上位ビットから最下位ビットまでの9本の信号線(最上位[8]〜最下位[0])に分けられ、同一ビット位置の2本の信号線が組み合わされた2ビットの信号線が9組構成されて、信号線[8]の2ビットの信号線はセレクタ1103に、信号線[7]の2ビットの信号線はセレクタ1104に、・・・、信号線[0]の2ビットの信号線はセレクタ1111にというようにそれぞれセレクタ1103〜1111に入力される。このようにしてビット分配器1009において各ビット位置ごとに分解されて第2の行列演算手段1010の読み出し専用メモリ(ROM)1011〜1019へ入力される。第2の行列演算手段1010では、第2の演算手段620と同様の動作によってX1、X7、X3、X5が計算され、レジスタ1021〜1024へ順次転送される。最後にセレクタ1025によって、X0、X1、X2、X3、X4、X5、X6、X7が順次、出力端子1016から出力されて、8点1次元DCT演算が完了する。第1実施例での第2の演算手段620における積和演算ブロック721と同様に、第2の行列演算手段1010では構成要素を2個、並列に設置することによって、2行2列の係数行列演算を同時に実行するようにも構成できる。その場合、行選択回路からの出力は1ビットであり、行選択信号として(0)、(1)のときに、それぞれ、X1とX7、X3とX5を計算する。
【0146】
(第3の実施例)
図3は本発明の第3実施例である1次元逆離散コサイン変換器の演算フロー図であって、この回路は入力されたXn(n=0〜7)に対して、第1の演算手段においては、前処理として、
【0147】
【数66】
Figure 0003970442
【0148】
【数67】
Figure 0003970442
【0149】
【数68】
Figure 0003970442
【0150】
【数69】
Figure 0003970442
【0151】
の演算を行い、第2の演算手段においては式(48)〜(51)に示した行列演算を行う。最後に、第3の演算手段においては後処理として、
【0152】
【数70】
Figure 0003970442
【0153】
【数71】
Figure 0003970442
【0154】
【数72】
Figure 0003970442
【0155】
【数73】
Figure 0003970442
【0156】
【数74】
Figure 0003970442
【0157】
【数75】
Figure 0003970442
【0158】
【数76】
Figure 0003970442
【0159】
【数77】
Figure 0003970442
【0160】
を行う。
【0161】
図12は本発明の第3実施例の基本回路構成を示すブロック図である。図13には第3実施例の第1の演算手段1202の回路構成を、図14には第3実施例の第2の演算手段1203の回路構成を示す。以下に、この回路の動作について説明する。入力端子1201から第1の演算手段1202に入力された8個のデータX0〜X7は入力順に図13のレジスタ1301〜1308へ順次転送され、それぞれレジスタ1308〜1301に保持される。レジスタ1301、1303、1305、1307からそれぞれX7、X5、X3、X1がセレクタ1311を通じて、X1、X3、X5、X7が順次乗算回路1312へ転送され、行選択回路1313の指定によって、それぞれC1倍、C3倍、C5倍、C7倍されて、順次レジスタ1314〜1317へC11、C33、C55、C77が転送される。
【0162】
レジスタ1314〜1317のデータは加算器/減算器1318へ入力され、ζ1すなわちC11+C77がレジスタ1319へ、ζ3すなわちC33+C55がレジスタ1320へ、ζ7すなわちC33−C55がレジスタ1321へ、ζ5すなわちC11−C77がレジスタ1322へ、それぞれ転送される。レジスタ1302、1304、1306、1308および1319〜1322のデータX6、X4、X2、X0、ζ1、ζ3、ζ7、ζ5は第2の演算手段1203に転送される。
【0163】
図14に示した第2の演算手段1203は図7と同様にして行列演算を行い、z0、z2、z4、z6、z1、z3、z5、z7を順次出力する。
【0164】
次に、第2の演算手段1203から第3の演算手段1204に入力された8個のデータz0、z2、z4、z6、z1、z3、z5、z7入力順に第2の加減算手段1205の中のレジスタ1207〜1214へ順次転送され、それぞれレジスタ1214〜1207に保持される。レジスタ1214〜1207のそれぞれの出力z0、z2、z4、z6、z1、z3、z5、z7は加算器/減算器1215で加算あるいは減算されて加算結果y0すなわちx0+x7、y1すなわちx1+x6、y2すなわちx2+x5、y3すなわちx3+x4がそれぞれレジスタ1216〜1219に保持され、減算結果ζ0すなわちx0−x7、ζ1すなわちx1−x6、ζ2すなわちx2−x5、ζ3すなわちx3−x4がそれぞれレジスタ1220〜1223に保持される。
【0165】
次にレジスタ1216〜1223のそれぞれの出力y0、y1、y2、y3、ζ0、ζ1、ζ2、ζ3は加算器/減算器1224で加算あるいは減算されて、加算結果x0〜x3および減算結果x4〜x7がレジスタ1225〜1232へ出力される。最後にx0、x1、x2、x3、x4、x5、x6、x7が順次、出力端子1233から出力されて、8点1次元IDCT演算が完了する。
【0166】
(第4の実施例)
図4は本発明の第4実施例である1次元逆離散コサイン変換器の演算フロー図であって、この回路は入力されたXn(n=0〜7)に対して、第1の演算手段においては、前処理として、
【0167】
【数78】
Figure 0003970442
【0168】
【数79】
Figure 0003970442
【0169】
の演算を行い、第2の演算手段においては第3実施例と同じく式(48)〜(51)に示した行列演算を行う。最後に第3の演算手段において第3実施例と同じく(70)〜(77)に示した演算を行う。第4実施例が第3実施例と異なるのは第1の演算手段1202の構成であって、図15にその構成を示す。
【0170】
第4実施例においては、入力端子1201から第1の演算手段1202に入力された8個のデータX0〜X7は入力順に図15のレジスタ1501〜1508へ順次転送され、それぞれレジスタ1508〜1501に保持される。レジスタ1501、1503、1505、1507からそれぞれX7、X5、X3、X1が第1の行列演算手段1509へ転送され、式(78)、(79)の行列演算を行い、演算結果ζ1、ζ5、ζ3、ζ5を順次レジスタ1510〜1513へ転送する。
【0171】
第1の行列演算手段1509の構成は、図16に示されるように、図7や図14と同様の構成であり、ROMの記憶内容が、係数行列に従って異なるだけである。以上の実施例から明らかなように、DCTおよびIDCTを一つの回路で実行できるDCT/IDCT回路を実現しようとした場合、本発明の第1実施例あるいは第2実施例と、本発明の第3実施例あるいは第4実施例を組み合わせて、選択信号によって切り替えることができればよい。
【0172】
この場合には、第2の演算手段におけるROMはDCTの4個の係数行列
【0173】
【数80】
Figure 0003970442
【0174】
とIDCTの4個の係数行列
【0175】
【数81】
Figure 0003970442
【0176】
は3個の係数行列が同じ値であり、また、DCTもIDCTもそれぞれ4つの係数行列の内、
【0177】
【数82】
Figure 0003970442
【0178】
を2つ含むので、本来、8種類の2行2列の係数行列であるべきところが4種類の2行2列の係数行列
【0179】
【数83】
Figure 0003970442
【0180】
を記憶しておくだけでよい。このような係数行列を記憶させることによって、第2の演算手段における第1の行列演算手段をDCTとIDCTとの時とで、共有化することができ、回路規模を小さくすることができる。
【0181】
【発明の効果】
以上、説明したように、本発明に係る離散コサイン変換装置、逆離散コサイン変換装置、および離散コサイン/逆離散コサイン変換装置は、N/4行N/4列の行列演算を実行することによって計算できるので、回路規模が小さくなり、消費電力の低減にも効果がある。また、本発明に係る離散コサイン/逆離散コサイン変換装置は、共通する係数行列を共用できるので、必要となるメモリの記憶容量が小さくて済み、全体の回路規模が小さくなるとともに、消費電力の低減にも効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例である。
【図2】本発明の第2の実施例である。
【図3】本発明の第3の実施例である。
【図4】本発明の第4の実施例である。
【図5】従来の例である。
【図6】第1の実施例および第2の実施例の基本構成例である。
【図7】第1の実施例および第2の実施例における第2の演算手段の構成例である。
【図8】図7におけるビット分配器の構成例である。
【図9】第1の実施例における第3の演算手段の構成例である。
【図10】第2の実施例における第3の演算手段の構成例である。
【図11】図10におけるビット分配器2の構成例である。
【図12】第3の実施例および第4の実施例の基本構成例である。
【図13】第3の実施例における第1の演算手段の構成例である。
【図14】第3の実施例における第2の演算手段の構成例である。
【図15】第4の実施例における第1の演算手段の構成例である。
【図16】図15における第1の行列演算手段の構成例である。
【符号の説明】
601 入力端子
610、619 加算器/減算器
602〜609、611〜618 レジスタ
622 第1の演算手段
623 第1の加算減手段
624 第2の加算減手段
700〜707 レジスタ
708 ビット分配器
709 行選択回路
710〜720 ROM
722〜726、732〜734、738、740 シフタ
727〜731、735〜737、739、741 加算器
742 丸め回路
743 出力端子
800〜803 ビット操作部
804〜814 セレクタ
901 セレクタ
902〜909、911〜914、918〜921 レジスタ
910 加算器/減算器
915 セレクタ
916 乗算器
917 行選択回路
922 セレクタ
923 出力
1001〜1008 レジスタ
1009 ビット分配器
1010 第2の行列演算手段
1011〜1019 読み出し専用メモリ
1021〜1024 レジスタ
1025 セレクタ
1101、1102 ビット操作部
1103〜1111 セレクタ
1202 第1の演算手段
1203 第2の演算手段
1204 第3の演算手段
1205 第2の加減算手段
1206 第3の加減算手段
1207〜1214、1216〜1223、1225〜1232 レジスタ
1215、1224 加算器/減算器
1301〜1308 レジスタ
1311 セレクタ
1312 乗算回路
1313 行選択回路
1314〜1317、1319〜1322 レジスタ
1318 加算器/減算器
1501〜1508、1510〜1513 レジスタ
1509 第1の行列演算手段

Claims (4)

  1. N個の入力データに対して所定の演算を実行する第1の演算手段と、
    第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、
    第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた離散コサイン変換装置であって、
    前記第1の演算手段が、入力データに対して加減算を実行する第1の加減算手段と第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段から構成され、
    前記第2の演算手段が、前記第1の演算手段から出力されるN個の演算結果をN/4行1列の行列データの組として4組に分け、前記4組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、
    前記第3の演算手段が、前記第2の演算手段から出力されるN個の演算結果の内のN/2個の演算結果をN/4行1列の行列データの組として2組に分け、2組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第2の行列演算手段から構成されていることを特徴とする離散コサイン変換装置。
  2. N個の入力データに対して所定の演算を実行する第1の演算手段と、
    第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、
    第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた逆離散コサイン変換装置であって、
    前記第1の演算手段が、N個の入力データの内のN/2個の入力データをN/4行1列の行列データの組として2組に分け、2組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、
    前記第2の演算手段が、前記第1の演算手段から出力される演算結果及びN個の入力データの内第1の演算手段で用いられていないN/2個の入力データとをN/4行1列の行列データの組として4組に分け、4組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第2の行列演算手段から構成され、
    前記第3の演算手段が、前記第2の演算手段から出力される演算結果に対して加減算を実行する第1の加減算手段と、第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段とから構成されていることを特徴とする逆離散コサイン変換装置。
  3. 選択信号が離散コサイン変換を指示した場合には、N個の入力データに対して所定の演算を実行する第1の演算手段と、
    第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、
    第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた離散コサイン変換装置として動作し、
    前記選択信号が逆離散コサイン変換を指示した場合には、N個の入力データに対して所定の演算を実行する第4の演算手段と、
    第4の演算手段から出力される演算結果に対して所定の演算を実行する第5の演算手段と、
    第5の演算手段から出力される演算結果に対して所定の演算を実行する第6の演算手段とを備えた逆離散コサイン変換装置として動作する、離散コサイン/逆離散コサイン変換装置において、
    前記第1の演算手段が、入力データに対して加減算を実行する第1の加減算手段と第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段から構 成され、
    前記第2の演算手段が、前記第1の演算手段から出力されるN個の演算結果をN/4行1列の行列データの組として4組に分け、前記4組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、
    前記第3の演算手段が、前記第2の演算手段から出力されるN個の演算結果の内のN/2個の演算結果をN/4行1列の行列データの組として2組に分け、2組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第2の行列演算手段から構成されており、
    前記第4の演算手段が、N個の入力データの内のN/2個の入力データをN/4行1列の行列データの組として2組に分け、2組の行列データに対して各々、N/4行N/4列の係数行列を乗じる第3の行列演算手段から構成され、
    前記第5の演算手段が、前記第2の演算手段に含まれる第1の行列演算手段から構成構成され、
    前記第6の演算手段が、前記第5の演算手段から出力される演算結果に対して加減算を実行する第3の加減算手段と、第3の加減算手段から出力される演算結果に対して加減算を実行する第4の加減算手段とから構成されている、ことを特徴とする離散コサイン/逆離散コサイン変換装置
  4. 選択信号が離散コサイン変換を指示した場合には、N個の入力データに対して所定の演算を実行する第1の演算手段と、
    第1の演算手段から出力される演算結果に対して所定の演算を実行する第2の演算手段と、
    第2の演算手段から出力される演算結果に対して所定の演算を実行する第3の演算手段とを備えた離散コサイン変換装置として動作し、
    前記選択信号が逆離散コサイン変換を指示した場合には、N個の入力データに対して所定の演算を実行する第4の演算手段と、
    第4の演算手段から出力される演算結果に対して所定の演算を実行する第5の演算手段と、
    第5の演算手段から出力される演算結果に対して所定の演算を実行する第6の演算手段とを備えた逆離散コサイン変換装置として動作する、離散コサイン/逆離散コサイン変換装置において、
    前記第1の演算手段が、入力データに対して加減算を実行する第1の加減算手段と第1の加減算手段から出力される演算結果に対して加減算を実行する第2の加減算手段から構成され、
    前記第2の演算手段が、前記第1の演算手段から出力される演算結果をN/4行1列の行列データの組として4組に分け、4組の行列データに対して各々、所定のN/4行N/4列の係数行列を乗じる第1の行列演算手段から構成され、
    前記第3の演算手段が、前記第2の演算手段から出力されるN個の演算結果の内のN/2個の演算結果に対して加減算処理を実行する第3の加減算手段と、第3の加減算手段から出力される演算結果に対して所定の乗算を実行する第1の乗算手段とから構成されており、
    前記第4の演算手段が、N個の入力データの内のN/2個の入力データに対して所定の乗算を実行する第2の乗算手段と第2の乗算手段から出力される演算結果及びN個の入力データの内第1の演算手段で用いられていないN/2個の入力データとに対して所定の加減算を実行する第4の加減算手段とから構成され、
    前記第5の演算手段が、前記第2の演算手段に含まれる前記第1の行列演算手段から構成され、
    前記第6の演算手段が、前記第5の演算手段から出力される演算結果に対して所定の加減算を実行する第5の加減算手段と、第5の加減算手段から出力される演算結果に対して所定の加減算を実行する第6の加減算手段とから構成されていることを特徴とする離散コサイン/逆離散コサイン変換装置。
JP31169598A 1998-11-02 1998-11-02 離散コサイン変換装置及び逆離散コサイン変換装置 Expired - Fee Related JP3970442B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP31169598A JP3970442B2 (ja) 1998-11-02 1998-11-02 離散コサイン変換装置及び逆離散コサイン変換装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP31169598A JP3970442B2 (ja) 1998-11-02 1998-11-02 離散コサイン変換装置及び逆離散コサイン変換装置

Publications (2)

Publication Number Publication Date
JP2000137703A JP2000137703A (ja) 2000-05-16
JP3970442B2 true JP3970442B2 (ja) 2007-09-05

Family

ID=18020362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31169598A Expired - Fee Related JP3970442B2 (ja) 1998-11-02 1998-11-02 離散コサイン変換装置及び逆離散コサイン変換装置

Country Status (1)

Country Link
JP (1) JP3970442B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011133008A2 (ko) * 2010-04-23 2011-10-27 삼성전자 주식회사 영상의 변환 방법 및 장치, 역변환 방법 및 장치
US9516345B2 (en) * 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations

Also Published As

Publication number Publication date
JP2000137703A (ja) 2000-05-16

Similar Documents

Publication Publication Date Title
US4791598A (en) Two-dimensional discrete cosine transform processor
JP2945487B2 (ja) 行列乗算器
US6029185A (en) Discrete cosine high-speed arithmetic unit and related arithmetic unit
US5331585A (en) Orthogonal transformation processor for compressing information
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
JPH04313157A (ja) 演算処理装置
KR20010023031A (ko) 가변 블록 사이즈의 2-차원 역 이산 코사인 변환 엔진
KR0150350B1 (ko) 직교변환 프로세서
JP6357345B2 (ja) ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法
JP3970442B2 (ja) 離散コサイン変換装置及び逆離散コサイン変換装置
JP5589628B2 (ja) 内積演算装置および内積演算方法
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
JPH07200539A (ja) 二次元dct演算装置
JP4405452B2 (ja) 逆変換回路
JP3652717B2 (ja) 離散コサイン高速演算器
JP3575991B2 (ja) 直交変換回路
JP2822684B2 (ja) 離散コサイン変換装置および逆離散コサイン変換装置
JP3396818B2 (ja) Dct演算回路及びidct演算回路
JP3895031B2 (ja) 行列ベクトル乗算器
KR0126109B1 (ko) 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서
KR20030019787A (ko) 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법
KR100329367B1 (ko) 영상 압축 시스템에서 디씨티 구조
JP3654622B2 (ja) Dct演算装置及びidct演算装置
JPH05153402A (ja) 離散コサイン変換器
JPH06274524A (ja) 直交変換回路および逆変換回路

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041008

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060814

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061023

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20061023

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070606

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100615

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110615

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120615

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130615

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees