CN112584141A - 一种图像处理方法及装置 - Google Patents
一种图像处理方法及装置 Download PDFInfo
- Publication number
- CN112584141A CN112584141A CN202011323503.4A CN202011323503A CN112584141A CN 112584141 A CN112584141 A CN 112584141A CN 202011323503 A CN202011323503 A CN 202011323503A CN 112584141 A CN112584141 A CN 112584141A
- Authority
- CN
- China
- Prior art keywords
- image
- code stream
- transmission time
- time window
- frame
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 230000005540 biological transmission Effects 0.000 claims abstract description 203
- 230000002452 interceptive effect Effects 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 47
- 230000000903 blocking effect Effects 0.000 abstract description 7
- 230000003993 interaction Effects 0.000 description 34
- 238000004458 analytical method Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000001934 delay Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 230000001815 facial effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开提供一种图像处理方法及装置,涉及图像传输领域,能够解决在带宽不足的网络下,用户使用云桌面会感受到明显的卡顿的问题。具体技术方案为:对当前帧图像进行编码,生成第一码流;根据第一码流得到预测传输时间窗;若确定当前处于交互场景,则根据第一预设最大容忍延时得到第一最大传输时间窗;若预测传输时间窗大于第一最大传输时间窗,则执行第一预设步骤,包括:丢弃当前帧图像;获取下一帧图像并对下一帧图像进行编码,生成第二码流;将下一帧图像作为新的当前帧图像并将第二码流作为新的第一码流;根据新的第一码流得到新的预测传输时间窗并确定该预测传输时间窗是否大于第一最大传输时间窗。本发明用于提高用户体验。
Description
技术领域
本公开涉及图像传输领域,尤其涉及一种图像处理方法及装置。
背景技术
云桌面已在各行各业中得到广泛应用。云桌面系统将操作系统的桌面(即云桌面)运行在云端服务器,用户只需要一个客户端,接入网络,就可以随时随地访问服务器,操作属于自己的私有云桌面。不过,在实际应用中,用户使用云桌面的体验与网络有着非常密切的关系。在带宽充足、低延时的网络下,用户使用云桌面可以达到与使用本地电脑一样的体验。在带宽不足、高延时的网络下,用户使用云桌面会感受到明显的卡顿,甚至无法正常使用云桌面。
发明内容
本公开实施例提供一种图像处理方法及装置,能够解决在带宽不足、高延时的网络下,用户使用云桌面会感受到明显的卡顿,甚至无法正常使用云桌面的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种图像处理方法,包括:
获取当前帧图像并对所述当前帧图像进行编码,生成第一码流,所述第一码流的字节数量为预设字节数量;
根据所述第一码流和当前预测带宽得到所述当前帧图像的预测传输时间窗;
若确定接收端设备当前处于交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到第一最大传输时间窗,所述第一预设最大容忍延时为所述交互场景下的预设最大容忍延时;
若所述预测传输时间窗大于所述第一最大传输时间窗,则执行第一预设步骤,所述第一预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第一最大传输时间窗。
本公开实施例提供的图像处理方法,能够在交互场景下根据网络的当前预测带宽调整图像编码后的码流的字节数量,并在调整图像编码后的码流的字节数量后,根据调整后码流的字节数量得到图像的预测传输时间窗,在图像的预测传输时间窗小于或者等于最大传输时间窗时,将该图像编码后的码流发送至接收端设备,能够通过调整图像编码后的码流的字节数量减少图像的传输时延,可以在交互场景下提前预防网络拥塞导致的卡顿现象,避免了在交互场景下,若网络的带宽不足且延时高,用户使用云桌面会感受到明显的卡顿,甚至无法正常使用云桌面的问题,提高了用户体验。
在一个实施例中,所述方法还包括:
若所述预测传输时间窗小于所述第一最大传输时间窗,则执行第二预设步骤,所述第二预设步骤包括:
将所述第一码流发送至接收端设备;
获取下一帧图像并对所述下一帧图像进行编码,生成第三码流,所述第三码流的字节数量是将所述第一码流的字节数量按照预设第二算法增大后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第三码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否小于所述第一最大传输时间窗。
通过在时预测传输时间窗小于第一最大传输时间窗时,执行第二预设步骤,能够在交互场景下,在图像能流畅传输的前提下,逐步提升图像编码后的码流,提高画面清晰度,能够在满足图像传输延时的要求下,动态调整图像编码后的码流以提升画质,达到更好的用户体验。
在一个实施例中,所述根据所述第一码流和当前预测带宽得到所述当前帧图像的预测传输时间窗后,所述方法还包括:
若确定所述接收端设备当前处于非交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第二预设最大容忍延时得到第二最大传输时间窗,所述第二预设最大容忍延时为所述非交互场景下的预设最大容忍延时,所述第二预设最大容忍延时小于所述二预设最大容忍延时;
若所述预测传输时间窗大于所述第二最大传输时间窗,则执行第三预设步骤,所述第三预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第二最大传输时间窗。
通过在确定接收端设备当前处于非交互场景时,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第二预设最大容忍延时得到第二最大传输时间窗,且在预测传输时间窗大于第二最大传输时间窗时,执行第三预设步骤,能够在非交互场景下根据网络的当前预测带宽调整图像编码后的码流的字节数量,并在调整图像编码后的码流的字节数量后,根据调整后码流的字节数量得到图像的预测传输时间窗,在图像的预测传输时间窗小于或者等于最大传输时间窗时,将该图像编码后的码流发送至接收端设备,能够通过调整图像编码后的码流的字节数量减少图像的传输时延,可以在非交互场景下提前预防网络拥塞导致的卡顿现象,避免了在交互场景下,若网络的带宽不足且延时高,用户使用云桌面会感受到明显的卡顿,甚至无法正常使用云桌面的问题,提高了用户体验。
在一个实施例中,所述方法还包括:
若所述预测传输时间窗小于所述第二最大传输时间窗,则执行第四预设步骤,所述第四预设步骤包括:
将所述第一码流发送至接收端设备;
获取下一帧图像并对所述下一帧图像进行编码,生成第三码流,所述第三码流的字节数量是将所述第一码流的字节数量按照预设第二算法增大后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第三码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否小于所述第二最大传输时间窗。
通过在时预测传输时间窗小于第二最大传输时间窗时,执行第四预设步骤,能够在非交互场景下,在图像能流畅传输的前提下,逐步提升图像编码后的码流,提高画面清晰度,能够在满足图像传输延时的要求下,动态调整图像编码后的码流以提升画质,达到更好的用户体验。
在一个实施例中,所述获取当前帧图像并对所述当前帧图像进行编码前,所述方法还包括:
获取至少一帧图像;
对所述至少一帧图像中每帧图像进行编码并获取所述每帧图像的编码时间;
对所述至少一帧图像中每帧图像进行编码后,将所述至少一帧图像发送至接收端设备并根据所述每帧图像的编码时间得到所述每帧图像的平均编码时间。
通过在当前帧图像进行编码前,对获取的至少一帧图像中每帧图像进行编码并获取每帧图像的编码时间,能够准确的得到每帧图像的编码时间,进而根据每帧图像的编码时间得到第一最大传输时间窗和第二最大传输时间窗。
在一个实施例中,所述获取当前帧图像并对所述当前帧图像进行编码前,所述方法还包括:
接收所述接收端设备发送的所述每帧图像的平均解码时间和平均显示时间,所述平均解码时间和所述平均显示时间是所述接收端设备在接收到所述至少一帧图像后,对所述至少一帧图像中的每帧图像进行解码并显示后获取的。
通过在当前帧图像进行编码前,接收接收端设备发送的每帧图像的平均解码时间和平均显示时间,能够根据每帧图像的解码时间和平均显示时间得到第一最大传输时间窗和第二最大传输时间窗。
在一个实施例中,所述根据所述第一码流和当前预测带宽得到当前帧图像的预测传输时间窗包括:
Wp=(P/B)*1000,其中,Wp为所述预测传输时间窗,P为所述第一码流的字节数量,B为所述当前预测带宽。
通过上述公式可以准确计算得到预测传输时间窗。
在一个实施例中,所述根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到第一最大传输时间窗包括:
W1=T1–E–D–S,其中,W1为所述第一最大传输时间窗,T1为所述第一预设最大容忍延时,E为所述平均编码时间,D为所述平均解码时间,S为所述平均显示时间。
通过上述公式可以准确计算得到第一最大传输时间窗。
在一个实施例中,所述根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第二预设最大容忍延时得到第二最大传输时间窗包括:
W2=T2–E–D–S,其中,W2为所述第一最大传输时间窗,T2为所述第二预设最大容忍延时,E为所述平均编码时间,D为所述平均解码时间,S为所述平均显示时间。
通过上述公式可以准确计算得到第二最大传输时间窗。
根据本公开实施例的第二方面,提供一种图像处理装置,包括:
当前帧图像获取模块,用于获取当前帧图像并对所述当前帧图像进行编码,生成第一码流,所述第一码流的字节数量为预设字节数量;
预测传输时间窗生成模块,用于根据所述第一码流和当前预测带宽得到所述当前帧图像的预测传输时间窗;
第一最大传输时间窗生成模块,用于若确定接收端设备当前处于交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到第一最大传输时间窗,所述第一预设最大容忍延时为所述交互场景下的预设最大容忍延时;
第一预设步骤执行模块,用于若所述预测传输时间窗大于所述第一最大传输时间窗,则执行第一预设步骤,所述第一预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第一最大传输时间窗。
在一个实施例中,所述装置还包括:
第二预设步骤执行模块,用于若所述预测传输时间窗小于所述第一最大传输时间窗,则执行第二预设步骤,所述第二预设步骤包括:
将所述第一码流发送至接收端设备;
获取下一帧图像并对所述下一帧图像进行编码,生成第三码流,所述第三码流的字节数量是将所述第一码流的字节数量按照预设第二算法增大后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第三码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否小于所述第一最大传输时间窗。
在一个实施例中,所述装置还包括:
第二最大传输时间窗生成模块,用于若确定所述接收端设备当前处于非交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第二预设最大容忍延时得到第二最大传输时间窗,所述第二预设最大容忍延时为所述非交互场景下的预设最大容忍延时,所述第二预设最大容忍延时小于所述二预设最大容忍延时;
第三预设步骤执行模块,用于若所述预测传输时间窗大于所述第二最大传输时间窗,则执行第三预设步骤,所述第三预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第二最大传输时间窗。
在一个实施例中,所述装置还包括:
第四预设步骤执行模块,用于若所述预测传输时间窗小于所述第二最大传输时间窗,则执行第四预设步骤,所述第四预设步骤包括:
将所述第一码流发送至接收端设备;
获取下一帧图像并对所述下一帧图像进行编码,生成第三码流,所述第三码流的字节数量是将所述第一码流的字节数量按照预设第二算法增大后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第三码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否小于所述第二最大传输时间窗。
在一个实施例中,所述装置包括:
平均编码时间获取模块,用于:
获取至少一帧图像;
对所述至少一帧图像中每帧图像进行编码并获取所述每帧图像的编码时间;
对所述至少一帧图像中每帧图像进行编码后,将所述至少一帧图像发送至接收端设备并根据所述每帧图像的编码时间得到所述每帧图像的平均编码时间。
在一个实施例中,所述装置包括:
平均解码时间接收模块,用于接收所述接收端设备发送的所述每帧图像的平均解码时间和平均显示时间,所述平均解码时间和所述平均显示时间是所述接收端设备在接收到所述至少一帧图像后,对所述至少一帧图像中的每帧图像进行解码并显示后获取的。
在一个实施例中,所述预测传输时间窗生成模块用于:
Wp=(P/B)*1000,其中,Wp为所述预测传输时间窗,P为所述第一码流的字节数量,B为所述当前预测带宽。
在一个实施例中,所述第一最大传输时间窗生成模块用于:
W1=T1–E–D–S,其中,W1为所述第一最大传输时间窗,T1为所述第一预设最大容忍延时,E为所述平均编码时间,D为所述平均解码时间,S为所述平均显示时间。
在一个实施例中,所述第二最大传输时间窗生成模块用于:
W2=T2–E–D–S,其中,W2为所述第一最大传输时间窗,T2为所述第二预设最大容忍延时,E为所述平均编码时间,D为所述平均解码时间,S为所述平均显示时间。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现第一方面中任一项所述的图像处理方法中所执行的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现第一方面中任一项所述的图像处理方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种图像处理系统的结构示意图;
图2是本公开实施例提供的一种图像处理方法的流程图一;
图3是本公开实施例提供的一种云桌面系统的示意图;
图4是本公开实施例提供的一种图像处理方法的流程图二;
图5是本公开实施例提供的一种图像处理装置的结构示意图一;
图6是本公开实施例提供的一种图像处理装置的结构示意图二;
图7是本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是本公开实施例提供的一种图像处理系统的结构示意图。如图1所示,该系统包括发送端设备101和接收端设备102。其中,发送端设备101和接收端设备102可以进行通信连接,发送端设备101可以将获取的图像通过网络传输至接收端设备102。该图像处理系统可以应用于云桌面系统,也可以应用于其他的图像传输场景,本实施例此处不做限制。
当该图像处理系统应用于云桌面系统时,服务器中的源端设备可以作为图像发送端设备,客户端设备可以作为接收端设备。源端设备获取当前帧图像(即云桌面的当前显示画面)并对该当前帧图像进行编码,生成第一码流,该第一码流的字节数量为预设字节数量;再根据该第一码流和网络的当前预测带宽得到该当前帧图像的预测传输时间窗;若确定客户端设备当前处于交互场景,则根据每帧图像(即每帧云桌面的显示画面)的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到第一最大传输时间窗,该第一预设最大容忍延时为交互场景下的预设最大容忍延时;若该预测传输时间窗大于该第一最大传输时间窗,则执行预设步骤,该第一预设步骤包括:1、丢弃该当前帧图像;2、获取下一帧图像(即下一帧云桌面的显示画面)并对该下一帧图像进行编码,生成第二码流,该第二码流的字节数量是将该第一码流的字节数量按照预设算法减少后的字节数量;3、将该下一帧图像作为新的当前帧图像并将该第二码流作为新的第一码流。直至该预测传输时间窗小于或者等于该第一最大传输时间窗时,将该第一码流发送至客户端设备。
本公开实施例提供的图像处理系统,能够在接收端设备处于交互场景时,根据网络的当前预测带宽调整图像编码后的码流的字节数量,并在图像的预测传输时间窗小于或者等于最大传输时间窗时,将该图像编码后的码流发送至接收端设备,避免了在交互场景下,若网络的带宽不足且延时高,用户使用云桌面会感受到明显的卡顿,甚至无法正常使用云桌面的问题,提高了用户体验。
下面结合图2实施例,对本公开实施例提供的图像处理系统如何进行图像处理作进一步详细说明。图2是本公开实施例提供的一种图像处理方法的流程图。如图2所示,该方法包括:
S201、获取当前帧图像并对该当前帧图像进行编码,生成第一码流,该第一码流的字节数量为预设字节数量。
在本实施例中,在获取当前帧图像前,先获取至少一帧图像;再对该至少一帧图像中每帧图像进行编码并获取该每帧图像的编码时间;对该至少一帧图像中每帧图像进行编码后,将该至少一帧图像发送至接收端设备并根据所述每帧图像的编码时间得到该每帧图像的平均编码时间。
进一步地,接收该接收端设备发送的该每帧图像的平均解码时间和平均显示时间,该平均解码时间和该平均显示时间是该接收端设备在接收到该至少一帧图像后,对该至少一帧图像中的每帧图像进行解码并显示后获取的。
比如云桌面系统中,在获取当前显示画面之前,源端设备获取预设时长(例如1s)内传输的数帧的显示画面,并对该数帧显示画面中的每帧显示画面进行编码并获取该每帧显示画面的编码时间;对该数帧显示画面中每帧显示画面进行编码后,将该数帧显示画面发送至客户端设备并根据该每帧图像的编码时间得到该每帧图像的平均编码时间。例如,在画面每秒传输帧数(FPS,Frames Per Second)为30时,即FPS周期为1s,每秒传输帧数为30。第1帧显示画面的编码时间为E1,第2帧显示画面的编码时间为E2……,第30帧的显示画面编码时间为E30,平均编码时间E=(E1+E2+...+E30)/30。
客户端设备接收到该数帧显示画面后,对该数帧显示画面中的每帧显示画面进行解码并显示,再获取该数帧显示画面中的每帧显示画面的解码时间和显示时间,再根据该数帧显示画面中的每帧显示画面的解码时间和显示时间分别得到该每帧显示画面的平均解码时间和平均显示时间。
例如,客户端设备接收到源端设备FPS周期内传输的30帧显示画面后,对该30帧显示画面中的每帧显示画面进行解码,获取的第1帧显示画面的解码时间为D1,第2帧显示画面的解码时间为D2……,第30帧的显示画面的解码时间为D30,平均解码时间D=(D1+D2+...+D30)/30。客户端设备对该30帧显示画面中的每帧显示画面解码后进行显示,获取的第1帧显示画面的显示时间为S1,第2帧显示画面的显示时间为S 2……,第30帧的显示画面的显示时间为S30,平均解码时间S=(S1+S2+...+S30)/30。客户端设备获取该平均解码时间和平均显示时间后,将该平均解码时间和该平均显示时间发送至该源端设备。
示例性地,在获取平均编码时间并接收到接收端设备发送的平均解码时间和平均显示时间后,对获取的当前帧图像进行编码,得到的第一码流,该第一码流的字节数量为预设字节数量。例如,在本实施例中,对当前帧图像图中进行编码后,得到的第一码流的字节数量为1000字节。
S202、根据该第一码流和当前预测带宽得到该当前帧图像的预测传输时间窗。
在本步骤中,可以通过公式(1)计算当前帧图像的预测传输时间窗。
Wp=(P/B)*1000 (1)。
其中,Wp为该预测传输时间窗,P为该第一码流的字节数量,B为该当前预测带宽(单位:Bps)。在本实施中,在获取当前帧图像的同时,获取网络的当前预测带宽B,可以采用现有技术中的任意一种预测带宽的方法获取网络的当前预测带宽,本实施例此处不做具体限制。
S203、若确定接收端设备当前处于交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到最大传输时间窗,该第一预设最大容忍延时为交互场景下的预设最大容忍延时。
在一个实施例中,若确定接收端设备当前处于交互场景,则获取每帧图像的平均编码时间并接收到接收端设备发送的每帧图像的平均解码时间和平均显示时间后,通过公式(2)计算得到第一最大传输时间窗。
W1=T1–E–D–S (2)。
其中,W1为该第一最大传输时间窗,T1为该第一预设最大容忍延时,E为该平均编码时间,D为该平均解码时间,S为该平均显示时间。发送端设备获取每帧图像的平均编码时间E并接收到接收端设备发送的每帧图像的平均解码时间D和平均显示时间S后,再根据公式(2)即可计算得到第一最大传输时间窗W1。T1表示每帧图像在交互场景下传输时能够容忍的最大延时,即在非交互场景下,从每帧图像从采集开始计时,经编码、传输、解码后,到最终显示完成所花费的时间不能超过T1。T1与网络带宽密切相关,若网络带宽较大,则T1取值可以较大,若网络带宽较小,则T1可以取值可以。
在另一个实施例中,若确定接收端设备当前非处于交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第二预设最大容忍延时得到最大传输时间窗,该第二预设最大容忍延时为交互场景下的预设最大容忍延时,该第二预设最大容忍延时小于该一预设最大容忍延时。
示例性地,确定接收端设备当前非处于交互场景,则获取每帧图像的平均编码时间并接收到接收端设备发送的每帧图像的平均解码时间和平均显示时间后,通过公式(3)计算得到第二最大传输时间窗。
W2=T2–E–D–S (3)。
其中,W2为该第二最大传输时间窗,T2为该第二预设最大容忍延时,E为该平均编码时间,D为该平均解码时间,S为该平均显示时间。发送端设备获取每帧图像的平均编码时间E并接收到接收端设备发送的每帧图像的平均解码时间D和平均显示时间S后,再根据公式(3)即可计算得到第二最大传输时间窗W2。T2表示每帧图像在非交互场景下传输时能够容忍的最大延时,即在交互场景下,从每帧图像从采集开始计时,经编码、传输、解码后,到最终显示完成所花费的时间不能超过T2。T2与网络带宽密切相关,若网络带宽较大,则T2取值可以较大,若网络带宽较小,则T2可以取值可以较小。其中,T2大于T1。在一些实施例中,T1的值范围为40ms-80ms之间,例如为60ms,T2取值范围为80ms-150ms之间,例如为100ms。
此处需要说明的是,交互场景指的是用户在接收端设备进行人机交互的场景。例如,交互场景可以包括键盘交互场景、鼠标交互场景、触摸交互场景、语音交互场景、手势交互场景、身体分析交互场景、或面部分析交互场景等。
当接收端设备有鼠标操作时,定义为鼠标交互场景;当接收端设备有键盘操作时,定义为键盘交互场景;当接收端设备有触控操作时,定义为触控交互场景;当接收端设备有语音交互时,定义为语音交互场景;当接收端设备有手势交互时,定义为手势交互场景;当接收端设备有身份分析(如人脸识别,指纹识别等)定义为身份分析交互场景。
除交互场景之外的场景则定义为非交互场景。之所以区分为这两种场景,是因为在交互场景下,用户对延时的感知相对于非交互场景更为敏感,因此T2大于T1。
S204、若该预测传输时间窗大于该第一最大传输时间窗,则执行第一预设步骤。
在本实施例中,若接收端设备当前处于交互场景且该预测传输时间窗大于该第一最大传输时间窗,则执行第一预设步骤:
1、丢弃该当前帧图像;
2、获取下一帧图像并对该下一帧图像进行编码,生成第二码流,该第二码流的字节数量是将该第一码流的字节数量按照预设第一算法减少后的字节数量;
3、将该下一帧图像作为新的当前帧图像并将该第二码流作为新的第一码流。
4、根据该新的第一码流和当前预测带宽得到的第一预测传输时间窗并确定该预测传输时间窗是否大于该第一最大传输时间窗。
例如,当该当前帧图像的第一码流字节数量P为1000字节时,根据该第一码流字节数量和当前预测带宽得到的预测传输时间窗Wp为20ms,而第一最大传输时间窗W1为10ms,则执行第一预设步骤:1、丢弃该当前帧图像;2、获取下一帧图像并对该下一帧图像进行编码,生成第二码流,该第二码流的字节数量为900字节,是将该第一码流的字节数量1000减少10%后的字节数量;3、将该下一帧图像作为新的当前帧图像并将该第二码流作为新的第一码流。4、根据该新的第一码流的字节数量900和当前预测带宽得到的预测传输时间窗Wp并确定该预测传输时间窗是否大于该第一最大传输时间窗。若是,则循环执行该第一预设步骤,直至该预测传输时间窗小于或者等于该第一最大传输时间窗,将该第一码流发送至接收端设备,以便该接收端设备对该第一码流进行解码,生成该当前帧图像。
在另一个实施中,若接收端设备当前处于交互场景且该预测传输时间窗小于该第一最大传输时间窗,则执行第二预设步骤,该第二预设步骤包括:
1、将该第一码流发送至接收端设备;
2、获取下一帧图像并对该下一帧图像进行编码,生成第三码流,该第三码流的字节数量是将该第一码流的字节数量按照预设第二算法增大后的字节数量;
3、将该下一帧图像作为新的当前帧图像并将该第三码流作为新的第一码流;
4、根据该新的第一码流和当前预测带宽得到的预测传输时间窗并确定该预测传输时间窗是否小于该第一最大传输时间窗。
例如,当该当前帧图像的第一码流字节数量P为1000字节时,根据该第一码流字节数量和当前预测带宽得到的预测传输时间窗Wp为20ms,而第一最大传输时间窗W1为30ms,则执行第二预设步骤:1、将该第一码流发送至接收端设备,以便该接收端设备对该第一码流进行解码生成该当前帧图像;2、获取下一帧图像并对该下一帧图像进行编码,生成第三码流,该第三码流的字节数量为1100字节,是将该第一码流的字节数量1000增加10%后的字节数量;3、将该下一帧图像作为新的当前帧图像并将该第三码流作为新的第一码流。4、根据该新的第一码流的字节数量1100和当前预测带宽得到的预测传输时间窗Wp并确定该预测传输时间窗是否小于该第一最大传输时间窗。若是,则循环执行该第二预设步骤,直至该预测传输时间等于该最大传输时间窗。
示例性地,若接收端设备当前处于非交互场景且该预测传输时间窗大于该第二最大传输时间窗,则执行第三预设步骤。
在本实施例中,该第三预设步骤包括:
1、丢弃该当前帧图像;
2、获取下一帧图像并对该下一帧图像进行编码,生成第二码流,该第二码流的字节数量是将该第一码流的字节数量按照预设第一算法减少后的字节数量;
3、将该下一帧图像作为新的当前帧图像并将该第二码流作为新的第一码流。
4、根据该新的第一码流和当前预测带宽得到的第一预测传输时间窗并确定该预测传输时间窗是否大于该第二最大传输时间窗。
例如,当该当前帧图像的第一码流字节数量P为1000字节时,根据该第一码流字节数量和当前预测带宽得到的预测传输时间窗Wp为20ms,而第一最大传输时间窗W2为12ms,则执行第一预设步骤:1、丢弃该当前帧图像;2、获取下一帧图像并对该下一帧图像进行编码,生成第二码流,该第二码流的字节数量为900字节,是将该第一码流的字节数量1000减少10%后的字节数量;3、将该下一帧图像作为新的当前帧图像并将该第二码流作为新的第一码流。4、根据该新的第一码流的字节数量900和当前预测带宽得到的预测传输时间窗Wp并确定该预测传输时间窗是否大于该第二最大传输时间窗。若是,则循环执行该第三预设步骤,直至该预测传输时间窗小于或者等于该第一最大传输时间窗,将该第一码流发送至接收端设备,以便该接收端设备对该第一码流进行解码,生成该当前帧图像。
在另一个实施中,若接收端设备当前处于非交互场景且该预测传输时间窗小于该第二最大传输时间窗,则执行第四预设步骤,该第四预设步骤包括:
1、将该第一码流发送至接收端设备;
2、获取下一帧图像并对该下一帧图像进行编码,生成第三码流,该第三码流的字节数量是将该第一码流的字节数量按照预设第二算法增大后的字节数量;
3、将该下一帧图像作为新的当前帧图像并将该第三码流作为新的第一码流;
4、根据该新的第一码流和当前预测带宽得到的预测传输时间窗并确定该预测传输时间窗是否小于该第二最大传输时间窗。
例如,当该当前帧图像的第一码流字节数量P为1000字节时,根据该第一码流字节数量和当前预测带宽得到的预测传输时间窗Wp为20ms,而第二最大传输时间窗W2为32ms,则执行第四预设步骤:1、将该第一码流发送至接收端设备,以便该接收端设备对该第一码流进行解码生成该当前帧图像;2、获取下一帧图像并对该下一帧图像进行编码,生成第三码流,该第三码流的字节数量为1100字节,是将该第一码流的字节数量1000增加10%后的字节数量;3、将该下一帧图像作为新的当前帧图像并将该第三码流作为新的第一码流。4、根据该新的第一码流的字节数量1100和当前预测带宽得到的预测传输时间窗Wp并确定该预测传输时间窗是否小于该第二最大传输时间窗。若是,则循环执行该第四预设步骤,直至该预测传输时间等于该第二最大传输时间窗。
本公开实施例提供的图像处理方法,能够在交互场景下根据网络的当前预测带宽调整图像编码后的码流的字节数量,并在调整图像编码后的码流的字节数量后,根据调整后码流的字节数量得到图像的预测传输时间窗,在图像的预测传输时间窗小于或者等于最大传输时间窗时,将该图像编码后的码流发送至接收端设备,能够通过调整图像编码后的码流的字节数量减少图像的传输时延,可以在交互场景下提前预防网络拥塞导致的卡顿现象,避免了在交互场景下,若网络的带宽不足且延时高,用户使用云桌面会感受到明显的卡顿,甚至无法正常使用云桌面的问题,提高了用户体验。
下面对本公开实施例提供的图像处理方法做进一步详细说明。
本方案将云桌面的应用场景区分为两种场景:交互场景和非交互场景。
当客户端有鼠标、键盘、触控等外设操作导致云桌面发生变化的场景,定义为交互场景;反之,定义为非交互场景。针对这两种不同场景,分别定义对应的最大容忍延时T1和T2(单位:毫秒)。
最大容忍延时定义:从源端画面采集开始计时,经编码、传输、解码后,到最终显示完成所花费的时间所不能超过的时间。
比如在交互场景下定义最大容忍延时T1,非交互场景下定义最大容忍延时T2。
其中,T2大于T1。在一些实施例中,T1的值范围为40ms-80ms之间,例如为60ms,非交互场景下定义最大容忍延时T2取值范围为80ms-150ms之间,例如为100ms。
同时,通过带宽预测模块,对网络带宽进行估测,得到预测带宽B(单位:Bps)。
通过统计模块统计每秒内所有帧的平均编码时间E(单位:毫秒)。
平均编码时间指的是在周期T内共传输的N帧图像的编码耗费的总时间除以N。
比如云桌面,在每个FPS周期(一般是1s)内传输帧数为30,第1帧的编码时间为E1,第2帧的编码时间为E2,第30帧的编码时间为E30,那平均编码时间E=(E1+E2+...+E30)/30。
按上述方法,统计每秒内所有帧的平均解码时间D(单位:毫秒)。
平均编码时间指的是在周期T(例如上述的每个FPS周期)内共传输的N帧图像的解码耗费的总时间除以N。
按上述方法,统计周期T内所有帧的平均显示时间S(单位:毫秒)。
平均编码时间指的是在周期T(例如上述的每个FPS周期)内共传输的N帧图像的显示耗费的总时间除以N。
对于每一帧,经编码器编码后输出的码流大小定义为输出码流P(单位:字节)。
定义(P/B)*1000为预测传输时间窗Wp,Tn–E–D-S为最大传输时间窗Wr。
当(P/B)*1000>(Tn–E–D–S)时(Tn取值为T1或T2),则在编码端主动丢弃当前帧,并动态降低编码器输出码流(即降低清晰度),重新生成新的一帧,并满足(P/B)*1000<=(Tn–E–D-S),再进行传输。
当(P/B)*1000<(Tn–E–D-S)时,则从下一帧开始,动态提升编码器输出码流P(即提高清晰度),并满足(P/B)*1000<=(Tn–E–D–S),再进行传输。
动态降低或提升,是指通过按比例,比如基于当前正在使用的输出码流大小的10%,调整编码器的输出码流参数,并重置编码器。
当Wp小于Wr时,画面能流畅传输,而且在Wp小于Wr的前提下,编码器会逐步提升输出码流,提高画面清晰度。当Wp大于Wr时,通过调整编码器输出码流,可以提前预防网络拥塞导致的丢包卡顿现象。
本方案通过区分交互和非交互场景以及定义两种场景下允许的最大容忍延时,根据预测带宽,动态计算编码后的每一帧码流是否可以在最大容忍延时内到达客户端。如果不能,则通过主动丢帧并调整编码器码流以满足延时要求。反之,在满足延时的要求下,动态调整编码码流以提升画质,达到更好的用户体验。
发明点放在:不同的场景设置不同的最大容忍延时,给的例子是交互场景和非交互两种,还可以更细化到多种。
本发明的使用场景例如可以为如图3所示的云桌面系统。整个云桌面系统由源端和客户端两大部分组成。源端泛指图3中采集模块和编码器。客户端泛指由解码器和显示模块组成的一个终端设备或一套软件系统。
本方案将云桌面的源端画面区分为两种场景:交互场景和非交互场景。
交互场景指的是用户在客户端进行人机交互的场景。
例如,交互场景可以包括键盘交互场景、鼠标交互场景、触摸交互场景、语音交互场景、手势交互场景、身体分析交互场景、或面部分析交互场景等。
当客户端有鼠标操作时,定义为鼠标交互场景;当客户端有键盘操作时,定义为键盘交互场景;当客户端有触控操作时,定义为触控交互场景;当客户端有语音交互时,定义为语音交互场景;当客户端有手势交互时,定义为手势交互场景;当客户端有身份分析(如人脸识别,指纹识别等)定义为身份分析交互场景。
除交互场景之外的场景则定义为非交互场景。之所以区分为这两种场景,是因为在交互场景下,用户对延时的感知相对于非交互场景更为敏感。当用户双击想打开一个文件时,希望该动作马上得到执行。反应到云桌面系统,则是双击产生的源端画面,在编码后,以最快的速度传输到客户端,并解码完成显示。而非交互场景下,比如自动循环播放幻灯片,即使传输延时比交互场景下大一倍,用户也不会有太大感知,不会影响用户体验。而在带宽固定的情况下,同样的源端画面(编码前),自然是编码后码流越小,传输越快,对用户来说能更快看到变化后的画面。但对于选定了固定的编码算法来说,同样画面,码流越小,则清晰度越差。因此,需要在清晰度、延时之间有一个平衡,即在用户可接受的延时下,尽可能的传输高清晰度的画面。所以本方案将源端画面区分为交互和非交互场景,从而定义出不同的最大容忍延时T1和T2。再基于不同的最大容忍延时,动态调节编码器输出码流,得到合适清晰度的画面,让用户体验更好。
本方案的主要工作流程如图4所示:
步骤一,编码器、解码器、显示模块分别周期性统计平均编码时间E,平均解码时间D,平均显示时间S。
这个周期性一般为一秒。
步骤二,在源端,带宽预测模块实时预测带宽,并输出预测带宽值B;
步骤三,在源端,采集后的每一帧,经编码器编码后,得到码流大小P;
步骤四,在源端,通过公式(P/B)*1000>(Tn–E–D–S)进行判断,其中Tn根据场景不同,选择T1或T2。如果公式计算结果,分别执行步骤五或步骤六;
步骤五,公式不成立,则说明当前码流大小满足当前场景下的发送延时,直接交给传输模块进行发送,同时通知编码器可提高输出码流,即提高清晰度。
这个提升幅度可根据不同编码算法而定,比如每次提升10%;
步骤六,公式成立,则说明当前码流大小不满足当前场景下的发送延时,则丢弃当前码流,通知编码器降低输出码流,即降低清晰度,再重新转至步骤三,再次循环。
使用场景说明(T2>T1):
客户端处于非交互场景,Tn取值T2
此时,满足(P/B)*1000≤(T2–E–D–S)的条件,说明当前码流大小满足当前场景下的发送延时。
若客户端的状态变为交互场景,Tn取值T1
Tn取值发生变化后,不满足(P/B)*1000≤(T1–E–D–S)的条件,说明当前码流大小不满足当前场景下的发送延时,这个时候要适当的降低P,直到满足(P/B)*1000≤(T2–E–D–S)的条件。
从交互状态转变到非交互状态的过程,原理是一致的。
基于上述图2和图4对应的实施例中所描述的图像处理方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
图5是本公开实施例提供一种图像处理装置的结构示意图。如图5所示,该装置50包括:
当前帧图像获取模块501,用于获取当前帧图像并对所述当前帧图像进行编码,生成第一码流,所述第一码流的字节数量为预设字节数量;
预测传输时间窗生成模块502,用于根据所述第一码流和当前预测带宽得到所述当前帧图像的预测传输时间窗;
第一最大传输时间窗生成模块503,用于若确定接收端设备当前处于交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到第一最大传输时间窗,所述第一预设最大容忍延时为所述交互场景下的预设最大容忍延时;
第一预设步骤执行模块504,用于若所述预测传输时间窗大于所述第一最大传输时间窗,则执行第一预设步骤,所述第一预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第一最大传输时间窗。
在一个实施例中,如图6所示,所述装置50还包括:
第二预设步骤执行模块505,用于若所述预测传输时间窗小于所述第一最大传输时间窗,则执行第二预设步骤,所述第二预设步骤包括:
将所述第一码流发送至接收端设备;
获取下一帧图像并对所述下一帧图像进行编码,生成第三码流,所述第三码流的字节数量是将所述第一码流的字节数量按照预设第二算法增大后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第三码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否小于所述第一最大传输时间窗。
在一个实施例中,所述装置50还包括:
第二最大传输时间窗生成模块506,用于若确定所述接收端设备当前处于非交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第二预设最大容忍延时得到第二最大传输时间窗,所述第二预设最大容忍延时为所述非交互场景下的预设最大容忍延时,所述第二预设最大容忍延时小于所述二预设最大容忍延时;
第三预设步骤执行模块507,用于若所述预测传输时间窗大于所述第二最大传输时间窗,则执行第三预设步骤,所述第三预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第二最大传输时间窗。
在一个实施例中,所述装置50还包括:
第四预设步骤执行模块508,用于若所述预测传输时间窗小于所述第二最大传输时间窗,则执行第四预设步骤,所述第四预设步骤包括:
将所述第一码流发送至接收端设备;
获取下一帧图像并对所述下一帧图像进行编码,生成第三码流,所述第三码流的字节数量是将所述第一码流的字节数量按照预设第二算法增大后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第三码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否小于所述第二最大传输时间窗。
在一个实施例中,所述装置50包括:
平均编码时间获取模块509,用于:
获取至少一帧图像;
对所述至少一帧图像中每帧图像进行编码并获取所述每帧图像的编码时间;
对所述至少一帧图像中每帧图像进行编码后,将所述至少一帧图像发送至接收端设备并根据所述每帧图像的编码时间得到所述每帧图像的平均编码时间。
在一个实施例中,所述装置50包括:
平均解码时间接收模块510,用于接收所述接收端设备发送的所述每帧图像的平均解码时间和平均显示时间,所述平均解码时间和所述平均显示时间是所述接收端设备在接收到所述至少一帧图像后,对所述至少一帧图像中的每帧图像进行解码并显示后获取的。
在一个实施例中,所述预测传输时间窗生成模块502用于:
Wp=(P/B)*1000,其中,Wp为所述预测传输时间窗,P为所述第一码流的字节数量,B为所述当前预测带宽。
在一个实施例中,所述第一最大传输时间窗生成模块503用于:
W1=T1–E–D–S,其中,W1为所述第一最大传输时间窗,T1为所述第一预设最大容忍延时,E为所述平均编码时间,D为所述平均解码时间,S为所述平均显示时间。
在一个实施例中,所述第二最大传输时间窗生成模块506用于:
W2=T2–E–D–S,其中,W2为所述第一最大传输时间窗,T2为所述第二预设最大容忍延时,E为所述平均编码时间,D为所述平均解码时间,S为所述平均显示时间。
本公开实施例提供的图像处理装置,其实现过程和技术效果可以参见上述图2和图4实施例,在此不再赘述。
图7是本公开实施例提供一种电子设备的结构示意图。如图7所示,该种电子设备70包括处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现图2和图4对应的实施例中所描述的图像处理方法中所执行的步骤。
基于上述图2和图4对应的实施例中所描述的图像处理方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图2和图4对应的实施例中所描述的图像处理方法,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种图像处理方法,其特征在于,包括:
获取当前帧图像并对所述当前帧图像进行编码,生成第一码流,所述第一码流的字节数量为预设字节数量;
根据所述第一码流和当前预测带宽得到所述当前帧图像的预测传输时间窗;
若确定接收端设备当前处于交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到第一最大传输时间窗,所述第一预设最大容忍延时为所述交互场景下的预设最大容忍延时;
若所述预测传输时间窗大于所述第一最大传输时间窗,则执行第一预设步骤,所述第一预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第一最大传输时间窗。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述预测传输时间窗小于所述第一最大传输时间窗,则执行第二预设步骤,所述第二预设步骤包括:
将所述第一码流发送至接收端设备;
获取下一帧图像并对所述下一帧图像进行编码,生成第三码流,所述第三码流的字节数量是将所述第一码流的字节数量按照预设第二算法增大后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第三码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否小于所述第一最大传输时间窗。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一码流和当前预测带宽得到所述当前帧图像的预测传输时间窗后,所述方法还包括:
若确定所述接收端设备当前处于非交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第二预设最大容忍延时得到第二最大传输时间窗,所述第二预设最大容忍延时为所述非交互场景下的预设最大容忍延时,所述第二预设最大容忍延时小于所述一预设最大容忍延时;
若所述预测传输时间窗大于所述第二最大传输时间窗,则执行第三预设步骤,所述第三预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第二最大传输时间窗。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
若所述预测传输时间窗小于所述第二最大传输时间窗,则执行第四预设步骤,所述第四预设步骤包括:
将所述第一码流发送至接收端设备;
获取下一帧图像并对所述下一帧图像进行编码,生成第三码流,所述第三码流的字节数量是将所述第一码流的字节数量按照预设第二算法增大后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第三码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否小于所述第二最大传输时间窗。
5.根据权利要求1所述的方法,其特征在于,所述获取当前帧图像并对所述当前帧图像进行编码前,所述方法还包括:
获取至少一帧图像;
对所述至少一帧图像中每帧图像进行编码并获取所述每帧图像的编码时间;
对所述至少一帧图像中每帧图像进行编码后,将所述至少一帧图像发送至接收端设备并根据所述每帧图像的编码时间得到所述每帧图像的平均编码时间。
6.根据权利要求5所述的方法,其特征在于,所述获取当前帧图像并对所述当前帧图像进行编码前,所述方法还包括:
接收所述接收端设备发送的所述每帧图像的平均解码时间和平均显示时间,所述平均解码时间和所述平均显示时间是所述接收端设备在接收到所述至少一帧图像后,对所述至少一帧图像中的每帧图像进行解码并显示后获取的。
7.根据权利要求1所述的方法,其特征在于,所述根据所述第一码流和当前预测带宽得到当前帧图像的预测传输时间窗包括:
Wp=(P/B)*1000,其中,Wp为所述预测传输时间窗,P为所述第一码流的字节数量,B为所述当前预测带宽。
8.根据权利要求1所述的方法,其特征在于,所述根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到第一最大传输时间窗包括:
W1=T1–E–D–S,其中,W1为所述第一最大传输时间窗,T1为所述第一预设最大容忍延时,E为所述平均编码时间,D为所述平均解码时间,S为所述平均显示时间。
9.根据权利要求3所述的方法,其特征在于,所述根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第二预设最大容忍延时得到第二最大传输时间窗包括:
W2=T2–E–D–S,其中,W2为所述第一最大传输时间窗,T2为所述第二预设最大容忍延时,E为所述平均编码时间,D为所述平均解码时间,S为所述平均显示时间。
10.一种图像处理装置,其特征在于,包括:
当前帧图像获取模块,用于获取当前帧图像并对所述当前帧图像进行编码,生成第一码流,所述第一码流的字节数量为预设字节数量;
预测传输时间窗生成模块,用于根据所述第一码流和当前预测带宽得到所述当前帧图像的预测传输时间窗;
第一最大传输时间窗生成模块,用于若确定接收端设备当前处于交互场景,则根据每帧图像的平均编码时间、平均解码时间、平均显示时间和第一预设最大容忍延时得到第一最大传输时间窗,所述第一预设最大容忍延时为所述交互场景下的预设最大容忍延时;
第一预设步骤执行模块,用于若所述预测传输时间窗大于所述第一最大传输时间窗,则执行第一预设步骤,所述第一预设步骤包括:
丢弃所述当前帧图像;
获取下一帧图像并对所述下一帧图像进行编码,生成第二码流,所述第二码流的字节数量是将所述第一码流的字节数量按照预设第一算法减少后的字节数量;
将所述下一帧图像作为新的当前帧图像并将所述第二码流作为新的第一码流;
根据所述新的第一码流和所述当前预测带宽得到新的预测传输时间窗并确定所述新的预测传输时间窗是否大于所述第一最大传输时间窗。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011323503.4A CN112584141A (zh) | 2020-11-23 | 2020-11-23 | 一种图像处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011323503.4A CN112584141A (zh) | 2020-11-23 | 2020-11-23 | 一种图像处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112584141A true CN112584141A (zh) | 2021-03-30 |
Family
ID=75123159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011323503.4A Pending CN112584141A (zh) | 2020-11-23 | 2020-11-23 | 一种图像处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112584141A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115097994A (zh) * | 2021-10-30 | 2022-09-23 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
-
2020
- 2020-11-23 CN CN202011323503.4A patent/CN112584141A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115097994A (zh) * | 2021-10-30 | 2022-09-23 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9872021B2 (en) | Video conversion method and apparatus | |
Bachhuber et al. | On the minimization of glass-to-glass and glass-to-algorithm delay in video communication | |
EP3606050A1 (en) | Video frame coding method, terminal, and storage medium | |
CN111246262A (zh) | 编码调度控制方法及调度控制器 | |
US20110299588A1 (en) | Rate control in video communication via virtual transmission buffer | |
US10834405B2 (en) | Bit rate allocation method and device, and storage medium | |
EP2727344B1 (en) | Frame encoding selection based on frame similarities and visual quality and interests | |
US12022089B2 (en) | Method and apparatus for determining video bitrate, computer device, and storage medium | |
CN110708570B (zh) | 视频的编码码率确定方法、装置、设备及存储介质 | |
CN106791910A (zh) | 视频帧处理方法及装置 | |
CN113301342B (zh) | 视频编码方法、网络直播方法、装置和终端设备 | |
CN112584141A (zh) | 一种图像处理方法及装置 | |
CN106454348B (zh) | 一种视频编解码方法和装置 | |
US20230319292A1 (en) | Reinforcement learning based rate control | |
CN109474648B (zh) | 一种虚拟现实交互的补偿方法及服务端设备 | |
CN112929712A (zh) | 视频码率调整方法和装置 | |
CN113810718A (zh) | 编解码控制方法、装置、设备及存储介质 | |
CN115529300A (zh) | 自动调整关键帧量化参数和帧率的系统和方法 | |
JP2005057760A (ja) | リアルタイム計算量適応型ビデオコーデックシステム | |
CN105163195A (zh) | 一种即时视频的编码方法和电子设备 | |
US9118806B2 (en) | Device and method for multistream bandwidth control in videoconferencing | |
CN116866658A (zh) | 视频数据的处理方法、装置、设备和介质 | |
CN113905200B (zh) | 一种基于统计的视频处理方法及设备 | |
CN112565822A (zh) | 一种图像处理方法、装置、存储介质及电子设备 | |
US11880966B2 (en) | Image quality assessment apparatus and image quality assessment method thereof |
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 |