CN113066139A - 图片处理方法和装置、存储介质及电子设备 - Google Patents
图片处理方法和装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN113066139A CN113066139A CN202110328574.1A CN202110328574A CN113066139A CN 113066139 A CN113066139 A CN 113066139A CN 202110328574 A CN202110328574 A CN 202110328574A CN 113066139 A CN113066139 A CN 113066139A
- Authority
- CN
- China
- Prior art keywords
- coding
- image data
- frame
- data
- desktop picture
- 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.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 230000000737 periodic effect Effects 0.000 claims abstract description 62
- 238000000034 method Methods 0.000 claims abstract description 35
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000002457 bidirectional effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明公开了一种图片处理方法和装置、存储介质及电子设备。其中,该方法包括:获取目标源端的原始图像数据,其中,原始图像数据为对目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;对原始图像数据进行周期式帧间编码,得到帧数据,其中,周期式帧间编码用于指示在帧数据中每一个编码周期的起始编码位置配置当前所显示的桌面画面对应的关键帧;将帧数据发送至目标接收端,以使目标接收端根据帧数据还原桌面画面。本发明解决了由于桌面图像编解码错误造成的显示花屏的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种图片处理方法和装置、存储介质及电子设备。
背景技术
云桌面系统包括云端服务器和接收端,在云端服务器中设置有与接收端对应的源端,每个源端同样运行有操作系统。接收端显示的操作系统的桌面图像是通过云端服务器将源端的桌面图像数据进行编码后发送给接收端,接收端解码后显示所形成的。
在长时间挂机的状态下,即一段时间内桌面图像不发生实质性变化时,现有的图像帧编码方式增加了图像数据在编解码过程发生错误的概率,从而出现花屏现象,影响接收端图像的正常显示。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图片处理方法和装置、存储介质及电子设备,以至少解决由于桌面图像编解码错误造成的显示花屏的技术问题。
根据本发明实施例的一个方面,提供了一种图像处理方法,包括:获取目标源端的原始图像数据,其中,上述原始图像数据为对上述目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;对上述原始图像数据进行周期式帧间编码,得到帧数据,其中,上述周期式帧间编码用于指示在上述帧数据中每一个编码周期的起始编码位置配置上述当前所显示的桌面画面对应的关键帧;将上述帧数据发送至目标接收端,以使上述目标接收端根据上述帧数据还原上述桌面画面。
根据本发明实施例的另一方面,还提供了一种图像处理装置,包括:获取模块,用于获取目标源端的原始图像数据,其中,上述原始图像数据为对上述目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;编码模块,用于对上述原始图像数据进行周期式帧间编码,得到帧数据,其中,上述周期式帧间编码用于指示在上述帧数据中每一个编码周期的起始编码位置配置上述当前所显示的桌面画面对应的关键帧;发送模块,用于将上述帧数据发送至目标接收端,以使上述目标接收端根据上述帧数据还原上述桌面画面。
根据本发明实施例的又一方面,还提供了一种计算机可读的存储介质,该计算机可读的存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述图像处理方法。
根据本发明实施例的又一方面,还提供了一种电子设备,包括存储器和处理器,上述存储器中存储有计算机程序,上述处理器被设置为通过所述计算机程序执行上述的图像处理方法。
在本发明实施例中,采用对目标源端的原始图像数据进行周期式帧间编码,即在帧数据的每一个编码周期的起始编码位置配置包含完整桌面画面的关键帧的方式,通过周期式配置包含完整桌面画面内容的关键帧,从而减少图像数据在编解码过程中发生错误的概率,达到了减少接收端在编解码过程中发生错误的概率的目的,从而实现了减少接收端显示花屏的技术效果,进而解决了由于桌面图像编解码错误造成的显示花屏的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的图像处理方法的应用环境的示意图;
图2是根据本发明实施例的一种可选的图像处理方法的流程示意图;
图3是根据本发明实施例的一种可选的图像处理方法的帧间编码示意图;
图4是根据本发明实施例的一种可选的图像处理方法的流程示意图;
图5是根据本发明实施例的一种可选的图像处理方法的流程示意图;
图6是根据本发明实施例的一种可选的图像处理方法的流程示意图;
图7是根据本发明实施例的一种可选的图像处理方法的流程示意图;
图8是根据本发明实施例的一种可选的图像处理装置的结构示意图;
图9是根据本发明实施例的一种可选的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本发明实施例的一个方面,提供了一种图像处理方法,可选地,上述图像处理方法可以但不限于应用于如图1所示的环境中。源端102通过服务器110与接收端122之间进行数据交互。接收端122将接收的控制指令发送给源端102,以使源端102响应控制指令,将对应的帧数据发送给接收端122。源端102中设置有数据库104用于接收的数据存储,同时还设置处理引擎106,用于数据处理。
可选地,处理引擎106依次执行S102至S106。获取原始图像数据。原始图像数据是对源端当前所显示的桌面画面进行图像采集所得到的图像数据。在获取到原始图像数据的情况下,对原始图像数据进行周期式帧间编码,得到帧数据。周期式帧间编码对应地编码方式是在帧数据中每一个编码周期的起始编码位置配置当前所显示的桌面画面对应的关键帧。在通过周期式帧间编码基于原始图像数据得到帧数据的情况下,将帧数据发送至接收端,以使接收端根据帧数据还原桌面画面。
可选地,在本实施例中,上述源端102和接收端122均是终端设备,可以包括但不限于以下至少之一:手机(如Android手机、IOS手机等)、笔记本电脑、平板电脑、掌上电脑、MID(Mobile Internet Devices,移动互联网设备)、PAD、台式电脑、智能电视等。上述服务器110可以是单一服务器,也可以是由多个服务器组成的服务器集群,或者是云服务器。上述通过服务器110进行数据交互可以但不限于是基于网络进行数据交互。网络可以包括但不限于:有线网络,无线网络,其中,该有线网络包括:局域网、城域网和广域网,该无线网络包括:蓝牙、WIFI及其他实现无线通信的网络。上述仅是一种示例,本实施例中对此不作任何限定。
作为一种可选的实施方式,如图2所示,上述图像处理方法包括:
S202,获取目标源端的原始图像数据,其中,原始图像数据为对目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;
S204,对原始图像数据进行周期式帧间编码,得到帧数据,其中,周期式帧间编码用于指示在帧数据中每一个编码周期的起始编码位置配置当前所显示的桌面画面对应的关键帧;
S206,将帧数据发送至目标接收端,以使目标接收端根据帧数据还原桌面画面。
可选地,原始图像数据可以是目标源端在当前时刻对操作系统中操作桌面的画面内容进行图像采集得到的图像数据,在当前时刻对目标源端的显示器中显示的桌面的画面内容进行图像采集得到的图像数据。进行图像采集可以是对桌面画面中包含的静态元素和动态元素进行数据采集以获取能够还原完整桌面画面的图像数据。
可选地,帧间编码可以是根据桌面画面中包含的动态元素在变化过程中的关联关系,将用于表示桌面画面的原始图像数据进行编码得到基于帧形式的图像数据,利用帧与帧之间的关联关系表示动态元素随时间变化的过程。
可选地,帧间编码中包含的帧数据类型可以但不限于包括:关键帧,、差别帧、双向差别帧。其中,关键帧可以用于表示包含完整画面内容,即能够基于关键帧单独记录完整的画面内容。差别帧可以用于表示包含当前帧与前一帧之间差别内容,需要根据之前缓存的画面内容累加当前帧所记录的差别内容才能构成完整的画面内容。双向差别帧可以用于表示当前帧与前一帧和后一帧之间的差别内容,需要获取之前缓存的画面内容和之后帧记录的画面内容累加当前帧记录的差别内容才能构成完整的画面内容。
可选地,周期式帧间编码可以但不限于是关键帧按照周期式排布的编码形式。在周期式排布的编码中,在非关键帧的编码位置可以只包含差别帧、只包含双向差别帧,包含差别帧和双向差别帧。在包含差别帧和双向差别帧的情况下,可以是关键帧与差别帧和双向差别帧构成的整体呈周期式排布,也可以是关键帧、差别帧、双向差别帧呈周期式分布。
可选地,周期式帧间编码的关键帧位于每一个编码周期的起始编码位置。即每一个编码周期中的第一个编码位置的帧数据类型均是关键帧。周期可以是但限于是时间周期、帧数周期。在时间周期中,每一秒包含的帧数不做限制,以预设的时间间隔为周期。帧数周期中,每一秒包含的帧数同样不做限制,以预设的帧的数量为周期。
可选地,周期式帧间编码可以如图3所示。用I表示关键帧,用P表示差别帧,以正在进行第N个编码周期进行示例说明。周期式帧间编码周期式排布关键帧和差别帧,关键帧配置在每一个编码周期的起始编码位置:第一个编码周期的第一个编码位置、第二个编码周期的第一个编码位置……第N个编码周期的第一个编码位置均是I帧,每一个编码周期中的非起始编码位置,即除第一个编码位置之外的其余位置均配置差别帧P。每一个编码周期中差别帧的数量在此不做限定,但每一个编码周期中包含的差别帧的数量是一致的。
可选地,利用快速截屏录屏(DirectX Graphics Infrastructure,DXGI)技术获取目标源端的操作系统的桌面画面的图像数据。
可选地,在获取原始图像数据之后、在对原始图像数据进行周期式帧间编码之前,还包括:对原始图像数据进行格式转换。
可选地,在对原始图像数据进行格式转换之前,还包括:进行帧间编码格式转化判断,在不满足帧间编码格式条件的情况下,对原始图像数据进行格式转换。在确定帧间编码格式条件时,确定进行帧间编码的编码位置,根据帧间编码的编码位置确定帧间编码对应的图像数据格式。在原始图像数据格式与帧间编码对应的图像数据格式一致的情况下,确定不需要进行原始图像数据格式转换。在原始图像数据格式与帧间编码对应的图像数据格式不一致的情况下,确定需要进行原始图像数据格式转换。
可选地,以原始图像数据格式为基于DXGI获取的RGBA格式为例,确定进行帧间编码的编码位置。在编码位置为目标源端的CPU时,由于CPU对应的帧间编码格式为YUV格式,与原始图像数据格式不一致,因此确定需要对原始图像数据进行格式转换,将RGBA格式转换为YUV格式。在编码位置为目标源端的显卡时,因为显卡对应的帧间编码格式为RGBA格式,与原始图像数据格式一致,因此确定不需要对原始图像数据进行格式转换,可以直接进行帧间编码。
在本申请实施例中,采用对目标源端的原始图像数据进行周期式帧间编码,即在帧数据的每一个编码周期的起始编码位置配置包含完整桌面画面的关键帧的方式,通过周期式配置包含完整桌面画面内容的关键帧,从而减少图像数据在编解码过程中发生错误的概率,达到了减少接收端在编解码过程中发生错误的概率的目的,从而实现了减少接收端显示花屏的技术效果,进而解决了由于桌面图像编解码错误造成的显示花屏的技术问题。
作为一种可选的实施方式,上述将帧数据发送至目标接收端,以使目标接收端根据帧数据还原桌面画面包括:
利用硬核编码器对帧数据进行数据编码,得到编码数据;
发送编码数据至目标接收端,以使目标接收端解码编码数据以得到帧数据,并根据帧数据还原桌面画面。
可选地,数据编码可以但不限于是以数据传输、数据安全为目标的编码。
可选地,目标接收端在接收到编码数据的情况下,对编码数据进行解码,得到帧数据,利用帧数据实现桌面画面在目标接收端的显示。
在本申请实施例中,利用数据编码生成的编码数据进行数据发送,以实现帧数据在目标源端至目标接收端之间的安全传输。
作为一种可选的实施方式,上述对原始图像数据进行周期式帧间编码,得到帧数据包括:
在目标源端的显示状态处于挂机状态的情况下,对原始图像数据进行周期式帧间编码;
在目标源端的显示状态处于非挂机状态的情况下,对原始图像数据进行非周期帧间编码。
可选地,在对原始图像数据进行帧间编码以得到帧数据之前,判断目标源端的显示状态,在目标源端的显示状态处于挂机状态的情况下,对原始图像进行周期式帧间编码,在目标源端的显示状态处于非挂机状态的情况下,对原始图像数据进行非周期帧间编码。
可选地,非周期帧间编码的编码方式可以但不限于是关键帧非周期式配置的编码方式,只配置有一帧关键帧的编码方式,按照编码需要配置关键帧的编码方式。需要说明的是,非周期帧间编码是相对于周期式帧间编码的相对编码方式,具体的编码方式不做具体限制。
可选地,非挂机状态可以包括目标源端正常运行可能的显示状态,不限于是运行状态、睡眠状态、待机状态。在非挂机状态,目标源端可以采用与当前显示状态匹配的编码方式对原始图像数据进行帧间编码。
可选地,挂机状态可以是在一段时间内,桌面画面不发生实质性变化的显示状态。实质性变化可以但不限于是响应目标接收端基于接收的外部操作生成的控制指令而反应在操作系统的桌面画面的变化。例如,在显示有文本文档的桌面画面中,在一段时间内没有鼠标和键盘的输入,只有光标在同一位置的闪动;在显示有游戏登录界面的桌面画面中,在一段时间内没有鼠标和键盘的输入,只存在该界面中包含的静态或动态元素的变化;动态变化的屏保等。
在本申请实施例中,在进行帧间编码之前,对目标源端的显示状态进行判断,在处于挂机状态的情况下,启动周期式帧间编码,通过在每一个周期的起始编码位置配置关键帧,从而避免在挂机状态下,由于不发生实质性变化,从而长时间采用差别帧进行编码,累积过多数量的差别帧而发生编解码错误以导致显示花屏的问题。
作为一种可选的实施方式,如图4所示,上述在对原始图像数据进行周期式帧间编码之前,方法还包括:
S402,获取目标源端的历史图像数据,其中,历史图像数据用于表示在当前时刻之前的目标时间段内目标源端的桌面画面;
S404,分析历史图像数据和原始图像数据,确定目标源端的显示状态。
可选地,确定目标源端的显示状态可以是按照预设检测时间进行周期式检测,以提高根据显示状态切换帧间编码方式的准确性。预设检测时间的时间间隔可以是与目标时间段时间间隔一致的检测周期,也可以是与目标时间段的时间间隔不一致的检测周期。
可选地,历史图像数据可以是在目标时间段内的某个时刻对应的桌面画面,也可以是目标时间段内的多个时刻分别对应的多个桌面画面。目标时间段内的多个时刻可以是多个连续时刻,也可以是多个分散时刻。在多个时刻是目标时间段内的多个分散时刻的情况下,多个分散时刻之间的时间间隔不做任何限制。在多个时刻时目标时间段内的多个连续时刻的情况下,多个连续时刻可以是与原始图像数据包对应的当前时刻相邻的连续时刻,目标时间段位于起始时间的连续时刻,目标时间段内任意连续时刻。
可选地,分析历史图像数据和原始图像数据可以是比对历史图像数据与原始图像数据,根据比对结果确定目标源端的显示状态。可以但不限于是比对目标元素在历史图像数据与原始图像数据中的位置、形态,在目标元素在历史图像数据与原始图像数据中保持一致的情况下,确定目标源端的桌面内容没有发生实质性变化,从而确定目标源端的显示状态处于挂机状态。在目标元素在历史图像数据与原始图像数据中位置不一致或形态不一致的情况下,确定目标源端的桌面内容发生了实质性的变化,从而确定目标源端的显示状态处于非挂机状态。
在本申请实施例中,通过原始图像数据对应的当前时刻之前的目标时间段内的历史图像数据和原始图像数据,确定目标源端的桌面画面是否发生实质性变化,从而判断目标源端在当前时刻的显示状态,从而根据显示状态确定帧间编码方式,在挂机状态,即相对较长时间内桌面画面不发生实质性变化的情况下,利用周期式帧间编码,在每一个编码周期配置关键帧,保证图像数据编解码的正确性,从而避免因编解码错误而导致显示花屏的问题。
作为一种可选的实施方式,如图5所示,上述分析历史图像数据和原始图像数据,确定目标源端的显示状态包括:
S502,获取历史图像数据对应的历史桌面画面和原始图像数据对应的当前桌面画面;
S504,从历史桌面画面中定位历史光标位置;
S506,从当前桌面画面中定位原始光标位置;
S508,在原始光标位置与历史光标位置均一致的情况下,确定目标源端的显示状态处于挂机状态;
S510,在原始光标位置与至少一个历史光标位置存在不一致的情况下,确定目标源端的显示仪状态处于非挂机状态。
可选地,在历史图像数据是目标时间段内的多个时刻对应的多个历史图像数据的情况下,依次获取每一个历史图像数据对应的历史桌面画面,并从每一个历史值桌面画面中定位对应的历史光标位置。
可选地,从历史桌面画面中定位历史光标位置,从当前桌面画面中定位原始光标位置之后,比对历史光标位置与原始光标位置。
可选地,比对历史光标位置与原始光标位置可以但不限于是在将历史桌面画面与当前桌面画面按照相同的放置方式放置在同一坐标系中的情况下,获取历史光标位置在历史桌面画面中的历史坐标和原始光标位置在当前桌面画面中的原始坐标,比对历史坐标的数据值域原始坐标的数据值。
可选地,在历史坐标的数据值与原始坐标的数据值相同的情况下,确定历史光标位置与原始光标位置一致。在历史坐标的数据值与原始坐标的数据值存在不相同的数据的情况下,确定历史光标位置与原始光标位置不一致。
可选地,在历史光标位置存在多个历史光标位置的情况下,依次比对每一个历史光标位置与原始光标位置,在多个历史光标位置均与原始光标位置一致的情况下,确定原始光标位置与历史光标位置一致,目标源端的显示状态处于挂机状态。
可选地,在历史光标位置存在多个历史光标位置的情况下,在多个历史光标位置中存在与原始光标位置不一致的历史光标位置的情况下,确定原始光标位置与历史光标位置不一致,目标源端的显示状态处于非挂机状态。
在本申请实施例中,通过获取历史图像数据以定位历史光标位置,从而与原始图像数据包定位的原始光标位置进行比较,实现通过比较光标位置以判断目标源端的显示状态。
作为一种可选的实施方式,如图6所示,上述对原始图像数据进行周期式帧间编码包括:
S602,确定周期式帧间编码的编码周期对应的周期时间;
S604,根据周期时间确定当前时刻在当前编码周期中对应的编码位置;
S606,在当前时刻在当前编码周期中对应的编码位置是起始编码位置的情况下,获取当前时刻桌面画面的全部内容,将桌面画面的全部内容进行编码,作为当前编码周期的起始关键帧;
S608,在当前时刻在当前编码周期中对应的编码位置是非起始编码位置的情况下,获取当前时刻桌面画面与前一个编码位置中记录的桌面画面的差异内容,将差异内容进行编码,作为当前编码周期在当前编码位置的差别帧。
可选地,在编码周期是以时间基准确定周期的情况下,通过获取预设的周期时间以确定周期式帧间编码中每一个编码周期对应的时间。在周期式帧间编码的每一个编码周期所包含的周期时间是一致的,每一个编码周期中的帧数据格式同样是一致的,不同的是每一帧中记录的数据内容不同。
可选地,判断目标源端的显示状态为挂机状态的时刻为周期式帧间编码的编码起始时刻。根据编码起始时刻和周期时间确定当前时刻对应的编码周期和当前编码位置对应的编码类型。例如,编码起始时刻是1:00:00:00,每一个编码周期对应的周期时间是30分钟,当前编码帧率是100帧/秒,若当前时刻是2:30:00:00,确定当前时刻是从编码起始时刻开始的第4个编码周期的起始编码位置,对应的是编码类型是关键帧,则获取2:30:00:00这一时刻目标源端的操作系统的桌面画面的全部图像内容,并将全部图像内容进行编码,作为第4个编码周期的起始关键帧。若当前时刻是1:45:03:02,确定当前时刻是从编码起始时刻开始的第2个编码周期的非起始编码位置,对应的编码类型是差别帧,则获取1:45:03:02这一时刻与前一个编码位置即1:45:03:01时刻的桌面画面的差异内容,将差异内容进行编码,作为1:45:03:01时刻对应的编码位置的差别帧。
在本申请实施例中,以时间为基准确定的编码周期,根据编码起始时刻和编码周期确定当前时刻在编码周期中对应的编码类型,在每一个编码周期的起始编码位置配置包含当前时刻的全部图像内容的关键帧,在编码周期的其余位置配置差别帧,从而使得在图像编解码的过程中只需要累积当前编码周期中的差别帧,即可获取显示的桌面画面,从而减少了编解码过程中发生错误的概率,以解决显示花屏的问题。
作为一种可选的实施方式,如图7所示,上述对原始图像数据进行周期式帧间编码包括:
S702,确定周期式帧间编码的编码周期对应的周期帧数;
S704,根据周期帧数确定当前编码周期以及当前编码位置对应的编码类型;
S706,在当前编码位置对应的编码类型为关键帧的情况下,获取当前编码位置对应的桌面画面的全部内容,将桌面画面的全部内容进行编码,作为当前编码周期中位于起始编码位置的起始关键帧;
S708,在当前编码位置对应的编码类型为差别帧的情况下,获取当前编码位置对应的桌面画面与前一个编码位置中记录的桌面画面的差异内容,将差异内容进行编码,作为当前编码周期在当前编码位置的差别帧。
可选地,在编码周期是以帧数基准确定周期的情况下,通过获取预设的周期帧数以确定周期式帧间编码中每一个编码周期包含的帧数。在周期式帧间编码的每一个编码周期所包含的帧数是一致的,每一个编码周期中的帧数据格式同样是一致的,不同的是每一帧中记录的数据内容不同。
可选地,判断目标源端的显示状态为挂机状态的时刻为周期式帧间编码的编码起始时刻,而编码起始时刻对应的编码位置为编码起始位置。根据编码起始位置和周期帧数确定当前编码位置对应的编码类型。例如,编码起始位置是1,每一个编码周期对应的周期帧数是1000,若当前编码位置是第2001个编码位置,确定当前时刻是从编码起始位置开始的第3个编码周期的起始编码位置,对应的是编码类型是关键帧,则获取当前编码位置对应的目标源端的操作系统的桌面画面的全部图像内容,并将全部图像内容进行编码,作为第3个编码周期的起始关键帧。若当前编码位置是第3123编码位置,确定当前时刻是从编码起始时刻开始的第4个编码周期的非起始编码位置,对应的编码类型是差别帧,则获取第3123编码位置与前一个编码位置即第3124编码位置的桌面画面的差异内容,将差异内容进行编码,作为第3123编码位置对应的差别帧。
在本申请实施例中,以帧数为基准确定的编码周期,根据编码起始位置和编码帧数确定当前编码位置对应的编码类型,在每一个编码周期的起始编码位置配置包含当前桌面画面的全部图像内容的关键帧,在编码周期的其余位置配置差别帧,从而使得在图像编解码的过程中只需要累积当前编码周期中的差别帧,即可获取显示的桌面画面,从而减少了编解码过程中发生错误的概率,以解决显示花屏的问题。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
根据本发明实施例的另一个方面,还提供了一种用于实施上述图像处理方法的图像处理装置。如图8所示,该装置包括:
获取模块802,用于获取目标源端的原始图像数据,其中,原始图像数据为对目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;
编码模块804,用于对原始图像数据进行周期式帧间编码,得到帧数据,其中,周期式帧间编码用于指示在帧数据中每一个编码周期的起始编码位置配置当前所显示的桌面画面对应的关键帧;
发送模块806,用于将帧数据发送至目标接收端,以使目标接收端根据帧数据还原桌面画面。
可选地,上述编码模块804包括:
第一编码单元,用于在目标源端的显示状态处于挂机状态的情况下,对原始图像数据进行周期式帧间编码;
第二编码单元,用于在目标源端的显示状态处于非挂机状态的情况下,对原始图像数据进行非周期帧间编码。
可选地,上述编码模块804包括:
时间单元,用于确定周期式帧间编码的编码周期对应的周期时间;
第一位置单元,用于根据周期时间确定当前时刻在当前编码周期中对应的编码位置;
第一起始单元,用于在当前时刻在当前编码周期中对应的编码位置是起始编码位置的情况下,获取当前时刻桌面画面的全部内容,将桌面画面的全部内容进行编码,作为当前编码周期的起始关键帧;
第一差别单元,用于在当前时刻在当前编码周期中对应的编码位置是非起始编码位置的情况下,获取当前时刻桌面画面与前一个编码位置中记录的桌面画面的差异内容,将差异内容进行编码,作为当前编码周期在当前编码位置的差别帧。
可选地,上述编码模块804包括:
帧数单元,用于确定周期式帧间编码的编码周期对应的周期帧数;
第二位置单元,用于根据周期帧数确定当前编码周期以及当前编码位置对应的编码类型;
第二起始单元,用于在当前编码位置对应的编码类型为关键帧的情况下,获取当前编码位置对应的桌面画面的全部内容,将桌面画面的全部内容进行编码,作为当前编码周期中位于起始编码位置的起始关键帧;
第二差别单元,用于在当前编码位置对应的编码类型为差别帧的情况下,获取当前编码位置对应的桌面画面与前一个编码位置中记录的桌面画面的差异内容,将差异内容进行编码,作为当前编码周期在当前编码位置的差别帧。
可选地,上述图像处理装置还包括:
历史模块,用于在对原始图像数据进行周期式帧间编码之前,获取目标源端的历史图像数据,其中,历史图像数据用于表示在当前时刻之前的目标时间段内目标源端的桌面画面;
分析模块,用于分析历史图像数据和原始图像数据,确定目标源端的显示状态。
可选地,上述分析模块包括:
第一获取单元,用于获取历史图像数据对应的历史图像和原始图像数据对应的原始图像;
第一定位单元,用于从历史图像中定位历史光标位置;
第二定位单元,用于从原始图像中定位原始光标位置;
第一比较单元,用于在原始光标位置与历史光标位置均一致的情况下,确定目标源端的显示状态处于挂机状态;
第二比较单元,用于在原始光标位置与至少一个历史光标位置存在不一致的情况下,确定目标源端的显示仪状态处于非挂机状态。
可选地,上述发送模块806包括:
编码单元,用于利用硬核编码器对帧数据进行数据编码,得到编码数据;
发送单元,用于发送编码数据至目标接收端,以使目标接收端解码编码数据以得到帧数据,并根据帧数据还原桌面画面。
在本申请实施例中,在进行帧间编码之前,对目标源端的显示状态进行判断,在处于挂机状态的情况下,启动周期式帧间编码,通过在每一个周期的起始编码位置配置关键帧,从而避免在挂机状态下,由于不发生实质性变化,从而长时间采用差别帧进行编码,累积过多数量的差别帧而发生编解码错误以导致显示花屏的问题。
根据本发明实施例的又一个方面,还提供了一种用于实施上述图像处理方法的电子设备,该电子设备可以是图1所示的终端设备(源端)或服务器。本实施例以该电子设备为终端设备为例来说明。如图9所示,该电子设备包括存储器902和处理器904,该存储器902中存储有计算机程序,该处理器904被设置为通过计算机程序执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述电子设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,获取目标源端的原始图像数据,其中,原始图像数据为对目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;
S2,对原始图像数据进行周期式帧间编码,得到帧数据,其中,周期式帧间编码用于指示在帧数据中每一个编码周期的起始编码位置配置当前所显示的桌面画面对应的关键帧;
S3,将帧数据发送至目标接收端,以使目标接收端根据帧数据还原桌面画面。
可选地,本领域普通技术人员可以理解,图9所示的结构仅为示意,电子设备也可以是智能手机(如Android手机、IOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,MID)、PAD等终端设备。图9其并不对上述电子设备的结构造成限定。例如,电子设备还可包括比图9中所示更多或者更少的组件(如网络接口等),或者具有与图9所示不同的配置。
其中,存储器902可用于存储软件程序以及模块,如本发明实施例中的图像处理方法和装置对应的程序指令/模块,处理器904通过运行存储在存储器902内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的图像处理方法。存储器902可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器902可进一步包括相对于处理器904远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。其中,存储器902具体可以但不限于用于存储原始图像数据,历史桌面数据等信息。作为一种示例,如图9所示,上述存储器902中可以但不限于包括上述图像处理装置中的获取模块802,编码模块804,发送模块806。此外,还可以包括但不限于上述图像处理装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输装置906用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置906包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置906为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器908,用于显示上述图像数据对应的桌面内容;和连接总线910,用于连接上述电子设备中的各个模块部件。
在其他实施例中,上述终端设备或者服务器可以是一个分布式系统中的一个节点,其中,该分布式系统可以为区块链系统,该区块链系统可以是由该多个节点通过网络通信的形式连接形成的分布式系统。其中,节点之间可以组成点对点(P2P,Peer To Peer)网络,任意形式的计算设备,比如服务器、终端等电子设备都可以通过加入该点对点网络而成为该区块链系统中的一个节点。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述图像处理方面的各种可选实现方式中提供的方法。其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读的存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,获取目标源端的原始图像数据,其中,原始图像数据为对目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;
S2,对原始图像数据进行周期式帧间编码,得到帧数据,其中,周期式帧间编码用于指示在帧数据中每一个编码周期的起始编码位置配置当前所显示的桌面画面对应的关键帧;
S3,将帧数据发送至目标接收端,以使目标接收端根据帧数据还原桌面画面。
可选地,在本实施例中,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(Random Access Memory,RAM)、磁盘或光盘等。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种图像处理方法,其特征在于,包括:
获取目标源端的原始图像数据,其中,所述原始图像数据为对所述目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;
对所述原始图像数据进行周期式帧间编码,得到帧数据,其中,所述周期式帧间编码用于指示在所述帧数据中每一个编码周期的起始编码位置配置所述当前所显示的桌面画面对应的关键帧;
将所述帧数据发送至目标接收端,以使所述目标接收端根据所述帧数据还原所述桌面画面。
2.根据权利要求1所述的方法,其特征在于,所述对所述原始图像数据进行周期式帧间编码,得到帧数据包括:
在所述目标源端的显示状态处于挂机状态的情况下,对所述原始图像数据进行周期式帧间编码;
在所述目标源端的显示状态处于非挂机状态的情况下,对所述原始图像数据进行非周期帧间编码。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述原始图像数据进行周期式帧间编码包括:
确定所述周期式帧间编码的编码周期对应的周期时间;
根据所述周期时间确定当前时刻在当前编码周期中对应的编码位置;
在所述当前时刻在所述当前编码周期中对应的编码位置是起始编码位置的情况下,获取所述当前时刻所述桌面画面的全部内容,将所述桌面画面的全部内容进行编码,作为所述当前编码周期的起始关键帧;
在所述当前时刻在所述当前编码周期中对应的编码位置是非起始编码位置的情况下,获取所述当前时刻所述桌面画面与前一个编码位置中记录的桌面画面的差异内容,将所述差异内容进行编码,作为所述当前编码周期在当前编码位置的差别帧。
4.根据权利要求1或2所述的方法,其特征在于,所述对所述原始图像数据进行周期式帧间编码包括:
确定所述周期式帧间编码的编码周期对应的周期帧数;
根据所述周期帧数确定当前编码周期以及当前编码位置对应的编码类型;
在所述当前编码位置对应的编码类型为关键帧的情况下,获取当前编码位置对应的桌面画面的全部内容,将所述桌面画面的全部内容进行编码,作为所述当前编码周期中位于起始编码位置的起始关键帧;
在所述当前编码位置对应的编码类型为差别帧的情况下,获取当前编码位置对应的桌面画面与前一个编码位置中记录的桌面画面的差异内容,将所述差异内容进行编码,作为所述当前编码周期在当前编码位置的差别帧。
5.根据权利要求2所述的方法,其特征在于,在对所述原始图像数据进行周期式帧间编码之前,所述方法还包括:
获取所述目标源端的历史图像数据,其中,所述历史图像数据用于表示在当前时刻之前的目标时间段内所述目标源端的桌面画面;
分析所述历史图像数据和所述原始图像数据,确定所述目标源端的显示状态。
6.根据权利要求5所述的方法,其特征在于,所述分析所述历史图像数据和所述原始图像数据,确定所述目标源端的显示状态包括:
获取所述历史图像数据对应的历史桌面画面和所述原始图像数据对应的原始桌面画面;
从所述历史桌面画面中定位历史光标位置;
从所述原始桌面画面中定位原始光标位置;
在原始光标位置与所述历史光标位置均一致的情况下,确定所述目标源端的显示状态处于所述挂机状态;
在所述原始光标位置与至少一个所述历史光标位置存在不一致的情况下,确定所述目标源端的显示仪状态处于所述非挂机状态。
7.根据权利要求1所述的方法,其特征在于,所述将所述帧数据发送至目标接收端,以使所述目标接收端根据所述帧数据还原所述桌面画面包括:
利用硬核编码器对所述帧数据进行数据编码,得到编码数据;
发送所述编码数据至所述目标接收端,以使所述目标接收端解码所述编码数据以得到所述帧数据,并根据所述帧数据还原所述桌面画面。
8.一种图像处理装置,其特征在于,包括:
获取模块,用于获取目标源端的原始图像数据,其中,所述原始图像数据为对所述目标源端当前所显示的桌面画面进行图像采集所得到的图像数据;
编码模块,用于对所述原始图像数据进行周期式帧间编码,得到帧数据,其中,所述周期式帧间编码用于指示在所述帧数据中每一个编码周期的起始编码位置配置所述当前所显示的桌面画面对应的关键帧;
发送模块,用于将所述帧数据发送至目标接收端,以使所述目标接收端根据所述帧数据还原所述桌面画面。
9.一种计算机可读的存储介质,其特征在于,所述计算机可读的存储介质包括存储的程序,所述程序运行时执行所述权利要求1至7任一项中所述的方法。
10.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至7任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110328574.1A CN113066139B (zh) | 2021-03-26 | 图片处理方法和装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110328574.1A CN113066139B (zh) | 2021-03-26 | 图片处理方法和装置、存储介质及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113066139A true CN113066139A (zh) | 2021-07-02 |
CN113066139B CN113066139B (zh) | 2024-06-21 |
Family
ID=
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114037375A (zh) * | 2021-11-04 | 2022-02-11 | 广州港发石油化工码头有限公司 | 码头船舶吃水深度监测方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016148823A1 (en) * | 2015-03-18 | 2016-09-22 | Intel Corporation | Static frame image quality improvement for sink displays |
CN110784718A (zh) * | 2019-10-31 | 2020-02-11 | 广州市网星信息技术有限公司 | 视频数据编码方法、装置、设备和存储介质 |
WO2020097888A1 (zh) * | 2018-11-15 | 2020-05-22 | 深圳市欢太科技有限公司 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
CN111681167A (zh) * | 2020-06-03 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 画质调整方法和装置、存储介质及电子设备 |
CN112422876A (zh) * | 2020-10-14 | 2021-02-26 | 西安万像电子科技有限公司 | 图像处理方法和服务器 |
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016148823A1 (en) * | 2015-03-18 | 2016-09-22 | Intel Corporation | Static frame image quality improvement for sink displays |
WO2020097888A1 (zh) * | 2018-11-15 | 2020-05-22 | 深圳市欢太科技有限公司 | 视频处理方法、装置、电子设备及计算机可读存储介质 |
CN110784718A (zh) * | 2019-10-31 | 2020-02-11 | 广州市网星信息技术有限公司 | 视频数据编码方法、装置、设备和存储介质 |
CN111681167A (zh) * | 2020-06-03 | 2020-09-18 | 腾讯科技(深圳)有限公司 | 画质调整方法和装置、存储介质及电子设备 |
CN112422876A (zh) * | 2020-10-14 | 2021-02-26 | 西安万像电子科技有限公司 | 图像处理方法和服务器 |
Non-Patent Citations (2)
Title |
---|
朱学成;徐艳伟;滕志军;: "基于QT的跨平台输电铁塔监控终端软件设计与实现", 电测与仪表, no. 21 * |
李芳培;荣为君;袁承宗;庄玮;: "基于RS码的某运载火箭图像测量系统设计与实现", 计算机测量与控制, no. 11 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114037375A (zh) * | 2021-11-04 | 2022-02-11 | 广州港发石油化工码头有限公司 | 码头船舶吃水深度监测方法、装置、设备以及存储介质 |
CN114037375B (zh) * | 2021-11-04 | 2022-06-28 | 广州港发石油化工码头有限公司 | 码头船舶吃水深度监测方法、装置、设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI674790B (zh) | 一種影像資料的編碼、解碼方法及裝置 | |
US8001213B2 (en) | Method, apparatus and computer program product for providing unrestricted content on a user terminal | |
CN109309842B (zh) | 直播数据处理方法和装置、计算机设备和存储介质 | |
US11741292B2 (en) | Adaptive content delivery | |
CN104038908A (zh) | 发送推送消息的方法和装置 | |
CN108810610B (zh) | 屏幕共享方法和装置 | |
TWI667914B (zh) | 一種影像資料的編碼、解碼方法及裝置 | |
JP5753946B2 (ja) | フォントファイルをダウンロードする方法およびシステム | |
CN112035081A (zh) | 投屏方法、装置、计算机设备及存储介质 | |
CN109788251B (zh) | 视频处理方法、装置及存储介质 | |
CN108809815B (zh) | 会话未读条数更新方法、会话处理方法、装置和系统 | |
CN113066139A (zh) | 图片处理方法和装置、存储介质及电子设备 | |
CN107690057B (zh) | 会议视频数据交互方法及装置 | |
CN113066139B (zh) | 图片处理方法和装置、存储介质及电子设备 | |
CN111163138B (zh) | 一种降低游戏期间网络负载的方法、装置和服务器 | |
CN112887726B (zh) | 图像处理方法和装置、存储介质及电子设备 | |
KR100438573B1 (ko) | 비디오폰의 모니터링 방법 | |
CN115914228B (zh) | 一种数据处理方法、装置、存储介质及计算机程序产品 | |
CN110536134B (zh) | 视频编码、解码方法和装置、存储介质及电子装置 | |
CN111767271A (zh) | 数据处理方法及装置 | |
CN114610424A (zh) | 数据处理方法、云端应用的窗口显示方法和存储介质 | |
CN110572653A (zh) | 视频编码、解码方法和装置、存储介质及电子装置 | |
CN110662060A (zh) | 视频编码方法和装置、视频解码方法和装置及存储介质 | |
CN117412064A (zh) | 视频解码方法、装置、电子设备及计算机存储介质 | |
CN113824962A (zh) | 一种传输光标信息的方法、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |