CN87104093A - 一维余弦变换的计算装置以及包括该计算装置的图象编码装置和解码装置 - Google Patents

一维余弦变换的计算装置以及包括该计算装置的图象编码装置和解码装置 Download PDF

Info

Publication number
CN87104093A
CN87104093A CN87104093.XA CN87104093A CN87104093A CN 87104093 A CN87104093 A CN 87104093A CN 87104093 A CN87104093 A CN 87104093A CN 87104093 A CN87104093 A CN 87104093A
Authority
CN
China
Prior art keywords
value
calculation element
transformed
input end
values
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.)
Withdrawn
Application number
CN87104093.XA
Other languages
English (en)
Other versions
CN1009772B (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.)
Thales SA
Original Assignee
Thomson CSF SA
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 Thomson CSF SA filed Critical Thomson CSF SA
Publication of CN87104093A publication Critical patent/CN87104093A/zh
Publication of CN1009772B publication Critical patent/CN1009772B/zh
Expired 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
    • 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
    • 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/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • 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

Landscapes

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

Abstract

一种从16个亮度值中计算16个一维直接余弦变换的装置,包括:输入存贮器,分别是产生二个值A+B和(A-B)×D的第一计算装置,其中A和B是二个分别加到计算装置二个输入端的值,D是预定系数;为32次相似运算循环占用第一计算装置的第一中间值存贮装置;产生E+G值的第二计算装置,其中E和G是两个连续加到该第二计算装置输入端的值;为完成17次加法运算循环使用第二计算装置的第二中间值存贮装置以及改变变换值顺序的装置。

Description

