CN1726709B - 用于对未压缩数字视频序列的图像进行编码的方法和装置 - Google Patents

用于对未压缩数字视频序列的图像进行编码的方法和装置 Download PDF

Info

Publication number
CN1726709B
CN1726709B CN2003801057469A CN200380105746A CN1726709B CN 1726709 B CN1726709 B CN 1726709B CN 2003801057469 A CN2003801057469 A CN 2003801057469A CN 200380105746 A CN200380105746 A CN 200380105746A CN 1726709 B CN1726709 B CN 1726709B
Authority
CN
China
Prior art keywords
image
value
complexity
version
code
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
CN2003801057469A
Other languages
English (en)
Other versions
CN1726709A (zh
Inventor
余国瑶
周志
查尔斯·H·范杜森
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.)
Google Technology Holdings LLC
Original Assignee
Tut Systems 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 Tut Systems Inc filed Critical Tut Systems Inc
Publication of CN1726709A publication Critical patent/CN1726709A/zh
Application granted granted Critical
Publication of CN1726709B publication Critical patent/CN1726709B/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/115Selection of the code volume for a coding unit prior to coding
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of 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/172Methods 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 picture, frame or field
    • 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/177Methods 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 group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression

Abstract

一种对未压缩数字视频流的帧进行编码的方法包括以第一算法(MPEG2)分析未压缩数字视频流的一帧,以测量该帧的复杂度的第一个值,并指定该帧的图像类型,并且使用第一测量值作为参数来估计该帧的复杂度的第二个值。然后采用该帧的复杂度的第二个值和第一帧的图像类型作为参数,以相异的第二算法(H.264)对该帧进行编码。

Description

