CN112650596B - 目标数据的跨进程共享方法、装置、设备及存储介质 - Google Patents

目标数据的跨进程共享方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112650596B
CN112650596B CN201910963081.8A CN201910963081A CN112650596B CN 112650596 B CN112650596 B CN 112650596B CN 201910963081 A CN201910963081 A CN 201910963081A CN 112650596 B CN112650596 B CN 112650596B
Authority
CN
China
Prior art keywords
shared
image processing
target
data corresponding
region
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
Application number
CN201910963081.8A
Other languages
English (en)
Other versions
CN112650596A (zh
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910963081.8A priority Critical patent/CN112650596B/zh
Publication of CN112650596A publication Critical patent/CN112650596A/zh
Application granted granted Critical
Publication of CN112650596B publication Critical patent/CN112650596B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明提供了一种目标数据的跨进程共享方法、装置、设备及存储介质,该方法包括:创建图像抓取进程和至少两个图像处理进程;响应于在显示界面的区域选取操作,得到至少一个待共享区域;基于图像抓取进程对至少一个待共享区域进行抓取,得到每个待共享区域对应的目标数据;基于图像抓取进程将每个待共享区域对应的目标数据通过跨进程通信连接发送至至少两个图像处理进程;基于每个图像处理进程对图像处理进程接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据;基于每个图像处理进程将图像处理进程对应的目标编码数据推送至目标终端。本发明能够降低机器性能开销,避免用户观看到的视频画面不一致的问题。

Description

目标数据的跨进程共享方法、装置、设备及存储介质
技术领域
本发明属于计算机技术领域,具体涉及一种目标数据的跨进程共享方法、装置、设备及存储介质。
背景技术
传统的远程共享桌面的视频技术方案包括窗口截取图像模块、图像编码模块、视频推流模块,各个模块通过彼此协调合作完成远程桌面的共享。
当用户的意图为远程共享桌面上的某一个窗口或区域,与此同时希望观众接收到的视频画面是两种不同的参数配置时(比如,一路是H264视频编码,一路是H265视频编码),现有技术存在以下两个缺点:(1)需要启动两个远程共享桌面的视频抓取模块,导致视频抓取模块的性能开销为两倍;(2)两个视频抓取模块抓取的数据是不一致的,导致视频画面对比有细微的偏差(帧率越高,偏差越明显)。
发明内容
为了降低机器性能开销,并在希望观众接收到的视频画面为多路不同参数配置的相同视频画面时,避免用户观看到的视频画面不一致的问题,本发明提出一种目标数据的跨进程共享方法、装置、设备及存储介质。
一方面,本发明提出了一种目标数据的跨进程共享方法,所述方法包括:
创建图像抓取进程和至少两个图像处理进程,所述图像抓取进程与所述至少两个图像处理进程建立跨进程通信连接;
响应于在显示界面的区域选取操作,得到至少一个待共享区域;
基于所述图像抓取进程对所述至少一个待共享区域进行抓取,得到每个待共享区域对应的目标数据;
基于所述图像抓取进程将每个待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程;
基于每个图像处理进程对所述图像处理进程接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据;
基于每个图像处理进程将所述图像处理进程对应的目标编码数据推送至目标终端,以使所述目标终端共享每个图像处理进程对应的目标编码数据。
另一方面,本发明提出了一种目标数据的跨进程共享装置,所述装置包括:
创建模块,用于创建图像抓取进程和至少两个图像处理进程,所述图像抓取进程与所述至少两个图像处理进程建立跨进程通信连接;
响应模块,用于响应于在显示界面的区域选取操作,得到至少一个待共享区域;
抓取模块,用于基于所述图像抓取进程对所述至少一个待共享区域进行抓取,得到每个待共享区域对应的目标数据;
发送模块,用于基于所述图像抓取进程将每个待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程;
编码模块,用于基于每个图像处理进程对所述图像处理进程接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据;
推送模块,用于基于每个图像处理进程将所述图像处理进程对应的目标编码数据推送至目标终端,以使所述目标终端共享每个图像处理进程对应的目标编码数据。
另一方面,本发明提出了一种设备,所述设备包括:处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如上述所述的目标数据的跨进程共享方法。
另一方面,本发明提出了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述所述的目标数据的跨进程共享方法。
本发明提出的目标数据的跨进程共享方法、装置、设备及存储介质,通过独立设置的图像抓取进程对用户针对某一窗口或区域截取的内容进行抓取,将抓取到的目标数据通过跨进程通信连接分别发送至不同的图像处理进程,由每个图像处理进程对接收到的目标数据进行编码处理后推动至目标终端,使得目标终端的用户可以观看到多路相同或不同的数据。由于通过独立设置的图像抓取进程抓取数据源,节省了使用多个抓取模块导致的机器性能开销,同时,独立图像抓取进程可以避免使用多个抓取模块对数据进行抓取导致的抓取数据不一致的问题,确保用户观看由相同窗口或区域分享的视频画面的一致性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
图1是本发明实施例提供的目标数据的跨进程共享方法的实施环境示意图。
图2是本发明实施例提供的目标数据的跨进程共享方法的一种流程示意图。
图3是本发明实施例提供的目标数据的跨进程共享方法的另一种流程示意图。
图4是本发明实施例提供的标数据的跨进程共享方法在一种应用场景中的逻辑框图。
图5是本发明实施例提供的标数据的跨进程共享方法在另一种应用场景中的逻辑框图。
图6是本发明实施例提供的目标数据的跨进程共享装置的结构示意图。
图7是本发明实施例提供一种服务器示意图。
具体实施方式
随着人工智能(Artificial Intelligence,AI)的研究和进步,AI在多个领域展开研究和应用。AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
具体地,本发明实施例提供的方案涉及人工智能的计算机视觉技术(ComputerVision,CV)。计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
具体地,本发明实施例提供的方案涉及计算机视觉中的图像处理技术。比如,基于每个图像处理进程对所述图像处理进程接收到的目标数据进行编码处理,涉及图像处理技中的图像压缩技术等。
具体地,本发明实施例提供的技术方案具体通过如下实施例进行说明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本发明实施例提供的目标数据的跨进程共享方法的实施环境示意图。如图1所示,该实施环境可以至少包括共享终端01和目标终端02,所述共享终端01与所述目标终端02通过有线或无线建立连接,以通过此网络实现共享终端01和目标终端02之间的数据传输。例如,所传输的数据包括被共享终端01中的图像处理进程进行编码后的目标编码数据。
本发明实施例中,所述共享终端01可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载、音箱、电视、机器人等类型的实体设备,也可以包括运行于实体设备中的软体,例如虚拟机等。所述目标终端02可以包括智能手机、台式电脑、平板电脑、笔记本电脑、数字助理、智能可穿戴设备、车载、音箱、电视、机器人等类型的实体设备,也可以包括运行于实体设备中的软体,例如虚拟机等。
需要说明的是,图1仅仅是一种示例。
图2是本发明实施例提供的目标数据的跨进程共享方法的一种流程示意图,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或服务器产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201.创建图像抓取进程和至少两个图像处理进程,所述图像抓取进程与所述至少两个图像处理进程建立跨进程通信连接。
本发明实施例中,在数据共享之前,需要创建图像抓取进程和至少两个图像处理进程,并使图像抓取进程和至少两个图像处理进程建立跨进程通信连接。
在一个可行的实施例中,所述跨进程通信连接可以包括管道、消息队列、旗语、共用内存以及套接字等。
本发明实施例中,图像抓取进程和至少两个图像处理进程均设置在共享终端中。
S203.响应于在显示界面的区域选取操作,得到至少一个待共享区域。
本发明实施例中,当共享终端中的用户的意图为远程共享桌面上的某个窗口或区域,与此同时希望目标终端中的用户接收到的视频画面为两路相同或不同的视频流时,可以响应于共享终端中的用户在远程共享桌面上的区域选取操作,得到至少一个待共享区域。其中,目标终端为接收共享终端共享数据的终端,远程共享桌面为共享终端中的桌面,待共享区域为远程共享桌面的一部分。
在一种应用场景中,当直播过程中希望目标终端中的用户接收到的视频画面为多路不同参数配置的相同视频画面时(比如,一路是H264视频编码,一路是H265视频编码等),共享终端中的用户可以在远程共享桌面上连续对相同的窗口或区域进行选择,得到至少一个相同的待共享区域。
在另一种应用场景中,当直播过程中希望目标终端中的用户接收到的视频画面为多路不同的视频画面时,共享终端中的用户可以在远程共享桌面上连续选择不同的窗口或区域,得到至少一个不同的待共享区域。
S205.基于所述图像抓取进程对所述至少一个待共享区域进行抓取,得到每个待共享区域对应的目标数据。
本说明书实施例中,所述目标数据可以包括网址、文本数据、图片数据、音频数据和视频数据中的至少一种。
具体地,如图3所示,所述基于所述图像抓取进程对所述至少一个待共享区域进行抓取,得到每个待共享区域对应的目标数据,可以包括:
S2051.判断所述区域选取操作在当前时间得到的当前待共享区域是否与任意一个历史待共享区域属于相同来源,所述历史待共享区域为所述区域选取操作在所述当前时间之前预设时间得到的区域。
S2053.若所述当前待共享区域与任意一个历史待共享区域属于相同来源,则将所述历史待共享区域对应的目标数据作为所述当前待共享区域对应的目标数据,所述历史待共享区域对应的目标数据由所述图像抓取进程对所述历史待共享区域进行抓取得到。
S2055.若所述当前待共享区域不与任意一个历史待共享区域属于相同来源,则使用所述图像抓取进程对所述当前待共享区域进行抓取,得到所述当前待共享区域对应的目标数据。
本说明书实施例中,在得到至少一个相同或不同的待共享区域之后,可以通过唯一且独立设置的图像抓取进程对该至少一个相同或不同的待共享区域进行抓取,得到每个待共享区域对应的目标数据,避免使用多个抓取模块同时抓取导致的机器性能消耗。而为了避免重复抓取导致的机器性能消耗,在使用图像抓取进程对待共享区域进行抓取之前,可以通过S2051中的方法先分析当前待共享区域是否在历史抓取任务中,如果存在历史抓取任务中,则表明该当前待共享区域与某一个历史待共享区域属于相同来源,则可以通过S2053中的方法将已经抓取的与该历史待共享区域对应的目标数据转发给图像处理进程,如果不存在历史任务中,则表明该当前待共享区域不与任意一个历史待共享区域属于相同来源,则可以通过S2055中的方法对当前待共享区域进行抓取,从而有效降低因重复抓取导致的机器性能消耗。此外,在希望观众接收到的视频画面是同一窗口或区域的两种不同参数配置时,唯一且独立设置的图像抓取进程以及相同来源的判断,可以有效减少目标终端中的用户观看到的多个视频画面的偏差,解决目标终端中的用户观看到的数据帧不同步的问题。
在一个可行的实施例中,可以根据待共享区域的属性资源标识信息,比如,属性资源的身份标识号码(Identity,ID),来判断当前抓取的待共享区域与任意一个历史待共享区域是否同源,具体地,S2051中判断所述区域选取操作在当前时间得到的当前待共享区域是否与任意一个历史待共享区域属于相同来源,可以包括:
获取所述待共享区域的属性资源标识信息以及任意一个历史待共享区域的属性资源标识信息。
若所述待共享区域的属性资源标识信息与任意一个历史待共享区域的属性资源标识信息相同,则所述当前待共享区域与任意一个历史待共享区域属于相同来源。
若所述待共享区域的属性资源标识信息不与任意一个历史待共享区域的属性资源标识信息相同,则所述当前待共享区域不与任意一个历史待共享区域属于相同来源。
S207.基于所述图像抓取进程将每个待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程。
本说明书实施例中,在得到每个待共享区域对应的目标数据之后,可以根据不同的场景选择不同的方式将目标数据转发至所述至少两个图像处理进程,具体地,如图3所示,S207可以进一步包括:
S2071.若所述当前待共享区域与任意一个历史待共享区域属于相同来源,则由所述图像抓取进程将每个历史待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程,所述图像处理进程的数量与所述待共享区域的数量相同。
S2073.若所述当前待共享区域不与任意一个历史待共享区域属于相同来源,则由所述图像抓取进程将所述当前待共享区域对应的目标数据以及每个历史待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程。
在一种应用场景中,当直播过程中希望目标终端中的用户接收到的视频画面为多路不同参数配置的相同视频画面时,共享终端的用户可以对相同窗口或区域连续选取多次,由于前后选择的多个待共享区域来源于相同的窗口或区域,则当前待共享区域与历史待共享区域具有相同的属性资源ID,属于相同的来源,可以通过S2071中的方法将历史待共享区域对应的目标数据作为该当前待共享区域对应的目标数据,并将该目标数据转发至图像处理进程。
在另一种应用场景中,当直播过程中希望目标终端中的用户接收到的视频画面为多路不同的视频画面时,共享终端的用户可以对不同区域进行连续选择,由于前后选择的多个待共享区域来源于不同的窗口或区域,则当前待共享区域与历史待共享区域不具有相同的属性资源ID,属于不同的来源,则可以通过S2073中的方法对该当前待共享区域进行抓取。
S209.基于每个图像处理进程对所述图像处理进程接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据。
本说明书实施例中,如图3所示,所述基于每个图像处理进程对所述图像处理进程接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据,可以包括:
S2091.从编码信息库中获取与每个图像处理进程对应的编码方式,所述编码信息库包括图像处理进程与编码方式的映射关系。
S2093.由每个图像处理进程使用所述图像处理进程对应的编码方式对接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据。
本说明书实施例中,编码信息库中可以预存有与每个图像进程对应的编码方式,每个图像处理进程可以按照对应的编码方式,对接收到的目标数据进行编码处理。
S2011.基于每个图像处理进程将所述图像处理进程对应的目标编码数据推送至目标终端,以使所述目标终端共享每个图像处理进程对应的目标编码数据。
本说明书实施例中,所述基于每个图像处理进程将所述图像处理进程对应的目标编码数据推送至目标终端,以使所述目标终端共享每个图像处理进程对应的目标编码数据,可以包括:由每个图像处理进程将所述图像处理进程对应的目标编码数据发送至服务器,以使所述目标终端从所述服务器中拉取每个图像处理进程对应的目标编码数据;以及对每个图像处理进程对应的目标编码数据进行解码;以及共享解码后的每个图像处理进程对应的目标编码数据。
以下举例说明本说明书实施例中的目标数据的跨进程共享方法的实际场景中的具体应用:
图4所示为本说明书实施例提供的目标数据的跨进程共享方法在一种应用场景中的逻辑框图。图4中的应用场景可以为在直播过程中希望目标终端中的用户接收到的视频画面为两路不同参数配置的相同视频画面时,则可以首先创建一个独立的图像抓取进程以及两个图像处理进程(进程A和进程B),该图像抓取进程与该图像处理进程通过跨进程通信进行连接,接着共享终端中的用户对远程共享桌面上的某一窗口或区域进行第一次选择,得到需要共享的待共享区域,并由图像抓取进程对待共享区域进行抓取,得到该待共享区域对应的目标数据,当用户再次对相同的窗口或区域进行选择时,由于再次选择的窗口或区域与之前的相同,说明共享终端中的用户前后两次选择的待共享区域属于相同的来源,则不需要对再次选择的待共享区域进行抓取,直接将第一次选择得到的待共享区域对应的目标数据作为再次选择的待共享区域对应的目标数据,接着图像抓取进程通过跨进程通信连接将前后两次选择的待共享区域对应的目标数据分别发送至进程A和进程B,进程A和进程B接收图像抓取进程发送的目标数据,进程A通过相应的编码方式将目标数据处理成H264视频编码格式的目标编码数据,进程B通过相应的编码方式将数据处理成H265视频编码格式的目标编码数据,接着进程A将H264视频编码格式的目标编码数据推送至服务器,进程B将H265视频编码格式的目标编码数据推送至服务器,最后由目标终端从服务器中拉取H264视频编码格式的目标编码数据和H265视频编码格式的目标编码数据,从而实现将两路不同参数配置的相同视频流共享给目标终端的用户。通过上述方法,一方面避免使用多个抓取装置,降低机器性能开销,另一方面,避免对同源的待共享区域进行重复抓取,进一步降低机器性能开销,另一方面,减少了相同窗口分享的视频画面的偏差,避免用户看到的视频画面不一致的问题,另一方面,本说明书实施例提供的方法对视频编码器的主观评测可以帧级别的同步评测。
图5所示为本说明书实施例提供的目标数据的跨进程共享方法在另一种应用场景中的逻辑框图。图5中的应用场景可以为在直播过程中希望目标终端中的用户接收到的视频为两路不同的视频画面,则可以首先创建一个独立的图像抓取进程以及两个图像处理进程(进程A和进程B),该图像抓取进程与该图像处理进程通过跨进程通信进行连接,接着共享终端中的用户在远程共享桌面上的某一窗口或区域进行第一次选择,得到需要共享的待共享区域,并由图像抓取进程对待共享区域进行抓取,得到该待共享区域对应的目标数据,当用户再次对不同的窗口或区域进行选择时,由于再次选择的窗口或区域与之前的不同,说明共享终端中的用户前后两次选择的待共享区域属于不同的来源,则需要对再次选择的待共享区域再次进行抓取,得到再次选择的待共享区域对应的目标数据,然后图像抓取进程通过跨进程通信连接将前后两次选择的待共享区域对应的目标数据分别发送至进程A和进程B,进程A和进程B接收图像抓取进程发送的目标数据,并通过对应的编码方式对接收到的目标数据进行编码,之后将编码后的目标编码数据分别推送至服务器,最后由目标终端从服务器中分别拉取与进程A和进程B对应的目标编码数据,从而实现将两路不同视频流共享给目标终端的用户。
如图6所示,本发明实施例提供了目标数据的跨进程共享装置的结构示意图,所述装置可以包括:
创建模块301,可以用于创建图像抓取进程和至少两个图像处理进程,所述图像抓取进程与所述至少两个图像处理进程建立跨进程通信连接。
响应模块303,可以用于响应于在显示界面的区域选取操作,得到至少一个待共享区域。
抓取模块305,可以用于基于所述图像抓取进程对所述至少一个待共享区域进行抓取,得到每个待共享区域对应的目标数据。
发送模块307,可以用于基于所述图像抓取进程将每个待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程。
编码模块309,可以用于基于每个图像处理进程对所述图像处理进程接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据。
推送模块3011,可以用于基于每个图像处理进程将所述图像处理进程对应的目标编码数据推送至目标终端,以使所述目标终端共享每个图像处理进程对应的目标编码数据。
本发明实施例中,所述抓取模块305可以包括:
判断单元,判断所述区域选取操作在当前时间得到的当前待共享区域是否与任意一个历史待共享区域属于相同来源,所述历史待共享区域为所述区域选取操作在所述当前时间之前预设时间得到的区域。
目标数据确定单元,用于若所述当前待共享区域与任意一个历史待共享区域属于相同来源,则将所述历史待共享区域对应的目标数据作为所述当前待共享区域对应的目标数据,所述历史待共享区域对应的目标数据由所述图像抓取进程对所述历史待共享区域进行抓取得到;若所述当前待共享区域不与任意一个历史待共享区域属于相同来源,则使用所述图像抓取进程对所述当前待共享区域进行抓取,得到所述当前待共享区域对应的目标数据。
本发明实施例中,所述判断单元可以进一步包括:
获取子单元,可以用于获取所述待共享区域的属性资源标识信息以及任意一个历史待共享区域的属性资源标识信息;
同源确定子单元,可以用于若所述待共享区域的属性资源标识信息与任意一个历史待共享区域的属性资源标识信息相同,则所述当前待共享区域与任意一个历史待共享区域属于相同来源;若所述待共享区域的属性资源标识信息不与任意一个历史待共享区域的属性资源标识信息相同,则所述当前待共享区域不与任意一个历史待共享区域属于相同来源。
本发明实施例中,所述发送模块307可以进一步包括:
若所述当前待共享区域与任意一个历史待共享区域属于相同来源,则由所述图像抓取进程将每个历史待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程,所述图像处理进程的数量与所述待共享区域的数量相同;若所述当前待共享区域不与任意一个历史待共享区域属于相同来源,则由所述图像抓取进程将所述当前待共享区域对应的目标数据以及每个历史待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程。
本发明实施例中,所述编码模块309可以进一步包括:
编码方式获取单元,可以用于从编码信息库中获取与每个图像处理进程对应的编码方式,所述编码信息库包括图像处理进程与编码方式的映射关系。
目标编码数据获取单元,可以用于由每个图像处理进程使用所述图像处理进程对应的编码方式对接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据。
本发明实施例中,所述推送模块3011可以进一步包括:由每个图像处理进程将所述图像处理进程对应的目标编码数据发送至服务器,以使所述目标终端从所述服务器中拉取每个图像处理进程对应的目标编码数据;以及对每个图像处理进程对应的目标编码数据进行解码;以及共享解码后的每个图像处理进程对应的目标编码数据。
需要说明的是,目标数据的跨进程共享装置实施例与上述方法实施例基于相同的发明构思。
本发明实施例还提供了一种目标数据的跨进程共享的设备,该设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的目标数据的跨进程共享方法。
本发明的实施例还提供了一种存储介质,所述存储介质可设置于终端之中以保存用于实现方法实施例中一种目标数据的跨进程共享方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的目标数据的跨进程共享方法。
可选地,在本说明书实施例中,存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书实施例所述存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用程序以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例所提供的目标数据的跨进程共享的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图7是本发明实施例提供的一种目标数据的跨进程共享方法的服务器的硬件结构框图。如图7所示,该服务器400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(Central Processing Units,CPU)410(处理器410可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器430,一个或一个以上存储应用程序423或数据422的存储介质420(例如一个或一个以上海量存储设备)。其中,存储器430和存储介质420可以是短暂存储或持久存储。存储在存储介质420的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器410可以设置为与存储介质420通信,在服务器400上执行存储介质420中的一系列指令操作。服务器400还可以包括一个或一个以上电源460,一个或一个以上有线或无线网络接口450,一个或一个以上输入输出接口440,和/或,一个或一个以上操作系统421,例如WindowsServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
输入输出接口440可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器400的通信供应商提供的无线网络。在一个实例中,输入输出接口440包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口440可以为射频(RadioFrequency,RF)模块,其用于通过无线方式与互联网进行通讯。
本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器400还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置和服务器实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种目标数据的跨进程共享方法,其特征在于,所述方法包括:
创建唯一独立设置的图像抓取进程和至少两个图像处理进程,所述图像抓取进程与所述至少两个图像处理进程建立跨进程通信连接;
响应于在显示界面的区域选取操作,得到至少一个待共享区域;
判断所述区域选取操作在当前时间得到的当前待共享区域是否与任意一个历史待共享区域属于相同来源,所述历史待共享区域为所述区域选取操作在所述当前时间之前预设时间得到的区域;
若所述当前待共享区域不与任意一个历史待共享区域属于相同来源,则使用所述图像抓取进程对所述当前待共享区域进行抓取,得到所述当前待共享区域对应的目标数据;以及由所述图像抓取进程将所述当前待共享区域对应的目标数据以及每个历史待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程;
若所述当前待共享区域与任意一个历史待共享区域属于相同来源,则将所述历史待共享区域对应的目标数据作为所述当前待共享区域对应的目标数据,所述历史待共享区域对应的目标数据由所述图像抓取进程对所述历史待共享区域进行抓取得到;以及由所述图像抓取进程将每个历史待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程,所述图像处理进程的数量与所述待共享区域的数量相同;
从编码信息库中获取与每个图像处理进程对应的编码方式,所述编码信息库包括图像处理进程与编码方式的映射关系;
由每个图像处理进程使用所述图像处理进程对应的编码方式对接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据;
基于每个图像处理进程将所述图像处理进程对应的目标编码数据推送至目标终端,以使所述目标终端共享每个图像处理进程对应的目标编码数据。
2.根据权利要求1所述的方法,其特征在于,所述判断所述区域选取操作在当前时间得到的当前待共享区域是否与任意一个历史待共享区域属于相同来源,包括:
获取所述待共享区域的属性资源标识信息以及任意一个历史待共享区域的属性资源标识信息;
若所述待共享区域的属性资源标识信息与任意一个历史待共享区域的属性资源标识信息相同,则所述当前待共享区域与任意一个历史待共享区域属于相同来源;
若所述待共享区域的属性资源标识信息不与任意一个历史待共享区域的属性资源标识信息相同,则所述当前待共享区域不与任意一个历史待共享区域属于相同来源。
3.根据权利要求1所述的方法,其特征在于,所述基于每个图像处理进程将所述图像处理进程对应的目标编码数据推送至目标终端,以使所述目标终端共享每个图像处理进程对应的目标编码数据,包括;
由每个图像处理进程将所述图像处理进程对应的目标编码数据发送至服务器,以使所述目标终端从所述服务器中拉取每个图像处理进程对应的目标编码数据;
以及对每个图像处理进程对应的目标编码数据进行解码;
以及共享解码后的每个图像处理进程对应的目标编码数据。
4.一种目标数据的跨进程共享装置,其特征在于,所述装置包括:
创建模块,用于创建唯一独立设置的图像抓取进程和至少两个图像处理进程,所述图像抓取进程与所述至少两个图像处理进程建立跨进程通信连接;
响应模块,用于响应于在显示界面的区域选取操作,得到至少一个待共享区域;
判断单元,判断所述区域选取操作在当前时间得到的当前待共享区域是否与任意一个历史待共享区域属于相同来源,所述历史待共享区域为所述区域选取操作在所述当前时间之前预设时间得到的区域;
目标数据确定单元,用于若所述当前待共享区域不与任意一个历史待共享区域属于相同来源,则使用所述图像抓取进程对所述当前待共享区域进行抓取,得到所述当前待共享区域对应的目标数据;以及由所述图像抓取进程将所述当前待共享区域对应的目标数据以及每个历史待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程;
发送模块,用于若所述当前待共享区域与任意一个历史待共享区域属于相同来源,则将所述历史待共享区域对应的目标数据作为所述当前待共享区域对应的目标数据,所述历史待共享区域对应的目标数据由所述图像抓取进程对所述历史待共享区域进行抓取得到;以及由所述图像抓取进程将每个历史待共享区域对应的目标数据通过所述跨进程通信连接发送至所述至少两个图像处理进程,所述图像处理进程的数量与所述待共享区域的数量相同;
编码方式获取单元,用于从编码信息库中获取与每个图像处理进程对应的编码方式,所述编码信息库包括图像处理进程与编码方式的映射关系;
目标编码数据获取单元,用于由每个图像处理进程使用所述图像处理进程对应的编码方式对接收到的目标数据进行编码处理,得到每个图像处理进程对应的目标编码数据;
推送模块,用于基于每个图像处理进程将所述图像处理进程对应的目标编码数据推送至目标终端,以使所述目标终端共享每个图像处理进程对应的目标编码数据。
5.根据权利要求4所述的装置,其特征在于,所述判断单元包括:
获取子单元,用于获取所述待共享区域的属性资源标识信息以及任意一个所述历史待共享区域的属性资源标识信息;
同源确定子单元,用于若所述待共享区域的属性资源标识信息与任意一个历史待共享区域的属性资源标识信息相同,则所述当前待共享区域与任意一个所述历史待共享区域属于相同来源;
若所述待共享区域的属性资源标识信息不与任意一个所述历史待共享区域的属性资源标识信息相同,则所述当前待共享区域不与任意一个所述历史待共享区域属于相同来源。
6.根据权利要求4所述的装置,其特征在于,所述推送模块包括:
由每个所述图像处理进程将所述图像处理进程对应的目标编码数据发送至服务器,以使所述目标终端从所述服务器中拉取每个图像处理进程对应的目标编码数据;
以及对每个所述图像处理进程对应的目标编码数据进行解码;
以及共享解码后的每个所述图像处理进程对应的目标编码数据。
7.一种目标数据的跨进程共享的设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如权利要求1-3任一所述的目标数据的跨进程共享方法。
8.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1-3任一所述的目标数据的跨进程共享方法。
CN201910963081.8A 2019-10-11 2019-10-11 目标数据的跨进程共享方法、装置、设备及存储介质 Active CN112650596B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910963081.8A CN112650596B (zh) 2019-10-11 2019-10-11 目标数据的跨进程共享方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910963081.8A CN112650596B (zh) 2019-10-11 2019-10-11 目标数据的跨进程共享方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112650596A CN112650596A (zh) 2021-04-13
CN112650596B true CN112650596B (zh) 2023-06-09

Family

ID=75343299

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910963081.8A Active CN112650596B (zh) 2019-10-11 2019-10-11 目标数据的跨进程共享方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112650596B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114443192B (zh) * 2021-12-27 2024-04-26 天翼云科技有限公司 基于云桌面的多窗口虚拟应用方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094777A (zh) * 2014-05-14 2015-11-25 腾讯科技(深圳)有限公司 实现应用截屏的方法及装置
CN108111676A (zh) * 2017-12-14 2018-06-01 维沃移动通信有限公司 一种应用程序控制方法及移动终端
CN109325452A (zh) * 2018-09-26 2019-02-12 广州大学 一种检测视频中人脸微笑表情的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094777A (zh) * 2014-05-14 2015-11-25 腾讯科技(深圳)有限公司 实现应用截屏的方法及装置
CN108111676A (zh) * 2017-12-14 2018-06-01 维沃移动通信有限公司 一种应用程序控制方法及移动终端
CN109325452A (zh) * 2018-09-26 2019-02-12 广州大学 一种检测视频中人脸微笑表情的方法

Also Published As

Publication number Publication date
CN112650596A (zh) 2021-04-13

Similar Documents

Publication Publication Date Title
US11348283B2 (en) Point cloud compression via color smoothing of point cloud prior to texture video generation
CN109309842B (zh) 直播数据处理方法和装置、计算机设备和存储介质
CN113098946B (zh) 云桌面场景的识别方法和装置、存储介质及电子装置
WO2019184822A1 (zh) 多媒体文件处理方法和装置、存储介质及电子装置
CN113038287A (zh) 多人视频直播业务实现方法、装置、计算机设备
CN111614967A (zh) 虚拟形象直播方法、装置、电子设备及存储介质
CN105554430A (zh) 一种视频通话方法、系统及装置
CN112949547A (zh) 数据传输和显示方法、装置、系统、设备以及存储介质
CN109788359B (zh) 一种视频数据处理方法和相关装置
CN112565884A (zh) 图像处理方法、装置、终端、服务器及存储介质
CN103049238A (zh) 影像数据传输方法及装置
CN112218034A (zh) 视频处理方法、系统、终端和存储介质
CN110650357B (zh) 视频解码方法及装置
CN112650596B (zh) 目标数据的跨进程共享方法、装置、设备及存储介质
CN114998935A (zh) 图像处理方法、装置、计算机设备及存储介质
CN109413152B (zh) 图像处理方法、装置、存储介质及电子设备
CN115989527A (zh) 用于对增强现实媒体对象执行基于锚点的渲染的方法和装置
CN111104827A (zh) 图像处理方法、装置、电子设备及可读存储介质
CN108320331B (zh) 一种生成用户场景的增强现实视频信息的方法与设备
CN114466224A (zh) 视频数据的编解码方法和装置、存储介质及电子设备
CN108683900B (zh) 一种图像数据处理方法及装置
CN113127637A (zh) 一种字符的还原方法及装置、存储介质、电子装置
CN105872673A (zh) 多媒体数据显示方法及装置
CN114501060A (zh) 直播背景的切换方法和装置、存储介质及电子设备
CN109618207B (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
GR01 Patent grant