本发明涉及计算余弦变换的装置,特别涉及用以图象编码以减少表示图象信息的数量的装置,该信息减少能允许用具有有限信息率的装置发射或贮存图象。
众所周知,把表示图象象素的亮度和色度值通过二维余弦变换,产生一个N×N值的矩阵,这称为直接余弦变换,它对应于表示被编码图象的N×N象素区域块的N×N矩阵。这种图象通常被分成许多矩形部分,每个部分由一个N×N象素区域块所构成。变换值的加权减少了表示图象的信息的数量。解码包括运用反加权,这样导致N×N矩阵的反余弦变换使对应于直接变换的N×N矩阵逆变换,就象编码一样,能码是通过N×N图象象素区域来完成的。
假如表示一个区域象素的值是f(i,j),i=0到N-1,i=0,N-1,则二维直接余弦变换的值由下式表示:
U=0到N-1
V=0到N-1
F (u ,v ) = 4 c (u ) · c(v) N 2 · Σ i = 0 N - 1 Σ j = 0 N - 1 f (i , j ) · a i u · a j v (1)
其中:
c(u)= 1 2 , 当U=0时;而c(v)= 1 2 , 当v=0时,
并且:c(u)=1,当u=1,而c(v)=1,当v=1,2……N-1
且aiu=cos ((2i+1).u.π)/(2N) and aj,v=cos ((2j+1).v.π)/(2N)
逆变换后的值通过运用下列公式经二维反余弦变换给出:
f (i , j ) = Σ u = 0 N - 1 Σ v = 0 N - 1 c (u ) · c (v ) F · (u ,v) ·a i u · a j v (2)
该二维余弦变换可分成二个一维余弦变换,并且该二维变换可用二个串接在一起的一维变换计算装置来计算。
一维余弦变换根据下列公式进行:
当k=0,1,2,…,N-1 F (k ) = 2 N c(k ) · Σ i = 0 N - 1 a i k · f (i ) (3)
其中 c(k)= 1 2 , 当k=0时,
c(k)=1,当k=1,2,…,N-1时,
并且aik=cos ((2i+1).k.π)/(2N)
一维反应余弦变换由下式完成:
当i=0到N-1, f (i ) = Σ k = 0 N - 1 b i k · F (k ) (4)
其中bik=c(k).cos ((2i+1).k.π)/(2N) =c(k).aik
经余弦变换后加权的图象编码,大大减少了所发送的信息数量,但是有一个缺点,即需非常大量的计算。如此的计算数量需花费设备和计算时间。它使得利用余弦变换在通常频率即欧洲标准每秒50帧的一系列视频图象的编码和解码非常困难。
利用相对减少数目的基本乘法和加法来完成余弦变换的高速算法已为公知,特别是由德亚(R·A·Duryea)在题为“图象传输系统的源/通道编码的效应”一文中描述的陈等人的算法(chen    et    al),该文登于AFIT/GE/EE/79    D-12上,即俄亥俄洲空军技术学院,1979年12月。它是利用系数aik间的数学关系由上式(3)导出的。用该算法,表示16个象素数值的一维余弦变换可由44次乘法和74次加法来完成。它被用于一维余弦变换计算装置中,但是该算法有一缺点即具有实现该运算的装置的复杂性而导致的不规则结构。
因此,本发明的目的,是提供一种耗费低的,计算一维直接余弦变换和计算一维反余弦变换的装置,该装置具有较之于使用陈等人提出的算法,用来变换16值系列的装置,具有较简单的结构。本发明的目的还在于提供用于对符合通常电视标准的视频图象进行实时二维余弦变换的编码和解码装置。
本发明特别提供了一种计算一维直接余弦变换的装置,以及用以计算一维反余弦变换的装置,它从已知的由比洋·杰·李(Beyeong    Gi    Lee)提出的“一种计算离散余弦变换的新算法”中导出二个算法。李的该文刊登于1    EEE杂志“音响,话音和信号处理”中,第ASSP-32卷n·6,第1243~1245页,1984年12月。比洋·(Beyeong    Lee)的这些算法被改进,这样它们可用于由少量的ROM和少量的容易得到的集成电路构成的基本计算装置所构成的变换计算装置,并能在与惯用电视标准的象素分析的频率相同的情况下工作。
本发明还提供了一种借助包括两个一维余弦变换计算装置的二维余弦变换对图象编码和解码的装置。
根据本发明变换16值系列的一维直接余弦变换计算装置包括:
一个用以存贮被变换的16值系列的输入存储装置;
计算式A+B和(A-B)×D二值的第一级计算装置,其中A和B是分别施加于二个输入端的二个运算量,D是预先确定的正系数;
耦合到第一计算装置的用以向其传输预先算好的运算值的第一中间量贮存装置;
用以计算式E+G的值的第二计算装置,其中E和G是两个连续作用到所述第二计算装置输入端的运算量;
耦合到第二计算装置的用以向其传输预先算好的运算值的第二中间量贮存装置;并耦合到变换计算装置的输出端,以传输其变换后的一个16值系列;
控制输入存储器,第一和第二中间值存贮装置,第一和第二计算装置的控制装置,该控制装置通过一具有二倍于被变换值频率的并且具有一对应于被变换的16值系列的周期的控制信号,并通过一具有二倍于被变换值频率的时钟信号装置来实现。
根据本发明的用以计算一维反余弦变换,变换经直接变换后的16值系列的装置,包括:
提供一值如E+G的计算装置,其中E和G是两个连续加到所述第一计算装置输入端的运算量;
耦合到第一计算装置的输入端及输出端的用以传输其预先计算好的运算值的第一中间值贮存装置,并且耦合到输入端以接收被变换值;
计算如式A+D·B和A-D·B二值的第二计算装置,其中A和B是两个分别加到该第二计算装置输入端的运算量,且D是预定系数;
耦合到用于传送其运算量的第二计算装置的用于贮存中间值的贮存装置,其运算数值预先被算好,并且耦合到反变换计算装置的输出端以传送给该输出端以一个个16反变换值系列;
用于控制第一和第二中间值贮存装置以及第一和第二计算装置的控制装置,它利用二倍于被变换值的频率以及具有对应于被变换的16值系列周期的控制信号,并且借助于具有二倍于被变换值的频率的时钟信号装置。
图1    是说明根据比洋·杰·李(Beyeong    Gi    Lee)的算法,计算16值系列的一维直接余弦变换的示意图;
图2    和图3是说明由图1抽出的基本运算示意图;
图4    是说明根据修改后的比洋·杰·李(Beyeong    Gi    Lee)的算法,计算16值系列的一维直接余弦变换的示意图;
图5    是说明根据本发明的用于16值区域块的一维直接余弦变换计算装置的一个构成例子的方框图;
图6    是说明该实施例的一部分的工作情况的示意图;
图7    是该实施例的较详细的方框图;
图8、图9和图10是说明该实施例的某些部分的较详细的框图;
图11是说明本发明的包括二个一维余弦变换计算装置的图象编码装置的一个实施例的方框图;
图12是说明该图象编码装置的变形的一个实施例的方框图;
图13和图14是说明根据本发明的用于16个值的区域块的一维直接余弦变换计算装置的两个变形的实施例的方框图;
图15是根据比洋·杰·李(Beyeong    Gi    Lee)的算法的计算16值系列的一维反接余弦变换计算框图;
图16是根据比洋·杰·李(Beyeong    Gi    Lee)的改进算法的计算16值系列的一维反余弦变换的示意图;
图17是由图15所示得出的基本运算示意图;
图18是根据本发明的用于16值区域块的一维反余弦变换计算装置的一个实施例的方框图;
图19到图21详细说明本实施例的某些部分方框图的详细示意图;
图22是本发明包括二个一维余弦变换计算装置的图象编码装置的一个实施例的方框图;
图1    是根据比洋·杰·李(Beyeong    Gi    Lee)的算法的所有运算执行的时间分布图。这些运算得出16个值F′(0),F′(1),…,F′,(15),这些值在一系数范围内等于由f(0),f(15),f(7),f(8),f(3),f(12),f(4),f(11),f(1),f(14),(6),f(9),f(2),f(13),f(5),f(10)经变换后的16个值F(0),F(1),…,F(15),该计算图使用了公式(3)但不考虑系数2·c(k),因此令:
F′(k)= (N)/(2.c(k)) ×F(k)
以后将更清楚,即如果这些常系数在计算过程中不用而在变换计算的末端用的话,二维变换的编码装置的结构将更为简单。
系数 (N)/(2.c(k)) 是常数,在其后的计算步骤中将被考虑进去。下面,我们将把应用了该运算图而提供的值F′(0),…,F′(15)称为变换(后的)值,尽管它们与由公式(3)给出的理论值F(0),…,F(15)不同。
该运算图包括二个时间轴;一个从左到右的水平轴和一个由上到下的垂直轴,它们限定了运算的顺序,该16个被变换的值f(0),f(15),…f(10),是连续可得的。如果,举例而言,它们代表了16个象素线性区域块的亮度,它们在这些象素的采样速度下得到。在采样过程中,这些值的如下顺序获得:f(0),f(1),…,f(15),接着它们被排成如此序列f(0),f(15),f(7),…,f(10),以使能应用算法。每个被变换值,每个中间值和每个变换值都由一点来表示。获得中间值和变换后值的运算由连续或间断线所表示。两条连续线的会聚表征了一次加法。一条连续线和一条间断线的会聚表征了一次减法,其上有数值的水平线表示了用该数值的一次乘法,没有数值表示以系数1传送。
图2和图3是由图1所导出的,给出了由图1所表征的运算实例。图2说明由对应于被变换的f(0)值的第一根计算线所导出的以及由对应于被变换的f(15)值的第九根计算线的一个抽出分支的示意图。在对应于f(0)的线上,第一中间值等于f(0)和f(15)的和,因为表征该第一中间值的点由一代表被变换值f(0)的实线和由一代表f(15)的值的实线所连接。第二中间值同样也等于f(0)+f(15),因为它是由其上没有标值的实线连到第一中间值上的。
在对应于f(15)的计算线上,第一中间值等于f(0)-f(15),因为表征它的该点由一虚线连到表示被变换的f(15)值的点上,并由一实线连到表示被变换的f(0)值上。在对应于f(15)线上的第二中间变量值等于(f(0)-f(15))× 1/(2C1) ,因为它是通过一其上标有值 1/(2C1) 的实线连到对应于f(15)线上的表示第二中间值的点上。
图3是说明由图1分出的对应于产生变换后值F′(4)和F′(12)的计算线的一部分示意图。在图中只示出这些线的最后三个中间值。计算被认为分别来自第一中间值g1和第一中间值g2。在对应于F′(4)的线上,第二中间值等于g1+g2,因为它是通过实线连到中间值g1和g2上的。第三中间值和变换后的值F′(4)等于g1+g2,因为计算被简化为第二中间值的不延时传输。在对应于F′(12)的线上,第二中间值、第三中间值和变换后的值F′(12)等于g2,因为计算被简化为不延时传输。
如图1所示的整个计算可由32次乘法和81次加法完成。在图1所示的运算图中,值的各列区分了运算的各列。对该图的观察表明在一列中的一系列运算是与其它列不同的。因此,该算法的使用要求在每个运算列中的不同运算顺序,它使附加装置的结构复杂化。
为了使附加装置的结构简单化,对比洋·杰·李(Beyeong    Gi    Lee)的算法的修改如图4所示,被变换值的次序被改成:f(0),f(15),f(7),f(8),f(3),f(12),f(4),f(11),f(1),f(14),f(6),f(9),f(2),f(13),f(5),f(10),代表中间值的点的连线被置换成与被变换值一致。表示被变换值、中间值和变换值的点间的连接在上述置换过程中保持不变,仿佛这些连接的线条是一些橡皮筋。
因此,所获得的变换后的值相应变成:F′(0),F′(1),F′(2),F′(3),…,F′(15)。应该注意到,被变换值不再以标号的上升次序排列,正相反,现在是变换后的值以标号的上升次序排列。该种修改的运算图最显著的优点是它包括了四个相同运算列,第一列,第二列,第三列和第四列。此外,其中每个运算列由图2所示的8个运算构成。这8个运算的每一个允许得到一个值形如A+B和一个值形如(A-B)×D,所述值来自第一运算值A,第二运算值B和第三个预先固定的运算值D。
该修改的运算图的重复性很强的结构在于,通过用一个具有分别接收A和B值的第一和第二运算量输入端,接收值D的第三运算量输入端和分别产生二个值A+B和(A-B)×D的输出端的计算装置;可得到对应于四个相同运算列第一列到第四列的64个中间值,如果该计算装置能以二倍于被变换值的运算速度传送一对对值,则用一个计算装置,能在对应于被变换的16个值的时间内获得64个中间值。结果是能有一结构非常简单的变换计算装置。
位于图4的计算图示右部的三个运算列包括17次加法运算。由第一级四个运算列所提供的一些值被无修改地传送,并通过延时形成变换后的值。这是变换后的值:F′(0),F′(2),F′(12),F′(14),F′(15),的情况。
另外,应该注意到。在最后三个运算列中的几次加法产生的其它变换值应被认为是来自连加法,这就是说,计算此一个变换值的运算图包括一水平线,说明以前在同一根线上所获得的中间值的传送,同时还包括一表示在另外线上得到的另一中间值的加法的斜线。
例如,变换值F′(3)是由一图示中的第四根线上计算出的中间值而得到的,所述该线对应于F′(3),它首先加上对应于F′(7)上所计算得的中间值,接着再加上对应于变换后的值F′(5)线上所得的中间值。通过这些连加法运算,可得到一中间值或变换值,它的获得只要提供给每个加法器一个运算量,连加过程一旦被预置,该方式较之于给一个加法器提供二个运算量来说更为快速和简单。例如,为了执行如G+H+I+J的连加,第一次加法G+H为了连续装载值G和H,需有二个计算周期,但是其后所有加法只需一个简单计算周期来装载一新的运算量。
该运算图结构的第二个特征同样也使实现该算法的装置简化,如果计算装置执行连加的运算速度二倍于被变换值得到的速度,它可在对应于16个被变换值的时间内,容易地完成如图所示的17次加法并输出变换值。如此的执行连加计算的装置是令人满意的。
除了上述执行如图2所示形式运算的计算装置和计算连加运算的装置外,必须提供用以贮存中间值的存储单元,这些中间值是由计算装置以及加到这些计算装置的运算量所交替产生的。
图5是本发明的一维直接余弦变换计算装置的一个实施例的方框图。它包括;用以接受代表16个象素的线性区域块或者由另一个一维直接余弦变换计算装置产生的16个一维直接余弦变换值的16个数值的系列输入端1,本发明的两个装置被串联在一起以形成一个二维直接余弦变换计算装置;输入端2接收同步信号;输入存储器3;控制装置5;第一和第二中间值存贮装置4和8;第一和第二计算装置6和7,序列变换装置9;根据图14的运算图的计算产生16个变换值的序列的输出端11;以及产生同步信号的输出端13。
输入存贮器3有一连到输入端1的数据输入端以接受被变换的16位二进制形式的每个值,并具有分别连到计算装置6的第一和第二运算量输入端的二个输出端,分别产生二个16位二进制信号。用以存贮中间值的装置4具有平行地连到输入存贮器3的输出端和计算装置6的第一和第二运算量输入端的第一和第二输出端。装置4和存贮器3的输出可有三种状态,其中包括为防止在两输出间相抵触的高阻态。
计算装置6具有一连接到装置4的第一数据输入端的以及连到装置8的第一数据输入端的第一输出端,产生一16位二进制信号。该计算装置同样具有一连接到装置4的第二数据输入端的及连到装置8的第二数据输入端的第二输出端,该输出端产生一个16位二进制信号。装置8包括:连到第二计算装置7的输出端的用以接收16位二进制信号的第三数据输入端;连到计算装置7的运算量输入端的以产生一个16位二进制信号的第一输出端,以及连到变序装置9的输入端的用以产生一个16位二进制信号的第二输出端。装置9具有一连到所示例子的输出端11的输出端,以提供一个形成变换值的16位二进制信号。
控制装置5连到输入端的接收同步信号。在该例子中,通过二维余弦变换,用该装置企图形成编码装置的一部分,同步信号对应于被变换的16个值的16个系列,也就是一个16×16个象素的区域块。装置5具有一连接到输出端13的用以产生对应于由输出端11提供的16个变换值的16个系列的同步信号的输出端。该同步信号允许一第二个一维直接余弦变换计算装置或其它变换值编码和传输装置同步工作。
控制装置5同样也有其它输出端,由接点连接到计算装置6和7的,中间值贮存装置4和8的,输入存贮器3的,以及变序装置9的输入控制端,图中没有画出。它们产生一个频率为二倍于加到输入端1的被变换值频率的时钟信号,它们还产生一个根据周期等于13个时钟周期的并对应于16个被变换值的控制信号,以控制计算装置6和7,存贮装置4和8,以及输入存贮器3;同时它们还产生一个用来控制装置9的控制信号,它的周期是512个时钟周期,对应于16×16个被变换的值。
输入存贮器3的目的是逐个存贮被变换的值,并且两两恢复它们以形成用于第一计算装置6的为完成如图4的运算图的第一列所示的二个运算量。被变换的值以如图4所示的次序施加:f(0),f(15),f(7),f(8),…,f(10),而并不是以分析对应的象素次序排列。取样和数字化装置以及使值f(0),f(1),…f(15)变序的装置没有示出。它们可由惯用的技术领域达到。
装置4的目的是两两存贮由计算装置6的输出端提供的中间值,接着把它们传输到计算装置6的二个运算量输入端,以完成如图4所述的第2列第3列,第4列的运算。当两值A和B分别加到其运算输入端时,计算装置在两输出端分别产生形如A+B和(A-B)×D的输出值。第三运算值D是由装置5提供的控制信号所选择的常数。
装置8的目的是存贮一对由计算装置6的二个输出端提供的中间值,接着把它们分别提供到计算装置7的输入端或者到变序装置9的输入端。装置8也存贮由计算装置7所提供的加到装置8的第三数据输入端的中间值。
变序装置9完成由中间存贮装置8的第二输出端所提供的变换值的顺序变换。顺序的变换是根据以后所要用的变换值的顺序。装置9存贮16个变换值的16个逐行计算系列,如下表所示:
column
n°0    1    2    …    j    …    15
line
n°0 F′0(0), F′0(1), F′0(2), … … … F′0(15)
1 F′1(0), … … F′1(15)
2 F′2(0), … F′2(15)
3 F′3(0), … F′3(15)
Figure 87104093_IMG2
… … …
i … … … … F′1(j) … …
Figure 87104093_IMG3
如果变换值被加到第二个一维直接余弦变换计算装置上,为了获得二维直接余弦变换,变序有二个目的:
逐列从该表中读出值:
根据第二计算装置所需的顺序读出每列的值,这就是说,按图4的运算图所说明的被变换值的顺序:F′0(0),F′15(0),F′7(0),F′8(0),…,F′10(0),变成,F′0(1),F′15(1),…,F′10(1),接着再成,F′0(2),…等等。第二变换计算装置具有一与输入存贮器3同样的存贮器。
在本实施例所形成的第二个一维余弦变换计算装置的情况下,其输出端11产生为适应以后处理所需顺序的变换值F′(u,v),一般来说是为减少代表图象信息的数量。该种合适的顺序一般由图6所示的顺序,被称为是Z字形顺序。该种顺序对应于变换值随递增的u和v值的分级,该种分级统计上对应于变换值的绝对值的递减。
值的格式的选择对于形成本发明的装置十分重要。计算装置6和8对具有预定格式的值运算:13位用于整个部分而3位用于十进制部分。该格式由计算每个图4中遇到的中间值的强函数以及每个变换值的强函数来决定,它们都是被变换值强函数的函数。当后者由亮度信号构成时,它们被编成8位码包含了0到+255。中间值和变换值是+4080到-2778的强函数,为防止该格式的任何溢出,这些强函数值为表示整数部分而倾向于选择13位,包括一位专用于符号的位。因为在另一方面,目前商业上适用的乘法电路能处理16位值,因而选择了三位格式作为十进制小数部分。
二维余弦变换计算装置包括二个相串联的一维变换的计算装置。第一装置接收被变换的值,这些值用8位二进制数表示了0到+225间的亮度值。为了防止在运算过程中的任何溢出,在为整个加到输入端1的值所保留的13位中,这8位数占据了8个最小有效位。
第二个装置,除了变序装置9的运算之外,是与第一个相同的,它接收由第一装置的输出端11提供由一维余弦变换F′(u)形成的被变换值,u从1到15,这些值F′(u)具有预定形式,包括整个部分的13位码,包括符号位和三位表示十进制部分的码。F′(0)是从0到+4080而F′(u),从u=1到15是介于-1442和+1442之间,不考虑系数 2/(N) c(k)。
在确定第一个一维变换计算装置完整值的格式时,这些值并不在0,+255的范围内。把这些值引入该范围可通过除以16来实现。值F′(u)被16除以后在范围0,+255间,值F′(u),u=1到15,是介于-127和+127间,它是与该形式等效的,8位码在两种情况下都是有效的。由第一装置提供的值被引入0,+255或者-127,+127的范围内,以防止变换值或中间值的溢出,它通过向右移4位的方法来实现。十进制小数点位于三位十进制部分的前面。
此外,上述第一个一维余弦变换计算装置的被变换值的定义格式不包括十进制部分,换句话说十进制小数点设置在最小有效位的右边。当包括3个十进制值位的值F′(u)加到该输入端时,事情的发生就象其十进制小数点右移三位一样,换句话说,就象值被乘以8。
考虑二个值得注意的方面,二个一维变换计算装置间的格式的变化,导致传输值被除以2。被2除的这个除法在系数 (2.c(k))/(N) 被考虑进去的同时由归一化运算补偿。归一化运算在第二个一维直接变换后执行。
这样,在二个一维变换计算装置,计算由同样的定点格式进行。这些计算相对于移动十进制小数点的浮点计算来说,计算结果的精度降低。但是它们能用更简单、更快速、成本低以及容易集成的电路实现。
图7是如图5所示实施例的更详细的方框示意图。控制装置5由22.5MHZ的时钟25和定序器26构成。在该例子中,图象被以13.5MHZ以频率取样,而表征图象象素的值以11.25MHZ的频率传送到变换计算装置中,以适应图象扫描线恢复的抑制时间。时钟25的频率二倍于加到输入端1的被变换值的频率。时钟25的输出连到定序器26的一个输入端。定序器26以32倍于时钟25周期的周期产生加到整个变换计算装置的控制信号。它被加到输入端2的同步信号所同步表明被变换的16个值的16个序列的每个区域块的开始。定序器26的输出传送给输出端13一个同步信号,它可用于控制第二个一维直接余弦变换计算装置同步。定序器26的多个输出形成变换计算装置所需的同步信号。
输入存贮器3由一具有16位容量的寄存器23和其数据输入口连接到寄存器23的输出口的读写存贮器(RAM)24构成。其第一和第二个数据输出口形成了装置3的二个输出口,连接到控制装置5的多个输出端的双地址口允许存储器数据经过被分别选择的二个输出口输出。连接到控制装置5的多输出端的控制输入端可控制存储器读或写的操作。寄存器23具有一连到控制装置5多输出端的接收具有等于两个时钟周期的控制信号的时钟输入端。
存贮器24由四个AMD公司生产的集成电路构成。它允许同时读出分别由二个地址口选择的二个数据,或者同时读出或写入分别由二个地址口选择的地址的内容,或者读出二个分别由双地址口选择的二个地址的内容并同时在由一个地址口选择的地址中写入。这种形式的存贮器允许在同一个地址上同时写入或读出。它允许加到输入端1的被变换值的连续流被同时贮存和还原。在32个时钟周期内,存贮器24存贮16个被变换值,其速度与输入端1的输入速度一致,并在8个时钟期内,在三个输出口的每一个上重存8个值。
这8对值在8个第一时钟周期内,被计算装置6用以计算16个第一级中间值,接着在以后的24个时钟周期内,装置6接收由中间值存贮装置4的二个输出口提供的中间值。在起动的8个时钟周期内,在32个时钟周期的每个周期内,存贮器24同时运行读出和写入。在两个相连的时钟周期内,在这个8个第一周期中,写入操作和读出操作是在一个时钟周期内在第一个地址处完成的,接着在下一个周期内,读出操作在第二个地址处进行。在存贮器24内读出值的顺序是由算法固定的,即f(0),f(15),f(7),f(8),f(13),…,f(10),正如图4所示。因为写入必须在与读出相同的地址,而只是一半的速率,所以被变换的值必须以下述顺序加到输入端1:f(0),(7),f(3),f(4),f(1),f(6),f(2),f(5),接着:f(15),f(8),f(12),f(11),f(14),f(5),f(13),f(10)。
中间值存贮装置4由二个不同的存贮器21和22构成,该两存贮器21和22分别独立地存贮着加到计算装置6的第一和第二运算输入口的第一和第二运算量,存贮器21和22中的每一人由4个集成电路AM29707构成并能存贮16位的字。这些存贮电路的每一个都有一个数据输入口的及一个数据输出口。存贮器21和22的数据输入口形成装置4的二个数据输入口,其输出口形成装置4的二个数据输出口。存贮器21的地址口和存贮器22的地址口平行连到控制装置5的多输出端。存贮器21和22的读写控制输入也连到控制装置5的多输出端。
装置4由二个不同的存贮器21和22构成,因为它们必须同时存贮两个由计算装置6同时产生的值并给计算装置6同时提供二个运算值。它同样也可以用一个具有二输入端和二输出端的存贮器,但是在目前的技术条件下,这样的存贮器不具有足够的速度。
计算装置6包括一个计算电路28和二个具有二个输入和一个输出的多路转换器34和35,计算电路28具有二个输入端口30和31以形成装置6的第一和第二运算值输入。还有一个连到控制装置5多输出端的控制输入端29以及二个输出端口32和33。输出端32连到多路器34的第一输入端和多路器35的第一输入端。输出端33连到多路器34的第二输入端和多路器35的第二输入端。多路器34的输出和多路器35的输出分别构成装置6的第一和第二输出信号。多路器34和35分别具有并行连接在控制装置5的多输出端的二个控制输入。
计算电路在其输出端32和33分别产生如(A+B)的第一结果和如(A-B)×D的第二结果。当第一运算量A和第二运算量B被分别加到输入端30和输入端31时,在计算的休止时间内,由32端产生的结果在被装置4贮存以后用作为第一运算量或者加到输入端30或者在装置4存贮以后作为第二运算量加到输入端31。在图4中可以看出,运算图的第一列中的起始8条线上的中间值是A+B形式,而在最后8条线上的中间值是(A-B)×D形式的。
二个中间值中的一个和另一个分别形成计算电路28的第一和第二运算量。因此,形如A+B的作为第一运算量的结果必须交替存贮在存贮器21中,而作为第二运算量的则交替存贮在存贮器22中。同样地,为了式如(A-B)×D的结果,控制装置5控制多路器34和35以使由计算电路28提供的结果交替循环到存贮器21和22中。应该注意的是,如果装置4由二输入口二输出口的一个存贮器构成的话,则多路器34和35是不需要的。
同样也应注意到,在如图4所示的对应于修改的Beyeong    Gi    Lee的算法的运算图中,从上到下的一系列中间值是A、B形式交替的。装置4中的16个运算量的读出在8个时钟周期内被全部展开,另一方面,由运算电路28完成的每次运算产生的两个结果,将同时是未来的A形运算量或者同时是一未来的B形运算量。为了防止在存贮器21中同时写入二个A形结果以及在存贮器22中同样地写入二个B形结果,计算电路28把由其输出端32传送的A+B形信号延退一个周期以依次完成由计算电路28的每次运算产生的同样形式的两个结果的写操作。
计算装置8包括:四个多路器36和39,每个等价于一个具有一个电路和两个设置位置的开关;二个具有双地址口的RAM40和41。多路器36的第一输入和多路器37的第一输入分别构成计算装置8的第一和第二输入端口。多路器36的第二输入和多路器37的第二输入被连接在一起以构成计算装置8的第三输入端口。多路器36的输出和多路器37的输出被分别连到存贮器40的数据输入以及存贮器41的数据输入。存贮器40的输出连到多路器38的第一输入端和多路器39的第一输入端。存贮器41的输出连到多路器38的第二输入端和多路器39的第二输入端。多路器38的输出和多路器39的输出分别构成了计算装置8的第一和第二输出。
多路器36到39中的每个都具有一个连接到控制装置5的一个输出的控制输入端。存贮器40到41的每个具有连到控制装置5输出端的二个地址端和一个读写输入控制端。每个存贮器都由四个AM29707型集成电路构成,它允许存贮16位的16个字。二个存贮器40和41的存在允许同时由计算装置6的二个输出所提供的二个值同时被存贮。这样在8个时钟周期内可以存贮16个值。存贮装置8的二个输出允许一个值加到计算装置7,同时一个值加到变序装置9。这样装置9可以接收16个变换值而计算装置7可同时接收16个中间值这对于在32个时钟周期内完成17个加法运算是必须的。在存贮装置8的输入端接收数值和把数值馈送到存贮装置8的输出端的程序是通过在32个时钟周期内控制装置5产生控制信号列来实现的。
变序装置9由二个能存贮16位值的寄存器43和46以及二个RAM44和45构成。寄存器43和46分别构成连到装置9的数据输入端和输出端11的输入缓冲器和输出缓冲器。寄存器43的输出连到存贮器44的数据输入端和存贮器45的数据输入端。寄存器45的一个输入端连到存贮器44的输出端和存贮器45的输出端。存贮器44和存贮器45中的每个都具有分别连到控制装置5的多输出端的地址输入和读写控制输入的图中没有表示的连线。存贮器44和45中的每个由Cypress公司生产的具有256×4位容量的4块集成电路Cy    7    C122构成。
当变换值稳定时,它们被存贮在装置9中,然后由装置9变序后重新存储。控制装置5分别给存贮器44和45的地址输入端提供对应于二种次序的二个地址值序列信号。它们在对应于16×16值的周期内交替地给一个存贮器44或者45提供一个写入控制信号并给另一个存贮器提供读出控制信号。应该注意到,变换值以它们合适的频率写入,这就是说在等于时钟频率的频率下进行,但它们又在等于被加到输入端1上的被变换值的频率下被重存,这个频率则是用于计算的时钟频率的一半。
图8是说明计算电路28的一个实施例的方框示意图。该计算电路包括:8个能存贮16位字的寄存器50,51,54,55,57,59,60,62;一个加法器52;一个减法器53;一桶形(移位)寄存器58;一个120M56;一个乘法器61。输入端30和31分别连到寄存器50的输入端和寄存器51的输入端,以提供给它形成第一位运算量A的第一个16位字和形成第二运算量B的第二个16位字。寄存器50的输出端连到加法器52的第一输入和减法器53的第一输入。寄存器51的输出连到加法器52的第二输入端和减法器53的第二输入端。加法器52的输出连到寄存器54的输入。寄存器54的输出连到寄存器57的输入。寄存器57的输出连到输出端32以产生代表结果A+B的16位二字信号。
减法器53的输出端连到寄存器55的输入端。寄存器55的输出连到桶形寄存器58的数据输入端。桶形寄存器58允许16位字根据由加到控制输入端的二进位字决定的位数移位。该二进位字包括二位并且它是由ROM56的第一输出端所提供的。桶形寄存器58的一个输出连到寄存器59的输入端。寄存器59的一个输出端连到乘法器61的第一输入端。Ro    M56具有一连到寄存器60输入端以提供给它16位字D1的第二输出端,同时还具有一连接到输入端29以接收为该ROM56形成地址的5位二进位字的控制输入端。寄存器60的一个输出端连到乘法器61的第二输入端。乘法器61的一个输出连到寄存器62的一个输入端。寄存器62的输出端连到输出端33以提供给它一个代表结果(A-B)×D的16位二进制数。计算电路28的每个寄存器具有一时钟输入端。在图中没有画出,用以接收由控制装置产生的时钟信号。
乘以预定值D的运算,一方面,借助产生移位0,或1,或2,或3,位的桶形寄存器58的装置来实现,另一方面,通过乘法器61来实现。ROM56一方面产生表明由桶形寄存器58执行的位移值的2位二进制字D2,另一方面产生加到乘法器61的第二输入端的形成运算量的16位二进制字D1,D值是,
2D2×D;
在图4所示的计算过程中,必需由下列系数完成乘法:
1/(2C1) =0.50220 1/(2C9) =0.78809
1/(2C2) =0.50977 1/(2C10) =0.89990
1/(2C3) =0.52246 1/(2C11) =1.06055
1/(2C4) =0.54102 1/(2C12) =1.30640
1/(2C5) =0.56689 1/(2C13) =1.72241
1/(2C6) =0.60132 1/(2C14) =2.56274
1/(2C7) =0.64673 1/(2C15) =5.10107
1/(2C8) =0.70703
明显地,系数 1/(2C1) 到 1/(2C10) 是介于0.5到1之间的。用0位代表整数部分而用16位代表小数部分可以允许在变换计算装置中为所有计算保持同一形式。事实上,在由整数部分的13位和小数部分的3位所表示的值相乘以后,其结果是一个包括整数部分的13位和小数部分的16位的形式,在留下16个最高有效位,把其他舍并之后给出了代表整数部分的13位和代表小数部分的3位的格式。在整个计算中保持代表整数部分的13位形式和代表小数部分的3位形式可以简化加法器和减法器的操作。
另一方面,系数 1/(2C11) 到 1/(2C15) 是大于1的。这导致了一个问题,即由代表整数部分的3位部分和代表小数部分的13位部分的格式所表示的值的系数的乘法将导致代表整数部分的16位形式和代表小数部分的16位形式的产生。该结果在对最高有限的16位进行截位后具有一代表整数部分的16位和代表小数部分的0位的格式。这样,随着这样的乘法运算,可能会失去代表整数部分的13位和小数部分的3位的格式,从表征整数部分的13位和代表小数部分的3位格式到表示整数部分16位和代表小数部分的0位格式将引起被选择的以代表在整个计算中所需数值强函数的代表整数部分的13位和小数部分的3位格式的精度损失,和代表整数值的16位形式的过剩。
下面来考虑这个问题,对系数 1/(2C11) 到 1/(2C15) 执行乘法,一方面,应将被乘数左移1位,2位或3位,即把该值乘以2,4或8;另一方面,应将系数 1/(2C11) … 1/(2C15) 预先除以2或4或8,再将所得的数与上值相乘。
以系数 1/(2C11) 或 1/(2C12) 或 1/(2C13) 为乘数的乘法,应执行的被乘数的移位是左移1位,而加到乘法器61第二输入端的系数值则是:
1/2 × 1/(2C11) 或 1/2 × 1/(2C12) 或 1/2 × 1/(2C13) 。
与系数 1/(2C14) 相乘的乘法,由桶形寄存器58完成左移二位,并由乘法器61完成 1/4 × 1/(2C14) 的乘法。
与系数 1/(2C15) 的乘法,由桶形寄存器58完成左移3位并由乘法器61完成 1/8 × 1/(2C15) 的乘法。存贮器56存贮15个18位字,每个字包括控制位移的二位,可能是0,以及加到乘法器61第二输入端的系数值的16位码表示。
应该注意到在输入端30和输出端32间,数值经过了寄存器50,54,57,而在输入端31和输出端33间的数值通过四个寄存器51,55,59,62。因此形如(A-B)×D的结果被相对于形式A+B的结果延时一个时钟周期,这样这二个结果可连续的而不是同时地存贮在第一运算量存贮器21中或者第二运算量存贮器22中。
图9是说明计算装置的一个实施例的方框图。它包括具有16位字容量的二个寄存器67和68,以及一个加法器69。寄存器67的数据输入端连到输入端41以接收一个16位字。寄存器67的输出端连到寄存器68的数据输入端并连到加法器69的第一输入端。寄存器68的输出端连到加法器69的第二输入端。每个寄存器67和68具有一个连到输入端42的时钟输入端以接收由控制装置5产生的时钟信号。加法器69有一输出端连到输出端43以产生16位字输出。寄存器67和68串联在一起以同时提供给加法器69二个连续加到输入端41的值。例如,式E+G的和的计算,是通过在二个连续的时钟信号周期内。连续把E和G加到输入端41来的。为计算式(E++G)+H的和,必须在三个连续的时钟周期内,连续把E,再G,然后H提供到输入端41上。
在本实施例中,乘法器61是由AMD公司一个集成电路AM29517A构成的,每个加法器52和69是由AMD公司的集成电路74F374,74F381和74F182构成的减法器53也由同样的集成电路构成。
图10是更详细说明控制5的方框图,它们包括:上面已经说明的时钟,从0计数线31的二进位计数器250,从0计到511的二进位计数器251,ROM252,ROM253,以及解码器254,计数器250和251具有一时钟输入端连到时钟25的输出以及一连到输端2的置0输入端以接收对应于被变换的16个值的16个序列的同步信号,计数器251具有输出端连到ROM253的地址输入端以及解码器254输入端,该输出端提供一个计数结果的9位字,解码器254的输出当计数器251计数到64个时钟周期时提供一个对应于16×16被变换值的区域块开始的同步信号。该输出端连到输出端13。计数器251的输出端连到输出端13,计数器250的输出端连到ROM252的输入端以提供给它一个5位字,ROM252的输出端提供给存贮器24,21,22,37,56地址信号和读写控制信号,并给多路器34,35,36控制信号。ROM253具有输出端,它们给存贮器44和45提供地址和读写控制信号。
图11是根据本发明的图象编码装置的一个实施例的方框图,该装置包括:根据上述描述串联构成的二个一维直接余弦变换计算装置73和74,如图11所示的图象编码装置具有一输入端71以接收表示象素亮度值的数字值F(i,j)系列,这些数值被加到装置72的输入端以把一幅图象分解成对应于由16×16个亮度值组成的区域块的16×16个象素的区域块,装置72产生由16个值的16个系列组成的每个区域块,每个系列对应于一行的图象,并给变换计算装置73提供一个区块的同步信号。图象编码装置也包括一归一化装置75,一个变换编码装置76和输出变换值序列的输出端77,变换值被编码以减少信息量。
输入端71和72分别连到装置73的被变换值输入端和同步信号输入端。装置73具有一变换值的输出端和同步信号输出端,该两输出端分别连到装置74的被变换值的输入端和同步输入端。装置74具有一变换值输出端和同步信号输出端,分别连到归一化装置75的第和第二输入端,装置74把变换值F′(u)的一个个序列传送给装置75,归一化装置75具有一输出端,它连接到变换编码装置76的输入端以向它传送由变换值乘以预定系数构成的值F″(u,v)的一个系列,该预定系数被称为归一化系数。
每个一维直接余弦变换计算装置73和74执行对应于图4所示的一个系列的运算,接着它们产生必须被预定系数相乘以后以得到由公式1定义的理论变换值的变换值F′(u,v)。
F ′ ( u ,v ) = Σ i = 0 15 Σ j = 0 15 f (i . j ).cos (2 j + I ) .v. π 32 · cos (2i + I ) .u . π 32 (5 )
其中理论值是:
Figure 87104093_IMG4
这样N=16时的理论值即是:
F(u.v)= 1/64 c(u).c(v).F′(u.v) (7)
实际上,得到理论值F(u,v),以及在解码完成后存贮精确值F(i,j)是重要的。
为了把一幅图象解码,必须对直接变换得的值进行反余弦变换,反余弦变换式由上述公式(2)所定义。反变换的计算可用Beyeong    Gi    Lee的算法来完成,通过把如图1所示的运算图的时间轴反向。这样获得的值在依懒于被考虑的值而定的系数范围内等于由图2所定义的反变换后的值F(i,j)。从公式(2)可知,对于16×16个值的区块,每个反变换的精确值是:
f (i , j ) = Σ u = 0 15 Σ v = 0 15 c( u ). c( v) .f (u, v) . cos ( 2j + 1 ) 32 .v . π . cos (2 i + 1 ).u . π 32 (8 )
其中:
c(x)= 1 2 , 对于X=0;c(x)=1,对于x≠0时
该值f(i,j)可表示为二次用了Beyeong    Gi    Lee的算法所得到的F′(u,v)是函数,如公式(5)所示:
Figure 87104093_IMG5
假定编码是通过二次对F′(u,v)运用Beyeong    Gi    Lee的反向算法来执行的,所得的值如下形式:
Σ u = 0 15 Σ v = 0 15 F ′ (u , v) · cos (2 j +1) ·v · π 32 · cos (2 i +1 ) ·u · π 32 (10)
为使这些值等于完全反变换值f(i,j),必须把来自装置74的值F′(u,v)乘以:
1/64 ×C2(u)C2(v)= 1/256 (u=0 v=0)
1/128 (u≠0 v=0,u=0 v≠0;)
1/64 (u≠0 v≠0)
归一化装置75可设置在直接余弦变换计算装置73,74和反余弦变换计算装置之间,同时必须执行的以下乘法:
F(O,O)× 1/256
F(O,u)× 1/128
F(u,O)× 1/128
F(u,v)× 1/64
乘法系数都是2的幂,这样这些乘法可由桶形寄存器中的简单移位装置执行。相反,如果在每个一维变换计算装置中执行的是乘以2·C(K)的乘法,则该乘法将难以做到,因为c(o)= 1 2 , 不是2的整数次幂。
如上所述,在第二个一维变换计算装置输入端上的第一个一维变换计算装置的输出格式的改变引起了每个传输值的被2相除,为了补偿该被2相除的除法,归一化装置到实上执行以下乘法。
F″(0,0)=F′(0,0)× 1/128
F″(0,u≠0)=F′(0,u≠0)× 1/64
F″(v≠0,0)=F′(v≠0,u)× 1/64
F″(u≠0,v≠0)=F′(u≠0,v≠0)× 1/32
归一化装置75的结构是本领域技术人员所了解的。它可由桶形寄存器构成,该寄存器能有16位容量,能提供2位或者1位或者0位的右移,并能考虑到对应于以1相乘的乘法的5倍定点位移,该以1相乘的乘法对于所存值F′(u,v)都是一个因素。位移的数目由计数装置控制,该装置接收由时钟产生的时钟信号,与加到装置73和74的信号一样。并当装置74产生16×16个变换值F′(u,v)的每个序列时被装置74产生的同步信号置0。
变换编码装置76的目的是减少被传输的信息量。它可根据下列给出的说明构成:
IEEE通讯会刊,第COM-32卷,No    3,1984年3月由陈文生和威廉·克·普拉特(WEN-HSIUNG·CHEN    AND    WILLAM·K·RATT)所写的“自适应景物编码器”(Scene    Adaptive    Coder)。
这样的编码包括把每个变换值和阈值相比较,当变换值小于阈值时被认为是0,有变换值的用霍夫曼码(Huffman    code)传输,并通过间隔编码方法以矩阵方式传输这些变换的地址,间隔的长度通过霍夫曼码被自身编码。只有变换矩阵的第一个值F″(0,0)是以其绝对值传输。
图12是说明图象编码装置的一种变形的方框图。该变形包括为提高变换计算的精度的额外元件,其它元件保持不变并仍带有与图11所示的同样的标号,该种变形包括:为16×16个亮度值的每个序列接收同步信号的输入端78,接收被变换值的序列的输入端79;为计算16×16亮度值的每个序列的中间值的装置82;提供一个等于装置82的计算时间的延迟的延迟器80;一个减法器81;二个一维直接余弦变换计算装置73和74;一个归一化装置75,有二个输入端一个输出端的多路器84,控制该多路器84的装置83;加法器85,变换编码装置76,以及一输出端86。
输入端79连到延迟器80的输入端并连到装置82的输入端以计算平均值,减法器81的第一输入端连到延迟器80的输出端,第二输入端连到装置82的一个输出端并且其输出端连到装置73的输入端以使值变换。计算装置82的输出同样也连到多路器84的第一输入端。多路器84同样包括:接收恒0值的第二输入端,连到控制装置83输出端的控制输入端以及连到加法器85的第一输入端的输出端。
接收同步信号的输入端78连到装置73和83的同步输入端。装置73的变换值的输出连到装置74的输入端以使值被变换。装置73的同步输出端连到装置74的同步输入端,装置74的变换值的输出端连到归一化装置75的输入端。装置74的同步输出端连到装置75的同步输入端归一化装置75的输出端连到加法器85的第二输入端,后者的一个输出端连到变换编码装置76的一个输入端。装置76的输出端连到输出端86。
减法器81把16×16象素的区域块的每个亮度值减去这些亮度信号的平均值。接着装置73和74处理具有更少动态的被变换值,它提高了计算的精度或者说减少了用于代表被变换值的位数。在后者的情况下,计算装置更为简单。
在归一化装置75的输出端,加法器85允许对于每个16×16象素的区域通过把由计算装置82提供的平均值加到由归一化装置75提供的第一变换值上来修正精确值F″(0,0),对于归一化装置75产生的其它值,加法器85通过多路器84和控制装置83接收0值而不是平均值,控制装置83控制多路器84作为由归一化装置75产生的变换值的排列函数,装置83包括接收来自装置73和74的时钟信号的计数装置,并借助在输入端78接收的同步信号置0。
为了对彩色电视图象进行编码,必须提供二个相同的编码装置,其中一个处理亮度值而另一个处理色差值序列,红色差信号被夹在蓝色差信号值当中,接着色差值的总数等于亮度值的总数,这是根据亮度信号和色差信号的数字化的普通标准而定的。
图13是说明本发明的一维余弦变换计算装置的一种变形结构的方框示意图,该变形通过运用与刚刚说明的相似的装置,提高了精确度,它包括:一个相似于图7所示的一维余弦变换计算装置187并进一步包括:用于计算被变换的一个16值区域块的平均值的装置182;一个提供延迟等于装置182的计算时间的延迟装置180;一个减法器181;一个多路器184,控制多路器184的装置183,以及一个加法器185,输入端179连到延迟装置180的输入端并连到装置182的输入端以计算平均值,这样以提供被变换的16个值f(i,j)的序列。减法器181具有一个连接到延迟装置180的输出端的第一输入端,连到装置182输出端的第二输入端以及连到装置187的输入端1的输出端,它产生一个被变换值,计算装置182的输出也连到多路器184的第一输入端。多路器184具有:接收恒0值的第二输入端,连到控制装置183输出端的控制输入端以及连到加法器185第一输入端的输出端,加法器185的第二输入端连到装置187的输出端并且,其输出端连到输出端186的产生16个一维被变换值的序列。
接收对应于16个被变换值的每个序列的开始的同步信号的输入端178,连到装置187的同步输入端并且连到装置183的同步信号输入端。装置187的输出端13产生另一个对应于16个变换值的每个序列开始的同步信号,这些变换值由输出端186所提供。
减法器181从被变换的16个值的序列的每个值减去其平均值。接着装置187处理具有较少动态的被变换值,这样就提高了计算的精度或者减少了用于代表被变换值的位数。在后一种情况下,计算装置187可被简化。
在装置187的输出端,加法器185允许通过对每一个16变换值系列把计算装置182提供的平均值加到由装置187提供的第一变换值上,使精确值F′(0,0)被检索。至于由装置187提供的每个16变换值序列的其他值,加法器185通过多路器184和控制装置183接收一个0值信号而不是平均值。这些后者控制多路器184,把它作为由装置187产生的变换值排列的函数,它们包括一个计数装置以接收来自装置187的同步信号,并由输入端178所接收的同步信号装置置0。
另一种提高一维变换计算精度的改进方法,可以是通过把这些值的格式确定为这些被变换值的最大有效值的函数,而不是作为被变换值的强函数的函数。这样就可能把代表这些值的码尽可能左移并避免了在计算过程中溢出的冒险,自然地,在一维变换计算装置的输出端必须执行相反的位移以使回复到原先格式。
图14是说明图5所示实施例的一个变形的方框图,该图包括为提高这些装置精度的附加元件,这些元件是:三个桶形寄存器92,93,94;在16被变换值的一个序列中确定最大值的装置94;以及一个确定位移量的装置91。装置90的输入端连到输入端1以接收16被变换值序列,它具有一输出端连到装置91的输入端,该后者在计算装置6的输入端执行计算的移位的位数(D),这样在计算装置6中处理的数据决不会超过这些计算装置6的容量。
这样,加到计算装置6的值的形式并不是固定的,而是作为一个被变换值序列的16个值中最大有效值的函数而变化的,由装置91计算的位移通过桶形寄存器92和93来完成,这些桶形寄存器是设在输入存贮器3的输出端和计算装置6的二个运算输入端间的,这些寄存器92和93通过装置91输出所产生的二进制字控制。
桶形寄存器94位于变序装置9的输出端和一维直接余弦变换计算装置的输出端11间的,桶形寄存器94接收与寄存器92和93相同的二进制控制字但是它与寄存器92和93执行的方向相反执行D位的位移,使按定点格式重新存储变换值,包括代表整数部分的13位码和代表小数部分的3位码。
这些结构的变形不仅适用于第一个同时也适用于第二个一维余弦变换计算装置,它通过二维余弦变换形成一编码装置或者一个图象介码装置。这样,每个二维直接余弦变换计算装置自动决定了处理16个值的全部时间内所用的定点格式,通过把被变换值尽量左移且不导致计算过程中的溢出,该种变形当被变换值具有低动态时能提高精度,从而保持比用浮点的计算装置较简单的计算装置。
图15是一维反余弦变换根据Beyeong    Gi    Lee的算法完成的所有运算的时间分布图,这些运算产生16个值f(0),f(1),……,f(15)它们等于16个变换值F′(0),F′(8),F′(4),F′(12),F′(2),F′(10),F′(6),F′(14),F′(1),F′(9),F′(5),F′(13),F′(3),F′(11),F′(7)和F′(15)的反变换值,上述这些值通过运用修改的或没有修改过的Beyeong    Gi    Lee的算法而得到,这些值在一个系数范围内,等于16个由理论公式(1)所给出的变换后的值F(0),……,F(15)。该运算图可从图1所示的运算图对应于直接余弦变换把水平时间轴反向而得到。如图所示的该运算可被分成如下七列,第1列,第2列,……,第7列。就象直接变换的Beyeong    Gi    Lee的算法,该算法的逆变换在每列中需要一个不同的运算系列,它使实现运算的装置的结构复杂化。
为了简化实现运算的装置的结构,及变换的算法根据图16所示的相似方法修改,该种修改允许在图中的第4列,第5列,第6列,第7列中得到相同运算序列。为了描述该修改,标号被赋于由图15所示运算所提供的某些中间值。由第3列的运算所提供的中间值被称为:J(0),J(8),J(4),J(12),J(2),J(10),J(6),J(14),J(1),J(9),J(5),J(13),J(3),J(11),J(7),J(15)。由第四列运算所提供的中间值被称为:K(0),……,K(15)。由第5列运算所提供的中间值被称为L(0),……,L(15)。由第6列运算所提供的中间值被称为M(0),……,M(15)。
在图15中,可以看出第5列,第6列和第7列的运算可被分成能构成连续计算形式A+D×B和A-D×B二值的基本运算,上述二式来自运算量A和B以及预定恒定值D。
图17是从图15中抽出来的例子,说明由二中间值L(0)和L(2)及恒值 1/(2C2) 来计算M(0)和M(2)的示意图,其中L(0)L(2)被事先计算好了。图15所示的第1,2和3列中所示的运算是简单加法或者是无修改的传输。
图15所示的图被修改,这样如图17所示形式的基本运算可在两个连续得到的运算量上执行,因此,修改包括修改连续的第4列,第5列,第6列和第7列,以形成为每个基本运算所需的二个运算量的连续值。在如图17所示的例子中,修改包括改变第5列的计算的次序以使中间值L(0)和L(2)连续获得,以能快速执行图17所示的基本运算。运算图的修改包括在同一列中构成置换二个中间值的基本修改的组合。
在这些修改完成以后,由列提供的中间值的顺序是:值J(0),……,J(15)的次序没有改变。由第4列计算所提供的值的顺序是:K(0),K(4),K(2),K(6),K(1),K(5),K(3),K(7),K(8),K(12),K(10),K(14),K(9),K(13),K(11),K(15),第五列的计算所提供的值的顺序是L(0),L(2),L(1),L(3),L(8),L(10),L(9),L(11),(4),L(6),L(5),L(7),L(12),L(14),L(13),L(15)。由第6列计算提供的值的顺序是M(0),M(1),M(8),M(9),M(4),M(5),M(12),M(13),M(2),M(3),M(10),M(11),M(6),M(7),M(14),M(15)。
该修改的运算图具有重复的结构,可获得对应于同样运算的四列第4,5,6,7列的64个中间值,它用一个具有接收值A和B的第一,第二运算输入端,接收值D的第三运算输入端以及分别产生A+D×B和A-D×B值的二个输出端的计算装置。如果这样的计算装置在二倍于得到变换值的频率下产生一对值,则一个计算装置在对应于16个变换值的时间内足以获得64个中间值。
结果是反变换计算装置具有非常简单的结构,在第1,2,和3列中的计算运算由17次加法构成,而17次加法运算在对应于16个变换值的时间内易于执行,只要这些计算是在二倍于得到变换值的频率下进行。对于直接变换,应该注意到,这些加法通常是连加形式的,必须提供存贮中间值的存储器,这些中间值由计算装置提供的结果或加到这些计算装置上的运算量的值交替形成。
图18是说明本发明的一维反余弦变换计算装置的一个实施例的方框图,该实施例包括:一个接收16个一维直接余弦变换值或其它16个二维直接余弦变换值的16值系列的输入端11′,对后者的情况下,用二个相串联的本发明的装置作为一个二维反变换计算装置;接收同步信号的输入端2′;变序装置9′;控制装置5′;第一和第二中间值存贮装置4′和8′;第一和第二计算装置6′和7′;根据图16所示运算图所计算的产生一个16反变换值系列的输出端1′;以及产生同步信号的输出端13′。
变序装置9′具有一连到输入端11′的接收每个16位二进制字的数据输入端;以及一连到存贮装置8′的第一输入端的产生16位字的输出端。装置8′具有一连到计算装置7′以提供16位二进制字的第二输入端,装置8′具有一个分别耦合到计算装置6′的第一、第二运算输入端的第一、第二输出端,并且具有一连到计算装置7′以提供16位二进制字的第三输出端。存贮装置4′具有分别耦合到计算装置6′的第1、第2输入端并耦合到反变换计算装置的输出端1′的第一、第二输出端、计算装置6′具有分别连到装置4′的第1、第2输入端的第1、第2输出端。
图16所示的运算图不能由图4所示的运算图通过把其水平时间轴反向而得到,但是它们与图4所示的有相似之处,这些相似之处对应于反变换计算装置和直接变换计算装置结构的相似之处,构成反变换计算装置的相似元件带有与直接变换计算装置同样的数字标号,但还另附上标(,)。
变序装置9′存贮并改变由输入端11′接收的16×16个变换值的顺序,以把要变换的值变成如图16所示的运算图左边所示的顺序:F′(0),F′(8),……,F′(7),F′(15)。当二个一维反余弦变换计算装置串联在一起以形成一个二维反余弦变换计算装置时,包括变序装置9′的第一计算装置存贮了16个直接变换值的16个序列,它们一般是如图6所示的顺序,第二计算装置存贮了16个16变换值序列,它们是由第一装置以行的顺序所提供的,并以列的顺序重存。
中间值存贮装置8′的目的是存贮由计算装置7′计算的中间值并将其重新送入装置7′的输入端或者送到计算装置6′的二个运算输入端,装置7′和8′以闭合电路形式工作以完成如图16所示的第1,2和3列中的计算。装置7′计算由连续加到其输入端的二个运算量E和G构成的形式E+G的值,计算装置6′计算由连续加到二个运算输入端的运算量A和B构成的二式A+D和A-D×B的二个值。计算装置6′完成的算术运算与直接变换计算装置中的计算装置6完成的运算不同。
中间值存贮装置4′存贮由装置6′计算的值,并把它们提供给装置6′的运算输入端或者提供给反变换计算装置的输出端1′,装置6′和4′以闭路形式工作以完成图16所示的第5,6和7列中的计算,接着反变换后的值被送到输出端1′,控制装置5′产生控制整个反变换计算装置的全部元件的时钟信号和控制信号,特别是:时钟信号在二倍于被变换值加到输入端11′的频率下控制计算。装置5′接收来自输入端2′的对应于连续加到输入端11′和16×16个直接变换值的每个区域块开始时的同步信号,它们提供给输入端13′以一个对应于由输出端1′提供的16×16个反变换值的每个区域块开始的同步信号。
图19和图20是该实施例的更详细的方框图,装置5′包括一产生22.5MHZ频率时钟信号的时钟25′和一定序器26′,定序器26′由时钟25′控制以产生加到输出端13′的控制信号和同步信号,变序装置9′由二个寄存器43′和46′以及二个RAM44′和45′构成,每个存贮器具有16×16个直接变换值的容量,它们交替工作,当一个用于写入时另一个用于读出。每个存贮器由西·皮里斯(Cypress)公司的四块集成电路Cy    7    C122构成。
寄存器43′具有一连到输入端11′的作为装置9′输入的输入端,以及一连到存贮器44′数据输入端和连到存贮器45′的数据输入的输出端。寄存器46′具有一连到存贮器44′数据输入端并连到存贮器45′数据输出端的输入端,以及一构成装置9′输出端的输出端。
每个存贮器44′和45′都有一连到控制装置5′多输出端上的地址输入端和读写控制输入端。寄存器43′具有一控制输入端,图中未画出,以在加到输入端11′的直接变换值的频率下接收装置5′提供的时钟信号,寄存器46′具有一控制输入端,图中未画出,在加到输入端11′的直接变换值的二倍频率下以22.5MHZ的频率接收装置5′提供的时钟信号。存贮器44′或者45′的读出运行是在二倍于这些存贮器写入运行的频率下进行的,对所有由装置清0′而重存的值的计算是在二倍于加到输入端11′的直接变换值的频率下进行的,计算装置7′是与直接余弦变换计算装置中的装置7相同的。
装置8′包括:具有二个输入端一个输出端的三个多路器100到102;双地址端口和双输出端口的两个RAM103和104。多路器100和101的两个第一输入端连到装置8′的第一输入端,二个第二输入端连到装置8′的第二输入端并且两输出端分别连到存贮器103的数据输入端和存贮器104的数据输入端。每个存贮器103和104具有二个输出端,连到存贮器103的是A1,A2,连到存贮器104的是B1,B2。多路器102的第一输入端连到输出端A1,第二输入端连到输出端B2,输出端构成了装置8′的输出端,它是连到计算装置7′的输入端的。
输出端A1和B1构成了装置8′的第1输出端,输出端A2和B2构成了装置8′的第二输出端,每个多路器101和100具有连到控制装置5′输出端的控制输入端。每个存贮器103和104具有16×16个值的容量,可由AMD公司生产的四个集成电路AM29707构成。它在每个存贮器中可同时执行读出和写入操作,多路器100和101使由装置9′产生的直接变换值或者由装置7′产生的中间值存贮在存贮器103或104中,多路器102使存贮在存贮器103中的值或者存贮在存贮器104中的值传输到装置7′的输入端。
计算装置6′包括:8输入端和二输出端的多路器107;计算电路108;以及有四输入端二输出端的多路器109,多路器107的第一输出端连到计算装置108的第一输入端A3,多路器107的第二输出端连到计算装置108的第二输出端133。多路器107的第一组四个输入端0,1,2,3可接通第1输出端,第一组四个输入端分别连到存贮器103和104的输出端A1和B1以及中间值存贮装置4′的输入端112和113,多路器107的第二组四个输入端0,1,2,3可接通该多路器107的第二输出端并分别连到存贮器103和104的输出端A2和B2以及装置4′的输出端122和123。多路器107由控制装置5′产生的二位二进制字P4,P5控制。
多路器109的第一组二个输入端分别连到计算电路108的第1,第2输出端;第二组二个输入端分别连到电路108的第二和第一输出端,并且第一和第二输出端在控制信号的作用下可分别与第一组输入端或第二组输入端相连,这些输出端构成计算装置6′的二输出端,并且分别连到装置4′的输入端114和115。多路器109有一个接收由装置5′输出端产生的二进制控制信号P0的控制输入端。
多路器107允许对信号源进行选择,以选出加到计算电路108的输入端A3的值和加到输入端B3的值。有四种可能的信号源:存贮器103,存贮器104和二个后面将讨论的构成存贮装置4′的存贮器,用多路器109,可对由计算电路108产生的二值进行排列以使它们在时钟信号的定时下,交替送至构成存贮装置4′的二个存贮器中的一个。
图20说明存贮装置4′的方框图,它们包括:二个存贮器21′和22′,其中每一个由二个存贮器构成;还有四个输入端一个输出端的多路器127。存贮器21′由二个RAM124和125构成,存贮器24′由二个RAM126和127构成,每个存贮器124至127具有16位的16个值的容量。它们的输出端口被分别称为R1,R2,R3,R4。多路器128的四个输入端被称为0,1,2,3,并可与其输出端相通,构成存贮装置4′的输出端,并被连到输出端1′,多路器具有一连到5′输出端的控制输入端,它由二位二进制字P4,P5控制,与多路器107一样。
存贮器124的输出端R1连到装置4′的输出端112并连到多路器128的0输入端,存贮器125的R2输出端连到装置4′的输出端113并连到多路器128的输入端2,存贮器126的输出端R3连到装置4′的输出端122并且连到多路器128的输入端1。存贮器127的输出端R4连到装置4′的输出端123并且连到多路器128的输入端3。每有存贮器124至127由四个集成电路AM29707构成,其第二输入口不用。每个存贮器124至127具有一个读地址口,写地址口和读写控制端,它们是连接到控制装置5′的输出端的,存贮器124和125交替被控制读出或写入以存贮或重存结果A+B×D;相似地,存贮器126和127交替地用作读出和写入操作的存贮和重存由装置8′计算的式A-B×D的结果。当一个结果形成了一个反变换值时,多路器128把该值传送输出端1′。所有由控制装置5′产生的控制信号具有一等于32个控制计算的时钟信号周期。
图21是计算电路28的一个实施例的方框图,它包括:九个寄存器130,131,134,135,137,138,141,142,143。每个都具有16位二进制值的容量,桶形宥存器133,一个ROM132;一个加法器139;一个减法器140;三个输入端29′,30′,31′分别接收由16位代表的运算量A,由16位代表的运算量B以及由65位代表的控制字;上述各信号由控制装置5′产生,寄存器130有一连到寄存器137输入端的输出端,寄存器131有一连到桶形寄存器133输入端的输出端。寄存器134的输入端连到桶形寄存器133的一个输出端并其输出端连到乘法器136的第1输入端。寄存器135的输入端连到ROM132的数据输出端,该输出端产生16位写D1同时其输出端连到乘法器136的第二个运算输入端。
桶形寄存器133的移位控制输入端连到ROM132的数据输出端产生二位二进制字D2寄存器138的输入端连到乘法器136的输出端以产生代表D·B的16位二进制字并且其输出端连到加法器139的第一输入端并连到减法器140的第1输入端。寄存器137有一输出端连到加法器139的第二输入端并连到减法器140的第二输入端,寄存器141有一输入端连到加法器139的输出端以及一构成电路28′第一输出端的输出端并连到装置4′的输入端114以产生值A+D·B,寄存器142有一输入端连到减法器140的输出端并有一输出端连到寄存器143的输入端,该后者有一形成电路28′第二输出端的输出端并被连到装置4′的输入端115以产生值A-D·B,乘法器136由一AMD生产的集成电路Am29517构成,每个加法器139和减法器140由AMD生产的集成电路74F374,74F381,74F182装置构成。
在整个一维反余弦变换计算装置中,数值的格式都是以10位代表整数部分,包括符号位。以6位代表小数部分。该种格式被选择是因为它可以表示直接变换值、中间值和反变换值的最大值而不出现溢出。
预定值D和B的乘法运算的完成,一方面,由桶形寄存器装置133产生一个0或1或2或3位的位移,在另一方面,由乘法器136装置来完成的,存贮器132一方面产生一个表示被进行的位移值的二位二进制字D2;另一方面,产生构成加到乘法器136第二输入端的16位二进制字运算量D1,D的值等于2D2×D1,D的值是如图16所示的运算图所表示的值,乘法器136,桶形寄存器133和ROM132允许获得数值的预定形式,用10位代表整数部分并且3位代表小数部分,其运行情况相似于直接变换计算装置的计算电路28所描述的那样。
每个寄存器130,131,134,135,137,138,141,142,143具有一时钟输入端以接收控制装置5′产生的时钟信号。寄存器143的目的是把值A-D·B相对于由同样运算量A和B决定的值A+D·B延迟一个时钟周期,以把它们连续地而不是同时存入存贮器21′和存贮器22′中。
图22是说明对于被二维直接余弦变换的编码进行解码的解码装置方框图,该装置包括下列串联装置:为对二维直接余弦变换值进行解码的装置150,二个一维反余弦变换计算装置151和152;加法器153;为重新构成图象行的装置154,输入端149接收16×16个代表16×16二维直接余弦变换区域块的编码值,该编码值使用了例如IEEE通讯会刊,第COM-32卷,N°3,1984年3月的由陈文生和威廉·克·普来特(WEN-HSIUNG·CHEN    and    William·K·PRATT)在“自适应景物编码器”中使介绍的方法而得到。
解码装置150用与编码过程相反的方法对编码进行解码,在同样的文中也有描述,装置150产生的译出码送给装置151的第一输入端,解码装置150同样也产生一个同步信号加到装置151的第二输入端,以对应于每个它送过去的16×16解码值区块。装置151逐行连续地对每个块执行一维余弦变换。它提供给装置152的第一输入端以一个由16个值的16个系列构成的数据包,同时还有一个加到装置152的第二输入端的同步信号,装置152逐列连续地对装置151产生的数据包16个值的16个系列进行一维反余弦变换。
装置152的输出端连到加法器153的第一输入端并产生一个Y值的16位二进制字,代表整数部分并包括y的符号位10位和代表小数部分的6位码。加法器153的第二输入端接收一位值Y的符号位,表示为sign(Y)。加法器153通过把sign(Y)被加的位上而把Y的符号位加到代表Y的16位二进制字中,这个符号位对应于小数部分的最高有效位,也就上说从右边数的第6位。因此加法器153当Y是一个负值时把Y值加上0.5,这样统计地说提高了复原亮度值的精确度,编码和译码错误的统计研究说明了对于每个缺陷的一个统计错误可以通过把每个编码亮度值当值Y为负时加上校正值0.5,并且当Y值是正时加上0来减少。
加法器153的输出端产生一个代表亮度值的16位二进制字,包括代表整数部分的10位以及代表小数部分的6位,二个最高位和小数部分的位可以把负的或大于255的Y值进行检测和削减。用对应于16×16象素的区域块的16×16数据包来复原亮度值,必须重新构成对应于分析图象的一般顺序的亮度值序列,这就是说,对应于连续各行的每个点。该作用是通过行复原装置154来完成的,它把亮度值f(i,j)回复到原来的顺序,并把它们传输到解码装置的输出端。
本发明可特别应用到数字式录相机的电视图象编码和解码中。

