CN114390322A - 基于远程桌面协议的视频编码方法及其应用 - Google Patents

基于远程桌面协议的视频编码方法及其应用 Download PDF

Info

Publication number
CN114390322A
CN114390322A CN202210056778.9A CN202210056778A CN114390322A CN 114390322 A CN114390322 A CN 114390322A CN 202210056778 A CN202210056778 A CN 202210056778A CN 114390322 A CN114390322 A CN 114390322A
Authority
CN
China
Prior art keywords
video stream
coding mode
display channel
monitoring period
data change
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
Application number
CN202210056778.9A
Other languages
English (en)
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.)
Shanghai Anchaoyun Software Co ltd
Original Assignee
Shanghai Anchaoyun Software 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 Shanghai Anchaoyun Software Co ltd filed Critical Shanghai Anchaoyun Software Co ltd
Priority to CN202210056778.9A priority Critical patent/CN114390322A/zh
Publication of CN114390322A publication Critical patent/CN114390322A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于远程桌面协议的视频编码方法及其应用。所述方法包括:协议服务端与客户端建立显示通道的连接;所述协议服务端监测所述显示通道内的网络状况及所述显示通道内视频流的数据变化总量,并根据所述网络状况及所述显示通道内视频流的数据变化总量动态选择编码模式对所述视频流进行编码。本发明提供的基于远程桌面协议的视频编码方法,可以根据当前网络状况和显示通道内的数据变化总量,动态选择对视频流的编码模式,使用户在不同网络状况下均可获得良好的观看体验。

Description

