CN101390296A - 多通路视频速率控制以匹配滑动窗口信道限制 - Google Patents

多通路视频速率控制以匹配滑动窗口信道限制 Download PDF

Info

Publication number
CN101390296A
CN101390296A CNA2004800178564A CN200480017856A CN101390296A CN 101390296 A CN101390296 A CN 101390296A CN A2004800178564 A CNA2004800178564 A CN A2004800178564A CN 200480017856 A CN200480017856 A CN 200480017856A CN 101390296 A CN101390296 A CN 101390296A
Authority
CN
China
Prior art keywords
picture
sequence
quantization parameter
video
advance
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.)
Pending
Application number
CNA2004800178564A
Other languages
English (en)
Inventor
吉尔·M·博伊斯
丹尼尔·R·吉雷里尼
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Publication of CN101390296A publication Critical patent/CN101390296A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/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/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/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/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/164Feedback from the receiver or from the transmission channel
    • 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/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

公开了一种用于执行视频速率控制以满足网络业务模型限制的编码器(100)和对应的方法(200),包括:为多个量化参数值的每一个将画面序列预先编码;响应于在滑动时间窗口中的相邻画面的比特速率操作点和量化参数值来为该序列的每个画面选择多个量化参数值之一;以及使用为该序列的每个画面选择的量化参数值将该画面进行编码。

Description

