CN103718555B - 低时延速率控制系统和方法 - Google Patents

低时延速率控制系统和方法 Download PDF

Info

Publication number
CN103718555B
CN103718555B CN201280031677.0A CN201280031677A CN103718555B CN 103718555 B CN103718555 B CN 103718555B CN 201280031677 A CN201280031677 A CN 201280031677A CN 103718555 B CN103718555 B CN 103718555B
Authority
CN
China
Prior art keywords
rate control
frame
control block
rate
video
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.)
Active
Application number
CN201280031677.0A
Other languages
English (en)
Other versions
CN103718555A (zh
Inventor
A·杜纳斯
F·R·伊兹奎尔多
G·加西亚
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.)
Kaiwei International Co
Marvell Asia Pte Ltd
Original Assignee
Cavium LLC
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 Cavium LLC filed Critical Cavium LLC
Publication of CN103718555A publication Critical patent/CN103718555A/zh
Application granted granted Critical
Publication of CN103718555B publication Critical patent/CN103718555B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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/176Methods 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 block, e.g. a macroblock
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/115Selection of the code volume for a coding unit prior to coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams

Abstract

在视频传输系统内的编码器在子帧级别上控制比特分配。帧被分成更小的块,被称为速率控制块。速率控制块被用作比特分配的基本单元。这种比特分配实现系统所期望的目标比特速率以及满足时延限制。该编码器使用片分割功能以使用图像帧的一个或多个片生成该速率控制块。这种特征允许译码器对该速率控制块独立地进行译码,并且保证针对每个速率控制块已编码的数据大小被分配。该编码器还针对缓冲器检测溢出状况,并且基于图像帧是否是帧间还是帧内执行用于避免所述溢出状况的操作。

Description

