CN1247670A - 编码系统中用于优化速率控制的装置和方法 - Google Patents

编码系统中用于优化速率控制的装置和方法 Download PDF

Info

Publication number
CN1247670A
CN1247670A CN98802488A CN98802488A CN1247670A CN 1247670 A CN1247670 A CN 1247670A CN 98802488 A CN98802488 A CN 98802488A CN 98802488 A CN98802488 A CN 98802488A CN 1247670 A CN1247670 A CN 1247670A
Authority
CN
China
Prior art keywords
frame
quantizer
grade
coded
present 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.)
Granted
Application number
CN98802488A
Other languages
English (en)
Other versions
CN1151685C (zh
Inventor
蒋迪豪
张亚勤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MediaTek Inc
Original Assignee
Sarnoff 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 Sarnoff Corp filed Critical Sarnoff Corp
Publication of CN1247670A publication Critical patent/CN1247670A/zh
Application granted granted Critical
Publication of CN1151685C publication Critical patent/CN1151685C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/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/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/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/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • 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/196Methods 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 being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • 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
    • 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/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

Landscapes

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

Abstract

公开了一种用于为每帧选择量化器等级来优化编码速率的方法和装置(100,300)。为每帧选择量化器等级,从而获得该帧的目标比特率同时在整个帧序列保持一致的视觉质量。

Description

编码系统中用于优化速率 控制的装置和方法
本申请要求得到1997年2月12日提交的美国临时申请No.60/037,056的权益,这里列出该申请供参考。
本发明涉及一种优化动态视频编码的装置和随之产生的方法。更具体地说,本发明涉及一种对每帧的量化器等级进行递推调整来保持动态视频总体质量同时优化了编码速率的方法和装置。
                    发明背景
运动图像专家组(MPEG)为建立一种编码/解码方案的标准制订了ISO/IEC国际标准11172和13818(通常分别称作MPEG-1和MPEG-2格式)。虽然这二种MPEG标准规定了一般的用于产生依从MPEG的位流的方式和语法,为适应多种不同应用和业务,例如桌面视频出版、视频会议、数字存储媒介和电视广播,允许有许多变化。
在目前的MEPG编码方案中(例如,各种不同的MPEG测试模型),假定在一组图像中的所有同类型图像具有同等复杂度,据此选择了每帧的量化器等级。但是,由于每幅图像的复杂度随时间变化,按这种准则选择的量化器等级不会得到最佳编码性能。
此外,利用全局类型变换例如子波变换(或者称为分层子带分解)的编码器具有类似问题。例如,子波变换应用到低比特率图像编码的一种重要方面:表示非零值位置的二进制映射(子波树)或者称为变换系数有效性映射(significance map)的编码。然后使用量化和熵编码来得到非常低的比特率。因此,在适当选择用于编码有效性映射(子波树)的量化器等级上的显著提高将会转化成在压缩效率和编码速率上的明显改善。
因此,在用于对每帧的量化器等级进行递推调整来保持视频图像总体质量同时优化了编码速率的装置和方法的技术中,存在运种需求。
                        发明概述
本发明是一种用于为每帧选择量化器等级来保持视频图像总体质量同时优化编码速率的方法和装置。即,为每帧选择量化器等级,在整个图像序列保持统一的视觉质量的同时,获得每幅图像的目标比特率。
                  附图的简要说明
通过参阅伴有附图的下列详细描述,就可以容易地理解本发明的内容,附图中:
图1图解说明了本发明装置的框图;
图2图解说明了该装置的用于控制比特率的按照复杂性量度(complexitymeasure)求得最佳量化器等级的流程图;
图3图解说明了本发明装置的又一个实施例的框图;
图4是子波树的图形表示;和
图5图解说明了本发明的一种编码系统。
为便于理解,若可能,对于各附图中的相同元件指定了同样的标号。
                         详细描述
图1描述了本发明装置100的框图,用于获得每帧的量化器等级来保持视频图像的总体质量同时控制编码速率。虽然在下面参考了一个依从于MPEG的编码器来描述本发明,但是本领域普通技术人员将认识到本发明能适应于依从其它编码/解码标准的其它编码器。
在本发明的优选实施例中,装置100是一个编码器或一个更复杂的基于分块的运动补偿编码系统的一部分。装置100包括:运动估计模块140、运动补偿模块150、速率控制模块130、DCT模块160、量化(Q)模块170、变长编码(VLC)模块180、缓冲器190、逆量化(Q-1)模块175、逆DCT(DCT-1)变换模块165、减法器115和加法器155。虽然装置100包括多个模块,本领域普通技术人员将认识到各种不同模块完成的功能不需要被隔离成图1所示的单独模块。例如,包括运动补偿模块150、反向量化模块175和逆DCT模块165的模块组通常被称作“嵌入式解码器”。
图1图解说明了在信号路径110上按MPEG标准数字化并表示成一个亮度和两个色差信号(Y,Cr,Cb)的输入视频图像(图像序列)。这些信号进一步被分成多个层(序列、图像组、图像、片、宏块和块),使得多个宏块代表了每幅图像(帧)。每个宏块包括4个亮度块,1个Cr块和1个Cb块,其中定义8乘8的采样阵列为一个块。把图像分割成块单元提高了分辨连续2个连续图像之间变化的能力,并且通过消除低幅值变换系数(在下面讨论)来改善图像压缩。数字化信号可进行任选的预处理,例如选择合适窗口、分辨率和输入格式的格式转换。
用于估计运动向量的运动估计模块140接收在路径110上的输入视频图像。运动向量是一个在运动补偿时使用的二维向量,用于提供从当前图像中块的坐标位置到参考帧中坐标的偏差。参考帧可以是以前的帧(P-帧),或前面的和/或将来的帧(B-帧)。运动向量的使用通过减少在通道上传送的信息量,大大增强了图像压缩能力,因为只有当前帧和参考帧之间的变化量被编码和传送。
用于提高采样值预测效率的运动补偿模块150接收来自运动估计模块140的运动向量。运动补偿涉及预测,预测使用运动向量把偏差提供给包含用来形成预测误差的先前解码采样值的过去和/或将来的参考帧。即,运动补偿模块150使用以前解码的帧和运动向量来构建当前帧的估计值。此外,本领域普通技术人员将认识到可以用一个合成模块,例如单个块运动补偿器来实现运动估计模块和运动补偿模块所完成的功能。
此外,在为给定宏块进行运动补偿预测之前,必须选择编码模式。在编码模式判定的选择范围内,MPEG提供了多种不同的宏块编码模式。具体地说,MPEG-2提供的宏块编码模式包括:帧内模式、无运动补偿模式(NoMC),帧/场/两级(dual-prime)运动补偿帧间模式、前向/后向/平均帧间模式和场/帧DCT模式。
一旦选择了编码模式,运动补偿模块150在路径152上产生了以基于过去和/或将来参考图像的块为内容的运动补偿后的预测(预测图像)。用减法器115从当前宏块中路径110上的视频图像上减去路径152上运动补偿的预测图像来形成路径153上误差信号或预测残差信号。预测残差信号的形成有效地消除了输入视频图像中的冗余信息。应该注意的是,如果当前帧作为I-帧编码,那么路径153上的信号只是原始图像而不是预测残差信号。
然后DCT模块160对每个预测残差信号块进行前向离散余弦变换处理来产生一个8乘8块的DCT系数集合。DCT基本功能或子带分解允许有效利用对于下一步量化很重要的心理视觉准则(psychovisual criteria)。
量化模块170接收了所得的8×8 DCT系数块,在量化模块170中DCT系数被量化。量化处理降低了精度,其中通过采用一系列量化值除以DCT系数并经适当取舍而形成的整数值来表示DCT系数。使用基于基本视觉功能(称作按视觉加权量化)的准则,可为每个DCT系数单独地设置量化值。换句话说,量化值对应于给定基本视觉功能的门限,即恰好能被人眼检测到的系数幅值。通过用此值量化DCT系数,许多DCT系数被转换成“0”值,从而提高了图像压缩效率。量化处理是获得视觉质量和控制编码器使其输出匹配于给定比特率(速率控制)的关键操作和重要工具。由于每个DCT系数可使用不同的量化值,通常建立“量化矩阵”来作为参考表,例如亮度量化表或色度量化表。因此,编码器挑选一个决定如何对变换块中各频率系数量化的量化矩阵。
但是,量化误差的主观感觉随频率变化很大,对于较高频率使用较粗略的量化值是有益的。换句话说,人的量化误差感觉敏感度在较高的空间频率上较低。结果,用比低频更少的容限值来更粗略地量化高频分量。此外,精确的量化矩阵依赖于许多外部参数,例如希望显示的特征、观察距离和信号源中的噪声量。因此,为一个应用或甚至为个别的帧序列制作一个特定量化矩阵是可能的。通常,一个定制的量化矩阵可以作为背景信息与压缩视频图像一起存贮。正确选择量化器等级由速率控制模块130实现。
其次,所得的8×8量化DCT系数块由变长编码(VLC)模块180通过信号连接171接收,其中2维量化系数块按“Z字形”顺序扫描,转换成一维量化DCT系数串。这种Z字形扫描顺序是DCT系数从最低空间频率到最高空间频率的一种近似的连续顺序。然后变长编码(VLC)模块180用变长编码和游程长度编码对宏块的量化DCT系数串和所有其它信息进行编码。
数据流被接收到“先进先出”(FIFO)缓冲器190中,使用不同图像类型和变长编码的后果是进入FIFO的比特率总体上是可变的。换句话说,每帧编码所用的位数可以不同。在涉及固定速率通道的应用中,为了平滑比特率,使用FIFO缓冲器将编码器输出与通道相匹配。因此,路径195上FIFO缓冲器190的输出信号是路径110上输入视频图像的压缩表示(或输入图像和预测图像之间被压缩的差别信号),通过路径195该输出信号被送到存贮媒介或通讯通道。
速率控制模块130用于监视和调整进入FIFO缓冲器190的数据流的比特率,以防止在数据流传输之后解码器一侧(在接收机或目标存贮设备中,未示出)出现上溢和下溢。因此,速率控制模块130的任务是监视缓冲器190的状态,控制编码器产生的比特数。
在本发明的优选实施例中,速率控制模块130为每帧选择量化器等级,在控制编码速率的同时保持视频图像的总体质量。换句话说,为每帧选择量化器等级使得在保持图像整个序列的一致视觉质量的同时,获得图像的目标比特率。
应该明白,虽然本发明是用实现时间(例如运动估计/补偿)和空间(例如离散余弦变换)编码的编码器进行描述的,但是本发明并不限于此。可以采用其它的时间和空间编码方法,包括不使用任何时间和空间编码。
具体地说,速率控制模块130开始从先前编码的图像或通过实现各种不同的MPEG测试模型来得到具体类型图像(I,P,B)的复杂性的粗略估计。这种估计出的复杂度被用来推导每帧编码所必需位数的预测值。用这种认识,按照具有多项式形式的复杂性量度为每帧计算量化器等级。推导出复杂性量度以满足为每帧选择的量化器等级应接近图像的目标比特率这一约束。一旦该帧被编码,速率控制模块通过使用多项式回归处理来递推调节复杂性量度。就是说,编码宏块所必需的实际位数被用于精制复杂性量度,以便改善对下一帧量化器等级的预测。下面参照图2详细描述量化器等级的选择方法。
回到图1,逆量化模块175通过信号连接172从量化模块172也接收到了所得的8×8量化DCT系数块。在此阶段,编码器通过解码数据重新产生了输入视频图像的I-帧和P-帧,以便用作后续编码的参考帧。
所得逆量化8×8 DCT系数块被送到逆DCT模块165,在逆DCT模块165中对每个宏块进行逆DCT变换来产生解码误差信号。通过加法器155这种误差信号再加回到来自运动补偿模块的预测信号,来产生解码参考图像(重建图像)。
图2描述了在本发明优选实施例中按照用来控制装置的比特率的复杂性量度来推导出最佳量化器等级的流程图。如图2所描述的本发明方法200用于推导出每帧的量化器等级。该方法应能满足目标比特率同时保持从一幅图像到另一幅图像的相对一致的视觉质量。
参考图2,该方法在步骤205开始,接着转到步骤210,其中该方法采用具有如下关系的初始量值:
              T=X1EQ-1+X2EQ-2                  (1)T代表给一个特定帧编码可获得的目标位数(编码位数)。Q代表为该帧选择的量化级别或等级。E代表失真度。在优选实施例中,E代表在进行运动补偿之后当前帧的平均绝对差值。换句话说,量度E提供了一种调整帧位预算来表示一序列连续帧之间差别的方法。通过将当前帧和前一帧之间的差别逐块相加并计算平均绝对差值,来算出E。另一种说法,当前帧和前一帧的差别越大,对当前帧编码所需的位数就越多。此外,可使用其它失真量度,例如E可表示均方误差或可察觉临界差值(jnd)。
下面简要叙述方程(1)的参数和其它有关参数,并进一步定义带下标的参数如下:
Rs:序列(或片段)的比特率。(例如,24000比特/秒)
Rf:用于第一帧的位数(例如10000位)。
Rc:用于当前帧的位数,它是编码后得到的位数。
Rp:每幅图像从缓冲器取消的位数。
Ts:序列(或片段)的秒数(例如10秒)。
Ec:在运动补偿之后当前帧的平均绝对差值。
Qc:用于当前帧的量化级别。
Nr:用来编码的剩余P帧数。
Ns:编码帧之间的距离(例如,7.5fps下的4)
Rr:用来对这个序列(或片段)编码的剩余位数。
T :用于当前帧的目标位。
Sp:用于对前一帧编码的位数。
Hc:在当前帧中使用的头标和运动向量位。
Hp:在前一帧中使用的头标和运动向量位。
Qp:在前一帧中使用的量化级别。
Bs:缓冲器大小,例如Rs/2。
B :当前缓冲器级别,例如Rs/4-从缓冲器中间开始。
具体地讲,在步骤210中,参数X1和X2按下式初始化:
               X1=(Rs *Ns)/2
               X2=0                      (2)Rs表示序列(或片段)的比特率,例如每秒24000位。Ns表示编码帧之间的距离。换句话说,由于低比特率应用,序列中的某些帧不会被编码(被跳过),例如,编码器可以每4帧只编码一帧,应该明白的是,对于特定应用的可要求对跳过的帧数进行裁剪。
虽然下面参考一个帧序列,例如每序列300帧,来叙述本发明,本领域普通技术人员将认识到本发明不限于此。实际上,本发明能应用到一个连续序列(实时)或任意长度的序列,其中该方法周期性地或按预定间隔重新初始化。
有了参数X1和X2的值,方法200接着初始化其它参数如下:
              Rr=Ts *Rs-Rf             (3)
              Rp=Rr/Nr                  (4)
Rr表示用来编码一个序列(或片段)的剩余位数。Ts表示该序列(或片段)的秒数,例如,如果一个序列包括300帧,其帧速率为每秒30帧,则Ts为300/30=10秒。Rf表示用于第一帧的位数,其中该帧一般作为“I”帧编码。方法200能够给Rf指定一个特殊值,例如10000位。
方法200用Rr计算Rp,后者表示每帧从缓冲器中消去的位数。Nr表示用于编码的剩余帧(P)数。
一旦完成初始化,方法200转到步骤220,其中量值参数X1和X2被更新。然而,在初始化后一般不更新该量值,因为在此时例如在编码第一帧时,没有足够的信息来细化该量值。尽管如此,存在有用于更新量值的先前信息的情况,例如,在预定序列末尾重新初始化或在中断之后重新初始化的情况。下面讨论步骤220和225。这样,方法200直接转到步骤230(如图2虚线所示)。
在步骤230中,在对当前帧编码之前方法200按下式计算当前帧的目标比特率:
         T=Max(Rs/30,Rr/Nr *a+Sp *d)         (5)T表示用于当前帧的目标位。Sp表示用于前一帧编码的位数。在优选实施例中,方程(5)中的常数a和b分别选取0.95和0.05。但是,本发明不限于此。可采用其它值。实际上,可按时间对这些值进行调节。
应该注意方程(5)允许T取两个可能值中的大者(max)。首先,以可用位数和上次编码帧位数为基础计算目标比特率。如果上一帧复杂并使用了很多位,则应分配更多的位数给当前帧。但是,这种增加的分配将减少用于给剩余帧编码的可用位数,从而限制为运一帧增加分配。如方程(5)中第2项说明的那样,加权平均反映了这两个因子的折衷。
第二,用目标速率(Rs/30)的下限保持或保证最低质量,例如800比特/帧可设为最小值。如果不能保持最低质量,编码器可选择跳过整个当前帧。
然后按照缓冲器状态如下调整方程(5)的目标比特率以防止上溢和下溢。
           T’=T*(B+c*(Bs-B))/c*B+(Bs-B))         (6)
