CN101483774B - 用于视频编解码器的选择性的和/或可缩放的复杂度控制 - Google Patents

用于视频编解码器的选择性的和/或可缩放的复杂度控制 Download PDF

Info

Publication number
CN101483774B
CN101483774B CN2008101780715A CN200810178071A CN101483774B CN 101483774 B CN101483774 B CN 101483774B CN 2008101780715 A CN2008101780715 A CN 2008101780715A CN 200810178071 A CN200810178071 A CN 200810178071A CN 101483774 B CN101483774 B CN 101483774B
Authority
CN
China
Prior art keywords
frame
current macro
macro block
macro
video
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
CN2008101780715A
Other languages
English (en)
Other versions
CN101483774A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101483774A publication Critical patent/CN101483774A/zh
Application granted granted Critical
Publication of CN101483774B publication Critical patent/CN101483774B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/523Motion estimation or motion compensation with sub-pixel accuracy
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明提出了多种方法和装置,用于执行视频编解码器的选择性的和/或可缩放的复杂度控制,以便可以提高或降低视频编解码器所消耗的处理资源量。基于复杂度控制算法中设定的可配置阈值,可以选择性地实施视频编解码器的非预测和预测编码部分。可配置阈值用于确定视频帧中是否存在希望的空间信息量,诸如纹理信息或运动信息。

Description