用于对未压缩数字视频序列的图像进行编码的方法和装置
技术领域
本发明涉及视频信号的压缩编码,更具体地说,涉及用于双通路压缩编码/码转换(transcoding)的、利用基于图像的超前查看(lookahead)窗口而进行的速率控制。
背景技术
公知的两个用于数字视频压缩的国际标准是MPEG2(H.262)和H.264(MPEG4的部分10)。还存在若干个可应用本发明的其他标准,如H.261、MPEG1和H.263,但是下面本发明实施例的描述主要涉及MPEG2和H.264,因此我们不讨论其他的标准。
未经压缩的视频流可被描述为连续的一系列图像(picture)或帧。各个帧描述了在时间上某一特定时刻的特定画面(setting)。一幅场景(scene)指的是一系列在时间上的连续时刻描述相同画面的帧。场景的第二帧示出的是与第一帧相同的画面,在时间上略微靠后一些。MPEG标准使用被称为时间编码的技术来利用这种信息的重复。根据MPEG视频压缩标准(如MPEG2),编码器将视频流分割为相关图像的集合,也称为图像组(groups of pictures,GOP)。GOP内的每个帧被编码器标记为内帧、预测帧或双向帧。内帧(I型帧)只利用来自帧内的信息编码。不使用时间编码来压缩帧。预测(P型)帧使用来自帧内的信息编码,并且利用在前的I帧或P帧作为时间压缩的参考。I和P帧被称为锚帧(anchorframe)。双向(B型)帧使用来自帧内的信息编码,并且还可以使用来自至少一个在前锚帧和至少一个在后锚帧的信息。在GOP内,I帧通常是最复杂的,然后是P帧,B帧的复杂度一般是最低的。
在MPEG2的一种传统实现方式中,每个GOP(这里被称为标准GOP)的周期(N)都是15个图像或帧,并且只包括一个I型图像,该I型图像是GOP中的第一个图像。第四、第七、第十和第十三个图像是P型图像,剩下的十个图像是B型图像。从而,每个标准GOP由5个子组组成,每个子组有3个图像。每个子组由一个锚图像和两个B型图像组成。锚图像之间的间隔(这种情况下是3)被称为GOP的内周期(M)。从而,标准GOP的显示顺序为:
I B B P B B P B B P B B P B B
在该MPEG2的传统实现方式中,标准GOP是闭合的,即,其不基于GOP外部的帧作出任何预测。
在MPEG标准中通过将帧定义为由一系列宏块(MB)组成,可进一步划分视频流。宏块包含要显示代表16×16个亮度像素的图像区域所需的所有信息。
MPEG2和H.264指定了有效比特流的语法和解码器用来解释该比特流以获得期望输出所必须的方式,所述输出是未压缩的数字视频。然而,MPEG标准没有指定编码器。编码器被定义为能够输出比特流的任意设备,无论是硬件或软件,其中当该比特流被输入到遵从MPEG的解码器中时,将产生期望的输出。
在编码器的典型应用中,未压缩的视频信号被输入到编码器中,根据可用的压缩标准进行编码,接着新编码的信号从编码器中输出,由解码器接收,并被解码用于观看。为了适应解码器接收数据时的速率变化,解码器必须包括缓冲器,该缓冲器接收编码后的数据,并将数据提供给解码过程。编码器必须确保编码信号的输出速率,使得解码器可以连续地对编码信号解码并且传输解码后的信号。如果编码器传输信号太慢,则在解码器传输的信号之间会有间隙,因为解码器要等待来自编码器的信号。如果编码器传输信号太快,则解码器可能无法跟上,从而引起解码器处的缓冲器上溢和不可接受的信息丢失。管理编码器的传输速率的过程被称为速率控制。编码器利用虚拟缓冲器来跟踪解码器缓冲器的充满度(fullness)。
一种简单的速率控制方法是为将被编码的视频信号的每个图像或帧分配一定数量的比特。然而,这种方法效率不高,因为用来对视频流中每个图像编码的比特数必须足够大,以适应可能出现的最复杂的帧,而实际上,对简单帧(例如蓝天的图像)进行编码比起复杂帧(在地平线上云中日出的图像)来说需要的比特要少。在编码图像之前测量图像的复杂度允许编码器就要使用多少比特来对图像编码进行更好的判断。如果编码器具有将来进行编码的帧的复杂度的知识,则可以进一步改进该方法。考虑这样一个视频流,其开始显示的是清晰的蓝天,然后显示日落。起始帧的复杂度较低,因而使用相对较少的比特数编码。然而,后续帧包含复杂得多的信息,因而需要更多比特数来编码。如果在判断要分配多少比特给初始的简单视频帧的同时,编码器被告知很快还需要分配大量比特对更复杂的帧编码,则编码器可进一步减少用来对简单帧编码的比特数,并且避免或减小使下游解码器上溢的风险。
另一种控制用来对图像编码的比特数的有效方法是通过对帧内的每个MB动态地修改量化台阶大小。对于通常具有一致颜色和亮度的MB来说,只需要少量的可能像素值,从而需要较少的比特来描述。对于包含大量颜色和亮度值的MB来说情况相反,因为编码器不得不描述更大范围的像素值。根据该方法,每个MB被分配一个量化比例因子(Mquant),该比例因子被用来修正量化台阶大小。
在MPEG2标准的发展过程中,有必要设计一种通用的速率控制和量化方法,用该方法可测试比特流语法、解码器设计和标准的其他方法。该方法被称为测试模型,并且随着MPEG2的发展而进步。随着MPEG2标准的固定,已产生了第五版,也是最后一版的模型(TM-5)。TM-5被分为三个主要步骤:(a)目标比特分配;(b)速率控制;(c)自适应量化。
(a)目标比特分配
如上所述,分配给某一图像用于编码的比特数量是该图像相对于其他图像的复杂度的函数。对于特定GOP,为每种图像类型分配了复杂度加权因子(I、P和B型图像分别是XI2、XP2和XB2)。XI2、XP2和XB2代表I、P、B图像的复杂程度,并且可以计算如下:
XI2=SI2QI2
XP2=SP2QP2
XB2=SB2QB2
其中SI2、SP2和SB2是每个图像的比特数,QI2、QP2和QB2是每个图像中所有MB的平均量化参数(见下文)。
在TM-5中,基于分配给GOP的比特空间的剩余量、编码图像的类型和近来相同类型编码图像的复杂度统计信息来定位图像的比特分配。目标比特分配是TM-5预期对帧编码所必需的比特数。
(b)速率控制
如果在目标比特分配(Btar)和对图像编码所需的实际比特数(Bact)之间存在差异,则存在未充满或过充满TM-5的虚拟缓冲器的风险。虚拟缓冲器在图像被编码的同时,基于MB跟踪MB上解码器的缓冲器的充满度。对第j个MB前的所有MB(但不包括第j个MB)进行编码应当使用整个目标比特中的某一部分。这一部分等于Btar乘上已编码的MB数(j-1)再除以图像中的总MB数(MB_cnt)。通过对直到(但不包括)第j个MB前的所有MB编码所实际产生的比特数等于B(j-1)。目标比特数和所产生的比特数之间的差量(delta)代表了在对每个MB编码后虚拟缓冲器的充满度的变化(dj),并且在对第j个MB编码之前计算:
dj=d0+B(j-1)-Btar*(j-1)/MB_cnt
其中,d0等于在当前图像开始时虚拟缓冲器的充满度。
如果虚拟缓冲器开始上溢,则量化台阶大小增大,导致后续MB的比特量变小。类似地,如果虚拟缓冲器开始下溢,则量化台阶大小减小,导致后续MB的比特量变大。该虚拟缓冲器充满度的量度被用来产生MB的参考量化数(Qj)。
(c)自适应量化
宏块量化台阶大小被进一步调制为空间活动性(actj)的函数。宏块被划分为四个8×8的子块,对于每个子块测量其空间活动性。然后,相对于先前编码图像的平均空间活动性(avg_act)归一化四个测量值中的最小值(N_actj)。利用最小的空间活动性量度是因为宏块的质量不会优于其具有最高可视失真的子块。
N_actj=(2*actj+avg_act)/(actj+2*avg_act)
MB归一化空间活动性和其参考量化参数的乘积给出了MB的量化比例因子(Mquantj):
Mquantj=Qj*N_actj
通常,新的压缩标准所采用的编码算法更有效,但是实现起来更为复杂。随着中央处理单元(CPU)和数字信号处理(DSP)芯片的计算速度的快速增长,实现越来越复杂的算法实际上变得简单易行。在应用中基于新标准构造的视频编码器/解码器(编解码器)最终取代了基于旧标准构造的编解码器,其中在诸如比特率、分辨率等等的某些规范上重叠。这一取代过程花费了很长时间,因为以新的视频编解码器取代旧的编解码器代价不菲。继续使用旧的编解码器的另一个原因是许多视频流都已用旧的算法进行压缩,因而可容易地由旧的编解码器解压。然而,在希望获得高的编码效率时,就会发生旧的和新的编解码器的混用。在某些应用中,希望将以旧的编解码器压缩的视频流以新的比特率重传,其中所述新的比特率低于旧的编解码器在相同视频质量的情况下可实现的比特率。因此,为了获得更高的压缩效率,使用具有混合编解码器(旧的解码器和新的编码器)的码转换器。一个好的示例是将MPEG2压缩视频流转换为H.264压缩视频流的码转换器。
数字压缩业界认识到,利用超前查看窗口进行双通路编码提供了比单通路编码更高的编码效率。对于新兴的更为精细的压缩技术来说,即使单通路编码也是较昂贵的,并且双通路编码的成本要远高于单通路编码的成本。在双通路体系结构中使用两个精细的用于编码/码转换的编解码器相比于旧技术中的编解码器而言,将编码器/码转换器的成本提升了几乎一个数量级。
人们希望的是,能够在使用混合编解码器的编码器/码转换器中以最小的成本获得更高的编码效率。
发明内容
根据本发明的第一方面,提供了一种对未压缩数字视频流的帧进行编码的方法,其中每个帧都有一个复杂度水平,所述方法包括:以第一算法分析未压缩数字视频流的第一帧,以测量第一帧的复杂度的第一个值并指定第一帧的图像类型;使用第一测量值作为参数来估计第一帧的复杂度的第二个值;以及采用第一帧的复杂度的第二个值和第一帧的图像类型作为参数,以相异的第二算法对第一帧进行编码。
根据本发明的第二方面,提供了一种对压缩数字视频流的帧进行码转换的方法,其中每个帧根据第一编码算法被编码,并且具有一个复杂度水平,所述方法包括:以第一解码算法对压缩数字视频流的第一帧解码,以产生第一帧的解码版本,测量第一帧的复杂度的第一个值,并确定第一帧的图像类型;使用第一个值作为参数,估计第一帧的复杂度的第二个值;以及采用第一帧的复杂度的第二个值和第一帧的图像类型作为参数,以相异的第二编码算法对第一帧的解码版本进行编码。
根据本发明的第三方面,提供了一种用于对由一连串帧组成的未压缩数字视频输入流编码的装置,其中每个帧具有与其相关联的多个特性,所述装置包括:提取装置,用于接收未压缩数字视频输入流的一连串帧,并且采用第一方法来获得输入流的帧的多个特性的测量值,并给所述帧指定图像类型;延迟装置,用于接收输入流的一连串帧,并相对于输入流的帧以延迟方式输出帧;值存储装置,用于存储延迟装置中的帧的测量值和图像类型;以及编码装置,用于从延迟装置接收帧并对帧进行编码,所述编码装置响应于存储在值存储装置中的测量值,来调整帧的编码版本的大小。
根据本发明的第四方面,提供了一种用于对由一连串已编码帧组成的压缩数字视频输入流进行码转换的装置,其中每个已编码帧具有与其相关联的多个特性,所述装置包括:解码装置,用于接收压缩数字视频输入流的一连串已编码帧,并且采用第一方法来获得一连串解码帧和解码帧的多个特性的测量值,并给解码帧指定图像类型;延迟装置,用于接收输入流的一连串解码帧,并相对于输入流的已编码帧以延迟方式输出解码帧;值存储装置,用于存储延迟装置中的解码帧的测量值和图像类型;以及编码装置,用于从延迟装置接收解码帧并对帧进行编码,所述编码装置响应于存储在值存储装置中的测量值,来调整帧的编码版本的大小。
本发明的实施例为双通路压缩视频体系结构中具有混合编解码器的编码器/码转换器提供了利用基于图像的超前查看窗口而进行的速率控制。在码转换器中(其中输入视频信号是压缩视频信号),使用简单压缩解码器提取统计信息,以从压缩视频信号中产生统计信息;而在编码器中(其中输入视频信号是未压缩视频信号),使用简单压缩编码器提取统计信息,以从未压缩视频信号中生成统计信息。基于在滑动的“过去”窗口中的先前图像计算当前图像的转换因子,以预测当前图像的复杂度,转换因子是简单压缩标准的全局复杂度量度相对于精细压缩标准的全局复杂度量度之比。然后,基于在超前查看或“将来”窗口中的将来图像的复杂度,分配当前图像的比特。如果将来图像难以编码,则给当前图像分配较少的比特,反之亦然。这对于场景变化是有效的。因为超前查看窗口考虑到了将来图像(即,还未根据精细压缩标准压缩的图像)的统计信息,所以实现了更为合理的比特分配和更好的质量。在根据精细压缩标准对当前图像编码后,已编码图像的实际比特、图像复杂度和转换因子被更新为过去的,并且超前查看窗口移动一个图像,即,随着新的图像被载入到超前查看窗口中,已编码图像移出超前查看窗口并移入过去窗口中。
结合所附权利要求和附图,从下面的详细描述中将清楚了解本发明的目的、优点和其他新特征。
附图说明
图1是双通路编码器/码转换器体系结构的方框示意图,其中所述双通路编码器/码转换器体系结构根据本发明,利用基于图像的超前查看窗口实现了速率控制。
图2是根据本发明的速率控制算法的流程图。
图3是根据本发明的虚拟滑动窗口的概念示意图。
具体实施方式
图1图示了具有简单压缩解码器12的编码器/码转换器,压缩解码器12用于接收并解码根据简单的压缩标准(如MPEG2)编码的压缩视频流,以产生未压缩的视频信号和有关统计信息。或者简单的压缩编码器14接收未压缩的视频流以生成有关统计信息。统计信息被输入到超前查看窗口模块18,以由速率控制算法处理(将在下面描述),而任一结构(码转换器或编码器)中的未压缩视频信号被输入到存储和延迟模块16。存储和延迟模块是接收、延迟并输出未压缩视频流的缓冲存储器。超前查看窗口模块包含存储和延迟模块16中每个图像的统计信息,如图像的比特数、图像类型和图像的所有宏块的平均量化台阶大小。超前查看窗口模块18由统计信息生成比特分配数据,以供精细压缩编码器24(如H.264编码器)在确定精细编码过程的速率控制时使用。存储和延迟模块补偿超前查看窗口模块18生成比特分配数据所需的时间。
来自存储和延迟模块16的已延迟的未压缩视频流被输入到自适应预滤波器20,以产生滤波后的未压缩视频流。滤波器可以是低通滤波器,其衰减由未压缩视频流代表的图像中的高空间频率,从而用来“模糊”(blur)未压缩视频流,以使其更易压缩,即复杂度更小从而需要更少的比特来压缩。滤波强度可取决于衰减空间频率分量的阈值或截止频率以及衰减高空间频率的程度。
来自存储和延迟模块16的已延迟的未压缩视频流和滤波后的未压缩视频流都被输入到开关22,开关22选择这两个视频流中的一个。来自开关22的所选择的未压缩视频流和来自超前查看窗口模块18的比特分配数据都被输入到精细压缩编码器24,以根据诸如H.264(MPEG4的部分10)的精细压缩视频标准产生压缩后的视频流。精细压缩编码器24还向自适应预滤波器20和开关22提供控制信号,该控制信号确定滤波“强度”和要编码哪一个未压缩视频流。滤波强度可实现为不同的滤波级别或者可以是连续的。当滤波后的未压缩视频流没有被精细压缩编码器24选择来编码时,自适应预滤波器20可以切断或者被设为最小滤波的低强度。
通过在输入处使用简单编码器/解码器12/14,而不是精细编码器/解码器,实现成本被减少为接近单通路精细编解码器的成本。然而,关于超前查看窗口模块18中图像的复杂度估计的信息并不恰好是精细压缩编码器24所期望的信息。例如,如果P型图像对应的初始图像是在光线关/开/关的转换期间内记录的,则该P型图像在简单(MPEG2)压缩编码中需要高比特率以用于运动补偿。另一方面,该P型图像对于精细(H.264)编码器而言,可能是简单的图像。抛开这点不足不谈,可以基于简单和精细压缩标准,求出图像复杂度估计的相关性。大多数情况下,对于简单压缩标准而言相对复杂/简单的一个图像或一组图像(GOP)对于精细压缩编码器24来说也相对复杂/简单。复杂度统计信息仍然指示了在错误可容忍的情况下图像和宏块(MB)之间的重要关系。因此与单通路精细编码相比,伪双通路精细编码在视频编码效率上更为优越,而在实现成本上只相对略高。
图像复杂度的统计信息被用于:
——在第二通路编码前,对于当前图像估计比特率目标并选择宏块的量化台阶大小;以及
——在第二通路编码前,对于包括当前图像在内的当前GOP,控制自适应预滤波器20的强度。
可获得用来计算比特分配的统计信息量向压缩编码器24提供的越多,编码器/码转换器的视频质量性能就越强。因此,存储和延迟模块16存储了多个未压缩图像。未压缩视频流的每个图像最终都会被精细压缩编码器24编码为I、P或B型图像。给定未压缩图像被编码成的图像类型(I、P或B)是基于提供给超前查看窗口模块18的统计信息。因此,即使存储在模块16中的图像未被编码,也可以方便地将这些图像称为I、P或B型图像。模块16存储的图像数受限于存储器大小和允许的最大延迟。希望获得对应于输入视频信号的至少两个GOP的存储长度。为了描述的目的,假定存储和延迟模块被设计包含两个标准GOP,每个GOP有15个图像。
超前查看窗口模块18基于接收到的统计信息,设置正被编码的当前图像的比特率目标,统计信息包括图像类型(I、P或B)、图像大小(单位为字节)和图像级别的平均量化台阶大小。
编码时的图像复杂度对于两个不同的压缩标准来说是不相同的。如果P型图像对应的初始图像是在光线关/开/关的转换期间内记录的,则该P型图像在MPEG2中可能是复杂的,并且需要高比特率以用于运动补偿。另一方面,该P型图像对于H.264编码器而言,可能是简单的图像,其中,H.264编码器能够从最多6个参考图像中选择一个以用于运动预测,并且其中一个参考图像可能与该P型图像最为相关,如上所述。
除了设置比特率目标外,超前查看窗口模块18所获得的图像复杂度的统计信息也可用于生成自适应预滤波器20的控制信号,以控制低通滤波的强度。如果速率控制信息指示当前图像是需要更高比特率来编码的较难图像,则自适应预滤波器20的强度可以增大,从而使得图像被重度低通滤波,即,变得更柔性且更容易编码。精细压缩编码器24使用开关22,来基于速率控制信息和精细压缩编码器24的虚拟缓冲器的充满度,选择从存储和延迟模块16输出的延迟的未压缩视频信号或者由自适应预滤波器20输出的滤波后的视频信号。例如,如果虚拟缓冲器接近充满并且速率信息指示编码的当前图像需要比虚拟缓冲器中可获得的更多的比特,则预滤波量增大从而使得虚拟缓冲器不发生上溢,并且滤波后的未压缩视频就是要编码的视频信号。如果没有虚拟缓冲器上溢的危险,则当前图像被轻度滤波或根本不滤波。在后者的情况下,来自存储和延迟模块16的未压缩视频信号被用作编码输入。然而,在GOP内频繁突然地改变滤波强度和/或在未压缩视频信号与滤波后的未压缩视频信号之间切换可导致补偿P和B图像的残留信号的动作。这可以通过在GOP内控制预滤波器20来避免。如果一个图像被滤波,则使用其作为参考的任何其他图像也应当被滤波,且滤波强度至少与该图像的滤波强度相同。
作为说明,所使用的速率控制算法是基于测试模型5(TM5)规范的。TM5采用复杂度量度来为每个图像分配目标比特,然后基于虚拟缓冲器的充满度设置每个MB的量化参数。在码转换器配置中,可以经由解码器12从编码后的压缩视频流中获得关于输入视频信号的所有信息,特别是关于输入内容复杂度的统计信息。在编码器配置中,可以经由简单编码器14从未压缩视频流中获得关于输入视频信号的所有信息,特别是关于输入内容复杂度的统计信息。速率控制算法包括两部分:
1.采用“过去”(past)统计信息进行复杂度预测。
2.采用“将来”(future)统计信息进行比特分配。
这两个过程都是自适应的,并且在对每个图像编码后,维护过去滑动窗口和将来滑动窗口以更新统计信息。注意过去滑动窗口位于超前查看窗口18中,将来滑动窗口位于精细压缩编码器24中。与使用按照GOP递增的滑动窗口的现有应用相反,本发明的滑动窗口是基于图像的,并且在对每个图像编码后向前移动。
速率控制算法有四步:(a)统计信息提取;(b)复杂度预测;(c)比特分配;和(d)统计信息更新。
(a)统计信息提取
当将MPEG2可变比特率(VBR)流进行码转换为H.264恒定比特率(CBR)流或者将未压缩视频流编码为H.264CBR流时,收集以下信息:
1.每个图像的平均量化参数(量化台阶大小)。
2.每个图像的输出比特。
3.每个图像的图像类型(I、P、B)。
第1和第2项用于计算输入视频的复杂度,而第3项记录了精细压缩编码器24所使用的图像类型。
(b)复杂度预测
复杂度预测就是从现有的简单/精细(MPEG2/H.264)复杂度比和当前图像的输入复杂度预测出当前图像的复杂度。在TM5中,当前图像的复杂度通过先前相同类型的图像来预测。在本发明的实施例中,当前图像的复杂度基于过去窗口中所有的相同类型图像的复杂度来预测。然而,由于统计信息是基于简单编码格式的,因此引入了比例因子(这里称为转换因子)的形式作为对算法的调整,来考虑两个标准和/或两个比特率的混合之间的区别。转换因子被计算作为先前简单/精细比的平均值,并且在对每个图像编码后,更新该转换因子。由于不同图像类型的不同属性,因此对于每个图像类型,独立计算转换因子。
复杂度预测算法有两步:
1.通过对先前转换因子取平均,计算当前图像的当前转换因子。
在要编码/码转换的视频序列的开始,有三个转换因子的初始值,分别对应于三个图像类型(I、P、B)。过去滑动窗口上的平均转换因子通常优于只是一个图像的转换因子,并且考虑到了已被精细编码器24编码且在过去窗口内的图像。
GOP可被描述为包含NI个I型图像、NP个P型图像和NB个B型图像。如上所述,对于标准GOP:
N=15
M=3
NI=1
NP=(N/M)-NI=(15/3)-1=4
NB=N-NI-NP=15-1-4=10
存储和延迟模块16包含W个GOP。对于本讨论,假定模块16被设计为存储2个标准GOP。WI、WP和WB分别代表存储和延迟模块16中的I、P和B型图像的总数。
WI=WNI=2*(1)=2
WP=W(NP)=2*(4)=8
WB=W(NB)=2*(10)=20
未压缩视频流中图像的转换因子Tcur是通过对先前相同类型(I、P或B)的Wtype个图像的转换因子取平均计算得到的,被取平均的先前的转换因子数等于存储和延迟模块16中该型图像的总数(WI、WP、WB)。
T Icur = ( 1 / W I ) Σ i = j - w I + 1 → j T I ( j ) = ( 1 / 2 ) Σ i = j - 1 → j T I ( j )
T Pcur = ( 1 / W P ) Σ i = j - w P + 1 → j T B ( j ) = ( 1 / 8 ) Σ i = j - 7 → j T P ( j )
T Bcur = ( 1 / W B ) Σ i = j - w B + 1 → j T B ( j ) = ( 1 / 20 ) Σ i = j - 19 → j T B ( j )
其中,j是当前图像的图像数目。
对于如上所述包含两个标准GOP的存储和延迟模块16,分别对I、P或B型图像取2个、8个或20个先前转换因子的平均。
2.预测当前图像的复杂度
对于I和P型图像,接着使用更新的转换因子(Tcur)近似地依比例决定简单复杂度因子,来从当前图像的简单(或MPEG2)复杂度(XI2、XP2或XB2)预测出图像的精细(或MPEG4)复杂度(XI4、XP4或XB4)。B型图像的转换因子由加权因子(KB4)进一步调整,以考虑不同图像类型的不同质量要求。该加权因子依经验确定,并且是当前GOP的I型简单复杂度和GOP的B型图像的平均简单复杂度比的函数。
XI4=XI2/TIcur
XP4=XP2/TPcur
XB4=XB2/(TBcur*KB4)
对于预测较好的序列(即,没有快速运动的序列)来说KB4较大,对于具有快速运动的序列来说KB4较小。在对每个GOP编码后,根据比值XI/XB自适应地设定KB4,其中XI和XB是当前GOP内所有I和B图像的平均简单复杂度。
表1  依经验确定的KB4
 
    X<sub>I</sub>/X<sub>B</sub>     K<sub>B4</sub>
    >5.0     1.35
    2.0-5.0     1.2
    <2.0     1.1
