CN101971629B - 用于适配视频信号的目标速率的设备和方法 - Google Patents

用于适配视频信号的目标速率的设备和方法 Download PDF

Info

Publication number
CN101971629B
CN101971629B CN200880127953.7A CN200880127953A CN101971629B CN 101971629 B CN101971629 B CN 101971629B CN 200880127953 A CN200880127953 A CN 200880127953A CN 101971629 B CN101971629 B CN 101971629B
Authority
CN
China
Prior art keywords
video
designator
speed
fresh target
current goal
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
CN200880127953.7A
Other languages
English (en)
Other versions
CN101971629A (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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN101971629A publication Critical patent/CN101971629A/zh
Application granted granted Critical
Publication of CN101971629B publication Critical patent/CN101971629B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • H04L65/1104Session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/18End to end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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
    • H04N21/23805Controlling the feeding rate to the network, e.g. by controlling the video pump
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]

Abstract

本发明公开了一种用于适配从视频提供器[32]向视频接收器[10]发送的视频信号[VS]的当前目标速率的设备、系统和方法。所述方法包括:在视频接收器[10]处,接收视频信号[VS];在视频接收器[10]处,测量所接收的视频信号[VS]的至少一个指示符,所述至少一个指示符不同于分组丢失率;在视频接收器[10]处,基于所接收的视频信号[VS]的当前目标速率、所述至少一个指示符和至少一个参考,计算新目标速率;以及从视频接收器[10]向视频提供器[32]发送新目标速率,以适配当前目标速率。

Description