用于视频编解码器的选择性的和/或可缩放的复杂度控制
本申请是申请日为2004年11月15日、申请号为200480033477.4、题为“用于视频编解码器的选择性的和/或可缩放的复杂度控制”的专利申请的分案申请。
技术领域
本发明通常涉及数字图像处理领域,具体而言,涉及视频编码和解码领域。
技术背景
随着提高通信信道的数据容量的发展,视频图像通过无线或有线通信信道的发送已经成为可能。此外,已经建立了各种标准,使得利用具有数字存储介质的电子设备,诸如移动电话、个人计算机、个人数字助理(PDA),以及其他电子设备进行视频图像的发送和接收更加便利。能够使视频图像通过通信信道进行发送的一些视频标准例如运动图像专家组-1(MPEG-1)、MPEG-2和MPEG-4、国际电信联盟(ITU)H.264,这些都是由国际标准化组织(ISO)公布的。
为了提供这种视频服务,原始图像必须以一种不超过通信信道的数据容量的方式进行压缩。但是,执行压缩的方式不应该牺牲接收器处的图像的感知质量。
为了平衡这两种矛盾的需求,许多视频编码器使用变换编码技术与运动补偿技术相结合来压缩原始图像。变换编码技术用于去除空间冗余,而运动补偿技术用于去除时间冗余。
本领域技术人员广泛了解:使用变换编码和运动补偿技术的原始图像压缩是计算密集的。执行压缩所需的指令的数目以MIPS(每秒百万指令)测量是非常巨大的,并且可能消耗本来可以分配给其他应用的硬件资源。由于通常希望在小的、便携式的电子设备中执行压缩,所以限制了执行这些压缩技术的硬件资源。因此,需要降低视频编码器的MIPS需求而不过度地降低视频图像的感知质量。
发明内容
本发明提出了多种方法和装置来解决上述需要。一方面,提出了一种用于对视频帧的一部分进行分类的方法,包括:使用所述部分中的纹理信息来确定所述部分是否至多包含预定空间信息量;以及如果该纹理信息指示所述部分至多包含该预定空间信息量,则将所述部分分类为非预测的。
另一方面,提出了一种用于对视频帧的一部分进行分类的方法,包括:使用所述部分中的纹理信息来确定所述部分是否至多包含预定空间信息量;如果该纹理信息指示所述部分至多包含该预定空间信息量,那么将所述部分分类为非预测的;如果该纹理信息指示所述部分不至多包含预定空间信息量,那么:执行运动估计搜索;使用运动估计搜索期间所确定的运动信息来确定所述部分是否至少包含预定预测信息量;如果该运动信息指示所述部分至少包含该预定预测信息量,那么将所述部分分类为预测的;以及如果该运动信息指示所述部分不至少包含该预定预测信息量,那么将所述部分分类为非预测的。
另一方面,提出了一种用于使用非预测编码或预测编码对当前宏块进行选择性编码的方法,包括:使用当前宏块的纹理信息来确定是否对当前宏块进行非预测编码;以及使用当前宏块的运动信息来确定是否对当前宏块进行预测编码。
另一方面,提出了一种用于选择性地降低视频编解码器的处理周期的方法,包括:接收配置信号;并且根据该配置信号配置复杂度控制算法中的至少一个变量,其中该复杂度控制算法用于基于纹理信息选择性地增加预测视频帧的非预测编码部分的数目。
在另一方面,提出了一种用于选择性地降低视频编解码器的处理周期的装置,包括:第一复杂度控制元件,用于使用当前宏块的纹理信息来确定是否对当前宏块进行非预测编码;以及第二复杂度控制元件,用于使用当前宏块的运动信息来确定是否对当前宏块进行预测编码。
在另一方面,提出了一种用于对视频帧的一部分进行分类的装置,包括:至少一个存储器元件;以及至少一个处理元件,用于执行存储在该至少一个存储器元件中的指令集合,该指令集合用于:使用所述部分中的纹理信息来确定所述部分是否至多包含预定空间信息量;如果该纹理信息指示所述部分至多包含该预定空间信息量,那么将所述部分分类为非预测的;如果该纹理信息指示所述部分不至多包含预定空间信息量,那么:执行运动估计搜索;使用运动估计搜索期间所确定的运动信息来确定所述部分是否至少包含预定预测信息量;如果该运动信息指示所述部分至少包含该预定预测信息量,那么将所述部分分类为预测的;以及如果该运动信息指示所述部分不至少包含该预定预测信息量,那么将所述部分分类为非预测的。
另一方面,提出了一种用于使用非预测编码或预测编码选择性地对当前宏块进行编码的装置,包括:用于使用当前宏块的纹理信息来确定是否对当前宏块进行非预测编码的模块;以及用于使用当前宏块的运动信息来确定是否对当前宏块进行预测编码的模块。
另一方面,提出了一种用于选择性地降低视频编解码器的处理周期的装置,包括:用于接收配置信号的模块;以及用于根据该配置信号配置复杂度控制算法中的至少一个变量的模块,其中该复杂度控制算法用于基于纹理信息选择性地增加预测视频帧的非预测编码部分的数目。
另一方面,提出了一种用于对视频帧的一部分进行分类的装置,包括模块:使用所述部分中的纹理信息来确定所述部分是否至多包含预定空间信息量;以及如果该纹理信息指示所述部分至多包含该预定空间信息量,将所述部分分类为非预测的。
附图说明
图1A和1B是视频编码器所使用的常规视频压缩方案的流程图;
图2是常规视频编码器的方框图;
图3是说明用于视频压缩的选择性复杂度控制算法的流程图;
图4是说明用于视频压缩的另一选择性复杂度控制算法的流程图;
图5是说明用于视频压缩的另一选择性复杂度控制算法的流程图;
图6是说明具有复杂度控制元件的视频编码器的方框图。
具体实施方式
新一代视频压缩标准利用视频图像的现象来降低编码复杂度。视频只是在时间上快速并连续播放的一系列称为帧的静止图像。可以观察到,一些视频帧与邻近帧空间相异,而一些视频帧与邻近帧空间和时间相异。因此,大多数视频压缩标准对“帧内(intraframe)”和“帧间(interframe)”执行不同的编码技术,其中帧内是具有空间信息的帧,帧间是具有空间和时间信息的帧。预测编码通常用于包含空间和时间信息的帧。为了便于说明,这里将帧内称为I帧,将帧间称为P帧。为了编码I帧和P帧,典型的视频编解码器将对图像帧的宏块进行操作,而不是对图像帧整体进行操作。利用四分之一通用中间格式(QCIF)的标准大小,一个块包括8×8的像素组,而一个宏块包括16×16的像素组。一个176×144像素的QCIF帧具有99个宏块。
图1A是说明I帧宏块的编码的流程图。在步骤100,I帧宏块内的像素经历变换编码。在步骤110,对变换的系数进行量化。在步骤120,将量化的系数进行无损编码以用于发送。由于MPEG-4中标准化的变换编码技术是离散余弦变换(DCT),这里使用DCT对实施例进行描述。但是,本领域技术人员可以认识到这些实施例并不局限于DCT,而是能够用于使用其他变换编码技术的视频编码器中。通常将DCT选择为视频编码标准的变换编码,这是由于可以将大量能量包装在相对小数目的系数中。
I帧宏块的解码包括图1A中的过程的逆,其中接收到的信息被无损解码、反量化、然后使用步骤100所使用的变换的逆来进行变换。
I帧宏块的编码过程相对直接并且不是计算密集的。对I帧编码需要大量比特,而这又需要大量存储空间用于发送带宽。因此,这种编码处理更消耗存储器,而不是处理器周期。根据图1A所示的方法对全部视频流进行编码将是低效的,这是由于发送信道不能够携带每秒传送多个帧所需要的比特总数。例如,在电路切换陆线电话系统中,通信信道物理地局限于64k比特/秒。但是,例如当根据通用中间格式(CIF)以15帧每秒编码视频流时,这种比特率对于合成具有可接受的感知质量的视频流的目标来说是不够的。
与I帧相反,P帧还包含时间信息,其能够与空间信息一起使用来预测地降低需要存储在存储器中的比特数。在低速运动行为的视频记录中,一个帧和下一帧之间的像素的差异较小。由于很少或者没有运动,所以有可能使用关于前面和/或后面的帧的信息来预测当前帧将显示什么。编码并发送当前帧可能包含的内容的预测,而不是编码和发送当前帧的所有比特,这降低了需要存储或发送的比特数。但是,P帧的编码是计算昂贵的,这是由于计算残留帧所需的估计计算的数目引起的。
图1B是说明P帧宏块的编码的流程图。在步骤140,使用运动估计技术确定P帧内的像素块之间的平移运动。运动通常建模为运动矢量。可以对块组,即宏块进行比较,以确定每个P帧的多个运动矢量。注意,由于为每个块执行最优运动矢量的搜索,所以搜索运动矢量是计算昂贵的。在布骤150,将运动矢量用于预测运动补偿后的宏块。在步骤160,从当前宏块减去运动补偿后的宏块以形成残留宏块。在步骤170,对残留宏块进行变换,对变换后的残留宏块的系数进行量化,然后无损地编码。由于残留宏块比原始P帧的宏块携带更少的信息,所以需要发送到接收方的比特数量减少。
典型地,视频编解码器将选择每个第N帧作为I帧进行编码,其余作为P帧进行编码。I帧之间的持续时间称为“帧内周期(intra-period)”。I帧的存在作为刷新P帧的基准。换句话说,I帧的存在保证编解码器所做出的预测不偏离实际图像太远。在指定的P帧内,视频编解码器还周期性地选择特定宏块作为基准宏块,这些基准宏块不被预测编码,以便基准宏块还可用于校正偏离的预测。为了便于说明,基准宏块在这里称为“帧内宏块(intra-MB)”,被预测编码的宏块在这里称为“帧间宏块(inter-MB)”。
图2是由电子设备中的常规视频编解码器所执行的编码的方框图。该编解码器中的信号通道取决于输入图像信号是I帧还是P帧,或者,P帧内的宏块是基准宏块(帧内宏块)还是预测编码的宏块(帧间宏块)。为了便于说明,以下利用术语帧内宏块和帧间宏块来描述P帧的编码。如果输入图像信号是帧内宏块,那么开关200建立通过DCT块202、量化器块204以及无损编码块206的通道。信号离开视频编解码器以在电子设备内进行进一步的处理。进一步的处理例如在比特流编码块208处进行编码,该比特流编码块208将信号编码为适合发送介质的适当的发送格式。
尽管帧内宏块编码在块204处结束,但是帧内宏块需要用作帧间宏块编码的基准宏块。因此,离开量化器块204的量化值也进入视频编解码器的解码部分210。解码部分210包括反量化器块212和反DCT块214。量化值通过反量化器块212和反DCT块214以重构帧内宏块,其用于刷新由运动补偿块230和运动估计块232所访问的缓冲器222。通过DCT块202、量化器块204以及无损编码块206的通道也适用于对帧间宏块编码所产生的残留宏块进行编码。
如果输入图像信号是帧间宏块,那么开关200建立一条新的信号通道,其包括运动补偿块230和运动估计块232。运动估计块232从缓冲器222接收当前帧间宏块和一组存储的基准宏块,在多个运动矢量中执行搜索以寻找最好地描述当前帧间宏块和基准宏块之间的运动的运动矢量。注意,基准宏块是存储的从视频编解码器的解码部分210输出的前面或后面宏块的重构像素。然后将运动矢量输入到运动补偿块230。
运动补偿块230从运动补偿块230接收运动矢量,从缓冲器222接收基准宏块,以根据基准宏块生成新的预测宏块,即当前帧间宏块的预测版本。当帧间宏块编码出现时,更新基准宏块。这样,开关240“开”,以便加法元件220将预测宏块加到从解码部分210输出的解码后的残留宏块上。将结果作为新的基准宏块存储在缓冲器222中。
减法元件224从当前帧间宏块减去来自运动补偿块230的预测宏块,以形成残留宏块。然后按照上述帧内宏块编码的处理对残留宏块进行处理。量化、变换后的残留宏块还通过解码部分210,以便残留宏块可被视频编解码器使用来更新存储在缓冲器222中的基准宏块,而该更新的基准宏块又能够被运动补偿块230和运动估计块232访问,以对未来或过去帧的宏块进行编码。注意,预测编码技术可以是双向的,其中过去的信息可以用于预测当前帧或者未来的信息可以用于预测当前帧。
帧内宏块的编码一般还可以称为空间编码或非预测编码。帧间宏块的编码一般还可以称为预测编码。图2的常规视频编解码器设计的问题在于非预测编码消耗太多的存储资源以及预测编码消耗太多的处理资源。如果本领域技术人员决定需要降低MIPS需求以执行其他任务,那么提高I帧或帧内宏块的数目是一种可能的解决方案,其通过减小帧内周期值N来实现。但是,这种解决方案具有缺陷,因为对存储资源的需求将会相应地增加。此外,视频图像通过通信信道的总体发送速率将会增加,这是由于与预测信息相比,需要更多比特传送空间信息。对于无线应用,诸如通过蜂窝电话的视频流,如果无线或陆线通信信道不能适应增加的发送比特率的话,发送比特的增加可能导致合成图像信号的恶化。
相反地,如果本领域技术人员认为存储资源有限,那么一种解决方案是执行更多的预测编码而不是非预测编码,这通过增加帧内周期值N来实现。但是,预测编码需要更多处理元件的周期,所述处理元件如果负荷超过最大阈值的话,将会放弃帧处理任务以进行具有更高优先级的任务。放弃的帧使合成图像的质量恶化。此外,只要高速活动出现在图像中,合成信号的质量也将恶化,这是因为使用太多预测编码的帧可能引起视频编解码器的运动估计能力出现失效。
这里所描述的实施例用于选择性地控制P帧编码过程的计算复杂度。选择性地控制编码过程将允许对视频编码的MIPS需求的降低,而不使视频图像的感知质量过度降级。此外,本实施例还降低了处理元件和其他硬件之间的数据通信量,从而节省了能量。
本实施例用于将P帧内的宏块分类为帧内宏块或者帧间宏块,其中对帧内宏块进行非预测编码,对帧间宏块进行预测编码。分类过程包括使用选择准则,该准则将降低对于处理元件的MIPS需求。
图3、4和5是说明用于P帧编码的选择性复杂度控制的实施例的流程图。可以配置硬件,诸如数字信号处理器或其他处理元件和存储器元件,来运行用于执行图3、4或5中的方法步骤的指令。
在图3中说明了一种选择性复杂度控制过程,其用于使用纹理信息和运动信息来确定宏块被编码为帧内宏块还是帧间宏块。在步骤300,为P帧内的每个宏块执行纹理比特的估计。纹理比特是具有图像信息的帧中的那些比特,需要它们来编码图像的像素值。在步骤310,基于纹理比特估计来确定宏块是帧内宏块还是帧间宏块。根据本实施例的一个方面,那些具有最少量纹理信息,即最少编码比特需求,的宏块被指定为帧内宏块。
如果宏块是帧内宏块,那么程序流进行到步骤390,在步骤390将帧内宏块编码为非预测信息帧。注意,出现了运动估计和补偿计算的选择性旁路。
如果在步骤310确定宏块是帧间宏块,那么程序流进行到步骤320。在步骤320,执行整数像素运动估计搜索。在步骤330,确定衡量预测过程的效率的运动信息。例如,可以使用过去宏块和未来宏块的像素之间的差别来检测当前预测的效率。因此,像素差可以用作质量度量来测量时间预测的效率。也可以使用其他质量度量而不影响本实施例的范围。
在步骤340,对于宏块是帧内宏块还是帧间宏块做出另一确定,其中所述确定使用步骤320得到的运动信息。如果根据基于运动的准则将宏块确定为帧内宏块,那么程序流进行到步骤390,在步骤390将帧内宏块编码为I帧。换句话说,使用非预测编码来编码帧内宏块。
如果根据步骤340的基于运动的判定仍将宏块分类为帧间宏块,那么程序流进行到步骤350。在步骤350,执行运动补偿。在步骤360,对残留图像信号进行变换、量化和无损编码。
在上述实施例的一个方面中,可以通过使用方差来估计纹理比特,确定宏块是帧内宏块还是帧间宏块。在这个方面,计算宏块的方差。然后将计算的方差与前面帧的平均方差进行比较。注意,大的方差表示图像中有更多的纹理。如果当前宏块的方差小于前面帧的缩放的平均方差,那么将宏块指定为帧内宏块。因此,如果(A<αB),其中A是当前宏块的方差,α是用作缩放因子的经验阈值,B是前面帧的平均方差,或者,多个前面帧的加权平均,那么图3中所述的实施例将变成选择性的和可缩放的复杂度控制算法,因为α可以动态调整或保持静态。在一个实施例中,可以设计处理元件来实施选择性的和可缩放的复杂度控制算法,其中算法的阈值对应于给定目标。可配置的阈值的结果是,完成目标所需的帧内宏块和/或帧间宏块的数目可以缩放。
在一个方面,可以实施复杂度控制算法以适应具有不同图像大小和/或帧速率的视频流。在另一方面,可以实施复杂度控制算法以适应易于出现信道差错的可变传输信道。在另一方面,可以实施复杂度控制算法以适应用户定义的质量测量。在另一方面,可以实施复杂度控制算法以适应硬件资源的缺乏。如这里所述,实施例可以用于适应许多不同的需求,这些不同的需求可能来自安装有视频编解码器的电子设备的不同部分。配置信号可以来自电子设备的任何部分,或者,配置信号可以来自电子设备所访问的网络。
图4是说明用于P帧编码的选择性复杂度控制的另一实施例的流程图,其中确定是否使用额外的处理资源对宏块进行编码。在步骤400,对于P帧内的每个宏块执行纹理比特的估计。在步骤410,基于纹理比特估计确定宏块是帧内宏块还是帧间宏块。在本实施例的一个方面中,将那些具有最少量的纹理信息,即最少编码比特需求,的宏块指定为帧内宏块。
如果宏块是帧内宏块,那么程序流进行到步骤490,在步骤490,使用非预测编码对帧内宏块进行编码。注意,出现了运动估计和补偿计算的选择性旁路。
如果宏块是帧间宏块,那么程序流进行到步骤420。在步骤420,执行整数像素运动估计搜索。在步骤430,确定运动信息。在步骤440,使用步骤430得到的运动信息,对于宏块是帧内宏块还是帧间宏块做出另一确定。如果宏块是帧内宏块,那么程序流进行到步骤490,在步骤490使用非预测编码对帧内宏块进行编码。
如果根据基于运动的判定仍然将宏块分类为帧间宏块,那么程序流进行到步骤450。在步骤450,进行质量测量。在本实施例的一个方面中,质量测量是绝对距离值之和(SAD),其中绝对距离值是当前宏块和前面宏块之间的绝对差。在步骤460,确定是否选择性旁路分数像素运动估计步骤。分数像素运动估计是整数像素运动估计的一种细分。可以通过两个整数值像素之间的内插来确定分数像素值。因此,可以计算出半像素、四分之一像素、八分之一像素或者任何分数像素值。
如果步骤460决定不需要分数像素运动搜索,那么程序流进行到步骤480。如果决定需要分数像素运动搜索,那么程序流进行到步骤470。
在步骤470,执行分数像素运动估计搜索。在步骤480,执行运动补偿。在步骤490,对残留图像信号进行变换、量化和无损编码。
在上述实施例中,基于质量测量来确定是否应该选择性地旁路分数像素运动估计搜索。在该实施例的一个方面中,质量测量是绝对距离值之和(SAD)。可以将该SAD值与前面帧的平均最小SAD值进行比较。如果当前SAD值小于缩放后的平均最小SAD值,那么可以将分数像素运动估计搜索旁路而不损失质量。因此,如果(C<λD),其中C是当前SAD值,λ是用作缩放因子的经验阈值,D是前面帧的平均最小SAD值,或者是多个前面和/或后面帧的加权平均,那么图4中描述的实施例将变成选择性的和可缩放的复杂度控制算法,这是因为λ可以动态调整或保持静态。
图5是说明用于P帧编码的选择性的和可缩放的复杂度控制的另一实施例的另一流程图,其中对是否将各种不同的运动估计方案一起实现进行确定。在步骤500,确定质量度量,其中所述质量度量测量时间预测的效率。在一个方面中,质量度量基于SAD值。可以将SAD值与前面和/或后面帧的平均最小SAD值进行比较。如果当前SAD值小于缩放后的平均最小SAD值,那么可以将分数像素运动估计搜索旁路而不损失质量。因此,如果(C<λD),其中C是当前SAD值,λ是用作缩放因子的经验阈值,D是前面和/或后面帧的平均最小SAD值,那么图5中描述的实施例将变成选择性的和可缩放的复杂度控制算法,这是因为λ可以动态调整或保持静态。
在步骤510,基于步骤500确定的质量度量来确定是否选择性地旁路分数像素运动估计步骤。如果步骤510决定不需要分数像素运动搜索,那么程序流进行到步骤580。如果决定需要分数像素运动搜索,那么程序流进行到步骤570。
在步骤570,执行分数像素运动估计搜索。在步骤580,执行运动补偿。在步骤590,对残留图像信号进行变换、量化和无损编码。
注意,前述用于选择性的和可缩放的复杂度控制算法的实施例允许用户或系统设置将每个P帧指定为帧内宏块还是帧间宏块的保证百分比。换句话说,本实施例可以用于选择性地执行P帧内的非预测或预测编码,这相当于节省视频编解码器内的处理元件的大量MIPS。本实施例能够节省MIPS而不牺牲感知质量,这是由于使用图像信息来执行非预测或预测编码的选择,而不是任意指定。此外,由于视频流固有地是可变比特率源,所以,当准备通过可变速率发送介质发送的视频流时,将每个预测帧内的一定百分比的宏块选定为非预测的能力实质上提供了控制等级。
图6是配置来使用至少一个复杂度控制元件来选择性地降低视频编码器的MIPS需求的视频编解码器的功能方框图。
图6中的复杂度控制元件称为MIPS控制1、MIPS控制2和MIPS控制3。复杂度控制元件通信地耦合到视频编解码器的功能部分,并且可能包括专用的或通用的处理元件。MIPS控制2可以被配置来实施图3中描述的实施例。MIPS控制3可以被配置来实施图4中描述的实施例。MIPS控制1可以被配置来实施图5中描述的实施例。MIPS控制1、2或3根据这里描述的复杂度控制算法的原理,将P帧的宏块指定为帧内宏块或者帧间宏块。注意,如果MIPS控制2和3都存在的话,MIPS控制1的存在可能是冗余的,反之亦然。可以实施MIPS控制1来控制MIPS控制2和/或3的使用。MIPS控制1可以实施在视频编解码器自身内或者与视频编解码器相分离。此外,MIPS控制1可以被配置来对来自电子设备的其他部分的配置信号进行响应。
本领域技术人员可以理解结合这里公开的实施例进行描述的各种说明性逻辑块、模块、电路以及算法步骤可以被实施为电子硬件、计算机软件或者二者的结合。为了清楚地描述硬件和软件的这种可交换性,上面已经就其功能性对各种说明性组件、块、模块、电路以及步骤进行了一般地描述。这种功能性实施为硬件还是软件取决于实行到整个系统上的特殊应用和设计限制。熟练的技术人员可以以各种方式为每个特殊应用实施所述的功能性,但是不能将这种实施决定解释为偏离本发明的范围。
结合这里公开的实施例进行描述的各种说明性逻辑块、模块以及电路可以利用设计来执行这里描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件、或他们的任何组合来实施或执行。通用处理器可以是微处理器,但是或者,处理器可以是任何常规处理器、控制器、微控制器或者状态机。处理器也可以实施为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器的组合、一个或多个微处理器和DSP内核的组合、或者任意其他这种配置。
结合这里公开的实施例进行描述的方法或算法的步骤可以直接实现在硬件中、由处理器执行的软件模块中或者二者的结合中。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可换式磁盘、CD-ROM或者本技术领域中已知的任何其他形式的存储介质中。一种示例性存储介质耦合到处理器,以使处理器能够从存储介质读出信息以及将信息写入存储介质。或者,存储介质可以与处理器集成在一起。处理器和存储介质可以形成在ASIC中。该ASIC可以位于用户终端中。或者,处理器和存储介质可以作为分立元件位于用户终端中。
提供了公开的实施例的前述描述以使得任何本领域技术人员能够做出或者使用本发明。对本领域技术人员来说对这些实施例的各种变形都是很明显的,在不偏离本发明的精神或范围的情况下,这里所定义的一般原理也可以应用到其他实施例中。因此本发明并不局限于这里所示的实施例,而且旨在符合与这里所公开的原理和新颖特征相一致的最广的范围。