Claims (21)

1、一个变换16值系列的一维直接余弦变换计算装置包括:
存贮被变换的16值系列的输入存贮器;
计算式A+B和(A-B)×D的二个值的第一计算装置,其中A和B是两个分别加到输入端的运算量,D是预定的正系数;
耦合到第一计算装置以向其传输作为运算量的预先计算好的值并耦合到输入存贮器的第一中间值存储装置;
计算式E+G的值的第二计算装置,其中E和G是连续加到这些第二计算装置输入端的二个运算量;
耦合到第二计算装置以向其传输作为运算量的预先计算好的值并耦合到变换计算装置的输出端产生一个16被变换值系列的第二中间值存贮装置;
控制输入存贮器、第一和第二中间值存贮装置,第一和第二计算装置的控制装置,借助于具有二倍于被变换值频率的并具有对应于一个16被变换值系列周期的控制信号;并借助于一具有二倍于被变换值频率的时钟信号。
2、如权利要求1所述的装置,其特征在于第一和第二中间值存贮装置及第一和第二计算装置处理小数点位置预先确定的数据格式。
3、如权利要求2所述的装置,其特征在于小数点的位置根据所有被变换的16值系列的强函数一次性预先确定。
4、如权利要求2所述的装置,其特征在于为了提高计算精度,小数点位置是在被变换值的每个16值序列的变换计算以前,作为每个系列最大值的函数来确定的,并进一步包括;
确定被变换的16个值的最大值的装置;
由该最大值计算对应于加到被变换值的最大左移而不引起变换计算过程溢出的位移值D的计算装置;
把每个加到所述第一计算装置的第一和第二个值左移D位的第一和第二桶形寄存器;
把由第二所述存贮装置的第一输出端产生的值右移D位的桶形寄存器。
5、如权利要求1所述的装置,其特征在于所述的第一计算装置包括:
接收二个值A和B并产生A+B和(A-B)×D的计算电路,A+B值被延迟一个时钟周期;
在计算装置以时钟频率排列被传输的值时传输该二值分别到计算装置的第一和第二输出端的多路(转换)器;并且,所述第一中间值存贮装置包括二个分别存贮由所述第一计算装置的第一第二输出端产生的值的存贮器,并可分别把它们传输给所述第一计算装置的第一和第二输入端。
6、如权利要求1所述的装置,其特征在于输入存贮器包括RAM,该RAM具有耦合到输入端以接收被变换值的输入端,分别形成所述输入存贮器的第一和第二输出的第一和第二输出端口,耦合到所述控制装置的控制输入端和两个地址口;该控制装置在以它们传输给变换计算装置的频率下,控制16个被变换值的写入;并在时钟信号频率下控制其读出。
7、如权利要求1所述的装置,其特征在于所述第二中间值存贮装置包括;
二个RAM,每个具有一数据输入端口,二个地址端口,一个数据输出端口和一个耦合到控制装置输出端的控制输入端;
把二个数据输入口耦合到第一和第二计算装置的输出口并把二个数据输出口耦合到所述第二计算装置的输入口及变换计算装置的输出口的多路转换装置;其中控制装置控制多路转换装置和二个存贮器以完成;
在第一16个时钟周期内把由第一计算装置产生的一对值写入存贮器内;
从所述第二存贮装置的存贮器中读出传送到第二计算装置的16个中间值和传输到输出端的16个变换值;并且把在另外16个时钟周期内由第二计算装置产生的16个值写入存贮器。
8、如权利要求1所述的装置,其特征在于所述第一计算装置包括:
一个乘法器;
一个桶形寄存器;
一个ROM,
为了执行(A-B)乘以D的乘法,在获得如式A-B相同形式的结果时,ROM产生一预定系数D1加到乘法器的第一输入端并产生一预定值D2加到桶形寄存器的控制输入端以控制使该寄存器的内容左移D2位,D1是正的和小于等于1的值,而D2是正整数或0,这样2Dz×D1=D并且桶形寄存器产生一值A-B,左移D2位后,加到乘法器的第二输入端。
9、如权利要求1所述的装置,其特征在于为了提高计算的精度,包括用于在变换以前从一个16被变换值序列的每个值中减去被变换的16个值的平均值的装置;并且还有一个把该平均值加到对应于该平均值的被变换值的装置。
10、如权利要求1所述的装置,其特征在于中间值存贮装置的输出耦合到变换计算装置的输出端,它是通过把变换的值变序的装置来实现的,该装置具有16×16个值的容量并以对应于16×16个被变换值的周期由控制装置控制。
11、用二维余弦变换来对图象编码的装置包括如权利要求1到10所述的二个一维余弦变换装置构成。
12、如权利要求11所述的编码装置,包括为提高编码的精确度,用于从每个被变换值中减去,在编码前,代表16×16个象素的一个区域块的,被变换的16×16个值的平均值;以及把该平均值加到对应于该平均值的变换换的装置。
13、为变换一个16直接变换值系列的一维反余弦变换计算装置,包括:
提供值E+G的第一计算装置,其中E和G是二个连续加到第一计算装置输入端的运算量;
耦合到第一计算装置的输入端和输出端的用以给它提供作为运算量的预先被算好的值并耦合到输入端以接收被变换值的第一中间值存贮装置;
用以计算两个值如式A+D·B和A-D·B的第二计算装置,其中A和B是两个分别加到该第二计算装置两输入端的运算量,D是预定系数;
耦合到第二计算装置的用以给它提供作为运算量的预先计算好的值并耦合到反变换计算装置的输出端以给该输出端提供16个被变换值组成的系列的第二中间值存贮装置;
控制装置控制第一、第二中间值存贮装置和第一、第二计算装置使用了具有二倍于被变换值频率并具有对应于16个被变换值系列的周期的控制信号,而且借助于具有二倍于被变换值频率的时钟信号。
14、如权利要求13所述的装置,其特征在于在所述第一和第二中间值存贮装置和所述第一和第二计算装置中,被处理的数值具有小数点的位置被预定的形式。
15、如权利要求14所述的装置,其特征在于小数点的位置是根据所有由16个被变换值组成的序列的各值的强函数来一次确定的。
16、如权利要求13所述的装置,其特征在于所述第二个计算装置包括:
计算电路接收二个运算量A和B并产生二个值A+D·B和A-D·B,值A-D·B被延迟一个时钟周期;
当计算装置在时钟信号期间把被变换的值排序时,分别把上述两值传输给计算装置的第一和第二输出端的多路器;
所述中间值存贮装置包括两个独立的存贮器,以存贮分别由所述第二计算装置的第一和第二输出端产生的值,并且分别把它们传输给第二计算装置的第一和第二输入端。
17、如权利要求13所述的装置,其特征在于所述第一中间值存贮装置包括:
二个RAM,其中每个具有数据输入口,二个地址口,二个数据输出口和控制输入耦合到所述控制装置的输出端;
多路器以把第一计算装置的二个数据输入端口和一个输出口耦合到反变换计算装置输入端,并把二个数据输出口耦合到所述第二计算装置的输入端。
18、如权利要求13所述的装置,其特征在于所述第二计算装置包括:
一个乘法器;
一个桶形寄存器;
一个ROM;
一个加法器;
一个减法器;
并且,在获得与B同样形式的结果时,为执行由D乘B的乘法运算,ROM给乘法器的第一输入端提供预定值D1并给桶形寄存器的控制输入端提供预定值D2以控制该寄存器内的内容B值左移D2位,当值D1是正的且小于等于1同时值D2是正整数或0时,则2Dz×D1=D,桶形寄存器把左移D2位的值B传输给乘法器和第二输入端。
19、如权利要求13所述的装置,其特征在于进一步包括一个用来改变直接变换值顺序的装置,它具有16×16个值的容量,它把中间值存贮装置的输入耦合到变换计算装置的输入端并以对应于16×16个被变换值的周期由控制装置控制。
20、用二维余弦变换介码图象的装置包括二个如权利要求13到19所述的一维反余弦变换计算装置。
21、如权利要求20所述的介码装置,其特征在于包括,为提高编码的精度,用于把每个反变换的值Y加上等于0.5×sign(Y)的值的装置,其中sign(Y)是Y的符号位值。
CN87104093A 1986-06-06 1987-06-06 一维余弦变换的计算装置以及包括该计算装置的图象编码装置和解码装置 Expired CN1009772B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR608219 1986-06-06
FR8608219A FR2599872B1 (fr) 1986-06-06 1986-06-06 Dispositifs de calcul de transformees cosinus mono-dimensionnelles, et dispositif de codage et dispositif de decodage d'images comportant de tels dispositifs de calcul
FR8608219 1986-06-06