用于适配视频信号的目标速率的设备和方法
技术领域
本发明总体涉及支持视频的系统、设备、软件和方法,更具体地,涉及用于对频信号的目标速率进行适配的机制和技术。
背景技术
随着互联网和有关技术的发展,并且由于通信网络带宽容量的持续增长,通过互联网对视频信息的传输变得愈加普遍和可靠。过去,由于以下原因,通过互联网传输的视频信号的质量不高。在会话视频电话服务中,视频编码器通常应用预定的速率控制功能,该速率控制功能尝试将平均源比特率常数保持为与给定目标比特率尽可能接近。
在诸如基于IP的视频电话(VToIP)等分组交换网络中,视频分组的传输延迟将出于多种原因而变化。原因之一在于传输链路上变化的负载,这可能引起传输延迟的低频波动,甚至引起突发拥塞峰(例如图1所示)。图1示出了40和50秒之间的拥塞峰的示例。当发射机/接收机不具有目标速率适配并且缓冲器大小为无限大时,出现如图1所示的视频传输延迟。无限大的缓冲器大小意味着分组永远不会因缓冲器溢出而丢失。拥塞峰可能因互联网业务的突然增加而发生,并可能持续长达数秒。在图1中,拥塞从10秒持续至50秒。传统地,拥塞峰可能引起视频数据传输减慢,这将导致在接收机侧,所感知的图像的质量下降,如延迟变化、分组丢失、或所显示的图像卡住和跳跃。因此,过去,不大可能使用互联网而不使用专用传输网络来接收持续特定时间(例如,对于视频会议或视频电话会话可能必要的几分钟)的良好质量的视频信号。
经解码的视频的完整性通常因丢失而受到破坏,这是由于众所周知,视频压缩基于运动补偿,而运动补偿使用先前解码的帧作为未来帧的参考。这些干扰持续多长时间将取决于所使用的帧内刷新(IR)过程(即,不采用运动补偿对帧或帧的部分进行编码)。由于通过无线网络传输视频数据因信道丢失而可能是不可靠的,因此需要IR过程。因信道丢失导致的差错可能不利地影响向用户呈现的视频的质量。特别地,信道差错不仅能够降低当前帧的质量,还降低使用运动估计和补偿技术、根据当前帧产生的后续帧间编码帧的质量。为了限制信道引起的差错从一个帧到另一帧的传播,视频编码器典型地应用IR过程。例如,运动图像专家组(MPEG)或国际电信联盟(ITU)描述了IR过程。
为了解决这些问题,提出了若干现有技术。某些现有技术依赖于接纳控制方法,典型地,当检测到负载量大的通信网络(或节点之间负载量大的链路)时,接纳控制方法阻塞新的会话。这些技术中的某些使用基于从视频接收器到发送器的反馈的视频目标速率适配。
然而,与现有视频目标速率适配方法相关联的一个问题在于,它们通常基于某些平均合计最大容量,而平均合计最大容量可能对由可变速率流的统计复用引起的瞬时(短时间)拥塞不敏感。如果尽力而为业务正在争用相同资源,则瞬时拥塞是相关的并且应当予以解决。还存在更高级的基于测量的动态接纳控制方法,但这些方法通常基于逐链路级而不是端到端级。逐链路级指的是例如多基站和移动电话的系统。两个移动电话经由多条链路彼此连接,每条链路将基站连接至移动电话或者将基站连接至另一基站或连接至另一网络节点(如无线网络控制器、网关或路由器)。两个移动电话之间的链路的数量取决于电话之间的地理距离以及移动电话是否位于相同无线接入网络中。因此,在该特定示例中,两个移动电话之间可能存在多于两条链路,并且控制方法测量每条链路的各种参数。与逐链路级不同,端到端级监控在两个移动电话处接收的信号而不监控在各个网络节点之间的链路处接收的信号。
基于反馈的目标速率适配方法一般使用端到端级监控。然而,现有方法基于宽松的反馈机制,而宽松的反馈机制通常无法应对突发拥塞峰。现有方法的另一问题是:在拥塞期结束后,目标速率回到其原始水平的恢复较差。例如,传统方法基于分组丢失测量来适配目标速率。该方法的第一个问题在于:其花费较长时间在发射机处从接收机接收分组丢失率(PLR)的可靠测量。当认为PLR高时,降低编码器的目标速率,但该过程发生得太晚,拥塞峰甚至可能已经结束。与该方法相关联的另一问题在于:当PLR=0时,难以获知将目标速率提高多少而不引起分组丢失和恶化所发送的视频的质量,由于(i)等于0的所测量的PLR和(ii)降低的目标速率的组合不一定意味着拥塞结束。为了避免该问题,现有方法中的目标速率恢复得非常慢,或者其甚至可以永久保持下降,这将导致视频编码器使用低目标速率,因此甚至在瞬时拥塞峰之后也不必要地使所发送的视频的感知质量下降。
因此,以下示例实施例的目的是解决以上讨论的现有方法和技术的问题中的一个或多个。
发明内容
根据示例实施例,提供了一种用于适配从视频提供器向视频接收器发送的视频信号的当前目标速率的方法。所述方法包括:在视频接收器处,接收视频信号;在视频接收器处,测量所接收的视频信号的至少一个指示符,所述至少一个指示符不同于分组丢失率;在视频接收器处,基于所接收的视频信号的当前目标速率、所述至少一个指示符和至少一个参考,计算新目标速率;以及从视频接收器向视频提供器发送所述新目标速率,以适配当前目标速率。
根据另一示例实施例,提供了一种用于适配从视频提供器向视频接收器发送的视频信号的当前目标速率的方法。所述方法包括:以当前目标速率从视频提供器发送视频信号;在视频提供器处,接收视频接收器所接收的视频信号的至少一个指示符,所述至少一个指示符不同于分组丢失率;在视频提供器处,基于所发送的视频信号的当前目标速率、所述至少一个指示符和至少一个参考,计算新目标速率;以及在视频提供器处,将当前目标速率适配为新目标速率。
根据又一示例实施例,提供了一种用于计算从视频提供器发送的视频信号的新目标速率的设备。所述设备包括:至少一个输入/输出端口,被配置为接收视频信号;处理器,连接至至少一个输入/输出端口,并被配置为根据所接收的视频信号确定至少一个指示符,其中,所述至少一个指示符不同于分组丢失率,所述处理器还被配置为基于所接收的视频信号的当前目标速率、所述至少一个指示符和至少一个参考来计算新目标速率;并且输入/输出端口还被配置为向视频提供器发送新目标速率,使得视频提供器将当前目标速率适配为新目标速率。
根据另一示例实施例,提供了一种用于适配向视频接收器发送的视频信号的当前目标速率的视频提供器。所述视频提供器包括:输入/输出,被配置为以当前目标速率发送视频信号,并接收由视频接收器基于所接收的视频信号测量的至少一个指示符,所述至少一个指示符不同于分组丢失率;以及处理器,被配置为基于所发送的视频信号的当前目标速率、所述至少一个指示符和至少一个参考来计算新目标速率,并将当前目标速率适配为新目标速率。
根据一个示例实施例,提供了一种用于计算从视频提供器发送的视频信号的新目标速率的设备。所述设备包括:用于接收视频信号的装置;用于在该设备处根据所接收的视频信号测量至少一个指示符的装置,所述至少一个指示符不同于分组丢失率;用于在该设备处基于所接收的视频信号的当前目标速率、所述至少一个指示符和至少一个参考来计算新目标速率的装置;并且用于接收的装置还被配置为向视频提供器发送新目标速率,使得所述视频提供器将当前速率适配为新目标速率。
根据另一示例实施例,提供了一种用于适配视频信号的当前目标速率的系统。所述系统包括:视频提供器,被配置为以当前目标速率发送视频信号;视频接收器,被配置为接收视频信号,根据所接收的视频信号测量至少一个指示符,所述至少一个指示符不同于分组丢失率,所述视频接收器还被配置为基于所接收的视频信号的当前目标速率、所述至少一个指示符和至少一个参考来计算新目标速率,并将新目标速率发送至视频提供器;以及基站,被配置为将视频接收器连接至视频提供器。所述视频提供器将当前速率适配为新目标速率。
根据另一示例实施例,提供了一种包括计算机可执行指令的计算机可读介质,其中,当由处理器执行指令时,指令使包括处理器在内的视频接收器计算视频信号的新目标速率。所述指令包括:在视频接收器处,接收视频信号;在视频接收器处,测量所接收的视频信号的至少一个指示符,所述至少一个指示符不同于分组丢失率;在视频接收器处,基于所接收的视频信号的当前目标速率、所述至少一个指示符和至少一个参考,计算新目标速率;以及从视频接收器向视频提供器发送新目标速率,以适配当前目标速率。
缩略语列表
VToIP-基于IP的视频电话;
IR-帧内刷新;
MPEG-运动图像专家组;
ITU-国际电信联盟;
PLR-分组丢失率;
PSNR-峰值信噪比;
CDF-累积分布函数;
CCDF-互补累积分布函数;
LAN-局域网;
VS-视频信号;
RTCP-实时控制协议;
SDP-会话描述协议;
SR-发送器报告;
RR-接收报告;
RTP-实时传输协议;
MBR-最大比特率;
GBR-保证比特率;
DVD-数字多功能盘;
ASIC-特定用途集成电路;
DSP-数字信号处理器;
FPGA-现场可编程门阵列;
IC-集成电路;
FM-调频;
LCD-液晶显示器;
OLED-有机发光二极管;
WLAN-无线局域网。
附图说明
并入并构成说明书一部分的附图示出了一个或多个实施例,并与描述共同对这些实施例进行解释。附图中:
图1是示出了突发拥塞峰的曲线图;
图2是根据示例实施例的支持视频的设备的示意图;
图3是根据示例实施例的视频系统的示意图;
图4是根据示例实施例的调整视频信号的当前目标速率的过程的示意图;
图5是示出了当前目标速率的时间变化的曲线图;
图6是示出了不采用速率适配的接收器中的传输延迟的曲线图;
图7是示出了采用目标速率适配的接收器中的传输延迟的曲线图;
图8是示出了针对3种不同系统的延迟的互补累积分布的曲线图;
图9是示出了传输延迟以及对应的高和低阈值的曲线图;
图10是示出了针对3种不同系统的峰值信噪比(PSNR)的曲线图;
图11是示出了针对3种不同系统的PSNR的累积分布函数(CDF)的曲线图;
图12是示出了用于适配从视频提供器发送至视频接收器的视频信号的当前目标速率的方法的流程图;
图13是示出了用于适配从视频提供器发送至视频接收器的视频信号的当前目标速率的另一方法的流程图;
图14a是根据示例实施例的视频系统的示意图,在该视频系统中,使用基于请求的目标速率适配;
图14b是根据示例实施例的视频系统的示意图,在该视频系统中,使用基于测量的目标速率适配;以及
图15是根据图14a所示的示例实施例的、调整视频信号的当前目标速率的过程的示意图。
具体实施方式
对示例实施例的以下描述参照了附图。不同附图中的相同参考标记标识相同或相似的元件。以下详细描述并不限制本发明。本发明的范围由所附权利要求限定。为了简单起见,关于视频电话的术语和结构,讨论了以下实施例。然而,接下来所讨论的实施例不限于视频电话,而是还可以应用于能够接收视频信号的其他设备。
在整个说明书中,所提到的“一个实施例”或“一实施例”是指结合实施例描述的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书中多处出现的短语“在一个实施例中”或“在一实施例中”不一定都指代相同的实施例。此外,可以在一个或多个实施例中以任意适当的方式组合特定特征、结构或特性。
为了对该讨论提供一定的上下文,图2示出了示例的支持视频的设备10。设备10可以是视频提供器、视频接收器或两者的组合。设备10包括:输入/输出端口12,被配置为接收视频信号VS。输入/输出端口12可以经由总线14连接至天线16或有线线路(未示出),以接收视频信号VS。视频信号VS可以沿有线线路或以无线方式发送至设备10。天线16可以是单天线或多天线,并可以被配置为经由红外、射频或其他已知无线接口接收视频信号VS。输入/输出端口12还连接至处理器18,处理器18接收视频信号VS以进行处理。处理器18可以经由总线14连接至存储器20。存储器20可以存储视频信号VS以及处理器18所必需的其他数据,如视频提供器的数据速率目标。在示例实施例中,设备10可以具有显示器22,显示器22被配置为显示与所接收的视频信号VS相对应的图像。在另一示例实施例中,设备10可以具有能够从用户输入命令的输入/输出接口24,如键盘、鼠标、麦克风、视频摄像机等。在另一示例实施例中,设备10可以具有连接至总线14的测量单元26,测量单元26能够测量所接收的视频信号VS的各种指示符。
各种指示符的示例包括但不限于:传输延迟、缓冲延迟或水平、所接收的比特率或分组速率、分组丢失率等。以下是各种指示符的定义的示例。传输延迟被定义为:从分组从发送设备发送直到在接收器处接收到该分组为止所测量的时间。缓冲延迟是自接收到分组直到消耗分组(如在视频情况下在显示器上呈现)为止分组在存储器缓冲器中花费的时间。缓冲水平指示接收器侧存储器缓冲器中未决分组的数量。所接收的比特率是通过将在特定时段内以比特为单位的所接收的分组大小之和除以该时段的持续时间来测量到的。所接收的分组速率是通过将在特定时段内所接收的分组的数量除以该时段的持续时间来测量到。分组丢失率是特定时段内丢失分组的数量除以该时段的持续时间(通常以百分比给出)。丢失分组是已发送但未到达接收器(或未被接收器消耗)的分组。分组丢失的检测通常基于在发送器侧对分组插入的序列号。支持视频的设备10的示例是计算机、固定电话、移动电话、复印机、传真机、个人数字助理、视频摄像机、照像机等。
在图3中示出的另一示例实施例中,系统30包括设备10以及有线视频提供器32和无线视频提供器36中的至少一个。有线视频提供器32经由网络34连接至设备10,网络34可以是传统电话网络、LAN网络、互联网或任何基于电缆的网络。无线视频提供器36通过无线网络来向设备10(例如可以是移动电话)发送视频信号VS,该无线网络包括通信系统中的基站38、家庭网络中的无线路由器/调制解调器以及其他已知无线提供器中的至少一个。
下面转向描述了对从视频提供器(例如视频提供器32)到视频接收器(例如设备10)的视频数据进行发送和控制的过程40,图4示出了:在步骤42中,视频提供器具有预定发送目标速率,即当前目标速率。在一个示例实施例中,当前目标速率是120,000比特/秒。为了讨论简单起见,将元件32称为视频提供器,并将元件10称为视频接收器。然而,应当注意的是,元件10和32均可以发送和接收视频信号并可以充当接收机/发射机。过程40在高层描述了对视频数据进行发送和控制。稍后讨论与过程40有关的细节。视频信号VS以当前目标速率被发送至视频接收器。根据示例实施例,视频接收器在步骤44中测量所接收的视频信号VS的一个或多个指示符。接着,如下讨论的,基于所测量的指示符来控制视频目标速率。
根据示例实施例,通过基于与传统PLR相比更敏感的指示符(m)的交互式反馈,来控制视频目标速率(例如比特率),使得反馈可以更快地对可能出现在传输网络中的突发拥塞作出反应。例如,如果视频信号每秒发送25帧,那么传统上每秒测量PLR两次,而针对每个所接收的分组测量指示符“m”。在另一示例实施例中,视频接收器10针对每个帧测量指示符。帧可以被分段为n个分组(例如,根据所使用的视频标准,每像条或块组GOB为一个分组),其中,根据源视频的质量类别(即带宽),n是在2和10之间的整数。在一个示例实施例中,可以存在一个或多个这样的指示符mj(j=1至指示符的数量)。指示符可以基于不同的测量,如传输延迟、缓冲延迟或水平、所接收的比特率或分组速率、PLR等。
将所确定的指示符值与对应的固定或适应性参考rk(k=1至参考的数量)进行比较。根据示例实施例,参考是以下至少一项:低通滤波后的延迟、经非对称加权的低通滤波后的延迟、以及基于以低通滤波后的延迟缩放的对高通滤波后的延迟的幂的估计之和的延迟阈值。基于作用于指示符“m”、参考“r”和先前目标速率trold的递归状态函数q(m,r,trold),来确定新目标速率(trnew)。以下方程示出了新目标速率:
tr new = q ( r ‾ , m ‾ , tr old ) , - - - ( 1 )
其中,trold是旧目标速率,
Figure BPA00001221507500092
是表示参考(rk)的矢量,
Figure BPA00001221507500093
是表示指示符(mj)的矢量。函数q(.)被定义为使得,如稍后将讨论的,新目标速率根据指示符mj和参考rk的值,沿正确的方向并以适当的步长改变。在一个示例实施例中,用于目标速率向下适配的函数“q”由以下方程给出:
q ( r ‾ , m ‾ , tr old ) = [ ( highThreshol d i - fixDe l i ) / ( med i - fixDel i ) ] * tr old
r ‾ = { fix Del i , highThreshold i } - - - ( 2 )
m ‾ = { med i } ,
其中,定义函数“q”的量将在稍后加以解释。
根据示例实施例,在步骤46中,在视频接收器处计算新目标速率。备选地,在视频接收器向视频提供器发送所测量的指示符的情况下,可以在视频提供器处计算新目标速率。在步骤48中,向视频提供器反馈所计算的新目标速率,使得视频提供器可以根据存在于网络中的业务和其他条件来调整其视频比特率。(除了交叉业务以外)其他条件的示例是取决于移动客户端的移动的、无线接入中的衰落。如稍后将讨论的,如果网络中的业务少,则视频提供器可以向上调整比特率,而如果网络中的业务多,则可以向下调整比特率。在一个示例实施例中,反馈被理解为表示将新目标速率以信号的方式从视频接收器通知给视频提供器。
根据在反馈环中发送何种信息,目标速率适配可以是基于测量的或基于请求的。如果视频接收器向视频提供器发送所测量的指示符,视频提供器继而计算新目标速率,那么该过程被称为基于测量的适配。备选地,如果接收器知道发送器所使用的目标速率,那么接收器计算新目标速率并将其作为请求发送至发送器。这被称为基于请求的适配。第二种方法就开销信令而言比第一种方法更为高效。本申请的示例实施例适用于这两个过程。然而,为了讨论简单起见,接下来,使用基于请求的过程的术语,并介绍与基于请求的过程有关的示例。
基于测量的目标速率适配的不利之处在于,需要商家(视频提供器、视频接收器以及关联过程的制造者)之间就要测量什么参数以及如何计算目标速率达成共识。基于请求的目标速率适配更加灵活,这是由于该方法无需商家之间的协商,并且无需扩展的传输容量。此外,同基于测量的适配相比,基于请求的目标速率允许接收器使用更多的指示符以及适应性参考以进行适配。就此而言,目标速率的基于测量的适配在指示符和参考的数量方面是受限的,这是由于大量的指示符和参考导致大量的开销传输,而由于有限的可用带宽,这是难以实现的。
当视频提供器在步骤48中接收到由视频接收器计算的新目标速率时,视频提供器在步骤50中调整其当前目标速率,并在步骤52中继续以新目标速率发送视频信号。与使用PLR来确定新目标速率的传统过程相比,上述过程的一个优势在于:如上所述,与PLR不同,过程40所使用的指示符对突发拥塞峰是时间敏感的。
然而,如果实际目标速率改变并且速率改变过程过于频繁地触发新目标速率的确定,则由于发生在视频接收器中的测量和计算的量,视频信号的发送可能受到负面影响。为了防止频繁的目标速率改变和振荡,在示例实施例中可以使用特定的触发条件,即,仅当特定指示符落于预定阈值条件以下时才执行目标速率的改变。对于提高或降低目标速率,可以使用不同的触发条件。换言之,为了提高目标速率,用于向上改变当前目标速率的条件(condup)不同于用于向下改变当前目标速率的条件(conddown)。在一个示例实施例中,该条件可以是基于所测量的指示符和所存储的参考的布尔函数。可选地,该条件可以包括某些定时条件,例如,频繁程度不高于每隔规则实时控制协议(RTCP)时段一次,或不先于通过通知对先前请求或测量作出响应,等等。因此,在该示例实施例,如果这些条件中的任一个为真,就计算新目标速率。
根据另一示例实施例,可以将目标速率限定在特定范围内。因此,不允许目标速率提高至高于特定最大值trmax或降低至低于下限trmin。另一备选方案是:如果请求目标速率低于trmin,则中断视频分量。可以通过控制信令(如SIP/SDP信令中的INVITE和REINVITE,参见例如IETF RFC 4566(2006):“SDP:Session Description Protocol”,其全部内容被并与于此作为参考)来协商该范围。
在以下示例实施例中,更详细地描述调整当前速率的过程。为了示例的目的,以下介绍处理器执行的、用于计算新目标速率以调整当前速率的指令的完整列表。可以使用各种计算机语言环境来向处理器提供指令。在另一实施例中,可以将电路编程为执行指令。以下讨论的指令适用于每个所接收的视频帧“i”。
根据示例实施例,基于使用传输延迟di的估计来实现视频目标速率适配,其中,“i”是帧索引,di是指示符。在基于分组交换的网络中,传输延迟是将所有分组比特推送至线中所需的时间量。换言之,这是由链路的数据速率引起的延迟。传输延迟可以是分组长度的函数,与两个节点之间的距离没有关系。该延迟与以比特为单位的分组长度成正比。该延迟还因分组传播所经过的网络节点的缓冲器中的排队延迟造成。这是交叉业务所引起的传输延迟变化的原因,也是导致拥塞的一个原因。这可以通过请求(竞争的)发送器降低它们的发送比特率从而使分组尺寸变得更小来改进。可选地,除了di指示符,视频目标速率适配还可以使用分组丢失plri作为指示符。(根据IETF的RFC3550),分组丢失指示符plri是在两个连续的RTCP发送器或接收器报告(SR/RR)消息之间的时间间隔内确定的。
各种延迟指示符由以下方程确定:
med i = median j = 0 M - 1 { d ′ i - j }
max i = max j = 0 M - 1 { d ′ i - j } - - - ( 3 )
d ′ i - j = ( Σ k = 0 N i - j d i - j - k ) / N i - j
其中,M是最近接收的完整帧的数量,指示符是在这些帧上确定的,Ni-j是属于帧i-j的分组的数量,“median”和“max”分别是与对帧的传输延迟d’i的值的集合的中值和最大值进行计算相对应的数学函数,其被估计为每帧的独立分组(如果每帧存在大量分组的话)的传输延迟di的平均。在一个示例实施例中,M可以是3。
以毫秒测量的、分组的单个传输延迟di由以下方程确定:
di=tarr,i-TSi/90+clkskew   (4)
其中,tarr,i是分组i的到达时间,TSi是以90kHz时钟为周期的分组“i”的实时传输协议(RTP)时间戳值,clkskew是表示源和目的地之间时钟偏差的未知值。RTP定义了用于通过互联网传递音频和视频的标准化分组格式,该分组格式是由互联网工程任务组的音频视频传输工作组开发的(参见RFC 3550)。取决于以下列出的指令中的di的函数对时钟偏差不敏感,无需要求发送器时间和接收器时间之间的精确同步。在一个示例实施例中,可以容忍视频提供器和视频接收器之间宽松和稳定的漂移时间差。
minMaxi变量被定义为自先前速率适配起在方程组(2)中定义的所有滑动窗口上的最小的最大值,maxMaxi被定义为最大的最大值,并且这些变量由以下方程给出:
min Max i = min j = 0 i i - 1 { max i - j } (5)
max Max i = max j = 0 I i - 1 { max i - j }
其中,maxi-j是在方程组(3)中定义的,Ii是自先前速率适配起帧的数量。
在一个示例实施例中,为了确定对传输延迟的当前最低水平的估计(或者所谓的固定延迟fixDeli),通过在方程组(6)中定义的经非对称加权的低通滤波器来对在方程组(2)中定义的信号medi进行滤波:
fixDeli=(1-aup)·fixDeli+aup·medi如果medi≥fixDeli
fixDeli=(1-adown)·fixDeli+adown·medi如果medi<fixDeli
adown=aup/AWLP_RATIO                (6)
aup=1/(i+1)如果0≤i<FIXDEL_MAX_N
aup=1/FIXDEL_MAX_N如果i≥FIXDEL_MAX_N
其中,FIXDEL_MAX_N是给定的内联常数(在一个示例实施例中,FIXDEL_MAX_N=2000)。
为了获得对短期的到达间抖动水平的估计,通过以下方程(7)来计算在方程组(3)中定义的高通滤波后的帧延迟d’i的绝对值:
hi=|1·d′i-2·d′i-1+1·d′i-2|    (7)
当计算hi时抵消了clkskew
通过方程组(8)来对高通滤波后的信号hi进行低通滤波:
iarrJiti=(1-b)·iarrJiti+b·hi
b=1/(i+1)如果0≤i<IARRJIT_MAX_N    (8)
b=1/IARRJIT_MAX_N如果i≥IARRJIT_MAX_N,
其中,IARRJIT_MAX_N是给定的内联常数(在一个示例实施例中,IARRJIT_MAX_N=1000)。
方程组(9)定义了阈值lowThresholdi和highThresholdi
help=LOW_COEF*iarrJiti
if(help<MIN_LOW_MARGIN)help=MIN_LOW_MARGIN
lowThresholdi=fixDeli+help
help=HIGH_COEF*iarrJiti              (9)
if(help<MIN_HIGH_MARGIN)help=MIN_HIGH_MARGIN
if(help>MAX_HIGH_MARGIN)help=MAX_HIGH_MARGIN
highThresholdi=fixDeli+help,
其中,iarrJiti在方程组(8)中定义,fixDeli在方程组(2)中定义。LOW_COEF、HIGH_COEF、MIN_LOW_MARGIN、MIN_HIGH_MARGIN和MAX_HIGH_MARGIN是内联参数。在一个示例实施例中,使用了以下值:LOW_COEF=1.2、HIGH_COEF=3.5、MIN_LOW_MARGIN=5毫秒、MIN_HIGH_MARGIN=20毫秒以及MAX_HIGH_MARGIN=200毫秒。
通过特定布尔变量condup和conddown来启用或禁用目标速率适配过程,布尔变量可用于嵌入定时约束,如在前一请求之后何时首次允许新目标速率请求。根据示例实施例,使用根据方程组(10)的条件:
boolhelpFlag=(tnow≥tregularRTCP)∨(earlySent=FALSE)
(10)
condup=conddown=helpFlag∧rateNotified,
其中,tnow=当前时间,tregularRTCP=发送规则RTCP SR/RR的下一调度时间(根据IETF的RFC 3550),earlySent=指示最后发送的RTCP消息是否已提早的布尔变量(在IETF的RFC 4585中定义),rateNotified=指示视频接收器是否已接收到目标速率请求的通知的布尔变量。
在以下伪代码中给出了根据一个示例实施例的完整的目标速率请求触发指令集。然而,所属领域技术人员将理解,可以使用指令集的其他变体。该指令集包括:
if(conddown)∧((medi>highThresholdi)∨(plri>0))
{//降低目标速率
  pdown=(highThresholdi-fixDeli)/(medi-fixDeli)//clkskew被抵消
  //pdown>1是可能的,如果(plri>0)∧(medi<highThresholdi)
  if(pdown>1)pdown=1
  pdown=(1-PLOSS_WEIGHT·plri)·pdown
  plri=0    //针对下一时段清除它
 help=(targetRateOld-GBR)/(MBR-GBR)
 limit=PDOWN_MAX-PDOWN_SLOPE·help
 if(pdown<limit)pdown=limit
 exactRate=pdown*exactRate
Figure BPA00001221507500141
   if(targetRateNew<GBR)targetRateNew=GBR
   if(targetRateNew≠targetRateOld)
   {
     maxUpSlope=MIN_UP
     upSlopeStep=0
   }
   minMaxi=999999999  //重置为大值
   maxMaxi=-999999999  //重置为小值
}
else if(condup)∧(minMaxi<lowThresholdi)∧(medi<lowThresholdi)
        ∧(maxMaxi<highThreholdi)∧(plri=0)
{//提高目标速率
  pup=maxUpSlope
  exactRate=pup*exactRate
Figure BPA00001221507500151
  if(exactRate≥MBR)
  {
    exactRate=MBR
    targetRateNew=MBR
  }
  dt=tnom-tprevRTCP
  upSlopeStep=upSlopeStep+dt·STEP_INC  //STEP_INC定义,针对每s
  help=dt·MAX_STEP    //MAX_STEP定义,针对每s
  if(upSlopeStep>help)upSlopeStep=help
  maxUpSlope=maxUpSlope+upSlopeStep
  if(maxUpSlope>MAX_UP)maxUpSlope=MAX_UP
  minMaxi=999999999  //重置为大值
  maxMaxi=0  //重置
 }
 else
 {//如果未改变目标速率则来到这里
   targetRateNew=targetRateOld
 }
