CN100504847C - 实现反向离散余弦转换的方法及装置 - Google Patents

实现反向离散余弦转换的方法及装置 Download PDF

Info

Publication number
CN100504847C
CN100504847C CNB2005101081914A CN200510108191A CN100504847C CN 100504847 C CN100504847 C CN 100504847C CN B2005101081914 A CNB2005101081914 A CN B2005101081914A CN 200510108191 A CN200510108191 A CN 200510108191A CN 100504847 C CN100504847 C CN 100504847C
Authority
CN
China
Prior art keywords
discrete cosine
inverse discrete
data
zero
over circuit
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
CNB2005101081914A
Other languages
English (en)
Other versions
CN1760855A (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN1760855A publication Critical patent/CN1760855A/zh
Application granted granted Critical
Publication of CN100504847C publication Critical patent/CN100504847C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Algebra (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供一种数据处理的方法及装置。根据本发明的方法及装置使用一第一及一第二IDCT电路、一移位存储器以及一控制器执行一第一及一第二一维IDCT程序。该装置进一步包含至少一卷标表。该控制器将与输入数据相对应的为零信息与非零信息记录在卷标表中,以减少第一与/或第二IDCT电路处理数据的时间。该控制器亦将第一IDCT瞬时数据传送至第一及第二IDCT电路,以同时执行第二一维IDCT程序。在第二一维IDCT程序中,为了要平衡第一及第二一维IDCT电路的工作量,本发明亦揭露一种移位存储器的架构,以及相对应的存取该移位存储器的写入数据与/或读取数据顺序。

Description

实现反向离散余弦转换的方法及装置
技术领域
本发明是关于一种实现反向离散余弦转换(Inverse discrete cosinetransform,IDCT)的方法及装置。并且特别地,本发明是关于一种利用一卷标表(Tag table)和一改进后的移位存储器(Transpose memory)实现反向离散余弦转换的方法及装置,藉此可缩短反向离散余弦转换的处理时间。
背景技术
传统上,一IDCT的方法及装置是针对每一个输入的离散余弦转换数据(Discrete cosine transform data,也被称为DCT数据或DCT系数)执行IDCT程序,并未检查DCT系数的内容。因此,即使输入的DCT系数中有某些具有特殊意义的内容,传统的IDCT程序并不会对此采取特殊的措施。为了达到某些预期的效果,例如降低DCT/IDCT的计算量,针对某些特殊的DCT系数采取特殊措施的建议及修正是已被提出。在与JPEG或MPEG译码相关的实际产品中可以找到这样的修正。为了降低数据的计算量,已经有许多针对DCT系数降低数据的计算量的快速算法。然而,即使在计算DCT系数的过程中可降低数据的计算量,先前提出的算法仍然需要处理每一个输入的DCT系数。
举例而言,在美国专利第6167092号专利中,最后一个非零系数的位置可被用以决定哪几组不同长度的一维IDCT将会被处理。在美国专利第5883823号专利中,所有的DCT系数被分类为两组:第一组包含低频的4×4DCT系数,第二组则包含其余的DCT系数。无论所述的DCT系数为零或非零,该专利是针对第一组中所有的DCT系数执行局部性的IDCT算法,并针对第二组中所有的DCT系数执行传统的IDCT算法。上述两个专利皆未以不同的方式处理为零或非零的DCT系数,因此,这两个专利完全没有善加利用零或非零这项有用的差异。
美国专利第5576958号专利是在一维IDCT的输入端口执行一判断,检查输入的DCT系数为零或非零。如果为零,与该系数相关的后续乘法运算则可被省略。然而,该算法只判断一特定时间单元中的一个系数。因此,虽然该专利可降低数据的总计算量,与非零DCT系数相关的乘法运算所需的时间并未减少。美国专利第5636152号专利是直接执行二维IDCT程序,而非分别执行两次一维IDCT程序,并且只针对非零系数执行IDCT。此算法虽然可以节省计算为零系数的时间和判断系数是否为零的时间,却必须使用复杂的电路架构,例如多个N x N的累加器和一个二维反向离散余弦转换电路,因此相当耗费成本。美国专利第6421695号专利在某一方面与美国专利第5636152号专利类似:只针对非零系数执行IDCT程序。然而,美国专利第6421695号专利是以一维IDCT架构为基础,与美国专利第5636152号专利不同。在美国专利第6421695号专利中,输入数据的次序有两种:一种是Z字形的次序,另一种则是反Z字形的次序。将输入数据排列为Z字形的次序可节省输入端口中的缓存器,但需要非常复杂的移位存储器。若将输入数据排列为反Z字形的次序,以反Z字形检查过的非零输入数据是首先被储存在输入端口中的缓存器中。接着,只计算非零系数,并且是根据储存在非零输送单元(Feedingunit)中的输入数据的位置信息进行此计算。采用这种算法需要大量的存储器储存位置信息。此外,在执行第一次一维IDCT程序时只有很少数的非零系数,在执行第二次一维IDCT程序时却有非常多的非零系数。基于上述理由,此算法的效率将会与该移位存储器的容量及该第二次一维IDCT程序的处理能力密切相关。并且,一旦该移位存储器的容量被增大,相对应的存储器结构将不可避免地变得十分复杂且不易控制。
因此,必须要有一个方法和相对应的装置来解决上述的问题,如何降低IDCT的数据处理时间尤其重要。
发明内容
本发明的一目的是提供一种实现快速实现反向离散余弦转换(IDCT)的方法与一装置,该装置利用一个简单的卷标表,通过减少需要被处理或计算的数据(或系数)的数量缩短处理时间。
本发明的另一目的是提供一种实现快速实现反向离散余弦转换(IDCT)的方法与一装置,该装置可在执行二维IDCT程序时加快第二个一维IDCT的计算速度。
本发明的另一目的是提供一种实现快速实现反向离散余弦转换(IDCT)的方法与一装置,该装置可平衡第一一维IDCT电路与/或第二一维IDCT电路之间的第二一维IDCT计算量。
本发明的又一目的是提供一种数据存取顺序(Sequence),该数据存取顺序可包含一数据写入顺序及/或一数据读取顺序,所述的顺序是用在一快速IDCT中存取一移位存储器,以平衡第一一维IDCT电路与第二一维IDCT电路之间的工作量。
本发明揭露数个具体实施例,指出如何缩短IDCT程序的处理时间,尤其是针对执行两次一维IDCT的程序。根据本发明的一具体实施例的数据处理装置包含一多任务器(Multiplexer)、一第一IDCT电路、一移位存储器、一第二IDCT电路、一卷标表以及一控制器。一第一卷标表及/或一第二卷标表是储存在一卷标表存储器中。该控制器进一步包含一地址产生器(Addressgenerator),用以控制该第一IDCT电路、该移位存储器以及该第二IDCT电路的操作。第一卷标表在某种程度上可被用以协助将为零的DCT数据排除在第一IDCT电路之外。由于一般而言一输入的DCT区块(Block)中只有很少数的非零数据,大部分为零的数据,将那些为零的数据排除在第一IDCT电路之外可以大幅降低第一IDCT电路中的IDCT计算量。
根据本发明的另一具体实施例的数据处理装置,第二卷标表被使用于该数据处理装置中,第二IDCT电路不需要由移位存储器中读取所有的第一IDCT瞬时数据,只需要读取非零的第一IDCT瞬时数据即可。由于只需要存取非零的第一IDCT瞬时数据,存取该移位存储器的时间可大幅减少。
本发明还有其它为了加速IDCT数据处理并缩短数据处理时间的具体实施例。例如,根据本发明的另一具体实施例,可利用多于一个的第二IDCT电路来分担执行第二一维IDCT的工作量。例如,根据本发明的另一具体实施例,该第二IDCT电路可以是一个N像素(Pixel)一维IDCT电路或一个N位(Digit)一维IDCT电路,以增加在一固定时间里可处理的数据量。
本发明亦揭露一种效率较高的移位存储器架构。例如,根据本发明的另一具体实施例是揭露一种存取该数据处理装置中移位存储器的数据写入序列及/或数据读取序列,用以平衡第一一维IDCT电路与/或第二一维IDCT电路之间的工作量。
本发明的一实施例提供一种针对输入数据执行反向离散余弦转换程序的数据处理装置,包含:一第一反向离散余弦转换电路,该第一反向离散余弦转换电路是用以针对输入数据执行一第一一维反向离散余弦转换程序,并产生相对的第一反向离散余弦转换瞬时数据;一移位存储器,该移位存储器是用以暂时性地储存该第一反向离散余弦转换瞬时数据;一第二反向离散余弦转换电路,该第二反向离散余弦转换电路是用以针对移位存储器中的第一反向离散余弦转换瞬时数据执行一第二一维反向离散余弦转换程序;以及一控制器,该控制器是用以控制对于该移位存储器的数据存取、第一一维反向离散余弦转换程序与第二一维反向离散余弦转换程序;其中该第一反向离散余弦转换瞬时数据是被第一反向离散余弦转换电路及第二反向离散余弦转换电路所使用,以同时执行该第二一维反向离散余弦转换程序。
本发明的另一实施例提供一种针对多个输入数据执行反向离散余弦转换程序的数据处理装置,所述的输入数据具有零及/或非零信息,该装置包含:一第一反向离散余弦转换电路,该第一反向离散余弦转换电路是用以针对输入数据执行一第一一维反向离散余弦转换程序,并产生相对应的第一反向离散余弦转换瞬时数据;一移位存储器,该移位存储器是用以暂时性地储存该第一反向离散余弦转换瞬时数据;一第二反向离散余弦转换电路,该第二反向离散余弦转换电路是用以针对移位存储器中的第一反向离散余弦转换瞬时数据执行一第二一维反向离散余弦转换程序;一控制器,该控制器是用以控制对于该移位存储器的数据存取、第一一维反向离散余弦转换程序与第二一维反向离散余弦转换程序;以及至少一个卷标表,该卷标表是用以记录与该输入数据相关的零与非零信息;其中该相关的零与非零信息被记录在该卷标表中以减少该第一反向离散余弦转换电路及/或该第二反向离散余弦转换电路的数据处理时间。
本发明的又一实施例提供一种针对输入数据执行反向离散余弦转换程序的数据处理方法,包含下列步骤:于一第一反向离散余弦转换电路中对输入数据执行一第一一维反向离散余弦转换程序,并产生第一反向离散余弦转换瞬时数据;在一移位存储器中暂时性地储存该第一反向离散余弦转换瞬时数据;以及对移位存储器中的第一反向离散余弦转换瞬时数据执行一第二一维反向离散余弦转换程序;其中,该第一反向离散余弦转换瞬时数据使用于该第一反向离散余弦转换电路及一第二反向离散余弦转换电路,以同时执行该第二一维反向离散余弦转换程序。
本发明的再一实施例提供一种针对多个输入数据执行反向离散余弦转换程序的数据处理方法,所述的输入数据具有零及/或非零信息,该方法包含下列步骤:对该输入数据执行一第一一维反向离散余弦转换程序,并产生第一反向离散余弦转换瞬时数据;暂时性地储存该第一反向离散余弦转换瞬时数据;对该暂时性地储存的第一反向离散余弦转换瞬时数据执行一第二一维反向离散余弦转换程序;以及在至少一个卷标表中记录与该输入数据相关的零与非零信息;其中,该相关的零与非零信息用以减少该第一反向离散余弦转换程序及/或该第二反向离散余弦转换程序的数据处理时间。
关于本发明的优点与精神可以通过以下的发明详述及所附图式得到进一步的了解。
附图说明
图1绘示产生对应于本发明的离散余弦转换数据的数据流程图。
图2绘示根据本发明的数据处理装置的方块图。
图3A绘示具有多个离散余弦转换数据的离散余弦转换区块。
图3B绘示具有多个卷标值的第一卷标表。
图4A绘示具有多个第一反向离散余弦转换瞬时数据的数据区块。
图4B绘示具有多个卷标值的第二卷标表。
图5绘示图2中根据本发明的数据处理装置的简化方块图。
图6绘示图2中根据本发明的数据处理装置加上额外的第二反向离散余弦转换电路后的简化方块图。
图7绘示图2中根据本发明的数据处理装置使用N像素一维反向离散余弦转换电路作为第二反向离散余弦转换电路的简化方块图。
图8绘示图2中根据本发明的数据处理装置使用N位一维反向离散余弦转换电路作为第二反向离散余弦转换电路的简化方块图。
图9A绘示在根据本发明的第一一维反向离散余弦转换程序中的脉冲周期及相关的运作。
图9B绘示在根据本发明的第二一维反向离散余弦转换程序中的脉冲周期及相关的运作。
图10绘示一单库单端口、每项目中有两个字码的移位存储器。
图11绘示一多库单端口、每项目中有一个字码的移位存储器。
符号说明:
10:前级系统          11:动向信息
12:控制器            13:级别信息
14:可变长度译码器    15:卷标表
16:反向检查缓存器    18:逆量化电路
20:位串流            100:数据处理装置
102、104:DCT数据          106:DCT区块
110:DCT数据               112、114:输入端口
116:输出端口              120:多任务器
130:第一IDCT电路           132:第一IDCT瞬时数据
134:数据区块              136:非零第一IDCT瞬时数据
138:为零的第一IDCT瞬时数据
140、144、146:移位存储器
142:数据线                147、148:库
150、152:第二IDCT电路
154:N像素一维IDCT电路
156:N位一维IDCT电路
160:卷标表存储器          162:第一卷标表
164:项目                  166:非零信息
168:为零信息              170:控制器
172:地址产生器            174:栏地址信号
176:列地址信号
192:第二卷标表            194:项目
196:非零信息              198:为零信息
具体实施方式
图1绘示产生对应于本发明的DCT数据的数据流程图。一般而言,根据本发明的数据处理装置100的输入是由一前级(Prior-stage)系统10所产生的DCT数据110。前级系统10的主要功能为接收并处理一位串流(Bit stream),该位串流中包含接下来要被本发明的IDCT程序处理的数据。前级系统10通常包含一控制器12、一可变长度译码器(Variable length decoder)14、一反向检查缓存器(Inverse scan buffer)16以及一逆量化(Inverse quantization)电路18。可变长度译码器14接收位串流20并将位串流20中的数据译码,接着产生一动向信息(Run information)11与一级别信息(Levelinformation)13。动向信息11与级别信息13是了解DCT与IDCT技术者所熟知。由于上述信息在本发明中并不重要,因此不再多加解释。值得一提的是,为了对数据处理装置100产生助益,动向信息11可被用来产生一卷标表15,预先记录与位串流20中的数据相关的零/非零信息。根据本发明,虽然并非必须,在前级系统中产生卷标表15并预先记录零/非零信息以供数据处理装置100利用是较好的。关于该卷标表的细节将会在之后的段落中解释。在先前技术中,反向检查缓存器16是由控制器12控制,储存级别信息13并执行垫零(Zero padding)的动作。由于本发明使用卷标表,因此不需要执行垫零的动作。逆量化电路18亦由控制器12控制,接收储存于反向检查缓存器16中的内容以执行逆量化程序。在该数据流中,DCT数据110是由此产生。应注意的是,在某些实现方式中,该逆量化电路18是置于反向检查缓存器16之前,先执行逆量化程序再执行反向检查程序。上述的实现方式的变形并不违背本发明的精神,并且是涵盖于本发明的范畴内。
图2绘示根据本发明的数据处理装置100的方块图。在图2中,根据本发明的数据处理装置100是主要针对输入的DCT数据110执行IDCT程序。该数据处理装置100通常与前级系统10中的逆量化电路18相耦合。输入的DCT数据110通常如图1中所示,已在逆量化电路18中完成逆量化程序(及/或已在反向检查缓存器16中完成反向检查程序)的DCT数据。因此,这些输入的数据亦可被适当但非必须地描述为逆量化DCT数据110。根据本发明的一较佳具体实施例的数据处理装置100包含一多任务器120、一第一IDCT电路130、一移位存储器140、一第二IDCT电路150、一卷标表存储器160以及一控制器170。一第一卷标表162及/或一第二卷标表192是储存于卷标表存储器160中。该控制器170进一步包含一地址产生器172。这些组件将在下面的段落中被进一步解释。
图3A绘示具有多个DCT数据102、104的DCT区块106。数据处理装置100是由前级系统10中的逆量化电路18接收逆量化DCT数据110。逆量化DCT数据110被安置在相对应的DCT区块中。每一个DCT区块106皆具有多列(Row)及多栏(Column)的DCT数据102、104。逆量化DCT数据110可被分为至少两个不同的类别,例如:为零的DCT数据102和非零的DCT数据104。在图3A中,为了方便说明,为零的DCT数据102被表示为不具标记的空白项目(Entry)。非零的DCT数据被设定为1至7也为了方便说明。在真实情况中,这样的设定是不必要的,并且非零的DCT数据的范围是(-2n)至(2n-1),零除外,n代表一非负整数。
图3B绘示具有多个卷标值(Tag value)的第一卷标表162。如图3B所示,该第一卷标表162是储存在卷标表存储器160中,用以记录与输入数据相关的分类信息。第一卷标表162亦具有构成列与栏的多个项目(Entry)164,所述的列与栏是用以记录与DCT数据110相关的为零信息168和非零信息166。第一卷标表162中的项目数量通常但非必要地与一DCT区块中的DCT数据110的数量相等。DCT数据110的为零信息168在该第一卷标表162中相对应的项目里被标示为一第一状态。DCT数据110的非零信息166在第一卷标表162中相对应的项目里被标示为一第二状态。该第一/第二状态只为了分类及/或区别之用。例如,如图3B所示,DCT数据110的为零信息168在第一卷标表162中相对应的项目里可被标示为一数字位1,DCT数据110的非零信息166在第一卷标表162中相对应的项目里则可被标示为一数字位0。然而,与所述的为零/非零相关的卷标值未必以上述方式标示。例如,DCT数据110的为零信息在第一卷标表162中相对应的项目里亦可被标示为一数字位1,DCT数据110的非零信息在第一卷标表162中相对应的项目里则可被标示为一数字位0。只要所述的为零/非零DCT数据在第一卷标表162中可被清楚地表示并区别,实际上表示或实现相对应的卷标值的方式并不重要。值得注意的是,在前级系统10产生的卷标表15可用上述方式产生。因此,卷标表15可迅速地由前级系统10复制得到,并被用作数据处理装置100中的第一卷标表162。也就是说,前级系统10中的卷标表15可直接被用在数据处理装置100中,毋需再次产生第一卷标表162。
回到图2,数据处理装置100是由耦合至数据处理装置100的逆量化电路18接收逆量化DCT数据110。多任务器120选择性地由输入的DCT数据110或连接至移位存储器140的数据线142的数据接收输入。第一IDCT电路130接着针对这些数据(例如由多任务器120来的DCT数据110)执行一第一一维IDCT程序,并产生相对应的第一IDCT瞬时数据132。第一IDCT瞬时数据132是暂存在移位存储器140中。第二IDCT电路150针对第一IDCT瞬时数据132执行一第二一维IDCT程序。控制器170接着控制在第一电路130中的第一一维IDCT程序和第二电路150中的第二一维IDCT程序。控制器170亦控制移位存储器140中数据的存取,包含数据写入、数据储存和数据读取等等。
特别地,多任务器120具有分别耦合至逆量化电路18和移位存储器140的两个输入端口112、114。多任务器120具有耦合至第一IDCT电路130的一个输出端口116。多任务器120的输入端口112接收由逆量化电路18输入的DCT数据110。多任务器120的输入端口114接收由连接至移位存储器140的数据线142输入的数据。多任务器120的输出端口116接着将输入的DCT数据110或由数据线142来的数据输出至第一IDCT电路130。由数据线142来的数据将在后面进一步详述。
在参考储存于第一卷标表162中与输入的DCT数据110相关的为零信息168及/或非零信息166之后,控制器170可迅速地分析数据110以辨认目前输入的DCT数据110为零或非零。在参考第一卷标表162后,当目前输入的数据被辨认为一为零的DCT数据,该为零的数据是被排除在第一IDCT电路130之外,以减少第一IDCT电路130的计算时间和计算量。也就是说,只有被辨认为非零的数据被允许进入第一IDCT电路130中并进一步执行第一一维IDCT运算程序。该IDCT运算程序为熟悉此技艺者所了解,在此不作赘述。
图4A绘示具有多个第一IDCT瞬时数据132的数据区块134。图4B绘示具有多个卷标值196及198的第二卷标表192。该第一IDCT电路130是针对DCT数据110执行第一一维IDCT运算程序并产生如图4A所示的相对应的第一IDCT瞬时数据132。在本发明的一具体实施例中,第一IDCT电路130产生第一IDCT瞬时数据132后,与第一IDCT瞬时数据132相对应的为零信息198及/或非零信息196被记录在第二卷标表192中。第二卷标表192具有构成相对应的列与栏的多个项目(Entry)194,所述的列与栏是用以记录与第一IDCT瞬时数据132相对应的为零信息198和非零信息196。有两种产生该第二卷标表192的方法,一个较简单,一个较复杂。较简单的方法只检查在哪些列中有实际发生第一一维IDCT运算程序,接着在该列的所有项目中填入非零信息196。较复杂的方法则进一步检查该第一一维IDCT运算程序在每一列中的哪些项目中实际产生了相对应的非零结果,接着在该列的该项目中填入非零信息196。
在进行第二一维IDCT程序的过程中,是根据记录在第二卷标表192中的相对应的为零信息198和非零信息196将非零的第一IDCT瞬时数据136由移位存储器140中读取出来,而非所有的第一IDCT瞬时数据132皆被读取出来。由移位存储器140中读取出来的非零第一IDCT瞬时数据136是以第二一维IDCT程序来处理。该第二一维IDCT程序可以只在第二IDCT电路150中执行,也可以在第一IDCT电路130与第二IDCT电路150中执行。根据预先记录在第二卷标表192中的为零信息198及/或非零信息196,非零的第一IDCT瞬时数据136可被正确地读取出并加以处理。由于为零的第一IDCT瞬时数据138不需要被写入移位存储器140或由移位存储器140被读取出,存取移位存储器140的时间被大幅降低。
在本发明的另一具体实施例中,第一IDCT电路130产生第一IDCT瞬时数据132后,与第一IDCT瞬时数据132相对应的为零信息198及/或非零信息196并非被记录在第二卷标表192中,而是在同一个第一卷标表162中被更新。与前面的描述类似的是,也有两种产生第一卷标表162的方法,一个较简单,一个较复杂。较简单的方法只检查在哪些列中有实际发生第一一维IDCT运算程序,接着在该列的所有项目中填入非零信息196。较复杂的方法则进一步检查第一一维IDCT运算程序在每一列中的哪些项目中实际产生了相对应的非零结果,接着在该列的该项目中填入非零信息196。
在进行第二一维IDCT程序的过程中,是根据记录在第一卷标表162中的相对应的为零信息198和非零信息196将非零的第一IDCT瞬时数据136由移位存储器140中读取出来。亦即,不需要由移位存储器140中将所有的第一IDCT瞬时数据132读取出来。非零的第一IDCT瞬时数据136亦可被正确地读取出并以第二一维IDCT程序处理。第二一维IDCT程序可以只在第二IDCT电路150中执行,也可以同时由第一IDCT电路130与第二IDCT电路150执行。由于为零的第一IDCT瞬时数据138不需要被写入移位存储器140或由移位存储器140被读取出,存取移位存储器140的时间被大幅降低。此外,由于为零信息168及/或非零信息166的卷标值在完成第一一维IDCT程序后是无用处的,它们在第一卷标表162中的同一存储器空间可被取代或更新为为零信息198及/或非零信息196。藉此,可降低对存储器容量的需求并节省部分的存储器空间。
第一IDCT瞬时数据132是通过执行一维IDCT程序在第一IDCT电路130中产生,接着被写入移位存储器140中相对应的项目里。上述动作都是在控制器170的控制下所执行。控制器170包含一地址产生器172,地址产生器172是用以分派一列地址信号(Row address signal)u176与一栏地址信号(Column address signal)v174。在一较佳具体实施例中,在第一一维IDCT程序中,列地址信号u176与栏地址信号v174皆由控制器170分派给第一IDCT电路130,以促进该第一一维IDCT程序。然而,在第二一维IDCT程序中,只有列地址信号u176被分派给第一IDCT电路130及/或第二IDCT电路150,以改进第二一维IDCT程序。由于第一一维IDCT程序通常为首先逐列执行,因此无法预期哪一列哪一栏会出现非零的DCT数据(或系数),所以第一IDCT电路130需要列地址信号u176与栏地址信号v174两者。然而,第二一维IDCT程序是逐栏执行,几乎每一栏都包含有一些需要被处理的第一IDCT瞬时数据132。因此,在第一IDCT电路130及/或第二IDCT电路150可正确执行第二一维IDCT程序之前,控制器170中的地址产生器172不需要特别提供栏地址信号v174。
移位存储器140的形式可以很多样。例如,移位存储器140可以是一个单端口(Single-port)存储器。由于这个单端口的特性,移位存储器140允许数据由该端口被读取或写入,但不可两者同时进行。与一般的多端口存储器相较,本发明中的单端口存储器尺寸相当小。在第一IDCT电路130产生第一IDCT瞬时数据132后,第一IDCT瞬时数据132在由地址产生器172产生的列地址信号u176的控制下被写入移位存储器140中相对应的项目里。由于之前所陈述的理由,移位存储器未必需要由地址产生器172产生的栏地址信号v174。在本发明的一个较佳具体实施例中,移位存储器140中的项目只有一DCT区块中项目的一半。移位存储器140中的每一个项目是储存两个第一IDCT瞬时数据。储存在同一个项目中的两个第一IDCT瞬时数据在同一脉冲周期中由移位存储器140被读取出来,并分别被传送至第一IDCT电路130及第二IDCT电路150。
为了平衡处理数据的工作量,第一IDCT瞬时数据132由移位存储器140被读取出来后,被分别传送至第一IDCT电路130和第二IDCT电路150。这为了利用在进行第二一维IDCT程序时第一IDCT电路130闲置的生产力。藉此,处理第一IDCT瞬时数据132的第二一维IDCT程序是同时在第一IDCT电路130和第二IDCT电路150中进行。因此,一半的第一IDCT瞬时数据132是传送至多任务器120的输入端口114,用以执行第二一维IDCT程序。借着平衡在第一IDCT电路130和第二IDCT电路150中执行第二一维IDCT程序的工作量可达成缩短第二IDCT程序的处理时间的目标。
图5至图8提出了几种可进一步缩短处理时间的方法。图5绘示图2中根据本发明的数据处理装置的简化方块图。图6绘示图2中根据本发明的数据处理装置加上额外的第二反向离散余弦转换电路后的简化方块图。图7绘示图2中根据本发明的数据处理装置使用N像素一维IDCT电路作为第二IDCT电路的简化方块图。图8绘示图2中根据本发明的数据处理装置使用N位一维IDCT电路作为第二IDCT电路的简化方块图。
如图5所示,为了说明方便,图2中的数据处理装置100在图5中被简化。为了要进一步缩短处理时间,有一些根据简化后的图5再做修改的方式。例如图6所示,数据处理装置100可包含一个以上耦合至移位存储器140的第二IDCT电路150、152等等。在执行第二一维IDCT程序时,第二IDCT电路150、152可分担处理数据的工作量。图7所示是另一种方式,即使用N像素一维IDCT电路154作为第二IDCT电路。又例如图8中所示,可利用N位一维IDCT电路156作为第二IDCT电路。N像素一维IDCT电路及N位一维IDCT电路的详细实施方式可参见其它的公开发明。例如,关于N像素一维IDCT电路的详细描述可参考S.A.White在IEEE Signal Processing Magazine,Vol.6,issue 3,pp.4-19,July 1989中提出的“Applications of distributedarithmetic to digital signal processing:a tutorial review”。
值得注意的是,为了要进一步缩短第二IDCT电路150的处理时间,在执行第二一维IDCT程序时可平均分配第一IDCT电路130和第二IDCT电路150、152、154、156的工作量。图5至图8示范了选择性地利用第一IDCT电路130协助执行第二一维IDCT程序的实施例。在图5至图8的实施例中,虚线是表示透过数据线142将储存在移位存储器140中部分的第一IDCT瞬时数据132传送至多任务器120的输入端口114。请注意,上述为缩短第二一维IDCT程序而利用第一IDCT电路130的实施例为非必须的。单独使用图2所示的第一卷标表162及/或第二卷标表190即可为数据处理装置100达成缩短处理时间的目标。
除了采用上述各种可加快第一及第二IDCT程序的方式,移位存储器140也需要被适当地调整,以更有效率地缩短整个二维IDCT程序。
图9A绘示在根据本发明的第一一维IDCT程序中的脉冲周期及相关的运作。如图9A及图3A所示,在脉冲周期1至4之间,图3A中在第一列DCT区块106中的非零DCT数据1a、2a、3a、5a被输入第一IDCT电路130中。图4A中在第一列DCT区块134中的相对应的第一IDCT瞬时数据1a、2a、3a、4a、5a、6a、7a、8a接着在脉冲周期5至8之间被暂时性地储存至移位存储器(在图9A中缩写为“TM”)140中。在脉冲周期5之间,图3A中在第二列DCT区块106中的非零DCT数据1b被输入第一IDCT电路130中。图4A中在第二列DCT区块134中的相对应的第一IDCT瞬时数据1b、2b、3b、4b、5b、6b、7b、8b接着在脉冲周期9至12之间被暂时性地储存至移位存储器140中。在脉冲周期9之间,图3A中在第三列DCT区块106中的非零DCT数据2c被输入第一IDCT电路130中。图4A中在第三列DCT区块134中的相对应的第一IDCT瞬时数据1c、2c、3c、4c、5c、6c、7c、8c接着在脉冲周期13至16之间被暂时性地储存至移位存储器140中。在脉冲周期13之间,图3A中在第五列DCT区块106中的非零DCT数据(1e)被输入第一IDCT电路130中。图4A中在第五列DCT区块134中的相对应的第一IDCT瞬时数据1e、2e、3e、4e、5e、6e、7e、8e接着在脉冲周期17至20之间被暂时性地储存至移位存储器140中。在上述的计算或运作中,由于在第一一维IDCT程序中参考了记录在第一卷标表162里与DCT区块106中的DCT数据110相关的为零信息168及非零信息166,因此DCT区块106中的为零DCT数据102不会被存取。在此范例中,完成第一一维IDCT程序需要20个脉冲周期。
图9B绘示在根据本发明的第二一维IDCT程序中的脉冲周期及相关的运作。请参阅图9B、图4A和图2。在脉冲周期21之间,图4A中同一列的第一IDCT瞬时数据1a和2a是由移位存储器(在图9B中缩写为“TM”)140中被读取出来,并分别被透过至数据线142传送至第一IDCT电路130与传送至第二IDCT电路150,用以执行第二一维IDCT程序。在脉冲周期22至36之间,是针对所有暂时性储存在移位存储器140中的非零第一IDCT瞬时数据136执行类似的运作。在先前技术的IDCT方法中,相同的二维IDCT输入至少需要64个脉冲周期才能完成所有的IDCT程序。本发明利用了有效率的移位存储器架构以及有效的数据写入与/或数据读取顺序。在上述范例中,只需要36个脉冲周期即可完成IDCT程序中所有的数据运算。
图10绘示一单库(Single-bank)单端口、每项目中有两个字码(Word)的移位存储器。在图10中,移位存储器(在图10中缩写为“TM”)144为单库单端口。由于单端口的特性,移位存储器144允许数据由该端口被读取或写入,但不可两者同时进行。移位存储器144中的每个项目里是储存两笔字码/数据。当通过执行第一列向(Row-wise)一维IDCT程序及栏向(Column-wise)一维IDCT程序完成二维IDCT程序后,是以逐列(Row-by-row)的顺序将数据写入移位存储器,并以逐栏(Column-by-column)的顺序将数据由移位存储器读取出来。也就是说,将数据写入的顺序如下:(1a,2a)、(3a,4a)、(5a,6a)、(7a,8a)、(1b,2b)、(3b,4b)、(5b,6b)、(7b,8b)...,将数据读取出来的顺序则是:(1a,2a)、(1b,2b)、(1c,2c)、(1e,2e)、(3a,4a)、(3b,4b)、(3c,4c)、(3e,4e)、(5a,6a)...。写入数据和读取数据的动作不会同时进行。此外,在写入数据时是将一半的第一IDCT瞬时数据132传送至第一IDCT电路130并将一半的第一IDCT瞬时数据132传送至第二IDCT电路150。藉此,进一步处理第一IDCT瞬时数据132的第二一维IDCT程序可在第一IDCT电路130和第二IDCT电路150中同时进行。
值得注意的是,第一IDCT瞬时数据(1e,2e)、(3e,4e)、(5e,6e)、(7e,8e)也可以被储存在实体地址13、14、15、16中,借着卷标表可正确地找出它们在数据区块134中的原始位置。此外,数据写入顺序与/或数据读取顺序可以有不一样的变化。例如,一般的数据写入顺序为:(1a,2a)、(3a,4a)、(5a,6a)、(7a,8a)。此顺序也可被改为(1a,2a)、(5a,6a)、(3a,4a)、(7a,8a)或(1a,2a)、(7a,8a)、(5a,6a)、(3a,4a)。括号内的顺序也可被更改为(1a,8a)、(2a,7a)、(3a,6a)、(4a,5a)。
最重要的特征可描述如下:如果一单库存储器中的每个项目可允许储存N笔数据,当第一一维IDCT为列向时,该N笔数据必须属于同一列。同样的,当第一一维IDCT为栏向时,该N笔数据必须属于同一栏。N=1时可采用传统的方式。在本发明中是以N=2~M为重点。M代表区块的大小。举例来说,如果是处理一个8×8的DCT区块,则M=8。虽然本发明以N=2为例来说明,但亦可应用在N=2~M的情况。
图11绘示一多库(Multi-bank)单端口、每项目中有一个字码的移位存储器。在图11中,移位存储器(在图10中缩写为“TM”)146为多库单端口。举例而言,移位存储器146可能包含两个单独的存储器库,也就是库147和库148。库147和库148中的每一个项目可以储存一笔字码数据。储存在库147和库148中的数据可以各自被存取。上述的第一IDCT瞬时数据可以被放置在该多库的存储器中。写入数据的顺序与/和读取数据的顺序则可由与图10相关的描述中推论得到。由于每次只能在一个库中写入一笔数据,同时写入的P笔数据,会被放在不同的P个库里。如图11所示,同时被写入的(1a,2a)是分别被写入库147和库148中。
本发明的优点可总结如下。本发明可减少第一IDCT电路130与/或第二IDCT电路150的数据处理时间。例如,第一卷标表162可被用来协助将为零的DCT数据排除在第一IDCT电路130之外。如图3A所示,在输入的DCT区块106中只有很少数的非零数据104,大部分为零的数据102。将那些为零的数据排除在第一IDCT电路130之外可以大幅降低在第一IDCT电路130中所需的IDCT计算量。例如,可使用并参考第二卷标表192,该第二IDCT电路只需要将非零的第一IDCT瞬时数据读取出来,不需要读取储存在移位存储器中的所有数据。预先记录在第二卷标表192中的为零信息198及/或非零信息196,非零的第一IDCT瞬时数据136可被正确地读取出并加以处理。由于只有非零的第一IDCT瞬时数据需要被写入移位存储器或由移位存储器被读取出,存取移位存储器的时间被大幅降低。此外,本发明还提出几个可进一步缩短IDCT处理程序及处理时间的方法。例如,可使用一个以上耦合至移位存储器的第二IDCT电路来分担数据处理量。例如,使用一N像素一维IDCT电路或一N位一维IDCT电路作为第二IDCT电路,可在固定的时间内处理更多的数据。移位存储器140亦能被改进为可协助平衡第一IDCT电路130与第二IDCT电路150间的工作量的设计。无论第一IDCT电路130与/或第二IDCT电路150是单独使用或合并使用,上述的建议皆可缩短处理数据的时间。
通过以上较佳具体实施例的详述,是希望能更加清楚描述本发明的特征与精神,而并非以上述所揭露的较佳具体实施例来对本发明的范畴加以限制。相反地,其目的是希望能涵盖各种改变及具相等性的安排于本发明所欲申请的专利范围的范畴内。

Claims (40)

1.一种针对输入数据执行反向离散余弦转换程序的数据处理装置,包含:
一第一反向离散余弦转换电路,该第一反向离散余弦转换电路是用以针对输入数据执行一第一一维反向离散余弦转换程序,并产生相对的第一反向离散余弦转换瞬时数据;
一移位存储器,该移位存储器是用以暂时性地储存该第一反向离散余弦转换瞬时数据;
一第二反向离散余弦转换电路,该第二反向离散余弦转换电路是用以针对移位存储器中的第一反向离散余弦转换瞬时数据执行一第二一维反向离散余弦转换程序;以及
一控制器,该控制器是用以控制对于该移位存储器的数据存取、第一一维反向离散余弦转换程序与第二一维反向离散余弦转换程序;
其中该第一反向离散余弦转换瞬时数据是被第一反向离散余弦转换电路及第二反向离散余弦转换电路所使用,以同时执行该第二一维反向离散余弦转换程序。
2.如权利要求1所述的装置,其中该数据处理装置是耦合至一逆量化电路,并且该输入数据是由该逆量化电路产生的逆量化离散余弦转换数据。
3.如权利要求2所述的装置,其中该逆量化离散余弦转换数据可被分为至少两个不同的类别:零与非零数据,该数据处理装置进一步包含一卷标表,该卷标表是用以记录与所述的零与非零数据相对应的类别信息。
4.如权利要求3所述的装置,其中该逆量化离散余弦转换数据是被安置在具有多列多栏的相对应的离散余弦转换区块中,该卷标表具有形成相对应的列与栏的多个项目,为了记录与所述的逆量化离散余弦转换数据相对应的零与非零信息,该卷标表中项目的数量与一个离散余弦转换区块中离散余弦转换数据的数量相等,其中所述的逆量化离散余弦转换数据的零信息在卷标表中一相对应的项目里被标示为一第一状态,并且所述的逆量化离散余弦转换数据的非零信息在卷标表中一相对应的项目里被标示为一第二状态。
5.如权利要求4所述的装置,其中所述的逆量化离散余弦转换数据的零信息在卷标表中一相对应的项目里被标示为一数字位0,并且所述的逆量化离散余弦转换数据的非零信息在卷标表中一相对应的项目里被标示为一数字位1。
6.如权利要求4所述的装置,其中所述的逆量化离散余弦转换数据的零信息在卷标表中一相对应的项目里被标示为一数字位1,并且所述的逆量化离散余弦转换数据的非零信息在卷标表中一相对应的项目里被标示为一数字位0。
7.如权利要求4所述的装置,其中该控制器包含一地址产生器,该地址产生器是用以分派一列地址信号与一栏地址信号,其中在该第一一维反向离散余弦转换程序中,该列地址信号与该栏地址信号皆被分派给该第一反向离散余弦转换电路,其中在该第二一维反向离散余弦转换程序中,只有该列地址信号被分派给该第一反向离散余弦转换电路及/或该第二反向离散余弦转换电路。
8.如权利要求7所述的装置,其中该移位存储器为一单端口存储器,并且允许数据由该单端口被读取或写入,但不可两者同时进行,该第一反向离散余弦转换电路产生该第一反向离散余弦转换瞬时数据后,该第一反向离散余弦转换瞬时数据在该地址产生器的控制下被写入该移位存储器中相对应的项目里。
9.如权利要求8所述的装置,其中该移位存储器中的项目是一离散余弦转换区块中项目的一半,并且该移位存储器中的每一个项目是储存两个第一反向离散余弦转换瞬时数据,其中储存在同一个项目中的两个第一反向离散余弦转换瞬时数据是由该移位存储器被读取出来,并分别传送至第一反向离散余弦转换电路及第二反向离散余弦转换电路。
10.如权利要求3所述的装置,其中该数据处理装置进一步包含一耦合至该移位存储器及该第一反向离散余弦转换电路的多任务器,该多任务器是由该逆量化电路的输入数据及该移位存储器的第一反向离散余弦转换瞬时数据接收输入,并且该多任务器在该控制器的控制下将该输入数据或该第一反向离散余弦转换瞬时数据输出至该第一反向离散余弦转换电路。
11.如权利要求10所述的装置,其中当目前的输入数据在该卷标表被查询后被辨认为一零离散余弦转换数据,该被辨认为零离散余弦转换数据是不被输入该第一反向离散余弦转换电路,以减少该第一反向离散余弦转换电路中的计算量。
12.如权利要求1所述的装置,其中该数据处理装置包含多个耦合至该移位存储器的第二反向离散余弦转换电路。
13.如权利要求1所述的装置,其中该第二反向离散余弦转换电路是从由一个N像素一维反向离散余弦转换电路或一个N位一维反向离散余弦转换电路组成的群组中选出。
14.如权利要求1所述的装置,其中该移位存储器包含多个供独立的数据存取的存储库。
15.一种针对多个输入数据执行反向离散余弦转换程序的数据处理装置,所述的输入数据具有零及/或非零信息,该装置包含:
一第一反向离散余弦转换电路,该第一反向离散余弦转换电路是用以针对输入数据执行一第一一维反向离散余弦转换程序,并产生相对应的第一反向离散余弦转换瞬时数据;
一移位存储器,该移位存储器是用以暂时性地储存该第一反向离散余弦转换瞬时数据;
一第二反向离散余弦转换电路,该第二反向离散余弦转换电路是用以针对移位存储器中的第一反向离散余弦转换瞬时数据执行一第二一维反向离散余弦转换程序;
一控制器,该控制器是用以控制对于该移位存储器的数据存取、第一一维反向离散余弦转换程序与第二一维反向离散余弦转换程序;以及
至少一个卷标表,该卷标表是用以记录与该输入数据相关的零与非零信息;
其中该相关的零与非零信息被记录在该卷标表中以减少该第一反向离散余弦转换电路及/或该第二反向离散余弦转换电路的数据处理时间。
16.如权利要求15所述的装置,其中该数据处理装置是耦合至一逆量化电路,并且该输入数据是由该逆量化电路产生的逆量化离散余弦转换数据。
17.如权利要求15所述的装置,其中该卷标表是由一位于前级系统中的可变长度译码器所产生,并且被复制至该数据处理装置作为一第一卷标表,其中该数据处理装置接收该输入数据后,该输入数据是以查询记录在该第一卷标表中相对应的零及/或非零信息被分析。
18.如权利要求17所述的装置,其中当目前的输入数据在该第一卷标表被查询后被辨认为一零离散余弦转换数据,该被辨认为零离散余弦转换数据是不被输入该第一反向离散余弦转换电路,以减少该第一反向离散余弦转换电路中的计算量。
19.如权利要求17所述的装置,其中在该第一反向离散余弦转换电路产生相对应的第一反向离散余弦转换瞬时数据后,在第一卷标表中与该第一反向离散余弦转换瞬时数据相关的零及/或非零信息是被更新,其中根据该第一卷标表,只有非零的第一反向离散余弦转换瞬时数据被由该移位存储器中读取出以执行该第二一维反向离散余弦转换程序,藉此减少存取该移位存储器的时间。
20.如权利要求17所述的装置,其中在该第一反向离散余弦转换电路产生相对应的第一反向离散余弦转换瞬时数据后,与该第一反向离散余弦转换瞬时数据相关的零及/或非零信息被记录在一第二卷标表中,其中根据该第二卷标表,只有非零的第一反向离散余弦转换瞬时数据被由该移位存储器中读取出以执行该第二一维反向离散余弦转换程序,藉此减少存取该移位存储器的时间。
21.一种针对输入数据执行反向离散余弦转换程序的数据处理方法,包含下列步骤:
于一第一反向离散余弦转换电路中对输入数据执行一第一一维反向离散余弦转换程序,并产生第一反向离散余弦转换瞬时数据;
在一移位存储器中暂时性地储存该第一反向离散余弦转换瞬时数据;以及
对移位存储器中的第一反向离散余弦转换瞬时数据执行一第二一维反向离散余弦转换程序;
其中,该第一反向离散余弦转换瞬时数据使用于该第一反向离散余弦转换电路及一第二反向离散余弦转换电路,以同时执行该第二一维反向离散余弦转换程序。
22.如权利要求21所述的方法,其中该输入数据是由一逆量化电路产生的逆量化离散余弦转换数据。
23.如权利要求22所述的方法,其中该逆量化离散余弦转换数据可被分为至少两个不同的类别:零与非零数据,其中该方法进一步利用一卷标表记录与所述的零与非零数据相对应的类别信息。
24.如权利要求23所述的方法,其中该逆量化离散余弦转换数据是被安置在具有多列多栏的相对应的离散余弦转换区块中,该卷标表具有形成相对应的列与栏的多个项目,为了记录与所述的逆量化离散余弦转换数据相对应的零与非零信息,该卷标表中项目的数量与一个离散余弦转换区块中离散余弦转换数据的数量相等,其中所述的逆量化离散余弦转换数据的零信息在卷标表中一相对应的项目里被标示为一第一状态,并且所述的逆量化离散余弦转换数据的非零信息在卷标表中一相对应的项目里被标示为一第二状态。
25.如权利要求24所述的方法,其中所述的逆量化离散余弦转换数据的零信息在卷标表中一相对应的项目里被标示为一数字位0,并且所述的逆量化离散余弦转换数据的非零信息在卷标表中一相对应的项目里被标示为一数字位1。
26.如权利要求24所述的方法,其中所述的逆量化离散余弦转换数据的零信息在卷标表中一相对应的项目里被标示为一数字位1,并且所述的逆量化离散余弦转换数据的非零信息在卷标表中一相对应的项目里被标示为一数字位0。
27.如权利要求24所述的方法,其中该方法进一步包含下列步骤:
在该第一一维反向离散余弦转换程序中,将一列地址信号与一栏地址信号分派给该第一反向离散余弦转换电路;以及
在该第二一维反向离散余弦转换程序中,将该列地址信号被分派给该第一反向离散余弦转换电路及/或该第二反向离散余弦转换电路。
28.如权利要求27所述的方法,其中该移位存储器为一单端口存储器,并且允许数据由该单端口被读取或写入,但不可两者同时进行,该第一反向离散余弦转换电路产生该第一反向离散余弦转换瞬时数据后,该第一反向离散余弦转换瞬时数据在该列地址信号的控制下被写入该移位存储器中相对应的项目里。
29.如权利要求28所述的方法,其中该移位存储器中的项目是一离散余弦转换区块中项目的一半,并且该移位存储器中的每一个项目是储存两个第一反向离散余弦转换瞬时数据,其中储存在同一个项目中的两个第一反向离散余弦转换瞬时数据是由该移位存储器被读取出来,并分别传送至第一反向离散余弦转换电路及第二反向离散余弦转换电路。
30.如权利要求27所述的方法,其中该方法进一步包含:将该输入数据及该移位存储器的第一反向离散余弦转换瞬时数据输入至一多任务器,该多任务器在该控制器的控制下将该输入数据或该第一反向离散余弦转换瞬时数据输出至该第一反向离散余弦转换电路。
31.如权利要求30所述的方法,其中当目前的输入数据在该卷标表被查询后被辨认为一零离散余弦转换数据,该被辨认为零离散余弦转换数据是不被输入该第一反向离散余弦转换电路,以减少该第一反向离散余弦转换电路中的计算量。
32.如权利要求27所述的方法,其中该第二反向离散余弦转换电路是从由一个N像素一维反向离散余弦转换电路或一个N位一维反向离散余弦转换电路组成的群组中选出。
33.如权利要求27所述的方法,其中该移位存储器包含多个供独立的数据存取的存储库。
34.如权利要求21所述的方法,其中该方法利用多个耦合至该移位存储器的第二反向离散余弦转换电路。
35.一种针对多个输入数据执行反向离散余弦转换程序的数据处理方法,所述的输入数据具有零及/或非零信息,该方法包含下列步骤:
对该输入数据执行一第一一维反向离散余弦转换程序,并产生第一反向离散余弦转换瞬时数据;
暂时性地储存该第一反向离散余弦转换瞬时数据;
对该暂时性地储存的第一反向离散余弦转换瞬时数据执行一第二一维反向离散余弦转换程序;以及
在至少一个卷标表中记录与该输入数据相关的零与非零信息;
其中,该相关的零与非零信息用以减少该第一反向离散余弦转换程序及/或该第二反向离散余弦转换程序的数据处理时间。
36.如权利要求35所述的方法,其中该输入数据是由一逆量化电路产生的逆量化离散余弦转换数据。
37.如权利要求35所述的方法,其中该卷标表是由一位于前级系统中的可变长度译码器所产生,并且被复制以作为一第一卷标表,其中对该输入数据执行第一一维反向离散余弦转换程序时,该输入数据是以查询记录在该第一卷标表中相关的零及/或非零信息被分析的。
38.如权利要求37所述的方法,其中当目前的输入数据在该第一卷标表被查询后被辨认为一零离散余弦转换数据,该被辨认为零离散余弦转换数据是不被输入该第一反向离散余弦转换电路,以减少该第一反向离散余弦转换电路中的计算量。
39.如权利要求37所述的方法,其中在该相对应的第一反向离散余弦转换瞬时数据被产生后,在第一卷标表中与该第一反向离散余弦转换瞬时数据相关的零及/或非零信息是被更新,其中根据该第一卷标表,只有非零的第一反向离散余弦转换瞬时数据被由一移位存储器中读取出以执行该第二一维反向离散余弦转换程序,藉此减少存取该移位存储器的时间。
40.如权利要求37所述的方法,其中在该相对应的第一反向离散余弦转换瞬时数据被产生后,与该第一反向离散余弦转换瞬时数据相关的零及/或非零信息被记录在一第二卷标表中,其中根据该第二卷标表,只有非零的第一反向离散余弦转换瞬时数据被由一移位存储器中读取出以执行该第二一维反向离散余弦转换程序,藉此减少存取该移位存储器的时间。
CNB2005101081914A 2004-10-12 2005-10-09 实现反向离散余弦转换的方法及装置 Expired - Fee Related CN100504847C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/962,647 US20060080375A1 (en) 2004-10-12 2004-10-12 Method and apparatus for inverse discrete cosine transform implementation
US10/962,647 2004-10-12

Publications (2)

Publication Number Publication Date
CN1760855A CN1760855A (zh) 2006-04-19
CN100504847C true CN100504847C (zh) 2009-06-24

Family

ID=36146670

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101081914A Expired - Fee Related CN100504847C (zh) 2004-10-12 2005-10-09 实现反向离散余弦转换的方法及装置

Country Status (3)

Country Link
US (1) US20060080375A1 (zh)
CN (1) CN100504847C (zh)
TW (1) TWI288567B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101458679B (zh) * 2007-12-10 2012-01-25 辉达公司 统一反向离散余弦变换(idct)微码处理器引擎

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2950682B2 (ja) * 1992-08-04 1999-09-20 シャープ株式会社 逆離散余弦変換演算装置
JPH07262175A (ja) * 1994-03-18 1995-10-13 Fujitsu Ltd 関数変換演算装置
US5636152A (en) * 1995-04-28 1997-06-03 United Microelectronics Corporation Two-dimensional inverse discrete cosine transform processor
US6421695B1 (en) * 1995-10-28 2002-07-16 Lg Electronics Inc. Apparatus for implementing inverse discrete cosine transform in digital image processing system
US5894430A (en) * 1996-05-20 1999-04-13 Matsushita Electric Industrial Co., Ltd. Orthogonal transform processor
US6044176A (en) * 1996-11-12 2000-03-28 Samsung Electronics Co., Ltd. Method of performing inverse discrete cosine transform
US5883823A (en) * 1997-01-15 1999-03-16 Sun Microsystems, Inc. System and method of a fast inverse discrete cosine transform and video compression/decompression systems employing the same
US6167092A (en) * 1999-08-12 2000-12-26 Packetvideo Corporation Method and device for variable complexity decoding of motion-compensated block-based compressed digital video
US6799192B1 (en) * 2001-01-09 2004-09-28 Apple Computer, Inc. Method and apparatus for inverse discrete cosine transform

Also Published As

Publication number Publication date
TWI288567B (en) 2007-10-11
US20060080375A1 (en) 2006-04-13
TW200616463A (en) 2006-05-16
CN1760855A (zh) 2006-04-19

Similar Documents

Publication Publication Date Title
US4881168A (en) Vector processor with vector data compression/expansion capability
CN101061460B (zh) 用于混移运算的微处理器设备和方法
US20120163113A1 (en) Memory controller and memory controlling method
US7577819B2 (en) Vector indexed memory unit and method
KR0174774B1 (ko) 반도체 메모리와 그 사용 방법, 컬럼 디코더 및 화상 프로세서
JPS6252392B2 (zh)
CN116521611A (zh) 一种深度学习处理器的泛化架构设计方法
CN115658146A (zh) 一种ai芯片、张量处理方法及电子设备
US9727476B2 (en) 2-D gather instruction and a 2-D cache
US9582474B2 (en) Method and apparatus for performing a FFT computation
CN100504847C (zh) 实现反向离散余弦转换的方法及装置
KR102653014B1 (ko) 인-메모리-컴퓨팅에 대한 데이터 배치를 위한 방법 및 상기 방법이 적용된 메모리 모듈
CN108108189A (zh) 一种计算方法及相关产品
CN102663051B (zh) 搜索内容可寻址存储器的方法和系统
JPH0256760B2 (zh)
CN115933994A (zh) 一种数据处理方法、装置、电子设备及存储介质
JP3333779B2 (ja) 行列演算装置
US6427200B1 (en) Multiple changeable addressing mapping circuit
US6594710B1 (en) Apparatus and method for a random access peripheral unit
CN116150055B (zh) 基于片上缓存的数据访问方法、装置及转置方法和装置
US6772271B2 (en) Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory
US20080263328A1 (en) Orthogonal register access
US20230307036A1 (en) Storage and Accessing Methods for Parameters in Streaming AI Accelerator Chip
US7788471B2 (en) Data processor and methods thereof
US7457937B1 (en) Method and system for implementing low overhead memory access in transpose operations

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090624

Termination date: 20191009

CF01 Termination of patent right due to non-payment of annual fee