T’是调整后的目标比特率,Bs是全部缓冲器的大小,c是选择值为2(可使用其它值)的常数,B是包含向解码器发送的位的那部分缓冲器。因此,Bs-B是缓冲器中的剩余空间,方程(6)说明如果缓冲器超过半满,目标比特率T’减小。与此相反,如果缓冲器低于半满,目标比特率T’增加。如果缓冲器恰好一半满,由于方程(6)简化成T’=T,不必进行调整。
此外,按照表达如下的方程(7a-b)必须对目标比特率调整值作进一步调整。
如果(B+T’>0.9*Bs),则T”=Max(Rs/30,0.9*Bs-B)    (7a)
如果(B-Rp+T’<0.1*Bs),则T”=Rp-B+0.1*Bs   (7b)其中,T”是第二次调整后的目标比特率。通过对目标比特率的调整值进行限制(箝位),方程(7a)被设计成避免上溢的情况。换句话说,当前帧的目标比特率T’计算值与当前缓冲器的满度之和不能超过缓冲器容量的90%。比如在下一帧的复杂性出现突然变化例如场景中止或过大运动的情况下,太接近缓冲器容量的操作,会使编码器处于产生未定的上溢情况的危险之中。如果T”低于一个下限(Rs/30),则编码器选择跳过该帧。
相反,通过改变目标比特率的调整值,方程(7b)被设计成避免下溢的情况。换句话说,目标比特率T’计算值与当前缓冲器满度之和不得低于缓冲器容量的10%。比如在下一帧的复杂性变化很小例如下一帧根本没有运动的场合下,太接近空缓冲器的操作,会使编码器处于产生未定的下溢情况的危险中。一旦计算出目标比特率,方法200就转到步骤240。
在步骤240,方法200按下式为当前帧计算量化等级或级别,
T”’=Max(Rp/3+Hp,T”)                                       (8a)
如果(X2=0),Qc=X1 *Ec/(T”’-Hp)                          (8b)
否则Qc=(2*X2 *Ec)/(sqrt((X1 *Ec)2+4*X2 *Ec *(T”’-Hp))-X1 *Ec)    (8c)其中,Qc是当前帧的计算量化等级,Hp是用于为前一帧的头标和运动向量进行编码的位数,Ec是运动补偿之后当前帧的平均绝对差值。换句话说,方程(8b)和(8c)分别是一次和二次方程,其中可容易地算出Qc。方程(8a)是另一个目标比特率调整值,用于保证目标比特率大于指定给头标的比特率。
虽然本发明的优选实施例使用了一个用二次方程的复杂性量度,应该明白可以使用其它次方程,例如付出更大计算代价的三次方程等等。另外,虽然本发明的优选实施例使用一系列目标比特率的调整值,应该明白可以省略运些目标比特率的调整从而减少计算负担。但是,没有目标比特率的调整,会增大下溢或上溢情况的风险。
此外,按照对头标、运动向量和其它当前帧的相关信息进行编码所需的位数,调整当前帧的目标比特率。由于各帧的头标和其它信息的大小通常不会有很大变化,用于对前一帧的头标和运动向量进行编码的位数Hp,为当前帧头标信息的编码所需的位数提供了充分的近似。
于是,上述方程(1)的另一表达方式是:
          T-Hp=X1EQ-1+X2EQ-2                 (9)因为量化级别的选择不影响头标和运动向量的编码。