低时延速率控制系统和方法
技术领域
本发明涉及在网络上传输视频信号。更具体地,本发明涉及在具有低时延限制的网络上发送和接收复杂的视频信号。
背景技术
在已知的视频发送/接收系统中,来自数字媒体服务器的数据内容被编码,并且被发送以被译码,用于在数字媒体渲染器上播放。但是,视频内容可能是相当复杂的,因为它随着时间变化。由于复杂度变化,比特速率也需要变化以用于内容的高质量传输。对于给定的压缩质量级别,视频数据的复杂度导致更高的比特速率用于编码数据。但是,网络的容量可能在时间上保持不变,并且不会由于视频数据的复杂度或增加的比特速率而变化。
为了适应在视频编码器处的这个比特速率波动,速率控制被使用以创建在网络上在所有的时间上不变的比特速率。即使在视频的复杂度剧烈地变化时,诸如在场景变化或视频捕捉许多移动或精细特征时,不变的比特速率对于数据的传输仍然有效。速率控制努力保持视频播放质量尽可能的稳定。速率控制尽力在质量稳定性和不变的比特速率要求之间达到折中。
由于速率控制的限制以及满足网络容量所带来的限制,已知系统在传输之前缓冲数据。已编码数据被缓冲,以使得瞬时视频编码器比特速率能够更高,并且低于网络容量,但是发送给网络的已缓冲数据的速率常常等于或低于网络容量。由于比特速率可能大大地增加超过网络容量,所以已知的系统实施更大的缓冲器以适应这些可能的大的增加。但是,更大的缓冲器将时延引入到数据的传输中,以使得延迟出现。
例如,已知的系统可以在编码之后、经过网络发送数据之前缓冲多个帧。大的缓冲器容量导致系统内高的时延。在一些应用中,这种时延是不可接受的。实时视频播放和交互式应用可能不会承担高的时延,并且,所以不能只增加缓冲器的容量来处理复杂的视频传输。实际上,一些应用可能不允许网络中任何显著的时延。因此,缓冲器容量可以被最小化以降低时延,但是之后系统可能不能够处理由于复杂的数据而增加的比特速率波动。
发明内容
本发明的实施例针对要求传输时延低于网络中单个帧的持续时间的场景,控制视频编码器输出比特流速率。本发明的实施例不实施大的缓冲器以处理由于复杂的视频数据编码而带来的比特速率增加,而是转而执行允许在低时延下进行编码的过程。根据所公开的实施例,一个帧或更少可以被缓冲。所提出的速率控制还可以在更高的时延下工作,以还覆盖不要求低时延的系统。
所公开的实施例在帧内分配必要的比特以实现特定的最大比特速率。通过保持低于网络容量,视频发送/接收系统获得实时视频播放所期望的低时延。
所公开的实施例在子帧级别上控制比特分配。帧被分成更小的块,被称为速率控制块。速率控制块被用作比特分配的基本单元。这种比特分配实现系统所期望的目标比特速率以及满足时延限制。所公开的实施例可以使用视频编码器的片分割能力。这种特征允许译码器独立地对速率控制块进行译码。每当针对每个速率控制块的已编码数据大小低于速率控制所分配的比特速率时,针对每个速率控制块的端到端时延将和特定的最大时延差不多。
为了获得低网络时延,所公开的实施例使用能导致满意结果的估计和预测的数值。然而,产生错误估计的概率是存在的,其可以导致针对速率控制块的已分配比特没有被实现的实例。换句话说,比特速率可以高于目标比特速率并且超过缓冲器容量,因此使得时延要求处于危险中。为了避免这个缓冲器溢出的问题,所公开的实施例可以基于速率控制块的“非编码”部分实施缓冲器保护机制。其他的保护机制也可以被使用。
根据优选的实施例,用于在视频传输系统内编码图像帧的方法被公开。该方法包括选择图像帧的速率控制块。该速率控制块包括多个宏块。该方法还包括根据比特速率对速率控制块的多个宏块进行编码。
进一步根据优选的实施例,视频传输编码系统被公开。该视频传输编码系统包括片分割器,其保证来自图像帧的速率控制块将有整数个片。这个特征允许速率控制块被独立地译码。该速率控制块包括多个宏块。视频传输编码系统还包括针对速率控制块对多个宏块进行编码的编码器。视频传输编码系统还包括针对每个速率控制块存储已编码数据的缓冲器。根据针对速率控制块的参数集,视频传输系统的比特速率和缓冲器的容量被设置。
进一步根据优选的实施例,用于在视频传输内对图像帧进行编码的方法被公开。该方法包括收集被用作帧和速率控制块初始设置二者的一部分的统计值。该方法还包括设置缓冲器的容量以接收速率控制的已编码数据。该方法还包括根据对应于缓冲器容量的比特速率,对在速率控制块内的多个宏块进行编码。
附图说明
附图被包括以提供对本发明的进一步理解,并且构成说明书的一部分。下面所列出的图示出本发明的实施例,并且和描述一起用来解释本发明的原理,如权利要求和它们的等效形式所公开的。
图1图示根据所公开的实施例用于发送和接收视频信号数据的系统。
图2A图示根据所公开的实施例示出系统内编码、传输和译码时间的图。
图2B图示根据所公开的实施例示出系统内随着时间比特速率波动的图。
图3图示根据所公开的实施例具有速率控制块的视频帧。
图4图示根据所公开的实施例用于使用速率控制在视频传输编码器内控制比特速率的流程图。
图5图示根据所公开的实施例用于执行宏块级别速率控制的流程图。
具体实施方式
本发明的方面在下面的描述中被公开。在不背离本发明的精神和范围的情况下,本发明的备选实施例和他们的等效形式被设计。将注意,下面所公开的相同的元件由图中相同的附图数字来指示。
图1描绘了根据所公开的实施例用于发送和接收视频信号数据的系统100。系统100可以是任何系统或在网络上连接以共享信息的设备集合。视频信号内的图像帧被接收以在网络上被发送。图像帧内的数据被使用各种编码技术来编码用于传输。
例如,系统100可以是游戏系统,其中视频内容在游戏控制台中被生成,然后被发送给高清晰度数字媒体渲染器,诸如平面电视。备选地,系统100可以是使用高清晰度(HD)视频的安全监控系统。这种实践在监视行业正成为规范,因为现在越来越多的安全摄像机制造商声称提供HD摄像机,这允许监控具有实时高质量视频。
数字媒体服务器102生成带发送的视频内容。数字媒体服务器102可以是捕捉视频数据的任何设备、控制台、摄像机等。例如,数字媒体服务器102是播放存储在磁盘或其他介质上的视频游戏的游戏控制台。从玩游戏生成的内容被显示给用户以观看并且实时交互。备选地,数字媒体服务器102是捕捉数据的计算机、录像机、数字摄像机、扫描仪等。
将无压缩数据信号104从数字媒体服务器102输出到编码器106。编码器106可以编码或压缩信号104用于在系统100内传输。编码器106可以使用有损压缩技术以对信号104进行编码。这些技术的强度可以基于信号104内数据的复杂度而变化。
例如,游戏中向对手舞剑的角色的视频数据,比只是站着的角色的视频更加复杂或非常忙碌,并且可能需要不同编码过程以保持类似的质量。编码器106包括片分割器134,其在下面被更详细的公开。
编码器106输出已压缩信号108到缓冲器110。缓冲器110存储来自信号108的数据,直到它能够通过系统100被传输。如果网络比特速率不允许信号108的传输,那么缓冲器110保留数据直到它能够被发收机114传输的这个时间。
缓冲器110可以具有缓冲器容量的数值。被速率控制用于实现它的目标(时延和比特速率)的缓冲器容量的数值将直接地与所允许的最大的传输时延相关。缓冲器110输出信号112至发收机114。
发收机114在网络118上发送信号116。使用上面的游戏示例,网络118可以是用于如下位置的无线网络,在该位置,路由器从数字媒体服务器102接收信号116,并且将其转发给数字媒体渲染器132用于显示。备选地,网络118可以是从示出实时视频的远程摄像机接收信号116的计算机网络。
发收机120接收信号116并且输出信号122至缓冲器124。缓冲器124可以具有和缓冲器110类似的缓冲器容量的数值。信号126从缓冲器110流至译码器128。译码器128译码或解压缩信号126以生成无压缩信号130。无压缩信号130优选地是无压缩数据信号104的高质量备份,其由于编码过程存在轻微的波动。
数字媒体渲染器132接收无压缩信号130,并且给用户显示视频数据内容。数字媒体渲染器132可以是具有显示分辨率1,280x720像素(720p)或1,920x1,080像素(1080i/1080p)的高清晰度电视。因此,在系统100内被编码和译码的数据量可能由于数字媒体服务器102和数字媒体渲染器132所施加给它的要求而是复杂的。
系统100受到各种限制和参数的影响。系统100可以在网络118上以不变的比特速率传输。这个比特速率在时间上保持相同,但是可以在某些情况下变化。在缓冲器110填满时,延迟或积分时间可能出现,这导致在数据在网络118上被发送时系统100内的时延。
图2A描绘了示出根据所公开的实施例的系统内编码、传输和译码时间的图200。图200包括时间线202,其示出编码时间204、传输时间206和译码时间208。编码时间204可以表示用于由编码器106编码或压缩的最小可译码单元的时间加上在开始编码过程之前所需的某个数量的视频线的时间。
对于所公开的实施例,最小可译码单元可以是一片。在这个时间之后,编码器106能够开始发送这个第一片。传统的方案在开始编码前等到一帧,并且在整个帧被编码后开始发送比特流。这个可以包括2帧的编码时间。系统100通过最小化在开始编码前的等待来最小化编码时间,并且使得最小可译码单元更小。
编码时间204优选地小于或等于最小可译码单元所流逝的时间。例如,如果最小可译码单元是一帧,并且帧210的时间长度是1/60秒,那么编码时间204比系统100内的更小。
传输时间206表示在网络118上传输数据的时间。传输时间206也小于或等于在网络上以预期的容量(等于或小于为速率控制所配置的比特速率)发送缓冲器容量数量的比特所需要的时间段。因此,数据不会以任何可感知的时间长度被缓冲,或者系统100可能不会满足传输上的这些要求。译码时间208表示用于译码或解压缩视频数据的最小可译码单元以重构视频信号的时间。译码时间208也小于或等于用于最小可译码单元的时间段。如果最小可译码单元是一帧,这个时间将小于1帧。
因此,由于编码时间204、传输时间206和译码时间208被保持低于帧210的时间段,系统100内的时延被减少。已知的系统可能包含相反的方法,其中这些时间超过了帧的持续时间。这些延迟在过程中的每一步累积,导致高的时延。更大的缓冲器也增加这些时间。图2A示出如何将时延降低到在系统100中移动帧正好位于实时视频渲染所需要的限制以内的级别。
图2B描绘了示出根据所公开的实施例的、系统内随着时间比特速率波动的图220。图220示出时间线222和视频数据比特速率线224。视频数据比特速率线224随着时间线222延伸时变化。视频数据比特速率线224随着视频编码复杂度的变化而变化。例如,复杂度增加时视频数据比特速率线224上升。
图2B还包括存储视频数据的缓冲器226。缓冲器226可以对应于图1的缓冲器110和124。如所示出的,针对视频数据比特速率线224的所有数据适合于缓冲器226内。视频数据比特速率线224不会超过缓冲器226的限制,不管线224变化多大。缓冲器226还可以具有缓冲器容量。该缓冲器容量可以取决于预期的最小传输时延,根据所公开的实施例为小于一帧。这个容量保证时延被最小化。
可以在系统100内设置数值以适配图2A和图2B上示出的关系。针对网络118的不变比特速率可以设置特定的最大比特速率数值以用于发送和接收视频内容。换句话说,确定所需比特的数值以对视频内容帧进行编码。帧比特数值和预期的时延可以设置缓冲器226的缓冲器容量。例如,如果比特速率是1000比特,并且如果帧的预期大小和预期的传输时延是半个帧,那么缓冲器容量将是500比特。缓冲器226(或缓冲器110和124)中所存储的数据量可以不超过这个数值。因此,系统100内的任何延迟或时延大概等于或小于帧的时间(1/60秒,如果传输到的视频的帧速率是每秒60帧),如图2A所示。
图3描绘了根据所公开的实施例的、具有速率控制块310的视频帧300。优选地,每个视频帧300具有相同数目的比特。如果图片非常繁忙并且要求复杂的编码以捕捉所有的动作,则用于视频帧300的比特速率可以增加。
视频帧300可以由分组形成宏块302的像素组成。每个宏块302包括两个或更多个像素。优选地,宏块302是16像素x16像素。宏块302由编码器106来编码,并且被发送给使用压缩方案或其他算法的译码器128。所发送的信息可以包括视频帧300内的宏块的地址、亮度信息、色度或颜色信息、压缩级别数值和运动矢量信息。
因此,视频帧300可以被分割成多个宏块302。在传统的视频发送和接收系统中,视频帧300内的所有宏块302被编码、缓冲,然后通过网络118发送。所公开的实施例将视频帧300分割成速率控制块310,并且使用这些速率控制块作为编码、传输和译码视频数据的基础。
编码器106的片分割器134保证每个速率控制块有整数个片。速率控制块310也可以被称作子帧。速率控制块310可以被用作在系统100内进行比特分配的基本单元,并且包括多个宏块302。优选地,在每个速率控制块310内的宏块302的个数在5和15之间。速率控制块310可以包括帧300的一个或多个片。
备选地,宏块的个数将依赖于所预期的或要求的最大传输时延。速率控制块310的大小越大,可实现的最小时延越高。注意,相反也成立,所要求的时延越高,所要求的速率控制块越小。
基于宏块302的个数,速率控制块310可以具有对应于速率控制块310的持续时间的目标比特速率。换句话说,由于有更少的信息来编码,针对速率控制块310的目标比特速率应该低于针对视频帧300的速率。这个特征将比特速率波动很好地保持在针对单个视频帧300的缓冲器容量以下。
缓冲器110包括至少等于速率控制块310的缓冲器容量。编码器106可以在每个速率控制块310内的最后一个宏块302被编码之后转发每个速率控制块310。译码器128可以独立地开始每个速率控制块310的译码过程。因此,信息在系统100内以增加的速率和减少的时延被发送。比特速率可能在速率控制块310之间波动以适应视频帧300的“繁忙”的部分,但是决不会高过为速率控制所配置的比特速率。
图4描绘了根据所公开的实施例的、用于使用速率控制块310在视频传输编码器106内控制比特速率的流程图400。步骤402通过为视频帧300确定帧级别初始设置来执行。这些设置可以包括每帧比特数、每帧宏块302的个数、速率控制块310上宏块302的个数、目标比特速率等。步骤404通过在视频帧300内生成速率控制块310来执行。如上所注意的,视频帧300可以包括几个速率控制块310,该速率控制块310包括宏块302。
步骤406通过选择速率控制块310用于编码和传输来执行。例如,参考视频帧300,顶部的速率控制块310可以被初始地选择,依此类推,直到底部的速率控制块310被编码。步骤408通过确定速率控制块初始设置来执行。目标比特速率被选择,并且对应于速率控制块310的持续时间的缓冲器被设置。
编码器106可以基于所选择的速率控制块310的大小分配一些比特。基于这个设置,步骤410通过基于速率控制块310的大小使用目标比特速率执行宏块级别的速率控制来执行。步骤410通过图5被更详细地公开。
步骤412通过对速率控制块310内的一个宏块302进行编码来执行。步骤414通过确定所编码的宏块302是否是速率控制块310内最后的宏块来执行。如果否,那么流程图400回到步骤410以对剩余的宏块302进行编码。如果是,那么步骤416通过执行虚拟缓冲器管理来执行。缓冲器110内已编码的数据被转发到收发机114用于通过网络118传输。因为缓冲器110对应于速率控制块310的大小,来自上面的速率控制块310的数据没有被延迟,同时对后续的速率控制块310进行编码。
步骤418通过确定视频帧300内最后的宏块302是否被编码来执行。如果否,那么流程图400回到步骤406以选择下一个速率控制块310。如果是,那么所有视频帧300已经被编码,并且新的视频帧应该被接收。因此,流程图400回到步骤402。
图5描绘了根据所公开的实施例的、用于执行宏块级别速率控制的流程图500。图500进一步公开图4的步骤410。为了实现低时延,所公开的实施例可以使用估计和预测的针对宏块302的编码数值。这些过程在编码期间“预测”针对宏块302的该数值以减少编码时间。但是,这些预测存在产生错误估计的风险。特别地,这种错误特别地可能出现在和之前帧相比具有很多移动和变化的繁忙的视频帧中。
例如,如果视频帧300描绘了具有一些云彩的蓝天,编码器106可以预测针对速率控制块310内宏块302的数值对于蓝天背景是相同的。在宏块302具有在宏块中飞行的飞机的开始数据时,编码器106预测到它具有针对蓝天的数值,那么错误可能出现。飞机可能是白的,从而宏块302具有和蓝天不同的数值,但是编码器106不管怎样仍然使用预测的数值。这种错误可能导致用于处理复杂的数值变化的高比特速率。
由于系统100上的低时延限制,诸如这些的错误必须要避免。图5所示出的公开的实施例可以执行一些操作以阻止缓冲器溢出以及导致的时延。一种这样的操作可以针对速率控制块310避免接近缓冲器容量的限制。缓冲器110内应留有空间以处理由于复杂的变化而导致的比特速率上任何突然的尖峰。然而,尽管有空间,缓冲器溢出仍可能发生,并且需要相应地进行处理。
步骤502通过确定针对所选择的速率控制块310的当前比特速率是否接近缓冲器溢出来执行。如果否,那么步骤504通过执行针对下一个宏块预测的压缩级别的确定来执行。使用压缩级别的结果,所公开的实施例可以将类似的宏块302预测为在之前已编码视频帧300上正编码的一个宏块。步骤506通过回到流程图400来执行。
如果步骤502为是,那么步骤508确定宏块302是否在整个空间已预测帧(帧内或1帧)或整个时间已预测帧(帧间)视频设置内。如果否,那么步骤510为速率控制块310内剩下的宏块302跳过编码过程。作为代替,逸出(escape)宏块可以被使用。编码器106通知译码器128,当前的帧和之前的帧类似,并且这些宏块可以被用于填充速率控制块310。因此,缓冲器溢出被避免,因为比特速率不会超过缓冲器110的容量。
如果步骤508为是,那么步骤512在速率控制块310内剩下的宏块302上执行特殊的操作。在I-帧环境中,编码器106可能不使用逸出宏块,因为视频数据不涉及之前的视频帧。
帧内编码指代这样的事实,即仅涉及包含在当前帧内的信息而不涉及视频序列中任何其他帧而执行各种无损和有损压缩技术。换句话说,在当前图片或帧之外,不执行时间处理。
因此,预测场景可能对于1-帧视频帧无法工作。步骤512部分地或全部地去除预测残留,以使得最小的信息被发送。编码器106保持使用1-帧宏块302,但是剩余宏块302将具有被设置为0的大部分的预测残留以降低要使用的比特个数。结果是,比特速率被降低以适配在针对缓冲器110所分配的比特速率之内。流程500然后通过步骤506返回流程图400。
对本领域的技术人员而言是清楚的,在不背离本发明的精神或范围的情况下,各种修改和变形可以在隐私卡封面(privacy card cover)的所公开的实施例中进行。因此,本发明旨在涵盖上面所公开的实施例的修改和变形,假设修改和变形在任何权利要求和他们的等价形式的范围之内。

