CN107666366B - 一种调整编码速率的方法、装置及系统 - Google Patents

一种调整编码速率的方法、装置及系统 Download PDF

Info

Publication number
CN107666366B
CN107666366B CN201610606302.2A CN201610606302A CN107666366B CN 107666366 B CN107666366 B CN 107666366B CN 201610606302 A CN201610606302 A CN 201610606302A CN 107666366 B CN107666366 B CN 107666366B
Authority
CN
China
Prior art keywords
terminal
data
coding rate
packet loss
rate
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
CN201610606302.2A
Other languages
English (en)
Other versions
CN107666366A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201610606302.2A priority Critical patent/CN107666366B/zh
Publication of CN107666366A publication Critical patent/CN107666366A/zh
Application granted granted Critical
Publication of CN107666366B publication Critical patent/CN107666366B/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
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0009Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the channel coding
    • H04L1/0013Rate matching, e.g. puncturing or repetition of code symbols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • H04L1/0019Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy in which mode-switching is based on a statistical approach
    • H04L1/0021Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy in which mode-switching is based on a statistical approach in which the algorithm uses adaptive 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供一种调整编码速率的方法、装置及系统,涉及通信领域,能够减小丢包率,从而保证较高的数据质量。该方法包括:第一终端获取第二终端的上行丢包率,该上行丢包率为第二终端向网络侧设备发送数据时的丢包率,该数据包括第二终端经由网络侧设备向第一终端发送的多个数据包;第一终端根据该上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率;第一终端向第二终端发送CMR消息,该CMR消息中携带第一编码速率,该CMR消息用于指示第二终端将第二终端的当前编码速率调整为第一编码速率。

Description

