CN101855910B - 视频压缩和传送技术 - Google Patents

视频压缩和传送技术 Download PDF

Info

Publication number
CN101855910B
CN101855910B CN200880115861.7A CN200880115861A CN101855910B CN 101855910 B CN101855910 B CN 101855910B CN 200880115861 A CN200880115861 A CN 200880115861A CN 101855910 B CN101855910 B CN 101855910B
Authority
CN
China
Prior art keywords
picture
coding
complexity
prediction
frame
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.)
Active
Application number
CN200880115861.7A
Other languages
English (en)
Other versions
CN101855910A (zh
Inventor
A·莱昂塔瑞斯
A·多拉佩斯
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.)
Dolby Laboratories Licensing Corp
Original Assignee
Dolby Laboratories Licensing Corp
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 Dolby Laboratories Licensing Corp filed Critical Dolby Laboratories Licensing Corp
Publication of CN101855910A publication Critical patent/CN101855910A/zh
Application granted granted Critical
Publication of CN101855910B publication Critical patent/CN101855910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/142Detection of scene cut or scene change
    • 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/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/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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
    • H04N19/615Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding using motion compensated temporal filtering [MCTF]
    • 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/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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/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

Abstract

实施例的特征是利用过去和将来帧/场图片统计的提前处理并且被设计为用一个或更多个编码道次操作的速率分配和速率控制方法的多个族。至少两个方法族包括:采用图片预见的速率分配的一族方法和用于平均位速率(ABR)控制方法的一族方法。各方法族的至少两个其它的方法被描述。对于第一族的方法,一些方法可包含内速率控制。对于第二族的方法,一些方法可包含高复杂性ABR控制和/或低复杂性ABR控制。这些和其它的实施例可包含以下方面中的任一个:空间编码参数调整、编码预测、复杂性处理、复杂性估计、复杂性过滤、位速率考虑、质量考虑、编码参数分配和/或分层预测结构等。

Description