Claims (6)

1.一种用于在视频传输系统内对图像帧进行编码的方法,所述方法包括:
选择所述图像帧的速率控制块,其中所述速率控制块包括多个宏块;
确定速率控制块比特速率;
指定缓冲器容量以对应于所述速率控制块的大小;
根据所述比特速率对所述速率控制块的所述多个宏块进行编码;以及
通过替换地跳过对所述速率控制块的所选择的帧内宏块的编码以及去除所述速率控制块中的帧内宏块的预测残留来避免所述缓冲器的溢出。
2.根据权利要求1所述的方法,其中所述确定步骤包括设置所述比特速率以对应于所述速率控制块的大小。
3.根据权利要求1所述的方法,进一步包括将所述图像帧分割成多个速率控制块。
4.根据权利要求1所述的方法,进一步包括执行宏块级别的速率控制。
5.根据权利要求4所述的方法,进一步包括确定所述缓冲器是否由于已编码的所述多个宏块的大小而处于溢出状态。
6.根据权利要求4所述的方法,其中所述执行宏块级别的速率控制包括复制之前帧的宏块。
CN201280031677.0A 2011-05-04 2012-05-04 低时延速率控制系统和方法 Active CN103718555B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/067,051 2011-05-04
US13/067,051 US8831108B2 (en) 2011-05-04 2011-05-04 Low latency rate control system and method
PCT/US2012/036646 WO2012151548A1 (en) 2011-05-04 2012-05-04 Low latency rate control system and method