基于远程桌面协议的视频编码方法及其应用
技术领域
本发明是关于计算机领域,特别是关于一种基于远程桌面协议的视频编码方法及其应用。
背景技术
现有远程桌面协议包括客户端、服务端以及相对应的显示设备,显示驱动等,客户端运行在用户终端设备上,为用户提供桌面环境。远程桌面协议连接后会建立多条通道,其中包括显示通道,显示通道控制在远程桌面的显示。
现有远程桌面协议中视频压缩技术支持有损编码和无损编码,在选择无损编码时可以获得高质量的画质体验,但会在网络质量不佳时产生卡顿;在选择有损编码时,可以在网络质量有波动的时候获得较为流畅的使用体验,受网络波动影响较低,但画质较低,影响观看效果。
因此,针对上述技术问题,有必要提供一种基于远程桌面协议的视频编码方法。
发明内容
本发明的目的在于提供一种基于远程桌面协议的视频编码方法,其能够根据不同的网络状况自动选择相应的编码模式,提高用户观看体验。
为实现上述目的,本发明提供的技术方案如下:
第一方面,本发明提供了一种基于远程桌面协议的视频编码方法,其包括:
协议服务端与客户端建立显示通道的连接;所述协议服务端监测所述显示通道内的网络状况及所述显示通道内视频流的数据变化总量,并根据所述网络状况及所述数据变化总量动态选择编码模式对所述视频流进行编码。
在一个或多个实施方式中,所述协议服务端监测所述显示通道内的网络状况及所述显示通道内视频流的数据变化总量,并根据所述网络状况及所述数据变化总量动态选择编码模式对所述视频流进行编码,包括:
所述协议服务端周期性的监测所述显示通道内的网络状况以及所述显示通道内视频流的数据变化总量,其中每一个监测周期定义为Tn(n≥1),在监测周期T1内,协议服务端任选无损编码模式、高质量编码模式、低质量编码模式中的一种对视频流进行编码;监测周期Tm(m≥2)内的视频编码模式根据前一个监测周期内的网络状况以及所述显示通道内视频流的数据变化总量动态选择编码模式对视频流进行编码。
在一个或多个实施方式中,当监测周期Tn内监测结果为网络状况良好时,所述协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择无损编码模式或高质量编码模式对所述视频流进行编码;当监测周期Tn内监测结果为网络状况一般时,所述协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择高质量编码模式或低质量编码模式对所述视频流进行编码;当监测周期Tn内监测结果为网络状况差时,所述协议服务端在下一监测周期Tn+1内直接选择低质量编码模式对所述视频流进行编码。
在一个或多个实施方式中,所述显示通道内的数据变化总量为单个监测周期Tn内显示通道中各帧数据变化矩形面积长度的总和。
在一个或多个实施方式中,监测周期Tn内每一帧数据变化矩形面积长度定义为s,s用以下公式表示:
s=(right-left)×(bottom-top)×d
其中,left和top为每一帧数据左上角的点坐标;right和bottom为右下角的点坐标,d为色彩深度;则监测周期Tn显示通道内的数据变化总量Sn=s1+s2+s3+......+sp(p≥1)。
在一个或多个实施方式中,所述当监测周期Tn内监测结果为网络状况良好时,所述协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择无损编码模式或高质量编码模式对所述视频流进行编码,包括:
若监测周期Tn内监测结果为网络状况良好,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn大于第一阈值Q1时,则在下一监测周期Tn+1内选择高质量编码模式;若监测周期Tn内监测结果为网络状况良好,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn小于第二阈值Q2时,则在下一监测周期Tn+1内选择无损编码模式;若监测周期Tn内监测结果为网络状况良好,监测周期Tn内采用低质量编码模式或高质量编码模式,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn不小于第二阈值Q2时,则在下一监测周期Tn+1内切换或维持高质量编码模式;其中,Q1=P1×R,Q2=P2×R,R=(width×height)/分辨率,且p×分辨率×d>P1>P2>分辨率×d;P1为预设的由无损编码方式切换至高质量编码方式的阈值,P2为由高质量编码模式切换至无损编码方式的阈值,R为阈值因子,分辨率为显示通道内视频流的分辨率,width、height为显示屏幕能支持的最高分辨率。
在一个或多个实施方式中,所述当监测周期Tn内监测结果为网络状况一般时,所述协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择低质量编码模式或高质量编码模式对所述视频流进行编码,包括:
若监测周期Tn内监测结果为网络状况一般,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn大于第三阈值Q3时,则在下一监测周期Tn+1内选择低质量编码模式;若监测周期Tn内监测结果为网络状况一般,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn小于第四阈值Q4时,则在下一监测周期Tn+1内选择高质量编码模式;若监测周期Tn内监测结果为网络状况一般,监测周期Tn内采用无损编码模式或高质量编码模式,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn不小于第四阈值Q4时,则在下一监测周期Tn+1内切换至低质量编码模式;其中,Q3=P3×R,Q4=P4×R,R=(width×height)/分辨率,p×分辨率×d>P3>P4>分辨率×d;P3为预设的由高质量编码方式切换至低质量编码方式的阈值,P4为由低质量编码模式切换至高质量编码方式的阈值,分辨率为显示通道内视频流的分辨率,R为阈值因子,width、height为显示屏幕能支持的最高分辨率。
在一个或多个实施方式中,所述网络状况的评判指标包括网络丢包率、往返时延和网络抖动。
在一个或多个实施方式中,预设网络丢包率、往返时延和网络抖动的上限以及下限;当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动均不高于所述下限时,则判断网络状况为良好;当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动均不低于所述上限时,则判断网络状况为差;当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动中任一评判指标介于所述下限和所述上限之间时,则判断网络状况为一般。
第二方面,本发明提供了一种基于远程桌面协议的视频编码装置,其包括:通信模块、监测模块、选择模块和编码模块;通信模块用于协议服务端与客户端建立显示通道的连接;监测模块用于所述协议服务端监测所述显示通道内的网络状况及所述显示通道内视频流的数据变化总量;选择模块用于所述协议服务端根据所述网络状况及所述显示通道内视频流的数据变化总量动态选择编码模式;编码模块用于根据所述选择模块所选择的编码模式对所述视频流进行编码。
第三方面,本发明提供了一种电子设备,其包括:至少一个处理器以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如前所述的基于远程桌面协议的视频编码方法。
第四方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的基于远程桌面协议的视频编码方法。
与现有技术相比,本发明提供的基于远程桌面协议的视频编码方法,可以根据当前网络状况和显示通道内的数据变化总量,动态选择对视频流的编码模式,当网络状况差时,自动选择高压缩图象的低质量编码模式,以尽量减少对网络资源的占用;当网络状况一般时,可根据显示通道内的数据变化总量,在低质量编码模式和高质量编码模式之间动态切换,以确保用户流畅的观看体验;当网络状况良好时,可根据显示通道内的数据变化总量,在无损编码模式和高质量编码模式之间动态切换,使用户在网络不受限的情况下获得更高图象质量的观看体验。
附图说明
图1是本发明一实施方式基于远程桌面协议的视频编码方法的流程图;
图2是本发明一实施方式基于远程桌面协议的视频编码装置的结构框图;
图3是本发明一实施方式计算设备的结构框图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
本发明基于远程桌面协议的视频编码方法一实施方式中的流程图如图1所示,该方法包括以下步骤:
S101:协议服务端与客户端建立显示通道的连接。
在进行基于远程桌面协议的视频编码前,需要部署准备远程桌面协议环境,以建立协议服务端与客户端显示通道的连接。显示通道是远程桌面协议连接后多条通道中的一种,主要负责处理图形命令,传输图像及视频数据。远程桌面协议通过建立不同的通道来处理不同的事件,在协议服务端和协议客户端连接的时候,显示通道便创建成功,所以在此不多做赘述。
远程桌面协议可以根据实际需要在现有的远程桌面协议中选择,在此不作特别的限定。
S102:协议服务端监测显示通道内的网络状况及显示通道内视频流的数据变化总量,并根据网络状况及显示通道内的数据变化总量动态选择编码模式对所述视频流进行编码。
步骤S102具体包括,协议服务端周期性的监测显示通道内的网络状况以及显示通道内视频流的数据变化总量。其中,每一个监测周期定义为Tn(n≥1),在监测周期T1内,协议服务端任选无损编码模式、高质量编码模式、低质量编码模式中的一种对视频流进行编码。其中,高质量编码模式和低质量编码模式均为有损编码,高质量编码相对于低质量编码具有较高的图像质量。
监测周期Tm(m≥2)内的视频编码模式根据前一个监测周期内的网络状况以及显示通道内视频流的数据变化总量动态选择编码模式对视频流进行编码。
一示例性的实施例中,网络状况的评判指标主要包括网络丢包率、往返时延和网络抖动,因此协议服务端需要监测前述网络状况的评判指标。根据协议服务端所监测到的网络状况的评判指标可以对当前的网络状况进行评级。在实际应用中,也可以增加其他用于评判网络状态的指标,具体的指标设定可以实际需要进行选择。
具体地,可根据协议服务端监测到的网络丢包率、往返时延和网络抖动,将网络状况划分为良好、一般和差三个等级,根据不同等级的网络状况制定对应的不同的编码模式。
具体地,可预设网络丢包率、往返时延和网络抖动的上限以及下限;当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动均不高于所述下限时,则判断网络状况为良好;当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动均不低于所述上限时,则判断网络状况为差;当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动中任一评判指标介于所述下限和所述上限之间时,则判断网络状况为一般。
例如,在网络带宽为50-100Gbp/s时,可以将网络丢包率的上限和下限分别设定为0.1%和0.01%,往返时延的上限和下限分别设定为100ms和30ms,网络抖动的上限和下限分别设定为40ms和10ms。基于不同的网络带宽,可以预设不同的上下限。
当协议服务端所监测到的网络丢包率小于等于0.01%,且往返时延小于等于30ms,且网络抖动小于等于10ms时,网络状况被判定为良好。当协议服务端所监测到的网络丢包率大于等于0.1%,且往返时延大于等于100ms,且网络抖动大于等于40ms时,网络状况被判定为差。当协议服务端所监测到的网络丢包率介于0.01~0.1%之间,和/或往返时延介于30~100ms之间时,和/或网络抖动介于10~40ms之间时,网络状况被判定为差。
在本发明中,根据不同的实际使用环境(比如整体带宽的大小)可以对网络状况的评判指标的阈值进行预设,也可以根据实际使用环境的改变来更改网络状况的评判指标的阈值。因此,可以理解的是,这里用以评价网络状况不同等级的评判指标的阈值是可以根据实际使用情况来更改设置的。
在其他实施例中,也可以将网络状况划分更多或更少的等级,可以根据实际需要进行选择。例如,在涉及到更多种基于网络状况的编码模式的选择时,可以将网络状况划分为更多等级。用于划分网络状况等级的各个指标的阈值也可以根据实际情况进行调整,在此不作特别限定。本实施方式中,显示通道内的数据变化总量指的是,单个监测周期Tn内显示通道中各帧数据变化矩形面积长度的总和。
假设监测周期Tn内(周期时长可以根据实际需要进行设定,例如可以是1~3s中任意数值),显示通道中共有p帧数据,将每一帧数据变化矩形面积长度定义为s,s可用以下公式表示:
s=(right-left)×(bottom-top)×d
其中,left和top为左上角的点坐标;right和bottom为右下角的点坐标;d为色彩深度。
则监测周期Tn内,显示通道中第一帧数据变化矩形面积长度为s1,第二帧数据变化矩形面积长度为s2,第三帧数据变化矩形面积长度为s3......第p帧数据变化矩形面积长度为sp。则,在监测周期Tn内,显示通道内p帧数据的数据变化总量Sn=s1+s2+s3+......+sp
一示例性的实施例中,当监测周期Tn内监测结果为网络状况良好时,协议服务端根据显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择无损编码模式或高质量编码模式对所述视频流进行编码。在网络状况良好的情况下,有无损编码模式和高质量编码模式两种编码模式可供选择,以便用户获得高质量的视频体验。
具体地,若监测周期Tn内监测结果为网络状况良好,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn大于第一阈值Q1时,则在下一监测周期Tn+1内选择高质量编码模式。
若监测周期Tn内监测结果为网络状况良好,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn小于第二阈值Q2时,则在下一监测周期Tn+1内选择无损编码模式。
若监测周期Tn内监测结果为网络状况良好,监测周期Tn内采用低质量编码模式或高质量编码模式,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn不小于第二阈值Q2时,则在下一监测周期Tn+1内切换或维持高质量编码模式。
其中,Q1=P1×R,Q2=P2×R,R=(width×height)/分辨率,且p×分辨率×d>P1>P2>分辨率×d;P1为预设的由无损编码方式切换至高质量编码方式的阈值,P2为由高质量编码模式切换至无损编码方式的阈值,R为阈值因子,分辨率为显示通道内视频流的分辨率,width、height为显示屏幕能支持的最高分辨率。第一阈值Q1和第二阈值Q2可以根据实际情况来设定,结合监测时间、分辨率和网络下行带宽等实际的网络质量因素来设定。例如,显示通道内的数据变化总量所对应的监测周期时长设定得越长,对应的帧数就越大,则第一阈值Q1和第二阈值Q2需相应的调高;反之,第一阈值Q1和第二阈值Q2需相应的调低。又如分辨率越大,第一阈值Q1和第二阈值Q2需相应的调高;反之,第一阈值Q1和第二阈值Q2需相应的调低。再如网络状况越好,第一阈值Q1和第二阈值Q2需相应的调高;反之,第一阈值Q1和第二阈值Q2需相应的调低。
一示例性的实施例中,当监测周期Tn内监测结果为网络状况一般时,协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择高质量编码模式或低质量编码模式对所述视频流进行编码。在网络状况一般的情况下,有高质量编码模式和低质量编码模式两种编码模式可供选择。
具体地,若监测周期Tn内监测结果为网络状况一般,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn大于第三阈值Q3时,则在下一监测周期Tn+1内选择低质量编码模式。
若监测周期Tn内监测结果为网络状况一般,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn小于第四阈值Q4时,则在下一监测周期Tn+1内选择高质量编码模式。
若监测周期Tn内监测结果为网络状况一般,监测周期Tn内采用无损编码模式或高质量编码模式,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn不小于第四阈值Q4时,则在下一监测周期Tn+1内切换至低质量编码模式。
其中,Q3=P3×R,Q4=P4×R,R=(width×height)/分辨率,p×分辨率×d>P3>P4>分辨率×d;P3为预设的由高质量编码方式切换至低质量编码方式的阈值,P4为由低质量编码模式切换至高质量编码方式的阈值,分辨率为显示通道内视频流的分辨率,R为阈值因子,width、height为显示屏幕能支持的最高分辨率。
第三阈值Q3和第四阈值Q3可以根据实际情况来设定,结合监测时间、分辨率和网络下行带宽等实际的网络质量因素来设定。例如,显示通道内的数据变化总量所对应的时间T设定得越长,对应的帧数就越大,则第三阈值Q3和第四阈值Q4需相应的调高;反之,第三阈值Q3和第四阈值Q4需相应的调低。又如分辨率越大,第三阈值Q3和第四阈值Q4需相应的调高;反之,第三阈值Q3和第四阈值Q4需相应的调低。再如网络状况越好,第三阈值Q3和第四阈值Q4需相应的调高;反之,第三阈值Q3和第四阈值Q4需相应的调低。
一示例性的实施例中,当监测周期Tn内监测结果为网络状况差时,协议服务端在下一监测周期Tn+1内直接选择低质量编码模式对所述视频流进行编码。在网络状况差的情况下,为确保用户获得流畅的观看体验,可选择低质量编码模式对视频流进行编码,以适应较差的网络状况。
具体地,前述编码模式可以是基于H.263、H.263+、H.263++、H.264/AVC、H.265/HEVC、H.266/VVC、MPEG4等编码标准下的编码方式。
其中,MPEG(Moving Picture Experts Group,运动图像专家组)是ISO(International Organization for Standardization,国际标准化组织)成立的专门负责制定有关运动图像压缩编码标准的工作组,所制定的MPEG标准是国际通用标准,该标准由视频、音频和***三部分组成。MPEG4是网络视频图像压缩标准之一,特点是压缩比高、成像清晰。MPEG4视频压缩算法能够提供极高的压缩比,最高可达200:1,更重要的是,MPEG4在提供高压缩比的同时,对数据的损失很小。
H.263是ITU(International Telecommunication Union,国际电联)的一个标准草案,是为低码流通信而设计的。但实际上这个标准可用在很宽的码流范围,而非只应用于低码流,而且该标准具有更高的性能和纠错能力。H.263的运动补偿使用半象素精度,数据流层次结构的某些部分在H.263中是可选的,使得编解码可以配置成更低的数据率或更好的纠错能力,H.263包含四个可协商的选项以改善性能,H.263采用无限制的运动向量以及基于语法的算术编码,并且H.263支持5种分辨率。
下面结合具体的实施例场景对本发明基于远程桌面协议的视频编码方法作进一步说明。
实施例1
部署准备远程桌面协议环境,根据所处的网络环境、分辨率等因素设定第一阈值Q1、第二阈值Q2、第三阈值Q3和第四阈值Q4。其中,第一阈值Q1大于第二阈值Q2,第三阈值Q3大于第四阈值Q4。网络丢包率的上限和下限分别设定为0.1%和0.01%,往返时延的上限和下限分别设定为100ms和30ms,网络抖动的上限和下限分别设定为40ms和10ms。
启动虚拟机,协议服务端与客户端建立连接(包括显示通道的连接)。协议服务端周期性的监测显示通道内的网络状况以及显示通道内视频流的数据变化总量。
假设监测周期Tn内,监测到的网络丢包率小于等于0.01%,且往返时延小于等于30ms,且网络抖动小于等于10ms,则网络状况被判定为良好。
协议服务端在监测周期Tn内,监测到显示通道内的数据变化总量为Sn。将该显示通道内的数据变化总量Sn与第一阈值Q1及第二阈值Q2进行比较。存在以下几种情况:
若显示通道内视频流的数据变化总量Sn大于第一阈值Q1,即表示监测周期Tn内数据变化总量Sn较大,表示监测周期Tn内视频流传输不稳定,不满足无损编码模式,则需在下一监测周期Tn+1内选择高质量编码模式。
若显示通道内视频流的数据变化总量Sn小于第二阈值Q2,即表示监测周期Tn内数据变化总量Sn较小,表示监测周期Tn内视频流传输较稳定,满足无损编码模式,则可在下一监测周期Tn+1内选择无损编码模式。
若显示通道内视频流的数据变化总量Sn不小于第二阈值Q2,且监测周期Tn内的编码模式为低质量编码模式或高质量编码模式时,则在下一监测周期Tn+1内切换或维持高质量编码模式。
在本实施例中,主要针对在网络状况良好的情况下,对视频编码模式的动态选择进行说明。
实施例2
部署准备远程桌面协议环境,根据所处的网络环境、分辨率等因素设定第一阈值Q1、第二阈值Q2、第三阈值Q3和第四阈值Q4。其中,第一阈值Q1大于第二阈值Q2,第三阈值Q3大于第四阈值Q4。网络丢包率的上限和下限分别设定为0.1%和0.01%,往返时延的上限和下限分别设定为100ms和30ms,网络抖动的上限和下限分别设定为40ms和10ms。
启动虚拟机,协议服务端与客户端建立连接(包括显示通道的连接)。协议服务端周期性的监测显示通道内的网络状况以及显示通道内视频流的数据变化总量。
假设监测周期Tn内,监测到的网络丢包率介于0.01~0.1%之间,且往返时延介于30~100ms之间,且网络抖动介于10~40ms之间,则网络状况被判定为一般。
协议服务端在监测周期Tn内,监测到显示通道内的数据变化总量为Sn。将该显示通道内的数据变化总量Sn与第三阈值Q3及第四阈值Q4进行比较。存在以下几种情况:
若显示通道内视频流的数据变化总量Sn大于第三阈值Q3,即表示监测周期Tn内数据变化总量Sn较大,表示监测周期Tn内视频流传输不稳定,不满足高质量编码模式,则在下一监测周期Tn+1内选择低质量编码模式。
若显示通道内视频流的数据变化总量Sn小于第四阈值Q4,即表示监测周期Tn内数据变化总量Sn较小,表示监测周期Tn内视频流传输较稳定,满足高编码模式,则可在下一监测周期Tn+1内选择高编码模式。
若显示通道内视频流的数据变化总量Sn不小于第二阈值Q2,且监测周期Tn内的编码模式为低质量编码模式或高质量编码模式时,则在下一监测周期Tn+1内切换或维持高质量编码模式。
在本实施例中,主要针对在网络状况一般的情况下,对视频编码模式的动态选择进行说明。
实施例3
部署准备远程桌面协议环境,根据所处的网络环境、分辨率等因素设定第一阈值Q1、第二阈值Q2、第三阈值Q3和第四阈值Q4。其中,第一阈值Q1大于第二阈值Q2,第三阈值Q3大于第四阈值Q4。网络丢包率的上限和下限分别设定为0.1%和0.01%,往返时延的上限和下限分别设定为100ms和30ms,网络抖动的上限和下限分别设定为40ms和10ms。
启动虚拟机,协议服务端与客户端建立连接(包括显示通道的连接)。协议服务端周期性的监测显示通道内的网络状况以及显示通道内视频流的数据变化总量。
假设监测周期Tn内,监测到的网络丢包率大于0.1%,且往返时延大于100ms,且网络抖动大于40ms,则网络状况被判定为差。此时,网络较为卡顿,协议服务端在下一监测周期Tn+1内直接选择低质量编码模式对所述视频流进行编码。采用低质量的编码模式,可以在网络状况差的情况下,确保用户获得流畅的观看体验。
基于相同的发明构思,本发明一实施方式中的基于远程桌面协议的视频编码装置2的结构框体如图2所示,该基于远程桌面协议的视频编码装置包括:通信模块21、监测模块22、选择模块23和编码模块24。
其中,通信模块21用于协议服务端与客户端建立显示通道的连接。监测模块22用于协议服务端监测显示通道内的网络状况及显示通道内视频流的数据变化总量。选择模块23用于协议服务端根据网络状况及显示通道内视频流的数据变化总量动态选择编码模式。编码模块24用于根据选择模块所选择的编码模式对视频流进行编码。
通信模块21可以实现协议服务端与客户端间的通信连接,通信模块21可以是无线通信模块或有线通信模块。
如图3所示,本发明一实施方式还提供了一种计算设备3,该计算设备3包括至少一个处理器31、存储器32(例如非易失性存储器)、内存33和通信接口34,并且至少一个处理器31、存储器32、内存33和通信接口34经由总线35连接在一起。至少一个处理器31用于调用在存储器32中存储或编码的至少一个程序指令,以使得至少一个处理器31执行本说明书的各个实施方式中所描述的基于远程桌面协议的视频编码方法的各种操作和功能。
在本说明书的实施例中,计算设备3可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
本发明一实施方式还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令用于令计算机执行上述基于远程桌面协议的视频编码方法。
所述计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NANDFLASH)、固态硬盘(SSD)等)。
综上所述,本发明提供的基于远程桌面协议的视频编码方法,可以根据当前网络状况和显示通道内的数据变化总量,动态选择对视频流的编码模式,当网络状况差时,自动选择高压缩图象的低质量编码模式,以尽量减少对网络资源的占用;当网络状况一般时,可根据显示通道内的数据变化总量,在低质量编码模式和高质量编码模式之间动态切换,以确保用户流畅的观看体验;当网络状况良好时,可根据显示通道内的数据变化总量,在无损编码模式和高质量编码模式之间动态切换,使用户在网络不受限的情况下获得更高图象质量的观看体验。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