原理上,P型图像的精细复杂度XP4也可由加权因子(KP4)来调整,但是已发现实践上无此必要。
c)比特分配
比特分配可以基于GOP层和图像层。图像层打破了GOP的界限,并且比GOP层执行的更好。这对于视频信号中的场景变化尤其有效。比特分配有两步。
1.分配当前(第k个)图像的目标比特
对于当前在滑动超前查看窗口中参考的所有图像来说,目标大小(TW,单位比特)是基于窗口中的图像数(WF)、恒定比特率(R,单位比特每秒)和图像率(F,单位图像每秒)来计算得到的。
TW=WF(R/F)
然后,通过将TW乘上当前图像的复杂度因子与滑动的超前查看窗口中所有图像的复杂度因子之比,计算要分配给第k个图像的目标比特数(B4_tar(k))。
B 4 _ tar ( k ) = T W * ( X 4 ( k ) / &Sigma; i = 0 &RightArrow; W F - 1 X 4 ( k + i ) )
该计算基本上确定了应当用于当前图像的目标大小(TW)的比例。在通过复杂编码算法编码时的当前图像大小不允许大于在通过简单压缩算法编码时的当前图像大小(B2(k))。从而,在编码时当前图像的大小被钳制在B2(k)。如果B4_tar(k)不超过B2(k),则第k个图像的目标比特数仍然是B4_tar(k)。然而,已知的是当编码实际发生时,更小的数B2(k)是所使用比特的上限。从而,在目标窗口中有已知的比特盈余。因此修改目标窗口大小以考虑附加比特。
TW(k+1)=TW(k)+B4_tar(k)-B2(k)
2.自适应量化和编码(TM5)
在对MBj编码前,分别计算I、P、B的虚拟缓冲器的充满度:
dj=d0+Bj-1-(T*(j-1))/MB_cnt
其中,Bj是通过对图像中直到且包括j的所有MB编码所生成的比特数,MB_cnt是图像中的MB数,T是每图像的恒定比特率(CBR),d0是虚拟缓冲器的初始充满度,dj是在MBj时的虚拟缓冲器充满度。然后计算MBj的参考量化参数Qj
Qj=dj*51/r
其中反应参数r为
r=2*R/F
自适应量化:
使用初始像素值从以四个亮度图像组织的子块(n=1...4)和以四个亮度场组织的子块(n=5...8)中计算MBj的空间活动性。
actj=1+min(vblk1,vblk2,...,vblk8)
其中,
vblkn=(1/64)*∑k=1→64(Pk n-P_meann)2
并且
P_meann=(1/64)*∑k=1→64Pk n
其中P是像素灰度级。
然后归一化actj
N_actj=((2*actj)+avg_act)/(actj+(2*avg_act))
其中avg_act是要编码的最后一个图像的actj的平均值。然后将mquantj调整为:
mquantj=Qj*N_actj
mquantj的最终值落在范围[1...51]内,并且用于量化。差量QP应当落在[-26,26]内,如H.264语义所定义。然后以mquanti对一个MB编码并重复这个步骤,直到当前图像的所有MB都已被编码。
(d)对刚编码的图像更新图像复杂度和转换因子
更新刚编码的图像的图像复杂度和转换因子,并存储在滑动的过去窗口中,以用于将来的图像。
1.转换因子被定义为对应的简单和精细压缩标准图像的“全局复杂度量度”之比。
TI[current_picture_SN]=XI2/XI4
TP[current_picture_SN]=XP2/XP4
TB[current_picture_SN]=XB2/XB4
其中XI4、XP4和XB4代表输出的精细压缩标准(H.264)流的I、P、B图像的复杂度量度:
XI4=SI4QI4
XP4=SP4QP4
XB4=SB4QB4
并且SI4、SP4、SB4、QI4、QP4和QB4的定义对应于简单压缩标准(MPEG2)下相应量的定义。
2.由于图像的比特目标(B4_tar)是超前查看窗口的目标大小的函数,因此我们在第k个图像被编码后,对第(k+1)个图像调整超前查看窗口的目标大小TW,以计入第k个图像的实际编码大小S(k)和平均编码图像大小R/F之间的任何差异,其中R是恒定比特率,F是帧速率。
TW(k+1)=TW(k)+R/F-S(k)
进行该调整的目的是维护虚拟缓冲器充满度的合适水平,并且该调整使得TW(k+1)成为超前查看窗口的更合理的目标大小,以计算第(k+1)个图像的比特目标。如果输入序列不是无限长的话,则在序列的末尾超前查看窗口大小WF和目标大小TW都减小。在对每个图像编码后,更新转换因子TI、TP或TB,并且还更新将来滑动窗口中所有的预测复杂度值。
如图3所示,用于确定要编码的当前图像的复杂度的转换因子是基于过去窗口中相同图像类型的转换因子的平均值,而当前图像的比特分配是基于超前查看窗口中全部图像的复杂度。在对每个图像编码后,接着确定实际的精细标准复杂度,并使其移入到过去窗口中,同时移出最旧的一个。随着要编码的下一个图像变为当前图像,新图像的统计信息被载入到超前查看窗口中,以确定窗口的新复杂度。
因而,本发明提供了利用基于图像的滑动窗口的速率控制,以简化从简单压缩标准到精细压缩标准的码转换/编码,通过以下步骤来实现这一速率控制:使用简单压缩标准提取视频信号的统计信息,使用提取的统计信息和虚拟缓冲器的充满度来控制未压缩视频信号的低通预滤波器,并且使用转换因子,利用滑动窗口逐个图像地对滤波后的或未滤波的未压缩视频信号进行编码,然后更新每个图像的转换因子和滑动窗口,其中转换因子是简单和精细压缩生成的标准图像的全局复杂度量度比。
应当意识到,本发明并不限于所描述的具体实施例,并且可以对其进行变化,而不脱离所附权利要求和其等同物中所定义的本发明的范围。除非上下文指出,否则权利要求中对一定数目的要件实例的引用(假如是对一个实例或一个以上实例的引用)至少要求所声明的要件实例数,但是也并不是要将比所声明的具有更多要件实例的结构或方法排斥在权利要求的范围之外。