方程(1)至(8)中定义了上述指令的某些变量,接下来将解释其余的变量。以下,将静态变量看作在下一次之前记忆其当前值的变量。tprevRTCP是发送规则RTCP SR/RR消息的先前调度的时间(静态变量);regularRTCPInterval是两个连续的规则RTCP SR/RR消息之间的间隔,即,某一标称平均值(在一个示例实施例中为500毫秒)周围的随机值;targetRateOld是最后一次通知的目标,并且在一个示例实施例中,假设该目标速率当前由视频发送器使用;MBR是最大目标比特率(恒定的给定值,在示例实施例中为128000bps);GBR是保证的目标比特率(恒定的给定值,在示例实施例中为60000bps);exactRate是当前目标比特率的精确值,其被设置为等于当从视频发送器接收到时所通知的目标速率(静态变量);maxUpSlope是pup的当前值(静态变量);upSlopeStep是当向上改变目标速率时maxUpSlope以其递增的增量的当前值(静态变量);STEP_INC是当向上改变目标速率时upSlopeStep以其递增的步长(在示例实施例中,该变量每秒给出一次,并需要以规则RTCP SR/RR消息之间的间隔进行缩放)(在示例实施例中是0.00001的内联参数);MAX_STEP是upSlopeStep的最大值,每秒给出一次,并在示例实施例中需要以规则RTCP SR/RR消息之间的间隔进行缩放(在示例实施例中是0.006的内联参数);MAX_UP是maxUpSlope的上限(在示例实施例中是1.1的内联参数);MIN_UP是maxUpSlope的下限(在示例实施例中是1.0001的内联参数);PLOSS_WEIGHT是分组丢失的加权因子(在示例实施例中是0.1的内联参数);PDOWN_MAX是内联参数(在示例实施例中是1.0);PDOWN_SLOPE是内联参数(在示例实施例中是0.5)。
在上述示例实施例中,向下适配与向上适配的表现不同。允许目标速率起初快速下降(快速攻击),此后,以与当前速率和GBR之差同MBR和GBR之(预置恒定的)差的比值成正比地减小最大步长。因此,只要降低目标速率的条件占优,目标速率就渐进地逼近GBR。此外,在一个示例实施例中,仅仅对向下适配允许早期RTCP。在一个示例实施例中,仅当要发送规则RTCP SR/RR分组时,速率才以较慢的速度向上恢复并且执行向上适配。每当向下适配目标速率时,目标速率增加的比例(Pup)被设置为其最小值(MIN_UP)。此后,每当提高目标速率时,以恒定加速度(STEP_INC,每秒给出一次)以二次方提高Pup。因此,当持续干扰结束时,该恢复加速。提高pup(或等同地提高静态变量maxUpSlope)的加速upSlopeStep也向上受限于特定值(MAX_STEP,每秒给出一次)。此外,在一个示例实施例中,不允许pup提高至高于特定上界(MAX_UP)。
在这些示例实施例中,选择参数的值,使得当当前目标速率是MBR时,目标速率值的向下改变至多可以是适配范围MBR-GBR的50%。在一个示例实施例中,向上改变不能大于当前速率的10%。此外,在会话开始时使用特定的稳定时间,以允许适应性参考的初始瞬变经过。在一个示例实施例中,稳定时间被设置为1秒。
在一个示例实施例中,用于调整视频信号的目标速率的过程对时钟偏差不敏感。在该实施例中,以视频源和目的地之间与值为100,000,000的clkskew相对应的clkskew值运行该过程。该过程的结果(在比特精度下)等于与值为0的clkskew相对应的clkskew值。此外,考虑分组丢失,从而如果分组在两个最新规则RTCP SR/RR分组之间的时间间隔期间丢失,则以当前目标速率和每丢失分组的GBR之间的剩余比特率范围的大约10%的额外量,对速率进行向下适配。
下面讨论示意性的特定示例。虽然是示意性的,但本示例并非意在限制示例实施例或暗示其他值、指示符和函数是不可能的。视频目标速率适配的一个目标是:当拥塞开始时,急剧地降低目标速率,以避免或最小化由于缓冲器溢出或超时导致的分组丢失量,并避免大的延迟变化(即,抖动)。与向下适配相比,以更慢速度实现目标速率的向上恢复,以尽可能早地检测到拥塞是否仍占主导,并在必要时使目标速率回降。图5示出了该过程,其中,目标速率在t1时刻高速下落至低速率,并在t1和t2之间以更慢速率恢复。根据该实施例,增加可以基于连续单调的方式,这是由于如图5所示,拥塞在时刻t3=50秒结束。此外,图5示出了该恢复在t3和t4之间加速,并且从t4开始,目标速率回到原始(即,拥塞发生前的)目标速率。因此,根据一个示例实施例,依赖于拥塞的严重性,目标速率在t1和t4之间的恢复是适应性的。换言之,该过程以随时间变化的步长向上调整目标速率。在该示例实施例中,对于时间间隔t1-t2、t2-t3和t3-t4中的每一个,用于向上调整目标速率的步长是不同的。可以使用一个或多个步长来向上调整目标速率。
接下来,将基于上述示例实施例的方法和设备的效率与传统方法的效率进行比较。就此而言,与图1类似,图6示出了当丢弃在途中(或在缓冲器中)未决的时间多于400毫秒截止延迟的分组时不采用目标速率适配的延迟图解。在拥塞期内,该截止延迟引起分组丢失(PLR=3.2%)。图1和6均示出了存在于10和50秒之间的大约40秒的延迟峰,并且对于这些情况,传输延迟处于300至700毫秒的量级。
图7示出了当应用在以上示例实施例中讨论的目标速率适配时的视频传输延迟。缓冲器被认为是有限的,此外不发生分组丢失。与在图1和6中示出的不采用目标速率适配的系统相比,新速率适配过程使传输延迟更小。对于该情形,传输延迟处于150至300毫秒的量级。
图8示出了针对图1、6和7中示出的三种情形的延迟的互补累积分布函数(CCDF)。y轴是延迟大于x轴上的值这一事件的概率。图8示出了:总e2e(端到端)传输延迟的99%分位数(即,曲线与水平线y=0.01的交叉点)在采用速率适配时是最小的,大约为250毫秒,并在不采用速率适配、采用无限缓冲器时最大,大约为750毫秒。因此,根据采用速率适配的该示例实施例,99%的分组的延迟小于250毫秒。
图9示出了针对基于示例实施例的方法的所测量的传输延迟以及高和低阈值。两个阈值定义了期望将传输延迟保持在其中的范围。图9还示出了固定延迟估计。系统试图通过在需要时降低目标速率来将e2e传输延迟保持在高阈值线以下,并确定目标速率,以便每当延迟以高概率低于低阈值线时都提高目标速率,直到目标速率达到MBR为止。
图10示出了时间范围0至70秒内的峰值信噪比(PSNR)。PSNR是所属领域技术人员理解的、通过将经过系统的视频信号与未经过系统的相同视频信号进行比较来测量经过系统的视频信号的感知质量的客观方法。图11示出了针对上述三种情形的PSNR的累积分布函数(CDF)。y轴是PSNR小于x轴上的值这一事件的概率。图10示出了在不采用速率适配时,99%分位数的PSNR大约是18dB,而在采用目标速率适配时大约是31dB。PSNR越高,系统质量越好。因此,对于采用速率适配的情况,99%的帧的PSNR大于31dB。在产生图10和11中所示的数据时,使用了H.264视频编解码器。
根据一个示例实施例,图12示出了用于适配从视频提供器向视频接收器发送的视频信号的当前目标速率的方法的步骤。该方法包括:步骤120,在视频接收器处接收视频信号;步骤122,在视频接收器处测量所接收的视频信的至少一个指示符;步骤124,在视频接收器处,基于所接收的视频信号的当前目标速率、至少一个指示符和至少一个参考,计算新目标速率;以及步骤126,从视频接收器向视频提供器发送该新目标速率,以适配当前目标速率。
根据另一示例实施例,图13示出了用于适配从视频提供器向视频接收器发送的视频信号的当前目标速率的方法的步骤。该方法包括:步骤130,以当前目标速率从视频提供器发送视频信号;步骤132,在视频提供器处接收视频接收器所接收的视频信号的至少一个指示符;步骤134,由视频提供器基于所发送的视频信号的当前目标速率、至少一个指示符和至少一个参考,计算新目标速率;以及步骤136,在视频提供器处,将当前目标速率适配为新目标速率。
根据示例实施例,上述方法和过程可以在图14a所示的系统30中实现。该系统可以包括视频发送器32,视频发送器32经由网络34向视频接收器10发送视频数据。视频发送器32的视频编码器和速率控制单元140以目标速率向视频接收器10发送视频数据。视频接收器10的视频解码器单元142接收视频数据,对视频数据进行解码。测量单元144测量特定的指示符,并且,目标速率适配单元146基于测量来计算新目标速率。新目标速率经由网络34被反馈至视频发送器32,并且,视频发送器32的视频编码器和速率控制140基于来自视频接收器10的反馈来调整其发送速率。图14a仅示出了单向反馈,但上述实施例可以被实现为使得视频发送器和视频接收器向彼此提供反馈,以便每个设备适配其自身的发送速率。图14b示出了示例实施例,其中,在视频发送器30处执行目标速率适配,即,目标速率适配146存在于视频发送器30处,这与基于测量的目标速率适配相对应。
图15是指示了在图14a所示的系统30中如何计算目标速率的框图。在步骤150中,接收器等待下一帧从发送器到达。在步骤152中,当下一帧已经到达时,估计固定延迟。在步骤154中,如上所述,估计到达间抖动水平。在步骤156中,计算目标速率的低和高阈值。在步骤158中,如果预定条件为真,则允许目标速率的适配。如果预定条件为真,则过程前进至步骤160,在步骤160中,确定是否向下适配。在步骤158中,如果预定条件不为真,则过程返回至步骤150。在步骤160中,如果目标速率的适配不是向下的,则过程前进至步骤162。如果适配是向下的,则过程前进至步骤164,其中,向下计算新目标,并将反馈提供给发送器。接着,过程前进至步骤150。在步骤162中,接收器确定目标速率的适配是否是向上的。如果适配是向上的,则过程继续至步骤166,其中,向上计算新目标速率,并将其反馈给发送器。接着,过程前进至步骤150。如果适配不是向上的,则过程返回至步骤150并且不提供反馈。
所公开的示例实施例提供了用于与另一设备交换视频信号的设备、系统、方法和计算机程序产品。应当理解的是,该描述并非意在限制本发明。相反,示例实施例意在涵盖包括在由所附权利要求限定的本发明的精神和范围内的备选、修改和等效方案。此外,在示例实施例的详细描述中,阐述了多种具体细节,以提供对所要求保护的发明的全面理解。然而,所属领域技术人员将理解,可以不使用这些特定细节实现各种实施例。
所属领域技术还将意识到,示例实施例可以以无线通信设备、以电信网络、作为方法或以计算机程序产品加以体现。相应地,示例实施例可以采取完全硬件实施例或结合硬件和软件方面的实施例的形式。此外,示例实施例可以采取存储在计算机可读存储介质上的计算机程序产品的形式,在该介质中体现有计算机可读指令。可以使用任何适当的计算机可读介质,包括硬盘、CD-ROM、数字多功能盘(DVD)、光存储设备或磁存储设备,如软盘或磁带。计算机可读介质的其他非限制性示例包括闪速型存储器或其他已知存储器。
本示例实施例可以在用户终端、基站以及一般地在包括用户终端和基站在内的无线通信网络或系统中实现。示例实施例还可以在特定用途集成电路(ASIC)或数字信号处理器中实现。举例而言,适当的处理器包括通用处理器、专用处理器、传统处理器、数字信号处理器(DSP)、多个微处理器、与DSP核相关联的一个或多个微处理器、控制器、微控制器、特定用途集成电路(ASIC)、现场可编程门阵列(FPGA)电路、任何其他类型的集成电路(IC)、和/或状态机。可以使用与软件相关联的处理器来实现用在视频提供器、视频接收器或任何主机计算机中的控制器。视频接收器可以结合以硬件和/或软件实现的模块(如摄像机、视频摄像机模块、视频电话、扬声器电话、振动设备、扬声器、麦克风、电视收发器、免提耳机、键盘、蓝牙模块、调频(FM)无线电单元、液晶显示器(LCD)显示单元、有机发光二极管(OLED)显示单元、数字音乐播放器、媒体播放器、视频游戏播放器模块、互联网浏览器和/或任意无线局域网(WLAN)模块)来使用。
虽然在实施例中以特定组合描述了本示例实施例的特征和元件,但每个特征或元件可以单独地、不与实施例中的其他特征和元件一起使用,或者与此处公开的其他特征和元件一起或不与此处公开的其他特征和元件一起进行各种组合。可以以有形体现在计算机可读存储介质中以供通用计算机或处理器执行的计算机程序、软件或固件来实现本申请中提供的方法或流程图。

