CN1147155C - Dct运算装置 - Google Patents

Dct运算装置 Download PDF

Info

Publication number
CN1147155C
CN1147155C CNB998029475A CN99802947A CN1147155C CN 1147155 C CN1147155 C CN 1147155C CN B998029475 A CNB998029475 A CN B998029475A CN 99802947 A CN99802947 A CN 99802947A CN 1147155 C CN1147155 C CN 1147155C
Authority
CN
China
Prior art keywords
mentioned
output
pixel data
unit
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
Application number
CNB998029475A
Other languages
English (en)
Other versions
CN1290455A (zh
Inventor
大桥政宏
中村刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1290455A publication Critical patent/CN1290455A/zh
Application granted granted Critical
Publication of CN1147155C publication Critical patent/CN1147155C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding

Landscapes

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

Abstract

本发明是对不同大小的块单位的图象数据进行DCT运算或者反DCT运算的至少一种运算的DCT运算装置。包括:位限制电路(102),它把以每次一列或者每次一行输入的各像素数据以每次1位输出;第1蝶式运算电路(103),它对位限制电路(102)的输出进行蝶式运算;ROM地址发生电路(104),它根据第1蝶式运算电路(103)的输出,生成连续的ROM地址;RAC(105),它从ROM(ROM0~ROM7)中读出与该ROM地址对应的数据在累加电路(51a~51h)中累加;第2蝶式运算电路(106),它对RAC(105)的输出进行蝶式运算。

Description

DCT运算装置
技术领域
本发明涉及实现在图象信号处理等的信息压缩中使用的离散余弦变换(以下称为“DCT”。)的DCT运算装置,涉及对于大小不同的单位块的图象数据,进行DCT运算或者反DCT运算的至少一种运算的DCT运算装置。
背景技术
在图象信号等的信息压缩中,多使用DCT。在运动图象中的信息压缩中,一般,利用画面内(空间性)相关关系进行信息压缩,和利用画面间(时间性)相关关系进行信息压缩,而DCT就是前者。该DCT,是频率变换法的一种,对于变换前随机分布的像素值,通过利用变换后低频成分大的值集中的性质消除高频成分进行信息压缩。
在DCT中,首先,把1幅的图象分为由一定数的像素(例如8×8)组成的一定形状的多个单位块,对每个块执行DCT处理。2维DCT,是通过进行2次1维DCT执行,例如,通过对在单位块的列方向上进行1维DCT后的中间结果,在其行方向上进行1维DCT执行。
另外,由DCT压缩的图象信号,通过反DCT解压。
X ( u , v ) = 2 / N · C ( u ) · C ( v ) · Σ i = 0 N - 1 Σ j = 0 N - 1 x ( i , j ) cos ( ( 2 i + 1 ) uπ / 2 N ) cos ( ( 2 j + 1 ) vπ / 2 N )
…式(1)
x ( i , j ) = 2 / N · Σ u = 0 N - 1 Σ v = 0 N - 1 · C ( v ) · X ( u , v ) cos ( ( 2 i + 1 ) uπ / 2 N ) cos ( ( 2 j + 1 ) vπ / 2 N )
…式(2)
是定义在N×N单位块中的2维DCT,以及2维反DCT的式子。另外,
X ( u ) = 2 / N · C ( u ) · Σ i = 0 N - 1 x ( i ) cos ( ( 2 i + 1 ) uπ / 2 N )
…式(3)
是定义由上述式(1)以及式(2)导出的1维DCT的式子。
其中,x(i,j)(i,j=0,1,2,......,N-1)是像素,X(u,v)
( C ( 0 ) = 1 / 2 , C(u)=C(v)=1(u,v=1,2...,N-1))是变换系数。
在N=8的情况下,采用上述式(3)的1维DCT行列运算用以下的行列式表示。
**N=8**
X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7 =
0.353553 0.353553 0.353553 0.353553 0.353553 0.353553 0.353553 0.353553 0.490393 0.415735 0.277785 0.097545 - 0.097545 - 0.277785 - 0.415735 - 0.490393 0.461940 0.191342 - 0.191342 - 0.461940 - 0.461940 - 0.191342 0.191342 0.461940 0.415735 - 0.097545 - 0.490393 - 0.277785 0.277785 0.490393 0.097545 - 0.415735 0.353553 - 0.353553 - 0.353553 0.353553 0.353553 - 0.353553 - 0.353553 0.353553 0.277785 - 0.490393 0.097545 0.415735 - 0.415735 - 0.097545 0.490393 - 0.277785 0.191342 - 0.491940 0.491940 - 0.191342 - 0.191342 0.461940 - 0.461940 0.191342 0.097545 - 0.277785 0.415735 - 0.490393 0.490393 - 0.415735 0.277785 - 0.097545 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7
…式(4)
另外,N=7,N=6,N=5,N=4,N=3,N=2的情况,分别用下式表示。
**N=7**
X 0 X 1 X 2 X 3 X 4 X 5 X 6 = 0.377964 0.377964 0.377964 0.377964 0.377964 0.377964 0.377964 0.521121 0.417907 0.121921 0.000000 - 0.231921 - 0.417907 - 0.521121 0.481588 0.118942 - 0.333269 - 0.534522 - 0.333269 0.118942 0.481588 0.417907 - 0.231921 - 0.521121 - 0.000000 0.521121 0.231921 - 0.417907 0.333269 - 0.481588 - 0.118942 0.534522 - 0.118942 - 0.481588 0.333269 0.333269 - 0.481588 - 0.118942 0.534522 - 0.118942 - 0.481588 0.333269 0.231921 - 0.521121 0.417907 0.000000 - 0.417907 0.521121 - 0.231921 x 0 x 1 x 2 x 3 x 4 x 5 x 6
…式(5)
**N=6**
X 0 X 1 X 2 X 3 X 4 X 5 = 0.408248 0.408248 0.408248 0.408248 0.408248 0.408248 0.557678 0.408248 0.149429 - 0.149429 - 0.408248 - 0.557678 0.500000 0.000000 - 0.500000 - 0.500000 - 0.000000 0.500000 0.408248 - 0.408248 - 0.408248 0.408248 0.408248 - 0.408248 0.288675 - 0.577350 0.288675 0.288675 - 0.577350 0.288675 0.149429 - 0.408248 0.557678 - 0.557678 0.408248 - 0.149429 x 0 x 1 x 2 x 3 x 4 x 5
…式(6)
**N=5**
X 0 X 1 X 2 X 3 X 4 = 0.447214 0.447214 0.447214 0.447214 0.447214 0.601501 0.371748 0.000000 - 0.371748 - 0.601501 0.511667 - 0.195440 - 0.632456 - 0.195440 0.511667 0.371748 - 0.601501 - 0.000000 0.601501 - 0.371748 0.195440 - 0.511667 0.632456 - 0.511667 0.195440 x 0 x 1 x 2 x 3 x 4
…式(7)
**N=4**
X 0 X 1 X 2 X 3 = 0.500000 0.500000 0.500000 0.500000 0.635281 0.270598 - 0.270598 - 0.653281 0.500000 0.500000 - 0.500000 0.500000 0.270598 - 0.653281 0.653281 - 0.270598 x 0 x 1 x 2 x 3
…式(8)
**N=3**
X 0 X 1 X 2 = 0.577350 0.707107 0.408248 0.577350 0.000000 - 0.816497 0.577350 - 0.707107 0.408248 x 0 x 1 x 2
…式(9)
**N=2**
X 0 X 1 = 0.707107 0.707107 0.707107 - 0.707107 x 0 x 1
…式(10)
另一方面,1维反DCT的行列运算,在N=8的情况下,用下式表示。
**N=8**
x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 =
0.353553 0.490393 0.461940 0.415735 0.353553 0.277785 0.191342 0.097545 0.353553 0.415735 0.191342 - 0.097545 - 0.353553 - 0.490393 - 0.461940 - 0.277785 0.353553 0.277785 - 0.191342 - 0.490393 - 0.353553 0.097545 0.461940 0.415735 0.353553 0.097545 - 0.461940 - 0.277785 0.353553 0.415735 - 0.191342 - 0.490393 0.353553 - 0.097545 - 0.461940 0.277785 0.353553 - 0.415735 - 0.191342 0.490393 0.353553 - 0.277785 - 0.191342 0.490393 - 0.353553 - 0.097545 0.461940 - 0.415735 0.353553 - 0.415735 0.191342 0.097545 - 0.353553 0.490393 - 0.461940 0 . 277785 0.353553 - 0.490393 0.461940 - 0.415735 0.353553 - 0.277785 0.191342 - 0.097545 X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7
…式(11)
在N=7,N=6,N=5,N=4,N=3,N=2的情况下,分别用下式表示。
**N=7**
x 0 x 1 x 2 x 3 x 4 x 5 x 6 = 0.377964 0.521121 0.481588 0.417907 0.333269 0.231921 0.118942 0.377964 0.417907 0.118942 - 0.231921 - 0.481588 - 0.521121 - 0.333269 0.377964 0.231921 - 0.333269 - 0.521121 - 0.118942 0.417907 0.481588 0.377964 0.000000 - 0.534522 - 0.000000 0.534522 0.000000 - 0.534522 0.377964 - 0.231921 - 0.333269 0.521121 - 0.118942 - 0.417907 0.481588 0.377964 - 0.417907 0.118942 0.231921 - 0.481588 0.521121 - 0.333269 0.377964 - 0.521121 0.481588 - 0.417907 0.333269 - 0.231921 0.118942 X 0 X 1 X 2 X 3 X 4 X 5 X 6
…式(12)
**N=6**
x 0 x 1 x 2 x 3 x 4 x 5 = 0.408248 0.557678 0.500000 0.408248 0.288675 0.149429 0.408248 0.408248 0.000000 - 0.408248 - 0.577350 - 0.408248 0.408248 0.149429 0.500000 - 0.408248 0.288675 0.557678 0.408248 - 0.149429 - 0.500000 0.408248 0.288675 - 0.557678 0.408248 - 0.408248 - 0.000000 0.408248 - 0.577350 0.408248 0.408248 - 0.557678 0.500000 - 0.408248 0.288675 - 0.149429 X 0 X 1 X 2 X 3 X 4 X 5
…式(13)
**N=5**
x 0 x 1 x 2 x 3 x 4 = 0.447214 0.601501 0.511667 0.371748 0.195440 0.447214 0.371748 - 0.195440 - 0.601501 - 0.511667 0.447214 0.000000 - 0.632456 - 0.000000 0.632456 0.447214 - 0.371748 - 0.195440 0.601501 - 0.511667 0.447214 - 0.601501 0.511667 - 0.371748 0.195440 X 0 X 1 X 2 X 3 X 4
…式(14)
**N=4**
x 0 x 1 x 2 x 3 = 0.500000 0.653281 0.500000 0.270598 0.500000 0.270598 - 0.500000 - 0.653281 0.500000 - 0.270598 - 0.500000 0.653281 0.500000 - 0.653281 0.500000 - 0.270598 X 0 X 1 X 2 X 3
…式(15)
**N=3**
x 0 x 1 x 2 = 0.577350 0.707107 0.408248 0.577350 0.000000 - 0.816497 0.577350 - 0.707107 0.408248 X 0 X 1 X 2
…式(16)
**N=2**
x 0 x 1 = 0.707107 0.707107 0.707107 - 0.707107 X 0 X 1
…式(17)
图8是用于说明以往的DCT运算装置的一例的图,是展示该装置的构成的方框图。在图中,DCT运算装置1由以下部分组成:8位的输入寄存器2a、2b、2c、2d、2e、2f、2g、2h,它们用来锁存输入像素数据;8位的保持寄存器3a、3b、3c、3d、3e、3f、3g、3h,它们在分别锁存寄存器2a、2b、2c、2d、2e、2f、2g、2h的各输出数据之后,从各输出数据的最低位位(以后称为“LSB”。)开始每次一位移位输出;ROM累加器(以下称为“RAC”)4a、4b、4c、4d、4f、4e、4f、4g、4h,它们把上述各保持寄存器3a、3b、3c、3d、3e、3f、3g、3h的输出数据作为8位的地址,在累加器42a-42h中累加ROM(只读存储器)41a-41h的数据输出;输出寄存器5a、5b、5c、5d、5e、5f、5g、5h,它们锁存上述各RAC4a、4b、4c、4d、4f、4e、4f、4g、4h的输出数据并输出。
另外,上述各RAC4a、4b、4c、4d、4f、4e、4f、4g、4h,分别由以下部分构成:ROM41a-41h,它们具有包含对于在行列运算中的列系数,乘法运算构成被输入的行或者列的各像素数据的各位的结果的和的2的8次方个数据表;累加器42a-42b,它们累加该ROM41a-41h的输出。
这种传统技术的DCT运算电路,在行列运算中使用所谓的DA(distributed arithmetic)法。该DA法,是能够高效地进行固定系数的积和运算的运算方法,是以位列单位,而不是以通常的字单位处理各输入像素数据和固定系数的积和运算的方法。把由各输入像素数据的各自的位构成的位列作为地址,从预先把部分积的计算结果作为表存储的ROM中读出与此地址对应的部分积,通过从LSB(LeastSignificant Bit:最低位位)累加到MSB(Most Significant Bit:最高位位)实现固定系数的积和运算。该传统的DCT运算电路,通过把由N或者M像素的输入像素数据的各自的1位构成的位列和DCT系数的行系数进行乘法运算后的部分积的计算结果,与DCT系数的各行系数对应地作为表存储在RAC4a-4h各自的ROM41a-41h中,把由N或者M像素的输入像素数据的各自的1位构成的N或者M位的位列作为地址输入到各ROM41a-41h中,由此从ROM41a-41h输出部分积,把该部分积从各像素数据的LSB到MSB顺序输出并累加,就可以得到1维的DCT运算结果。
接着说明有关动作。
输入寄存器2a,锁存8位的输入像素数据,在每个输入周期从输入寄存器2a到输入寄存器2b、从输入寄存器2b到输入寄存器2c,进行把全部像素数据锁存在各输入寄存器2a、2b、2c、2d、2e、2f、2g、2h中的移位动作。其后,各输入寄存器2a、2b、2c、2d、2e、2f、2g、2h,向分别对应的各保持寄存器3a、3b、3c、3d、3e、3f、3g、3h输出锁存的像素数据。和以下的8个输入像素数据被锁存到各输入寄存器2a、2b、2c、2d、2e、2f、2g、2h的同时,各保持寄存器3a、3b、3c、3d、3e、3f、3g、3h,从锁存着的8位像素数据的最低位位开始,每次一位移位输出。各ROM41a、41b、41c、41d、41e、41f、41g、41h,把上述保持寄存器3a、3b、3c、3d、3e、3f、3g、3h输出的8位数据作为地址,输出与该地址对应的ROM数据。各累加器ROM42a、42b、42c、42d、42e、42f、42g、42h,累加分别对应的各ROM41a、41b、41c、41d、41e、41f、41g、41h输出的相当于8位大小程度的ROM数据,即,作为8位的数据输出。与各RAC4a、4b、4c、4d、4f、4e、4f、4g、4h对应的输出寄存器5a、5b、5c、5d、5e、5f、5g、5h,从输出寄存器5h向输出寄存器5g、从输出寄存器5g向输出寄存器5f,顺序进行上述各累加器42a、42b、42c、42d、42e、42f、42g、42h输出的数据的移位动作,输出被锁存的数据。
使用上述DCT运算装置1,例如在把8×8作为单位块进行像素数据的2维DCT运算的情况下,首先,通过对每一列方向的8个像素数据反复进行8次一连串的运算输出64个中间结果,其后,对该64个中间结果在行方向上进行1维DCT。
但是,传统的DCT运算装置,例如在把8×8作为单位块进行1维DCT运算或者反DCT运算的情况下,如果输入像素数据是8位则需要8个具备256个的ROM表数据,为了在1个装置中进行DCT运算和反DCT运算就需要8个具备512个的ROM数据表。另外,近年,根据像素信息的压缩标准,要求单位块的大小可变,但上述DCT装置因为只能对应把8×8作为单位块的像素数据,所以为了与8×8以外的例如以7×7、6×6、5×5、4×4等为单位块的像素数据对应,就分别需要7个具备256个ROM表、6个具备128个的ROM表、5个具备64个ROM表、4个具备32个ROM表的DCT装置。因而,为了对任意选择N×M的单位块的像素数据进行DCT运算以及反DCT运算,需要多个DCT运算装置,存在这些电路面积非常大的问题。
发明内容
本发明就是为了解决上述问题而提出的,其目的在于提供一种电路面积小的DCT运算装置,它可以对不同尺寸的单位块的像素数据进行DCT运算或者反DCT运算。
本发明,是对N×M单位块(N以及M是从1至8的任意整数)的图象数据的像素数据进行1维DCT运算或者反DCT运算的DCT运算装置,包括:位限制单元,它以每次1行,或者每次一列输入N×M单位块的图象数据的像素数据,以每次一位限制输出构成被输入的行或者列的各像素数据;控制单元,它输出包含表示作为构成上述被输入的各行或者各列的像素数据的输入像素数据数,以及,表示是进行DCT运算或者反DCT运算之一的值的控制信号;笫1蝶式运算单元,它在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂的值,并且表示进行DCT运算的情况下,对上述位限制单元的输出进行蝶式运算,输出其运算结果,在其它情况下,不进行蝶式运算,直接输出上述位限制单元的输出;地址发生单元,它根据从上述笫1蝶式运算单元的输出得到的位列,和被包含在上述控制信号中的表示输入像素数据数,以及表示是进行DCT运算或者反DCT运算之一的值,生成地址并输出;运算单元,它具有8组与上述地址对应地输出用于求得1维DCT运算结果以及反DCT运算结果的乘法运算结果的乘法运算结果输出单元,和累加该乘法运算结果输出单元的输出的累加单元;第2蝶式运算单元,它在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂的值,并且表示进行DCT运算的情况下,对上述运算单元的输出进行蝶式运算,把其运算结果与输入像素数据的顺序对应地输出,在其它情况下,不进行蝶式运算,而使上述运算单元的输出与输入像素数据的顺序对应地输出。由此,可以减小用于求DCT运算结果以及反DCT运算结果所使用的乘法运算结果的数据的量,可以减小输出该数据的乘法运算结果输出单元的数据容量,可以得到回路面积小的DCT运算装置。
另外,本发明设置成,上述地址发生单元进行如下操作从而根据上述第1蝶式运算单元的输出、输入像素数据数、表示是进行DCT运算或者反DCT运算之一的值生成地址,在上述控制信号,表示上述输入像素数据数的值M或者N是7、6、5、3之一的情况下,对根据上述第1蝶式运算装置的输出构成的7、6、5、3位的各个位列,生成附加了包含表示是否进行DCT运算或者反DCT运算之一的值并且表示上述输入像素数据数的值的2、3、4、6位的各自的头地址的地址;在上述控制信号,表示上述输入像素数据数是8、4、2之一的情况下,并且表示进行DCT运算的情况下,对通过上述笫1蝶式运算单元蝶式运算的加法运算结果构成的4、2、1位的各自的位列,以及根据减法运算结果构成的4、2、1位的各自的位列,生成附加了包含用于表示进行DCT运算的值并且表示上述输入像素数据数的值的5、7、8位的各自的头地址的地址;在上述控制信号,表示上述输入像素数据数是8、4、2之一的情况下,并且表示进行反DCT运算的情况下,对根据上述第1蝶式运算单元的8、4、2位的各自的输出构成的4、2、1位的各自的位列,生成附加了包含用于表示进行反DCT运算的值并且表示上述输入像素数据数的值的5、7、8位的各自的头地址的地址,并且,作为上述头地址,对于根据上述笫1蝶式运算单元的输出构成的地址,附加这样的位列,即通过附加该头地址得到的全部地址,成为连续的地址。由此,可以以在乘法运算结果输出单元内不产生多余区域那样的高效率变换乘法运算输出单元,可以消减乘法运算结果输出单元的大小,可以使DCT运算装置的电路面积更小。
另外,本发明设置成,上述乘法运算结果输出单元通过如下操作生成上述乘法运算结果,在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂,并且表示进行DCT运算的情况下,输出在进行了快速傅立叶变换的DCT的行列运算中的从上述第1蝶式运算单元的输出得到的与位列有关的乘法运算结果;在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂以外的值,并且表示进行DCT运算的情况下,输出在DCT的行列运算中的与从上述第1蝶式运算单元的输出得到的有关位列的乘法运算结果;在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂的值,并且表示进行反DCT运算的情况下,输出在进行了快速傅立叶变换的反DCT的行列运算中的与从上述第1蝶式运算单元的输出得到的与位列有关的乘法运算结果;在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂以外的值,并且表示进行反DCT运算的情况下,输出在反DCT行列运算中的与从上述第1蝶式运算单元输出中得到的与列位有关的乘法运算结果。由此,可以使DCT运算装置的电路面积更小。
另外,本发明设置成,上述DCT运算装置,在控制信号表示输入像素数据数是8以外的值的情况下,停止在运算中尚未使用的单元的动作。由此,可以消减消耗电力。
另外,本发明,是对N×M单位块(N以及M是1以上的任意整数)的图象数据的像素数据进行1维的DCT运算的DCT运算装置,包括:位限制单元,它以每次1行或者每次1列输入N×M单位块的图象数据的像素数据,把构成输入的行或者列的各像素数据限制为每次输出1位;控制单元,它输出表示作为构成上述输入的各行或者各列的像素数据数的输入像素数据数的控制信号;蝶式运算单元,它在该控制单元输出的控制信号,表示上述输入像素数据数是2的幂的情况下,对上述位限制单元的输出进行蝶式运算,输出其运算结果,在其它的去,不进行蝶式运算,而直接输出上述位限制单元的输出;地址发生单元,它使用从上述蝶式单元的输出中得到的位列和包含在上述控制信号中的输入像素数据数生成地址并输出;运算单元,它具备与上述地址对应输出用于求1维的DCT运算结果的乘法运算结果的乘法运算结果输出单元,以及累加上述乘法运算结果输出单元输出的乘法运算结果并输出的累加电路的组,组数与上述输入像素数据数的最大值对应;输出单元,它对应输入的素数据的顺序输出上述运算单元的输出,作为1维DCT运算结果输出。由此,可以减小成为用于求DCT运算结果的乘法运算结果的数据的量,可以减小输出该数据的乘法运算结果输出单元的数据容量,可以得到电路面积小的DCT运算装置。
另外,本发明设置成,上述地址发生单元,进行如下操作从而生成作为根据上述蝶式运算单元的输出和上述输入像素数据数生成的地址,在上述控制信号,表示上述输入像素数据数是2的幂以外的值的前情况下,对根据上述蝶式运算单元的输出构成的和输入像素数据数具有相同位数的地址,生成附加了用于表示上述输入像素数据数的值的头地址的地址;在上述控制信号,表示上述输入像素数据数是2的幂的情况下,对根据由上述蝶式运算单元蝶式运算出的加法运算结果构成和上述输入像素数据数的一半具有同样位数的位列,以及根据减法运算结果构成和上述输入像素数据数的一半具有相同位数的位列的各自,生成附加了用于表示上述像素输入像素数据数的值的头地址的地址,并且,作为上述头地址,对根据上述蝶式运算单元的输出构成的地址,附加这样的位列,即通过附加该头地址得到的全部的地址成为连续的地址,并且其位数成为和上述输入像素数据数的最大值是相同位数。由此,可以以在乘法运算结果输出单元内不发生多余区域那样的高效率,变换乘法运算结果输出单元,可以消减乘法运算结果输出单元的大小,可以使DCT运算装置的电路面积更小。
另外,本发明设置成,上述蝶式运算装置,对像素数据进行顺序相互加法运算,以及顺序相互减法运算,所谓顺序相互加法运算以及顺序相互减法运算,是把以每次一行或者每次一列输入到位限制电路中并且以每次限制一位输出的像素数据,从被输入的列或者行的两端向内侧顺序相互加法运算以及减法运算。
另外,本发明设置成,上述乘法运算结果输出单元,进行如下操作以生成乘法运算结果,在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂的情况下,输出在进行了快速傅立叶变换的DCT的行列运算中的从上述蝶式运算单元的输出得到的与位列有关的乘法运算结果;在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂以外的值的情况下,输出在DCT的行列运算中,从上述蝶式运算单元的输出得到的与位列有关的乘法运算结果。由此,可以使DCT运算装置的电路面积更小。
另外,本发明,是对N×M单位块(N以及M是1以上的任意的整数)的图象数据的像素数据进行1维的反DCT运算的DCT运算装置,包括:位限制单元,它把N×M单位块的图象数据的像素数据以每次一行或者每次一列输入,把构成输入的行或者列的各像素数据限制为每次输出一位;控制单元,它输出表示作为构成上述输入的各行或者各列的像素数据数的输入像素数据数的控制信号;地址发生单元,它用从上述位限制单元的输出中得到的位列和被包含在上述控制信号中的输入像素数据数生成地址并输出;运算单元,它具备与上述地址对应输出用于求1维的DCT运算结果的乘法运算结果输出单元,以及累加上述乘法运算结果输出单元输出的乘法运算结果并输出的累加电路的组,其组数与上述输入像素数据数的最大值对应;蝶式运算单元,它在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂的情况下,对上述运算单元的输出进行蝶式运算,把其运算结果与输入像素数据的顺序对应地输出,在其它情况下,不进行蝶式运算,而使上述运算单元的输出与输入像素数据的顺序对应地输出。由此,可以使成为用于求反DCT运算结果的乘法运算结果的数据的量减小,可以使输出该数据的乘法运算结果输出单元的数据容量减小,可以得到电路面积小的的DCT运算装置。
另外,本发明设置成,上述地址发生单元,进行如下操作根据上述位限制单元的输出和上述输入像素数据数生成地址,在上述控制信号,表示上述输入像素数据数是2的幂以外的值的情况下,对根据上述位限制单元的输出构成的成为和上述输入像素数据数相同位数的位列,生成附加了用于表示上述输入像素数据数的值的头地址的地址;在上述控制信号,表示上述输入像素数据数是2的幂的情况下,对根据上述位限制单元的输出构成的,成为和上述输入像素数据数的一半具有相同位数的位列的各自,生成附加了用于表示上述输入像素数据数的值的头地址的地址,并且,作为上述头地址,对于根据上述位限制单元的输出构成的地址,附加这样的位列,即,通过附加该头地址得到全部的地址成为连续的地址,并且其位数,成为和构成上述被输入的行或者列的输入像素数据数的最大值同样的位数。由此,可以以在乘法运算结果输出单元内不产生多余区域那样的高效率,变换乘法运算输出单元,可以消减乘法运算结果输出单元的大小,可以使DCT运算装置的电路面积更小。
另外,本发明设置成,上述蝶式运算单元,对根据上述运算单元输出的以每次一行或者每次一列输入的像素数据中的根据在奇数位的像素数据求得的上述乘法运算结果进行了累加的值,和根据在偶数位的像素数据求得的上述乘法运算结果进行了累加的值进行加法运算以及减法运算。由此,可以进一步缩小DCT运算装置的电路面积。
另外,本发明设置成,上述乘法运算结果输出单元,作为上述乘法运算结果,在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂的情况下,输出在进行快速傅立叶变换的反DCT行列运算中的从上述第1蝶式运算单元的输出得到的与位列有关的乘法运算结果,在上述控制单元输出的控制信号,表示上述输入像素数据数是2的幂以外的值的情况下,输出在反DCT行列运算中的从上述第1蝶式运算单元输出得到的与位列有关的乘法运算结果。由此,可以进一步减小DCT运算装置的电路面积。
另外,本发明,其中,输入到上述位限制单元的像素数据单位块是N×M单位块(N以及M是从1到8的任意的值),上述运算单元中所具备的包含乘法运算结果输出单元和累加单元的组,具有作为上述输入像素数据数的最大值的8组。由此,可以使DCT运算装置的电路面积更小。
另外,本发明设置成,上述位限制单元,在作为被输入的各像素数据输入16位的数据的同时,把该16位的数据限制为每次输出2位,上述运算单元,作为上述各乘法运算结果输出单元,具备相互并列设置的分别输出上述乘法运算结果的2个乘法运算结果输出部分,用上述累加单元累加对这2个乘法运算结果输出部分的输出进行加法运算后的数据。由此,在输入像素数据是16位的数据的情况下,可以进一步减小DCT运算单元的电路面积。
另外,本发明中的上述DCT运算单元,在控制信息表示构成被输入的行或者列的输入像素数据数的值是上述输入像素数据数的最大值以外的值的情况下,停止尚未使用的单元的动作。由此,可以消减消耗电力。
附图说明
图1是本发明的实施例1的DCT运算装置的构成的方框图。
图2是本发明的实施例1的第1蝶式运算电路的内部构成的图。
图3是本发明的实施例1的第2蝶式运算电路的内部构成的图。
图4是本发明的实施例1的ROM地址的变换图。
图5是本发明的实施例1的ROM使用数据容量的变换图。
图6是用于说明对于本发明的实施例1的8×7像素块的DCT运算的概略图。
图7是用于说明对于本发明的实施例1的6×4像素块的反DCT运算的概略图。
图8是以往的DCT运算装置的构成的方框图。
图9是本发明的实施例4的DCT运算装置的构成的方框图。
图10是本发明的实施例4的运算装置的构成的方框图。
图11是本发明的实施例4的DCT运算装置的构成的方框图。
具体实施方式
本实施例1的DCT装置,以每次一列或者每次一行输入以N×M(N,M是从1至8的任意整数)的像素数据构成的单位块的像素数据,在对它们进行DCT运算或者反DCT运算的同时,尤其在N或者M是2的幂的情况下,即,在N=8、N=4、N=2的情况下,利用频移形快速傅立叶变换(以下,称为“FFT”。)。
如果使用上述FFT,则上述DCT的行列运算,在N=8的情况下用下式表示。
**N=8**
X 0 X 2 X 4 X 6 = 0.353553 0.353553 0.353553 0.353553 0.461940 0.191342 - 0.191342 - 0.461940 0.353553 - 0.353553 - 0.353553 0.353553 0.191342 - 0.461940 0.461940 - 0.191342 x 0 + x 7 x 1 + x 6 x 2 + x 5 x 3 + x 4
X 1 X 3 X 5 X 7 = 0.490393 0.415735 0.277785 0.097545 0.415735 - 0.097545 - 0.490393 - 0.277785 0.277785 - 0.490393 0.097545 0.415735 0.097545 - 0.277785 0.415735 - 0.490393 x 0 - x 7 x 1 - x 6 x 2 - x 5 x 3 - x 4
…式(18)
在N=4的情况下,用下式表示。
**N=4**
X 0 X 2 = 0.500000 0.500000 0.500000 - 0.500000 x 0 + x 3 x 1 + x 2
…式(19)
X 1 X 3 = 0.653281 0.270598 0.270598 - 0.653281 x 0 - x 3 x 1 - x 2
在N=2的情况下,用下式表示。
**N=2**
X 0 X 1 = 0.707107 0.707107 x 0 + x 1 x 0 - x 1
…式(20)
另一方面,反DCT的行列运算,在N=8的情况下,用下式表示。
**N=8**
x 0 x 1 x 2 x 3 = 0.353553 0.461940 0.353553 0.191342 0.353553 0.191342 - 0.353553 - 0.461940 0.353553 - 0.191342 - 0.353553 0.461940 0.353553 - 0.461940 0.353553 - 0.191342 X 0 X 2 X 4 X 6
x 7 x 6 x 5 x 4 = 0.353553 0.461940 0.353553 0.191342 0.353553 0.191342 - 0.353553 - 0.461940 0.353553 - 0.191342 - 0.353553 0.461940 0.353553 - 0.461940 0.353553 - 0.191342 X 0 X 2 X 4 X 6
+ 0.490393 0.415735 0.277785 0.097545 0.415735 - 0.097545 - 0.490393 - 0.277785 0.277785 - 0.490393 0.097545 0.415735 0.097545 - 0.277785 0.415735 - 0.490393 X 1 X 3 X 5 X 7
- 0.490393 0.415735 0.277785 0.097545 0.415735 - 0.097545 - 0.490393 - 0.277785 0.277785 - 0.490393 0.097545 0.415735 0.097545 - 0.277785 0.415735 - 0.490393 X 1 X 3 X 5 X 7
…式(21)
在N=4的情况下,用下式表示。
**N=4**
x 0 x 1 = 0.500000 0.500000 0.500000 - 0.500000 X 0 X 2 + 0.653281 0.270598 0.270598 - 0.653281 X 1 X 3
x 3 x 2 = 0.500000 0.500000 0.500000 - 0.500000 X 0 X 2 - 0.653281 0.270598 0.270598 - 0.653281 X 1 X 3
…式(22)
在N=2的情况下,用下式表示。
**N=2**
x 0 = 0.707107 X 0 + 0.707107 X 1
…式(23)
x 1 = 0.707107 X 0 - 0.707107 X 1
如这些算式所示,通过利用FFT,就可以大幅度消减行列运算的运算量。
在本实施例1中,通过利用所谓的蝶式运算,就可以对DCT运算或者反DCT运算的行列式适用FFT,可以用少的运算量执行DCT运算或者反DCT运算。
以下,说明有关本DCT运算装置的构成。
图1,是用于说明本实施例1的DCT运算装置的图,是展示该装置的构成的方框图。在图中,DCT运算装置100由以下部分构成:控制电路101,它输出表示构成N×M的单位块的像素数据的个数N以及M的信号;位限制电路102,它对被输入的8位的各像素数据的LSB限制每次输出1位;第1蝶式运算电路103,它对该位限制电路102的输出进行蝶式运算;ROM地址发生电路104,它根据该第1蝶式运算电路103的输出,生成ROM地址;RAC105,它读出与该ROM地址对应的ROM数据并累加;第2蝶式运算电路106,它对该RAC105的输出进行蝶式运算。
另外,上述RAC105由以下部分构成:ROM0、ROM1、ROM2、ROM3、ROM4、ROM5、ROM6、ROM7,它们用于进行DCT运算以及反DCT运算;累加电路51a、51b、51c、51d、51e、51f、51g、51h,它们累加各ROM的输出。在本实施例1中,ROM0~7是1个ROM内的多个ROM区域。
该DCT运算电路设置成,在行列运算中使用DA法,把在DCT的行列运算、反DCT的行列运算、快速傅立叶变换后的DCT的行列运算,以及快速傅立叶变换后的反DCT的行列运算的各自中的,通过从第1蝶式运算电路103的各输出中以每次1位取出数据得到的与位列有关的乘法运算结果,在ROM0~ROM7的各自中作为表存储,把从第1蝶式运算电路103的各输出得到的位列作为地址输入各ROM,由此通过从ROM输出上述乘法运算结果,把该乘法运算结果从各像素数据的LSB到MSB顺序输出,在累加电路51a~51h中累加,就可以得到行列运算结果。
进而,在上述ROM0~ROM7中,存储作为与上述像素数据的数N或者M是2的幂的情况有关的乘法运算结果,在进行了快速傅立叶变换的DCT以及反DCT的行列运算中的从第1蝶式运算电路103的输出得到的与位列有关的乘法运算结果;存储作为与上述像素数据的数N或者M是2的幂以外的值的情况有关的乘法运算结果,在不进行快速傅立叶变换的通常的DCT以及反DCT的行列运算中的从第1蝶式运算电路103的输出得到的与位列有关的乘法运算结果。
即,从第1蝶式运算电路103的以位为单位的输出得到的位列和在上述的式(5)~式(7)、式(9)、式(12)~式(14)、式(16)以及式(18)~式(23)中所示的行列运算的系数的部分积的计算结果作为表被存储在ROM0~ROM7中。
进而,因为成为输入像素数据数的N或者M的值可变,所以ROM和累加电路的组数被设置成N或者M的值的最大数,在此是8组。另外,在本实施例1中,因为N或者M的值可变,在DCT运算以及反DCT运算中使用的系数也改变,所以在各ROM0~ROM7中,分别存储与N或者M的值变化的情况适应的部分积的结果。
图2,是上述第1蝶式运算电路103的内部构成的一例的方框图。该第1蝶式运算电路103,在控制信号是进行DCT运算的情况下,表示像素数据的个数N或者M是2的幂,即在2、4、8的情况下进行蝶式运算,在除此以外的情况下不进行蝶式运算输出数据,其构成包括:数据线30a、30b、30c、30d、30e、30f、30g、30h,它们以上述位限制电路102输出的各像素数据的位信号作为输入;第1选择电路31a,它在控制信号表示N或者M是8的情况下选择数据线30h,在控制信号表示N或者M是4的情况下选择数据线30d,在控制信号表示N或者M是2的情况下选择数据线30d;第2选择电路31b,它在控制信号表示N或者M是8的情况下选择数据线30g,在控制信号表示N或者M是4的情况下选择数据线30c;第1加法运算电路32a,它加法运算从数据线30a和第1选择电路31a输入的数据;第2加法运算电路32b,它加法运算从数据线30b和第2选择电路31b输入的数据;第3加法运算电路32c,它加法运算从数据线30c和数据线30d输入的数据;第4加法运算电路32d,它加法运算从数据线30d和数据线30e输入的数据;第1减法运算电路33a,它减法运算从数据线30d和数据线30e输入的信号;第2减法运算电路33b,它减法运算从数据线30c和数据线30f输入的数据;第3减法运算电路33b,它减法运算从数据线30b和第2选择电路31b输入的数据;第4减法运算电路33d,它减法运算从数据线30a和第1选择电路31a输入的数据。该第1蝶式运算电路104,输出顺序相互加法运算像素数据的值,以及顺序相互减法运算像素数据的值的蝶式运算,所谓顺序相互加法运算以及顺序相互减法运算像素数据,是把以每次1行或者每次1列输入到位限制电路102中,并且以每次1位限制输出的像素数据,从被输入的列或者行的两端向内侧顺序相互进行加法运算以及减法运算。
图3是上述第2蝶式运算电路106的内部构成的一例的方框图。该第2蝶式运算电路106,在控制信号表示进行反DCT运算的情况,表示像素数据的个数的N或者M是2的幂,即在2、4、8的情况下进行蝶式运算,在除此以外的情况下不进行蝶式运算输出数据,其构成包括:寄存器60a、60b、60c、60d、60e、60f、60g、60h,它们锁存上述RAC105的各累加电路51a、51b、51c、51d、51e、51f、51g、51h的输出;寄存器61a,它锁存上述各寄存器60a、60c、60e、60g的输出;寄存器61b,它锁存上述各寄存器60b、60d、60f、60h的输出;加法运算器,62,它加法运算从上述寄存器61a和寄存器61b输入的数据;寄存器63,它锁存该加法运算器62的输出。该第2蝶式运算电路106,将上述RAC105输出的在以上述每次1行或者每次1列输入的像素数据中的奇数位上的像素数据和由FFT得到的行列系数的运算结果,和偶数位上的像素数据和由FFT得到的行列系数的运算结果进行加法运算和减法运算,并输出结果值。
接着,说明由ROM地址发生电路104生成的ROM地址。该ROM地址发生电路104,直接利用由第1蝶式运算电路103的输出构成的位列,通过在其上加头地址设置成地址,进而就是加这样的头地址,即,加上该头地址的结果,得到的全部的地址,就成为连续的地址。该头地址,根据控制电路101输出的控制信号表示的,表示N或者M的值,和表示进行DCT运算或者反DCT运算之一的值确定。
如图4所示,在N或者M的值是7的情况下的DCT运算中,在根据从第1蝶式运算电路103的各数据线30g、30f、30e、30d、30c、30b、30a输出的信号A6、A5、A4、A3、A2、A1、A0构成的7位的信号上,在作为其高位位的A7上附加0,进而,在由信号A7、A6、A5、A4、A3、A2、A1、A0组成的8位的信号上,附加表示进行DCT运算的值0组成9位的信号,把它作为ROM地址生成。
同样,在N或者M的值是6的情况下的DCT运算中,在根据从第1蝶式运算电路103的各数据线30f、30e、30d、30c、30b、30a输出的信号A5、A4、A3、A2、A1、A0构成的6位的信号上,在作为其高位位的A7、A6上分别附加1、0,在N或者M的值是5的情况下,在根据从第1蝶式运算电路103的各数据线30e、30d、30c、30b、30a输出的信号A4、A3、A2、A1、A0构成的5位的信号上,在作为其高位位的A7、A6、A5上分别附加1、1、0,在N或者M的值是8的情况下,在根据从第1蝶式运算电路103的数据线34a、34b、34c、34d,或者数据线34e、34f、34g、34h输出的信号A3、A2、A1、A0构成的4位信号上,在作为其高位位的A7、A6、A5、A4上分别附加1、1、1、0,在N或者M的值是3的情况下,在根据从第1蝶式运算电路103的各数据线30c、30b、30a输出的信号A2、A1、A0构成的3位信号上,在作为其高位位的A7、A6、A5、A4、A3上分别附加1、1、1、1、0,在N或者M的值是4的情况下,在根据从第1蝶式运算电路103的数据线34a、34b,或者34e、34f输出的信号A1、A0构成的2位信号上,在作为其高位位的A7、A6、A5、A4、A3、A2上分别附加1、1、1、1、1、0,在N或者M的值是2的情况下,在基于从第1蝶式运算电路103的数据线34a,或者数据线34e输出的信号A0的1位信号上,在作为其高位位的A7、A6、A5、A4、A3、A2、A1上分别附加1、1、1、1、1、1、0,进而,把在由上述各A7、A6、A5、A4、A3、A2、A1、A0组成的8位信号上,附加表示是DCT运算的0组成的9位的信号作为ROM地址生成。
当进行反DCT运算的情况下,在由各A7、A6、A5、A4、A3、A2、A1、A0组成的8位的信号上,在其最高位上附加1,生成ROM地址。
即,在N或者M的值是7的情况下的反DCT运算中,在根据从第1蝶式运算电路103的各数据线30g、30f、30e、30d、30c、30b、30a输出的信号A6、A5、A4、A3、A2、A1、A0构成的7位的信号上,在作为其高位位的A7上附加0,进而,把在由该信号A7、A6、A5、A4、A3、A2、A1、A0组成的8位的信号上,附加表示是反DCT运算的1组成的9位的信号作为ROM地址生成。
同样,在N或者M的值是6的情况下的反DCT运算中,在根据从第1蝶式运算电路103的各数据线30f、30e、30d、30c、30b、30a输出的信号A5、A4、A3、A2、A1、A0构成的6位的信号上,在作为其高位位的A7、A6上分别附加1、0,在N或者M的值是5的情况下,在根据从第1蝶式运算电路103的各数据线30e、30d、30c、30b、30a输出的信号A4、A3、A2、A1、A0构成的5位的信号上,在作为其高位位的A7、A6、A5上分别附加1、1、0,在N或者M的值是8的情况下,在根据从第1蝶式运算电路103的数据线30g、30e、30c、30a,或者数据线30h、30f、30d、30b输出的信号A3、A2、A1、A0构成的4位的信号上,在作为高位位的A7、A6、A5、A4上分别附加1、1、1、0,在N或者M的值是3的情况下,在根据从第1蝶式运算电路103的各数据线30c、30b、30a输出的信号A2、A1、A0构成的3位的信号上,在作为其高位位的A7、A6、A5、A4、A3上分别附加1、1、1、1、0,在N或者M的值是4的情况下,在根据从第1蝶式运算电路103的各数据线30c、30a,或者30d、30b输出的信号A1、A0构成的2位的信号上,在作为其高位位的A7、A6、A5、A4、A3、A2上分别附加1、1、1、1、1、0,在N或者M的值是2的情况下,在基于从第1蝶式运算电路103输出的数据线30a,或者30b输出的信号A0的1位的信号上,在作为其高位位的A7、A6、A5、A4、A3、A2、A1上分别附加1、1、1、1、1、1、0,进而,把在由上述各A7、A6、A5、A4、A3、A2、A1、A0组成的8位的信号上,附加表示是反DCT运算的1组成的9位的信号作为ROM地址生成。
在ROM地址发生电路104中,通过生成上述那样的地址,就可以把RAC具有的对各ROM的地址的数据数设置成512个。但是,包含图4所示的4个未使用地址的数据部分。
图5是被记录在RAC105的各ROM中的ROM数据的变换图。在N或者M为从1到8的情况下的用于进行DCT运算或者反DCT运算的乘法运算结果,对应ROM地址,被存储在ROM0、ROM1、ROM2、ROM3、ROM4、ROM5、ROM6、ROM7中。
以下,说明该DCT运算装置100的动作。
在此,说明以8×7构成的像素数据为输入,用该DCT装置100进行DCT运算的情况。
首先,控制电路101,输出表示输入像素数据的个数N或者M,和进行DCT运算或者反DCT运算的信号。这种情况下,是表示N=8、M=7、进行DCT运算的信号。接着,位限制电路102,把输入的列方向的8个像素数据,从各像素数据的LSB开始以每次1位输出。第1蝶式运算电路103,接收表示N=8的信号,进行用式(18)表示的蝶式运算。即,第1选择电路31a选择数据线30h,第2选择电路31b选择数据线30g。第1加法运算电路32a加法运算由被第1选择电路31a选择出的数据线30h输入的信号,和由数据线30a输入的信号。另外,第2加法运算电路32b加法运算由被第2选择电路31b选择出的数据线30g输入的信号,和由数据线30b输入的信号。进而,第3加法运算电路32c加法运算从数据线30c和数据线30f输入的数据,第4加法运算电路32d加法运算从数据线30d和数据线30e输入的数据。
另一方面,第1减法运算电路33a减法运算从数据线30d和数据线30e输入的信号,第2减法运算电路33b减法运算从数据线30c和数据线30f输入的数据。进而,第3减法运算电路33c减法运算从被上述第2选择电路31b选择出的数据线30g,和由数据线30b输入的数据,第4减法运算电路33d,减法运算从被上述第1选择电路31a选择出的数据线30h,和数据线30a输入的数据。
第1蝶式运算电路103这样进行蝶式运算。该算式,执行式(18)的右边所示的,x0+x7、x1+x6、x2+x5、x3+x4、x0-x7、x1-x6、x2-x5、x3-x4的加减运算。
ROM地址发生电路104,根据上述第1蝶式运算电路103的输出,生成ROM地址信号输出。即,ROM地址发生电路104,在以上述x0+x7、x1+x6、x2+x5、x3+x4所表示的信号顺序构成的4位的信号上,在该4位信号的高位5位上附加01110,生成9位的ROM地址。该ROM地址,被输出到RAC105的ROM0、ROM2、ROM4、ROM6中。另外,ROM地址发生电路104,在以上述x0-x7、x1-x6、x2-x5、x3-x4所表示的信号顺序构成的4位的信号上,在第4位的上记5位上附加01110,生成9位的ROM地址。该ROM地址,被输出到RAC的ROM1、ROM3、ROM5、ROM7中。
RAC105的ROM0、ROM1、ROM2、ROM3、ROM4、ROM5、ROM6、ROM7,输出由ROM地址发生电路104生成的与ROM地址对应的数据,累加各ROM的输出的累加电路51a、51b、51c、51d、51e、51f、51g、51h,累加各ROM的输出后输出。由此,算出式(18)所示的X0、X2、X4、X6、X3、X5、X7。
第2蝶式运算电路106,把RAC的各累加电路51a、51b、51c、51d、51e、51f、51g、51h的输出,作为DCT运算后的8个像素数据输出。即,第2蝶式运算电路106的各寄存器60a、60b、60c、60d、60e、60f、60g、60h,锁存RAC105的各累加电路51a、51b、51c、51d、51e、51f、51g、51h的输出信号,按照被输入的顺序从上述各寄存器输出。
这样,重复7次对在列方向上每次输入的8个像素数据的一连串的运算(图6(a)),由此输出相对56个像素数据的中间结果结束1维DCT运算(图6(b))。
接着,对于上述56个中间结果(图6(b)),在行方向上每次以7个像素数据输入DCT运算装置100。这种情况下,执行式(5)所示的运算。用和上述相同的动作,重复8次对每输入7个像素数据的一连串运算(图6(c)),由此结束对56个像素数据的2维DCT运算(图6(d))。
进而,在这种情况下,因为第8个像素数据不存在,所以上述位限制电路102,对应7个输入像素数据进行位限制动作,另外,RAC105的ROM7以及累加电路51h,不进行动作。
接着,说明以用6×4构成的像素数据作为输入,由该DCT装置100进行反DCT运算的情况。
首先,控制电路101,输出表示输入像素数据的个数N或者M,和进行DCT运算或者反DCT运算的信号。这种情况下,是表示N=6、N=4、进行反DCT运算的信号。接着,位限制电路102,从各像素数据的LSB开始以每次1位输出已被输入的列方向的6个像素数据。第1蝶式运算电路103,接收N=6以及表示反DCT的信号,不进行蝶式运算,而直接输出输入像素数据。
ROM地址发生电路104,根据上述第1数据运算电路103的输出,生成ROM地址信号并输出。
当N=6的情况下,ROM地址发生电路104,在按照信号A5、A4、A3、A2、A1、A0的顺序构成的6位信号上,在该6位信号的高位3位上附加110,生成9位的ROM地址。该ROM地址,被输出到RAC105的ROM0、ROM1、ROM2、ROM3、ROM4、ROM5。
RAC105的ROM0、ROM1、ROM2、ROM3、ROM4、ROM5,输出由ROM地址发生电路104生成的与ROM地址对应的数据,累加各ROM输出的累加电路51a、51b、51c、51d、51e、51f,累加各ROM的输出后输出。由此算出式(13)所示的X0、X1、X2、X3、X4、X5。
进而,RAC105的ROM6、ROM7,以及累加电路51g、51h,因为对应的输入像素数据不存在,所以不动作。
第2蝶式运算电路,接收N=6以及表示反DCT运算的控制信号,把RAC105的各累加电路51a、51b、51c、51d、51e、51f的输出,作为被反DCT运算后的6个像素数据输出。即,第2蝶式运算电路106的各寄存器60a、60b、60c、60d、60e、60f,锁存RAC105的各累加电路51a、51b、51c、51d、51e、51f的输出信号,按照被输入的顺序从各寄存器输出。
这样,重复4次对在列方向上每输入6个像素数据的一连串运算(图7(a)),由此输出相对24个像素数据的中间结果结束1位DCT运算(图7(b))。
接着,上述24个中间结果(图7(b)),在行方向上以每次4个像素数据输入DCT运算装置100。在此,也和上述的动作一样,重复6次对输入的每4个像素数据的一连串的运算(图7(c)),由此,结束对于24个像素数据的2维DCT运算(图7(d))。
即,控制电路101,输出表示M=4、进行反DCT运算的信号。接着,位限制电路102,从各像素数据的LSB开始以每次一位输出已被输入的行方向的4的像素数据。第1蝶式运算电路103,接收表示M=4以及反DCT的信号,不进行蝶式运算,而直接输出被限制为每次一位的输入像素数据。
ROM地址发生电路104,根据上述第1蝶式运算电路103的输出,生成并输出ROM地址信号。即,在作为RAC105的数据线30c、30a,或者数据线30d、30b的输出的2位信号上,在该2位信号的高位7位上附加0111110,生成9位的ROM地址。该ROM地址,被输出到RAC的ROM0、ROM2,或者ROM1、ROM3。
RAC105的ROM0、ROM1、ROM2、ROM3,输出由ROM地址发生电路104生成的与ROM地址对应的数据,累加各ROM的输出的累加电路51a、51b、51c、51d,累加各ROM的输出后输出。
第2蝶式运算电路,接收表示M=4以及反DCT运算的控制信号,蝶式运算并输出RAC105的各累加电路51a、51b、51c、51d的输出。即,在各寄存器60a、60b、60c、60d中锁存RAC105的各累加电路51a、51b、51c、51d的输出。寄存器61a,按照寄存器60a的输出、寄存器60c的输出、寄存器60a的输出、寄存器60c的输出的顺序,进行4次数据的锁存。另一方面,寄存器61b,按照寄存器60b的输出、寄存器60d的输出、寄存器60b的反转输出、寄存器60d的反转输出的顺序,进行4次数据的锁存。加法运算器62,顺序加法运算寄存器61a的输出和寄存器61b的输出。由此,可以算出式(22)所示的x0、x1、x2、x3。寄存器63顺序锁存上述加法运算器62的输出后输出。
这样一来,如果采用本实施例1的DCT运算装置,则通过用表示N或者M的值,以及表示DCT运算或者反DCT运算的控制信号,控制第1蝶式运算电路103以及第2蝶式运算电路106进行的蝶式运算,ROM地址生成电路104生成与N或者M单位块的像素数据的DCT运算或者反DCT运算对应的ROM地址,就可以在1个DCT运算装置中,进行由从1到8的任意整数构成的N×M单位块的像素数据的DCT运算以及反DCT运算。由此,可以得到电路面积小的上述DCT运算装置。
另外,因为,设置第1蝶式运算电路103以及第2蝶式运算电路106,在N或者M的值是2的幂的情况下,利用蝶式运算,所以,具有以下效果:可以通过在行列运算中利用FFT减少运算量,可以减少被存储在ROM中的成为用于求DCT运算结果以及反DCT运算结果的乘法运算结果的数据,即,乘法运算了由N或者M像素的输入像素数据的各1位构成的N或者M位的位列,和用于求DCT运算结果以及反DCT运算结果的系数的部分积的计算结果的量,可以减小记录该数据的ROM的数据容量,可以得到电路面积小的DCT运算装置。
另外,虽然可以通过使用FFT消减存储在ROM0~7内的数据的量,但在作为1个ROM内的多个区域实现ROM0~7的情况下,为了消减ROM的整个容量,就需要缩短消减后的数据部分。但是,如果把单纯消减由FFT进行数据数的消减后的数据的数据部分直接按照其顺序缩短存储在ROM中,则作为在使用DA法的情况下的特征之一的把输入数据的各位作为地址的方法是不可能的,需要使得用于排列替换从输入像素数据的各位得到的位列的装置是使地址生成复杂化。对此,在本实施例1中,ROM地址发生电路104使用如下的位列作为为了对从第1蝶式运算电路103得到的位列生成地址而附加的头地址,即,通过附加该头地址得到的全部地址是连续的地址,由此,就可以从第1蝶式运算电路103中把位列作为地址的一部分直接使用,并且可以在ROM内不产生无用的区域而高效率地在ROM中存储数据,可以消减ROM容量。由此,可以得到使DCT运算装置的电路面积更小的效果。
图10是本发明的实施例2的DCT运算装置,在图中,和图1相同的符号表示相同或者相当的部分。实施例2的DCT运算装置200,设置成在上述实施例1的DCT运算装置100中,代替第2蝶式运算电路,具备与输入像素数据的顺序对应输出运算装置的输出的输出电路206,使得只进行DCT运算。在该DCT运算装置200中,在控制电路101输出的控制信号中表示是进行DCT运算,还是进行反DCT运算的值已不需要,ROM地址发生电路104生成的ROM地址,因为不需要包含表示是进行DCT运算,还是进行反DCT运算的值,所以设置为在位限制输入像素数据的值上,附加了表示N或者M的值的头地址的8位的地址。另外,ROM10~ROM17,从在上述实施例1中说明的ROM0~ROM7中,分别除去存储在反DCT运算中使用的数据的区域。进而,有关该DCT运算装置200的动作,因为和上述实施例1中的DCT运算装置中进行DCT运算的动作相同,因而在此省略其说明。
在这样的实施例2中,也和上述实施例1一样,用表示N或者M的值的控制信号,控制第1蝶式运算电路103进行的蝶式运算,ROM地址发生电路104根据第1蝶式运算电路103的输出生成与N或者M的单位的块的像素数据的DCT运算对应的ROM地址,由此,就可以在一个DCT运算装置中,进行行数或者列数为由1至8的任意整数构成的N×M单位块的像素数据的DCT运算,可以得到电路面积小的上述DCT运算装置。
另外,因为设置成在N或者M的值是2的幂的情况下进行蝶式运算,因此具有可以通过在行列运算中利用FFT减少运算量,可以减小记录成为用于求DCT运算结果的乘法运算结果的数据的ROM的数据容量,可以得到电路面积小的DCT运算装置的效果。
另外,如把从第1蝶式运算电路103中得到的位列作为地址的一部分直接使用,并且在ROM内不产生无用的区域,则可以高效率地在ROM内变换数据,可以消减ROM容量,可以使DCT运算装置的电路面积更小的效果。
图11是本发明的实施例3的DCT运算装置,在图中,和图1相同的符号表示相同或者相当的部分。本实施例3的DCT运算装置300,设置成在上述实施例1的DCT运算装置100中,不设第1蝶式运算电路,位限制单元102的输出直接输入ROM地址发生电路104,只进行反DCT运算。在该DCT运算装置300中,在控制电路101输出的控制信号中不需要表示是进行DCT运算,还是进行反DCT运算的值,ROM地址发生电路104生成的ROM地址,因为不需要包含表示是进行DCT运算,还是进行反DCT运算的值,所以设置成在位限制输入像素数据的值上,附加了表示N或者M的值的头地址的8位的地址。另外,ROM20~ROM27,从在上述实施例1中说明的ROM0~ROM7中,分别除去了用于DCT运算的数据。进而,有关该DCT300的动作,因为和上述实施例1的DCT运算装置中的进行反DCT运算的动作相同,因而在此省略其说明。
在这种实施例3中,也和上述实施例1一样,用表示N或者M的值的控制信号,控制第2蝶式运算电路106进行的蝶式运算,ROM地址发生电路从位限制电路102的输出中生成与N或者M的单位块的像素数据的反运算对应的ROM地址,由此,就可以在一个DCT运算装置中,进行行数和列数由1至8的任意整数构成的N×M单位块的像素数据的反DCT运算,可以得到电路面积小的上述DCT运算装置。
另外,因为设置成在N或者M的值是2的幂的情况下进行蝶式运算,所以具有可以在行列运算中利用FFT减少运算量,可以减小记录成为用于求反DCT运算结果的乘法运算结果的数据的ROM的数据容量,可以得到电路面积小的DCT运算装置的效果。
另外,如把从位限制电路102中得到的位列作为地址的一部分直接使用,并且在ROM内不产生无用的区域,则可以高效率地在ROM内变换数据,可以消减ROM容量,可以使DCT运算装置的电路面积更小的效果。
图9是展示本发明的实施例4的DCT运算装置的构成的方框图,在图中,位限制电路112,把上述实施例1的位限制电路102的输入设置为16位的像素数据,把限制该像素数据的单位设置为2位。另外,第1蝶式运算电路113,设置成在上述实施例1的第1蝶式运算电路103中,对2位的数据进行蝶式运算,并以2位为单位输出。ROM地址发生电路114,对由作为第1蝶式运算电路113的输出的2位的数据的各位表示的地址,分别附加头地址,制成9位的地址,作为该头地址,使用和上述实施例1的ROM地址发生电路104附加的数据一样的数据,即,使用这样的位列,使得通过对第1蝶式运算电路113的输出附加该头地址得到的全部的地址被排列替换为连续的地址。RAC115,和上述实施例1所示的RAC105一样,包括:ROM,它把从上述第1蝶式运算电路113的位单位的输出得到位列和在上述实施例1中式(5)~式(7),式(9),式(12)~式(14),式(16)以及式(18)~式(23)所示的行列运算的系数的部分积的计算结果作为表保持;累加电路,它累加根据从ROM地址发生电路114输出的地址从该ROM输出的数据。但是,位限制电路112以2位为单位限制像素数据,因为需要各自独立地保持相对从各位得到的2个地址的上述部分积的计算结果的表,所以代替上述实施例1所示的RAC105的ROM0~ROM7,设置成具有和ROM0~ROM7同样的构成的,每1个相互并列设置的ROM0a~ROM7a和ROMb~ROM7b。进而,在此,虽然把ROM0a~ROM7a以及ROM0b~ROM7b内的数据设置为16位,但该数据的位数也可以是其它的位数。累加电路52a~52h,把ROM0a和ROM0b的输出、ROM1a和ROM1b的输出、ROM2a和ROM2b的输出、ROM3a和ROM3b的输出、ROM4a和ROM4b的输出、ROM5a和ROM5b的输出、ROM6a和ROM6b的输出、ROM7a和ROM7b的输出分别作为16位的数据输入,把累加的结果,在DCT运算的情况下作为DCT运算的结果输出,另外,在反DCT的情况下作为为了求反DCT运算的结果而被输入到第2蝶式运算电路116中的数据输出。第2蝶式运算电路116,在上述实施例1的第2蝶式运算电路106中,把输出的数据设置为16位。
在本实施例4的DCT运算电路中,把从N×M单位块的图象数据中以行为单位,或者以列为单位输入的像素数据限制为每次2位,第1蝶式运算电路113,在进行DCT运算的情况下,当作为被输入的行或者列的像素数据数的N或者M是2的幂的情况下,对上述限制的2位的数据进行和上述实施例1同样的蝶式运算。另外,在除此以外的情况下,不进行蝶式运算。ROM地址发生电路114在由第1蝶式运算电路113的每次2位的多个输出中的各1位的数据分别构成的2个位列上附加头地址,生成2个地址,其中一个对ROM0a~ROM7a,另一个对ROM0b~ROM7b输出。ROM0a~ROM7a以及ROM0b~ROM7b,分别输出与输入的地址对应的,用于DCT运算或者反DCT运算的部分积的计算结果。累加电路52a~52h累加被排列设置的ROM之间的输出后输出,第2蝶式运算电路116在进行DCT运算的情况下,当作为输入的行或者列的像素数据的N或者M是2的幂的情况下,对从累加电路52a~52h输出的数据进行和上述实施例1一样的反DCT运算,与输入像素数据的顺序对应地排列替换输出其运算结果,在其它情况下不进行蝶式运算,把从累加电路52a~52h输出的数据与输入数据的顺序对应地排列替换输出。
如果采用这样的实施例4,因为,设置成在输入的行或者列的像素数据数的N或者M是2的幂的情况下进行蝶式运算,所以,具有可以在行列运算中利用FFT,可以减少用于求存储在ROM0a~ROM7a、ROM0a~ROM7a中的DCT运算以及反DCT运算的数据数,可以和上述实施例1一样消减ROM容量的效果。
另外,因为对于由从第1蝶式运算电路113输出的2位组成的多个像素数据的各位构成的地址,附加头地址使得全部地址连续排列,所以具有可以高效率地进行ROM内的数据的变换,即使在输入的像素数据是16位的情况下,也和上述实施例1一样,可以消减ROM容量的效果。
进而,虽然在上述实施例4中,说明了把上述实施例1中的DCT运算装置变形为其输入是16位的情况,但在本发明中,在上述实施例2以及实施例3的DCT运算装置中,也可以把其输入设置为16位,在这种情况下,也具有和上述实施例4同样的效果。
另外,虽然在上述实施例1~4中,把输入到位限制电路的数据设置为8位或者16位,但在本发明中,输入像素数据的位数可以是任何位数,通过调整由位限制电路限制的位的单位,和包含在RAC中的ROM数,就可以起到和上述各实施例同样的效果。
进而,在上述各实施例1~4的DCT运算装置中,当N或者M的值在8以外,即在其上限以外的情况下,也可以使尚未使用的ROM以及累加电路等的单元的动作停止。这样一来,就可以消减由不需要的ROM以及累加电路等的单元消耗的电力。
另外,在上述实施例1~4中,作为用于输出乘法运算结果的单元,使用ROM,但在本发明中,也可以代替ROM,使用在输入地址时,输出与之对应的乘法运算结果的组合电路,在这种情况下,也起到了和上述各实施例同样的效果。
另外,在上述实施例1~4中,说明了输入的图象数据的单位块可以对应最大到8×8像素的情况,但单位块的最大的大小,可以是8×8以外的任何值,这种情况下,通过组合单位块的最大的大小,增减ROM和累加电路的组数以及各ROM的尺寸等,起到和上述实施例一样的效果。
如上所述,本发明的DCT运算装置,可以用作运动图象数据的编码装置,或者译码装置内的DCT运算装置,特别适用于采用MPEG(运动图象编码专家组)方式进行编码或者译码的装置内的DCT运算装置。

Claims (19)

1.一种DCT运算装置,
用于对N×M单位块的图象数据的像素数据进行1维DCT运算或者反DCT运算,N及M是从1到8的任意整数,其特征在于:包括:
位限制单元,它以每次一行或者每次一列的方式输入N×M单位块的图象数据的像素数据,把被输入的构成行或者列的各像素数据按位进行限制并输出被限制的像素数据;
控制单元,它输出包含表示作为构成上述被输入的各行或者各列的像素数据数的输入像素数据数、以及进行DCT运算或者反DCT运算之一的值的控制信号;
第1蝶式运算单元,它在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂并且表示进行DCT运算的情况下,对上述位限制单元的输出进行蝶式运算,输出其运算结果,在其它的情况下,不进行蝶式运算,直接输出上述位限制单元的输出;
地址发生单元,它根据从上述笫1蝶式运算单元的输出得到的位列,和包含在上述控制信号中的输入像素数据数、以及表示进行DCT运算或者反DCT运算之一的值,生成地址并输出;
运算单元,具有8组乘法运算结果输出单元和累加单元,乘法运算结果输出单元与上述地址对应地输出用于求1维DCT运算结果以及反DCT运算结果的乘法运算结果,累加单元累加该乘法运算结果输出单元的输出并将结果输出;
笫2蝶式运算单元,它在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂并且表示进行反DCT运算的情况下,对上述运算单元的输出进行蝶式运算,对应输入像素数据的顺序输出其运算结果,在其它情况下,不进行蝶式运算,而与输入像素数据的顺序对应地输出上述运算单元的输出。
2.如权利要求1所述的DCT运算装置,其特征在于:
上述地址发生单元进行如下操作从而根据上述第1蝶式运算单元的输出、输入像素数据数、表示进行DCT运算或者反DCT运算之一的值生成地址,
在上述控制信号表示上述输入像素数据数的值M或者N是7、6、5、3之一的情况下,对根据上述第1蝶式运算单元的输出构成的7、6、5、3位的各个位列,通过附加包含表示进行DCT运算或者反DCT运算之一的值的表示上述输入像素数据数的值的2、3、4、6位的各个头地址而生成地址;
在上述控制信号表示上述输入像素数据数是8、4、2之一并且表示进行DCT运算的情况下,对根据被上述第1蝶式运算单元蝶式运算后的加法运算结果构成的4、2、1位的各个位列以及根据减法运算结果构成的4、2、1位的各个位列,分别通过附加包含表示进行DCT运算的值的表示上述输入像素数据数的值的5、7、8位的各个头地址而生成地址;
在上述控制信号表示上述输入像素数据数是8、4、2之一并且表示进行反DCT运算的情况下,对根据上述第1蝶式运算单元的8、4、2位的各自的输出构成的4、2、1位的各个位列,通过附加包含表示进行反DCT运算的值的表示上述输入像素数据数的5、7、8位的各个头地址而生成地址:
并且,作为上述头地址,就是附加这样的位列,即使得对于根据上述第1蝶式运算单元的输出构成的地址,通过附加该头地址得到的全部地址成为连续的地址。
3.如权利要求1所述的DCT运算装置,其特征在于:
上述乘法运算结果输出单元通过如下操作生成上述乘法运算结果,
在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂,并且表示进行DCT运算的情况下,输出在进行了快速傅立叶变换的DCT的行列运算中的与从上述第1蝶式运算单元的输出得到的位列有关的乘法运算结果:
在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂以外的值,并且表示进行DCT运算的情况下,输出在DCT的行列运算中的与从上述第1蝶式运算单元输出得到的位列有关的乘法运算结果:
在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂,并且表示进行反DCT运算的情况下,输出在进行了快速傅立叶变换的反DCT的行列运算中的与从上述第1蝶式运算单元的输出得到的位列有关的乘法运算结果;
在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂以外的值,并且表示进行反DCT运算的情况下,输出在反DCT的行列运算中的与从上述第1蝶式运算单元的输出得到的位列有关的乘法运算结果。
4.如权利要求1所述的DCT运算装置,其特征在于:
上述DCT运算单元,在控制信号表示输入像素数据数是8以外的值的情况下,停止在运算中尚未使用的单元的动作。
5.如权利要求1所述的DCT运算装置,其特征在于:
上述位限制单元,在作为被输入的各像素数据输入16位的数据的同时,把该16位的数据限制为每次输出2位,
上述运算单元,作为上述各乘法运算结果输出单元,具备相互并列设置的分别输出上述乘法运算结果的2个乘法运算结果输出部分。
6.一种DCT运算装置,
用于对N×M块单位的图象数据的像素数据进行1维DCT运算,N及M是1以上的任意的整数,其特征在于:包括:
位限制单元,它以每次一行或者每次一列的方式输入N×M单位块的图象数据的像素数据,把被输入的构成行或者列的各像素数据按位进行限制并输出被限制的像素数据;
控制单元,它输出表示作为构成上述被输入的各行或者各列的像素数据数的输入像素数据数的控制信号;
蝶式运算单元,它在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂的情况下,对上述位限制单元的输出进行蝶式运算,输出其运算结果,在其它的情况下,不进行蝶式运算,直接输出上述位限制单元的输出:
地址发生单元,它使用从上述蝶式运算单元的输出得到的位列和被包含在上述控制信号中的输入像素数据数生成地址并输出;
运算单元,它具有和上述输入像素数据数的最大值对应的组数的乘法运算结果输出单元以及累加电路,其中,乘法运算结果输出单元与上述地址对应地输出用于求1维DCT运算结果的乘法运算结果,累加电路累加上述乘法运算结果输出单元输出的乘法运算结果后输出;
输出单元,它对应被输入的像素数据的顺序,将上述运算单元的输出作为1维的DCT运算结果输出。
7.如权利要求6所述的DCT运算装置,其特征在于:
上述地址发生单元,进行如下操作从而根据上述蝶式运算单元的输出和上述输入像素数据数M或者N生成地址,
在上述控制信号表示上述输入像素数据数是2的幂以外的值的情况下,对根据上述蝶式运算单元的输出构成的与输入像素数据数具有同样位数的地址附加用于表示上述输入像素数据数的值的头地址而生成地址;
在上述控制信号表示上述输入像素数据数是2的幂的情况下,对根据由上述蝶式运算单元进行蝶式运算后的加法运算结果构成的和上述输入像素数据数的一半具有相同的位数的位列以及根据减法运算结果构成的和上述输入像素数据数的一半具有相同位数的位列,分别附加用于表示上述输入像素数据的值的头地址而生成地址:
并且,作为上述头地址,对根据上述蝶式运算单元的输出构成的地址,附加这样的位列,即使得通过附加该头地址得到的全部地址成为连续的地址,并且其位数是和上述输入像素数据数的最大值相同的位数。
8.如权利要求6所述的DCT运算装置,其特征在于:
上述蝶式运算单元对像素数据进行顺序相互加法运算以及顺序相互减法运算并输出结果值,所谓对像素数据进行顺序相互加法运算以及顺序相互减法运算,是把在上述位限制单元中以每次一行或者每次一列被输入并且被限制为每次输出一位的像素数据,从通过限制而得到的列或者行的两端开始向内侧进行顺序相互加法运算,以及顺序相互减法运算。
9.如权利要求6所述的DCT运算装置,其特征在于:
上述乘法运算结果输出单元,进行如下操作以生成上述乘法运算结果,
在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂的情况下,输出在进行了快速傅立叶变换的DCT的行列运算中的与从上述蝶式运算单元的输出得到的位列有关的乘法运算结果;
在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂以外的值情况下,输出在DCT的行列运算中的与从上述蝶式运算单元的输出得到的位列有关的乘法运算结果。
10.如权利要求6所述的DCT运算装置,其特征在于:
被输入到上述位限制单元中的图象数据的单位块,是N×M单位块,
上述运算单元中所具备的包含乘法运算结果输出单元和累加单元的组,具有作为上述输入像素数据数的最大值的8组。
11.如权利要求6所述的DCT运算装置,其特征在于:
上述位限制单元,在作为被输入的各像素数据输入16位的数据的同时,把该16位的数据限制为每次输出2位,
上述运算单元,作为上述各乘法运算结果输出单元,具备相互并列设置的分别输出上述乘法运算结果的2个乘法运算结果输出部分。
12.如权利要求6所述的DCT运算单元,其特征在于:
上述DCT运算单元,在控制信号表示输入像素数据数的值是上述输入像素数据数的最大值以外的值的情况下,停止尚未使用的单元的动作。
13.一种DCT运算装置,
用于对N×M块单位的图象数据的像素数据进行1维反DCT运算,N及M是1以上的任意的整数,其特征在于:包括:
位限制单元,它以每次一行,或者每次一列输入N×M单位块的图象数据的像素数据,把被输入的构成行或者列的各像素数据限制为每次输出一位;
控制单元,它输出表示作为构成上述被输入的各行或者各列的像素数据数的输入像素数据数的控制信号;
地址发生单元,它使用从上述位限制单元的输出得到的位列和被包含在上述控制信号中的输入像素数据数生成地址并输出;
运算单元,它具有和上述输入像素数据数的最大值对应组数的乘法运算结果输出单元以及累加电路,其中,乘法运算结果输出单元与上述地址对应地输出用于求1维反DCT运算结果的乘法运算结果,累加电路累加上述乘法运算结果输出单元输出的乘法运算结果后输出;
蝶式运算单元,它在上述控制单元输出的控制信号表示上述输入像素数据数是2的幂的情况下,对上述运算单元的输出进行蝶式运算,对应输入像素数据的顺序输出其运算结果,在其它的情况下,不进行蝶式运算,对应输入的像素数据的顺序输出上述各运算单元的输出。
14.如权利要求13所述的DCT运算装置,其特征在于:
上述地址发生单元,进行如下操作以根据上述位限制单元的输出和上述输入像素数据数生成地址,
在上述控制信号表示上述输入像素数据数M或者N是2的幂以外的值的情况下,对根据上述位限制单元的输出构成的和成为和上述输入像素数据数同样位数的位列,通过附加表示上述输入像素数据数的值的头地址而生成地址;
在上述控制信号表示上述输入像素数据数是2的幂的情况下,对根据上述位限制单元的输出构成的和上述输入像素数据数的一半具有同样位数的位列,分别附加用于表示上述输入像素数据数的值的头地址而生成地址;
并且,作为上述头地址,对根据上述位限制单元的输出构成的地址,附加这样的位列,使得通过附加该头地址得到的全部的地址成为连续的地址,并且其位数和构成上述被输入的行或者列的输入像素数据的最大值的位数相同。
15.如权利要求13所述的DCT运算装置,其特征在于:
上述蝶式运算单元,对根据上述运算单元输出的以每次一行或者每次一列输入的像素数据中的奇数位的像素数据求得的上述乘法运算结果进行了累加的值,和根据偶数位的像素数据求得的上述乘法运算结果进行了累加的值进行加法运算以及减法运算并输出。
16.如权利要求13所述的DCT运算装置,其特征在于:
上述乘法运算结果输出单元,
在上述控制单元输出的信号表示上述输入像素数是2的幂的情况下,输出在进行了快速傅立叶变换的反DCT行列运算中的与从上述第1蝶式运算单元的输出得到的位列有关的乘法运算结果作为上述乘法运算结果;
在上述控制单元输出的信号表示上述输入像素数是2的幂以外的值情况下,输出在进行反DCT行列运算中的与从上述蝶式运算单元的输出得到的位列有关的乘法运算结果作为上述乘法运算结果。
17.如权利要求13所述的DCT运算装置,其特征在于:
被输入到上述位限制单元中的图象数据的单位块,是N×M单位块,N以及M是从1至8的任意的值,
上述运算单元中所具备的包含乘法运算结果输出单元和累加单元的组,具有作为上述输入像素数据数的最大值的8组。
18.如权利要求13所述的DCT运算装置,其特征在于:
上述位限制单元,在作为被输入的各像素数据输入16位的数据的同时,把该16位的数据限制为每次输出2位,
上述运算单元,作为上述各乘法运算结果输出单元,具备相互并列设置的分别输出上述乘法运算结果的2个乘法运算结果输出部分,在上述累加单元中累加这2个乘法运算结果输出部分的输出。
19.如权利要求13所述的DCT运算单元,其特征在于:
上述DCT运算单元,在控制信号表示输入像素数据数的值是上述输入像素数据数的最大值以外的值的情况下,停止尚未使用的单元的动作。
CNB998029475A 1998-12-14 1999-12-14 Dct运算装置 Expired - Fee Related CN1147155C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP35512398 1998-12-14
JP355123/1998 1998-12-14

Publications (2)

Publication Number Publication Date
CN1290455A CN1290455A (zh) 2001-04-04
CN1147155C true CN1147155C (zh) 2004-04-21

Family

ID=18442081

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB998029475A Expired - Fee Related CN1147155C (zh) 1998-12-14 1999-12-14 Dct运算装置

Country Status (5)

Country Link
US (1) US6574648B1 (zh)
EP (1) EP1065884A4 (zh)
JP (1) JP3586427B2 (zh)
CN (1) CN1147155C (zh)
WO (1) WO2000036842A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001346213A (ja) * 2000-06-02 2001-12-14 Nec Corp 離散コサイン変換装置及びその離散コサイン変換方法
US6704759B2 (en) * 2001-01-19 2004-03-09 Motorola, Inc. Method and apparatus for compression/decompression and filtering of a signal
JP2003223433A (ja) 2002-01-31 2003-08-08 Matsushita Electric Ind Co Ltd 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置
CN1326397C (zh) * 2003-06-02 2007-07-11 杭州高特信息技术有限公司 一种dct快速变换结构
JP4217146B2 (ja) * 2003-11-21 2009-01-28 株式会社リコー スキャナ装置、ビューア装置、画像保護方法、
US7487193B2 (en) * 2004-05-14 2009-02-03 Microsoft Corporation Fast video codec transform implementations
US8179972B2 (en) * 2004-06-08 2012-05-15 Panasonic Corporation Image encoding device, image decoding device, and integrated circuit used therein
KR100754167B1 (ko) * 2004-10-06 2007-09-03 삼성전자주식회사 다양한 크기의 블록에 대한 변환/역변환 방법 및 그 장치
US7574468B1 (en) * 2005-03-18 2009-08-11 Verisilicon Holdings (Cayman Islands) Co. Ltd. Digital signal processor having inverse discrete cosine transform engine for video decoding and partitioned distributed arithmetic multiply/accumulate unit therefor
US20070009166A1 (en) * 2005-07-05 2007-01-11 Ju Chi-Cheng Scalable system for discrete cosine transform and method thereof
US7724975B2 (en) * 2006-06-22 2010-05-25 National Chun Cheng University Design techniques and their circuit designs for versatile and scalable video coding
US7974370B2 (en) * 2006-12-27 2011-07-05 Freescale Semiconductor, Inc. Parallel processing for single antenna interference cancellation
CN101646080B (zh) * 2009-06-18 2013-09-25 杭州高特信息技术有限公司 基于avs并行流水idct快速变换的方法和装置
CN101989254B (zh) * 2009-08-05 2012-03-14 鸿富锦精密工业(深圳)有限公司 离散余弦转换及其逆转换电路
CN101924937A (zh) * 2010-07-02 2010-12-22 上海广播电视台 MpegII基本流的DCT交流非零系数信息优化搭载方法
US9716852B2 (en) * 2015-04-03 2017-07-25 Semiconductor Energy Laboratory Co., Ltd. Broadcast system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4791598A (en) 1987-03-24 1988-12-13 Bell Communications Research, Inc. Two-dimensional discrete cosine transform processor
JP2501601B2 (ja) 1987-09-25 1996-05-29 住友電気工業株式会社 液圧ブ―スタ
US5107345A (en) * 1990-02-27 1992-04-21 Qualcomm Incorporated Adaptive block size image compression method and system
JPH04277932A (ja) 1991-03-06 1992-10-02 Nec Corp 画像データ圧縮装置
KR950000386B1 (ko) * 1992-12-30 1995-01-16 재단법인 한국전자통신연구소 이산여현 변환회로
US5345408A (en) * 1993-04-19 1994-09-06 Gi Corporation Inverse discrete cosine transform processor
JP2677969B2 (ja) * 1993-12-27 1997-11-17 松下電器産業株式会社 直交変換装置
JPH09212484A (ja) 1996-01-30 1997-08-15 Texas Instr Inc <Ti> 離散コサイン変換方法
JP3129392B2 (ja) 1996-02-02 2001-01-29 日本電気株式会社 2次元idct回路
US5894430A (en) * 1996-05-20 1999-04-13 Matsushita Electric Industrial Co., Ltd. Orthogonal transform processor
JPH1091615A (ja) 1996-09-18 1998-04-10 Hitachi Ltd 離散コサイン変換/逆変換装置

Also Published As

Publication number Publication date
JP3586427B2 (ja) 2004-11-10
EP1065884A4 (en) 2004-06-16
WO2000036842A1 (en) 2000-06-22
US6574648B1 (en) 2003-06-03
EP1065884A1 (en) 2001-01-03
CN1290455A (zh) 2001-04-04

Similar Documents

Publication Publication Date Title
CN1147155C (zh) Dct运算装置
CN1269027C (zh) 数据并行右移合并的方法与装置
CN1222153C (zh) 数字图象压缩方法
CN100338570C (zh) 用于数据的并行右移位合并的方法和装置
CN1171391C (zh) 交错方法、交错装置、涡轮编码方法以及涡轮编码装置
CN1685369A (zh) 视频编码的低复杂性和统一标准的变换
CN1764277A (zh) 图像和视频编码用的改进的块变换和量化
CN1898700A (zh) 图像处理
CN1168029A (zh) 文档管理设备,数据压缩方法和数据解压缩方法
CN1456999A (zh) 色度运动矢量取整
CN1551018A (zh) 图像检索装置及图像检索程序
CN1303524C (zh) 可变流水线级数的数据处理装置
CN1801940A (zh) 整型变换电路和整型变换方法
CN1622137A (zh) 一种对图像进行快速压缩和解压缩的方法
CN1506971A (zh) 半导体器件、图像数据处理装置和方法
CN1035372A (zh) 在剩余数***中用于编码和译码数据的方法和装置
CN2706801Y (zh) 字体处理装置、终端装置
CN1142683C (zh) 无转置行列分离二维离散余弦正反变换电路及其方法
CN1708094A (zh) 图像显示控制设备、图像显示设备、图像显示方法及其程序
CN1148964C (zh) 图像处理装置图像处理方法
CN1326566A (zh) 对多个带符号的数据值执行算术运算的数据处理***和方法
CN1324060A (zh) 图像编码/解码方法及其装置和记录节目的记录介质
CN1816144A (zh) 一种二维离散余弦变换装置及方法
CN1313918C (zh) 在有限域中用于基转换的方法和设备
CN1255996A (zh) 用在分层编码中的存储设备以及写入和/或读出方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee