JP3129392B2 - 2次元idct回路 - Google Patents

2次元idct回路

Info

Publication number
JP3129392B2
JP3129392B2 JP1796096A JP1796096A JP3129392B2 JP 3129392 B2 JP3129392 B2 JP 3129392B2 JP 1796096 A JP1796096 A JP 1796096A JP 1796096 A JP1796096 A JP 1796096A JP 3129392 B2 JP3129392 B2 JP 3129392B2
Authority
JP
Japan
Prior art keywords
dimensional
dimensional idct
circuit
idct
operator
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
JP1796096A
Other languages
English (en)
Other versions
JPH09212485A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP1796096A priority Critical patent/JP3129392B2/ja
Priority to US08/791,984 priority patent/US5964824A/en
Publication of JPH09212485A publication Critical patent/JPH09212485A/ja
Application granted granted Critical
Publication of JP3129392B2 publication Critical patent/JP3129392B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Complex Calculations (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、画像信号処理等で
用いられる2次元逆離散コサイン変換(IDCT)を実
現する2次元IDCT回路に関する。
【0002】
【従来の技術】マイクロプロセッサやシグナルプロセッ
サの性能向上により、これらのプロセッサにより画像信
号処理を実現することが可能になってきている。なかで
も乗算器や積和演算器を内蔵したマイクロプロセッサで
は積和演算を加減算と同じクロック数で実現できるた
め、処理の高速化にあたっては乗算の数を減らすだけで
なく、加減算と積和演算の数の和を最小化することが望
ましい。
【0003】マイクロプロセッサやシグナルプロセッサ
により2次元(逆)DCTを実現する場合、内部レジス
タの本数の制限から、まず行方向の1次元(逆)DCT
を計算して結果を一旦外部メモリに格納し、次に行方向
処理結果をメモリから列方向に読み出して列方向の1次
元(逆)DCTを実行するのが一般的である。このと
き、演算量やハードウェア量が増大するのを防ぐため
に、行方向の演算結果は単精度に打ち切って外部メモリ
に格納するのが普通であり、そのために演算誤差が生じ
る。このような演算誤差を抑えながら積和演算と加減算
の総数を抑える方法として、1995年電子情報通信学
会基礎・境界ソサイエティ大会予稿集88頁に記載され
ている「2次元(逆)DCT高速化の一検討」等があ
る。
【0004】図10は、従来の2次元IDCT回路の一
例を示すブロック図である。まずM×N2次元IDCT
演算器2では、M×N(M及びNはそれぞれ自然数を表
す)個のDCT係数を入力として、M点×N点2次元逆
離散コサイン変換を行う。M×N2次元IDCT演算器
2では少数部kビット目まで計算し、加算器19とシフ
ト演算器3で演算結果を整数に丸める。そのため加算器
19では、M×N2次元IDCT演算器2の出力データ
全てに対して最下位ビットから数えてk−1ビット目に
1を加算する。シフト演算器3は、加算器19の出力を
kビット右シフトする。
【0005】
【発明が解決しようとする課題】以上説明した従来方式
では、少数部kビット目まで計算された演算結果を丸め
る為に、加算器19においてM×N2次元IDCT演算
器2の演算結果であるM×N個のデータ全てに対して丸
めの為に0.5を加算している。そのため加算演算がM
×N回必要である。
【0006】本発明の目的は、丸めの為の加算の回数を
1回に削減できる高速な2次元IDCT回路を提供する
ことにある。
【0007】
【課題を解決するための手段】本発明によれば、M×N
(M及びNはそれぞれ自然数を表す)が22n(nは1以
上の整数を表す)であるM点×N点2次元IDCT(逆
離散コサイン変換)を計算する2次元IDCT回路にお
いて、2次元IDCTをMN行MN列の変換行列とMN
次の入力ベクトルとの行列ベクトル積として計算するM
×N2次元IDCT演算器と、このM×N2次元IDC
T演算器の演算結果を右シフトするシフト演算器と、前
記M×N2次元IDCT演算器の入力であるDCT(離
散コサイン変換)係数のうち直流成分の係数に2n-2
加算する加算器とを備え、前記シフト演算器の出力信号
を前記2次元IDCT回路の回路出力信号とすることを
特徴とする2次元IDCT回路が得られる。
【0008】更に本発明によれば、M及びNがそれぞれ
8であり、nが3であることを特徴とする2次元IDC
T回路が得られる。
【0009】また本発明によれば、M×N2次元IDC
T演算器として8×8・2次元IDCT演算器を備えた
2次元IDCT回路において、前記8×8・2次元ID
CT演算器が、複数のテンソル積演算器と、複数のバタ
フライ演算器と、複数の2次元バタフライ演算器とを用
いて構成されていることを特徴とする2次元IDCT回
路が得られる。
【0010】
【作用】本発明の原理を説明する。M点×N点2次元I
DCTは、下記の数式1
【0011】
【数1】 とすると、下記の数式2
【0012】
【数2】 と表せる。ここで、x(0,0)の係数であるr(0,
0,i,j)は、下記の数式3
【0013】
【数3】 となり、i、jの値に関係のない定数になる。少数部k
ビット目まで計算したf(i,j)を、最終段でkビッ
ト右シフトして整数化するため、0.5に相当する値す
なわち最下位ビットから数えてk−1ビット目に丸めの
ための1を加算する。f(i,j)に0.5を加算する
のは、式(1)の右辺総和の第1項に予め0.5を加算
しておくのと等価であるため、第1項は下記の数式4
【0014】
【数4】 となり、i、jに関係のない値となる。さらに、M・N
の値が22nであるとき、21-n (x(0,0)+
n-2 )となる。
【0015】このように、M点×N点2次元IDCT演
算においては、入力のDC係数であるx(0,0)に2
n-2 を加算することで、全てのf(i,j)の最下位ビ
ットから数えてk−1ビット目に1を加算したことにな
り、丸めによる加算の回数をM×N回から1回に減らす
ことができる。
【0016】
【発明の実施の形態】次に、本発明の実施例を図面を参
照しながら説明する。
【0017】u、vをそれぞれ0からN−1、M−1ま
での整数とし、uを垂直方向のアドレス、vを水平方向
のアドレスとするDCT係数をx(u,v)とする。
【0018】図1は本発明の一実施例によるM点×N点
2次元IDCT回路の一実施例を示すブロック図であ
る。加算器1は、図2に示すように、入力DCT係数の
うちのDC係数x(0,0)を入力とし、2n-2 を加算
する。M×N2次元IDCT演算器2では、加算器1の
出力と、DCT係数x(0,1)からx(M−1,N−
1)を入力としてM点×N点2次元逆離散コサイン変換
を行う。演算器2では小数部kビット目まで計算する。
シフト演算器3では、図3に示すように、小数部kビッ
トで計算されたM×N2次元IDCT演算器2の演算結
果をそれぞれkビット算術右シフトして出力する。
【0019】図4に、M×N2次元IDCT演算器2の
一実施例を示す。乗算器4では、x(0,0)からx
(M−1,N−1)のM×N個のDCT係数を入力と
し、それぞれの入力データx(u,v)に対して乗算係
数r(u,v,i,j)をかける。加算器5では、乗算
器4の乗算結果M×N個を全て加算し、IDCT演算結
果f(i,j)を得る。
【0020】M×N2次元IDCT演算器2としては、
2次元IDCTをMN行MN列の変換行列とMN次の入
力ベクトルとの行列ベクトル積として計算する演算方式
であればどのような方式を用いても良い。
【0021】例えば、1995年電子情報通信学会基礎
・境界ソサイエティ大会予稿集88頁に記載の方式を用
いた場合のM=N=8の構成例を図5に示す。8×8・
2次元IDCT演算器は、テンソル積演算器6〜14
と、バタフライ演算器16及び17と、2次元バタフラ
イ演算器15及び18とから構成される。
【0022】Cuv={(cos2πu)/32}・
{(cos2πv)/32}とすると、テンソル積演算
器6は、DCT係数(0,0)、(0,4)、(4,
0)、(4,4)を入力として、下記の数式5で表され
る4×4行列
【0023】
【数5】 との行列ベクトル演算を行う。
【0024】テンソル積演算器7は、DCT係数(0,
2)、(0,6)、(4,2)、(4,6)を入力とし
て、下記の数式6で表される4×4行列
【0025】
【数6】 との行列ベクトル演算を行う。
【0026】テンソル積演算器8は、DCT係数(2,
0)、(2,4)、(6,0)、(6,4)を入力とし
て、下記の数式7で表される4×4行列
【0027】
【数7】 との行列ベクトル演算を行う。
【0028】テンソル積演算器9は、DCT係数(2,
2)、(2,6)、(6,2)、(6,6)を入力とし
て、下記の数式8で表される4×4行列
【0029】
【数8】 との行列ベクトル演算を行う。
【0030】テンソル積演算器10は、DCT係数
(0,1)、(0,3)、(0,5)、(0,7)、
(4,1)、(4,3)、(4,5)、(4,7)を入
力として、下記の数式9で表される8×8行列
【0031】
【数9】 との行列ベクトル演算を行う。
【0032】テンソル積演算器11は、DCT係数
(2,1)、(2,3)、(2,5)、(2,7)、
(6,1)、(6,3)、(6,5)、(6,7)を入
力として、下記の数式10で表される8×8行列
【0033】
【数10】 との行列ベクトル演算を行う。
【0034】テンソル積演算器12は、DCT係数
(1,0)、(1,4)、(3,0)、(3,4)、
(5,0)、(5,4)、(7,0)、(7,4)を入
力として、下記の数式11で表される8×8行列
【0035】
【数11】 との行列ベクトル演算を行う。
【0036】テンソル積演算器13は、DCT係数
(1,2)、(1,6)、(3,2)、(3,6)、
(5,2)、(5,6)、(7,2)、(7,6)を入
力として、下記の数式12で表される8×8行列
【0037】
【数12】 との行列ベクトル演算を行う。
【0038】テンソル積演算器14は、DCT係数
(1,1)、(1,3)、(1,5)、(1,7)、
(3,1)、(3,3)、(3,5)、(3,7)、
(5,1)、(5,3)、(5,5)、(5,7)、
(7,1)、(7,3)、(7,5)、(7,7)を入
力として、下記の数式13で表される16×16行列
【0039】
【数13】 との行列ベクトル演算を行う。
【0040】2次元バタフライ演算器15は、テンソル
積演算器6、7、8、9の演算結果を入力として図6の
フローグラフで表される処理を行う。バタフライ演算器
16は、テンソル積演算器10と11の演算結果を入力
として図7のフローグラフで表される処理を行う。バタ
フライ演算器17は、テンソル積演算器12と13の演
算結果を入力として図8のフローグラフで表される処理
を行う。2次元バタフライ演算器18は、2次元バタフ
ライ演算器15とバタフライ演算器16と17とテンソ
ル積演算器14の演算結果を入力として図9のフローグ
ラフで表される処理を行う。
【0041】
【発明の効果】以上説明したように、本発明に従えばM
×Nが2の2n乗であるM点×N点2次元IDCTを演
算する回路において、1回の加算で全ての演算結果に対
して丸めのための加算を行ったのと同等の効果を得るこ
とができ、高速に2次元IDCT演算を行うことが可能
になる。
【図面の簡単な説明】
【図1】本発明の一実施例による2次元IDCT回路の
実施例を示すブロック図である。
【図2】図1の加算器1の演算を説明する図である。
【図3】図1のシフト演算器3の動作を説明する図であ
る。
【図4】図1のM×N2次元IDCT演算器2の一例を
示すブロック図である。
【図5】8点×8点2次元IDCT演算回路の一例を示
すブロック図である。
【図6】図5の4点×4点2次元バタフライ演算器15
で行う演算を示す図である。
【図7】図5のバタフライ演算器16で行う演算を示す
図である。
【図8】図5のバタフライ演算器17で行う演算を示す
図である。
【図9】図5の2次元バタフライ演算器18で行う演算
を示す図である。
【図10】従来の2次元IDCT回路を示すブロック図
である。
【符号の説明】
1 加算器 2 M×N2次元IDCT演算器 3 シフト演算器 4 乗算器 5 加算器 6 テンソル積演算器 7 テンソル積演算器 8 テンソル積演算器 9 テンソル積演算器 10 テンソル積演算器 11 テンソル積演算器 12 テンソル積演算器 13 テンソル積演算器 14 テンソル積演算器 15 2次元バタフライ演算器 16 バタフライ演算器 17 バタフライ演算器 18 2次元バタフライ演算器 19 加算器
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平1−320572(JP,A) 特開 平6−83586(JP,A) 特開 平6−13914(JP,A) 特開 平4−220081(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 17/14 H04N 1/41 H04N 7/30 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 M×N(M及びNはそれぞれ自然数を表
    す)が22n(nは1以上の整数を表す)であるM点×N
    点2次元IDCT(逆離散コサイン変換)を計算する2
    次元IDCT回路において、 2次元IDCTをMN行MN列の変換行列とMN次の入
    力ベクトルとの行列ベクトル積として計算するM×N2
    次元IDCT演算器と、 このM×N2次元IDCT演算器の演算結果を右シフト
    するシフト演算器と、前記M×N2次元IDCT演算器
    の入力であるDCT(離散コサイン変換)係数のうち直
    流成分の係数に2n-2 を加算する加算器とを備え、 前記シフト演算器の出力信号を前記2次元IDCT回路
    の回路出力信号とすることを特徴とする2次元IDCT
    回路。
  2. 【請求項2】 M及びNがそれぞれ8であり、nが3で
    あることを特徴とする請求項1に記載の2次元IDCT
    回路。
  3. 【請求項3】 M×N2次元IDCT演算器として8×
    8・2次元IDCT演算器を備えた請求項2に記載の2
    次元IDCT回路において、前記8×8・2次元IDC
    T演算器が、複数のテンソル積演算器と、複数のバタフ
    ライ演算器と、複数の2次元バタフライ演算器とを用い
    て構成されていることを特徴とする2次元IDCT回
    路。
JP1796096A 1996-02-02 1996-02-02 2次元idct回路 Expired - Fee Related JP3129392B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP1796096A JP3129392B2 (ja) 1996-02-02 1996-02-02 2次元idct回路
US08/791,984 US5964824A (en) 1996-02-02 1997-01-31 Two-dimensional IDCT circuit with input adder out output shifter for reducing addition operations during rounding-up

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP1796096A JP3129392B2 (ja) 1996-02-02 1996-02-02 2次元idct回路

Publications (2)

Publication Number Publication Date
JPH09212485A JPH09212485A (ja) 1997-08-15
JP3129392B2 true JP3129392B2 (ja) 2001-01-29

Family

ID=11958322

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1796096A Expired - Fee Related JP3129392B2 (ja) 1996-02-02 1996-02-02 2次元idct回路

Country Status (2)

Country Link
US (1) US5964824A (ja)
JP (1) JP3129392B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353685B1 (en) * 1998-09-01 2002-03-05 Divio, Inc. Method and apparatus for image compression
JP3586427B2 (ja) 1998-12-14 2004-11-10 松下電器産業株式会社 Dct演算装置
US7020671B1 (en) * 2000-03-21 2006-03-28 Hitachi America, Ltd. Implementation of an inverse discrete cosine transform using single instruction multiple data instructions
US6859815B2 (en) 2000-12-19 2005-02-22 Koninklijke Philips Electronics N.V. Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding
KR100465156B1 (ko) * 2001-08-31 2005-01-13 (주)씨앤에스 테크놀로지 분산산술처리방식의 dct/idct 연산기에 있어서연산오차 및 연산시간 감소방법
US8121428B2 (en) * 2005-05-31 2012-02-21 Microsoft Corporation Accelerated image rendering
JP5546329B2 (ja) * 2010-04-14 2014-07-09 キヤノン株式会社 データ変換装置
CN102227135A (zh) * 2011-04-20 2011-10-26 深圳市融创天下科技发展有限公司 一种视频编码8x8整数变换方法
CN102137261A (zh) * 2011-04-20 2011-07-27 深圳市融创天下科技发展有限公司 一种视频编码16x16整数变换方法
CN112422979B (zh) * 2019-08-23 2022-12-13 瑞昱半导体股份有限公司 应用于离散及逆离散正弦余弦变换的运算电路

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2532588B2 (ja) * 1988-06-22 1996-09-11 富士通株式会社 直交逆変換装置
US5029122A (en) * 1988-12-27 1991-07-02 Kabushiki Kaisha Toshiba Discrete cosine transforming apparatus
DE3900349A1 (de) * 1989-01-07 1990-07-12 Diehl Gmbh & Co Schaltungsanordnung zur echtzeit-durchfuehrung der schnellen fouriertransformation
US5299025A (en) * 1989-10-18 1994-03-29 Ricoh Company, Ltd. Method of coding two-dimensional data by fast cosine transform and method of decoding compressed data by inverse fast cosine transform
US5216516A (en) * 1990-04-27 1993-06-01 Ricoh Company, Inc. Orthogonal transformation arithmetic unit
JPH04220081A (ja) * 1990-12-20 1992-08-11 Fujitsu Ltd 画像データ復元方法及び装置
US5262958A (en) * 1991-04-05 1993-11-16 Texas Instruments Incorporated Spline-wavelet signal analyzers and methods for processing signals
US5438591A (en) * 1991-07-31 1995-08-01 Kabushiki Kaisha Toshiba Quadrature amplitude modulation type digital radio communication device and method for preventing abnormal synchronization in demodulation system
US5285402A (en) * 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
JPH0683586A (ja) * 1992-09-02 1994-03-25 Sony Corp ディジタル演算回路
JPH06103301A (ja) * 1992-09-17 1994-04-15 Sony Corp 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路
JP2725544B2 (ja) * 1992-11-12 1998-03-11 日本電気株式会社 Dct及び逆dct演算装置並びにその演算方法
US5345408A (en) * 1993-04-19 1994-09-06 Gi Corporation Inverse discrete cosine transform processor
JP2778622B2 (ja) * 1995-06-06 1998-07-23 日本電気株式会社 2次元dct回路
US5671169A (en) * 1995-06-23 1997-09-23 United Microelectronics Corporation Apparatus for two-dimensional inverse discrete cosine transform
US5764553A (en) * 1996-02-28 1998-06-09 Lsi Logic Corporation Generalized data processing path for performing transformation and quantization functions for video encoder systems

Also Published As

Publication number Publication date
JPH09212485A (ja) 1997-08-15
US5964824A (en) 1999-10-12

Similar Documents

Publication Publication Date Title
US20070094320A1 (en) Parallel Adder-Based DCT / IDCT Design Using Cyclic Convolution
US20040122887A1 (en) Efficient multiplication of small matrices using SIMD registers
JP3129392B2 (ja) 2次元idct回路
JPH06103301A (ja) 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路
JP4199100B2 (ja) 関数演算方法及び関数演算回路
JP2778622B2 (ja) 2次元dct回路
JP2645213B2 (ja) 離散余弦変換回路
US6003056A (en) Dimensionless fast fourier transform method and apparatus
CN112465130A (zh) 数论变换硬件
US7895252B2 (en) Single-channel convolution in a vector processing computer system
Lin et al. The split-radix fast Fourier transforms with radix-4 butterfly units
Thomas et al. Fixed-point implementation of discrete Hirschman transform
Villalba et al. Parallel compensation of scale factor for the CORDIC algorithm
US20070180010A1 (en) System and method for iteratively eliminating common subexpressions in an arithmetic system
US20030074383A1 (en) Shared multiplication in signal processing transforms
US20030182339A1 (en) Emod a fast modulus calculation for computer systems
JP5589628B2 (ja) 内積演算装置および内積演算方法
JP3064405B2 (ja) 複素数の演算処理方式
KR100667188B1 (ko) 고속 푸리에 변환 장치 및 고속 푸리에 변환 방법
JP3095348B2 (ja) データ圧縮伸長装置における離散余弦変換及び逆離散余弦変換装置
US20180373676A1 (en) Apparatus and Methods of Providing an Efficient Radix-R Fast Fourier Transform
JP3652717B2 (ja) 離散コサイン高速演算器
KR100189195B1 (ko) 단일화된 시스톨릭어레이 구조에 의한 2차원 dct/dst/dht의 수행장치
JP3970442B2 (ja) 離散コサイン変換装置及び逆離散コサイン変換装置
JPH06195369A (ja) 高速アルゴリズム離散コサイン変換器/逆変換器

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20001018

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

Free format text: PAYMENT UNTIL: 20071117

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20081117

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20081117

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20091117

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees