JP2958966B2 - Discrete cosine converter - Google Patents
Discrete cosine converterInfo
- Publication number
- JP2958966B2 JP2958966B2 JP5858789A JP5858789A JP2958966B2 JP 2958966 B2 JP2958966 B2 JP 2958966B2 JP 5858789 A JP5858789 A JP 5858789A JP 5858789 A JP5858789 A JP 5858789A JP 2958966 B2 JP2958966 B2 JP 2958966B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- data
- counter
- flip
- dct
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
Description
【発明の詳細な説明】 [産業上の利用分野] 本発明は、画像データの圧縮処理に用いられるディス
クリートコサイン変換装置に関する。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a discrete cosine transform device used for image data compression processing.
[従来の技術] 最近、テレビ電話などの分野においてはディスクリー
トコサイン変換(以下、DCTと略称する。)を利用した
画像データの圧縮処理が注目されている。[Related Art] Recently, in the field of videophones and the like, compression processing of image data using discrete cosine transform (hereinafter abbreviated as DCT) has attracted attention.
ここで、DCTは、直交変換の一つであり、カールネン
・レーベ変換と並んでエネルギー集中度の最も高い変換
法といわれるものである。Here, DCT is one of orthogonal transforms, and is called a transform method having the highest energy concentration along with the Karnen-Loeve transform.
いま、信号f(j)(j=0、1、…、N−1)の一
次元DCTによる結果F(u)(u=0、1、…、N−
1)は次式で定義される。Now, the result F (u) (u = 0, 1,..., N−) of the signal f (j) (j = 0, 1,..., N−1) by one-dimensional DCT
1) is defined by the following equation.
ただし、 また、逆変換は、 で定義される。 However, The inverse transformation is Is defined by
つまり、DCTは、ある波形を周波数成分に分割して、
入力サンプル数と同じ数だけコサイン波で表現するもの
である。そして、夫々の波形は、 F(0):直流 F(1):cos[(2j+1)π/2N] F(2):cos[(2j+1)2π/2N] で表現される。ここで、N=8の場合には、第10図に示
すようになる。In other words, DCT divides a certain waveform into frequency components,
The same number of cosine waves as the number of input samples is expressed. Each waveform is represented by F (0): DC F (1): cos [(2j + 1) π / 2N] F (2): cos [(2j + 1) 2π / 2N] Here, when N = 8, the result is as shown in FIG.
このような直交変換を画像に対して施すことにより、
エネルギーが集中し、そのエネルギーの多い成分だけを
符号化することで、画像データの圧縮が行なわれるよう
になる。By performing such an orthogonal transformation on the image,
By concentrating energy and encoding only components having a large amount of energy, image data can be compressed.
ところで、このようなDCTを定義式のままで計算しよ
うとすると計算量が膨大になるため、汎用のマイクロプ
ロセッサーでは、処理に相当な時間がかかってしまい、
現実的でない。By the way, when trying to calculate such a DCT with the definition formula, the calculation amount becomes enormous, and a general-purpose microprocessor takes a considerable amount of time to process.
Not realistic.
そこで、DCTの演算を効率よく実行するため、参考文
献IEEE TRANSACTION ON COMMUNICATIONS.VOL.COM−2
5、NO.11、NOVEMBER 1977(Adaptive Coding of Mo
nochrome and Color Image、WEN−HSIUNGCHEN、C.HA
RRISON SMITH)に開示されているDCTフローグラフが考
えられている。第11図は、このようなDCTフローグラフ
の一例を示すもので、ここでは、8次元DCTフローグラ
フを示している。そして、このようなグラフを用いての
演算処理は、DFTの場合は左から右方向に演算を実行
し、逆DCTの場合は右から左方向に演算を実行するよう
になる。Therefore, in order to efficiently perform the DCT operation, the reference document IEEE TRANSACTION ON COMMUNICATIONS.VOL.COM-2
5, NO.11, NOVEMBER 1977 (Adaptive Coding of Mo
nochrome and Color Image, WEN-HSIUNGCHEN, C.HA
RRISON SMITH) has been considered. FIG. 11 shows an example of such a DCT flow graph. Here, an eight-dimensional DCT flow graph is shown. Then, in the arithmetic processing using such a graph, the arithmetic is performed from left to right in the case of DFT, and the arithmetic is performed from right to left in the case of inverse DCT.
しかして、従来、このようなフローグラフを利用して
DCTまたは逆DCTを実行する演算手段として、第12図に示
すように記憶装置MAに対してフリップフロップFF1、FF
2、シフタSFTおよび加減算器ALUからなる演算部を接続
し、記憶装置MAより読出されたデータに対して演算部に
よりDCT演算を行なうようにしたものがある。Conventionally, using such a flow graph
As arithmetic means for executing DCT or inverse DCT, flip-flops FF1, FF are stored in the storage device MA as shown in FIG.
2. An arithmetic unit including a shifter SFT and an adder / subtractor ALU is connected, and a DCT operation is performed by the arithmetic unit on data read from the storage device MA.
[発明が解決しようとする課題] ところで、このような演算手段により、例えばN×N
のサブブロック化された画像データについて2次元のDC
T変換を行なう場合、第13図(a)に示すようにN×N
のブロック行方向についてN個の画像データを1つのブ
ロックとして、このようなN個のブロックに対してN回
の1次元DCT変換を実行し、その後、同図(b)に示す
ように列方向についても同様な処理を実行するようにな
る。ところが、このようにすると行方向に対するDCT変
換と列方向に対するDCT変換とで記憶装置MAからのデー
タの読出し方向およびその読出しアドレスが異なるの
で、行方向のDCT変換が終了した時点で、DCT変換により
得られたデータを並び換え、列方向のDCT変換が可能に
なるようにしており、このことが2次元DCT変換を行な
う上で演算速度の低下の原因となり、効率のよい処理が
難しい欠点があった。[Problem to be Solved by the Invention] By the way, such an arithmetic means can be used, for example, in an N × N
Two-dimensional DC for sub-block image data
When performing T conversion, as shown in FIG.
Assuming that N pieces of image data are one block in the block row direction, N times one-dimensional DCT transform is performed on such N blocks, and then, as shown in FIG. Will perform the same processing. However, in this case, the DCT conversion in the row direction and the DCT conversion in the column direction differ in the direction in which data is read from the storage device MA and the read address thereof, so when the DCT conversion in the row direction is completed, The obtained data is rearranged so that the DCT transform in the column direction can be performed. This causes a reduction in the operation speed in performing the two-dimensional DCT transform, and there is a drawback that efficient processing is difficult. Was.
本発明は上記事情に鑑みてなされたもので、変換デー
タの並び換えを行なうことなく2次元DCT演算を実行す
ることができ、演算の高速化が可能なディスクリートコ
サイン変換装置を提供することを目的とする。The present invention has been made in view of the above circumstances, and an object of the present invention is to provide a discrete cosine transform device that can execute a two-dimensional DCT operation without rearranging the converted data and can speed up the operation. And
[課題を解決するための手段] 本発明は、N×N画素にブロック化されたデータに対
して2次元のディスクリートコサイン変換を実行するも
のにおいて、上記データを記憶したデータ記憶手段と、
このデータ記憶手段より読出されるデータが入力されて
ディスクリートコサイン演算を行う演算手段と、上記デ
ータ記憶手段の列アドレスおよび行アドレスを指示する
バッファ手段と、上記N×N画素にブロック化されたデ
ータの列あるいは行の1画素のアドレスを指示するアド
レス制御信号を出力する制御手段と、上記N×N画素に
ブロック化されたデータの列あるいは行の1ラインブロ
ック分のディスクリートコサイン演算が終了するごとに
カウントアップされるカウンタ手段と、前記バッファ手
段の行アドレスを前記カウンタ手段のカウント値により
指定するとともに、前記バッファ手段の列アドレスに前
記制御手段のアドレス制御信号を入力し、前記カウンタ
手段のカウント値がNを超えると、前記バッファ手段の
列アドレスを前記カウンタ手段のカウンタ値により指定
するとともに、前記バッファ手段の行アドレスに前記制
御手段のアドレス制御信号を入力するアドレス切換え手
段とにより構成している。[Means for Solving the Problems] The present invention is to execute a two-dimensional discrete cosine transform on data blocked into N × N pixels, wherein the data storage means stores the data;
Arithmetic means for inputting data read from the data storage means to perform a discrete cosine operation; buffer means for designating a column address and a row address of the data storage means; and data divided into N × N pixels A control means for outputting an address control signal designating an address of one pixel in a column or a row of data, each time a discrete cosine operation for one line block of a column or a row of data divided into N × N pixels is completed And a row address of the buffer means is designated by the count value of the counter means, and an address control signal of the control means is inputted to a column address of the buffer means, and the counting of the counter means is performed. If the value exceeds N, the column address of the buffer Address switching means for inputting an address control signal of the control means to a row address of the buffer means while being designated by a counter value of the counter means.
[作 用] この結果、行方向の1ラインブロックごとの1次元DC
T演算後に変換データの並び換えを行なうことなく、次
の列方向の1ラインブロックごとの1次元DCT演算を実
行できるようになり、2次元のDCT演算を高速で実行で
きるようになる。[Operation] As a result, one-dimensional DC for each line block in the row direction is obtained.
Without performing rearrangement of the converted data after the T operation, the one-dimensional DCT operation can be executed for each one line block in the next column direction, and the two-dimensional DCT operation can be executed at high speed.
[実施例] 以下、本発明の一実施例を図面にしたがい説明する。Hereinafter, one embodiment of the present invention will be described with reference to the drawings.
第1図は、同実施例の主回路の回路構成を示すもので
ある。図において、1は外部インターフェース回路で、
この外部インターフェース回路1は図示しないCPUから
の制御信号CP(10:12)でアドレスされるコマンドレジ
スタを有し、内部動作/外部動作、DCT/逆DCT、READ/WR
ITE、Y/B−Y・R−Yなどの切替え指定を行なうととも
に、フラグEXECをセットしてシステム全体の制御を行な
う。また、2次元DCTの演算または量子化中はNBUSY信号
を外部に出力する機能を有している。2はタイミングジ
ェネレータで、このタイミングジェネレータ2はシステ
ムを動作させるための基本タイミングクロックを発生す
る。3は10ビットのシンクロナスカウンタで、このカウ
ンタ3はタイミングジェネレータ2からのクロックP3を
カウントし、後述するシーケンサメモリ6のアドレスを
指定するようにしている。ここで、シンクロナスカウン
タ3は、第3図に示すように構成している。31はオア回
路で、このオア回路31の一方の入力端子にインバータ32
を介して後述するシーケンスメモリ6にDCT変換の制御
プログラムとともに書込まれるエンドマーク信号LNEND
が与えられ、他方の入力端子に後述するカウンタ8のカ
ウント内容CT(0)〜CT(3)が入力されるナンド回路
33の出力が与えられる。このオア回路31の出力はアンド
回路34の一方の入力端子に与えられる。このアンド回路
34の他方の入力端子には外部インターフェース1からの
フラグEXEC出力が与えられる。アンド回路34の出力はフ
リップフロップ35のD端子に与えられる。このフリップ
フロップ35のQ端子からの出力はフリップフロップ36の
D端子、ノア回路37の一方の入力端子およびアンド回路
38の一方の入力端子に与えられ、端子からの出力はナ
ンド回路39の一方の入力端子に与えられる。さらに、フ
リップフロップ36のQ端子からの出力は、ノア回路37の
他方の入力端子に与えられ、端子からの出力はナンド
回路39の他方の入力端子に与えられる。ノア回路37から
は、ビジィ信号NBUSYが出力される。また、アンド回路3
8の他方の入力端子には、タイミングジェネレータ2か
らのクロックP3が与えられ、このクロックP3をカウンタ
40に対して出力するようにしている。さらにナンド回路
39の出力は、ナンド回路41の一方の入力端子に与えられ
る。このナンド回路41の他方の入力端子には、ライトイ
ネーブル信号WEが与えられ、その出力端子よりNWE信号
が出力される。カウンタ40は、3個の4ビットバイナリ
カウンタ401、402、403からなるもので、アンド回路38
より与えられるクロックP3をカウントしてシーケンスメ
モリ6のデータを読出すためのIA(0)〜IA(9)のア
ドレス信号を出力するようになっている。なお、リセッ
ト信号RESETは、インバータ42を介してフリップフロッ
プ35,36のCLR端子、カウンタ40を構成するバイナリカウ
ンタ401、402、403のCLR端子に与えられ、エンドマーク
信号LNENDは、インバータ32を介してバイナリカウンタ4
01、402、403のLD端子に与えられる。さらにタイミング
信号ARCKはフリップフロップ35、36のCK端子に与えられ
る。FIG. 1 shows a circuit configuration of a main circuit of the embodiment. In the figure, 1 is an external interface circuit,
The external interface circuit 1 has a command register addressed by a control signal CP (10:12) from a CPU (not shown), and has an internal operation / external operation, DCT / inverse DCT, READ / WR.
The user designates switching of ITE, Y / BY, RY, etc., and sets the flag EXEC to control the entire system. Also, it has a function of outputting an NBUSY signal to the outside during the operation or quantization of the two-dimensional DCT. Reference numeral 2 denotes a timing generator, which generates a basic timing clock for operating the system. Reference numeral 3 denotes a 10-bit synchronous counter which counts the clock P3 from the timing generator 2 and designates an address of a sequencer memory 6 described later. Here, the synchronous counter 3 is configured as shown in FIG. An OR circuit 31 has an inverter 32 connected to one input terminal of the OR circuit 31.
An end mark signal LNEND written together with a control program for DCT conversion into a sequence memory 6 described later through
And the other input terminal receives count contents CT (0) to CT (3) of the counter 8 described later.
33 outputs are provided. The output of the OR circuit 31 is provided to one input terminal of the AND circuit 34. This AND circuit
A flag EXEC output from the external interface 1 is given to the other input terminal of the. The output of the AND circuit 34 is provided to the D terminal of the flip-flop 35. The output from the Q terminal of the flip-flop 35 is the D terminal of the flip-flop 36, one input terminal of the NOR circuit 37, and the AND circuit.
The output from the terminal is supplied to one input terminal of the NAND circuit 39. Further, the output from the Q terminal of the flip-flop 36 is supplied to the other input terminal of the NOR circuit 37, and the output from the terminal is supplied to the other input terminal of the NAND circuit 39. The NOR circuit 37 outputs a busy signal NBUSY. Also, AND circuit 3
The clock P3 from the timing generator 2 is supplied to the other input terminal of the counter 8 and this clock P3 is
Output to 40. Further NAND circuit
The output of 39 is provided to one input terminal of the NAND circuit 41. A write enable signal WE is supplied to the other input terminal of the NAND circuit 41, and an NWE signal is output from an output terminal thereof. The counter 40 includes three 4-bit binary counters 401, 402, and 403.
The clock signal P3 supplied thereto is counted, and address signals IA (0) to IA (9) for reading data from the sequence memory 6 are output. The reset signal RESET is supplied to the CLR terminals of the flip-flops 35 and 36 via the inverter 42 and the CLR terminals of the binary counters 401, 402 and 403 constituting the counter 40, and the end mark signal LNEND is supplied via the inverter 32. Binary counter 4
01, 402 and 403 are supplied to the LD terminals. Further, the timing signal ARCK is supplied to the CK terminals of the flip-flops 35 and 36.
第1図に戻って、4、5、11は2to1のマルチプレクサ
で、このうちマルチプレクサ4が1ビット、マルチプレ
クサ5および11が共に10ビットの幅を有している。これ
らマルチプレクサ4、5、11はCPUからの制御信号CPUが
「L」レベルのときA側入力、「H」レベルのときB側
入力を選択するものである。この場合、マルチプレクサ
4はタイミングジェネレータ2またはCPUからのライト
イネーブル信号NCWE、マルチプレクサ5はシンクロナス
カウンタ3からのアドレス信号IA(0:9)またはCPUから
のアドレス信号CP(0:9)、マルチプレクサ11はアドレ
ス変換回路10の出力またはコンバータ23を介したCPUか
らのアドレス信号(0:9)を選択するようになってい
る。Returning to FIG. 1, reference numerals 4, 5, and 11 denote 2to1 multiplexers, of which the multiplexer 4 has a width of 1 bit, and the multiplexers 5 and 11 have a width of 10 bits. The multiplexers 4, 5, and 11 select the A-side input when the control signal CPU from the CPU is at the "L" level, and select the B-side input when the control signal is at the "H" level. In this case, the multiplexer 4 is a write enable signal NCWE from the timing generator 2 or the CPU, the multiplexer 5 is an address signal IA (0: 9) from the synchronous counter 3 or an address signal CP (0: 9) from the CPU, and the multiplexer 11 Selects an output of the address conversion circuit 10 or an address signal (0: 9) from the CPU via the converter 23.
6はシーケンスメモリで、このメモリ6は外部インタ
ーフェース回路1より与えられるDCTまたは逆DCTの演算
に必要な各種の制御データを1ステップごとにプログラ
ムとしてストアするとともに、所定ステップにエンドマ
ーク信号LNENDが書込まれている。この場合、DCTおよび
逆DCTに必要な制御データは異なる領域、ここでは下位
エリアにDCTプログラム、上位エリアに逆DCTプログラム
をストアし、外部インターフェース1の領域指定信号DC
TIによりDCT、逆DCTのいずれかのプログラムを指定し、
読出すようになっている。ここで、シーケンスメモリ6
は、書換え可能な40ビット×2KのRAMで構成され、DCTま
たは逆DCTの演算に必要な制御信号に対して最大1024ス
テップまでのプログラムを動作できるようにしている。
第4図はシーケンスメモリ6の構成図を示すもので、3
ビットをデュアルポートメモリ12のA領域のリードアド
レスAR(0:2)、3ビットを同メモリ21のA領域のライ
トアドレスAW(0:2)、3ビットを同メモリ12のB領域
のリードアドレスBR(0:2)、3ビットを同メモリ12の
B領域のライトアドレスBW(0:2)、5ビットをシフタ1
7のコントロールSA(0:4)、1ビットを加減算器19のコ
ントロールASA、2ビットをフリップフロップ13、14の
ラッチモードAM(0:1)、5ビットをシフタ18のコント
ロールSB(0:4)、1ビットを加減算器20のコントロー
ルASB、2ビットをフリップフロップ15、16のラッチモ
ードBM(0:1)、1ビットを演算系統Aのスルー/ルー
プ切替ATL、1ビットを演算系統Bのスルー/ループ切
替BTL、1ビットをクロス/パラレル切替CP、1ビット
をシーケンサエンドマークLNEND、2ビットを演算系統
Aの量子化データAN(0:1)、2ビットを演算系統Bの
量子化データBN(0:1)、1ビットを量子化コントロー
ルCOMPに利用している。Reference numeral 6 denotes a sequence memory. This memory 6 stores various control data required for DCT or inverse DCT operation provided from the external interface circuit 1 as a program for each step, and writes an end mark signal LNEND at a predetermined step. Is embedded. In this case, the control data required for the DCT and the inverse DCT are stored in different areas, here, the DCT program is stored in the lower area, and the inverse DCT program is stored in the upper area.
Specify either DCT or inverse DCT program by TI,
It is designed to be read. Here, the sequence memory 6
Is composed of a rewritable 40-bit × 2K RAM, and can operate a program of up to 1024 steps for a control signal required for DCT or inverse DCT operation.
FIG. 4 shows a configuration diagram of the sequence memory 6.
The bit is the read address AR (0: 2) of the area A of the dual port memory 12, the 3 bits are the write address AW (0: 2) of the area A of the memory 21, and the 3 bits are the read address of the area B of the memory 12. BR (0: 2), 3 bits for write address BW (0: 2) in area B of the same memory 12, 5 bits for shifter 1
7 is a control SA (0: 4), 1 bit is a control ASA of the adder / subtractor 19, 2 bits is a latch mode AM (0: 1) of the flip-flops 13 and 14, and 5 bits is a control SB (0: 4) of the shifter 18. 1 bit is the control ASB of the adder / subtractor 20, 2 bits is the latch mode BM (0: 1) of the flip-flops 15 and 16, 1 bit is the through / loop switching ATL of the arithmetic system A, and 1 bit is the Through / loop switching BTL, 1 bit cross / parallel switching CP, 1 bit sequencer end mark LNEND, 2 bits quantized data AN (0: 1) of operation system A, 2 bits quantized data of operation system B BN (0: 1), 1 bit is used for quantization control COMP.
そして、シーケンスメモリ6の各種の制御信号は、タ
イミングジェネレータ2からのクロックP3の反転信号NP
3の立上がりエッヂでフリップフロップ7に一時ラッチ
されたのち、出力される。The various control signals of the sequence memory 6 are the inverted signal NP of the clock P3 from the timing generator 2.
The signal is temporarily latched by the flip-flop 7 at the rising edge of 3 and then output.
ここで、フリップフロップ7にラッチされるエンドマ
ーク信号LNENDは、インバータ24を介してカウンタ8に
与えられる。この場合、カウンタ8はエンドマーク信号
LNENDの立下りをカウントする4ビットのもので、8×
8のサブブロック化された画像データに対して0〜7Hで
1次の行演算を8〜FHで2次の列演算を行なわせるよ
うにしている。また、フリップフロップ7に記憶される
リードアドレスAR(0:2)、ライトアドレスAW(0:2)は
アドレス変換回路9に、リードアドレスBR(0:2)、ラ
イトアドレスBW(0:2)はアドレス変換回路10に夫々与
えられる。アドレス変換回路9は、フリップフロップ7
にラッチされたアドレス制御信号としてのリードアドレ
スAR(0:2)、ライトアドレスAW(0:2)とカウンタ8の
4ビットのカウント値からのデュアルポートメモリ12の
A領域のアドレス信号A(0:9)を出力するもので、カ
ウンタ8のカウント値のMSBが0のとき、つまりカウン
ト値が0〜7HのときにはA(0:4)にフリップフロップ
7にラッチされたアドレス制御信号が拡張され与えら
れ、A(5:9)にカウンタ8のLSB側の3ビットが拡張さ
れ与えられ、カウンタ8のカウント値のMSBが1のと
き、つまりカウント値が8〜15HのときにはA(0:4)に
カウンタ8のLSB側の3ビットが拡張され与えらえ、A
(5:9)にフリップフロップ7にラッチされたアドレス
制御信号が拡張され与えられるようになっている。アド
レス変換回路10についても上述のアドレス変換回路9と
同様であり、フリップフロップ7にラッチされたアドレ
ス制御信号であるリードアドレスBR(0:2)、ライトア
ドレスBW(0:2)とカウンタ8のカウント値からデュア
ルポートメモリ12のB領域のアドレス信号B(0:9)を
出力する。Here, the end mark signal LNEND latched by the flip-flop 7 is given to the counter 8 via the inverter 24. In this case, the counter 8 outputs the end mark signal
4 bits that count the falling of LNEND.
For the eight sub-blocks of image data, a primary row operation is performed at 0 to 7H and a secondary column operation is performed at 8 to FH. The read address AR (0: 2) and write address AW (0: 2) stored in the flip-flop 7 are sent to the address conversion circuit 9 by the read address BR (0: 2) and the write address BW (0: 2). Are provided to the address conversion circuit 10, respectively. The address conversion circuit 9 includes a flip-flop 7
The read address AR (0: 2) and the write address AW (0: 2) as the address control signals latched by the counter 8 and the address signal A (0 : 9), and when the MSB of the count value of the counter 8 is 0, that is, when the count value is 0 to 7H, the address control signal latched by the flip-flop 7 is extended to A (0: 4). The three bits on the LSB side of the counter 8 are extended and applied to A (5: 9). When the MSB of the count value of the counter 8 is 1, that is, when the count value is 8 to 15H, A (0: 4) ), The 3 bits on the LSB side of the counter 8 are extended and given.
At (5: 9), the address control signal latched by the flip-flop 7 is extended and applied. The address conversion circuit 10 is the same as the address conversion circuit 9 described above. The read address BR (0: 2) and the write address BW (0: 2), which are the address control signals latched by the flip-flop 7, and the counter 8 The address signal B (0: 9) of the area B of the dual port memory 12 is output from the count value.
デュアルポートメモリ12は画像データを記憶するもの
で、16ビット×1024ワードより構成されている。そし
て、アドレス変換回路9、10からのアドレス信号A(0:
9)、B(0:9)にしたがって同時に2つのデータMA(0:
15)、MB(0:15)について書込み、読出しができるよう
になっている。また、このデュアルポートメモリ12はDC
Tまたは逆DCTを行なう場合の入力データおよびその演算
結果である出力データの記憶の他に、演算途中のデータ
を一時的に記憶するワークメモリとしても使用される。The dual port memory 12 stores image data, and is composed of 16 bits × 1024 words. Then, the address signals A (0:
9) and two data MAs (0: 9) simultaneously according to B (0: 9).
15), MB (0:15) can be written and read. Also, this dual port memory 12 is DC
In addition to storing input data when performing T or inverse DCT and output data that is the result of the operation, it is also used as a work memory for temporarily storing data during the operation.
次に、第2図は同実施例の演算部の回路構成を示すも
のである。この場合、演算部は2つの演算系統A、Bを
有している。Next, FIG. 2 shows a circuit configuration of the arithmetic unit of the embodiment. In this case, the operation unit has two operation systems A and B.
13、14は16ビットのフリップフロップ群で、デュアル
ポートメモリ12からの第1のデータMA(0:15)をラッチ
する。また、15、16も16ビットのフリップフロップ群
で、デュアルポートメモリ12からの第2のデータMB(0:
15)をラッチする。ここで、フリップフロップ群13、16
の動作タイミングはタイミング信号ARCK、BRCKで行なわ
れ、フリップフロップ群14、15の動作タイミングはタイ
ミング信号ARPCK、BRPCKで行なわれる。Reference numerals 13 and 14 denote 16-bit flip-flop groups which latch the first data MA (0:15) from the dual port memory 12. Also, 15 and 16 are 16-bit flip-flop groups, and the second data MB (0:
15) Latch. Here, flip-flop groups 13, 16
Are performed by timing signals ARCK and BRCK, and the operation timings of the flip-flop groups 14 and 15 are performed by timing signals ARPCK and BRPCK.
フリップフロップ群13にラッチされたデータはシフタ
17に与えられとともに、ゲートG1を介して加減算器20の
+端子に与えられ、フリップフロップ群16にラッチされ
たデータはシフタ18に与えられとともに、ゲートG2を介
して加減算器19の+端子に与えられる。また、フリップ
フロップ群14にラッチされたデータはゲートG7を介して
加減算器19の+端子に与えられ、フリップフロップ群15
にラッチされたデータはゲートG8を介して加減算器19の
+端子に与えられる。The data latched by the flip-flop group 13 is
At the same time, the data supplied to the + terminal of the adder / subtractor 20 via the gate G1 and the data latched by the flip-flop group 16 are supplied to the shifter 18 and to the + terminal of the adder / subtractor 19 via the gate G2. Given. The data latched by the flip-flop group 14 is supplied to the + terminal of the adder / subtractor 19 via the gate G7, and the flip-flop group 15
Is supplied to the + terminal of the adder / subtractor 19 via the gate G8.
ここで、シフタ17は、第5図に示すように構成してい
る。51はバレルシフタで、このバレルシフタ51は16ビッ
トデータを上下に8ビットずつ1ビット単位でシフト可
能にしており、ここでのシフト量はマルチプレクサ52の
出力で制御される。そして、通常のDCT演算で、量子化
コントロールCOMPが「L」レベルの場合は、アンド回路
53の「L」レベル出力により、マルチプレクサ52はシフ
タコントロールSA(0:4)によって制御され、量子化コ
ントロールCOMPが「H」レベルの場合、アンド回路が
「H」レベルになるのを待って、テーブル54の出力によ
って制御される。ここで、テーブル54は、予め量子化デ
ータAN(0:1)に対して割当てられた第6図(a)に示
すシフト量により、上述したカウンタ8のカウント値CT
(0:2)に対応して第6図(b)(c)に示すテーブル
を構成し、サブブロック8×8の画素単位での2のべき
乗量子化を実現可能にしている。ここで、第6図(b)
は輝度信号Y、同図(c)は色差信号B−Y、R−Yの
テーブルを示している。また、量子化データAN(0)お
よびAN(1)がともに「1」で、ナンド回路55の出力に
より、バレルシフタ51からの出力をクリップ回路56でク
リップするようにしている。これは、16ビットシフトが
高調波成分のデータを0にするのが目的であるからであ
る。勿論、他方のシフタ18についてもシフタ17と同様に
なっている。Here, the shifter 17 is configured as shown in FIG. Reference numeral 51 denotes a barrel shifter. The barrel shifter 51 can shift 16-bit data up and down by 8 bits in units of 1 bit, and the shift amount is controlled by the output of the multiplexer 52. If the quantization control COMP is at the “L” level in the normal DCT operation, the AND circuit
By the "L" level output of 53, the multiplexer 52 is controlled by the shifter control SA (0: 4). When the quantization control COMP is at the "H" level, the AND circuit waits until the AND circuit goes to the "H" level. Controlled by the output of table 54. Here, the table 54 stores the count value CT of the counter 8 based on the shift amount shown in FIG. 6 (a) which has been assigned to the quantized data AN (0: 1) in advance.
The tables shown in FIGS. 6 (b) and 6 (c) are configured corresponding to (0: 2) to enable power-of-two quantization in sub-block 8 × 8 pixel units. Here, FIG. 6 (b)
Shows a table of the luminance signal Y, and FIG. 4C shows a table of the color difference signals BY and RY. Further, the quantized data AN (0) and AN (1) are both “1”, and the output from the barrel shifter 51 is clipped by the clip circuit 56 by the output of the NAND circuit 55. This is because the purpose of the 16-bit shift is to make the harmonic component data zero. Of course, the other shifter 18 is the same as the shifter 17.
第2図に戻って、シフタ17からの出力は加減算器19の
±端子に与えられるとともに、ゲートG3を介してデュア
ルポートメモリ12に書込まれ、シフタ18からの出力は加
減算器20の±端子に与えられるとともに、ゲータG4を介
してデュアルポートメモリ12に書込まれる。加減算器1
9、20は、4ビットフルアダー×4とEXOR群で構成さ
れ、2の補数演算を行なうようになっている。そして、
これら加減算器19、20からの演算結果はフリップフロッ
プ21、22に各別にラッチされたのち、ゲートG5、G6を各
別に介してデュアルポートメモリ12に書込まれる。ここ
で、フリップフロップ21、22の動作タイミングはタイミ
ング信号ALCKで行なわれる。Returning to FIG. 2, the output from the shifter 17 is supplied to the ± terminal of the adder / subtractor 19, and is written to the dual port memory 12 via the gate G3. And written to the dual port memory 12 via the gator G4. Adder / subtractor 1
9 and 20 are composed of a 4-bit full adder × 4 and an EXOR group, and perform 2's complement operation. And
The operation results from the adders / subtractors 19 and 20 are latched by flip-flops 21 and 22, respectively, and then written to the dual port memory 12 via the gates G5 and G6. Here, the operation timing of the flip-flops 21 and 22 is performed by a timing signal ALCK.
次に、このように構成した実施例の動作を説明する。 Next, the operation of the embodiment configured as described above will be described.
この場合、CPUからの制御信号CPUが「L」レベルでマ
ルチプレクサ4、5はともにA入力側が選択されるよう
になっている。また、シーケンスメモリ6には既に下位
エリアにDCTプログラムおよび上位エリアに逆DCTプログ
ラムがそれぞれロードされていて、この状態から、いま
外部インターフェース1の領域指定信号DCTIによりシー
ケンスメモリ6の下位エリアのDCTプログラムが指定さ
れたものとする。In this case, when the control signal CPU from the CPU is at the "L" level, the A input side of both the multiplexers 4 and 5 is selected. In the sequence memory 6, the DCT program has already been loaded in the lower area and the inverse DCT program has been loaded in the upper area. From this state, the DCT program in the lower area of the sequence memory 6 is now activated by the area designation signal DCTI of the external interface 1. Is specified.
始めに、第3図において、リセット信号RESETによ
り、フリップフロップ35、36およびウンタ40がクリアさ
れる。その後、8ビットの画像データを符号付き16ビッ
トに拡張したものがCPUからDB(0:7)を介してデュアル
ポートメモリ12に与えられる。そして、サブブロック8
×8のデータ16ビット×64ケを全て書込んだところで、
外部インターフェース1でフラグEXECがセットされる
[第7図(b)]。すると、アンド回路34の出力が
「H」レベルになるので[第7図(k)]、第7図
(c)に示すタイミング信号ARCKの立上がりでフリップ
フロップ35、36のQ端子の出力が順に「H」レベルとな
り[第7図(d)(e)]、アンド回路38を介して第7
図(a)に示すクロックP3がカウンタ40に供給される
[第7図(f)]。また、これと同時にノア回路37の出
力が「L」レベルとなり、CPUに対してビジィ信号NBUSY
が出力される[第7図(l)]。また、ナンド回路39の
出力が「H」レベルになるので、第7図(j)に示すラ
イトイネーブル信号WEがナンド回路41を介して極性を反
転したライトイネーブル信号NWEとして出力される[第
7図(m)]。この状態で、カウンタ40の出力が、シン
クロナスカウンタ3からのアドレス信号IA(0:9)とし
てシーケンスメモリ6に与えられ制御データが読出さ
れ、DCT変換が行なわれる[第7図(g)]。ここで、
シーケンスメモリ6の3ステップ目に読出される制御デ
ータに第7図(h)に示すようにエンドマーク信号LNEN
Dが書込まれているとすると、カウンタ40は、次に与え
られるクロックP3の立上がりで0がロードされ、リセッ
トされるとともに、エンドマーク信号LNEDNの立下りで
カウンタ8のカウント内容CT(0:3)をカウントアップ
するようになる[第7図(i)]。この場合、詳細は後
述するが、カウンタ8のカウント内容CT(0:3)のカウ
ントアップにより8×8のブロックに対するDCT変換が
行方向次いで列方向に進み、2次元の最終段、つまり列
方向の8番目に達し、CT(0:3)=15になると、エンド
マーク信号はLNENDの「H」レベルにより、オア回路31
の出力が「L」レベルとなり、次に与えられタイミング
信号ARCKでフリップフロップ35のQ端子の出力が「L」
レベルになるので、AND回路38を通してカウンタ40に与
えられるクロックP3が停止され、シーケンスメモリ6の
データ読出しも停止される。また、フリップフロップ36
により1タイミング遅れてライトイネーブル信号NWEも
停止される。First, in FIG. 3, the flip-flops 35 and 36 and the counter 40 are cleared by the reset signal RESET. After that, the 8-bit image data expanded to signed 16-bit data is supplied from the CPU to the dual port memory 12 via DB (0: 7). And sub-block 8
When all of the x8 data 16 bits x 64 have been written,
The flag EXEC is set in the external interface 1 [FIG. 7 (b)]. Then, the output of the AND circuit 34 becomes "H" level [FIG. 7 (k)], and the outputs of the Q terminals of the flip-flops 35 and 36 are sequentially turned on at the rise of the timing signal ARCK shown in FIG. 7 (c). It becomes the “H” level [FIGS. 7 (d) and (e)], and the
The clock P3 shown in FIG. 7A is supplied to the counter 40 (FIG. 7F). At the same time, the output of the NOR circuit 37 becomes “L” level, and the busy signal NBUSY
Is output [FIG. 7 (l)]. In addition, since the output of the NAND circuit 39 becomes “H” level, the write enable signal WE shown in FIG. 7 (j) is output via the NAND circuit 41 as the write enable signal NWE whose polarity is inverted [the seventh embodiment]. Figure (m)]. In this state, the output of the counter 40 is applied to the sequence memory 6 as the address signal IA (0: 9) from the synchronous counter 3, and the control data is read out and DCT conversion is performed [FIG. 7 (g)]. . here,
The control data read in the third step of the sequence memory 6 includes the end mark signal LNEN as shown in FIG.
Assuming that D is written, the counter 40 is loaded with 0 at the next rising edge of the clock P3 and reset, and at the falling of the end mark signal LNEDN, the count content CT (0: 3) is counted up (FIG. 7 (i)). In this case, although the details will be described later, the DCT transform for the 8 × 8 block proceeds in the row direction and then in the column direction by counting up the count content CT (0: 3) of the counter 8, and the two-dimensional final stage, that is, the column direction When CT (0: 3) = 15, the end mark signal is turned on by the L level “H” level or the OR circuit 31
Becomes "L" level, and the output of the Q terminal of the flip-flop 35 becomes "L" in response to the next given timing signal ARCK.
Therefore, the clock P3 applied to the counter 40 through the AND circuit 38 is stopped, and the data reading from the sequence memory 6 is also stopped. Also, flip-flop 36
Accordingly, the write enable signal NWE is also stopped with a delay of one timing.
次に、演算部での演算タイミングを説明する。まず、
第8図(a)に示すタイミングジェネレータ2からのク
ロックP3によりシンクロナスカウンタ3より第8図
(c)に示すシーケンスメモリ6へのアドレス信号IA
(0:9)が0、1、2…の順で出力されると、シーケン
スメモリ6のシーケンスデータ読出され[第8図
(d)]、クロック信号P3の立下り信号NP3でフリップ
フロップ7にラッチされる[第8図(e)]。この状態
は演算の1サイクルの間維持される。Next, the calculation timing in the calculation unit will be described. First,
In response to the clock P3 from the timing generator 2 shown in FIG. 8A, the synchronous counter 3 sends the address signal IA to the sequence memory 6 shown in FIG. 8C.
When (0: 9) is output in the order of 0, 1, 2,..., The sequence data is read from the sequence memory 6 [FIG. 8 (d)], and the falling signal NP3 of the clock signal P3 is applied to the flip-flop 7. It is latched [FIG. 8 (e)]. This state is maintained for one operation cycle.
ここで、1サイクルの前半はは第8図(f)に示すよ
うにデュアルポートメモリ12のリード区間であり、カウ
ンタ8の4ビットのカウンタ値とフリップフロップ7に
ラッチされたアドレス制御信号であるリードアドレスAR
(0:2)、BR(0:2)がアドレス変換回路9、19に与えら
れ、第1および第2のアドレス信号A(0:9)、B(0:
9)がデュアルポートメモリ12に与えられる。この場
合、第1のアドレス信号A(0:9)は、カウンタ8のカ
ウント値が0のときにはA(0:4)にフロップフロップ
7にラッチされたアドレス制御信号が拡張され割当てら
れ、A(5:9)にカウンタ8のカウント値のLSB側の3ビ
ットが拡張され割当てられる。これにより、第9図
(a)に示すブロック化された画像データに対して、A
(5:9)に割当てられたカウンタ8のカウント値により
最初の行方向の1ラインブロックが指定され、A(0:
4)に割当てられたフロップフロップ7からのアドレス
制御信号により当該行方向の1ラインブロック内のアド
レスが指定されるようになり、カウンタ8のカウント値
がカウントアップされると行方向の1ラインブロックの
指定が列方向に1ラインずつ移行される。その後、カウ
ンタ8のカウント値が8になると、今度はA(0:4)に
カウンタ8のカウント値のLSB側の3ビットが拡張され
割当てられ、A(5:9)にフロップフロップ7にラッチ
されたアドレス制御信号が拡張され割当てられ。これに
より、第9図(b)に示すブロック化された画像データ
に対して、A(0:4)に割当てられたカウンタ8のカウ
ント値により最初の列方向の1ラインブロックが指定さ
て、A(5:9)に割当てられたフロップフロップ7から
のアドレス制御信号により当該列方向の1ラインブロッ
ク内のアドレスが指定されるようになり、カウンタ8の
カウント値がカウントアップされると列方向の1ライン
ブロックの指定が行方向に1ラインずつ移行される。第
2のアドレス信号B(0:9)についても、上述と同様で
ある。Here, the first half of one cycle is a read section of the dual port memory 12 as shown in FIG. 8 (f), which is a 4-bit counter value of the counter 8 and an address control signal latched by the flip-flop 7. Read address AR
(0: 2) and BR (0: 2) are applied to the address conversion circuits 9 and 19, and the first and second address signals A (0: 9) and B (0:
9) is provided to the dual port memory 12. In this case, as the first address signal A (0: 9), when the count value of the counter 8 is 0, the address control signal latched in the flop flop 7 is extended and assigned to A (0: 4). At 5: 9), the 3 bits on the LSB side of the count value of the counter 8 are extended and assigned. As a result, A is applied to the blocked image data shown in FIG.
The first one-line block in the row direction is designated by the count value of the counter 8 assigned to (5: 9), and A (0:
The address in the one-line block in the row direction is designated by the address control signal from the flop flop 7 assigned to 4), and when the count value of the counter 8 is counted up, the one-line block in the row direction is counted. Is shifted line by line in the column direction. Thereafter, when the count value of the counter 8 becomes 8, the LSB side 3 bits of the count value of the counter 8 are extended and assigned to A (0: 4), and latched to the flop flop 7 at A (5: 9). The assigned address control signal is extended and assigned. Thus, the first one-line block in the column direction is designated by the count value of the counter 8 assigned to A (0: 4) for the blocked image data shown in FIG. The address within the one-line block in the column direction is designated by the address control signal from the flop 7 assigned to (5: 9), and when the count value of the counter 8 is counted up, the address in the column direction is increased. The designation of one line block is shifted line by line in the row direction. The same applies to the second address signal B (0: 9).
そして、このようにして得られた第1および第2のア
ドレス信号A(0:9)、B(0:9)に基づいてジュアルポ
ートメモリ12よりデータMA(0:15)、MB(0:15)が2つ
同時にリードされるようになり、第8図(g)に示すタ
イミング信号ARCK、BRCKのタイミングで、フリップフロ
ップ13、16にラッチされた後、DCT変換のための加減算
器19、20での所定の演算が実行される[第8図
(i)]。Then, based on the first and second address signals A (0: 9) and B (0: 9) thus obtained, the data MA (0:15) and MB (0: 15) are simultaneously read and latched by the flip-flops 13 and 16 at the timing of the timing signals ARCK and BRCK shown in FIG. The predetermined operation at 20 is executed [FIG. 8 (i)].
ここで、フリップフロップ7からのクロスパラレル切
替CPが「H」レベルの場合、ゲートG1、G2が閉じ、ゲー
トG7、G8が開いて、フリップフロップ13にラッチされた
データはシフタ17を介して加減算器19の±端子に与えら
れるとともに、ゲートG1を介して加減算器20の+端子に
与えられ、フリップフロップ16にラッチされたデータは
シフタ18を介して加減算器20の±端子に与えられるとと
もに、ゲートG2を介して加減算器19の+端子に与えら
れ、また、クロスパラレル切替CPが「L」レベルの場合
には、ゲートG1、G2が開き、ゲートG7、G8が閉じて、フ
リップフロップ13にラッチされたデータはシフタ17を介
して加減算器19の±端子に与えられ、リップフロップ14
にラッチされたデータは加減算器19の+端子に与えら
れ、フリップフロップ16にラッチされたデータはシフタ
18を介して加減算器20の±端子に与えられ、フリップフ
ロップ15にラッチされたデータは加減算器20の+端子に
与えられるようになり、所定の演算が実行される。そし
て、各加減算器19、20での演算が実行されると、第8図
(f)に示す後半のライト区間となり、第8図(h)に
示すALCKのタイミングで演算結果がフリップフロップ2
1、22にラッチされ、第8図(j)に示すライトイネー
ブル信号NWEの立上がりタイミングでデュアルポートメ
モリ12のAW(0:2)、BW(0:2)、アドレスされる番地に
書込まれる。なお、スルーループ切替ATL、BTLが「H」
レベルになって、ゲートG3、G4が開かれるスルーモード
の場合は、シフタ17、18でシフトされた結果は、そのま
まデュアルポートメモリ12に書込まれるようになる。Here, when the cross-parallel switching CP from the flip-flop 7 is at the “H” level, the gates G1 and G2 close, the gates G7 and G8 open, and the data latched by the flip-flop 13 is added / subtracted via the shifter 17. And the data latched by the flip-flop 16 is applied to the ± terminal of the adder / subtractor 20 via the shifter 18, and is applied to the ± terminal of the adder / subtractor 20 via the gate G 1. The signal is applied to the + terminal of the adder / subtractor 19 via the gate G2, and when the cross-parallel switching CP is at "L" level, the gates G1 and G2 are opened, the gates G7 and G8 are closed, and the flip-flop 13 The latched data is supplied to the ± terminal of the adder / subtractor 19 via the shifter 17 and the flip-flop 14
The data latched by the flip-flop 16 is supplied to the + terminal of the adder / subtractor 19, and the data latched by the flip-flop 16 is shifted by the shifter.
The data supplied to the ± terminal of the adder / subtractor 20 via 18 and the data latched by the flip-flop 15 are supplied to the + terminal of the adder / subtractor 20 to execute a predetermined operation. When the operation in each of the adders / subtractors 19 and 20 is executed, the latter half of the write period shown in FIG. 8 (f) occurs, and the operation result is output to the flip-flop 2 at the timing of ALCK shown in FIG. 8 (h).
1, 22 and are written to the addresses AW (0: 2) and BW (0: 2) of the dual port memory 12 at the rising timing of the write enable signal NWE shown in FIG. 8 (j). . Note that the through loop switching ATL and BTL are "H".
In the through mode in which the gates G3 and G4 are opened at the level, the result shifted by the shifters 17 and 18 is written to the dual port memory 12 as it is.
以上の説明では、外部インターフェース1か5の領域
指定信号DCTIによりシーケンスメモリ6の下位エリアの
DCTプログラムを指定し、このプログラムにしたがってD
CT演算を実行する場合を述べたが、領域指定信号DCTIに
よりシーケンスメモリ6の上位エリアの逆DCTプログラ
ムを指定した場合も、上述と同様にして各回路がプログ
ラムの制御データにしたがって動作され、逆DCT演算が
実行されるようになる [発明の効果] 本発明によれば、N×N画素にブロック化されたデー
タに対して、カウンタ手段のカウント値に従ってバッフ
ァ手段の行アドレスを列方向に1ラインずつ移行させつ
つ行方向の1ラインブロックごとの1次元のディスクリ
ートコサイン演算を行い、この演算の後、カウンタ手段
のカウント値に従ってバッファ手段の列アドレスを行方
向に1ラインずつ移行させつつ列方向の1ラインブロッ
クごとの1次元のディスクリートコサイン演算を行うよ
うにできるので、つまり、行アドレスを列方向に1ライ
ンずつ移行させながらの行方向の1ラインブロックごと
の1次元のディスクリートコサイン演算と、列アドレス
を行方向に1ラインずつ移行させつつ列方向の1ライン
ブロックごとの1次元のディスクリートコサイン演算と
を連続して行うことができるので、2次元のディスクリ
ートコサイン演算を高速で実行でき、効率のよい処理を
実現できる。In the above description, the area designation signal DCTI of the external interface 1 or 5 causes the lower area of the sequence memory 6 to be
Specify the DCT program and follow this program
Although the case where the CT operation is executed has been described, when the inverse DCT program in the upper area of the sequence memory 6 is designated by the area designation signal DCTI, each circuit is operated according to the control data of the program in the same manner as described above. According to the present invention, the row address of the buffer unit is set to 1 in the column direction for the data blocked into N × N pixels according to the count value of the counter unit. A one-dimensional discrete cosine operation is performed for each one-line block in the row direction while shifting line by line. After this operation, the column address of the buffer means is shifted line by line in the row direction according to the count value of the counter means, and the column address is shifted in the column direction. , A one-dimensional discrete cosine operation can be performed for each line block of One-dimensional discrete cosine operation for each one-line block in the row direction while shifting one line at a time, and one-dimensional discrete cosine for each one-line block in the column direction while shifting the column address one line at a time in the row direction Since the calculation can be performed continuously, the two-dimensional discrete cosine calculation can be executed at high speed, and efficient processing can be realized.
第1図および第2図は本発明の一実施例の回路構成を示
すブロック図、第3図は同実施例に用いられるシンクロ
ナスカウンタの回路構成を示すブロック図、第4図はシ
ーケンスメモリの構成図、第5図は同実施例に用いられ
るシフタの回路構成を示すブロック図、第6図は同シフ
タを説明するための図、第7図および第8図は同実施例
を説明するためのタイムチャート、第9図は同実施例を
説明するための図、第10図はDCTを説明するための波形
図、第11図はDCT演算に供されるDCTフローグラフの一例
を示す図,第12図は従来のDCT演算手段を示す回路構成
図、第13図は同演算手段でのDCT変換を説明するための
図である。 1……外部インターフェース、2……タイミングジェネ
レータ、3……シンクロナスカウンタ、4、5、11……
マルチプレクサ、6……シーケンスメモリ、7……フリ
ップフロップ、8……カウンタ、9、10……アドレス変
換回路、12……テュアルポートメモリ、13〜16、21、22
……フリップフロップ、17、18……シフタ、19、20……
加減算器、1 and 2 are block diagrams showing a circuit configuration of an embodiment of the present invention, FIG. 3 is a block diagram showing a circuit configuration of a synchronous counter used in the embodiment, and FIG. FIG. 5 is a block diagram showing a circuit configuration of a shifter used in the embodiment, FIG. 6 is a diagram for explaining the shifter, and FIGS. 7 and 8 are for explaining the embodiment. FIG. 9 is a diagram for explaining the embodiment, FIG. 10 is a waveform diagram for explaining DCT, FIG. 11 is a diagram showing an example of a DCT flow graph used for DCT calculation, FIG. 12 is a circuit diagram showing a conventional DCT operation means, and FIG. 13 is a diagram for explaining DCT conversion by the operation means. 1 ... External interface, 2 ... Timing generator, 3 ... Synchronous counter, 4, 5, 11 ...
Multiplexer, 6 Sequence memory, 7 Flip-flop, 8 Counter, 9, 10 Address conversion circuit, 12 Dual port memory, 13-16, 21, 22
…… Flip-flops, 17, 18 …… Shifters, 19, 20 ……
Adder / subtractor,
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭54−94251(JP,A) 特開 昭58−151675(JP,A) 特開 昭60−7576(JP,A) 特表 昭58−500425(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 17/14 ──────────────────────────────────────────────────続 き Continuation of the front page (56) References JP-A-54-94251 (JP, A) JP-A-58-151675 (JP, A) JP-A-60-7576 (JP, A) 500425 (JP, A) (58) Field surveyed (Int. Cl. 6 , DB name) G06F 17/14
Claims (1)
して2次元のディスクリートコサイン変換を実行するも
のにおいて、 上記データを記憶したデータ記憶手段と、 このデータ記憶手段より読出されるデータが入力されデ
ィスクリートコサイン演算を行う演算手段と、 上記データ記憶手段の列アドレスおよび行アドレスを指
示するバッファ手段と、 上記N×N画素にブロック化されたデータの列あるいは
行の1画素のアドレスを指示するアドレス制御信号を出
力する制御手段と、 上記N×N画素にブロック化されたデータの列あるいは
行の1ラインブロック分のディスクリートコサイン演算
が終了するごとにカウントアップされるカウンタ手段
と、 前記バッファ手段の行アドレスを前記カウンタ手段のカ
ウント値により指定するとともに、前記バッファ手段の
列アドレスに前記制御手段のアドレス制御信号を入力
し、前記カウンタ手段のカウント値がNを超えると、前
記バッファ手段の列アドレスを前記カウンタ手段のカウ
ンタ値により指定するとともに、前記バッファ手段の行
アドレスに前記制御手段のアドレス制御信号を入力する
アドレス切換え手段とを具備したことを特徴とするディ
スクリートコサイン変換装置。An apparatus for performing a two-dimensional discrete cosine transform on data divided into N × N pixels, comprising: data storage means for storing the data; and data read from the data storage means. Arithmetic means for inputting a discrete cosine operation; buffer means for indicating a column address and a row address of the data storage means; and an address for one pixel of a column or a row of data divided into N × N pixels Control means for outputting an address control signal to be processed, counter means for counting up each time a discrete cosine operation for one line block of a column or row of data divided into N × N pixels is completed, and the buffer Specifying the row address of the means by the count value of the counter means An address control signal of the control means is input to a column address of the buffer means, and when the count value of the counter means exceeds N, the column address of the buffer means is designated by the counter value of the counter means, and An address switching means for inputting an address control signal of the control means to a row address of the means.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5858789A JP2958966B2 (en) | 1989-03-10 | 1989-03-10 | Discrete cosine converter |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP5858789A JP2958966B2 (en) | 1989-03-10 | 1989-03-10 | Discrete cosine converter |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02237373A JPH02237373A (en) | 1990-09-19 |
| JP2958966B2 true JP2958966B2 (en) | 1999-10-06 |
Family
ID=13088608
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP5858789A Expired - Fee Related JP2958966B2 (en) | 1989-03-10 | 1989-03-10 | Discrete cosine converter |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2958966B2 (en) |
-
1989
- 1989-03-10 JP JP5858789A patent/JP2958966B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JPH02237373A (en) | 1990-09-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2821489B2 (en) | Still image compression processing apparatus and method | |
| JP2959104B2 (en) | Signal processor | |
| US5448301A (en) | Programmable video transformation rendering method and apparatus | |
| JP2958966B2 (en) | Discrete cosine converter | |
| JP2958968B2 (en) | Discrete cosine arithmetic unit | |
| JP2958969B2 (en) | Butterfly arithmetic unit | |
| JP3052516B2 (en) | Encoded data processing device | |
| JPH02237370A (en) | Picture data processor | |
| JP2910124B2 (en) | DCT processing equipment | |
| JPH02237372A (en) | Discrete cosine calculation device | |
| JP2698835B2 (en) | Butterfly arithmetic unit | |
| JPH02237374A (en) | Discrete cosine calculation device | |
| JPH02237369A (en) | Picture data processor | |
| JPS6043742A (en) | Reading circuit of variable length data | |
| JPH02237371A (en) | Discrete cosine transformation unit | |
| JP3432655B2 (en) | Image coding device | |
| JPS63102467A (en) | Image data resolution conversion device | |
| JP3266209B2 (en) | Zigzag scan address generation method and circuit | |
| JP2893350B2 (en) | Data processing device, image processing device, shift register circuit, lookup table circuit, arithmetic circuit, image processing system | |
| JP2643576B2 (en) | Address generation circuit for fast Fourier transform | |
| JP2744231B2 (en) | Image processing device | |
| CN1061190C (en) | Two-dimensional inverse discrete cosine transform device | |
| JPH05176312A (en) | Coding data processor | |
| JP2002159006A (en) | Calculation auxiliary circuit | |
| JP3191342B2 (en) | Encoding device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| LAPS | Cancellation because of no payment of annual fees |