[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN1200571C - 正交变换、逆正交变换方法及装置、编码、解码方法及装置 - Google Patents

正交变换、逆正交变换方法及装置、编码、解码方法及装置 Download PDF

Info

Publication number
CN1200571C
CN1200571C CNB03103439XA CN03103439A CN1200571C CN 1200571 C CN1200571 C CN 1200571C CN B03103439X A CNB03103439X A CN B03103439XA CN 03103439 A CN03103439 A CN 03103439A CN 1200571 C CN1200571 C CN 1200571C
Authority
CN
China
Prior art keywords
mentioned
data
pixel
orthogonal transformation
coefficient
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
CNB03103439XA
Other languages
English (en)
Other versions
CN1436004A (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 CN1436004A publication Critical patent/CN1436004A/zh
Application granted granted Critical
Publication of CN1200571C publication Critical patent/CN1200571C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Discrete Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Signal Processing (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Complex Calculations (AREA)

Abstract

在4×4的正交变换方式中,输入电路在所输入的8个数据中,向第一~第四积和运算电路输出4个像素数据x0A、x1A、x2A、x3A,向第五~第八积和运算电路输出4个像素数据x0B、x1B、x2B、x3B。在8×8的正交变换方式下,输入电路将所输入的8个像素数据输出给第一~第八积和运算电路。在两个方式下,向输入电路输入8个像素数据,因此,在两个方式下,正交变换电路的起动次数为一次。在两个方式下,共用第一~第八积和运算电路,来生成正交变换系数数据,因此,能够抑制面积的增加。

Description

正交变换、逆正交变换方法及装置、编码、解码方法及装置
技术领域
本发明涉及用于信息压缩的正交变换方法及其关联技术。
背景技术
在作为静止图像的标准压缩方式的JPEG(Joint Photoghraphic CodingExperts Group)和作为动画图像的标准压缩方式的MPEG(Moving PictureCoding Experts Group)中,进行利用画面内(空间的)相关关系的信息压缩。
对于图像信号,当进行所谓DCT(Discrete Cosine Transform)的正交变换时,在低频成分中集中了较大的值。使用该性质,接着通过量化来去除高频成分,进行由熵编码所进行的信息压缩。
为了实现该编码时的DCT和解码时的IDCT(Inverse Discrete CosineTransform),行列运算是必要的,因此,要求非常大的运算量。
因此,在大多数情况下,DCT和IDCT由专用硬件来实现。
在JPEG和MPEG中使用的正交变换是8×8的DCT。但是,由于块单位下的处理,块边界的相关丢失,则产生块失真。
因此,考虑减小块单位来减小块失真的影响。因此,在下一代的编码方式中,可能采用4×4的变换作为正交变换。
为了能够使正交变换的专用硬件在MPEG和下一代的编码方式中兼容,在正交变换专用硬件中,必须能够实现8×8的正交变换和4×4的正交变换两者。对于逆正交变换也是相同的。
在此情况下,在现有技术中,设有8×8的正交变换电路和4×4的正交变换电路的两个电路。对于逆正交变换也是同样的。因此,存在硬件规模增大的问题。
因此,在日本专利公报特公平7-83478号公报中公开了用于抑制硬件规模增大的DCT装置和IDCT装置。使用附图来对其进行说明。
图23是现有的DCT装置的方框图;
图24是现有的IDCT装置的方框图。
如图23所示的那样,编码时,在镜象发生电路900中,相对于4×4的图像信号发生镜象,将4×4的图像信号变换为8×8的图像信号。而且,对于镜象发生电路900输出的8×8的图像信号,DCT电路901进行正交变换,抽取电路902通过抽取正交变换系数,来得到4×4的正交变换系数。
另一方面,如图24所示的那样,解码时,插补电路903补足正交变换系数,变换为8×8的正交变换系数。
而且,对于插补电路903输出的8×8的正交变换系数,IDCT电路904进行逆正交变换,镜象消除电路905通过从由逆正交变换所得到的数据消除镜象部分的数据,而得到4×4的图像信号。
由此,仅增加了镜象发生电路900和抽取电路902,而使DCT装置的硬件规模的增大被抑制。对于IDCT装置也是相同的。
但是,在该现有的DCT装置中,只能以4像素×4行的块单位来进行4×4的正交变换。
因此,当执行4×4的正交变换时,若与执行8×8的正交变换时相比,正交变换专用硬件的起动次数增加,起动时的等待时间(レイテンシ)增加了。
在此所说的「等待时间」一般是从装置结束了数据的输入之后,到执行处理而开始输出为止的时间。
具体地说,在现有DCT装置中,对于8像素×8行的块,当执行8×8的正交变换时,装置的起动次数为1次,对于4像素×4行的4个块,当执行4×4的正交变换时,装置的起动次数为4次。
这就意味着:在对于相同的数据量执行正交变换的情况下,在4×4的正交变换执行时,DCT装置的起动时的等待时间变为8×8正交变换执行时的4倍。对于现有的IDCT装置也是相同的。
这样的装置起动时的等待时间的增加导致了处理速度的降低,而成为问题。
发明内容
因此,本发明的目的是提供一种正交变换方法及其关联技术,能够执行N×N的正交变换和N/2×N/2的正交变换,而抑制执行N/2×N/2的正交变换时的处理速度的降低,谋求处理的高速化,同时,能够抑制规模的增大。
在第一发明所涉及的正交变换方法中,在将「N」作为2的幂时,对N像素×N行的像素块的数据,进行N×N的正交变换或N/2×N/2的正交变换,其特征在于,包含以下步骤:输入步骤,在N×N的正交变换方式时,接受N个像素的数据,向执行正交变换运算的运算块,输入上述N个像素的数据;输入步骤,在N/2×N/2的正交变换方式时,接受N个像素的数据,向上述运算块中的对应块输入前N/2个像素数据,并且,向上述运算块中的对应块输入后N/2个像素数据;生成步骤,当N×N的正交变换方式时,在上述运算块中,使用所输入的上述N个像素的数据和所提供的N×N的正交变换的系数数据,来执行N×N的正交变换,生成N个正交变换系数;生成步骤,在N/2×N/2的正交变换方式时,在上述运算块中的对应的上述块中,使用所输入的上述前N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据,执行N/2×N/2的正交变换,来生成N/2个正交变换系数,并且,在上述运算块中的对应的上述块中,使用所输入的上述后N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据,执行N/2×N/2的正交变换,来生成N/2个正交变换系数。
根据该构成,在N×N的正交变换方式时和在N/2×N/2的正交变换方式时,接受相同数量的N个像素的数据,对于相同的运算块,执行适合于各方式的输入。
由此,能够以N像素×N行的像素块单位来执行N/2×N/2的正交变换。
因此,在对于N像素×N行的像素块的数据执行N×N的正交变换的情况下和对将N像素×N行的像素块进行四等分的N/2像素×N/2行的四个块的数据进行N/2×N/2正交变换的情况下,采用该正交变换方法的正交变换装置的起动次数是相同的,为一次。
其结果,能够谋求执行N/2×N/2的正交变换时的处理的高速化。
在N×N的正交变换方式和N/2×N/2的正交变换方式下,使用同一运算块,来提供适合于各方式的系数数据。
这样,通过采用该正交变换方法,能够在N×N的正交变换和N/2×N/2的正交变换下共用相同的正交变换装置。
其结果,通过采用该正交变换方法,能够抑制正交变换装置的规模的增大。
而且,在输入步骤中,能够在N×N的正交变换方式和N/2×N/2的正交变换方式下以同一顺序接受N像素的数据。其结果,地址控制变得容易。
在第二发明所涉及的正交变换方法中,在第一发明的基础上,在N×N的正交变换方式时的上述生成步骤中,在上述运算块中,以N并列执行积和运算,在N/2×N/2的正交变换方式时的上述生成步骤中,在上述运算块中,以2并列执行与上述前N/2个像素数据相对应的N/2×N/2的正交变换和与上述后N/2个像素数据相对应的N/2×N/2的正交变换,在与上述前N/2个像素数据相对应的N/2×N/2的正交变换中,在上述运算块的对应的上述块中,以N/2并列执行积和运算,在与上述后N/2个像素数据相对应的N/2×N/2的正交变换中,在上述运算块的对应的上述块中,以N/2并列进行积和运算。
通过该构成,在N×N的正交变换方式时,能够并列地生成与N×N的正交变换相对应的N个正交变换系数。
另一方面,在N/2×N/2的正交变换方式时,能够并列地生成两组与N/2×N/2的正交变换相对应的N/2个正交变换系数。
以上的结果,能够进一步谋求进行正交变换时的处理的高速化。
在第三发明所涉及的正交变换方法中,在第一或第二发明的基础上,进一步包括:检测步骤,在N×N的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的最大值;检测步骤,在N/2×N/2的正交变换方式时,在将N像素×N行的像素块四等分的N/2像素×N/2行的4个块的每个中,检测出正交变换系数的最大值,在N×N的正交变换方式时的上述生成步骤中,执行N×N的正交变换,同时,在N×N的正交变换方式时的上述检测步骤中,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值,在N/2×N/2的正交变换方式时的上述生成步骤中,执行N/2×N/2的正交变换,同时,在N/2×N/2的正交变换方式时的上述检测步骤中,比较依次输入的正交变换系数,检测出N/2像素×N/2行的块的正交变换系数的最大值。
通过该构成,在N×N的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部正交变换系数来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在N/2×N/2的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N/2像素×N/2行的块的全部正交变换系数来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在正交变换后,量化前,比较量化值和N像素×N行的像素块的正交变换系数的最大值,如果正交变换系数的最大值小于量化值,对于该像素块,不进行量化的运算,使N×N的正交变换系数的全部的值为「0」。其结果,能够消减INTER图像的量化中的处理时间。
而且,在正交变换后,量化前,对于N/2像素×N/2行的4个块的每个,比较量化值和正交变换系数的最大值,对于正交变换系数的最大值小于量化值的块,不进行量化的运算,使N/2×N/2的正交变换系数的全部的值为「0」。其结果,能够消减INTER图像的量化中的处理时间。
在第四发明所涉及的正交变换方法中,在第一或第二发明的基础上,进一步包括:检测步骤,在N×N的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的最大值;检测步骤,当N/2×N/2的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的最大值,在N×N的正交变换方式时的上述生成步骤中,执行N×N的正交变换,同时,在N×N的正交变换方式时的上述检测步骤中,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值,在N/2×N/2的正交变换方式时的上述生成步骤中,执行N/2×N/2的正交变换,同时,在N/2×N/2的正交变换方式时的上述检测步骤中,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值。
通过该构成,在N×N的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部正交变换系数来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在N/2×N/2的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部正交变换系数来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在正交变换后,量化前,比较量化值和N像素×N行的像素块的正交变换系数的最大值,如果正交变换系数的最大值小于量化值,对于该像素块,不进行量化的运算,使正交变换系数的全部的值为「0」。其结果,能够消减INTER图像的量化中的处理时间。
而且,在N/2×N/2的正交变换方式中,对于N像素×N行的像素块,求出一个正交变换系数的最大值。
因此,在N/2×N/2的正交变换方式中,与对N/2像素×N/2行的4个块的每个中求出最大值的情况相比,能够减少与量化值的比较次数。其结果,能够谋求与量化值的比较处理的高速化。
在第五发明所涉及的正交变换方法中,在第一或第二发明的基础上,进一步包括:检测步骤,在N×N的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值;检测步骤,在N/2×N/2的正交变换方式时,在将N像素×N行的像素块四等分的N/2像素×N/2行的4个块的每个中,检测出正交变换系数的交流成分的最大值,在N×N的正交变换方式时的上述生成步骤中,执行N×N的正交变换,同时,在N×N的正交变换方式时的上述检测步骤中,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的交流成分的最大值,在N/2×N/2的正交变换方式时的上述生成步骤中,执行N/2×N/2的正交变换,同时,在N/2×N/2的正交变换方式时的上述检测步骤中,比较依次输入的正交变换系数的交流成分,检测出N/2像素×N/2行的块的交流成分的最大值。
通过该构成,在N×N的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部交流成分来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在N/2×N/2的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N/2像素×N/2行的块的全部交流成分来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在正交变换后,量化前,比较量化值和N像素×N行的像素块的交流成分的最大值,如果交流成分的最大值小于量化值,对于该像素块,不进行量化的运算,使N×N的正交变换的交流成分的全部的值为「0」。其结果,能够消减INTRA图像的量化中的处理时间。
而且,在正交变换后,量化前,对于N/2像素×N/2行的4个块的每个,比较量化值和交流成分的最大值,对于交流成分的最大值小于量化值的块,不进行量化的运算,使N/2×N/2的正交变换的交流成分的全部的值为「0」。其结果,能够消减INTRA图像的量化中的处理时间。
在第六发明所涉及的正交变换方法中,在第一或第二发明的基础上,进一步包括:检测步骤,在N×N的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值;检测步骤,在N/2×N/2的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值,在N×N的正交变换方式时的上述生成步骤中,执行N×N的正交变换,同时,在N×N的正交变换方式时的上述检测步骤中,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的交流成分的最大值,在N/2×N/2的正交变换方式时的上述生成步骤中,执行N/2×N/2的正交变换,同时,在N/2×N/2的正交变换方式时的上述检测步骤中,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的交流成分的最大值。
通过该构成,在N×N的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部交流成分来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在N/2×N/2的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的块的全部交流成分来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在正交变换后,量化前,比较量化值和N像素×N行的像素块的交流成分的最大值,如果交流成分的最大值小于量化值,对于该像素块,不进行量化的运算,使交流成分的全部的值为「0」。其结果,能够消减INTRA图像的量化中的处理时间。
而且,在N/2×N/2的正交变换方式中,对于N像素×N行的像素块,求出一个交流成分的最大值。
因此,在N/2×N/2的正交变换方式中,与在N/2像素×N/2行的4个块的每个中求出最大值的情况相比,能够减少与量化值的比较次数。其结果,在INTRA图像中,能够谋求量化值的比较处理的高速化。
在第七发明所涉及的正交变换方法中,在第一或第二发明的基础上,在N/2×N/2的正交变换方式时的上述生成步骤中进一步包括直流成分运算步骤,执行N/2×N/2的正交变换,同时,取得与将N像素×N行的像素块四等分的N/2像素×N/2行的4个块相对应的4个直流成分,对于取得的上述4个直流成分,执行预定的运算,在上述直流成分运算步骤中,当取得能够开始执行上述预定的运算的数量的上述直流成分时,开始执行上述预定的运算。
通过该构成,在生成与N/2像素×N/2行的4个块相对应的全部(N×N个的)正交变换系数之前,开始执行预定的运算。即,一边执行N/2×N/2的正交变换,一边执行与直流成分相对应的预定运算。
其结果,与在生成与N/2像素×N/2行的4个块相对应的全部(N×N个的)正交变换系数之后搜索4个直流成分而执行预定运算的情况相比,能够缩短全体的处理时间,能够实现高速处理。
在第八发明所涉及的正交变换方法中,在第七发明的基础上,在N/2×N/2的正交变换方式时,向外部输出:从对N/2像素×N/2行的上述4个块而生成的N×N个正交变换系数中去除了上述4个直流成分的交流成分。
通过该构成,适合于下一代的编码方式中的色差成分的编码。
在第九发明所涉及的正交变换装置中,在将「N」作为2的幂时,对N像素×N行的像素块的数据,进行N×N的正交变换或N/2×N/2的正交变换,其特征在于,包含:输入单元,在N×N的正交变换方式时,接受N个像素的数据,输入上述N个像素的数据,在N/2×N/2的正交变换方式时,接受N个像素的数据,输入前N/2个像素数据和后N/2个像素数据;正交变换运算单元,在N×N的正交变换方式时,对所输入的上述N个像素的数据和所提供的N×N的正交变换的系数数据进行运算,生成N个正交变换系数,当N/2×N/2的正交变换方式时,对所输入的上述前N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据进行运算,生成N/2个正交变换系数,并且,对所输入的上述后N/2个像素数据和所提供的N/2×N/2个正交变换系数进行运算,来生成N/2个正交变换系数。
根据该构成,在N×N的正交变换方式下和N/2×N/2的正交变换方式下,接受相同数量的N个像素的数据,对于同一正交变换运算单元,执行适合于各方式的输入。
由此,能够以N像素×N行的像素块单位来执行N/2×N/2的正交变换。
因此,在对于N像素×N行的像素块的数据执行N×N的正交变换的情况下和对将N像素×N行的像素块进行四等分的N/2像素×N/2行的四个块的数据进行N/2×N/2正交变换的情况下,正交变换装置的起动次数是相同的,为一次。
其结果,能够谋求执行N/2×N/2的正交变换时的处理的高速化。
在N×N的正交变换方式和N/2×N/2的正交变换方式下,使用同一正交变换运算单元,来提供适合于各方式的系数数据。
这样,能够在N×N的正交变换和N/2×N/2的正交变换下共用同一正交变换装置。其结果,能够抑制正交变换装置的规模的增大。
而且,在N×N的正交变换方式和N/2×N/2的正交变换方式下,输入单元能够以同一顺序接受N个像素的数据。
其结果,在N×N的正交变换方式和N/2×N/2的正交变换方式下,不需要改变数据向输入单元的输入顺序,地址控制变得容易。
在第十发明所涉及的正交变换装置中,在第九发明的基础上,上述正交变换运算单元包含:第一系数存储单元,存储上述N×N正交变换的系数数据;第二系数存储单元,存储上述N/2×N/2的正交变换的系数数据;N个积和运算单元,在N×N的正交变换方式时,分别使用从上述第一系数存储单元取得的上述N×N的正交变换的系数数据,来执行积和运算,生成一个正交变换系数,上述输入单元,在N/2×N/2的正交变换方式时,接受上述N个像素的数据,将上述前N/2个像素数据分别输入N个上述积和运算单元中的N/2个第一积和运算单元,并且,将上述后N/2个像素数据分别输入N个上述积和运算单元中的N/2个第二积和运算单元,上述各个N/2个第一积和运算单元,在N/2×N/2的正交变换方式时,使用所输入的上述前N/2个像素数据和从上述第二系数存储单元取得的上述N/2个正交变换的系数数据,执行积和运算,生成一个正交变换系数,上述各个N/2个第二积和运算单元,在N/2×N/2的正交变换方式时,使用从上述第二系数存储单元取得的上述N/2×N/2个正交变换的系数数据和所输入的上述后N/2个像素数据,执行积和运算,生成一个正交变换系数。
通过该构成,由于设置了N个积和运算单元,在N×N的正交变换方式时,能够并列地生成与N×N的正交变换相对应的N个正交变换系数。
另一方面,由于在N/2×N/2的正交变换方式时使用N个积和运算单元,能够两并列地执行N/2×N/2的正交变换,在两并列地执行的N/2×N/2的正交变换的各个中,能够以N/2并列来执行积和运算,能够并列地生成两组与N/2×N/2的正交变换相对应的N/2个正交变换系数。
以上的结果,能够进一步谋求进行正交变换时的处理的高速化。
在第十一发明所涉及的正交变换装置中,在第九或第十发明的基础上,进一步包括:最大值检测单元,在N×N的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的最大值,在N/2×N/2的正交变换方式时,在将N像素×N行的像素块四等分的N/2像素×N/2行的4个块的每个中,检测出正交变换系数的最大值,在N×N的正交变换方式时,在上述正交变换运算单元中,执行N×N的正交变换,同时,上述最大值检测单元比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值,在N/2×N/2的正交变换方式时,在上述正交变换运算单元中,执行N/2×N/2的正交变换,同时,上述最大值检测单元比较依次输入的正交变换系数,检测出N/2像素×N/2行的块的正交变换系数的最大值。
通过该构成,在N×N的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部正交变换系数来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在N/2×N/2的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N/2像素×N/2行的块的全部正交变换系数来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在正交变换后,量化前,比较量化值和N像素×N行的像素块的正交变换系数的最大值,如果正交变换系数的最大值小于量化值,对于该像素块,不进行量化的运算,使N×N的正交变换系数的全部的值为「0」。其结果,能够消减INTER图像的量化中的处理时间。
而且,在正交变换后,量化前,对于N/2像素×N/2行的4个块的每个,比较量化值和正交变换系数的最大值,对于正交变换系数的最大值小于量化值的块,不进行量化的运算,使N/2×N/2的正交变换系数的全部的值为「0」。其结果,能够消减INTER图像的量化中的处理时间。
在第十二发明所涉及的正交变换装置中,在第九或第十发明的基础上,进一步包括:最大值检测单元,在N×N的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的最大值,当N/2×N/2的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的最大值,在N×N的正交变换方式时,在上述正交变换运算单元中,执行N×N的正交变换,同时,上述最大值检测单元比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值,在N/2×N/2的正交变换方式时,在上述正交变换运算单元中,执行N/2×N/2的正交变换,同时,上述最大值检测单元比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值。
通过该构成,在N×N的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部正交变换系数来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在N/2×N/2的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部正交变换系数来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在正交变换后,量化前,比较量化值和N像素×N行的像素块的正交变换系数的最大值,如果正交变换系数的最大值小于量化值,对于该像素块,不进行量化的运算,使正交变换系数的全部的值为「0」。其结果,能够消减INTER图像的量化中的处理时间。
而且,在N/2×N/2的正交变换方式中,对于N像素×N行的像素块,求出一个正交变换系数的最大值。
因此,在N/2×N/2的正交变换方式中,与对N/2像素×N/2行的4个块的每个中求出最大值的情况相比,能够减少与量化值的比较次数。其结果,能够谋求与量化值的比较处理的高速化。
在第十三发明所涉及的正交变换装置中,在第九或第十发明的基础上,进一步包括:最大值检测单元,在N×N的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值,在N/2×N/2的正交变换方式时,在将N像素×N行的像素块四等分的N/2像素×N/2行的4个块的每个中,检测出正交变换系数的交流成分的最大值,在N×N的正交变换方式时,在上述正交变换运算单元中,执行N×N的正交变换,同时,上述最大值检测单元比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值,在上述N/2×N/2的正交变换方式时,在上述正交变换运算单元中,执行N/2×N/2的正交变换,同时,上述最大值检测单元比较依次输入的正交变换系数的交流成分,检测出N/2像素×N/2行的块的正交变换系数的交流成分的最大值。
通过该构成,在N×N的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部交流成分来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在N/2×N/2的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N/2像素×N/2行的块的全部交流成分来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在正交变换后,量化前,比较量化值和N像素×N行的像素块的交流成分的最大值,如果交流成分的最大值小于量化值,对于该像素块,不进行量化的运算,使N×N的正交变换的交流成分的全部的值为「0」。其结果,能够消减INTRA图像的量化中的处理时间。
而且,在正交变换后,量化前,对于N/2像素×N/2行的4个块的每个,比较量化值和交流成分的最大值,对于交流成分的最大值小于量化值的块,不进行量化的运算,使N/2×N/2的正交变换的交流成分的全部的值为「0」。其结果,能够消减INTRA图像的量化中的处理时间。
在第十四发明所涉及的正交变换装置中,在第九或第十发明的基础上,进一步包括:最大值检测单元,在N×N的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值,在N/2×N/2的正交变换方式时,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值,在N×N的正交变换方式时,在上述正交变换运算单元中,执行N×N的正交变换,同时,上述最大值检测单元比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的交流成分的最大值,在上述N/2×N/2的正交变换方式时,在上述正交变换运算单元中,执行N/2×N/2的正交变换,同时,上述最大值检测单元比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的交流成分的最大值。
通过该构成,在N×N的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的像素块的全部交流成分来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在N/2×N/2的正交变换方式中,一边执行正交变换,一边检测最大值,因此,与在正交变换后比较N像素×N行的块的全部交流成分来求出最大值的情况相比,能够缩短全体的处理时间。
而且,在正交变换后,量化前,比较量化值和N像素×N行的像素块的交流成分的最大值,如果交流成分的最大值小于量化值,对于该像素块,不进行量化的运算,使交流成分的全部的值为「0」。其结果,能够消减INTRA图像的量化中的处理时间。
而且,在N/2×N/2的正交变换方式中,对于N像素×N行的像素块,求出一个交流成分的最大值。
因此,在N/2×N/2的正交变换方式中,与在N/2像素×N/2行的4个块的每个中求出最大值的情况相比,能够减少与量化值的比较次数。其结果,在INTRA图像中,能够谋求量化值的比较处理的高速化。
在第十五发明所涉及的正交变换装置中,在第九或第十发明的基础上,进一步包括:直流成分运算单元,在N/2×N/2的正交变换方式时,在上述正交变换运算单元中,执行N/2×N/2的正交变换,同时,取得与将N像素×N行的像素块四等分的N/2像素×N/2行的4个块相对应的4个直流成分,对于取得的上述4个直流成分,执行预定的运算,在上述直流成分运算单元中,当取得能够开始执行上述预定的运算的数量的上述直流成分时,开始执行预定的运算。
通过该构成,在生成与N/2像素×N/2行的4个块相对应的全部(N×N个的)正交变换系数之前,开始执行预定的运算。即,一边执行N/2×N/2的正交变换,一边执行与直流成分相对应的预定运算。
其结果,与在生成与N/2像素×N/2行的4个块相对应的全部(N×N个的)正交变换系数之后搜索4个直流成分而执行预定运算的情况相比,能够缩短全体的处理时间,能够实现高速处理。
在第十六发明所涉及的正交变换装置中,在第十五发明的基础上,在N/2×N/2的正交变换方式时,向外部输出:从对N/2像素×N/2行的上述4个块而生成的N×N个正交变换系数中去除了上述4个直流成分的交流成分。
通过该构成,适合于下一代的编码方式中的色差成分的编码。
在第十七发明所涉及的编码方法中,当将「N」作为2的幂时,对N像素×N行的像素块的数据进行编码,其特征在于,包含以下步骤:输入步骤,在N×N的正交变换方式时,接受N个像素的数据,向执行正交变换运算的运算块,输入N个像素的数据;输入步骤,在N/2×N/2的正交变换方式时,接受N个像素的数据,向上述运算块中的对应块输入前N/2个像素数据,并且,向上述运算块中的对应块输入后N/2个像素数据;生成步骤,在N×N的正交变换方式时,在上述运算块中,使用所输入的上述N个像素的数据和所提供的N×N的正交变换的系数数据,来执行N×N的正交变换,生成N个正交变换系数;生成步骤,在N/2×N/2的正交变换方式时,在上述运算块中的对应的上述块中,使用所输入的上述前N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据,执行N/2×N/2的正交变换,来生成N/2个正交变换系数,并且,在上述运算块中的对应的上述块中,使用所输入的上述后N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据,执行N/2×N/2的正交变换,来生成N/2个正交变换系数;对所生成的上述正交变换系数进行量化处理而生成量化数据的步骤;对上述量化数据进行可变长编码来生成编码数据的步骤。
根据该构成,在输入步骤中,在N×N的正交变换方式时和当N/2×N/2的正交变换方式时,接受相同数量的N个像素的数据,对于相同的运算块,执行适合于各方式的输入。
由此,能够以N像素×N行的像素块单位来执行N/2×N/2的正交变换。
因此,在对于N像素×N行的像素块的数据执行N×N的正交变换的情况下和对将N像素×N行的像素块进行四等分的N/2像素×N/2行的四个块的数据进行N/2×N/2正交变换的情况下,在采用该正交变换方法的正交变换装置中,用于正交变换的单元的起动次数是相同的,为一次。
其结果,能够谋求执行N/2×N/2的正交变换时的处理的高速化。并且,能够使采用该编码方法的编码装置的处理高速化。
在生成步骤中,在N×N的正交变换方式和N/2×N/2的正交变换方式下,使用同一运算块,来提供适合于各方式的系数数据。
这样,通过采用该编码方法,能够在N×N的正交变换和N/2×N/2的正交变换下,在采用该编码方法的编码装置中,共用用于正交变换的单元。
其结果,通过采用该编码方法,能够抑制用于正交变换的单元的规模的增大。并且,使采用该编码方法的编码装置的规模的增大被抑制。
而且,在输入步骤中,能够在N×N的正交变换方式和N/2×N/2的正交变换方式下以同一顺序接受N像素的数据。其结果,地址控制变得容易。
在第十八发明所涉及的编码装置中,其特征在于,包含:正交变换单元,当将「N」作为2的幂时,对N像素×N行的像素块的数据,进行正交变换,生成正交变换系数数据;量化单元,对所生成的上述正交变换系数数据进行量化处理,生成量化数据;可变长编码单元,对上述量化数据进行可变长编码,生成编码数据,上述正交变换单元,包括:输入单元,在N×N的正交变换方式时,接受N个像素的数据,输入N个像素的数据,在N/2×N/2的正交变换方式时,接受N个像素的数据,输入前N/2个像素数据和后N/2个像素数据;正交变换运算单元,当N×N的正交变换方式时,对所输入的上述N个像素的数据和所提供的N×N的正交变换的系数数据进行运算,生成N个正交变换系数,在N/2×N/2的正交变换方式时,对所输入的上述前N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据进行运算,生成N/2个正交变换系数数据,并且,对所输入的上述后N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据进行运算,生成N/2个正交变换系数数据。
根据该构成,在输入单元中,在N×N的正交变换方式时和当N/2×N/2的正交变换方式时,接受相同数量的N个像素的数据,对于相同的正交变换运算单元,执行适合于各方式的输入。
由此,能够以N像素×N行的像素块单位来执行N/2×N/2的正交变换。
因此,在对于N像素×N行的像素块的数据执行N×N的正交变换的情况下和对将N像素×N行的像素块进行四等分的N/2像素×N/2行的四个块的数据进行N/2×N/2正交变换的情况下,正交变换单元的起动次数是相同的,为一次。
其结果,能够谋求执行N/2×N/2的正交变换时的处理的高速化。并且,能够使采用该编码装置的处理高速化。
在N×N的正交变换方式和N/2×N/2的正交变换方式下,使用同一正交变换运算单元,来提供适合于各方式的系数数据。
这样,能够在N×N的正交变换和N/2×N/2的正交变换下,共用同一正交变换的单元。
其结果,能够抑制正交变换的单元的规模的增大。并且,使编码装置的规模的增大被抑制。
而且,在能够在N×N的正交变换方式和N/2×N/2的正交变换方式下,输入单元以同一顺序接受N像素的数据。
结果,在N×N的正交变换方式和N/2×N/2的正交变换方式下,不需要改变数据向输入单元的输入顺序,地址控制变得容易。
在第十九发明所涉及的逆正交变换方法中,当将「N」作为2的幂时,对N像素×N行的块相对应的正交变换系数数据,进行N×N的逆正交变换或N/2×N/2的逆正交变换,其特征在于,包含以下步骤:输入步骤,在N×N的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,向执行逆正交变换运算的运算块,输入上述与N个像素相对应的正交变换系数数据;输入步骤,在N/2×N/2的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,向上述运算块中的对应块输入与前N/2个像素相对应的正交变换系数数据,并且,向上述运算块中的对应块输入与后N/2个像素相对应的正交变换系数数据;生成步骤,当N×N的逆正交变换方式时,在上述运算块中,使用与上述N个像素相对应的所输入的上述正交变换系数数据和所提供的N×N的逆正交变换的系数数据,来执行N×N的逆正交变换,生成N个像素数据;生成步骤,在N/2×N/2的逆正交变换方式时,在上述运算块中的对应的上述块中,使用N/2个与上述前N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据,执行N/2×N/2的逆正交变换,来生成N/2个像素数据,并且,在上述运算块中的对应的上述块中,使用N/2个与上述后N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据,执行N/2×N/2的逆正交变换,来生成N/2个像素数据。
根据该构成,在N×N的逆正交变换方式时和在N/2×N/2的逆正交变换方式时,接受相同数量的与N个像素相对应的正交变换系数数据,对于相同的运算块,执行适合于各方式的输入。
由此,能够以N像素×N行的像素块单位来执行N/2×N/2的逆正交变换。
因此,在对N像素×N行的像素块的数据执行N×N的逆正交变换的情况下和对将N像素×N行的像素块进行四等分的N/2像素×N/2行的四个块相对应的正交变换系数数据进行N/2×N/2逆正交变换的情况下,采用该逆正交变换方法的逆正交变换装置的起动次数是相同的,为一次。
其结果,能够谋求执行N/2×N/2的逆正交变换时的处理的高速化。
在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,使用同一运算块,来提供适合于各方式的系数数据。
这样,通过采用该逆正交变换方法,能够在N×N的逆正交变换和N/2×N/2的逆正交变换下共用相同的逆正交变换装置。
其结果,通过采用该逆正交变换方法,能够抑制逆正交变换装置的规模的增大。
而且,在输入步骤中,能够在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下以同一顺序接受与N个像素相对应的正交变换系数数据。其结果,地址控制变得容易。
在第二十发明所涉及的逆正交变换方法中,在第十九发明的基础上,在N×N的逆正交变换方式时的上述生成步骤中,在上述运算块中,以N并列执行积和运算,在N/2×N/2的逆正交变换方式时的上述生成步骤中,在上述运算块中,以2并列执行与前N/2个像素数据相对应的上述正交变换系数数据的N/2×N/2的逆正交变换和与后N/2个像素数据相对应的上述正交变换系数数据相对的N/2×N/2的逆正交变换,在与上述前N/2个像素数据相对应的上述正交变换系数数据的N/2×N/2的逆正交变换中,在上述运算块的对应的上述块中,以N/2并列执行积和运算,并且,在与上述后N/2个像素数据相对应的上述正交变换系数数据的N/2×N/2的逆正交变换中,在上述运算块的对应的上述块中,以N/2并列进行积和运算。
通过该构成,在N×N的逆正交变换方式时,能够并列地生成与N×N的逆正交变换相对应的N个像素数据。
另一方面,当N/2×N/2的逆正交变换方式时,能够并列地生成两组与N/2×N/2的逆正交变换相对应的N/2个像素数据。
以上的结果,能够进一步谋求进行逆正交变换时的处理的高速化。
在第二十一发明所涉及的逆正交变换方法中,在第十九或第二十发明的基础上,进一步包括:直流成分运算步骤,当N/2×N/2的逆正交变换方式时,取得成为与将N像素×N行的块四等分的N/2像素×N/2行的4个块相对应的4个直流成分的原来的数据,对于取得的上述数据,执行预定的运算,来得到4个直流成分,在N/2×N/2的逆正交变换方式时的上述输入步骤中接受的数据不包含直流成分,在N/2×N/2的逆正交变换方式时的上述输入步骤中,当应当输入直流成分时,向上述运算块输入在上述直流成分运算步骤中所得到的上述直流成分,在N/2×N/2的逆正交变换方式时的上述输入步骤中,在用于向上述运算块的输入的数据接受完成之前,在上述直流成分运算步骤中,开始执行预定的运算。
通过该构成,在输入步骤中,在用于向运算块的输入的数据接受完成之前,开始执行预定的运算,因此,与为了使预定运算的执行开始而在全部得到4个直流成分之后,在直流成分的位置上写入或插入直流成分,从此开始N/2×N/2的逆正交变换运算的情况相比,能够缩短全体的处理时间,能够实现高速处理。
而且,在N/2×N/2的逆正交变换方式时,在输入步骤中接受的正交变换系数数据不包含直流成分,仅有交流成分,因此,适合于下一代的编码方式中的色差成分的解码。
在第二十二发明所涉及的逆正交变换装置中,当将「N」作为2的幂时,对N像素×N行的块相对应的正交变换系数数据,进行N×N的逆正交变换或N/2×N/2的逆正交变换,其特征在于,包含:输入单元,在N×N的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,输入与上述N个像素相对应的上述正交变换系数数据,在N/2×N/2的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,输入与前N/2个像素相对应的正交变换系数数据和与后N/2个像素相对应的正交变换系数数据;逆正交变换运算单元,在N×N的逆正交变换方式时,对与上述N个像素相对应的所输入的上述正交变换系数数据和所提供的N×N的逆正交变换的系数数据进行运算,生成N个像素数据,当N/2×N/2的逆正交变换方式时,对N/2个与上述前N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据进行运算,来生成N/2个像素数据,并且,对N/2个与上述后N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据进行运算,来生成N/2个像素数据。
根据该构成,在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,接受相同数量的与N个像素相对应的正交变换系数数据,对于相同的逆正交变换运算单元,执行适合于各方式的输入。
由此,能够以N像素×N行的像素块单位来执行N/2×N/2的逆正交变换。
因此,在对N像素×N行的像素块的数据执行N×N的逆正交变换的情况下和对将N像素×N行的像素块进行四等分的N/2像素×N/2行的四个块相对应的正交变换系数数据进行N/2×N/2逆正交变换的情况下,该逆正交变换装置的起动次数是相同的,为一次。
其结果,能够谋求执行N/2×N/2的逆正交变换时的处理的高速化。
在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,使用同一逆正交变换运算单元,来提供适合于各方式的系数数据。
这样,能够在N×N的逆正交变换和N/2×N/2的逆正交变换下共用相同的逆正交变换运算单元。其结果,能够抑制逆正交变换装置的规模的增大。
而且,在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,输入单元能够以同一顺序接受与N像素相对应的正交变换系数数据。
其结果,在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,不需要改变数据向输入单元的输入顺序,地址控制变得容易。
在第二十三发明所涉及的逆正交变换装置中,在第二十二发明的基础上,上述逆正交变换运算单元包括:存储上述N×N逆正交变换的系数数据的第一系数存储单元;存储上述N/2×N/2的逆正交变换的系数数据的第二系数存储单元;在N×N逆正交变换方式时,分别使用从上述第一系数存储单元取得的上述N×N逆正交变换的系数数据来执行积和运算,生成一个像素的数据的N个积和运算单元,上述输入单元,在N/2×N/2的逆正交变换方式时,接受与上述N个像素相对应的上述正交变换系数数据,将与N/2个上述第一像素相对应的上述正交变换系数数据分别输入上述N个积和运算单元中的N/2个第一积和运算单元,并且,将与N/2个上述第二像素相对应的上述正交变换系数数据分别输入上述N个积和运算单元中的N/2个第二积和运算单元,上述各个N/2个第一积和运算单元,在N/2×N/2的逆正交变换方式时,使用与N/2个上述第一系数相对应的所输入的上述正交变换系数数据和从上述第二系数存储单元取得的上述N/2×N/2的逆正交变换的系数数据,执行积和运算,生成一个像素的数据,上述各个N/2个第二积和运算单元,在N/2×N/2的逆正交变换方式时,使用从上述第二系数存储单元取得的上述N/2×N/2的逆正交变换的系数数据和与N/2个上述第二像素相对应的所输入的上述正交变换系数数据,执行积和运算,生成一个像素的数据。
通过该构成,由于设有N个积和运算单元,在N×N的逆正交变换方式时,能够并列地生成与N×N的逆正交变换相对应的N个像素的数据。
另一方面,由于在N/2×N/2的逆正交变换方式时,也使用N个积和运算单元,而能够2并列地执行N/2×N/2的逆正交变换,在各个以2并列执行的N/2×N/2的逆正交变换中,能够以N/2并列地执行积和运算,能够并列地生成两组与N/2×N/2的逆正交变换相对应的N/2个像素数据。
以上的结果,能够进一步谋求进行逆正交变换时的处理的高速化。
在第二十四发明所涉及的逆正交变换装置中,在第二十二或第二十三发明的基础上,进一步包括:直流成分运算单元,在N/2×N/2的逆正交变换方式时,取得成为与将N像素×N行的块四等分的N/2像素×N/2行的4个块相对应的4个直流成分的原来的数据,对于取得的上述数据,执行预定的运算,来得到4个直流成分,在N/2×N/2的逆正交变换方式时,上述输入单元接受的数据不包含直流成分,上述输入单元在应当输入直流成分时,向上述逆正交变换运算单元输入上述直流成分运算单元得到的上述直流成分,上述输入单元,在用于向上述运算块的输入的数据接受完成之前,上述直流成分运算单元,开始执行预定的运算。
通过该构成,输入单元在用于向上述运算块的输入的数据接受完成之前,开始执行预定的运算,因此,与进行预定的运算而全部得到4个直流成分之后,在直流成分的位置上写入或插入直流成分,从此开始N/2×N/2的逆正交变换运算的情况相比,能够缩短全体的处理时间,能够实现高速处理。
而且,在N/2×N/2的逆正交变换方式时,输入单元接受的正交变换系数数据不包含直流成分,仅有交流成分,因此,适合于下一代的编码方式中的色差成分的解码。
在第二十五发明所涉及的解码方法中,当将「N」作为2的幂时,对N像素×N行的块相对应的数据,执行解码,其特征在于,包含以下步骤:对编码的数据进行可变长解码来生成量化数据的步骤;对所生成的上述量化数据进行逆量化处理而生成正交变换系数数据的步骤;输入步骤,在N×N的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,向执行逆正交变换运算的运算块,输入与上述N个像素相对应的上述正交变换系数数据;输入步骤,在N/2×N/2的逆正交变换方式时,接受与N个像素相对应的上述正交变换系数数据,向上述运算块中的对应块输入与前N/2个像素相对应的正交变换系数数据,并且,向上述运算块中的对应块输入与后N/2个像素相对应的正交变换系数数据;生成步骤,在N×N的逆正交变换方式时,在上述运算块中,使用与上述N个像素相对应的所输入的上述正交变换系数数据和所提供的N×N的逆正交变换的系数数据,来执行N×N的逆正交变换,生成N个像素数据;生成步骤,当N/2×N/2的逆正交变换方式时,在上述运算块中的对应的上述块中,使用N/2个与上述前N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据,执行N/2×N/2的逆正交变换,来生成N/2个像素数据,并且,在上述运算块中的对应的上述块中,使用N/2个与上述后N/2个像素相对应的所输入的上述正交变换系数数据和所提供的N/2×N/2的逆正交变换的系数数据,执行N/2×N/2的逆正交变换,来生成N/2个像素数据。
根据该构成,在N×N的逆正交变换方式时和当N/2×N/2的逆正交变换方式时,接受相同数量的与N个像素相对应的正交变换系数数据,对于相同的运算块,执行适合于各方式的输入。
由此,能够以N像素×N行的像素块单位来执行N/2×N/2的逆正交变换。
因此,在对N像素×N行的像素块的数据执行N×N的逆正交变换的情况下和对将N像素×N行的像素块进行四等分的N/2像素×N/2行的四个块相对应的正交变换系数数据进行N/2×N/2逆正交变换的情况下,在采用该解码方法的解码装置中,用于逆正交变换的单元的起动次数是相同的,为一次。
其结果,能够谋求执行N/2×N/2的逆正交变换时的处理的高速化。并且,能够谋求采用该解码方法的解码装置的处理的高速化。
在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,使用同一运算块,来提供适合于各方式的系数数据。
这样,通过采用该解码方法,在N×N的逆正交变换和N/2×N/2的逆正交变换下,在采用该解码方法的解码装置中,能够共用用于正交变换的单元。
其结果,通过采用该解码方法,能够抑制用于逆正交变换的单元的规模的增大。并且,能够抑制采用该解码方法的解码装置的规模的增大。
而且,在输入步骤中,能够在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下以同一顺序接受与N个像素相对应的正交变换系数数据。其结果,地址控制变得容易。
在第二十六发明所涉及的解码装置中,当将「N」作为2的幂时,对N像素×N行的块相对应的数据,执行解码,其特征在于,包括:可变长解码单元,对编码的数据进行可变长解码,来生成量化数据;逆量化单元,对所生成的上述量化数据进行逆量化处理,而生成正交变换系数数据;逆正交变换单元,对生成的上述正交变换系数数据进行逆正交变换,生成像素的数据,上述逆正交变换单元,包括:输入单元,当N×N的逆正交变换方式时,接受与N个像素相对应的上述正交变换系数数据,输入与上述N个像素相对应的上述正交变换系数数据,当N/2×N/2的逆正交变换方式时,接受与N个像素相对应的上述正交变换系数数据,输入与前N/2个像素相对应的上述正交变换系数数据和与后N/2个像素相对应的上述正交变换系数数据;逆正交变换运算单元,在N×N的逆正交变换方式时,对与上述N个像素相对应的所输入的上述正交变换系数数据和所提供的N×N的逆正交变换的系数数据进行运算,生成N个像素数据,在N/2×N/2的逆正交变换方式时,对N/2个与上述前N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据进行运算,来生成N/2个像素数据,并且,对N/2个与上述后N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据进行运算,来生成N/2个像素数据。
根据该构成,在N×N的逆正交变换方式时和在N/2×N/2的逆正交变换方式时,接受相同数量的与N个像素相对应的正交变换系数数据,对于相同的逆正交变换运算单元,执行适合于各方式的输入。
由此,能够以N像素×N行的像素块单位来执行N/2×N/2的逆正交变换。
因此,在对N像素×N行的像素块的数据执行N×N的逆正交变换的情况下和对将N像素×N行的像素块进行四等分的N/2像素×N/2行的四个块相对应的正交变换系数数据进行N/2×N/2逆正交变换的情况下,该解码装置中的逆正交变换单元的起动次数是相同的,为一次。
其结果,能够谋求执行N/2×N/2的逆正交变换时的处理的高速化。并且,能够谋求采用该解码装置的处理的高速化。
在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,使用同一逆正交变换运算单元,来提供适合于各方式的系数数据。
这样,在N×N的逆正交变换和N/2×N/2的逆正交变换下,共用同一逆正交变换运算单元。其结果,能够抑制该解码装置中的逆正交变换单元的规模的增大。并且,能够抑制该解码装置的规模的增大。
而且,能够在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,输入单元能够以同一顺序接受与N像素相对应的正交变换系数数据。
其结果,在N×N的逆正交变换方式和N/2×N/2的逆正交变换方式下,不需要改变数据向输入单元的输入顺序,地址控制变得容易。
附图说明
图1是本发明的实施例1中的编码装置的方框图;
图2(a)是8像素×8行的概念图;
图2(b)是8×8的正交变换方式的示意图;
图2(c)是4×4的正交变换方式的示意图;
图3是8×8的正交变换方式所进行的处理的示意图;
图4是正交变换电路的方框图;
图5(a)是数据的输入顺序的第一例示图;
图5(b)是数据的输入顺序的第二例示图;
图5(c)是数据的输入顺序的第三例示图;
图5(d)是数据的输入顺序的第四例示图;
图5(e)是数据的输入顺序的第五例示图;
图5(f)是数据的输入顺序的第六例示图;
图6是积和运算电路的详细示意图;
图7是4×4的正交变换方式中的处理的示意图;
图8是正交变换电路的流程图;
图9是正交变换电路的变形例的方框图;
图10是本发明的实施例2中的解码装置的方框图;
图11是8×8的逆正交变换方式所进行的处理的示意图;
图12是逆正交变换电路的方框图;
图13是积和运算电路的详细示意图;
图14是4×4的逆正交变换方式中的处理的示意图;
图15是逆正交变换电路的流程图;
图16是逆正交变换电路的变形例的方框图;
图17是本发明的实施例3中的正交变换电路的方框图;
图18是正交变换电路的流程图;
图19是本发明的实施例4中的正交变换电路的方框图;
图20是正交变换电路的流程图;
图21是本发明的实施例5中的逆正交变换电路的方框图;
图22是逆正交变换电路的流程图;
图23是现有的DCT装置的方框图;
图24是现有的IDCT装置的方框图。
具体实施方式
下面参照附图来说明本发明的实施例。
实施例1
图1是本发明的实施例1中的编码装置的方框图。如图1所示的那样,该编码装置包括:输入端口1、减法电路2、正交变换电路3、量化电路4、可变长编码电路5、逆量化电路6、逆正交变换电路7、加法电路8、运动补偿电路9、运动矢量检测电路10和输出端口11。
运动矢量检测电路10将从输入端口1所输入的编码对象图像与参照图像(编码后的图像)进行比较,来检测出运动矢量。
运动补偿电路9使参照图像按运动矢量移动,生成预测图像。
减法电路2取得编码对象图像与预测图像的差分,制成预测误差图像。
正交变换电路3对预测误差图像进行正交变换,生成正交变换系数数据。
但是,输入正交变换电路3中的并不仅限于INTER图像,也可以输入INTRA图像,进行正交变换。
在此,所谓INTER图像一般是由使用运动矢量的画面间编码所产生的图像。而且,所谓INTRA图像一般是由画面内编码所产生的图像。
量化电路4对正交变换电路3制作的正交变换系数数据进行量化,生成量化数据。
可变长编码电路5对量化数据进行可变长编码,生成编码数据。该编码数据在从输出端口11输出的同时被输入逆量化电路6。
逆量化电路6对量化数据进行逆量化,生成正交变换系数数据。
逆正交变换电路7对逆量化电路6制作的正交变换系数数据进行逆正交变换,生成差分图像。
加法电路8将该差分图像与运动补偿电路9制作的预测图像相加,生成参照图像。
该参照图像被输入运动补偿电路9和运动矢量检测电路10。
下面,对正交变换电路3进行说明。在本实施例中,作为正交变换的一例,列举了DCT(离散余弦变换)。
图2是本发明的实施例1中的正交变换电路3中的方式的示意图。
图2(a)是8像素×8行的像素块的概念图,图2(b)是8×8的正交变换方式的示意图,图2(c)是4×4的正交变换方式的示意图。
如图2(a)所示的那样,8像素×8行的像素块由8×8个像素组成,该像素块作为正交变换的对象来进行说明。
如图2(b)所示的那样,在8×8的正交变换方式中,对于8像素×8行的像素块,执行8×8的正交变换。这样,生成1个DC成分和63个AC成分。
另一方面,如图2(c)所示的那样,在4×4的正交变换方式中,对于将8像素×8行的像素块四等分的4个块,执行4×4的正交变换。这样,在每个块中,生成1个DC成分和15个AC成分。
首先,使用附图和公式对8×8的正交变换方式进行说明。
图3是8×8的正交变换方式的示意图。
在8×8的正交变换方式下,对于8像素×8行的像素块,正交变换电路3执行下式所示的8×8的正交变换:
【式1】
X ( k , m ) = 1 2 C ( k , m ) Σ i = 0 7 a ik x ( i , m )
     k=0,1,...,7  m=0,1,...,7
参照图3来对(式1)进行说明。在(式1)中,「k」是余弦系数的行和输出数据(正交变换系数数据)的行,「m」是输入数据(像素数据)的列和输出数据(正交变换系数数据)的列。
而且,在(式1)中,「i」是余弦系数的列和输入数据(像素数据)的行,「x(i,m)」是输入数据(像素数据),「aik」是余弦系数,「X(k,m)」是输出数据(正交变换系数数据)。
而且,在(式1)中,「C(k,m)」是系数。其中,当k=0时, C = 1 / 2 , 当k=1、...、7时,C=1。而且,在图3中,「C」表示(式1)的C(k,m)×aik。
正交变换电路3在8×8的正交变换方式中,对8像素×8行的像素块,按照(式1)执行8×8的正交变换。
在此情况下,正交变换电路3,按下式所示的那样,对8像素的像素数据执行8×8的正交变换:
【式2】
X ( k , 0 ) = 1 2 C ( k , 0 ) Σ i = 0 7 a ik x ( i , 0 )
      k=0,1,...,7
即,(式2)是在(式1)中,m=0的情况。正交变换电路3按照该(式2)对8像素的像素数据执行8×8的正交变换,生成8个正交变换系数。
接着,「m」从「0」到「7」进行更新,对于8像素×8行的像素块,生成64个正交变换系数。
当以行列式来表示(式2)时,为下式这样:
【式3】
X 0 X 1 X 2 X 3 X 4 X 5 X 6 X 7 = 1 2 A A A A A A A A D E F G - G - F - E - D B C - C - B - B - C C B E - G - D - F F D G - E A - A - A A A - A - A A F - D G E - E - G D - F C - B B - C - C B - B C G - F E - D D - E F - G x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7
(式3)的X0~X7分别相当于(式2)的X(0,0)~X(7,0),(式3)的x0~x7分别相当于(式2)的x(0,0)~x(7,0),(式3)的8行8列的行列相当于(式2)的C(k,0)×aik。
下面使用公式来对4×4的正交变换方式进行说明。在4×4的正交变换方式中,对于将8像素×8行的像素块四等分的4像素×4行的块,正交变换电路3执行下式所示的4×4的正交变换。
【式4】
X ( k , m ) = 1 2 C ( k , m ) Σ i = 0 3 a ik x ( i , m )
       k=0,1,2,3  m=0,1,2,3
在(式4)中,「k」是余弦系数的行和输出数据(正交变换系数数据)的行,「m」是输入数据(像素数据)的列和输出数据(正交变换系数数据)的列。
而且,在(式4)中,「i」是余弦系数的列和输入数据(像素数据)的行,「x(i,m)」是输入数据(像素数据),「Aik」是余弦系数,「X(k,m)」是输出数据(正交变换系数数据)。
而且,在(式4)中,「C(k,m)」是系数。其中,当k=0时, C = 1 / 2 , 当k=1、...、7时,C=1。
而且,在(式4)的说明中,「行」和「列」的概念与图3相同。
正交变换电路3在4×4的正交变换方式中,对4像素×4行的4个块,按照(式4)执行4×4的正交变换。
在此情况下,正交变换电路3,按下式所示的那样,对4像素的像素数据执行4×4的正交变换:
【式5】
X ( k , 0 ) = 1 2 C ( k , 0 ) Σ i = 0 3 A ik x ( i , 0 )
        k=0,1,2,3
即,(式5)是在(式4)中,m=0的情况。正交变换电路3按照该(式5)对4像素的像素数据执行4×4的正交变换,生成4个正交变换系数。
接着,「m」从「0」到「3」进行更新,对于4像素×4行的块,生成16个正交变换系数。
当以行列式来表示(式5)时,为下式这样:
【式6】
X 0 X 1 X 2 X 3 = 1 2 A A A S B C - C - B A - A - A A C - B B - C x 0 x 1 x 2 x 3
(式6)的X0~X3分别相当于(式5)的X(0,0)~X(3,0),(式6)的x0~x3分别相当于(式5)的x(0,0)~x(3,0),(式6)的4行4列的行列相当于(式5)的C(k,0)×Aik。
下面说明正交变换电路3的具体构成。
图4是图1的正交变换电路3的方框图。如图4所示的那样,该正交变换电路3包括:方式设定端口30、输入端口31、控制电路32、输入电路33、8个积和运算电路34a~34h、8个输出保持缓冲器35a~35h、输出选择电路36和输出端口37。
而且,控制电路32包含变换方式保持电路91。
8个积和运算电路34a~34h构成正交变换运算电路100。
简单说明图4的各电路的动作。控制电路32设定8×8正交变换方式或4×4正交变换方式之一。而且,控制电路32通过控制信号S来控制构成正交变换电路3的各电路。
输入电路33暂时保持从输入端口31所输入的8像素的像素数据。输入电路33例如是输入缓冲器。
积和运算电路34a~34h的各个对于输入电路33输入的8像素的像素数据执行积和运算,生成一个正交变换系数。
与积和运算电路34a~34h相对应而设置的输出保持缓冲器35a~35h的各个保持对应的积和运算电路输出的正交变换系数数据。
输出选择电路36将从输出保持缓冲器35a~35h输出的正交变换系数数据选择的数据输出给输出端口37。
下面说明正交变换电路3中的处理的详细情况。首先,对下列情况进行说明:正交变换电路3在8×8正交变换方式中,对8像素×8行的像素块执行8×8的正交变换。
图5是像素数据的输入顺序的例示图。图5(a)是像素数据的输入顺序的第一例示图,图5(b)是像素数据的输入顺序的第二例示图,图5(c)是像素数据的输入顺序的第三例示图,图5(d)是像素数据的输入顺序的第四例示图,图5(e)是像素数据的输入顺序的第五例示图,图5(f)是像素数据的输入顺序的第六例示图。
在图5(a)~(f)的各图中,表示了8像素×8行的像素块,按照箭头,将像素数据一个像素一个像素地输入到输入端口31。
在下面的说明中,列举出了以图5(d)的输入顺序来输入像素数据的例子。而且,首先,说明按(式3)来对8像素的像素数据执行正交变换的情况。
向方式设定端口30输入设定为8×8正交变换方式的方式指示信号。
这样,控制电路32的变换方式保持电路91将正交变换电路3设定为8×8正交变换方式。
首先,将像素数据一个像素一个像素地输入到输入端口31中。接着,输入电路33进行暂时保持,直到8像素的像素数据x0-x7凑齐为止。
在此情况下,从像素数据x0开始向输入端口31依次输入x1、...、x7。
当8像素的像素数据x0~x7凑齐时,输入电路33将该8像素的像素数据x0~x7分别输入到积和运算电路34a~34h中。
积和运算电路34a使用依次输入的8像素的像素数据x0~x7和8×8的正交变换的8个系数数据(1/2)A~(1/2)A,执行积和累计,将各相加结果数据输出给输出保持缓冲器35a。从(式3)能够容易理解这点。
而且,最后的相加结果数据为正交变换系数数据X0。这点将在后面详细说明。
输出保持缓冲器35a保持最后的相加结果数据,即,正交变换系数数据X0,输出给输出选择电路36。这点将在后面详细说明。
而且,积和运算电路34b~34h进行与积和运算电路34a相同的动作,输出保持缓冲器35b~35h也进行与输出保持缓冲器35a相同的动作。
如以上那样,通过积和运算电路34a~34h,8并列地执行积和累计,生成8个正交变换系数数据X0~X7。
输出选择电路36按照来自控制电路32的控制信号,向输出端口37输出从输出保持缓冲器35a~35h输出的8个正交变换系数数据X0~X7中选择的数据。
这样,按通过输出选择电路36所选择的顺序来从输出端口37逐一地输出正交变换系数数据X0~X7。
通过将以上的处理重复进行图5(d)的八列,对于8像素×8行的像素块,执行8×8正交变换,生成64个正交变换系数。
而且,像素数据的输入顺序在图5(a)~(f)的任一个中,都与上述相同,以8并列地执行积和累计,生成64个正交变换系数。
下面,说明图4的积和运算电路34a~34h和输出保持缓冲器35a~35h的详细情况。
图6是图4的积和运算电路34a~34h和输出保持缓冲器35a~35h的详细示意图。在图6中,对与图4相同的部分使用相同的标号,而适当地省略说明。
如图6所示的那样,积和运算电路34a包括:8×8正交变换系数存储电路80、4×4正交变换系数存储电路81、选择器82和积和累计器83。
积和累计器83包含:乘法器84、加法器85、初始值输入电路87、选择器86和寄存器88。
而且,积和累计器83能够作为具有在执行了后述的积和累计之后,执行积和累计的功能的运算块。
虽然未图示,但其他的积和运算电路34b~34h都包含8×8正交变换系数存储电路80、4×4正交变换系数存储电路81、选择器82和积和累计器83。
对于8×8正交变换系数存储电路80和4×4正交变换系数存储电路81,为以下这样:以(式3)和(式6)为例。
在积和运算电路34a中,8×8正交变换系数存储电路80在(式3)的8行8列的行列中,存储第一行的系数数据,4×4正交变换系数存储电路81在(式6)的4行4列的行列中,存储第一行的系数数据。
在积和运算电路34b中,8×8正交变换系数存储电路80在(式3)的8行8列的行列中,存储第二行的系数数据,4×4正交变换系数存储电路81在(式6)的4行4列的行列中,存储第二行的系数数据。
在积和运算电路34c中,8×8正交变换系数存储电路80在(式3)的8行8列的行列中,存储第三行的系数数据,4×4正交变换系数存储电路81在(式6)的4行4列的行列中,存储第三行的系数数据。
在积和运算电路34d中,8×8正交变换系数存储电路80在(式3)的8行8列的行列中,存储第四行的系数数据,4×4正交变换系数存储电路81在(式6)的4行4列的行列中,存储第四行的系数数据。
在积和运算电路34e中,8×8正交变换系数存储电路80在(式3)的8行8列的行列中,存储第五行的系数数据,4×4正交变换系数存储电路81在(式6)的4行4列的行列中,存储第一行的系数数据。
在积和运算电路34f中,8×8正交变换系数存储电路80在(式3)的8行8列的行列中,存储第六行的系数数据,4×4正交变换系数存储电路81在(式6)的4行4列的行列中,存储第二行的系数数据。
在积和运算电路34g中,8×8正交变换系数存储电路80在(式3)的8行8列的行列中,存储第七行的系数数据,4×4正交变换系数存储电路81在(式6)的4行4列的行列中,存储第三行的系数数据。
在积和运算电路34h中,8×8正交变换系数存储电路80在(式3)的8行8列的行列中,存储第八行的系数数据,4×4正交变换系数存储电路81在(式6)的4行4列的行列中,存储第四行的系数数据。
选择器82按照来自控制电路32的控制信号,选择8×8正交变换系数存储电路80或4×4正交变换系数存储电路81的输出。
即,选择器82,在8×8正交变换方式中,选择8×8正交变换系数存储电路80,在4×4正交变换方式中,选择4×4正交变换系数存储电路81。
如图6所示的那样,输出保持缓冲器35a包含选择器89和寄存器90。
虽然未图示,其他的输出保持缓冲器35b~35h也包含选择器89和寄存器90。
下面说明积和运算电路34a和输出保持缓冲器35a的动作的详细情况。
在此情况下,列举出了这样的例子:8×8正交变换方式被设定,以图5(d)的顺序输入像素数据,按照(式3)对8像素的像素数据x0~x7执行8×8正交变换。因此,在图6的各个积和运算电路34a~34h中,在8×8正交变换系数存储电路80中存储与(式3)的8行8列的行列对应的系数数据。
由于列举了8×8正交变换方式被设定的例子,则选择器82按照来自图6的控制电路32的控制信号来选择8×8正交变换系数存储电路80,将在8×8正交变换系数存储电路80中所存储的8个系数数据(1/2)A~(1/2)A依次输出给乘法器84。
另一方面,从输入电路33向乘法器84依次输入像素数据x0~x7。
接着,乘法器84将依次输入的系数数据(1/2)A~(1/2)A与像素数据x0~x7相乘,将相乘结果数据依次输出给加法器85。
在积和运算开始时,通过来自控制电路32的控制信号,选择器86选择来自初始值输入电路87的初始值。
因此,当最初的相乘结果数据被输入加法器85时,向加法器85输入初始值。
这样,在积和运算开始时,加法器85将最初的相乘结果与初始值相加,将相加结果数据输出给寄存器88。
该最初的相加结果数据被保持在寄存器88中。该保持的最初的相加结果数据被输出给输出保持缓冲器35a和选择器86。
然后,选择器86继续选择被依次保持在寄存器88中的相加结果数据,直到与下一列(参照图5(b))的8像素的像素数据对应的积和运算开始为止。即,选择器86对每8像素选择初始值。
加法器85将在寄存器88中所保持的相加结果数据与乘法器84的相乘结果数据依次相加,将相加结果数据输出给寄存器88。这样,乘法器84的相乘结果数据被累积。
这样,由加法器85所产生的最后的相加结果数据(第8个相加结果数据)是正交变换系数数据X0。
而且,依次输入寄存器88的相加结果数据被依次输出给输出保持缓冲器35a。
其他的各个积和运算电路34b~34h输入8像素的像素数据x0~x7,进行与积和运算电路34a相同的动作,生成正交变换系数数据X1~X7。
而且,在此情况下8个积和运算电路34a~34h以8并列地执行积和运算。
输出保持缓冲器35a的选择器89按照来自控制电路32的控制信号,选择在寄存器90中所保持的数据或者积和累计器83输入的相加结果数据之一,输出给寄存器90。
具体地说,当由加法器85所产生的最后的相加结果数据(第8个相加结果数据)被输入时,选择器89选择该最后的相加结果数据,保持在寄存器90中。
选择器89对其他的7个相加结果数据不进行选择,这些数据不被保持在寄存器90中。
即,在寄存器90中仅保持正交变换系数数据,当与后续的8像素的像素数据对应的正交变换系数数据被输入时,进行更新。
而且,在寄存器90中所保持的正交变换系数数据X0被输出给输出选择电路36。
其他的各个输出保持缓冲器35b~35h进行与输出保持缓冲器35a相同的动作,将正交变换系数数据X1~X7输出给输出选择电路36。
接着,说明正交变换电路3在4×4正交变换方式中执行4×4正交变换的情况。
图7是4×4正交变换方式下的图1的正交变换电路3的处理示意图。而且,在图7中,对与图4相同的部分使用相同标号。
作为像素数据向输入端口31的输入顺序,在4×4正交变换方式中,也能够采用图5(a)~(f)所示的顺序。
在以下说明中,列举了以图5(b)的输入顺序输入像素数据的例子。
向方式设定端口30输入设定为4×4正交变换方式的方式指示信号。
这样,控制电路32的变换方式保持电路91将正交变换电路3设定为4×4正交变换方式。
首先,将8像素的像素数据x0A~x3A、x0B~x3B一个像素一个像素地输入输入端口31。接着,输入电路33进行暂时保持,直到将8像素的像素数据x0A~x3A、x0B~x3B凑齐为止。
在此情况下,从像素数据x0A依次向输入端口31输入x1A、x2A、x3A、x0B、x1B、x2B、x3B。
当8像素的像素数据x0A~x3B凑齐时,输入电路33将前半4个像素数据x0A~x3A分别输入到积和运算电路34a~34d中,同时,将后半4个像素数据x0B~x3B分别输入到积和运算电路34e~34h中。
接着,通过积和运算电路34a~34d,以4并列地执行积和运算。同时,通过积和运算电路34e~34h,以4并列地执行积和运算。即,以2并列地执行4×4正交变换。
下面关注积和运算电路34a。在此情况下,按照(式6)来说明4×4正交变换。此时,(式6)的x0~x3相当于图7的x0A~x3A,(式6)的X0~X3相当于图7的X0A~X3A。
积和运算电路34a使用依次输入的4像素的像素数据x0A~x3A和4×4正交变换的4个系数数据
Figure C0310343900441
执行积和累计,将各个相加结果数据输出给输出保持缓冲器35a。从(式6)能够容易理解这点。
而且,最后的相加结果数据是正交变换系数数据X0A。这点在后面进行详细说明。
输出保持缓冲器35a保持最后的相加结果数据,即,正交变换系数数据X0A,输出给输出选择电路36。这点在后面进行详细说明。
而且,积和运算电路34b~34d进行与积和运算电路34a相同的动作,输出保持缓冲器35b~35d进行与输出保持缓冲器35a相同的动作。
如上述那样,积和运算电路34a~34d输入4个像素数据x0A~x3A,以4并列地执行积和累计,生成4个正交变换系数数据X0A~X3A。
下面,关注积和运算电路34e。在此情况下,说明按(式6)进行4×4正交变换的情况。此时,(式6)的x0~x3相当于图7的x0B~x3B,(式6)的X0~X3相当于图7的X0B~X3B。
积和运算电路34e使用依次输入的4像素的像素数据x0B~x3B和4×4正交变换的4个系数数据
Figure C0310343900442
执行积和累计,将各个相加结果数据输出给输出保持缓冲器35e。从(式6)能够容易理解这点。
而且,最后的相加结果数据是正交变换系数数据X0B。这点在后面进行详细说明。
输出保持缓冲器35e保持最后的相加结果数据,即,正交变换系数数据X0B,输出给输出选择电路36。这点在后面进行详细说明。
而且,积和运算电路34f~34h进行与积和运算电路34e相同的动作,输出保持缓冲器35f~35h进行与输出保持缓冲器35e相同的动作。
如上述那样,积和运算电路34e~34h输入4个像素数据x0B~x3B,以4并列地执行积和累计,生成4个正交变换系数数据X0B~X3B。
输出选择电路36按照来自控制电路32的控制信号,将从输出保持缓冲器35a~35h输出的8个正交变换系数数据X0A~X3B选择的数据输出给输出端口37。
于是,按照输出选择电路36选择的顺序,从输出端口37逐一地将正交变换系数数据X0A~X3B输出。
通过在图5(d)的4列中重复以上处理,对于4像素×4行的两个块,执行4×4正交变换,接着,在4列中重复进行同样的处理,由此,对于4像素×4行的两个块,执行4×4正交变换。
由此,对于图5(d)的将8像素×8行的像素块四等分的4像素×4行的4个块,执行4×4正交变换,而生成64个正交变换系数。
而且,像素数据的输入顺序在图5(a)~(f)中都与上述相同,以2并列地执行4×4正交变换,而生成64个正交变换系数。
下面,使用图6来说明积和运算电路34a和输出保持缓冲器35a的动作的细节。
在此情况下,列举了这样的例子:4×4正交变换方式被设定,以图5(d)的顺序输入像素数据,按照(式6),对4像素的像素数据x0A~x3A执行4×4正交变换。
因此,在图6的各个积和运算电路34a~34d中,在4×4正交变换系数存储电路81中存储与(式6)的4行4列的行列对应的行的系数数据。
由于列举了4×4正交变换方式被设定的例子,在按照图6的来自控制电路32的控制信号,选择器82选择4×4正交变换系数存储电路81,向乘法器84依次输出在4×4正交变换系数存储电路81中所存储的4个系数数据
Figure C0310343900451
另一方面,从输入电路33向乘法器84依次输入像素数据x0A~x3A。
接着,乘法器84将依次输入的系数数据
Figure C0310343900453
与像素数据x0A~x3A相乘,将相乘结果数据依次输出给加法器85。
积和运算开始时,通过来自控制电路32的控制信号,选择器86选择来自初始值输入电路87的初始值。
因此,当最初的相乘结果数据被输入加法器85时,向加法器85输入初始值。
这样,积和运算开始时,加法器85将最初的相乘结果与初始值相加,将相加结果数据输出给寄存器88。
该最初的相加结果数据被保持在寄存器88中。该保持的最初的相加结果数据被输出给输出保持缓冲器35a和选择器86。
然后,选择器86连续选择依次保持在寄存器88中的相加结果数据,直到对下一列(参照图5(d))的4像素的像素数据的积和运算开始为止。即,选择器86在每4像素中选择初始值。
加法器85将寄存器88中所保持的相加结果数据与乘法器84的相乘结果数据依次相加,将相加结果数据输出给寄存器88。这样,乘法器84的相乘结果数据被累积。
这样,由加法器85所产生的最后的相加结果数据(第4个相加结果数据)是正交变换系数数据X0A。
而且,被依次输入寄存器88中的相加结果数据被依次输出给输出保持缓冲器35a。
其他的各个积和运算电路34b~34d分别输入4像素的像素数据x0A~x3A,进行与积和运算电路34a相同的动作,生成正交变换系数数据X1A~X3A。
在此情况下,积和运算电路34a~34d以4并列地执行积和运算。
输出保持缓冲器35a的选择器89根据来自控制电路32的控制信号,选择寄存器90中所保持的数据或者积和累计器83输入的相加结果数据之一,输出给寄存器90。
具体地说,当由加法器85所产生的最后的相加结果数据(第4个相加结果数据)被输入时,选择器89选择该最后的相加结果数据。保持在寄存器90中。
选择器89对其他3个相加结果数据不进行选择,这些数据不保持在寄存器90中。
即,在寄存器90中仅保持正交变换系数数据,当输入与后续的4像素的像素数据对应的正交变换系数数据时,进行更新。
而且,在寄存器90中所保持的正交变换系数数据X0A被输出给输出选择电路36。
其他的各个输出保持缓冲器35b~35d进行与输出保持缓冲器35a相同的动作,向输出选择电路36输出正交变换系数数据X1A~X3A。
而且,4×4正交变换方式中的积和运算电路34e~34h的详细动作和输出保持缓冲器35e~35h的详细动作分别与4×4正交变换方式中的积和运算电路34a的详细动作和输出保持缓冲器35a的详细动作相同。
下面,使用图4、图7和流程图来说明图1的正交变换电路3所进行的处理的流程。
图8是图1的正交变换电路3的流程图。
首先,在步骤S1中,当向方式设定端口30输入方式指示信号时,控制电路32根据该方式指示信号来将方式设定为8×8正交变换方式或4×4正交变换方式。
首先,说明设定为8×8正交变换方式的情况。在设定为8×8正交变换方式后(步骤S1),在步骤S2中,开始进行运算。
由于被设定为8×8正交变换方式,进到步骤S4(步骤S3)。
在步骤S4中,从输入端口31向输入电路33提供8像素的像素数据。
接着,输入电路33向积和运算电路34a~34h输入8像素的像素数据。
在步骤S5中,各个积和运算电路34a~34h使用8像素的像素数据和8×8正交变换的8个系数数据,以8并列地执行积和运算。这意味着执行对8像素的像素数据的8×8正交变换。
对8像素的像素数据的8×8正交变换是对8像素×8行的像素块进行来执行。
因此,如果对于8像素×8行的像素块,8×8正交变换没有结束,进到步骤S4(步骤S6)。
另一方面,如果对于8像素×8行的像素块,8×8正交变换已经结束,结束处理(步骤S6)。其结果,生成8×8正交变换的共计64个正交变换系数。
接着,对设定为4×4正交变换方式的情况进行说明。在设定为4×4正交变换方式之后(步骤S1),在步骤S2中,开始进行运算。
由于被设定为4×4正交变换方式,进到步骤S7(步骤S3)。
在步骤S7中,从输入端口31向输入电路33提供8像素的像素数据。
接着,在步骤S8中,输入电路33将前半部分的4像素的像素数据输入到积和运算电路34a~34d中,同时,将后半部分的4像素的像素数据输入到积和运算电路34e~34h中(将8像素的数据分成两半来输入)。
在步骤S9中,各个积和运算电路34a~34d使用前半部分的4像素的像素数据和4×4正交变换的4个系数数据,以4并列地执行积和运算,同时,各个积和运算电路34e~34h使用后半部分的4像素的像素数据和4×4正交变换的4个系数数据,以4并列地执行积和运算。
这意味着以2并列地执行对4像素的像素数据的4×4正交变换。
如果对于8像素×8行的像素块,4×4正交变换没有结束,进到步骤S7(步骤S10)。
另一方面,如果对于8像素×8行的像素块,4×4正交变换已经结束,则结束处理(步骤S10)。其结果,生成4×4正交变换的64个正交变换系数。
如以上那样,在本实施例中,输入电路33在8×8正交变换方式下和4×4正交变换方式下接受相同数量的8个像素数据,对积和运算电路34a~34h执行适合于各方式的输入。
即,输入电路33,在8×8正交变换方式下,向各个积和运算电路34a~34h输入8像素的像素数据。而且,以8并列地执行积和运算。
另一方面,输入电路33,在4×4正交变换方式下,向积和运算电路34a~34d分别输入接受的8像素中的4像素的像素数据,同时,向积和运算电路34e~34h分别输入接受的8像素中的另4像素的像素数据。
而且,通过积和运算电路34a~34d来4并列地执行积和运算,同时,通过积和运算电路34e~34h来4并列地执行积和运算。即,以2并列地执行4×4正交变换。
因此,在对8像素×8行的像素块的数据进行8×8正交变换的情况下和在对将8像素×8行的像素块进行四等分的4像素×4行的4个像素块的数据进行4×4正交变换的情况下,正交变换电路3的起动次数相同,为一次。
即,在4×4正交变换方式下和8×8正交变换方式下,能够进行对由相同的等待时间所产生的8像素×8行的像素块的正交变换运算。
其结果,能够抑制执行4×4正交变换时的处理速度的降低,谋求处理的高速化。
而且,在现有技术中,当执行4×4正交变换时,与执行8×8正交变换时相比,正交变换电路起动时的等待时间为4倍,特别是,4×4正交变换的处理速度的降低成为问题。
而且,在本实施例中,在8×8正交变换方式下和4×4正交变换方式下使用相同的积和运算电路34a~34h。
这样,在8×8正交变换和4×4正交变换下共用相同的积和运算电路34a~34h。其结果,能够抑制正交变换电路3的规模增大。
而且,仅追加了8×8正交变换系数存储电路80和4×4正交变换系数存储电路81,与具有两方的8×8正交变换装置和4×4正交变换装置相比,面积的增加减少,能够得到电路面积小的正交变换电路3。
而且,在8×8正交变换方式下和4×4正交变换方式下,不需要改变数据向输入电路33的输入顺序,能够使地址控制容易。即,在8×8正交变换方式下和4×4正交变换方式下,能够采用图5所示的某个输入顺序。
下面说明本实施例中的正交变换电路3的变形例。
图9是本实施例中的正交变换电路3的变形例。而且,在图9中,对于与图4相同的部分,使用相同的标号,而适当地省略说明。
图9的变形例是:在图4的正交变换电路3中,在输入电路33与积和运算电路34a~34h之间设置蝶型运算电路38。
蝶型运算电路38根据高速算法对8个数据以4并列地执行蝶型运算。下面详细地说明这点。
(式3)通过高速算法的使用能够变形为下式:
【式7】
X 0 X 2 X 4 X 6 = 1 2 A A A A B C - C - B A - A - A A C - B B - C x 0 + x 7 x 1 + x 6 x 2 + x 5 x 3 + x 4
X 1 X 3 X 5 X 7 = 1 2 D E F G E - G - D - E F - D G E G - F E - D x 0 - x 7 x 1 - x 6 x 2 - x 5 x 3 - x 4
在(式7)中,将x0±x7、x1±x6、x2±x5、x3±x4的运算称为蝶型运算。
下面对变形例中的8×8正交变换系数存储电路80进行说明。在此情况下,以(式7)为例进行说明。
在积和运算电路34a中,8×8正交变换系数存储电路80在(式7)的上段的行列式的4行4列的行列中,存储第1行的系数数据。
在积和运算电路34b中,8×8正交变换系数存储电路80在(式7)的上段的行列式的4行4列的行列中,存储第2行的系数数据。
在积和运算电路34c中,8×8正交变换系数存储电路80在(式7)的上段的行列式的4行4列的行列中,存储第3行的系数数据。
在积和运算电路34d中,8×8正交变换系数存储电路80在(式7)的上段的行列式的4行4列的行列中,存储第4行的系数数据。
在积和运算电路34e中,8×8正交变换系数存储电路80在(式7)的下段的行列式的4行4列的行列中,存储第1行的系数数据。
在积和运算电路34f中,8×8正交变换系数存储电路80在(式7)的下段的行列式的4行4列的行列中,存储第2行的系数数据。
在积和运算电路34g中,8×8正交变换系数存储电路80在(式7)的下段的行列式的4行4列的行列中,存储第3行的系数数据。
在积和运算电路34h中,8×8正交变换系数存储电路80在(式7)的下段的行列式的4行4列的行列中,存储第4行的系数数据。
下面说明设置了蝶型运算电路38时的处理。在此情况下,以(式7)为例进行说明。
在本变形例中,由于执行蝶型运算的是8×8正交变换方式,则说明8×8正交变换方式中的处理。
首先,设定为8×8正交变换方式。在处理开始的同时,从输入端口31一个像素一个像素地输入8像素的像素数据x0~x7。
接着,在输入电路33中,进行暂时保持,直到8像素的像素数据x0~x7凑齐为止。
接着,输入电路33将8像素的像素数据x0~x7输出给蝶型运算电路38。
蝶型运算电路38进行蝶型运算。在蝶型运算结果中,将相加结果数据{x0+x7、x1+x6、x2+x5、x3+x4}分别输出给积和运算电路34a~34d。
同时,将相减结果数据{x0-x7、x1-x6、x2-x5、x3-x4}分别输出给积和运算电路34e~34h。
在积和运算电路34a~34h中,选择8×8正交变换系数存储电路80。
例如,在积和运算电路34a中,使用4个相加结果数据{x0+x7、x1+x6、x2+x5、x3+x4}和4个系数数据(1/2)A~(1/2)A,来执行积和运算。从而生成正交变换系数数据X0。
其他的积和运算电路34b~34h同样地生成正交变换系数数据X2、X4、X6、X1、X3、X5、X7。
由积和运算电路34a~34h所进行的以上的积和运算以8并列地执行。
而且,在4×4正交变换方式下,由于不执行蝶型运算,像素数据仅通过蝶型运算电路38。
如以上那样,通过设置蝶型运算电路38,能够谋求8×8正交变换运算的高速化。
在上述中,列举了具有8×8正交变换方式和4×4正交变换方式的正交变换电路3的例子,但是,本发明可以用于当将「N」作为2的幂时的,具有N×N的正交变换方式和N/2×N/2的正交变换方式的正交变换电路。
而且,上述本实施例的正交变换电路3及其变形例能够通过软件来实现。这样,本发明的使用并不仅限于硬件。
同样,本实施例中的编码装置能够通过软件来实现,也可以通过硬件来实现。
实施例2
图10是本实施例2中的解码装置的方框图。如图10所示的那样,该解码装置包括:输入端口12、可变长解码电路13、逆量化电路14、逆正交变换电路15、加法电路17、运动补偿电路16和输出端口18。
可变长解码电路13对从输入端口12所输入的编码数据进行可变长解码,生成量化数据。
逆量化电路14对所生成的量化数据进行逆量化,生成正交变换系数数据。
逆正交变换电路15对所生成的正交变换系数数据进行逆正交变换,生成像素数据。
加法电路17将运动补偿电路16生成的预测图像数据和逆正交变换电路15生成的像素数据相加,生成图像数据。
而且,在该解码装置中,不仅编码的INTER图像可以输入,编码的INTRA图像也可以输入,来进行逆正交变换。
而且,使用附图和公式来对8×8逆正交变换方式进行说明。
图11是8×8逆正交变换方式的示意图。
在8×8逆正交变换方式下,对于8像素×8行的块(由64个正交变换系数数据组成的块),逆正交变换电路15执行下式所示的8×8逆正交变换。
【式8】
x ( i , m ) = 1 2 C ( i , m ) Σ k = 0 7 b ki X ( k , m )
    i=0,1,...,7  m=0,1,...,7
参照图11来对(式8)进行说明。在(式8)中,「k」是余弦系数的列和输入数据(正交变换系数数据)的行,「m」是输入数据(正交变换系数数据)的列和输出数据(像素数据)的列。
而且,在(式8)中,「i」是余弦系数的行和输出数据(像素数据)的行,「x(i,m)」是输出数据(像素数据),「bik」是余弦系数,「X(k,m)」是输入数据(正交变换系数数据)。
而且,在(式8)中,「C(i,m)」是系数。其中,当i=0时, C = 1 / 2 , 当i=1、...、7时,C=1。而且,在图1 1中,「C」表示(式8)的C(i,m)×bki。
逆正交变换电路15在8×8逆正交变换方式下,对8像素×8行的块,按照(式8)执行8×8逆正交变换。
在此情况下,逆正交变换电路15,按下式所示的那样,对与8像素的像素数据相对应的8个正交变换系数数据执行8×8逆正交变换。
【式9】
x ( i , 0 ) = 1 2 C ( i , 0 ) Σ k = 0 7 b ki X ( k , 0 )
         i=0,1,...,7
即,(式9)是在(式8)中,m=0的情况。逆正交变换电路15按照该(式9)对与8像素的像素数据相对应的8个正交变换系数数据执行8×8逆正交变换,生成8像素的像素数据。
接着,「m」从「0」到「7」进行更新,生成64像素的像素数据。
当以行列式来表示(式9)时,为下式这样:
【式10】
x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 = 1 2 A D B E A F C G A E C - G - A - D - B - F A F - C - D - A G B E A G - B - F A E - C - D A - G - B F A - E - C D A - F - C D - A - G B - E A - E C G - A D - B F A - D B - E A - F C - G x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7
(式10)的X0~X7分别相当于(式9)的X(0,0)~X(7,0),(式10)的x0~x7分别相当于(式9)的x(0,0)~x(7,0),(式10)的8行8列的行列相当于(式9)的C(i,0)×bik。
下面使用公式来对4×4的逆正交变换方式进行说明。在4×4的逆正交变换方式中,对于将8像素×8行的块四等分的4像素×4行的块(由16个正交变换系数数据组成的块),逆正交变换电路15执行下式所示的4×4的逆正交变换。
【式11】
x ( i , m ) = 1 2 C ( i , m ) Σ k = 0 3 B ki X ( k , m )
       i=0,1,2,3  m=0,1,2,3
在(式11)中,「k」是余弦系数的列和输入数据(正交变换系数数据)的行,「m」是输入数据(正交变换系数数据)的列和输出数据(像素数据)的列。
而且,在(式11)中,「i」是余弦系数的行和输出数据(像素数据)的行,「x(i,m)」是输出数据(像素数据),「Bik」是余弦系数,「X(k,m)」是输入数据(正交变换系数数据)。
而且,在(式11)中,「C(i,m)」是系数。其中,当i=0时, C = 1 / 2 , 当i=1、2、3时,C=1。
而且,在(式11)的说明中,「行」和「列」的概念与图11相同。
逆正交变换电路15在4×4的逆正交变换方式中,对4像素×4行的4个块,按照(式11)执行4×4的逆正交变换。
在此情况下,逆正交变换电路15,按下式所示的那样,对与4像素的像素数据相对应的4个正交变换系数数据,执行4×4的逆正交变换:
【式12】
x ( i , 0 ) = 1 2 C ( i , 0 ) Σ k = 0 3 B ki X ( k , 0 )
           i=0,1,2,3
即,(式12)是在(式11)中,m=0的情况。逆正交变换电路1 5按照该(式12)对与4像素的像素数据相对应的4个正交变换系数数据执行4×4逆正交变换,生成4像素的像素数据。
接着,「m」从「0」到「3」进行更新,生成16像素的像素数据。
当以行列式来表示(式12)时,为下式这样:
【式13】
x 0 x 1 x 2 x 3 = 1 2 A B A C A C - A - B A - C - A B A - B A - C X 0 X 1 X 2 X 3
(式13)的X0~X3分别相当于(式12)的X(0,0)~X(3,0),(式13)的x0~x3分别相当于(式12)的x(0,0)~x(3,0),(式13)的4行4列的行列相当于(式12)的C(i,0)×Bki。
下面说明逆正交变换电路15的具体构成。
图12是图10的逆正交变换电路15的方框图。如图12所示的那样,该逆正交变换电路15包括:方式设定端口50、输入端口51、控制电路52、输入电路53、8个积和运算电路54a~54h、8个输出保持缓冲器55a~55h、输出选择电路56和输出端口57。
而且,控制电路52包含变换方式保持电路76。
8个积和运算电路54a~54h构成逆正交变换运算电路150。
简单说明图12的各电路的动作。控制电路52设定8×8逆正交变换方式或4×4逆正交变换方式之一。而且,控制电路52通过控制信号S来控制构成逆正交变换电路15的各电路。
输入电路53暂时保持从输入端口51所输入的8个正交变换系数数据。输入电路53例如是输入缓冲器。
积和运算电路54a~54h的各个对于输入电路53输入的8个正交变换系数数据执行积和运算,生成一个像素数据。
与积和运算电路54a~54h相对应而设置的输出保持缓冲器55a~55h的各个保持对应的积和运算电路输出的像素数据。
输出选择电路56将从输出保持缓冲器55a~55h输出的像素数据选择的数据输出给输出端口57。
下面说明逆正交变换电路15中的处理的详细情况。首先,对下列情况进行说明:逆正交变换电路15在8×8逆正交变换方式中,对8像素×8行的块执行8×8的逆正交变换。
首先,对正交变换系数数据的输入顺序进行说明。
在本实施例中,在图5(a)~(f)的各图中,将8像素×8行的像素块认为是8像素×8行的块即由64个正交变换系数数据组成的块。
在图5(a)~(f)的各图中,按照箭头,将正交变换系数数据一个一个地输入到输入端口51。
在下面的说明中,列举出了以图5(d)的输入顺序来输入正交变换系数数据的例子。而且,首先,说明按(式10)来对8个正交变换系数数据执行逆正交变换的情况。
向方式设定端口50输入设定为8×8逆正交变换方式的方式指示信号。
这样,控制电路52的变换方式保持电路76将逆正交变换电路15设定为8×8逆正交变换方式。
首先,将正交变换系数数据一个一个地输入到输入端口51中。接着,输入电路53进行暂时保持,直到8个正交变换系数数据X0~X7凑齐为止。
在此情况下,从正交变换系数数据X0开始向输入端口51依次输入X1、...、X7。
当8个正交变换系数数据X0~X7凑齐时,输入电路53将该8个正交变换系数数据X0~X7分别输入到积和运算电路54a~54h中。
积和运算电路54a使用依次输入的8个正交变换系数数据X0~X7和8×8的逆正交变换的8个系数数据(1/2)A~(1/2)G,执行积和累计,将各相加结果数据输出给输出保持缓冲器55a。这点能够从(式10)容易理解。
而且,最后的相加结果数据为像素数据x0。这点将在后面详细说明。
输出保持缓冲器55a保持最后的相加结果数据,即,像素数据x0,输出给输出选择电路56。这点将在后面详细说明。
而且,积和运算电路54b~54h进行与积和运算电路54a相同的动作,输出保持缓冲器55b~55h也进行与输出保持缓冲器55a相同的动作。
如以上那样,通过积和运算电路54a~54h,8并列地执行积和累计,生成8个像素数据x0~x7。
输出选择电路56按照来自控制电路52的控制信号,向输出端口57输出从输出保持缓冲器55a~55h输出的8个像素数据x0~x7中选择的数据。
这样,按通过输出选择电路56所选择的顺序来从输出端口57逐一地输出像素数据x0~x7。
通过将以上的处理重复进行图5(d)的八列,对于8像素×8行的块,执行8×8逆正交变换,生成64个像素数据。
而且,正交变换系数数据的输入顺序在图5(a)~(f)的任一个中,都与上述相同,以8并列地执行积和累计,生成64个像素数据。
下面,说明图12的积和运算电路54a~54h和输出保持缓冲器55a~55h的详细情况。
图13是图12的积和运算电路54a~54h和输出保持缓冲器55a~55h的详细示意图。在图13中,对与图12相同的部分使用相同的标号,而适当地省略说明。
如图13所示的那样,积和运算电路54a包括:8×8逆正交变换系数存储电路65、4×4正交变换系数存储电路66、选择器67和积和累计器68。
积和累计器68包含:乘法器73、加法器72、初始值输入电路70、选择器69和寄存器71。
而且,积和累计器68能够把握具有在执行了后述的积和累计之后,执行积和累计的功能的运算块。
虽然未图示,但其他的积和运算电路54b~54h都包含8×8逆正交变换系数存储电路65、4×4逆正交变换系数存储电路66、选择器67和积和累计器68。
对于8×8逆正交变换系数存储电路65和4×4逆正交变换系数存储电路66,为以下这样:以(式10)和(式13)为例。
在积和运算电路54a中,8×8逆正交变换系数存储电路65在(式10)的8行8列的行列中,存储第一行的系数数据,4×4逆正交变换系数存储电路66在(式13)的4行4列的行列中,存储第一行的系数数据。
在积和运算电路54b中,8×8逆正交变换系数存储电路65在(式10)的8行8列的行列中,存储第二行的系数数据,4×4逆正交变换系数存储电路66在(式13)的4行4列的行列中,存储第二行的系数数据。
在积和运算电路54c中,8×8逆正交变换系数存储电路65在(式10)的8行8列的行列中,存储第三行的系数数据,4×4逆正交变换系数存储电路66在(式13)的4行4列的行列中,存储第三行的系数数据。
在积和运算电路54d中,8×8逆正交变换系数存储电路65在(式10)的8行8列的行列中,存储第四行的系数数据,4×4逆正交变换系数存储电路66在(式13)的4行4列的行列中,存储第四行的系数数据。
在积和运算电路54e中,8×8逆正交变换系数存储电路65在(式10)的8行8列的行列中,存储第五行的系数数据,4×4逆正交变换系数存储电路66在(式13)的4行4列的行列中,存储第一行的系数数据。
在积和运算电路54f中,8×8逆正交变换系数存储电路65在(式10)的8行8列的行列中,存储第六行的系数数据,4×4逆正交变换系数存储电路66在(式13)的4行4列的行列中,存储第二行的系数数据。
在积和运算电路54g中,8×8逆正交变换系数存储电路65在(式10)的8行8列的行列中,存储第七行的系数数据,4×4逆正交变换系数存储电路66在(式13)的4行4列的行列中,存储第三行的系数数据。
在积和运算电路54h中,8×8逆正交变换系数存储电路65在(式10)的8行8列的行列中,存储第八行的系数数据,4×4逆正交变换系数存储电路66在(式13)的4行4列的行列中,存储第四行的系数数据。
选择器67按照来自控制电路52的控制信号,选择8×8逆正交变换系数存储电路65或4×4逆正交变换系数存储电路66的输出。
即,选择器67,在8×8逆正交变换方式中,选择8×8逆正交变换系数存储电路65,在4×4逆正交变换方式中,选择4×4逆正交变换系数存储电路66。
如图13所示的那样,输出保持缓冲器55a包含选择器74和寄存器75。
虽然未图示,其他的输出保持缓冲器55b~55h也包含选择器74和寄存器75。
下面说明积和运算电路54a和输出保持缓冲器55a的动作的详细情况。
在此情况下,列举出了这样的例子:8×8逆正交变换方式被设定,以图5(d)的顺序输入正交变换系数数据,按照(式10)对8个正交变换系数数据X0~X7执行8×8逆正交变换。因此,在图13的各个积和运算电路54a~54h中,在8×8逆正交变换系数存储电路65中存储与(式10)的8行8列的行列对应的系数数据。
由于列举了设定8×8逆正交变换方式的例子,则选择器67按照来自图13的控制电路52的控制信号来选择8×8逆正交变换系数存储电路65,将在8×8逆正交变换系数存储电路65中所存储的8个系数数据(1/2)A~(1/2)G依次输出给乘法器73。
另一方面,从输入电路53向乘法器73依次输入正交变换系数数据X0~X7。
接着,乘法器73将依次输入的系数数据(1/2)A~(1/2)G与正交变换系数数据X0~X7相乘,将相乘结果数据依次输出给加法器72。
在积和运算开始时,通过来自控制电路52的控制信号,选择器69选择来自初始值输入电路70的初始值。
因此,当最初的相乘结果数据被输入加法器72时,向加法器72输入初始值。
这样,在积和运算开始时,加法器72将最初的相乘结果与初始值相加,将相加结果数据输出给选择器71。
该最初的相加结果数据被保持在选择器71中。该保持的最初的相加结果数据被输出给输出保持缓冲器55a和选择器69。
然后,选择器69继续选择被依次保持在寄存器71中的相加结果数据,直到与下一列(参照图5(b))的8个正交变换系数数据对应的积和运算开始为止。即,选择器69对每8个正交变换系数数据选择初始值。
加法器72将在寄存器71中所保持的相加结果数据与乘法器73的相乘结果数据依次相加,将相加结果数据输出给寄存器71。这样,乘法器73的相乘结果数据被累计。
这样,由加法器72所产生的最后的相加结果数据(第8个相加结果数据)是像素数据x0。
而且,依次输入寄存器71的相加结果数据被依次输出给输出保持缓冲器55a。
其他的各个积和运算电路54b~54h输入8个正交变换系数数据X0~X7,进行与积和运算电路54a相同的动作,生成像素数据x1~x7。
而且,在此情况下积和运算电路54a~54h以8并列地执行积和运算。
输出保持缓冲器55a的选择器74按照来自控制电路52的控制信号,选择在寄存器75中所保持的数据或者积和累计器68输入的相加结果数据之一,输出给寄存器75。
具体地说,当由加法器72所产生的最后的相加结果数据(第8个相加结果数据)被输入时,选择器74选择该最后的相加结果数据,保持在寄存器75中。
选择器74对其他的7个相加结果数据不进行选择,这些数据不被保持在寄存器75中。
即,在寄存器75中仅保持像素数据,当输入与后续的8个正交变换系数数据对应的像素数据时,进行更新。
而且,在寄存器75中所保持的像素数据x0被输出给输出选择电路56。
其他的各个输出保持缓冲器55b~55h进行与输出保持缓冲器55a相同的动作,将像素数据x1~x7输出给输出选择电路56。
接着,说明逆正交变换电路15在4×4逆正交变换方式中执行4×4逆正交变换的情况。
图14是4×4逆正交变换方式下的图10的逆正交变换电路15的处理示意图。而且,在图14中,对与图12相同的部分使用相同标号。
作为正交变换系数数据向输入端口51的输入顺序,在4×4逆正交变换方式中,也能够采用图5(a)~(f)所示的顺序。
在以下说明中,列举了以图5(d)的输入顺序输入正交变换系数数据的例子。
向方式设定端口50输入设定为4×4逆正交变换方式的方式指示信号。
这样,控制电路52的变换方式保持电路76将逆正交变换电路15设定为4×4逆正交变换方式。
首先,将8个正交变换系数数据X0A~X3A、X0B~X3B一个一个地输入到输入端口51。接着,输入电路53进行暂时保持,直到8个正交变换系数数据X0A~X3A、X0B~X3B凑齐为止。
在此情况下,从正交变换系数数据X0A依次向输入端口51输入X1A、X2A、X3A、X0B、X1B、X2B、X3B。
当8个正交变换系数数据X0A~X3B凑齐时,输入电路53将前半部分的4个正交变换系数数据X0A~X3A分别输入到积和运算电路54a~54d中,同时,将后半部分的4个正交变换系数数据X0B~X3B分别输入到积和运算电路54e~54h中。
接着,通过积和运算电路54a~54d,以4并列地执行积和运算。同时,通过积和运算电路54e~54h,以4并列地执行积和运算。即,以2并列地执行4×4逆正交变换。
下面关注积和运算电路54a。在此情况下,按照(式13)来说明4×4逆正交变换。此时,(式13)的x0~x3相当于图14的x0A~x3A,(式13)的X0~X3相当于图14的X0A~X3A。
积和运算电路54a使用依次输入的4个正交变换系数数据X0A~X3A和4×4逆正交变换的4个系数数据 执行积和累计,将各个相加结果数据输出给输出保持缓冲器55a。从(式13)能够容易理解这点。
而且,最后的相加结果数据是像素数据x0A。这点在后面进行详细说明。
输出保持缓冲器55a保持最后的相加结果数据、即像素数据x0A,输出给输出选择电路56。这点在后面进行详细说明。
而且,积和运算电路54b~54d进行与积和运算电路54a相同的动作,输出保持缓冲器55b~55d进行与输出保持缓冲器55a相同的动作。
如上述那样,积和运算电路54a~54d输入4个正交变换系数数据X0A~X3A,以4并列地执行积和累计,生成4个像素数据x0A~x3A。
下面,关注积和运算电路54e。在此情况下,说明按(式13)进行4×4逆正交变换的情况。此时,(式13)的x0~x3相当于图14的x0B~x3B,(式13)的X0~X3相当于图14的X0B~X3B。
积和运算电路54e使用依次输入的4个正交变换系数数据X0B~X3B和4×4逆正交变换的4个系数数据 执行积和累计,将各个相加结果数据输出给输出保持缓冲器55e。从(式13)能够容易理解这点。
而且,最后的相加结果数据是像素数据x0B。这点在后面进行详细说明。
输出保持缓冲器55e保持最后的相加结果数据,即,像素数据x0B,输出给输出选择电路56。这点在后面进行详细说明。
而且,积和运算电路54f~54h进行与积和运算电路54e相同的动作,输出保持缓冲器55f~55h进行与输出保持缓冲器55e相同的动作。
如上述那样,积和运算电路54f~54h输入4个正交变换系数数据X0B~X3B,以4并列地执行积和累计,生成4个像素数据x0B~x3B。
输出选择电路56按照来自控制电路52的控制信号,将从输出保持缓冲器55a~55h输出的8个像素数据x0A~x3B选择的数据输出给输出端口57。
这样,以由输出选择电路56所选择的顺序,从输出端口57一个一个地输出像素数据x0A~x3B。
通过在图5(d)的4列中重复以上处理,对于4像素×4行的两个块,执行4×4逆正交变换,接着,在4列中重复进行同样的处理,由此,对于4像素×4行的两个块,执行4×4逆正交变换。
由此,对于图5(d)的将8像素×8行的块四等分的4像素×4行的4个块,执行4×4逆正交变换,而生成64个像素数据。
而且,像素数据的输入顺序在图5(a)~(f)的任一个中都与上述相同,以2并列地执行4×4逆正交变换,而生成64个像素数据。
下面,使用图13来说明积和运算电路54a和输出保持缓冲器55a的动作的细节。
在此情况下,列举了这样的例子:4×4逆正交变换方式被设定,以图5(d)的顺序输入像素数据,按照(式13),对4个正交变换系数数据X0A~X3A执行4×4逆正交变换。
因此,在图13的各个积和运算电路54a~54d中,在4×4逆正交变换系数存储电路66中存储与(式13)的4行4列的行列对应的行的系数数据。
由于列举了4×4逆正交变换方式被设定的例子,按照图13的来自控制电路52的控制信号,选择器67选择4×4逆正交变换系数存储电路66,向乘法器73依次输出在4×4逆正交变换系数存储电路66中所存储的4个系数数据
另一方面,从输入电路53向乘法器73依次输入正交变换系数数据X0A~X3A。
接着,乘法器73将依次输入的系数数据
Figure C0310343900612
与正交变换系数数据X0A~X3A相乘,将相乘结果数据依次输出给加法器72。
积和运算开始时,通过来自控制电路52的控制信号,选择器69选择来自初始值输入电路70的初始值。
因此,当最初的相乘结果数据被输入加法器72时,向加法器72输入初始值。
这样,积和运算开始时,加法器72将最初的相乘结果与初始值相加,将相加结果数据输出给寄存器71。
该最初的相加结果数据被保持在寄存器71中。该保持的最初的相加结果数据被输出给输出保持缓冲器55a和选择器69。
然后,选择器69连续选择依次保持在寄存器71中的相加结果数据,直到对下一列(参照图5(d))的4个正交变换系数数据的积和运算开始为止。即,选择器69在每4个正交变换系数数据中选择初始值。
加法器72将寄存器71中所保持的相加结果数据与乘法器73的相乘结果数据依次相加,将相加结果数据输出给寄存器71。这样,乘法器73的相乘结果数据被累计。
这样,由加法器72所产生的最后的相加结果数据(第4个相加结果数据)是像素数据x0A。
而且,被依次输入寄存器71中的相加结果数据被依次输出给输出保持缓冲器55a。
其他的各个积和运算电路54b~54d分别输入4个正交变换系数数据X0A~X3A,进行与积和运算电路54a相同的动作,生成像素数据x1A~x3A。
在此情况下,积和运算电路54a~54d以4并列地执行积和运算。
输出保持缓冲器55a的选择器74根据来自控制电路52的控制信号,选择寄存器75中所保持的数据或者积和累计器68输入的相加结果数据之一,输出给寄存器75。
具体地说,当由加法器72所产生的最后的相加结果数据(第4个相加结果数据)被输入时,选择器74选择该最后的相加结果数据。保持在寄存器75中。
选择器74对其他3个相加结果数据不进行选择,这些数据不保持在寄存器75中。
即,在寄存器75中仅保持像素数据,当输入与后续的4个正交变换系数数据对应的像素数据时,进行更新。
而且,在寄存器75中所保持的像素数据x0A被输出给输出选择电路56。
其他的各个输出保持缓冲器55b~55d进行与输出保持缓冲器55a相同的动作,向输出选择电路56输出像素数据x1A~x3A。
而且,4×4逆正交变换方式中的积和运算电路54e~54h的详细动作和输出保持缓冲器55e~55h的详细动作分别与4×4逆正交变换方式中的积和运算电路54a的详细动作和输出保持缓冲器55a的详细动作相同。
下面,使用图12、图14和流程图来说明图10的逆正交变换电路15所进行的处理的流程。
图15是图10的逆正交变换电路15的流程图。
首先,在步骤S51中,当向方式设定端口50输入方式指示信号时,控制电路52根据该方式指示信号来将方式设定为8×8逆正交变换方式或4×4逆正交变换方式。
首先,说明设定为8×8逆正交变换方式的情况。在设定为8×8逆正交变换方式后(步骤S51),在步骤S52中,开始进行运算。
由于被设定为8×8逆正交变换方式,进到步骤S54(步骤S53)。
在步骤S54中,从输入端口51向输入电路53提供8个正交变换系数数据。
接着,输入电路53向积和运算电路54a~54h输入8个正交变换系数数据。
在步骤S55中,各个积和运算电路54a~54h使用8个正交变换系数数据和8×8逆正交变换的8个系数数据,以8并列地执行积和运算。这意味着执行对8个正交变换系数数据的8×8逆正交变换。
对8个正交变换系数数据的8×8逆正交变换是对8像素×8行的块来执行。
因此,如果对于8像素×8行的块,8×8逆正交变换没有结束,进到步骤S54(步骤S56)。
另一方面,如果对于8像素×8行的块,8×8逆正交变换已经结束,结束处理(步骤S56)。其结果,生成8×8逆正交变换的共计64个像素数据。
接着,对设定为4×4逆正交变换方式的情况进行说明。在设定为4×4逆正交变换方式之后(步骤S51),在步骤S52中,开始进行运算。
由于被设定为4×4逆正交变换方式,进到步骤S57(步骤S53)。
在步骤S57中,从输入端口51向输入电路53提供8个正交变换系数数据。
接着,在步骤S58中,输入电路53将前半部分的4个正交变换系数数据输入到积和运算电路54a~54d中,同时,将后半部分的4个正交变换系数数据输入到积和运算电路54e~54h中(将8个正交变换系数数据分成两半来输入)。
在步骤S59中,各个积和运算电路54a~54d使用前半部分的4个正交变换系数数据和4×4逆正交变换的4个系数数据,以4并列地执行积和运算,同时,各个积和运算电路54e~54h使用后半部分的4个正交变换系数数据和4×4逆正交变换的4个系数数据,以4并列地执行积和运算。
这意味着以2并列地执行对4个正交变换系数数据的4×4逆正交变换。
如果对于8像素×8行的块,4×4逆正交变换没有结束,进到步骤S57(步骤S60)。
另一方面,如果对于8像素×8行的块,4×4逆正交变换已经结束,则结束处理(步骤S60)。其结果,生成4×4逆正交变换的64个像素数据。
如以上那样,在本实施例中,输入电路53在8×8逆正交变换方式下和4×4逆正交变换方式下接受相同数量的8个正交变换系数数据,对积和运算电路54a~54h执行适合于各方式的输入。
即,输入电路53,在8×8逆正交变换方式下,向各个积和运算电路54a~54h输入8个正交变换系数数据。而且,以8并列地执行积和运算。
另一方面,输入电路53,在4×4逆正交变换方式下,向积和运算电路54a~54d分别输入接受的8个正交变换系数数据中的4个正交变换系数数据,同时,向积和运算电路54e~54h分别输入接受的8个正交变换系数数据中的另4个正交变换系数数据。
而且,通过积和运算电路54a~54d来4并列地执行积和运算,同时,通过积和运算电路54e~54h来4并列地执行积和运算。即,以2并列地执行4×4逆正交变换。
因此,在对8像素×8行的块的数据进行8×8逆正交变换的情况下和在对将8像素×8行的块进行四等分的4像素×4行的4个块的数据进行4×4逆正交变换的情况下,逆正交变换电路15的起动次数为相同的,为一次。
即,在4×4逆正交变换方式下和8×8逆正交变换方式下,能够进行对由相同的等待时间所产生的8像素×8行的块的逆正交变换运算。
其结果,能够抑制执行4×4逆正交变换时的处理速度的降低,谋求处理的高速化。
而且,在现有技术中,当执行4×4逆正交变换时,与执行8×8逆正交变换时相比,逆正交变换电路起动时的等待时间为4倍,特别是,4×4逆正交变换的处理速度的降低成为问题。
而且,在本实施例中,在8×8逆正交变换方式下和4×4逆正交变换方式下使用相同的积和运算电路54a~54h。
这样,在8×8逆正交变换和4×4逆正交变换下共用相同的积和运算电路54a~54h。其结果,能够抑制逆正交变换电路15的规模增大。
而且,仅追加了8×8逆正交变换系数存储电路65和4×4逆正交变换系数存储电路66,与具有两方的8×8逆正交变换装置和4×4逆正交变换装置相比,面积的增加减少,能够得到电路面积小的逆正交变换电路15。
而且,在8×8逆正交变换方式下和4×4逆正交变换方式下,不需要改变数据向输入电路53的输入顺序,能够使地址控制容易。即,在8×8逆正交变换方式下和4×4逆正交变换方式下,能够采用图5所示的某个输入顺序。
下面说明本实施例中的逆正交变换电路15的变形例。
图16是本实施例中的逆正交变换电路15的变形例的方框图。而且,在图16中,对于与图12相同的部分,使用相同的标号,并适当地省略说明。
图16的变形例是:在图12的逆正交变换电路15中,在积和运算电路54a~54h与输出保持缓冲器55a~55h之间设置蝶型运算电路58。
蝶型运算电路58根据高速算法执行蝶型运算。下面详细地说明这点。
通过高速算法的使用可将(式10)变形为下式:
【式14】
x 0 x 1 x 2 x 3 = 1 2 A B A C A C - A - B A - C - A B A - B A - C X 0 X 2 X 4 X 6 + 1 2 D E F G E - G - D - F F - D G E G - F E - D X 1 X 3 X 5 X 7
x 7 x 6 x 5 x 4 = 1 2 A B A C A C - A - B A - C - A B A - B A - C X 0 X 2 X 4 X 6 - 1 2 D E F G E - G - D - F F - D G E G - F E - D X 1 X 3 X 5 X 7
下面对变形例中的8×8逆正交变换系数存储电路65进行说明。在此情况下,以(式14)为例进行说明。
在积和运算电路54a中,8×8逆正交变换系数存储电路65在(式14)的上段的行列式的第一项的4行4列的行列中,存储第1行的系数数据。
在积和运算电路54b中,8×8逆正交变换系数存储电路65在(式14)的上段的行列式的第一项的4行4列的行列中,存储第2行的系数数据。
在积和运算电路54c中,8×8逆正交变换系数存储电路65在(式14)的上段的行列式的第一项的4行4列的行列中,存储第3行的系数数据。
在积和运算电路54d中,8×8逆正交变换系数存储电路65在(式14)的上段的行列式的第一项的4行4列的行列中,存储第4行的系数数据。
在积和运算电路54e中,8×8逆正交变换系数存储电路65在(式14)的上段的行列式的第二项的4行4列的行列中,存储第1行的系数数据。
在积和运算电路54f中,8×8逆正交变换系数存储电路65在(式14)的上段的行列式的第二项的4行4列的行列中,存储第2行的系数数据。
在积和运算电路54g中,8×8逆正交变换系数存储电路65在(式14)的上段的行列式的第二项的4行4列的行列中,存储第3行的系数数据。
在积和运算电路54h中,8×8逆正交变换系数存储电路65在(式14)的上段的行列式的第二项的4行4列的行列中,存储第4行的系数数据。
下面说明设置了蝶型运算电路58时的处理。在此情况下,以(式14)为例进行说明。
在本变形例中,由于执行蝶型运算的是8×8逆正交变换方式,则说明8×8逆正交变换方式中的处理。
首先,设定为8×8逆正交变换方式。在处理开始的同时,从输入端口51一个一个地输入8个正交变换系数数据X0~X7。
接着,在输入电路53中,进行暂时保持,直到8个正交变换系数数据X0~X7凑齐为止。
接着,输入电路53将8个正交变换系数数据X0~X7中的4个正交变换系数数据X0、X2、X4、X6输出给积和运算电路54a~54d。
同时,输入电路53将8个正交变换系数数据X0~X7中的4个正交变换系数数据X1、X3、X5、X7输出给积和运算电路54e~54h。
由积和运算电路54a~54h所进行的运算结果数据被输入蝶型运算电路58,进行蝶型运算,所生成的像素数据保持在输出保持缓冲器55a~55h中。
在4×4逆正交变换方式中,不执行蝶型运算,因此,像素数据仅通过蝶型运算电路58。
如以上那样,通过设置蝶型运算电路58,能够谋求8×8逆正交变换运算的高速化。
在上述中,列举了具有8×8逆正交变换方式和4×4正交变换方式的逆正交变换电路15的例子,但是,本发明可以用于当将「N」作为2的幂时的,具有N×N的逆正交变换方式和N/2×N/2的逆正交变换方式的逆正交变换电路。
而且,上述本实施例的逆正交变换电路15及其变形例能够通过软件来实现。这样,本发明的使用并不仅限于硬件。
同样,本实施例中的解码装置能够通过软件来实现,也可以通过硬件来实现。
而且,作为图1的逆正交变换电路7,能够使用本实施例的逆正交变换电路15或其变形例。
实施例3
本发明的实施例3中的编码装置的全体构成与图1的编码装置相同。这样,在实施例3的说明中,也使用图1。
图17是本发明的实施例3中的图1的正交变换电路3的方框图。而且,在图17中,对于与图4相同的部分使用相同标号,并省略其说明。
如图17所示的那样,本实施例中的正交变换电路3是在图4的正交变换电路的构成上增加了最大值检测电路40。以下,以不同点为中心进行说明。
而且,在以下,为了便于说明,列举了以图5(d)的顺序向输入端口31输入像素数据的例子。
首先,说明设定为8×8正交变换方式时的动作。最初,图5(d)的第一列的8像素的像素数据一个一个地从输入端口31输入。
而且,与实施例1相同,通过积和运算电路34a~34h,生成8个正交变换系数数据,从输出保持缓冲器35a~35h输出给输出选择电路36。
输出选择电路36输入输出保持缓冲器35a~35h输出的8个正交变换系数数据,依次将选择的正交变换系数数据输出给最大值检测电路40。
最大值检测电路40通过比较依次输入的正交变换系数数据和现在保持的最大值的数据,来检测最大值。
但是,对于最初输出给最大值检测电路40的正交变换系数数据,没有比较的对象,因此,该正交变换系数数据成为最大值。
这样,当与第一列的8像素的像素数据相对应的正交变换系数数据从输出选择电路36开始输出时,最大值检测电路40开始进行最大值的检测。
而且,最大值检测电路40在执行比较处理的过程中,向输入端口31依次输入像素数据,执行正交变换。
在8像素×8行的像素块的处理结束时,检测出64个正交变换系数数据中的最大值。
而且,正交变换系数数据经过最大值检测电路40输出给输出端口37。
接着,说明设定为4×4正交变换方式时的动作。最初,图5(d)的第一列的8像素的像素数据一个一个地从输入端口31输入。
接着,与实施例1相同,通过积和运算电路34a~34h,2并列地执行4×4正交变换,生成8个正交变换系数数据,从输出保持缓冲器35a~35h输出给输出选择电路36。
输出选择电路36输入输出保持缓冲器35a~35h输出的8个正交变换系数数据,将选择的正交变换系数数据依次输出给最大值检测电路40。
最大值检测电路40通过比较依次输入的正交变换系数数据和现在保持的最大值的数据,来检测出最大值。
但是,由于对最初输出给最大值检测电路40的正交变换系数数据,没有比较的对象,因此,该正交变换系数数据为最大值。
这样,当第一列的8像素的像素数据开始从输出选择电路36输出时,最大值检测电路40开始进行最大值的检测。
接着,最大值检测电路40在执行比较处理的过程中,向输入端口31依次输入像素数据,执行正交变换。
而且,最大值检测电路40以4像素×4行的块单位进行比较处理,以4像素×4行的块单位检测最大值。
这样,例如,在结束了图5(d)的4列的正交变换运算时,对4像素×4行的两个块,4×4正交变换结束,检测出两个最大值。
接着,当结束了4列的正交变换运算时,对4像素×4行的另2个块,4×4正交变换结束,检测出两个最大值。
这样,对4像素×4行的4个块,检测出4个最大值。这样,各个最大值是16个正交变换系数数据中的最大值。
而且,正交变换系数数据经过最大值检测电路40输出给输出端口37。
下面使用图17和流程图来说明实施例3中的图1的正交变换电路3的处理流程。
图18是实施例3中的图1的正交变换电路3的流程图。
首先,在步骤S1中,当向方式设定端口30输入方式指示信号时,控制电路32根据该方式指示信号来将方式设定为8×8正交变换方式或4×4正交变换方式。
首先,说明设定为8×8正交变换方式的情况。在设定为8×8正交变换方式后(步骤S1),在步骤S2中,开始进行运算。
由于被设定为8×8正交变换方式,进到步骤S4(步骤S3)。
在步骤S4中,从输入端口31向输入电路33提供8像素的像素数据。
接着,输入电路33向积和运算电路34a~34h输入8像素的像素数据。
在步骤S5中,各个积和运算电路34a~34h使用8像素的像素数据和8×8正交变换的8个系数数据,以8并列地执行积和运算。这意味着执行对8像素的像素数据的8×8正交变换。接着,生成8个正交变换系数数据。
该8个正交变换系数数据从输出选择电路36依次输出给最大值检测电路40。
在步骤S6中,最大值检测电路40比较从输出选择电路36所输入的正交变换系数数据和现在保持的最大值。
当比较的结果是新输入的正交变换系数数据大于当前保持的最大值时,更新最大值(步骤S7)。
另一方面,当比较的结果是新输入的正交变换系数数据小于现在保持的最大值时,维持现在保持的该最大值的保持。
在最大值检测电路40执行用于最大值检测的比较处理期间,如果对8像素×8行的像素块,8×8正交变换没有结束(步骤S8),向输入端口31输入像素数据(步骤S4),执行正交变换(步骤S5)。
另一方面,如果对于8像素×8行的像素块,8×8正交变换已经结束,结束处理(步骤S8)。其结果,检测出8×8正交变换的共计64个正交变换系数和与8像素×8行的像素块相对应的64个正交变换系数中的最大值。
接着,对设定为4×4正交变换方式的情况进行说明。在设定为4×4正交变换方式之后(步骤S1),在步骤S2中,开始进行运算。
由于被设定为4×4正交变换方式,进到步骤S9(步骤S3)。
在步骤S9中,从输入端口31向输入电路33提供8像素的像素数据。
接着,在步骤S10中,输入电路33将前半部分的4像素的像素数据输入到积和运算电路34a~34d中,同时,将后半部分的4像素的像素数据输入到积和运算电路34e~34h中(将8像素的数据分成两半来输入)。
在步骤S11中,各个积和运算电路34a~34d使用前半部分的4像素的像素数据和4×4正交变换的4个系数数据,以4并列地执行积和运算,同时,各个积和运算电路34e~34h使用后半部分的4像素的像素数据和4×4正交变换的4个系数数据,以4并列地执行积和运算。
这意味着以2并列地执行对4像素的像素数据的4×4正交变换。接着,生成8个正交变换系数数据。
该8个正交变换系数数据从输出选择电路36输出给最大值检测电路40。
在步骤S12中,最大值检测电路40比较从输出选择电路36输入的正交变换系数数据和现在保持的最大值。
在此情况下,最大值检测电路40以4像素×4行的块单位检测出最大值。
这样最大值检测电路40以4像素×4行的块单位来保持最大值。
当比较的结果是新输入的正交变换系数数据大于现在保持的最大值时,更新最大值(步骤S13)。
另一方面,当比较的结果是新输入的正交变换系数数据小于现在保持的最大值时,维持现在保持的该最大值的保持。
在最大值检测电路40执行用于最大值检测的比较处理期间,如果对8像素×8行的像素块,4×4正交变换没有结束(步骤S14),向输入端口31输入像素数据(步骤S9),执行正交变换(步骤S11)。
另一方面,如果对于8像素×8行的像素块,4×4正交变换已经结束,则结束处理(步骤S14)。其结果,检测出4×4正交变换的共计64个正交变换系数和对4像素×4行的4块的4个最大值。这样,各最大值是16个正交变换系数数据中的最大值。
如以上那样,在本实施例中,在8×8正交变换方式下,一边执行正交变换,一边检测最大值,因此,与在正交变换后,比较8像素×8行的像素块的全部正交变换系数来求出最大值的情况相比,能够缩短作为全体的处理时间。
而且,在4×4正交变换方式下,一边执行正交变换,一边检测最大值,因此,与在正交变换后,比较4像素×4行的块的全部正交变换系数来求出最大值的情况相比,能够缩短作为全体的处理时间。
而且,在正交变换后,量化前,比较量化值和8像素×8行的像素块的正交变换系数的最大值,如果正交变换系数的最大值小于量化值,对于该像素块,不进行量化的运算,使8×8的正交变换系数的全部的值为「0」。其结果,能够消减INTER图像的量化中的处理时间。
而且,在INTER像素的编码中,由于在直流成分和交流成分中,量化值相同,则从8像素×8行的像素块的全部正交变换系数中检测出最大值的措施对INTER像素的编码是有效的。
而且,在正交变换后,量化前,对于4像素×4行的4个块的每个,比较量化值和正交变换系数的最大值,对于正交变换系数的最大值小于量化值的块,不进行量化的运算,使4×4的正交变换系数的全部的值为「0」。其结果,能够消减INTER图像的量化中的处理时间。
而且,在INTER像素的编码中,由于在直流成分和交流成分中,量化值相同,则从4像素×4行的像素块的全部正交变换系数中检测出最大值的措施对INTER像素的编码是有效的。
在此,所谓量化值是在量化时在除正交变换系数时的除数的值。
当4×4正交变换方式时,最大值检测电路40能够从与8像素×8行的像素块相对应的64个正交变换系数数据中检测出最大值。
在此情况下,在4×4正交变换方式中,与对4像素×4行的每4个块求出最大值的情况相比,能够减小与量化值的比较次数。其结果,在INTER图像中,能够谋求与量化值的比较处理的高速化。
而且,在8×8正交变换方式和4×4正交变换方式中,最大值检测电路40能够求出从正交变换系数数据中除去了直流成分的交流成分的最大值。
在此情况下,在正交变换后,量化前,比较量化值和8像素×8行的像素块的像素块的交流成分的最大值,如果交流成分的最大值小于量化值,对于该像素块,不进行量化的运算,使8×8的交流成分的全部的值为「0」。其结果,能够消减INTRA图像的量化中的处理时间。
而且,在此情况下,在正交变换后,量化前,对于4像素×4行的4个块的每个,比较量化值和交流成分的最大值,对于交流成分的最大值小于量化值的块,不进行量化的运算,使4×4的正交变换的交流成分的全部的值为「0」。其结果,能够消减INTRA图像的量化中的处理时间。
在INTRA图像的编码中,由于在直流成分和交流成分中,量化值不同,则从交流成分中检测最大值的措施在INTRA图像的编码中是有效的。
而且,在4×4正交变换方式时,最大值检测电路40能够从与8像素×8行的像素块相对应的60个交流成分中检测出最大值。
在此情况下,在4×4正交变换方式下,与对4像素×4行的4个块的每个求出交流成分的最大值的情况相比,能够减小与量化值的比较次数。其结果,在INTRA图像中,能够谋求与量化值的比较处理的高速化。
而且,仅检测交流成分的最大值的方式在8×8正交变换方式和4×4正交变换方式中是共同的。
而且,在本实施例中,如图9所示的那样,能够在输入电路33与积和运算电路34a~34h之间设置蝶型运算电路。这样,能够谋求8×8正交变换运算的高速化。
而且,在上述中,以具有8×8正交变换方式和4×4正交变换方式的正交变换电路3为例进行了说明,但是,本发明也能用于当将「N」作为2的幂时,具有N×N的正交变换方式和N/2×N/2的正交变换方式的正交变换电路。
而且,本实施例中的正交变换电路3能够用软件实现。这样,本发明的使用并不仅限于硬件。
同样,本实施例的编码装置能用软件来实现,也能用硬件来实现。
而且,在8×8正交变换方式或4×4正交变换方式下,输入电路33、积和运算电路34a~34h和输出保持缓冲器35a~35h的动作与实施例1相同。
而且,本实施例的正交变换电路具有实施例1的正交变换电路的全部构成。这样,在本实施例中,起到与实施例1相同的效果。
实施例4
在下一代的编码方式中,存在采用4像素×4行的正交变换的可能性。
在下一代的编码方式中,通过能够减小块尺寸,来对色差块分割直流成分和交流成分,来进行可变长编码。
为了降低编码量,而与色差成分相关,不发送交流成分,仅发送直流成分。
由于在块尺寸小到4像素×4行的基础上,色差成分在视觉上难于识别该差,则在大多情况下,仅用直流成分,也能解码出不逊色的动画图像。
此时,由于编码量的进一步减少,与直流成分相关,在可变长编码前,要求其他的变换(特定的运算)。
至公元2002年为止,对应于这样的处理的正交变换装置还不存在。
在本实施例中,提供了能够适应于这样的下一代的编码方式的正交变换电路。
本发明的实施例4中的编码装置的全体构成与图1的编码装置相同。这样,在实施例4的说明中,使用图1。
图19是本发明的实施例4中的图1的正交变换电路3的方框图。而且,在图19中,对于与图4相同的部分,使用相同的标号,并省略其说明。
如图19所示的那样,本实施例中的正交变换电路3是在图4的正交变换电路中增加了直流成分运算电路41和DC运算设定端口94,而且,在控制电路32中设置了直流成分运算设定电路(DC运算设定电路)95和计数器96。
8×8正交变换方式的动作与实施例1相同,而省略其说明。而且,在8×8正交变换方式中,输出选择电路36选择而输出的正交变换系数数据通过直流成分运算电路41,从输出端口37输出。以下,以不同点为中心进行说明。
下面说明设定为4×4正交变换方式并且设定为执行特定运算的方式的情况。
而且,当向DC运算设定端口94输入指示特定运算的执行的信号时,直流成分运算设定电路95将正交变换电路3设定为执行特定运算的方式。
而且,与实施例1相同,通过积和运算电路34a~34h所生成的8个正交变换系数数据,由输出保持缓冲器35a~35h输出给输出选择电路36。
而且,根据来自控制电路32的控制信号,输出选择电路36依次将所输入的8个正交变换系数数据输出给直流成分运算电路41。
而且,输入电路33、积和运算电路34a~34h和输出保持缓冲器35a~35h的处理与实施例1相同。
在直流成分运算电路41中,交流成分被原封不动地交给输出端口37,但是,在直流成分交给输出端口37的同时,被另外保存。下面说明此时的处理的一例。
在此,积和运算电路34a~34h生成图2(c)的第一列、第二列、...、第八列和正交变换系数数据。
而且,积和运算电路34a~34h分别生成图2(c)的第一行的正交变换系数数据、第二行的正交变换系数数据、第三行的正交变换系数数据、第四行的正交变换系数数据、第五行的正交变换系数数据、第六行的正交变换系数数据、第七行的正交变换系数数据、第八行的正交变换系数数据。
而且,输出选择电路36,根据控制电路32的控制信号,象积和运算电路34a生成的正交变换系数数据、积和运算电路34b生成的正交变换系数数据、...、积和运算电路34h生成的正交变换系数数据那样,从位于上段的积和运算电路生成的正交变换系数数据依次输出给直流成分运算电路41。
这样,通过计数从输出选择电路36所输出的正交变换系数数据,能够确定直流成分。
该计数由计数器96执行。这样,控制电路32通过该计数值,来确定直流成分,向直流成分运算电路41发出保持直流成分的命令。
直流成分运算电路41,如上述那样,保持直流成分。
在此,为了便于说明,像素数据向输入端口31的输入顺序为图5(d)所示的顺序。
这样,当对于图5(d)的第5列的像素数据,处理已经结束时,在直流成分运算电路41中,凑齐了4个直流成分。
当直流成分运算电路41凑齐了4个直流成分时,对它们进行特定的运算,保持运算后的数据。作为特定的运算,例如,执行一维阿达玛变换等。
对于图5(d)的第6~8列的像素数据,与对直流成分的特定的运算并行地进行正交变换,实现对4像素×4行的4个块的正交变换运算。
下面,使用图19和流程图来说明本实施例中的图19的正交变换电路的处理。
图20是实施例4中的图19的正交变换电路的流程图。
在图20中,8×8正交变换方式时的处理与实施例1相同,因此,省略其说明(参照图8)。
下面对设定为4×4正交变换方式和执行特定运算的方式时的情况进行说明。在设定为这些方式后(步骤S1),在步骤S2中,开始进行运算。
由于被设定为4×4正交变换方式,进到步骤S7(步骤S3)。
在步骤S7中,从输入端口31向输入电路33提供8像素的像素数据。
接着,在步骤S8中,输入电路33向积和运算电路34a~34d输入前半部分的4像素的像素数据,同时,向积和运算电路34e~34h输入后半部分的4像素的像素数据(将8像素的像素数据分成两半来进行输入)。
在步骤S9中,各个积和运算电路34a~34d使用前半部分的4像素的像素数据和4×4正交变换的4个系数数据,以4并列地执行积和运算,同时,各个积和运算电路34e~34h使用后半部分的4像素的像素数据和4×4正交变换的4个系数数据,以4并列地执行积和运算。
这意味着2并列地执行对4像素的像素数据的4×4正交变换。
积和运算电路34a~34h生成的8个正交变换系数数据通过输出选择电路36输入到直流成分运算电路41中。
直流成分运算电路41在依次输入的正交变换系数数据中,分别保持直流成分(步骤S11),将直流成分和交流成分输出给输出端口37(步骤S10)。
接着,如果对于8像素×8行的像素块,4×4正交变换没有结束,进到步骤S7(步骤S14)。
在此,在步骤S13中,当4个直流成分凑齐时(步骤S12),直流成分运算电路41执行特定的运算,保持运算后的数据。
例如,当像素数据向输入端口31的输入顺序为图5(d)所示的顺序时,在对第五列的像素数据的处理结束时,4个直流成分凑齐。接着,开始进行特定的运算。
当开始进行特定的运算时,首先,由于对第6~8列的像素数据的处理没有完成,则接着执行正交变换运算(步骤S14)。
这样,对于图5(d)的第6~8列的像素数据,与对直流成分的特定的运算并行地执行正交变换。
而且,如果对于8像素×8行的像素块,4×4正交变换已经结束,结束处理(步骤S14)。其结果,最终地生成4×4正交变换的共计64个正交变换系数和由特定的运算所产生的4个结果数据。
该64个正交变换系数和和特定运算的4个结果数据从输出端口37输出到外部。
如以上那样,在本实施例中,在4×4正交变换方式下,在与4像素×4行的4个块相对应的全部(64个)正交变换系数生成之前,开始特定运算的执行。
即,一边执行4×4正交变换,一边执行对直流成分的特定运算。
其结果,与在与4像素×4行的4个块相对应的全部(64个)正交变换系数生成之后,找出4个直流成分来执行特定运算的情况相比,能够缩短作为全体的处理时间,能够进行高速的处理。
在此,在4×4正交变换方式时,能够从输出端口37向外部输出从对4像素×4行的4个块所生成的64个正交变换系数中除去了4个直流成分的60个交流成分和特定运算的结果数据。
由此,适合于下一代的编码方式中的色差成分的编码。
即,在下一代的编码方式中,由于能够对色差成分的交流成分和特定运算后的直流成分进行可变长编码来发送,因此,输出去除了直流成分的交流成分的措施对下一代的编码方式是有效的。
而且,当正交变换电路3将要从输出端口37输出包含直流成分的64个正交变换系数数据时,例如,可变长编码电路5必须在执行可变长编码之前,从该64个正交变换系数数据中找出并去除4个直流成分,然后,执行可变长编码。
这样,用于找出这4个直流成分并进行去除的时间成为多余的。
例如,输出选择电路36去除直流成分,将该直流成分和交流成分交给直流成分运算电路41,如果直流成分运算电路41保持该直流成分,同时,将该交流成分输出给输出端口37,则能够消除其后的直流成分的搜索时间。
而且,在上述中,直流成分运算电路41在4个直流成分凑齐之后,开始执行特定的运算。
但是,例如,也存在如果2个直流成分凑齐就能开始执行特定运算的情况。此时,当2个直流成分凑齐时,能够开始执行特定的运算。
这样,不一定等待4个直流成分凑齐。即,当直流成分运算电路41取得特定运算的执行能够开始的数量的直流成分时,可以开始特定运算的执行。
而且,在本实施例中,如图9所示的那样,能够在输入电路33与积和运算电路34a~34h之间设置蝶型运算电路。这样,能够谋求8×8正交变换运算的高速化。
而且,在上述中,列举了具有8×8正交变换方式和4×4正交变换方式的正交变换电路3的例子,但是,本发明可以用于当将「N」作为2的幂时的,具有N×N的正交变换方式和N/2×N/2的正交变换方式的正交变换电路。
而且,上述本实施例的正交变换电路3能够通过软件来实现。这样,本发明的使用并不仅限于硬件。
同样,本实施例中的编码装置能够通过软件来实现,也可以通过硬件来实现。
而且,在8×8正交变换方式或4×4正交变换方式中,输入电路33、积和运算电路34a~34h以及输出保持缓冲器35a~35h的动作与实施例1相同。
而且,本实施例的正交变换电路具有实施例1的正交变换电路的全部构成。这样,在本实施例中,也能起到与实施例1相同的效果。
实施例5
在下一代的编码方式中,存在采用4像素×4行的正交变换的可能性。
在下一代的编码方式中,通过能够减小块尺寸,来对色差块分割直流成分和交流成分,进行可变长编码。
为了降低编码量,而与色差成分相关,不发送交流成分,仅发送直流成分。
由于在块尺寸小到4像素×4行的基础上,色差成分在视觉上难于识别该差,则在大多情况下,仅用直流成分,也能解码出不逊色的动画图像。
但是,此时,由于编码量的进一步减少,与直流成分相关,在可变长编码前,要求其他的变换(特定的运算)。
至公元2002年为止,对应于这样的处理的逆正交变换装置还不存在。
在本实施例中,提供了能够适应于这样的下一代的编码方式的逆正交变换电路。
本发明的实施例5中的解码装置的全体构成与图10的解码装置相同。这样,在实施例5的说明中,使用图10。
图21是本发明的实施例5中的图10的逆正交变换电路15的方框图。而且,在图21中,对于与图12相同的部分,使用相同的标号,并省略其说明。
如图21所示的那样,本实施例中的逆正交变换电路15是在图12的逆正交变换电路中增加了直流成分运算电路61、DC运算设定端口77、4数据输入端口60和DC信息输入端口99,而且,在控制电路52中设置了直流成分运算设定电路(DC运算设定电路)78和计数器79。
8×8逆正交变换方式的动作与实施例2相同,而省略其说明。而且,在8×8逆正交变换方式中,直流成分运算电路61不动作。以下,以不同点为中心进行说明。
下面说明设定为4×4逆正交变换方式并且设定为执行特定运算的方式的情况。
在此情况下,在向输入端口51输入的数据的直流成分的位置上插入特定数据(例如「0」)。
而且,在以下,为了便于说明,在使图5(d)的8像素×8行的像素块为由64个正交变换系数数据组成的块的情况下,以图5(d)的顺序,向输入端口51输入数据。但是,在直流成分的位置上插入特定数据。
而且,当向DC运算设定端口77输入指示特定运算的执行的信号时,直流成分运算设定电路78将逆正交变换电路15设定为执行特定运算的方式。
首先,从4数据输入端口60向直流成分运算电路61输入成为导出直流成分的原样的4个数据(相当于实施例4的特定运算的4个结果数据)(用于进行特定运算的4数据的设定)。
以下将这样的成为导出直流成分的原样的数据称为「原数据」。
直流成分运算电路61在4个原数据凑齐时,开始执行特定的运算。作为特定的运算,例如,执行一维逆阿达玛变换等。直流成分运算电路61保持特定运算的结果(正交变换系数的直流成分)。
接着,向输入端口51一个一个地输入图5(d)的第一列的8个数据。而且,当这8个数据全都是正交变换系数数据时,在这8个数据被输入期间,直流成分运算电路61能够执行特定的运算。
在输入到输入端口51中的数据的直流成分的位置上插入了特定数据的情况下,按照控制电路52的指示,输入电路53在直流成分的位置上重写直流成分运算电路61导出的直流成分。
在输入到输入端口51中的数据的直流成分的位置上插入了特定数据的情况下,在输入电路53中,8个正交变换系数数据凑齐。
而且,控制电路52通过从DC信息输入端口99所输入的DC信息,掌握在直流成分的位置上插入特定数据而不是直流成分。
而且,由于直流成分输入的顺序已决定,如果通过计数器79来计数向输入端口51输入的数据,能够容易地检测出直流成分的位置。
如以上那样,在输入电路5从输入端口51完成了接受8个数据之前,直流成分运算电路61开始执行特定的运算。
输入电路53在8个正交变换系数数据凑齐之后,与实施例2相同,将4个正交变换系数数据输入积和运算电路54a~54d,同时,将另外4个正交变换系数数据输入积和运算电路54e~54h。以后的处理与实施例2相同,而省略其说明。
当对图5(d)的第二列到第八列的数据处理结束时,64个像素数据凑齐。
接着,使用图21和流程图来说明本实施例中的图21的逆正交变换电路的处理。
图22是实施例5中的图21的逆正交变换电路的流程图。
在图22中,8×8逆正交变换方式时的处理与实施例2相同,因此,省略其说明(参照图15)。
下面,为了便于说明,在使图5(d)的8像素×8行的像素块为由64个正交变换系数数据组成的块的情况下,以图5(d)的顺序,向输入端口51输入数据。但是,在直流成分的位置上插入特定数据。
下面对设定为4×4逆正交变换方式和执行特定运算的方式时的情况进行说明。在设定为这些方式后(步骤S51),在步骤S52中,开始进行运算。
由于被设定为4×4逆正交变换方式,进到步骤S57(步骤S53)。
在步骤S57中,从4数据输入端口60向直流成分运算电路61输入4个原数据(用于进行特定运算的4数据的设定)。
在步骤S58中,直流成分运算电路61在4个原数据凑齐时,开始执行特定的运算。接着,直流成分运算电路61保持特定的运算的结果(正交变换系数的直流成分)。
接着,在步骤S59中,向输入端口51一个一个地输入图5(d)的第一列的8个数据。而且,当该8个数据都是正交变换系数数据时,在这8个数据被输入期间,直流成分运算电路61能够执行特定的运算。
在步骤S60中,在输入到输入端口51中的数据的直流成分的位置上插入了特定数据的情况下,控制电路52向输入电路53发出命令,以便于在直流成分的位置的特定数据上重写直流成分运算电路61导出的直流成分。
按照该命令,在步骤S61中,输入电路53在直流成分的位置的特定数据上重写直流成分运算电路61导出的直流成分。
在向输入端口51输入的数据的直流成分的位置上被插入了特定数据的情况下,在输入电路53中,8个正交变换系数数据凑齐。
如以上那样,在输入电路53从输入端口51完成了接受8个数据之前,直流成分运算电路61开始执行特定的运算。
在步骤S62中,在8个正交变换系数数据凑齐之后,输入电路53与实施例2相同,将前半部分的4个正交变换系数数据输入积和运算电路54a~54d,同时,将后半部分的4个正交变换系数数据输入积和运算电路54e~54h(将8个正交变换系数数据分成两半来输入)。
在步骤S63中,各个积和运算电路34a~34d使用前半部分的4个正交变换系数数据和4×4逆正交变换的4个系数数据,以4并列地执行积和运算,同时,各个积和运算电路34e~34h使用后半部分的4个正交系数数据和4×4逆正交变换的4个系数数据,以4并列地执行积和运算。
这意味着2并列地执行对4个正交变换系数数据的4×4逆正交变换。
如果对图5(d)的8像素×8行的块,4×4逆正交变换没有结束,则进到步骤S59(步骤S64)。
即,如果结束的运算是对图5(d)的第八列,则进到步骤S59。
另一方面,如果对图5(d)的8像素×8行的块,4×4逆正交变换已经结束,则结束处理(步骤S64)。其结果,生成了64个像素数据。
而且,在上述中,直流成分运算电路61在4个原数据凑齐之后,开始执行特定的运算。
但是,例如,也存在如果2个原数据凑齐就能开始执行特定运算的情况。此时,当2个原数据凑齐时,能够开始执行特定的运算。
这样,不一定等待4个原数据凑齐。即,当直流成分运算电路61取得特定运算的执行能够开始的数量的原数据时,可以开始特定运算的执行。
如上述那样,在本实施例中,在4×4逆正交变换方式下,在输入电路53从输入端口51完成的8个数据的接受之前,直流成分运算电路61开始执行特定的运算。
因此,在输入电路53中,8个数据凑齐之后,开始执行特定的运算,在全部得到4个直流成分后,在直流成分的位置上写入直流成分,由此,与开始4×4逆正交变换运算的情况相比,作为整体能够缩短处理时间,能够实现高速的处理。
而且,在向输入端口51输入的数据的直流成分的位置上,特定数据可以没有,输入输入端口51的数据可以仅是交流成分。在此情况下,根据控制电路52的指示,输入电路53在直流成分的位置上,插入直流成分运算电路61导出的直流成分。
在此情况下,控制电路52通过从DC信息输入端口99所输入的DC信息,掌握在直流成分的位置上没有数据。
在下一代的编码方式中,能够将色差成分的交流成分和特定运算后的直流成分进行可变长编码来发送,在输入到输入端口51中的数据仅是交流成分时,适合于下一代的编码方式中的色差成分的解码,并且是有效的。
而且,在本实施例中,如图16所示的那样,能够在积和运算电路54a~54h和输出保持缓冲器55a~55h之间设置蝶型运算电路。这样,能够谋求8×8逆正交变换运算的高速化。
而且,在上述中,列举了具有8×8逆正交变换方式和4×4逆正交变换方式的逆正交变换电路15的例子,但是,本发明可以用于当将「N」作为2的幂时的,具有N×N的逆正交变换方式和N/2×N/2的逆正交变换方式的逆正交变换电路。
而且,上述本实施例的逆正交变换电路15能够通过软件来实现。这样,本发明的使用并不仅限于硬件。
同样,本实施例中的编码装置能够通过软件来实现,也可以通过硬件来实现。
而且,作为图1的逆正交变换电路7,能够使用本实施例的逆正交变换电路15。
而且,在8×8逆正交变换方式或4×4逆正交变换方式中,输入电路53、积和运算电路54a~54h以及输出保持缓冲器55a~55h的动作与实施例2相同。但是,在4×4逆正交变换方式下,由输入电路53所进行的直流成分运算电路61导出的直流成分的重写处理在实施例2中没有。
而且,本实施例的逆正交变换电路具有实施例2的逆正交变换电路的全部构成。这样,在本实施例中,也能起到与实施例2相同的效果。

Claims (26)

1、一种正交变换方法,当将「N」作为2的幂时,对N像素×N行的像素块的数据,进行N×N的正交变换或N/2×N/2的正交变换,其特征在于,包含以下步骤:
输入步骤,在N×N的正交变换方式时,接受N个像素的数据,向执行正交变换运算的运算块,输入上述N个像素的数据;
输入步骤,在N/2×N/2的正交变换方式时,接受N个像素的数据,向上述运算块中的对应块输入前N/2个像素数据,并且,向上述运算块中的对应块输入后N/2个像素数据;
生成步骤,在N×N的正交变换方式时,在上述运算块中,使用所输入的上述N个像素的数据和所提供的N×N的正交变换的系数数据,来执行N×N的正交变换,生成N个正交变换系数;
生成步骤,在N/2×N/2的正交变换方式时,在上述运算块中的对应的上述块中,使用所输入的上述前N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据,执行N/2×N/2的正交变换,来生成N/2个正交变换系数,并且,在上述运算块中的对应的上述块中,使用所输入的上述后N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据,执行N/2×N/2的正交变换,来生成N/2个正交变换系数。
2、根据权利要求1所述的正交变换方法,其特征在于,
在N×N的正交变换方式时的上述生成步骤中,在上述运算块中,以N并列执行积和运算,
在N/2×N/2的正交变换方式时的上述生成步骤中,在上述运算块中,以2并列执行与上述前N/2个像素数据相对应的N/2×N/2的正交变换和与上述后N/2个像素数据相对应的N/2×N/2的正交变换,
在与上述前N/2个像素数据相对应的N/2×N/2的正交变换中,在上述运算块的对应的上述块中,以N/2并列执行积和运算,
在与上述后N/2个像素数据相对应的N/2×N/2的正交变换中,在上述运算块的对应的上述块中,以N/2并列进行积和运算。
3、根据权利要求1所述的正交变换方法,其特征在于,进一步包括:
检测步骤,当N×N的正交变换方式时,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值;
检测步骤,在N/2×N/2的正交变换方式时,在将N像素×N行的像素块四等分的N/2像素×N/2行的4个块的每个中,比较依次输入的正交变换系数,检测出4个N/2像素×N/2行的块的正交变换系数的最大值。
4、根据权利要求1所述的正交变换方法,其特征在于,进一步包括:
检测步骤,在N×N的正交变换方式时,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值;
检测步骤,在N/2×N/2的正交变换方式时,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值。
5、根据权利要求1所述的正交变换方法,其特征在于,进一步包括:
检测步骤,在N×N的正交变换方式时,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值;
检测步骤,在N/2×N/2的正交变换方式时,在将N像素×N行的像素块四等分的N/2像素×N/2行的4个块的每个中,比较依次输入的正交变换系数的交流成分,检测出4个N/2像素×N/2行的块的正交变换系数的交流成分的最大值。
6、根据权利要求1所述的正交变换方法,其特征在于,进一步包括:
检测步骤,在N×N的正交变换方式时,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值;
检测步骤,在N/2×N/2的正交变换方式时,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值。
7、根据权利要求1所述的正交变换方法,其特征在于,在N/2×N/2的正交变换方式时的上述生成步骤中进一步包括直流成分运算步骤,执行N/2×N/2的正交变换,同时,取得与将N像素×N行的像素块四等分的N/2像素×N/2行的4个块相对应的4个直流成分,对于取得的上述4个直流成分,执行预定的运算,
在上述直流成分运算步骤中,当取得能够开始执行上述预定的运算的数量的上述直流成分时,开始执行预定的运算。
8、根据权利要求7所述的正交变换方法,其特征在于,在N/2×N/2的正交变换方式时,向外部输出:从对N/2像素×N/2行的上述4个块而生成的N×N个正交变换系数中去除了上述4个直流成分的交流成分。
9、一种正交变换装置,当将「N」作为2的幂时,对N像素×N行的像素块的数据,进行N×N的正交变换或N/2×N/2的正交变换,其特征在于,包含:
输入单元,在N×N的正交变换方式时,接受N个像素的数据,输入上述N个像素的数据,在N/2×N/2的正交变换方式时,接受N个像素的数据,输入前N/2个像素数据和后N/2个像素数据;
正交变换运算单元,当N×N的正交变换方式时,对所输入的上述N个像素的数据和所提供的N×N的正交变换的系数数据进行运算,生成N个正交变换系数,在N/2×N/2的正交变换方式时,对所输入的上述前N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据进行运算,生成N/2个正交变换系数,并且,对所输入的上述后N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据进行运算,来生成N/2正交变换系数。
10、根据权利要求9所述的正交变换装置,其特征在于,上述正交变换运算单元包含:
第一系数存储单元,存储上述N×N正交变换的系数数据;
第二系数存储单元,存储上述N/2×N/2的正交变换的系数数据;
N个积和运算单元,在N×N的正交变换方式时,分别使用从上述第一系数存储单元取得的上述N×N的正交变换的系数数据,来执行积和运算,生成一个正交变换系数,
上述输入单元,在N/2×N/2的正交变换方式时,接受上述N个像素的数据,将上述前N/2个像素数据分别输入N个上述积和运算单元中的N/2个第一积和运算单元,并且,将上述后N/2个像素数据分别输入N个上述积和运算单元中的N/2个第二积和运算单元,
上述各个N/2个第一积和运算单元,在N/2×N/2的正交变换方式时,使用所输入的上述前N/2个像素数据和从上述第二系数存储单元取得的上述N/2个正交变换的系数数据,执行积和运算,生成一个正交变换系数,
上述各个N/2个第二积和运算单元,在N/2×N/2的正交变换方式时,使用从上述第二系数存储单元取得的上述N/2×N/2的正交变换的系数数据和所输入的上述后N/2个像素数据,执行积和运算,生成一个正交变换系数。
11、根据权利要求9所述的正交变换装置,其特征在于,进一步包括:最大值检测单元,在N×N的正交变换方式时,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值,当N/2×N/2的正交变换方式时,在将N像素×N行的像素块四等分的N/2像素×N/2行的4个块的每个中,比较依次输入的正交变换系数,检测出4个N/2像素×N/2行的块的正交变换系数的最大值。
12、根据权利要求9所述的正交变换装置,其特征在于,进一步包括:最大值检测单元,在N×N的正交变换方式时,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值,当N/2×N/2的正交变换方式时,比较依次输入的正交变换系数,检测出N像素×N行的像素块的正交变换系数的最大值。
13、根据权利要求9所述的正交变换装置,其特征在于,进一步包括:最大值检测单元,在N×N的正交变换方式时,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值,在N/2×N/2的正交变换方式时,在将N像素×N行的像素块四等分的N/2像素×N/2行的4个块的每个中,比较依次输入的正交变换系数,检测出4个N/2像素×N/2行的块的正交变换系数的交流成分的最大值。
14、根据权利要求9所述的正交变换装置,其特征在于,进一步包括:最大值检测单元,在N×N的正交变换方式时,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值,在N/2×N/2的正交变换方式时,比较依次输入的正交变换系数的交流成分,检测出N像素×N行的像素块的正交变换系数的交流成分的最大值。
15、根据权利要求9所述的正交变换装置,其特征在于,进一步包括:直流成分运算单元,在N/2×N/2的正交变换方式时,在上述正交变换运算单元中,执行N/2×N/2的正交变换,同时,取得与将N像素×N行的像素块四等分的N/2像素×N/2行的4个块相对应的4个直流成分,对于取得的上述4个直流成分,执行预定的运算,
上述直流成分运算单元,当取得能够开始执行上述预定的运算的数量的上述直流成分时,开始执行上述预定的运算。
16、根据权利要求15所述的正交变换装置,其特征在于,在N/2×N/2的正交变换方式时,向外部输出:从对N/2像素×N/2行的上述4个块而生成的N×N个正交变换系数中去除了上述4个直流成分的交流成分。
17、一种编码方法,当将「N」作为2的幂时,对N像素×N行的像素块的数据,进行编码,其特征在于,包含以下步骤:
输入步骤,在N×N的正交变换方式时,接受N个像素的数据,向执行正交变换运算的运算块,输入N个像素的数据;
输入步骤,在N/2×N/2的正交变换方式时,接受N个像素的数据,向上述运算块中的对应块输入前N/2个像素数据,并且,向上述运算块中的对应块输入后N/2个像素数据;
生成步骤,在N×N的正交变换方式时,在上述运算块中,使用所输入的上述N个像素的数据和所提供的N×N的正交变换的系数数据,来执行N×N的正交变换,生成N个正交变换系数;
生成步骤,当N/2×N/2的正交变换方式时,在上述运算块中的对应的上述块中,使用所输入的上述前N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据,执行N/2×N/2的正交变换,来生成N/2个正交变换系数,并且,在上述运算块中的对应的上述块中,使用所输入的上述后N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据,执行N/2×N/2的正交变换,来生成N/2个正交变换系数;
对所生成的上述正交变换系数进行量化处理而生成量化数据的步骤;
对上述量化数据进行可变长编码来生成编码数据的步骤。
18、一种编码装置,其特征在于,包含:
正交变换单元,在将「N」作为2的幂时,对N像素×N行的像素块的数据进行正交变换,生成正交变换系数数据;
量化单元,对所生成的上述正交变换系数数据进行量化处理,生成量化数据;
可变长编码单元,对上述量化数据进行可变长编码,生成编码数据,
上述正交变换单元,包括:
输入单元,在N×N的正交变换方式时,接受N个像素的数据,输入N个像素的数据,当N/2×N/2的正交变换方式时,接受N个像素的数据,输入前N/2个像素数据和后N/2个像素数据;
正交变换运算单元,在N×N的正交变换方式时,对所输入的上述N个像素的数据和所提供的N×N的正交变换的系数数据进行运算,生成N个正交变换系数数据,在N/2×N/2的正交变换方式时,对所输入的上述前N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据进行运算,生成N/2个正交变换系数数据,并且,对所输入的上述后N/2个像素数据和所提供的N/2×N/2的正交变换的系数数据进行运算,生成N/2个正交变换系数数据。
19、一种逆正交变换方法,当将「N」作为2的幂时,对N像素×N行的块所对应的正交变换系数数据,进行N×N的逆正交变换或N/2×N/2的逆正交变换,其特征在于,包含以下步骤:
输入步骤,在N×N的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,向执行逆正交变换运算的运算块,输入与上述N个像素相对应的上述正交变换系数数据;
输入步骤,在N/2×N/2的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,向上述运算块中的对应块输入与前N/2个像素相对应的正交变换系数数据,并且,向上述运算块中的对应块输入与后N/2个像素相对应的正交变换系数数据;
生成步骤,在N×N的逆正交变换方式时,在上述运算块中,使用与上述N个像素相对应的所输入的上述正交变换系数数据和所提供的N×N的逆正交变换的系数数据,来执行N×N的逆正交变换,生成N个像素数据;
生成步骤,在N/2×N/2的逆正交变换方式时,在上述运算块中的对应的上述块中,使用N/2个与上述前N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据,执行N/2×N/2的逆正交变换,来生成N/2个像素数据,并且,在上述运算块中的对应的上述块中,使用N/2个与上述后N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据,执行N/2×N/2的逆正交变换,来生成N/2个像素数据。
20、根据权利要求19所述的逆正交变换方法,其特征在于,
在N×N的逆正交变换方式时的上述生成步骤中,在上述运算块中,以N并列执行积和运算,
在N/2×N/2的逆正交变换方式时的上述生成步骤中,在上述运算块中,以2并列执行与N/2个上述前N/2个像素数据相对应的上述正交变换系数数据的N/2×N/2的逆正交变换和与N/2个上述后N/2个像素数据相对应的上述正交变换系数数据的N/2×N/2的逆正交变换,
在与N/2个上述前N/2个像素数据相对应的上述正交变换系数数据的N/2×N/2的逆正交变换中,在上述运算块的对应的上述块中,以N/2并列执行积和运算,并且,在与N/2个上述后N/2个像素相对应的上述正交变换系数数据的N/2×N/2的逆正交变换中,在上述运算块的对应的上述块中,以N/2并列进行积和运算。
21、根据权利要求19所述的逆正交变换方法,其特征在于,进一步包括:直流成分运算步骤,在N/2×N/2的逆正交变换方式时,取得成为与将N像素×N行的块四等分的N/2像素×N/2行的4个块相对应的4个直流成分的原来的数据,对于取得的上述数据,执行预定的运算,来得到4个直流成分,
在N/2×N/2的逆正交变换方式时的上述输入步骤中接受的数据不包含直流成分,
在N/2×N/2的逆正交变换方式时的上述输入步骤中,当应当输入直流成分时,向上述运算块输入在上述直流成分运算步骤中所得到的上述直流成分,
在N/2×N/2的逆正交变换方式时的上述输入步骤中,在用于向上述运算块的输入的数据接受完成之前,在上述直流成分运算步骤中,开始执行预定的运算。
22、一种逆正交变换装置,当将「N」作为2的幂时,对N像素×N行的块相对应的正交变换系数数据,进行N×N的逆正交变换或N/2×N/2的逆正交变换,其特征在于,包含:
输入单元,在N×N的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,输入与上述N个像素相对应的上述正交变换系数数据,当N/2×N/2的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,输入与前N/2个像素相对应的正交变换系数数据和与后N/2个像素相对应的正交变换系数数据;
逆正交变换运算单元,在N×N的逆正交变换方式时,对与上述N个像素相对应的所输入的上述正交变换系数数据和所提供的N×N的逆正交变换的系数数据进行运算,生成N个像素数据,在N/2×N/2的逆正交变换方式时,对N/2个与上述前N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据进行运算,来生成N/2个像素数据,并且,对N/2个与上述后N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据进行运算,来生成N/2个像素数据。
23、根据权利要求22所述的逆正交变换装置,其特征在于,上述逆正交变换运算单元包括:
存储上述N×N逆正交变换的系数数据的第一系数存储单元;
存储上述N/2×N/2的逆正交变换的系数数据的第二系数存储单元;
在N×N逆正交变换方式时,分别使用从上述第一系数存储单元取得的上述N×N逆正交变换的系数数据来执行积和运算,生成一个像素的数据的N个积和运算单元,
上述输入单元,在N/2×N/2的逆正交变换方式时,接受与上述N个像素相对应的上述正交变换系数数据,将与N/2个上述前N/2个像素相对应的上述正交变换系数数据分别输入上述N个积和运算单元中的N/2个第一积和运算单元,并且,将与N/2个上述后N/2个像素相对应的上述正交变换系数数据分别输入上述N个积和运算单元中的N/2个第二积和运算单元,
各个N/2个上述第一积和运算单元,在N/2×N/2的逆正交变换方式时,使用与N/2个上述第一系数相对应的所输入的上述正交变换系数数据和从上述第二系数存储单元取得的上述N/2×N/2的逆正交变换的系数数据,执行积和运算,生成一个像素的数据,
各个N/2个上述第二积和运算单元,在N/2×N/2的逆正交变换方式时,使用从上述第二系数存储单元取得的上述N/2×N/2的逆正交变换的系数数据和与N/2个上述后N/2个像素相对应的所输入的上述正交变换系数数据,执行积和运算,生成一个像素的数据。
24、根据权利要求22所述的逆正交变换装置,其特征在于,进一步包括:直流成分运算单元,在N/2×N/2的逆正交变换方式时,取得成为与将N像素×N行的块四等分的N/2像素×N/2行的4个块相对应的4个直流成分的原来的数据,对于取得的上述数据,执行预定的运算,来得到4个直流成分,
在N/2×N/2的逆正交变换方式时,上述输入单元接受的数据不包含直流成分,上述输入单元在应当输入直流成分时,向上述逆正交变换运算单元输入上述直流成分运算单元得到的上述直流成分,
上述输入单元,在用于向上述运算块的输入的数据接受完成之前,上述直流成分运算单元,开始执行预定的运算。
25、一种解码方法,当将「N」作为2的幂时,对N像素×N行的块相对应的数据,执行解码,其特征在于,包含以下步骤:
对编码的数据进行可变长解码来生成量化数据的步骤;
对所生成的上述量化数据进行逆量化处理而生成正交变换系数数据的步骤;
输入步骤,在N×N的逆正交变换方式时,接受与N个像素相对应的正交变换系数数据,向执行逆正交变换运算的运算块,输入与N个上述像素相对应的上述正交变换系数数据;
输入步骤,在N/2×N/2的逆正交变换方式时,接受与N个像素相对应的上述正交变换系数数据,向上述运算块中的对应块输入与前N/2个像素相对应的上述正交变换系数数据,并且,向上述运算块中的对应块输入与后N/2个像素相对应的上述正交变换系数数据;
生成步骤,在N×N的逆正交变换方式时,在上述运算块中,使用与上述N个像素相对应的所输入的上述正交变换系数数据和所提供的N×N的逆正交变换的系数数据,来执行N×N的逆正交变换,生成N个像素数据;
生成步骤,在N/2×N/2的逆正交变换方式时,在上述运算块中的对应的上述块中,使用N/2个与上述前N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据,执行N/2×N/2的逆正交变换,来生成N/2个像素数据,并且,在上述运算块中的对应的上述块中,使用N/2个与上述后N/2个像素相对应的所输入的上述正交变换系数数据和所提供的N/2×N/2的逆正交变换的系数数据,执行N/2×N/2的逆正交变换,来生成N/2个像素数据。
26、一种解码装置,当将「N」作为2的幂时,对N像素×N行的块相对应的数据,执行解码,其特征在于,包括:
可变长解码单元,对编码的数据进行可变长解码,来生成量化数据;
逆量化单元,对所生成的上述量化数据进行逆量化处理,而生成正交变换系数数据;
逆正交变换单元,对生成的上述正交变换系数数据进行逆正交变换,生成像素的数据,
上述逆正交变换单元,包括:
输入单元,在N×N的逆正交变换方式时,接受与N个像素相对应的上述正交变换系数数据,输入与N个上述像素相对应的上述正交变换系数数据,在N/2×N/2的逆正交变换方式时,接受与N个像素相对应的上述正交变换系数数据,输入与前N/2个像素相对应的上述正交变换系数数据和与后N/2个像素相对应的上述正交变换系数数据;
逆正交变换运算单元,在N×N的逆正交变换方式时,对与上述N个像素相对应的所输入的上述正交变换系数数据和所提供的N×N的逆正交变换的系数数据进行运算,生成N个像素数据,在N/2×N/2的逆正交变换方式时,对N/2个与上述前N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据进行运算,来生成N/2个像素数据,并且,对N/2个与上述后N/2个像素相对应的所输入的上述正交变换数据和所提供的N/2×N/2的逆正交变换的系数数据进行运算,来生成N/2个像素数据。
CNB03103439XA 2002-01-31 2003-01-30 正交变换、逆正交变换方法及装置、编码、解码方法及装置 Expired - Fee Related CN1200571C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002022711A JP2003223433A (ja) 2002-01-31 2002-01-31 直交変換方法、直交変換装置、符号化方法、符号化装置、逆直交変換方法、逆直交変換装置、復号化方法、及び、復号化装置
JP022711/2002 2002-01-31

Publications (2)

Publication Number Publication Date
CN1436004A CN1436004A (zh) 2003-08-13
CN1200571C true CN1200571C (zh) 2005-05-04

Family

ID=27654428

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB03103439XA Expired - Fee Related CN1200571C (zh) 2002-01-31 2003-01-30 正交变换、逆正交变换方法及装置、编码、解码方法及装置

Country Status (5)

Country Link
US (1) US7139436B2 (zh)
EP (1) EP1376378A3 (zh)
JP (1) JP2003223433A (zh)
CN (1) CN1200571C (zh)
HK (1) HK1056285A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3679083B2 (ja) * 2002-10-08 2005-08-03 株式会社エヌ・ティ・ティ・ドコモ 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム
US8116374B2 (en) 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
US8179972B2 (en) 2004-06-08 2012-05-15 Panasonic Corporation Image encoding device, image decoding device, and integrated circuit used therein
US20060227875A1 (en) * 2005-03-29 2006-10-12 Bhaskar Sherigar System, and method for DC coefficient prediction
KR100770873B1 (ko) * 2005-07-25 2007-10-26 삼성전자주식회사 영상 부호화시 비트율 제어 방법 및 장치
JP2007221566A (ja) * 2006-02-17 2007-08-30 Fuji Xerox Co Ltd 画像形成装置およびその画像処理方法
JP2010128969A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd アダマール変換回路
JP2010128968A (ja) * 2008-11-28 2010-06-10 Fujitsu Ltd アダマール変換回路
US9110849B2 (en) 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
US9069713B2 (en) 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US8762441B2 (en) 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9075757B2 (en) * 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
US9118898B2 (en) 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US9081733B2 (en) 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
JP6480186B2 (ja) * 2012-01-19 2019-03-06 ヴィド スケール インコーポレイテッド ビデオコーディング量子化およびダイナミックレンジ制御のシステムおよび方法
US9848188B1 (en) 2013-06-12 2017-12-19 Apple Inc. Video coding transform systems and methods
JP6510213B2 (ja) * 2014-02-18 2019-05-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 投影システム、半導体集積回路、および画像補正方法
CN116311389B (zh) * 2022-08-18 2023-12-12 荣耀终端有限公司 指纹识别的方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0797753B2 (ja) 1989-01-24 1995-10-18 日本ビクター株式会社 符号化出力データ量の制御方式
JP2785209B2 (ja) 1989-09-19 1998-08-13 ソニー株式会社 データ伝送装置
JPH0443461A (ja) 1990-06-08 1992-02-13 Yamaha Corp 行列乗算回路
KR100363588B1 (ko) * 1993-03-25 2003-02-17 세이코 엡슨 가부시키가이샤 화상처리장치
JPH0783478A (ja) 1993-09-14 1995-03-28 Toshiba Corp レンジフードファン
CN1268231A (zh) * 1997-08-25 2000-09-27 夸尔柯姆股份有限公司 数据块规模可变的2维逆向离散余弦变换机
JP3586427B2 (ja) * 1998-12-14 2004-11-10 松下電器産業株式会社 Dct演算装置
JP3937632B2 (ja) * 1999-02-22 2007-06-27 ソニー株式会社 画像復号装置及び画像復号方法

Also Published As

Publication number Publication date
EP1376378A3 (en) 2004-08-11
EP1376378A2 (en) 2004-01-02
HK1056285A1 (en) 2004-02-06
US7139436B2 (en) 2006-11-21
US20030152281A1 (en) 2003-08-14
CN1436004A (zh) 2003-08-13
JP2003223433A (ja) 2003-08-08

Similar Documents

Publication Publication Date Title
CN1200571C (zh) 正交变换、逆正交变换方法及装置、编码、解码方法及装置
CN1320809C (zh) 图像处理装置与方法
CN1178460C (zh) 图象编码方法和图象编码装置
CN1175670C (zh) 图像信号转换方法和设备以及图像提供系统
CN1156171C (zh) 提高处理效率的图象声音处理装置
CN1169303C (zh) 数据处理装置和方法以及记录介质
CN1673965A (zh) 实时可调度性确定方法和实时系统
CN1960190A (zh) Ldpc码校验矩阵构造方法及利用该方法的编码解码装置
CN101038625A (zh) 图像处理装置和方法
CN1253013C (zh) 预测装置、编码装置、逆预测装置、解码装置
CN1204753C (zh) 基于相邻像素预测的帧内预测方法
CN1653447A (zh) 报告NxM离散余弦变换的方法
CN1229758C (zh) 正交变换图像的分辨率变换装置和方法
CN1599445A (zh) 数据处理方法、数据处理装置
CN101040306A (zh) 伪随机数生成装置
CN1838724A (zh) 解码设备、逆量化方法、分布确定方法及其程序
CN1922890A (zh) 分段可逆视频编码方法、分段可逆视频译码方法、分段可逆视频编码装置、分段可逆视频译码装置和它们的程序及程序记录媒体
CN1245030C (zh) 数据处理系统
CN1947425A (zh) 视频编码器与解码器的流水线体系结构
CN1254110C (zh) 图像处理方法和图像处理装置
CN1170437C (zh) 图像信号混洗装置和方法
CN1182724C (zh) 压缩和解压缩图像信号的方法及其装置
CN1265647C (zh) 块组编码结构及基于块组结构的自适应分阶段预测编码方法
CN1742270A (zh) 运算处理装置、运算处理装置设计方法以及逻辑电路设计方法
CN1180432C (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050504

Termination date: 20130130