此外,必须按下式调整计算出的量化等级Qc来保证各帧一致的视觉质量,
Qc’=Min(ceil(Qp *1.25),Qc,31)                    (10a)
Qc’=Max(ceil(Qp *0.75),Qc,1)                     (10b)
其中,Qc’是调整后的量化等级,Qp是前一帧所用的量化等级。按照方程(10a)和(10b)对计算出的Qc限制或箝位。换句话说,通过选择算出的Qc、用于前一帧中以前量化级别Qp的125%、或最大量化器级别31(由MPEG标准设定)三者之中的最小值按照方程(10a)来计算Qc’。类似地,通过选择算出的Qc、用于前一帧中以前的量化级别Qp的75%、或最小量化器级别1(由MPEG标准设定)三者之中的最大值按照方程(10b)来计算Qc’。量化级别一般取舍成整数值。方程(10a)用于在Qc>Qp的条件下计算Qc’,否则使用方程(10b)。
方程10a-10b用于限制帧间量化级别的突变,这会在解码图像的视觉质量中引起可察觉的变化。按此方式,为每帧计算量化器级别来保持运动视频的整体质量同时优化了编码速率。一旦为当前级别计算出了量化级别,方法200转到了步骤250。
在步骤250中,该方法用从步骤240计算出的量化级别对当前帧编码来产生Rc,Rc表示从当前帧编码所得的实际位数。使用Rc按下式更新某些复杂性量度的参数值,
B=B+Rc-Rp                                    (11)
Rr=Rr-Rc                                    (12)
Sp=Rc                                        (13)
Hp=Hc                                        (14)
Qp=Qc                                        (15)
Nr=Nr-1                                      (16)首先,通过增加位数Rc和消去(传送)位数Rp来更新缓冲器满度B。其次,用Rc值更新可用于序列的总剩余位数Rr。第三,用Rc取代Sp。第四,用Hc取代Hp。第五,用Qc代替Qp。最后,Nr被减1。
在步骤260,方法200询问在当前序列中是否还存在剩余的待编码帧。如果查询得到肯定回答,方法200转到步骤220,在那里方法200将Qc、Rc、Hp和Ec的更新值应用于多项式回归模型或二次模型来计算方程(1)或(9)的复杂性量度。换句话说,更新表示在分配给一帧的位数和用特定量化器级别对该帧编码所需的实际位数之间差别的常数X1和X2。在本领域技术中回归模型是众所周知的。对于各种不同的回归模型的详细讨论,参见例如保瓦曼和O.康奈尔所著的由德克斯佰利出版社于1993年出版的《预测和时间序列》第3版第4章(Bowerman and O’Connell,Forecasting and Time Series,3rd Edition,Duxbury Press,(1993,chapter 4))。下面提供更新复杂性量度的第二实施例。方法200接着转到步骤225。
在步骤225中,方法200查询是否应该跳过序列中的下一帧。如果查询得到否定回答,方法100转到上面论述的步骤230。如果查询得到肯定回答,方法200返回到步骤220,更新B和Rp。跳过一帧的决策按下式来确定:
            如果(B>0.8*Bs),则跳过下一帧            (17)
