CN101084678A - 防止缓冲器下溢的速率控制 - Google Patents

防止缓冲器下溢的速率控制 Download PDF

Info

Publication number
CN101084678A
CN101084678A CNA200580044041XA CN200580044041A CN101084678A CN 101084678 A CN101084678 A CN 101084678A CN A200580044041X A CNA200580044041X A CN A200580044041XA CN 200580044041 A CN200580044041 A CN 200580044041A CN 101084678 A CN101084678 A CN 101084678A
Authority
CN
China
Prior art keywords
frame
value
section
bit
buffer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA200580044041XA
Other languages
English (en)
Other versions
CN101084678B (zh
Inventor
奥顿·卡玛里奥蒂斯
罗里·斯图尔特·特恩布尔
罗伯托·阿尔瓦雷斯·阿雷瓦洛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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 British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of CN101084678A publication Critical patent/CN101084678A/zh
Application granted granted Critical
Publication of CN101084678B publication Critical patent/CN101084678B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/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/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • H04N19/194Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive involving only two passes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • 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/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (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)

Abstract

本发明提供了一种防止缓冲器下溢的速率控制。将视频流数字编码为使得对数据的各个段进行编码的速率随生成各段所需的数据量而变化。有选择地省略对帧的传送(32),以使得累积帧率不会低于预定值。可采用该处理来确保在与解码器(2)相关联的缓冲存储器(6)中始终可获得要显示的下一帧。解码器(2)被设置为用以识别解码传送中省略了帧的部分,并用以通过在视频流和对应音频流中的时间戳之间进行比较来对解码流执行重新同步(7)。重新同步可通过扩展各个帧的持续时间或通过对帧进行重复来执行。

Description

防止缓冲器下溢的速率控制
技术领域
本发明涉及数字视频压缩,具体地涉及防止缓冲器下溢。
背景技术
通过移动IP网络(3G、GPRS、Wimax、WLAN等)、固定网络(像DSL、Cable、PSTN等)以及数字电视服务可获得视频流传输,且正在开发诸如DVD录像机、用于数字视频存储的个人视频播放器(PVP)及数码摄像机的新产品。所有这些服务和产品都力求达到最佳的视频质量和最好的固定存储空间管理。
视频压缩技术已成为数字视频通信中的关键技术。已经建立了几个关于视频压缩的国际标准,例如MPEG-2、MPEG-4、H263以及最新的标准H264。这些标准的共同特征是它们仅提供压缩视频流的语法。输出的位流可采用恒定比特率(CBR)编码处理或可变比特率(VBR)编码处理。由于许多数字视频应用被限于恒定的信道带宽或固定的存储(缓冲)容量,所以CBR编码以其可实践应用而被广泛采用。然而,CBR编码也存在一些缺点。
首先,CBR编码导致了不一致的视觉质量。在一帧与另一帧之间或者甚至在同一帧的多个宏块之间,所需的压缩量变化显著。结果,经解码的视频序列展现出不一致的视觉质量。其次,CBR编码导致了低编码效率。所选比特率必须足以为传送的所有部分都提供容许的图像质量。然而,这一比特率必须高于大多数传送所需要的比特率。
实际视频序列通常包括许多场景,每个场景可代表不同的活动性和运动特征。因此希望为高活动性的场景分配较更多的比特,而为低活动性的场景分配较少的比特。这是可变比特率(VBR)编码处理的基础。与CBR编码相比,VBR编码可针对许多视频序列提供更少的延迟、一致的视觉质量以及更高的编码效率。然而,VBR编码具有非常严格的比特率及缓冲器大小限制,具体地是由于瞬态比特率可能波动较大,因此不受限的VBR编码器可能无法满足要在其上传送信号的媒体的带宽限制。此外,由于对于每个位流无法一致地分配位流的各个部分,所以VBR难以在多流传输链路上工作,例如在简单时分复用中。
大多数标准压缩处理对一帧中每块8×8个像素(或一组几个相邻块,其被称为“宏块”)进行操作。识别前一帧中的与所考虑的块最相似(通常是同一位置处的块或相邻的块),并且识别所考虑的块中的每个像素与所选先前块中的对应像素的亮度值和色度值之间的差异。对得到的数据进行离散余弦变换,然后在传送前将得到的值除以量化因子Q。该量化因子减小了各个值以使得能在可用比特率内传送数据。大的Q值允许更大范围的值(允许一个块和与之相比较的块之间的差异更大),但却导致了细节的损失,这是因为实际值的差异小造成量化级相同。由此Q值是图像质量的反向量度。在VBR系统中,Q值针对整个传送都是恒定的,而在CBR系统中Q值在帧之间是变化的。
本申请人的题为“处理视频信号(Processing Video Signals)”的同时待审的国际申请(其与本申请具有相同的提交日期,并要求英国申请GB0428160.6的优先权)的发明提供了一种视频信号压缩处理,其中将视频序列分为多个多帧段、确定以非压缩形式对各视频段进行编码所需的比特数、选择针对每段的传送选择一量化级以使得该段的总比特率在预定限度之内。该发明还提供了一种适合执行该发明的处理的编码器。通过对几个帧的一个段应用相同的量化级,分散了量化级的变化,因而降低了图像质量。由于量化级的变化不太频繁,所以该发明也使得信令开销减小,并且可变性减小使得缓冲控制管理更容易。段被定义为使得在每段中以非压缩形式对每个帧进行编码所需的比特数落在具有预定幅值的范围内,并针对每个段确定量化级。这得到长度可变的段,并且这些端在适当的编码率不变时具有更少的转变(transition)但是在必要时能够响应更快的变化。
为了进一步使对量化级变化的分散最小,同时待审申请的发明中的优选实施例设置为:如果三个连续的段中的第一个段和第三个段都具有相同的所选量化级,则该量化级也被应用到中间段。另外,在该优选实施例中,对一个段与下一个段之间的量化级的大变化进行平滑。这可通过对段之间的边界处的多个帧逐步递增地调整量化级来实现。优选的是,对量化级的逐步调整使得具有更大比特率的段的帧的比特率减小。
可以通过利用多个量化值中的每个量化值对序列的每个帧进行编码并由此确定最满足所需比特率的量化值,来执行确定对每个段进行编码所需的量化级的处理。在本说明书中稍后将对得出该值的适当的数学处理进行描述。
在上述提到的同时待审申请GB 0428160.6所公开的处理中,采用对视频序列的第一阶段(pass)处理来通过针对每个段选择适当的量化参数而为视频流传输或固定存储应用生成最优比特率,然后在第二阶段处理中传送整个序列。需要两个阶段使传送延迟了执行附加阶段所花费的时间。然而,对于某些应用,可针对多个比特率选定值预先确定适当的参数,以便可以更迅速地满足在给定比特率下进行传送的请求。
如同所有的数字编码方案,由于每帧的比特数是变化的,所以该配置依赖于在对传送的接收端处可获得适当的缓冲存储器,并且必须在生成一个帧之前存储为重建该帧所必需的所有数据。如果每帧的比特数大(并且传送的帧率由此下降),则会出现缓冲器“下溢”或饥饿(starvation),使得在要显示下一帧时解码器没有足够的数据来生成该帧。当缓冲存储器对于接收到但尚未使用的比特数不够大时,则会出现缓冲器上溢。
可以在开始传送视频分组之前向解码器提供由编码器生成的信息,从而允许保留缓冲器资源以防止出现缓冲器下溢和缓冲器上溢的情形。
发明内容
本发明提供了一种用于传送数字编码视频流的处理,在该数字编码视频流中对数据的各个段进行编码的速率随生成各段所需的数据量而变化,其中有选择地省略对一些帧的传送以使累积帧率不会低于预定值。这确保接收器不会出现下溢的情形。
可以针对在给定序列内每帧比特数可以变化的量设定一阈限,从而限制可能被删除的帧数。本发明还提供了一种可变比特率数据解码处理,该处理被设置为用于识别解码传送中省略了帧的部分并且用于使所显示的位流重新同步。可通过比较视频流和对应的音频流的时间戳来控制同步。重新同步可通过扩展各个帧的持续时间或对帧进行重复来执行。
本申请人的题为“防止缓冲器上溢(Buffer Overflow Prevention)”的同时待审的申请(其与本申请具有相同的提交日期,并要求英国申请0428156.4的优先权)提供了一种对经数字编码的视频输入流进行解码的处理,在该处理以根据重新生成每个段所需的数据量而变化的速率对数据的各个段进行解码,其中监测输入中的累积平均帧率,并响应于监测到的累积平均值而有选择地从接收到的输入中删除帧,以使得在经解码的输出中的累积平均帧率不会低于预定值。
该发明还提供了一种可变比特率数据解码处理,该处理被设置为用于识别解码传送中省略了帧的部分并且用于使所显示的位流重新同步。
优选地可以为在给定序列内每帧的比特数可以变化的量设定一阈限,从而限制由帧率降低而引起的感知质量的损失。如果与前面提及的要求英国申请GB 0428160.6的优先权的同时待审申请结合使用,则该阈限可以是以非压缩形式对每个帧进行编码所需的比特数被限定为落入其中的预定幅值。
这种模式不需要在“视频流会话”之前传送额外的信息,在片段(clip)开始时避免了缓冲,因此显著地使启动延迟最小。所显示的每个帧都具有相同的视频质量,但是以降低的帧率来显示视频,结果可能会略微损害可感知到的视频质量。
设置阈限还允许确定针对接收器对序列进行解码所需的缓冲存储器的最大值。
附图说明
下面将参照附图通过示例来描述本发明的实施例,在附图中:
下面将参照附图通过示例来描述本发明的实施例,在附图中:
图1为协同实施本发明的各种元件的示意图。
图2例示了示例的帧序列中每帧比特数的变化。
图3例示了处理中的分析步骤。
图4例示了构成处理的一部分的选择步骤。
图5例示了针对示例的帧序列通过处理生成的量化值。
图6例示了可对量化值进行的平滑处理的第一部分。
图7例示了平滑处理的其余部分。
图8例示了缓冲处理。
图9例示了典型视频序列的结构,其例示了各种帧类型。
图10例示了用于从序列中有选择地省略帧的处理。
图11例示了发生在图1的解码器处的帧省略处理。
具体实施方式
图1示出了在将本发明实现为一系列功能元件时执行的操作。应理解,这些操作可由微处理器来执行,并且物理元件不必是不同的。具体来说,被示出为与10、11、12、13、19并行或顺序操作的类似处理可由单个元件轮流执行。
视频编码器1和解码器2通过通信链路3相互连接。视频编码器1与数据库4相联,视频编码器1可从数据库4检索用于进行编码并传送到解码器2的数据,解码器2与用于显示经解码数据的显示设备5(例如,电视机)相联。解码器2具有相关联的缓冲存储器6。
视频编码器1包括多个功能元件。编码器1使用“两阶段”处理来对从数据库4检索到的数据进行处理。首先,解析整个序列(10,11,12,13)。从这些结果,将序列分(14)成多个段,并存储(15)这些段的统计值。采用来自编码处理的数据生成比特率和量化级之间的一般关系(16),然后针对每个段识别出最优量化级17。通过平滑处理来修正这一数值18。利用这些统计值,在第二阶段处理中可生成带有“VBR”特性的最终位流(或多个位流)19。这些统计值也可用来防止“缓冲器上溢”和“缓冲器下溢”。
由于是“两阶段”处理,故引入了延迟,这使得该处理主要适用于非实时视频内容(视频点播)。然而应理解,由于不受链接3的带宽限制,所以第一阶段处理所需的处理时间可比传送速率快。
下面将对各个处理进行更详细的讨论。
在第一阶段处理中,首先通过多个并行操作的VBR编码器(10,11,12,13)对视频序列进行分析从而以不同的量化级Q1、Q2、Q3、Q4对该视频序列进行编码。逐帧地进行该步骤。这示出在图3中,图3示出了四个位流,每一个都有自己的量化值。例如,首先以各量化级“Q1”、“Q2”、“Q3”和“Q4”对“帧1”进行编码。然后,以相同的量化值序列对“帧2”进行编码,直到处理了整个序列。该步骤所需的处理功率是标准“VBR”编码器的四倍。经验测试表明,对于以H264标准工作的编码器来说适当的量化值为:Q1=10、Q2=20、Q3=30、Q4=40。这使得可以确定精确的将量化级Q和每帧比特数R相关的R-Q函数(处理16)。对应的计算代价约是典型的“VBR”编码器的四倍。
R-Q函数可应用于可变比特率的多个位流,故以下将其称为“多位流速率(MRC)控制”函数。可以如下进行确定(处理16)。在该实施例中使用了两个数学模型,实验结果表明其对于Q的不同范围都是准确的。
R=a’e-b’Q(MRC函数1)
第二个模型是三次多项式:
R=aQ3+bQ2+cQ+d(MRC函数2)
其中R:平均每帧比特数
Q:量化参数
并且a’、b’、a、b、c、d为要确定的建模参数。
第一个模型在21<Q<50的范围内具有良好的近似性,第二个模型在0<Q<30的范围内具有良好的近似性。
这里需说明的是,由于每帧比特数R随Q(量化参数)值的增加而减少并且两个参量都只能取正值,所以系数a、b、c中的至少一个为负,而a’、b’都必须为正。
“模型1”需要两个建模参数a’、b’,由此需要两个位流来确定这些参数的值,而“模型2”需要四个建模参数,因此需要总共四个位流来确定这些参数的值。
需要指出的是,在20<Q<30的范围内,选择模型需要如下面将参照图4进行描述的另一阶段A“切换机制”,用以确定当Q落入[21,30]范围内时对于所考虑的特定段是“模型1”还是“模型2”将给出“平均每帧比特数”的更精确的预测值。
对于“模型1”,应用Q3=30,Q4=40,由此导出建模参数a’、b’。
对于“模型2”,应用Q1=10,Q2=20,Q3=30,Q4=40,得到建模参数a、b、c、d。
当得到这两个公式后,针对每个公式设定“Q=20”,由此对于这两个模型得出不同的值R20和R20’。
计算这两个值之间的“偏差%(D)”:
D=[(R20’-R20)/R20’]×100%
根据D的绝对值来选择要用来针对21<Q<30范围内的Q值预测“R”的模型。如果-6%<D<+6%,则采用模型1,但是如果D落在+/-6%范围以外,则采用模型2。
与该处理相并行地,通过段生成(Wn)’处理14将视频序列分为长度可变的视频段。“段”生成处理14在该视频序列内定义了各个窗口或段。该处理14使用固定的量化值(例如,Q4=40)从并联的编码器中的一个编码器13提取编码数据,并针对每S帧确定值R(平均每帧比特数),其中“S”是采样率。例如,如果“S=1”,则每帧地执行该检查。更通常的是,将该值设置为等于目标帧率。例如,如果待编码的视频序列的目标帧率是15帧/秒,则将S设定为值15,故而每15帧进行该检查。在图3所示的示例中,整个序列的长度是49帧,并动态地被分为四个单独的段Wn。当然,在另一示例中,根据内容并且根据在编码处理开始时设定的阈值(A)的值,段Wn的数量可能更小或更大。
例外的是,第一段使用的帧数等于由S设定的值的两倍。这意味着“第一次检查”将在第30(2×S=2×15=30)帧后发生。在帧“内”(intraframe)(其要比“P”帧生成更多的比特)的片段开始处要考虑这种情况的存在。由此,在第一段上更好地扩展多个比特,从而产生了更好的VBR特性。
在第一阶段处理期间计算整个视频序列的值R(平均每帧比特数),并存储(15)结果。该值R表示在特定时刻的平均每帧比特数。例如,为了计算第五帧的“R”,为便于说明起见假设前五帧分别生成2000比特、1000比特、500比特、1000比特和500比特,则R(5)=(2000+1000+500+1000+500)/5=1000比特/帧。图2示出了“y轴”中“平均每帧比特数(R)”对“x轴”中“帧号(N)”的典型迹线。
如果R值超出前一R值阈值A(例如,大30%),则将当前帧设置为当前段(Wn)的最新帧,并生成一新段。
阈值是在处理开始时由终端用户设定的。这个值越大,则结果越接近于“VBR”特性。如果该值接近于“0”,则序列将被编码为具有接近于“CBR”的特性。该参数的典型值是30%。
由此,在第一阶段处理期间,如图3所示生成具有不同的固定量化值Q的四个位流,并且根据平均每帧比特数的变化,生成长度可变的段Wn。然后针对[1,50]范围内的不同的量化值“Q”预测每段的平均每帧比特率(R)。
由于段被定义为使得在每个这样的段中R值仅在有限范围内变化,所以可以采用每段中的R值以利用R-Q函数来确定(16)要用在针对整个序列中的每个段进行编码的第二阶段中的适当的量化因子Q(处理17)。适当的R值由此Q值可基于诸如解码器缓冲器容量、传送速率或总存储大小的限制。这些限制可以预设的,或者作为数据从解码器2获得的。
为了选择每段的最优量化值Q,如通过优化处理所确定的,值R被选择为满足下列条件:
R<Tg/f
其中:
R是要根据R-Q函数确定16的平均每帧比特数
f是目标帧率:帧被递送到目的地的速率。
Tg是目标比特率,其代表维持目标帧率所需的比特率
Tg和f值由传送媒体3和用户设备2的性能并且由视频流内容的性质来确定。
例如,如果Tg=20000并且f=10,则R<2000千比特/帧。
可利用R-Q函数来确定最优量化值Qbest。这一处理可应用到分段器14生成的每个段。如果一个段和下一段之间的Q值变化较大,则终端用户会注意到视频质量的突变,这可能是烦扰的。为减弱这种效果,本实施例对由优化器17生成的量化值应用了平滑处理18。该处理示于图4、图5、图6和图7中。
图5的上部迹线例示了如下示例,其中在优化器17中应用了“MRC”函数之后但在进行平滑之前,每个段W有其自己的量化级Q。应注意到,在段“Wn”与相邻段“Wn-1”和“Wn+1”之间的转变(其具有量化级QL和QR)处,量化值Q有突变。而且,注意到低的Q值对应于高的每帧比特数。
图6和图7例示了平滑处理。该处理首先针对所考虑的段设置经修正量化参数Qn’。如果紧接前一段或紧接下一段具有的量化参数比当前窗口的量化参数大预定阈值以上(步骤62到步骤64),则所述经修正量化参数与紧接前一段的量化参数相同。即使对该转变进行了平滑,但是如此大的变化仍会分散人类观察者的注意,因而在此情形下,将量化级保持在其先前值处。
如果该变化小到足够通过平滑处理来调节,则在从一个段到下一段的转变处逐步改变量化值Q(步骤73、步骤74)。这通常是通过增加段中具有较低Q值的的各个帧的Q值(减小每帧比特数)来完成的,因为这样使目的地处缓冲器过载的可能性更小。然而,如果所考虑的段具有比紧邻前一段或紧接后一段二者的量化值都小的量化值,则首先将要采用的Q值设定为这两个值的中值(步骤67),而不是该段的(较小)最优值。
下面将更详细地描述平滑处理。首先,计算段Wn的左边界和右边界处量化值Q的差。
GapLeft=QL-Qn  (步骤60)
GapRight=QR-Qn  (步骤61)
(注意,Qn和QR是优化器17生成的值,但QL是对前一段应用平滑处理时得到的值。继而,利用前一段的要生成的Qn’值来修正QR。)
接着评估这些差值来确定它们是否超过了阈值(步骤62、步骤63)。在该示例中,阈值被设定为+10。
如果GapLeft或GapRight超出了该阈值,则设定为值Qn’=QL,其中Qn’是Q的新值(步骤64)。如果GapLeft和GapRight都不高于该阈值,则进行另一测试以确定差值的符号(步骤65)。如果两个差值之一为负,则设定Qn’=Qn(步骤66),换言之,采用由优化器17导出的值。如果两个差值都为正或为零,则设定Qn’=(QL+QR)/2(步骤67),从而设置了在所考虑的段的紧邻前一段和紧接后一段的值中间的值。对于一个段而言,与由优化器17设定的情况相比,这得到更低的质量(更大的量化值),但是使段之间的质量转变最小。
下面参照图7,采用Qn’值来生成两个新值(步骤70)
GapLeftNew=QL-Qn’
GapRightNew=QR-Qn’
采用这些值来对段Wn的头几帧和末几帧应用平滑处理本身,如步骤73所示。
如果GapLeftNew具有正值,则将相邻帧的量化值QL应用于段Wn的第一帧,对于随后每一帧,将量化值递减“步长值”(Step-value)直到达到最小值Qn’。其后的帧都具有这一最小值Qn’。例如,如果QL=40、Qn’=32且Step-value=1,则得到GapLeftNew=40-32=+8。该值为正,所以对于段的每一帧,从第一帧开始,将量化器“Q”从前一帧的值递减“1”直到达到级Qn’。因此例如,Qn1=40、Qn2=39、Qn3=38、......Qn9=32,其中Qn1是“段Wn”中第一帧的量化值,Qn2指第一帧后的帧的量化值,依次类推。第九帧之后的所有帧都具有值Qn=Q9=32。
类似的是,如果GapRightNew为正,则如下针对段的最末几帧采用同样的方法(步骤72、步骤74)。如果GapRightNew为正,则段的最末帧的“Q”值被增加到QR,每个在前的帧的值比后面的帧的值减小步长值,直到达到最小值Qn’。例如,如果QR=38、Qn’=32且Step-value=1,则GapRightNew=38-32=+6。该值为正,则向段的最末六个帧(Qnlast-5至Qnlast)赋予从Qn’=32逐步增加到QR=38的量化值,即,Qnlast-6=32、Qnlast-5=33、......、Qnlast-2=36、Qnlast-1=37、Qnlast=38。
可以发现对于任意给定的段的GapLeftNew的值在符号上与前一段的GapRightNew相反。如果GapLeftNew为负,则在所考虑的段的开始处量化值(Qn’)没有“逐步”变化(步骤75)。相反,具有正的GapRightNew的前一段会经历平滑处理。类似的是,如果GapRightNew为负,在所考虑的段的末端量化值(Qn’)没有“逐步”变化(步骤75),但随后的段由于GapLeftNew值为正而会经历平滑处理。
如果任一转变处的差值为零,则当然没必要在该转变处进行任何平滑。然而,应注意的是这种偶然事件是不可能的,因为段是根据适当的量化级变化而被定义的。
图5的下部示出了对图中上部的迹线应用平滑处理的结果。使得将平滑处理操作为增加段中具有较小值的帧的Q值(如图5的下部迹线所示)而非增加段中具有较高值的帧的Q值,确保在任何给定的段中Qn’总是大于Qn,从而比特率从不会超过传送媒体3的容量。
从步骤10到步骤18,“第一阶段”结束。在对数据的第二阶段中,如同在传统的VBR编码器中一样,编码器19现在可对整个视频序列进行编码。编码器19采用如通过优化处理17和平滑处理18所确定的各段的估计量化值Q,并将所得位流通过网络3传送到解码器2。
因为从第一阶段可预测任何比特率的最优量化值,因此可以在根据该处理容易地预测同时具有“VBR”特性的多个位流(多流)中的各个位流的适当比特率时对这些多个位流进行编码。第一阶段可在预料到对给定比特率下的相关序列的请求的任何时候进行,或可根据特定的需要而进行。
VBR类型输入存在如下问题,即在接收器2处需确保可获得足够的缓冲资源。要确定两个相关的指标(criterion),即缓冲容量和缓冲延迟。由于每帧比特数是变化的而比特率本身是恒定的,故帧率将是变化的。所需的缓冲延迟是足以允许及时递送并处理最慢的帧(即,具有最高的每帧比特数的帧)以便显示的缓冲延迟,而缓冲容量是由用于存储在被请求前已被解码的帧所需的容量来决定的。由于这些容量取决于每帧比特数的变化,所以在没有与待解码的序列相关的一些数据的情况下无法对其进行预测。
将描述一数学模型来表示针对视频流传输的应用在解码器侧的缓冲器级。
图8例示了解码器2处的缓冲器6这一级,示出了当在固定带宽网络3上传送位流90时如何随时间构建缓冲数据。将定义下面的参数。
T:传送速率(比特/秒)——这是传送信道3的带宽。
f:目标帧率(帧/秒)——这是要通过显示装置5显示位流所表示的帧的速率。
R(t):位流随时间t的平均每帧比特数。这是随时间变化的累积参量。
t:经过时间(秒)。
B(t):插入缓冲器的比特——该参数表示在t时段内插入到缓冲器中的比特数。
B(t)’:从缓冲器中提取的比特——该参数表示在同一t时段内从缓冲器中提取的比特数。
在给定时间t缓冲器中包含的比特数“dB”由下式给出:
dB(t)=B(t)-B(t)’
另外,在时间t内插入到缓冲器中的比特数B(t)由下式给出:
B(t)=T×t
类似的是,同时从缓冲器中提取的比特数B(t)’由下式给出:
B(t)’=R(t)×f×t
结果,在给定时间t留在缓冲器中的净比特数“dB”由下式给出:
dB(t)=B(t)-B(t)’
=(T-R(t)×f)t
假设传送速率是理想的且固定在速率T,在这个函数识别出在给定时间t缓冲器中包含的比特数。由于T和f是预定的,所以dB(t)的值作为R(t)的函数而随时间变化。
缓冲器下溢或“饥饿”是当要在必要的数据到达前解码下一帧时发生的情形,换言之,缓冲器是空的。为避免缓冲器下溢,通常在第一数据到达缓冲存储器之后延迟解码处理的开始。这引入了将视频序列显示给终端用户时的延迟,希望最小化这种延迟。
从上述函数,可确定最小值dBmin(tmin)以及最小值发生的时刻tmin。如果该最小值是负的,也就是说,如果存在如下时刻tmin,则存在下溢情形:在该时刻,直到解码器2的点处接收到的比特数少于被解码用以维持对显示设备5的帧率所需的比特数。
在该实施例中,为避免缓冲器下溢,针对由下式给出的时段要在解码处理开始时引入缓冲延迟:
tb=dBmin(tmin)/T。
由此在解码处理开始前接收到的比特数是T×tb,所以为缓冲器预留该数量的比特。从而dBmin升至零,而缓冲器延迟最小。
在VBR系统中,所需缓冲量是变化的,这是因为在低每帧比特率时,到达的比特数大于它们被解码器处理的速率。如果没有分配足够的内存用来在视频分组被解码前对它们进行存储,则可能发生缓冲器“上溢”。如果在传送视频序列之前能够确定所需的最高的缓冲器大小,则可预先在解码器中保留足够的缓冲器容量。
如已经讨论的,在给定时间t包含在缓冲器中的比特数“dB”由下式给出:
dB(t)=(T-R(t)×f)t
利用该函数,如果R(t)的值是已知的,则可以识别该参量dB(t)达到其峰值的时刻“tmax”。由此,可以确定被分配用以防止缓冲器上溢的缓冲器大小“Bf”:
Bf=dBmax(tmax)+dBmin(tmin)
其中dBmin代表如已经讨论的为防止下溢而为缓冲器预留的比特的绝对最小值。
在实际的VBR传送中,因为tb和Bf取决于本身由编码处理决定的累积变量R(t),故而无法预先预测tb和Bf的值。
编码器可以生成用来控制缓冲器参数的头信息,但这需要额外的开销。
图1例示了根据本发明的方法,该方法可以避免需要任何额外的头信息。根据本发明,提供了处理31、32,通过这些处理,解码器2中的缓冲器6可以利用VBR输入按照避免在解码器的缓冲器中发生任何“下溢”情形的方式进行操作。
图1还例示了处理41、42,通过这些处理,解码器2中的缓冲器6可以按照避免在解码器的缓冲器中发生“上溢”情形的方式进行操作。
所述输入可通过使用上述的步骤10到步骤19的处理来生成,但也可以和其它输入一起被使用。
在本实施例中,在具有固定保证带宽(T)的传送信道上传送位流。回想在给定时间t留在缓冲器中的净比特数“dB”由下式给出:
dB(t)=(T-R(t)×f)t
其中f是帧率,R(t)是累积平均每帧比特数。为避免缓冲器下溢,要求在整个序列中针对所有时间“t”有dB(t)≥0,且满足R(t)≤T/f。为了使累积每帧比特数R(t)小于该最大值,可能不得不省略对表示某些帧的数据的传送。
为实现该目的,对编码器19进行控制31、32以有选择地从省略对表示特定帧的数据的传送,由此避免缓冲器下溢。这可通过以下三种不同的方式来实现:
首先,它可以是“离线”(off-line)处理,该处理可在上述“VBR”编码处理结束后发生。另选的是,可在上述的第二阶段处理期间动态地发生。第三种可能是,该处理发生在传送片段之前且在对整个序列编码之后,通过检查每秒传送了多少帧并根据稍后将描述的规则丢弃帧来进行该处理。
图9例示了带有I帧、P帧和B帧的标准编码视频序列。H264、MPEG-4、MPEG-2和所有相关的视频压缩标准都采用该方案。I帧建立了序列的最初状况,随后的帧是通过确定各帧与相邻帧之间的差异而生成的。针对与前面P(或I)帧的差异对各P帧进行编码,并针对与前面和后面的P帧的差异对各B帧进行编码。可见相邻帧不依赖于B帧,所以如果丢弃它们中一些,则仍可在不损失视频解码质量和一致性的情况下对剩余的帧进行解码。然而,丢弃各个P帧将会影响对相邻帧的解码。故应只丢弃B帧。(需要注意,在确定累积每帧比特数R(t)的值时,将丢弃的B帧计数为大小为零的帧,由此丢弃帧使得每帧总比特数减小。类似的是,接收帧率f的值对丢弃的帧加以考虑)。
如下地确定要被丢弃的B帧的数量。在任何时段t,传送的比特数必须不能超过目标传送速率T。为此,在t时段内,对由帧产生的比特数进行合计(处理31),然后丢弃B帧,从而减去它们的比特数,直到达到目标速率(步骤32)。
∑B(i)≤T×t
其中T:目标传送速率
∑B(i):在t时段内由多个帧产生的比特数的总和。
可随机地或根据诸如“最大优先”的准则(以便需要丢弃较少的帧)有选择地丢弃B帧直到满足条件。这在图10中得到了描述。在每对P帧之间丢弃一个B帧,直到比特数减小到目标数。如果在满足目标之前到达了该段的末尾,则该处理再次开始,在每个P帧之间略去第二个B帧直到满足条件为止。当然,B帧与P帧之比n(B)/n(P)(在该示例中为2)必须足以允许这样执行。
例如,取
目标帧率        f=10帧每秒,
传送速率        T=20000比特/秒,并且
时间窗          t=2秒,
累积比特率/帧   R(t)=2325
帧大小:P1=3500比特,
B2=1500比特,
B3=1800比特,
P4=4000比特,
B5=2200比特,
B6=1000比特,
P7=3000比特,
B8=1300比特,
B9=1300比特,
P10=2800比特。
在该时间帧段被编码的总比特数=2240比特/帧。注意到,该值与R(t)不相同,因为R(t)是直至该点在整个序列上的累积值。
将这些值应用到上面导出的不等式f≤T/R(t),10帧的该窗口产生帧率f’=20000/2325=8.6fps。
为达到目标帧率f=10fps,需要在该窗口中丢弃至少两个B帧以最小化启动延迟,同时避免缓冲器下溢。通过总和∑B(i)≤T×t来确定要丢弃的帧的准确数量。
对帧大小进行求和:
3500+1500+1800+4000+2200+1000+3000+1300+2800=22400=T+2400
换言之,必须通过丢弃“B帧”而去除至少2400比特。从段首开始,我们丢弃头两个P帧中的每一个之后的第一个B帧(即B2、B5)。这使得减少了1500+1800=3300比特,足以满足目标帧率f。
图10例示了如何根据这种方式丢弃B帧。在该示例中,丢弃了两个帧,由此节省了2400比特并允许最小的启动延迟,而且不会发生缓冲器下溢。在整个序列中重复该处理。本发明允许通过在实际传送片段之前修改所传送的信号来避免缓冲器下溢。
为丢弃较少的帧,可允许有残留启动延迟tb。这提供了多个额外的比特E=tb×T。
在整个序列中可采用这些额外的比特来节省一些B帧。例如,如果缓冲被设定为不超过2秒,则由此tb=2秒。如果T=20000比特/秒,则E=2秒×20000比特/秒=40000比特(额外的)。在前一示例中,要求2400比特用于防止丢弃B帧。因此,如果在前述示例中从该时刻(t)所需的比特中减去额外比特,则得到:40000-2400=37600比特>0。
换言之,对于该时刻我们“挽救”了两个“B帧”(未被丢弃),且保留了37600额外比特以用在后面的时刻中,重复该处理直到到达片段的末尾。显然,“缓冲”越大,将被丢弃的“B帧”越少,但启动延迟将会越大。
该处理需要丢弃序列中的特定帧而不进行传送。需要满足特定规则以确保对质量造成的损害最小。再次参照图1,回想分段处理14被设置为使得在任何给定段内量化级的变化限于阈参数A。在将要描述的处理中,当向终端用户递送位流时,该参数将会限制帧率下降。
该阈值的存在确保帧率不会下降到低于由下式给出的值fmin:
fmin=f(1-A)
其中f是目标帧率,A是先前定义的阈值。例如,如果阈值A=30%,并且目标帧率f=25fps,则
fmin=25×(1-0.3)=17.5fps。
在该示例中,整个序列中帧率不会低于17.5fps。
为了可但从B帧中选择要丢弃的帧,“B帧”与“P帧”之比为:
n(B)/n(P)≥kA,
其中,n(B)=“B”帧的数量
n(P)=“P”帧的数量
k是被选择用以补偿尺寸相对较大的P帧(其通常在比B帧大1.5到2倍的范围内)的常数。在下面的示例中,选择k=2。例如,假定阈值A=30%,则“B帧”与“P帧”之比应给出为:n(B)/n(P)≥k×0.3=0.6。
换言之,此处理对于该阈值要求B/P比应不小于0.6。在H264标准的大多数实施中可很容易地设置该比值。当然,当实际速率超过目标帧率时,不需要丢弃任何帧来避免缓冲器饥饿。
应注意的是,尽管丢弃了单个的B帧,但接收器通过比较视频流和对应音频流中的时间戳、或通过利用代替缺失帧而传送的编码的“位置标记”、或者由于接收到的正常模式的B帧和P帧中缺少B帧,可检测到这些帧的缺失。接收器通过重复帧、在帧之间进行内插、或延长现有帧的持续时间来补偿缺失的帧。
根据我们同时待审的题为“防止缓冲器上溢(Buffer OverflowPrevention)”且要求英国申请GB 0428156.4的优先权的国际申请的发明,在对序列的流传输期间,避免缓冲器上溢处理发生在接收器处。对于先前描述的避免下溢系统,这取决于存在B帧以及利用限制每帧比特数的可变性的阈值A对位流进行的编码。
将分配给终端设备的最大内存定义为M。如果超过了该值,将会发生“缓冲器上溢”。已知在对序列进行流传输的整个过程中“缓冲器”的状态由下式表示:
dB(t)=(T-R(t)×f)t。
通过应用前面描述的处理,可确信,对于任何t,dB(t)≥0。
为避免“缓冲器上溢”,对于任何时刻t,dB(t)≤M。将对于最大传送帧率fmax的阈值定义为:fmax≤f(1+A)
其中f:目标帧率
A:阈值变量
fmax:最大实际传送帧率
例如,对于目标帧率f=25fps,阈值变量设定为A=30%,则
fmax≤25×(1+0.3)=32.5帧/秒。
这是最大的传送帧率,其用以构建缓冲内容。
该参量fmax确保在时段t内传送的帧中将会被丢弃的比例不大于A(=30%),因此所得帧率不会下降到目标帧率的30%以下。
通过利用两个参量M和Fmax可避免缓冲器上溢。首先确定比特率(步骤41)。如果满足条件dB(t)≤M,则不必采取任何措施,因为缓冲器上溢不会发生。但是,在不满足该条件的情况下,从最近递送自网络的段中丢弃帧(步骤42)。按照与已关于编码器讨论的方式相同的方式来确定要丢弃的“B帧”的数量:
∑B(i)≤T×t
其中T:目标传送速率
∑B(i):t时刻中包含的多个帧产生的比特之和
可利用与上述相同的规则来丢弃B帧以防止发生下溢,如图9和图10所示。
图11示出了发生在图1中的解码器处的处理42,并例示了为避免“缓冲器上溢”而省略了多个帧中的一个帧(93)内选定的B帧之前和之后的四个帧91、92、93、94的序列。在整个序列中重复该处理。
接收器2对经解码的视频帧时间戳与音频流中的时间戳进行同步7。这造成帧要保持显示更长,或者重复显示该帧直至音频时间戳与其重新同步。
在图1、图9、图10和图11中例示的模式不需要在“视频流会话”之前传送额外的信息,单个的图像的质量不会下降,但是由于省略了特定帧,所以当显示视频时某些感知的质量感觉会丢失。然而,感知的质量将会显著优于通过“CBR”编码获得的质量。该模式也避免需要在片段开始时进行缓冲,由此在不造成缓冲器下溢的情况下使“启动”延迟最小。另外,可以容易地控制缓冲器下溢,从而使得具有有限内存容量的设备能够尽可能高效地显示经VBR编码的视频序列。
本发明可用于控制单个流,或可用于多通道速率控制。换言之,一个流可被递送到与具有不同传送速率(T)或“带宽”的不同“管路(pipe)”相连接的设备。例如,如果应用以上定义的规则并利用目标传送速率T=500kbps对“VBR”片段进行了编码,则该序列可被流传输到与网络相连接的具有宽的带宽范围的若干设备。所有这样的设备可接收到相同的视频质量,但是较低带宽的设备的帧率较低。每个设备根据其连接而设定其“目标传送速率”,以上描述的规则和函数适用于该“目标传送速率”。

Claims (12)

1、一种用于传送数字编码视频流的处理,在该数字编码视频流中对数据的各个段进行编码的速率随生成各段所需的数据量而变化,其中,省略对表示所选帧的数据的传送以使累积帧率不会低于预定值。
2、根据权利要求1所述的处理,其中,针对在给定序列内每帧比特数可以变化的量设定一阈限,从而限制可能被删除的帧数。
3、一种数据解码处理,该数据解码处理被设置为用于识别解码传送中省略了帧的部分,并且用于使所显示的流重新同步。
4、根据权利要求3所述的解码处理,其中,通过在视频流和对应的音频流的时间戳之间进行比较来控制同步。
5、根据权利要求3或4所述的解码处理,其中,重新同步是通过扩展各个帧的持续时间来执行的。
6、根据权利要求3或4所述的解码处理,其中,重新同步是通过对帧进行重复来执行的。
7、一种用于传送数字编码视频流的设备,在该数字编码视频流中对数据的各个段进行编码的速率随生成各段所需的数据量而变化,所述设备包括如下装置,该装置用于有选择地省略对表示所选帧的数据的传送以使累积帧率不会低于预定值。
8、根据权利要求7所述的设备,该设备包括如下装置,该装置用于针对在给定序列内每帧比特数可以变化的量设定一阈限,从而限制可能被删除的帧数。
9、一种用于对数字编码视频流进行解码的设备,在该数字编码视频流中对数据的各个段进行编码的速率随生成各段所需的数据量而变化,所述设备被设置为用于识别解码传送中省略了帧的部分并且用于使所显示的流重新同步。
10、根据权利要求9所述的设备,其中,通过在视频流和对应的音频流的时间戳之间进行比较来控制同步。
11、根据权利要求9或10所述的设备,其中,重新同步是通过扩展各个帧的持续时间来执行的。
12、根据权利要求9或10所述的设备,其中,重新同步是通过对帧进行重复来执行的。
CN200580044041.XA 2004-12-22 2005-12-08 防止缓冲器下溢的速率控制方法和设备 Active CN101084678B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB0428155.6 2004-12-22
GBGB0428155.6A GB0428155D0 (en) 2004-12-22 2004-12-22 Buffer underflow prevention
PCT/GB2005/004717 WO2006067374A1 (en) 2004-12-22 2005-12-08 Rate control with buffer underflow prevention

Publications (2)

Publication Number Publication Date
CN101084678A true CN101084678A (zh) 2007-12-05
CN101084678B CN101084678B (zh) 2014-01-01

Family

ID=34113105

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200580044041.XA Active CN101084678B (zh) 2004-12-22 2005-12-08 防止缓冲器下溢的速率控制方法和设备

Country Status (5)

Country Link
US (1) US8311094B2 (zh)
EP (1) EP1829376A1 (zh)
CN (1) CN101084678B (zh)
GB (1) GB0428155D0 (zh)
WO (1) WO2006067374A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098571B (zh) * 2009-12-14 2013-06-19 中国电信股份有限公司 一种数据动态推送的方法及系统
CN105027572A (zh) * 2013-03-15 2015-11-04 高通股份有限公司 用于通过丢弃视频帧来降低在网络上传送视频所需的比特率的方法
CN111050173A (zh) * 2018-10-12 2020-04-21 三星显示有限公司 显示设备的显示接口及降低其功耗的方法以及编码器
US11361795B2 (en) 2018-02-28 2022-06-14 Sony Corporation Data buffer and data buffer control

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7519274B2 (en) 2003-12-08 2009-04-14 Divx, Inc. File format for multiple track digital data
US8472792B2 (en) 2003-12-08 2013-06-25 Divx, Llc Multimedia distribution system
GB0428160D0 (en) * 2004-12-22 2005-01-26 British Telecomm Variable bit rate processing
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US9025673B2 (en) * 2006-04-05 2015-05-05 Qualcomm Incorporated Temporal quality metric for video coding
US20080094500A1 (en) * 2006-10-20 2008-04-24 Hewlett-Packard Development Company Lp Frame filter
EP2087739A2 (en) 2006-10-25 2009-08-12 Thomson Licensing Methods and apparatus for efficient first-pass encoding in a multi-pass encoder
US7953880B2 (en) 2006-11-16 2011-05-31 Sharp Laboratories Of America, Inc. Content-aware adaptive packet transmission
ES2935410T3 (es) 2007-01-05 2023-03-06 Divx Llc Sistema de distribución de vídeo que incluye reproducción progresiva
US7706384B2 (en) 2007-04-20 2010-04-27 Sharp Laboratories Of America, Inc. Packet scheduling with quality-aware frame dropping for video streaming
US7668170B2 (en) 2007-05-02 2010-02-23 Sharp Laboratories Of America, Inc. Adaptive packet transmission with explicit deadline adjustment
US8305387B2 (en) * 2007-09-07 2012-11-06 Texas Instruments Incorporated Adaptive pulse-width modulated sequences for sequential color display systems
CN101861583B (zh) 2007-11-16 2014-06-04 索尼克Ip股份有限公司 用于多媒体文件的分级及简化索引结构
US20100226441A1 (en) * 2009-03-06 2010-09-09 Microsoft Corporation Frame Capture, Encoding, and Transmission Management
US8638337B2 (en) 2009-03-16 2014-01-28 Microsoft Corporation Image frame buffer management
CN102055966B (zh) * 2009-11-04 2013-03-20 腾讯科技(深圳)有限公司 一种媒体文件的压缩方法和系统
WO2011068668A1 (en) 2009-12-04 2011-06-09 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
CN101931775A (zh) * 2010-09-01 2010-12-29 中兴通讯股份有限公司 一种录像方法及装置
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
CN103621102B (zh) * 2011-05-12 2017-05-03 英特尔公司 用于音频与视频同步的方法、装置及系统
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US9392304B2 (en) * 2012-02-29 2016-07-12 Hulu, LLC Encoding optimization using quality level of encoded segments
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9148647B2 (en) * 2013-02-06 2015-09-29 Mediatek Inc. Electronic devices and methods for processing video streams
US10225298B2 (en) 2015-01-06 2019-03-05 Divx, Llc Systems and methods for encoding and sharing content between devices
CN104683762B (zh) * 2015-01-29 2018-07-17 中国人民解放军理工大学 一种基于缓冲占用比的无人机视频无线自适应传输方法和无线传输系统
TWI744292B (zh) * 2016-03-24 2021-11-01 日商新力股份有限公司 送訊裝置、送訊方法、收訊裝置及收訊方法
US20180183845A1 (en) * 2016-12-22 2018-06-28 Facebook, Inc. Systems and methods for providing content
US10095408B2 (en) 2017-03-10 2018-10-09 Microsoft Technology Licensing, Llc Reducing negative effects of insufficient data throughput for real-time processing
WO2019047059A1 (zh) * 2017-09-06 2019-03-14 深圳市大疆创新科技有限公司 无线数据传输方法和设备
US10979744B2 (en) 2017-11-03 2021-04-13 Nvidia Corporation Method and system for low latency high frame rate streaming
US11640665B2 (en) * 2019-09-27 2023-05-02 Bfly Operations, Inc. Methods and apparatuses for detecting degraded ultrasound imaging frame rates

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5079630A (en) 1987-10-05 1992-01-07 Intel Corporation Adaptive video compression system
GB9012538D0 (en) 1990-06-05 1990-07-25 Philips Nv Coding of video signals
WO1994024822A1 (en) 1993-04-09 1994-10-27 Sony Corporation Method and apparatus for coding image, and image recording medium
US5430485A (en) * 1993-09-30 1995-07-04 Thomson Consumer Electronics, Inc. Audio/video synchronization in a digital transmission system
US5572654A (en) 1994-04-29 1996-11-05 Intel Corporation Method and apparatus for graceful degradation of image playback frames rates
KR100307618B1 (ko) 1994-05-31 2001-11-30 윤종용 영상부호화방법및장치
US5594660A (en) * 1994-09-30 1997-01-14 Cirrus Logic, Inc. Programmable audio-video synchronization method and apparatus for multimedia systems
US5754241A (en) * 1994-11-18 1998-05-19 Sanyo Electric Co., Ltd Video decoder capable of controlling encoded video data
US5677969A (en) * 1995-02-23 1997-10-14 Motorola, Inc. Method, rate controller, and system for preventing overflow and underflow of a decoder buffer in a video compression system
US5619341A (en) 1995-02-23 1997-04-08 Motorola, Inc. Method and apparatus for preventing overflow and underflow of an encoder buffer in a video compression system
JP3307143B2 (ja) 1995-03-20 2002-07-24 松下電器産業株式会社 画像符号化方法及び画像符号化装置
US5729294A (en) 1995-04-05 1998-03-17 International Business Machines Corporation Motion video compression system with novel adaptive quantization
US5612900A (en) 1995-05-08 1997-03-18 Kabushiki Kaisha Toshiba Video encoding method and system which encodes using a rate-quantizer model
US5764293A (en) * 1995-12-26 1998-06-09 C-Cube Microsystems, Inc. Method of encoding video using master and slave encoders wherein bit budgets for frames to be encoded are based on encoded frames
US6037985A (en) 1996-10-31 2000-03-14 Texas Instruments Incorporated Video compression
US7010173B2 (en) * 2000-01-13 2006-03-07 At&T Corp. Video coder employing pixel transposition
US6167085A (en) 1997-07-31 2000-12-26 Sony Corporation Image data compression
US6034731A (en) * 1997-08-13 2000-03-07 Sarnoff Corporation MPEG frame processing method and apparatus
DE69815159T2 (de) 1998-03-20 2004-04-08 Stmicroelectronics Asia Pacific Pte Ltd. Kodierung von bewegten bildern mit globaler konstanter bitrate
US6167084A (en) * 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
JP2000165802A (ja) * 1998-11-25 2000-06-16 Matsushita Electric Ind Co Ltd ストリーム編集装置と編集方法
US7382796B2 (en) * 2000-12-13 2008-06-03 Visible World, Inc. System and method for seamless switching through buffering
US6694060B2 (en) * 2000-12-21 2004-02-17 General Instrument Corporation Frame bit-size allocation for seamlessly spliced, variable-encoding-rate, compressed digital video signals
AU2002245609A1 (en) 2001-03-05 2002-09-19 Intervideo, Inc. Systems and methods of error resilience in a video decoder
US7130316B2 (en) * 2001-04-11 2006-10-31 Ati Technologies, Inc. System for frame based audio synchronization and method thereof
US7209519B2 (en) 2001-04-16 2007-04-24 Mitsubishi Electric Research Laboratories, Inc. Encoding a video with a variable frame-rate while minimizing total average distortion
JP3948266B2 (ja) 2001-12-14 2007-07-25 日本ビクター株式会社 動画像符号化装置、符号化方法、復号化装置、復号化方法及び動画像符号列伝送方法
KR100468726B1 (ko) 2002-04-18 2005-01-29 삼성전자주식회사 실시간 가변 비트율 제어를 수행하는 부호화 장치 및 방법
US7151856B2 (en) 2002-04-25 2006-12-19 Matsushita Electric Industrial Co., Ltd. Picture coding apparatus and picture coding method
KR20050007348A (ko) * 2002-04-26 2005-01-17 더 트러스티스 오브 콜롬비아 유니버시티 인 더 시티 오브 뉴욕 유틸리티 기능 디스크립터에 기초하는 최적의 비디오트랜스코딩 방법 및 시스템
US7450646B2 (en) * 2002-06-04 2008-11-11 Panasonic Corporation Image data transmitting apparatus and method and image data reproducing apparatus and method
JP4428934B2 (ja) * 2003-03-24 2010-03-10 富士通株式会社 映像選択サーバ、映像配信システム、および映像選択方法
US7380028B2 (en) 2003-06-13 2008-05-27 Microsoft Corporation Robust delivery of video data
US7966642B2 (en) * 2003-09-15 2011-06-21 Nair Ajith N Resource-adaptive management of video storage
US8982945B2 (en) * 2003-11-04 2015-03-17 Stmicroelectronics Asia Pacific Pte. Ltd. Apparatus, method, and computer program for encoding video information using a variable bit-rate
GB0428160D0 (en) 2004-12-22 2005-01-26 British Telecomm Variable bit rate processing
GB0428156D0 (en) 2004-12-22 2005-01-26 British Telecomm Buffer overflow prevention

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102098571B (zh) * 2009-12-14 2013-06-19 中国电信股份有限公司 一种数据动态推送的方法及系统
CN105027572A (zh) * 2013-03-15 2015-11-04 高通股份有限公司 用于通过丢弃视频帧来降低在网络上传送视频所需的比特率的方法
US11361795B2 (en) 2018-02-28 2022-06-14 Sony Corporation Data buffer and data buffer control
CN111050173A (zh) * 2018-10-12 2020-04-21 三星显示有限公司 显示设备的显示接口及降低其功耗的方法以及编码器
CN111050173B (zh) * 2018-10-12 2024-05-14 三星显示有限公司 显示设备的显示接口及降低其功耗的方法以及编码器

Also Published As

Publication number Publication date
US20080130737A1 (en) 2008-06-05
CN101084678B (zh) 2014-01-01
WO2006067374A8 (en) 2007-08-02
WO2006067374A1 (en) 2006-06-29
EP1829376A1 (en) 2007-09-05
US8311094B2 (en) 2012-11-13
GB0428155D0 (en) 2005-01-26

Similar Documents

Publication Publication Date Title
CN101084678B (zh) 防止缓冲器下溢的速率控制方法和设备
CN101084676A (zh) 视频信号处理
US9313529B2 (en) Video streaming
US6741648B2 (en) Apparatus, and associated method, for selecting an encoding rate by which to encode video frames of a video sequence
CN106537923B (zh) 自适应视频流的技术
CN101647278B (zh) 用于视频编码标准的改进的视频速率控制
JP4965059B2 (ja) ビデオストリームの切り替え
CN102246531B (zh) 复用视频流传输
US20080084927A1 (en) Real-time network adaptive digital video encoding/decoding
US8996713B2 (en) Video streaming
CN101346989B (zh) 带宽自适应流选择的方法与设备
CN102065302B (zh) 一种基于h.264的可伸缩视频编码方法
CA2334785A1 (en) Video encoder and encoding method with buffer control
AU2002321220B2 (en) Video transmission system video transmission unit and methods of encoding decoding video data
AU2002321220A1 (en) Video transmission system video transmission unit and methods of encoding decoding video data
CN101448157A (zh) 一种视频编码方法和视频编码器
EP2656560B1 (en) A method for delivering video content encoded at one or more quality levels over a data network
WO2006067375A1 (en) Rate control with decoding buffer overflow prevention
US7533075B1 (en) System and method for controlling one or more signal sequences characteristics
US8862758B1 (en) System and method for controlling one or more media stream characteristics
Yuan et al. Latest arrival time leaky bucket for HRD constrained video coding
JP2002218477A (ja) 映像符号化方法、映像符号化装置及び映像中継装置

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