视频压缩和传送技术
(对相关申请的交叉引用)
本申请要求在2007年9月28日提交的发明名称为“VIDEOCOMPRESSION AND TRANSMISSION TECHNIQUES”的美国临时申请No.60/976381的优先权,在此通过引用将其公开的内容并入。
技术领域
本公开涉及视频数据(诸如用于视频压缩、存储和/或传送系统的视频数据)的速率分配、速率控制和/或复杂性。
背景技术
速率分配和速率控制是现代视频压缩系统的完整的成分。速率分配是对于图片编码分配位目标(bit target)的功能。速率控制是在图片编码中实现位目标的机制。
压缩的位流能够通过速率控制满足由传送或目标介质施加的特定的带宽约束。速率控制算法可尝试改变对于各图片分配的位的数量,使得在通常维持良好的视觉质量的同时实现目标位速率。可以在各种配置中对压缩的视频位流中的图片进行编码。
例如,编码类型可包含预测内、预测间和双预测片断。
发明内容
这些和其它实施例可任选地包含以下的特征中的一个或更多个。一般地,在本公开中描述的主题的实现以一种用于估计图片的复杂性的方法为特征,该方法包括接收从运动补偿处理器或分析器、运动补偿器、空间处理器、滤波器或从由先前的编码道次(pass)产生的结果产生的图片的复杂性的量度。复杂性包含时间、空间或亮度特性。该方法包括通过确定图片是否与将来的或过去的图片相关并确定图片或图片的区域是否比不遮掩伪像的将来的或过去的图片或图片的区域更有效地遮掩(mask)伪像、估计图片的复杂性的量度。该方法的一些实现可使用编码统计(和/或图片的其它特性)以将图片的区域中的伪像的遮掩与图片的至少一个其它的区域、过去的图片的至少一个其它的区域或将来的图片的至少一个其它的区域相比较,或者,使用编码统计以将图片中的遮掩伪像与过去的图片或将来的图片相比较;然后通过使用编码统计估计复杂性的量度。这些特征的这些和其它的实现在可操作为导致数据处理装置执行用于估计图片的复杂性的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
一般地,在本公开中描述的主题的其它方面包含一种用于产生高质量编码视频的方法的实现。该方法包括:评定视频图片之间的复杂性信息,这里,复杂性信息包含时间、空间或亮度信息,并且,视频图片包含视频帧。该方法包括使用复杂性信息以确定帧类型并分析参数。参数包含用于场景变化、淡入、淡出、交叉衰落、局部照明变化、照相机摇摄或照相机变焦的参数。该方法还包括通过使用分析的参数过滤视频帧之间的统计量和/或复杂性,以去除界外值(outlier)并且/或者避免视频帧之间的编码参数和/或视频质量的突然波动。这些特征的这些和其它的实现在可操作为导致数据处理装置执行用于产生高质量编码视频的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
一般地,在本公开中描述的主题的其它方面包含一种估计图片的复杂性的方法的实现。该方法包括确定图片是否在分层(hierarchical)结构中被编码。分层结构包含多个图片级别和不同的图片级别上的位或编码参数。当确定图片被分配给一定的分层级别时,该方法包括基于图片的重要性将图片编码。编码包含控制图片的质量水平并且基于重要性改变图片的编码参数中的至少一个。这些特征的这些和其它的实现在可操作为导致数据处理装置执行用于估计图片的复杂性的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
一般地,在本公开中描述的主题的其它方面包含一种用于将视频数据编码的方法的实现。该方法包括在宏块的基础上将视频数据的参数编码,这里,编码包含虑及(account for)空间和时间统计的变化。该方法包括产生复杂性量度;确定复杂性量度的重要性;将复杂性量度映射到编码参数组;和使用复杂性量度以调整编码参数组,以通过使得视频数据中的图像区域在视频数据中较重要或较不重要来提高/增加视频数据的质量水平。这些特征的这些和其它的实现在可操作为导致数据处理装置执行与视频处理相关的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
一般地,在本公开中描述的主题的其它方面包含一种用于将图片编码的实现。该方法包括:接收当前的帧;对于当前的帧设定位速率目标和位的数量;和确定图片的复杂性。复杂性的确定包含并行地确定各复杂性的编码参数。复杂性的确定还包含在对于各复杂性确定编码参数之后,通过使用各复杂性将各图片编码,从编码的各图片选择最终编码图片,和通过使用最终编码图片选择更新复杂性。这些特征的这些和其它的实现在可操作为导致数据处理装置执行与视频处理相关的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
一般地,在本公开中描述的主题的其它方面包含一种用于视频的速率分配的方法的实现。该方法包括:接收用于图片预见(look-ahead)缓冲器的信息;和在第一编码道次中,执行速率分配,以设定图片的位目标。该速率分配包含利用图片预见缓冲器以确定图片的复杂性,并且,通过使用速率控制模型选择对于位目标的编码参数组。这些特征的这些和其它的实现在可操作为导致数据处理装置执行与视频处理相关的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
一般地,在本公开中描述的主题的其它方面包含一种用于视频编码的速率分配的方法的实现。该方法包括:对于图片初始化量子化(quantization)参数和剩余的位的数量;以及对于图片预见帧确定总复杂性。该方法还包括对于包含I编码图片、P编码图片或周期性I编码图片的图片确定片断类型。片断类型的确定包括:对于I编码图片,确定分配到交互编码的图片的位的数量,并且采用第一速率控制模型以使用量子化参数来将图片编码;对于P编码帧,确定对于预测性编码图片分配的位的数量,并且,通过使用量子化参数采用第二速率控制模型来将图片编码;和对于周期性I编码图片,使用先前的量子化参数以将图片编码。在片断类型被确定之后,方法包括对于所确定的片断类型将图片编码。这些特征的这些和其它的实现在可操作为导致数据处理装置执行与视频处理相关的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
一般地,在本公开中描述的主题的其它方面包含用于视频编码的方法的实现。该方法包括在视频系统中接收对于先前的图片的编码统计;和接收对于将来的图片的预见信息。该方法包括使用编码参数组以将当前的图片编码,这里,编码参数组包含编码参数。编码参数包含基本编码参数组和用于对于先前的图片和当前的图片实现目标位速率的修改量(modifier)。当前的和先前的图片包含用于调整图片质量和位速率分配的权重。该方法还包括调整权重以修改当前的和先前的图片的图片质量。图片质量依赖于量子化参数的速率因子,并且,权重的调整修改位速率分配。这些特征的这些和其它的实现在可操作为导致数据处理装置执行与视频处理相关的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
一般地,在本公开中描述的主题的其它方面包含一种用于速率控制的方法的实现。该方法包括初始化一组编码参数和速率因子的值、确定位目标、所使用的位的数量和编码参数修改量并确定对于位目标的速率因子。该方法还包括从零级以上的帧、零级处的预测编码帧、零级处的内编码帧和零级处的周期性内编码帧之中确定片断类型。该方法还包括选择所确定的片断类型。这些特征的这些和其它的实现在可操作为导致数据处理装置执行与视频处理相关的操作的相应的装置、系统和/或被编码在计算机可读介质上的计算机程序产品中。
本公开描述用于速率控制和速率分配的技术和系统。在一个方面,本公开给出用于视频编码的速率分配和速率控制的新颖的单道次和多道次算法。提出的速率控制算法可被设计为利用预见信息和/或过去的信息以执行速率分配和速率控制。通过编码器的一些轻量或低级的版本、先前的编码道次、通过将原始信号向下采样并以较低的分辨率处理它、或通过使用计算涉及输入信号的各种统计的运动补偿分析器或它们的组合,该信息可被道次到速率控制算法。可通过场景和图片统计的先进的估计和过滤进一步增强所述的速率控制算法。统计的估计和过滤可使用来自将来和过去的图片的信息。
如这里使用的那样,术语“片断”、“图片”和“帧”可被互换使用。图片可以例如处于帧或段区(field)编码模式,并且可通过使用可以为任意类型的多个片断或作为单一的片断将图片编码。一般地,即使在用不同类型的多个片断将图片编码的情况下,这里讨论的所有技术和方法也可被应用于各单个的片断。在大多数的方面中,图片可以是可限定帧或段区的一般的术语。段区可指的是“交错型”图片,而两个相对的奇偶段区(例如,顶部和底部段区)可构成帧(虽然,在该方案中,帧具有来自不同的时间间隔的奇数和偶数的线)。即使本公开主要讨论帧或帧图片,相同的技术也适用于段区(例如,顶部或底部)图片。
术语“算法”可指的是步骤、方法、工艺、方案、过程、操作、程序、指南(guidelines)、技术、次序和/或一组规则或指令。例如,算法可以是用于硬件和/或软件视频处理器的一组视频处理指令。可通过一个或更多个计算设备和/或机器(例如,在没有人交互作用的情况下)存储、产生和处理这些算法。公开的算法可与视频有关,并且,可在视频相关的系统和/或用于以任意的组合对于视频数据进行处理、压缩、存储、传送、接收、测试、校准、显示和/或任意的改善的任何装置、机器、硬件和/或制造物品中产生、实现、关联和/或采用这些公开的算法。
在一些方面中,本公开解决如何有效地对于特定的视频序列分配位。可通过针对如何计算对于各图片所需要的位的数量以及确信该图片将以将实现其位目标的方式被编码,完成这一点。
在一些实现中,算法可通过利用一些预见特征使得(such)它具有将来的图片的复杂性的一些事先的信息产生位目标,并且使用该信息以最终在包含整个图片的图片内分配位。当没有延迟约束时,可存在可在图片前面移动的预见窗口,并且,可以关于N个将来的图片获得信息。并且,为了实现目标位数,所公开的方案可以通过从先前的编码段中取得结果以迭代的方式使用位目标。预见窗口可使用来自运动补偿预先滤波器或先前的编码会话(session)的输入。在用于译码(transcode)的方面的不同的实施例中,通过使用各种可能的编码方案,视频输入可具有事先编码的视频,并且,预见窗口可直接从该位流使用输入。
本公开的多个部分描述可从过去和将来的帧/段区图片统计的事先处理受益并可被设计为用单一或多个编码道次操作的速率分配和速率控制算法的一个或更多个族。这些方案还可考虑可将一些编码延迟强行加入系统中的图片预见并从中受益。
一般地,至少两个算法族被引入和描述:(a)用于具有预见的速率分配的算法/处理的族;和(b)用于平均位速率(ABR)控制算法的算法/处理的族,该族也从预见受益但不像(a)中的算法那样依赖它。这里描述各算法族中的至少两个算法。对于算法的第一族,公开的两个算法至少在内速率控制上不同。对于算法的第二族,分别对于高复杂性ABR控制和低复杂性ABR控制,公开两种算法。后面的这两种算法至少关于速率因子确定不同。
描述算法可依赖于图片复杂性的一些量度的几种算法。然后,与用于复杂性处理和过滤的先进方法一起描述图片复杂性估计。并且,可通过次序统计的综合考虑,进一步增强诸如量子化器(QP)、拉格朗日乘数、阈值处理(thresholding)和量子化舍入(rounding)偏移和用于分层图片的速率分配的编码参数。并且,描述可为了增加的压缩增益在图片内改变视觉质量/分配位速率的算法。
第一族中的第一算法是可依赖于可使用将来图片的统计和复杂性量度的新颖的速率分配算法。第一族中的第一算法(例如,参见采用预见的速率分配部分-算法1)可产生用于各图片的位目标。该算法不必选择用于将图片编码的编码参数(例如,QP、拉格朗日乘数)。该选择可以是下层任意速率控制模式的任务,其以位目标为输入并且产生编码参数。可用于该任意的速率控制模型的算法可包含二次(quadratic)模型和ρ域(rho-domain)速率控制模型等。一般地,只要速率控制将位目标转变成相应的一组编码参数,该算法就可使用任意的速度控制。
在一些实现中,第一族中的算法可以不使用速率控制,但是可确定每个图片的位数,然后,任意的速率控制算法可被用于将位映射到诸如QP值的编码参数。编码参数可被拟合(fit)以实现希望的位速率目标。该算法的各方面可使用预见窗口和/或过去的窗口的复杂性以确定应向各图片分配多少的位。并且,可基于其它的图片如何被编码或可望被编码(例如,可以考虑当选择如何将图片编码时对图片的将来影响)调整用于图片的位的数量。该族中的第二算法与第一个的不同之处主要在于对内编码图片的考虑。
与第一算法相比,第二族的算法(例如,参见具有预见的高复杂性和低复杂性ABR速率控制的部分)可以较少依赖于将来图片(例如,预见),并且可以在先前的图片统计上采用复杂处理。这些算法可同时执行速率分配和速率控制。对于各图片不设定位目标。事实上,这些算法尝试实现对于至今被编码的所有图片(包含当前的图片)的平均目标位速率。它们可使用包含来自将来的信息的复杂性估计。这些算法的各方面可考虑没有从其它的帧预测的帧。这些算法可被表征为平均位速率(ABR)速率控制算法。
第二族的第二算法(例如,参见具有预见的高复杂性和低复杂性ABR速率控制的部分)可共享与该族的第一算法的类似性中的许多,并且,在一些实现中,可具有非常低的计算复杂性的优点。两种算法可执行速率分配和速率控制两者,并且,可从将来和先前的图片信息受益。
虽然第一族算法中的算法可通过局部调整分配多少位实现全局目标,但第二族的算法可以在不必对于图片明确规定位数的情况下实现全局目标。这些算法可用于将图片之间的质量“平滑化”,以避免图片中的不希望的伪像。这些算法可分配编码参数以在不必对于每个图片实现确切的位目标的情况下实现总位速率目标。由此,与第一族的算法相比,第二族的算法在位域中比较不呈粒状。换句话说,第一族的算法可在位域中操作更多(例如,与位速率相关),而第二族的算法可在质量域中操作更多(例如,与畸变相关)。
第二族的算法可通过使用来自先前的编码图片的统计获得目标位速率,但是,第二族的一些算法在一些实现中可具有更高的复杂性(例如,参见具有预见的高复杂性ABR速率控制的部分)。在一些实现中,第二族的算法可具有一些类似性,诸如如何使用QP值。这些算法中的一些的预见可降为零,并且,来自过去的统计可被用于预测将来。过去的信息可来自序列的开始或来自使用来自序列的大量的图像的受约束窗口。
第二族的一些算法还可具有可用于分割当前的图片的复杂性以产生量子化参数的速率因子fcurr。用于确定复杂性及其与速率因子的关系的方法可提供压缩效率方面的附加的增强。并且,可对于图像序列的不同的部分分配不同的量的质量(quality)。
还描述可通过加入时间、空间和亮度信息改善估计的新颖的复杂性估计算法(例如,参见复杂性估计的部分)。
并且,对于分层图片的情况下的复杂性估计描述新颖的算法(例如,参见用于分层预测结构的编码参数分配的部分)。这些复杂性估计算法可有利于所有描述的速率控制算法以及其它的现有的和将来的速率控制算法。在一个例子中,给出用于对于分层图片的情况有效编码参数分配的算法。关于如何在分层级别之间分配位或调整编码参数(例如,QP)以及如何确定依赖性进行讨论。在这一方面,可以基于图片的重要性确定如何确定图片的编码。这可提供保存(conserve)位数或提高质量的益处。质量和/或位速率的控制不仅可通过改变量子化量(quantizer),而且可通过改变其它的参数,诸如使用和优先化特定的编码模式和/或工具,诸如加权预测和直接模式类型,用于移动估计和模式决定的拉格朗日参数、转变/量子化阈值处理和自适应舍入参数和帧跳跃等。
可以在不同的级别上执行分配。例如,可对于不同和/或更小的单位改变编码参数(例如,QP)。例如,可以考虑将场景分成不同的区域的分段处理。这些区域可以如大多数现有的编解码器的情况那样是非重叠的,但也可以是重叠的,如果考虑重叠的块移动补偿技术,那么这会是有用的。一些区域对于编码是更简单的,而其它的区域会更复杂并且会需要更多的位。同时,不同的区域在主观上或者在它们对于将来的区域和/或图片的编码影响方面会是更重要的。
以上估计的复杂性量度可被过滤并被配置为源内容统计。过滤可包含过去和将来的图片,并且还可被设计为与在本公开中给出的所有其它的算法协同地起作用。
在一些实现中,可以用多个或并行的方案确定复杂性。可通过使用诸如总绝对差(SAD)、均方误差(MSE)、视频质量指数(VQI)等的各种客观或主观畸变量度确定复杂性。作为例子,这些不同的畸变量度可被确定并被并行使用,以提供不同的位分配和/或速率控制,并且可导致用于选择适当的用于将图片或区域编码的编码参数的额外的自由度,或增强给定的参数或一组参数的置信度。更具体而言,如果所有或大多数的复杂性量度导致相同的编码参数,那么我们使用该组参数的置信度可增加。这些复杂性量度也可被并行考虑,以用各明显不同的编码参数组将图片或区域编码多次。可以遵循确定应对于该图片/区域的最终编码选择哪个编码参数组的过程。作为例子,考虑还以最高的质量最佳地实现目标位速率的编码参数。在不同的例子中,作为替代选择导致最佳的接合速率畸变性能的编码参数组。也可对于随后的编码道次存储该信息。
在一些实现中,压缩性能可依赖于对于各图片选择最合适的编码参数,例如,量子化参数。可通过有效地在图片自身内分布这些编码参数进一步提高该性能。图片的某些区域可对于压缩伪像更敏感,反之亦然。因此,在本公开的多个部分中针对该问题。
在一些实现中,可以在图片中和沿着图片的序列滤除和消除(smooth out)噪声。关于复杂性,可通过观察其它的帧的信息以减少可见的编码差异在帧之间提高编码质量。分析不同的帧类型,并且,对于诸如场景变化、对于全局照明变化的淡入/淡出、对于连接两个连续场景的衰落过渡的交叉衰落、对于图片的多个部分的局部照明变化和对于全局照相机运动的照相机摇摄/变焦等的某些场景类型提供参数(例如,参见复杂性过滤和质量位速率考虑的部分)。
还在宏块(MB)的基础上提供编码参数的讨论,以虑及空间和时间统计的变化(例如,参见空间编码参数调整的部分)。可以产生包含时间复杂性量度(例如,SAD、运动矢量、权重等)、空间量度(例如,边缘信息、亮度和色度特性、和质地信息)的不同的复杂性量度。这些然后可被用于确定量度的重要性并产生复杂性和将其映射到特定的编码参数(例如,量子化参数值)的过程,该特定的编码参数然后被用于根据希望的图像质量或目标位速率将图像区域编码。特别地,结果可用作附加的参数以向特定的区域增加更多的质量以使得该区域较重要或较不重要。该结果可基于什么被觉察为重要提供局部化的调整。
这里公开示例性速率控制算法的各个步骤。在一些实现中,用于该速率控制的系统可包含视频编码器、任选的运动估计和补偿预分析器、任选的空间统计分析模块、选择编码参数的一个或多个速率控制模块、从编码过程收集有用的统计的多个统计模块、从运动估计和补偿(MEMC)预分析器收集统计的任选的统计模块、以及结合(fuse)来自任选的MEMC预分析器的统计的决定模块、以及视频编码器,并且控制速率分配和控制模块。在用于译码器的实现中,可直接从可通过使用公开的技术被重新编码的位流得到统计。
这些算法和复杂性估计不限于特定的编码标准,而是可以在一种编码标准之外或除了一种编码标准以外被使用。并且,可以在视频编码系统中的编码方案之间研究编码依赖性以提高编码性能。
在本专利申请中描述的技术不仅适用于这里描述的速率控制算法的两个族,而且适用于其它的现有的速率控制算法以及它们在将来的变更方式。在译码的一些实现中,例如,由于可以使用“原样”来自所公开的方法的已在位流中可用的统计以导致精确的位分配和/或增强质量,因此可通过使用所公开的技术提供复杂性增强。
术语“图像特征”可指的是场内的一个或更多个图片元素(例如,一个或更多个像素)。术语“源场”可指的是可从中确定或得到涉及图像特征的信息的场。术语“中间场”可指的是可在时间上跟随或引导可参照源场描述涉及图像特征的信息的视频序列中的源场的场。术语“不均衡(disparity)估计”可指的是用于计算运动矢量或其它的参数值的技术,通过该技术,可有效预测、模型化或描述例如视频序列的两个或更多个场之间的运动或者图像、图像的区域、块或像素和预测信号之间的其它差异。不均匀估计的例子可以是运动估计。术语“不均衡估算”可指的是运动矢量或另一估计的参数预测相关值。术语“不均衡补偿”可指的是可以使用运动估计或另一参数以计算源场中的图像特征的位置的空间偏移的技术,以描述视频序列的一个或更多个中间场中的图像特征的运动或一些参数。不均衡补偿的例子可以是运动补偿。可以结合其它的视频编码概念使用以上的术语(例如,内预测和照明补偿)。
也可在具有一个或更多个部件的系统、装置或设备、机器、计算机程序产品中、在软件中、在硬件中或在它们的任何组合中实现这里描述的方法和技术中的任一个。例如,计算机程序产品可被有形地编码到计算机可读介质上,并且可包含导致数据处理装置(例如,数据处理器)执行这里描述的方法中的任一个的一个或更多个操作的指令。
在这里的附图和描述中阐述一个或更多个实现的细节。从描述、附图和权利要求,其它的特征、方面和增强将变得清晰。
附图说明
图1示出视频编码器内的速率控制方案的例子的实现。
图2~5示出预测编码结构的例子。
图6示出视频编码系统的例子。
图7示出从在预分析器上预计算的值的估计SAD的例子。
图8示出多个速率控制模型的组合的例子的流程图。
图9示出通过使用N个编码参数集对图片编码的例子的示图。
图10示出不同的场景类型的帧的例子。
图11示出采用预见技术的速率分配的算法1的主环的流程图的例子。
图12示出采用预见技术的速率分配的算法1的总复杂性ctotal的例子的流程图。
图13示出采用预见技术的速率分配的算法2的主环的例子的流程图。
图14示出采用预见技术的速率分配的算法2的总复杂性ctotal和bitsintra的例子的流程图。
图15示出采用预见的高复杂性ABR速率控制的算法的例子的流程图。
图16示出采用预见的低复杂性ABR速率控制的算法的例子的流程图。
图17示出提出的速率控制算法的各步骤中的一些的例子的示图。
图18示出系统的例子。
各附图中的类似的附图标记和表示可表示类似的要素。
具体实施方式
这里描述一般的结构和技术和可用于实现实施更一般的目标的不同方式的更特定的实施例。
如这里使用的那样,术语I_SLICE、P_SLICE和B_SLICE可分别表示I编码、P编码和B编码图片。对于通过使用相同或不同的类型的多个片断编码的图片,也可扩展这里的相同的概念(concepts)。周期性内图片(I_SLICE)可指的是为了改善图像次序中的随机访问和误差回弹(resilience)被强制编码为I_SLICE的图片。对于H.264/AVC的情况,I编码图片可作为IDR(瞬时的解码刷新)图片被传达,以使得能够实现真正的随机访问。作为替代方案,图片可作为非IDR被传达,并且可以采取措施以避免参照在来自编码次序上的将来图片的I编码图片之前编码的图片。所公开的速率控制算法可虑及周期性的内编码图片。
实现目标位速率、诸如维持良好的视频质量并满足由传送或目标介质强加的特定的带宽约束的目标可以是导致挑战性的优化问题的竞争性的目标。视频压缩系统的一些目标包含实现高压缩性能以例如以在给定压缩位流的固定目标位数的情况下实现最低的可能的主观和/或客观畸变(例如,峰值信号噪声比、均方误差等)和/或在给定一定的目标质量的情况下实现最高的压缩。视频编码器产生压缩位流,该压缩位流一旦通过适应的解码器被解码就可产生可被显示、任选地被处理并且在观察者侧观察的重建的视频序列。
存储器和/或传送介质可将该位流发送到接收器,以通过各种方式将其解码。这些传输模式中的每一个可具有不同的延迟和诸如以下的要求的带宽要求。
·可以在光学或磁盘上或在非易失性计算机存储器上存储和传输位流,这里,各类的存储器具有其自身的带宽限制。带宽限制可考虑一定的延迟量。
·用户可从因特网上的一些远程服务器下载位流,并且通过位流在存储器上的存储和传送以与上述的情况类似的延迟在后面的时间离线观看重建的视频。
·用户可从远程因特网服务器流注位流,这里,网络限制带宽。用户可在客户计算机或设备上以小的时间延迟观看视频流。
·位流可以是诸如视频会议的实时交互视频通信或诸如用于体育或新闻的实况视频流的结果。
在一些实现中,为了提供满意的服务质量,实时通信会需要非常低的端对端延迟。实况流注可包含比实时通信稍高的端对端延迟。由于计算机上的解码和显示可从大量的缓冲空间受益,因此,光学和磁盘存储器和电影下载可容忍大得多的延迟。当与实况流注相比时,电影或TV秀的因特网流注可允许附加的延迟。端对端延迟可以为通信信道和视频编码处理的函数。现代的视频编码器可在将当前的图片编码之前缓冲将来的图片以提高压缩性能。缓冲可包含增加的传送和重放延迟。
数据管(pipe)的容量也可对于各传输介质改变。光学和磁盘存储器的带宽可以是非常充分的。诸如Blu-Ray或HD-DVD盘的高容量存储介质可在位容量和解码器缓冲尺寸方面具有上限。由于位流可被离线观看,因此不能在带宽方面约束离线重放;但是,可存在涉及硬件限制、缓冲延迟和硬件驱动存储空间的实际限制。可通过用于传输位流的网络的带宽约束因特网流注和实时交互视频通信。在一些情况下,对于一个传输介质产生的位流可能不适于通过不同的传输介质的传送。例如,可能已以诸如5Mbp的高的位速率压缩存储于光盘(例如,DVD)上的位流。如果以不足够的带宽在网络上在线流注该位流,那么最终用户体验会劣化。
图1表示视频编码器内的速率控制方案100的示例性实现。速率控制的机构可产生满足视频系统的带宽、延迟和质量约束的压缩位流。速率控制可保证满足位速率目标以及解码器输入缓冲不会溢出或饥饿(starved)。任选地,速率控制还可尝试对于给定的位速率目标和延迟/缓冲约束实现最低的可能的畸变。
在图1中,输入视频102被发送到加法器116,该加法器116将输入视频102与内预测块160和运动补偿的输出相加。来自加法器116的输出与转变块104耦合,转变块104后跟着量子化块106。量子化块106和转变块104还从速率控制150接收输入。转变块104可由速率控制块150指示为执行以下的任务中的一种:(a)调整转变量度;(b)调整或选择性清零(zero out)(阈值处理)某些转变的系数采样,等等。量子化块106的输出与VLC块108和逆量子化块110耦合。位流120源自VLC块108,并且,诸如将块、区域或图像编码所需要的位数的关于编码处理的信息、以及由这种决定引入的畸变被发送到速率控制150。
速率控制还从运动补偿和内预测块160接收输入,并且具有到运动补偿和内预测块160、运动估计块162、转变块104、环路滤波器166和量子化块106的输出。运动补偿和内预测块160可由速率控制块150指示为执行以下的任务中的一种:(a)选择性启用和禁用内预测模式;(b)选择特定的编码模式(例如,跳跃模式),等等。运动估计块162可由速率控制块150指示为执行以下的任务中的一种:(a)选择性启用和禁用运动补偿块尺寸;(b)使用某些帧作为运动补偿基准;(c)调整运动估计搜索范围和接合双预测运动估计中的迭代次数,等等。环路滤波器块166可由速率控制块150指示为执行以下的任务中的一种:(a)调整环内解块(deblocking)滤波器的参数;(b)关闭解块滤波器,等等。
逆转变块112从逆量子化块110接收输入,并且向加法器126发送输出。加法器126从逆转变块112和运动补偿和内预测块160接收信号,并且向环路滤波器166发送总信号。图片基准存储164从环路滤波器166接收输入,并且向运动补偿和内预测块160和运动估计块162发送输出。运动估计块162还从速率控制150接收输入。环路滤波器166还从速率控制150接收输入。输入视频102也被发送到运动补偿和内预测块160和运动估计块162的输入。
符合的(compliant)位流可被配置为关于解码器缓冲器满足至少两个约束:接收的图片位可适合缓冲器(否则,存在缓冲器溢出);并且,当解码器从缓冲器去除图片使得解码器可将图片解码时,图片可被整体接收(否则,这会导致缓冲器下溢-饥饿)。可存在许多的可影响分配到图片的位数的方式。可通过改变编码参数控制消耗的位的数量。更具体而言,可通过改变用于将块的残余(residual)转变系数量子化的量子化参数,或者通过选择诸如整个块应被跳过并且前一个应在其位置上被复制和显示的信令(signaling)的用于传送更少的位的权衡视频质量的编码模式,施加速率控制。也可通过改变在运动估计和编码模式决定的拉格朗日速率畸变优化中使用的拉格朗日λ(lambda)参数,施加速率控制。也可通过阈值处理(清零)离散的正弦转变系数(DCT)等,或通过选择不将某些图片编码,而是将这些图片应被跳过而使得先前编码的图片在它们的位置上被显示(例如,帧跳过)的信号编码,实现速率控制。
可通过改变量子化参数值实现速率分配和速率控制,原因在于,与其它的方法相比,该值可同时与质量/畸变和位使用具有更直接的关系。速率控制的一些目标可以是实现位速率目标,满足编码器和解码器缓冲器约束,以及,任选地,对于压缩图像序列实现低视频畸变。并且,可能必须用计算和存储器复杂性的固定预算实现这些目标。量子化参数的选择可使用简单或更复杂的算法。
例如,简单的速率控制算法可包含以下的过程。可以用一些预定的量子化参数值将视频序列中的第一图片编码。编码器然后可将得到的位数与初始的位目标相比较。如果得到的位数超过位目标,那么下一图片的量子化参数可被增大,以减少位使用。另一方面,如果得到的位比位目标少,那么下一图片的量子化参数可被减小,以增加位使用。在极限上,上述的启发式算法可或多或少地获得目标位速率。但是,部分地由于算法的简化,视频质量会大大受损。
速率控制算法可通过各种编码工具获得它们的性能。可从先前解码的图片预测当前的图片中的块(交互预测)作为运动补偿块。在一些其它的编码配置中,可通过使用来自同一图片的信息预测当前的图片中的像素(内预测)。这些技术可被称为编码模式。可通过使用不同的畸变量度确定当前的图片和预测(交互或内部)之间的误差。一般地,可以使用(交互或内部)预测误差的均方误差(MSE)、或相当的总方误差(SSE)和平均绝对差(MAD)、或相当的总绝对差(SAD)。由于高的SAD误差可以是压缩成本高的具有高熵的预测误差残数的结果,因此SAD误差可以是将块编码的难度的指示。因此,预测误差的知识可有助于对于量子化参数的值进行更好的选择,或者,一般地,可帮助调整控制位速率的技术。
一个速率控制范例可包含向各图片分配位的速率分配算法和可对于同一图片将位目标转变成一组编码参数的速率控制算法(或“模型”)。在一些实际的情况下,为了实现目标位速率而改变的编码参数是量子化参数QP。二次模型是可将位目标转变成QP的这样一种技术。其它的速率控制技术可包含在计算上比二次模式更复杂的ρ域速率控制。
在诸如H.264/AVC、VC-1和MPEG-2的视频编解码器中,图像可被编码为预测图片(P图片)、内图片(I图片)或双预测图片(B图片)。一些编解码器可支持附加的片断/图片类型(例如,H.264/AVC内的SP和SI片断、多假设(multi-hypothesis)图片等),并且还可考虑帧和场编码图片结构。相同类型的场和帧编码图片趋于具有非常不同的编码特性。I编码图片可从相同的图片的像素使用内预测。还可通过从先前编码的基准图片使用运动补偿预测P编码图片中的块。注意,这不必是显示次序中的过去的图片(如在MPEG-2或MPEG-4部分2中那样),而不是解码次序中的过去的图片。该基准图片对于图片中的各块未必相同并且可选自候选基准图片池。B编码图片可对于预测考虑选自多个基准图片的两个运动补偿预测块的线性组合。
我们的速率控制还可支持将来的编码模型和图片类型。例如,它们可包含:(a)通过使用全局运动补偿或仿射运动模型预测当前的块;(b)通过使用通过从大量的输入帧使用全局运动补偿产生的全景帧预测当前的块;(c)两个或更多个运动补偿预测的非线性组合;(d)重叠的块运动补偿,等等。
在H.264/AVC内,组合的预测可源自相同的图片或者甚至相同的预测方向(均来自过去或均来自将来)。在可用于将图片编码的编码工具(例如,诸如内部或交互预测的编码模型)方面,I编码图片基本上是P编码图片的特殊情况,并且P编码图片是B编码图片的特殊情况。一般地,I编码图片、P编码图片和B编码图片可具有非常不同的编码统计。对于相同的量子化参数和内容,I编码图片一般可需要比P编码图片多的位,而对于具有实质的时间相关性的图片序列,B编码图片可平均需要比P编码图片少的位。并且,图片可被编码为渐进的帧或一对交错的场。如果使用场编码或宏块自适应帧/场编码,那么可以更有效地压缩在电视生产中使用的通过使用交错的照相机产生的视频内容。
视频编解码器可在可适于序列的统计的编码中使用灵活的预测结构,以使压缩的位流的质量最大化。在H.264/AVC的上下文(context)中,诸如图2~5所示,能够构建称为分层编码图片的复杂的预测结构。由于可从其在编码结构中的位置实现各片断类型的速率畸变性能,因此这些结构的速率控制的隐含意义可以是重要的。例如,如图2的结构200所示,当与级别1(220)上的B编码图片相比时,级别2(230)上的B编码图片可具有非常不同的质量/位速率权衡。
图2~5共享一些类似性。在每个分层结构中存在不同的级别,并且,大多数基本级别是级别0(210)。属于级别0(210)的图片具有最高的优先权,并且,为了将属于比级别0(210)大的级别的任何图片编码,需要这些属于级别0(210)的图片。一般地,为了将级别l上的图片解码,必须首先将属于级别0到l-1的图片解码。在诸如MPEG-2和MPEG-4的先前的编码标准中,在将图片n编码之后,存在两个选项:预测和编码图片n+1、或者预测和编码图片n+m,这里,m>1,然后使用图片n和n+m作为图片n+1到n+m-1的双向预测性基准图片。除非图片n和n+m首先被解码,否则图片n+1到n+m-1不能被解码。并且,可以与图片n+1到n+m-1无关地将图片n和n+m解码。由此,图片n和n+m具有更高的优先级别(级别0),而图片n+1到n+m-1处于级别1。图片n+1到n+m-1中的每一个可以相互无关地被解码。但是,在H.264/AVC中,可在这m-1个内部分层结构图片内存在更复杂的依赖性。还能够是一个首先将图片n+m编码并然后将图片n编码。m的值也可从编码的序列的一部分到另一部分改变。级别0(210)上的图片可被称为“锚定”图片。
图3表示另一示例性的预测结构。在图片帧0被编码之后,编码器预测和编码图片帧8。可通过以先前编码图片作为基准使用I编码图片、P编码图片(如图所示)或B编码图片执行预测和编码。然后,可通过使用图片0和8为基准将图片4编码为B编码图片。图片4具有比图片0和8低的优先权,并因此属于不同的级别:级别1(220)。现在可通过使用在时间上最近的图片0和4作为基准图片将图片2编码为B编码图片。这里,时间预测距离对于压缩性能具有直接的影响:通常,基准越接近预测的图片,则相关性越高,这会导致更小的预测残数。图片2具有比图片4和0低的优先权,并且,它属于不同的级别:级别2(230)。在常规的视频编码(例如,MPEG-2)的另一背离中,任何编码图片仍可保持用作基准,并且,这包含B编码图片。
在一些实现中,图片4必须被缓冲为基准图片。否则,如图4所示,必须从远距离的图片8预测图片2,这会使压缩性能劣化。因此,如图5所示,图片2也可被缓冲为基准图片,并且与图片0结合用于图片1的双预测。然后,可通过使用图片2和4作为基准将图片3编码。图片1和3具有比图片0、2和4低的优先权,并因此属于较低的级别(例如,图3中的级别3240、图4~5中的级别2230)。例如,如图3所示,可以对于图片5、6和7重复相同的过程。
即使以上的描述讨论B编码图片,也可在编解码器内、包括使用I、P或B类型的多个片断用任何可用的编码类型将图片1~7编码。并且,图片1、3、5、7可作为一次性的(disposable)图片被传达,这意味着它们不用于运动补偿预测。图片类型的这种用途可节省存储器资源,并且具有引入时间可量测性的能力。使用的分层结构可以是任意的,并且不需要遵循二重分解。在图4~5中示出这种结构。例如,可通过使用图片4~8作为预测基准以不同的方式在图3中将图片5~7编码,使得图片7可被编码为B编码图片。图片7可被缓冲为基准以属于级别2。然后,可通过使用图片4和7作为基准将图片6编码为B编码图片。最后,可通过使用图片4和7作为基准将图片5编码为B编码图片。在本例子中,图片5和6将属于级别3,并且可作为一次图片被传达。
可通过使用多个可适于特定的场景统计的编码图片类型的组合产生实际的视频位流。一般地,序列越固定(static),那么分层结构可变得越长。具有不同的长度和不同的预测配置的分层结构可具有不同的速率畸变性能。并且,视频内容可随时间改变,并且,可具有变化的位速率需求以保证可接受的质量水平。即使在单一的场景内,也可很容易地压缩一些图片,而其它的可对于相同的压缩比产生可见的压缩伪像。
在本公开中给出的算法可针对可考虑有限的图片预见(几秒的持续时间)的视频编码器的速率分配和速率控制。由于多道次算法可从整个序列的编码统计的知识受益,因此这些算法可实现非常高的性能,因此,可以为了使视频质量最大化而预算并消耗位。为了对于当前的图片选择量子化参数,现有的高性能单道次速率控制算法可使用过去的编码统计。这些算法可对于用于调制QP的当前的图片使用一些复杂性量度,使得实现目标位速率。作为例子,x264开放源H.264/AVC编码器可通过使用视频的向下采样版本作为该复杂性量度而采用绝对转变运动补偿差异的和。
在本公开中描述的方案还可考虑图片预见并从中受益,这可将一些编码延迟强加到系统中。在图6的例子中示出这种视频编码系统。
图6表示可与公开的速率分配和速率控制算法一起使用的示例性的视频编码系统600。在图6中,输入视频610被发送到预分析块625,并且,如果需要向下采样,被发送任选的向下采样块620。在执行视频的预分析之后,延迟块630、视频编码器640和任选的预滤波器635接收预分析的输出。延迟块630可从任选的预滤波器635和/或视频编码器640延迟预分析块625的输出。在视频编码器640的输出上取得输出位流690。
复杂性估计
公开的速率分配和速率控制算法可使它们的决定基于表示为ci的当前图片i的复杂性的一些量度。当前图片的复杂性可表示该图片是否应在一定的保真度(fidelity)水平上被编码。图片的复杂性一般可以是时间、空间和亮度特性的函数,并且可被表达如下:
ci=g(ci,temporal,ci,spatial,ci,luminance)。
函数g()可以是时间、空间和亮度复杂性的线性或非线性组合。例如,如果图片属于非常活动的场景,那么,由于由人视觉系统(HVS)导致的时间遮蔽,因此细节将是不可见的。因此,对该图片进行编码使得对于更需要位的场景保存这些位会是有益的。例如,如果复杂性量度表示当前图片属于相对静止的场景,那么,由于压缩伪像对于一般的人类观察者将是可见的,因此细节可被保留。与其它图片相比,可以用更大的保真度对这些图片进行编码。这里的描述可包含大多数的时间掩蔽;但是,复杂性也可以是空间掩蔽的函数。由于图片的空间结构(例如,边缘、质地),因此具有高的空间变化和质地的场景可更好地掩蔽压缩伪像。可影响各图片的可压缩性的第三种因素可以是亮度掩蔽。一般地,具有高的平均亮度(明亮的场景)的图片可掩蔽压缩伪像。对于具有低的平均亮度的图片则相反,这里,压缩伪像对于相同的压缩比是高度可见的。由此,与明亮的场景相比,一般应用更高的保真度压缩暗的场景。
图片的复杂性也可以是将来或过去图片的复杂性的函数。由于编码器可使用运动补偿预测,因此,如果图片在一定的保真度水平上被编码,以及如果将来的图片在编码次序方面与其充分相关,那么该初始的质量可传播到这些图片。在这些情况下,估计是否足够的将来图片与当前图片相关会是有用的。如果满足一定的条件,那么给定速率控制需求,与邻近的图片相比,该图片可以在更高的质量水平上被编码。在以下的复杂性过滤和QP/位速率考虑的部分中描述关于复杂性过滤的更多的信息。时间复杂性还可以是产生当前图片的运动补偿预测的运动矢量的变化和平均值的函数。
可以在编码器上确定诸如平均亮度、空间变化和边缘信息的复杂性度量。但是,时间复杂性/掩蔽度量可需要执行运动估计和补偿,这在计算复杂性方面成本较高。一种替代方案是使用零运动矢量以执行运动补偿,但这样做会大大降低复杂性估算的可靠性并因此大大降低性能。在不同的实施例中,运动估算和补偿可考虑较低的空间和/或时间分辨率版本的序列,以产生这些量度。可以用诸如基于块或区域或像素回归技术的各种视频处理算法和包含平移、仿射和抛物线等的运动模型在编码器内执行运动估计。还可通过已通过包含运动估计和补偿的单独的预分析器执行该分析的外部机构提供该信息。预分析器可确定运动补偿的SAD和/或对于当前图片和/或给定的将来和过去基准图片测量时间相关性的一些其它的客观或主观量度。
在另一实施例中,预分析器可被视频解码器代替。解码器可以是例如以下的解码器类型中的任一种:MPEG-2、MPEG-4部分2、VC-1、H.263或者甚至AVC解码器。该解码器可以将支持的格式的位流解码并且向系统提供来自位流的各种信息,这些信息可包含运动矢量、DCT系数、内部或交互编码模式等。该信息可被用作复杂性量度以替代预分析器复杂性量度。
在另一实施例中,预分析器可被视频编码器的在前的或多个在前的编码道次替代,在其它的编码统计中,该视频编码器除了可提供运动补偿预测误差以外还可提供所有以上的统计。该编码道次可对于当前图片被约束,或者可以是整个视频序列的全编码道次。它可以是多道次视频编码器内的多个编码道次中的一个。来自例如预分析器、译码器和先前的编码道次的不同的来源的统计也可被结合使用以进一步改善性能。
由预分析器确定的畸变量度(例如SAD)可能与不使用与在编码过程中使用的那些相同的基准图片的运动估计和补偿过程对应。在编码中,对于编码使用的基准图片和时间预测距离可改变以对于源统计更好地调整。例如,对于由非常高的运动表征的场景,时间预测距离可以很小,而对于低运动,时间预测距离可增加。由此,可以存在例如SAD的预计算复杂性量度的转换,以预测将与将对于实际的编码过程使用的图片/基准对应的量度。该转换可提高时间复杂性估算,并因此提高压缩性能,而使得计算复杂性有少量的增加。
在接近实际编码情况的例子中,预分析器可对于各图片产生四个不同的运动补偿畸变量度(例如,SAD)。各量度可与来自单一基准图片i-1、i-2、i+1和i+2的单预测运动补偿预测对应。用于将视频序列编码的预测结构可改变。SAD统计以以下的方式适于特定的编码结构。
(a)IPPPPP编码结构。时间预测距离可以是一个图片。给定统计SADi(n),这里,n是i-1、i-2、i+1和i+2中的一个,那么时间复杂性ci,temporal可被设为等于SADi(n-1)。
(b)IBPBPBP编码结构。时间预测距离可以包含从一个P编码图片到下一个的两个图片。时间复杂性可被设为等于SADi(n-2)。
(c)IBBPBBP编码结构。时间预测距离可以等于3。但是,在特定的例子中,可从预分析器得到的畸变量度值可被约束以仅参照先前的图片(i-1)和其前面的图片(i-2)。由此,可存在可通过在时间上外推(extrapolate)值执行的时间复杂性(例如,SAD)的估算。例如,在该方案中,可以使用以下的复杂性估计量中的一个:
(i)ci,temporal=SADi(i-1)+2×(SADi(i-2)-SADi(i-1)),
(ii)ci,temporal=SADi(i-2)+(SADi(i-2)-SADi(i-1)),
(iii)ci,temporal=3×SADi(i-1),
(iv)ci,temporal=α×SADi(i-1)+β×SADi(i-2)+γ这里,可以用与(i)和(ii)中的模型类似的值将线性模型的三个参数(α、β和γ)初始化,并然后可通过使用例如线性回归从编码统计更新它。
(v)ci,temporal=α×SADi(i-1)+β×SADi(i-2)+δ×SADi 2(i-1)+∈×SADi 2(i-2)+γ,这里,可通过使用例如线性回归算法用编码统计更新二次模型的参数(α、β、γ、δ和ε)。
但是,可通过使用邻近图片i-1、i-2、i+1和i+2的SAD进一步改善以上的估算。例如,通过使用这些SAD值,时间复杂性可被估计如下:ci,temporal=SADi(i-2)+SADi-2(i-3)。一般的复杂性估计量可以如下:
c i , temporal = η + ( Σ n = i - N i + N Σ m = n - M n + M ( w n , m + v n , m ) ) - 1 ( Σ n = i - N i + N Σ m = n - M n + M ( w n , m × SAD n ( m ) + v n , m × SAD n 2 ( m ) ) )
参数η可以是依赖于诸如位速率和缓冲约束等的各种因素的变量,并且,权重wn,m和vn,m可以以各种方式被初始化。还可通过使用过去编码统计、以及通过使用诸如线性回归等的技术适应性地更新这些变量。参数N和M可由在预分析器上的运动估计中使用的大量的基准图片约束。如果使用过去的两个图片和将来的两个图片,那么M=2,而N依赖于M和预测距离d。在一些实施例中,d可被设为3。参数N还可被设为N=max(d,M),这里,加权参数没有通过回归算法被盲目地更新,而是被原样使用。作为替代,可以基于场景表征(characterization)修改该参数,例如,如果图片被指定为场景变化,那么权重被设为零。作为替代方案,如果被预测的图片和基准图片属于不同的场景,例如,在两个图片之间出现场景变化,那么我们还可将权重约束为零。如果估计的图片或基准图片不属于与图片i相同的场景,那么可以施加相同的约束。
(d)IBBBPBBBP编码结构。时间预测距离可以等于4。该情况可与(c)的情况类似,这里,可用的畸变量度考虑具有小于等于2的距离的参照图片。可用于估计时间复杂性的一种方案是以上的(c)(v)中所示的使用五参数二次模型的一般的复杂性估计量。可使用的一些其它的估计量包含以下:
ci,temporal=2×SADi(i-1)+3×SADi(i-2),
ci,temporal=2×SADi(i-2),
ci,temporal=3×SADi(i-2)-2×SADi(i-1),
ci,temporal=SADi(i-2)+SADi-2(i-4).
虽然大量的组合是可能的,但是它们均可以是在(c)(v)中处理的一般的复杂性估计量方案的特殊情况。
(e)IBBBBBP编码结构。时间预测距离可以等于6。该情况也可与(c)的情况类似,这里,可用的SAD使用具有小于等于2的距离的基准图片。可用于估计时间复杂性的一种方案是(c)(v)所示的一般的估计量。可使用的一些其它的估计量包含以下:
(i)ci,temporal=4×SADi(i-1)+5×SADi(i-2).
(ii)ci,temporal=2×SADi(i-2)+SADi(i-1).
(iii)ci,temporal=5×SADi(i-2)-4×SADi(i-1).
(iv)ci,temporal=SADi(i-2)+SADi-2(i-4)+SADi-4(i-6).
虽然大量的组合是可能的,但是它们均可以是前面在(c)(v)中提到的一般方案的特殊情况。
以上的时间复杂性确定可主要对于压缩的位流中的属于最高优先级别(级别0)的图片(例如,它们不会是一次性的并且会要求在其全长上将序列解码)是有效的。也可对于一次性的或具有低的优先权的P或B编码图片进行相同的确定。当具有较低的优先权的图片被舍弃时,图像次序仍可在其全长上、但以较低的帧速率被解码。如果只有单一预测SAD统计是可用的,那么,通过执行以下的替换,以上的复杂性估计可对于最高优先级别B编码图片是有效的:
SAD i ( reference ) ↔ min ( SAD i ( RO ( i ) ) , SAD i ( R 1 ( i ) ) ) .
术语R0(i)和R1(i)代表对于图片i的双预测使用的两个基准的指数。该情形中的SAD量度可仅基于单一预测运动估计。但是,如果存在对于双预测统计的访问,那么作为以上的替换可以使用双预测SAD。复杂性估计方案对于两种情况是相同的。
但是,对于I编码图片,复杂性不再能基于时间相关性。I编码图片的复杂性可依赖于诸如变化、边缘和质地信息的空间特性。复杂性可被确定为bx×by个块(例如,bx=by=8)的变化的加权平均、使用Gradient滤波器(例如,Sobel或Prewitt)的边缘取向和大小、以及质地特性。例如,可通过考虑块的转变系数的全部或一些(例如,高频率)的平方和得到质地信息。在一些实施例中,转变可以是离散的余弦转变或例如hadamard、整数DCT近似、Karhunen水平转变(KLT)等的一些其它的类似的转变或者甚至一些微波转变。对于一些低复杂性应用,I编码图片的复杂性可仅依赖于变化和边缘信息。
复杂性可被估计,并且可影响当前图片的编码参数分配。在图片被编码之后,编码统计可被收集以允许校正初始的复杂性估算,该初始的复杂性估算也可基于在编码之后分析估计的复杂性和实际的复杂性之间的关系的一些回归模型。可以在复杂性的过滤过程中由编码次序上的随后的图片使用校正的复杂性。在以下的部分中详细讨论复杂性过滤。任选地,当使用多个编码道次以将图像序列编码时,校正的复杂性可被用作随后的编码道次的复杂性度量。
图7表示用于编码复杂性估计的例子,这里,时间预测距离等于4。在图7中,顶部三行序列720、740、760的是已知的统计(例如,图片之间的畸变或复杂性),但是,可能不存在某些图片如何相互涉及的信息(例如,没有图片n如何涉及图片n+3的明确知识)。但是,可存在其它的图片之间的信息。例如,可存在关于n+1与n+3的依赖性和n与n+1之间的一些信息。通过使用该信息,可存在外推,以确定例如n与n+3之间的统计。最后的行的序列760可表示如何在n与n+3之间确定信息(例如,复杂性或畸变)。换句话说,可通过考虑相邻的图片的信息(例如,从n到n+1到n+2)确定未知的复杂性(例如,与n相比较的n+3的复杂性)。
在图7中,可对于值、特别是已在预分析器上预先计算的值提取(extract)复杂性(如图6所示)。图7表示具有SAD值(序列720的值SADn(n-2)722、值SADn(n-1)724、值SADn(n+1)726、值SADn(n+2)728;序列740的值SADn+1(n-1)742、值SADn+1(n)744、值SADn+1(n+2)746、值SADn+1(n+3)748;序列760的值SADn+2(n)762、值SADn+2(n+1)764、值SADn+2(n+3)766、值SADn+2(n+4)768;序列780的值SADn+1(n-1)+SADn+1(n+3)782、值SADn+3(n+2)+3(SADn+3(n+1)-SADn+3(n+2))784)的图片的几个序列720、740、760和780。在图7中,可对于序列720中的帧n725的有关信息的SAD估计使用过去的信息(例如,SADn(n-2)722、SADn(n-1)724)和将来的信息(例如,SADn(n+1)726、SADn(n+2)728)。在一些实现中,当将帧n725编码时,过去的统计(例如,SADn(n-2)722、SADn(n-1)724)和将来的统计(例如,SADn(n+1)726、SADn(n+2)728)是已知的。统计可被用于估计诸如畸变的误差。在一些实现中,诸如一个图片如何涉及另一图片的一些复杂性可能不是已知的。但是,可基于其它已知的复杂性估计这些未知的复杂性。序列780表示如何通过使用其它已知的统计的依赖性形成与n+3(例如,SADn-1(n+3))相比较的图片n-1的复杂性的估算。例如,SADn在序列720中,SADn+1在序列740中,SADn+2在序列760中,并且,SADn+2,并且,序列780是序列720、740和760与SADn+3的组合。
在序列720、740和760中,在接近估计值的范围内,各帧n725、745、765是已知的。例如,相邻的图片可相互类似。该类似性可涉及将来将这些图片编码有多复杂。这可提供速率分配的信息。编码越复杂,则速率控制和速率分配需要越多的位。可通过来自其它的序列的畸变值(例如,次序780的值SADn+1(n-1)+SADn+1(n+3)782、值SADn+3(n+2)+3(SADn+3(n+1)-SADn+3(n+2))784)的数学运算估计与图片n相比更远的图片的信息。
尽管以上使用运动补偿的SAD以估计时间复杂性,但以上的方法还可适于测量空间和时间相关性的各种客观和主观量度。作为SAD的替代,可以使用测量预测误差的知觉影响的量度。例如,高亮度像素值上的误差不能如低亮度像素值上的误差那样可见。并且,常规的SAD量度是基于块的,并且测量预测的块内的畸变。新技术可使用测量沿块边界的畸变的量度,使得不仅块内畸变可被最小化,而且块间畸变也可被最小化。后者会是重要的,原因在于它导致块化(blocking)伪像。并且,以上的方法可以与沿时间方向扩展的畸变量度一起使用,使得时间闪烁伪像也可减少。例如,就还使当前块的预测误差和最与预测的块相关的先前的图片中的块的预测误差之间的差异最小化而言,使当前的块的误差最小化可能是不够的。
除了替代估计当前图片的复杂性的量度以外,可以使用多个量度以得到多个候选编码参数组。可通过使一些其它的量度最小化从中选择最佳的组。这可需要维持利用不同的复杂性量度的单独的速率控制模型。例如,一种速率控制模型可通过使用SAD得到编码参数,而另一速率控制模型可通过使用MSE或使时间闪烁最小化的量度得到编码参数。在一些约束下操作(例如,使另一综合量度最小化)的决定模块可从两个候选组选择适当的一组编码参数。可以以线性或非线性的方式组合编码参数。例如,如果两个量度导致相同的编码参数,例如,用于量子化参数QP的相同的值,那么可能不需要其它的操作。否则,可以选择两者的平均值、最小值(乐观分配)或最大值(悲观分配)。在替代性的实现中,如果两个量度导致不同的参数,那么可考虑附加的量度或多个附加的量度以确定最合适的编码参数。在另一实现中,假定N个量度的使用导致N个可能的编码参数,那么可以选择这N个中的出现最多的参数。在图8中表示该方法的一般示图。
图8表示组合基于不同的复杂性量度的多个速率控制模型以得到最终的编码参数组的流程图800。开始当前帧的编码810,并且,设定缓冲状态、剩余的位和位速率目标820。从1、2、...、n确定复杂性830,并且,确定复杂性1的编码参数832、复杂性2的编码参数834和复杂性n的编码参数836。然后,选择最终的编码参数840,并且产生编码的图片850。然后,更新模型1、2、...、n 860,并且终止编码870。
可通过使用所有的N个参数将图片编码。然后,可对于满足一些其它的准则的最终编码的参数组进行选择,例如,选择具有最佳的速率畸变性能的一个或更好地满足缓冲约束的一个。在图9中示出该方法的示图。
图9表示使用N个参数将图片编码的示图。开始当前帧的编码905,并且,设定缓冲状态、剩余的位和位速率目标910。从1、2、...、n确定复杂性920,并且,找到复杂性1的编码参数922、复杂性2的编码参数924和复杂性n的编码参数926。然后,产生编码的图片932、934和936,并且选择最终的编码参数940。然后,更新模型1、2、...、n950,并且终止编码960。
另一可能的例子可包含两个模型,这里,一个确定使SAD最小化的编码参数,而另一个确定严格满足缓冲约束的编码参数。如果缓冲约束可被放宽,那么两组的编码参数的组合可以是两种约束的良好的折衷。该方法可被应用于任意的数量的复杂性类型。
复杂性过滤和质量/位速率考虑
虽然照明和空间遮掩的效果可被量化为图片的平均亮度、变化和边缘内容,但是对于时间掩蔽可能不是如此。在前面的部分中,对于单一图片的时间复杂性的估计进行了描述。时间掩蔽可以是当前图片的运动补偿预测误差的简单函数(总绝对差-SAD)。
在例如内容还由高空间活动性/质地表征并且/或者畸变高的一些情况下,由于时间掩蔽,伪像可能不是可觉察的。由于非常高的运动(包含运动模糊)或最佳地捕获实际运动的运动估计过程的不足,畸变会是高的。在这种情况下,由于因较高的压缩另外引入的压缩伪像可能是不容易觉察的,因此该区域的分配位可被降低。在某种意义上,这可为在主观上被视为更重要的其它区域节省位。但是,当复杂性在时间上改变时,这种方案会是有问题的。这些变化可导致可对于压缩视频位流的主观视频质量有害的视觉质量波动。
可用于减轻该问题的技术是用先前的图片的复杂性过滤当前图片的复杂性。如果复杂性对于当前图片大大改变,那么编码质量/位速率变化应被控制,使得它更平滑并且不能被一般的人类观察者觉察。
在提出的速率控制算法中,复杂性的过滤从先前的图片扩展,以还包含将来的图片的复杂性。并且,还提供几个例子以证实为什么该技术对于压缩视频的主观质量是有益的。
如果发现依赖于当前图片的将来图片与当前图片相比具有高的编码复杂性,并且,如果认为时间遮掩可有助于减少任何压缩伪像的视觉影响,那么可以认为最好以较低的位速率或者等同地以比初始选择的低的视觉质量将当前图片编码。作为益处,由于压缩伪像将在时间上被遮掩,因此这可有助于避免在可能不那么重要的图片上消耗位以用高的保真度进行编码。这还可有助于使用节省的位以在视觉上将其它的更重要的图片进行编码。
类似地,如果即将到来的图片与到来的图片相比表现高的时间相关性或者等同地表现低的编码复杂性/畸变,那么,由于增加的质量将是可见的并且将传播到这些图片,因此当前图片可以以较高的保真度水平被编码。
当前的图片i的过滤的复杂性现在可被写为以下的形式:
c ^ i = Σ j = - N N w j c i - j .
以上的方法的新颖性不仅在于将来图片复杂性的考虑,而且在于基于图片和系列表征调整加权系数wj。参数N可依赖于许多的因素,诸如编码系统可用的预见(延迟)的程度、计算和存储预算、以及源内容的帧速率等。随着N增加,将最终达到减少返回的点。
可作为被选择以类似任何分布的初始加权参数vj的函数确定加权系数wj。在一些实施例中,分布可以是中心偏置的一些曲线(j=0),这里,其最大值在零上。在其它的实施例中,曲线可以是高斯、指数或一些线性或二次函数。在该算法的一些实现中,可通过仔细地考虑场景表征信息修改这些参数。在任选的实现中,可通过使用尝试使估计的复杂性和观察的复杂性之间的差异最小化的一些回归算法更新初始参数vj的值(例如,给定用于将其编码的编码参数,它可以是对于图片消耗的位数)。各场景类型对于加权参数的影响可根据是j=0还是j≠0而不同。以下给出各场景类型对于最终的加权参数的偏离的影响的讨论。
场景变化
场景转变可约束过去和将来方向的过滤的时间范围。过去的图片的过滤可从最接近当前图片的这些图片开始,并且可在遇到场景变化时终止。对于过滤将来图片同样如此,这里,过滤可从当前图片的最近的图片开始,并且可在遇到场景变化时终止。在后一种情况下,场景变化的复杂性不会被考虑。假定k1<i<k2并且在图片k1和k2处出现当前前后的最近的场景变化。可用于过滤图片i的复杂性的加权参数将被确定如下:
w j = v j , max ( i - N , k 1 ) - i < j < min ( i + N , k 2 ) - i 0 , otherwise
(注:otherwise表示“其他”。)
当当前图片被指定为场景变化时,由于它仅基于运动补偿的SAD,因此图片的时间复杂性会是不可靠的。场景变化可导致人为地高的SAD值,该SAD值如果被用于分配当前图片的位,那么会导致严重的压缩伪像或使速率控制不稳定。但是,如上面讨论的那样,这里的内编码图片的复杂性被描述为它们的空间统计的函数,因此,可在复杂性确定中包含图片。并且,公开的场景变化的复杂性估计的算法可使用属于该新场景的将来图片的复杂性。如果新场景变化被检测,那么过滤可重新终止,并且,不会在以下示出的关系中使用属于该图片的复杂性:
w j = v j , 0 &le; j < min ( i + N , k 2 ) - i 0 , otherwise .
在需要紧密缓冲速率控制的情况下,通过早期的检测,场景变化的考虑还可对于预先预算位有用。如果编码器接近已检测的场景变化,那么可从当前场景的最后的几个图片节省位,并且可为即将到来的新的场景保存这些位。可通过使用稍差的QP或通过使用编码模式和/或与由场景变化之前的图片的速率控制得到的编码参数相比会导致使用较少的位的参数实现这一点。与更高的位速率相比,QP或一些其它的编码参数的变化可潜在地在较低的位速率上更重要,以保证存在足以向新场景分配的位。
淡入/淡出
衰落(fade)转变可由全局照明变化表征。在衰落中,与具有类似的内容和运动但不是衰落的一部分的先前的图片的SAD值相比,运动补偿的SAD可增加。当不使用加权预测时,一般会如此。但是,即使在加权预测的情况下,SAD也可能增加。最终效果可以是图片可被视为具有高的复杂性,由此会难以挑出(spot)压缩伪像。不幸的是,由于衰落为了在可接受的质量水平上被压缩会需要位的数量,因此对于衰落可能不是如此。作为结果,在一些公开的算法中的一些中,时间复杂性可被确定为邻近图片的复杂性的平均值,这里,根据是否使用加权预测,不属于衰落场景转变的图片可接收比属于衰落场景转变的图片大的权重。与前面类似,属于场景变化的图片的复杂性可被排除。例如,假定淡入从图片l1开始并在图片l2处完成并且图片i属于淡入,那么加权参数可被修改如下:
w j = &beta; &times; v j , min ( i + N , l 2 ) - i < j < min ( i + N , k 2 ) - i &alpha; &times; v j , max ( i - N , l 1 ) - i < j &le; min ( i + N , l 2 ) - i 0 , otherwise
当存在淡出时,情况可改变,这里,关注的内容(例如,要被过滤的内容)位于淡出的开始之前。例如,假定淡出从图片l1开始并在图片l2处完成并且图片i属于淡出,那么加权参数可被修改如下:
w j = &beta; &times; v j , max ( i - N , k 2 ) - i < j < min ( i - N , l 1 ) - i &alpha; &times; v j , max ( i - N , l 1 ) - i &le; j < min ( i + N , l 2 ) - i 0 , otherwise
参数α应被设为小于1的值,并在许多的情况下可等于零。对于诸如H.264/AVC视频编码标准的基线轮廓的编码器,该值应接近零。在一些实施例中,如果使用支持加权预测的编码器,那么该值可以为非零。参数α仍可被约束如下:0≤α≤1。参数β可被约束如下:0≤β≤1并且可用于重要的目的:如果参数β小于1,那么可保证衰落将以比场景的结束(淡出)或开始(淡入)高的保真度被编码。从以上关于衰落中的伪像的增加的可见性的讨论得出这种结论。在另一约束中,参数β>α。
可用于将衰落编码的替代性的技术可包含:
·使用相同的固定编码参数以将在衰落之前从图片的平均复杂性确定的整个衰落场景转变编码;
·增加可改善用于将属于衰落的图片编码的编码参数的修改量(例如,QP修改量);和
·如在前面的段落中讨论的那样,通过使用参数β,约束将衰落编码的编码参数,以总是导致比用于将衰落前后的图片编码的编码参数好的质量。
一般地,根据衰落类型,公开的算法可具有至少两种模式,
·对于淡入,用于将衰落编码的编码参数可导致比将用于将跟随衰落结束的图片编码的编码参数好的质量;和
·对于淡出,用于将衰落编码的编码参数可比用于将衰落开始之前的图片编码的编码参数好。
当使用加权预测时,由于加权预测可虑及全局照明变化,因此以上的两个条件可被放宽(通过使用参数α)。
以上的衰落讨论涉及当前图片i属于衰落的情况。但是,当对于不是衰落的图片施加过滤时,由于过滤操作的长度,因此作为衰落的图片的复杂性也可能可被考虑。在这种情况下,可以使用在使用它们的过滤的复杂性值的确定中包含已施加过滤的图片的方法。否则,使用的复杂性值可等于其初始值乘以(time)不大于1的参数。
与场景变化的情况类似,如果视频编解码器的加权预测支持是不够的,那么可通过速率控制使用衰落的早期检测,以预先预算位或避免使用会用掉衰落之前的位的数量的编码参数。
交叉衰落
交叉衰落是连接两个连续的场景的衰落转变。对于这些场景转变,方法是首先确定转变前后的场景的平均复杂性。在例子中,可假定交叉衰落从图片l1开始并在图片l2处完成并且图片i属于交叉衰落。加权参数可被修改如下:
w j = &beta; &times; v j , max ( i - N , k 1 ) - i < j < max ( i - N , l 1 ) - i &beta; &times; v j , min ( i + N , l 2 ) - i < j < min ( i + N , k 2 ) - i &alpha; &times; v j , max ( i - N , l 1 ) - i &le; j < min ( i + N , l 2 ) - i 0 , otherwise .
参数α和β可被选择,使得场景的复杂性具有比衰落自身的复杂性多的权重。属于交叉衰落的任一侧的场景的图片通过β被加权,而属于衰落的图片对于当前图片i的复杂性确定有少得多的贡献。
当被指定为交叉衰落的图片对于邻近的图片的复杂性确定有贡献时,可被采用的方法可反映(mirror)淡入和淡出的方法,这里,已过滤的图片可对于过滤的复杂性值有贡献,而还没有被过滤的图片可对于它们的原始复杂性值有贡献。
因此,可以用与用于将两个场景的图片编码的编码参数相比得到至少更好或相当的质量(由于β>α)的编码参数对衰落转变进行编码。如以上对于淡入/淡出描述的那样,编码参数可固定为恒定值,或者可改变,但仍被约束为比用于将场景自身编码的编码参数好。假定滤波器长度对于两个预测方向都足够长,那么交叉衰落中的当前图片的复杂性可以是先前和下一场景的函数。
闪光
闪光包含对于压缩性能有害并且可主要通过加权预测或内编码方法的使用应对(address)的大的和瞬时的照明变化。作为结果,它们的过滤的复杂性应保持接近它们的原始(高)值。如上所述,虑及场景变化和衰落的一般的滤波器可足够好以产生闪光图片的过滤的复杂性。作为替代方案,中心(j=0)的权重可增加。但是,当闪光图片在邻近图片的过滤范围内时,该图片的异常高的复杂性可减少分配给邻近的非闪光类型图片的位。该问题的一种方案是,如果图片j是闪光,那么减小过滤系数wj。该系数可乘以不为负但总小于1的参数。
因此,被检测为闪光的图片与它们的邻近图片相比可以以较低的质量被编码(未必使用较少的位)。这种编码的原因在于,闪光的短暂持续时间可遮掩压缩伪像。另一原因在于,消耗在这些图片上的位将很少对于任何将来图片有益。但是,可出现这一点的一种情况是当存在相互接近的多个闪光图片时。在该方案中,它们看似属于相同的场景并且高度相关。因此,闪光可作为基准图片被缓冲。否则,如果闪光是隔离的,那么,它们不作为基准被缓冲是有益的。
局部照明变化
该场景类型类似于闪光,但可在照明变化的空间范围中不同。照明变化可仅包含整个图片的一部分,未必包含整个图片。由于图片的一些部分将保持与过去和将来的图片类似的照明特性,并且,根据解编码器对于加权预测的支持或不支持,这些图片可作为预测基准被保持。如上面对于闪光场景类型讨论的那样,如果闪光非常相互接近地出现,那么它们可仅作为预测基准被保持。对于具有局部照明变化的图片的复杂性过滤可跟随对于具有闪光的图片的过滤。但是,在图片内,应主要向与过去和将来图片保持相同的亮度特性的区域分配较好的质量。如果图片j是局部照明变化并且用于得到邻近图片的过滤的复杂性,那么,与闪光的情况类似,过滤系数wj减小。在一些实现中,系数可乘以不为负但总小于1的参数。
照相机摇摄/变焦
用于包含照相机摇摄和变焦的全局照相机运动的复杂性过滤方法与交叉衰落的讨论高度类似。对于全局照相机运动,确定照相机运动前后的场景的平均复杂性。例如,假定照相机运动从图片l1开始并在图片l2处完成并且图片i属于具有照相机运动的场景。加权参数从而被修改如下:
w j = &beta; &times; v j , max ( i - N , k 1 ) - i < j < max ( i - N , l 1 ) - i &beta; &times; v j , min ( i + N , l 2 ) - i < j < min ( i + N , k 2 ) - i &alpha; &times; v j , max ( i - N , l 1 ) - i &le; j < min ( i + N , l 2 ) - i 0 , otherwise .
参数α和β可被选择,使得照相机运动的复杂性可具有比场景转变前后的两个场景的复杂性多的权重。属于照相机运动的任一侧的场景的图片可通过β被加权,而属于照相机运动的图片可对于当前图片i的复杂性确定有更多的贡献。当被指定为属于照相机运动的图片对于邻近的图片的复杂性确定有贡献时,还没有过滤它们的复杂性的图片对它们的原始复杂性值有贡献,而已复杂性过滤的图片对于它们的过滤的复杂性值有贡献。
与给予开始和结束场景而不是转变图片更多的权重的衰落转变的复杂性的过滤相比,这里,可以采用转变(照相机运动)图片可对复杂性的确定有更大的贡献的相反的方案(α>β)。在图10中示出复杂性过滤的一些例子。
图10表示不同的场景类型的图片的例子。特别地,图10表示过滤的复杂性依赖于场景类型的图片的例子。表示的图片的场景类型是场景变化1010、交叉衰落类型1020、淡入类型1030和淡出类型1040。对于各场景类型1010、1020、1030、1040,较暗的图片可对于衰落转变的复杂性过滤中的复杂性确定有最大的贡献。例如,对于仅包含场景变化类型1010的情况,当前图片1015对复杂性的确定有最大的贡献。
具有预见的速率分配
为了良好的压缩性能,开发可依赖于预见的程度的方案。一般地,预见越大,则压缩性能越好。方案可对于各图片执行速率估计和分配(例如,设定位目标),并可然后使用一些任意的下层速率控制模型以实现位目标。可以使用附加的编码道次以保证满足这些目标。对于给定的位目标选择量子化参数(QP)值的下层速率控制算法可以是该族的任意算法,这些算法可包含二次模型和ρ域速率控制模型等。
这里讨论可对于各图片确定位目标的新颖的算法。预见信息可来自初始的编码道次、来自可执行运动估计和补偿的预分析器或它们的组合。该信息可包含预见可用的各图片和已编码的图片的复杂性ci。各图片的复杂性ci可包含运动补偿总绝对差(SAD)、或使用加权预测时的SAD、或时间和空间图片统计的一些组合。在一些实现中,SAD可与加权预测一起或不一起使用。
运动估计可利用任何算法,包括基于块的和基于区域的运动估计、相位相关、像素回归(pel-recursive)技术等,并且,可以使用包含平移、仿射、抛物线等的各种运动模型。如上所述,完整的复杂性确定可提供更多的信息。以下设计并描述两种替代性的速率控制算法。
注意,在本部分中,术语“预测图片”可始终指的是单一预测和双假设和多假设预测图片。
采用预见的速率分配算法1
该算法/方案是可依赖于访问将来图片的统计和复杂性度量的新颖的速率分配算法。算法可对于各图片产生位目标。该算法不必选择将用于将图片编码的编码参数(例如,QP)。该选择可以是下层的任意的速率控制模型的任务,该任务以位目标为输入并产生编码参数。可用于该任意的速率控制模型的算法可包含二次模型和ρ域速率控制模型等。一般地,只要速率控制将位目标转变成相应的编码参数组,该算法就可使用任何速率控制。
在一些实现中,该算法不能使用速率控制,但可确定每个图片的位数,然后,任何速率控制算法可被用于将位映射到诸如QP值的编码参数。编码参数可被拟合以实现希望的位速率目标。该算法的各方面可使用预见窗口和过去图片的复杂性以确定应向图片分配多少位。并且,可基于多少其它的图片被编码或将被编码调整用于图片的位数。
在该算法中,nref>0可表示预见可用的图片的数量,并且,curr可表示要被编码的当前图片的指数。预见的缓冲中的图片的总复杂性可被确定如下:
c totol = &Sigma; i = curr curr + n ref c ^ i .
如果图片通过使用例如P或B的先前编码图片被交互编码,那么可在求和过程中使用其复杂性的初始值。但是,如果它被编码为内部图片,那么使用下一图片的复杂性,并将其乘以因子K,该因子K在一个可能的实施例中可被设为等于5。因此,术语被给出如下:
c ^ i = c i , K &times; c i + 1 ,
通过下式给出分配给交互编码图片的位bitsi
bits i , P = c i c total &times; n ref &times; B R N R + s n .
这里,BR是来自总初始位预算的剩余位的数量,NR是还必须被编码的图片的数量,sn是被设计为避免接近图片序列的端部的位速率过饿的“安全网(safety net)”。在一些实施例中,安全网的值可被设为30。由此,向图片分配的位可与其复杂性和总复杂性的比值乘以可向预见图片分配的剩余位预算成比例。最后,可由下式给出分配给内部编码图片的位bitsi
bits i , I = c i + 1 c total &times; n ref &times; B R N R + s n .
值得注意的例外可以是周期性插入的内部编码图片,在这种情况下,用于将图片编码的QP被选择为接近用于将先前图片编码的QP。如果周期性插入的内部编码图片与场景变化一致,那么场景变化分类可优先于周期性分类,并且,图片可被编码为规则的内部图片。在其它的情况下,位目标可被送入速率控制模型以产生QP值。可用该QP值将图片编码,并且,编码器然后可检查用于将图片编码的位(例如,bits_old)的数量。如果它们与初始目标的差大于阈值,那么称为bit_new=normBits(bits_old,QP_OLD,QP_NEW)的函数被迭代使用以产生会导致更接近初始目标的位使用的QP_NEW。然后可通过使用新的QP值将图片重新编码。如果使用PSNR约束,那么图片可被重新编码,使得它满足PSNR最小值和最大值约束。在图11中示出该算法的主环路的示例性示图,而在图12中表示示出总复杂性ctotal的确定的示例性示图。
图11表示采用预见技术的速率分配的算法1的主环路的示例性流程图1100。在图11中,视频编码开始1110,并且,用i=0对QP、BR、NR和Sn执行初始化1115。对于预见图片确定总复杂性ctotal 1120。然后,确定可以是I编码图片、P编码图片或周期性I编码图片的片断类型1125。如果片断类型是I编码图片,那么确定bitsi,I 1135并且位的RC模型产生QP 1150。如果片断类型是P编码图片,那么确定bitsi,P1140并且位的RC模型产生QP 1155。如果片断类型是周期性I编码类型,那么使用先前的QP即PrevQP加上一些偏移1160。与标题为“对于分层预测结构的编码参数分配”的部分的因素(c)~(f)类似地确定偏移。然后,将图片编码1170。如果接近目标1175,那么确定是否存在更多的用于处理的图片1185。如果不接近目标,那么修改QP 1165并将图片重新编码1170。如果不存在更多的用于编码的图片,那么编码可终止1190。但是,如果存在更多的图片,那么在确定预见图片的总复杂性ctotal之前增量i(例如,i++)1180、更新RC模型1145并更新BR、NR和PrevQP 1130。
图12表示用于确定采用预见技术的速率分配的算法1的总复杂性ctotal的示例性流程图1200。在图12中,过程可开始1200并且对于j=1和ctotal=0设定参数1210。然后,对于P编码图片和I编码图片确定片断类型1215。如果存在P编码图片,那么ctotal+=cj 1225。如果存在I编码图片,那么ctotal+=5×cj+I 1220。在确定ctotal之后,参数j增大1230。如果存在更多的图片1235,那么对于下一图片确定片断类型1215。如果不存在更多的图片1235,那么过程终止1240。
采用预见的速率分配-算法2
该算法与采用预见的速率分配的算法1具有类似性。用于采用预见的速率分配的算法2可使用包含来自将来的信息的复杂性估算。该第二算法的各方面可考虑不是从其它图片预测的图片。
虽然与前面的部分中的方案十分类似,但是该方案具有几点不同,现在描述这些不同。不被编码为内部编码图片的预见缓冲中的图片的复杂性的总和可被确定如下:
c total = &Sigma; i = curr , i &NotElement; INTRA curr + n ref .
总复杂性在这里可包含不被编码为内部编码图片的所有图片的复杂性值。需要该算法与上述的算法1的主要差别以估计将被分配以将内部编码图片编码的位的数量。可对于所有的内部编码图片将该估算确定如下。
b total INTRA = &Sigma; i &Element; INTRA normBits ( w &times; h &times; ( &alpha; i &times; var i + &beta; i ) , Q P NORM , QP AVE ) .
前面已描述了函数normBits()。参数w可表示图片的宽度,h可表示图片的高度。QPNORM可表示固定的QP值,例如,该固定QP值在一个可能的实施例中为24,对于该值,可通过通过线性回归使用来自先前内编码图片的统计确定线性模型的系数α和β。根据图片索引系数的原因在于,这些系数被更新,由此它们可改变。为了虑及场景之间的不同的统计,可对于场景变化使用不同的组的系数,并且可对于周期性内编码图片使用不同的组。
对于内编码图片分配的位bitsi可由下式给出:
bits i = c i c total &times; ( n ref &times; B R N R + s n - b total INTRA ) .
由此,对于内编码图片分配的位与其在总复杂性上的比值乘以可对于预见图片分配的剩余位预算减去将对于内编码图片分配的位的估算成比例。
与前面的算法相反,现在借助于线性模型确定被分配以将内编码图片编码的位,并由下式给出它:
bitsi=normBits(w×h×(αi×varii),QPNORM,QPAVE).
与以上的算法1类似地处理周期性插入的内编码图片。在图13中示出该算法的主环路的示例性流程图,而在图14中表示示出总复杂性ctotal的确定的示例性流程图。
图13表示采用预见技术的速率分配的算法2的主环路的示例性流程图1300。在图13中,视频编码开始1310,并且,用内部线性模型用i=0对QP、BR、NR和Sn执行初始化1315。对于预见图片确定总复杂性ctotal和bitsintra1320。然后,确定可以是I编码图片、P编码图片或周期性I编码图片的片断类型1325。如果片断类型是I编码图片,那么用内部线性模型确定bitsi,I1335并且位的RC模型产生QP 1350。如果片断类型是P编码图片,那么确定bitsi,P1340并且位的RC模型产生QP 1355。如果片断类型是周期性I编码类型,那么使用先前的QP即PrevQP加上一些偏移1360。与标题为“对于分层预测结构的编码参数分配”的部分的因素(c)~(f)类似地确定偏移。然后,将图片编码1370。如果接近目标1375,那么确定是否存在更多的用于处理的图片1385。如果不接近目标,那么修改QP 1365并将图片重新编码1370。如果不存在更多的用于编码的图片,那么编码可终止1390。但是,如果存在更多的图片,那么i增大(例如,i++)1380,RC模型被更新1345,并且,参数BR、NR、PrevQP 1330、确定预见图片的bitsintra和总复杂性ctotal之前的线性内部模型1395也被更新。
图14表示确定采用预见技术的速率分配的算法2的bitsintra和总复杂性ctotal的过程的示例性流程图1400。在图14中,过程可开始1400并且对于j=1、ctotal=0和bitsintra=0设定参数1410。然后,对于P编码图片和I编码图片确定片断类型1415。如果存在P编码图片,那么ctotal+=cj 1425。如果存在I编码图片,那么bitsintra+=bit_estimate 1420。如上描述的那样通过使用normBits函数确定术语bit_estimate。在确定么bitsintra或Ctotal之后,参数j增大1430。如果存在更多的图片1435,那么对于I编码图片,bitsintra+=bit_estimate 1420。如果不存在更多的图片1435,那么过程终止1440。
平均位速率控制算法(例如,参见关于采用预见的高复杂性和低复杂性ABR速率控制的部分)可执行速率分配和速率控制,并且可从将来和先前图片信息受益。
虽然采用预见的速率分配的算法1和2可通过局部调整将分配多少位实现全局目标,但是,这些属于算法的第二族的附加的算法可在不必明确规定图片的位的数量的情况下具有并实现全局目标。如下所述,这些算法可用于将图片之间的质量“平滑化”,以避免不希望的视觉伪像和图片之间的视觉质量波动。这些算法可分配编码参数以在不必对于每个图片实现位目标的情况下实现总位速率目标。由此,与第一族的算法相比,以下描述的算法的位域较不呈粒状(lessgranular)。换句话说,算法的第一族的算法1和2可在位域中操作更多(例如,与位速率相关),而下述的算法可在质量域中操作更多(例如,与畸变相关)。一般地,在本公开中描述的所有算法均从图片复杂性的估计和过滤量度受益。
与第一族的算法类似,以下的算法可通过使用来自先前的编码图片的统计获得目标位速率,但是,在以下的算法的一些实现中,可存在更高的复杂性(例如,参见采用预见的高复杂性ABR速率控制的部分)。在一些实现中,平均位速率算法一般可具有一些类似性,诸如如何使用QP值。这些算法的预见可降为零(例如,仅使用过去图片统计)。如果仅使用过去统计,那么这些统计可被用于执行估计和预测将来统计。过去的信息可来自序列的开始,或者仅考虑仅从相对接近当前图片的序列内使用一定的数量的图片的受约束的移动的窗口。并且,在一些实现中,可对于图像序列的不同部分分配不同的量的质量。
采用预见的高复杂性ABR速率控制
采用预见速率控制算法的高复杂性ABR速率控制可从两道次速率控制算法以及从可与包含于许多开放源视频编码器中的算法(例如,x264H.264/AVC、Xvid MPEG-4、FFMPEG MPEG-4等)类似的平均位速率(ABR)速率控制算法获得思想。该算法可对于当前图片进行速率分配并且可选择诸如量子参数QP的编码参数。该算法的一个基本前提是,它可收集所有先前的图片的编码统计并然后可对于当前图片选择诸如QP值的一个或多个编码参数。假定编码参数是QP,那么该编码参数被设为基本QP值加上修改量。对于所有先前编码的图片,包括当前的一个,选择QP值加上修改量,以实现目标位速率。基本QP值可等于目前如果被应用于所有图片则可望实现目标位速率的QP值。可对于诸如拉格朗日参数、编码模式、阈值处理和量子化舍入等的所有其它可能的编码参数应用该过程。以下是算法的详细描述。
参数curr可表示要被编码的图片的指数。目前编码的所有图片的位目标bitstarget被确定如下:
bits t arg et = &Sigma; i = 0 curr ( w curr , i &times; bit _ rate frame _ rate ) .
权重wj,i可对于各图片改变,使得可向特定的图片提供更好的质量/更高的位速率。并且,权重可随时间改变;由此存在权重的双重指数。例如,检测为闪光的图片可接收较低的权重。例如,这些变化的权重可被用于完成以下的过程:
·向诸如开始的图片序列的更敏感部分提供更好的质量;
·根据复杂性量度改变位速率分配;
·对被使用的特定的编码工具和分层结构调整位速率。
两种约束在于,平均而言,curr应比一些阈值大,并且这些系数之和应合计达到curr。即,通过该技术,可以增强位速率目标。如上所述,系数wj,i可随时间改变。
在一些实现中,当图片N被编码时,可存在从0到N-M计算的系数wj,i的和,这里,M>0等于K。同时,当图片N+P被编码时,这里,P>0,系数0~N-M能够总计达到L≠K。在该算法中,在一些实施例中,该特征可允许对于图片的某些场景精细地注入附加的位速率,同时,实现位目标,并且,其它区域不可见地存在位饥饿。在各图片被编码之后,该技术可确定速率因子f,该速率因子f被用于分割当前图片的复杂性,以产生量子化参数。可对于fstart和fend之间的速率因子估计各值。在一些实施例中,如果已使用因子f以获得各QP,那么可通过将位目标和目前已消耗的位bits(f)之间的绝对值差最小化找到速率因子f。以下的表达式可示出该最小化。
f curr = arg min f &Element; ( f start , f end ) | bits t arg et - bits curr ( f ) | .
通过用该因子分割可能任选地被设为一些预定参数的幂的图片的复杂性值,可产生量子化步幅尺寸,该量子化步幅尺寸通过使用附加的函数转变成量子化参数。
通过现在描述的综合过程确定术语位bits(f)。目前已编码的图片被分割成属于最高优先级别的图片,并且,不属于该级别的图片被视为低优先权图片。对于各编码图片,存在许多可用的编码统计,诸如运动补偿复杂性、用于将片断标题和质地编码的位、用于将图片编码的QP等。如果作为实际用于将该图片编码的QP的替代使用通过将复杂性除以因子f获得的新QP,那么该过去编码信息连同新QP现在可被用于估计将该图片编码所消耗的位。该位估计的确定可包含求和,并且可对于属于当前被编码的级别的每个编码图片进行这种确定(例如,在最高优先级别的情况下)。然后,可对于先前编码的较低优先权图片的位估计施加类似的过程。
与用于最高级别图片的过程相比较的一个主要差别在于新QP的推导。例如,新的QP可依赖于将用于将相邻锚定图片编码的QP,并且可通过可依赖于各种因素的参数偏移(例如,在以下的对于分层预测结构的编码参数分配的部分中描述这些因素)。
在一些实施例中,术语bits(f)可被写为以下的形式:
bits curr ( f ) = &Sigma; i = 0 , i &Element; B _ SLICE curr NBQ ( t i , h i , QP 2 QStep ( QP i ) , c i e f , s i )
+ &Sigma; i = 0 , i &Element; B _ SLICE curr + B offset , i ) , s i ) NBQ ( t i , h i , QP 2 QStep ( QP i ) , QP 2 Qstep ( QStep 2 QP ( max ( c L 0 ( i ) e f , c L 1 ( i ) e f ) ) ,
这里,ti是对于图片i使用的质地位的数量,并且hi是对于图片i使用的标题位的数量。QP2QStep()是将QP(对数刻度)值转变成量子化步幅(线性刻度)值的函数。QStep2QP()完成逆转,QPi是用于将图片i编码的QP值,并且,ci是图片i的复杂性。
当图片i是较低优先权图片时,L0(i)可表示属于最高优先级别的在时间上最接近i的图片,L1(i)可表示属于最高优先级别的第二最接近图片。术语cL0(i)和cL1(i)表示这些图片的复杂性值。参数Boffset,i表示对于依赖于图片是否被用作基准以及其它因素的B编码图片施加的QP偏移。在以下的对于分层预测结构的编码参数分配的部分中详细描述参数Boffset,i的推导。术语si表示编码图片i的跳过的宏块的数量。最后,术语e表示用于避免大的QP波动的指数。在一些实施例中,e被设为0.4,并且,强加约束0≤e≤1。函数NBQ()可以是使用编码统计和先前编码图片的参数的任意函数,并且,如果这些编码参数改变,那么计算位使用的估计。在一些实施例中,函数NBQ()可以具有以下的输出:
NBQ ( a , b , q , d , e ) = a &times; ( q d ) &alpha; + b &times; ( q d ) &beta; , s i < &gamma; &times; ( w &times; h block _ pixels ) a &times; ( q d ) &alpha; + b , otherwise .
对于本实施例,参数α可被设为稍大于1的值,而参数β可被设为小于1的值。参数block_pixels与构成运动补偿的块的像素的数量对应。可以以这种方式设定这些参数的值,使得,虽然质地位(a)可随着QP的减小大大增加,但标题位(b)可以较慢的速率增加。参数γ可比0大并且比1小,并且应被设为大的值。在对于当前图片确定速率因子f之后,可对于用于保证速率控制实现初始位目标的术语QPmod进行确定。可作为通过并包含图片的结束对于图片的开始使用的位之和计算使用的位的数量bitsused。即使在一些实现中开始可被设为0并且结束被设为作为当前图片的指数的curr,这些设置也是任选的。能够确定一些窗口上的位使用。这可有助于在图像序列的不同部分中分配不同的位速率。这可被表达如下:
bits used = &Sigma; i = start end b i .
在该表达式中,术语bi可指的是用于将图片i编码的位的数量。
在因子f被估计之后,可以确定针对位预算的过利用(over-utilization)或欠利用(under-utilization)的附加的参数。可被称为QP修改量的该参数当位被过利用时可增加,并且当位被欠利用时可减小,并且,一般地,当位目标被满足时,可保持接近零的值。可向通过将复杂性的幂除以因子获得的初始QP估计添加QP修改量参数。在一些实施例中,QP修改量QPmod由下式给出:
QP mod = ( bits used - bits total 0.02 &times; bits total ) z ,
这里,Z是可在序列的开始和结束取不同的值的指数(以分别保证较慢和较快地会聚到位目标)。对于图像序列的大部分,Z可具有比1稍大的值。该方法包含必须对于属于最高优先级别的各图片执行的速率因子f的高成本计算。以下给出用于将当前图片编码的最终QP:
QP curr = QP mod + QStep 2 QP ( c curr e f ) , level = 0 max ( QP L 0 ( curr ) , QP L 1 ( curr ) ) + B offset , curr , level > 0 .
(注:level表示“级别”)
向级别0上的图片分配的QP可以是它们的复杂性量度和因子f的函数,为了实现目标位速率,该函数然后通过QP修改量被缩放。向低优先级别的图片分配的QP可以是向级别0图片分配的QP的函数,从该函数,低优先权图片被预测并且是从属的。可以用在以下的对于分层预测结构的编码参数分配的部分中详细描述的参数Boffet,i进一步修改这些QP。
当先前没有通过使用一些算法分类为场景变化的周期性内部编码图片被插入时,可通过向用于将最接近级别0图片编码的量化器参数q添加正或负的修改量获得图片的QP。该修改量可依赖于q自身的值、编码器和解码器缓冲充满度、以及被编码的内容的复杂性。如果位速率约束可放宽,那么,由于非常差或太好地编码相同的内容,因此会希望避免视觉质量劣化。在图15中示出该算法的示图。
图15表示采用预见的高复杂性ABR速率控制的算法的示例性流程图1500。在图15中,视频编码在1510处开始,并且,在1515处通过QP、f和i=0将参数初始化。然后,对于bitstarget、bitsused和Qpmod执行确定步骤1520。然后,通过使abs(bitstarget-bits(f))最小化对f进行确定步骤1525。然后,可确定片断类型1530。如果级别>0,那么确定prevQP+Bi,offset 1535。否则,如果片断类型是P或B编码图片,那么QP=func(f,ci)1540。如果片断类型是I编码图片,那么QP=func(f,ci)1545。如果片断类型是周期性I编码图片,那么使用PrevQP加一些偏移1550。与标题为“对于分层预测结构的编码参数分配”的部分的因素(c)~(f)类似地确定偏移。在对于给定的片断类型确定它们之后,将图片编码1560。如果不存在更多的图片1565,那么编码终止1570。如果存在更多的图片1565,那么在对于bitstarget、bitsused和Qpmod执行确定步骤1520之前i增大(例如,i++)1575并且更新prevQP 1580。
采用预见的高复杂性ABR速率控制的以上描述的各方面可假定对于约束位速率(CRB)或可变位速率(VBR)应用实际上不存在编码器或解码器缓冲约束。对于缓冲约束是关键的那些应用,可在给定编码器和解码器处的缓冲充满度的条件下修改速率因子f。小的f可偏向大的QP和较少的编码位,而较大的f可导致更多的编码位。如果位使用导致缓冲溢出或下溢,那么,可为了以希望的状态补偿并保持缓冲充满度调整因子f。并且,选择的编码参数可以与一些速率控制模型结合使用,以估计得到的位的数量,并且调整这些编码参数,使得满足编码器和解码器缓冲约束。
采用预见的低复杂性ABR速率控制
采用预见的低复杂性ABR速率控制的速率控制算法可与上述的高复杂性单道次速率控制算法共享相同的方面中的一些,而使得其实现更加简化。bitsused和bitstarget的讨论和推导可与上述的高复杂性单道次速率控制算法相同或类似。该算法的一个差别是因子f的推导。
这里借助于称为复杂性之和sumcmplx的变量确定因子f。该量可被初始化为接近零的值,并且,sumcmplx可依赖于图像的尺寸。在一些实施例中,sumcmplx可被初始化如下:
sum cmplx , - 1 = &delta; &times; ( &epsiv; ) 1 - e &times; ( w &times; h block _ pixels ) &zeta; .
在一些实施例中,参数δ可取比1小的值,参数ε可与向各图片分配的平均位的4~5倍成比例,并且,参数ζ可比1稍大。参数w和h可指的是图片的宽度和高度,而数量block_pixels可代表块中的像素的数量。
为了确定复杂性之和,最后的编码图片的复杂性度量被存储在级别0上,该复杂性度量被设定如下:
cmplx last = c i e .
除了更新以上的量以外,在各图片被编码之后,(加权)复杂性之和可被更新如下:
sum cmplx , i = sum cmplx , - 1 + &Sigma; j = 0 i ( u j , i &times; cmplx j ) .
权重uj,i可对于各图片改变,使得可对于特定的图片分配更多的位。并且,权重可随时间改变;由此使用双重指数。
被检测为闪光的图片可接收较低的权重。当使用具有任意的编码次序的分层编码结构时,这些改变的权重也可是有用的。当前图片的复杂性参数cmplxi可与用于将图片编码的位数乘以用于将图片编码的量了化步幅尺寸并除以级别0处的最后的编码图片的复杂性成比例。级别0处的最后的编码图片的复杂性可通过因子F被加权以虑及当前优先级别。在一些实施例中,当前图片的复杂性参数cmplxi可由下式表达:
cmplx i = bits i &times; QP 2 QStep ( QP i ) F &times; cmplx last ,
这里,因子F依赖于图片是否属于最高优先级别,并且,如果不是,那么依赖于被施加以确定其量子化参数的修改量。在一些实施例中,F可被选择如下:
F = 1 , level = 0 1.2 55 B offset , t , level > 0 .
如指出的那样,该算法和高复杂性ABR速率控制算法的先前算法的主要差别包含速率因子f的确定,对于该算法该确定大大简化:
f = bits t arg et sum cmplx , i - 1 .
并且,与高复杂性ABR速率控制算法的算法类似,为了实现位速率目标,还存在可修改QP分配的附加的机制。可以确定称为“溢出”的因子,该因子可在位被欠利用时可取小于1的值并在位被过利用时取大于1的值。在一些实施例中,用以下的方法确定该因子。缓冲参数的值可被表达如下:
buffer=t×bi_rate×vi
这里,bit_rate是图像序列的当前段的目标位速率。参照t指的是可导致编码效率和速率控制精度之间的权衡的控制参数。如果t大,那么更高的优先权被放于质量上(例如,质量增加),而位目标不会被精确地实现。另一方面,如果t小,那么,与质量相比,较高的优先权被放于位速率上。当t小时,这可使得在可能损失编码效率的情况下实现高的速率控制精度。参数vj被用于控制QP分配,使得满足缓冲或质量约束。这些操作可产生以下的因子:
overflow = dClip 3 ( o min , o max , 1.0 + bits used - bits t arg et buffer ) .
溢出参数可被约束到分别可小于1并且为正的omin和大于1的omax之间。最后,可以与高复杂性ABR速率控制的部分类似地获得用于将当前图片编码的QP如下:
QP curr = QStep 2 QP ( overflow &times; c i e f ) , level = 0 max ( QP curr , L 0 , Q P curr , L 1 ) + B offset , curr , level > 0 .
周期性插入的内编码图片的处理可与高复杂性ABR速率控制的部分的相关讨论相同。
与一些算法相比,当在图像序列的敏感部分上分配更多的位时,在该部分中描述的算法可被更多地偏置。并且,该部分中的算法还可加入速率调整以在被视为对于随后的图像重要的图片上分配附加的位。所有以上的特征还适用于本公开的所有先前的算法。在图16中示出该算法的示例性的示图。
图16表示采用预见的低复杂性ABR速率控制算法的示例性流程图1600。在图16中,视频编码在1610上开始,并且,在1615上通过QP、f、i=0和sumcmplx将参数初始化。对于bitstarget、bitsused和溢出参数执行确定步骤1620。然后在1625中将f确定为bitstarget/sumcmplx。然后,确定片断类型1630。如果级别>0,那么prevQP+Bi,offset 1635。否则,如果P或B编码片断被确定为片断类型1630,那么QP=func(f,ci)1640。如果确定I编码片断,那么QP=func(f,ci)1645。如果确定周期性I编码图片,那么使用PrevQP加一些偏移1650。与标题为“对于分层预测结构的编码参数分配”的部分的因素(c)~(f)类似地确定偏移。在这些操作1635、1640、1645、1650中的至少一个之后,将图片编码1660。如果不存在更多的图片1665,那么编码终止1670。但是,如果存在更多的图片1665,那么在对于bitstarget、bitsused和溢出参数执行确定步骤1620之前i增大(例如,i++)1675并且更新prevQP和sumcmplx 1685。
以上的描述可假定对于约束位速率(CRB)或可变位速率(VBR)应用实际上不存在编码器或解码器缓冲约束。对于缓冲约束十分关键的那些应用,可在给定编码器和解码器处的缓冲充满度的条件下修改速率因子f。小的f可偏向大的QP和较少的编码位,而较大的f可导致更多的编码位。如果位使用导致缓冲溢出或下溢,那么,可为了以希望的状态补偿并保持缓冲充满度相应地调整因子f。并且,选择的编码参数可以与一些速率控制模型结合使用,以估计得到的位的数量,并且调整这些编码参数,使得满足编码器和解码器缓冲约束。
分层预测结构的编码参数分配
当使用一次性图片(例如,不被缓冲为被用作运动补偿基准的图片)或具有较低的优先权的图片时,为了有效地选择编码参数,会需要格外仔细。一般地,应在一次性图片上消耗较少的位,原因在于它们的质量不对将来图片有益。并且,平均而言,与P编码图片相比B编码图片产生更少的SAD。作为结果,也可向它们分配更少的位。在公开的速率控制算法中,用于这些图片的编码参数可以是用于将不是一次性并且属于最高优先级别的图片(例如,“锚定”图片)编码的编码参数的函数。后一种编码参数可被称为基准编码参数。在一些实施例中,该组编码参数可仅包含QP值,这里,基本QP值可被表达为baseQP=max(QPL0(i),QPL1(i))。如本公开的前面的部分指示的那样,改变分层结构中的图片的基本QP值的修改量被称为Boffset,i
可作为许多因素的函数确定编码参数的修改量,以下列出和描述其中的一些:
(a)图片属于的分层级别,该分层级别还可受时间预测距离影响。
(b)预测类型(内部、预测和双预测等)
(c)使用图片作为其它图片的预测基准。
(d)基本编码参数。
(e)场景类型:场景变化、淡入、淡出、交叉衰落、闪光等。
(f)当前图片的复杂性量度(主要在时间上)。
在一些实现中,以上的因素对于Boffset,i的推导的影响可以是线性的(相加的),并且,在另一实现中,它可以是相乘的。例如,在可转变成量子化参数(QP)域的一些其它的域(量子化步幅)中,它可能是相乘的。在线性模型中,Boffset,i被表达如下:
B offset , i = B i level + B i slice + B i ref + B i baseQP + B i scene + Q i cmplx
编码图片的编码参数可受各因素的影响。因素中的每一个的影响可与其余的因素以及位速率和缓冲约束组合,以产生该图片的最终的编码参数。
因素(a)
当分层结构中的所有图片具有相同的优先级别(例如,它们的解码可仅依赖于锚定图片)时,可使用类似的编码参数以将它们编码。例如,根据帧的空间复杂性或者它们在分层结构中的位置,与baseQP相比,参数可被轻微地调整。编码参数可被选择,使得与使用基本编码参数相比分配更少的位。在一些实施例中,该因素可被表达如下:
这里,c是在一些实现中可被设为等于2的变量。
否则,如果分层结构的图片具有改变的优先权(例如,除非相同的分层结构中的其它图片首先被解码,否则分层结构中的某些图片不能被解码),那么可以用产生比属于更低优先级别的图片好的质量和比属于更高优先级别的图片差的质量的编码参数将图片编码。在一些实施例中,该因素可被推导如下:
B i level = current _ leve l i .
因素(b)
片断类型可影响编码参数的选择。假定图片可被编码为I编码、P编码或B编码图片或者一些其它类型的预测,那么可以强加以下的约束:内部编码图片可使用分配与对于预测编码图片使用的那些不同的位数的编码参数;并且,预测编码图片可使用可分配与对于双预测编码图片使用的那些不同的位数的编码参数。在一些实施例中,基本QP的修改量可取以下的值:
B i slice = - s I , intra - s P , predictive 0 , bi - predictive ,
(注:intra表示“内部”,predictive表示“预测性”,bi-predictive表示“双向预测性”。)
这里,sI和sP是变量,两者均是非负值,并在一些实施例中被约束为sI>sP
因素(c)
当图片被用作基准时,以比将不用作预测基准并且将不被丢掉(dispose)的图片高的质量将该图片编码会是重要的。当分层结构中的所有图片具有相同的优先级别(例如,它们的解码仅依赖于锚定图片)时,与用于非基准图片的编码参数相比,基准图片可使用产生更好的质量的编码参数。在一些实施例中,该因素可被表达如下:
B i ref = - c , reference 0 , otherwise ,
(注:reference表示“基准”,otherwise表示“其他”)
这里,c是可被设为1的非负变量。
否则,如果分层结构的图片具有改变的优先权(例如,除非相同的分层结构中的其它图片首先被解码,否则分层结构中的某些图片不会被解码),那么可以如上段描述的那样调整编码参数,或者可使其保持相同。由此,在一些实施例中,该因素被设为零:
B i ref = 0 .
任选地,还可不仅考虑当前图片是否被用作基准,而且考虑将对于运动补偿预测使用哪些基准。与通过显示次序更远离的低质量图片预测的图片相比,可通过选择适当的编码参数用更少的位将一般直接从显示次序接近的较高质量锚定图片预测的图片进行编码。这种考虑可不仅是级别的函数,而且是位置的函数。
例如,在图4中,考虑属于相同的级别的图片2和4。在一些实施例中,即使它们属于相同的分层级别,与图片4相比,图片2也可访问更高的质量基准。在一些其它的实施例中,也可考虑这些图片的复杂性,并且,可给予可分别显著地或多或少地影响主观或客观质量的图片更多或更少的位数和随后的质量。
因素(d)
如果基本编码参数产生良好的质量,那么,由于质量的下降将不明显,因此,用于分层图像的编码参数可或多或少地劣化。但是,如果基本编码参数产生低的质量,那么劣化即使有也应是可忽略不计的。在一些实施例中,该修改量可以是随baesQP参数的值减小的函数。它可以具有线性、非线性、指数、高斯、二次或一些其它的形式。该参数的一种可能的推导可包含以下的形式:
B i baseQP = 3 , baseQP &le; 15 2 , 15 < baseQP &le; 19 1 , 19 < baseQP &le; 24 0 , baseQP > 24 .
因素(e)
在确定分层结构中的图片的编码参数时,场景类型会是重要的。即使在一些编码配置中它可能不是所希望的,也能够将分层结构内的场景变化编码。即使两个锚定图片中的一个很可能包含新场景的第一图片中的一个,避免由于不均匀的质量导致的差的视觉性能也会是重要的。由于新场景的第一新图片会具有比编码为锚定图片的质量低的质量,因此可在一些情况下出现不均匀的质量。为了避免这种主观质量问题,属于新场景的图片的质量应增加。在一些实施例中,可通过设定实现这一点,这里,c1是非负变量。
如果图片属于衰落并且使用加权预测,那么编码参数应被调整,使得消耗更少的位。在一些实施例中,该因素应被设为零,例如,
当闪光被编码时,由于它很少是显著的,因此会消耗较少的位。在一些实施例中,可通过设定实现这一点,这里,c2是非负变量。
在一些实现中,以上在因素(a)~(e)中描述的变量还可依赖于各种其它的因素,诸如编码器和解码器处的缓冲约束、平均值、最小和最大位速率约束、使用的基本QP和序列统计等。
图片的复杂性量度可主要被用于导出锚定图片的编码参数(例如,QP),baseQP是该编码参数的函数。但是,在分层结构的图片内还可存在重要的复杂性波动。该复杂性波动可保证根据当前图片的复杂性改变编码参数。如果图片太复杂,那么编码参数应被调整,使得不浪费许多的位。
如上所述,图片复杂性可被估计并然后被用于调制诸如QP的编码参数。该讨论涉及锚定图片。虽然能够非常好地使用锚定图片的复杂性以修改用于将分层结构中的图片编码的编码参数,但在一些情况下这是次优的。这些情况下的更好的方案可包含关于基准图片或用于将其编码的图片使用所讨论的图片(例如,图片i)的时间复杂性(例如SAD)。
例如,在具有编码次序I0-P4-B2-B1-B3的分层编码结构IBBBP中,图片0将是内部编码图片,并且图片4将被编码为P编码图片。然后,图片2被编码为保持作为基准的B编码图片。最后,图片1和3被编码为一次性的B编码图片。与从图片0和2预测的图片1的复杂性估算相比,对于从图片0预测的图片4(例如,“锚定”图片)的复杂性估算可以不同。如果可用的SAD预测误差仅包含单一预测运动估计,那么图片1的复杂性估算可被模型化为:c1,temporal=min(SAD1(0),SAD1(2))。一般地,分层结构内的双预测图片的时间复杂性可被表达为ci,temporal=min(SADi(R0(i)),SADi(R1(i)))。术语R0(i)和R1(i)是用于图片i的双预测的两个基准的指数。如果可访问双预测SAD统计,那么应使用它们以替代以上的确定。
在其它的实施例中,如果可用的SAD预测误差仅包含单一预测运动估计,那么可通过在块级别上施加最小化获得双预测SAD的更精确的估计。在例子中,B可表示图片中的块的总数,并且,SADm b(n)可表示图片m中的块b的预测从图片n中的一些块的单一预测SAD误差。在图片中的所有块上,复杂性估算可以是来自两个基准中的每一个的基于块的SAD的最小值的和。该复杂性估算可被表达为:
c i , temporal = &Sigma; b = 1 B min ( SAD i b ( R 0 ( i ) ) , SA D i b ( R 1 ( i ) ) )
编码参数修改规则可基于以下的前提:如果分层结构中的图片的复杂性超过锚定图片的复杂性的分数或从锚定图片的复杂性导出的一些阈值,那么编码参数应被修改以减少位使用。该算法的一个可能的实施例可具有以下的表达式:
B i cmplx = Clip 3 ( 0 , Q , c i , temporal &delta; &times; c ( i , LIST _ 1 ) , temporal ) ,
这里,δ是大于零的浮点数并且可取小于1的值。阈值Q取正值并且可被设为例如2的小的整数值。
即使以上术语图片被称为最小的编码单元,在本公开中给出的所有算法和实施例也适用于场/交错编码、每个图片的多个片断以及块或块区域的使用。该方法还虑及任意的基于区域的编码。
空间编码参数调整
前面对于分层预测结构的编码参数分配的讨论趋于涉及选择用于将图片编码的编码参数。为了进一步提高压缩性能,可以在宏块的基础上改变编码参数以虑及空间统计的变化。与以上的复杂性估计的部分的公开类似,可通过使用一些宏块复杂性量度调制宏块(例如,16×16像素的块)的编码参数,该宏块复杂性量度又是几种类型的复杂性的函数。在诸如H.264/AVC的现代的视频编解码器中,编码参数可向下调整到4×4像素块的粒度。这些类型的复杂性的函数可以是相加或相乘的,并且,该函数的值越高,则越多的压缩伪像可被遮掩。
在例子中,m和n可分别表示图片中的宏块的级别和垂直坐标。并且,M和N可分别表示用宏块单位测量的图片的级别和垂直长度。以下的测量是函数的参数,这里,参数包含空间变化cvar、边缘信息cedge、质地信息ctexture、亮度信息clum和时间复杂性信息ctemporal
(a)空间变化cvar
该复杂性量度可以是宏块基础上的空间变化确定的一些形式。首先,可以确定块中的亮度和/或色度像素值的平均值。其次,作为空间变化,可以算出各单个像素之间的差值的平方的平均值和事先确定的平均值。作为替代方案,可以使用诸如像素值的块内交叉相关的可捕获空间可变性的另一量度。
(b)边缘信息cedge
可通过应用诸如Sobel或Prewitt滤波器的边缘检测滤波器收集边缘信息。检测的边缘信息的大小和取向可以是宏块中的边缘内容的指示。可通过应用一些空间转变并评价代表某些水平和垂直频率的系数收集类似的信息。
(c)质地信息ctexture
可通过诸如将代表某些空间频率的某些转变系数的平方值求和的各种方法收集质地信息。适用于该应用的转变可包含离散余弦转变、离散小波转变以及细带和细缘(edge-let)转变等。
(d)亮度信息clum
该参数可代表宏块的平均亮度和/或色度值。
(e)时间复杂性信息ctemporal
如上面讨论的那样,该时间复杂性可反映图片级别的时间复杂性的估计和过滤。该时间复杂性还可以是运动矢量大小的函数。差异在于,例如SAD的值是各单个块或宏块的值。使用这种类型的复杂性的原因之一是,如果某些块与同一图片中的其它块相比由更明显的运动表征,那么,由于运动将遮掩压缩伪像,因此,它们可以以较低的质量被编码。
从以上的参数(a)~(e),各块的最终空间复杂性可被表达如下:
cspatial(m,n)=f(cvar(m,n),cadge(m,n),ctexture(m,n),clum(m,n),ctemporal(m,n)).
在一些实施例中,用于将各块编码的QP修改量的第一表达式可被写为:
QP mod ( m , n ) = Clip 3 ( - d , d , &alpha; &times; c spatial ( m , n ) - &gamma; M &times; N &Sigma; i = 1 M &Sigma; j = 1 N c spatial ( i , j ) &beta; M &times; N &Sigma; i = 1 M &Sigma; j = 1 N c spatial ( i , j ) - b )
参数d和b可被用于约束和集中QP偏移,而参数α、β和γ可在模拟之后被选择。在一个可能的实施例中,参数b和d可被设为1和2。选择的QP然后可被过滤以减少邻近块中的QP的大的变化。例如,与所有邻居不同的块的QP值可被设为邻居的平均值。该过滤操作产生QPmod,f(m,n)。用于将块编码的最终的QP可偏移以保证整个图片的平均QP值将等于通过当前图片QP的速率分配/控制选择的QP:
QP ( m , n ) = QP + QP mod , f ( m , n ) - 1 M &times; N &Sigma; i = 1 M &Sigma; j = 1 N QP mod , f ( i , j ) .
可进一步修改QP,使得满足编码器和解码器缓冲约束。如果编码器预测缓冲溢出(overflow)或下溢(underflow)即将到来,那么编码器可因此增加或减小QP,使得满足约束。对于实现目标位速率同样如此。如果位消耗太多,那么,给定来自先前图片的编码统计,编码器可通过增加它们的QP值对于某些区域或块分配更少的位。类似地,如果利用不足够的位,那么某些块的QP值可减小。
在一些实现中,参数分配可以随确定图片的位置(例如,它们的当前级别和它们在时间中的位置)而变。级别0可代表最高的优先级别。特别地,一旦相同级别内的已编码的图片已被首先解码,级别0就可具有可被解码的图片。这些图片可具有比其它的较低级别的图片好的质量。
QP或速率分配还可参照相同块或其它块内的其它图片依赖于片断类型或预测类型。另一因素可包含是否可使用图片以预测其它的图片。例如,一些图片可被舍弃并且不对质量或位速率贡献很多。
图17表示提出的速率控制算法的各步骤中的一些的示例图。帧编码开始1710,并且,对于剩余的位、目标位速率和缓冲器执行初始化1715。如以上的复杂性估计的部分所述,对于当前帧确定复杂性估计1720。如复杂性过滤和质量/位速率考虑的部分公开的那样,对于当前帧确定滤波器复杂性1725。该确定1725考虑场景类型和其它的考虑。如以上的采用预见的速率分配和/或采用预见的高复杂性和低复杂性单一道次速率控制的部分公开和教导的那样,对于当前帧选择初始的编码参数1730。如以上的对于分层预测结构的编码参数分配的部分公开和教导的那样,调整分层帧的编码参数1735。然后,如以上的空间编码参数分配的部分公开的那样,在帧内调整编码参数1740。然后,帧编码终止1750。其它的流程图或实现可与图17所示的次序、步骤和/或步骤的类型不同。
示例性系统
图18示出可使用这里描述的技术中的任一种(或任意组合)的系统的例子。可以在一个或更多个计算机1805A、1805B上使用这些技术。可以用计算机和/或视频显示器1820、传送、处理和重放系统实现或在其中使用这里的一种或更多方法(例如,算法/过程)。这里描述的计算机可以是任意类型的计算机,包括通用型或诸如工作站的一些特定用途计算机。计算机1805B可以为例如运行Windows XPTM、VistaTM或LinuxTM的基于Intel或AMD的计算机,或者可以是Macintoch计算机。例如,实施例可涉及诸如PDA 1815、手机1815的手持计算机或膝上型计算机1805A。计算机还可指的是用于图像记录或接收1825、1830、1835、处理、存储1840和数据、特别是视频数据的分配的机器或机器的多个部分。
这里描述的实施例的任何组合可以是视频系统及其部件的一部分。如图1的示例性视频编码器和/或其它部件那样,实施例的任意组合可以是视频编码器的一部分。可以在硬件和/或软件中实现实施例的任意组合。例如,可以用计算机程序实现实施例中的任一个。
可以以C或Python或Java、Brew或任何其它的编程语言书写计算机和/或图形程序。程序可驻留于例如计算机硬盘驱动器、诸如记忆棒或SD介质的可去除盘或介质的例如磁学或光学的存储介质、基于有线或无线网络或基于蓝牙(或其它)的网络固定存储器(NAS)或其它的固定或可去除介质上。例如,程序还可在网络1850上运行,使得服务器或其它的机器向本地机器发送允许本地机器实施这里描述的的操作的通信。网络可包含存储区域网络(SAN)。
虽然以上仅详细描述几个实施例,但其它的实施例是可能的。应当理解,本发明的实施例可包含这里描述的示例性技术的一个或更多个的等同物或替代。本说明书说明特定的例子以以另一方式实现更一般的目标。该描述应被理解为代表示例性实施例,并且,后面的权利要求意图在于包含任何的等同物、修改或替代方式。
可以在数字电子电路中或在包含在本说明书中公开的结构和它们的结构等同物的计算机软件、固件或软件中或在它们中的一个或更多个的组合中实现在本说明书中描述的主题和功能操作的实施例。可以作为一个或更多个计算机程序产品实现在本说明书中描述的主题的实施例,例如,一个或更多个计算机程序产品为被编码在计算机可读介质上的由数据处理装置执行或控制其操作的计算机程序指令的一个或更多个模块。计算机可读介质可以是机器可读存储装置1840、机器可读存储基板、存储装置、实现机器可读传播、处理通信的物质成分或它们中的一个或更多个的组合。术语“数据处理装置”包含所有的用于处理数据的装置、设备和机器,包括借助于示例性的可编程处理器、计算机或多个处理器或计算机。除了硬件以外,装置可包含产生讨论的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、图形系统、数据库管理系统、操作系统或它们中的一个或更多个的组合的代码。
可以以任意形式的编程语言书写计算机程序(也称为程序、软件、软件应用、脚本或代码),包括编译或解释语言,并且可以以任何形式被展开,包括展开为用于计算环境中的单机程序或模块、部件、子程序或其它的单元。计算机程序未必与文件系统中的文件对应。程序可被存储于保持其它的程序或数据的文件(例如,存储于标记语言文档中的一个或更多个脚本)的一部分中、存储于专用于讨论中的程序的单一文件中、或存储于多个协同文件(例如,存储一个或更多个模块、子程序或代码的多个部分的文件)中。计算机程序可被展开以在一个计算机上或在位于一个地点或位于分布的多个地点并且通过通信网络互连的多个计算机上被执行。
可以由通过在输入数据上操作并且产生输出执行一个或更多个计算机程序以执行功能的一个或更多个可编程处理器执行在本说明书中说明和描述的处理器和逻辑流程和示图。还可通过例如FPGA(场可编程门阵列)或诸如微控制器的另一可编程逻辑器件(PLD)或ASIC(应用特定集成电路)的特定用途逻辑电路执行处理和逻辑流程,并且,也可作为该特定用途逻辑电路实现装置。
作为例子,适用执行计算机程序的处理器包含通用或特定用途微处理器以及任何类型的数字计算机的任意一个或更多个处理器。一般地,处理器可从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本要素是用于执行指令的处理器和用于存储指令和数据的一个或更多个存储器装置。一般地,计算机还可包含一个或更多个用于存储数据的例如磁盘、磁光盘或光盘的大规模存储装置,或者可操作地与其耦合以从和/或向其接收和/或传送数据。但是,计算机不需要具有这种装置。并且,计算机可被嵌入另一装置中,作为该装置的例子,可以举出移动电话、个人数字助理(PDA)、移动音频播放器、全球定位系统(GPS)接收器。适于存储计算机程序指令和数据的计算机可读介质包含所有形式的非易失性存储器、介质和存储装置,作为例子包含半导体存储装置,例如EPROM、EEPROM和闪存装置;磁盘,例如,内部硬盘或可去除盘;磁光盘;和CD ROM和DVD-ROM盘。处理器和存储器可由特定用途逻辑电路补充或被加入其中。
为了提供与用户的交互作用,可以在具有用于向用户显示信息的例如CRT(阴极射线管)、LCD(液晶显示器)或等离子显示监视器的显示装置1820和用户可借由向计算机提供输入的键盘和例如指示装置、鼠标或跟踪球的选择器的计算机上实现在本说明书中描述的主题的一些实施例。也可以使用其它的类型的装置,以提供与用户的交互作用:例如,向用户提供的反馈可以是任何形式的传感器反馈,例如,视觉反馈、听觉反馈或触觉反馈;并且,来自用户的输入可以以任何形式被接收,包括声学、语音或触觉输入。
可以在包含例如作为数据服务器的后端部件、或包含例如应用服务器的中端部件或包含例如具有用户可借由与在本说明书中描述的主题的实施例交互作用的图形用户界面或网络浏览器的客户计算机的前端部件或一个或更多个这种后端、中端或前端部件的任意组合的计算系统中实现在本说明书中描述的主题的一些实施例。系统的部件可以通过例如通信网络的数字数据通信的任意形式或介质互连。通信网络的例子包含局域网(“LAN”)和例如因特网的广域网(“WAN”)。
计算系统可包含客户机和服务器。客户机和服务器一般相互远离并且一般通过通信网络交互作用。客户机和服务器借由在各计算机上运行并且相互具有客户机-服务器关系的计算机程序发生关系。
虽然本公开包含许多的细节,但是它们不应被解释为限制可要求保护的内容,而应被解释为本发明的具体实施例的具体特征的描述。还可在单个实施例中组合实现在各单独的实施例的上下文中在本说明书中描述的某些特征。相反,还可单独地或在任何适当的再组合中在多个实施例中实现在单个实施例的上下文中描述的各种特征。并且,虽然以上特征可被描述为在某些组合中起作用并且甚至因而被初始地要求保护,但是,在一些情况下可以从组合去除来自要求权利的组合的一个或更多个特征,并且,要求保护的组合可针对再组合或再组合的变更方式。
类似地,虽然以特定的次序在附图中示出操作,但这不应被理解为要求以示出的特定次序或依次执行这些操作或者执行所有示出的操作以实现希望的结果。在某些情况下,多任务和并行的处理会是有利的。并且,以上描述的实施例中的各种系统部件的分开不应被理解为在所有的实施例中需要这种分开,并且,应当理解,描述的程序部件和系统一般可在单一的软件或硬件产品中被集成在一起,或者被封装到多个软件或硬件产品中。
在一些实现中,利用方法/算法中的一个或更多个的系统可包含视频编码器、任选的运动估计和补偿预分析器、任选的空间统计分析模块、选择编码参数的一个或多个速率控制模块、从编码过程收集有用的统计的多个统计模块、从运动估计和补偿预分析器收集统计的任选的统计模块、包括可融合来自任选的MEMC预分析器的统计的决定模块和/或视频编码器、速率分配的控制器、各种控制模块和/或译码器。
运动估计可利用任意算法,包括基于块和基于区域的运动估计、相位相关和像素回归技术等,并且,可以使用各种运动模型,包括平移、仿射和抛物线等。因此,已描述了本公开的特定的实施例/实现。其它的实施例在以下的权利要求的范围内。

Claims (24)

1.一种以包括I、P和B类型的编码类型对用于视频的图片进行编码的方法,所述方法包括:
利用预分析器基于对过去的图片或将来的图片的复杂性的分析估计当前图片的复杂性,其中估计所述复杂性包括:利用所述预分析器确定指示当前图片与过去的图片或将来的图片的时间相关性的量度;
利用所述预分析器确定当前图片与过去的图片或将来的图片的相关性的水平;以及
如果当前图片与将来的图片的时间相关性高则对包括I、P和B类型的编码类型以较高的保真度水平对当前图片进行编码。
2.如权利要求1所述的方法,进一步包括:利用具有运动补偿预测的编码器以当前图片的质量水平对过去的图片或将来的图片进行编码,其中所述相关性的水平包含时间相关性的水平。
3.如权利要求1所述的方法,其中,所确定的量度是运动补偿的总绝对差(SAD)量度、均方误差(MSE)量度、畸变量度、总方误差(SSE)量度、平均绝对差(MAD)量度或者视频质量指数(VQI)量度。
4.如权利要求1所述的方法,
进一步包括:通过执行运动估计和补偿来预测所述量度,所述运动估计和补偿所使用的至少一个基准图片不同于在编码期间所考虑的基准图片中的任何图片。
5.如权利要求1所述的方法,其中所述编码包括:
改变用于编码的基准图片;
改变时间预测距离以调整到源统计;以及
改变运动补偿预测基准。
6.如权利要求1所述的方法,其中所述预分析器的预测的类型、帧的数量以及帧的位置不同于执行编码的编码器的预测的类型、帧的数量以及帧的位置。
7.如权利要求6所述的方法,进一步包括:使用从所述预分析器产生的估计来确定所述编码器中的速率分配和速率控制。
8.如权利要求6所述的方法,其中,对于一系列的帧,所述预分析器的预测的类型、帧的数量以及帧的位置是固定的。
9.如权利要求6所述的方法,其中,对于一系列的帧,所述预分析器的预测的类型、帧的数量以及帧的位置是固定的,并且,对于该系列的帧的编码,所述编码器的预测的类型、帧的数量以及帧的位置是可调整的。
10.如权利要求9所述的方法,进一步包括:将所确定的当前图片与过去的图片和将来的图片的相关性的水平转变成使用过去的编码统计或线性回归自适应地更新的并且在编码期间使用的复杂性的估计。
11.如权利要求1所述的方法,
其中,确定相关性的水平进一步包括:利用从单预测或双预测得到的畸变量度。
12.如权利要求1所述的方法,进一步包括:
从与当前图片的复杂性的估计关联的多个量度得到多个候选编码参数组;
基于利用多个复杂性量度的多个速率控制模型将所述量度中的一个或多个最小化或最大化;以及
基于将所述量度中的一个或多个的最小化或最大化选择所述候选编码参数组中的至少一个用于编码。
13.一种以包括I、P和B类型的编码类型对用于视频的图片进行编码的系统,所述系统包括:
用于利用预分析器基于对过去的图片或将来的图片的复杂性的分析估计当前图片的复杂性的装置,其中估计所述复杂性包括:利用所述预分析器确定指示当前图片与过去的图片或将来的图片的时间相关性的量度;
用于利用所述预分析器确定当前图片与过去的图片或将来的图片的相关性的水平的装置;以及
用于如果当前图片与将来的图片的时间相关性高则对包括I、P和B类型的编码类型以较高的保真度水平对当前图片进行编码的装置。
14.如权利要求13所述的系统,进一步包括:用于利用具有运动补偿预测的编码器以当前图片的质量水平对过去的图片或将来的图片进行编码的装置,其中所述相关性的水平包含时间相关性的水平。
15.如权利要求13所述的系统,其中,所确定的量度是运动补偿的总绝对差(SAD)量度、均方误差(MSE)量度、畸变量度、总方误差(SSE)量度、平均绝对差(MAD)量度或者视频质量指数(VQI)量度。
16.如权利要求13所述的系统,
进一步包括:用于通过执行运动估计和补偿来预测所述量度的装置,所述运动估计和补偿所使用的至少一个基准图片不同于在编码期间所考虑的基准图片中的任何图片。
17.如权利要求13所述的系统,其中所述编码的装置包括:
用于改变用于编码的基准图片的装置;
用于改变时间预测距离以调整到源统计的装置;以及
用于改变运动补偿预测基准的装置。
18.如权利要求13所述的系统,其中所述预分析器的预测的类型、帧的数量以及帧的位置不同于执行编码的编码器的预测的类型、帧的数量以及帧的位置。
19.如权利要求18所述的系统,进一步包括:用于使用从所述预分析器产生的估计来确定所述编码器中的速率分配和速率控制的装置。
20.如权利要求18所述的系统,其中,对于一系列的帧,所述预分析器的预测的类型、帧的数量以及帧的位置是固定的。
21.如权利要求18所述的系统,其中,对于一系列的帧,所述预分析器的预测的类型、帧的数量以及帧的位置是固定的,并且,对于该系列的帧的编码,所述编码器的预测的类型、帧的数量以及帧的位置是可调整的。
22.如权利要求21所述的系统,进一步包括:用于将所确定的当前图片与过去的图片和将来的图片的相关性的水平转变成使用过去的编码统计或线性回归自适应地更新的并且在编码期间使用的复杂性的估计的装置。
23.如权利要求13所述的系统,
其中,用于确定相关性的水平的装置进一步包括:用于利用从单预测或双预测得到的畸变量度的装置。
24.如权利要求13所述的系统,进一步包括:
用于从与当前图片的复杂性的估计关联的多个量度得到多个候选编码参数组的装置;
用于基于利用多个复杂性量度的多个速率控制模型将所述量度中的一个或多个最小化或最大化的装置;以及
用于基于将所述量度中的一个或多个的最小化或最大化选择所述候选编码参数组中的至少一个用于编码的装置。
CN200880115861.7A 2007-09-28 2008-09-08 视频压缩和传送技术 Active CN101855910B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US97638107P 2007-09-28 2007-09-28
US60/976,381 2007-09-28
PCT/US2008/075605 WO2009045683A1 (en) 2007-09-28 2008-09-08 Video compression and tranmission techniques

Publications (2)

Publication Number Publication Date
CN101855910A CN101855910A (zh) 2010-10-06
CN101855910B true CN101855910B (zh) 2014-10-29

Family

ID=40329263

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880115861.7A Active CN101855910B (zh) 2007-09-28 2008-09-08 视频压缩和传送技术

Country Status (5)

Country Link
US (4) US9445110B2 (zh)
EP (2) EP2227020B1 (zh)
JP (1) JP5427785B2 (zh)
CN (1) CN101855910B (zh)
WO (1) WO2009045683A1 (zh)

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060055472A (ko) * 2003-06-25 2006-05-23 톰슨 라이센싱 변위된 프레임 차분을 이용하여 가중된 예측 추정을 위한방법 및 장치
US8873932B2 (en) 2007-12-11 2014-10-28 Cisco Technology, Inc. Inferential processing to ascertain plural levels of picture interdependencies
US20090180546A1 (en) 2008-01-09 2009-07-16 Rodriguez Arturo A Assistance for processing pictures in concatenated video streams
US8804845B2 (en) 2007-07-31 2014-08-12 Cisco Technology, Inc. Non-enhancing media redundancy coding for mitigating transmission impairments
US8958486B2 (en) * 2007-07-31 2015-02-17 Cisco Technology, Inc. Simultaneous processing of media and redundancy streams for mitigating impairments
BRPI0817655A2 (pt) * 2007-10-05 2015-03-31 Thomson Licensing Método e aparelho para precisão de controle de taxa em codificação e decodificação de vídeo
KR101336951B1 (ko) * 2007-11-02 2013-12-04 삼성전자주식회사 휴대 단말기 및 그 파노라마 이미지 촬영 모드 수행 방법
EP2101503A1 (en) * 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
JP4992117B2 (ja) * 2008-03-24 2012-08-08 株式会社メガチップス 画像処理装置
US8886022B2 (en) 2008-06-12 2014-11-11 Cisco Technology, Inc. Picture interdependencies signals in context of MMCO to assist stream manipulation
US8699578B2 (en) 2008-06-17 2014-04-15 Cisco Technology, Inc. Methods and systems for processing multi-latticed video streams
US8971402B2 (en) 2008-06-17 2015-03-03 Cisco Technology, Inc. Processing of impaired and incomplete multi-latticed video streams
US10123050B2 (en) * 2008-07-11 2018-11-06 Qualcomm Incorporated Filtering video data using a plurality of filters
WO2010017166A2 (en) 2008-08-04 2010-02-11 Dolby Laboratories Licensing Corporation Overlapped block disparity estimation and compensation architecture
BRPI0822986A2 (pt) * 2008-08-08 2015-06-23 Thomson Licensing Métodos e aparelhagens para detecção de inconsistências sob forma de interferências obscuras
US8750379B2 (en) * 2008-09-11 2014-06-10 General Instrument Corporation Method and apparatus for complexity-scalable motion estimation
US8654835B2 (en) * 2008-09-16 2014-02-18 Dolby Laboratories Licensing Corporation Adaptive video encoder control
EP2356812B1 (en) * 2008-11-12 2015-06-10 Cisco Technology, Inc. Processing of a video program having plural processed representations of a single video signal for reconstruction and output
US8897365B2 (en) * 2008-11-19 2014-11-25 Nvidia Corporation Video rate control processor for a video encoding process
US8605791B2 (en) * 2008-11-21 2013-12-10 Nvidia Corporation Video processor using an optimized slicemap representation
EP2200319A1 (en) 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
KR101567974B1 (ko) * 2009-01-05 2015-11-10 에스케이 텔레콤주식회사 블록 모드 부호화/복호화 방법 및 장치와 그를 이용한 영상부호화/복호화 방법 및 장치
US9143803B2 (en) * 2009-01-15 2015-09-22 Qualcomm Incorporated Filter prediction based on activity metrics in video coding
EP2219342A1 (en) 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
US9110849B2 (en) * 2009-04-15 2015-08-18 Qualcomm Incorporated Computing even-sized discrete cosine transforms
GB2469528B (en) * 2009-04-18 2011-10-05 Saffron Digital Ltd Transcoding video data
WO2010126437A1 (en) * 2009-04-28 2010-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Distortion weighing
US8949883B2 (en) 2009-05-12 2015-02-03 Cisco Technology, Inc. Signalling buffer characteristics for splicing operations of video streams
US9069713B2 (en) * 2009-06-05 2015-06-30 Qualcomm Incorporated 4X4 transform for media coding
US8762441B2 (en) * 2009-06-05 2014-06-24 Qualcomm Incorporated 4X4 transform for media coding
US8279926B2 (en) 2009-06-18 2012-10-02 Cisco Technology, Inc. Dynamic streaming with latticed representations of video
US9118898B2 (en) * 2009-06-24 2015-08-25 Qualcomm Incorporated 8-point transform for media data coding
US8451904B2 (en) 2009-06-24 2013-05-28 Qualcomm Incorporated 8-point transform for media data coding
US9081733B2 (en) * 2009-06-24 2015-07-14 Qualcomm Incorporated 16-point transform for media data coding
US9075757B2 (en) * 2009-06-24 2015-07-07 Qualcomm Incorporated 16-point transform for media data coding
KR101624649B1 (ko) * 2009-08-14 2016-05-26 삼성전자주식회사 계층적인 부호화 블록 패턴 정보를 이용한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US8635357B2 (en) * 2009-09-08 2014-01-21 Google Inc. Dynamic selection of parameter sets for transcoding media data
EP2302933A1 (en) * 2009-09-17 2011-03-30 Mitsubishi Electric R&D Centre Europe B.V. Weighted motion compensation of video
US8767825B1 (en) * 2009-11-30 2014-07-01 Google Inc. Content-based adaptive video transcoding framework
US20110135011A1 (en) * 2009-12-04 2011-06-09 Apple Inc. Adaptive dithering during image processing
CN102714725B (zh) * 2010-01-06 2015-04-29 杜比实验室特许公司 用于多层视频编码应用的高性能码率控制
CN105847806B (zh) * 2010-01-06 2019-05-03 Oppo广东移动通信有限公司 视频信息编码方法和视频信息编码系统
TW201134223A (en) * 2010-03-29 2011-10-01 Univ Nat Taiwan Perceptual video encoding system and circuit thereof
US20110255594A1 (en) * 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
TWI421798B (zh) * 2010-04-27 2014-01-01 Novatek Microelectronics Corp 影像壓縮之位元率控制方法及其裝置
KR20110123651A (ko) 2010-05-07 2011-11-15 한국전자통신연구원 생략 부호화를 이용한 영상 부호화 및 복호화 장치 및 그 방법
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
JP5625543B2 (ja) * 2010-06-28 2014-11-19 ソニー株式会社 符号化装置、電子機器、撮像装置、および撮像システム
US9094685B2 (en) * 2010-09-21 2015-07-28 Dialogic Corporation Efficient coding complexity estimation for video transcoding systems
US9172960B1 (en) * 2010-09-23 2015-10-27 Qualcomm Technologies, Inc. Quantization based on statistics and threshold of luminanceand chrominance
US8861617B2 (en) 2010-10-05 2014-10-14 Mediatek Inc Method and apparatus of region-based adaptive loop filtering
EP2458861A1 (en) * 2010-11-25 2012-05-30 ST-Ericsson SA Bit rate regulation module and method for regulating bit rate
US10021385B2 (en) * 2010-12-27 2018-07-10 Nec Corporation Video encoding device, video decoding device, video encoding method, video decoding method, and program
US9824066B2 (en) 2011-01-10 2017-11-21 Qualcomm Incorporated 32-point transform for media data coding
US9066097B2 (en) * 2011-02-01 2015-06-23 Sony Corporation Method to optimize the transforms and/or predictions in a video codec
US8964852B2 (en) 2011-02-23 2015-02-24 Qualcomm Incorporated Multi-metric filtering
WO2012117744A1 (en) * 2011-03-03 2012-09-07 Panasonic Corporation Method of encoding an image into a coded image, method of decoding a coded image, and apparatuses thereof
JP5410638B2 (ja) * 2011-03-10 2014-02-05 日本電信電話株式会社 量子化制御装置及び方法、及び量子化制御プログラム
US8861593B2 (en) * 2011-03-15 2014-10-14 Sony Corporation Context adaptation within video coding modules
US8902973B2 (en) * 2011-04-05 2014-12-02 Dialogic Corporation Perceptual processing techniques for video transcoding
US8804820B2 (en) * 2011-04-21 2014-08-12 Dialogic Corporation Rate control with look-ahead for video transcoding
CN102158729B (zh) * 2011-05-05 2012-11-28 西北工业大学 无参考的视频序列编码质量客观评价方法
GB2492163B (en) 2011-06-24 2018-05-02 Skype Video coding
GB2492329B (en) 2011-06-24 2018-02-28 Skype Video coding
GB2492330B (en) 2011-06-24 2017-10-18 Skype Rate-Distortion Optimization with Encoding Mode Selection
US9060173B2 (en) * 2011-06-30 2015-06-16 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
US9338465B2 (en) * 2011-06-30 2016-05-10 Sharp Kabushiki Kaisha Context initialization based on decoder picture buffer
EP2544450B1 (en) * 2011-07-07 2016-04-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Model parameter estimation for a rate- or distortion-quantization model function
US9369723B2 (en) * 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
WO2013019517A1 (en) 2011-08-02 2013-02-07 Ciinow, Inc. A method and mechanism for efficiently delivering visual data across a network
GB2493777A (en) 2011-08-19 2013-02-20 Skype Image encoding mode selection based on error propagation distortion map
CN107277548B (zh) 2011-08-29 2019-12-06 苗太平洋控股有限公司 以合并模式对图像编码的方法
GB2495469B (en) 2011-09-02 2017-12-13 Skype Video coding
GB2495467B (en) * 2011-09-02 2017-12-13 Skype Video coding
GB2495468B (en) 2011-09-02 2017-12-13 Skype Video coding
WO2013043919A1 (en) * 2011-09-21 2013-03-28 General Instrument Corporation Constrained fidelity adaptive bitrate encoding systems and methods
WO2013043918A1 (en) * 2011-09-21 2013-03-28 General Instrument Corporation Adaptive streaming to multicast and constrained-fidelity constant bit rate encoding
DE102011119177A1 (de) * 2011-11-23 2013-05-23 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Verfahren zum Erstellen eines ersten Parametersatzes
US10728545B2 (en) 2011-11-23 2020-07-28 Texas Instruments Incorporated Method and system of bit rate control
US9094684B2 (en) 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
CN104012090B (zh) * 2011-12-23 2018-01-26 英特尔公司 内容自适应的高精度宏块速率控制
JP5988577B2 (ja) * 2011-12-28 2016-09-07 キヤノン株式会社 画像符号化装置、画像符号化方法及びプログラム
EP2803190B1 (en) * 2012-01-09 2017-10-25 Dolby Laboratories Licensing Corporation Hybrid reference picture reconstruction method for multiple layered video coding systems
US9020294B2 (en) 2012-01-18 2015-04-28 Dolby Laboratories Licensing Corporation Spatiotemporal metrics for rate distortion optimization
US9307237B2 (en) * 2012-01-19 2016-04-05 Futurewei Technologies, Inc. Reference pixel reduction for intra LM prediction
JP2015517233A (ja) 2012-02-29 2015-06-18 ドルビー ラボラトリーズ ライセンシング コーポレイション 改善された画像処理およびコンテンツ送達のための画像メタデータ生成
US9432694B2 (en) 2012-03-06 2016-08-30 Apple Inc. Signal shaping techniques for video data that is susceptible to banding artifacts
US9438918B2 (en) * 2012-04-23 2016-09-06 Intel Corporation Frame level rate control using motion estimated distortions
CN103428523B (zh) * 2012-05-22 2015-07-08 华为技术有限公司 评估视频质量的方法和装置
KR101373704B1 (ko) * 2012-05-29 2014-03-14 주식회사 코아로직 적응적 가중치 예측을 이용한 영상 처리 방법
US9532080B2 (en) 2012-05-31 2016-12-27 Sonic Ip, Inc. Systems and methods for the reuse of encoding information in encoding alternative streams of video data
JP2015530807A (ja) * 2012-08-27 2015-10-15 トムソン ライセンシングThomson Licensing ビデオ品質評価のためにコンテンツ複雑性を推定する方法および装置
US9053191B2 (en) * 2012-08-30 2015-06-09 Facebook, Inc. Retroactive search of objects using k-d tree
US20140112384A1 (en) * 2012-10-22 2014-04-24 General Instrument Corporation Algorithms for determining bitrate for a statistical multiplexing system using scene change
US9807388B2 (en) * 2012-10-29 2017-10-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Adaptive intra-refreshing for video coding units
US8948529B1 (en) 2012-10-30 2015-02-03 Google Inc. Multi-pass encoding
US9497424B2 (en) * 2012-12-05 2016-11-15 At&T Mobility Ii Llc System and method for processing streaming media of an event captured by nearby mobile phones
US9374585B2 (en) * 2012-12-19 2016-06-21 Qualcomm Incorporated Low-delay buffering model in video coding
BR112015015575A2 (pt) * 2013-01-30 2020-02-04 Intel Corp particionamento adaptativo ao conteúdo para a previsão e codificação para vídeo da próxima geração
WO2014130213A1 (en) 2013-02-21 2014-08-28 Dolby Laboratories Licensing Corporation Systems and methods for appearance mapping for compositing overlay graphics
US10055866B2 (en) 2013-02-21 2018-08-21 Dolby Laboratories Licensing Corporation Systems and methods for appearance mapping for compositing overlay graphics
US9621902B2 (en) * 2013-02-28 2017-04-11 Google Inc. Multi-stream optimization
US9357210B2 (en) 2013-02-28 2016-05-31 Sonic Ip, Inc. Systems and methods of encoding multiple video streams for adaptive bitrate streaming
CA2809731A1 (fr) * 2013-03-18 2014-09-18 Ecole De Technologie Superieure Adaptation de fichiers video sous contraintes de taille et de resolution
US9338450B2 (en) 2013-03-18 2016-05-10 Ecole De Technologie Superieure Method and apparatus for signal encoding producing encoded signals of high fidelity at minimal sizes
US10609405B2 (en) 2013-03-18 2020-03-31 Ecole De Technologie Superieure Optimal signal encoding based on experimental data
US9661331B2 (en) 2013-03-18 2017-05-23 Vantrix Corporation Method and apparatus for signal encoding realizing optimal fidelity
KR101450645B1 (ko) * 2013-04-26 2014-10-15 주식회사 코아로직 비디오 비트율 제어 방법 및 장치
US20140321533A1 (en) * 2013-04-29 2014-10-30 Ati Technologies Ulc Single-path variable bit rate video compression
GB201308073D0 (en) * 2013-05-03 2013-06-12 Imagination Tech Ltd Encoding an image
US10440365B2 (en) * 2013-06-28 2019-10-08 Velos Media, Llc Methods and devices for emulating low-fidelity coding in a high-fidelity coder
US20150063461A1 (en) * 2013-08-27 2015-03-05 Magnum Semiconductor, Inc. Methods and apparatuses for adjusting macroblock quantization parameters to improve visual quality for lossy video encoding
US20150071343A1 (en) * 2013-09-12 2015-03-12 Magnum Semiconductor, Inc. Methods and apparatuses including an encoding system with temporally adaptive quantization
US9154782B2 (en) * 2013-09-16 2015-10-06 Magnum Semiconductor, Inc. Apparatuses and methods for adjusting coefficients using dead zones
US10356405B2 (en) 2013-11-04 2019-07-16 Integrated Device Technology, Inc. Methods and apparatuses for multi-pass adaptive quantization
GB2518909B (en) 2013-12-16 2015-10-28 Imagination Tech Ltd Encoder adaptation
US20150172680A1 (en) * 2013-12-16 2015-06-18 Arris Enterprises, Inc. Producing an Output Need Parameter for an Encoder
CN104159095B (zh) * 2014-02-19 2016-12-07 上海大学 一种多视点纹理视频和深度图编码的码率控制方法
US9516345B2 (en) 2014-03-17 2016-12-06 Qualcomm Incorporated Systems and methods for low complexity forward transforms using mesh-based calculations
US9432696B2 (en) * 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
JP6373033B2 (ja) * 2014-03-28 2018-08-15 キヤノン株式会社 符号化装置及び符号化方法
US10397574B2 (en) * 2014-05-12 2019-08-27 Intel Corporation Video coding quantization parameter determination suitable for video conferencing
US9288510B1 (en) * 2014-05-22 2016-03-15 Google Inc. Adaptive video transcoding based on parallel chunked log analysis
JP2016066922A (ja) * 2014-09-25 2016-04-28 ソニー株式会社 信号処理装置、撮像装置、および、それらにおける信号処理方法。
US10283091B2 (en) * 2014-10-13 2019-05-07 Microsoft Technology Licensing, Llc Buffer optimization
US10136133B2 (en) * 2014-11-11 2018-11-20 Dolby Laboratories Licensing Corporation Rate control adaptation for high-dynamic range images
FR3029381A1 (fr) * 2014-11-27 2016-06-03 Orange Procede de composition d’une representation video intermediaire
US10021396B1 (en) * 2014-12-30 2018-07-10 Ambarella, Inc. Motion detection based on observing several pictures
US11356709B2 (en) * 2015-01-05 2022-06-07 Arris Enterprises Llc Using motion compensated temporal filter (MCTF) statistics for scene change detection when a fade, dissolve or cut occurs
US9955168B2 (en) * 2015-02-11 2018-04-24 Arris Enterprises Llc Constraining number of bits generated relative to VBV buffer
FR3033114A1 (fr) * 2015-02-19 2016-08-26 Orange Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
JP6394462B2 (ja) * 2015-03-30 2018-09-26 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
US9936203B2 (en) * 2015-04-13 2018-04-03 Qualcomm Incorporated Complex region detection for display stream compression
US10244255B2 (en) 2015-04-13 2019-03-26 Qualcomm Incorporated Rate-constrained fallback mode for display stream compression
US10356428B2 (en) 2015-04-13 2019-07-16 Qualcomm Incorporated Quantization parameter (QP) update classification for display stream compression (DSC)
US10284849B2 (en) 2015-04-13 2019-05-07 Qualcomm Incorporated Quantization parameter (QP) calculation for display stream compression (DSC) based on complexity measure
US9781420B2 (en) * 2015-08-12 2017-10-03 Cisco Technology, Inc. Quality metric for compressed video
FR3040849A1 (fr) * 2015-09-04 2017-03-10 Stmicroelectronics (Grenoble 2) Sas Procede de compression d'un flux de donnees video
WO2017105391A1 (en) * 2015-12-14 2017-06-22 Arris Enterprises, Inc. A method to encode video with close multiple scene changes
US10499056B2 (en) * 2016-03-09 2019-12-03 Sony Corporation System and method for video processing based on quantization parameter
US10171825B1 (en) * 2016-04-27 2019-01-01 Matrox Graphics Inc. Parallel compression of image data in a compression device
US10785485B1 (en) * 2016-04-29 2020-09-22 Matrox Graphics Inc. Adaptive bit rate control for image compression
CN106331706B (zh) * 2016-05-03 2019-04-30 上海兆芯集成电路有限公司 基于曲线拟合的率失真优化方法以及使用该方法的装置
US10390015B2 (en) * 2016-08-26 2019-08-20 Qualcomm Incorporated Unification of parameters derivation procedures for local illumination compensation and cross-component linear model prediction
CN107920248B (zh) * 2016-10-11 2020-10-30 京东方科技集团股份有限公司 图像编解码装置、图像处理系统、训练方法和显示装置
JP6906324B2 (ja) * 2017-02-20 2021-07-21 キヤノン株式会社 符号化装置、符号化方法、及び、プログラム
KR101868270B1 (ko) * 2017-02-28 2018-06-15 재단법인 다차원 스마트 아이티 융합시스템 연구단 싱글 패스 일관 화질 제어를 기반으로 하는 컨텐츠 인식 비디오 인코딩 방법, 컨트롤러 및 시스템
US10771789B2 (en) * 2017-05-19 2020-09-08 Google Llc Complexity adaptive rate control
US10582196B2 (en) 2017-06-30 2020-03-03 Intel Corporation Generating heat maps using dynamic vision sensor events
US10349060B2 (en) * 2017-06-30 2019-07-09 Intel Corporation Encoding video frames using generated region of interest maps
CN109660825B (zh) * 2017-10-10 2021-02-09 腾讯科技(深圳)有限公司 视频转码方法、装置、计算机设备及存储介质
US10542277B2 (en) * 2017-10-24 2020-01-21 Arm Limited Video encoding
US10999578B2 (en) * 2017-12-12 2021-05-04 Google Llc Transcoding media content using an aggregated quality score
CN108924555B (zh) * 2018-05-04 2019-12-27 上海交通大学 一种适用于视频切片的码率控制比特分配方法
WO2020019354A1 (zh) * 2018-07-27 2020-01-30 深圳市大疆创新科技有限公司 视频编码方法及装置、计算机可读存储介质
CN110166771B (zh) * 2018-08-01 2022-09-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
US20200068197A1 (en) * 2018-08-27 2020-02-27 Ati Technologies Ulc Benefit-based bitrate distribution for video encoding
CN109451305B (zh) * 2018-10-26 2021-05-07 西安科锐盛创新科技有限公司 带宽压缩中的预测方法
CN111193927B (zh) * 2018-11-14 2022-09-23 腾讯科技(深圳)有限公司 编码数据处理方法、装置、计算机设备和存储介质
US10880354B2 (en) 2018-11-28 2020-12-29 Netflix, Inc. Techniques for encoding a media title while constraining quality variations
JP7224892B2 (ja) * 2018-12-18 2023-02-20 ルネサスエレクトロニクス株式会社 動画像符号化装置及びその動作方法、動画像符号化装置を搭載する車両
CN109587502B (zh) * 2018-12-29 2023-05-09 深圳市网心科技有限公司 一种帧内压缩的方法、装置、设备及计算机可读存储介质
CN109859126B (zh) * 2019-01-17 2021-02-02 浙江大华技术股份有限公司 一种视频降噪方法、装置、电子设备及存储介质
CN113302917B (zh) * 2019-01-27 2023-12-01 北京字节跳动网络技术有限公司 局部照明补偿的改进方法
US11259035B2 (en) * 2019-03-15 2022-02-22 Ati Technologies Ulc Macroblock coding type prediction
CN110677653B (zh) * 2019-09-27 2024-01-09 腾讯科技(深圳)有限公司 视频编解码方法和装置及存储介质
CN110636327B (zh) * 2019-10-28 2022-02-01 成都超有爱科技有限公司 一种视频缓存方法、装置、电子设备及存储介质
US11843772B2 (en) * 2019-12-06 2023-12-12 Ati Technologies Ulc Video encode pre-analysis bit budgeting based on context and features
CN111193911B (zh) * 2020-01-15 2021-12-14 未来新视界文化科技(嘉善)有限公司 大数据视频的速传处理方法和装置
WO2021229520A1 (en) * 2020-05-14 2021-11-18 Ssimwave Inc. Perceptual quality assessment metric based content and viewer aware encoding
CN112839234B (zh) * 2021-01-18 2021-11-26 陕西师范大学 屏幕内容编码标准帧内图像码率的估计方法
CN112887750A (zh) * 2021-02-04 2021-06-01 成都国翼电子技术有限公司 一种基于rtmp的低时延直播方法
US11711491B2 (en) 2021-03-02 2023-07-25 Boe Technology Group Co., Ltd. Video image de-interlacing method and video image de-interlacing device
KR20220157765A (ko) * 2021-05-21 2022-11-29 삼성전자주식회사 영상 부호화 장치 및 이의 동작 방법
CN113542746B (zh) * 2021-07-13 2024-04-12 Oppo广东移动通信有限公司 视频编码方法及装置、计算机可读介质和电子设备
CN114449347A (zh) * 2022-03-03 2022-05-06 辽宁向日葵教育科技有限公司 一种视频渲染画面的智能优化方法
GB2611131B (en) * 2022-03-31 2023-11-22 V Nova Int Ltd Pre-analysis for video encoding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1102492A2 (en) * 1999-11-18 2001-05-23 Sony United Kingdom Limited Data compression

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11215501A (ja) * 1998-01-23 1999-08-06 Sony Corp 画像信号符号化方法及び装置、画像複雑度予測方法及び装置
US6834080B1 (en) 2000-09-05 2004-12-21 Kabushiki Kaisha Toshiba Video encoding method and video encoding apparatus
US7251275B2 (en) * 2002-06-25 2007-07-31 General Instrument Corporation Methods and apparatus for statistical multiplexing during dual pass encoding
US20040252758A1 (en) * 2002-08-14 2004-12-16 Ioannis Katsavounidis Systems and methods for adaptively filtering discrete cosine transform (DCT) coefficients in a video encoder
JP2004266640A (ja) * 2003-03-03 2004-09-24 Nec Corp 動画像符号化装置、動画像符号化方法、およびプログラム
CN1875637A (zh) * 2003-08-26 2006-12-06 汤姆森特许公司 最小化用于相互编码的参考画面数目的方法和装置
US7295612B2 (en) * 2003-09-09 2007-11-13 Apple Inc. Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
US7409097B2 (en) * 2003-11-14 2008-08-05 Vweb Corporation Video encoding using variable bit rates
KR100834750B1 (ko) * 2004-01-29 2008-06-05 삼성전자주식회사 엔코더 단에서 스케일러빌리티를 제공하는 스케일러블비디오 코딩 장치 및 방법
US7453938B2 (en) * 2004-02-06 2008-11-18 Apple Inc. Target bitrate estimator, picture activity and buffer management in rate control for video coder
CN102833539B (zh) 2004-06-27 2015-03-25 苹果公司 多通路视频编码
FR2872973A1 (fr) * 2004-07-06 2006-01-13 Thomson Licensing Sa Procede ou dispositif de codage d'une sequence d'images sources
CN101069432B (zh) * 2004-12-02 2015-10-21 汤姆逊许可公司 用于视频编码器速率控制的量化参数的确定方法和设备
US20060233237A1 (en) * 2005-04-15 2006-10-19 Apple Computer, Inc. Single pass constrained constant bit-rate encoding
US8077775B2 (en) * 2006-05-12 2011-12-13 Freescale Semiconductor, Inc. System and method of adaptive rate control for a video encoder
JP5248802B2 (ja) * 2006-06-16 2013-07-31 カシオ計算機株式会社 動画符号化装置および動画符号化方法と、動画復号化装置および動画復号化方法と、動画記録装置
US7706384B2 (en) * 2007-04-20 2010-04-27 Sharp Laboratories Of America, Inc. Packet scheduling with quality-aware frame dropping for video streaming

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1102492A2 (en) * 1999-11-18 2001-05-23 Sony United Kingdom Limited Data compression

Also Published As

Publication number Publication date
JP2010541386A (ja) 2010-12-24
EP2227020B1 (en) 2014-08-13
US20180020220A1 (en) 2018-01-18
US20220191493A1 (en) 2022-06-16
JP5427785B2 (ja) 2014-02-26
US20090086816A1 (en) 2009-04-02
EP2191651A1 (en) 2010-06-02
WO2009045683A1 (en) 2009-04-09
EP2227020A1 (en) 2010-09-08
CN101855910A (zh) 2010-10-06
US20170034513A1 (en) 2017-02-02
US9445110B2 (en) 2016-09-13

Similar Documents

Publication Publication Date Title
CN101855910B (zh) 视频压缩和传送技术
CN102067610B (zh) 基于视频编码的切片依赖性的码率控制模型适配
CN102714725B (zh) 用于多层视频编码应用的高性能码率控制
KR101271512B1 (ko) 적응형 비디오 인코더 제어 방법
US9313526B2 (en) Data compression for video
US10819997B2 (en) Encoding video data according to target decoding device decoding complexity
CN100546383C (zh) 在视讯编码器中适应性过滤离散余弦转换系数的系统与方法
US9036699B2 (en) Video coding
US20080181308A1 (en) System and method for motion estimation and mode decision for low-complexity h.264 decoder
US20120327997A1 (en) Video Coding
CN105264888A (zh) 用于对色彩空间、色彩采样率和/或比特深度自适应切换的编码策略
JP2012502590A (ja) 構成参照フレームを用いた動画符号化システムおよび方法
CN101743753A (zh) 利用视频编码中的帧复杂性、缓冲水平和内部帧位置的基于缓冲的速率控制
CN103402099A (zh) 视频编码的图片级速率控制
CN101171843A (zh) 用于多媒体处理的内容分类
US10165272B2 (en) Picture-level QP rate control performance improvements for HEVC encoding
US20080152009A1 (en) Scaling the complexity of video encoding
Xu et al. Rate control for consistent visual quality of H. 264/AVC encoding
KR100793781B1 (ko) 실시간 동영상 부호화 장치 및 방법
GB2540204B (en) Rate control of streaming modules sharing a communication channel
Wang et al. Motion estimation and mode decision for low-complexity h. 264 decoder
Zheng Side information exploitation, quality control and low complexity implementation for distributed video coding
Huang et al. MMC02-2: H. 264 Bit-rate Control Using the 3-D Perceptual Quantization Modeling
Tiwari Bit-rate allocation for multiple video streams: dual-frame video coding and competitive equilibrium methods
Lou Advanced video codec optimization techniques

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