多通路视频速率控制以匹配滑动窗口信道限制
相关申请的交叉参考
本申请要求于2003年6月26日提交的、标题为“多通路(multi-pass)视频速率控制以匹配滑动窗口信道限制”的、序列号为60/482,670的美国临时专利申请的优先权和权益,在此通过参考合并其整个内容。
技术领域
本发明涉及视频编码器和解码器(合并称为“编解码器CODEC”)领域,具体地说,涉及具有视频速率控制的CODEC。
背景技术
通常以比特流的形式来处理和传输视频数据,可变比特速率(“VBR”)视频编码器能够比恒定比特速率(“CBR”)视频编码器实现更高质量的视频压缩,恒定比特速率视频编码器使用在诸如(例如)整个节目长度上的相对长时间间隔上所测量的相同平均比特速率。有时将VBR编码的视频称为恒定质量视频。这是因为这样一个事实,即由于在整个视频序列中视频的复杂度变化,所以创建可变比特速率编码的视频以保持恒定的质量。通常使用CBR视频编码器来满足网络业务模型的带宽需求。
VBR视频通常用于不使用固定带宽信道的应用。VBR视频可以用于(例如)DVD。但是,通讯网络通常具有更适于CBR的固定带宽链接。在CBR视频中,将编码的比特速率保持恒定,其使得被感知的视频质量发生变化。这导致比VBR视频更差的用户体验,因为CBR视频质量的最差情况通常比VBR的恒定质量水平更差,并且用户感觉主要受最差情况质量影响。
发明内容
由使用多通路编码技术而又不超过网络业务模型的限制来对预先存储的视频内容执行视频速率控制的系统和方法解决现有技术中的上述和其他缺点和问题。
公开了一种用于执行视频速率控制以满足网络业务模型限制的编码器、解码器以及对应方法,包括:对于多个量化参数值的每一个来预先编码视频画面的序列;对于视频序列的每个画面来选择多个量化参数值之一;以及使用为视频序列的每个画面选择的量化参数值来编码该画面。
根据将要结合附图进行阅读的示例实施方式的下面描述,本发明的这些和其他方面、特点和优点将变得明显。
附图说明
根据下面示例附图,本发明是使用多通路编码技术而又不超过网络业务模型的限制来为预先存储的视频内容执行视频速率控制的系统和方法,其中:
图1示出了具有根据本发明原理的视频速率控制的视频编码器的方框图;
图2A和2B示出了根据本发明原理的编码处理的流程图;和
图3示出了具有根据本发明原理的视频速率控制的视频解码器的方框图。
具体实施方式
下面的描述说明了本发明的原理。应该理解虽然没有在这里明确说明和示出,但是本领域的普通技术人员也能够想出体现本发明原理并且包括在其精神和范围之内的各种结构。而且,此处所述的所有例子和条件语句主要只用于示教的目的表达,以帮助读者理解本发明的原理和本发明者对改进现有技术的概念的贡献,不应该将其理解为仅仅限于这些明确陈述的例子和条件。而且,在此处说明本发明的原理、方面和实施方式的所有陈述以及其具体示例都试图包括其结构上和功能上的等效物。此外,这种等效物试图包括现在已知的等效物和在将来开发的等效物,即无论结构如何都执行相同功能的任何被开发的组件。
因此(例如),本领域的普通技术人员应该理解包括在这里的框图表示体现本发明的原理的说明性电路的概念图。类似地,应该理解任何流程图、流程示意图、状态转换图、伪代码等都代表基本上可以在计算机可读介质中进行表示并且由计算机或处理器执行的各种过程,不论是否明确地示出了这种计算机或处理器。
可以通过使用专用硬件以及与适当软件结合的能够执行软件的硬件来提供在图中示出的各种组件的功能。当由处理器提供时,可以由单个专用处理器、单个共享的处理器、或者其中的某些可以被共享的多个单独处理器来提供所述功能。而且,不应该将明确使用术语“处理器”或“控制器”理解为排他性地指示能够执行软件的硬件,而其还可以暗示包括(但是并不限于)数字信号处理器(“DSP”)硬件、用于存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)、以及非易失性存储器。还可以包括其他传统的和/或定制的硬件。同样地,图中所示的任何转换(switch)也仅是概念上的。实施者根据对上下文的具体理解可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互、或者甚至手动执行而选择的特定技术来执行它们的功能。
在其权利要求书中,被描述为用于执行特定功能的手段的任何组件都试图包括执行该功能的任何方式,例如包括a)执行该功能的电路元件的组合或者b)任何形式的软件,包括固件、微代码等,其与用于执行该软件的适当电路结合以执行该功能。由这样的权利要求所定义的本发明基于这样的事实,即以权利要求所宣称的方式将所述各种手段所提供的功能进行组合和合并。因此申请人将能够提供这些功能的任何手段都当作是在此处示出的那些的等效物。
如图1所示,总体通过参考标记100指示视频编码器。以信号通讯方式将到编码器100的输入端连接到相加点110的同相输入端。以信号通讯方式将相加点110的输出端与变换功能块120连接。以信号通讯方式将变换器120与量化器130连接。以信号通讯方式将量化器130的输出端与可变长度编码器(“VLC”)140连接,其中VLC 140的输出端是编码器100的外部可获得输出端。
而且还以信号通讯方式将量化器130的输出端与逆量化器150连接。以信号通讯方式将逆量化器150连接于逆变换功能块160,其随后以信号通讯方式连接于参考画面存储器170。以信号通讯方式将参考画面存储器170的第一输出端连接于运动估计器180的第一输入端。还将到编码器100的输入以信号通讯方式连接于运动估计器180的第二输入端。以信号通讯方式将运动估计器180的输出端连接于运动补偿器190的第一输入端。以信号通讯方式将参考画面存储器170的第二输出端连接于运动补偿器190的第二输入端。以信号通讯方式将运动补偿器190的输出端连接于相加点110的反相输入端。
现在参照图2A和2B,示出了多个起始通路,一个具有用于每一个的唯一的运动估计(“ME”),一个具有用于每一个的共享的ME,随后有决定过程和最后通路。图2A示出了其中为每个QP编码计算运动矢量(“MV”)的编码器的版本。图2B示出了其中对于所有QP通路再使用MV值的另一个版本。
在图2A中,总体由参考标记210指示对于多个起始通路的每一个具有唯一运动估计(“ME”)的、用于编码图像块的视频信号数据的示例过程。过程210包括开始块212,其导向功能块214。功能块214选择要测试的一组QP值,并且导向功能块216。块216开始从下限向上限的增加值“q”的循环,并且导向用于使用运动矢量补偿来编码序列的第一子程序块218。将子程序块218定义为流程410。随后块218导向循环结束块220。在循环216-220之后,块222开始循环以将值“i”从帧0向帧数量增加,并且导向用于使用运动矢量补偿来编码序列的第二子程序块224。可以由(例如)本公开的伪代码来定义子程序块224,如在下面定义的。随后,块224导向循环结束块226。块226导向用于最后通路编码序列的第三子程序块228,其随后导向结束块230。
流程图410定义了用于使用运动矢量补偿来编码序列的子程序块218。开始块412导向功能块414。块414开始用于将值“i”从帧0向帧数量增加的循环,然后导向用于计算帧i的运动矢量的功能块416。块418导向用于从输入中减去预测从而形成帧i的差的块420。随后,块420导向用于使用帧i的量化参数q来编码该差的功能块422。块422导向用于将比特数量存储为F[i]的功能块424。块424导向循环结束块426,然后到结束块428。
流程图510定义了用于执行最后通路编码序列的子程序块228。这里,开始块512导向功能块514。块514开始用于将循环计数值“i”从帧0向帧数量增加的循环,然后导向用于计算帧i的运动矢量的功能块516。块518导向用于从输入减去预测以形成帧i的差的块520。随后,块520导向用于使用帧i的量化参数QP[i]来编码该差的功能块522。块522导向循环结束块524,然后到结束块526。
参照图2B,总体由参考标记610指示对于多个起始通路的每一个的、具有共享的运动估计(“ME”)的、用于编码图像块的视频信号数据的示例过程。这里,开始块612导向用于将循环计数器i从帧0向帧数量增加的循环计数器块614。块614导向用于计算帧i的运动矢量的功能块616,然后导向循环结束块618。块618导向用于选择要测试的一组QP值的功能块620。块620开始用于将值“q”从下限向上限增加的循环,并且导向用于利用MV再使用来编码序列的第四子程序块624。将子程序块624定义在流程图710中。块624导向循环结束块626。块626导向用于将循环计数器i从帧0向帧数量增加的循环计数器块628。块628导向用于发现该帧的Qp的第二子程序块630。第二子程序块由(例如)本公开的伪代码在前面进行定义。块630导向结束i循环块632。随后,块632导向用于执行如前面由流程图510所定义的最后通路编码序列的块634。块634导向结束块636。
流程图710定义了用于通过运动矢量再使用来编码序列的子程序块624。开始块712导向用于将循环计数器i从帧0向帧数量增加的循环计数器块714。块714导向用于进行运动补偿以形成帧i的预测算子的功能块716。块716导向用于从输入减去预测以形成帧i的差的功能块718。随后,块718导向用于使用帧i的QP[i]来编码该差的块720。块720导向用于将比特数量存储为F[i]的功能块722,然后导向结束i循环块724。块724导向结束块726。
如图3所示,由参考标记300总体指示视频解码器。视频解码器300包括以信号通讯方式连接于逆量化器320的可变长度解码器(“VLD”)310。以信号通讯方式将逆量化器320连接于逆变换器330。以信号通讯方式将逆变换器330连接于加法器或者相加点340的第一输入端,其中相加点340的输出端提供视频解码器300的输出。以信号通讯方式将相加点340的输出端连接于参考画面存储器350。以信号通讯方式将参考画面存储器350连接于运动补偿器360,其以信号通讯方式连接于相加点340的第二输入端。
在操作中,本发明的实施方式提供一种方法,用于通过使用多通路编码技术来为预先存储的视频内容执行视频速率控制以满足网络业务模型的限制。视频编码器执行对预先存储的视频内容的速率控制以实现最佳质量视频,而同时满足网络滑动时间窗口恒定比特速率限制。在预先编码步骤中,使用几个不同的量化参数(“QP”)值将视频序列进行独立编码。随后,在量化参数选择过程中,将在预先编码步骤期间收集的、编码的帧速率计数用于为每个帧选择QP值,将其进行估计以不超过在超前或滞后时间窗口上的网络带宽限制。然后使用所选择的QP值来执行最后通路编码。
即使在所谓固定带宽分组网络中,只要该通信量的突发性不超过网络业务模型的限制,可以接受有些突发性的通信量。恒定比特速率(“CBR”)视频不需要使用相同数量的比特来编码每个压缩的视频帧。
对于CBR视频来说视频速率控制是可行的。使用如包括诸如I、P和B帧的不同帧类型的MPEG和MPEG-2的标准,速率控制一般涉及基于帧类型起始地发现每个帧的目标帧速率。例如参见,W.Ding和B.Liu,“Rate controlof MPEG video coding and recoding by rate-quantization modeling”,IEEETransactions on Circuits and Systems for Video Technology,vol.6,no.1,pp.12-20,Feb.1996。如在现有技术已知的,可以对于整个序列,或者对于画面组(“GOP”)来选择目标帧速率。帧速率目标还可依赖于当前缓存器的充满程度。一旦对于给定帧确定了目标帧速率,则选择被预测来大致以目标帧速率编码帧的量化参数(“Qp”)。在MPEG-4验证模型中,对于帧计算空间复杂度测量,并且将空间复杂度测量比较于对于每个编码的帧进行更新的模型以估计产生目标帧速率的QP。
空间复杂度测量与对于给定QP将帧进行编码所需要的比特速率相关。但是,因为有先进的视频编码技术,诸如(例如)MPEG-4、H.263和H.26L视频标准中的高级的向内预测,所以很难形成解决编码技术的复杂度测量,从而降低了复杂度测量和将帧进行编码所需要的比特数量之间的相关程度。因此,降低了速率控制的准确度。
可以使用多通路编码在计算复杂度增加的情况下实现更加准确的速率控制。这里,为给定帧选择目标比特速率。使用某个QP值将帧进行编码。将产生的比特数量与目标进行比较并且根据差来调整QP值。使用调整过的QP值将帧重新编码直到产生的编码的比特数量足够接近目标为止。
为独立的帧而不是为较大的帧范围设置比特速率目标的速率控制技术产生较低的感知的视频质量,这是因为必须用低QP值来编码高复杂度的帧以满足目标速率,其使得那些帧的视觉质量较差。
统计多路复用是这样一种技术,其中多个不同的视频序列共享单个固定速率带宽信道,允许在瞬时单个序列带宽中的更多变化。对于广播应用这是有用的,如在共享的卫星信道上发送多个电视节目。
在本发明的优选实施方式中,视频编码器编码预先存储的视频序列。视频服务器在分组网络上安排压缩的比特流的流动。视频解码器接收、解码和播放视频序列。
分组网络具有固定的速率带宽。其可以以不同的速率接受数据,只要在预定的滑动时间窗口上不超过受限制的固定速率带宽。在分组网络中的路由器具有缓存器来影响网络通信量。如果从视频编码器/服务器到网络的所提供的通信量负载在时间窗口上超过固定速率带宽,则路由器的缓存器可能溢出并且可能丢弃某些数据。
在本发明的实施方式中,视频编码器的速率控制在预定的时间窗口上满足网络的带宽限制。编码器试图在该时间窗口上保持恒定质量,并且在整个视频序列期间实现尽可能小的质量变化。
因此,在预先编码步骤中,对于一组不同的QP值将视频序列独立地进行几次不同的编码。可以事先用在所有情况中所使用的相同运动矢量进行运动估计,或者可以对于每个独立的编码进行运动估计。可以在相同的处理器上顺序地执行几个编码,或者通过将每个独立的编码运行分配到独立的处理器而并行执行几个编码。记录用于编码每个QP运行的每个帧的比特数量。
在对于每个QP执行了预先编码步骤之后,视频编码器执行量化器参数选择过程,其中视频编码器使用在预先编码步骤所记录的值来选择用于每个帧的最佳QP值以将视频质量最大化并且将视频质量变化最小化,而同时在每个时间窗口上满足网络带宽限制。虽然在预先编码步骤中对于给定编码运行将单个QP用于每个整个的序列,但是对于最后编码,QP值对于每个独立的帧可以变化。在这些实施方式中,将在单个QP编码运行期间用于将帧进行编码的比特数量被用作比特数量的估计以在最后编码中对该QP处的该帧进行编码,而不管对于序列中的之前各帧所选择的QP。在操作中,如果使用不同的QP值,则比特的实际数量将轻微变化。
例如,使用QP值18、19和20来预先编码序列。在QP选择步骤,对于帧0选择QP0=18,并且对于帧1选择QP1=19。在帧2的选择过程期间,估计用于使用QP2=20将帧2进行编码的比特数量等于使用20的QP在预先编码运行中用于编码帧2的比特数量。在对于QP 20编码运行的预先编码步骤中,还使用QP0=QP1=20来编码帧0和1。在最后编码步骤中用于预测帧2的帧0和1中的实际像素不同于在QP=20预先编码步骤运行中的像素。所以,用于在最后编码中用QP2=20来编码帧2的比特的实际数量可以与已经发现在QP=20预先编码步骤运行中已经使用的数量轻微不同。
时间窗口对应于N个视频帧。例如,对于3秒时间窗口和30fps视频,N是90帧。在时间窗口上的最大比特速率是T,其可以是(例如)对于1Mbps信道和3秒窗口的3M比特。
对于序列中的每个帧,编码器考虑在序列中在前的N-1帧、当前帧、和在后的N-1个帧。使用从对于所选择的QP的预先编码步骤运行而来的估计,或者使用从已经利用QP进行编码的帧而来实际产生的帧大小(已经使用这种过程选择了所述QP),编码器保留用于编码在前N-1个帧的比特数量的计数,WB’。编码器估计比特数量的计数,WN,来编码包括当前帧的、以最低QP开始的随后N个帧,并且选择WN最接近的、但是不超过目标速率T的、而且对于包括当前帧的在前N个帧也不超过T的QP。当考虑在前帧时,已经选择了所有在前帧的QP值并且使用了那些值,并且当前帧在这种考虑之下使用当前QP值。对于序列中的每个帧重复这种过程。在下面列出的伪代码中描述了这种过程。对于序列的开始和结束,当在当前帧的之前或之后不能获得N个帧时,在计算中仅仅考虑在序列中存在的那些帧。
F[]=在已经被选择来用于输出的比特中帧的大小的矩阵
SX[]=在具有X的QP的参考序列的比特中帧的大小的矩阵
for i=0:<帧数量>
  WB’=sum(F[i-N]:F[i-1])
  for q=QPLow:QPHI
       WN=sum(Sq[i]:Sq[i+N-1])
       WB=WB’+Sq[i]
       if(WN<T)and(WB<T)
          QP[i]=q
          F[i]=Sq[i]
          Goto next frame