Claims (6)

1.用于使用非预测编码或预测编码选择性地对当前宏块进行编码的方法,包括:
使用所述当前宏块的纹理信息来确定是否对所述当前宏块进行非预测编码;
在使用所述当前宏块的纹理信息确定出不对所述当前宏块进行非预测编码后,执行整数像素运动估计搜索以导出所述当前宏块的运动信息;以及
使用所述当前宏块的运动信息来确定是否对所述当前宏块进行预测编码。
2.如权利要求1所述的方法,其中使用所述当前宏块的纹理信息来确定是否对所述当前宏块进行非预测编码包括:
确定所述当前宏块的方差值;
将所述当前宏块的所述方差值与至少一个前面视频帧的宏块的缩放后的方差值进行比较;以及
如果所述当前宏块的所述方差值小于至少一个前面视频帧的所述宏块的所述缩放后的方差值,那么确定对所述当前宏块进行非预测编码。
3.如权利要求2所述的方法,其中至少一个其他视频帧的所述宏块的所述缩放后的方差值是缩放后的平均方差。
4.如权利要求1所述的方法,其中在使用所述当前宏块的运动信息确定对所述当前宏块进行预测编码后:
确定所述当前宏块和前面视频帧的宏块之间的像素差;以及
如果所述当前宏块和前面视频帧的所述宏块之间的所述像素差不小于一可配置的阈值,那么确定通过执行分数像素运动估计搜索来利用增强的精度对所述当前宏块进行预测编码。
5.如权利要求1所述的方法,其中在使用所述当前宏块的运动信息确定对所述当前宏块进行预测编码后:
确定所述当前宏块和至少一个前面视频帧的宏块之间的绝对距离值之和;以及
如果所述绝对距离值之和不小于至少一个前面视频帧的宏块的缩放后的平均最小绝对距离值之和,那么确定通过执行分数像素运动估计搜索来利用增强的精度对所述当前宏块进行预测编码。
6.如权利要求5所述的方法,其中所述缩放后的平均最小绝对距离值之和是可配置的。
CN2008101780715A 2003-11-13 2004-11-15 用于视频编解码器的选择性的和/或可缩放的复杂度控制 Expired - Fee Related CN101483774B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/713,240 US9351013B2 (en) 2003-11-13 2003-11-13 Selective and/or scalable complexity control for video codecs
US10/713,240 2003-11-13

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2004800334774A Division CN1879418B (zh) 2003-11-13 2004-11-15 用于视频编解码器的复杂度控制的方法和装置

