CN102638687A - 用于视频编码标准的改进的视频速率控制 - Google Patents

用于视频编码标准的改进的视频速率控制 Download PDF

Info

Publication number
CN102638687A
CN102638687A CN2012100883231A CN201210088323A CN102638687A CN 102638687 A CN102638687 A CN 102638687A CN 2012100883231 A CN2012100883231 A CN 2012100883231A CN 201210088323 A CN201210088323 A CN 201210088323A CN 102638687 A CN102638687 A CN 102638687A
Authority
CN
China
Prior art keywords
frame
inter
size
max
target
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
CN2012100883231A
Other languages
English (en)
Inventor
斯蒂芬妮.库洛姆比
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vantrix Corp
Original Assignee
Vantrix 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 Vantrix Corp filed Critical Vantrix Corp
Publication of CN102638687A publication Critical patent/CN102638687A/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
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/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/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/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

一种方法和设备,其用于在考虑解码延迟时、改进包括由帧内帧分开的一系列帧间帧的序列的视频编码中的速率控制。该方法包括:对于该系列的每个帧间帧,计算目标帧尺寸;对于该系列的每个帧间帧,计算与所述每个帧间帧相对于前面的帧内帧和即将到来的帧内帧的位置相关的最大缓冲器等级;以及响应于所计算的目标帧尺寸和所计算的最大缓冲器等级而优化传输缓冲器等级。

Description

