CN1269360C - 预先不了解画面类型情况下mpeg代码转换器的比率控制系统 - Google Patents

预先不了解画面类型情况下mpeg代码转换器的比率控制系统 Download PDF

Info

Publication number
CN1269360C
CN1269360C CNB991250605A CN99125060A CN1269360C CN 1269360 C CN1269360 C CN 1269360C CN B991250605 A CNB991250605 A CN B991250605A CN 99125060 A CN99125060 A CN 99125060A CN 1269360 C CN1269360 C CN 1269360C
Authority
CN
China
Prior art keywords
picture
bit
supposition
bit stream
gop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB991250605A
Other languages
English (en)
Other versions
CN1255022A (zh
Inventor
王利民
阿贾伊·卢特拉
罗伯特·O·艾弗瑞格
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google Technology Holdings LLC
Original Assignee
General Instrument 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 General Instrument Corp filed Critical General Instrument Corp
Publication of CN1255022A publication Critical patent/CN1255022A/zh
Application granted granted Critical
Publication of CN1269360C publication Critical patent/CN1269360C/zh
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • 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/103Selection of coding mode or of prediction mode
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

一种符合MPEG标准的数字视频代码转换器所使用的比率控制系统,在不预先了解后续画面的画面类型的情况下开始一个序列或GOP中的第一画面的编码。假定合理的GOP参数组以确定编码比特预算,随着编码连续画面,根据其画面类型逐渐修正比特预算。如当切换信道及类似处理时,可以得出预压缩比特流的GOP结构中的变化,且具有未修正的起始GOP参数的目标比率将会聚在几个GOP内。该系统减少了代码转换所需要的存储器,并避免了大约一个GOP的处理延迟。

Description

预先不了解画面类型情况下 MPEG代码转换器的比率控制系统
技术领域
本发明涉及在预先不了解GOP中的画面类型情况下,用于分配编码画面组(GOP)中的连续画面比特的数字视频代码转换器和方法。
背景技术
使用诸如MPEG之类的数字视频编码方法,可以将输入画面编码为三种画面类型,即,I,P和B。这三种画面要求完全不同的编码比特数,这是由于其不同的时间处理特性所致。因此,智能比特分配策略应根据画面类型指定用于编码的比特数。对于给定的比特预算这就要求预先了解画面类型。对于独立编码器这种要求不会出现问题,这是因为编码器能够确定每个输入画面的类型。
事实上,编码器能够提前计划输入画面的类型。相反,一个代码转换器在实际处理画面之前不能预先了解画面类型。在代码转换器分配用于编码画面的适当比特数方面就出现困难。
因此,需要一种在预先不了解画面类型情况下,用于在代码转换器分配编码画面比特的方法和装置。该系统应避免大约一个GOP的处理延迟,否则将出现从预压缩比特流提取复杂的GOP结构信息。另外,该系统应避免存储对应于GOP的数据,从而减少代码转换所需的存储器。
该系统应不但与可变比特率而且与恒定比特率的比特流兼容。
该系统应与统计多路复用和重复多路复用系统兼容。
发明内容
本发明提供一个具有上面和其他优点的装置和方法。
本发明涉及在预先不了解GOP中的画面类型排列的情况下,用于分配编码画面组(GOP)中的连续画面比特的数字视频代码转换器和方法。
1、顺序刷新序列
一种分配用于编码数字视频代码转换器接收的比特流中的顺序刷新画面序列的比特的方法,该方法包括步骤:(a)在比特流的第一画面和比特流的下一个最接近的后续P-画面之间提供一个假定距离M’;(b)提供一个作为假定距离M’的函数的假定比特预算;(c)根据假定比特预算编码第一画面;(d)确定紧跟在比特流中的第一画面的第二画面的画面类型;(e)根据第二画面的画面类型调整假定比特预算;和(f)根据调整比特预算分配用于编码第二画面的比特。
这样,最初为第一画面假定用于编码画面的比特预算,当知道第二画面类型时更新比特预算。根据比特预算分配目标比特数用于编码每个画面。第一和第二画面类型一般指示序列中的画面分布。
假定比特预算与假定距离和比特流的比特率成正比例,与比特流的帧频成反比。
比特流中的画面可以形成一个顺序刷新序列,其中不存在GOP结构。
1.1由B-画面跟随P-画面
当第一画面为P-画面,第二画面为B-画面时,该方法包括进一步的步骤:根据第一画面的画面类型和第二画面的画面类型确定第一画面和最接近的后续P-画面(以显示顺序)之间的实际距离M”。
根据按比特流的显示顺序的第一画面的时间标记、与按该显示顺序的第二画面的时间标记之间的差值加上一个画面确定实际距离M”。
该方法包括进一步的步骤:根据调整比特预算分配用于编码跟在第一画面后面的剩余M″-1个画面的比特。
在调整步骤(f)通过+(M”-M’)*“比特率″/“帧频”调整假定比特预算,其中“比特率”是比特流的比特率,“帧频”是比特流的帧频。
1.2由P-画面跟随的P-画面
当第一和第二画面为P-画面时,该方法包括进一步的步骤:根据第一画面的画面类型和第二画面的画面类型确定第一画面和最接近的后续P-画面(以显示顺序)之间的实际距离M″。根据第二画面的时间标记和第一画面的时间标记之间的差值确定实际距离M″。相对于比特流的显示顺序确定时间标记。
在调整步骤(f)通过-(M’-1)*“比特率”/“帧频”调整假定比特预算,其中“比特率”是比特流的比特率,“帧频”是比特流的帧频。
该方法包括进一步的步骤:根据调整比特预算分配用于编码比特流中的跟随包括第一和第二画面的初始M”画面的一系列M″画面的比特。这样,对一系列画面中的比特预算的调整延续到下一系列以允许下一系列的正确编码。
2、非顺序刷新序列
通常,本发明通过假定一组合理的GOP参数,每个I-画面和下一个P-画面之间的距离,和N,以及GOP长度开始代码转换。在代码转换期间调整M和N,这是因为有关GOP结构的附加信息成为可用,例如,GOP中的画面类型的分布和GOP的长度。
可以将假定M修正到两帧内的实际值,以及可以将假定N修正到一个GOP内的实际值。如果有必要的话,在每个I-或P-画面之后应鉴定,和调整M,以及如果有必要的话,在每个I-画面之后应鉴定,和调整N。当调整M和/或N时,还应分别调整用于编码画面的比特率R,以及当前GOP中的的I,P和B-画面的nI,nP,和nB,剩余数。
一种分配用于编码数字视频代码转换器接收的比特流中的非顺序刷新画面序列的比特的方法,该方法包括步骤:(a)提供比特流的一个特定画面组(GOP)的假定长度N’;(b)提供一个作为假定长度N’的函数的假定比特预算;在比特流的第一画面和比特流的下一个最接近的后续P-画面之间提供一个假定距离M’(以显示顺序);(c)根据假定比特预算,和N’以及M’分配用于编码特定GOP的第一画面的比特;(d)确定紧跟在第一画面的第二画面的画面类型;(e)根据第二画面的画面类型调整假定比特预算;和(f)根据调整比特预算分配用于编码第二画面的比特。
假定比特预算与假定长度N’和比特流的比特率成正比,与比特流的帧频成反比。
在一个GOP内M”可以变化。这样,该方法包括周期性地鉴定遍布GOP的M”的步骤。例如,可以在跟随第一I-画面的每个I-画面和/或P-画面计算M”。根据M″每次都调整假定比特预算。
2.1由I-画面跟随I-画面
当第一和第二画面为I-画面时,该方法包括进一步的步骤:根据第二画面的画面类型确定比特流的第一画面和下一个最接近的后续I-画面之间的实际距离M”,并根据M”调整假定比特预算。
根据以比特流的显示顺序的第二画面的时间标记和以显示顺序的第一画面的时间标记之间的差值确定实际距离M”。
调整步骤(e)包括步骤:通过-(N’-1)*“比特率″/“帧频”调整假定比特预算,其中“比特率”是比特流的比特率,“帧频”是比特流的帧频,以及N=M=M”。
该方法包括进一步的步骤:根据调整比特预算分配用于编码跟随第二画面的特定GOP中的剩余画面的比特。
2.2由P-画面跟随I-画面
当第一画面是I-画面和第二画面为P-画面时,该方法包括进一步的步骤:根据第二画面的画面类型确定第一画面和最接近的后续P-画面(以显示顺序)之间的实际距离M”;并根据实际距离M”调整GOP中的假定长度N’以提供一个调整的假定长度N″;其中调整步骤(e)响应于调整的假定长度N’。
因此,在调整步骤通过一个因数,M(N’/M”)调整特定GOP中的假定长度N’以提供一个调整的假定长度N”,其中M=M″。
调整步骤(e)包括步骤:通过因数(N”-N’)*“比特率”/“帧频”调整比特预算,其中“比特率”是比特流的比特率,而“帧频”是比特流的帧频。
调整步骤(e)还包括进一步的步骤:通过因数(M”-1’)*“比特率”/“帧频”调整比特预算,其中“比特率”是比特流的比特率,而“帧频”是比特流的帧频,以及M=M”。
这样,不但使用GOP长度而且使用距离M调整比特预算,二者依次影响每个画面的目标比特分配。
该方法包括进一步的步骤:根据调整的比特预算分配编码跟随第二画面的特定GOP中的剩余画面的比特。
该方法包括进一步的步骤:确定是N”>N还是N”<N,其中N是在当前GOP编码N”画面之后,当前GOP的长度。这通过观察在编码N”画面之后到达的画面来实现。例如,如果在编码N″画面之后到达的画面是当前GOP中的P-画面,则N”<N。如果在编码N″画面之后到达的画面是I-画面,这就发出下一个GOP开始的信号,因此N”=N。如果在N”全部被编码之前编码I-画面,则指示N”>N。根据是N”<N还是N”>N进一步调整已调整的比特预算,并且根据进一步调整的比特预算分配用于编码比特流中跟随N”个编码画面的画面的比特。
2.3由B-画面跟随I-画面
当第一画面是I-画面和第二画面为B-画面时,该方法包括进一步的步骤:根据第二画面的画面类型确定第一画面和最接近的后续P-画面(以显示顺序)之间的实际距离M”;并根据实际距离M”调整GOP中的假定长度N’以提供一个调整的假定长度N”;其中调整步骤(e)响应于调整的假定长度N’。
因此,在调整步骤通过一个因数,M(N’/M”)调整特定GOP中的假定长度N’以提供一个调整的假定长度N”,其中M=M”。
调整步骤(e)包括步骤:通过因数(N”-N’)*“比特率”/“帧频”调整假定比特预算,其中“比特率”是比特流的比特率,而“帧频”是比特流的帧频。
该方法包括进一步的步骤:根据调整的比特预算分配用于编码跟随第二画面的特定GOP中的剩余画面的比特。
因此,如上所述,根据是N”<N还是N”>N进一步调整已调整的比特预算,并且根据进一步调整的比特预算分配用于编码比特流中跟随N”个编码画面的画面的比特。
这样,在编码后面的GOPs中使用在一个GOP所了解的关于GOP长度和M,I和/或P-画面之间的距离的信息。具有未修正启动GOP信息的目标比率将会聚在几个GOPs内。
也给出了相应的装置结构。
附图说明
图1a以连续多个GOP的显示顺序示出画面的顺序刷新序列。
图1b以编码顺序示出图1(a)画面序列。
图2a以其后跟随多个连续GOP的比特流中的起始GOP的显示顺序示出画面的顺序刷新序列。
图2b以编码顺序示出图2(a)画面的序列。
图3示出MPEG-2比特流结构。
图4a-1和4a-2示出根据本发明的用于顺序刷新画面序列的编码方法。
图4b-1和4b-2示出根据本发明的用于非顺序刷新画面序列的编码方法。
图4c-1和4c-2示出根据本发明的图4(b)的编码方法的继续。
图5示出根据本发明的估计GOP长度N”。
图6示出根据本发明的比率控制系统。
图7a-1,7a-2,7b,7c-1,7c-2,7d示出实现本发明的C-语言流程图。
具体实施方式
本发明涉及在预先不了解GOP中的画面类型情况下,用于分配编码画面组(GOP)中的连续画面比特的数字视频代码转换器和方法。
示出一种用于数字视频代码转换器的新颖比率控制方案和装置,例如,该代码转换器符合MPEG标准,要求不预先(提前)了解画面类型。所作研究表明在预先了解和不了解画面类型的情况下,使用所提出的比率控制系统确定的画面目标比率十分接近。
MPEG按照时间处理定义了三种画面类型。它们是帧内编码画面(I-画面),正向时间预测编码画面(P-画面),和双向时间预测编码画面(B-画面)。在MPEG视频编码中,输入视频序列画面常常分组为画面组(GOPs),其中每个GOP可以包含一个I-画面,多个P-画面,和可选择的I或P-画面之间的一个或多个B-画面。经常使用两个变量:(1)N-GOP中的画面数,或GOP长度,和(2)M-I或P-画面之间的距离来描述一个GOP的结构。以显示顺序具有N=15和M=3的GOP的实例是:
…Bm-2Bm-1ImBm+1Bm+2Pm+3Bm+4Bm+5Pm+6…Pm+N-3Bm+N-2Bm+N-1Im+NBm+N+1
其中下标是画面的时间标记,并且连续数字表明连续显示的画面。
通常,I-画面比P-和B-画面需要更多的比特用于编码,因为I-画面不使用连续画面之间的时间相关性(例如,帧)。B-画面使用最少的比特数用于编码,这是因为B-画面具有两个时间标记并由此与P-画面相比能够被更有效地进行时间预测。P-画面使用多个比特用于编码,其数量一般处于B-和I-画面所使用的比特数之间。
显然,指定给每个画面用于编码的比特应基于画面类型,或该画面的需要。另外,一个GOP应具有所有三种画面类型,在一个GOP内三种画面类型的组织应该很灵活。因此,为更好地分配用于编码GOP内的画面的比特预算,必须预先了解GOP内的画面类型,或GOP的结构。这种要求对于一个独立的编码器(即,不作为代码转换器一部分的编码器)不存在问题,这是因为编码器能够决定每个画面的类型,并根据画面类型和GOP中的画面排列事先计划所分配的比特。换言之,GOP的结构信息对编码器来说可用。
与独立编码器相反,代码转换器以一种新比率将一个预-压缩比特流转换为另一个比特流。到代码转换器的输入是预-压缩比特流。在处理一个画面之前,代码转换器预先不了解画面的类型,并由此预先不了解预-压缩比特流的GOP结构。
进一步,一些代码转换方案重复使用所接收的预-压缩比特流的运动矢量(MV)场用于以新的数据比率编码输出比特流。在这种情况下,保留预-压缩画面的画面类型。这意味着代码转换器不能控制新输出的比特流的GOP结构。
另外,通过常规方案,有可能从预-压缩比特流提取GOP结构信息。例如,在由前两个I-画面扫描预-压缩比特流之后,代码转换器应能够确定GOP结构。然而,这需要大约一个GOP的处理延迟并需要额外的存储器以保留全部的GOP比特。
本发明公开一种新颖的用于数字视频代码转换器的比率控制系统,该系统符合MPEG标准,不需要预先了解预-压缩比特流的GOP结构。公开一种无处理延迟并且不需要额外的存储器的比率控制方案。该方案可以以任何合理的GOP参数组开始,并且当在代码转换器接收连续的预-压缩画面时,如果必要的话,就逐步修正这些GOP参数。该方案补偿了改变编码器所使用的GOP参数。
另外,我们分析一下在预先了解和不了解预-压缩比特流的GOP结构的情况下由提议的比率控制方案所确定的目标比特比率的差值。我们得出在预先了解和不了解预-压缩比特流的GOP结构的情况下目标比率仅在一个或两个GOPs内趋于相同。我们不但在数字实例而且在真实的视频序列论述目标比率的差值。
下面,在部分1,我们将首先综述用于MPEG视频编码的比率控制。在部分2,我们给出用于MPEG代码转换器的新颖的比率控制。在部分3,我们分析一下在预先了解和不了解GOP结构的情况下由提议的比率控制所确定的目标比率的差值。在部分4,我们给出仿真和比较结果。在部分5讨论结论。
1.用于MPEG视频编码的比率控制
在MPEG视频编码,将所有三种类型的画面(I,P或B)进行块离散余旋变换(DCT)。DCT系数被量化和可变长度编码。所产生的每个画面的比特数与其相应的块DCT画面的复杂性有关。在不参照任何其他画面的情况下编码I-画面,因此,其DCT画面通常需要最多数量的比特。首先前向时间预测P-画面,接着编码其时间预测差值图象。与原始画面相比时间预测差值图象一般包含相当少的信息,因此需要较少比特用于编码。具有两个时间标记的B-画面与P-画面相比常常能被更好地时间预测。因此,B-画面需要最少的比特。一种智能比特分配策略应根据画面的类型,或画面的复杂性指定到画面的比特。
让Xn为一个N个画面的GOP中的画面n的复杂性量度。在MPEG测试模块5(TM5),将画面的复杂性量度定义为画面的平均量化参数和产生的比特数的乘积。在逻辑上,分配给一个画面的比特应与画面的复杂性量度,Xn,即,
Tn=CXn    n=0,1,…,N-1      (1)
成正比,其中C是一个常数。这里,我们在画面复杂性量度和编码所需的比特数之间假定一个线性模型。另外,在不存任何偏差的情况下,一个N个画面的GOP应被分配
RGOP,N=N·比特率/帧频   比特              (2)
显然,指定给一个N个画面的GOP内的所有画面的比特总数应等于RGOP,N,即,
R GOP , N = Σ n = 0 N - 1 Tn = Σ n = 0 N - 1 CXn = C Σ n = 0 N - 1 Xn - - - ( 3 )
从公式(1)和(3),我们得出
Tn = Xn Σ n = 0 N - 1 Xn R GOP , N - - - ( 4 )
假定所有相同类型的画面,即,I,P或B,具有相同的复杂性量度,这是一个合理的假定,至少对于连续场景是这样。我们仅需要三个复杂性量度,每个画面类型使用一种。即,XI用于I-画面,XP用于P-画面,XB用于B-画面。因此,用于t∈{I,P,B}类型的帧n的目标比率和复杂性量度Xn,t∈{I,P,B}可以写为:
Tn = X n , t N 1 X 1 + N P X P + N B X B R GOP , N - - - ( 5 )
这里N1,NP和NB分别是GOP中的I,P和B-画面的数量。通过公式(5),相同类型的画面被指定相同数量的比特。通过仅在当前GOP的剩余画面考虑剩余比特数分配来进一步修改这种比特分配策略,即,
Tn = X n , t n 1 X 1 + n P X P + n B X B R - - - ( 6 )
这里n1,nP和nB分别是当前GOP中的I,P和B-画面的剩余数量,R是剩余比特数,由
R ⇐ R - Σ n ′ = 0 n - 1 T n ′ - - - ( 7 )
定义。这里
Figure C9912506000266
表示指定陈述。在每个GOP的开始必须将剩余比特数R更新为,
R=R+RGOP,N=R+N·比特率/帧频      (8)
我们现在得出只要编码器能够在每个画面具有目标比特,公式(6)也向相同类型画面指定相同数量比特。例如,假定帧n是一个B-画面。帧n实际上或者是I,P或者是B-画面。编码器具有标称比率,对于帧n为Tn。因此,帧n+1的目标比率Tn+1
T n + 1 = X n + 1 , t n I X I + n p X p + ( n B - 1 ) X B ( R - T n ) - - - ( 9 a )
= X n + 1 , t n I X I + n p X p + ( n B - 1 ) X B ( R - X B n I X I + n P X P + n B X B R ) - - - ( 9 b )
= X n + 1 , t n I X I + n p X p + ( n B - 1 ) X B ( n I X I + n P X P + n B X B - X B n I X I + n P X P + n B X B ) R - - - ( 9 c )
= X n + 1 , t n I X I + n p X p + n B X B R - - - ( 9 d )
正如所看到,帧n+1,Tn+1的目标比率仅依靠帧n+1的类型,即,Xn+1,t。换言之,与帧n的类型(或者为I,P或者为B)无关,帧n+1根据其本身类型被指定相同数目的比特。如果相同类型的画面具有相同的复杂性量度,则表明公式(5)和(6)实际上相同,并且编码器可以在每个画面具有目标比率。然而,公式(6)更为实用,因为其地址改变画面复杂性量度和每个画面在目标和实际比率之间的差值。
实际上,对于不同的画面类型可能具有不同的质量要求。例如,在将来时间预测中从来不使用B-画面作为标记。因此,它们比I-和P-画面更能容忍失真。为说明这种不同的质量要求,对于每种画面类型我们进一步引入一个加权系数,Kn,t,为
Tn=CXn,t/Kn,t                   (10)
这里
比特分配策略(例如,公式5和6)变为:
T n = X n , t / K n , t N I X I / K I + N P X P / K P + N B X B / K B R GOP , N - - - ( 5 b )
T n = X n , t / K n , t n I X I / K I + n P X P / K P + n B X B / K B R - - - ( 6 b )
当KI=KP=1以及KB=1.4时,公式(6b)与MPEG TM5使用的相同。
比特分配策略(例如,公式5和6)要求预先了解GOP结构,即,给出一对GOP结构变量,N和M时的一个GOP中的I,P和B-画面数,NI,NP和NB,或当前GOP中的I,P和B-画面的剩余数,nI,nP和nB,我们可以使NI=1,NP=N/M-NI以及NB=N-NP-NI。从NI,NP和NB,在编码期间我们也可以计算nI,nP和nB。例如,如果仅编码P-画面,则当前GOP中的P-画面剩余数减少1,即,nP=nP-1。
正如所描述的,不幸的是该信息不能被代码转换器利用。在不完全了解预压缩比特流的GOP结构的情况下,不容易实现智能比特分配策略。代码转换器可以通过扫描前两个I-画面的比特流了解预压缩比特流的GOP结构。然而,这就带来一个GOP的处理延迟并需要额外存储器来保留GOP比特。
2.用于代码转换器的比率控制
我们现在描述一种用于代码转换器的不需要预先了解预压缩比特流的GOP结构的新颖的比率控制系统。所提出的比率控制系统不产生处理延迟并且不要求额外的存储器。可以以任何合理的GOP参数组开始,并随着编码处理逐渐修正这些GOP参数,如果有必要的话。
表1(a)表示所有可能的画面组织,其中下标是画面的以显示顺序的时间标记。每个画面涉及一个帧或场,或帧或场的一部分。例如,本发明与MPEG-4标准的视频对象平面(VOPs)的编码兼容。本发明不但与顺序扫描而且与隔行扫描视频兼容。
对于序列GOP(N=M=1),仅存在I-画面。对于序列GOP(N,M=1),仅存在I-和P-画面。对于序列GOP(N=M),仅存在I-和B-画面。对于序列GOP(N,M),存在I-,P-和B-画面。对于序列GOP(M=1),仅存在P-画面。对于序列GOP(M),仅存在P-和B-画面。
表1(a)的前四种情况是非-顺序刷新序列,这是因为它们具有I-画面。后两种情况(例如,GOP(M=1)和GOP(M))不具有I-画面,但是使用顺序刷新,其中P-画面包含I-分片(slice)。一个I-分片是画面的内编码部分,通常水平扩展通过该画面。I-分片的位置在连续P-画面内变化以刷新连续P-画面的不同部分。因此,使用连续刷新,在描述画面组织时不再必须使用GOP长度N。然而,M仍可用于指示两个连续P-画面之间的距离。尽管可以使用任何相应的测量,例如时间,但是这里按照的画面数测量“距离”。就比特分配而言,我们在N=M比特分配公式(5)设定N=M,NI=0(由于不存在用于顺序刷新序列的I画面),NP=N/M-NI=1,NB=N-NP-NI=N-NP用于顺序刷新。
表1(b)表示表1(a)的画面序列以编码顺序(例如,以比特流顺序)的画面组织的相应形式。如果M=1(序列中不存在B-画面),则编码顺序实际上与显示顺序相同。另一方面,如果M≠1(例如,在连续I-或P-画面之间存在M-1个B-画面),则在M-1个B-画面之前必须编码将来的I-或P-画面。
另外,对于具有M≠1的视频序列中的第一个GOP(例如,初始或非-连续GOP,指定为GOP0),如表2(a)所示,在第一个I-或P-画面之前可能不存在任何B-画面。表2(a)表示以显示顺序,在视频流中的序列标题之后的第一个(初始)GOP的可能的画面组织。初始GOPs被规定为GOP0。例如,对于GOP0(M),第一个画面被规定为P0。当,例如初始得到或重复得到比特流时,可以由代码转换器处理初始GOP。
表2(b)表示以编码顺序的表2(a)的第一个GOP。这里,表示一个具有M≠1的初始GOP,其中在任何B-画面之前编码第二I-或P-画面。以编码顺序的第二画面为I-或P-画面中的任何一个,如表2(b)所示。
图1(a)示出以显示顺序的连续多个GOP的画面的顺序刷新序列。具体地说,来自表1(a)的顺序刷新序列GOP(M)用于表示M=3的P-画面之间的距离,和一个连续(例如,非初始,或打开)的GOP。另外,GOP长度为N=M=3个画面。
在视频序列100,第一GOP110包括画面P7,B8和B9,而第二GOP120包括画面P10,B11和B12,以及第三GOP130包括画面P13,B14和B15。简单选择P7的下标“7”作为一个实例。一个后续GOP包括P16作为其第一个画面。
图1(b)示出以编码顺序的图1(a)的画面序列。编码的视频序列150对应来自表1(b)的序列GOP(M)。由于B8和B9被时间预测在P10的后面,在编码序列150中B8和B9跟随P10。类似地,B11和B12跟随P13,B14和B15跟随P16
图2(a)示出在连续多个GOP跟随的比特流中的初始GOP中以显示顺序的画面的顺序刷新序列。具体地说,来自表2(a)的顺序刷新序列GOP0(M)用于表示M=3的P-画面之间的距离,和一个N=M=3个画面的GOP长度。
在视频序列200,第一,初始GOP210包括画面P0,B1和B2,而第二连续GOP220包括画面P3,B4和B5,以及第三连续GOP230包括画面P6,B7和B8。一个后续GOP包括P9作为其第一个画面。
表1(a)
GOP(N=M=1): Im-1     Im     Im+1     Im+2
GOP(N,M=1): Pm-1     Im     Pm+1     Pm+2     Pm+N-1     Im+N     Pm+N+1
GOP(N=M): Bm-1     Im     Bm+1     Bm+2     Bm+M-1     Im+M     Bm+M+1
GOP(N,M): Bm-1     Im     Bm+1     Bm+2     Bm+M-1     Pm+M     Bm+M+1     Pm+2M     Im+N
GOP(M=1): Pm-1     Pm     Pm+1     Pm+2
GOP(M): Bm-1     Pm     Bm+1     Bm+2     Bm+M-1     Pm+M     Bm+M+1     Pm+2M
表1(b)
 GOP(N=M=1):   Im Im+1 Im+2
 GOP(N,M=1):   Im Pm+1 Pm+2  Pm+N-1  Im+N  Pm+N+1
 GOP(N=M):   Im Bm-(M-1) Bm-(M-1)+1  Bm-1  Im+M  Bm+1
 GOP(N,M):   Im Bm-(M-1) Bm-(M-1)+1  Bm-1  Pm+M  Bm+1  Bm+M-1  Pm+2M  Im+N
 GOP(M=1):   Pm Pm+1 Pm+2
 GOP(M):   Pm Bm-(M-1) Bm-(M-1)+1  Bm-1  Pm+M  Bm+1  Bm+M-1  Pm+2M
表2(a)
GOP0(N=M): I0  B1  B2 BM-1  IM  BM+1  I2M   …
GOP0(N,M): I0  B1  B2 BM-1  PM  BM+1  B2M-1   P2M P3M IN
GOP0(M): P0  B1  B2 BM-1  PM  BM+1  P2M   …
表2(b)
GOP0(N=M):   I0   IM   B1   B2   BM-1   I2M     BM+1
GOP0(N,M):   I0   PM   B1   B2   BM-1   P2M     BM+1   B2M-1  P3M   IN
GOP0(M):   P0   PM   B1   B2   BM-1   P2M     BM+1
图2(b)示出以编码顺序的图2(a)的画面序列。编码视频序列250对应来自表2(b)的序列GOP0(M)。由于B1和B2被时间预测在P3的后面,在编码序列250中B1和B2跟随P3。本质上,使用P0用于向后时间预测的B-画面不出现,因此,P3,B1和B2跟随P0。类似地,B4和B5跟随P6,B7和B8跟随P9
图3示出MPEG2比特流结构。序列层300包括一个序列标题302,该标题由多个GOP,例如,GOP304,306和308跟随,GOP304,306和308由附加序列标题跟随,并且附加序列标题包括序列标题312。一个GOP层320包括一个GOP标题322,该标题由来自多个画面,例如,画面324,326和328的数据跟随。画面层330包括一个画面标题332,该标题由多个分片,例如,分片334和336跟随。分片层335包括分片标题337,该标题由多个宏数据块,例如宏数据块338和339跟随。宏数据块层340包括宏数据块标题342,由多个数据块,例如,数据块344,346和348跟随。数据块层包括DCT系数352。
对于给定的预压缩比特流,代码转换器可以在比特流的任何地方开始处理。最初,代码转换器将跳过所有比特,直到到达序列标题300为止,其中序列标题300包含关于画面尺寸,帧频的信息,和类似信息。可选地,该GOP标题322可以跟随在序列标题302后面(仅用于非顺序刷新)。如果一个GOP标题不跟随序列标题302,则该比特流明确地为非顺序刷新序列。另外,该比特流可以,或不可以为顺序刷新序列。接着为画面层330。
立即跟随序列标题的画面(即,GOP中的第一画面,即,画面324)可以是I-画面或P-画面。如果其为I-画面,则比特流为非顺序刷新序列。相反,比特为顺序刷新序列。本发明的比特分配程序对于顺序刷新和非顺序刷新的比特流稍有不同。在下面的两个分段中,我们详细描述二者。
将使用下面的标注:
N,M-GOP参数,N和M的实际值(即,反映真实的GOP结构);
N’,M’-GOP参数,N和M的初始假定值;
N”,M”-GOP参数,N和M的(当前)更新值;
NI,NP,NB--分别为GOP中的I,P和B的画面数;
nI,nP,nB-分别为当前GOP中的剩余I,P和B的画面数;
R-当前GOP中的剩余比特数;
Bit_rate-可变的每秒比特的有效输出比特率(我们假定比特率对代码转换器可变);
Frame_rate-每秒帧的有效Frame_rate(帧频),由于repeat_first_field(重复-第一-场)的出现该有效帧频可以与序列标题体现的帧频不同(我们假定帧频对代码转换器可变);
div-;将结果舍位到零的整除;和
-指定状态(从右到左)。
(i)顺序扫描
对于顺序扫描序列,将不存在GOP标题,立即跟随序列标题的第一画面(以编码顺序)必须为P-画面。看表1(b)中的序列GOP(M=1)和GOP(M)和表2(b)中的GOP0(M)。取代等待正确地确定M,我们转向处理具有任何合理的假定M的第一画面,被称为M’,以及计算目标比特率中的R=RGOP,M=M’·(bit-rate/frame-rate)比特的比特预算(看公式6)。注意到通过M’,我们可以使Np=1和NB=M’-NP。例如,参照图1(a)或图2(a),这里P-画面之间的距离为M’=3,一个GOP中的P-画面的数量为一个,一个GOP中的B-画面的数量为二个。
以编码顺序,GOP中的第二画面可以是B-画面(GOP(M))或者P-画面(GOP(M=1)或GOP0(M)),分别如表1(b)和2(b)所示。
在任何一种情况中,我们可以从编码顺序的GOP的前两个画面的时间标记计算M的实际值。具体地说,让tem_ref_picture1和temp_ref_picture2分别为第一和第二画面的时间标记。时间标记可以嵌入画面标题。如果第二画面为一个B-画面,例如,表1(b)中的序列(GOP(M)),则M的修正值,称为M”,为:
M”=temp_ref_picture1-temp_ref_picture2+1      (12)
例如,在图1(b),在编码视频序列,将P10和B8分别考虑为第一和第二画面。接着,temp_ref_picture1是P10(例如,“10”)的时间标记,temp_ref_picture2是B8(例如,“8”)的时间标记,以及M”=10-8+1=3。注意到时间标记涉及画面的显示顺序。
同样,如果第二画面为P-画面,例如,表1(b)中的(GOP(M=1))或表2(b)中的(GOP0(M))序列,则P-画面之间距离的修正值为:
M”=temp_ref_picture2-temp_ref_picture1         (13)
例如,在图2(b),在编码视频序列,将P0和P3分别作为第一和第二画面。接着,temp_ref_picture1是P0的时间标记(例如,“0”),temp_ref_picture2是P3的时间标记(例如,“3”),并且M”=3-0=3。
通过M的修正值,即,M”,由此调整比特的剩余数,R(看公式7)。具体地说,如果第二画面是B-画面,由于使用表1(b)的序列(GOP(M)),R更新为
R = R + ( M ′ ′ - M ′ ) · bit _ rate frame _ rate - - - ( 14 )
正如所看到的,对于M”>M’(P-画面之间的实际距离大于假定距离),第一P-画面被指定相对较多的比特,因此,剩余画面将被指定相对较少比特。对于M”<M’(P-画面之间的实际距离小于假定距离),第一P-画面被指定相对较少的比特,因此,剩余画面将被指定相对较多比特。
另一方面,如果第二画面为P-画面,例如,使用表1(b)的序列(GOP(M=1)),或表2(b)的序列(GOP0(M)),在编码视频序列的前两个P-画面之间不存在B-画面。因此,应从R中减去为两个P-画面(以编码顺序)之间的假定M’-1个B-画面分配的比特,即,
R = R - ( M ′ - 1 ) · bit _ rate frame _ rate - - - ( 15 )
我们接着设定M=M’。在第一M画面的结尾,如果代码转换器能够满足每个画面的目标比率,则将有R=0。因此,对于下一个M画面,我们具有R=RGOP,M=M·(bit_rate/frame_rate)比特的比特预算。为得出M中的任何后续变化,在每个P-画面之后我们检查M值。
图4(a)示出根据本发明的用于顺序刷新画面序列的编码方法。将前述的用于顺序刷新序列的比特分配技术总结如下。
在模块400,在代码转换器接收预压缩的数字视频比特流。编码画面为编码顺序。在模块405,处理比特流以检测序列标题。在模块410,确定跟随序列标题的第一画面的画面类型。如果其为I-画面,在图4(b)中的模块“A”继续处理。
如果跟随序列标题的第一画面为P-画面,在模块415继续处理,其中设定假定距离M’。在本文M’被定义为跟随序列标题的第一画面,和以显示顺序的下一个P-画面之间的距离。在模块420,根据M’、比特流的比特率和帧频确定假定比特预算R。在模块422,根据公式6b设定目标比特率T。在模块425,根据T编码第一画面。在模块430,如果下一个画面(例如,第二画面)为P-画面,则根据公式13在模块435确定实际距离M”。在模块440,使用公式15调整比特预算R。在模块445,将M设定到M”。
在模块430,如果序列中的下一个画面,例如,第二画面,为B-画面,则根据公式12在模块450确定实际距离M”。在模块455,使用公式14调整比特预算R。在模块460,将M设定到M”。在模块462,设定目标比特率T(例如,使用公式6)。下面,在模块465根据T编码剩余M-1个画面(包括第二画面)。
在模块470,处理下一个画面。例如,这可以是下一组M”画面的第一画面。在模块475,处理返回,例如,到模块415。然而,注意到,取代分别在模块415和420盲目地假定长度和比特预算,可以使用在前一组M”画面确定的值。然而,例如,在每个P-画面之后可以鉴定实际距离M”。
(ii)非顺序刷新
对于非顺序刷新,存在一个跟随顺序标题的可选GOP标题。接着,是画面层。立即跟随序列标题,或GOP标题的第一画面必须是I-画面。对于一种智能比特分配,我们必须了解N和M。然而,我们在确定第一画面的目标比率(看公式6)时通过使用任何合理N和M对,即,N’和M’,以及R=RGOP,M=N’·(bit_rate/frame_rate)比特的比特预算开始预压缩比特流的代码转换。
注意到使用N’和M’,我们得到NI=1,NP=N’/M’-NI和NB=N’-NI-NP。与顺序刷新类似,可以从前两个画面的时间标记计算M的实际值,即,M”。
如果第二画面为I-或P-画面,则在计算M值时使用公式(13)。同样,第二画面为B-画面,则使用公式(12)。接着,我们设定M=M”。
如果第二画面也是I-画面(GOP(N=M=1))和GOP0(N=M)),我们实际上也得到修正值N,即,N=M,如表1(b)和2(b)所示。由此,剩余比特数R(看公式7)调整为:
R = R - ( N ′ - 1 ) · bit _ rate frame _ rate - - - ( 16 )
这是因为在第一和第二I-画面之间不存在P-和B-画面。因此,应从R扣除分配给两个I-画面之间的假定N-1(P和B)个画面的比特。
如果第二画面不是I-画面,将花费较长时间得到N的修正值,大约为一个GOP。假定N’可能不被修正的M整除。因此,我们必须调整N’,从而,调整nP和nB。我们使用修正M值将N调整到N’,以及nP和nB
N”=(N’/M)·M;              (17)
nP=N”/M=1;和               (18a)
nB=N”/M-nP-1。               (18b)
我们接着使用N”将剩余比特数,R(看公式7)调整为
R = R + ( N ′ ′ - N ′ ) · bit _ rate frame _ rate - - - ( 19 )
另外,如果第二画面为表1(b)和2(b)所示的P-画面,GOP(N,M=1)或GOP0(N,M),则剩余比特数,R需要附加调整为
R = R - ( M - 1 ) · bit _ rate frame _ rate - - - ( 19 b )
这是因为在第一画面之前存在比假定的少的M-1个B-画面。
只存在三种情况,即,
1.N”=N,即,当前GOP长度N”等于实际GOP长度N;
2.N”<N,即,当前GOP长度N”小于实际GOP长度N;和
3.N”>N,即,当前GOP长度N”大于实际GOP长度N。
显然,如果N”=N,我们在处理N”画面之后到达I-画面-开始第二个GOP。我们得到一个修正的N,因此,我们保持该N值。
如果N”<N,GOP长度N”小于实际GOP长度。在至少M个画面假定GOP长度小于实际GOP长度,这是由于GOP结构的特性所致(看表1(b)和2(b))。这里,我们假定在GOP内M值将不改变。
注意到如果在一个GOP内M存在变化,则在一个GOP内可以周期性地检查M,例如在每个I-和/或P-画面之后。另外,如果在一个GOP内M变化,因此应调整N和R。
我们将N”个画面的GOP扩展另外的M个画面,即,
N”=N”+M,                 (21)
并通过增加用于M个附加画面的RGOP,M调整R,即,
R = R + R GOP , M = R + M · bit _ rate frame _ rate - - - ( 22 )
如果扩展的GOP长度仍小于实际GOP长度,我们就重复上述过程直到到达实际GOP的结尾为止。
如果N”>N,则GOP长度大于实际的GOP长度。在实际GOP的结尾,我们将具有一个修正的GOP长度,N并且将修正的长度N用于剩余的GOPs。由于假定GOP长度(N”)大于实际GOP长度(N),将从编码第二实际GOP的画面的第一实际GOP剩余一些比特。因此分配给第二实际GOP的比特必须调整为:
R = 2 R GOP , N - ( R GOP , N ′ ′ - R ) = 2 N · bit _ rate frame _ rate - ( N ′ ′ · bit _ rate frame - R )
…………………….(23)
这里RGOP,N”-R为用于编码第一N个画面的比特数。
图4(b)示出根据本发明的用于非顺序刷新画面序列的编码方法。将上述用于非顺序刷新序列的比特分配技术总结如下。
模块“A”的处理从图4(a)的模块“A”继续。在模块500,提供一个假定GOP长度N’,在模块502,提供一个假定距离M’。这里的M’是GOP中的第一I-画面和以显示顺序的下一个I-或P-画面之间的距离。该距离可能与GOP长度相同或者不相同。通常,应选择N’和M’的兼容值,例如,N’>M’以及N’可被M’整除。在模块504,根据N’提供假定比特预算R,以及在模块505,例如,使用编码GOP中的画面的公式6确定目标比率T。
在模块506,编码GOP中的第一画面。在模块508,如果下一个画面,例如,GOP的第二画面,是I-画面,则处理在模块510继续,这里实际距离M”由公式13确定。在模块514,将M设定到M”,并在模块516将N设定到M,这是因为距离M”和GOP长度相同。
在模块518,根据公式16调整比特预算并在模块524处理返回到,例如,模块500。注意到,在模块500和502,将N’和M’分别设定到前一个GOP的值N和M。可以鉴定每个GOP的N和M。
在模块508,如果下一个画面,例如,GOP中的第二画面为P-画面,处理在模块530继续,这里使用公式13确定实际距离M”。在模块532,将M设定到M”。在模块534,GOP长度更新为N”=M[N’/M’]。在模块536,使用公式18调整当前GOP中的剩余B-画面数,nB。在模块538,使用公式19调整比特预算,并在模块540,使用公式19a再次调整比特预算,并且处理在“B”继续。
在模块508,如果下一个画面,例如,GOP中的第二画面为B-画面,处理在模块542继续,这里使用公式12确定实际距离M”。在模块544,将M设定到M”。在模块546,GOP长度更新为N”=M[N’/M’]。在模块548,使用公式18调整当前GOP中的剩余B-画面数,nB。在模块550,使用公式19调整比特预算,并且处理在“B”继续。
图4(c)示出根据本发明的图4(b)的编码方法的继续。处理从图4(b)的“B”继续。在模块552,使用公式6设定目标比特率T,并在模块554,将一个计数器设定为1。在模块556,编码GOP中的下一个画面。在模块558,将计数器增加1。“计数器”本质上跟踪GOP中当前画面的位置。在模块560,确定是否已到达当前GOP的结尾。如果是这样,在方框562确定计数器是否等于N”。如果是这样,就指示N”与N,实际的GOP长度,相同。本质上,假定GOP长度N”被修正。处理在模块566继续,在这里编码下一个GOP。
如果模块562的条件不满足,就指示N”>N(例如,假定GOP长度N”太大),在模块564使用公式23调整比特率。处理在模块566继续,在这里编码下一个GOP。
如果在模块560还未到达当前GOP的结尾,则在模块570确定计数器是否等于N”。如果不等于,处理在模块556继续。如果在模块570计数器等于N”,就指示N”<N(例如,假定GOP长度N”太小)。在模块572,将假定GOP长度N”增加M。在模块574,使用公式22调整比特预算,在模块576,编码下一个M画面,并在模块578确定是否已到达当前GOP的结尾。如果未到达,处理在模块572继续,在这里将假定GOP长度N”再次增加M。
在模块578,当到达当前GOP的结尾时,处理在模块566继续,在这里编码下一个GOP。
参照图5可以进一步理解图4(c)的编码方法。
图5示出根据本发明的估计GOP长度N”。在500,一般以显示顺序示出一个画面序列。第一GOP,GOP(N,M)520在I-画面502开始,下一个GOP580在I-画面510开始。后续GOP在I-画面515开始。
估计GOP长度N”530等于实际GOP长度N。然而,估计GOP长度N”540小于实际GOP长度N两个M距离542和544。特别是,估计GOP长度N”540从I-画面502扩展到P-画面504,M-距离542从P-画面504扩展到P-画面506,以及M-距离544从P-画面506扩展到I-画面510。估计GOP长度N”550从I-画面502扩展到P-画面512,因此大于实际GOP长度。通常,最初应将N”选择为I-和/或P-画面之间的估计距离的倍数。
下面给出不但用于顺序刷新而且用于非顺序刷新的比特分配程序的C-语言伪代码。由图7(a)-7(d)的流程图表示相同的算法。一个单独的比特流在顺序刷新和I-画面(非顺序)刷新模式之间可以任意切换。
  /**下面是变量的简要描述:**N  估计打开的GOP长度(画面)*M  连续B-画面加1的数*N’初始猜测的画面中的GOP长度*M’初始猜测的连续B-画面加1的数*N”更新的估计打开的GOP长度*M”更新的连续B-画面加1的数*R  该GOP中的剩余比特数*n  该GOP中的剩余画面数*ni 该GOP中的剩余I-画面数*np 该GOP中的剩余P-画面数*nb 该GOP中的剩余B-画面数*Xi I-画面的复杂性*Xp P-画面的复杂性*Xb B-画面的复杂性*Ki I-画面的复杂性除法器*Kp P-画面的复杂性除法器*Kb B-画面的复杂性除法器*X  时间变化的复杂性*T  当前画面类型的目标比特数*Pict_type       当前画面类型*Prev_pict_type  以编码顺序的前一个画面类型*Tem_ref         当前画面时间标记*Prev_temp_ref   前一个画面时间标记(编码顺序)*Prog_refresh    如果不处理顺序刷新则为非零
  *GOP_flag      如果GOP标题在当前画面前面则为非零*Seq_hdr_flag  如果序列标题在当前画面前面则为非零*bit_ate()     当前平均输出比特率*Framerate()   使用repea_firs_field的平均显示帧频注意:1)“div”操作表示舍位为零的计算机整除。2)一个GOP在编码顺序中以I-画面开始并扩展到下一个I-画面,与GOP语法是否出现在比特流中无关。当使用顺序刷新时,一个GOP由一个P-画面加下面的连续B-画面的运算组成。*/下面为C-语言程序。FindSequenceHeader();N=N';     //(N'%M′)=0;N is estimated open GOP lengthM=M′;R=0;n=0;prev_pict_type=B_PICTURE;for(;;){/*
  *get_picture_header() parses the video sequence and the optional*GOP layer,and returns the picture type and temporal reference*of the next coded picture.*/pict_type=get_pict_header(&temp_ref,GOP_flag,&seq_hdr_flag);if(seq_hdr_flag)prog_refresh=(pict_type!=I_PICTURE);switch(pict_type){case I_PICTURE:if(prev_pict_type!=B_PICTURE){/**GOP(N=M=1),GOP(N,M=1)or GOP0(N=M).RecalculateM,*start new GOP and correct R for missing B pictures.*/M"=GOP_flag?(temp_ref+1):((temp_ef-prev_temp_ref+1024)&0x3FF);R-=n*bit_rate()/frame_rate();M=M";N=(prev_pict_type=I_PICTURE)?M:(N-n);n=0;}if(prog_refresh)       //End of progressive refreshN=N′;prog_refresh=0;if(n<=0){//GOP length is equal to expected length
        R+=N*bit_rate()/frame_rate();}else{       //GOP length is shorter than expectedN-=n;N=(N div M)*M;R+=(N-n)*bit_rate()/frame_rate();}n=N;ni=1;np=N/M-1;nb=N-ni-np;X=Xi/Ki;prev_temp_ref=temp_ref;break;case P_PICTURE:if(prev_pict_type !=B_PICTURE){/**GOP(M=1)or GOP0(M)       [progressiverefresh]*GOP(N,M=1)or GOP0(N,M)[non-progressiverefresh]*/M"=(temp_ref-prev_temp_ref+1024)&0x3FF;R-=(M-1)*bit_rate()/frame_rate();nb-=M-1;n-=M-1;if((M"!=M)&&!prog_refresh){
               N"=(N div M")*M";//open,not actual,GOPlengthn+=(N"-N)-(M"-M);R+=((N"-N)-(M"-M))*bit_rate()/frame_rate();np=n div M";nb=n-np;N=N";}M=M";}if(n<=0){/**End of GOP in progressive refresh mode or GOP is*longer than expected innon-progressive refreshmode.*/N+=M;R+=M*bit_rate()/frame_rate();n=M;ni=0;np=1;nb=M-1;}X=Xp/Kp;prev_temp_ref=temp_ref;break;
  caseB_PICTURE:if(prev_pict_type!=B_PICTURE){/**GOP(N=M),GOP(N,M),GOP0(N,M)[non-progressiverefresh]*GOP(M)[progressive refresh]*/M"=(prev_temp_ref-temp_ref+1025)&0x3FF;if(M"!=M){if(prog_refresh){nb+=M"-M;R+=(M"-M)*bit_rate()/frame_rate();}else{N"=(N div M")*M";n+=N"-N;R+=(N"-N)*bit_rate()/frame_rate();np=(n+1)div M"-1;nb=n-np;N=N";}M=M";}}X=Xb/Kb;break;}
  /**Calculate the target bit rate*/T=X*R/(ni*Xi/Ki+np*Xp/Kp+nb*Xb/Kb);switch(pict_type){         //Decrement pic count for each picture typecase I_PICTURE:ni--;break;case P_PICTURE:np--;break;case B_PICTURE:nb--;break;}n=n-1;                   //Number ofpictures left in GOPprev_pict_type=pict_type;/**transcode_picture()does the actual transcoding which maintains*in original picture type(I,P or B).This function retums*the actual size of the transcoded picture in bits.This func-*tion updates the complexity(Xi,Xp,Xb)for each picture type.*/R-=transcode_picture(pict_type,T);}
在图7(a)-7(d)中的流程图700表示该伪代码。注意,与用于其他地方相同,ni,np和nb分别与nI,nP和nB相同。
方框702表示搜索视频序列标题以便得到开始代码转换的必要参数。在这里进行用于代码转换的循环的初始化。
方框704调用使用画面标题和所有较高级语法的“get_pict_header()”。返回画面类型(I,P或B画面)。如果遇到一个GOP标题则“GOP_flag”为真(非零);如果在当前编码画面之前和前一个编码画面之后出现一个视频序列标题。则“seq_hdr_flag”为真(非零)。
方框706测试“seq_hdr_flag”。如果为真,如果在方框708当前画面不是I-画面,则将“prog_refresh”设定为1(真)。
方框710根据画面类型切换状态。尽管在代码或流程图中未示出,在该算法与I-画面一样处理MPEG-2D-画面。
如果前一个画面类型不是B-画面(方框712),则从时间标记确定新的M值。如果GOP被缩短,从“R”删除由于所要求的GOP长度所造成的剩余比特并且设定“M”,“N”,“n”的新值(方框714)。“R”是剩余的目标比特数(不是实际的比特数)以编码剩余的GOP。如果实际的GOP尺寸不同,则比特差值(正或负)保留在“R”并影响下一个GOP的目标尺寸。这就形成一个反馈环以将平均GOP尺寸变为“N*bit_rate()/frame_rate()”。
函数“bit_rate”返回当前目标代码转换器输出比特率,从信道容量或统计多路复用考虑该比特率可能变化。函数“frame_rate()”是平均代码帧频,该帧频是由各种代码画面中的repeat_first_field标记所进行的修改的视频序列标题规定的。“bit_rate()/frame_rate()”的量表示所要求由代码转换器输出的当前平均编码画面尺寸(比特)。它是一个平均值,因为未考虑不同的MPEG画面类型。这样对于一个GOP的目标比特数,“N*bit_rate()/frame_rate()”,是平均画面尺寸的N(画面的GOP长度)倍。
如果以顺序刷新模式操作代码转换器,该模式是不可能的,因为当前画面是I-画面并且将N设定为初始猜测的GOP长度(方框716和718)。
如果720的条件为真,则修正值“N”已被使用。在这种情况下,使用一个新的GOP长度N所必须的比特数更新R(方框722)。如果720的条件为假,则前一个估计的“N”为错误的(GOP小于所要求的)并由此更新N和R(方框724)。
方框726根据GOP类型,GOP(n)中的画面数,将画面类型重新设定到计数器(“ni”,“np”,“nb”),计算标准的I-画面复杂性(X)并更新前一个画面类型。
方框728为切换状态下的P-画面的开始。如果前一个画面不是B-画面(方框730),则从时间标记计算一个新的M值(M”)。两个10-比特时间标记数之间的差值为负,产生绕回;这就是增加1024的原因。当未产生绕回时,表示二进制数1111111111的十六进制数的0X3FF移位210比特,产生正差值;否则增加1024使得负差值为正并且比特-法则与操作不修改该结果。由于前一个画面不是B-画面,可以要求潜在的修正到“n”(GOP中剩余的画面数),“nb”(GOP中剩余的B-画面数)和“R”(为GOP中剩余画面分配的比特数)。
如果M已改变并且代码转换器不处于顺序刷新模式(方框732)。则在方框734进行修正到“N”,“n”,“np”,“nb”和“R”。
方框736更新M(在M”中前一次计算的)。
如果已到达GOP的结尾,(n小于或等于零-方框738),则GOP实际上比希望的长。在这种情况下,在方框740更新值“N”,“R”,“n”,“ni”“np”和“nb”以反映增加的M画面GOP长度(一个P-画面和M-1个B-画面)。
方框742计算标准的P-画面复杂性,“X”,和将“prev_temp_ref”重新设定为当前的时间标记。
对于B-画面,其中前一个画面不是B-画面(方框744中的条件),从时间标记的差值计算M的新值(看方框746)。该计算就提供了可以绕回10-比特时间标记的可能性(因此,+1024和屏蔽到10比特)。
如果M值已改变(方框748中的测试条件),则根据“prog_refresh”必须更新状态变量(方框750)。在顺序刷新情况下,必须修改“nb”和“R”。如果I-画面被顺序刷新,则“N”,“np”,“nb”,“n”和“R”都需要改变(方框754)。
在方框758计算B-画面的新的标准复杂性。
在切换状态之后,在方框760计算下一个画面的目标尺寸,“T”。当被代码转换到新的比特率时该数字为当前画面的要求尺寸。由“transcode pictyre()”返回的实际尺寸用于减少R(看方框770)。在计算“T”之后,在GOP中的保留的画面数为“n”,并且必须减少当前类型的画面数(“ni”“即”或“nb”)(看方框762到768)。
3.目标比特的差值
使用不同的GOP参数组确定的画面的目标比特率可以不同(看公式5和6)。我们现在分析在修正和不修正起始GOP结构的情况下目标比率的差值。为使分析简化起见,我们假定:
1.代码转换器可以满足每个画面的目标比率。这就暗示在GOP结尾的剩余比特数等于零,并且一个N个画面的GOP被准确分配
RGOP,N=N·(bit_rate/frame_rate)比特。
2.在一个GOP之内,所有相同类型的画面具有相同的复杂性量度。
3.我们具有一个修正的M值。事实上,我们可以刚好在读取第二画面的标题之后具有一个修正的M。
注意到,上面的假定仅用于简化分析,对于真实的代码转换器可能不会是100%正确。例如,一个代码转换器可能不会100%地满足一帧的目标比率,因此,在一个GOP的结尾,剩余比特数R可能不是零。
使用给出的条件1和2,可以得出公式(5)和(6)是一样的,即,GOP内的所有相同类型的画面被指定相同的比特数。在分析目标比率的差值时我们使用公式(5)。假定使用如下:
N,M-->NI,NP,NB的一组GOP参数编码预压缩比特流。
为进行比较,我们开始具有两个不同GOP结构的预压缩比特流的代码转换,一个具有修正GOP结构(I),第二个具有未修正GOP结构(II),它们表示如下:
起始GOP(I):         N,M-->NI,NP,NB
起始GOP(II):        N’,M’-->NI,NP,NB
让Tn和T’n分别为具有GOP(I)和GOP(II)的帧n的目标比率。两个目标比率之间的差值为:
&Delta; = T n - T &prime; n = ( 1 - T &prime; n T n ) &CenterDot; T n - - - ( 24 a )
= ( 1 - X n , t K n , t N &prime; I X I K I + N &prime; P X P K P + N &prime; B X B K B &CenterDot; R GOP , N &divide; X n , t K n , t N I X I K I + N P X P K P + N B X B K B R GOP , N ) &CenterDot; T n - - - ( 24 b )
= ( 1 - N I X I K I + N P X P K P + N B X B K B N &prime; I X I K I + N &prime; P X P K P + N &prime; B X B K B &CenterDot; N &prime; N ) T n - - - ( 24 c )
= ( N N &prime; I - N &prime; N I ) X I K I + ( N N &prime; P - N &prime; N P ) X P K P + ( N N &prime; B - N &prime; N B ) X B K B ( N &prime; I X I K I + N &prime; P X P K P + N &prime; B X B K B ) &CenterDot; 1 N &CenterDot; T n - - - ( 24 d )
为更好地理解目标比特率的差值,让我们检查两个数字实例。在第一个实例,我们假定起始GOP(II)小于实际的GOP,即,
N=15  M=3-->NI=1  NP=4  NB=10
N’=12  M’=3-->N’I=1  N’P=3  N’B=8
如果我们设定KI=KP=1和KB=1.4,并使用如MPEG TM5所述的复杂性量度,即,
XI=160·bit_rate/frame_rate
XP=60·bit_rate/frame_rate              (25)
XB=40·bit_rate/frame_rate
则两个目标比率之间的差值如下:
&Delta; = T n - T &prime; n = ( 15 - 12 ) X I + ( 15.3 - 12.4 ) X P + ( 15.8 - 12.10 ) X B / 1.4 ( X I + 3 X P + 8 X B / 1.4 ) &CenterDot; 1 15 &CenterDot; T n
= 3.5 % &CenterDot; T - - - ( 26 )
这里,通过使用本发明的比率控制系统在预先了解GOP结构情况下的目标比率比预先不了解GOP结构情况下的目标比率高3.5%。较短的GOP导致所有三种类型的画面的较小目标比率。
在第二个数字实例,起始GOP(II)具有大于实际GOP的长度,即,
N=15  M=3-->NI=1  NP=4  NB=10
N’=18  M’=3-->N’I=1  N’P=5  N’B=12
则目标比率之间的差值如下:
&Delta; = T n - T &prime; n = ( 15 - 18 ) X I + ( 15.5 - 18.4 ) X P + ( 15.12 - 18.10 ) X B / 1.4 ( X I + 5 X P + 12 X B / 1.4 ) &CenterDot; 1 15 &CenterDot; T n
= - 1.7 % - - - ( 27 )
这里,通过使用本发明的比率控制系统在预先了解GOP结构情况下的目标比率比预先不了解GOP结构情况下的目标比率小1.7%。较长的GOP导致较多的比特指定给所有三种类型的画面。
根据起始GOP小于还是大于实际GOP长度,保留目标比特率中的差值直到起始GOP或者实际GOP的结尾为止。
如果起始GOP比实际GOP短(即,N’<N),在起始GOP的结尾,我们通过附加比特RGOP,M将N’画面的GOP扩展M个画面。因此,剩余比特数等于
R = R + R GOP , M = M &CenterDot; bit _ rate frame _ rate - - - ( 28 )
注意到,我们在N’画面的起始GOP的结尾具有假定的R=0。附加的M个画面实际上形成另一个N=M的GOP,该GOP具有N’I=0,N’P=1以及N’B=M-1,和M·(bit_rate/frame_rate)比特的比特预算。或者为P或B型的M个附加画面的目标比率中的差值简化为:
&Delta; = T n - T &prime; n = ( - M N I ) X I K I + ( N - M N P ) X P K P + ( N N &prime; B - M N B ) X B K B ( X P K P + N &prime; B X B K B ) &CenterDot; 1 N &CenterDot; T n - - - ( 29 )
对于第一数字实例,目标比特中的差值为:
&Delta; = T n - T &prime; n = ( - 3 ) X I + ( 15 - 3.4 ) X P + ( 15.2 - 3.10 ) X B / 1.4 ( X P + 2 X B / 1.4 ) &CenterDot; 1 15 &CenterDot; T n = 17.0 % &CenterDot; T n - - - ( 30 )
这里,通过本发明的比率控制系统预先了解GOP结构情况下的目标比率比预先不了解GOP结构情况下的目标比率高17.0%。相对较多的比特指定给扩展GOP的画面,这是因为相对较少的比特指定给前一个画面。如果M个画面的扩展GOP还未结束N个画面的实际GOP,我们重复上面程序直到到达实际GOP的结尾为止。M个画面的扩展GOPs中的画面的目标比率的差值将保持相同,这是因为所有的M个画面的扩展GOPs具有相同模式的画面组织和相同的比特预算。
在N个画面的第一实际GOP的结尾以及在M个画面的最后扩展GOP的结尾,我们具有关于具有保留比特数R=0的实际GOP结构的完整信息。因此,从第二GOP,在目标比特将不存在差值。在预先了解GOP结构和预先不了解GOP结构情况下通过本发明的比率控制系统来自第二实际GOP的目标比率相同。
另一方面,如果假定起始GOP长度大于实际的GOP长度(即,N’>N),在实际的GOP结尾,我们具有关于实际GOP结构的完整信息,但是剩余比特数R≠0。即,将存在某些剩余比特以在第二(实际)GOP分配。因此,代替简单给出到第二(实际)GOP的RGOP,N比特,我们必须将R调整为R=2 RGOP,N-(RGOP,N’-R)(看公式23)。具有修正和未修正的起始GOP结构的目标比特率在第二(实际)GOP内仍未相同。第二(实际)GOP内的目标比率的差值为
Δ=Tn-T′n                         (31a)
= X n , t K n , t N I X I K I X I + N P X P K P + N B X B K B ( R GOP , N - ( 2 R GOP , N - ( R GOP , N - R ) ) ) - - - ( 31 b )
= X n , t K n . t N I X I K I X I + N P X P K P + N B X B K B ( - R GOP , N + ( R GOP , N &prime; - R ) ) - - - ( 31 c )
这里,RGOP,N’-R是为第一N个画面指定的比特数,它等于:
R GOP , N &prime; - R = N I X I K I + N P X P K P + N B X B K B N &prime; I X I K I + N &prime; P X P K P + N &prime; B X B K B R GOP , N &prime; - - - ( 32 )
因此,目标比率中的差值成为:
&Delta; = X n , t K n , t N I X I K I + N P X P K P + N B X B K B ( - R GOP , N + N I X I K I + N P X P K P + N B X B K B N &prime; I X I K I + N &prime; P X P K P + N &prime; B X B K B R GOP , N &prime; ) - - - ( 33 a )
= - ( N N &prime; I - N &prime; N I ) X I K I + ( N N &prime; P - N &prime; N P ) X P K P + ( N N &prime; B - N &prime; N B ) X B K B ( N &prime; I X I K I + N &prime; P X P K P + N &prime; P X P K P + N &prime; B X B K B ) &CenterDot; 1 N &CenterDot; T n - - - ( 33 b )
通过比较公式(24)和(33),我们应看出第一和第二实际GOP中的目标比率的差值具有相同的绝对值,但是符号相反。事实上,一个较长的起始GOP使用较多比特用于第一实际GOP,由此剩余较少的比特用于第二实际GOP。对于第二数字实例,第二实际GOP中的画面的目标比率的差值为:
Δ=Tn-T′n=1.7%·Tn                 (34)
在第二实际GOP的结尾,剩余比特数R=0。第三实际GOP被指定RGOP,N比特。从第三实际GOP,在目标比率将不存在差值。
分析关于两个数字实例的帧数的目标比率。具有修正的起始GOP(N=15,M=3)的目标比率作为比较的基准。获得起始GOP(N=12,M=3)的比较数据,以及起始GOP(N=18,M=3)的比较数据。鉴定所有相同类型的画面是否被指定相同的比特数。进一步,如果起始GOP比实际GOP短,则较少的比特被指定给起始GOP的结尾前面的画面,并且较多的比特指定给M个画面的扩展GOP的画面。从第二实际GOP开始在目标比率不存在差值。
另一方面,如果起始GOP比实际GOP长,则略多些的比特被指定给第一实际GOP的画面,并且较少的比特指定给第二实际GOP的画面。从第三实际GOP开始,目标比率相同。
4.仿真结果
在评价本发明的比率控制系统时仿真非常有用。在15Mbit/sec的比特率首先编码测试序列。通过不同的GOP参数组,如表I所示。压缩比特流接着被代码转换为具有N=15和M=3的起始GOP的新比率3Mbit/sec。
  GOP1   GOP2   GOP3
  NM   303   122   81
对于修正的起始GOP参数组,以及N=15和M=3起始GOP,分析目标比率。注意到,实际上,代码转换器(或编码器)可能不满足每帧的目标比率。因此,在每个GOP结尾的剩余比特数,R,将不为零。非零的R将通过下一个GOP(看公式8)。这就暗示GOPs可以被给予稍稍不同的比特数。可以看到与一个修正的起始GOP相比,一个较长的起始GOP指定较多比特用于第一GOP的画面。因此,剩余较少比特用于第二GOP的画面。具有修正和未修正GOP的目标比率在第三GOP开始会聚。另一方面,一个较短的起始GOP导致较小目标比率用于较少的第一画面,而较多比特用于第一GOP中的剩余画面。从第二GOP开始目标比率开始接近。
为证明在测试条件变化的情况下比特率分配系统的有效性,使用各种GOP长度,例如,N=15,12,12,18,18,15,15,9,9,30,来编码一个序列。通过使用前一个GOP结构长度作为每个GOP的起始GOP长度对于修正GOP长度在每个GOP分析目标比率。通过这种应力测试结果接近。
图6示出根据本发明的比率控制系统。提供预压缩比特流,例如,节目1和节目2,给相应的代码转换器620和630。可能出现一个或几个比特流或代码转换器。在代码转换器可以从一个远程源例如经卫星广播,或者例如,可以从一个局部存储介质接收比特流。
代码转换器620,630根据由比率控制处理器605提供的目标比特率信号,一般使用不同的量化参数,部分去压缩相应的比特流,并且以不同的数据比率编码部分去压缩数据。
比率控制处理器605从代码转换器接收信息,信息包括当前画面的画面类型,和用于编码当前画面的量化参数。如本文所述处理该信息以设定目标比特率。比率控制处理器605可以包括公知的处理电路,例如一个中央处理单元(CPU)612,和一个存储器614。存储器614可以是存储,例如提供前面讨论的初始距离M’和N’的数据的非易失性存储器。比率控制处理器包括用于执行C-语言,例如,前面讨论的伪代码的计算电路。
一个用户接口608可以与比率控制处理器605通信以设定系统设定距离M’和N’或其他比率控制处理中的相关参数。
来自代码转换器620,630的代码转换数据提供给多路复用器(MUX)660,接着到达一个编码器缓冲器670。缓冲器占满信号从编码器缓冲器670提供给比率控制处理器605。编码数据最终经一个信道在其新的代码转换数据比率被发送。
5.结论
已经提出一种适用于,例如一个符合MPEG标准的数字视频代码转换器的新颖的比率控制系统。所提出的比率控制系统不产生处理延迟并且不要求额外的存储器。可以以任何合理的GOP参数组开始,接着当必须编码连续画面时,逐渐修正它们。因此,例如,当切换信道,插入商业广告,以及类似处理时,能够找到预压缩比特流的GOP结构中的变化。已经示出具有修正和未修正起始GOP参数的目标比率将会聚在一个或两个GOPs。目标比率中的差值处于一个相当小的界限内。进一步,类似的目标比率对应于一个类似的PSNR或画面质量。
尽管结合各个具体的实施例已描述了本发明,本领域的技术人员可以认识到,在不脱离后面权利要求书所设定的本发明的精神和范围的情况下,可以对其作出各种修改和变型。

Claims (76)

1、一种分配用于编码在数字视频代码转换器接收的比特流中的画面的比特的方法,包括步骤:
(a)在所述比特流的第一画面和所述比特流的以所述比特流的显示顺序的下一个最接近的后续P-画面之间提供一个假定的距离M’;
(b)提供一个假定的比特预算R作为所述假定距离M’的函数;
(c)根据所述的假定比特预算R编码所述第一画面;
(d)确定以所述比特流的编码顺序立即跟随所述比特流中的所述第一画面的第二画面的画面类型;
(e)根据所述第二画面的所述画面类型调整所述假定比特预算R;和
(f)根据所述调整比特预算分配用于编码所述第二画面的比特。
2、如权利要求1所述的方法,其中:
所述假定比特预算R与所述假定距离和所述比特流的比特率成正比,与所述比特流的帧频成反比。
3、如权利要求1或2所述方法,其中:
所述比特流中的所述画面形成一个顺序刷新序列。
4、如权利要求1或2所述方法,其中
所述第一画面是一个P-画面,所述第二画面是一个B-画面,包括进一步的步骤:
根据所述第二画面的所述画面类型,确定所述第一画面和以所述显示顺序的所述下一个最接近的后续P-画面之间的实际距离M”。
5、如权利要求4所述方法,其中:
根据按所述显示顺序的所述第二画面的时间标记和按所述显示顺序的所述第一画面的时间标记之间的差值加上一个画面确定所述实际距离M”。
6、如权利要求4所述方法,包括进一步的步骤:
用于根据所述调整的比特预算编码跟随所述第一画面的剩余M”-1画面的比特。
7、如权利要求4所述方法,其中:
所述调整步骤(e)包括通过公式R=R+(M”-M’)*“比特率”/“帧频”调整所述假定比特预算R,其中“比特率”是所述比特流的比特率,以及”帧频”是所述比特流的帧频。
8、如权利要求1所述的方法,其中所述第一和第二画面是P-画面,包括进一步的步骤:
根据所述第二画面的所述画面类型,确定所述第一画面和以所述显示顺序的所述下一个最接近的后续P-画面之间的实际距离M”。
9、如权利要求8所述方法,其中:
根据以所述显示顺序的所述第二画面的时间标记,和以所述显示顺序的所述第一画面的时间标记之间的差值确定所述实际距离M”。
10、如权利要求8或9所述方法,其中所述调整步骤(e)包括步骤:
通过公式R=R-(M’-1)*“比特率”/“帧频”调整所述假定比特预算R,其中“比特率”是所述比特流的比特率,以及“帧频”是所述比特流的帧频。
11、如权利要求8或9所述方法,包括进一步的步骤:
根据所述调整比特预算分配用于编码跟随所述第一画面的剩余M”-1个画面的比特。
12、如权利要求1、2、8或9中任一项所述方法,包括进一步的步骤:
根据所述调整比特预算分配用于编码跟随所述比特流中的包括所述第一和第二画面的初始M”的一组M”画面的比特。
13、一种分配用于编码在数字视频代码转换器接收的比特流中的画面的比特的方法,包括步骤:
(a)提供所述比特流的特定画面组的假定长度N’;
(b)提供一个假定的比特预算R作为所述假定长度N’的函数;
(c)根据所述的假定比特预算R分配用于编码所述特定画面组中的第一画面的比特;
(d)确定立即跟随所述第一画面的第二画面的画面类型;
(e)根据所述第二画面的所述画面类型调整所述假定比特预算R;和
(f)根据所述调整比特预算分配用于编码所述第二画面的比特。
14、如权利要求13所述的方法,其中:
所述假定比特预算R与所述假定长度N’和所述比特流的比特率成正比,与所述比特流的帧频成反比。
15、如权利要求13或14所述方法,其中所述第一和第二画面是I-画面,包括进一步的步骤:
根据所述第二画面的画面类型,确定所述第一画面和所述比特流的下一个最接近的后续I-画面之间的实际距离M”;和
根据所述实际距离M”调整所述假定比特预算R。
16、如权利要求15所述方法,其中:
根据以所述比特流的显示顺序的所述第二画面的时间标记,和以所述显示顺序的所述第一画面的时间标记之间的差值确定所述实际距离M”。
17、如权利要求13或14所述方法,其中所述调整步骤(e)包括步骤:
通过公式R=R-(N’-1)*“比特率”/“帧频”调整所述假定比特预算R,其中“比特率”是所述比特流的比特率,以及“帧频”是所述比特流的帧频。
18、如权利要求13或14所述的方法,包括进一步的步骤:
根据所述调整比特预算分配用于编码跟随所述第二画面的所述特定画面组中的剩余画面的比特。
19、如权利要求13或14所述方法,包括进一步的步骤:
提供所述第一画面和以所述比特流的显示顺序的所述比特流的下一个最接近的后续P-画面之间的假定距离M’;
其中根据所述假定距离M’分配所述比特用于编码所述步骤(c)中的所述第一画面。
20、如权利要求19所述方法,其中所述第一画面是一个I-画面,所述第二画面是一个P-画面,包括进一步的步骤:
根据所述第二画面的所述画面类型,确定所述第一画面和以所述显示顺序的下一个最接近的后续P-画面之间的实际距离M”;和
根据所述实际距离M”调整所述画面组的所述假定长度N’以提供一个调整的假定长度N”;其中
所述调整步骤(e)响应于所述调整的假定长度N’。
21、如权利要求20所述方法,其中:
在所述调整步骤通过一个系数,M(N’/M’)调整所述特定画面组的假定长度N’,以提供所述调整的假定长度N”,这里M=M”。
22、如权利要求20所述方法,其中所述调整步骤(e)包括步骤:
通过一个因数(N”-N’)*“比特率”/“帧频”调整所述假定比特预算R,这里“比特率”为所述比特流的比特率,“帧频”为所述比特流的帧频。
23、如权利要求20所述方法,其中所述调整步骤(e)包括进一步的步骤:
通过一个因数,(M-1)*“比特率”/“帧频”调整所述假定比特预算R,这里“比特率”为所述比特流的比特率,“帧频”为所述比特流的帧频。
24、如权利要求20所述方法,包括进一步的步骤:
根据所述调整比特预算分配用于编码跟随所述第二画面的所述特定画面组中的剩余画面的比特。
25、如权利要求20所述方法,包括进一步的步骤:
在编码所述特定画面组中的N”画面之后,确定是否N”>N:其中N是一个所述特定画面组的实际长度;并且,如果N”>N:
根据N和N’进一步调整所述调整比特预算;和
根据所述进一步调整比特预算分配用于编码跟随N”个编码画面的所述比特流中的画面的比特。
26、如权利要求20所述方法,包括进一步的步骤:
在编码所述特定画面组中的N”画面之后,确定是否N”<N,其中N是一个所述特定画面组的实际长度;并且,如果N”<N:
根据M=M’进一步调整所述调整比特预算;和
根据所述进一步调整比特预算分配用于编码跟随N”个编码画面的所述比特流中的画面的比特。
27、如权利要求13所述方法,其中所述第一画面是一个I-画面,所述第二画面是一个B-画面,包括进一步的步骤:
提供所述第一画面和以所述比特流的显示顺序的所述比特流的下一个最接近的后续P-画面之间的假定距离M”;
其中根据所述假定距离M’分配所述比特用于编码所述第二画面。
28、如权利要求27所述方法,包括进一步的步骤:
根据所述第二画面的所述画面类型,确定所述第一画面和以所述显示顺序的下一个最接近的后续P-画面之间的实际距离M”;和
根据所述实际距离M=M”调整所述画面组的所述假定长度N’以提供一个调整的假定长度N”;其中
所述调整步骤(e)响应于所述调整的假定长度N’。
29、如权利要求28所述方法,其中:
在所述调整步骤通过一个系数,M(N’/M’)调整所述特定画面组的所述假定长度N’,以提供所述调整的假定长度N”。
30、如权利要求28或29所述方法,其中所述调整步骤(e)包括步骤:
通过一个因数(N”-N’)*“比特率”/“帧频”调整所述假定比特预算R,这里“比特率”为所述比特流的比特率,“帧频”为所述比特流的帧频。
31、如权利要求28或29所述方法,包括进一步的步骤:
根据所述调整比特预算分配用于编码跟随所述第二画面的所述特定画面组中的剩余画面的比特。
32、如权利要求28或29所述方法,包括进一步的步骤:
在编码所述特定画面组中的N”画面之后,确定是否N”>N,其中N是一个所述特定画面组的实际长度;并且,如果N”>N:
根据N和N’进一步调整所述调整比特预算;和
根据所述进一步调整比特预算分配用于编码跟随N”个编码画面的所述比特流中的画面的比特。
33、如权利要求28或29所述方法,包括进一步的步骤:
在编码所述特定画面组中的N”画面之后,确定是否N”<N,其中N是一个所述特定画面组的实际长度;并且,如果N”<N:
根据M=M’进一步调整所述调整比特预算;和
根据所述进一步调整比特预算分配用于编码跟随N”个编码画面的所述比特流中的画面的比特。
34、如权利要求13、14、27、28或29中任一项所述方法,包括进一步的步骤:
根据所述调整比特预算分配用于编码跟随所述特定画面组的画面组的比特。
35、如权利要求13、14、27、28或29中任一项所述方法,包括进一步的步骤:
通过确定以所述比特流的显示顺序跟随所述特定画面组中的所述第一画面的I-画面或P-画面之间的实际距离M”计数所述特定画面组中的I-画面和/或P-画面与所述特定画面组中后续I画面或P画面之间的实际距离M”中的变化;和
根据所述实际距离M”调整所述假定比特预算R。
36、一种分配用于编码在数字视频代码转换器接收的比特流中的画面的比特的装置,包括:
(a)在所述比特流的第一画面和所述比特流的以所述比特流的显示顺序的下一个最接近的后续P-画面之间提供一个假定的距离M’的装置
(b)提供一个假定的比特预算R作为所述假定距离M’的函数的装置:
(c)根据所述的假定比特预算R编码所述第一画面的装置;
(d)确定以所述比特流的编码顺序立即跟随所述比特流中的所述第一画面的第二画面的画面类型的装置;
(e)根据所述第二画面的所述画面类型调整所述假定比特预算R的装置;和
(f)根据所述调整比特预算分配用于编码所述第二画面的比特的装置。
37、如权利要求36所述的装置,其中:
所述假定比特预算R与所述假定距离和所述比特流的比特率成正比,与所述比特流的帧频成反比。
38、如权利要求36或37所述装置,其中:
所述比特流中的所述画面形成一个顺序刷新序列。
39、如权利要求36或37所述装置,其中
所述第一画面是一个P-画面,所述第二画面是一个B-画面,进一步包括:
用于根据所述第二画面的所述画面类型,确定所述第一画面和以所述显示顺序的所述下一个最接近的后续P-画面之间的实际距离M”的装置。
40、如权利要求39所述装置,其中:
根据按所述显示顺序的所述第二画面的时间标记和按所述显示顺序的所述第一画面的时间标记之间的差值加上一个画面确定所述实际距离M”。
41、如权利要求39所述装置,进一步包括:
用于根据所述调整的比特预算分配用于编码跟随所述第一画面的剩余M”-I画面的比特的装置。
42、如权利要求39所述装置,其中:
所述调整步骤(e)包括用于通过公式R=R+(M”-M’)*“比特率”/“帧频”调整所述假定比特预算R的装置,其中“比特率”是所述比特流的比特率,以及“帧频”是所述比特流的帧频。
43、如权利要求36或37所述的装置,其中所述第一和第二画面是P-画面,进一步包括:
用于根据所述第二画面的所述画面类型,确定所述第一画面和以所述显示顺序的所述下一个最接近的后续P-画面之间的实际距离M”的装置。
44、如权利要求43所述装置,其中:
根据以所述显示顺序的所述第二画面的时间标记,和以所述显示顺序的所述第一画面的时间标记之间的差值确定所述实际距离M”。
45、如权利要求43所述装置,其中所述调整装置(e)包括:
用于通过公式R=R-(M’-1)*“比特率”/“帧频”调整所述假定比特预算R的装置,其中“比特率”是所述比特流的比特率,以及“帧频”是所述比特流的帧频。
46、如权利要求43所述装置,进一步包括:
用于根据所述调整比特预算分配用于编码跟随所述第一画面的剩余M”-1个画面的比特的装置。
47、如权利要求36或37所述装置,进一步包括:
用于根据所述调整比特预算分配用于编码跟随所述比特流中的包括所述第一和第二画面的初始M”的一组M”画面的比特的装置。
48、一种分配用于编码在数字视频代码转换器接收的比特流中的画面的比特的装置,包括:
(a)提供所述比特流的特定画面组的假定距离N’的装置;
(b)提供一个假定的比特预算R作为所述假定长度N’的函数的装置;
(c)根据所述的假定比特预算R分配用于编码所述特定画面组中的第一画面的比特的装置;
(d)用于确定立即跟随所述第一画面的第二画面的画面类型的装置;
(e)用于根据所述第二画面的所述画面类型调整所述假定比特预算R的装置;和
(f)用于根据所述调整比特预算分配用于编码所述第二画面的比特的装置。
49、如权利要求48所述的装置,其中:
所述假定比特预算R与所述假定长度N’和所述比特流的比特率成正比,与所述比特流的帧频成反比。
50、如权利要求48或49所述装置,其中所述第一和第二画面是I-画面,进一步包括:
用于根据所述第二画面的画面类型,确定所述第一画面和所述比特流的下一个最接近的后续I-画面之间的实际距离M”的装置;和用于根据所述实际距离M”调整所述假定比特预算R的装置。
51、如权利要求50所述装置,其中:
根据以所述比特流的显示顺序的所述第二画面的时间标记,和以所述显示顺序的所述第一画面的时间标记之间的差值确定所述实际距离M”。
52、如权利要求48或49所述装置,其中所述调整装置(e)包括:
用于通过公式R=R-(N’-1)*“比特率”/“帧频”调整所述假定比特预算R的装置,其中“比特率”是所述比特流的比特率,以及“帧频”是所述比特流的帧频。
53、如权利要求48或49所述的装置,进一步包括:
用于根据所述调整比特预算分配用于编码跟随所述第二画面的所述特定画面组中的剩余画面的比特的装置。
54、如权利要求48或49所述装置,进一步包括:
用于提供所述第一画面和以所述比特流的显示顺序的所述比特流的下一个最接近的后续P-画面之间的假定距离M’的装置;
其中根据所述假定距离M’分配所述比特用于编码所述编码装置(c)中的所述第一画面。
55、如权利要求54所述装置,其中所述第一画面是一个I-画面,所述第二画面是一个P-画面,进一步包括:
用于根据所述第二画面的所述画面类型,确定所述第一画面和以所述显示顺序的下一个最接近的后续P-画面之间的实际距离M”的装置;和
用于根据所述实际距离M”调整所述画面组的所述假定长度N’以提供一个调整的假定长度N”的装置;其中
所述调整装置(e)响应于所述调整的假定长度N’。
56、如权利要求55所述装置,其中:
在所述调整装置通过一个系数,M(N’/M’)调整所述特定画面组的假定长度N’,以提供所述调整的假定长度N”,这里M=M”。
57、如权利要求55所述装置,其中所述调整装置(e)包括:
用于通过一个因数(N”-N’)*“比特率”/“帧频”调整所述假定比特预算R的装置,这里“比特率”为所述比特流的比特率,“帧频”为所述比特流的帧频。
58、如权利要求57所述装置,其中所述调整装置(e)包括:
用于通过一个因数,(M-1)*“比特率”/“帧频”调整所述假定比特预算R的装置,这里“比特率”为所述比特流的比特率,“帧频”为所述比特流的帧频。
59、如权利要求55所述装置,进一步包括:
用于根据所述调整比特预算分配用于编码跟髓所述第二画面的所述特定画面组中的剩余画面的比特的装置。
60、如权利要求55所述装置,进一步包括:
在编码所述特定画面组中的N”画面之后,用于确定是否N”>N的装置,其中N是一个所述特定画面组的实际长度;
如果N”>N,用于根据N和N’进一步调整所述调整比特预算的装置;和
如果N”>N,用于根据所述进一步调整比特预算分配用于编码跟随N”个编码画面的所述比特流中的画面的比特的装置。
61、如权利要求55所述装置,进一步包括:
在编码所述特定画面组中的N”画面之后,用于确定是否N”<N的装置,其中N是一个所述特定画面组的实际长度;
如果N”<N,用于根据M=M’进一步调整所述调整比特预算的装置;和
如果N”<N,用于根据所述进一步调整比特预算分配用于编码跟随N”个编码画面的所述比特流中的画面的比特的装置。
62、如权利要求48所述装置,其中所述第一画面是一个I-画面,所述第二画面是一个B-画面,进一步包括:
用于提供所述第一画面和以所述比特流的显示顺序的所述比特流的下一个最接近的后续P-画面之间的假定距离M”的装置;
其中根据所述假定距离M’分配所述比特用于编码所述第二画面。
63、如权利要求62所述装置,进一步包括:
用于根据所述第二画面的所述画面类型,确定所述第一画面和以所述显示顺序的下一个最接近的后续P-画面之间的实际距离M”的装置;和
用于根据所述实际距离M=M”调整所述画面组的所述假定长度N’以提供一个调整的假定长度N”的装置;其中
所述调整装置(e)响应于所述调整的假定长度N’。
64、如权利要求63所述装置,其中:
在所述调整装置通过一个系数,M(N’/M’)调整所述特定画面组的所述假定长度N’,以提供所述调整的假定长度N”。
65、如权利要求63或64所述装置,其中所述调整装置(e)包括:
用于通过一个因数(N”-N’)*“比特率”/“帧频”调整所述假定比特预算R的装置,这里“比特率”为所述比特流的比特率,“帧频”为所述比特流的帧频。
66、如权利要求63或64所述装置,进一步包括:
用于根据所述调整比特预算分配用于编码跟随所述第二画面的所述特定画面组中的剩余画面的比特的装置。
67、如权利要求63或64所述装置,进一步包括:
在编码所述特定画面组中的N”画面之后,用于确定是否N”>N的装置,其中N是一个所述特定画面组的实际长度;
如果N”>N,用于根据N和N’进一步调整所述调整比特预算的装置;和
如果N”>N,用于根据所述进一步调整比特预算分配用于编码跟随N”个编码画面的所述比特流中的画面的比特的装置。
68、如权利要求63或64所述装置,进一步包括:
在编码所述特定画面组中的N”画面之后,用于确定是否N”<N的装置,其中N是一个所述特定画面组的实际长度;
如果N”<N,用于根据M=M’进一步调整所述调整比特预算的装置;和
如果N”<N,用于根据所述进一步调整比特预算分配用于编码跟随N”个编码画面的所述比特流中的画面的比特的装置。
69、如权利要求48、49、62、63或64中任一项所述装置,进一步包括:
用于根据所述调整比特预算分配用于编码跟随所述特定画面组的画面组的比特的装置。
70、如权利要求48、49、62、63或64中任一项所述装置,进一步包括:
用于通过确定以所述比特流的显示顺序跟随所述特定画面组中的所述第一画面的I-画面或P-画面之间的实际距离M”计数所述特定画面组中的I-画面和/或P-画面与所述特定画面组中后续I画面或P画面之间的实际距离M”中的变化的装置;和
用于根据所述实际距离M”调整所述假定比特预算R的装置。
71、一种分配用于编码在数字视频代码转换器接收的比特流中的画面序列的比特的方法,包括步骤:
(a)提供所述比特流的若干画面组的长度;
(b)提供所述画面组中的每个I-画面和下一个连续P-画面之间的距离;
(c)当编码所述画面组中的每个画面时,在每个画面组分别保留I-,P-和B-画面的剩余画面数;
(d)响应用于编码所述画面组中的画面的所述步骤(a),(b)和(c)提供一个假定比特预算R;
(e)在编码所述画面组中的每个I-画面和/或P-画面之后,鉴定并调整所述长度;
(f)在编码所述画面组中的每个I-画面和/或P-画面之后,鉴定并调整所述距离;
(g)响应所述步骤(e)和(f),鉴定并调整I-,P-和B-画面的剩余画面数;和
(h)响应所述步骤(e),(f)和(g),调整所述比特预算R。
72、如权利要求71所述方法,其中:
当初始编码所述画面组时假定所述距离并且在编码所述比特流中的两个画面时将其修正到一个实际距离。
73、如权利要求71或72所述方法,其中:
当初始编码所述画面组时假定所述长度并且在编码所述比特流中的一个画面组时将其修正到一个实际距离。
74、一种分配用于编码在数字视频代码转换器接收的比特流中的画面序列的比特的装置,包括:
(a)用于提供所述比特流的若干画面组的长度的装置;
(b)用于提供所述画面组中的每个I-画面和下一个连续P-画面之间的距离的装置;
(c)用于当编码所述画面组中的每个画面时,在每个画面组分别保留I-,P-和B-画面的剩余画面数的装置;
(d)用于响应用于编码所述画面组中的画面的所述步骤(a),(b)和(c)提供一个假定比特预算R的装置;
(e)用于在编码所述画面组中的每个I-画面和/或P-画面之后,鉴定并调整所述长度的装置;
(f)用于在编码所述画面组中的每个I-画面和/或P-画面之后,鉴定并调整所述距离的装置;
(g)用于响应所述步骤(e)和(f),鉴定并调整I-,P-和B-画面的剩余画面数的装置;和
(h)用于响应所述步骤(e),(f)和(g),调整所述比特预算R的装置。
75、如权利要求74所述装置,其中:
当初始编码所述画面组时假定所述距离并且在编码所述比特流中的两个画面时将其修正到一个实际距离。
76、如权利要求74或75所述装置,其中:
当初始编码所述画面组时假定所述长度并且在编码所述比特流中的一个画面组时将其修正到一个实际距离。
CNB991250605A 1998-11-24 1999-11-24 预先不了解画面类型情况下mpeg代码转换器的比率控制系统 Expired - Lifetime CN1269360C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/198,867 US6570922B1 (en) 1998-11-24 1998-11-24 Rate control for an MPEG transcoder without a priori knowledge of picture type
US09/198,867 1998-11-24

Publications (2)

Publication Number Publication Date
CN1255022A CN1255022A (zh) 2000-05-31
CN1269360C true CN1269360C (zh) 2006-08-09

Family

ID=22735187

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB991250605A Expired - Lifetime CN1269360C (zh) 1998-11-24 1999-11-24 预先不了解画面类型情况下mpeg代码转换器的比率控制系统

Country Status (8)

Country Link
US (2) US6570922B1 (zh)
EP (1) EP1005232B1 (zh)
KR (1) KR100880055B1 (zh)
CN (1) CN1269360C (zh)
AT (1) ATE385650T1 (zh)
CA (1) CA2286640C (zh)
DE (1) DE69938093T2 (zh)
TW (1) TW450006B (zh)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2333656B (en) * 1998-01-22 2002-08-14 British Broadcasting Corp Compressed signals
GB2333657B (en) 1998-01-22 2002-08-21 Snell & Wilcox Ltd Video signal compression
GB2335104B (en) 1998-03-06 2002-01-30 British Broadcasting Corp Cascading of up conversion and down conversion
GB2337389B (en) 1998-05-15 2002-05-29 Snell & Wilcox Ltd Video signal processing
JP3129411B2 (ja) * 1998-05-28 2001-01-29 日本電気株式会社 動画像圧縮装置と動画像圧縮方法
US6982762B1 (en) * 1998-05-30 2006-01-03 Stmicroelectronics Asia Pacific Pte Limited Sequence adaptive bit allocation for pictures encoding
GB9822092D0 (en) 1998-10-09 1998-12-02 Snell & Wilcox Ltd Analysis of compression decoded sequences
GB9822094D0 (en) 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
GB9822087D0 (en) * 1998-10-09 1998-12-02 Snell & Wilcox Ltd Improvements in data compression
GB9824061D0 (en) 1998-11-03 1998-12-30 Snell & Wilcox Ltd Film sequence detection (nt4)
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US6768774B1 (en) * 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US6927783B1 (en) 1998-11-09 2005-08-09 Broadcom Corporation Graphics display system with anti-aliased text and graphics feature
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US7068724B1 (en) * 1999-10-20 2006-06-27 Prime Research Alliance E., Inc. Method and apparatus for inserting digital media advertisements into statistical multiplexed streams
US6700623B1 (en) 1998-12-10 2004-03-02 Snell & Wilcox Limited Video signal processing using triplets of pixels
GB2346282B (en) * 1999-01-28 2003-02-19 Snell & Wilcox Ltd Bit rate control in compression encoding
JP2001145113A (ja) * 1999-11-17 2001-05-25 Sony Corp 画像情報変換装置及び方法
JP2003520512A (ja) * 2000-01-14 2003-07-02 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 伝送符号化方法及び伝送符号化装置
EP1139665A1 (en) * 2000-03-29 2001-10-04 Deutsche Thomson-Brandt Gmbh Method and apparatus for changing the output delay of audio or video data encoding
GB2361126B (en) * 2000-04-05 2004-04-21 Snell & Wilcox Ltd Spatial video processing
JP2004511976A (ja) * 2000-10-10 2004-04-15 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディジタルビデオ記録のためのビデオビットレート制御方法及び装置
US8559797B2 (en) * 2000-10-10 2013-10-15 Broadcom Corporation System and method for personal video recording
WO2002032147A1 (en) * 2000-10-11 2002-04-18 Koninklijke Philips Electronics N.V. Scalable coding of multi-media objects
US6748020B1 (en) * 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
US8391482B2 (en) * 2001-05-04 2013-03-05 Hewlett-Packard Development Company, L.P. Signal format that facilitates easy scalability of data streams
US6940904B2 (en) * 2001-05-29 2005-09-06 Broadcom Corporation Artifact-free displaying of MPEG-2 video in the progressive-refresh mode
US9894379B2 (en) * 2001-07-10 2018-02-13 The Directv Group, Inc. System and methodology for video compression
US6959042B1 (en) * 2001-10-01 2005-10-25 Cisco Technology, Inc. Methods and apparatus for measuring compressed video signals and applications to statistical remultiplexing
US7403564B2 (en) * 2001-11-21 2008-07-22 Vixs Systems, Inc. System and method for multiple channel video transcoding
US7356079B2 (en) * 2001-11-21 2008-04-08 Vixs Systems Inc. Method and system for rate control during video transcoding
KR100624404B1 (ko) * 2002-01-05 2006-09-18 삼성전자주식회사 사람의 시각적 특성을 고려한 적응적 부호화 방법 및 장치
DE10300048B4 (de) * 2002-01-05 2005-05-12 Samsung Electronics Co., Ltd., Suwon Verfahren und Vorrichtung zur Bildcodierung und -decodierung
FI114527B (fi) 2002-01-23 2004-10-29 Nokia Corp Kuvakehysten ryhmittely videokoodauksessa
CN1288915C (zh) * 2002-01-23 2006-12-06 诺基亚有限公司 视频序列的编码和解码方法及相关的视频编码器和解码器
US7190723B2 (en) * 2002-03-27 2007-03-13 Scientific-Atlanta, Inc. Digital stream transcoder with a hybrid-rate controller
US7236521B2 (en) * 2002-03-27 2007-06-26 Scientific-Atlanta, Inc. Digital stream transcoder
US7295610B2 (en) * 2002-03-27 2007-11-13 Scientific-Atlanta, Inc. Hybrid rate control in a digital stream transcoder
US20030215011A1 (en) * 2002-05-17 2003-11-20 General Instrument Corporation Method and apparatus for transcoding compressed video bitstreams
KR20040076034A (ko) * 2003-02-24 2004-08-31 삼성전자주식회사 동 영상의 가변 비트율 부호화 방법 및 장치
US20040260827A1 (en) * 2003-06-19 2004-12-23 Nokia Corporation Stream switching based on gradual decoder refresh
EP1496707A1 (en) * 2003-07-09 2005-01-12 Matsushita Electric Industrial Co., Ltd. Encoding and decoding of video images with delayed reference picture refresh
EP1665799A4 (en) * 2003-08-26 2010-03-31 Samsung Electronics Co Ltd METHOD AND DEVICE FOR SCALABLE VIDEO CODING THROUGH THE USE OF A PRE-DECODER
US7263126B2 (en) * 2003-09-15 2007-08-28 Sharp Laboratories Of America, Inc. System and method for transcoding with adaptive bit rate control
US8063916B2 (en) 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US20050226327A1 (en) * 2004-03-30 2005-10-13 Kim Seong-Bong MPEG coding method, moving picture transmitting system and method using the same
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US7747095B2 (en) * 2004-10-08 2010-06-29 Nvidia Corporation Methods and systems for rate control in image compression
US9544602B2 (en) * 2005-12-30 2017-01-10 Sharp Laboratories Of America, Inc. Wireless video transmission system
US7885189B2 (en) * 2006-09-20 2011-02-08 Rgb Networks, Inc. Methods and apparatus for rate estimation and predictive rate control
US20080141091A1 (en) * 2006-12-06 2008-06-12 General Instrument Corporation Method and Apparatus for Recovering From Errors in Transmission of Encoded Video Over a Local Area Network
JP2008167061A (ja) * 2006-12-27 2008-07-17 Toshiba Corp 符号化装置及び符号化方法
KR101345295B1 (ko) * 2007-06-11 2013-12-27 삼성전자주식회사 인트라 픽처만을 이용한 동영상 시퀀스의 부호화시의비트율 제어 방법 및 장치
GB2460069A (en) * 2008-05-15 2009-11-18 Snell & Wilcox Ltd Sampling conversion between formats in digital image processing
JP4460011B2 (ja) 2008-05-27 2010-05-12 国立大学法人広島大学 動画像配信システム、動画像配信方法、動画像配信システムにおけるサーバおよび動画像配信システムにおけるユーザ端末
US9077937B2 (en) * 2008-11-06 2015-07-07 Alcatel Lucent Method and apparatus for fast channel change
KR20100061908A (ko) * 2008-12-01 2010-06-10 엘지전자 주식회사 영상표시장치, 영상전송장치, 영상전송방법 및 기록매체
US20100333149A1 (en) * 2009-06-24 2010-12-30 Rgb Networks, Inc. Delivery of pre-statistically multiplexed streams in a vod system
US9369723B2 (en) 2011-07-14 2016-06-14 Comcast Cable Communications, Llc Preserving image quality in temporally compressed video streams
US9094684B2 (en) 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
EP2795899A4 (en) * 2011-12-23 2016-01-27 Intel Corp CONTENTSADAPTIVE HIGHLY PRECISE MACROBLOCK RATES CONTROL
CN104780369B (zh) * 2012-08-21 2018-04-17 华为技术有限公司 一种获得视频编码压缩质量的方法及装置
US9100636B2 (en) * 2012-09-07 2015-08-04 Intel Corporation Motion and quality adaptive rolling intra refresh
US10186236B2 (en) * 2013-05-23 2019-01-22 Intel Corporation Universal codec
US9787986B2 (en) * 2014-06-30 2017-10-10 Intel Corporation Techniques for parallel video transcoding
EP3376766B1 (en) * 2017-03-14 2019-01-30 Axis AB Method and encoder system for determining gop length for encoding video
US10225211B2 (en) 2017-07-20 2019-03-05 Arris Enterprises Llc Statistical multiplexer with service priority weighting

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5887115A (en) 1993-01-13 1999-03-23 Hitachi America, Ltd. Method and apparatus for implementing a video tape recorder for recording digital video signals having either a fixed or variable data transmission rate
US5477397A (en) 1993-02-23 1995-12-19 Matsushita Electric Corporation Of America Digital high definition television receiver with features that facilitate trick-play modes on a digital VCR
KR950014858B1 (ko) 1993-06-04 1995-12-16 대우전자주식회사 디지탈 영상 기록장치
CA2126467A1 (en) * 1993-07-13 1995-01-14 Barin Geoffry Haskell Scalable encoding and decoding of high-resolution progressive video
JPH09512396A (ja) * 1994-04-20 1997-12-09 トムソン コンシユーマ エレクトロニクス インコーポレイテツド 一定ビットレート・エンコーダを使用したマルチプレクサ・システム
US5708473A (en) * 1994-08-30 1998-01-13 Hughes Aircraft Company Two stage video film compression method and system
US5617142A (en) 1994-11-08 1997-04-01 General Instrument Corporation Of Delaware Method and apparatus for changing the compression level of a compressed digital signal
US5619733A (en) 1994-11-10 1997-04-08 International Business Machines Corporation Method and apparatus for synchronizing streaming and non-streaming multimedia devices by controlling the play speed of the non-streaming device in response to a synchronization signal
US5686963A (en) * 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
US5929916A (en) * 1995-12-26 1999-07-27 Legall; Didier J. Variable bit rate encoding
US5933500A (en) 1996-05-31 1999-08-03 Thomson Consumer Electronics, Inc. Adaptive decoding system for processing encrypted and non-encrypted broadcast, cable or satellite video data
US6115420A (en) * 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US5982436A (en) * 1997-03-28 1999-11-09 Philips Electronics North America Corp. Method for seamless splicing in a video encoder
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control
US6643327B1 (en) * 2000-05-05 2003-11-04 General Instrument Corporation Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures

Also Published As

Publication number Publication date
EP1005232A3 (en) 2003-12-10
ATE385650T1 (de) 2008-02-15
US7020198B2 (en) 2006-03-28
US6570922B1 (en) 2003-05-27
US20020159523A1 (en) 2002-10-31
EP1005232A2 (en) 2000-05-31
TW450006B (en) 2001-08-11
KR100880055B1 (ko) 2009-01-22
DE69938093T2 (de) 2009-04-30
CN1255022A (zh) 2000-05-31
EP1005232B1 (en) 2008-02-06
KR20000035651A (ko) 2000-06-26
DE69938093D1 (de) 2008-03-20
CA2286640C (en) 2009-07-14
CA2286640A1 (en) 2000-05-24

Similar Documents

Publication Publication Date Title
CN1269360C (zh) 预先不了解画面类型情况下mpeg代码转换器的比率控制系统
CN1162001C (zh) 对多个运动图象编码的运动图象编码装置和方法
CN1178516C (zh) 利用编码历史信息的编码转换系统
CN1148955C (zh) 编码数据流接合设备和方法及编码数据流生成设备和方法
CN1075323C (zh) 运动矢量编码和解码方法及装置,图像信号编码和解码方法及装置
CN1186944C (zh) 图像编码器及其编码方法、图像译码器及其译码方法
CN1298170C (zh) 画面编码和解码装置及其方法
CN1177487C (zh) 图像编码方法、译码方法及译码设备
CN1056716C (zh) 动态图象的编码/解码方法、装置及其存储介质
CN1504051A (zh) 不同代码转换频道中对带宽分配的统计再复用
CN1714577A (zh) 视频传输
CN1117479C (zh) 编码视频图像序列数据以及从若干视频源传送数据的方法
CN1159916C (zh) 活动图象编码装置及其方法
CN1653822A (zh) 用于代码转换压缩视频比特流的方法和设备
CN1203679C (zh) 用于自动转码编码的视频图象数据的方法和设备
CN1319996A (zh) 图像编码和解码设备及其方法、图像记录和图像传送设备
CN1630374A (zh) 用于前向预测的隔行扫描视频帧的场的预测运动矢量
CN1625900A (zh) 视频帧间运动估算的方法和装置
CN1767601A (zh) 一种支持多源流媒体的同步播放控制方法
CN1537384A (zh) 用于子像素值内插的方法
CN1617591A (zh) 在视讯编码器中适应性过滤离散余弦转换系数的系统与方法
CN1832575A (zh) 视频编码/解码方法和设备
CN1314762A (zh) 数据传输方法和数据传输系统
CN101080928A (zh) 以变化的比特率在传输信道中传送的方法
CN1898965A (zh) 运动图象编码方法和装置

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: MOTOROLA MOBILITY LLC

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

Effective date: 20130917

Owner name: GENERAL INSTRUMENT HOLDING CO., LTD.

Free format text: FORMER OWNER: GENERAL INSTRUMENT CORPORATION

Effective date: 20130917

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

Effective date of registration: 20130917

Address after: Illinois State

Patentee after: MOTOROLA MOBILITY LLC

Address before: California, USA

Patentee before: General Instruments Holding Co.,Ltd.

Effective date of registration: 20130917

Address after: California, USA

Patentee after: General Instruments Holding Co.,Ltd.

Address before: American Pennsylvania

Patentee before: GENERAL INSTRUMENT Corp.

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

Effective date of registration: 20160301

Address after: California, USA

Patentee after: Google Technology Holdings LLC

Address before: Illinois State

Patentee before: MOTOROLA MOBILITY LLC

CX01 Expiry of patent term

Granted publication date: 20060809

CX01 Expiry of patent term