CN1893657A - 用于视频编码器的编码位率控制方法及系统 - Google Patents

用于视频编码器的编码位率控制方法及系统 Download PDF

Info

Publication number
CN1893657A
CN1893657A CN200610095784.6A CN200610095784A CN1893657A CN 1893657 A CN1893657 A CN 1893657A CN 200610095784 A CN200610095784 A CN 200610095784A CN 1893657 A CN1893657 A CN 1893657A
Authority
CN
China
Prior art keywords
bit rate
rate control
coding
macro zone
quantization parameter
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.)
Granted
Application number
CN200610095784.6A
Other languages
English (en)
Other versions
CN100456835C (zh
Inventor
权度暻
沈美吟
郭宗杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN1893657A publication Critical patent/CN1893657A/zh
Application granted granted Critical
Publication of CN100456835C publication Critical patent/CN100456835C/zh
Active 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/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/124Quantisation
    • 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/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion 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/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/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明是提供一种用于视频编码器的编码位率控制方法,包括:执行一第一编码步骤,是使用一第一量化参数,用以对一目前帧的多个宏区块进行编码,以产生目前帧的一残余信号;估计每一宏区块模式的多个标头位的数目,以估计目前帧的多个标头位的总数;根据目前帧的标头位的总数,估计多个影像纹理位的一可使用数;根据估计的影像纹理位的可使用数来决定一第二量化参数;以及使用第二量化参数执行一第二编码步骤,用以对目前帧的残余信号进行编码。

Description

用于视频编码器的编码位率控制方法及系统
技术领域
本发明涉及用于以区块为基础(block-based)的视频编码器(videoencoder)的编码位率控制(rate control,RC)技术,尤指一种用于H.264视频编码器以执行帧层(frame-layer)或宏区块层(macroblock-layer,MB-layer)的编码位率控制的方法及系统。
背景技术
为适应广泛的应用领域,诸如视频电话(video telephony)、视频会议(videoconferencing)及视频串流(video streaming),遂发展出各种各样的视频压缩标准。这些视频编码标准所采用的技术通常包括离散余弦转换(discretecosine transform,DCT)、移动估计(motion estimation,ME)、移动补偿(motion compensation,MC)、量化(quantization,Q)、可变长度编码(variablelength coding,VLC)等技术。在量化程序(quantization process)中,对应于量化步阶大小(quantization step-size)的量化参数(quantizationparameter,QP)为可适性的(adaptive)且是一个重要的编码参数,其可对最后产生的编码视频品质造成很大的影响。由于应用于帧(frame)或宏区块(macroblock,MB)的量化器(quantizer)的步阶大小(step-size)会对编码视频品质产生一定的影响,因此针对已知的应用领域及编码环境,必须使用一个适当的编码位率控制算法来决定量化器的步阶大小。换言之,针对已知的应用领域及视频压缩标准,必须持续且仔细地决定量化参数的数值。
虽然严格来说编码位率控制不属于视频压缩标准的规范,但由于其重要性,编码位率控制已被许多学者专家广泛地加以研究。近来,由于H.264视频压缩标准具有改良的编码效率而受到许多注意,当实际使用H.264编码在各种不同的传输信道时,如何找出有效率的编码位率控制算法已经成为一个重要议题;而多种以模型为基础(model-based)的编码位率控制算法已经被提出以应用于H.264编码器。
与先前的视频压缩标准相比,H.264视频压缩标准的高编码效率主要是归功于位率及失真最佳化移动估计(rate and distortion optimized motionestimation,R-D optimized ME)及模式决定(mode decision),亦可称为位率及失真最佳化(rate distortion optimization,RDO),其具有多个帧内预测模式(intra prediction mode)及帧间预测模式(inter prediction mode),并具有数个参考帧(reference frame)。然而,由于位率及失真最佳化与编码位率控制间具有相依赖性(inter-dependency),使得H.264视频压缩标准的编码位率控制变得相当复杂。换言之,编码位率控制是用于决定量化参数值,而量化参数值是供位率及失真最佳化所采用以决定编码位率控制时所需的信息。因此究竟应先决定那个参数变成一个类似先有鸡或先有蛋(chicken and eggdilemma)的两难处境,可见于由Z.G.Li,F.Pan,K.P.Lim,G.N.Feng,S.Rahardja and D.J.Wu于Proc.IEEE Intl.Conf.Multimedia and Expo,pp.581-584,June 2003所发表的“Adaptive frame layer rate control forH.264”,以及由Z.G.Li,F.Pan,K.P.Lim,and S.Rahardja于Proc.IEEEIntl.Conf.Image Processing,pp.745-748,October 2004所发表的“Adaptiverate control for H.264”两份文献中。
在上述两份文献中,是使用线性模型(linear model),并根据先前帧(previous frame)中相同位置的基本单元(collocated basic unit)的平均绝对差(mean absolute difference,MAD)来估计目前帧(current frame)中每一个基本单元(basic unit)的平均绝对差。然后,使用一个二次编码位率模型(quadratic rate model)来决定每一个基本单元的量化参数,其中基本单元可能为帧、最小可译码单位(slice)或宏区块(MB)。由P.Yin and J.Boyce于Proc.IEEE Intl.Conf.Image Processing,pp.449-452,October 2004所发表的“A new rate control scheme for H.264 video coding”可知,残余信号(residual signal)的变异量(variance)是于使用缩小过的宏区块分区(macroblock partition,MB partition)及参考帧的集合来执行位率及失真最佳化后被估计出来,此估计的变异量遂被供给至由J.Ribas-Corbera and S.Lei于IEEE Trans.Circuits and Syst.Video Technol.,vol.9,pp.172-185,February 1999所发表的“Rate control in DCT video coding for low-delaycommunications”所述的H.263 TMN8位率及失真模型(rate and distortionmodel,R-D model)中,用来决定宏区块的量化参数值。
虽然现存许多算法的估计方法可以应用在稳定的视频序列上,然而,当视频序列的帧具有可变特征(variable characteristic)时,就无法保证估计方法的正确性,同时,平均绝对差及残余信号的变异量于估计时所产生的误差会使得编码位率控制的效能下降,因此如能研发出改良的帧编码位率控制执行方法以应用于H.264视频编码器,将对此技术领域大有助益。
发明内容
本发明的目的之一在于提供一种改良的帧层(frame-layer)编码位率控制(rate control,RC)方法,用来决定每一宏区块类别(macroblock class,MBclass)的标头位(header bit)的估计数目(estimated number),以解决上述现有技术的问题。
本发明的应用于一视频编码器(video encoder)的编码位率控制方法包括:使用一第一量化参数(quantization parameter,QP)执行一第一编码步骤,用以对一目前帧(current frame)的多个宏区块(macroblock,MB)进行编码,以产生目前帧的一残余信号(residual signal);估计每一宏区块模式(macroblock mode,MB mode)的多个标头位的数目,以估计目前帧的多个标头位的总数;根据目前帧的标头位的总数,估计多个影像纹理位(texture bit)的可使用数(available number);根据估计的影像纹理位的可使用数来决定一第二量化参数;以及使用第二量化参数执行一第二编码步骤,用以对目前帧的残余信号进行编码。
本发明的一种用于一视频编码器的执行编码位率控制的系统包括:一第一步骤编码装置,耦接至一输入视频源(incoming video source),用以使用一第一量化参数执行一第一编码步骤,以对一目前帧的多个宏区块进行编码,以产生目前帧的一残余信号;一编码位率控制装置,耦接至第一步骤编码装置,用以估计每一宏区块模式的多个标头位的数目,以估计目前帧的多个标头位的总数,并根据标头位的总数,估计多个影像纹理位的可使用数,以及根据估计的影像纹理位的可使用数来决定一第二量化参数;以及一第二步骤编码装置,耦接至编码位率控制装置,用以使用第二量化参数执行一第二编码步骤,以对目前帧的残余信号进行编码。
附图说明
图1为符合QCIF格式的具有五个参考帧(其所具有的量化参数QP2的数值与量化参数QP1的数值系相差3)的″foreman″序列的位率-失真曲线图。
图2为符合QCIF格式的具有五个参考帧(其所具有的量化参数QP2的数值与量化参数QP1的数值系相差3)的″silent″序列的位率-失真曲线图。
图3为符合QCIF格式的具有五个参考帧(其所具有的量化参数QP2的数值与量化参数QP1的数值系相差1)的″foreman″序列的位率-失真曲线图。
图4为符合QCIF格式的具有五个参考帧(其所具有的量化参数QP2的数值与量化参数QP1的数值系相差1)的″silent″序列的位率-失真曲线图。
图5为本发明实施例的视频编码系统的功能方块示意图。
图6为图5的编码位率控制单元的功能方块示意图。
图7显示NnzMVe+w NMV与符合QCIF格式的″carphone″序列中帧间宏区块的标头位数目间的线性关系。
图8显示NnzMVe+w NMV与符合QCIF格式的″news″序列中帧间宏区块的标头位数目间的线性关系。
图9显示SATDC(Qs)/Qs与符合QCIF格式的″carphone″序列的影像纹理位数目间的线性关系。
图10显示SATDC(Qs)/Qs与符合QCIF格式的″news″序列的影像纹理位数目间的线性关系。
图11显示SATDC(Qs)/Qs与符合QCIF格式的″carphone″序列的4×4编码区块的失真量(其是以平方差总和来表示)间的线性关系。
图12显示SATDC(Qs)/Qs与符合QCIF格式的″news″序列的4×4编码区块的失真量(其是以平方差总和来表示)间的线性关系。
图13显示符合QCIF格式的″carphone″序列的失真总量与估计失真总量间的关系,其中估计失真总量为根据实施方式中所述方程式[14]所得的略过区块的失真量与编码区块的估计失真量的总和。
图14显示符合QCIF格式的″news″序列的失真总量与估计失真总量间的关系,其中估计失真总量为根据实施方式中所述方程式[14]所得的略过区块的失真量与编码区块的估计失真量的总和。
图15为本发明第一实施例的二步骤编码机制所得的帧层编码位率控制方法的流程图。
图16为本发明第二实施例的二步骤编码机制所得的宏区块层编码位率控制方法的流程图。
图17为本发明第三实施例的二步骤编码机制并使用位率及失真最佳化位配置所得的宏区块层编码位率控制方法的流程图。
图18为本发明第四实施例的二步骤编码机制所得的编码位率控制方法的通用流程图。
3      视频编码系统
32     第一步骤编码装置
34     编码位率控制装置
36     第二步骤编码装置
321    位率及失真最佳化单元
322    残余信号储存单元
323    离散余弦转换及量化单元
324    编码区块决定单元
325    反离散余弦转换及反量化单元
326    第一重建帧储存单元
341    编码位率控制单元
361    选择性帧内精确修正单元
362    离散余弦转换及量化单元
363    熵编码单元
364    反离散余弦转换及反量化单元
365    第二重建帧储存单元
3411   位配置单元
3412   标头位估计单元
3413   位率及失真模型化单元
3414   位率及失真最佳化位配置单元
3415   第二量化参数决定单元
具体实施方式
对于H.264编码位率控制(rate control,RC)来说,由于位率及失真最佳化(rate distortion optimization,RDO)与编码位率控制程序(rate controlprocess,RC process)间具有相依赖性(inter-dependency),因此会衍生出两个主要问题。第一个问题是,如前述现有技术文献及相关算法所指,在执行位率及失真最佳化前无法得知残余信号(residual signal)、平均绝对差(meanabsolute difference,MAD)、变异量(variance)等相关信息。第二个问题是,在执行位率及失真最佳化前亦无法得知宏区块模式(macroblock mode,MBmode)、移动向量(motion vector,MV)、参考帧(reference frame)等标头信息(header information)。因此,无法精确地估计对标头信息进行编码时所需的标头位(header bit)数目。再者,在低位率(bit rate)下进行编码并采用多种不同的宏区块模式及参考帧时,标头位数目会占位元总数很大的一部分。又,这些标头位数目亦可能于不同的宏区块(macroblock,MB)间或于不同的帧(frame)间有大幅地改变。因此,对于H.264编码器中以模型为基础(model-based)的编码位率控制算法来说,如何能精确地估计标头位数目实际上是与能估计影像纹理位(texture bit)数目同等重要。在现有技术中,如何能估计标头位数目此一问题并未被提出。事实上,大部分应用于H.264编码器的编码位率控制算法仅将重点放在如何在不执行位率及失真最佳化下能估计残余信号的平均绝对差及(或)变异量。
此处请参照本案发明人于2005/1/31所提出的美国专利申请案第11/047,039号“Video Encoding Methods and Systems With Frame-Layer RateControl”,其是描述基于二步骤编码机制(two-step encoding scheme)所得的帧层(frame-layer)编码位率控制算法。如该美国专利申请案所述,二步骤编码机制可解决位率及失真最佳化所衍生的编码位率控制相依赖所造成的问题。
在某些实施例中是使用先前帧(previous frame)的量化参数(quantizationparameter,QP)来对目前帧(current frame)中所有宏区块进行位率及失真最佳化,然后再使用经由已最佳化标头位估计的编码位率模型所得的新的量化参数来对宏区块的残余信号进行编码。对标头位数目进行较佳估计可以改善编码位率控制的正确性。特别是,在某些实施例中是揭露一种基于二步骤编码机制的宏区块层(macroblock-layer,MB-layer)编码位率控制算法,其是根据宏区块模式(macroblock mode)来对标头位进行不同的估计。因此,本发明可以提供精确的编码位率控制及改良的图片品质。如后所述,根据不同的实施例,位率及失真最佳化的编码位率控制算法将会同时使用位率模型及失真模型。
在底下的叙述中,H.264编码器中以模型为基础的编码位率控制方法及系统是基于二步骤编码机制。H.264视频压缩标准的高编码效率主要是由于位率及失真最佳化具有多种帧内预测模式(intra prediction mode)及帧间预测模式(inter prediction mode)。在典型的H.264系统中,假若预定量化参数为已知,则H.264编码器会针对宏区块的每一个分区(partition)来选择最佳的参考帧及最佳的移动向量,并经由位率及失真最佳化来选择最佳的宏区块模式,此是通过将下述方程式最小化来达成:
JQP(SQP)=D(SQP)+λ(QP)·R(SQP)                            [1]
其中SQP为移动向量、参考帧及宏区块模式的集合,且λ(QP)为拉格朗日乘数(Lagrange multiplier)。此处存在两个拉格朗日乘数,其分别应用于移动估计(motion estimation,ME)及模式决定(mode decision),且可表示为预定量化参数的函数如下:
λ MODE ( QP ) = 0.85 × 2 QP / 3 for I , P frame 4 × 0.85 × 2 QP / 3 for B frame λ MOTION ( QP ) = λ MODE ( QP ) - - - [ 2 ]
由于拉格朗日乘数具有量化参数相依性(quantizationparameter-dependent,QP-dependent),因此位率及失真最佳化及编码位率控制会使用彼此产生的结果。编码位率控制的目的决定量化参数,以便根据残余信号、标头位数目等信息来控制位率。然而,此等信息需待位率及失真最佳化执行后才能得知,且由于位率及失真最佳化于执行时是采用具有量化参数相依性的拉格朗日乘数,因此使得此等信息亦会具有量化参数相依性,如方程式[1]及[2]所示。
如欲解决位率及失真最佳化及编码位率控制间的互相依赖所导致的问题,可采用两个不同的量化参数,并分别应用于位率及失真最佳化及量化(quantization)过程。此处先说明底下详细叙述中所用标记,其中QP1为先前帧的平均量化参数,其应用于第一编码步骤中对目前帧所进行的位率及失真最佳化过程,而QP2是由位率及失真模型所决定,其应用于第二编码步骤中对残余信号所进行的量化过程。举例而言,QP2,j为第二编码步骤中第j个宏区块的量化参数值,QPn为第n个帧或目前帧的平均量化参数值,而QPn-1为第(n-1)个帧或先前帧的平均量化参数值,其是与第(n-1)个帧的平均QP2值相同。
二步骤编码机制是基于下述的观察结果。首先,第一个观察结果是:为了提供平顺的显示品质,通常会将两个连续帧的量化参数间的差值限制在一个小范围内,亦即:
|QPn-QPn-1|≤ΔwhereΔ=3                            [3]
又,第二个观察结果是:在每个编码步骤中使用不同的量化参数值,例如,使用QP1于第一编码步骤中,并使用QP2于第二编码步骤。只要将两个量化参数值间的差值限制在一个小范围内,则即使QP1及QP2的数值不相同,编码增益的降低仍可被忽略。
|QP1-QP2|≤ΔwhereΔ=3                         [4]
第一个观察结果(亦即,将两个连续帧的量化参数间的差值限制在一个小范围内以提供平顺的品质变化)已是广泛应用的技术,其是应用于以模型为基础的帧层编码位率控制方法。然而,第二个观察结果(亦即,编码程序的两个步骤中量化参数值间的差值需最小化)为本发明所独创的见解。换言之,只要两个量化参数值间的差值够小,则量化步骤的量化参数与位率及失真最佳化步骤的量化参数可分别具有不同数值。举例而言,其可经由确保第二量化参数QP2落入第一量化参数QP1的预定范围(predetermined range)内来达成,如此即可将对编码增益所造成的冲击降至最低。
图1~4为符合QCIF(quarter common intermediate format)格式的具有五个参考帧的两序列(亦即″foreman″序列及″silent″序列)的位率-失真曲线图,其中五个参考帧所具有的QP2值是不同于执行量化时的QP1值。更精确地说,图1及图2表示采用QP1=QP所进行的位率及失真最佳化以及采用QP2=QP,QP+3,and QP-3所进行的量化所得到的结果。同样地,图3及图4表示采用QP1=QP所进行的位率及失真最佳化及采用QP2=QP,QP+1,and QP-1所进行的量化所得到的结果。如图1及图2所示,当两个量化参数值间的差值|QP1-QP2|=3时,编码增益的减少程度约为0.2dB。如图3及图4所示,当两个量化参数值间的差值|QP1-QP2|=1时,编码增益的降低可以被忽略。
图5为本发明实施例的视频编码系统(video encoding system)3的功能方块示意图。视频编码系统3包括第一步骤编码装置32、编码位率控制装置34及第二步骤编码装置36。除了缺少熵编码单元(entropy coding unit)以外,第一步骤编码装置32类似于常用的视频编码器(video encoder)。第一步骤编码装置32包括位率及失真最佳化单元321、残余信号储存单元322、离散余弦转换及量化单元(discrete cosine transform and quantization unit,DCTand Q unit)323、编码区块决定单元324、反离散余弦转换(inverse dicretecosine transform,inverse DCT)及反量化(inverse quantization,IQ)单元325及第一重建帧(reconstructed frame)储存单元326。位率及失真最佳化单元321是使用帧内所有宏区块的第一量化参数QP1来执行位率及失真最佳化移动估计(rate and distortion optimized motion estimation,R-D optimizedME)及模式决定。由位率及失真最佳化单元321所产生的残余信号及标头信息(例如,移动向量及参考帧)将储存于残余信号储存单元322。当执行帧内预测模式时,宏区块可经由先前宏区块的重建像素(reconstructed pixel)来加以预测。在离散余弦转换及量化单元323、反离散余弦转换及反量化单元325对后续(subsequent)的宏区块执行帧内预测后,便可以重建出每一个宏区块;然后,重建帧会被储存于第一重建帧储存单元326。对于编码位率控制装置34内的编码位率控制单元(rate controller unit)341而言,当执行离散余弦转换时,编码区块决定单元324可经由介于QP1-Δ至QP1+Δ间的量化参数值来辨识出4×4编码区块。
编码位率控制装置34是用来决定第二编码步骤所使用的第二量化参数QP2。编码位率控制单元341需要有第一步骤编码装置32所提供的标头信息(例如,移动向量、参考帧、残余信号及4×4编码区块信息)以做为输入资料。第二步骤编码装置36是使用由编码位率控制装置34所决定的第二量化参数QP2来产生输出比特流(bit-stream)。第二步骤编码装置36包括选择性帧内精确修正单元(selective intra refinement unit)361、离散余弦转换及量化单元362、熵编码单元363、反离散余弦转换及反量化单元364及第二重建帧储存单元365。选择性帧内精确修正单元361仅在当第一编码步骤的宏区块模式被设定为帧内预测模式时会被致能(activated)。由于分别使用第一及第二量化参数QP1、QP2于第一及第二编码步骤以执行量化及反量化,因此第二步骤编码装置36中重建的先前宏区块可能与第一步骤编码装置32中重建的先前宏区块不相同。如此,当宏区块处于帧内预测模式时,其残余信号可以经由第一步骤编码装置32所决定的帧内预测模式而更加精确。当使用QP2来执行量化时,可以经由熵编码单元363、离散余弦转换及量化单元362来产生输出比特流。最后,可通过反离散余弦转换及反量化单元364将帧再次重建并储存于第二重建帧储存单元365。请注意,第二重建帧是用来对目前帧后续的宏区块执行帧内预测,并对后续的帧执行帧间预测。
图6为本发明实施例的编码位率控制单元341的功能方块示意图。编码位率控制单元341包括位配置单元(bit allocation unit)3411、标头位估计单元3412、位率及失真模型化单元(rate and distortion modeling unit,R-Dmodeling unit)3413、位率及失真最佳化位配置单元(rate and distortionoptimized bit allocation unit,R-D optimized bit allocation unit)3414及第二量化参数决定单元(second quantization parameter decision unit,second QP decision unit)3415。在位配置单元3411中,根据可用信道频宽、缓冲状态等参数来配置适当位数于予帧。标头位估计单元3412于第一编码步骤后会估计所有宏区块所需的标头位数目。假若配置于帧的位总数为已知,则需估计标头位数目以得到影像纹理位可使用数。在某些实施例中,标头位数目是使用移动向量信息并根据标头位率模型而加以估计。位率及失真模型化单元3413会估计介于QP1-Δ至QP1+Δ间的量化参数的位率及失真值(estimateddistortion)。根据本发明的某些实施例,影像纹理位率模型及失真模型是分别用来估计位率及失真值。位率及失真模型化单元3413于第二编码步骤后亦会更新模型的参数。当进行位率及失真最佳化位配置时,位率及失真最佳化位配置单元3414会配置适当位数(adequate number of bits)予每一个宏区块类别。第二量化参数决定单元3415是根据影像纹理位可使用数及位率及失真模型化单元3413所估计的位率及失真值来决定使用于第二编码步骤的第二量化参数QP2
以模型为基础的编码位率控制的效能是取决于所采用的位率及失真模型。如后所述,在此实施例中,将会采用两个位率模型及一个失真模型。在H.264中,由于可采用多种不同的宏区块模式及参考帧,标头位数目是占有位总数中很大的一部分。如前所述,这些标头位会于不同的宏区块间或于不同的帧间做大幅地改变。换言之,控制标头位率与控制影像纹理位率同样重要。基于此理由,此实施例将同时使用标头位率模型及影像纹理位率模型。假设一帧内所有宏区块都使用相同的量化参数来加以编码,则会存在四种类别的位:移动向量位、宏区块模式位、编码区块型样位(coded block pattern bit,CBP bit)及残余位(residual bit)。移动向量位及宏区块模式位是被归类为标头位,而编码区块型样位及残余位则被归类为影像纹理位。请注意,即使以技术上而言编码区块型样信息为标头信息的一部分,编码区块型样位与残余位间仍具有很紧密的关系。举例而言,假使没有残余信号可供编码,则残余位数目与编码区块型样位数目皆为零。因此在此实施例中,标头位率模型仅估计移动向量位的数目及宏区块模式位的数目。移动向量信息包括移动向量本身及参考帧,如此将可以估计所有移动向量、参考帧及宏区块模式位的位数。在此标头位率模型的实施例中,每一个宏区块将被归类为以下两种模式中其中一种:帧间宏区块(inter macroblock)及帧内宏区块(intra macroblock),因此标头位数目是分别针对此两种模式加以估计。由本发明中某些实施例可知,对于帧间宏区块而言,标头位的位数分别与非零宏区块元素(non-zero macroblock element,non-zero MB element)的数目及移动向量的数目间呈线性关系。帧间编码区块(inter-coded block)的标头位数目可以根据目前帧内非零区块元素数目(NnzMVe)及移动向量数目(NMV)间的线性关系而加以估计。举例而言,若将一宏区块分为四个8×8区块(block),且四个移动向量分别为(4,1)、(2,0)、(3,7)及(0,0),则NnzMVe为5(4,1,2,3 and 7),而NMV为4。如此,帧中帧间宏区块的标头位数目(Rhdr,inter)可由以下方程序来估计:
Rhdr,inter=γ1·NnzMVe1·NMV                    [5]
其中γ1及γ2为模型参数。方程式[5]可通过这两个模型参数相当精确地估计出帧间宏区块的标头位数目。然而,在其它实施例中,也可使用以下的线性模型来取代方程式[5],其是使用单一参数,因此会造成些许额外的估计误差:
Rhdr,inter=γ·(NnzMVe+w·NMV)                     [6]
其中γ为模型参数,而w为根据参考帧数目而有不同值的固定系数,如方程式[7]所示:
w = 0.5 if # of reference frane ≥ 5 0.4 if # of reference frame ≥ 3 0.3 otherwise - - - [ 7 ]
对应于上述方程式,图7及图8表示NnzMVe+w NMV与帧间宏区块的标头位数目间的线性关系。在图7及图8中,是通过三个参考帧并使用介于15~45间的每五个量化参数值来对最前面的30个帧进行编码。
在此实施例中,是将先前帧中帧内宏区块的标头位数目取平均值便可直接估计出帧内宏区块的标头位数目(Rhdr,intra)。标头位总数为估计的帧间宏区块的标头位数目及估计的帧内宏区块的标头位数目的总和。举例而言,令Nintra为帧内宏区块数目,且bintra为每一个帧内宏区块的标头位平均数目,则帧的标头位数目(Rhdr)为帧间宏区块的标头位数目及帧内宏区块的标头位数目的总和,如下所示:
Rhdr=Rhdr,inter+Rhdr,intra=Rhdr,inter+Nintra·bintra    [8]
通过影像纹理位率模型可估计残余位数目及编码区块型样位数目。在H.264中,离散余弦转换及量化的基本单元(basic unit)为4×4区块,因此可以编码或略过(skipped)的最小单元亦为4×4区块。假使在量化后所有的4×4离散余弦转换系数皆为零,则可将区块略过;否则,对区块进行编码。在此实施例中,将4×4区块分为两类:编码区块(coded block)及略过区块(skipped block)。由于对4×4略过区块进行编码时不需要使用任何位,因此影像纹理位数目仅需根据4×4编码区块即可加以估计。举例而言,令SATDC(Qs)为帧内4×4编码区块的绝对转换误差总和(sum of absolute transform difference,SATD),其中Qs为对应于量化参数的量化器(quantizer)步阶大小(step-size),则影像纹理位数目(Rtxt)可以根据二次位率模型而加以模型化,如方程式[9]所示:
R txt ( Qs ) = α 1 · SATD C ( Qs ) Qs + α 2 · SATD C ( Qs ) Qs 2 - - - [ 9 ]
其中α1及α2为模型参数。请注意,假使在方程式[9]中使用4×4编码区块的平均绝对差来取代绝对转换误差总和(亦即,以MADC(Qs)来取代SATDC(Qs)),则大致上亦会产生相同值。然而,由于SATDC(Qs)具有较佳的效果,因此将被采用于此实施例中。令SATDC(Qs)及MADC(Qs)具有相同数值,则方程式[9]与原先的二次位率模型间的差别是在于方程式[9]仅考量4×4编码区块的复杂度(complexity)。可以简化的理由是由于实验结果已显示当仅考量4×4编码区块的复杂度时,估计误差将会大幅减少。实验结果也显示在实际的视频编码器中,影像纹理位数目可于常用的位率下通过线性函数而被非常精确地估计,如方程式[10]所示:
R txt ( Qs ) = α · SATD C ( Qs ) Qs - - - [ 10 ]
其中α为模型参数。对应于上述方程式,图9及图10表示SATDC(Qs)/Qs与不同帧的影像纹理位数目间的线性关系,其是通过三个参考帧并使用介于15与45间的每五个量化参数值来对最前面的30个帧进行编码。如图所示,SATDC(Qs)/Qs与影像纹理位数目此两变量间存在相当明显的线性关系。
为了能适当地根据此实施例来实现此位率模型,需根据Qs值(亦即,根据对应的量化参数)将宏区块内每一个4×4区块归类为编码区块或略过区块。在H.264中,是采用整数离散余弦转换及快速量化法,如此可避免离散余弦转换过程的乘法及除法运算,以及避免量化过程的除法运算。举例而言,令X(i,j)及Xq(i,j)分别为量化前后位于位置(i,j)的4×4离散余弦转换系数,则系数X(i,j)可由下述方程式[11]加以量化:
X q ( i , j ) = sign { X ( i , j ) } · [ ( | X ( i , j ) | · A ( Q M , i , j ) + f · 2 12 + Q E ) > > ( 17 + Q E ) ] - - - [ 11 ]
其中QM≡QP mod 6、QE≡QP/6且A(QM,i,j)为量化表中的整数值,而f则是用来控制原点附近的量化宽度(quantization width)。如方程式[11]所示,量化值Xq(i,j)是决定于量化参数,因此难以决定一区块是否已被编码。根据某些实施例,由于QP1及QP2间所允许的最大差值被设定为Δ,因此仅需检查4×4区块是否由介于QP1-Δ至QP1+Δ间的量化参数值所编码。通过第一编码步骤的离散余弦转换及量化过程,可于图5的编码区块决定单元324内执行4×4区块的辨识程序。为了能辨识出介于QP1-Δ至QP1+Δ间的量化参数值的编码区块,是采用介于QP1-Δ至QP1+Δ间的量化参数值来将最大的离散余弦转换系数加以量化。举例而言,令QP=QP1的4×4区块中,Xmax(i,j)为16个系数中具有最大值|X(i,j)|·A(QM,i,j)的离散余弦转换系数,则即使量化矩阵A(QM)是根据量化参数而具有不同数值,其值亦几乎是固定而与量化参数无关。基于此理由,于QP=QP1下具有最大值|X(i,j)|·A(QM,i,j)的离散余弦转换系数很可能亦于不同于QP1的其它量化参数值下具有最大值|X(i,j)|·A(QM,i,j),因此,通过介于QP1-Δ至QP1+Δ间的量化参数值而仅将Xmax(i,j)加以量化,即可以辨识出4×4区块是否将被介于QP1-Δ至QP1+Δ间的量化参数值所编码。
在本发明某些实施例中,仅针对4×4编码区块进行失真的模型化。举例而言,令DC及DS分别为4×4编码区块及4×4略过区块的失真量,则在此实施例中,失真总量(total distortion)D为DC及DS的总和,如方程式[12]所示:
D=DC+DS                           [12]
由于4×4略过区块的失真量可以直接由残余信号来决定,因此只有4×4编码区块的失真量需要加以估计。与位模型相类似,4×4编码区块的失真量DC可使用下述二次模型加以模型化:
D C ( Qs ) = β 1 · SATD C ( Qs ) · Qs + β 2 · SATD C ( Qs ) · Qs 2 - - - [ 13 ]
其中β1及β2为模型参数。同理,与上述位率模型相类似,DC可由线性模型而加以估计且仅增加微小的估计误差,如下所示:
DC(Qs)=β·SATDC(Qs)·Qs          [14]
其中β为模型参数。由现有技术可知,失真量可经由指数模型(exponentialmodels)仿真计算。然而,此实施例于辨识出4×4编码区块后,可通过方程式[14]的线性失真量模型而将失真量更精确地加以模型化。
对应于上述方程式,图11及图12表示SATDC(Qs)/Qs与4×4编码区块的失真量间的线性关系,其中失真量是以平方差总和(sum of square error,SSE)来表示。于图11及图12中,是通过三个参考帧并使用介于15与45间的每五个量化参数值来对最前面的30个帧进行编码。虽然图11及图12所显示的结果并非完全线性,但是失真总量及估计的失真总量(estimated total distortion)的关系确实为线性。图13及图14表示失真总量与估计的失真总量的关系,其中估计的失真总量是根据方程式[14]所得的略过区块的失真量与编码区块的估计失真量的总和。如图13及图14所示,此实施例的线性失真模型可以非常精确地估计失真总量。
图15为根据本发明实施例的二步骤编码机制所得的帧层编码位率控制方法的流程图。只要大体上可得到相同结果,图15所示的流程图步骤并不需要依循所示的固定顺序,也不需为连续的步骤(亦即,可插入其它步骤)。在此实施例中,帧层编码位率控制方法包括以下步骤:
步骤900:配置目标位(target bit)数于目前帧。
步骤902:使用第一量化参数QP1来执行第一编码步骤。
步骤904:估计标头位数目。
步骤906:决定第二量化参数QP2
步骤908:使用第二量化参数QP2来执行第二编码步骤。
步骤910:执行后编码程序(post-encoding process)来更新模型参数。
于步骤900,配置目标位数RT于目前帧。目标位数是根据信道频宽、缓冲状态、图片品质等多项因素而决定。本发明的重点并不在于位配置方法,因此任何公知的位配置方法都可以用来执行步骤900。于步骤902,使用第一量化参数QP1(亦即,先前帧的平均量化参数)来执行第一编码步骤。第一编码步骤包括对目前帧的所有宏区块执行位率及失真最佳化,然后于进行离散余弦转换及量化过程时辨识出所有宏区块的4×4编码区块,并计算对应的绝对转换误差总和SATDC(Qs)。于步骤904,使用方程式[8]来估计帧的标头位数目,使得影像纹理位可使用数可以根据方程式[15]而得知:
Rtxt=RT-Rhdr                      [15]
在不同的实施例中,帧间宏区块的标头位数目也可以通过方程式[5]或方程式[6]来加以估计。
于步骤906,决定目前帧的第二量化参数QP2。首先,对于介于QP1-Δ至QP1+Δ间的所有量化参数值,可通过方程式[9]或方程式[10],并使用目前帧的绝对转换误差总和SATDC(Qs)来估计目前帧的影像纹理位数目Rtxt(Qs)。帧中4×4编码区块的绝对转换误差总和为帧中所有宏区块的4×4编码区块的绝对转换误差总和的加总,如方程式[16]所示:
SATD C ( Qs ) = Σ j = 1 N MB SATD C ( Qs , j ) - - - [ 16 ]
其中NMB为帧的宏区块总数,且SATDC(Qs,j)为第j个宏区块内4×4编码区块的绝对转换误差总和。最后,即可辨识出使Rtxt及Rtxt(Qs)间得到最小差距的QP2,亦即:
QP 2 = arg min q ∈ ( QP 1 - Δ , QP 1 + Δ ) | R txt ( Qs ( q ) - R txt | - - - [ 17 ]
其中Qs(q)为对应于量化参数q的量化步阶大小。
于步骤908,使用第二量化参数QP2对第一编码步骤(请见步骤902)所得的所有宏区块的残余信号进行编码。当宏区块于第一编码步骤进行帧内编码时,残余信号经由第一编码步骤所决定的相同帧内预测模式而能更为精确。于步骤910,使用最小平方近似法(least square approximation,LSA)来更新模型参数,并一并更新缓冲状态。请注意,在一实施例中,是将Δ值设为3以确保所造成的编码增益损失为最小。
图16为本发明另一实施例的二步骤编码机制所得的宏区块层编码位率控制方法的流程图。只要大体上可得到相同结果,图16所示的流程图步骤并不需要依循所示的固定顺序,也不需为连续的步骤(亦即,可插入其它步骤)。在此实施例中,宏区块层编码位率控制方法包括以下步骤:
步骤1000:配置目标位数于目前帧。
步骤1002:使用第一量化参数QP1来执行第一编码步骤。
步骤1004:估计标头位数目。
步骤1006:将宏区块位置初始化予目前帧内第一个宏区块。
步骤1008:决定第i个宏区块的第二量化参数QP2
步骤1010:使用第二量化参数QP2来对第i个宏区块执行第二编码步骤。
步骤1012:宏区块位置是否于帧的最后一个宏区块?若是,则进行步骤1016;否则进行步骤1014。
步骤1014:将宏区块位置加1而移至目前帧的下一个宏区块。
步骤1016:执行后编码程序来更新模型参数。
比较本实施例与前述图15所示的帧层编码位率控制方法可知,主要差异是在于步骤1006至步骤1014。于步骤1006,将宏区块位置设定至目前帧的第一个宏区块。于步骤1008,决定第i个宏区块的第二量化参数QP2,并且于步骤1010,使用第二量化参数QP2来对第i个宏区块再进行一次编码。于步骤1012,检查第i个宏区块是否为帧的最后一个宏区块,若否,则于步骤1014,将宏区块位置加1而移至目前帧的下一个宏区块,然后回到步骤1008,对下一个宏区块重复此一程序。于步骤1008,对于介于QP1-Δ至QP1+Δ间的不同的量化参数值,可通过方程式[9]或方程式[10],并使用剩余的宏区块(亦即,第i个宏区块至第NMB个宏区块)的4×4编码区块的绝对转换误差总和来估计对剩余的宏区块进行编码所需的影像纹理位数目。换言之,在编码第i个宏区块前,对于介于QP1-Δ至QP1+Δ间的每一个不同的量化参数,帧内剩余的宏区块的4×4编码区块的绝对转换误差总和可由如下所示的方程式[18]计算得知:
SATD C ( Qs ) = Σ j = i N MB SATD C ( Qs , j ) - - - [ 18 ]
其中NMB为帧内宏区块数目。接着,即可辨识出使可使用位数Rtxt及Rtxt(Qs)间得到最小差距的QP2,如方程式[19]所示:
QP 2,1 = arg min q ∈ ( QP 1 - Δ , QP 1 + Δ ) | R txt ( Qs ( q ) ) - R txt | - - - [ 19 ]
于步骤1010使用第二量化参数QP2对第i个宏区块进行编码后,减掉第i个宏区块的实际影像纹理位数目以更新可使用位数Rtxt。如先前实施例所述,可将Δ值设为3以确保所造成的编码增益损失为最小。
图17为本发明另一实施例的二步骤编码步骤并使用位率及失真最佳化位配置所得的宏区块层编码位率控制方法的流程图。只要大体上可得到相同结果,图17所示的流程图步骤并不需要依循所示的固定顺序,也不需为连续的步骤(亦即,可插入其它步骤)。在此实施例中,使用位率及失真最佳化位配置的宏区块层编码位率控制方法包括以下步骤:
步骤1100:配置目标位数于目前帧。
步骤1102:使用第一量化参数QP1来执行第一编码步骤。
步骤1104:估计标头位数目。
步骤1106:对每一个宏区块类别执行位率及失真最佳化位配置。
步骤1108:将宏区块位置初始化予目前帧内第一个宏区块。
步骤1110:决定第i个宏区块的第二量化参数QP2
步骤1112:使用第二量化参数QP2来对第i个宏区块执行第二编码步骤。
步骤1114:宏区块位置是否于帧的最后一个宏区块?若是,则进行步骤1118;否则进行步骤1116。
步骤1116:将宏区块位置加1而移至目前帧的下一个宏区块。
步骤1118:执行后编码程序来更新模型参数。
比较本实施例与前述图16所示的宏区块层编码位率控制方法可知,主要差异是在于额外的位率及失真最佳化位配置步骤1106。在此步骤中,将宏区块归类为几种类别,并且将多个位配置于每一个宏区块类别以进行位率及失真最佳化。宏区块可由多种不同方式来加以分类,在一实施例中,可将位于同一列(row)的宏区块归类为单一类别,并视为一组区块(group of blocks,GOB)。假若有NC个类别,则位率及失真最佳化位配置执行如下:令SATDC,m(Qs)为第m个类别的编码区块的绝对转换误差总和,如方程式[20]所示:
SATD C , m ( Qs ) = Σ j ∈ m th class SATD C ( Qs , j ) - - - [ 20 ]
接着,令Rm(Qs)为经由方程式[9]或方程式[10]所估计的第m个类别的位率,并且令Dm(Qs)为经由方程式[11]所估计的第m个类别的失真量,其中4×4编码区块的失真量可由方程式[12]或方程式[13]加以估计。执行最佳化位配置时,会先针对所有NC个类别来估计与介于QP1-Δ至QP1+Δ间的量化参数值相关的Rm(Qs)及Dm(Qs)。令Rm为配置第m个类别的位数目,并且令qm为第m个类别的中间量化参数。接着,便可使用以下步骤并根据最陡梯度法(steepest gradientmethod)来执行最佳位配置:
步骤1:针对m=1,2,...,NC执行初始化qm=QP1-Δ及Rm=Rm(Qs(qm)),其中Qs(qm)为对应于量化参数qm的量化步阶大小。令R为m=1,2,...,NC的所有Rm的总和。
步骤2:针对m=1,2,...,NC及k=qm+1,qm+2,...,QP1+Δ进行方程式[21]的运算:
λ ( m , k ) = - D m ( Qs ( q m ) ) - D m ( Qs ( k ) ) R m ( Qs ( q m ) ) - R m ( Qs ( k ) ) - - - [ 21 ]
步骤3:决定使λ(m,k)数值最小化的m’值及k’值。
步骤4:令qm’=k’及Rm’=Rm’(Qs(qm’)),并更新R值。
步骤5:若所有m=1,2,...,NC皆满足R=Rtxt或qm=QP1+Δ,则停止最佳位配置的程序。
步骤6:重复步骤2、3、4及5。
于最佳化位配置后,使用与如图16所示且如方程式[18]、[19]所述的不具有位率及失真最佳化位配置的宏区块层编码位率控制实施例中相同方法来决定每一个宏区块类别的量化参数。举例而言,对于第m个类别中第i个宏区块而言,是经由将第m个类别中剩余的宏区块的4×4编码区块的相对应绝对转换误差总和SATDC,m(Qs)加总而计算出第m个类别中剩余的宏区块的4×4编码区块所对应的绝对转换误差总和。对于介于QP1-Δ至QP1+Δ间的每一个量化参数值,可通过方程式[9]或方程式[10]来决定对第m个类别中剩余的宏区块进行编码所需的影像纹理位数目。如此,即可辨识出使第m个类别的可使用位数Rm及Rm(Qs)间得到最小差距的QP2,如方程式[22]所示:
QP 2 , i = arg min q ∈ ( QP 1 - Δ , QP 1 + Δ ) | R m ( Qs ( q ) ) - R m | - - - [ 22 ]
于步骤1012使用第二量化参数QP2对第i个宏区块进行编码后,减掉第i个宏区块的实际影像纹理位数目以更新第m个类别的可使用位数Rm。在此实施例中,可将Δ值设为较大的数值(例如5)而仍能确保所造成的编码增益损失为最小。
图18为本发明另一实施例的二步骤编码步骤所得的编码位率控制方法的通用流程图。只要大体上可得到相同结果,图18所示的流程图步骤并不需要依循所示的固定顺序,也不需为连续的步骤(亦即,可插入其它步骤)。在此实施例中,编码位率控制方法系包括以下步骤:
步骤1800:使用第一量化参数QP1执行第一编码步骤,用以对目前帧的宏区块进行编码,以产生目前帧的残余信号。
步骤1802:于第一编码步骤后,辨识出目前帧中已编码的宏区块内的宏区块模式。
步骤1804:估计每一个宏区块模式的标头位数目,以估计目前帧的标头位总数。
步骤1805:根据估计的标头位总数及配置于帧的位数目来估计目前帧的影像纹理位数目。
步骤1806:根据估计的影像纹理位可使用数、影像纹理位率模型及失真模型来决定第二量化参数QP2
步骤1808:使用第二量化参数QP2执行第二编码步骤,用以对目前帧的残余信号进行编码。
在此实施例中,是使用先前帧的平均量化参数来对目前帧内所有宏区块执行位率及失真最佳化,并且通过标头位率模型执行标头位估计后,再使用由影像纹理位率模型及失真模型所得的新的量化参数来对所有宏区块的残余信号进行最后编码。此作法可以达成更精确的编码位率控制。特别是,本发明揭露一种基于二步骤编码机制的宏区块层编码位率控制算法,其能达成更精确的编码位率控制并增加图片整体品质,其中标头位是根据宏区块模式而做不同地估计,而影像纹理位及失真量是分别根据影像纹理位率模型及失真模型而加以估计。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (40)

1.一种用于一视频编码器的编码位率控制方法,其特征在于,包括:
执行一第一编码步骤,是使用一第一量化参数,用以对一目前帧的多个宏区块进行编码,以产生目前帧的一残余信号;
估计每一宏区块模式的一标头位数目,以估计目前帧的一标头位总数;
根据目前帧的标头位总数,估计一影像纹理位可使用数;
根据估计的影像纹理位可使用数来决定一第二量化参数;以及
执行一第二编码步骤,是使用该第二量化参数,用以对目前帧的残余信号进行编码。
2.如权利要求1所述的用于一视频编码器的编码位率控制方法,其特征在于,所述的多个宏区块模式包括对多个帧间编码区块执行的帧间预测以及对多个帧内编码区块执行的帧内预测,且所述的估计标头位数目的步骤是分别针对所述的多个帧间编码区块及所述的多个帧内编码区块来执行。
3.如权利要求2所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括根据目前帧内一非零移动向量元素数目及一移动向量数目的一线性模型来估计所述的多个帧间编码区块的一标头位数目。
4.如权利要求2所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括通过将多个先前帧的多个帧内编码区块的标头位的每一数目取平均值来估计所述的多个帧内编码区块的标头位数目。
5.如权利要求2所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括于第一编码步骤之中,建构一第一重建帧以执行后续多个宏区块的帧内预测。
6.如权利要求2所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括于第二编码步骤之中,建构一第二重建帧以执行后续多个帧的帧间预测。
7.如权利要求1所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括于第一编码步骤之后,取得一标头信息,其中该标头信息包含与多个参考帧、多个移动向量及多个宏区块模式的一个或组合有关的信息。
8.如权利要求1所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括通过将一先前帧内所有宏区块的多个量化参数取平均值来决定第一量化参数。
9.如权利要求1所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括确保第二量化参数落入第一量化参数的一预定范围之中。
10.如权利要求1所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括:
配置一目标位总数于所述的目前帧;
根据目前帧中目标位总数及估计的标头位总数来决定一影像纹理位数目;以及
根据一位率及失真最佳化程序的多个位率及失真值及所述影像纹理位可使用数来决定第二量化参数。
11.如权利要求10所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括:
于第一编码步骤之后,辨识出目前帧中已编码的所述多个宏区块内多个编码区块;
对所述的多个编码区块的失真量进行仿真计算以产生所述的多个编码区块的一估计失真量;以及
对目前帧的影像纹理位数目进行仿真计算以产生所述的多个编码区块的一影像纹理位估计数目。
12.如权利要求11所述的用于一视频编码器的编码位率控制方法,其特征在于,所述影像纹理位估计数目是基于所述的多个编码区块的一复杂度量测值所估计而来。
13.如权利要求11所述的用于一视频编码器的编码位率控制方法,其特征在于,所述的多个编码区块是自于第一编码步骤所采用的一离散余弦转换中做为基本单元的多个区块中被辨识出来。
14.如权利要求11所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括根据目前帧的残余信号来估计目前帧中已编码的所述多个宏区块内多个未编码区块所代表的多个略过区块的失真量。
15.如权利要求1所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括:
对目前帧内每一宏区块个别决定第二量化参数;以及
执行第二编码步骤,是使用对每一宏区块所决定的对应的第二量化参数,用以对目前帧内每一宏区块的残余信号个别进行编码。
16.如权利要求15所述的用于一视频编码器的编码位率控制方法,其特征在于,更包括配置一适当位数于每一宏区块类别以最佳化每一宏区块类别中宏区块的一位率及失真程序。
17.如权利要求16所述的用于一视频编码器的编码位率控制方法,其特征在于,各宏区块类别是根据同一列的宏区块所形成的一组区块所分类而成。
18.如权利要求16所述的用于一视频编码器的编码位率控制方法,其特征在于,所述的配置一适当位数于每一宏区块类别的宏区块的步骤更包括:
计算落入第一量化参数的一预定范围中多个量化参数值所对应的多个位率及失真值;以及
选择每一宏区块类别的适当位数,以通过同时最大化一位率减量及最小化一失真增量来最佳化所述的多个位率及失真值。
19.如权利要求1所述的用于一视频编码器的编码位率控制方法,其特征在于,该编码位率控制方法是供一H.264视频编码器所使用。
20.一种用于一视频编码器的执行编码位率控制的系统,其特征在于,包括:
一第一步骤编码装置,耦接至一输入视频源,用以执行一第一编码步骤,是使用一第一量化参数,用以对一目前帧的多个宏块进行编码,以产生目前帧的一残余信号;
一编码位率控制装置,耦接至第一步骤编码装置,用以估计每一宏区块模式的一标头位数目,以估计目前帧的一标头位总数,并根据该标头位总数,估计一影像纹理位可使用数,以及根据估计的影像纹理位可使用数来决定一第二量化参数;以及
一第二步骤编码装置,耦接至编码位率控制装置,用以执行一第二编码步骤,是使用第二量化参数,用以对目前帧的残余信号进行编码。
21.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的多个宏区块模式包括对多个帧间编码区块执行的帧间预测以及对多个帧内编码区块执行的帧内预测,并且该编码位率控制装置包括一标头位估计单元,用以分别针对所述的多个帧间编码区块及所述的多个帧内编码区块来估计标头位数目。
22.如权利要求21所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的标头位估计单元更用以根据目前帧内一非零移动向量元素数目及一移动向量数目的线性模型来估计所述的多个帧间编码区块的一标头位数目。
23.如权利要求21所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的标头位估计单元更用以通过将多个先前帧的多个帧内编码区块的标头位的每一数目取平均值来估计所述的多个帧内编码区块的标头位数目。
24.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的第一步骤编码装置更用以建构一第一重建帧以对后续多个宏区块执行帧内预测。
25.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的第二步骤编码装置更用以建构一第二重建帧以执行后续多个帧的帧间预测。
26.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的编码位率控制装置更用以于第一编码步骤之后,取得一标头信息,其中标头信息包含与多个参考帧、多个移动向量及多个宏区块模式的一个或组合有关的信息。
27.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的第一步骤编码装置更用以通过将一先前帧内所有宏区块的多个量化参数取平均值来决定第一量化参数。
28.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的编码位率控制装置包括一第二量化参数决定单元,用以选择第二量化参数并确保该第二量化参数落入第一量化参数的一预定范围之中。
29.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的编码位率控制装置包括一位配置单元,用以配置一目标位总数于目前帧,并根据目前帧中目标位总数及估计的标头位总数来决定一影像纹理位数目;以及一第二量化参数决定单元,用以根据一位率及失真最佳化程序的多个位率及失真值及影像纹理位可使用数来决定第二量化参数。
30.如权利要求29所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的编码位率控制装置更用以于第一编码步骤之后,辨识出目前帧中已编码的所述的多个宏区块内多个编码区块,并对所述的多个编码区块的失真量进行模型化处理以产生所述的多个编码区块的一估计失真量,再根据所述的多个编码区块的该影像纹理位估计数目来决定目前帧的影像纹理位数目。
31.如权利要求30所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的多个编码区块是自于第一编码步骤所采用的一离散余弦转换中做为基本单元的多个区块中被辨识出来。
32.如权利要求30所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的编码位率控制装置更用以于第一编码步骤之后,根据目前帧的残余信号来估计目前帧中已编码的所述多个宏区块内多个未编码区块所代表的多个略过区块的失真量。
33.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的编码位率控制装置包括一第二量化参数决定单元,用以对目前帧内每一宏区块个别决定第二量化参数,其中第二步骤编码装置更用以执行第二编码步骤,是使用由第二量化参数决定单元对每一宏区块所决定的对应的第二量化参数,用以对目前帧内每一宏区块的残余信号个别进行编码。
34.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的编码位率控制装置包括一位及失真最佳化位配置单元,用以配置一适当位数于多个宏区块类别的每一宏区块类别,以根据每一宏区块所配置的适当位数来最佳化每一宏区块类别中宏区块的一位率及失真程序。
35.如权利要求34所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,各宏区块类别包括一组区块,该组区块是由位于同一列的宏区块所形成。
36.如权利要求34所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,当配置所述适当位数于每一宏区块类别之时,位率及失真最佳化位配置单元更用以根据落入第一量化参数的一预定范围中多个相异量化参数来计算多个残余位及多个失真位,并自所述的多个残余位及所述的多个失真位中选择每一宏区块类别的适当位数,以最大化一位率减量并最小化一失真增量。
37.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,是用以提供编码位率控制的功能予一H.264视频编码器。
38.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的第一步骤编码装置更包括:
一位率及失真最佳化单元,耦接至输入视频源,是使用目前帧内所有宏区块所对应的该第一量化参数,用以执行位率及失真最佳化移动估计及模式决定;
一残余信号储存单元,用以储存残余信号及一标头信息,该标头信息包含自位率及失真最佳化单元所取得的多个移动向量及多个参考帧;
一离散余弦转换及量化单元,用以执行一离散余弦转换以重建每一宏区块,及对后续多个宏区块执行帧内预测,并使用第一量化参数来执行量化处理;
一编码区块决定单元,用以于离散余弦转换执行时辨识出多个编码区块,所述的多个编码区块具有落入第一量化参数的一预定范围中多个量化参数;
一反离散余弦转换及反量化单元,用以重建每一帧以执行后续的所述的多个宏区块的帧内预测;以及
一第一重建帧储存单元,用以储存一第一重建帧。
39.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特征在于,所述的第二步骤编码装置包括:
一选择性帧内精确修正单元,该选择性帧内精确修正单元仅在当目前帧的一宏区块模式被设定为帧内预测模式时被致能,其中于第二步骤编码装置中,所述选择性帧内精确修正单元是使用于第一步骤编码装置内所决定的一帧内预测模式,来精确修正一帧内宏区块的残余信号;
一离散余弦转换及量化单元,用以执行一离散余弦转换以重建每一宏区块,及对后续多个宏区块执行帧内预测,并使用第二量化参数来执行量化处理;
一第二重建帧储存单元,用以储存一第二重建帧;
一反离散余弦转换及反量化单元,用以重建每一帧以执行后续的所述多个宏区块的帧内预测;以及
一熵编码单元,用以产生一输出比特流。
40.如权利要求20所述的用于一视频编码器的执行编码位率控制的系统,其特下在于,所述的编码位率控制装置更包括:
一位配置单元,用以根据一组预先限定参数来配置一适当位数于每一帧;
一标头位估计单元,用以估计所有宏区块的一标头位数目,其中在已知配置予帧的一总位数的条件下,所述影像纹理位可使用数是经由估计所述标头位数目而计算得知;
一位率及失真模型化单元,用以估计落入第一量化参数的一预定范围中一组量化参数的多个位率及失真值;
一位率及失真最佳化位配置单元,用以配置适当位数于每一宏区块类别;以及
一第二量化参数决定单元,用以根据由位率及失真模型化单元所估计的所述多个位率及失真值来决定第二量化参数以供第二步骤编码装置所使用。
CNB2006100957846A 2005-07-07 2006-07-04 用于视频编码器的编码位率控制方法及系统 Active CN100456835C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/160,765 US7961783B2 (en) 2005-07-07 2005-07-07 Methods and systems for rate control in video encoder
US11/160,765 2005-07-07

Publications (2)

Publication Number Publication Date
CN1893657A true CN1893657A (zh) 2007-01-10
CN100456835C CN100456835C (zh) 2009-01-28

Family

ID=37598082

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006100957846A Active CN100456835C (zh) 2005-07-07 2006-07-04 用于视频编码器的编码位率控制方法及系统

Country Status (3)

Country Link
US (1) US7961783B2 (zh)
CN (1) CN100456835C (zh)
TW (1) TWI324483B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595143A (zh) * 2012-03-19 2012-07-18 中国科学院声学研究所 一种无线视频传输方法
CN104300913A (zh) * 2013-07-19 2015-01-21 英特尔移动通信有限责任公司 用于噪声成形的方法和噪声成形滤波器

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8031774B2 (en) * 2005-01-31 2011-10-04 Mediatek Incoropration Video encoding methods and systems with frame-layer rate control
US8149918B2 (en) * 2005-11-10 2012-04-03 Electronics And Telecommunications Research Institute Method of estimating coded block pattern and method of determining block mode using the same for moving picture encoder
US8208548B2 (en) * 2006-02-09 2012-06-26 Qualcomm Incorporated Video encoding
US8437396B2 (en) * 2006-08-10 2013-05-07 Vixs Systems, Inc. Motion search module with field and frame processing and methods for use therewith
US8189676B2 (en) * 2007-04-05 2012-05-29 Hong Kong University Of Science & Technology Advance macro-block entropy coding for advanced video standards
KR100961742B1 (ko) 2008-12-15 2010-06-07 충북대학교 산학협력단 H.264/avc의 매크로블록 단위 비트율 제어 방법
US9729888B2 (en) 2009-09-10 2017-08-08 Dolby Laboratories Licensing Corporation Speedup techniques for rate distortion optimized quantization
CN102577393B (zh) * 2009-10-20 2015-03-25 夏普株式会社 运动图像编码装置、运动图像解码装置、运动图像编码/解码系统、运动图像编码方法及运动图像解码方法
US8897370B1 (en) * 2009-11-30 2014-11-25 Google Inc. Bitrate video transcoding based on video coding complexity estimation
US8238444B2 (en) * 2009-12-15 2012-08-07 National Taiwan University Perceptual-based video coding method
US20130058410A1 (en) * 2010-05-13 2013-03-07 Sharp Kabushiki Kaisha Encoding device, decoding device, and data structure
US8544496B2 (en) 2010-05-25 2013-10-01 Briggs & Stratton Corporation Garden hose booster system
TWI394462B (zh) * 2010-06-22 2013-04-21 Univ Nat Taiwan 基於視覺感知的位元-失真最佳化位元分配的位元率控制方法
USD665652S1 (en) 2010-06-23 2012-08-21 Briggs & Stratton Corporation Garden hose container
US9172956B2 (en) * 2010-11-23 2015-10-27 Lg Electronics Inc. Encoding and decoding images using inter-prediction
US9025665B2 (en) * 2011-07-01 2015-05-05 Cavium, Inc. Video encoder bit estimator for macroblock encoding
KR20130049524A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
US20130170543A1 (en) * 2011-12-30 2013-07-04 Ning Lu Systems, methods, and computer program products for streaming out of data for video transcoding and other applications
KR102161741B1 (ko) * 2013-05-02 2020-10-06 삼성전자주식회사 HEVC(high efficiency video coding)에서 코딩 유닛에 대한 양자화 파라미터를 변화시키는 방법과 장치, 및 시스템
CN103327325B (zh) * 2013-05-13 2016-05-25 西安电子科技大学 基于hevc标准的帧内预测模式快速自适应选择方法
US10080036B2 (en) * 2013-05-16 2018-09-18 City University Of Hong Kong Method and apparatus for depth video coding using endurable view synthesis distortion
WO2021005349A1 (en) * 2019-07-05 2021-01-14 V-Nova International Ltd Quantization of residuals in video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5969764A (en) * 1997-02-14 1999-10-19 Mitsubishi Electric Information Technology Center America, Inc. Adaptive video coding method
US6212232B1 (en) * 1998-06-18 2001-04-03 Compaq Computer Corporation Rate control and bit allocation for low bit rate video communication applications
US7277483B1 (en) * 2000-04-18 2007-10-02 Ati International Srl Method and apparatus for rate control for constant-bit-rate finite-buffer-size video encoder
US20030152151A1 (en) * 2002-02-14 2003-08-14 Chao-Ho Hsieh Rate control method for real-time video communication by using a dynamic rate table
CN100380980C (zh) * 2002-04-23 2008-04-09 诺基亚有限公司 用于在视频编码系统中指示量化器参数的方法与设备
WO2004004359A1 (en) * 2002-07-01 2004-01-08 E G Technology Inc. Efficient compression and transport of video over a network
CN1206864C (zh) * 2002-07-22 2005-06-15 中国科学院计算技术研究所 结合率失真优化的码率控制的方法及其装置
CN1190969C (zh) * 2003-03-08 2005-02-23 华中科技大学 一种视频编码比特率控制方法
JP4142497B2 (ja) * 2003-05-30 2008-09-03 日本電信電話株式会社 動画像符号化におけるフレーム内レート制御方法,フレーム内レート制御装置,動画像符号化装置およびフレーム内レート制御プログラム
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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102595143A (zh) * 2012-03-19 2012-07-18 中国科学院声学研究所 一种无线视频传输方法
CN102595143B (zh) * 2012-03-19 2014-01-29 中国科学院声学研究所 一种无线视频传输方法
CN104300913A (zh) * 2013-07-19 2015-01-21 英特尔移动通信有限责任公司 用于噪声成形的方法和噪声成形滤波器
US10523937B2 (en) 2013-07-19 2019-12-31 Intel Corporation Method for noise shaping and a noise shaping filter

Also Published As

Publication number Publication date
US20070009026A1 (en) 2007-01-11
CN100456835C (zh) 2009-01-28
US7961783B2 (en) 2011-06-14
TW200704204A (en) 2007-01-16
TWI324483B (en) 2010-05-01

Similar Documents

Publication Publication Date Title
CN1893657A (zh) 用于视频编码器的编码位率控制方法及系统
CN1274158C (zh) 视频信息编码和解码方法、运动补偿视频编码器和相应的解码器
CN1151685C (zh) 编码系统中用于优化速率控制的装置和方法
CN1242620C (zh) 用于数字视频记录的基于代码转换器的自适应量化
CN1816151A (zh) 图框层速率控制的视讯编码方法和系统
JP5290325B2 (ja) Cabacコーダのためのレート歪みモデリングに基づいた量子化
JP5257215B2 (ja) 画像符号化装置と画像符号化方法
CN1225126C (zh) 用于视频编码的新型空间预测方法及其装置
CN1608372A (zh) 在视频编码器中选择宏块量化参数的方法和装置
CN1941915A (zh) 视频编码方法及装置
CN1685734A (zh) 控制视频序列速率的方法和装置及视频编码装置
CN1794815A (zh) 产生对图像或图像序列进行编码的量化矩阵的方法和设备
CN1574970A (zh) 使用图像残余预测编码/解码图像的方法和设备
RU2502213C2 (ru) Устройство обработки изображений и способ обработки изображений
US8982947B2 (en) Rate control and video denoising for noisy video data
CN1846446A (zh) 编码视频图像的方法和布置
CN1926875A (zh) 运动补偿方法
CN1615645A (zh) 编码动态滤波器
CN1820512A (zh) 消除块效应的方法、介质和滤波器
WO2009035144A1 (ja) 画像処理装置及び画像処理方法
TW200942040A (en) Image encoding device
CN1620821A (zh) 图像信息编码装置和图像信息编码方法、图像信息解码装置和图像信息解码方法
JP2006025077A (ja) 符号化装置、符号化方法、符号化方法のプログラム及び符号化方法のプログラムを記録した記録媒体
CN1842164A (zh) 解码视频数据的解码器和系统
CN1751522A (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