JP3575991B2 - 直交変換回路 - Google Patents
直交変換回路 Download PDFInfo
- Publication number
- JP3575991B2 JP3575991B2 JP19755498A JP19755498A JP3575991B2 JP 3575991 B2 JP3575991 B2 JP 3575991B2 JP 19755498 A JP19755498 A JP 19755498A JP 19755498 A JP19755498 A JP 19755498A JP 3575991 B2 JP3575991 B2 JP 3575991B2
- Authority
- JP
- Japan
- Prior art keywords
- bit
- element data
- input
- operation unit
- register
- 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
Images
Landscapes
- Complex Calculations (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
Description
【発明の属する技術分野】
本発明は、画像情報,音声情報の高能率符号化技術の1つである直交変換に関し、より詳細には、直交変換を用いて時間領域の信号を周波数領域の信号に変換するための直交変換回路、及び時間領域の信号と周波数領域の信号との間の相互変換を行う直交変換回路に関するものである。
【0002】
【従来の技術】
近年になり、画像情報,音声情報の高能率符号化技術が注目を集めている、中でも直交変換を実現する回路は高能率符号化方式実現のための重要な要素であり、その小規模化,高速化を目指して多くの研究,開発が行われている。
直交変換装置の1つである1次元DCTプロセッサ回路は、バタフライ演算回路と、乗算器を用いずにベクトル内積の積和を求める分布演算技術(DA法)を用いる演算回路とで実現できる。
かかる1次元DCTの演算例として、8点1次元DCTの演算式を式(1)及び式(2)に示す。
【0003】
【数1】
【0004】
DCTプロセッサにおけるバタフライ演算では、8個のデータx0,x1,x2,x3,x4,x5,x6,x7に対して(x0,x7),(x1,x6),(x2,x5),(x3,x4)の4組をつくり、各組においてx0+x7,x0−x7,x1+x6,x1−x6,x2+x5,x2−x5,x3+x4,x3−x4の加減算を行う。
【0005】
次に、このバタフライ演算の出力を用いて、式(1),式(2)にもとづき1次元DCT係数を算出する。
一例を示すと、式(1)のDCT係数X2は、積和演算により、
X2=(1/2)×{B×(x0+x7)+C×(x1+x6)+(−C)×(x2+x5)+(−B)×(x3+x4)}
と求めることができる。
DA法とは、式(1),式(2)における行列の積和演算を、図3(D)に示すような同じ桁のビットデータを集めたビットスライスという単位で行う手法である。DA法の一例を下記の式(5),式(6),式(7)及び表1に示し、これに従い説明を行う。
【0006】
【数2】
【0007】
【数3】
【0008】
【表1】
【0009】
上記式(5)に示すように、式(2)におけるバタフライ演算結果(x0+x7,x1+x6,x2+x5,x3+x4)をビット単位([b0 n,…,b01,b00,]、[b1 n,…,b11,b10,]、[b2 n,…,b21,b20,]、[b3n,…,b31,b30,]:b3 n,…,b00はビットを表す)に分解する。これらの同一桁に注目すると式(5)の第2行のDCT係数X2を求める積和演算は、式(6)のように分解することができる。
ここで、式(6)におけるb0 n,b1 n,b2 n,b3 nの組をビットスライスと呼んでいる。
(n+1)桁目のビットスライスの積和演算は、上記式(7)で表わされ、b00〜b3 nの取り得る値は0又は1なので、その結果は、(1/2)×(2のn乗)を掛け算すると、
(1/2)×(2のn乗)×((B×b0 n)+(C×b1 n)+(−C×b2 n)+(−B×b3 n))
となる。
従って、その結果は、表1に示すような、ビットスライスの組合せに対応する16種類の部分和のテーブルを持てば積和演算値を求めることができる。
即ち、上式の中の(2のn乗)はシフト演算なので、式(6)の演算は、各ビットスライスの値をもとにテーブルを参照し得られた16種類の値のいずれかをビットシフトした後、順次、加算することによって実現される。同様の処理を式(5)の各行で行うことで、DA法による行列の積和演算が実現され、1次元DCT係数(X0,X2,X4,X6)を求めることができる。
【0010】
一方、8点1次元IDCTの演算式は、式(3)及び式(4)に示す式であり、入力としては、8個のデータ(X0,X1,X2,X3,X4,X5,X6,X7)が順次入力される。
まず入力データを式(3),式(4)に示すような({X0,X2,X4,X6}と{X1,X3,X5,X7})の二組にわけ、各組において入力データをビット単位に分解し、ビットスライスを構成する。
これらのビットスライスと、各ビットスライスの値の組合わせに対応したテーブルを用いてDA法による行列の積和演算を行い、式(3),式(4)それぞれの右辺第1項及び第2項を求める。
次にこの2項の加減算を行うことでx0〜x7が算出される。IDCTにおけるバタフライ演算とはこの加減算を意味する。
【0011】
特開平7−234864号公報には、バタフライ演算とDA法を用いた小規模の1次元DCT/IDCTプロセッサの回路構成が記載されている。特開平7−234864号公報記載の回路は8×8画素に対して1次元DCT/IDCTを行う回路であり、入力要素をメモリに記載しておき、必要な順にデータを並び替えてバタフライ演算器に渡すことで、レジスタ数を減少させ回路の小規模化を実現するものである。
【0012】
図21に示す特開平7−234864号公報記載のDCT/IDCTプロセッサにおいて、1800はアドレス発生器であり、1801は8×8ワードの16ビット幅のメモリであり、1802は16ビット幅のパイプラインレジスタであり、1803は16ビット幅の入力と34ビット幅の出力を持つ積和演算器であり、1804は34ビット幅のパイプラインレジスタであり、1805は16ビット幅のパイプラインレジスタであり、1806は8×8ワードの16ビット幅のメモリであり、1807は34ビット幅の入力と16ビット幅の出力を持つバタフライ演算器であり、1808は16ビット幅のパイプラインレジスタであり、1809はアドレス発生器である。
【0013】
DCT変換の場合このプロセッサには、図18に示すような8×8(Mビット/個)個の要素データの1行または1列からなる8個のデータx0,x1,x2,x3,x4,x5,x6,x7がこの順序で入力され、そのデータをメモリ1801に一時記憶しておく。このメモリ1801から、アドレス発生器1800によってバタフライ演算を行うときに必要になる順序、即ちx7,x0,x6,x1,x5,x2,x4,x3の順にデータを読み出し、パイプラインレジスタ1802を介してバタフライ演算器1807に供給する。
バタフライ演算器1807は、供給されたデータを加減算するための34ビット幅の第1と第2入力と、16ビット幅の出力を持つ並列加算器を備えている。バタフライ演算器1807にはx7,x0,x6,x1,x5,x2,x4,x3の順にデータが入力され、(x0+x7),(x0−x7),(x1+x6),(x1−x6),(x2+x5),(x2−x5),(x3+x4),(x3−x4)の順で演算が行われ、パイプラインレジスタ1808を介して積和演算器1803に出力される。
【0014】
積和演算器1803は、シフトレジスタとビットスライスに対応する部分和のROMと、ROMから出力される値をシフトしながら加算する累算回路と34ビット幅の第1入力と16ビットの第2,第3入力と34ビット幅の出力を持つ並列加算器を備えている。
積和演算器1803の動作を説明すると、入力されたバタフライ演算結果は、シフトレジスタによってビットスライスに分解される。そのビットスライスを入力アドレスとしたROMの出力値を求め、その値を累算回路に入力しビットスライス単位での累和演算を行うことで、DA法による積和演算を実現し、1次元DCT係数X0,X2,X4,X6,X1,X3,X5,X7が求まる。
演算結果はパイプラインレジスタ1804,1805を介してメモリ1806に渡される。このメモリ1806から、アドレス発生器1809によって適切な順序,即ちX0,X1,X2,X3,X4,X5,X6,X7に並び替えられ外部に出力される。
【0015】
【発明が解決しようとする課題】
上記のとおり、特開平7−234864号公報のDCT/IDCTプロセッサは、入出力データの並びかえを行うたのメモリやアドレス発生器が必要であり、回路規模が大きくなる。例えば入力データが16ビットの場合、8×8ワードで各ワードが16ビット幅であれば、1Kビットの容量が必要になる。
また、バタフライ演算器1807において、入力データの加減算をデータ単位で行うため、並列加算器が大規模になるという問題がある。従来例ではDCT演算とIDCT演算で用いる並列加算器を共有しており、IDCT演算のうちの積和演算結果が34ビットの場合、並列加算器では34ビットの加算を行う必要があるということになる。
本発明は、このような従来技術の問題点に鑑みてなされたものであり、バタフライ演算及び積和演算を行う手段を従来よりも小規模とする直交変換回路及び双方向の動作を行うことを可能とする当該直交変換回路を提供することをその目的とする。
【0016】
【課題を解決するための手段】
上記目的を達成するために、本発明の直交変換回路では、バタフライ演算部においては、N個の要素を格納するためのN個のパラレルレジスタとN個のシフトレジスタとN個のKビット並列加算器を備える。パラレルレジスタは、入力要素データの並び替えを行いシフトレジスタに渡す、シフトレジスタは渡された要素データを2個1組にしてKビットずつ並列加算器に出力する並列加算器は、Kビットに分解されて渡された要素データの加算または減算を行う。これにより一時記憶用のメモリやそのメモリからの読み出し順序を制御するアドレス発生器の必要がなくなり、バタフライ演算部で、要素データの並び替え及び加減算をビット単位で行う(入出力がビット幅)ことにより小規模な回路でバタフライ演算を可能にし、直交変換装置回路の小規模化が可能になる。
そして、各請求項記載の発明は次の技術手段により構成される。
【0017】
請求項1記載の発明は、入力されるN個の要素データに対する直交変換処理をバタフライ演算部と積和演算部を備えるプロセッサにより行う直交変換回路において、前記バタフライ演算部は、入力されるN個の要素データを要素データ毎に用意したレジスタに格納するパラレルレジスタ群と該パラレルレジスタ群の各レジスタに接続し該レジスタからのN個の要素データを要素データ毎に用意したレジスタに格納するシリアルレジスタ群と該シリアルレジスタ群の各レジスタに接続し該レジスタからのデータを加算するN個のKビット加算器で構成され、前記パラレルレジスタ群は、入力されるN個の要素データの順序を変換し、前記シリアルレジスタ群は、前記パラレルレジスタ群によって順序が変換された要素データについて下位ビットから順にKビットずつシリアルにN個の要素データ各々を同時に出力し、前記Kビット加算器は、前記シリアルレジスタ群から出力されるKビット毎の前記N/2組の要素データの加算及び減算を行い、この結果得られるキャリーを保存しこの保存したキャリーを用いて、下位から上位へ順次該加算及び減算を行うものとし、前記積和演算部は、前記バタフライ演算部で求められた加算及び減算結果として下位ビットから順に同時に出力されるN/2組の要素データの各組における同一桁のビットスライスを入力とし、該入力ビットスライスの各桁毎の部分和を加算するものとしたことを特徴とする。
【0019】
請求項2記載の発明は、請求項1に記載のプロセッサをDCTプロセッサとしたことを特徴とする。
【0020】
請求項3記載の発明は、請求項1または2に記載のプロセッサを各次元に対応させることにより多次元の直交変換処理を行うことを特徴とする。
【0021】
請求項4記載の発明は、入力されるN個の要素データに対する直交変換処理及び/又は逆直交変換処理を、第1のバタフライ演算部と積和演算部と第2のバタフライ演算部を備えるプロセッサにより行う直交変換回路において、前記第1のバタフライ演算部は、入力されるN個の要素データを要素データ毎に用意したレジスタに格納するパラレルレジスタ群と該パラレルレジスタ群の各レジスタに接続し該レジスタからのN個の要素データを要素データ毎に用意したレジスタに格納するシリアルレジスタ群と該シリアルレジスタ群の各レジスタに接続し該レジスタからのデータを加算するN個のKビット加算器で構成するものであって、前記パラレルレジスタ群は、入力されるN個の要素データの順序を変換し、前記シリアルレジスタ群は、前記パラレルレジスタ群によって順序が変換された要素データについて下位ビットから順にKビットずつシリアルにN個の要素データ各々を同時に出力し、前記Kビット加算器は、直交変換処理を行う場合には前記シリアルレジスタ群から出力されるKビット毎の前記N/2組の要素データの加算及び減算を行い、この結果得られるキャリーを保存しこの保存したキャリーを用いて、下位から上位へ順次該加算及び減算を行い、逆直交変換処理を行う場合には該Kビット加算器を機能させずに前記シリアルレジスタ群の出力を直接出力するものとし、前記積和演算部は、直交変換処理を行う場合には前記第1のバタフライ演算部で求められた加算及び減算結果として下位ビットから順に同時に出力されるN/2組の要素データの各組における同一桁のビットスライスの下位ビットから順に同時に出力されるN/2組の要素データの各組における同一桁のビットスライスを入力とし、逆直交変換処理を行う場合にはN個の要素データを2組に分け得た各組に含まれるN/2個の要素データ各々の下位ビットから順に同時に出力される同一桁のビットスライスを入力とし、該入力ビットスライスの各桁毎の部分和を加算するものとし、前記第2のバタフライ演算部は、加算器を備え、該加算器は逆直交変換処理を行う場合には前記積和演算部における加算結果である前記入力ビットスライスの各桁毎の部分和を入力としてその加算及び減算を時分割で行うことを特徴とする。
【0023】
請求項5記載の発明は、請求項4に記載のプロセッサをDCT/IDCTプロセッサとしたことを特徴とする。
【0024】
請求項6記載の発明は、請求項4または5に記載のプロセッサを各次元に対応させることにより多次元の直交変換処理を行うことを特徴とする。
【0025】
【発明の実施の形態】
本発明の実施の形態について添付図を参照し、以下に説明する。
図1に、本発明による直交変換回路の一実施形態である2次元DCTプロセッサの概要をブロック図にて示し、そのプロセッサの具体的な動作を図2乃至図7及び図18に基づき以下に説明する。
図1において、直列に接続されるバタフライ演算部12,16と積和演算部13,17、四捨五入部14,18それぞれで1次元DCTを行い、二つの1次元DCT回路で2次元のDCTを実現する。
図1に示す2次元DCTプロセッサの特徴は、バタフライ演算部12,16における入力画素データをバタフライ演算部12,16の内部に設けたレジスタに格納し、順序変換を行い、変換後そこからデータを2ビットずつ出力することで、加減算を2ビット単位で行うことである。この処理により、データ入力時にメモリやアドレス発生器を必要とせず、また、従来例ではデータビット幅分の入力が必要であった並列加減算の規模も入出力が2ビット幅と小さくおさえることが可能になる。
【0026】
以下、実施形態の動作を説明する。図1の2次元DCTプロセッサのバタフライ演算部12は、並び替え部100と加減算部101で構成される。並び替え部100では、入力された画素データの順序を入れ換え、各画素データの下位から2ビットずつを加減算部101に渡す。
加減算部101では、渡された2ビット単位の画素データについて加算及び減算を行うことで、バタフライ演算を実現する。その演算結果をビットスライス単位で積和演算部13に渡す。積和演算部13では水平方向の1次元DCTを行い、求まったDCT係数の中間結果が、四捨五入部14に渡される。
四捨五入部14では、式(1),式(2)中の右辺の(1/2)の乗算を四捨五入を用いて行い、演算結果をRAM15に渡す。RAM15は15ビット幅の入出力を持つデータ転置用のRAMであり、入力されたデータの転置を行いバタフライ演算部16にデータを渡す。
バタフライ演算部16はバタフライ演算部12と同様にデータの並べ替え及び2ビット毎の加減算を行い、ビットスライスを積和演算部17に出力する。
以降、積和演算部17,四捨五入部18は各々積和演算部13,四捨五入部14と同じ処理を行う。RAM15をはさんで、まず水平方向の1次元DCTを行い、次に垂直方向の1次元DCTを行うことで、2次元DCTを完了する。
【0027】
図1における2次元DCTプロセッサの各ブロックの動作を更に詳しく説明する。バタフライ演算部12への入力画素データは図17に示すような8×8マトリックスで、各画素データは9ビットであるとする。
ここでは、下記式(1),式(2)に基づき、第1行の入力画素データx0,x1,x2,x3,x4,x5,x6,x7から、DCT係数X0,X1,X2,X3,X4,X5,X6,X7を求める1次元DCTの処理手順について述べる。
【0028】
【数4】
【0029】
図2にバタフライ演算部12の構成を示す。バタフライ演算部12は、大きくは、並び替え部100と加減算部101にわかれている。並び替え部100は、9ビット幅の画素データ入力と、8個の画素データを2ビット単位に分割した16ビット幅の出力(8画素データ×2ビット)を持ち、加減算部101は、並び替え部100から渡される16ビット幅の入力と入力データの加算結果の加算ビットスライス241(2ビット×4加算)と、減算結果の減算ビットスライス242(2ビット×4減算)の計16ビット幅の出力を持つ。
【0030】
並び替え部100は、9ビットのレジスタ(R)200〜207と図3(A)にすような9ビットのパラレルイン、2ビット毎のシリアルアウトのシフトレジスタSR210〜217とで構成される。
加減算部101は1ビットのレジスタ220〜227と全加算器230〜237を備え、その単位要素を図3(B)に示すように、上記シフトレジスタ210,211からの2ビット幅の第1,第2入力と全加算器230の下位からのキャリー・アウトを入力とする1ビットのレジスタ220の1ビットの桁上がりをキャリー・インとする第3入力とを加算し、加算結果を出力する2ビット幅の第1出力と、キャリー・アウトを出力する1ビットの第2出力を持つ全加算器230〜237とで構成する。
【0031】
図6は、バタフライ演算部12の動作を示すタイミング図で、入出力及び演算部の各要素におけるデータの時間的変化を示す。バタフライ演算部12に画素データx0,x1,x2,x3,x4,5,x6,x7が、この順序で1クロック毎に読み込まれ(図6(a))、クロックタイミングT1〜T4の期間は1クロック毎に入力画素データをレジスタ206から入力しレジスタ204,202,200に順送りし、保存する(図6(h),図6(f),図6(d),図6(b))。
次にT5〜T8の期間は入力画素データをレジスタ201から入力し、レジスタ203,205,207に順送りし、保持する(図6(c),図6(e),図6(g),図6(i))。この動作を繰り返すことで8クロック毎にレジスタ200〜207全てが画素データで満たされる。
【0032】
レジスタ200〜207全てがデータで満たされると、以降8クロック毎に、レジスタ200〜207に保持されたデータを各々シフトレジスタ210〜217に受け渡す(図6(j)〜図6(q))。
シフトレジスタ210からは、1クロック毎に格納されているデータの下位から2ビットずつが出力され、全加算器230,231に渡される。全加算器230はバタフライ演算における加算を、全加算器231はバタフライ演算における減算を行う。
シフトレジスタ211からも1クロック毎に格納されているデータの下位から2ビットずつが出力され、該データが全加算器230に、該データを反転したものが全加算器231に渡される。
レジスタ220,221は、最下位2ビットの演算前に初期値がセットされ、それ以降は演算結果のキャリーを保持する。レジスタ220の初期値は0、レジスタ221の初期値は1である。
ここで全加算器231について、シフトレジスタ211からの入力を反転し、かつレジスタ221に初期値として1を設定するのは、レジスタ211からの入力を2の補強表現で負の数とし、全加算器231を減算器として動作させるためである。
全加算器230,231では2ビットずつ全加算が行われ、(x0+x7)と(x0−x7)が下位から順に2ビットずつ求められる。
【0033】
(x0+x7)について図3(B),図3(C),図3(D)を用いて説明する。図3(B)は図2のバタフライ演算部のうち、(x0+x7)の演算に対応する部分を抜き出したものである。図6に示すように、T9〜T16の期間、シフトレジスタ210にはx0が、シフトレジスタ211にはx7が格納される。ここで一例としてx0=110101000,x7=111001111とする。
シフトレジスタ210,211に格納されているx0,x7は、各々2ビットずつシフトを行いながら、2ビットずつ出力を全加算器230に与える。全加算器230はキャリーレジスタ220を用いながら2ビットの加算を繰り返す。(x0+x7)は10ビットであるから加算は計5回の繰り返しで終了する。
【0034】
この様子を図3(C)に示す。タイミングT9からT13の5回の計算で(x0+x7)の結果が下位から順に2ビットずつ出力されることになる。これは図2における出力260に相当する。他のバタフライ演算の加算結果261〜263,及び減算結果250〜253についても同様の演算が行われる。
図2の出力260〜262に注目すると、図3(D)のようになる。バタフライ演算の加算部分の計算結果は、図3(D)に示すように、260〜263の下位から順に2ビットずつビットスライスで出力される。またバタフライ演算の減算部分の計算結果は2の補数表現で負の数とするための反転処理があること以外は、上記と同様の処理を行い、250〜253の下位から順に2ビットずつのビットスライスで結果が出力されることになる。
このタイミングを図6(r)〜図6(u)に示す。まず下位2ビットに対応する加算ビットに対応するビットスライスがT9からT13の期間出力される。その後T14〜T16の期間,ダミーデータをはさんで、次の入力データ組の出力に移るサイクルを繰り返す。
【0035】
図4に示す前記積和演算部13(なお、積和演算部17についても同様である)は2つの4ビット幅の入力と、各々16ビット幅の第1,第2出力を持ち、DCT係数の部分和を出力するROMを含み、4ビット幅の第1,第2入力と演算結果出力として16ビット幅の出力を持つ累積加算部400〜407と、16ビット幅の第1,第2,第3,第4入力と出力を持つマルチプレクサ412,413と各々二つの4ビット幅の入出力を持ち、2クロックのディレイを生じさせる遅延部420〜425とで構成される。
【0036】
積和演算部13の中では、バタフライ演算部12から渡される16ビットのビットスライスのうち、(x0+x7,x1+x6,x2+x5,x3+x4)の加算ビットスライス241は累積加算部400〜403に、(x0−x7,x1−x6,x2−x5,x3−x4)の減算ビットスライス242は累積加算部404〜407に入力される。ここで加算,減算ビットスライス各々を下位ビットスライスと上位ビットスライスに分けて表現する。下位上位各々のビットスライスは図3(D)に示すように4ビットからなる。
【0037】
積和演算部を構成する累積加算部の単位要素部を図5に示す。
図5に示す累積加算部401において、ROM500とROM501は同一内容のデータを保持している。ROM500は下位ビットスライスを4ビット幅のアドレスとして入力し、ROM501は上位ビットスライスを4ビット幅のアドレスとして入力する。
これらのROM500及びROM501各々には、表1に示した、DCT演算のためのビットスライス値に対応したコサイン行列に基づく部分和16種が記憶されている。502は16ビット幅の第1入力520と17ビット幅の第2入力521を加算して18ビット幅の出力をする加算器であり、503は18ビットの第1入力と、16ビット幅の第2入力を加算して18ビット幅の出力をする加算器であり、504は18ビット幅の第1,第2入力とそれらの上位16ビットを出力するマルチプレクサであり、511は18ビット幅のレジスタであり、512は16ビット幅のレジスタであり、513はROM501から出力される部分和を1ビット左にシフトする回路である。
【0038】
また、図4の累積加算部400,402〜407も累積加算部401とはROMに保持されるデータ内容が異なるだけで、その他は全く同一の回路である。累積加算部400では式(1)のDCT係数X0に対応する演算を行い、以下累積加算部401はX2,402はX4,403はX6の演算を、累積加算部404では上記式(2)のDCT係数X1に対応する演算を行い、以下405はX3,406はX5,407はX7の演算を行う。
また、遅延器420〜425で入力ビットスライスを遅延させるのは、演算結果を1クロックあたり1係数とするためである。
【0039】
累積加算部の一例として累積加算部401の動作について図5,図7及び下記式(5),式(6)を用いて説明する。
累積加算部401では、下記式(5),下記式(6)に示すDCT係数X2を算出するために、式(5)の右辺の4×4マトリクスの第2行と4×1マトリクスの積和演算をビットスライス単位の加算で実現する。
【0040】
【数5】
【0041】
まず、T9〜T13の期間中、1クロック毎にビットスライスが2ビットずつ入力される(図7(a))。下位ビットスライス{b00,b10,b20,b30}はROM500に入力され、このビットスライスに対応した、式(5)右辺の4×4マトリクスの第2行と4×1マトリクスの積和演算の部分和520が順次索引される(表1参照)。
次に上位のビットスライス{b01,b11,b21,b31}はROM501に入力され、このビットスライスに対応した、式(5)右辺の4×4マトリクスの第2行と4×1マトリクスの積和演算の部分和521が順次索引される(表1参照)。
そして、部分和521は部分和520より1ビット上位にあるため、部分和521を左へ1ビットシフトした値、つまり2の乗算を行った値を部分和520と加算する(部分和520+部分和521×2)。
以上の演算を全ビットスライスに対して行うことで、DCT係数X2を求める。ただし最上位の符号ビットのビットスライスに対応する部分和が入力されたときは、2の補数表現の変換手順に従い、左へ1ビットシフトした値の符号を反転させて加算する(部分和520+(−(部分和521×2)))。
【0042】
加算器502による加算結果は、レジスタ511を介して加算器503によって、既に計算されたより下位にあるビットスライスの結果と累積加算する。この累積加算結果のビット数を出力として要求されているビット精度に落とす。
本実施例の場合では、上位16ビットがレジスタ512に格納された後、16ビットが出力される(図7(b))。また同時に次の上位ビットの加算結果と累積加算するために、加算器503に入力する。
この結果、ビットスライス入力が完了した2クロック後に演算結果が求められ最上位ビットスライスの入力の2クロック後には、上記式(1)の右辺の4×4マトリクスの第2行と4×1マトリクスの積和演算結果(式(1)左辺のX0に対応)が出力される(図7(c))。
【0043】
同様の演算を累積加算部400,402,403,404,405,406,407で行う。各々、累積加算部400で式(1)の右辺の4×4マトリクスの第1行と4×1マトリクスの積和演算結果(式(1)左辺のX0に対応)を、同402で式(1)の右辺の4×4マトリクスの第3行と4×1マトリクスの積和演算結果(式(1)左辺のX4に対応)を、同403で式(1)の右辺の4×4マトリクスの第4行と4×1マトリクスの積和演算結果(式(1)左辺のX6に対応)を求め、2クロック毎にマルチプレクサ412によって、タイミングT15〜T16の期間は第1行,T17〜T18の期間は第2行,T9〜T20の期間は第3行、T21〜T22の期間は第4行の順に選択され、積和431として四捨五入部14(図1参照)に渡す(図7(c))。
【0044】
同様にして累積加算部404で式(2)の右辺の4×4マトリクスの第1行と4×1マトリクスの積和演算結果(式(2)左辺のX1に対応)を、同405で式(2)の右辺の4×4マトリクスの第2行と4×1マトリクスの積和演算結果(式(2)左辺のX3に対応)を、同406で式(2)の右辺の4×4マトリクスの第3行と4×1マトリクスの積和演算結果(式(2)左辺のX5に対応)を、同407で式(2)の右辺の4×4マトリクスの第4行と4×1マトリクスの積和演算結果(式(2)左辺のX7に対応)を求め、タイミングT15〜T16の期間は第1行,T17〜T18の期間は第2行、T19〜T20の期間は第3行、T21〜T22の期間は第4行を選択するように2クロック毎にマルチプレクサ413を切替えて、積和432として四捨五入部14に渡す(図7(c))。
【0045】
図7(c)に示すように、累積加算部401,405には、累積加算部400,404よりも2クロック遅延してビットスライスが入力されるので、演算結果が求まるのも2クロック後となる。同様に累積加算部402と406、403と407でも各々2クロック遅延して演算結果が出力される。
前記四捨五入部14において、式(1),(2)の右辺の(1/2)の乗算を行い結果を四捨五入する。
以上の処理を行うことで、水平方向の1次元DCTが完了する。
【0046】
RAM15では、図20に示すように、横向きラスター順に入力されたデータを縦向きラスター順に出力する。すなわち、書き込みと読み出しの順を横から縦に変更し、バタフライ演算部16に渡す。
垂直方向のDCTは水平方向のDCTと基本的に同じ動作を行う。ただし本実施例では、バタフライ演算部16に入力されるデータは、前述の積和演算部13の出力ビット精度を16ビットとし、それをさらに四捨五入部14で1/2にした関係上、15ビットデータになり、水平方向のDCTの9ビット幅の入力とは異なる。また出力データも、DCT係数のビット精度を12ビットとしているので12ビット幅となり、水平方向のDCTとは異なる。
以上の処理を行うことにより2次元DCTを実現する。
【0047】
次に、本発明による直交変換回路の一実施形態であるDCT/IDCTプロセッサの概要ブロック図を図8にて示し、そのプロセッサの具体的な動作を図9乃至図17,図19に基づき以下説明する。
ここに、図8の2次元DCT/IDCTプロセッサは図1の2次元DCTプロセッサにIDCTのための回路を付加したものであり、DCTモードの場合は、前記DCTプロセッサと同じ処理が行われるため、上述したものと同一符号を付しその説明は省略し、IDCTモードの場合の説明のみを行う。
図8に示すIDCTプロセッサの特徴は図19に示す入力DCT係数データX0,X1,X2,X3,X4,X5,X6,X7を並び替え部820に設けたレジスタに格納し、それらからデータを2ビットずつ出力する処理により、メモリやアドレス発生器を必要としないデータ入力を実現することである。また、後段のバタフライ演算部804においても、下位ビットから順次加算を行うため、従来例に比べて小さい加算器を備える点に特徴がある。
【0048】
図8に示す双方向DCT/IDCTプロセッサでは、下記式(3),(4)に示す演算も行われる。
この演算動作について説明すると、並び替え部820では、入力データのビットスライス化のみを行い、このビットスライスが積和演算部803に渡される。積和演算部803では、垂直方向の1次元DCTを行い、それによって求まったIDCTの中間結果が、バタフライ演算部804に渡される。バタフライ演算部804においては、式(3)及び(4)の右辺の加算及び減算と、(1/2)の乗算を四捨五入を用いて行い、演算結果をRAM15に渡す。RAM15では、垂直方向ラスター順に入力されたデータの転置を行い水平方向ラスター順に並び替え部822にデータを渡す。以降、バタフライ演算部808において最終的に画素データとして出力するときの順序を並び替えること以外は、垂直方向の1次元IDCTと同じ動作を行い、バタフライ演算部808から画素データが出力される。RAM15をはさんで、まず垂直方向の1次元IDCTを行い、次に水平方向の1次元IDCTを行うことで、2次元IDCTを実行する。
【0049】
図8に示す2次元DCT/IDCTプロセッサの各ブロックの動作をさらに詳しく述べる。
IDCTモードの場合、入力要素データは、図19に示す8×8マトリクスで各係数は12ビットであり、該マトリクスの第1列がX0,X1,X2,X3,X4,X5,X6,X7であるとする。ここでは、下記式(3),式(4)に基づき、入力データX0,X1,X2,X3,X4,X5,X6,X7から、画素値x0,x1,x2,x3,x4,x5,x6,x7を求めることとし、その処理手順について述べる。
【0050】
【数6】
【0051】
図9に示すバタフライ演算部802の並べ替え部820は、図2で示した並び替え部100に9ビット幅の第1入力と12ビット幅の第2入力のうちどちらかを選択するマルチプレクサ900〜907を付加した構造となり、加減算部821は、図2で示した加減算部101に、2ビット幅の第1,第2入力からどちらかを選択/出力するマルチプレクサ910〜917を付加した構造となる。
【0052】
図15は、IDCTモードの場合のバタフライ演算部802の動作を示すタイミング図である。バタフライ演算部802にX0,X1,X2,X3,X4,X5,X6,X7が、この順序で1クロック毎に読み込まれ(図15(a))、タイミングT0〜T7の期間は1クロック毎に入力画素データをレジスタ207から入力し、レジスタ206,205,204,203,202,201,200に順送りする(図15(i)〜図15(b))。
レジスタ200〜207全てがデータで満たされると、以降8クロック毎にレジスタ200〜207に保持されたデータを各々シフトレジスタ210〜217に受け渡す(図15(j)〜図15(q))。各シフトレジスタ210〜217は1クロック毎に格納しているデータの下位から2ビットずつを加減算部821に渡す。
【0053】
加減算部821では、IDCTモードの場合、加算器230〜237は用いない。つまり、マルチプレクサ910〜917によって並び替え部820から渡されたX0〜X7のビットスライスを選択し、X0,X2,X4,X6を下位から2ビットずつまとめたビットスライスAと、X1,X3,X5,X7を下位から2ビットずつまとめたビットスライスBとを積和演算部803に出力する(図15(r)〜図15(u))。
【0054】
図10及び図11に示す積和演算部803は図4で示した積和演算部13の累積加算部400〜407に一部変更を加えた累積加算部1000〜1007と、さらに2ビット幅の第1,第2入力と1ビット幅の第3,第4出力を持つ加減算器1008〜1015と、1ビット幅の第1,第2,第3,第4入力と出力を持つマルチプレクサ1042,1043を付加した構造となる。
該積和演算部803の中では、並び替え部820から渡されるビットスライスのうち{X0,X2,X4,X6}のビットスライスAは累積加算部1000,1001,1002,1003に、{X1,X3,X5,X7}のビットスライスBは累積加算部1004,1005,1006,1007に入力される。
【0055】
図12に示す累積加算部1000は、上述した実施形態におけるDCTの場合で説明した累積加算部401と基本的には同じ動作を行う。
図16に示すタイミングチャートを用いてこの動作の説明をする。まず、タイミングT9〜T14の期間中、1クロック毎に2ビットずつビットスライスが入力される(図16(a))。2ビットのうち下位ビットスライスがROM1100に、上位ビットスライスがROM1101に入力され、各々のビットスライスに対応した部分和520,部分和521が順次索引される。
各部分和を加算し、加算器503でより下位のビットスライスの結果と累積加算し累積加算中間結果を求めるまでは、DCTの場合と同じである。ただし、レジスタ1112において累積加算中間結果のビット精度を落とす際、その切り落としたビット(本実施例の場合は下位2ビット)を上記式(3)右辺の加算を行うために加算器1008に、上記式(4)右辺の減算を行うために加算器1012に出力する点が異なる(図16(b))。
【0056】
同様の演算を累積加算部1001,1002,1003で行い、式(3),式(4)右辺の第1項の各行を下位から2ビットずつ求め、累積加算部1004,1005,1006,1007によって式(3),式(4)右辺の第2項の各行を下位から2ビットずつ求める。
累積加算部1000と累積加算器1004の計算結果より、加算器1008では式(3)右辺の加算を、1012では式(4)右辺の減算を下位から2ビットずつ行い、そのキャリーを加算キャリーまたは減算キャリーとして出力する。
このキャリーが有効となるタイミングは、最上位のビットスライスによる累積加算結果が累積加算部1000及び累積加算部1004から出力される時、即ちT16〜T17である(図16(c))。
同様にして、加算器1009〜1011で式(3)右辺の加算を行った時の各行の加算キャリー1032を、加算器1013〜1015で式(4)右辺の減算を行ったときの各行の減算キャリー1033を求め、式(3),式(4)の第1行〜第4行の順でバタフライ演算部804に渡す(図16(c))。
【0057】
図13に示すバタフライ演算部804は、式(3)右辺の加算、式(4)の右辺の減算を行い、各々16ビット幅の第1,第2入力と1ビット幅の第3,第4入力と16ビット幅の出力を持つ。
バタフライ演算部804において、1200は16ビット幅の第1,第2入力を持ち、それらを加算して17ビット幅の出力をする加算器であり、1201は17ビット幅の第1入力と、1ビット幅の第2入力を持ち、それらを加算して16ビットの出力をする加算器であり、1204は17ビット幅、1205は16ビット幅のそれぞれ入出力を持つレジスタであり、1202は1ビット幅の第1,第2入力から1ビット幅の出力を選択し、1203は16ビット幅の第1,第2入力から16ビット幅の出力を選択するマルチプレクサである。
【0058】
バタフライ演算部804の中では、1段目の加算器1200で、積和演算部803から入力された16ビット幅の2入力とビット幅の加算もしくは減算キャリーを用いて式(3),式(4)右辺の第1項と第2項の加算及び減算を交互に行い、17ビット幅のデータX0,X1,X2,X3,X4,X5,X6,X7を算出し、出力する。
加算の場合は右辺第1項の積和1030と、マルチプレクサ1203によって選択された右辺第2項の積和1031と、マルチプレクサ1202によって選択された加算キャリー1032を用いて、第1行から順に加算を行い、減算の場合は積和1030と、マルチプレクサ1203によって選択された積和1031を反転したデータと、マルチプレクサ1202によって選択された減算キャリー1033を用いて、第1行から順に減算を行う。
図16(c)で示した通り、期間T16,T17に累積加算部1000,1004の出力が有効になり、2出力の加算で式(3)のx0,減算で式(4)のx7が求められる。同様にして順にx1,x6,x2,x5,x3,x4が求められる。
【0059】
加算及び減算により求められた、17ビット幅のデータx0,x1,x2,x3,x4,x5,x6,x7,はレジスタ1204を介して加算器1201に渡される。2段目の加算器は1201では式(3),(4)右辺の(1/2)の乗算を四捨五入を用いて行い、上位16ビットがレジスタ1205に格納され、16ビット幅のデータとしてRAM15に出力される。
以上の処理を行うことで、垂直方向の一次元IDCTが完了する。
【0060】
RAM15の中では、図20に示すように、垂直方向ラスター順に入力されたデータの転置を行い、水平方向ラスター順にバタフライ演算部806にデータを渡す。バタフライ演算部806の中では、バタフライ演算部802と同様の演算が行われ、X0,X2,X4,X6を下位から2ビットずつまとめたビットスライスAと、X1,X3,X5,X7を下位から2ビットずつまとめたビットスライスBとを積和演算部807に出力する(図15(r)〜図15(u))。
【0061】
水平方向のIDCTは垂直方向のIDCTと基本的に同じ動作を行う。だたし図14に示すバタフライ演算部808において、2段目の加算器1300では、出力の画素データのビット精度を9ビットとしているので、13ビット幅の入力を四捨五入して9ビット幅にする点が異なる。
また、加算器1300の出力がバタフライ演算部804の加算器1201の出力と同様に、x0,x7,x1,x6,x2,x5,x3,x4順になるのをレジスタ1302,レジスタ1303,レジスタ1304,レジスタ1305及びマルチプレクサ1306を用いて出力画素データをx0,x1,…,x6,x7の順序に並び替える動作が付加されている。
【0062】
図17に示すバタフライ演算部808のタイミングチャートを用いてその動作を説明する。レジスタ1302には、x0,x7,x1,x6,x2,x5,x3,x4が、この順序で、1クロック毎に加算器1300から渡される(図17(a))。
レジスタ1303には、タイミングT19〜T24の期間中は、x0,x7,x1,x6,x2,x5が、この順序で、1クロック毎にレジスタ1302から渡され、T24〜T26の期間中は、x5が保持される(図17(b))。
レジスタ1304には、T20〜T23の期間中は、x0,x7,x1,x6が、この順序で、1クロック毎にレジスタ1303から渡され、T23〜T27の期間中は、x6が保持される(図17(c))。
レジスタ1305には、T21,T22の期間中は、x0,x7が、この順序で、1クロック毎にレジスタ1304から渡され、T22〜T28の期間中は、x7が保持される(図17(d))。
出力画素データの並べ替えは、マルチプレクサ1306によってレジスタ1305,1304,1303,1302,1303,1304,1305の順に1クロック毎に出力を切替えることで実現する(図17(e))。
【0063】
また、本実施形態では、並び替え部822に入力されるデータは、前述の積和演算部803の出力ビット精度を16ビットとした関係上、16ビットデータになり、垂直方向IDCTのビット幅の入力とは異なる。また出力データも、画素データのビット精度を9ビットとしているので9ビット幅となり、垂直方向IDCTの場合とは異なる。以上の処理を行うことにより二次元DCTを実現する。
なお、本実施形態で示した具体化例は一例であり、本発明はこの例以外にも適用可能である。例えば、この例では画素データは9ビットとしているが、9ビット以外でも構わない。また四捨五入の方法も一例であり、具体的に限定するものではない。データの形式も実施形態では画素,DCT係数としているが、具体的に画像データ,DCT係数に限定するものではない。
【0064】
【発明の効果】
以上説明してきたとおり、本発明によれば、従来の直交変換回路が備えていたメモリやアドレス発生器をなくした小規模の直交変換回路の実現が可能になる。従って本回路を集積化した場合にはチップ面積を小さくすることが可能になり本発明の実施化による有効性は大きい。
また、本発明によれば、直交変換回路に複数のマルチプレクサや加算器を付加するだけで、直交変換及び逆直交変換を行う双方向の直交変換回路とすることができ、双方向の直交変換回路においてもメモリやアドレス発生器は不要であり、小規模の回路構成とすることができる。
また、プロセッサをDCTプロセッサとし、さらに各次元に対応させることにより多次元の当該直交変換回路を構成することが可能となり、直交変換の実用化手段として有効な回路を提供する。
【図面の簡単な説明】
【図1】本発明によるDCTプロセッサの構成を示すブロック図である。
【図2】本発明によるDCTプロセッサ中のバタフライ演算部の構成を示すブロック図である。
【図3】本発明によるDCTプロセッサ中のパラレルレジスタ,全加算器の構成及び加算の概念図である。
【図4】本発明によるDCTプロセッサ中の積和演算部の構成を示すブロック図である。
【図5】図4に示される積和演算部の累積加算部の構成を示すブロック図である。
【図6】本発明によるDCTプロセッサ中のバタフライ演算部の動作を説明するためのタイミングチャートである。
【図7】本発明によるDCTプロセッサ中の積和演算部の動作を説明するためのタイミングチャートである。
【図8】本発明による双方向DCT/IDCTプロセッサの構成を示すブロック図である。
【図9】本発明による双方向DCT/IDCTプロセッサ中のバタフライ演算部の構成を示すブロック図である。
【図10】本発明による双方向DCT/IDCTプロセッサ中の積和演算部の構成を示すブロック図(その1)である。
【図11】本発明による双方向DCT/IDCTプロセッサ中の積和演算部の構成を示すブロック図(その2)である。
【図12】本発明による双方向DCT/IDCTプロセッサ中の累積加算部の構成を示すブロック図である。
【図13】本発明による双方向DCT/IDCTプロセッサ中のバタフライ演算部の構成を示すブロック図である。
【図14】本発明による双方向DCT/IDCTプロセッサ中のバタフライ演算部の構成を示すブロック図である。
【図15】本発明による双方向DCT/IDCTプロセッサ中のバタフライ演算部のIDCモードの動作を説明するためのタイミングチャートである。
【図16】図10及び図11に示される積和演算部の動作を説明するためのタイミングチャートである。
【図17】図14に示すバタフライ演算部の動作を説明するための図で、レジスタ及びマルチプレクサのタイミングチャートである。
【図18】DCT/IDCTプロセッサにおけるDCTモードの場合の入力マトリクスを示す図である。
【図19】DCT/IDCTプロセッサにおけるIDCTモードの場合の入力マトリクスを示す図である。
【図20】メモリへのデータの保持状態を転換することによる行列における転置の例を示す図である。
【図21】従来例のDCT/IDCTプロセッサを示すブロック図である。
【符号の説明】
12,16…バタフライ演算部、13,17…積和演算部、14,18…四捨五入部、15…RAM、
100,102…並び替え部、101,103…加減算部、
200〜207…レジスタ、210〜217…シフトレジスタ、220〜227…レジスタ、230〜237…全加算器、241…加算ビットスライス、242…減算ビットスライス、250〜253…加減算結果、260〜263…加減算結果、
400〜407…累積加算部、412,413…マルチプレクサ、420〜425…遅延器、431,432…積和演算結果出力、
500,501…ROM、502,503…加算器、504…マルチプレクサ、511,512…レジスタ、513…シフト回路、
803,807…積和演算部、802,804,806,808…バタフライ演算部、809…マルチプレクサ、820,822…並び替え部、821,823…加減算部、
900〜907,910〜917…マルチプレクサ、
1000〜1007…累積加算部、1008〜1015…加減算器、1030,1031…積和演算結果出力、1032…加算キャリー出力、1033…減算キャリー出力、1040〜1043…マルチプレクサ、
1100,1101…ROM、1112…レジスタ、1113…シフト回路、
1200,1201…加算器、1202,1203…マルチプレクサ、1204,1205…レジスタ、
1300…加算器、1301〜1305…レジスタ、1306…マルチプレクサ、
1800,1809…アドレス発生器、1801,1806…メモリ、1802,1804,1805,1808…パイプラインレジスタ、1803…積和演算器、1807…バタフライ演算器。
Claims (6)
- 入力されるN個の要素データに対する直交変換処理をバタフライ演算部と積和演算部を備えるプロセッサにより行う直交変換回路において、前記バタフライ演算部は、入力されるN個の要素データを要素データ毎に用意したレジスタに格納するパラレルレジスタ群と該パラレルレジスタ群の各レジスタに接続し該レジスタからのN個の要素データを要素データ毎に用意したレジスタに格納するシリアルレジスタ群と該シリアルレジスタ群の各レジスタに接続し該レジスタからのデータを加算するN個のKビット加算器で構成され、前記パラレルレジスタ群は、入力されるN個の要素データの順序を変換し、前記シリアルレジスタ群は、前記パラレルレジスタ群によって順序が変換された要素データについて下位ビットから順にKビットずつシリアルにN個の要素データ各々を同時に出力し、前記Kビット加算器は、前記シリアルレジスタ群から出力されるKビット毎の前記N/2組の要素データの加算及び減算を行い、この結果得られるキャリーを保存しこの保存したキャリーを用いて、下位から上位へ順次該加算及び減算を行うものとし、前記積和演算部は、前記バタフライ演算部で求められた加算及び減算結果として下位ビットから順に同時に出力されるN/2組の要素データの各組における同一桁のビットスライスを入力とし、該入力ビットスライスの各桁毎の部分和を加算するものとしたことを特徴とする直交変換回路。
- 請求項1に記載のプロセッサをDCTプロセッサとしたことを特徴とする直交変換回路。
- 請求項1または2に記載のプロセッサを各次元に対応させることにより多次元の直交変換処理を行うことを特徴とする直交変換回路。
- 入力されるN個の要素データに対する直交変換処理及び/又は逆直交変換処理を、第1のバタフライ演算部と積和演算部と第2のバタフライ演算部を備えるプロセッサにより行う直交変換回路において、前記第1のバタフライ演算部は、入力されるN個の要素データを要素データ毎に用意したレジスタに格納するパラレルレジスタ群と該パラレルレジスタ群の各レジスタに接続し該レジスタからのN個の要素データを要素データ毎に用意したレジスタに格納するシリアルレジスタ群と該シリアルレジスタ群の各レジスタに接続し該レジスタからのデータを加算するN個のKビット加算器で構成するものであって、前記パラレルレジスタ群は、入力されるN個の要素データの順序を変換し、前記シリアルレジスタ群は、前記パラレルレジスタ群によって順序が変換された要素データについて下位ビットから順にKビットずつシリアルにN個の要素データ各々を同時に出力し、前記Kビット加算器は、直交変換処理を行う場合には前記シリアルレジスタ群から出力されるKビット毎の前記N/2組の要素データの加算及び減算を行い、この結果得られるキャリーを保存しこの保存したキャリーを用いて、下位から上位へ順次該加算及び減算を行い、逆直交変換処理を行う場合には該Kビット加算器を機能させずに前記シリアルレジスタ群の出力を直接出力するものとし、前記積和演算部は、直交変換処理を行う場合には前記第1のバタフライ演算部で求められた加算及び減算結果として下位ビットから順に同時に出力されるN/2組の要素データの各組における同一桁のビットスライスの下位ビットから順に同時に出力されるN/2組の要素データの各組における同一桁のビットスライスを入力とし、逆直交変換処理を行う場合にはN個の要素データを2組に分け得た各組に含まれるN/2個の要素データ各々の下位ビットから順に同時に出力される同一桁のビットスライスを入力とし、該入力ビットスライスの各桁毎の部分和を加算するものとし、前記第2のバタフライ演算部は、加算器を備え、該加算器は逆直交変換処理を行う場合には前記積和演算部における加算結果である前記入力ビットスライスの各桁毎の部分和を入力としてその加算及び減算を時分割で行うことを特徴とする直交変換回路。
- 請求項4に記載のプロセッサをDCT/IDCTプロセッサとしたことを特徴とする直交変換回路。
- 請求項4または5に記載のプロセッサを各次元に対応させることにより多次元の直交変換処理を行うことを特徴とする直交変換回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19755498A JP3575991B2 (ja) | 1998-07-13 | 1998-07-13 | 直交変換回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19755498A JP3575991B2 (ja) | 1998-07-13 | 1998-07-13 | 直交変換回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000029863A JP2000029863A (ja) | 2000-01-28 |
JP3575991B2 true JP3575991B2 (ja) | 2004-10-13 |
Family
ID=16376433
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19755498A Expired - Fee Related JP3575991B2 (ja) | 1998-07-13 | 1998-07-13 | 直交変換回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3575991B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3927388B2 (ja) | 2000-09-27 | 2007-06-06 | 株式会社リコー | 画像処理装置、画像処理方法及び記録媒体 |
-
1998
- 1998-07-13 JP JP19755498A patent/JP3575991B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000029863A (ja) | 2000-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2646778B2 (ja) | ディジタル信号処理装置 | |
US4791598A (en) | Two-dimensional discrete cosine transform processor | |
EP0506111A2 (en) | DCT/IDCT processor and data processing method | |
JPH08235159A (ja) | 逆コサイン変換装置 | |
JPH09153029A (ja) | 高速フーリエ変換を行うメモリ分散型並列計算機およびその方法 | |
EP1018082A1 (en) | Variable block size 2-dimensional inverse discrete cosine transform engine | |
JP6357345B2 (ja) | ビデオデータ処理時に空間領域と周波数領域との間の変換を実行するためのデータ処理装置および方法 | |
KR0150350B1 (ko) | 직교변환 프로세서 | |
EP1065884A1 (en) | Dct arithmetic device | |
JP2677969B2 (ja) | 直交変換装置 | |
JP3575991B2 (ja) | 直交変換回路 | |
JP4405452B2 (ja) | 逆変換回路 | |
JP2901896B2 (ja) | 直交変換プロセッサ | |
JP3970442B2 (ja) | 離散コサイン変換装置及び逆離散コサイン変換装置 | |
JP2003030174A (ja) | Dct行列分解方法及びdct装置 | |
JP2822684B2 (ja) | 離散コサイン変換装置および逆離散コサイン変換装置 | |
JP3046115B2 (ja) | 離散コサイン変換器 | |
JPH0540776A (ja) | 二次元dctマトリクス演算回路 | |
KR100575285B1 (ko) | 고속의 저전력 이산 코사인 변환 장치 및 방법 | |
Bhattacharya et al. | A VLSI implementation of the inverse discrete cosine transform | |
JP2001102934A (ja) | 離散コサイン変換処理装置、逆離散コサイン変換処理装置及び直交変換処理装置 | |
JP3652717B2 (ja) | 離散コサイン高速演算器 | |
JP3875183B2 (ja) | 演算装置 | |
KR0154919B1 (ko) | 2차원 역이산 코사인 변환 회로 | |
JPH05153403A (ja) | 離散コサイン変換器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040318 |
|
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: 20040706 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040706 |
|
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: 20070716 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110716 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120716 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |