CN1193621C - 调整计算复杂度的方法、对离散余弦反变换进行近似计算的方法和一种解码器 - Google Patents

调整计算复杂度的方法、对离散余弦反变换进行近似计算的方法和一种解码器 Download PDF

Info

Publication number
CN1193621C
CN1193621C CNB018081444A CN01808144A CN1193621C CN 1193621 C CN1193621 C CN 1193621C CN B018081444 A CNB018081444 A CN B018081444A CN 01808144 A CN01808144 A CN 01808144A CN 1193621 C CN1193621 C CN 1193621C
Authority
CN
China
Prior art keywords
multiplication
data
shift operation
power
computational resource
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
CNB018081444A
Other languages
English (en)
Other versions
CN1428051A (zh
Inventor
S·克里斯纳马查里
彭少敏
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1428051A publication Critical patent/CN1428051A/zh
Application granted granted Critical
Publication of CN1193621C publication Critical patent/CN1193621C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

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

Abstract

一种根据计算资源单元的最大可用数量调整图像和视频处理计算复杂度的方法,该方法包括以下步骤:执行多个处理数字图像和视频数据的数据乘法,每个数据乘法具有与数据无关值相乘的数据相关值,每个数据乘法的执行均需要预定数量的计算资源单元;选择数据乘法之一;选择移位/加、移位/减或移位运算,这些运算采用与所选乘法相关的数据无关值,所需计算资源单元的数量少于执行所选乘法所需的计算资源单元的预定数量;以及用所选运算来执行所选乘法。另外,一种使视频和静止图像解码计算复杂度与可用计算资源成比例的解码器。该解码器包括:变长解码器;使从变长解码器接收的信号去量化的逆量化器;根据上述方法调整解码计算复杂度的近似离散余弦反变换;以及运动补偿器。

Description

调整计算复杂度的方法、对离散余弦反 变换进行近似计算的方法和一种解码器
技术领域
本发明涉及视频及静止图像解码,具体地说,涉及根据计算资源单元的可用数量来调整视频及静止图像解码计算复杂度的近似离散余弦反变换以及利用这种反变换的解码器。
背景技术
随着数字电视(DTV)在全球扩展并逐渐支配TV市场,对灵活体系结构和可调整计算的需求越来越大。更强大的DSPCPU核心以及对新功能不断增长的需求产生了采用灵活体系结构的推动力。由于DSPCPU核心的计算能力随时间不断增强,视频处理功能趋向于从协处理器上的硬件实现转移到DSPCPU核心上的软件实现。同时,新的音频/可视处理功能的出现将需要协处理器的应用。
通过允许可用计算资源(即CPU周期、高速缓存、存储器大小、存储器带宽、协处理器负荷等)和主观图像质量之间的权衡,音频/视频处理功能在DSPCPU核心上的软件实现为算法可调整性创造了机会。虽然DSPCPU核心的功能越来越强大,但是在通过限制CPU使用来降低成本的同时仍然产生令人满意的结果,对消费类电子产品所驱动的视频算法设计而言是一个大难题。
可调整视频算法(SVA)的应用允许多个视频功能同时在DSPCPU核心和协处理器上运行,而总的计算资源是受到限制的。SVA还可以使协处理器和其它外部硬件减少。由于多媒体处理器芯片的硅面积较小,降低了系统成本。
SVA的一个可能的应用是在视频解码器中。视频解码器应当能够以实时速度对送来的压缩数字视频信号进行解码。在例如机顶盒之类的典型应用中,视频解码可用的计算资源随时间而改变,因为总的可用资源必须在许多不同任务之间进行划分。当任何给定时间可用的计算资源不足时,解码器则应当智能地调整解码算法的复杂度,虽然在解码视频的可视质量上有一些损失。
数字视频和图像最常用的压缩技术分别是MPEG(活动图像专家组)和JPEG(联合图像专家组)。这两种技术均采用基于块的DCT(离散余弦变换)作为压缩中的基本块之一。视频解码器在对视频进行解码时执行以下算法步骤:变长解码、逆量化、反DCT(IDCT)以及运动补偿。IDCT需要相当大部分的计算资源,而通过使用近似算法,可以将其复杂度调整到与可用资源成比例。
根据输入数据来降低IDCT复杂度的技术是已知的。这些技术将输入数据分为不同类别,并对不同类别的数据采用不同复杂度的不同IDCT算法。但是,这些技术具有将输入数据分为所选类别的额外开销。
发明内容
因此,需要一种IDCT,它的复杂度与在任何给定时间解码器的微处理器中可用的计算资源成比例,并且与输入数据无关。
本发明提供了一种根据计算资源单元的最大可用数量调整图像和视频处理的计算复杂度的方法,该方法包括以下步骤:(a)分析用于对数字图像和视频数据进行处理的多个数据乘法,各数据乘法均具有与数据无关值相乘的数据相关值,确定各数据乘法的执行所需要的计算资源单元的数量;(b)如果用于执行所述多个数据乘法的计算资源单元的总量大于计算资源单元的最大可用数量,则选择所述数据乘法之一;(c)选择使用与所选乘法相关的所述数据无关值的移位运算,它需要的计算资源单元的数量少于执行所选乘法所需的计算资源单元的预定数量;以及(d)用所选移位运算来执行所选乘法。
其中,所述数据无关值可以是单个2的幂,并且所述所选移位运算包括根据单个2的幂进行的单一移位。
其中,所述数据无关值可以是2的幂之和,并且所述所选移位运算包括至少一个与所述和中的2的幂之一对应的施加到所述数据相关值的移位运算。
所述至少一个移位运算近似于所述所选乘法。
所述所选移位运算包括施加到所述数据相关值的至少两个移位运算,其结果被相加,所述至少两个移位运算对应于所述和中的2的所述幂中的两个。
其中,对应于所述至少一个移位运算的所述和中的2的所述幂是所述和中2的幂最大的一个。
或者,所述数据无关值是2的幂之差,并且所述所选移位运算包括至少一个对应于所述差中2的所述幂之一的移位运算。
其中,所述至少一个移位运算近似于所述所选乘法。
其中,对应于所述至少一个移位运算的所述差中2的所述幂是具有最接近所述数据无关值的值的所述2的幂的一个。
所述所选移位运算包括至少两个移位运算,其结果被相减,所述至少两个移位运算对应于所述差中2的所述幂中的两个。
所述多个数据乘法定义离散余弦反变换。
多级网络中的多个数据乘法具有输入和输出,所选乘法是从最接近其输出的所述网络的一级中选择的。
所述图像和视频处理包括图像和视频解码,并且所述数字图像和视频数据是编码数字图像和视频数据。
本发明还提供了一种对离散余弦反变换进行近似计算,以便根据计算资源单元的最大可用数量来调整其解码计算复杂度的方法,所述变换通过执行多个数据乘法对编码数字图像和视频数据进行解码,每个数据乘法具有与数据无关值相乘的数据相关值,所述变换执行每个数据乘法需要预定数量的计算资源单元,所述方法包括以下步骤:(a)选择所述数据乘法之一;(b)选择采用与所述所选乘法相关的所述数据无关值的移位运算,它所需的计算资源单元的数量少于执行所述所选乘法所需的计算资源单元的所述预定数量;以及(c)用所述所选移位运算来执行所述所选乘法。
其中,所述步骤(a)和(b)之间还包括以下步骤:获取用于执行所述所选乘法的计算资源单元的所述最大可用数量;确定可用于所述所选乘法的计算资源单元的所述最大数量是否足够用于执行该乘法;如果可用于所述所选乘法的计算资源单元的所述最大数量足够用于执行该乘法,则执行所述所选乘法;否则,执行步骤(b)和(c)。
所述数据无关值可以是单个2的幂,并且所述移位运算包括根据所述单个2的幂进行的单个移位。
所述数据无关值可以是若干个2的幂之和,并且所述所选移位运算包括至少一个对应于所述和中2的所述幂之一的移位运算。
所述至少一个移位运算近似于所述所选乘法。
对应于所述至少一个移位运算的所述和的所述幂是具有最接近所述数据无关值的值的2的幂之一。
所述所选移位运算包括至少两个移位运算,其结果被相加,所述至少两个移位运算对应于所述和中2的所述幂中的两个。
所述数据无关值是若干个2的幂之差,并且所述所选移位运算包括至少一个对应于所述差中2的所述幂之一的移位运算。
所述至少一个移位运算近似于所述所选乘法。
对应于所述至少一个移位运算的所述差中2的所述幂是具有最接近所述数据无关值的值的2的幂之一。
所述所选移位运算包括至少两个移位运算,其结果被相减,所述至少两个移位运算对应于所述差中2的所述幂中的两个。
所述变换形成具有输入和输出的多级网络,所述所选乘法是从最接近其输出的所述网络的一级中选择的。
本发明还提供了一种使视频和静止图像解码计算复杂度与可用的计算资源成比例的解码器,所述解码器包括:变长解码器;逆量化器,它使从所述变长解码器接收的信号去量化;以及近似离散余弦反变换装置,用于对所述逆量化器的输出信号执行多个数据乘法,每个数据乘法均具有与数据无关值相乘的数据相关值,所述变换采用移位运算来执行所述数据乘法中的至少一个,所述移位运算所需的计算资源单元的数量少于执行所述至少一个数据乘法所需的计算资源单元数量。
在仔细阅读下面结合附图对示例性实施例所作的详细说明之后,将会透彻地理解本发明的优点、本质以及其它各种特征。图中类似的数字用来标识类似的要素。
附图说明
图1是说明本发明的近似IDCT所执行的步骤的框图;
图2是说明本发明的近似IDCT的示例实现的流程图;以及
图3是可实现本发明的近似IDCT的视频解码器的示意性说明。
具体实施方式
本发明提出了如分别用于MPEG和JPEG压缩/解压缩技术中的、数字视频和静止图像解码的近似离散余弦反变换(IDCT)。传统IDCT采用具有固定计算复杂度的算法来处理数据。因此,传统IDCT无法使其计算复杂度与在任何给定时间的解码器的微处理器中可用的计算资源成比例。
本发明的近似IDCT采用一种算法处理,其复杂度与在任何给定时间的解码器的微处理器中可用的计算资源成比例。因此,本发明的近似IDCT能够用在MPEG和JPEG中,分别实现数字视频和静止图像的可调整计算解码,而这对于采用固定计算复杂度的算法处理的传统IDCT是不可能的。
图1是说明为提供复杂度调整、本发明的近似IDCT所执行的步骤的框图。在步骤10,对于IDCT所执行的每个乘法,均观察可用计算单元的最大数量。在步骤12,确定各乘法可用的计算单元的最大数量(可用的最大计算复杂度)是否足够。如果确定可用计算单元的最大数量是足够的,则在步骤14执行乘法。如果确定可用计算单元的最大数量不足,则在步骤16,由一个或多个移位/加法运算、移位/减法运算或移位运算(这三种运算以下统称为移位运算)来代替乘法,这类运算的准确数量和类型取决于所需计算单元的最大数量。
应当指出,在常用的INTEL体系结构的处理器中,乘法需要执行的周期数是加法、减法或移位运算的三倍。
具体地说,如果确定执行多个移位/加法运算、移位/减法运算或移位运算所需的计算单元数量大于或等于乘法所需的计算单元数量,则用简化的移位运算来近似于乘法。当相乘的值不是单个2的幂时,通常执行近似。这种乘法可以包含由两个或两个以上移位组成的移位运算,然后再对其结果进行加或减。本发明的简化移位运算忽略这些移位及加法/减法中的一个或多个,从而使IDCT的复杂度与可用的计算单元成比例。
为了说明本发明的概念,以下说明引用了选自原Chen-Wang算法的DCT/IDCT算法,在W.H.Chen、C.H.Smith、S.Fralick的“离散余弦变换的快速计算算法”(IEEE Transactions on Communications第COM-25卷第9期第1004-1009页,1977年9月)以及Z.Wang的“再论离散余弦变换的快速计算算法”(IEEE Transactions on Communications第COM-31卷第121-123页,1983年1月)中描述了该算法。Chen-Wang算法的参考C码可以在伯克利的加州大学所用的解码器的C码中找到。该解码器执行基于多级网络的IDCT。但是应当理解,本发明可以应用于任何IDCT,包括采用矩阵乘法直接获得二维IDCT的IDCT或采用两个一维IDCT的IDCT,其中,两个一维IDCT中的一个在行上执行,另一个在列上执行。此外,本发明还可以应用于DCT或其它任何涉及乘法的计算机计算。
上述IDCT通常在8乘8像素的二维块上执行。在这种实现中,二维IDCT是通过首先对列进行一维IDCT、然后再对行进行一维IDCT来实现的。下表1所给出的公式组说明了4级网络的四个状态。第一列公式对应于第一级中执行的运算,依此类推。
表1
          第I级                    第II级
                                   Y8=x0+x1
          T8=w7*(x4+x5)     Y0=x0-x1
          Y4=T8+x4*(w1-w7) T1=w6*(x3+x2)
          Y5=T8-x4*(w1+w7) Y2=T1-(w2+w6)*x2
          T8=w3*(x6+x7)     Y3=T1+(w2-w6)*x3
          Y6=T8-x6*(w3-w5) Y1=x4+x6
          Y7=T8-x7*(w3+w5) Y4=x4-x6
          Y1=x1                Y6=x5+x7
          Y2=x2                Y5=x5-x7
          Y3=x3
          Y0=x0
          第III级                  第IV级
          Y7=x8+x3            Y0=(x7+x1)>>8
          Y8=x8-x3                  Y1=(x3+x2)>>8
          Y3=x0+x2                  Y2=(x0+x4)>>8
          Y0=x0-x2                  Y3=(x8+x6)>>8
          Y2=(181*(x4+x5)+128)>>8 Y4=(x8-x6)>>8
          Y4=(181*(x4-x5)+128)>>8 Y5=(x0-x4)>>8
          Y1=x1                      Y6=(x3-x2)>>8
          Y6=x6                      Y7=(x7-x1)>>8
其中,xi是各级的输入,Yi是各级的输出,Ti是所计算的临时变量。而且,各级的输出又是下一级的输入,即第一级的输出是第二级的输入,依此类推。xi和Yi值取决于所接收的比特流数据。wi值与所接收的比特流数据无关,这些值由根据本发明的位移运算来代替或近似计算。因此,本发明的近似IDCT是与输入数据无关的,从而避免了现有IDCT复杂度降低技术所需的将输入数据分成所选类别时在计算资源方面的额外开销。
如上述公式组所示,第I级中的运算需要6次乘法、6次加法,没有移位运算。在根据本发明原理的示例性实现中,如果没有足够的计算资源或单元可用于第I级中与wi相乘,则乘法可以由移位运算来代替或近似,如上所述。
如前面所述,如果wi是等于单个2的幂的值,则乘法可以用移位运算来代替,因为移位运算只需要单一的移位,而没有加法或减法。尤其是当第I级的第一个公式中的w7为64时,与w7相乘可以用单一的移位来代替,而不用加法或减法,因为64等于单一的2的幂、即26。因此,与64相乘可以通过将(x4+x5)的值左移6位来实现。例如,假设乘法需要3个计算单元,而单一的移位运算需要1个计算单元,则上述移位运算节省了2个计算单元。
如果wi是不等于单个2的幂的值,则当可用于乘法的计算单元的最大数量不足,并且移位运算所需的计算单元数量少于乘法所需的计算单元数量时,与wi相乘可以用一组移位运算和加法或减法来代替。如前面所述,不等于单个2的幂的值可以分解或划分为一些值之和,这些值中每一个均为2的幂。具体地说,如果第I级的第一个公式中的w7为84(它不是单个2的幂),则84可以划分为三个值之和,其中每个值均为2的幂,即64(26)+16(24)+4(22)。因此,与84相乘是通过用64、16以及4乘以(x4+x5)的值、然后将结果相加而实现的。这些乘法中的每一个均可以在本发明的近似IDCT中通过移位运算来实现,也就是说,64*(x4+x5)通过将(x4+x5)的值左移6位来实现,16*(x4+x5)通过将(x4+x5)的值左移4位来实现,以及4*(x4+x5)通过将(x4+x5)的值左移2位来实现。因此,与84相乘由3个移位运算和2个加法来代替。
但是,只有在移位运算和加法所需的计算资源或单元少于乘法所需的计算资源或单元时,才会在本发明中进行乘法的取代。如果3个移位运算和2个加法所需的计算资源不少于乘法所需的计算资源,则通过省略某些移位和加法来对乘法进行近似计算。再假设加法和移位运算各与1个计算单元等效,乘法与3个计算单元等效,则移位运算实际上需要5个计算单元,比乘法多出2个。因此,会执行省略了涉及值16和4的移位的简化移位运算,从而对与84相乘进行近似计算。
上述处理可以用于第I级中的一个或多个其它乘法以及其它级中的乘法,这取决于需要降低多少计算复杂度以适应可用的计算资源。
不等于单个2的幂的值也可以分解或划分成一些值之“差”,这些值中每一个均为2的幂。例如,如果第I级的第一个公式中w7为63,则63可以分解或分割成64(26)-1(20)。选择由和或差组成的分解通常是根据如下方面来决定的:哪种分解方法需要较少的计算单元来实现,并且最近似于该乘法。利用上述实例,与63相乘可以完全由2个移位运算和1个减法来代替。63对应的和分解等于32(25)+16(24)+8(23)+4(22)+2(21)+1(20),这需要6个移位和5个加法。因此,在本例中,63的差分解的完全实现所需的计算单元少于63的和分解。再假设加法和移位运算各与1个计算单元等效,而乘法与3个计算单元等效,采用63的差分解的简化移位运算需要一个计算单元,因此比乘法节省2个计算单元,而精确度只有少量损失。采用63的和分解的简化移位运算也仅需要1个计算单元来实现,但包含大得多的精确度损失。
图2是流程图,说明本发明的近似IDCT的示范实现。在该流程图中,C是乘法可用的计算单元的最大数量(乘法可用的最大计算复杂度),Cm是在没有任何近似的情况下执行乘法w*x所需的计算单元数量,Cs是移位所需的计算单元数量,Ca是加法或减法所需的计算单元数量,以及Csa是对2的幂进行移位、加法或减法运算所需的计算单元的总数。
图3示意说明其中能够实现本发明的近似IDCT的视频解码器30。视频解码器30包括信道缓冲器32、变长解码器(VLD)34、逆量化器36、本发明的近似IDCT 38、运动补偿器40、加法器42以及储存运动补偿参考帧的存储器46。本发明的IDCT 38使视频解码器能够将其视频解码计算复杂度调整到与解码器30的控制器44中可用的计算资源成比例。
下表II说明上述表I所示公式的四个不同级所需的乘法、加法以及移位运算的数量。假设加法和移位运算与一个计算单元等效,乘法与三个计算单元等效,则总共需要74个单元。
    I级   II级   III级   IV级
乘法的数量     6     3     2     0
加法的数量     6     9     8     8
移位运算的数量     0     0     2     8
计算单元的总数     24     18     16     16
在本发明的近似IDCT的最佳实施例中,再次参照上述表I和II的四级IDCT描述通过采用移位运算对多级网络的不同级所需的乘法的代替或近似实现的计算复杂度降低。为了便于说明,假设所有采用简化移位运算的近似均通过单个移位运算来完成。III级中的乘法是由移位运算代替或近似的最佳初始候选者,因为在该级引入的任何近似只传递给另外一级。如果III级的两个乘法由移位运算代替或近似,则总计算需求为70个单元,即70/74=94.6%的原始复杂度。如果解码器的控制器中可用的计算资源低于100%但高于94.6%,则解码器通过本发明的近似IDCT,自动代替或近似计算III级的乘法,从而调整到与当前资源可用性成比例。
如果计算资源低于94.6%,则除III级的替换和近似之外,还由移位运算来代替或近似II级中的乘法。如果II级中的三个乘法以及III级中的两个乘法由移位运算所代替或近似,则总计算需求将为64,即原始复杂度的86.5%。
如果计算资源低于86.5%,则由移位运算来代替或近似所有级中的所有乘法。因此,所产生的计算需求将为52个单元,即原始复杂度的70.3%。
采用本发明的近似IDCT处理,通过用移位运算代替或近似不同级的乘法,可以将计算需求调整为94.6%、86.5%以及70.3%三个不同等级。要获得更多级的可调整性,可以代替或近似各级中的部分(不是全部)的乘法。例如,要实现低于90%(但高于86.5%)的复杂度等级,III级中的两个乘法运算以及II级中的两个乘法运算可以用移位运算来代替或近似。这会产生(66/74)89.2%的复杂度。为了从II级中用移位运算来近似的三个乘法运算中选择两个,对于各个乘法,计算用简化移位运算近似的乘法中引入的误差,选择产生较低误差值的两个乘法近似。该处理可以通过先验来进行,并且与数据无关。
虽然参照以上实施例描述了上述发明,但只要不背离本发明的主旨,仍可以进行各种修改和变更。因此,认为这类修改和变更在所附权利要求书的范围之内。

Claims (26)

1.一种根据计算资源单元的最大可用数量调整图像和视频处理的计算复杂度的方法,该方法包括以下步骤:
(a)分析用于对数字图像和视频数据进行处理的多个数据乘法,各数据乘法均具有与数据无关值相乘的数据相关值,确定各数据乘法的执行所需要的计算资源单元(10)的数量;
(b)如果用于执行所述多个数据乘法的计算资源单元的总量大于计算资源单元的最大可用数量,则选择所述数据乘法之一;
(c)选择(16)使用与所选乘法相关的所述数据无关值的移位运算,它需要的计算资源单元的数量少于执行所选乘法所需的计算资源单元的预定数量;以及
(d)用所选移位运算来执行所选乘法。
2.如权利要求1所述的方法,其特征在于,所述数据无关值是单个2的幂,并且所述所选移位运算包括根据单个2的幂进行的单一移位。
3.如权利要求1所述的方法,其特征在于,所述数据无关值是2的幂之和,并且所述所选移位运算包括至少一个与所述和中的2的幂之一对应的施加到所述数据相关值的移位运算。
4.如权利要求3所述的方法,其特征在于,所述至少一个移位运算近似于所述所选乘法。
5.如权利要求3所述的方法,其特征在于,所述所选移位运算包括施加到所述数据相关值的至少两个移位运算,其结果被相加,所述至少两个移位运算对应于所述和中的2的所述幂中的两个。
6.如权利要求3所述的方法,其特征在于,对应于所述至少一个移位运算的所述和中的2的所述幂是所述和中2的幂最大的一个。
7.如权利要求1所述的方法,其特征在于,所述数据无关值是2的幂之差,并且所述所选移位运算包括至少一个对应于所述差中2的所述幂之一的移位运算。
8.如权利要求7所述的方法,其特征在于,所述至少一个移位运算近似于所述所选乘法。
9.如权利要求7所述的方法,其特征在于,对应于所述至少一个移位运算的所述差中2的所述幂是具有最接近所述数据无关值的值的所述2的幂的一个。
10.如权利要求7所述的方法,其特征在于,所述所选移位运算包括至少两个移位运算,其结果被相减,所述至少两个移位运算对应于所述差中2的所述幂中的两个。
11.如权利要求1所述的方法,其特征在于,所述多个数据乘法定义离散余弦反变换。
12.如权利要求1所述的方法,其特征在于,多级网络中的多个数据乘法具有输入和输出,所选乘法是从最接近其输出的所述网络的一级中选择的。
13.如权利要求1所述的方法,其特征在于,所述图像和视频处理包括图像和视频解码,并且所述数字图像和视频数据是编码数字图像和视频数据。
14.一种对离散余弦反变换进行近似计算,以便根据计算资源单元的最大可用数量来调整其解码计算复杂度的方法,所述变换通过执行多个数据乘法对编码数字图像和视频数据进行解码,每个数据乘法具有与数据无关值相乘的数据相关值,所述变换执行每个数据乘法需要预定数量的计算资源单元(10),所述方法包括以下步骤:
(a)选择所述数据乘法之一;
(b)选择(16)采用与所述所选乘法相关的所述数据无关值的移位运算,它所需的计算资源单元的数量少于执行所述所选乘法所需的计算资源单元的所述预定数量;以及
(c)用所述所选移位运算来执行所述所选乘法。
1 5.如权利要求14所述的方法,其特征在于,所述步骤(a)和(b)之间还包括以下步骤:
获取用于执行所述所选乘法的计算资源单元的所述最大可用数量;
确定(12)可用于所述所选乘法的计算资源单元的所述最大数量是否足够用于执行该乘法;
如果可用于所述所选乘法的计算资源单元的所述最大数量足够用于执行该乘法,则执行(14)所述所选乘法;否则
执行步骤(b)和(c)。
16.如权利要求14所述的方法,其特征在于,所述数据无关值是单个2的幂,并且所述移位运算包括根据所述单个2的幂进行的单个移位。
17.如权利要求14所述的方法,其特征在于,所述数据无关值是若干个2的幂之和,并且所述所选移位运算包括至少一个对应于所述和中2的所述幂之一的移位运算。
18.如权利要求17所述的方法,其特征在于,所述至少一个移位运算近似于所述所选乘法。
19.如权利要求17所述的方法,其特征在于,对应于所述至少一个移位运算的所述和的所述幂是具有最接近所述数据无关值的值的2的幂之一。
20.如权利要求17所述的方法,其特征在于,所述所选移位运算包括至少两个移位运算,其结果被相加,所述至少两个移位运算对应于所述和中2的所述幂中的两个。
21.如权利要求14所述的方法,其特征在于,所述数据无关值是若干个2的幂之差,并且所述所选移位运算包括至少一个对应于所述差中2的所述幂之一的移位运算。
22.如权利要求21所述的方法,其特征在于,所述至少一个移位运算近似于所述所选乘法。
23.如权利要求21所述的方法,其特征在于,对应于所述至少一个移位运算的所述差中2的所述幂是具有最接近所述数据无关值的值的2的幂之一。
24.如权利要求21所述的方法,其特征在于,所述所选移位运算包括至少两个移位运算,其结果被相减,所述至少两个移位运算对应于所述差中2的所述幂中的两个。
25.如权利要求14所述的方法,其特征在于,所述变换形成具有输入和输出的多级网络,所述所选乘法是从最接近其输出的所述网络的一级中选择的。
26.一种使视频和静止图像解码计算复杂度与可用的计算资源成比例的解码器(30),所述解码器(30)包括:
变长解码器(34);
逆量化器(36),它使从所述变长解码器(34)接收的信号去量化;
以及
近似离散余弦反变换装置(38),用于对所述逆量化器的输出信号执行多个数据乘法,每个数据乘法均具有与数据无关值相乘的数据相关值,所述变换采用移位运算来执行所述数据乘法中的至少一个,所述移位运算所需的计算资源单元的数量少于执行所述至少一个数据乘法所需的计算资源单元数量。
CNB018081444A 2000-12-19 2001-12-05 调整计算复杂度的方法、对离散余弦反变换进行近似计算的方法和一种解码器 Expired - Fee Related CN1193621C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/741,724 US6859815B2 (en) 2000-12-19 2000-12-19 Approximate inverse discrete cosine transform for scalable computation complexity video and still image decoding
US09/741,724 2000-12-19

Publications (2)

Publication Number Publication Date
CN1428051A CN1428051A (zh) 2003-07-02
CN1193621C true CN1193621C (zh) 2005-03-16

Family

ID=24981902

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018081444A Expired - Fee Related CN1193621C (zh) 2000-12-19 2001-12-05 调整计算复杂度的方法、对离散余弦反变换进行近似计算的方法和一种解码器

Country Status (6)

Country Link
US (1) US6859815B2 (zh)
EP (1) EP1350395A2 (zh)
JP (1) JP2004516760A (zh)
KR (1) KR20030005199A (zh)
CN (1) CN1193621C (zh)
WO (1) WO2002051160A2 (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343389B2 (en) * 2002-05-02 2008-03-11 Intel Corporation Apparatus and method for SIMD modular multiplication
US7139900B2 (en) 2003-06-23 2006-11-21 Intel Corporation Data packet arithmetic logic devices and methods
RU2371769C2 (ru) 2004-11-16 2009-10-27 Томсон Лайсенсинг Способ имитации зернистости фотопленки на основе предварительно вычисленных коэффициентов преобразования
BRPI0517759B1 (pt) 2004-11-17 2017-09-12 Thomson Licensing Exact bit film granulation simulation method based on pre-computed transforming coefficients
US8385424B2 (en) 2006-06-26 2013-02-26 Qualcomm Incorporated Reduction of errors during computation of inverse discrete cosine transform
US8699810B2 (en) 2006-06-26 2014-04-15 Qualcomm Incorporated Efficient fixed-point approximations of forward and inverse discrete cosine transforms
RU2417423C2 (ru) * 2006-06-26 2011-04-27 Квэлкомм Инкорпорейтед Эффективные аппроксимации с фиксированной запятой прямого и обратного дискретных косинусных преобразований
US8300698B2 (en) 2006-10-23 2012-10-30 Qualcomm Incorporated Signalling of maximum dynamic range of inverse discrete cosine transform
US20080120098A1 (en) * 2006-11-21 2008-05-22 Nokia Corporation Complexity Adjustment for a Signal Encoder
EP2081387A4 (en) * 2007-03-28 2011-08-31 Panasonic Corp DEQUANTIZATION CIRCUIT, DEBURRENT PROCESSING AND IMAGE PLAYING DEVICE
US10715834B2 (en) 2007-05-10 2020-07-14 Interdigital Vc Holdings, Inc. Film grain simulation based on pre-computed transform coefficients
FR2925818A1 (fr) 2007-12-21 2009-06-26 France Telecom Procede de decodage a complexite variable d'un signal d'images, terminal de decodage, procede de codage, dispositif de codage, signal et programmes d'ordinateur correspondants
KR20130049524A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US20210304357A1 (en) * 2020-03-27 2021-09-30 Alibaba Group Holding Limited Method and system for video processing based on spatial or temporal importance

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4449194A (en) * 1981-09-25 1984-05-15 Motorola Inc. Multiple point, discrete cosine processor
IT1207346B (it) * 1987-01-20 1989-05-17 Cselt Centro Studi Lab Telecom Sformata coseno discreta a coeffi circuito per il calcolo della tra cienti quantizzati di campioni di segnale numerico
US5285402A (en) 1991-11-22 1994-02-08 Intel Corporation Multiplyless discrete cosine transform
US5361220A (en) 1991-11-29 1994-11-01 Fuji Photo Film Co., Ltd. Discrete cosine transformation with reduced components
US5654910A (en) * 1992-08-26 1997-08-05 Sony Corporation Processing method and apparatus for performing 4 ×4 discrete cosine transformation or inverse discrete cosing transformation
JPH06103301A (ja) * 1992-09-17 1994-04-15 Sony Corp 8x8離散コサイン変換回路および8x8離散コサイン逆変換回路
US5523847A (en) 1992-10-09 1996-06-04 International Business Machines Corporation Digital image processor for color image compression
US5729484A (en) * 1994-02-28 1998-03-17 Intel Corporation Processes, apparatuses, and systems of encoding and decoding signals using transforms
TW284869B (zh) * 1994-05-27 1996-09-01 Hitachi Ltd
JP4035789B2 (ja) 1994-10-13 2008-01-23 富士通株式会社 逆離散コサイン変換装置
KR0175733B1 (ko) * 1995-11-01 1999-04-15 이준 비트-시리얼 메트릭스 전치를 위한 초대규모 집적회로
JP3129392B2 (ja) 1996-02-02 2001-01-29 日本電気株式会社 2次元idct回路
US5999958A (en) 1996-04-24 1999-12-07 National Science Council Device for computing discrete cosine transform and inverse discrete cosine transform
JP3547567B2 (ja) * 1996-08-08 2004-07-28 シャープ株式会社 離散コサイン変換器
US6192079B1 (en) 1998-05-07 2001-02-20 Intel Corporation Method and apparatus for increasing video frame rate

Also Published As

Publication number Publication date
JP2004516760A (ja) 2004-06-03
WO2002051160A2 (en) 2002-06-27
KR20030005199A (ko) 2003-01-17
US6859815B2 (en) 2005-02-22
US20020111978A1 (en) 2002-08-15
EP1350395A2 (en) 2003-10-08
CN1428051A (zh) 2003-07-02
WO2002051160A3 (en) 2003-01-03

Similar Documents

Publication Publication Date Title
CN1270543C (zh) 用于以固定的计算复杂度编码活动图象的方法
CN1193621C (zh) 调整计算复杂度的方法、对离散余弦反变换进行近似计算的方法和一种解码器
JP4425561B2 (ja) イメージおよびビデオ符号化のための2−d変換
CN1112045C (zh) 用反复误差数据编码方法进行视频压缩
JP4425824B2 (ja) 動画像コーデック変換の高速実装
JP3800551B2 (ja) データ処理装置及び方法
CN1302419A (zh) 缩放压缩的图象
CN101049025A (zh) 根据单个输入产生多个代码转换输出的一种方法和系统
CN1713730A (zh) 估计图像噪声的方法和设备和消除噪声的方法和记录介质
CN1143301A (zh) 视频信号编码系统控制器
CN1235483A (zh) 预测滤波器
CN1823328A (zh) 利用快速搜索块匹配的运动估计
CN1320830C (zh) 噪声估计方法和设备、以及利用其编码视频的方法和设备
CN1232125C (zh) 通过参考离散余弦变换系数来估计运动的方法及其装置
CN1675929A (zh) 降低视频编码器中计算复杂性的方法和设备
CN1255988A (zh) 图象的缩小
CN1258169A (zh) 流水线离散余弦变换设备
CN1849826A (zh) 用于可缩放信号处理的方法和设备
CN1394443A (zh) 运行一种算法的方法以及一种可伸缩编程的处理设备
CN1741612A (zh) 一种用于视频图像编码过程中的量化方法
CN1317125A (zh) 对具有象素的数字图像进行运动估算的方法和装置
CN1280745A (zh) 数字图象压缩率的控制方法
CN1295652C (zh) 图像资料编码方法
CN1219403C (zh) 引入视觉模型的mpeg视频码流码率转换方法
CN100396101C (zh) 产生并使用辅助图像的图像压缩设备及其方法

Legal Events

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