换句话说,再次检测缓冲器的满度来确定是否太接近缓冲器的容量,例如上述的80%容量。这种对于缓冲器满度的校验允许编码器快速确定是否有必要计算当前帧的目标速率。如果缓冲器很接近其容量。可能会出现未定的上溢情况,例如,传输通道变慢或编码器收到几个非常复杂的帧。由于实时要求,编码器现在能快速决定丢弃一帧而不用花费多个计算周期之后才得到同样的决定。虽然优选实施例选择了80%,对于特定应用可选择别的缓冲器容量限制。
如果丢弃了一帧,方法200返回到步骤220,在那里更新参数Nr和B如下:
       B=B-Rp                               (18)
       Nr=Nr-1                             (19)
方法200接着转到步骤225,再次查询是否跳过序列中的下一帧。如果查询得到否定回答,方法200转到如上所述的步骤230。如果查询得到肯定回答,方法200跳过另一帧,依此类推。当序列所有帧都被编码时,方法200将在步骤270结束。
本发明提供了用于更新复杂性量度的第二实施例,讨论将使用下列定义:
Qp[w]:过去帧的量化级别;
Rp[w]:用于过去帧的定标编码复杂度;
w:编码的过去帧的数量:
x:包括Qp的矩阵;
y:包括Qp *(Rc-Hc)/Ec的矩阵;
Ep:前一帧的平均绝对差值。在运动补偿之后只对Y分量计算Ep值。由于量度是Ep的线性函数,不必进行归一化。
该方法收集了与以前的编码帧有关的各种信息。更具体地说,用于以前多个帧的一些(或窗口,w)量化级别和定标编码复杂度被收集成2个矩阵,即Rp[n]
Figure A9880248800141
(Rc-Hc)/Ec和Qp[n]
Figure A9880248800142
Qc
按照下式来选择w:
              w=Min(数据总量,20)            (20)换句话说,窗口尺寸被限制成最大值为20。原因是属于“旧”编码帧的信息与当前帧的复杂度相比具有较少的信息性。通过限制窗口的尺寸,计算代价被降到最小。
但是,依照下式可自适应调节w值:
               如果(Ep>Ec),则w=ceil(Ec/Ep *w);
            否则w=ceil(Ep/Ec *w)                (21)来产生一个“滑动窗口”w。用一个大小依赖于复杂度变化的窗口来选择数据点。如果复杂度显著变化,使用具有较新数据点(以前的编码帧)的较小窗口。换句话说,用以前和当前帧的平均绝对差值来减小预定义大小的w。在每帧之后用Ec更新Ep