Claims (14)

1.一种用于适配从视频提供器[32]向视频接收器[10]发送的视频信号[VS]的当前目标速率的方法,包括:
在视频接收器[10]处,接收视频信号[VS];
在视频接收器[10]处,测量所接收的视频信号[VS]的至少一个指示符,所述至少一个指示符基于传输延迟、缓冲延迟、缓冲水平、所接收的比特率和所接收的分组速率中的至少一个;
在视频接收器[10]处,基于所接收的视频信号的当前目标速率、所述至少一个指示符和与所述至少一个指示符相对应的至少一个固定或自适应参考,计算新目标速率,所述计算包括:在下一帧到达时,估计固定延迟,估计到达间抖动水平,以及确定针对新目标速率的第一阈值和第二阈值;以及
从视频接收器[10]向视频提供器[32]发送新目标速率,以适配当前目标速率。
2.根据权利要求1所述的方法,还包括:
以随时间改变的步长,向上调整当前目标速率。
3.根据权利要求1至2中任一项所述的方法,还包括:
如果所计算的新目标范围大于所述第一阈值或小于所述第二阈值,则将新目标速率校正至预定范围内。
4.根据权利要求1所述的方法,其中,仅当触发预定条件时,才计算新目标速率,其中所述预定条件包括以下至少一项:
第一条件,指示当前目标速率是否小于所述第二阈值;
第二条件,指示当前目标速率是否大于所述第一阈值;以及
第三条件,如果新目标速率的前一计算与新目标速率的当前计算之间的时间间隔小于预定时间间隔,则阻止计算新目标速率。
5.根据权利要求1至2中任一项所述的方法,其中,所述至少一个参考是:包括多个参考分量在内的矢量量。
6.根据权利要求1至2中任一项所述的方法,其中,所述至少一个指示符是:包括多个指示符分量在内的矢量量。
7.根据权利要求1至2中任一项所述的方法,其中,所述计算还包括:以比向上调整当前目标速率所用的步长更大的步长,向下调整当前目标速率。
8.根据权利要求1至2中任一项所述的方法,还包括:
在视频接收器处,测量所接收的视频信号的分组丢失率;并且
所述计算步骤包括:基于当前目标速率、所述至少一个指示符、分组丢失率和所述至少一个参考,计算新目标速率。
9.一种用于计算从视频提供器发送的视频信号的新目标速率的设备,包括:
至少一个输入/输出端口,被配置为接收视频信号;
处理器,连接至至少一个输入/输出端口,并被配置为根据所接收的视频信号确定至少一个指示符,其中,所述至少一个指示符基于传输延迟、缓冲延迟、缓冲水平、所接收的比特率和所接收的分组速率中的至少一个,所述处理器还被配置为基于所接收的视频信号的当前目标速率、所述至少一个指示符和与所述至少一个指示符相对应的至少一个固定或自适应参考来计算新目标速率,所述计算包括:在下一帧到达时,估计固定延迟,估计到达间抖动水平,以及确定针对新目标速率的第一和第二阈值;并且
所述输入/输出端口还被配置为向视频提供器发送新目标速率,使得视频提供器将当前速率适配为新目标速率。
10.根据权利要求9所述的设备,其中,所述处理器还被配置为:
以随时间改变的步长,向上调整当前目标速率。
11.根据权利要求9所述的设备,其中,所述处理器还被配置为:
以比向上调整当前目标速率所用的步长更大的步长,向下调整当前目标速率。
12.根据权利要求9至11中任一项所述的设备,其中,所述处理器还被配置为:测量所接收的视频信号的分组丢失率;以及基于当前目标速率、所述至少一个指示符、分组丢失率和所述至少一个参考,计算新目标速率。
13.根据权利要求9至11中任一项所述的设备,其中,所述设备是视频接收器,包括电话、计算机、个人数字助理、电视机、机顶盒和摄像机之一。
14.一种用于适配向视频接收器[10]发送的视频信号[VS]的当前目标速率的视频提供器[32],包括:
输入/输出[12],被配置为以当前目标速率发送视频信号[VS],并接收由视频接收器[10]基于所接收的视频信号[VS]测量的至少一个指示符,所述至少一个指示符基于传输延迟、缓冲延迟、缓冲水平、所接收的比特率和所接收的分组速率中的至少一个;以及
处理器[18],被配置为基于所发送的视频信号[VS]的当前目标速率、所述至少一个指示符和与所述至少一个指示符相对应的至少一个固定或自适应参考来计算新目标速率,所述计算包括:在下一帧到达时,估计固定延迟,估计到达间抖动水平,以及确定针对新目标速率的第一和第二阈值,
所述处理器还被配置为将当前目标速率适配为新目标速率。
CN200880127953.7A 2008-03-12 2008-03-12 用于适配视频信号的目标速率的设备和方法 Active CN101971629B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/SE2008/050275 WO2009113924A1 (en) 2008-03-12 2008-03-12 Device and method for adaptation of target rate of video signals