Claims (12)

1.一种基于远程桌面协议的视频编码方法,其特征在于,包括:
协议服务端与客户端建立显示通道的连接;
所述协议服务端监测所述显示通道内的网络状况及所述显示通道内视频流的数据变化总量,并根据所述网络状况及所述数据变化总量动态选择编码模式对所述视频流进行编码。
2.如权利要求1所述的基于远程桌面协议的视频编码方法,其特征在于,所述协议服务端监测所述显示通道内的网络状况及所述显示通道内视频流的数据变化总量,并根据所述网络状况及所述数据变化总量动态选择编码模式对所述视频流进行编码,包括:
所述协议服务端周期性的监测所述显示通道内的网络状况以及所述显示通道内视频流的数据变化总量,其中每一个监测周期定义为Tn(n≥1),在监测周期T1内,协议服务端任选无损编码模式、高质量编码模式、低质量编码模式中的一种对视频流进行编码;
监测周期Tm(m≥2)内的视频编码模式根据前一个监测周期内的网络状况以及所述显示通道内视频流的数据变化总量动态选择编码模式对视频流进行编码。
3.如权利要求2所述的基于远程桌面协议的视频编码方法,其特征在于,
当监测周期Tn内监测结果为网络状况良好时,所述协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择无损编码模式或高质量编码模式对所述视频流进行编码;
当监测周期Tn内监测结果为网络状况一般时,所述协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择高质量编码模式或低质量编码模式对所述视频流进行编码;
当监测周期Tn内监测结果为网络状况差时,所述协议服务端在下一监测周期Tn+1内直接选择低质量编码模式对所述视频流进行编码。
4.如权利要求3所述的基于远程桌面协议的视频编码方法,其特征在于,所述显示通道内的数据变化总量为单个监测周期Tn内显示通道中各帧数据变化矩形面积长度的总和。
5.如权利要求4所述的基于远程桌面协议的视频编码方法,其特征在于,监测周期Tn内每一帧数据变化矩形面积长度定义为s,s用以下公式表示:
s=(right-left)×(bottom-top)×d
其中,left和top为每一帧数据左上角的点坐标;right和bottom为右下角的点坐标,d为色彩深度;
则监测周期Tn显示通道内的数据变化总量Sn=s1+s2+s3+......+sp(p≥1)。
6.如权利要求5所述的基于远程桌面协议的视频编码方法,其特征在于,所述当监测周期Tn内监测结果为网络状况良好时,所述协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择无损编码模式或高质量编码模式对所述视频流进行编码,包括:
若监测周期Tn内监测结果为网络状况良好,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn大于第一阈值Q1时,则在下一监测周期Tn+1内选择高质量编码模式;
若监测周期Tn内监测结果为网络状况良好,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn小于第二阈值Q2时,则在下一监测周期Tn+1内选择无损编码模式;
若监测周期Tn内监测结果为网络状况良好,监测周期Tn内采用低质量编码模式或高质量编码模式,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn不小于第二阈值Q2时,则在下一监测周期Tn+1内切换或维持高质量编码模式;
其中,Q1=P1×R,Q2=P2×R,R=(width×height)/分辨率,且p×分辨率×d>P1>P2>分辨率×d;
P1为预设的由无损编码方式切换至高质量编码方式的阈值,P2为由高质量编码模式切换至无损编码方式的阈值,R为阈值因子,分辨率为显示通道内视频流的分辨率,width、height为显示屏幕能支持的最高分辨率。
7.如权利要求6所述的基于远程桌面协议的视频编码方法,其特征在于,所述当监测周期Tn内监测结果为网络状况一般时,所述协议服务端根据所述显示通道内视频流的数据变化总量在下一监测周期Tn+1内选择低质量编码模式或高质量编码模式对所述视频流进行编码,包括:
若监测周期Tn内监测结果为网络状况一般,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn大于第三阈值Q3时,则在下一监测周期Tn+1内选择低质量编码模式;
若监测周期Tn内监测结果为网络状况一般,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn小于第四阈值Q4时,则在下一监测周期Tn+1内选择高质量编码模式;
若监测周期Tn内监测结果为网络状况一般,监测周期Tn内采用无损编码模式或高质量编码模式,且监测周期Tn内所述显示通道内视频流的数据变化总量Sn不小于第四阈值Q4时,则在下一监测周期Tn+1内切换至低质量编码模式;
其中,Q3=P3×R,Q4=P4×R,R=(width×height)/分辨率,p×分辨率×d>P3>P4>分辨率×d;
P3为预设的由高质量编码方式切换至低质量编码方式的阈值,P4为由低质量编码模式切换至高质量编码方式的阈值,分辨率为显示通道内视频流的分辨率,R为阈值因子,width、height为显示屏幕能支持的最高分辨率。
8.如权利要求1~7中任一项所述的基于远程桌面协议的视频编码方法,其特征在于,所述网络状况的评判指标包括网络丢包率、往返时延和网络抖动。
9.如权利要求8所述的基于远程桌面协议的视频编码方法,其特征在于,
预设网络丢包率、往返时延和网络抖动的上限以及下限;
当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动均不高于所述下限时,则判断网络状况为良好;
当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动均不低于所述上限时,则判断网络状况为差;
当监测周期Tn内监测到的网络丢包率、往返时延和网络抖动中任一评判指标介于所述下限和所述上限之间时,则判断网络状况为一般。
10.一种基于远程桌面协议的视频编码装置,其特征在于,包括:
通信模块,用于协议服务端与客户端建立显示通道的连接;
监测模块,用于所述协议服务端监测所述显示通道内的网络状况及所述显示通道内视频流的数据变化总量;
选择模块,用于所述协议服务端根据所述网络状况及所述显示通道内视频流的数据变化总量动态选择编码模式;
编码模块,用于根据所述选择模块所选择的编码模式对所述视频流进行编码。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1~9中任一项所述的基于远程桌面协议的视频编码方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1~9中任一项所述的基于远程桌面协议的视频编码方法。
CN202210056778.9A 2022-01-18 2022-01-18 基于远程桌面协议的视频编码方法及其应用 Pending CN114390322A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210056778.9A CN114390322A (zh) 2022-01-18 2022-01-18 基于远程桌面协议的视频编码方法及其应用

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210056778.9A CN114390322A (zh) 2022-01-18 2022-01-18 基于远程桌面协议的视频编码方法及其应用