然后,该方法执行估计(估计器)功能来按照下式确定X1和X2
           如果(所有Qp[i]相同),则X1=y[i]/w,X2=0
           否则b=(x转置*x)-1 *x转置*y                   (22)
           2x1=(2xw*wx2)-1*(2xw)*(w*1)
           X1=b(1,1),X2=b(2,1)其中x=[1,Qp[i]-1(i=1,2,…w)](维数wx2),y=[Qp[i](i=1,2,…w)](维数wx1)。
一旦确定了X1和X2,该方法依照下式执行“消除分离层(outlier)”操作,
std+=((X1 *EcQp[i]-1+X2 *Ec *Qp[i]-2-Rp[i]*Ec))2
error[i]=X1 *Ec *Qp[i]-1+X2 *Ec *Qp[i]-2-Rp[i]*Ec;    (23)
设置threshold=sqrt(std/w);
如果(abs(error[i])>threshold),则为上述估计器从矩阵x和y中消去数据点I。
换句话说,方程(23)的操作用于消除影响上述方程(22)估计操作的高于某一门限(threshold)的数据点。一旦完成了“消除分离层”操作,该方法再次返回到方程(22)的估计功能,在没有分离层数据点的情况下再次确定X1和X2。因此,通过排除分离层数据点再次校正了复杂性量度。排除准则是当预测误差大于一个标准偏差时丢掉数据点。
图3描述了采纳本发明的基于子波的编码器300。编码器包括:块运动补偿器(BMC)和运动向量编码器304、减法器302、离散子波变换(DWT)编码器306、比特率控制器310、DWT解码器312和输出缓冲器314。
通常,如上述讨论的那样,输入信号是视频图像(一个2维像元(pel)阵列,它定义视频序列中的一个帧)。为了通过低比特率通道精确发送图像,必须充分减少视频帧序列中的空间和时间冗余。一般通过只对连续帧之间的差别进行编码和发送来达到这一目的。编码器有3项功能:第一,使用BMC和它的编码器304,产生表示发生在帧间的运动的多个运动向量;第二,它用结合运动向量的前一帧的重构图像来预测当前帧;第三,从目前帧减去预测帧来产生残差帧,残差帧连同运动向量被编码和发送到接收机。
离散子波变换执行子波分层子带分解来产生输入图像的传统子波树表示。为完成这种图像分解,采用2倍子采样将图像分解成水平高-垂直高(HH)、水平高-垂直低(HL),水平低-垂直高(LH)和水平低-垂直低(LL)频率子带。然后对LL子带再进行2倍子采样来产生HH、HL、LH和LL子带集合。反复进行这种子采样来产生如图4说明的子带阵列,图4中使用了3次子采样。
实际上最好使用6次子采样。如从父结点子带指向子结点子带的箭头,图解说明了子带之间的父子从属关系。最低频率子带是左上角LL1,最高频率子带是右下角HH3。在这个例子中,所有子结点具有一个父结点。子带分解的详细讨论参见J.M.夏彼罗在美国电子与电气工程师协会信号处理分会会刊1993年12月号第41卷第12期第3445-62页的题目为“采用子波系数截剪树的嵌入式编码”的文章(J.M.Shapiro,“Embedded Image CodingUsing Zerotrees of Wavelet Coefficients”,IEEE Trans.on Signal Processing,Vol.41,No.12,pp.3445-62,December 1993)。
图3的DWT编码器用“宽度优先”或“深度优先”模式对子波树系数进行编码。宽度优先模式逐个位面(bit-plane)地遍历子波树,即量化所有父结点,再量化所有子结点,再量化所有孙结点等等。与之相反,深度优先模式从低-低子带(LL1)的根到子结点(由顶向下)或从子结点到低-低子带(由底向上)的方式遍历每个树。如上所述的由速率控制器310进行的适当量化级别的选择控制了一个序列中每帧的比特率。
这样,本发明能适应于各种不同类型的使用不同变换的编码器。此外,本发明不限于对一帧的量化级别的正确选择。本发明能应用到宏块、片或对象,例如前景、背景或人脸的各部分。换句话说,该速率控制方法能应用到宏块、片或对象序列,其中应用复杂性量度来确定当前宏块、片或对象的目标比特率,来实现使用图像序列以前编码部分例如以前编码的宏块、片或对象及其窗口的编码器的最佳速率控制方案。例如,在特定应用如可视电话中,选择前景对象如打电话人的头和肩膀,比背景对象被更精确地量化。
最后,虽然上述本发明的论述参照了P帧,本发明也能应用到B帧。
图5图解说明了本发明的编码系统500。编码系统包括通用计算机510和各种输入/输出设备520。通用计算机包括中央处理单元(CPU) 512、存储器514和用于接收和编码图像序列的编码器516。
在优选实施例中,编码器516只是如上所述的编码器100和/或编码器300。编码器516可以是通过通讯通道耦合到CPU 512的一个物理设备。或者,编码器516可以用从存贮设备加载并驻留在计算机存贮器512中的应用软件来表示。这样,本发明的编码器100和300可存贮在计算机可读介质中。
计算机510可连接到多个输入和输出设备520,例如键盘、鼠标、相机、便携式摄录机、视频监视器、任意数量的成像设备或存贮设备,包括但不限于磁带驱动器、软盘驱动器、硬盘驱动器或光盘驱动器。输入设备用来为计算机提供输入来产生编码视频位流或从存贮设备或成像设备接收视频图像序列。
以上已展示和描述了一个反复为每帧调节量化器等级来保持视频图像整体质量同时优化了编码速率的新装置和方法。在参阅公开了本发明实施例的说明书和附图之后,本领域普通技术人员对本发明的一些改动、更改、变化和其它使用和应用都是很明显的。所有这些未脱离本发明精神和范围的改动、更动、变化和其它使用和应用都被认为在本发明的范围内。

Claims (10)