一种调整编码速率的方法、装置及系统
技术领域
本发明涉及通信领域,尤其涉及一种调整编码速率的方法、装置及系统。
背景技术
实时传输协议(英文:real-time transport protocol,RTP)和实时传输控制协议(英文:real-time transport control protocol,RTCP)中提出了编码模式请求(英文:codec mode request,CMR),CMR的作用是本端通知对端调整编码速率,以使得本端和对端的通信可以根据信道状态的变化,实时采用针对该信道的最佳编码速率。
目前,由于RTP和RTCP并没有定义如何得到针对信道的最佳编码速率,因此大多数情况下,在本端和对端的通信过程中,本端通常采用CMR消息向对端发送默认值“F”,以使得对端接收到该CMR消息之后不对对端发送数据的编码速率进行调整,即本端和对端一直采用固定编码速率进行通信(可以理解为在本端和对端的通信过程中,对端一直按照固定编码速率对待传输的语音数据进行编码)。
然而,由于本端和对端一直采用固定编码速率进行通信,因此该编码速率可能无法适应空口及网络负载的变化,从而导致丢包率增大,进而影响数据质量。
发明内容
本申请提供一种调整编码速率的方法、装置及系统,能够减小丢包率,从而保证较高的数据质量。
为达到上述目的,本申请采用如下技术方案:
第一方面,提供一种调整编码速率的方法,该方法包括:第一终端获取第二终端的上行丢包率,该上行丢包率为第二终端向网络侧设备发送数据时的丢包率,该数据包括第二终端经由网络侧设备向第一终端发送的多个数据包;第一终端根据该上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率;并且第一终端向第二终端发送携带第一编码速率的CMR消息,该CMR消息用于指示第二终端将第二终端的当前编码速率调整为第一编码速率。
本申请提供的调整编码速率的方法,通过第一终端获取第二终端的上行丢包率,并根据第二终端的上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率,以及通过CMR消息指示第二终端将第二终端的当前编码速率调整为第一编码速率,即本申请可以根据调整第二终端的编码速率后改善较大的第二终端的上行丢包率实时地调整第二终端的编码速率,如此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,从而能够减小丢包率,进而保证较高的数据质量。
在第一方面的第一种可选的实现方式中,上述第一终端根据该上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率的方法可以为下述情况中的一种:
在该上行丢包率小于或等于第一预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比该当前编码速率的模式等级高一个等级的编码速率;在该上行丢包率大于第一预设阈值且小于第二预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比该当前编码速率的模式等级低两个等级的编码速率;在该上行丢包率大于或等于第二预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比该当前编码速率的模式等级低四个等级的编码速率。
本申请提供的调整编码速率的方法,第一终端具体可以根据第二终端的上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定需要对第二终端的当前编码速率如何进行调整,从而能够在该上行丢包率满足不同条件时选择不同的编码速率,如此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,以能够减小丢包率,并且保证较高的数据质量。
进一步地,本申请中,由于第二终端和第一终端之间的数据质量通常受丢包率和编码速率两个因素的影响,即丢包率越小,数据质量越高,编码速率的等级越高(即编码速率越大),数据质量越高;并且丢包率对数据质量的影响更大,因此本申请可以通过牺牲较小的编码速率来使得丢包率达到更大的改善,从而以提高数据质量。另外,由于在第二终端和第一终端之间传输数据时,第二终端的编码速率的调整,对第二终端的上行丢包率带来的改善大于其对数据质量带来的影响;而第二终端的编码速率的调整,对第一终端的下行丢包率带来的改善基本等同于其对数据质量带来的影响。即如果根据第二终端的上行丢包率调整第二终端的编码速率则能够在一定程度上提高数据质量;而如果根据第一终端的下行丢包率调整第二终端的编码速率则基本不会提高数据质量。所以,为了在调整编码速率时,能够在一定程度上提高调整编码速率的效率,本申请提供的调整编码速率的方法是根据第二终端的上行丢包率调整第二终端的编码速率的。
上述第一预设阈值可以设置为1%,第二预设阈值可以设置为5%。即上述第一预设阈值小于第二预设阈值。
在第一方面的第二种可选的实现方式中,上述第一终端获取第二终端的上行丢包率的方法可以包括:首先,第一终端将第一终端接收上述数据(即第二终端经由网络侧设备向第一终端发送的数据,该数据包括多个数据包)时接收到的数据包中的最大RTP序列号作为第二终端向第一终端发送的数据包的总数量(即第一数量);其次,第一终端根据第一终端接收上述数据时接收到的数据包的RTP序列号,得到在第二终端与第一终端之间传输数据时丢失的数据包的总数量(即第二数量);以及根据第一终端接收上述数据时接收到的数据包的PDCP序列号,得到在网络侧设备与第一终端之间传输数据时丢失的数据包的总数量(即第三数量);然后,第一终端再根据第一数量、第二数量和第三数量,计算第二终端的上行丢包率。
本申请中,第二终端向第一终端发送数据时,第二终端将需要发送的数据拆分为多个数据段,并采用RTP协议依次对该多个数据段进行封装,得到多个RTP数据包,每个RTP数据包的包头中包括RTP序列号,该RTP序列号用于指示该RTP数据包对应的数据段的发送顺序;然后第二终端再采用PDCP协议依次对该多个RTP数据包进行封装,得到多个第一PDCP数据包,每个第一PDCP数据包的包头中包括第一PDCP序列号,第一PDCP序列号用于指示该第一PDCP数据包的发送顺序。第二终端得到多个第一PDCP数据包之后,第二终端按照该多个第一PDCP数据包的发送顺序,采用第二终端的当前编码速率,依次对该多个第一PDCP数据包进行编码后发送给网络侧设备。网络侧设备接收到该多个第一PDCP数据包之后,由于为了保证数据传输的安全,网络侧设备需要重新对该多个第一PDCP数据包进行加密,因此网络侧设备可删除每个第一PDCP数据包的包头中的第一PDCP序列号,然后再重新为每个第一PDCP数据包添加一个新的序列号(以下均称为第二PDCP序列号),得到多个第二PDCP数据包。然后网络侧设备再按照该多个第二PDCP数据包的发送顺序,依次将该多个第二PDCP数据包发送给第一终端,以使得第一终端接收到该多个第二PDCP数据包之后,可以依次采用PDCP协议和RTP协议对该多个第二PDCP数据包进行解封装得到多个数据段,并根据该多个第二PDCP数据包中的RTP序列号将该多个数据段重新组合为数据(即第二终端需要发送给第一终端的数据)。
上述第一方面的第二种可选的实现方式具体实现时,在第一终端根据其接收到的多个数据包(具体为上述描述的第二PDCP数据包)中的RTP序列号将该多个数据包中的多个数据段重新组合为数据的过程中,第一终端可以将该多个数据包中的最大RTP序列号作为第一数量,且根据第一终端接收该多个数据包时接收到的数据包的RTP序列号得到第二数量,并根据第一终端接收该多个数据包时接收到的数据包的第二PDCP序列号得到第三数量,然后再根据第一数量、第二数量和第三数量,获取第二终端的上行丢包率。
在第一方面的第三种可选的实现方式中,上述第一终端根据第一数量、第二数量和第三数量,计算第二终端的上行丢包率的方法可以包括:第一终端根据第一数量、第二数量和第三数量,采用下述公式计算第二终端的上行丢包率。
该公式为:S=(A-B)/C*100%;其中,S表示上行丢包率,A表示第二数量,B表示第三数量,C表示第一数量。
本申请中,第一终端通过上述各种可选的实现方式,可以获取第一数量、第二数量和第三数量,并根据第一数量、第二数量和第三数量,采用上述公式计算第二终端的上行丢包率,如此可以准确地计算出第二终端的上行丢包率。
在第一方面的第四种可选的实现方式中,上述第一数量可以为第一时间段内第二终端向第一终端发送的数据包的总数量;上述第二数量可以为在第二终端与第一终端之间传输数据时第一时间段内丢失的数据包的总数量;上述第三数量可以为在网络侧设备与第一终端之间传输数据时第一时间段内丢失的数据包的总数量;上述上行丢包率可以为第一时间段内的上行丢包率。
上述第一时间段可以为一个单位时间,也可以为由多个单位时间组成的一个时间段,本申请不作限定。
本申请中,通过获取同一个时间段内的第一数量、第二数量和第三数量,可以使得根据第一数量、第二数量和第三数量计算出的上行丢包率比较准确,从而能够提高调整编码速率的准确性。
第二方面,提供一种终端,该终端包括处理器和耦合到处理器的收发机。
处理器,用于通过收发机获取第二终端的上行丢包率,上行丢包率为第二终端向网络侧设备发送数据时的丢包率,该数据包括第二终端经由网络侧设备向该终端发送的多个数据包;并根据该上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率。
处理器,还用于通过收发机向第二终端发送携带第一编码速率的CMR消息,该CMR消息用于指示第二终端将第二终端的当前编码速率调整为第一编码速率。
在第二方面的第一种可选的实现方式中,处理器,具体用于在该上行丢包率小于或等于第一预设阈值的情况下,确定第一编码速率为预设编码速率中比该当前编码速率的模式等级高一个等级的编码速率;或者在该上行丢包率大于第一预设阈值且小于第二预设阈值的情况下,确定第一编码速率为预设编码速率中比该当前编码速率的模式等级低两个等级的编码速率;或者在该上行丢包率大于或等于第二预设阈值的情况下,确定第一编码速率为预设编码速率中比该当前编码速率的模式等级低四个等级的编码速率。
在第二方面的第二种可选的实现方式中,收发机,还用于接收第二终端经由网络侧设备发送的数据包。处理器,具体用于将收发机接收上述数据(即第二终端经由网络侧设备向该终端发送的数据,该数据包括多个数据包)时接收到的数据包中的最大RTP序列号作为第二终端向该终端发送的数据包的总数量(即第一数量);且根据收发机接收上述数据时接收到的数据包的RTP序列号,得到在第二终端与该终端之间传输数据时丢失的数据包的总数量(即第二数量);并根据收发机接收上述数据时接收到的数据包的PDCP序列号,得到在网络侧设备与该终端之间传输数据时丢失的数据包的总数量(即第三数量);以及根据第一数量、第二数量和第三数量,计算该上行丢包率。
在第二方面的第三种可选的实现方式中,处理器,具体用于根据第一数量、第二数量和第三数量,采用公式计算该上行丢包率;公式为:S=(A-B)/C*100%;其中,S表示上行丢包率,A表示第二数量,B表示第三数量,C表示第一数量。
在第二方面的第四种可选的实现方式中,第一数量为第一时间段内第二终端向该终端发送的数据包的总数量;第二数量为在第二终端与该终端之间传输数据时第一时间段内丢失的数据包的总数量;第三数量为在网络侧设备与该终端之间传输数据时第一时间段内丢失的数据包的总数量;第二终端的上行丢包率为第一时间段内第二终端的上行丢包率。
在第二方面的第五种可选的实现方式中,本申请提供的终端还可以包括存储器和系统总线。
存储器用于存储计算机执行指令,处理器、收发机和存储通过系统总线相互连接,当终端运行时,处理器通过执行存储器存储的计算机执行指令执行,以使终端执行上述第一方面及其各种可选的实现方式所示的调整编码速率的方法流程中第一终端执行的步骤。
上述第二方面及其各种可选的实现方式中的处理器还可以为由获取单元和确定单元等功能单元/模块集成实现;上述收发机还可以为由发送单元等功能单元/模块集成实现。
上述第二方面及第二方面的各种可选的实现方式的技术效果具体可以参见上述对第一方面及其各种可选的实现方式的技术效果的相关描述,此处不再赘述。
第三方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机执行指令,当终端的处理器执行该计算机执行指令时,终端执行上述第一方面或第一方面的各种可选方式所述的调整编码速率的方法中第一终端执行的步骤。
上述第三方面的技术效果具体可以参见上述对第一方面及其各种可选的实现方式的技术效果的相关描述,此处不再赘述。
第四方面,提供一种无线通信系统,该无线通信系统包括第一终端和第二终端,第一终端可以为上述第二方面及第二方面的各种可选的实现方式所述的终端,第二终端用于接收第一终端发送的CMR消息,并根据该CMR消息的指示,对第二终端的当前编码速率进行调整。
在第四方面的第一种可选的实现方式中,该无线通信系统还可以包括网络侧设备,第二终端经由该网络侧设备向第一终端发送数据。
上述第四方面及第四方面的各种可选的实现方式的技术效果具体可以参见上述对第一方面及其各种可选的实现方式的技术效果的相关描述,此处不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例。
图1为本发明实施例提供的两个终端之间进行数据传输的场景示意图;
图2为本发明实施例提供的第一终端和第二终端之间的交互协作模式示意图;
图3为本发明实施例提供的调整编码速率的方法示意图一;
图4为本发明实施例提供的调整编码速率的方法示意图二;
图5为本发明实施例提供的终端的硬件示意图。
具体实施方式
本发明的说明书和权利要求书中的术语“第一”、“第二”和“第三”等是用于区别不同的对象,而不是用于描述对象的特定顺序。例如,第一数量、第二数量和第三数量等是用于区别不同的数量,而不是用于描述数量的特定顺序。
在本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本发明的描述中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个数据包是指两个或两个以上的数据包。
本发明实施例提供的调整编码速率的方法、装置及系统,可以应用于两个终端进行数据传输的场景中。通常,该数据传输可以指语音数据传输。相应的,本发明实施例中所提到的数据质量也可以指语音质量。
示例性的,如图1所示,为本发明实施例提供的两个终端(例如为终端1和终端2)之间进行数据传输的场景示意图。在图1中,假设是由终端2向终端1发送数据,那么终端2发送数据后,首先由网络侧设备3接收到该数据,然后再由网络侧设备3向终端1发送该数据,从而完成终端2到终端1之间的数据传输。然而实际数据传输过程中,由于终端(包括终端1和终端2)与网络侧设备之间的空口变化或者网络中终端的数量(即网络负载)的变化,可能会造成终端2到终端1之间的数据传输性能下降,从而导致丢包率增大,进而影响数据质量。
本发明实施例中,如图1所示,假设由终端2向终端1发送数据,那么可将终端1称为第一终端(即接收端),将终端2称为第二终端(即发送端)。将终端2与网络侧设备3之间的数据传输称为第二终端的上行数据传输,将网络侧设备3与终端1之间的数据传输称为第一终端的下行数据传输。其中,在第二终端的上行数据传输过程中的丢包率称为第二终端的上行丢包率;在第一终端的下行数据传输过程中的丢包率称为第一终端的下行丢包率。
为了解决上述问题,本发明实施例提供一种调整编码速率的方法、装置及系统,由于可以根据第二终端的上行丢包率调整第二终端发送数据的编码速率,因此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,从而能够减小丢包率,进而保证较高的数据质量。
如图2所示,为本发明实施例提供的第一终端和第二终端的一种交互协作模式示意图。在图2中,第一终端包括获取单元10、确定单元11和发送单元12;第二终端包括发送单元20、接收单元21和调整单元22;网络侧设备包括发送单元30和接收单元31。本发明实施例中,第二终端的发送单元20向网络侧设备发送数据(该数据包括多个数据包,该多个数据包可以由第二终端的发送单元20依次发送给网络侧设备),网络侧设备的接收单元31接收到该数据后,由网络侧设备的发送单元30向第一终端发送该数据(该多个数据包可以由网络侧设备的发送单元30依次发送给第一终端);第一终端的获取单元10根据该数据获取第二终端的当前编码速率和第二终端的上行丢包率,并且第一终端的确定单元11根据该上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定需要将第二终端的当前编码速率调整为第一编码速率,以及第一终端的发送单元12经网络侧设备将该第一编码速率通过CMR消息发送给第二终端,第二终端的接收单元21接收到该CMR消息之后,第二终端的调整单元22根据该CMR消息中的第一编码速率对第二终端的当前编码速率进行调整,即将第二终端的当前编码速率调整为第一编码速率(该第一编码速率即为图2中所示的调整后的编码速率)。如此,由于可以根据第二终端的上行丢包率调整第二终端的编码速率,因此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,从而能够减小丢包率,进而保证较高的数据质量。
进一步地,如图2所示,第一终端还可以包括存储单元13;第二终端还可以包括存储单元23。第一终端的存储单元13和第二终端的存储单元23可用于存储第一终端和第二终端之间传输的数据、第二终端的当前编码速率以及第一编码速率等。第一终端的存储单元13还可以存储第二终端的上行丢包率、第一预设阈值、第二预设阈值以及预设编码速率等。其中,预设编码速率可以为RTP和RTCP中定义的不同模式等级的编码速率,这些不同模式等级的编码速率可以形成一个编码速率表,这些不同模式等级的编码速率在该编码速率表中通常按照模式等级由低到高顺序排列。具体的,将在下述实施例中进行示例性的描述,此处不再赘述。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
结合图1,如图3所示,本发明实施例提供一种调整编码速率的方法,该方法包括S101-S110:
S101、第二终端向网络侧设备发送数据。
S102、网络侧设备接收第二终端发送的该数据。
S103、网络侧设备向第一终端发送该数据。
S104、第一终端接收网络侧设备发送的该数据。
当第二终端需要向第一终端传输数据时,通过上述S101-S104,第二终端即可完成向第一终端传输数据。
其中,上述数据包括多个数据包。通过上述S101-S104,第二终端可以经由网络侧设备依次向第一终端发送该多个数据包。
本领域技术人员可以理解,第二终端向第一终端发送数据时,均是按照数据包为单位发送的。具体的,第二终端将需要发送的数据拆分为多个数据段,并采用RTP协议依次对该多个数据段进行封装,得到多个RTP数据包,每个RTP数据包的包头中包括RTP序列号,该RTP序列号用于指示该RTP数据包对应的数据段的发送顺序;然后第二终端再采用分组数据汇聚协议(英文:packet data convergence protocol,PDCP)协议依次对该多个RTP数据包进行封装,得到多个第一PDCP数据包,每个第一PDCP数据包的包头中包括第一PDCP序列号,第一PDCP序列号用于指示该第一PDCP数据包的发送顺序。第二终端得到多个第一PDCP数据包之后,第二终端按照该多个第一PDCP数据包的发送顺序,采用第二终端的当前编码速率,依次对该多个第一PDCP数据包进行编码后发送给网络侧设备。网络侧设备接收到该多个第一PDCP数据包之后,由于为了保证数据传输的安全,网络侧设备需要重新对该多个第一PDCP数据包进行加密,因此网络侧设备可删除每个第一PDCP数据包的包头中的第一PDCP序列号,然后再重新为每个第一PDCP数据包添加一个新的序列号(以下均称为第二PDCP序列号),得到多个第二PDCP数据包。然后网络侧设备再按照该多个第二PDCP数据包的发送顺序,依次将该多个第二PDCP数据包发送给第一终端,以使得第一终端接收到该多个第二PDCP数据包之后,可以依次采用PDCP协议和RTP协议对该多个第二PDCP数据包进行解封装得到多个数据段,并根据该多个第二PDCP数据包中的RTP序列号将该多个数据段重新组合为数据(即第二终端需要发送给第一终端的数据)。
上述第一PDCP数据包中的数据内容和第二PDCP数据包的数据内容相同,但第一PDCP数据包的包头中的第一PDCP序列号和第二PDCP数据包的包头中的第二PDCP序列号不同,即第一PDCP序列号为第二终端添加的PDCP序列号;第二PDCP序列号为网络侧设备添加的PDCP序列号。
需要说明的是,上述仅以第二终端采用RTP协议和PDCP协议进行封装,以及第一终端采用PDCP协议和RTP协议进行解封装为例进行示例性的说明,实际应用过程中,还可以包括采用其他通信协议进行的更多层的封装,具体的可以参见现有技术中对数据传输过程的相关描述,此处不再赘述。
S105、第一终端根据该数据,获取第二终端的上行丢包率。
需要说明的是,本发明实施例中,由于第二终端和第一终端之间的数据质量通常受丢包率和编码速率两个因素的影响,即丢包率越小,数据质量越高,编码速率的等级越高(即编码速率越大),数据质量越高;并且丢包率对数据质量的影响更大,因此本申请可以通过牺牲较小的编码速率来使得丢包率达到更大的改善,从而以提高数据质量。另外,由于在第二终端和第一终端之间传输数据时,第二终端的编码速率的调整,对第二终端的上行丢包率带来的改善大于其对数据质量带来的影响;而第二终端的编码速率的调整,对第一终端的下行丢包率带来的改善基本等同于其对数据质量带来的影响。即如果根据第二终端的上行丢包率调整第二终端的编码速率则能够在一定程度上提高数据质量;而如果根据第一终端的下行丢包率调整第二终端的编码速率则基本不会提高数据质量。所以,为了在调整编码速率时,能够在一定程度上提高调整编码速率的效率,本申请提供的调整编码速率的方法是根据第二终端的上行丢包率调整第二终端的编码速率的。
示例性的,以下以表1和表2为例,分别以调整第二终端的编码速率和不调整第二终端的编码速率为例,对编码速率的调整对第二终端的上行丢包率和数据质量带来的影响以及对第一终端的下行丢包率和数据质量带来的影响进行示例性的说明。表1是实验中为第二终端的上行数据传输加入不同噪声(表1以信噪比(英文:signal-to-noise ratio,SNR)表示)时,调整第二终端的编码速率和不调整第二终端的编码速率两种情况下第二终端的上行丢包率和平均意见值(英文:mean opinion score,MOS),其中,MOS用于衡量数据质量,其通常称为MOS分,MOS分的数值越大表示数据质量越高。表2是实验中为第一终端的下行数据传输加入不同噪声(表2以SNR表示)时,调整第二终端的编码速率和不调整第二终端的编码速率两种情况下第一终端的下行丢包率和MOS分。
表1
Figure BDA0001063046960000121
表2
Figure BDA0001063046960000131
从上述表1可以看出,当为第二终端的上行数据传输加入相同的噪声时,调整第二终端的编码速率与不调整第二终端的编码速率相比,第二终端的上行丢包率明显减小了(即调整第二终端的编码速率对第二终端的上行丢包率带来的改善较大),且MOS分也增大了(衡量数据质量的MOS分增大表示调整第二终端的编码速率对第二终端的上行丢包率带来的改善大于其对数据质量的影响),即数据质量提高了。以上述SNR=-16为例,调整第二终端的编码速率与不调整第二终端的编码速率相比,第二终端的丢包率明显减小,且MOS分也增大了。
从上述表2可以看出,当为第一终端的下行数据传输加入几乎相同的噪声时,调整第二终端的编码速率与不调整第二终端的编码速率相比,第一终端的下行丢包率减小很少(即调整第二终端的编码速率对第一终端的下行丢包率带来的改善较小),且MOS分几乎没有变化(衡量数据质量的MOS分几乎没有变化表示调整第二终端的编码速率对第一终端的下行丢包率带来的改善基本等同于其对数据质量的影响),即数据质量几乎没有提高。以上述SNR=-11.5和SNR=-11.7为例,在SNR=-11.5的情况下,调整第二终端的编码速率时第一终端的下行丢包率与不调整第二终端的编码速率时第一终端的下行丢包率相比减小很少;在SNR=-11.7的情况下,调整第二终端的编码速率时的MOS分与不调整第二终端的编码速率时的MOS分相比,没有增加反而减小了。
根据上述表1和表2,可以确定第二终端的编码速率的调整,对第二终端的上行丢包率带来的改善大于其对数据质量带来的影响,从而根据第二终端的上行丢包率调整第二终端的编码速率能够在一定程度上提高数据质量;而第二终端的编码速率的调整,对第一终端的下行丢包率带来的改善基本等同于其对数据质量带来的影响,从而根据第一终端的下行丢包率调整第二终端的编码速率则基本不会提高数据质量。所以本发明实施例提供的调整编码速率的方法,可以根据第二终端的上行丢包率调整第二终端的编码速率(即第二终端的当前编码速率),如此不但使得调整后的编码速率能够更好地适应空口及网络负载的变化,从而减小丢包率,进而保证较高的数据质量;并且还可以提高调整编码速率的效率。
本领域技术人员可以理解,由于第二终端向第一终端发送的数据包中通常也会包含第二终端对该数据包进行编码的编码速率,因此第一终端接收到第二终端发送的数据后,第一终端可以根据组成该数据的数据包确定第二终端当前对这些数据包进行编码的编码速率,即第二终端的当前编码速率。
第一终端接收到第二终端经由网络侧设备转发的多个数据包(该多个数据包具体为PDCP数据包,其中,第二终端发送给网络侧设备的为第一PDCP数据包,网络侧设备发送给第一终端的为第二PDCP数据包)后,在第一终端根据该多个数据包中的RTP序列号将该多个数据包重新组合为数据的过程中,第一终端可以根据该多个数据包中的RTP序列号和PDCP序列号(具体为第二PDCP数据包的包头中的第二PDCP序列号),获取第二终端的上行丢包率。具体的,第一终端根据该多个数据包的RTP序列号和PDCP序列号,获取第二终端的上行丢包率的描述将在下述如图4所示的实施例中进行详细地描述,此处不再赘述。
S106、第一终端根据该上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率。
可选的,本发明实施例中,上述S106具体可以通过S106a-S106e实现。
S106a、第一终端判断该上行丢包率是否小于或等于第一预设阈值。
S106b、在该上行丢包率小于或等于第一预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比当前编码速率的模式等级高一个等级的编码速率。
S106c、在该上行丢包率大于第一预设阈值的情况下,第一终端判断该上行丢包率是否小于第二预设阈值。
S106d、在该上行丢包率大于第一预设阈值且小于第二预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比当前编码速率的模式等级低两个等级的编码速率。
S106e、在该上行丢包率大于或等于第二预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比当前编码速率的模式等级低四个等级的编码速率。
可以理解,本发明实施例中,第一预设阈值小于第二预设阈值。
需要说明的是,上述S106b、S106d和S106e可以择一执行,即可以执行S106b,或者执行S106d,或者执行S106e。
示例性的,以常用的自适应多速率编解码(英文:adaptive multi-rate codec,AMR)技术为例,以下表3为AMR技术采用的编码速率表。本发明实施例提供的调整编码速率的方法中,以表3为例对本发明实施例提供的预设编码速率进行示例性的说明。如表3所示,预设编码速率包括8个模式等级的编码速率。8个模式等级的编码速率由小到大顺序排列。8个模式等级分别由模式请求0-7指示。具体的,模式请求0-7依次指示由小到大顺序排列的8个模式等级的编码速率,即0指示最低模式等级的编码速率(即4.75千比特每秒(kbit/s)),7指示最高模式等级的编码速率(即12.2kbit/s),2-6分别依次指示位于最低模式等级的编码速率和最高模式等级的编码速率之间、且由小到大顺序排列的5个模式等级的编码速率。
表3
帧类型 模式指示 模式请求 编码速率
0 0 0 4.75kbit/s
1 1 1 5.15kbit/s
2 2 2 5.90kbit/s
3 3 3 6.70kbit/s
4 4 4 7.40kbit/s
5 5 5 7.95kbit/s
6 6 6 10.2kbit/s
7 7 7 12.2kbit/s
假设第二终端的当前编码速率为7.95kbit/s,在第一终端判断第二终端的上行丢包率小于或等于第一预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比当前编码速率的等级(由上述表3中模式请求5指示)高一个等级(由上述表3中模式请求6指示)的编码速率,即第一终端确定第一编码速率为10.2kbit/s。在第一终端判断第二终端的上行丢包率大于第一预设阈值且小于第二预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比当前编码速率的等级(由上述表3中模式请求5指示)低两个等级(由上述表3中模式请求3指示)的编码速率,即第一终端确定第一编码速率为6.70kbit/s。在第一终端判断第二终端的上行丢包率大于或等于第二预设阈值的情况下,第一终端确定第一编码速率为预设编码速率中比当前编码速率的等级(由上述表3中模式请求5指示)低四个等级(由上述表3中模式请求1指示)的编码速率,即第一终端确定第一编码速率为5.15kbit/s。
可选的,本发明实施例中,上述S106b的执行条件是第二终端的当前编码速率不是预设编码速率中最大的编码速率,如果第二终端的当前编码速率已经是预设编码速率中最大的编码速率,则不调整第二终端的当前编码速率。相应的,上述S106d和S106e的执行条件是第二终端的当前编码速率不是预设编码速率中最小的编码速率,如果第二终端的当前编码速率已经是预设编码速率中最小的编码速率,则不调整第二终端的当前编码速率。具体的,在执行S106d时,在第二终端的当前编码速率不是预设编码速率中最小的编码速率的情况下,如果预设编码速率中不存在比当前编码速率的等级低两个等级的编码速率,那么第一终端可以确定预设编码速率中最小的编码速率为第二编码速率。在执行S106e时,在第二终端的当前编码速率不是预设编码速率中最小的编码速率的情况下,如果预设编码速率中不存在比当前编码速率的等级低四个等级的编码速率,那么第一终端可以确定预设编码速率中最小的编码速率为第三编码速率。
举例来说,如上述表3所示,假设第二终端的当前编码速率为5.15kbit/s,那么预设编码速率中不存在比当前编码速率的等级(由上述表3中模式请求1指示)低两个等级的编码速率,如此第一终端在执行上述S106d时可以确定预设编码速率中最小的编码速率(由上述表3中模式请求0指示,即4.75kbit/s)为第一编码速率。相应的,由于预设编码速率中也不存在比当前编码速率的等级(由上述表3中模式请求1指示)低四个等级的编码速率,如此第一终端在执行上述S106e时可以确定预设编码速率中最小的编码速率(由上述表3中模式请求0指示,即4.75kbit/s)为第一编码速率。
本发明实施例提供的调整编码速率的方法中,在软件实现上,假设第二终端的上行丢包率表示为error,第二终端的当前编码速率的模式等级表示为current_codec_mode,预设编码速率中最大的编码速率的模式等级表示为max_mode,预设编码速率中最小的编码速率的模式等级表示为min_mode,第一预设阈值表示为N1,第二预设阈值表示为N2,那么第一终端在执行S105之后,上述S106(即上述S106a-S106e)具体可以通过下述程序实现:
Figure BDA0001063046960000171
Figure BDA0001063046960000181
本发明实施例中,通过上述S106a-S106e所示的方法,第一终端具体可以根据第二终端的上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定需要对第二终端的当前编码速率如何进行调整,从而能够在该上行丢包率满足不同条件时选择不同的编码速率,如此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,以能够减小丢包率,并且保证较高的数据质量。
可选的,本发明实施例中,上述第一预设阈值(例如上述程序中的N1)和上述第二预设阈值(例如上述程序中的N2)可以为经验值(例如通过大量实验,并对实验结果进行统计分析后确定的经验值)。第一预设阈值可以设置为1%,第二预设阈值可以设置为5%,即第一预设阈值小于第二预设阈值。当然,上述第一预设阈值和第二预设阈值还可以设置为其他能够满足使用需求的数值,本发明不作具体限定。
S107、第一终端向网络侧设备发送CMR消息,该CMR消息中包含第一编码速率。
S108、网络侧设备接收第一终端发送的该CMR消息。
S109、网络侧设备向第二终端发送该CMR消息。
S110、第二终端接收网络侧设备发送的CMR消息。
S111、第二终端将第二终端的当前编码速率调整为第一编码速率。
第一终端确定第一编码速率之后,第一终端可通过CMR消息将第一终端确定的第一编码速率发送给第二终端,从而第二终端接收到CMR消息后,第二终端可以将第二终端的当前编码速率调整为CMR消息中包含的第一编码速率。
本发明实施例提供的调整编码速率的方法,通过第一终端获取第二终端的上行丢包率,并根据第二终端的上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率,以及通过CMR消息指示第二终端将第二终端的当前编码速率调整为第一编码速率,即本发明实施例可以根据调整第二终端的编码速率后改善较大的第二终端的上行丢包率实时地调整第二终端的编码速率,如此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,从而能够减小丢包率,进而保证较高的数据质量。
可选的,结合图3,如图4所示,本发明实施例中,上述S105具体可以包括S105a-S105c:
S105a、第一终端将第一终端接收该数据时接收到的数据包中的最大RTP序列号作为第一数量。
S105b、第一终端根据第一终端接收该数据时接收到的数据包的RTP序列号,得到第二数量。
本发明实施例中,第一数量为第二终端向第一终端发送的数据包的总数量,第二数量为在第二终端与第一终端之间传输数据时丢失的数据包的总数量。其中,第二终端与第一终端之间传输数据可以理解为:第二终端发送的数据经网络侧设备到达第一终端的过程。
本发明实施例中,在第一终端根据其接收到的多个数据包(具体为上述实施例描述的第二PDCP数据包)中的RTP序列号将该多个数据包中的多个数据段重新组合为数据的过程中,第一终端可以根据该多个数据包中的第二PDCP序列号和RTP序列号,获取第二终端的上行丢包率。
具体的,第一终端可以将其接收数据(即第二终端经由网络侧设备向第一终端发送的数据,该数据包括多个数据包)时接收到的数据包中的最大RTP序列号作为第二终端发送的数据包的总数量,即上述第一数量。例如,假设第一终端接收数据时接收到的数据包中的最大RTP序列号为100,那么第一终端可以得到第二终端发送的数据包的总数量为100,即上述第一数量为100。
相应的,第一终端可以根据其接收数据时接收到的数据包的RTP序列号得到在第二终端与第一终端之间传输数据时丢失的数据包的总数量,即上述第二数量。
一种可能的实现方式中,第一终端接收到数据包后,开始对数据包进行重组,在第一终端对数据包进行重组的过程中,假设第一终端确定其接收到的数据包中没有RTP序列号为3、6、34、67、89和97的数据包,那么第一终端可以确定在第二终端与第一终端之间传输数据时丢失的数据包的总数量为6,即第一终端得到上述第二数量为6。
另一种可能的实现方式中,假设第一终端接收到的数据包中的最大RTP序列号为100,且第一终端只接收到94个数据包,那么第一终端可以确定在第二终端与第一终端之间传输数据时丢失的数据包的总数量为100-94=6,即上述第二数量为6。
S105c、第一终端根据第一终端接收该数据时接收到的数据包的PDCP序列号,得到第三数量。
本发明实施例中,第三数量为在网络侧设备与第一终端之间传输数据时丢失的数据包的总数量。其中,在网络侧设备与第一终端之间传输数据可以理解为:网络侧设备发送的数据达到第一终端的过程。
第一终端根据第一终端接收上述数据时接收到的数据包(具体为上述实施例描述的第二PDCP数据包)中的PDCP序列号(即上述实施例描述的第二PDCP数据包的包头中的第二PDCP序列号),可以得到第三数量。其中,本发明实施例中的第二PDCP数据包可以为PDCP服务数据单元(英文:service data unit,SDU)。
一种可能的实现方式中,第一终端接收到数据包后,开始对数据包进行重组,在第一终端对数据包进行重组的过程中,假设第一终端确定其接收到的数据包中没有第二PDCP序列号为8、25和44的数据包,那么第一终端可以确定在网络侧设备与第一终端之间传输数据时丢失的数据包的总数量为3,即第一终端得到上述第三数量为3。
另一种可能的实现方式中,假设第一终端接收到的数据包中的最大第二PDCP序列号为100,且第一终端只接收到97个数据包,那么第一终端可以得到在网络侧设备与第一终端之间传输数据时丢失的数据包的总数量为100-97=3,即上述第三数量为3。
上述PDCP数据包和PDCP SDU仅是为了对得到第三数量的方法进行示例性的说明,实际实现中,PDCP数据包和PDCP SDU的名称还可以其他名称。例如,在不同的通信系统或通信技术中,PDCP数据包和PDCP SDU还可以为具有相同作用(例如压缩和加密)的其他名称标识的数据包。本发明不作具体限定。
S105d、第一终端根据第一数量、第二数量和第三数量,计算第二终端的上行丢包率。
可选的,具体实现中,第一终端可以根据第一数量、第二数量和第三数量,采用下述公式计算第二终端的上行丢包率。
公式为:S=(A-B)/C*100%;其中,S表示上行丢包率,A表示第二数量,B表示第三数量,C表示第一数量。
以上述对S105a和S105b的描述中的例子为例,假设第一数量C为100,第二数量A为6,第三数量B为3,那么第二终端的上行丢包率S=(6-3)/100*100%=3%。从而第一终端可以根据3%与第一预设阈值和第二预设阈值之间的大小关系,按照上述S106a-S106e所示的方法流程确定第一编码速率,具体的第一编码速率的数值可以根据第一预设阈值和第二预设阈值的大小来确定,本发明不作限定。
本发明实施例中,第一终端通过上述各种可选的实现方式,可以获取第一数量、第二数量和第三数量,并根据第一数量、第二数量和第三数量,采用上述公式计算第二终端的上行丢包率,如此可以准确地计算出第二终端的上行丢包率。
可选的,本发明实施例中,上述第一数量可以为第一时间段内第二终端向第一终端发送的数据包的总数量。上述第二数量可以为在第二终端与第一终端之间传输数据时第一时间段内丢失的数据包的总数量。上述第三数量为在网络侧设备与第一终端之间传输数据时第一时间段内丢失的数据包的总数量。上述上行丢包率为第一时间段内的上行丢包率。
本发明实施例中,上述第一时间段可以为一个单位时间,也可以为由多个单位时间组成的一个时间段。具体的可以根据实际使用需求进行设定,本发明不作限定。
其中,当第一时间段为一个单位时间时,上述上行丢包率可以是该单位时间内的丢包率。当第一时间段为由多个单位时间组成的一个时间段时,上述上行丢包率可以是该时间段内第二终端的平均上行丢包率。
本发明实施例中,通过获取同一个时间段内的第一数量、第二数量和第三数量,可以使得根据第一数量、第二数量和第三数量计算出的上行丢包率比较准确,从而能够提高调整编码速率的准确性。
通过本发明实施例提供的调整编码速率的方法,由于可以根据调整第二终端的编码速率后改善较大的第二终端的上行丢包率实时地调整第二终端的编码速率,因此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,从而能够减小丢包率,进而保证较高的数据质量。
如图5所示,本发明实施例提供一种终端,该终端可以称为第一终端,该终端可以包括:处理器30和耦合到处理器30的收发机31。
处理器30,用于通过收发机31获取第二终端的上行丢包率,上行丢包率为第二终端向网络侧设备发送数据时的丢包率,该数据包括第二终端经由网络侧设备向第一终端发送的多个数据包;并根据该上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率。
处理器30,还用于通过收发机31向第二终端发送CMR消息,该CMR消息中携带第一编码速率,该CMR消息用于指示第二终端将第二终端的当前编码速率调整为第一编码速率。
可选的,处理器30,具体用于在该上行丢包率小于或等于第一预设阈值的情况下,确定第一编码速率为预设编码速率中比该当前编码速率的模式等级高一个等级的编码速率;或者在该上行丢包率大于第一预设阈值且小于第二预设阈值的情况下,确定第一编码速率为预设编码速率中比该当前编码速率的模式等级低两个等级的编码速率;或者在该上行丢包率大于或等于第二预设阈值的情况下,确定第一编码速率为预设编码速率中比该当前编码速率的模式等级低四个等级的编码速率。
可选的,收发机31,还用于接收第二终端经由网络侧设备发送的数据包。处理器30,具体用于将收发机31接收上述数据(即第二终端经由网络侧设备向第一终端发送的数据,该数据包括多个数据包)时接收到的数据包中的最大RTP序列号作为第一数量;且根据收发机31接收上述数据时接收到的数据包的RTP序列号,得到第二数量;并根据收发机31接收上述数据时接收到的数据包的PDCP序列号,得到第三数量;以及根据第一数量、第二数量和第三数量,计算该上行丢包率;第一数量为第二终端向第一终端发送的数据包的总数量,第二数量为在第二终端与第一终端之间传输数据时丢失的数据包的总数量,第三数量为在网络侧设备与第一终端之间传输数据时丢失的数据包的总数量。
可选的,处理器30,具体用于根据第一数量、第二数量和第三数量,采用公式计算该上行丢包率;公式为:S=(A-B)/C*100%;其中,S表示上行丢包率,A表示第二数量,B表示第三数量,C表示第一数量。
可选的,第一数量为第一时间段内第二终端向第一终端发送的数据包的总数量;第二数量为在第二终端与第一终端之间传输数据时第一时间段内丢失的数据包的总数量;第三数量为在网络侧设备与第一终端之间传输数据时第一时间段内丢失的数据包的总数量;第二终端的上行丢包率为第一时间段内第二终端的上行丢包率。
可选的,如图5所示,本发明实施例提供的终端还可以包括存储器32、系统总线33和输入输出(英文:iuput output,IO)接口34。
存储器32用于存储计算机执行指令,处理器30、收发机31和存储器32通过系统总线33相互连接,当终端运行时,处理器30通过执行存储器32存储的计算机执行指令执行,以使终端执行如图3或图4所示的调整编码速率的方法流程中第一终端执行的步骤。具体的调整编码速率的方法可参见上述如图3或图4所示的实施例中的相关描述,此处不再赘述。
本发明实施例提供的终端还可以包括:射频(英文:radio frequency,RF)电路、输入单元、显示单元、音频单元以及电源等部件。终端可以通过IO接口34和其他设备进行交互。例如终端可以通过IO接口34接收外界通过输入单元对终端输入的数据等。
示例性的,本发明实施例中的处理器30可以为单核处理器;也可以为多核处理器,例如可以为双核处理器,4核处理器或者8核处理器等。具体的,可以根据实际使用需求选择合适的处理器,本发明不作限定。
上述处理器30一般称为基带处理器,或者称为通信处理器。处理器30具体可以采用通用处理器、数字信号处理器(英文:digital signal processing,DSP)、专用集成电路(英文:application specific integrated circuit,ASIC)、现场可编程门阵列(英文:field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等实现。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器32可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,RAM);存储器32也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,HDD)或固态硬盘(英文:solid-statedrive,SSD);存储器32还可以包括上述种类的存储器的组合。
系统总线33可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图5中将各种总线都示意为系统总线33。
在具体实现过程中,上述如图3或图4所示的方法流程中的各步骤均可以通过硬件形式的处理器30执行存储器32中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。
本发明实施例提供的终端可以为智能终端,该智能终端可以为智能手机、平板电脑、笔记本电脑、超级移动个人计算机(英文:ultra-mobile personal computer,UMPC)、上网本、个人数字助理(英文:personal digital assistant,PDA)等智能终端设备。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有一个或多个程序,一个或多个程序包括计算机执行指令,当终端的处理器执行该计算机执行指令时,终端执行上述如图3或图4所示的调整编码速率的方法流程中第一终端执行的步骤。
该计算机可读存储介质可以为上述的存储器32。
本发明实施例提供一种终端,该终端可以为第一终端,通过第一终端获取第二终端的上行丢包率,并根据第二终端的上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率,以及通过CMR消息指示第二终端将第二终端的当前编码速率调整为第一编码速率,即本发明实施例可以根据调整第二终端的编码速率后改善较大的第二终端的上行丢包率实时地调整第二终端的编码速率,如此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,从而能够减小丢包率,进而保证较高的数据质量。
本发明实施例提供一种无线通信系统,该无线通信系统包括第一终端和第二终端,第一终端可以为上述如图5所示的实施例中描述的终端,第二终端用于接收第一终端发送的CMR消息,并根据该CMR消息的指示,对第二终端的当前编码速率进行调整。对于第一终端和第二终端执行的方法流程的相关描述具体可以参见上述如图3或图4所示的实施例中的相关描述,此处不再赘述。对于第一终端的描述具体可以参见上述如图5所示的实施例中的相关描述,此处不再赘述。
可选的,本发明实施例提供的无线通信系统还可以包括网络侧设备,第二终端经由该网络侧设备向第一终端发送数据。
该网络侧设备可以为接入网设备,或者为接入网设备和核心网设备,或者为其他网络中的设备,本发明不作具体限定。
示例性的,本发明实施例提供的无线通信系统可以为上述如图1所示的实施例中描述的场景中的无线通信系统。具体的,可以参见上述如图1所示的实施例中的相关描述,此处不再赘述。
本发明实施例提供一种无线通信系统,该无线通信系统可以包括第一终端和第二终端,通过第一终端获取第二终端的上行丢包率,并根据第二终端的上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率,以及通过CMR消息指示第二终端将第二终端的当前编码速率调整为第一编码速率,即本发明实施例可以根据调整第二终端的编码速率后改善较大的第二终端的上行丢包率实时地调整第二终端的编码速率,如此可以使得调整后的编码速率能够更好地适应空口及网络负载的变化,从而能够减小丢包率,进而保证较高的数据质量。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:快闪存储器、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种调整编码速率的方法,其特征在于,包括:
第一终端获取第二终端的上行丢包率,所述上行丢包率为所述第二终端向网络侧设备发送数据时的丢包率,所述数据包括所述第二终端经由所述网络侧设备向所述第一终端发送的多个数据包;
所述第一终端根据所述上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率;
所述第一终端向所述第二终端发送编码模式请求CMR消息,所述CMR消息中携带所述第一编码速率,所述CMR消息用于指示所述第二终端将所述第二终端的当前编码速率调整为所述第一编码速率。
2.根据权利要求1所述的方法,其特征在于,所述第一终端根据所述上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率的方法为下述情况中的一种:
在所述上行丢包率小于或等于所述第一预设阈值的情况下,所述第一终端确定所述第一编码速率为预设编码速率中比所述当前编码速率的模式等级高一个等级的编码速率;
在所述上行丢包率大于所述第一预设阈值且小于所述第二预设阈值的情况下,所述第一终端确定所述第一编码速率为所述预设编码速率中比所述当前编码速率的模式等级低两个等级的编码速率;
在所述上行丢包率大于或等于所述第二预设阈值的情况下,所述第一终端确定所述第一编码速率为所述预设编码速率中比所述当前编码速率的模式等级低四个等级的编码速率。
3.根据权利要求1或2所述的方法,其特征在于,所述第一终端获取第二终端的上行丢包率,包括:
所述第一终端将所述第一终端接收所述数据时接收到的数据包中的最大实时传输协议RTP序列号作为第一数量,所述第一数量为所述第二终端向所述第一终端发送的数据包的总数量;
所述第一终端根据所述第一终端接收所述数据时接收到的数据包的RTP序列号,得到第二数量,所述第二数量为在所述第二终端与所述第一终端之间传输所述数据时丢失的数据包的总数量;
所述第一终端根据所述第一终端接收所述数据时接收到的数据包的分组数据汇聚协议PDCP序列号,得到第三数量,所述第三数量为在所述网络侧设备与所述第一终端之间传输所述数据时丢失的数据包的总数量;
所述第一终端根据所述第一数量、所述第二数量和所述第三数量,计算所述上行丢包率。
4.根据权利要求3所述的方法,其特征在于,所述第一终端根据所述第一数量、所述第二数量和所述第三数量,计算所述上行丢包率,包括:
所述第一终端根据所述第一数量、所述第二数量和所述第三数量,采用公式计算所述上行丢包率;
所述公式为:S=(A-B)/C*100%;其中,S表示上行丢包率,A表示第二数量,B表示第三数量,C表示第一数量。
5.根据权利要求3所述的方法,其特征在于,
所述第一数量为第一时间段内所述第二终端向所述第一终端发送的数据包的总数量;
所述第二数量为在所述第二终端与所述第一终端之间传输所述数据时所述第一时间段内丢失的数据包的总数量;
所述第三数量为在所述网络侧设备与所述第一终端之间传输所述数据时所述第一时间段内丢失的数据包的总数量;
所述上行丢包率为所述第一时间段内的上行丢包率。
6.一种终端,其特征在于,所述终端包括处理器和耦合到所述处理器的收发机;
所述处理器,用于通过所述收发机获取第二终端的上行丢包率,所述上行丢包率为所述第二终端向网络侧设备发送数据时的丢包率,所述数据包括所述第二终端经由所述网络侧设备向所述终端发送的多个数据包;并根据所述上行丢包率与第一预设阈值和第二预设阈值之间的大小关系,确定第一编码速率;
所述处理器,还用于通过所述收发机向所述第二终端发送编码模式请求CMR消息,所述CMR消息中携带所述第一编码速率,所述CMR消息用于指示所述第二终端将所述第二终端的当前编码速率调整为所述第一编码速率。
7.根据权利要求6所述的终端,其特征在于,
所述处理器,具体用于在所述上行丢包率小于或等于所述第一预设阈值的情况下,确定所述第一编码速率为预设编码速率中比所述当前编码速率的模式等级高一个等级的编码速率;或者在所述上行丢包率大于所述第一预设阈值且小于所述第二预设阈值的情况下,确定所述第一编码速率为所述预设编码速率中比所述当前编码速率的模式等级低两个等级的编码速率;或者在所述上行丢包率大于或等于所述第二预设阈值的情况下,确定所述第一编码速率为所述预设编码速率中比所述当前编码速率的模式等级低四个等级的编码速率。
8.根据权利要求6或7所述的终端,其特征在于,
所述收发机,还用于接收所述第二终端经由所述网络侧设备发送的数据包;
所述处理器,具体用于将所述收发机接收所述数据时接收到的数据包中的最大实时传输协议RTP序列号作为第一数量;且根据所述收发机接收所述数据时接收到的数据包的RTP序列号,得到第二数量;并根据所述收发机接收所述数据时接收到的数据包的分组数据汇聚协议PDCP序列号,得到第三数量;以及根据所述第一数量、所述第二数量和所述第三数量,计算所述上行丢包率;所述第一数量为所述第二终端向所述终端发送的数据包的总数量,所述第二数量为在所述第二终端与所述终端之间传输所述数据时丢失的数据包的总数量,所述第三数量为在所述网络侧设备与所述终端之间传输所述数据时丢失的数据包的总数量。
9.根据权利要求8所述的终端,其特征在于,
所述处理器,具体用于根据所述第一数量、所述第二数量和所述第三数量,采用公式计算所述上行丢包率;
所述公式为:S=(A-B)/C*100%;其中,S表示上行丢包率,A表示第二数量,B表示第三数量,C表示第一数量。
10.根据权利要求8所述的终端,其特征在于,
所述第一数量为第一时间段内所述第二终端向所述终端发送的数据包的总数量;
所述第二数量为在所述第二终端与所述终端之间传输所述数据时所述第一时间段内丢失的数据包的总数量;
所述第三数量为在所述网络侧设备与所述终端之间传输所述数据时所述第一时间段内丢失的数据包的总数量;
所述上行丢包率为所述第一时间段内的上行丢包率。
11.一种无线通信系统,其特征在于,包括第一终端和第二终端,所述第一终端为如权利要求6至10任意一项所述的终端,所述第二终端用于接收所述第一终端发送的编码模式请求CMR消息,并根据所述CMR消息的指示,对所述第二终端当前编码速率进行调整。
12.根据权利要求11所述的无线通信系统,其特征在于,所述无线通信系统还包括网络侧设备,所述第二终端经由所述网络侧设备向所述第一终端发送数据。
CN201610606302.2A 2016-07-28 2016-07-28 一种调整编码速率的方法、装置及系统 Active CN107666366B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610606302.2A CN107666366B (zh) 2016-07-28 2016-07-28 一种调整编码速率的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610606302.2A CN107666366B (zh) 2016-07-28 2016-07-28 一种调整编码速率的方法、装置及系统