Publications (2)

Publication Number Publication Date
CN101483774A CN101483774A (zh) 2009-07-15
CN101483774B true CN101483774B (zh) 2012-09-05

Family

ID=34573668

Family Applications (3)

Application Number Title Priority Date Filing Date
CN200810178072XA Expired - Fee Related CN101459844B (zh) 2003-11-13 2004-11-15 用于视频编解码器的选择性的和/或可缩放的复杂度控制
CN2004800334774A Expired - Fee Related CN1879418B (zh) 2003-11-13 2004-11-15 用于视频编解码器的复杂度控制的方法和装置
CN2008101780715A Expired - Fee Related CN101483774B (zh) 2003-11-13 2004-11-15 用于视频编解码器的选择性的和/或可缩放的复杂度控制

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN200810178072XA Expired - Fee Related CN101459844B (zh) 2003-11-13 2004-11-15 用于视频编解码器的选择性的和/或可缩放的复杂度控制
CN2004800334774A Expired - Fee Related CN1879418B (zh) 2003-11-13 2004-11-15 用于视频编解码器的复杂度控制的方法和装置

Country Status (3)

Country Link
US (1) US9351013B2 (zh)
CN (3) CN101459844B (zh)
WO (1) WO2005051002A2 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA06013193A (es) 2004-05-13 2007-02-14 Qualcomm Inc Compresion de encabezado de datos de multimedia transmitidos sobre un sistema de comunicacion inalambrica.
TWI239474B (en) * 2004-07-28 2005-09-11 Novatek Microelectronics Corp Circuit for counting sum of absolute difference
KR100692600B1 (ko) * 2005-02-22 2007-03-13 삼성전자주식회사 움직임 추정 장치 및 방법
US9237347B2 (en) * 2005-03-21 2016-01-12 The Regents Of The University Of California Systems and methods for video compression for low bit rate and low latency video communications
TWI295540B (en) * 2005-06-15 2008-04-01 Novatek Microelectronics Corp Motion estimation circuit and operating method thereof
US8879857B2 (en) * 2005-09-27 2014-11-04 Qualcomm Incorporated Redundant data encoding methods and device
US20070217515A1 (en) * 2006-03-15 2007-09-20 Yu-Jen Wang Method for determining a search pattern for motion estimation
US8077775B2 (en) * 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
CN102413330B (zh) * 2007-06-12 2014-05-14 浙江大学 一种纹理自适应视频编解码系统
KR101476138B1 (ko) * 2007-06-29 2014-12-26 삼성전자주식회사 코덱의 구성 설정 방법 및 이를 적용한 코덱
CN101650824B (zh) * 2009-09-23 2011-12-28 清华大学 基于共形能量的内容敏感图像缩放方法
CN102025994B (zh) * 2010-12-16 2013-07-03 深圳市融创天下科技股份有限公司 自适应解码复杂度的编码方法、装置、编解码系统和设备
EP3657788B1 (en) 2011-11-11 2021-08-04 GE Video Compression, LLC Effective prediction using partition coding
EP4161078A1 (en) 2011-11-11 2023-04-05 GE Video Compression, LLC Effective wedgelet partition coding using spatial prediction
KR101663394B1 (ko) 2011-11-11 2016-10-06 지이 비디오 컴프레션, 엘엘씨 적응적 분할 코딩
EP2777286B1 (en) 2011-11-11 2017-01-04 GE Video Compression, LLC Effective wedgelet partition coding
CN102611823B (zh) * 2012-01-13 2014-06-04 百度在线网络技术(北京)有限公司 一种基于图片内容选择压缩算法的方法和设备
EP2839654A4 (en) * 2012-04-20 2015-11-18 Intel Corp EFFICIENT FRACTIONAL MOTION ESTIMATION IN TERMS OF PERFORMANCE AND BANDWIDTH
CN102740073B (zh) * 2012-05-30 2015-06-17 华为技术有限公司 一种编码方法及装置
AU2013307970A1 (en) * 2012-08-27 2015-03-12 Thomson Licensing Method and apparatus for estimating content complexity for video quality assessment
EP2814254A1 (en) * 2013-02-21 2014-12-17 ST-Ericsson SA Combined parallel and pipelined video encoder
KR101645294B1 (ko) * 2014-10-10 2016-08-03 삼성전자주식회사 코덱의 구성 설정 방법 및 이를 적용한 코덱
US10805627B2 (en) 2015-10-15 2020-10-13 Cisco Technology, Inc. Low-complexity method for generating synthetic reference frames in video coding
KR101814607B1 (ko) 2016-07-28 2018-01-04 삼성전자주식회사 코덱의 구성 설정 방법 및 이를 적용한 코덱
US10834384B2 (en) 2017-05-15 2020-11-10 City University Of Hong Kong HEVC with complexity control based on dynamic CTU depth range adjustment
CN107333135B (zh) * 2017-06-05 2020-07-10 贵阳朗玛信息技术股份有限公司 影像图片的呈现方法及装置
KR101904422B1 (ko) 2017-12-27 2018-10-05 삼성전자주식회사 코덱의 구성 설정 방법 및 이를 적용한 코덱
CN110166796B (zh) * 2018-05-16 2021-09-17 腾讯科技(深圳)有限公司 视频帧的处理方法、装置、计算机可读介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5731835A (en) * 1996-02-26 1998-03-24 David Sarnoff Research Center, Inc. Dynamic coding rate control in a block-based video coding system
US5832234A (en) * 1995-09-29 1998-11-03 Intel Corporation Encoding images using block-based macroblock-level statistics
US6108449A (en) * 1997-08-25 2000-08-22 Mitsubishi Denki Kabushiki Kaisha Motion picture encoding system and motion picture decoding system
US6415055B1 (en) * 1994-12-12 2002-07-02 Sony Corporation Moving image encoding method and apparatus, and moving image decoding method and apparatus
US6421386B1 (en) * 1999-12-29 2002-07-16 Hyundai Electronics Industries Co., Ltd. Method for coding digital moving video including gray scale shape information

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144426A (en) * 1989-10-13 1992-09-01 Matsushita Electric Industrial Co., Ltd. Motion compensated prediction interframe coding system
US6091460A (en) * 1994-03-31 2000-07-18 Mitsubishi Denki Kabushiki Kaisha Video signal encoding method and system
US5815670A (en) * 1995-09-29 1998-09-29 Intel Corporation Adaptive block classification scheme for encoding video images
US5963673A (en) * 1995-12-20 1999-10-05 Sanyo Electric Co., Ltd. Method and apparatus for adaptively selecting a coding mode for video encoding
US5682204A (en) 1995-12-26 1997-10-28 C Cube Microsystems, Inc. Video encoder which uses intra-coding when an activity level of a current macro-block is smaller than a threshold level
US5724100A (en) * 1996-02-26 1998-03-03 David Sarnoff Research Center, Inc. Method and apparatus for detecting scene-cuts in a block-based video coding system
JP3157101B2 (ja) 1996-03-08 2001-04-16 沖電気工業株式会社 画像符号化方法及び画像符号化装置
KR100297830B1 (ko) * 1996-11-09 2001-08-07 윤종용 영상단위별 비트발생량 조절 장치 및 방법
US5987180A (en) * 1997-09-26 1999-11-16 Sarnoff Corporation Multiple component compression encoder motion search method and apparatus
US6122400A (en) * 1997-09-26 2000-09-19 Sarnoff Corporation Compression encoder bit allocation utilizing colormetric-adaptive weighting as in flesh-tone weighting
US6014181A (en) * 1997-10-13 2000-01-11 Sharp Laboratories Of America, Inc. Adaptive step-size motion estimation based on statistical sum of absolute differences
US6037987A (en) * 1997-12-31 2000-03-14 Sarnoff Corporation Apparatus and method for selecting a rate and distortion based coding mode for a coding system
US6307886B1 (en) * 1998-01-20 2001-10-23 International Business Machines Corp. Dynamically determining group of picture size during encoding of video sequence
US6591015B1 (en) 1998-07-29 2003-07-08 Matsushita Electric Industrial Co., Ltd. Video coding method and apparatus with motion compensation and motion vector estimator
US6618507B1 (en) * 1999-01-25 2003-09-09 Mitsubishi Electric Research Laboratories, Inc Methods of feature extraction of video sequences
US6414992B1 (en) 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
US6697430B1 (en) * 1999-05-19 2004-02-24 Matsushita Electric Industrial Co., Ltd. MPEG encoder
FR2796778B1 (fr) 1999-07-20 2001-10-19 Canon Kk Procede et dispositif de compression par bloc de donnees numeriques
JP3840020B2 (ja) * 1999-12-14 2006-11-01 株式会社東芝 動画像符号化装置
US6493392B1 (en) * 1999-12-27 2002-12-10 Hyundai Electronics Industries Co., Ltd. Method for coding digital interlaced moving video
US6567469B1 (en) 2000-03-23 2003-05-20 Koninklijke Philips Electronics N.V. Motion estimation algorithm suitable for H.261 videoconferencing applications
JP2002064825A (ja) * 2000-08-23 2002-02-28 Kddi Research & Development Laboratories Inc 画像の領域分割装置
US6831947B2 (en) * 2001-03-23 2004-12-14 Sharp Laboratories Of America, Inc. Adaptive quantization based on bit rate prediction and prediction error energy
US20020196854A1 (en) * 2001-06-15 2002-12-26 Jongil Kim Fast video encoder using adaptive hierarchical video processing in a down-sampled domain
KR100833228B1 (ko) 2002-02-21 2008-05-28 삼성전자주식회사 고정 연산량을 갖는 동영상 부호화 방법 및 그 장치
ES2401991T3 (es) * 2002-04-26 2013-04-26 Ntt Docomo, Inc. Dispositivo para la codificación de imágenes, procedimiento para la codificación de imágenes y programa para la codificación de imágenes
US7515634B2 (en) 2002-06-28 2009-04-07 Qualcomm Incorporated Computationally constrained video encoding
US7280597B2 (en) * 2003-06-24 2007-10-09 Mitsubishi Electric Research Laboratories, Inc. System and method for determining coding modes, DCT types and quantizers for video coding
US7418147B2 (en) * 2003-06-25 2008-08-26 Georgia Tech Research Corporation Cauchy-distribution based coding system and method
US9560350B2 (en) * 2009-03-31 2017-01-31 Texas Instruments Incorporated Intra/inter mode decision for predictive frame encoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415055B1 (en) * 1994-12-12 2002-07-02 Sony Corporation Moving image encoding method and apparatus, and moving image decoding method and apparatus
US5832234A (en) * 1995-09-29 1998-11-03 Intel Corporation Encoding images using block-based macroblock-level statistics
US5731835A (en) * 1996-02-26 1998-03-24 David Sarnoff Research Center, Inc. Dynamic coding rate control in a block-based video coding system
US6108449A (en) * 1997-08-25 2000-08-22 Mitsubishi Denki Kabushiki Kaisha Motion picture encoding system and motion picture decoding system
US6421386B1 (en) * 1999-12-29 2002-07-16 Hyundai Electronics Industries Co., Ltd. Method for coding digital moving video including gray scale shape information