在已经为每个帧选择了QP之后,使用之前的步骤,运行最后的编码通路。在最后的通路中,将所选择的QP用于每个帧。可选地,在这种运行期间可以重新计算运动估计,或者可以使用之前计算的运动矢量。重新计算运动估计允许在运动矢量估计和模式选择中执行更加准确的速率失真优化。
因为估计模型不是确切的,所以在最后的编码通路之后可以添加额外的步骤,其确认在每N个帧期间所产生的实际比特数量不超过T。如果当前帧产生太多的比特,以至于来自当前帧加上N个在前帧的比特超过了目标,则用更高的QP值来重新编码该帧。或者,在本发明的另一个实施方式中,在选择过程之前可以将目标窗口速率T调整到更低的T’,其中T’<T,从而降低速率控制估计误差将不超过T-T’的可能性。
为了减小计算量,不必对所有可能的QP值都执行预先编码步骤。相反地,在预先编码步骤中可以使用可能的QP值的子集。然后通过使用在所使用的子集之间进行曲线拟合或线性内插可以对于没有使用的中间QP值为每个帧的比特计数估计值。例如,如果在预先编码步骤中使用18和20的QP值,则可以通过将与QP 18和QP 20对应的比特计数进行平均来估计19的QP的每个帧的比特计数。可以将在其上执行预先编码步骤的QP值的范围使用某种类型的复杂度测量和信道比特速率进行限制。
伪代码仅仅是示例性的。对于起始通路的每一个,不需要不同画面类型的所有画面都具有相同的量化参数(“QP”),但是只需要相同画面类型的所有画面具有相同的QP。因此,替换过程可以用I帧的QPI、P帧的不同QPP、和B帧的不同QPB来将序列进行编码。
本领域的普通技术人员应该理解可以将本发明的示教应用于画面或场,以及视频帧。可以将本发明的替换实施方式同具有可调整的量化参数的许多不同的视频压缩标准一起使用,诸如(例如)H.261、H.263、H.26L、MPEG-1、MPEG-2和MPEG-4。
本领域的普通技术人员根据这里的示教可以容易的想出本发明的这些和其他的特点和优点。应该理解,本发明的示教可以用各种形式的硬件、软件、固件、专用处理器、或其组合来实施。
最好,将本发明的示教实施为硬件和软件的组合。而且,最好将软件实施为确实包括在程序存储设备上的应用程序。可以将该应用程序上载到包括任何合适结构的机器,并且由其执行。最好,将该机器实现在具有诸如一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)、和输入/输出(“I/O”)接口的硬件的计算机平台上。该计算机平台还可以包括操作系统和微指令代码。这里所述的各种过程和功能可以是能够由CPU执行的微指令代码的一部分或者是应用程序的一部分、或者是它们的组合。此外,可以将诸如附加数据存储单元和打印单元的各种其他外围单元连接到该计算机平台。
进一步应该理解,因为最好用软件来实施在附图中描述的方法和某些系统构成组件,所以根据本发明的实施方式被编程的方式,系统组件或过程功能之间的实际连接可以不同。根据这里的示教,本领域的普通技术人员应该能够想出本发明的这些或者类似的实施方式或结构。
虽然这里已经参照附图描述了示例实施方式,但是应该理解本发明并不限于这些具体的实施方式,在不偏离本发明的精神和范围的情况下,本领域的普通技术人员可以进行各种改变和修改。所有的这种改变和修改都试图被包括在所附权利要求中所述的本发明的范围之内。

