JPH08194686A - 1次元および2次元逆離散的コサイン変換(idct)回路 - Google Patents

1次元および2次元逆離散的コサイン変換(idct)回路

Info

Publication number
JPH08194686A
JPH08194686A JP33880794A JP33880794A JPH08194686A JP H08194686 A JPH08194686 A JP H08194686A JP 33880794 A JP33880794 A JP 33880794A JP 33880794 A JP33880794 A JP 33880794A JP H08194686 A JPH08194686 A JP H08194686A
Authority
JP
Japan
Prior art keywords
idct
matrix
data
multiplication
input
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP33880794A
Other languages
English (en)
Inventor
Seitei Kin
聖▲てい▼ 金
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.)
Daiu Denshi Kk
WiniaDaewoo Co Ltd
Original Assignee
Daiu Denshi Kk
Daewoo Electronics Co Ltd
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 Daiu Denshi Kk, Daewoo Electronics Co Ltd filed Critical Daiu Denshi Kk
Priority to JP33880794A priority Critical patent/JPH08194686A/ja
Publication of JPH08194686A publication Critical patent/JPH08194686A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【目的】 行列部分乗算結果を用いてIDCT処理を行う1
対の改善された1次元IDCT回路を用いた2次元IDCT回路
を提供する。 【構成】 奇数番目の入力データに奇数IDCT行列を乗じ
て、第1群のN/2中間データを提供するべく、N/2奇数番
目の入力データに奇数IDCT行列乗算を行うための多数の
乗算器と多数の加算器とを含む第1乗算手段と、偶数番
目の入力データに偶数IDCT行列を乗じて、第2群のN/2
中間データを提供するべく、N/2偶数番目の入力データ
に偶数IDCT行列乗算を行うための多数の乗算器と多数の
加算器とを含む第2乗算手段と、第1群の各々のN/2中
間データとその相応する第2群の各々のN/2中間データ
を加算して、第1N/2出力データを提供する加算手段
と、第2群の各々のN/2中間データをその相応する第1
群の各々のN/2中間データから減算して、第2のN/2出力
データを提供する減算手段とを含む。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は2次元逆離散的コサイン
変換(IDCT)を行う回路に関し、特に行列乗算を用いてID
CT処理を行う一対の改善された1次元IDCT回路を用いた
2次元IDCT回路に関する。
【0002】
【従来の技術】周知の通り、離散化された画像信号の伝
送は、アナログ信号より良好な画質を提供することがで
きる。一連のイメージ「フレーム」からなるイメージ信
号をディジタル形態で表現しようとするとき、特にに、
高精細度テレビジョンの場合、相当量のデータを伝送し
なければならない。しかし、従来の伝送チャネルの使用
可能な周波数領域は制限されているのため、限られたチ
ャネル幅を通じて多くの量のディジタルデータを伝送す
るためには、伝送すべきデータを圧縮してその量を減ら
す必要がある。
【0003】映像信号は通常、画質に深刻な劣化を引き
起こすことなく圧縮することが可能であるが、これは単
一のフレーム内の画素の間に、或いは隣接フレームの間
に相関関係または冗長性が存在するからである。したが
って、従来の映像信号の符号化方法には、この冗長性を
利用または圧縮する多様な圧縮技法(または、符号化方
法)を用いるものがある。
【0004】このような符号化方法のうちの一類型とし
は、単一のフレーム内部の冗長性を用いる変換技法があ
る。このような変換方法の一つとして、Chen及びPratt
の論文「Scene Adaptive Coder」,IEEE Transactions o
n Communications,COM-32,No3(1984年3月)に開示されて
いる2次元(2-D)離散的コサイン変換(DCT)がある。DCT
は映像圧縮やビデオ帯域圧縮のための多様な変換符号化
方法のうち、最も効率的であると考えられている。DCT
を用いて帯域圧縮を実現する際に、ディジタル的に符号
化された画素からなる正方形のブロックが、行列分解方
法(row-columndecomposition method)を用いて2次元DC
Tを行う2次元またはNxNDCTプロセッサにより周波数領
域データに変換される。このようなDCTプロセッサではN
xNブロックの画素データが入力されて、この入力行列
に、NxNDCT行列が乗じて中間行列を得たのち、該中間行
列の転置行列に同一のDCT行列を乗じて所望の逆変換済
みの行列を得る。次いで、変換済みの行列の要素は量子
化されて、最も活動的な項のみが選択され伝送される。
受信機側では、逆離散的コサイン変換(IDCT)が行われ
て、空間領域データとしてビデオ信号を復元する。IDCT
はまた、IDCT行列との乗算、転置演算、他の行列乗算を
用いて行われ得る。
【0005】実際の映像復号化システムで用いるIDCT回
路では、速いコンボルーション処理速度能力を要するた
め、IDCTを速やかに処理を取るための多くの方法が提案
されており、そのような方法として、VLSI(Very Large
Scale Integration)を利用するものがある。
【0006】行列の乗算は、2つのN次元のベクトルの
内積を求め、行列の各要素を求める過程からなる。した
がって、入力行列上の一行の各々の要素は、DCT/IDCT行
列における一列の相応する要素に乗じられて、各乗算結
果が、乗算行列の一つの要素になる。8x8ブロックの画
素を変換するためには、64要素を有する出力行列の各要
素を求めるために8回の乗算が行われなけれならない。
必要な計算量を減らすために迅速なアルゴリズムが種々
提案されている。例えば、DCT/IDCT行列が幾つかの粗い
(sparse)行列に分解されて、その結果、バタフライ構造
(butterfly structures)が得られる。このような構造を
用いたVLSI構造の例が、「離散フーリエ−コサイン変換
チップ(A Discrete Fourier-Cosine Transform Chi
p)」,IEEE Journal on Selected Areas on Communicati
on,Jan.’86,49-61頁に説明されている。バタフライ構
造は計算量を著しく低減させるが、多数の高速乗算器を
必要とし、そのようなICを実現するためには必要なチッ
プの面積が大きくなる。また、バタフライ構造は、複雑
な相互連結が必要となり、ルート割当が困難になるなど
の短所を有し、バタフライ構造をVLSI構造で実現するこ
とが非効率となる傾向がある。
【0007】M.L.Niouらに付与された米国特許第4,791,
598号明細書には、他のDCT/IDCT方式が提案されている
が、これは分布演算(distributed arithmetic),周波数
減縮(decimation-in-frequency)、ビットシリアル(bit-
serial)構造、部分和(partialsums)などを用いて、最小
限のメモリを用いて、複数個のベクトルの内積を同時進
行的に求める。その結果、乗算器を用いない標準的な構
造を有する設計が可能になった。これは、このような変
換処理に固有な特性のおかげで可能となる。即ち、変換
行列の要素は定数であるため、分布演算を用いて、乗算
器の代わりにルックアップ表またはROMリード・オンリ
・メモリ)を用いることが可能である。また幾つものベ
クトル積を同時に計算することによって行列ベクトル乗
算を行う。この方法は、乗算器が不要で、極めて標準的
な構造を用い得る点で効率的である。
【0008】しかし、この方法を実現するための回路は
複雑になり易い。またビットシリアルデータ構造を取る
ことによって、行列乗算がビット単位で、即ち、1クロ
ック周期当たり1ビットずつ計算され、その結果、リア
ルタイム処理の応用には適していない。
【0009】
【発明が解決しようとする課題】したがって、本発明の
主な目的は、リアルタイム映像処理システムで用い得る
ハードウェア的な複雑度を減らした高速IDCT回路を提供
することであって、IDCT処理で行われる行列乗算のため
に、プログラム可能ロジックアレイ(Programmable Logi
c Array;PLA)を用いたIDCT回路を提供することである。
【0010】
【課題を解決するための手段】したがって、上記目的を
達成するために、本発明によれば、N個の入力データにI
DCT処理を行ってN個の出力データN個の(入力データ
は、N/2奇数番目の入力データとN/2偶数番目の入力デー
タとを含み)を提供する1次元逆離散的コサイン変換(I
DCT)回路であって、前記偶数番目の入力データに偶数ID
CT行列を乗じて第1群のN/2の中間データを提供するも
のであって、前記N/2偶数番目の入力データに偶数IDCT
行列乗算を行うための多数の乗算器と多数の加算器とを
備えて第1乗算手段と、前記奇数番目の入力データに奇
数IDCT行列を乗じて第2群のN/2の中間データを提供す
るものであって、前記N/2奇数番目の入力データに奇数I
DCT行列乗算を行うための多数の乗算器と多数の加算器
とを備える第2乗算手段と、第1群のN/2中間データの
各々とその相応する第2群のN/2中間データの各々を加
算して、第1のN/2出力データを提供する加算手段と、
第2群のN/2中間データの各々をその相応する第1群のN
/2中間データから減算して、第2のN/2出力データを提
供する減算手段とを含むことを特徴とする1次元逆離散
的コサイン変換(IDCT)回路が提供される。
【0011】
【実施例】以下、本発明の実施例について図面を参照し
ながらより詳しく説明する。離散的コサイン変換(DCT)
は、標本化されたコサイン関数である1群の基底ベクト
ルから構成された直交変換である。N(N=2n;nは正の整
数)点1次元DCT入力データがxjであり、出力データがyj
であれば、その出力データyjは次の式(1)のように表さ
れ得る。
【0012】
【数6】
【0013】式(1)は次の式(2)のように行列で表され得
る。
【数7】
【0014】ここで、XはN次元入力ベクトルであり、
下記の式(3)のように、
【数8】 と表され、YはN次元出力ベクトルであり、下記の式(4)
のように、
【数9】 と表され、DはNxNDCT行列であって、下記の式(5)のよう
に、
【数10】 と表される。
【0015】DCT行列Dの要素は、下記の式(6)のよう
に、
【数11】 と表され、下記の式(7)のように、
【数12】 のような関係にある。
【0016】Nが8である場合、式(2)は上記式を用いて
次のように変形される。
【0017】
【数13】
【0018】式(7)の関係を用いて、DCT係数、即ち、DC
T行列の要素と入力データとの乗算の数を半分にするこ
とが可能である。同様に、IDCTに対しても入力ベクトル
と出力ベクトルとを各々式(3)と式(4)で定義されたy及
びxとすれば、y及びxの関係は次の式(9)のように変形が
可能である。
【0019】
【数14】
【0020】ここで、IDCT処理は奇数のIDCT行列と偶数
のIDCT行列とを用いて表現される。奇数および偶数のID
CT行列の要素は、例えば、c2とc1は上記式(8)の変形さ
れたDCT行列の逆行列を求めることによって得られる。
【0021】式(9a)と式(9b)では、最初に、N次元入力
ベクトルがN/2次元の偶数番目の入力ベクトル、例え
ば、(y0,y2,y4,y6)と、奇数番目の入力ベクトル、例え
ば、(y1,y3,y5,y7)とに分けられる。式(9a)の偶数のIDC
T行列は偶数番目の入力ベクトルに乗じられてN/2中間デ
ータになるが、その各々は出力ベクトルの2つの要素の
和となる。同様に、式(9b)の奇数IDCT行列は奇数番目の
入力ベクトルに乗じられてN/2中間データになるが、そ
の各々は出力ベクトルの2つの要素の差となる。従来の
IDCTプロセッサは分布算数とビットシリアルデータ構造
を用いて、式(9a)と式(9b)に基づいてIDCT処理を行った
(M.L.Niouらに付与された米国特許第4,791,598号明細
書参照)。
【0022】本発明によれば、式(9a)と式(9b)とは次の
式(10)のようにさらに変形される。
【0023】
【数15】
【0024】ここで、IDCT処理は式(9a)を変形して得た
式(10a)と式(10b)の変形された偶数のIDCT行列と式(9b)
または式(10c)の奇数のIDCT行列で表される。
【0025】図1に、式(10a)ないし式(10c)の1次元ID
CT処理を行うIDCT回路のブロック図が示されている。偶
数のIDCTブロック100は、式(9a)に示された偶数のIDCT
行列の乗算を行うと共に、奇数のIDCTブロック100は式
(9b)に示した奇数のIDCT行列の乗算を行う。式(9a)と式
(9b)から2つのIDCTブロック100と200とは同一方法で具
現され得ることが分かる。しかし、前述したように、式
(9a)の行列掛け合わせは、式(10a)と式(10b)とに変形さ
れる。したがって、偶数のIDCTブロック100では、式(9
a)の結果をさらに効率的に取扱うために、式(10a)と式
(10b)の計算を行う。
【0026】入力行列の一列である入力ベクトルは、最
初偶数番目と奇数番目の入力ベクトルに分けられて、偶
数IDCTブロック100と奇数IDCTブロック200とに各々入力
される。例えば、N=8であれば、入力ベクトル(y0,y1,
y2,...,y7)は(y0,y2,y4,y6)と(y1,y3,y5,y7)とに分離さ
れて、一対の入力データ、例えば、(y0,y1)がIN EVENラ
インとIN ODDラインとを通じて同じクロックサイクルに
入力される。
【0027】前記したように、式(10a)と式(10b)の偶数
番目の入力ベクトルは、まず順次的にレジスタ/ラッチ
ブロック111に入力されて格納されたのち、並列に出力
される。入力ベクトルはレジスタ/ ラッチブロック111
の出力ポートに4クロックサイクルのあいだラッチされ
る。そのあいだ、y2とy6は式(10b)を計算するために、
マルチプレクサ122を通じて乗算器141および142に提供
される。y0とy4は式(10a)の計算のために、ライン113及
び2の補数変換器121に各々提供する。
【0028】偶数IDCTブロック100においては、式(10b)
の行列掛け合わせを行うための2つの乗算器、即ち、乗
算器(c2)141および乗算器(c6)がある。乗算器141,142の
計算結果は加算器152に入力される。コサイン関数の特
性から式(10a)におけるC4は1であるので、式(10a)の入
力データy0,y4に乗じられる必要がない。したがって、y
0は加算器151に直接接続され、y4は2の補数変換器121を
通じて加算器151に接続される。処理されるデータは2の
補数形態で表現され、2の補数変換器121は式(10a)の演
算のために、変換されたIDCT行列における要素の符号を
表す信号のCOEF SIGNに応答して、y4の符号を変換させ
る。2つの乗算器141および142の処理とライン113およ
び114上に提供されたデータが表1に示されている。
【0029】
【表1】 表1 クロックサイクル 乗算器(c2) 乗算器(c6) ライン113 ライン114 1 c2 x y2 c6 x y6 y0 y4 2 -c2 x y6 c6 x y2 y0 -y4 3 -c2 x y6 c6 x y2 y0 -y4 4 c2 x y2 c6 x y6 y0 y4
【0030】表1の各列は、各クロックサイクルに加算
器151,152への4つの入力データを示す。加算器151は、
各クロックサイクルについて、表1における同一の行(r
ow)の第4及び第5列(column)の2つの要素を加えるのに
対し、加算器152は第2及び第3列の要素を加える。第
1、第2クロックサイクルでは、2つの加算器151,152
の結果が加算/減算器161に入力されて、一つの行の4
つの要素が全て加えられる。第3、第4クロックサイク
ルには加算/減算器161で加算器152の結果が加算器151
の結果から減算される。
【0031】加算器151,152及び加算/減算器161の動作
は、式(10a)ないし(10c)の関係を用いて表2のように整
理される。
【0032】
【表2】 表2 クロックサイクル 加算器151 加算器152 加算/減算器161 1 x0+x7+x3+x4 x0+x7-x3+x4 x0+x7 2 x1+x6+x2+x5 x1+x6-x2-x5 x1+x6 3 x1+x6+x2+x5 x1+x6-x2-x5 x2+x5 4 x0+x7+x3+x4 x0+x7-x3-x4 x3+x4
【0033】加算器151および152の出力は、式(10a)お
よび式(10b)の結果と同じであり、加算/減算器161の出
力は式(9a)の結果と同じであることが容易に分かる。表
1と表2で分かるように、乗算器141,142、加算器151,1
52では同じ処理が二回ずつ行われて加算/減算器161で
所望の結果を出力するようにする。前述のように、偶数
IDCTブロック100は式(9a)に示したような偶数番目の入
力ベクトルと偶数IDCT行列との乗算処理を行う。奇数ID
CTブロック200の全体処理は、偶数IDCTブロック100のそ
れと類似である。但し、式(10c)のc1,c3,c5およびc7の
各々のための乗算器が4つ必要である点が異なる。奇数
番目の入力ベクトルはレジスタ/ラッチブロック112の
出力ポートに、4クロックサイクルのあいだラッチされ
て、式(10c)の計算のためにマルチプレクサ123を通じて
4つの乗算器143ないし146へ入力される。
【0034】表3には4つの乗算器143ないし146の他の
クロックサイクルにおける処理が示されている。
【0035】
【表3】 表3 クロック マルチ マルチ マルチ マルチ サイクル プレクサ(c1) プレクサ(c3) プレクサ(c5) プレクサ(c7) 1 c1 x y1 c3 x y3 c5 x y5 c7 x y7 2 -c1 x y5 c3 x y1 -c5 x y7 -c7 x y3 3 -c1 x y3 c3 x y7 c5 x y1 c7 x y5 4 -c1 x y7 c3 x y5 -c5 x y3 c7 x y1
【0036】各行の4つの要素は3つの加算器153,154
および162でその対応するクロックサイクルに加算され
て、式(10c)の左部の要素を提供する。前述したよう
に、奇数IDCTブロック200は、式(10c)に示したように奇
数番目の入力ベクトルに奇数IDCT行列を乗ずる。
【0037】式(9a)および式(9b)に示した加算/減算器
161と加算器162との結果は、加算器171と減算器172で各
々加算及び減算されて出力データ、即ち、x0ないしx7を
提供する。前述したように、4対の結果、即ち、(x0,x
7),(x1,x6),(x2,x5)および(x3,x4)は、順次的に第1項
は加算器171から、第2項は減算器172から各々提供
される。その結果は順次的に1つづつ提供され、ラウン
ド/クリップ(round/clip)ブロック181および182にて、
システムにおいて取り扱われるデータのダイナミックレ
ンジに鑑みて、予め定められたビットに四捨五入される
か切り捨てられる。前述した過程は次回の入力ベクト
ル、即ち、NxN入力行列の他の列に対して繰り返され
る。入力ベクトルがレジスタ/ラッチブロック111,112
の出力ポートにラッチされる間、次の入力ベクトルが入
力されて、後続の入力ベクトルを中断無く処理し得るよ
うにする。
【0038】図2には、図1に示した乗算器(c2)141の
詳細なブロック図が示されている。乗算器は2の補数変
換器210a,210bと、PLA220aないし220dと、加算器230aな
いし230cとを含む。
【0039】本発明によれば、図1に示されたように、
式(10b)のy2やy6が、ライン115を通じて乗算器(c1)141
へ入力される。4つのPLA220aないし220d及び3つの加
算器230aないし230cは、2つの正数を乗ずる。ここで、
2つの正数は入力の絶対値と式(10a)ないし(10c)に示し
たIDCT行列のC2のような予め定められた乗算係数とから
なる。したがって、入力が2の補数形態で表現された負
数であるばあい、最初、2の補数変換器210で相応する
正数に変換される。入力のMSB(Most SignificantBit;最
上位ビット)または符号ビットが、SIGN BITとして、2の
補数変換器210aに、変換を行うか否かを決定するために
入力される。
【0040】2の補数変換器210aの出力は、多数の、例
えば、4つのビット群に分離される。各PLAは各ビット
群の入力を受けて、そのビット群に相応する乗算の部分
結果を出力するが、この部分結果は入力ビットと乗算係
数との乗算結果からなる。PLAの構造は入力のビット数
と乗算係数とに応じて予め定められ得る。詳しく述べる
なら、一つのPLAが全ての可能な入力ビットなどに対す
る全ての可能な部分結果を含み、入力ビットなどに応答
して予め定められた部分結果のうちの一つを選択するこ
とによって乗算処理を行う。4つのPLA220a〜220dから
の部分結果がシフトされ、加算器230a〜230cで加算され
て、これによって完全な乗算結果を提供する。第2の2
の補数変換器210bでは、乗算結果の符号が決定される。
詳しく述べるなら、表2の第2列の第1および第4クロ
ックサイクルでのように、入力が正数であり乗算係数が
正数であれば、図1に示したライン116上に加算器230c
の結果が乗算器(c2)の出力として提供される。入力と乗
算係数が共に負数である場合も結果は同じである。もし
一つのみが負数であれば、乗算器(c2)の出力は第2の2
の補数変換器210bで相応する負数に変換される。信号SI
GN BITとCOEF SIGNは各々入力データの符号と乗算係数
の符号とを表すが、この信号がXORゲートを経て2の補数
変換器210bに接続されて前述のような処理が可能にな
る。2の補数ブロック210aおよび210bは変換を効率的に
行うためにPLAを用いてもよい。
【0041】前記したような方法において、図1の乗算
器141〜146は、表2と表3に指定された乗算を分布演算
とビットシリアルデータ構造に基づく従来技術に比べて
効率的な作動を行う。乗算器の詳細な構造は入力のビッ
ト数と乗算係数とによって異なり得るが、主な構造は図
2のものと同様である。
【0042】映像処理のような実際の応用においては、
IDCTは、入力行列、即ち2次元DCT変換データに対して
行われる。2次元IDCT回路は前述のような1次元IDCT回
路の2つから構成され得る。この2次元DCTは、下記の
式(11)のように、
【数16】 と表示され得る。ここで、ZはN x N 出力行列または、
変換された行列で、YはN x N入力行列で、DtはDCT行列
Dの転置行列である。
【0043】同様に、2次元IDCTは、下記の式(12)のよ
うに、
【数17】 と表示され、ここで、ZはN x N入力行列または変換され
た行列で、YはN x N出力行列または、逆変換された行列
で、IDCT行列CはDCT行列Dの逆である。
【0044】上記式(12)は下記の式(13)のように書き直
し得る。
【数18】Y=C(CZt)t ...(13)
【0045】上記式において、2次元IDCTは、1次元ID
CTの結果を転置してさらに1次元IDCTを行うことにより
実現し得ることが分かる。
【0046】図3には、式(13)の計算のための本発明の
IDCT回路が示されている。図3の回路は、N x N入力行
列にIDCT行列乗算算を行って中間行列を提供する第1の
1次元IDCT回路310と、中間行列を転置する転置メモリ32
0と、転置された中間行列に他のIDCT行列を乗ずる第2
の1次元IDCT回路330と、本発明のIDCT回路に用いられる
多様な制御信号を生成する制御器340とを含む。
【0047】2つの1次元IDCT回路310および330は、図
1および図2で説明された通りである。したがって、前
述の方法により、一つは奇数番目で、もう一つは偶数番
目である一対の入力データが、第1の1次元IDCT回路31
0へ同じクロックサイクルに入力されて中間行列要素一
対が提供される。第1の1次元IDCT回路310からの中間
行列は、転置メモリ320で転置されて、第2の1次元IDC
T回路330へ提供される。
【0048】図4には、図3に示した転置メモリ320の
詳細な構造が示されている。転置メモリ320は、4つの
二重ポートRAM410a〜410dと、転置処理のための付加回
路とを含み、二重ポートRAMの各々は中間行列の16個の
要素を格納し得る。1次元IDCT回路310からの中間行列
は4つの群、即ち、偶数ー偶数、奇数ー偶数、偶数ー奇
数、奇数ー奇数に分けられて、図5または図6に示され
たように、相応する二重ポートRAM410a〜410dに格納さ
れる。ここで、xijは中間行列のi番目の行、j番目の列
の要素を意味する。例えば、図5の場合、二重ポートRA
Mの偶数ー偶数410aは列番号と行番号が偶数であるデー
タを格納すると共に、二重ポートRAMの偶数ー奇数410c
は列番号が奇数で、行番号が偶数であるデータを格納す
る。図5および図6の円内の数字などは相応する二重ポ
ートRAMの住所を示す。転置された中間行列を第2のIDC
T回路330に提供するために、データは中間行列が転置メ
モリ320に入力された順序とは異なる順序で出力され
る。
【0049】前述したように、図1のラインOUT EVENお
よびOUT ODDに提供された中間行列は、下記表4に示し
たように、ラインDIN EVENおよびDIN ODDに入力され
る。
【0050】
【表4】 表4 ライトクロックサイクル DIN EVEN DIN ODD 1-4 x00,x01,x02,x03 x07,x06,x05,x04 5-8 x10,x11,x12,x13 x17,x16,x15,x14 9-12 x21,x22,x23,x24 x27,x26,x25,x24 ・ ・ ・ ・ ・ ・ ・ ・ ・ 25-28 x61,x62,x63,x64 x67,x66,x65,x64 29-32 x71,x72,x73,x74 x77,x76,x75,x74
【0051】ここで、xij(i=0,..,7、j=0,..,7)は中間
行列の要素Xとして、次の式(14)のように表現される。
【0052】
【数19】X=CZt ...(14)
【0053】前記式(14)において、ZtがZの代わりに用
いられたが、これは入力行列が第1の1次元IDCT回路31
0に行単位で入力されるという意味である。表4を図5
および図6と比較すれば、表5に示すように、図5およ
び図6に示した方法で中間行列を格納するための4つの
二重ポートRAM410a〜410dのアドレス列を容易に類推す
ることができる。
【0054】
【表5】 表5 ライトクロック 偶数ー偶数 奇数ー偶数 偶数ー奇数 奇数ー奇数 サイクル 1-4 0,3,1,2 x 3,0,2,1 x 5-8 x 0,3,1,2 x 3,0,2,1 9-12 4,7,5,6 x 7,4,6,5 x 13-16 x 4,7,5,6 x 7,4,6,5 17-20 8,b,9,a x b,8,a,9 x 21-24 x 8,b,9,a x b,8,a,9 25-28 c,f,d,e x f,c,e,d x 29-32 x c,f,d,e x f,c,e,d 1-4 0,c,4,8 c,0,8,4 x x 5-8 x x 0,c,4,8 c,0,8,4 9-12 1,d,5,9 d,1,9,5 x x 13-16 x x 1,d,5,9 d,1,9,5 17-20 2,e,6,a e,2,a,6 x x 21-24 x x 2,e,6,a e,2,a,6 25-28 3,f,7,b f,3,b,7 x x 29-32 x x 3,f,7,b f,3,b,7
【0055】表5の上部と下部は、各々図5及び図6に
基づき、4つの二重ポートRAM410a〜401dの各々へのラ
イトアドレスを表す。表5において、xは相応する二重
ポートRAMに、そのクロックサイクルにはデータが格納
されないという意味である。
【0056】図5または図6のような方法で二重ポート
RAM410a〜410dに格納されたデータは、図4に示したラ
インDOUT EVENおよびDOUT ODDを通じて、第2の1次元I
DCT回路330へ転置された順序で提供される。現在、二重
ポートRAM410aないし410dに格納された中間行列の要素
などが引き出されるあいだ、次の入力行列から計算され
た次中間行列が二重ポートRAMへ入力される。データの
損失を防止するために、以前に格納された中間行列のデ
ータが引き出されたのち、新しいデータが格納されるよ
うに二重ポートRAM410aないし410dのリードとライト処
理を設けなければならない。図5のように、現在格納さ
れた中間行列を転置するためには、二重ポートRAM410a
および410bの第1列に格納された中間行列の第1列が先
に引き出されなければならない。この二重ポートRAM410
aおよび410bの第1列のデータが引き出されたのちに
は、次の中間行列のデータを引き出されたデータの代わ
りに同じアドレスにライトし得る。次のブロックの最初
の8つのデータは、二重ポートRAM410aおよび410bの第
2列ないし第4列に残っている現在格納された中間行列
のデータの損失を防止するために、図6の二重ポートRA
Mの偶数ー偶数410aおよび奇数ー偶数410bの第1列のよ
うな方式で格納される。次のブロックの残りのデータな
どは相応する位置に格納されたデータなどが引き出され
たのち、図6のような方式で格納される。結論的に、連
続の中間行列などは4つの二重ポートRAM410a〜410dに
図5及び図6の方式を交互的に行って格納される。する
と、連続のブロックなどのデータが4つの二重ポートRA
M410a〜410dに格納され転置されると共に、その転置過
程にデータの損失が伴わないことになる。
【0057】図4には、第1の1次元IDCT回路310から
ラインDIN EVENおよびDIN ODDを通じて、対をなして入
力される一ブロックのデータは4つのマルチプレクサ42
0a〜420dを用いて、図5および図6に示されたように、
交互的に4つの二重ポートRAMに格納される。中間行列
の一対の要素は二重ポートRAM410a〜410dからマルチプ
レクサ430を通じて提供されて、図3に示した第2の1
次元IDCT回路330に接続される。次には、データが転置
された順序で引き出される。詳しく述べるなら、第1列
のデータ、即ち、x00,x10,..x,70が第1の4つのリード
クロックサイクルのあいだ引き出される。一列のデータ
は一行のライト順序と類似した方式で引き出される。前
述したように、図3のラインDOUT EVENおよびDOUT ODD
上に提供された転置された中間行列データが表6に整理
されている。
【0058】
【表6】 表6 リードクロックサイクル DOUT EVEN DOUT ODD 1-4 x00,x60,x20,x40 x70,x10,x50,x30 5-8 x01,x61,x21,x41 x71,x11,x51,x31 9-12 x02,x62,x22,x42 x72,x12,x52,x32 ・ ・ ・ ・ ・ ・ ・ ・ ・ 25-28 x06,x66,x26,x46 x76,x16,x56,x36 29-32 x07,x67,x27,x47 x77,x17,x57,x37
【0059】上記の順序を図5および図6を比較すれ
ば、図5の方式で格納されたデータを引き出すためのリ
ードアドレス列が図6に係わるライトアドレスと同じで
あると共に、その逆も可能であることが分かる。上述し
たリードおよびライト処理は表7aと表7bに表されて
いる。
【0060】
【表7】 表7a クロック 1 2 3 4 5 6 7 8 9 10 11・・ ライト x00 x06 x02 x04 x10 x16 x12 x14 x20 x26 x22・・ データ x07 x01 x05 x03 x17 x11 x15 x13 x27 x21 x25・・ ライト 0 3 1 2 0 3 1 2 4 7 5 ・・ アドレス 3 0 2 1 3 0 2 1 7 4 6 ・・ リード U U U U U U U U U U U ・・ データ U U U U U U U U U U U ・・ リード 2 0 3 1 2 4 7 5 6 4 7 ・・ アドレス 1 3 0 2 1 7 4 6 5 7 4 ・・ 表7b クロック 27 28 29 30 31 32 33 34 35 36・・ ライト x62 x64 x70 x76 x72 x74 x00 x06 x02 x04・・ データ x65 x63 x77 x71 x75 x73 x07 x01 x05 x03・・ ライト d e c f d e 0 c 4 8・・ アドレス e d f c e d c 0 8 4・・ リード U U U x00 x06 x20 x40 x01 x61 x21・・ データ U U U x70 x10 x50 x30 x71 x11 x51・・ リード f d e 0 c 4 8 0 c 4・・ アドレス c e d c 0 8 4 c 0 8・・
【0061】前述したように、データの損失を防止する
ために、リードサイクルは表7bの30番目のライトクロ
ックサイクルに始める。即ち、中間行列の29 x 2個のデ
ータが各入力ラインDIN EVENおよびDIN ODDを通じて二
重ポートRAMに入力されて格納されたのち、転置された
中間行列の第1の2つの要素、例えば、x00およびx70
が、ラインDOUT EVENおよびDOUT ODDを通じて二重ポー
トRAMから引き出される。一つのアドレスのデータは、
現在中間行列の要素がライトされたあと引き出され、そ
のアドレスに格納されたデータは、相応するデータが引
き出されたのち次の中間行列の要素により置き替えられ
るようにリードおよびライトクロックサイクルを決定す
る。x70は29番目のライトクロックサイクルにライトさ
れ、1番目のリードクロックサイクルまたは30番目のラ
イトクロックサイクルに引き出されるということに注目
すべきである。アドレス列は上述したリードおよびライ
ト処理を適切に行い得るように生成される。
【0062】図4を参照すれば、2つのアドレス信号、
即ち、リードアドレスRAD EEおよびライトアドレスWAD
EEが各々の二重ポートRAM410a〜410dへ入力される。ラ
イトイネーブル信号WEN EEは、相応する二重ポートRAM
にデータをライトすることが可能であるかを決定するに
働く。データが二重ポートRAMにライトされないばあ
い、例えば、表5にxと表示されたばあいには、二重ポ
ートRAMのライト処理は行われて相関なしデータが格納
されないようにする。多様な信号、例えば、RAD EE,WEN
OE,WAD OOなどは図7に示した回路で生成される。図7
の回路は図3に示した制御器340に取り付けられてもよ
い。
【0063】リード/ライトポイント信号生成器705
は、クロック信号に応答して、リードポイント信号およ
びライトポイント信号とを生成する。このリードポイン
ト信号は各中間行列の転置メモリ320へのリード処理の
始まりを表す反面、ライトポイント信号は各中間行列の
ライト処理の始まりを表す。例えば、表7aおよび表7
bにおいて、ライトポイント信号は1番目と33番目の
ライトクロックサイクルでイネーブルされると共に、リ
ードポイント信号は30番目のライトクロック信号でイ
ネーブルされる。
【0064】各々の8つのアドレス生成器710a〜710dと
720a〜720dとは括弧内に指定されたアドレス列を生成す
る。HOR AD GEN1 720aおよびHOR AD GEN720bは図5のよ
うに、データを格納するためのライトアドレスを生成す
る反面、HOR AD GEN1710aおよびHOR AD GEN2710bは図6
のように、格納されたデータを引き出すためのリードア
ドレスを生成する。同様に、図6のように、VER AD GEN
1 720cおよびVER AD GEN
【0065】2 720dは、データを格納するためのライ
トアドレスを生成し、VER AD GEN1 710cおよびVER AD G
EN2 710dは図5のように格納されたデータを引き出すた
めのリードアドレスを生成する。前述したように、リー
ドアドレスおよびライトアドレスは、Tフリップーフロ
ップ 712,722と、マルチプレクサ715a〜715d,725a〜725
dとを用いてブロック単位で交互的に生成する。リード
アドレス信号RAD EE,RAD EO,RAD OEおよびRAD OOと、ラ
イトアドレス信号WAD EE,WAD EO,WAD OEおよびWAD OOは
図4に示されたように、その相応する二重ポートRAMへ
提供される。
【0066】ライト処理のために、ライトイネーブル信
号も生成される。表5に示されたように、4つの二重ポ
ートRAMのうちのいずれも2つが同時に図7に示したイ
ネーブル生成回路740を用いてライトイネーブルされ
る。
【0067】前述したアドレス信号とイネーブル信号と
を用いて転置された中間行列は、図3に示した第2の1
次元IDCT回路330に入力される。表7aおよび表7bに
示されるように、リードデータまたは第2の1次元IDCT
回路330の入力データ列は、第1の1次元IDCT回路310の
入力データ列と異なる。前述すれば、第1中間行列のデ
ータ、例えば、x00,x60,x20,x40が第2の1次元IDCT回
路330に入力される。この第2の1次元IDCT回路330は入
力データが異なるということを除いては、第1の1次元
IDCT回路310のような処理を行う。したがって、第2の
1次元IDCT回路330も、図1に示されたような構造から
なり得る。入力ベクトルは図1に示したレジスタ/ラッ
チブロック111,112に順次的に入力、格納、ラッチさ
れ、よって、図1の回路はレジスタ/ラッチブロック11
1,112を除いては第1および第2の1次元IDCT回路に対
して同一の処理を行う。前述した2次元IDCT回路を用い
て、2次元IDCTは1次元IDCTの結果を転置して、さらに
1次元IDCTすることによって得られる。
【0068】上記において、本発明の特定の実施例につ
いて説明したが、本発明の範囲を逸脱することなく、当
業者は種々の改変をなし得るであろう。
【0069】
【発明の効果】したがって、本発明によれば、リアルタ
イム映像処理システムで用いられるハードウェアの複雑
度を減らした高速IDCT回路であってIDCT処理で行われる
行列乗算のためにプログラム可能ロジックアレイ(PLA)
を用いたIDCT回路を提供する。
【図面の簡単な説明】
【図1】本発明の1次元IDCT回路のブロック図である。
【図2】図1に示した乗算器の詳細な構造である。
【図3】本発明の2次元IDCT回路のブロック図である。
【図4】図3に示した転置メモリの詳細なブロック図で
ある。
【図5】転置メモリの処理を説明するダイヤグラム図で
ある。
【図6】転置メモリの処理を説明するダイヤグラム図で
ある。
【図7】転置メモリへのアドレス信号および制御信号を
生成する回路図である。
【符号の説明】
100 偶数のIDCTブロック 200 奇数のIDCTブロック 310 第1の1次元IDCT回路 320 転置メモリ 330 第2の1次元IDCT回路 340 制御器

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 N個の入力データにIDCT処理を行ってN
    個の出力データN個の(入力データは、N/2奇数番目の入
    力データとN/2偶数番目の入力データとを含み)を提供
    する1次元逆離散的コサイン変換(IDCT)回路であって、 前記偶数番目の入力データに偶数IDCT行列を乗じて第1
    群のN/2の中間データを提供するべく、前記N/2偶数番目
    の入力データに偶数IDCT行列乗算を行うための多数の乗
    算器と多数の加算器とを備えた第1乗算手段と、 前記奇数番目の入力データに奇数IDCT行列を乗じて第2
    群のN/2の中間データを提供するべく、前記N/2奇数番目
    の入力データに奇数IDCT行列乗算を行うための多数の乗
    算器と多数の加算器とを備えた第2乗算手段と、 第1群のN/2中間データの各々とその相応する第2群のN
    /2中間データの各々を加算して、第1のN/2出力データ
    を提供する加算手段と、 第2群のN/2中間データの各々をその相応する第1群のN
    /2中間データから減算して、第2のN/2出力データを提
    供する減算手段とを含むことを特徴とする1次元IDCT回
    路。
  2. 【請求項2】 前記各々の乗算器が奇数または偶数ID
    CT行列に含まれた、予め定められた乗算係数を入力デー
    タに乗じる1次元逆離散的コサイン変換(IDCT)回路にお
    いて、 前記入力データが負数である場合に入力データを2の補
    数に変換させる手段と、 入力データを、予め定められた数の入力ビット群に分け
    る手段と、 その各々が入力ビットの全ての可能な組合せに対する部
    分乗算結果を含み、前記入力ビット群に相応する部分乗
    算結果のうちのいずれか一つを選択する予め定められた
    数のプログラム可能ロジックアレイ(PLA) と、 選択された部分乗算結果を加えて、乗算結果を提供する
    手段と、 予め定められた乗算係数および入力データの符号に基づ
    いて、前記乗算結果の符号を決定する手段と、 前記乗算結果の符号が負数と決定された場合に該乗算結
    果を2の補数に変換する手段とを含むことを特徴とする
    請求項1記載の1次元逆離散的コサイン変換(IDCT)回
    路。
  3. 【請求項3】 前記Nは8であり、前記偶数のIDCT行
    列乗算が、 【数1】 と表示され、前記奇数のIDCT行列乗算が、 【数2】 と表示され、第1中間データ群が(x0+x7),(x1+x6),(x2+
    x5)および(x3+x4)を含むと共に、第2中間データ群が(x
    0-x7),(x1-x6),(x2-x5)および(x3-x4)を含み、ここで(y
    0,y1,y2,...,y7)はN個の入力データを表し、(x0,x1,x
    2,...,x7)はN個の出力データを表すことを特徴とする請
    求項1に記載の1次元逆離散的コサイン変換(IDCT回
    路。
  4. 【請求項4】 前記偶数のIDCT行列乗算が、 【数3】 に変形されることを特徴とする請求項3に記載の1次元
    逆離散的コサイン変換(IDCT)回路。
  5. 【請求項5】 NxN入力行列に行列分解法を用いて、I
    DCT取扱いを行ってNxN出力行列を提供する2次元逆離散
    的コサイン変換(IDCT)回路であって、 (a)NxN入力行列に予め定められたIDCT行列を乗ずること
    によって、1次元IDCTを行って、NxN中間行列を提供す
    るべく、その各々がIDCT行列に備えられた予め定められ
    た乗算係数とNxN入力の要素の入力データとを乗ずる多
    数の乗算器を備える第1のIDCT回路と、 (b)NxN転置メモリと、 (c)前記NxN中間行列を前記NxN転置メモリに格納させる
    手段と、 (d)前記NxN転置メモリに格納されたNxN中間行列に予め
    定められたIDCT行列を乗ずることによって1次元IDCTを
    行い、NxN出力行列を提供するべく、その各々がIDCT行
    列に備えられた予め定められた乗算係数と前記NxN中間
    行列の要素の入力データとを乗ずる多数の乗算器を備え
    る第2のIDCT回路と、 (e)NxN転置メモリからNxN中間行列の転置を引き出し
    て、第2のIDCT回路へ入力させる手段であって、 第1および第2のIDCT回路に含まれた各々の乗算器が、
    (i)前記入力データが負数である場合に入力データを2
    の補数に変換させる手段と、(ii)入力データを予め定め
    られた数の入力ビット群に分ける手段と、(iii)その各
    々が入力ビットの全ての可能な組合いに対する部分乗算
    結果を備えて、前記入力ビット群の各々に相応する部分
    乗算結果のうちのいずれも一つを選択する予め定められ
    た数のプログラム可能論理列(PLA)と、(iv)選択された
    部分乗算結果を加えて、乗算結果を提供する手段と、
    (v)予め定められた乗算係数と入力データとの符号に基
    づいて、前記乗算結果の符号を決定する手段と、(vi)前
    記乗算結果の符号が負数と決定された場合に該乗算結果
    を2の補数に変換する手段とを含むことを特徴とする2
    次元逆離散的コサイン変換(IDCT)回路。
  6. 【請求項6】 前記Nは8であり、前記第1および第
    2のIDCT回路へのIDCT行列乗算が、下記式のように、 【数4】 と、 【数5】 と表示され、ここで第1のIDCT回路への(y0,y1,y2,...,
    y7)は入力行列の一列を表し、(x0,x1,x2,...,,x7)は中
    間行列の一列を表すと共に、第2のIDCT回路への(y0,y
    1,y2...y7)は中間行列の一列を表し、(x0,x1,x2...x7)
    は出力行列の一列を表すことを特徴とする請求項5記載
    の2次元逆離散的コサイン変換(IDCT)回路。
JP33880794A 1994-12-28 1994-12-28 1次元および2次元逆離散的コサイン変換(idct)回路 Pending JPH08194686A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP33880794A JPH08194686A (ja) 1994-12-28 1994-12-28 1次元および2次元逆離散的コサイン変換(idct)回路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP33880794A JPH08194686A (ja) 1994-12-28 1994-12-28 1次元および2次元逆離散的コサイン変換(idct)回路

Publications (1)

Publication Number Publication Date
JPH08194686A true JPH08194686A (ja) 1996-07-30

Family

ID=18321656

Family Applications (1)

Application Number Title Priority Date Filing Date
JP33880794A Pending JPH08194686A (ja) 1994-12-28 1994-12-28 1次元および2次元逆離散的コサイン変換(idct)回路

Country Status (1)

Country Link
JP (1) JPH08194686A (ja)

Cited By (1)

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

Cited By (1)

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

Similar Documents

Publication Publication Date Title
US5249146A (en) Dct/idct processor and data processing method
EP0353223B1 (en) Two-dimensional discrete cosine transform processor
JP2949498B2 (ja) Dct回路、idct回路及びdct/idct回路
JPH08235159A (ja) 逆コサイン変換装置
Walmsley et al. A fast picture compression technique
JPH06149861A (ja) Dct及び逆dct演算装置並びにその演算方法
Wahid Low complexity implementation of daubechies wavelets for medical imaging applications
Jang et al. A 0.8/spl mu/100-MHz 2-D DCT core processor
JPH08194686A (ja) 1次元および2次元逆離散的コサイン変換(idct)回路
Liao et al. Novel architectures for the lifting-based discrete wavelet transform
KR0154919B1 (ko) 2차원 역이산 코사인 변환 회로
EP0720103A1 (en) Two-dimensional inverse discrete cosine transform circuit
Bruguera et al. 2-D DCT using on-line arithmetic
Nath et al. A high speed, memory efficient line based VLSI architecture for the dual mode inverse discrete wavelet transform of JPEG2000 decoder
WO2003009167A1 (fr) Procede de decomposition de matrice dct et dispositif dct
JP3652717B2 (ja) 離散コサイン高速演算器
KR100300338B1 (ko) 2차원 이산 웨이브렛 변환을 위한 초고밀도 집적회로 구조
Singha et al. A New Architecture for Transformation of Binary to Double Base Number System (DBNS) with Bases 2 and 5 using Different Search Algorithms
Aroutchelvame et al. Architecture of wavelet packet transform for 1-D signal
JPH05153402A (ja) 離散コサイン変換器
JP3575991B2 (ja) 直交変換回路
KR100575285B1 (ko) 고속의 저전력 이산 코사인 변환 장치 및 방법
Kim et al. 2-D discrete cosine transforms on a fine grain array processor
Hsiao et al. New hardware-efficient algorithm and architecture for the computation of 2-D DCT on a linear systolic array
JPH0540776A (ja) 二次元dctマトリクス演算回路