Publications (2)

Publication Number Publication Date
CN101971629A CN101971629A (zh) 2011-02-09
CN101971629B true CN101971629B (zh) 2014-05-21

Family

ID=41065457

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880127953.7A Active CN101971629B (zh) 2008-03-12 2008-03-12 用于适配视频信号的目标速率的设备和方法

Country Status (5)

Country Link
US (1) US8588071B2 (zh)
EP (1) EP2255535B1 (zh)
CN (1) CN101971629B (zh)
BR (1) BRPI0822489B1 (zh)
WO (1) WO2009113924A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775665B2 (en) * 2009-02-09 2014-07-08 Citrix Systems, Inc. Method for controlling download rate of real-time streaming as needed by media player
FR2948249B1 (fr) * 2009-07-20 2011-09-23 Canon Kk Procedes et dispositifs d'estimation d'un niveau d'utilisation d'un reseau de communication et d'adaptation d'un niveau d'abonnements a des groupes multipoints
JP5506362B2 (ja) * 2009-12-15 2014-05-28 キヤノン株式会社 送信装置、送信方法
GB201003206D0 (en) * 2010-02-25 2010-04-14 Skype Ltd Method of estimating congestion
WO2011162650A1 (en) * 2010-06-22 2011-12-29 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for detecting congestion in a communications network
US8863204B2 (en) * 2010-12-20 2014-10-14 Comcast Cable Communications, Llc Cache management in a video content distribution network
US9503490B2 (en) 2012-02-27 2016-11-22 Qualcomm Incorporated Dash client and receiver with buffer water-level decision-making
US9374406B2 (en) * 2012-02-27 2016-06-21 Qualcomm Incorporated Dash client and receiver with a download rate estimator
CN102752212B (zh) * 2012-07-12 2015-08-19 苏州阔地网络科技有限公司 一种传输速率控制方法
CN102945220B (zh) * 2012-10-17 2015-08-12 无锡江南计算技术研究所 基于序号的多队列保序方法
CN105099795A (zh) 2014-04-15 2015-11-25 杜比实验室特许公司 抖动缓冲器水平估计
US20160112825A1 (en) * 2014-10-15 2016-04-21 Qualcomm Incorporated Rendering A Media Stream By Wireless Devices Sharing Device Identifiers And Encryption Keys
JP6439414B2 (ja) * 2014-12-01 2018-12-19 富士通株式会社 通信装置
US10492085B2 (en) 2016-01-15 2019-11-26 Qualcomm Incorporated Real-time transport protocol congestion control techniques in video telephony
CN106210926B (zh) * 2016-07-11 2018-12-04 天津大学 基于模糊控制的视频质量自适应控制方法
US11350268B2 (en) 2018-05-18 2022-05-31 Qualcomm Incorporated End-to-end rate adaptation using RAN assisted rate adaptation
CN110971595B (zh) * 2019-11-22 2021-08-24 浙江中控技术股份有限公司 一种网络通信方法和系统
FI129689B (en) 2020-12-23 2022-06-30 NSION Oy Controlling the data flow between the source node and the destination node
NO346978B1 (en) * 2021-11-26 2023-03-20 Pexip AS Method, system and computer program product for upspeeding in a videoconferencing session

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1725760A (zh) * 2004-07-22 2006-01-25 Lg电子株式会社 测量可变位速率多媒体数据的往返延迟时间的设备与方法
CN1980238A (zh) * 2006-10-30 2007-06-13 上海广电(集团)有限公司中央研究院 基于实时传输/控制协议的h.264流媒体传输控制方法
US7304951B2 (en) * 2000-11-21 2007-12-04 North Carolina State University Methods and systems for rate-based flow control between a sender and a receiver

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990072122A (ko) 1995-12-12 1999-09-27 바자니 크레이그 에스 실시간 영상 전송 방법 및 장치
US6701372B2 (en) * 1997-08-22 2004-03-02 Canon Kabushiki Kaisha Data communication apparatus and method
FI113124B (fi) 1999-04-29 2004-02-27 Nokia Corp Tiedonsiirto
US6894974B1 (en) * 2000-05-08 2005-05-17 Nortel Networks Limited Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
US7003794B2 (en) 2000-06-27 2006-02-21 Bamboo Mediacasting, Inc. Multicasting transmission of multimedia information
FI120125B (fi) 2000-08-21 2009-06-30 Nokia Corp Kuvankoodaus
EP1235392A1 (en) * 2000-09-22 2002-08-28 Matsushita Electric Industrial Co., Ltd. Data transmitting/receiving method, transmitting device, receiving device, transmitting/receiving system, and program
JP3757857B2 (ja) * 2001-12-12 2006-03-22 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
US6910079B2 (en) * 2002-01-25 2005-06-21 University Of Southern California Multi-threshold smoothing
JP3900413B2 (ja) * 2002-02-14 2007-04-04 Kddi株式会社 映像情報伝送方式およびプログラム
KR20050010832A (ko) * 2002-05-22 2005-01-28 코닌클리케 필립스 일렉트로닉스 엔.브이. 채널 전송 속도의 변동을 흡수하기 위해 가상 수신 버퍼를사용하는 전송 방법
AU2003285645A1 (en) 2002-12-20 2004-07-14 Koninklijke Philips Electronics N.V. Multi-track hinting for receiver-driven streaming system
ITBA20030039A1 (it) * 2003-08-29 2005-02-28 Grieco Luigi Alfredo Controllo di congestione rate-based del traffico entrante
KR100843073B1 (ko) * 2005-06-10 2008-07-03 삼성전자주식회사 오류 정정 패킷을 이용한 전송률 제어 방법 및 이를 이용한통신 장치
CN100521687C (zh) 2005-12-09 2009-07-29 北京瑞星国际软件有限公司 识别访问网络的模块的方法及装置
KR101091910B1 (ko) * 2005-12-29 2011-12-08 삼성테크윈 주식회사 실시간 전송 프로토콜을 사용하는 비디오 서버의 제어 방법및 그 기록 매체
US8180283B2 (en) * 2007-02-14 2012-05-15 Alcatel Lucent Method of providing feedback to a media server in a wireless communication system
WO2008111930A1 (en) * 2007-03-09 2008-09-18 Thomson Licensing A method for efficient feedback of receiving channel conditions in adaptive video multicast and broadcast systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7304951B2 (en) * 2000-11-21 2007-12-04 North Carolina State University Methods and systems for rate-based flow control between a sender and a receiver
CN1725760A (zh) * 2004-07-22 2006-01-25 Lg电子株式会社 测量可变位速率多媒体数据的往返延迟时间的设备与方法
CN1980238A (zh) * 2006-10-30 2007-06-13 上海广电(集团)有限公司中央研究院 基于实时传输/控制协议的h.264流媒体传输控制方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
&gt *
&lt *
.2007, *
Emmanuel Jammeh,et al.Delay-based Congestion Avoidance for Video.&lt *
EmmanuelJammeh et al.Delay-based Congestion Avoidance for Video.<<PACKET VIDEO 2007
PACKET VIDEO 2007,IEEE,ISBN:978-1-4244-0980-8&gt *