Claims (22)

1.一种编码器(100),用于将画面序列编码为多个块变换系数以满足网络业务模型限制,该编码器包括用于为每个画面选择多个量化参数值之一的迭代循环。
2.根据权利要求1所述的编码器,所述迭代循环包括:
预先编码装置,用于针对多个量化参数值的每一个将画面序列预先编码;
选择装置,用于响应于在滑动时间窗口中的相邻画面的比特速率操作点和量化参数值来为该序列的每个画面选择多个量化参数值之一;以及
预先编码装置,用于使用为该序列的每个画面选择的量化参数值将该画面进行编码。
3.根据权利要求2所述的编码器,其中为滑动窗口选择的量化参数值大致以目标画面速率将窗口大小的画面进行编码。
4.根据权利要求2所述的编码器,其中为滑动窗口选择的量化参数值大致以目标比特速率将窗口大小的画面进行编码。
5.根据权利要求2所述的编码器,其中选择针对视频序列中的每个画面和针对作为给定画面在相同时间窗口中的相邻画面所选择的量化参数值,来将在预设持续时间的时间窗口内要传输的画面编码为在目标比特数量内进行编码。
6.根据权利要求2所述的编码器,其中视频画面的序列包括画面组。
7.根据权利要求2所述的编码器,其中视频画面的序列包括预先存储的视频内容。
8.根据权利要求2所述的编码器,其中要在预设持续时间内被传输的视频画面的序列的一部分满足在预设的持续时间内限制要被传输的比特数量的网络业务模型。
9.根据权利要求2所述的编码器,其中用于为视频序列的每个画面选择多个量化参数值之一的所述选择装置包括多通路编码装置,该多通路编码装置用于优化被选择来编码每个画面的量化参数值。
10.根据权利要求2所述的编码器,其中用于为多个量化参数值的每一个预先编码画面序列的预先编码装置包括用于再使用运动矢量值的装置。
11.根据权利要求1所述的、与用于解码满足网络业务模型限制的编码的块变换系数以提供重建的像素数据的解码器(300、400)进行组合的编码器,所述解码器包括用于根据网络业务模型将与预设持续时间的时间窗口对应的视频数据进行解码的可变长度解码器(310)。
12.一种包括根据权利要求1所述的编码器、以及用于解码满足网络业务模型限制的编码的块变换系数以提供重建的像素数据的编解码器,所述解码器包括用于根据网络业务模型将与预设持续时间的时间窗口对应的视频数据进行解码的可变长度解码器(310)。
13.一种机器可读程序存储设备,其确实包括可以由机器执行的指令的程序,以进行用于执行视频速率控制的程序步骤来满足网络业务模型限制,所述程序步骤包括:
为多个量化参数值的每一个将画面序列预先编码;
响应于在滑动时间窗口中的相邻画面的比特速率操作点和量化参数值来为该序列的每个画面选择多个量化参数值之一;以及
使用为该序列的每个画面选择的量化参数值将该画面进行编码。
14.一种对画面序列执行视频速率控制以满足网络业务模型限制的方法,该方法包括:
为多个量化参数值的每一个将画面序列预先编码;
响应于在滑动时间窗口中的相邻画面的比特速率操作点和量化参数值来为该序列的每个画面选择多个量化参数值之一;以及
使用为该序列的每个画面选择的量化参数值将该画面进行编码。
15.根据权利要求14所述的方法,其中所述画面序列包括视频帧的序列。
16.根据权利要求14所述的方法,其中为滑动窗口选择的量化参数值大致以目标比特速率将窗口大小的画面进行编码。
17.根据权利要求14所述的方法,其中选择针对视频序列中的每个画面和针对作为给定画面在相同时间窗口中的相邻画面所选择的量化参数值,来将在预设持续时间的时间窗口内要传输的画面编码为在目标比特数量内进行编码。
18.根据权利要求14所述的方法,其中视频画面的序列包括画面组。
19.根据权利要求14所述的方法,其中视频画面的序列包括预先存储的视频内容。
20.根据权利要求14所述的方法,其中要在预设持续时间内被传输的视频画面的序列的一部分满足在预设的持续时间内限制要被传输的比特数量的网络业务模型。
21.根据权利要求14所述的方法,其中为视频序列的每个画面选择多个量化参数值之一包括使用多通路编码技术来优化被选择来编码每个画面的量化参数值。
22.根据权利要求14所述的编码器,其中为多个量化参数值的每一个预先编码画面序列包括再使用运动矢量值。
CNA2004800178564A 2003-06-26 2004-03-01 多通路视频速率控制以匹配滑动窗口信道限制 Pending CN101390296A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US48267003P 2003-06-26 2003-06-26
US60/482,670 2003-06-26