Claims (38)

1.一种对未压缩数字视频序列的图像进行编码的方法,每个图像都有一个复杂度水平,所述方法包括:
以第一算法分析所述未压缩数字视频序列的第一图像,以测量所述第一图像的复杂度的第一个值,并指定所述第一图像的图像类型,
使用测得的第一个值作为参数来估计所述第一图像的复杂度的第二个值,以及
采用所述第一图像的复杂度的所述第二个值和所述第一图像的图像类型作为参数,以相异的第二算法对所述第一图像进行编码,其中所述第一算法是简单算法,所述第二算法是精细算法,并且所述第二算法比所述第一算法更复杂。
2.如权利要求1所述的方法,还包括存储所述第一图像的图像类型。
3.如权利要求1或2所述的方法,包括:在以所述第二算法对所述第一图像进行编码之前,
以所述第二算法生成过去图像的编码版本,所述过去图像的编码版本有一个大小,以及
估计将来图像的复杂度的值,
其中,以所述第二算法对所述第一图像进行编码的步骤还包括:
使用所述过去图像的编码版本的大小和所述将来图像的复杂度的估计值作为参数,确定所述第一图像的目标大小,以及
采用所述第一图像的目标大小作为参数,以所述第二算法对所述第一图像进行编码。
4.如权利要求3所述的方法,其中,所述的以所述第二算法对所述第一图像进行编码的步骤产生所述第一图像的编码版本,并且所述的确定所述第一图像的目标大小的步骤包括预测所述第一图像的编码版本的大小。
5.如权利要求2所述的方法,还包括:
以所述第二算法分析所述第一图像,以测量所述第一图像的复杂度的第三个值,
通过将所述第一图像的复杂度的第一个值除以所述第一图像的复杂度的第三个值,来计算所述第一图像的复杂度比,以及
存储所述第一图像的复杂度比。
6.如权利要求1所述的方法,其中,所述第一图像后跟有所述未压缩数字视频序列的多个图像,并且所述方法还包括:
以所述第一算法分析所述未压缩数字视频序列的多个图像中的每一个图像,以测量每个图像的复杂度的第一个值,并指定每个图像的图像类型,
使用每个图像的复杂度的第一个值作为参数,估计每个图像的复杂度的第二个值,以及
采用每个图像的复杂度的第二个值和图像类型作为参数,以所述第二算法对所述多个图像中的每一个图像进行编码。
7.如权利要求6所述的方法,还包括:
以所述第二算法分析所述多个图像中的每一个图像,以测量每个图像的复杂度的第三个值,
通过将所述每个图像的复杂度的第一个值除以所述每个图像的复杂度的第三个值来计算所述多个图像中的每一个图像的复杂度比,以及
存储所述多个图像中每一个图像的图像类型和复杂度比。
8.如权利要求7所述的方法,其中,所述多个图像后跟有第二图像,并且所述方法还包括:
以所述第一算法分析所述第二图像,以测量第二图像的复杂度的第一个值,并指定所述第二图像的图像类型,
使用所述第二图像的复杂度的第一个值作为参数,估计所述第二图像的复杂度的第二个值,以及
采用所述第二图像的复杂度的第二个值和所述第二图像的图像类型作为参数,以所述第二算法对所述第二图像进行编码。
9.如权利要求8所述的方法,包括通过将所述第二图像的复杂度的第一个值除以转换因子,来估计所述第二图像的复杂度的第二个值,其中所述转换因子是简单压缩标准的全局复杂度量度相对于精细压缩标准的全局复杂度量度之比。
10.如权利要求9所述的方法,包括通过对与所述多个图像的子集相关联的所存储的复杂度比取平均,来计算所述第二图像的转换因子,所述子集是已被所述第二算法编码并且与所述第二图像具有相同图像类型的图像。
11.如权利要求10所述的方法,还包括:
以所述第二算法分析所述第二图像,以测量所述第二图像的复杂度的第三个值,以及
存储所述第二图像的图像类型和复杂度比。
12.如权利要求1所述的方法,其中,所述估计所述第一图像的复杂度的第二个值的步骤包括基于所述第一图像的图像类型,将所述第一图像的复杂度的第一个值除以一个缺省值。
13.如权利要求1所述的方法,还包括:
接收所述第一图像的未滤波版本,
在以所述第二算法对所述第一图像进行编码之前,创建所述第一图像的滤波版本,以及
选择所述第一图像的未滤波版本或滤波版本,以由所述第二算法来编码。
14.一种对压缩数字视频序列的图像进行码转换的方法,其中每个图像根据第一编码算法被编码,并且具有一个复杂度水平,所述方法包括:
以第一解码算法来解码所述压缩数字视频序列的第一图像,以产生所述第一图像的解码版本,测量所述第一图像的复杂度的第一个值,并确定所述第一图像的图像类型,
使用所述第一个值作为参数,估计所述第一图像的复杂度的第二个值,以及
采用所述第一图像的复杂度的所述第二个值和所述第一图像的图像类型作为参数,以相异的第二编码算法对所述第一图像的解码版本进行编码,其中所述第一编码算法是简单算法,所述第二编码算法是精细算法,并且所述第二编码算法比所述第一编码算法更复杂。
15.如权利要求14所述的方法,还包括:
以所述第二编码算法分析所述第一图像的解码版本,以测量所述第一图像的复杂度的第三个值,
通过将所述第一图像的复杂度的第一个值除以所述第一图像的复杂度的第三个值来计算所述第一图像的复杂度比,以及
存储所述第一图像的图像类型和复杂度比。
16.如权利要求14或15所述的方法,包括:在以所述第二编码算法对所述第一图像的解码版本进行编码之前,
以所述第二编码算法生成过去图像的编码版本,所述过去图像的编码版本有一个大小,以及
估计将来图像的复杂度的值,
其中,以所述第二编码算法对所述第一图像的解码版本进行编码的步骤还包括:
使用所述过去图像的编码版本的大小和所述将来图像的复杂度的估计值作为参数,确定所述第一图像的编码版本的目标大小,以及
采用所述第一图像的编码版本的目标大小作为参数,以所述第二编码算法对所述第一图像的解码版本进行编码。
17.如权利要求16所述的方法,其中,所述的以所述第二编码算法对所述第一图像的解码版本进行编码的步骤产生所述第一图像的编码版本,并且所述的确定所述第一图像的编码版本的目标大小的步骤包括预测所述第一图像的所述编码版本的大小。
18.如权利要求14所述的方法,其中,所述第一图像后跟有所述压缩数字视频序列的多个图像,并且所述方法还包括:
以所述第一解码算法分析所述压缩数字视频序列的多个图像中的每一个图像,以产生每个图像的解码版本,测量每个图像的复杂度的第一个值,并确定每个图像的图像类型,
使用每个图像的第一个值作为参数,估计每个图像的复杂度的第二个值,以及
采用每个图像的所述第二个值和图像类型作为参数,以所述第二编码算法对所述多个图像中的每一个图像的解码版本进行编码。
19.如权利要求18所述的方法,还包括:
以所述第二编码算法分析所述多个图像中的每一个图像的解码版本,以测量每一个图像的复杂度的第三个值,
通过将所述每个图像的复杂度的第一个值除以所述每一个图像的复杂度的第三个值来计算每一个图像的复杂度比,以及
存储所述多个图像中每一个图像的图像类型和复杂度比。
20.如权利要求19所述的方法,其中,所述多个图像后跟有第二图像,并且所述方法还包括:
以所述第一解码算法分析所述第二图像,以产生所述第二图像的解码版本,测量所述第二图像的复杂度的第一个值,并确定所述第二图像的图像类型,
使用所述第二图像的复杂度的第一个值作为参数,估计所述第二图像的复杂度的第二个值,以及
采用所述第二图像的复杂度的第二个值和所述第二图像的图像类型作为参数,以所述第二编码算法对所述第二图像的解码版本进行编码。
21.如权利要求20所述的方法,包括通过将所述第二图像的复杂度的第一个值除以转换因子,来估计所述第二图像的复杂度的第二个值,其中所述转换因子是简单压缩标准的全局复杂度量度相对于精细压缩标准的全局复杂度量度之比。
22.如权利要求21所述的方法,包括通过对与所述多个图像的子集相关联的所存储的复杂度比取平均,来计算所述第二图像的转换因子,所述子集是已被所述第二编码算法编码并且与所述第二图像具有相同图像类型的图像。
23.如权利要求22所述的方法,还包括:
以所述第二编码算法分析所述第二图像的解码版本,以测量所述第二图像的复杂度的第三个值,以及
存储所述第二图像的图像类型和复杂度比。
24.如权利要求14所述的方法,其中,所述的估计所述第一图像的第二个值的步骤包括基于所述第一图像的图像类型,将所述第一个值除以一个缺省值。
25.如权利要求14所述的方法,还包括:
在以所述第二编码算法对所述第一图像的解码版本进行编码之前,从所述第一图像的未滤波、未压缩版本创建所述第一图像的滤波版本,以及
选择所述第一图像的未滤波版本或滤波版本,以由所述第二编码算法来编码。
26.一种用于对由一连串图像组成的未压缩数字视频输入序列进行编码的装置,其中每个图像具有与其相关联的多个特性,所述装置包括:
提取装置,用于接收所述未压缩数字视频输入序列的所述一连串图像,并且提供所述输入序列的图像的多个特性的测量值,并给所述图像指定图像类型,
延迟装置,用于接收所述输入序列的所述一连串图像,并相对于所述输入序列的图像以延迟方式输出所述图像,
值存储装置,用于存储所述延迟装置中的图像的测量值和图像类型,以及
第一编码装置,用于从所述延迟装置接收图像并对所述图像进行编码,所述第一编码装置响应于存储在所述值存储装置中的测量值,以调整所述图像的编码版本的大小,
其中,所述第一编码装置按第一编码方法对所述图像进行编码,并且所述提取装置包括用于按与所述第一编码方法不同的第二编码方法对所述图像进行编码的第二编码装置。
27.如权利要求26所述的装置,其中所述值存储装置还包括用于操作图像的第一特性的测量值以导出所述图像的第二特性的估计值的装置。
28.如权利要求27所述的装置,其中,所述第一编码装置接收所述图像类型、所述第一特性的测量值和所述第二特性的估计值,并且使用所述图像类型、所述第一特性的测量值和所述第二特性的估计值作为参数,来创建所述图像的编码版本。
29.如权利要求26、27或28所述的装置,其中,所述值存储装置将确定所述延迟装置中图像的编码版本的大小的预测值,并且其中,所述第一编码装置响应于所述预测值,调整从所述延迟装置接收的图像的编码版本的大小。
30.如权利要求26、27或28所述的装置,其中,所述第一编码装置还包括用于测量图像的复杂度的值的装置、用于存储所测量的复杂度值的装置和用于存储图像的编码版本的大小的装置。
31.如权利要求26、27或28所述的装置,还包括:
滤波装置,用于从所述延迟装置接收未滤波的图像并创建滤波后的图像,以及
开关装置,用于从所述延迟装置接收所述未滤波的图像,从所述滤波装置接收所述滤波后的图像,并且选择性地将所述未滤波的图像或所述滤波后的图像传输到所述第一编码装置。
32.如权利要求31所述的装置,其中,所述开关装置响应于所述第一编码装置来选择所述未滤波的图像或所述滤波后的图像以传输到所述第一编码装置。
33.一种用于对由一连串已编码图像组成的压缩数字视频输入序列进行码转换的装置,其中每个已编码图像具有与其相关联的多个特性,所述装置包括:
解码装置,用于接收所述压缩数字视频输入序列的所述一连串已编码图像,并且采用与第一编码方法相对应的第一解码方法来获得一连串解码图像和解码图像的多个特性的测量值,并给所述解码图像中的每一个图像指定图像类型,
延迟装置,用于接收所述输入序列的所述一连串解码图像,并相对于所述输入序列的已编码图像以延迟方式输出所述解码图像,
值存储装置,用于存储所述延迟装置中的解码图像的测量值和图像类型,以及
编码装置,用于从所述延迟装置接收解码图像并利用与与所述第一编码方法不同的第二视频编码方法对所述解码图像进行编码,所述编码装置响应于存储在所述值存储装置中的测量值,来调整所述解码图像的编码版本的大小,
其中,所述值存储装置包括用于操作解码图像的第一特性的测量值以导出所述解码图像的第二特性的估计值的装置。
34.如权利要求33所述的装置,其中,所述编码装置接收解码图像,以及所述图像类型、所述第一特性的测量值和所述第二特性的估计值,并且使用所述图像类型、所述测量值和所述估计值作为参数,以创建所述解码图像的编码版本。
35.如权利要求33或34所述的装置,其中,所述值存储装置将确定所述延迟装置中解码图像的编码版本的大小的预测值,并且其中,所述编码装置响应于所述预测值,调整从所述延迟装置接收的解码图像的编码版本的大小。
36.如权利要求33所述的装置,其中,所述编码装置包括用于测量解码图像的复杂度的值的装置、用于存储所测量的复杂度值的装置和用于存储解码图像的编码版本的大小的装置。
37.如权利要求33或34所述的装置,还包括:
滤波装置,用于从所述延迟装置接收未滤波的解码图像并创建滤波后的图像,以及
开关装置,用于从所述延迟装置接收所述未滤波的解码图像,从所述滤波装置接收所述滤波后的图像,并且选择性地将所述未滤波的解码图像或所述滤波后的图像传输到所述编码装置。
38.如权利要求37所述的装置,其中,所述开关装置响应于所述编码装置来选择所述未滤波的解码图像或所述滤波后的图像以传输到所述编码装置。
CN2003801057469A 2002-12-10 2003-12-09 用于对未压缩数字视频序列的图像进行编码的方法和装置 Expired - Fee Related CN1726709B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/316,483 US7099389B1 (en) 2002-12-10 2002-12-10 Rate control with picture-based lookahead window
US10/316,483 2002-12-10
PCT/US2003/039184 WO2004054158A2 (en) 2002-12-10 2003-12-09 Rate control with picture-based lookahead window