Publications (2)

Publication Number Publication Date
CN107666366A CN107666366A (zh) 2018-02-06
CN107666366B true CN107666366B (zh) 2020-02-14

Family

ID=61114496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610606302.2A Active CN107666366B (zh) 2016-07-28 2016-07-28 一种调整编码速率的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN107666366B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108432166A (zh) * 2016-05-11 2018-08-21 华为技术有限公司 一种语音编码速率的调整方法及设备
CN108881780B (zh) * 2018-07-17 2021-02-12 聚好看科技股份有限公司 视频通话中动态调整清晰度模式的方法、服务器
CN109036444A (zh) * 2018-08-21 2018-12-18 京信通信系统(中国)有限公司 语音编码速率调整方法、装置、计算机存储介质及设备
CN109348513B (zh) * 2018-11-15 2023-08-11 Oppo广东移动通信有限公司 一种数据包传输方法、终端及计算机存储介质
US11133888B2 (en) * 2019-05-06 2021-09-28 Qualcomm Incorporated Codec configuration adaptation based on packet loss rate
US20220158920A1 (en) * 2019-06-21 2022-05-19 Apple Inc. Configuration of packet loss rate (plr) based adaptation
CN112752058B (zh) * 2019-10-31 2022-10-04 华为技术有限公司 调整视频流的属性的方法和装置
CN111654586B (zh) * 2020-06-22 2021-09-03 Oppo广东移动通信有限公司 语音编码码率的调整方法、装置、终端及存储介质
CN113409799B (zh) * 2021-06-23 2024-04-09 中移(杭州)信息技术有限公司 音频编码方法、装置、设备以及计算机可读存储介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035365A (zh) * 2007-04-03 2007-09-12 中国科学院计算技术研究所 多种无线网络融合环境中的多媒体会话服务质量管理方法
CN101119338A (zh) * 2007-09-20 2008-02-06 腾讯科技(深圳)有限公司 网络语音通信方法、系统、装置和即时通信终端
CN101222296A (zh) * 2008-01-31 2008-07-16 上海交通大学 上行蜂窝视频通信中自适应的传输方法及系统
CN101287120A (zh) * 2008-05-22 2008-10-15 腾讯科技(深圳)有限公司 一种视频序列的生成及对视频序列进行编码的方法
CN101304537A (zh) * 2008-03-24 2008-11-12 北京邮电大学 3g-ip无线视频传输系统
CN101436990A (zh) * 2008-12-23 2009-05-20 深圳华为通信技术有限公司 一种自动调整编码速率的方法、接收装置及通信系统
CN101777960A (zh) * 2008-11-17 2010-07-14 华为终端有限公司 音频编码方法、音频解码方法、相关装置及通信系统
CN101835251A (zh) * 2010-05-04 2010-09-15 华为技术有限公司 基站功率控制方法及设备
CN103259945A (zh) * 2013-05-20 2013-08-21 苏州洲际传书信息科技有限公司 在voip通话中根据网络状况实现语音编码动态切换的方法
WO2015069163A1 (en) * 2013-11-08 2015-05-14 Telefonaktiebolaget L M Ericsson (Publ) Handling of network characteristics
CN105450357A (zh) * 2014-09-24 2016-03-30 中兴通讯股份有限公司 编码参数的调整、反馈信息的处理方法及装置
CN105812097A (zh) * 2016-03-16 2016-07-27 北京邮电大学 一种基于网络状态的amr编码速率自适应调整方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090154397A1 (en) * 2007-12-17 2009-06-18 Nortel Networks Limited System and method for providing quality of service enablers for third party applications

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035365A (zh) * 2007-04-03 2007-09-12 中国科学院计算技术研究所 多种无线网络融合环境中的多媒体会话服务质量管理方法
CN101119338A (zh) * 2007-09-20 2008-02-06 腾讯科技(深圳)有限公司 网络语音通信方法、系统、装置和即时通信终端
CN101222296A (zh) * 2008-01-31 2008-07-16 上海交通大学 上行蜂窝视频通信中自适应的传输方法及系统
CN101304537A (zh) * 2008-03-24 2008-11-12 北京邮电大学 3g-ip无线视频传输系统
CN101287120A (zh) * 2008-05-22 2008-10-15 腾讯科技(深圳)有限公司 一种视频序列的生成及对视频序列进行编码的方法
CN101777960A (zh) * 2008-11-17 2010-07-14 华为终端有限公司 音频编码方法、音频解码方法、相关装置及通信系统
CN101436990A (zh) * 2008-12-23 2009-05-20 深圳华为通信技术有限公司 一种自动调整编码速率的方法、接收装置及通信系统
CN101835251A (zh) * 2010-05-04 2010-09-15 华为技术有限公司 基站功率控制方法及设备
CN103259945A (zh) * 2013-05-20 2013-08-21 苏州洲际传书信息科技有限公司 在voip通话中根据网络状况实现语音编码动态切换的方法
WO2015069163A1 (en) * 2013-11-08 2015-05-14 Telefonaktiebolaget L M Ericsson (Publ) Handling of network characteristics
CN105450357A (zh) * 2014-09-24 2016-03-30 中兴通讯股份有限公司 编码参数的调整、反馈信息的处理方法及装置
CN105812097A (zh) * 2016-03-16 2016-07-27 北京邮电大学 一种基于网络状态的amr编码速率自适应调整方法