1.一种用于对至少有一个输入帧的图像序列进行编码的装置(100,300),所述装置包括:
运动补偿器(140,150,304),用于产生当前输入帧的预测图像;
变换模块(160,306),连接到所述运动补偿器,用于对输入帧和所述预测图像之间的差值信号进行变换,其中所述变换产生了多个系数;
量化器(170,306),连接到所述变换模块,用于用至少一个量化器等级量化所述多个系数,以及
控制器(130,310),连接到所述量化器,用于根据来自最近的前一编码部分的编码信息对当前输入帧的所述量化器等级进行选择性的调节,其中所述编码信息用来计算失真度。
2.如权利要求1所述的装置,其中,所述最近的前一编码部分是最近的前一编码帧。
3.如权利要求1所述的装置,其中,所述最近的前一编码部分是前一编码帧的窗口。
4.如权利要求1所述的装置,其中,所述的量化器等级按下式选择:
T=X1EQ-1+X2EQ-2其中T表示用来对输入帧编码的目标位数,Q表示所述量化器等级,E表示所述失真度。
5.一种用于产生量化器等级的方法,用于对至少有一帧的图像信号进行量化,所述方法包括的步骤是:
(a)根据来自最近的前一编码部分的编码信息为当前帧计算至少一个量化器等级,其中所述编码信息用于计算失真度;以及
(b)利用所述计算出的量化器等级来量化所述当前帧。
6.如权利要求5所述的方法,其中,所述的量化器等级计算步骤(a)按下式计算:
T=X1EQ-1+X2EQ-2其中T表示用于对所述的当前帧进行编码的目标位数,Q表示所述量化等级,E表示所述失真度。
7.如权利要求6所述的方法,其中,所述的失真度E是所述当前帧和前一帧之间的平均绝对差值。
8.如权利要求6所述的方法,其中,所述的失真度E是所述当前帧和前一帧之间的可察觉临界差值(jnd)。
9.如权利要求6所述的方法,还包括以下步骤:
(c)利用Rc更新参数X1和X2,其中Rc表示利用所述计算出的量化器等级Q对所述当前帧进行编码所用的实际位数;以及
(d)对图像信号下一帧重复步骤(a)至(c)。
10.如权利要求6所述的方法,还包括以下步骤:
(c)用与多个以前的编码帧有关的信息窗口更新参数X1和X2;以及
(d)对图像信号下一帧重复步骤(a)-(c)。
CNB988024888A 1997-02-12 1998-02-11 编码系统中用于优化速率控制的装置和方法 Expired - Lifetime CN1151685C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US3705697P 1997-02-12 1997-02-12
US60/037,056 1997-02-12

Publications (2)

Publication Number Publication Date
CN1247670A true CN1247670A (zh) 2000-03-15
CN1151685C CN1151685C (zh) 2004-05-26

Family

ID=21892201

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB988024888A Expired - Lifetime CN1151685C (zh) 1997-02-12 1998-02-11 编码系统中用于优化速率控制的装置和方法

Country Status (8)