Publications (2)

Publication Number Publication Date
CN103718555A CN103718555A (zh) 2014-04-09
CN103718555B true CN103718555B (zh) 2017-02-01

Family

ID=47090227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280031677.0A Active CN103718555B (zh) 2011-05-04 2012-05-04 低时延速率控制系统和方法

Country Status (5)

Country Link
US (2) US8831108B2 (zh)
JP (3) JP2014519246A (zh)
KR (1) KR101809306B1 (zh)
CN (1) CN103718555B (zh)
WO (1) WO2012151548A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
WO2013033458A2 (en) 2011-08-30 2013-03-07 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US8818171B2 (en) * 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US9514664B2 (en) * 2012-09-25 2016-12-06 The Boeing Company Measuring latency in a test system using captured images
US9188644B1 (en) 2012-09-25 2015-11-17 The Boeing Company Latency measurement system and method
US20140187331A1 (en) * 2012-12-27 2014-07-03 Nvidia Corporation Latency reduction by sub-frame encoding and transmission
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9979970B2 (en) * 2014-08-08 2018-05-22 Qualcomm Incorporated System and method for determining buffer fullness for display stream compression
WO2016159610A1 (ko) * 2015-04-02 2016-10-06 주식회사 케이티 비디오 신호 처리 방법 및 장치
US10003811B2 (en) 2015-09-01 2018-06-19 Microsoft Technology Licensing, Llc Parallel processing of a video frame
US20170085886A1 (en) * 2015-09-18 2017-03-23 Qualcomm Incorporated Variable partition size for block prediction mode for display stream compression (dsc)
CN105706448A (zh) * 2015-12-25 2016-06-22 王晓光 一种视频软件的解码方法及系统
CN107241571B (zh) * 2016-03-29 2019-11-22 杭州海康威视数字技术股份有限公司 一种多媒体文件封装、播放方法及装置
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
CN108696771B (zh) * 2017-04-11 2021-03-09 苏州谦问万答吧教育科技有限公司 一种视频播放方法及装置
US10404565B2 (en) * 2017-12-13 2019-09-03 Ford Global Technologies, Llc Simulation latency indication
CN110248205B (zh) * 2018-09-03 2023-03-24 浙江大华技术股份有限公司 一种视频录像数据打包的方法及装置
JP7465073B2 (ja) 2019-10-28 2024-04-10 キヤノン株式会社 画像符号化装置及びその制御方法及びプログラム
CN114245178A (zh) * 2021-12-20 2022-03-25 未来电视有限公司 一种传输视频的方法、装置、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217615A (zh) * 2007-12-27 2008-07-09 北京中星微电子有限公司 一种压缩图像比特率控制的方法及装置
US7929602B2 (en) * 2004-11-11 2011-04-19 Samsung Electronics Co., Ltd. Apparatus and method for performing dynamic capacitance compensation (DCC) in liquid crystal display (LCD)

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9510093D0 (en) * 1995-05-18 1995-07-12 Philips Electronics Uk Ltd Interactive image manipulation
US6055330A (en) * 1996-10-09 2000-04-25 The Trustees Of Columbia University In The City Of New York Methods and apparatus for performing digital image and video segmentation and compression using 3-D depth information
US7277483B1 (en) * 2000-04-18 2007-10-02 Ati International Srl Method and apparatus for rate control for constant-bit-rate finite-buffer-size video encoder
JP4256574B2 (ja) * 2000-08-04 2009-04-22 富士通株式会社 画像信号符号化方法および画像信号符号化装置
JP2002218477A (ja) * 2000-11-20 2002-08-02 Matsushita Electric Ind Co Ltd 映像符号化方法、映像符号化装置及び映像中継装置
TWI226198B (en) * 2003-08-08 2005-01-01 Lite On It Corp Method of buffer management in video encoder
MXPA06013193A (es) * 2004-05-13 2007-02-14 Qualcomm Inc Compresion de encabezado de datos de multimedia transmitidos sobre un sistema de comunicacion inalambrica.
CN1973550B (zh) * 2004-07-07 2010-08-18 汤姆森许可贸易公司 使用冗余视频流的通过dsl的数字视频广播系统中的快速频道改变
CN101061718B (zh) * 2004-11-22 2010-10-13 汤姆森研究基金有限公司 用于数字订户线路系统中的频道改变的方法和设备
CN100459717C (zh) * 2005-04-20 2009-02-04 华为技术有限公司 基于h.264的压缩视频传输误码消除方法
KR100770873B1 (ko) * 2005-07-25 2007-10-26 삼성전자주식회사 영상 부호화시 비트율 제어 방법 및 장치
US7929603B2 (en) * 2006-03-24 2011-04-19 Hewlett-Packard Development Company L.P. System and method for accurate rate control for video compression
JP2007300455A (ja) * 2006-05-01 2007-11-15 Victor Co Of Japan Ltd 算術符号化装置、および算術符号化装置におけるコンテキストテーブル初期化方法
CA2667194C (en) * 2006-10-23 2013-06-25 Vidyo, Inc. System and method for scalable video coding using telescopic mode flags
CN101647278B (zh) * 2006-12-12 2012-05-30 梵提克斯公司 用于视频编码标准的改进的视频速率控制
US7808882B2 (en) * 2007-04-17 2010-10-05 Sharp Laboratories Of America, Inc. Method and system for optimized reference signal downlink transmission in a wireless communication system
KR101345295B1 (ko) 2007-06-11 2013-12-27 삼성전자주식회사 인트라 픽처만을 이용한 동영상 시퀀스의 부호화시의비트율 제어 방법 및 장치
EP2077646A1 (en) * 2008-01-05 2009-07-08 Panasonic Corporation Control channel signaling using code points for indicating the scheduling mode
GB0807804D0 (en) 2008-04-29 2008-06-04 Imagination Tech Ltd Interlaced video edge filtering
JP2009302776A (ja) * 2008-06-11 2009-12-24 Canon Inc 画像符号化装置、その制御方法、及びコンピュータプログラム
US20090310672A1 (en) * 2008-06-13 2009-12-17 W&W Communications, Inc. Method and System for Rate Control in a Video Encoder
US8724694B2 (en) * 2008-10-14 2014-05-13 Nvidia Corporation On-the spot deblocker in a decoding pipeline
US20100166060A1 (en) * 2008-12-31 2010-07-01 Texas Instruments Incorporated Video transcoder rate control
JP5072893B2 (ja) 2009-03-25 2012-11-14 株式会社東芝 画像符号化方法および画像復号化方法
US8817884B2 (en) * 2009-11-20 2014-08-26 Texas Instruments Incorporated Techniques for perceptual encoding of video frames
US20120114034A1 (en) * 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7929602B2 (en) * 2004-11-11 2011-04-19 Samsung Electronics Co., Ltd. Apparatus and method for performing dynamic capacitance compensation (DCC) in liquid crystal display (LCD)
CN101217615A (zh) * 2007-12-27 2008-07-09 北京中星微电子有限公司 一种压缩图像比特率控制的方法及装置