用于视频编码标准的改进的视频速率控制
本申请是申请日为2007年12月11日、申请号为200780051251.0、发明名称为“用于视频编码标准的改进的视频速率控制”的发明专利申请的分案申请。
技术领域
本发明总地涉及视频编码。更具体地,本发明涉及视频编码中的视频速率控制,例如用于但不是专门用于诸如H.263和MPEG-4(运动画面专家组-4)标准之类的视频编码标准。
背景技术
在过去几年人们见证了数字和在线视频及其应用的很大程度的普及。利用快速通信技术和多媒体应用的出现,在许多领域和系统中使用了数字视频编解码器,诸如在采用MPEG-2(运动画面专家组-2)格式的DVD(数字视频盘)中、在采用MPEG-1(运动画面专家组-1)格式的VCD 2(视频压缩盘)中、在新兴的卫星和地面广播系统中、以及在因特网上。
更具体地,视频应用的普及允许在压缩和解压缩视频数据的视频编解码器中的令人感兴趣的开发。在视频数据压缩中,在视频质量与压缩率(即必需的数据传输量,换言之,表现视频所需的比特率)之间保持平衡。
另外,还考虑编码和解码算法的复杂度、对于数据丢失和差错的鲁棒性、压缩算法设计的目前的技术水平、例如视频会议应用中的端到端延迟,等等。
存在多个视频编码标准,针对特定类型的应用而对它们中的每一个进行具体的设计。例如,由ITU(国际电信联盟)公布的H.263标准是用于诸如40-128kbps(千比特/秒)的范围内的低比特率的视频编码和压缩标准。更具体地,此标准支持视频会议和视频电话应用中的视频编码。
H.263标准指定编码的数据流的格式和内容,因此H.263设置编码器和解码器要满足的要求,而不是具体提供编码器和解码器自身的设计或者结构。类似的原理应用于诸如MPEG-4之类的其它视频标准。
在视频压缩中,每个画面典型地由一般被称为帧的两种画面、即帧内帧(intra frame)以及帧间帧(inter frame)表示。此外,将帧间帧分为两个类别,即P帧(预测帧)和B帧(双向预测或者双向帧)。帧内帧表示整个画面,由于必须编码整个画面的内容,因此帧内帧耗费带宽。为了压缩并且由此节省带宽,仅仅对整个画面(或者帧内帧)之间的差异进行编码并且然后将其发送。那些差异由P帧和B帧表示。例如,两个连续画面之间的背景通常不改变,因此不需要再次编码背景。B帧是双向的并且由此执行双向预测、即利用前面的画面和后面的画面进行预测。
此外,在压缩视频时,为了处理的目的,将画面分为宏块。实际上,逐个宏块地应用处理。每个宏块通常表示16×16像素的块。
视频编码器通常包括运动估计模块、运动补偿模块、DCT(离散余弦变换)模块、以及量化模块。
运动估计模块允许预测前面的帧中的哪些区域已经被移动到当前帧中,使得不需要重新编码那些区域。
运动补偿模块允许对于区域从前面的帧到当前帧的移动进行补偿。
DCT通常用于将像素块转换为“空间频率系数”。DCT通常对于诸如宏块之类的二维像素块进行操作。由于DCT在压缩画面的能量(或信息)方面是有效的,因此通常几个DCT系数足以重新创建原始画面。
而且,提供量化模块,用于量化DCT系数。例如,量化模块将接近于零的DCT系数设置为零,并且量化剩余的非零DCT系数。
视频编码中的限制之一来自于信道的容量。实际上,通信信道由他们每秒能够传输的比特的数目而限制。在许多信道中,诸如在ISDN(集成服务数字网络)、POTS(普通传统电话业务)、无线信道等中比特率是恒定的。
然而,取决于用于压缩视频的算法的效率以及那些视频的运动复杂度,编码和传输所编码的视频所需的比特预算以及比特率可能变化或者增加。因此,使用速率控制以将编码各种复杂度的视频所需的比特率调整为用于传输那些所编码的视频的信道的比特率。
在H.263标准中使用的当前速率控制算法被称为TMN8(测试模型近期版本8)。总地来说,此速率控制算法确保仅仅满足平均比特率。
以下被称为参考文献1的Jordi Ribas-Corbera 1999年的标题为“RateControl in DCT Video Coding for Low-Delay Communications”的论文公开了速率控制TMN8所使用的、以确保每一帧都满足与目标帧尺寸有关的目标比特率的算法。更具体地,TMN8速率控制算法计算一些图像统计值,以为每个宏块确定一些合适的QP(量化参数)值,并且在每个帧间帧内更新QP值,以便满足目标帧尺寸。不幸的是,此控制是非常近似化的,并且作为结果的帧尺寸经常可能远高于或者远低于目标帧尺寸。对于帧内帧,将固定的QP用于整个视频序列,无论视频序列的特性如何。对于帧内帧的尺寸不具有控制通常是导致超出期望的比特率的因素。
此外,速率控制TMN8不能控制平均目标比特率和最大比特率这两者。实际上,在H.263视频编码标准中使用的TMN8速率控制算法仅仅使用平均比特率参数。然而,在许多视频应用中,除了平均比特率之外,还应当考虑最大比特率。
TMN8不能保证不超出给定的目标比特率,这是因为编码器对于帧内帧尺寸没有控制,并且对于帧间帧尺寸也没有足够的控制。在超出给定的目标比特率时,编码器将跳过特定数目的帧,以便补偿溢出(overflow)。然而,通过这样做,改变了通信和视频的质量。
因此,存在对于克服与诸如H.263标准之类的、视频编码标准中当前速率控制的限制有关的上述问题的需要。因此,寻求一种用于改进视频编码标准中的速率控制的方法和系统。
发明内容
因此,本发明的一个目的是提供例如诸如H.263和MPEG-4标准之类的视频编码标准中的、视频编码中的速率控制,以便通过确保遵守平均比特率和最大比特率这两者来增强视频的质量。
更具体地,根据本发明,提供了一种用于视频流的视频编码中的速率控制的方法,其包括:指定该视频流的最大比特率和平均比特率;基于帧间帧相对于帧内帧的位置来计算帧间帧尺寸,以确保不超过所指定的最大比特率;并且调整所计算的帧间帧尺寸,以确保不超过所指定的平均比特率并且不超过所指定的最大比特率。
本发明还涉及一种用于视频流的视频编码中的速率控制的设备,该设备包括:用于指定视频流的最大比特率和平均比特率的部件;用于根据帧间帧相对于帧内帧的位置计算帧间帧尺寸以确保不超过所指定的最大比特率的部件;以及用于调整所计算的帧间帧尺寸以确保不超过所指定的平均比特率同时不超过所指定的最大比特率的部件。
本发明还涉及一种用于在考虑解码延迟时改进包括由帧内帧分开的一系列帧间帧的序列的视频编码中的速率控制的方法,该方法包括:对于该系列的每个帧间帧,计算目标帧尺寸;对于该系列的每个帧间帧,计算与所述每个帧间帧相对于前面的帧内帧和即将到来的帧内帧的位置相关的最大缓冲器等级;以及响应于所计算的目标帧尺寸和所计算的最大缓冲器等级而优化传输缓冲器等级。
本发明还涉及一种用于在允许解码延迟时改进包括由帧内帧分开的一系列帧间帧的序列的视频编码中的速率控制的设备,该设备包括:用于对于每个帧间帧计算目标帧尺寸的部件;用于对于每个帧间帧计算与所述每个帧间帧相对于前面的帧内帧和即将到来的帧内帧的位置相关的最大缓冲器等级的部件;以及用于响应于所计算的目标帧尺寸和所计算的最大缓冲器等级而优化传输缓冲器等级的部件。
本发明还涉及一种用于在允许解码延迟时改进包括由帧内帧分开的一系列帧间帧的序列的视频编码中的速率控制的设备,该设备包括:对于每个帧间帧计算目标帧尺寸的计算器;最大缓冲器等级的计算器,对于每个帧间帧计算与每个帧间帧相对于前面的帧内帧和即将到来的帧内帧的位置相关的最大缓冲器等级;以及优化器,响应于所计算的目标帧尺寸和所计算的最大缓冲器等级而优化传输缓冲器等级。
在参照附图阅读通过仅仅借助示例给出的本发明的说明性实施例的以下的非限制性描述时,本发明的前面的和其它的目的、优点以及特性将变得更加明显。
附图说明
在附图中:
图1是视频通信系统的示意图;
图2是用于图1的通信系统中的视频编码的编码器的示意框图;
图3是根据本发明的非限制性说明性实施例的用于视频编码中的速率控制的设备的示意框图;
图4是图示用于H.263视频编码标准中的速率控制的、根据本发明的非限制性说明性实施例的方法的流程图;
图5是图示用于计算帧间帧目标尺寸的方法的示例的流程图;
图6是图示用于计算帧间帧目标尺寸的方法的另一示例的流程图;
图7是图示用于更新所计算的帧间帧目标尺寸的方法的示例的流程图;
图8是图示用于更新所计算的帧间帧目标尺寸的方法的另一示例的流程图;以及
图9是图示用于H.263视频编码标准中的速率控制的、根据本发明的另一非限制性说明性实施例的方法的流程图。
具体实施方式
总的来说,根据本发明的非限制性说明性实施例的、用于改进速率控制的设备允许致力于TMN8速率控制未满足的以下要求:
1.能够指定并且满足帧内帧的目标帧尺寸:
-通过这样做,可以控制帧内帧的质量以及由帧内帧的出现导致的比特率中的波动;并且
-QP(量化参数)不是固定的,而是基于帧内帧特性而被计算,并且可以对于帧内帧中的每个像素块而改变,以便满足所指定的帧内帧目标尺寸。
2.除了平均比特率之外,还能够指定并且满足最大比特率:
-此外,在已经对帧进行了编码之后,执行对于所编码的帧的尺寸的验证;如果所编码的帧的尺寸与最大比特率相比太大而不可接受,则需要利用较小的目标尺寸重新编码帧或者将其丢弃;
-相反,TMN8速率控制通过例如丢弃帧来试图仅仅满足平均比特率;其不能满足最大比特率。
3.具有用于管理最大比特率的循环缓冲器以及用于平均比特率的另一缓冲器;
-相反,TMN8仅仅使用一个传输缓冲器。
4.估计和计算取决于帧内帧的定时和编码的帧间帧目标尺寸:如果最近已经编码了帧内帧或者如果马上就将编码帧内帧;
-而且,帧间帧目标尺寸的估计考虑各种参数,诸如帧内帧的尺寸、两个帧内帧之间的时间段、低于或者高于平均比特率的比特的数目,等等。
-反之,TMN8使用仅仅基于传输缓冲器占用和比率的目标尺寸;其从不预测即将到来的帧内帧并且在帧内帧的编码之后典型地跳过许多帧,因此导致视频质量的降级。
5.以主动(proactive)和预防的方式丢弃帧:
-根据本发明的一个非限制性说明性实施例的设备确保从不超出最大比特率,并且在传输帧之前在需要时丢弃帧;丢弃帧的决定基于所估计的与所达到的、即所实际编码的之间的差异;
-反之,TMN8在已经创建了并且传输了太大并且导致超出目标尺寸的帧之后跳过帧;通过这样做,已经对视频的质量造成了损害;此外,丢弃帧的决定基于传输缓冲器装满的程度。
I.系统
首先,将描述视频通信系统,以便定义其中发生视频编码的通信系统。然而,该通信系统不是本发明的一部分。
转向图1,将描述通信系统10。
通信系统10包括用于捕捉视频的、诸如摄像机或者网络摄像头之类的视频源12。然后,将那些视频提供给视频编码器14。将视频编码器14连接到网络16。网络16还可以包括用于将所编码的视频传输到解码器18的通信链路。最后,将解码器连接到视频播放器20。视频播放器20可以是计算机、电视机、或者能够显示视频的任何设备。
在例如在第一方与第二方之间的通信对话期间,通过编码器14接收由第一方的视频源12捕捉的视频,然后,编码器14执行视频压缩和编码。一旦编码器14完成了对视频数据的编码,就将所编码的视频通过网络16或者简单地通过通信链路传输到第二方。在第二方一端,解码器18接收所编码的视频并且开始对其进行解码。一旦解码了所编码的视频,解码器18就将经过解码的视频数据发送到视频播放器20,然后,视频播放器20开始播放从第一方接收到的视频。
在图2中详细描述编码器14。编码器14包括一个或多个进程301到30N,其允许执行如将在下文中描述的视频编码中的不同操作。编码器14还包括运动估计模块32、运动补偿模块34、DCT模块36、量化模块38、以及缓冲器40。
应注意:可以在诸如例如来自Vantrix公司的spot
Figure BDA0000145781940000061
之类的不同的平台中实施此编码器14。视频源可以是视频文件或者摄像机。
如上文所述,运动估计模块32允许预测可能已经被移动到当前帧中的前面的帧的区域。
然后,运动补偿模块34针对对于由运动估计模块32检测到的运动的补偿。
DCT模块36对于像素块执行到空间频率系数的DCT变换。
然后,将那些空间频率系数供应给量化模块,以便对所述空间频率系数进行量化。
可以将所编码的帧存储在编码器14的缓冲器40中。因此,缓冲器40允许接收所编码的帧,然后,通过通信链路(网络16)传输所述所编码的帧。
最后,编码器14还包括根据本申请的、用于控制视频编码中的比特率的速率控制设备42。此速率控制设备确保不超出通信链路的最大容量,并且提供增强的视觉质量,特别是对于远程监视(tele-surveillance)应用以及其它呈现连续视频序列的应用。
II.设备
速率控制设备42实施编码器14中的改进的速率控制。更具体地,设备42实施用于控制H.263以及MPEG 4视频编码标准中的比特率的方法100,以便满足平均和最大比特率限制。在下文中将描述方法100。
如图3所图示的设备42包括预测器50,用于指定帧内帧的目标尺寸并且预测在量化模块38中使用的所需要的QP,以满足所指定的帧内帧目标尺寸。由于在控制比特率时帧内帧的尺寸可以影响比特率中的质量和突发(burst)这两者,因此确定目标尺寸以适当地设置用于编码帧内帧的比特预算(budget)。
设备42还包括帧间帧尺寸的第一计算器52。第一计算器52允许计算不同情况下的帧间帧的目标尺寸,以便满足最大比特率限制,如在下文中将要描述的。
此外,设备42包括用于重新计算由第一计算器52提供的帧间帧目标尺寸的第二计算器54,以便满足最大比特率以及平均比特率限制这两者。
而且,设备42包括用于确保所编码的帧的尺寸不超出所计算的帧间帧目标尺寸以及最大比特率所允许的最大尺寸的验证器(validator)56。
最后,为了满足最大和平均比特率的限制,图2中的进程302具有循环缓冲器(未示出),用于包含在上一(1)秒内传输的帧的尺寸。例如,在10帧/秒时,这样的缓冲器将保持上10个所编码的帧的尺寸。
总的来说,用于满足最大和平均比特率限制的、根据本发明的非限制性说明性实施例的方法100使用两个控制进程,诸如302和303。例如,可以连同第一和第二计算器52和54一起使用进程302,用于计算所需的目标帧尺寸以避免超出最大比特率。连同验证器56一起使用进程303,以在对帧进行编码之后,检查是否可以传输所编码的帧、即未达到最大比特率。在已经超出了最大比特率的情况下,丢弃所编码的帧,或者编码器14试图利用不同的编码参数再次编码相同的帧。
III.方法
下面,将结合图4描述用于控制诸如H.263标准之类的视频编码标准中的比特率的、根据本发明的非限制性说明性实施例的方法100。
然而,应注意:还可以在诸如H.261、MPEG-4、H.264等之类的其它视频编码标准中使用此速率控制。
如上文所述,由于帧内帧的尺寸可以影响比特率中的质量和突发这两者,因此在控制比特率时设置用于编码帧内帧的第一比特预算是重要的。
在操作101中,指定最大比特率RMAX和平均比特率Ravg
然后,在操作102中,指定帧内帧的目标尺寸BI(以比特为单位)。
在方法100的操作103中,执行QP的预测,其允许在编码帧内帧时更好地满足在操作102中指定的帧内帧目标尺寸。可以例如在图3的预测器50中执行操作102和103。
然后,在操作104中,基于在操作102中指定的帧内帧的目标尺寸来计算帧间帧的目标尺寸,以便满足所指定的最大比特率RMAX。可以由例如图3中的第一计算器52执行此操作104。
在操作106中,重新计算所计算的帧间帧目标尺寸,以便满足所指定的最大比特率和平均比特率这两者。可以由例如图3中的第二计算器54执行此操作。
最后,在操作108中,针对由最大和平均比特率允许的所计算的帧尺寸,验证所编码的帧的尺寸。
现在,更具体地,将更详细地描述图4的方法100的每个操作。
操作101:最大比特率和平均比特率的指定
为了获得视频编码中的改进的视频质量,设置被表示为RMAX的最大比特率,不应当超出该最大比特率的值。将最大比特率定义为可以在任何一(1)秒的时间段内通过信道传输的最大数目的比特。利用此定义,最大尺寸等效于最大比特率。应注意:可以可应用最大速率的其它定义。根据每个应用指定和定义最大比特率在本领域普通技术人员的能力和知识内。如何在帧的时间段上指定平均比特率也是本领域中已知的。
操作102:帧内帧目标尺寸的指定
知晓如何基于视频编码的特定应用以及基于所指定的最大和平均比特率来指定帧内帧目标尺寸是在本领域普通技术人员的知识和所及的范围内的。例如,可以将帧内帧目标尺寸设置为最大比特率RMAX或平均比特率Ravg的百分数。
操作103:预测QP以便满足所指定的帧内帧目标尺寸
为了这样做,基于在下文中被称为参考文献2的、Pan等人2004年的“Adaptive intra-frame quantization for very low bit rate video coding”中公开的估计算法,已经开发了在量化模块38中使用的用于预测QP(量化参数)的估计算法。
由图3中的预测器50使用此算法,用于估计在量化模块中所需的QP,以便满足基于帧内帧的统计值的给定的帧内帧目标尺寸。然而,与其中对于帧内帧的整个持续时间考虑恒定的QP的参考文献2的教导不同,在已经开发的估计算法中,可以对于帧内帧的每个GOB(块组)更新QP值,以便更精确地满足所指定的目标帧尺寸。而且,参考文献2考虑灰度级图像,而所开发的估计算法支持彩色图像。
根据参考文献2,可以由下式来描述QP和其它帧统计值之间的关系:
QP = 16.34 B I 2.05 MAV DCT 1.0 + 0.29 ln ( B I ) - - - ( 1 )
其中
Figure BDA0000145781940000092
F(u,v)包含尺寸N×M的画面的所有像素块的8×8DCT系数,BI是所指定的帧内帧目标尺寸(以比特为单位)。
项MAVDCT表示DCT系数的平均绝对值,并且指示画面复杂度量度(measure)。项ABS()是绝对值函数。
应注意:等式(1)仅仅考虑画面的亮度的统计值,并且忽略画面的色度。因此,需要新的等式以便也考虑色度,与亮度相比,色度通常通过因数(factor)四(4)而二次采样(subsample),并且通过下式给出:
MAV DCT = 0.9 MN Σ u = 0 N - 1 Σ v = 0 M - 1 ABS ( F L ( u , v ) ) +
0.1 4 MN ( Σ u = 0 N / 2 - 1 Σ v = 0 M / 2 - 1 ( ABS ( F C 1 ( u , v ) ) + ABS ( F C 2 ( u , v ) ) ) ) - - - ( 2 )
其中FL(u,v)包含用于亮度的块的8×8DCT系数,FC1(u,v)和FC2(u,v)包含用于色度的块的8×8DCT系数。
如上文所述,为了更精确地满足所指定的帧内帧目标尺寸BI,对于帧内帧的每个GOB调整QP。此外,修改等式(2),以便考虑编码帧内帧的剩余的块所需要的比特。则修改后的用于预测QP的等式如下:
QP mod = 16.34 B I 2.05 MAV DCT 1.0 + 0.29 ln ( B I ) - - - ( 3 )
其中其中Bremain是从用于编码帧的所指定的帧内帧目标尺寸中剩余的比特的数目,Ntotal是帧中的宏块的总数目,Nremain是帧中要编码的剩余的宏块的数目,Nbias是在接近要编码的帧的结尾时用于使得QP估计更保守(conservative)的偏移;典型地,Nbias=4。
在已经计算了QP以便满足所指定的帧内帧目标尺寸BI之后,方法100继续前进到操作104。
操作104:计算帧间帧尺寸以便满足最大比特率限制
作为非限制性的示例,在操作101中指定的帧内帧目标尺寸被认为为恒定的;然而,帧间帧目标尺寸取决于情形。需要考虑两种情况:
i)情况1:当在上一秒内已经编码了帧内帧或者将在即将到来的一秒中编码帧内帧时;以及
ii)情况2:在不受来自帧内帧的任何影响的情况下,在上一秒内仅仅已经编码了帧间帧或者将在即将到来的一秒中仅仅编码帧间帧。
因此,操作104需要考虑上述两(2)种情况,即情况1和情况2,以计算帧间帧目标尺寸。通过操作104,在情况1下使用方法200,在情况2下使用方法250。
用于其中在上一秒内编码帧内帧或者将在即将到来的一秒中编码帧内帧的情况(情况1)下、计算帧间帧目标尺寸的方法200
参照图5,将描述用于在情况1下计算帧间帧目标尺寸的方法200。
首先,在操作202中,基于RMAX计算理想的帧间帧目标尺寸B2。为了这样做,作为非限制性的示例,假设所有的帧间帧具有相同的尺寸,则最大比特率由下式给出:
RMAX=BI+(F-1)B2    (4)
其中BI是帧内帧目标尺寸,B2是在情况1下的理想的帧间帧目标尺寸,情况1即为其中在上一秒内编码帧内帧或者要在即将到来的一秒中编码帧内帧,F是每秒要编码的帧的数目、即帧速率。
然后,由等式(4),理想的帧间帧目标尺寸B2由下式给出:
B 2 = R MAX - B I ( F - 1 ) - - - ( 5 )
通过定义,如等式(5)中所示,F大于1帧/秒。
首先,通过在操作202中计算的理想的帧间帧目标尺寸B2给出被表示为BPI的对于情况1的帧间帧目标尺寸:
BPI=B2
然而,调整上面的帧间帧目标尺寸BPI以考虑过去所编码的帧、特别是帧内帧的影响。实际上,通常所编码的帧不具有完全等于目标尺寸的尺寸。因此,调整以后的帧间帧尺寸,使得处理(account for)所编码的帧的实际尺寸与目标尺寸之间的差异,以便确保在以后的帧内帧的编码中分配足够的比特,而不超出最大比特率RMAX
因此,在操作204中,例如通过图3的第一计算器52,基于过去所编码的帧来计算经过调整的帧间帧目标尺寸。为了这样做,考虑两(2)种情况:
i)如果已经在上一秒内对帧内帧进行了编码,则将通过使用下面的等式来调整和限制接下来的帧间帧BPI的尺寸:
BPI=max(0,min(BPI,tmp(t)))    (6)
其中 tmp ( t ) = R MAX - Σ k = t - ( T - N ) t - 1 SizeHistory [ k ] F - ( T - N ) - - - ( 7 )
其中SizeHistoy[k]是所编码的帧k的尺寸,t是要编码的当前帧的索引,T是两个帧内帧之间的时间段(以帧数为单位),N是在接下来的帧内帧之前剩余的帧数。tmp(t)表示帧t时的比特预算的缓冲。而且,在等式(6)中,最大值函数内的零(0)允许避免缓冲器的下溢(underflow)。
应注意:等式(6)和(7)允许在要在帧内帧后面的一秒内编码的剩余的帧间帧之间、从用于编码帧的比特预算中基本上均等地划分任何额外的比特。而且,应注意:时刻t-(T-N)的帧是被帧内编码的帧。
ii)如果要在即将到来的一秒内编码帧内帧,则将如下限制接下来的帧间帧的目标尺寸:
BPI=max(0,min(BPI,tmp(t)))    (8)
其中 tmp ( t ) = R MAX - B I - Σ k = t - ( F - N ) + 1 t - 1 SizeHistory [ k ] N - - - ( 9 )
其中,SizeHistory[k]是所编码的帧k的尺寸,t是要编码的当前帧的索引,N是在接下来的帧内帧之前剩余的帧数。
应注意:在等式(9)中,已经添加了F-(N-1)项。因此,在其中作为帧内帧的一帧的时间段中计算(N-1)个剩余帧的尺寸。因此,表示比特预算缓冲tmp(t)的等式包含除以N。
最后,在操作206中,重新计算经过调整的帧间帧目标尺寸,以便确保其不超出由最大比特率RMAX所允许的最大尺寸,同时保持差错的较小容限并且考虑已经被用于编码过去的帧的比特。
因此,通过使用下面的等式来限制帧间帧目标尺寸:
BPI=max(0,min(BPI,tmp2(t)))    (10)
其中 tmp 2 ( t ) = R MAX - R m arg in - B I - Σ k = t - F + 1 t - 1 SizeHistory [ k ] - - - ( 11 )
其中,Rmargin是用于确保帧间帧目标尺寸不超出最大比特率RMAX所允许的最大尺寸的差错的容限。
在对应于情况2的、不存在上一秒内被编码或者要在即将到来的一秒中编码的帧内帧的情况下,操作104使用方法250用于计算帧间帧目标尺寸。
用于在其中没有帧内帧在上一秒内被编码或者要在即将到来的一秒中被编码的情况下(情况2)、计算帧间帧目标尺寸的方法250
现在转向图6,将描述用于在情况2下计算帧间帧目标尺寸的方法250。
首先,在操作252中,基于最大比特率计算帧间帧的理想目标尺寸B3。在此情况下,由于假设不存在帧内帧,因此通过下式给出在任一秒期间的最大比特率RMAX
RMAX=F.B3    (12)
其中B3是在没有任何帧内帧在上一秒内被编码或者要在即将到来的一秒中被编码的情况下的理想的帧间帧目标尺寸。
因此,通过下式给出理想的帧间帧目标尺寸B3
B 3 = R MAX F - - - ( 13 )
首先,在情况2下的被表示为BP的帧间帧目标尺寸采取所计算的理想帧间帧尺寸B3的值,即,BP=B3
在此情况下,不需要基于过去所编码的帧内帧来调整目标尺寸BP,这是因为假设帧间帧不被帧内帧影响。
然后,在操作254中,重新计算帧间帧目标尺寸BP,以便确保其不超出最大比特率所允许的最大尺寸,同时保持差错的较小容限并且考虑用于编码过去的帧的比特。
为了这样做,使用下面的公式:
BP=max(0,min(BP,tmp2(t)))    (14)
其中
Figure BDA0000145781940000132
其中,Rmargin是目标尺寸与最大比特率所允许的最大尺寸之间的差错的容限;例如,Rmargin=1000比特。
一旦已经在情况1或者情况2下计算了帧间帧目标尺寸以满足最大比特率限制时,图4中的方法100就继续前进到操作106,以更新和调整所计算的帧间帧尺寸,以便满足在操作101中指定的最大比特率和平均比特率这两者。可以例如在图3的第二计算器54中执行此操作106。
操作106:重新计算所计算的帧间帧尺寸以便满足平均和最大比特率限制这两者
操作106使用允许满足平均和最大比特率限制这两者的方法。这些方法具有两个组成部分:i)计算帧间帧目标尺寸以便满足平均和最大比特率限制;以及ii)管理未在过去的帧的编码中使用的、并且可以在以后的帧的编码中使用的另外的比特。
将再次考虑如在操作104中描述的两种情况:情况1和情况2。因此,操作106在情况1下使用方法300,并且在情况2下使用方法350。
用于其中在上一秒内编码帧内帧或者将在即将到来的一秒中编码帧内帧的情况(情况1)下、重新计算帧间帧尺寸的方法300
现在参照图7,将描述在情况1下用于重新计算在操作104中计算的帧间帧目标尺寸的方法300。
首先,在操作302中,基于所指定的平均比特率来计算理想的帧间帧目标尺寸B。
理想地,帧间帧具有相同的尺寸,使得在两个帧内帧之间的时间段T上,通过下式给出平均比特率Ravg
R avg = F ( B I + ( T - 1 ) B ) T - - - ( 15 )
由此,可以如下地表示理想的帧间帧目标尺寸B:
B = ( R avg T / F ) - B I T - 1 - - - ( 16 )
为了确保帧间帧尺寸不超出平均比特率Ravg和最大比特率RMAX,将帧间帧目标尺寸BPI重新计算如下:
B PI = min ( B , B 2 ) = min ( B , R MAX - B I F - 1 ) - - - ( 17 )
操作302可以在首次初始化编码器14时或者在每次比特率参数改变时仅仅计算一次;所述参数包括例如所指定的最大比特率。
然后,在操作304中,调整所计算的目标帧尺寸BPI,以便考虑过去所编码的帧、更具体地说是帧内帧。为了这样做,计算类似于等式(6)或(8)的等式,以基于过去所编码的帧来获得更新后的帧间帧目标尺寸BPI
BPI=max(0,min(BPI,tmp))
其中如在等式(7)和(9)中定义的tmp取决于以下情况:i)如果已经在上一秒内编码了帧内帧,则使用等式(7);以及ii)如果要在即将到来的一秒中编码帧内帧,则使用等式(9)。
下面,在操作306中,计算经过调整的目标帧尺寸与实际帧尺寸之间的差异,这是因为如上文所述,所编码的帧通常不具有与目标尺寸完全相同的尺寸。
为了这样做,使用变量Bextra来通过使用例如图2的进程301来监视这些差异。在通信对话的开始时将此变量初始化为零。变量Bextra逐帧累积高于目标尺寸或者低于目标尺寸的比特的数目。如果Bextra大于零,则实际比特率低于所指定的平均比特率;如果Bextra是负的,则实际比特率高于所指定的平均比特率。对于每个所编码的帧执行如下的Bextra的更新:
Bextra=Bextra+Btarget-Bencoded    (18)
其中Btarget是目标尺寸,其对应于用于帧间帧的BPI以及用于帧内帧的BI,Bencoded是所编码的帧的尺寸。
如果Bextra是正的、意味着实际比特率低于所指定的平均比特率,则在接下来的帧上分布未使用的比特,以在所述接下来的帧的编码中使用;因此,对于接下来的帧,目标尺寸增大。在其中Bextra是负的情况下,对于接下来的帧,目标尺寸减小。所使用的算法如下:
如果Bextra>0(这对应于其中实际比特率低于平均比特率的情况),则
Btarget=Btarget+αBextra(如果αBextra≤βBtarget),或者
Btarget=Btarget+βBtarget(如果αBextra>βBtarget)
在其它情况下,Btarget=Btarget+Bextra
其中,α表示在当前帧中使用的另外的比特的一部分,β表示可以被添加的目标尺寸的最大部分。例如,在仿真中,使用α=0.6和β=0.15。然而,可以修改这些值以进一步改进编码器14的性能。调整α和β的值以便获得各种性能在本领域普通技术人员的能力和知识内。此外,还可以在不偏离此速率控制方法的主要构思的情况下修改或者改变上述用于更新目标尺寸B目标的方法。
应注意:根据实施的观点,可以丢弃导致负的Bextra的所编码的帧。在这样的情况下,所编码的帧的实际平均比特率将高于所指定的平均比特率。而且,可以决定丢弃在某一阈值以下的所编码的帧。例如,一实施方案可以使用-500比特的阈值。
最后,操作308确定用于要编码的当前帧的经过调整的帧间帧目标尺寸未超出最大比特率RMAX所允许的最大尺寸。为了这样做,使用类似于等式(10)的等式来获得有效的帧间帧目标尺寸:
BPI=max(0,min(BPI,tmp2)
其中tmp2是如在等式(11)中定义的那样。
还可以修改方法300,以便恰好在操作306之前处理Bextra。这是在不偏离此速率控制方法的主要思想的情况下、将导致行为和性能中的一些其它的折衷的实施方案选择。
在没有帧内帧在上一秒内被编码或者将在即将到来的一秒中被编码的情况下,操作106使用用于更新所计算的帧间帧目标尺寸的方法350,以便满足平均和最大比特率这两者。
用于在其中没有帧内帧在上一秒内被编码或者将在即将到来的一秒中被编码的情况(情况2)下、重新计算帧间帧尺寸的方法350
如上文所述,仅仅在理想的情况下,帧间帧具有相同的尺寸。实际上,最大比特率限制可以显著地减小位于帧内帧附近的帧间帧的目标尺寸。为了补偿尺寸中的这些差异,将重新评估不受帧内帧影响的帧间帧的尺寸。
现在参照图8,将描述用于在情况2下重新计算帧间帧目标尺寸的方法350。
首先,在操作352中,基于平均比特率计算理想的帧间帧目标尺寸Ba
在理想的情形下,假设帧间帧的尺寸为相同的长度。因此,在该情况下,在两个帧内帧之间的整个时间段T上,通过下式给出平均比特率Ravg
R avg = F ( B I + ( 2 F - 2 ) B PI + ( T - ( 2 F - 1 ) ) B a T ) - - - ( 19 )
根据等式(19),可以导出通过下式给出的帧间帧的理想尺寸Ba
B a = ( R avg T / F ) - B I - ( 2 F - 2 ) B PI T - ( 2 F - 1 ) - - - ( 20 )
操作352可以在初始化编码器14时或者在每次比特率参数改变时仅仅计算一次。
为了确保帧间帧目标尺寸BP不超出基于平均比特率的理想帧间帧目标尺寸以及在方法250的操作252中计算的、不超出最大比特率的帧间帧尺寸,如下限制帧间帧的目标尺寸BP
B p = min ( B a , B 3 ) = min ( B a , R MAX F ) - - - ( 21 )
然后,在操作354中,计算在操作352中计算的帧间帧尺寸BP与实际的所编码的帧的尺寸之间的差异。对于每个帧执行此操作。
跟踪由在操作354中计算的差异产生的比特的数目,并将其存储在变量Bextra中。此变量允许确定实际的所编码的帧是高于还是低于所指定的平均比特率,并且允许基于情形补偿该差异。这是利用根据等式(21)计算的目标尺寸、如在图7的方法300的操作306中所述的那样完成的。
最后,在操作356中,限制BP,以便不超出最大比特率,同时保持差错的容限并且考虑用于编码过去的帧的比特。通过以下的等式给出BP
BP=max(0,min(BPI,tmp2))    (22)
其中
Figure BDA0000145781940000171
Rmargin是比特率的差错的容限。
例如,Rmargin=1000比特。
一旦计算了帧间帧目标尺寸,在图4的操作108中,通过例如图3的验证器56执行验证操作。实际上,所编码的帧经常不具有与所计算的帧间帧相同的尺寸。因此,如果与所计算的目标尺寸和最大比特率相比所编码的帧的尺寸过大,则激活重新编码或者丢弃机制。那些机制是本领域公知的并且因此将不在本说明书中进一步描述。
IV.数值示例
在此部分中,将描述根据用于视频编码中的速率控制的方法100的一些数值示例。
例如,根据方法200和方法250,如果最大比特率是RMAX=48000bps(比特/秒),帧内帧目标尺寸是BI=40000比特,并且帧速率是F=10fps(帧/秒),则:
通过分别在操作202中使用等式(5)以及在操作252中使用等式(12),可以得到:
BI=40000
Figure BDA0000145781940000172
Figure BDA0000145781940000173
再次,操作202和252可以在初始化编码器14时或者在每次比特率参数改变时仅仅计算一次。然而,基于实际的所编码的帧的尺寸,每次、即为每个帧计算操作204、206以及254。
另一示例涉及方法300和方法350。在此情况下,如果最大比特率RMAX=48000bps,平均比特率是Ravg=32000bps,帧内帧目标尺寸BI=40000比特,帧内帧的时间段是T=4秒、即每40帧,帧速率是F=10fps,则:
通过在操作302中使用等式(17)并且在操作354中使用等式(20),可以得到:
BI=40000
Figure BDA0000145781940000181
Figure BDA0000145781940000182
再次,操作302和352可以在初始化编码器14时或者在每次比特率参数改变时仅仅计算一次。然而,基于实际的所编码的帧的尺寸为每个帧计算操作304、306、308、354以及356。
然后,利用BP=3429比特使用等式(19),来计算在通过使用所计算的目标尺寸来如所计划的那样编码所有的帧的情况下可以获得的平均比特率:
Figure BDA0000145781940000183
Figure BDA0000145781940000184
Figure BDA0000145781940000185
因此,获得了所期望的理想结果。在某些情况下,最大比特率和帧内帧目标尺寸可能限制平均比特率,特别是如果最大比特率接近平均比特率的情况下、以及如果目标帧内帧尺寸较大的情况下。例如,如果在前面的示例中平均比特率是48000bps,则:
BI=40000
Figure BDA0000145781940000186
利用BP=4800比特来如下地计算在如所计划的那样编码所有的帧的情况下可以获得的平均比特率:
Figure BDA0000145781940000188
Figure BDA0000145781940000189
Figure BDA00001457819400001810
但是,实际上,观察较小的平均比特率,因为所编码的帧的尺寸将围绕目标尺寸波动。因此,由等式(19)给出的结果对应于理论最大值。
应注意:方法100中的帧间帧目标尺寸的计算取决于帧间帧相对于帧内帧的位置。
V.关于导致超出所计算的目标尺寸的所编码的帧的管理
在TMN8速率控制中,传输所有的所编码的帧,即使它们的传输将导致其中超出所指定的平均比特率的情形。在传输帧之后,如果超出了所指定的平均比特率,则在需要时编码器将跳过一个或者若干个帧,直到再次遵守所指定的平均比特率为止。因此,此控制是反应性的而不是主动的。
上面的机制对于满足平均比特率是可接受的。然而,如果如在使用物理传输信道的许多现实生活中的应用中的情况下那样、必须从不超出最大比特率,则其是不可接受的。
实际上,由于任何帧的尺寸都潜在地超出目标尺寸,因此应当实施其中在传输导致超出最大比特率的所编码的帧之前将其丢弃的机制。此途径的问题是视频编码使用逐帧的预测(时间预测编码)。因此,如果丢弃帧,则需要在对所丢弃的帧进行重新编码之前恢复编码器的状态,否则编码器和解码器将不同步。
因此,根据本发明的非限制性实施例的设备42在编码帧之前存储编码器状态变量。如果所编码的帧的尺寸导致超出最大比特率,则其被丢弃,并且为接下来编码的帧恢复状态变量。否则,传输所编码的帧并且编码器以新的状态变量继续。
此特性还可以用于诸如其中可以对一帧执行多次编码迭代直到满足尺寸和/或质量上的目标的多程(multipass)编码之类的其它应用。
编码器14可以在两种状况下丢弃或者跳过帧。首先,如果所编码的帧超出最大比特率,则其将被自动丢弃。第二,如果所传输的比特的数目超出所指定的平均比特率,则可以跳过以后的帧-不是刚刚被编码的帧而是跟随的各帧,直到再次遵守平均比特率为止。更具体地,如果超出了所指定的平均比特率的某一阈值,则可以跳过以后的帧,并且将仅仅在其中保持当前帧将导致超出最大比特率的情况下丢弃该当前帧。
此外,编码器14允许在任一时刻请求帧内帧,导致实施“按要求的帧内帧”的特性。明显地,在这样的情况下,在不超出最大比特率的情况下,可以不遵守帧内帧目标尺寸。如果发生此种情况,则编码器14将计算并且使用最大帧内帧目标尺寸,而不超出最大比特率。如果所编码的帧内帧的尺寸超出最大比特率,则其将被丢弃,并且编码器14将在再次试图编码该帧内帧之前等待某一时间段。编码器14将继续等待并且试图编码该帧内帧,直到所编码的帧内帧遵守最大比特率。在每次失败的尝试时,减小帧内帧目标尺寸,以便避免无限循环,其中所编码的帧的尺寸总是高于最大比特率。
通常,编码器14在编码视频数据和帧时请求以下的参数:
·如在方法100的操作102中指定的帧内帧目标尺寸;
·如在方法100的操作101中指定的平均比特率;
·如在方法100的操作101中指定的最大比特率。
应注意:编码器14可以执行上面给出的参数的若干验证,并且如果不可能使用所述参数则可以改变参数值。例如,利用给定的帧内帧目标尺寸和最大比特率,可能达不到平均比特率。因此,将改变这些参数,并且重新计算平均速率。
VI.基于缓冲器的用于H.263的速率控制的第二非限制性实施例
在前面的实施例中,将最大比特率RMAX定义为在一(1)秒的时间段期间可以被传输的最大数目的比特。
然而,在诸如视频流传输之类的应用中,考虑最大比特率的不同的定义,其考虑在那些应用中存在的实际限制。
在视频流中,通过容量有限的信道发送视频分组;因此比特率是有限的。如果在图1中的播放器20开始播放接收的第一帧内帧之前、认为一(1)秒的延迟是可接受的,则帧内帧目标尺寸应当低于(inferior)RMAX,在下文中将进行解释。
在播放器开始播放接收的第一帧之前,解码器18必须等待一(1)秒。然而,这不意味着不能在此一(1)秒的延迟期间传输另外的帧。现在,假定BI=RMAX并且不超出最大比特率RMAX等效于传输缓冲器40不超出RMAX的状况。则在时刻t=0时,因为刚刚已经插入了尺寸为RMAX的帧,图2的缓冲器40被装满。如果F=10fps并且RMAX=48000bps,则在t=0.1秒时,缓冲器40被腾空了RMAX/F=4800比特,因为通过信道传输了该4800比特。因此,4800比特变得可用于在给定的t=0.1秒的时刻编码帧,而不溢出传输缓冲器40。相同的途径应用于之后的帧。因此,对于帧内帧之后的每个帧,可以传输另外的4800比特的量。由此,利用此途径,可以总共传输48000+(10-1)(4800)=91200比特,而不是如上文所示以及描述的48000比特。
那些另外的可用的比特允许改进帧内帧之后的帧的质量,这是因为将所述另外的可用的比特来增加用于编码帧内帧之后的帧间帧的比特的数目。
然而,应注意:不是在一(1)秒期间发送前面计算的91200比特,而是由于由接收所传输的帧内帧的应用所导致的延迟,占据那些比特的时间为1.9秒∶1秒的延迟以及从时刻1.1秒到1.9秒的9帧,其给出了对应于最大比特率RMAX的比特率(91200比特/1.9秒)=48000比特/秒。
为了例示的目的,将考虑:最大缓冲器尺寸将对应于最大比特率RMAX。然而,可以利用不同的值来设置最大缓冲器尺寸。本领域普通技术人员将知道如何相应地修改公式。
现在,将考虑其中接下来的帧内帧到来的情况。由于接下来的帧的到来,缓冲器必须被逐步腾空,以便在按日程的时刻(scheduled time)具有用于该即将到来的帧内帧的足够的空间。
即使用于帧内帧的目标尺寸是BI,为了实际的目的,也期望具有空的缓冲器40,以便将更多的可用比特分配给帧内帧之后的帧,从而改进该帧内帧之后的帧的质量。
因此,在实际应用中,BI<RMAX。因此,在开始腾空缓冲器40之前,增大被分配给帧内帧之后的帧的比特的数目,以便获得对那些帧的改进的质量。
令零(0)为帧内帧的到达的时刻。然后,将N定义为在其上分布来自帧内帧的编码的未使用的比特的帧内帧之后的帧的数目。而且,将L定义为在其上优化缓冲器等级的帧间帧的数目。应注意:在t=L时,缓冲器40被装满,并且0≤N≤L。
总的来说,可以采用的可能的策略如下。
缓冲器等级一直不超出RMAX,意味着将丢弃生成溢出的所编码的帧。在之后的帧间帧的编码中使用在帧内帧的编码中未使用的比特,以便使得缓冲器等级最大化并且增加视频的整体质量,这是因为在帧内帧之后的视频的质量经常是最差的。直到帧编号L为止,通过利用目标尺寸RMAX/F来编码帧使得缓冲器40保持装满。此外,在之后的帧上重新分布已经被计算但是未在前面的帧中使用的比特;然而,目标尺寸必须不超出某一值,该值取决于目标缓冲器等级,而该目标缓冲器等级自身取决于时间上的帧索引。应注意:对于帧内帧之后的第一个帧,目标缓冲器等级为RMAX,并且目标缓冲器等级逐渐减小为零(0),直到接下来的帧内帧的到来。
现在参照图9,将描述用于视频编码中的改进的速率控制的方法400。
在操作402中,在时刻t=0时,通过传输缓冲器40接收帧内帧。因此,在时刻t=0时,目标帧尺寸是BP(t)=BI
在操作404中,执行新的缓冲器等级(其是前面的缓冲器等级与实际的所编码的帧内帧的尺寸的和)与最大缓冲器尺寸RMAX之间的比较。
如果新的缓冲器等级大于如在操作406中测试的最大缓冲器尺寸RMAX,则在操作408中,丢弃实际的所编码的帧。而且,将恢复在编码该帧之前的编码器状态变量(包括缓冲器等级,其将被恢复为编码之前的缓冲器等级值)。
如果新的缓冲器等级小于最大缓冲器尺寸RMAX,则在操作410中,通过使用以下公式在两个帧内帧之间的时间段T内的时刻t时对于每个帧计算帧间帧目标尺寸BP(t):
B P ( t ) = B P I ( t ) (如果t=1,2,3,…,L)
B P ( t ) = TR MAX - FB I - F Σ k = 1 L B P I ( k ) F ( T - L - 1 ) (如果t=L,L+1,…,T-1)
其中
Figure BDA0000145781940000223
是任意数,但是条件是缓冲器40必须不溢出,即,缓冲器等级≤RMAX,并且必须在t=L时接近装满。
然后,在操作412中,计算最大缓冲器等级,不能超出该最大缓冲器等级。实际上,对于每个帧,应当计算最大缓冲器等级,以便确保在缓冲器40中有足够的空间用于插入接下来的帧内帧。帧内帧的尺寸不能超出RMAX。因此,对于T-1时的帧,缓冲器等级不能超出RMAX-BI+RMAX/F,使得在接下来的帧内帧的开始处缓冲器等级不超出RMAX-BI
然而,如上文中所述的,出于实际的原因,缓冲器40的尺寸应当为RMAX/F而不是RMAX-BI+RMAX/F。这是因为实际上难以精确地预测所编码的帧内帧的实际尺寸。当前的现有算法的鲁棒性不够。因此,更安全的是:在帧T-1时使得缓冲器40腾空,使得可以为帧内帧之后的帧使用更多的比特。
因此,如下计算最大缓冲器等级:
BufferLevelMAX(t)=RMAX    如果t=0,1,…,L
BufferLevel MAX ( t ) = R MAX ( FT - F - L ) F ( T - L - 1 ) + t R MAX ( 1 - F ) F ( T - F ) 如果t=L+1,…,T-1然后,在操作414中,更新在操作410中计算的帧间帧目标尺寸,以便合并来自帧内帧的编码中的未使用的比特。
有许多种在帧内帧之后的帧间帧上分布未使用的比特的方式。应注意:在帧L后,应当装满缓冲器40,以便优化帧内帧之后的视频的质量。
例如为了在之后的N个帧上均等地分布未使用的比特,通过下式给出时刻t时的目标帧尺寸:
B P ( t ) = R MAX F + ( R MAX - B I ) N (如果0<t≤N)
B P ( t ) = B P I = R MAX F (如果N<t≤L)
B p ( t ) = B p p = R MAX ( T - F - L ) F ( T - L - 1 ) (如果t=L,L+1,…,T-1)
应注意:如果L=N,则不出现为RMAX/F的目标帧尺寸。而且,T>F+L,使得缓冲器40将具有足够的时间来在两个帧内帧之间腾空其自身。
在操作416中,计算被分配给每个以后的帧的缓冲器等级,使得考虑经过更新的帧间帧目标尺寸。
因此,通过下式给出缓冲器等级:
BufferLevel ( t ) = R MAX - ( N - t ) ( R MAX - B I ) N 如果0≤t≤N
BufferLevel(t)=RMAX    如果N≤t<L
BufferLevel ( t ) = R MAX ( FT - F - L ) F ( T - L - 1 ) + t R MAX ( 1 - F ) F ( T - F ) 如果t=L+1,…,T-1应注意:在开始时,传输缓冲器是空的,然后,根据尺寸为BI和BP(t)的帧的计算连续地插入所述尺寸为BI和BP(t)的帧。
然后,在操作418中,计算用于编码帧的容限Δ(t):
Δ(t)=BufferLevelMAX(t)-BufferLevel(t)
使得:
Δ ( t ) = ( N - t ) ( R MAX - B I ) N (如果0≤t≤N)
Δ(t)=0    (如果N≤t<T-1)
通常,在编码器14编码帧时,所编码的帧的尺寸与目标尺寸略有不同;在目标尺寸大于所编码的帧的情况下,在接下来的帧上重新分布未使用的比特,只要未超出最大缓冲器等级即可。因此,在编码帧之后,在操作420中计算指示可能的另外的比特的数目的E(t)。可以将从帧的编码中产生的那些未使用的比特用于编码接下来的帧。将E(t)定义为:
E(t)=BufferLevel(t)-BufferLevelactual(t)=
BufferLevelMAX(t)-BufferLevelactual(t)-Δ(t)
其中,BufferLevelactual(t)是在实际编码帧之后的缓冲器等级。
应注意:通常将另外的比特的一部分用于确保不超出最大缓冲器等级。本领域普通技术人员将知道如何指定另外的比特的所述部分以便确保不超出最大缓冲器等级。
然而,可以发生所编码的帧大于目标帧尺寸的情况。在此情况下,E(t)是负的,或者低于某一给定的阈值。因此,在操作422中,对于所编码的帧执行验证进程。如果所编码的帧已经超出了目标帧尺寸,则丢弃此所编码的帧。而且,在此情况下,将编码器状态变量恢复到在编码该帧之前它们的值。
值得注意的是:例如,可以通过图3的第一计算器52来执行方法400的操作410,并且可以通过图3的第二计算器54来执行方法400的操作412。而且,由例如图2中的进程301提供的优化器(未示出)来允许在L个帧上优化传输缓冲器40。
VII.数值示例
例如,可以使用与在前面的数值示例中给出的值相同的值:RMAX=48000比特,BI=40000比特,F=10fps,T=40、即4秒。此外,假设N=3并且L=F-1=9,则
BP(t)=40000    (如果t=0)
BP(t)=7466     (如果0<t≤N)
BP(t)=4800     (如果N<t≤L)
BP(t)=3360     (如果t=L,L+1,…,T-1)
使用上面计算的值,可以如下计算最大比特率:
Figure BDA0000145781940000241
此结果比由方法100给出的39.2kbps更令人感兴趣。而且,由于在帧内帧之后的帧间帧上分布另外的比特,因此改进了帧的视觉质量。
尽管已经借助非限制性说明性实施例在前面的说明书中描述了本发明,但是可以在不背离本主题发明的精神和本质的情况下、在所附的权利要求的范围内随意修改这些说明性实施例。

Claims (24)

1.一种用于在考虑解码延迟时改进包括由帧内帧分开的一系列帧间帧的序列的视频编码中的速率控制的方法,该方法包括:
对于该系列的每个帧间帧,计算目标帧尺寸;
对于该系列的每个帧间帧,计算与所述每个帧间帧相对于前面的帧内帧和即将到来的帧内帧的位置相关的最大缓冲器等级;以及
响应于所计算的目标帧尺寸和所计算的最大缓冲器等级而优化传输缓冲器等级。
2.如权利要求1所述的方法,还包括:在所编码的帧超出最大缓冲等级时,丢弃帧。
3.如权利要求1所述的方法,还包括在编码帧之前存储编码器状态变量。
4.如权利要求3所述的方法,还包括:在编码接下来的帧之前,在已经丢弃了所编码的帧之后恢复所述编码器状态变量。
5.如权利要求1所述的方法,还包括确保所传输的帧尺寸小于所给定的最大限制。
6.如权利要求5所述的方法,其中通过最大比特率来确定所述最大限制。
7.如权利要求1所述的方法,其中所述计算目标帧尺寸是如下执行的:
B P ( t ) = B P I ( t ) 如果t=1,2,3,…,L
B P ( t ) = TR MAX - FB I - F Σ k = 1 L B P I ( k ) F ( T - L - 1 ) 如果t=L,L+1,…,T-1
其中,BP(t)是时刻t时的帧间帧的目标帧尺寸,T是两个帧内帧之间的时间段,
Figure FDA0000145781910000013
是时刻t时的任意帧间帧目标尺寸,BI是帧内帧尺寸,F是帧速率,k是求和函数中的索引,L是在其上优化传输缓冲器等级的帧的数目,RMAX是最大比特率。
8.如权利要求7所述的方法,其中所述计算目标帧尺寸还包括:
确定在编码帧内帧中未使用的多个比特;以及
在帧内帧之后的N个帧间帧的目标帧尺寸上分布所述未使用的多个比特。
9.如权利要求8所述的方法,其中确定在编码帧内帧中未使用的多个比特包括:计算所编码的帧内帧的尺寸与对应的帧内帧目标尺寸之间的差异。
10.如权利要求9所述的方法,其中所述分布所述未使用的多个比特包括:在L个帧间帧上优化传输缓冲器等级,其中0≤N≤L。
11.如权利要求8所述的方法,其中所述分布所述未使用的多个比特包括:基本上均等地分布所述多个未使用的比特。
12.如权利要求1所述的方法,其中所述计算目标帧尺寸还包括:如果在帧内帧之后的N个帧间帧的目标帧尺寸上多个未使用的比特被基本上均等地分布,则使用下面的等式:
B P ( t ) = R MAX F + ( R MAX - B I ) N 如果0<t≤N
B P ( t ) = B P I = R MAX F 如果N<t≤L
B p ( t ) = R MAX ( T - F - L ) F ( T - L - 1 ) 如果t=L,L+1,…,T-1
其中,BP(t)是时刻t时的帧间帧的目标帧尺寸,BI是帧内帧尺寸,T是两个帧内帧之间的时间段,是任意帧间帧目标尺寸,F是帧速率,L是在其上优化传输缓冲器等级的帧的数目,RMAX是最大比特率。
13.如权利要求1所述的方法,其中执行所述计算最大缓冲器等级以便确保传输缓冲器能够容纳即将到来的帧内帧。
14.如权利要求13所述的方法,其中所述计算最大缓冲器等级包括:在要编码的帧间帧在前面的帧内帧附近时计算接近最大缓冲器尺寸的最大缓冲器等级,并且在该帧间帧在即将到来的帧内帧附近时计算接近零的最大缓冲器等级。
15.如权利要求1所述的方法,其中计算最大缓冲器等级BufferLevelMAX(t)包括使用下面的等式:
BufferLevel MAX ( t ) = R MAX - ( R MAX - t ) ( R MAX - B I ) N 如果0≤t≤N
BufferLevelMAX(t)=RMAX    如果N≤t<L
BufferLevel MAX ( t ) = R MAX ( FT - F - L ) F ( T - L - 1 ) + t R MAX ( 1 - F ) F ( T - F ) 如果t=L+1,…T-1
其中,T是两个帧内帧之间的时间段,F是帧速率,RMAX是最大比特率,L是在其上优化传输缓冲器等级的帧的数目,BI是帧内帧尺寸,N是在其上分布多个未使用的比特的帧间帧的数目,t是时间索引。
16.如权利要求1所述的方法,其中所述优化传输缓冲器等级包括:计算所计算的目标帧尺寸与所计算的最大缓冲器等级之间的差异。
17.如权利要求16所述的方法,其中计算所计算的目标帧尺寸与所计算的最大缓冲器等级之间的差异包括:计算用于编码帧的容限。
18.如权利要求17所述的方法,其中所述计算容限是如下执行的:
Δ(t)=BufferLevelMAX(t)-BufferLevel(t)
其中Δ(t)是所述容限,BufferLevel MAX(t)是所计算的时刻t时的最大缓冲器等级,BufferLevel(t)是时刻t时的传输缓冲器等级。
19.如权利要求18所述的方法,还包括更新每个帧间帧的目标尺寸。
20.如权利要求19所述的方法,其中所述更新还包括:计算在编码前面的帧中未使用的比特的数目。
21.如权利要求20所述的方法,其中所述计算未使用的比特的数目如下执行:
E(t)=BufferLevelMAX(t)-BufferLevelactual(t)-Δ(t)
其中,BufferLevelactual(t)是在实际编码帧之后的传输缓冲器等级。
22.一种用于在允许解码延迟时改进包括由帧内帧分开的一系列帧间帧的序列的视频编码中的速率控制的设备,该设备包括:
用于对于每个帧间帧计算目标帧尺寸的部件;
用于对于每个帧间帧计算与所述每个帧间帧相对于前面的帧内帧和即将到来的帧内帧的位置相关的最大缓冲器等级的部件;以及
用于响应于所计算的目标帧尺寸和所计算的最大缓冲器等级而优化传输缓冲器等级的部件。
23.一种用于在允许解码延迟时改进包括由帧内帧分开的一系列帧间帧的序列的视频编码中的速率控制的设备,该设备包括:
对于每个帧间帧计算目标帧尺寸的计算器;
最大缓冲器等级的计算器,对于每个帧间帧计算与每个帧间帧相对于前面的帧内帧和即将到来的帧内帧的位置相关的最大缓冲器等级;以及
优化器,响应于所计算的目标帧尺寸和所计算的最大缓冲器等级而优化传输缓冲器等级。
24.如权利要求23所述的设备,还包括:编码器,其具有状态变量,该状态变量在将帧编码之前被存储,并且在丢弃了所编码的帧之后被恢复。
CN2012100883231A 2006-12-12 2007-12-11 用于视频编码标准的改进的视频速率控制 Pending CN102638687A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US87425006P 2006-12-12 2006-12-12
US60/874,250 2006-12-12

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2007800512510A Division CN101647278B (zh) 2006-12-12 2007-12-11 用于视频编码标准的改进的视频速率控制

Publications (1)

Publication Number Publication Date
CN102638687A true CN102638687A (zh) 2012-08-15

Family

ID=39511201

Family Applications (2)

Application Number Title Priority Date Filing Date
CN2012100883231A Pending CN102638687A (zh) 2006-12-12 2007-12-11 用于视频编码标准的改进的视频速率控制
CN2007800512510A Expired - Fee Related CN101647278B (zh) 2006-12-12 2007-12-11 用于视频编码标准的改进的视频速率控制

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2007800512510A Expired - Fee Related CN101647278B (zh) 2006-12-12 2007-12-11 用于视频编码标准的改进的视频速率控制

Country Status (8)

Country Link
US (2) US8401076B2 (zh)
EP (1) EP2123040B1 (zh)
JP (2) JP5351040B2 (zh)
KR (1) KR101418950B1 (zh)
CN (2) CN102638687A (zh)
CA (1) CA2672339C (zh)
IL (1) IL199335A (zh)
WO (1) WO2008070987A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109068187A (zh) * 2013-10-11 2018-12-21 华为技术有限公司 实时流量传送系统和方法

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8711923B2 (en) 2002-12-10 2014-04-29 Ol2, Inc. System and method for selecting a video encoding format based on feedback data
US20090118019A1 (en) 2002-12-10 2009-05-07 Onlive, Inc. System for streaming databases serving real-time applications used through streaming interactive video
US9192859B2 (en) 2002-12-10 2015-11-24 Sony Computer Entertainment America Llc System and method for compressing video based on latency measurements and other feedback
US10201760B2 (en) 2002-12-10 2019-02-12 Sony Interactive Entertainment America Llc System and method for compressing video based on detected intraframe motion
US9138644B2 (en) 2002-12-10 2015-09-22 Sony Computer Entertainment America Llc System and method for accelerated machine switching
US8549574B2 (en) * 2002-12-10 2013-10-01 Ol2, Inc. Method of combining linear content and interactive content compressed together as streaming interactive video
US8964830B2 (en) 2002-12-10 2015-02-24 Ol2, Inc. System and method for multi-stream video compression using multiple encoding formats
US20100166056A1 (en) * 2002-12-10 2010-07-01 Steve Perlman System and method for encoding video using a selected tile and tile rotation pattern
US9108107B2 (en) 2002-12-10 2015-08-18 Sony Computer Entertainment America Llc Hosting and broadcasting virtual events using streaming interactive video
US9077991B2 (en) 2002-12-10 2015-07-07 Sony Computer Entertainment America Llc System and method for utilizing forward error correction with video compression
US9446305B2 (en) 2002-12-10 2016-09-20 Sony Interactive Entertainment America Llc System and method for improving the graphics performance of hosted applications
US8366552B2 (en) * 2002-12-10 2013-02-05 Ol2, Inc. System and method for multi-stream video compression
US9061207B2 (en) 2002-12-10 2015-06-23 Sony Computer Entertainment America Llc Temporary decoder apparatus and method
US8526490B2 (en) * 2002-12-10 2013-09-03 Ol2, Inc. System and method for video compression using feedback including data related to the successful receipt of video content
US9314691B2 (en) 2002-12-10 2016-04-19 Sony Computer Entertainment America Llc System and method for compressing video frames or portions thereof based on feedback information from a client device
JP5351040B2 (ja) 2006-12-12 2013-11-27 ヴァントリックス コーポレーション 映像符号化規格に対応した映像レート制御の改善
EP2160903B1 (en) 2007-06-19 2016-03-02 Vantrix Corporation A buffer-based rate control exploiting frame complexity, buffer level and position of intra frames in video coding
US9168457B2 (en) 2010-09-14 2015-10-27 Sony Computer Entertainment America Llc System and method for retaining system state
TWI419519B (zh) * 2009-12-22 2013-12-11 Ind Tech Res Inst 適用於多媒體串流的網路封包傳送系統與方法
JP5694674B2 (ja) * 2010-03-03 2015-04-01 株式会社メガチップス 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法
US20110310956A1 (en) * 2010-06-22 2011-12-22 Jian-Liang Lin Methods for controlling video decoder to selectively skip one or more video frames and related signal processing apparatuses thereof
US9832540B2 (en) * 2010-12-15 2017-11-28 Hulu, LLC Method and apparatus for hybrid transcoding of a media program
US8831108B2 (en) 2011-05-04 2014-09-09 Cavium, Inc. Low latency rate control system and method
US20130208786A1 (en) * 2012-02-15 2013-08-15 Wei Xiong Content Adaptive Video Processing
US20140104493A1 (en) * 2012-10-11 2014-04-17 Tangome, Inc. Proactive video frame dropping for hardware and network variance
US9549189B2 (en) * 2012-11-06 2017-01-17 Ittiam Systems (P) Ltd. Method for media rate control in a video encoding system
CN102970246B (zh) * 2012-11-23 2017-12-22 上海寰创通信科技股份有限公司 一种以太网报文流量控制方法
KR101610436B1 (ko) 2013-07-24 2016-04-08 연세대학교 산학협력단 트래픽 조절 방법 및 장치
CN103581670B (zh) * 2013-10-09 2015-05-20 合一网络技术(北京)有限公司 H264自适应帧内模式选择码率估计的率失真优化方法及其装置
US10157620B2 (en) * 2014-03-04 2018-12-18 Interactive Intelligence Group, Inc. System and method to correct for packet loss in automatic speech recognition systems utilizing linear interpolation
US9848193B2 (en) 2014-04-15 2017-12-19 Qualcomm Incorporated System and method for selecting quantization parameter (QP) in display stream compression (DSC)
US10397574B2 (en) * 2014-05-12 2019-08-27 Intel Corporation Video coding quantization parameter determination suitable for video conferencing
US9716852B2 (en) * 2015-04-03 2017-07-25 Semiconductor Energy Laboratory Co., Ltd. Broadcast system
US20160360206A1 (en) * 2015-06-04 2016-12-08 Microsoft Technology Licensing, Llc Rate controller for real-time encoding and transmission
DE112015006587T5 (de) * 2015-06-04 2018-05-24 Intel Corporation Adaptive Batch-Codierung für Slow-Motion-Videoaufzeichnung
US10542262B2 (en) 2016-11-15 2020-01-21 City University Of Hong Kong Systems and methods for rate control in video coding using joint machine learning and game theory
EP3376766B1 (en) * 2017-03-14 2019-01-30 Axis AB Method and encoder system for determining gop length for encoding video
US10924744B2 (en) * 2017-11-17 2021-02-16 Intel Corporation Selective coding
WO2020101547A1 (en) * 2018-11-14 2020-05-22 Saab Ab Video data burst control for remote towers
CN113141541B (zh) * 2020-01-17 2022-06-10 北京达佳互联信息技术有限公司 码率切换方法、装置、设备及存储介质
US11413542B2 (en) * 2020-04-29 2022-08-16 Dell Products L.P. Systems and methods for measuring and optimizing the visual quality of a video game application

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1146265A (zh) * 1995-02-23 1997-03-26 摩托罗拉公司 防止编码器缓冲器在视频压缩中上溢和下溢的方法及设备
US6731685B1 (en) * 2000-09-20 2004-05-04 General Instrument Corporation Method and apparatus for determining a bit rate need parameter in a statistical multiplexer
CN1658673A (zh) * 2005-03-23 2005-08-24 南京大学 视频压缩编解码方法
US7023924B1 (en) * 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3187097B2 (ja) * 1991-10-17 2001-07-11 株式会社東芝 動画像符号化における符号量配分方法とこれを用いた動画像符号化方法及び装置
JP3300561B2 (ja) * 1995-02-28 2002-07-08 株式会社東芝 可変レート圧縮装置及び可変レート伸長装置
EP1357758A3 (en) * 1995-08-02 2004-10-27 Matsushita Electric Industrial Co., Ltd. Video coding device and video transmission system using the same, quantization control method and average throughput calculation method used therein
US5717464A (en) * 1995-12-18 1998-02-10 Divicom, Inc. Rate control for a video encoder
JPH114444A (ja) * 1997-06-11 1999-01-06 Sony Corp 画像符号化装置および方法
WO1999003282A1 (en) 1997-07-08 1999-01-21 Sony Corporation Video data encoder, video data encoding method, video data transmitter, and video data recording medium
US6141380A (en) 1998-09-18 2000-10-31 Sarnoff Corporation Frame-level rate control for video compression
US6233226B1 (en) 1998-12-14 2001-05-15 Verizon Laboratories Inc. System and method for analyzing and transmitting video over a switched network
WO2000064187A1 (en) * 1999-04-19 2000-10-26 Sony Corporation Image encoding device and its method
US6330286B1 (en) 1999-06-09 2001-12-11 Sarnoff Corporation Flow control, latency control, and bitrate conversions in a timing correction and frame synchronization apparatus
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
EP1547393A4 (en) * 2002-09-05 2010-10-13 Agency Science Tech & Res METHOD AND DEVICE FOR CONTROLLING THE RATE OF A VIDEO SEQUENCE AND VIDEO CODING DEVICE
US7864840B2 (en) 2005-04-15 2011-01-04 Inlet Technologies, Inc. Scene-by-scene digital video processing
US20090225829A2 (en) 2005-07-06 2009-09-10 Do-Kyoung Kwon Method and apparatus for operational frame-layerrate control in video encoder
US9544602B2 (en) 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
JP5351040B2 (ja) 2006-12-12 2013-11-27 ヴァントリックス コーポレーション 映像符号化規格に対応した映像レート制御の改善

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1146265A (zh) * 1995-02-23 1997-03-26 摩托罗拉公司 防止编码器缓冲器在视频压缩中上溢和下溢的方法及设备
US6731685B1 (en) * 2000-09-20 2004-05-04 General Instrument Corporation Method and apparatus for determining a bit rate need parameter in a statistical multiplexer
US7023924B1 (en) * 2000-12-28 2006-04-04 Emc Corporation Method of pausing an MPEG coded video stream
CN1658673A (zh) * 2005-03-23 2005-08-24 南京大学 视频压缩编解码方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109068187A (zh) * 2013-10-11 2018-12-21 华为技术有限公司 实时流量传送系统和方法

Also Published As

Publication number Publication date
US20130182766A1 (en) 2013-07-18
EP2123040B1 (en) 2017-12-06
KR20090108026A (ko) 2009-10-14
JP2013258754A (ja) 2013-12-26
JP5676705B2 (ja) 2015-02-25
US8401076B2 (en) 2013-03-19
JP2010512697A (ja) 2010-04-22
IL199335A0 (en) 2010-03-28
IL199335A (en) 2015-03-31
CN101647278A (zh) 2010-02-10
EP2123040A1 (en) 2009-11-25
KR101418950B1 (ko) 2014-07-17
CA2672339C (en) 2018-12-04
CN101647278B (zh) 2012-05-30
CA2672339A1 (en) 2008-06-19
EP2123040A4 (en) 2011-12-21
WO2008070987A1 (en) 2008-06-19
US20100080292A1 (en) 2010-04-01
JP5351040B2 (ja) 2013-11-27
US9407909B2 (en) 2016-08-02

Similar Documents

Publication Publication Date Title
CN101647278B (zh) 用于视频编码标准的改进的视频速率控制
Lee et al. Scalable rate control for MPEG-4 video
CN101743753B (zh) 利用视频编码中的帧复杂性、缓冲水平和内部帧位置的基于缓冲的速率控制
US7426309B2 (en) Method of controlling encoding rate, method of transmitting video data, encoding rate controller for video encoder, and video data transmission system using the encoding rate controller
CA2185704C (en) Method, rate controller, and system for preventing overflow and underflow of a decoder buffer
CN101084676A (zh) 视频信号处理
JP2000078577A (ja) ビデオ・フレ―ムの多重ストリ―ムを処理する方法及びシステム
KR20110105875A (ko) 동화상 부호화 장치, 동화상 부호화 방법 및 동화상 부호화용 컴퓨터 프로그램
CN101877784B (zh) 一种适用于实时应用的h.264码率控制方法
Sun et al. A robust and adaptive rate control algorithm for object-based video coding
EP4333433A1 (en) Video coding method and apparatus, and electronic device
US6226326B1 (en) Coding device and coding method
Yin et al. A rate control scheme for H. 264 video under low bandwidth channel
KR101371507B1 (ko) 저지연 영상 통신 시스템 및 방법
KR100926826B1 (ko) 비디오 비트열의 전송 오류에 대비하기 위한 변환부호장치 및 방법
Lei et al. A rate adaptation transcoding scheme for real-time video transmission over wireless channels
KR100228549B1 (ko) 채널율을 이용한 가변 비트율 비디오 제어 방법
Seo et al. Adaptive rate control algorithm based on logarithmic R–Q model for MPEG-1 to MPEG-4 transcoding
Lei et al. An accurate bit-rate control algorithm for video transcoding
CN101854524A (zh) 甚低码率视频编码器码率控制方法
US7907666B2 (en) Device and method for recoding a video data stream
Xiong et al. An error resilience scheme on an end-to-end distortion analysis for video transmission over Internet
Yang et al. A novel source-channel constant distortion model and its application in error resilient frame-level bit allocation
JP2000041250A (ja) ビデオ・フレ―ムの多重ストリ―ムを処理する方法及びシステム
Rezaei Advances on video coding algorithms for streaming applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C05 Deemed withdrawal (patent law before 1993)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120815