Publications (2)

Publication Number Publication Date
CN1726709A CN1726709A (zh) 2006-01-25
CN1726709B true CN1726709B (zh) 2010-09-29

Family

ID=32505954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2003801057469A Expired - Fee Related CN1726709B (zh) 2002-12-10 2003-12-09 用于对未压缩数字视频序列的图像进行编码的方法和装置

Country Status (9)

Country Link
US (1) US7099389B1 (zh)
EP (1) EP1588557A4 (zh)
JP (1) JP4434959B2 (zh)
KR (1) KR101012600B1 (zh)
CN (1) CN1726709B (zh)
AU (1) AU2003296418B2 (zh)
CA (1) CA2507503C (zh)
NZ (1) NZ540501A (zh)
WO (1) WO2004054158A2 (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8054880B2 (en) * 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
FR2851111B1 (fr) * 2003-02-10 2005-07-22 Nextream France Dispositif de codage d'un flux de donnees video
CN101390296A (zh) * 2003-06-26 2009-03-18 汤姆森特许公司 多通路视频速率控制以匹配滑动窗口信道限制
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US8218624B2 (en) 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7330509B2 (en) * 2003-09-12 2008-02-12 International Business Machines Corporation Method for video transcoding with adaptive frame rate control
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US7535959B2 (en) * 2003-10-16 2009-05-19 Nvidia Corporation Apparatus, system, and method for video encoder rate control
US7580461B2 (en) * 2004-02-27 2009-08-25 Microsoft Corporation Barbell lifting for wavelet coding
JP2005294977A (ja) * 2004-03-31 2005-10-20 Ulead Systems Inc スライドウィンドウ(slidingwindow)を用いた2パスビデオエンコーディング方法とシステム
US7801383B2 (en) 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
WO2006093306A1 (ja) * 2005-03-03 2006-09-08 Pioneer Corporation 画像符号化方式変換装置及び方法
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
US8625914B2 (en) 2013-02-04 2014-01-07 Sony Corporation Image processing system, image processing method and program
JP4784188B2 (ja) * 2005-07-25 2011-10-05 ソニー株式会社 画像処理装置、画像処理方法およびプログラム
US7903733B2 (en) 2006-01-26 2011-03-08 Qualcomm Incorporated Adaptive filtering to enhance video encoder performance
US8009963B2 (en) * 2006-01-26 2011-08-30 Qualcomm Incorporated Adaptive filtering to enhance video bit-rate control performance
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US9332274B2 (en) * 2006-07-07 2016-05-03 Microsoft Technology Licensing, Llc Spatially scalable video coding
KR100837410B1 (ko) 2006-11-30 2008-06-12 삼성전자주식회사 주관적인 무손실 이미지 데이터 압축 방법 및 장치
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US20080198932A1 (en) * 2007-02-21 2008-08-21 Nucore Technology Inc. Complexity-based rate control using adaptive prefilter
JP2008206060A (ja) * 2007-02-22 2008-09-04 Sony Corp 記録装置および方法、並びにプログラム
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
EP2301251A4 (en) * 2008-06-25 2012-12-26 Ericsson Telefon Ab L M LINES EVALUATION-RATE CONTROL
US9407925B2 (en) 2008-10-30 2016-08-02 Vixs Systems, Inc. Video transcoding system with quality readjustment based on high scene cost detection and method for use therewith
JP2010187337A (ja) * 2009-02-13 2010-08-26 Toshiba Corp 動画像変換装置及び動画像変換方法
JP4746691B2 (ja) * 2009-07-02 2011-08-10 株式会社東芝 動画像符号化装置および動画像符号化方法
WO2011075160A1 (en) * 2009-12-14 2011-06-23 Thomson Licensing Statistical multiplexing method for broadcasting
WO2011138900A1 (ja) 2010-05-06 2011-11-10 日本電信電話株式会社 映像符号化制御方法および装置
RU2530313C2 (ru) 2010-05-07 2014-10-10 Ниппон Телеграф Энд Телефон Корпорейшн Способ управления кодированием видео, устройство кодирования видео и программа кодирования видео
US9179149B2 (en) 2010-05-12 2015-11-03 Nippon Telegraph And Telephone Corporation Video encoding control method, video encoding apparatus, and video encoding program
US20110310955A1 (en) * 2010-06-22 2011-12-22 Lei Zhang Method and system for repetition based adaptive video compression
US8885729B2 (en) 2010-12-13 2014-11-11 Microsoft Corporation Low-latency video decoding
US9706214B2 (en) 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
AU2012209231B2 (en) 2011-01-28 2016-09-22 Eye IO, LLC Color conversion based on an hvs model
KR20140019335A (ko) 2011-01-28 2014-02-14 아이 이오, 엘엘씨 장면 타입에 기초한 비디오 스트림 인코딩
CA2825929A1 (en) * 2011-01-28 2012-08-02 Eye IO, LLC Adaptive bit rate control based on scenes
US10298939B2 (en) 2011-06-22 2019-05-21 Qualcomm Incorporated Quantization in video coding
CA2840427C (en) 2011-06-30 2018-03-06 Microsoft Corporation Reducing latency in video encoding and decoding
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
US9094684B2 (en) 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
CN105519108B (zh) * 2012-01-09 2019-11-29 华为技术有限公司 量化矩阵编码的加权预测方法和装置
US9183261B2 (en) 2012-12-28 2015-11-10 Shutterstock, Inc. Lexicon based systems and methods for intelligent media search
US9183215B2 (en) 2012-12-29 2015-11-10 Shutterstock, Inc. Mosaic display systems and methods for intelligent media search
WO2014146055A2 (en) * 2013-03-15 2014-09-18 Ning Lu Encoding of video data
CA2952823A1 (en) * 2014-06-25 2015-12-30 Arris Enterprises Llc A method for using a decoder or look-ahead encoder to control an adaptive pre-filter
US9860535B2 (en) * 2015-05-20 2018-01-02 Integrated Device Technology, Inc. Method for time-dependent visual quality encoding for broadcast services
KR20170017573A (ko) * 2015-08-07 2017-02-15 삼성전자주식회사 영상 데이터 처리 방법 및 이를 지원하는 전자 장치
KR101998303B1 (ko) * 2015-12-08 2019-10-01 네이버 주식회사 타임머신 기능을 위한 슬라이딩 윈도우 관리 방법 및 시스템
EP3939275A4 (en) * 2019-03-11 2022-06-22 Telefonaktiebolaget Lm Ericsson (Publ) VIDEO ENCODING WITH GOP-BASED TEMPORAL FILTRATION
CN110753242B (zh) * 2019-11-01 2021-10-12 深圳市梦网视讯有限公司 一种转码片源帧层量化参数调整方法和系统
CN116347080B (zh) * 2023-03-27 2023-10-31 苏州利博特信息科技有限公司 基于下采样处理的智能算法应用系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343247A (en) * 1991-08-02 1994-08-30 U.S. Philips Corporation Filter circuit for preprocessing a video signal to be coded
US5757434A (en) * 1993-11-30 1998-05-26 U.S. Philips Corporation Motion-compensated predictive encoder in which groups of pictures are each encoded with substantially the same number of bits
US5805224A (en) * 1995-02-15 1998-09-08 U.S. Philips Corporation Method and device for transcoding video signals
CN1205594A (zh) * 1997-05-30 1999-01-20 日本胜利株式会社 可变速率编码装置
CN1285691A (zh) * 1999-08-20 2001-02-28 三星电子株式会社 根据网络带宽自适应地控制数据传输速率的装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69815720T2 (de) * 1998-01-26 2004-05-13 Stmicroelectronics Asia Pacific Pte Ltd. Kodierung von bewegten bildern mit variabler bitrate in einem durchgang
US6181742B1 (en) * 1998-01-26 2001-01-30 International Business Machines Corporation Single pass target allocation for video encoding
US6310915B1 (en) * 1998-11-20 2001-10-30 Harmonic Inc. Video transcoder with bitstream look ahead for rate control and statistical multiplexing
KR100433516B1 (ko) * 2000-12-08 2004-05-31 삼성전자주식회사 트랜스코딩 방법
US7058127B2 (en) * 2000-12-27 2006-06-06 International Business Machines Corporation Method and system for video transcoding
US6961376B2 (en) * 2002-06-25 2005-11-01 General Instrument Corporation Methods and apparatus for rate control during dual pass encoding

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5343247A (en) * 1991-08-02 1994-08-30 U.S. Philips Corporation Filter circuit for preprocessing a video signal to be coded
US5757434A (en) * 1993-11-30 1998-05-26 U.S. Philips Corporation Motion-compensated predictive encoder in which groups of pictures are each encoded with substantially the same number of bits
US5805224A (en) * 1995-02-15 1998-09-08 U.S. Philips Corporation Method and device for transcoding video signals
CN1205594A (zh) * 1997-05-30 1999-01-20 日本胜利株式会社 可变速率编码装置
CN1285691A (zh) * 1999-08-20 2001-02-28 三星电子株式会社 根据网络带宽自适应地控制数据传输速率的装置

Also Published As

Publication number Publication date
AU2003296418B2 (en) 2008-10-23
WO2004054158A2 (en) 2004-06-24
EP1588557A2 (en) 2005-10-26
NZ540501A (en) 2006-06-30
AU2003296418A1 (en) 2004-06-30
CN1726709A (zh) 2006-01-25
US7099389B1 (en) 2006-08-29
JP4434959B2 (ja) 2010-03-17
EP1588557A4 (en) 2009-07-15
JP2006509444A (ja) 2006-03-16
WO2004054158A3 (en) 2004-12-16
KR101012600B1 (ko) 2011-02-10
KR20050085451A (ko) 2005-08-29
CA2507503C (en) 2011-06-28
CA2507503A1 (en) 2004-06-24

Similar Documents

Publication Publication Date Title
CN1726709B (zh) 用于对未压缩数字视频序列的图像进行编码的方法和装置
CN101743753B (zh) 利用视频编码中的帧复杂性、缓冲水平和内部帧位置的基于缓冲的速率控制
US5719632A (en) Motion video compression system with buffer empty/fill look-ahead bit allocation
US6522693B1 (en) System and method for reencoding segments of buffer constrained video streams
US6192154B1 (en) Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
CN101185337B (zh) 具有预见的准恒定质量速率控制
KR100610520B1 (ko) 비디오 데이터 부호화 장치, 비디오 데이터 부호화 방법, 비디오데이터 전송 장치 및 비디오 데이터 기록 매체
US6181742B1 (en) Single pass target allocation for video encoding
US20070263720A1 (en) System and method of adaptive rate control for a video encoder
CN108574841B (zh) 一种基于自适应量化参数的编码方法及装置
CN101164344A (zh) 感兴趣区域视频编码的内容自适应背景跳过
US20040234150A1 (en) Quantization matrix adjusting method for avoiding underflow of data
JPH08256335A (ja) 量子化パラメータ決定装置及び方法
GB2316564A (en) Adaptive quantizer for video signal transform encoding system
KR20180122354A (ko) 디스플레이 스트림 압축에서의 양자화 파라미터들의 적응적 계산을 위한 장치 및 방법들
JPH09200758A (ja) 画像符号化装置
US8780977B2 (en) Transcoder
JP3583432B2 (ja) 不足する資源を動的に割り当てるシステム
US7391916B2 (en) Quantization matrix adjusting method for quality improvement
Pan et al. Content adaptive frame skipping for low bit rate video coding
JP4755239B2 (ja) 映像符号量制御方法,映像符号化装置,映像符号量制御プログラムおよびその記録媒体
US7327892B2 (en) JPEG2000 encoder
KR20080077537A (ko) 저지연 영상 통신 시스템 및 방법

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
ASS Succession or assignment of patent right

Owner name: GENERAL INSTRUMENT CO.

Free format text: FORMER OWNER: TUT SYSTEMS INC.

Effective date: 20130917

Owner name: GENERAL INSTRUMENT HOLDING CO., LTD.

Free format text: FORMER OWNER: GENERAL INSTRUMENT CO.

Effective date: 20130917

Owner name: MOTOROLA MOBILITY LLC

Free format text: FORMER OWNER: GENERAL INSTRUMENT HOLDING CO., LTD.

Effective date: 20130917

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130917

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: California, USA

Patentee before: General instrument Holdings Ltd.

Effective date of registration: 20130917

Address after: California, USA

Patentee after: General instrument Holdings Ltd.

Address before: American Pennsylvania

Patentee before: GENERAL INSTRUMENT Corp.

Effective date of registration: 20130917

Address after: American Pennsylvania

Patentee after: GENERAL INSTRUMENT Corp.

Address before: American Oregon

Patentee before: Tut Systems, Inc.

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160708

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY LLC

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

Granted publication date: 20100929

Termination date: 20161209

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