Also Published As

Publication number Publication date
CN1879418A (zh) 2006-12-13
CN101483774A (zh) 2009-07-15
CN1879418B (zh) 2010-08-04
WO2005051002A3 (en) 2005-12-15
CN101459844A (zh) 2009-06-17
WO2005051002A2 (en) 2005-06-02
US20050105615A1 (en) 2005-05-19
CN101459844B (zh) 2013-06-12
US9351013B2 (en) 2016-05-24

Similar Documents

Publication Publication Date Title
CN101483774B (zh) 用于视频编解码器的选择性的和/或可缩放的复杂度控制
US9071841B2 (en) Video transcoding with dynamically modifiable spatial resolution
US9883202B2 (en) Scaling video processing complexity based on power savings factor
KR101644208B1 (ko) 이전에 계산된 모션 정보를 이용하는 비디오 인코딩
CN101015215B (zh) 用于在视频编码解码器中实施快速模式决策的方法及设备
US9584832B2 (en) High quality seamless playback for video decoder clients
EP1921863A2 (en) An encoder
JP2004048552A (ja) 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法、および通信装置
TW200803530A (en) Residual prediction mode in scalable video coding
JP2006304307A5 (zh)
WO2006082690A1 (ja) 画像符号化方法および画像符号化装置
US20090016443A1 (en) Inter mode determination method for video encoding
US20110211637A1 (en) Method and system for compressing digital video streams
EP2643969A1 (en) Method for bit rate control within a scalable video coding system and system therefor
KR100594056B1 (ko) 효율적인 비트율 제어를 위한 h.263/mpeg 비디오인코더 및 그 제어 방법
JP3866624B2 (ja) 動画像符号化方法,動画像復号方法,動画像符号化装置および動画像復号装置
US8948246B2 (en) Method and system for spatial prediction in a video encoder
KR100713400B1 (ko) 평균 히스토그램 오차 방식을 이용한 h.263/mpeg비디오 인코더 및 그 제어 방법
CN100366094C (zh) 细粒度可伸缩视频数据设备及操作方法,接收数据的方法
KR100575962B1 (ko) 비디오 처리 장치의 파이프 라인 동작 방법과 그에 따른비트율 제어 방법
KR100778473B1 (ko) 비트율 제어 방법
Sangeetha et al. Objective Parameter Analysis with H. 265 Using Lagrangian Encoding Algorithm Implementation
JP2003125408A (ja) 画像符号化装置、画像復号装置並びにその方法及び画像符号化プログラム、画像復号プログラム
KR20060063604A (ko) 영상 신호의 인코딩 및 디코딩 방법
MXPA06005393A (en) Selective and/or scalable complexity control for video codecs

Legal Events

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

Granted publication date: 20120905

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