Publications (1)

Publication Number Publication Date
CN101390296A true CN101390296A (zh) 2009-03-18

Family

ID=34102645

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800178564A Pending CN101390296A (zh) 2003-06-26 2004-03-01 多通路视频速率控制以匹配滑动窗口信道限制

Country Status (8)

Country Link
US (1) US8542733B2 (zh)
EP (1) EP1639801B1 (zh)
JP (1) JP2007525063A (zh)
KR (1) KR101017770B1 (zh)
CN (1) CN101390296A (zh)
BR (1) BRPI0411757A (zh)
MX (1) MXPA05014209A (zh)
WO (1) WO2005011255A2 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100909541B1 (ko) * 2004-06-27 2009-07-27 애플 인크. 멀티-패스 비디오 인코딩 방법
US8406293B2 (en) 2004-06-27 2013-03-26 Apple Inc. Multi-pass video encoding based on different quantization parameters
US8005139B2 (en) 2004-06-27 2011-08-23 Apple Inc. Encoding with visual masking
US8621543B2 (en) * 2004-12-08 2013-12-31 Imagine Communications Ltd. Distributed statistical multiplexing of multi-media
US8208536B2 (en) 2005-04-28 2012-06-26 Apple Inc. Method and apparatus for encoding using single pass rate controller
US7456760B2 (en) * 2006-09-11 2008-11-25 Apple Inc. Complexity-aware encoding
US8804829B2 (en) * 2006-12-20 2014-08-12 Microsoft Corporation Offline motion description for video generation
US20090052540A1 (en) * 2007-08-23 2009-02-26 Imagine Communication Ltd. Quality based video encoding
KR100918499B1 (ko) * 2007-09-21 2009-09-24 주식회사 케이티 멀티 패스 인코딩 장치 및 그 방법
CN102934156B (zh) * 2007-09-28 2016-09-07 美国博通公司 响应时间补偿
US20090087107A1 (en) * 2007-09-28 2009-04-02 Advanced Micro Devices Compression Method and Apparatus for Response Time Compensation
US20090087114A1 (en) * 2007-09-28 2009-04-02 Advanced Micro Devices Response Time Compression Using a Complexity Value of Image Information
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
US8451719B2 (en) * 2008-05-16 2013-05-28 Imagine Communications Ltd. Video stream admission
WO2010005691A1 (en) 2008-06-16 2010-01-14 Dolby Laboratories Licensing Corporation Rate control model adaptation based on slice dependencies for video coding
US8401075B2 (en) * 2008-12-31 2013-03-19 General Instrument Corporation Hybrid video encoder including real-time and off-line video encoders
FR2945697B1 (fr) * 2009-05-18 2016-06-03 Actimagine Procede et dispositif de compression d'une sequence video
FR2946820B1 (fr) * 2009-06-16 2012-05-11 Canon Kk Procede de transmission de donnees et dispositif associe.
US20120249869A1 (en) * 2009-12-14 2012-10-04 Thomson Licensing Statmux method for broadcasting
US8681858B2 (en) * 2009-12-23 2014-03-25 General Instrument Corporation Rate control for two-pass encoder
JP5641755B2 (ja) * 2010-03-25 2014-12-17 キヤノン株式会社 符号化装置、符号化装置の制御方法、プログラム
US20110280398A1 (en) * 2010-05-17 2011-11-17 Anatoly Fradis Secured content distribution system
US8976856B2 (en) 2010-09-30 2015-03-10 Apple Inc. Optimized deblocking filters
EP2541935A1 (en) * 2011-06-29 2013-01-02 British Telecommunications Public Limited Company Video coding with quality control and rate control
JP5843631B2 (ja) * 2012-01-26 2016-01-13 日本電信電話株式会社 フレームレート制御方法,フレームレート制御装置およびフレームレート制御プログラム
DE112018002112T5 (de) 2017-04-21 2020-01-16 Zenimax Media Inc. Systeme und verfahren zum rendern & vorkodierte lastschätz-basierte codierer-ansprech-bezogene anwendungen

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62222783A (ja) * 1986-03-24 1987-09-30 Kokusai Denshin Denwa Co Ltd <Kdd> 動画像の高能率符号化方式
JP3164647B2 (ja) 1992-06-03 2001-05-08 株式会社東芝 動画像符号化方法及び装置
JPH0766982A (ja) 1993-08-26 1995-03-10 Canon Inc 符号量制御装置
US5870145A (en) 1995-03-09 1999-02-09 Sony Corporation Adaptive quantization of video based on target code length
US5835149A (en) * 1995-06-06 1998-11-10 Intel Corporation Bit allocation in a coded video sequence
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US6100931A (en) * 1996-03-19 2000-08-08 Sony Corporation Method and apparatus for controlling a target amount of code and for compressing video data
US6118817A (en) * 1997-03-14 2000-09-12 Microsoft Corporation Digital video signal encoder and encoding method having adjustable quantization
US6269078B1 (en) 1997-04-04 2001-07-31 T. V. Lakshman Method and apparatus for supporting compressed video with explicit rate congestion control
US5978029A (en) * 1997-10-10 1999-11-02 International Business Machines Corporation Real-time encoding of video sequence employing two encoders and statistical analysis
US6192154B1 (en) * 1998-01-26 2001-02-20 International Business Machines Corporation Two-pass encoding method of digital motion video sequences for constant-or variable bit rate
US6278735B1 (en) * 1998-03-19 2001-08-21 International Business Machines Corporation Real-time single pass variable bit rate control strategy and encoder
WO1999049664A1 (en) * 1998-03-20 1999-09-30 Sgs-Thomson Microelectronics Asia Pacific (Pte) Ltd. Moving pictures encoding with constant overall bit rate
US6167084A (en) * 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
US7016337B1 (en) 1999-03-02 2006-03-21 Cisco Technology, Inc. System and method for multiple channel statistical re-multiplexing
GB2356510B (en) * 1999-11-18 2004-04-21 Sony Uk Ltd Data compression
KR100322475B1 (ko) * 1999-12-08 2002-02-07 오길록 압축영역에서 엠펙-1 및 엠펙-2 동영상의 비트율 변환방법
JP3712344B2 (ja) 2000-05-12 2005-11-02 日本電信電話株式会社 繰り返しビデオ信号符号化方法およびこの方法のプログラムを記録した記録媒体
JP4256574B2 (ja) 2000-08-04 2009-04-22 富士通株式会社 画像信号符号化方法および画像信号符号化装置
US6847656B1 (en) * 2000-09-25 2005-01-25 General Instrument Corporation Statistical remultiplexing with bandwidth allocation among different transcoding channels
US6763067B2 (en) * 2000-10-10 2004-07-13 Sarnoff Corporation Rate control for bitstream re-encoding
JP3639216B2 (ja) 2001-02-27 2005-04-20 三菱電機株式会社 音響信号符号化装置
US7110452B2 (en) * 2001-03-05 2006-09-19 Intervideo, Inc. Systems and methods for detecting scene changes in a video data stream
US7072393B2 (en) * 2001-06-25 2006-07-04 International Business Machines Corporation Multiple parallel encoders and statistical analysis thereof for encoding a video sequence
US6925120B2 (en) * 2001-09-24 2005-08-02 Mitsubishi Electric Research Labs, Inc. Transcoder for scalable multi-layer constant quality video bitstreams
US7099389B1 (en) * 2002-12-10 2006-08-29 Tut Systems, Inc. Rate control with picture-based lookahead window