Publications (2)

Publication Number Publication Date
CN87104093A true CN87104093A (zh) 1987-12-16
CN1009772B CN1009772B (zh) 1990-09-26

Family

ID=9336101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN87104093A Expired CN1009772B (zh) 1986-06-06 1987-06-06 一维余弦变换的计算装置以及包括该计算装置的图象编码装置和解码装置

Country Status (8)

Country Link
US (1) US4912668A (zh)
EP (1) EP0248729B1 (zh)
JP (1) JP2531955B2 (zh)
KR (1) KR960001276B1 (zh)
CN (1) CN1009772B (zh)
DE (1) DE3779182D1 (zh)
ES (1) ES2031526T3 (zh)
FR (1) FR2599872B1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1076838C (zh) * 1994-08-19 2001-12-26 财团法人工业技术研究院 离散余弦转换/反离散余弦转换电路的转置存储器
CN104050148A (zh) * 2013-03-15 2014-09-17 美国亚德诺半导体公司 快速傅里叶变换加速器

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0576749B1 (en) * 1992-06-30 1999-06-02 Discovision Associates Data pipeline system
GB9405914D0 (en) * 1994-03-24 1994-05-11 Discovision Ass Video decompression
FR2625399A1 (fr) * 1987-12-23 1989-06-30 Radiotechnique Ind & Comm Dispositif de regulation de debit conjointe a au moins deux composantes de signaux video numeriques
FR2643477B1 (fr) * 1989-02-23 1991-06-07 France Etat Procede de determination de transformee en cosinus discrete
IT1235263B (it) * 1989-06-02 1992-06-26 Sgs Thomson Microelectronics Metodo e dispositivo per il calcolo aritmetico di trasformate bidimensionali.
US5416854A (en) * 1990-07-31 1995-05-16 Fujitsu Limited Image data processing method and apparatus
US5875266A (en) * 1990-07-31 1999-02-23 Fujitsu Limited Image data processing a method and apparatus
US5933538A (en) * 1990-07-31 1999-08-03 Fujitsu Limited Image data processing method and apparatus
US7142720B1 (en) 1990-07-31 2006-11-28 Fujitsu Limited Image data processing method and apparatus
DE69225628T2 (de) * 1991-02-19 1998-11-26 Matsushita Electric Ind Co Ltd Gerät für die orthogonale Transformation für die Videosignalverarbeitung
US5870497A (en) * 1991-03-15 1999-02-09 C-Cube Microsystems Decoder for compressed video signals
US5293330A (en) * 1991-11-08 1994-03-08 Communications Satellite Corporation Pipeline processor for mixed-size FFTs
US6680975B1 (en) 1992-02-29 2004-01-20 Samsung Electronics Co., Ltd. Signal encoding and decoding system and method
KR960006762B1 (ko) * 1992-02-29 1996-05-23 삼성전자주식회사 화상부호화를 위한 효율적인 2차원 데이타의 주사선택회로
EP0575675B1 (en) * 1992-06-26 1998-11-25 Discovision Associates Method and apparatus for transformation of signals from a frequency to a time domaine
US5809270A (en) * 1992-06-30 1998-09-15 Discovision Associates Inverse quantizer
US6079009A (en) * 1992-06-30 2000-06-20 Discovision Associates Coding standard token in a system compromising a plurality of pipeline stages
US5835740A (en) * 1992-06-30 1998-11-10 Discovision Associates Data pipeline system and data encoding method
US6112017A (en) * 1992-06-30 2000-08-29 Discovision Associates Pipeline processing machine having a plurality of reconfigurable processing stages interconnected by a two-wire interface bus
US5821885A (en) * 1994-07-29 1998-10-13 Discovision Associates Video decompression
US5768561A (en) * 1992-06-30 1998-06-16 Discovision Associates Tokens-based adaptive video processing arrangement
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
US6067417A (en) * 1992-06-30 2000-05-23 Discovision Associates Picture start token
US6047112A (en) * 1992-06-30 2000-04-04 Discovision Associates Technique for initiating processing of a data stream of encoded video information
US6330665B1 (en) 1992-06-30 2001-12-11 Discovision Associates Video parser
US7095783B1 (en) 1992-06-30 2006-08-22 Discovision Associates Multistandard video decoder and decompression system for processing encoded bit streams including start codes and methods relating thereto
US5394349A (en) * 1992-07-10 1995-02-28 Xing Technology Corporation Fast inverse discrete transform using subwords for decompression of information
US5805914A (en) * 1993-06-24 1998-09-08 Discovision Associates Data pipeline system and data encoding method
US5861894A (en) * 1993-06-24 1999-01-19 Discovision Associates Buffer manager
US5699544A (en) * 1993-06-24 1997-12-16 Discovision Associates Method and apparatus for using a fixed width word for addressing variable width data
CA2145379C (en) * 1994-03-24 1999-06-08 William P. Robbins Method and apparatus for addressing memory
CA2145361C (en) * 1994-03-24 1999-09-07 Martin William Sotheran Buffer manager
CA2145365C (en) * 1994-03-24 1999-04-27 Anthony M. Jones Method for accessing banks of dram
GB9417138D0 (en) * 1994-08-23 1994-10-12 Discovision Ass Data rate conversion
JP3665423B2 (ja) * 1995-08-28 2005-06-29 セイコーエプソン株式会社 高速フーリエ変換演算器及び高速フーリエ変換演算装置
US5854757A (en) * 1996-05-07 1998-12-29 Lsi Logic Corporation Super-compact hardware architecture for IDCT computation
CN1213612C (zh) * 1997-11-17 2005-08-03 索尼电子有限公司 用于采用离散变换进行数字视频数据去压缩的方法和系统
US7190847B2 (en) * 2002-02-12 2007-03-13 International Business Machines Corporation Method, system, and program for fractionally shifting data subject to a previous transformation
US7293579B2 (en) * 2004-07-08 2007-11-13 Caterpillar Inc. Poppet valve arrangements

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3746848A (en) * 1971-12-27 1973-07-17 Bell Telephone Labor Inc Fft process and apparatus having equal delay at each stage or iteration
US4449194A (en) * 1981-09-25 1984-05-15 Motorola Inc. Multiple point, discrete cosine processor
JPS58151675A (ja) * 1982-03-05 1983-09-08 Hitachi Ltd 二次元高速フ−リエ変換処理方法
FR2561011B1 (fr) * 1984-03-09 1986-09-12 Cit Alcatel Processeur de calcul d'une transformee discrete inverse du cosinus
FR2561010B1 (fr) * 1984-03-09 1986-09-12 Cit Alcatel Processeur de calcul d'une transformee discrete du cosinus
JPS60245082A (ja) * 1984-05-18 1985-12-04 Nippon Telegr & Teleph Corp <Ntt> 高速フ−リエ変換装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1076838C (zh) * 1994-08-19 2001-12-26 财团法人工业技术研究院 离散余弦转换/反离散余弦转换电路的转置存储器
CN104050148A (zh) * 2013-03-15 2014-09-17 美国亚德诺半导体公司 快速傅里叶变换加速器
CN104050148B (zh) * 2013-03-15 2018-02-06 美国亚德诺半导体公司 快速傅里叶变换加速器