Also Published As

Publication number Publication date
US8831108B2 (en) 2014-09-09
CN103718555A (zh) 2014-04-09
US20120281767A1 (en) 2012-11-08
JP6226490B2 (ja) 2017-11-08
KR101809306B1 (ko) 2017-12-14
US20140376640A1 (en) 2014-12-25
JP2014519246A (ja) 2014-08-07
JP2016119708A (ja) 2016-06-30
JP2017208849A (ja) 2017-11-24
KR20140027393A (ko) 2014-03-06
US9445107B2 (en) 2016-09-13
WO2012151548A1 (en) 2012-11-08

Similar Documents

Publication Publication Date Title
CN103718555B (zh) 低时延速率控制系统和方法
CN101014132B (zh) 编码数据选定设定、再编码数据生成和再编码方法及装置
CN101341757B (zh) 本地宏块信息缓冲器
TWI510097B (zh) 視頻編碼方法和系統
US20180027241A1 (en) Method and Apparatus for Multi-Level Region-of-Interest Video Coding
US20070053428A1 (en) Managed degradation of a video stream
US10743039B2 (en) Systems and methods for interleaving video streams on a client device
US20200288177A1 (en) Encode/decode strategy for mitigating irregular decoding time
EP2410752B1 (en) Image coding apparatus, image coding control method and image coding program
CN105163117B (zh) 一种图像编码方法及装置
TW202112131A (zh) 基於回饋資訊之動態視訊插入
EP4060620A1 (en) Cloud gaming gpu with integrated nic and shared frame buffer access for lower latency
JP2015171114A (ja) 動画像符号化装置
TW201813387A (zh) 低延遲視頻編碼之裝置與方法
US20120281757A1 (en) Scene change detection for video transmission system
US20120281756A1 (en) Complexity change detection for video transmission system
CN112913238A (zh) 用于低等待时间视频写码的有效量化参数预测方法
CN103260027B (zh) 用于展示图像数据的视频系统和方法
JP2011216986A (ja) 映像送信システム、送信装置及び中継装置
JP2011182284A (ja) 画像符号化装置、画像符号化復号化システム、画像符号化方法、画像表示方法
CN107770565A (zh) 低延迟视频编码的装置与方法
CN116195255A (zh) 支持基于观看方向的比特流随机访问
Omori et al. 4K 120fps HEVC temporal scalable encoder with super low delay
JP2024514060A (ja) ストリーミングアプリケーションにおけるビデオデータの微調整
JP2010045857A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1191485

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1191485

Country of ref document: HK

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: California, USA

Patentee after: Cavium, Inc.

Address before: California, USA

Patentee before: Cavium, Inc.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200421

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200421

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: California, USA

Patentee before: Cavium, Inc.