Also Published As

Publication number Publication date
KR101017770B1 (ko) 2011-02-28
KR20060086266A (ko) 2006-07-31
EP1639801A4 (en) 2010-09-29
US8542733B2 (en) 2013-09-24
BRPI0411757A (pt) 2006-09-19
EP1639801A2 (en) 2006-03-29
WO2005011255A2 (en) 2005-02-03
MXPA05014209A (es) 2006-05-31
WO2005011255A3 (en) 2008-11-06
JP2007525063A (ja) 2007-08-30
EP1639801B1 (en) 2018-05-09
US20060165168A1 (en) 2006-07-27

Similar Documents

Publication Publication Date Title
CN101390296A (zh) 多通路视频速率控制以匹配滑动窗口信道限制
CN101513071B (zh) 用于确定解码视频块中的期望失真的方法及设备
JP4390112B2 (ja) ビデオシーケンスのレートを制御する方法及び装置並びにビデオ符号化装置
CN1910934B (zh) 自适应速率控制编码器
CN102067601B (zh) 视频编码和解码中模板匹配预测(tmp)的方法和装置
CN101518088B (zh) 针对有效速率控制和增强视频编码质量的ρ域帧级比特分配的方法
CN101529912B (zh) 用于在多通路编码器中高效地进行第一通路编码的方法和设备
JP5474838B2 (ja) 改善された効率及び主観的な品質をサポートする予測フレームの選択方法及び装置
CN101647278A (zh) 用于视频编码标准的改进的视频速率控制
KR20090063406A (ko) 전송 특성을 고려한 실시간 동영상 화질 평가 시스템 및방법
CN108012163A (zh) 视频编码的码率控制方法及装置
KR100713400B1 (ko) 평균 히스토그램 오차 방식을 이용한 h.263/mpeg비디오 인코더 및 그 제어 방법
Xiong et al. Rate control for real-time video network transmission on end-to-end rate-distortion and application-oriented QoS
CN100521794C (zh) 视频数据流的编码设备
JP4130617B2 (ja) 動画像符号化方法および動画像符号化装置
JP4037839B2 (ja) 画像符号化方法及び装置
JP4788653B2 (ja) 画像データトランスコーディング装置及びトランスコーディング方法
JP2006005466A (ja) 画像符号化方法及び装置
KR100963322B1 (ko) 실시간 h.264를 위한 적응적 프레임 비트율 제어 방법
KR101197094B1 (ko) H.264/avc를 위한 통계 모델 기반의 비트율 제어 방법 및 장치
KR100949755B1 (ko) 비디오 시퀀스의 레이트를 제어하는 방법 및 장치, 비디오부호화 장치
US20210306662A1 (en) Bitstream decoder
KR19980085246A (ko) 채널율을 이용한 가변 비트율 비디오 제어 방법
MXPA06008288A (en) Encoder with adaptive rate control for h.264

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20090318