JP3970442B2 - 離散コサイン変換装置及び逆離散コサイン変換装置 - Google Patents
離散コサイン変換装置及び逆離散コサイン変換装置 Download PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 claims description 281
- 239000011159 matrix material Substances 0.000 claims description 120
- 238000000034 method Methods 0.000 claims description 19
- 238000007792 addition Methods 0.000 description 70
- 230000014509 gene expression Effects 0.000 description 38
- 238000010586 diagram Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 230000015654 memory Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 3
- 238000012805 post-processing Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 2
- 230000003252 repetitive effect Effects 0.000 description 2
- OVSKIKFHRZPJSS-UHFFFAOYSA-N 2,4-D Chemical compound OC(=O)COC1=CC=C(Cl)C=C1Cl OVSKIKFHRZPJSS-UHFFFAOYSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000007480 spreading Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
【発明の属する技術分野】
本発明は、画像信号の符号化やフィルタ処理などに使用される離散コサイン変換(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】
【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】
【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】
【0008】
N点1次元DCTの奇数n行:
【0009】
【数4】
【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】
【0012】
IDCTの奇数n行:
【0013】
【数6】
【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】
【0017】
を用いると、DCTの奇数n行(Jeong):
【0018】
【数8】
【0019】
となる。このようにして、DCTの変換式として(3)式と(8)式を用いる。DCTの偶数n行の(3)式は(N/2)点DCTの式
ykからYlへのN/2点DCTの定義式:
【0020】
【数9】
【0021】
と比べると、
【0022】
【数10】
【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】
【0027】
8点1次元DCTの奇数n行:
【0028】
【数12】
【0029】
と分解し、更に、4点1次元DCTの偶数l行(l=2j):
【0030】
【数13】
【0031】
4点1次元DCTの奇数l行(l=2j+1):
【0032】
【数14】
【0033】
から、nが偶数の行(11)式は4点1次元DCTの(13)式、(14)式で表現できる。係数をまとめて式を整理すると、
【0034】
【数15】
【0035】
【数16】
【0036】
【数17】
【0037】
【数18】
【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】
【0046】
【数20】
【0047】
を得る。(19)式と(20)式を行列表示すると、
【0048】
【数21】
【0049】
【数22】
【0050】
と分解できる。
【0051】
(DCTの変形3(奇数n行の分割))
奇数n行の変換式(4)はζk≡xk−xN-1-kと置きなおし、Jeongの方法と同様に三角関数の積和公式を用いて、
【0052】
【数23】
【0053】
と変形できる。(23)式において、ζk-1とζkの係数を考えて同じcos係数で括り、cos関数の性質を考慮すると、
【0054】
【数24】
【0055】
と書ける。(24)式の右辺のcos関数をkが偶数の場合(k=2jとする)と奇数の場合(k=2j+1とする)に分割する(j=0,1,2,・・・,(N/4)−1)。
【0056】
【数25】
【0057】
(25)式から、変換式の第(N/2)−1−l行は
【0058】
【数26】
【0059】
(25)式と(26)式から次の2式を得る。
【0060】
【数27】
【0061】
【数28】
【0062】
(27)式と(28)式を行列表記すると、
【0063】
【数29】
【0064】
【数30】
【0065】
(29)式と(30)式の演算結果(即ち左辺)から、
【0066】
【数31】
【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】
【0073】
【数33】
【0074】
を得ることができる。(32)式,(33)式を行列表示すると、
【0075】
【数34】
【0076】
【数35】
【0077】
以上で、IDCTの偶数項の係数行列は(N/4)×(N/4)の行列2個に分解できた。
【0078】
(IDCTの変形3(奇数n項の分割))
IDCTの奇数項の(6)式において、DCTの奇数行の変換と同様に、
【0079】
【数36】
【0080】
と書き直すと、(6)式は、
【0081】
【数37】
【0082】
(37)式から、
【0083】
【数38】
【0084】
を得る。ここで、三角関数の積和公式を用いると、
【0085】
【数39】
【0086】
となる。(39)式において、2項めのcos関数はkを含まないのでX2l+1とまとめて扱うことにする。X2l+1C2l+1のcos係数はcos{2k(2l+1)π/2N}であり、X2{(N/2-1)-(2l-1)}C2{(N/2-1)-(2l-1)}のcos係数を考えると、式(39)はkが偶数の時(k=2jとする)とkが奇数の時(k=2j+1とする)に分割できて、
【0087】
【数40】
【0088】
【数41】
【0089】
となる。式(40)と(41)を行列表示すると、
【0090】
【数42】
【0091】
【数43】
【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】
【0101】
【数45】
【0102】
【数46】
【0103】
【数47】
【0104】
と表される。
【0105】
また、N=8の場合の1次元IDCTは、(34),(35),(42),(43)式から
【0106】
【数48】
【0107】
【数49】
【0108】
【数50】
【0109】
【数51】
【0110】
である。
【0111】
(第1の実施例)
図1は本発明の第1実施例である1次元離散コサイン変換器の演算フロー図であって、この回路は入力されたxk(k=0〜7)に対して、第1の演算手段においては、前処理として、
【0112】
【数52】
【0113】
【数53】
【0114】
【数54】
【0115】
【数55】
【0116】
【数56】
【0117】
【数57】
【0118】
【数58】
【0119】
【数59】
【0120】
の演算を行い、第2の演算手段においては、(44)〜(47)式に示した行列演算を行う。最後に、第3の演算手段においては後処理として、
【0121】
【数60】
【0122】
【数61】
【0123】
【数62】
【0124】
【数63】
【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,y1x1+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すなわち2C1X1がレジスタ911へ、ζ1−ζ5すなわち2C7X7がレジスタ912へ、ζ3+ζ7すなわち2C3X3がレジスタ913へ、ζ3−ζ7すなわち2C5X5がレジスタ914へ、それぞれ転送される。レジスタ911〜914のデータはセレクタ915によって2C1X1、2C7X7、2C3X3、2C5X5がひとつずつ、乗算回路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】
【0143】
【数65】
【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】
【0148】
【数67】
【0149】
【数68】
【0150】
【数69】
【0151】
の演算を行い、第2の演算手段においては式(48)〜(51)に示した行列演算を行う。最後に、第3の演算手段においては後処理として、
【0152】
【数70】
【0153】
【数71】
【0154】
【数72】
【0155】
【数73】
【0156】
【数74】
【0157】
【数75】
【0158】
【数76】
【0159】
【数77】
【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へC1X1、C3X3、C5X5、C7X7が転送される。
【0162】
レジスタ1314〜1317のデータは加算器/減算器1318へ入力され、ζ1すなわちC1X1+C7X7がレジスタ1319へ、ζ3すなわちC3X3+C5X5がレジスタ1320へ、ζ7すなわちC3X3−C5X5がレジスタ1321へ、ζ5すなわちC1X1−C7X7がレジスタ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】
【0168】
【数79】
【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】
【0174】
とIDCTの4個の係数行列
【0175】
【数81】
【0176】
は3個の係数行列が同じ値であり、また、DCTもIDCTもそれぞれ4つの係数行列の内、
【0177】
【数82】
【0178】
を2つ含むので、本来、8種類の2行2列の係数行列であるべきところが4種類の2行2列の係数行列
【0179】
【数83】
【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)
- 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の行列演算手段から構成されていることを特徴とする離散コサイン変換装置。 - 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の加減算手段とから構成されていることを特徴とする逆離散コサイン変換装置。 - 選択信号が離散コサイン変換を指示した場合には、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の加減算手段とから構成されていることを特徴とする離散コサイン/逆離散コサイン変換装置。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110118598A (ko) * | 2010-04-23 | 2011-10-31 | 삼성전자주식회사 | 영상의 변환 방법 및 장치, 역변환 방법 및 장치 |
US9516345B2 (en) * | 2014-03-17 | 2016-12-06 | Qualcomm Incorporated | Systems and methods for low complexity forward transforms using mesh-based calculations |
-
1998
- 1998-11-02 JP JP31169598A patent/JP3970442B2/ja not_active Expired - Fee Related
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 | |
JP2646778B2 (ja) | ディジタル信号処理装置 | |
JP2945487B2 (ja) | 行列乗算器 | |
US5331585A (en) | Orthogonal transformation processor for compressing information | |
US20070094320A1 (en) | Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution | |
JPH04313157A (ja) | 演算処理装置 | |
WO1995033241A1 (fr) | Processeur arithmetique a haute vitesse pour transformee en cosinus discrete et operations associees | |
KR20010023031A (ko) | 가변 블록 사이즈의 2-차원 역 이산 코사인 변환 엔진 | |
KR0150350B1 (ko) | 직교변환 프로세서 | |
JP6357345B2 (ja) | ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法 | |
JP3970442B2 (ja) | 離散コサイン変換装置及び逆離散コサイン変換装置 | |
JP5589628B2 (ja) | 内積演算装置および内積演算方法 | |
KR100575285B1 (ko) | 고속의 저전력 이산 코사인 변환 장치 및 방법 | |
JPH07200539A (ja) | 二次元dct演算装置 | |
KR100433709B1 (ko) | 행렬 변화를 통한 분산산술처리 방식의 이산여현변환 방법 | |
JP3652717B2 (ja) | 離散コサイン高速演算器 | |
JP3575991B2 (ja) | 直交変換回路 | |
JP2822684B2 (ja) | 離散コサイン変換装置および逆離散コサイン変換装置 | |
KR100202567B1 (ko) | 고속 역이산 코사인변환 연산장치 | |
JP2001084242A (ja) | 可変演算プロセッサ | |
JP3396818B2 (ja) | Dct演算回路及びidct演算回路 | |
JP3895031B2 (ja) | 行列ベクトル乗算器 | |
KR0126109B1 (ko) | 이산적 코사인변환 및 역변환을 위한 집적회로 프로세서 | |
KR100329367B1 (ko) | 영상 압축 시스템에서 디씨티 구조 | |
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 |