CN117882385A - 用于调制解调器功率感知扩展现实(xr)和游戏软件应用的系统和方法 - Google Patents
用于调制解调器功率感知扩展现实(xr)和游戏软件应用的系统和方法 Download PDFInfo
- Publication number
- CN117882385A CN117882385A CN202280057634.3A CN202280057634A CN117882385A CN 117882385 A CN117882385 A CN 117882385A CN 202280057634 A CN202280057634 A CN 202280057634A CN 117882385 A CN117882385 A CN 117882385A
- Authority
- CN
- China
- Prior art keywords
- modem
- feedback
- pose
- computing device
- processor
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 230000003190 augmentative effect Effects 0.000 title description 3
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 51
- 230000006978 adaptation Effects 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 40
- 230000004044 response Effects 0.000 claims description 35
- 230000009471 action Effects 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 26
- 238000010801 machine learning Methods 0.000 claims description 20
- 230000001934 delay Effects 0.000 claims description 15
- 239000012634 fragment Substances 0.000 claims description 13
- 230000033001 locomotion Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 9
- 230000002459 sustained effect Effects 0.000 claims description 7
- 230000007480 spreading Effects 0.000 claims description 6
- 238000003892 spreading Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 5
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 4
- 238000004891 communication Methods 0.000 description 74
- 238000007726 management method Methods 0.000 description 73
- 230000002776 aggregation Effects 0.000 description 15
- 238000004220 aggregation Methods 0.000 description 15
- 230000015654 memory Effects 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 14
- 238000009825 accumulation Methods 0.000 description 12
- 230000003068 static effect Effects 0.000 description 11
- 238000003860 storage Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000001413 cellular effect Effects 0.000 description 8
- 238000001514 detection method Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000018109 developmental process Effects 0.000 description 6
- 238000010295 mobile communication Methods 0.000 description 5
- 101150096310 SIB1 gene Proteins 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011010 flushing procedure Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 239000000758 substrate Substances 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 239000000872 buffer Substances 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 230000011664 signaling Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 1
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005562 fading Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4436—Power management, e.g. shutting down unused components of the receiver
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/335—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/20—Input arrangements for video game devices
- A63F13/21—Input arrangements for video game devices characterised by their sensors, purposes or types
- A63F13/212—Input arrangements for video game devices characterised by their sensors, purposes or types using sensors worn by the player, e.g. for measuring heart beat or leg activity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/16—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/168—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/442—Monitoring 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/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0225—Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0251—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
- H04W52/0254—Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity detecting a user operation or a tactile contact or a motion of the device
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/40—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
- A63F2300/407—Data transfer via internet
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
- A63F2300/646—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car for calculating the trajectory of an object
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Medical Informatics (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Heart & Thoracic Surgery (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
- Power Sources (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
公开了用于向客户端设备上的软件应用提供对该客户端设备的低时延模式(LLM)操作的动态控制的方法和系统。该客户端设备能够监测在该客户端设备上操作的客户端软件应用的下行链路数据分组以检测触发事件。该客户端设备能够基于所检测的触发事件来确定调制解调器的操作参数,并且基于所检测的触发事件或所确定的操作参数来动态地调整该调制解调器的该低时延模式。
Description
相关申请
本申请要求2021年9月1日提交的美国专利申请17/463,914号的优先权的权益;该申请的全部内容以引用方式并入本文。
背景技术
长期演进(LTE)、5G新空口(NR)和其他新近开发的通信技术允许无线设备以比仅仅几年前可用的数据率大几个数量级的数据率(例如,以千兆比特每秒等为单位)来传达信息。如今的通信网络还更安全,抗多径衰落,允许更低的网络话务时延,并提供更好的通信效率(例如,以每秒每单位带宽使用的比特等为单位)。通信技术中的这些和其他新近改进已经促成了物联网(IOT)、大规模机器对机器(M2M)通信系统、交通工具以及依赖于持续和安全无线通信的其他技术的出现。因此,数十亿个小的、移动的或资源受限的计算设备(例如,智能电话、手表、智能家电、交通工具等)现在使用互联网协议(IP)和蜂窝通信网络来传达关键和平常的信息。
LTE、5G NR和其他现代调制解调器可支持低时延模式(LLM)。当在LLM模式下操作时,数据分组在没有累积或聚合的情况下被移动到下一层级。这降低了时延,但是增加了设备所使用的功率和处理资源的量。一些调制解调器支持多种LLM模式,这些LLM模式在设备上具有不同的折中时延、性能以及功率和功耗。
发明内容
各种方面包括动态地调整客户端设备中的调制解调器的低时延模式的方法,该方法包括在数据流管理框架中接收与对下行链路数据分组流的接收和处理相关的多个输入。该多个输入可包括来自在计算设备上执行的应用客户端的输入以及基于对下行链路数据分组的监测经由第一应用编程接口(API)从该计算设备的调制解调器接收到的输入。该方法可以还包括使用该数据流管理框架中的该多个输入来确定对一个或多个调制解调器操作参数和调制解调器功率估计的调整以支持对该下行链路数据分组流的处理。另外,该方法可包括经由第二API从该数据流管理框架向该调制解调器输出对一个或多个调制解调器操作参数和该调制解调器功率估计的所确定的调整以支持对该下行链路数据分组流的处理。
一些方面可包括通过基于功率估计值、误块率(BLER)、网络拥塞或来自该调制解调器的链路质量反馈中的一者或多者确定对视频比特率、视频每秒帧数(FPS)设置或低时延调制解调器设置中的一者或多者的调整,使用该数据流管理框架中的该多个输入来确定对该一个或多个调制解调器操作参数和该调制解调器功率估计的调整以支持对该下行链路数据分组流的处理。
一些方面可包括通过基于以下各项中的一项或多项确定对该一个或多个调制解调器操作参数的调整和对该调制解调器功率估计的调整,使用该数据流管理框架中的该多个输入来确定对该调制解调器操作参数和该调制解调器功率估计的调整以支持对该下行链路数据分组流的处理:来自应用客户端推断事件API的输入;或者来自扩展调制解调器反馈API的输入。
在一些方面,来自该扩展调制解调器反馈API的该输入可包括以下各项中的一项或多项:调制解调器功率估计;调制解调器推断视频延迟事件;误块率(BLER);网络拥塞程度;或者链路质量反馈。
在一些方面,可基于以下各项中的一项或多项来确定该调制解调器功率估计:正在进行的上行链路数据率;正在进行的下行链路数据率;可用上行链路数据率;可用下行链路数据率;或者低时延模式设置。
在一些方面,可在数据流管理框架中基于以下各项中的至少一项或多项来确定该调制解调器推断视频延迟事件:分组报头检查调制解调器事件:传输层调制解调器事件;或者机器学习事件。
一些方面可以还包括基于以下各项中的一项或多项在该数据流管理框架中确定该调制解调器推断视频延迟事件:实时传输协议(RTP)层检查分组报头并且确定尚未到达所接收的分组突发的对应于切片的所有片段;触发调制解调器低时延模式(LLM)以释放掉队者,使得解码能够进行;使用分组的RTP时间戳作为参考来推断是否批准了LLM动作中的任何LLM动作;将跨分组的RTP时间戳彼此比较以确定一组分组是较晚还是较早引起LLM动作;或者读取每个分组的该RTP时间戳作为绝对RTP时间戳值,确定相对于源时钟的本地时钟偏移,并且基于所确定的本地时钟偏移和绝对RTP时间戳值来确定分组是否较早引起LLM动作。
一些方面可以还包括通过以下操作在该数据流管理框架中确定该传输层调制解调器事件:确定在传输层中是否存在任何预编程的超时;以及响应于确定在该传输层中存在任何预编程的超时而实现可靠用户数据报协议(RUDP)层,该RUDP层在时延约束下实现可靠性。在一些方面,该RUDP层可请求丢失分组的重传;响应于检测到预编程的超时,该RUDP层可确认尚未到达套接字的(直到某个序列号的)所有分组;并且/或者该RUDP层可在检测到该预编程的超时之前触发低低时延模式(LLM),使得立即释放任何累积的分组。
一些方面可包括通过在该数据流管理框架中实现基于机器学习的算法来确定该机器学习事件,该基于机器学习的算法对分组随时间的节奏进行学习。
一些方面可包括:在该数据流管理框架中基于该多个输入来确定用于应用服务器的反馈信息以支持对该下行链路数据分组流的处理;以及向该应用服务器提供该反馈信息。
在一些方面,向该应用服务器提供的反馈信息可包括信息,该信息包括以下各项中的一项或多项或是以下各项中的一项或多项的函数:调制解调器反馈;来自调制解调器的关于功耗的反馈;来自调制解调器的指示功耗能够被降低的反馈;来自调制解调器的关于链路质量的反馈;扩展调制解调器反馈;超出数据率反馈的扩展调制解调器反馈;针对上行链路和下行链路的可用数据率;应用推断反馈:速率适配反馈;功率感知视频速率适配反馈;设备温度反馈;可容许热包络反馈;视频每秒帧数(FPS)反馈;向服务器的比特率反馈;以及/或者速率适配反馈。
在一些方面,该数据流管理框架可以是在该计算设备的处理器中执行的应用客户端、在该计算设备的处理器中执行的中间件,以及/或者在该计算设备的处理器中实现的软件开发工具包(SDK)。
一些方面可包括执行位姿速率适配,使得:在位姿样本、应用位姿样本和位姿传输分组之间存在一一对应关系;该位姿样本被捆绑以生成减少的应用位姿样本和减少的位姿传输分组;并且/或者该位姿样本在较低层处被捆绑以减少位姿传输分组。
一些方面可包括基于以下各项中的至少一项来适配位姿速率:用户运动与设备显示更新之间的所测量的延迟;自收集到前一位姿样本以来的运动量的估计值;从调制解调器接收到的功耗反馈;或者关于设备温度和与可容许热包络的接近度的反馈。
一些方面可包括响应于以下各项中的至少一项而减小位姿速率:检测到较高延迟容忍度;检测到降低一个或多个其他时延以抵消位姿捆绑时延的高网络吞吐量;确定用户正在缓慢移动或以高度可预测的轨迹移动;接收到从该调制解调器接收到的指示功耗能够被降低的功耗反馈;以及/或者确定可容许热包络。
一些方面可包括响应于以下各项中的至少一项而增大位姿速率:确定需要较少延迟;检测到持续高的时延;确定用户正在快速移动或以不可预测的轨迹移动;接收到从调制解调器接收到的指示功耗没有显著增加的功耗反馈;以及/或者确定可容许热包络。
一些方面可包括基于位姿信息的采样率的改变以及/或者被捆绑到单个分组中以供传输的位姿信息的量的改变来适配位姿速率。
另外的方面可包括一种计算设备,该计算设备具有处理器,该处理器被配置有用于执行与上文概述的方法相对应的各种操作的处理器可执行指令。
另外的方面可包括一种在其上存储有处理器可执行指令的非暂态处理器可读存储介质,该处理器可执行指令被配置为使处理器执行与上文概述的方法操作相对应的各种操作。
另外的方面可包括一种计算设备,该计算设备具有各种用于执行与上文概述的方法操作相对应的功能的构件。
附图说明
被并入本文并且构成本说明书的一部分的附图例示了本发明的示例实施方案,并且连同上文给出的概括描述和下文给出的详细描述一起用于解释本发明的特征。
图1是例示适用于各种实施方案的示例电信系统的网络组件的通信系统框图。
图2是例示根据一些实施方案的可被配置有扩展应用编程接口(API)以减少客户端计算设备上的功耗的示例客户端计算设备的组件框图。
图3是包括用于无线通信中的用户平面和控制平面的无线电协议栈的示例软件架构的组件框图。
图4是示例客户端计算设备的组件框图,该客户端计算设备可根据一些实施方案被配置为降低其功耗和/或改善其热性能特性。
图5是例示可被包括在根据一些实施方案配置的客户端计算设备中的示例框架组件的框图。
图6至图8是例示根据一些实施方案的调整位姿速率以保持在功率预算内的方法的框图。
图9A和图9B是例示根据一些实施方案的动态地调整计算设备中的调制解调器的低时延模式的方法的过程流程图。
图10是适用于实现各种实施方案的示例客户端设备的组件框图。
具体实施方式
将参照附图详细描述各个实施方案。在可能之处,相同附图标记将贯穿附图用于指代相同或类似部分。对特定示例和具体实施的参考是出于例示性目的,并且不旨在限制权利要求的范围。
各种实施方案包括用于改善客户端计算设备的热性能特性的方法以及被配置为实现该方法的组件(例如,应用客户端、5G调制解调器、客户端计算设备等)。各种实施方案包括用于实现用于调整客户端设备中的调制解调器的低时延模式的数据流管理框架的方法以及被配置为实现该方法的组件(例如,应用客户端、5G调制解调器、客户端计算设备等)。各种实施方案可包括数据流管理框架从应用客户端并且从计算设备的调制解调器接收与对下行链路数据分组流的接收和处理相关的多个输入,以及使用数据流管理框架中的多个输入来确定对一个或多个调制解调器操作参数和调制解调器功率估计的调整以支持对下行链路数据分组流的处理。可经由第一应用编程接口(API)接收来自调制解调器的输入。数据流管理框架可经由第二API向调制解调器输出对一个或多个调制解调器操作参数和调制解调器功率估计的所确定的调整。
在一些实施方案中,数据流管理框架可被配置为通过基于功率估计值、误块率(BLER)、网络拥塞或来自调制解调器的链路质量反馈中的一者或多者确定对视频比特率、视频每秒帧数(FPS)设置或低时延调制解调器设置中的一者或多者的调整,使用数据流管理框架中的多个输入来确定对一个或多个调制解调器操作参数和调制解调器功率估计的调整以支持对下行链路数据分组流的处理。
在一些实施方案中,数据流管理框架可被配置为通过基于以下各项中的一项或多项确定对一个或多个调制解调器操作参数的调整和对调制解调器功率估计的调整,使用数据流管理框架中的多个输入来确定对调制解调器操作参数和调制解调器功率估计的调整以支持对下行链路数据分组流的处理:来自应用客户端推断事件API的输入;或者来自扩展调制解调器反馈API的输入。在一些实施方案中,由数据流管理框架接收的来自扩展调制解调器反馈API的输入可包括以下各项中的一项或多项:调制解调器功率估计;调制解调器推断视频延迟事件;误块率(BLER);网络拥塞程度;或者链路质量反馈。在一些实施方案中,基于以下各项中的一项或多项来确定调制解调器功率估计:正在进行的上行链路数据率;正在进行的下行链路数据率;可用上行链路数据率;可用下行链路数据率;或者低时延模式设置。
在一些实施方案中,调制解调器可在数据流管理框架中基于以下各项中的至少一项或多项对推断视频延迟事件进行推断:分组报头检查调制解调器事件:传输层调制解调器事件;或者机器学习事件。一些实施方案可以还包括数据流管理框架基于以下各项中的一项或多项在数据流管理框架中确定调制解调器推断视频延迟事件:实时传输协议(RTP)层检查分组报头并且确定尚未到达所接收的分组突发的对应于切片的所有片段;触发调制解调器低时延模式(LLM)以释放掉队者,使得解码能够进行;使用分组的RTP时间戳作为参考来推断是否批准了LLM动作中的任何LLM动作;将跨分组的RTP时间戳彼此比较以确定一组分组是较晚还是较早引起LLM动作;或者读取每个分组的RTP时间戳作为绝对RTP时间戳值,确定相对于源时钟的本地时钟偏移,并且基于所确定的本地时钟偏移和绝对RTP时间戳值来确定分组是否较早引起LLM动作。一些实施方案可以还包括数据流管理框架通过以下操作在数据流管理框架中确定传输层调制解调器事件:确定在传输层中是否存在任何预编程的超时;以及响应于确定在传输层中存在任何预编程的超时而实现可靠用户数据报协议(RUDP)层,该RUDP层在时延约束下实现可靠性,其中:RUDP层请求丢失分组的重传;响应于检测到预编程的超时,RUDP层确认尚未到达套接字的直到某个序列号的所有分组;并且RUDP层在检测到预编程的超时之前触发低低时延模式(LLM),使得立即释放任何累积的分组。一些实施方案可以还包括数据流管理框架通过实现基于机器学习的算法来确定机器学习事件,基于机器学习的算法对分组随时间的节奏进行学习。
在一些实施方案中,数据流管理框架可进一步基于多个输入来确定用于应用服务器的反馈信息以支持对下行链路数据分组流的处理,并且向应用服务器提供反馈信息。在一些实施方案中,由数据流管理框架向应用服务器提供的反馈信息可包括信息,该信息包括以下各项中的一项或多项或是以下各项中的一项或多项的函数:调制解调器反馈;来自调制解调器的关于功耗的反馈;来自调制解调器的指示功耗能够被降低的反馈;来自调制解调器的关于链路质量的反馈;扩展调制解调器反馈;超出数据率反馈的扩展调制解调器反馈;针对上行链路和下行链路的可用数据率;应用推断反馈;速率适配反馈;功率感知视频速率适配反馈;设备温度反馈;可容许热包络反馈;视频每秒帧数(FPS)反馈;向服务器的比特率反馈;或者速率适配反馈。
在一些实施方案中,处理器或数据流管理框架可被配置为执行位姿速率适配。在一些实施方案中,可执行此位姿速率适配,使得在位姿样本、应用位姿样本和位姿传输分组之间存在一一对应关系。在一些实施方案中,可执行此位姿速率适配,使得位姿样本被捆绑以生成减少的应用位姿样本和减少的位姿传输分组。在一些实施方案中,可执行此位姿速率适配,使得位姿样本在较低层处被捆绑以减少位姿传输分组。
在一些实施方案中,位姿速率适配操作可包括基于用户运动与设备显示更新之间的所测量的延迟、自收集到前一位姿样本以来的运动量的估计值、从调制解调器接收到的功耗反馈以及/或者关于设备温度和与可容许热包络的接近度的反馈来适配位姿速率。
在一些实施方案中,位姿速率适配操作可包括响应于处理器或数据流管理框架检测到较高延迟容忍度、检测到降低一个或多个其他时延以抵消位姿捆绑时延的高网络吞吐量、确定用户正在缓慢移动或以高度可预测的轨迹移动、接收到从调制解调器接收到的指示功耗能够被降低的功耗反馈并且/或者确定可容许热包络而减小位姿速率。
在一些实施方案中,位姿速率适配操作可包括响应于处理器或数据流管理框架确定需要较少延迟、检测到持续高的时延、确定用户正在快速移动或以不可预测的轨迹移动、接收到从调制解调器接收到的指示功耗没有显著增加的功耗反馈并且/或者确定可容许热包络而增大位姿速率。
在一些实施方案中,位姿速率适配操作可包括基于位姿信息的采样率的改变以及/或者被捆绑到单个分组中以供传输的位姿信息的量的改变来适配位姿速率。
在各种实施方案中,数据流管理框架可以是以下各项中的一项:在计算设备的处理器中执行的应用客户端;在计算设备的处理器中执行的中间件;以及/或者在计算设备的处理器中实现的软件开发工具包(SDK)。数个不同的蜂窝和移动通信服务和标准可用并在未来被构想,它们全部可实现且获益于各个实施方案。此类服务和标准包括例如第三代合作伙伴项目(3GPP)、长期演进(LTE)系统、第三代无线移动通信技术(3G)、第四代无线移动通信技术(4G)、第五代无线移动通信技术(5G)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、3GSM、通用分组无线电服务(GPRS)、码分多址(CDMA)系统(例如,cdmaOne、CDMA2000TM)、增强型数据率GSM演进(EDGE)、高级移动电话系统(AMPS)、数字AMPS(IS-136/TDMA)、演进数据最优化(EV-DO)以及数字增强型无绳电信(DECT)。这些技术中的每一项都涉及,例如,语音、数据、信令和/或内容消息的传输和接收。应当理解,对与单独的电信标准或技术相关的术语和/或技术细节的任何引用仅出于例示性目的,并不旨在将权利要求的范围限制在特定的通信系统或技术,除非在权利要求语言中进行了明确记载。
术语“客户端设备”和“客户端计算设备”在本文中可互换地使用,并且指代无线设备、物联网(IOT)设备、蜂窝电话、智能电话、个人或移动多媒体播放器、个人数据助理(PDA)、膝上型计算机、平板计算机、超级本、掌上计算机、无线电子邮件接收器、支持多媒体互联网的蜂窝电话、无线游戏控制器、智能汽车、连接的交通工具以及包括用于发射和/或接收无线通信信号的可编程处理器、存储器和电路的类似电子设备中的任一者或全部。虽然各种实施方案在无线设备(诸如智能电话和平板计算机)中尤其有用,但该实施方案通常在包括用于通过蜂窝式和无线通信网络接入无线互联网协议(IP)和数据服务的通信电路的任何电子设备中有用。
术语“应用客户端”在本文中可用于指代软件应用(例如,XR应用、云游戏软件等)、软件开发工具包(SDK)、中间件、固件、线程、进程或包括在客户端计算设备中或在客户端计算设备上操作的任何类似组件。
术语“反馈数据”在本文中可用于指代基于在调制解调器中检测到的活动、操作、事件或条件而收集、生成或推断的任何或所有信息,并且可包括当前或预测功耗估计值、调制解调器操作模式、误块率(BLER)、网络拥塞信息、话务的比特率或周期性、上行链路数据率和下行链路数据率、链路质量信息、时延估计值、对可用数据率或可用带宽的指示、数据率的潜在增大或减小以及功耗的对应改变,或其他类似因素、条件、参数或值中的任一者或全部。
术语“IP加速器(IPA)”在本文中用于客户端设备的调制解调器内的硬件块。IPA可被配置为执行数据路径功能并且/或者允许客户端设备执行某些网络功能(例如,路由、滤波、网络地址转换、聚合等)而不主动涉及客户端设备的主应用处理器(AP)。数据路径可以是应用层组件(例如,客户端软件应用等)与调制解调器之间的路径。可以对应用层和/或调制解调器的分组数据汇聚协议(PDCP)层内的上行链路比特和下行链路比特执行数据路径功能。
术语“片上系统(SOC)”在本文中用于指代包含集成在单个衬底上的多个资源和/或处理器的单个集成电路(IC)芯片。单个SOC可能包含用于数字、模拟、混合信号和射频功能的电路。单个SOC还可以包括任意数量的通用和/或专用处理器(数字信号处理器、调制解调器处理器、视频处理器等)、存储块(例如,ROM、RAM、闪存等)和资源(例如,定时器、稳压器、振荡器等)。SOC还可以包括用于控制集成资源和处理器以及用于控制外围设备的软件。
术语“系统级封装(SIP)”在本文中可被用于指包含多个资源、计算单元、两个或更多个IC芯片上的核心和/或处理器、衬底或SOC的单个模块或封装。例如,SIP可以包括单个衬底,多个IC芯片或半导体管芯以垂直配置堆叠在该衬底上。类似地,SIP可以包括一个或多个多芯片模块(MCM),在这些模块上多个IC或半导体管芯被封装到统一衬底中。SIP还可以包括多个独立的SOC,这些SOC通过高速通信电路连接在一起并紧密邻近封装,诸如在单个主板上或单个无线设备中。SOC的邻近性促成了高速通信以及存储器和资源的共享。
通信网络经历使网络状态随时间改变的网络波动(例如,资源可用性的改变等)。这些波动可能导致客户端设备丢弃分组、使缓冲器欠载(under-run)或以其他方式负面地影响用户体验。自适应比特率流媒体技术允许客户端设备上的软件应用通过调整传输到客户端设备或由客户端设备接收的流的比特率或质量来响应网络条件的这种改变。作为示例,这些技术可包括应用服务器,该应用服务器读入原始视频文件并生成该文件的多个版本(有时称为“表示”)以供在互联网协议(IP)网络上递送。客户端设备可基于资源可用性或其他合适的因素来动态地选择要从应用服务器接收哪些表示。
客户端设备内的组件和电路(例如,5G调制解调器等)生成热或热能,这些热或热能在过量水平下可能对设备的性能和运行具有显著负面影响。所生成的热能的量可取决于包括在客户端设备中的组件、设备的操作条件和/或设备中的操作或活动。例如,当执行诸如视频处理的复杂任务时,客户端设备中的处理器和其他组件生成大量热能。作为另一示例,以高功率水平在持续时间段内无线地接收或传输数据的客户端设备可生成大量热能,这些热能可能对客户端设备的性能和运行具有显著负面影响。热能还可能损害或缩短客户端设备的操作寿命。
现代客户端设备可配备有散热结构,该散热结构帮助确保设备不过热(例如,在损害或缩短设备的操作寿命的不安全温度下操作等)。设备制造商通常构建足够大以包括显著散热结构的设备,或者构建尝试平衡性能与功耗之间的折中的较小但功能较弱的设备。即,由于较小的设备包括减小的总表面积和/或形状因数(例如,大小、形状、外观等),因此它们还包括更少或更小的散热结构(散热片)。表面积或形状因数的这些减小可能对设备的功率耗散和/或热性能特性具有显著负面影响。
通常,客户端设备以规律的节奏从应用服务器接收数据。客户端设备的调制解调器在向客户端软件应用发送数据之前将该调制解调器接收的数据(即,用于累积、试探、聚合等)保持一小段时间。虽然此延迟对于大多数客户端软件应用是可容许的,但是它对于性能可能受到延迟的数据接收(时延)的负面影响的某些软件应用(诸如扩展现实(XR)和云游戏软件应用)而言可能是有问题的。
调制解调器可包括多个操作模式,包括一个或多个低时延模式(LLM),在LLM下,分组在不执行累积或聚合操作的情况下被移动到协议栈或处理栈中的下一层级。调制解调器还可包括允许在设备上操作并接收数据分组的客户端软件应用选择并设定用于设备或应用的低时延模式的特征。虽然此类低时延模式降低时延,但这些低时延模式可能需要/消耗附加处理资源并且/或者增加设备上的功耗。例如,低时延操作模式可能需要调制解调器以较高频率操作以更快地处理任务(例如,如以每秒百万指令(MIPS)等测量),这可能消耗移动设备的电池或增加客户端设备的功耗特性。为了更好地平衡时延、性能和功耗之间的折中,一些调制解调器允许客户端软件应用选择多个不同低时延模式中的一个低时延模式,该多个不同低时延模式中的每一个低时延模式达成不同平衡并且/或者实现时延、性能和功耗之间的不同折中点。
一些实施方案可以通过协调和控制客户端设备上的应用客户端(例如,软件开发工具包(SDK)、软件应用、固件、中间件等)和调制解调器的活动来使客户端设备上的功耗减少或最小化。软件应用和调制解调器可使用反馈应用编程接口(API)和动作API进行通信。例如,软件应用可使用反馈API从调制解调器收集信息(反馈),并且使用动作API向调制解调器发送信息(例如,命令、控制指令等)。
软件应用客户端还可以使用反馈API将推断的或收集的数据从调制解调器(反馈)发送到应用服务器。反馈可用于调制由应用服务器朝向客户端设备传输的数据(例如,视频帧)。例如,软件应用客户端可使用反馈API从调制解调器收集信息,使用所收集的信息来确定用于上行链路通信和/或下行链路通信的调制解调器的可用带宽或可用数据率(即,至多调制解调器可支持的上行链路比特率等),基于数据率来执行比特率适配,并且向应用服务器和/或应用云发送对应的调制解调器反馈(例如,可用数据率、比特率适配等)。
在一些实施方案中,软件应用客户端可推断应用层级下的调制解调器反馈。例如,软件应用可基于针对网络带宽、时延等的估计值来推导、断定或估计调制解调器的可用数据率。作为另一示例,软件应用可基于从由调制解调器用来接收和移动分组的缓冲器收集的信息来推断网络正在停滞。即,如果用于接收数据的缓冲器出现抖动或变空,则软件应用可推断出设备将分组移动到协议栈或处理栈中的下一层级比该设备接收分组更快,并且因此网络拥塞或变得停滞。软件应用可以使用动作API向调制解调器发送信息。
使用常规解决方案,进入低时延模式的客户端设备或调制解调器将继续在该模式下操作,而不管分组是否被延迟、不管调制解调器是否继续在时延、性能和功耗之间达成合适的平衡,并且/或者不管低时延模式操作是否继续有效或有益。这可能导致客户端设备中不必要的功率消耗。例如,数据分组时延对用户体验的影响可能在整个游戏设计中显著变化(例如,爆炸要求低时延,而接近静态场景不要求低时延)。因此,选择特定低时延模式的游戏应用可能针对一些任务(例如,游戏设计中的爆炸等)达成时延与功耗之间的正确平衡,针对其他任务(例如,渲染接近静态场景等)浪费设备的处理资源或电池资源。
一些实施方案可通过配置调制解调器(例如,5G调制解调器)以使得其IPA和数据路径参数的基于应用的动态配置能够基于多种应用条件动态地实现或调整低时延模式来克服常规解决方案的一些限制。因此,根据各实施方案配置的调制解调器可针对一些任务或在应用的执行的一些部分中(例如,当游戏设计较快速或动作需要大量数据下载时等)以低时延递送分组,并且针对其他任务或在应用的执行的其他部分中(例如,在游戏的静态或较慢移动部分中等)以功率高效的方式递送分组。
调制解调器可被配置为允许客户端软件应用(即,使用数据的应用)使用应用层或传输层触发器(例如,实时传输协议层触发事件等)来确定是否进入低时延模式并且/或者确定平衡设备上的时延、性能和功耗之间的折中的操作参数。例如,客户端软件应用可使用触发事件来确定是否应当以较高功耗更快地递送下行链路数据分组、下行链路数据分组是否可以在调制解调器上经受IPA和数据路径聚合/累积以降低客户端设备上的功耗,以及/或者是否存在允许数据分组被聚合以甚至更多地降低客户端设备上的功耗的静态条件。
响应于客户端软件应用确定应当以较高功耗更快地递送下行链路数据分组,客户端软件应用可频繁地或使用快速时标(例如,每1毫秒-100毫秒等)调用分组“清空”。在不执行累积或聚合操作的情况下,仅客户端软件应用所指示的分组被移动到协议栈或处理栈中的下一层级。所有其他分组被累积或聚合以便降低设备上的功耗。
响应于客户端软件应用确定下行链路数据分组可能经历调制解调器上的IPA和数据路径聚合/累积,或者响应于确定分组可能较不频繁地或者在较慢的时标(例如,每100ms、1秒、3秒等)上被递送,客户端软件应用可基于已经多晚或多早接收到过去的分组而在具有不同时延的不同低时延模式之间切换。
响应于客户端软件应用确定存在允许数据分组聚合的静态条件或当前条件几乎是静态的(例如,动作中的暂停或接近静止影像持续若干秒或若干分钟等),客户端软件应用可在调制解调器处配置与事件(例如,第一分组rx、最后一个分组rx)相关联的帧或切片超时。作为响应,调制解调器可聚合帧(或切片)的分组。调制解调器可以响应于确定事件发生而启动定时器。在检测到定时器的超时或期满时,客户端软件应用可以调用分组“清空”,使得分组被清空到应用层并且/或者使得分组被累积/聚合,以便改善客户端设备的功耗特性。
在一些实施方案中,客户端软件应用可被配置为动态地确定操作参数、动态地选择低时延模式并且/或者动态地控制低时延模式操作,以便平衡满足客户端软件应用的即时时延需要与减少客户端设备上的功耗之间的折中。
在各种实施方案中,客户端软件应用可被配置为使用所检测的应用层或传输层触发事件来确定操作参数(即,达成设备上的时延、性能和功耗之间的正确平衡的值)。触发器可以是包括触发定义的事件驱动过程、消息或信息结构。触发定义可标识或定义一个或多个触发事件。术语“触发事件”在本文中用于指代在触发定义中定义为使客户端设备执行低时延模式(LLM)相关动作的事件或条件。具体而言,响应于检测到触发事件,客户端设备可基于所检测的触发事件来确定调制解调器的操作参数,接着基于所确定的操作参数来动态地调整调制解调器的低时延模式。触发事件的非限制性示例包括传输层超时、检测到并非对应于切片的所有片段都在数据突发内到达、确定分组比预期早或晚到达、检测到下载服务中的短路/中断、检测到并非对应于切片的所有片段都已被接收或未被包括在所接收的数据突发内、检测到下载服务中的短路/中断、检测到诸如按钮按压事件的控制器事件等。触发定义还可包括触发事件的有效载荷或内容(例如,软件应用过程等)、标识有效载荷/内容要被发送到的目的地的信息,以及/或者触发类型信息。
在一些实施方案中,客户端软件应用可被配置为基于触发事件/条件来动态地选择低时延模式和/或动态地控制低时延模式操作,该触发事件/条件可包括客户端设备检测到诸如传输层超时的触发事件、确定并非对应于切片的所有片段都在数据突发内到达、确定分组比预期早或晚到达、检测到下载服务中的短路/中断,并且/或者基于控制器事件或其映射的性质。
在一些实施方案中,触发事件/条件可以基于传输层超时。客户端软件应用可使用传输层子模块或子层,诸如可靠用户数据报协议(RUDP)传输层,以遵守严格的可靠性和时延约束。RUDP层组件通常请求丢失分组的重传。在预编程超时时,RUDP层组件可确认尚未到达套接字的任何或所有分组(例如,直到某个序列号等)。在这样的超时之前,RUDP层组件可确定或选择立即释放已经在IPA中累积的分组的低时延模式。即,在IPA中累积的分组没有被标记为丢失(从套接字的角度来看),这可以改善客户端设备和/或客户端软件应用的时延特性。
在一些实施方案中,触发事件可以基于在实时传输协议(RTP)层中确定并非对应于切片的所有片段都已到达数据突发内。即,RTP层组件可被配置为检查分组报头并且确定对应于切片的所有片段是否都包括在所接收的数据突发内。响应于确定对应于切片的所有片段尚未到达或未包括在所接收的数据突发内的触发事件,客户端设备可确定或选择立即释放掉队者(即,尚未到达的切片片段)的低时延模式,使得客户端设备可开始执行数据解码操作。这可以改善客户端设备和/或客户端软件应用的时延特性。
在一些实施方案中,触发事件/条件可以基于分组是较早还是较晚。例如,客户端设备可以比较分组的RTP时间戳以确定分组是较早还是较晚,并且基于是较早还是较晚接收到分组来动态地实现或调整低时延模式。在一些实施方案中,客户端设备可被配置为将每个分组的RTP时间戳读取为绝对值。如果相对于源时钟的本地时钟偏移是已知的,则客户端设备可以基于该分组的绝对RTP时间戳来确定该分组是否较早。客户端设备可基于分组是否被较早接收来实现或调整低时延模式,并且/或者改善客户端设备和/或客户端软件应用的时延特性。
在一些实施方案中,触发事件/条件可以基于下载服务中是否已经存在短路/中断。下载服务中的短路/中断可以向客户端设备指示累积分组的突发可能很快到达。因此,响应于检测到下载服务中的短路/中断,客户端设备或客户端软件应用可触发低时延模式移动到序列中的下一个I帧以阻止错误传播。客户端设备可继续触发低时延模式(或继续在低时延模式下操作)直到接收到I帧为止。
在一些实施方案中,触发事件/条件可以基于控制器事件和/或其映射的性质。客户端设备或客户端软件应用可响应于客户端软件应用检测到按钮按压(其为控制器事件)而触发低时延模式,使得可用低时延接收、处理、呈现或渲染与按钮按压事件相关联的动作(例如,游戏应用中的模拟枪击等)。
在一些实施方案中,客户端计算设备可被配置为动态地调整设备的低时延模式(LLM)。例如,客户端设备可监测在客户端设备上操作的客户端软件应用的下行链路数据分组以检测触发事件,基于检测到的触发事件来确定调制解调器的操作参数,并且基于所确定的操作参数并且/或者基于检测到的触发事件来动态地调整调制解调器的低时延模式。
触发事件可包括客户端设备检测到传输层超时,客户端设备确定并非对应于切片的所有片段都到达了数据突发内,客户端设备确定分组比预期更早或更晚到达,客户端设备检测到下载服务中的短路/中断,和/或基于控制器事件或其映射的存在、客户端设备检测或性质。
在一些实施方案中,客户端计算设备可确定平衡设备上的时延、性能和功耗之间的折中的操作参数。在一些实施方案中,客户端软件应用可使用触发器来确定是否应当以较高功耗更快地递送下行链路数据分组、下行链路数据分组是否可以在调制解调器上经受IPA和数据路径聚合/累积以降低客户端设备上的功耗,以及/或者是否存在允许数据分组被聚合以甚至更多地降低客户端设备上的功耗的静态条件。
在一些实施方案中,客户端计算设备可以以快速时标调用分组清空,使得由客户端软件应用标识的下行链路数据分组在不执行累积或聚合操作的情况下被移动到调制解调器的协议栈或处理栈中的下一层级以降低客户端设备上的时延,并且对剩余下行链路数据分组执行累积或聚合操作以降低客户端设备上的功耗。在一些实施方案中,客户端计算设备可基于设备的操作条件(或由客户端软件应用执行的当前任务)在具有不同时延的不同低时延模式之间切换,以便平衡设备上的时延、性能和功耗之间的折中。
在一些实施方案中,客户端计算设备可以以快速时标调用分组清空,使得由客户端软件应用标识的下行链路数据分组在不执行累积或聚合操作的情况下被移动到调制解调器的协议栈或处理栈中的下一层级,以降低客户端设备上的时延。
在一些实施方案中,客户端计算设备可对剩余的下行链路数据分组执行累积和/或聚合操作以降低客户端设备上的功耗。
在一些实施方案中,客户端计算设备可评估先前所接收的数据分组的时间戳以确定先前所接收的数据分组是较早还是较晚到达。客户端计算设备可基于先前所接收的数据分组是较早还是较晚到达而在具有不同时延的不同低时延模式之间切换。
在一些实施方案中,客户端计算设备可监测下行链路数据分组以确定客户端软件应用的条件是否是静态(或接近静态)的。客户端计算设备可响应于确定客户端软件应用的状况是静态的或接近静态的而设置定时器,并且开始在调制解调器中聚合和/或累积下行链路数据分组直到定时器期满为止。在定时器期满之后,客户端设备处理器可调用分组清空,该分组清空在不执行累积或聚合操作的情况下将下行链路数据分组发送到调制解调器的协议栈或处理栈中的下一层级。
图1例示了适于实现各种具体实施的通信系统150的示例。通信系统150可以是5GNR网络,或任何其他合适的网络(诸如LTE网络)。
通信系统150可包括异构网络架构,该异构网络架构包括通信网络140和各种客户端设备(图1中例示为客户端设备102a-102e)。通信系统150还可包括数个基站(例示为BS104a、BS104b、BS104c和BS104d)以及其他网络实体。基站是与客户端设备(移动设备)进行通信的实体,并且也可被称为NodeB、节点B、LTE演进型节点B(eNB)、接入点(AP)、无线电头端、传输接收点(TRP)、新空口基站(NR BS)、5G NodeB(NB)、下一代NodeB(gNB)等等。每个基站可为特定地理区域提供通信覆盖。在3GPP中,术语“小区”可指基站的覆盖区域、服务该覆盖区域的基站子系统或其组合,这取决于使用该术语的上下文。为了便于参考,术语“基站”在本文中用于指代无线通信网络中的一系列通信节点中的任一者,包括例如eNB、NRBS、gNB、TRP、AP、节点B、5G NB、用户驻地装备(CPE)、集成接入回程(IAB)节点以及建立无线通信“小区”的其他通信节点。
基站104a-104d可以为宏小区、微微小区、毫微微小区、另一类型的小区或它们的组合提供通信覆盖。宏小区可覆盖相对较大的地理区域(例如,半径为数千米),并且可允许由具有服务订阅的客户端设备不受限制地接入。微微小区可覆盖相对较小的地理区域,并且可允许由具有服务订阅的客户端设备不受限制地接入。毫微微小区可覆盖相对较小的地理区域(例如,住宅),并且可允许由与该毫微微小区有关联的客户端设备(例如,封闭订户群(CSG)中的客户端设备)受限制地接入。用于宏小区的基站可被称为宏BS。用于微微小区的基站可被称为微微BS。用于毫微微小区的基站可被称为毫微微BS或家庭BS。在图1中例示的示例中,基站104a可以是用于宏小区152a的宏BS,基站104b可以是用于微微小区152b的微微BS,并且基站104c可以是用于毫微微小区152c的毫微微BS。基站104a-104d可支持一个或多个(例如,三个)小区。
在一些示例中,小区可以不是驻定的,并且该小区的地理区域可根据移动基站的位置而移动。在一些示例中,基站104a-104d可通过各种类型的回程接口(诸如直接物理连接、虚拟网络或它们的组合)使用任何合适的传输网络来彼此互连以及互连到通信系统150中的一个或多个其他基站或网络节点(未例示)。
通信系统150还可包括中继站(诸如中继BS104d)。中继站是能接收来自上游站(例如,基站或客户端设备)的数据传输并向下游站(例如,客户端设备或基站)发送该数据传输的实体。中继站也可以是可为其他客户端设备中继传输的客户端设备。在图1中例示的示例中,中继站104d可与宏基站104a和客户端设备102d进行通信以促成宏基站104a与客户端设备102d之间的通信。中继站也可被称为中继基站、中继等。
通信系统150可以是包括不同类型的基站(例如,宏基站、微微基站、毫微微基站、中继基站等)的异构网络。这些不同类型的基站可具有不同的发射功率水平、不同覆盖区域,以及对通信系统150中的干扰的不同影响。例如,宏基站可具有高发射功率水平(例如,5瓦至40瓦),而微微基站、毫微微基站和中继基站可具有较低发射功率水平(例如,0.1瓦至2瓦)。
网络控制器130可耦合到基站集合并且可提供对这些基站的协调和控制。网络控制器130可经由回程来与基站进行通信。基站还可例如经由无线或有线回程直接或间接地彼此通信。
客户端设备102a、102b、102c可分散遍及通信系统150,并且每个客户端设备可以是驻定的或移动的。客户端设备还可被称为接入终端、终端、移动站、订户单元、站等。客户端设备102a、102b、102c可以是蜂窝电话(例如,智能电话)、个人数字助理(PDA)、无线调制解调器、无线通信设备、手持式设备、膝上型计算机、无绳电话、无线本地环路(WLL)站、平板计算机、相机、游戏设备、上网本、智能本、超级本、医疗设备或装备、生物测定传感器/设备、可穿戴设备103(智能手表、智能服装、智能眼镜、智能腕带、智能首饰(例如,智能戒指、智能手环))、娱乐设备(例如,音乐或视频设备或卫星无线电)、车载组件或传感器、智能仪表/传感器、工业制造装备、全球定位系统设备,或者被配置为经由无线或有线介质通信的任何其他合适的设备。
宏基站104a可在有线或无线通信链路126上与通信网络140进行通信。客户端设备102a、102b、102c可以在无线通信链路122上与基站104a-104d进行通信。
有线通信链路126可使用各种有线网络(诸如以太网、TV电缆、电话、光纤,以及其他形式的物理网络连接),这些有线网络可使用一个或多个有线通信协议,诸如以太网、点对点协议、高水平数据链路控制(HDLC)、高级数据通信控制协议(ADCCP),以及传输控制协议/互联网协议(TCP/IP)。
无线通信链路122、124可包括多个载波信号、频率,或频带,其中每一者可包括多个逻辑信道。无线通信链路可以利用一种或多种无线电接入技术(RAT)。可在无线通信链路中使用的RAT的示例包括:3GPP LTE、3G、4G、5G(诸如NR)、GSM、码分多址(CDMA)、宽带码分多址(WCDMA)、微波接入全球互通(WiMAX)、时分多址(TDMA)和其他移动电话通信技术蜂窝RAT。可在通信系统150内的各种无线通信链路中的一者或多者中使用的RAT的其他示例包括中程协议(诸如Wi-Fi、LTE-U、LTE-直连、LAA、MuLTEfire)和相对短程RAT(诸如ZigBee、蓝牙和蓝牙低功耗(LE))。
某些无线网络(诸如LTE)在下行链路上利用正交频分复用(OFDM)并在上行链路上利用单载波频分复用(SC-FDM)。OFDM和SC-FDM将系统带宽划分成多个(K个)正交子载波,这些子载波也常被称为频调、频槽等。每个子载波可用数据来调制。通常,调制符号在频域中使用OFDM发送,在时域中使用SC-FDM发送。毗邻子载波之间的间隔可以是固定的,且子载波的总数(K)可取决于系统带宽。例如,子载波的间隔可以是15kHz,而最小资源分配(被称为“资源块”)可以是12个子载波(或180kHz)。因此,对于1.25兆赫兹(MHz)、2.5MHz、5MHz、10MHz或20MHz的系统带宽,标称快速文件传输(FFT)大小可以分别等于128、256、512、1024或2048。系统带宽还可被划分成子带。例如,子带可以覆盖1.08MHz(即,6个资源块),并且对于1.25MHz、2.5MHz、5MHz、10MHz或20MHz的系统带宽,可以分别存在1个、2个、4个、8个或16个子带。
虽然一些具体实施的描述可使用与LTE技术相关联的术语和示例,但是一些具体实施可适用于其他无线通信系统(诸如新空口(NR)或5G网络)。NR可在上行链路(UL)和下行链路(DL)上利用具有循环前缀(CP)的OFDM,并且包括对使用时分双工(TDD)的半双工操作的支持。可以支持100MHz的单个分量载波带宽。NR资源块可在0.1毫秒(ms)持续时间上跨越具有75kHz的子载波带宽的12个子载波。每个无线电帧可包括具有10ms的长度的50个子帧。因此,每个子帧可具有0.2ms的长度。每个子帧可指示用于数据传输的链路方向(即,DL或UL),并且每个子帧的链路方向可被动态地切换。每个子帧可包括DL/UL数据以及DL/UL控制数据。波束形成可以被支持并且波束方向可以被动态地配置。还可支持具有预译码的多输入多输出(MIMO)传输。DL中的MIMO配置可支持至多达八个发射天线,其中多层DL传输至多达八个流,每客户端设备至多达两个流。可支持每客户端设备至多达两个流的多层传输。可使用至多达八个服务小区来支持多个小区的聚集。另选地,NR可支持除基于OFDM的空中接口之外的不同空中接口。
一些客户端设备可被认为是机器类型通信(MTC)或者演进型或增强型机器类型通信(eMTC)客户端设备。MTC和eMTC客户端设备包括例如机器人、远程设备、传感器、仪表、监测器、位置标签等,它们可与基站、另一设备(例如,远程设备)或某个其他实体通信。例如,无线节点可以经由有线或无线通信链路提供用于或者到网络(例如,诸如互联网或蜂窝网络的广域网)的连接。一些客户端设备可被认为是物联网(IoT)设备,或可被实现为NB-IoT(窄带物联网)设备。客户端设备102a-102e可被包括在外壳的内部,该外壳容纳客户端设备102a-102e的组件,诸如处理器组件、存储器组件、类似的组件,或它们的组合。
一般而言,在给定的地理区域中可部署任何数目的通信系统和任何数目的无线网络。每个通信系统和无线网络可支持特定的无线电接入技术(RAT),并且可在一个或多个频率上操作。RAT也可被称为无线电技术、空中接口等。频率也可被称为载波、频率信道等。每个频率可以在给定的地理区域中支持单个RAT,以便避免不同RAT的通信系统之间的干扰。在某些情况下,可以部署NR或5G RAT网络。
可调度对空中接口的接入,其中调度实体(例如,基站)在该调度实体的服务区域或小区内的一些或全部设备和装备当中分配用于通信的资源。调度实体可负责调度、指派、重新配置和释放用于一个或多个下级实体的资源。也就是说,对于调度的通信,从属实体利用由调度实体分配的资源。
在一些具体实施中,两个或更多个客户端设备102a-102e(例如,被例示为客户端设备102a和客户端设备102e)可使用一个或多个侧链路信道124来直接通信(例如,不使用基站104a-d作为中介来彼此通信)。例如,客户端设备102a-102e可使用对等(P2P)通信、设备到设备(D2D)通信、车联网(V2X)协议(其可包括交通工具到交通工具(V2V)协议、交通工具到基础设施(V2I)协议或类似协议)、网状网络,或类似网络,或它们的组合进行通信。在该情形中,客户端设备102a-102e可执行调度操作、资源选择操作,以及在本文别处描述为如由基站104a-d执行的其他操作。
为了建立与基站104a-d的通信,客户端设备102a-102e可以尝试从基站104a-d获取SI。SI可以在一个或多个系统信息块中提供,诸如主信息块(MIB)和一个或多个系统信息块(SIB)。SI提供定时和结构信息,该定时和结构信息使得客户端设备102a-102e能够从基站104a-d接收并解码进一步的信息,该信息使得客户端设备102a-102e能够例如通过基站104a-d接入通信、小区接入、执行小区重选、频内、频间和RAT间小区选择过程以及其他操作。
在5G NR中,某些系统信息(诸如MIB和SIB1消息)由基站广播。在一些具体实施中,也可以广播附加SI。然而,在一些具体实施中,附加SI(诸如按需式SI)可由基站响应于针对附加SI的请求(诸如针对按需式SI的请求)来传输。在一些具体实施中,广播SI(即,MIB或SIB1消息)可包括调度信息以使得客户端设备102a-102e能够请求和接收按需式系统信息。
当客户端设备102a-102e通电时,客户端设备102a-102e可执行小区搜索并且从基站104a-d获取一个或多个同步信号(诸如主同步信号(PSS)和辅同步信号(SSS))和物理广播信道(PBCH)。使用来自PBCH的同步信号和信息,客户端设备102a-102e可接收、解码并存储来自基站104a-d的MIB消息。使用来自所解码MIB的参数,客户端设备102a-102e可接收并解码SIB1消息。在一些具体实施中,SIB1消息可指示基站104a-d被配置为提供一个或多个按需式SI消息。为了获取按需式SI消息,客户端设备102a-102e可以向基站104a-d发送针对一个或多个按需式SI消息的请求。在一些具体实施中,发送针对一个或多个按需式消息的请求可以是随机接入信道(RACH)请求过程的一部分。
图2例示了可在实现各种具体实施的客户端设备中使用的示例计算系统或SIP200架构。
参考图1和图2,所例示的示例SIP 200包括两个SOC 202、204、时钟206、电压调节器208以及无线收发器266,该无线收发器被配置为经由天线(未示出)向/从客户端设备(诸如基站104a)发送和接收无线通信。在一些具体实施中,第一SOC 202作为客户端设备的中央处理单元(CPU)来操作,该CPU通过执行由软件应用程序的指令指定的算术、逻辑、控制和输入/输出(I/O)操作来执行这些指令。在一些具体实施中,第二SOC204可作为专用处理单元来操作。例如,第二SOC 204可作为负责管理大容量、高速度(诸如5Gbps等),或超高频短波长(诸如28GHz毫米波频谱等)通信的专用5G处理单元来操作。
第一SOC 202可包括数字信号处理器(DSP)210、调制解调器处理器212、图形处理器214、应用处理器216、连接至这些处理器中的一者或多者的一个或多个协处理器218(诸如矢量协处理器)、存储器220、定制电路系统222、系统组件和资源224、互连/总线模块226、一个或多个温度传感器230、热管理单元232和热功率包络(TPE)组件234。第二SOC 204可包括5G调制解调器处理器252、功率管理单元254、互连/总线模块264、多个毫米波收发器256、存储器258和各种附加处理器260,诸如应用处理器、分组处理器等。
每个处理器210、212、214、216、218、252、260可包括一个或多个核心,并且每个处理器/核心可独立于其他处理器/核心执行操作。例如,第一SOC 202可包括执行第一类型的操作系统(诸如FreeBSD、LINUX、OS X等)的处理器以及执行第二类型的操作系统(诸如MICROSOFT WINDOWS10)的处理器。此外,处理器210、212、214、216、218、252、260中的任一者或全部可被包括作为处理器群集架构的一部分(诸如同步处理器群集架构、异步或异构处理器群集架构等)。
第一SOC 202和第二SOC 204可包括各种系统组件、资源和定制电路,以用于管理传感器数据、模数转换、无线数据传输,以及用于执行其他专门操作,诸如解码数据分组和处理编码的音频和视频信号以在网络浏览器中渲染。例如,第一SOC 202的系统组件和资源224可包括功率放大器、电压调节器、振荡器、锁相环、外围桥接器、数据控制器、存储器控制器、系统控制器、接入端口、定时器,以及被用来支持在客户端设备上运行的处理器和软件客户端的其他类似组件。系统组件和资源224或定制电路系统222还可包括用于与外围设备(诸如相机、电子显示器、无线通信设备、外部存储器芯片等)对接的电路系统。
第一SOC 202和第二SOC 204可经由互连/总线模块250进行通信。各种处理器210、212、214、216、218可经由互连/总线模块226互连到一个或多个存储器元件220、系统组件和资源224和定制电路222以及热管理单元232。类似地,处理器252可经由互连/总线模块264互连到功率管理单元254、毫米波收发器256、存储器258和各种附加处理器260。互连/总线模块226、250、264可包括可重配置逻辑门的阵列或实现总线架构(诸如CoreConnect、AMBA等)。通信可由高级互连提供,诸如高性能片上网络(NoC)。
第一SOC 202或第二SOC 204可进一步包括用于与该SOC外部的资源(诸如时钟206和电压调节器208)通信的输入/输出模块(未例示)。SOC外部的资源(诸如时钟206、电压调节器208)可由两个或更多个内部SOC处理器/核心共享。
除了以上讨论的示例SIP 200之外,一些具体实施还可在各种各样的计算系统中实现,这些计算系统可包括单个处理器、多个处理器、多核处理器或它们的任何组合。
图3例示了软件架构300的示例,该软件架构包括用于基站350(例如基站104a)与客户端设备320(诸如客户端设备102a-102e、200)之间的无线通信中的用户平面和控制平面的无线电协议栈。参考图1至图3,客户端设备320可实现软件架构300以与通信系统(诸如100)的基站350进行通信。在各种具体实施中,软件架构300中的层可与基站350的软件中的对应层形成逻辑连接。软件架构300可被分布在一个或多个处理器(诸如处理器212、214、216、218、252、260)当中。虽然关于一个无线电协议栈进行了例示,但是在多SIM(订户身份模块)客户端设备中,软件架构300可包括多个协议栈,每个协议栈可与不同的订户身份模块(SIM)相关联(诸如在双SIM无线通信设备中,两个协议栈分别与两个SIM相关联)。虽然以下参考LTE通信层进行了描述,但是软件架构300可支持用于无线通信的各种标准和协议中的任何一种,或可包括支持无线通信的各种标准和协议中的任何一种的附加协议栈。
软件架构300可包括应用层360、框架362(例如,数据流管理框架等)、主机层314、非接入层(NAS)302和接入层(AS)304。NAS 302可包括支持分组滤波、安全性管理、移动性控制、会话管理,以及客户端设备的SIM(诸如SIM 204)与其核心网络之间的话务和信令的功能和协议。AS 304可包括支持SIM(诸如SIM 204)与所支持的接入网的实体(诸如基站)之间的通信的功能和协议。具体而言,AS 304可包括至少三层(层1、层2和层3),每一层可包含各种子层。
在用户平面和控制平面中,AS 304的层1(L1)可以是物理层(PHY)306,其可监督实现空中接口上的传输或接收的功能。这种物理层306功能的示例可包括循环冗余校验(CRC)附件、译码块、加扰和解扰、调制和解调、信号测量、MIMO等。物理层可包括各种逻辑信道,包括物理下行链路控制信道(PDCCH)和物理下行链路共享信道(PDSCH)。
在用户平面和控制平面中,AS 304的层2(L2)可负责物理层306上客户端设备320与基站350之间的链路。在各种具体实施中,层2可包括介质访问控制(MAC)子层308、无线电链路控制(RLC)子层310以及分组数据汇聚协议(PDCP)312子层,它们中的每一者形成终接于基站350的逻辑连接。
在控制平面中,AS 304的层3(L3)可包括无线电资源控制(RRC)子层3。虽然未示出,但是软件架构300可包括附加层3子层、以及层3之上的各种上层。在各种具体实施中,RRC子层313可提供包括广播系统信息、寻呼,以及在客户端设备320与基站350之间建立和释放RRC信令连接的功能。
在各种具体实施中,PDCP子层312可提供包括不同无线电承载与逻辑信道之间的复用、序列号添加、切换数据处置、完整性保护、暗码化和报头压缩的上行链路功能。在下行链路中,PDCP子层312可提供包括数据分组的按序传递、重复数据分组检测、完整性验证、暗码解译、以及报头解压缩的功能。
在上行链路中,RLC子层310可提供上层数据分组的分段和级联、丢失数据分组的重传、以及自动重传请求(ARQ)。而在下行链路中,RLC子层310功能可包括数据分组的重排序以补偿乱序接收、上层数据分组的重新组装、以及ARQ。
在上行链路中,MAC子层308可提供包括逻辑信道和传输信道之间的复用、随机接入规程、逻辑信道优先级、以及混合ARQ(HARQ)操作的功能。在下行链路中,MAC层功能可包括小区内的信道映射、解复用、非连续接收(DRX)、以及HARQ操作。
虽然软件架构300可提供通过物理介质来传输数据的功能,但是软件架构300可以还包括至少一个主机层314以向客户端设备320中的各种应用提供数据传送服务。在一些具体实施中,由该至少一个主机层314提供的专用功能可提供软件架构与通用处理器206之间的接口。
在其他具体实施中,软件架构300可包括提供主机层功能的一个或多个较高逻辑层(诸如传输、会话、表示、应用等)。例如,在一些具体实施中,软件架构300可包括网络层(诸如IP层),在该网络层中,逻辑连接终接于分组数据网络(PDN)网关(PGW)。在一些具体实施中,软件架构300可包括应用层,其中逻辑连接终接于另一设备(诸如终端用户设备、服务器等)。在一些具体实施中,软件架构300可在AS 304中还包括物理层306与通信硬件(诸如一个或多个射频收发器)之间的硬件接口316。
在一些实施方案中,客户端设备的协议栈可包括物理层模块、数据链路层模块、网络层模块、传输层模块和应用层模块,它们中的每一者可在硬件中、软件中或硬件和软件的组合中实现。此外,这些中的每一者可包括子层,该子层也可在硬件中、软件中或硬件和软件的组合中实现。
物理层模块可包括被配置为接收基本通信信号、从通信信号中提取数据并且将数据提供给媒体传输流(例如,MPEG-2传输流)或数据链路层模块中的介质访问控制模块的无线电组件。数据链路层模块可提供寻址和信道访问控制机制,该寻址和信道访问控制机制使得客户端设备的各种组件能够接收不同的数据流。数据链路层模块还可包括用于在运动图像专家组(MPEG)传输流(TS)之上承载分组协议(例如,互联网协议)的各种子模块或子层,诸如多协议封装前向纠错(MPE-FEC)模块/层以及程序和系统信息(SI/PSI)模块/层。
承载内容和信息流的流/信号的各部分可由数据链路层模块传递到网络层模块,该网络层模块可包括用于向传输层模块传达/中继流、数据报和/或分组的IP模块/接口。在传输层模块中接收的流和数据可被递送到适当的传输层子模块或子层,该传输层子模块或子层处理并封装数据以供传输。这种传输层子模块/子层可包括用户数据报协议(UDP)模块/层、异步分层译码/分层译码传输(ALC/LCT)模块/层、实时传输协议(RTP)模块/层以及单向传输上的文件递送(FLUTE)模块/层。在一个实施方案中,RTP模块/层可以被包括在应用层中或作为应用层的一部分,类似于超文本传输协议(HTTP)上的动态自适应流媒体(DASH)格式。
应用层模块可包括建立主机到主机、端到端连接以及进行进程到进程通信所需要的协议和方法。应用层模块还可包括用于在移动接收器设备上处理、渲染和/或显示所接收内容的最终用户应用(例如,媒体播放器等)。应用层还可包括媒体格式,诸如HTTP动态自适应流媒体(DASH)格式、编码媒体流以及其他媒体相关元数据、RTP模块和媒体播放器模块。
图4例示了适于实现各种实施方案的系统400。在图4所例示的示例中,系统400包括客户端应用402、调制解调器404、网络基础设施406和应用服务器408。客户端应用402可以经由反馈API 410和/或动作API 412与调制解调器通信。客户端应用402可以通过调制解调器404和网络基础设施406与应用服务器408通信。
图5例示了根据一些实施方案的可被配置为智能地并动态地调整计算设备中的调制解调器的低时延模式的框架362组件。在一些实施方案中,框架362可被包括作为被包括在客户端设备中的软件系统(例如,图3所例示的软件架构300)的一部分。在图5所例示的示例中,框架362接收应用推断事件502和扩展调制解调器反馈504。框架362可向应用服务器(例如,图4所例示的应用服务器408)输出速率适配反馈506。框架362还可(例如,向图4所例示的调制解调器404)输出调制解调器动作API 508。
图6至图8例示了可由根据各实施方案配置的计算设备(或框架362等)执行的各种速率适配操作。在图6所例示的示例中,在位姿样本602、应用位姿样本604和位姿传输分组606之间存在一一对应关系或比率。即,降低位姿采样率减少了应用位姿样本604和位姿传输分组606。
在图7所例示的示例中,系统在应用层处捆绑位姿样本702。即,不减少位姿样本702,而是将其捆绑生成减少的应用位姿样本704和减少的位姿传输分组706。
在图8所例示的示例中,系统在较低层处捆绑位姿样本802。即,位姿样本802和应用位姿样本804均未减少。而是,应用发送允许较低层捆绑样本的指示以减少位姿传输分组806。
图9A和图9B例示了根据一些实施方案的用于动态地调整计算设备中的调制解调器的低时延模式的方法900、950。在各种实施方案中,用于执行方法900、950中的操作的构件可包括处理器,诸如图2所例示的处理器202、204、214、216、218、210、252、260和互连件226、250、264中的任一者。
参考图9A,在框902中,数据流管理框架(例如,图3和图5所例示的框架362等)可接收与对下行链路数据分组流的接收和处理相关的多个输入。在各种实施方案中,数据流管理框架可以是应用客户端、中间件或软件开发工具包(SDK)。
在一些实施方案中,在框902中由数据流管理框架接收的多个输入可包括来自在计算设备上执行的应用客户端的输入和/或基于对下行链路数据分组的监测经由第一API从计算设备的调制解调器接收到的输入。在一些实施方案中,多个输入可包括来自应用客户端推断事件API的输入,诸如调制解调器功率估计、调制解调器推断视频延迟事件、误块率(BLER)、网络拥塞程度、链路质量反馈等。在一些实施方案中,多个输入可包括来自扩展调制解调器反馈API的输入,诸如正在进行的上行链路数据率、正在进行的下行链路数据率、可用上行链路数据率、可用下行链路数据率、低时延模式设置等。
在一些实施方案中,在框902中由数据流管理框架接收的多个输入可包括调制解调器推断视频延迟事件。在各种实施方案中,计算设备可被配置为基于分组报头检查调制解调器事件、传输层调制解调器事件或机器学习事件来确定调制解调器推断视频延迟事件。例如,在一些实施方案中,计算系统可被配置为基于实时传输协议(RTP)层检查分组报头并且确定尚未到达所接收的分组突发的对应于切片的所有片段来确定调制解调器推断视频延迟事件。在一些实施方案中,计算系统可被配置为通过以下操作来确定调制解调器推断视频延迟事件:触发调制解调器低时延模式(LLM)以释放掉队者,使得解码可以进行;使用分组的RTP时间戳作为参考来推断是否批准了LLM动作中的任何LLM动作;将跨分组的RTP时间戳彼此比较以确定一组分组是较晚还是较早引起LLM动作;或者读取每个分组的RTP时间戳作为绝对RTP时间戳值,确定相对于源时钟的本地时钟偏移,并且基于所确定的本地时钟偏移和绝对RTP时间戳值来确定分组是否较早引起LLM动作。
在一些实施方案中,在框902中由数据流管理框架接收的多个输入可包括传输层调制解调器事件。计算系统可被配置为通过确定在传输层中是否存在任何预编程的超时以及实现在时延约束下实现可靠性的可靠用户数据报协议(RUDP)来确定传输层调制解调器事件。RUDP层可请求丢失分组的重传。另外,RUDP层可被配置为响应于检测到预编程的超时而确认尚未到达套接字的直到某个序列号的所有分组。在一些实施方案中,RUDP层可在检测到预编程的超时之前触发低低时延模式(LLM),使得立即释放任何累积的分组。
在一些实施方案中,在框902中由数据流管理框架接收的多个输入可包括机器学习事件。在一些实施方案中,计算系统可被配置为通过实现基于机器学习的算法来确定机器学习事件,该基于机器学习的算法对分组随时间的节奏进行学习。
在框904中,数据流管理框架可使用数据流管理框架中的多个输入来确定对一个或多个调制解调器操作参数和调制解调器功率估计的调整以支持对下行链路数据分组流的处理。即,数据流管理框架可确定对调制解调器操作参数和调制解调器功率估计的调整。
在一些实施方案中,数据流管理框架可基于来自应用客户端推断事件API的输入和/或来自扩展调制解调器反馈API的输入来确定对调制解调器操作参数和/或调制解调器功率估计的调整。
在一些实施方案中,来自扩展调制解调器反馈API的输入可包括调制解调器功率估计、调制解调器推断视频延迟事件、误块率(BLER)、网络拥塞程度和/或链路质量反馈。
在一些实施方案中,可基于正在进行的上行链路数据率、正在进行的下行链路数据率、可用上行链路数据率、可用下行链路数据率和/或低时延模式设置来确定调制解调器功率估计。
在一些实施方案中,可在数据流管理框架中基于分组报头检查调制解调器事件、传输层调制解调器事件和/或机器学习事件来确定调制解调器推断视频延迟事件。在一些实施方案中,可基于以下操作来确定调制解调器推断视频延迟事件:实时传输协议(RTP)层检查分组报头并且确定尚未到达所接收的分组突发的对应于切片的所有片段;触发调制解调器低时延模式(LLM)以释放掉队者,使得解码可以进行;使用分组的RTP时间戳作为参考来推断是否批准了LLM动作中的任何LLM动作;将跨分组的RTP时间戳彼此比较以确定一组分组是较晚还是较早引起LLM动作;以及/或者读取每个分组的RTP时间戳作为绝对RTP时间戳值,确定相对于源时钟的本地时钟偏移,并且/或者基于所确定的本地时钟偏移和绝对RTP时间戳值来确定分组是否较早引起LLM动作。
在一些实施方案中,在框904中,数据流管理框架可基于功率估计值、误块率(BLER)、网络拥塞或来自调制解调器的链路质量反馈中的至少一者或多者来确定对视频比特率、视频每秒帧数(FPS)设置或低时延调制解调器设置中的至少一者或多者的调整。在一些实施方案中,在框904中,数据流管理框架可确定对调制解调器操作参数的调整和对调制解调器功率估计的调整。
在一些实施方案中,在框904中,数据流管理框架可执行位姿速率适配,使得在位姿样本、应用位姿样本和位姿传输分组之间存在一一对应关系。数据流管理框架还可执行位姿速率适配,使得位姿样本被捆绑以生成减少的应用位姿样本和减少的位姿传输分组,并且/或者使得位姿样本在较低层处被捆绑以减少位姿传输分组。
在一些实施方案中,框904中的位姿速率适配操作可包括基于用户运动与设备显示更新之间的所测量的延迟、自收集到前一位姿样本以来的运动量的估计值、从调制解调器接收到的功耗反馈以及/或者关于设备温度和与可容许热包络的接近度的反馈来适配位姿速率。在一些实施方案中,框904中的位姿速率适配操作可包括响应于处理器或数据流管理框架检测到较高延迟容忍度、检测到降低一个或多个其他时延以抵消位姿捆绑时延的高网络吞吐量、确定用户正在缓慢移动或以高度可预测的轨迹移动、接收到从调制解调器接收到的指示功耗可以被降低的功耗反馈并且/或者确定可容许热包络而减小位姿速率。在一些实施方案中,框904中的位姿速率适配操作可包括响应于处理器或数据流管理框架确定需要较少延迟、检测到持续高的时延、确定用户正在快速移动或以不可预测的轨迹移动、接收到从调制解调器接收到的指示功耗没有显著增加的功耗反馈并且/或者确定可容许热包络而增大位姿速率。
在框906中,数据流管理框架可经由第二API从数据流管理框架向调制解调器输出对一个或多个调制解调器操作参数和调制解调器功率估计的所确定的调整以支持对到调制解调器(例如,图4所例示的调制解调器404)的下行链路数据分组流的处理。
参考图9B,在操作框902-框906中,数据流管理框架可执行上文参考图9A所讨论的操作。在框952中,数据流管理框架可基于多个输入来确定用于应用服务器的反馈信息以支持对下行链路数据分组流的处理。向应用服务器提供的反馈信息可包括信息,该信息包括以下各项或是以下各项的函数:调制解调器反馈;来自调制解调器的关于功耗的反馈;来自调制解调器的指示功耗能够被降低的反馈;来自调制解调器的关于链路质量的反馈;扩展调制解调器反馈;超出数据率反馈的扩展调制解调器反馈;针对上行链路和下行链路的可用数据率;应用推断反馈:速率适配反馈;功率感知视频速率适配反馈;设备温度反馈;可容许热包络反馈;视频每秒帧数(FPS)反馈;向服务器的比特率反馈;以及/或者速率适配反馈。
在框954中,数据流管理框架可向应用服务器提供反馈。例如,在框954中,数据流管理框架可向应用服务器提供调制解调器反馈、来自调制解调器的关于功耗的反馈、来自调制解调器的指示功耗能够被降低的反馈、来自调制解调器的关于链路质量的反馈、扩展调制解调器反馈、超出数据率反馈的扩展调制解调器反馈、针对上行链路和下行链路的可用数据率、应用推断反馈、速率适配反馈、功率感知视频速率适配反馈、设备温度反馈、可容许热包络反馈、视频每秒帧数(FPS)反馈、向服务器的比特率反馈或者速率适配反馈中的任一者或全部。
各种实施方案可在各种客户端设备上实现,这些客户端设备的示例在图10中以智能电话的形式来例示。智能电话1000可包括:第一片上系统202(例如,SOC-CPU),其耦合到片上系统204(例如,具有5G能力的SOC)。第一SOC 202和第二SOC 204可包括处理器(例如,应用处理器、调制解调器处理器、图形处理器等),并且可耦合到内部存储器1006、1016、显示器1012并耦合到扬声器1014。另外,客户端设备1000可包括可连接到无线数据链路的用于发送和接收电磁辐射的天线1004,和/或耦合到第一SOC 202和/或第二SOC 204中的一个或多个处理器的蜂窝电话收发器1008。客户端设备1000还可包括用于接收用户输入的菜单选择按钮或摇杆开关1020。
客户端设备1000还可包括声音编码/解码(CODEC)电路1010,该电路将从麦克风接收到的声音数字化成适于无线传输的数据分组,并对所接收的声音数据分组进行解码以生成提供给扬声器以生成声音的模拟信号。此外,第一SOC 202和第二SOC 204中的处理器、收发器1008和CODEC电路1010中的一者或多者可包括数字信号处理器(DSP)电路(未单独示出)。
客户端设备1000的处理器可以是可由软件指令(应用)配置为执行多种功能(包括上文所描述的各种具体实施的功能)的任何可编程微处理器、微计算机或多处理器芯片。通常,软件应用可被存储在存储器1006、1016中,然后它们被访问并被加载到处理器中。处理器可包括足以存储应用软件指令的内部存储器。
所例示和描述的各种具体实施是仅作为例示权利要求的各种特征的示例来提供的。然而,针对任何给定具体实施所示出和描述的特征不必限于相关联的具体实施,并且可以与所示出和描述的其他具体实施一起使用或组合。此外,权利要求书不旨在限于任何一个示例具体实施。
在以下段落中描述了各具体实施示例。虽然以下具体实施示例中的一些具体实施示例是根据示例方法来描述的,但是进一步的示例具体实施可包括:在以下段落中所讨论的由计算设备实现的示例方法,该计算设备包括配置有用于执行示例方法的操作的处理器可执行指令的处理器;在以下段落中所讨论的由计算设备实现的示例方法,该计算设备包括用于执行示例方法的功能的构件;以及在以下段落中所讨论的被实现为在其上存储有处理器可执行指令的非暂态处理器可读存储介质的示例方法,该处理器可执行指令被配置为使计算设备的处理器执行示例方法的操作。
实施例1.一种动态地调整客户端设备中的调制解调器的低时延模式的方法,包括:在数据流管理框架中接收与对下行链路数据分组流的接收和处理相关的多个输入,其中所述多个输入包括来自在所述计算设备上执行的应用客户端的输入以及基于对下行链路数据分组的监测经由第一API从所述计算设备的调制解调器接收到的输入;使用所述数据流管理框架中的所述多个输入来确定对一个或多个调制解调器操作参数和调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理;以及经由第二API从所述数据流管理框架向所述调制解调器输出对一个或多个调制解调器操作参数和所述调制解调器功率估计的所确定的调整以支持对所述下行链路数据分组流的处理。
实施例2.根据实施例1所述的方法,其中使用所述数据流管理框架中的所述多个输入来确定对所述一个或多个调制解调器操作参数和所述调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理包括:基于功率估计值、BLER、网络拥塞或来自所述调制解调器的链路质量反馈中的一者或多者来确定对视频比特率、FPS设置或低时延调制解调器设置中的一者或多者的调整。
实施例3.根据实施例1或实施例2所述的方法,其中使用所述数据流管理框架中的所述多个输入来确定对所述一个或多个调制解调器操作参数和所述调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理包括:基于来自应用客户端推断事件API的输入或来自扩展调制解调器反馈API的输入中的一者或多者来确定对一个或多个调制解调器操作参数的调整和对调制解调器功率估计的调整。
实施例4.根据实施例1至3中任一项所述的方法,其中来自所述扩展调制解调器反馈API的所述输入包括以下各项中的一项或多项:调制解调器功率估计;调制解调器推断视频延迟事件;误块率(BLER);网络拥塞程度;或者链路质量反馈。
实施例5.根据实施例1至4中任一项所述的方法,其中基于以下各项中的一项或多项来确定所述调制解调器功率估计:正在进行的上行链路数据率;正在进行的下行链路数据率;可用上行链路数据率;可用下行链路数据率;或者低时延模式设置。
实施例6.根据实施例1至5中任一项所述的方法,其中在数据流管理框架中基于以下各项中的至少一项或多项来确定所述调制解调器推断视频延迟事件:分组报头检查调制解调器事件:传输层调制解调器事件;或者机器学习事件。
实施例7.根据实施例1至6中任一项所述的方法,还包括基于以下各项中的一项或多项在所述数据流管理框架中确定所述调制解调器推断视频延迟事件:RTP层检查分组报头并且确定尚未到达所接收的分组突发的对应于切片的所有片段;触发调制解调器LLM以释放掉队者,使得解码能够进行;使用分组的RTP时间戳作为参考来推断是否批准了LLM动作中的任何LLM动作;将跨分组的RTP时间戳彼此比较以确定一组分组是较晚还是较早引起LLM动作;或者读取每个分组的所述RTP时间戳作为绝对RTP时间戳值,确定相对于源时钟的本地时钟偏移,并且基于所确定的本地时钟偏移和绝对RTP时间戳值来确定分组是否较早引起LLM动作。
实施例8.根据实施例1至7中任一项所述的方法,还包括通过以下操作在所述数据流管理框架中确定所述传输层调制解调器事件:确定在传输层中是否存在任何预编程的超时;以及响应于确定在所述传输层中存在任何预编程的超时而实现可靠用户数据报协议(RUDP)层,所述RUDP层在时延约束下实现可靠性,其中:所述RUDP层请求丢失分组的重传;响应于检测到预编程的超时,所述RUDP层可确认尚未到达套接字的(直到某个序列号的)所有分组;或者所述RUDP层可在检测到所述预编程的超时之前触发LLM,使得立即释放任何累积的分组。
实施例9.根据实施例1至8中任一项所述的方法,还包括通过在所述数据流管理框架中实现基于机器学习的算法来确定所述机器学习事件,所述基于机器学习的算法对分组随时间的节奏进行学习。
实施例10.根据实施例1至9中任一项所述的方法,还包括:在所述数据流管理框架中基于所述多个输入来确定用于应用服务器的反馈信息以支持对所述下行链路数据分组流的处理;以及向所述应用服务器提供所述反馈信息。
实施例11.根据实施例1至10中任一项所述的方法,还包括向所述应用服务器提供的反馈信息可包括信息,所述信息包括以下各项中的一项或多项或是以下各项中的一项或多项的函数:调制解调器反馈;来自调制解调器的关于功耗的反馈;来自调制解调器的指示功耗能够被降低的反馈;来自调制解调器的关于链路质量的反馈;扩展调制解调器反馈;超出数据率反馈的扩展调制解调器反馈;针对上行链路和下行链路的可用数据率;应用推断反馈:速率适配反馈;功率感知视频速率适配反馈;设备温度反馈;可容许热包络反馈;视频每秒帧数(FPS)反馈;向服务器的比特率反馈;或者速率适配反馈。
实施例12.根据实施例1至11中任一项所述的方法,其中所述数据流管理框架是在所述计算设备的处理器中执行的应用客户端、在所述计算设备的处理器中执行的中间件或者在所述计算设备的处理器中实现的软件开发工具包(SDK)中的一者。
实施例13.根据实施例1至12中任一项所述的方法,还包括执行位姿速率适配,使得:在位姿样本、应用位姿样本和位姿传输分组之间存在一一对应关系;所述位姿样本被捆绑以生成减少的应用位姿样本和减少的位姿传输分组;或者所述位姿样本在较低层处被捆绑以减少位姿传输分组。
实施例14.根据实施例1至13中任一项所述的方法,还包括基于以下各项中的至少一项来适配位姿速率:用户运动与设备显示更新之间的所测量的延迟;自收集到前一位姿样本以来的运动量的估计值;从调制解调器接收到的功耗反馈;或者关于设备温度和与可容许热包络的接近度的反馈。
实施例15.根据实施例1至14中任一项所述的方法,还包括响应于以下各项中的至少一项而减小位姿速率:检测到较高延迟容忍度;检测到降低一个或多个其他时延以抵消位姿捆绑时延的高网络吞吐量;确定用户正在缓慢移动或以高度可预测的轨迹移动;接收到从所述调制解调器接收到的指示功耗能够被降低的功耗反馈;或者确定可容许热包络。
实施例16.根据实施例1至15中任一项所述的方法,还包括响应于以下各项中的至少一项而增大位姿速率:确定需要较少延迟;检测到持续高的时延;确定用户正在快速移动或以不可预测的轨迹移动;接收到从调制解调器接收到的指示功耗没有显著增加的功耗反馈;或者确定可容许热包络。
实施例17.根据实施例1至16中任一项所述的方法,还包括基于位姿信息的采样率的改变或者被捆绑到单个分组中以供传输的位姿信息的量的改变来适配位姿速率。
前述方法描述和过程流程图仅作为例示性示例而提供,且并非旨在要求或暗示各个实施方案的框必须按所给出的次序来执行。如本领域技术人员将领会的,前述各实施方案中的框次序可按任何次序来执行。诸如“此后”、“然后”、“下一”等的词语不旨在限制框的次序;这些词语仅用于引导读者阅读对方法的描述。此外,对单数形式的权利要求元素的任何引述(例如使用冠词“一”、“一个”或“所述”的引述)不应解释为将该元素限定为单数。
结合本文中所公开的实施方案来描述的各种例示性逻辑框、模块、电路、和算法框可实现为电子硬件、计算机软件、或这两者的组合。为清楚地例示硬件与软件的这一可互换性,各种例示性组件、框、模块、电路和块在上面是以其功能性的形式作一般化描述的。将这种功能性实现为硬件还是软件取决于具体的应用和对整个系统提出的设计约束条件。技术人员可以针对每个具体应用,以变通的方式实现所描述的功能,但是,此类具体实施决策不应解释为导致脱离本发明的保护范围。
用以实现结合本文中公开的实施方案描述的各种例示性逻辑、逻辑框、模块、以及电路的硬件可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑设备、分立门或晶体管逻辑、分立硬件组件、或它们的任何组合来实现或执行。通用处理器可以是微处理器,但在另选方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心结合的一个或多个微处理器,或任何其他此类配置。另选地,一些框或方法可由专用于给定功能的电路系统来执行。
针对各种实施方案所描述的功能可以在硬件、软件、固件或它们的任何组合中实现。如果以软件实现,则功能可以作为一个或多个指令或代码存储在非暂态计算机可读存储介质或非暂态处理器可读存储介质上。本文公开的方法或算法的步骤可以体现在可以驻留在非暂态计算机可读或处理器可读存储介质上的处理器可执行软件模块中。非暂态计算机可读或处理器可读存储介质可以是可以由计算机或处理器访问的任何存储介质。通过示例的方式而不是限制的方式,这种非暂态计算机可读或处理器可读介质可以包括RAM、ROM、EEPROM、闪存存储器、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁存储设备、或者可以用于存储以指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其它介质。如本文中所用的磁盘和光盘包括压缩光盘(CD)、激光盘、光盘、数字通用光盘(DVD)、软盘和蓝光盘,其中磁盘通常磁性复制数据,而光盘用激光光学地复制数据。以上的组合也被包括在非暂态计算机可读和处理器可读介质的范围内。附加地,方法或算法的操作可作为一条代码和/或指令或者任何代码和/或指令组合或集合而驻留在可被并入计算机程序产品中的非暂态处理器可读介质和/或计算机可读介质上。
提供对所公开的实施方案的以上描述以使任何本领域技术人员能够实施或使用权利要求。对这些实施方案的各种修改对于本领域技术人员来说将是显而易见的,并且在不脱离权利要求的范围的情况下,可以将本文所定义的通用原理应用于其它实施方案。因而,权利要求并非旨在被限定于本文中所示出的各种实施方案,而是应被授予与以下权利要求以及本文中所公开的原理和新颖特征一致的最广范围。
Claims (35)
1.一种动态地调整计算设备中的调制解调器的低时延模式的方法,包括:
在数据流管理框架中接收与对下行链路数据分组流的接收和处理相关的多个输入,其中所述多个输入包括来自在所述计算设备上执行的应用客户端的输入以及基于对下行链路数据分组的监测经由第一应用编程接口(API)从所述计算设备的调制解调器接收到的输入;
使用所述数据流管理框架中的所述多个输入来确定对一个或多个调制解调器操作参数和调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理;以及
经由第二API从所述数据流管理框架向所述调制解调器输出对一个或多个调制解调器操作参数和所述调制解调器功率估计的所确定的调整以支持对所述下行链路数据分组流的处理。
2.根据权利要求1所述的方法,其中使用所述数据流管理框架中的所述多个输入来确定对所述一个或多个调制解调器操作参数和所述调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理包括:基于功率估计值、误块率(BLER)、网络拥塞或来自所述调制解调器的链路质量反馈中的一者或多者来确定对视频比特率、视频每秒帧数(FPS)设置或低时延调制解调器设置中的一者或多者的调整。
3.根据权利要求1所述的方法,其中使用所述数据流管理框架中的所述多个输入来确定对所述调制解调器操作参数和所述调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理包括:基于以下各项中的一项或多项来确定对所述一个或多个调制解调器操作参数的调整和对所述调制解调器功率估计的调整:
来自应用客户端推断事件API的输入;或者
来自扩展调制解调器反馈API的输入。
4.根据权利要求3所述的方法,其中来自所述扩展调制解调器反馈API的所述输入包括以下各项中的一项或多项:
调制解调器功率估计;
调制解调器推断视频延迟事件;
误块率(BLER);
网络拥塞程度;或者
链路质量反馈。
5.根据权利要求4所述的方法,其中基于以下各项中的一项或多项来确定所述调制解调器功率估计:
正在进行的上行链路数据率;
正在进行的下行链路数据率;
可用上行链路数据率;
可用下行链路数据率;或者
低时延模式设置。
6.根据权利要求4所述的方法,其中在所述数据流管理框架中基于以下各项中的至少一项或多项来确定所述调制解调器推断视频延迟事件:
分组报头检查调制解调器事件:
传输层调制解调器事件;或者
机器学习事件。
7.根据权利要求6所述的方法,还包括基于以下各项中的一项或多项在所述数据流管理框架中确定所述调制解调器推断视频延迟事件:
实时传输协议(RTP)层检查分组报头并且确定尚未到达所接收的分组突发的对应于切片的所有片段;
触发调制解调器低时延模式(LLM)以释放掉队者,使得解码能够进行;
使用分组的RTP时间戳作为参考来推断是否批准了LLM动作中的任何LLM动作;
将跨分组的RTP时间戳彼此比较以确定一组分组是较晚还是较早引起LLM动作;或者
读取每个分组的所述RTP时间戳作为绝对RTP时间戳值,确定相对于源时钟的本地时钟偏移,并且基于所确定的本地时钟偏移和绝对RTP时间戳值来确定分组是否较早引起LLM动作。
8.根据权利要求6所述的方法,还包括通过以下操作在所述数据流管理框架中确定所述传输层调制解调器事件:
确定在传输层中是否存在任何预编程的超时;以及
响应于确定在所述传输层中存在任何预编程的超时而实现可靠用户数据报协议(RUDP)层,所述RUDP层在时延约束下实现可靠性,
其中:
所述RUDP层请求丢失分组的重传;
响应于检测到预编程的超时,所述RUDP层确认尚未到达套接字的直到某个序列号的所有分组;并且
所述RUDP层在检测到所述预编程的超时之前触发低低时延模式(LLM),使得立即释放任何累积的分组。
9.根据权利要求6所述的方法,还包括通过在所述数据流管理框架中实现基于机器学习的算法来确定所述机器学习事件,所述基于机器学习的算法对分组随时间的节奏进行学习。
10.根据权利要求1所述的方法,还包括:
在所述数据流管理框架中基于所述多个输入来确定用于应用服务器的反馈信息以支持对所述下行链路数据分组流的处理;以及
向所述应用服务器提供所述反馈信息。
11.根据权利要求10所述的方法,其中向所述应用服务器提供的反馈信息包括信息,所述信息包括以下各项中的一项或多项或是以下各项中的一项或多项的函数:
调制解调器反馈;
来自调制解调器的关于功耗的反馈;
来自调制解调器的指示功耗能够被降低的反馈;
来自调制解调器的关于链路质量的反馈;
扩展调制解调器反馈;
超出数据率反馈的扩展调制解调器反馈;
针对上行链路和下行链路的可用数据率;
应用推断反馈:
速率适配反馈;
功率感知视频速率适配反馈;
设备温度反馈;
可容许热包络反馈;
视频每秒帧数(FPS)反馈;
向服务器的比特率反馈;或者
速率适配反馈。
12.根据权利要求1所述的方法,其中所述数据流管理框架是以下各项中的一项:
在所述计算设备的处理器中执行的应用客户端;
在所述计算设备的处理器中执行的中间件;或者
在所述计算设备的处理器中实现的软件开发工具包(SDK)。
13.根据权利要求1所述的方法,还包括执行位姿速率适配,使得:
在位姿样本、应用位姿样本和位姿传输分组之间存在一一对应关系;
所述位姿样本被捆绑以生成减少的应用位姿样本和减少的位姿传输分组;或者
所述位姿样本在较低层处被捆绑以减少位姿传输分组。
14.根据权利要求1所述的方法,还包括基于以下各项中的至少一项来适配位姿速率:
用户运动与设备显示更新之间的所测量的延迟;
自收集到前一位姿样本以来的运动量的估计值;
从调制解调器接收到的功耗反馈;或者
关于设备温度和与可容许热包络的接近度的反馈。
15.根据权利要求1所述的方法,还包括响应于以下各项中的至少一项而减小位姿速率:
检测到较高延迟容忍度;
检测到降低一个或多个其他时延以抵消位姿捆绑时延的高网络吞吐量;
确定用户正在缓慢移动或以高度可预测的轨迹移动;
接收到从所述调制解调器接收到的指示功耗能够被降低的功耗反馈;或者
确定可容许热包络。
16.根据权利要求1所述的方法,还包括响应于以下各项中的至少一项而增大位姿速率:
确定需要较少延迟;
检测到持续高的时延;
确定用户正在快速移动或以不可预测的轨迹移动;
接收到从调制解调器接收到的指示功耗没有显著增加的功耗反馈;或者
确定可容许热包络。
17.根据权利要求1所述的方法,还包括基于以下各项来适配位姿速率:
位姿信息的采样率的改变;或者
被捆绑到单个分组中以供传输的位姿信息的量的改变。
18.一种计算设备,包括:
调制解调器;
处理器,所述处理器耦合到所述调制解调器,其中所述处理器被配置有用于进行以下操作的处理器可执行指令:
在数据流管理框架中接收与对下行链路数据分组流的接收和处理相关的多个输入,其中所述多个输入包括来自在所述计算设备上执行的应用客户端的输入以及基于对下行链路数据分组的监测经由第一应用编程接口(API)从所述计算设备的调制解调器接收到的输入;
使用所述数据流管理框架中的所述多个输入来确定对一个或多个调制解调器操作参数和调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理;以及
经由第二API向所述调制解调器输出对一个或多个调制解调器操作参数和所述调制解调器功率估计的所确定的调整以支持对所述下行链路数据分组流的处理。
19.根据权利要求18所述的计算设备,其中所述处理器被配置为通过基于功率估计值、误块率(BLER)、网络拥塞或来自所述调制解调器的链路质量反馈中的一者或多者确定对视频比特率、视频每秒帧数(FPS)设置或低时延调制解调器设置中的一者或多者的调整,使用所述数据流管理框架中的所述多个输入来确定对所述一个或多个调制解调器操作参数和所述调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理。
20.根据权利要求18所述的计算设备,其中所述处理器被配置为通过基于以下各项中的一项或多项确定对所述一个或多个调制解调器操作参数的调整和对所述调制解调器功率估计的调整,使用所述数据流管理框架中的所述多个输入来确定对所述调制解调器操作参数和所述调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理:
来自应用客户端推断事件API的输入;或者
来自扩展调制解调器反馈API的输入。
21.根据权利要求20所述的计算设备,其中所述处理器被配置为使得来自所述扩展调制解调器反馈API的所述输入包括以下各项中的一项或多项:
调制解调器功率估计;
调制解调器推断视频延迟事件;
误块率(BLER);
网络拥塞程度;或者
链路质量反馈。
22.根据权利要求21所述的计算设备,其中所述处理器被配置为使得基于以下各项中的一项或多项来确定所述调制解调器功率估计:
正在进行的上行链路数据率;
正在进行的下行链路数据率;
可用上行链路数据率;
可用下行链路数据率;或者
低时延模式设置。
23.根据权利要求21所述的计算设备,其中所述处理器被配置为使得在数据流管理框架中基于以下各项中的至少一项或多项来确定所述调制解调器推断视频延迟事件:
分组报头检查调制解调器事件:
传输层调制解调器事件;或者
机器学习事件。
24.根据权利要求23所述的计算设备,其中所述处理器被进一步配置为基于以下各项中的一项或多项在所述数据流管理框架中确定所述调制解调器推断视频延迟事件:
实时传输协议(RTP)层检查分组报头并且确定尚未到达所接收的分组突发的对应于切片的所有片段;
触发调制解调器低时延模式(LLM)以释放掉队者,使得解码能够进行;
使用分组的RTP时间戳作为参考来推断是否批准了LLM动作中的任何LLM动作;
将跨分组的RTP时间戳彼此比较以确定一组分组是较晚还是较早引起LLM动作;或者
读取每个分组的所述RTP时间戳作为绝对RTP时间戳值,确定相对于源时钟的本地时钟偏移,并且基于所确定的本地时钟偏移和绝对RTP时间戳值来确定分组是否较早引起LLM动作。
25.根据权利要求23所述的计算设备,其中所述处理器被进一步配置为通过以下操作在所述数据流管理框架中确定所述传输层调制解调器事件:
确定在传输层中是否存在任何预编程的超时;以及
响应于确定在所述传输层中存在任何预编程的超时而实现可靠用户数据报协议(RUDP)层,所述RUDP层在时延约束下实现可靠性,
其中:
所述RUDP层请求丢失分组的重传;
响应于检测到预编程的超时,所述RUDP层确认尚未到达套接字的直到某个序列号的所有分组;并且
所述RUDP层在检测到所述预编程的超时之前触发低低时延模式(LLM),使得立即释放任何累积的分组。
26.根据权利要求23所述的计算设备,其中所述处理器被进一步配置为通过在所述数据流管理框架中实现基于机器学习的算法来确定所述机器学习事件,所述基于机器学习的算法对分组随时间的节奏进行学习。
27.根据权利要求18所述的计算设备,其中所述处理器被进一步配置为:
基于所述多个输入来确定用于应用服务器的反馈信息以支持对所述下行链路数据分组流的处理;并且
向所述应用服务器提供所述反馈信息。
28.根据权利要求27所述的计算设备,其中所述处理器被配置为使得向所述应用服务器提供的反馈信息包括信息,所述信息包括以下各项中的一项或多项或是以下各项中的一项或多项的函数:
调制解调器反馈;
来自调制解调器的关于功耗的反馈;
来自调制解调器的指示功耗能够被降低的反馈;
来自调制解调器的关于链路质量的反馈;
扩展调制解调器反馈;
超出数据率反馈的扩展调制解调器反馈;
针对上行链路和下行链路的可用数据率;
应用推断反馈:
速率适配反馈;
功率感知视频速率适配反馈;
设备温度反馈;
可容许热包络反馈;
视频每秒帧数(FPS)反馈;
向服务器的比特率反馈;或者
速率适配反馈。
29.根据权利要求18所述的计算设备,其中所述处理器被进一步配置为操作数据流管理框架,所述数据流管理框架是以下各项中的一项:
在所述计算设备的处理器中执行的应用客户端;
在所述计算设备的处理器中执行的中间件;或者
在所述计算设备的处理器中实现的软件开发工具包(SDK)。
30.根据权利要求18所述的计算设备,其中所述处理器被进一步配置为执行位姿速率适配,使得:
在位姿样本、应用位姿样本和位姿传输分组之间存在一一对应关系;
所述位姿样本被捆绑以生成减少的应用位姿样本和减少的位姿传输分组;或者
所述位姿样本在较低层处被捆绑以减少位姿传输分组。
31.根据权利要求18所述的计算设备,其中所述处理器被进一步配置为基于以下各项中的至少一项来适配位姿速率:
用户运动与设备显示更新之间的所测量的延迟;
自收集到前一位姿样本以来的运动量的估计值;
从调制解调器接收到的功耗反馈;或者
关于设备温度和与可容许热包络的接近度的反馈。
32.根据权利要求18所述的计算设备,其中所述处理器被进一步配置为响应于以下各项中的至少一项而减小位姿速率:
检测到较高延迟容忍度;
检测到降低一个或多个其他时延以抵消位姿捆绑时延的高网络吞吐量;
确定用户正在缓慢移动或以高度可预测的轨迹移动;
接收到从所述调制解调器接收到的指示功耗能够被降低的功耗反馈;或者
确定可容许热包络。
33.根据权利要求18所述的计算设备,其中所述处理器被进一步配置为响应于以下各项中的至少一项而增大位姿速率:
确定需要较少延迟;
检测到持续高的时延;
确定用户正在快速移动或以不可预测的轨迹移动;
接收到从调制解调器接收到的指示功耗没有显著增加的功耗反馈;或者
确定可容许热包络。
34.根据权利要求18所述的计算设备,其中所述处理器被进一步配置为基于以下各项来适配位姿速率:
位姿信息的采样率的改变;或者
被捆绑到单个分组中以供传输的位姿信息的量的改变。
35.一种计算设备,包括:
用于在数据流管理框架中接收与对下行链路数据分组流的接收和处理相关的多个输入的构件,其中所述多个输入包括来自在所述计算设备上执行的应用客户端的输入以及基于对下行链路数据分组的监测经由第一应用编程接口(API)从所述计算设备的调制解调器接收到的输入;
用于使用所述数据流管理框架中的所述多个输入来确定对一个或多个调制解调器操作参数和调制解调器功率估计的调整以支持对所述下行链路数据分组流的处理的构件;和
用于经由第二API从所述数据流管理框架向所述调制解调器输出对一个或多个调制解调器操作参数和所述调制解调器功率估计的所确定的调整以支持对所述下行链路数据分组流的处理的构件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/463,914 | 2021-09-01 | ||
US17/463,914 US11679326B2 (en) | 2021-09-01 | 2021-09-01 | Systems and method for modem power aware extended reality (XR) and gaming software applications |
PCT/US2022/035454 WO2023033909A1 (en) | 2021-09-01 | 2022-06-29 | Systems and method for modem power aware extended reality (xr) and gaming software applications |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117882385A true CN117882385A (zh) | 2024-04-12 |
Family
ID=82846444
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280057634.3A Pending CN117882385A (zh) | 2021-09-01 | 2022-06-29 | 用于调制解调器功率感知扩展现实(xr)和游戏软件应用的系统和方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US11679326B2 (zh) |
EP (1) | EP4397046A1 (zh) |
KR (1) | KR102710884B1 (zh) |
CN (1) | CN117882385A (zh) |
TW (1) | TW202312722A (zh) |
WO (1) | WO2023033909A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117710449B (zh) * | 2024-02-05 | 2024-04-16 | 中国空气动力研究与发展中心高速空气动力研究所 | 基于numa的实时位姿视频测量流水线模型优化方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7035400B1 (en) * | 1999-03-01 | 2006-04-25 | Wm. Marsh Rice University | Signaling Techniques in channels with asymmetric powers and capacities |
US20080310485A1 (en) * | 2007-06-15 | 2008-12-18 | Qualcomm Incorporated | System and methods for controlling modem hardware |
US20200014963A1 (en) | 2018-07-03 | 2020-01-09 | Qualcomm Incorporated | Latency improvement via frame latency feedback |
WO2021080263A1 (ko) | 2019-10-23 | 2021-04-29 | 엘지전자 주식회사 | 무선랜 시스템에서 저지연 통신을 수행하기 위한 기법 |
US11706323B2 (en) * | 2020-02-13 | 2023-07-18 | Qualcomm Incorporated | Managing a reordering timer |
US11252226B2 (en) * | 2020-03-05 | 2022-02-15 | Qualcomm Incorporated | Methods and apparatus for distribution of application computations |
-
2021
- 2021-09-01 US US17/463,914 patent/US11679326B2/en active Active
-
2022
- 2022-06-29 CN CN202280057634.3A patent/CN117882385A/zh active Pending
- 2022-06-29 EP EP22751883.4A patent/EP4397046A1/en active Pending
- 2022-06-29 WO PCT/US2022/035454 patent/WO2023033909A1/en active Application Filing
- 2022-06-29 KR KR1020247006225A patent/KR102710884B1/ko active Search and Examination
- 2022-06-29 TW TW111124188A patent/TW202312722A/zh unknown
Also Published As
Publication number | Publication date |
---|---|
US11679326B2 (en) | 2023-06-20 |
WO2023033909A1 (en) | 2023-03-09 |
US20230068415A1 (en) | 2023-03-02 |
KR20240035885A (ko) | 2024-03-18 |
KR102710884B1 (ko) | 2024-09-27 |
EP4397046A1 (en) | 2024-07-10 |
TW202312722A (zh) | 2023-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114731546B (zh) | 当不支持VoNR时从ePDG到LTE的VoWi-Fi切换的增强 | |
US11706323B2 (en) | Managing a reordering timer | |
US11228536B2 (en) | Usage of QUIC spin bit in wireless networks | |
KR20230051489A (ko) | 5g 미디어 스트리밍에서의 메트릭 수집 및 보고 | |
US11588877B2 (en) | Attention (AT) interface for radio access network bitrate recommendations | |
US20240107476A1 (en) | Supporting Inter-Media Synchronization In Wireless Communications | |
KR102710884B1 (ko) | 모뎀 전력 인식 확장 현실(xr) 및 게이밍 소프트웨어 애플리케이션들을 위한 시스템들 및 방법 | |
US12047806B2 (en) | Interface between a radio access network and an application | |
US11716212B2 (en) | Application based dynamic control of modem datapath behavior | |
US11265263B2 (en) | Processing data using remote network computing resources | |
US11234259B2 (en) | Managing wireless device communication with a base station | |
US20210258405A1 (en) | Swift content download using smart link aggregation | |
CN114175714B (zh) | 管理无线设备与基站的通信以从基站获得系统信息同时减少拥塞 | |
US20240251400A1 (en) | Managing Uplink Transmission Latency | |
US20240205274A1 (en) | Methods and systems for managing packet transmissions | |
WO2022187331A1 (en) | Interface between a radio access network and an application | |
CN116941278A (zh) | 无线电接入网和应用之间的接口 | |
CN118077240A (zh) | 用于管理数据测量报告的注意(at)命令 |
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 |