Publications (1)

Publication Number Publication Date
CN114390322A true CN114390322A (zh) 2022-04-22

Family

ID=81203229

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210056778.9A Pending CN114390322A (zh) 2022-01-18 2022-01-18 基于远程桌面协议的视频编码方法及其应用

Country Status (1)

Country Link
CN (1) CN114390322A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340575A (zh) * 2007-07-03 2009-01-07 英华达(上海)电子有限公司 动态调整视频编码的方法及终端
US20110090949A1 (en) * 2008-09-27 2011-04-21 Tencent Technology (Shenzhen) Company Limited Multi-Channel Video Communication Method And System
CN103139609A (zh) * 2013-02-01 2013-06-05 深圳市深信服电子科技有限公司 对远程应用视频播放进行优化的方法和装置
CN108495142A (zh) * 2018-04-11 2018-09-04 腾讯科技(深圳)有限公司 视频编码方法及装置
CN110401875A (zh) * 2018-04-24 2019-11-01 深信服科技股份有限公司 一种虚拟桌面视频画面质量控制方法、***及设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101340575A (zh) * 2007-07-03 2009-01-07 英华达(上海)电子有限公司 动态调整视频编码的方法及终端
US20110090949A1 (en) * 2008-09-27 2011-04-21 Tencent Technology (Shenzhen) Company Limited Multi-Channel Video Communication Method And System
CN103139609A (zh) * 2013-02-01 2013-06-05 深圳市深信服电子科技有限公司 对远程应用视频播放进行优化的方法和装置
CN108495142A (zh) * 2018-04-11 2018-09-04 腾讯科技(深圳)有限公司 视频编码方法及装置
CN110401875A (zh) * 2018-04-24 2019-11-01 深信服科技股份有限公司 一种虚拟桌面视频画面质量控制方法、***及设备