Also Published As

Publication number Publication date
ES2031526T3 (es) 1992-12-16
EP0248729A1 (fr) 1987-12-09
JP2531955B2 (ja) 1996-09-04
DE3779182D1 (de) 1992-06-25
FR2599872A1 (fr) 1987-12-11
FR2599872B1 (fr) 1988-07-29
CN1009772B (zh) 1990-09-26
US4912668A (en) 1990-03-27
KR880001165A (ko) 1988-03-31
KR960001276B1 (ko) 1996-01-25
JPS6312070A (ja) 1988-01-19
EP0248729B1 (fr) 1992-05-20

Similar Documents

Publication Publication Date Title
CN87104093A (zh) 一维余弦变换的计算装置以及包括该计算装置的图象编码装置和解码装置
CN1149496C (zh) 自适应视频信号运算处理装置
CN1238799C (zh) 在运动估计或补偿中进行次像素插值的方法和系统
CN1238798C (zh) 在运动估计或补偿期间使用近似双立方过滤器的方法和系统
Shams et al. NEDA: A low-power high-performance DCT architecture
CN1222153C (zh) 数字图象压缩方法
CN1152576C (zh) 视频数据编码装置、编码方法和传送装置
CN1456999A (zh) 色度运动矢量取整
CN1306390C (zh) 使用带符号的数位表示的乘法器
CN101060629A (zh) 图像压缩/解压方法及图像编/解码器和解码电路
CN1296817C (zh) 模乘方法及装置及模乘计算单元
CN1522401A (zh) 数据并行右移合并的方法与装置
CN1685369A (zh) 视频编码的低复杂性和统一标准的变换
CN1801082A (zh) 在分组数据上执行乘-加运算的装置
CN1107905C (zh) 在分组数据上执行乘-加运算的装置
CN1702613A (zh) 蒙哥马利模乘法器
CN1008021B (zh) 图象数据处理方法及其系统
CN1271562C (zh) 用于离散小波变换的结构
CN1860527A (zh) 一种处理具有离散值序列的信号的设备和方法
CN1806447A (zh) 图像编码装置、图像解码装置、图像编码方法、图像解码方法、图像编码程序、图像解码程序、记录图像编码程序的记录媒体、记录图像解码程序的记录媒体
CN1205097A (zh) 声音编码装置、声音译码装置、记录实现声音编码/译码的程序的记录媒体和移动通信装置
CN2579091Y (zh) 利用阵列处理进行数据检测的用户装置
CN1864158A (zh) 用于处理至少两个输入值的装置和方法
CN1259617C (zh) 一种加快rsa加/解密过程的方法及其模乘、模幂运算电路
CN1296852C (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
C13 Decision
C14 Grant of patent or utility model
C19 Lapse of patent right due to non-payment of the annual fee