Also Published As

Publication number Publication date
BRPI0822489B1 (pt) 2020-10-06
US8588071B2 (en) 2013-11-19
WO2009113924A8 (en) 2010-10-07
EP2255535A1 (en) 2010-12-01
CN101971629A (zh) 2011-02-09
US20110013514A1 (en) 2011-01-20
BRPI0822489A2 (pt) 2015-06-16
EP2255535B1 (en) 2015-01-14
EP2255535A4 (en) 2012-03-14
WO2009113924A1 (en) 2009-09-17

Similar Documents

Publication Publication Date Title
CN101971629B (zh) 用于适配视频信号的目标速率的设备和方法
JP4299275B2 (ja) マルチメディアデータ転送率の適応的推定方法
EP1372304B1 (en) Method, transmitter and receiver for adapting the encoding rate to a varying transport rate
JP4838273B2 (ja) メディア内同期化のための適応型メディア再生方法および装置
KR101399509B1 (ko) 시-변화 전송 미디어를 통한 데이터 스트리밍
US20050213502A1 (en) Method and system for controlling operation of a network, such as a WLAN, related network and computer program product therefor
KR101164836B1 (ko) 네트워크 혼잡에 적응하기 위한 시스템 및 방법
US20200014963A1 (en) Latency improvement via frame latency feedback
JP5512699B2 (ja) パケットスイッチングネットワークにおけるフローを制御する方法
CN105284077A (zh) 互联网协议电话带宽管理
Su et al. Smooth control of adaptive media playout for video streaming
CN113301392B (zh) 码率确定方法、装置、设备及存储介质
CN104394484A (zh) 一种无线实时流媒体传输方法
CN111935441B (zh) 一种网络状态检测方法及装置
JP3731665B2 (ja) データ通信システム、情報処理装置および情報処理方法、記録媒体、並びに、プログラム
JP2017069849A (ja) 映像制御装置、映像配信システムおよび映像制御方法
CN111741249B (zh) 一种网络拥塞检测方法及装置
EP1395020A2 (en) Method and apparatus for dynamically controlling a real-time multimedia data generation rate
CN112911650A (zh) 移动高清视频智能双向探测带宽控制系统
US20070177625A1 (en) Packet communication system, packet communication method, transmission apparatus, and storage medium having stored therein computer program
CN114143271B (zh) 一种基于拥塞检测的带宽估算方法及装置
JP2011244097A (ja) 動画再生端末,動画再生方法及びプログラム
US11533237B2 (en) Round-trip estimation
CN111212308B (zh) 一种无线网络自适应调节的方法
JP5522987B2 (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