Similar Documents

Publication Publication Date Title
JP5404339B2 (ja) データストリームのエンコーディングにおける最適な電力使用
KR101557504B1 (ko) 채널 적응형 비디오 전송 방법, 이를 이용한 장치 및 이를 제공하는 시스템
US20140348246A1 (en) Video Conversion Method and Apparatus
CA2747539C (en) Systems and methods for controlling the encoding of a media stream
EP3866474B1 (en) Video self-adaptation method, related device and storage medium
CN105163134A (zh) 直播视频的视频编码参数设置方法、装置及视频编码设备
EP3016395B1 (en) Video encoding device and video encoding method
CN113747194B (zh) 远程视频传输方法、传输装置、存储介质及电子设备
US8842159B2 (en) Encoding processing for conferencing systems
ITTO20090486A1 (it) Controllore dinamico della velocita' di trasmissione indipendente dal gruppo di immagini
CN104394484A (zh) 一种无线实时流媒体传输方法
MX2013004481A (es) Ajuste de configuracion de codigo dinamico.
US8867611B2 (en) Video transmitting method and system with image quality adjusting function
CN111031389B (zh) 视频处理方法、电子装置和存储介质
CN111225240A (zh) 自动调整占用带宽的方法、装置、存储介质与电子设备
WO2021057705A1 (zh) 视频编解码方法和相关装置
EP3595304A1 (en) Code rate allocation method, device, and storage medium
KR102171227B1 (ko) 비트율 제어 방법 및 이의 장치
US11641447B2 (en) System and method for automatically adjusting key frame quantization parameter and frame rate
CN104967917A (zh) 一种即时视频的编码方法和电子设备
JP2005020731A (ja) 移動通信端末機の映像データ処理方法
CN107105317B (zh) 一种视频播放方法及装置
WO2021057479A1 (zh) 视频编解码方法和相关装置
JP5428702B2 (ja) ストリーム通信システム、サーバ装置及びクライアント装置
CN110582022B (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