CN114222169B - 一种视频流传输方法、通信设备及计算机可读存储介质 - Google Patents
一种视频流传输方法、通信设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114222169B CN114222169B CN202111530157.1A CN202111530157A CN114222169B CN 114222169 B CN114222169 B CN 114222169B CN 202111530157 A CN202111530157 A CN 202111530157A CN 114222169 B CN114222169 B CN 114222169B
- Authority
- CN
- China
- Prior art keywords
- client
- determining
- time
- matrix
- kth
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 238000004891 communication Methods 0.000 title claims abstract description 18
- 239000011159 matrix material Substances 0.000 claims description 89
- 238000004364 calculation method Methods 0.000 claims description 35
- 230000008569 process Effects 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000005540 biological transmission Effects 0.000 abstract description 17
- 230000000694 effects Effects 0.000 abstract description 6
- 230000001360 synchronised effect Effects 0.000 abstract description 6
- 238000012545 processing Methods 0.000 description 7
- 238000005259 measurement Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000013598 vector Substances 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/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/242—Synchronization processes, e.g. processing of PCR [Program Clock References]
-
- 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/31—Communication aspects specific to video games, e.g. between several handheld game devices at close range
-
- 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/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
-
- 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/402—Communication between platforms, i.e. physical link to protocol
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请公开了一种视频流传输方法、装置及通信设备,涉及通信技术领域,以解决现有视频流传输方案存在视频流同步效果差的问题。该方法包括:确定客户端在第k时刻渲染的视频流大小Sk;确定客户端在第k时刻的接收能力参数的理论预测值Xk|k‑1,接收能力参数包括接收码率和延迟比特数中的一项或者多项;基于Sk和Xk|k‑1,确定客户端在第k时刻的接收能力参数的估计值Xk|k;向云端发送Xk|k,以使云端基于Xk|k,调整对客户端下发的视频流的编码码率。本申请实施例可将预估的接收能力参数发送云端,使云端动态调整对客户端下发的视频流的编码码率,保证下发的视频流码率能够良好匹配客户端的接收能力,最终实现视频流的同步传输。
Description
技术领域
本申请涉及计算机处理技术领域,尤其涉及一种视频流传输方法、装置及通信设备。
背景技术
目前,云游戏逐渐受到用户喜爱,成为一种新型网络游戏。其中,对战类云游戏涉及到两个客户端与云端的交互,具体为:由一路云实例编码传输包括游戏画面数据的视频流,该视频流分别传输至两个客户端,同时客户端操作游戏所产生的指令流汇总传输到云实例上。然而,两个客户端的网络情况或设备处理能力通常不同,可能会导致两个客户端接收视频流不同步,从而导致两个客户端指令流发送不同步,进而影响用户的游戏体验。可见,现有视频流传输方案存在视频流同步效果差的问题。
发明内容
本申请实施例提供一种视频流传输方法、装置及通信设备,以解决现有视频流传输方案存在视频流同步效果差的问题。
第一方面,本申请实施例提供了一种视频流传输方法,由客户端执行,所述方法包括:
确定所述客户端在第k时刻渲染的视频流大小Sk,其中,k为正整数;
确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项;
基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率。
可选地,所述确定所述客户端在第k时刻渲染的视频流大小Sk,包括:
确定所述客户端在第k-1时刻至所述第k时刻之间渲染的各视频帧的大小之和,得到所述Sk;
所述基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k,包括:
基于所述Sk、所述Xk|k-1和Δtk,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
其中,Δtk为所述第k时刻与所述第k-1时刻之间的时间差。
可选地,所述基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k,包括:
根据所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的噪声估计值vk|k-1;
确定所述vk|k-1的加权系数Gk;
根据所述Gk,对所述Xk|k-1和所述vk|k-1进行加权计算,得到所述Xk|k。
可选地,所述Gk通过最小化所述Xk|k与所述客户端在所述第k时刻的接收能力参数的真实值Xk之间的误差确定。
可选地,所述Gk按照如下方式确定:
将所述Xk和所述Xk|k分别转换成矩阵Xk和矩阵Xk|k,对误差协方差Pk|k的迹求一阶导数,并令所述一阶导数为0,求解出所述Gk对应的矩阵Gk,其中,Pk|k为所述矩阵Xk与所述矩阵Xk|k的差值矩阵的协方差。
可选地,所述Sk对应的矩阵Sk与所述Xk对应的矩阵Xk,满足关系式Sk=HkXk+vk,其中,H为转换矩阵,且Hk=[Δtk -1],Δtk为所述第k时刻与第k-1时刻之间的时间差,vk为测量噪声;
所述Gk对应的矩阵Gk按照公式Gk=(Pk|k-1Hk T)/(HkPk|k-1Hk T+Qk)计算,其中,Pk|k-1为所述矩阵Xk与所述Xk|k-1对应的矩阵Xk|k-1的差值矩阵的协方差,Qk为所述vk的协方差。
可选地,所述Pk|k-1按照如下方式计算:
k=1时,根据预设的初始误差协方差P0|0、预设的过程噪声协方差R和公式Pk|k-1=Pk-1|k-1+R,计算P1|0,以及根据公式Pk|k=(1-GkHk)Pk|k-1,计算P1|1;
k>1时,根据公式Pk|k-1=Pk-1|k-1+R和Pk|k=(1-GkHk)Pk|k-1,计算Pk|k-1和Pk|k。
可选地,所述Qk按照如下方式计算:
根据公式resk=Sk-HkXk|k-1,计算所述客户端在所述k时刻的噪声差值resk;
k=1时,Eq0=res1;
k>1时,根据所述客户端从初始时刻到所述k时刻之间的噪声差值,计算平均噪声差值Eqk-1;
基于公式Qk=αQk-1+(1-α)(Eqk-1-resk),计算Qk,其中,α为预设的概率系数,Q0为预设的初始噪声协方差。
第二方面,本申请实施例还提供另一种视频流传输方法,由云端执行,所述方法包括:
接收客户端发送的所述客户端在第k时刻的接收能力参数的估计值Xk|k,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或多项;
根据所述Xk|k,确定对应所述第k时刻的编码码率;
基于所述编码码率,设置编码器参数,以调整对所述客户端下发的视频流的编码码率。
第三方面,本申请实施例还提供一种视频流传输装置,包括:
第一确定模块,用于确定客户端在第k时刻渲染的视频流大小Sk,其中,k为正整数;
第二确定模块,用于确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项;
第三确定模块,用于基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
发送模块,用于向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率。
可选地,所述第一确定模块用于确定所述客户端在第k-1时刻至所述第k时刻之间渲染的各视频帧的大小之和,得到所述Sk;
所述第三确定模块用于基于所述Sk、所述Xk|k-1和Δtk,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
其中,Δtk为所述第k时刻与所述第k-1时刻之间的时间差。
可选地,所述第三确定模块包括:
第一确定单元,用于根据所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的噪声估计值vk|k-1;
第二确定单元,用于确定所述vk|k-1的加权系数Gk;
计算单元,用于根据所述Gk,对所述Xk|k-1和所述vk|k-1进行加权计算,得到所述Xk|k。
可选地,所述Gk通过最小化所述Xk|k与所述客户端在所述第k时刻的接收能力参数的真实值Xk之间的误差确定。
可选地,所述Gk按照如下方式确定:
将所述Xk和所述Xk|k分别转换成矩阵Xk和矩阵Xk|k,对误差协方差Pk|k的迹求一阶导数,并令所述一阶导数为0,求解出所述Gk对应的矩阵Gk,其中,Pk|k为所述矩阵Xk与所述矩阵Xk|k的差值矩阵的协方差。
可选地,所述Sk对应的矩阵Sk与所述Xk对应的矩阵Xk,满足关系式Sk=HkXk+vk,其中,H为转换矩阵,且Hk=[Δtk -1],Δtk为所述第k时刻与第k-1时刻之间的时间差,vk为测量噪声;
所述Gk对应的矩阵Gk按照公式Gk=(Pk|k-1Hk T)/(HkPk|k-1Hk T+Qk)计算,其中,Pk|k-1为所述矩阵Xk与所述Xk|k-1对应的矩阵Xk|k-1的差值矩阵的协方差,Qk为所述vk的协方差。
可选地,所述Pk|k-1按照如下方式计算:
k=1时,根据预设的初始误差协方差P0|0、预设的过程噪声协方差R和公式Pk|k-1=Pk-1|k-1+R,计算P1|0,以及根据公式Pk|k=(1-GkHk)Pk|k-1,计算P1|1;
k>1时,根据公式Pk|k-1=Pk-1|k-1+R和Pk|k=(1-GkHk)Pk|k-1,计算Pk|k-1和Pk|k。
可选地,所述Qk按照如下方式计算:
根据公式resk=Sk-HkXk|k-1,计算所述客户端在所述k时刻的噪声差值resk;
k=1时,Eq0=res1;
k>1时,根据所述客户端从初始时刻到所述k时刻之间的噪声差值,计算平均噪声差值Eqk-1;
基于公式Qk=αQk-1+(1-α)(Eqk-1-resk),计算Qk,其中,α为预设的概率系数,Q0为预设的初始噪声协方差。
第四方面,本申请实施例还提供另一种视频流传输装置,包括:
接收模块,用于接收客户端发送的所述客户端在第k时刻的接收能力参数的估计值Xk|k,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或多项;
第四确定模块,用于根据所述Xk|k,确定对应所述第k时刻的编码码率;
设置模块,用于基于所述编码码率,设置编码器参数,以调整对所述客户端下发的视频流的编码码率。
第五方面,本申请实施例还提供一种通信设备,包括:收发机、存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面所述的视频流传输方法中的步骤;或者实现如第二方面所述的视频流传输方法中的步骤。
第六方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的视频流传输方法中的步骤;或者实现如第二方面所述的视频流传输方法中的步骤。
在本申请实施例中,确定所述客户端在第k时刻渲染的视频流大小Sk,其中,k为正整数;确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项;基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率。这样,客户端可基于当前第k时刻渲染的视频流大小和接收能力参数的理论预测值,来实时预估当前时刻的接收能力参数,并将预估结果发送云端,云端则可基于客户端预估的接收能力参数,动态调整对客户端下发的视频流的编码码率,使得下发的视频流的码率能够良好匹配客户端的接收能力,从而不同客户端可根据自身状态选择合适的码流进行解码渲染,最终实现视频流在不同客户端之间的同步传输。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的视频流传输方法的流程图之一;
图2是本申请实施例提供的视频流传输方法的流程图之二;
图3是本申请实施例提供的视频流传输装置的结构图之一;
图4是本申请实施例提供的视频流传输装置的结构图之二;
图5本申请实施例提供的通信设备的结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,图1是本申请实施例提供的视频流传输方法的流程图,由客户端执行,如图1所示,该方法包括以下步骤:
步骤101、确定所述客户端在第k时刻渲染的视频流大小Sk,其中,k为正整数。
上述第k时刻可以是指当前时刻,即可将当前时刻称为第k时刻,从而k的值可以基于实际应用场景中的具体时刻确定,并且一种实施方式中,可以k=1的时刻为初始时刻。
需说明的是,
所述第k时刻可以并非是指代具体的真实时刻,而是对视频流传输过程中不同传输时段的划分,例如,可以一定的时间间隔,如5ms、10ms等,来划分各不同时刻,视频流从开始传输的时刻起算的第10ms为第1时刻,传输到第20ms时为第2时刻,传输到第30ms时为第3时刻,等等,当然,划分时刻的时间间隔可以是固定的也可以是可变的,具体可根据实际情况进行时刻划分,而为保证实时性,相邻时刻之间的时间间隔通常很短。
也就是说,本申请实施例根据客户端相关参数进行算法预测,从而得到下一时刻的接收码率和处理能力,而客户端中最直观的可测量参数为接收的视频帧数据,因在一段时间内视频码流相对稳定,且网络变化也相对稳定,所以以一段时间内的视频帧组为单位进行计算,这样还可避免大量且频繁的计算。
本申请实施例中,所述客户端可以接收来自云端下发的视频流,并可以在所述客户端的显示界面上实时渲染所接收的视频流,而为了能对自身实时的系统状态也即接收能力参数进行较为准确的预估,以便将预估参数反馈至云端,再让云端参照客户端的预估参数,动态实时地调整对客户端下发的视频流的码率,进而保证传输的视频流匹配客户端状态,减少因码流不匹配所导致的不同客户端接收视频流不同步的现象发生,所述客户端需获取用于对其接收能力参数进行预估的相关数据,包括所述客户端在当前第k时刻渲染的视频流大小Sk和所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1。
其中,对于所述客户端在第k时刻渲染的视频流大小Sk,具体可以通过计算所述客户端在所述第k时刻渲染的视频帧数和各视频帧大小来确定,也可以通过基于所述客户端在所述第k时刻的系统状态如接收能力来估算得到。
步骤102、确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项。
对于所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,可以通过结合所述客户端在上一时刻也即第k-1时刻的接收能力参数进行理论预测得到,所述理论预测可以是理想状态(如无误差)下的预测,即可以不考虑实际中的噪声干扰,以上一时刻也即第k-1时刻的接收能力参数来预测当前时刻也即第k时刻的接收能力参数。
所述接收能力参数可以包括接收码率和/或延迟比特数,所述接收码率即为所述客户端接收视频流的码率,所述延迟比特数即为所述客户端接收的比特数与渲染的比特数之差。
一种实施方式中,k=1时,X1|0是预设的初始接收能力参数,k大于1时,所述Xk|k-1是基于所述客户端在第k-1时刻的接收能力参数的估计值Xk-1|k-1进行理论预测得到的。
即对于第1时刻的接收能力参数的理论预测值X1|0,可以采用预先设定的初始接收能力参数,也就是说,可以预先设置所述客户端的初始接收能力参数也即初始系统状态X1|0,如预先设置初始接收码率、接收端即所述客户端系统处理的延迟比特数等。其中,为保证对所述客户端的接收能力参数的预估的准确性,X1|0可以根据仿真模拟实验得出。当然,一些实施方式中,X1|0也可以不采用预设的方式,而是随机设定或实时结合客户端状态设定。
对于第1时刻之后的时刻,可以直接以所述客户端在上一时刻也即第k-1时刻的接收能力参数的估计值Xk-1|k-1作为当前时刻也即第k时刻的接收能力参数的理论预测值,即可以有Xk|k-1=Xk-1|k-1。
步骤103、基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k。
所述客户端在第k时刻渲染的视频流大小Sk,可以看作是对所述客户端在当前第k时刻的渲染比特数的测量值,本申请实施例中,可以综合实际测量值与理论预测值来估计所述客户端在所述第k时刻的接收能力参数Xk|k,以保证估计结果较为准确可信。
例如,一种实施方式中,可以对所述Sk和所述Xk|k-1进行加权求和,并通过实验确定合适的加权系数,来估算得到所述Xk|k。另一些实施方式中,可以通过设计合适的估算公式,并以所述Sk和所述Xk|k-1作为变量参与运算,来估算得到所述Xk|k。
可选地,所述步骤101包括:
确定所述客户端在第k-1时刻至所述第k时刻之间渲染的各视频帧的大小之和,得到所述Sk;
所述步骤103包括:
基于所述Sk、所述Xk|k-1和Δtk,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
其中,Δtk为所述第k时刻与所述第k-1时刻之间的时间差。
即一种实施方式中,所述客户端在第k时刻渲染的视频流大小Sk,可以是通过计算所述客户端在上一时刻即第k-1时刻到当前时刻即第k时刻这一时间段内总共渲染的比特数确定,具体地,可以确定所述客户端在所述第k-1时刻至所述第k时刻之间渲染的视频帧,并确定渲染的各视频帧的大小,然后统计各视频帧的大小之和,便可获得所述Sk。
例如,可记录第k-1时刻至第k时刻内接收端即所述客户端渲染了视频帧组[mk,nk],并记录下渲染的每个视频帧的大小bk(i),i=mk,...,nk,单位为比特(bit),则可确定第k时刻的渲染比特数为:
另外,还可记录下第k-1时刻到第k时刻间接收的各视频帧的起始时间[tm,tn],单位为毫秒,则可确定时间差值为Δtk=tn-tm。
并且,该实施方式中,在所述步骤103中,对所述客户端在所述第k时刻的接收能力参数Xk|k进行预估时,可以将所述Δtk作为真实的视频帧接收时长参与运算,具体可以是与所述第k时刻的接收码率的理论预测值相乘,来得到理论预测的接收比特数,再根据接收比特数、渲染比特数Sk、延迟比特数等来估算测量噪声,最后再与理论预测值Xk|k-1综合计算,来得到估计值Xk|k。
这样,通过该实施方式,可以确保参数Sk的计算准确性,并保证预估的接收能力参数Xk|k的准确性。
可选地,所述步骤103包括:
根据所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的噪声估计值vk|k-1;
确定所述vk|k-1的加权系数Gk;
根据所述Gk,对所述Xk|k-1和所述vk|k-1进行加权计算,得到所述Xk|k。
即一种实施方式中,可以对理论预测值Xk|k-1与实际测量值Sk进行加权线性组合来得到估计值Xk|k。
具体地,对于所述客户端在第k时刻渲染的视频流大小Sk,还可以采用如下表示:
Sk=Bk×Δtk-Mk+vk (1.2)
其中,Bk为第k时刻的接收码率,Mk为第k时刻所述客户端即接收端系统处理的延迟比特数,vk为测量误差。
所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,可以包括接收码率的理论预测值,如为上一时刻的接收码率Bk-1,和延迟比特数的理论预测值,如为上一时刻的延迟比特数Mk-1。
这样,参照(1.2)式,可以根据所述Sk和所述Xk|k-1,即Bk-1和Mk-1,来确定所述客户端在所述第k时刻的噪声估计值vk|k-1,如vk|k-1=Sk-Bk-1×Δtk+Mk-1。
并且,该实施方式中,为保证对所述Xk|k预估的准确性,可以为所述vk|k-1确定一个合适的加权系数Gk,进而基于该加权系数Gk来对所述Xk|k-1和所述vk|k-1进行加权计算,得到所述Xk|k,例如,可以有Xk|k=Xk|k-1+Gk×vk|k-1。
其中,所述加权系数Gk可以是能够保证使所述估计值Xk|k与所述客户端在所述第k时刻的接收能力参数的真实值之间的误差尽可能小或在一定的允许范围内的一个系数,其可以是通过反复实验论证确定的一个较为合理的固定系数,也可以是通过设计合理的限定条件来推导得到的一个随所述客户端的实际处理情况实时变化的系数。
这样,通过该实施方式,可以保证快速准确地预估得到所述客户端在所述第k时刻的接收能力参数的估计值Xk|k。
进一步地,所述Gk通过最小化所述Xk|k与所述客户端在所述第k时刻的接收能力参数的真实值Xk之间的误差确定。
一种实施方式中,为确定得到最佳的加权系数Gk,以保证所述估计值Xk|k尽可能地接近所述客户端在所述第k时刻的接收能力参数的真实值,可以通过最小化所述估计值Xk|k与所述真实值Xk之间的误差,来求解出所述加权系数Gk。也就是说,可以以最小化所述估计值Xk|k与所述真实值Xk之间的误差为限定条件,来限制所述加权系数Gk的求解过程。
具体地,可将最小化所述估计值Xk|k与所述真实值Xk之间的误差的问题转化为该误差满足的正态分布的方差最小的问题,进而转化为该误差的协方差的迹最小的问题来推导出所述加权系数Gk的计算公式。
进一步地,所述Gk按照如下方式确定:
将所述Xk和所述Xk|k分别转换成矩阵Xk和矩阵Xk|k,对误差协方差Pk|k的迹求一阶导数,并令所述一阶导数为0,求解出所述Gk对应的矩阵Gk,其中,Pk|k为所述矩阵Xk与所述矩阵Xk|k的差值矩阵的协方差。
即一种具体的实施方式中,可以将相关参数均转换成矩阵的形式来参与运算,如可将所述真实值Xk写成矩阵表达式Xk,参照(1.2)式,可将Xk以列向量表示,即表示第k时刻的系统状态,包括接收码率和延迟比特数,并且可将(1.2)式采用矩阵形式描述为:
Sk=HkXk+vk (1.3)
其中,转换矩阵Hk=[Δtk -1],vk为测量噪声,服从均值为0,协方差为Qk的二元独立高斯分布,Qk=cov(vk)。
同样地,所述估计值Xk|k也可以转换成矩阵Xk|k,所述Gk可转换成矩阵Gk。
这样,在求解所述加权系数Gk时,为保证使第k时刻的估计值Xk|k与系统真实值Xk之间的误差最小,也即使ek=Xk-Xk|k最小,而为使ek最小,可假设ek符合正态分布,那么希望ek越小越好,也就是希望误差满足的这个正态分布的方差越小越好,也就转化成了误差的协方差矩阵的迹Tr(cov(Xk-Xk|k))最小,用Pk|k来表示该误差的协方差矩阵cov(Xk-Xk|k),从而可通过对该误差的协方差矩阵Pk|k的迹求一阶导数,并令导数为0,来求解出使Pk|k的迹最小的Gk。
这样,通过该实施方式,可保证快速准确地求解出加权系数Gk。
可选地,所述Sk对应的矩阵Sk与所述Xk对应的矩阵Xk,满足关系式Sk=HkXk+vk,其中,H为转换矩阵,且Hk=[Δtk-1],Δtk为所述第k时刻与第k-1时刻之间的时间差,vk为测量噪声;
所述Gk对应的矩阵Gk按照公式Gk=(Pk|k-1Hk T)/(HkPk|k-1Hk T+Qk)计算,其中,Pk|k-1为所述矩阵Xk与所述Xk|k-1对应的矩阵Xk|k-1的差值矩阵的协方差,Qk为所述vk的协方差。
即一种更具体的实施方式中,可以结合(1.3)式:Sk=HkXk+vk,并采用前述介绍的对误差协方差Pk|k的迹求一阶导数,并令所述一阶导数为0的方式,来推导出Gk的计算公式:Gk=(Pk|k-1Hk T)/(HkPk|k-1Hk T+Qk)。
下面介绍Gk的计算公式的具体推导过程:
1)在已知第k时刻的理论预测值矩阵Xk|k-1和实际测量值矩阵Sk的情况下,设置一个权重Gk,通过理论预测值与实际测量值的加权线性组合来得到估计值矩阵Xk|k,具体可采用如下计算公式:
Xk|k=Xk|k-1+Gk(Sk-HkXk|k-1) (2.1)
2)根据公式(2.1),要计算得到Xk|k,需先得出加权系数Gk的值。若想求得最佳的加权系数值,则需要使第k时刻的估计值Xk|k与系统真实值Xk之间的误差最小,即:
3)假设ek符合正态分布,那么希望ek越小越好,也就是希望误差满足的这个正态分布的方差越小越好,也就转化成了误差的协方差矩阵Pk|k的迹Tr(cov(Xk-Xk|k))最小,对协方差Pk|k的迹求一阶导数,并令导数为0:
从而可得到权重系数Gk,如下:
这样,可根据加权系数公式(3.4)计算得到加权系数Gk,其中,Pk|k-1可通过预设协方差计算公式来推理计算得到,或者也可以综合客户端的实际情况如网络状况进行调整,Qk可以通过预设噪声方差计算公式来推理计算得到,或者也可以综合客户端的实际情况如网络状况、噪声干扰情况等进行调整。
该实施方式中,通过采用上述公式来计算加权系数Gk,可保证计算结果的准确性,进而保证对客户端的接收能力参数的预估的准确性。
进一步地,所述Pk|k-1按照如下方式计算:
k=1时,根据预设的初始误差协方差P0|0、预设的过程噪声协方差R和公式Pk|k-1=Pk-1|k-1+R,计算P1|0,以及根据公式Pk|k=(1-GkHk)Pk|k-1,计算P1|1;
k>1时,根据公式Pk|k-1=Pk-1|k-1+R和Pk|k=(1-GkHk)Pk|k-1,计算Pk|k-1和Pk|k。
即一种实施方式中,可以预先设置所述客户端的初始误差协方差P0|0和过程噪声协方差R,并且对于第1时刻的误差协方差P1|0,可结合误差协方差的预测公式Pk|k-1=Pk-1|k-1+R,来预测得到,即P1|0=P0|0+R。
其中,为保证对所述客户端的接收能力参数的预估的准确性,P0|0可以根据仿真模拟实验得出。当然,一些实施方式中,P0|0也可以不采用预设的方式,而是随机设定或实时结合客户端状态设定。
对于第1时刻之后的时刻,可以结合预测公式Pk|k-1=Pk-1|k-1+R和Pk|k=(1-GkHk)Pk|k-1,来依次计算P1|1、P2|1、P2|2、P3|2……,即可计算出Pk|k-1和Pk|k。
其中,预测公式Pk|k-1=Pk-1|k-1+R可鉴于以下推导逻辑得到:
考虑到实际系统中总会存在噪声,比如说接收码率会受到网络抖动的影响并不会一直保持,那么接收端即所述客户端在第k时刻的真实状态可以表示为基于k-1时刻的真实状态值加上噪声项:
Xk=Xk-1+w (4.1)
这里Xk表示第k时刻的状态真实值,Xk-1表示第k-1时刻的状态真实值,过程噪声w为服从均值为0,协方差为R的二元独立高斯分布,R=cov(w)。
使用协方差矩阵表示理论估计值Xk|k-1与真实状态Xk之间的差距,协方差预测公式由此得来:
而公式Pk|k=(1-GkHk)Pk|k-1,可通过将前述公式(3.4)代入公式(3.2)中推导得到。
这样,通过该实施方式,可以较为合理地预测出Pk|k-1,进而保证基于Pk|k-1计算出较佳的加权系数Gk,进而保证对客户端的接收能力参数的预估结果较符合真实值。
进一步地,所述Qk按照如下方式计算:
根据公式resk=Sk-HkXk|k-1,计算所述客户端在所述k时刻的噪声差值resk;
k=1时,Eq0=res1;
k>1时,根据所述客户端从初始时刻到所述k时刻之间的噪声差值,计算平均噪声差值Eqk-1;
基于公式Qk=αQk-1+(1-α)(Eqk-1-resk),计算Qk,其中,α为预设的概率系数,Q0为预设的初始噪声协方差。
即一种实施方式中,可以通过一种较为可靠的方式来计算出较符合实际情况中的噪声方差Qk,具体地,可以先获取初始时刻即k=1时刻的测量值S1和时间差Δt1,然后,根据公式resk=Sk-HkXk|k-1,计算初始时刻的噪声差值res1=S1-H1X1|0,其中,H1=[Δt1 -1],X1|0为预设的初始接收能力参数。
在k=1时,即第1时刻,可将res1作为平均噪声差值Eq0,即Eq0=res1;在k>1时,即第1时刻之后的时刻,可根据当前时刻及之前各时刻计算得到的噪声差值,来计算得到平均噪声差值Eqk-1,例如,可以对当前时刻及之前各时刻计算得到的噪声差值作平方差来得到。
这样,该实施方式中,可以利用计算得到的平均噪声差值Eqk-1,使用公式Qk=αQk-1+(1-α)(Eqk-1-resk)来计算得到噪声方差Qk,其中,α可以为预设的概率系数,具体可根据实际场景需求进行设置,例如可设为0.5,Q0可则以为预先设置的初始噪声协方差。
通过该实施方式,可以保证计算得到的Qk具备较高准确性,较贴近真实噪声干扰情况,进而保证基于Qk计算出较佳的加权系数Gk,进而保证对客户端的接收能力参数的预估结果较符合真实值。
这样,本申请实施例中,可以通过前述介绍的方式,依次计算Qk、Pk|k-1、Pk|k、Gk、Xk|k的方式,不断估计出所述客户端在每个时刻的接收能力参数的估计值Xk|k。
步骤104、向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率。
所述客户端可以将预估得到的接收能力参数的估计值Xk|k发送至云端,以便所述云端根据所述客户端传递来的估计值Xk|k,确定对应所述第k时刻的编码码率,进而基于所确定的编码码率,设置编码器的相关配置参数,并更新编码器,使得对所述客户端的输出码流符合所述客户端的接收能力。
需说明的是,本申请实施例可适用于云游戏场景,即涉及两个客户端甚至更多个客户端与云实例交互以进行云游戏对战的场景,参与对战云游戏的多个客户端可以分别实时预估各自k时刻的接收能力参数(可包括接收码率和/或延迟比特数),并将预估的各自的接收能力参数上传至云实例,云实例则根据两个甚至更多个客户端传递来的接收能力参数估计值,计算得到k时刻每个分层码流的编码码率,一个分层码流可对应一个客户端。
以两个客户端参与对战云游戏,接收能力参数包括接收码率B和延迟比特数M为例,这两个客户端分别预估得到这两个参数B(1)k,M(1)k,B(2)k和M(2)k,并传递给云实例;云实例可根据两个客户端传递来的参数计算得到k时刻每个分层码流的编码码率:SpatialBitrate[j]=B(j)k-M(j)k/Δtk,j表示第j个客户端,j=1,2;云实例根据计算出的码率设置编码器相关配置参数,并更新编码器,使得输出码流符合两个客户端的接收情况,从而达成两个客户端接收视频流同步。
另外,还需说明的是,本申请实施例可以采用以H.264标准为基础的可分级视频编码(Scalable Video Coding,SVC)方式,该编码方式支持具有分级特性的码流,编码器产生的码流包含一个或多个可以单独解码的子码流,子码流可以具有不同的码率、帧率和空间分辨率。云实例上的编码器可以利用SVC特性,将视频流编码出不同码率的两个子码流,接收端即客户端则可根据当前状态选择解码所需的码流,以达到对战同步的效果。
本申请实施例可动态预测当前客户端状态,如接收码率、处理能力(通过延迟比特数反映)等,从而更新编码器,利用H264 SVC编码进行时域和/或空域分级编码,而不同客户端可根据自身状态选择合适的码流进行解码渲染,从而达到不同客户端同步渲染的目的。而目前云游戏产业发展迅速,催生了很多云游戏创新玩法,其中对战类云游戏,受到用户终端及网络的差异化导致用户在对战时存在不公平性,采用本申请实施例能够有效降低或消除用户终端及网络的差异化,提升用户的游戏体验。
本申请实施例的视频流传输方法,确定所述客户端在第k时刻渲染的视频流大小Sk,其中,k为正整数;确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项;基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率。客户端可基于当前第k时刻渲染的视频流大小和接收能力参数的理论预测值,来实时预估当前时刻的接收能力参数,并将预估结果发送云端,云端则可基于客户端预估的接收能力参数,动态调整对客户端下发的视频流的编码码率,使得下发的视频流的码率能够良好匹配客户端的接收能力,从而不同客户端可根据自身状态选择合适的码流进行解码渲染,最终实现视频流在不同客户端之间的同步传输。
参见图2,图2是本申请实施例提供的视频流传输方法的流程图,由云端执行,如图2所示,该方法包括以下步骤:
步骤201、接收客户端发送的所述客户端在第k时刻的接收能力参数的估计值Xk|k,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或多项。
步骤202、根据所述Xk|k,确定对应所述第k时刻的编码码率。
步骤203、基于所述编码码率,设置编码器参数,以调整对所述客户端下发的视频流的编码码率。
需说明的是,本申请实施例作为与图1所示方法实施例对应的云端侧的实施方式,其具体实施方式可以参见前述实施例中的相关介绍,为避免重复,此处不再赘述。
还需说明的是,所述云端在与多个客户端交互,需对多个客户端下发视频流的情况下,例如云游戏对战场景,可以对多个不同客户端均作类似处理,即可分别根据每个客户端发送的k时刻的接收能力参数的估计值,分别确定对应每个客户端的编码码率,并设置编码器参数,更新分别对应每个客户端的输出码流的码率。
本申请实施例的视频流传输方法,接收客户端发送的所述客户端在第k时刻的接收能力参数的估计值Xk|k,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或多项;根据所述Xk|k,确定对应所述第k时刻的编码码率;基于所述编码码率,设置编码器参数,以调整对所述客户端下发的视频流的编码码率。这样,云端通过接收客户端发送的实时预估的接收能力参数,可基于该接收能力参数,动态调整对客户端下发的视频流的编码码率,保证对客户端下发的视频流的码率能够良好匹配客户端的接收能力,从而使得不同客户端可根据自身状态选择合适的码流进行解码渲染,最终实现视频流在不同客户端之间的同步传输。
本申请实施例还提供了一种视频流传输装置,该视频流传输装置可以设置在客户端。参见图3,图3是本申请实施例提供的视频流传输装置的结构图。由于视频流传输装置解决问题的原理与本申请实施例中视频流传输方法相似,因此该视频流传输装置的实施可以参见方法的实施,重复之处不再赘述。
如图3所示,视频流传输装置300包括:
第一确定模块301,用于确定客户端在第k时刻渲染的视频流大小Sk,其中,k为正整数;
第二确定模块302,用于确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项;
第三确定模块303,用于基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
发送模块304,用于向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率。
可选地,第一确定模块301用于确定所述客户端在第k-1时刻至所述第k时刻之间渲染的各视频帧的大小之和,得到所述Sk;
第三确定模块303用于基于所述Sk、所述Xk|k-1和Δtk,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
其中,Δtk为所述第k时刻与所述第k-1时刻之间的时间差。
可选地,第三确定模块303包括:
第一确定单元,用于根据所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的噪声估计值vk|k-1;
第二确定单元,用于确定所述vk|k-1的加权系数Gk;
计算单元,用于根据所述Gk,对所述Xk|k-1和所述vk|k-1进行加权计算,得到所述Xk|k。
可选地,所述Gk通过最小化所述Xk|k与所述客户端在所述第k时刻的接收能力参数的真实值Xk之间的误差确定。
可选地,所述Gk按照如下方式确定:
将所述Xk和所述Xk|k分别转换成矩阵Xk和矩阵Xk|k,对误差协方差Pk|k的迹求一阶导数,并令所述一阶导数为0,求解出所述Gk对应的矩阵Gk,其中,Pk|k为所述矩阵Xk与所述矩阵Xk|k的差值矩阵的协方差。
可选地,所述Sk对应的矩阵Sk与所述Xk对应的矩阵Xk,满足关系式Sk=HkXk+vk,其中,H为转换矩阵,且Hk=[Δtk -1],Δtk为所述第k时刻与第k-1时刻之间的时间差,vk为测量噪声;
所述Gk对应的矩阵Gk按照公式Gk=(Pk|k-1Hk T)/(HkPk|k-1Hk T+Qk)计算,其中,Pk|k-1为所述矩阵Xk与所述Xk|k-1对应的矩阵Xk|k-1的差值矩阵的协方差,Qk为所述vk的协方差。
可选地,所述Pk|k-1按照如下方式计算:
k=1时,根据预设的初始误差协方差P0|、预设的过程噪声协方差R和公式Pk|k-1=Pk-1|k-1+R,计算P1|,以及根据公式Pk|k=(1-GkHk)Pk|k-1,计算P1|;
k>1时,根据公式Pk|k-1=Pk-1|k-1+R和Pk|k=(1-GkHk)Pk|k-1,计算Pk|k-1和Pk|k。
可选地,所述Qk按照如下方式计算:
根据公式resk=Sk-HkXk|k-1,计算所述客户端在所述k时刻的噪声差值resk;
k=1时,Eq0=res1;
k>1时,根据所述客户端从初始时刻到所述k时刻之间的噪声差值,计算平均噪声差值Eqk-1;
基于公式Qk=αQk-1+(1-α)(Eqk-1-resk),计算Qk,其中,α为预设的概率系数,Q0为预设的初始噪声协方差。
本申请实施例提供的视频流传输装置300,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
本申请实施例的视频流传输装置300,确定客户端在第k时刻渲染的视频流大小Sk,其中,k为正整数;确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项;基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率。这样,客户端可基于当前第k时刻渲染的视频流大小和接收能力参数的理论预测值,来实时预估当前时刻的接收能力参数,并将预估结果发送云端,云端则可基于客户端预估的接收能力参数,动态调整对客户端下发的视频流的编码码率,使得下发的视频流的码率能够良好匹配客户端的接收能力,从而不同客户端可根据自身状态选择合适的码流进行解码渲染,最终实现视频流在不同客户端之间的同步传输。
本申请实施例还提供了另一种视频流传输装置,该视频流传输装置可以设置在云端。参见图4,图4是本申请实施例提供的视频流传输装置的结构图。由于视频流传输装置解决问题的原理与本申请实施例中的视频流传输方法相似,因此该视频流传输装置的实施可以参见方法的实施,重复之处不再赘述。
如图4所示,视频流传输装置400包括:
接收模块401,用于接收客户端发送的所述客户端在第k时刻的接收能力参数的估计值Xk|k,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或多项;
第四确定模块402,用于根据所述Xk|k,确定对应所述第k时刻的编码码率;
设置模块403,用于基于所述编码码率,设置编码器参数,以调整对所述客户端下发的视频流的编码码率。
本申请实施例还提供了一种通信设备。由于通信设备解决问题的原理与本申请实施例中视频流传输方法相似,因此该通信设备的实施可以参见方法的实施,重复之处不再赘述。如图5所示,本申请实施例的通信设备,包括:处理器500、收发机510和存储器520。
一种实施方式中,该通信设备可以是客户端,处理器500,用于读取存储器520中的程序,执行下列过程:
确定所述客户端在第k时刻渲染的视频流大小Sk,其中,k为正整数;
确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项;
基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
通过收发机510向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率。
收发机510,用于在处理器500的控制下接收和发送数据。
可选地,处理器500还用于读取存储器520中的程序,执行如下步骤:
确定所述客户端在第k-1时刻至所述第k时刻之间渲染的各视频帧的大小之和,得到所述Sk;
基于所述Sk、所述Xk|k-1和Δtk,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
其中,Δtk为所述第k时刻与所述第k-1时刻之间的时间差。
可选地,处理器500还用于读取存储器520中的程序,执行如下步骤:
根据所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的噪声估计值vk|k-1;
确定所述vk|k-1的加权系数Gk;
根据所述Gk,对所述Xk|k-1和所述vk|k-1进行加权计算,得到所述Xk|k。
可选地,所述Gk通过最小化所述Xk|k与所述客户端在所述第k时刻的接收能力参数的真实值Xk之间的误差确定。
可选地,所述Gk按照如下方式确定:
将所述Xk和所述Xk|k分别转换成矩阵Xk和矩阵Xk|k,对误差协方差Pk|k的迹求一阶导数,并令所述一阶导数为0,求解出所述Gk对应的矩阵Gk,其中,Pk|k为所述矩阵Xk与所述矩阵Xk|k的差值矩阵的协方差。
可选地,所述Sk对应的矩阵Sk与所述Xk对应的矩阵Xk,满足关系式Sk=HkXk+vk,其中,H为转换矩阵,且Hk=[Δtk-1],Δtk为所述第k时刻与第k-1时刻之间的时间差,vk为测量噪声;
所述Gk对应的矩阵Gk按照公式Gk=(Pk|k-1Hk T)/(HkPk|k-1Hk T+Qk)计算,其中,Pk|k-1为所述矩阵Xk与所述Xk|k-1对应的矩阵Xk|k-1的差值矩阵的协方差,Qk为所述vk的协方差。
可选地,所述Pk|k-1按照如下方式计算:
k=1时,根据预设的初始误差协方差P0|、预设的过程噪声协方差R和公式Pk|k-1=Pk-1|k-1+R,计算P1|,以及根据公式Pk|k=(1-GkHk)Pk|k-1,计算P1|;
k>1时,根据公式Pk|k-1=Pk-1|k-1+R和Pk|k=(1-GkHk)Pk|k-1,计算Pk|k-1和Pk|k。
可选地,所述Qk按照如下方式计算:
根据公式resk=Sk-HkXk|k-1,计算所述客户端在所述k时刻的噪声差值resk;
k=1时,Eq0=res1;
k>1时,根据所述客户端从初始时刻到所述k时刻之间的噪声差值,计算平均噪声差值Eqk-1;
基于公式Qk=αQk-1+(1-α)(Eqk-1-resk),计算Qk,其中,α为预设的概率系数,Q0为预设的初始噪声协方差。
另一种实施方式中,该通信设备可以是云端,处理器500,用于读取存储器520中的程序,执行下列过程:
通过收发机510接收客户端发送的所述客户端在第k时刻的接收能力参数的估计值Xk|k,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或多项;
根据所述Xk|k,确定对应所述第k时刻的编码码率;
基于所述编码码率,设置编码器参数,以调整对所述客户端下发的视频流的编码码率。
其中,在图5中,总线架构可以包括任意数量的互联的总线和桥,具体由处理器500代表的一个或多个处理器和存储器520代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。收发机510可以是多个元件,即包括发送机和收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器500负责管理总线架构和通常的处理,存储器520可以存储处理器500在执行操作时所使用的数据。
本申请实施例提供的通信设备,可以执行上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
此外,本申请实施例的计算机可读存储介质,用于存储计算机程序,所述计算机程序可被处理器执行实现如图1或图2所示方法实施例中的各个步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述收发方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种视频流传输方法,其特征在于,由客户端执行,所述方法包括:
确定所述客户端在第k-1时刻至第k时刻之间渲染的视频流大小Sk,其中,k为正整数;
确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,其中,所述接收能力参数包括接收码率和延迟比特数中的一项或者多项;
基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
向云端发送所述Xk|k,以使所述云端基于所述Xk|k,调整对所述客户端下发的视频流的编码码率;
所述确定所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1,包括:
k大于1时,根据所述客户端在第k-1时刻的接收能力参数,理论预测所述客户端在所述第k时刻的接收能力参数,得到所述客户端在所述第k时刻的接收能力参数的理论预测值Xk|k-1;
所述基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k,包括:
根据所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的噪声估计值vk|k-1;
确定所述vk|k-1的加权系数Gk;
根据所述Gk,对所述Xk|k-1和所述vk|k-1进行加权计算,得到所述Xk|k。
2.根据权利要求1所述的方法,其特征在于,所述确定所述客户端在第k时刻渲染的视频流大小Sk,包括:
确定所述客户端在第k-1时刻至所述第k时刻之间渲染的各视频帧的大小之和,得到所述Sk;
所述基于所述Sk和所述Xk|k-1,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k,包括:
基于所述Sk、所述Xk|k-1和Δtk,确定所述客户端在所述第k时刻的接收能力参数的估计值Xk|k;
其中,Δtk为所述第k时刻与所述第k-1时刻之间的时间差。
3.根据权利要求1所述的方法,其特征在于,所述Gk通过最小化所述Xk|k与所述客户端在所述第k时刻的接收能力参数的真实值Xk之间的误差确定。
4.根据权利要求3所述的方法,其特征在于,所述Gk按照如下方式确定:
将所述Xk和所述Xk|k分别转换成矩阵Xk和矩阵Xk|k,对误差协方差Pk|k的迹求一阶导数,并令所述一阶导数为0,求解出所述Gk对应的矩阵Gk,其中,Pk|k为所述矩阵Xk与所述矩阵Xk|k的差值矩阵的协方差。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述Sk对应的矩阵Sk与所述Xk对应的矩阵Xk,满足关系式Sk=HkXk+vk,其中,H为转换矩阵,且Hk=[Δtk -1],Δtk为所述第k时刻与第k-1时刻之间的时间差,vk为测量噪声;
所述Gk对应的矩阵Gk按照公式Gk=(Pk|k-1Hk T)/(HkPk|k-1Hk T+Qk)计算,其中,Pk|k-1为所述矩阵Xk与所述Xk|k-1对应的矩阵Xk|k-1的差值矩阵的协方差,Qk为所述vk的协方差。
6.根据权利要求5所述的方法,其特征在于,所述Pk|k-1按照如下方式计算:
k=1时,根据预设的初始误差协方差P0|0、预设的过程噪声协方差R和公式Pk|k-1=Pk-1|k-1+R,计算P1|0,以及根据公式Pk|k=(1-GkHk)Pk|k-1,计算P1|1;
k>1时,根据公式Pk|k-1=Pk-1|k-1+R和Pk|k=(1-GkHk)Pk|k-1,计算Pk|k-1和Pk|k。
7.根据权利要求5所述的方法,其特征在于,所述Qk按照如下方式计算:
根据公式resk=Sk-HkXk|k-1,计算所述客户端在所述k时刻的噪声差值resk;
k=1时,Eq0=res1;
k>1时,根据所述客户端从初始时刻到所述k时刻之间的噪声差值,计算平均噪声差值Eqk-1;
基于公式Qk=αQk-1+(1-α)(Eqk-1-resk),计算Qk,其中,α为预设的概率系数,Q0为预设的初始噪声协方差。
8.一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器,用于读取存储器中的程序实现如权利要求1至7中任一项所述的视频流传输方法中的步骤。
9.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的视频流传输方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111530157.1A CN114222169B (zh) | 2021-12-14 | 2021-12-14 | 一种视频流传输方法、通信设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111530157.1A CN114222169B (zh) | 2021-12-14 | 2021-12-14 | 一种视频流传输方法、通信设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114222169A CN114222169A (zh) | 2022-03-22 |
CN114222169B true CN114222169B (zh) | 2023-10-20 |
Family
ID=80701970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111530157.1A Active CN114222169B (zh) | 2021-12-14 | 2021-12-14 | 一种视频流传输方法、通信设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114222169B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002513B (zh) * | 2022-05-25 | 2023-10-20 | 咪咕文化科技有限公司 | 音视频调度方法、装置、电子设备及计算机可读存储介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105430532A (zh) * | 2015-11-18 | 2016-03-23 | 南京创维信息技术研究院有限公司 | 一种视频数据传输自适应调整的控制方法及其系统 |
RU2679116C1 (ru) * | 2011-03-09 | 2019-02-06 | Нек Корпорейшн | Устройство кодирования видео, устройство декодирования видео, способ кодирования видео и способ декодирования видео |
GB201906158D0 (en) * | 2019-05-02 | 2019-06-19 | Sony Interactive Entertainment Inc | Method of and system for controlling the rendering of a video game instance |
CN110290402A (zh) * | 2019-07-31 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种视频码率调整方法、装置、服务器及存储介质 |
CN110381316A (zh) * | 2019-07-17 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种视频传输控制方法、装置、设备及存储介质 |
CN111107440A (zh) * | 2019-12-26 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 视频传输控制方法及装置、设备、存储介质 |
CN111185003A (zh) * | 2019-12-31 | 2020-05-22 | 咪咕互动娱乐有限公司 | 实时云应用托管方法、装置、服务器和存储介质 |
CN111641804A (zh) * | 2020-06-16 | 2020-09-08 | 广州迈聆信息科技有限公司 | 视频数据处理方法和装置、终端、摄像头及视频会议系统 |
CN111836079A (zh) * | 2019-04-18 | 2020-10-27 | 杭州海康威视数字技术股份有限公司 | 一种视频码流的传输方法及装置 |
CN112788298A (zh) * | 2021-01-16 | 2021-05-11 | 鸣飞伟业技术有限公司 | 一种实时视频传输设备及其传输方法 |
CN113207017A (zh) * | 2021-07-07 | 2021-08-03 | 北京蔚领时代科技有限公司 | 用于云游戏的流媒体数据传输系统 |
CN113747194A (zh) * | 2021-03-18 | 2021-12-03 | 上海达龙信息科技有限公司 | 远程视频传输方法、传输装置、存储介质及电子设备 |
-
2021
- 2021-12-14 CN CN202111530157.1A patent/CN114222169B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2679116C1 (ru) * | 2011-03-09 | 2019-02-06 | Нек Корпорейшн | Устройство кодирования видео, устройство декодирования видео, способ кодирования видео и способ декодирования видео |
CN105430532A (zh) * | 2015-11-18 | 2016-03-23 | 南京创维信息技术研究院有限公司 | 一种视频数据传输自适应调整的控制方法及其系统 |
CN111836079A (zh) * | 2019-04-18 | 2020-10-27 | 杭州海康威视数字技术股份有限公司 | 一种视频码流的传输方法及装置 |
GB201906158D0 (en) * | 2019-05-02 | 2019-06-19 | Sony Interactive Entertainment Inc | Method of and system for controlling the rendering of a video game instance |
CN110381316A (zh) * | 2019-07-17 | 2019-10-25 | 腾讯科技(深圳)有限公司 | 一种视频传输控制方法、装置、设备及存储介质 |
CN110290402A (zh) * | 2019-07-31 | 2019-09-27 | 腾讯科技(深圳)有限公司 | 一种视频码率调整方法、装置、服务器及存储介质 |
CN111107440A (zh) * | 2019-12-26 | 2020-05-05 | 腾讯科技(深圳)有限公司 | 视频传输控制方法及装置、设备、存储介质 |
CN111185003A (zh) * | 2019-12-31 | 2020-05-22 | 咪咕互动娱乐有限公司 | 实时云应用托管方法、装置、服务器和存储介质 |
CN111641804A (zh) * | 2020-06-16 | 2020-09-08 | 广州迈聆信息科技有限公司 | 视频数据处理方法和装置、终端、摄像头及视频会议系统 |
CN112788298A (zh) * | 2021-01-16 | 2021-05-11 | 鸣飞伟业技术有限公司 | 一种实时视频传输设备及其传输方法 |
CN113747194A (zh) * | 2021-03-18 | 2021-12-03 | 上海达龙信息科技有限公司 | 远程视频传输方法、传输装置、存储介质及电子设备 |
CN113207017A (zh) * | 2021-07-07 | 2021-08-03 | 北京蔚领时代科技有限公司 | 用于云游戏的流媒体数据传输系统 |
Non-Patent Citations (1)
Title |
---|
监控系统中实时视频流码率动态调整机制的研究;巴洪涛;陈耀武;周蓉;;计算机科学(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114222169A (zh) | 2022-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11227612B2 (en) | Audio frame loss and recovery with redundant frames | |
CA2617893C (en) | Video communication quality estimation device, method, and program | |
WO2013099122A1 (en) | Apparatus and method for synchronized transmission of multimedia content over an asynchronous network | |
EP2589223B1 (en) | Video streaming | |
KR20040000309A (ko) | 비디오 인코딩을 위한 왜곡 양자화기 모델 | |
CN112820306B (zh) | 语音传输方法、系统、装置、计算机可读存储介质和设备 | |
JP2004253883A (ja) | 音声・画像リアルタイム通信におけるビットレート制御を実行するデータ通信装置 | |
JP2014522609A (ja) | マルチパスレート適応 | |
CN112929747B (zh) | 基于网络反馈的视频编码方法、装置、设备及存储介质 | |
CN114222169B (zh) | 一种视频流传输方法、通信设备及计算机可读存储介质 | |
KR100982630B1 (ko) | 콘텐츠의 스트림 비트율을 조정하기 위한 디바이스 및프로세스 그리고 관련 제품 | |
CN111617466B (zh) | 编码格式的确定方法、装置及云游戏的实现方法 | |
US20220239904A1 (en) | Video Encoding Method, Video Playback Method, Related Device, and Medium | |
CN107820677B (zh) | 确定滤波器系数的方法及其装置、终端 | |
KR20140026606A (ko) | 파라미터 추정 장치, 파라미터 추정 방법, 및 파라미터 추정 프로그램 | |
CN113573003B (zh) | 一种基于弱网的音视频实时通信方法、装置以及设备 | |
CN110855908B (zh) | 多方视频混屏方法、装置、网络设备及存储介质 | |
CN114374841B (zh) | 视频编码码率控制的优化方法、装置及电子设备 | |
CN114339252B (zh) | 一种数据压缩方法及装置 | |
US20230048428A1 (en) | A method for estimating bandwidth between a video server and a video client | |
CN115174919A (zh) | 一种视频处理方法、装置、设备及介质 | |
CN112040235B (zh) | 视频资源的编码方法和装置,视频资源的解码方法和装置 | |
JP4460548B2 (ja) | ユーザ体感品質推定装置、方法、およびプログラム | |
CN112908346B (zh) | 丢包恢复方法及装置、电子设备和计算机可读存储介质 | |
Zadtootaghaj | Integration of Impairment Factors to Gaming QoE |
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 |