Also Published As

Publication number Publication date
CN107666366A (zh) 2018-02-06

Similar Documents

Publication Publication Date Title
CN107666366B (zh) 一种调整编码速率的方法、装置及系统
CN104350789B (zh) 功率调节装置及方法
CN105723629B (zh) 无线电信系统中数据传递的中继节点聚合
JP6040466B2 (ja) 通信制御方法、ユーザ機器、ネットワークサーバ、およびシステム
US20180110016A1 (en) System for boosting a network signal, and the method thereof
WO2013180924A1 (en) Wireless multimedia quality of experience reporting
EP3553980A1 (en) Method for transmitting data, terminal device and network device
CN110072011B (zh) 调整码率方法及相关产品
US9642087B2 (en) Methods for reducing the power consumption in voice communications and communications apparatus utilizing the same
CN103763216A (zh) 一种数据传输的调整系统及方法
US20200305025A1 (en) Service flow offload method, network device, and terminal device
CN101867978A (zh) 半静态调度周期管理方法、用户设备、基站及通信系统
CN104871610A (zh) 一种控制发射功率的方法及装置
CN110708722A (zh) 传输速率控制方法及终端、计算机存储介质
CN114978413B (zh) 信息编码的控制方法及相关装置
WO2019034101A1 (zh) 网络配置参数的有效取值确定方法、用户终端、基站以及网络配置参数的有效取值确定系统
CN113315773A (zh) 一种码率调整方法、装置、电子设备及存储介质
CN111385902B (zh) 数据调度方法及装置
CN109802734B (zh) 一种传输信道质量信息的方法和装置
EP3512238B1 (en) Method for transmitting information, terminal device, and network device
US12101725B2 (en) Transmission power control
US20230269672A1 (en) Self-adaptive transmit power control for bluetooth
KR20190031766A (ko) 무선 자원 조절 장치 및 방법
CN115379397A (zh) 数据处理方法、装置、设备及存储介质
CN112671693B (zh) 一种视频数据压缩方法、装置、存储介质和基站

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant