CN1150765C - 比特率改变方法及装置 - Google Patents

比特率改变方法及装置 Download PDF

Info

Publication number
CN1150765C
CN1150765C CNB998015636A CN99801563A CN1150765C CN 1150765 C CN1150765 C CN 1150765C CN B998015636 A CNB998015636 A CN B998015636A CN 99801563 A CN99801563 A CN 99801563A CN 1150765 C CN1150765 C CN 1150765C
Authority
CN
China
Prior art keywords
bit rate
coding
future
constantly
image
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 - Fee Related
Application number
CNB998015636A
Other languages
English (en)
Other versions
CN1277784A (zh
Inventor
N・巴耶
N·巴耶
E·菲尔特
P·戈捷
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1277784A publication Critical patent/CN1277784A/zh
Application granted granted Critical
Publication of CN1150765C publication Critical patent/CN1150765C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Communication Control (AREA)

Abstract

具有下述特征的数据流的比特率被改变。该数据流包括控制字。控制字定义包括在数据流中的数据部分何时从接收端的输入缓冲器中读出。MPEG视频数据流具有这种特征。为未来的至少一个时刻(Tfut)计算在该未来时刻的数据流比特率(R)在什么样的界限(Rmax、Rmin)之内改变才不会引起输入缓冲器的下溢和溢出。在一个未来的时刻,该比特率在已经为该未来时刻计算的界限(Rmax2,Rmin2)之内改变。这允许快速调节比特率,这样通常有助于提高包括在数据流中的数据的质量。

Description

比特率改变方法及装置
技术领域
本发明涉及改变具有下述特性的数据流的比特率的方法和装置。该数据流包括控制字。控制字定义何时从接收端的输入缓冲器读出包含于数据流中的数据部分。一种根据运动图象专家组(MPEG)标准的视频数据流具有这种特性。
背景技术
美国专利No.5,680,483(代理案号PHF 94,510)描述了一种可变比特率的编码器。
发明内容
本发明的一个目的是使包括在数据流中的数据具有更好的质量。
本发明考虑下面的几个方面。假设在某一时刻应当提高数据流的比特率以便于把数据质量保持在一定的水平。理想的情况是比特率可瞬时改变。也就是说,理论上要能够对比特需要立刻做出响应。然而,对于具有上述特性的数据流来说,比特率不能立刻改变。如果比特率立刻改变,可能会引起接收端输入缓冲器下溢(underflow)和上溢(overflow)。那么将丢失数据,这样的话就会损害数据质量。
背景技术采用了下面的原理。比特率只能在每个已经定义的控制字在接收端产生作用后才会改变。在MPEG术语中,这意味着比特率借助一个对应于终端间延迟的延迟而改变。相应地,要确保无论怎样改变比特率都不会发生上述的溢出。
依据本发明,提供一种改变含控制字的数据流的比特率的方法,控制字定义含在数据流中的数据部分何时从接收端的输入缓冲器中读出,该方法包括:可为未来的至少一个时刻计算在该未来时刻的数据流比特率在什么样的界限之内改变才不会引起输入缓冲器的下溢和上溢。在一个未来的时刻,比特率在已经为该未来时刻确定的界限之内改变。
根据本发明的方法,还可包括计算步骤,计算几个不同的比特率转换时间中的每一个的品质因数,假定比特率在该比特率转换时间改变;选择步骤,选择提供最佳品质因数的比特率转换时间,该比特率在所选比特率转换时间改变。
因此,本发明允许在一个较短的延迟内改变比特率,同时防止上溢和下溢。实际上,比特率在一个较短的延迟之内可能不会变成希望的比特率。但该比特率可以变成所希望比特率的近似值,这个近似值是上面提到的界限之一。后者通常对比特需要提供一个较好的响应,而不是象背景技术一样等待较长的固定延迟来应用希望的比特率。因此,本发明使包括在数据流中的数据具有更好地质量。
本发明以及可选择性地用于使本发明体现优点的其它特征通过参照下述的附图将变得显而易见并将被阐明。
图1和图2是表示权利要求1所要求的本发明基本特征的概念图。
图3是表示根据本发明的视频编码组件的实例框图。
图4是表示形成图3所示视频编码组件一部分的编码器的框图。
图5是表示一种用于图3所示视频编码组件的总比特率控制法的流程图。
图6是表示图3示出的视频编码组件中的编码器的编码数据经编码器的输出缓冲器并经虚拟解码器的输入缓冲器传送的图。
图7是表示计算图3的视频编码组件中的编码器的新的最小比特率和新的最大比特率的图。
图8是表示用于图4示出的编码器的量化参数控制法的流程图。
下面的陈述涉及标号。在所有的图中,相似的实体以相同的标号来代表。几个相似的实体可能会出现在同一张图中。在这种情况下,为了识别相似的实体,给标号添加数字或下标。为了方便起见,数字或下标可以忽略,或者在其数值不重要时(不考虑数值)以星号来代替。这种情况适于本说明书及权利要求书。
图1表示下面的特征。数据流DS包括控制字CW。控制字CW[i]定义包含在该控制字和随后的一个控制字CW[i+1]之间的数据部分DP[i]何时从接收端的输入缓冲器IBUF中读出。
图2表示下面的特征。为未来的至少一个时刻Tfut计算在该未来时刻Tfut的数据流比特率R在什么样的界限Rmax、Rmin内改变才不会引起输入缓冲器的下溢和上溢。在未来的一个时刻Tfut2,该比特率在已经为该未来时刻Tfut2计算的界限Rmax2、Rmin2之内改变。
图3表示根据本发明的视频编码组件的实例。该视频编码组件接收几个视频节目VP,并且通过响应提供一个多路复用的MPEG数据流MMDS。多路复用的MPEG数据流MMDS包括每个视频节目VP的MPEG编码类型。该视频编码组件包括几个编码器ENC,一个多路复用器MUX和一个总比特率控制器JBRC。
该视频编码组件基本上进行如下工作。每个编码器ENC编码一个不同的视频节目并且把一个MPEG数据流MDS提供到多路复用器。多路复用器组合MPEG数据流以获得多路复用的MPEG数据流MMDS。每个编码器还建立它所编码的视频节目中的每个图象的比特率控制指示。该比特率控制指示是一个对编码当前和随后若干图象的难易程度的评估。对于给定的质量来说,如果图象编码分别产生较多或较少的比特率,则图象难以或易于编码。
总比特率控制器根据它接收的比特率控制指示而在视频编码器之间分配总比特率Rtot。也就是说,总比特率控制器给每个编码器分配一个特定的比特率R,这些比特率之和就是总比特率。编码器把它的MPEG数据流以它所分配到的比特率提供给多路复用器。总比特率控制器分配给接收难编码图象的编码器的比特率高于分配给接收易编码图象的编码器的比特率。这样,总比特率控制器保持各个编码器所提供编码图象之间的基本稳定的质量比。而且总比特率控制器帮助各个编码器以基本稳定的质量来提供连续的编码图象。下面将详细描述此情况。
图4所示为形成图3示出的视频编码组件的一部分的编码器ENC。该编码器包括编码电路EC、一个输出缓冲器OBUF和一个控制器CON。它基本上进行如下操作。编码电路根据量化参数QP编码连续图象P。编码电路将编码图象Pe提供给输出缓冲器OBUF。输出缓冲器以比特率为R的MPEG数据流形式输出编码图象。
编码类型有三种:I-型、P-型和B-型编码,根据这三种编码类型可编码图象。I-型、P-型或B-型编码的图象随后将分别称作I-、P-和B-图象。而且在所应用的编码类型中存在一个循环模式。每个循环开始于I-型编码并且接着是一个或多个P-和B-型编码。一个循环涉及N个图象,N是一个整数。例如,对于N=6来说,循环编码模式可以是I-B-B-P-B-B。
控制器根据它从总比特率控制器接收到的总比特率控制信息JBRCM控制比特率。总比特率控制信息定义编码器的比特率并且还定义何时应用这个比特率。因此实际上总比特率控制信息定义编码器的比特率特征(profile)。控制器根据比特率特征(profile)控制比特率。还可使用比特率控制信号RC来完成这个工作,该比特率控制信号RC确定编码图象数据从输出缓冲器读出的速率。
量化参数基本上确定了编码图象的质量。在编码图象时它的值越低,编码图象的质量越高,但是编码图象将包括更多的比特。量化参数最好具有一个稳定且不至于在接收MPEG数据流的解码器的输入缓冲器中引起下溢或上溢的尽可能低的值。
该控制器根据几个参数控制量化参数。一个参数是由总比特率控制信息定义的比特率特征(profile)。另一个参数是包含在输出缓冲器中的编码数据量F。这两个参数定义编码一组图象时可使用的比特数空间。另一个用于量化参数控制的参数是编码结果ER。该编码结果提供有关如何在图象间分配可用空间以使量化参数具有一个基本稳定的数值的信息。图象的编码结果或是其一部分可做如下表示:由图象编码产生的比特数或其一部分乘以已经应用的量化值。这个乘积随后将称作复杂度。
编码器能够以单通(single-pass)模式或双通(double-pass)模式工作。在单通模式中,编码电路只编码图象一次。也就是说,图象实际上只经过编码电路一次。在这个单通期间,控制器只使用与以前图象相关的编码结果来控制量化参数。在双通模式中,编码电路编码图象两次。也就是说,图象实际上经过编码电路两次。在第一次通过时,图象在控制器应用一个固定量化参数时编码。第一次通过用于获得与此图象相关的编码结果。在第二次通过时,控制器使用第一次通过时获得的编码结果控制上述的量化参数。这样,在双通模式中的量化参数控制通常好于单通模式中的量化参数控制。
控制器还建立每个要编码图象的比特率控制指示IND。在单通模式中,编码器只根据与前面图象相关的编码结果建立比特率控制指示。在双通模式中,编码器根据包括当前图象编码结果的编码结果建立比特率控制指示。
图5示出了一种用于图3所示的视频编码组件的总比特率控制法。在起始步骤GS1,总比特率控制器为每个编码器ENC分配一个目标比特率Rtarget。该目标比特率Rtarget决定由相关编码器提供的编码图象的平均质量。
下列的步骤被重复执行。例如,它们可在每个图象周期中执行。
在指示-计算步骤GS2中,每个编码器计算比特率控制指示IND并且把这个比特率控制指示发送到总比特率控制器。可如下计算这个比特率控制指示。比特率控制指示由平均图象复杂度AVX乘以每个编码器的目标比特率,再除以亮度熵的值ACT得出。可如下计算平均图象复杂度。假定对于N-1个随后的图象来说,每个I-、P-和B-图象分别具有一个最近编码的I-、P-和B-图象的复杂度。这样,平均图象复杂度就是当前图象和N-1个随后图象的平均复杂度。亮度熵就是在单通模式中的前个图象或是在双通模式中的当前图象的最新编码图象中的宏块活动性的平均值。宏块活动性在文件ISO/IECJTC1/SC29/WG11/N0400,April 1993的“测试模型5,草案修订2”的5.2.2部分,60页中有定义。
在比特率计算步骤GS3中,总比特率控制器为每个编码器计算理论上应当分配给该编码器的最佳比特率Ropt。每个编码器的最佳比特率由该编码器的比特率控制指示除以所有比特率控制指示之和,再乘以总比特率得出。因而实际上最佳比特率是总比特率的一部分。该部分的大小对应于该比特率控制指示所占全部比特率控制指示之和的比例。
在转换时刻检测步骤GS4中,检测若干不同的转换时刻Tsw。转换时刻是一个可以调整各个MPEG数据流的比特率的时刻。某些转换时刻,或者甚至是所有的转换时刻可比当前时刻加上恒定的终端间延迟要早。恒定的终端间延迟是编码图象写入编码器输出缓冲器的时刻与编码图象从直接连接到编码器的虚拟解码器的输入缓冲器读出的时刻之间的差值。也就是说,在编码器和虚拟解码器之间没有传输延迟。
转换时刻检查步骤GS4包括每个转换时刻单独执行的两个子步骤。
在比特率限制(clipping)子步骤GS4a中,总比特率控制器以下述的方式建立每个编码器的限制最佳比特率Roptc。总比特率控制器首先为符合MPEG-2的编码器计算新的最大比特率Rmax和新的最小比特率Rmin。如果编码器提供的MPEG数据流在解码器输入缓冲器中既不引起下溢又不引起上溢,那么它符合MPEG-2。如果新比特率超过新的最大比特率将发生上溢,并且如果新比特率低于新的最小比特率将发生下溢。下面将更详细地描述总比特率控制器计算新的最小比特率和最大新比行率的方式。限制的最佳比特率是上面所定义的最佳比特率,除非该最佳比特率引起下溢或上溢。如果那样的话,限制的最佳比特率分别是最小比特率或最大比特率。
在Δ比率计算子步骤GS4b中,总比特率控制器计算每个编码器的Δ比率ΔR。在研究中假定比特率在转换时刻转换成限制的最佳比特率。总比特率控制器计算随后将要在涉及当前图象和N-1个随后图象的时间段内获得的平均比特率。Δ比率是最佳比特率和如此计算的平均比特率之间的差。理想的情况是,每个编码器的Δ比率应当为零。
在转换时刻选择步骤GS5中,所研究的转换时刻中的一个以下面的方式选择。对于每个转换时刻来说,确定哪一个的Δ比率具有最大值。这个Δ比率称作最大Δ比率。Δ比率越大,偏离最佳比特率的相应比特数越大,并且因此越偏离MPEG数据流之间的希望质量比。选择最大Δ比率具有最小值的转换时刻:Tswsel=TswMIN(MAX(ΔR))。
在比特率控制步骤GS6中,总比特率控制器向每个编码器发送总比特率控制信息JBRCM。总比特率控制信息规定所选的转换时刻。它还规定每个编码器应用到所选转换时刻的限制最佳比特率。这样,一旦到达所选的转换时刻,总比特率控制器规划每个编码器以限制的最佳比特率提供其MPEG数据流。直到那个时刻,各个编码器才输出在以前的比特率控制信息中定义的它们的MPEG数据流。
图6表示图3示出的视频编码组件中的编码器的编码数据经编码器的输出缓冲器并且经虚拟解码器的输入缓冲器的传送。图6是一个水平轴表示时间T且垂直轴表示编码器产生的有关比特数的编码数据量NB的图。垂直轴还指出编码数据属于哪一种图象P。编码数据量随着已经编码的每个连续图象P增加。
图6示出的图包括三条曲线:A、B和C。曲线A表示写入编码器输出缓冲器的编码数据。例如,曲线A显示出属于图象P[i]的编码数据在时刻T[i]写入输出缓冲器。在每个图象周期Tpp,一个新图象写入输出缓冲器。
曲线B表示从输出缓冲器读出以形成MPEG数据流的编码数据。曲线B的斜率由MPEG数据流的比特率定义。例如,曲线B出显示属于图象P[i]的编码数据在相对于时刻T[i]的一个延迟ΔTob之后从输出缓冲器中读出。假定虚拟解码器没有任何传输延迟地接收MPEG数据流。那么,曲线B也表示写入到解码器的输入缓冲器中的编码数据。也就是说,图象P[i]在时刻T[i]+ΔTob写入到输入缓冲器。
曲线C表示从虚拟解码器的输入缓冲器中读出的编码数据。假定图象立即从输入缓冲器中读出。也就是说,读出图象不需要花任何时间。例如,曲线C显示出属于图象P[i]的编码数据在时刻T[i]+ΔTeed立即从输入缓冲器中读出。ΔTeed表示恒定的终端间延迟。这个恒定的终端间延迟就是图象已经写入到编码器输出缓冲器的时刻和图象已经从虚拟解码器的输入缓冲器中读出的时刻之间的差值。它具有ΔTeed=ΔTob+ΔTib,其中ΔTib表示输入缓冲器延迟。输入缓冲器延迟定义图象何时从解码器的输入缓冲器中读出。
在任意的一个时刻,包含在虚拟解码器的输入缓冲器中的数据量是在那个时刻的曲线B和曲线C之间的差值。对于符合MPEG来说,这个数据量应当保持在上限和下限之间。如果这样的话,则可以确信任何接收MPEG数据流的符合MPEG的解码器将不会下溢也不会上溢。在这点上,在编码器和解码器之间的任何传输延迟都不起作用。这是因为MPEG数据流包括定义每个图象何时从输入缓冲器读出的控制字。这些控制字定义每个图象的ΔTib,这样ΔTob+ΔTib=ΔTeed。因此,它总是使得包含在虚拟解码器的输入缓冲器中的数据量也将包含在一个延迟ΔTtrans之后的真实解码器的输入缓冲器之中,其中ΔTtrans是传输延迟。因此,如果虚拟解码器的输入缓冲器从来不下溢或上溢,那么真实解码器的输入缓冲器也不这样。
假定当前时间是时刻T[i]:图象P[i]即将被编码并因此将要写入到编码器的输出缓冲器。这意味着任何迟于T[i]的时刻都是将来。前面已经提到,任何写入输出缓冲器的编码图象都将在一个延迟ΔTeed之后从输入缓冲器中读出。因此,可以精确地推断在一个从当前时刻延长ΔTeed的时间段内的曲线C的未来。它只根据在相同时间段内曲线B的来来是否将下溢或上溢或者两者都不是来确定。曲线B的未来由MPEG数据流的比特率特征定义。该比特率特征由参照图5上述的总比特率控制器确定。
图7示出了一种为图3的视频编码组件中的编码器计算新的最小比特率和新的最大比特率的方法。该计算要求在一个未来时刻T[i]+ΔTsw有一个比特率转换,其中ΔTsw包括在0和ΔTeed之间。图7是重复图6所示特征的图。为了简便起见,假定比特率实际上为常数并且等于R1,直到T[i]+ΔTsw为止。把如果低于它则输入缓冲器将发生下溢的数据量假定为零。把如果高于它则输入缓冲器将发生上溢的数据量假定为OVR。图7所示的图包括曲线C+,它是被提升了OVR量的曲线C。
曲线B延伸出两条斜线:Rmin和Rmax。斜线Rmin表示低于它将发生下溢的新的最小比特率。斜线Rmin只与曲线C的一点接触。如果斜线Rmin不陡的话将发生下溢。斜线Rmax表示超过它将发生上溢的新的最大比特率。斜线Rmax只与曲线C+的一点接触。如果斜率Rmax比较陡的话将发生溢出。
总比特率控制器可根据每个编码器提供的信息计算该编码器的曲线C和C+。例如,一条信息可指示包含在编码图象中的编码数据量以及编码图象将从虚拟解码器的输入缓冲器中读出的时刻。总比特率控制器还可根据编码器的比特率特征(profile)计算直到时刻T[i]+ΔT sw的曲线B。该比特率特征(profile)由总比特率控制器自己控制。因而对于曲线B的计算来说,总比特率控制器存储它新近提供到编码器的比特率控制信息是足够的。一旦计算了T[i]+和T[i]+ΔTeed间的时间段的曲线C和C+,并且计算了T[i]+和T[i]+ΔTsw间的时间段的曲线B,那么总比特率控制器可计算在转换时刻T[i]+ΔTsw应用的新的最小和最大比特率。
图8表示在图4所示的编码器中的一种量化参数控制法的实例。该方法包括S1-S9的多个步骤,每个图象P均执行这些步骤。图象P中的每个部分也可执行步骤S1-S9。假定编码器以上述的单通模式操作。应当注意的是,在MPEG中有三种不同的编码图象类型:I-型编码、P-型编码和B-型编码。执行I-型、P-型或B-型编码的图象将分别称作I、P或B型图象。
在步骤S1中计算每种类型的图象I、P和B的图象复杂度PCX。每种图象的复杂度PCX是最近编码产生的比特数NOB和在最近编码中使用的量化参数值QPAR的乘积。每种图象的复杂度PCX实际上是相关编码类型过去的编码经验。对于某一个量化参数值QPAR来说,如果要编码随后的一个图象的话,则它可用来预测将要获得的输出比特数。对于要使用的编码类型来说,图象复杂度PCX可除以量化参数值QPAR。这个相除结果是一个根据过去编码经验而要获得的输出比特数的预测。
在步骤S2中计算一个图象组的复杂度GCX。该图象组的复杂度GCX是三项之和。每一项涉及不同的图象类型并且由相关类型的图象复杂度PCX乘以一组图象内的相关类型的图象数M,再除以相关类型的加权系数K得出。该图象组的复杂度GCX实际上还是一个过去的编码经验,比可用于计算量化参数值QPAR的图象复杂度PCX更广泛。例如,该图象组的复杂度GCX可除以随后的N个图象要获得的希望输出比特数。相应地可得到量化参数QPAR的值,使用它并根据过去的编码经验,随后的N个图象的编码将产生希望的比特数。然而,后者不需要这样。
在步骤S3中计算每种类型的图象I、P和B的图象编码预测PCE。图象编码预测PCE是第一和第二项的乘积。第一项是由有关类型的图象复杂度PCX除以有关类型的加权系数K。第二项是一组编码目标GCT的初始值VALint除以步骤2中计算的图象组的复杂度GCX。该组编码目标GCT是一个通过编码当前图象和随后的N-1个图象而获得的比特数。该组编码目标GCT的初始值VALint是将在涉及当前图象和随后的N-1个图象的周期中从输出缓冲器输出的比特数。这样,图象编码预测PCE根据下面的目标而定:进入输出缓冲器OBUF的数据量应当等于在相关周期从缓冲器OBUF取出的数据量。图象编码预测PCE的第二项表示用于量化参数QPAR的值,使用它且根据过去的经验可实现这个目标。
应当注意的是,组编码目标GCT的初始值VALint根据编码器接收的总比特率控制信息来确定。正如参照图3所解释的,这些总比特率控制信息定义编码器的比特率特征(profile)。该比特率特征定义将在涉及当前图象和N-1个随后图象的周期中从输出缓冲器OBUT中输出的比特数。由于这个比特数是一个组编码目标GCT,因而总比特率控制信息这样定义这个目标。所以,图象编码预测PCE根据总比特率控制信息而定。
在步骤S4中计算下一个I-图象的预计缓冲器满度(fullness)BF[下一个I]。预计的缓冲器满度BF[下一个I]根据组编码目标GCT的初始值VALint和由其产生的图象编码预测PCE而定。预计的缓冲器满度BF[下一个I]是由输出缓冲器的当前满度BF[当前]加上包括直到下一个I-图象为止的每个图象的图象编码预测PCE的图象编码预测之和∑,再减去将要从输出缓冲器中输出的直到下一个I图象为止的比特数OUT[下一个I]。
在步骤S5中计算缓冲器满度剩余量ΔBF。该缓冲器满度余量ΔBF是预计的缓冲器满度BF[下一个I]和下一个I图象的希望的缓冲器满度BF[des]之间的差。希望的缓冲器满度BF[des]最好以它对应于解码器端的输入缓冲器基本上充满在解码I图象之前的数据的形式来定义。
在步骤S6中计算组编码目标GCT的自适应值VALadp。组编码目标GCT的自适应值VALadp是由将在包括当前图象和随后的N-1个图象的周期中从输出缓冲器输出的比特数的组编码目标GCT的初始值VALint减去缓冲器满度余量ΔBF得到。
在步骤S7中计算用于编码当前图象的图象编码目标PCT。图象编码目标PCT以与图象编码预计PCE根据组编码目标GCT的初始值确定的相同方式而根据组编码目标GCT的自适应值VALadp来确定。图象编码目标PCT是第一项和第二项的乘积。第一项是属于要编码的I、B或P的图象类型的图象复杂度PCX除以用于该类型的加权系数K。第二项是组编码目标GCT的自适应值VALadp除以图象组的复杂度GCX。
在步骤8中检验图象编码目标PCT以获得检验的图象编码目标PCTver。在这个步骤中,如果当前图象编码所产生的比特数等于图象编码目标PCT,则检查在解码端是否将发生下溢或上溢。如果既不发生下溢也不发生上溢,那么检验的图象编码目标PCTver将等于图象编码目标PCT,也就是说,图象编码目标PCT不变。但是,如果图象编码目标PCT将导致下溢或上溢,则图象编码目标PCT通过使用一个既不发生下溢又不发生上溢的数值来代替它而被有效地限制。
在步骤S9中,量化参数值QPAR在当前图象编码期间以下面的方式控制。量化参数值QPAR是第一项和第二项的和。第一项由相关类型的图象复杂度PCT除以检验的图象编码目标PCTver得到。第二项是偏离目标ΔTGT和反应参数RP的乘积。偏离目标ΔTGT由编码当前图象所产生的比特数NOBP减去检验的图象编码目标PCTver乘以编码当前图象期间所经过的时间t-t0和图象周期Tp的比值。反应参数RP是512除以MPEG数据流DS的比特率R。
下面将关注有关量化参数控制QPAR的问题。第一项是一个用于控制量化参数值QPAR的整体或长期的方案。假定图象编码目标没有限制,则意味着检验的图象编码目标PCTver等于图象编码目标PCT。那么,第一项相当于有关图象的加权系数K乘以图象组的复杂度GCX,再除以组编码目标GCT的自适应值VALadp。图象组的复杂度GCX由“新近实际产生的比特数”和“所应用的量化参数”的乘积之和组成。这样,第一项实际上表示量化参数QPAR的值,它根据过去的经验而将产生希望的比特数。第二项是一个用于调整量化参数QPAR的局部的或短期的方案。它是一种防止编码产生偏离作为检验的图象编码目标PCTver的目标比特数较大量的比特数的安全措施。
上面的附图和它们的描述显示其并不限制本发明。显然还有很多满足附属权利要求的范围的其它选择方案。出于这种考虑才产生了下面的结束语。
各个单元具有多种物理扩展功能或功能元件的方式。在这一点上,附图仅仅是示意性的,每个附图只表示本发明的一个可能的实施例。因此,尽管一张图示出了作为不同决的不同的功能元件,但这不排除作为一个单个物理单元的某些功能元件或所有功能元件的实施。例如,图3示出的编码器的输出缓冲器可以作为诸如编号为WO(96/20568)(代理案号PHB 33,945)公开的国际申请中描述的单个存储电路来实施。
尽管图8示出了一种根据输出比特率的量化参数控制法的实例,但这不排除使用其它的量化参数控制法。我们最关心的是图8示出的使用目标控制压缩量的方法,它根据输出比特率计算。
在一个权利要求中的任何标号不应认为是对该权利要求的限制。

Claims (4)

1.一种改变含控制字的数据流的比特率的方法,控制字定义含在数据流中的数据部分何时从接收端的输入缓冲器中读出,其特征在于该方法包括下面的步骤:
为未来的至少一个时刻(T[i]+ΔTsw)计算在该未来时刻的比特率在什么样的界限(Rmax,Rmin)之内改变才不会引起输入缓冲器的下溢和上溢;以及
在一个未来的时刻,在已经为该未来时刻计算的界限(Rmax,Rmin)之内改变比特率。
2.根据权利要求1的方法,其特征在于比特率将要改变的未来时刻(T[i]+ΔTsw)比已经包括在数据流中的控制字将要起作用的时刻(T[i]+ΔTeed)早。
3.根据权利要求1的方法,其特征在于它包括下面的步骤:
计算步骤(GS4),其中计算几个不同的比特率转换时间Tsw[i]中的每一个的品质因数ΔR,假定比特率在该比特率转换时间改变;
选择步骤(GS5),其中选择提供最佳品质因数的比特率转换时间,该比特率在所选比特率转换时间Tswse1改变。
4.一种编码装置,至少包括用于提供含控制字的编码数据流的编码器,控制字定义包括在数据流中的数据部分何时从接收端的输入缓冲器中读出,其特征在于该编码装置包括已输入程序以执行下述步骤的控制电路:
为未来的至少一个时刻(T[i]+ΔTsw)计算在该未来时刻的比特率在什么样的界限(Rmax,Rmin)之内改变才不会引起输入缓冲器的下溢和上溢;以及
在一个未来的时刻,在已经为该未来时刻计算的界限(Rmax,Rmin)之内改变比特率。
CNB998015636A 1998-07-10 1999-07-09 比特率改变方法及装置 Expired - Fee Related CN1150765C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP98401765.7 1998-07-10
EP98401765 1998-07-10

Publications (2)

Publication Number Publication Date
CN1277784A CN1277784A (zh) 2000-12-20
CN1150765C true CN1150765C (zh) 2004-05-19

Family

ID=8235439

Family Applications (2)

Application Number Title Priority Date Filing Date
CNB99801561XA Expired - Fee Related CN1153473C (zh) 1998-07-10 1999-07-09 具有几个数据压缩信道的数据压缩组件
CNB998015636A Expired - Fee Related CN1150765C (zh) 1998-07-10 1999-07-09 比特率改变方法及装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CNB99801561XA Expired - Fee Related CN1153473C (zh) 1998-07-10 1999-07-09 具有几个数据压缩信道的数据压缩组件

Country Status (7)

Country Link
US (2) US6570921B1 (zh)
EP (2) EP1034659B1 (zh)
JP (2) JP2002520957A (zh)
KR (2) KR100639056B1 (zh)
CN (2) CN1153473C (zh)
DE (1) DE69933848T2 (zh)
WO (2) WO2000003548A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486524B1 (ko) * 2002-07-04 2005-05-03 엘지전자 주식회사 비디오 코덱의 지연시간 단축 장치
EP1593107A4 (en) * 2003-02-13 2010-08-18 Nokia Corp METHOD OF SIGNALING CLIENT RATING CAPACITY IN MULTIMEDIA STREAMING
WO2006096612A2 (en) * 2005-03-04 2006-09-14 The Trustees Of Columbia University In The City Of New York System and method for motion estimation and mode decision for low-complexity h.264 decoder
JP4584871B2 (ja) * 2006-06-09 2010-11-24 パナソニック株式会社 画像符号化記録装置および画像符号化記録方法
US7885189B2 (en) * 2006-09-20 2011-02-08 Rgb Networks, Inc. Methods and apparatus for rate estimation and predictive rate control
US20100333149A1 (en) * 2009-06-24 2010-12-30 Rgb Networks, Inc. Delivery of pre-statistically multiplexed streams in a vod system
US8483272B2 (en) * 2010-09-24 2013-07-09 Intel Corporation System and method for frame level bit rate control without pre-analysis
KR101732995B1 (ko) * 2015-02-10 2017-05-25 엔에이치엔엔터테인먼트 주식회사 스트리밍 레이턴시 최소화 시스템 및 이를 사용하는 방법
US10547856B2 (en) * 2016-10-18 2020-01-28 Netflix, Inc. Constant-slope bitrate allocation for distributed encoding
EP3396961A1 (en) * 2017-04-24 2018-10-31 Axis AB Method and rate controller for controlling output bitrate of a video encoder
EP4274225A1 (en) * 2022-05-04 2023-11-08 MK Systems USA Inc. Systems and methods for multiple channel video encoding in a shared resource environment

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE685971C (de) * 1933-06-14 1939-12-29 Aeg Anordnung zur Gittersteuerung bei der unmittelbaren Umformung von Wechselstrom einerFrequenz in Wechselstrom anderer Frequenz mittels gittergesteuerter Entladungsstrecken
DE643971C (de) * 1934-03-16 1937-04-21 Ekof Erz U Kohle Flotation G M Verfahren zur Beeinflussung der Viscositaet von fluessigen Medien, wie Loesungen, Feststoffsuspensionen o. dgl., zum Zwecke der nassmechanischen Aufbereitung
US5216503A (en) * 1991-12-24 1993-06-01 General Instrument Corporation Statistical multiplexer for a multichannel image compression system
JP3614448B2 (ja) * 1993-07-22 2005-01-26 日本放送協会 画像信号符号化多重方法及びその装置
BE1007490A3 (nl) * 1993-09-10 1995-07-11 Philips Electronics Nv Inrichting voor het overdragen van een pluraliteit van televisie signalen over een transmissie kanaal.
US6055270A (en) * 1994-04-20 2000-04-25 Thomson Cosumer Electronics, Inc. Multiplexer system using constant bit rate encoders
US5838686A (en) * 1994-04-22 1998-11-17 Thomson Consumer Electronics, Inc. System for dynamically allocating a scarce resource
TW374283B (en) * 1994-05-25 1999-11-11 Sony Corp A multiple coding device
US5835149A (en) * 1995-06-06 1998-11-10 Intel Corporation Bit allocation in a coded video sequence
US6160846A (en) * 1995-10-25 2000-12-12 Sarnoff Corporation Apparatus and method for optimizing the rate control in a coding system
GB2307151A (en) * 1995-11-10 1997-05-14 British Broadcasting Corp Digital coding of video signals
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
GB9607162D0 (en) * 1996-04-04 1996-06-12 Digi Media Vision Ltd Improvements in or relating to the transmission of data
DE69730419T2 (de) * 1996-04-12 2005-09-08 Imedia Corp., San Francisco System zur Verteilung komprimierter Videosignale, mit statistischem Multiplexer mit Transkodierern
US6188700B1 (en) * 1996-11-07 2001-02-13 Sony Corporation Method and apparatus for encoding MPEG signals using variable rate encoding and dynamically varying transmission buffers
EP0905935A1 (en) * 1997-01-21 1999-03-31 Sony Corporation Coded signal transmission method and device
US6052384A (en) * 1997-03-21 2000-04-18 Scientific-Atlanta, Inc. Using a receiver model to multiplex variable-rate bit streams having timing constraints
JPH10285548A (ja) * 1997-04-03 1998-10-23 Sony Corp 符号化装置及び方法、復号装置及び方法、編集方法
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control

Also Published As

Publication number Publication date
EP1034659A1 (en) 2000-09-13
CN1286874A (zh) 2001-03-07
JP2002520957A (ja) 2002-07-09
DE69933848D1 (de) 2006-12-14
WO2000003548A1 (en) 2000-01-20
JP2002520960A (ja) 2002-07-09
EP1034659B1 (en) 2006-11-02
US6570921B1 (en) 2003-05-27
KR20010040241A (ko) 2001-05-15
KR100639056B1 (ko) 2006-10-27
WO2000003544A1 (en) 2000-01-20
US6688714B1 (en) 2004-02-10
KR100728509B1 (ko) 2007-06-15
CN1153473C (zh) 2004-06-09
CN1277784A (zh) 2000-12-20
JP4270754B2 (ja) 2009-06-03
EP1034662A1 (en) 2000-09-13
WO2000003548A8 (en) 2000-04-13
DE69933848T2 (de) 2007-06-21
KR20010023896A (ko) 2001-03-26
WO2000003548A9 (en) 2000-07-20

Similar Documents

Publication Publication Date Title
US10728564B2 (en) Systems and methods of encoding multiple video streams for adaptive bitrate streaming
CN106537923B (zh) 自适应视频流的技术
CN1150765C (zh) 比特率改变方法及装置
CN1631041B (zh) 视频变码中的速率控制方法和系统
US5301242A (en) Apparatus and method for motion video encoding employing an adaptive quantizer
CN1175671C (zh) 对数据流进行代码转换的代码转换器和方法
CN1268130C (zh) 固定带宽网络中多个压缩视频流的自适应带宽轨迹匹配
CN1223197C (zh) 用于数字视频记录的视频比特率控制方法和设备
CN1114320C (zh) 利用量化活动度控制比特产生数量的图像编码方法和装置
CN108200431B (zh) 一种视频编码码率控制帧层比特分配方法
CN1198064A (zh) 运动补偿编码装置、方法以及编码记录媒体
CN102355584B (zh) 基于帧内预测编码模式的码率控制方法
CN101014126B (zh) 图像处理装置
CN1110776C (zh) 压缩来自视频图像的数字数据的方法和设备
CN103339934A (zh) 视频编码
KR100314329B1 (ko) 일정비트율엔코더를이용하는멀티플렉서
CN1469648A (zh) 控制运动图像编码的dct计算量的算法和设备
CN112866696A (zh) 4k、8k、16k超高清视频编码优化控制方法和装置
JP2003018593A (ja) 映像符号化方法及び装置、映像符号量割当て方法及び装置、並びに記録媒体
CN101360229B (zh) 一种图像码流的平滑方法和装置
CN1078782C (zh) 异步控制信号发生装置
CN114513664A (zh) 视频帧编码方法、装置、智能终端及计算机可读存储介质
CN1080960C (zh) 参数抽样装置
CN1216887A (zh) 编码方法和装置及记录图象编码数据的记录媒体
MXPA99001880A (en) Device and method for controlling image encoding, encoding system, transmission system and broadcast system

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
C19 Lapse of patent right due to non-payment of the annual fee
CF01 Termination of patent right due to non-payment of annual fee