JP2006127536A - Discrete cosine transform system - Google Patents
Discrete cosine transform system Download PDFInfo
- Publication number
- JP2006127536A JP2006127536A JP2005341924A JP2005341924A JP2006127536A JP 2006127536 A JP2006127536 A JP 2006127536A JP 2005341924 A JP2005341924 A JP 2005341924A JP 2005341924 A JP2005341924 A JP 2005341924A JP 2006127536 A JP2006127536 A JP 2006127536A
- Authority
- JP
- Japan
- Prior art keywords
- discrete cosine
- coefficients
- read
- coefficient
- dimensional
- 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
Links
Images
Abstract
Description
本発明は、たとえば8×8画素などの、m×n画素(m、nは整数、m=nまたはm≠n)のブロック単位で行われる2次元離散コサイン変換を、行方向、列方向の1次元離散コサイン変換に分解して実行することにより実現する離散コサイン変換装置に関する。 The present invention performs two-dimensional discrete cosine transform performed in units of blocks of m × n pixels (m, n is an integer, m = n or m ≠ n), such as 8 × 8 pixels, in the row direction and the column direction. The present invention relates to a discrete cosine transform device realized by decomposing into one-dimensional discrete cosine transform and executing it.
以下において、「離散コサイン変換」を『DCT』と略称することがある。図31に示すように、8×8画素のブロック単位で2次元離散コサイン変換を行う従来の2次元離散コサイン変換装置101は、8×8画素で構成されるブロックの水平方向8画素分の画像データPXLDを入力とし、水平方向の1次元DCT変換を行う前段の1次元DCT変換回路102と、64個の1次元DCT係数を格納するための領域を有するメモリ空間103と、1次元DCT係数の行位置、列位置の入れ替え(転置)を行う転置制御部104と、垂直方向の1次元DCT変換を行う後段の1次元DCT変換回路105とで構成されている。
Hereinafter, “discrete cosine transform” may be abbreviated as “DCT”. As shown in FIG. 31, a conventional two-dimensional discrete cosine transform device 101 that performs two-dimensional discrete cosine transform in units of 8 × 8 pixels is an image of 8 pixels in the horizontal direction of a block composed of 8 × 8 pixels. The previous one-dimensional
メモリ空間103は、64ワードの1個のデュアルポートRAM103aで構成されている。
転置制御部104は、書き込み制御部141と読み出し制御部142とを備える。このうち、書き込み制御部141は、書き込みカウンタ1411と書き込みアドレス発生部1412とを備えて、デュアルポートRAM103aの書き込み制御を行う。読み出し制御部142は、読み出しカウンタ1421と読み出しアドレス発生部1422とを備えて、読み出し制御を行う。
The
The
前段の1次元DCT変換回路102は、システムクロックSCLKに同期して順次供給される画像データPXLDを入力とし、水平方向8画素分の画像データ毎に1次元DCT変換を行い、1次元DCT係数DCTI(K0〜K63)を、最初の1次元DCT係数K0から、1クロックサイクルに1係数ずつ、順次出力する。
The preceding one-dimensional
デュアルポートRAM103aは、64ワードのデータ格納領域を有し、書き込みデータ入力端子WDと、書き込みアドレス入力端子WAと、書き込み許可入力端子WENと、読み出しアドレス入力端子RAと、読み出し許可入力端子RENと、読み出しデータ出力端子RDと、クロック入力端子CLKとを備える。このデュアルポートRAM103aでは、書き込み許可入力WENが論理値‘0’の時に限り、クロック入力端子CLKに入力されるシステムクロックSCLKの立ち上がりエッジに同期して、書き込みデータ入力端子WDに入力された書き込みデータ入力DCTIが、書き込みアドレス入力端子WAに供給されたアドレスに書き込まれる。また、読み出し許可入力RENが論理値‘0’の時に限り、デュアルポートRAM103aの読み出しデータ出力RDから、読み出しアドレス入力端子RAに供給された読み出しアドレスに格納されているデータが読み出される。 The dual port RAM 103a has a data storage area of 64 words, a write data input terminal WD, a write address input terminal WA, a write enable input terminal WEN, a read address input terminal RA, a read enable input terminal REN, A read data output terminal RD and a clock input terminal CLK are provided. In this dual port RAM 103a, the write data input to the write data input terminal WD is synchronized with the rising edge of the system clock SCLK input to the clock input terminal CLK only when the write enable input WEN is a logical value “0”. The input DCTI is written at the address supplied to the write address input terminal WA. Further, only when the read permission input REN is the logical value “0”, the data stored in the read address supplied to the read address input terminal RA is read from the read data output RD of the dual port RAM 103a.
書き込み制御部141の書き込みカウンタ1411は、7ビットのバイナリカウンタで構成され、外部より入力される書き込み開始信号WSTARTが論理値‘0’の時に限り、システムクロックSCLKに同期して、順次カウントアップされていく。外部より供給される書き込み開始信号WSTARTは、前段の1次元DCT変換回路102より出力される最初の1次元DCT係数K0が出力される同一のタイミングで論理値が‘0’となる信号であり、書き込み開始タイミングを示す信号である。
The
書き込みアドレス発生部1412は、書き込みカウンタ1411の7ビット出力WCNT6〜WCNT0を入力とし、出力WCNT6が論理値‘0’の時は、デュアルポートRAM103aの書き込みアドレスWAAとして、0、1、2、3、……、62、63の順、すなわち、出力WCNT5〜WCNT0をそのまま供給する。また、WCNT6が論理値‘1’の時は、書き込みアドレスWAAとして、0、8、16、24、……、47、55、63の順、すなわち8×8画素ブロックの列方向順のアドレスを供給する。
The
読み出し制御部142の読み出しカウンタ1421は、7ビットのバイナリカウンタで構成され、外部より入力される読み出し開始信号RSTARTが論理値‘0’の時に限り、システムクロックSCLKに同期して、順次カウントアップされていく。外部より供給される読み出し開始信号RSTARTは、前段の1次元DCT変換回路102より出力される1次元DCT係数が50個以上63個以下のときに、デュアルポートRAM103aに書き込まれたタイミングで、論理値が‘0’となる信号であり、読み出し開始タイミングを示す信号である。
The read
読み出しアドレス発生部1422は、読み出しカウンタ1421の7ビット出力RCNT6〜RCNT0を入力とし、出力RCNT6が論理値‘0’の時は、デュアルポートRAM103aの書き込みアドレスRAAとして、0、8、16、24、……、47、55、63の順、すなわち8×8画素ブロックの列方向順のアドレスを供給する。また出力RCNT6が論理値‘1’の時は、書き込みアドレスRAAとして、0、1、2、3、……、62、63の順、すなわち出力RCNT5〜RCNT0をそのまま供給する。
The
後段の1次元DCT変換回路105は、読み出し制御部142により読み出し制御されたデュアルポートRAM103aからの読み出しデータ出力RDAを、1クロックサイクルに1回の頻度で1係数ずつ入力し、8係数毎の垂直方向1次元DCT変換を行い、2次元DCT係数出力端子DCTOUTから2次元DCT係数KK0〜KK63をシステムクロックSCLKに同期して順次出力する。
The subsequent one-dimensional
図32は、最初の8×8画素ブロックにおける、1次元DCT係数のデュアルポートRAM103aへの書き込み順を示した図である。前段の1次元DCT変換回路102より1係数ずつ出力される1次元DCT係数K0〜K63が、書き込みアドレス発生部1412により指定された書き込みアドレスWAのアドレス0、1、2、3、……、62、63の順に従って、書き込み開始STARTが論理値‘0’の時に、1クロックサイクルに1係数ずつ、順次デュアルポートRAM103aに書き込まれる。
FIG. 32 is a diagram showing the order of writing the one-dimensional DCT coefficient to the dual port RAM 103a in the first 8 × 8 pixel block. The one-dimensional DCT coefficients K0 to K63 output one by one from the one-dimensional
図33は、最初の8×8画素ブロックにおける、1次元DCT係数のデュアルポートRAM103aからの読み出し順を示す図である。水平方向の1次元DCT係数が50個以上、63個以下、デュアルポートRAM103aに書き込まれた時点から、読み出しアドレス発生部1422により指定された読み出しアドレスRAのアドレス0、8、16、24、……、47、55、63の順に従って、読み出し開始信号RSTARTが論理値‘0’の時に、1次元DCT係数を、K0、K8、K16、……、K47、K55、K63の順に、デュアルポートRAM103aから、1クロックサイクルに1係数ずつ順次読み出す。これにより、1次元DCT係数の行位置、列位置が転置される。
FIG. 33 is a diagram showing the reading order of the one-dimensional DCT coefficient from the dual port RAM 103a in the first 8 × 8 pixel block.
図34は、次の8×8画素のブロック単位における1次元DCT係数(K’0〜K’63)のデュアルポートRAM103aへの書き込み順を示した図である。すなわち、まず最初の8×8画素ブロックの1次元DCT係数が、読み出しアドレス発生部1422により指定された読み出しアドレスRAのアドレス0、8、16、24、……、47、55、63の順に、1次元DCT係数K0、K8、K16、……、K47、K55、K63として、デュアルポートRAM103aから順次読み出され始める。そして、その後、書き込みアドレス発生部1412により指定された書き込みアドレスWAのアドレス0、8、16、24、……、47、55、63の順に従って、書き込み開始信号WASTRTが論理値‘0’の時に、水平方向の1次元DCT係数K’0〜K’63が1クロックサイクルに1係数ずつ順次デュアルポートRAM103aに上書きされる。
FIG. 34 is a diagram showing the order of writing the one-dimensional DCT coefficients (K′0 to K′63) to the dual port RAM 103a in the next 8 × 8 pixel block unit. That is, the first one-dimensional DCT coefficient of the first 8 × 8 pixel block is in the order of
図35は、次の8×8画素のブロック単位における、1次元DCT係数K’0〜K’63のデュアルポートRAM103aからの読み出し順を示す図である。水平方向の1次元DCT係数が50個以上、63個以下、デュアルポートRAM103aに上書きされた時点から、読み出しアドレス発生部1422により指定された読み出しアドレスRAのアドレス0、1、2、3、……、61、62、63の順に従って、読み出し開始信号RSTARTが論理値‘0’の時に、デュアルポートRAM103aから、1次元DCT係数K‘0、K’8、K‘16、……、K’47、K‘55、K’63の順に、1クロックサイクルに1係数ずつ順次読み出すことにより、1次元DCT係数の行位置、列位置が転置される。
FIG. 35 is a diagram illustrating the reading order of the one-dimensional DCT coefficients K′0 to K′63 from the dual-port RAM 103a in the next 8 × 8 pixel block unit.
以上のように、書き込み制御部141に関しては、図32と図34の書き込み順を64個の1次元DCT係数毎に交互に切り替え制御し、また、読み出し制御部142に関しては、図33と図35の読み出し順を64個の1次元DCT係数毎に交互に切り替え制御することにより、1次元DCT係数の行位置、列位置の入れ替えが常に行われる。
As described above, with respect to the
図36は、デュアルポートRAM103aの書き込み動作のタイミングを示す図である。デュアルポートRAM103aへの書き込み動作は、書き込み開始信号WSTARTが論理値‘0’の時に、1クロックサイクルに1回の頻度で毎サイクル行われる。このため、行方向1次元DCT変換回路102より順次供給される1次元DCT係数の書き込みに関しては、使用するデュアルポートRAM103aのタイミングスペックである、書き込みデータとクロック間のセットアップタイムTsu(RAM)、ホールドタイムTh(RAM)を満足する必要がある。つまり、クロック周期をT、前段の1次元DCT変換回路102より順次供給される1次元DCT係数のシステムクロックSCLKからの遅延をTdとすると、(式−1)、(式−2)を満足する必要がある。
FIG. 36 is a diagram showing the timing of the write operation of the dual port RAM 103a. The write operation to the dual port RAM 103a is performed every cycle at a frequency of once per clock cycle when the write start signal WSTART is a logical value "0". For this reason, regarding the writing of the one-dimensional DCT coefficient sequentially supplied from the row-direction one-dimensional
T − Td > Tsu(RAM) …… (式−1)
Td > Th(RAM) …… (式−2)
図37は、デュアルポートRAM103aの読み出し動作のタイミングを示す図である。デュアルポートRAM103aからの読み出し動作は、読み出し開始信号RSTARTが論理値‘0’の時に、1クロックサイクルに1回の頻度で毎サイクル行われる。このため、デュアルポートRAM103aからの読み出しデータRDAを後段の1次元DCT変換回路105が正確に受け取るためには、デュアルポートRAM103aのアクセスタイムをTpd、後段の1次元DCT変換回路105の入力タイミングスペックであるセットアップタイムをTsu(FF)、ホールドタイムをTh(FF)とすると、(式−3)、(式−4)の条件を満足する必要がある。
T−Td> Tsu (RAM) (Formula-1)
Td> Th (RAM) (Formula-2)
FIG. 37 is a diagram showing the timing of the read operation of the dual port RAM 103a. The read operation from the dual port RAM 103a is performed every cycle at a frequency of once per clock cycle when the read start signal RSTART is a logical value “0”. Therefore, in order for the subsequent one-dimensional
T − Tpd > Tsu(FF) …… (式−3)
Tpd > Th(FF) …… (式−4)
これらの(式−1)〜(式−4)の条件すべてを満足すれば、1次元DCT係数のデュアルポートRAM103aへの書き込み、およびデュアルポートRAM103aからの読み出しデータの後段の1次元DCT変換回路105への伝搬動作が正確に行われる。1次元DCT変換回路105は、この転置された1次元DCT係数を入力とし、(式−3)、(式−4)の条件下で順次データを受け取り、垂直方向8係数分の1次元DCT変換を行う。
T−Tpd> Tsu (FF) (Formula-3)
Tpd> Th (FF) (Formula-4)
If all the conditions of (Expression-1) to (Expression-4) are satisfied, the one-dimensional
上述のように、従来の2次元離散コサイン変換装置は、メモリ空間を64ワードのデータ格納領域を有する1個のデュアルポートRAM103aで構成し、書き込み、読み出し制御を1クロックサイクルに1回の頻度で繰り返し行っていたため、高速な2次元離散コサイン変換装置を実現するためには、高速なデュアルポートRAMを使用しなければならないという問題があった。特に、メモリのアクセスタイムTpdは、一般的に他のロジック回路による遅延値よりも大きく、離散コサイン変換装置全体の最大動作可能周波数を決定する要素のひとつとなっている。また、高速なデュアルポートRAMを使用することにより、離散コサイン変換装置全体の最大動作可能周波数を上げることは実現可能ではあるが、デュアルポートRAMを高速動作させることにより、その消費電力が増大するという
問題があった。
As described above, in the conventional two-dimensional discrete cosine transform device, the memory space is configured by one dual-port RAM 103a having a data storage area of 64 words, and write / read control is performed once per clock cycle. Since it was repeatedly performed, there was a problem that a high-speed dual port RAM had to be used in order to realize a high-speed two-dimensional discrete cosine transform device. In particular, the memory access time Tpd is generally larger than the delay value of other logic circuits, and is one of the factors that determine the maximum operable frequency of the entire discrete cosine transform device. Although it is possible to increase the maximum operable frequency of the entire discrete cosine transform device by using a high-speed dual-port RAM, the power consumption increases by operating the dual-port RAM at high speed. There was a problem.
そこで本発明は、このような問題点を解決して、2次元離散コサイン変換装置において、高速なデュアルポートRAMの使用を不要とするとともに、それに伴う消費電力の増大を防止することを目的とする。 SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to solve such problems and eliminate the need for a high-speed dual-port RAM in a two-dimensional discrete cosine transform device, and to prevent an increase in power consumption associated therewith. .
上記課題を解決するために、この発明に係る2次元離散コサイン変換装置は、メモリ空間を複数のデュアルポートRAMで構成し、前段の1次元DCT変換回路より供給される1次元DCT係数の書き込み頻度および後段の1次元DCT変換回路へ供給する1次元DCT係数の読み出し頻度をそれぞれ少なくすることにより、メモリにおける消費電力を減少させ、低消費電力化を実現することが可能となり、かつデュアルポートRAMへの書き込みタイミングマージンを増加させ、かつ読み出しデータのアクセスタイムによる回路動作周波数の制限を緩和するものである。 In order to solve the above-described problem, a two-dimensional discrete cosine transform device according to the present invention has a memory space composed of a plurality of dual-port RAMs and a writing frequency of a one-dimensional DCT coefficient supplied from a preceding one-dimensional DCT transform circuit. By reducing the frequency of reading the one-dimensional DCT coefficient supplied to the one-dimensional DCT conversion circuit at the subsequent stage, it is possible to reduce the power consumption in the memory and realize low power consumption, and to the dual port RAM. The write timing margin is increased and the restriction on the circuit operating frequency due to the access time of read data is relaxed.
詳しくは、N、m、nを整数とし、またm=nまたはm≠nとして、メモリ空間を、N個の(m×n)/Nワードのデータ格納領域を有するデュアルポートRAMで構成し、転置制御部を、前段の1次元DCT変換回路からNクロックサイクルに1回の頻度でN係数ずつ出力される水平方向の1次元DCT係数群を、m×N個またはn×N個の係数単位で同一列の係数をそれぞれ異なるデュアルポートRAMへ書き分け、それぞれのデュアルポートRAMへの書き込みに関してはNクロックサイクルに1回の頻度で書き込み制御する書き込み制御部と、その書き分けられた1次元DCT係数を、m×n係数のブロック単位の列方向順に、それぞれのデュアルポートRAMから、Nクロックサイクルに1回の頻度で、1係数ずつN係数分を繰り返し読み出し制御する読み出し制御部とで構成したもので
ある。
Specifically, N, m, and n are integers, and m = n or m ≠ n, and the memory space is configured by a dual port RAM having N (m × n) / N word data storage areas, The transposition control unit outputs a horizontal one-dimensional DCT coefficient group, which is output by N coefficients at a frequency of once every N clock cycles from the preceding one-dimensional DCT conversion circuit, to m × N or n × N coefficient units. Then, the coefficients in the same column are written to different dual-port RAMs, and for writing to each dual-port RAM, the write control unit that controls writing once every N clock cycles and the divided one-dimensional DCT coefficients are , M × n coefficients are repeated in increments of N coefficients one by one at a frequency of once every N clock cycles from each dual-port RAM in the order of the block units in the column direction. Which is constituted by a read control unit for reading control.
換言すると、この発明によると、m×n個の1次元DCT係数を一時的に格納するメモリ空間を、複数のデュアルポートRAMを用いて構成し、行方向の1次元離散コサイン変換により得られたすべての1次元DCT係数の行位置と列位置の入れ替え(転置)をして、列方向の1次元DCT変換回路へ供給するための転置制御部を、複数のデュアルポートRAMへ、個別に書き込み制御を行う書き込み制御部と、個別に読み出し制御を行う読み出し制御部とで構成し、各デュアルポートRAMの書き込み、読み出しアクセスの頻度(回数)を少なくすることにより、動作周波数の高速化および低消費電力化を図ることができる。 In other words, according to the present invention, a memory space for temporarily storing m × n one-dimensional DCT coefficients is configured by using a plurality of dual-port RAMs, and obtained by one-dimensional discrete cosine transform in the row direction. Write control of individual transposition control units for transposing (transposing) the row positions and column positions of all the one-dimensional DCT coefficients to the one-dimensional DCT conversion circuit in the column direction to a plurality of dual port RAMs. It is composed of a write control unit that performs read operations and a read control unit that performs read control individually, and by reducing the frequency (number of times) of write and read access to each dual port RAM, the operating frequency is increased and the power consumption is reduced. Can be achieved.
上述したように、この発明の離散コサイン変換装置は、1次元DCT係数の転置のために複数のデュアルポートRAMを用い、その書き込み、読み出しアクセスの頻度(回数)を少なくことにより、高速のデュアルポートRAMを使用しなくても高速動作を行うことが可能となる。さらに、デュアルポートRAMの書き込み、読み出し動作の回数(頻度)が少なくなることにより、デュアルポートRAMの消費電力が減少し、低消費電力化の実現が可能となる。 As described above, the discrete cosine transform device of the present invention uses a plurality of dual port RAMs for transposing one-dimensional DCT coefficients, and reduces the frequency (number of times) of write and read accesses, thereby enabling high speed dual port. High speed operation can be performed without using RAM. Furthermore, since the number of times of writing and reading operations (frequency) of the dual port RAM is reduced, the power consumption of the dual port RAM is reduced, and low power consumption can be realized.
請求項1記載の発明は、mおよびnを整数(m=nまたはm≠n)としてm列×n行の画素のブロック単位でm画素またはn画素ごとに水平方向の1次元DCT変換を行う前段のDCT変換回路と、このDCT変換回路から供給されるm×n個の1次元DCT係数を一時的に格納するメモリ空間と、このメモリ空間の行位置と列位置とを転置して1次元DCT係数の書き込みと読み出しとを制御する転置制御部と、上記メモリ空間から出力されるDCT係数を入力としてm係数またはn係数毎に垂直方向の1次元DCT変換を行う後段のDCT変換回路とを備えるDCT変換装置において、上記メモリ空間をNを整数としてN個の(m×n)/NワードのデュアルポートRAMを用いて構成し、上記転置制御部を、Nクロックサイクルに1回の頻度でN個の上記デュアルポートRAMの書き込み動作を繰り返し個別に制御する書き込み制御部と、Nクロックサイクルに1回の頻度で読み出し動作を繰り返し個別に制御する読み出し制御部とを具備する構成としたものである。 According to the first aspect of the present invention, m and n are integers (m = n or m ≠ n), and a one-dimensional DCT transformation in the horizontal direction is performed for each of m pixels or n pixels in block units of pixels of m columns × n rows. A DCT conversion circuit in the previous stage, a memory space for temporarily storing m × n one-dimensional DCT coefficients supplied from the DCT conversion circuit, and a row position and a column position of the memory space are transposed to form a one-dimensional A transposition control unit that controls writing and reading of DCT coefficients, and a DCT conversion circuit in a subsequent stage that performs one-dimensional DCT conversion in the vertical direction for each m coefficient or n coefficient with the DCT coefficient output from the memory space as an input. In the DCT conversion apparatus, the memory space is configured using N (m × n) / N word dual-port RAMs, where N is an integer, and the transposition control unit is configured to be used once every N clock cycles. A write control unit that repeatedly and individually controls the write operations of the N dual-port RAMs, and a read control unit that individually and repeatedly controls the read operation once every N clock cycles. Is.
請求項2記載の発明は、前段のDCT変換回路が、水平方向のmまたはn画素毎の1次元DCT変換を行って、NクロックサイクルにN個の係数ずつ1次元DCT係数群として順次パラレル出力するように構成され、
書き込み制御部は、上記前段のDCT変換回路から順次供給される1次元DCT係数群を、同一列の係数がm×N個またはn×N個の係数単位でそれぞれ異なるデュアルポートRAMに順次書き分けられるように制御するとともに、それぞれのデュアルポートRAMの書き込みに関しては、最初のm×n個の1次元DCT係数の場合は、任意のアドレスに順次書き込んだDCT係数が上書きされないようにアドレスを指定して、Nクロックサイクルに1回の頻度で同一のタイミングで書き込み制御し、次のm×n個の1次元DCT係数の場合は、最初のm×n個の1次元DCT係数が列方向に順次上書きされていくようにアドレスを個別に指定し、Nクロックサイクルに1回の頻度で1次元DCT係数を同一のタイミングで書き込み制御し、以後、上記2つの書き込み制御を繰り返し交互に行うように構成され、
読み出し制御部は、書き込み制御部によりN個のデュアルポートRAMに書き分けられた1次元DCT係数をm×n画素のブロック単位の列方向順にN個ずつ同時に読み出し可能となるアドレスを、上記デュアルポートRAMにそれぞれ繰り返し個別に供給し、Nクロックサイクルに1回の頻度で、同一のタイミングで読み出されたそれぞれの1次元DCT係数について、m×n画素のブロック単位の列方向順に係数の入れ替えを行い、その入れ替えられたN個の係数で構成される1次元DCT係数群を、Nクロックサイクルに1回の頻度で、同一のタイミングでラッチし、後段のDCT変換回路へ繰り返し供給するように構成され、
後段のDCT変換回路は、上記読み出し制御部からNクロックサイクルに1回の頻度で出力されるN個のDCT係数群を入力として、m係数またはn係数毎の1次元DCT変換を行うように構成されているようにしたものである。
According to the second aspect of the present invention, the DCT conversion circuit in the previous stage performs one-dimensional DCT conversion for every m or n pixels in the horizontal direction, and sequentially outputs in parallel as a one-dimensional DCT coefficient group by N coefficients every N clock cycles. Configured to
The write control unit sequentially writes the one-dimensional DCT coefficient group sequentially supplied from the DCT conversion circuit in the preceding stage into different dual-port RAMs in which the coefficient in the same column is different in units of m × N or n × N coefficients. As for the writing of each dual port RAM, in the case of the first m × n one-dimensional DCT coefficients, the addresses are designated so that the DCT coefficients sequentially written to arbitrary addresses are not overwritten. , Write control is performed at the same timing once every N clock cycles, and in the case of the next m × n one-dimensional DCT coefficients, the first m × n one-dimensional DCT coefficients are sequentially overwritten in the column direction. The address is individually specified so that the one-dimensional DCT coefficient is written at the same timing once every N clock cycles. , Configured to repeatedly perform the above two write controls alternately,
The read control unit is configured to read, in the dual port RAM, addresses at which N one-dimensional DCT coefficients written in the N dual port RAMs by the write control unit can be simultaneously read in the order of columns in m × n pixel blocks. Are repeatedly supplied individually, and the coefficients are exchanged in the order of columns in the order of blocks of m × n pixels for each one-dimensional DCT coefficient read at the same timing once every N clock cycles. The one-dimensional DCT coefficient group composed of the replaced N coefficients is latched at the same timing at a frequency of once every N clock cycles and repeatedly supplied to the subsequent DCT conversion circuit. ,
The DCT conversion circuit in the subsequent stage is configured to perform one-dimensional DCT conversion for each of the m coefficient or n coefficient, with N DCT coefficient groups output at a frequency of once every N clock cycles from the read control unit as an input. It is what has been done.
請求項3記載の発明は、前段のDCT変換回路が、水平方向m画素またはn画素毎の1次元DCT変換を行い、求まった1次元DCT変換係数に関してその行位置により係数の出力順を決定し、1クロックサイクルに1回の頻度で1係数ずつ順次出力するように構成され、
書き込み制御部は、上記前段のDCT変換回路から1係数ずつ順次供給される1次元DCT係数を、同一列の係数がm×N個またはn×N個の係数単位でそれぞれ異なるデュアルポートRAMに順次書き分けられるように制御し、それぞれのデュアルポートRAMの書き込みに関しては、最初のm×n個の1次元DCT係数の場合は、任意のアドレスに順次書き込んだDCT係数が上書きされないようにアドレスを個別に指定して、Nクロックサイクルに1回の頻度でそれぞれ異なるタイミングで書き込み制御し、次のm×n個の1次元DCT係数の場合は、最初のm×n個の1次元DCT係数が列方向に順次上書きされていくようにアドレスを個別に指定して、Nクロックサイクルに1回の頻度で1次元DCT係数を異なるタイミングで書き込み制御するように構成され、
読み出し制御部は、上記書き込み制御部によりN個の上記デュアルポートRAMに書き分けられた1次元DCT係数を、m×n画素のブロック単位の列方向順に、読み出し可能となるアドレスを、N個の上記デュアルポートRAMにそれぞれ個別に供給し、N個の上記デュアルポートRAMから、1次元DCT係数をNクロックサイクルに1回の頻度でそれぞれ異なるタイミングで読み出し制御し、読み出された1次元DCT係数については、Nクロックサイクルに1回の頻度で、それぞれ異なるタイミングでラッチして1次元DCT係数を順次時分割出力し、1クロックサイクルに1回の頻度で上記後段のDCT変換回路へ繰り返し供給するように構成され、
後段のDCT変換回路は、上記読み出し制御部により1クロックサイクルに1回の頻度で出力される1次元DCT係数を、その列位置により係数の行位置を認識して、m係数毎またはn係数毎の1次元DCT変換するように構成されているようにしたものである。
(第1の実施の形態)
以下、添付図面に基づいて、この発明の第1の実施の形態について述べる。図1は、この発明の実施の形態の2次元離散コサイン変換装置のブロック図である。2次元離散コサイン変換装置1は、前段の1次元DCT変換回路2と、メモリ空間3と、転置制御部4と、後段の1次元DCT変換回路5とによって構成される。
In the invention according to
The write control unit sequentially supplies the one-dimensional DCT coefficients sequentially supplied one by one from the DCT conversion circuit in the previous stage to the dual port RAMs having different coefficients in the same column in units of m × N or n × N coefficients. In the case of the first m × n one-dimensional DCT coefficients, the addresses are individually set so that the DCT coefficients sequentially written to arbitrary addresses are not overwritten. Specify and write control at different timings once every N clock cycles. In the case of the next m × n one-dimensional DCT coefficients, the first m × n one-dimensional DCT coefficients are in the column direction. The addresses are individually specified so that they are overwritten sequentially, and the one-dimensional DCT coefficients are written at different timings once every N clock cycles. Configured to control only
The read control unit reads the one-dimensional DCT coefficients written in the N dual-port RAMs by the write control unit in the order of m × n pixels in the column direction in the column direction, and sets the N addresses Each of the dual-port RAMs is individually supplied, and the one-dimensional DCT coefficients are read out from the N dual-port RAMs at a frequency of once every N clock cycles, and the read one-dimensional DCT coefficients are read out. Are latched at different timings once every N clock cycles and sequentially time-divisionally output one-dimensional DCT coefficients, and are repeatedly supplied to the subsequent DCT conversion circuit once every clock cycle. Composed of
The subsequent DCT conversion circuit recognizes the one-dimensional DCT coefficient output at a frequency of once per clock cycle by the read control unit, recognizes the row position of the coefficient based on the column position, and outputs each m coefficient or n coefficient. It is configured to perform one-dimensional DCT transformation.
(First embodiment)
Hereinafter, a first embodiment of the present invention will be described with reference to the accompanying drawings. FIG. 1 is a block diagram of a two-dimensional discrete cosine transform apparatus according to an embodiment of the present invention. The two-dimensional discrete
メモリ空間3は、2個のデュアルポートRAM3a、3bにて構成される。
転置制御部4は、書き込み制御部41と読み出し制御部42とを具備する。書き込み制御部41は、書き込みカウンタ411と、書き込みアドレス発生部412と、書き込みデータ選択回路413と、書き込み許可生成部414とを備えて、2個のデュアルポートRAM3a、3bに対し個別に書き込み制御を行う。読み出し制御部42は、読み出しカウンタ421と、読み出しアドレス発生部422と、読み出しデータ選択回路423と、読み出し許可生成部424とを備えて、2個のデュアルポートRAM3a、3bに対し個別に読み出し制御を行う。
The
The
前段の1次元DCT変換回路2は、8×8画素ブロックに分割された画像の水平方向8画素分の画素データPXLDが、1画素ずつシステムクロックSCLKに同期して入力される。そして、この画素データPXLDに対し水平方向の1次元DCT変換が行われ、書き込みカウンタ411より供給されるWDLATが論理値‘0’の時、システムクロックSCLKに同期して、1次元DCT係数(K0〜K63)のうち、奇数列の係数を上位係数DCTI1、偶数列の係数を下位係数DCTI0として2係数ずつ順次パラレル出力される。書き込みカウンタ411より1次元DCT変換回路2に供給される信号WDLATは、後述するが、システムクロックSCLKが2分周された信号であり、詳しくは、この信号WDLATにより、DCTI1、DCTI0は、2クロックサイクルに1回の頻度で
、順次出力されるように制御される。
The preceding one-dimensional
メモリ空間3のデュアルポートRAM3a、3bは、32ワードのデータ格納領域を有し、それぞれ、書き込みデータ入力端子WDと、書き込みアドレス入力端子WAと、書き込み許可入力端子WENと、読み出しアドレス入力端子RAと、読み出し許可入力端子RENと、読み出しデータ出力端子RDと、クロック入力端子CLKとを備える。デュアルポートRAM3a、3bは、それぞれ、書き込み許可入力WENが論理値‘0’の時に限り、クロック入力端子CLKの立ち上がりエッジに同期して、書き込みデータ入力端子WDに入力された書き込みデータ入力が、書き込みアドレス入力端子WAに供給されたアドレスに書き込まれる。また、デュアルポートRAM3a、3bは、それぞれ、読み出し許可入力RENが論理値‘0’の時に限り、クロック入力端子CLKの立ち上がりエッジに同期して、読み出しアドレス入力端子RAに供給された読み出しアドレスに格納されているデータが、読み出しデータ出力RDから読み出される。
The dual port RAMs 3a and 3b of the
書き込み制御部41の書き込みカウンタ411は、7ビットのバイナリカウンタで構成され、リセット信号RSTが入力されると、7ビットのカウント出力WCNT6〜WCNT0がすべて初期値0に設定され、書き込み開始信号WSTARTが論理値‘0’の時にシステムクロックSCLKに同期してカウントアップされていく。外部より供給される書き込み開始信号WSTARTは、前段の1次元DCT変換回路2より出力される最初の2つの1次元DCT係数群K0、K1が出力されるのと同一のタイミングで論理値が‘0’となる信号であり、書き込み開始タイミングを示す信号である。また書き込みカウンタ411は、前段の1次元DCT変換回路2に対しては、最下位ビットWCNT0の反転信号をWDLATとして供給し、2クロックサイクルに1回の頻度で1次元DCT係数DCT
I1、DCTI0が供給されるように制御する。
The
Control is performed so that I1 and DCTI0 are supplied.
書き込みアドレス発生部412は、書き込みカウンタ411のカウント出力WCNT6〜WCNT1を入力として、デュアルポートRAM3a、3bの書き込みアドレスWAA、WABを発生する。図2は、WCNT6〜WCNT1と、WAA、WABとの関係を示した図である。最上位ビットWCNT6が論理値‘0’の時は、アドレスWAA、WABともに、0、1、2、3、16、17、18、19、……、12、13、14、15、28、29、30、31と変換したアドレスを供給する。最上位ビットWCNT6が論理値‘1’の時は、WAAとして、0、4、8、12、16、20、24、28、……、19、23、27、31と変換したアドレスを供給し、WABとして、16、20、24、28、0、4、8、12、……、3、7、11、15と変換したアドレスを供給する。
The
なお、最上位ビットWCNT6が論理値‘0’の時のWAA、WABに関しては、上記のようなアドレス順ではなくても、順次書き込まれる1次元DCT係数が上書きされないような任意のアドレスでも構わない。ただし、そのような任意のアドレスを供給した場合は、最上位ビットWCNT6が論理値‘1’の時のWAA、WABは、最上位ビットWCNT6が論理値‘0’の時に、デュアルポートRAM3a、3bに、既に書き込んだ8×8=64個の係数を列方向順すなわちK0、K8、K16、K24、……、K47、K55、K63の順に上書きしていくことが可能となる書き込みアドレスとする必要がある。 Note that WAA and WAB when the most significant bit WCNT6 is a logical value “0” may be any address that does not overwrite the sequentially written one-dimensional DCT coefficient, even if the address order is not as described above. . However, when such an arbitrary address is supplied, WAA and WAB when the most significant bit WCNT6 is a logical value “1” are dual port RAMs 3a and 3b when the most significant bit WCNT6 is a logical value “0”. In addition, 8 × 8 = 64 coefficients that have already been written need to be written addresses that can be overwritten in the column direction, that is, in the order of K0, K8, K16, K24,..., K47, K55, K63. There is.
書き込みデータ選択回路413は、書き込みカウンタ411のカウント出力WCNT3をデータ選択信号WDSELとして入力し、奇数行の係数と偶数行の係数とで、デュアルポートRAM3a、3bに書き込むデータを選択する。データ選択信号WDSELが論理値‘0’の場合、すなわち奇数行の係数の場合は、前段の1次元DCT変換回路2から、2クロックサイクルに1回の頻度で順次供給される上位係数DCTI1をデュアルポートRAM3aの書き込みデータWDAとして選択出力し、下位係数DCTI0をデュアルポートRAM3bの書き込みデータWDBとして選択出力する。また、データ選択信号WDSELが論理値‘1’の場合、すなわち偶数行の係数の場合は、その逆で下位係数DCTI0を書き込みデータWDAとして選択出力し、上位係数DCTI1を書き込みデータWDBとして選択出力する。
The write
書き込み許可生成部414は、外部より供給される書き込み開始信号WSTARTと、書き込みカウンタ411の最下位ビットWCNT0の反転信号との論理和(OR)を、デュアルポートRAM3a、3bの書き込み許可信号WENBとして供給し、書き込み動作を2クロックサイクルに1回の頻度に低減させる。
The write
読み出し制御部42の読み出しカウンタ421は、7ビットのバイナリカウンタで構成され、リセット信号RSTが入力されると、7ビットのカウント出力RCNT6〜RCNT0がすべて初期値0に設定され、読み出し開始RSTARTが論理値‘0’の時にシステムクロックSCLKに同期してカウントアップされていく。なお、読み出し開始信号RSTARTの論理値が‘0’になるタイミングは、書き込み開始信号WSTARTが論理値‘0’になった後、デュアルポートRAM3a、3bに1次元DCT係数が順次書き込まれ、50番目〜62番目の係数が書き込まれた時点である。また読み出しカウンタ421は、後段の1次元DCT変換回路5に対して、最下位ビットRCNT0の反転信号をRDLATとして供給する。読み出しデータ選択回路423に対しては、RCNT3を2クロックサイクル遅延させた信号をRDSELとして供給し、デュアルポートRAM3a、3bからの読み出しデータの出力タイミングに合わせてデータの入れ替えが可能となるよう制御する。
The
読み出しアドレス発生部422は、読み出しカウンタ421のカウント出力RCNT6〜RCNT1を入力として、デュアルポートRAM3a、3bの読み出しアドレスRAA、RABを発生する。図3は、カウント出力RCNT6〜RCNT1とアドレスRAA、RABとの関係を示した図である。最上位ビットRCNT6が論理値‘0’の時は、RAAとして、0、4、8、12、16、20、24、28、……、3、7、11、15、19、23、27、31と変換したアドレスを供給し、RABとして、16、20、24、28、0、4、8、12、……、19、23、27、31、3、7、11、15と変換したアドレスを供給する。また、最上位ビットRCNT6が論理値‘1’の時は、RAAとして、0、1、2、3、16、17、18、19、……、12、13、14、15、28、29、30、31と変換したアドレスを供給し、RABとして、0、1、2、3、16、17、18、19、……、12、13、14、15、28、29、30、31と変換したアドレスを供給する。すなわち、読み出しアドレス発生部422は、書き込み制御部41によりデュアルポートRAM3a、3bに書き込まれた1次元DCT係数を、8×8係数ブロックの列方向順に、デュアルポートRAM3a、3bから、それぞれ1係数ずつ、同一のタイミングで読み出し可能となるアドレスを、読み出しアドレスRAA、RABに供給すればよい。詳しくは、RCNT6が論理値‘1’の時の読み出しアドレスRAA、RABは、書き込みアドレス発生部412より供給されるWCNT6が論理値‘0’の時の書き込みアドレスWAA、WABと等しく、また、RCNT6が論理値‘0’の時の読み出しアドレスRAA、RABは、WCNT6が論理値‘1’の時の書き込みアドレスWAA、WABと等しくなるアドレスを個別に供給すればよい。
The
読み出しデータ選択回路423は、読み出しカウンタ421より供給される信号RDSELを入力としてデュアルポートRAM3a、3bからそれぞれ読み出された1次元DCT係数を選択的に出力する。詳細には、RDSELが論理値‘0’の時、すなわち、8×8係数ブロックの奇数列の1次元DCT係数を読み出す時は、デュアルポートRAM3aからの読み出しデータRDAを上位係数DCTO1として出力し、デュアルポートRAM3bからの読み出しデータRDBを下位係数DCTO0として出力する。また、RDSELが論理値‘1’の時、すなわち、8×8係数ブロックの偶数列を読み出す時は、RDAを下位係数DCTO0として出力し、RDBを上位係数DCTO1として出力する。この読み出しデータ選択回路423により、常に、上位係数DCTO1出力には8×8係数ブロック単位の係数のうち奇数行の係数が出力され、下位係数DCTO0出力には、偶数行の係数が繰り返し出力される。
The read
読み出し許可生成部424は、外部より供給される読み出し開始信号RSTARTと、読み出しカウンタ421の最下位ビットRCNT0の反転信号との論理和(OR)を、デュアルポートRAM3a、3bの読み出し許可RENBとして供給し、読み出し動作を2クロックサイクルに1回の頻度に低減させる。
The read
後段の1次元DCT変換回路5は、読み出しカウンタ421より供給される信号RDLATを入力し、2クロックサイクルに1回の頻度で、1次元DCT係数DCTO1、DCTO0を同一のタイミングで受け取り、2クロックサイクルに1回の頻度でシフトし、8係数ごとの垂直方向の1次元DCT変換を行い、2次元DCT係数KK0〜KK63をシステムクロックSCLKに同期してDCTOUTとして順次出力する。
The subsequent one-dimensional
図4および図5は、書き込み制御部41に従って1次元DCT係数がデュアルポートRAM3a、3bに書き込まれる際のデータ格納位置を示す図である。
図4は、最初の8×8画素ブロックの1次元DCT係数K0〜K63がデュアルポートRAM3a、3bに書き込まれる際のデータ格納位置を示す図である。2クロックサイクルに1回の頻度で、前段の1次元DCT変換回路2から、上位係数DCTI1として奇数列の係数K0、K2、K4、…、K60、K62が、下位係数DCTI0として偶数列の係数K1、K3、K5、…、K61、K63が、それぞれ同一のタイミングで順次出力され、奇数行の1次元DCT係数K0〜K7、K16〜K23、K32〜K39、K48〜K55に関しては、上位係数DCTI1がデュアルポートRAM3aのアドレス番号0、1、2、3、……、13、14、15に書き込まれ、下位係数DCTI0がデュアルポートRAM3bのアドレス番号0、1、2、3、……、13、14、15に書き込まれる。偶数行の1次元DCT係数K8〜K15、K24〜K31、K40〜K47、K56〜K63に関しては、下位係数DCT1DI0が、デュアルポートRAM3aのアドレス番号16、17、18、…、29、30、31に書き込まれ、上位係数DCTI1が、デュアルポートRAM3bのアドレス番号16、17、18、…、29、30、31に書き込まれる。
4 and 5 are diagrams showing data storage positions when the one-dimensional DCT coefficients are written in the dual port RAMs 3a and 3b in accordance with the
FIG. 4 is a diagram showing a data storage position when the one-dimensional DCT coefficients K0 to K63 of the first 8 × 8 pixel block are written in the dual port RAMs 3a and 3b. The odd-numbered column coefficients K0, K2, K4,..., K60, K62 and the even-numbered coefficient K1 as the lower coefficient DCTI0 from the preceding one-dimensional
図5は、次の8×8画素ブロックの1次元DCT係数K’0〜K’63がデュアルポートRAM3a、3bに書き込まれる際のデータ格納位置を示す図である。最初の8×8画素ブロックの1次元DCT係数K0〜K63が、垂直方向K0、K8、K16、K24、…、K47、K55、K63に、デュアルポートRAM3a、3bから、それぞれ1係数ずつ、2クロックサイクルに1回の頻度で、読み出され始める。すると、その後、次の8×8画素ブロックの1次元DCT係数K’0〜K’63のうち、奇数行の1次元DCT係数K’0〜K’7、K’16〜K’23、K’32〜K’39、K’48〜K’55に関しては、上位係数DCTI1がデュアルポートRAM3aのアドレス番号0、4、8、12、1、5、9、13、…、3、7、11、15に書き込まれ、下位係数DCTI0がデュアルポートRAM3bのアドレス番号16、20、24、28、17、21、25、29、…、19、23、27、31に書き込まれる。偶数行の1次元DCT係数K’8〜K’15、K’24〜K’31、K’40〜K’47、K’56〜K’63に関しては、下位係数DCT1DI0がデュアルポートRAM3aのアドレス番号16、20、24、28、17、21、25、29、…、19、23、27、31に書き込まれ、上位係数DCTI1がデュアルポートRAM3bのアドレス番号0、4、8、12、1、5、9、13、…、3、7、11、15に書き込まれる。1次元DCT係数は、64係数ごとに図4と図5のデータ格納位置に交互に書き込まれるように、書き込み制御部41によって繰り返し制御される。
FIG. 5 is a diagram showing data storage positions when the one-dimensional DCT coefficients K′0 to K′63 of the next 8 × 8 pixel block are written in the dual port RAMs 3a and 3b. The one-dimensional DCT coefficients K0 to K63 of the first 8 × 8 pixel block are transferred to the vertical directions K0, K8, K16, K24,..., K47, K55, and K63 from the dual port RAMs 3a and 3b, one coefficient each for two clocks. Reading begins once a cycle. Then, among the one-dimensional DCT coefficients K′0 to K′63 of the next 8 × 8 pixel block, the odd-numbered one-dimensional DCT coefficients K′0 to K′7, K′16 to K′23, and K For '32 to K'39 and K'48 to K'55, the higher coefficient DCTI1 is the
図6および図7は、読み出し制御部42に従って1次元DCT係数をデュアルポートRAM3a、3bから読み出す際のアドレス順序および読み出される1次元DCT係数を示す図である。
6 and 7 are diagrams showing the address order and the one-dimensional DCT coefficients that are read when the one-dimensional DCT coefficients are read from the dual port RAMs 3a and 3b according to the
図6は、最初の8×8画素ブロックの1次元DCT係数K0〜K63が図4のようにデュアルポートRAM3a、3bに書き込まれた際の、読み出しアドレスの順序および読み出される1次元DCT係数を示す図である。読み出し制御部42より、デュアルポートRAM3aの読み出しアドレスRAAとして、アドレス番号0、4、8、12、16、20、24、28、…、3、7、11、15、19、23、27、31が順次供給され、1次元DCT係数K0、K16、K32、K48、K9、K25、K41、K57、…、K6、K22、K38、K54、K15、K31、K47、K63が順次読み出される。また、デュアルポートRAM3bの読み出しアドレスRABとして、アドレス番号16、20、24、28、0、4、8、12、…、19、23、27、31、3、7、11、15が順次供給され、1次元DCT係数K8、K24、K40、K56、K1、K17、K33、K49、…、K14、K30、K46、K62、K7、K23、K39、K55が順次読み出される。デュアルポートRAM3a、3bから2クロックサイクルに1回の頻度で同時に読み出されたこれらの1次元DCT係数の上位係数、下位係数の入れ替えが、読み出しデータ選択回路423により行われ、上位係数DCTO1として、K0、K16、K32、K48、K1、K17、K33、K49、…、K6、K22、K38、K54、K7、K23、K39、K55が順次出力され、下位係数DCTO0として、K8、K24、K40、K56、K9、K25、K41、K57、…、K14、K30、K46、K62、K15、K31、K47、K63が順次出力される。
FIG. 6 shows the order of read addresses and the one-dimensional DCT coefficients to be read when the one-dimensional DCT coefficients K0 to K63 of the first 8 × 8 pixel block are written in the dual port RAMs 3a and 3b as shown in FIG. FIG. From the
図7は、次の8×8画素ブロックの1次元DCT係数K’0〜K’63が図5のようにデュアルポートRAM3a、3bに書き込まれた際の、読み出しアドレスの順序および読み出される1次元DCT係数を示す図である。読み出し制御部42より、デュアルポートRAM3aの読み出しアドレスRAAとして、アドレス番号0、1、2、3、16、17、18、19、…、12、13、14、15、28、29、30、31が順次供給され、1次元DCT係数K0、K16、K32、K48、K9、K25、K41、K57、…、K6、K22、K38、K54、K15、K31、K47、K63が順次読み出される。また、デュアルポートRAM3bの読み出しアドレスRABとして、アドレス番号0、1、2、3、16、17、18、19、…、12、13、14、15、28、29、30、31が順次供給され、1次元DCT係数K8、K24、K40、K56、K1、K17、K33、K49、…、K14、K30、K46、K62、K7、K23、K39、K55が順次読み出される。デュアルポートRAM3a、3bから2クロックサイクルに1回の頻度で同時に読み出されたこれらの1次元DCT係数の上位係数、下位係数の入れ替えが、読み出しデータ選択回路423により行われ、上位係数DCTO1として、K0、K16、K32、K48、K1、K17、K33、K49、…、K6、K22、K38、K54、K7、K23、K39、K55が順次出力され、下位係数DCTO0として、K8、K24、K40、K56、K9、K25、K41、K57、…、K14、K30、K46、K62、K15、K31、K47、K63が順次出力される。読み出し制御部42により、1次元DCT係数の読み出しを64係数ごとに図6と図7の読み出しアドレスを交互に切り替えて行うことにより、1次元DCT係数の行位置、列位置の転置が繰り返し行われ、2クロックサイクルに1回の頻度で、2係数ずつ、後段の1次元DCT変換回路5に順次供給される。
FIG. 7 shows the order of read addresses and the one-dimensional read out when the one-dimensional DCT coefficients K′0 to K′63 of the next 8 × 8 pixel block are written in the dual port RAMs 3a and 3b as shown in FIG. It is a figure which shows a DCT coefficient. From the
図8は、書き込み制御部41により制御されるデュアルポートRAM3a、3bの書き込みタイミングを示す図である。前段の1次元DCT変換回路2より、2クロックサイクルに1回の頻度で、上位係数DCTI1と下位係数DCTI0とがそれぞれ同一タイミングで書き込み制御部41に順次入力され、書き込みアドレス発生部412により、2クロックサイクルに1回の頻度で、書き込み許可生成部414より供給される書き込み許可WENBが論理値‘0’の時に、クロックに同期して、指定されたアドレスすなわちデュアルポートRAM3a、3bの書き込みアドレスWAA、WABに順次書き込まれる。
FIG. 8 is a diagram showing the write timing of the dual port RAMs 3a and 3b controlled by the
すなわち、システムクロックSCLKのクロック周期をT、前段の1次元DCT変換回路2より出力される上位係数DCTI1、下位係数DCTI0のシステムクロックSCLKからの遅延時間をTd、デュアルポートRAMのタイミングスペックであるシステムクロックSCLKに対する書き込みデータのセットアップタイム、ホールドタイムをそれぞれ、Tsu(RAM)、Th(RAM)とすると、書き込み動作が正確に行われるためには、(式−5)、(式−6)の条件を満足していればよい。
That is, T is the clock period of the system clock SCLK, Td is the delay time from the system clock SCLK of the higher coefficient DCTI1 and lower coefficient DCTI0 output from the one-dimensional
2T − Td > Tsu(RAM) …… (式−5)
Td > Th(RAM) …… (式−6)
(式−5)、(式−6)から明らかなように、従来の条件を規定した(式−1)、(式−2)に比べれば、書き込み動作のメモリセットアップタイムに対するタイミングマージンは、システムクロックのクロック1周期分Tだけ増加する。
2T−Td> Tsu (RAM) (Formula-5)
Td> Th (RAM) (Formula-6)
As is clear from (Expression-5) and (Expression-6), the timing margin for the memory setup time of the write operation is higher than that of (Expression-1) and (Expression-2) that define the conventional conditions. It increases by T for one clock cycle.
図9は、読み出し制御部42により制御されるデュアルポートRAM3a、3bからの読み出しタイミングを示す図である。読み出しアドレス発生部422により、2クロックサイクルに1回の頻度で、指定されたアドレスすなわちデュアルポートRAM3a、3bの読み出しアドレスRAA、RABに格納されたデータ(1次元DCT係数)が、読み出し許可生成部424より供給される読み出し許可RENBが論理値‘0’の時に、クロックに同期して順次読み出され、読み出しデータ選択回路423により、上位係数DCTO1、下位係数DCTO0として出力される。この出力データを後段の1次元DCT変換回路5が正確に受け取るためには、デュアルポートRAM3a、3bのアクセスタイムをTpdとし、読み出しデータ選択回路423による遅延時間をTdmとし、後段の1次元DCT変換回路5の入力タイミングスペックであるセットアップタイム、ホールドタイムをTsu(FF)、Th(FF)とすると、(式−7)、(式−8)の条件を満足していればよい。
FIG. 9 is a diagram showing the read timing from the dual port RAMs 3a and 3b controlled by the
2T − (Tpd+ Tdm)> Tsu(FF) …… (式−7)
Tpd + Tdm > Th(FF) …… (式−8)
すなわち、従来の条件(式−3)、(式−4)に比べれば、デュアルポートRAM3a、3bに要求されるアクセスタイムTpdは(T−Tdm)だけ増加する。なお、読み出しデータ選択回路423による遅延時間Tdmは、デュアルポートRAM3a、3bからの2つの読み出しデータから1つのデータを選択するためのデータセレクタのみの遅延時間であり、デュアルポートRAM3a、3bのアクセスタイムTpdに比べれば非常に小さく、トータルとしては、メモリアクセスタイムの増加による回路動作可能周波数への影響を抑えることが可能となる。
2T− (Tpd + Tdm)> Tsu (FF) (Formula-7)
Tpd + Tdm> Th (FF) (Formula-8)
That is, the access time Tpd required for the dual port RAMs 3a and 3b is increased by (T-Tdm) as compared with the conventional conditions (Expression-3) and (Expression-4). Note that the delay time Tdm by the read
以上が、メモリ空間3において32ワードのデュアルポートRAM2個を用いて2次元離散コサイン変換装置を構成した場合の具体的説明であるが、メモリ空間3は16ワードのデュアルポートRAMを4個用いて構成してもよく、また、8ワードのデュアルポートRAMを8個用いて構成してもよい。
The above is a specific description of the case where the two-dimensional discrete cosine transform device is configured using two 32-word dual-port RAMs in the
図10は、メモリ空間を、16ワードのデュアルポートRAM4個を用いて構成した例のブロック図である。図1と大きく異なる点は、メモリ空間3を、4個のデュアルポートRAM3a、3b、3c、3dで構成している点である。
FIG. 10 is a block diagram of an example in which the memory space is configured using four 16-word dual port RAMs. The main difference from FIG. 1 is that the
前段の1次元DCT変換回路2は、書き込みカウンタ411より供給される信号WDLATが論理値‘0’の時、システムクロックSCLKに同期して、1次元DCT係数(K0〜K63)を、列順に早い方のDCT係数からDCTI3、DCTI2、DCTI1、DCTI0として4係数ずつ順次パラレル出力する。書き込みカウンタ411より供給される信号WDLATは、後述するが、システムクロックSCLKの4サイクル中に1サイクルのみ論理値‘0’になる信号であり、詳しくは、DCTI3〜DCTI0は、信号WDLATにより4クロックサイクルに1回の頻度で順次出力されるように制御される。
When the signal WDLAT supplied from the
デュアルポートRAM3a〜3dは、データ格納領域が16ワードのデュアルポートRAMを4個使用している点で、図1のものと異なる。
書き込み制御部41は、図1と同様の構成であるが、異なる点は、書き込みカウンタ411が、前段の1次元DCT変換回路2に対して、WCNT1とWCNT0との論理積の反転信号(NAND)をWDLATとして供給し、4クロックサイクルに1回の頻度で1次元DCT係数DCTI3〜DCTI0が供給されるように制御する点である。
The dual port RAMs 3a to 3d are different from those in FIG. 1 in that four dual port RAMs having a data storage area of 16 words are used.
The
書き込みアドレス発生部412における書き込みアドレスWAA、WAB、WAC、WADと、書き込みカウンタ411の出力WCNT6〜WCNT2との関係は、図11の通りである。
The relationship between the write addresses WAA, WAB, WAC, WAD in the
書き込みデータ選択回路413は、書き込みカウンタ411のカウント出力WCNT4、WCNT3の2ビットを、データ選択信号WDSEL1、WDSEL0として入力し、データ選択信号WDSEL1、WDSEL0がともに論理値‘0’、すなわち1、5行目の係数の場合は、DCTI3をWDAとし、DCTI2をWDBとし、DCTI1をWDCとし、DCTI0をWDDとして供給する。データ選択信号WDSEL1が論理値‘0’、WDSEL0が論理値‘1’、すなわち2、6行目の係数の場合は、DCTI2をWDAとし、DCTI3をWDBとし、DCTI0をWDCとし、DCTI1をWDDとして供給する。データ選択信号WDSEL1が論理値‘1’、WDSEL0が論理値‘0’、すなわち3、4行目の係数の場合は、DCTI1をWDAとし、DCTI0をWDBとし、DCTI3をWDCとし、DCTI2をWDDとして供給する。データ選択信号WDSEL1、WDSEL0がともに論理値‘1’、すなわち4、8行目の係数の場合は、DCTI0をWDAとし、DCTI1をWDBとし、DCTI2をWDCとし、DCTI3をWDDとして供給する。
The write
書き込み許可生成部414は、外部より供給される書き込み開始信号WSTARTと、書き込みカウンタ411のWCNT1の反転信号と、WCNT0の反転信号との論理和(OR)を、デュアルポートRAM3a〜3dの書き込み許可信号WENBとして供給し、書き込み動作を4クロックサイクルに1回の頻度に低減させる。
The write
読み出し制御部42は、図1と同様の構成であるが、異なる点は、読み出しカウンタ421が、後段の1次元DCT変換回路5に対して、RCNT1とRCNT0の論理積の反転信号(NAND)をRDLATとして供給し、また、読み出しデータ選択回路423に対しては、RCNT4を4クロックサイクル遅延させた信号をRDSEL1とするとともに、RCNT3を4クロックサイクル遅延させた信号をRDSEL0として供給し、デュアルポートRAM3a〜3dからの読み出しデータの出力タイミングに合わせてデータの入れ替えが可能となるよう制御する。
The
読み出しアドレス発生部422における読み出しアドレスRAA、RAB、RAC、RADと読み出しカウンタ421の出力RCNT6〜RCNT2との関係は、図12の通りである。
The relationship between the read addresses RAA, RAB, RAC, RAD and the outputs RCNT6 to RCNT2 of the read
読み出しデータ選択回路423は、読み出しカウンタ421より供給されるRDSEL1、RDSEL0を入力とし、その論理値の組み合わせにより、デュアルポートRAM3a〜3dから読み出された4つの1次元DCT係数RDA〜RDDを、その行位置によって入れ替えてDCTO3〜DCTO0へ出力する。すなわちDCTO3出力には1、5行目の係数が、DCTO2出力には2、6行目の係数が、DCTO1出力には3、7行目の係数が、DCTO0出力には4、8行目の係数が、それぞれ繰り返し出力されるように、読み出しデータの入れ替えが行われる。
The read
読み出し許可生成部424は、読み出し開始信号RSTARTと、読み出しカウンタ421出力のRCNT1の反転信号と、RCNT0の反転信号との論理和(OR)を、デュアルポートRAM3a〜3bの読み出し許可信号RENBとして供給し、読み出し動作を4クロックサイクルに1回の頻度に低減させる。
The read
後段の1次元DCT変換回路5は、読み出しカウンタ421より供給される信号RDLATを入力し、4クロックサイクルに1回の頻度で1次元DCT係数DCTO3〜DCTO0を同一のタイミングで受け取り、4クロックサイクルに1回の頻度でシフトし、8係数ごとの垂直方向の1次元DCT変換を行い、2次元DCT係数KK0〜KK63をシステムクロックSCLKに同期してDCTOUTとして順次出力する。
The subsequent one-dimensional
図13および図14は、書き込み制御部41に従って1次元DCT係数がデュアルポートRAM3a〜3dに書き込まれるデータ格納位置を示す図である。すなわち、図13は、最初の8×8画素ブロックの1次元DCT係数K0〜K63がデュアルポートRAM3a〜3dに書き込まれるデータ格納位置を示す図であり、また図14は、次の8×8画素ブロックの1次元DCT係数K0〜K63がデュアルポートRAM3a〜3dに書き込まれるデータ格納位置を示す図である。1次元DCT係数は、64係数ごとに図13と図14のデータ格納位置に交互に書き込まれるように、書き込み制御部41により繰り返し制御される。また、係数の書き込みは、すべて4クロックサイクルに1回の頻度で繰り返し行われる。
13 and 14 are diagrams showing data storage positions where the one-dimensional DCT coefficients are written in the dual port RAMs 3a to 3d in accordance with the
図15および図16は、読み出し制御部42に従って1次元DCT係数をデュアルポートRAM3a〜3dから読み出す際のアドレス順序および読み出される1次元DCT係数を示す図である。すなわ、図15は、最初の8×8画素ブロックの1次元DCT係数K0〜K63の読み出しアドレス順序および読み出される1次元DCT係数を示す図である。図16は、次の8×8画素ブロックの1次元DCT係数K0〜K63の読み出しアドレス順序および読み出される1次元DCT係数を示す図である。
FIGS. 15 and 16 are diagrams illustrating the address order and the one-dimensional DCT coefficients to be read when the one-dimensional DCT coefficients are read from the dual port RAMs 3a to 3d in accordance with the
読み出し制御部42により、1次元DCT係数の読み出しを、64係数ごとに図15と図16の読み出しアドレスを交互に切り替えて行うことにより、1次元DCT係数の行位置、列位置の転置が繰り返し行われ、4クロックサイクルに1回の頻度で、4係数ずつ後段の1次元DCT変換回路5に順次供給される。
The
図17は、書き込み制御部41により制御されるデュアルポートRAM3a〜3dの書き込みタイミングを示す図である。書き込み動作において要求される条件は(式−9)、(式−10)のようになり、メモリセットアップタイムに対するタイミングマージンは、従来と比較して、システムクロックSCLKの3T分だけ増加する。
FIG. 17 is a diagram illustrating the write timing of the dual port RAMs 3a to 3d controlled by the
4T − Td > Tsu(RAM) …… (式−9)
Td > Th(RAM) …… (式−10)
図18は、読み出し制御部42により制御されるデュアルポートRAM3a〜3dからの読み出しタイミングを示す図である。読み出し動作において要求される条件は(式−11)、(式−12)のようになり、デュアルポートRAM3a〜3dに要求されるアクセスタイムTpdは、従来と比較して、(3T−Tdm)だけ増加する。
4T-Td> Tsu (RAM) (Formula-9)
Td> Th (RAM) (Formula-10)
FIG. 18 is a diagram illustrating the read timing from the dual port RAMs 3a to 3d controlled by the
4T−(Tpd+Tdm) > Tsu(FF)…… (式−11)
Tpd+Tdm > Th(FF) …… (式−12)
図19は、メモリ空間3を8ワードのデュアルポートRAM8個を用いて構成した例についてのブロック図である。図1と大きく異なる点は、メモリ空間3を8個のデュアルポートRAM3a〜3hで構成した点である。この場合は、前段の1次元DCT変換回路2から、8クロックサイクルに1回の頻度で、1次元DCT係数(K0〜K63)が、列順に早い方のDCT係数からDCTI7〜DCTI0として8係数ずつ順次パラレル出力され、書き込み制御部41により制御されて8個のデュアルポートRAM3a〜3hに順次書き込まれる。書き込まれるアドレスは図20に示すとおりであり、書き込みタイミングは、8クロックサイクルに1回の頻度で行われるように書き込み許可生成部414により制御される。
4T− (Tpd + Tdm)> Tsu (FF) (Formula-11)
Tpd + Tdm> Th (FF) (Formula-12)
FIG. 19 is a block diagram of an example in which the
デュアルポートRAM3a〜3hの読み出しは読み出し制御部42により制御され、読み出しアドレスは図21に示すとおりであり、読み出しタイミングは、8クロックサイクルに1回の頻度で行われるように読み出し許可生成部424により制御される。
The reading of the dual port RAMs 3a to 3h is controlled by the
図22および図23は、書き込み制御部41に従って1次元DCT係数がデュアルポートRAM3a〜3hに書き込まれるデータ格納位置を示す図である。図22は、最初の8×8画素ブロックの1次元DCT係数K0〜K63がデュアルポートRAM3a〜3hに書き込まれるデータ格納位置を示す図であり、また図23は、次の8×8画素ブロックの1次元DCT係数K0〜K63がデュアルポートRAM3a〜3hに書き込まれるデータ格納位置を示す図である。1次元DCT係数は、64係数ごとに図22と図23のデータ格納位置に交互に書き込まれるよう、書き込み制御部41により繰り返し制御される。また、係数の書き込みは、すべて、8クロックサイクルに1回の頻度で繰り返し行われる。
22 and 23 are diagrams showing data storage positions where the one-dimensional DCT coefficients are written in the dual port RAMs 3a to 3h in accordance with the
図24および図25は、読み出し制御部42に従って1次元DCT係数をデュアルポートRAM3a〜3dから読み出す際のアドレス順序および読み出される1次元DCT係数を示す図である。図24は、最初の8×8画素ブロックの1次元DCT係数K0〜K63の読み出しアドレス順序および読み出される1次元DCT係数を示す図である。図25は、次の8×8画素ブロックの1次元DCT係数K0〜K63の読み出しアドレス順序および読み出される1次元DCT係数を示す図である。
24 and 25 are diagrams showing the address order and the one-dimensional DCT coefficients to be read when the one-dimensional DCT coefficients are read from the dual port RAMs 3a to 3d in accordance with the
読み出し制御部42により、1次元DCT係数の読み出しを64係数ごとに図24と図25の読み出しアドレスを交互に切り替えて行うことにより、1次元DCT係数の行位置、列位置の転置が繰り返し行われ、8クロックサイクルに1回の頻度で、8係数ずつ後段の1次元DCT変換回路5に順次供給される。
The
図26は、書き込み制御部41により制御されるデュアルポートRAM3a〜3hの書き込みタイミングを示す図である。書き込み動作において要求される条件は(式−13)、(式−14)のようになり、メモリセットアップタイムに対するタイミングマージンは、従来と比較して、システムクロックSCLKの7T分だけ増加する。
FIG. 26 is a diagram illustrating the write timing of the dual port RAMs 3a to 3h controlled by the
8T − Td > Tsu(RAM) …… (式−13)
Td > Th(RAM) …… (式−14)
図27は、読み出し制御部42により制御されるデュアルポートRAM3a〜3hからの読み出しタイミングを示す図である。読み出し動作において要求される条件は(式−15)、(式−16)のようになり、デュアルポートRAM3a〜3hに要求されるアクセスタイムTpdは、従来と比較して(7T−Tdm)だけ増加する。
8T−Td> Tsu (RAM) (Formula-13)
Td> Th (RAM) (Formula-14)
FIG. 27 is a diagram illustrating the read timing from the dual port RAMs 3a to 3h controlled by the
8T−(Tpd+Tdm) > Tsu(FF) …… (式−15)
Tpd+Tdm > Th(FF) …… (式−16)
(第2の実施の形態)
図28は、この発明の第2の実施形態の2次元離散コサイン変換装置のブロック図である。前述の第1の実施の形態で示した2次元離散コサイン変換装置1は、2個のデュアルポートRAMの書き込み制御、読み出し制御を2係数ずつ個別に同一タイミングで行うのに対し、本実施の形態の2次元離散コサイン変換装置201は、係数のメモリ空間における書き込み位置(アドレス)、読み出し位置(アドレス)に関しては第1の実施の形態と全く同一であるが、2個のデュアルポートRAMの書き込み制御、読み出し制御を1係数ずつ個別に異なるタイミングで行う点で異なる。また、第1の実施の形態は、メモリへの書き込みおよびメモリからの読み出しにおける回路上のタイミングマージンを改善させ、かつ低消費電力化を実現するものであるが、この第2の実施の形態は、主にメモリの読み出しタイミングマージンのみを改善させ、かつ低消費電力化を図ろうとするものである。
8T− (Tpd + Tdm)> Tsu (FF) (Formula-15)
Tpd + Tdm> Th (FF) (Formula-16)
(Second Embodiment)
FIG. 28 is a block diagram of a two-dimensional discrete cosine transform apparatus according to the second embodiment of the present invention. The two-dimensional discrete
図示のように、2次元離散コサイン変換装置201は、前段の1次元DCT変換回路202と、メモリ空間3と、転置制御部204と、後段の1次元DCT変換回路205とによって構成される。
As shown in the figure, the two-dimensional discrete
前段の1次元DCT変換回路202は、8×8画素ブロックに分割された画像の水平方向8画素分の画素データPXLDが、システムクロックSCLKに同期して1画素ずつ入力され、水平方向の1次元DCT変換が行われ、書き込みカウンタ2411より供給される信号WDCHGが論理値‘0’の時、すなわち奇数行の係数に関しては、D0、D1、D2、…、D7のように奇数列、偶数列の順に、システムクロックSCLKに同期して出力され、WDCHGが論理値‘1’の時、すなわち偶数行の係数に関しては、D9、D8、D11、D10…、D15、D14のように偶数列、奇数列の順に、システムクロックSCLKに同期して1係数ずつDCTIに出力されるように制御される。信号WDCHGは、書き込みカウンタ2411より供給され、詳しくは、システムクロックSCLKが16分周されたカウンタ出力WCNT3と同一となる。
The preceding one-dimensional
デュアルポートRAM3a、3bは、図1のものと全く同一である。
書き込み制御部241は、書き込みカウンタ2411と、書き込みアドレス発生部412と、書き込み許可生成部2414とで構成される。
The dual port RAMs 3a and 3b are exactly the same as those in FIG.
The
書き込みカウンタ2411は、図1のものと同様に7ビットのバイナリカウンタで構成されており、前段の1次元DCT変換回路202より出力される最初の係数K0が出力される同一のタイミングで論理値が‘0’となる信号WSTARTによりカウントアップしていくように制御される。また、書き込みデータ(係数)が奇数行の係数か、偶数行の係数かを識別できるように、前段の1次元DCT変換回路202に対し、信号WCNT3を信号WDCHGとして供給する。 書き込みアドレス発生部412は、図1のものと同一の構成で、係数の書き込みアドレスを図2の通り発生する。
The
書き込み許可生成部2414は、デュアルポートRAM3a、3bに対しそれぞれ異なるタイミングで個別に書き込み制御するように、外部より供給される書き込み開始信号WSTARTと書き込みカウンタ2411の最下位ビットWCNT0との論理和(OR)を、デュアルポートRAM3aの書き込み許可信号WENBAとして供給し、また、信号WSTARTと書き込みカウンタ2411の最下位ビットWCNT0の反転信号との論理和(OR)を、デュアルポートRAM3bの書き込み許可信号WENBBとして供給する。
The write
図29は、デュアルポートRAM3a、3bにおける書き込みタイミングを示す図である。図のように、デュアルポートRAM3a、3bの書き込みがそれぞれ異なるタイミングで行われるように制御される。 FIG. 29 is a diagram showing the write timing in the dual port RAMs 3a and 3b. As shown in the figure, the dual port RAMs 3a and 3b are controlled to be written at different timings.
図28において、読み出し制御部242は、読み出しカウンタ2421と、読み出しアドレス発生部422と、読み出し許可生成部2424と、読み出しデータ出力制御部2425とで構成される。
In FIG. 28, the
読み出しカウンタ2421は、図1のものと同様に7ビットのバイナリカウンタで構成されており、本実施の形態においては、デュアルポートRAM3a、3bより読み出された係数が奇数行の係数か偶数行の係数かの識別が可能となるように、後段の1次元DCT変換回路205に対して、カウンタ出力RCNT3を2クロックサイクル遅延させた信号をRDCHGとして供給する。
The
読み出しアドレス発生部422は、図1のものと同一の構成で、係数の読み出しアドレスを図3の通り発生する。
読み出し許可生成部2424は、それぞれ異なるタイミングでデュアルポートRAM3a、3bから読み出し制御するように、また、読み出しデータ出力制御部2425に対して読み出しデータRDA、RDBをそれぞれ異なるタイミングでラッチすることが可能となるように、デュアルポートRAM3a、3bに信号RENBAと信号RENBBとを供給する。信号RENBAは、外部より供給される読み出し開始信号RSTARTと読み出しカウンタ2421の最下位ビットRCNT0との論理和(OR)の信号であり、また信号RENBBは、信号RSTARTと読み出しカウンタ2421の最下位ビットRCNT0の反転信号との論理和(OR)の信号である。
The
The read
読み出しデータ出力制御部2425は、デュアルポートRAM3a、3bよりそれぞれ異なるタイミングで読み出された読み出しデータRDA、RDBを入力とし、読み出し許可生成部2424より供給される信号RENBA、RENBBに従って、1係数ずつ時分割処理する。
The read data
図30は、デュアルポートRAM3a、3bからの読み出しタイミングを示す図である。信号RENBA、RENBBに従って異なるタイミングで読み出された読み出しデータRDA、RDBは、読み出し許可生成部2424より供給される信号RENBAが論理値‘0’の時にデータRDAがシステムクロックSCLKの立ち上がりエッジでラッチされてRDALTとなり、また、信号RENBBが論理値‘0’の時にデータRDBがラッチされてRDBLTとなる。すなわち、読み出しデータRDA、RDBがそれぞれラッチされるタイミングは、常に読み出されたタイミングの2クロック後となり、データRDA、RDBを正確にラッチするためには、デュアルポートRAM3a、3bのアクセスタイムをTpdとし、ラッチするフリップフロップの入力セットアップタイム、ホールドタイムをTsu(FF)、Th(FF)とすると、(式−17)、(式−18)の条件を満足していればよい。すなわち従来の条件(式−3)、(式−4)に比べれば、デュアルポートRAM3a、3bに要求されるアクセスタイムTpdは、Tだけ増加する。
FIG. 30 is a diagram showing the read timing from the dual port RAMs 3a and 3b. The read data RDA and RDB read at different timings according to the signals RENBA and RENBB are latched at the rising edge of the system clock SCLK when the signal RENBA supplied from the read
2T − Tpd> Tsu(FF) …… (式−17)
Tpd > Th(FF) …… (式−18)
その後、信号RENBAが論理値‘0’の時にRDALTが選択され、また信号RENBBが論理値‘0’の時にRDBLTが選択され、DCTOとして繰り返し出力されるように制御される。
2T−Tpd> Tsu (FF) (Formula-17)
Tpd> Th (FF) (Formula-18)
Thereafter, RDALT is selected when the signal RENBA has a logical value “0”, and RDBLT is selected when the signal RENBB has a logical value “0”, and is controlled to be repeatedly output as DCTO.
後段の1次元DCT変換回路205では、読み出しデータ制御部2425より1係数ずつ供給される信号DCTOを入力として、読み出しカウンタ2421より供給される信号RDCHGに従って、その係数の行位置が識別される。信号RDCHGは、システムクロックSCLKが16分周された信号であり、かつ読み出しデータの出力タイミングに合わせるため、信号RCNT3を2クロックサイクル遅延させた信号である。すなわち、信号RDCHGの論理値が‘0’の時は奇数行の係数を表し、論理値が‘1’の時は偶数行の係数を表している。後段の1次元DCT変換回路205は、この信号RDCHGにより、係数DCTOの行位置を識別し、8係数ごとの垂直方向の1次元DCT変換を行い、2次元DCT係数KK0〜KK63をシステムクロックSCLKに同期してDCTOUTとして順次出力する。
In the subsequent one-dimensional DCT conversion circuit 205, the signal DCTO supplied one coefficient at a time from the read
以上のように、本実施の形態の場合は、読み出しアクセスタイムが比較的大きな低速のRAMを使用しても、高速の離散コサイン変換装置の実現が可能となる。また、本第2の実施の形態では、メモリ空間3を32ワードのデュアルポートRAM2個で構成した場合を説明したが、実施の形態1の場合と同様に、メモリ空間3は、16ワードのデュアルポートRAM4個で構成してもよく、また、8ワードのデュアルポートRAM8個で構成してもよい。
As described above, in the case of the present embodiment, a high-speed discrete cosine transform device can be realized even when a low-speed RAM having a relatively large read access time is used. In the second embodiment, the case where the
16ワードのデュアルポートRAMを用いた場合の読み出し動作における条件は(式−19)のようになり、メモリに要求されるアクセスタイムTpdは従来と比較して3Tだけ増加する。また、8ワードのデュアルポートRAMを用いた場合の読み出し動作における条件は(式−20)のようになり、メモリに要求されるアクセスタイムTpdは従来と比較して7Tだけ増加する。 The condition in the read operation when a 16-word dual port RAM is used is as shown in (Equation-19), and the access time Tpd required for the memory is increased by 3T compared to the conventional case. Also, the condition in the read operation when using an 8-word dual port RAM is as shown in (Equation -20), and the access time Tpd required for the memory is increased by 7T compared to the conventional case.
2T − Tpd> Tsu(FF) …… (式−19)
8T − Tpd> Tsu(FF) …… (式−20)
2T−Tpd> Tsu (FF) (Formula-19)
8T-Tpd> Tsu (FF) (Formula-20)
1 2次元離散コサイン変換装置
2、5 1次元DCT変換回路
3 メモリ空間
3a、3b デュアルポートRAM
4 転置制御部
41 書き込み制御部
42 読み出し制御部
413 書き込みデータ選択回路
414 書き込み許可生成部
421 読み出しデータ選択回路
424 読み出し許可生成部
1 2D
4
Claims (3)
書き込み制御部は、上記前段の離散コサイン変換回路から順次供給される1次元離散コサイン係数群を、同一列の係数がm×N個またはn×N個の係数単位でそれぞれ異なるデュアルポートRAMに順次書き分けられるように制御するとともに、それぞれのデュアルポートRAMの書き込みに関しては、最初のm×n個の1次元離散コサイン係数の場合は、任意のアドレスに順次書き込んだ離散コサイン係数が上書きされないようにアドレスを指定して、Nクロックサイクルに1回の頻度で同一のタイミングで書き込み制御し、次のm×n個の1次元離散コサイン係数の場合は、最初のm×n個の1次元離散コサイン係数が列方向に順次上書きされていくようにアドレスを個別に指定し、Nクロックサイクルに1回の頻度で1次元離散コサイン係数を同一のタイミングで書き込み制御し、以後、上記
2つの書き込み制御を繰り返し交互に行うように構成され、
読み出し制御部は、上記書き込み制御部によりN個のデュアルポートRAMに書き分けられた1次元離散コサイン係数をm×n画素のブロック単位の列方向順にN個ずつ同時に読み出し可能となるアドレスを、上記デュアルポートRAMにそれぞれ繰り返し個別に供給し、Nクロックサイクルに1回の頻度で、同一のタイミングで読み出されたそれぞれの1次元離散コサイン係数について、m×n画素のブロック単位の列方向順に係数の入れ替えを行い、その入れ替えられたN個の係数で構成される1次元離散コサイン係数群を、Nクロックサイクルに1回の頻度で、同一のタイミングでラッチし、後段の離散コサイン変換回路へ繰り返し供給するように構成され、
後段の離散コサイン変換回路は、上記読み出し制御部からNクロックサイクルに1回の頻度で出力されるN個の離散コサイン係数群を入力として、m係数またはn係数毎の1次元離散コサイン変換を行うように構成されていることを特徴とする請求項1記載の離散コサイン変換装置。 The previous stage discrete cosine transform circuit is configured to perform one-dimensional discrete cosine transform for every m or n pixels in the horizontal direction and sequentially output in parallel as a one-dimensional discrete cosine coefficient group by N coefficients every N clock cycles. ,
The writing control unit sequentially converts the one-dimensional discrete cosine coefficient groups sequentially supplied from the preceding stage discrete cosine transform circuit to dual port RAMs having different coefficients in the same column in units of m × N or n × N coefficients. In addition to controlling the writing to each dual port RAM, in the case of the first m × n one-dimensional discrete cosine coefficients, the addresses are set so that the discrete cosine coefficients sequentially written to arbitrary addresses are not overwritten. , And write control is performed at the same timing once every N clock cycles, and in the case of the next m × n one-dimensional discrete cosine coefficients, the first m × n one-dimensional discrete cosine coefficients The address is individually specified so that is sequentially overwritten in the column direction, and the one-dimensional discrete cosine is applied once every N clock cycles. The number is controlled to be written at the same timing, and thereafter, the above two writing controls are repeatedly performed alternately.
The read control unit is configured to obtain addresses which can simultaneously read N one-dimensional discrete cosine coefficients written in N dual-port RAMs by the write control unit in the column direction of m × n pixels in the column direction. For each one-dimensional discrete cosine coefficient that is repeatedly and individually supplied to the port RAM and read out at the same timing once every N clock cycles, the coefficients of the coefficients in the column direction of the block unit of m × n pixels. 1-dimensional discrete cosine coefficient group composed of the replaced N coefficients is latched at the same timing once every N clock cycles and repeatedly supplied to the subsequent discrete cosine transform circuit. Configured to
The discrete cosine transform circuit at the subsequent stage performs one-dimensional discrete cosine transform for each of the m coefficient or n coefficient, with N discrete cosine coefficient groups output at a frequency of once every N clock cycles from the read control unit as an input. The discrete cosine transform device according to claim 1, which is configured as described above.
書き込み制御部は、上記前段の離散コサイン変換回路から1係数ずつ順次供給される1次元離散コサイン係数を、同一列の係数がm×N個またはn×N個の係数単位でそれぞれ異なるデュアルポートRAMに順次書き分けられるように制御し、それぞれのデュアルポートRAMの書き込みに関しては、最初のm×n個の1次元離散コサイン係数の場合は、任意のアドレスに順次書き込んだ離散コサイン係数が上書きされないようにアドレスを個別に指定して、Nクロックサイクルに1回の頻度でそれぞれ異なるタイミングで書き込み制御し、次のm×n個の1次元離散コサイン係数の場合は、最初のm×n個の1次元離散コサイン係数が列方向に順次上書きされていくようにアドレスを個別に指定して、Nクロックサイクルに1回の頻度で1次元離散コサイン係数を異なるタイミングで書き込み制御
するように構成され、
読み出し制御部は、上記書き込み制御部によりN個の上記デュアルポートRAMに書き分けられた1次元離散コサイン係数を、m×n画素のブロック単位の列方向順に、読み出し可能となるアドレスを、N個の上記デュアルポートRAMにそれぞれ個別に供給し、N個の上記デュアルポートRAMから、1次元離散コサイン係数をNクロックサイクルに1回の頻度でそれぞれ異なるタイミングで読み出し制御し、読み出された1次元離散コサイン係数については、Nクロックサイクルに1回の頻度で、それぞれ異なるタイミングでラッチして1次元離散コサイン係数を順次時分割出力し、1クロックサイクルに1回の頻度で上記後段の離散コサイン変換回路へ繰り返し供給するように構成され、
後段の離散コサイン変換回路は、上記読み出し制御部により1クロックサイクルに1回の頻度で出力される1次元離散コサイン係数を、その列位置により係数の行位置を認識して、m係数毎またはn係数毎の1次元離散コサイン変換するように構成されていることを特徴とする請求項1記載の離散コサイン変換装置。
The discrete cosine transform circuit in the previous stage performs one-dimensional discrete cosine transform for every m pixels or n pixels in the horizontal direction, determines the output order of the coefficients for the obtained one-dimensional discrete cosine transform coefficients according to the row position, and takes one clock cycle. It is configured to sequentially output one coefficient at a time,
The write control unit is a dual port RAM in which the one-dimensional discrete cosine coefficients sequentially supplied one by one from the discrete cosine transform circuit in the preceding stage are different from each other in units of m × N or n × N coefficients in the same column. In the case of the first m × n one-dimensional discrete cosine coefficients, the discrete cosine coefficients sequentially written at arbitrary addresses are not overwritten. The address is individually specified, and writing control is performed at different timings once every N clock cycles. In the case of the next m × n one-dimensional discrete cosine coefficients, the first m × n one-dimensional Specify individual addresses so that discrete cosine coefficients are overwritten sequentially in the column direction, one-dimensional with a frequency of once every N clock cycles It is configured to control writing of discrete cosine coefficients at different timings,
The read control unit reads N-dimensional discrete cosine coefficients written in the N dual-port RAMs by the write control unit in the order of m × n pixel blocks in the column direction, and outputs N addresses. Each of the dual-port RAMs is individually supplied, and the one-dimensional discrete cosine coefficients are read out from the N dual-port RAMs at different timings with a frequency of once every N clock cycles. The cosine coefficient is latched at different timings once every N clock cycles, and one-dimensional discrete cosine coefficients are sequentially time-divisionally output, and the subsequent discrete cosine transform circuit is once per clock cycle. Configured to repeatedly feed to
The discrete cosine transform circuit in the subsequent stage recognizes the one-dimensional discrete cosine coefficient output at a frequency of once per clock cycle by the read control unit, recognizes the row position of the coefficient by its column position, and outputs each m coefficient or n 2. The discrete cosine transform apparatus according to claim 1, wherein the discrete cosine transform apparatus is configured to perform a one-dimensional discrete cosine transform for each coefficient.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005341924A JP2006127536A (en) | 2005-11-28 | 2005-11-28 | Discrete cosine transform system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005341924A JP2006127536A (en) | 2005-11-28 | 2005-11-28 | Discrete cosine transform system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP30787199A Division JP2001125883A (en) | 1999-10-29 | 1999-10-29 | Discrete cosine transforming device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006127536A true JP2006127536A (en) | 2006-05-18 |
JP2006127536A5 JP2006127536A5 (en) | 2006-10-12 |
Family
ID=36722146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005341924A Pending JP2006127536A (en) | 2005-11-28 | 2005-11-28 | Discrete cosine transform system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006127536A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107018420A (en) * | 2017-05-08 | 2017-08-04 | 电子科技大学 | A kind of low-power consumption two-dimension discrete cosine transform method and its circuit |
-
2005
- 2005-11-28 JP JP2005341924A patent/JP2006127536A/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107018420A (en) * | 2017-05-08 | 2017-08-04 | 电子科技大学 | A kind of low-power consumption two-dimension discrete cosine transform method and its circuit |
CN107018420B (en) * | 2017-05-08 | 2019-07-12 | 电子科技大学 | A kind of low-power consumption two-dimension discrete cosine transform method and its circuit |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4152308B2 (en) | Semiconductor integrated circuit device | |
JP2002216479A (en) | Method and circuit for driving quad data rate synchronous semiconductor memory device | |
JP2004171738A (en) | Pipe latch circuit for outputting high-speed data | |
US5319596A (en) | Semiconductor memory device employing multi-port RAMs | |
KR100498233B1 (en) | First-in first-out memory circuit and method for executing the same | |
JP2007213055A (en) | Method of transferring frame data using synchronous dynamic random access memory, method of transferring frame data to source driver, and timing control module | |
JP2006127536A (en) | Discrete cosine transform system | |
JPH09198862A (en) | Semiconductor memory | |
US7231413B2 (en) | Transposition circuit | |
JP4559172B2 (en) | Image processing circuit and image processing method | |
JP2001125883A (en) | Discrete cosine transforming device | |
KR100532444B1 (en) | Memory device implementing 2N bit prefetch scheme using N bit prefetch structure and 2N bit prefetching method and auto-precharge method | |
JP3288327B2 (en) | Video memory circuit | |
JPWO2009081551A1 (en) | Memory device and control method thereof | |
EP1459291B1 (en) | Digital line delay using a single port memory | |
CN116150046B (en) | Cache circuit | |
JP2000172242A (en) | Image display control device | |
JP2824708B2 (en) | Graphic drawing device | |
JPS62151987A (en) | Multi port memory processing picture | |
JP4811909B2 (en) | Address generation circuit and data storage device | |
JP2002108695A (en) | Multi-port memory device | |
JP4252406B2 (en) | Data converter | |
KR20220131380A (en) | Data processing circuits and devices | |
JP2000218876A (en) | Image data converting circuit and image data converting method | |
JPS61121597A (en) | Time division channel system and equipment thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060829 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060829 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080430 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080620 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081028 |