Country Link
US (1) US6243497B1 (zh)
EP (1) EP0960532B1 (zh)
JP (1) JP4111351B2 (zh)
KR (1) KR100604702B1 (zh)
CN (1) CN1151685C (zh)
DE (1) DE69837003T2 (zh)
TW (1) TW366649B (zh)
WO (1) WO1998037701A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100433559C (zh) * 2002-04-25 2008-11-12 松下电器产业株式会社 图像编码装置及图像编码方法
CN101977309A (zh) * 2010-06-30 2011-02-16 无锡中星微电子有限公司 码率控制方法及装置
CN102006471A (zh) * 2009-09-02 2011-04-06 索尼电脑娱乐公司 视频编码的图片级速率控制
CN104125460A (zh) * 2013-04-26 2014-10-29 韩国科亚电子股份有限公司 用于控制视频比特率的方法和设备
CN101933328B (zh) * 2008-01-22 2014-11-19 杜比实验室特许公司 利用动态查询表更新的自适应运动信息成本估计
CN104980743A (zh) * 2010-08-17 2015-10-14 三星电子株式会社 视频解码设备

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6023296A (en) 1997-07-10 2000-02-08 Sarnoff Corporation Apparatus and method for object based rate control in a coding system
WO1999035876A1 (en) * 1998-01-02 1999-07-15 Nokia Networks Oy A method for synchronization adaptation of asynchronous digital data streams
GB9822094D0 (en) * 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
US6414992B1 (en) * 1999-01-27 2002-07-02 Sun Microsystems, Inc. Optimal encoding of motion compensated video
US6526097B1 (en) * 1999-02-03 2003-02-25 Sarnoff Corporation Frame-level rate control for plug-in video codecs
US6499060B1 (en) * 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
FR2792798B1 (fr) 1999-04-26 2001-05-25 Thomson Multimedia Sa Procede et dispositif de quantification pour compression video
US6263503B1 (en) 1999-05-26 2001-07-17 Neal Margulis Method for effectively implementing a wireless television system
US8266657B2 (en) 2001-03-15 2012-09-11 Sling Media Inc. Method for effectively implementing a multi-room television system
US6363113B1 (en) * 1999-06-07 2002-03-26 Lucent Technologies Inc. Methods and apparatus for context-based perceptual quantization
US6535251B1 (en) * 1999-10-26 2003-03-18 Sharplabs Of America, Inc. Video encoder and method for adjusting quantization step in real time
US6765962B1 (en) * 1999-12-02 2004-07-20 Sarnoff Corporation Adaptive selection of quantization scales for video encoding
US6707853B1 (en) * 2000-01-10 2004-03-16 Intel Corporation Interface for performing motion compensation
US7062445B2 (en) * 2001-01-26 2006-06-13 Microsoft Corporation Quantization loop with heuristic approach
AU2002245609A1 (en) * 2001-03-05 2002-09-19 Intervideo, Inc. Systems and methods of error resilience in a video decoder
US6671324B2 (en) * 2001-04-16 2003-12-30 Mitsubishi Electric Research Laboratories, Inc. Estimating total average distortion in a video with variable frameskip
JP4765194B2 (ja) 2001-05-10 2011-09-07 ソニー株式会社 動画像符号化装置、動画像符号化方法、動画像符号化プログラム格納媒体及び動画像符号化プログラム
JP2002354476A (ja) * 2001-05-24 2002-12-06 Pioneer Electronic Corp 量子化単位設定装置及び量子化単位設定方法、符号化装置及び符号化方法並びに情報記録媒体及び量子化単位設定用プログラム
WO2002096120A1 (en) * 2001-05-25 2002-11-28 Centre For Signal Processing, Nanyang Technological University Bit rate control for video compression
US7483581B2 (en) 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
US7206459B2 (en) * 2001-07-31 2007-04-17 Ricoh Co., Ltd. Enhancement of compressed images
DE10156851C1 (de) * 2001-11-20 2003-07-03 Infineon Technologies Ag Verfahren und Vorrichtung zur Bildkompression
US7027982B2 (en) * 2001-12-14 2006-04-11 Microsoft Corporation Quality and rate control strategy for digital audio
US6980695B2 (en) * 2002-06-28 2005-12-27 Microsoft Corporation Rate allocation for mixed content video
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
US7440502B2 (en) * 2002-11-14 2008-10-21 Georgia Tech Research Corporation Signal processing system
US10554985B2 (en) 2003-07-18 2020-02-04 Microsoft Technology Licensing, Llc DC coefficient signaling at small quantization step sizes
US7602851B2 (en) * 2003-07-18 2009-10-13 Microsoft Corporation Intelligent differential quantization of video coding
US8218624B2 (en) * 2003-07-18 2012-07-10 Microsoft Corporation Fractional quantization step sizes for high bit rates
US7738554B2 (en) 2003-07-18 2010-06-15 Microsoft Corporation DC coefficient signaling at small quantization step sizes
US7343291B2 (en) * 2003-07-18 2008-03-11 Microsoft Corporation Multi-pass variable bitrate media encoding
US7383180B2 (en) * 2003-07-18 2008-06-03 Microsoft Corporation Constant bitrate media encoding techniques
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
US8085844B2 (en) * 2003-09-07 2011-12-27 Microsoft Corporation Signaling reference frame distances
WO2005029834A2 (en) * 2003-09-21 2005-03-31 Servision Ltd. A method for generating high quality, low delay video streaming
FR2862168B1 (fr) * 2003-11-06 2006-05-19 Canon Kk Procede et dispositif de regulation de debit d'une sequence d'images.
JP2005333609A (ja) * 2004-04-22 2005-12-02 Sanyo Electric Co Ltd 符号化制御回路及び符号化回路
US7801383B2 (en) * 2004-05-15 2010-09-21 Microsoft Corporation Embedded scalar quantizers with arbitrary dead-zone ratios
KR100916274B1 (ko) 2004-06-07 2009-09-10 슬링 미디어 인코퍼레이티드 퍼스널 미디어 브로드캐스팅 시스템
US7769756B2 (en) 2004-06-07 2010-08-03 Sling Media, Inc. Selection and presentation of context-relevant supplemental content and advertising
US9998802B2 (en) 2004-06-07 2018-06-12 Sling Media LLC Systems and methods for creating variable length clips from a media stream
US7917932B2 (en) 2005-06-07 2011-03-29 Sling Media, Inc. Personal video recorder functionality for placeshifting systems
US7975062B2 (en) 2004-06-07 2011-07-05 Sling Media, Inc. Capturing and sharing media content
JP2008503919A (ja) * 2004-06-18 2008-02-07 トムソン ライセンシング ビデオ符号化を最適化する方法および装置
US20070230565A1 (en) * 2004-06-18 2007-10-04 Tourapis Alexandros M Method and Apparatus for Video Encoding Optimization
CN100477794C (zh) * 2004-09-10 2009-04-08 松下电器产业株式会社 运动图像编码装置及其编码方法以及运动图像的成像装置
JP4800712B2 (ja) * 2004-09-10 2011-10-26 パナソニック株式会社 動画符号化装置、動画符号化方法及び動画撮像装置
US8634413B2 (en) * 2004-12-30 2014-01-21 Microsoft Corporation Use of frame caching to improve packet loss recovery
US8422546B2 (en) 2005-05-25 2013-04-16 Microsoft Corporation Adaptive video encoding using a perceptual model
TWI279143B (en) * 2005-07-11 2007-04-11 Softfoundry Internat Ptd Ltd Integrated compensation method of video code flow
US7616821B2 (en) * 2005-07-19 2009-11-10 International Business Machines Corporation Methods for transitioning compression levels in a streaming image system
US7506071B2 (en) 2005-07-19 2009-03-17 International Business Machines Corporation Methods for managing an interactive streaming image system
US20070028286A1 (en) * 2005-07-28 2007-02-01 Greene David P Systems, methods, and media for detecting content change in a streaming image system
KR100738075B1 (ko) * 2005-09-09 2007-07-12 삼성전자주식회사 영상 부호화/복호화 장치 및 방법
JP4795223B2 (ja) * 2006-01-31 2011-10-19 キヤノン株式会社 画像処理装置
US7974340B2 (en) 2006-04-07 2011-07-05 Microsoft Corporation Adaptive B-picture quantization control
US8059721B2 (en) 2006-04-07 2011-11-15 Microsoft Corporation Estimating sample-domain distortion in the transform domain with rounding compensation
US8503536B2 (en) 2006-04-07 2013-08-06 Microsoft Corporation Quantization adjustments for DC shift artifacts
US7995649B2 (en) 2006-04-07 2011-08-09 Microsoft Corporation Quantization adjustment based on texture level
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8238424B2 (en) 2007-02-09 2012-08-07 Microsoft Corporation Complexity-based adaptive preprocessing for multiple-pass video compression
US8498335B2 (en) 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
US8442337B2 (en) 2007-04-18 2013-05-14 Microsoft Corporation Encoding adjustments for animation content
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8189933B2 (en) 2008-03-31 2012-05-29 Microsoft Corporation Classifying and controlling encoding quality for textured, dark smooth and smooth video content
PL2835976T3 (pl) * 2008-04-16 2017-04-28 Ge Video Compression, Llc Skalowalność głębi bitowej
US8325800B2 (en) 2008-05-07 2012-12-04 Microsoft Corporation Encoding streaming media as a high bit rate layer, a low bit rate layer, and one or more intermediate bit rate layers
US8379851B2 (en) 2008-05-12 2013-02-19 Microsoft Corporation Optimized client side rate control and indexed file layout for streaming media
US7925774B2 (en) * 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US9167007B2 (en) * 2008-06-06 2015-10-20 Amazon Technologies, Inc. Stream complexity mapping
US9047236B2 (en) 2008-06-06 2015-06-02 Amazon Technologies, Inc. Client side stream switching
US8265140B2 (en) 2008-09-30 2012-09-11 Microsoft Corporation Fine-grained client-side control of scalable media delivery
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
US8203619B2 (en) * 2009-09-30 2012-06-19 Sony Corporation Target bit rate decision method for wavelet-based image compression
US9521178B1 (en) 2009-12-21 2016-12-13 Amazon Technologies, Inc. Dynamic bandwidth thresholds
TWI421798B (zh) * 2010-04-27 2014-01-01 Novatek Microelectronics Corp 影像壓縮之位元率控制方法及其裝置
EP2828822B1 (en) 2012-03-21 2018-07-11 Dolby Laboratories Licensing Corporation Systems and methods for power reduction for displays
US10728298B2 (en) * 2013-09-12 2020-07-28 Qualcomm Incorporated Method for compressed sensing of streaming data and apparatus for performing the same
US10419760B2 (en) 2014-09-29 2019-09-17 Sony Interactive Entertainment Inc. Picture quality oriented rate control for low-latency streaming applications
US10142049B2 (en) * 2015-10-10 2018-11-27 Dolby Laboratories Licensing Corporation Near optimal forward error correction system and method
CN108600863A (zh) * 2018-03-28 2018-09-28 腾讯科技(深圳)有限公司 多媒体文件处理方法和装置、存储介质及电子装置
US11457214B2 (en) * 2018-08-23 2022-09-27 Interdigital Vc Holdings France, Sas Coding of quantization matrices using parametric models

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5144426A (en) 1989-10-13 1992-09-01 Matsushita Electric Industrial Co., Ltd. Motion compensated prediction interframe coding system
US5134476A (en) 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
US5291282A (en) * 1990-04-19 1994-03-01 Olympus Optical Co., Ltd. Image data coding apparatus and method capable of controlling amount of codes
JPH0813138B2 (ja) 1990-11-28 1996-02-07 松下電器産業株式会社 画像符号化装置
EP0741497B1 (en) * 1991-02-21 1999-11-03 Nec Corporation Motion image data compression coding apparatus
US5231484A (en) 1991-11-08 1993-07-27 International Business Machines Corporation Motion video compression system with adaptive bit allocation and quantization
US5214507A (en) * 1991-11-08 1993-05-25 At&T Bell Laboratories Video signal quantization for an mpeg like coding environment
JPH05167998A (ja) * 1991-12-16 1993-07-02 Nippon Telegr & Teleph Corp <Ntt> 画像の符号化制御処理方法
US5253059A (en) 1992-05-15 1993-10-12 Bell Communications Research, Inc. Method and circuit for adjusting the size of a video frame
KR0134871B1 (ko) 1992-07-17 1998-04-22 사또오 후미오 고능률 부호화 복호화 시스템
WO1994018799A1 (en) 1993-02-03 1994-08-18 Qualcomm Incorporated Interframe video encoding and decoding system
US5440346A (en) 1993-06-16 1995-08-08 Intel Corporation Mode selection for method and system for encoding images
US5594504A (en) 1994-07-06 1997-01-14 Lucent Technologies Inc. Predictive video coding using a motion vector updating routine
JP2000506686A (ja) * 1995-10-25 2000-05-30 サーノフ コーポレイション オーバラップブロック動き補償及びゼロツリーウェーブレット符号化を用いる低ビットレートビデオ符号化器
KR100355375B1 (ko) * 1995-11-01 2002-12-26 삼성전자 주식회사 영상부호화장치에있어서양자화간격결정방법및회로
WO1997018676A1 (en) * 1995-11-15 1997-05-22 Philips Electronics N.V. Method and device for global bitrate control of a plurality of encoders
US5731835A (en) * 1996-02-26 1998-03-24 David Sarnoff Research Center, Inc. Dynamic coding rate control in a block-based video coding system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100433559C (zh) * 2002-04-25 2008-11-12 松下电器产业株式会社 图像编码装置及图像编码方法
CN101408986B (zh) * 2002-04-25 2011-04-20 松下电器产业株式会社 图像编码装置及图像编码方法
CN101933328B (zh) * 2008-01-22 2014-11-19 杜比实验室特许公司 利用动态查询表更新的自适应运动信息成本估计
CN102006471A (zh) * 2009-09-02 2011-04-06 索尼电脑娱乐公司 视频编码的图片级速率控制
CN101977309A (zh) * 2010-06-30 2011-02-16 无锡中星微电子有限公司 码率控制方法及装置
CN101977309B (zh) * 2010-06-30 2012-07-25 无锡中星微电子有限公司 码率控制方法及装置
CN104980743A (zh) * 2010-08-17 2015-10-14 三星电子株式会社 视频解码设备
CN104980743B (zh) * 2010-08-17 2018-07-13 三星电子株式会社 视频解码设备
US10154287B2 (en) 2010-08-17 2018-12-11 Samsung Electronics Co., Ltd. Video encoding method and apparatus using transformation unit of variable tree structure, and video decoding method and apparatus
CN104125460A (zh) * 2013-04-26 2014-10-29 韩国科亚电子股份有限公司 用于控制视频比特率的方法和设备

Also Published As

Publication number Publication date
KR100604702B1 (ko) 2006-07-28
DE69837003D1 (de) 2007-03-22
EP0960532A4 (en) 2003-02-12
DE69837003T2 (de) 2007-10-18
US6243497B1 (en) 2001-06-05
KR20000071026A (ko) 2000-11-25
JP2001512643A (ja) 2001-08-21
EP0960532A1 (en) 1999-12-01
TW366649B (en) 1999-08-11
EP0960532B1 (en) 2007-01-31
CN1151685C (zh) 2004-05-26
WO1998037701A1 (en) 1998-08-27
JP4111351B2 (ja) 2008-07-02

Similar Documents

Publication Publication Date Title
CN1151685C (zh) 编码系统中用于优化速率控制的装置和方法
CA2295689C (en) Apparatus and method for object based rate control in a coding system
US6690833B1 (en) Apparatus and method for macroblock based rate control in a coding system
US7653129B2 (en) Method and apparatus for providing intra coding frame bit budget
US6895050B2 (en) Apparatus and method for allocating bits temporaly between frames in a coding system
JP5180294B2 (ja) ビデオ符号化において、フレームの複雑さ、バッファレベル、およびイントラフレームの位置を利用するバッファベースのレート制御
JP4391809B2 (ja) 画像のシーケンスを適応的に符号化するシステムおよび方法
WO2000079802A1 (en) Apparatus and method for optimizing the rate control for multiscale entropy encoding
JP4391810B2 (ja) 画像のシーケンスを適応的に符号化するシステムおよび方法
CN1949877A (zh) 自适应量化控制器及其方法
JP2001145113A (ja) 画像情報変換装置及び方法
EP1575294B1 (en) Method and apparatus for improving the average image refresh rate in a compressed video bitstream
US20090074075A1 (en) Efficient real-time rate control for video compression processes
WO2014066488A1 (en) Rate-distortion optimizers and optimization techniques including joint optimization of multiple color components
US20070098064A1 (en) Effective rate control for video encoding and transcoding
JP4532607B2 (ja) ブロック・ベースのコード化システムにおいてコード化モードを選択するための装置および方法
Parthasarathy et al. Optimal rate control methods for fine granularity scalable video
CN1843035A (zh) 使用预解码器的可伸缩视频编码方法和设备
JPH08223573A (ja) 映像の画質制御方法
Jiang Adaptive rate control for advanced video coding
Kweh Improved quality block-based low bit rate video coding

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MEDIATEK INC.

Free format text: FORMER OWNER: SARNOFF CORP.

Effective date: 20060210

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

Effective date of registration: 20060210

Address after: Hsinchu Taiwan Science Industrial Park

Patentee after: MediaTek.Inc

Address before: new jersey

Patentee before: Sarnoff Corp.

CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20040526